From 60735779c303c2dd10feea45d7fd761103b225e0 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周四, 21 11月 2024 15:03:38 +0800
Subject: [PATCH] 2222

---
 CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SawingConfirmResponse.datasource                                          |    2 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Dict/SysDictTypeService.cs                                                                                  |  166 
 LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testTeacher/index.vue                                                                                      |  282 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/GlobalUsings.cs                                                                                    |   27 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/GetAccessSecretContext.cs                                                                             |   27 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/BaseIdInput.cs                                                                                                 |   20 
 CC/iWareSql/WmsDBModel/V_EmptyStation.cs                                                                                                                       |   90 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails.ts                                                                    |   78 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/LoginModeEnum.cs                                                                                               |   26 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/Admin.NET.Application/Service/TestStudent/Dto/TestStudentOutput.cs                 |  130 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/MenuTypeEnum.cs                                                                                                |   32 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelNode.vue                                                                     |  114 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/Admin.NET.Application/Service/TestStudent/TestStudentService.cs                    |  528 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-role-api.ts                                                                                              |  912 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockQuan/index.vue                                                                                 |  541 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventorySnapshot/index.vue                                                                        |  220 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-dict-data-input.ts                                                                                     |  173 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysUserExtOrg.cs                                                                                             |   77 
 LA24030_LuLiPackageLine_Web/src/views/system/org/index.vue                                                                                                     |  165 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-org-input.ts                                                                                           |  182 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/.config/dotnet-tools.json                                                                                      |   12 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLogDiff.cs                                                                                                |   58 
 LA24030_LuLiPackageLine_Web/src/api-services/models/culture-level-enum.ts                                                                                      |   35 
 LA24030_LuLiPackageLine_Web/src/views/main/WareAgeWarm/wareAgeWarm/index.vue                                                                                   |  328 
 LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.woff2                                                                                   |    0 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockSnapshot/component/openAllprop.vue                                                             |  237 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-tenant-api.ts                                                                                            |  897 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-role-input.ts                                                                                       |   30 
 LA24030_LuLiPackageLine_Web/public/favicon - 副本.ico                                                                                                            |    0 
 LA24030_LuLiPackageLine_Web/src/views/system/print/component/hiprint/print-data.ts                                                                             |   70 
 LA24030_LuLiPackageLine_Web/public/print-lock.css                                                                                                              |  349 
 LA24030_LuLiPackageLine_Web/src/hooks/permission.ts                                                                                                            |    7 
 LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/user.vue                                                                                                 |  325 
 LA24030_LuLiPackageLine_Web/src/views/system/database/component/editTable.vue                                                                                  |   77 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysUserRoleSeedData.cs                                                                                     |   29 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Admin.NET.Plugin.ApprovalFlow.csproj                                                         |   23 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/v_students/v_studentsService.cs                                                             |  183 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/ObjectExtension.cs                                                                                        |  339 
 LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-pay-transaction-input.ts                                                                            |   62 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue                                                                  |  120 
 LA24030_LuLiPackageLine_Web/src/api-services/models/upload-file-from-base64-input.ts                                                                           |   54 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MinValueAttribute.cs                                                                                      |   39 
 LA24030_LuLiPackageLine_Web/src/api-services/models/reset-pwd-user-input.ts                                                                                    |   30 
 LA24030_LuLiPackageLine_Web/src/api/main/SoftwareAdapterService/recordAdapter.ts                                                                               |  101 
 LA24030_LuLiPackageLine_Web/src/components/Pagination/index.vue                                                                                                |   90 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLogOp.cs                                                                                                  |   72 
 CC/iWareModel/EnumType/WMS/StockStatusEnum.cs                                                                                                                  |   96 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-org.ts                                                                               |   71 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsContainerSort/component/editDialog.vue                                                              |  139 
 iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsBasePlace.ts                                                                                            |   78 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/JobCreateTypeEnum.cs                                                                                           |   32 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseMaterial.cs                                                                            |  232 
 CC/iWareCC_ASRS/Common/SystemWarningMsg.cs                                                                                                                     |   10 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockQuan/component/editDialog.vue                                                                  |  139 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Config/SysConfigService.cs                                                                                  |  190 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs                                                       |  135 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysTenant.cs                                                                                                 |   85 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkEmpFieldDataVo.cs                                                            |   38 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/FindEmptyPlaceServiceHandle.cs                                         |  213 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysConfig.cs                                                                                                 |   64 
 CC/iWareSql/WmsDBModel/SysJobDetail.cs                                                                                                                         |   43 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-menu-input.ts                                                                                          |  229 
 LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/update-approval-flow-input.ts                                                                |  142 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarUnitOfWork.cs                                                                                      |   71 
 LA24030_LuLiPackageLine_Web/src/i18n/pages/login/en.ts                                                                                                         |   29 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropCjbc.vue                                                        | 1292 
 CC/iWareSql/WmsDBModel/wms_sys_help_doc.cs                                                                                                                     |   36 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Pos/Dto/PosInput.cs                                                                                         |   37 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-log-ex-api.ts                                                                                            |  299 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Message/SysEmailService.cs                                                                                  |   51 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-org-api.ts                                                                                               |  419 
 CC/iWareSql/packages.config                                                                                                                                    |    2 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-plugin.ts                                                                                              |  141 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysDictTypeSeedData.cs                                                                                     |   37 
 LA24030_LuLiPackageLine_Web/src/api/main/Check/checkLock/index.ts                                                                                              |   28 
 LA24030_LuLiPackageLine_Web/src/views/system/print/component/editPrint.vue                                                                                     |  154 
 LA24030_LuLiPackageLine_Web/src/views/system/role/component/editRole.vue                                                                                       |  182 
 LA24030_LuLiPackageLine_Web/src/utils/authFunction.ts                                                                                                          |   38 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckStageEnum.cs                                                                              |   72 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-notice.ts                                                            |   69 
 CC/iWareSql/WmsDBModel/SysConfig.cs                                                                                                                            |   51 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-ldap-api.ts                                                                                              |  723 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file-upload-signature-body.ts                                                                          |   28 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysPdaMenu/index.vue                                                                                   |  246 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysCodeGen.cs                                                                                                |  130 
 LA24030_LuLiPackageLine_Web/src/api-services/models/page-log-input.ts                                                                                          |   78 
 LA24030_LuLiPackageLine_Web/src/utils/theme.ts                                                                                                                 |   63 
 CC/iWareCC_ASRS/Connected Services/StationService/item.xsd                                                                                                     |   17 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsSncodeCreateRule/index.vue                                                                       |  341 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-database-api.ts                                                                                          | 1216 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQcDetails/component/editDialog.vue                                                                    |  337 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SnCodeHelper.cs                                                                                 |   57 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file-upload-file-body.ts                                                                               |   28 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysWechatPay.cs                                                                                              |  165 
 CC/iWareSql/WmsDBModel/SysUser.cs                                                                                                                              |  146 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/editFlowDialog.vue                                                                                |  264 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/Avatar/573383970361413.png                                                                      |    0 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliverDetails/index.vue                                                                         |  306 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/openAllpropSort.vue                                                               | 1299 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-diff.ts                                                          |   69 
 LA24030_LuLiPackageLine_Web/src/api-services/models/cluster-status.ts                                                                                          |   25 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/适配器管理导入模板.xlsx                                                                       |    0 
 LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/breadcrumb.vue                                                                                           |  140 
 LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-pay-para-input.ts                                                                                   |   30 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-tenant-input.ts                                                                                     |  203 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterCategories/Dto/AdapterCategoriesOutput.cs                              |  171 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-int64.ts                                                                                      |   70 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderAsn.ts                                                                                               |  100 
 CC/iWareSql/WmsDBModel/SysPrint.cs                                                                                                                             |   47 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/sensitive-words.txt                                                                                            |    4 
 LA24030_LuLiPackageLine_Web/src/views/system/openAccess/index.vue                                                                                              |  157 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordTrans/Dto/WmsRecordTransInput.cs                                               |  481 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/CreateSeedDataInput.cs                                                                         |   45 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Cache/CacheSetup.cs                                                                                                 |   33 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysWechatUser.cs                                                                                             |  138 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/TableOutput.cs                                                                                  |   43 
 LA24030_LuLiPackageLine_Web/src/utils/mitt.ts                                                                                                                  |    8 
 CC/iWareSql/WmsDBModel/wms_adapter_management.cs                                                                                                               |   60 
 LA24030_LuLiPackageLine_Web/src/views/system/database/component/editColumn.vue                                                                                 |   77 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsTask/WmsRbLineTask.cs                                                                              |  145 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-log-op.ts                                                                                              |  285 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/WechatReturnCodeEnum.cs                                                                                        |  289 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file.ts                                                                                                |  158 
 LA24030_LuLiPackageLine_Web/src/api-services/models/unlock-login-input.ts                                                                                      |   30 
 LA24030_LuLiPackageLine_Web/src/layout/navBars/tagsView/tagsView.vue                                                                                           |  733 
 LA24030_LuLiPackageLine_Web/src/api/main/Check/checkDetail/index.ts                                                                                            |   25 
 LA24030_LuLiPackageLine_Web/src/directive/customDirective.ts                                                                                                   |  204 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OAuth/HttpContextExtension.cs                                                                               |   32 
 LA24030_LuLiPackageLine_Web/src/theme/dark.scss                                                                                                                |  255 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-cache-api.ts                                                                                             |  468 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-config.ts                                                                                              |  141 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsTask/TaskStatusEnum.cs                                                                               |   38 
 LA24030_LuLiPackageLine_Web/src/views/system/codeGen/component/genConfigDialog.vue                                                                             |  330 
 LA24030_LuLiPackageLine_Web/src/types/views.d.ts                                                                                                               |  367 
 LA24030_LuLiPackageLine_Web/.prettierrc.js                                                                                                                     |   39 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/ExcelDataOptionAttribute.cs                                                                      |   30 
 LA24030_LuLiPackageLine_Web/src/hooks/boxNumList.ts                                                                                                            |   52 
 LA24030_LuLiPackageLine_Web/src/theme/media/form.scss                                                                                                          |   31 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/SMS.json                                                                                       |   12 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-int32.ts                                                                                      |   70 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/SerialSN/SerialTypeEnum.cs                                                                              |   65 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/WmsConfigPrint.cs                                                                     |   74 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-menu-meta.ts                                                                                           |   78 
 LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.woff                                                                                   |    0 
 LA24030_LuLiPackageLine_Web/src/api-services/models/user-role-input.ts                                                                                         |   38 
 LA24030_LuLiPackageLine_Web/src/api-services/models/visual-column.ts                                                                                           |   52 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Admin - Backup.NET.Application.csproj                                                                        |   39 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/SMSOptions.cs                                                                                                |   41 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchaseDetails/component/editDialog.vue                                                           |  223 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SerialSN/CreateRuleUtil.cs                                                                      |  241 
 LA24030_LuLiPackageLine_Web/src/components/iconSelector/index.vue                                                                                              |  212 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-notice-input.ts                                                                                     |  164 
 LA24030_LuLiPackageLine_Web/src/api-services/models/enum-type-output.ts                                                                                        |   55 
 LA24030_LuLiPackageLine_Web/src/layout/component/aside.vue                                                                                                     |  158 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/LogActionHelper.cs                                                                              |   33 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/GetEnumDescriptionUtil.cs                                                                                      |   39 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryHistory/component/CountView.vue                                                           |  112 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsTask/Dto/WmsTaskInput.cs                                                             |  333 
 LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/admin-result-approval-flow.ts                                                                |   69 
 CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.GetPlaceInfoResponse.datasource                                                  |    2 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsConfig/PrintClassifyEnum.cs                                                                          |   29 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/index.vue                                                                                |  440 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/RedisQueue.cs                                                                                              |  150 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-message-api.ts                                                                                           |  387 
 CC/iWareSql/WmsDBModel/DingTalkUser.cs                                                                                                                         |   53 
 LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterManagement/component/editDialog.vue                                                   |  226 
 LA24030_LuLiPackageLine_Web/src/theme/media/home.scss                                                                                                          |   23 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysPosSeedData.cs                                                                                          |   40 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/ABCClassEnum.cs                                                                                 |   27 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/preconfiguration/component/editDialog.vue                                                          |  185 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-job-trigger-input.ts                                                                                |  197 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryWarning/index.vue                                                                         |  237 
 LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsRecordSncodePrint/index.vue                                                                          |  398 
 LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/approval-flow-output.ts                                                                      |  142 
 LA24030_LuLiPackageLine_Web/src/components/bcProp/yuconfigOpenAllprop.vue                                                                                      | 1160 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/PDAUpdate/说明.txt                                                                                       |    1 
 LA24030_LuLiPackageLine_Web/src/components/importExcel/index.vue                                                                                               |  131 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-dict-data.ts                                                                                           |  173 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts                                                                                          |   90 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/YesNoEnum.cs                                                                                                   |   26 
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsContainerSort.ts                                                                                      |   78 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordReceivingDelivery/component/editDialog.vue                                                    |  140 
 LA24030_LuLiPackageLine_Web/src/api-services/models/file-input.ts                                                                                              |   46 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsInventory/wmsInventoryCheckRecord.ts                                                                               |   78 
 LA24030_LuLiPackageLine_Web/src/views/system/region/component/regionTree.vue                                                                                   |  139 
 LA24030_LuLiPackageLine_Web/src/assets/logo-mini.svg                                                                                                           |  109 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysRoleOrg.cs                                                                                                |   35 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventorySnapshot/component/editDialog.vue                                                         |  185 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/Dto/WmsPdaRoleMenuListOutput.cs                                              |   61 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysHelpMenu/index.vue                                                                                  |   70 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Notice/Dto/NoticeInput.cs                                                                                   |   36 
 LA24030_LuLiPackageLine_Web/src/components/editor/index.vue                                                                                                    |  130 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/FuncList.cs                                                                                         |  116 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-int64.ts                                                                                 |   70 
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordPredDispHistory.ts                                                                              |   78 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-job-trigger-record.ts                                                                                  |  101 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/IEntityFilter.cs                                                                                             |   40 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleOrgInput.cs                                                                                    |   23 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-tenant-input.ts                                                                                     |   30 
 CC/iWareSql/WmsDBModel/wms_base_factory.cs                                                                                                                     |   43 
 LA24030_LuLiPackageLine_Web/src/hooks/countAction.ts                                                                                                           |    7 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-wechat-user-api.ts                                                                                       |  390 
 CC/iWareCC_ASRS/Properties/Settings.Designer.cs                                                                                                                |    2 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/22/549741611864133.png                                                                  |    0 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/openDialogDetail.vue                                                  |  766 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/GlobalUsings.cs                                                                                      |    8 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Resources/Lang.zh-CN.resx                                                                                      |  129 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/component/editDialog.vue                                                                 |  280 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsUnit/index.vue                                                                                           |  217 
 LA24030_LuLiPackageLine_Web/src/views/system/database/component/visualTable.vue                                                                                |  170 
 CC/iWareSql/DataAccess/TCSCommon.cs                                                                                                                            |   72 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Admin.NET.Application.csproj                                                                                 |   41 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-role.ts                                                              |   69 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPredetermineDispense/component/editDialog.vue                                                 |  139 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsStockQuan/UsableFlagEnum.cs                                                                          |   23 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsInventory/wmsInventoryCheckOrderDetails.ts                                                                         |   78 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/LockStroreHelper.cs                                                                             |   45 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderDeliver.ts                                                                                         |   87 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/ElasticSearchLoggingWriter.cs                                                                               |  101 
 LA24030_LuLiPackageLine_Web/src/theme/media/pagination.scss                                                                                                    |   15 
 LA24030_LuLiPackageLine_Web/src/views/system/job/dashboard.vue                                                                                                 |   11 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Print/Dto/PrintInput.cs                                                                                     |   37 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-open-access-input.ts                                                                                   |  118 
 CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendBatchUPIsResponse.datasource                                          |    2 
 LA24030_LuLiPackageLine_Web/src/utils/selectData.ts                                                                                                            |  175 
 LA24030_LuLiPackageLine_Wms/.editorconfig                                                                                                                      |  178 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/WechatPayOptions.cs                                                                                          |   18 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/OAuth/OAuthSetup.cs                                                                                                 |   50 
 LA24030_LuLiPackageLine_Web/src/layout/logo/index.vue                                                                                                          |   87 
 SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs                                                                                                      |   36 
 LA24030_LuLiPackageLine_Web/src/api-services/models/db-column-input.ts                                                                                         |   82 
 LA24030_LuLiPackageLine_Wms/.dockerignore                                                                                                                      |   25 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysMenuSeedData.cs                                                                                         |  201 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-ldap-input.ts                                                                                          |   78 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/baseCustomer/index.vue                                                                                      |  412 
 LA24030_LuLiPackageLine_Web/src/api-services/models/db-object-type.ts                                                                                          |   25 
 LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/index.vue                                                                                                |  107 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Limit.json                                                                                     |  121 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/SysLogOpService.cs                                                                                  |   67 
 LA24030_LuLiPackageLine_Web/src/components/auth/auths.vue                                                                                                      |   32 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Menu/SysMenuService.cs                                                                                      |  296 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/controlProp.vue                                                                                 |  223 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSort/index.vue                                                                                   |  447 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/RedisEventSourceStorer.cs                                                                                  |  132 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs                                                                                           |  415 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/波次单明细导入模板.xlsx                                                                       |    0 
 LA24030_LuLiPackageLine_Web/src/views/system/user/index.vue                                                                                                    |  271 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/DbColumnInput.cs                                                                               |   52 
 LA24030_LuLiPackageLine_Web/src/api-services/models/message-type-enum.ts                                                                                       |   26 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsNoCreateRule/Dto/WmsNoCreateRuleInput.cs                                          |  237 
 SDA/iWareSda/App.config                                                                                                                                        |    6 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-dict-type-input.ts                                                                                  |  134 
 LA24030_LuLiPackageLine_Web/src/api-services/models/login-output.ts                                                                                            |   38 
 LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.eot                                                                                     |    0 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/Option/ElsaOptions.cs                                                                                |   26 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Menu/Dto/MenuInput.cs                                                                                       |   43 
 LA24030_LuLiPackageLine_Web/src/assets/logo.png                                                                                                                |    0 
 LA24030_LuLiPackageLine_Web/src/api-services/models/page-role-input.ts                                                                                         |   78 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeEnd.ts                                                               |   79 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-file.ts                                                                           |   79 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainerPackaging/component/editDialog.vue                                                              |  153 
 LA24030_LuLiPackageLine_Web/.eslintignore                                                                                                                      |   18 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-database-output.ts                                                                       |   71 
 CC/iWareSql/WmsDBModel/wms_base_area.cs                                                                                                                        |   68 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WechatInput.cs                                                                                   |  109 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/DbTableVisual.cs                                                                               |   56 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSortTrans/index.vue                                                                              |  274 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/DatabaseLoggingWriter.cs                                                                                    |  225 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/openAllpropSend.vue                                                               | 1066 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsStockQuan/wmsContainerPlace/component/editDialog.vue                                                             |  165 
 LA24030_LuLiPackageLine_Web/src/api-services/models/const-output.ts                                                                                            |   46 
 LA24030_LuLiPackageLine_Web/src/utils/formatTime.ts                                                                                                            |  189 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-config.ts                                                                                 |   69 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/Dto/OnlineUserHubInput.cs                                                                                       |   12 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/SysRoleService.cs                                                                                      |  250 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/editDialog.vue                                                                  |  300 
 LA24030_LuLiPackageLine_Web/src/api-services/models/job-detail-output.ts                                                                                       |   38 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Config/Dto/ConfigInput.cs                                                                                   |   41 
 LA24030_LuLiPackageLine_Web/src/layout/lockScreen/index.vue                                                                                                    |  422 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/移动单导入模板.xlsx                                                                         |    0 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsWarehouse.ts                                                                                               |   50 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-online-user.ts                                                                    |   79 
 LA24030_LuLiPackageLine_Web/src/views/system/ldap/index.vue                                                                                                    |  185 
 LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/admin-result-sql-sugar-paged-list-approval-flow-output.ts                                    |   69 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/Dto/UserOutput.cs                                                                                      |   30 
 LA24030_LuLiPackageLine_Web/src/router/frontEnd.ts                                                                                                             |  150 
 LA24030_LuLiPackageLine_Web/src/api/main/Check/wmsInventoryCheckPlanDetails.ts                                                                                 |   78 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/OAuthOptions.cs                                                                                              |   23 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/往来单位导入模板.xlsx                                                                        |    0 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkSendInteractiveCardsInput.cs                                                 |  113 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBasePlace/index.vue                                                                                      |  393 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckRecord/component/editDialog.vue                                                       |  141 
 LA24030_LuLiPackageLine_Web/src/views/system/print/component/hiprint/providers.ts                                                                              |  445 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/测试老师表导入模板.xlsx                                                                       |    0 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/SysWechatPayService.cs                                                                               |  251 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/CodeExamples/CodeExamplesService.cs                                                                  |  568 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sync-sys-ldap-input.ts                                                                                     |   30 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-print.ts                                                                                  |   69 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-dict-data.ts                                                                         |   71 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ChineseSpellFile/hzpy2.txt                                                                             |    5 
 CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendInStoreBatchMatsResponse.datasource                                   |    2 
 LA24030_LuLiPackageLine_Web/src/layout/navMenu/subItem.vue                                                                                                     |   49 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysPos.cs                                                                                                    |   50 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/RegisterNode.ts                                                                |   17 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Startup.cs                                                                                         |   25 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsWarehouse/index.vue                                                                                      |  250 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysJobTrigger.cs                                                                                             |  147 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/web.config                                                                                             |    8 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/GeoLite2-City.mmdb                                                                                             |    0 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysPlugin.cs                                                                                                 |   56 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/HttpMethodEnum.cs                                                                                              |   68 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-user-api.ts                                                                                              | 1144 
 CC/iWareSql/WmsDBModel/wms_sys_pda_menu.cs                                                                                                                     |   48 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/iWare_RawMaterialWarehouse_Web/src/api/main/testStudent.ts                         |   78 
 LA24030_LuLiPackageLine_Web/src/api-services/models/change-pwd-input.ts                                                                                        |   38 
 SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs                                                                                               |    8 
 LA24030_LuLiPackageLine_Web/src/api-services/models/db-table-input.ts                                                                                          |   47 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/26/551078846341189.xlsx                                                                 |    0 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsRecordTrans.cs                                                                        |  425 
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordReceivingDelivery.ts                                                                            |   87 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureValidatedContext.cs                                                                          |   32 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/SysWechatUserService.cs                                                                              |   73 
 LA24030_LuLiPackageLine_Web/src/api/main/Check/wmsInventoryCheckPlan.ts                                                                                        |   78 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-file-input.ts                                                                                       |   30 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-config-input.ts                                                                                     |  141 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/Admin.NET.Application/Service/TestStudent/Dto/TestStudentInput.cs                  |  303 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-api-output.ts                                                                            |   71 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/CodeGen.json                                                                                   |   20 
 LA24030_LuLiPackageLine_Web/src/components/bcProp/detailconfigOpenAllprop.vue                                                                                  | 1691 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-wechat-pay-output.ts                                                                          |   69 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordTrans/component/editDialog.vue                                                                |  143 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysOrg.cs                                                                                                    |   96 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderMovementDetails.ts                                                                                   |  105 
 LA24030_LuLiPackageLine_Web/src/views/main/Check/checkAuditXf/index.vue                                                                                        |  793 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/ReceiptStatusEnum.cs                                                                       |   53 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/RecordAdapter/Dto/RecordAdapterInput.cs                                       |  370 
 SDA/iWareSda/SdaMainForm.cs                                                                                                                                    |    4 
 LA24030_LuLiPackageLine_Web/src/api-services/models/page-region-input.ts                                                                                       |   86 
 LA24030_LuLiPackageLine_Web/src/theme/media/media.scss                                                                                                         |   13 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Entity/GoViewProData.cs                                                                            |   26 
 LA24030_LuLiPackageLine_Web/src/api-services/models/log-level.ts                                                                                               |   29 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Enum/Dto/EnumDataOutput.cs                                                                                  |   18 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Common/SysCommonService.cs                                                                                  |   70 
 LA24030_LuLiPackageLine_Web/src/theme/other.scss                                                                                                               |   36 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/盘点单据导入模板.xlsx                                                                        |    0 
 LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/search.vue                                                                                               |  125 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysDictType.cs                                                                                               |   56 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-wechat-pay.ts                                                                             |   69 
 LA24030_LuLiPackageLine_Web/src/views/main/Check/checkDifference/index.vue                                                                                     |  490 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/batchProp.vue                                                                                   |  356 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/Configuration/Elsa.json                                                                              |   10 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/ExcelUtil.cs                                                                                                   |  443 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQc/component/editDialog.vue                                                                           |  261 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/index.vue                                                                                  |  311 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/盘点范围表导入模板.xlsx                                                                       |    0 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsStockQuan/wmsContainerPlace.ts                                                                                     |   78 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleOutput.cs                                                                                      |   28 
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuanOut.ts                                                                                       |   78 
 LA24030_LuLiPackageLine_Web/src/theme/iconSelector.scss                                                                                                        |   31 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarPagedList.cs                                                                                       |  153 
 CC/iWareCC_ASRS/ThreadService/02_BZ39工位(补板后工位)/Inbound/1、DataProcess_BZ39.cs                                                                                   |  140 
 CC/iWareSql/WmsDBModel/SysRegion.cs                                                                                                                            |   50 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-log-ex.ts                                                                         |   79 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/index.vue                                                                            |  602 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsBasePlace.ts                                                                                               |   78 
 LA24030_LuLiPackageLine_Web/src/api/main/TestDemo/testTeacher.ts                                                                                               |   78 
 LA24030_LuLiPackageLine_Web/src/theme/media/cityLinkage.scss                                                                                                   |   10 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/DispenseStatusEnum.cs                                                                          |   36 
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsAvailabilityOfPlace.ts                                                                                |   44 
 LA24030_LuLiPackageLine_Web/src/layout/main/columns.vue                                                                                                        |   73 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/物料信息表导入模板.xlsx                                                                       |    0 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/Dto/WmsSysPdaMenuInput.cs                                                    |  179 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsPlace/index.vue                                                                                          |  422 
 CC/iWareSql/WmsDBModel/wms_sys_pda_role_menu.cs                                                                                                                |   34 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-plugin.ts                                                            |   69 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-job-cluster.ts                                                                                         |   61 
 CC/iWareSql/WmsDBModel/wms_record_print.cs                                                                                                                     |  108 
 CC/iWareSql/WmsDBModel/SysUserRole.cs                                                                                                                          |   19 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-const-api.ts                                                                                             |  214 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-user.ts                                                                              |   71 
 LA24030_LuLiPackageLine_Web/src/components/dragVerify/dragVerifyImgChip.vue                                                                                    |  486 
 LA24030_LuLiPackageLine_Web/src/theme/media/layout.scss                                                                                                        |   63 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysUserExtOrgSeedData.cs                                                                                   |   26 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/JobClusterServer.cs                                                                                     |  107 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/SysUserRoleService.cs                                                                                  |  106 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Property/PropertyCommon.vue                                                             |   48 
 LA24030_LuLiPackageLine_Web/src/utils/dict-utils.ts                                                                                                            |   68 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsLogAction/component/editDialog.vue                                                                  |  133 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Startup.cs                                                                                                   |   22 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/DataScopeEnum.cs                                                                                               |   44 
 LA24030_LuLiPackageLine_Web/src/api-services/models/role-input.ts                                                                                              |   37 
 CC/iWareSql/WmsDBModel/SysTenant.cs                                                                                                                            |   57 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-wechat-api.ts                                                                                            |  638 
 LA24030_LuLiPackageLine_Web/src/stores/requestOldRoutes.ts                                                                                                     |   16 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureChallengeContext.cs                                                                          |   33 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/ReflectionUtil.cs                                                                                              |   28 
 CC/ServiceClient/Properties/Resources.Designer.cs                                                                                                              |    6 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component/editDialog.vue                                                  |  172 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/SeedData/SysMenuSeedData.cs                                                                  |   25 
 CC/iWareSql/WmsDBModel/zero_database_info.cs                                                                                                                   |   54 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-open-access-input.ts                                                                                |  118 
 LA24030_LuLiPackageLine_Web/src/views/system/region/component/editRegion.vue                                                                                   |  121 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/TripleDES.cs                                                                                                   |   53 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-wx-open-id-output.ts                                                                          |   69 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/GlobalUsings.cs                                                                                              |   22 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/SysLogVisService.cs                                                                                 |   47 
 LA24030_LuLiPackageLine_Web/src/api/main/Check/wmsInventoryCheckOrder.ts                                                                                       |   78 
 LA24030_LuLiPackageLine_Web/src/api-services/models/db-column-output.ts                                                                                        |  136 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/SoftwareAdapter/WmsAdapterManagement.cs                                                               |   63 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckRange/index.vue                                                                       |  296 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue                                                                 | 1187 
 LA24030_LuLiPackageLine_Web/src/layout/index.vue                                                                                                               |   60 
 CC/iWareCC_ASRS/Connected Services/StationService/Reference.svcmap                                                                                             |   37 
 CC/iWareModel/EnumType/EDevice/Station/StationLocationEnum.cs                                                                                                  |   33 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Enum/SysEnumService.cs                                                                                      |  124 
 CC/iWareTestForm/Properties/Settings.Designer.cs                                                                                                               |    2 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/SysUserLdapService.cs                                                                                  |   66 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-log-diff.ts                                                                                            |  142 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-print-input.ts                                                                                         |  133 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Startup.cs                                                                                       |   24 
 CC/iWareSql/WmsDBModel/SysWechatUser.cs                                                                                                                        |   77 
 CC/iWareCC_ASRS/ThreadService/00_269工位/DataProcess_269.cs                                                                                                      |   79 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/PDAReceivingActionTypeEnum.cs                                                              |   27 
 CC/iWareCC_ASRS/Properties/Resources.Designer.cs                                                                                                               |    6 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/ColumnOuput.cs                                                                                  |   66 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/NoticeUserStatusEnum.cs                                                                                        |   26 
 LA24030_LuLiPackageLine_Web/src/stores/userInfo.ts                                                                                                             |  126 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-job-trigger-input.ts                                                                                   |  197 
 LA24030_LuLiPackageLine_Web/src/views/system/role/index.vue                                                                                                    |  180 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsHomePage/WmsHomePageService.cs                                                                    |  247 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/v_students/Dto/v_studentsInput.cs                                                           |  319 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/ListExtensions.cs                                                                                         |   26 
 LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/recordAdapter/component/editDialog.vue                                                       |  266 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchaseDetails.ts                                                                                   |   67 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordReceivingDelivery/index.vue                                                                   |  498 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Notice/SysNoticeService.cs                                                                                  |  178 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-user-output.ts                                                                        |   79 
 LA24030_LuLiPackageLine_Web/.eslintrc.js                                                                                                                       |   76 
 CC/iWareSql/WmsDBModel/SysJobTrigger.cs                                                                                                                        |   65 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsFactory/component/editDialog.vue                                                                         |  144 
 CC/iWareModel/iWareModel.csproj                                                                                                                                |    9 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-const-output.ts                                                                          |   71 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsTask/Dto/WmsTaskOutput.cs                                                            |  165 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-job-cluster.ts                                                                       |   71 
 CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendSynchroMatPlaceToMesResponse.datasource                               |    2 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysHelpDoc/Dto/WmsSysHelpDocOutput.cs                                                   |   60 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Dict/SysDictDataService.cs                                                                                  |  184 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-user-ext-org.ts                                                                      |   71 
 LA24030_LuLiPackageLine_Web/src/api-services/models/notice-status-enum.ts                                                                                      |   26 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Database.json                                                                                  |   77 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Properties/launchSettings.json                                                                                 |   32 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/GlobalUsings.cs                                                                                    |    8 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-notice.ts                                                                         |   79 
 LA24030_LuLiPackageLine_Web/src/api/main/Check/checkRules/index.ts                                                                                             |   47 
 LA24030_LuLiPackageLine_Web/src/views/home/index.vue                                                                                                           |  835 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/NoticeTypeEnum.cs                                                                                              |   26 
 LA24030_LuLiPackageLine_Web/src/utils/commonFunction.ts                                                                                                        |   83 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/v_students/Dto/v_studentsDto.cs                                                             |  128 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/UpDownShelvesTypeEnum.cs                                                                   |   38 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-open-access-output.ts                                                                 |   79 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-file.ts                                                                              |   71 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-plugin-input.ts                                                                                     |  141 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-code-gen-input.ts                                                                                   |   30 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-log-diff-api.ts                                                                                          |  215 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-code-gen.ts                                                                               |   69 
 LA24030_LuLiPackageLine_Web/src/types/global.d.ts                                                                                                              |  117 
 LA24030_LuLiPackageLine_Web/src/api-services/models/platform-type-enum.ts                                                                                      |   27 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderAsnDetails.ts                                                                                        |   67 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/v_students/Dto/v_studentsOutput.cs                                                          |  130 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/EmailOptions.cs                                                                                              |   58 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterialCustomer/component/editDialog.vue                                                                |  120 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Email.json                                                                                     |   14 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent.zip                                                                                |    0 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysHelpDoc/WmsSysHelpDocService.cs                                                      |  196 
 LA24030_LuLiPackageLine_Web/src/components/iconSelector/list.vue                                                                                               |   84 
 CC/iWareCC_ASRS/Connected Services/StationService/item4.xsd                                                                                                    |   63 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderDeliverDetails.ts                                                                                  |   89 
 LA24030_LuLiPackageLine_Web/src/theme/media/index.scss                                                                                                         |   15 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Option/ReZeroOptions.cs                                                                            |   20 
 LA24030_LuLiPackageLine_Web/src/types/axios.d.ts                                                                                                               |   13 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeSql.ts                                                               |  150 
 LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/sql-sugar-paged-list-approval-flow-output.ts                                                 |   79 
 LA24030_LuLiPackageLine_Web/src/components/svgIcon/index.vue                                                                                                   |   63 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/MnemonicCodeHelper.cs                                                                           |  236 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Core/ProjectOptions.cs                                                                                               |   47 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/receiptCompletion/component/editDialog.vue                                                         |  185 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Enum/Dto/EnumOutput.cs                                                                                      |   33 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Server/SysServerService.cs                                                                                  |  154 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/SingleFilePublish.cs                                                                                           |   43 
 LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.scss                                                                                   |  417 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/FindEmptyPlaceServiceFactory.cs                                        |   30 
 DBScript/01_DDL/02_DDL_TABLE_Edit.sql                                                                                                                          |    0 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseMaterialType.cs                                                                        |   61 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Region/Dto/RegionInput.cs                                                                                   |   46 
 LA24030_LuLiPackageLine_Web/src/api-services/models/trigger-status.ts                                                                                          |   35 
 LA24030_LuLiPackageLine_Web/src/views/system/database/component/genSeedData.vue                                                                                |   97 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/iWare_RawMaterialWarehouse_Web/src/views/main/testStudent/component/editDialog.vue |  264 
 CC/iWareSql/WmsDBModel/SysLogEx.cs                                                                                                                             |   93 
 CC/iWareSql/WmsDBModel/wms_adapter_categories.cs                                                                                                               |   36 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Org/Dto/OrgInput.cs                                                                                         |   42 
 LA24030_LuLiPackageLine_Web/src/api-services/models/card-type-enum.ts                                                                                          |   28 
 LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-output.ts                                                                                           |  203 
 CC/iWareSql/WmsDBModel/wms_config_sncode_rule.cs                                                                                                               |   57 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsSncodeCreateRule/Dto/WmsSncodeCreateRuleInput.cs                                  |  215 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Const/SysConstService.cs                                                                                    |   83 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OpenAccess/Dto/OpenAccessInput.cs                                                                           |   85 
 CC/iWareSql/WmsDBModel/SysJobTriggerRecord.cs                                                                                                                  |   38 
 LA24030_LuLiPackageLine_Web/src/api-services/models/page-online-user-input.ts                                                                                  |   78 
 LA24030_LuLiPackageLine_Web/src/views/system/plugin/component/editPlugin.vue                                                                                   |  153 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/SysAuthService.cs                                                                                      |  390 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsControlRuleDetail/component/editDialog.vue                                                               |  184 
 CC/iWareSql/WmsDBModel/SysRoleOrg.cs                                                                                                                           |   19 
 LA24030_LuLiPackageLine_Web/src/api-services/models/menu-type-enum.ts                                                                                          |   25 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsnDetails/index.vue                                                                               |  400 
 LA24030_LuLiPackageLine_Web/src/views/error/404.vue                                                                                                            |   89 
 LA24030_LuLiPackageLine_Web/src/api-services/models/db-type.ts                                                                                                 |   47 
 LA24030_LuLiPackageLine_Web/src/api/system/admin.ts                                                                                                            |   19 
 LA24030_LuLiPackageLine_Web/src/views/system/openAccess/component/helpView.vue                                                                                 |  102 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Captcha.json                                                                                   |   28 
 CC/iWareSql/WmsDBModel/wms_config_serial_rule.cs                                                                                                               |   65 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-tenant-output.ts                                                         |   69 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-db-column-input.ts                                                                                  |   52 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-print-api.ts                                                                                             |  476 
 LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsContainerSortPrint/component/editDialog.vue                                                          |  295 
 CC/iWareCC_ASRS/Connected Services/StationService/item.disco                                                                                                   |    4 
 LA24030_LuLiPackageLine_Web/src/api-services/models/page-file-input.ts                                                                                         |   86 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SysHelper.cs                                                                                    |   37 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/Dto/JobDetailOutput.cs                                                                                  |   20 
 LA24030_LuLiPackageLine_Web/src/utils/loading.ts                                                                                                               |   44 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsnDetails/component/editDialog.vue                                                                |  343 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/App.json                                                                                       |   52 
 CC/iWareSql/App.config                                                                                                                                         |    2 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestTeacher/Dto/TestTeacherDto.cs                                                           |   58 
 LA24030_LuLiPackageLine_Web/src/layout/component/main.vue                                                                                                      |   60 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/WmsConfigNoRule.cs                                                                    |  111 
 CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendInStoreBatchMatsResponse.datasource                                          |    2 
 LA24030_LuLiPackageLine_Web/src/views/system/menu/index.vue                                                                                                    |  136 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/SoftwareAdapter/WmsAdapterRecord.cs                                                                   |  118 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/AdapterEnum/AdapterAllEnum.cs                                                                           |  110 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPredetermineDispense/index.vue                                                                |  312 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterialType/component/editDialog.vue                                                                    |  145 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestStudent/Dto/TestStudentOutput.cs                                                        |  130 
 LA24030_LuLiPackageLine_Web/src/i18n/pages/login/zh-cn.ts                                                                                                      |   28 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/Dto/SysLdapInput.cs                                                                                    |   43 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-pos-input.ts                                                                                        |   30 
 LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/admin-result-int64.ts                                                                        |   70 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsInventory/wmsInventoryCheckOrder.ts                                                                                |  100 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysPdaMenu/component/editDialog.vue                                                                    |  180 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/DataOpTypeEnum.cs                                                                                              |   92 
 CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.SrmEntity.datasource                                                            |    2 
 LA24030_LuLiPackageLine_Web/src/api/main/WareAgeWarm/wareAgeWarm.ts                                                                                            |   95 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-job-detail.ts                                                                                          |  117 
 LA24030_LuLiPackageLine_Web/src/api/main/inventoryWarning/inventoryWarning.ts                                                                                  |   70 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-sys-ldap-input.ts                                                                                   |  181 
 DBScript/01_DDL/04_DDL_INDEX.sql                                                                                                                               |    0 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-log-op-api.ts                                                                                            |  299 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/propDetail.vue                                                                   |   73 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsSubstituteGood/index.vue                                                                                 |  246 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/BusinessTypeEnum.cs                                                                        |  325 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/SysDictDataEnum.cs                                                                         |   23 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Admin.NET.Web.Entry.csproj                                                                                     |   55 
 LA24030_LuLiPackageLine_Web/src/stores/themeConfig.ts                                                                                                          |  159 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/TemplateConst.cs                                                                                              |   18 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/OpenApi/DemoOpenApi.cs                                                                                       |   28 
 LA24030_LuLiPackageLine_Web/src/api/main/TestDemo/v_students.ts                                                                                                |   59 
 CC/iWareSql/WmsDBModel/Test_Teachert.cs                                                                                                                        |   44 
 LA24030_LuLiPackageLine_Web/src/components/dragVerify/dragVerifyImgRotate.vue                                                                                  |  449 
 LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/index.ts                                                                                     |   11 
 LA24030_LuLiPackageLine_Web/src/views/system/codeGen/component/editCodeGenDialog.vue                                                                           |  243 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-dict-data.ts                                                                              |   69 
 LA24030_LuLiPackageLine_Web/src/utils/download2.ts                                                                                                             |   17 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewPro/Dto/GoViewProOutput.cs                                                           |  127 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/TaskHelper.cs                                                                                   |   20 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/index.vue                                                                       |  539 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/CreateEntityInput.cs                                                                           |   39 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-code-gen-config.ts                                                                        |   69 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-open-access-input.ts                                                                                |   30 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsQC/wmsOrderQc.ts                                                                                                   |   75 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBatchRuleDetail/component/editDialog.vue                                                                 |  488 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/PrintTypeEnum.cs                                                                           |   93 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/SoftwareAdapter/WmsAdapterCategories.cs                                                               |   32 
 LA24030_LuLiPackageLine_Web/src/api-services/models/database-output.ts                                                                                         |   45 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelDataDialog.vue                                                               |   14 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysUserLdap.cs                                                                                               |   44 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails/index.vue                                                           |  475 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/RbTaskTypeEnum.cs                                                                          |   35 
 CC/iWareSql/WmsDBModel/zero_interface_list.cs                                                                                                                  |   72 
 LA24030_LuLiPackageLine_Web/src/api-services/models/code-gen-config.ts                                                                                         |  270 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-plugin-input.ts                                                                                        |  141 
 CC/iWareCommon/log4net_iWare -编辑版.config                                                                                                                       |    4 
 LA24030_LuLiPackageLine_Web/src/directive/authDirective.ts                                                                                                     |   40 
 LA24030_LuLiPackageLine_Web/src/utils/setIconfont.ts                                                                                                           |   49 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/RequestTypeEnum.cs                                                                                             |   39 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/ExcelBaseResult.cs                                                                               |   84 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-region.ts                                                                            |   71 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/openDialogPd.vue                                                      | 1026 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsNoCreateRule/Dto/WmsNoCreateRuleOutput.cs                                         |   95 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Output.cs.vm                                                                                  |   58 
 CC/iWareSql/WmsDBModel/SysJobCluster.cs                                                                                                                        |   26 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/OrderTypeEnum.cs                                                                               |   75 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/GetDingTalkToken.cs                                                                  |   34 
 CC/iWareSql/WmsDBModel/wms_base_warehouse.cs                                                                                                                   |   66 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterialCustomer/index.vue                                                                               |  214 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/测试学生表导入模板.xlsx                                                                       |    0 
 CC/iWareCC_ASRS/Connected Services/StationService/item2.xsd                                                                                                    |  229 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewSys/GoViewSysService.cs                                                              |   84 
 LA24030_LuLiPackageLine_Web/src/api-services/models/page-user-input.ts                                                                                         |   94 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-code-gen.ts                                                                                            |  190 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-role.ts                                                                                                |  140 
 LA24030_LuLiPackageLine_Web/src/components/auth/auth.vue                                                                                                       |   26 
 LA24030_LuLiPackageLine_Web/src/views/login/component/account.vue                                                                                              |  355 
 CC/iWareSql/WmsDBModel/wms_base_material.cs                                                                                                                    |  102 
 LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-input.ts                                                                                            |   37 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/clientProp.vue                                                                                  |  242 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsNoCreateRule/WmsNoCreateRuleService.cs                                            |  241 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs                                                                          |  105 
 LA24030_LuLiPackageLine_Web/src/views/system/user/component/userCenter.vue                                                                                     |  393 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/WmsPlaceEnum.cs                                                                                 |  208 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-file.ts                                                              |   69 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/SourceByEnum.cs                                                                                 |   28 
 LA24030_LuLiPackageLine_Web/src/api-services/models/page-dict-type-input.ts                                                                                    |   78 
 LA24030_LuLiPackageLine_Web/src/api-services/models/wx-open-id-output.ts                                                                                       |   28 
 LA24030_LuLiPackageLine_Web/src/views/system/dict/index.vue                                                                                                    |  338 
 LA24030_LuLiPackageLine_Web/src/api-services/models/visual-db-table.ts                                                                                         |   43 
 LA24030_LuLiPackageLine_Web/src/utils/watermark.ts                                                                                                             |   47 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseWarehouse.cs                                                                           |  134 
 CC/iWareSql/WmsDBModel/WmsDBModel.cs                                                                                                                           |  184 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/receiptCompletion/index.vue                                                                        |  296 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBasePlace/component/editDialog.vue                                                                    |  271 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/RegularValidate.cs                                                                                             |   36 
 LA24030_LuLiPackageLine_Web/src/assets/logo-mini.png                                                                                                           |    0 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/CodeGenInput.cs                                                                                 |  224 
 CC/ServiceClient/App.config                                                                                                                                    |   16 
 CC/iWareCC_ASRS/ThreadService/01_BZ01工位(清灰,洗板后工位)/DataProcess_BZ01.cs                                                                                          |  102 
 LA24030_LuLiPackageLine_Web/src/api-services/models/dict-type-input.ts                                                                                         |   37 
 LA24030_LuLiPackageLine_Web/src/utils/exportExcel.ts                                                                                                           |  301 
 LA24030_LuLiPackageLine_Web/src/api/main/Check/wmsInventoryCheckOrderDetails.ts                                                                                |   78 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-column-ouput.ts                                                                          |   71 
 LA24030_LuLiPackageLine_Web/src/api-services/models/notice-type-enum.ts                                                                                        |   24 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-online-user.ts                                                                                         |  102 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockQuanOut/component/editDialog.vue                                                               |  380 
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockSnapshot.ts                                                                                      |   78 
 CC/iWareSql/WmsDBModel/zero_user_info.cs                                                                                                                       |   54 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-db-table-info.ts                                                                         |   71 
 LA24030_LuLiPackageLine_Web/src/theme/media/personal.scss                                                                                                      |   16 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysRegion.cs                                                                                                 |  109 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Cache/SysCacheService.cs                                                                                    |  281 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/IDingTalkApi.cs                                                                          |   61 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/Excel2003Result.cs                                                                               |  152 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysUserSeedData.cs                                                                                         |   32 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestStudent/TestStudentService.cs                                                           |  528 
 LA24030_LuLiPackageLine_Web/src/theme/media/tagsView.scss                                                                                                      |   11 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropOff.vue                                                         | 1506 
 LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-type-enum.ts                                                                                        |   24 
 CC/iWareSql/WmsDBModel/SysOpenAccess.cs                                                                                                                        |   43 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Program.cs                                                                                                     |   27 
 LA24030_LuLiPackageLine_Web/src/api-services/configuration.ts                                                                                                  |   83 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-message-template-input.ts                                                                           |   30 
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts                                                                                          |  125 
 CC/iWareSql/WmsDBModel/wms_config_no_rule.cs                                                                                                                   |   58 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsAvailabilityOfPlace/index.vue                                                                       |  303 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysConfigSeedData.cs                                                                                       |   41 
 CC/iWareSql/WmsDBModel/mes_batchOrderUPI_new.cs                                                                                                                |   89 
 LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/setings.vue                                                                                              |  784 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Resources/Lang.en.resx                                                                                         |  129 
 LA24030_LuLiPackageLine_Web/src/views/home/notice/index.vue                                                                                                    |  147 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Const/Dto/ConstOutput.cs                                                                                    |   25 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-wechat-user.ts                                                                                         |  221 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/ErpPushStatusEnum.cs                                                                       |   44 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewPro/Dto/GoViewProInput.cs                                                            |   81 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wareInventorySummary/component/editDialog.vue                                                          |  139 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsSystem/PdaMenuTypeEnum.cs                                                                            |   40 
 LA24030_LuLiPackageLine_Web/src/api-services/models/role-menu-input.ts                                                                                         |   38 
 DBScript/02_DML/01_InitData.sql                                                                                                                                |   28 
 LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-user-input.ts                                                                                       |   30 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-pos-input.ts                                                                                           |  133 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Plugin/SysPluginService.cs                                                                                  |  124 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsRecordPrint.cs                                                                        |  252 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-code-gen-input.ts                                                                                   |  198 
 LA24030_LuLiPackageLine_Web/src/api-services/models/notice-input.ts                                                                                            |   30 
 CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.GetMesMatInfoResponse.datasource                                          |    2 
 LA24030_LuLiPackageLine_Web/src/theme/media/scrollbar.scss                                                                                                     |   56 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Middleware/ApprovalFlowMiddleware.cs                                                         |   46 
 LA24030_LuLiPackageLine_Web/src/directive/index.ts                                                                                                             |   21 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/VerifyFileExtensionName.cs                                                                                     |  164 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Dto.cs.vm                                                                                     |   24 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsSncodeCreateRule/component/editDialog.vue                                                        |  261 
 LA24030_LuLiPackageLine_Web/src/api/main/sysPadPower.ts                                                                                                        |   76 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/component/editDialog.vue                                                             |  182 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-notice-input.ts                                                                                     |   30 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-notice-user.ts                                                       |   69 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkBaseResponse.cs                                                              |   41 
 LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/index.vue                                                                             |  460 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file-upload-files-body.ts                                                                              |   28 
 LA24030_LuLiPackageLine_Web/src/views/system/weChatUser/index.vue                                                                                              |  153 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/OAuth.json                                                                                     |   14 
 LA24030_LuLiPackageLine_Web/src/stores/keepAliveNames.ts                                                                                                       |   35 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrderDetails/index.vue                                                                |  307 
 CC/iWareSql/WmsDBModel/SysOrg.cs                                                                                                                               |   56 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/baseCustomer.ts                                                                                               |   97 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-print-input.ts                                                                                      |  133 
 CC/iWareSql/WmsDBModel/SysLogDiff.cs                                                                                                                           |   45 
 LA24030_LuLiPackageLine_Web/src/api-services/models/jtoken.ts                                                                                                  |   23 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/GM/GMUtil.cs                                                                                                   |  151 
 LA24030_LuLiPackageLine_Web/src/views/system/formDes/index.vue                                                                                                 |   21 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Configuration/ApprovalFlow.json                                                              |   13 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsContainerType.ts                                                                                           |   50 
 CC/iWareSql/WmsDBModel/wms_stock_quan.cs                                                                                                                       |   89 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/SerialSN/WmsConfigSerialSN.cs                                                         |   31 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewPro/GoViewProService.cs                                                              |  252 
 LA24030_LuLiPackageLine_Web/src/stores/index.ts                                                                                                                |    8 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkSendInteractiveCardsResult.cs                                                |   15 
 LA24030_LuLiPackageLine_Web/public/favicon.ico                                                                                                                 |    0 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Edges/EdgeSql.ts                                                               |   55 
 LA24030_LuLiPackageLine_Web/src/types/mitt.d.ts                                                                                                                |   38 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsStockQuan.cs                                                                          |  179 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysMenu.cs                                                                                                   |  144 
 LA24030_LuLiPackageLine_Web/src/views/system/org/component/orgTree.vue                                                                                         |  144 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropXiafa.vue                                                       | 1286 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-login-output.ts                                                                               |   69 
 CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendBatchUPIsResponse.datasource                                                 |    2 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/Dto/LoginInput.cs                                                                                      |   55 
 CC/iWareSql/WmsDBModel/GoViewProData.cs                                                                                                                        |   37 
 LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/approval-flow-input.ts                                                                       |   94 
 LA24030_LuLiPackageLine_Web/src/views/system/job/component/JobScriptCode.ts                                                                                    |   48 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSortDetails/component/editDialog.vue                                                             |  296 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationDefaults.cs                                                                    |   23 
 LA24030_LuLiPackageLine_Web/src/api/main/PrintCenter/wmsRecordSncodePrint.ts                                                                                   |   78 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/component/editDialog.vue                                                                       |  192 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Admin.NET.Plugin.ReZero.csproj                                                                     |   34 
 LA24030_LuLiPackageLine_Web/src/api-services/models/db-table-info.ts                                                                                           |   41 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MaxValueAttribute.cs                                                                                      |   39 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysPrint.cs                                                                                                  |   49 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-dict-data-input.ts                                                                                  |   30 
 CC/iWareCC_ASRS/FormCC.Designer.cs                                                                                                                             |  230 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/条码生成规则导入模板.xlsx                                                                      |    0 
 LA24030_LuLiPackageLine_Web/src/layout/component/header.vue                                                                                                    |   18 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/PayCallBackOptions.cs                                                                                        |   33 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsLogAction/index.vue                                                                                 |  241 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-role-input.ts                                                                                       |  148 
 LA24030_LuLiPackageLine_Web/src/components/dragVerify/dragVerifyImg.vue                                                                                        |  466 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockBoardabc/component/editDialog.vue                                                              |  304 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderMovement.ts                                                                                          |  144 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/DbColumnOutput.cs                                                                              |   50 
 CC/iWareCC_ASRS/ThreadService/02_BZ39工位(补板后工位)/Outbound/1、DataProcess_RobotBuffer_AutoQiTaoOutbound.cs                                                         |  112 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/OnlineUserHub.cs                                                                                                |  153 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-ex.ts                                                            |   69 
 LA24030_LuLiPackageLine_Web/src/assets/login-icon-two1.svg                                                                                                     |    1 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysRoleSeedData.cs                                                                                         |   29 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/APIJSONService.cs                                                                                   |  206 
 LA24030_LuLiPackageLine_Web/src/components/dragVerify/dragVerify.vue                                                                                           |  300 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkEmpRosterFieldVo.cs                                                          |   31 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/RetryEventHandlerExecutor.cs                                                                               |   22 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-wechat-user.ts                                                                    |   79 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/Dto/ExportLogDto.cs                                                                                 |   68 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wareInventorySummary/component/openAllproptwo.vue                                                      |  264 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Plugin/Dto/PluginInput.cs                                                                                   |   37 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OAuth/OAuthClaim.cs                                                                                         |   12 
 CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendSynchroMatPlaceToMesResponse.datasource                                      |    2 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Cache/SqlSugarCache.cs                                                                                              |   56 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-code-gen-config.ts                                                                       |   71 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsPlace.ts                                                                                                   |   66 
 LA24030_LuLiPackageLine_Web/src/views/system/codeGen/component/treeDialog.vue                                                                                  |  151 
 LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/index.ts                                                                                            |   18 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-region.ts                                                            |   69 
 CC/iWareCommon/Properties/Resources.Designer.cs                                                                                                                |    6 
 CC/iWareModel/EnumType/WMS/AreaCodeEnum.cs                                                                                                                     |   49 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Option/DingTalkOptions.cs                                                                        |   30 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/TenantTypeEnum.cs                                                                                              |   26 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/IdempotentAttribute.cs                                                                                    |  105 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysUser.cs                                                                                                   |  315 
 CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SdaResEntity.datasource                                                                       |    2 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/SqlSugarConst.cs                                                                                              |   28 
 CC/iWareSql/WmsDBModel/SysUserExtOrg.cs                                                                                                                        |   29 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/ElasticSearchAuthTypeEnum.cs                                                                                   |   33 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-plugin-input.ts                                                                                     |   30 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Swagger.json                                                                                   |   32 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/ConsoleLogoSetup.cs                                                                                       |   27 
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsLogAction.ts                                                                                          |   78 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/Dto/ApprovalFlowDto.cs                                                  |   88 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBasePlace/index.vue                                                                                   |  393 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainer/index.vue                                                                                      |  322 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/component/openAllpropDo.vue                                                              | 1305 
 LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.ttf                                                                                    |    0 
 CC/iWareCC_ASRS/FormCC.cs                                                                                                                                      |  232 
 CC/iWareSql/WmsDBModel/SysPlugin.cs                                                                                                                            |   50 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/GlobalUsings.cs                                                                                                     |   62 
 LA24030_LuLiPackageLine_Web/src/utils/constHelper.ts                                                                                                           |   28 
 LA24030_LuLiPackageLine_Web/src/utils/request.ts                                                                                                               |  213 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/CreateCodeTypeEnum.cs                                                                          |   23 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/FakeStartup.cs                                                                                                 |   14 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Enum/Dto/EnumInput.cs                                                                                       |   49 
 LA24030_LuLiPackageLine_Web/src/views/system/database/component/addColumn.vue                                                                                  |  116 
 LA24030_LuLiPackageLine_Web/src/utils/formate.ts                                                                                                               |  478 
 LA24030_LuLiPackageLine_Web/src/api/main/SoftwareAdapterService/adapterManagement.ts                                                                           |   78 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Property/PropertyDialog.vue                                                             |   30 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/CryptogramUtil.cs                                                                                              |  120 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Views/_ViewImports.cshtml                                                                                      |    2 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/IncreSeedAttribute.cs                                                                                     |   16 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-tenant-output.ts                                                                      |   79 
 LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-pay-output.ts                                                                                       |   54 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsContainer.ts                                                                                               |   67 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component/openDialogCl.vue                                                |  635 
 LA24030_LuLiPackageLine_Web/src/utils/toolsValidate.ts                                                                                                         |  370 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPredDispHistory/component/editDialog.vue                                                      |  299 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsMaterialType.ts                                                                                            |   50 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderSortDetails.ts                                                                                     |  140 
 LA24030_LuLiPackageLine_Web/src/router/route.ts                                                                                                                |  140 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/CodeGenUtil.cs                                                                                                 |  410 
 DBScript/01_DDL/01_DDL_TABLE.sql                                                                                                                               |    0 
 LA24030_LuLiPackageLine_Web/src/views/system/role/component/pdaMenu.vue                                                                                        |  165 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/GM/GM.cs                                                                                                       |  471 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-open-access-output.ts                                                    |   69 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsWarehouse/component/editDialog.vue                                                                       |  224 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsLogAction.cs                                                                          |   91 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-log-vis.ts                                                                        |   79 
 CC/iWareCC_ASRS/App.config                                                                                                                                     |   44 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsUnit/component/editDialog.vue                                                                            |  156 
 CC/iWareSql/WmsDBModel/wms_adapter_record.cs                                                                                                                   |   80 
 LA24030_LuLiPackageLine_Web/src/types/layout.d.ts                                                                                                              |   59 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Upload.json                                                                                    |   21 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/Avatar/573383695376453.png                                                                      |    0 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-job-detail-output.ts                                                     |   69 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/BaseService.cs                                                                                              |   90 
 CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.IsReadyResponse.datasource                                                      |    2 
 LA24030_LuLiPackageLine_Web/src/api-services/models/page-config-input.ts                                                                                       |   86 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsContainerSort/index.vue                                                                             |  320 
 CC/iWareSql/WmsDBModel/SysNoticeUser.cs                                                                                                                        |   23 
 LA24030_LuLiPackageLine_Web/src/api-services/models/wx-open-id-login-input.ts                                                                                  |   30 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/ContentView.vue                                                                  |  177 
 LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.ts                                                                                     |  103 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockBoardabc/component/openAllpropDetail.vue                                                       |  837 
 LA24030_LuLiPackageLine_Web/package.json                                                                                                                       |  110 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBasePlace.cs                                                                               |  165 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/RepositoryExtension.cs                                                                                    |  407 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/Dto/LogInput.cs                                                                                     |   33 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OpenAccess/Dto/OpenAccessOutput.cs                                                                          |   20 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/Startup.cs                                                                                           |   55 
 LA24030_LuLiPackageLine_Web/src/views/system/ldap/component/editLdap.vue                                                                                       |  143 
 LA24030_LuLiPackageLine_Web/src/api/main/Check/checkOrder/index.ts                                                                                             |  194 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/ElasticSearchOptions.cs                                                                                      |   64 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/JobMonitor.cs                                                                                           |   39 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-file.ts                                                                                   |   69 
 LA24030_LuLiPackageLine_Web/src/i18n/pages/formI18n/zh-cn.ts                                                                                                   |   13 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsLogAction/WmsLogActionService.cs                                                     |  185 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsBusinessType.ts                                                                                            |   71 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WxOpenOutput.cs                                                                                  |   17 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/GenderEnum.cs                                                                                                  |   32 
 LA24030_LuLiPackageLine_Web/src/api-services/models/api-output.ts                                                                                              |   46 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/ColorEnum.cs                                                                                                   |   58 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-notice.ts                                                                            |   71 
 CC/iWareCC_ASRS/WmsTask/AutoSalverMaterialBindTask.cs                                                                                                          |   54 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-wechat-pay.ts                                                                                          |  270 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Cache.json                                                                                     |   35 
 LA24030_LuLiPackageLine_Web/src/api-services/models/column-ouput.ts                                                                                            |   94 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/Dto/ApprovalFlowOutput.cs                                               |   88 
 LA24030_LuLiPackageLine_Web/src/views/system/onlineUser/signalR.ts                                                                                             |   43 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/Dto/ApprovalFlowInput.cs                                                |  147 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryHistory/component/editDialog.vue                                                          |  185 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-visual-db-table.ts                                                                            |   69 
 LA24030_LuLiPackageLine_Web/src/api-services/models/menu-output.ts                                                                                             |  156 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintInput.cs                                            |  184 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigKbcard/index.vue                                                                           |  384 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Region/SysRegionService.cs                                                                                  |  236 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/Dto/UserRoleInput.cs                                                                                   |   23 
 LA24030_LuLiPackageLine_Web/src/i18n/lang/zh-tw.ts                                                                                                             |  192 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/EventBus.json                                                                                  |   12 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystem/WmsSysPdaMenu.cs                                                                            |   71 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationHandler.cs                                                                     |  158 
 CC/iWareTestForm/测试模拟器.csproj                                                                                                                                  |    3 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-config-api.ts                                                                                            |  714 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-org.ts                                                                                                 |  182 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/NewtonsoftJsonSerializerProvider.cs                                                                            |   59 
 LA24030_LuLiPackageLine_Web/src/utils/exportExcelForDetail.ts                                                                                                  |  104 
 LA24030_LuLiPackageLine_Web/src/stores/routesList.ts                                                                                                           |   26 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/BaseCustomerEnum.cs                                                                             |   43 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-dict-type-input.ts                                                                                  |   30 
 LA24030_LuLiPackageLine_Web/.env                                                                                                                               |   14 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleInput.cs                                                                                       |   50 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-string.ts                                                                                     |   70 
 CC/iWareSql/DataAccess/TaskHandler.cs                                                                                                                          |   40 
 LA24030_LuLiPackageLine_Web/src/views/system/user/component/orgTree.vue                                                                                        |   96 
 LA24030_LuLiPackageLine_Web/src/api-services/models/user-input.ts                                                                                              |   37 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Dict/Dto/DictTypeInput.cs                                                                                   |   49 
 CC/iWareSql/WmsDBModel/SysOnlineUser.cs                                                                                                                        |   40 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Admin.NET.Plugin.DingTalk.csproj                                                                 |   23 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/ContentItem.vue                                                                  |  144 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsOrder/Mes_BatchOrderUPI.cs                                                                         |  139 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckRange/component/editDialog.vue                                                        |  177 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-config-input.ts                                                                                        |  141 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Configuration/ReZero.json                                                                          |   15 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordTrans/WmsRecordTransService.cs                                                 |  248 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordTrans/Dto/WmsRecordTransOutput.cs                                              |  421 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-pos-api.ts                                                                                               |  398 
 LA24030_LuLiPackageLine_Web/src/views/system/print/index.vue                                                                                                   |  144 
 LA24030_LuLiPackageLine_Web/tsconfig.json                                                                                                                      |   74 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-role.ts                                                                           |   79 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/FinancialTypeEnum.cs                                                                           |   19 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/SysLogExService.cs                                                                                  |   67 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/Default/ContainerFindEmptyPlaceHandle.cs                               |   40 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-menu-input.ts                                                                                       |   30 
 LA24030_LuLiPackageLine_Web/src/views/system/tenant/component/grantMenu.vue                                                                                    |  126 
 LA24030_LuLiPackageLine_Web/src/api-services/models/page-tenant-input.ts                                                                                       |   78 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-user.ts                                                                                                |  416 
 LA24030_LuLiPackageLine_Web/.gitignore                                                                                                                         |   26 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-db-column-output.ts                                                                      |   71 
 LA24030_LuLiPackageLine_Web/src/theme/media/error.scss                                                                                                         |   45 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/SysUserService.cs                                                                                      |  360 
 LA24030_LuLiPackageLine_Web/src/views/system/plugin/index.vue                                                                                                  |  144 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-iaction-result.ts                                                                             |   69 
 LA24030_LuLiPackageLine_Web/src/layout/sponsors/index.vue                                                                                                      |  108 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/UpiStatusEnum.cs                                                                               |   35 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysDictDataSeedData.cs                                                                                     |   98 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewSys/Dto/GoViewLoginInput.cs                                                          |   25 
 CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SrmView.datasource                                                                            |    2 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-user-ext-org.ts                                                                                        |   78 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/SerialSN/WmsConfigSerialRule.cs                                                       |   98 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/AccountTypeEnum.cs                                                                                             |   38 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysOpenAccess.cs                                                                                             |   58 
 LA24030_LuLiPackageLine_Web/src/assets/bg.svg                                                                                                                  |   69 
 LA24030_LuLiPackageLine_Web/src/api-services/models/create-seed-data-input.ts                                                                                  |   75 
 LA24030_LuLiPackageLine_Web/src/theme/mixins/index.scss                                                                                                        |   56 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-dict-type-api.ts                                                                                         |  811 
 LA24030_LuLiPackageLine_Web/src/views/system/tenant/index.vue                                                                                                  |  241 
 SDA/iWareSda/Devices/4-Station/StationService/StationService.cs                                                                                                |   12 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Message/SysSmsService.cs                                                                                    |   86 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQc/index.vue                                                                                          |  372 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-config.ts                                                                         |   79 
 LA24030_LuLiPackageLine_Web/src/api-services/models/visual-table.ts                                                                                            |   46 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-code-gen-api.ts                                                                                          |  895 
 LA24030_LuLiPackageLine_Web/src/theme/font-awesome/font-awesome.scss                                                                                           | 2332 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/SysLogDiffService.cs                                                                                |   47 
 CC/iWareSql/WmsDBModel/SysDictData.cs                                                                                                                          |   62 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Views/Shared/_Layout.cshtml                                                                                    |   11 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Entity.cs.vm                                                                                  |   90 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-dict-type.ts                                                         |   69 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarFilter.cs                                                                                          |  210 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ChineseSpellFile/hzwb.txt                                                                              |    0 
 CC/iWareCC_ASRS/iWareCC.csproj                                                                                                                                 |   55 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/APIJSONOptions.cs                                                                                            |   70 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryHistory/index.vue                                                                         |  241 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestStudent/Dto/TestStudentInput.cs                                                         |  303 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsArea/index.vue                                                                                           |  342 
 CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.SendSrmMoveResponse.datasource                                                  |    2 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/ISqlSugarEntitySeedData.cs                                                                                 |   21 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-log-ex.ts                                                                                              |  285 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/Dto/LoginUserOutput.cs                                                                                 |   98 
 LA24030_LuLiPackageLine_Web/src/components/table/modifyRecord.vue                                                                                              |   57 
 CC/iWareSql/WmsDBModel/wms_record_trans.cs                                                                                                                     |  165 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/WmsConfigPrintService.cs                                              |  278 
 LA24030_LuLiPackageLine_Web/src/hooks/sapResend.ts                                                                                                             |   37 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/CustomUnifyResultAttribute.cs                                                                             |   22 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/Avatar/573383504625733.png                                                                      |    0 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/IdentityService.cs                                                                                  |   96 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderSortTrans.ts                                                                                       |   78 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/JWT.json                                                                                       |   17 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OnlineUser/Dto/OnlineUserInput.cs                                                                           |   20 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-code-gen-config-api.ts                                                                                   |  786 
 CC/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.TrussEntity.datasource                                                      |    2 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSortTrans/component/editDialog.vue                                                               |  214 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkSendInteractiveCardsOutput.cs                                                |   23 
 LA24030_LuLiPackageLine_Web/src/layout/component/columnsAside.vue                                                                                              |  319 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/CacheOptions.cs                                                                                              |  142 
 LA24030_LuLiPackageLine_Web/src/api-services/models/dict-data-input.ts                                                                                         |   37 
 LA24030_LuLiPackageLine_Web/src/views/system/database/database.ts                                                                                              |  107 
 LA24030_LuLiPackageLine_Web/src/api-services/models/page-dict-data-input.ts                                                                                    |   86 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Const/ApplicationConst.cs                                                                                    |   65 
 LA24030_LuLiPackageLine_Web/src/api-services/models/index.ts                                                                                                   |  300 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/StockStatusEnum.cs                                                                         |   79 
 LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/api.ts                                                                                              |   15 
 CC/iWareSql/WmsDBModel/Test_Student.cs                                                                                                                         |   67 
 CC/iWareCC_ASRS/ThreadService/02_BZ39工位(补板后工位)/Outbound/2、DataProcess_RobotBuffer_IssueOutboundTask.cs                                                         |  118 
 LA24030_LuLiPackageLine_Web/src/views/login/component/scan.vue                                                                                                 |   63 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-db-column-input.ts                                                                                  |   40 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordTrans/index.vue                                                                               |  492 
 LA24030_LuLiPackageLine_Web/src/theme/media/login.scss                                                                                                         |   74 
 CC/iWareCC_ASRS/Connected Services/StationService/configuration.svcinfo                                                                                        |   10 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterManagement/Dto/AdapterManagementOutput.cs                              |  105 
 LA24030_LuLiPackageLine_Web/src/layout/upgrade/index.vue                                                                                                       |  145 
 CC/iWareModel/EnumType/EDevice/EDevice.cs                                                                                                                      |    2 
 CC/iWareSql/WmsDBModel/wms_task.cs                                                                                                                             |   94 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/TransTypeEnum.cs                                                                           |   51 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-wechat-user-input.ts                                                                                |   30 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsMaterial.ts                                                                                                |   69 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsSncodeCreateRule/Dto/WmsSncodeCreateRuleOutput.cs                                 |   90 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-job-detail-input.ts                                                                                    |  117 
 LA24030_LuLiPackageLine_Web/src/theme/element.scss                                                                                                             |  445 
 LA24030_LuLiPackageLine_Web/src/utils/build.ts                                                                                                                 |  125 
 LA24030_LuLiPackageLine_Web/src/api-services/base.ts                                                                                                           |   70 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestTeacher/TestTeacherService.cs                                                           |  295 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkFieldValueVo.cs                                                              |   31 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Input.cs.vm                                                                                   |  115 
 LA24030_LuLiPackageLine_Web/src/api/login/index.ts                                                                                                             |   27 
 CC/iWareSql/WmsDBModel/wms_rbline_task.cs                                                                                                                      |   86 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/PlaceHelper.cs                                                                                  |   16 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/images/logo.png                                                                                        |    0 
 LA24030_LuLiPackageLine_Web/src/api-services/models/create-entity-input.ts                                                                                     |   66 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/component/editDialog.vue                                                                        |  245 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-plugin.ts                                                                         |   79 
 LA24030_LuLiPackageLine_Web/index.html                                                                                                                         |   23 
 LA24030_LuLiPackageLine_Web/public/config.js                                                                                                                   |    8 
 LA24030_LuLiPackageLine_Web/api_build/.gitignore                                                                                                               |    1 
 CC/iWareSql/WmsDBModel/SysDictType.cs                                                                                                                          |   46 
 LA24030_LuLiPackageLine_Web/src/views/login/component/mobile.vue                                                                                               |  121 
 LA24030_LuLiPackageLine_Web/src/api-services/models/send-subscribe-message-input.ts                                                                            |   71 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Wechat.json                                                                                    |   31 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/EnumExtension.cs                                                                                          |  225 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovement/index.vue                                                                                 |  397 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-sys-ldap-input.ts                                                                                   |   30 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/BasePageInput.cs                                                                                               |   41 
 CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.IsAllowSendTaskResponse.datasource                                                            |    2 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovement/component/editDialog.vue                                                                  |  192 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Tenant/Dto/TenantOutput.cs                                                                                  |   30 
 LA24030_LuLiPackageLine_Web/src/stores/tagsViewRoutes.ts                                                                                                       |   23 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-sms-api.ts                                                                                               |  138 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-tenant-input.ts                                                                                        |  203 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/component/openAllpropAsn.vue                                                                   | 1774 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Startup.cs                                                                                         |   55 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQcDetails/index.vue                                                                                   |  402 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Dict/Dto/DictDataInput.cs                                                                                   |   68 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/NoticeStatusEnum.cs                                                                                            |   38 
 LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterCategories/index.vue                                                                  |  315 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Const/ApprovalFlowConst.cs                                                                   |   19 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/ComputerUtil.cs                                                                                                |  480 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OpenAccess/SysOpenAccessService.cs                                                                          |  195 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SysDictHelper.cs                                                                                |   47 
 iWare_RawMaterialWarehouse_Web/src/views/main/wmsPlace/wmsBasePlace/index.vue                                                                                  |  393 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/CodeExamples/Dto/VTestStudentOutput.cs                                                               |  136 
 LA24030_LuLiPackageLine_Web/src/api-services/models/login-user-output.ts                                                                                       |  157 
 LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.svg                                                                                     | 2671 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckOperatorClassifyEnum.cs                                                                   |   23 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockBoardabc/index.vue                                                                             |  420 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/SysWxOpenService.cs                                                                                  |  190 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsTask/WmsTask.cs                                                                                    |  219 
 LA24030_LuLiPackageLine_Web/src/utils/enum.ts                                                                                                                  | 14896 +++
 CC/iWareSql/iWareSql.csproj                                                                                                                                    |   80 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-role-input.ts                                                                                          |  148 
 SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs                                                                                                   |   83 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-db-table-input.ts                                                                                   |   34 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/EnumOptions.cs                                                                                               |   18 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Menu/Dto/MenuOutput.cs                                                                                      |  170 
 LA24030_LuLiPackageLine_Web/src/views/system/file/component/editSysfile.vue                                                                                    |   87 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/BatchRuleTypeEnum.cs                                                                            |  261 
 LA24030_LuLiPackageLine_Web/src/components/table/index.vue                                                                                                     |  477 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/SysCodeGenConfigService.cs                                                                          |  183 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/SysRoleOrgService.cs                                                                                   |   71 
 LA24030_LuLiPackageLine_Web/src/api-services/models/status-enum.ts                                                                                             |   24 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsConfigKbcard.ts                                                                                    |   87 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/index.vue                                                                 |  291 
 LA24030_LuLiPackageLine_Web/常用代码.md                                                                                                                            |   17 
 LA24030_LuLiPackageLine_Web/src/components/openDetails/openDetails.vue                                                                                         |   56 
 LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/component/editDialog.vue                                                              |  139 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/SelectTable.cs                                                                                      |  974 
 LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.woff2                                                                                  |    0 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/WmsBasePlaceService.cs                                                          |  264 
 LA24030_LuLiPackageLine_Web/src/api-services/models/iaction-result.ts                                                                                          |   22 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Startup.cs                                                                                   |   23 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigKbcard/component/editDialog.vue                                                            |  217 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestTeacher/Dto/TestTeacherOutput.cs                                                        |   70 
 LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-user-input.ts                                                                                       |   78 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-notice-input.ts                                                                                        |  164 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterCategories/AdapterCategoriesService.cs                                 |  327 
 LA24030_LuLiPackageLine_Web/src/api/main/SoftwareAdapterService/adapterCategories.ts                                                                           |   85 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/ConstAttribute.cs                                                                                         |   22 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Enum/GoViewProState.cs                                                                             |   26 
 CC/iWareCC_ASRS/WmsTask/VirtualTaskNoOutPlanTaskHandler.cs                                                                                                     |   16 
 CC/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.IsAllowSendTaskResponse.datasource                                          |    2 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/用例APIFOX.json                                                                                       |    1 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestTeacher/Dto/TestTeacherInput.cs                                                         |  151 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/DatabaseOutput.cs                                                                               |   28 
 LA24030_LuLiPackageLine_Web/src/views/system/job/component/editJobTrigger.vue                                                                                  |  288 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/configs/form.config.ts                                                                     |   40 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-online-user-api.ts                                                                                       |  223 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Message/SysMessageService.cs                                                                                |   84 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-print.ts                                                             |   69 
 CC/iWareSql/WmsDBModel/wms_base_place.cs                                                                                                                       |   73 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/AreaCodeEnum.cs                                                                                |   44 
 LA24030_LuLiPackageLine_Web/src/api/main/Check/checkDifference/index.ts                                                                                        |   93 
 LA24030_LuLiPackageLine_Web/src/api-services/models/page-notice-input.ts                                                                                       |   77 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MySugarTable_ViewAttribute.cs                                                                             |   61 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLogEx.cs                                                                                                  |   72 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/baseCustomer/component/editDialog.vue                                                                       |  355 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OAuth/SysOAuthService.cs                                                                                    |  117 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/WmsConfigSncodeRule.cs                                                                |   89 
 CC/iWareSql/WmsDBModel/SysLdap.cs                                                                                                                              |   71 
 LA24030_LuLiPackageLine_Web/src/views/system/job/component/editJobDetail.vue                                                                                   |  261 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Logging.json                                                                                   |   47 
 LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testStudent/index.vue                                                                                      |  426 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/CountView.vue                                                                    |   73 
 CC/iWareSql/WmsDBModel/SysCodeGen.cs                                                                                                                           |   78 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/UserIdProvider.cs                                                                                               |   17 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/index.vue                                                                                                   |  219 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-plugin-api.ts                                                                                            |  567 
 CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.IsAllowSendTaskResponse.datasource                                              |    2 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsControlRuleDetail/index.vue                                                                              |  230 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-config.ts                                                                            |   71 
 LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/userNews.vue                                                                                             |  119 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignalR/SignalRSetup.cs                                                                                             |  104 
 CC/iWareModel/EnumType/WMS/RbTaskTypeEnum.cs                                                                                                                   |   39 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckRecord/index.vue                                                                      |  306 
 LA24030_LuLiPackageLine_Web/src/views/system/database/component/genEntity.vue                                                                                  |  104 
 LA24030_LuLiPackageLine_Web/src/views/system/org/component/editOrg.vue                                                                                         |  138 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkCardData.cs                                                                  |   36 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WechatPayOutput.cs                                                                               |   30 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsNoCreateRule/component/editDialog.vue                                                            |  195 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysHelpDoc/component/helpTree.vue                                                                      |  151 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Tenant/SysTenantService.cs                                                                                  |  464 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-oauth-api.ts                                                                                             |  237 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLogVis.cs                                                                                                 |  116 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/Dto/JobTriggerInput.cs                                                                                  |   43 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysRoleMenu.cs                                                                                               |   35 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ChineseSpellFile/hzpy1.txt                                                                             | 20975 ++++
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/TestDemo/TestTeacher.cs                                                                               |   37 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-dict-data-input.ts                                                                                  |  173 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/PDRecordTypeEnum.cs                                                                            |   35 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainerType/component/editDialog.vue                                                                   |  158 
 LA24030_LuLiPackageLine_Web/src/api-services/models/login-input.ts                                                                                             |   56 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/Excel.cs                                                                                         |  147 
 LA24030_LuLiPackageLine_Web/src/views/system/job/index.vue                                                                                                     |  534 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Org/SysOrgService.cs                                                                                        |  413 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/Dto/UserInput.cs                                                                                       |  127 
 CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.GetMesMatInfoResponse.datasource                                                 |    2 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLdap.cs                                                                                                   |   89 
 LA24030_LuLiPackageLine_Web/src/views/system/dict/component/editDictData.vue                                                                                   |  138 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceInput.cs                                                        |  305 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/EventBusOptions.cs                                                                                           |   44 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseArea.cs                                                                                |  152 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysJobTriggerRecord.cs                                                                                       |   72 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-user-input.ts                                                                                       |  441 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/PDRecordStatusEnum.cs                                                                          |   42 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsQC/wmsOrderQcDetails.ts                                                                                            |   66 
 LA24030_LuLiPackageLine_Web/src/api-services/models/message-input.ts                                                                                           |   61 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file-upload-avatar-body.ts                                                                             |   28 
 LA24030_LuLiPackageLine_Web/src/utils/saulVModel.ts                                                                                                            |   23 
 LA24030_LuLiPackageLine_Web/src/api-services/models/gen-auth-url-input.ts                                                                                      |   46 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsConfigUnshelveStrategy.ts                                                                          |   78 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/UploadOptions.cs                                                                                             |   53 
 LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testTeacher/component/editDialog.vue                                                                       |  163 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/Dto/WmsSysPdaMenuOutput.cs                                                   |   75 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/LogTableAttribute.cs                                                                                      |   16 
 LA24030_LuLiPackageLine_Web/src/theme/app.scss                                                                                                                 |  338 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-job-api.ts                                                                                               | 1688 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Const/GoViewConst.cs                                                                               |   19 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsAvailabilityOfPlace/component/editDialog.vue                                                        |  140 
 LA24030_LuLiPackageLine_Web/src/api-services/models/notice-user-status-enum.ts                                                                                 |   24 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/Default/MaterialFindEmptyPlaceHandle.cs                                |   37 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/OrderStatusEnum.cs                                                                             |   46 
 LA24030_LuLiPackageLine_Web/src/api-services/models/job-detail-input.ts                                                                                        |   30 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysRole.cs                                                                                                   |   56 
 CC/iWareSql/WmsDBModel/SysLogVis.cs                                                                                                                            |   72 
 LA24030_LuLiPackageLine_Web/src/api-services/models/wx-phone-output.ts                                                                                         |   28 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-job-trigger-record.ts                                                             |   79 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderSort.ts                                                                                            |   78 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/EnumHelper.cs                                                                                   |   29 
 LA24030_LuLiPackageLine_Web/src/api-services/models/open-access-output.ts                                                                                      |  134 
 LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-user-login.ts                                                                                       |   30 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/Dto/GrantRolePdaMenuInput.cs                                                 |   78 
 LA24030_LuLiPackageLine_Web/src/types/pinia.d.ts                                                                                                               |   96 
 CC/iWareCommon/Utils/Log4Net/LogType.cs                                                                                                                        |   12 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WechatPayInput.cs                                                                                |   43 
 CC/iWareCC_ASRS/Connected Services/StationService/configuration91.svcinfo                                                                                      |  201 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-open-access-api.ts                                                                                       |  551 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Message/Dto/MessageInput.cs                                                                                 |   35 
 CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendOutStoreBatchMatsResponse.datasource                                         |    2 
 LA24030_LuLiPackageLine_Web/src/layout/main/defaults.vue                                                                                                       |   73 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/CommonUtil.cs                                                                                                  |  185 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewSys/Dto/GoViewOssUrlOutput.cs                                                        |   23 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterCategories/Dto/AdapterCategoriesInput.cs                               |  164 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/IncreTableAttribute.cs                                                                                    |   16 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/CacheConst.cs                                                                                                 |   83 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryWarning/component/editDialog.vue                                                          |  185 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/GetDingTalkCurrentEmployeesRosterListInput.cs                                        |   29 
 CC/iWareModel/EnumType/WMS/WmsPlaceEnum.cs                                                                                                                     |  212 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysJobDetail.cs                                                                                              |   87 
 LA24030_LuLiPackageLine_Web/src/views/system/print/component/hiprint/index.vue                                                                                 |  367 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-boolean.ts                                                                                    |   70 
 LA24030_LuLiPackageLine_Web/api_build/build.sh                                                                                                                 |   28 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WxOpenInput.cs                                                                                   |  118 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-log-op.ts                                                                         |   79 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/DbJobPersistence.cs                                                                                     |  197 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-user-output.ts                                                           |   69 
 LA24030_LuLiPackageLine_Web/src/utils/exportExcel2.ts                                                                                                          |  104 
 LA24030_LuLiPackageLine_Web/src/views/system/role/component/grantData.vue                                                                                      |   88 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-enum-type-output.ts                                                                      |   71 
 LA24030_LuLiPackageLine_Web/src/components/auth/authAll.vue                                                                                                    |   27 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsQC/QcStatusEnum.cs                                                                                   |   33 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-user.ts                                                                                   |   69 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsTask/component/editDialog.vue                                                                       |  141 
 LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/add-approval-flow-input.ts                                                                   |  134 
 LA24030_LuLiPackageLine_Web/src/api-services/models/job-trigger-input.ts                                                                                       |   38 
 LA24030_LuLiPackageLine_Web/src/components/cropper/index.vue                                                                                                   |  202 
 LA24030_LuLiPackageLine_Web/src/layout/navMenu/vertical.vue                                                                                                    |  102 
 LA24030_LuLiPackageLine_Web/src/views/system/job/component/jobCluster.vue                                                                                      |   53 
 LA24030_LuLiPackageLine_Web/src/views/system/weChatUser/component/editWeChatUser.vue                                                                           |   79 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-job-trigger-input.ts                                                                                |   38 
 CC/iWareSql/WmsDBModel/GoViewPro.cs                                                                                                                            |   45 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/editDialog.vue                                                                                    |  162 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-wx-open-api.ts                                                                                           |  570 
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordPredetermineDispense.ts                                                                         |   78 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/InOutFlagEnum.cs                                                                           |   23 
 LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/base.ts                                                                                             |   70 
 LA24030_LuLiPackageLine_Web/stats.html                                                                                                                         | 4842 +
 LA24030_LuLiPackageLine_Web/src/api/main/TestDemo/testStudent.ts                                                                                               |   78 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/DingTalkService.cs                                                                       |   75 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Service.cs.vm                                                                                 |  659 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/ServiceCodeEnum.cs                                                                              |   73 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MaskSystemTextJsonConverter.cs                                                                            |   61 
 LA24030_LuLiPackageLine_Web/api_build/build.bat                                                                                                                |   27 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/GlobalUsings.cs                                                                              |   19 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-job-detail-input.ts                                                                                 |   30 
 CC/iWareSql/WmsDBModel/zero_entity_info.cs                                                                                                                     |   59 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainerPackaging/index.vue                                                                             |  202 
 LA24030_LuLiPackageLine_Web/src/api/main/PrintCenter/wmsContainerSortPrint.ts                                                                                  |   78 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/editFormDialog.vue                                                                                |  154 
 CC/iWareSql/WmsDBModel/SysWechatPay.cs                                                                                                                         |  100 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Controllers/HomeController.cs                                                                                  |   29 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/库位信息导入模板.xlsx                                                                        |    0 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/ExcelOperation.cs                                                                                |  761 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsControlRuleDetail.ts                                                                                       |   50 
 LA24030_LuLiPackageLine_Web/src/theme/loading.scss                                                                                                             |   51 
 LA24030_LuLiPackageLine_Web/src/theme/media/date.scss                                                                                                          |   25 
 CC/ServiceClient/Properties/Settings.Designer.cs                                                                                                               |    2 
 LA24030_LuLiPackageLine_Web/README.md                                                                                                                          |   67 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-menu.ts                                                                              |   71 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-common-api.ts                                                                                            |  206 
 LA24030_LuLiPackageLine_Web/src/theme/waves.scss                                                                                                               |  101 
 LA24030_LuLiPackageLine_Wms/LA24030_LuLiPackageLine_Wms.sln                                                                                                    |   87 
 CC/iWareSql/DataAccess/StationHandlerV2.cs                                                                                                                     |  887 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/Dto/LoginOutput.cs                                                                                     |   23 
 CC/iWareCC_ASRS/Connected Services/StationService/item1.xsd                                                                                                    |   42 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Common/Dto/SmKeyPairOutput.cs                                                                               |   23 
 LA24030_LuLiPackageLine_Web/src/layout/navBars/tagsView/contextmenu.vue                                                                                        |  131 
 LA24030_LuLiPackageLine_Web/src/views/error/401.vue                                                                                                            |   89 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckStatusEnum.cs                                                                             |   29 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/CultureLevelEnum.cs                                                                                            |   92 
 LA24030_LuLiPackageLine_Web/src/views/main/Check/checkDifference/component/openDialogDiff.vue                                                                  |  917 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsUnit.ts                                                                                                    |   55 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysJobCluster.cs                                                                                             |   41 
 CC/iWareTestForm/Properties/Resources.Designer.cs                                                                                                              |    6 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckModeEnum.cs                                                                               |   29 
 LA24030_LuLiPackageLine_Web/src/api-services/models/code-gen-input.ts                                                                                          |  190 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-region.ts                                                                         |   79 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/Dto/OnlineUserHubOutput.cs                                                                                      |   16 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-sys-ldap-input.ts                                                                                      |  181 
 CC/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.IsReadyResponse.datasource                                                  |    2 
 LA24030_LuLiPackageLine_Web/src/api-services/models/data-item.ts                                                                                               |   28 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-role-output.ts                                                                           |   71 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysUserRole.cs                                                                                               |   41 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationOptions.cs                                                                     |   29 
 LA24030_LuLiPackageLine_Web/api_build/readme.md                                                                                                                |   40 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/configs/tabel.config.ts                                                                    |   21 
 LA24030_LuLiPackageLine_Web/src/views/main/WareAgeWarm/wareAgeWarm/component/editDialog.vue                                                                    |  185 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wareInventorySummary/component/openAllprop.vue                                                         |  264 
 LA24030_LuLiPackageLine_Web/src/views/system/file/index.vue                                                                                                    |  290 
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordTrans.ts                                                                                        |   78 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventorySnapshot/component/CountView.vue                                                          |  112 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/CommonConst.cs                                                                                                |  111 
 LA24030_LuLiPackageLine_Web/src/layout/routerView/parent.vue                                                                                                   |  108 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/适配记录导入模板.xlsx                                                                        |    0 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Core/Admin.NET.Web.Core.csproj                                                                                       |   21 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintOutput.cs                                           |   85 
 LA24030_LuLiPackageLine_Web/.env.development                                                                                                                   |    5 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/StatusEnum.cs                                                                                                  |   26 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-enum-api.ts                                                                                              |  218 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/MnemonicCodeUtil.cs                                                                                            |  236 
 LA24030_LuLiPackageLine_Web/src/views/login/index.vue                                                                                                          |  331 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovementDetails/index.vue                                                                          |  298 
 LA24030_LuLiPackageLine_Web/src/api-services/models/enum-entity.ts                                                                                             |   46 
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsTask.ts                                                                                               |   78 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/IOnlineUserHub.cs                                                                                               |   38 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBusinessType/component/editDialog.vue                                                                    |  194 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/LockStatusEnum.cs                                                                          |   22 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/WechatOptions.cs                                                                                             |   43 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Pos/SysPosService.cs                                                                                        |  102 
 LA24030_LuLiPackageLine_Web/src/i18n/pages/formI18n/en.ts                                                                                                      |   13 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterialType/index.vue                                                                                   |  214 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/Dto/JobTriggerRecordInput.cs                                                                            |   20 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsMaterialCustomer.ts                                                                                        |   50 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysFile.cs                                                                                                   |   79 
 LA24030_LuLiPackageLine_Web/src/api-services/models/log-input.ts                                                                                               |   38 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-org-input.ts                                                                                        |  182 
 CC/iWareCC_ASRS/Connected Services/StationService/StationService.wsdl                                                                                          |  288 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/RecordSncodePrintHelper.cs                                                                      |   36 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/CardTypeEnum.cs                                                                                                |   50 
 CC/iWareSql/WmsDBModel/SysCodeGenConfig.cs                                                                                                                     |  116 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/applyCardProp.vue                                                          |  178 
 LA24030_LuLiPackageLine_Web/src/views/main/Check/checkDifferenceCfm/index.vue                                                                                  |  534 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-dict-type.ts                                                                              |   69 
 LA24030_LuLiPackageLine_Web/src/views/system/pos/index.vue                                                                                                     |  119 
 LA24030_LuLiPackageLine_Web/src/views/system/pos/component/editPos.vue                                                                                         |  102 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Core/Startup.cs                                                                                                      |  269 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Enum.json                                                                                      |    8 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysNotice.cs                                                                                                 |   82 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-login-user-output.ts                                                                          |   69 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/MaritalStatusEnum.cs                                                                                           |   50 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-string.ts                                                                                |   70 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/SysDatabaseService.cs                                                                              |  581 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-jobject.ts                                                                                    |   71 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysHelpDoc/component/editDialog.vue                                                                    |  148 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/GetDingTalkCurrentEmployeesListInput.cs                                              |   30 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-dict-type.ts                                                                      |   79 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/ProvinceNameEnum.cs                                                                             |   45 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysOrgSeedData.cs                                                                                          |   40 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-user-input.ts                                                                                       |   38 
 LA24030_LuLiPackageLine_Web/src/hooks/expandMore.ts                                                                                                            |   16 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsSystem/wmsSysHelpDoc.ts                                                                                            |   78 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/SnowIdOptions.cs                                                                                             |   18 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-dict-data.ts                                                         |   69 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/MaterialClassifyFlagEnum.cs                                                                     |   22 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleMenuInput.cs                                                                                   |   18 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/View/TestDemo/v_students.cs                                                                                  |  120 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-code-gen-input.ts                                                                                      |  190 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-code-gen.ts                                                                       |   79 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsPlace/component/editDialog.vue                                                                           |  354 
 CC/iWareSql/WmsDBModel/zero_entity_column_info.cs                                                                                                              |   83 
 CC/iWareSql/WmsDBModel/wms_config_serial_sn.cs                                                                                                                 |   36 
 LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterCategories/component/editDialog.vue                                                   |  149 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsLogAction/Dto/WmsLogActionInput.cs                                                   |  124 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue                                                                                      |  426 
 LA24030_LuLiPackageLine_Web/src/utils/switchCase.ts                                                                                                            |   70 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/JsonIgnoredPropertyData.cs                                                                     |   28 
 CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SawingConfirmResponse.datasource                                                 |    2 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-wx-phone-output.ts                                                                            |   69 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/WechatApiHttpClient.cs                                                                               |   84 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-ldap.ts                                                                           |   79 
 CC/iWareSql/WmsDBModel/SysNotice.cs                                                                                                                            |   56 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/dockEnum.cs                                                                                     |   16 
 LA24030_LuLiPackageLine_Web/src/api-services/models/page-job-detail-input.ts                                                                                   |   78 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-config.ts                                                            |   69 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Core/Handlers/JwtHandler.cs                                                                                          |  106 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-log-diff.ts                                                                       |   79 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Dockerfile                                                                                                     |   16 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/LoggingSetup.cs                                                                                             |   98 
 CC/DLL/Yitter.IdGenerator.Net45.dll                                                                                                                            |    0 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysNoticeUser.cs                                                                                             |   45 
 LA24030_LuLiPackageLine_Web/src/i18n/index.ts                                                                                                                  |   68 
 CC/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadService/RgvThreadService/RgvTaskThreadService.cs                                                               |   22 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-ldap.ts                                                              |   69 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsSncodeCreateRule.ts                                                                                |   96 
 LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterCategories/component/openAllprop.vue                                                  | 1448 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/ISqlSugarRepository.cs                                                                                     |   91 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/APIJSON.json                                                                                   |   34 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/SysLdapService.cs                                                                                      |  402 
 CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendOutStoreBatchMatsResponse.datasource                                  |    2 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/CacheTypeEnum.cs                                                                                               |   26 
 LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testStudent/component/openAllprop.vue                                                                      | 1588 
 LA24030_LuLiPackageLine_Web/CHANGELOG.md                                                                                                                       |  490 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/PDAUpdate/1.0.1.wgt                                                                                    |    0 
 iWare_RawMaterialWarehouse_Web/src/views/main/wmsPlace/wmsBasePlace/component/editDialog.vue                                                                   |  271 
 CC/iWareSql/WmsDBModel/SysMenu.cs                                                                                                                              |   77 
 LA24030_LuLiPackageLine_Web/LICENSE                                                                                                                            |   21 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-job-trigger-record.ts                                                |   69 
 CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SrmEntity.datasource                                                                          |    2 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-log-vis-api.ts                                                                                           |  215 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-region-input.ts                                                                                     |   30 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/ClaimConst.cs                                                                                                 |   68 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/RecordAdapter/RecordAdapterService.cs                                         |  588 
 CC/iWareCC_ASRS/WmsTask/LineInSacnResult.cs                                                                                                                    |    8 
 LA24030_LuLiPackageLine_Web/src/api-services/models/role-org-input.ts                                                                                          |   46 
 CC/iWareSql/WmsDBModel/SysRole.cs                                                                                                                              |   49 
 LA24030_LuLiPackageLine_Web/src/views/system/server/index.vue                                                                                                  |  224 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/库存快照明细表导入模板.xlsx                                                                     |    0 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-pos-input.ts                                                                                        |  133 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/Dto/FindEmptyPlaceInput.cs                                             |   24 
 LA24030_LuLiPackageLine_Web/src/api-services/models/open-access-input.ts                                                                                       |   70 
 LA24030_LuLiPackageLine_Web/src/api-services/models/http-method-enum.ts                                                                                        |   31 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-region.ts                                                                                              |  143 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-job-trigger.ts                                                                       |   71 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-object.ts                                                                                     |   70 
 LA24030_LuLiPackageLine_Web/src/views/system/onlineUser/index.vue                                                                                              |  173 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sm-key-pair-output.ts                                                                         |   69 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-user-input.ts                                                                                          |  441 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SerialSN/SerialUtil.cs                                                                          |  154 
 LA24030_LuLiPackageLine_Web/src/api-services/models/login-phone-input.ts                                                                                       |   40 
 LA24030_LuLiPackageLine_Web/src/layout/routerView/iframes.vue                                                                                                  |  102 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-notice.ts                                                                                              |  164 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/RegisterEdge.ts                                                                |    9 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/26/551076729417797.xlsx                                                                 |    0 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WechatUserInput.cs                                                                               |   24 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/CryptogramEnum.cs                                                                                              |   32 
 LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/configuration.ts                                                                                    |   83 
 CC/iWareCC_ASRS/WmsTask/AutoUpdateEngineInfoTask.cs                                                                                                            |   38 
 LA24030_LuLiPackageLine_Web/src/api-services/models/page-job-trigger-record-input.ts                                                                           |   78 
 LA24030_LuLiPackageLine_Web/src/utils/download.ts                                                                                                              |  108 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/SerialSN/SerialSourceTypeEnum.cs                                                                        |   51 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/SeedData.cs.vm                                                                                |   39 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/ip2region.db                                                                                                   |    0 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewSys/Dto/GoViewLoginOutput.cs                                                         |   60 
 LA24030_LuLiPackageLine_Web/src/views/system/user/component/editUser.vue                                                                                       |  349 
 LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/approval-flow.ts                                                                             |  150 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/DbConnectionOptions.cs                                                                                       |  106 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/Dto/JobDetailInput.cs                                                                                   |   45 
 LA24030_LuLiPackageLine_Web/src/hooks/exportTableDataExcell.ts                                                                                                 |  219 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationExtensions.cs                                                                  |   36 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/WmsSysPdaMenuService.cs                                                      |  368 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/RabbitMQEventSourceStore.cs                                                                                |  132 
 LA24030_LuLiPackageLine_Web/src/api-services/models/account-type-enum.ts                                                                                       |   26 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sm-key-pair-output.ts                                                                                      |   38 
 LA24030_LuLiPackageLine_Web/src/api-services/models/swagger-submit-url-body.ts                                                                                 |   34 
 LA24030_LuLiPackageLine_Web/.env.production                                                                                                                    |    6 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-print.ts                                                                          |   79 
 LA24030_LuLiPackageLine_Web/src/layout/main/transverse.vue                                                                                                     |   60 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/CryptogramOptions.cs                                                                                         |   43 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsContainerPackaging.ts                                                                                      |   50 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-dict-type-input.ts                                                                                     |  134 
 LA24030_LuLiPackageLine_Web/src/api-services/api.ts                                                                                                            |   54 
 LA24030_LuLiPackageLine_Web/src/api-services/models/table-output.ts                                                                                            |   70 
 LA24030_LuLiPackageLine_Web/src/assets/login-icon-two2.svg                                                                                                     |    1 
 LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterManagement/index.vue                                                                  |  353 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/ErrorCodeEnum.cs                                                                                               |  712 
 LA24030_LuLiPackageLine_Web/src/layout/navBars/index.vue                                                                                                       |   35 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-print-input.ts                                                                                      |   30 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/index.vue                                                                                       |  380 
 CC/iWareSql/WmsDBModel/SysLogOp.cs                                                                                                                             |   93 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsConfigPrint.ts                                                                                     |   78 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommon/WmsCommonService.cs                                                                        |   67 
 LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsRecordSncodePrint/component/editDialog.vue                                                           |  271 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/RateLimitOptions.cs                                                                                          |   37 
 LA24030_LuLiPackageLine_Web/src/utils/cache.ts                                                                                                                 |   28 
 LA24030_LuLiPackageLine_Web/src/api-services/models/page-print-input.ts                                                                                        |   78 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/EventConsumer.cs                                                                                           |  112 
 LA24030_LuLiPackageLine_Web/src/views/system/cache/index.vue                                                                                                   |  155 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Manage.js.vm                                                                                  |  148 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/preconfiguration/component/DetailConfig.vue                                                        |  190 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Job/LogJob.cs                                                                                                       |   46 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/Dto/UserExtOrgInput.cs                                                                                 |   35 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Enum/DingTalkConversationTypeEnum.cs                                                             |   26 
 CC/iWareSql/DataAccess/StationHandler.cs                                                                                                                       |   19 
 LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/closeFull.vue                                                                                            |   53 
 LA24030_LuLiPackageLine_Web/src/utils/other.ts                                                                                                                 |  216 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Job/SyncDingTalkUserJob.cs                                                                       |  161 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysCodeGenConfig.cs                                                                                          |  216 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/MessageTypeEnum.cs                                                                                             |   38 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Views/_ViewStart.cshtml                                                                                        |    3 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/FreezeStatusEnum.cs                                                                        |   22 
 LA24030_LuLiPackageLine_Web/src/api-services/models/generate-signature-input.ts                                                                                |   69 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovementDetails/component/editDialog.vue                                                           |  291 
 CC/iWareCommon/log4net_iWare.config                                                                                                                            |  148 
 LA24030_LuLiPackageLine_Web/src/api-services/models/job-create-type-enum.ts                                                                                    |   25 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-email-api.ts                                                                                             |  147 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-menu-output.ts                                                                           |   71 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-print.ts                                                                                               |  133 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wareInventorySummary/index.vue                                                                         |  359 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Views/Home/Index.cshtml                                                                                        |   12 
 LA24030_LuLiPackageLine_Web/src/components/noticeBar/index.vue                                                                                                 |  191 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystem/WmsSysHelpDoc.cs                                                                            |   43 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-wechat-pay-api.ts                                                                                        |  542 
 LA24030_LuLiPackageLine_Web/src/api-services/models/data-scope-enum.ts                                                                                         |   27 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-db-table-input.ts                                                                                   |   46 
 LA24030_LuLiPackageLine_Web/src/utils/auto-update.ts                                                                                                           |   60 
 LA24030_LuLiPackageLine_Web/src/api-services/models/column-relation.ts                                                                                         |   52 
 LA24030_LuLiPackageLine_Web/src/api/main/Check/checkStatement/index.ts                                                                                         |   51 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-pos.ts                                                                               |   71 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/DateTimeUtil.cs                                                                                                |  175 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/DO单导入模板.xlsx                                                                         |    0 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysTenantSeedData.cs                                                                                       |   27 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ChineseSpellFile/hzpy3.txt                                                                             |    3 
 CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.GetPlaceInfoResponse.datasource                                           |    2 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckResultEnum.cs                                                                             |   35 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/JobStatusEnum.cs                                                                                               |   38 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Entity/ApprovalFlow.cs                                                                       |   53 
 LA24030_LuLiPackageLine_Web/src/views/system/menu/component/editMenu.vue                                                                                       |  257 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/RecordAdapter/Dto/RecordAdapterOutput.cs                                      |  132 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-wechat-user.ts                                                       |   69 
 LA24030_LuLiPackageLine_Web/src/views/system/region/index.vue                                                                                                  |  182 
 LA24030_LuLiPackageLine_Web/src/api-services/models/page-plugin-input.ts                                                                                       |   78 
 LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsContainerSortPrint/index.vue                                                                         |  422 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/CustomViewEngine.cs                                                                                 |  123 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-menu.ts                                                                                                |  229 
 LA24030_LuLiPackageLine_Web/src/views/main/Check/checkAudit/index.vue                                                                                          |  785 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/index.vue                                                                                 |  486 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/TestDemo/TestStudent.cs                                                                               |  116 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseFactory.cs                                                                             |   61 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Configuration/DingTalk.json                                                                      |   17 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/editDialog.vue                                                        |  241 
 CC/iWareModel/EnumType/WMS/TaskStatusEnum.cs                                                                                                                   |   41 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrderDetails/component/editDialog.vue                                                 |  141 
 LA24030_LuLiPackageLine_Web/src/layout/main/classic.vue                                                                                                        |   73 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/容器信息表导入模板.xlsx                                                                       |    0 
 LA24030_LuLiPackageLine_Web/src/api-services/models/user-output.ts                                                                                             |  448 
 LA24030_LuLiPackageLine_Web/src/theme/common/transition.scss                                                                                                   |  262 
 LA24030_LuLiPackageLine_Web/src/layout/footer/index.vue                                                                                                        |   30 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsHomePage/Dto/WmsHomePageOutput.cs                                                                 |   85 
 LA24030_LuLiPackageLine_Web/src/components/bcProp/fenconfigOpenAllprop.vue                                                                                     | 1131 
 CC/iWareSql/WmsDBModel/wms_config_print.cs                                                                                                                     |   51 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-file-api.ts                                                                                              |  918 
 LA24030_LuLiPackageLine_Web/src/views/system/openAccess/component/generateSign.vue                                                                             |  153 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/LogExceptionHandler.cs                                                                                      |   53 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeTask.ts                                                              |   25 
 iWare_RawMaterialWarehouse_Web/src/api/main/wmsPlace/wmsBasePlace.ts                                                                                           |   78 
 LA24030_LuLiPackageLine_Web/vite.config.ts                                                                                                                     |  108 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsBatchRuleDetail.ts                                                                                         |   86 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsArea/component/editDialog.vue                                                                            |  239 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovement/component/openAllprop.vue                                                                 | 1503 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/Admin.NET.Plugin.Elsa.csproj                                                                         |   30 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/transitionChart/component/editDialog.vue                                                           |  304 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Const/DingTalkConst.cs                                                                           |   34 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/preconfiguration/index.vue                                                                         |  193 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/EntityBase.cs                                                                                                |  174 
 LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/admin-result-list-approval-flow-output.ts                                                    |   71 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-online-user.ts                                                       |   69 
 LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/apis/approval-flow-api.ts                                                                           |  711 
 LA24030_LuLiPackageLine_Web/src/assets/login-icon-two.svg                                                                                                      |    1 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-job-trigger.ts                                                                                         |  197 
 CC/iWareCC_ASRS/Program.cs                                                                                                                                     |    2 
 CC/iWareSql/WmsDBModel/wms_log_action.cs                                                                                                                       |   53 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsSystem/wmsSysPdaMenu.ts                                                                                            |   78 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/SysUserExtOrgService.cs                                                                                |   88 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleMenuOutput .cs                                                                                 |   23 
 CC/iWareCC_ASRS/ThreadService/02_BZ39工位(补板后工位)/Inbound/2、DataProcess_RobotBuffer_FinishTask.cs                                                                 |  112 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/22/549740902039621.png                                                                  |    0 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockSnapshot/component/editDialog.vue                                                              |  154 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/data.data.ts.vm                                                                               |  161 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/ElasticSearchSetup.cs                                                                                       |   53 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Admin.NET.Plugin.GoView.csproj                                                                     |   23 
 CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd                                                                                                    |   57 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/ParamHelper.cs                                                                                  |   29 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-log-vis.ts                                                                                             |  213 
 LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.ttf                                                                                     |    0 
 DBScript/01_DDL/03_DDL_VIEW.sql                                                                                                                                |   27 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Job/OnlineUserJob.cs                                                                                                |   45 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/SysJobService.cs                                                                                        |  359 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Job/EnumToDictJob.cs                                                                                                |  151 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Util/GoViewResultProvider.cs                                                                       |  122 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/ASN单导入模板.xlsx                                                                        |    0 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysOnlineUser.cs                                                                                             |   68 
 LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/delete-approval-flow-input.ts                                                                |   30 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Admin.NET.Core.csproj                                                                                               |   52 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Entity/GoViewPro.cs                                                                                |   49 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarRepository.cs                                                                                      |  107 
 LA24030_LuLiPackageLine_Web/src/views/system/database/index.vue                                                                                                |  320 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-vis.ts                                                           |   69 
 LA24030_LuLiPackageLine_Web/src/views/main/Check/checkDifferenceCfm/component/openDialogDiffCfm.vue                                                            |  925 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/appsettings.json                                                                                               |    5 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/editDialog.vue                                                             |  192 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/preconfiguration/component/CountView.vue                                                           |  112 
 CC/LA24030_LuLiPackageLine_CC.sln                                                                                                                              |   46 
 CC/iWareSql/WmsDBModel/SysRoleMenu.cs                                                                                                                          |   19 
 CC/iWareSql/WmsDBModel/wms_base_material_type.cs                                                                                                               |   43 
 LA24030_LuLiPackageLine_Web/src/theme/media/dialog.scss                                                                                                        |   12 
 LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/v_students/index.vue                                                                                       |  339 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Entity/DingTalkUser.cs                                                                           |   76 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/apijsonapi.ts                                                                                                |  480 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Print/SysPrintService.cs                                                                                    |   90 
 LA24030_LuLiPackageLine_Web/src/api-services/models/message-template-send-input.ts                                                                             |   63 
 LA24030_LuLiPackageLine_Web/src/api-services/index.ts                                                                                                          |   18 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-ldap.ts                                                                                   |   69 
 LA24030_LuLiPackageLine_Web/src/theme/index.scss                                                                                                               |   10 
 LA24030_LuLiPackageLine_Web/src/api-services/models/gender-enum.ts                                                                                             |   25 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsFactory.ts                                                                                                 |   50 
 LA24030_LuLiPackageLine_Web/src/hooks/pageLinkage.ts                                                                                                           |  114 
 CC/iWareUnitTest/App.config                                                                                                                                    |   16 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-op.ts                                                            |   69 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-menu-input.ts                                                                                       |  239 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/AreaTypeEnum.cs                                                                                 |   24 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-auth-api.ts                                                                                              |  950 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/CodeGenOutput.cs                                                                                |  197 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-dict-data.ts                                                                      |   79 
 LA24030_LuLiPackageLine_Web/src/theme/tableTool.scss                                                                                                           |   27 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-server-api.ts                                                                                            |  355 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/盘点计划导入模板.xlsx                                                                        |    0 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Job/DynamicJobCompiler.cs                                                                                           |   25 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsNoCreateRule/index.vue                                                                           |  336 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/web.config                                                                                                     |   22 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/ApprovalFlowService.cs                                                  |  148 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/AdminResultProvider.cs                                                                                         |  148 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Configuration/GoView.json                                                                          |   11 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/CommonTemplate.xlsx                                                                  |    0 
 LA24030_LuLiPackageLine_Web/src/utils/axios-utils.ts                                                                                                           |  224 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-ldap.ts                                                                              |   71 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeStart.ts                                                             |   64 
 CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.IsReadyResponse.datasource                                                                    |    2 
 CC/iWareCC_ASRS/Connected Services/StationService/iWareCC.StationService.SdaResEntity.datasource                                                               |   10 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MaskNewtonsoftJsonConverter.cs                                                                            |   60 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainerType/index.vue                                                                                  |  227 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysDictData.cs                                                                                               |   97 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/GetDingTalkCurrentEmployeesListOutput.cs                                             |   24 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsTask/WmsTaskService.cs                                                               |  231 
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/storageView.ts                                                                                           |   13 
 LA24030_LuLiPackageLine_Web/src/views/system/config/index.vue                                                                                                  |  199 
 LA24030_LuLiPackageLine_Web/src/views/system/notice/index.vue                                                                                                  |  174 
 LA24030_LuLiPackageLine_Web/src/i18n/pages/formI18n/zh-tw.ts                                                                                                   |   13 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Job/TestJob.cs                                                                                               |   48 
 LA24030_LuLiPackageLine_Web/src/api-services/models/signature-input.ts                                                                                         |   30 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/LoginTypeEnum.cs                                                                                               |   32 
 LA24030_LuLiPackageLine_Web/src/views/system/codeGen/component/fkDialog.vue                                                                                    |  140 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysHelpDoc/index.vue                                                                                   |  224 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Service/SuperApiAop.cs                                                                             |  111 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystem/WmsSysPdaRoleMenu.cs                                                                        |   44 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-notice-user.ts                                                                    |   79 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-region-input.ts                                                                                        |  143 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-code-gen-config.ts                                                                                     |  294 
 CC/iWareSql/WmsDBModel/test_place.cs                                                                                                                           |  103 
 LA24030_LuLiPackageLine_Web/src/components/table/formatter.vue                                                                                                 |   23 
 CC/iWareCC_ASRS/Connected Services/StationService/iWareCC.StationService.StationView.datasource                                                                |   10 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQc/component/openAllpropWczj.vue                                                                      | 1202 
 LA24030_LuLiPackageLine_Web/src/utils/base64Conver.ts                                                                                                          |   84 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockQuanOut/index.vue                                                                              |  421 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/TestDemo/TestPlace.cs                                                                                 |  264 
 CC/iWareSql/WmsDBModel/zero_interface_category.cs                                                                                                              |   60 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeUser.ts                                                              |  110 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/CodeGenConfig.cs                                                                                |  221 
 LA24030_LuLiPackageLine_Web/src/assets/logo-mini2.png                                                                                                          |    0 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelControl.vue                                                                  |   80 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-table-output.ts                                                                          |   71 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Tenant/Dto/TenantInput.cs                                                                                   |   67 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-job-detail-output.ts                                                                  |   79 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/File/SysFileService.cs                                                                                      |  423 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-enum-entity.ts                                                                           |   71 
 CC/iWareTestForm/App.config                                                                                                                                    |   84 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/GlobalUsings.cs                                                                                  |   22 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Enum/FlowTypeEnum.cs                                                                         |   14 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterManagement/Dto/AdapterManagementInput.cs                               |  253 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsInventory/wmsInventoryCheckRange.ts                                                                                |   78 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPredDispHistory/index.vue                                                                     |  389 
 CC/iWareSql/WmsDBModel/SysUserLdap.cs                                                                                                                          |   45 
 LA24030_LuLiPackageLine_Web/src/theme/font-awesome/font-awesome.ts                                                                                             |  788 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsTask/index.vue                                                                                      |  359 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBusinessType/index.vue                                                                                   |  289 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsSubstituteGood.ts                                                                                          |   50 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliverDetails/component/editDialog.vue                                                          |  241 
 LA24030_LuLiPackageLine_Web/src/router/backEnd.ts                                                                                                              |  165 
 LA24030_LuLiPackageLine_Web/src/views/system/notice/component/editNotice.vue                                                                                   |   93 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainer/component/editDialog.vue                                                                       |  213 
 LA24030_LuLiPackageLine_Web/src/router/index.ts                                                                                                                |  139 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Common/Dto/ApiOutput.cs                                                                                     |   28 
 SDA/iWareCommon/Utils/ConfigHelper.cs                                                                                                                          |  165 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/LockTypeEnum.cs                                                                            |   28 
 LA24030_LuLiPackageLine_Web/src/views/system/tenant/component/editTenant.vue                                                                                   |  160 
 CC/iWareSql/WmsDBModel/ApprovalFlow.cs                                                                                                                         |   52 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-org-input.ts                                                                                        |   30 
 LA24030_LuLiPackageLine_Web/src/api-services/models/role-output.ts                                                                                             |   46 
 LA24030_LuLiPackageLine_Web/src/assets/logo - 副本.png                                                                                                           |    0 
 LA24030_LuLiPackageLine_Web/src/i18n/lang/en.ts                                                                                                                |  192 
 LA24030_LuLiPackageLine_Web/src/api/menu/index.ts                                                                                                              |   30 
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockBoardabc.ts                                                                                      |   85 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/22/549744516165701.png                                                                  |    0 
 LA24030_LuLiPackageLine_Web/src/api-services/models/add-subscribe-message-template-input.ts                                                                    |   46 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-code-gen.ts                                                          |   69 
 LA24030_LuLiPackageLine_Web/src/views/system/print/component/hiprint/preview.vue                                                                               |   83 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-dict-data-api.ts                                                                                         |  839 
 LA24030_LuLiPackageLine_Web/src/i18n/pages/login/zh-tw.ts                                                                                                      |   28 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/UserManager.cs                                                                                         |   60 
 LA24030_LuLiPackageLine_Web/src/views/system/config/component/editConfig.vue                                                                                   |  134 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQc/component/openAllpropQc.vue                                                                        | 1256 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationEvent.cs                                                                       |   53 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/index.vue                                                                            |  281 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/iWare_RawMaterialWarehouse_Web/src/views/main/testStudent/index.vue                |  426 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/盘点单明细导入模板.xlsx                                                                       |    0 
 LA24030_LuLiPackageLine_Web/src/api/main/Check/checkMark/index.ts                                                                                              |   23 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/TableMapper.cs                                                                                      |   33 
 CC/iWareCommon/iWareCommon.csproj                                                                                                                              |    3 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryWarning/component/CountView.vue                                                           |   86 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/SysWechatService.cs                                                                                  |  207 
 CC/iWareCC_ASRS/ThreadService/02_BZ39工位(补板后工位)/Outbound/3、DataProcess_RobotBuffer_FinishTaskForOutbound.cs                                                     |   85 
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockSnapshot/index.vue                                                                             |  292 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/PO单导入模板.xlsx                                                                         |    0 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsArea.ts                                                                                                    |   50 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/editDialog.vue.vm                                                                             |  373 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/TrueFalseEnum.cs                                                                                               |   27 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-notice-user.ts                                                                                         |   68 
 LA24030_LuLiPackageLine_Web/src/views/system/database/component/addTable.vue                                                                                   |  311 
 LA24030_LuLiPackageLine_Web/src/views/system/codeGen/index.vue                                                                                                 |  205 
 LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-id-input.ts                                                                                         |   30 
 CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs                                                                                                 | 1586 
 CC/iWareSql/WmsDBModel/SysPos.cs                                                                                                                               |   46 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/CodeGenOptions.cs                                                                                            |   38 
 LA24030_LuLiPackageLine_Web/src/components/table/search.vue                                                                                                    |  182 
 CC/iWareSql/WmsDBModel/SysFile.cs                                                                                                                              |   58 
 LA24030_LuLiPackageLine_Web/src/utils/arrayOperation.ts                                                                                                        |   65 
 LA24030_LuLiPackageLine_Web/src/api-services/models/yes-no-enum.ts                                                                                             |   24 
 CC/iWareCC_ASRS/Common/SystemValue.cs                                                                                                                          |   10 
 LA24030_LuLiPackageLine_Web/src/App.vue                                                                                                                        |  127 
 CC/iWareUnitTest/iWareUnitTest.csproj                                                                                                                          |    3 
 LA24030_LuLiPackageLine_Web/src/layout/navMenu/horizontal.vue                                                                                                  |  139 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-region-input.ts                                                                                     |  143 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsLogAction/Dto/WmsLogActionOutput.cs                                                  |   65 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterManagement/AdapterManagementService.cs                                 |  433 
 LA24030_LuLiPackageLine_Web/src/utils/getStyleSheets.ts                                                                                                        |  110 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysRoleMenuSeedData.cs                                                                                     |  183 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchaseDetails/index.vue                                                                          |  282 
 LA24030_LuLiPackageLine_Web/src/utils/exportPageExcel.ts                                                                                                       |   61 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBasePlace/component/editDialog.vue                                                                       |  271 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/盘点计划明细导入模板.xlsx                                                                      |    0 
 CC/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs                                                                                                                |    4 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/openAccount.vue                                                                                 | 1133 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/OperationsContainerEnum.cs                                                                      |   80 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsConfig/StrategyOptionEnum.cs                                                                         |   35 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/DbTableInput.cs                                                                                |   36 
 LA24030_LuLiPackageLine_Web/src/views/system/dict/component/editDictType.vue                                                                                   |  103 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails/component/editDialog.vue                                            |  422 
 LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.woff                                                                                    |    0 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/receiptCompletion/component/CountView.vue                                                          |  124 
 LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/transitionChart/index.vue                                                                          |  318 
 LA24030_LuLiPackageLine_Web/src/utils/storage.ts                                                                                                               |   64 
 LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/detailDialog.vue                                                                                  |  125 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/dataModal.vue.vm                                                                              |   71 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSortDetails/index.vue                                                                            |  415 
 LA24030_LuLiPackageLine_Web/src/layout/routerView/link.vue                                                                                                     |   93 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/View/WmsStockQuan/v_empty_place.cs                                                                           |   15 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/PlatformTypeEnum.cs                                                                                            |   44 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsFactory/index.vue                                                                                        |  205 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsStockQuan/wmsContainerPlace/index.vue                                                                            |  232 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/AppEventSubscriber.cs                                                                                      |   56 
 LA24030_LuLiPackageLine_Web/src/theme/media/chart.scss                                                                                                         |   94 
 LA24030_LuLiPackageLine_Web/src/views/system/openAccess/component/editOpenAccess.vue                                                                           |  129 
 CC/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadServiceFactory.cs                                                                                              |    2 
 LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-dict-type.ts                                                                         |   71 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/index.vue.vm                                                                                  |  494 
 LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/recordAdapter/index.vue                                                                      |  438 
 LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testStudent/component/editDialog.vue                                                                       |  264 
 LA24030_LuLiPackageLine_Web/src/api-services/models/update-job-detail-input.ts                                                                                 |  117 
 LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsNoCreateRule.ts                                                                                    |   78 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/File/Dto/FileInput.cs                                                                                       |   65 
 CC/ServiceClient/ServiceClient.csproj                                                                                                                          |    2 
 LA24030_LuLiPackageLine_Web/src/components/bcProp/cancelconfigOpenAllprop.vue                                                                                  | 1163 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-dict-type.ts                                                                                           |  134 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBatchRuleDetail/index.vue                                                                                |  442 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-notice-api.ts                                                                                            |  767 
 LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/SeedData/SysMenuSeedData.cs                                                                        |   32 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/SysRoleMenuService.cs                                                                                  |   75 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-ldap.ts                                                                                                |  181 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysHelpDoc/Dto/WmsSysHelpDocInput.cs                                                    |  139 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-region-api.ts                                                                                            |  555 
 /dev/null                                                                                                                                                      |  150 
 LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-menu-api.ts                                                                                              |  551 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsSncodeCreateRule/WmsSncodeCreateRuleService.cs                                    |  394 
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/editDialog.vue                                                                    |  242 
 LA24030_LuLiPackageLine_Web/src/i18n/lang/zh-cn.ts                                                                                                             |  192 
 LA24030_LuLiPackageLine_Web/src/main.ts                                                                                                                        |   28 
 LA24030_LuLiPackageLine_Web/src/api-services/models/delete-config-input.ts                                                                                     |   30 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/SysTableAttribute.cs                                                                                      |   16 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs                                                                                | 1346 
 LA24030_LuLiPackageLine_Web/src/api-services/models/sys-pos.ts                                                                                                 |  133 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/适配器大类管理导入模板.xlsx                                                                     |    0 
 1,735 files changed, 287,829 insertions(+), 772 deletions(-)

diff --git a/CC/DLL/Yitter.IdGenerator.Net45.dll b/CC/DLL/Yitter.IdGenerator.Net45.dll
new file mode 100644
index 0000000..6c614bd
--- /dev/null
+++ b/CC/DLL/Yitter.IdGenerator.Net45.dll
Binary files differ
diff --git a/CC/LA24030_LuLiPackageLine_CC.sln b/CC/LA24030_LuLiPackageLine_CC.sln
index c3eb647..19af60a 100644
--- a/CC/LA24030_LuLiPackageLine_CC.sln
+++ b/CC/LA24030_LuLiPackageLine_CC.sln
@@ -15,16 +15,6 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "娴嬭瘯妯℃嫙鍣�", "iWareTestForm\娴嬭瘯妯℃嫙鍣�.csproj", "{2131B852-113F-4142-9D77-4F9EC3ACEB19}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WindowsService", "WindowsService", "{EFCB42A5-5134-48AF-B268-E4D3326B4009}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServiceClient", "ServiceClient\ServiceClient.csproj", "{B9DBDCA4-ECAA-419C-8FBB-7EA267B1F48E}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Services", "Services", "{8580575F-4F9A-4A4E-A3FD-28CB69E789E6}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iWarePastDueService", "Services\PastDueService\iWarePastDueService.csproj", "{75ED6ACB-1EEB-499A-B375-EC8A404CF415}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iWareDeleteTaskService", "Services\DeleteTaskService\iWareDeleteTaskService.csproj", "{9CB520A4-F970-435C-B232-DB6363559D4C}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iWareModel", "iWareModel\iWareModel.csproj", "{556A91F0-34D1-4D23-A1C7-F27E19D916D3}"
 EndProject
 Global
@@ -87,36 +77,6 @@
 		{2131B852-113F-4142-9D77-4F9EC3ACEB19}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
 		{2131B852-113F-4142-9D77-4F9EC3ACEB19}.Release|Mixed Platforms.Build.0 = Release|Any CPU
 		{2131B852-113F-4142-9D77-4F9EC3ACEB19}.Release|x86.ActiveCfg = Release|Any CPU
-		{B9DBDCA4-ECAA-419C-8FBB-7EA267B1F48E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B9DBDCA4-ECAA-419C-8FBB-7EA267B1F48E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{B9DBDCA4-ECAA-419C-8FBB-7EA267B1F48E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
-		{B9DBDCA4-ECAA-419C-8FBB-7EA267B1F48E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
-		{B9DBDCA4-ECAA-419C-8FBB-7EA267B1F48E}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{B9DBDCA4-ECAA-419C-8FBB-7EA267B1F48E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{B9DBDCA4-ECAA-419C-8FBB-7EA267B1F48E}.Release|Any CPU.Build.0 = Release|Any CPU
-		{B9DBDCA4-ECAA-419C-8FBB-7EA267B1F48E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
-		{B9DBDCA4-ECAA-419C-8FBB-7EA267B1F48E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
-		{B9DBDCA4-ECAA-419C-8FBB-7EA267B1F48E}.Release|x86.ActiveCfg = Release|Any CPU
-		{75ED6ACB-1EEB-499A-B375-EC8A404CF415}.Debug|Any CPU.ActiveCfg = Debug|x86
-		{75ED6ACB-1EEB-499A-B375-EC8A404CF415}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
-		{75ED6ACB-1EEB-499A-B375-EC8A404CF415}.Debug|Mixed Platforms.Build.0 = Debug|x86
-		{75ED6ACB-1EEB-499A-B375-EC8A404CF415}.Debug|x86.ActiveCfg = Debug|x86
-		{75ED6ACB-1EEB-499A-B375-EC8A404CF415}.Debug|x86.Build.0 = Debug|x86
-		{75ED6ACB-1EEB-499A-B375-EC8A404CF415}.Release|Any CPU.ActiveCfg = Release|x86
-		{75ED6ACB-1EEB-499A-B375-EC8A404CF415}.Release|Mixed Platforms.ActiveCfg = Release|x86
-		{75ED6ACB-1EEB-499A-B375-EC8A404CF415}.Release|Mixed Platforms.Build.0 = Release|x86
-		{75ED6ACB-1EEB-499A-B375-EC8A404CF415}.Release|x86.ActiveCfg = Release|x86
-		{75ED6ACB-1EEB-499A-B375-EC8A404CF415}.Release|x86.Build.0 = Release|x86
-		{9CB520A4-F970-435C-B232-DB6363559D4C}.Debug|Any CPU.ActiveCfg = Debug|x86
-		{9CB520A4-F970-435C-B232-DB6363559D4C}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
-		{9CB520A4-F970-435C-B232-DB6363559D4C}.Debug|Mixed Platforms.Build.0 = Debug|x86
-		{9CB520A4-F970-435C-B232-DB6363559D4C}.Debug|x86.ActiveCfg = Debug|x86
-		{9CB520A4-F970-435C-B232-DB6363559D4C}.Debug|x86.Build.0 = Debug|x86
-		{9CB520A4-F970-435C-B232-DB6363559D4C}.Release|Any CPU.ActiveCfg = Release|x86
-		{9CB520A4-F970-435C-B232-DB6363559D4C}.Release|Mixed Platforms.ActiveCfg = Release|x86
-		{9CB520A4-F970-435C-B232-DB6363559D4C}.Release|Mixed Platforms.Build.0 = Release|x86
-		{9CB520A4-F970-435C-B232-DB6363559D4C}.Release|x86.ActiveCfg = Release|x86
-		{9CB520A4-F970-435C-B232-DB6363559D4C}.Release|x86.Build.0 = Release|x86
 		{556A91F0-34D1-4D23-A1C7-F27E19D916D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{556A91F0-34D1-4D23-A1C7-F27E19D916D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{556A91F0-34D1-4D23-A1C7-F27E19D916D3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
@@ -134,13 +94,9 @@
 	GlobalSection(NestedProjects) = preSolution
 		{3302F4AE-FF0A-49CA-BF38-D6F7E16E2153} = {50A3ECEF-B287-46BD-8271-AF2387438D62}
 		{2131B852-113F-4142-9D77-4F9EC3ACEB19} = {50A3ECEF-B287-46BD-8271-AF2387438D62}
-		{B9DBDCA4-ECAA-419C-8FBB-7EA267B1F48E} = {EFCB42A5-5134-48AF-B268-E4D3326B4009}
-		{8580575F-4F9A-4A4E-A3FD-28CB69E789E6} = {EFCB42A5-5134-48AF-B268-E4D3326B4009}
-		{75ED6ACB-1EEB-499A-B375-EC8A404CF415} = {8580575F-4F9A-4A4E-A3FD-28CB69E789E6}
-		{9CB520A4-F970-435C-B232-DB6363559D4C} = {8580575F-4F9A-4A4E-A3FD-28CB69E789E6}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
-		VisualSVNWorkingCopyRoot = .
 		SolutionGuid = {F9CA2CC3-85DB-4A04-8692-1EC016FC394A}
+		VisualSVNWorkingCopyRoot = .
 	EndGlobalSection
 EndGlobal
diff --git a/CC/ServiceClient/App.config b/CC/ServiceClient/App.config
index 7e7c7d9..8ff7478 100644
--- a/CC/ServiceClient/App.config
+++ b/CC/ServiceClient/App.config
@@ -1,28 +1,28 @@
 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <configSections>
-    <section name="ServiceSection" type="ServiceClient.ServiceSection,ServiceClient" />
+    <section name="ServiceSection" type="ServiceClient.ServiceSection,ServiceClient"/>
   </configSections>
   <ServiceSection>
-    <add name="iWarePastDueService" text="椴佷附鏈ㄤ笟杩囨湡鏂欐湇鍔�" path="\iWarePastDueService\iWarePastDueService.exe" />
-    <add name="iWareDeleteTaskService" text="椴佷附鏈ㄤ笟瀹氭椂鍒犻櫎浠诲姟鏈嶅姟" path="\iWareDeleteTaskService\iWareDeleteTaskService.exe" />
+    <add name="iWarePastDueService" text="椴佷附鏈ㄤ笟杩囨湡鏂欐湇鍔�" path="\iWarePastDueService\iWarePastDueService.exe"/>
+    <add name="iWareDeleteTaskService" text="椴佷附鏈ㄤ笟瀹氭椂鍒犻櫎浠诲姟鏈嶅姟" path="\iWareDeleteTaskService\iWareDeleteTaskService.exe"/>
   </ServiceSection>
   <startup>
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
   </startup>
   <appSettings>
-    <add key="ClientSettingsProvider.ServiceUri" value="" />
+    <add key="ClientSettingsProvider.ServiceUri" value=""/>
   </appSettings>
   <system.web>
     <membership defaultProvider="ClientAuthenticationMembershipProvider">
       <providers>
-        <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
+        <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri=""/>
       </providers>
     </membership>
     <roleManager defaultProvider="ClientRoleProvider" enabled="true">
       <providers>
-        <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
+        <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400"/>
       </providers>
     </roleManager>
   </system.web>
-</configuration>
\ No newline at end of file
+</configuration>
diff --git a/CC/ServiceClient/Properties/Resources.Designer.cs b/CC/ServiceClient/Properties/Resources.Designer.cs
index 6050f8f..bf22ef4 100644
--- a/CC/ServiceClient/Properties/Resources.Designer.cs
+++ b/CC/ServiceClient/Properties/Resources.Designer.cs
@@ -19,7 +19,7 @@
     // 绫婚�氳繃绫讳技浜� ResGen 鎴� Visual Studio 鐨勫伐鍏疯嚜鍔ㄧ敓鎴愮殑銆�
     // 鑻ヨ娣诲姞鎴栫Щ闄ゆ垚鍛橈紝璇风紪杈� .ResX 鏂囦欢锛岀劧鍚庨噸鏂拌繍琛� ResGen
     // (浠� /str 浣滀负鍛戒护閫夐」)锛屾垨閲嶆柊鐢熸垚 VS 椤圭洰銆�
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
     internal class Resources {
@@ -47,8 +47,8 @@
         }
         
         /// <summary>
-        ///   浣跨敤姝ゅ己绫诲瀷璧勬簮绫伙紝涓烘墍鏈夎祫婧愭煡鎵�
-        ///   閲嶅啓褰撳墠绾跨▼鐨� CurrentUICulture 灞炴�с��
+        ///   閲嶅啓褰撳墠绾跨▼鐨� CurrentUICulture 灞炴�э紝瀵�
+        ///   浣跨敤姝ゅ己绫诲瀷璧勬簮绫荤殑鎵�鏈夎祫婧愭煡鎵炬墽琛岄噸鍐欍��
         /// </summary>
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
         internal static global::System.Globalization.CultureInfo Culture {
diff --git a/CC/ServiceClient/Properties/Settings.Designer.cs b/CC/ServiceClient/Properties/Settings.Designer.cs
index 696012f..97efce9 100644
--- a/CC/ServiceClient/Properties/Settings.Designer.cs
+++ b/CC/ServiceClient/Properties/Settings.Designer.cs
@@ -12,7 +12,7 @@
     
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.1.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0")]
     internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
diff --git a/CC/ServiceClient/ServiceClient.csproj b/CC/ServiceClient/ServiceClient.csproj
index 59ff869..4ddc053 100644
--- a/CC/ServiceClient/ServiceClient.csproj
+++ b/CC/ServiceClient/ServiceClient.csproj
@@ -9,7 +9,7 @@
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <RootNamespace>ServiceClient</RootNamespace>
     <AssemblyName>ServiceClient</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <TargetFrameworkProfile />
     <PublishUrl>鍙戝竷\</PublishUrl>
diff --git a/CC/iWareCC_ASRS/App.config b/CC/iWareCC_ASRS/App.config
index eca1a0c..3d9ad1c 100644
--- a/CC/iWareCC_ASRS/App.config
+++ b/CC/iWareCC_ASRS/App.config
@@ -1,17 +1,17 @@
-<?xml version="1.0" encoding="utf-8" ?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <configSections>
     <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
-    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
   </configSections>
   <entityFramework>
     <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
       <parameters>
-        <parameter value="mssqllocaldb" />
+        <parameter value="mssqllocaldb"/>
       </parameters>
     </defaultConnectionFactory>
     <providers>
-      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
     </providers>
   </entityFramework>
   <appSettings>
@@ -40,19 +40,19 @@
     <!--浜戞湇鍔″櫒-->
     <!--<add name="DbModel" connectionString="data source=120.53.244.200;initial catalog=XiGangWarehouse;persist security info=True;user id=xigang;password=123abc.com;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />-->
     <!--shaocx鏈湴2017-->
-    <add name="DbModel" connectionString="data source=localhost;initial catalog=XiGangWarehouse;persist security info=True;user id=sa;password=123abc.com;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
+    <add name="DbModel" connectionString="data source=localhost;initial catalog=XiGangWarehouse;persist security info=True;user id=sa;password=123abc.com;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient"/>
     <!--鐜板満-->
     <!--<add name="DbModel" connectionString="data source=192.168.10.5;initial catalog=XiGangWarehouse;persist security info=True;user id=sa;password=123abc.com;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />-->
   </connectionStrings>
   <startup>
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
   </startup>
   <system.serviceModel>
     <behaviors>
       <serviceBehaviors>
         <behavior name="">
-          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
-          <serviceDebug includeExceptionDetailInFaults="false" />
+          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
+          <serviceDebug includeExceptionDetailInFaults="false"/>
         </behavior>
       </serviceBehaviors>
     </behaviors>
@@ -60,34 +60,30 @@
       <service name="iWareCC.WCF.CCWcfService">
         <endpoint address="" binding="basicHttpBinding" contract="iWareCC.WCF.ICCWcfService">
           <identity>
-            <dns value="localhost" />
+            <dns value="localhost"/>
           </identity>
         </endpoint>
-        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
+        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
         <host>
           <baseAddresses>
-            <add baseAddress="http://localhost:8734/Design_Time_Addresses/iWareCC.WCF/CCWcfService/" />
+            <add baseAddress="http://localhost:8734/Design_Time_Addresses/iWareCC.WCF/CCWcfService/"/>
           </baseAddresses>
         </host>
       </service>
     </services>
     <bindings>
       <basicHttpBinding>
-        <binding name="BasicHttpBinding_ISrmService" />
-        <binding name="BasicHttpBinding_IRgvService" />
-        <binding name="BasicHttpBinding_IRgvService1" />
+        <binding name="BasicHttpBinding_ISrmService"/>
+        <binding name="BasicHttpBinding_IRgvService"/>
+        <binding name="BasicHttpBinding_IRgvService1"/>
+        <binding name="BasicHttpBinding_IStationService"/>
       </basicHttpBinding>
     </bindings>
     <client>
-      <endpoint address="http://192.168.10.5:8733/Design_Time_Addresses/iWareSda/SrmService/"
-        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISrmService"
-        contract="SrmService.ISrmService" name="BasicHttpBinding_ISrmService" />
-      <endpoint address="http://192.168.10.5:8733/Design_Time_Addresses/iWareSda/RgvService/"
-        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IRgvService"
-        contract="RgvService.IRgvService" name="BasicHttpBinding_IRgvService" />
-      <endpoint address="http://localhost:8733/Design_Time_Addresses/iWareSda/RgvService/"
-        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IRgvService1"
-        contract="RgvService.IRgvService" name="BasicHttpBinding_IRgvService1" />
+      <endpoint address="http://192.168.10.5:8733/Design_Time_Addresses/iWareSda/SrmService/" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISrmService" contract="SrmService.ISrmService" name="BasicHttpBinding_ISrmService"/>
+      <endpoint address="http://192.168.10.5:8733/Design_Time_Addresses/iWareSda/RgvService/" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IRgvService" contract="RgvService.IRgvService" name="BasicHttpBinding_IRgvService"/>
+      <endpoint address="http://localhost:8733/Design_Time_Addresses/iWareSda/RgvService/" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IRgvService1" contract="RgvService.IRgvService" name="BasicHttpBinding_IRgvService1"/>
+      <endpoint address="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IStationService" contract="StationService.IStationService" name="BasicHttpBinding_IStationService"/>
     </client>
   </system.serviceModel>
-</configuration>
\ No newline at end of file
+</configuration>
diff --git a/CC/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs b/CC/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs
index 4cc12dd..224b85c 100644
--- a/CC/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs
+++ b/CC/iWareCC_ASRS/Common/Helper/MyExtendHelper.cs
@@ -135,12 +135,12 @@
                 var res = clent.WriteScanValidateACK(isReset, (int)EDevice.RGV, stationCode, value, Convert.ToInt32(plcTaskId));
                 if (res.result)
                 {
-                    Log4NetHelper.WriteInfoLog(iWareCommon.Utils.LogType.LineInScanTheadService, "HandlerLineInSacnResult 涓嬪彂鎵弿楠岃瘉涓嬪彂鎴愬姛锛屽啓鍏ュ�紇alue:" + value + "锛宻tationCode锛�" + stationCode + ",PlcTaskId:" + plcTaskId + ",绯荤粺鎵樼洏鍙�:" + sysSalverCode + ",鎵弿鎵樼洏鍙�:" + scanCode + ",澶勭悊绫诲瀷锛�" + handType);
+                    Log4NetHelper.WriteInfoLog(iWareCommon.Utils.LogType.DataProcess_RobotBuffer_FinishTaskForOutbound, "HandlerLineInSacnResult 涓嬪彂鎵弿楠岃瘉涓嬪彂鎴愬姛锛屽啓鍏ュ�紇alue:" + value + "锛宻tationCode锛�" + stationCode + ",PlcTaskId:" + plcTaskId + ",绯荤粺鎵樼洏鍙�:" + sysSalverCode + ",鎵弿鎵樼洏鍙�:" + scanCode + ",澶勭悊绫诲瀷锛�" + handType);
                     return true;
                 }
                 else
                 {
-                    Log4NetHelper.WriteErrorLog(iWareCommon.Utils.LogType.LineInScanTheadService, "HandlerLineInSacnResult 涓嬪彂鎵弿楠岃瘉涓嬪彂澶辫触锛屽啓鍏ュ�紇alue:" + value + "锛宻tationCode锛�" + stationCode + ",PlcTaskId:" + plcTaskId + ",绯荤粺鎵樼洏鍙�:" + sysSalverCode + ",鎵弿鎵樼洏鍙�:" + scanCode + ",澶勭悊绫诲瀷锛�" + handType);
+                    Log4NetHelper.WriteErrorLog(iWareCommon.Utils.LogType.DataProcess_RobotBuffer_FinishTaskForOutbound, "HandlerLineInSacnResult 涓嬪彂鎵弿楠岃瘉涓嬪彂澶辫触锛屽啓鍏ュ�紇alue:" + value + "锛宻tationCode锛�" + stationCode + ",PlcTaskId:" + plcTaskId + ",绯荤粺鎵樼洏鍙�:" + sysSalverCode + ",鎵弿鎵樼洏鍙�:" + scanCode + ",澶勭悊绫诲瀷锛�" + handType);
                     return false;
                 }
             }
diff --git a/CC/iWareCC_ASRS/Common/SystemValue.cs b/CC/iWareCC_ASRS/Common/SystemValue.cs
index 5ecaf92..1b495dd 100644
--- a/CC/iWareCC_ASRS/Common/SystemValue.cs
+++ b/CC/iWareCC_ASRS/Common/SystemValue.cs
@@ -122,7 +122,7 @@
         /// <summary>
         /// 鏄惁鍏佽鎵ц 澶勭悊铏氭嫙鍑哄簱鐨勫嚭搴撹鍒掍换鍔�
         /// </summary>
-        public static bool isAllowRuning_VirtualTaskNoOutPlanTaskHandler = false;
+        public static bool isAllowRuning_DataProcess_RobotBuffer_FinishTask = false;
 
         /// <summary>
         /// 鏄惁鍏佽鎵ц 浠诲姟鍒嗚В绾跨▼
@@ -137,7 +137,7 @@
         /// <summary>
         /// 鏄惁鍏佽鎵ц 鍫嗗灈鏈哄叆鍙f壂鐮佹娴嬬嚎绋�
         /// </summary>
-        public static bool isAllowRuning_LineInScan = false;
+        public static bool isAllowRuning_DataProcess_RobotBuffer_FinishTaskForOutbound = false;
 
 
 
@@ -159,17 +159,17 @@
         /// <summary>
         /// 鏄惁鍏佽鎵ц 鑷姩缁勭洏浠诲姟
         /// </summary>
-        public static bool isAllowRuning_AutoSalverMaterialBindTask = false;
+        public static bool isAllowRuning_DataProcess_BZ39 = false;
 
         /// <summary>
         /// 鏄惁鍏佽鎵ц 鑷姩缁勭洏浠诲姟涓嬪彂
         /// </summary>
-        public static bool isAllowRuning_AutoIssueInStoreTask = false;
+        public static bool isAllowRuning_DataProcess_BZ01 = false;
 
         /// <summary>
         /// 鏄惁鍏佽鎵ц 閲嶆柊鑾峰彇鍙戝姩鏈轰俊鎭�
         /// </summary>
-        public static bool isAllowRuning_AutoUpdateEngineInfoTask = false;
+        public static bool isAllowRuning_DataProcess_269 = false;
 
         /// <summary>
         /// 鏄惁鍏佽鎵ц 1014搴撲綅鍒�1020绾跨▼
diff --git a/CC/iWareCC_ASRS/Common/SystemWarningMsg.cs b/CC/iWareCC_ASRS/Common/SystemWarningMsg.cs
index d1fb8f6..fa60209 100644
--- a/CC/iWareCC_ASRS/Common/SystemWarningMsg.cs
+++ b/CC/iWareCC_ASRS/Common/SystemWarningMsg.cs
@@ -78,7 +78,7 @@
         /// <summary>
         /// 澶勭悊铏氭嫙鍑哄簱鐨勫嚭搴撹鍒掍换鍔$殑璀﹀憡娑堟伅
         /// </summary>
-        public static string _lbl_Alert_VirtualTaskNoOutPlanTaskHandler = string.Empty;
+        public static string _lbl_Alert_DataProcess_RobotBuffer_FinishTask = string.Empty;
 
         /// <summary>
         /// 浠诲姟鍒嗚В绾跨▼鐨勬秷鎭�
@@ -90,7 +90,7 @@
         /// </summary>
         public static string _lbl_Alert_MainTaskDecompose_ZPRK = string.Empty;
 
-        public static string _lbl_Alert_LineInScan = string.Empty;
+        public static string _lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = string.Empty;
 
 
         /// <summary>
@@ -117,18 +117,18 @@
         /// <summary>
         /// 鑷姩缁勭洏浠诲姟 鐨勮鍛婃秷鎭�
         /// </summary>
-        public static string _lbl_alert_AutoSalverMaterialBindTask = string.Empty;
+        public static string _lbl_alert_DataProcess_BZ39 = string.Empty;
 
 
         /// <summary>
         /// 鑷姩缁勭洏浠诲姟涓嬪彂 鐨勮鍛婃秷鎭�
         /// </summary>
-        public static string _lbl_alert_AutoIssueInStoreTask = string.Empty;
+        public static string _lbl_alert_DataProcess_BZ01 = string.Empty;
 
         /// <summary>
         /// 閲嶆柊鑾峰彇鍙戝姩鏈轰俊鎭� 鐨勮鍛婃秷鎭�
         /// </summary>
-        public static string _lbl_alert_AutoUpdateEngineInfoTask = string.Empty;
+        public static string _lbl_alert_DataProcess_269 = string.Empty;
 
 
         /// <summary>
diff --git a/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.IsAllowSendTaskResponse.datasource b/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.IsAllowSendTaskResponse.datasource
index 66e9d36..4243fad 100644
--- a/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.IsAllowSendTaskResponse.datasource
+++ b/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.IsAllowSendTaskResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="IsAllowSendTaskResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>iWareCC.SrmService.IsAllowSendTaskResponse, Connected Services.SrmService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>iWareCC.SrmService.IsAllowSendTaskResponse, Connected Services.SrmService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.IsReadyResponse.datasource b/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.IsReadyResponse.datasource
index a23fb2a..83f32ce 100644
--- a/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.IsReadyResponse.datasource
+++ b/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.IsReadyResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="IsReadyResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>iWareCC.SrmService.IsReadyResponse, Connected Services.SrmService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>iWareCC.SrmService.IsReadyResponse, Connected Services.SrmService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SdaResEntity.datasource b/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SdaResEntity.datasource
index 0cf0c51..1bc293b 100644
--- a/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SdaResEntity.datasource
+++ b/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SdaResEntity.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="SdaResEntity" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>iWareCC.SrmService.SdaResEntity, Connected Services.SrmService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>iWareCC.SrmService.SdaResEntity, Connected Services.SrmService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SrmEntity.datasource b/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SrmEntity.datasource
index 055deaf..58c2ef8 100644
--- a/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SrmEntity.datasource
+++ b/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SrmEntity.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="SrmEntity" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>iWareCC.SrmService.SrmEntity, Connected Services.SrmService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>iWareCC.SrmService.SrmEntity, Connected Services.SrmService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SrmView.datasource b/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SrmView.datasource
index 834fb48..337de1b 100644
--- a/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SrmView.datasource
+++ b/CC/iWareCC_ASRS/Connected Services/SrmService/iWareCC.SrmService.SrmView.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="SrmView" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>iWareCC.SrmService.SrmView, Connected Services.SrmService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>iWareCC.SrmService.SrmView, Connected Services.SrmService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs b/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs
new file mode 100644
index 0000000..e493826
--- /dev/null
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs
@@ -0,0 +1,1586 @@
+锘�//------------------------------------------------------------------------------
+// <auto-generated>
+//     姝や唬鐮佺敱宸ュ叿鐢熸垚銆�
+//     杩愯鏃剁増鏈�:4.0.30319.42000
+//
+//     瀵规鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆纭殑琛屼负锛屽苟涓斿鏋�
+//     閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便��
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace iWareCC.StationService {
+    using System.Runtime.Serialization;
+    using System;
+    
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="SdaResEntity", Namespace="http://schemas.datacontract.org/2004/07/iWareSda")]
+    [System.SerializableAttribute()]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(iWareCC.StationService.DeviceWarningInfo[]))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(iWareCC.StationService.DeviceWarningInfo))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(iWareCC.StationService.StationDB2ObjForReadComm[]))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(iWareCC.StationService.StationDB2ObjForReadComm))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(iWareCC.StationService.StationDB2ObjForWriteComm[]))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(iWareCC.StationService.StationDB2ObjForWriteComm))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(iWareCC.StationService.StationView))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(iWareCC.StationService.StationDB2Obj))]
+    public partial class SdaResEntity : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+        
+        [System.NonSerializedAttribute()]
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private object resDataField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string resMsgField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool resultField;
+        
+        [global::System.ComponentModel.BrowsableAttribute(false)]
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+            get {
+                return this.extensionDataField;
+            }
+            set {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public object resData {
+            get {
+                return this.resDataField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.resDataField, value) != true)) {
+                    this.resDataField = value;
+                    this.RaisePropertyChanged("resData");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string resMsg {
+            get {
+                return this.resMsgField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.resMsgField, value) != true)) {
+                    this.resMsgField = value;
+                    this.RaisePropertyChanged("resMsg");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool result {
+            get {
+                return this.resultField;
+            }
+            set {
+                if ((this.resultField.Equals(value) != true)) {
+                    this.resultField = value;
+                    this.RaisePropertyChanged("result");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName) {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null)) {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="DeviceWarningInfo", Namespace="http://schemas.datacontract.org/2004/07/iWareSda.Model")]
+    [System.SerializableAttribute()]
+    public partial class DeviceWarningInfo : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+        
+        [System.NonSerializedAttribute()]
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private string Addressk__BackingFieldField;
+        
+        private string Codek__BackingFieldField;
+        
+        private string Contextk__BackingFieldField;
+        
+        [global::System.ComponentModel.BrowsableAttribute(false)]
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+            get {
+                return this.extensionDataField;
+            }
+            set {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Name="<Address>k__BackingField", IsRequired=true)]
+        public string Addressk__BackingField {
+            get {
+                return this.Addressk__BackingFieldField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.Addressk__BackingFieldField, value) != true)) {
+                    this.Addressk__BackingFieldField = value;
+                    this.RaisePropertyChanged("Addressk__BackingField");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Name="<Code>k__BackingField", IsRequired=true)]
+        public string Codek__BackingField {
+            get {
+                return this.Codek__BackingFieldField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.Codek__BackingFieldField, value) != true)) {
+                    this.Codek__BackingFieldField = value;
+                    this.RaisePropertyChanged("Codek__BackingField");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Name="<Context>k__BackingField", IsRequired=true)]
+        public string Contextk__BackingField {
+            get {
+                return this.Contextk__BackingFieldField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.Contextk__BackingFieldField, value) != true)) {
+                    this.Contextk__BackingFieldField = value;
+                    this.RaisePropertyChanged("Contextk__BackingField");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName) {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null)) {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="StationDB2ObjForReadComm", Namespace="http://schemas.datacontract.org/2004/07/iWareSda.Devices._3_Station.StationModel")]
+    [System.SerializableAttribute()]
+    public partial class StationDB2ObjForReadComm : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+        
+        [System.NonSerializedAttribute()]
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool R_ACKField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private short R_AlarmCodeField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string R_AlarmCodeMsgField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private short R_DestinationField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool R_InboundFinishField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string R_InboundNumberField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private short R_ModelField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool R_OutboundFinishField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string R_OutboundNumberField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string R_ReadCodeResultField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool R_ReqParseDataField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private short R_ShapeField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private short R_StateField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private int R_TaskIDField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string StationCodeField;
+        
+        [global::System.ComponentModel.BrowsableAttribute(false)]
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+            get {
+                return this.extensionDataField;
+            }
+            set {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool R_ACK {
+            get {
+                return this.R_ACKField;
+            }
+            set {
+                if ((this.R_ACKField.Equals(value) != true)) {
+                    this.R_ACKField = value;
+                    this.RaisePropertyChanged("R_ACK");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public short R_AlarmCode {
+            get {
+                return this.R_AlarmCodeField;
+            }
+            set {
+                if ((this.R_AlarmCodeField.Equals(value) != true)) {
+                    this.R_AlarmCodeField = value;
+                    this.RaisePropertyChanged("R_AlarmCode");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string R_AlarmCodeMsg {
+            get {
+                return this.R_AlarmCodeMsgField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.R_AlarmCodeMsgField, value) != true)) {
+                    this.R_AlarmCodeMsgField = value;
+                    this.RaisePropertyChanged("R_AlarmCodeMsg");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public short R_Destination {
+            get {
+                return this.R_DestinationField;
+            }
+            set {
+                if ((this.R_DestinationField.Equals(value) != true)) {
+                    this.R_DestinationField = value;
+                    this.RaisePropertyChanged("R_Destination");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool R_InboundFinish {
+            get {
+                return this.R_InboundFinishField;
+            }
+            set {
+                if ((this.R_InboundFinishField.Equals(value) != true)) {
+                    this.R_InboundFinishField = value;
+                    this.RaisePropertyChanged("R_InboundFinish");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string R_InboundNumber {
+            get {
+                return this.R_InboundNumberField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.R_InboundNumberField, value) != true)) {
+                    this.R_InboundNumberField = value;
+                    this.RaisePropertyChanged("R_InboundNumber");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public short R_Model {
+            get {
+                return this.R_ModelField;
+            }
+            set {
+                if ((this.R_ModelField.Equals(value) != true)) {
+                    this.R_ModelField = value;
+                    this.RaisePropertyChanged("R_Model");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool R_OutboundFinish {
+            get {
+                return this.R_OutboundFinishField;
+            }
+            set {
+                if ((this.R_OutboundFinishField.Equals(value) != true)) {
+                    this.R_OutboundFinishField = value;
+                    this.RaisePropertyChanged("R_OutboundFinish");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string R_OutboundNumber {
+            get {
+                return this.R_OutboundNumberField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.R_OutboundNumberField, value) != true)) {
+                    this.R_OutboundNumberField = value;
+                    this.RaisePropertyChanged("R_OutboundNumber");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string R_ReadCodeResult {
+            get {
+                return this.R_ReadCodeResultField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.R_ReadCodeResultField, value) != true)) {
+                    this.R_ReadCodeResultField = value;
+                    this.RaisePropertyChanged("R_ReadCodeResult");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool R_ReqParseData {
+            get {
+                return this.R_ReqParseDataField;
+            }
+            set {
+                if ((this.R_ReqParseDataField.Equals(value) != true)) {
+                    this.R_ReqParseDataField = value;
+                    this.RaisePropertyChanged("R_ReqParseData");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public short R_Shape {
+            get {
+                return this.R_ShapeField;
+            }
+            set {
+                if ((this.R_ShapeField.Equals(value) != true)) {
+                    this.R_ShapeField = value;
+                    this.RaisePropertyChanged("R_Shape");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public short R_State {
+            get {
+                return this.R_StateField;
+            }
+            set {
+                if ((this.R_StateField.Equals(value) != true)) {
+                    this.R_StateField = value;
+                    this.RaisePropertyChanged("R_State");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int R_TaskID {
+            get {
+                return this.R_TaskIDField;
+            }
+            set {
+                if ((this.R_TaskIDField.Equals(value) != true)) {
+                    this.R_TaskIDField = value;
+                    this.RaisePropertyChanged("R_TaskID");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string StationCode {
+            get {
+                return this.StationCodeField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.StationCodeField, value) != true)) {
+                    this.StationCodeField = value;
+                    this.RaisePropertyChanged("StationCode");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName) {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null)) {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="StationDB2ObjForWriteComm", Namespace="http://schemas.datacontract.org/2004/07/iWareSda.Devices._3_Station.StationModel")]
+    [System.SerializableAttribute()]
+    public partial class StationDB2ObjForWriteComm : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+        
+        [System.NonSerializedAttribute()]
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string StationCodeField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string W_CartonHeightField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string W_CartonWidthField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool W_DataFinishField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private int W_Destination_InField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string W_Destination_OutField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private short W_HeightField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool W_IsRotateField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string W_KittingInfoField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private short W_LengthField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string W_PackageLengthField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string W_PackageWidthField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool W_ReqOutField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string W_TaskIDField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private short W_WidthField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string W_X_OffsetField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string W_Y_OffsetField;
+        
+        [global::System.ComponentModel.BrowsableAttribute(false)]
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+            get {
+                return this.extensionDataField;
+            }
+            set {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string StationCode {
+            get {
+                return this.StationCodeField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.StationCodeField, value) != true)) {
+                    this.StationCodeField = value;
+                    this.RaisePropertyChanged("StationCode");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string W_CartonHeight {
+            get {
+                return this.W_CartonHeightField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.W_CartonHeightField, value) != true)) {
+                    this.W_CartonHeightField = value;
+                    this.RaisePropertyChanged("W_CartonHeight");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string W_CartonWidth {
+            get {
+                return this.W_CartonWidthField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.W_CartonWidthField, value) != true)) {
+                    this.W_CartonWidthField = value;
+                    this.RaisePropertyChanged("W_CartonWidth");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool W_DataFinish {
+            get {
+                return this.W_DataFinishField;
+            }
+            set {
+                if ((this.W_DataFinishField.Equals(value) != true)) {
+                    this.W_DataFinishField = value;
+                    this.RaisePropertyChanged("W_DataFinish");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int W_Destination_In {
+            get {
+                return this.W_Destination_InField;
+            }
+            set {
+                if ((this.W_Destination_InField.Equals(value) != true)) {
+                    this.W_Destination_InField = value;
+                    this.RaisePropertyChanged("W_Destination_In");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string W_Destination_Out {
+            get {
+                return this.W_Destination_OutField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.W_Destination_OutField, value) != true)) {
+                    this.W_Destination_OutField = value;
+                    this.RaisePropertyChanged("W_Destination_Out");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public short W_Height {
+            get {
+                return this.W_HeightField;
+            }
+            set {
+                if ((this.W_HeightField.Equals(value) != true)) {
+                    this.W_HeightField = value;
+                    this.RaisePropertyChanged("W_Height");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool W_IsRotate {
+            get {
+                return this.W_IsRotateField;
+            }
+            set {
+                if ((this.W_IsRotateField.Equals(value) != true)) {
+                    this.W_IsRotateField = value;
+                    this.RaisePropertyChanged("W_IsRotate");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string W_KittingInfo {
+            get {
+                return this.W_KittingInfoField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.W_KittingInfoField, value) != true)) {
+                    this.W_KittingInfoField = value;
+                    this.RaisePropertyChanged("W_KittingInfo");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public short W_Length {
+            get {
+                return this.W_LengthField;
+            }
+            set {
+                if ((this.W_LengthField.Equals(value) != true)) {
+                    this.W_LengthField = value;
+                    this.RaisePropertyChanged("W_Length");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string W_PackageLength {
+            get {
+                return this.W_PackageLengthField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.W_PackageLengthField, value) != true)) {
+                    this.W_PackageLengthField = value;
+                    this.RaisePropertyChanged("W_PackageLength");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string W_PackageWidth {
+            get {
+                return this.W_PackageWidthField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.W_PackageWidthField, value) != true)) {
+                    this.W_PackageWidthField = value;
+                    this.RaisePropertyChanged("W_PackageWidth");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool W_ReqOut {
+            get {
+                return this.W_ReqOutField;
+            }
+            set {
+                if ((this.W_ReqOutField.Equals(value) != true)) {
+                    this.W_ReqOutField = value;
+                    this.RaisePropertyChanged("W_ReqOut");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string W_TaskID {
+            get {
+                return this.W_TaskIDField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.W_TaskIDField, value) != true)) {
+                    this.W_TaskIDField = value;
+                    this.RaisePropertyChanged("W_TaskID");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public short W_Width {
+            get {
+                return this.W_WidthField;
+            }
+            set {
+                if ((this.W_WidthField.Equals(value) != true)) {
+                    this.W_WidthField = value;
+                    this.RaisePropertyChanged("W_Width");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string W_X_Offset {
+            get {
+                return this.W_X_OffsetField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.W_X_OffsetField, value) != true)) {
+                    this.W_X_OffsetField = value;
+                    this.RaisePropertyChanged("W_X_Offset");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string W_Y_Offset {
+            get {
+                return this.W_Y_OffsetField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.W_Y_OffsetField, value) != true)) {
+                    this.W_Y_OffsetField = value;
+                    this.RaisePropertyChanged("W_Y_Offset");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName) {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null)) {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="StationView", Namespace="http://schemas.datacontract.org/2004/07/iWareSda")]
+    [System.SerializableAttribute()]
+    public partial class StationView : iWareCC.StationService.StationDB2Obj {
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private int DeviceIdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string DeviceNameField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool IsConnectedField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private iWareCC.StationService.DeviceWarningInfo[] R_Line_WarningDBListField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private iWareCC.StationService.DeviceWarningInfo[] R_Station_WarningDBListField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int DeviceId {
+            get {
+                return this.DeviceIdField;
+            }
+            set {
+                if ((this.DeviceIdField.Equals(value) != true)) {
+                    this.DeviceIdField = value;
+                    this.RaisePropertyChanged("DeviceId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string DeviceName {
+            get {
+                return this.DeviceNameField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.DeviceNameField, value) != true)) {
+                    this.DeviceNameField = value;
+                    this.RaisePropertyChanged("DeviceName");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool IsConnected {
+            get {
+                return this.IsConnectedField;
+            }
+            set {
+                if ((this.IsConnectedField.Equals(value) != true)) {
+                    this.IsConnectedField = value;
+                    this.RaisePropertyChanged("IsConnected");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public iWareCC.StationService.DeviceWarningInfo[] R_Line_WarningDBList {
+            get {
+                return this.R_Line_WarningDBListField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.R_Line_WarningDBListField, value) != true)) {
+                    this.R_Line_WarningDBListField = value;
+                    this.RaisePropertyChanged("R_Line_WarningDBList");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public iWareCC.StationService.DeviceWarningInfo[] R_Station_WarningDBList {
+            get {
+                return this.R_Station_WarningDBListField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.R_Station_WarningDBListField, value) != true)) {
+                    this.R_Station_WarningDBListField = value;
+                    this.RaisePropertyChanged("R_Station_WarningDBList");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="StationDB2Obj", Namespace="http://schemas.datacontract.org/2004/07/iWareSda")]
+    [System.SerializableAttribute()]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(iWareCC.StationService.StationView))]
+    public partial class StationDB2Obj : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+        
+        [System.NonSerializedAttribute()]
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string R_1002_ScanField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string R_1004_ScanField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string R_1006_ScanField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string R_1007_ScanField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool R_1009_High1Field;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool R_1009_High2Field;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool R_1009_High3Field;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string R_1015_ScanField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string R_1019_CargoNoScanField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string R_1019_ScanField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private int R_HandShakeField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private iWareCC.StationService.StationDB2ObjForReadComm[] R_StationForReadCommListField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string R_StationNoField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private int R_Station_CoordinateField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool R_Station_FinishField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool W_1002_ScanFailACKField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool W_1002_ScanSuccessACKField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool W_1004_ScanFailACKField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool W_1004_ScanSuccessACKField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool W_1006_ScanFailACKField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool W_1006_ScanSuccessACKField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool W_1007_ScanFailACKField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool W_1007_ScanSuccessACKField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool W_1015_ReScanField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool W_1019_ReScanField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool W_HandShakeField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string W_Out_MaterialModelField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string W_Out_OrderNoField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string W_Out_SerialNumberField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private iWareCC.StationService.StationDB2ObjForWriteComm[] W_StationForWriteCommListField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private bool W_Station_FinishACKField;
+        
+        [global::System.ComponentModel.BrowsableAttribute(false)]
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+            get {
+                return this.extensionDataField;
+            }
+            set {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string R_1002_Scan {
+            get {
+                return this.R_1002_ScanField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.R_1002_ScanField, value) != true)) {
+                    this.R_1002_ScanField = value;
+                    this.RaisePropertyChanged("R_1002_Scan");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string R_1004_Scan {
+            get {
+                return this.R_1004_ScanField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.R_1004_ScanField, value) != true)) {
+                    this.R_1004_ScanField = value;
+                    this.RaisePropertyChanged("R_1004_Scan");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string R_1006_Scan {
+            get {
+                return this.R_1006_ScanField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.R_1006_ScanField, value) != true)) {
+                    this.R_1006_ScanField = value;
+                    this.RaisePropertyChanged("R_1006_Scan");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string R_1007_Scan {
+            get {
+                return this.R_1007_ScanField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.R_1007_ScanField, value) != true)) {
+                    this.R_1007_ScanField = value;
+                    this.RaisePropertyChanged("R_1007_Scan");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool R_1009_High1 {
+            get {
+                return this.R_1009_High1Field;
+            }
+            set {
+                if ((this.R_1009_High1Field.Equals(value) != true)) {
+                    this.R_1009_High1Field = value;
+                    this.RaisePropertyChanged("R_1009_High1");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool R_1009_High2 {
+            get {
+                return this.R_1009_High2Field;
+            }
+            set {
+                if ((this.R_1009_High2Field.Equals(value) != true)) {
+                    this.R_1009_High2Field = value;
+                    this.RaisePropertyChanged("R_1009_High2");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool R_1009_High3 {
+            get {
+                return this.R_1009_High3Field;
+            }
+            set {
+                if ((this.R_1009_High3Field.Equals(value) != true)) {
+                    this.R_1009_High3Field = value;
+                    this.RaisePropertyChanged("R_1009_High3");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string R_1015_Scan {
+            get {
+                return this.R_1015_ScanField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.R_1015_ScanField, value) != true)) {
+                    this.R_1015_ScanField = value;
+                    this.RaisePropertyChanged("R_1015_Scan");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string R_1019_CargoNoScan {
+            get {
+                return this.R_1019_CargoNoScanField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.R_1019_CargoNoScanField, value) != true)) {
+                    this.R_1019_CargoNoScanField = value;
+                    this.RaisePropertyChanged("R_1019_CargoNoScan");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string R_1019_Scan {
+            get {
+                return this.R_1019_ScanField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.R_1019_ScanField, value) != true)) {
+                    this.R_1019_ScanField = value;
+                    this.RaisePropertyChanged("R_1019_Scan");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int R_HandShake {
+            get {
+                return this.R_HandShakeField;
+            }
+            set {
+                if ((this.R_HandShakeField.Equals(value) != true)) {
+                    this.R_HandShakeField = value;
+                    this.RaisePropertyChanged("R_HandShake");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public iWareCC.StationService.StationDB2ObjForReadComm[] R_StationForReadCommList {
+            get {
+                return this.R_StationForReadCommListField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.R_StationForReadCommListField, value) != true)) {
+                    this.R_StationForReadCommListField = value;
+                    this.RaisePropertyChanged("R_StationForReadCommList");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string R_StationNo {
+            get {
+                return this.R_StationNoField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.R_StationNoField, value) != true)) {
+                    this.R_StationNoField = value;
+                    this.RaisePropertyChanged("R_StationNo");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int R_Station_Coordinate {
+            get {
+                return this.R_Station_CoordinateField;
+            }
+            set {
+                if ((this.R_Station_CoordinateField.Equals(value) != true)) {
+                    this.R_Station_CoordinateField = value;
+                    this.RaisePropertyChanged("R_Station_Coordinate");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool R_Station_Finish {
+            get {
+                return this.R_Station_FinishField;
+            }
+            set {
+                if ((this.R_Station_FinishField.Equals(value) != true)) {
+                    this.R_Station_FinishField = value;
+                    this.RaisePropertyChanged("R_Station_Finish");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool W_1002_ScanFailACK {
+            get {
+                return this.W_1002_ScanFailACKField;
+            }
+            set {
+                if ((this.W_1002_ScanFailACKField.Equals(value) != true)) {
+                    this.W_1002_ScanFailACKField = value;
+                    this.RaisePropertyChanged("W_1002_ScanFailACK");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool W_1002_ScanSuccessACK {
+            get {
+                return this.W_1002_ScanSuccessACKField;
+            }
+            set {
+                if ((this.W_1002_ScanSuccessACKField.Equals(value) != true)) {
+                    this.W_1002_ScanSuccessACKField = value;
+                    this.RaisePropertyChanged("W_1002_ScanSuccessACK");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool W_1004_ScanFailACK {
+            get {
+                return this.W_1004_ScanFailACKField;
+            }
+            set {
+                if ((this.W_1004_ScanFailACKField.Equals(value) != true)) {
+                    this.W_1004_ScanFailACKField = value;
+                    this.RaisePropertyChanged("W_1004_ScanFailACK");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool W_1004_ScanSuccessACK {
+            get {
+                return this.W_1004_ScanSuccessACKField;
+            }
+            set {
+                if ((this.W_1004_ScanSuccessACKField.Equals(value) != true)) {
+                    this.W_1004_ScanSuccessACKField = value;
+                    this.RaisePropertyChanged("W_1004_ScanSuccessACK");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool W_1006_ScanFailACK {
+            get {
+                return this.W_1006_ScanFailACKField;
+            }
+            set {
+                if ((this.W_1006_ScanFailACKField.Equals(value) != true)) {
+                    this.W_1006_ScanFailACKField = value;
+                    this.RaisePropertyChanged("W_1006_ScanFailACK");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool W_1006_ScanSuccessACK {
+            get {
+                return this.W_1006_ScanSuccessACKField;
+            }
+            set {
+                if ((this.W_1006_ScanSuccessACKField.Equals(value) != true)) {
+                    this.W_1006_ScanSuccessACKField = value;
+                    this.RaisePropertyChanged("W_1006_ScanSuccessACK");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool W_1007_ScanFailACK {
+            get {
+                return this.W_1007_ScanFailACKField;
+            }
+            set {
+                if ((this.W_1007_ScanFailACKField.Equals(value) != true)) {
+                    this.W_1007_ScanFailACKField = value;
+                    this.RaisePropertyChanged("W_1007_ScanFailACK");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool W_1007_ScanSuccessACK {
+            get {
+                return this.W_1007_ScanSuccessACKField;
+            }
+            set {
+                if ((this.W_1007_ScanSuccessACKField.Equals(value) != true)) {
+                    this.W_1007_ScanSuccessACKField = value;
+                    this.RaisePropertyChanged("W_1007_ScanSuccessACK");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool W_1015_ReScan {
+            get {
+                return this.W_1015_ReScanField;
+            }
+            set {
+                if ((this.W_1015_ReScanField.Equals(value) != true)) {
+                    this.W_1015_ReScanField = value;
+                    this.RaisePropertyChanged("W_1015_ReScan");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool W_1019_ReScan {
+            get {
+                return this.W_1019_ReScanField;
+            }
+            set {
+                if ((this.W_1019_ReScanField.Equals(value) != true)) {
+                    this.W_1019_ReScanField = value;
+                    this.RaisePropertyChanged("W_1019_ReScan");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool W_HandShake {
+            get {
+                return this.W_HandShakeField;
+            }
+            set {
+                if ((this.W_HandShakeField.Equals(value) != true)) {
+                    this.W_HandShakeField = value;
+                    this.RaisePropertyChanged("W_HandShake");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string W_Out_MaterialModel {
+            get {
+                return this.W_Out_MaterialModelField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.W_Out_MaterialModelField, value) != true)) {
+                    this.W_Out_MaterialModelField = value;
+                    this.RaisePropertyChanged("W_Out_MaterialModel");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string W_Out_OrderNo {
+            get {
+                return this.W_Out_OrderNoField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.W_Out_OrderNoField, value) != true)) {
+                    this.W_Out_OrderNoField = value;
+                    this.RaisePropertyChanged("W_Out_OrderNo");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string W_Out_SerialNumber {
+            get {
+                return this.W_Out_SerialNumberField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.W_Out_SerialNumberField, value) != true)) {
+                    this.W_Out_SerialNumberField = value;
+                    this.RaisePropertyChanged("W_Out_SerialNumber");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public iWareCC.StationService.StationDB2ObjForWriteComm[] W_StationForWriteCommList {
+            get {
+                return this.W_StationForWriteCommListField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.W_StationForWriteCommListField, value) != true)) {
+                    this.W_StationForWriteCommListField = value;
+                    this.RaisePropertyChanged("W_StationForWriteCommList");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool W_Station_FinishACK {
+            get {
+                return this.W_Station_FinishACKField;
+            }
+            set {
+                if ((this.W_Station_FinishACKField.Equals(value) != true)) {
+                    this.W_Station_FinishACKField = value;
+                    this.RaisePropertyChanged("W_Station_FinishACK");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName) {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null)) {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    [System.ServiceModel.ServiceContractAttribute(ConfigurationName="StationService.IStationService")]
+    public interface IStationService {
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/ClearAlarm", ReplyAction="http://tempuri.org/IStationService/ClearAlarmResponse")]
+        iWareCC.StationService.SdaResEntity ClearAlarm(int deviceId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/ClearAlarm", ReplyAction="http://tempuri.org/IStationService/ClearAlarmResponse")]
+        System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> ClearAlarmAsync(int deviceId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/SendStationTask", ReplyAction="http://tempuri.org/IStationService/SendStationTaskResponse")]
+        iWareCC.StationService.SdaResEntity SendStationTask(int deviceId, int taskId, string sourcePlce, string toPlace);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/SendStationTask", ReplyAction="http://tempuri.org/IStationService/SendStationTaskResponse")]
+        System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> SendStationTaskAsync(int deviceId, int taskId, string sourcePlce, string toPlace);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteStp", ReplyAction="http://tempuri.org/IStationService/WriteStpResponse")]
+        iWareCC.StationService.SdaResEntity WriteStp(int deviceId, bool value, string stationCode);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteStp", ReplyAction="http://tempuri.org/IStationService/WriteStpResponse")]
+        System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WriteStpAsync(int deviceId, bool value, string stationCode);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/GetStationInfo", ReplyAction="http://tempuri.org/IStationService/GetStationInfoResponse")]
+        iWareCC.StationService.StationView GetStationInfo(int deviceId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/GetStationInfo", ReplyAction="http://tempuri.org/IStationService/GetStationInfoResponse")]
+        System.Threading.Tasks.Task<iWareCC.StationService.StationView> GetStationInfoAsync(int deviceId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/IsTaskFinish", ReplyAction="http://tempuri.org/IStationService/IsTaskFinishResponse")]
+        iWareCC.StationService.SdaResEntity IsTaskFinish(int deviceId, int taskId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/IsTaskFinish", ReplyAction="http://tempuri.org/IStationService/IsTaskFinishResponse")]
+        System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> IsTaskFinishAsync(int deviceId, int taskId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/DeleteStationTask", ReplyAction="http://tempuri.org/IStationService/DeleteStationTaskResponse")]
+        iWareCC.StationService.SdaResEntity DeleteStationTask(int deviceId, int taskId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/DeleteStationTask", ReplyAction="http://tempuri.org/IStationService/DeleteStationTaskResponse")]
+        System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> DeleteStationTaskAsync(int deviceId, int taskId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/IsStationAuto", ReplyAction="http://tempuri.org/IStationService/IsStationAutoResponse")]
+        iWareCC.StationService.SdaResEntity IsStationAuto(int deviceId, string stationCode);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/IsStationAuto", ReplyAction="http://tempuri.org/IStationService/IsStationAutoResponse")]
+        System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> IsStationAutoAsync(int deviceId, string stationCode);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/IsAllowSendTask", ReplyAction="http://tempuri.org/IStationService/IsAllowSendTaskResponse")]
+        iWareCC.StationService.SdaResEntity IsAllowSendTask(bool isNeedValidateRealSourceAndToPlace, int deviceId, string stationCode, string toStationCode, bool isStationTask);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/IsAllowSendTask", ReplyAction="http://tempuri.org/IStationService/IsAllowSendTaskResponse")]
+        System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> IsAllowSendTaskAsync(bool isNeedValidateRealSourceAndToPlace, int deviceId, string stationCode, string toStationCode, bool isStationTask);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/IsHaveHeatBeat", ReplyAction="http://tempuri.org/IStationService/IsHaveHeatBeatResponse")]
+        iWareCC.StationService.SdaResEntity IsHaveHeatBeat(int deviceId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/IsHaveHeatBeat", ReplyAction="http://tempuri.org/IStationService/IsHaveHeatBeatResponse")]
+        System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> IsHaveHeatBeatAsync(int deviceId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteQiTaoInfo", ReplyAction="http://tempuri.org/IStationService/WriteQiTaoInfoResponse")]
+        iWareCC.StationService.SdaResEntity WriteQiTaoInfo(int deviceId, string stationCode, bool value);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteQiTaoInfo", ReplyAction="http://tempuri.org/IStationService/WriteQiTaoInfoResponse")]
+        System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WriteQiTaoInfoAsync(int deviceId, string stationCode, bool value);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteInStoreTaskInfo", ReplyAction="http://tempuri.org/IStationService/WriteInStoreTaskInfoResponse")]
+        iWareCC.StationService.SdaResEntity WriteInStoreTaskInfo(int deviceId, string stationCode, string toPlaceNo, short length, short width, short height);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteInStoreTaskInfo", ReplyAction="http://tempuri.org/IStationService/WriteInStoreTaskInfoResponse")]
+        System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WriteInStoreTaskInfoAsync(int deviceId, string stationCode, string toPlaceNo, short length, short width, short height);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteStation_FinishACK", ReplyAction="http://tempuri.org/IStationService/WriteStation_FinishACKResponse")]
+        iWareCC.StationService.SdaResEntity WriteStation_FinishACK(int deviceId, bool value, int plcTaskId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteStation_FinishACK", ReplyAction="http://tempuri.org/IStationService/WriteStation_FinishACKResponse")]
+        System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WriteStation_FinishACKAsync(int deviceId, bool value, int plcTaskId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteScanValidateACK", ReplyAction="http://tempuri.org/IStationService/WriteScanValidateACKResponse")]
+        iWareCC.StationService.SdaResEntity WriteScanValidateACK(bool isReset, int deviceId, string stationCode, bool value, int plcTaskId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteScanValidateACK", ReplyAction="http://tempuri.org/IStationService/WriteScanValidateACKResponse")]
+        System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WriteScanValidateACKAsync(bool isReset, int deviceId, string stationCode, bool value, int plcTaskId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteStation_XigangGetDataForOut", ReplyAction="http://tempuri.org/IStationService/WriteStation_XigangGetDataForOutResponse")]
+        iWareCC.StationService.SdaResEntity WriteStation_XigangGetDataForOut(int deviceId, string value__Out_MaterialModel, string value_Out_OrderNo, string value_Out_SerialNumber, int plcTaskId);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStationService/WriteStation_XigangGetDataForOut", ReplyAction="http://tempuri.org/IStationService/WriteStation_XigangGetDataForOutResponse")]
+        System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WriteStation_XigangGetDataForOutAsync(int deviceId, string value__Out_MaterialModel, string value_Out_OrderNo, string value_Out_SerialNumber, int plcTaskId);
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public interface IStationServiceChannel : iWareCC.StationService.IStationService, System.ServiceModel.IClientChannel {
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class StationServiceClient : System.ServiceModel.ClientBase<iWareCC.StationService.IStationService>, iWareCC.StationService.IStationService {
+        
+        public StationServiceClient() {
+        }
+        
+        public StationServiceClient(string endpointConfigurationName) : 
+                base(endpointConfigurationName) {
+        }
+        
+        public StationServiceClient(string endpointConfigurationName, string remoteAddress) : 
+                base(endpointConfigurationName, remoteAddress) {
+        }
+        
+        public StationServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
+                base(endpointConfigurationName, remoteAddress) {
+        }
+        
+        public StationServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
+                base(binding, remoteAddress) {
+        }
+        
+        public iWareCC.StationService.SdaResEntity ClearAlarm(int deviceId) {
+            return base.Channel.ClearAlarm(deviceId);
+        }
+        
+        public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> ClearAlarmAsync(int deviceId) {
+            return base.Channel.ClearAlarmAsync(deviceId);
+        }
+        
+        public iWareCC.StationService.SdaResEntity SendStationTask(int deviceId, int taskId, string sourcePlce, string toPlace) {
+            return base.Channel.SendStationTask(deviceId, taskId, sourcePlce, toPlace);
+        }
+        
+        public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> SendStationTaskAsync(int deviceId, int taskId, string sourcePlce, string toPlace) {
+            return base.Channel.SendStationTaskAsync(deviceId, taskId, sourcePlce, toPlace);
+        }
+        
+        public iWareCC.StationService.SdaResEntity WriteStp(int deviceId, bool value, string stationCode) {
+            return base.Channel.WriteStp(deviceId, value, stationCode);
+        }
+        
+        public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WriteStpAsync(int deviceId, bool value, string stationCode) {
+            return base.Channel.WriteStpAsync(deviceId, value, stationCode);
+        }
+        
+        public iWareCC.StationService.StationView GetStationInfo(int deviceId) {
+            return base.Channel.GetStationInfo(deviceId);
+        }
+        
+        public System.Threading.Tasks.Task<iWareCC.StationService.StationView> GetStationInfoAsync(int deviceId) {
+            return base.Channel.GetStationInfoAsync(deviceId);
+        }
+        
+        public iWareCC.StationService.SdaResEntity IsTaskFinish(int deviceId, int taskId) {
+            return base.Channel.IsTaskFinish(deviceId, taskId);
+        }
+        
+        public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> IsTaskFinishAsync(int deviceId, int taskId) {
+            return base.Channel.IsTaskFinishAsync(deviceId, taskId);
+        }
+        
+        public iWareCC.StationService.SdaResEntity DeleteStationTask(int deviceId, int taskId) {
+            return base.Channel.DeleteStationTask(deviceId, taskId);
+        }
+        
+        public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> DeleteStationTaskAsync(int deviceId, int taskId) {
+            return base.Channel.DeleteStationTaskAsync(deviceId, taskId);
+        }
+        
+        public iWareCC.StationService.SdaResEntity IsStationAuto(int deviceId, string stationCode) {
+            return base.Channel.IsStationAuto(deviceId, stationCode);
+        }
+        
+        public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> IsStationAutoAsync(int deviceId, string stationCode) {
+            return base.Channel.IsStationAutoAsync(deviceId, stationCode);
+        }
+        
+        public iWareCC.StationService.SdaResEntity IsAllowSendTask(bool isNeedValidateRealSourceAndToPlace, int deviceId, string stationCode, string toStationCode, bool isStationTask) {
+            return base.Channel.IsAllowSendTask(isNeedValidateRealSourceAndToPlace, deviceId, stationCode, toStationCode, isStationTask);
+        }
+        
+        public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> IsAllowSendTaskAsync(bool isNeedValidateRealSourceAndToPlace, int deviceId, string stationCode, string toStationCode, bool isStationTask) {
+            return base.Channel.IsAllowSendTaskAsync(isNeedValidateRealSourceAndToPlace, deviceId, stationCode, toStationCode, isStationTask);
+        }
+        
+        public iWareCC.StationService.SdaResEntity IsHaveHeatBeat(int deviceId) {
+            return base.Channel.IsHaveHeatBeat(deviceId);
+        }
+        
+        public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> IsHaveHeatBeatAsync(int deviceId) {
+            return base.Channel.IsHaveHeatBeatAsync(deviceId);
+        }
+        
+        public iWareCC.StationService.SdaResEntity WriteQiTaoInfo(int deviceId, string stationCode, bool value) {
+            return base.Channel.WriteQiTaoInfo(deviceId, stationCode, value);
+        }
+        
+        public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WriteQiTaoInfoAsync(int deviceId, string stationCode, bool value) {
+            return base.Channel.WriteQiTaoInfoAsync(deviceId, stationCode, value);
+        }
+        
+        public iWareCC.StationService.SdaResEntity WriteInStoreTaskInfo(int deviceId, string stationCode, string toPlaceNo, short length, short width, short height) {
+            return base.Channel.WriteInStoreTaskInfo(deviceId, stationCode, toPlaceNo, length, width, height);
+        }
+        
+        public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WriteInStoreTaskInfoAsync(int deviceId, string stationCode, string toPlaceNo, short length, short width, short height) {
+            return base.Channel.WriteInStoreTaskInfoAsync(deviceId, stationCode, toPlaceNo, length, width, height);
+        }
+        
+        public iWareCC.StationService.SdaResEntity WriteStation_FinishACK(int deviceId, bool value, int plcTaskId) {
+            return base.Channel.WriteStation_FinishACK(deviceId, value, plcTaskId);
+        }
+        
+        public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WriteStation_FinishACKAsync(int deviceId, bool value, int plcTaskId) {
+            return base.Channel.WriteStation_FinishACKAsync(deviceId, value, plcTaskId);
+        }
+        
+        public iWareCC.StationService.SdaResEntity WriteScanValidateACK(bool isReset, int deviceId, string stationCode, bool value, int plcTaskId) {
+            return base.Channel.WriteScanValidateACK(isReset, deviceId, stationCode, value, plcTaskId);
+        }
+        
+        public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WriteScanValidateACKAsync(bool isReset, int deviceId, string stationCode, bool value, int plcTaskId) {
+            return base.Channel.WriteScanValidateACKAsync(isReset, deviceId, stationCode, value, plcTaskId);
+        }
+        
+        public iWareCC.StationService.SdaResEntity WriteStation_XigangGetDataForOut(int deviceId, string value__Out_MaterialModel, string value_Out_OrderNo, string value_Out_SerialNumber, int plcTaskId) {
+            return base.Channel.WriteStation_XigangGetDataForOut(deviceId, value__Out_MaterialModel, value_Out_OrderNo, value_Out_SerialNumber, plcTaskId);
+        }
+        
+        public System.Threading.Tasks.Task<iWareCC.StationService.SdaResEntity> WriteStation_XigangGetDataForOutAsync(int deviceId, string value__Out_MaterialModel, string value_Out_OrderNo, string value_Out_SerialNumber, int plcTaskId) {
+            return base.Channel.WriteStation_XigangGetDataForOutAsync(deviceId, value__Out_MaterialModel, value_Out_OrderNo, value_Out_SerialNumber, plcTaskId);
+        }
+    }
+}
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/Reference.svcmap b/CC/iWareCC_ASRS/Connected Services/StationService/Reference.svcmap
new file mode 100644
index 0000000..937cdd7
--- /dev/null
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/Reference.svcmap
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ReferenceGroup xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="b854b9e8-7022-4a7d-8adc-0b52551fd6ad" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
+  <ClientOptions>
+    <GenerateAsynchronousMethods>false</GenerateAsynchronousMethods>
+    <GenerateTaskBasedAsynchronousMethod>true</GenerateTaskBasedAsynchronousMethod>
+    <EnableDataBinding>true</EnableDataBinding>
+    <ExcludedTypes />
+    <ImportXmlTypes>false</ImportXmlTypes>
+    <GenerateInternalTypes>false</GenerateInternalTypes>
+    <GenerateMessageContracts>false</GenerateMessageContracts>
+    <NamespaceMappings />
+    <CollectionMappings />
+    <GenerateSerializableTypes>true</GenerateSerializableTypes>
+    <Serializer>Auto</Serializer>
+    <UseSerializerForFaults>true</UseSerializerForFaults>
+    <ReferenceAllAssemblies>true</ReferenceAllAssemblies>
+    <ReferencedAssemblies />
+    <ReferencedDataContractTypes />
+    <ServiceContractMappings />
+  </ClientOptions>
+  <MetadataSources>
+    <MetadataSource Address="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/" Protocol="http" SourceId="1" />
+  </MetadataSources>
+  <Metadata>
+    <MetadataFile FileName="item.disco" MetadataType="Disco" ID="869f03b4-8bda-46c2-bf8c-48508134f143" SourceId="1" SourceUrl="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/?disco" />
+    <MetadataFile FileName="item.xsd" MetadataType="Schema" ID="485d9ae7-1cf5-402f-9c85-d5dc8d122ffe" SourceId="1" SourceUrl="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/?xsd=xsd4" />
+    <MetadataFile FileName="item1.xsd" MetadataType="Schema" ID="a9853f4d-4eea-4e84-8b37-f6062ad6d12d" SourceId="1" SourceUrl="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/?xsd=xsd1" />
+    <MetadataFile FileName="item2.xsd" MetadataType="Schema" ID="dc695f32-e1d4-4d50-b07c-5afe6040e8d3" SourceId="1" SourceUrl="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/?xsd=xsd0" />
+    <MetadataFile FileName="item3.xsd" MetadataType="Schema" ID="9377db26-291a-4116-adef-e34d0df60900" SourceId="1" SourceUrl="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/?xsd=xsd3" />
+    <MetadataFile FileName="item4.xsd" MetadataType="Schema" ID="53af00e8-a29b-4e78-8bd6-53c810f919e8" SourceId="1" SourceUrl="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/?xsd=xsd2" />
+    <MetadataFile FileName="StationService.wsdl" MetadataType="Wsdl" ID="cac1fe13-1dd5-4998-99de-537e127d92ee" SourceId="1" SourceUrl="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/?wsdl" />
+  </Metadata>
+  <Extensions>
+    <ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
+    <ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
+  </Extensions>
+</ReferenceGroup>
\ No newline at end of file
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/StationService.wsdl b/CC/iWareCC_ASRS/Connected Services/StationService/StationService.wsdl
new file mode 100644
index 0000000..4cb8537
--- /dev/null
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/StationService.wsdl
@@ -0,0 +1,288 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wsdl:definitions xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://tempuri.org/" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" name="StationService" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+  <wsdl:types>
+    <xsd:schema targetNamespace="http://tempuri.org/Imports">
+      <xsd:import schemaLocation="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/?xsd=xsd0" namespace="http://tempuri.org/" />
+      <xsd:import schemaLocation="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+      <xsd:import schemaLocation="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/iWareSda" />
+      <xsd:import schemaLocation="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/iWareSda.Devices._3_Station.StationModel" />
+      <xsd:import schemaLocation="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/?xsd=xsd4" namespace="http://schemas.datacontract.org/2004/07/iWareSda.Model" />
+    </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="IStationService_ClearAlarm_InputMessage">
+    <wsdl:part name="parameters" element="tns:ClearAlarm" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_ClearAlarm_OutputMessage">
+    <wsdl:part name="parameters" element="tns:ClearAlarmResponse" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_SendStationTask_InputMessage">
+    <wsdl:part name="parameters" element="tns:SendStationTask" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_SendStationTask_OutputMessage">
+    <wsdl:part name="parameters" element="tns:SendStationTaskResponse" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_WriteStp_InputMessage">
+    <wsdl:part name="parameters" element="tns:WriteStp" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_WriteStp_OutputMessage">
+    <wsdl:part name="parameters" element="tns:WriteStpResponse" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_GetStationInfo_InputMessage">
+    <wsdl:part name="parameters" element="tns:GetStationInfo" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_GetStationInfo_OutputMessage">
+    <wsdl:part name="parameters" element="tns:GetStationInfoResponse" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_IsTaskFinish_InputMessage">
+    <wsdl:part name="parameters" element="tns:IsTaskFinish" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_IsTaskFinish_OutputMessage">
+    <wsdl:part name="parameters" element="tns:IsTaskFinishResponse" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_DeleteStationTask_InputMessage">
+    <wsdl:part name="parameters" element="tns:DeleteStationTask" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_DeleteStationTask_OutputMessage">
+    <wsdl:part name="parameters" element="tns:DeleteStationTaskResponse" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_IsStationAuto_InputMessage">
+    <wsdl:part name="parameters" element="tns:IsStationAuto" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_IsStationAuto_OutputMessage">
+    <wsdl:part name="parameters" element="tns:IsStationAutoResponse" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_IsAllowSendTask_InputMessage">
+    <wsdl:part name="parameters" element="tns:IsAllowSendTask" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_IsAllowSendTask_OutputMessage">
+    <wsdl:part name="parameters" element="tns:IsAllowSendTaskResponse" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_IsHaveHeatBeat_InputMessage">
+    <wsdl:part name="parameters" element="tns:IsHaveHeatBeat" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_IsHaveHeatBeat_OutputMessage">
+    <wsdl:part name="parameters" element="tns:IsHaveHeatBeatResponse" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_WriteQiTaoInfo_InputMessage">
+    <wsdl:part name="parameters" element="tns:WriteQiTaoInfo" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_WriteQiTaoInfo_OutputMessage">
+    <wsdl:part name="parameters" element="tns:WriteQiTaoInfoResponse" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_WriteInStoreTaskInfo_InputMessage">
+    <wsdl:part name="parameters" element="tns:WriteInStoreTaskInfo" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_WriteInStoreTaskInfo_OutputMessage">
+    <wsdl:part name="parameters" element="tns:WriteInStoreTaskInfoResponse" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_WriteStation_FinishACK_InputMessage">
+    <wsdl:part name="parameters" element="tns:WriteStation_FinishACK" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_WriteStation_FinishACK_OutputMessage">
+    <wsdl:part name="parameters" element="tns:WriteStation_FinishACKResponse" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_WriteScanValidateACK_InputMessage">
+    <wsdl:part name="parameters" element="tns:WriteScanValidateACK" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_WriteScanValidateACK_OutputMessage">
+    <wsdl:part name="parameters" element="tns:WriteScanValidateACKResponse" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_WriteStation_XigangGetDataForOut_InputMessage">
+    <wsdl:part name="parameters" element="tns:WriteStation_XigangGetDataForOut" />
+  </wsdl:message>
+  <wsdl:message name="IStationService_WriteStation_XigangGetDataForOut_OutputMessage">
+    <wsdl:part name="parameters" element="tns:WriteStation_XigangGetDataForOutResponse" />
+  </wsdl:message>
+  <wsdl:portType name="IStationService">
+    <wsdl:operation name="ClearAlarm">
+      <wsdl:input wsaw:Action="http://tempuri.org/IStationService/ClearAlarm" message="tns:IStationService_ClearAlarm_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IStationService/ClearAlarmResponse" message="tns:IStationService_ClearAlarm_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="SendStationTask">
+      <wsdl:input wsaw:Action="http://tempuri.org/IStationService/SendStationTask" message="tns:IStationService_SendStationTask_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IStationService/SendStationTaskResponse" message="tns:IStationService_SendStationTask_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="WriteStp">
+      <wsdl:input wsaw:Action="http://tempuri.org/IStationService/WriteStp" message="tns:IStationService_WriteStp_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IStationService/WriteStpResponse" message="tns:IStationService_WriteStp_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="GetStationInfo">
+      <wsdl:input wsaw:Action="http://tempuri.org/IStationService/GetStationInfo" message="tns:IStationService_GetStationInfo_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IStationService/GetStationInfoResponse" message="tns:IStationService_GetStationInfo_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="IsTaskFinish">
+      <wsdl:input wsaw:Action="http://tempuri.org/IStationService/IsTaskFinish" message="tns:IStationService_IsTaskFinish_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IStationService/IsTaskFinishResponse" message="tns:IStationService_IsTaskFinish_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="DeleteStationTask">
+      <wsdl:input wsaw:Action="http://tempuri.org/IStationService/DeleteStationTask" message="tns:IStationService_DeleteStationTask_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IStationService/DeleteStationTaskResponse" message="tns:IStationService_DeleteStationTask_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="IsStationAuto">
+      <wsdl:input wsaw:Action="http://tempuri.org/IStationService/IsStationAuto" message="tns:IStationService_IsStationAuto_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IStationService/IsStationAutoResponse" message="tns:IStationService_IsStationAuto_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="IsAllowSendTask">
+      <wsdl:input wsaw:Action="http://tempuri.org/IStationService/IsAllowSendTask" message="tns:IStationService_IsAllowSendTask_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IStationService/IsAllowSendTaskResponse" message="tns:IStationService_IsAllowSendTask_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="IsHaveHeatBeat">
+      <wsdl:input wsaw:Action="http://tempuri.org/IStationService/IsHaveHeatBeat" message="tns:IStationService_IsHaveHeatBeat_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IStationService/IsHaveHeatBeatResponse" message="tns:IStationService_IsHaveHeatBeat_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="WriteQiTaoInfo">
+      <wsdl:input wsaw:Action="http://tempuri.org/IStationService/WriteQiTaoInfo" message="tns:IStationService_WriteQiTaoInfo_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IStationService/WriteQiTaoInfoResponse" message="tns:IStationService_WriteQiTaoInfo_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="WriteInStoreTaskInfo">
+      <wsdl:input wsaw:Action="http://tempuri.org/IStationService/WriteInStoreTaskInfo" message="tns:IStationService_WriteInStoreTaskInfo_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IStationService/WriteInStoreTaskInfoResponse" message="tns:IStationService_WriteInStoreTaskInfo_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="WriteStation_FinishACK">
+      <wsdl:input wsaw:Action="http://tempuri.org/IStationService/WriteStation_FinishACK" message="tns:IStationService_WriteStation_FinishACK_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IStationService/WriteStation_FinishACKResponse" message="tns:IStationService_WriteStation_FinishACK_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="WriteScanValidateACK">
+      <wsdl:input wsaw:Action="http://tempuri.org/IStationService/WriteScanValidateACK" message="tns:IStationService_WriteScanValidateACK_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IStationService/WriteScanValidateACKResponse" message="tns:IStationService_WriteScanValidateACK_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="WriteStation_XigangGetDataForOut">
+      <wsdl:input wsaw:Action="http://tempuri.org/IStationService/WriteStation_XigangGetDataForOut" message="tns:IStationService_WriteStation_XigangGetDataForOut_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IStationService/WriteStation_XigangGetDataForOutResponse" message="tns:IStationService_WriteStation_XigangGetDataForOut_OutputMessage" />
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="BasicHttpBinding_IStationService" type="tns:IStationService">
+    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
+    <wsdl:operation name="ClearAlarm">
+      <soap:operation soapAction="http://tempuri.org/IStationService/ClearAlarm" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="SendStationTask">
+      <soap:operation soapAction="http://tempuri.org/IStationService/SendStationTask" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="WriteStp">
+      <soap:operation soapAction="http://tempuri.org/IStationService/WriteStp" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetStationInfo">
+      <soap:operation soapAction="http://tempuri.org/IStationService/GetStationInfo" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="IsTaskFinish">
+      <soap:operation soapAction="http://tempuri.org/IStationService/IsTaskFinish" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="DeleteStationTask">
+      <soap:operation soapAction="http://tempuri.org/IStationService/DeleteStationTask" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="IsStationAuto">
+      <soap:operation soapAction="http://tempuri.org/IStationService/IsStationAuto" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="IsAllowSendTask">
+      <soap:operation soapAction="http://tempuri.org/IStationService/IsAllowSendTask" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="IsHaveHeatBeat">
+      <soap:operation soapAction="http://tempuri.org/IStationService/IsHaveHeatBeat" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="WriteQiTaoInfo">
+      <soap:operation soapAction="http://tempuri.org/IStationService/WriteQiTaoInfo" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="WriteInStoreTaskInfo">
+      <soap:operation soapAction="http://tempuri.org/IStationService/WriteInStoreTaskInfo" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="WriteStation_FinishACK">
+      <soap:operation soapAction="http://tempuri.org/IStationService/WriteStation_FinishACK" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="WriteScanValidateACK">
+      <soap:operation soapAction="http://tempuri.org/IStationService/WriteScanValidateACK" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="WriteStation_XigangGetDataForOut">
+      <soap:operation soapAction="http://tempuri.org/IStationService/WriteStation_XigangGetDataForOut" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="StationService">
+    <wsdl:port name="BasicHttpBinding_IStationService" binding="tns:BasicHttpBinding_IStationService">
+      <soap:address location="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/" />
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/configuration.svcinfo b/CC/iWareCC_ASRS/Connected Services/StationService/configuration.svcinfo
new file mode 100644
index 0000000..1ec272e
--- /dev/null
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/configuration.svcinfo
@@ -0,0 +1,10 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<configurationSnapshot xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
+  <behaviors />
+  <bindings>
+    <binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data name=&quot;BasicHttpBinding_IStationService&quot; /&gt;" bindingType="basicHttpBinding" name="BasicHttpBinding_IStationService" />
+  </bindings>
+  <endpoints>
+    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/&quot; binding=&quot;basicHttpBinding&quot; bindingConfiguration=&quot;BasicHttpBinding_IStationService&quot; contract=&quot;StationService.IStationService&quot; name=&quot;BasicHttpBinding_IStationService&quot; /&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/&quot; binding=&quot;basicHttpBinding&quot; bindingConfiguration=&quot;BasicHttpBinding_IStationService&quot; contract=&quot;StationService.IStationService&quot; name=&quot;BasicHttpBinding_IStationService&quot; /&gt;" contractName="StationService.IStationService" name="BasicHttpBinding_IStationService" />
+  </endpoints>
+</configurationSnapshot>
\ No newline at end of file
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/configuration91.svcinfo b/CC/iWareCC_ASRS/Connected Services/StationService/configuration91.svcinfo
new file mode 100644
index 0000000..9e5708a
--- /dev/null
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/configuration91.svcinfo
@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="utf-8"?>
+<SavedWcfConfigurationInformation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="9.1" CheckSum="9i1rULBCvBq6tVHl9ZiDy6g7utAWUvy8AG/fo5XwUHY=">
+  <bindingConfigurations>
+    <bindingConfiguration bindingType="basicHttpBinding" name="BasicHttpBinding_IStationService">
+      <properties>
+        <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>BasicHttpBinding_IStationService</serializedValue>
+        </property>
+        <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>StrongWildcard</serializedValue>
+        </property>
+        <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>65536</serializedValue>
+        </property>
+        <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>0</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>0</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>0</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>0</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>0</serializedValue>
+        </property>
+        <property path="/textEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.Text.UTF8Encoding</serializedValue>
+        </property>
+        <property path="/transferMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Buffered</serializedValue>
+        </property>
+        <property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Text</serializedValue>
+        </property>
+        <property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
+        </property>
+        <property path="/security/mode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>None</serializedValue>
+        </property>
+        <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
+        </property>
+        <property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>None</serializedValue>
+        </property>
+        <property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>None</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Never</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>TransportSelected</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>(闆嗗悎)</serializedValue>
+        </property>
+        <property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
+        </property>
+        <property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>UserName</serializedValue>
+        </property>
+        <property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Default</serializedValue>
+        </property>
+      </properties>
+    </bindingConfiguration>
+  </bindingConfigurations>
+  <endpoints>
+    <endpoint name="BasicHttpBinding_IStationService" contract="StationService.IStationService" bindingType="basicHttpBinding" address="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/" bindingConfiguration="BasicHttpBinding_IStationService">
+      <properties>
+        <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/</serializedValue>
+        </property>
+        <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>basicHttpBinding</serializedValue>
+        </property>
+        <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>BasicHttpBinding_IStationService</serializedValue>
+        </property>
+        <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>StationService.IStationService</serializedValue>
+        </property>
+        <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
+        </property>
+        <property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>&lt;Header /&gt;</serializedValue>
+        </property>
+        <property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
+        </property>
+        <property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
+        </property>
+        <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
+        </property>
+        <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
+        </property>
+        <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
+        </property>
+        <property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
+        </property>
+        <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>My</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>LocalMachine</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>FindBySubjectDistinguishedName</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>BasicHttpBinding_IStationService</serializedValue>
+        </property>
+        <property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+      </properties>
+    </endpoint>
+  </endpoints>
+</SavedWcfConfigurationInformation>
\ No newline at end of file
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/iWareCC.StationService.SdaResEntity.datasource b/CC/iWareCC_ASRS/Connected Services/StationService/iWareCC.StationService.SdaResEntity.datasource
new file mode 100644
index 0000000..db40baf
--- /dev/null
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/iWareCC.StationService.SdaResEntity.datasource
@@ -0,0 +1,10 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="SdaResEntity" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>iWareCC.StationService.SdaResEntity, Connected Services.StationService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/iWareCC.StationService.StationView.datasource b/CC/iWareCC_ASRS/Connected Services/StationService/iWareCC.StationService.StationView.datasource
new file mode 100644
index 0000000..90e0c9c
--- /dev/null
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/iWareCC.StationService.StationView.datasource
@@ -0,0 +1,10 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="StationView" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>iWareCC.StationService.StationView, Connected Services.StationService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/item.disco b/CC/iWareCC_ASRS/Connected Services/StationService/item.disco
new file mode 100644
index 0000000..9f87d34
--- /dev/null
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/item.disco
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<discovery xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.xmlsoap.org/disco/">
+  <contractRef ref="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/?wsdl" docRef="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
+</discovery>
\ No newline at end of file
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/item.xsd b/CC/iWareCC_ASRS/Connected Services/StationService/item.xsd
new file mode 100644
index 0000000..52a7c95
--- /dev/null
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/item.xsd
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/iWareSda.Model" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/iWareSda.Model" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:complexType name="ArrayOfDeviceWarningInfo">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="DeviceWarningInfo" nillable="true" type="tns:DeviceWarningInfo" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfDeviceWarningInfo" nillable="true" type="tns:ArrayOfDeviceWarningInfo" />
+  <xs:complexType name="DeviceWarningInfo">
+    <xs:sequence>
+      <xs:element name="_x003C_Address_x003E_k__BackingField" nillable="true" type="xs:string" />
+      <xs:element name="_x003C_Code_x003E_k__BackingField" nillable="true" type="xs:string" />
+      <xs:element name="_x003C_Context_x003E_k__BackingField" nillable="true" type="xs:string" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="DeviceWarningInfo" nillable="true" type="tns:DeviceWarningInfo" />
+</xs:schema>
\ No newline at end of file
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/item1.xsd b/CC/iWareCC_ASRS/Connected Services/StationService/item1.xsd
new file mode 100644
index 0000000..d58e7f3
--- /dev/null
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/item1.xsd
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:element name="anyType" nillable="true" type="xs:anyType" />
+  <xs:element name="anyURI" nillable="true" type="xs:anyURI" />
+  <xs:element name="base64Binary" nillable="true" type="xs:base64Binary" />
+  <xs:element name="boolean" nillable="true" type="xs:boolean" />
+  <xs:element name="byte" nillable="true" type="xs:byte" />
+  <xs:element name="dateTime" nillable="true" type="xs:dateTime" />
+  <xs:element name="decimal" nillable="true" type="xs:decimal" />
+  <xs:element name="double" nillable="true" type="xs:double" />
+  <xs:element name="float" nillable="true" type="xs:float" />
+  <xs:element name="int" nillable="true" type="xs:int" />
+  <xs:element name="long" nillable="true" type="xs:long" />
+  <xs:element name="QName" nillable="true" type="xs:QName" />
+  <xs:element name="short" nillable="true" type="xs:short" />
+  <xs:element name="string" nillable="true" type="xs:string" />
+  <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" />
+  <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" />
+  <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" />
+  <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" />
+  <xs:element name="char" nillable="true" type="tns:char" />
+  <xs:simpleType name="char">
+    <xs:restriction base="xs:int" />
+  </xs:simpleType>
+  <xs:element name="duration" nillable="true" type="tns:duration" />
+  <xs:simpleType name="duration">
+    <xs:restriction base="xs:duration">
+      <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" />
+      <xs:minInclusive value="-P10675199DT2H48M5.4775808S" />
+      <xs:maxInclusive value="P10675199DT2H48M5.4775807S" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="guid" nillable="true" type="tns:guid" />
+  <xs:simpleType name="guid">
+    <xs:restriction base="xs:string">
+      <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:attribute name="FactoryType" type="xs:QName" />
+  <xs:attribute name="Id" type="xs:ID" />
+  <xs:attribute name="Ref" type="xs:IDREF" />
+</xs:schema>
\ No newline at end of file
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/item2.xsd b/CC/iWareCC_ASRS/Connected Services/StationService/item2.xsd
new file mode 100644
index 0000000..67c7087
--- /dev/null
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/item2.xsd
@@ -0,0 +1,229 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import schemaLocation="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/iWareSda" />
+  <xs:element name="ClearAlarm">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" name="deviceId" type="xs:int" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ClearAlarmResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="ClearAlarmResult" nillable="true" type="q1:SdaResEntity" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SendStationTask">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" name="deviceId" type="xs:int" />
+        <xs:element minOccurs="0" name="taskId" type="xs:int" />
+        <xs:element minOccurs="0" name="sourcePlce" nillable="true" type="xs:string" />
+        <xs:element minOccurs="0" name="toPlace" nillable="true" type="xs:string" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SendStationTaskResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="SendStationTaskResult" nillable="true" type="q2:SdaResEntity" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WriteStp">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" name="deviceId" type="xs:int" />
+        <xs:element minOccurs="0" name="value" type="xs:boolean" />
+        <xs:element minOccurs="0" name="stationCode" nillable="true" type="xs:string" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WriteStpResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStpResult" nillable="true" type="q3:SdaResEntity" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetStationInfo">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" name="deviceId" type="xs:int" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetStationInfoResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="GetStationInfoResult" nillable="true" type="q4:StationView" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="IsTaskFinish">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" name="deviceId" type="xs:int" />
+        <xs:element minOccurs="0" name="taskId" type="xs:int" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="IsTaskFinishResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="IsTaskFinishResult" nillable="true" type="q5:SdaResEntity" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="DeleteStationTask">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" name="deviceId" type="xs:int" />
+        <xs:element minOccurs="0" name="taskId" type="xs:int" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="DeleteStationTaskResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="DeleteStationTaskResult" nillable="true" type="q6:SdaResEntity" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="IsStationAuto">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" name="deviceId" type="xs:int" />
+        <xs:element minOccurs="0" name="stationCode" nillable="true" type="xs:string" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="IsStationAutoResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q7="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="IsStationAutoResult" nillable="true" type="q7:SdaResEntity" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="IsAllowSendTask">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" name="isNeedValidateRealSourceAndToPlace" type="xs:boolean" />
+        <xs:element minOccurs="0" name="deviceId" type="xs:int" />
+        <xs:element minOccurs="0" name="stationCode" nillable="true" type="xs:string" />
+        <xs:element minOccurs="0" name="toStationCode" nillable="true" type="xs:string" />
+        <xs:element minOccurs="0" name="isStationTask" type="xs:boolean" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="IsAllowSendTaskResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q8="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="IsAllowSendTaskResult" nillable="true" type="q8:SdaResEntity" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="IsHaveHeatBeat">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" name="deviceId" type="xs:int" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="IsHaveHeatBeatResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q9="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="IsHaveHeatBeatResult" nillable="true" type="q9:SdaResEntity" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WriteQiTaoInfo">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" name="deviceId" type="xs:int" />
+        <xs:element minOccurs="0" name="stationCode" nillable="true" type="xs:string" />
+        <xs:element minOccurs="0" name="value" type="xs:boolean" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WriteQiTaoInfoResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q10="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteQiTaoInfoResult" nillable="true" type="q10:SdaResEntity" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WriteInStoreTaskInfo">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" name="deviceId" type="xs:int" />
+        <xs:element minOccurs="0" name="stationCode" nillable="true" type="xs:string" />
+        <xs:element minOccurs="0" name="toPlaceNo" nillable="true" type="xs:string" />
+        <xs:element minOccurs="0" name="length" type="xs:short" />
+        <xs:element minOccurs="0" name="width" type="xs:short" />
+        <xs:element minOccurs="0" name="height" type="xs:short" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WriteInStoreTaskInfoResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteInStoreTaskInfoResult" nillable="true" type="q11:SdaResEntity" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WriteStation_FinishACK">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" name="deviceId" type="xs:int" />
+        <xs:element minOccurs="0" name="value" type="xs:boolean" />
+        <xs:element minOccurs="0" name="plcTaskId" type="xs:int" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WriteStation_FinishACKResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q12="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_FinishACKResult" nillable="true" type="q12:SdaResEntity" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WriteScanValidateACK">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" name="isReset" type="xs:boolean" />
+        <xs:element minOccurs="0" name="deviceId" type="xs:int" />
+        <xs:element minOccurs="0" name="stationCode" nillable="true" type="xs:string" />
+        <xs:element minOccurs="0" name="value" type="xs:boolean" />
+        <xs:element minOccurs="0" name="plcTaskId" type="xs:int" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WriteScanValidateACKResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q13="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteScanValidateACKResult" nillable="true" type="q13:SdaResEntity" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WriteStation_XigangGetDataForOut">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element minOccurs="0" name="deviceId" type="xs:int" />
+        <xs:element minOccurs="0" name="value__Out_MaterialModel" nillable="true" type="xs:string" />
+        <xs:element minOccurs="0" name="value_Out_OrderNo" nillable="true" type="xs:string" />
+        <xs:element minOccurs="0" name="value_Out_SerialNumber" nillable="true" type="xs:string" />
+        <xs:element minOccurs="0" name="plcTaskId" type="xs:int" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="WriteStation_XigangGetDataForOutResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q14="http://schemas.datacontract.org/2004/07/iWareSda" minOccurs="0" name="WriteStation_XigangGetDataForOutResult" nillable="true" type="q14:SdaResEntity" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
\ No newline at end of file
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd b/CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd
new file mode 100644
index 0000000..24ff9ab
--- /dev/null
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/item3.xsd
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/iWareSda.Devices._3_Station.StationModel" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/iWareSda.Devices._3_Station.StationModel" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:complexType name="ArrayOfStationDB2ObjForReadComm">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="StationDB2ObjForReadComm" nillable="true" type="tns:StationDB2ObjForReadComm" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfStationDB2ObjForReadComm" nillable="true" type="tns:ArrayOfStationDB2ObjForReadComm" />
+  <xs:complexType name="StationDB2ObjForReadComm">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="R_ACK" type="xs:boolean" />
+      <xs:element minOccurs="0" name="R_AlarmCode" type="xs:short" />
+      <xs:element minOccurs="0" name="R_AlarmCodeMsg" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="R_Destination" type="xs:short" />
+      <xs:element minOccurs="0" name="R_InboundFinish" type="xs:boolean" />
+      <xs:element minOccurs="0" name="R_InboundNumber" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="R_Model" type="xs:short" />
+      <xs:element minOccurs="0" name="R_OutboundFinish" type="xs:boolean" />
+      <xs:element minOccurs="0" name="R_OutboundNumber" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="R_ReadCodeResult" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="R_ReqParseData" type="xs:boolean" />
+      <xs:element minOccurs="0" name="R_Shape" type="xs:short" />
+      <xs:element minOccurs="0" name="R_State" type="xs:short" />
+      <xs:element minOccurs="0" name="R_TaskID" type="xs:int" />
+      <xs:element minOccurs="0" name="StationCode" nillable="true" type="xs:string" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="StationDB2ObjForReadComm" nillable="true" type="tns:StationDB2ObjForReadComm" />
+  <xs:complexType name="ArrayOfStationDB2ObjForWriteComm">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="StationDB2ObjForWriteComm" nillable="true" type="tns:StationDB2ObjForWriteComm" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfStationDB2ObjForWriteComm" nillable="true" type="tns:ArrayOfStationDB2ObjForWriteComm" />
+  <xs:complexType name="StationDB2ObjForWriteComm">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="StationCode" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="W_CartonHeight" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="W_CartonWidth" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="W_DataFinish" type="xs:boolean" />
+      <xs:element minOccurs="0" name="W_Destination_In" type="xs:int" />
+      <xs:element minOccurs="0" name="W_Destination_Out" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="W_Height" type="xs:short" />
+      <xs:element minOccurs="0" name="W_IsRotate" type="xs:boolean" />
+      <xs:element minOccurs="0" name="W_KittingInfo" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="W_Length" type="xs:short" />
+      <xs:element minOccurs="0" name="W_PackageLength" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="W_PackageWidth" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="W_ReqOut" type="xs:boolean" />
+      <xs:element minOccurs="0" name="W_TaskID" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="W_Width" type="xs:short" />
+      <xs:element minOccurs="0" name="W_X_Offset" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="W_Y_Offset" nillable="true" type="xs:string" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="StationDB2ObjForWriteComm" nillable="true" type="tns:StationDB2ObjForWriteComm" />
+</xs:schema>
\ No newline at end of file
diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/item4.xsd b/CC/iWareCC_ASRS/Connected Services/StationService/item4.xsd
new file mode 100644
index 0000000..8d5c1b2
--- /dev/null
+++ b/CC/iWareCC_ASRS/Connected Services/StationService/item4.xsd
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/iWareSda" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/iWareSda" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import schemaLocation="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/?xsd=xsd4" namespace="http://schemas.datacontract.org/2004/07/iWareSda.Model" />
+  <xs:import schemaLocation="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/iWareSda.Devices._3_Station.StationModel" />
+  <xs:complexType name="SdaResEntity">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="resData" nillable="true" type="xs:anyType" />
+      <xs:element minOccurs="0" name="resMsg" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="result" type="xs:boolean" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="SdaResEntity" nillable="true" type="tns:SdaResEntity" />
+  <xs:complexType name="StationView">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:StationDB2Obj">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="DeviceId" type="xs:int" />
+          <xs:element minOccurs="0" name="DeviceName" nillable="true" type="xs:string" />
+          <xs:element minOccurs="0" name="IsConnected" type="xs:boolean" />
+          <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/iWareSda.Model" minOccurs="0" name="R_Line_WarningDBList" nillable="true" type="q1:ArrayOfDeviceWarningInfo" />
+          <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/iWareSda.Model" minOccurs="0" name="R_Station_WarningDBList" nillable="true" type="q2:ArrayOfDeviceWarningInfo" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="StationView" nillable="true" type="tns:StationView" />
+  <xs:complexType name="StationDB2Obj">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="R_1002_Scan" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="R_1004_Scan" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="R_1006_Scan" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="R_1007_Scan" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="R_1009_High1" type="xs:boolean" />
+      <xs:element minOccurs="0" name="R_1009_High2" type="xs:boolean" />
+      <xs:element minOccurs="0" name="R_1009_High3" type="xs:boolean" />
+      <xs:element minOccurs="0" name="R_1015_Scan" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="R_1019_CargoNoScan" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="R_1019_Scan" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="R_HandShake" type="xs:int" />
+      <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/iWareSda.Devices._3_Station.StationModel" minOccurs="0" name="R_StationForReadCommList" nillable="true" type="q3:ArrayOfStationDB2ObjForReadComm" />
+      <xs:element minOccurs="0" name="R_StationNo" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="R_Station_Coordinate" type="xs:int" />
+      <xs:element minOccurs="0" name="R_Station_Finish" type="xs:boolean" />
+      <xs:element minOccurs="0" name="W_1002_ScanFailACK" type="xs:boolean" />
+      <xs:element minOccurs="0" name="W_1002_ScanSuccessACK" type="xs:boolean" />
+      <xs:element minOccurs="0" name="W_1004_ScanFailACK" type="xs:boolean" />
+      <xs:element minOccurs="0" name="W_1004_ScanSuccessACK" type="xs:boolean" />
+      <xs:element minOccurs="0" name="W_1006_ScanFailACK" type="xs:boolean" />
+      <xs:element minOccurs="0" name="W_1006_ScanSuccessACK" type="xs:boolean" />
+      <xs:element minOccurs="0" name="W_1007_ScanFailACK" type="xs:boolean" />
+      <xs:element minOccurs="0" name="W_1007_ScanSuccessACK" type="xs:boolean" />
+      <xs:element minOccurs="0" name="W_1015_ReScan" type="xs:boolean" />
+      <xs:element minOccurs="0" name="W_1019_ReScan" type="xs:boolean" />
+      <xs:element minOccurs="0" name="W_HandShake" type="xs:boolean" />
+      <xs:element minOccurs="0" name="W_Out_MaterialModel" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="W_Out_OrderNo" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="W_Out_SerialNumber" nillable="true" type="xs:string" />
+      <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/iWareSda.Devices._3_Station.StationModel" minOccurs="0" name="W_StationForWriteCommList" nillable="true" type="q4:ArrayOfStationDB2ObjForWriteComm" />
+      <xs:element minOccurs="0" name="W_Station_FinishACK" type="xs:boolean" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="StationDB2Obj" nillable="true" type="tns:StationDB2Obj" />
+</xs:schema>
\ No newline at end of file
diff --git a/CC/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadService/RgvThreadService/RgvTaskThreadService.cs b/CC/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadService/RgvThreadService/RgvTaskThreadService.cs
index 1d1ed75..2442caa 100644
--- a/CC/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadService/RgvThreadService/RgvTaskThreadService.cs
+++ b/CC/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadService/RgvThreadService/RgvTaskThreadService.cs
@@ -681,7 +681,7 @@
                         catch (Exception ex)
                         {
                             errMsg = "鍑虹幇寮傚父:" + ex.Message;
-                            Log4NetHelper.WriteErrorLog(LogType.RgvThreadService, errMsg, ex);
+                            Log4NetHelper.WriteErrorLog(LogType.StationThreadService, errMsg, ex);
                             TaskRequestLogHandler.InsertTask(base.currentLogType, RequestStatusEnum.璇锋眰澶辫触, JsonConvert.SerializeObject(confirmTaskFinish), log, ex);
                             trans.Rollback();
                             return;
@@ -747,14 +747,14 @@
                 bool rgvFinishAck = FormCC.rgvView.W_RGV_FinishACK;
 
                 errMsg = $"RGV浠诲姟瀹屾垚纭琛ュ伩绾跨▼淇℃伅,鑾峰彇淇℃伅锛歳gvTaskId:{rgvTaskId},isRgvFinish:{isRgvFinish},rgvFinishAck:{rgvFinishAck}";
-                Log4NetHelper.WriteInfoLog(LogType.RgvThreadService, errMsg);
+                Log4NetHelper.WriteInfoLog(LogType.StationThreadService, errMsg);
 
                 //濡傛灉ack涓篺alse锛宖inish涓簍rue锛屽苟涓� wms鐨勮浠诲姟涓� 宸插畬鎴愶紝鍒欒〃绀洪渶瑕佽ˉ鍋�
                 Task_Part currentTask = null;
                 if (rgvTaskId > 0 && rgvFinishAck == false && isRgvFinish == true)
                 {
                     errMsg = $"RGV浠诲姟瀹屾垚纭琛ュ伩绾跨▼淇℃伅,鍒濇绗﹀悎鏉′欢锛歳gvTaskId:{rgvTaskId},isRgvFinish:{isRgvFinish},rgvFinishAck:{rgvFinishAck}";
-                    Log4NetHelper.WriteInfoLog(LogType.RgvThreadService, errMsg);
+                    Log4NetHelper.WriteInfoLog(LogType.StationThreadService, errMsg);
 
                     using (DbModel dbModel = new DbModel())
                     {
@@ -774,25 +774,25 @@
                                 if (ts.Seconds > 10)
                                 {//鍙湁 宸插畬鎴愪换鍔℃椂闂磋秴鍑哄綋鍓�3绉掑悗锛屾墠鑳藉鐞嗭紒
                                     errMsg = $"RGV浠诲姟瀹屾垚纭琛ュ伩绾跨▼淇℃伅,鍑嗗澶勭悊锛歳gvTaskId:{rgvTaskId},isRgvFinish:{isRgvFinish},rgvFinishAck:{rgvFinishAck}";
-                                    Log4NetHelper.WriteInfoLog(LogType.RgvThreadService, errMsg);
+                                    Log4NetHelper.WriteInfoLog(LogType.StationThreadService, errMsg);
 
                                     var confirmTaskFinish = new RgvService.RgvServiceClient().WriteRGV_FinishACK((int)EDevice.RGV, true, Convert.ToInt32(currentTask.PlcTaskId));
                                     if (!confirmTaskFinish.result)
                                     {
                                         errMsg = $"RGV浠诲姟瀹屾垚纭琛ュ伩绾跨▼澶辫触锛歳gvTaskId:{rgvTaskId},SDA杩斿洖:" + confirmTaskFinish.resMsg;
-                                        Log4NetHelper.WriteErrorLog(LogType.RgvThreadService, errMsg, null);
+                                        Log4NetHelper.WriteErrorLog(LogType.StationThreadService, errMsg, null);
                                         return;
                                     }
                                     else
                                     {
                                         errMsg = $"RGV浠诲姟瀹屾垚纭琛ュ伩绾跨▼鎴愬姛{rgvTaskId}锛歳gvTaskId:{rgvTaskId}";
-                                        Log4NetHelper.WriteInfoLog(LogType.RgvThreadService, errMsg);
+                                        Log4NetHelper.WriteInfoLog(LogType.StationThreadService, errMsg);
                                     }
                                 }
                                 else
                                 {
                                     errMsg = $"RGV浠诲姟瀹屾垚纭琛ュ伩绾跨▼淇℃伅,鏈秴杩�3绉掞紝涓嶅鐞嗭細rgvTaskId:{rgvTaskId},isRgvFinish:{isRgvFinish},rgvFinishAck:{rgvFinishAck}";
-                                    Log4NetHelper.WriteInfoLog(LogType.RgvThreadService, errMsg);
+                                    Log4NetHelper.WriteInfoLog(LogType.StationThreadService, errMsg);
                                     return;
                                 }
                             }
@@ -818,7 +818,7 @@
             catch (Exception ex)
             {
                 errMsg = "RGV浠诲姟瀹屾垚纭琛ュ伩绾跨▼-鍑虹幇寮傚父:" + ex.Message;
-                Log4NetHelper.WriteErrorLog(LogType.RgvThreadService, errMsg, ex);
+                Log4NetHelper.WriteErrorLog(LogType.StationThreadService, errMsg, ex);
                 return;
             }
         }
@@ -924,18 +924,18 @@
                 if (sdaResult.result == false)
                 {//缁橰gv涓嬪彂鎸囦护澶辫触
                     errMsg = sdaResult.resMsg;
-                    Log4NetHelper.WriteErrorLog(LogType.RgvThreadService, errMsg, null);
+                    Log4NetHelper.WriteErrorLog(LogType.StationThreadService, errMsg, null);
                     return;
                 }
                 else
                 {
-                    Log4NetHelper.WriteInfoLog(LogType.RgvThreadService, "鍙戝姩鏈哄嚭搴擄紝缁欒タ娓疨LC鍙戦�佸彂鍔ㄦ満鏁版嵁,涓讳换鍔″彿:" + mainTask.Id);
+                    Log4NetHelper.WriteInfoLog(LogType.StationThreadService, "鍙戝姩鏈哄嚭搴擄紝缁欒タ娓疨LC鍙戦�佸彂鍔ㄦ満鏁版嵁,涓讳换鍔″彿:" + mainTask.Id);
                 }
             }
             catch (Exception ex)
             {
                 errMsg = "鍑虹幇寮傚父:" + ex.Message;
-                Log4NetHelper.WriteErrorLog(LogType.RgvThreadService, errMsg, ex);
+                Log4NetHelper.WriteErrorLog(LogType.StationThreadService, errMsg, ex);
                 return;
             }
         }
diff --git a/CC/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadServiceFactory.cs b/CC/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadServiceFactory.cs
index 4c86d5d..e9605d5 100644
--- a/CC/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadServiceFactory.cs
+++ b/CC/iWareCC_ASRS/DeviceThreadFactory/DeviceThreadServiceFactory.cs
@@ -26,7 +26,7 @@
                     handler = new SrmTaskThreadService(iWareCommon.Utils.LogType.SrmTheadService);
                     break;
                 case EDeviceType.RGV:
-                    handler = new RgvTaskThreadService(iWareCommon.Utils.LogType.RgvThreadService);
+                    handler = new RgvTaskThreadService(iWareCommon.Utils.LogType.StationThreadService);
                     break;
             }
             return handler;
diff --git a/CC/iWareCC_ASRS/FormCC.Designer.cs b/CC/iWareCC_ASRS/FormCC.Designer.cs
index 1902390..b67fa92 100644
--- a/CC/iWareCC_ASRS/FormCC.Designer.cs
+++ b/CC/iWareCC_ASRS/FormCC.Designer.cs
@@ -222,20 +222,20 @@
             this.tp_Thread = new System.Windows.Forms.TabPage();
             this.gBoxThread = new System.Windows.Forms.GroupBox();
             this.groupBox1 = new System.Windows.Forms.GroupBox();
-            this.lbl_alert_AutoUpdateEngineInfoTask = new System.Windows.Forms.Label();
-            this.ck_AutoUpdateEngineInfoTask = new System.Windows.Forms.CheckBox();
-            this.lbl_alert_AutoIssueInStoreTask = new System.Windows.Forms.Label();
+            this.lbl_alert_DataProcess_269 = new System.Windows.Forms.Label();
+            this.ck_DataProcess_269 = new System.Windows.Forms.CheckBox();
+            this.lbl_alert_DataProcess_BZ01 = new System.Windows.Forms.Label();
             this.ck_AutoIssueInStoreTask = new System.Windows.Forms.CheckBox();
-            this.lbl_alert_AutoSalverMaterialBindTask = new System.Windows.Forms.Label();
-            this.ck_AutoSalverMaterialBindTask = new System.Windows.Forms.CheckBox();
+            this.lbl_alert_DataProcess_BZ39 = new System.Windows.Forms.Label();
+            this.ck_DataProcess_BZ39 = new System.Windows.Forms.CheckBox();
             this.lbl_Alert_RgvReleaseFinish_BuChang = new System.Windows.Forms.Label();
             this.ckBRgvFinishedHandle_BuChang = new System.Windows.Forms.CheckBox();
-            this.lbl_Alert_VirtualTaskNoOutPlanTaskHandler = new System.Windows.Forms.Label();
-            this.ck_VirtualTaskNoOutPlanTaskHandler = new System.Windows.Forms.CheckBox();
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTask = new System.Windows.Forms.Label();
+            this.ck_DataProcess_RobotBuffer_FinishTask = new System.Windows.Forms.CheckBox();
             this.lbl_Alter_OutTaskRetryToMes = new System.Windows.Forms.Label();
             this.checkBox_OutTaskRetryToMes = new System.Windows.Forms.CheckBox();
-            this.lbl_Alert_LineInScan = new System.Windows.Forms.Label();
-            this.checkBox_LineInScan = new System.Windows.Forms.CheckBox();
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = new System.Windows.Forms.Label();
+            this.checkBox_DataProcess_RobotBuffer_FinishTaskForOutbound = new System.Windows.Forms.CheckBox();
             this.lbl_MainTaskDecompose_ZPRK = new System.Windows.Forms.Label();
             this.ckMainTaskDecompose_ZPRK = new System.Windows.Forms.CheckBox();
             this.lbl_Alert_Agv = new System.Windows.Forms.Label();
@@ -2969,20 +2969,20 @@
             // 
             // groupBox1
             // 
-            this.groupBox1.Controls.Add(this.lbl_alert_AutoUpdateEngineInfoTask);
-            this.groupBox1.Controls.Add(this.ck_AutoUpdateEngineInfoTask);
-            this.groupBox1.Controls.Add(this.lbl_alert_AutoIssueInStoreTask);
+            this.groupBox1.Controls.Add(this.lbl_alert_DataProcess_269);
+            this.groupBox1.Controls.Add(this.ck_DataProcess_269);
+            this.groupBox1.Controls.Add(this.lbl_alert_DataProcess_BZ01);
             this.groupBox1.Controls.Add(this.ck_AutoIssueInStoreTask);
-            this.groupBox1.Controls.Add(this.lbl_alert_AutoSalverMaterialBindTask);
-            this.groupBox1.Controls.Add(this.ck_AutoSalverMaterialBindTask);
+            this.groupBox1.Controls.Add(this.lbl_alert_DataProcess_BZ39);
+            this.groupBox1.Controls.Add(this.ck_DataProcess_BZ39);
             this.groupBox1.Controls.Add(this.lbl_Alert_RgvReleaseFinish_BuChang);
             this.groupBox1.Controls.Add(this.ckBRgvFinishedHandle_BuChang);
-            this.groupBox1.Controls.Add(this.lbl_Alert_VirtualTaskNoOutPlanTaskHandler);
-            this.groupBox1.Controls.Add(this.ck_VirtualTaskNoOutPlanTaskHandler);
+            this.groupBox1.Controls.Add(this.lbl_Alert_DataProcess_RobotBuffer_FinishTask);
+            this.groupBox1.Controls.Add(this.ck_DataProcess_RobotBuffer_FinishTask);
             this.groupBox1.Controls.Add(this.lbl_Alter_OutTaskRetryToMes);
             this.groupBox1.Controls.Add(this.checkBox_OutTaskRetryToMes);
-            this.groupBox1.Controls.Add(this.lbl_Alert_LineInScan);
-            this.groupBox1.Controls.Add(this.checkBox_LineInScan);
+            this.groupBox1.Controls.Add(this.lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound);
+            this.groupBox1.Controls.Add(this.checkBox_DataProcess_RobotBuffer_FinishTaskForOutbound);
             this.groupBox1.Controls.Add(this.lbl_MainTaskDecompose_ZPRK);
             this.groupBox1.Controls.Add(this.ckMainTaskDecompose_ZPRK);
             this.groupBox1.Controls.Add(this.lbl_Alert_Agv);
@@ -3028,74 +3028,74 @@
             this.groupBox1.TabStop = false;
             this.groupBox1.Text = "设备调度";
             // 
-            // lbl_alert_AutoUpdateEngineInfoTask
+            // lbl_alert_DataProcess_269
             // 
-            this.lbl_alert_AutoUpdateEngineInfoTask.AutoSize = true;
-            this.lbl_alert_AutoUpdateEngineInfoTask.BackColor = System.Drawing.Color.White;
-            this.lbl_alert_AutoUpdateEngineInfoTask.ForeColor = System.Drawing.Color.Red;
-            this.lbl_alert_AutoUpdateEngineInfoTask.Location = new System.Drawing.Point(210, 831);
-            this.lbl_alert_AutoUpdateEngineInfoTask.Name = "lbl_alert_AutoUpdateEngineInfoTask";
-            this.lbl_alert_AutoUpdateEngineInfoTask.Size = new System.Drawing.Size(70, 15);
-            this.lbl_alert_AutoUpdateEngineInfoTask.TabIndex = 57;
-            this.lbl_alert_AutoUpdateEngineInfoTask.Text = "label11";
+            this.lbl_alert_DataProcess_269.AutoSize = true;
+            this.lbl_alert_DataProcess_269.BackColor = System.Drawing.Color.White;
+            this.lbl_alert_DataProcess_269.ForeColor = System.Drawing.Color.Red;
+            this.lbl_alert_DataProcess_269.Location = new System.Drawing.Point(210, 821);
+            this.lbl_alert_DataProcess_269.Name = "lbl_alert_DataProcess_269";
+            this.lbl_alert_DataProcess_269.Size = new System.Drawing.Size(70, 15);
+            this.lbl_alert_DataProcess_269.TabIndex = 57;
+            this.lbl_alert_DataProcess_269.Text = "label11";
             // 
-            // ck_AutoUpdateEngineInfoTask
+            // ck_DataProcess_269
             // 
-            this.ck_AutoUpdateEngineInfoTask.AutoSize = true;
-            this.ck_AutoUpdateEngineInfoTask.Location = new System.Drawing.Point(4, 831);
-            this.ck_AutoUpdateEngineInfoTask.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
-            this.ck_AutoUpdateEngineInfoTask.Name = "ck_AutoUpdateEngineInfoTask";
-            this.ck_AutoUpdateEngineInfoTask.Size = new System.Drawing.Size(205, 19);
-            this.ck_AutoUpdateEngineInfoTask.TabIndex = 56;
-            this.ck_AutoUpdateEngineInfoTask.Text = "重新获取发动机信息线程";
-            this.ck_AutoUpdateEngineInfoTask.UseVisualStyleBackColor = true;
-            this.ck_AutoUpdateEngineInfoTask.CheckedChanged += new System.EventHandler(this.CommonCheckedChanged);
+            this.ck_DataProcess_269.AutoSize = true;
+            this.ck_DataProcess_269.Location = new System.Drawing.Point(4, 821);
+            this.ck_DataProcess_269.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.ck_DataProcess_269.Name = "ck_DataProcess_269";
+            this.ck_DataProcess_269.Size = new System.Drawing.Size(120, 19);
+            this.ck_DataProcess_269.TabIndex = 56;
+            this.ck_DataProcess_269.Text = "269工位线程";
+            this.ck_DataProcess_269.UseVisualStyleBackColor = true;
+            this.ck_DataProcess_269.CheckedChanged += new System.EventHandler(this.CommonCheckedChanged);
             // 
-            // lbl_alert_AutoIssueInStoreTask
+            // lbl_alert_DataProcess_BZ01
             // 
-            this.lbl_alert_AutoIssueInStoreTask.AutoSize = true;
-            this.lbl_alert_AutoIssueInStoreTask.BackColor = System.Drawing.Color.White;
-            this.lbl_alert_AutoIssueInStoreTask.ForeColor = System.Drawing.Color.Red;
-            this.lbl_alert_AutoIssueInStoreTask.Location = new System.Drawing.Point(212, 796);
-            this.lbl_alert_AutoIssueInStoreTask.Name = "lbl_alert_AutoIssueInStoreTask";
-            this.lbl_alert_AutoIssueInStoreTask.Size = new System.Drawing.Size(70, 15);
-            this.lbl_alert_AutoIssueInStoreTask.TabIndex = 55;
-            this.lbl_alert_AutoIssueInStoreTask.Text = "label11";
+            this.lbl_alert_DataProcess_BZ01.AutoSize = true;
+            this.lbl_alert_DataProcess_BZ01.BackColor = System.Drawing.Color.White;
+            this.lbl_alert_DataProcess_BZ01.ForeColor = System.Drawing.Color.Red;
+            this.lbl_alert_DataProcess_BZ01.Location = new System.Drawing.Point(212, 786);
+            this.lbl_alert_DataProcess_BZ01.Name = "lbl_alert_DataProcess_BZ01";
+            this.lbl_alert_DataProcess_BZ01.Size = new System.Drawing.Size(70, 15);
+            this.lbl_alert_DataProcess_BZ01.TabIndex = 55;
+            this.lbl_alert_DataProcess_BZ01.Text = "label11";
             // 
             // ck_AutoIssueInStoreTask
             // 
             this.ck_AutoIssueInStoreTask.AutoSize = true;
-            this.ck_AutoIssueInStoreTask.Location = new System.Drawing.Point(6, 796);
+            this.ck_AutoIssueInStoreTask.Location = new System.Drawing.Point(6, 786);
             this.ck_AutoIssueInStoreTask.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
             this.ck_AutoIssueInStoreTask.Name = "ck_AutoIssueInStoreTask";
-            this.ck_AutoIssueInStoreTask.Size = new System.Drawing.Size(157, 19);
+            this.ck_AutoIssueInStoreTask.Size = new System.Drawing.Size(129, 19);
             this.ck_AutoIssueInStoreTask.TabIndex = 54;
-            this.ck_AutoIssueInStoreTask.Text = "自动组盘下发线程";
+            this.ck_AutoIssueInStoreTask.Text = "BZ01工位线程";
             this.ck_AutoIssueInStoreTask.UseVisualStyleBackColor = true;
             this.ck_AutoIssueInStoreTask.CheckedChanged += new System.EventHandler(this.CommonCheckedChanged);
             // 
-            // lbl_alert_AutoSalverMaterialBindTask
+            // lbl_alert_DataProcess_BZ39
             // 
-            this.lbl_alert_AutoSalverMaterialBindTask.AutoSize = true;
-            this.lbl_alert_AutoSalverMaterialBindTask.BackColor = System.Drawing.Color.White;
-            this.lbl_alert_AutoSalverMaterialBindTask.ForeColor = System.Drawing.Color.Red;
-            this.lbl_alert_AutoSalverMaterialBindTask.Location = new System.Drawing.Point(209, 748);
-            this.lbl_alert_AutoSalverMaterialBindTask.Name = "lbl_alert_AutoSalverMaterialBindTask";
-            this.lbl_alert_AutoSalverMaterialBindTask.Size = new System.Drawing.Size(70, 15);
-            this.lbl_alert_AutoSalverMaterialBindTask.TabIndex = 53;
-            this.lbl_alert_AutoSalverMaterialBindTask.Text = "label11";
+            this.lbl_alert_DataProcess_BZ39.AutoSize = true;
+            this.lbl_alert_DataProcess_BZ39.BackColor = System.Drawing.Color.White;
+            this.lbl_alert_DataProcess_BZ39.ForeColor = System.Drawing.Color.Red;
+            this.lbl_alert_DataProcess_BZ39.Location = new System.Drawing.Point(209, 748);
+            this.lbl_alert_DataProcess_BZ39.Name = "lbl_alert_DataProcess_BZ39";
+            this.lbl_alert_DataProcess_BZ39.Size = new System.Drawing.Size(70, 15);
+            this.lbl_alert_DataProcess_BZ39.TabIndex = 53;
+            this.lbl_alert_DataProcess_BZ39.Text = "label11";
             // 
-            // ck_AutoSalverMaterialBindTask
+            // ck_DataProcess_BZ39
             // 
-            this.ck_AutoSalverMaterialBindTask.AutoSize = true;
-            this.ck_AutoSalverMaterialBindTask.Location = new System.Drawing.Point(5, 748);
-            this.ck_AutoSalverMaterialBindTask.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
-            this.ck_AutoSalverMaterialBindTask.Name = "ck_AutoSalverMaterialBindTask";
-            this.ck_AutoSalverMaterialBindTask.Size = new System.Drawing.Size(125, 19);
-            this.ck_AutoSalverMaterialBindTask.TabIndex = 52;
-            this.ck_AutoSalverMaterialBindTask.Text = "自动组盘线程";
-            this.ck_AutoSalverMaterialBindTask.UseVisualStyleBackColor = true;
-            this.ck_AutoSalverMaterialBindTask.CheckedChanged += new System.EventHandler(this.CommonCheckedChanged);
+            this.ck_DataProcess_BZ39.AutoSize = true;
+            this.ck_DataProcess_BZ39.Location = new System.Drawing.Point(5, 748);
+            this.ck_DataProcess_BZ39.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.ck_DataProcess_BZ39.Name = "ck_DataProcess_BZ39";
+            this.ck_DataProcess_BZ39.Size = new System.Drawing.Size(129, 19);
+            this.ck_DataProcess_BZ39.TabIndex = 52;
+            this.ck_DataProcess_BZ39.Text = "BZ39工位线程";
+            this.ck_DataProcess_BZ39.UseVisualStyleBackColor = true;
+            this.ck_DataProcess_BZ39.CheckedChanged += new System.EventHandler(this.CommonCheckedChanged);
             // 
             // lbl_Alert_RgvReleaseFinish_BuChang
             // 
@@ -3120,28 +3120,28 @@
             this.ckBRgvFinishedHandle_BuChang.UseVisualStyleBackColor = true;
             this.ckBRgvFinishedHandle_BuChang.CheckedChanged += new System.EventHandler(this.CommonCheckedChanged);
             // 
-            // lbl_Alert_VirtualTaskNoOutPlanTaskHandler
+            // lbl_Alert_DataProcess_RobotBuffer_FinishTask
             // 
-            this.lbl_Alert_VirtualTaskNoOutPlanTaskHandler.AutoSize = true;
-            this.lbl_Alert_VirtualTaskNoOutPlanTaskHandler.BackColor = System.Drawing.Color.White;
-            this.lbl_Alert_VirtualTaskNoOutPlanTaskHandler.ForeColor = System.Drawing.Color.Red;
-            this.lbl_Alert_VirtualTaskNoOutPlanTaskHandler.Location = new System.Drawing.Point(212, 714);
-            this.lbl_Alert_VirtualTaskNoOutPlanTaskHandler.Name = "lbl_Alert_VirtualTaskNoOutPlanTaskHandler";
-            this.lbl_Alert_VirtualTaskNoOutPlanTaskHandler.Size = new System.Drawing.Size(70, 15);
-            this.lbl_Alert_VirtualTaskNoOutPlanTaskHandler.TabIndex = 49;
-            this.lbl_Alert_VirtualTaskNoOutPlanTaskHandler.Text = "label11";
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTask.AutoSize = true;
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTask.BackColor = System.Drawing.Color.White;
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTask.ForeColor = System.Drawing.Color.Red;
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTask.Location = new System.Drawing.Point(307, 714);
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTask.Name = "lbl_Alert_DataProcess_RobotBuffer_FinishTask";
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTask.Size = new System.Drawing.Size(70, 15);
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTask.TabIndex = 49;
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTask.Text = "label11";
             // 
-            // ck_VirtualTaskNoOutPlanTaskHandler
+            // ck_DataProcess_RobotBuffer_FinishTask
             // 
-            this.ck_VirtualTaskNoOutPlanTaskHandler.AutoSize = true;
-            this.ck_VirtualTaskNoOutPlanTaskHandler.Location = new System.Drawing.Point(4, 714);
-            this.ck_VirtualTaskNoOutPlanTaskHandler.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
-            this.ck_VirtualTaskNoOutPlanTaskHandler.Name = "ck_VirtualTaskNoOutPlanTaskHandler";
-            this.ck_VirtualTaskNoOutPlanTaskHandler.Size = new System.Drawing.Size(189, 19);
-            this.ck_VirtualTaskNoOutPlanTaskHandler.TabIndex = 48;
-            this.ck_VirtualTaskNoOutPlanTaskHandler.Text = "虚拟库存人工出库线程";
-            this.ck_VirtualTaskNoOutPlanTaskHandler.UseVisualStyleBackColor = true;
-            this.ck_VirtualTaskNoOutPlanTaskHandler.CheckedChanged += new System.EventHandler(this.CommonCheckedChanged);
+            this.ck_DataProcess_RobotBuffer_FinishTask.AutoSize = true;
+            this.ck_DataProcess_RobotBuffer_FinishTask.Location = new System.Drawing.Point(4, 714);
+            this.ck_DataProcess_RobotBuffer_FinishTask.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.ck_DataProcess_RobotBuffer_FinishTask.Name = "ck_DataProcess_RobotBuffer_FinishTask";
+            this.ck_DataProcess_RobotBuffer_FinishTask.Size = new System.Drawing.Size(285, 19);
+            this.ck_DataProcess_RobotBuffer_FinishTask.TabIndex = 48;
+            this.ck_DataProcess_RobotBuffer_FinishTask.Text = "机器人缓存岛入库任务完成处理线程";
+            this.ck_DataProcess_RobotBuffer_FinishTask.UseVisualStyleBackColor = true;
+            this.ck_DataProcess_RobotBuffer_FinishTask.CheckedChanged += new System.EventHandler(this.CommonCheckedChanged);
             // 
             // lbl_Alter_OutTaskRetryToMes
             // 
@@ -3166,28 +3166,28 @@
             this.checkBox_OutTaskRetryToMes.UseVisualStyleBackColor = true;
             this.checkBox_OutTaskRetryToMes.CheckedChanged += new System.EventHandler(this.CommonCheckedChanged);
             // 
-            // lbl_Alert_LineInScan
+            // lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound
             // 
-            this.lbl_Alert_LineInScan.AutoSize = true;
-            this.lbl_Alert_LineInScan.BackColor = System.Drawing.Color.White;
-            this.lbl_Alert_LineInScan.ForeColor = System.Drawing.Color.Red;
-            this.lbl_Alert_LineInScan.Location = new System.Drawing.Point(216, 644);
-            this.lbl_Alert_LineInScan.Name = "lbl_Alert_LineInScan";
-            this.lbl_Alert_LineInScan.Size = new System.Drawing.Size(70, 15);
-            this.lbl_Alert_LineInScan.TabIndex = 45;
-            this.lbl_Alert_LineInScan.Text = "label11";
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound.AutoSize = true;
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound.BackColor = System.Drawing.Color.White;
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound.ForeColor = System.Drawing.Color.Red;
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound.Location = new System.Drawing.Point(324, 648);
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound.Name = "lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound";
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound.Size = new System.Drawing.Size(70, 15);
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound.TabIndex = 45;
+            this.lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound.Text = "label11";
             // 
-            // checkBox_LineInScan
+            // checkBox_DataProcess_RobotBuffer_FinishTaskForOutbound
             // 
-            this.checkBox_LineInScan.AutoSize = true;
-            this.checkBox_LineInScan.Location = new System.Drawing.Point(3, 644);
-            this.checkBox_LineInScan.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
-            this.checkBox_LineInScan.Name = "checkBox_LineInScan";
-            this.checkBox_LineInScan.Size = new System.Drawing.Size(205, 19);
-            this.checkBox_LineInScan.TabIndex = 44;
-            this.checkBox_LineInScan.Text = "堆垛机入口扫码检测线程";
-            this.checkBox_LineInScan.UseVisualStyleBackColor = true;
-            this.checkBox_LineInScan.CheckedChanged += new System.EventHandler(this.CommonCheckedChanged);
+            this.checkBox_DataProcess_RobotBuffer_FinishTaskForOutbound.AutoSize = true;
+            this.checkBox_DataProcess_RobotBuffer_FinishTaskForOutbound.Location = new System.Drawing.Point(3, 644);
+            this.checkBox_DataProcess_RobotBuffer_FinishTaskForOutbound.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.checkBox_DataProcess_RobotBuffer_FinishTaskForOutbound.Name = "checkBox_DataProcess_RobotBuffer_FinishTaskForOutbound";
+            this.checkBox_DataProcess_RobotBuffer_FinishTaskForOutbound.Size = new System.Drawing.Size(285, 19);
+            this.checkBox_DataProcess_RobotBuffer_FinishTaskForOutbound.TabIndex = 44;
+            this.checkBox_DataProcess_RobotBuffer_FinishTaskForOutbound.Text = "机器人缓存岛出库任务完成处理线程";
+            this.checkBox_DataProcess_RobotBuffer_FinishTaskForOutbound.UseVisualStyleBackColor = true;
+            this.checkBox_DataProcess_RobotBuffer_FinishTaskForOutbound.CheckedChanged += new System.EventHandler(this.CommonCheckedChanged);
             // 
             // lbl_MainTaskDecompose_ZPRK
             // 
@@ -6262,8 +6262,8 @@
         private System.Windows.Forms.Button button20;
         private System.Windows.Forms.TextBox tb_TongJi;
         private System.Windows.Forms.RadioButton rBOnlyIn;
-        private System.Windows.Forms.Label lbl_Alert_LineInScan;
-        private System.Windows.Forms.CheckBox checkBox_LineInScan;
+        private System.Windows.Forms.Label lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound;
+        private System.Windows.Forms.CheckBox checkBox_DataProcess_RobotBuffer_FinishTaskForOutbound;
         private System.Windows.Forms.Label lbl_R_PickReqForInStore_1;
         private System.Windows.Forms.Label lbl_R_PickReqForInStore_2;
         private System.Windows.Forms.Label lbl_R_PickReqForInStore_4;
@@ -6295,8 +6295,8 @@
         private System.Windows.Forms.Button btn_Find_OutTaskRetryToMes;
         private System.Windows.Forms.DataGridView dg_OutTaskRetryToMes;
         private System.Windows.Forms.Button button19;
-        private System.Windows.Forms.Label lbl_Alert_VirtualTaskNoOutPlanTaskHandler;
-        private System.Windows.Forms.CheckBox ck_VirtualTaskNoOutPlanTaskHandler;
+        private System.Windows.Forms.Label lbl_Alert_DataProcess_RobotBuffer_FinishTask;
+        private System.Windows.Forms.CheckBox ck_DataProcess_RobotBuffer_FinishTask;
         private System.Windows.Forms.DataGridViewTextBoxColumn MesId;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column11;
         private System.Windows.Forms.DataGridViewTextBoxColumn Column12;
@@ -6322,14 +6322,14 @@
         private System.Windows.Forms.Button btn_1019;
         private System.Windows.Forms.Label lbl_R_1019_Scan;
         private System.Windows.Forms.Button button21;
-        private System.Windows.Forms.Label lbl_alert_AutoSalverMaterialBindTask;
-        private System.Windows.Forms.CheckBox ck_AutoSalverMaterialBindTask;
+        private System.Windows.Forms.Label lbl_alert_DataProcess_BZ39;
+        private System.Windows.Forms.CheckBox ck_DataProcess_BZ39;
         private System.Windows.Forms.Label lblR_1019_CargoNoScan;
-        private System.Windows.Forms.Label lbl_alert_AutoIssueInStoreTask;
+        private System.Windows.Forms.Label lbl_alert_DataProcess_BZ01;
         private System.Windows.Forms.CheckBox ck_AutoIssueInStoreTask;
         private System.Windows.Forms.Button button22;
-        private System.Windows.Forms.Label lbl_alert_AutoUpdateEngineInfoTask;
-        private System.Windows.Forms.CheckBox ck_AutoUpdateEngineInfoTask;
+        private System.Windows.Forms.Label lbl_alert_DataProcess_269;
+        private System.Windows.Forms.CheckBox ck_DataProcess_269;
         private System.Windows.Forms.TextBox tb_wlm;
         private System.Windows.Forms.Label label22;
         private System.Windows.Forms.Button button23;
diff --git a/CC/iWareCC_ASRS/FormCC.cs b/CC/iWareCC_ASRS/FormCC.cs
index 115e906..286fe2c 100644
--- a/CC/iWareCC_ASRS/FormCC.cs
+++ b/CC/iWareCC_ASRS/FormCC.cs
@@ -1,31 +1,27 @@
-锘縰sing iWareCC.BLL;
-using iWareCC.Common.Helper;
+锘縰sing iWareCC.Common.Helper;
 using iWareCC.DeviceThreadFactory;
 using iWareCC.Forms;
 using iWareCC.RgvService;
 using iWareCC.SrmService;
+using iWareCC.StationService;
+using iWareCC.ThreadService;
 using iWareCC.WCF;
-using iWareCommon;
 using iWareCommon.Common.Globle;
 using iWareCommon.Utils;
 using iWareModel;
 using iWareModel.Entity.AGV;
 using iWareSql.DataAccess;
 using iWareSql.DBModel;
-using iWareSql.Orm;
 using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
-using System.ComponentModel;
 using System.Data;
 using System.Drawing;
 using System.Linq;
 using System.Linq.Expressions;
 using System.Net;
 using System.ServiceModel;
-using System.Text;
 using System.Threading;
-using System.Threading.Tasks;
 using System.Windows.Forms;
 using XiGang.Core.Model;
 using XiGang.Core.Model.ViewModels;
@@ -121,6 +117,9 @@
 
         public static RgvView rgvView;//Rgv瀹炰綋绫�
         public static RgvService.RgvServiceClient rgvServiceClient = null;
+
+        public static StationView stationView;//绔欑偣瀹炰綋绫�
+        public static StationServiceClient stationServiceClient = null;
         public FormCC()
         {
             InitializeComponent();
@@ -182,6 +181,9 @@
             tskGetRgv1Info = new Thread(GetRgvInfo);
             tskGetRgv1Info.Start();
 
+            var tskGetStationInfo = new Thread(GetStationInfo);
+            tskGetStationInfo.Start();
+
             //鍫嗗灈鏈篣I璧嬪��
             SetSrmUI();
 
@@ -197,39 +199,35 @@
             #region 鏈嶅姟绾跨▼鍚姩
 
             //鍫嗗灈鏈轰换鍔℃湇鍔$嚎绋嬪惎鍔�
-            var srmService = DeviceThreadServiceFactory.GetHandle(EDeviceType.鍫嗗灈鏈�);
-            srmService.StartService();
+            //var srmService = DeviceThreadServiceFactory.GetHandle(EDeviceType.鍫嗗灈鏈�);
+            //  srmService.StartService();
             //RGV浠诲姟鏈嶅姟绾跨▼鍚姩
-            var rgvService = DeviceThreadServiceFactory.GetHandle(EDeviceType.RGV);
-            rgvService.StartService();
+            //var rgvService = DeviceThreadServiceFactory.GetHandle(EDeviceType.RGV);
+            // rgvService.StartService();
 
 
             //澶勭悊銆愪笅鍙戜腑銆戠殑鍑哄簱璁″垝浠诲姟
-            new Thread(OutPlanTaskDecompose.HandlerIssuingTask).Start();
+            // new Thread(OutPlanTaskDecompose.HandlerIssuingTask).Start();
 
             //浠诲姟鍒嗚В绾跨▼-鍑哄簱
-            new Thread(MainTaskDecompose.HandlerMainTaskDecompose).Start();
+            // new Thread(MainTaskDecompose.HandlerMainTaskDecompose).Start();
 
             //浠诲姟鍒嗚В绾跨▼-缁勭洏鍏ュ簱
-            new Thread(MainTaskDecompose_ZPRK.HandlerMainTaskDecompose_ZPRK).Start();
+            // new Thread(MainTaskDecompose_ZPRK.HandlerMainTaskDecompose_ZPRK).Start();
 
-            //绌烘墭鐩樿浆杩愪换鍔�
-            new Thread(EmptySalverTransferTask.Handler).Start();
+            new Thread(DataProcess_RobotBuffer_FinishTaskForOutbound.Handler).Start();
 
             //鑷姩缁勭洏浠诲姟
-            new Thread(AutoSalverMaterialBindTask.Handler).Start();
+            new Thread(DataProcess_RobotBuffer_FinishTask.Handler).Start();
 
-            //鑷姩缁勭洏涓嬪彂浠诲姟
-            new Thread(AutoIssueInStoreTask.Handler).Start();
+            new Thread(DataProcess_BZ01.Handler).Start();
 
             //閲嶆柊鑾峰彇鍙戝姩鏈轰俊鎭�
-            new Thread(AutoUpdateEngineInfoTask.Handler).Start();
+            new Thread(DataProcess_269.Handler).Start();
 
             //1014搴撲綅杞繍鍒�1020绾跨▼
-            new Thread(Place1014To1020Task.Handler).Start();
+            new Thread(DataProcess_BZ39.Handler).Start();
 
-            ////1009搴撲綅澧炲姞搴撳瓨绾跨▼
-            //new Thread(Place1009AddStoreTask.Handler).Start();
 
             new Thread(DeleteData).Start();
 
@@ -240,12 +238,12 @@
             //*/
             #endregion
 
-            new Thread(GetAgvVehicles).Start();//AGV杞﹁締淇℃伅
+            // new Thread(GetAgvVehicles).Start();//AGV杞﹁締淇℃伅
 
-            new Thread(OutTaskRetryToMes.Handler).Start();
+            // new Thread(OutTaskRetryToMes.Handler).Start();
 
             //鏆傛椂涓嶅惎鐢ㄨ櫄鎷熷嚭鍏ュ簱鍔熻兘
-            new Thread(VirtualTaskNoOutPlanTaskHandler.Handler).Start();
+            // new Thread(VirtualTaskNoOutPlanTaskHandler.Handler).Start();
         }
         private void FormCC_Load(object sender, EventArgs e)
         {
@@ -344,23 +342,23 @@
 
                     this.lbl_Alert_HandlerIssuingTask.Text = showNowTime + SystemWarningMsg._lbl_Alert_HandlerIssuingTask;
 
-                    this.lbl_Alert_VirtualTaskNoOutPlanTaskHandler.Text = showNowTime + SystemWarningMsg._lbl_Alert_VirtualTaskNoOutPlanTaskHandler;
+                    this.lbl_Alert_DataProcess_RobotBuffer_FinishTask.Text = showNowTime + SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask;
 
                     this.lbl_MainTaskDecompose.Text = showNowTime + SystemWarningMsg._lbl_Alert_MainTaskDecompose;
 
                     this.lbl_MainTaskDecompose_ZPRK.Text = showNowTime + SystemWarningMsg._lbl_Alert_MainTaskDecompose_ZPRK;
 
-                    this.lbl_Alert_LineInScan.Text = showNowTime + SystemWarningMsg._lbl_Alert_LineInScan;
+                    this.lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound.Text = showNowTime + SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound;
 
                     this.lbl_Alert_DeleteData.Text = showNowTime + SystemWarningMsg._lbl_Alert_DeleteData;
 
                     this.lbl_Alert_EmptySalverTransfer.Text = showNowTime + SystemWarningMsg._lbl_Alert_EmptySalverTransfer;
 
-                    this.lbl_alert_AutoSalverMaterialBindTask.Text = showNowTime + SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask;
+                    this.lbl_alert_DataProcess_BZ39.Text = showNowTime + SystemWarningMsg._lbl_alert_DataProcess_BZ39;
 
-                    this.lbl_alert_AutoIssueInStoreTask.Text = showNowTime + SystemWarningMsg._lbl_alert_AutoIssueInStoreTask;
+                    this.lbl_alert_DataProcess_BZ01.Text = showNowTime + SystemWarningMsg._lbl_alert_DataProcess_BZ01;
 
-                    this.lbl_alert_AutoUpdateEngineInfoTask.Text = showNowTime + SystemWarningMsg._lbl_alert_AutoUpdateEngineInfoTask;
+                    this.lbl_alert_DataProcess_269.Text = showNowTime + SystemWarningMsg._lbl_alert_DataProcess_269;
 
                     this.lbl_Alert_Place1014ClearStoreTask.Text = showNowTime + SystemWarningMsg._lbl_Alert_Place1014To1020TaskTask;
 
@@ -727,7 +725,7 @@
                         {
                             for (int i = 0; i < waringList.Count; i++)
                             {
-                                DeviceWarningHandler.SaveWarning(EDevice.RGV, iWareCommon.Utils.LogType.RgvThreadService,
+                                DeviceWarningHandler.SaveWarning(EDevice.RGV, iWareCommon.Utils.LogType.StationThreadService,
                                     waringList[i].Codek__BackingField, waringList[i].Addressk__BackingField, waringList[i].Contextk__BackingField);//鏂板鎶ヨ
                                 warningAddressList.Add(waringList[i].Addressk__BackingField);
                             }
@@ -737,12 +735,12 @@
                     {
                         tb_Rgv_Alter.Text = "";
                     }
-                    DeviceWarningHandler.AutoCloseWarning(EDevice.RGV, iWareCommon.Utils.LogType.RgvThreadService, warningAddressList);//鑷姩鍏抽棴鎶ヨ
+                    DeviceWarningHandler.AutoCloseWarning(EDevice.RGV, iWareCommon.Utils.LogType.StationThreadService, warningAddressList);//鑷姩鍏抽棴鎶ヨ
                 }
                 catch (Exception ex)
                 {
                     rgvView = null;
-                    Log4NetHelper.WriteErrorLog(iWareCommon.Utils.LogType.RgvThreadService, "鑾峰彇RGV淇℃伅鍑虹幇寮傚父:" + ex.Message, ex);
+                    Log4NetHelper.WriteErrorLog(iWareCommon.Utils.LogType.StationThreadService, "鑾峰彇RGV淇℃伅鍑虹幇寮傚父:" + ex.Message, ex);
                     continue;
                 }
             }
@@ -801,9 +799,163 @@
                 };
                 realTimeList.Add(obj);
             }
-            DeviceRgvRealTimeHandler.Update(realTimeList, iWareCommon.Utils.LogType.RgvThreadService);
+            DeviceRgvRealTimeHandler.Update(realTimeList, iWareCommon.Utils.LogType.StationThreadService);
 
         }
+
+
+        #endregion
+
+        #region 绔欑偣绾跨▼鍜孶I澶勭悊
+
+        /// <summary>
+        /// 璁剧疆绔欑偣鐨刄I鏄剧ず
+        /// </summary>
+        /// <param name="obj"></param>
+        private void SetStationLable(object obj)
+        {
+            while (true)
+            {
+                Thread.Sleep(cycleDelay_Device);
+                try
+                {
+
+                    //lbRgv_Y.Text = "褰撳墠琛岃蛋浣嶇疆: " + rgv.R_RgvPosition;
+                    //lbRgv_X.Text = "褰撳墠鍖哄煙浣嶇疆: " + rgv.R_RgvPosition;
+                    //ERgvState _ERgvState = (ERgvState)Enum.Parse(typeof(ERgvState), rgv.R_State.ToString());
+                    //lbRgvWorkState.Text = "宸ヤ綔鐘舵��: " + _ERgvState.ToString();
+                    //lbRgvTaskId.Text = "浠诲姟鍙�: " + rgv.R_TaskNo;
+                    //lbRgvIsAuto.Text = "宸ヤ綔妯″紡: " + (rgv.ModeName);
+                    //lbRgvAlert.Text = rgv.R_AlarmCode.ToString();
+                    //if (rgv.R_Alarm == false)
+                    //{
+                    //    //妫�娴嬫槸鍚︽湁蹇冭烦
+                    //    using (var rgvService = new RgvService.RgvServiceClient())
+                    //    {
+                    //        //妫�娴嬫槸鍚︽湁蹇冭烦
+                    //        var isRgvHandShare = RgvBLL.IsRgvHandShare(rgvService);
+                    //        if (!isRgvHandShare)
+                    //        {
+                    //            lbRgvAlert.Text = "RGV娌℃湁蹇冭烦";
+                    //        }
+                    //    }
+                    //}
+                    //else
+                    //{
+                    //    lbRgvAlert.Text = rgv.R_AlarmCode.ToString();
+                    //}
+
+                    //// ERgvEvent _ERgvEvent = (ERgvEvent)Enum.Parse(typeof(ERgvEvent), rgv.r_ev.ToString());
+                    ////lbRgvEvent.Text = "浜�  浠讹細" + _ERgvEvent.ToString();
+                    //lbRgvTaskFinish.Text = "浠诲姟瀹屾垚锛�" + rgv.R_TaskFinish;
+
+                }
+                catch (Exception)
+                {
+                    continue;
+                }
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇Station淇℃伅
+        /// </summary>
+        /// <param name="obj"></param>
+        private void GetStationInfo(object obj)
+        {
+            while (true)
+            {
+                Thread.Sleep(1000);//1绉掗挓璇诲彇涓�娆�
+                try
+                {
+                    if (stationServiceClient == null)
+                    {
+                        continue;
+                    }
+                    stationView = stationServiceClient.GetStationInfo((int)EDevice.Station);
+
+
+                    _CommmonShowAgvStation();
+
+
+                    ////鏄剧ずRGV浠诲姟瀹屾垚鍜屽畬鎴愮‘璁や俊鍙�
+                    //this.lbl_R_RGV_Finish.Text = "RGV浠诲姟瀹屾垚:" + rgvView.R_RGV_Finish;
+                    //this.lbl_W_RGV_FinishACK.Text = "RGV浠诲姟瀹屾垚纭:" + rgvView.W_RGV_FinishACK;
+
+                    //this.lbl_RgvCoordinate.Text = "RGV瀹炴椂鍧愭爣:" + rgvView.R_RGV_Coordinate;
+
+                    /*
+                    //瑙f瀽RGV瀵硅薄
+                    foreach (var item in rgvView.R_RgvForReadCommList)
+                    {
+                        var control = ControlHelper.GetControlInstance(this.tPTransAsrs, "btn_" + item.StationCode);
+                        if (item.R_AlarmCode > 0)
+                        {//鏈夋姤璀�
+                            if (control != null)
+                            {
+                                var btn = control as Button;
+                                btn.BackColor = Color.Red;
+                            }
+                        }
+                        else
+                        {
+                            if (control != null)
+                            {
+                                var btn = control as Button;
+                                if (item.StationCode == ((int)EDevice.RGV1040).ToString())
+                                {
+                                    btn.BackColor = Color.Gold;
+                                }
+                                else if (item.StationCode == ((int)EDevice.鎷嗙洏鏈�1020).ToString())
+                                {
+                                    btn.BackColor = Color.DodgerBlue;
+                                }
+                                else if (item.StationCode == ((int)EDevice.鎻愬崌鏈�1030).ToString())
+                                {
+                                    btn.BackColor = Color.SteelBlue;
+                                }
+                                else
+                                {
+                                    btn.BackColor = Color.SeaGreen;
+                                }
+                            }
+                        }
+                    }
+
+                    //鏄剧ずRGV鎶ヨ淇℃伅
+                    List<String> warningAddressList = new List<string>();
+                    if (rgvView.R_Rgv_WarningDBList != null && rgvView.R_Rgv_WarningDBList.Length > 0)
+                    {
+                        tb_Rgv_Alter.Text = String.Join(",", rgvView.R_Rgv_WarningDBList.Select(x => x.Contextk__BackingField).ToArray());
+                        //淇濆瓨鎶ヨ
+                        var waringList = rgvView.R_Rgv_WarningDBList.ToList();
+                        if (waringList != null && waringList.Count > 0)
+                        {
+                            for (int i = 0; i < waringList.Count; i++)
+                            {
+                                DeviceWarningHandler.SaveWarning(EDevice.RGV, iWareCommon.Utils.LogType.RgvThreadService,
+                                    waringList[i].Codek__BackingField, waringList[i].Addressk__BackingField, waringList[i].Contextk__BackingField);//鏂板鎶ヨ
+                                warningAddressList.Add(waringList[i].Addressk__BackingField);
+                            }
+                        }
+                    }
+                    else
+                    {
+                        tb_Rgv_Alter.Text = "";
+                    }
+                    DeviceWarningHandler.AutoCloseWarning(EDevice.RGV, iWareCommon.Utils.LogType.RgvThreadService, warningAddressList);//鑷姩鍏抽棴鎶ヨ
+
+                    //*/
+                }
+                catch (Exception ex)
+                {
+                    rgvView = null;
+                    Log4NetHelper.WriteErrorLog(iWareCommon.Utils.LogType.StationThreadService, "鑾峰彇绔欑偣淇℃伅鍑虹幇寮傚父:" + ex.Message, ex);
+                    continue;
+                }
+            }
+        }
+
 
 
         #endregion
@@ -1422,13 +1574,13 @@
 
             DoCommonCheckedChanged(ref SystemValue.isAllowRuning_HandlerIssuingTask, ckHandlerIssuingTask);
 
-            DoCommonCheckedChanged(ref SystemValue.isAllowRuning_VirtualTaskNoOutPlanTaskHandler, ck_VirtualTaskNoOutPlanTaskHandler);
+            DoCommonCheckedChanged(ref SystemValue.isAllowRuning_DataProcess_RobotBuffer_FinishTask, ck_DataProcess_RobotBuffer_FinishTask);
 
             DoCommonCheckedChanged(ref SystemValue.isAllowRuning_MainTaskDecompose, ckMainTaskDecompose);
 
             DoCommonCheckedChanged(ref SystemValue.isAllowRuning_MainTaskDecompose_ZPRK, ckMainTaskDecompose_ZPRK);
 
-            DoCommonCheckedChanged(ref SystemValue.isAllowRuning_LineInScan, checkBox_LineInScan);
+            DoCommonCheckedChanged(ref SystemValue.isAllowRuning_DataProcess_RobotBuffer_FinishTaskForOutbound, checkBox_DataProcess_RobotBuffer_FinishTaskForOutbound);
 
 
             DoCommonCheckedChanged(ref SystemValue.isAllowRuning_DeleteData, ckDeleteData);
@@ -1437,11 +1589,11 @@
 
             DoCommonCheckedChanged(ref SystemValue.isAllowRuning_EmptySalverTransfer, ckEmptySalverTransfer);
 
-            DoCommonCheckedChanged(ref SystemValue.isAllowRuning_AutoSalverMaterialBindTask, ck_AutoSalverMaterialBindTask);
+            DoCommonCheckedChanged(ref SystemValue.isAllowRuning_DataProcess_BZ39, ck_DataProcess_BZ39);
 
-            DoCommonCheckedChanged(ref SystemValue.isAllowRuning_AutoIssueInStoreTask, ck_AutoIssueInStoreTask);
+            DoCommonCheckedChanged(ref SystemValue.isAllowRuning_DataProcess_BZ01, ck_AutoIssueInStoreTask);
 
-            DoCommonCheckedChanged(ref SystemValue.isAllowRuning_AutoUpdateEngineInfoTask, ck_AutoUpdateEngineInfoTask);
+            DoCommonCheckedChanged(ref SystemValue.isAllowRuning_DataProcess_269, ck_DataProcess_269);
 
             DoCommonCheckedChanged(ref SystemValue.isAllowRuning_Place1014To1020Task, ckPlace1014ClearStoreTask);
 
diff --git a/CC/iWareCC_ASRS/Program.cs b/CC/iWareCC_ASRS/Program.cs
index 45c8a8c..666ca98 100644
--- a/CC/iWareCC_ASRS/Program.cs
+++ b/CC/iWareCC_ASRS/Program.cs
@@ -24,6 +24,8 @@
 
             if (result)
             {
+                Yitter.IdGenerator.IdGeneratorOptions options = new Yitter.IdGenerator.IdGeneratorOptions(1);
+                Yitter.IdGenerator.YitIdHelper.SetIdGenerator(options);
                 FormCC cc = new FormCC();
                 //if (SystemCheckForm.Frm_SystemCheckResult())
                 //{
diff --git a/CC/iWareCC_ASRS/Properties/Resources.Designer.cs b/CC/iWareCC_ASRS/Properties/Resources.Designer.cs
index 0facb5d..ea6584d 100644
--- a/CC/iWareCC_ASRS/Properties/Resources.Designer.cs
+++ b/CC/iWareCC_ASRS/Properties/Resources.Designer.cs
@@ -19,7 +19,7 @@
     // 绫婚�氳繃绫讳技浜� ResGen 鎴� Visual Studio 鐨勫伐鍏疯嚜鍔ㄧ敓鎴愮殑銆�
     // 鑻ヨ娣诲姞鎴栫Щ闄ゆ垚鍛橈紝璇风紪杈� .ResX 鏂囦欢锛岀劧鍚庨噸鏂拌繍琛� ResGen
     // (浠� /str 浣滀负鍛戒护閫夐」)锛屾垨閲嶆柊鐢熸垚 VS 椤圭洰銆�
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
     public class Resources {
@@ -47,8 +47,8 @@
         }
         
         /// <summary>
-        ///   浣跨敤姝ゅ己绫诲瀷璧勬簮绫伙紝涓烘墍鏈夎祫婧愭煡鎵�
-        ///   閲嶅啓褰撳墠绾跨▼鐨� CurrentUICulture 灞炴�с��
+        ///   閲嶅啓褰撳墠绾跨▼鐨� CurrentUICulture 灞炴�э紝瀵�
+        ///   浣跨敤姝ゅ己绫诲瀷璧勬簮绫荤殑鎵�鏈夎祫婧愭煡鎵炬墽琛岄噸鍐欍��
         /// </summary>
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
         public static global::System.Globalization.CultureInfo Culture {
diff --git a/CC/iWareCC_ASRS/Properties/Settings.Designer.cs b/CC/iWareCC_ASRS/Properties/Settings.Designer.cs
index c72c6a4..9258fcc 100644
--- a/CC/iWareCC_ASRS/Properties/Settings.Designer.cs
+++ b/CC/iWareCC_ASRS/Properties/Settings.Designer.cs
@@ -12,7 +12,7 @@
     
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0")]
     internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
diff --git "a/CC/iWareCC_ASRS/ThreadService/00_269\345\267\245\344\275\215/DataProcess_269.cs" "b/CC/iWareCC_ASRS/ThreadService/00_269\345\267\245\344\275\215/DataProcess_269.cs"
new file mode 100644
index 0000000..5eb3170
--- /dev/null
+++ "b/CC/iWareCC_ASRS/ThreadService/00_269\345\267\245\344\275\215/DataProcess_269.cs"
@@ -0,0 +1,79 @@
+锘縰sing Admin.NET.Application;
+using iWareCC.Common.Helper;
+using iWareCC.StationService;
+using iWareCommon.Common.Globle;
+using iWareCommon.Utils;
+using iWareModel;
+using iWareSql.DBModel;
+using iWareSql.WmsDBModel;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using XiGang.Core.Model;
+
+namespace iWareCC.ThreadService
+{
+    /// <summary>
+    /// 269宸ヤ綅
+    /// </summary>
+    public static class DataProcess_269
+    {
+        /// <summary>
+        /// 269宸ヤ綅
+        /// </summary>
+        public static async void Handler()
+        {
+            var alertMsg = "";
+            LogType logType = LogType.DataProcess_269;
+            while (true)
+            {
+                Thread.Sleep(2000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
+                SystemWarningMsg._lbl_alert_DataProcess_269 = string.Empty;
+                try
+                {
+                    if (SystemValue.isAllowRuning_DataProcess_269 && SystemValue.isStartedModel)
+                    {
+                        var rgvLocation = StationLocationEnum.棣栨鎵爜宸ヤ綅.ToString();
+                        /*
+                         * 1銆佷粠鏁版嵁搴撲腑鍒ゆ柇鏄惁榻愬
+                         * 2銆佹牴鎹綈濂楃粨鏋滐紝鎺ㄩ�佺粰PLC
+                         */
+                        var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault();
+                        if (obj.R_ReqParseData)
+                        {
+                            var result = obj.R_ReadCodeResult;
+                            if (string.IsNullOrEmpty(result))
+                            {
+                                SystemWarningMsg._lbl_alert_DataProcess_269 = $"{rgvLocation.ToString()}-璇锋眰浜嗚В鐮侊紝浣嗘槸缁撴灉鏄┖鐨�,姝ゆ寰幆缁撴潫";
+                                continue;
+                            }
+                            var upiCode = result;
+                            using (WmsDBModel wmsDB = new WmsDBModel())
+                            {
+                                var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).FirstOrDefault();
+                                if (upiObj == null)
+                                {
+                                    SystemWarningMsg._lbl_alert_DataProcess_269 = $"{rgvLocation.ToString()},鏍规嵁UPI:{upiCode}娌℃湁鎵惧埌瀵硅薄 ";
+                                    continue;
+                                }
+
+                                upiObj.AreaCode = (int)AreaCodeEnum.缂撳瓨鍒嗘嫞鍖�;
+
+                                wmsDB.SaveChanges();
+                            }
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    SystemWarningMsg._lbl_alert_DataProcess_269 += " 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
+                    Log4NetHelper.WriteErrorLog(logType, " 鍑虹幇寮傚父锛�" + ex.Message, ex);
+                }
+            }
+        }
+
+    }
+}
diff --git "a/CC/iWareCC_ASRS/ThreadService/01_BZ01\345\267\245\344\275\215\357\274\210\346\270\205\347\201\260\357\274\214\346\264\227\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/DataProcess_BZ01.cs" "b/CC/iWareCC_ASRS/ThreadService/01_BZ01\345\267\245\344\275\215\357\274\210\346\270\205\347\201\260\357\274\214\346\264\227\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/DataProcess_BZ01.cs"
new file mode 100644
index 0000000..8c4b728
--- /dev/null
+++ "b/CC/iWareCC_ASRS/ThreadService/01_BZ01\345\267\245\344\275\215\357\274\210\346\270\205\347\201\260\357\274\214\346\264\227\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/DataProcess_BZ01.cs"
@@ -0,0 +1,102 @@
+锘縰sing Admin.NET.Application;
+using iWareCC.Common.Helper;
+using iWareCC.StationService;
+using iWareCommon.Common.Globle;
+using iWareCommon.Utils;
+using iWareModel;
+using iWareSql.DBModel;
+using iWareSql.WmsDBModel;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.ServiceModel.Configuration;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using XiGang.Core.Model;
+
+namespace iWareCC.ThreadService
+{
+    /// <summary>
+    /// BZ01宸ヤ綅锛堟竻鐏帮紝娲楁澘鍚庡伐浣嶏級
+    /// </summary>
+    public static class DataProcess_BZ01
+    {
+        /// <summary>
+        /// BZ01宸ヤ綅锛堟竻鐏帮紝娲楁澘鍚庡伐浣嶏級
+        /// </summary>
+        public static async void Handler()
+        {
+            var alertMsg = "";
+            LogType logType = LogType.DataProcess_BZ01;
+            while (true)
+            {
+                Thread.Sleep(2000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
+                SystemWarningMsg._lbl_alert_DataProcess_BZ01 = string.Empty;
+                try
+                {
+                    if (SystemValue.isAllowRuning_DataProcess_BZ01 && SystemValue.isStartedModel)
+                    {
+                        var rgvLocation = StationLocationEnum.BZ01.ToString();
+                        /*
+                         * 1銆佷粠鏁版嵁搴撲腑鍒ゆ柇鏄惁榻愬
+                         * 2銆佹牴鎹綈濂楃粨鏋滐紝鎺ㄩ�佺粰PLC
+                         */
+                        var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault();
+                        if (obj.R_ReqParseData)
+                        {
+                            var result = obj.R_ReadCodeResult;
+                            if (string.IsNullOrEmpty(result))
+                            {
+                                SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"{rgvLocation.ToString()}-璇锋眰浜嗚В鐮侊紝浣嗘槸缁撴灉鏄┖鐨�,姝ゆ寰幆缁撴潫";
+                                continue;
+                            }
+                            var upiCode = result;
+                            var qitaoReault = false;
+                            using (WmsDBModel wmsDB = new WmsDBModel())
+                            {
+                                var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).FirstOrDefault();
+                                if (upiObj == null)
+                                {
+                                    SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"{rgvLocation.ToString()},鏍规嵁UPI:{upiCode}娌℃湁鎵惧埌瀵硅薄 ";
+                                    continue;
+                                }
+                                //鏌ヨ鏄惁榻愬寘
+                                var allList = wmsDB.mes_batchOrderUPI_new.Where(x => x.PackageCode == upiObj.PackageCode).ToList();
+                                var isQiTaoList = allList.Where(x => x.AreaCode == (int)AreaCodeEnum.缂撳瓨鍒嗘嫞鍖�).ToList();
+                                if (isQiTaoList.Count() != allList.Count())
+                                {//涓嶉綈鍖�
+                                    qitaoReault = false;
+                                }
+                                else
+                                {//榻愬寘
+                                    qitaoReault = true;
+                                }
+                            }
+
+                            using (StationServiceClient client = new StationServiceClient())
+                            {
+                                var res = await client.WriteQiTaoInfoAsync((int)EDevice.Station, rgvLocation, qitaoReault);
+                                if (!res.result)
+                                {
+                                    SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"{rgvLocation.ToString()}-鎺ㄩ�侀綈濂楃粨鏋滃け璐�,WriteQiTaoInfoAsync杩斿洖:{res.resMsg}";
+                                    continue;
+                                }
+                                else
+                                {
+                                    Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-鎺ㄩ�侀綈濂楃粨鏋滄垚鍔�,WriteQiTaoInfoAsync锛屽弬鏁�: 绔欑偣{rgvLocation},榻愬缁撴灉:{qitaoReault}");
+                                }
+                            }
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    SystemWarningMsg._lbl_alert_DataProcess_BZ01 += " 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
+                    Log4NetHelper.WriteErrorLog(logType, " 鍑虹幇寮傚父锛�" + ex.Message, ex);
+                }
+            }
+        }
+
+    }
+}
diff --git "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Inbound/1\343\200\201DataProcess_BZ39.cs" "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Inbound/1\343\200\201DataProcess_BZ39.cs"
new file mode 100644
index 0000000..a2e042f
--- /dev/null
+++ "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Inbound/1\343\200\201DataProcess_BZ39.cs"
@@ -0,0 +1,140 @@
+锘縰sing Admin.NET.Application;
+using iWareCC.Common.Helper;
+using iWareCC.StationService;
+using iWareCommon.Common.Globle;
+using iWareCommon.Utils;
+using iWareModel;
+using iWareSql.DataAccess;
+using iWareSql.DBModel;
+using iWareSql.WmsDBModel;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.ServiceModel.Configuration;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using WZ.Useful.Commons;
+using XiGang.Core.Model;
+
+namespace iWareCC.ThreadService
+{
+    /// <summary>
+    /// BZ39宸ヤ綅锛堣ˉ鏉垮悗宸ヤ綅锛�
+    /// </summary>
+    public static class DataProcess_BZ39
+    {
+        public static async void Handler()
+        {
+            var alertMsg = "";
+            LogType logType = LogType.DataProcess_BZ39;
+            while (true)
+            {
+                Thread.Sleep(2000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
+                SystemWarningMsg._lbl_alert_DataProcess_BZ39 = string.Empty;
+                try
+                {
+                    if (SystemValue.isAllowRuning_DataProcess_BZ39 && SystemValue.isStartedModel)
+                    {
+                        var rgvLocation = StationLocationEnum.BZ39.ToString();
+                        /*
+                         * 1銆佷粠鏁版嵁搴撲腑鍒ゆ柇鏄惁榻愬
+                         * 2銆佹牴鎹綈濂楃粨鏋滐紝鎺ㄩ�佺粰PLC
+                         */
+                        var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault();
+                        if (obj.R_ReqParseData)
+                        {
+                            var result = obj.R_ReadCodeResult;
+                            if (string.IsNullOrEmpty(result))
+                            {
+                                SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-璇锋眰浜嗚В鐮侊紝浣嗘槸缁撴灉鏄┖鐨�,姝ゆ寰幆缁撴潫";
+                                continue;
+                            }
+                            var upiCode = result;
+                            var qitaoReault = false;
+                            using (WmsDBModel wmsDB = new WmsDBModel())
+                            {
+                                //瑕佹槸鏈夊凡涓嬪彂鐨勪换鍔★紝灏变笉瑕佹墽琛�
+                                var isValidate = TaskHandler.ValidateIssueTaskForRobotBuffer(wmsDB);
+                                if (!isValidate)
+                                {
+                                    SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-鏈夆�樺凡涓嬪彂鈥欑殑浠诲姟锛屼笉鑳藉鐞�,姝ゆ寰幆缁撴潫";
+                                    continue;
+                                }
+                                var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).FirstOrDefault();
+                                if (upiObj == null)
+                                {
+                                    SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()},鏍规嵁UPI:{upiCode}娌℃湁鎵惧埌瀵硅薄 ";
+                                    continue;
+                                }
+                                //浜嗚В浠栫殑闀裤�佸銆侀珮锛屽鎵剧┖搴撲綅
+                                var place = StationHandlerV2.FindBestEmptyPlace(wmsDB, upiObj);
+                                if (place == null)
+                                {
+                                    SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()},鏍规嵁UPI:{upiCode}娌℃湁鎵惧埌缂撳瓨鍖哄矝鐨勭┖搴撲綅 ";
+                                    continue;
+                                }
+
+                                using (StationServiceClient client = new StationServiceClient())
+                                {
+                                    var res = await client.WriteInStoreTaskInfoAsync((int)EDevice.Station, rgvLocation, place.PlaceCode, (short)upiObj.Length,
+                                        (short)upiObj.Width, (short)upiObj.Thk);
+                                    if (!res.result)
+                                    {
+                                        SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 澶辫触,WriteInStoreTaskInfoAsync 杩斿洖:{res.resMsg}";
+                                        continue;
+                                    }
+                                    else
+                                    {
+                                        Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 鎴愬姛,WriteInStoreTaskInfoAsync锛屽弬鏁�: 绔欑偣{rgvLocation}");
+                                    }
+                                }
+
+                                //璁板綍浠诲姟
+                                var _id = Yitter.IdGenerator.YitIdHelper.NextId();
+                                var task = new wms_rbline_task()
+                                {
+                                    Id = _id,
+                                    TaskNo = _id.ToString(),
+
+                                    UPI = upiObj.UPI,
+                                    Length = upiObj.Length,
+                                    Width = upiObj.Width,
+                                    Thk = upiObj.Thk,
+                                    IssueTime = DateTime.Now,
+                                    PlanNo = upiObj.PlanNo,
+                                    OrderId = upiObj.OrderId,
+                                    PackageCode = upiObj.PackageCode,
+                                    PlaceCode = place.PlaceCode,
+                                    RbTaskType = (int)RbTaskTypeEnum.鍏ュ簱浠诲姟,
+                                    RbTaskTypeEnumName = RbTaskTypeEnum.鍏ュ簱浠诲姟.ToString(),
+                                    TaskStatus = (int)TaskStatusEnum.宸蹭笅鍙�,
+                                    TaskStatusName = TaskStatusEnum.宸蹭笅鍙�.ToString(),
+                                    TaskMsg = "鍏ュ簱",
+
+
+                                    CreateTime = DateTime.Now,
+                                    CreateUserName = "CC",
+                                    UpdateTime = DateTime.Now,
+                                    UpdateUserName = "CC",
+                                };
+
+                                wmsDB.wms_rbline_task.Add(task);
+
+                                place.PlaceStatus = (int)PlaceStatusEnum.閿佸畾;
+
+                                wmsDB.SaveChanges();
+                            }
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    SystemWarningMsg._lbl_alert_DataProcess_BZ39 += " 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
+                    Log4NetHelper.WriteErrorLog(logType, " 鍑虹幇寮傚父锛�" + ex.Message, ex);
+                }
+            }
+        }
+
+    }
+}
diff --git "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Inbound/2\343\200\201DataProcess_RobotBuffer_FinishTask.cs" "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Inbound/2\343\200\201DataProcess_RobotBuffer_FinishTask.cs"
new file mode 100644
index 0000000..aa9dbd8
--- /dev/null
+++ "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Inbound/2\343\200\201DataProcess_RobotBuffer_FinishTask.cs"
@@ -0,0 +1,112 @@
+锘縰sing Admin.NET.Application;
+using iWareCC.Common.Helper;
+using iWareCC.StationService;
+using iWareCommon.Common.Globle;
+using iWareCommon.Utils;
+using iWareModel;
+using iWareSql.DataAccess;
+using iWareSql.DBModel;
+using iWareSql.WmsDBModel;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.ServiceModel.Configuration;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using WZ.Useful.Commons;
+using XiGang.Core.Model;
+
+namespace iWareCC.ThreadService
+{
+    /// <summary>
+    /// 鏈哄櫒浜虹紦瀛樺矝鍏ュ簱浠诲姟瀹屾垚澶勭悊
+    /// </summary>
+    public static class DataProcess_RobotBuffer_FinishTask
+    {
+        public static async void Handler()
+        {
+            var alertMsg = "";
+            LogType logType = LogType.DataProcess_RobotBuffer_FinishTask;
+            while (true)
+            {
+                Thread.Sleep(2000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
+                SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = string.Empty;
+                try
+                {
+                    if (SystemValue.isAllowRuning_DataProcess_RobotBuffer_FinishTask && SystemValue.isStartedModel)
+                    {
+                        var rgvLocation = StationLocationEnum.BZ39.ToString();
+                        var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault();
+                        if (obj.R_InboundFinish)
+                        {
+                            var result = obj.R_InboundNumber;
+                            if (string.IsNullOrEmpty(result))
+                            {
+                                SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = $"{rgvLocation.ToString()}- 鍏ュ簱搴撲綅鍙锋槸绌虹殑,姝ゆ寰幆缁撴潫";
+                                continue;
+                            }
+
+
+                            var qitaoReault = false;
+                            using (WmsDBModel wmsDB = new WmsDBModel())
+                            {
+                                var task = wmsDB.wms_rbline_task.Where(x => x.PlaceCode == obj.R_InboundNumber
+                                && x.RbTaskType == (int)RbTaskTypeEnum.鍏ュ簱浠诲姟
+                                && x.TaskStatus == (int)TaskStatusEnum.宸蹭笅鍙�).FirstOrDefault();
+                                if (task == null)
+                                {
+                                    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = $"{rgvLocation.ToString()},鏍规嵁 R_InboundNumber:{obj.R_InboundNumber}娌℃湁鎵惧埌宸蹭笅鍙戠殑浠诲姟 ";
+                                    continue;
+                                }
+
+                                var upiCode = task.UPI;
+                                var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).FirstOrDefault();
+                                if (upiObj == null)
+                                {
+                                    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = $"{rgvLocation.ToString()},鏍规嵁UPI:{upiCode}娌℃湁鎵惧埌瀵硅薄 ";
+                                    continue;
+                                }
+                                //澧炲姞搴撳瓨
+                                wms_stock_quan qun = new wms_stock_quan()
+                                {
+                                    Id = Yitter.IdGenerator.YitIdHelper.NextId(),
+                                    Upi = upiCode,
+                                    PlanNo = task.PlanNo,
+                                    CreateTime = DateTime.Now,
+                                    CreateUserName = "CC",
+                                    InTime = DateTime.Now,
+                                    OperReason = "鍏ュ簱",
+                                    PackageCode = task.PackageCode,
+                                    Width = task.Width,
+                                    Thk = task.Thk,
+                                    PlaceCode = task.PlaceCode,
+                                    StockStatus = (int)StockStatusEnum.鍦ㄥ簱,
+                                    StockStatusName = StockStatusEnum.鍦ㄥ簱.ToString(),
+
+                                };
+                                wmsDB.wms_stock_quan.Add(qun);
+
+                                task.TaskStatus = (int)TaskStatusEnum.宸插畬鎴�;
+                                task.TaskStatusName = TaskStatusEnum.宸插畬鎴�.ToString();
+                                task.FinishedTime = DateTime.Now;
+
+
+                                var place = StationHandler.GetPlaceByPlaceCode(task.PlaceCode, wmsDB);
+                                place.PlaceStatus = (int)PlaceStatusEnum.姝e父;
+
+                                wmsDB.SaveChanges();
+                            }
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask += " 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
+                    Log4NetHelper.WriteErrorLog(logType, " 鍑虹幇寮傚父锛�" + ex.Message, ex);
+                }
+            }
+        }
+
+    }
+}
diff --git "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/1\343\200\201DataProcess_RobotBuffer_AutoQiTaoOutbound.cs" "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/1\343\200\201DataProcess_RobotBuffer_AutoQiTaoOutbound.cs"
new file mode 100644
index 0000000..745dbde
--- /dev/null
+++ "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/1\343\200\201DataProcess_RobotBuffer_AutoQiTaoOutbound.cs"
@@ -0,0 +1,112 @@
+锘縰sing Admin.NET.Application;
+using iWareCommon.Common.Globle;
+using iWareCommon.Utils;
+using iWareModel;
+using iWareSql.DataAccess;
+using iWareSql.WmsDBModel;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace iWareCC.ThreadService
+{
+    /// <summary>
+    /// 鏈哄櫒浜虹紦瀛樺矝 鑷姩榻愬鍑哄簱 澶勭悊
+    /// </summary>
+    public static class DataProcess_RobotBuffer_AutoQiTaoOutbound
+    {
+        public static async void Handler()
+        {
+            var alertMsg = "";
+            LogType logType = LogType.DataProcess_RobotBuffer_FinishTaskForOutbound;
+            while (true)
+            {
+                Thread.Sleep(2000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
+                SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = string.Empty;
+                try
+                {
+                    if (SystemValue.isAllowRuning_DataProcess_RobotBuffer_FinishTaskForOutbound && SystemValue.isStartedModel)
+                    {
+                        var rgvLocation = StationLocationEnum.BZ39.ToString();
+                        var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault();
+                        if (obj.R_OutboundFinish)
+                        {
+                            var result = obj.R_OutboundNumber;
+                            if (string.IsNullOrEmpty(result))
+                            {
+                                SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()}- 鍑哄簱搴撲綅鍙锋槸绌虹殑,姝ゆ寰幆缁撴潫";
+                                continue;
+                            }
+
+                            using (WmsDBModel wmsDB = new WmsDBModel())
+                            {
+                                List<wms_stock_quan> qunList = wmsDB.wms_stock_quan.Where(x => x.StockStatus == (int)StockStatusEnum.鍦ㄥ簱).ToList();
+                                var queryPageckCodeList = qunList.Select(x => x.PackageCode).Distinct().ToList();
+                                List<mes_batchOrderUPI_new> upiList = wmsDB.mes_batchOrderUPI_new.Where(x => queryPageckCodeList.Contains(x.PackageCode)).ToList();
+                                var groups = qunList.GroupBy(x => x.PackageCode);
+                                foreach (var group in groups)
+                                {
+                                    var packageCode = group.Key;
+                                    var allCount = upiList.Where(x => x.PackageCode == packageCode).Count();
+                                    if (allCount == group.ToList().Count())
+                                    {
+                                        //婊¤冻榻愬锛屽嚭搴�
+                                        group.ToList().ForEach(x =>
+                                        {
+                                            x.StockStatus = (int)StockStatusEnum.榻愬寘寰呭嚭搴�;
+
+                                            //鐢熸垚鍑哄簱浠诲姟
+                                            //璁板綍浠诲姟
+                                            var _id = Yitter.IdGenerator.YitIdHelper.NextId();
+                                            var new_task = new wms_rbline_task()
+                                            {
+                                                Id = _id,
+                                                TaskNo = _id.ToString(),
+
+                                                UPI = x.Upi,
+                                                Length = x.Length,
+                                                Width = x.Width,
+                                                Thk = x.Thk,
+                                                IssueTime = DateTime.Now,
+                                                PlanNo = x.PlanNo,
+                                                OrderId = x.OrderId,
+                                                PackageCode = x.PackageCode,
+                                                PlaceCode = x.PlaceCode,
+                                                RbTaskType = (int)RbTaskTypeEnum.鍑哄簱浠诲姟,
+                                                RbTaskTypeEnumName = RbTaskTypeEnum.鍑哄簱浠诲姟.ToString(),
+                                                TaskStatus = (int)TaskStatusEnum.鏂板缓,
+                                                TaskStatusName = TaskStatusEnum.鏂板缓.ToString(),
+                                                TaskMsg = "鍏ュ簱",
+
+
+                                                CreateTime = DateTime.Now,
+                                                CreateUserName = "CC",
+                                                UpdateTime = DateTime.Now,
+                                                UpdateUserName = "CC",
+                                            };
+
+                                            wmsDB.wms_rbline_task.Add(new_task);
+
+                                            var place = StationHandler.GetPlaceByPlaceCode(x.PlaceCode, wmsDB);
+                                            place.PlaceStatus = (int)PlaceStatusEnum.閿佸畾;
+                                        });
+                                    }
+                                }
+
+                                wmsDB.SaveChanges();
+                            }
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound += " 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
+                    Log4NetHelper.WriteErrorLog(logType, " 鍑虹幇寮傚父锛�" + ex.Message, ex);
+                }
+            }
+        }
+
+    }
+}
diff --git "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/2\343\200\201DataProcess_RobotBuffer_IssueOutboundTask.cs" "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/2\343\200\201DataProcess_RobotBuffer_IssueOutboundTask.cs"
new file mode 100644
index 0000000..a940e3c
--- /dev/null
+++ "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/2\343\200\201DataProcess_RobotBuffer_IssueOutboundTask.cs"
@@ -0,0 +1,118 @@
+锘縰sing Admin.NET.Application;
+using iWareCC.Common.Helper;
+using iWareCC.StationService;
+using iWareCommon.Common.Globle;
+using iWareCommon.Utils;
+using iWareModel;
+using iWareSql.DataAccess;
+using iWareSql.DBModel;
+using iWareSql.WmsDBModel;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.ServiceModel.Configuration;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using WZ.Useful.Commons;
+using XiGang.Core.Model;
+
+namespace iWareCC.ThreadService
+{
+    /// <summary>
+    /// 鏈哄櫒浜虹紦瀛樺矝 鑷姩涓嬪彂鍑哄簱浠诲姟 澶勭悊
+    /// </summary>
+    public static class DataProcess_RobotBuffer_IssueOutboundTask
+    {
+        public static async void Handler()
+        {
+            var alertMsg = "";
+            LogType logType = LogType.DataProcess_BZ39;
+            while (true)
+            {
+                Thread.Sleep(2000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
+                SystemWarningMsg._lbl_alert_DataProcess_BZ39 = string.Empty;
+                try
+                {
+                    if (SystemValue.isAllowRuning_DataProcess_BZ39 && SystemValue.isStartedModel)
+                    {
+                        var rgvLocation = StationLocationEnum.BZ39.ToString();
+                        /*
+                         * 1銆佷粠鏁版嵁搴撲腑鍒ゆ柇鏄惁榻愬
+                         * 2銆佹牴鎹綈濂楃粨鏋滐紝鎺ㄩ�佺粰PLC
+                         */
+                        var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault();
+                        if (obj.R_ReqParseData)
+                        {
+                            var result = obj.R_ReadCodeResult;
+                            if (string.IsNullOrEmpty(result))
+                            {
+                                SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-璇锋眰浜嗚В鐮侊紝浣嗘槸缁撴灉鏄┖鐨�,姝ゆ寰幆缁撴潫";
+                                continue;
+                            }
+                            var upiCode = result;
+                            var qitaoReault = false;
+                            using (WmsDBModel wmsDB = new WmsDBModel())
+                            {
+                                //瑕佹槸鏈夊凡涓嬪彂鐨勪换鍔★紝灏变笉瑕佹墽琛�
+                                var isValidate = TaskHandler.ValidateIssueTaskForRobotBuffer(wmsDB);
+                                if (!isValidate)
+                                {
+                                    SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-鏈夆�樺凡涓嬪彂鈥欑殑浠诲姟锛屼笉鑳藉鐞�,姝ゆ寰幆缁撴潫";
+                                    continue;
+                                }
+
+
+
+                                var taskList = wmsDB.wms_rbline_task.Where(x => x.PlaceCode == obj.R_OutboundNumber
+                              && x.RbTaskType == (int)RbTaskTypeEnum.鍑哄簱浠诲姟
+                              && x.TaskStatus == (int)TaskStatusEnum.鏂板缓).OrderBy(x => x.PackageCode).ToList();
+                                if (taskList == null)
+                                {
+                                    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()},鏍规嵁 R_OutboundNumber:{obj.R_OutboundNumber}娌℃湁鎵惧埌宸蹭笅鍙戠殑浠诲姟 ";
+                                    continue;
+                                }
+                                var groups = taskList.GroupBy(x => x.PackageCode).ToList();
+                                foreach (var gg in groups)
+                                {
+
+                                }
+
+                                var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).FirstOrDefault();
+                                if (upiObj == null)
+                                {
+                                    SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()},鏍规嵁UPI:{upiCode}娌℃湁鎵惧埌瀵硅薄 ";
+                                    continue;
+                                }
+
+                                //杩欓噷鏀逛负 涓嬪彂 鍑哄簱浠诲姟
+                                using (StationServiceClient client = new StationServiceClient())
+                                {
+                                    var res = await client.WriteInStoreTaskInfoAsync((int)EDevice.Station, rgvLocation, "", (short)upiObj.Length,
+                                        (short)upiObj.Width, (short)upiObj.Thk);
+                                    if (!res.result)
+                                    {
+                                        SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 澶辫触,WriteInStoreTaskInfoAsync 杩斿洖:{res.resMsg}";
+                                        continue;
+                                    }
+                                    else
+                                    {
+                                        Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 鎴愬姛,WriteInStoreTaskInfoAsync锛屽弬鏁�: 绔欑偣{rgvLocation}");
+                                    }
+                                }
+
+                                wmsDB.SaveChanges();
+                            }
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    SystemWarningMsg._lbl_alert_DataProcess_BZ39 += " 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
+                    Log4NetHelper.WriteErrorLog(logType, " 鍑虹幇寮傚父锛�" + ex.Message, ex);
+                }
+            }
+        }
+
+    }
+}
diff --git "a/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/3\343\200\201DataProcess_RobotBuffer_FinishTaskForOutbound.cs" "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/3\343\200\201DataProcess_RobotBuffer_FinishTaskForOutbound.cs"
new file mode 100644
index 0000000..457148f
--- /dev/null
+++ "b/CC/iWareCC_ASRS/ThreadService/02_BZ39\345\267\245\344\275\215\357\274\210\350\241\245\346\235\277\345\220\216\345\267\245\344\275\215\357\274\211/Outbound/3\343\200\201DataProcess_RobotBuffer_FinishTaskForOutbound.cs"
@@ -0,0 +1,85 @@
+锘縰sing Admin.NET.Application;
+using iWareCommon.Common.Globle;
+using iWareCommon.Utils;
+using iWareModel;
+using iWareSql.DataAccess;
+using iWareSql.WmsDBModel;
+using System;
+using System.Linq;
+using System.Threading;
+
+namespace iWareCC.ThreadService
+{
+    /// <summary>
+    /// 鏈哄櫒浜虹紦瀛樺矝鍑哄簱浠诲姟瀹屾垚澶勭悊
+    /// </summary>
+    public static class DataProcess_RobotBuffer_FinishTaskForOutbound
+    {
+        public static async void Handler()
+        {
+            var alertMsg = "";
+            LogType logType = LogType.DataProcess_RobotBuffer_FinishTaskForOutbound;
+            while (true)
+            {
+                Thread.Sleep(2000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
+                SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = string.Empty;
+                try
+                {
+                    if (SystemValue.isAllowRuning_DataProcess_RobotBuffer_FinishTaskForOutbound && SystemValue.isStartedModel)
+                    {
+                        var rgvLocation = StationLocationEnum.BZ39.ToString();
+                        var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault();
+                        if (obj.R_OutboundFinish)
+                        {
+                            var result = obj.R_OutboundNumber;
+                            if (string.IsNullOrEmpty(result))
+                            {
+                                SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()}- 鍑哄簱搴撲綅鍙锋槸绌虹殑,姝ゆ寰幆缁撴潫";
+                                continue;
+                            }
+
+
+                            using (WmsDBModel wmsDB = new WmsDBModel())
+                            {
+                                var task = wmsDB.wms_rbline_task.Where(x => x.PlaceCode == obj.R_OutboundNumber
+                                && x.RbTaskType == (int)RbTaskTypeEnum.鍑哄簱浠诲姟
+                                && x.TaskStatus == (int)TaskStatusEnum.宸蹭笅鍙�).FirstOrDefault();
+                                if (task == null)
+                                {
+                                    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()},鏍规嵁 R_OutboundNumber:{obj.R_OutboundNumber}娌℃湁鎵惧埌宸蹭笅鍙戠殑浠诲姟 ";
+                                    continue;
+                                }
+
+                                var upiCode = task.UPI;
+                                var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).FirstOrDefault();
+                                if (upiObj == null)
+                                {
+                                    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()},鏍规嵁UPI:{upiCode}娌℃湁鎵惧埌瀵硅薄 ";
+                                    continue;
+                                }
+                                //搴撳瓨鍑忓皯
+                                wms_stock_quan qun = wmsDB.wms_stock_quan.Where(x => x.PlaceCode == task.PlaceCode).FirstOrDefault();
+                                wmsDB.wms_stock_quan.Remove(qun);
+
+                                task.TaskStatus = (int)TaskStatusEnum.宸插畬鎴�;
+                                task.TaskStatusName = TaskStatusEnum.宸插畬鎴�.ToString();
+                                task.FinishedTime = DateTime.Now;
+
+                                var place = StationHandler.GetPlaceByPlaceCode(task.PlaceCode, wmsDB);
+                                place.PlaceStatus = (int)PlaceStatusEnum.姝e父;
+
+                                wmsDB.SaveChanges();
+                            }
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound += " 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
+                    Log4NetHelper.WriteErrorLog(logType, " 鍑虹幇寮傚父锛�" + ex.Message, ex);
+                }
+            }
+        }
+
+    }
+}
diff --git a/CC/iWareCC_ASRS/WmsTask/AutoIssueInStoreTask.cs b/CC/iWareCC_ASRS/WmsTask/AutoIssueInStoreTask.cs
deleted file mode 100644
index d258b2c..0000000
--- a/CC/iWareCC_ASRS/WmsTask/AutoIssueInStoreTask.cs
+++ /dev/null
@@ -1,104 +0,0 @@
-锘縰sing iWareCC.Common.Helper;
-using iWareCommon.Common.Globle;
-using iWareCommon.Utils;
-using iWareModel;
-using iWareModel.EnumType.XiGangPublicCommon;
-using iWareSql;
-using iWareSql.DataAccess;
-using iWareSql.DBModel;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading;
-using System.Threading.Tasks;
-using XiGang.Core.Model;
-using XiGang.Core.Model.PostParamModels.Task;
-using static WZ.Useful.Commons.NativeMethods;
-
-namespace iWareCC
-{
-    /// <summary>
-    /// 鑷姩缁勭洏涓嬪彂 浠诲姟
-    /// </summary>
-    public static class AutoIssueInStoreTask
-    {
-        /// <summary>
-        /// 鑷姩缁勭洏涓嬪彂
-        /// </summary>
-        public static void Handler()
-        {
-            var alertMsg = "";
-            while (true)
-            {
-                Thread.Sleep(2000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
-                SystemWarningMsg._lbl_alert_AutoIssueInStoreTask = string.Empty;
-                try
-                {
-                    if (SystemValue.isAllowRuning_AutoIssueInStoreTask && SystemValue.isStartedModel)
-                    {
-                        EDevice rgvLocation = EDevice.鍏ュ簱鍙�1019;
-                        var stationCode = Convert.ToInt32(rgvLocation).ToString();
-                        var queryTaskState = (int)MainTaskStatusEnum.宸茬粍鐩�;
-                        using (DbModel context = new DbModel())
-                        {
-                            var needIssueTask = context.Task_Main.Where(x => x.RealSourcePlace == stationCode && x.TaskState == queryTaskState).OrderBy(x => x.Id).FirstOrDefault();
-                            if (needIssueTask == null)
-                            {
-                                SystemWarningMsg._lbl_alert_AutoIssueInStoreTask = $"{rgvLocation.ToString()}-娌℃湁瑕佷笅鍙戠殑鈥樺凡缁勭洏鈥欎换鍔�,姝ゆ寰幆缁撴潫";
-                                continue;
-                            }
-
-                            //绗﹀悎鏉′欢锛屽嵆灏嗚繘琛岃嚜鍔ㄧ粍鐩樹笅鍙�
-                            var _scan_salverCode = needIssueTask.SalverCode;
-                            alertMsg = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负{needIssueTask.SerialNumber}锛屾墭鐩樼爜涓簕_scan_salverCode}锛岀鍚堟潯浠讹紝鍗冲皢杩涜鑷姩缁勭洏涓嬪彂";
-                            SystemWarningMsg._lbl_alert_AutoIssueInStoreTask = alertMsg;
-                            Log4NetHelper.WriteInfoLog(LogType.AutoIssueInStoreTask, alertMsg);
-
-                            try
-                            {
-                                //璋冪敤API
-                                MessageModel<string> ret = WmsRequestHelper.IssueInStoreTask(needIssueTask.Id);
-                                if (ret.success)
-                                {
-                                    alertMsg = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负{needIssueTask.SerialNumber}锛屾墭鐩樼爜涓簕_scan_salverCode}锛岃嚜鍔ㄧ粍鐩樹笅鍙戣姹俉MSAPI鎴愬姛锛�";
-                                    SystemWarningMsg._lbl_alert_AutoIssueInStoreTask = alertMsg;
-                                    Log4NetHelper.WriteInfoLog(LogType.AutoIssueInStoreTask, alertMsg);
-                                    Thread.Sleep(10000);//浼戠湢10绉掞紝
-                                }
-                                else
-                                {
-                                    alertMsg = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负{needIssueTask.SerialNumber}锛屾墭鐩樼爜涓簕_scan_salverCode}锛岃嚜鍔ㄧ粍鐩樹笅鍙戣姹俉MSAPI澶辫触:WMS杩斿洖娑堟伅涓�->{ret.msg}";
-                                    SystemWarningMsg._lbl_alert_AutoIssueInStoreTask = alertMsg;
-                                    Log4NetHelper.WriteInfoLog(LogType.AutoIssueInStoreTask, alertMsg);
-                                    Log4NetHelper.WriteErrorLog(LogType.AutoIssueInStoreTask, alertMsg, null);
-
-                                    Thread.Sleep(5000);//浼戠湢5绉掞紝
-                                }
-                            }
-                            catch (Exception ex)
-                            {
-                                alertMsg = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负{needIssueTask.SerialNumber}锛屾墭鐩樼爜涓簕_scan_salverCode}锛岃嚜鍔ㄧ粍鐩樹笅鍙戣姹俉MSAPI澶辫触:鍑虹幇寮傚父->{ex.Message}";
-                                SystemWarningMsg._lbl_alert_AutoIssueInStoreTask = alertMsg;
-                                Log4NetHelper.WriteInfoLog(LogType.AutoIssueInStoreTask, alertMsg);
-                                Log4NetHelper.WriteErrorLog(LogType.AutoIssueInStoreTask, alertMsg, ex);
-
-                                Thread.Sleep(10000);//浼戠湢10绉掞紝
-                            }
-
-                        }
-                    }
-                }
-                catch (Exception ex)
-                {
-                    SystemWarningMsg._lbl_alert_AutoIssueInStoreTask += "鑷姩缁勭洏涓嬪彂 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
-                    Log4NetHelper.WriteErrorLog(LogType.AutoIssueInStoreTask, "AutoIssueInStoreTask 鍑虹幇寮傚父锛�" + ex.Message, ex);
-
-                    Thread.Sleep(10000);//浼戠湢10绉掞紝
-                }
-
-            }
-        }
-
-    }
-}
diff --git "a/CC/iWareCC_ASRS/WmsTask/AutoSalverMaterialBindTask - \345\244\215\345\210\266.cs" "b/CC/iWareCC_ASRS/WmsTask/AutoSalverMaterialBindTask - \345\244\215\345\210\266.cs"
deleted file mode 100644
index fcd4fc3..0000000
--- "a/CC/iWareCC_ASRS/WmsTask/AutoSalverMaterialBindTask - \345\244\215\345\210\266.cs"
+++ /dev/null
@@ -1,150 +0,0 @@
-锘�//using iWareCC.Common.Helper;
-//using iWareCommon.Common.Globle;
-//using iWareCommon.Utils;
-//using iWareModel;
-//using iWareModel.EnumType.XiGangPublicCommon;
-//using iWareSql;
-//using iWareSql.DataAccess;
-//using iWareSql.DBModel;
-//using System;
-//using System.Collections.Generic;
-//using System.Linq;
-//using System.Text;
-//using System.Threading;
-//using System.Threading.Tasks;
-//using XiGang.Core.Model;
-//using XiGang.Core.Model.PostParamModels.Task;
-//using static WZ.Useful.Commons.NativeMethods;
-
-//namespace iWareCC
-//{
-//    /// <summary>
-//    /// 鑷姩缁勭洏 浠诲姟
-//    /// </summary>
-//    public static class AutoSalverMaterialBindTask
-//    {
-//        /// <summary>
-//        /// 鑷姩缁勭洏浠诲姟
-//        /// </summary>
-//        public static void Handler()
-//        {
-//            var alertMsg = "";
-//            while (true)
-//            {
-//                Thread.Sleep(2000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
-//                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = string.Empty;
-//                try
-//                {
-//                    if (SystemValue.isAllowRuning_AutoSalverMaterialBindTask && SystemValue.isStartedModel)
-//                    {
-//                        EDevice rgvLocation = EDevice.鍏ュ簱鍙�1019;
-//                        var stationCode = Convert.ToInt32(rgvLocation).ToString();
-//                        V_AllStore store = null;
-
-//                        using (DbModel context = new DbModel())
-//                        {
-//                            //妯℃嫙
-//                            bool isGD_HasCatogryForRgvStattion = true;
-//                            bool isSys_HasCatogryForRgvStattion = MyExtendHelper.IsSys_HasCatogryForRgvStattion(context, stationCode, ref store);
-//                            bool isExistOtherTaskDoing = PartTaskHandler.IsExistOtherTaskDoing(stationCode);
-
-//                            if (isSys_HasCatogryForRgvStattion)
-//                            {
-//                                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = $"{rgvLocation.ToString()}-绯荤粺鏈夊簱瀛�,姝ゆ寰幆缁撴潫";
-//                                continue;
-//                            }
-//                            if (isExistOtherTaskDoing)
-//                            {
-//                                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = $"{rgvLocation.ToString()}-鏈変换鍔″崰鐢ㄨ绔欑偣,姝ゆ寰幆缁撴潫";
-//                                continue;
-//                            }
-//                            if (!isGD_HasCatogryForRgvStattion)
-//                            {
-//                                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = $"{rgvLocation.ToString()}-鍏夌數鏄剧ず鏃犺揣,姝ゆ寰幆缁撴潫";
-//                                continue;
-//                            }
-//                            SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = $"{rgvLocation.ToString()}-鍏夌數鏈夎揣";
-//                            //闇�瑕佽鍙� 鍙戝姩鏈烘壂鎻忔灙鐨勪俊鎭�
-//                            var _scan_CargoNo = "_3118L067736B-DHP13Q667*01";  //妯℃嫙
-//                            if (string.IsNullOrEmpty(_scan_CargoNo))
-//                            {
-//                                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负绌猴紝涓嶅厑璁歌嚜鍔ㄧ粍鐩�";
-//                                continue;
-//                            }
-//                            //楠岃瘉璇ュ彂鍔ㄦ満搴撳瓨宸插瓨鍦紝瑕佸湪WMS涓鐞�
-//                            //var isSys_HasCatogryForCargoNo = StoreHandler.IsSys_HasCatogryForCargoNo(context, _scan_CargoNo, ref store);
-//                            //if (isSys_HasCatogryForCargoNo)
-//                            //{
-//                            //    SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负{_scan_CargoNo}锛岃鍙戝姩鏈哄簱瀛樺凡瀛樺湪锛屽湪绔嬪簱搴撲綅{store.SrmStationCode}锛屽湪RGV搴撲綅{store.RgvStationCode}锛屼笉鍏佽鑷姩缁勭洏";
-//                            //    continue;
-//                            //}
-//                            //闇�瑕佽鍙� 鎵樼洏鍙�
-//                            var _scan_salverCode = "XGT000205"; //妯℃嫙
-//                            if (string.IsNullOrEmpty(_scan_salverCode))
-//                            {
-//                                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屾墭鐩樼爜涓虹┖锛屼笉鍏佽鑷姩缁勭洏";
-//                                continue;
-//                            }
-//                            var isSys_HasCatogryForSalverCode = StoreHandler.IsSys_HasCatogryForSalverCode(context, _scan_salverCode, ref store);
-//                            if (isSys_HasCatogryForSalverCode)
-//                            {
-//                                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屾墭鐩樼爜涓簕_scan_salverCode}锛岃鎵樼洏搴撳瓨宸插瓨鍦紝鍦ㄧ珛搴撳簱浣峽store.SrmStationCode}锛屽湪RGV搴撲綅{store.RgvStationCode}锛屼笉鍏佽鑷姩缁勭洏";
-//                                continue;
-//                            }
-//                            var isExistOtherTaskDoingForSalverCode = PartTaskHandler.IsExistOtherTaskDoingForSalverCode(stationCode);
-//                            if (isExistOtherTaskDoingForSalverCode)
-//                            {
-//                                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屾墭鐩樼爜涓簕_scan_salverCode}锛岃鎵樼洏宸茬粡鏈夋湭缁撴潫鐨勪换鍔¤鍗犵敤锛屼笉鍏佽鑷姩缁勭洏";
-//                                continue;
-//                            }
-
-//                            //绗﹀悎鏉′欢锛屽嵆灏嗚繘琛岃嚜鍔ㄧ粍鐩�
-//                            alertMsg = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负{_scan_CargoNo}锛屾墭鐩樼爜涓簕_scan_salverCode}锛岀鍚堟潯浠讹紝鍗冲皢杩涜鑷姩缁勭洏";
-//                            SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = alertMsg;
-//                            Log4NetHelper.WriteInfoLog(LogType.AutoSalverMaterialBindTask, alertMsg);
-
-//                            try
-//                            {
-//                                //璋冪敤API
-//                                AddMainTaskPostParam param = new AddMainTaskPostParam()
-//                                {
-//                                    InStoreNo = ((int)rgvLocation).ToString(),
-//                                    CargoNo = _scan_CargoNo,
-//                                    SalverCode = _scan_salverCode,
-//                                };
-//                                MessageModel<string> ret = WmsRequestHelper.SalverMaterialBind(param);
-//                                if (ret.success)
-//                                {
-//                                    alertMsg = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负{_scan_CargoNo}锛屾墭鐩樼爜涓簕_scan_salverCode}锛岃嚜鍔ㄧ粍鐩樿姹俉MSAPI鎴愬姛锛�";
-//                                    SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = alertMsg;
-//                                    Log4NetHelper.WriteInfoLog(LogType.AutoSalverMaterialBindTask, alertMsg);
-//                                }
-//                                else
-//                                {
-//                                    alertMsg = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负{_scan_CargoNo}锛屾墭鐩樼爜涓簕_scan_salverCode}锛岃嚜鍔ㄧ粍鐩樿姹俉MSAPI澶辫触:WMS杩斿洖娑堟伅涓�->{ret.msg}";
-//                                    SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = alertMsg;
-//                                    Log4NetHelper.WriteInfoLog(LogType.AutoSalverMaterialBindTask, alertMsg);
-//                                    Log4NetHelper.WriteErrorLog(LogType.AutoSalverMaterialBindTask, alertMsg, null);
-//                                }
-//                            }
-//                            catch (Exception ex)
-//                            {
-//                                alertMsg = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负{_scan_CargoNo}锛屾墭鐩樼爜涓簕_scan_salverCode}锛岃嚜鍔ㄧ粍鐩樿姹俉MSAPI澶辫触:鍑虹幇寮傚父->{ex.Message}";
-//                                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = alertMsg;
-//                                Log4NetHelper.WriteInfoLog(LogType.AutoSalverMaterialBindTask, alertMsg);
-//                                Log4NetHelper.WriteErrorLog(LogType.AutoSalverMaterialBindTask, alertMsg, ex);
-//                            }
-
-//                        }
-//                    }
-//                }
-//                catch (Exception ex)
-//                {
-//                    SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask += "鑷姩缁勭洏 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
-//                    Log4NetHelper.WriteErrorLog(LogType.AutoSalverMaterialBindTask, "AutoSalverMaterialBindTask 鍑虹幇寮傚父锛�" + ex.Message, ex);
-//                }
-
-//            }
-//        }
-//    }
-//}
diff --git a/CC/iWareCC_ASRS/WmsTask/AutoSalverMaterialBindTask.cs b/CC/iWareCC_ASRS/WmsTask/AutoSalverMaterialBindTask.cs
index fc30e0a..a9e967c 100644
--- a/CC/iWareCC_ASRS/WmsTask/AutoSalverMaterialBindTask.cs
+++ b/CC/iWareCC_ASRS/WmsTask/AutoSalverMaterialBindTask.cs
@@ -33,10 +33,10 @@
             while (true)
             {
                 Thread.Sleep(2000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
-                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = string.Empty;
+                SystemWarningMsg._lbl_alert_DataProcess_BZ39 = string.Empty;
                 try
                 {
-                    if (SystemValue.isAllowRuning_AutoSalverMaterialBindTask && SystemValue.isStartedModel)
+                    if (SystemValue.isAllowRuning_DataProcess_BZ39 && SystemValue.isStartedModel)
                     {
                         EDevice rgvLocation = EDevice.鍏ュ簱鍙�1019;
                         var stationCode = Convert.ToInt32(rgvLocation).ToString();
@@ -50,25 +50,25 @@
 
                             if (isSys_HasCatogryForRgvStattion)
                             {
-                                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = $"{rgvLocation.ToString()}-绯荤粺鏈夊簱瀛�,姝ゆ寰幆缁撴潫";
+                                SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-绯荤粺鏈夊簱瀛�,姝ゆ寰幆缁撴潫";
                                 continue;
                             }
                             if (isExistOtherTaskDoing)
                             {
-                                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = $"{rgvLocation.ToString()}-鏈変换鍔″崰鐢ㄨ绔欑偣,姝ゆ寰幆缁撴潫";
+                                SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-鏈変换鍔″崰鐢ㄨ绔欑偣,姝ゆ寰幆缁撴潫";
                                 continue;
                             }
                             if (!isGD_HasCatogryForRgvStattion)
                             {
-                                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = $"{rgvLocation.ToString()}-鍏夌數鏄剧ず鏃犺揣,姝ゆ寰幆缁撴潫";
+                                SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-鍏夌數鏄剧ず鏃犺揣,姝ゆ寰幆缁撴潫";
                                 continue;
                             }
-                            SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = $"{rgvLocation.ToString()}-鍏夌數鏈夎揣";
+                            SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-鍏夌數鏈夎揣";
                             //闇�瑕佽鍙� 鍙戝姩鏈烘壂鎻忔灙鐨勪俊鎭�
                             var _scan_CargoNo = FormCC.rgvView.R_1019_CargoNoScan;
                             if (string.IsNullOrEmpty(_scan_CargoNo))
                             {
-                                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负绌猴紝涓嶅厑璁歌嚜鍔ㄧ粍鐩�";
+                                SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负绌猴紝涓嶅厑璁歌嚜鍔ㄧ粍鐩�";
                                 continue;
                             }
 
@@ -85,26 +85,26 @@
                             var _scan_salverCode = FormCC.rgvView.R_1019_Scan;
                             if (string.IsNullOrEmpty(_scan_salverCode))
                             {
-                                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屾墭鐩樼爜涓虹┖锛屼笉鍏佽鑷姩缁勭洏";
+                                SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屾墭鐩樼爜涓虹┖锛屼笉鍏佽鑷姩缁勭洏";
                                 continue;
                             }
                             var isSys_HasCatogryForSalverCode = StoreHandler.IsSys_HasCatogryForSalverCode(context, _scan_salverCode, ref store);
                             if (isSys_HasCatogryForSalverCode)
                             {
-                                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屾墭鐩樼爜涓簕_scan_salverCode}锛岃鎵樼洏搴撳瓨宸插瓨鍦紝鍦ㄧ珛搴撳簱浣峽store.SrmStationCode}锛屽湪RGV搴撲綅{store.RgvStationCode}锛屼笉鍏佽鑷姩缁勭洏";
+                                SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屾墭鐩樼爜涓簕_scan_salverCode}锛岃鎵樼洏搴撳瓨宸插瓨鍦紝鍦ㄧ珛搴撳簱浣峽store.SrmStationCode}锛屽湪RGV搴撲綅{store.RgvStationCode}锛屼笉鍏佽鑷姩缁勭洏";
                                 continue;
                             }
                             var isExistOtherTaskDoingForSalverCode = PartTaskHandler.IsExistOtherTaskDoingForSalverCode(stationCode);
                             if (isExistOtherTaskDoingForSalverCode)
                             {
-                                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屾墭鐩樼爜涓簕_scan_salverCode}锛岃鎵樼洏宸茬粡鏈夋湭缁撴潫鐨勪换鍔¤鍗犵敤锛屼笉鍏佽鑷姩缁勭洏";
+                                SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屾墭鐩樼爜涓簕_scan_salverCode}锛岃鎵樼洏宸茬粡鏈夋湭缁撴潫鐨勪换鍔¤鍗犵敤锛屼笉鍏佽鑷姩缁勭洏";
                                 continue;
                             }
 
                             //绗﹀悎鏉′欢锛屽嵆灏嗚繘琛岃嚜鍔ㄧ粍鐩�
                             alertMsg = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负{_scan_CargoNo}锛屾墭鐩樼爜涓簕_scan_salverCode}锛岀鍚堟潯浠讹紝鍗冲皢杩涜鑷姩缁勭洏";
-                            SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = alertMsg;
-                            Log4NetHelper.WriteInfoLog(LogType.AutoSalverMaterialBindTask, alertMsg);
+                            SystemWarningMsg._lbl_alert_DataProcess_BZ39 = alertMsg;
+                            Log4NetHelper.WriteInfoLog(LogType.DataProcess_BZ39, alertMsg);
 
                             try
                             {
@@ -114,16 +114,16 @@
                                 if (v_btjResult.success == false)
                                 {
                                     alertMsg = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负{_scan_CargoNo}锛屾墭鐩樼爜涓簕_scan_salverCode}锛屾湰浣撴満鎺ユ敹API 璇锋眰澶辫触:WMS杩斿洖娑堟伅涓�->{v_btjResult.msg}";
-                                    SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = alertMsg;
-                                    Log4NetHelper.WriteInfoLog(LogType.AutoSalverMaterialBindTask, alertMsg);
-                                    Log4NetHelper.WriteErrorLog(LogType.AutoSalverMaterialBindTask, alertMsg, null);
+                                    SystemWarningMsg._lbl_alert_DataProcess_BZ39 = alertMsg;
+                                    Log4NetHelper.WriteInfoLog(LogType.DataProcess_BZ39, alertMsg);
+                                    Log4NetHelper.WriteErrorLog(LogType.DataProcess_BZ39, alertMsg, null);
                                     continue;
                                 }
                                 else
                                 {
                                     alertMsg = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负{_scan_CargoNo}锛屾墭鐩樼爜涓簕_scan_salverCode}锛屾湰浣撴満鎺ユ敹API 璇锋眰鎴愬姛:WMS杩斿洖娑堟伅涓�->{v_btjResult.msg}";
-                                    SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = alertMsg;
-                                    Log4NetHelper.WriteInfoLog(LogType.AutoSalverMaterialBindTask, alertMsg);
+                                    SystemWarningMsg._lbl_alert_DataProcess_BZ39 = alertMsg;
+                                    Log4NetHelper.WriteInfoLog(LogType.DataProcess_BZ39, alertMsg);
                                 }
 
                                 //璋冪敤API
@@ -137,24 +137,24 @@
                                 if (ret.success)
                                 {
                                     alertMsg = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负{_scan_CargoNo}锛屾墭鐩樼爜涓簕_scan_salverCode}锛岃嚜鍔ㄧ粍鐩樿姹俉MSAPI鎴愬姛锛�";
-                                    SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = alertMsg;
-                                    Log4NetHelper.WriteInfoLog(LogType.AutoSalverMaterialBindTask, alertMsg);
+                                    SystemWarningMsg._lbl_alert_DataProcess_BZ39 = alertMsg;
+                                    Log4NetHelper.WriteInfoLog(LogType.DataProcess_BZ39, alertMsg);
 
                                 }
                                 else
                                 {
                                     alertMsg = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负{_scan_CargoNo}锛屾墭鐩樼爜涓簕_scan_salverCode}锛岃嚜鍔ㄧ粍鐩樿姹俉MSAPI澶辫触:WMS杩斿洖娑堟伅涓�->{ret.msg}";
-                                    SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = alertMsg;
-                                    Log4NetHelper.WriteInfoLog(LogType.AutoSalverMaterialBindTask, alertMsg);
-                                    Log4NetHelper.WriteErrorLog(LogType.AutoSalverMaterialBindTask, alertMsg, null);
+                                    SystemWarningMsg._lbl_alert_DataProcess_BZ39 = alertMsg;
+                                    Log4NetHelper.WriteInfoLog(LogType.DataProcess_BZ39, alertMsg);
+                                    Log4NetHelper.WriteErrorLog(LogType.DataProcess_BZ39, alertMsg, null);
                                 }
                             }
                             catch (Exception ex)
                             {
                                 alertMsg = $"璇诲彇鐨剓rgvLocation.ToString()}浣嶇疆锛屽彂鍔ㄦ満鐮佷负{_scan_CargoNo}锛屾墭鐩樼爜涓簕_scan_salverCode}锛岃嚜鍔ㄧ粍鐩樿姹俉MSAPI澶辫触:鍑虹幇寮傚父->{ex.Message}";
-                                SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask = alertMsg;
-                                Log4NetHelper.WriteInfoLog(LogType.AutoSalverMaterialBindTask, alertMsg);
-                                Log4NetHelper.WriteErrorLog(LogType.AutoSalverMaterialBindTask, alertMsg, ex);
+                                SystemWarningMsg._lbl_alert_DataProcess_BZ39 = alertMsg;
+                                Log4NetHelper.WriteInfoLog(LogType.DataProcess_BZ39, alertMsg);
+                                Log4NetHelper.WriteErrorLog(LogType.DataProcess_BZ39, alertMsg, ex);
                             }
 
                         }
@@ -162,8 +162,8 @@
                 }
                 catch (Exception ex)
                 {
-                    SystemWarningMsg._lbl_alert_AutoSalverMaterialBindTask += "鑷姩缁勭洏 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
-                    Log4NetHelper.WriteErrorLog(LogType.AutoSalverMaterialBindTask, "AutoSalverMaterialBindTask 鍑虹幇寮傚父锛�" + ex.Message, ex);
+                    SystemWarningMsg._lbl_alert_DataProcess_BZ39 += "鑷姩缁勭洏 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
+                    Log4NetHelper.WriteErrorLog(LogType.DataProcess_BZ39, "AutoSalverMaterialBindTask 鍑虹幇寮傚父锛�" + ex.Message, ex);
                 }
 
             }
diff --git a/CC/iWareCC_ASRS/WmsTask/AutoUpdateEngineInfoTask.cs b/CC/iWareCC_ASRS/WmsTask/AutoUpdateEngineInfoTask.cs
index 9756ce5..2eabaa3 100644
--- a/CC/iWareCC_ASRS/WmsTask/AutoUpdateEngineInfoTask.cs
+++ b/CC/iWareCC_ASRS/WmsTask/AutoUpdateEngineInfoTask.cs
@@ -35,17 +35,17 @@
             while (true)
             {
                 Thread.Sleep(2000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
-                SystemWarningMsg._lbl_alert_AutoUpdateEngineInfoTask = string.Empty;
+                SystemWarningMsg._lbl_alert_DataProcess_269 = string.Empty;
                 try
                 {
-                    if (SystemValue.isAllowRuning_AutoUpdateEngineInfoTask && SystemValue.isStartedModel)
+                    if (SystemValue.isAllowRuning_DataProcess_269 && SystemValue.isStartedModel)
                     {
                         using (DbModel context = new DbModel())
                         {
                             var needIssueTask = context.Task_Main.Where(x => x.IsUpdateMatFinish == false).OrderBy(x => x.Id).FirstOrDefault();
                             if (needIssueTask == null)
                             {
-                                SystemWarningMsg._lbl_alert_AutoUpdateEngineInfoTask = $"娌℃湁瑕佸鐞哰閲嶆柊鑾峰彇鍙戝姩鏈轰俊鎭紝骞惰祴鍊糫浠诲姟,姝ゆ寰幆缁撴潫";
+                                SystemWarningMsg._lbl_alert_DataProcess_269 = $"娌℃湁瑕佸鐞哰閲嶆柊鑾峰彇鍙戝姩鏈轰俊鎭紝骞惰祴鍊糫浠诲姟,姝ゆ寰幆缁撴潫";
                                 continue;
                             }
                             if (needIssueTask.UpdateMatFinishNum != null)
@@ -58,8 +58,8 @@
                             //绗﹀悎鏉′欢锛屽嵆灏嗚繘琛岄噸鏂拌幏鍙栧彂鍔ㄦ満淇℃伅锛屽苟璧嬪��
                             var _scan_salverCode = needIssueTask.SalverCode;
                             alertMsg = $"鍙戝姩鏈虹爜涓簕needIssueTask.SerialNumber}锛屾墭鐩樼爜涓簕_scan_salverCode}锛岀鍚堟潯浠讹紝鍗冲皢杩涜閲嶆柊鑾峰彇鍙戝姩鏈轰俊鎭紝骞惰祴鍊�";
-                            SystemWarningMsg._lbl_alert_AutoUpdateEngineInfoTask = alertMsg;
-                            Log4NetHelper.WriteInfoLog(LogType.AutoUpdateEngineInfoTask, alertMsg);
+                            SystemWarningMsg._lbl_alert_DataProcess_269 = alertMsg;
+                            Log4NetHelper.WriteInfoLog(LogType.DataProcess_269, alertMsg);
 
                             try
                             {
@@ -68,8 +68,8 @@
                                 if (getEngineInfoResult.code != 200)
                                 {
                                     alertMsg = ($"鏌ヨMES鍙戝姩鏈轰俊鎭け璐�,鍙傛暟{material.CargoNo},MES杩斿洖code:" + getEngineInfoResult.code + ",淇℃伅:" + getEngineInfoResult.message);
-                                    SystemWarningMsg._lbl_alert_AutoUpdateEngineInfoTask = alertMsg;
-                                    Log4NetHelper.WriteInfoLog(LogType.AutoUpdateEngineInfoTask, alertMsg);
+                                    SystemWarningMsg._lbl_alert_DataProcess_269 = alertMsg;
+                                    Log4NetHelper.WriteInfoLog(LogType.DataProcess_269, alertMsg);
 
                                     needIssueTask.UpdateMatFinishNum = needIssueTask.UpdateMatFinishNum == null ? 1 : (Convert.ToInt32(needIssueTask.UpdateMatFinishNum) + 1);
                                     UpdateMat(context, needIssueTask);
@@ -82,8 +82,8 @@
                                         + ",淇℃伅:" + getEngineInfoResult.message + ",data:" + JsonConvert.SerializeObject(getEngineInfoResult.data)
 
                                         ); ; ;
-                                    SystemWarningMsg._lbl_alert_AutoUpdateEngineInfoTask = alertMsg;
-                                    Log4NetHelper.WriteInfoLog(LogType.AutoUpdateEngineInfoTask, alertMsg);
+                                    SystemWarningMsg._lbl_alert_DataProcess_269 = alertMsg;
+                                    Log4NetHelper.WriteInfoLog(LogType.DataProcess_269, alertMsg);
 
                                     needIssueTask.UpdateMatFinishNum = needIssueTask.UpdateMatFinishNum == null ? 1 : (Convert.ToInt32(needIssueTask.UpdateMatFinishNum) + 1);
                                     UpdateMat(context, needIssueTask);
@@ -101,8 +101,8 @@
                                 if (ret.success)
                                 {//澶勭悊鎴愬姛浜嗭紝WMS API浼氭妸杩欎釜鐘舵�佹洿鏂扮殑IsUpdateMatFinish
                                     alertMsg = $"鍙戝姩鏈虹爜涓簕needIssueTask.SerialNumber}锛屾墭鐩樼爜涓簕_scan_salverCode}锛岃姹傚弬鏁�:{JsonConvert.SerializeObject(param)},閲嶆柊鑾峰彇鍙戝姩鏈轰俊鎭紝骞惰祴鍊艰姹俉MSAPI鎴愬姛锛�";
-                                    SystemWarningMsg._lbl_alert_AutoUpdateEngineInfoTask = alertMsg;
-                                    Log4NetHelper.WriteInfoLog(LogType.AutoUpdateEngineInfoTask, alertMsg);
+                                    SystemWarningMsg._lbl_alert_DataProcess_269 = alertMsg;
+                                    Log4NetHelper.WriteInfoLog(LogType.DataProcess_269, alertMsg);
 
                                     needIssueTask.IsUpdateMatFinish = true;
                                     needIssueTask.UpdateMatFinishTime = DateTime.Now;
@@ -111,9 +111,9 @@
                                 else
                                 {//澶辫触
                                     alertMsg = $"鍙戝姩鏈虹爜涓簕needIssueTask.SerialNumber}锛屾墭鐩樼爜涓簕_scan_salverCode}锛岃姹傚弬鏁�:{JsonConvert.SerializeObject(param)},閲嶆柊鑾峰彇鍙戝姩鏈轰俊鎭紝骞惰祴鍊艰姹俉MSAPI澶辫触:WMS杩斿洖娑堟伅涓�->{ret.msg}";
-                                    SystemWarningMsg._lbl_alert_AutoUpdateEngineInfoTask = alertMsg;
-                                    Log4NetHelper.WriteInfoLog(LogType.AutoUpdateEngineInfoTask, alertMsg);
-                                    Log4NetHelper.WriteErrorLog(LogType.AutoUpdateEngineInfoTask, alertMsg, null);
+                                    SystemWarningMsg._lbl_alert_DataProcess_269 = alertMsg;
+                                    Log4NetHelper.WriteInfoLog(LogType.DataProcess_269, alertMsg);
+                                    Log4NetHelper.WriteErrorLog(LogType.DataProcess_269, alertMsg, null);
 
                                     needIssueTask.UpdateMatFinishNum = needIssueTask.UpdateMatFinishNum == null ? 1 : (Convert.ToInt32(needIssueTask.UpdateMatFinishNum) + 1);
                                     UpdateMat(context, needIssueTask);
@@ -122,9 +122,9 @@
                             catch (Exception ex)
                             {
                                 alertMsg = $"鍙戝姩鏈虹爜涓簕needIssueTask.SerialNumber}锛屾墭鐩樼爜涓簕_scan_salverCode}锛岄噸鏂拌幏鍙栧彂鍔ㄦ満淇℃伅锛屽苟璧嬪�艰姹俉MSAPI澶辫触:鍑虹幇寮傚父->{ex.Message}";
-                                SystemWarningMsg._lbl_alert_AutoUpdateEngineInfoTask = alertMsg;
-                                Log4NetHelper.WriteInfoLog(LogType.AutoUpdateEngineInfoTask, alertMsg);
-                                Log4NetHelper.WriteErrorLog(LogType.AutoUpdateEngineInfoTask, alertMsg, ex);
+                                SystemWarningMsg._lbl_alert_DataProcess_269 = alertMsg;
+                                Log4NetHelper.WriteInfoLog(LogType.DataProcess_269, alertMsg);
+                                Log4NetHelper.WriteErrorLog(LogType.DataProcess_269, alertMsg, ex);
 
                                 needIssueTask.UpdateMatFinishNum = needIssueTask.UpdateMatFinishNum == null ? 1 : (Convert.ToInt32(needIssueTask.UpdateMatFinishNum) + 1);
                                 UpdateMat(context, needIssueTask);
@@ -135,8 +135,8 @@
                 }
                 catch (Exception ex)
                 {
-                    SystemWarningMsg._lbl_alert_AutoUpdateEngineInfoTask += "閲嶆柊鑾峰彇鍙戝姩鏈轰俊鎭紝骞惰祴鍊� 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
-                    Log4NetHelper.WriteErrorLog(LogType.AutoUpdateEngineInfoTask, "AutoUpdateEngineInfoTask 鍑虹幇寮傚父锛�" + ex.Message, ex);
+                    SystemWarningMsg._lbl_alert_DataProcess_269 += "閲嶆柊鑾峰彇鍙戝姩鏈轰俊鎭紝骞惰祴鍊� 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
+                    Log4NetHelper.WriteErrorLog(LogType.DataProcess_269, "AutoUpdateEngineInfoTask 鍑虹幇寮傚父锛�" + ex.Message, ex);
                 }
 
             }
diff --git a/CC/iWareCC_ASRS/WmsTask/LineInSacnResult.cs b/CC/iWareCC_ASRS/WmsTask/LineInSacnResult.cs
index 8ae81c6..a7c4722 100644
--- a/CC/iWareCC_ASRS/WmsTask/LineInSacnResult.cs
+++ b/CC/iWareCC_ASRS/WmsTask/LineInSacnResult.cs
@@ -32,7 +32,7 @@
                 var showErrMsg = "";
                 try
                 {
-                    SystemWarningMsg._lbl_Alert_LineInScan = "";
+                    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = "";
                     //if (SystemValue.isAllowRuning_LineInScan && SystemValue.isStartedModel)
                     if (true)//娉ㄦ剰:涓嶉渶瑕佸惎鍔ㄦā寮�
                     {
@@ -49,12 +49,12 @@
                         showErrMsg += errMsg + SysGloble.SPLIT_STR;
                     }
 
-                    SystemWarningMsg._lbl_Alert_LineInScan = showErrMsg;
+                    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = showErrMsg;
                 }
                 catch (Exception ex)
                 {
-                    SystemWarningMsg._lbl_Alert_LineInScan += "HandlerLineInSacnResult 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
-                    Log4NetHelper.WriteErrorLog(iWareCommon.Utils.LogType.LineInScanTheadService, "HandlerLineInSacnResult 鍑虹幇寮傚父锛�" + ex.Message, ex);
+                    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound += "HandlerLineInSacnResult 鍑虹幇寮傚父:" + ex.Message + SysGloble.SPLIT_STR;
+                    Log4NetHelper.WriteErrorLog(iWareCommon.Utils.LogType.DataProcess_RobotBuffer_FinishTaskForOutbound, "HandlerLineInSacnResult 鍑虹幇寮傚父锛�" + ex.Message, ex);
                 }
                 Thread.Sleep(1000);//浼戠湢2绉�
             }
diff --git a/CC/iWareCC_ASRS/WmsTask/VirtualTaskNoOutPlanTaskHandler.cs b/CC/iWareCC_ASRS/WmsTask/VirtualTaskNoOutPlanTaskHandler.cs
index 084aa09..e9cffb0 100644
--- a/CC/iWareCC_ASRS/WmsTask/VirtualTaskNoOutPlanTaskHandler.cs
+++ b/CC/iWareCC_ASRS/WmsTask/VirtualTaskNoOutPlanTaskHandler.cs
@@ -29,7 +29,7 @@
             {
                 try
                 {
-                    if (SystemValue.isAllowRuning_VirtualTaskNoOutPlanTaskHandler && SystemValue.isStartedModel)
+                    if (SystemValue.isAllowRuning_DataProcess_RobotBuffer_FinishTask && SystemValue.isStartedModel)
                     {
                         errMsg = "";//閲嶇疆
                         using (DbModel mycontext = new DbModel())
@@ -39,25 +39,25 @@
                                 SingleOutPlanTaskHandler(mycontext, ref errMsg);
                                 if (string.IsNullOrEmpty(errMsg))
                                 {
-                                    SystemWarningMsg._lbl_Alert_VirtualTaskNoOutPlanTaskHandler = "鎴愬姛澶勭悊";
+                                    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = "鎴愬姛澶勭悊";
                                 }
                                 else
                                 {
-                                    SystemWarningMsg._lbl_Alert_VirtualTaskNoOutPlanTaskHandler = errMsg;
+                                    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = errMsg;
                                 }
                             }
                             catch (Exception ex)
                             {
                                 Log4NetHelper.WriteErrorLog(LogType.OutPlanTask, "澶勭悊銆愯櫄鎷熷嚭搴撳鐞嗐�戠殑鍑哄簱璁″垝浠诲姟=>" + errMsg + ",寮傚父:" + ex.Message, ex);
-                                SystemWarningMsg._lbl_Alert_VirtualTaskNoOutPlanTaskHandler = "澶勭悊銆愯櫄鎷熷嚭搴撳鐞嗐�戠殑鍑哄簱璁″垝浠诲姟=>" + errMsg + ",寮傚父:" + ex.Message;
+                                SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = "澶勭悊銆愯櫄鎷熷嚭搴撳鐞嗐�戠殑鍑哄簱璁″垝浠诲姟=>" + errMsg + ",寮傚父:" + ex.Message;
                             }
                         }
                     }
                 }
                 catch (Exception ex)
                 {
-                    SystemWarningMsg._lbl_Alert_VirtualTaskNoOutPlanTaskHandler = "鍑虹幇寮傚父:" + ex.Message;
-                    Log4NetHelper.WriteErrorLog(LogType.VirtualTaskNoOutPlanTaskHandler, "VirtualTaskNoOutPlanTaskHandler鍑虹幇寮傚父锛�" + ex.Message, ex);
+                    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = "鍑虹幇寮傚父:" + ex.Message;
+                    Log4NetHelper.WriteErrorLog(LogType.DataProcess_RobotBuffer_FinishTask, "VirtualTaskNoOutPlanTaskHandler鍑虹幇寮傚父锛�" + ex.Message, ex);
                 }
                 Thread.Sleep(10 * 1000);//浼戠湢10绉�
             }
@@ -165,8 +165,8 @@
                 catch (Exception ex)
                 {
                     trans.Rollback();
-                    SystemWarningMsg._lbl_Alert_VirtualTaskNoOutPlanTaskHandler = "SingleTaskHandlerForVirtual鍑虹幇寮傚父:" + ex.Message;
-                    Log4NetHelper.WriteErrorLog(LogType.VirtualTaskNoOutPlanTaskHandler, "SingleTaskHandlerForVirtual 鍑虹幇寮傚父锛�" + ex.Message, ex);
+                    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = "SingleTaskHandlerForVirtual鍑虹幇寮傚父:" + ex.Message;
+                    Log4NetHelper.WriteErrorLog(LogType.DataProcess_RobotBuffer_FinishTask, "SingleTaskHandlerForVirtual 鍑虹幇寮傚父锛�" + ex.Message, ex);
                     throw ex;
                 }
             }
diff --git a/CC/iWareCC_ASRS/iWareCC.csproj b/CC/iWareCC_ASRS/iWareCC.csproj
index b64345c..02ba9f5 100644
--- a/CC/iWareCC_ASRS/iWareCC.csproj
+++ b/CC/iWareCC_ASRS/iWareCC.csproj
@@ -8,7 +8,7 @@
     <OutputType>WinExe</OutputType>
     <RootNamespace>iWareCC</RootNamespace>
     <AssemblyName>iWareCC</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <Deterministic>true</Deterministic>
     <IsWebBootstrapper>false</IsWebBootstrapper>
@@ -28,6 +28,7 @@
     <PublishWizardCompleted>true</PublishWizardCompleted>
     <BootstrapperEnabled>true</BootstrapperEnabled>
     <WcfConfigValidationEnabled>True</WcfConfigValidationEnabled>
+    <TargetFrameworkProfile />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <PlatformTarget>AnyCPU</PlatformTarget>
@@ -92,6 +93,9 @@
     <Reference Include="WZ.Useful.Commons">
       <HintPath>..\iWareCommon\DLL\WZ.Useful.Commons.dll</HintPath>
     </Reference>
+    <Reference Include="Yitter.IdGenerator.Net45">
+      <HintPath>..\DLL\Yitter.IdGenerator.Net45.dll</HintPath>
+    </Reference>
   </ItemGroup>
   <ItemGroup>
     <Compile Include="BLL\SalverMaterialBindBLL.cs" />
@@ -104,6 +108,11 @@
     <Compile Include="Common\Helper\FormHelper.cs" />
     <Compile Include="Common\Helper\MyExtendHelper.cs" />
     <Compile Include="Common\MyMesService.cs" />
+    <Compile Include="Connected Services\StationService\Reference.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Reference.svcmap</DependentUpon>
+    </Compile>
     <Compile Include="DeviceThreadFactory\DeviceThreadServiceFactory.cs" />
     <Compile Include="DeviceThreadFactory\DeviceThreadServiceHandle.cs" />
     <Compile Include="Common\Helper\ControlHelper.cs" />
@@ -144,11 +153,16 @@
     <Compile Include="DeviceThreadFactory\DeviceThreadService\RgvThreadService\RgvTaskThreadService.cs" />
     <Compile Include="DeviceThreadFactory\DeviceThreadService\ConveyorThreadService\ConveyorThreadService.cs" />
     <Compile Include="DeviceThreadFactory\DeviceThreadService\SrmThreadService\SrmTaskThreadService.cs" />
+    <Compile Include="ThreadService\00_269宸ヤ綅\DataProcess_269.cs" />
+    <Compile Include="ThreadService\01_BZ01宸ヤ綅锛堟竻鐏帮紝娲楁澘鍚庡伐浣嶏級\DataProcess_BZ01.cs" />
+    <Compile Include="ThreadService\02_BZ39宸ヤ綅锛堣ˉ鏉垮悗宸ヤ綅锛塡Outbound\2銆丏ataProcess_RobotBuffer_IssueOutboundTask.cs" />
+    <Compile Include="ThreadService\02_BZ39宸ヤ綅锛堣ˉ鏉垮悗宸ヤ綅锛塡Outbound\1銆丏ataProcess_RobotBuffer_AutoQiTaoOutbound.cs" />
+    <Compile Include="ThreadService\02_BZ39宸ヤ綅锛堣ˉ鏉垮悗宸ヤ綅锛塡Outbound\3銆丏ataProcess_RobotBuffer_FinishTaskForOutbound.cs" />
+    <Compile Include="ThreadService\02_BZ39宸ヤ綅锛堣ˉ鏉垮悗宸ヤ綅锛塡Inbound\2銆丏ataProcess_RobotBuffer_FinishTask.cs" />
+    <Compile Include="ThreadService\02_BZ39宸ヤ綅锛堣ˉ鏉垮悗宸ヤ綅锛塡Inbound\1銆丏ataProcess_BZ39.cs" />
     <Compile Include="WCF\CCWcfService.cs" />
     <Compile Include="WCF\ICCWcfService.cs" />
     <Compile Include="WmsTask\AutoUpdateEngineInfoTask.cs" />
-    <Compile Include="WmsTask\AutoIssueInStoreTask.cs" />
-    <Compile Include="WmsTask\AutoSalverMaterialBindTask - 澶嶅埗.cs" />
     <Compile Include="WmsTask\AutoSalverMaterialBindTask.cs" />
     <Compile Include="WmsTask\LineInSacnResult.cs" />
     <Compile Include="WmsTask\MainTaskDecompose_ZPRK.cs" />
@@ -224,6 +238,28 @@
     <None Include="Connected Services\SrmService\service.xsd">
       <SubType>Designer</SubType>
     </None>
+    <None Include="Connected Services\StationService\item.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Connected Services\StationService\item1.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Connected Services\StationService\item2.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Connected Services\StationService\item3.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Connected Services\StationService\item4.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Connected Services\StationService\iWareCC.StationService.SdaResEntity.datasource">
+      <DependentUpon>Reference.svcmap</DependentUpon>
+    </None>
+    <None Include="Connected Services\StationService\iWareCC.StationService.StationView.datasource">
+      <DependentUpon>Reference.svcmap</DependentUpon>
+    </None>
+    <None Include="Connected Services\StationService\StationService.wsdl" />
     <None Include="Properties\Settings.settings">
       <Generator>SettingsSingleFileGenerator</Generator>
       <LastGenOutput>Settings.Designer.cs</LastGenOutput>
@@ -245,6 +281,7 @@
   <ItemGroup>
     <WCFMetadataStorage Include="Connected Services\RgvService\" />
     <WCFMetadataStorage Include="Connected Services\SrmService\" />
+    <WCFMetadataStorage Include="Connected Services\StationService\" />
   </ItemGroup>
   <ItemGroup>
     <None Include="Connected Services\SrmService\configuration91.svcinfo" />
@@ -302,11 +339,21 @@
     </BootstrapperPackage>
   </ItemGroup>
   <ItemGroup>
+    <None Include="Connected Services\StationService\item.disco" />
+    <None Include="Connected Services\StationService\configuration91.svcinfo" />
+    <None Include="Connected Services\StationService\configuration.svcinfo" />
+    <None Include="Connected Services\StationService\Reference.svcmap">
+      <Generator>WCF Proxy Generator</Generator>
+      <LastGenOutput>Reference.cs</LastGenOutput>
+    </None>
     <Content Include="IwareICO.ico" />
     <Content Include="Logo.ico" />
     <None Include="Resources\绌挎姣嶈溅1.jpg" />
     <None Include="Resources\绌挎瀛愭瘝杞�%28褰╄壊%29.jpg" />
   </ItemGroup>
-  <ItemGroup />
+  <ItemGroup>
+    <Folder Include="ThreadService\03_BZ12%28鏈哄櫒浜虹爜鍖呭伐浣�%29\" />
+    <Folder Include="ThreadService\04_BZ21锛堟惉杩愭暣鍨涙満鍣ㄤ汉锛塡" />
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 </Project>
\ No newline at end of file
diff --git a/CC/iWareCommon/Properties/Resources.Designer.cs b/CC/iWareCommon/Properties/Resources.Designer.cs
index 7f3345f..533031a 100644
--- a/CC/iWareCommon/Properties/Resources.Designer.cs
+++ b/CC/iWareCommon/Properties/Resources.Designer.cs
@@ -19,7 +19,7 @@
     // 绫婚�氳繃绫讳技浜� ResGen 鎴� Visual Studio 鐨勫伐鍏疯嚜鍔ㄧ敓鎴愮殑銆�
     // 鑻ヨ娣诲姞鎴栫Щ闄ゆ垚鍛橈紝璇风紪杈� .ResX 鏂囦欢锛岀劧鍚庨噸鏂拌繍琛� ResGen
     // (浠� /str 浣滀负鍛戒护閫夐」)锛屾垨閲嶆柊鐢熸垚 VS 椤圭洰銆�
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
     internal class Resources {
@@ -47,8 +47,8 @@
         }
         
         /// <summary>
-        ///   浣跨敤姝ゅ己绫诲瀷璧勬簮绫伙紝涓烘墍鏈夎祫婧愭煡鎵�
-        ///   閲嶅啓褰撳墠绾跨▼鐨� CurrentUICulture 灞炴�с��
+        ///   閲嶅啓褰撳墠绾跨▼鐨� CurrentUICulture 灞炴�э紝瀵�
+        ///   浣跨敤姝ゅ己绫诲瀷璧勬簮绫荤殑鎵�鏈夎祫婧愭煡鎵炬墽琛岄噸鍐欍��
         /// </summary>
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
         internal static global::System.Globalization.CultureInfo Culture {
diff --git a/CC/iWareCommon/Utils/Log4Net/LogType.cs b/CC/iWareCommon/Utils/Log4Net/LogType.cs
index 49ad21b..85eaa52 100644
--- a/CC/iWareCommon/Utils/Log4Net/LogType.cs
+++ b/CC/iWareCommon/Utils/Log4Net/LogType.cs
@@ -26,7 +26,7 @@
         /// <summary>
         /// RGV浠诲姟绾跨▼鏃ュ織
         /// </summary>
-        RgvThreadService = 14,
+        StationThreadService = 14,
         /// <summary>
         /// 妗佹灦浠诲姟绾跨▼鏃ュ織
         /// </summary>
@@ -78,17 +78,17 @@
         /// <summary>
         /// 鍥涗釜鍏ュ簱鍙f壂鎻忔娴嬬嚎绋�
         /// </summary>
-        LineInScanTheadService = 303,
+        DataProcess_RobotBuffer_FinishTaskForOutbound = 303,
 
         /// <summary>
         /// 铏氭嫙搴撳瓨鍑哄簱绾跨▼
         /// </summary>
-        VirtualTaskNoOutPlanTaskHandler = 304,
+        DataProcess_RobotBuffer_FinishTask = 304,
 
         /// <summary>
         /// 鑷姩缁勭洏浠诲姟
         /// </summary>
-        AutoSalverMaterialBindTask = 305,
+        DataProcess_BZ39 = 305,
 
         /// <summary>
         /// 绌烘墭鐩樿浆杩愪换鍔�
@@ -98,11 +98,11 @@
         /// <summary>
         /// 鑷姩缁勭洏浠诲姟涓嬪彂
         /// </summary>
-        AutoIssueInStoreTask = 307,
+        DataProcess_BZ01 = 307,
 
         /// <summary>
         /// 閲嶆柊鑾峰彇鍙戝姩鏈轰俊鎭�
         /// </summary>
-        AutoUpdateEngineInfoTask = 308
+        DataProcess_269 = 308
     }
 }
diff --git a/CC/iWareCommon/iWareCommon.csproj b/CC/iWareCommon/iWareCommon.csproj
index 90b222f..fa252f3 100644
--- a/CC/iWareCommon/iWareCommon.csproj
+++ b/CC/iWareCommon/iWareCommon.csproj
@@ -9,9 +9,10 @@
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <RootNamespace>iWareCommon</RootNamespace>
     <AssemblyName>iWareCommon</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <Deterministic>true</Deterministic>
+    <TargetFrameworkProfile />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
diff --git "a/CC/iWareCommon/log4net_iWare -\347\274\226\350\276\221\347\211\210.config" "b/CC/iWareCommon/log4net_iWare -\347\274\226\350\276\221\347\211\210.config"
index 8ae1b20..5369fd8 100644
--- "a/CC/iWareCommon/log4net_iWare -\347\274\226\350\276\221\347\211\210.config"
+++ "b/CC/iWareCommon/log4net_iWare -\347\274\226\350\276\221\347\211\210.config"
@@ -7,7 +7,7 @@
   <log4net>
     <!--  閲嶆柊鑾峰彇鍙戝姩鏈轰俊鎭�愪俊鎭�戞棩蹇�-->
     <appender name="AutoUpdateEngineInfoTask_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\AutoUpdateEngineInfoTask_Info\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWare_CC\\AutoUpdateEngineInfoTask_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -23,7 +23,7 @@
     </appender>
     <!--閲嶆柊鑾峰彇鍙戝姩鏈轰俊鎭�愰敊璇�戞棩蹇�-->
     <appender name="AutoUpdateEngineInfoTask_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\AutoUpdateEngineInfoTask_Error\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWare_CC\\AutoUpdateEngineInfoTask_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
diff --git a/CC/iWareCommon/log4net_iWare.config b/CC/iWareCommon/log4net_iWare.config
index 1270697..4ddf3d7 100644
--- a/CC/iWareCommon/log4net_iWare.config
+++ b/CC/iWareCommon/log4net_iWare.config
@@ -6,8 +6,8 @@
   </appSettings>
   <log4net>
     <!--  閲嶆柊鑾峰彇鍙戝姩鏈轰俊鎭�愪俊鎭�戞棩蹇�-->
-    <appender name="AutoUpdateEngineInfoTask_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\AutoUpdateEngineInfoTask_Info\\" />
+    <appender name="DataProcess_269_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\DataProcess_269_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -17,13 +17,13 @@
         <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
       </layout>
       <filter type="log4net.Filter.LoggerMatchFilter">
-        <loggerToMatch value="AutoUpdateEngineInfoTask_Info" />
+        <loggerToMatch value="DataProcess_269_Info" />
       </filter>
       <filter type="log4net.Filter.DenyAllFilter" />
     </appender>
     <!--閲嶆柊鑾峰彇鍙戝姩鏈轰俊鎭�愰敊璇�戞棩蹇�-->
-    <appender name="AutoUpdateEngineInfoTask_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\AutoUpdateEngineInfoTask_Error\\" />
+    <appender name="DataProcess_269_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\DataProcess_269_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -33,13 +33,13 @@
         <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
       </layout>
       <filter type="log4net.Filter.LoggerMatchFilter">
-        <loggerToMatch value="AutoUpdateEngineInfoTask_Error" />
+        <loggerToMatch value="DataProcess_269_Error" />
       </filter>
       <filter type="log4net.Filter.DenyAllFilter" />
     </appender>
     <!--  鑷姩缁勭洏浠诲姟涓嬪彂銆愪俊鎭�戞棩蹇�-->
-    <appender name="AutoIssueInStoreTask_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\AutoIssueInStoreTask_Info\\" />
+    <appender name="DataProcess_BZ01_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\DataProcess_BZ01_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -49,13 +49,13 @@
         <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
       </layout>
       <filter type="log4net.Filter.LoggerMatchFilter">
-        <loggerToMatch value="AutoIssueInStoreTask_Info" />
+        <loggerToMatch value="DataProcess_BZ01_Info" />
       </filter>
       <filter type="log4net.Filter.DenyAllFilter" />
     </appender>
     <!--鑷姩缁勭洏浠诲姟涓嬪彂銆愰敊璇�戞棩蹇�-->
-    <appender name="AutoIssueInStoreTask_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\AutoIssueInStoreTask_Error\\" />
+    <appender name="DataProcess_BZ01_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\DataProcess_BZ01_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -65,13 +65,13 @@
         <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
       </layout>
       <filter type="log4net.Filter.LoggerMatchFilter">
-        <loggerToMatch value="AutoIssueInStoreTask_Error" />
+        <loggerToMatch value="DataProcess_BZ01_Error" />
       </filter>
       <filter type="log4net.Filter.DenyAllFilter" />
     </appender>
     <!--  绌烘墭鐩樿浆杩愪换鍔°�愪俊鎭�戞棩蹇�-->
     <appender name="EmptySalverTransferTask_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\EmptySalverTransferTask_Info\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\EmptySalverTransferTask_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -87,7 +87,7 @@
     </appender>
     <!--绌烘墭鐩樿浆杩愪换鍔°�愰敊璇�戞棩蹇�-->
     <appender name="EmptySalverTransferTask_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\EmptySalverTransferTask_Error\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\EmptySalverTransferTask_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -102,8 +102,8 @@
       <filter type="log4net.Filter.DenyAllFilter" />
     </appender>
     <!--  鑷姩缁勭洏浠诲姟銆愪俊鎭�戞棩蹇�-->
-    <appender name="AutoSalverMaterialBindTask_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\AutoSalverMaterialBindTask_Info\\" />
+    <appender name="DataProcess_BZ39_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\DataProcess_BZ39_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -113,13 +113,13 @@
         <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
       </layout>
       <filter type="log4net.Filter.LoggerMatchFilter">
-        <loggerToMatch value="AutoSalverMaterialBindTask_Info" />
+        <loggerToMatch value="DataProcess_BZ39_Info" />
       </filter>
       <filter type="log4net.Filter.DenyAllFilter" />
     </appender>
     <!--鑷姩缁勭洏浠诲姟銆愰敊璇�戞棩蹇�-->
-    <appender name="AutoSalverMaterialBindTask_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\AutoSalverMaterialBindTask_Error\\" />
+    <appender name="DataProcess_BZ39_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\DataProcess_BZ39_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -129,13 +129,13 @@
         <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
       </layout>
       <filter type="log4net.Filter.LoggerMatchFilter">
-        <loggerToMatch value="AutoSalverMaterialBindTask_Error" />
+        <loggerToMatch value="DataProcess_BZ39_Error" />
       </filter>
       <filter type="log4net.Filter.DenyAllFilter" />
     </appender>
     <!--  铏氭嫙搴撳瓨鍑哄簱绾跨▼銆愪俊鎭�戞棩蹇�-->
-    <appender name="VirtualTaskNoOutPlanTaskHandler_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\VirtualTaskNoOutPlanTaskHandler_Info\\" />
+    <appender name="DataProcess_RobotBuffer_FinishTask_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\DataProcess_RobotBuffer_FinishTask_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -145,13 +145,13 @@
         <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
       </layout>
       <filter type="log4net.Filter.LoggerMatchFilter">
-        <loggerToMatch value="VirtualTaskNoOutPlanTaskHandler_Info" />
+        <loggerToMatch value="DataProcess_RobotBuffer_FinishTask_Info" />
       </filter>
       <filter type="log4net.Filter.DenyAllFilter" />
     </appender>
     <!--铏氭嫙搴撳瓨鍑哄簱绾跨▼銆愰敊璇�戞棩蹇�-->
-    <appender name="VirtualTaskNoOutPlanTaskHandler_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\VirtualTaskNoOutPlanTaskHandler_Error\\" />
+    <appender name="DataProcess_RobotBuffer_FinishTask_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\DataProcess_RobotBuffer_FinishTask_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -161,13 +161,13 @@
         <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
       </layout>
       <filter type="log4net.Filter.LoggerMatchFilter">
-        <loggerToMatch value="VirtualTaskNoOutPlanTaskHandler_Error" />
+        <loggerToMatch value="DataProcess_RobotBuffer_FinishTask_Error" />
       </filter>
       <filter type="log4net.Filter.DenyAllFilter" />
     </appender>
     <!--  鍥涗釜鍏ュ簱鍙f壂鎻忔娴嬬嚎绋嬨�愪俊鎭�戞棩蹇�-->
-    <appender name="LineInScanTheadService_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\LineInScanTheadService_Info\\" />
+    <appender name="DataProcess_RobotBuffer_FinishTaskForOutbound_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\DataProcess_RobotBuffer_FinishTaskForOutbound_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -177,13 +177,13 @@
         <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
       </layout>
       <filter type="log4net.Filter.LoggerMatchFilter">
-        <loggerToMatch value="LineInScanTheadService_Info" />
+        <loggerToMatch value="DataProcess_RobotBuffer_FinishTaskForOutbound_Info" />
       </filter>
       <filter type="log4net.Filter.DenyAllFilter" />
     </appender>
     <!--鍥涗釜鍏ュ簱鍙f壂鎻忔娴嬬嚎绋嬨�愰敊璇�戞棩蹇�-->
-    <appender name="LineInScanTheadService_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\LineInScanTheadService_Error\\" />
+    <appender name="DataProcess_RobotBuffer_FinishTaskForOutbound_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\DataProcess_RobotBuffer_FinishTaskForOutbound_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -193,13 +193,13 @@
         <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
       </layout>
       <filter type="log4net.Filter.LoggerMatchFilter">
-        <loggerToMatch value="LineInScanTheadService_Error" />
+        <loggerToMatch value="DataProcess_RobotBuffer_FinishTaskForOutbound_Error" />
       </filter>
       <filter type="log4net.Filter.DenyAllFilter" />
     </appender>
     <!--AGV銆愪俊鎭�戞棩蹇�-->
     <appender name="AGVTheadService_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\AGVTheadService_Info\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\AGVTheadService_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -215,7 +215,7 @@
     </appender>
     <!--AGV銆愰敊璇�戞棩蹇�-->
     <appender name="AGVTheadService_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\AGVTheadService_Error\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\AGVTheadService_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -231,7 +231,7 @@
     </appender>
     <!--MES鎺ュ彛銆愪俊鎭�戞棩蹇�-->
     <appender name="MesService_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\MesService_Info\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\MesService_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -247,7 +247,7 @@
     </appender>
     <!--MES鎺ュ彛銆愰敊璇�戞棩蹇�-->
     <appender name="MesService_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\MesService_Error\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\MesService_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -263,7 +263,7 @@
     </appender>
     <!--鍑哄簱璁″垝銆愪俊鎭�戞棩蹇�-->
     <appender name="OutPlanTask_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\OutPlanTask_Info\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\OutPlanTask_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -279,7 +279,7 @@
     </appender>
     <!--鍑哄簱璁″垝銆愰敊璇�戞棩蹇�-->
     <appender name="OutPlanTask_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\OutPlanTask_Error\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\OutPlanTask_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -295,7 +295,7 @@
     </appender>
     <!--鍫嗗灈鏈轰换鍔$嚎绋嬨�愪俊鎭�戞棩蹇�-->
     <appender name="SrmTheadService_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\SrmTheadService_Info\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\SrmTheadService_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -311,7 +311,7 @@
     </appender>
     <!--鍫嗗灈鏈轰换鍔$嚎绋嬨�愰敊璇�戞棩蹇�-->
     <appender name="SrmTheadService_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\SrmTheadService_Error\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\SrmTheadService_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -328,7 +328,7 @@
     <!--绔嬪簱杈撻�佺嚎浠诲姟绾跨▼銆愪俊鎭�戞棩蹇�-->
     <appender name="ConveyorThreadService_Info" type="log4net.Appender.RollingFileAppender">
       <!--鏃ュ織鐨勬墍鍦ㄤ綅缃紝鑷繁瀹氫箟-->
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\ConveyorThreadService_Info\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\ConveyorThreadService_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -346,7 +346,7 @@
     <!--绔嬪簱杈撻�佺嚎浠诲姟绾跨▼銆愰敊璇�戞棩蹇�-->
     <appender name="ConveyorThreadService_Error" type="log4net.Appender.RollingFileAppender">
       <!--鏃ュ織鐨勬墍鍦ㄤ綅缃紝鑷繁瀹氫箟-->
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\ConveyorThreadService_Error\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\ConveyorThreadService_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -364,7 +364,7 @@
 
     <!-- WCF鏈嶅姟绾跨▼銆愪俊鎭�戞棩蹇�-->
     <appender name="CCWCFService_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\CCWCFService_Info\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\CCWCFService_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -380,7 +380,7 @@
     </appender>
     <!--WCF鏈嶅姟绾跨▼銆愰敊璇�戞棩蹇�-->
     <appender name="CCWCFService_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\CCWCFService_Error\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\CCWCFService_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -395,8 +395,8 @@
       <filter type="log4net.Filter.DenyAllFilter" />
     </appender>
     <!-- RGV浠诲姟绾跨▼  銆愪俊鎭�戞棩蹇�-->
-    <appender name="RgvThreadService_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\RgvThreadService_Info\\" />
+    <appender name="StationThreadService_Info" type="log4net.Appender.RollingFileAppender">
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\StationThreadService_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -406,13 +406,13 @@
         <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
       </layout>
       <filter type="log4net.Filter.LoggerMatchFilter">
-        <loggerToMatch value="RgvThreadService_Info" />
+        <loggerToMatch value="StationThreadService_Info" />
       </filter>
       <filter type="log4net.Filter.DenyAllFilter" />
     </appender>
     <!--RGV浠诲姟绾跨▼   銆愰敊璇�戞棩蹇�-->
-    <appender name="RgvThreadService_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWareCC\\RgvThreadService_Error\\" />
+    <appender name="StationThreadService_Error" type="log4net.Appender.RollingFileAppender">
+      <file value="d:\\Log\\LuLiMuYe\\iWareCC\\StationThreadService_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -422,13 +422,13 @@
         <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
       </layout>
       <filter type="log4net.Filter.LoggerMatchFilter">
-        <loggerToMatch value="RgvThreadService_Error" />
+        <loggerToMatch value="StationThreadService_Error" />
       </filter>
       <filter type="log4net.Filter.DenyAllFilter" />
     </appender>
     <!-- SS7銆愪俊鎭�戞棩蹇�-->
     <appender name="SS7_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWare_SDA\\SS7_Info\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWare_CC\\SS7_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -444,7 +444,7 @@
     </appender>
     <!--SS7銆愰敊璇�戞棩蹇�-->
     <appender name="SS7_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWare_SDA\\SS7_Error\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWare_CC\\SS7_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -461,7 +461,7 @@
 
     <!-- OPC-HslCommunication绾跨▼銆愪俊鎭�戞棩蹇�-->
     <appender name="HslCommunicationService_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWare_SDA\\HslCommunicationService_Info\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWare_CC\\HslCommunicationService_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -477,7 +477,7 @@
     </appender>
     <!--OPC-HslCommunication銆愰敊璇�戞棩蹇�-->
     <appender name="HslCommunicationService_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWare_SDA\\HslCommunicationService_Error\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWare_CC\\HslCommunicationService_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -494,7 +494,7 @@
 
     <!-- PLC鏁版嵁璁块棶鏈嶅姟鐨勭嚎绋嬨�愪俊鎭�戞棩蹇�-->
     <appender name="SdaService_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWare_SDA\\SdaService_Info\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWare_CC\\SdaService_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -510,7 +510,7 @@
     </appender>
     <!--PLC鏁版嵁璁块棶鏈嶅姟鐨勭嚎绋嬨�愰敊璇�戞棩蹇�-->
     <appender name="SdaService_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWare_SDA\\SdaService_Error\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWare_CC\\SdaService_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -527,7 +527,7 @@
 
     <!-- 鍫嗗灈鏈虹殑PLC鏁版嵁璁块棶鏈嶅姟鏃ュ織  銆愪俊鎭�戞棩蹇�-->
     <appender name="SrmSdaService_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWare_SDA\\SrmSdaService_Info\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWare_CC\\SrmSdaService_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -543,7 +543,7 @@
     </appender>
     <!--鍫嗗灈鏈虹殑PLC鏁版嵁璁块棶鏈嶅姟鏃ュ織  銆愰敊璇�戞棩蹇�-->
     <appender name="SrmSdaService_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWare_SDA\\SrmSdaService_Error\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWare_CC\\SrmSdaService_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -560,7 +560,7 @@
 
     <!-- 杈撻�佺嚎鐨凱LC鏁版嵁璁块棶鏈嶅姟鏃ュ織  銆愪俊鎭�戞棩蹇�-->
     <appender name="LineSdaService_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWare_SDA\\LineSdaService_Info\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWare_CC\\LineSdaService_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -576,7 +576,7 @@
     </appender>
     <!--杈撻�佺嚎鐨凱LC鏁版嵁璁块棶鏈嶅姟鏃ュ織  銆愰敊璇�戞棩蹇�-->
     <appender name="LineSdaService_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWare_SDA\\LineSdaService_Error\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWare_CC\\LineSdaService_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -592,7 +592,7 @@
     </appender>
     <!-- RGV鐨凱LC鏁版嵁璁块棶鏈嶅姟鏃ュ織  銆愪俊鎭�戞棩蹇�-->
     <appender name="RgvSdaService_Info" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWare_SDA\\RgvSdaService_Info\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWare_CC\\RgvSdaService_Info\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -608,7 +608,7 @@
     </appender>
     <!--RGV鐨凱LC鏁版嵁璁块棶鏈嶅姟鏃ュ織  銆愰敊璇�戞棩蹇�-->
     <appender name="RgvSdaService_Error" type="log4net.Appender.RollingFileAppender">
-      <file value="d:\\Log\\XiGangLog\\iWare_SDA\\RgvSdaService_Error\\" />
+      <file value="d:\\Log\\LuLiMuYe\\iWare_CC\\RgvSdaService_Error\\" />
       <appendToFile value="true" />
       <rollingStyle value="Date" />
       <staticLogFileName value="false" />
@@ -624,18 +624,18 @@
     </appender>
     <root>
       <level value="ALL"/>
-      <appender-ref ref="AutoUpdateEngineInfoTask_Info"/>
-      <appender-ref ref="AutoUpdateEngineInfoTask_Error"/>
-      <appender-ref ref="AutoIssueInStoreTask_Info"/>
-      <appender-ref ref="AutoIssueInStoreTask_Error"/>
+      <appender-ref ref="DataProcess_269_Info"/>
+      <appender-ref ref="DataProcess_269_Error"/>
+      <appender-ref ref="DataProcess_BZ01_Info"/>
+      <appender-ref ref="DataProcess_BZ01_Error"/>
       <appender-ref ref="EmptySalverTransferTask_Info"/>
       <appender-ref ref="EmptySalverTransferTask_Error"/>
-      <appender-ref ref="AutoSalverMaterialBindTask_Info"/>
-      <appender-ref ref="AutoSalverMaterialBindTask_Error"/>
-      <appender-ref ref="VirtualTaskNoOutPlanTaskHandler_Info"/>
-      <appender-ref ref="VirtualTaskNoOutPlanTaskHandler_Error"/>
-      <appender-ref ref="LineInScanTheadService_Info"/>
-      <appender-ref ref="LineInScanTheadService_Error"/>
+      <appender-ref ref="DataProcess_BZ39_Info"/>
+      <appender-ref ref="DataProcess_BZ39_Error"/>
+      <appender-ref ref="DataProcess_RobotBuffer_FinishTask_Info"/>
+      <appender-ref ref="DataProcess_RobotBuffer_FinishTask_Error"/>
+      <appender-ref ref="DataProcess_RobotBuffer_FinishTaskForOutbound_Info"/>
+      <appender-ref ref="DataProcess_RobotBuffer_FinishTaskForOutbound_Error"/>
       <appender-ref ref="AGVTheadService_Info"/>
       <appender-ref ref="AGVTheadService_Error"/>
       <appender-ref ref="MesService_Info"/>
@@ -652,8 +652,8 @@
       <appender-ref ref="CCWCFService_Info"/>
       <appender-ref ref="CCWCFService_Error"/>
       <!--RGV浠诲姟绾跨▼-->
-      <appender-ref ref="RgvThreadService_Info"/>
-      <appender-ref ref="RgvThreadService_Error"/>
+      <appender-ref ref="StationThreadService_Info"/>
+      <appender-ref ref="StationThreadService_Error"/>
       <!--SS7绾跨▼鏃ュ織-->
       <appender-ref ref="SS7_Info"/>
       <appender-ref ref="SS7_Error"/>
diff --git a/CC/iWareModel/EnumType/EDevice/EDevice.cs b/CC/iWareModel/EnumType/EDevice/EDevice.cs
index 73c3706..66dc083 100644
--- a/CC/iWareModel/EnumType/EDevice/EDevice.cs
+++ b/CC/iWareModel/EnumType/EDevice/EDevice.cs
@@ -17,6 +17,8 @@
         鍥涘彿鍫嗗灈鏈� = 4,
         RGV = 5,
 
+        Station = 6,
+
 
         鍏ュ簱鍙�1015 = 1015,
         鍏ュ簱鍙�1019 = 1019,
diff --git a/CC/iWareModel/EnumType/EDevice/Station/StationLocationEnum.cs b/CC/iWareModel/EnumType/EDevice/Station/StationLocationEnum.cs
new file mode 100644
index 0000000..fae8af5
--- /dev/null
+++ b/CC/iWareModel/EnumType/EDevice/Station/StationLocationEnum.cs
@@ -0,0 +1,33 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace iWareModel
+{
+    /// <summary>
+    /// 绔欑偣鏋氫妇
+    /// </summary>
+    public enum StationLocationEnum
+    {
+        /// <summary>
+        /// 269宸ヤ綅
+        /// </summary>
+        棣栨鎵爜宸ヤ綅 = 100,
+
+        /// <summary>
+        /// 娓呯伆锛屾礂鏉垮悗宸ヤ綅
+        /// </summary>
+        BZ01 = 101,
+
+        /// <summary>
+        /// 琛ユ澘鍚庡伐浣�
+        /// </summary>
+        BZ39 = 102,
+
+        BZ12 = 103,
+
+        BZ21 = 104
+    }
+}
diff --git a/CC/iWareModel/EnumType/WMS/AreaCodeEnum.cs b/CC/iWareModel/EnumType/WMS/AreaCodeEnum.cs
new file mode 100644
index 0000000..6d77c03
--- /dev/null
+++ b/CC/iWareModel/EnumType/WMS/AreaCodeEnum.cs
@@ -0,0 +1,49 @@
+锘�
+
+using System.ComponentModel;
+
+namespace Admin.NET.Application
+{
+
+    /// <summary>
+    /// 鍖哄煙缂栫爜鏋氫妇
+    /// </summary>
+    [Description("鍖哄煙缂栫爜鏋氫妇")]
+    public enum AreaCodeEnum
+    {
+        /// <summary>
+        /// 缂撳瓨鍒嗘嫞鍖� 
+        /// </summary>
+        [Description("缂撳瓨鍒嗘嫞鍖�")]
+        缂撳瓨鍒嗘嫞鍖� = 1,
+
+        /// <summary>
+        /// 鏈哄櫒浜哄矝缂撳瓨鍖哄煙
+        /// </summary>
+        [Description("鏈哄櫒浜哄矝缂撳瓨鍖哄煙")]
+        鏈哄櫒浜哄矝缂撳瓨鍖哄煙 = 2,
+
+        /// <summary>
+        /// 鐮佸灈鍖哄煙 
+        /// </summary>
+        [Description("鐮佸灈鍖哄煙")]
+
+        鐮佸灈鍖哄煙 = 3,
+
+        /// <summary>
+        /// 鍚堝寘瑁佸垏鍖� 
+        /// </summary>
+        [Description("鍚堝寘瑁佸垏鍖�")]
+
+        鍚堝寘瑁佸垏鍖� = 4,
+
+        /// <summary>
+        /// 鍖呰绾垮尯鍩� 
+        /// </summary>
+        [Description("鍖呰绾垮尯鍩�")]
+
+        鍖呰绾垮尯鍩� = 5
+
+    }
+
+}
\ No newline at end of file
diff --git a/CC/iWareModel/EnumType/WMS/RbTaskTypeEnum.cs b/CC/iWareModel/EnumType/WMS/RbTaskTypeEnum.cs
new file mode 100644
index 0000000..b1ac2b9
--- /dev/null
+++ b/CC/iWareModel/EnumType/WMS/RbTaskTypeEnum.cs
@@ -0,0 +1,39 @@
+锘�
+
+using System.ComponentModel;
+
+namespace Admin.NET.Application
+{
+
+    /// <summary>
+    /// 鏈哄櫒浜轰换鍔$被鍨�
+    /// </summary>
+    [Description("鏈哄櫒浜轰换鍔$被鍨�")]
+    public enum RbTaskTypeEnum
+    {
+        /// <summary>
+        /// 鍏ュ簱浠诲姟
+        /// </summary>
+        [Description("鍏ュ簱浠诲姟")]
+        鍏ュ簱浠诲姟 = 1,
+
+        /// <summary>
+        /// 鍑哄簱浠诲姟
+        /// </summary>
+        [Description("鍑哄簱浠诲姟")]
+        鍑哄簱浠诲姟 = 2,
+
+        /// <summary>
+        /// 鐮佹澘浠诲姟
+        /// </summary>
+        [Description("鐮佹澘浠诲姟")]
+        鐮佹澘浠诲姟 = 3,
+
+        /// <summary>
+        /// 澶规澘浠诲姟
+        /// </summary>
+        [Description("澶规澘浠诲姟")]
+        澶规澘浠诲姟 = 4
+
+    }
+}
\ No newline at end of file
diff --git a/CC/iWareModel/EnumType/WMS/StockStatusEnum.cs b/CC/iWareModel/EnumType/WMS/StockStatusEnum.cs
new file mode 100644
index 0000000..740057e
--- /dev/null
+++ b/CC/iWareModel/EnumType/WMS/StockStatusEnum.cs
@@ -0,0 +1,96 @@
+锘縰sing System.ComponentModel;
+
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 搴撳瓨鐘舵��  
+    /// </summary>
+    [Description("搴撳瓨鐘舵��")]
+    public enum StockStatusEnum
+    {
+        /// <summary>
+        /// 鍦ㄥ簱
+        /// </summary>
+        [Description("鍦ㄥ簱")]
+        鍦ㄥ簱 = 1,
+
+        /// <summary>
+        /// 宸插喕缁�
+        /// </summary>
+        [Description("宸插喕缁�")]
+        宸插喕缁� = 2,
+
+
+        /// <summary>
+        /// 榻愬寘寰呭嚭搴�
+        /// </summary>
+        [Description("榻愬寘寰呭嚭搴�")]
+        榻愬寘寰呭嚭搴� = 3,
+
+        /// <summary>
+        /// 浜哄伐寮哄埗寰呭嚭搴�
+        /// </summary>
+        [Description("浜哄伐寮哄埗寰呭嚭搴�")]
+        浜哄伐寮哄埗寰呭嚭搴� = 4
+
+
+    }
+
+    /// <summary>
+    /// 搴撳瓨璐ㄦ鐘舵��   
+    /// </summary>
+    [Description("搴撳瓨璐ㄦ鐘舵��")]
+    public enum StockQcStatusEnum
+    {
+        /// <summary>
+        /// 寰呰川妫�
+        /// </summary>
+        [Description("寰呮")]
+        寰呮 = 1,
+        /// <summary>
+        /// 鍚堟牸
+        /// </summary>
+        [Description("鍚堟牸")]
+        鍚堟牸 = 2,
+        /// <summary>
+        /// 涓嶅悎鏍�
+        /// </summary>
+        [Description("涓嶅悎鏍�")]
+        涓嶅悎鏍� = 3
+
+    }
+
+    /// <summary>
+    /// 搴撳瓨棰勮绫诲瀷    
+    /// </summary>
+    [Description("搴撳瓨棰勮绫诲瀷")]
+    public enum WarningTypeEnum
+    {
+
+        /// <summary>
+        /// 鏈�楂樺簱瀛樹笌瀹夊叏搴撳瓨涔嬮棿=1(榛勮壊)
+        /// </summary>
+        [Description("鏈�楂樺簱瀛樹笌瀹夊叏搴撳瓨涔嬮棿")]
+        鏈�楂樺簱瀛樹笌瀹夊叏搴撳瓨涔嬮棿 = 1,
+
+        /// <summary>
+        /// 姝e父搴撳瓨=2(缁胯壊)
+        /// </summary>
+        [Description("姝e父搴撳瓨")]
+        姝e父搴撳瓨 = 2,
+
+        /// <summary>
+        /// 楂樹簬鏈�楂樺簱瀛�=3(绾㈣壊)
+        /// </summary>
+        [Description("楂樹簬鏈�楂樺簱瀛�")]
+        楂樹簬鏈�楂樺簱瀛� = 3,
+
+        /// <summary>
+        /// 浣庝簬鏈�浣庡簱瀛�4(鐏拌壊)
+        /// </summary>
+        [Description("浣庝簬鏈�浣庡簱瀛�")]
+        浣庝簬鏈�浣庡簱瀛� = 4
+
+    }
+
+}
\ No newline at end of file
diff --git a/CC/iWareModel/EnumType/WMS/TaskStatusEnum.cs b/CC/iWareModel/EnumType/WMS/TaskStatusEnum.cs
new file mode 100644
index 0000000..e0febb6
--- /dev/null
+++ b/CC/iWareModel/EnumType/WMS/TaskStatusEnum.cs
@@ -0,0 +1,41 @@
+锘�
+
+using System.ComponentModel;
+
+namespace Admin.NET.Application
+{
+
+    /// <summary>
+    /// 璋冨害浠诲姟鐘舵��
+    /// </summary>
+    [Description("璋冨害浠诲姟鐘舵��")]
+    public enum TaskStatusEnum
+    {
+        /// <summary>
+        /// 鏂板缓
+        /// </summary>
+        [Description("鏂板缓")]
+        鏂板缓 = 0,
+
+        /// <summary>
+        /// 宸蹭笅鍙�
+        /// </summary>
+        [Description("宸蹭笅鍙�")]
+        宸蹭笅鍙� = 1,
+
+        /// <summary>
+        /// 宸插畬鎴�
+        /// </summary>
+        [Description("宸插畬鎴�")]
+        宸插畬鎴� = 2,
+
+        /// <summary>
+        /// 宸插彇娑�
+        /// </summary>
+        [Description("宸插彇娑�")]
+        宸插彇娑� = 3,
+
+
+    }
+
+}
diff --git a/CC/iWareModel/EnumType/WMS/WmsPlaceEnum.cs b/CC/iWareModel/EnumType/WMS/WmsPlaceEnum.cs
new file mode 100644
index 0000000..020e610
--- /dev/null
+++ b/CC/iWareModel/EnumType/WMS/WmsPlaceEnum.cs
@@ -0,0 +1,212 @@
+锘�
+
+using System.ComponentModel;
+
+namespace Admin.NET.Application
+{
+
+
+    /// <summary>
+    /// 搴撲綅绫诲瀷
+    /// </summary>
+    [Description("搴撲綅绫诲瀷")]
+    public enum PlaceTypeEnum
+    {
+        /// <summary>
+        /// 灏忚揣浣�,灏忎簬70cm
+        /// </summary>
+        [Description("灏忚揣浣�")]
+        灏忚揣浣� = 1,
+
+        /// <summary>
+        /// 涓揣浣�,灏忎簬绛変簬1m
+        /// </summary>
+        [Description("涓揣浣�")]
+        涓揣浣� = 2,
+
+        /// <summary>
+        /// 澶ц揣浣嶏紝澶т簬1m
+        /// 
+        /// </summary>
+        [Description("澶ц揣浣�")]
+        澶ц揣浣� = 3
+
+    }
+
+    /// <summary>
+    /// 浣滀笟搴撲綅
+    /// </summary>
+    [Description("浣滀笟搴撲綅")]
+    public enum OperationsPlaceEnum
+    {
+        /// <summary>
+        /// 鍙戣揣鍖哄煙搴撲綅
+        /// </summary>
+        [Description("鍙戣揣鍖哄煙搴撲綅")]
+        SHIPPING = 1,
+
+        /// <summary>
+        /// 鍦ㄩ�斿簱浣�
+        /// </summary>
+        [Description("鍦ㄩ�斿簱浣�")]
+        INTRANSIT = 2,
+
+        /// <summary>
+        /// 骞冲簱鍖哄煙搴撲綅
+        /// </summary>
+        [Description("骞冲簱鍖哄煙搴撲綅")]
+        PKQYKW = 3,
+
+        /// <summary>
+        /// 鏀惰揣鍖哄煙搴撲綅
+        /// </summary>
+        [Description("鏀惰揣鍖哄煙搴撲綅")]
+        STAGING = 4,
+        /// <summary>
+        /// 寰呮鍖哄煙搴撲綅
+        /// </summary>
+        [Description("寰呮鍖哄煙搴撲綅")]
+        QMLOT = 5,
+
+        /// <summary>
+        /// 涓嶈壇鍝佸尯鍩熷簱浣�
+        /// </summary>
+        [Description("涓嶈壇鍝佸尯鍩熷簱浣�")]
+        SQE = 6,
+
+        /// <summary>
+        /// 鍒嗘嫞鍖哄煙搴撲綅
+        /// </summary>
+        [Description("鍒嗘嫞鍖哄煙搴撲綅")]
+        FJQY = 7,
+        /// <summary>
+        /// 绾胯竟鍖哄煙搴撲綅
+        /// </summary>
+        [Description("绾胯竟鍖哄煙搴撲綅")]
+        LS = 8,
+        /// <summary>
+        /// 鐩樼偣搴撲綅
+        /// </summary>
+        [Description("鐩樼偣搴撲綅")]
+        PDKW = 9
+    }
+
+    /// <summary>
+    /// 浣滀笟搴撲綅
+    /// </summary>
+    [Description("浣滀笟搴撳尯")]
+    public enum OperationsAreaEnum
+    {
+        /// <summary>
+        /// 鍙戣揣鍖哄煙
+        /// </summary>
+        [Description("鍙戣揣鍖哄煙")]
+        SHIPPING = 1,
+
+        ///// <summary>
+        ///// 鍦ㄩ�斿簱浣�
+        ///// </summary>
+        //[Description("鍦ㄩ�斿簱浣�")]
+        //INTRANSIT = 2,
+
+        /// <summary>
+        /// 骞冲簱鍖哄煙
+        /// </summary>
+        [Description("骞冲簱鍖哄煙")]
+        PKQYKW = 3,
+
+        /// <summary>
+        /// 鏀惰揣鍖哄煙
+        /// </summary>
+        [Description("鏀惰揣鍖哄煙")]
+        STAGING = 4,
+        /// <summary>
+        /// 寰呮鍖哄煙
+        /// </summary>
+        [Description("寰呮鍖哄煙")]
+        QMLOT = 5,
+
+        /// <summary>
+        /// 涓嶈壇鍝佸尯鍩�
+        /// </summary>
+        [Description("涓嶈壇鍝佸尯鍩�")]
+        SQE = 6,
+
+        /// <summary>
+        /// 鍒嗘嫞鍖哄煙
+        /// </summary>
+        [Description("鍒嗘嫞鍖哄煙")]
+        FJQY = 7,
+        /// <summary>
+        /// 绾胯竟鍖哄煙
+        /// </summary>
+        [Description("绾胯竟鍖哄煙")]
+        LS = 8
+    }
+
+    /// <summary>
+    /// 瀛樻斁鍗曚綅
+    /// </summary>
+    [Description("瀛樻斁鍗曚綅")]
+    public enum StockUnitEnum
+    {
+        /// <summary>
+        /// 绠�
+        /// </summary>
+        [Description("绠�")]
+        绠� = 1,
+
+        /// <summary>
+        /// 瀹瑰櫒
+        /// </summary>
+        [Description("瀹瑰櫒")]
+        瀹瑰櫒 = 2,
+
+        /// <summary>
+        /// 鍏朵粬
+        /// </summary>
+        [Description("鍏朵粬")]
+        鍏朵粬 = 3,
+
+    }
+    /// <summary>
+    /// 搴撲綅灞炴��
+    /// </summary>
+    [Description("搴撲綅灞炴��")]
+    public enum PlaceStatusEnum
+    {
+        /// <summary>
+        /// 姝e父
+        /// </summary>
+        [Description("姝e父")]
+        姝e父 = 1,
+
+        /// <summary>
+        /// 灏佸瓨
+        /// </summary>
+        [Description("灏佸瓨")]
+        灏佸瓨 = 2,
+
+        /// <summary>
+        /// 绂佸嚭  --涓嶇敤浜�
+        /// </summary>
+        [Description("绂佸嚭")]
+        绂佸嚭 = 3,
+
+        /// <summary>
+        /// 绂佸叆 --涓嶇敤浜�
+        /// </summary>
+        [Description("绂佸叆")]
+        绂佸叆 = 4,
+
+        /// <summary>
+        /// 閿佸畾
+        /// </summary>
+        [Description("閿佸畾")]
+        閿佸畾 = 5
+
+    }
+
+
+
+}
\ No newline at end of file
diff --git a/CC/iWareModel/iWareModel.csproj b/CC/iWareModel/iWareModel.csproj
index 2b99e58..b61fc9f 100644
--- a/CC/iWareModel/iWareModel.csproj
+++ b/CC/iWareModel/iWareModel.csproj
@@ -9,8 +9,9 @@
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <RootNamespace>iWareModel</RootNamespace>
     <AssemblyName>iWareModel</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
+    <TargetFrameworkProfile />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
@@ -82,6 +83,7 @@
     <Compile Include="EnumType\EDevice\DeviceTaskStatusEnum.cs" />
     <Compile Include="EnumType\EDevice\EDeviceType.cs" />
     <Compile Include="EnumType\EDevice\EDevice.cs" />
+    <Compile Include="EnumType\EDevice\Station\StationLocationEnum.cs" />
     <Compile Include="EnumType\EDevice\Rgv\ERgvAlarm.cs" />
     <Compile Include="EnumType\EDevice\Rgv\ERgvCmd.cs" />
     <Compile Include="EnumType\EDevice\Rgv\ERgvEvent.cs" />
@@ -109,6 +111,11 @@
     <Compile Include="EnumType\Sys\ValidateIntEnum.cs" />
     <Compile Include="EnumType\TaskExcuteTypeEnum.cs" />
     <Compile Include="EnumType\ThreadDirectionEnum.cs" />
+    <Compile Include="EnumType\WMS\AreaCodeEnum.cs" />
+    <Compile Include="EnumType\WMS\RbTaskTypeEnum.cs" />
+    <Compile Include="EnumType\WMS\StockStatusEnum.cs" />
+    <Compile Include="EnumType\WMS\TaskStatusEnum.cs" />
+    <Compile Include="EnumType\WMS\WmsPlaceEnum.cs" />
     <Compile Include="EnumType\XiGangPublicCommon\AddTransferTaskEnum.cs" />
     <Compile Include="EnumType\XiGangPublicCommon\MainInOutFlagEnum.cs" />
     <Compile Include="EnumType\XiGangPublicCommon\MainTaskTypeEnum.cs" />
diff --git a/CC/iWareSql/App.config b/CC/iWareSql/App.config
index b8f03ab..c23a9d7 100644
--- a/CC/iWareSql/App.config
+++ b/CC/iWareSql/App.config
@@ -28,4 +28,4 @@
       providerName="System.Data.SqlClient" />
   </connectionStrings>
   -->
-</configuration>
\ No newline at end of file
+<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration>
diff --git a/CC/iWareSql/DataAccess/StationHandler.cs b/CC/iWareSql/DataAccess/StationHandler.cs
index acf6db3..c82b6ee 100644
--- a/CC/iWareSql/DataAccess/StationHandler.cs
+++ b/CC/iWareSql/DataAccess/StationHandler.cs
@@ -16,6 +16,7 @@
 using iWareModel;
 using iWareCommon.Common.Globle;
 using XiGang.Core.Model;
+using iWareSql.WmsDBModel;
 
 namespace iWareSql.DataAccess
 {
@@ -737,6 +738,24 @@
             return edm.Base_Station.Where(x => x.Id == placeId).FirstOrDefault();
         }
 
+        /// <summary>
+        /// 鏍规嵁搴撲綅ID鏌ユ壘搴撲綅瀵硅薄
+        /// </summary>
+        /// <returns></returns>
+        public static wms_base_place GetPlaceByPlaceId(long placeId, WmsDBModel.WmsDBModel edm)
+        {
+            return edm.wms_base_place.Where(x => x.Id == placeId).FirstOrDefault();
+        }
+
+        /// <summary>
+        /// 鏍规嵁搴撲綅缂栧彿鏌ユ壘搴撲綅瀵硅薄
+        /// </summary>
+        /// <returns></returns>
+        public static wms_base_place GetPlaceByPlaceCode(string placeCode, WmsDBModel.WmsDBModel edm)
+        {
+            return edm.wms_base_place.Where(x => x.PlaceCode == placeCode).FirstOrDefault();
+        }
+
 
         /// <summary>
         /// 鏍规嵁搴撲綅鍙锋煡鎵惧簱浣嶅璞�
diff --git a/CC/iWareSql/DataAccess/StationHandlerV2.cs b/CC/iWareSql/DataAccess/StationHandlerV2.cs
new file mode 100644
index 0000000..9c33aa9
--- /dev/null
+++ b/CC/iWareSql/DataAccess/StationHandlerV2.cs
@@ -0,0 +1,887 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+
+using iWareSql;
+using System.Data.Entity.Migrations;
+using iWareSql.Orm;
+using iWareCommon;
+using iWareCommon.Utils;
+using iWareSql.Entity.ViewMode;
+
+using iWareSql.DBModel;
+using iWareModel;
+using iWareCommon.Common.Globle;
+using XiGang.Core.Model;
+using iWareSql.WmsDBModel;
+using Admin.NET.Application;
+
+namespace iWareSql.DataAccess
+{
+    /// <summary>
+    /// 鏂扮増鏈殑搴撲綅绠$悊
+    /// </summary>
+    public class StationHandlerV2
+    {
+        private static readonly object lockObject = new object();
+        private static readonly object lockRemoveObject = new object();
+        private static readonly object lockFindBestEmptyPlaceForOrdinaryMaterial = new object();
+        private static Dictionary<int, string> lockPlaceDict = new Dictionary<int, string>();
+
+        /// <summary>
+        /// 楠岃瘉绔欑偣鏄惁鍙互琚娇鐢�
+        /// </summary>
+        /// <param name="stationId"></param>
+        /// <returns></returns>
+        public static MessageModel<bool> ValidateStationIsAllowUse(int stationId, DbModel context)
+        {
+            var stationList = context.Base_Station.Where(x => x.Id == stationId).ToList();
+            if (stationList == null || stationList.Count == 0)
+            {
+                return new MessageModel<bool>()
+                {
+                    data = false,
+                    success = false,
+                    msg = "绔欑偣ID'" + stationId + "'涓嶅瓨鍦紒"
+                };
+            }
+            if (stationList.Count > 1)
+            {
+                return new MessageModel<bool>()
+                {
+                    data = false,
+                    success = false,
+                    msg = "绔欑偣ID'" + stationId + "'瀛樺湪" + stationList.Count + "鏉℃暟鎹紒"
+                };
+            }
+            var station = stationList[0];
+            var stationName = "搴撲綅[";
+            if (station.IsRgvStation)
+            {
+                stationName += "RGV绔欑偣" + station.RgvStationCode;
+            }
+            else if (station.IsSrmStation)
+            {
+                stationName += "鍫嗗灈鏈虹珯鐐�" + station.SrmStationCode;
+            }
+            stationName += "]";
+            if (station.IsDeleted == true)
+            {
+                return new MessageModel<bool>()
+                {
+                    data = false,
+                    success = false,
+                    msg = stationName + "'宸茬粡琚鐢紒"
+                };
+            }
+            else if (station.IsFull)
+            {
+                return new MessageModel<bool>()
+                {
+                    data = false,
+                    success = false,
+                    msg = stationName + "'宸茬粡鏈夎揣锛�"
+                };
+            }
+            else if (station.IsLock)
+            {
+                return new MessageModel<bool>()
+                {
+                    data = false,
+                    success = false,
+                    msg = stationName + "'宸茬粡琚攣瀹氾紒"
+                };
+            }
+            //鍒ゆ柇搴撲綅鏄惁鐩墠鏈変换鍔″湪鎵ц TODO
+            //var isUse = await task_PartServices.IsExistOtherTaskDoing(station.Id);
+            var isUse = PartTaskHandler.IsExistOtherTaskDoing(station.Id);
+            if (isUse)
+            {
+                return new MessageModel<bool>()
+                {
+                    data = false,
+                    success = false,
+                    msg = stationName + "'琚叾浠栦换鍔″崰鐢紒"
+                };
+            }
+
+            return new MessageModel<bool>()
+            {
+                data = true,
+                success = true,
+                msg = "楠岃瘉绔欑偣鍙互琚娇鐢紒"
+            };
+        }
+
+        #region 閿佸畾搴撲綅鐨勬柟娉�
+        /// <summary>
+        /// 鍒ゆ柇瀵绘壘鍒扮殑搴撲綅鏄惁琚攣瀹氫簡( 渚�  閰嶆澘浣欐枡鍥炲簱绾跨▼銆丷GV鎻愬墠閰嶆澘浠诲姟鍒涘缓鏃讹紝鎴愬搧鏂欏洖搴撶嚎绋嬨�佸師鏂欏叆搴撶嚎绋嬩娇鐢�)
+        /// </summary>
+        /// <returns></returns>
+        private static bool ValidateFindPlaceIsLocked(Base_Station validatePlace, string lockReason)
+        {
+            lock (lockObject)
+            {
+                if (validatePlace == null)
+                {
+                    return false;
+                }
+                if (lockPlaceDict.ContainsKey(validatePlace.Id))
+                {
+                    Log4NetHelper.WriteInfoLog(LogType.SrmTheadService, "lockPlaceDict宸茬粡鏈夎閿佷簡,validatePlace.Id:" + validatePlace.Id + ",瀛楀吀涓殑鍘熷洜鏄�:" + lockPlaceDict[validatePlace.Id] + "锛屾湰娆″師鍥犳槸锛�" + lockReason);
+                    return true;
+                }
+                else
+                {
+                    lockPlaceDict.Add(validatePlace.Id, lockReason + ",搴撲綅鍙�:" + validatePlace.SrmStationCode);
+                    return false;
+                }
+            }
+        }
+        /// <summary>
+        /// 鍦ㄤ簨鍔″鐞嗗畬姣曞悗锛岄噴鏀捐閿佸畾鐨勫簱浣�( 渚�  閰嶆澘浣欐枡鍥炲簱绾跨▼銆丷GV鎻愬墠閰嶆澘浠诲姟鍒涘缓鏃讹紝鎴愬搧鏂欏洖搴撶嚎绋嬨�佸師鏂欏叆搴撶嚎绋嬩娇鐢�)
+        /// 涓�瀹氳鏀惧埌finaly閲屾墽琛�
+        /// </summary>
+        /// <returns></returns>
+        public static void RemoveLockPlaceDict(Base_Station validatePlace)
+        {
+            if (validatePlace == null)
+            {
+                return;
+            }
+            lock (lockRemoveObject)
+            {
+                if (lockPlaceDict.ContainsKey(validatePlace.Id))
+                {
+                    lockPlaceDict.Remove(validatePlace.Id);
+                }
+            }
+        }
+
+        #endregion
+
+        #region 瀵绘壘绌哄簱浣�
+
+        /// <summary>
+        /// 瀵绘壘绌洪棽鐨勭珛搴撶┖搴撲綅 (鏅�氱墿鏂�)
+        /// </summary>
+        /// <returns></returns>
+        public static wms_base_place FindBestEmptyPlace(WmsDBModel.WmsDBModel edm,
+            mes_batchOrderUPI_new upiObj
+           )
+        {
+            try
+            {
+                lock (lockFindBestEmptyPlaceForOrdinaryMaterial)
+                {
+                    Thread.Sleep(1000);
+                    var emptyStationList = edm.V_EmptyStation.ToList();
+
+                    //涓嶉殢鏈烘帓搴�
+                    emptyStationList = emptyStationList.OrderByDescending(x => x.LaneNo).ThenByDescending(x => x.ColumnNo).ThenBy(x => x.LayerNo).ToList();
+
+
+                    //澧炲姞璇ュ簱浣嶆槸鍚﹁浠诲姟鍗犵敤鐨勭瓫閫� [EditBy shaocx,2022-06-02]
+                    //emptyStationList = FilterStationForDoingTask(edm, emptyStationList);
+                    List<int> usePlaceTypeList = new List<int>();
+                    int placeType = TCSCommon.GetPlaceTypeByWidthLength(upiObj, upiObj.Length, upiObj.Width,ref usePlaceTypeList);
+                    //浼樺厛鏌ヨ
+                    var my_emptyStationList = emptyStationList.Where(x => usePlaceTypeList.Contains( x.PlaceType)).OrderBy(x=>x.PlaceType).ToList();
+                    if (my_emptyStationList?.Count() > 0)
+                    {
+                        wms_base_place toPlace = StationHandler.GetPlaceByPlaceId(emptyStationList.First().Id, edm);
+                        return toPlace;
+                    }
+                    else
+                    {
+                        return null;
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                throw;
+            }
+        }
+
+        private static List<V_EmptySrmStation> FilterStationForDoingTask(DbModel context, List<V_EmptySrmStation> emptyStationList)
+        {
+            List<V_EmptySrmStation> new_emptyStationList = new List<V_EmptySrmStation>();
+            //澧炲姞璇ュ簱浣嶆槸鍚﹁浠诲姟鍗犵敤鐨勭瓫閫� [EditBy shaocx,2022-06-02]
+            if (emptyStationList != null && emptyStationList.Count > 0)
+            {
+                foreach (var _findStore in emptyStationList)
+                {
+                    var isExistOtherTaskDoing = PartTaskHandler.IsExistOtherTaskDoing(context, _findStore.Id);
+                    if (!isExistOtherTaskDoing)
+                    {
+                        new_emptyStationList.Add(_findStore);
+                    }
+                }
+            }
+            return new_emptyStationList;
+        }
+
+
+        /// <summary>
+        /// 鑾峰彇鍒嗛厤搴撲綅鐨勫簱鍖哄彿-鐗堟湰1锛屽簱瀛樺垎鎽婏紝鍚屼竴涓璐у彿鍒嗘憡鍥涗釜搴撳尯
+        /// </summary>
+        /// <param name="orderNo"></param>
+        /// <param name="edm"></param>
+        /// <param name="usableAreaList"></param>
+        /// <param name="dict_usableArea">鍙敤绌哄簱浣嶆暟</param>
+        /// <returns></returns>
+        private static int GetMinKey_Area_V1(string orderNo, DbModel edm, List<string> usableAreaList, Dictionary<int, int> dict_usableArea)
+        {
+            int minKey_Area = 0;
+            if (!string.IsNullOrEmpty(orderNo))
+            {//闇�瑕佹寜鐓ц璐у彿鍧囧垎鐨勫簱浣嶅垎閰嶆柟寮�
+                //瀵绘壘鍚屼竴璁㈣揣鍙风殑搴撳瓨,骞朵笖鏄湪鍙敤绌哄簱浣嶅簱鍖轰腑
+                var wareHoustStoreList = edm.V_Store.Where(x => x.OrderNo == orderNo && usableAreaList.Contains(x.Area)).ToList();
+                if (wareHoustStoreList != null && wareHoustStoreList.Count > 0)
+                {
+                    Dictionary<int, int> new_dict_usableArea = new Dictionary<int, int>();//璁$畻鐜版湁鍙斁搴撳尯鐨勭幇鏈夎璐у彿鐨勫簱瀛樻暟瀛楀吀
+                    foreach (var item in dict_usableArea)
+                    {
+                        new_dict_usableArea.Add(item.Key, edm.V_Store.Where(x => x.OrderNo == orderNo && x.Area == item.Key.ToString()).Count());
+                    }
+                    //var areaList = wareHoustStoreList.Select(x => x.Area).Distinct().ToList();
+                    //Dictionary<string, int> area_dict = new Dictionary<string, int>();
+                    //foreach (var item in areaList)
+                    //{
+                    //    area_dict.Add(item, wareHoustStoreList.Where(x => x.Area == item).Count());
+                    //}
+                    minKey_Area = new_dict_usableArea.OrderBy(d => d.Value).Select(d => d.Key).FirstOrDefault();
+                }
+                else
+                {
+                    minKey_Area = dict_usableArea.OrderByDescending(d => d.Value).Select(d => d.Key).FirstOrDefault();
+                }
+            }
+            else
+            {//涓嶉渶瑕佹寜鐓ц璐у彿鍧囧垎鐨勫簱浣嶅垎閰嶆柟寮�
+                //瀵绘壘鍝釜搴撳尯鐜板湪绌轰綑鏁版渶灏�
+                //var minKey = dict.Keys.Select(x => new { x, y = dict[x] }).OrderBy(x => x.y).First();
+                minKey_Area = dict_usableArea.OrderByDescending(d => d.Value).Select(d => d.Key).FirstOrDefault();
+            }
+            return minKey_Area;
+        }
+
+        /// <summary>
+        /// 鑾峰彇鍒嗛厤搴撲綅鐨勫簱鍖哄彿-鐗堟湰2锛屽叆搴撲换鍔″惊鐜叆搴撳洓涓簱鍖�
+        /// </summary>
+        /// <param name="orderNo"></param>
+        /// <param name="edm"></param>
+        /// <param name="usableAreaList"></param>
+        /// <param name="dict_usableArea">鍙敤绌哄簱浣嶆暟</param>
+        /// <returns></returns>
+        private static int GetMinKey_Area_V2(string orderNo, DbModel edm, List<string> usableAreaList, Dictionary<int, int> dict_usableArea)
+        {
+            int myKey_Area = 0;
+            if (dict_usableArea.Count == 1)
+            {
+                myKey_Area = dict_usableArea.First().Key;
+                return myKey_Area;
+            }
+            //鍒ゆ柇涓婁竴涓叆搴撲换鍔℃槸璋冪敤鐨勫摢涓簱鍖猴紝褰撳墠浠诲姟灏卞叆鍙︿竴涓簱鍖�,鎸夐『搴� 1锛�2锛�3锛�4璺宠穬鍏ュ簱
+            var queryDeviceTaskTypeEnum1 = (int)DeviceTaskTypeEnum.缁勭洏鍏ュ簱;
+            var queryDeviceTaskTypeEnum2 = (int)DeviceTaskTypeEnum.绌烘墭杞繍鍒扮珛浣撳簱;
+
+            var queryDeviceType = (int)EDeviceType.鍫嗗灈鏈�;
+
+            //浣跨敤 鏈�鏂颁笅鍙戞椂闂达紝鏉ュ彇鏈�鍚庝竴涓换鍔� 銆恊ditby shaocx锛�2022-04-28銆�
+            var queryState = (int)DeviceTaskStatusEnum.宸插彇娑�;
+            var lastPart = edm.Task_Part.Where(x => x.DeviceType == queryDeviceType && (x.TaskType == queryDeviceTaskTypeEnum1 || x.TaskType == queryDeviceTaskTypeEnum2) && x.TaskState != queryState).OrderByDescending(x => x.CreateTime).FirstOrDefault();
+            if (lastPart == null)
+            {
+                myKey_Area = dict_usableArea.OrderBy(d => d.Key).Select(d => d.Key).FirstOrDefault();//榛樿浠庡彲鐢ㄥ簱鍖轰腑璋冪涓�涓�
+            }
+            else
+            {
+                var current_srmNo = Convert.ToInt32(lastPart.DeviceId);//褰撳墠涓婁竴涓换鍔℃墽琛岀殑搴撳尯鍙�
+                //鍙栦笉鍖呭惈current_srmNo鐨勬渶澶у��
+                int max_Area = dict_usableArea.Where(x => x.Key != current_srmNo).OrderByDescending(d => d.Key).Select(d => d.Key).FirstOrDefault();
+                //鍙栦笉鍖呭惈current_srmNo鐨勬渶灏忓��
+                int min_Area = dict_usableArea.Where(x => x.Key != current_srmNo).OrderBy(d => d.Key).Select(d => d.Key).FirstOrDefault();
+
+                if (current_srmNo > Convert.ToInt32(max_Area))
+                {
+                    myKey_Area = min_Area;
+                }
+                else
+                {
+                    //鍙栭櫎浜哻urrent_srmNo锛屾瘮current_srmNo澶х殑瀛楀吀鐨勬渶灏忓��
+                    myKey_Area = dict_usableArea.Where(x => x.Key > current_srmNo).OrderBy(d => d.Key).Select(d => d.Key).FirstOrDefault();
+                }
+            }
+            return myKey_Area;
+        }
+
+        /// <summary>
+        /// 鑾峰彇鍒嗛厤搴撲綅鐨勫簱鍖哄彿-鐗堟湰1锛屽簱瀛樺垎鎽婏紝鎵樼洏鍒嗘憡鍥涗釜搴撳尯
+        /// </summary>
+        /// <param name="edm"></param>
+        /// <param name="usableAreaList"></param>
+        /// <param name="dict_usableArea">鍙敤绌哄簱浣嶆暟</param>
+        /// <returns></returns>
+        private static int GetMinKey_AreaForSalver(DbModel edm, List<string> usableAreaList, Dictionary<int, int> dict_usableArea)
+        {
+            int minKey_Area = 0;
+            //闇�瑕佹寜鐓ф墭鐩樺潎鍒嗙殑搴撲綅鍒嗛厤鏂瑰紡
+            //瀵绘壘鎵樼洏鐨勫簱瀛�,骞朵笖鏄湪鍙敤绌哄簱浣嶅簱鍖轰腑
+            var wareHoustStoreList = edm.V_Store.Where(x => x.MaterialType == (int)MaterialTypeEnum.鎵樼洏 && usableAreaList.Contains(x.Area)).ToList();
+            if (wareHoustStoreList != null && wareHoustStoreList.Count > 0)
+            {
+                Dictionary<int, int> new_dict_usableArea = new Dictionary<int, int>();//璁$畻鐜版湁鍙斁搴撳尯鐨勭幇鏈夎璐у彿鐨勫簱瀛樻暟瀛楀吀
+                foreach (var item in dict_usableArea)
+                {
+                    new_dict_usableArea.Add(item.Key, edm.V_Store.Where(x => x.MaterialType == (int)MaterialTypeEnum.鎵樼洏 && x.Area == item.Key.ToString()).Count());
+                }
+                //var areaList = wareHoustStoreList.Select(x => x.Area).Distinct().ToList();
+                //Dictionary<string, int> area_dict = new Dictionary<string, int>();
+                //foreach (var item in areaList)
+                //{
+                //    area_dict.Add(item, wareHoustStoreList.Where(x => x.Area == item).Count());
+                //}
+                minKey_Area = new_dict_usableArea.OrderBy(d => d.Value).Select(d => d.Key).FirstOrDefault();
+            }
+            else
+            {
+                minKey_Area = dict_usableArea.OrderByDescending(d => d.Value).Select(d => d.Key).FirstOrDefault();
+            }
+            return minKey_Area;
+        }
+
+
+        /// <summary>
+        /// 閫氱敤鐨勫鎵剧┖搴撲綅杩囨护鏉′欢
+        /// </summary>
+        /// <param name="places"></param>
+        /// <returns></returns>
+        private static List<V_EmptySrmStation> FindEmptyPlaceByCommonFilter(List<V_EmptySrmStation> places)
+        {
+            if (places != null && places.Count() > 0)
+            {
+                places = places.Where(x => !SysGloble.Dict_SpecialPlace.ContainsKey(x.SrmStationCode)).ToList();
+                return places.ToList();
+            }
+            else
+            {
+                return null;
+            }
+        }
+
+        /// <summary>
+        /// 杩囨护鎺夌壒娈婂簱浣�
+        /// </summary>
+        /// <param name="places"></param>
+        /// <returns></returns>
+        public static List<Base_Station> FindCommonFilter(List<Base_Station> places)
+        {
+            if (places != null && places.Count() > 0)
+            {
+                places = places.Where(x => !SysGloble.Dict_SpecialPlace.ContainsKey(x.SrmStationCode)).ToList();
+                return places.ToList();
+            }
+            else
+            {
+                return null;
+            }
+        }
+
+        ///// <summary>
+        ///// 瀵绘壘绔嬪簱涓殑绌哄簱浣�
+        ///// </summary>
+        ///// <param name="reamrk"></param>
+        ///// <returns></returns>
+        //public static Base_Station FindBestEmptyPlaceByAreaLogic(EItemType itemType, string reamrk, DbModel edm)
+        //{
+        //    Base_Station place = null;
+
+        //    place = InnerFindBestEmptyPlaceByAreaLogic(edm);
+
+        //    var isLock = ValidateFindPlaceIsLocked(place, reamrk);
+        //    if (isLock)
+        //    {
+        //        return null;
+        //    }
+        //    return place;
+        //}
+
+        ///// <summary>
+        ///// 瀵绘壘鍦ㄧ珛浣撳簱涓� 鍙斁鐨勭┖鎵樼墿鏂欑殑绌哄簱浣�
+        ///// </summary>
+        ///// <param name="edm"></param>
+        ///// <returns></returns>
+        //public static Base_Station FindBestEmptyPlaceBySubplate(DbModel edm, string reamrk)
+        //{
+        //    List<Base_Station> orderedQueryable_places = edm.Base_Station.Where(x => x.Srm_C_V_P.Count == 0
+        //                                    && x.IsAsrsPlace == 1 && x.IsTrussPlace == 0 && x.IsConveyorPlace == 0
+        //                                    && x.Islock == 0
+        //    ).ToList();
+        //    var isRandomFindPlace = WCSConfigHelper.GetConfig_IsRandomFindPlace();
+        //    if (!isRandomFindPlace)
+        //    {
+        //        orderedQueryable_places = orderedQueryable_places.OrderByDescending(x => x.Row).ThenBy(x => x.Col).ThenBy(x => x.Layer).ToList();
+        //    }
+        //    else
+        //    {//闅忔満鎺掑簭
+        //        orderedQueryable_places = ListHelper.RandomList<Base_Station>(orderedQueryable_places);
+        //    }
+        //    var findPlaces = SrmPlaceHandels.FindPlaceByCommonFilter(orderedQueryable_places);
+
+        //    findPlaces = FindPlacesFilterByBreakdown(findPlaces);//閫氳繃璁惧鐘舵�佹潵杩囨护搴撲綅 [EditBy shaocx,2020-12-13]
+
+        //    if (findPlaces == null)
+        //    {
+        //        //鏃犵┖浣�  鍙斁鐨勫灚鏉垮灈鐗╂枡鐨勫簱浣�
+        //        return null;
+        //    }
+        //    Base_Station fullPlace = findPlaces.FirstOrDefault();
+        //    var isLock = ValidateFindPlaceIsLocked(fullPlace, reamrk);
+        //    if (isLock)
+        //    {
+        //        return null;
+        //    }
+        //    return fullPlace;
+        //}
+
+        //private static Base_Station InnerFindBestEmptyPlaceByAreaLogic(DbModel edm)
+        //{
+        //    //绗﹀悎閫昏緫鍖哄煙锛堢墿鏂欑被鍨嬶級鐨勩�佹病鏈塁VP缁戝畾鍏崇郴鐨勫簱浣嶈涓虹┖搴撲綅锛岀劧鍚庡啀鎸夎銆佸垪銆佸眰娆″簭閫夋嫨
+        //    //鍚屾椂鏍规嵁 Islock
+        //    var emptyPlaces = edm.Srm_EmptyPlaceView.Where(x =>
+        //        x.Islock == 0
+        //        ).ToList();
+        //    var isRandomFindPlace = WCSConfigHelper.GetConfig_IsRandomFindPlace();
+        //    if (!isRandomFindPlace)
+        //    {
+        //        emptyPlaces = emptyPlaces.OrderByDescending(x => x.Row).ThenBy(x => x.Col).ThenBy(x => x.Layer).ToList();
+        //    }
+        //    else
+        //    {//闅忔満鎺掑簭
+        //        emptyPlaces = ListHelper.RandomList<Srm_EmptyPlaceView>(emptyPlaces);
+        //    }
+
+        //    emptyPlaces = FindPlacesFilterByBreakdown(emptyPlaces);//閫氳繃璁惧鐘舵�佹潵杩囨护搴撲綅 [EditBy shaocx,2020-12-13]
+
+        //    if (emptyPlaces == null)
+        //        return null;
+        //    var emptyPlace = emptyPlaces.FirstOrDefault();
+        //    if (emptyPlace == null)        //淇鎻愮ず涓篘ULL鐨勯棶棰�
+        //        return null;
+        //    return edm.Base_Station.First(x => x.SrmPlaceNo == emptyPlace.SrmPlaceNo);
+        //}
+
+
+        #endregion
+
+
+        /// <summary>
+        /// 鑾峰彇RGV搴撲綅
+        /// </summary>
+        /// <returns></returns>
+        public static Base_Station GetRgvPlace(DbModel edm, string rgvStationNo)
+        {
+            var place = edm.Base_Station.Where(o => o.RgvStationCode == rgvStationNo).FirstOrDefault();
+            if (place == null)
+                throw new Exception("娌℃湁鎵惧埌RGV" + rgvStationNo + "搴撲綅!");
+            return place;
+        }
+
+        /// <summary>
+        /// [鍏ュ簱]閫氳繃绔嬩綋搴撶殑搴撲綅鑾峰彇RGV鍏ュ簱鐨勪綅缃�
+        /// </summary>
+        /// <returns></returns>
+        public static Base_Station GetRgvPlaceBySrmPlaceForInStore(DbModel edm, Base_Station srmPlace)
+        {
+            string rgvStationNo = "";
+            EDevice rgvLcation;
+
+            switch (srmPlace.Area)
+            {
+                case "1":
+                    rgvLcation = EDevice.鍫嗗灈鏈�1鍏ュ簱鍙�1002;
+                    break;
+                case "2":
+                    rgvLcation = EDevice.鍫嗗灈鏈�2鍏ュ簱鍙�1004;
+                    break;
+                case "3":
+                    rgvLcation = EDevice.鍫嗗灈鏈�3鍏ュ簱鍙�1006;
+                    break;
+                case "4":
+                    rgvLcation = EDevice.鍫嗗灈鏈�4鍏ュ簱鍙�1007;
+                    break;
+                default:
+                    throw new Exception("閿欒鐨勭珛搴撳簱浣�" + srmPlace.SrmStationCode);
+            }
+            rgvStationNo = ((int)rgvLcation).ToString();
+            var place = edm.Base_Station.Where(o => o.RgvStationCode == rgvStationNo).FirstOrDefault();
+            if (place == null)
+                throw new Exception("娌℃湁鎵惧埌RGV" + rgvStationNo + "搴撲綅!");
+            return place;
+        }
+
+        /// <summary>
+        /// [鍑哄簱]閫氳繃绔嬩綋搴撶殑搴撲綅鑾峰彇RGV鍑哄簱鐨勪綅缃�
+        /// </summary>
+        /// <returns></returns>
+        public static Base_Station GetRgvPlaceBySrmPlaceForOutStore(DbModel edm, Base_Station srmPlace)
+        {
+            string rgvStationNo = "";
+            EDevice rgvLcation;
+            switch (srmPlace.Area)
+            {
+                case "1":
+                    rgvLcation = EDevice.鍫嗗灈鏈�1鍑哄簱鍙�1001;
+                    break;
+                case "2":
+                    rgvLcation = EDevice.鍫嗗灈鏈�2鍑哄簱鍙�1003;
+                    break;
+                case "3":
+                    rgvLcation = EDevice.鍫嗗灈鏈�3鍑哄簱鍙�1005;
+                    break;
+                case "4":
+                    rgvLcation = EDevice.鍫嗗灈鏈�4鍑哄簱鍙�1008;
+                    break;
+                default:
+                    throw new Exception("閿欒鐨勭珛搴撳簱浣�" + srmPlace.SrmStationCode);
+            }
+            rgvStationNo = ((int)rgvLcation).ToString();
+            var place = edm.Base_Station.Where(o => o.RgvStationCode == rgvStationNo).FirstOrDefault();
+            if (place == null)
+                throw new Exception("娌℃湁鎵惧埌RGV" + rgvStationNo + "搴撲綅!");
+            return place;
+        }
+
+
+        /// <summary>
+        /// 鏍规嵁搴撲綅鍙峰幓鍒ゆ柇 鎵�鍦� 鎺掋�佸垪銆佸眰
+        /// </summary>
+        /// <param name="place"></param>
+        /// <returns></returns>
+        public static PlaceLocationView GetPlaceLocationView(Base_Station place)
+        {
+            string no = place.SrmStationCode;
+            List<String> list = no.Split('-').ToList<string>();
+            if (list.Count != 3)
+            {
+                throw new Exception("搴撲綅鏍煎紡涓嶆纭�");
+            }
+            PlaceLocationView result = new PlaceLocationView();
+            result.Row = Convert.ToInt32(list[0]);
+            result.Col = Convert.ToInt32(list[1]);
+            result.Layer = Convert.ToInt32(list[2]);
+            return result;
+        }
+
+
+        /// <summary>
+        /// 閲嶆柊楠岃瘉搴撲綅鏄惁鍙互鍏佽琚娇鐢�
+        /// </summary>
+        /// <param name="edm"></param>
+        /// <param name="placeId"></param>
+        /// <returns></returns>
+        public static bool IsAllowUsePlace(DbModel edm, Base_Station place)
+        {
+            var new_place = GetPlaceByPlaceId(place.Id, edm);
+            if (new_place.IsLock == false)
+                return true;
+            return false;
+        }
+
+        /// <summary>
+        /// 閲嶆柊楠岃瘉搴撲綅鏄惁鍙互鍏佽琚娇鐢�
+        /// </summary>
+        /// <param name="edm"></param>
+        /// <param name="placeId"></param>
+        /// <returns></returns>
+        public static bool IsAllowUsePlace(DbModel edm, Base_Station place, ref string errMsg)
+        {
+            var new_place = GetPlaceByPlaceId(place.Id, edm);
+            var stationName = "搴撲綅[";
+            if (new_place.IsRgvStation)
+            {
+                stationName += "RGV绔欑偣" + new_place.RgvStationCode;
+            }
+            else if (new_place.IsSrmStation)
+            {
+                stationName += "鍫嗗灈鏈虹珯鐐�" + new_place.SrmStationCode;
+            }
+            stationName += "]";
+            if (new_place.IsLock == true)
+            {
+                errMsg = stationName + "]琚攣瀹�!";
+                return false;
+            }
+            if (new_place.IsDeleted == true)
+            {
+                errMsg = stationName + "琚鐢�!";
+                return false;
+            }
+            if (new_place.IsHasTaskDoing == true)
+            {
+                errMsg = stationName + "琚换鍔″崰鐢�!";
+                return false;
+            }
+            //鍒ゆ柇搴撲綅鏄惁鐩墠鏈変换鍔″湪鎵ц TODO
+            var isUse = PartTaskHandler.IsExistOtherTaskDoing(edm, place.Id);
+            if (isUse)
+            {
+                errMsg = stationName + "琚叾浠栦换鍔″崰鐢�!";
+                return false;
+            }
+
+            return true;
+        }
+
+        /// <summary>
+        /// 閲嶆柊鏍规嵁搴撲綅ID鑾峰彇搴撲綅鏄惁鍙互鍏佽琚娇鐢�
+        /// </summary>
+        /// <param name="edm"></param>
+        /// <param name="placeId"></param>
+        /// <returns></returns>
+        public static bool IsAllowUsePlaceByPlaceId(DbModel edm, int placeId)
+        {
+            var place = GetPlaceByPlaceId(placeId, edm);
+            if (place.IsLock == false)
+                return true;
+            return false;
+        }
+
+
+
+
+        /// <summary>
+        /// 璁剧疆Place鐨処sLock
+        /// </summary>
+        /// <param name="isLock"></param>
+        /// <param name="place"></param>
+        public static void SetPlaceLockStatus(bool isLock, string userName, ref Base_Station place, string remark)
+        {
+            place.ModifyBy = userName;
+            place.Remark = remark + "[鏇存柊閿佸畾/瑙i攣搴撲綅,isLock:" + isLock + "]";
+            place.ModifyTime = DateTime.Now;
+            if (isLock)
+            {
+                place.IsLock = true;
+                //place.Void = (int)VoidEnum.绂佺敤;
+            }
+            else
+            {
+                place.IsLock = false;
+                //place.Void = (int)VoidEnum.鍙敤;
+            }
+        }
+
+        /// <summary>
+        /// 璁剧疆Place鐨刬sTaskDoing
+        /// </summary>
+        /// <param name="isTaskDoing">鏄惁鏈変换鍔″崰鐢�</param>
+        /// <param name="place"></param>
+        public static void SetPlaceTaskDoingStatus(bool isTaskDoing, string userName, ref Base_Station place, string remark)
+        {
+            place.ModifyBy = userName;
+            place.Remark = remark + "[鏇存柊鏄惁鏈変换鍔″崰鐢ㄥ簱浣�,isTaskDoing:" + isTaskDoing + "]";
+            place.ModifyTime = DateTime.Now;
+            if (isTaskDoing)
+            {
+                place.IsHasTaskDoing = true;
+            }
+            else
+            {
+                place.IsHasTaskDoing = false;
+            }
+        }
+
+        /// <summary>
+        /// 鏍规嵁搴撲綅ID鏌ユ壘搴撲綅瀵硅薄
+        /// </summary>
+        /// <returns></returns>
+        public static Base_Station GetPlaceByPlaceId(int placeId, DbModel edm)
+        {
+            return edm.Base_Station.Where(x => x.Id == placeId).FirstOrDefault();
+        }
+
+
+        /// <summary>
+        /// 鏍规嵁搴撲綅鍙锋煡鎵惧簱浣嶅璞�
+        /// </summary>
+        /// <param name="srmPlaceNo">搴撲綅鍙�</param>
+        /// <param name="edm"></param>
+        /// <returns></returns>
+        public static Base_Station GetPlaceBySrmPlaceNo(string srmPlaceNo, DbModel edm)
+        {
+            return edm.Base_Station.Where(x => x.SrmStationCode == srmPlaceNo).FirstOrDefault();
+        }
+
+        /// <summary>
+        /// 鏍规嵁RGV绔欑偣鍙锋煡鎵惧簱浣嶅璞�
+        /// </summary>
+        /// <param name="rgvStationNo">RGV绔欑偣鍙�</param>
+        /// <param name="edm"></param>
+        /// <returns></returns>
+        public static Base_Station GetPlaceByRgvStationNo(string rgvStationNo, DbModel edm)
+        {
+            return edm.Base_Station.Where(x => x.RgvStationCode == rgvStationNo).FirstOrDefault();
+        }
+
+
+        ///// <summary>
+        ///// 鏍规嵁ItemId鏌ユ壘搴撲綅瀵硅薄
+        ///// </summary>
+        ///// <returns></returns>
+        //public static Base_Station GetPlaceByItemId(string itemId, DbModel edm)
+        //{
+        //    var cvi = Salver_Material_Handler.GetIVCByItemId(edm, itemId);
+        //    var cvp = Salver_Station_Handler.GetCVPByContainerId(edm, cvi.SalverId);
+        //    return GetPlaceByPlaceId(cvp.StationId, edm);
+        //}
+
+
+
+        ///// <summary>
+        ///// 鎸夌収鎺掗攣瀹氬簱浣�
+        ///// </summary>
+        ///// <param name="edm"></param>
+        ///// <param name="selectRow"></param>
+        ///// <param name="remark"></param>
+        //public static void LockPlaceByRow(DbModel edm, int selectRow, string remark)
+        //{
+        //    var places = edm.Base_Station.Where(x => x.Row == selectRow).OrderBy(x => x.Row).ToList();
+        //    var s_places = FindPlaceByCommonFilter(places);
+        //    foreach (var item in s_places)
+        //    {
+        //        item.Islock = 1;
+        //        item.Void = 1;
+        //        item.LastModifier = MachineHelper.GetHostName();
+        //        item.ModifyTime = DateTime.Now;
+        //        item.Remark = remark;
+        //    }
+
+        //}
+
+        /// <summary>
+        /// 閫氳繃璁惧绫诲瀷鑾峰彇搴撲綅缂栧彿
+        /// </summary>
+        /// <param name="station"></param>
+        /// <param name="deviceType"></param>
+        public static String GetStationCodeByDeviceType(Base_Station station, EDeviceType deviceType)
+        {
+            var placeNo = "";
+            switch (deviceType)
+            {
+                case EDeviceType.RGV:
+                    placeNo = station.RgvStationCode;
+                    break;
+                case EDeviceType.鍫嗗灈鏈�:
+                    placeNo = station.SrmStationCode;
+                    break;
+            }
+            return placeNo;
+        }
+
+
+        #region 閫氳繃璁惧鐘舵�佹潵杩囨护搴撲綅
+
+        /// <summary>
+        /// 閫氳繃璁惧鐘舵�佹潵杩囨护搴撲綅
+        /// </summary>
+        /// <param name="findPlaces"></param>
+        /// <returns></returns>
+        private static List<V_EmptySrmStation> FindPlacesFilterByBreakdown(List<V_EmptySrmStation> findPlaces)
+        {
+            if (findPlaces == null && findPlaces.Count == 0)
+            {
+                return findPlaces;
+            }
+            //鍒よ鍫嗗灈鏈烘晠闅�
+            FunRetEntity srm1 = Wms_EquipmentSituationHandler.IsEquipmentBreakdown((int)EDevice.涓�鍙峰爢鍨涙満);
+            if (srm1.result)
+            {//鏁呴殰
+                findPlaces = findPlaces.Where(x => x.Area != "1").ToList();
+            }
+            FunRetEntity srm2 = Wms_EquipmentSituationHandler.IsEquipmentBreakdown((int)EDevice.浜屽彿鍫嗗灈鏈�);
+            if (srm2.result)
+            {//鏁呴殰
+                findPlaces = findPlaces.Where(x => x.Area != "2").ToList();
+            }
+            FunRetEntity srm3 = Wms_EquipmentSituationHandler.IsEquipmentBreakdown((int)EDevice.涓夊彿鍫嗗灈鏈�);
+            if (srm3.result)
+            {//鏁呴殰
+                findPlaces = findPlaces.Where(x => x.Area != "3").ToList();
+            }
+            FunRetEntity srm4 = Wms_EquipmentSituationHandler.IsEquipmentBreakdown((int)EDevice.鍥涘彿鍫嗗灈鏈�);
+            if (srm4.result)
+            {//鏁呴殰
+                findPlaces = findPlaces.Where(x => x.Area != "4").ToList();
+            }
+            return findPlaces;
+        }
+
+        /// <summary>
+        /// 閫氳繃璁惧鐘舵�佹潵杩囨护搴撲綅
+        /// </summary>
+        /// <param name="findPlaces"></param>
+        /// <returns></returns>
+        public static List<V_Store> FindPlacesFilterByBreakdown(List<V_Store> findPlaces)
+        {
+            if (findPlaces == null && findPlaces.Count == 0)
+            {
+                return findPlaces;
+            }
+            //鍒よ鍫嗗灈鏈烘晠闅�
+            FunRetEntity srm1 = Wms_EquipmentSituationHandler.IsEquipmentBreakdown((int)EDevice.涓�鍙峰爢鍨涙満);
+            if (srm1.result)
+            {//鏁呴殰
+                findPlaces = findPlaces.Where(x => x.Area != "1").ToList();
+            }
+            FunRetEntity srm2 = Wms_EquipmentSituationHandler.IsEquipmentBreakdown((int)EDevice.浜屽彿鍫嗗灈鏈�);
+            if (srm2.result)
+            {//鏁呴殰
+                findPlaces = findPlaces.Where(x => x.Area != "2").ToList();
+            }
+            FunRetEntity srm3 = Wms_EquipmentSituationHandler.IsEquipmentBreakdown((int)EDevice.涓夊彿鍫嗗灈鏈�);
+            if (srm3.result)
+            {//鏁呴殰
+                findPlaces = findPlaces.Where(x => x.Area != "3").ToList();
+            }
+            FunRetEntity srm4 = Wms_EquipmentSituationHandler.IsEquipmentBreakdown((int)EDevice.鍥涘彿鍫嗗灈鏈�);
+            if (srm4.result)
+            {//鏁呴殰
+                findPlaces = findPlaces.Where(x => x.Area != "4").ToList();
+            }
+            return findPlaces;
+        }
+
+        #endregion
+
+
+        /// <summary>
+        /// 鑾峰彇绔欑偣锛屾柊寤鸿浆杩愪换鍔℃椂
+        /// </summary>
+        /// <param name="edm"></param>
+        /// <param name="rgvLocation"></param>
+        /// <param name="errMsg"></param>
+        /// <returns></returns>
+        public static FunRetEntity GetTargtStationForAddTransferTask(DbModel edm, EDevice rgvLocation, ref string errMsg, ref Base_Station targtPlace)
+        {
+            //鐩爣鐐�
+            targtPlace = StationHandler.GetRgvPlace(edm, ((int)rgvLocation).ToString());
+            if (targtPlace == null)
+            {
+                return FunRetEntity.Fail("娌℃湁鎵惧埌绔欑偣");
+            }
+            //鍒ゆ柇璧风偣鏄惁鏈変换鍔¤鍗犵敤
+            if (StationHandler.IsAllowUsePlace(edm, targtPlace, ref errMsg) == false)
+            {
+                return FunRetEntity.Fail(errMsg);
+            }
+            return FunRetEntity.Success("鎴愬姛");
+        }
+
+    }
+}
diff --git a/CC/iWareSql/DataAccess/TCSCommon.cs b/CC/iWareSql/DataAccess/TCSCommon.cs
new file mode 100644
index 0000000..2c28909
--- /dev/null
+++ b/CC/iWareSql/DataAccess/TCSCommon.cs
@@ -0,0 +1,72 @@
+锘縰sing Admin.NET.Application;
+using iWareSql.WmsDBModel;
+using System;
+using System.Collections.Generic;
+
+namespace iWareSql
+{
+    public class TCSCommon
+    {
+        /// <summary>
+        /// 鏍规嵁鐗╂枡闀垮拰瀹借幏鍙栨満鍣ㄤ汉鍏ュ簱鐨勫簱浣嶇被鍨�
+        /// </summary>
+        /// <param name="PhysicalWidth">鐗╃悊瀹藉害</param>
+        /// <param name="PhysicalLength">鐗╃悊闀垮害</param>
+        /// <returns>搴撲綅绫诲瀷</returns>
+        public static int GetPlaceTypeByWidthLength(mes_batchOrderUPI_new UpiInfo, double PhysicalLength, double PhysicalWidth, ref List<int> usePlaceTypeList)
+        {
+            //涓嶉渶瑕佽浆鎹㈤暱瀹斤紝璺熸潕鑰�姝︾‘璁や簡 銆怑ditby shaocx,2024-11-20銆�
+            // GetPhysicalWidthLength(UpiInfo, ref PhysicalLength, ref PhysicalWidth);
+
+
+            var PlaceType = 0;
+            if (PhysicalLength < 700)
+            {
+                PlaceType = (int)PlaceTypeEnum.灏忚揣浣�;
+                usePlaceTypeList.Add(PlaceType);
+                usePlaceTypeList.Add((int)PlaceTypeEnum.涓揣浣�);
+                usePlaceTypeList.Add((int)PlaceTypeEnum.澶ц揣浣�);
+            }
+            else if (PhysicalLength >= 700 && PhysicalLength <= 1000)
+            {
+                PlaceType = (int)PlaceTypeEnum.涓揣浣�;
+                usePlaceTypeList.Add(PlaceType);
+                usePlaceTypeList.Add((int)PlaceTypeEnum.澶ц揣浣�);
+            }
+            else if (PhysicalLength > 1000)
+            {
+                PlaceType = (int)PlaceTypeEnum.澶ц揣浣�;
+                usePlaceTypeList.Add(PlaceType);
+            }
+
+            if (PlaceType == 0)
+            {
+                throw new Exception("鎸夌収UPI:" + UpiInfo.UPI + "鐨勭墿鐞嗛暱搴�" + PhysicalLength + ",鐗╂枡瀹藉害:" + PhysicalWidth + "娌℃湁鍖归厤鍒板簱浣嶇被鍨嬶紒");
+            }
+
+            return PlaceType;
+        }
+
+        /// <summary>
+        /// 鏍规嵁瀹為檯鎯呭喌杞崲闀垮拰瀹�
+        /// </summary>
+        /// <param name="UpiInfo"></param>
+        /// <param name="PhysicalLength">鐗╃悊闀垮害</param>
+        /// <param name="PhysicalWidth">鐗╃悊瀹藉害</param>
+        private static void GetPhysicalWidthLength(mes_batchOrderUPI_new UpiInfo, ref double PhysicalLength, ref double PhysicalWidth)
+        {
+            if (UpiInfo.Rotation > 0)
+            {//濡傛灉鏄洓闈㈤捇锛岀墿鐞嗛暱鍜屽瀵硅皟
+                PhysicalWidth = UpiInfo.Length;
+                PhysicalLength = UpiInfo.Width;
+            }
+            else
+            {
+                PhysicalLength = UpiInfo.Length;
+                PhysicalWidth = UpiInfo.Width;
+            }
+        }
+
+
+    }
+}
diff --git a/CC/iWareSql/DataAccess/TaskHandler.cs b/CC/iWareSql/DataAccess/TaskHandler.cs
new file mode 100644
index 0000000..9a4526a
--- /dev/null
+++ b/CC/iWareSql/DataAccess/TaskHandler.cs
@@ -0,0 +1,40 @@
+锘�
+
+using Admin.NET.Application;
+using iWareCommon.Utils;
+using iWareModel.Entity.AGV;
+using iWareModel.EnumType.EDevice.AGV;
+using iWareSql.DBModel;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace iWareSql.DataAccess
+{
+    public class TaskHandler
+    {
+        /// <summary>
+        /// 楠岃瘉 鏈哄櫒浜虹紦瀛樺矝鏄惁瀛樺湪宸蹭笅鍙戠殑浠诲姟
+        /// </summary>
+        /// <param name="wmsDB"></param>
+        /// <returns></returns>
+        public static bool ValidateIssueTaskForRobotBuffer(WmsDBModel.WmsDBModel wmsDB)
+        {
+            var isExist = wmsDB.wms_rbline_task.Where(x => x.TaskStatus == (int)TaskStatusEnum.宸蹭笅鍙�
+                && (
+                  x.RbTaskType == (int)RbTaskTypeEnum.鍏ュ簱浠诲姟
+                  ||
+                   x.RbTaskType == (int)RbTaskTypeEnum.鍑哄簱浠诲姟
+                )
+              ).ToList();
+
+            if (isExist?.Count() > 0)
+            {
+                return false;
+            }
+            return true;
+        }
+
+
+    }
+}
\ No newline at end of file
diff --git a/CC/iWareSql/WmsDBModel/ApprovalFlow.cs b/CC/iWareSql/WmsDBModel/ApprovalFlow.cs
new file mode 100644
index 0000000..f9f5683
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/ApprovalFlow.cs
@@ -0,0 +1,52 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("ApprovalFlow")]
+    public partial class ApprovalFlow
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [StringLength(32)]
+        public string Code { get; set; }
+
+        [Required]
+        [StringLength(32)]
+        public string Name { get; set; }
+
+        public string FormJson { get; set; }
+
+        public string FlowJson { get; set; }
+
+        public int? Status { get; set; }
+
+        [StringLength(256)]
+        public string Remark { get; set; }
+
+        public long? CreateOrgId { get; set; }
+
+        [StringLength(64)]
+        public string CreateOrgName { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/DingTalkUser.cs b/CC/iWareSql/WmsDBModel/DingTalkUser.cs
new file mode 100644
index 0000000..d0d41c4
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/DingTalkUser.cs
@@ -0,0 +1,53 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("DingTalkUser")]
+    public partial class DingTalkUser
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long SysUserId { get; set; }
+
+        [StringLength(64)]
+        public string DingTalkUserId { get; set; }
+
+        [StringLength(64)]
+        public string UnionId { get; set; }
+
+        [StringLength(64)]
+        public string Name { get; set; }
+
+        [StringLength(16)]
+        public string Mobile { get; set; }
+
+        public int? Sex { get; set; }
+
+        [StringLength(256)]
+        public string Avatar { get; set; }
+
+        [StringLength(16)]
+        public string JobNumber { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/GoViewPro.cs b/CC/iWareSql/WmsDBModel/GoViewPro.cs
new file mode 100644
index 0000000..0197d8b
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/GoViewPro.cs
@@ -0,0 +1,45 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("GoViewPro")]
+    public partial class GoViewPro
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string ProjectName { get; set; }
+
+        public int State { get; set; }
+
+        [StringLength(1024)]
+        public string IndexImage { get; set; }
+
+        [StringLength(512)]
+        public string Remarks { get; set; }
+
+        public long? TenantId { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/GoViewProData.cs b/CC/iWareSql/WmsDBModel/GoViewProData.cs
new file mode 100644
index 0000000..2462c1e
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/GoViewProData.cs
@@ -0,0 +1,37 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("GoViewProData")]
+    public partial class GoViewProData
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public string Content { get; set; }
+
+        public string IndexImageData { get; set; }
+
+        public long? TenantId { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysCodeGen.cs b/CC/iWareSql/WmsDBModel/SysCodeGen.cs
new file mode 100644
index 0000000..ba1ab54
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysCodeGen.cs
@@ -0,0 +1,78 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysCodeGen")]
+    public partial class SysCodeGen
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [StringLength(32)]
+        public string AuthorName { get; set; }
+
+        [StringLength(8)]
+        public string TablePrefix { get; set; }
+
+        [StringLength(32)]
+        public string GenerateType { get; set; }
+
+        [StringLength(32)]
+        public string TableType { get; set; }
+
+        [StringLength(64)]
+        public string ConfigId { get; set; }
+
+        [StringLength(64)]
+        public string DbName { get; set; }
+
+        [StringLength(64)]
+        public string DbType { get; set; }
+
+        [StringLength(256)]
+        public string ConnectionString { get; set; }
+
+        [StringLength(128)]
+        public string TableName { get; set; }
+
+        [StringLength(128)]
+        public string NameSpace { get; set; }
+
+        [StringLength(128)]
+        public string BusName { get; set; }
+
+        [StringLength(128)]
+        public string ModuleName { get; set; }
+
+        [StringLength(128)]
+        public string Buttons { get; set; }
+
+        public long MenuPid { get; set; }
+
+        [StringLength(32)]
+        public string PrintType { get; set; }
+
+        [StringLength(32)]
+        public string PrintName { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysCodeGenConfig.cs b/CC/iWareSql/WmsDBModel/SysCodeGenConfig.cs
new file mode 100644
index 0000000..98bba18
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysCodeGenConfig.cs
@@ -0,0 +1,116 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysCodeGenConfig")]
+    public partial class SysCodeGenConfig
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long CodeGenId { get; set; }
+
+        [Required]
+        [StringLength(128)]
+        public string ColumnName { get; set; }
+
+        [Required]
+        [StringLength(128)]
+        public string PropertyName { get; set; }
+
+        public int ColumnLength { get; set; }
+
+        [StringLength(128)]
+        public string ColumnComment { get; set; }
+
+        [StringLength(64)]
+        public string NetType { get; set; }
+
+        [StringLength(64)]
+        public string EffectType { get; set; }
+
+        [StringLength(64)]
+        public string FkEntityName { get; set; }
+
+        [StringLength(128)]
+        public string FkTableName { get; set; }
+
+        [StringLength(64)]
+        public string FkColumnName { get; set; }
+
+        [StringLength(64)]
+        public string FkSetValueColumnName { get; set; }
+
+        [StringLength(64)]
+        public string FkColumnNetType { get; set; }
+
+        [StringLength(64)]
+        public string DictTypeCode { get; set; }
+
+        [StringLength(8)]
+        public string WhetherRetract { get; set; }
+
+        [StringLength(8)]
+        public string WhetherRequired { get; set; }
+
+        [StringLength(8)]
+        public string WhetherSortable { get; set; }
+
+        [StringLength(8)]
+        public string QueryWhether { get; set; }
+
+        [StringLength(16)]
+        public string QueryType { get; set; }
+
+        [StringLength(16)]
+        public string RepCheckType { get; set; }
+
+        [StringLength(8)]
+        public string WhetherTable { get; set; }
+
+        [StringLength(8)]
+        public string WhetherKeyQuery { get; set; }
+
+        [StringLength(8)]
+        public string WhetherAddUpdate { get; set; }
+
+        [StringLength(8)]
+        public string ColumnKey { get; set; }
+
+        [StringLength(64)]
+        public string DataType { get; set; }
+
+        [StringLength(8)]
+        public string WhetherCommon { get; set; }
+
+        public string DisplayColumn { get; set; }
+
+        [StringLength(128)]
+        public string ValueColumn { get; set; }
+
+        [StringLength(128)]
+        public string PidColumn { get; set; }
+
+        public int OrderNo { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysConfig.cs b/CC/iWareSql/WmsDBModel/SysConfig.cs
new file mode 100644
index 0000000..27845a6
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysConfig.cs
@@ -0,0 +1,51 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysConfig")]
+    public partial class SysConfig
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string Name { get; set; }
+
+        [StringLength(64)]
+        public string Code { get; set; }
+
+        [StringLength(64)]
+        public string Value { get; set; }
+
+        public int SysFlag { get; set; }
+
+        [StringLength(64)]
+        public string GroupCode { get; set; }
+
+        public int OrderNo { get; set; }
+
+        [StringLength(256)]
+        public string Remark { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysDictData.cs b/CC/iWareSql/WmsDBModel/SysDictData.cs
new file mode 100644
index 0000000..7ebf96f
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysDictData.cs
@@ -0,0 +1,62 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysDictData")]
+    public partial class SysDictData
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long DictTypeId { get; set; }
+
+        [Required]
+        [StringLength(128)]
+        public string Value { get; set; }
+
+        [Required]
+        [StringLength(128)]
+        public string Code { get; set; }
+
+        [StringLength(128)]
+        public string Name { get; set; }
+
+        [StringLength(16)]
+        public string TagType { get; set; }
+
+        [StringLength(512)]
+        public string StyleSetting { get; set; }
+
+        [StringLength(512)]
+        public string ClassSetting { get; set; }
+
+        public int OrderNo { get; set; }
+
+        [StringLength(2048)]
+        public string Remark { get; set; }
+
+        public string ExtData { get; set; }
+
+        public int Status { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysDictType.cs b/CC/iWareSql/WmsDBModel/SysDictType.cs
new file mode 100644
index 0000000..5772f9f
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysDictType.cs
@@ -0,0 +1,46 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysDictType")]
+    public partial class SysDictType
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string Name { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string Code { get; set; }
+
+        public int OrderNo { get; set; }
+
+        [StringLength(256)]
+        public string Remark { get; set; }
+
+        public int Status { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysFile.cs b/CC/iWareSql/WmsDBModel/SysFile.cs
new file mode 100644
index 0000000..cc9b1f0
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysFile.cs
@@ -0,0 +1,58 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysFile")]
+    public partial class SysFile
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [StringLength(128)]
+        public string Provider { get; set; }
+
+        [StringLength(128)]
+        public string BucketName { get; set; }
+
+        [StringLength(128)]
+        public string FileName { get; set; }
+
+        [StringLength(16)]
+        public string Suffix { get; set; }
+
+        [StringLength(128)]
+        public string FilePath { get; set; }
+
+        [StringLength(16)]
+        public string SizeKb { get; set; }
+
+        [StringLength(64)]
+        public string SizeInfo { get; set; }
+
+        [StringLength(512)]
+        public string Url { get; set; }
+
+        [StringLength(128)]
+        public string FileMd5 { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysJobCluster.cs b/CC/iWareSql/WmsDBModel/SysJobCluster.cs
new file mode 100644
index 0000000..26b23aa
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysJobCluster.cs
@@ -0,0 +1,26 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysJobCluster")]
+    public partial class SysJobCluster
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string ClusterId { get; set; }
+
+        [StringLength(128)]
+        public string Description { get; set; }
+
+        public int Status { get; set; }
+
+        public DateTime? UpdatedTime { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysJobDetail.cs b/CC/iWareSql/WmsDBModel/SysJobDetail.cs
new file mode 100644
index 0000000..9ec29f0
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysJobDetail.cs
@@ -0,0 +1,43 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysJobDetail")]
+    public partial class SysJobDetail
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string JobId { get; set; }
+
+        [StringLength(128)]
+        public string GroupName { get; set; }
+
+        [StringLength(128)]
+        public string JobType { get; set; }
+
+        [StringLength(128)]
+        public string AssemblyName { get; set; }
+
+        [StringLength(128)]
+        public string Description { get; set; }
+
+        public bool Concurrent { get; set; }
+
+        public bool annotation { get; set; }
+
+        public string Properties { get; set; }
+
+        public DateTime? UpdatedTime { get; set; }
+
+        public int CreateType { get; set; }
+
+        public string ScriptCode { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysJobTrigger.cs b/CC/iWareSql/WmsDBModel/SysJobTrigger.cs
new file mode 100644
index 0000000..2d32779
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysJobTrigger.cs
@@ -0,0 +1,65 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysJobTrigger")]
+    public partial class SysJobTrigger
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string TriggerId { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string JobId { get; set; }
+
+        [StringLength(128)]
+        public string TriggerType { get; set; }
+
+        [StringLength(128)]
+        public string AssemblyName { get; set; }
+
+        [StringLength(128)]
+        public string Args { get; set; }
+
+        [StringLength(128)]
+        public string Description { get; set; }
+
+        public int Status { get; set; }
+
+        public DateTime? StartTime { get; set; }
+
+        public DateTime? EndTime { get; set; }
+
+        public DateTime? LastRunTime { get; set; }
+
+        public DateTime? NextRunTime { get; set; }
+
+        public long NumberOfRuns { get; set; }
+
+        public long MaxNumberOfRuns { get; set; }
+
+        public long NumberOfErrors { get; set; }
+
+        public long MaxNumberOfErrors { get; set; }
+
+        public int NumRetries { get; set; }
+
+        public int RetryTimeout { get; set; }
+
+        public bool StartNow { get; set; }
+
+        public bool RunOnStart { get; set; }
+
+        public bool ResetOnlyOnce { get; set; }
+
+        public DateTime? UpdatedTime { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysJobTriggerRecord.cs b/CC/iWareSql/WmsDBModel/SysJobTriggerRecord.cs
new file mode 100644
index 0000000..b3ead11
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysJobTriggerRecord.cs
@@ -0,0 +1,38 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysJobTriggerRecord")]
+    public partial class SysJobTriggerRecord
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string JobId { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string TriggerId { get; set; }
+
+        public long NumberOfRuns { get; set; }
+
+        public DateTime? LastRunTime { get; set; }
+
+        public DateTime? NextRunTime { get; set; }
+
+        public int Status { get; set; }
+
+        [StringLength(128)]
+        public string Result { get; set; }
+
+        public long ElapsedTime { get; set; }
+
+        public DateTime? CreatedTime { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysLdap.cs b/CC/iWareSql/WmsDBModel/SysLdap.cs
new file mode 100644
index 0000000..aaf4790
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysLdap.cs
@@ -0,0 +1,71 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysLdap")]
+    public partial class SysLdap
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(128)]
+        public string Host { get; set; }
+
+        public int Port { get; set; }
+
+        [Required]
+        [StringLength(128)]
+        public string BaseDn { get; set; }
+
+        [Required]
+        [StringLength(32)]
+        public string BindDn { get; set; }
+
+        [Required]
+        [StringLength(512)]
+        public string BindPass { get; set; }
+
+        [Required]
+        [StringLength(128)]
+        public string AuthFilter { get; set; }
+
+        public int Version { get; set; }
+
+        [Required]
+        [StringLength(32)]
+        public string BindAttrAccount { get; set; }
+
+        [Required]
+        [StringLength(32)]
+        public string BindAttrEmployeeId { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string BindAttrCode { get; set; }
+
+        public int Status { get; set; }
+
+        public long? TenantId { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysLogDiff.cs b/CC/iWareSql/WmsDBModel/SysLogDiff.cs
new file mode 100644
index 0000000..a808232
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysLogDiff.cs
@@ -0,0 +1,45 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysLogDiff")]
+    public partial class SysLogDiff
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public string BeforeData { get; set; }
+
+        public string AfterData { get; set; }
+
+        public string Sql { get; set; }
+
+        public string Parameters { get; set; }
+
+        public string BusinessData { get; set; }
+
+        public string DiffType { get; set; }
+
+        public long? Elapsed { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysLogEx.cs b/CC/iWareSql/WmsDBModel/SysLogEx.cs
new file mode 100644
index 0000000..0434e49
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysLogEx.cs
@@ -0,0 +1,93 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysLogEx")]
+    public partial class SysLogEx
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [StringLength(32)]
+        public string HttpMethod { get; set; }
+
+        public string RequestUrl { get; set; }
+
+        public string RequestParam { get; set; }
+
+        public string ReturnResult { get; set; }
+
+        public int? EventId { get; set; }
+
+        public int? ThreadId { get; set; }
+
+        [StringLength(128)]
+        public string TraceId { get; set; }
+
+        public string Exception { get; set; }
+
+        public string Message { get; set; }
+
+        [StringLength(256)]
+        public string ControllerName { get; set; }
+
+        [StringLength(256)]
+        public string ActionName { get; set; }
+
+        [StringLength(256)]
+        public string DisplayTitle { get; set; }
+
+        [StringLength(32)]
+        public string Status { get; set; }
+
+        [StringLength(256)]
+        public string RemoteIp { get; set; }
+
+        [StringLength(128)]
+        public string Location { get; set; }
+
+        public double? Longitude { get; set; }
+
+        public double? Latitude { get; set; }
+
+        [StringLength(1024)]
+        public string Browser { get; set; }
+
+        [StringLength(256)]
+        public string Os { get; set; }
+
+        public long? Elapsed { get; set; }
+
+        public DateTime? LogDateTime { get; set; }
+
+        public int? LogLevel { get; set; }
+
+        [StringLength(32)]
+        public string Account { get; set; }
+
+        [StringLength(32)]
+        public string RealName { get; set; }
+
+        public long? TenantId { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysLogOp.cs b/CC/iWareSql/WmsDBModel/SysLogOp.cs
new file mode 100644
index 0000000..b30b83a
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysLogOp.cs
@@ -0,0 +1,93 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysLogOp")]
+    public partial class SysLogOp
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [StringLength(32)]
+        public string HttpMethod { get; set; }
+
+        public string RequestUrl { get; set; }
+
+        public string RequestParam { get; set; }
+
+        public string ReturnResult { get; set; }
+
+        public int? EventId { get; set; }
+
+        public int? ThreadId { get; set; }
+
+        [StringLength(128)]
+        public string TraceId { get; set; }
+
+        public string Exception { get; set; }
+
+        public string Message { get; set; }
+
+        [StringLength(256)]
+        public string ControllerName { get; set; }
+
+        [StringLength(256)]
+        public string ActionName { get; set; }
+
+        [StringLength(256)]
+        public string DisplayTitle { get; set; }
+
+        [StringLength(32)]
+        public string Status { get; set; }
+
+        [StringLength(256)]
+        public string RemoteIp { get; set; }
+
+        [StringLength(128)]
+        public string Location { get; set; }
+
+        public double? Longitude { get; set; }
+
+        public double? Latitude { get; set; }
+
+        [StringLength(1024)]
+        public string Browser { get; set; }
+
+        [StringLength(256)]
+        public string Os { get; set; }
+
+        public long? Elapsed { get; set; }
+
+        public DateTime? LogDateTime { get; set; }
+
+        public int? LogLevel { get; set; }
+
+        [StringLength(32)]
+        public string Account { get; set; }
+
+        [StringLength(32)]
+        public string RealName { get; set; }
+
+        public long? TenantId { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysLogVis.cs b/CC/iWareSql/WmsDBModel/SysLogVis.cs
new file mode 100644
index 0000000..df7245f
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysLogVis.cs
@@ -0,0 +1,72 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class SysLogVis
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [StringLength(256)]
+        public string ControllerName { get; set; }
+
+        [StringLength(256)]
+        public string ActionName { get; set; }
+
+        [StringLength(256)]
+        public string DisplayTitle { get; set; }
+
+        [StringLength(32)]
+        public string Status { get; set; }
+
+        [StringLength(256)]
+        public string RemoteIp { get; set; }
+
+        [StringLength(128)]
+        public string Location { get; set; }
+
+        public double? Longitude { get; set; }
+
+        public double? Latitude { get; set; }
+
+        [StringLength(1024)]
+        public string Browser { get; set; }
+
+        [StringLength(256)]
+        public string Os { get; set; }
+
+        public long? Elapsed { get; set; }
+
+        public DateTime? LogDateTime { get; set; }
+
+        public int? LogLevel { get; set; }
+
+        [StringLength(32)]
+        public string Account { get; set; }
+
+        [StringLength(32)]
+        public string RealName { get; set; }
+
+        public long? TenantId { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysMenu.cs b/CC/iWareSql/WmsDBModel/SysMenu.cs
new file mode 100644
index 0000000..500564a
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysMenu.cs
@@ -0,0 +1,77 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysMenu")]
+    public partial class SysMenu
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long Pid { get; set; }
+
+        public int Type { get; set; }
+
+        [StringLength(64)]
+        public string Name { get; set; }
+
+        [StringLength(128)]
+        public string Path { get; set; }
+
+        [StringLength(128)]
+        public string Component { get; set; }
+
+        [StringLength(128)]
+        public string Redirect { get; set; }
+
+        [StringLength(128)]
+        public string Permission { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string Title { get; set; }
+
+        [StringLength(128)]
+        public string Icon { get; set; }
+
+        public bool IsIframe { get; set; }
+
+        [StringLength(256)]
+        public string OutLink { get; set; }
+
+        public bool IsHide { get; set; }
+
+        public bool IsKeepAlive { get; set; }
+
+        public bool IsAffix { get; set; }
+
+        public bool? IshelpDoc { get; set; }
+
+        public int OrderNo { get; set; }
+
+        public int Status { get; set; }
+
+        [StringLength(256)]
+        public string Remark { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysNotice.cs b/CC/iWareSql/WmsDBModel/SysNotice.cs
new file mode 100644
index 0000000..e235403
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysNotice.cs
@@ -0,0 +1,56 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysNotice")]
+    public partial class SysNotice
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(32)]
+        public string Title { get; set; }
+
+        [Required]
+        public string Content { get; set; }
+
+        public int Type { get; set; }
+
+        public long PublicUserId { get; set; }
+
+        [StringLength(32)]
+        public string PublicUserName { get; set; }
+
+        public long PublicOrgId { get; set; }
+
+        [StringLength(64)]
+        public string PublicOrgName { get; set; }
+
+        public DateTime? PublicTime { get; set; }
+
+        public DateTime? CancelTime { get; set; }
+
+        public int Status { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysNoticeUser.cs b/CC/iWareSql/WmsDBModel/SysNoticeUser.cs
new file mode 100644
index 0000000..1a35d82
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysNoticeUser.cs
@@ -0,0 +1,23 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysNoticeUser")]
+    public partial class SysNoticeUser
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long NoticeId { get; set; }
+
+        public long UserId { get; set; }
+
+        public DateTime? ReadTime { get; set; }
+
+        public int ReadStatus { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysOnlineUser.cs b/CC/iWareSql/WmsDBModel/SysOnlineUser.cs
new file mode 100644
index 0000000..0c73f7a
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysOnlineUser.cs
@@ -0,0 +1,40 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysOnlineUser")]
+    public partial class SysOnlineUser
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [StringLength(255)]
+        public string ConnectionId { get; set; }
+
+        public long UserId { get; set; }
+
+        [Required]
+        [StringLength(32)]
+        public string UserName { get; set; }
+
+        [StringLength(32)]
+        public string RealName { get; set; }
+
+        public DateTime? Time { get; set; }
+
+        [StringLength(256)]
+        public string Ip { get; set; }
+
+        [StringLength(128)]
+        public string Browser { get; set; }
+
+        [StringLength(128)]
+        public string Os { get; set; }
+
+        public long? TenantId { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysOpenAccess.cs b/CC/iWareSql/WmsDBModel/SysOpenAccess.cs
new file mode 100644
index 0000000..edc2027
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysOpenAccess.cs
@@ -0,0 +1,43 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysOpenAccess")]
+    public partial class SysOpenAccess
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(128)]
+        public string AccessKey { get; set; }
+
+        [Required]
+        [StringLength(256)]
+        public string AccessSecret { get; set; }
+
+        public long BindTenantId { get; set; }
+
+        public long BindUserId { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysOrg.cs b/CC/iWareSql/WmsDBModel/SysOrg.cs
new file mode 100644
index 0000000..8174dcb
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysOrg.cs
@@ -0,0 +1,56 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysOrg")]
+    public partial class SysOrg
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long Pid { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string Name { get; set; }
+
+        [StringLength(64)]
+        public string Code { get; set; }
+
+        public int? Level { get; set; }
+
+        [StringLength(64)]
+        public string Type { get; set; }
+
+        public long? DirectorId { get; set; }
+
+        public int OrderNo { get; set; }
+
+        public int Status { get; set; }
+
+        [StringLength(128)]
+        public string Remark { get; set; }
+
+        public long? TenantId { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysPlugin.cs b/CC/iWareSql/WmsDBModel/SysPlugin.cs
new file mode 100644
index 0000000..e7c1842
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysPlugin.cs
@@ -0,0 +1,50 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysPlugin")]
+    public partial class SysPlugin
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string Name { get; set; }
+
+        [Required]
+        public string CsharpCode { get; set; }
+
+        [StringLength(512)]
+        public string AssemblyName { get; set; }
+
+        public int OrderNo { get; set; }
+
+        public int Status { get; set; }
+
+        [StringLength(128)]
+        public string Remark { get; set; }
+
+        public long? TenantId { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysPos.cs b/CC/iWareSql/WmsDBModel/SysPos.cs
new file mode 100644
index 0000000..a1d7fc1
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysPos.cs
@@ -0,0 +1,46 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class SysPos
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string Name { get; set; }
+
+        [StringLength(64)]
+        public string Code { get; set; }
+
+        public int OrderNo { get; set; }
+
+        [StringLength(128)]
+        public string Remark { get; set; }
+
+        public int Status { get; set; }
+
+        public long? TenantId { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysPrint.cs b/CC/iWareSql/WmsDBModel/SysPrint.cs
new file mode 100644
index 0000000..bbfbe84
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysPrint.cs
@@ -0,0 +1,47 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysPrint")]
+    public partial class SysPrint
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string Name { get; set; }
+
+        [Required]
+        public string Template { get; set; }
+
+        public int OrderNo { get; set; }
+
+        public int Status { get; set; }
+
+        [StringLength(128)]
+        public string Remark { get; set; }
+
+        public long? TenantId { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysRegion.cs b/CC/iWareSql/WmsDBModel/SysRegion.cs
new file mode 100644
index 0000000..e8e0ac9
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysRegion.cs
@@ -0,0 +1,50 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysRegion")]
+    public partial class SysRegion
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long Pid { get; set; }
+
+        [Required]
+        [StringLength(128)]
+        public string Name { get; set; }
+
+        [StringLength(32)]
+        public string ShortName { get; set; }
+
+        [StringLength(64)]
+        public string MergerName { get; set; }
+
+        [StringLength(32)]
+        public string Code { get; set; }
+
+        [StringLength(6)]
+        public string ZipCode { get; set; }
+
+        [StringLength(6)]
+        public string CityCode { get; set; }
+
+        public int Level { get; set; }
+
+        [StringLength(128)]
+        public string PinYin { get; set; }
+
+        public double Lng { get; set; }
+
+        public double Lat { get; set; }
+
+        public int OrderNo { get; set; }
+
+        [StringLength(128)]
+        public string Remark { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysRole.cs b/CC/iWareSql/WmsDBModel/SysRole.cs
new file mode 100644
index 0000000..cddfc74
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysRole.cs
@@ -0,0 +1,49 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysRole")]
+    public partial class SysRole
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string Name { get; set; }
+
+        [StringLength(64)]
+        public string Code { get; set; }
+
+        public int OrderNo { get; set; }
+
+        public int DataScope { get; set; }
+
+        [StringLength(128)]
+        public string Remark { get; set; }
+
+        public int Status { get; set; }
+
+        public long? TenantId { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysRoleMenu.cs b/CC/iWareSql/WmsDBModel/SysRoleMenu.cs
new file mode 100644
index 0000000..cda9cdb
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysRoleMenu.cs
@@ -0,0 +1,19 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysRoleMenu")]
+    public partial class SysRoleMenu
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long RoleId { get; set; }
+
+        public long MenuId { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysRoleOrg.cs b/CC/iWareSql/WmsDBModel/SysRoleOrg.cs
new file mode 100644
index 0000000..62d812c
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysRoleOrg.cs
@@ -0,0 +1,19 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysRoleOrg")]
+    public partial class SysRoleOrg
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long RoleId { get; set; }
+
+        public long OrgId { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysTenant.cs b/CC/iWareSql/WmsDBModel/SysTenant.cs
new file mode 100644
index 0000000..bbff4bc
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysTenant.cs
@@ -0,0 +1,57 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysTenant")]
+    public partial class SysTenant
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long UserId { get; set; }
+
+        public long OrgId { get; set; }
+
+        [StringLength(128)]
+        public string Host { get; set; }
+
+        public int TenantType { get; set; }
+
+        public int DbType { get; set; }
+
+        [StringLength(256)]
+        public string Connection { get; set; }
+
+        [StringLength(64)]
+        public string ConfigId { get; set; }
+
+        public string SlaveConnections { get; set; }
+
+        public int OrderNo { get; set; }
+
+        [StringLength(128)]
+        public string Remark { get; set; }
+
+        public int Status { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysUser.cs b/CC/iWareSql/WmsDBModel/SysUser.cs
new file mode 100644
index 0000000..235e004
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysUser.cs
@@ -0,0 +1,146 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysUser")]
+    public partial class SysUser
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(32)]
+        public string Account { get; set; }
+
+        [Required]
+        [StringLength(512)]
+        public string Password { get; set; }
+
+        [Required]
+        [StringLength(32)]
+        public string RealName { get; set; }
+
+        [StringLength(32)]
+        public string NickName { get; set; }
+
+        [StringLength(512)]
+        public string Avatar { get; set; }
+
+        public int Sex { get; set; }
+
+        public int Age { get; set; }
+
+        public DateTime? Birthday { get; set; }
+
+        [StringLength(32)]
+        public string Nation { get; set; }
+
+        [StringLength(16)]
+        public string Phone { get; set; }
+
+        public int CardType { get; set; }
+
+        [StringLength(32)]
+        public string IdCardNum { get; set; }
+
+        [StringLength(64)]
+        public string Email { get; set; }
+
+        [StringLength(256)]
+        public string Address { get; set; }
+
+        public int CultureLevel { get; set; }
+
+        [StringLength(16)]
+        public string PoliticalOutlook { get; set; }
+
+        [StringLength(128)]
+        public string College { get; set; }
+
+        [StringLength(16)]
+        public string OfficePhone { get; set; }
+
+        [StringLength(32)]
+        public string EmergencyContact { get; set; }
+
+        [StringLength(16)]
+        public string EmergencyPhone { get; set; }
+
+        [StringLength(256)]
+        public string EmergencyAddress { get; set; }
+
+        [StringLength(512)]
+        public string Introduction { get; set; }
+
+        public int OrderNo { get; set; }
+
+        public int Status { get; set; }
+
+        [StringLength(256)]
+        public string Remark { get; set; }
+
+        public int AccountType { get; set; }
+
+        public long OrgId { get; set; }
+
+        public long? ManagerUserId { get; set; }
+
+        public long PosId { get; set; }
+
+        [StringLength(32)]
+        public string JobNum { get; set; }
+
+        [StringLength(32)]
+        public string PosLevel { get; set; }
+
+        [StringLength(32)]
+        public string PosTitle { get; set; }
+
+        [StringLength(32)]
+        public string Expertise { get; set; }
+
+        [StringLength(32)]
+        public string OfficeZone { get; set; }
+
+        [StringLength(32)]
+        public string Office { get; set; }
+
+        public DateTime? JoinDate { get; set; }
+
+        [StringLength(256)]
+        public string LastLoginIp { get; set; }
+
+        [StringLength(128)]
+        public string LastLoginAddress { get; set; }
+
+        public DateTime? LastLoginTime { get; set; }
+
+        [StringLength(128)]
+        public string LastLoginDevice { get; set; }
+
+        [StringLength(512)]
+        public string Signature { get; set; }
+
+        public long? TenantId { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysUserExtOrg.cs b/CC/iWareSql/WmsDBModel/SysUserExtOrg.cs
new file mode 100644
index 0000000..a5dff95
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysUserExtOrg.cs
@@ -0,0 +1,29 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysUserExtOrg")]
+    public partial class SysUserExtOrg
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long UserId { get; set; }
+
+        public long OrgId { get; set; }
+
+        public long PosId { get; set; }
+
+        [StringLength(32)]
+        public string JobNum { get; set; }
+
+        [StringLength(32)]
+        public string PosLevel { get; set; }
+
+        public DateTime? JoinDate { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysUserLdap.cs b/CC/iWareSql/WmsDBModel/SysUserLdap.cs
new file mode 100644
index 0000000..0a74361
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysUserLdap.cs
@@ -0,0 +1,45 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysUserLdap")]
+    public partial class SysUserLdap
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long UserId { get; set; }
+
+        [Required]
+        [StringLength(32)]
+        public string Account { get; set; }
+
+        [StringLength(32)]
+        public string EmployeeId { get; set; }
+
+        [StringLength(64)]
+        public string DeptCode { get; set; }
+
+        public long? TenantId { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysUserRole.cs b/CC/iWareSql/WmsDBModel/SysUserRole.cs
new file mode 100644
index 0000000..45fb0d9
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysUserRole.cs
@@ -0,0 +1,19 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysUserRole")]
+    public partial class SysUserRole
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long UserId { get; set; }
+
+        public long RoleId { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysWechatPay.cs b/CC/iWareSql/WmsDBModel/SysWechatPay.cs
new file mode 100644
index 0000000..47f1cc6
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysWechatPay.cs
@@ -0,0 +1,100 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysWechatPay")]
+    public partial class SysWechatPay
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string MerchantId { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string AppId { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string OutTradeNumber { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string TransactionId { get; set; }
+
+        [StringLength(255)]
+        public string TradeType { get; set; }
+
+        [StringLength(255)]
+        public string TradeState { get; set; }
+
+        [StringLength(255)]
+        public string TradeStateDescription { get; set; }
+
+        [StringLength(255)]
+        public string BankType { get; set; }
+
+        public int Total { get; set; }
+
+        public int? PayerTotal { get; set; }
+
+        public DateTimeOffset? SuccessTime { get; set; }
+
+        public DateTimeOffset? ExpireTime { get; set; }
+
+        [StringLength(255)]
+        public string Description { get; set; }
+
+        [StringLength(255)]
+        public string Scene { get; set; }
+
+        [StringLength(255)]
+        public string Attachment { get; set; }
+
+        [StringLength(255)]
+        public string GoodsTag { get; set; }
+
+        [StringLength(255)]
+        public string Settlement { get; set; }
+
+        [StringLength(255)]
+        public string NotifyUrl { get; set; }
+
+        [StringLength(255)]
+        public string Remark { get; set; }
+
+        [StringLength(255)]
+        public string OpenId { get; set; }
+
+        [StringLength(255)]
+        public string SubMerchantId { get; set; }
+
+        [StringLength(255)]
+        public string SubAppId { get; set; }
+
+        [StringLength(255)]
+        public string SubOpenId { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/SysWechatUser.cs b/CC/iWareSql/WmsDBModel/SysWechatUser.cs
new file mode 100644
index 0000000..8b30d8a
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/SysWechatUser.cs
@@ -0,0 +1,77 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    [Table("SysWechatUser")]
+    public partial class SysWechatUser
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long UserId { get; set; }
+
+        public int PlatformType { get; set; }
+
+        [Required]
+        [StringLength(64)]
+        public string OpenId { get; set; }
+
+        [StringLength(256)]
+        public string SessionKey { get; set; }
+
+        [StringLength(64)]
+        public string UnionId { get; set; }
+
+        [StringLength(64)]
+        public string NickName { get; set; }
+
+        [StringLength(256)]
+        public string Avatar { get; set; }
+
+        [StringLength(16)]
+        public string Mobile { get; set; }
+
+        public int? Sex { get; set; }
+
+        [StringLength(64)]
+        public string Language { get; set; }
+
+        [StringLength(64)]
+        public string City { get; set; }
+
+        [StringLength(64)]
+        public string Province { get; set; }
+
+        [StringLength(64)]
+        public string Country { get; set; }
+
+        public string AccessToken { get; set; }
+
+        public string RefreshToken { get; set; }
+
+        public int? ExpiresIn { get; set; }
+
+        [StringLength(64)]
+        public string Scope { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/Test_Student.cs b/CC/iWareSql/WmsDBModel/Test_Student.cs
new file mode 100644
index 0000000..7462955
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/Test_Student.cs
@@ -0,0 +1,67 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class Test_Student
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [StringLength(255)]
+        public string RepCheckType { get; set; }
+
+        public long? TeacherId { get; set; }
+
+        [StringLength(255)]
+        public string TeacherName { get; set; }
+
+        [Required]
+        [StringLength(2000)]
+        public string Name { get; set; }
+
+        [StringLength(2000)]
+        public string AliName { get; set; }
+
+        public int Age { get; set; }
+
+        public int? NianJi { get; set; }
+
+        public long? RectorId { get; set; }
+
+        public decimal HasMoney { get; set; }
+
+        public decimal? ShenJia { get; set; }
+
+        public bool IsInSchool { get; set; }
+
+        public bool? IsWDR { get; set; }
+
+        public int Gender { get; set; }
+
+        public int? OtherGender { get; set; }
+
+        public DateTime BrithDate { get; set; }
+
+        public DateTime? InSchoolDate { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/Test_Teachert.cs b/CC/iWareSql/WmsDBModel/Test_Teachert.cs
new file mode 100644
index 0000000..c08e694
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/Test_Teachert.cs
@@ -0,0 +1,44 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class Test_Teachert
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(2000)]
+        public string Name { get; set; }
+
+        [StringLength(2000)]
+        public string AliName { get; set; }
+
+        [Required]
+        [StringLength(2000)]
+        public string OldName { get; set; }
+
+        [StringLength(2000)]
+        public string Address { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/V_EmptyStation.cs b/CC/iWareSql/WmsDBModel/V_EmptyStation.cs
new file mode 100644
index 0000000..6a043ea
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/V_EmptyStation.cs
@@ -0,0 +1,90 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class V_EmptyStation
+    {
+        [Key]
+        [Column(Order = 0)]
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Key]
+        [Column(Order = 1)]
+        [StringLength(50)]
+        public string PlaceCode { get; set; }
+
+        [Key]
+        [Column(Order = 2)]
+        [StringLength(50)]
+        public string PlaceName { get; set; }
+
+        [Key]
+        [Column(Order = 3)]
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public int PlaceType { get; set; }
+
+        [StringLength(50)]
+        public string PlaceTypeName { get; set; }
+
+        public decimal? Length { get; set; }
+
+        public decimal? Width { get; set; }
+
+        public decimal? Height { get; set; }
+
+        public decimal? Thick { get; set; }
+
+        [Key]
+        [Column(Order = 4)]
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public int PlaceStatus { get; set; }
+
+        [Key]
+        [Column(Order = 5)]
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long AreaId { get; set; }
+
+        [StringLength(50)]
+        public string AreaCode { get; set; }
+
+        [StringLength(50)]
+        public string AreaName { get; set; }
+
+        public int? RowNo { get; set; }
+
+        public int? ColumnNo { get; set; }
+
+        public int? LayerNo { get; set; }
+
+        public int? LaneNo { get; set; }
+
+        public bool? IsVirtually { get; set; }
+
+        [Key]
+        [Column(Order = 6)]
+        public bool IsDisabled { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        [Key]
+        [Column(Order = 7)]
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/WmsDBModel.cs b/CC/iWareSql/WmsDBModel/WmsDBModel.cs
new file mode 100644
index 0000000..95a4c2a
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/WmsDBModel.cs
@@ -0,0 +1,184 @@
+using System;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Data.Entity;
+using System.Linq;
+
+namespace iWareSql.WmsDBModel
+{
+    public partial class WmsDBModel : DbContext
+    {
+        public WmsDBModel()
+            : base("name=WmsDBModel")
+        {
+        }
+
+        public virtual DbSet<ApprovalFlow> ApprovalFlow { get; set; }
+        public virtual DbSet<DingTalkUser> DingTalkUser { get; set; }
+        public virtual DbSet<GoViewPro> GoViewPro { get; set; }
+        public virtual DbSet<GoViewProData> GoViewProData { get; set; }
+        public virtual DbSet<mes_batchOrderUPI_new> mes_batchOrderUPI_new { get; set; }
+        public virtual DbSet<SysCodeGen> SysCodeGen { get; set; }
+        public virtual DbSet<SysCodeGenConfig> SysCodeGenConfig { get; set; }
+        public virtual DbSet<SysConfig> SysConfig { get; set; }
+        public virtual DbSet<SysDictData> SysDictData { get; set; }
+        public virtual DbSet<SysDictType> SysDictType { get; set; }
+        public virtual DbSet<SysFile> SysFile { get; set; }
+        public virtual DbSet<SysJobCluster> SysJobCluster { get; set; }
+        public virtual DbSet<SysJobDetail> SysJobDetail { get; set; }
+        public virtual DbSet<SysJobTrigger> SysJobTrigger { get; set; }
+        public virtual DbSet<SysJobTriggerRecord> SysJobTriggerRecord { get; set; }
+        public virtual DbSet<SysLdap> SysLdap { get; set; }
+        public virtual DbSet<SysLogDiff> SysLogDiff { get; set; }
+        public virtual DbSet<SysLogEx> SysLogEx { get; set; }
+        public virtual DbSet<SysLogOp> SysLogOp { get; set; }
+        public virtual DbSet<SysLogVis> SysLogVis { get; set; }
+        public virtual DbSet<SysMenu> SysMenu { get; set; }
+        public virtual DbSet<SysNotice> SysNotice { get; set; }
+        public virtual DbSet<SysNoticeUser> SysNoticeUser { get; set; }
+        public virtual DbSet<SysOnlineUser> SysOnlineUser { get; set; }
+        public virtual DbSet<SysOpenAccess> SysOpenAccess { get; set; }
+        public virtual DbSet<SysOrg> SysOrg { get; set; }
+        public virtual DbSet<SysPlugin> SysPlugin { get; set; }
+        public virtual DbSet<SysPos> SysPos { get; set; }
+        public virtual DbSet<SysPrint> SysPrint { get; set; }
+        public virtual DbSet<SysRegion> SysRegion { get; set; }
+        public virtual DbSet<SysRole> SysRole { get; set; }
+        public virtual DbSet<SysRoleMenu> SysRoleMenu { get; set; }
+        public virtual DbSet<SysRoleOrg> SysRoleOrg { get; set; }
+        public virtual DbSet<SysTenant> SysTenant { get; set; }
+        public virtual DbSet<SysUser> SysUser { get; set; }
+        public virtual DbSet<SysUserExtOrg> SysUserExtOrg { get; set; }
+        public virtual DbSet<SysUserLdap> SysUserLdap { get; set; }
+        public virtual DbSet<SysUserRole> SysUserRole { get; set; }
+        public virtual DbSet<SysWechatPay> SysWechatPay { get; set; }
+        public virtual DbSet<SysWechatUser> SysWechatUser { get; set; }
+        public virtual DbSet<test_place> test_place { get; set; }
+        public virtual DbSet<Test_Student> Test_Student { get; set; }
+        public virtual DbSet<Test_Teachert> Test_Teachert { get; set; }
+        public virtual DbSet<wms_adapter_categories> wms_adapter_categories { get; set; }
+        public virtual DbSet<wms_adapter_management> wms_adapter_management { get; set; }
+        public virtual DbSet<wms_adapter_record> wms_adapter_record { get; set; }
+        public virtual DbSet<wms_base_area> wms_base_area { get; set; }
+        public virtual DbSet<wms_base_factory> wms_base_factory { get; set; }
+        public virtual DbSet<wms_base_material> wms_base_material { get; set; }
+        public virtual DbSet<wms_base_material_type> wms_base_material_type { get; set; }
+        public virtual DbSet<wms_base_place> wms_base_place { get; set; }
+        public virtual DbSet<wms_base_warehouse> wms_base_warehouse { get; set; }
+        public virtual DbSet<wms_config_no_rule> wms_config_no_rule { get; set; }
+        public virtual DbSet<wms_config_print> wms_config_print { get; set; }
+        public virtual DbSet<wms_config_serial_rule> wms_config_serial_rule { get; set; }
+        public virtual DbSet<wms_config_serial_sn> wms_config_serial_sn { get; set; }
+        public virtual DbSet<wms_config_sncode_rule> wms_config_sncode_rule { get; set; }
+        public virtual DbSet<wms_log_action> wms_log_action { get; set; }
+        public virtual DbSet<wms_rbline_task> wms_rbline_task { get; set; }
+        public virtual DbSet<wms_record_print> wms_record_print { get; set; }
+        public virtual DbSet<wms_record_trans> wms_record_trans { get; set; }
+        public virtual DbSet<wms_stock_quan> wms_stock_quan { get; set; }
+        public virtual DbSet<wms_sys_help_doc> wms_sys_help_doc { get; set; }
+        public virtual DbSet<wms_sys_pda_menu> wms_sys_pda_menu { get; set; }
+        public virtual DbSet<wms_sys_pda_role_menu> wms_sys_pda_role_menu { get; set; }
+        public virtual DbSet<wms_task> wms_task { get; set; }
+        public virtual DbSet<zero_database_info> zero_database_info { get; set; }
+        public virtual DbSet<zero_entity_column_info> zero_entity_column_info { get; set; }
+        public virtual DbSet<zero_entity_info> zero_entity_info { get; set; }
+        public virtual DbSet<zero_interface_category> zero_interface_category { get; set; }
+        public virtual DbSet<zero_interface_list> zero_interface_list { get; set; }
+        public virtual DbSet<zero_user_info> zero_user_info { get; set; }
+        public virtual DbSet<V_EmptyStation> V_EmptyStation { get; set; }
+
+        protected override void OnModelCreating(DbModelBuilder modelBuilder)
+        {
+            modelBuilder.Entity<test_place>()
+                .Property(e => e.Length)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<test_place>()
+                .Property(e => e.Width)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<test_place>()
+                .Property(e => e.Height)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<test_place>()
+                .Property(e => e.MaxWeight)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<Test_Student>()
+                .Property(e => e.HasMoney)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<Test_Student>()
+                .Property(e => e.ShenJia)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<wms_base_material>()
+                .Property(e => e.SNP)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<wms_base_material>()
+                .Property(e => e.TranslateRate)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<wms_base_place>()
+                .Property(e => e.Length)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<wms_base_place>()
+                .Property(e => e.Width)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<wms_base_place>()
+                .Property(e => e.Height)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<wms_base_place>()
+                .Property(e => e.Thick)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<wms_base_warehouse>()
+                .Property(e => e.Length)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<wms_base_warehouse>()
+                .Property(e => e.Width)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<wms_base_warehouse>()
+                .Property(e => e.Height)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<wms_record_print>()
+                .Property(e => e.Quantity)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<wms_record_trans>()
+                .Property(e => e.SourceQuantity)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<wms_record_trans>()
+                .Property(e => e.ToQuantity)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<wms_record_trans>()
+                .Property(e => e.ChangeQuantity)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<V_EmptyStation>()
+                .Property(e => e.Length)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<V_EmptyStation>()
+                .Property(e => e.Width)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<V_EmptyStation>()
+                .Property(e => e.Height)
+                .HasPrecision(10, 3);
+
+            modelBuilder.Entity<V_EmptyStation>()
+                .Property(e => e.Thick)
+                .HasPrecision(10, 3);
+        }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/mes_batchOrderUPI_new.cs b/CC/iWareSql/WmsDBModel/mes_batchOrderUPI_new.cs
new file mode 100644
index 0000000..190dd61
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/mes_batchOrderUPI_new.cs
@@ -0,0 +1,89 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class mes_batchOrderUPI_new
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public int? AreaCode { get; set; }
+
+        public int UpiStatus { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string PlanNo { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string OrderId { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string UPI { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string DetailName { get; set; }
+
+        public double Length { get; set; }
+
+        public double Width { get; set; }
+
+        public double Thk { get; set; }
+
+        [StringLength(50)]
+        public string Matgrid { get; set; }
+
+        public int? IsEB { get; set; }
+
+        public int? DRNum { get; set; }
+
+        public int? IsPA { get; set; }
+
+        public int? MaterialIndeX { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string PackageCode { get; set; }
+
+        public double? MachineXCenter { get; set; }
+
+        public double? MachineYCenter { get; set; }
+
+        public double? MachineZCenter { get; set; }
+
+        public int? Sequence { get; set; }
+
+        public int? Shelf { get; set; }
+
+        public double? Rotation { get; set; }
+
+        public double? Info1 { get; set; }
+
+        public double? Info2 { get; set; }
+
+        public double? Info3 { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/test_place.cs b/CC/iWareSql/WmsDBModel/test_place.cs
new file mode 100644
index 0000000..c400a95
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/test_place.cs
@@ -0,0 +1,103 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class test_place
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string PlaceCode { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string PlaceName { get; set; }
+
+        [StringLength(50)]
+        public string PlaceAlias { get; set; }
+
+        public int PlaceType { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string PlaceTypeName { get; set; }
+
+        [StringLength(50)]
+        public string StockUnit { get; set; }
+
+        public int PlaceStatus { get; set; }
+
+        public bool? IsActivateWCS { get; set; }
+
+        [StringLength(255)]
+        public string Environment { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string AreaCode { get; set; }
+
+        public long AreaId { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string AreaName { get; set; }
+
+        [StringLength(255)]
+        public string VerificationCode { get; set; }
+
+        public int RowNo { get; set; }
+
+        public int ColumnNo { get; set; }
+
+        public int LayerNo { get; set; }
+
+        public int LaneNo { get; set; }
+
+        [StringLength(255)]
+        public string Xzb { get; set; }
+
+        [StringLength(255)]
+        public string Yzb { get; set; }
+
+        [StringLength(255)]
+        public string Zzb { get; set; }
+
+        public decimal Length { get; set; }
+
+        public decimal Width { get; set; }
+
+        public decimal Height { get; set; }
+
+        public decimal MaxWeight { get; set; }
+
+        public int? InSequence { get; set; }
+
+        public int? OutSequence { get; set; }
+
+        public bool? IsVirtually { get; set; }
+
+        public bool IsDisabled { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_adapter_categories.cs b/CC/iWareSql/WmsDBModel/wms_adapter_categories.cs
new file mode 100644
index 0000000..6a1f9ff
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_adapter_categories.cs
@@ -0,0 +1,36 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_adapter_categories
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string CategoryName { get; set; }
+
+        public int AdapterNumber { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_adapter_management.cs b/CC/iWareSql/WmsDBModel/wms_adapter_management.cs
new file mode 100644
index 0000000..11ae5e3
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_adapter_management.cs
@@ -0,0 +1,60 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_adapter_management
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long AdapterCategoryId { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string CategoryName { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string AdapterName { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string AdapterMethodName { get; set; }
+
+        public int AdapterMode { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string AdapterHost { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string AdapterPort { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string AdapterURL { get; set; }
+
+        public int AdapterRequestMethod { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_adapter_record.cs b/CC/iWareSql/WmsDBModel/wms_adapter_record.cs
new file mode 100644
index 0000000..38485fd
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_adapter_record.cs
@@ -0,0 +1,80 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_adapter_record
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long AdapterCategoryId { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string CategoryName { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string AdapterName { get; set; }
+
+        public long AdapterId { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string AdapterMethodName { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string RequestSoure { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string AdapterSID { get; set; }
+
+        [StringLength(255)]
+        public string KeyCode { get; set; }
+
+        public DateTime? BeginTime { get; set; }
+
+        public DateTime? EndingTime { get; set; }
+
+        public int? TimeDifference { get; set; }
+
+        public int DealWithStatus { get; set; }
+
+        [Required]
+        public string ErrMessage { get; set; }
+
+        [Required]
+        public string AdapterInput { get; set; }
+
+        [Required]
+        public string AdapterReturnMassage { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string OrderNo { get; set; }
+
+        public int? PushCount { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_base_area.cs b/CC/iWareSql/WmsDBModel/wms_base_area.cs
new file mode 100644
index 0000000..46d97b8
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_base_area.cs
@@ -0,0 +1,68 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_base_area
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long WarehouseId { get; set; }
+
+        [StringLength(50)]
+        public string WarehouseCode { get; set; }
+
+        [StringLength(50)]
+        public string WarehouseName { get; set; }
+
+        public int AreaType { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string AreaCode { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string AreaName { get; set; }
+
+        [StringLength(255)]
+        public string AreaDesc { get; set; }
+
+        [StringLength(255)]
+        public string ErpCode { get; set; }
+
+        public bool? IsBarcodeLevelControl { get; set; }
+
+        public bool? IsFIFO { get; set; }
+
+        public bool? IsPartLevelControl { get; set; }
+
+        public bool? IsAllowConfusion { get; set; }
+
+        public bool? IsAllowNegativeInventory { get; set; }
+
+        public bool? IsVirtually { get; set; }
+
+        public bool IsDisabled { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_base_factory.cs b/CC/iWareSql/WmsDBModel/wms_base_factory.cs
new file mode 100644
index 0000000..6c68a82
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_base_factory.cs
@@ -0,0 +1,43 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_base_factory
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string FactoryCode { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string FactoryName { get; set; }
+
+        [StringLength(255)]
+        public string FactoryAddress { get; set; }
+
+        public bool IsDisabled { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_base_material.cs b/CC/iWareSql/WmsDBModel/wms_base_material.cs
new file mode 100644
index 0000000..1a19d88
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_base_material.cs
@@ -0,0 +1,102 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_base_material
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string MaterialName { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string MaterialCode { get; set; }
+
+        [StringLength(255)]
+        public string ErpCode { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string MaterialTypeName { get; set; }
+
+        [StringLength(255)]
+        public string MaterialTypeDescr { get; set; }
+
+        [StringLength(50)]
+        public string MaterialTypeCode { get; set; }
+
+        public long MaterialType { get; set; }
+
+        [StringLength(50)]
+        public string MaterialGroup { get; set; }
+
+        [StringLength(50)]
+        public string ABCClassName { get; set; }
+
+        public int? ABCClass { get; set; }
+
+        [StringLength(255)]
+        public string MaterialSpec { get; set; }
+
+        [StringLength(50)]
+        public string InPlaceCode { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string MaterialUnit { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string POUnit { get; set; }
+
+        [StringLength(50)]
+        public string Color { get; set; }
+
+        [StringLength(50)]
+        public string Weight { get; set; }
+
+        public decimal? SNP { get; set; }
+
+        public decimal? TranslateRate { get; set; }
+
+        public long? BatchRuleId { get; set; }
+
+        public long? ControlRuleId { get; set; }
+
+        [StringLength(255)]
+        public string BatchRuleCode { get; set; }
+
+        [StringLength(255)]
+        public string ControlRuleCode { get; set; }
+
+        public bool IsCheck { get; set; }
+
+        public bool IsDisabled { get; set; }
+
+        [StringLength(255)]
+        public string MaterialDesc { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_base_material_type.cs b/CC/iWareSql/WmsDBModel/wms_base_material_type.cs
new file mode 100644
index 0000000..796c83e
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_base_material_type.cs
@@ -0,0 +1,43 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_base_material_type
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string MaterialTypeCode { get; set; }
+
+        [StringLength(255)]
+        public string MaterialTypeDescr { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string MaterialTypeName { get; set; }
+
+        public bool IsDisabled { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_base_place.cs b/CC/iWareSql/WmsDBModel/wms_base_place.cs
new file mode 100644
index 0000000..f9878aa
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_base_place.cs
@@ -0,0 +1,73 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_base_place
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string PlaceCode { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string PlaceName { get; set; }
+
+        public int PlaceType { get; set; }
+
+        [StringLength(50)]
+        public string PlaceTypeName { get; set; }
+
+        public decimal? Length { get; set; }
+
+        public decimal? Width { get; set; }
+
+        public decimal? Height { get; set; }
+
+        public decimal? Thick { get; set; }
+
+        public int PlaceStatus { get; set; }
+
+        public long AreaId { get; set; }
+
+        [StringLength(50)]
+        public string AreaCode { get; set; }
+
+        [StringLength(50)]
+        public string AreaName { get; set; }
+
+        public int? RowNo { get; set; }
+
+        public int? ColumnNo { get; set; }
+
+        public int? LayerNo { get; set; }
+
+        public int? LaneNo { get; set; }
+
+        public bool? IsVirtually { get; set; }
+
+        public bool IsDisabled { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_base_warehouse.cs b/CC/iWareSql/WmsDBModel/wms_base_warehouse.cs
new file mode 100644
index 0000000..76d4b64
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_base_warehouse.cs
@@ -0,0 +1,66 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_base_warehouse
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string Code { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string Name { get; set; }
+
+        [StringLength(255)]
+        public string Address { get; set; }
+
+        public long FactoryId { get; set; }
+
+        [StringLength(255)]
+        public string FactoryName { get; set; }
+
+        [StringLength(50)]
+        public string FactoryCode { get; set; }
+
+        public decimal? Length { get; set; }
+
+        public decimal? Width { get; set; }
+
+        public decimal? Height { get; set; }
+
+        [StringLength(255)]
+        public string BaseUnit { get; set; }
+
+        [StringLength(255)]
+        public string Position { get; set; }
+
+        public bool IsDisabled { get; set; }
+
+        [StringLength(255)]
+        public string Remarks { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_config_no_rule.cs b/CC/iWareSql/WmsDBModel/wms_config_no_rule.cs
new file mode 100644
index 0000000..2b7eb98
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_config_no_rule.cs
@@ -0,0 +1,58 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_config_no_rule
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string RuleCode { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string RuleName { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string NoRule { get; set; }
+
+        public int OrderType { get; set; }
+
+        public int? BusinessType { get; set; }
+
+        [StringLength(50)]
+        public string BusinessTypeName { get; set; }
+
+        public int SerialNoStepSize { get; set; }
+
+        public int SerialNoLength { get; set; }
+
+        [StringLength(255)]
+        public string RuleDesc { get; set; }
+
+        public bool IsDisabled { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_config_print.cs b/CC/iWareSql/WmsDBModel/wms_config_print.cs
new file mode 100644
index 0000000..6a70b93
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_config_print.cs
@@ -0,0 +1,51 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_config_print
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public int PrintClassify { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string PrintClassifyName { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string PrintTemplate { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string PrintTemplateAddr { get; set; }
+
+        [Required]
+        [StringLength(500)]
+        public string PrinterList { get; set; }
+
+        [StringLength(255)]
+        public string Remark { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_config_serial_rule.cs b/CC/iWareSql/WmsDBModel/wms_config_serial_rule.cs
new file mode 100644
index 0000000..fdb5e24
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_config_serial_rule.cs
@@ -0,0 +1,65 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_config_serial_rule
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string SerialRuleNo { get; set; }
+
+        public int SerialType { get; set; }
+
+        public int ItemNo { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string SourceType { get; set; }
+
+        public int SerialLength { get; set; }
+
+        public int? SearchStart { get; set; }
+
+        public int? DecimalType { get; set; }
+
+        [StringLength(50)]
+        public string UserDefine { get; set; }
+
+        public int? SerialCodeFlag { get; set; }
+
+        [StringLength(250)]
+        public string Description { get; set; }
+
+        [StringLength(255)]
+        public string SerialTypeNo { get; set; }
+
+        public int? GetData { get; set; }
+
+        public int PadLeft { get; set; }
+
+        public int? IssueStatus { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_config_serial_sn.cs b/CC/iWareSql/WmsDBModel/wms_config_serial_sn.cs
new file mode 100644
index 0000000..2f62cf0
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_config_serial_sn.cs
@@ -0,0 +1,36 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_config_serial_sn
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public DateTime CurrentDate { get; set; }
+
+        public int Sn { get; set; }
+
+        public int SerialType { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_config_sncode_rule.cs b/CC/iWareSql/WmsDBModel/wms_config_sncode_rule.cs
new file mode 100644
index 0000000..fc7ef86
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_config_sncode_rule.cs
@@ -0,0 +1,57 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_config_sncode_rule
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string RuleCode { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string RuleName { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string DataSource { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string SNCodeRule { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string Delimiter { get; set; }
+
+        [StringLength(255)]
+        public string RuleDesc { get; set; }
+
+        public bool IsDisabled { get; set; }
+
+        public int? CreateCodeType { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_log_action.cs b/CC/iWareSql/WmsDBModel/wms_log_action.cs
new file mode 100644
index 0000000..5a0b456
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_log_action.cs
@@ -0,0 +1,53 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_log_action
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string Title { get; set; }
+
+        public long? DbId { get; set; }
+
+        public int? BusinessType { get; set; }
+
+        [StringLength(50)]
+        public string BusinessTypeName { get; set; }
+
+        [StringLength(255)]
+        public string KeyWord1 { get; set; }
+
+        [StringLength(255)]
+        public string KeyWord2 { get; set; }
+
+        [StringLength(255)]
+        public string KeyWord3 { get; set; }
+
+        [StringLength(255)]
+        public string Remarks { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_rbline_task.cs b/CC/iWareSql/WmsDBModel/wms_rbline_task.cs
new file mode 100644
index 0000000..6a2584e
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_rbline_task.cs
@@ -0,0 +1,86 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_rbline_task
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string TaskNo { get; set; }
+
+        [StringLength(50)]
+        public string TaskName { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string UPI { get; set; }
+
+        public double Length { get; set; }
+
+        public double Width { get; set; }
+
+        public double Thk { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string PlanNo { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string OrderId { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string PackageCode { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string PlaceCode { get; set; }
+
+        public int? RbTaskType { get; set; }
+
+        [StringLength(50)]
+        public string RbTaskTypeEnumName { get; set; }
+
+        public int TaskStatus { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string TaskStatusName { get; set; }
+
+        [StringLength(255)]
+        public string TaskDescribe { get; set; }
+
+        [StringLength(255)]
+        public string TaskMsg { get; set; }
+
+        public DateTime? IssueTime { get; set; }
+
+        public DateTime? FinishedTime { get; set; }
+
+        public bool IsFlagFinish { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_record_print.cs b/CC/iWareSql/WmsDBModel/wms_record_print.cs
new file mode 100644
index 0000000..6558049
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_record_print.cs
@@ -0,0 +1,108 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_record_print
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public int PrintType { get; set; }
+
+        public int PrintSource { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string SNCode { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string MaterialCode { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string MaterialName { get; set; }
+
+        [StringLength(50)]
+        public string SupplierCode { get; set; }
+
+        [StringLength(50)]
+        public string SupplierName { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string MaterialUnit { get; set; }
+
+        [StringLength(50)]
+        public string POUnit { get; set; }
+
+        public decimal Quantity { get; set; }
+
+        [StringLength(50)]
+        public string OrderNo { get; set; }
+
+        [StringLength(50)]
+        public string RelationNo { get; set; }
+
+        [StringLength(50)]
+        public string OrderNoLineNumber { get; set; }
+
+        [StringLength(50)]
+        public string RelationNoLineNumber { get; set; }
+
+        [StringLength(50)]
+        public string PlaceCode { get; set; }
+
+        [StringLength(50)]
+        public string PlaceName { get; set; }
+
+        [StringLength(50)]
+        public string ToAreaCode { get; set; }
+
+        [StringLength(50)]
+        public string ToAreaName { get; set; }
+
+        [StringLength(50)]
+        public string ToPlaceCode { get; set; }
+
+        [StringLength(50)]
+        public string ToPlaceName { get; set; }
+
+        [StringLength(50)]
+        public string SourceAreaCode { get; set; }
+
+        [StringLength(50)]
+        public string SourceAreaName { get; set; }
+
+        public int PrintSheetNum { get; set; }
+
+        public int PrintNum { get; set; }
+
+        public int PrintStatus { get; set; }
+
+        public bool IsAllowPrint { get; set; }
+
+        [StringLength(255)]
+        public string Remarks { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_record_trans.cs b/CC/iWareSql/WmsDBModel/wms_record_trans.cs
new file mode 100644
index 0000000..cd8f881
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_record_trans.cs
@@ -0,0 +1,165 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_record_trans
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public int MoveType { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string MoveTypeName { get; set; }
+
+        public int? BusinessType { get; set; }
+
+        [StringLength(50)]
+        public string BusinessTypeName { get; set; }
+
+        public int? RelationOrderType { get; set; }
+
+        [StringLength(50)]
+        public string RelationOrderTypeName { get; set; }
+
+        [StringLength(50)]
+        public string RelationNo { get; set; }
+
+        [StringLength(50)]
+        public string RelationNoLineNumber { get; set; }
+
+        [StringLength(255)]
+        public string Remarks { get; set; }
+
+        [StringLength(50)]
+        public string MaterialCode { get; set; }
+
+        [StringLength(50)]
+        public string MaterialName { get; set; }
+
+        [StringLength(50)]
+        public string MaterialUnit { get; set; }
+
+        public int? SourceStockStatus { get; set; }
+
+        [StringLength(50)]
+        public string SourceStockStatusName { get; set; }
+
+        public int? ToStockStatus { get; set; }
+
+        [StringLength(50)]
+        public string ToStockStatusName { get; set; }
+
+        public int? SourceQCStatus { get; set; }
+
+        [StringLength(50)]
+        public string SourceQCStatusName { get; set; }
+
+        public int? ToQCStatus { get; set; }
+
+        [StringLength(50)]
+        public string ToQCStatusName { get; set; }
+
+        public decimal? SourceQuantity { get; set; }
+
+        public decimal? ToQuantity { get; set; }
+
+        [StringLength(255)]
+        public string SourceSNCode { get; set; }
+
+        [StringLength(255)]
+        public string ToSNCode { get; set; }
+
+        [StringLength(50)]
+        public string SourceAreaCode { get; set; }
+
+        [StringLength(50)]
+        public string SourceAreaName { get; set; }
+
+        [StringLength(50)]
+        public string ToAreaCode { get; set; }
+
+        [StringLength(50)]
+        public string ToAreaName { get; set; }
+
+        [StringLength(50)]
+        public string SourcePlaceCode { get; set; }
+
+        [StringLength(50)]
+        public string SourcePlaceName { get; set; }
+
+        [StringLength(50)]
+        public string ToPlaceCode { get; set; }
+
+        [StringLength(50)]
+        public string ToPlaceName { get; set; }
+
+        [StringLength(50)]
+        public string SourceContainerCode { get; set; }
+
+        [StringLength(50)]
+        public string SourceContainerName { get; set; }
+
+        [StringLength(50)]
+        public string ToContainerCode { get; set; }
+
+        [StringLength(50)]
+        public string ToContainerName { get; set; }
+
+        public int? SourceLockStatus { get; set; }
+
+        public int? ToLockStatus { get; set; }
+
+        [StringLength(255)]
+        public string OperReason { get; set; }
+
+        [StringLength(50)]
+        public string OperUser { get; set; }
+
+        public DateTime? OperTime { get; set; }
+
+        public decimal? ChangeQuantity { get; set; }
+
+        [StringLength(50)]
+        public string ErpOrderNo { get; set; }
+
+        [StringLength(50)]
+        public string ErpCode { get; set; }
+
+        [StringLength(255)]
+        public string ErpVoucher { get; set; }
+
+        [StringLength(50)]
+        public string SupplierBatch { get; set; }
+
+        [StringLength(255)]
+        public string Batch { get; set; }
+
+        [StringLength(50)]
+        public string SupplierCode { get; set; }
+
+        [StringLength(50)]
+        public string SupplierName { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_stock_quan.cs b/CC/iWareSql/WmsDBModel/wms_stock_quan.cs
new file mode 100644
index 0000000..376b313
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_stock_quan.cs
@@ -0,0 +1,89 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_stock_quan
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string PlaceCode { get; set; }
+
+        public DateTime? InTime { get; set; }
+
+        [Required]
+        [StringLength(100)]
+        public string Upi { get; set; }
+
+        [Required]
+        [StringLength(100)]
+        public string DetailName { get; set; }
+
+        [Required]
+        [StringLength(100)]
+        public string PlanNo { get; set; }
+
+        [Required]
+        [StringLength(100)]
+        public string OrderId { get; set; }
+
+        [Required]
+        [StringLength(100)]
+        public string PackageCode { get; set; }
+
+        public double Length { get; set; }
+
+        public double Width { get; set; }
+
+        public double Thk { get; set; }
+
+        public int StockStatus { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string StockStatusName { get; set; }
+
+        [StringLength(255)]
+        public string OperReason { get; set; }
+
+        [StringLength(50)]
+        public string OperUser { get; set; }
+
+        public DateTime? OperTime { get; set; }
+
+        public int LockStatus { get; set; }
+
+        [StringLength(255)]
+        public string LockReason { get; set; }
+
+        [StringLength(50)]
+        public string LockUser { get; set; }
+
+        public DateTime? LockTime { get; set; }
+
+        [StringLength(255)]
+        public string Remarks { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_sys_help_doc.cs b/CC/iWareSql/WmsDBModel/wms_sys_help_doc.cs
new file mode 100644
index 0000000..8ef55e4
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_sys_help_doc.cs
@@ -0,0 +1,36 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_sys_help_doc
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string HelpFlagId { get; set; }
+
+        public string HelpContext { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_sys_pda_menu.cs b/CC/iWareSql/WmsDBModel/wms_sys_pda_menu.cs
new file mode 100644
index 0000000..cf1a558
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_sys_pda_menu.cs
@@ -0,0 +1,48 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_sys_pda_menu
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string Name { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string Code { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string Icon { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string Color { get; set; }
+
+        public int MenuType { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_sys_pda_role_menu.cs b/CC/iWareSql/WmsDBModel/wms_sys_pda_role_menu.cs
new file mode 100644
index 0000000..6ff707f
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_sys_pda_role_menu.cs
@@ -0,0 +1,34 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_sys_pda_role_menu
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        public long RoleId { get; set; }
+
+        public long PdaMenuId { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/wms_task.cs b/CC/iWareSql/WmsDBModel/wms_task.cs
new file mode 100644
index 0000000..9f5f566
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/wms_task.cs
@@ -0,0 +1,94 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class wms_task
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long Id { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string TaskNo { get; set; }
+
+        [StringLength(50)]
+        public string TaskName { get; set; }
+
+        public int? MoveType { get; set; }
+
+        [StringLength(50)]
+        public string MoveTypeName { get; set; }
+
+        public int BusinessType { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string BusinessTypeName { get; set; }
+
+        public int TaskStatus { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string TaskStatusName { get; set; }
+
+        public int TaskPriority { get; set; }
+
+        [StringLength(255)]
+        public string TaskDescribe { get; set; }
+
+        [StringLength(255)]
+        public string TaskMsg { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string OrderNo { get; set; }
+
+        [StringLength(50)]
+        public string RelationNo { get; set; }
+
+        [Required]
+        [StringLength(50)]
+        public string ContainerCode { get; set; }
+
+        [StringLength(50)]
+        public string SourcePlaceCode { get; set; }
+
+        [StringLength(50)]
+        public string ToAreaCode { get; set; }
+
+        [StringLength(50)]
+        public string ToPlaceCode { get; set; }
+
+        public int? Lane { get; set; }
+
+        public int? Row { get; set; }
+
+        public int? DetectionHeight { get; set; }
+
+        public DateTime? IssueTime { get; set; }
+
+        public DateTime? FinishedTime { get; set; }
+
+        public bool IsFlagFinish { get; set; }
+
+        public DateTime? CreateTime { get; set; }
+
+        public DateTime? UpdateTime { get; set; }
+
+        public long? CreateUserId { get; set; }
+
+        [StringLength(64)]
+        public string CreateUserName { get; set; }
+
+        public long? UpdateUserId { get; set; }
+
+        [StringLength(64)]
+        public string UpdateUserName { get; set; }
+
+        public bool IsDelete { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/zero_database_info.cs b/CC/iWareSql/WmsDBModel/zero_database_info.cs
new file mode 100644
index 0000000..0cf337e
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/zero_database_info.cs
@@ -0,0 +1,54 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class zero_database_info
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long id { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string name { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string connection { get; set; }
+
+        public int db_type { get; set; }
+
+        public int sort_id { get; set; }
+
+        public DateTime create_time { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string creator { get; set; }
+
+        public long creator_id { get; set; }
+
+        public DateTime? update_time { get; set; }
+
+        [StringLength(255)]
+        public string modifier { get; set; }
+
+        [StringLength(255)]
+        public string modifier_id { get; set; }
+
+        [StringLength(255)]
+        public string language_key { get; set; }
+
+        public bool is_deleted { get; set; }
+
+        [StringLength(255)]
+        public string easy_description { get; set; }
+
+        public bool is_initialized { get; set; }
+
+        public bool? is_attribute_method { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/zero_entity_column_info.cs b/CC/iWareSql/WmsDBModel/zero_entity_column_info.cs
new file mode 100644
index 0000000..c7dda5e
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/zero_entity_column_info.cs
@@ -0,0 +1,83 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class zero_entity_column_info
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long id { get; set; }
+
+        public long table_id { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string db_column_name { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string property_name { get; set; }
+
+        public int length { get; set; }
+
+        public int decimal_digits { get; set; }
+
+        [StringLength(255)]
+        public string description { get; set; }
+
+        public bool is_identity { get; set; }
+
+        public bool is_primarykey { get; set; }
+
+        public bool is_array { get; set; }
+
+        public bool is_json { get; set; }
+
+        public bool is_nullable { get; set; }
+
+        public int scale { get; set; }
+
+        public bool is_unsigned { get; set; }
+
+        public int property_type { get; set; }
+
+        [StringLength(255)]
+        public string data_type { get; set; }
+
+        [StringLength(200)]
+        public string extended_attribute { get; set; }
+
+        public int sort_id { get; set; }
+
+        public DateTime create_time { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string creator { get; set; }
+
+        public long creator_id { get; set; }
+
+        public DateTime? update_time { get; set; }
+
+        [StringLength(255)]
+        public string modifier { get; set; }
+
+        [StringLength(255)]
+        public string modifier_id { get; set; }
+
+        [StringLength(255)]
+        public string language_key { get; set; }
+
+        public bool is_deleted { get; set; }
+
+        [StringLength(255)]
+        public string easy_description { get; set; }
+
+        public bool is_initialized { get; set; }
+
+        public bool? is_attribute_method { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/zero_entity_info.cs b/CC/iWareSql/WmsDBModel/zero_entity_info.cs
new file mode 100644
index 0000000..201e2f4
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/zero_entity_info.cs
@@ -0,0 +1,59 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class zero_entity_info
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long id { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string class_name { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string db_table_name { get; set; }
+
+        public int? column_count { get; set; }
+
+        public long data_base_id { get; set; }
+
+        [StringLength(255)]
+        public string description { get; set; }
+
+        public int sort_id { get; set; }
+
+        public DateTime create_time { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string creator { get; set; }
+
+        public long creator_id { get; set; }
+
+        public DateTime? update_time { get; set; }
+
+        [StringLength(255)]
+        public string modifier { get; set; }
+
+        [StringLength(255)]
+        public string modifier_id { get; set; }
+
+        [StringLength(255)]
+        public string language_key { get; set; }
+
+        public bool is_deleted { get; set; }
+
+        [StringLength(255)]
+        public string easy_description { get; set; }
+
+        public bool is_initialized { get; set; }
+
+        public bool? is_attribute_method { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/zero_interface_category.cs b/CC/iWareSql/WmsDBModel/zero_interface_category.cs
new file mode 100644
index 0000000..b9aabc6
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/zero_interface_category.cs
@@ -0,0 +1,60 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class zero_interface_category
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long id { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string name { get; set; }
+
+        public long? parent_id { get; set; }
+
+        [StringLength(255)]
+        public string description { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string url { get; set; }
+
+        [StringLength(255)]
+        public string icon { get; set; }
+
+        public int sort_id { get; set; }
+
+        public DateTime create_time { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string creator { get; set; }
+
+        public long creator_id { get; set; }
+
+        public DateTime? update_time { get; set; }
+
+        [StringLength(255)]
+        public string modifier { get; set; }
+
+        [StringLength(255)]
+        public string modifier_id { get; set; }
+
+        [StringLength(255)]
+        public string language_key { get; set; }
+
+        public bool is_deleted { get; set; }
+
+        [StringLength(255)]
+        public string easy_description { get; set; }
+
+        public bool is_initialized { get; set; }
+
+        public bool? is_attribute_method { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/zero_interface_list.cs b/CC/iWareSql/WmsDBModel/zero_interface_list.cs
new file mode 100644
index 0000000..ca4816e
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/zero_interface_list.cs
@@ -0,0 +1,72 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class zero_interface_list
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long id { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string url { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string name { get; set; }
+
+        public long interface_category_id { get; set; }
+
+        public string custom_result_model { get; set; }
+
+        [StringLength(255)]
+        public string description { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string group_name { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string http_method { get; set; }
+
+        [Required]
+        public string data_model { get; set; }
+
+        public long? database_id { get; set; }
+
+        public int sort_id { get; set; }
+
+        public DateTime create_time { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string creator { get; set; }
+
+        public long creator_id { get; set; }
+
+        public DateTime? update_time { get; set; }
+
+        [StringLength(255)]
+        public string modifier { get; set; }
+
+        [StringLength(255)]
+        public string modifier_id { get; set; }
+
+        [StringLength(255)]
+        public string language_key { get; set; }
+
+        public bool is_deleted { get; set; }
+
+        [StringLength(255)]
+        public string easy_description { get; set; }
+
+        public bool is_initialized { get; set; }
+
+        public bool? is_attribute_method { get; set; }
+    }
+}
diff --git a/CC/iWareSql/WmsDBModel/zero_user_info.cs b/CC/iWareSql/WmsDBModel/zero_user_info.cs
new file mode 100644
index 0000000..f2d42f5
--- /dev/null
+++ b/CC/iWareSql/WmsDBModel/zero_user_info.cs
@@ -0,0 +1,54 @@
+namespace iWareSql.WmsDBModel
+{
+    using System;
+    using System.Collections.Generic;
+    using System.ComponentModel.DataAnnotations;
+    using System.ComponentModel.DataAnnotations.Schema;
+    using System.Data.Entity.Spatial;
+
+    public partial class zero_user_info
+    {
+        [DatabaseGenerated(DatabaseGeneratedOption.None)]
+        public long id { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string user_name { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string password { get; set; }
+
+        public bool is_master_admin { get; set; }
+
+        public int sort_id { get; set; }
+
+        public DateTime create_time { get; set; }
+
+        [Required]
+        [StringLength(255)]
+        public string creator { get; set; }
+
+        public long creator_id { get; set; }
+
+        public DateTime? update_time { get; set; }
+
+        [StringLength(255)]
+        public string modifier { get; set; }
+
+        [StringLength(255)]
+        public string modifier_id { get; set; }
+
+        [StringLength(255)]
+        public string language_key { get; set; }
+
+        public bool is_deleted { get; set; }
+
+        [StringLength(255)]
+        public string easy_description { get; set; }
+
+        public bool is_initialized { get; set; }
+
+        public bool? is_attribute_method { get; set; }
+    }
+}
diff --git a/CC/iWareSql/iWareSql.csproj b/CC/iWareSql/iWareSql.csproj
index 3731d09..d062ac5 100644
--- a/CC/iWareSql/iWareSql.csproj
+++ b/CC/iWareSql/iWareSql.csproj
@@ -9,9 +9,10 @@
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <RootNamespace>iWareSql</RootNamespace>
     <AssemblyName>iWareSql</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <Deterministic>true</Deterministic>
+    <TargetFrameworkProfile />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
@@ -54,6 +55,7 @@
     <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="DataAccess\TaskHandler.cs" />
     <Compile Include="DataAccess\AgvHandler.cs" />
     <Compile Include="DataAccess\Base_CodeItemsHandler.cs" />
     <Compile Include="DataAccess\BasicDataSetHandler.cs" />
@@ -64,6 +66,7 @@
     <Compile Include="DataAccess\MesService.cs" />
     <Compile Include="DataAccess\PersonHandlerRecordHandler.cs" />
     <Compile Include="DataAccess\PlanOutTaskHandler.cs" />
+    <Compile Include="DataAccess\StationHandlerV2.cs" />
     <Compile Include="DataAccess\TaskRequestLogHandler.cs" />
     <Compile Include="DataAccess\StoreHandler.cs" />
     <Compile Include="DataAccess\SysExceptionInfoHandler.cs" />
@@ -72,6 +75,7 @@
     <Compile Include="DataAccess\Salver_Station_Handler.cs" />
     <Compile Include="DataAccess\Salver_Material_Handler.cs" />
     <Compile Include="DataAccess\MainTaskHandler.cs" />
+    <Compile Include="DataAccess\TCSCommon.cs" />
     <Compile Include="DataAccess\Wms_EquipmentSituationHandler.cs" />
     <Compile Include="DataAccess\PartTaskHandler.cs" />
     <Compile Include="DataAccess\StationHandler.cs" />
@@ -153,6 +157,80 @@
     <Compile Include="Entity\ViewMode\MatStockCollectView.cs" />
     <Compile Include="Entity\ViewMode\PlaceLocationView.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="WmsDBModel\ApprovalFlow.cs" />
+    <Compile Include="WmsDBModel\DingTalkUser.cs" />
+    <Compile Include="WmsDBModel\GoViewPro.cs" />
+    <Compile Include="WmsDBModel\GoViewProData.cs" />
+    <Compile Include="WmsDBModel\mes_batchOrderUPI_new.cs" />
+    <Compile Include="WmsDBModel\SysCodeGen.cs" />
+    <Compile Include="WmsDBModel\SysCodeGenConfig.cs" />
+    <Compile Include="WmsDBModel\SysConfig.cs" />
+    <Compile Include="WmsDBModel\SysDictData.cs" />
+    <Compile Include="WmsDBModel\SysDictType.cs" />
+    <Compile Include="WmsDBModel\SysFile.cs" />
+    <Compile Include="WmsDBModel\SysJobCluster.cs" />
+    <Compile Include="WmsDBModel\SysJobDetail.cs" />
+    <Compile Include="WmsDBModel\SysJobTrigger.cs" />
+    <Compile Include="WmsDBModel\SysJobTriggerRecord.cs" />
+    <Compile Include="WmsDBModel\SysLdap.cs" />
+    <Compile Include="WmsDBModel\SysLogDiff.cs" />
+    <Compile Include="WmsDBModel\SysLogEx.cs" />
+    <Compile Include="WmsDBModel\SysLogOp.cs" />
+    <Compile Include="WmsDBModel\SysLogVis.cs" />
+    <Compile Include="WmsDBModel\SysMenu.cs" />
+    <Compile Include="WmsDBModel\SysNotice.cs" />
+    <Compile Include="WmsDBModel\SysNoticeUser.cs" />
+    <Compile Include="WmsDBModel\SysOnlineUser.cs" />
+    <Compile Include="WmsDBModel\SysOpenAccess.cs" />
+    <Compile Include="WmsDBModel\SysOrg.cs" />
+    <Compile Include="WmsDBModel\SysPlugin.cs" />
+    <Compile Include="WmsDBModel\SysPos.cs" />
+    <Compile Include="WmsDBModel\SysPrint.cs" />
+    <Compile Include="WmsDBModel\SysRegion.cs" />
+    <Compile Include="WmsDBModel\SysRole.cs" />
+    <Compile Include="WmsDBModel\SysRoleMenu.cs" />
+    <Compile Include="WmsDBModel\SysRoleOrg.cs" />
+    <Compile Include="WmsDBModel\SysTenant.cs" />
+    <Compile Include="WmsDBModel\SysUser.cs" />
+    <Compile Include="WmsDBModel\SysUserExtOrg.cs" />
+    <Compile Include="WmsDBModel\SysUserLdap.cs" />
+    <Compile Include="WmsDBModel\SysUserRole.cs" />
+    <Compile Include="WmsDBModel\SysWechatPay.cs" />
+    <Compile Include="WmsDBModel\SysWechatUser.cs" />
+    <Compile Include="WmsDBModel\test_place.cs" />
+    <Compile Include="WmsDBModel\Test_Student.cs" />
+    <Compile Include="WmsDBModel\Test_Teachert.cs" />
+    <Compile Include="WmsDBModel\V_EmptyStation.cs" />
+    <Compile Include="WmsDBModel\WmsDBModel.cs" />
+    <Compile Include="WmsDBModel\wms_adapter_categories.cs" />
+    <Compile Include="WmsDBModel\wms_adapter_management.cs" />
+    <Compile Include="WmsDBModel\wms_adapter_record.cs" />
+    <Compile Include="WmsDBModel\wms_base_area.cs" />
+    <Compile Include="WmsDBModel\wms_base_factory.cs" />
+    <Compile Include="WmsDBModel\wms_base_material.cs" />
+    <Compile Include="WmsDBModel\wms_base_material_type.cs" />
+    <Compile Include="WmsDBModel\wms_base_place.cs" />
+    <Compile Include="WmsDBModel\wms_base_warehouse.cs" />
+    <Compile Include="WmsDBModel\wms_config_no_rule.cs" />
+    <Compile Include="WmsDBModel\wms_config_print.cs" />
+    <Compile Include="WmsDBModel\wms_config_serial_rule.cs" />
+    <Compile Include="WmsDBModel\wms_config_serial_sn.cs" />
+    <Compile Include="WmsDBModel\wms_config_sncode_rule.cs" />
+    <Compile Include="WmsDBModel\wms_log_action.cs" />
+    <Compile Include="WmsDBModel\wms_rbline_task.cs" />
+    <Compile Include="WmsDBModel\wms_record_print.cs" />
+    <Compile Include="WmsDBModel\wms_record_trans.cs" />
+    <Compile Include="WmsDBModel\wms_stock_quan.cs" />
+    <Compile Include="WmsDBModel\wms_sys_help_doc.cs" />
+    <Compile Include="WmsDBModel\wms_sys_pda_menu.cs" />
+    <Compile Include="WmsDBModel\wms_sys_pda_role_menu.cs" />
+    <Compile Include="WmsDBModel\wms_task.cs" />
+    <Compile Include="WmsDBModel\zero_database_info.cs" />
+    <Compile Include="WmsDBModel\zero_entity_column_info.cs" />
+    <Compile Include="WmsDBModel\zero_entity_info.cs" />
+    <Compile Include="WmsDBModel\zero_interface_category.cs" />
+    <Compile Include="WmsDBModel\zero_interface_list.cs" />
+    <Compile Include="WmsDBModel\zero_user_info.cs" />
   </ItemGroup>
   <ItemGroup>
     <None Include="App.config">
diff --git a/CC/iWareSql/packages.config b/CC/iWareSql/packages.config
index 678389a..87f36bc 100644
--- a/CC/iWareSql/packages.config
+++ b/CC/iWareSql/packages.config
@@ -1,7 +1,5 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <packages>
   <package id="EntityFramework" version="6.2.0" targetFramework="net45" />
-  <package id="EntityFramework" version="6.1.3" targetFramework="net45" />
   <package id="EntityFramework.zh-Hans" version="6.2.0" targetFramework="net45" />
-  <package id="EntityFramework.zh-Hans" version="6.1.3" targetFramework="net45" />
 </packages>
\ No newline at end of file
diff --git a/CC/iWareTestForm/App.config b/CC/iWareTestForm/App.config
index 63ff6d7..0cc7331 100644
--- a/CC/iWareTestForm/App.config
+++ b/CC/iWareTestForm/App.config
@@ -1,9 +1,9 @@
-锘�<?xml version="1.0"?>
+<?xml version="1.0"?>
 <configuration>
   <configSections>
-    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
+    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
     <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
-    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
   </configSections>
   <appSettings>
     <!-- 鏄惁妯℃嫙PLC锛屽彂甯冧竴瀹氭槸 FALSE -->
@@ -18,70 +18,64 @@
   <log4net>
     <!--閿欒鏃ュ織閰嶇疆-->
     <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender" level="ERROR">
-      <param name="File" value="d:\\Log\\Error\\" />
-      <param name="AppendToFile" value="true" />
-      <param name="MaxSizeRollBackups" value="100" />
-      <param name="MaxFileSize" value="10240" />
-      <param name="StaticLogFileName" value="false" />
-      <param name="DatePattern" value="yyyy-MM-dd.LOG" />
-      <param name="RollingStyle" value="Date" />
+      <param name="File" value="d:\\Log\\Error\\"/>
+      <param name="AppendToFile" value="true"/>
+      <param name="MaxSizeRollBackups" value="100"/>
+      <param name="MaxFileSize" value="10240"/>
+      <param name="StaticLogFileName" value="false"/>
+      <param name="DatePattern" value="yyyy-MM-dd.LOG"/>
+      <param name="RollingStyle" value="Date"/>
       <layout type="log4net.Layout.PatternLayout">
-        <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n " />
+        <param name="ConversionPattern" value="%n寮傚父鏃堕棿锛�%d [%t] %n寮傚父绾у埆锛�%-5p %n寮� 甯� 绫伙細%c [%x] %n%m %n "/>
       </layout>
       <filter type="log4net.Filter.LevelRangeFilter">
-        <levelMin value="ERROR" />
-        <levelMax value="ERROR" />
+        <levelMin value="ERROR"/>
+        <levelMax value="ERROR"/>
       </filter>
     </appender>
 
     <!--娑堟伅鏃ュ織閰嶇疆-->
     <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender" level="INFO">
-      <param name="File" value="d:\\Log\\Info\\" />
-      <param name="AppendToFile" value="true" />
-      <param name="MaxSizeRollBackups" value="100" />
-      <param name="MaxFileSize" value="10240" />
-      <param name="StaticLogFileName" value="false" />
-      <param name="DatePattern" value="yyyy-MM-dd.LOG" />
-      <param name="RollingStyle" value="Date" />
+      <param name="File" value="d:\\Log\\Info\\"/>
+      <param name="AppendToFile" value="true"/>
+      <param name="MaxSizeRollBackups" value="100"/>
+      <param name="MaxFileSize" value="10240"/>
+      <param name="StaticLogFileName" value="false"/>
+      <param name="DatePattern" value="yyyy-MM-dd.LOG"/>
+      <param name="RollingStyle" value="Date"/>
       <layout type="log4net.Layout.PatternLayout">
-        <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n " />
+        <param name="ConversionPattern" value="%n娑堟伅鏃堕棿锛�%d [%t] %n娑堟伅绾у埆锛�%-5p %n娑� 鎭� 绫伙細%c [%x] %n%m %n "/>
       </layout>
       <filter type="log4net.Filter.LevelRangeFilter">
-        <levelMin value="INFO" />
-        <levelMax value="INFO" />
+        <levelMin value="INFO"/>
+        <levelMax value="INFO"/>
       </filter>
     </appender>
     <root>
-      <appender-ref ref="InfoAppender" />
-      <appender-ref ref="ErrorAppender" />
+      <appender-ref ref="InfoAppender"/>
+      <appender-ref ref="ErrorAppender"/>
     </root>
     <logger name="logerror">
-      <level value="ALL" />
-      <appender-ref ref="ErrorAppender" />
+      <level value="ALL"/>
+      <appender-ref ref="ErrorAppender"/>
     </logger>
     <logger name="loginfo">
-      <level value="ALL" />
-      <appender-ref ref="InfoAppender" />
+      <level value="ALL"/>
+      <appender-ref ref="InfoAppender"/>
     </logger>
   </log4net>
   <system.serviceModel>
     <bindings>
       <basicHttpBinding>
-        <binding name="MesWebServiceSoap" />
-        <binding name="BasicHttpBinding_ITrussService" />
-        <binding name="BasicHttpBinding_ISrmService" />
+        <binding name="MesWebServiceSoap"/>
+        <binding name="BasicHttpBinding_ITrussService"/>
+        <binding name="BasicHttpBinding_ISrmService"/>
       </basicHttpBinding>
     </bindings>
     <client>
-      <endpoint address="http://192.168.1.29:8733/Design_Time_Addresses/iWareSda.TrussService/TrussService/"
-        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ITrussService"
-        contract="TrussService.ITrussService" name="BasicHttpBinding_ITrussService" />
-      <endpoint address="http://192.168.1.29:9090/MesWebService.asmx"
-        binding="basicHttpBinding" bindingConfiguration="MesWebServiceSoap"
-        contract="MesWebService.MesWebServiceSoap" name="MesWebServiceSoap" />
-      <endpoint address="http://192.168.1.29:8733/Design_Time_Addresses/iWareSda.SrmService/SrmService/"
-        binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISrmService"
-        contract="SrmService.ISrmService" name="BasicHttpBinding_ISrmService" />
+      <endpoint address="http://192.168.1.29:8733/Design_Time_Addresses/iWareSda.TrussService/TrussService/" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ITrussService" contract="TrussService.ITrussService" name="BasicHttpBinding_ITrussService"/>
+      <endpoint address="http://192.168.1.29:9090/MesWebService.asmx" binding="basicHttpBinding" bindingConfiguration="MesWebServiceSoap" contract="MesWebService.MesWebServiceSoap" name="MesWebServiceSoap"/>
+      <endpoint address="http://192.168.1.29:8733/Design_Time_Addresses/iWareSda.SrmService/SrmService/" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISrmService" contract="SrmService.ISrmService" name="BasicHttpBinding_ISrmService"/>
     </client>
   </system.serviceModel>
   <connectionStrings>
@@ -89,16 +83,16 @@
     <!--shaocx鏈湴2017-->
     <!--<add name="DbModel" connectionString="data source=LAPTOP-9337IBI9\MSSQLSERVER2017;initial catalog=XiGangWarehouse;persist security info=True;user id=sa;password=123abc.com;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />-->
     <!--鐜板満-->
-    <add name="DbModel" connectionString="data source=192.168.10.5;initial catalog=XiGangWarehouse;persist security info=True;user id=sa;password=123abc.com;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
+    <add name="DbModel" connectionString="data source=192.168.10.5;initial catalog=XiGangWarehouse;persist security info=True;user id=sa;password=123abc.com;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient"/>
   </connectionStrings>
   <entityFramework>
     <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
       <parameters>
-        <parameter value="mssqllocaldb" />
+        <parameter value="mssqllocaldb"/>
       </parameters>
     </defaultConnectionFactory>
     <providers>
-      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
     </providers>
   </entityFramework>
-</configuration>
\ No newline at end of file
+<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration>
diff --git a/CC/iWareTestForm/Properties/Resources.Designer.cs b/CC/iWareTestForm/Properties/Resources.Designer.cs
index d93f66b..89370c0 100644
--- a/CC/iWareTestForm/Properties/Resources.Designer.cs
+++ b/CC/iWareTestForm/Properties/Resources.Designer.cs
@@ -19,7 +19,7 @@
     // 绫婚�氳繃绫讳技浜� ResGen 鎴� Visual Studio 鐨勫伐鍏疯嚜鍔ㄧ敓鎴愮殑銆�
     // 鑻ヨ娣诲姞鎴栫Щ闄ゆ垚鍛橈紝璇风紪杈� .ResX 鏂囦欢锛岀劧鍚庨噸鏂拌繍琛� ResGen
     // (浠� /str 浣滀负鍛戒护閫夐」)锛屾垨閲嶆柊鐢熸垚 VS 椤圭洰銆�
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
     internal class Resources {
@@ -47,8 +47,8 @@
         }
         
         /// <summary>
-        ///   浣跨敤姝ゅ己绫诲瀷璧勬簮绫伙紝涓烘墍鏈夎祫婧愭煡鎵�
-        ///   閲嶅啓褰撳墠绾跨▼鐨� CurrentUICulture 灞炴�с��
+        ///   閲嶅啓褰撳墠绾跨▼鐨� CurrentUICulture 灞炴�э紝瀵�
+        ///   浣跨敤姝ゅ己绫诲瀷璧勬簮绫荤殑鎵�鏈夎祫婧愭煡鎵炬墽琛岄噸鍐欍��
         /// </summary>
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
         internal static global::System.Globalization.CultureInfo Culture {
diff --git a/CC/iWareTestForm/Properties/Settings.Designer.cs b/CC/iWareTestForm/Properties/Settings.Designer.cs
index a13c98d..53498b5 100644
--- a/CC/iWareTestForm/Properties/Settings.Designer.cs
+++ b/CC/iWareTestForm/Properties/Settings.Designer.cs
@@ -12,7 +12,7 @@
     
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0")]
     internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
diff --git a/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.GetMesMatInfoResponse.datasource b/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.GetMesMatInfoResponse.datasource
index fa5d1a5..53f89cc 100644
--- a/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.GetMesMatInfoResponse.datasource
+++ b/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.GetMesMatInfoResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="GetMesMatInfoResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>XiGang_iWareTestForm.MesWebService.GetMesMatInfoResponse, Service References.MesWebService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>XiGang_iWareTestForm.MesWebService.GetMesMatInfoResponse, Service References.MesWebService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.GetPlaceInfoResponse.datasource b/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.GetPlaceInfoResponse.datasource
index 2265474..78e092f 100644
--- a/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.GetPlaceInfoResponse.datasource
+++ b/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.GetPlaceInfoResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="GetPlaceInfoResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>XiGang_iWareTestForm.MesWebService.GetPlaceInfoResponse, Service References.MesWebService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>XiGang_iWareTestForm.MesWebService.GetPlaceInfoResponse, Service References.MesWebService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SawingConfirmResponse.datasource b/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SawingConfirmResponse.datasource
index da00abf..15ebcf8 100644
--- a/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SawingConfirmResponse.datasource
+++ b/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SawingConfirmResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="SawingConfirmResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>XiGang_iWareTestForm.MesWebService.SawingConfirmResponse, Service References.MesWebService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>XiGang_iWareTestForm.MesWebService.SawingConfirmResponse, Service References.MesWebService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendBatchUPIsResponse.datasource b/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendBatchUPIsResponse.datasource
index 6a0d189..530b859 100644
--- a/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendBatchUPIsResponse.datasource
+++ b/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendBatchUPIsResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="SendBatchUPIsResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>XiGang_iWareTestForm.MesWebService.SendBatchUPIsResponse, Service References.MesWebService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>XiGang_iWareTestForm.MesWebService.SendBatchUPIsResponse, Service References.MesWebService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendInStoreBatchMatsResponse.datasource b/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendInStoreBatchMatsResponse.datasource
index fc1a0f5..5dac7ed 100644
--- a/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendInStoreBatchMatsResponse.datasource
+++ b/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendInStoreBatchMatsResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="SendInStoreBatchMatsResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>XiGang_iWareTestForm.MesWebService.SendInStoreBatchMatsResponse, Service References.MesWebService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>XiGang_iWareTestForm.MesWebService.SendInStoreBatchMatsResponse, Service References.MesWebService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendOutStoreBatchMatsResponse.datasource b/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendOutStoreBatchMatsResponse.datasource
index bcbde99..27851f9 100644
--- a/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendOutStoreBatchMatsResponse.datasource
+++ b/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendOutStoreBatchMatsResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="SendOutStoreBatchMatsResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>XiGang_iWareTestForm.MesWebService.SendOutStoreBatchMatsResponse, Service References.MesWebService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>XiGang_iWareTestForm.MesWebService.SendOutStoreBatchMatsResponse, Service References.MesWebService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendSynchroMatPlaceToMesResponse.datasource b/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendSynchroMatPlaceToMesResponse.datasource
index 81c1982..becc7d2 100644
--- a/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendSynchroMatPlaceToMesResponse.datasource
+++ b/CC/iWareTestForm/Service References/MesWebService/XiGang_iWareTestForm.MesWebService.SendSynchroMatPlaceToMesResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="SendSynchroMatPlaceToMesResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>XiGang_iWareTestForm.MesWebService.SendSynchroMatPlaceToMesResponse, Service References.MesWebService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>XiGang_iWareTestForm.MesWebService.SendSynchroMatPlaceToMesResponse, Service References.MesWebService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.IsAllowSendTaskResponse.datasource b/CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.IsAllowSendTaskResponse.datasource
index 263a4a9..5bc3e6d 100644
--- a/CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.IsAllowSendTaskResponse.datasource
+++ b/CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.IsAllowSendTaskResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="IsAllowSendTaskResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>XiGang_iWareTestForm.SrmService.IsAllowSendTaskResponse, Service References.SrmService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>XiGang_iWareTestForm.SrmService.IsAllowSendTaskResponse, Service References.SrmService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.IsReadyResponse.datasource b/CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.IsReadyResponse.datasource
index 091063b..33520c8 100644
--- a/CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.IsReadyResponse.datasource
+++ b/CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.IsReadyResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="IsReadyResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>XiGang_iWareTestForm.SrmService.IsReadyResponse, Service References.SrmService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>XiGang_iWareTestForm.SrmService.IsReadyResponse, Service References.SrmService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.SendSrmMoveResponse.datasource b/CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.SendSrmMoveResponse.datasource
index 298a453..d93e10f 100644
--- a/CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.SendSrmMoveResponse.datasource
+++ b/CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.SendSrmMoveResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="SendSrmMoveResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>XiGang_iWareTestForm.SrmService.SendSrmMoveResponse, Service References.SrmService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>XiGang_iWareTestForm.SrmService.SendSrmMoveResponse, Service References.SrmService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.SrmEntity.datasource b/CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.SrmEntity.datasource
index 3808db9..74bcddf 100644
--- a/CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.SrmEntity.datasource
+++ b/CC/iWareTestForm/Service References/SrmService/XiGang_iWareTestForm.SrmService.SrmEntity.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="SrmEntity" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>XiGang_iWareTestForm.SrmService.SrmEntity, Service References.SrmService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>XiGang_iWareTestForm.SrmService.SrmEntity, Service References.SrmService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.IsAllowSendTaskResponse.datasource b/CC/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.IsAllowSendTaskResponse.datasource
index 5f2dba1..c925d11 100644
--- a/CC/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.IsAllowSendTaskResponse.datasource
+++ b/CC/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.IsAllowSendTaskResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="IsAllowSendTaskResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>XiGang_iWareTestForm.TrussService.IsAllowSendTaskResponse, Service References.TrussService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>XiGang_iWareTestForm.TrussService.IsAllowSendTaskResponse, Service References.TrussService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.IsReadyResponse.datasource b/CC/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.IsReadyResponse.datasource
index a0e51f9..15fe7be 100644
--- a/CC/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.IsReadyResponse.datasource
+++ b/CC/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.IsReadyResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="IsReadyResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>XiGang_iWareTestForm.TrussService.IsReadyResponse, Service References.TrussService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>XiGang_iWareTestForm.TrussService.IsReadyResponse, Service References.TrussService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.TrussEntity.datasource b/CC/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.TrussEntity.datasource
index 71ce634..913a2e0 100644
--- a/CC/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.TrussEntity.datasource
+++ b/CC/iWareTestForm/Service References/TrussService/XiGang_iWareTestForm.TrussService.TrussEntity.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="TrussEntity" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>XiGang_iWareTestForm.TrussService.TrussEntity, Service References.TrussService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>XiGang_iWareTestForm.TrussService.TrussEntity, Service References.TrussService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git "a/CC/iWareTestForm/\346\265\213\350\257\225\346\250\241\346\213\237\345\231\250.csproj" "b/CC/iWareTestForm/\346\265\213\350\257\225\346\250\241\346\213\237\345\231\250.csproj"
index d70e2a9..02a90aa 100644
--- "a/CC/iWareTestForm/\346\265\213\350\257\225\346\250\241\346\213\237\345\231\250.csproj"
+++ "b/CC/iWareTestForm/\346\265\213\350\257\225\346\250\241\346\213\237\345\231\250.csproj"
@@ -8,7 +8,7 @@
     <OutputType>WinExe</OutputType>
     <RootNamespace>XiGang_iWareTestForm</RootNamespace>
     <AssemblyName>瑗垮矖娴嬭瘯妯℃嫙鍣�</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <PublishUrl>鍙戝竷\</PublishUrl>
     <Install>true</Install>
@@ -25,6 +25,7 @@
     <IsWebBootstrapper>false</IsWebBootstrapper>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
+    <TargetFrameworkProfile />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <PlatformTarget>AnyCPU</PlatformTarget>
diff --git a/CC/iWareUnitTest/App.config b/CC/iWareUnitTest/App.config
index 493930c..8f9dc5f 100644
--- a/CC/iWareUnitTest/App.config
+++ b/CC/iWareUnitTest/App.config
@@ -1,12 +1,12 @@
-锘�<?xml version="1.0" encoding="utf-8" ?>
+<?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <configSections>
     <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
-    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
   </configSections>
   <connectionStrings>
     <!--鏈満-->
-    <add name="DbModel" connectionString="data source=192.168.10.5;initial catalog=XiGangWarehouse;persist security info=True;user id=sa;password=123abc.com;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
+    <add name="DbModel" connectionString="data source=192.168.10.5;initial catalog=XiGangWarehouse;persist security info=True;user id=sa;password=123abc.com;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient"/>
   </connectionStrings>
   <appSettings>
     <!-- 鏄惁妯℃嫙PLC锛屽彂甯冧竴瀹氭槸 FALSE -->
@@ -25,15 +25,15 @@
   <entityFramework>
     <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
       <parameters>
-        <parameter value="mssqllocaldb" />
+        <parameter value="mssqllocaldb"/>
       </parameters>
     </defaultConnectionFactory>
     <providers>
-      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
     </providers>
   </entityFramework>
   <system.serviceModel>
-    <bindings />
-    <client />
+    <bindings/>
+    <client/>
   </system.serviceModel>
-</configuration>
\ No newline at end of file
+<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration>
diff --git a/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.GetMesMatInfoResponse.datasource b/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.GetMesMatInfoResponse.datasource
index f352603..ab2ceff 100644
--- a/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.GetMesMatInfoResponse.datasource
+++ b/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.GetMesMatInfoResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="GetMesMatInfoResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>iWareUnitTest.MesWebService.GetMesMatInfoResponse, Service References.MesWebService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>iWareUnitTest.MesWebService.GetMesMatInfoResponse, Service References.MesWebService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.GetPlaceInfoResponse.datasource b/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.GetPlaceInfoResponse.datasource
index 7c0a124..5280b13 100644
--- a/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.GetPlaceInfoResponse.datasource
+++ b/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.GetPlaceInfoResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="GetPlaceInfoResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>iWareUnitTest.MesWebService.GetPlaceInfoResponse, Service References.MesWebService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>iWareUnitTest.MesWebService.GetPlaceInfoResponse, Service References.MesWebService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SawingConfirmResponse.datasource b/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SawingConfirmResponse.datasource
index a7a6540..59ee3d0 100644
--- a/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SawingConfirmResponse.datasource
+++ b/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SawingConfirmResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="SawingConfirmResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>iWareUnitTest.MesWebService.SawingConfirmResponse, Service References.MesWebService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>iWareUnitTest.MesWebService.SawingConfirmResponse, Service References.MesWebService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendBatchUPIsResponse.datasource b/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendBatchUPIsResponse.datasource
index 2f3bcb2..adedf28 100644
--- a/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendBatchUPIsResponse.datasource
+++ b/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendBatchUPIsResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="SendBatchUPIsResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>iWareUnitTest.MesWebService.SendBatchUPIsResponse, Service References.MesWebService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>iWareUnitTest.MesWebService.SendBatchUPIsResponse, Service References.MesWebService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendInStoreBatchMatsResponse.datasource b/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendInStoreBatchMatsResponse.datasource
index 470d3af..36491a7 100644
--- a/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendInStoreBatchMatsResponse.datasource
+++ b/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendInStoreBatchMatsResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="SendInStoreBatchMatsResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>iWareUnitTest.MesWebService.SendInStoreBatchMatsResponse, Service References.MesWebService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>iWareUnitTest.MesWebService.SendInStoreBatchMatsResponse, Service References.MesWebService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendOutStoreBatchMatsResponse.datasource b/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendOutStoreBatchMatsResponse.datasource
index 5aa0a6c..88284e6 100644
--- a/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendOutStoreBatchMatsResponse.datasource
+++ b/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendOutStoreBatchMatsResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="SendOutStoreBatchMatsResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>iWareUnitTest.MesWebService.SendOutStoreBatchMatsResponse, Service References.MesWebService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>iWareUnitTest.MesWebService.SendOutStoreBatchMatsResponse, Service References.MesWebService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendSynchroMatPlaceToMesResponse.datasource b/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendSynchroMatPlaceToMesResponse.datasource
index 1c27c2f..7e95e93 100644
--- a/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendSynchroMatPlaceToMesResponse.datasource
+++ b/CC/iWareUnitTest/Service References/MesWebService/iWareUnitTest.MesWebService.SendSynchroMatPlaceToMesResponse.datasource
@@ -6,5 +6,5 @@
     cause the file to be unrecognizable by the program.
 -->
 <GenericObjectDataSource DisplayName="SendSynchroMatPlaceToMesResponse" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>iWareUnitTest.MesWebService.SendSynchroMatPlaceToMesResponse, Service References.MesWebService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+   <TypeInfo>iWareUnitTest.MesWebService.SendSynchroMatPlaceToMesResponse, Service References.MesWebService.Reference.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
 </GenericObjectDataSource>
\ No newline at end of file
diff --git a/CC/iWareUnitTest/iWareUnitTest.csproj b/CC/iWareUnitTest/iWareUnitTest.csproj
index ad63c22..fdfef53 100644
--- a/CC/iWareUnitTest/iWareUnitTest.csproj
+++ b/CC/iWareUnitTest/iWareUnitTest.csproj
@@ -8,7 +8,7 @@
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <RootNamespace>iWareUnitTest</RootNamespace>
     <AssemblyName>iWareUnitTest</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
     <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
@@ -16,6 +16,7 @@
     <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
     <IsCodedUITest>False</IsCodedUITest>
     <TestProjectType>UnitTest</TestProjectType>
+    <TargetFrameworkProfile />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
diff --git a/DBScript/01_DDL/01_DDL_TABLE.sql b/DBScript/01_DDL/01_DDL_TABLE.sql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/DBScript/01_DDL/01_DDL_TABLE.sql
diff --git a/DBScript/01_DDL/02_DDL_TABLE_Edit.sql b/DBScript/01_DDL/02_DDL_TABLE_Edit.sql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/DBScript/01_DDL/02_DDL_TABLE_Edit.sql
diff --git a/DBScript/01_DDL/03_DDL_VIEW.sql b/DBScript/01_DDL/03_DDL_VIEW.sql
new file mode 100644
index 0000000..cd0c846
--- /dev/null
+++ b/DBScript/01_DDL/03_DDL_VIEW.sql
@@ -0,0 +1,27 @@
+
+use LA24030_LuLiPackageLine
+GO
+
+ /**
+ **  鏈哄櫒浜虹紦瀛樺簱鐨勭┖闂插簱浣嶆煡璇㈣鍥�
+ **/
+IF EXISTS(SELECT 1 FROM sys.views WHERE name='V_EmptyStation') 
+   DROP VIEW V_EmptyStation 
+GO 
+CREATE VIEW V_EmptyStation
+AS
+
+ SELECT
+
+station.Id, station.PlaceCode, station.PlaceName, station.PlaceType, station.PlaceTypeName, station.[Length], 
+station.Width, station.Height, station.Thick, station.PlaceStatus, station.AreaId, station.AreaCode, station.AreaName, station.RowNo,
+ station.ColumnNo, station.LayerNo, station.LaneNo, station.IsVirtually, station.IsDisabled,
+ station.CreateTime, station.UpdateTime, station.CreateUserId, station.CreateUserName, station.UpdateUserId, station.UpdateUserName, station.IsDelete
+
+FROM dbo.wms_base_place as station
+LEFT JOIN dbo.wms_stock_quan as svs ON station.placeCode=svs.placeCode
+WHERE  station.IsDisabled=0  AND station.IsDelete=0
+AND station.PlaceStatus=1  -- 1琛ㄧず 姝e父
+AND svs.Id IS NULL 
+
+GO
\ No newline at end of file
diff --git a/DBScript/01_DDL/04_DDL_INDEX.sql b/DBScript/01_DDL/04_DDL_INDEX.sql
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/DBScript/01_DDL/04_DDL_INDEX.sql
diff --git a/DBScript/02_DML/01_InitData.sql b/DBScript/02_DML/01_InitData.sql
new file mode 100644
index 0000000..ac2eb94
--- /dev/null
+++ b/DBScript/02_DML/01_InitData.sql
@@ -0,0 +1,28 @@
+
+
+ DELETE Base_BasicDataSet where BasicDataType='1';
+INSERT INTO Base_BasicDataSet( 
+ [BasicDataType],
+ [BasicDataValue],
+ [BasicDataUnit],
+ [OperationRemark],
+ [CreateBy],
+ [CreateTime],
+ [ModifyBy],
+ [ModifyTime]
+)
+VALUES
+	(
+		'1', -- 璋冨害绯荤粺鍚姩鐩稿叧
+		'000000',  -- 鏈夊�煎氨浠h〃鏈夋満鍣ㄥ惎鍔ㄤ簡璋冨害绯荤粺 锛�000000鏄粯璁ょ殑绌哄�硷級
+		'',
+		'璋冨害绯荤粺鍚姩鐩稿叧',
+		'sys',
+		getdate(),
+		'sys',
+		getdate()
+	);
+	
+	
+	
+	
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/.env b/LA24030_LuLiPackageLine_Web/.env
new file mode 100644
index 0000000..df68473
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/.env
@@ -0,0 +1,14 @@
+# port 绔彛鍙�
+VITE_PORT = 8888
+
+# open 杩愯 npm run dev 鏃惰嚜鍔ㄦ墦寮�娴忚鍣�
+VITE_OPEN = false
+
+# 鎵撳寘鏄惁寮�鍚� cdn锛堟簮鏂囦欢 utils/build.ts锛夛紝鍙嚜琛屼慨鏀�
+VITE_OPEN_CDN = false
+
+# public path 閰嶇疆绾夸笂鐜璺緞锛堟墦鍖咃級銆佹湰鍦伴�氳繃 http-server 璁块棶鏃讹紝璇风疆绌哄嵆鍙�
+VITE_PUBLIC_PATH =
+
+# SM鍏挜
+VITE_SM_PUBLIC_KEY = "0484C7466D950E120E5ECE5DD85D0C90EAA85081A3A2BD7C57AE6DC822EFCCBD66620C67B0103FC8DD280E36C3B282977B722AAEC3C56518EDCEBAFB72C5A05312"
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/.env.development b/LA24030_LuLiPackageLine_Web/.env.development
new file mode 100644
index 0000000..51c6c0f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/.env.development
@@ -0,0 +1,5 @@
+# 鏈湴鐜
+ENV = development
+
+# 鏈湴鐜鎺ュ彛鍦板潃
+VITE_API_URL = http://localhost:5005
diff --git a/LA24030_LuLiPackageLine_Web/.env.production b/LA24030_LuLiPackageLine_Web/.env.production
new file mode 100644
index 0000000..61f6630
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/.env.production
@@ -0,0 +1,6 @@
+# 绾夸笂鐜
+ENV = production
+
+# 绾夸笂鐜鎺ュ彛鍦板潃
+#VITE_API_URL =http://10.10.14.91:5005
+VITE_API_URL =http://10.10.14.79:5556
diff --git a/LA24030_LuLiPackageLine_Web/.eslintignore b/LA24030_LuLiPackageLine_Web/.eslintignore
new file mode 100644
index 0000000..cfc877d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/.eslintignore
@@ -0,0 +1,18 @@
+
+*.sh
+node_modules
+lib
+*.md
+*.scss
+*.woff
+*.ttf
+.vscode
+.idea
+dist
+mock
+public
+bin
+build
+config
+index.html
+src/assets
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/.eslintrc.js b/LA24030_LuLiPackageLine_Web/.eslintrc.js
new file mode 100644
index 0000000..672463c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/.eslintrc.js
@@ -0,0 +1,76 @@
+module.exports = {
+	root: true,
+	env: {
+		browser: true,
+		es2021: true,
+		node: true,
+	},
+	parser: 'vue-eslint-parser',
+	parserOptions: {
+		ecmaVersion: 12,
+		parser: '@typescript-eslint/parser',
+		sourceType: 'module',
+	},
+	extends: ['plugin:vue/vue3-essential', 'plugin:vue/essential', 'eslint:recommended'],
+	plugins: ['vue', '@typescript-eslint'],
+	overrides: [
+		{
+			files: ['*.ts', '*.tsx', '*.vue'],
+			rules: {
+				'no-undef': 'off',
+			},
+		},
+	],
+	rules: {
+		// http://eslint.cn/docs/rules/
+		// https://eslint.vuejs.org/rules/
+		// https://typescript-eslint.io/rules/no-unused-vars/
+		'@typescript-eslint/ban-ts-ignore': 'off',
+		'@typescript-eslint/explicit-function-return-type': 'off',
+		'@typescript-eslint/no-explicit-any': 'off',
+		'@typescript-eslint/no-var-requires': 'off',
+		'@typescript-eslint/no-empty-function': 'off',
+		'@typescript-eslint/no-use-before-define': 'off',
+		'@typescript-eslint/ban-ts-comment': 'off',
+		'@typescript-eslint/ban-types': 'off',
+		'@typescript-eslint/no-non-null-assertion': 'off',
+		'@typescript-eslint/explicit-module-boundary-types': 'off',
+		'@typescript-eslint/no-redeclare': 'error',
+		'@typescript-eslint/no-non-null-asserted-optional-chain': 'off',
+		'@typescript-eslint/no-unused-vars': [2],
+		'vue/custom-event-name-casing': 'off',
+		'vue/attributes-order': 'off',
+		'vue/one-component-per-file': 'off',
+		'vue/html-closing-bracket-newline': 'off',
+		'vue/max-attributes-per-line': 'off',
+		'vue/multiline-html-element-content-newline': 'off',
+		'vue/singleline-html-element-content-newline': 'off',
+		'vue/attribute-hyphenation': 'off',
+		'vue/html-self-closing': 'off',
+		'vue/no-multiple-template-root': 'off',
+		'vue/require-default-prop': 'off',
+		'vue/no-v-model-argument': 'off',
+		'vue/no-arrow-functions-in-watch': 'off',
+		'vue/no-template-key': 'off',
+		'vue/no-v-html': 'off',
+		'vue/comment-directive': 'off',
+		'vue/no-parsing-error': 'off',
+		'vue/no-deprecated-v-on-native-modifier': 'off',
+		'vue/multi-word-component-names': 'off',
+		'no-useless-escape': 'off',
+		'no-sparse-arrays': 'off',
+		'no-prototype-builtins': 'off',
+		'no-constant-condition': 'off',
+		'no-use-before-define': 'off',
+		'no-restricted-globals': 'off',
+		'no-restricted-syntax': 'off',
+		'generator-star-spacing': 'off',
+		'no-unreachable': 'off',
+		'no-multiple-template-root': 'off',
+		'no-unused-vars': 'error',
+		'no-v-model-argument': 'off',
+		'no-case-declarations': 'off',
+		'no-console': 'off',
+		'no-redeclare': 'off',
+	},
+};
diff --git a/LA24030_LuLiPackageLine_Web/.gitignore b/LA24030_LuLiPackageLine_Web/.gitignore
new file mode 100644
index 0000000..ed69ffb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/.gitignore
@@ -0,0 +1,26 @@
+.DS_Store
+node_modules
+/dist
+
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
+
+pnpm-lock.yaml
+package-lock.json
diff --git a/LA24030_LuLiPackageLine_Web/.prettierrc.js b/LA24030_LuLiPackageLine_Web/.prettierrc.js
new file mode 100644
index 0000000..8bda89a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/.prettierrc.js
@@ -0,0 +1,39 @@
+module.exports = {
+	// 涓�琛屾渶澶氬灏戜釜瀛楃
+	printWidth: 200,
+	// 鎸囧畾姣忎釜缂╄繘绾у埆鐨勭┖鏍兼暟
+	tabWidth: 2,
+	// 浣跨敤鍒惰〃绗﹁�屼笉鏄┖鏍肩缉杩涜
+	useTabs: true,
+	// 鍦ㄨ鍙ユ湯灏炬墦鍗板垎鍙�
+	semi: true,
+	// 浣跨敤鍗曞紩鍙疯�屼笉鏄弻寮曞彿
+	singleQuote: true,
+	// 鏇存敼寮曠敤瀵硅薄灞炴�х殑鏃堕棿 鍙�夊��"<as-needed|consistent|preserve>"
+	quoteProps: 'as-needed',
+	// 鍦↗SX涓娇鐢ㄥ崟寮曞彿鑰屼笉鏄弻寮曞彿
+	jsxSingleQuote: false,
+	// 澶氳鏃跺敖鍙兘鎵撳嵃灏鹃殢閫楀彿銆傦紙渚嬪锛屽崟琛屾暟缁勬案杩滀笉浼氬嚭鐜伴�楀彿缁撳熬銆傦級 鍙�夊��"<none|es5|all>"锛岄粯璁one
+	trailingComma: 'es5',
+	// 鍦ㄥ璞℃枃瀛椾腑鐨勬嫭鍙蜂箣闂存墦鍗扮┖鏍�
+	bracketSpacing: true,
+	// jsx 鏍囩鐨勫弽灏栨嫭鍙烽渶瑕佹崲琛�
+	jsxBracketSameLine: false,
+	// 鍦ㄥ崟鐙殑绠ご鍑芥暟鍙傛暟鍛ㄥ洿鍖呮嫭鎷彿 always锛�(x) => x \ avoid锛歺 => x
+	arrowParens: 'always',
+	// 杩欎袱涓�夐」鍙敤浜庢牸寮忓寲浠ョ粰瀹氬瓧绗﹀亸绉婚噺锛堝垎鍒寘鎷拰涓嶅寘鎷級寮�濮嬪拰缁撴潫鐨勪唬鐮�
+	rangeStart: 0,
+	rangeEnd: Infinity,
+	// 鎸囧畾瑕佷娇鐢ㄧ殑瑙f瀽鍣紝涓嶉渶瑕佸啓鏂囦欢寮�澶寸殑 @prettier
+	requirePragma: false,
+	// 涓嶉渶瑕佽嚜鍔ㄥ湪鏂囦欢寮�澶存彃鍏� @prettier
+	insertPragma: false,
+	// 浣跨敤榛樿鐨勬姌琛屾爣鍑� always\never\preserve
+	proseWrap: 'preserve',
+	// 鎸囧畾HTML鏂囦欢鐨勫叏灞�绌烘牸鏁忔劅搴� css\strict\ignore
+	htmlWhitespaceSensitivity: 'css',
+	// Vue鏂囦欢鑴氭湰鍜屾牱寮忔爣绛剧缉杩�
+	vueIndentScriptAndStyle: false,
+	// 鎹㈣绗︿娇鐢� lf 缁撳熬鏄� 鍙�夊��"<auto|lf|crlf|cr>"
+	endOfLine: 'lf',
+};
diff --git a/LA24030_LuLiPackageLine_Web/CHANGELOG.md b/LA24030_LuLiPackageLine_Web/CHANGELOG.md
new file mode 100644
index 0000000..1941b36
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/CHANGELOG.md
@@ -0,0 +1,490 @@
+# <a href="https://gitee.com/lyt-top/vue-next-admin" target="_blank">vue-next-admin 鏇存柊鏃ュ織</a>
+
+馃帀馃帀馃敟 `vue-next-admin` 鍩轰簬 vue3.x 銆乀ypescript銆乿ite銆丒lement plus 绛夛紝閫傞厤鎵嬫満銆佸钩鏉裤�乸c 鐨勫悗鍙板紑婧愬厤璐规ā鏉垮簱锛坴ue2.x 璇峰垏鎹� vue-prev-admin 鍒嗘敮锛�
+
+## 2.4.33
+
+`2023.04.11`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃帀 鏂板 `/make/tableDemo` 涓坊鍔犳墦鍗般�佸浘鐗囬瑙堝姛鑳�
+- 馃悶 淇 鑿滃崟鏀惰捣鏃讹紙isCollapse锛夛紝鍥炬爣涓嶅眳涓棶棰�
+- 馃悶 淇 婕旂ず `鏉冮檺绠$悊 -> 鍓嶇鎺у埗 -> 椤甸潰鏉冮檺` 鍒囨崲涓嶇敓鏁堬紝鎰熻阿缇ゅ弸@鍌蹭笘鐩涘攼
+- 馃悶 淇 `"typescript": "5.x"` 涓� `tsconfig.json`锛宍compilerOptions.suppressImplicitAnyIndexErrors` 寮冪敤闂 [TypeScript/issues/51909](https://github.com/microsoft/TypeScript/issues/51909)銆乕suppressImplicitAnyIndexErrors](https://www.typescriptlang.org/tsconfig#suppressImplicitAnyIndexErrors)
+- 馃帹 鍚堝苟 [!47cdn 鎵撳寘鏀寔 pnpm锛屾秷闄ゆ棤 external 鐨勬姤閿橾(https://gitee.com/lyt-top/vue-next-admin/commit/8de54a844bb54468d0bdccca158bf9bcb449f270)锛屾劅璋@yujiacheng](https://gitee.com/YujiaCheng1996)
+- 馃幆 浼樺寲 `layout/navBars/breadcrumb` 鏂囦欢澶瑰悕绉版敼鎴� `layout/navBars/topBar` 鏇存槗鐞嗚В锛坄鍙叏灞�鏇挎崲`锛夛紝鎰熻阿缇ゅ弸@鍌蹭笘鐩涘攼
+- 馃幆 浼樺寲 `layout/navBars/topBar/user.vue` 缁勪欢锛宍UserNews` 鐐瑰嚮娑堟伅鍥炬爣瑙﹀彂鑼冨洿锛屾敼鐢� [element plus Popover 姘旀场鍗$墖 铏氭嫙瑙﹀彂鏂瑰紡](https://element-plus.org/zh-CN/component/popover.html#%E8%99%9A%E6%8B%9F%E8%A7%A6%E5%8F%91)锛岄槻姝㈢偣鍑绘秷鎭�氱煡鑳屾櫙鑹叉椂涓嶈Е鍙� `Popover` 寮瑰嚭妗�
+
+## 2.4.32
+
+馃挃馃挃馃挃 鍥剧墖涓嶆樉绀洪棶棰橈紙README.md銆佹紨绀轰腑浣跨敤鐨勫浘鐗囷紝[vue-next-admin-images](https://gitee.com/lyt-top/vue-next-admin-images)锛夛紝閫氳繃缃戠珯 [https://www.hd-r.cn/](https://www.hd-r.cn/) 杞湪绾块摼鎺ワ紝濡傝嫢渚垫潈璇疯仈绯讳綔鑰� qq锛�1105290566
+
+`2023.03.26`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃悶 淇 [鍏充簬寮�鍙戠幆澧� sourceMap 鐨勯棶棰榏(https://gitee.com/lyt-top/vue-next-admin/issues/I6DNDQ)锛屾劅璋@XiaoSongJiang](https://gitee.com/XiaoSongJiang)
+- 馃悶 淇 鎵撳寘鎻愮ず `[@vue/compiler-sfc] ::v-deep usage as a combinator has been deprecated. Use :deep(<inner-selector>) instead.`锛屼笉鑳戒娇鐢� `:deep {}`锛岃�屽簲浣跨敤 `:deep() {}`
+- 馃帹 鍚堝苟 [feat: 涓�绾ц彍鍗曢噸瀹氬悜涓虹┖锛屽垎鏍忔ā寮忎笅锛岀偣鍑讳竴娆¤彍鍗曟椂鐜板湪浼氬垏鎹㈠瓙鑿滃崟鍒楄〃锛岃�屼笉鏄墦寮�绌虹櫧椤礭(https://gitee.com/lyt-top/vue-next-admin/commit/a91f84e3a1a86d8d303a5b46171622913d9d0737)锛屾劅璋@鍐欐剰](https://gitee.com/xjj_0906)
+- 馃幆 浼樺寲 缁忓吀甯冨眬鍒嗗壊鑿滃崟鍙湁涓�椤瑰瓙绾ф椂锛屾敹璧峰乏渚у鑸彍鍗�
+- 馃幆 浼樺寲 watch 鐩戝惉鑼冨洿
+- 馃幆 浼樺寲 鎵撳寘锛氬垎鍖咃紙manualChunks锛夈�乬zip 鍘嬬缉銆乧dn 鍔犻�� `榛樿鍏抽棴 .env 涓紑鍚痐锛堝彲鏌ョ湅鏂囩珷[vue-next-admin vue3 + vite 鎵撳寘 gzip 鍘嬬缉銆乧dn 鍔犻�焆(https://blog.csdn.net/qq_34450741/article/details/129766676)锛�
+
+## 2.4.31
+
+`2023.03.10`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃悶 淇 椤舵爮鑳屾櫙娓愬彉璁剧疆涓嶇敓鏁�
+- 馃悶 淇 椤舵爮鑳屾櫙娓愬彉銆佽彍鍗曡儗鏅笎鍙樻椂锛屾繁鑹蹭富棰樹笉鐢熸晥
+- 馃悶 淇 椤舵爮鎼滅储妗嗙Щ鍔ㄧ鏄剧ず闂
+- 馃幆 浼樺寲 `main.ts`锛岀浉鍏� issues [#I6KNFH](https://gitee.com/lyt-top/vue-next-admin/issues/I6KNFH)銆乕#I6JRH6](https://gitee.com/lyt-top/vue-next-admin/issues/I6JRH6)
+- 馃幆 浼樺寲 鑿滃崟妯悜妯″紡鏄剧ず锛坔orizontal锛�
+- 馃幆 浼樺寲 鍒嗘爮甯冨眬锛孾甯屾湜鍒嗘爮甯冨眬鍋氫竴涓嬩紭鍖栵紝鍦ㄦ病鏈変簩绾ц彍鍗曠殑鏃跺�欙紝鐩存帴鍏ㄥ睆灞曠ず涓�绾ц彍鍗曢摼鎺(https://gitee.com/lyt-top/vue-next-admin/issues/I6HW7H)锛屾劅璋@jiuping](https://gitee.com/jiuping)锛宍tagsview` 鐐瑰嚮鏃跺鐞� `鏀惰捣/灞曞紑` 鑿滃崟
+
+## 2.4.3
+
+`2023.02.22`
+
+馃毄馃毄馃毄 鎰熻阿 [椹伴獘宸ヤ綔娴佸紩鎿�-琛ㄥ崟寮曟搸-浣庝唬鐮佸紑鍙戝钩鍙癩(http://www.ccflow.org/) 璧炲姪鍟嗙殑璧炲姪銆傞┌楠嬪叕鍙镐负绀句細鎻愪緵娴佺▼寮曟搸+琛ㄥ崟寮曟搸+浣庝唬鐮佸紑鍙戝钩鍙颁竴浣撶殑寮�婧愯蒋浠惰В鍐虫柟妗堬紝娆㈣繋骞垮ぇ寮�鍙戣�呭墠鍘讳綋楠岋紒
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃帀 鏂板 璧炲姪鍟嗙粍浠讹紙`/src/layout/sponsors`锛夛紝[椤圭洰鐩綍缁撴瀯鏌ョ湅](https://lyt-top.gitee.io/vue-next-admin-doc-preview/config/)
+- 馃悶 淇 [杩囨护绛涢�夌粍浠跺睍寮�鐐瑰嚮涓嶄簡](https://gitee.com/lyt-top/vue-next-admin/issues/I688WG)
+- 馃悶 淇 [璁剧疆閿佸睆鏃堕棿鏃剁洿鎺ョ櫧灞忎簡涓嶈兘鎭㈠锛岄櫎闈炲垹闄や富棰橀厤缃墠浼氶噸鏂板姞杞絔(https://gitee.com/lyt-top/vue-next-admin/issues/I6AF8P)锛屾劅璋@baizunxian](https://gitee.com/xb_xiaobai)
+- 馃悶 淇 `鍒嗘爮甯冨眬` 鍦板潃鏍忚緭鍏ヤ笉瀛樺湪鐨勮矾鐢辨姤閿欓棶棰�
+- 馃帹 鍚堝苟 [!44 tagsViewName 姝e垯鍖归厤閿欒锛屽尮閰嶅埌鍚� en 鍗曡瘝](https://gitee.com/lyt-top/vue-next-admin/pulls/44/files)锛屾劅璋@tony 鏄焆(https://gitee.com/tony_tong_xin)
+- 馃帹 鍚堝苟 [!45 fix 鍦板潃鏍忓嚭鐜� false 闂](https://gitee.com/lyt-top/vue-next-admin/pulls/45)锛屾劅璋@闅忓績](https://gitee.com/jiangqiang1996)
+- 馃幆 浼樺寲 `/src/utils/storage` 涓� `key` 缂栧啓鎴� `${__NEXT_NAME__}:${key}`锛岄槻姝㈤儴缃插濂楃郴缁熷埌鍚屼竴鍩熷悕涓嶅悓鐩綍鏃讹紝鍙橀噺鍏辩敤鐨勯棶棰橈紙`__NEXT_NAME__`涓� `package.json` 涓殑 `name`锛�
+- 馃幆 浼樺寲 watermark 鍗曡瘝鎷煎啓閿欒
+
+## 2.4.21
+
+`2022.12.12`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃帀 鏂板 鑿滃崟鑳屾櫙楂樹寒棰滆壊鍙嚜瀹氫箟锛岄�氳繃 `甯冨眬閰嶇疆 -> 鑿滃崟璁剧疆 -> 鑿滃崟楂樹寒鑳屾櫙鑹瞏 杩涜璁剧疆
+- 馃悶 淇 `鍒嗘爮甯冨眬` 浜岀骇瀵艰埅鑿滃崟鍐呭澶氭椂锛屾棤娉曟粴鍔ㄩ棶棰橈紝鎰熻阿缇ゅ弸@闈欓洦杞╀富浜�
+- 馃悶 淇 [!42 淇 宸ヤ綔娴佹棤娉曟坊鍔犳柊鑺傜偣闂](https://gitee.com/lyt-top/vue-next-admin/pulls/42)锛屾劅璋@beta](https://gitee.com/beta_dz)
+- 馃幆 浼樺寲 `/make/tableDemo` 琛ㄥご寰堝鏃讹紝鏃犳硶婊氬姩闂锛屾劅璋㈢兢鍙婡绯婃秱娑傛秱
+
+## 2.4.2
+
+`2022.12.09`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃帀 鏂板 鍥介檯鍖栬嚜鍔ㄥ鍏ユ枃浠跺姛鑳斤紝鍙渶鍦� `/src/i18n/pages` 涓嬫柊寤烘枃浠跺す瀹氫箟鍗冲彲
+- 馃帀 鏂板 `/make/tableDemo` 涓� [鎼滅储妗嗗睍寮�锛屾敹缂╁姛鑳斤紝楂樼骇绛涢�夌粍浠� 鏈夎鍒掑仛鍚梋(https://gitee.com/lyt-top/vue-next-admin/issues/I6511L)
+- 馃悶 淇 [!40 寮�鍚� TagsView 缂撳瓨鍚庯紝鍒锋柊鍚庢墍鏈夌殑璺敱閮藉彉鎴愮粍浠剁紦瀛樹簡](https://gitee.com/lyt-top/vue-next-admin/pulls/40)锛屾劅璋@mrjimin](https://gitee.com/mrjimin)
+- 馃悶 淇 [!41 淇 get 璇锋眰浼犻�掑祵濂楀璞℃垨鏁扮粍鏃舵棤娉曟甯哥紪鐮侀棶棰榏(https://gitee.com/lyt-top/vue-next-admin/pulls/41)锛屾劅璋@闅忓績](https://gitee.com/jiangqiang1996)
+- 馃悶 淇 缁勪欢 wangEditor 鍥炴樉鍊肩殑闂
+- 馃悶 淇 `/fun/echartsMap`锛堝湴鐞嗗潗鏍�/鍦板浘锛夈�乣visualizingDemo2`锛堟暟鎹彲瑙嗗寲婕旂ず 2锛� 婕旂ず鎶ラ敊闂
+- 馃幆 浼樺寲 鐗堟湰鍗囩骇鎻愮ず
+- 馃幆 浼樺寲 鏃犳潈闄愮櫥褰曟椂澧炲姞鎻愮ず淇℃伅锛孾BUG锛氬洜鍓嶇鍔犺浇璺敱(initFrontEndControlRoutes)涓綋鍓嶇敤鎴疯鑹蹭负涓�涓檶鐢熻鑹�, 瀵艰嚧 router.beforeEach 浼氭寰幆 娴忚鍣ㄥ穿婧僝(https://gitee.com/lyt-top/vue-next-admin/issues/I64HVO)锛屾劅璋@canroc](https://gitee.com/canroc)銆乕@闅忓績](https://gitee.com/jiangqiang1996)
+- 馃寛 閲嶆瀯 `/views/system` 鏂板淇敼缁勪欢鍚堝苟銆俒鍙互鎶婃柊澧炰慨鏀圭粍浠跺悎骞舵垚涓�涓惂](https://gitee.com/lyt-top/vue-next-admin/issues/I64WES)
+- 馃寛 閲嶆瀯 鍥炬爣閫夋嫨鍣紝[鍥炬爣閫夋嫨鍣ㄦ病鍔炴硶绛涢�夛紝鍙兘绛涢�� ali 鐨刔(https://gitee.com/lyt-top/vue-next-admin/issues/I64HZD)锛屾劅璋@闅忓績](https://gitee.com/jiangqiang1996)
+
+## 2.4.1
+
+`2022.11.30`
+
+- 馃帀 鏂板 鐗堟湰鍗囩骇鎻愮ず
+- 馃悶 淇 [鍏堟墦寮� F12 鍐嶇櫥褰曡繘鍘伙紝鐒跺悗鏀瑰彉娴忚鍣ㄥぇ灏� js 鎶ラ敊](https://gitee.com/lyt-top/vue-next-admin/issues/I63ZZT)锛屾劅璋@Quber](https://gitee.com/quber)
+
+## 2.4.0
+
+`2022.11.29`
+
+鈿♀殹鈿� 姝ょ増涓虹牬鍧忔�ф洿鏂帮紝搴旂兢鍙嬪缓璁� `script lang="ts"` 鏀� `script lang="ts" setup 璇硶绯朻銆�
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃帀 鏂板 琛ㄦ牸灏佽婕旂ず锛岃矾寰勶細`缁勪欢灏佽 -> 琛ㄦ牸灏佽婕旂ず`
+- 馃帀 鏂板 master 鍒嗘敮 script lang="ts" 鏀规垚 script lang="ts" setup 璇硶绯栵紝灏嗗悓姝ュ熀纭�鍒嗘敮
+- 馃悶 淇 [v2.3.0 鐗堟湰鎶ラ敊闂澶勭悊](https://gitee.com/lyt-top/vue-next-admin/issues/I623RP)
+- 馃悶 淇 [el-backtop 婊氬姩楂樺害涓嶈Е鍙戯紙鍥哄畾浜� header锛塢(https://gitee.com/lyt-top/vue-next-admin/issues/I63N0D)锛屾劅璋@dejavuuuuu](https://gitee.com/zc19951010)
+- 馃幆 浼樺寲 瀹屽杽 ts 绫诲瀷锛屽垹闄ゆ牴鐩綍 `plugins.d.ts銆乻him.d.ts銆乻ource.d.ts`锛岀Щ鍏ュ埌 `/src/types/global.d.ts`
+- 馃幆 浼樺寲 浠g爜 `watch` 绉诲姩鍒� `鐢熷懡鍛ㄦ湡閽╁瓙` 鏈�鍚庯紝鏂囧瓧娉ㄩ噴绛�
+
+## 2.3.0
+
+`2022.11.16`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃帀 鏂板 鏂扮増鐧诲綍椤�
+- 馃帀 鏂板 tagsview 榧犳爣涓敭 `鍏抽棴褰撳墠 tagsview`
+- 馃帀 鏂板 `鍒嗘爮鑿滃崟榧犳爣鎮仠棰勫姞杞絗銆俒鍒嗘爮妯″紡濡備綍鍘绘帀榧犳爣鎮诞鐖剁骇鑿滃崟锛屽垎鏍忚彍鍗曡嚜鍔ㄥ姞杞界殑鍔熻兘鍟奭(https://gitee.com/lyt-top/vue-next-admin/issues/I5RUY7)銆傛搷浣滆矾寰勶細`甯冨眬閰嶇疆 -> 鍒嗘爮璁剧疆`
+- 馃悶 淇 [vue-i18n](https://vue-i18n.intlify.dev/api/general.html#createi18n) 鎶ラ敊锛孾!39 淇 i18n 鍏煎鎬ч棶棰榏(https://toscode.gitee.com/lyt-top/vue-next-admin/pulls/39/files)锛屾劅璋@闅忓績](https://toscode.gitee.com/jiangqiang1996)
+- 馃悶 淇 椤舵爮鎼滅储鍔熻兘鐐瑰嚮钂欒斀寮圭獥涓嶅叧闂�
+- 馃悶 淇 [!38 fix: bug refreshRouterViewKey 鍊间负 null 瀵艰嚧璺敱缂撳瓨绗竴娆℃棤鏁圿(https://toscode.gitee.com/lyt-top/vue-next-admin/pulls/38/files)锛屾劅璋@P)](https://toscode.gitee.com/foxp8y)
+- 馃悶 淇 `璺敱鍙傛暟 -> 鏅�氳矾鐢�/鍔ㄦ�佽矾鐢盽 鍥介檯鍖栨紨绀烘椂锛宍tagsView` 鍜� `娴忚鍣ㄦ爣棰榒 鏄剧ず寮傚父銆俒婕旂ず涓細璺敱鍙傛暟鐣岄潰 -> 鍔ㄦ�佽矾鐢憋紝鍥介檯鍖栨樉绀烘椂闈㈠寘灞戙�佹祻瑙堝櫒鏍囬鏈� bug](https://gitee.com/lyt-top/vue-next-admin/issues/I5JRJG)
+- 馃悶 淇 `璺敱鍙傛暟 -> 鏅�氳矾鐢�/鍔ㄦ�佽矾鐢盽 鍔ㄦ�佽缃� `tagsViewName` 鏃讹紝`tagsView 鍙抽敭鑿滃崟鍒锋柊` 鍔熻兘澶辨晥锛堜篃灏辨槸璺敱鍚庨潰鏈夊弬鏁版椂锛宷uery銆乸arams锛夈�俒鏅�氭垨鍔ㄦ�佽矾鐢辨柊寤洪〉闈㈠悗鐐瑰嚮 tagview 鍒锋柊鏃犳晥](https://gitee.com/lyt-top/vue-next-admin/issues/I5K3YO)锛屾劅璋@dejavuuuuu](https://gitee.com/zc19951010)
+- 馃悶 淇 [琛ㄥ崟锛坋l-form锛変腑锛屽瓧浣撳浘鏍囧亸绉婚棶棰榏(https://gitee.com/lyt-top/vue-next-admin/issues/I5K1PM)
+- 馃悶 淇 璺敱 `router.addRoute` 鏃讹紝涓�鐩存彁绀� `No match found for location with path 'xxx'`
+- 馃幆 浼樺寲 鍏ㄥ眬 `getCurrentInstance` 鏇挎崲鎴� [`provide/inject`](https://cn.vuejs.org/api/application.html#app-provide) 鎴栭�氳繃 `ref` 澶勭悊
+- 馃幆 浼樺寲 寮曞叆缁勪欢鏂瑰紡 `(import xxx from xxx)` 鏀规垚 `defineAsyncComponent(() => import(xxx))`
+- 馃幆 浼樺寲 椤甸潰楂樺害 100% 闂锛岄噸鍐欏竷灞�閰嶇疆 `鐣岄潰璁剧疆 -> 鍥哄畾 Header` 澶氫綑鐨� `el-scrollbar` 閫昏緫銆侀噸鍐欏悇鐣岄潰闇� `璁$畻灞炴�� computed` 璁剧疆鍔ㄦ�侀珮搴﹂棶棰橈紙鏀逛负 css `flex` 璁剧疆鑷�傚簲楂樺害锛屽叿浣撴煡鐪嬫枃妗o細[璁剧疆鍙鍖洪珮搴� 100%](https://lyt-top.gitee.io/vue-next-admin-doc-preview/config/otherIssues/#%E8%AE%BE%E7%BD%AE%E5%8F%AF%E8%A7%86%E5%8C%BA%E9%AB%98%E5%BA%A6-100)銆俒!31 淇椤甸潰鏍峰紡鏃犳硶閫氳繃鐧惧垎姣旇缃殑闂](https://toscode.gitee.com/lyt-top/vue-next-admin/pulls/31)锛屾劅璋@LostDeer](https://toscode.gitee.com/lyt-top/vue-next-admin/pulls/31/files)銆俙锛堟敼鍔ㄨ緝澶э紝鍒犻櫎澶氫綑浠g爜锛塦
+- 馃幆 浼樺寲 [wangeditor](https://www.wangeditor.com/) 缁勪欢锛宍@wangeditor/editor-for-vue`銆傚彲鑷淇敼锛岀粍浠朵綅缃細`/src/components/editor`銆傜浉鍏� Issues锛歔wangeditor 缂栬緫鍣ㄥ涓彍鍗曚笉鑳藉洖寮筣(https://gitee.com/lyt-top/vue-next-admin/issues/I5M5H7)
+- 馃寛 閲嶆瀯 澶栭摼銆佸唴宓� iframe 閫昏緫 + 缇庡寲锛宨frame 鏀寔缂撳瓨
+
+## 2.2.0
+
+`2022.07.10`
+
+鈿♀殹鈿� [/sec/stores/userInfo.ts](https://gitee.com/lyt-top/vue-next-admin/blob/master/src/stores/userInfo.ts) 涓嬫坊鍔犱簡 `getApiUserInfo` 鎺ュ彛妯℃嫙鏁版嵁 `setTimeout` 涓� 3 绉�
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃悶 淇 [涓荤晫闈㈤噸鏂版巿鏉冩寜閽偣鍑诲崱姝讳笉璺宠浆鐧诲綍鐣岄潰#I5C3JS](https://gitee.com/lyt-top/vue-next-admin/issues/I5C3JS)锛屾劅璋@Hero-Typ](https://gitee.com/tian_yu_peng)
+- 馃悶 淇 缂栬瘧璀﹀憡[#I5CVSB](https://gitee.com/lyt-top/vue-next-admin/issues/I5CVSB)锛屽叏灞�鏇挎崲鎴� `:deep(attr)`锛屾劅璋@Linvas](https://gitee.com/linvas)銆傚弬鑰冩枃妗o細[vue3 sfc-style](https://v3.cn.vuejs.org/api/sfc-style.html#style-scoped)銆俙node_modules\print-js\dist\print.js` 闇� `print-js` 浣滆�呴�傞厤鎴栧幓闄� `package.json` 涓殑 `"print-js": "^1.6.0"`
+- 馃悶 淇 [vue-next-admin-template-js 鐗堟湰鍓嶇鎺у埗璺敱锛歶serInfo.js 璇锋眰鐢ㄦ埛淇℃伅鎺ュ彛鎶ラ敊锛屽姞杞戒笉鍒拌矾鐢� 鍙互鍐欎釜瀹氭椂鍣ㄦā鎷熶竴涓嬫帴鍙� 涓�鏍风殑鎶ラ敊#I5F1HP](https://gitee.com/lyt-top/vue-next-admin/issues/I5F1HP)锛屾劅璋@鐧藉紑姘碷(https://gitee.com/libin951223)
+
+## 2.1.1
+
+`2022.05.27`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃幆 浼樺寲 娣辫壊妯″紡涓嬶紝`<el-button text></el-button>` 鏃讹紝`:active` 鏍峰紡
+- 馃幆 浼樺寲 [椤甸潰缂撳瓨鍦ㄥ埛鏂颁箣鍚庡け鏁� #I58U75](https://gitee.com/lyt-top/vue-next-admin/issues/I58U75))锛屾劅璋@ls0428](https://gitee.com/ls0428)
+- 馃幆 浼樺寲 [SvgIcon 瀵逛笅杞界殑 Svg 鍥惧儚璁剧疆棰滆壊鏃犳晥 #I59ND0](https://gitee.com/lyt-top/vue-next-admin/issues/I59ND0))锛屾劅璋@elus_z](https://gitee.com/elus_z)
+- 馃幆 浼樺寲 `/src/utils/toolsValidate.ts` 宸ュ叿绫�
+- 馃悶 淇 [甯冨眬鍒囨崲锛孴agsView 鏄剧ず鐨� tab 浼氬涓�涓嚭鏉� #I58WGM](https://gitee.com/lyt-top/vue-next-admin/issues/I58WGM)锛屾劅璋@lg_boy](https://gitee.com/lg_boy)
+- 馃悶 淇 [濡傛灉璁剧疆椤堕儴闈㈠寘灞戝鑸紑鍚浘鏍� isBreadcrumbIcon=true 鍚庯紝鏍峰紡鏈夌偣闂 濡傛灉涓嶅紑鍚氨鏄甯哥殑 #I58VB8](https://gitee.com/lyt-top/vue-next-admin/issues/I58VB8)
+- 馃悶 淇 鍦板潃鏍忚矾鐢卞湴鍧�杈撳叆閿欒鏃讹紝杩斿洖棣栭〉鍚庯紝鍐嶆杈撳叆璺敱鍦板潃閿欒鏃讹紝涓嶈烦杞� 404 闂
+- 馃悶 淇 [2.1.0 鐗堟湰鐨勫浘鏍囬�夋嫨缁勪欢澶氭鐐瑰嚮鍚庡姛鑳藉け鏁� #I590TH](https://gitee.com/lyt-top/vue-next-admin/issues/I590TH)锛屾劅璋@quber](https://gitee.com/quber)
+
+## 2.1.0
+
+`2022.04.18`
+
+鈿♀殹鈿� 姝ょ増鏈负鐮寸幆鎬ф洿鏂帮紝浼樺寲鍐呭濡備笅锛氾紙璋ㄦ厧鏇存柊锛佽皑鎱庢洿鏂帮紒锛佽皑鎱庢洿鏂帮紒锛侊紒锛夈�傚洜涓� `vuex` 鏇挎崲鎴� `pinia`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃幆 浼樺寲 閮ㄥ垎鐣岄潰鍥剧墖涓嶆樉绀洪棶棰橈紙鏇存崲 gitee 鍦ㄧ嚎鍥剧墖鍦板潃婧愶級
+- 馃幆 浼樺寲 鍚勭晫闈㈡柟娉曞紩鍏ヤ笌閫昏緫涔嬮棿娣诲姞涓�琛岀┖琛岋紝鏂逛究鍖哄垎鍐呭
+- 馃幆 浼樺寲 鍥炬爣閫夋嫨鍣� [#I4YAHB](https://gitee.com/lyt-top/vue-next-admin/issues/I4YAHB)锛屾劅璋@鐪熸湁浣犵殑](https://gitee.com/sunliusen)
+- 馃幆 浼樺寲 鍥炬爣閫夋嫨鍣� icon type 绫诲瀷涓� all 鏃讹紝绫诲瀷 ali銆乪le銆乤we 鍥炴樉闂
+- 馃幆 浼樺寲 鍘绘帀寮�鍙戠幆澧� i18n 鎺у埗鍙拌鍛婏紝椤甸潰浠g爜锛歔i18n/index.ts](https://gitee.com/lyt-top/vue-next-admin/blob/master/src/i18n/index.ts)
+- 馃幆 浼樺寲 `NextLoading.start()` 鏂规硶锛岄槻姝㈢涓�娆¤繘鍏ョ晫闈㈡椂鍑虹幇鐭殏绌虹櫧
+- 馃幆 浼樺寲 鍦板潃鏍忔湁鍙傛暟閫�鍑虹櫥褰曪紝鍐嶆鐧诲綍涓嶈烦涔嬪墠鐣岄潰闂 `src/layout/navBars/topBar/user.vue`
+- 馃幆 浼樺寲 `SvgIcon` 缁勪欢锛岄槻姝� `寮�鍚� Tagsview 鍥炬爣` 鏃讹紝`tagsView 鍙抽敭鑿滃崟鍏抽棴` 鎶ラ敊闂锛屽伐浣滄祦涓嶅彲杩炵嚎銆佸叏灞忔椂鍏抽棴鎸夐挳娑堝け闂
+- 馃幆 浼樺寲 [濡傛灉 url 涓湁涓枃绛夌壒娈婂瓧绗︼紝绗竴娆″垏鎹㈣ tab 鏃� keep-alive 澶辨晥#I55JS7](https://gitee.com/lyt-top/vue-next-admin/issues/I55JS7),鎰熻阿[yuyong1566](https://gitee.com/yuyong1566)
+- 馃幆 浼樺寲 [wangEditor](https://www.wangeditor.com/) 鏇存柊鍒� v5锛孾vue3 鐗堟湰绾夸笂绀轰緥涓� wangeditor 瀵屾枃鏈紪杈戝櫒 demo 瀹炰緥,鏃犳硶鎹㈣#I5565B](https://gitee.com/lyt-top/vue-next-admin/issues/I5565B)锛屾劅璋[jenchih](https://gitee.com/jenchih)
+- 馃幆 浼樺寲 [鍦ㄥ叧闂� tagview 鏃讹紝楂樺害鍒锋柊鏃朵細浼氬彉鍖栵紝鍑虹幇婊氬姩鏉(https://gitee.com/lyt-top/vue-next-admin/issues/I55FHM)锛屾劅璋寮犳澗](https://gitee.com/zs310071113)
+- 馃幆 浼樺寲 [璺敱鍙傛暟](https://lyt-top.gitee.io/vue-next-admin-preview/#/params/common)婕旂ず
+- 馃帀 鏂板 [vuex](https://vuex.vuejs.org/) 鏇挎崲鎴� [pinia](https://pinia.vuejs.org/getting-started.html)
+- 馃帀 鏂板 tagsView 鏀寔鑷畾涔� tagsView 鍚嶇О锛堟枃绔犺鎯呮椂鏈夌敤锛夛紝鍓嶅線浣撻獙锛歔璺敱鍙傛暟/鏅�氳矾鐢盷(https://lyt-top.gitee.io/vue-next-admin-preview/#/params/common)銆傛柊澧� tagsView 鏀寔鑷畾涔夊悕绉板浗闄呭寲锛屾劅璋@q7but](https://gitee.com/q7but)銆乕!22 add 娣诲姞鑷畾涔� tagVIewName 鎷撳睍,鏀寔鍥介檯鍖朷(https://gitee.com/lyt-top/vue-next-admin/pulls/22/files)銆佹劅璋@tony_tong_xin](https://gitee.com/tony_tong_xin)
+- 馃悶 淇 閫傞厤 `"element-plus": "^2.1.9"锛�2.2.0` 鐗堟湰
+- 馃悶 淇 [瀵艰埅鏍忔í鍚戝竷灞�鍚庯紝涓�绾ц彍鍗曟樉绀洪棶棰�#I4Z3M3](https://gitee.com/lyt-top/vue-next-admin/issues/I4Z3M3)
+- 馃悶 淇 妯悜甯冨眬涓夌骇鍙婁互涓婂鑸彍鍗曢珮浜�佸鑸珮搴︿笉缁熶竴闂
+- 馃悶 淇 鍒嗘爮妯″紡涓�,閫変腑鐨勮彍鍗曟槸 primary 鏍峰紡,榧犳爣绉诲叆瀛椾篃鍙樻垚 primary 鑹蹭簡锛屾劅璋㈢兢鍙婡瀛ゅ-娴佹畤
+- 馃悶 淇 [vuex 閲岄潰鏀逛簡棰滆壊 浣嗘槸涓嶇敓鏁� #I4WFMA](https://gitee.com/lyt-top/vue-next-admin/issues/I4WFMA)
+- 馃悶 淇 鍏ㄥ眬涓婚 primary 娓呯┖棰滆壊鍚庢姤閿欙紝[#I4X0LG](https://gitee.com/lyt-top/vue-next-admin/issues/I4X0LG)锛屾劅璋闈㈠悜 BUG 缂栫▼](https://gitee.com/fhtfy)
+- 馃悶 淇 [.eslintrc.js 鏂囦欢 rules 鏍囩鍚嶉敊璇� #I53IPK](https://gitee.com/lyt-top/vue-next-admin/issues/I53IPK)锛屾劅璋yuyong1566](https://gitee.com/yuyong1566)
+- 馃悶 淇 `寮�鍚� Tagsview 鍥炬爣` 鏃讹紝`tagsView 鍙抽敭鑿滃崟鍏抽棴` 鎶ラ敊闂
+- 馃悶 淇 `router.push` 璺緞鎵句笉鍒版椂鎶ラ敊闂锛宍404銆�401 鐣岄潰` 宸茬Щ鍏ュ埌 `main` 涓诲竷灞�閲岋紙涔嬪墠鍏ㄥ睆锛�
+- 馃悶 淇 [鍏ㄥ眬淇敼缁勪欢澶у皬澶辨晥浜哴(https://gitee.com/lyt-top/vue-next-admin/issues/I551RP)锛屾劅璋lg_boy](https://gitee.com/lg_boy)
+- 馃悶 淇 [淇敼涓�涓嬮厤缃椂锛岄渶瑕佹瘡娆¢兘娓呯悊 `window.localStorage` 娴忚鍣ㄦ案涔呯紦瀛橈紝閰嶇疆鎵嶄細鐢熸晥锛岄棶棰樿В鍐�#I567R1](https://gitee.com/lyt-top/vue-next-admin/issues/I567R1),鎰熻阿[@lanbao123](https://gitee.com/lanbao123)
+- 馃悶 淇 [鏍囪涓洪渶瑕佺紦瀛樼殑 tab 椤靛悗锛屽啀娆′粠宸︿晶鑿滃崟鎵撳紑锛岃繕鏄樉绀鸿缂撳瓨鐨勯〉闈㈠唴瀹�#I4UY3G](https://gitee.com/lyt-top/vue-next-admin/issues/I4UY3G)锛屾劅璋axcc1234銆佺壒鍒劅璋㈢兢鍙婡鍗庝粩
+- 馃寛 閲嶆瀯 璺敱锛坄/src/router/index.ts`锛夎В鍐� No match found for location with path "xxx"(鍓嶇鎺у埗锛屽悗绔帶鍒舵湭瑙e喅) 闂
+
+## 2.0.2
+
+`2022.03.04`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃幆 浼樺寲 Alert 鎻愮ず娣诲姞杈规
+- 馃幆 浼樺寲 鍔熻兘 / 鏁板瓧婊氬姩 婕旂ず鐣岄潰
+- 馃悶 淇 鍏ㄥ眬涓婚鎸夐挳棰滆壊 :active 闂
+- 馃悶 淇 Dropdown 涓嬫媺鑿滃崟鏍峰紡闂
+- 馃悶 淇 SvgIcon 鍥炬爣缁勪欢鍔ㄦ�佸垏鎹㈡椂鎶ヨ鍛婇棶棰橈紝[SvgIcon 鏀瑰彉 name 鏃跺彲鑳藉鑷村浘鍍忎笉鏄剧ず](https://gitee.com/lyt-top/vue-next-admin/issues/I4VGE0)锛屾劅璋axcc1234
+
+## 2.0.1
+
+`2022.02.25`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃幆 浼樺寲 svgIcon 鍥炬爣缁勪欢
+- 馃幆 浼樺寲 vite.config.ts 鎵撳寘锛屾劅璋㈢兢鍙婡YourObjec
+- 馃悶 淇 tagViews 寮�鍚浘鏍囦笉鏄剧ず闂锛堥鏍� 5锛夛紝鎰熻阿缇ゅ弸@鍧忎汉
+- 馃悶 淇 [Element Plus 1.2.0-beta.6 浠ュ悗鐨勭増鏈� el-table 鍦ㄧЩ鍔ㄧ鏃犳硶宸﹀彸婊戝姩](https://gitee.com/lyt-top/vue-next-admin/issues/I4UPTP)锛屾劅璋YGDada
+
+## 2.0.0
+
+`2022.02.21`
+
+鈿♀殹鈿� 姝ょ増鏈负鐮寸幆鎬ф洿鏂帮紝浼樺寲鍐呭濡備笅锛氾紙璋ㄦ厧鏇存柊锛佽皑鎱庢洿鏂帮紒锛佽皑鎱庢洿鏂帮紒锛侊紒锛夈�傛紨绀虹晫闈㈠缓璁洿鎺ヨ鐩栨枃浠躲�傚闇�浣跨敤涔嬪墠鐗堟湰锛岃鍓嶅線[gitee 鍙戣鐗圿(https://gitee.com/lyt-top/vue-next-admin/releases) 杩涜瀵瑰簲鐗堟湰涓嬭浇銆傚熀纭�鐗堜細鍩轰簬 `master` 鍒嗘敮杩涜淇敼
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃専 鏇存柊 鐧诲綍椤点�侀椤�
+- 馃挃 绉婚櫎 vue-web-screen-shot
+- 馃挃 绉婚櫎 鍩庡競澶氱骇鑱斿姩锛屽畬鏁� json 鏁版嵁璇峰幓 [vue-next-admin-images/menu](https://gitee.com/lyt-top/vue-next-admin-images/tree/master/menu) 浠撳簱鏌ョ湅
+- 馃挃 绉婚櫎 鍔熻兘/echartsTree 鏍戝浘
+- 馃挃 绉婚櫎 鍏跺畠璁剧疆/Tagsview 椋庢牸 2銆乀agsview 椋庢牸 3
+- 馃挃 绉婚櫎 鍔熻兘/楠岃瘉鍣�
+- 馃毀 璋冩暣 src/api 缂栧啓鏂瑰紡
+- 馃毀 璋冩暣 鑷畾涔夊皝瑁呭叕鐢ㄧ粍浠舵紨绀猴紝鏇村ソ鐨勭淮鎶�
+- 馃帀 鏂板 Volar 鏀寔锛寁s code 閰嶇疆鍙傝�� [Vue Language Features (Volar)](https://lyt-top.gitee.io/vue-next-admin-doc-preview/home/vscode/)
+- 馃帀 鏂板 `SvgIcon` 鏀寔鏈湴 svg 鍥炬爣浣跨敤
+- 馃帀 鏂板 琛ㄥ崟琛ㄦ牸楠岃瘉婕旂ず
+- 馃幆 浼樺寲 鍏ㄥ眬涓婚锛堢Щ闄� success銆乮nfo銆亀arning銆乨anger锛�
+- 馃幆 浼樺寲 宸ヤ綔娴侊紙寮�婧愶級
+- 馃幆 浼樺寲 element plus svg 鍥炬爣锛宍elementXXX` 鏀规垚 `ele-XXX`
+- 馃寛 閲嶆瀯 娣辫壊妯″紡
+- 馃尮 鍚堝苟 [澶勭悊 parent 鐨� h100 鐢变簬澶栧眰鏈� min-height 瀵艰嚧澶辨晥鐨勯棶棰榏(https://gitee.com/lyt-top/vue-next-admin/pulls/20)锛屾劅璋MaxNull銆丂21030442-mao
+- 馃悶 淇 element plus 鍗囩骇 `^1.3.0-beta.5` 鍚� 缁勪欢 size 澶у皬闂锛堝ぇ鏀癸細娑夊強甯冨眬銆佹紨绀虹晫闈級
+- 馃悶 淇 vs code 浣跨敤 Vue Language Features (Volar) 鎻掍欢 浠g爜鎶ョ孩闂锛堝彲浠ユ妸鍏敤鐨� ts 绫诲瀷瀹氫箟灏佽璧锋潵鍏敤锛�
+
+## 1.2.2
+
+`2021.12.21`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃幆 浼樺寲 iframes 婊氬姩鏉¢棶棰�
+- 馃幆 浼樺寲 閮ㄧ讲鍚庢瘡娆¢兘瑕佸己鍒跺埛鏂版竻娴忚鍣ㄧ紦瀛橀棶棰�
+- 馃帀 鏂板 宸ュ叿绫荤櫨鍒嗘瘮楠岃瘉婕旂ず
+- 馃悶 淇 [tag-view 鏍囩鍙抽敭浼氳秴鍑烘祻瑙堝櫒 #I4KN78](https://gitee.com/lyt-top/vue-next-admin/issues/I4KN78)
+
+## 1.2.1
+
+`2021.12.12`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃幆 浼樺寲 cropper 瑁佸壀鏃跺崱椤块棶棰� [#I4M2VQ](https://gitee.com/lyt-top/vue-next-admin/issues/I4M2VQ)
+- 馃幆 浼樺寲 Wangeditor 瀵屾枃鏈紪杈戝櫒鐨勯棶棰� [#I4LPC1](https://gitee.com/lyt-top/vue-next-admin/issues/I4LPC1)銆乕#I4LM7I](https://gitee.com/lyt-top/vue-next-admin/issues/I4LM7I)
+- 馃悶 淇 娴忚鍣ㄦ爣棰橀棶棰�
+- 馃悶 淇 element plus svg 鍥炬爣寮曞叆
+- 馃悶 淇 宸ヤ綔娴佷笉鍙互鎷栫嚎杩炴帴闂
+
+## 1.2.0
+
+`2021.11.28`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃幆 浼樺寲 娣辫壊妯″紡
+- 馃幆 浼樺寲 `/@/utils` 鏂囦欢澶癸紝鍚堝苟鍒犻櫎鍗曚竴鍐呭
+- 馃幆 浼樺寲 绯荤粺璁剧疆锛氳彍鍗曠鐞嗭紙鏂板銆佷慨鏀癸級銆佽鑹茬鐞嗭紙鏂板鑿滃崟鏉冮檺锛夈�佺敤鎴风鐞嗐�侀儴闂ㄧ鐞嗐�佸瓧鍏哥鐞�
+- 馃幆 浼樺寲 鐧诲綍鐣岄潰閫昏緫銆佹潈闄愮鐞嗛�昏緫
+- 馃幆 浼樺寲 鍚屾 [vue-next-admin-images](https://gitee.com/lyt-top/vue-next-admin-images/tree/master/menu) 鍚庣鎺у埗鑿滃崟妯℃嫙鏁版嵁
+- 馃帀 鏂板 閫傞厤 Font Icon 鍚� SVG Icon 杩佺Щ锛堟敼鍔ㄥぇ锛�"element-plus": "^1.2.0-beta.4" 璋ㄦ厧鏇存柊锛�
+- 馃悶 淇 鐑洿鏂伴棶棰橈紝鎰熻阿@鐢滆湝铚�
+- 馃悶 淇 椤甸潰/element 瀛椾綋鍥炬爣婕旂ず
+- 馃悶 淇 鍔熻兘/鍥炬爣閫夋嫨鍣ㄦ紨绀猴紝鏂板楂樼骇鍔熻兘 [issues #I4GJXQ](https://gitee.com/lyt-top/vue-next-admin/issues/I4GJXQ)
+
+## 1.1.2
+
+`2021.10.17`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃悶 淇 寮�鍚叏灞忔椂锛屽埛鏂扮晫闈㈣杩樺師鎴愭湭鍏ㄥ睆鐨勭姸鎬�
+- 馃幆 浼樺寲 tagsView 鍙抽敭鑿滃崟鍏抽棴閫昏緫
+- 馃幆 浼樺寲 wangeditor 瀵屾枃鏈紪杈戝櫒锛堝鍔犲弻鍚戠粦瀹氾級
+- 馃帀 鏂板 宸ヤ綔娴侊紙鏆備笉寮�婧愶級
+- 馃帀 鏂板 鍩虹鐗� ts锛堜笉甯﹀浗闄呭寲锛夛紝鍒囨崲 `vue-next-admin-template` 鍒嗘敮
+
+## 1.1.1
+
+`2021.09.25`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈紙`"element-plus": "^1.1.0-beta.13"` 鐗堟湰杩愯閿欒锛宍^1.1.0-beta.16`淇妯悜鑿滃崟鍗℃闂锛�
+- 馃悶 淇 Dialog 寮圭獥浣嶇疆閿欒銆丏rawer 鎶藉眽鍐呰竟璺濄�乪l-menu 鑿滃崟鏀惰捣鏃惰儗鏅壊闂
+- 馃幆 浼樺寲 閿佸睆鐣岄潰鑷姩閿佸睆(s/绉�)蹇呴』璁剧疆鑷冲皯 1 绉�
+- 馃帀 鏂板 鍒嗘爮甯冨眬锛岄紶鏍囩Щ鍏ュ綋鍓嶉」鏃讹紝鏄剧ず褰撳墠椤硅彍鍗曞唴瀹�
+- 馃帀 鏂板 宸ヤ綔娴侊紙鏈畬鎴愶級
+
+## 1.1.0
+
+`2021.09.10`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃幆 浼樺寲 灏忓睆妯″紡涓嬬櫥褰曢〉浜岀淮鐮侀伄鎸℃爣棰橀棶棰�
+- 馃帀 鏂板 鍥剧墖楠岃瘉鍣�
+- 馃帀 鏂板 鍔ㄦ�佸鏉傝〃鍗�
+- 馃帀 鏂板 宸ヤ綔娴侊紙鏈畬鎴愶級
+- 馃帀 鏂板 娣辫壊涓婚(浼繁鑹诧紝鏍峰紡鍙樺姩澶э紝璋ㄦ厧鏇存柊)
+
+## 1.0.18
+
+`2021.08.29`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃幆 浼樺寲 鏉冮檺缁勪欢鍘绘帀椤剁骇 div锛坄/src/components/auth`锛�
+- 馃帀 鏂板 甯冨眬閰嶇疆娣诲姞鎭㈠榛樿鎸夐挳
+- 馃悶 淇 鍗囩骇 <a href="https://element-plus.gitee.io/#/zh-CN/component/changelog" target="_blank">element plus 1.1.0-beta.7</a>鍚庨」鐩棤娉曞惎鍔ㄣ�乪l-menu 鑿滃崟
+- 馃悶 淇 琛ㄦ牸鍥哄畾鍒楁椂鐨勫眰绾с�佽缃簡鐩稿瀹氫綅鏃讹紝閬尅宸︿晶瀵艰埅鑿滃崟闂
+
+## 1.0.17
+
+`2021.08.22`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃幆 浼樺寲 鍘婚櫎璁剧疆甯冨眬鍒囨崲锛岄噸缃富棰樻牱寮忥紙initSetLayoutChange锛夛紝鍒囨崲甯冨眬闇�鎵嬪姩璁剧疆鏍峰紡锛岃缃殑鏍峰紡鑷姩鍚屾鍚勫竷灞�
+- 馃幆 浼樺寲 Dropdown 涓嬫媺鑿滃崟鐢ㄦ埛璐﹀彿闈犺竟鏃舵崲琛岄棶棰�
+- 馃幆 浼樺寲 宸︿晶瀵艰埅鑿滃崟锛屽叡鐢ㄨ彍鍗曟爲锛岄槻姝� `甯冨眬閰嶇疆` 璁剧疆 `鑿滃崟 / 椤舵爮` 鏃讹紝鏍峰紡涓㈠け绛夐棶棰�
+- 馃悶 淇 鍥哄畾 header 鍚庢病鏈夊洖鍒伴《閮ㄧ殑 bug锛屾媺鍙栭」鐩悗杩愯涓嶈捣鏉ョ殑 bug銆�<a href="https://gitee.com/lyt-top/vue-next-admin/pulls/14" target="_blank">!14</a>锛屾劅璋�<a href="https://gitee.com/wjs0509" target="_blank">@wjs0509</a>
+- 馃悶 淇 tagView 鍙抽敭鍏ㄥ睆鍚庯紝娴忚鍣ㄧ獥鍙eぇ灏忓彂鐢熶换浣曞彉鍖栭兘浼氬鑷村乏杈硅彍鍗曟樉绀哄嚭鏉ワ紝骞朵笖鍙偣鍑绘墦寮�瀵瑰簲椤甸潰銆�<a href="https://gitee.com/lyt-top/vue-next-admin/issues/I46E6T" target="_blank">I46E6T</a>
+- 馃悶 淇 榛樿璁剧疆 `鑿滃崟 / 椤舵爮` 鏍峰紡涓嶇敓鏁堥棶棰橈紙/@/src/store/modules/themeConfig.ts锛�
+
+## 1.0.16
+
+`2021.08.14`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃幆 浼樺寲 鑿滃崟楂樹寒锛堣鎯呬笖璇︽儏璁剧疆浜� meta.isHide 鏃讹紝椤剁骇鑿滃崟楂樹寒锛夛紝鎰熻阿缇ゅ弸@YourObject
+- 馃幆 浼樺寲 璇︽儏璺緞鍐欐硶锛氬鐖剁骇锛�/pages/filtering锛夛紝閭d箞璇︽儏涓猴紙/pages/filtering/details?id=1锛夈�傝繖鏍峰啓鍙疄鐜帮紙璇︽儏鏃讹紝鐖剁骇鑿滃崟楂樹寒锛夛紝鍚﹀垯鍐欐垚锛�/pages/filteringDetails?id=1锛夐《绾ц彍鍗曞皢涓嶄細楂樹寒銆傚彲鍙傝�冿細`椤甸潰/杩囨护绛涢�夌粍浠禶锛岀偣鍑诲綋鍓嶅浘鐗囪繘琛屾祴璇�
+- 馃幆 浼樺寲 tagsView 鍙抽敭鑿滃崟鍏ㄥ睆鏃讹紝鎵撳紑鐨勭晫闈㈤珮搴﹂棶棰�
+- 馃幆 浼樺寲 鍥捐〃鎵归噺 resize 闂
+- 馃悶 淇 鑿滃崟鏀惰捣鏃讹紙璁剧疆鍏ㄥ眬涓婚锛歱rimary 涓旀湁浜岀骇鑿滃崟鏃讹級锛屾枃瀛楅珮浜鑹蹭笉瀵�
+- 馃悶 淇 鍥介檯鍖� <a href="https://gitee.com/lyt-top/vue-next-admin/issues/I43NPE" target="_blank">#I43NPE</a>銆傚彲鍙傝�冿細`椤甸潰/杩囨护绛涢�夌粍浠禶锛岀偣鍑婚《閮ㄨ瑷�鍒囨崲锛岃繘琛屽簳閮ㄥ垎椤靛浗闄呭寲鏌ョ湅
+
+## 1.0.15
+
+`2021.08.06`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃幆 浼樺寲 tagsView 鍙抽敭鑿滃崟鐐瑰嚮鏃剁殑瀛楁鍚嶏紙id 宸蹭慨鏀规垚 contextMenuClickId锛変笌璺敱涓繑鍥炵殑 id 鍚嶅啿绐侀棶棰橈紝鎰熻阿缇ゅ弸@浼墮宸查亣閽熷瓙鏈�
+- 馃帀 鏂板 澶氫釜 form 琛ㄥ崟楠岃瘉鐣岄潰婕旂ず
+
+## 1.0.14
+
+`2021.07.29`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈紙vue銆乿uex銆乿ue-router锛�,鍑虹幇闂锛岃鎵嬪姩闄嶇骇銆傜増鏈煡鐪嬶細<a href="https://www.npmjs.com/" target="_blank">vnpm</a>
+- 馃幆 浼樺寲 鏁版嵁鍙鍖栧浘琛ㄦ紨绀哄姞杞藉崱椤块棶棰樸�佷紭鍖栨湁鍥捐〃鐨勬紨绀虹晫闈�
+- 馃幆 浼樺寲 璺敱鍙傛暟婕旂ず鐣岄潰
+- 馃幆 浼樺寲 tagsView 鎿嶄綔婕旂ず鐣岄潰锛岀敱浜庡瓨鍦ㄧ浉鍚岃矾鐢卞鏍囩锛屽繀椤昏浼犲叏閮ㄥ弬鏁板�硷紙query 鎴栬�� params锛�
+- 馃帀 鏂板 寮�鍚� TagsView 鍏辩敤锛屽紑鍚椂锛氾紙澶氫釜璺敱鑿滃崟鍏辩敤涓�涓鎯呯粍浠讹紙鍙傛暟涓哄悗鐐瑰嚮鐨勮鐩栧墠闈㈢偣鍑荤殑锛夛紝tagsView 涓彧浼氬嚭鐜颁竴涓紙涓嶆敮鎸佸悓鏃跺嚭鐜板涓� tagsView 鏍囩锛夛級銆傚叧闂椂锛氾紙澶氫釜璺敱鑿滃崟鍏辩敤涓�涓鎯呯粍浠讹紝鍙傛暟涓嶅悓锛屼細鍚屾椂鍑虹幇澶氫釜 tagsView 鏍囩锛�
+- 馃悶 淇 tagsView 鍏辩敤锛堝崟鏍囩锛夋椂锛屽彸閿彍鍗曞姛鑳界偣鍑伙紝鍙傛暟涓嶅鐨勯棶棰橈紙绗� 2n+涓弬鏁版湭瑕嗙洊绗竴涓弬鏁板�硷級
+- 馃悶 淇 澶� tagsView 鏍囩锛堝弬鏁颁笉鍚岋級銆佸崟涓� tagsView 鏍囩鍏敤锛堝弬鏁颁笉鍚岋級鎵�甯︽潵鐨勫埛鏂板姛鑳姐�佹í鍚戣嚜鍔ㄦ粴鍔ㄧ瓑闂
+- 馃悶 淇 澶勭悊鍏ㄥ睆鑻ュ共闂锛�<a href="https://gitee.com/lyt-top/vue-next-admin/pulls/12" target="_blank">pr!12</a>锛屾劅璋㈢兢鍙婡鍙︿竴涓墠绔�
+
+## 1.0.13
+
+`2021.07.25`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃帀 鏂板 鏁版嵁鍙鍖栨紨绀虹晫闈紙/visualizingDemo1銆�/visualizingDemo2锛�
+- 馃帀 鏂板 鐧诲綍椤垫壂鐮佺櫥褰�
+
+## 1.0.12
+
+`2021.07.16`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃帀 鏂板 鏁版嵁鍙鍖栨紨绀虹┖鐣岄潰锛堝緟瀹屽杽锛�
+- 馃幆 浼樺寲 tagsView 鍔ㄦ�佽矾鐢憋紙xxx/:id/:name锛夋椂鐨勫彸閿彍鍗曞埛鏂般�佸叧闂叾瀹冩椂鍙傛暟涓㈠け闂锛�2021.07.15 浼樺寲锛�
+- 馃悶 淇 璺敱甯﹀弬鏁版椂锛屽鍒惰矾寰勫埌鐧诲綍椤碉紝璺宠浆鍚庡弬鏁版秷澶辩殑闂
+- 馃悶 淇 璁剧疆澶氫釜澶栭摼锛岀偣鍑诲悗锛岄〉闈㈠唴瀹瑰仠鐣欏湪涓婁竴涓唴瀹癸紙鍐呭鏈敼鍙橈級銆佸浗闄呭寲澶勭悊銆佹墦寮�鏂扮獥鍙� sessionStorage 鍏变韩绛�
+
+## 1.0.11
+
+`2021.07.14`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃帀 鏂板 璺敱鍙傛暟銆佸浘鐗囨噿鍔犺浇鐣岄潰婕旂ず
+- 鈿狅笍 璀﹀憡 Form 琛ㄥ崟 `binding value must be a string or number`锛岃В鍐筹細鍔犱笂 `label-position="top"` 涓嶆姤璀﹀憡锛堢瓑寰呭畼鏂逛慨澶嶏級
+- 馃幆 浼樺寲 閿佸睆鐣岄潰鍔ㄧ敾鏁堟灉銆侀椤靛浘琛ㄦ樉绀�
+- 馃幆 浼樺寲 tagsView 鍙抽敭鑿滃崟 `鍏抽棴` 鍔熻兘閫昏緫
+- 馃悶 淇 寮�鍚� TagsView 鎷栨嫿鎶ラ敊鍙婂皬浜� `1000px` 鏃惰嚜鍔ㄨ缃姝㈡嫋鎷斤紙<a href="https://gitee.com/lyt-top/vue-next-admin/issues/I3ZRRI" target="_blank">#I3ZRRI</a>锛�
+- 馃悶 淇 `iframe 鍐呭祵銆佸閾綻 楂樺害闂锛屼娇鐢� computed 杩涜璁$畻
+- 馃悶 淇 榛樿甯冨眬寮�鍚� `渚ц竟鏍� Logo` 涓庡叧闂� `鑿滃崟姘村钩鎶樺彔`锛屽垏鎹㈠埌妯悜甯冨眬鏃讹紝鑿滃崟鐪嬩笉瑙佺殑闂
+- 馃悶 淇 鍒囨崲涓嶅悓甯冨眬鏃讹紝鍐嶅幓寮�鍚� `缁忓吀甯冨眬鍒嗗壊鑿滃崟` 鍔熻兘涓嶇敓鏁堥棶棰�
+- 馃悶 淇 娴忚鍣ㄧ獥鍙f爣棰樹腑/鑻辨枃鍒囨崲涓嶅疄鏃剁敓鏁堢殑闂
+- 馃悶 淇 鍒囨崲甯冨眬鏃讹紝鏌愪簺鍔熻兘涓嶅彲浠ヤ娇鐢ㄣ�傞儴鍒嗙晫闈笉闇�瑕佸彇娑堜簨浠剁洃鍚�(proxy.mittBus.off('xxx'))
+- 馃悶 淇 鍔ㄦ�佽矾鐢卞甫鍙傛暟锛宺outer-link 璺宠浆闂锛�<a href="hhttps://gitee.com/lyt-top/vue-next-admin/issues/I3YX6G" target="_blank">#I3YX6G</a>锛�
+- 馃悶 淇 妯悜鑿滃崟鏈変簩绾ц彍鍗曟椂锛岀偣鍑诲瓙绾ц彍鍗曚笉楂樹寒闂
+- 馃悶 淇 鍔熻兘 tagsView 鎿嶄綔婕旂ず涓嶇敓鏁�
+
+## 1.0.10
+
+`2021.07.07`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈紙瀛椾綋鍥炬爣鏃犻棶棰橈級
+- 馃幆 浼樺寲 鍐呭祵 iframe銆佸閾撅紝瑙e喅 tagsView 鍒锋柊闂
+
+## 1.0.9
+
+`2021.07.02`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃幆 浼樺寲 鍥炬爣閫夋嫨鍣ㄨ缃搴︺�乿-model 绛夐棶棰�
+- 馃幆 浼樺寲 婊氬姩閫氱煡鏍忓湪鎵嬫満涓婄殑浣撻獙
+- 馃幆 浼樺寲 绯荤粺绠$悊/鏂板鑿滃崟锛堢紪杈戣彍鍗曪級锛屼娇鐢� `鍥炬爣閫夋嫨鍣╜ 杩涜妯℃嫙
+- 馃幆 浼樺寲 瀛椾綋鍥炬爣(鑷姩杞藉叆) 閫昏緫
+- 馃悶 淇 screenfull 鍏ㄥ睆鏃讹紝鎸夐敭鐩� esc 閿浘鏍囦笉鏀瑰彉闂锛屾劅璋㈢兢鍙婡浼墮宸查亣閽熷瓙鏈�
+
+## 1.0.8
+
+`2021.06.29`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃帀 鏂板 琛ㄥ崟涓嫳鏂囧垏鎹㈡紨绀�
+- 馃幆 浼樺寲 鐧诲綍椤垫煡鐪嬪瘑鐮� icon 鍥炬爣
+- 馃幆 浼樺寲 鍥炬爣閫夋嫨鍣�
+- 馃幆 浼樺寲 鎷栧姩鎸囦护
+- 馃悶 淇 form 琛ㄥ崟鍦ㄩ〉闈㈠皬浜� 576px 鏃剁殑鎺掔増闂
+
+## 1.0.7
+
+`2021.06.24`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃帀 鏂板 鎷栧姩鎸囦护鍙婂叾婕旂ず鐣岄潰
+- 馃幆 浼樺寲 閿佸睆鐣岄潰锛岃В閿佹彁绀�
+- 馃幆 浼樺寲 鐧诲綍椤靛湪鎵嬫満涓婃樉绀虹殑鏁堟灉
+
+## 1.0.6
+
+`2021.06.23`
+
+- 馃幆 浼樺寲 鍘绘帀鍐呭祵 iframe 鍐呰竟璺濓紙padding锛�
+- 馃幆 浼樺寲 鍩庡競澶氱骇鑱斿姩缁勪欢
+- 馃幆 浼樺寲 Tree 鏍戝舰鎺т欢鏀规垚琛ㄦ牸缁勪欢
+- 馃悶 淇 Cascader 绾ц仈閫夋嫨鍣ㄩ珮搴﹂棶棰�
+
+## 1.0.5
+
+`2021.06.22`
+
+- 馃専 鏇存柊 vite 闄嶇骇涓篅vite2.3.7锛岄檷绾ф柟娉� `cnpm install vite@2.3.7`锛岄槻姝� element plus 瀛椾綋鍥炬爣娑堝け
+- 馃悶 淇 寮�鍚悗绔帶鍒惰矾鐢憋紙isRequestRoutes = true锛夋椂锛屽唴宓� iframe銆佸閾句笉鍙娇鐢ㄧ殑闂
+
+## 1.0.4
+
+`2021.06.19`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈紙"vite": "^2.3.7"锛夌儹鏇存柊鏃犻棶棰�
+- 馃帀 鏂板 娣卞厠闅嗗伐鍏凤紝鏂逛究寮�鍙戯紝鎰熻阿<a href="https://gitee.com/kangert" target="_blank">@kangert</a>(<a href="https://gitee.com/lyt-top/vue-next-admin/pulls/6" target="_blank">#6</a>)
+- 馃幆 浼樺寲 vuex 妯″潡鑷姩瀵煎叆銆傛劅璋�<a href="https://gitee.com/kangert" target="_blank">@kangert</a>(<a href="https://gitee.com/lyt-top/vue-next-admin/pulls/4" target="_blank">#4</a>)锛屾劅璋㈢兢鍙婡web 灏忓鐢�-绗簲鍚�
+- 馃幆 浼樺寲 绫诲瀷瀹氫箟鎻愰珮缂栫爜浣撻獙锛屼慨澶嶄笉鑳藉皢绫诲瀷鈥渟tring | undefined鈥濆垎閰嶇粰绫诲瀷鈥渟tring鈥濈殑闂銆傛劅璋�<a href="https://gitee.com/kangert" target="_blank">@kangert</a>(<a href="https://gitee.com/lyt-top/vue-next-admin/pulls/5" target="_blank">#5</a>)
+- 馃幆 浼樺寲 `layout` 鏂囦欢澶圭Щ鍔ㄥ埌涓� `views` 鏂囦欢澶瑰悓绾э紙鏀瑰姩杈冨ぇ锛宍/@/views/layout` 鍙樻垚 `/@/layout`锛�
+- 馃幆 浼樺寲 椤甸潰鏈� `console.log` 鏃� `eslint` 涓嶇敓鏁堥棶棰�
+- 馃幆 浼樺寲 椤甸潰銆乼s 涓� `any` 绫诲瀷闂锛堟敼鍔ㄨ緝澶э級
+- 馃幆 浼樺寲 鐧诲綍椤靛湪鎵嬫満涓婃樉绀虹殑鏁堟灉
+- 馃幆 浼樺寲 澶氳娉ㄩ噴淇℃伅锛岄紶鏍囨斁鍒版柟娉曞悕鍗冲彲鏌ョ湅锛屾洿鍔犵洿瑙傜殑鐭ラ亾鏂规硶鍙傛暟绛夈�傚紩鍏ユ柟娉曟椂闇�鍘绘帀浠� `.ts` 缁撳熬鐨勫悗缂�锛堟敼鍔ㄨ緝澶э級
+- 馃幆 浼樺寲 绉婚櫎 `utils/storage.ts` 涓嬬殑鏃у啓娉曪紙鏀瑰姩杈冨ぇ锛�
+- 馃幆 浼樺寲 鎷嗗垎 `router` 涓嬪唴瀹癸紝璺敱銆佸墠绔�佸悗绔帶鍒跺垎寮�鍐欙紝鏂逛究鐞嗚В
+- 馃悶 淇 榧犳爣绉诲叆椤堕儴鐢ㄦ埛淇℃伅鏍� `寮�/鍏冲叏灞廯 鏂囧瓧鍙嶅悜闂
+- 馃悶 淇 鐑洿鏂版椂锛孨extLoading锛堢晫闈� loading锛� 涓嶆秷澶遍棶棰� `window.nextLoading === undefined`
+- 馃悶 淇 vuex 涓笉鍙互浣跨敤 `/@/api/xxx` 涓嬬殑鎺ュ彛璋冪敤闂
+
+## 1.0.3
+
+`2021.06.02`
+
+- 鉂勶笍 鍒犻櫎 G6 鎬濈淮瀵煎浘鐣岄潰
+- 馃専 鏇存柊 鎵嬪姩鏇存柊 vue銆乿ue-router銆乿uex 鍒版渶杩戞渶澶氫汉浣跨敤鐨勭増鏈紝鍑虹幇涓嶅彲棰勬祴鐨勯棶棰樿闄嶄綆鐗堟湰銆傜増鏈煡鐪嬶細<a href="https://www.npmjs.com/package/vue" target="_blank">vue 鐗堟湰鏌ョ湅</a>
+- 馃悶 淇 寮�鍚悗绔帶鍒惰矾鐢� `isRequestRoutes` 鍦ㄩ潪棣栭〉鍒锋柊椤甸潰鍚庯紝鍥炲埌棣栭〉鐨勯棶棰橈紝鎰熻阿缇ゅ弸@浼墮宸查亣閽熷瓙鏈�
+
+## 1.0.2
+
+`2021.06.01`
+
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃悶 淇 鑿滃崟鎼滅储涓枃涓嶅彲浠ユ悳绱㈢殑闂锛屾劅璋㈢兢鍙婡閫嶉仴澶╂剰
+
+## 1.0.1
+
+`2021.05.31`
+
+- 馃帀 鏂板 鏇存柊鏃ュ織鏂囦欢 `CHANGELOG.md`锛屼互鍚庢瘡娆℃洿鏂伴兘浼氬湪杩欓噷鏄剧ず瀵瑰簲鍐呭
+- 馃専 鏇存柊 渚濊禆鏇存柊鏈�鏂扮増鏈�
+- 馃悶 淇 鍒嗘爮銆佺粡鍏稿竷灞�璺敱璁剧疆 `meta.isHide` 涓� `true` 鏃舵姤閿欓棶棰橈紝鎰熻阿缇ゅ弸@29銆丂鑺姯鎷�
+- 馃悶 淇 缁忓吀甯冨眬鐐瑰嚮 `tagsView` 宸︿晶鑿滃崟鏁版嵁涓嶅彉闂
diff --git a/LA24030_LuLiPackageLine_Web/LICENSE b/LA24030_LuLiPackageLine_Web/LICENSE
new file mode 100644
index 0000000..6f6a7ea
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021 lyt-Top
+
+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.
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/README.md b/LA24030_LuLiPackageLine_Web/README.md
new file mode 100644
index 0000000..ca551ca
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/README.md
@@ -0,0 +1,67 @@
+<div align="center">
+	<img src="https://i.hd-r.cn/6ce52e5724fae609444b5b48bdc4accb.png">
+	<p align="center">
+		<a href="https://v3.vuejs.org/" target="_blank">
+			<img src="https://img.shields.io/badge/vue.js-vue3.x-green" alt="vue">
+		</a>
+		<a href="https://element-plus.gitee.io/#/zh-CN/component/changelog" target="_blank">
+			<img src="https://img.shields.io/badge/element--plus-%3E1.0.0-blue" alt="element plus">
+		</a>
+		<a href="https://www.tslang.cn/" target="_blank">
+	    <img src="https://img.shields.io/badge/typescript-%3E4.0.0-blue" alt="typescript">
+	  </a>
+		<a href="https://vitejs.dev/" target="_blank">
+		  <img src="https://img.shields.io/badge/vite-%3E2.0.0-yellow" alt="vite">
+		</a>
+		<a href="https://gitee.com/lyt-top/vue-next-admin/blob/master/LICENSE" target="_blank">
+		  <img src="https://img.shields.io/badge/license-MIT-success" alt="license">
+		</a>
+	</p>
+	<p>&nbsp;</p>
+</div>
+
+#### 馃寛 浠嬬粛
+
+鍩轰簬 vue3.x + CompositionAPI setup 璇硶绯� + typescript + vite + element plus + vue-router-next + pinia 鎶�鏈紝閫傞厤鎵嬫満銆佸钩鏉裤�乸c 鐨勫悗鍙板紑婧愬厤璐规ā鏉匡紝甯屾湜鍑忓皯宸ヤ綔閲忥紝甯姪澶у瀹炵幇蹇�熷紑鍙戙��
+
+#### 鉀憋笍 绾夸笂棰勮
+
+- vue3.x 鐗堟湰棰勮锛坴ue-next-admin锛�<a href="https://lyt-top.gitee.io/vue-next-admin-preview/#/login" target="_blank">https://lyt-top.gitee.io/vue-next-admin-preview/#/login</a>
+- vue3.x + uni-app 鍟嗗煄 H5锛坴ue-next-admin-shop锛�<a href="https://lyt-top.gitee.io/vue-next-admin-shop-preview" target="_blank">https://lyt-top.gitee.io/vue-next-admin-shop-preview</a>
+
+#### 馃拻 浠g爜浠撳簱
+
+- vue3.x 鐗堟湰 <a href="https://gitee.com/lyt-top/vue-next-admin" target="_blank">https://gitee.com/lyt-top/vue-next-admin</a>
+
+#### 馃毀 瀹夎 cnpm銆亂arn
+
+- 澶嶅埗浠g爜(妗岄潰 cmd 杩愯) `npm install -g pnpm --registry=https://registry.npm.taobao.org`
+
+#### 馃彮 鐜鏀寔
+
+| Edge      | Firefox      | Chrome      | Safari      |
+| --------- | ------------ | ----------- | ----------- |
+| Edge 鈮� 88 | Firefox 鈮� 78 | Chrome 鈮� 87 | Safari 鈮� 13 |
+
+> 鐢变簬 Vue3 涓嶅啀鏀寔 IE11锛屾晠鑰� ElementPlus 涔熶笉鏀寔 IE11 鍙婁箣鍓嶇増鏈��
+
+#### 鈿� 浣跨敤璇存槑
+
+寤鸿浣跨敤 pnpm锛屽洜涓� yarn 鏈夋椂浼氭姤閿欍��<a href="http://nodejs.cn/" target="_blank">node 鐗堟湰 > 14.18+/16+</a>
+
+> Vite 涓嶅啀鏀寔 Node 12 / 13 / 15锛屽洜涓轰笂杩扮増鏈凡缁忚繘鍏ヤ簡 EOL 闃舵銆傜幇鍦ㄤ綘蹇呴』浣跨敤 Node 14.18+ / 16+ 鐗堟湰銆�
+
+```bash
+# 瀹夎渚濊禆
+pnpm install
+
+# 杩愯椤圭洰
+pnpm run dev
+
+# 鎵撳寘鍙戝竷
+pnpm run build
+```
+
+#### 馃摎 寮�鍙戞枃妗�
+
+- 鏌ョ湅寮�鍙戞枃妗o細<a href="https://lyt-top.gitee.io/vue-next-admin-doc-preview" target="_blank">vue-next-admin-doc</a>
diff --git a/LA24030_LuLiPackageLine_Web/api_build/.gitignore b/LA24030_LuLiPackageLine_Web/api_build/.gitignore
new file mode 100644
index 0000000..f23b948
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/api_build/.gitignore
@@ -0,0 +1 @@
+*.jar
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/api_build/build.bat b/LA24030_LuLiPackageLine_Web/api_build/build.bat
new file mode 100644
index 0000000..ca72b6d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/api_build/build.bat
@@ -0,0 +1,27 @@
+@echo off
+CHCP 65001
+
+set dir=%~dp0
+
+set apiServicesPath=%dir%..\src\api-services\
+
+if exist %apiServicesPath% (
+    echo ================================ 鍒犻櫎鐩綍 api-services ================================
+    rd /s /q %apiServicesPath%
+)
+
+echo ================================ 寮�濮嬬敓鎴� api-services ================================
+
+java -jar %dir%swagger-codegen-cli.jar generate -i http://localhost:5005/swagger/All%%20Groups/swagger.json -l typescript-axios -o %apiServicesPath%
+
+@rem 鍒犻櫎涓嶅繀瑕佺殑鏂囦欢鍜屾枃浠跺す
+rd /s /q %apiServicesPath%.swagger-codegen
+del /q %apiServicesPath%.gitignore
+del /q %apiServicesPath%.npmignore
+del /q %apiServicesPath%.swagger-codegen-ignore
+del /q %apiServicesPath%git_push.sh
+del /q %apiServicesPath%package.json
+del /q %apiServicesPath%README.md
+del /q %apiServicesPath%tsconfig.json
+
+echo ================================ 鐢熸垚缁撴潫 ================================
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/api_build/build.sh b/LA24030_LuLiPackageLine_Web/api_build/build.sh
new file mode 100644
index 0000000..75b792b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/api_build/build.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+currPath=$(pwd)
+parentPath=$(dirname "$currPath")
+apiServicesPath=${parentPath}/src/api-services/
+
+echo "================================ 鐢熸垚鐩綍 ${apiServicesPath} ================================"
+
+# 鍒ゆ柇鐩綍鏄惁瀛樺湪
+if test -d "$apiServicesPath"; then
+  echo "================================ 鍒犻櫎鐩綍 api-services ================================"
+  rm -rf "${apiServicesPath}"
+fi
+
+echo "================================ 寮�濮嬬敓鎴� api-services ================================"
+
+java -jar "${currPath}"/swagger-codegen-cli.jar generate -i http://localhost:5005/swagger/All%20Groups/swagger.json -l typescript-axios -o "${apiServicesPath}"
+
+rm -rf "${apiServicesPath}".swagger-codegen
+rm -f "${apiServicesPath}".gitignore
+rm -f "${apiServicesPath}".npmignore
+rm -f "${apiServicesPath}".swagger-codegen-ignore
+rm -f "${apiServicesPath}"git_push.sh
+rm -f "${apiServicesPath}"package.json
+rm -f "${apiServicesPath}"README.md
+rm -f "${apiServicesPath}"tsconfig.json
+
+echo "================================ 鐢熸垚缁撴潫 ================================"
diff --git a/LA24030_LuLiPackageLine_Web/api_build/readme.md b/LA24030_LuLiPackageLine_Web/api_build/readme.md
new file mode 100644
index 0000000..b9a815e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/api_build/readme.md
@@ -0,0 +1,40 @@
+# 鍓嶇 API 璇锋眰浠g悊鐢熸垚
+
+鍓嶇 API 璇锋眰浠g悊锛屽彲浠ラ�氳繃 swagger.json 鐢熸垚 typescript-axios 瀹㈡埛绔殑鏂瑰紡鐢熸垚锛岀劧鍚庢嫹璐濆埌 src/api-services 鏂囦欢澶�
+
+## 鎵嬪姩鐢熸垚
+
+- 鎵撳紑 https://editor.swagger.io/
+- 鎷疯礉 swagger.json 鍐呭鍒扮綉绔欏乏渚�
+- 閫夋嫨椤堕儴銆怗enerate Client銆�-銆恡ypescript-axios銆戠敓鎴愬鎴风骞朵笅杞�
+- 灏嗕笅杞界殑 zip 鍐呭鎷疯礉鍒� src/api-services 鏂囦欢澶逛腑鏇挎崲
+  > 璇︽儏鍙傜収 https://furion.baiqian.ltd/docs/clientapi#563-%E7%94%9F%E6%88%90%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%AF%B7%E6%B1%82%E4%BB%A3%E7%A0%81
+
+## 鑴氭湰涓�閿敓鎴�
+
+Swagger Codegen 璇诲彇 swagger.json 鐢熸垚 typescript-axios 瀹㈡埛绔悗锛岀洿鎺ユ嫹璐濆埌 src/api-services 鏂囦欢澶逛腑
+
+> Swagger Codegen 鍙互閫氳繃涓轰换浣� API 鐢熸垚鏈嶅姟绔唬鐮佸拰瀹㈡埛绔唬鐮佺殑鏂瑰紡鏉ョ畝鍖� OpenAPI 鐨勬瀯寤鸿繃绋嬶紝鍥犳锛岄」鐩紑鍙戝洟闃熷彲浠ユ洿濂藉湴鍏虫敞 API 鐨勫疄鐜板拰搴旂敤
+> Github锛歨ttps://github.com/swagger-api/swagger-codegen
+
+### 鐜鍑嗗
+
+- 瀹夎 Java 杩愯鏃讹紝鏈�浣庤姹� Java 8
+
+  - 鍙娇鐢� Microsoft Build of OpenJDK
+  - 涓嬭浇鍦板潃锛歨ttps://learn.microsoft.com/zh-cn/java/openjdk/download
+
+- 璁剧疆 JAVA_HOME 鐜鍙橀噺
+- 涓嬭浇 Swagger Codegen
+
+  - 3.0.41 涓嬭浇鍦板潃锛歨ttps://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.41/swagger-codegen-cli-3.0.41.jar
+  - 鍙嚜琛屼笅杞藉叾浠栨洿楂樼増鏈�
+  - 涓嬭浇鍚庯紝灏嗘枃浠堕噸鍛藉悕涓� `swagger-codegen-cli.jar` 骞舵斁鍒板綋鍓嶇洰褰曚笅
+
+### 濡備綍浣跨敤
+
+- 鍚姩 API 绔湇鍔★紝纭繚 http://localhost:5005/ 鍙互璁块棶
+- Windows锛氳繍琛� `build.bat`
+- Linux / Mac锛氳繍琛宍./build.sh`
+
+> http://localhost:5005/ 涓洪粯璁ょ殑 API 鍦板潃锛屽鏋滆杩炴帴鍏朵粬鍦板潃锛岃鑷璋冩暣瀵瑰簲鑴氭湰
diff --git a/LA24030_LuLiPackageLine_Web/index.html b/LA24030_LuLiPackageLine_Web/index.html
new file mode 100644
index 0000000..8742a83
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/index.html
@@ -0,0 +1,23 @@
+<!doctype html>
+<html lang="zh-CN">
+	<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="stylesheet" type="text/css" media="print" href="/print-lock.css" />
+		<link rel="icon" href="/favicon.ico" />
+		<title>鏍囧噯鍖栧師鏉愭枡搴�</title>
+	</head>
+	<body>
+		<div id="app"></div>
+		<script src="/config.js"></script>
+		<script type="module" src="/src/main.ts"></script>
+		<!-- <script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=wsijQt8sLXrCW71YesmispvYHitfG9gv&s=1"></script> -->
+		<!-- <script src="https://res.zvo.cn/translate/translate.js"></script>
+		<script>
+			translate.language.setLocal('english'); //璁剧疆鏈湴璇銆傞粯璁ゆ槸 'chinese_simplified' 绠�浣撲腑鏂囥�� 鍙~鍐欏 'english'銆�'chinese_simplified' 绛夈��
+			translate.listener.start(); // 寮�鍚痟tml椤甸潰鍙樺寲鐨勭洃鎺э紝瀵瑰彉鍖栭儴鍒嗕細杩涜鑷姩缈昏瘧銆傝繖閲屽彉鍖栧尯鍩熸槸鎸囦娇鐢� translate.setDocuments(...) 璁剧疆鐨勫尯鍩熴��
+			translate.execute(); // 鎵ц缈昏瘧鍒濆鍖栨搷浣滐紝鏄剧ず鍑簊elect璇█閫夋嫨
+		</script> -->
+	</body>
+</html>
diff --git a/LA24030_LuLiPackageLine_Web/package.json b/LA24030_LuLiPackageLine_Web/package.json
new file mode 100644
index 0000000..1272365
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/package.json
@@ -0,0 +1,110 @@
+{
+	"name": "椴佷附鏈ㄤ笟鍖呰绾�",
+	"version": "2.4.33",
+	"description": "鎴戠殑鎻忚堪",
+	"author": "weiben",
+	"license": "MIT",
+	"scripts": {
+		"dev": "vite",
+		"build": "vite build",
+		"lint-fix": "eslint --fix --ext .js --ext .jsx --ext .vue src/",
+		"build-api": "cd api_build/ && build.bat"
+	},
+	"dependencies": {
+		"@babel/helper-compilation-targets": "^7.24.8",
+		"@element-plus/icons-vue": "^2.3.1",
+		"@logicflow/core": "^1.2.27",
+		"@logicflow/extension": "^1.2.27",
+		"@microsoft/signalr": "^8.0.0",
+		"@vue-office/docx": "^1.6.1",
+		"@vue-office/excel": "^1.7.8",
+		"@vue-office/pdf": "^2.0.2",
+		"@vueuse/core": "^10.9.0",
+		"@wangeditor/editor": "^5.1.23",
+		"@wangeditor/editor-for-vue": "^5.1.12",
+		"animate.css": "^4.1.1",
+		"axios": "^1.6.8",
+		"countup.js": "^2.8.0",
+		"cropperjs": "^1.6.2",
+		"echarts": "^5.5.0",
+		"echarts-gl": "^2.0.9",
+		"echarts-wordcloud": "^2.1.0",
+		"element-plus": "^2.7.2",
+		"js-cookie": "^3.0.5",
+		"js-table2excel": "^1.1.2",
+		"jsplumb": "^2.15.6",
+		"lodash-es": "^4.17.21",
+		"mitt": "^3.0.1",
+		"monaco-editor": "^0.48.0",
+		"nprogress": "^0.2.0",
+		"or": "^0.2.0",
+		"pinia": "^2.1.7",
+		"print-js": "^1.6.0",
+		"push.js": "^1.0.12",
+		"qrcodejs2-fixes": "^0.0.2",
+		"qs": "^6.12.1",
+		"relation-graph": "^2.2.0",
+		"screenfull": "^6.0.2",
+		"sm-crypto-v2": "^1.9.0",
+		"sortablejs": "^1.15.2",
+		"splitpanes": "^3.1.5",
+		"vcrontab-3": "^3.3.22",
+		"vform3-builds": "^3.0.10",
+		"vue": "^3.4.26",
+		"vue-clipboard3": "^2.0.0",
+		"vue-demi": "^0.14.7",
+		"vue-grid-layout": "3.0.0-beta1",
+		"vue-i18n": "^9.13.1",
+		"vue-json-pretty": "^2.4.0",
+		"vue-plugin-hiprint": "0.0.57-beta20",
+		"vue-router": "^4.3.2",
+		"vue-signature-pad": "^3.0.2",
+		"vue3-tree-org": "^4.2.2",
+		"xlsx-js-style": "^1.2.0"
+	},
+	"devDependencies": {
+		"@plugin-web-update-notification/vite": "^1.7.1",
+		"@types/lodash-es": "^4.17.12",
+		"@types/node": "^20.12.8",
+		"@types/nprogress": "^0.2.3",
+		"@types/sortablejs": "^1.15.8",
+		"@typescript-eslint/eslint-plugin": "^7.8.0",
+		"@typescript-eslint/parser": "^7.8.0",
+		"@vitejs/plugin-vue": "^5.0.4",
+		"@vitejs/plugin-vue-jsx": "^3.1.0",
+		"@vue/compiler-sfc": "^3.4.26",
+		"code-inspector-plugin": "^0.13.0",
+		"eslint": "^9.2.0",
+		"eslint-plugin-vue": "^9.25.0",
+		"less": "^4.2.0",
+		"prettier": "^3.2.5",
+		"rollup-plugin-visualizer": "^5.12.0",
+		"sass": "^1.76.0",
+		"terser": "^5.31.0",
+		"typescript": "^5.4.5",
+		"vite": "^5.2.11",
+		"vite-plugin-cdn-import": "^1.0.1",
+		"vite-plugin-compression2": "^1.1.0",
+		"vite-plugin-vue-setup-extend-plus": "^0.1.0",
+		"vue-eslint-parser": "^9.4.2"
+	},
+	"browserslist": [
+		"> 1%",
+		"last 2 versions",
+		"not dead"
+	],
+	"engines": {
+		"node": ">=16.0.0",
+		"npm": ">= 7.0.0"
+	},
+	"keywords": [
+		"admin.net",
+		"vue",
+		"vue3",
+		"vuejs/vue-next",
+		"element-ui",
+		"element-plus",
+		"vue-next-admin",
+		"next-admin"
+	]
+}
diff --git a/LA24030_LuLiPackageLine_Web/public/config.js b/LA24030_LuLiPackageLine_Web/public/config.js
new file mode 100644
index 0000000..5bdf282
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/public/config.js
@@ -0,0 +1,8 @@
+window.__env__ = {
+  "VITE_PORT": "8888",
+  "VITE_OPEN": "false",
+  "VITE_OPEN_CDN": "false",
+  "VITE_PUBLIC_PATH": "",
+  "VITE_SM_PUBLIC_KEY": "0484C7466D950E120E5ECE5DD85D0C90EAA85081A3A2BD7C57AE6DC822EFCCBD66620C67B0103FC8DD280E36C3B282977B722AAEC3C56518EDCEBAFB72C5A05312",
+  "VITE_API_URL": "http://localhost:5005"
+} 
\ No newline at end of file
diff --git "a/LA24030_LuLiPackageLine_Web/public/favicon - \345\211\257\346\234\254.ico" "b/LA24030_LuLiPackageLine_Web/public/favicon - \345\211\257\346\234\254.ico"
new file mode 100644
index 0000000..487b95a
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Web/public/favicon - \345\211\257\346\234\254.ico"
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Web/public/favicon.ico b/LA24030_LuLiPackageLine_Web/public/favicon.ico
new file mode 100644
index 0000000..51447ae
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/public/favicon.ico
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Web/public/print-lock.css b/LA24030_LuLiPackageLine_Web/public/print-lock.css
new file mode 100644
index 0000000..aede018
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/public/print-lock.css
@@ -0,0 +1,349 @@
+@media print {
+  body {
+    margin: 0px;
+    padding: 0px;
+  }
+}
+
+@page {
+  margin: 0;
+}
+
+.hiprint-printPaper * {
+  box-sizing: border-box;
+  -moz-box-sizing: border-box; /* Firefox */
+  -webkit-box-sizing: border-box; /* Safari */
+}
+
+.hiprint-printPaper *:focus {
+  outline: -webkit-focus-ring-color auto 0px;
+}
+
+.hiprint-printPaper {
+  position: relative;
+  padding: 0 0 0 0;
+  page-break-after: always;
+  -webkit-user-select: none; /* Chrome/Safari/Opera */
+  -moz-user-select: none; /* Firefox */
+  user-select: none;
+  overflow-x: hidden;
+  overflow: hidden;
+}
+
+.hiprint-printPaper .hiprint-printPaper-content {
+  position: relative;
+}
+
+/* 鐏嫄娴忚鍣ㄦ墦鍗� 绗竴椤佃繃鍚� 閲嶅彔闂 */
+@-moz-document url-prefix() {
+  .hiprint-printPaper .hiprint-printPaper-content {
+    position: relative;
+    margin-top: 20px;
+    top: -20px
+  }
+}
+
+.hiprint-printPaper.design {
+  overflow: visible;
+}
+
+
+.hiprint-printTemplate .hiprint-printPanel {
+  page-break-after: always;
+}
+
+.hiprint-printPaper, hiprint-printPanel {
+  box-sizing: border-box;
+  border: 0px;
+}
+
+.hiprint-printPanel .hiprint-printPaper:last-child {
+  page-break-after: avoid;
+}
+
+.hiprint-printTemplate .hiprint-printPanel:last-child {
+  page-break-after: avoid;
+}
+
+.hiprint-printPaper .hideheaderLinetarget {
+  border-top: 0px dashed rgb(201, 190, 190) !important;
+}
+
+.hiprint-printPaper .hidefooterLinetarget {
+  border-top: 0px dashed rgb(201, 190, 190) !important;
+}
+
+.hiprint-printPaper.design {
+  border: 1px dashed rgba(170, 170, 170, 0.7);
+}
+
+.design .hiprint-printElement-table-content, .design .hiprint-printElement-longText-content {
+  overflow: hidden;
+  box-sizing: border-box;
+}
+
+.design .resize-panel {
+  box-sizing: border-box;
+  border: 1px dotted;
+}
+
+.hiprint-printElement-text {
+  background-color: transparent;
+  background-repeat: repeat;
+  padding: 0 0 0 0;
+  border: 0.75pt none rgb(0, 0, 0);
+  direction: ltr;
+  font-family: 'SimSun';
+  font-size: 9pt;
+  font-style: normal;
+  font-weight: normal;
+  padding-bottom: 0pt;
+  padding-left: 0pt;
+  padding-right: 0pt;
+  padding-top: 0pt;
+  text-align: left;
+  text-decoration: none;
+  line-height: 9.75pt;
+  box-sizing: border-box;
+  word-wrap: break-word;
+  word-break: break-all;
+}
+
+.design .hiprint-printElement-text-content {
+  border: 1px dashed rgb(206, 188, 188);
+  box-sizing: border-box;
+}
+
+.hiprint-printElement-longText {
+  background-color: transparent;
+  background-repeat: repeat;
+  border: 0.75pt none rgb(0, 0, 0);
+  direction: ltr;
+  font-family: 'SimSun';
+  font-size: 9pt;
+  font-style: normal;
+  font-weight: normal;
+  padding-bottom: 0pt;
+  padding-left: 0pt;
+  padding-right: 0pt;
+  padding-top: 0pt;
+  text-align: left;
+  text-decoration: none;
+  line-height: 9.75pt;
+  box-sizing: border-box;
+  word-wrap: break-word;
+  word-break: break-all;
+  /*white-space: pre-wrap*/
+}
+
+
+.hiprint-printElement-table {
+  background-color: transparent;
+  background-repeat: repeat;
+  color: rgb(0, 0, 0);
+  border-color: rgb(0, 0, 0);
+  border-style: none;
+  direction: ltr;
+  font-family: 'SimSun';
+  font-size: 9pt;
+  font-style: normal;
+  font-weight: normal;
+  padding-bottom: 0pt;
+  padding-left: 0pt;
+  padding-right: 0pt;
+  padding-top: 0pt;
+  text-align: left;
+  text-decoration: none;
+  padding: 0 0 0 0;
+  box-sizing: border-box;
+  line-height: 9.75pt;
+}
+
+.hiprint-printElement-table thead {
+  background: #e8e8e8;
+  font-weight: 700;
+}
+
+table.hiprint-printElement-tableTarget {
+  width: 100%;
+}
+
+.hiprint-printElement-tableTarget, .hiprint-printElement-tableTarget tr, .hiprint-printElement-tableTarget td {
+  border-color: rgb(0, 0, 0);
+  /*border-style: none;*/
+  /*border: 1px solid rgb(0, 0, 0);*/
+  font-weight: normal;
+  direction: ltr;
+  padding-bottom: 0pt;
+  padding-left: 4pt;
+  padding-right: 4pt;
+  padding-top: 0pt;
+  text-decoration: none;
+  vertical-align: middle;
+  box-sizing: border-box;
+  word-wrap: break-word;
+  word-break: break-all;
+  /*line-height: 9.75pt;
+  font-size: 9pt;*/
+}
+
+.hiprint-printElement-tableTarget-border-all {
+  border: 1px solid;
+}
+.hiprint-printElement-tableTarget-border-none {
+  border: 0px solid;
+}
+.hiprint-printElement-tableTarget-border-lr {
+  border-left: 1px solid;
+  border-right: 1px solid;
+}
+.hiprint-printElement-tableTarget-border-left {
+  border-left: 1px solid;
+}
+.hiprint-printElement-tableTarget-border-right {
+  border-right: 1px solid;
+}
+.hiprint-printElement-tableTarget-border-tb {
+  border-top: 1px solid;
+  border-bottom: 1px solid;
+}
+.hiprint-printElement-tableTarget-border-top {
+  border-top: 1px solid;
+}
+.hiprint-printElement-tableTarget-border-bottom {
+  border-bottom: 1px solid;
+}
+
+.hiprint-printElement-tableTarget-border-td-none td {
+  border: 0px solid;
+}
+.hiprint-printElement-tableTarget-border-td-all td:not(:nth-last-child(-n+2)) {
+  border-right: 1px solid;
+}
+.hiprint-printElement-tableTarget-border-td-all td:last-child {
+  border-left: 1px solid;
+}
+.hiprint-printElement-tableTarget-border-td-all td:last-child:first-child {
+  border-left: none;
+}
+
+/*.hiprint-printElement-tableTarget tr,*/
+.hiprint-printElement-tableTarget td {
+  height: 18pt;
+}
+
+.hiprint-printPaper .hiprint-paperNumber {
+  font-size: 9pt;
+}
+
+.design .hiprint-printElement-table-handle {
+  position: absolute;
+  height: 21pt;
+  width: 21pt;
+  background: red;
+  z-index: 1;
+}
+
+.hiprint-printPaper .hiprint-paperNumber-disabled {
+  float: right !important;
+  right: 0 !important;
+  color: gainsboro !important;
+}
+
+.hiprint-printElement-vline, .hiprint-printElement-hline {
+  border: 0px none rgb(0, 0, 0);
+
+}
+
+.hiprint-printElement-vline {
+  border-left: 0.75pt solid #000;
+  border-right: 0px none rgb(0, 0, 0) !important;
+  border-bottom: 0px none rgb(0, 0, 0) !important;
+  border-top: 0px none rgb(0, 0, 0) !important;
+}
+
+.hiprint-printElement-hline {
+  border-top: 0.75pt solid #000;
+  border-right: 0px none rgb(0, 0, 0) !important;
+  border-bottom: 0px none rgb(0, 0, 0) !important;
+  border-left: 0px none rgb(0, 0, 0) !important;
+}
+
+.hiprint-printElement-oval, .hiprint-printElement-rect {
+  border: 0.75pt solid #000;
+}
+
+.hiprint-text-content-middle {
+}
+
+.hiprint-text-content-middle > div {
+  display: grid;
+  align-items: center;
+}
+
+.hiprint-text-content-bottom {
+}
+
+.hiprint-text-content-bottom > div {
+  display: grid;
+  align-items: flex-end;
+}
+
+.hiprint-text-content-wrap {
+}
+
+.hiprint-text-content-wrap .hiprint-text-content-wrap-nowrap {
+  white-space: nowrap;
+}
+
+.hiprint-text-content-wrap .hiprint-text-content-wrap-clip {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: clip;
+}
+
+.hiprint-text-content-wrap .hiprint-text-content-wrap-ellipsis {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+/*hi-grid-row */
+.hi-grid-row {
+  position: relative;
+  height: auto;
+  margin-right: 0;
+  margin-left: 0;
+  zoom: 1;
+  display: block;
+  box-sizing: border-box;
+}
+
+.hi-grid-row::after, .hi-grid-row::before {
+  display: table;
+  content: '';
+  box-sizing: border-box;
+}
+
+.hi-grid-col {
+  display: block;
+  box-sizing: border-box;
+  position: relative;
+  float: left;
+  flex: 0 0 auto;
+}
+
+.table-grid-row {
+  margin-left: -0pt;
+  margin-right: -0pt;
+}
+
+.tableGridColumnsGutterRow {
+  padding-left: 0pt;
+  padding-right: 0pt;
+}
+
+.hiprint-gridColumnsFooter {
+  text-align: left;
+  clear: both;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/App.vue b/LA24030_LuLiPackageLine_Web/src/App.vue
new file mode 100644
index 0000000..8868a2d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/App.vue
@@ -0,0 +1,127 @@
+<template>
+	<el-config-provider :size="getGlobalComponentSize" :locale="getGlobalI18n">
+		<router-view v-show="setLockScreen" />
+		<LockScreen v-if="themeConfig.isLockScreen" />
+		<Setings ref="setingsRef" v-show="setLockScreen" />
+		<CloseFull v-if="!themeConfig.isLockScreen" />
+		<!-- <Upgrade v-if="needUpdate" /> -->
+		<!-- <Sponsors /> -->
+	</el-config-provider>
+</template>
+
+<script setup lang="ts" name="app">
+import { defineAsyncComponent, computed, ref, onBeforeMount, onMounted, onUnmounted, nextTick, watch } from 'vue';
+import { useRoute } from 'vue-router';
+import { useI18n } from 'vue-i18n';
+import { storeToRefs } from 'pinia';
+import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import other from '/@/utils/other';
+import { Local, Session } from '/@/utils/storage';
+import mittBus from '/@/utils/mitt';
+import setIntroduction from '/@/utils/setIconfont';
+// import checkUpdate from '/@/utils/auto-update';
+
+// 寮曞叆缁勪欢
+const LockScreen = defineAsyncComponent(() => import('/@/layout/lockScreen/index.vue'));
+const Setings = defineAsyncComponent(() => import('/@/layout/navBars/topBar/setings.vue'));
+const CloseFull = defineAsyncComponent(() => import('/@/layout/navBars/topBar/closeFull.vue'));
+// const Upgrade = defineAsyncComponent(() => import('/@/layout/upgrade/index.vue'));
+// const Sponsors = defineAsyncComponent(() => import('/@/layout/sponsors/index.vue'));
+
+// 瀹氫箟鍙橀噺鍐呭
+const { messages, locale } = useI18n();
+const setingsRef = ref();
+const route = useRoute();
+const stores = useTagsViewRoutes();
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const needUpdate = ref(false);
+
+// 璁剧疆閿佸睆鏃剁粍浠舵樉绀洪殣钘�
+const setLockScreen = computed(() => {
+	// 闃叉閿佸睆鍚庯紝鍒锋柊鍑虹幇涓嶇浉鍏崇晫闈�
+	// https://gitee.com/lyt-top/vue-next-admin/issues/I6AF8P
+	return themeConfig.value.isLockScreen ? themeConfig.value.lockScreenTime > 1 : themeConfig.value.lockScreenTime >= 0;
+});
+// // 鑾峰彇鐗堟湰鍙�
+// const getVersion = computed(() => {
+// 	let isVersion = false;
+// 	if (route.path !== '/login') {
+// 		// @ts-ignore
+// 		if ((Local.get('version') && Local.get('version') !== __NEXT_VERSION__) || !Local.get('version')) isVersion = true;
+// 	}
+// 	return isVersion;
+// });
+
+// checkUpdate(() => {
+// 	needUpdate.value = true;
+// }, 60000);
+
+// 鑾峰彇鍏ㄥ眬缁勪欢澶у皬
+const getGlobalComponentSize = computed(() => {
+	return other.globalComponentSize();
+});
+// 鑾峰彇鍏ㄥ眬 i18n
+const getGlobalI18n = computed(() => {
+	return messages.value[locale.value];
+});
+// 璁剧疆鍒濆鍖栵紝闃叉鍒锋柊鏃舵仮澶嶉粯璁�
+onBeforeMount(() => {
+	// 璁剧疆鎵归噺绗笁鏂� icon 鍥炬爣
+	setIntroduction.cssCdn();
+	// 璁剧疆鎵归噺绗笁鏂� js
+	setIntroduction.jsCdn();
+});
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	nextTick(() => {
+		// 鐩戝惉甯冨眬閰�'缃脊绐楃偣鍑绘墦寮�
+		mittBus.on('openSetingsDrawer', () => {
+			setingsRef.value.openDrawer();
+		});
+		// 鑾峰彇缂撳瓨涓殑甯冨眬閰嶇疆
+		if (Local.get('themeConfig')) {
+			storesThemeConfig.setThemeConfig({ themeConfig: Local.get('themeConfig') });
+			document.documentElement.style.cssText = Local.get('themeConfigStyle');
+		}
+		// 鑾峰彇缂撳瓨涓殑鍏ㄥ睆閰嶇疆
+		if (Session.get('isTagsViewCurrenFull')) {
+			stores.setCurrenFullscreen(Session.get('isTagsViewCurrenFull'));
+		}
+	});
+});
+// 椤甸潰閿�姣佹椂锛屽叧闂洃鍚竷灞�閰嶇疆/i18n鐩戝惉
+onUnmounted(() => {
+	mittBus.off('openSetingsDrawer', () => {});
+});
+// 鐩戝惉璺敱鐨勫彉鍖栵紝璁剧疆缃戠珯鏍囬
+watch(
+	() => route.path,
+	() => {
+		other.useTitle();
+	},
+	{
+		deep: true,
+	}
+);
+</script>
+
+<style lang="scss">
+.el-form--inline {
+	.el-form-item {
+		.el-select {
+			width: 171px !important;
+		}
+		.el-select__wrapper {
+			line-height: 22px !important;
+		}
+		.el-date-editor {
+			--el-date-editor-width: 171px !important;
+		}
+		.el-input {
+			width: 171px !important;
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/api.ts
new file mode 100644
index 0000000..f64f054
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/api.ts
@@ -0,0 +1,15 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * 瀹℃壒娴佺▼
+ * 瀵逛笟鍔″疄浣撴暟鎹殑澧炲垹鏀规搷浣滆繘琛屾祦绋嬪鎵广��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+export * from './apis/approval-flow-api';
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/apis/approval-flow-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/apis/approval-flow-api.ts
new file mode 100644
index 0000000..9faa8b8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/apis/approval-flow-api.ts
@@ -0,0 +1,711 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * 瀹℃壒娴佺▼
+ * 瀵逛笟鍔″疄浣撴暟鎹殑澧炲垹鏀规搷浣滆繘琛屾祦绋嬪鎵广��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../../base';
+import { AddApprovalFlowInput } from '../models';
+import { AdminResultApprovalFlow } from '../models';
+import { AdminResultInt64 } from '../models';
+import { AdminResultListApprovalFlowOutput } from '../models';
+import { AdminResultSqlSugarPagedListApprovalFlowOutput } from '../models';
+import { ApprovalFlowInput } from '../models';
+import { DeleteApprovalFlowInput } from '../models';
+import { UpdateApprovalFlowInput } from '../models';
+/**
+ * ApprovalFlowApi - axios parameter creator
+ * @export
+ */
+export const ApprovalFlowApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞瀹℃壒娴�
+         * @param {AddApprovalFlowInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiApprovalFlowAddPost: async (body?: AddApprovalFlowInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/approvalFlow/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎瀹℃壒娴�
+         * @param {DeleteApprovalFlowInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiApprovalFlowDeletePost: async (body?: DeleteApprovalFlowInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/approvalFlow/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀹℃壒娴�
+         * @param {number} id 涓婚敭Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiApprovalFlowDetailGet: async (id: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'id' is not null or undefined
+            if (id === null || id === undefined) {
+                throw new RequiredError('id','Required parameter id was null or undefined when calling apiApprovalFlowDetailGet.');
+            }
+            const localVarPath = `/api/approvalFlow/detail`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (id !== undefined) {
+                localVarQueryParameter['Id'] = id;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏍规嵁缂栧彿鑾峰彇瀹℃壒娴佷俊鎭�
+         * @param {string} [code] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiApprovalFlowInfoGet: async (code?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/approvalFlow/info`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (code !== undefined) {
+                localVarQueryParameter['code'] = code;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀹℃壒娴佸垪琛�
+         * @param {string} [searchKey] 鍏抽敭瀛楁煡璇�
+         * @param {string} [code] 缂栧彿
+         * @param {string} [name] 鍚嶇О
+         * @param {string} [remark] 澶囨敞
+         * @param {number} [page] 褰撳墠椤电爜
+         * @param {number} [pageSize] 椤电爜瀹归噺
+         * @param {string} [field] 鎺掑簭瀛楁
+         * @param {string} [order] 鎺掑簭鏂瑰悜
+         * @param {string} [descStr] 闄嶅簭鎺掑簭
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiApprovalFlowListGet: async (searchKey?: string, code?: string, name?: string, remark?: string, page?: number, pageSize?: number, field?: string, order?: string, descStr?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/approvalFlow/list`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (searchKey !== undefined) {
+                localVarQueryParameter['SearchKey'] = searchKey;
+            }
+
+            if (code !== undefined) {
+                localVarQueryParameter['Code'] = code;
+            }
+
+            if (name !== undefined) {
+                localVarQueryParameter['Name'] = name;
+            }
+
+            if (remark !== undefined) {
+                localVarQueryParameter['Remark'] = remark;
+            }
+
+            if (page !== undefined) {
+                localVarQueryParameter['Page'] = page;
+            }
+
+            if (pageSize !== undefined) {
+                localVarQueryParameter['PageSize'] = pageSize;
+            }
+
+            if (field !== undefined) {
+                localVarQueryParameter['Field'] = field;
+            }
+
+            if (order !== undefined) {
+                localVarQueryParameter['Order'] = order;
+            }
+
+            if (descStr !== undefined) {
+                localVarQueryParameter['DescStr'] = descStr;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒嗛〉鏌ヨ瀹℃壒娴�
+         * @param {ApprovalFlowInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiApprovalFlowPagePost: async (body?: ApprovalFlowInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/approvalFlow/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊瀹℃壒娴�
+         * @param {UpdateApprovalFlowInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiApprovalFlowUpdatePost: async (body?: UpdateApprovalFlowInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/approvalFlow/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * ApprovalFlowApi - functional programming interface
+ * @export
+ */
+export const ApprovalFlowApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞瀹℃壒娴�
+         * @param {AddApprovalFlowInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiApprovalFlowAddPost(body?: AddApprovalFlowInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultInt64>>> {
+            const localVarAxiosArgs = await ApprovalFlowApiAxiosParamCreator(configuration).apiApprovalFlowAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎瀹℃壒娴�
+         * @param {DeleteApprovalFlowInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiApprovalFlowDeletePost(body?: DeleteApprovalFlowInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await ApprovalFlowApiAxiosParamCreator(configuration).apiApprovalFlowDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀹℃壒娴�
+         * @param {number} id 涓婚敭Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiApprovalFlowDetailGet(id: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultApprovalFlow>>> {
+            const localVarAxiosArgs = await ApprovalFlowApiAxiosParamCreator(configuration).apiApprovalFlowDetailGet(id, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏍规嵁缂栧彿鑾峰彇瀹℃壒娴佷俊鎭�
+         * @param {string} [code] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiApprovalFlowInfoGet(code?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultApprovalFlow>>> {
+            const localVarAxiosArgs = await ApprovalFlowApiAxiosParamCreator(configuration).apiApprovalFlowInfoGet(code, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀹℃壒娴佸垪琛�
+         * @param {string} [searchKey] 鍏抽敭瀛楁煡璇�
+         * @param {string} [code] 缂栧彿
+         * @param {string} [name] 鍚嶇О
+         * @param {string} [remark] 澶囨敞
+         * @param {number} [page] 褰撳墠椤电爜
+         * @param {number} [pageSize] 椤电爜瀹归噺
+         * @param {string} [field] 鎺掑簭瀛楁
+         * @param {string} [order] 鎺掑簭鏂瑰悜
+         * @param {string} [descStr] 闄嶅簭鎺掑簭
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiApprovalFlowListGet(searchKey?: string, code?: string, name?: string, remark?: string, page?: number, pageSize?: number, field?: string, order?: string, descStr?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListApprovalFlowOutput>>> {
+            const localVarAxiosArgs = await ApprovalFlowApiAxiosParamCreator(configuration).apiApprovalFlowListGet(searchKey, code, name, remark, page, pageSize, field, order, descStr, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒嗛〉鏌ヨ瀹℃壒娴�
+         * @param {ApprovalFlowInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiApprovalFlowPagePost(body?: ApprovalFlowInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListApprovalFlowOutput>>> {
+            const localVarAxiosArgs = await ApprovalFlowApiAxiosParamCreator(configuration).apiApprovalFlowPagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊瀹℃壒娴�
+         * @param {UpdateApprovalFlowInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiApprovalFlowUpdatePost(body?: UpdateApprovalFlowInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await ApprovalFlowApiAxiosParamCreator(configuration).apiApprovalFlowUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * ApprovalFlowApi - factory interface
+ * @export
+ */
+export const ApprovalFlowApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞瀹℃壒娴�
+         * @param {AddApprovalFlowInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiApprovalFlowAddPost(body?: AddApprovalFlowInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultInt64>> {
+            return ApprovalFlowApiFp(configuration).apiApprovalFlowAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎瀹℃壒娴�
+         * @param {DeleteApprovalFlowInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiApprovalFlowDeletePost(body?: DeleteApprovalFlowInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return ApprovalFlowApiFp(configuration).apiApprovalFlowDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀹℃壒娴�
+         * @param {number} id 涓婚敭Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiApprovalFlowDetailGet(id: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultApprovalFlow>> {
+            return ApprovalFlowApiFp(configuration).apiApprovalFlowDetailGet(id, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏍规嵁缂栧彿鑾峰彇瀹℃壒娴佷俊鎭�
+         * @param {string} [code] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiApprovalFlowInfoGet(code?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultApprovalFlow>> {
+            return ApprovalFlowApiFp(configuration).apiApprovalFlowInfoGet(code, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀹℃壒娴佸垪琛�
+         * @param {string} [searchKey] 鍏抽敭瀛楁煡璇�
+         * @param {string} [code] 缂栧彿
+         * @param {string} [name] 鍚嶇О
+         * @param {string} [remark] 澶囨敞
+         * @param {number} [page] 褰撳墠椤电爜
+         * @param {number} [pageSize] 椤电爜瀹归噺
+         * @param {string} [field] 鎺掑簭瀛楁
+         * @param {string} [order] 鎺掑簭鏂瑰悜
+         * @param {string} [descStr] 闄嶅簭鎺掑簭
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiApprovalFlowListGet(searchKey?: string, code?: string, name?: string, remark?: string, page?: number, pageSize?: number, field?: string, order?: string, descStr?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListApprovalFlowOutput>> {
+            return ApprovalFlowApiFp(configuration).apiApprovalFlowListGet(searchKey, code, name, remark, page, pageSize, field, order, descStr, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒嗛〉鏌ヨ瀹℃壒娴�
+         * @param {ApprovalFlowInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiApprovalFlowPagePost(body?: ApprovalFlowInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListApprovalFlowOutput>> {
+            return ApprovalFlowApiFp(configuration).apiApprovalFlowPagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊瀹℃壒娴�
+         * @param {UpdateApprovalFlowInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiApprovalFlowUpdatePost(body?: UpdateApprovalFlowInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return ApprovalFlowApiFp(configuration).apiApprovalFlowUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * ApprovalFlowApi - object-oriented interface
+ * @export
+ * @class ApprovalFlowApi
+ * @extends {BaseAPI}
+ */
+export class ApprovalFlowApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞瀹℃壒娴�
+     * @param {AddApprovalFlowInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof ApprovalFlowApi
+     */
+    public async apiApprovalFlowAddPost(body?: AddApprovalFlowInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultInt64>> {
+        return ApprovalFlowApiFp(this.configuration).apiApprovalFlowAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎瀹℃壒娴�
+     * @param {DeleteApprovalFlowInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof ApprovalFlowApi
+     */
+    public async apiApprovalFlowDeletePost(body?: DeleteApprovalFlowInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return ApprovalFlowApiFp(this.configuration).apiApprovalFlowDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇瀹℃壒娴�
+     * @param {number} id 涓婚敭Id
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof ApprovalFlowApi
+     */
+    public async apiApprovalFlowDetailGet(id: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultApprovalFlow>> {
+        return ApprovalFlowApiFp(this.configuration).apiApprovalFlowDetailGet(id, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏍规嵁缂栧彿鑾峰彇瀹℃壒娴佷俊鎭�
+     * @param {string} [code] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof ApprovalFlowApi
+     */
+    public async apiApprovalFlowInfoGet(code?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultApprovalFlow>> {
+        return ApprovalFlowApiFp(this.configuration).apiApprovalFlowInfoGet(code, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇瀹℃壒娴佸垪琛�
+     * @param {string} [searchKey] 鍏抽敭瀛楁煡璇�
+     * @param {string} [code] 缂栧彿
+     * @param {string} [name] 鍚嶇О
+     * @param {string} [remark] 澶囨敞
+     * @param {number} [page] 褰撳墠椤电爜
+     * @param {number} [pageSize] 椤电爜瀹归噺
+     * @param {string} [field] 鎺掑簭瀛楁
+     * @param {string} [order] 鎺掑簭鏂瑰悜
+     * @param {string} [descStr] 闄嶅簭鎺掑簭
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof ApprovalFlowApi
+     */
+    public async apiApprovalFlowListGet(searchKey?: string, code?: string, name?: string, remark?: string, page?: number, pageSize?: number, field?: string, order?: string, descStr?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListApprovalFlowOutput>> {
+        return ApprovalFlowApiFp(this.configuration).apiApprovalFlowListGet(searchKey, code, name, remark, page, pageSize, field, order, descStr, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒嗛〉鏌ヨ瀹℃壒娴�
+     * @param {ApprovalFlowInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof ApprovalFlowApi
+     */
+    public async apiApprovalFlowPagePost(body?: ApprovalFlowInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListApprovalFlowOutput>> {
+        return ApprovalFlowApiFp(this.configuration).apiApprovalFlowPagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊瀹℃壒娴�
+     * @param {UpdateApprovalFlowInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof ApprovalFlowApi
+     */
+    public async apiApprovalFlowUpdatePost(body?: UpdateApprovalFlowInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return ApprovalFlowApiFp(this.configuration).apiApprovalFlowUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/base.ts b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/base.ts
new file mode 100644
index 0000000..b22cbf3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/base.ts
@@ -0,0 +1,70 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * 瀹℃壒娴佺▼
+ * 瀵逛笟鍔″疄浣撴暟鎹殑澧炲垹鏀规搷浣滆繘琛屾祦绋嬪鎵广��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { Configuration } from "./configuration";
+// Some imports not used depending on template conditions
+// @ts-ignore
+import globalAxios, { AxiosRequestConfig, AxiosInstance } from 'axios';
+
+export const BASE_PATH = "/".replace(/\/+$/, "");
+
+/**
+ *
+ * @export
+ */
+export const COLLECTION_FORMATS = {
+    csv: ",",
+    ssv: " ",
+    tsv: "\t",
+    pipes: "|",
+};
+
+/**
+ *
+ * @export
+ * @interface RequestArgs
+ */
+export interface RequestArgs {
+    url: string;
+    options: AxiosRequestConfig;
+}
+
+/**
+ *
+ * @export
+ * @class BaseAPI
+ */
+export class BaseAPI {
+    protected configuration: Configuration | undefined;
+
+    constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {
+        if (configuration) {
+            this.configuration = configuration;
+            this.basePath = configuration.basePath || this.basePath;
+        }
+    }
+};
+
+/**
+ *
+ * @export
+ * @class RequiredError
+ * @extends {Error}
+ */
+export class RequiredError extends Error {
+    name: "RequiredError" = "RequiredError";
+    constructor(public field: string, msg?: string) {
+        super(msg);
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/configuration.ts b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/configuration.ts
new file mode 100644
index 0000000..7660b24
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/configuration.ts
@@ -0,0 +1,83 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * 瀹℃壒娴佺▼
+ * 瀵逛笟鍔″疄浣撴暟鎹殑澧炲垹鏀规搷浣滆繘琛屾祦绋嬪鎵广��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+export interface ConfigurationParameters {
+    apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
+    username?: string;
+    password?: string;
+    accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
+    basePath?: string;
+    baseOptions?: any;
+}
+
+export class Configuration {
+
+    /**
+     * parameter for apiKey security
+     *
+     * @param name security name
+     * @memberof Configuration
+     */
+    apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
+
+    /**
+     * parameter for basic security
+     *
+     * @type {string}
+     * @memberof Configuration
+     */
+    username?: string;
+
+    /**
+     * parameter for basic security
+     *
+     * @type {string}
+     * @memberof Configuration
+     */
+    password?: string;
+
+    /**
+     * parameter for oauth2 security
+     *
+     * @param name security name
+     * @param scopes oauth2 scope
+     * @memberof Configuration
+     */
+    accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
+
+    /**
+     * override base path
+     *
+     * @type {string}
+     * @memberof Configuration
+     */
+    basePath?: string;
+
+    /**
+     * base options for axios calls
+     *
+     * @type {any}
+     * @memberof Configuration
+     */
+    baseOptions?: any;
+
+    constructor(param: ConfigurationParameters = {}) {
+        this.apiKey = param.apiKey;
+        this.username = param.username;
+        this.password = param.password;
+        this.accessToken = param.accessToken;
+        this.basePath = param.basePath;
+        this.baseOptions = param.baseOptions;
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/index.ts b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/index.ts
new file mode 100644
index 0000000..94bfa3e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/index.ts
@@ -0,0 +1,18 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * 瀹℃壒娴佺▼
+ * 瀵逛笟鍔″疄浣撴暟鎹殑澧炲垹鏀规搷浣滆繘琛屾祦绋嬪鎵广��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+export * from "./api";
+export * from "./configuration";
+export * from "./models";
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/add-approval-flow-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/add-approval-flow-input.ts
new file mode 100644
index 0000000..100c945
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/add-approval-flow-input.ts
@@ -0,0 +1,134 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * 瀹℃壒娴佺▼
+ * 瀵逛笟鍔″疄浣撴暟鎹殑澧炲垹鏀规搷浣滆繘琛屾祦绋嬪鎵广��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 瀹℃壒娴佸鍔犺緭鍏ュ弬鏁�
+ *
+ * @export
+ * @interface AddApprovalFlowInput
+ */
+export interface AddApprovalFlowInput {
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof AddApprovalFlowInput
+     */
+    code?: string | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof AddApprovalFlowInput
+     */
+    name?: string | null;
+
+    /**
+     * 琛ㄥ崟
+     *
+     * @type {string}
+     * @memberof AddApprovalFlowInput
+     */
+    formJson?: string | null;
+
+    /**
+     * 娴佺▼
+     *
+     * @type {string}
+     * @memberof AddApprovalFlowInput
+     */
+    flowJson?: string | null;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof AddApprovalFlowInput
+     */
+    remark?: string | null;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddApprovalFlowInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddApprovalFlowInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof AddApprovalFlowInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof AddApprovalFlowInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof AddApprovalFlowInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof AddApprovalFlowInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 鍒涘缓鑰呴儴闂↖d
+     *
+     * @type {number}
+     * @memberof AddApprovalFlowInput
+     */
+    createOrgId?: number | null;
+
+    /**
+     * 鍒涘缓鑰呴儴闂ㄥ悕绉�
+     *
+     * @type {string}
+     * @memberof AddApprovalFlowInput
+     */
+    createOrgName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof AddApprovalFlowInput
+     */
+    isDelete: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/admin-result-approval-flow.ts b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/admin-result-approval-flow.ts
new file mode 100644
index 0000000..0588c7e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/admin-result-approval-flow.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * 瀹℃壒娴佺▼
+ * 瀵逛笟鍔″疄浣撴暟鎹殑澧炲垹鏀规搷浣滆繘琛屾祦绋嬪鎵广��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { ApprovalFlow } from './approval-flow';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultApprovalFlow
+ */
+export interface AdminResultApprovalFlow {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultApprovalFlow
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultApprovalFlow
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultApprovalFlow
+     */
+    message?: string | null;
+
+    /**
+     * @type {ApprovalFlow}
+     * @memberof AdminResultApprovalFlow
+     */
+    result?: ApprovalFlow;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultApprovalFlow
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultApprovalFlow
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/admin-result-int64.ts b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/admin-result-int64.ts
new file mode 100644
index 0000000..9397ba0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/admin-result-int64.ts
@@ -0,0 +1,70 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * 瀹℃壒娴佺▼
+ * 瀵逛笟鍔″疄浣撴暟鎹殑澧炲垹鏀规搷浣滆繘琛屾祦绋嬪鎵广��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultInt64
+ */
+export interface AdminResultInt64 {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultInt64
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultInt64
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultInt64
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {number}
+     * @memberof AdminResultInt64
+     */
+    result?: number;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultInt64
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultInt64
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/admin-result-list-approval-flow-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/admin-result-list-approval-flow-output.ts
new file mode 100644
index 0000000..1c5cc8d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/admin-result-list-approval-flow-output.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * 瀹℃壒娴佺▼
+ * 瀵逛笟鍔″疄浣撴暟鎹殑澧炲垹鏀规搷浣滆繘琛屾祦绋嬪鎵广��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { ApprovalFlowOutput } from './approval-flow-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListApprovalFlowOutput
+ */
+export interface AdminResultListApprovalFlowOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListApprovalFlowOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListApprovalFlowOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListApprovalFlowOutput
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<ApprovalFlowOutput>}
+     * @memberof AdminResultListApprovalFlowOutput
+     */
+    result?: Array<ApprovalFlowOutput> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListApprovalFlowOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListApprovalFlowOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/admin-result-sql-sugar-paged-list-approval-flow-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/admin-result-sql-sugar-paged-list-approval-flow-output.ts
new file mode 100644
index 0000000..72a81e9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/admin-result-sql-sugar-paged-list-approval-flow-output.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * 瀹℃壒娴佺▼
+ * 瀵逛笟鍔″疄浣撴暟鎹殑澧炲垹鏀规搷浣滆繘琛屾祦绋嬪鎵广��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListApprovalFlowOutput } from './sql-sugar-paged-list-approval-flow-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListApprovalFlowOutput
+ */
+export interface AdminResultSqlSugarPagedListApprovalFlowOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListApprovalFlowOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListApprovalFlowOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListApprovalFlowOutput
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListApprovalFlowOutput}
+     * @memberof AdminResultSqlSugarPagedListApprovalFlowOutput
+     */
+    result?: SqlSugarPagedListApprovalFlowOutput;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListApprovalFlowOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListApprovalFlowOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/approval-flow-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/approval-flow-input.ts
new file mode 100644
index 0000000..3d1bd97
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/approval-flow-input.ts
@@ -0,0 +1,94 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * 瀹℃壒娴佺▼
+ * 瀵逛笟鍔″疄浣撴暟鎹殑澧炲垹鏀规搷浣滆繘琛屾祦绋嬪鎵广��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 瀹℃壒娴佸垎椤垫煡璇㈣緭鍏ュ弬鏁�
+ *
+ * @export
+ * @interface ApprovalFlowInput
+ */
+export interface ApprovalFlowInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof ApprovalFlowInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof ApprovalFlowInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof ApprovalFlowInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof ApprovalFlowInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof ApprovalFlowInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 鍏抽敭瀛楁煡璇�
+     *
+     * @type {string}
+     * @memberof ApprovalFlowInput
+     */
+    searchKey?: string | null;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof ApprovalFlowInput
+     */
+    code?: string | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof ApprovalFlowInput
+     */
+    name?: string | null;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof ApprovalFlowInput
+     */
+    remark?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/approval-flow-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/approval-flow-output.ts
new file mode 100644
index 0000000..a91caaa
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/approval-flow-output.ts
@@ -0,0 +1,142 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * 瀹℃壒娴佺▼
+ * 瀵逛笟鍔″疄浣撴暟鎹殑澧炲垹鏀规搷浣滆繘琛屾祦绋嬪鎵广��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 瀹℃壒娴佽緭鍑哄弬鏁�
+ *
+ * @export
+ * @interface ApprovalFlowOutput
+ */
+export interface ApprovalFlowOutput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof ApprovalFlowOutput
+     */
+    id?: number;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof ApprovalFlowOutput
+     */
+    code?: string | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof ApprovalFlowOutput
+     */
+    name?: string | null;
+
+    /**
+     * 琛ㄥ崟
+     *
+     * @type {string}
+     * @memberof ApprovalFlowOutput
+     */
+    formJson?: string | null;
+
+    /**
+     * 娴佺▼
+     *
+     * @type {string}
+     * @memberof ApprovalFlowOutput
+     */
+    flowJson?: string | null;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof ApprovalFlowOutput
+     */
+    remark?: string | null;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof ApprovalFlowOutput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof ApprovalFlowOutput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof ApprovalFlowOutput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof ApprovalFlowOutput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof ApprovalFlowOutput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof ApprovalFlowOutput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 鍒涘缓鑰呴儴闂↖d
+     *
+     * @type {number}
+     * @memberof ApprovalFlowOutput
+     */
+    createOrgId?: number | null;
+
+    /**
+     * 鍒涘缓鑰呴儴闂ㄥ悕绉�
+     *
+     * @type {string}
+     * @memberof ApprovalFlowOutput
+     */
+    createOrgName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof ApprovalFlowOutput
+     */
+    isDelete?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/approval-flow.ts b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/approval-flow.ts
new file mode 100644
index 0000000..0c6a115
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/approval-flow.ts
@@ -0,0 +1,150 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * 瀹℃壒娴佺▼
+ * 瀵逛笟鍔″疄浣撴暟鎹殑澧炲垹鏀规搷浣滆繘琛屾祦绋嬪鎵广��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 瀹℃壒娴佺▼淇℃伅琛�
+ *
+ * @export
+ * @interface ApprovalFlow
+ */
+export interface ApprovalFlow {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof ApprovalFlow
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof ApprovalFlow
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof ApprovalFlow
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof ApprovalFlow
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof ApprovalFlow
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof ApprovalFlow
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof ApprovalFlow
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof ApprovalFlow
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鍒涘缓鑰呴儴闂↖d
+     *
+     * @type {number}
+     * @memberof ApprovalFlow
+     */
+    createOrgId?: number | null;
+
+    /**
+     * 鍒涘缓鑰呴儴闂ㄥ悕绉�
+     *
+     * @type {string}
+     * @memberof ApprovalFlow
+     */
+    createOrgName?: string | null;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof ApprovalFlow
+     */
+    code?: string | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof ApprovalFlow
+     */
+    name?: string | null;
+
+    /**
+     * 琛ㄥ崟
+     *
+     * @type {string}
+     * @memberof ApprovalFlow
+     */
+    formJson?: string | null;
+
+    /**
+     * 娴佺▼
+     *
+     * @type {string}
+     * @memberof ApprovalFlow
+     */
+    flowJson?: string | null;
+
+    /**
+     * 鐘舵��
+     *
+     * @type {number}
+     * @memberof ApprovalFlow
+     */
+    status?: number | null;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof ApprovalFlow
+     */
+    remark?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/delete-approval-flow-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/delete-approval-flow-input.ts
new file mode 100644
index 0000000..54e6e4b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/delete-approval-flow-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * 瀹℃壒娴佺▼
+ * 瀵逛笟鍔″疄浣撴暟鎹殑澧炲垹鏀规搷浣滆繘琛屾祦绋嬪鎵广��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 瀹℃壒娴佸垹闄よ緭鍏ュ弬鏁�
+ *
+ * @export
+ * @interface DeleteApprovalFlowInput
+ */
+export interface DeleteApprovalFlowInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeleteApprovalFlowInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/index.ts b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/index.ts
new file mode 100644
index 0000000..4da9997
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/index.ts
@@ -0,0 +1,11 @@
+export * from './add-approval-flow-input';
+export * from './admin-result-approval-flow';
+export * from './admin-result-int64';
+export * from './admin-result-list-approval-flow-output';
+export * from './admin-result-sql-sugar-paged-list-approval-flow-output';
+export * from './approval-flow';
+export * from './approval-flow-input';
+export * from './approval-flow-output';
+export * from './delete-approval-flow-input';
+export * from './sql-sugar-paged-list-approval-flow-output';
+export * from './update-approval-flow-input';
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/sql-sugar-paged-list-approval-flow-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/sql-sugar-paged-list-approval-flow-output.ts
new file mode 100644
index 0000000..c830131
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/sql-sugar-paged-list-approval-flow-output.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * 瀹℃壒娴佺▼
+ * 瀵逛笟鍔″疄浣撴暟鎹殑澧炲垹鏀规搷浣滆繘琛屾祦绋嬪鎵广��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { ApprovalFlowOutput } from './approval-flow-output';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListApprovalFlowOutput
+ */
+export interface SqlSugarPagedListApprovalFlowOutput {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListApprovalFlowOutput
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListApprovalFlowOutput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListApprovalFlowOutput
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListApprovalFlowOutput
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<ApprovalFlowOutput>}
+     * @memberof SqlSugarPagedListApprovalFlowOutput
+     */
+    items?: Array<ApprovalFlowOutput> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListApprovalFlowOutput
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListApprovalFlowOutput
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/update-approval-flow-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/update-approval-flow-input.ts
new file mode 100644
index 0000000..295e609
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/_approvalFlow/models/update-approval-flow-input.ts
@@ -0,0 +1,142 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * 瀹℃壒娴佺▼
+ * 瀵逛笟鍔″疄浣撴暟鎹殑澧炲垹鏀规搷浣滆繘琛屾祦绋嬪鎵广��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 瀹℃壒娴佹洿鏂拌緭鍏ュ弬鏁�
+ *
+ * @export
+ * @interface UpdateApprovalFlowInput
+ */
+export interface UpdateApprovalFlowInput {
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof UpdateApprovalFlowInput
+     */
+    code?: string | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof UpdateApprovalFlowInput
+     */
+    name?: string | null;
+
+    /**
+     * 琛ㄥ崟
+     *
+     * @type {string}
+     * @memberof UpdateApprovalFlowInput
+     */
+    formJson?: string | null;
+
+    /**
+     * 娴佺▼
+     *
+     * @type {string}
+     * @memberof UpdateApprovalFlowInput
+     */
+    flowJson?: string | null;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof UpdateApprovalFlowInput
+     */
+    remark?: string | null;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateApprovalFlowInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateApprovalFlowInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateApprovalFlowInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof UpdateApprovalFlowInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateApprovalFlowInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof UpdateApprovalFlowInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 鍒涘缓鑰呴儴闂↖d
+     *
+     * @type {number}
+     * @memberof UpdateApprovalFlowInput
+     */
+    createOrgId?: number | null;
+
+    /**
+     * 鍒涘缓鑰呴儴闂ㄥ悕绉�
+     *
+     * @type {string}
+     * @memberof UpdateApprovalFlowInput
+     */
+    createOrgName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof UpdateApprovalFlowInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof UpdateApprovalFlowInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/api.ts
new file mode 100644
index 0000000..53fa1cf
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/api.ts
@@ -0,0 +1,54 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+export * from './apis/apijsonapi';
+export * from './apis/sys-auth-api';
+export * from './apis/sys-cache-api';
+export * from './apis/sys-code-gen-api';
+export * from './apis/sys-code-gen-config-api';
+export * from './apis/sys-common-api';
+export * from './apis/sys-config-api';
+export * from './apis/sys-const-api';
+export * from './apis/sys-database-api';
+export * from './apis/sys-dict-data-api';
+export * from './apis/sys-dict-type-api';
+export * from './apis/sys-email-api';
+export * from './apis/sys-enum-api';
+export * from './apis/sys-file-api';
+export * from './apis/sys-job-api';
+export * from './apis/sys-ldap-api';
+export * from './apis/sys-log-diff-api';
+export * from './apis/sys-log-ex-api';
+export * from './apis/sys-log-op-api';
+export * from './apis/sys-log-vis-api';
+export * from './apis/sys-menu-api';
+export * from './apis/sys-message-api';
+export * from './apis/sys-notice-api';
+export * from './apis/sys-oauth-api';
+export * from './apis/sys-online-user-api';
+export * from './apis/sys-open-access-api';
+export * from './apis/sys-org-api';
+export * from './apis/sys-plugin-api';
+export * from './apis/sys-pos-api';
+export * from './apis/sys-print-api';
+export * from './apis/sys-region-api';
+export * from './apis/sys-role-api';
+export * from './apis/sys-server-api';
+export * from './apis/sys-sms-api';
+export * from './apis/sys-tenant-api';
+export * from './apis/sys-user-api';
+export * from './apis/sys-wechat-api';
+export * from './apis/sys-wechat-pay-api';
+export * from './apis/sys-wechat-user-api';
+export * from './apis/sys-wx-open-api';
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/apijsonapi.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/apijsonapi.ts
new file mode 100644
index 0000000..f619d76
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/apijsonapi.ts
@@ -0,0 +1,480 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultJObject } from '../models';
+import { JToken } from '../models';
+/**
+ * APIJSONApi - axios parameter creator
+ * @export
+ */
+export const APIJSONApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鏂板 馃敄
+         * @param {{ [key: string]: JToken; }} [body] 琛ㄥ璞℃垨鏁扮粍锛岃嫢娌℃湁浼營d鍒欏悗绔敓鎴怚d
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiAPIJSONAddPost: async (body?: { [key: string]: JToken; }, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/aPIJSON/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎锛堟敮鎸侀潪Id鏉′欢銆佹敮鎸佹壒閲忥級 馃敄
+         * @param {{ [key: string]: JToken; }} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiAPIJSONDeletePost: async (body?: { [key: string]: JToken; }, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/aPIJSON/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 鍙傛暟锛歿\"[]\":{\"SYSLOGOP\":{}}}
+         * @summary 缁熶竴鏌ヨ鍏ュ彛 馃敄
+         * @param {{ [key: string]: JToken; }} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiAPIJSONGetPost: async (body?: { [key: string]: JToken; }, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/aPIJSON/get`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏌ヨ 馃敄
+         * @param {string} table 
+         * @param {{ [key: string]: JToken; }} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiAPIJSONGetTablePost: async (table: string, body?: { [key: string]: JToken; }, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'table' is not null or undefined
+            if (table === null || table === undefined) {
+                throw new RequiredError('table','Required parameter table was null or undefined when calling apiAPIJSONGetTablePost.');
+            }
+            const localVarPath = `/api/aPIJSON/get/{table}`
+                .replace(`{${"table"}}`, encodeURIComponent(String(table)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊锛堝彧鏀寔Id浣滀负鏉′欢锛� 馃敄
+         * @param {{ [key: string]: JToken; }} [body] 鏀寔澶氳〃銆佸Id鎵归噺鏇存柊
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiAPIJSONUpdatePost: async (body?: { [key: string]: JToken; }, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/aPIJSON/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * APIJSONApi - functional programming interface
+ * @export
+ */
+export const APIJSONApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鏂板 馃敄
+         * @param {{ [key: string]: JToken; }} [body] 琛ㄥ璞℃垨鏁扮粍锛岃嫢娌℃湁浼營d鍒欏悗绔敓鎴怚d
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiAPIJSONAddPost(body?: { [key: string]: JToken; }, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultJObject>>> {
+            const localVarAxiosArgs = await APIJSONApiAxiosParamCreator(configuration).apiAPIJSONAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎锛堟敮鎸侀潪Id鏉′欢銆佹敮鎸佹壒閲忥級 馃敄
+         * @param {{ [key: string]: JToken; }} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiAPIJSONDeletePost(body?: { [key: string]: JToken; }, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultJObject>>> {
+            const localVarAxiosArgs = await APIJSONApiAxiosParamCreator(configuration).apiAPIJSONDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 鍙傛暟锛歿\"[]\":{\"SYSLOGOP\":{}}}
+         * @summary 缁熶竴鏌ヨ鍏ュ彛 馃敄
+         * @param {{ [key: string]: JToken; }} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiAPIJSONGetPost(body?: { [key: string]: JToken; }, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultJObject>>> {
+            const localVarAxiosArgs = await APIJSONApiAxiosParamCreator(configuration).apiAPIJSONGetPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏌ヨ 馃敄
+         * @param {string} table 
+         * @param {{ [key: string]: JToken; }} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiAPIJSONGetTablePost(table: string, body?: { [key: string]: JToken; }, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultJObject>>> {
+            const localVarAxiosArgs = await APIJSONApiAxiosParamCreator(configuration).apiAPIJSONGetTablePost(table, body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊锛堝彧鏀寔Id浣滀负鏉′欢锛� 馃敄
+         * @param {{ [key: string]: JToken; }} [body] 鏀寔澶氳〃銆佸Id鎵归噺鏇存柊
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiAPIJSONUpdatePost(body?: { [key: string]: JToken; }, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultJObject>>> {
+            const localVarAxiosArgs = await APIJSONApiAxiosParamCreator(configuration).apiAPIJSONUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * APIJSONApi - factory interface
+ * @export
+ */
+export const APIJSONApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 鏂板 馃敄
+         * @param {{ [key: string]: JToken; }} [body] 琛ㄥ璞℃垨鏁扮粍锛岃嫢娌℃湁浼營d鍒欏悗绔敓鎴怚d
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiAPIJSONAddPost(body?: { [key: string]: JToken; }, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultJObject>> {
+            return APIJSONApiFp(configuration).apiAPIJSONAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎锛堟敮鎸侀潪Id鏉′欢銆佹敮鎸佹壒閲忥級 馃敄
+         * @param {{ [key: string]: JToken; }} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiAPIJSONDeletePost(body?: { [key: string]: JToken; }, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultJObject>> {
+            return APIJSONApiFp(configuration).apiAPIJSONDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 鍙傛暟锛歿\"[]\":{\"SYSLOGOP\":{}}}
+         * @summary 缁熶竴鏌ヨ鍏ュ彛 馃敄
+         * @param {{ [key: string]: JToken; }} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiAPIJSONGetPost(body?: { [key: string]: JToken; }, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultJObject>> {
+            return APIJSONApiFp(configuration).apiAPIJSONGetPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏌ヨ 馃敄
+         * @param {string} table 
+         * @param {{ [key: string]: JToken; }} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiAPIJSONGetTablePost(table: string, body?: { [key: string]: JToken; }, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultJObject>> {
+            return APIJSONApiFp(configuration).apiAPIJSONGetTablePost(table, body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊锛堝彧鏀寔Id浣滀负鏉′欢锛� 馃敄
+         * @param {{ [key: string]: JToken; }} [body] 鏀寔澶氳〃銆佸Id鎵归噺鏇存柊
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiAPIJSONUpdatePost(body?: { [key: string]: JToken; }, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultJObject>> {
+            return APIJSONApiFp(configuration).apiAPIJSONUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * APIJSONApi - object-oriented interface
+ * @export
+ * @class APIJSONApi
+ * @extends {BaseAPI}
+ */
+export class APIJSONApi extends BaseAPI {
+    /**
+     * 
+     * @summary 鏂板 馃敄
+     * @param {{ [key: string]: JToken; }} [body] 琛ㄥ璞℃垨鏁扮粍锛岃嫢娌℃湁浼營d鍒欏悗绔敓鎴怚d
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof APIJSONApi
+     */
+    public async apiAPIJSONAddPost(body?: { [key: string]: JToken; }, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultJObject>> {
+        return APIJSONApiFp(this.configuration).apiAPIJSONAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎锛堟敮鎸侀潪Id鏉′欢銆佹敮鎸佹壒閲忥級 馃敄
+     * @param {{ [key: string]: JToken; }} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof APIJSONApi
+     */
+    public async apiAPIJSONDeletePost(body?: { [key: string]: JToken; }, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultJObject>> {
+        return APIJSONApiFp(this.configuration).apiAPIJSONDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 鍙傛暟锛歿\"[]\":{\"SYSLOGOP\":{}}}
+     * @summary 缁熶竴鏌ヨ鍏ュ彛 馃敄
+     * @param {{ [key: string]: JToken; }} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof APIJSONApi
+     */
+    public async apiAPIJSONGetPost(body?: { [key: string]: JToken; }, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultJObject>> {
+        return APIJSONApiFp(this.configuration).apiAPIJSONGetPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏌ヨ 馃敄
+     * @param {string} table 
+     * @param {{ [key: string]: JToken; }} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof APIJSONApi
+     */
+    public async apiAPIJSONGetTablePost(table: string, body?: { [key: string]: JToken; }, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultJObject>> {
+        return APIJSONApiFp(this.configuration).apiAPIJSONGetTablePost(table, body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊锛堝彧鏀寔Id浣滀负鏉′欢锛� 馃敄
+     * @param {{ [key: string]: JToken; }} [body] 鏀寔澶氳〃銆佸Id鎵归噺鏇存柊
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof APIJSONApi
+     */
+    public async apiAPIJSONUpdatePost(body?: { [key: string]: JToken; }, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultJObject>> {
+        return APIJSONApiFp(this.configuration).apiAPIJSONUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-auth-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-auth-api.ts
new file mode 100644
index 0000000..67c5422
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-auth-api.ts
@@ -0,0 +1,950 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultBoolean } from '../models';
+import { AdminResultLoginOutput } from '../models';
+import { AdminResultLoginUserOutput } from '../models';
+import { AdminResultObject } from '../models';
+import { AdminResultString } from '../models';
+import { LoginInput } from '../models';
+import { LoginPhoneInput } from '../models';
+/**
+ * SysAuthApi - axios parameter creator
+ * @export
+ */
+export const SysAuthApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary Swagger鐧诲綍妫�鏌� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSwaggerCheckUrlPost: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/swagger/checkUrl`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary Swagger鐧诲綍鎻愪氦 馃敄
+         * @param {string} [userName] 
+         * @param {string} [password] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSwaggerSubmitUrlPostForm: async (userName?: string, password?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/swagger/submitUrl`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+            const localVarFormParams = new FormData();
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+
+            if (userName !== undefined) { 
+                localVarFormParams.append('UserName', userName as any);
+            }
+
+            if (password !== undefined) { 
+                localVarFormParams.append('Password', password as any);
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            localVarRequestOptions.data = localVarFormParams;
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇楠岃瘉鐮� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysAuthCaptchaGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysAuth/captcha`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐧诲綍閰嶇疆 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysAuthLoginConfigGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysAuth/loginConfig`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鎵嬫満鍙风櫥褰� 馃敄
+         * @param {LoginPhoneInput} body 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysAuthLoginPhonePost: async (body: LoginPhoneInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new RequiredError('body','Required parameter body was null or undefined when calling apiSysAuthLoginPhonePost.');
+            }
+            const localVarPath = `/api/sysAuth/loginPhone`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 鐢ㄦ埛鍚�/瀵嗙爜锛歴uperadmin/123456
+         * @summary 璐﹀彿瀵嗙爜鐧诲綍 馃敄
+         * @param {LoginInput} body 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysAuthLoginPost: async (body: LoginInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'body' is not null or undefined
+            if (body === null || body === undefined) {
+                throw new RequiredError('body','Required parameter body was null or undefined when calling apiSysAuthLoginPost.');
+            }
+            const localVarPath = `/api/sysAuth/login`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 閫�鍑虹郴缁� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysAuthLogoutPost: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysAuth/logout`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍒锋柊Token 馃敄
+         * @param {string} [accessToken] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysAuthRefreshTokenGet: async (accessToken?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysAuth/refreshToken`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (accessToken !== undefined) {
+                localVarQueryParameter['accessToken'] = accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 楠岃瘉閿佸睆瀵嗙爜 馃敄
+         * @param {string} password 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysAuthUnLockScreenPost: async (password: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'password' is not null or undefined
+            if (password === null || password === undefined) {
+                throw new RequiredError('password','Required parameter password was null or undefined when calling apiSysAuthUnLockScreenPost.');
+            }
+            const localVarPath = `/api/sysAuth/unLockScreen`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (password !== undefined) {
+                localVarQueryParameter['password'] = password;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐧诲綍璐﹀彿 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysAuthUserInfoGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysAuth/userInfo`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇姘村嵃閰嶇疆 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysAuthWatermarkConfigGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysAuth/watermarkConfig`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysAuthApi - functional programming interface
+ * @export
+ */
+export const SysAuthApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary Swagger鐧诲綍妫�鏌� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSwaggerCheckUrlPost(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<number>>> {
+            const localVarAxiosArgs = await SysAuthApiAxiosParamCreator(configuration).apiSwaggerCheckUrlPost(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary Swagger鐧诲綍鎻愪氦 馃敄
+         * @param {string} [userName] 
+         * @param {string} [password] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSwaggerSubmitUrlPostForm(userName?: string, password?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<number>>> {
+            const localVarAxiosArgs = await SysAuthApiAxiosParamCreator(configuration).apiSwaggerSubmitUrlPostForm(userName, password, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇楠岃瘉鐮� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthCaptchaGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysAuthApiAxiosParamCreator(configuration).apiSysAuthCaptchaGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐧诲綍閰嶇疆 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthLoginConfigGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysAuthApiAxiosParamCreator(configuration).apiSysAuthLoginConfigGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鎵嬫満鍙风櫥褰� 馃敄
+         * @param {LoginPhoneInput} body 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthLoginPhonePost(body: LoginPhoneInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultLoginOutput>>> {
+            const localVarAxiosArgs = await SysAuthApiAxiosParamCreator(configuration).apiSysAuthLoginPhonePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 鐢ㄦ埛鍚�/瀵嗙爜锛歴uperadmin/123456
+         * @summary 璐﹀彿瀵嗙爜鐧诲綍 馃敄
+         * @param {LoginInput} body 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthLoginPost(body: LoginInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultLoginOutput>>> {
+            const localVarAxiosArgs = await SysAuthApiAxiosParamCreator(configuration).apiSysAuthLoginPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 閫�鍑虹郴缁� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthLogoutPost(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysAuthApiAxiosParamCreator(configuration).apiSysAuthLogoutPost(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍒锋柊Token 馃敄
+         * @param {string} [accessToken] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthRefreshTokenGet(accessToken?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultString>>> {
+            const localVarAxiosArgs = await SysAuthApiAxiosParamCreator(configuration).apiSysAuthRefreshTokenGet(accessToken, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 楠岃瘉閿佸睆瀵嗙爜 馃敄
+         * @param {string} password 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthUnLockScreenPost(password: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultBoolean>>> {
+            const localVarAxiosArgs = await SysAuthApiAxiosParamCreator(configuration).apiSysAuthUnLockScreenPost(password, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐧诲綍璐﹀彿 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthUserInfoGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultLoginUserOutput>>> {
+            const localVarAxiosArgs = await SysAuthApiAxiosParamCreator(configuration).apiSysAuthUserInfoGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇姘村嵃閰嶇疆 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthWatermarkConfigGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysAuthApiAxiosParamCreator(configuration).apiSysAuthWatermarkConfigGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysAuthApi - factory interface
+ * @export
+ */
+export const SysAuthApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary Swagger鐧诲綍妫�鏌� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSwaggerCheckUrlPost(options?: AxiosRequestConfig): Promise<AxiosResponse<number>> {
+            return SysAuthApiFp(configuration).apiSwaggerCheckUrlPost(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary Swagger鐧诲綍鎻愪氦 馃敄
+         * @param {string} [userName] 
+         * @param {string} [password] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSwaggerSubmitUrlPostForm(userName?: string, password?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<number>> {
+            return SysAuthApiFp(configuration).apiSwaggerSubmitUrlPostForm(userName, password, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇楠岃瘉鐮� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthCaptchaGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysAuthApiFp(configuration).apiSysAuthCaptchaGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐧诲綍閰嶇疆 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthLoginConfigGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysAuthApiFp(configuration).apiSysAuthLoginConfigGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鎵嬫満鍙风櫥褰� 馃敄
+         * @param {LoginPhoneInput} body 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthLoginPhonePost(body: LoginPhoneInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultLoginOutput>> {
+            return SysAuthApiFp(configuration).apiSysAuthLoginPhonePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 鐢ㄦ埛鍚�/瀵嗙爜锛歴uperadmin/123456
+         * @summary 璐﹀彿瀵嗙爜鐧诲綍 馃敄
+         * @param {LoginInput} body 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthLoginPost(body: LoginInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultLoginOutput>> {
+            return SysAuthApiFp(configuration).apiSysAuthLoginPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 閫�鍑虹郴缁� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthLogoutPost(options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysAuthApiFp(configuration).apiSysAuthLogoutPost(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍒锋柊Token 馃敄
+         * @param {string} [accessToken] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthRefreshTokenGet(accessToken?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultString>> {
+            return SysAuthApiFp(configuration).apiSysAuthRefreshTokenGet(accessToken, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 楠岃瘉閿佸睆瀵嗙爜 馃敄
+         * @param {string} password 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthUnLockScreenPost(password: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultBoolean>> {
+            return SysAuthApiFp(configuration).apiSysAuthUnLockScreenPost(password, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐧诲綍璐﹀彿 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthUserInfoGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultLoginUserOutput>> {
+            return SysAuthApiFp(configuration).apiSysAuthUserInfoGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇姘村嵃閰嶇疆 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysAuthWatermarkConfigGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysAuthApiFp(configuration).apiSysAuthWatermarkConfigGet(options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysAuthApi - object-oriented interface
+ * @export
+ * @class SysAuthApi
+ * @extends {BaseAPI}
+ */
+export class SysAuthApi extends BaseAPI {
+    /**
+     * 
+     * @summary Swagger鐧诲綍妫�鏌� 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysAuthApi
+     */
+    public async apiSwaggerCheckUrlPost(options?: AxiosRequestConfig) : Promise<AxiosResponse<number>> {
+        return SysAuthApiFp(this.configuration).apiSwaggerCheckUrlPost(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary Swagger鐧诲綍鎻愪氦 馃敄
+     * @param {string} [userName] 
+     * @param {string} [password] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysAuthApi
+     */
+    public async apiSwaggerSubmitUrlPostForm(userName?: string, password?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<number>> {
+        return SysAuthApiFp(this.configuration).apiSwaggerSubmitUrlPostForm(userName, password, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇楠岃瘉鐮� 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysAuthApi
+     */
+    public async apiSysAuthCaptchaGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysAuthApiFp(this.configuration).apiSysAuthCaptchaGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鐧诲綍閰嶇疆 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysAuthApi
+     */
+    public async apiSysAuthLoginConfigGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysAuthApiFp(this.configuration).apiSysAuthLoginConfigGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鎵嬫満鍙风櫥褰� 馃敄
+     * @param {LoginPhoneInput} body 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysAuthApi
+     */
+    public async apiSysAuthLoginPhonePost(body: LoginPhoneInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultLoginOutput>> {
+        return SysAuthApiFp(this.configuration).apiSysAuthLoginPhonePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 鐢ㄦ埛鍚�/瀵嗙爜锛歴uperadmin/123456
+     * @summary 璐﹀彿瀵嗙爜鐧诲綍 馃敄
+     * @param {LoginInput} body 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysAuthApi
+     */
+    public async apiSysAuthLoginPost(body: LoginInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultLoginOutput>> {
+        return SysAuthApiFp(this.configuration).apiSysAuthLoginPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 閫�鍑虹郴缁� 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysAuthApi
+     */
+    public async apiSysAuthLogoutPost(options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysAuthApiFp(this.configuration).apiSysAuthLogoutPost(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鍒锋柊Token 馃敄
+     * @param {string} [accessToken] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysAuthApi
+     */
+    public async apiSysAuthRefreshTokenGet(accessToken?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultString>> {
+        return SysAuthApiFp(this.configuration).apiSysAuthRefreshTokenGet(accessToken, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 楠岃瘉閿佸睆瀵嗙爜 馃敄
+     * @param {string} password 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysAuthApi
+     */
+    public async apiSysAuthUnLockScreenPost(password: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultBoolean>> {
+        return SysAuthApiFp(this.configuration).apiSysAuthUnLockScreenPost(password, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鐧诲綍璐﹀彿 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysAuthApi
+     */
+    public async apiSysAuthUserInfoGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultLoginUserOutput>> {
+        return SysAuthApiFp(this.configuration).apiSysAuthUserInfoGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇姘村嵃閰嶇疆 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysAuthApi
+     */
+    public async apiSysAuthWatermarkConfigGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysAuthApiFp(this.configuration).apiSysAuthWatermarkConfigGet(options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-cache-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-cache-api.ts
new file mode 100644
index 0000000..2e0b85a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-cache-api.ts
@@ -0,0 +1,468 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultInt32 } from '../models';
+import { AdminResultListString } from '../models';
+import { AdminResultObject } from '../models';
+/**
+ * SysCacheApi - axios parameter creator
+ * @export
+ */
+export const SysCacheApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鏍规嵁閿悕鍓嶇紑鍒犻櫎缂撳瓨 馃敄
+         * @param {string} prefixKey 閿悕鍓嶇紑
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCacheDeleteByPreKeyPrefixKeyPost: async (prefixKey: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'prefixKey' is not null or undefined
+            if (prefixKey === null || prefixKey === undefined) {
+                throw new RequiredError('prefixKey','Required parameter prefixKey was null or undefined when calling apiSysCacheDeleteByPreKeyPrefixKeyPost.');
+            }
+            const localVarPath = `/api/sysCache/deleteByPreKey/{prefixKey}`
+                .replace(`{${"prefixKey"}}`, encodeURIComponent(String(prefixKey)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎缂撳瓨 馃敄
+         * @param {string} key 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCacheDeleteKeyPost: async (key: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'key' is not null or undefined
+            if (key === null || key === undefined) {
+                throw new RequiredError('key','Required parameter key was null or undefined when calling apiSysCacheDeleteKeyPost.');
+            }
+            const localVarPath = `/api/sysCache/delete/{key}`
+                .replace(`{${"key"}}`, encodeURIComponent(String(key)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇缂撳瓨閿悕闆嗗悎 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCacheKeyListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysCache/keyList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏍规嵁閿悕鍓嶇紑鑾峰彇閿悕闆嗗悎 馃敄
+         * @param {string} prefixKey 閿悕鍓嶇紑
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCacheKeysByPrefixKeyPrefixKeyGet: async (prefixKey: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'prefixKey' is not null or undefined
+            if (prefixKey === null || prefixKey === undefined) {
+                throw new RequiredError('prefixKey','Required parameter prefixKey was null or undefined when calling apiSysCacheKeysByPrefixKeyPrefixKeyGet.');
+            }
+            const localVarPath = `/api/sysCache/keysByPrefixKey/{prefixKey}`
+                .replace(`{${"prefixKey"}}`, encodeURIComponent(String(prefixKey)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇缂撳瓨鍊� 馃敄
+         * @param {string} key 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCacheValueKeyGet: async (key: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'key' is not null or undefined
+            if (key === null || key === undefined) {
+                throw new RequiredError('key','Required parameter key was null or undefined when calling apiSysCacheValueKeyGet.');
+            }
+            const localVarPath = `/api/sysCache/value/{key}`
+                .replace(`{${"key"}}`, encodeURIComponent(String(key)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysCacheApi - functional programming interface
+ * @export
+ */
+export const SysCacheApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鏍规嵁閿悕鍓嶇紑鍒犻櫎缂撳瓨 馃敄
+         * @param {string} prefixKey 閿悕鍓嶇紑
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCacheDeleteByPreKeyPrefixKeyPost(prefixKey: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultInt32>>> {
+            const localVarAxiosArgs = await SysCacheApiAxiosParamCreator(configuration).apiSysCacheDeleteByPreKeyPrefixKeyPost(prefixKey, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎缂撳瓨 馃敄
+         * @param {string} key 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCacheDeleteKeyPost(key: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultInt32>>> {
+            const localVarAxiosArgs = await SysCacheApiAxiosParamCreator(configuration).apiSysCacheDeleteKeyPost(key, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇缂撳瓨閿悕闆嗗悎 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCacheKeyListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListString>>> {
+            const localVarAxiosArgs = await SysCacheApiAxiosParamCreator(configuration).apiSysCacheKeyListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏍规嵁閿悕鍓嶇紑鑾峰彇閿悕闆嗗悎 馃敄
+         * @param {string} prefixKey 閿悕鍓嶇紑
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCacheKeysByPrefixKeyPrefixKeyGet(prefixKey: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListString>>> {
+            const localVarAxiosArgs = await SysCacheApiAxiosParamCreator(configuration).apiSysCacheKeysByPrefixKeyPrefixKeyGet(prefixKey, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇缂撳瓨鍊� 馃敄
+         * @param {string} key 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCacheValueKeyGet(key: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysCacheApiAxiosParamCreator(configuration).apiSysCacheValueKeyGet(key, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysCacheApi - factory interface
+ * @export
+ */
+export const SysCacheApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 鏍规嵁閿悕鍓嶇紑鍒犻櫎缂撳瓨 馃敄
+         * @param {string} prefixKey 閿悕鍓嶇紑
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCacheDeleteByPreKeyPrefixKeyPost(prefixKey: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultInt32>> {
+            return SysCacheApiFp(configuration).apiSysCacheDeleteByPreKeyPrefixKeyPost(prefixKey, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎缂撳瓨 馃敄
+         * @param {string} key 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCacheDeleteKeyPost(key: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultInt32>> {
+            return SysCacheApiFp(configuration).apiSysCacheDeleteKeyPost(key, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇缂撳瓨閿悕闆嗗悎 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCacheKeyListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListString>> {
+            return SysCacheApiFp(configuration).apiSysCacheKeyListGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏍规嵁閿悕鍓嶇紑鑾峰彇閿悕闆嗗悎 馃敄
+         * @param {string} prefixKey 閿悕鍓嶇紑
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCacheKeysByPrefixKeyPrefixKeyGet(prefixKey: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListString>> {
+            return SysCacheApiFp(configuration).apiSysCacheKeysByPrefixKeyPrefixKeyGet(prefixKey, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇缂撳瓨鍊� 馃敄
+         * @param {string} key 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCacheValueKeyGet(key: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysCacheApiFp(configuration).apiSysCacheValueKeyGet(key, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysCacheApi - object-oriented interface
+ * @export
+ * @class SysCacheApi
+ * @extends {BaseAPI}
+ */
+export class SysCacheApi extends BaseAPI {
+    /**
+     * 
+     * @summary 鏍规嵁閿悕鍓嶇紑鍒犻櫎缂撳瓨 馃敄
+     * @param {string} prefixKey 閿悕鍓嶇紑
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCacheApi
+     */
+    public async apiSysCacheDeleteByPreKeyPrefixKeyPost(prefixKey: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultInt32>> {
+        return SysCacheApiFp(this.configuration).apiSysCacheDeleteByPreKeyPrefixKeyPost(prefixKey, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎缂撳瓨 馃敄
+     * @param {string} key 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCacheApi
+     */
+    public async apiSysCacheDeleteKeyPost(key: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultInt32>> {
+        return SysCacheApiFp(this.configuration).apiSysCacheDeleteKeyPost(key, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇缂撳瓨閿悕闆嗗悎 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCacheApi
+     */
+    public async apiSysCacheKeyListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListString>> {
+        return SysCacheApiFp(this.configuration).apiSysCacheKeyListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏍规嵁閿悕鍓嶇紑鑾峰彇閿悕闆嗗悎 馃敄
+     * @param {string} prefixKey 閿悕鍓嶇紑
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCacheApi
+     */
+    public async apiSysCacheKeysByPrefixKeyPrefixKeyGet(prefixKey: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListString>> {
+        return SysCacheApiFp(this.configuration).apiSysCacheKeysByPrefixKeyPrefixKeyGet(prefixKey, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇缂撳瓨鍊� 馃敄
+     * @param {string} key 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCacheApi
+     */
+    public async apiSysCacheValueKeyGet(key: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysCacheApiFp(this.configuration).apiSysCacheValueKeyGet(key, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-code-gen-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-code-gen-api.ts
new file mode 100644
index 0000000..470c31d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-code-gen-api.ts
@@ -0,0 +1,895 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddCodeGenInput } from '../models';
+import { AdminResultListColumnOuput } from '../models';
+import { AdminResultListDatabaseOutput } from '../models';
+import { AdminResultListString } from '../models';
+import { AdminResultListTableOutput } from '../models';
+import { AdminResultObject } from '../models';
+import { AdminResultSqlSugarPagedListSysCodeGen } from '../models';
+import { AdminResultSysCodeGen } from '../models';
+import { CodeGenInput } from '../models';
+import { DeleteCodeGenInput } from '../models';
+import { SysCodeGen } from '../models';
+import { UpdateCodeGenInput } from '../models';
+/**
+ * SysCodeGenApi - axios parameter creator
+ * @export
+ */
+export const SysCodeGenApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞浠g爜鐢熸垚 馃敄
+         * @param {AddCodeGenInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCodeGenAddPost: async (body?: AddCodeGenInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysCodeGen/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绋嬪簭淇濆瓨浣嶇疆 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCodeGenApplicationNamespacesGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysCodeGen/applicationNamespaces`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏍规嵁琛ㄥ悕鑾峰彇鍒楅泦鍚� 馃敄
+         * @param {string} tableName 
+         * @param {string} configId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCodeGenColumnListByTableNameTableNameConfigIdGet: async (tableName: string, configId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'tableName' is not null or undefined
+            if (tableName === null || tableName === undefined) {
+                throw new RequiredError('tableName','Required parameter tableName was null or undefined when calling apiSysCodeGenColumnListByTableNameTableNameConfigIdGet.');
+            }
+            // verify required parameter 'configId' is not null or undefined
+            if (configId === null || configId === undefined) {
+                throw new RequiredError('configId','Required parameter configId was null or undefined when calling apiSysCodeGenColumnListByTableNameTableNameConfigIdGet.');
+            }
+            const localVarPath = `/api/sysCodeGen/columnListByTableName/{tableName}/{configId}`
+                .replace(`{${"tableName"}}`, encodeURIComponent(String(tableName)))
+                .replace(`{${"configId"}}`, encodeURIComponent(String(configId)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏁版嵁搴撳簱闆嗗悎 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCodeGenDatabaseListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysCodeGen/databaseList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎浠g爜鐢熸垚 馃敄
+         * @param {Array<DeleteCodeGenInput>} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCodeGenDeletePost: async (body?: Array<DeleteCodeGenInput>, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysCodeGen/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇浠g爜鐢熸垚璇︽儏 馃敄
+         * @param {number} id 浠g爜鐢熸垚鍣↖d
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCodeGenDetailGet: async (id: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'id' is not null or undefined
+            if (id === null || id === undefined) {
+                throw new RequiredError('id','Required parameter id was null or undefined when calling apiSysCodeGenDetailGet.');
+            }
+            const localVarPath = `/api/sysCodeGen/detail`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (id !== undefined) {
+                localVarQueryParameter['Id'] = id;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇浠g爜鐢熸垚鍒嗛〉鍒楄〃 馃敄
+         * @param {CodeGenInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCodeGenPagePost: async (body?: CodeGenInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysCodeGen/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 浠g爜鐢熸垚鍒版湰鍦� 馃敄
+         * @param {SysCodeGen} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCodeGenRunLocalPost: async (body?: SysCodeGen, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysCodeGen/runLocal`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏁版嵁搴撹〃(瀹炰綋)闆嗗悎 馃敄
+         * @param {string} configId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCodeGenTableListConfigIdGet: async (configId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'configId' is not null or undefined
+            if (configId === null || configId === undefined) {
+                throw new RequiredError('configId','Required parameter configId was null or undefined when calling apiSysCodeGenTableListConfigIdGet.');
+            }
+            const localVarPath = `/api/sysCodeGen/tableList/{configId}`
+                .replace(`{${"configId"}}`, encodeURIComponent(String(configId)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊浠g爜鐢熸垚 馃敄
+         * @param {UpdateCodeGenInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCodeGenUpdatePost: async (body?: UpdateCodeGenInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysCodeGen/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysCodeGenApi - functional programming interface
+ * @export
+ */
+export const SysCodeGenApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞浠g爜鐢熸垚 馃敄
+         * @param {AddCodeGenInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenAddPost(body?: AddCodeGenInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysCodeGenApiAxiosParamCreator(configuration).apiSysCodeGenAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绋嬪簭淇濆瓨浣嶇疆 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenApplicationNamespacesGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListString>>> {
+            const localVarAxiosArgs = await SysCodeGenApiAxiosParamCreator(configuration).apiSysCodeGenApplicationNamespacesGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏍规嵁琛ㄥ悕鑾峰彇鍒楅泦鍚� 馃敄
+         * @param {string} tableName 
+         * @param {string} configId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenColumnListByTableNameTableNameConfigIdGet(tableName: string, configId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListColumnOuput>>> {
+            const localVarAxiosArgs = await SysCodeGenApiAxiosParamCreator(configuration).apiSysCodeGenColumnListByTableNameTableNameConfigIdGet(tableName, configId, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏁版嵁搴撳簱闆嗗悎 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenDatabaseListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListDatabaseOutput>>> {
+            const localVarAxiosArgs = await SysCodeGenApiAxiosParamCreator(configuration).apiSysCodeGenDatabaseListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎浠g爜鐢熸垚 馃敄
+         * @param {Array<DeleteCodeGenInput>} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenDeletePost(body?: Array<DeleteCodeGenInput>, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysCodeGenApiAxiosParamCreator(configuration).apiSysCodeGenDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇浠g爜鐢熸垚璇︽儏 馃敄
+         * @param {number} id 浠g爜鐢熸垚鍣↖d
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenDetailGet(id: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysCodeGen>>> {
+            const localVarAxiosArgs = await SysCodeGenApiAxiosParamCreator(configuration).apiSysCodeGenDetailGet(id, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇浠g爜鐢熸垚鍒嗛〉鍒楄〃 馃敄
+         * @param {CodeGenInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenPagePost(body?: CodeGenInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysCodeGen>>> {
+            const localVarAxiosArgs = await SysCodeGenApiAxiosParamCreator(configuration).apiSysCodeGenPagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 浠g爜鐢熸垚鍒版湰鍦� 馃敄
+         * @param {SysCodeGen} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenRunLocalPost(body?: SysCodeGen, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysCodeGenApiAxiosParamCreator(configuration).apiSysCodeGenRunLocalPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏁版嵁搴撹〃(瀹炰綋)闆嗗悎 馃敄
+         * @param {string} configId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenTableListConfigIdGet(configId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListTableOutput>>> {
+            const localVarAxiosArgs = await SysCodeGenApiAxiosParamCreator(configuration).apiSysCodeGenTableListConfigIdGet(configId, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊浠g爜鐢熸垚 馃敄
+         * @param {UpdateCodeGenInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenUpdatePost(body?: UpdateCodeGenInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysCodeGenApiAxiosParamCreator(configuration).apiSysCodeGenUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysCodeGenApi - factory interface
+ * @export
+ */
+export const SysCodeGenApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞浠g爜鐢熸垚 馃敄
+         * @param {AddCodeGenInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenAddPost(body?: AddCodeGenInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysCodeGenApiFp(configuration).apiSysCodeGenAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绋嬪簭淇濆瓨浣嶇疆 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenApplicationNamespacesGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListString>> {
+            return SysCodeGenApiFp(configuration).apiSysCodeGenApplicationNamespacesGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏍规嵁琛ㄥ悕鑾峰彇鍒楅泦鍚� 馃敄
+         * @param {string} tableName 
+         * @param {string} configId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenColumnListByTableNameTableNameConfigIdGet(tableName: string, configId: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListColumnOuput>> {
+            return SysCodeGenApiFp(configuration).apiSysCodeGenColumnListByTableNameTableNameConfigIdGet(tableName, configId, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏁版嵁搴撳簱闆嗗悎 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenDatabaseListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListDatabaseOutput>> {
+            return SysCodeGenApiFp(configuration).apiSysCodeGenDatabaseListGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎浠g爜鐢熸垚 馃敄
+         * @param {Array<DeleteCodeGenInput>} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenDeletePost(body?: Array<DeleteCodeGenInput>, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysCodeGenApiFp(configuration).apiSysCodeGenDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇浠g爜鐢熸垚璇︽儏 馃敄
+         * @param {number} id 浠g爜鐢熸垚鍣↖d
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenDetailGet(id: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysCodeGen>> {
+            return SysCodeGenApiFp(configuration).apiSysCodeGenDetailGet(id, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇浠g爜鐢熸垚鍒嗛〉鍒楄〃 馃敄
+         * @param {CodeGenInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenPagePost(body?: CodeGenInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysCodeGen>> {
+            return SysCodeGenApiFp(configuration).apiSysCodeGenPagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 浠g爜鐢熸垚鍒版湰鍦� 馃敄
+         * @param {SysCodeGen} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenRunLocalPost(body?: SysCodeGen, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysCodeGenApiFp(configuration).apiSysCodeGenRunLocalPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏁版嵁搴撹〃(瀹炰綋)闆嗗悎 馃敄
+         * @param {string} configId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenTableListConfigIdGet(configId: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListTableOutput>> {
+            return SysCodeGenApiFp(configuration).apiSysCodeGenTableListConfigIdGet(configId, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊浠g爜鐢熸垚 馃敄
+         * @param {UpdateCodeGenInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenUpdatePost(body?: UpdateCodeGenInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysCodeGenApiFp(configuration).apiSysCodeGenUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysCodeGenApi - object-oriented interface
+ * @export
+ * @class SysCodeGenApi
+ * @extends {BaseAPI}
+ */
+export class SysCodeGenApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞浠g爜鐢熸垚 馃敄
+     * @param {AddCodeGenInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCodeGenApi
+     */
+    public async apiSysCodeGenAddPost(body?: AddCodeGenInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysCodeGenApiFp(this.configuration).apiSysCodeGenAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇绋嬪簭淇濆瓨浣嶇疆 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCodeGenApi
+     */
+    public async apiSysCodeGenApplicationNamespacesGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListString>> {
+        return SysCodeGenApiFp(this.configuration).apiSysCodeGenApplicationNamespacesGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏍规嵁琛ㄥ悕鑾峰彇鍒楅泦鍚� 馃敄
+     * @param {string} tableName 
+     * @param {string} configId 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCodeGenApi
+     */
+    public async apiSysCodeGenColumnListByTableNameTableNameConfigIdGet(tableName: string, configId: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListColumnOuput>> {
+        return SysCodeGenApiFp(this.configuration).apiSysCodeGenColumnListByTableNameTableNameConfigIdGet(tableName, configId, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鏁版嵁搴撳簱闆嗗悎 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCodeGenApi
+     */
+    public async apiSysCodeGenDatabaseListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListDatabaseOutput>> {
+        return SysCodeGenApiFp(this.configuration).apiSysCodeGenDatabaseListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎浠g爜鐢熸垚 馃敄
+     * @param {Array<DeleteCodeGenInput>} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCodeGenApi
+     */
+    public async apiSysCodeGenDeletePost(body?: Array<DeleteCodeGenInput>, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysCodeGenApiFp(this.configuration).apiSysCodeGenDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇浠g爜鐢熸垚璇︽儏 馃敄
+     * @param {number} id 浠g爜鐢熸垚鍣↖d
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCodeGenApi
+     */
+    public async apiSysCodeGenDetailGet(id: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysCodeGen>> {
+        return SysCodeGenApiFp(this.configuration).apiSysCodeGenDetailGet(id, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇浠g爜鐢熸垚鍒嗛〉鍒楄〃 馃敄
+     * @param {CodeGenInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCodeGenApi
+     */
+    public async apiSysCodeGenPagePost(body?: CodeGenInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysCodeGen>> {
+        return SysCodeGenApiFp(this.configuration).apiSysCodeGenPagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 浠g爜鐢熸垚鍒版湰鍦� 馃敄
+     * @param {SysCodeGen} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCodeGenApi
+     */
+    public async apiSysCodeGenRunLocalPost(body?: SysCodeGen, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysCodeGenApiFp(this.configuration).apiSysCodeGenRunLocalPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鏁版嵁搴撹〃(瀹炰綋)闆嗗悎 馃敄
+     * @param {string} configId 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCodeGenApi
+     */
+    public async apiSysCodeGenTableListConfigIdGet(configId: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListTableOutput>> {
+        return SysCodeGenApiFp(this.configuration).apiSysCodeGenTableListConfigIdGet(configId, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊浠g爜鐢熸垚 馃敄
+     * @param {UpdateCodeGenInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCodeGenApi
+     */
+    public async apiSysCodeGenUpdatePost(body?: UpdateCodeGenInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysCodeGenApiFp(this.configuration).apiSysCodeGenUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-code-gen-config-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-code-gen-config-api.ts
new file mode 100644
index 0000000..4c7d0e1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-code-gen-config-api.ts
@@ -0,0 +1,786 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultListCodeGenConfig } from '../models';
+import { AdminResultSysCodeGenConfig } from '../models';
+import { CodeGenConfig } from '../models';
+/**
+ * SysCodeGenConfigApi - axios parameter creator
+ * @export
+ */
+export const SysCodeGenConfigApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鑾峰彇浠g爜鐢熸垚閰嶇疆璇︽儏 馃敄
+         * @param {number} [id] 涓婚敭Id
+         * @param {number} [codeGenId] 浠g爜鐢熸垚涓昏〃ID
+         * @param {string} [columnName] 鏁版嵁搴撳瓧娈靛悕
+         * @param {string} [propertyName] 瀹炰綋灞炴�у悕
+         * @param {number} [columnLength] 瀛楁鏁版嵁闀垮害
+         * @param {string} [lowerPropertyName] 鏁版嵁搴撳瓧娈靛悕(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [columnComment] 瀛楁鎻忚堪
+         * @param {string} [netType] .NET绫诲瀷
+         * @param {string} [effectType] 浣滅敤绫诲瀷锛堝瓧鍏革級
+         * @param {string} [fkEntityName] 澶栭敭瀹炰綋鍚嶇О
+         * @param {string} [fkTableName] 澶栭敭琛ㄥ悕绉�
+         * @param {string} [lowerFkEntityName] 澶栭敭瀹炰綋鍚嶇О(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [fkColumnName] 澶栭敭鏄剧ず瀛楁
+         * @param {string} [lowerFkColumnName] 澶栭敭鏄剧ず瀛楁(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [fkColumnNetType] 澶栭敭鏄剧ず瀛楁.NET绫诲瀷
+         * @param {string} [dictTypeCode] 瀛楀吀code
+         * @param {string} [whetherRetract] 鍒楄〃鏄惁缂╄繘锛堝瓧鍏革級
+         * @param {string} [whetherRequired] 鏄惁蹇呭~锛堝瓧鍏革級
+         * @param {string} [whetherSortable] 鏄惁鍙帓搴忥紙瀛楀吀锛�
+         * @param {string} [queryWhether] 鏄惁鏄煡璇㈡潯浠�
+         * @param {string} [queryType] 鏌ヨ鏂瑰紡
+         * @param {string} [whetherTable] 鍒楄〃鏄剧ず
+         * @param {string} [whetherAddUpdate] 澧炴敼
+         * @param {string} [columnKey] 涓诲閿�
+         * @param {string} [dataType] 鏁版嵁搴撲腑绫诲瀷锛堢墿鐞嗙被鍨嬶級
+         * @param {string} [whetherCommon] 鏄惁鏄�氱敤瀛楁
+         * @param {string} [tableNickName] 琛ㄧ殑鍒悕 Table as XXX
+         * @param {string} [displayColumn] 鏄剧ず鏂囨湰瀛楁
+         * @param {string} [valueColumn] 閫変腑鍊煎瓧娈�
+         * @param {string} [pidColumn] 鐖剁骇瀛楁
+         * @param {number} [orderNo] 鎺掑簭
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCodeGenConfigDetailGet: async (id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysCodeGenConfig/detail`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (id !== undefined) {
+                localVarQueryParameter['Id'] = id;
+            }
+
+            if (codeGenId !== undefined) {
+                localVarQueryParameter['CodeGenId'] = codeGenId;
+            }
+
+            if (columnName !== undefined) {
+                localVarQueryParameter['ColumnName'] = columnName;
+            }
+
+            if (propertyName !== undefined) {
+                localVarQueryParameter['PropertyName'] = propertyName;
+            }
+
+            if (columnLength !== undefined) {
+                localVarQueryParameter['ColumnLength'] = columnLength;
+            }
+
+            if (lowerPropertyName !== undefined) {
+                localVarQueryParameter['LowerPropertyName'] = lowerPropertyName;
+            }
+
+            if (columnComment !== undefined) {
+                localVarQueryParameter['ColumnComment'] = columnComment;
+            }
+
+            if (netType !== undefined) {
+                localVarQueryParameter['NetType'] = netType;
+            }
+
+            if (effectType !== undefined) {
+                localVarQueryParameter['EffectType'] = effectType;
+            }
+
+            if (fkEntityName !== undefined) {
+                localVarQueryParameter['FkEntityName'] = fkEntityName;
+            }
+
+            if (fkTableName !== undefined) {
+                localVarQueryParameter['FkTableName'] = fkTableName;
+            }
+
+            if (lowerFkEntityName !== undefined) {
+                localVarQueryParameter['LowerFkEntityName'] = lowerFkEntityName;
+            }
+
+            if (fkColumnName !== undefined) {
+                localVarQueryParameter['FkColumnName'] = fkColumnName;
+            }
+
+            if (lowerFkColumnName !== undefined) {
+                localVarQueryParameter['LowerFkColumnName'] = lowerFkColumnName;
+            }
+
+            if (fkColumnNetType !== undefined) {
+                localVarQueryParameter['FkColumnNetType'] = fkColumnNetType;
+            }
+
+            if (dictTypeCode !== undefined) {
+                localVarQueryParameter['DictTypeCode'] = dictTypeCode;
+            }
+
+            if (whetherRetract !== undefined) {
+                localVarQueryParameter['WhetherRetract'] = whetherRetract;
+            }
+
+            if (whetherRequired !== undefined) {
+                localVarQueryParameter['WhetherRequired'] = whetherRequired;
+            }
+
+            if (whetherSortable !== undefined) {
+                localVarQueryParameter['WhetherSortable'] = whetherSortable;
+            }
+
+            if (queryWhether !== undefined) {
+                localVarQueryParameter['QueryWhether'] = queryWhether;
+            }
+
+            if (queryType !== undefined) {
+                localVarQueryParameter['QueryType'] = queryType;
+            }
+
+            if (whetherTable !== undefined) {
+                localVarQueryParameter['WhetherTable'] = whetherTable;
+            }
+
+            if (whetherAddUpdate !== undefined) {
+                localVarQueryParameter['WhetherAddUpdate'] = whetherAddUpdate;
+            }
+
+            if (columnKey !== undefined) {
+                localVarQueryParameter['ColumnKey'] = columnKey;
+            }
+
+            if (dataType !== undefined) {
+                localVarQueryParameter['DataType'] = dataType;
+            }
+
+            if (whetherCommon !== undefined) {
+                localVarQueryParameter['WhetherCommon'] = whetherCommon;
+            }
+
+            if (tableNickName !== undefined) {
+                localVarQueryParameter['TableNickName'] = tableNickName;
+            }
+
+            if (displayColumn !== undefined) {
+                localVarQueryParameter['DisplayColumn'] = displayColumn;
+            }
+
+            if (valueColumn !== undefined) {
+                localVarQueryParameter['ValueColumn'] = valueColumn;
+            }
+
+            if (pidColumn !== undefined) {
+                localVarQueryParameter['PidColumn'] = pidColumn;
+            }
+
+            if (orderNo !== undefined) {
+                localVarQueryParameter['OrderNo'] = orderNo;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇浠g爜鐢熸垚閰嶇疆鍒楄〃 馃敄
+         * @param {number} [id] 涓婚敭Id
+         * @param {number} [codeGenId] 浠g爜鐢熸垚涓昏〃ID
+         * @param {string} [columnName] 鏁版嵁搴撳瓧娈靛悕
+         * @param {string} [propertyName] 瀹炰綋灞炴�у悕
+         * @param {number} [columnLength] 瀛楁鏁版嵁闀垮害
+         * @param {string} [lowerPropertyName] 鏁版嵁搴撳瓧娈靛悕(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [columnComment] 瀛楁鎻忚堪
+         * @param {string} [netType] .NET绫诲瀷
+         * @param {string} [effectType] 浣滅敤绫诲瀷锛堝瓧鍏革級
+         * @param {string} [fkEntityName] 澶栭敭瀹炰綋鍚嶇О
+         * @param {string} [fkTableName] 澶栭敭琛ㄥ悕绉�
+         * @param {string} [lowerFkEntityName] 澶栭敭瀹炰綋鍚嶇О(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [fkColumnName] 澶栭敭鏄剧ず瀛楁
+         * @param {string} [lowerFkColumnName] 澶栭敭鏄剧ず瀛楁(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [fkColumnNetType] 澶栭敭鏄剧ず瀛楁.NET绫诲瀷
+         * @param {string} [dictTypeCode] 瀛楀吀code
+         * @param {string} [whetherRetract] 鍒楄〃鏄惁缂╄繘锛堝瓧鍏革級
+         * @param {string} [whetherRequired] 鏄惁蹇呭~锛堝瓧鍏革級
+         * @param {string} [whetherSortable] 鏄惁鍙帓搴忥紙瀛楀吀锛�
+         * @param {string} [queryWhether] 鏄惁鏄煡璇㈡潯浠�
+         * @param {string} [queryType] 鏌ヨ鏂瑰紡
+         * @param {string} [whetherTable] 鍒楄〃鏄剧ず
+         * @param {string} [whetherAddUpdate] 澧炴敼
+         * @param {string} [columnKey] 涓诲閿�
+         * @param {string} [dataType] 鏁版嵁搴撲腑绫诲瀷锛堢墿鐞嗙被鍨嬶級
+         * @param {string} [whetherCommon] 鏄惁鏄�氱敤瀛楁
+         * @param {string} [tableNickName] 琛ㄧ殑鍒悕 Table as XXX
+         * @param {string} [displayColumn] 鏄剧ず鏂囨湰瀛楁
+         * @param {string} [valueColumn] 閫変腑鍊煎瓧娈�
+         * @param {string} [pidColumn] 鐖剁骇瀛楁
+         * @param {number} [orderNo] 鎺掑簭
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCodeGenConfigListGet: async (id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysCodeGenConfig/list`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (id !== undefined) {
+                localVarQueryParameter['Id'] = id;
+            }
+
+            if (codeGenId !== undefined) {
+                localVarQueryParameter['CodeGenId'] = codeGenId;
+            }
+
+            if (columnName !== undefined) {
+                localVarQueryParameter['ColumnName'] = columnName;
+            }
+
+            if (propertyName !== undefined) {
+                localVarQueryParameter['PropertyName'] = propertyName;
+            }
+
+            if (columnLength !== undefined) {
+                localVarQueryParameter['ColumnLength'] = columnLength;
+            }
+
+            if (lowerPropertyName !== undefined) {
+                localVarQueryParameter['LowerPropertyName'] = lowerPropertyName;
+            }
+
+            if (columnComment !== undefined) {
+                localVarQueryParameter['ColumnComment'] = columnComment;
+            }
+
+            if (netType !== undefined) {
+                localVarQueryParameter['NetType'] = netType;
+            }
+
+            if (effectType !== undefined) {
+                localVarQueryParameter['EffectType'] = effectType;
+            }
+
+            if (fkEntityName !== undefined) {
+                localVarQueryParameter['FkEntityName'] = fkEntityName;
+            }
+
+            if (fkTableName !== undefined) {
+                localVarQueryParameter['FkTableName'] = fkTableName;
+            }
+
+            if (lowerFkEntityName !== undefined) {
+                localVarQueryParameter['LowerFkEntityName'] = lowerFkEntityName;
+            }
+
+            if (fkColumnName !== undefined) {
+                localVarQueryParameter['FkColumnName'] = fkColumnName;
+            }
+
+            if (lowerFkColumnName !== undefined) {
+                localVarQueryParameter['LowerFkColumnName'] = lowerFkColumnName;
+            }
+
+            if (fkColumnNetType !== undefined) {
+                localVarQueryParameter['FkColumnNetType'] = fkColumnNetType;
+            }
+
+            if (dictTypeCode !== undefined) {
+                localVarQueryParameter['DictTypeCode'] = dictTypeCode;
+            }
+
+            if (whetherRetract !== undefined) {
+                localVarQueryParameter['WhetherRetract'] = whetherRetract;
+            }
+
+            if (whetherRequired !== undefined) {
+                localVarQueryParameter['WhetherRequired'] = whetherRequired;
+            }
+
+            if (whetherSortable !== undefined) {
+                localVarQueryParameter['WhetherSortable'] = whetherSortable;
+            }
+
+            if (queryWhether !== undefined) {
+                localVarQueryParameter['QueryWhether'] = queryWhether;
+            }
+
+            if (queryType !== undefined) {
+                localVarQueryParameter['QueryType'] = queryType;
+            }
+
+            if (whetherTable !== undefined) {
+                localVarQueryParameter['WhetherTable'] = whetherTable;
+            }
+
+            if (whetherAddUpdate !== undefined) {
+                localVarQueryParameter['WhetherAddUpdate'] = whetherAddUpdate;
+            }
+
+            if (columnKey !== undefined) {
+                localVarQueryParameter['ColumnKey'] = columnKey;
+            }
+
+            if (dataType !== undefined) {
+                localVarQueryParameter['DataType'] = dataType;
+            }
+
+            if (whetherCommon !== undefined) {
+                localVarQueryParameter['WhetherCommon'] = whetherCommon;
+            }
+
+            if (tableNickName !== undefined) {
+                localVarQueryParameter['TableNickName'] = tableNickName;
+            }
+
+            if (displayColumn !== undefined) {
+                localVarQueryParameter['DisplayColumn'] = displayColumn;
+            }
+
+            if (valueColumn !== undefined) {
+                localVarQueryParameter['ValueColumn'] = valueColumn;
+            }
+
+            if (pidColumn !== undefined) {
+                localVarQueryParameter['PidColumn'] = pidColumn;
+            }
+
+            if (orderNo !== undefined) {
+                localVarQueryParameter['OrderNo'] = orderNo;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊浠g爜鐢熸垚閰嶇疆 馃敄
+         * @param {Array<CodeGenConfig>} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCodeGenConfigUpdatePost: async (body?: Array<CodeGenConfig>, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysCodeGenConfig/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysCodeGenConfigApi - functional programming interface
+ * @export
+ */
+export const SysCodeGenConfigApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鑾峰彇浠g爜鐢熸垚閰嶇疆璇︽儏 馃敄
+         * @param {number} [id] 涓婚敭Id
+         * @param {number} [codeGenId] 浠g爜鐢熸垚涓昏〃ID
+         * @param {string} [columnName] 鏁版嵁搴撳瓧娈靛悕
+         * @param {string} [propertyName] 瀹炰綋灞炴�у悕
+         * @param {number} [columnLength] 瀛楁鏁版嵁闀垮害
+         * @param {string} [lowerPropertyName] 鏁版嵁搴撳瓧娈靛悕(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [columnComment] 瀛楁鎻忚堪
+         * @param {string} [netType] .NET绫诲瀷
+         * @param {string} [effectType] 浣滅敤绫诲瀷锛堝瓧鍏革級
+         * @param {string} [fkEntityName] 澶栭敭瀹炰綋鍚嶇О
+         * @param {string} [fkTableName] 澶栭敭琛ㄥ悕绉�
+         * @param {string} [lowerFkEntityName] 澶栭敭瀹炰綋鍚嶇О(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [fkColumnName] 澶栭敭鏄剧ず瀛楁
+         * @param {string} [lowerFkColumnName] 澶栭敭鏄剧ず瀛楁(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [fkColumnNetType] 澶栭敭鏄剧ず瀛楁.NET绫诲瀷
+         * @param {string} [dictTypeCode] 瀛楀吀code
+         * @param {string} [whetherRetract] 鍒楄〃鏄惁缂╄繘锛堝瓧鍏革級
+         * @param {string} [whetherRequired] 鏄惁蹇呭~锛堝瓧鍏革級
+         * @param {string} [whetherSortable] 鏄惁鍙帓搴忥紙瀛楀吀锛�
+         * @param {string} [queryWhether] 鏄惁鏄煡璇㈡潯浠�
+         * @param {string} [queryType] 鏌ヨ鏂瑰紡
+         * @param {string} [whetherTable] 鍒楄〃鏄剧ず
+         * @param {string} [whetherAddUpdate] 澧炴敼
+         * @param {string} [columnKey] 涓诲閿�
+         * @param {string} [dataType] 鏁版嵁搴撲腑绫诲瀷锛堢墿鐞嗙被鍨嬶級
+         * @param {string} [whetherCommon] 鏄惁鏄�氱敤瀛楁
+         * @param {string} [tableNickName] 琛ㄧ殑鍒悕 Table as XXX
+         * @param {string} [displayColumn] 鏄剧ず鏂囨湰瀛楁
+         * @param {string} [valueColumn] 閫変腑鍊煎瓧娈�
+         * @param {string} [pidColumn] 鐖剁骇瀛楁
+         * @param {number} [orderNo] 鎺掑簭
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenConfigDetailGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysCodeGenConfig>>> {
+            const localVarAxiosArgs = await SysCodeGenConfigApiAxiosParamCreator(configuration).apiSysCodeGenConfigDetailGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇浠g爜鐢熸垚閰嶇疆鍒楄〃 馃敄
+         * @param {number} [id] 涓婚敭Id
+         * @param {number} [codeGenId] 浠g爜鐢熸垚涓昏〃ID
+         * @param {string} [columnName] 鏁版嵁搴撳瓧娈靛悕
+         * @param {string} [propertyName] 瀹炰綋灞炴�у悕
+         * @param {number} [columnLength] 瀛楁鏁版嵁闀垮害
+         * @param {string} [lowerPropertyName] 鏁版嵁搴撳瓧娈靛悕(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [columnComment] 瀛楁鎻忚堪
+         * @param {string} [netType] .NET绫诲瀷
+         * @param {string} [effectType] 浣滅敤绫诲瀷锛堝瓧鍏革級
+         * @param {string} [fkEntityName] 澶栭敭瀹炰綋鍚嶇О
+         * @param {string} [fkTableName] 澶栭敭琛ㄥ悕绉�
+         * @param {string} [lowerFkEntityName] 澶栭敭瀹炰綋鍚嶇О(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [fkColumnName] 澶栭敭鏄剧ず瀛楁
+         * @param {string} [lowerFkColumnName] 澶栭敭鏄剧ず瀛楁(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [fkColumnNetType] 澶栭敭鏄剧ず瀛楁.NET绫诲瀷
+         * @param {string} [dictTypeCode] 瀛楀吀code
+         * @param {string} [whetherRetract] 鍒楄〃鏄惁缂╄繘锛堝瓧鍏革級
+         * @param {string} [whetherRequired] 鏄惁蹇呭~锛堝瓧鍏革級
+         * @param {string} [whetherSortable] 鏄惁鍙帓搴忥紙瀛楀吀锛�
+         * @param {string} [queryWhether] 鏄惁鏄煡璇㈡潯浠�
+         * @param {string} [queryType] 鏌ヨ鏂瑰紡
+         * @param {string} [whetherTable] 鍒楄〃鏄剧ず
+         * @param {string} [whetherAddUpdate] 澧炴敼
+         * @param {string} [columnKey] 涓诲閿�
+         * @param {string} [dataType] 鏁版嵁搴撲腑绫诲瀷锛堢墿鐞嗙被鍨嬶級
+         * @param {string} [whetherCommon] 鏄惁鏄�氱敤瀛楁
+         * @param {string} [tableNickName] 琛ㄧ殑鍒悕 Table as XXX
+         * @param {string} [displayColumn] 鏄剧ず鏂囨湰瀛楁
+         * @param {string} [valueColumn] 閫変腑鍊煎瓧娈�
+         * @param {string} [pidColumn] 鐖剁骇瀛楁
+         * @param {number} [orderNo] 鎺掑簭
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenConfigListGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListCodeGenConfig>>> {
+            const localVarAxiosArgs = await SysCodeGenConfigApiAxiosParamCreator(configuration).apiSysCodeGenConfigListGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊浠g爜鐢熸垚閰嶇疆 馃敄
+         * @param {Array<CodeGenConfig>} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenConfigUpdatePost(body?: Array<CodeGenConfig>, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysCodeGenConfigApiAxiosParamCreator(configuration).apiSysCodeGenConfigUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysCodeGenConfigApi - factory interface
+ * @export
+ */
+export const SysCodeGenConfigApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 鑾峰彇浠g爜鐢熸垚閰嶇疆璇︽儏 馃敄
+         * @param {number} [id] 涓婚敭Id
+         * @param {number} [codeGenId] 浠g爜鐢熸垚涓昏〃ID
+         * @param {string} [columnName] 鏁版嵁搴撳瓧娈靛悕
+         * @param {string} [propertyName] 瀹炰綋灞炴�у悕
+         * @param {number} [columnLength] 瀛楁鏁版嵁闀垮害
+         * @param {string} [lowerPropertyName] 鏁版嵁搴撳瓧娈靛悕(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [columnComment] 瀛楁鎻忚堪
+         * @param {string} [netType] .NET绫诲瀷
+         * @param {string} [effectType] 浣滅敤绫诲瀷锛堝瓧鍏革級
+         * @param {string} [fkEntityName] 澶栭敭瀹炰綋鍚嶇О
+         * @param {string} [fkTableName] 澶栭敭琛ㄥ悕绉�
+         * @param {string} [lowerFkEntityName] 澶栭敭瀹炰綋鍚嶇О(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [fkColumnName] 澶栭敭鏄剧ず瀛楁
+         * @param {string} [lowerFkColumnName] 澶栭敭鏄剧ず瀛楁(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [fkColumnNetType] 澶栭敭鏄剧ず瀛楁.NET绫诲瀷
+         * @param {string} [dictTypeCode] 瀛楀吀code
+         * @param {string} [whetherRetract] 鍒楄〃鏄惁缂╄繘锛堝瓧鍏革級
+         * @param {string} [whetherRequired] 鏄惁蹇呭~锛堝瓧鍏革級
+         * @param {string} [whetherSortable] 鏄惁鍙帓搴忥紙瀛楀吀锛�
+         * @param {string} [queryWhether] 鏄惁鏄煡璇㈡潯浠�
+         * @param {string} [queryType] 鏌ヨ鏂瑰紡
+         * @param {string} [whetherTable] 鍒楄〃鏄剧ず
+         * @param {string} [whetherAddUpdate] 澧炴敼
+         * @param {string} [columnKey] 涓诲閿�
+         * @param {string} [dataType] 鏁版嵁搴撲腑绫诲瀷锛堢墿鐞嗙被鍨嬶級
+         * @param {string} [whetherCommon] 鏄惁鏄�氱敤瀛楁
+         * @param {string} [tableNickName] 琛ㄧ殑鍒悕 Table as XXX
+         * @param {string} [displayColumn] 鏄剧ず鏂囨湰瀛楁
+         * @param {string} [valueColumn] 閫変腑鍊煎瓧娈�
+         * @param {string} [pidColumn] 鐖剁骇瀛楁
+         * @param {number} [orderNo] 鎺掑簭
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenConfigDetailGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysCodeGenConfig>> {
+            return SysCodeGenConfigApiFp(configuration).apiSysCodeGenConfigDetailGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇浠g爜鐢熸垚閰嶇疆鍒楄〃 馃敄
+         * @param {number} [id] 涓婚敭Id
+         * @param {number} [codeGenId] 浠g爜鐢熸垚涓昏〃ID
+         * @param {string} [columnName] 鏁版嵁搴撳瓧娈靛悕
+         * @param {string} [propertyName] 瀹炰綋灞炴�у悕
+         * @param {number} [columnLength] 瀛楁鏁版嵁闀垮害
+         * @param {string} [lowerPropertyName] 鏁版嵁搴撳瓧娈靛悕(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [columnComment] 瀛楁鎻忚堪
+         * @param {string} [netType] .NET绫诲瀷
+         * @param {string} [effectType] 浣滅敤绫诲瀷锛堝瓧鍏革級
+         * @param {string} [fkEntityName] 澶栭敭瀹炰綋鍚嶇О
+         * @param {string} [fkTableName] 澶栭敭琛ㄥ悕绉�
+         * @param {string} [lowerFkEntityName] 澶栭敭瀹炰綋鍚嶇О(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [fkColumnName] 澶栭敭鏄剧ず瀛楁
+         * @param {string} [lowerFkColumnName] 澶栭敭鏄剧ず瀛楁(棣栧瓧姣嶅皬鍐�)
+         * @param {string} [fkColumnNetType] 澶栭敭鏄剧ず瀛楁.NET绫诲瀷
+         * @param {string} [dictTypeCode] 瀛楀吀code
+         * @param {string} [whetherRetract] 鍒楄〃鏄惁缂╄繘锛堝瓧鍏革級
+         * @param {string} [whetherRequired] 鏄惁蹇呭~锛堝瓧鍏革級
+         * @param {string} [whetherSortable] 鏄惁鍙帓搴忥紙瀛楀吀锛�
+         * @param {string} [queryWhether] 鏄惁鏄煡璇㈡潯浠�
+         * @param {string} [queryType] 鏌ヨ鏂瑰紡
+         * @param {string} [whetherTable] 鍒楄〃鏄剧ず
+         * @param {string} [whetherAddUpdate] 澧炴敼
+         * @param {string} [columnKey] 涓诲閿�
+         * @param {string} [dataType] 鏁版嵁搴撲腑绫诲瀷锛堢墿鐞嗙被鍨嬶級
+         * @param {string} [whetherCommon] 鏄惁鏄�氱敤瀛楁
+         * @param {string} [tableNickName] 琛ㄧ殑鍒悕 Table as XXX
+         * @param {string} [displayColumn] 鏄剧ず鏂囨湰瀛楁
+         * @param {string} [valueColumn] 閫変腑鍊煎瓧娈�
+         * @param {string} [pidColumn] 鐖剁骇瀛楁
+         * @param {number} [orderNo] 鎺掑簭
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenConfigListGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListCodeGenConfig>> {
+            return SysCodeGenConfigApiFp(configuration).apiSysCodeGenConfigListGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊浠g爜鐢熸垚閰嶇疆 馃敄
+         * @param {Array<CodeGenConfig>} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCodeGenConfigUpdatePost(body?: Array<CodeGenConfig>, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysCodeGenConfigApiFp(configuration).apiSysCodeGenConfigUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysCodeGenConfigApi - object-oriented interface
+ * @export
+ * @class SysCodeGenConfigApi
+ * @extends {BaseAPI}
+ */
+export class SysCodeGenConfigApi extends BaseAPI {
+    /**
+     * 
+     * @summary 鑾峰彇浠g爜鐢熸垚閰嶇疆璇︽儏 馃敄
+     * @param {number} [id] 涓婚敭Id
+     * @param {number} [codeGenId] 浠g爜鐢熸垚涓昏〃ID
+     * @param {string} [columnName] 鏁版嵁搴撳瓧娈靛悕
+     * @param {string} [propertyName] 瀹炰綋灞炴�у悕
+     * @param {number} [columnLength] 瀛楁鏁版嵁闀垮害
+     * @param {string} [lowerPropertyName] 鏁版嵁搴撳瓧娈靛悕(棣栧瓧姣嶅皬鍐�)
+     * @param {string} [columnComment] 瀛楁鎻忚堪
+     * @param {string} [netType] .NET绫诲瀷
+     * @param {string} [effectType] 浣滅敤绫诲瀷锛堝瓧鍏革級
+     * @param {string} [fkEntityName] 澶栭敭瀹炰綋鍚嶇О
+     * @param {string} [fkTableName] 澶栭敭琛ㄥ悕绉�
+     * @param {string} [lowerFkEntityName] 澶栭敭瀹炰綋鍚嶇О(棣栧瓧姣嶅皬鍐�)
+     * @param {string} [fkColumnName] 澶栭敭鏄剧ず瀛楁
+     * @param {string} [lowerFkColumnName] 澶栭敭鏄剧ず瀛楁(棣栧瓧姣嶅皬鍐�)
+     * @param {string} [fkColumnNetType] 澶栭敭鏄剧ず瀛楁.NET绫诲瀷
+     * @param {string} [dictTypeCode] 瀛楀吀code
+     * @param {string} [whetherRetract] 鍒楄〃鏄惁缂╄繘锛堝瓧鍏革級
+     * @param {string} [whetherRequired] 鏄惁蹇呭~锛堝瓧鍏革級
+     * @param {string} [whetherSortable] 鏄惁鍙帓搴忥紙瀛楀吀锛�
+     * @param {string} [queryWhether] 鏄惁鏄煡璇㈡潯浠�
+     * @param {string} [queryType] 鏌ヨ鏂瑰紡
+     * @param {string} [whetherTable] 鍒楄〃鏄剧ず
+     * @param {string} [whetherAddUpdate] 澧炴敼
+     * @param {string} [columnKey] 涓诲閿�
+     * @param {string} [dataType] 鏁版嵁搴撲腑绫诲瀷锛堢墿鐞嗙被鍨嬶級
+     * @param {string} [whetherCommon] 鏄惁鏄�氱敤瀛楁
+     * @param {string} [tableNickName] 琛ㄧ殑鍒悕 Table as XXX
+     * @param {string} [displayColumn] 鏄剧ず鏂囨湰瀛楁
+     * @param {string} [valueColumn] 閫変腑鍊煎瓧娈�
+     * @param {string} [pidColumn] 鐖剁骇瀛楁
+     * @param {number} [orderNo] 鎺掑簭
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCodeGenConfigApi
+     */
+    public async apiSysCodeGenConfigDetailGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysCodeGenConfig>> {
+        return SysCodeGenConfigApiFp(this.configuration).apiSysCodeGenConfigDetailGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇浠g爜鐢熸垚閰嶇疆鍒楄〃 馃敄
+     * @param {number} [id] 涓婚敭Id
+     * @param {number} [codeGenId] 浠g爜鐢熸垚涓昏〃ID
+     * @param {string} [columnName] 鏁版嵁搴撳瓧娈靛悕
+     * @param {string} [propertyName] 瀹炰綋灞炴�у悕
+     * @param {number} [columnLength] 瀛楁鏁版嵁闀垮害
+     * @param {string} [lowerPropertyName] 鏁版嵁搴撳瓧娈靛悕(棣栧瓧姣嶅皬鍐�)
+     * @param {string} [columnComment] 瀛楁鎻忚堪
+     * @param {string} [netType] .NET绫诲瀷
+     * @param {string} [effectType] 浣滅敤绫诲瀷锛堝瓧鍏革級
+     * @param {string} [fkEntityName] 澶栭敭瀹炰綋鍚嶇О
+     * @param {string} [fkTableName] 澶栭敭琛ㄥ悕绉�
+     * @param {string} [lowerFkEntityName] 澶栭敭瀹炰綋鍚嶇О(棣栧瓧姣嶅皬鍐�)
+     * @param {string} [fkColumnName] 澶栭敭鏄剧ず瀛楁
+     * @param {string} [lowerFkColumnName] 澶栭敭鏄剧ず瀛楁(棣栧瓧姣嶅皬鍐�)
+     * @param {string} [fkColumnNetType] 澶栭敭鏄剧ず瀛楁.NET绫诲瀷
+     * @param {string} [dictTypeCode] 瀛楀吀code
+     * @param {string} [whetherRetract] 鍒楄〃鏄惁缂╄繘锛堝瓧鍏革級
+     * @param {string} [whetherRequired] 鏄惁蹇呭~锛堝瓧鍏革級
+     * @param {string} [whetherSortable] 鏄惁鍙帓搴忥紙瀛楀吀锛�
+     * @param {string} [queryWhether] 鏄惁鏄煡璇㈡潯浠�
+     * @param {string} [queryType] 鏌ヨ鏂瑰紡
+     * @param {string} [whetherTable] 鍒楄〃鏄剧ず
+     * @param {string} [whetherAddUpdate] 澧炴敼
+     * @param {string} [columnKey] 涓诲閿�
+     * @param {string} [dataType] 鏁版嵁搴撲腑绫诲瀷锛堢墿鐞嗙被鍨嬶級
+     * @param {string} [whetherCommon] 鏄惁鏄�氱敤瀛楁
+     * @param {string} [tableNickName] 琛ㄧ殑鍒悕 Table as XXX
+     * @param {string} [displayColumn] 鏄剧ず鏂囨湰瀛楁
+     * @param {string} [valueColumn] 閫変腑鍊煎瓧娈�
+     * @param {string} [pidColumn] 鐖剁骇瀛楁
+     * @param {number} [orderNo] 鎺掑簭
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCodeGenConfigApi
+     */
+    public async apiSysCodeGenConfigListGet(id?: number, codeGenId?: number, columnName?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, effectType?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkColumnName?: string, lowerFkColumnName?: string, fkColumnNetType?: string, dictTypeCode?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, queryWhether?: string, queryType?: string, whetherTable?: string, whetherAddUpdate?: string, columnKey?: string, dataType?: string, whetherCommon?: string, tableNickName?: string, displayColumn?: string, valueColumn?: string, pidColumn?: string, orderNo?: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListCodeGenConfig>> {
+        return SysCodeGenConfigApiFp(this.configuration).apiSysCodeGenConfigListGet(id, codeGenId, columnName, propertyName, columnLength, lowerPropertyName, columnComment, netType, effectType, fkEntityName, fkTableName, lowerFkEntityName, fkColumnName, lowerFkColumnName, fkColumnNetType, dictTypeCode, whetherRetract, whetherRequired, whetherSortable, queryWhether, queryType, whetherTable, whetherAddUpdate, columnKey, dataType, whetherCommon, tableNickName, displayColumn, valueColumn, pidColumn, orderNo, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊浠g爜鐢熸垚閰嶇疆 馃敄
+     * @param {Array<CodeGenConfig>} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCodeGenConfigApi
+     */
+    public async apiSysCodeGenConfigUpdatePost(body?: Array<CodeGenConfig>, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysCodeGenConfigApiFp(this.configuration).apiSysCodeGenConfigUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-common-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-common-api.ts
new file mode 100644
index 0000000..bdc1849
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-common-api.ts
@@ -0,0 +1,206 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultListApiOutput } from '../models';
+import { AdminResultSmKeyPairOutput } from '../models';
+/**
+ * SysCommonApi - axios parameter creator
+ * @export
+ */
+export const SysCommonApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鑾峰彇鎵�鏈夋帴鍙�/鍔ㄦ�丄PI 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCommonApiListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysCommon/apiList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍥藉瘑鍏挜绉侀挜瀵� 馃弳
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCommonSmKeyPairGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysCommon/smKeyPair`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysCommonApi - functional programming interface
+ * @export
+ */
+export const SysCommonApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鑾峰彇鎵�鏈夋帴鍙�/鍔ㄦ�丄PI 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCommonApiListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListApiOutput>>> {
+            const localVarAxiosArgs = await SysCommonApiAxiosParamCreator(configuration).apiSysCommonApiListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍥藉瘑鍏挜绉侀挜瀵� 馃弳
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCommonSmKeyPairGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSmKeyPairOutput>>> {
+            const localVarAxiosArgs = await SysCommonApiAxiosParamCreator(configuration).apiSysCommonSmKeyPairGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysCommonApi - factory interface
+ * @export
+ */
+export const SysCommonApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 鑾峰彇鎵�鏈夋帴鍙�/鍔ㄦ�丄PI 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCommonApiListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListApiOutput>> {
+            return SysCommonApiFp(configuration).apiSysCommonApiListGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍥藉瘑鍏挜绉侀挜瀵� 馃弳
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCommonSmKeyPairGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSmKeyPairOutput>> {
+            return SysCommonApiFp(configuration).apiSysCommonSmKeyPairGet(options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysCommonApi - object-oriented interface
+ * @export
+ * @class SysCommonApi
+ * @extends {BaseAPI}
+ */
+export class SysCommonApi extends BaseAPI {
+    /**
+     * 
+     * @summary 鑾峰彇鎵�鏈夋帴鍙�/鍔ㄦ�丄PI 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCommonApi
+     */
+    public async apiSysCommonApiListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListApiOutput>> {
+        return SysCommonApiFp(this.configuration).apiSysCommonApiListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鍥藉瘑鍏挜绉侀挜瀵� 馃弳
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCommonApi
+     */
+    public async apiSysCommonSmKeyPairGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSmKeyPairOutput>> {
+        return SysCommonApiFp(this.configuration).apiSysCommonSmKeyPairGet(options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-config-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-config-api.ts
new file mode 100644
index 0000000..926735f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-config-api.ts
@@ -0,0 +1,714 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddConfigInput } from '../models';
+import { AdminResultListString } from '../models';
+import { AdminResultListSysConfig } from '../models';
+import { AdminResultSqlSugarPagedListSysConfig } from '../models';
+import { AdminResultSysConfig } from '../models';
+import { DeleteConfigInput } from '../models';
+import { PageConfigInput } from '../models';
+import { UpdateConfigInput } from '../models';
+/**
+ * SysConfigApi - axios parameter creator
+ * @export
+ */
+export const SysConfigApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鍙傛暟閰嶇疆 馃敄
+         * @param {AddConfigInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysConfigAddPost: async (body?: AddConfigInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysConfig/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鎵归噺鍒犻櫎鍙傛暟閰嶇疆 馃敄
+         * @param {Array<number>} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysConfigBatchDeletePost: async (body?: Array<number>, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysConfig/batchDelete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鍙傛暟閰嶇疆 馃敄
+         * @param {DeleteConfigInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysConfigDeletePost: async (body?: DeleteConfigInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysConfig/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍙傛暟閰嶇疆璇︽儏 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysConfigDetailGet: async (id: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'id' is not null or undefined
+            if (id === null || id === undefined) {
+                throw new RequiredError('id','Required parameter id was null or undefined when calling apiSysConfigDetailGet.');
+            }
+            const localVarPath = `/api/sysConfig/detail`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (id !== undefined) {
+                localVarQueryParameter['Id'] = id;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍒嗙粍鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysConfigGroupListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysConfig/groupList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍙傛暟閰嶇疆鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysConfigListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysConfig/list`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍙傛暟閰嶇疆鍒嗛〉鍒楄〃 馃敄
+         * @param {PageConfigInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysConfigPagePost: async (body?: PageConfigInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysConfig/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鍙傛暟閰嶇疆 馃敄
+         * @param {UpdateConfigInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysConfigUpdatePost: async (body?: UpdateConfigInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysConfig/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysConfigApi - functional programming interface
+ * @export
+ */
+export const SysConfigApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鍙傛暟閰嶇疆 馃敄
+         * @param {AddConfigInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConfigAddPost(body?: AddConfigInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysConfigApiAxiosParamCreator(configuration).apiSysConfigAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鎵归噺鍒犻櫎鍙傛暟閰嶇疆 馃敄
+         * @param {Array<number>} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConfigBatchDeletePost(body?: Array<number>, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysConfigApiAxiosParamCreator(configuration).apiSysConfigBatchDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鍙傛暟閰嶇疆 馃敄
+         * @param {DeleteConfigInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConfigDeletePost(body?: DeleteConfigInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysConfigApiAxiosParamCreator(configuration).apiSysConfigDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍙傛暟閰嶇疆璇︽儏 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConfigDetailGet(id: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysConfig>>> {
+            const localVarAxiosArgs = await SysConfigApiAxiosParamCreator(configuration).apiSysConfigDetailGet(id, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍒嗙粍鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConfigGroupListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListString>>> {
+            const localVarAxiosArgs = await SysConfigApiAxiosParamCreator(configuration).apiSysConfigGroupListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍙傛暟閰嶇疆鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConfigListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysConfig>>> {
+            const localVarAxiosArgs = await SysConfigApiAxiosParamCreator(configuration).apiSysConfigListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍙傛暟閰嶇疆鍒嗛〉鍒楄〃 馃敄
+         * @param {PageConfigInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConfigPagePost(body?: PageConfigInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysConfig>>> {
+            const localVarAxiosArgs = await SysConfigApiAxiosParamCreator(configuration).apiSysConfigPagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鍙傛暟閰嶇疆 馃敄
+         * @param {UpdateConfigInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConfigUpdatePost(body?: UpdateConfigInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysConfigApiAxiosParamCreator(configuration).apiSysConfigUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysConfigApi - factory interface
+ * @export
+ */
+export const SysConfigApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鍙傛暟閰嶇疆 馃敄
+         * @param {AddConfigInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConfigAddPost(body?: AddConfigInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysConfigApiFp(configuration).apiSysConfigAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鎵归噺鍒犻櫎鍙傛暟閰嶇疆 馃敄
+         * @param {Array<number>} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConfigBatchDeletePost(body?: Array<number>, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysConfigApiFp(configuration).apiSysConfigBatchDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鍙傛暟閰嶇疆 馃敄
+         * @param {DeleteConfigInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConfigDeletePost(body?: DeleteConfigInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysConfigApiFp(configuration).apiSysConfigDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍙傛暟閰嶇疆璇︽儏 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConfigDetailGet(id: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysConfig>> {
+            return SysConfigApiFp(configuration).apiSysConfigDetailGet(id, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍒嗙粍鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConfigGroupListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListString>> {
+            return SysConfigApiFp(configuration).apiSysConfigGroupListGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍙傛暟閰嶇疆鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConfigListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysConfig>> {
+            return SysConfigApiFp(configuration).apiSysConfigListGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍙傛暟閰嶇疆鍒嗛〉鍒楄〃 馃敄
+         * @param {PageConfigInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConfigPagePost(body?: PageConfigInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysConfig>> {
+            return SysConfigApiFp(configuration).apiSysConfigPagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊鍙傛暟閰嶇疆 馃敄
+         * @param {UpdateConfigInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConfigUpdatePost(body?: UpdateConfigInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysConfigApiFp(configuration).apiSysConfigUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysConfigApi - object-oriented interface
+ * @export
+ * @class SysConfigApi
+ * @extends {BaseAPI}
+ */
+export class SysConfigApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞鍙傛暟閰嶇疆 馃敄
+     * @param {AddConfigInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysConfigApi
+     */
+    public async apiSysConfigAddPost(body?: AddConfigInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysConfigApiFp(this.configuration).apiSysConfigAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鎵归噺鍒犻櫎鍙傛暟閰嶇疆 馃敄
+     * @param {Array<number>} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysConfigApi
+     */
+    public async apiSysConfigBatchDeletePost(body?: Array<number>, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysConfigApiFp(this.configuration).apiSysConfigBatchDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎鍙傛暟閰嶇疆 馃敄
+     * @param {DeleteConfigInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysConfigApi
+     */
+    public async apiSysConfigDeletePost(body?: DeleteConfigInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysConfigApiFp(this.configuration).apiSysConfigDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鍙傛暟閰嶇疆璇︽儏 馃敄
+     * @param {number} id 涓婚敭Id
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysConfigApi
+     */
+    public async apiSysConfigDetailGet(id: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysConfig>> {
+        return SysConfigApiFp(this.configuration).apiSysConfigDetailGet(id, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鍒嗙粍鍒楄〃 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysConfigApi
+     */
+    public async apiSysConfigGroupListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListString>> {
+        return SysConfigApiFp(this.configuration).apiSysConfigGroupListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鍙傛暟閰嶇疆鍒楄〃 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysConfigApi
+     */
+    public async apiSysConfigListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysConfig>> {
+        return SysConfigApiFp(this.configuration).apiSysConfigListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鍙傛暟閰嶇疆鍒嗛〉鍒楄〃 馃敄
+     * @param {PageConfigInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysConfigApi
+     */
+    public async apiSysConfigPagePost(body?: PageConfigInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysConfig>> {
+        return SysConfigApiFp(this.configuration).apiSysConfigPagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊鍙傛暟閰嶇疆 馃敄
+     * @param {UpdateConfigInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysConfigApi
+     */
+    public async apiSysConfigUpdatePost(body?: UpdateConfigInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysConfigApiFp(this.configuration).apiSysConfigUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-const-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-const-api.ts
new file mode 100644
index 0000000..406078c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-const-api.ts
@@ -0,0 +1,214 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultListConstOutput } from '../models';
+/**
+ * SysConstApi - axios parameter creator
+ * @export
+ */
+export const SysConstApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鏍规嵁绫诲悕鑾峰彇甯搁噺鏁版嵁 馃敄
+         * @param {string} typeName 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysConstDataTypeNameGet: async (typeName: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'typeName' is not null or undefined
+            if (typeName === null || typeName === undefined) {
+                throw new RequiredError('typeName','Required parameter typeName was null or undefined when calling apiSysConstDataTypeNameGet.');
+            }
+            const localVarPath = `/api/sysConst/data/{typeName}`
+                .replace(`{${"typeName"}}`, encodeURIComponent(String(typeName)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎵�鏈夊父閲忓垪琛� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysConstListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysConst/list`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysConstApi - functional programming interface
+ * @export
+ */
+export const SysConstApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鏍规嵁绫诲悕鑾峰彇甯搁噺鏁版嵁 馃敄
+         * @param {string} typeName 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConstDataTypeNameGet(typeName: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListConstOutput>>> {
+            const localVarAxiosArgs = await SysConstApiAxiosParamCreator(configuration).apiSysConstDataTypeNameGet(typeName, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎵�鏈夊父閲忓垪琛� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConstListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListConstOutput>>> {
+            const localVarAxiosArgs = await SysConstApiAxiosParamCreator(configuration).apiSysConstListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysConstApi - factory interface
+ * @export
+ */
+export const SysConstApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 鏍规嵁绫诲悕鑾峰彇甯搁噺鏁版嵁 馃敄
+         * @param {string} typeName 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConstDataTypeNameGet(typeName: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListConstOutput>> {
+            return SysConstApiFp(configuration).apiSysConstDataTypeNameGet(typeName, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎵�鏈夊父閲忓垪琛� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysConstListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListConstOutput>> {
+            return SysConstApiFp(configuration).apiSysConstListGet(options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysConstApi - object-oriented interface
+ * @export
+ * @class SysConstApi
+ * @extends {BaseAPI}
+ */
+export class SysConstApi extends BaseAPI {
+    /**
+     * 
+     * @summary 鏍规嵁绫诲悕鑾峰彇甯搁噺鏁版嵁 馃敄
+     * @param {string} typeName 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysConstApi
+     */
+    public async apiSysConstDataTypeNameGet(typeName: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListConstOutput>> {
+        return SysConstApiFp(this.configuration).apiSysConstDataTypeNameGet(typeName, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鎵�鏈夊父閲忓垪琛� 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysConstApi
+     */
+    public async apiSysConstListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListConstOutput>> {
+        return SysConstApiFp(this.configuration).apiSysConstListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-database-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-database-api.ts
new file mode 100644
index 0000000..754b93a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-database-api.ts
@@ -0,0 +1,1216 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultListDbColumnOutput } from '../models';
+import { AdminResultListDbTableInfo } from '../models';
+import { AdminResultListString } from '../models';
+import { AdminResultVisualDbTable } from '../models';
+import { CreateEntityInput } from '../models';
+import { CreateSeedDataInput } from '../models';
+import { DbColumnInput } from '../models';
+import { DbTableInput } from '../models';
+import { DeleteDbColumnInput } from '../models';
+import { DeleteDbTableInput } from '../models';
+import { UpdateDbColumnInput } from '../models';
+import { UpdateDbTableInput } from '../models';
+/**
+ * SysDatabaseApi - axios parameter creator
+ * @export
+ */
+export const SysDatabaseApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鍒� 馃敄
+         * @param {DbColumnInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDatabaseAddColumnPost: async (body?: DbColumnInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDatabase/addColumn`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 澧炲姞琛� 馃敄
+         * @param {DbTableInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDatabaseAddTablePost: async (body?: DbTableInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDatabase/addTable`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 澶囦唤鏁版嵁搴擄紙PostgreSQL锛夝煍�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDatabaseBackupDatabasePost: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDatabase/backupDatabase`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楁鍒楄〃 馃敄
+         * @param {string} tableName 琛ㄥ悕
+         * @param {string} configId ConfigId
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDatabaseColumnListTableNameConfigIdGet: async (tableName: string, configId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'tableName' is not null or undefined
+            if (tableName === null || tableName === undefined) {
+                throw new RequiredError('tableName','Required parameter tableName was null or undefined when calling apiSysDatabaseColumnListTableNameConfigIdGet.');
+            }
+            // verify required parameter 'configId' is not null or undefined
+            if (configId === null || configId === undefined) {
+                throw new RequiredError('configId','Required parameter configId was null or undefined when calling apiSysDatabaseColumnListTableNameConfigIdGet.');
+            }
+            const localVarPath = `/api/sysDatabase/columnList/{tableName}/{configId}`
+                .replace(`{${"tableName"}}`, encodeURIComponent(String(tableName)))
+                .replace(`{${"configId"}}`, encodeURIComponent(String(configId)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒涘缓瀹炰綋 馃敄
+         * @param {CreateEntityInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDatabaseCreateEntityPost: async (body?: CreateEntityInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDatabase/createEntity`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒涘缓绉嶅瓙鏁版嵁 馃敄
+         * @param {CreateSeedDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDatabaseCreateSeedDataPost: async (body?: CreateSeedDataInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDatabase/createSeedData`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏁版嵁搴撴暟鎹被鍨嬪垪琛� 馃敄
+         * @param {string} configId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDatabaseDbTypeListConfigIdGet: async (configId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'configId' is not null or undefined
+            if (configId === null || configId === undefined) {
+                throw new RequiredError('configId','Required parameter configId was null or undefined when calling apiSysDatabaseDbTypeListConfigIdGet.');
+            }
+            const localVarPath = `/api/sysDatabase/dbTypeList/{configId}`
+                .replace(`{${"configId"}}`, encodeURIComponent(String(configId)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鍒� 馃敄
+         * @param {DeleteDbColumnInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDatabaseDeleteColumnPost: async (body?: DeleteDbColumnInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDatabase/deleteColumn`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎琛� 馃敄
+         * @param {DeleteDbTableInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDatabaseDeleteTablePost: async (body?: DeleteDbTableInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDatabase/deleteTable`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇搴撳垪琛� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDatabaseListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDatabase/list`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇琛ㄥ垪琛� 馃敄
+         * @param {string} configId ConfigId
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDatabaseTableListConfigIdGet: async (configId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'configId' is not null or undefined
+            if (configId === null || configId === undefined) {
+                throw new RequiredError('configId','Required parameter configId was null or undefined when calling apiSysDatabaseTableListConfigIdGet.');
+            }
+            const localVarPath = `/api/sysDatabase/tableList/{configId}`
+                .replace(`{${"configId"}}`, encodeURIComponent(String(configId)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 缂栬緫鍒� 馃敄
+         * @param {UpdateDbColumnInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDatabaseUpdateColumnPost: async (body?: UpdateDbColumnInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDatabase/updateColumn`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 缂栬緫琛� 馃敄
+         * @param {UpdateDbTableInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDatabaseUpdateTablePost: async (body?: UpdateDbTableInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDatabase/updateTable`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍙鍖栧簱琛ㄧ粨鏋� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDatabaseVisualDbTableGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDatabase/visualDbTable`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysDatabaseApi - functional programming interface
+ * @export
+ */
+export const SysDatabaseApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鍒� 馃敄
+         * @param {DbColumnInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseAddColumnPost(body?: DbColumnInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDatabaseApiAxiosParamCreator(configuration).apiSysDatabaseAddColumnPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 澧炲姞琛� 馃敄
+         * @param {DbTableInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseAddTablePost(body?: DbTableInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDatabaseApiAxiosParamCreator(configuration).apiSysDatabaseAddTablePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 澶囦唤鏁版嵁搴擄紙PostgreSQL锛夝煍�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseBackupDatabasePost(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDatabaseApiAxiosParamCreator(configuration).apiSysDatabaseBackupDatabasePost(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楁鍒楄〃 馃敄
+         * @param {string} tableName 琛ㄥ悕
+         * @param {string} configId ConfigId
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseColumnListTableNameConfigIdGet(tableName: string, configId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListDbColumnOutput>>> {
+            const localVarAxiosArgs = await SysDatabaseApiAxiosParamCreator(configuration).apiSysDatabaseColumnListTableNameConfigIdGet(tableName, configId, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒涘缓瀹炰綋 馃敄
+         * @param {CreateEntityInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseCreateEntityPost(body?: CreateEntityInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDatabaseApiAxiosParamCreator(configuration).apiSysDatabaseCreateEntityPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒涘缓绉嶅瓙鏁版嵁 馃敄
+         * @param {CreateSeedDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseCreateSeedDataPost(body?: CreateSeedDataInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDatabaseApiAxiosParamCreator(configuration).apiSysDatabaseCreateSeedDataPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏁版嵁搴撴暟鎹被鍨嬪垪琛� 馃敄
+         * @param {string} configId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseDbTypeListConfigIdGet(configId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListString>>> {
+            const localVarAxiosArgs = await SysDatabaseApiAxiosParamCreator(configuration).apiSysDatabaseDbTypeListConfigIdGet(configId, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鍒� 馃敄
+         * @param {DeleteDbColumnInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseDeleteColumnPost(body?: DeleteDbColumnInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDatabaseApiAxiosParamCreator(configuration).apiSysDatabaseDeleteColumnPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎琛� 馃敄
+         * @param {DeleteDbTableInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseDeleteTablePost(body?: DeleteDbTableInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDatabaseApiAxiosParamCreator(configuration).apiSysDatabaseDeleteTablePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇搴撳垪琛� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListString>>> {
+            const localVarAxiosArgs = await SysDatabaseApiAxiosParamCreator(configuration).apiSysDatabaseListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇琛ㄥ垪琛� 馃敄
+         * @param {string} configId ConfigId
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseTableListConfigIdGet(configId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListDbTableInfo>>> {
+            const localVarAxiosArgs = await SysDatabaseApiAxiosParamCreator(configuration).apiSysDatabaseTableListConfigIdGet(configId, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 缂栬緫鍒� 馃敄
+         * @param {UpdateDbColumnInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseUpdateColumnPost(body?: UpdateDbColumnInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDatabaseApiAxiosParamCreator(configuration).apiSysDatabaseUpdateColumnPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 缂栬緫琛� 馃敄
+         * @param {UpdateDbTableInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseUpdateTablePost(body?: UpdateDbTableInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDatabaseApiAxiosParamCreator(configuration).apiSysDatabaseUpdateTablePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍙鍖栧簱琛ㄧ粨鏋� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseVisualDbTableGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultVisualDbTable>>> {
+            const localVarAxiosArgs = await SysDatabaseApiAxiosParamCreator(configuration).apiSysDatabaseVisualDbTableGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysDatabaseApi - factory interface
+ * @export
+ */
+export const SysDatabaseApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鍒� 馃敄
+         * @param {DbColumnInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseAddColumnPost(body?: DbColumnInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDatabaseApiFp(configuration).apiSysDatabaseAddColumnPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 澧炲姞琛� 馃敄
+         * @param {DbTableInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseAddTablePost(body?: DbTableInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDatabaseApiFp(configuration).apiSysDatabaseAddTablePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 澶囦唤鏁版嵁搴擄紙PostgreSQL锛夝煍�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseBackupDatabasePost(options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDatabaseApiFp(configuration).apiSysDatabaseBackupDatabasePost(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楁鍒楄〃 馃敄
+         * @param {string} tableName 琛ㄥ悕
+         * @param {string} configId ConfigId
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseColumnListTableNameConfigIdGet(tableName: string, configId: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListDbColumnOutput>> {
+            return SysDatabaseApiFp(configuration).apiSysDatabaseColumnListTableNameConfigIdGet(tableName, configId, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒涘缓瀹炰綋 馃敄
+         * @param {CreateEntityInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseCreateEntityPost(body?: CreateEntityInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDatabaseApiFp(configuration).apiSysDatabaseCreateEntityPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒涘缓绉嶅瓙鏁版嵁 馃敄
+         * @param {CreateSeedDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseCreateSeedDataPost(body?: CreateSeedDataInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDatabaseApiFp(configuration).apiSysDatabaseCreateSeedDataPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏁版嵁搴撴暟鎹被鍨嬪垪琛� 馃敄
+         * @param {string} configId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseDbTypeListConfigIdGet(configId: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListString>> {
+            return SysDatabaseApiFp(configuration).apiSysDatabaseDbTypeListConfigIdGet(configId, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鍒� 馃敄
+         * @param {DeleteDbColumnInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseDeleteColumnPost(body?: DeleteDbColumnInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDatabaseApiFp(configuration).apiSysDatabaseDeleteColumnPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎琛� 馃敄
+         * @param {DeleteDbTableInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseDeleteTablePost(body?: DeleteDbTableInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDatabaseApiFp(configuration).apiSysDatabaseDeleteTablePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇搴撳垪琛� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListString>> {
+            return SysDatabaseApiFp(configuration).apiSysDatabaseListGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇琛ㄥ垪琛� 馃敄
+         * @param {string} configId ConfigId
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseTableListConfigIdGet(configId: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListDbTableInfo>> {
+            return SysDatabaseApiFp(configuration).apiSysDatabaseTableListConfigIdGet(configId, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 缂栬緫鍒� 馃敄
+         * @param {UpdateDbColumnInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseUpdateColumnPost(body?: UpdateDbColumnInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDatabaseApiFp(configuration).apiSysDatabaseUpdateColumnPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 缂栬緫琛� 馃敄
+         * @param {UpdateDbTableInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseUpdateTablePost(body?: UpdateDbTableInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDatabaseApiFp(configuration).apiSysDatabaseUpdateTablePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍙鍖栧簱琛ㄧ粨鏋� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseVisualDbTableGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultVisualDbTable>> {
+            return SysDatabaseApiFp(configuration).apiSysDatabaseVisualDbTableGet(options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysDatabaseApi - object-oriented interface
+ * @export
+ * @class SysDatabaseApi
+ * @extends {BaseAPI}
+ */
+export class SysDatabaseApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞鍒� 馃敄
+     * @param {DbColumnInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDatabaseApi
+     */
+    public async apiSysDatabaseAddColumnPost(body?: DbColumnInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDatabaseApiFp(this.configuration).apiSysDatabaseAddColumnPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 澧炲姞琛� 馃敄
+     * @param {DbTableInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDatabaseApi
+     */
+    public async apiSysDatabaseAddTablePost(body?: DbTableInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDatabaseApiFp(this.configuration).apiSysDatabaseAddTablePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 澶囦唤鏁版嵁搴擄紙PostgreSQL锛夝煍�
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDatabaseApi
+     */
+    public async apiSysDatabaseBackupDatabasePost(options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDatabaseApiFp(this.configuration).apiSysDatabaseBackupDatabasePost(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇瀛楁鍒楄〃 馃敄
+     * @param {string} tableName 琛ㄥ悕
+     * @param {string} configId ConfigId
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDatabaseApi
+     */
+    public async apiSysDatabaseColumnListTableNameConfigIdGet(tableName: string, configId: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListDbColumnOutput>> {
+        return SysDatabaseApiFp(this.configuration).apiSysDatabaseColumnListTableNameConfigIdGet(tableName, configId, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒涘缓瀹炰綋 馃敄
+     * @param {CreateEntityInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDatabaseApi
+     */
+    public async apiSysDatabaseCreateEntityPost(body?: CreateEntityInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDatabaseApiFp(this.configuration).apiSysDatabaseCreateEntityPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒涘缓绉嶅瓙鏁版嵁 馃敄
+     * @param {CreateSeedDataInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDatabaseApi
+     */
+    public async apiSysDatabaseCreateSeedDataPost(body?: CreateSeedDataInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDatabaseApiFp(this.configuration).apiSysDatabaseCreateSeedDataPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鏁版嵁搴撴暟鎹被鍨嬪垪琛� 馃敄
+     * @param {string} configId 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDatabaseApi
+     */
+    public async apiSysDatabaseDbTypeListConfigIdGet(configId: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListString>> {
+        return SysDatabaseApiFp(this.configuration).apiSysDatabaseDbTypeListConfigIdGet(configId, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎鍒� 馃敄
+     * @param {DeleteDbColumnInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDatabaseApi
+     */
+    public async apiSysDatabaseDeleteColumnPost(body?: DeleteDbColumnInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDatabaseApiFp(this.configuration).apiSysDatabaseDeleteColumnPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎琛� 馃敄
+     * @param {DeleteDbTableInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDatabaseApi
+     */
+    public async apiSysDatabaseDeleteTablePost(body?: DeleteDbTableInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDatabaseApiFp(this.configuration).apiSysDatabaseDeleteTablePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇搴撳垪琛� 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDatabaseApi
+     */
+    public async apiSysDatabaseListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListString>> {
+        return SysDatabaseApiFp(this.configuration).apiSysDatabaseListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇琛ㄥ垪琛� 馃敄
+     * @param {string} configId ConfigId
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDatabaseApi
+     */
+    public async apiSysDatabaseTableListConfigIdGet(configId: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListDbTableInfo>> {
+        return SysDatabaseApiFp(this.configuration).apiSysDatabaseTableListConfigIdGet(configId, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 缂栬緫鍒� 馃敄
+     * @param {UpdateDbColumnInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDatabaseApi
+     */
+    public async apiSysDatabaseUpdateColumnPost(body?: UpdateDbColumnInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDatabaseApiFp(this.configuration).apiSysDatabaseUpdateColumnPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 缂栬緫琛� 馃敄
+     * @param {UpdateDbTableInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDatabaseApi
+     */
+    public async apiSysDatabaseUpdateTablePost(body?: UpdateDbTableInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDatabaseApiFp(this.configuration).apiSysDatabaseUpdateTablePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鍙鍖栧簱琛ㄧ粨鏋� 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDatabaseApi
+     */
+    public async apiSysDatabaseVisualDbTableGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultVisualDbTable>> {
+        return SysDatabaseApiFp(this.configuration).apiSysDatabaseVisualDbTableGet(options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-dict-data-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-dict-data-api.ts
new file mode 100644
index 0000000..dbc4a99
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-dict-data-api.ts
@@ -0,0 +1,839 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddDictDataInput } from '../models';
+import { AdminResultListSysDictData } from '../models';
+import { AdminResultSqlSugarPagedListSysDictData } from '../models';
+import { AdminResultSysDictData } from '../models';
+import { DeleteDictDataInput } from '../models';
+import { DictDataInput } from '../models';
+import { PageDictDataInput } from '../models';
+import { StatusEnum } from '../models';
+import { UpdateDictDataInput } from '../models';
+/**
+ * SysDictDataApi - axios parameter creator
+ * @export
+ */
+export const SysDictDataApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞瀛楀吀鍊� 馃敄
+         * @param {AddDictDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictDataAddPost: async (body?: AddDictDataInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDictData/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏍规嵁瀛楀吀绫诲瀷缂栧彿鑾峰彇瀛楀吀鍊奸泦鍚� 馃敄
+         * @param {string} code 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictDataDataListCodeGet: async (code: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'code' is not null or undefined
+            if (code === null || code === undefined) {
+                throw new RequiredError('code','Required parameter code was null or undefined when calling apiSysDictDataDataListCodeGet.');
+            }
+            const localVarPath = `/api/sysDictData/dataList/{code}`
+                .replace(`{${"code"}}`, encodeURIComponent(String(code)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏍规嵁鏌ヨ鏉′欢鑾峰彇瀛楀吀鍊奸泦鍚� 馃敄
+         * @param {string} code 缂栧彿
+         * @param {number} [status] 鐘舵��
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictDataDataListGet: async (code: string, status?: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'code' is not null or undefined
+            if (code === null || code === undefined) {
+                throw new RequiredError('code','Required parameter code was null or undefined when calling apiSysDictDataDataListGet.');
+            }
+            const localVarPath = `/api/sysDictData/dataList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (code !== undefined) {
+                localVarQueryParameter['Code'] = code;
+            }
+
+            if (status !== undefined) {
+                localVarQueryParameter['Status'] = status;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎瀛楀吀鍊� 馃敄
+         * @param {DeleteDictDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictDataDeletePost: async (body?: DeleteDictDataInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDictData/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀鍊艰鎯� 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {StatusEnum} [status] 鐘舵��
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictDataDetailGet: async (id: number, status?: StatusEnum, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'id' is not null or undefined
+            if (id === null || id === undefined) {
+                throw new RequiredError('id','Required parameter id was null or undefined when calling apiSysDictDataDetailGet.');
+            }
+            const localVarPath = `/api/sysDictData/detail`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (status !== undefined) {
+                localVarQueryParameter['Status'] = status;
+            }
+
+            if (id !== undefined) {
+                localVarQueryParameter['Id'] = id;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀鍊煎垪琛� 馃敄
+         * @param {number} dictTypeId 瀛楀吀绫诲瀷Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictDataListGet: async (dictTypeId: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'dictTypeId' is not null or undefined
+            if (dictTypeId === null || dictTypeId === undefined) {
+                throw new RequiredError('dictTypeId','Required parameter dictTypeId was null or undefined when calling apiSysDictDataListGet.');
+            }
+            const localVarPath = `/api/sysDictData/list`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (dictTypeId !== undefined) {
+                localVarQueryParameter['DictTypeId'] = dictTypeId;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀鍊煎垎椤靛垪琛� 馃敄
+         * @param {PageDictDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictDataPagePost: async (body?: PageDictDataInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDictData/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 淇敼瀛楀吀鍊肩姸鎬� 馃敄
+         * @param {DictDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictDataSetStatusPost: async (body?: DictDataInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDictData/setStatus`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊瀛楀吀鍊� 馃敄
+         * @param {UpdateDictDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictDataUpdatePost: async (body?: UpdateDictDataInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDictData/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysDictDataApi - functional programming interface
+ * @export
+ */
+export const SysDictDataApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞瀛楀吀鍊� 馃敄
+         * @param {AddDictDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataAddPost(body?: AddDictDataInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDictDataApiAxiosParamCreator(configuration).apiSysDictDataAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏍规嵁瀛楀吀绫诲瀷缂栧彿鑾峰彇瀛楀吀鍊奸泦鍚� 馃敄
+         * @param {string} code 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataDataListCodeGet(code: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysDictData>>> {
+            const localVarAxiosArgs = await SysDictDataApiAxiosParamCreator(configuration).apiSysDictDataDataListCodeGet(code, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏍规嵁鏌ヨ鏉′欢鑾峰彇瀛楀吀鍊奸泦鍚� 馃敄
+         * @param {string} code 缂栧彿
+         * @param {number} [status] 鐘舵��
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataDataListGet(code: string, status?: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysDictData>>> {
+            const localVarAxiosArgs = await SysDictDataApiAxiosParamCreator(configuration).apiSysDictDataDataListGet(code, status, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎瀛楀吀鍊� 馃敄
+         * @param {DeleteDictDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataDeletePost(body?: DeleteDictDataInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDictDataApiAxiosParamCreator(configuration).apiSysDictDataDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀鍊艰鎯� 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {StatusEnum} [status] 鐘舵��
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataDetailGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysDictData>>> {
+            const localVarAxiosArgs = await SysDictDataApiAxiosParamCreator(configuration).apiSysDictDataDetailGet(id, status, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀鍊煎垪琛� 馃敄
+         * @param {number} dictTypeId 瀛楀吀绫诲瀷Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataListGet(dictTypeId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysDictData>>> {
+            const localVarAxiosArgs = await SysDictDataApiAxiosParamCreator(configuration).apiSysDictDataListGet(dictTypeId, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀鍊煎垎椤靛垪琛� 馃敄
+         * @param {PageDictDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataPagePost(body?: PageDictDataInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysDictData>>> {
+            const localVarAxiosArgs = await SysDictDataApiAxiosParamCreator(configuration).apiSysDictDataPagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 淇敼瀛楀吀鍊肩姸鎬� 馃敄
+         * @param {DictDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataSetStatusPost(body?: DictDataInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDictDataApiAxiosParamCreator(configuration).apiSysDictDataSetStatusPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊瀛楀吀鍊� 馃敄
+         * @param {UpdateDictDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataUpdatePost(body?: UpdateDictDataInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDictDataApiAxiosParamCreator(configuration).apiSysDictDataUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysDictDataApi - factory interface
+ * @export
+ */
+export const SysDictDataApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞瀛楀吀鍊� 馃敄
+         * @param {AddDictDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataAddPost(body?: AddDictDataInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDictDataApiFp(configuration).apiSysDictDataAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏍规嵁瀛楀吀绫诲瀷缂栧彿鑾峰彇瀛楀吀鍊奸泦鍚� 馃敄
+         * @param {string} code 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataDataListCodeGet(code: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysDictData>> {
+            return SysDictDataApiFp(configuration).apiSysDictDataDataListCodeGet(code, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏍规嵁鏌ヨ鏉′欢鑾峰彇瀛楀吀鍊奸泦鍚� 馃敄
+         * @param {string} code 缂栧彿
+         * @param {number} [status] 鐘舵��
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataDataListGet(code: string, status?: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysDictData>> {
+            return SysDictDataApiFp(configuration).apiSysDictDataDataListGet(code, status, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎瀛楀吀鍊� 馃敄
+         * @param {DeleteDictDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataDeletePost(body?: DeleteDictDataInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDictDataApiFp(configuration).apiSysDictDataDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀鍊艰鎯� 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {StatusEnum} [status] 鐘舵��
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataDetailGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysDictData>> {
+            return SysDictDataApiFp(configuration).apiSysDictDataDetailGet(id, status, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀鍊煎垪琛� 馃敄
+         * @param {number} dictTypeId 瀛楀吀绫诲瀷Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataListGet(dictTypeId: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysDictData>> {
+            return SysDictDataApiFp(configuration).apiSysDictDataListGet(dictTypeId, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀鍊煎垎椤靛垪琛� 馃敄
+         * @param {PageDictDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataPagePost(body?: PageDictDataInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysDictData>> {
+            return SysDictDataApiFp(configuration).apiSysDictDataPagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 淇敼瀛楀吀鍊肩姸鎬� 馃敄
+         * @param {DictDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataSetStatusPost(body?: DictDataInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDictDataApiFp(configuration).apiSysDictDataSetStatusPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊瀛楀吀鍊� 馃敄
+         * @param {UpdateDictDataInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictDataUpdatePost(body?: UpdateDictDataInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDictDataApiFp(configuration).apiSysDictDataUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysDictDataApi - object-oriented interface
+ * @export
+ * @class SysDictDataApi
+ * @extends {BaseAPI}
+ */
+export class SysDictDataApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞瀛楀吀鍊� 馃敄
+     * @param {AddDictDataInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictDataApi
+     */
+    public async apiSysDictDataAddPost(body?: AddDictDataInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDictDataApiFp(this.configuration).apiSysDictDataAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏍规嵁瀛楀吀绫诲瀷缂栧彿鑾峰彇瀛楀吀鍊奸泦鍚� 馃敄
+     * @param {string} code 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictDataApi
+     */
+    public async apiSysDictDataDataListCodeGet(code: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysDictData>> {
+        return SysDictDataApiFp(this.configuration).apiSysDictDataDataListCodeGet(code, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏍规嵁鏌ヨ鏉′欢鑾峰彇瀛楀吀鍊奸泦鍚� 馃敄
+     * @param {string} code 缂栧彿
+     * @param {number} [status] 鐘舵��
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictDataApi
+     */
+    public async apiSysDictDataDataListGet(code: string, status?: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysDictData>> {
+        return SysDictDataApiFp(this.configuration).apiSysDictDataDataListGet(code, status, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎瀛楀吀鍊� 馃敄
+     * @param {DeleteDictDataInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictDataApi
+     */
+    public async apiSysDictDataDeletePost(body?: DeleteDictDataInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDictDataApiFp(this.configuration).apiSysDictDataDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇瀛楀吀鍊艰鎯� 馃敄
+     * @param {number} id 涓婚敭Id
+     * @param {StatusEnum} [status] 鐘舵��
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictDataApi
+     */
+    public async apiSysDictDataDetailGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysDictData>> {
+        return SysDictDataApiFp(this.configuration).apiSysDictDataDetailGet(id, status, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇瀛楀吀鍊煎垪琛� 馃敄
+     * @param {number} dictTypeId 瀛楀吀绫诲瀷Id
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictDataApi
+     */
+    public async apiSysDictDataListGet(dictTypeId: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysDictData>> {
+        return SysDictDataApiFp(this.configuration).apiSysDictDataListGet(dictTypeId, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇瀛楀吀鍊煎垎椤靛垪琛� 馃敄
+     * @param {PageDictDataInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictDataApi
+     */
+    public async apiSysDictDataPagePost(body?: PageDictDataInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysDictData>> {
+        return SysDictDataApiFp(this.configuration).apiSysDictDataPagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 淇敼瀛楀吀鍊肩姸鎬� 馃敄
+     * @param {DictDataInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictDataApi
+     */
+    public async apiSysDictDataSetStatusPost(body?: DictDataInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDictDataApiFp(this.configuration).apiSysDictDataSetStatusPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊瀛楀吀鍊� 馃敄
+     * @param {UpdateDictDataInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictDataApi
+     */
+    public async apiSysDictDataUpdatePost(body?: UpdateDictDataInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDictDataApiFp(this.configuration).apiSysDictDataUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-dict-type-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-dict-type-api.ts
new file mode 100644
index 0000000..6d44a62
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-dict-type-api.ts
@@ -0,0 +1,811 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddDictTypeInput } from '../models';
+import { AdminResultListSysDictData } from '../models';
+import { AdminResultListSysDictType } from '../models';
+import { AdminResultSqlSugarPagedListSysDictType } from '../models';
+import { AdminResultSysDictType } from '../models';
+import { DeleteDictTypeInput } from '../models';
+import { DictTypeInput } from '../models';
+import { PageDictTypeInput } from '../models';
+import { StatusEnum } from '../models';
+import { UpdateDictTypeInput } from '../models';
+/**
+ * SysDictTypeApi - axios parameter creator
+ * @export
+ */
+export const SysDictTypeApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 娣诲姞瀛楀吀绫诲瀷 馃敄
+         * @param {AddDictTypeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictTypeAddPost: async (body?: AddDictTypeInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDictType/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎵�鏈夊瓧鍏搁泦鍚� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictTypeAllDictListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDictType/allDictList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀绫诲瀷-鍊煎垪琛� 馃敄
+         * @param {string} code 缂栧彿
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictTypeDataListGet: async (code: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'code' is not null or undefined
+            if (code === null || code === undefined) {
+                throw new RequiredError('code','Required parameter code was null or undefined when calling apiSysDictTypeDataListGet.');
+            }
+            const localVarPath = `/api/sysDictType/dataList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (code !== undefined) {
+                localVarQueryParameter['Code'] = code;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎瀛楀吀绫诲瀷 馃敄
+         * @param {DeleteDictTypeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictTypeDeletePost: async (body?: DeleteDictTypeInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDictType/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀绫诲瀷璇︽儏 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {StatusEnum} [status] 鐘舵��
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictTypeDetailGet: async (id: number, status?: StatusEnum, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'id' is not null or undefined
+            if (id === null || id === undefined) {
+                throw new RequiredError('id','Required parameter id was null or undefined when calling apiSysDictTypeDetailGet.');
+            }
+            const localVarPath = `/api/sysDictType/detail`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (status !== undefined) {
+                localVarQueryParameter['Status'] = status;
+            }
+
+            if (id !== undefined) {
+                localVarQueryParameter['Id'] = id;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀绫诲瀷鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictTypeListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDictType/list`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀绫诲瀷鍒嗛〉鍒楄〃 馃敄
+         * @param {PageDictTypeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictTypePagePost: async (body?: PageDictTypeInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDictType/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 淇敼瀛楀吀绫诲瀷鐘舵�� 馃敄
+         * @param {DictTypeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictTypeSetStatusPost: async (body?: DictTypeInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDictType/setStatus`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊瀛楀吀绫诲瀷 馃敄
+         * @param {UpdateDictTypeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDictTypeUpdatePost: async (body?: UpdateDictTypeInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDictType/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysDictTypeApi - functional programming interface
+ * @export
+ */
+export const SysDictTypeApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 娣诲姞瀛楀吀绫诲瀷 馃敄
+         * @param {AddDictTypeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeAddPost(body?: AddDictTypeInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDictTypeApiAxiosParamCreator(configuration).apiSysDictTypeAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎵�鏈夊瓧鍏搁泦鍚� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeAllDictListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysDictType>>> {
+            const localVarAxiosArgs = await SysDictTypeApiAxiosParamCreator(configuration).apiSysDictTypeAllDictListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀绫诲瀷-鍊煎垪琛� 馃敄
+         * @param {string} code 缂栧彿
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeDataListGet(code: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysDictData>>> {
+            const localVarAxiosArgs = await SysDictTypeApiAxiosParamCreator(configuration).apiSysDictTypeDataListGet(code, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎瀛楀吀绫诲瀷 馃敄
+         * @param {DeleteDictTypeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeDeletePost(body?: DeleteDictTypeInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDictTypeApiAxiosParamCreator(configuration).apiSysDictTypeDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀绫诲瀷璇︽儏 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {StatusEnum} [status] 鐘舵��
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeDetailGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysDictType>>> {
+            const localVarAxiosArgs = await SysDictTypeApiAxiosParamCreator(configuration).apiSysDictTypeDetailGet(id, status, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀绫诲瀷鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysDictType>>> {
+            const localVarAxiosArgs = await SysDictTypeApiAxiosParamCreator(configuration).apiSysDictTypeListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀绫诲瀷鍒嗛〉鍒楄〃 馃敄
+         * @param {PageDictTypeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypePagePost(body?: PageDictTypeInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysDictType>>> {
+            const localVarAxiosArgs = await SysDictTypeApiAxiosParamCreator(configuration).apiSysDictTypePagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 淇敼瀛楀吀绫诲瀷鐘舵�� 馃敄
+         * @param {DictTypeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeSetStatusPost(body?: DictTypeInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDictTypeApiAxiosParamCreator(configuration).apiSysDictTypeSetStatusPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊瀛楀吀绫诲瀷 馃敄
+         * @param {UpdateDictTypeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeUpdatePost(body?: UpdateDictTypeInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDictTypeApiAxiosParamCreator(configuration).apiSysDictTypeUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysDictTypeApi - factory interface
+ * @export
+ */
+export const SysDictTypeApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 娣诲姞瀛楀吀绫诲瀷 馃敄
+         * @param {AddDictTypeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeAddPost(body?: AddDictTypeInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDictTypeApiFp(configuration).apiSysDictTypeAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎵�鏈夊瓧鍏搁泦鍚� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeAllDictListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysDictType>> {
+            return SysDictTypeApiFp(configuration).apiSysDictTypeAllDictListGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀绫诲瀷-鍊煎垪琛� 馃敄
+         * @param {string} code 缂栧彿
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeDataListGet(code: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysDictData>> {
+            return SysDictTypeApiFp(configuration).apiSysDictTypeDataListGet(code, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎瀛楀吀绫诲瀷 馃敄
+         * @param {DeleteDictTypeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeDeletePost(body?: DeleteDictTypeInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDictTypeApiFp(configuration).apiSysDictTypeDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀绫诲瀷璇︽儏 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {StatusEnum} [status] 鐘舵��
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeDetailGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysDictType>> {
+            return SysDictTypeApiFp(configuration).apiSysDictTypeDetailGet(id, status, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀绫诲瀷鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysDictType>> {
+            return SysDictTypeApiFp(configuration).apiSysDictTypeListGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瀛楀吀绫诲瀷鍒嗛〉鍒楄〃 馃敄
+         * @param {PageDictTypeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypePagePost(body?: PageDictTypeInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysDictType>> {
+            return SysDictTypeApiFp(configuration).apiSysDictTypePagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 淇敼瀛楀吀绫诲瀷鐘舵�� 馃敄
+         * @param {DictTypeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeSetStatusPost(body?: DictTypeInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDictTypeApiFp(configuration).apiSysDictTypeSetStatusPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊瀛楀吀绫诲瀷 馃敄
+         * @param {UpdateDictTypeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDictTypeUpdatePost(body?: UpdateDictTypeInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDictTypeApiFp(configuration).apiSysDictTypeUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysDictTypeApi - object-oriented interface
+ * @export
+ * @class SysDictTypeApi
+ * @extends {BaseAPI}
+ */
+export class SysDictTypeApi extends BaseAPI {
+    /**
+     * 
+     * @summary 娣诲姞瀛楀吀绫诲瀷 馃敄
+     * @param {AddDictTypeInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictTypeApi
+     */
+    public async apiSysDictTypeAddPost(body?: AddDictTypeInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDictTypeApiFp(this.configuration).apiSysDictTypeAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鎵�鏈夊瓧鍏搁泦鍚� 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictTypeApi
+     */
+    public async apiSysDictTypeAllDictListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysDictType>> {
+        return SysDictTypeApiFp(this.configuration).apiSysDictTypeAllDictListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇瀛楀吀绫诲瀷-鍊煎垪琛� 馃敄
+     * @param {string} code 缂栧彿
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictTypeApi
+     */
+    public async apiSysDictTypeDataListGet(code: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysDictData>> {
+        return SysDictTypeApiFp(this.configuration).apiSysDictTypeDataListGet(code, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎瀛楀吀绫诲瀷 馃敄
+     * @param {DeleteDictTypeInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictTypeApi
+     */
+    public async apiSysDictTypeDeletePost(body?: DeleteDictTypeInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDictTypeApiFp(this.configuration).apiSysDictTypeDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇瀛楀吀绫诲瀷璇︽儏 馃敄
+     * @param {number} id 涓婚敭Id
+     * @param {StatusEnum} [status] 鐘舵��
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictTypeApi
+     */
+    public async apiSysDictTypeDetailGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysDictType>> {
+        return SysDictTypeApiFp(this.configuration).apiSysDictTypeDetailGet(id, status, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇瀛楀吀绫诲瀷鍒楄〃 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictTypeApi
+     */
+    public async apiSysDictTypeListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysDictType>> {
+        return SysDictTypeApiFp(this.configuration).apiSysDictTypeListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇瀛楀吀绫诲瀷鍒嗛〉鍒楄〃 馃敄
+     * @param {PageDictTypeInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictTypeApi
+     */
+    public async apiSysDictTypePagePost(body?: PageDictTypeInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysDictType>> {
+        return SysDictTypeApiFp(this.configuration).apiSysDictTypePagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 淇敼瀛楀吀绫诲瀷鐘舵�� 馃敄
+     * @param {DictTypeInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictTypeApi
+     */
+    public async apiSysDictTypeSetStatusPost(body?: DictTypeInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDictTypeApiFp(this.configuration).apiSysDictTypeSetStatusPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊瀛楀吀绫诲瀷 馃敄
+     * @param {UpdateDictTypeInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDictTypeApi
+     */
+    public async apiSysDictTypeUpdatePost(body?: UpdateDictTypeInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDictTypeApiFp(this.configuration).apiSysDictTypeUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-email-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-email-api.ts
new file mode 100644
index 0000000..4210f6f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-email-api.ts
@@ -0,0 +1,147 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+/**
+ * SysEmailApi - axios parameter creator
+ * @export
+ */
+export const SysEmailApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鍙戦�侀偖浠� 馃摟
+         * @param {string} content 
+         * @param {string} title 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysEmailSendEmailContentTitlePost: async (content: string, title: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'content' is not null or undefined
+            if (content === null || content === undefined) {
+                throw new RequiredError('content','Required parameter content was null or undefined when calling apiSysEmailSendEmailContentTitlePost.');
+            }
+            // verify required parameter 'title' is not null or undefined
+            if (title === null || title === undefined) {
+                throw new RequiredError('title','Required parameter title was null or undefined when calling apiSysEmailSendEmailContentTitlePost.');
+            }
+            const localVarPath = `/api/sysEmail/sendEmail/{content}/{title}`
+                .replace(`{${"content"}}`, encodeURIComponent(String(content)))
+                .replace(`{${"title"}}`, encodeURIComponent(String(title)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysEmailApi - functional programming interface
+ * @export
+ */
+export const SysEmailApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鍙戦�侀偖浠� 馃摟
+         * @param {string} content 
+         * @param {string} title 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysEmailSendEmailContentTitlePost(content: string, title: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysEmailApiAxiosParamCreator(configuration).apiSysEmailSendEmailContentTitlePost(content, title, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysEmailApi - factory interface
+ * @export
+ */
+export const SysEmailApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 鍙戦�侀偖浠� 馃摟
+         * @param {string} content 
+         * @param {string} title 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysEmailSendEmailContentTitlePost(content: string, title: string, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysEmailApiFp(configuration).apiSysEmailSendEmailContentTitlePost(content, title, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysEmailApi - object-oriented interface
+ * @export
+ * @class SysEmailApi
+ * @extends {BaseAPI}
+ */
+export class SysEmailApi extends BaseAPI {
+    /**
+     * 
+     * @summary 鍙戦�侀偖浠� 馃摟
+     * @param {string} content 
+     * @param {string} title 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysEmailApi
+     */
+    public async apiSysEmailSendEmailContentTitlePost(content: string, title: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysEmailApiFp(this.configuration).apiSysEmailSendEmailContentTitlePost(content, title, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-enum-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-enum-api.ts
new file mode 100644
index 0000000..63ff671
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-enum-api.ts
@@ -0,0 +1,218 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultListEnumEntity } from '../models';
+import { AdminResultListEnumTypeOutput } from '../models';
+/**
+ * SysEnumApi - axios parameter creator
+ * @export
+ */
+export const SysEnumApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 閫氳繃鏋氫妇绫诲瀷鑾峰彇鏋氫妇鍊奸泦鍚� 馃敄
+         * @param {string} enumName 鏋氫妇绫诲瀷鍚嶇О
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysEnumEnumDataListGet: async (enumName: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'enumName' is not null or undefined
+            if (enumName === null || enumName === undefined) {
+                throw new RequiredError('enumName','Required parameter enumName was null or undefined when calling apiSysEnumEnumDataListGet.');
+            }
+            const localVarPath = `/api/sysEnum/enumDataList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (enumName !== undefined) {
+                localVarQueryParameter['EnumName'] = enumName;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎵�鏈夋灇涓剧被鍨� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysEnumEnumTypeListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysEnum/enumTypeList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysEnumApi - functional programming interface
+ * @export
+ */
+export const SysEnumApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 閫氳繃鏋氫妇绫诲瀷鑾峰彇鏋氫妇鍊奸泦鍚� 馃敄
+         * @param {string} enumName 鏋氫妇绫诲瀷鍚嶇О
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysEnumEnumDataListGet(enumName: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListEnumEntity>>> {
+            const localVarAxiosArgs = await SysEnumApiAxiosParamCreator(configuration).apiSysEnumEnumDataListGet(enumName, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎵�鏈夋灇涓剧被鍨� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysEnumEnumTypeListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListEnumTypeOutput>>> {
+            const localVarAxiosArgs = await SysEnumApiAxiosParamCreator(configuration).apiSysEnumEnumTypeListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysEnumApi - factory interface
+ * @export
+ */
+export const SysEnumApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 閫氳繃鏋氫妇绫诲瀷鑾峰彇鏋氫妇鍊奸泦鍚� 馃敄
+         * @param {string} enumName 鏋氫妇绫诲瀷鍚嶇О
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysEnumEnumDataListGet(enumName: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListEnumEntity>> {
+            return SysEnumApiFp(configuration).apiSysEnumEnumDataListGet(enumName, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎵�鏈夋灇涓剧被鍨� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysEnumEnumTypeListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListEnumTypeOutput>> {
+            return SysEnumApiFp(configuration).apiSysEnumEnumTypeListGet(options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysEnumApi - object-oriented interface
+ * @export
+ * @class SysEnumApi
+ * @extends {BaseAPI}
+ */
+export class SysEnumApi extends BaseAPI {
+    /**
+     * 
+     * @summary 閫氳繃鏋氫妇绫诲瀷鑾峰彇鏋氫妇鍊奸泦鍚� 馃敄
+     * @param {string} enumName 鏋氫妇绫诲瀷鍚嶇О
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysEnumApi
+     */
+    public async apiSysEnumEnumDataListGet(enumName: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListEnumEntity>> {
+        return SysEnumApiFp(this.configuration).apiSysEnumEnumDataListGet(enumName, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鎵�鏈夋灇涓剧被鍨� 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysEnumApi
+     */
+    public async apiSysEnumEnumTypeListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListEnumTypeOutput>> {
+        return SysEnumApiFp(this.configuration).apiSysEnumEnumTypeListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-file-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-file-api.ts
new file mode 100644
index 0000000..4fd5ba3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-file-api.ts
@@ -0,0 +1,918 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultIActionResult } from '../models';
+import { AdminResultListSysFile } from '../models';
+import { AdminResultSqlSugarPagedListSysFile } from '../models';
+import { AdminResultString } from '../models';
+import { AdminResultSysFile } from '../models';
+import { DeleteFileInput } from '../models';
+import { FileInput } from '../models';
+import { PageFileInput } from '../models';
+import { UploadFileFromBase64Input } from '../models';
+/**
+ * SysFileApi - axios parameter creator
+ * @export
+ */
+export const SysFileApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鍒犻櫎鏂囦欢 馃敄
+         * @param {DeleteFileInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysFileDeletePost: async (body?: DeleteFileInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysFile/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 涓嬭浇鎸囧畾鏂囦欢Base64鏍煎紡 馃敄
+         * @param {string} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysFileDownloadFileBase64Post: async (body?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysFile/downloadFileBase64`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏍规嵁鏂囦欢Id鎴朥rl涓嬭浇 馃敄
+         * @param {FileInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysFileDownloadFilePost: async (body?: FileInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysFile/downloadFile`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏂囦欢鍒嗛〉鍒楄〃 馃敄
+         * @param {PageFileInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysFilePagePost: async (body?: PageFileInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysFile/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鏂囦欢 馃敄
+         * @param {FileInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysFileUpdatePost: async (body?: FileInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysFile/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 涓婁紶澶村儚 馃敄
+         * @param {Blob} [file] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysFileUploadAvatarPostForm: async (file?: Blob, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysFile/uploadAvatar`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+            const localVarFormParams = new FormData();
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+
+            if (file !== undefined) { 
+                localVarFormParams.append('file', file as any);
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            localVarRequestOptions.data = localVarFormParams;
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 涓婁紶鏂囦欢Base64 馃敄
+         * @param {UploadFileFromBase64Input} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysFileUploadFileFromBase64Post: async (body?: UploadFileFromBase64Input, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysFile/uploadFileFromBase64`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 涓婁紶鏂囦欢 馃敄
+         * @param {Blob} [file] 
+         * @param {string} [path] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysFileUploadFilePostForm: async (file?: Blob, path?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysFile/uploadFile`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+            const localVarFormParams = new FormData();
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (path !== undefined) {
+                localVarQueryParameter['path'] = path;
+            }
+
+
+            if (file !== undefined) { 
+                localVarFormParams.append('file', file as any);
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            localVarRequestOptions.data = localVarFormParams;
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 涓婁紶澶氭枃浠� 馃敄
+         * @param {Array<Blob>} [files] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysFileUploadFilesPostForm: async (files?: Array<Blob>, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysFile/uploadFiles`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+            const localVarFormParams = new FormData();
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (files) {
+                files.forEach((element) => {
+                    localVarFormParams.append('files', element as any);
+                })
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            localVarRequestOptions.data = localVarFormParams;
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 涓婁紶鐢靛瓙绛惧悕 馃敄
+         * @param {Blob} [file] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysFileUploadSignaturePostForm: async (file?: Blob, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysFile/uploadSignature`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+            const localVarFormParams = new FormData();
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+
+            if (file !== undefined) { 
+                localVarFormParams.append('file', file as any);
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            localVarRequestOptions.data = localVarFormParams;
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysFileApi - functional programming interface
+ * @export
+ */
+export const SysFileApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鍒犻櫎鏂囦欢 馃敄
+         * @param {DeleteFileInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileDeletePost(body?: DeleteFileInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysFileApiAxiosParamCreator(configuration).apiSysFileDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 涓嬭浇鎸囧畾鏂囦欢Base64鏍煎紡 馃敄
+         * @param {string} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileDownloadFileBase64Post(body?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultString>>> {
+            const localVarAxiosArgs = await SysFileApiAxiosParamCreator(configuration).apiSysFileDownloadFileBase64Post(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏍规嵁鏂囦欢Id鎴朥rl涓嬭浇 馃敄
+         * @param {FileInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileDownloadFilePost(body?: FileInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultIActionResult>>> {
+            const localVarAxiosArgs = await SysFileApiAxiosParamCreator(configuration).apiSysFileDownloadFilePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏂囦欢鍒嗛〉鍒楄〃 馃敄
+         * @param {PageFileInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFilePagePost(body?: PageFileInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysFile>>> {
+            const localVarAxiosArgs = await SysFileApiAxiosParamCreator(configuration).apiSysFilePagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鏂囦欢 馃敄
+         * @param {FileInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileUpdatePost(body?: FileInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysFileApiAxiosParamCreator(configuration).apiSysFileUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 涓婁紶澶村儚 馃敄
+         * @param {Blob} [file] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileUploadAvatarPostForm(file?: Blob, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysFile>>> {
+            const localVarAxiosArgs = await SysFileApiAxiosParamCreator(configuration).apiSysFileUploadAvatarPostForm(file, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 涓婁紶鏂囦欢Base64 馃敄
+         * @param {UploadFileFromBase64Input} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileUploadFileFromBase64Post(body?: UploadFileFromBase64Input, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysFile>>> {
+            const localVarAxiosArgs = await SysFileApiAxiosParamCreator(configuration).apiSysFileUploadFileFromBase64Post(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 涓婁紶鏂囦欢 馃敄
+         * @param {Blob} [file] 
+         * @param {string} [path] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileUploadFilePostForm(file?: Blob, path?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysFile>>> {
+            const localVarAxiosArgs = await SysFileApiAxiosParamCreator(configuration).apiSysFileUploadFilePostForm(file, path, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 涓婁紶澶氭枃浠� 馃敄
+         * @param {Array<Blob>} [files] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileUploadFilesPostForm(files?: Array<Blob>, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysFile>>> {
+            const localVarAxiosArgs = await SysFileApiAxiosParamCreator(configuration).apiSysFileUploadFilesPostForm(files, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 涓婁紶鐢靛瓙绛惧悕 馃敄
+         * @param {Blob} [file] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileUploadSignaturePostForm(file?: Blob, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysFile>>> {
+            const localVarAxiosArgs = await SysFileApiAxiosParamCreator(configuration).apiSysFileUploadSignaturePostForm(file, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysFileApi - factory interface
+ * @export
+ */
+export const SysFileApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 鍒犻櫎鏂囦欢 馃敄
+         * @param {DeleteFileInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileDeletePost(body?: DeleteFileInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysFileApiFp(configuration).apiSysFileDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 涓嬭浇鎸囧畾鏂囦欢Base64鏍煎紡 馃敄
+         * @param {string} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileDownloadFileBase64Post(body?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultString>> {
+            return SysFileApiFp(configuration).apiSysFileDownloadFileBase64Post(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏍规嵁鏂囦欢Id鎴朥rl涓嬭浇 馃敄
+         * @param {FileInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileDownloadFilePost(body?: FileInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultIActionResult>> {
+            return SysFileApiFp(configuration).apiSysFileDownloadFilePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏂囦欢鍒嗛〉鍒楄〃 馃敄
+         * @param {PageFileInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFilePagePost(body?: PageFileInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysFile>> {
+            return SysFileApiFp(configuration).apiSysFilePagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊鏂囦欢 馃敄
+         * @param {FileInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileUpdatePost(body?: FileInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysFileApiFp(configuration).apiSysFileUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 涓婁紶澶村儚 馃敄
+         * @param {Blob} [file] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileUploadAvatarPostForm(file?: Blob, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysFile>> {
+            return SysFileApiFp(configuration).apiSysFileUploadAvatarPostForm(file, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 涓婁紶鏂囦欢Base64 馃敄
+         * @param {UploadFileFromBase64Input} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileUploadFileFromBase64Post(body?: UploadFileFromBase64Input, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysFile>> {
+            return SysFileApiFp(configuration).apiSysFileUploadFileFromBase64Post(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 涓婁紶鏂囦欢 馃敄
+         * @param {Blob} [file] 
+         * @param {string} [path] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileUploadFilePostForm(file?: Blob, path?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysFile>> {
+            return SysFileApiFp(configuration).apiSysFileUploadFilePostForm(file, path, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 涓婁紶澶氭枃浠� 馃敄
+         * @param {Array<Blob>} [files] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileUploadFilesPostForm(files?: Array<Blob>, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysFile>> {
+            return SysFileApiFp(configuration).apiSysFileUploadFilesPostForm(files, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 涓婁紶鐢靛瓙绛惧悕 馃敄
+         * @param {Blob} [file] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysFileUploadSignaturePostForm(file?: Blob, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysFile>> {
+            return SysFileApiFp(configuration).apiSysFileUploadSignaturePostForm(file, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysFileApi - object-oriented interface
+ * @export
+ * @class SysFileApi
+ * @extends {BaseAPI}
+ */
+export class SysFileApi extends BaseAPI {
+    /**
+     * 
+     * @summary 鍒犻櫎鏂囦欢 馃敄
+     * @param {DeleteFileInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysFileApi
+     */
+    public async apiSysFileDeletePost(body?: DeleteFileInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysFileApiFp(this.configuration).apiSysFileDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 涓嬭浇鎸囧畾鏂囦欢Base64鏍煎紡 馃敄
+     * @param {string} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysFileApi
+     */
+    public async apiSysFileDownloadFileBase64Post(body?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultString>> {
+        return SysFileApiFp(this.configuration).apiSysFileDownloadFileBase64Post(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏍规嵁鏂囦欢Id鎴朥rl涓嬭浇 馃敄
+     * @param {FileInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysFileApi
+     */
+    public async apiSysFileDownloadFilePost(body?: FileInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultIActionResult>> {
+        return SysFileApiFp(this.configuration).apiSysFileDownloadFilePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鏂囦欢鍒嗛〉鍒楄〃 馃敄
+     * @param {PageFileInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysFileApi
+     */
+    public async apiSysFilePagePost(body?: PageFileInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysFile>> {
+        return SysFileApiFp(this.configuration).apiSysFilePagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊鏂囦欢 馃敄
+     * @param {FileInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysFileApi
+     */
+    public async apiSysFileUpdatePost(body?: FileInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysFileApiFp(this.configuration).apiSysFileUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 涓婁紶澶村儚 馃敄
+     * @param {Blob} [file] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysFileApi
+     */
+    public async apiSysFileUploadAvatarPostForm(file?: Blob, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysFile>> {
+        return SysFileApiFp(this.configuration).apiSysFileUploadAvatarPostForm(file, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 涓婁紶鏂囦欢Base64 馃敄
+     * @param {UploadFileFromBase64Input} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysFileApi
+     */
+    public async apiSysFileUploadFileFromBase64Post(body?: UploadFileFromBase64Input, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysFile>> {
+        return SysFileApiFp(this.configuration).apiSysFileUploadFileFromBase64Post(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 涓婁紶鏂囦欢 馃敄
+     * @param {Blob} [file] 
+     * @param {string} [path] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysFileApi
+     */
+    public async apiSysFileUploadFilePostForm(file?: Blob, path?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysFile>> {
+        return SysFileApiFp(this.configuration).apiSysFileUploadFilePostForm(file, path, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 涓婁紶澶氭枃浠� 馃敄
+     * @param {Array<Blob>} [files] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysFileApi
+     */
+    public async apiSysFileUploadFilesPostForm(files?: Array<Blob>, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysFile>> {
+        return SysFileApiFp(this.configuration).apiSysFileUploadFilesPostForm(files, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 涓婁紶鐢靛瓙绛惧悕 馃敄
+     * @param {Blob} [file] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysFileApi
+     */
+    public async apiSysFileUploadSignaturePostForm(file?: Blob, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysFile>> {
+        return SysFileApiFp(this.configuration).apiSysFileUploadSignaturePostForm(file, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-job-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-job-api.ts
new file mode 100644
index 0000000..dd9796f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-job-api.ts
@@ -0,0 +1,1688 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddJobDetailInput } from '../models';
+import { AddJobTriggerInput } from '../models';
+import { AdminResultListSysJobCluster } from '../models';
+import { AdminResultListSysJobTrigger } from '../models';
+import { AdminResultSqlSugarPagedListJobDetailOutput } from '../models';
+import { AdminResultSqlSugarPagedListSysJobTriggerRecord } from '../models';
+import { DeleteJobDetailInput } from '../models';
+import { DeleteJobTriggerInput } from '../models';
+import { JobDetailInput } from '../models';
+import { JobTriggerInput } from '../models';
+import { PageJobDetailInput } from '../models';
+import { PageJobTriggerRecordInput } from '../models';
+import { UpdateJobDetailInput } from '../models';
+import { UpdateJobTriggerInput } from '../models';
+/**
+ * SysJobApi - axios parameter creator
+ * @export
+ */
+export const SysJobApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 娣诲姞浣滀笟 鈴�
+         * @param {AddJobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobAddJobDetailPost: async (body?: AddJobDetailInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/addJobDetail`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 娣诲姞瑙﹀彂鍣� 鈴�
+         * @param {AddJobTriggerInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobAddJobTriggerPost: async (body?: AddJobTriggerInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/addJobTrigger`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍙栨秷浣滀笟 鈴�
+         * @param {JobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobCancelJobPost: async (body?: JobDetailInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/cancelJob`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 寮哄埗鍞ら啋浣滀笟璋冨害鍣� 鈴�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobCancelSleepPost: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/cancelSleep`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎浣滀笟 鈴�
+         * @param {DeleteJobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobDeleteJobDetailPost: async (body?: DeleteJobDetailInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/deleteJobDetail`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎瑙﹀彂鍣� 鈴�
+         * @param {DeleteJobTriggerInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobDeleteJobTriggerPost: async (body?: DeleteJobTriggerInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/deleteJobTrigger`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇闆嗙兢鍒楄〃 鈴�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobJobClusterListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/jobClusterList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瑙﹀彂鍣ㄥ垪琛� 鈴�
+         * @param {string} [jobId] 浣滀笟Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobJobTriggerListGet: async (jobId?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/jobTriggerList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (jobId !== undefined) {
+                localVarQueryParameter['JobId'] = jobId;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇浣滀笟鍒嗛〉鍒楄〃 鈴�
+         * @param {PageJobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobPageJobDetailPost: async (body?: PageJobDetailInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/pageJobDetail`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇浣滀笟瑙﹀彂鍣ㄨ繍琛岃褰曞垎椤靛垪琛� 鈴�
+         * @param {PageJobTriggerRecordInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobPageJobTriggerRecordPost: async (body?: PageJobTriggerRecordInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/pageJobTriggerRecord`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏆傚仠鎵�鏈変綔涓� 鈴�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobPauseAllJobPost: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/pauseAllJob`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏆傚仠浣滀笟 鈴�
+         * @param {JobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobPauseJobPost: async (body?: JobDetailInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/pauseJob`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏆傚仠瑙﹀彂鍣� 鈴�
+         * @param {JobTriggerInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobPauseTriggerPost: async (body?: JobTriggerInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/pauseTrigger`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 寮哄埗瑙﹀彂鎵�鏈変綔涓氭寔涔呭寲 鈴�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobPersistAllPost: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/persistAll`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鎵ц浣滀笟 鈴�
+         * @param {JobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobRunJobPost: async (body?: JobDetailInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/runJob`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍚姩鎵�鏈変綔涓� 鈴�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobStartAllJobPost: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/startAllJob`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍚姩浣滀笟 鈴�
+         * @param {JobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobStartJobPost: async (body?: JobDetailInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/startJob`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍚姩瑙﹀彂鍣� 鈴�
+         * @param {JobTriggerInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobStartTriggerPost: async (body?: JobTriggerInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/startTrigger`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊浣滀笟 鈴�
+         * @param {UpdateJobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobUpdateJobDetailPost: async (body?: UpdateJobDetailInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/updateJobDetail`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊瑙﹀彂鍣� 鈴�
+         * @param {UpdateJobTriggerInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysJobUpdateJobTriggerPost: async (body?: UpdateJobTriggerInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysJob/updateJobTrigger`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysJobApi - functional programming interface
+ * @export
+ */
+export const SysJobApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 娣诲姞浣滀笟 鈴�
+         * @param {AddJobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobAddJobDetailPost(body?: AddJobDetailInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobAddJobDetailPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 娣诲姞瑙﹀彂鍣� 鈴�
+         * @param {AddJobTriggerInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobAddJobTriggerPost(body?: AddJobTriggerInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobAddJobTriggerPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍙栨秷浣滀笟 鈴�
+         * @param {JobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobCancelJobPost(body?: JobDetailInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobCancelJobPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 寮哄埗鍞ら啋浣滀笟璋冨害鍣� 鈴�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobCancelSleepPost(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobCancelSleepPost(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎浣滀笟 鈴�
+         * @param {DeleteJobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobDeleteJobDetailPost(body?: DeleteJobDetailInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobDeleteJobDetailPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎瑙﹀彂鍣� 鈴�
+         * @param {DeleteJobTriggerInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobDeleteJobTriggerPost(body?: DeleteJobTriggerInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobDeleteJobTriggerPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇闆嗙兢鍒楄〃 鈴�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobJobClusterListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysJobCluster>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobJobClusterListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瑙﹀彂鍣ㄥ垪琛� 鈴�
+         * @param {string} [jobId] 浣滀笟Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobJobTriggerListGet(jobId?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysJobTrigger>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobJobTriggerListGet(jobId, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇浣滀笟鍒嗛〉鍒楄〃 鈴�
+         * @param {PageJobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobPageJobDetailPost(body?: PageJobDetailInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListJobDetailOutput>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobPageJobDetailPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇浣滀笟瑙﹀彂鍣ㄨ繍琛岃褰曞垎椤靛垪琛� 鈴�
+         * @param {PageJobTriggerRecordInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobPageJobTriggerRecordPost(body?: PageJobTriggerRecordInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysJobTriggerRecord>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobPageJobTriggerRecordPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏆傚仠鎵�鏈変綔涓� 鈴�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobPauseAllJobPost(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobPauseAllJobPost(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏆傚仠浣滀笟 鈴�
+         * @param {JobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobPauseJobPost(body?: JobDetailInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobPauseJobPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏆傚仠瑙﹀彂鍣� 鈴�
+         * @param {JobTriggerInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobPauseTriggerPost(body?: JobTriggerInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobPauseTriggerPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 寮哄埗瑙﹀彂鎵�鏈変綔涓氭寔涔呭寲 鈴�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobPersistAllPost(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobPersistAllPost(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鎵ц浣滀笟 鈴�
+         * @param {JobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobRunJobPost(body?: JobDetailInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobRunJobPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍚姩鎵�鏈変綔涓� 鈴�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobStartAllJobPost(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobStartAllJobPost(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍚姩浣滀笟 鈴�
+         * @param {JobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobStartJobPost(body?: JobDetailInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobStartJobPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍚姩瑙﹀彂鍣� 鈴�
+         * @param {JobTriggerInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobStartTriggerPost(body?: JobTriggerInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobStartTriggerPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊浣滀笟 鈴�
+         * @param {UpdateJobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobUpdateJobDetailPost(body?: UpdateJobDetailInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobUpdateJobDetailPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊瑙﹀彂鍣� 鈴�
+         * @param {UpdateJobTriggerInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobUpdateJobTriggerPost(body?: UpdateJobTriggerInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysJobApiAxiosParamCreator(configuration).apiSysJobUpdateJobTriggerPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysJobApi - factory interface
+ * @export
+ */
+export const SysJobApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 娣诲姞浣滀笟 鈴�
+         * @param {AddJobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobAddJobDetailPost(body?: AddJobDetailInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysJobApiFp(configuration).apiSysJobAddJobDetailPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 娣诲姞瑙﹀彂鍣� 鈴�
+         * @param {AddJobTriggerInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobAddJobTriggerPost(body?: AddJobTriggerInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysJobApiFp(configuration).apiSysJobAddJobTriggerPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍙栨秷浣滀笟 鈴�
+         * @param {JobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobCancelJobPost(body?: JobDetailInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysJobApiFp(configuration).apiSysJobCancelJobPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 寮哄埗鍞ら啋浣滀笟璋冨害鍣� 鈴�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobCancelSleepPost(options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysJobApiFp(configuration).apiSysJobCancelSleepPost(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎浣滀笟 鈴�
+         * @param {DeleteJobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobDeleteJobDetailPost(body?: DeleteJobDetailInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysJobApiFp(configuration).apiSysJobDeleteJobDetailPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎瑙﹀彂鍣� 鈴�
+         * @param {DeleteJobTriggerInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobDeleteJobTriggerPost(body?: DeleteJobTriggerInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysJobApiFp(configuration).apiSysJobDeleteJobTriggerPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇闆嗙兢鍒楄〃 鈴�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobJobClusterListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysJobCluster>> {
+            return SysJobApiFp(configuration).apiSysJobJobClusterListGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瑙﹀彂鍣ㄥ垪琛� 鈴�
+         * @param {string} [jobId] 浣滀笟Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobJobTriggerListGet(jobId?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysJobTrigger>> {
+            return SysJobApiFp(configuration).apiSysJobJobTriggerListGet(jobId, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇浣滀笟鍒嗛〉鍒楄〃 鈴�
+         * @param {PageJobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobPageJobDetailPost(body?: PageJobDetailInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListJobDetailOutput>> {
+            return SysJobApiFp(configuration).apiSysJobPageJobDetailPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇浣滀笟瑙﹀彂鍣ㄨ繍琛岃褰曞垎椤靛垪琛� 鈴�
+         * @param {PageJobTriggerRecordInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobPageJobTriggerRecordPost(body?: PageJobTriggerRecordInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysJobTriggerRecord>> {
+            return SysJobApiFp(configuration).apiSysJobPageJobTriggerRecordPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏆傚仠鎵�鏈変綔涓� 鈴�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobPauseAllJobPost(options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysJobApiFp(configuration).apiSysJobPauseAllJobPost(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏆傚仠浣滀笟 鈴�
+         * @param {JobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobPauseJobPost(body?: JobDetailInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysJobApiFp(configuration).apiSysJobPauseJobPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏆傚仠瑙﹀彂鍣� 鈴�
+         * @param {JobTriggerInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobPauseTriggerPost(body?: JobTriggerInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysJobApiFp(configuration).apiSysJobPauseTriggerPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 寮哄埗瑙﹀彂鎵�鏈変綔涓氭寔涔呭寲 鈴�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobPersistAllPost(options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysJobApiFp(configuration).apiSysJobPersistAllPost(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鎵ц浣滀笟 鈴�
+         * @param {JobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobRunJobPost(body?: JobDetailInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysJobApiFp(configuration).apiSysJobRunJobPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍚姩鎵�鏈変綔涓� 鈴�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobStartAllJobPost(options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysJobApiFp(configuration).apiSysJobStartAllJobPost(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍚姩浣滀笟 鈴�
+         * @param {JobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobStartJobPost(body?: JobDetailInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysJobApiFp(configuration).apiSysJobStartJobPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍚姩瑙﹀彂鍣� 鈴�
+         * @param {JobTriggerInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobStartTriggerPost(body?: JobTriggerInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysJobApiFp(configuration).apiSysJobStartTriggerPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊浣滀笟 鈴�
+         * @param {UpdateJobDetailInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobUpdateJobDetailPost(body?: UpdateJobDetailInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysJobApiFp(configuration).apiSysJobUpdateJobDetailPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊瑙﹀彂鍣� 鈴�
+         * @param {UpdateJobTriggerInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysJobUpdateJobTriggerPost(body?: UpdateJobTriggerInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysJobApiFp(configuration).apiSysJobUpdateJobTriggerPost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysJobApi - object-oriented interface
+ * @export
+ * @class SysJobApi
+ * @extends {BaseAPI}
+ */
+export class SysJobApi extends BaseAPI {
+    /**
+     * 
+     * @summary 娣诲姞浣滀笟 鈴�
+     * @param {AddJobDetailInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobAddJobDetailPost(body?: AddJobDetailInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysJobApiFp(this.configuration).apiSysJobAddJobDetailPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 娣诲姞瑙﹀彂鍣� 鈴�
+     * @param {AddJobTriggerInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobAddJobTriggerPost(body?: AddJobTriggerInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysJobApiFp(this.configuration).apiSysJobAddJobTriggerPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍙栨秷浣滀笟 鈴�
+     * @param {JobDetailInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobCancelJobPost(body?: JobDetailInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysJobApiFp(this.configuration).apiSysJobCancelJobPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 寮哄埗鍞ら啋浣滀笟璋冨害鍣� 鈴�
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobCancelSleepPost(options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysJobApiFp(this.configuration).apiSysJobCancelSleepPost(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎浣滀笟 鈴�
+     * @param {DeleteJobDetailInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobDeleteJobDetailPost(body?: DeleteJobDetailInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysJobApiFp(this.configuration).apiSysJobDeleteJobDetailPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎瑙﹀彂鍣� 鈴�
+     * @param {DeleteJobTriggerInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobDeleteJobTriggerPost(body?: DeleteJobTriggerInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysJobApiFp(this.configuration).apiSysJobDeleteJobTriggerPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇闆嗙兢鍒楄〃 鈴�
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobJobClusterListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysJobCluster>> {
+        return SysJobApiFp(this.configuration).apiSysJobJobClusterListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇瑙﹀彂鍣ㄥ垪琛� 鈴�
+     * @param {string} [jobId] 浣滀笟Id
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobJobTriggerListGet(jobId?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysJobTrigger>> {
+        return SysJobApiFp(this.configuration).apiSysJobJobTriggerListGet(jobId, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇浣滀笟鍒嗛〉鍒楄〃 鈴�
+     * @param {PageJobDetailInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobPageJobDetailPost(body?: PageJobDetailInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListJobDetailOutput>> {
+        return SysJobApiFp(this.configuration).apiSysJobPageJobDetailPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇浣滀笟瑙﹀彂鍣ㄨ繍琛岃褰曞垎椤靛垪琛� 鈴�
+     * @param {PageJobTriggerRecordInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobPageJobTriggerRecordPost(body?: PageJobTriggerRecordInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysJobTriggerRecord>> {
+        return SysJobApiFp(this.configuration).apiSysJobPageJobTriggerRecordPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏆傚仠鎵�鏈変綔涓� 鈴�
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobPauseAllJobPost(options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysJobApiFp(this.configuration).apiSysJobPauseAllJobPost(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏆傚仠浣滀笟 鈴�
+     * @param {JobDetailInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobPauseJobPost(body?: JobDetailInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysJobApiFp(this.configuration).apiSysJobPauseJobPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏆傚仠瑙﹀彂鍣� 鈴�
+     * @param {JobTriggerInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobPauseTriggerPost(body?: JobTriggerInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysJobApiFp(this.configuration).apiSysJobPauseTriggerPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 寮哄埗瑙﹀彂鎵�鏈変綔涓氭寔涔呭寲 鈴�
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobPersistAllPost(options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysJobApiFp(this.configuration).apiSysJobPersistAllPost(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鎵ц浣滀笟 鈴�
+     * @param {JobDetailInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobRunJobPost(body?: JobDetailInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysJobApiFp(this.configuration).apiSysJobRunJobPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍚姩鎵�鏈変綔涓� 鈴�
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobStartAllJobPost(options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysJobApiFp(this.configuration).apiSysJobStartAllJobPost(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍚姩浣滀笟 鈴�
+     * @param {JobDetailInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobStartJobPost(body?: JobDetailInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysJobApiFp(this.configuration).apiSysJobStartJobPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍚姩瑙﹀彂鍣� 鈴�
+     * @param {JobTriggerInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobStartTriggerPost(body?: JobTriggerInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysJobApiFp(this.configuration).apiSysJobStartTriggerPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊浣滀笟 鈴�
+     * @param {UpdateJobDetailInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobUpdateJobDetailPost(body?: UpdateJobDetailInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysJobApiFp(this.configuration).apiSysJobUpdateJobDetailPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊瑙﹀彂鍣� 鈴�
+     * @param {UpdateJobTriggerInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysJobApi
+     */
+    public async apiSysJobUpdateJobTriggerPost(body?: UpdateJobTriggerInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysJobApiFp(this.configuration).apiSysJobUpdateJobTriggerPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-ldap-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-ldap-api.ts
new file mode 100644
index 0000000..5bfd7ee
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-ldap-api.ts
@@ -0,0 +1,723 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddSysLdapInput } from '../models';
+import { AdminResultInt64 } from '../models';
+import { AdminResultListSysLdap } from '../models';
+import { AdminResultSqlSugarPagedListSysLdap } from '../models';
+import { AdminResultSysLdap } from '../models';
+import { DeleteSysLdapInput } from '../models';
+import { SyncSysLdapInput } from '../models';
+import { SysLdapInput } from '../models';
+import { UpdateSysLdapInput } from '../models';
+/**
+ * SysLdapApi - axios parameter creator
+ * @export
+ */
+export const SysLdapApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞绯荤粺鍩熺櫥褰曢厤缃� 馃敄
+         * @param {AddSysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLdapAddPost: async (body?: AddSysLdapInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysLdap/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎绯荤粺鍩熺櫥褰曢厤缃� 馃敄
+         * @param {DeleteSysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLdapDeletePost: async (body?: DeleteSysLdapInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysLdap/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绯荤粺鍩熺櫥褰曢厤缃鎯� 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLdapDetailGet: async (id: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'id' is not null or undefined
+            if (id === null || id === undefined) {
+                throw new RequiredError('id','Required parameter id was null or undefined when calling apiSysLdapDetailGet.');
+            }
+            const localVarPath = `/api/sysLdap/detail`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (id !== undefined) {
+                localVarQueryParameter['Id'] = id;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绯荤粺鍩熺櫥褰曢厤缃垪琛� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLdapListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysLdap/list`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绯荤粺鍩熺櫥褰曢厤缃垎椤靛垪琛� 馃敄
+         * @param {SysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLdapPagePost: async (body?: SysLdapInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysLdap/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍚屾鍩熺粍缁� 馃敄
+         * @param {SyncSysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLdapSyncDeptPost: async (body?: SyncSysLdapInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysLdap/syncDept`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍚屾鍩熺敤鎴� 馃敄
+         * @param {SyncSysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLdapSyncUserPost: async (body?: SyncSysLdapInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysLdap/syncUser`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊绯荤粺鍩熺櫥褰曢厤缃� 馃敄
+         * @param {UpdateSysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLdapUpdatePost: async (body?: UpdateSysLdapInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysLdap/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysLdapApi - functional programming interface
+ * @export
+ */
+export const SysLdapApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞绯荤粺鍩熺櫥褰曢厤缃� 馃敄
+         * @param {AddSysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLdapAddPost(body?: AddSysLdapInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultInt64>>> {
+            const localVarAxiosArgs = await SysLdapApiAxiosParamCreator(configuration).apiSysLdapAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎绯荤粺鍩熺櫥褰曢厤缃� 馃敄
+         * @param {DeleteSysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLdapDeletePost(body?: DeleteSysLdapInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysLdapApiAxiosParamCreator(configuration).apiSysLdapDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绯荤粺鍩熺櫥褰曢厤缃鎯� 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLdapDetailGet(id: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysLdap>>> {
+            const localVarAxiosArgs = await SysLdapApiAxiosParamCreator(configuration).apiSysLdapDetailGet(id, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绯荤粺鍩熺櫥褰曢厤缃垪琛� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLdapListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysLdap>>> {
+            const localVarAxiosArgs = await SysLdapApiAxiosParamCreator(configuration).apiSysLdapListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绯荤粺鍩熺櫥褰曢厤缃垎椤靛垪琛� 馃敄
+         * @param {SysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLdapPagePost(body?: SysLdapInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLdap>>> {
+            const localVarAxiosArgs = await SysLdapApiAxiosParamCreator(configuration).apiSysLdapPagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍚屾鍩熺粍缁� 馃敄
+         * @param {SyncSysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLdapSyncDeptPost(body?: SyncSysLdapInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysLdapApiAxiosParamCreator(configuration).apiSysLdapSyncDeptPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍚屾鍩熺敤鎴� 馃敄
+         * @param {SyncSysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLdapSyncUserPost(body?: SyncSysLdapInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysLdapApiAxiosParamCreator(configuration).apiSysLdapSyncUserPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊绯荤粺鍩熺櫥褰曢厤缃� 馃敄
+         * @param {UpdateSysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLdapUpdatePost(body?: UpdateSysLdapInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysLdapApiAxiosParamCreator(configuration).apiSysLdapUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysLdapApi - factory interface
+ * @export
+ */
+export const SysLdapApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞绯荤粺鍩熺櫥褰曢厤缃� 馃敄
+         * @param {AddSysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLdapAddPost(body?: AddSysLdapInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultInt64>> {
+            return SysLdapApiFp(configuration).apiSysLdapAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎绯荤粺鍩熺櫥褰曢厤缃� 馃敄
+         * @param {DeleteSysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLdapDeletePost(body?: DeleteSysLdapInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysLdapApiFp(configuration).apiSysLdapDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绯荤粺鍩熺櫥褰曢厤缃鎯� 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLdapDetailGet(id: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysLdap>> {
+            return SysLdapApiFp(configuration).apiSysLdapDetailGet(id, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绯荤粺鍩熺櫥褰曢厤缃垪琛� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLdapListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysLdap>> {
+            return SysLdapApiFp(configuration).apiSysLdapListGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绯荤粺鍩熺櫥褰曢厤缃垎椤靛垪琛� 馃敄
+         * @param {SysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLdapPagePost(body?: SysLdapInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLdap>> {
+            return SysLdapApiFp(configuration).apiSysLdapPagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍚屾鍩熺粍缁� 馃敄
+         * @param {SyncSysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLdapSyncDeptPost(body?: SyncSysLdapInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysLdapApiFp(configuration).apiSysLdapSyncDeptPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍚屾鍩熺敤鎴� 馃敄
+         * @param {SyncSysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLdapSyncUserPost(body?: SyncSysLdapInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysLdapApiFp(configuration).apiSysLdapSyncUserPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊绯荤粺鍩熺櫥褰曢厤缃� 馃敄
+         * @param {UpdateSysLdapInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLdapUpdatePost(body?: UpdateSysLdapInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysLdapApiFp(configuration).apiSysLdapUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysLdapApi - object-oriented interface
+ * @export
+ * @class SysLdapApi
+ * @extends {BaseAPI}
+ */
+export class SysLdapApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞绯荤粺鍩熺櫥褰曢厤缃� 馃敄
+     * @param {AddSysLdapInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLdapApi
+     */
+    public async apiSysLdapAddPost(body?: AddSysLdapInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultInt64>> {
+        return SysLdapApiFp(this.configuration).apiSysLdapAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎绯荤粺鍩熺櫥褰曢厤缃� 馃敄
+     * @param {DeleteSysLdapInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLdapApi
+     */
+    public async apiSysLdapDeletePost(body?: DeleteSysLdapInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysLdapApiFp(this.configuration).apiSysLdapDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇绯荤粺鍩熺櫥褰曢厤缃鎯� 馃敄
+     * @param {number} id 涓婚敭Id
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLdapApi
+     */
+    public async apiSysLdapDetailGet(id: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysLdap>> {
+        return SysLdapApiFp(this.configuration).apiSysLdapDetailGet(id, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇绯荤粺鍩熺櫥褰曢厤缃垪琛� 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLdapApi
+     */
+    public async apiSysLdapListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysLdap>> {
+        return SysLdapApiFp(this.configuration).apiSysLdapListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇绯荤粺鍩熺櫥褰曢厤缃垎椤靛垪琛� 馃敄
+     * @param {SysLdapInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLdapApi
+     */
+    public async apiSysLdapPagePost(body?: SysLdapInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLdap>> {
+        return SysLdapApiFp(this.configuration).apiSysLdapPagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍚屾鍩熺粍缁� 馃敄
+     * @param {SyncSysLdapInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLdapApi
+     */
+    public async apiSysLdapSyncDeptPost(body?: SyncSysLdapInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysLdapApiFp(this.configuration).apiSysLdapSyncDeptPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍚屾鍩熺敤鎴� 馃敄
+     * @param {SyncSysLdapInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLdapApi
+     */
+    public async apiSysLdapSyncUserPost(body?: SyncSysLdapInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysLdapApiFp(this.configuration).apiSysLdapSyncUserPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊绯荤粺鍩熺櫥褰曢厤缃� 馃敄
+     * @param {UpdateSysLdapInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLdapApi
+     */
+    public async apiSysLdapUpdatePost(body?: UpdateSysLdapInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysLdapApiFp(this.configuration).apiSysLdapUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-log-diff-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-log-diff-api.ts
new file mode 100644
index 0000000..440331e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-log-diff-api.ts
@@ -0,0 +1,215 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultBoolean } from '../models';
+import { AdminResultSqlSugarPagedListSysLogDiff } from '../models';
+import { PageLogInput } from '../models';
+/**
+ * SysLogDiffApi - axios parameter creator
+ * @export
+ */
+export const SysLogDiffApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 娓呯┖宸紓鏃ュ織 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLogDiffClearPost: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysLogDiff/clear`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇宸紓鏃ュ織鍒嗛〉鍒楄〃 馃敄
+         * @param {PageLogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLogDiffPagePost: async (body?: PageLogInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysLogDiff/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysLogDiffApi - functional programming interface
+ * @export
+ */
+export const SysLogDiffApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 娓呯┖宸紓鏃ュ織 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogDiffClearPost(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultBoolean>>> {
+            const localVarAxiosArgs = await SysLogDiffApiAxiosParamCreator(configuration).apiSysLogDiffClearPost(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇宸紓鏃ュ織鍒嗛〉鍒楄〃 馃敄
+         * @param {PageLogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogDiffPagePost(body?: PageLogInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLogDiff>>> {
+            const localVarAxiosArgs = await SysLogDiffApiAxiosParamCreator(configuration).apiSysLogDiffPagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysLogDiffApi - factory interface
+ * @export
+ */
+export const SysLogDiffApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 娓呯┖宸紓鏃ュ織 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogDiffClearPost(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultBoolean>> {
+            return SysLogDiffApiFp(configuration).apiSysLogDiffClearPost(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇宸紓鏃ュ織鍒嗛〉鍒楄〃 馃敄
+         * @param {PageLogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogDiffPagePost(body?: PageLogInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLogDiff>> {
+            return SysLogDiffApiFp(configuration).apiSysLogDiffPagePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysLogDiffApi - object-oriented interface
+ * @export
+ * @class SysLogDiffApi
+ * @extends {BaseAPI}
+ */
+export class SysLogDiffApi extends BaseAPI {
+    /**
+     * 
+     * @summary 娓呯┖宸紓鏃ュ織 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLogDiffApi
+     */
+    public async apiSysLogDiffClearPost(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultBoolean>> {
+        return SysLogDiffApiFp(this.configuration).apiSysLogDiffClearPost(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇宸紓鏃ュ織鍒嗛〉鍒楄〃 馃敄
+     * @param {PageLogInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLogDiffApi
+     */
+    public async apiSysLogDiffPagePost(body?: PageLogInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLogDiff>> {
+        return SysLogDiffApiFp(this.configuration).apiSysLogDiffPagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-log-ex-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-log-ex-api.ts
new file mode 100644
index 0000000..65c0134
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-log-ex-api.ts
@@ -0,0 +1,299 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultBoolean } from '../models';
+import { AdminResultSqlSugarPagedListSysLogEx } from '../models';
+import { LogInput } from '../models';
+import { PageLogInput } from '../models';
+/**
+ * SysLogExApi - axios parameter creator
+ * @export
+ */
+export const SysLogExApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 娓呯┖寮傚父鏃ュ織 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLogExClearPost: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysLogEx/clear`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 瀵煎嚭寮傚父鏃ュ織 馃敄
+         * @param {LogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLogExExportPost: async (body?: LogInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysLogEx/export`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寮傚父鏃ュ織鍒嗛〉鍒楄〃 馃敄
+         * @param {PageLogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLogExPagePost: async (body?: PageLogInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysLogEx/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysLogExApi - functional programming interface
+ * @export
+ */
+export const SysLogExApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 娓呯┖寮傚父鏃ュ織 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogExClearPost(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultBoolean>>> {
+            const localVarAxiosArgs = await SysLogExApiAxiosParamCreator(configuration).apiSysLogExClearPost(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 瀵煎嚭寮傚父鏃ュ織 馃敄
+         * @param {LogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogExExportPost(body?: LogInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysLogExApiAxiosParamCreator(configuration).apiSysLogExExportPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寮傚父鏃ュ織鍒嗛〉鍒楄〃 馃敄
+         * @param {PageLogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogExPagePost(body?: PageLogInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLogEx>>> {
+            const localVarAxiosArgs = await SysLogExApiAxiosParamCreator(configuration).apiSysLogExPagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysLogExApi - factory interface
+ * @export
+ */
+export const SysLogExApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 娓呯┖寮傚父鏃ュ織 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogExClearPost(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultBoolean>> {
+            return SysLogExApiFp(configuration).apiSysLogExClearPost(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 瀵煎嚭寮傚父鏃ュ織 馃敄
+         * @param {LogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogExExportPost(body?: LogInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysLogExApiFp(configuration).apiSysLogExExportPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寮傚父鏃ュ織鍒嗛〉鍒楄〃 馃敄
+         * @param {PageLogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogExPagePost(body?: PageLogInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLogEx>> {
+            return SysLogExApiFp(configuration).apiSysLogExPagePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysLogExApi - object-oriented interface
+ * @export
+ * @class SysLogExApi
+ * @extends {BaseAPI}
+ */
+export class SysLogExApi extends BaseAPI {
+    /**
+     * 
+     * @summary 娓呯┖寮傚父鏃ュ織 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLogExApi
+     */
+    public async apiSysLogExClearPost(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultBoolean>> {
+        return SysLogExApiFp(this.configuration).apiSysLogExClearPost(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 瀵煎嚭寮傚父鏃ュ織 馃敄
+     * @param {LogInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLogExApi
+     */
+    public async apiSysLogExExportPost(body?: LogInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysLogExApiFp(this.configuration).apiSysLogExExportPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇寮傚父鏃ュ織鍒嗛〉鍒楄〃 馃敄
+     * @param {PageLogInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLogExApi
+     */
+    public async apiSysLogExPagePost(body?: PageLogInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLogEx>> {
+        return SysLogExApiFp(this.configuration).apiSysLogExPagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-log-op-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-log-op-api.ts
new file mode 100644
index 0000000..d3c52ed
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-log-op-api.ts
@@ -0,0 +1,299 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultBoolean } from '../models';
+import { AdminResultSqlSugarPagedListSysLogOp } from '../models';
+import { LogInput } from '../models';
+import { PageLogInput } from '../models';
+/**
+ * SysLogOpApi - axios parameter creator
+ * @export
+ */
+export const SysLogOpApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 娓呯┖鎿嶄綔鏃ュ織 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLogOpClearPost: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysLogOp/clear`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 瀵煎嚭鎿嶄綔鏃ュ織 馃敄
+         * @param {LogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLogOpExportPost: async (body?: LogInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysLogOp/export`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎿嶄綔鏃ュ織鍒嗛〉鍒楄〃 馃敄
+         * @param {PageLogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLogOpPagePost: async (body?: PageLogInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysLogOp/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysLogOpApi - functional programming interface
+ * @export
+ */
+export const SysLogOpApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 娓呯┖鎿嶄綔鏃ュ織 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogOpClearPost(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultBoolean>>> {
+            const localVarAxiosArgs = await SysLogOpApiAxiosParamCreator(configuration).apiSysLogOpClearPost(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 瀵煎嚭鎿嶄綔鏃ュ織 馃敄
+         * @param {LogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogOpExportPost(body?: LogInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysLogOpApiAxiosParamCreator(configuration).apiSysLogOpExportPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎿嶄綔鏃ュ織鍒嗛〉鍒楄〃 馃敄
+         * @param {PageLogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogOpPagePost(body?: PageLogInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLogOp>>> {
+            const localVarAxiosArgs = await SysLogOpApiAxiosParamCreator(configuration).apiSysLogOpPagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysLogOpApi - factory interface
+ * @export
+ */
+export const SysLogOpApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 娓呯┖鎿嶄綔鏃ュ織 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogOpClearPost(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultBoolean>> {
+            return SysLogOpApiFp(configuration).apiSysLogOpClearPost(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 瀵煎嚭鎿嶄綔鏃ュ織 馃敄
+         * @param {LogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogOpExportPost(body?: LogInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysLogOpApiFp(configuration).apiSysLogOpExportPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎿嶄綔鏃ュ織鍒嗛〉鍒楄〃 馃敄
+         * @param {PageLogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogOpPagePost(body?: PageLogInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLogOp>> {
+            return SysLogOpApiFp(configuration).apiSysLogOpPagePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysLogOpApi - object-oriented interface
+ * @export
+ * @class SysLogOpApi
+ * @extends {BaseAPI}
+ */
+export class SysLogOpApi extends BaseAPI {
+    /**
+     * 
+     * @summary 娓呯┖鎿嶄綔鏃ュ織 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLogOpApi
+     */
+    public async apiSysLogOpClearPost(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultBoolean>> {
+        return SysLogOpApiFp(this.configuration).apiSysLogOpClearPost(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 瀵煎嚭鎿嶄綔鏃ュ織 馃敄
+     * @param {LogInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLogOpApi
+     */
+    public async apiSysLogOpExportPost(body?: LogInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysLogOpApiFp(this.configuration).apiSysLogOpExportPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鎿嶄綔鏃ュ織鍒嗛〉鍒楄〃 馃敄
+     * @param {PageLogInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLogOpApi
+     */
+    public async apiSysLogOpPagePost(body?: PageLogInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLogOp>> {
+        return SysLogOpApiFp(this.configuration).apiSysLogOpPagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-log-vis-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-log-vis-api.ts
new file mode 100644
index 0000000..c92d866
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-log-vis-api.ts
@@ -0,0 +1,215 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultBoolean } from '../models';
+import { AdminResultSqlSugarPagedListSysLogVis } from '../models';
+import { PageLogInput } from '../models';
+/**
+ * SysLogVisApi - axios parameter creator
+ * @export
+ */
+export const SysLogVisApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 娓呯┖璁块棶鏃ュ織 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLogVisClearPost: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysLogVis/clear`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇璁块棶鏃ュ織鍒嗛〉鍒楄〃 馃敄
+         * @param {PageLogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysLogVisPagePost: async (body?: PageLogInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysLogVis/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysLogVisApi - functional programming interface
+ * @export
+ */
+export const SysLogVisApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 娓呯┖璁块棶鏃ュ織 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogVisClearPost(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultBoolean>>> {
+            const localVarAxiosArgs = await SysLogVisApiAxiosParamCreator(configuration).apiSysLogVisClearPost(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇璁块棶鏃ュ織鍒嗛〉鍒楄〃 馃敄
+         * @param {PageLogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogVisPagePost(body?: PageLogInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLogVis>>> {
+            const localVarAxiosArgs = await SysLogVisApiAxiosParamCreator(configuration).apiSysLogVisPagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysLogVisApi - factory interface
+ * @export
+ */
+export const SysLogVisApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 娓呯┖璁块棶鏃ュ織 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogVisClearPost(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultBoolean>> {
+            return SysLogVisApiFp(configuration).apiSysLogVisClearPost(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇璁块棶鏃ュ織鍒嗛〉鍒楄〃 馃敄
+         * @param {PageLogInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysLogVisPagePost(body?: PageLogInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLogVis>> {
+            return SysLogVisApiFp(configuration).apiSysLogVisPagePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysLogVisApi - object-oriented interface
+ * @export
+ * @class SysLogVisApi
+ * @extends {BaseAPI}
+ */
+export class SysLogVisApi extends BaseAPI {
+    /**
+     * 
+     * @summary 娓呯┖璁块棶鏃ュ織 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLogVisApi
+     */
+    public async apiSysLogVisClearPost(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultBoolean>> {
+        return SysLogVisApiFp(this.configuration).apiSysLogVisClearPost(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇璁块棶鏃ュ織鍒嗛〉鍒楄〃 馃敄
+     * @param {PageLogInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysLogVisApi
+     */
+    public async apiSysLogVisPagePost(body?: PageLogInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLogVis>> {
+        return SysLogVisApiFp(this.configuration).apiSysLogVisPagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-menu-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-menu-api.ts
new file mode 100644
index 0000000..208e879
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-menu-api.ts
@@ -0,0 +1,551 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddMenuInput } from '../models';
+import { AdminResultListMenuOutput } from '../models';
+import { AdminResultListString } from '../models';
+import { AdminResultListSysMenu } from '../models';
+import { DeleteMenuInput } from '../models';
+import { MenuTypeEnum } from '../models';
+import { UpdateMenuInput } from '../models';
+/**
+ * SysMenuApi - axios parameter creator
+ * @export
+ */
+export const SysMenuApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鑿滃崟 馃敄
+         * @param {AddMenuInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysMenuAddPost: async (body?: AddMenuInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysMenu/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鑿滃崟 馃敄
+         * @param {DeleteMenuInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysMenuDeletePost: async (body?: DeleteMenuInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysMenu/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鑿滃崟鍒楄〃 馃敄
+         * @param {string} [title] 鏍囬
+         * @param {MenuTypeEnum} [type] 鑿滃崟绫诲瀷锛�1鐩綍 2鑿滃崟 3鎸夐挳锛�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysMenuListGet: async (title?: string, type?: MenuTypeEnum, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysMenu/list`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (title !== undefined) {
+                localVarQueryParameter['Title'] = title;
+            }
+
+            if (type !== undefined) {
+                localVarQueryParameter['Type'] = type;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐧诲綍鑿滃崟鏍� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysMenuLoginMenuTreeGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysMenu/loginMenuTree`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐢ㄦ埛鎷ユ湁鎸夐挳鏉冮檺闆嗗悎锛堢紦瀛橈級 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysMenuOwnBtnPermListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysMenu/ownBtnPermList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鑿滃崟 馃敄
+         * @param {UpdateMenuInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysMenuUpdatePost: async (body?: UpdateMenuInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysMenu/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysMenuApi - functional programming interface
+ * @export
+ */
+export const SysMenuApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鑿滃崟 馃敄
+         * @param {AddMenuInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMenuAddPost(body?: AddMenuInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysMenuApiAxiosParamCreator(configuration).apiSysMenuAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鑿滃崟 馃敄
+         * @param {DeleteMenuInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMenuDeletePost(body?: DeleteMenuInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysMenuApiAxiosParamCreator(configuration).apiSysMenuDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鑿滃崟鍒楄〃 馃敄
+         * @param {string} [title] 鏍囬
+         * @param {MenuTypeEnum} [type] 鑿滃崟绫诲瀷锛�1鐩綍 2鑿滃崟 3鎸夐挳锛�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMenuListGet(title?: string, type?: MenuTypeEnum, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysMenu>>> {
+            const localVarAxiosArgs = await SysMenuApiAxiosParamCreator(configuration).apiSysMenuListGet(title, type, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐧诲綍鑿滃崟鏍� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMenuLoginMenuTreeGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListMenuOutput>>> {
+            const localVarAxiosArgs = await SysMenuApiAxiosParamCreator(configuration).apiSysMenuLoginMenuTreeGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐢ㄦ埛鎷ユ湁鎸夐挳鏉冮檺闆嗗悎锛堢紦瀛橈級 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMenuOwnBtnPermListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListString>>> {
+            const localVarAxiosArgs = await SysMenuApiAxiosParamCreator(configuration).apiSysMenuOwnBtnPermListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鑿滃崟 馃敄
+         * @param {UpdateMenuInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMenuUpdatePost(body?: UpdateMenuInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysMenuApiAxiosParamCreator(configuration).apiSysMenuUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysMenuApi - factory interface
+ * @export
+ */
+export const SysMenuApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鑿滃崟 馃敄
+         * @param {AddMenuInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMenuAddPost(body?: AddMenuInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysMenuApiFp(configuration).apiSysMenuAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鑿滃崟 馃敄
+         * @param {DeleteMenuInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMenuDeletePost(body?: DeleteMenuInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysMenuApiFp(configuration).apiSysMenuDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鑿滃崟鍒楄〃 馃敄
+         * @param {string} [title] 鏍囬
+         * @param {MenuTypeEnum} [type] 鑿滃崟绫诲瀷锛�1鐩綍 2鑿滃崟 3鎸夐挳锛�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMenuListGet(title?: string, type?: MenuTypeEnum, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysMenu>> {
+            return SysMenuApiFp(configuration).apiSysMenuListGet(title, type, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐧诲綍鑿滃崟鏍� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMenuLoginMenuTreeGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListMenuOutput>> {
+            return SysMenuApiFp(configuration).apiSysMenuLoginMenuTreeGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐢ㄦ埛鎷ユ湁鎸夐挳鏉冮檺闆嗗悎锛堢紦瀛橈級 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMenuOwnBtnPermListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListString>> {
+            return SysMenuApiFp(configuration).apiSysMenuOwnBtnPermListGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊鑿滃崟 馃敄
+         * @param {UpdateMenuInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMenuUpdatePost(body?: UpdateMenuInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysMenuApiFp(configuration).apiSysMenuUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysMenuApi - object-oriented interface
+ * @export
+ * @class SysMenuApi
+ * @extends {BaseAPI}
+ */
+export class SysMenuApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞鑿滃崟 馃敄
+     * @param {AddMenuInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysMenuApi
+     */
+    public async apiSysMenuAddPost(body?: AddMenuInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysMenuApiFp(this.configuration).apiSysMenuAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎鑿滃崟 馃敄
+     * @param {DeleteMenuInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysMenuApi
+     */
+    public async apiSysMenuDeletePost(body?: DeleteMenuInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysMenuApiFp(this.configuration).apiSysMenuDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鑿滃崟鍒楄〃 馃敄
+     * @param {string} [title] 鏍囬
+     * @param {MenuTypeEnum} [type] 鑿滃崟绫诲瀷锛�1鐩綍 2鑿滃崟 3鎸夐挳锛�
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysMenuApi
+     */
+    public async apiSysMenuListGet(title?: string, type?: MenuTypeEnum, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysMenu>> {
+        return SysMenuApiFp(this.configuration).apiSysMenuListGet(title, type, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鐧诲綍鑿滃崟鏍� 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysMenuApi
+     */
+    public async apiSysMenuLoginMenuTreeGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListMenuOutput>> {
+        return SysMenuApiFp(this.configuration).apiSysMenuLoginMenuTreeGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鐢ㄦ埛鎷ユ湁鎸夐挳鏉冮檺闆嗗悎锛堢紦瀛橈級 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysMenuApi
+     */
+    public async apiSysMenuOwnBtnPermListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListString>> {
+        return SysMenuApiFp(this.configuration).apiSysMenuOwnBtnPermListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊鑿滃崟 馃敄
+     * @param {UpdateMenuInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysMenuApi
+     */
+    public async apiSysMenuUpdatePost(body?: UpdateMenuInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysMenuApiFp(this.configuration).apiSysMenuUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-message-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-message-api.ts
new file mode 100644
index 0000000..29e6873
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-message-api.ts
@@ -0,0 +1,387 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { MessageInput } from '../models';
+/**
+ * SysMessageApi - axios parameter creator
+ * @export
+ */
+export const SysMessageApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鍙戦�佹秷鎭粰鎵�鏈変汉 馃敄
+         * @param {MessageInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysMessageSendAllUserPost: async (body?: MessageInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysMessage/sendAllUser`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍙戦�佹秷鎭粰闄や簡鍙戦�佷汉鐨勫叾浠栦汉 馃敄
+         * @param {MessageInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysMessageSendOtherUserPost: async (body?: MessageInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysMessage/sendOtherUser`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍙戦�佹秷鎭粰鏌愪釜浜� 馃敄
+         * @param {MessageInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysMessageSendUserPost: async (body?: MessageInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysMessage/sendUser`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍙戦�佹秷鎭粰鏌愪簺浜� 馃敄
+         * @param {MessageInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysMessageSendUsersPost: async (body?: MessageInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysMessage/sendUsers`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysMessageApi - functional programming interface
+ * @export
+ */
+export const SysMessageApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鍙戦�佹秷鎭粰鎵�鏈変汉 馃敄
+         * @param {MessageInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMessageSendAllUserPost(body?: MessageInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysMessageApiAxiosParamCreator(configuration).apiSysMessageSendAllUserPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍙戦�佹秷鎭粰闄や簡鍙戦�佷汉鐨勫叾浠栦汉 馃敄
+         * @param {MessageInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMessageSendOtherUserPost(body?: MessageInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysMessageApiAxiosParamCreator(configuration).apiSysMessageSendOtherUserPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍙戦�佹秷鎭粰鏌愪釜浜� 馃敄
+         * @param {MessageInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMessageSendUserPost(body?: MessageInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysMessageApiAxiosParamCreator(configuration).apiSysMessageSendUserPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍙戦�佹秷鎭粰鏌愪簺浜� 馃敄
+         * @param {MessageInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMessageSendUsersPost(body?: MessageInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysMessageApiAxiosParamCreator(configuration).apiSysMessageSendUsersPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysMessageApi - factory interface
+ * @export
+ */
+export const SysMessageApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 鍙戦�佹秷鎭粰鎵�鏈変汉 馃敄
+         * @param {MessageInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMessageSendAllUserPost(body?: MessageInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysMessageApiFp(configuration).apiSysMessageSendAllUserPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍙戦�佹秷鎭粰闄や簡鍙戦�佷汉鐨勫叾浠栦汉 馃敄
+         * @param {MessageInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMessageSendOtherUserPost(body?: MessageInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysMessageApiFp(configuration).apiSysMessageSendOtherUserPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍙戦�佹秷鎭粰鏌愪釜浜� 馃敄
+         * @param {MessageInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMessageSendUserPost(body?: MessageInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysMessageApiFp(configuration).apiSysMessageSendUserPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍙戦�佹秷鎭粰鏌愪簺浜� 馃敄
+         * @param {MessageInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysMessageSendUsersPost(body?: MessageInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysMessageApiFp(configuration).apiSysMessageSendUsersPost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysMessageApi - object-oriented interface
+ * @export
+ * @class SysMessageApi
+ * @extends {BaseAPI}
+ */
+export class SysMessageApi extends BaseAPI {
+    /**
+     * 
+     * @summary 鍙戦�佹秷鎭粰鎵�鏈変汉 馃敄
+     * @param {MessageInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysMessageApi
+     */
+    public async apiSysMessageSendAllUserPost(body?: MessageInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysMessageApiFp(this.configuration).apiSysMessageSendAllUserPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍙戦�佹秷鎭粰闄や簡鍙戦�佷汉鐨勫叾浠栦汉 馃敄
+     * @param {MessageInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysMessageApi
+     */
+    public async apiSysMessageSendOtherUserPost(body?: MessageInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysMessageApiFp(this.configuration).apiSysMessageSendOtherUserPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍙戦�佹秷鎭粰鏌愪釜浜� 馃敄
+     * @param {MessageInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysMessageApi
+     */
+    public async apiSysMessageSendUserPost(body?: MessageInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysMessageApiFp(this.configuration).apiSysMessageSendUserPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍙戦�佹秷鎭粰鏌愪簺浜� 馃敄
+     * @param {MessageInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysMessageApi
+     */
+    public async apiSysMessageSendUsersPost(body?: MessageInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysMessageApiFp(this.configuration).apiSysMessageSendUsersPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-notice-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-notice-api.ts
new file mode 100644
index 0000000..88d9bd1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-notice-api.ts
@@ -0,0 +1,767 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddNoticeInput } from '../models';
+import { AdminResultListSysNotice } from '../models';
+import { AdminResultSqlSugarPagedListSysNotice } from '../models';
+import { AdminResultSqlSugarPagedListSysNoticeUser } from '../models';
+import { DeleteNoticeInput } from '../models';
+import { NoticeInput } from '../models';
+import { NoticeTypeEnum } from '../models';
+import { PageNoticeInput } from '../models';
+import { UpdateNoticeInput } from '../models';
+/**
+ * SysNoticeApi - axios parameter creator
+ * @export
+ */
+export const SysNoticeApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞閫氱煡鍏憡 馃摙
+         * @param {AddNoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysNoticeAddPost: async (body?: AddNoticeInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysNotice/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎閫氱煡鍏憡 馃摙
+         * @param {DeleteNoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysNoticeDeletePost: async (body?: DeleteNoticeInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysNotice/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇閫氱煡鍏憡鍒嗛〉鍒楄〃 馃摙
+         * @param {PageNoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysNoticePagePost: async (body?: PageNoticeInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysNotice/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎺ユ敹鐨勯�氱煡鍏憡
+         * @param {string} [title] 鏍囬
+         * @param {NoticeTypeEnum} [type] 绫诲瀷锛�1閫氱煡 2鍏憡锛�
+         * @param {number} [page] 褰撳墠椤电爜
+         * @param {number} [pageSize] 椤电爜瀹归噺
+         * @param {string} [field] 鎺掑簭瀛楁
+         * @param {string} [order] 鎺掑簭鏂瑰悜
+         * @param {string} [descStr] 闄嶅簭鎺掑簭
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysNoticePageReceivedGet: async (title?: string, type?: NoticeTypeEnum, page?: number, pageSize?: number, field?: string, order?: string, descStr?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysNotice/pageReceived`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (title !== undefined) {
+                localVarQueryParameter['Title'] = title;
+            }
+
+            if (type !== undefined) {
+                localVarQueryParameter['Type'] = type;
+            }
+
+            if (page !== undefined) {
+                localVarQueryParameter['Page'] = page;
+            }
+
+            if (pageSize !== undefined) {
+                localVarQueryParameter['PageSize'] = pageSize;
+            }
+
+            if (field !== undefined) {
+                localVarQueryParameter['Field'] = field;
+            }
+
+            if (order !== undefined) {
+                localVarQueryParameter['Order'] = order;
+            }
+
+            if (descStr !== undefined) {
+                localVarQueryParameter['DescStr'] = descStr;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍙戝竷閫氱煡鍏憡 馃摙
+         * @param {NoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysNoticePublicPost: async (body?: NoticeInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysNotice/public`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 璁剧疆閫氱煡鍏憡宸茶鐘舵�� 馃摙
+         * @param {NoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysNoticeSetReadPost: async (body?: NoticeInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysNotice/setRead`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏈鐨勯�氱煡鍏憡 馃摙
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysNoticeUnReadListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysNotice/unReadList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊閫氱煡鍏憡 馃摙
+         * @param {UpdateNoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysNoticeUpdatePost: async (body?: UpdateNoticeInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysNotice/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysNoticeApi - functional programming interface
+ * @export
+ */
+export const SysNoticeApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞閫氱煡鍏憡 馃摙
+         * @param {AddNoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysNoticeAddPost(body?: AddNoticeInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysNoticeApiAxiosParamCreator(configuration).apiSysNoticeAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎閫氱煡鍏憡 馃摙
+         * @param {DeleteNoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysNoticeDeletePost(body?: DeleteNoticeInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysNoticeApiAxiosParamCreator(configuration).apiSysNoticeDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇閫氱煡鍏憡鍒嗛〉鍒楄〃 馃摙
+         * @param {PageNoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysNoticePagePost(body?: PageNoticeInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysNotice>>> {
+            const localVarAxiosArgs = await SysNoticeApiAxiosParamCreator(configuration).apiSysNoticePagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎺ユ敹鐨勯�氱煡鍏憡
+         * @param {string} [title] 鏍囬
+         * @param {NoticeTypeEnum} [type] 绫诲瀷锛�1閫氱煡 2鍏憡锛�
+         * @param {number} [page] 褰撳墠椤电爜
+         * @param {number} [pageSize] 椤电爜瀹归噺
+         * @param {string} [field] 鎺掑簭瀛楁
+         * @param {string} [order] 鎺掑簭鏂瑰悜
+         * @param {string} [descStr] 闄嶅簭鎺掑簭
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysNoticePageReceivedGet(title?: string, type?: NoticeTypeEnum, page?: number, pageSize?: number, field?: string, order?: string, descStr?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysNoticeUser>>> {
+            const localVarAxiosArgs = await SysNoticeApiAxiosParamCreator(configuration).apiSysNoticePageReceivedGet(title, type, page, pageSize, field, order, descStr, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍙戝竷閫氱煡鍏憡 馃摙
+         * @param {NoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysNoticePublicPost(body?: NoticeInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysNoticeApiAxiosParamCreator(configuration).apiSysNoticePublicPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 璁剧疆閫氱煡鍏憡宸茶鐘舵�� 馃摙
+         * @param {NoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysNoticeSetReadPost(body?: NoticeInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysNoticeApiAxiosParamCreator(configuration).apiSysNoticeSetReadPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏈鐨勯�氱煡鍏憡 馃摙
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysNoticeUnReadListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysNotice>>> {
+            const localVarAxiosArgs = await SysNoticeApiAxiosParamCreator(configuration).apiSysNoticeUnReadListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊閫氱煡鍏憡 馃摙
+         * @param {UpdateNoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysNoticeUpdatePost(body?: UpdateNoticeInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysNoticeApiAxiosParamCreator(configuration).apiSysNoticeUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysNoticeApi - factory interface
+ * @export
+ */
+export const SysNoticeApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞閫氱煡鍏憡 馃摙
+         * @param {AddNoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysNoticeAddPost(body?: AddNoticeInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysNoticeApiFp(configuration).apiSysNoticeAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎閫氱煡鍏憡 馃摙
+         * @param {DeleteNoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysNoticeDeletePost(body?: DeleteNoticeInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysNoticeApiFp(configuration).apiSysNoticeDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇閫氱煡鍏憡鍒嗛〉鍒楄〃 馃摙
+         * @param {PageNoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysNoticePagePost(body?: PageNoticeInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysNotice>> {
+            return SysNoticeApiFp(configuration).apiSysNoticePagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎺ユ敹鐨勯�氱煡鍏憡
+         * @param {string} [title] 鏍囬
+         * @param {NoticeTypeEnum} [type] 绫诲瀷锛�1閫氱煡 2鍏憡锛�
+         * @param {number} [page] 褰撳墠椤电爜
+         * @param {number} [pageSize] 椤电爜瀹归噺
+         * @param {string} [field] 鎺掑簭瀛楁
+         * @param {string} [order] 鎺掑簭鏂瑰悜
+         * @param {string} [descStr] 闄嶅簭鎺掑簭
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysNoticePageReceivedGet(title?: string, type?: NoticeTypeEnum, page?: number, pageSize?: number, field?: string, order?: string, descStr?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysNoticeUser>> {
+            return SysNoticeApiFp(configuration).apiSysNoticePageReceivedGet(title, type, page, pageSize, field, order, descStr, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍙戝竷閫氱煡鍏憡 馃摙
+         * @param {NoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysNoticePublicPost(body?: NoticeInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysNoticeApiFp(configuration).apiSysNoticePublicPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 璁剧疆閫氱煡鍏憡宸茶鐘舵�� 馃摙
+         * @param {NoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysNoticeSetReadPost(body?: NoticeInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysNoticeApiFp(configuration).apiSysNoticeSetReadPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏈鐨勯�氱煡鍏憡 馃摙
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysNoticeUnReadListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysNotice>> {
+            return SysNoticeApiFp(configuration).apiSysNoticeUnReadListGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊閫氱煡鍏憡 馃摙
+         * @param {UpdateNoticeInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysNoticeUpdatePost(body?: UpdateNoticeInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysNoticeApiFp(configuration).apiSysNoticeUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysNoticeApi - object-oriented interface
+ * @export
+ * @class SysNoticeApi
+ * @extends {BaseAPI}
+ */
+export class SysNoticeApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞閫氱煡鍏憡 馃摙
+     * @param {AddNoticeInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysNoticeApi
+     */
+    public async apiSysNoticeAddPost(body?: AddNoticeInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysNoticeApiFp(this.configuration).apiSysNoticeAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎閫氱煡鍏憡 馃摙
+     * @param {DeleteNoticeInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysNoticeApi
+     */
+    public async apiSysNoticeDeletePost(body?: DeleteNoticeInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysNoticeApiFp(this.configuration).apiSysNoticeDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇閫氱煡鍏憡鍒嗛〉鍒楄〃 馃摙
+     * @param {PageNoticeInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysNoticeApi
+     */
+    public async apiSysNoticePagePost(body?: PageNoticeInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysNotice>> {
+        return SysNoticeApiFp(this.configuration).apiSysNoticePagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鎺ユ敹鐨勯�氱煡鍏憡
+     * @param {string} [title] 鏍囬
+     * @param {NoticeTypeEnum} [type] 绫诲瀷锛�1閫氱煡 2鍏憡锛�
+     * @param {number} [page] 褰撳墠椤电爜
+     * @param {number} [pageSize] 椤电爜瀹归噺
+     * @param {string} [field] 鎺掑簭瀛楁
+     * @param {string} [order] 鎺掑簭鏂瑰悜
+     * @param {string} [descStr] 闄嶅簭鎺掑簭
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysNoticeApi
+     */
+    public async apiSysNoticePageReceivedGet(title?: string, type?: NoticeTypeEnum, page?: number, pageSize?: number, field?: string, order?: string, descStr?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysNoticeUser>> {
+        return SysNoticeApiFp(this.configuration).apiSysNoticePageReceivedGet(title, type, page, pageSize, field, order, descStr, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍙戝竷閫氱煡鍏憡 馃摙
+     * @param {NoticeInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysNoticeApi
+     */
+    public async apiSysNoticePublicPost(body?: NoticeInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysNoticeApiFp(this.configuration).apiSysNoticePublicPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 璁剧疆閫氱煡鍏憡宸茶鐘舵�� 馃摙
+     * @param {NoticeInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysNoticeApi
+     */
+    public async apiSysNoticeSetReadPost(body?: NoticeInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysNoticeApiFp(this.configuration).apiSysNoticeSetReadPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鏈鐨勯�氱煡鍏憡 馃摙
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysNoticeApi
+     */
+    public async apiSysNoticeUnReadListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysNotice>> {
+        return SysNoticeApiFp(this.configuration).apiSysNoticeUnReadListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊閫氱煡鍏憡 馃摙
+     * @param {UpdateNoticeInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysNoticeApi
+     */
+    public async apiSysNoticeUpdatePost(body?: UpdateNoticeInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysNoticeApiFp(this.configuration).apiSysNoticeUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-oauth-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-oauth-api.ts
new file mode 100644
index 0000000..d56f69f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-oauth-api.ts
@@ -0,0 +1,237 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultIActionResult } from '../models';
+/**
+ * SysOAuthApi - axios parameter creator
+ * @export
+ */
+export const SysOAuthApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鎺堟潈鍥炶皟 馃敄
+         * @param {string} [provider] 
+         * @param {string} [redirectUrl] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysOAuthSignInCallbackGet: async (provider?: string, redirectUrl?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysOAuth/signInCallback`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (provider !== undefined) {
+                localVarQueryParameter['provider'] = provider;
+            }
+
+            if (redirectUrl !== undefined) {
+                localVarQueryParameter['redirectUrl'] = redirectUrl;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 绗笁鏂圭櫥褰� 馃敄
+         * @param {string} [provider] 
+         * @param {string} [redirectUrl] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysOAuthSignInGet: async (provider?: string, redirectUrl?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysOAuth/signIn`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (provider !== undefined) {
+                localVarQueryParameter['provider'] = provider;
+            }
+
+            if (redirectUrl !== undefined) {
+                localVarQueryParameter['redirectUrl'] = redirectUrl;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysOAuthApi - functional programming interface
+ * @export
+ */
+export const SysOAuthApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鎺堟潈鍥炶皟 馃敄
+         * @param {string} [provider] 
+         * @param {string} [redirectUrl] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOAuthSignInCallbackGet(provider?: string, redirectUrl?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultIActionResult>>> {
+            const localVarAxiosArgs = await SysOAuthApiAxiosParamCreator(configuration).apiSysOAuthSignInCallbackGet(provider, redirectUrl, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 绗笁鏂圭櫥褰� 馃敄
+         * @param {string} [provider] 
+         * @param {string} [redirectUrl] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOAuthSignInGet(provider?: string, redirectUrl?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultIActionResult>>> {
+            const localVarAxiosArgs = await SysOAuthApiAxiosParamCreator(configuration).apiSysOAuthSignInGet(provider, redirectUrl, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysOAuthApi - factory interface
+ * @export
+ */
+export const SysOAuthApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 鎺堟潈鍥炶皟 馃敄
+         * @param {string} [provider] 
+         * @param {string} [redirectUrl] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOAuthSignInCallbackGet(provider?: string, redirectUrl?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultIActionResult>> {
+            return SysOAuthApiFp(configuration).apiSysOAuthSignInCallbackGet(provider, redirectUrl, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 绗笁鏂圭櫥褰� 馃敄
+         * @param {string} [provider] 
+         * @param {string} [redirectUrl] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOAuthSignInGet(provider?: string, redirectUrl?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultIActionResult>> {
+            return SysOAuthApiFp(configuration).apiSysOAuthSignInGet(provider, redirectUrl, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysOAuthApi - object-oriented interface
+ * @export
+ * @class SysOAuthApi
+ * @extends {BaseAPI}
+ */
+export class SysOAuthApi extends BaseAPI {
+    /**
+     * 
+     * @summary 鎺堟潈鍥炶皟 馃敄
+     * @param {string} [provider] 
+     * @param {string} [redirectUrl] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysOAuthApi
+     */
+    public async apiSysOAuthSignInCallbackGet(provider?: string, redirectUrl?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultIActionResult>> {
+        return SysOAuthApiFp(this.configuration).apiSysOAuthSignInCallbackGet(provider, redirectUrl, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 绗笁鏂圭櫥褰� 馃敄
+     * @param {string} [provider] 
+     * @param {string} [redirectUrl] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysOAuthApi
+     */
+    public async apiSysOAuthSignInGet(provider?: string, redirectUrl?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultIActionResult>> {
+        return SysOAuthApiFp(this.configuration).apiSysOAuthSignInGet(provider, redirectUrl, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-online-user-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-online-user-api.ts
new file mode 100644
index 0000000..8e83ef1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-online-user-api.ts
@@ -0,0 +1,223 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultSqlSugarPagedListSysOnlineUser } from '../models';
+import { PageOnlineUserInput } from '../models';
+import { SysOnlineUser } from '../models';
+/**
+ * SysOnlineUserApi - axios parameter creator
+ * @export
+ */
+export const SysOnlineUserApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 寮哄埗涓嬬嚎 馃敄
+         * @param {SysOnlineUser} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysOnlineUserForceOfflinePost: async (body?: SysOnlineUser, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysOnlineUser/forceOffline`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍦ㄧ嚎鐢ㄦ埛鍒嗛〉鍒楄〃 馃敄
+         * @param {PageOnlineUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysOnlineUserPagePost: async (body?: PageOnlineUserInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysOnlineUser/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysOnlineUserApi - functional programming interface
+ * @export
+ */
+export const SysOnlineUserApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 寮哄埗涓嬬嚎 馃敄
+         * @param {SysOnlineUser} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOnlineUserForceOfflinePost(body?: SysOnlineUser, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysOnlineUserApiAxiosParamCreator(configuration).apiSysOnlineUserForceOfflinePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍦ㄧ嚎鐢ㄦ埛鍒嗛〉鍒楄〃 馃敄
+         * @param {PageOnlineUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOnlineUserPagePost(body?: PageOnlineUserInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysOnlineUser>>> {
+            const localVarAxiosArgs = await SysOnlineUserApiAxiosParamCreator(configuration).apiSysOnlineUserPagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysOnlineUserApi - factory interface
+ * @export
+ */
+export const SysOnlineUserApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 寮哄埗涓嬬嚎 馃敄
+         * @param {SysOnlineUser} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOnlineUserForceOfflinePost(body?: SysOnlineUser, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysOnlineUserApiFp(configuration).apiSysOnlineUserForceOfflinePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍦ㄧ嚎鐢ㄦ埛鍒嗛〉鍒楄〃 馃敄
+         * @param {PageOnlineUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOnlineUserPagePost(body?: PageOnlineUserInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysOnlineUser>> {
+            return SysOnlineUserApiFp(configuration).apiSysOnlineUserPagePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysOnlineUserApi - object-oriented interface
+ * @export
+ * @class SysOnlineUserApi
+ * @extends {BaseAPI}
+ */
+export class SysOnlineUserApi extends BaseAPI {
+    /**
+     * 
+     * @summary 寮哄埗涓嬬嚎 馃敄
+     * @param {SysOnlineUser} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysOnlineUserApi
+     */
+    public async apiSysOnlineUserForceOfflinePost(body?: SysOnlineUser, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysOnlineUserApiFp(this.configuration).apiSysOnlineUserForceOfflinePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鍦ㄧ嚎鐢ㄦ埛鍒嗛〉鍒楄〃 馃敄
+     * @param {PageOnlineUserInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysOnlineUserApi
+     */
+    public async apiSysOnlineUserPagePost(body?: PageOnlineUserInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysOnlineUser>> {
+        return SysOnlineUserApiFp(this.configuration).apiSysOnlineUserPagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-open-access-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-open-access-api.ts
new file mode 100644
index 0000000..7306760
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-open-access-api.ts
@@ -0,0 +1,551 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddOpenAccessInput } from '../models';
+import { AdminResultSqlSugarPagedListOpenAccessOutput } from '../models';
+import { AdminResultString } from '../models';
+import { DeleteOpenAccessInput } from '../models';
+import { GenerateSignatureInput } from '../models';
+import { OpenAccessInput } from '../models';
+import { UpdateOpenAccessInput } from '../models';
+/**
+ * SysOpenAccessApi - axios parameter creator
+ * @export
+ */
+export const SysOpenAccessApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞寮�鏀炬帴鍙h韩浠� 馃敄
+         * @param {AddOpenAccessInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysOpenAccessAddPost: async (body?: AddOpenAccessInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysOpenAccess/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎寮�鏀炬帴鍙h韩浠� 馃敄
+         * @param {DeleteOpenAccessInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysOpenAccessDeletePost: async (body?: DeleteOpenAccessInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysOpenAccess/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鐢熸垚绛惧悕
+         * @param {GenerateSignatureInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysOpenAccessGenerateSignaturePost: async (body?: GenerateSignatureInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysOpenAccess/generateSignature`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寮�鏀炬帴鍙h韩浠藉垎椤靛垪琛� 馃敄
+         * @param {OpenAccessInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysOpenAccessPagePost: async (body?: OpenAccessInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysOpenAccess/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒涘缓瀵嗛挜 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysOpenAccessSecretPost: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysOpenAccess/secret`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊寮�鏀炬帴鍙h韩浠� 馃敄
+         * @param {UpdateOpenAccessInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysOpenAccessUpdatePost: async (body?: UpdateOpenAccessInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysOpenAccess/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysOpenAccessApi - functional programming interface
+ * @export
+ */
+export const SysOpenAccessApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞寮�鏀炬帴鍙h韩浠� 馃敄
+         * @param {AddOpenAccessInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOpenAccessAddPost(body?: AddOpenAccessInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysOpenAccessApiAxiosParamCreator(configuration).apiSysOpenAccessAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎寮�鏀炬帴鍙h韩浠� 馃敄
+         * @param {DeleteOpenAccessInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOpenAccessDeletePost(body?: DeleteOpenAccessInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysOpenAccessApiAxiosParamCreator(configuration).apiSysOpenAccessDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鐢熸垚绛惧悕
+         * @param {GenerateSignatureInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOpenAccessGenerateSignaturePost(body?: GenerateSignatureInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultString>>> {
+            const localVarAxiosArgs = await SysOpenAccessApiAxiosParamCreator(configuration).apiSysOpenAccessGenerateSignaturePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寮�鏀炬帴鍙h韩浠藉垎椤靛垪琛� 馃敄
+         * @param {OpenAccessInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOpenAccessPagePost(body?: OpenAccessInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListOpenAccessOutput>>> {
+            const localVarAxiosArgs = await SysOpenAccessApiAxiosParamCreator(configuration).apiSysOpenAccessPagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒涘缓瀵嗛挜 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOpenAccessSecretPost(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultString>>> {
+            const localVarAxiosArgs = await SysOpenAccessApiAxiosParamCreator(configuration).apiSysOpenAccessSecretPost(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊寮�鏀炬帴鍙h韩浠� 馃敄
+         * @param {UpdateOpenAccessInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOpenAccessUpdatePost(body?: UpdateOpenAccessInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysOpenAccessApiAxiosParamCreator(configuration).apiSysOpenAccessUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysOpenAccessApi - factory interface
+ * @export
+ */
+export const SysOpenAccessApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞寮�鏀炬帴鍙h韩浠� 馃敄
+         * @param {AddOpenAccessInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOpenAccessAddPost(body?: AddOpenAccessInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysOpenAccessApiFp(configuration).apiSysOpenAccessAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎寮�鏀炬帴鍙h韩浠� 馃敄
+         * @param {DeleteOpenAccessInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOpenAccessDeletePost(body?: DeleteOpenAccessInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysOpenAccessApiFp(configuration).apiSysOpenAccessDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鐢熸垚绛惧悕
+         * @param {GenerateSignatureInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOpenAccessGenerateSignaturePost(body?: GenerateSignatureInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultString>> {
+            return SysOpenAccessApiFp(configuration).apiSysOpenAccessGenerateSignaturePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寮�鏀炬帴鍙h韩浠藉垎椤靛垪琛� 馃敄
+         * @param {OpenAccessInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOpenAccessPagePost(body?: OpenAccessInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListOpenAccessOutput>> {
+            return SysOpenAccessApiFp(configuration).apiSysOpenAccessPagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒涘缓瀵嗛挜 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOpenAccessSecretPost(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultString>> {
+            return SysOpenAccessApiFp(configuration).apiSysOpenAccessSecretPost(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊寮�鏀炬帴鍙h韩浠� 馃敄
+         * @param {UpdateOpenAccessInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOpenAccessUpdatePost(body?: UpdateOpenAccessInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysOpenAccessApiFp(configuration).apiSysOpenAccessUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysOpenAccessApi - object-oriented interface
+ * @export
+ * @class SysOpenAccessApi
+ * @extends {BaseAPI}
+ */
+export class SysOpenAccessApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞寮�鏀炬帴鍙h韩浠� 馃敄
+     * @param {AddOpenAccessInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysOpenAccessApi
+     */
+    public async apiSysOpenAccessAddPost(body?: AddOpenAccessInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysOpenAccessApiFp(this.configuration).apiSysOpenAccessAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎寮�鏀炬帴鍙h韩浠� 馃敄
+     * @param {DeleteOpenAccessInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysOpenAccessApi
+     */
+    public async apiSysOpenAccessDeletePost(body?: DeleteOpenAccessInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysOpenAccessApiFp(this.configuration).apiSysOpenAccessDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鐢熸垚绛惧悕
+     * @param {GenerateSignatureInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysOpenAccessApi
+     */
+    public async apiSysOpenAccessGenerateSignaturePost(body?: GenerateSignatureInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultString>> {
+        return SysOpenAccessApiFp(this.configuration).apiSysOpenAccessGenerateSignaturePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇寮�鏀炬帴鍙h韩浠藉垎椤靛垪琛� 馃敄
+     * @param {OpenAccessInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysOpenAccessApi
+     */
+    public async apiSysOpenAccessPagePost(body?: OpenAccessInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListOpenAccessOutput>> {
+        return SysOpenAccessApiFp(this.configuration).apiSysOpenAccessPagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒涘缓瀵嗛挜 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysOpenAccessApi
+     */
+    public async apiSysOpenAccessSecretPost(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultString>> {
+        return SysOpenAccessApiFp(this.configuration).apiSysOpenAccessSecretPost(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊寮�鏀炬帴鍙h韩浠� 馃敄
+     * @param {UpdateOpenAccessInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysOpenAccessApi
+     */
+    public async apiSysOpenAccessUpdatePost(body?: UpdateOpenAccessInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysOpenAccessApiFp(this.configuration).apiSysOpenAccessUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-org-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-org-api.ts
new file mode 100644
index 0000000..4dbe336
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-org-api.ts
@@ -0,0 +1,419 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddOrgInput } from '../models';
+import { AdminResultInt64 } from '../models';
+import { AdminResultListSysOrg } from '../models';
+import { DeleteOrgInput } from '../models';
+import { UpdateOrgInput } from '../models';
+/**
+ * SysOrgApi - axios parameter creator
+ * @export
+ */
+export const SysOrgApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鏈烘瀯 馃敄
+         * @param {AddOrgInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysOrgAddPost: async (body?: AddOrgInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysOrg/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鏈烘瀯 馃敄
+         * @param {DeleteOrgInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysOrgDeletePost: async (body?: DeleteOrgInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysOrg/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏈烘瀯鍒楄〃 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {string} [name] 鍚嶇О
+         * @param {string} [code] 缂栧彿
+         * @param {string} [type] 鏈烘瀯绫诲瀷
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysOrgListGet: async (id: number, name?: string, code?: string, type?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'id' is not null or undefined
+            if (id === null || id === undefined) {
+                throw new RequiredError('id','Required parameter id was null or undefined when calling apiSysOrgListGet.');
+            }
+            const localVarPath = `/api/sysOrg/list`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (name !== undefined) {
+                localVarQueryParameter['Name'] = name;
+            }
+
+            if (code !== undefined) {
+                localVarQueryParameter['Code'] = code;
+            }
+
+            if (type !== undefined) {
+                localVarQueryParameter['Type'] = type;
+            }
+
+            if (id !== undefined) {
+                localVarQueryParameter['Id'] = id;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鏈烘瀯 馃敄
+         * @param {UpdateOrgInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysOrgUpdatePost: async (body?: UpdateOrgInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysOrg/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysOrgApi - functional programming interface
+ * @export
+ */
+export const SysOrgApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鏈烘瀯 馃敄
+         * @param {AddOrgInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOrgAddPost(body?: AddOrgInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultInt64>>> {
+            const localVarAxiosArgs = await SysOrgApiAxiosParamCreator(configuration).apiSysOrgAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鏈烘瀯 馃敄
+         * @param {DeleteOrgInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOrgDeletePost(body?: DeleteOrgInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysOrgApiAxiosParamCreator(configuration).apiSysOrgDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏈烘瀯鍒楄〃 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {string} [name] 鍚嶇О
+         * @param {string} [code] 缂栧彿
+         * @param {string} [type] 鏈烘瀯绫诲瀷
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOrgListGet(id: number, name?: string, code?: string, type?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysOrg>>> {
+            const localVarAxiosArgs = await SysOrgApiAxiosParamCreator(configuration).apiSysOrgListGet(id, name, code, type, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鏈烘瀯 馃敄
+         * @param {UpdateOrgInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOrgUpdatePost(body?: UpdateOrgInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysOrgApiAxiosParamCreator(configuration).apiSysOrgUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysOrgApi - factory interface
+ * @export
+ */
+export const SysOrgApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鏈烘瀯 馃敄
+         * @param {AddOrgInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOrgAddPost(body?: AddOrgInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultInt64>> {
+            return SysOrgApiFp(configuration).apiSysOrgAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鏈烘瀯 馃敄
+         * @param {DeleteOrgInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOrgDeletePost(body?: DeleteOrgInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysOrgApiFp(configuration).apiSysOrgDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏈烘瀯鍒楄〃 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {string} [name] 鍚嶇О
+         * @param {string} [code] 缂栧彿
+         * @param {string} [type] 鏈烘瀯绫诲瀷
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOrgListGet(id: number, name?: string, code?: string, type?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysOrg>> {
+            return SysOrgApiFp(configuration).apiSysOrgListGet(id, name, code, type, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊鏈烘瀯 馃敄
+         * @param {UpdateOrgInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysOrgUpdatePost(body?: UpdateOrgInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysOrgApiFp(configuration).apiSysOrgUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysOrgApi - object-oriented interface
+ * @export
+ * @class SysOrgApi
+ * @extends {BaseAPI}
+ */
+export class SysOrgApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞鏈烘瀯 馃敄
+     * @param {AddOrgInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysOrgApi
+     */
+    public async apiSysOrgAddPost(body?: AddOrgInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultInt64>> {
+        return SysOrgApiFp(this.configuration).apiSysOrgAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎鏈烘瀯 馃敄
+     * @param {DeleteOrgInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysOrgApi
+     */
+    public async apiSysOrgDeletePost(body?: DeleteOrgInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysOrgApiFp(this.configuration).apiSysOrgDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鏈烘瀯鍒楄〃 馃敄
+     * @param {number} id 涓婚敭Id
+     * @param {string} [name] 鍚嶇О
+     * @param {string} [code] 缂栧彿
+     * @param {string} [type] 鏈烘瀯绫诲瀷
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysOrgApi
+     */
+    public async apiSysOrgListGet(id: number, name?: string, code?: string, type?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysOrg>> {
+        return SysOrgApiFp(this.configuration).apiSysOrgListGet(id, name, code, type, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊鏈烘瀯 馃敄
+     * @param {UpdateOrgInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysOrgApi
+     */
+    public async apiSysOrgUpdatePost(body?: UpdateOrgInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysOrgApiFp(this.configuration).apiSysOrgUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-plugin-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-plugin-api.ts
new file mode 100644
index 0000000..523243a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-plugin-api.ts
@@ -0,0 +1,567 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddPluginInput } from '../models';
+import { AdminResultSqlSugarPagedListSysPlugin } from '../models';
+import { AdminResultString } from '../models';
+import { DeletePluginInput } from '../models';
+import { PagePluginInput } from '../models';
+import { UpdatePluginInput } from '../models';
+/**
+ * SysPluginApi - axios parameter creator
+ * @export
+ */
+export const SysPluginApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鍔ㄦ�佹彃浠� 馃З
+         * @param {AddPluginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysPluginAddPost: async (body?: AddPluginInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysPlugin/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 娣诲姞鍔ㄦ�佺▼搴忛泦/鎺ュ彛 馃З
+         * @param {string} [body] 
+         * @param {string} [assemblyName] 绋嬪簭闆嗗悕绉�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysPluginCompileAssemblyPost: async (body?: string, assemblyName?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysPlugin/compileAssembly`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (assemblyName !== undefined) {
+                localVarQueryParameter['assemblyName'] = assemblyName;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鍔ㄦ�佹彃浠� 馃З
+         * @param {DeletePluginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysPluginDeletePost: async (body?: DeletePluginInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysPlugin/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍔ㄦ�佹彃浠跺垪琛� 馃З
+         * @param {PagePluginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysPluginPagePost: async (body?: PagePluginInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysPlugin/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 绉婚櫎鍔ㄦ�佺▼搴忛泦/鎺ュ彛 馃З
+         * @param {string} assemblyName 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysPluginRemoveAssemblyAssemblyNamePost: async (assemblyName: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'assemblyName' is not null or undefined
+            if (assemblyName === null || assemblyName === undefined) {
+                throw new RequiredError('assemblyName','Required parameter assemblyName was null or undefined when calling apiSysPluginRemoveAssemblyAssemblyNamePost.');
+            }
+            const localVarPath = `/api/sysPlugin/removeAssembly/{assemblyName}`
+                .replace(`{${"assemblyName"}}`, encodeURIComponent(String(assemblyName)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鍔ㄦ�佹彃浠� 馃З
+         * @param {UpdatePluginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysPluginUpdatePost: async (body?: UpdatePluginInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysPlugin/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysPluginApi - functional programming interface
+ * @export
+ */
+export const SysPluginApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鍔ㄦ�佹彃浠� 馃З
+         * @param {AddPluginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPluginAddPost(body?: AddPluginInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysPluginApiAxiosParamCreator(configuration).apiSysPluginAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 娣诲姞鍔ㄦ�佺▼搴忛泦/鎺ュ彛 馃З
+         * @param {string} [body] 
+         * @param {string} [assemblyName] 绋嬪簭闆嗗悕绉�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPluginCompileAssemblyPost(body?: string, assemblyName?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultString>>> {
+            const localVarAxiosArgs = await SysPluginApiAxiosParamCreator(configuration).apiSysPluginCompileAssemblyPost(body, assemblyName, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鍔ㄦ�佹彃浠� 馃З
+         * @param {DeletePluginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPluginDeletePost(body?: DeletePluginInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysPluginApiAxiosParamCreator(configuration).apiSysPluginDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍔ㄦ�佹彃浠跺垪琛� 馃З
+         * @param {PagePluginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPluginPagePost(body?: PagePluginInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysPlugin>>> {
+            const localVarAxiosArgs = await SysPluginApiAxiosParamCreator(configuration).apiSysPluginPagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 绉婚櫎鍔ㄦ�佺▼搴忛泦/鎺ュ彛 馃З
+         * @param {string} assemblyName 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPluginRemoveAssemblyAssemblyNamePost(assemblyName: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysPluginApiAxiosParamCreator(configuration).apiSysPluginRemoveAssemblyAssemblyNamePost(assemblyName, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鍔ㄦ�佹彃浠� 馃З
+         * @param {UpdatePluginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPluginUpdatePost(body?: UpdatePluginInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysPluginApiAxiosParamCreator(configuration).apiSysPluginUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysPluginApi - factory interface
+ * @export
+ */
+export const SysPluginApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鍔ㄦ�佹彃浠� 馃З
+         * @param {AddPluginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPluginAddPost(body?: AddPluginInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysPluginApiFp(configuration).apiSysPluginAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 娣诲姞鍔ㄦ�佺▼搴忛泦/鎺ュ彛 馃З
+         * @param {string} [body] 
+         * @param {string} [assemblyName] 绋嬪簭闆嗗悕绉�
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPluginCompileAssemblyPost(body?: string, assemblyName?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultString>> {
+            return SysPluginApiFp(configuration).apiSysPluginCompileAssemblyPost(body, assemblyName, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鍔ㄦ�佹彃浠� 馃З
+         * @param {DeletePluginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPluginDeletePost(body?: DeletePluginInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysPluginApiFp(configuration).apiSysPluginDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鍔ㄦ�佹彃浠跺垪琛� 馃З
+         * @param {PagePluginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPluginPagePost(body?: PagePluginInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysPlugin>> {
+            return SysPluginApiFp(configuration).apiSysPluginPagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 绉婚櫎鍔ㄦ�佺▼搴忛泦/鎺ュ彛 馃З
+         * @param {string} assemblyName 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPluginRemoveAssemblyAssemblyNamePost(assemblyName: string, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysPluginApiFp(configuration).apiSysPluginRemoveAssemblyAssemblyNamePost(assemblyName, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊鍔ㄦ�佹彃浠� 馃З
+         * @param {UpdatePluginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPluginUpdatePost(body?: UpdatePluginInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysPluginApiFp(configuration).apiSysPluginUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysPluginApi - object-oriented interface
+ * @export
+ * @class SysPluginApi
+ * @extends {BaseAPI}
+ */
+export class SysPluginApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞鍔ㄦ�佹彃浠� 馃З
+     * @param {AddPluginInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysPluginApi
+     */
+    public async apiSysPluginAddPost(body?: AddPluginInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysPluginApiFp(this.configuration).apiSysPluginAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 娣诲姞鍔ㄦ�佺▼搴忛泦/鎺ュ彛 馃З
+     * @param {string} [body] 
+     * @param {string} [assemblyName] 绋嬪簭闆嗗悕绉�
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysPluginApi
+     */
+    public async apiSysPluginCompileAssemblyPost(body?: string, assemblyName?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultString>> {
+        return SysPluginApiFp(this.configuration).apiSysPluginCompileAssemblyPost(body, assemblyName, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎鍔ㄦ�佹彃浠� 馃З
+     * @param {DeletePluginInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysPluginApi
+     */
+    public async apiSysPluginDeletePost(body?: DeletePluginInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysPluginApiFp(this.configuration).apiSysPluginDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鍔ㄦ�佹彃浠跺垪琛� 馃З
+     * @param {PagePluginInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysPluginApi
+     */
+    public async apiSysPluginPagePost(body?: PagePluginInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysPlugin>> {
+        return SysPluginApiFp(this.configuration).apiSysPluginPagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 绉婚櫎鍔ㄦ�佺▼搴忛泦/鎺ュ彛 馃З
+     * @param {string} assemblyName 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysPluginApi
+     */
+    public async apiSysPluginRemoveAssemblyAssemblyNamePost(assemblyName: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysPluginApiFp(this.configuration).apiSysPluginRemoveAssemblyAssemblyNamePost(assemblyName, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊鍔ㄦ�佹彃浠� 馃З
+     * @param {UpdatePluginInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysPluginApi
+     */
+    public async apiSysPluginUpdatePost(body?: UpdatePluginInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysPluginApiFp(this.configuration).apiSysPluginUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-pos-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-pos-api.ts
new file mode 100644
index 0000000..f752447
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-pos-api.ts
@@ -0,0 +1,398 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddPosInput } from '../models';
+import { AdminResultListSysPos } from '../models';
+import { DeletePosInput } from '../models';
+import { UpdatePosInput } from '../models';
+/**
+ * SysPosApi - axios parameter creator
+ * @export
+ */
+export const SysPosApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鑱屼綅 馃敄
+         * @param {AddPosInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysPosAddPost: async (body?: AddPosInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysPos/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鑱屼綅 馃敄
+         * @param {DeletePosInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysPosDeletePost: async (body?: DeletePosInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysPos/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鑱屼綅鍒楄〃 馃敄
+         * @param {string} [name] 鍚嶇О
+         * @param {string} [code] 缂栧彿
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysPosListGet: async (name?: string, code?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysPos/list`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (name !== undefined) {
+                localVarQueryParameter['Name'] = name;
+            }
+
+            if (code !== undefined) {
+                localVarQueryParameter['Code'] = code;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鑱屼綅 馃敄
+         * @param {UpdatePosInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysPosUpdatePost: async (body?: UpdatePosInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysPos/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysPosApi - functional programming interface
+ * @export
+ */
+export const SysPosApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鑱屼綅 馃敄
+         * @param {AddPosInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPosAddPost(body?: AddPosInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysPosApiAxiosParamCreator(configuration).apiSysPosAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鑱屼綅 馃敄
+         * @param {DeletePosInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPosDeletePost(body?: DeletePosInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysPosApiAxiosParamCreator(configuration).apiSysPosDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鑱屼綅鍒楄〃 馃敄
+         * @param {string} [name] 鍚嶇О
+         * @param {string} [code] 缂栧彿
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPosListGet(name?: string, code?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysPos>>> {
+            const localVarAxiosArgs = await SysPosApiAxiosParamCreator(configuration).apiSysPosListGet(name, code, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鑱屼綅 馃敄
+         * @param {UpdatePosInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPosUpdatePost(body?: UpdatePosInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysPosApiAxiosParamCreator(configuration).apiSysPosUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysPosApi - factory interface
+ * @export
+ */
+export const SysPosApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鑱屼綅 馃敄
+         * @param {AddPosInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPosAddPost(body?: AddPosInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysPosApiFp(configuration).apiSysPosAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鑱屼綅 馃敄
+         * @param {DeletePosInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPosDeletePost(body?: DeletePosInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysPosApiFp(configuration).apiSysPosDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鑱屼綅鍒楄〃 馃敄
+         * @param {string} [name] 鍚嶇О
+         * @param {string} [code] 缂栧彿
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPosListGet(name?: string, code?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysPos>> {
+            return SysPosApiFp(configuration).apiSysPosListGet(name, code, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊鑱屼綅 馃敄
+         * @param {UpdatePosInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPosUpdatePost(body?: UpdatePosInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysPosApiFp(configuration).apiSysPosUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysPosApi - object-oriented interface
+ * @export
+ * @class SysPosApi
+ * @extends {BaseAPI}
+ */
+export class SysPosApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞鑱屼綅 馃敄
+     * @param {AddPosInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysPosApi
+     */
+    public async apiSysPosAddPost(body?: AddPosInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysPosApiFp(this.configuration).apiSysPosAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎鑱屼綅 馃敄
+     * @param {DeletePosInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysPosApi
+     */
+    public async apiSysPosDeletePost(body?: DeletePosInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysPosApiFp(this.configuration).apiSysPosDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鑱屼綅鍒楄〃 馃敄
+     * @param {string} [name] 鍚嶇О
+     * @param {string} [code] 缂栧彿
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysPosApi
+     */
+    public async apiSysPosListGet(name?: string, code?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysPos>> {
+        return SysPosApiFp(this.configuration).apiSysPosListGet(name, code, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊鑱屼綅 馃敄
+     * @param {UpdatePosInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysPosApi
+     */
+    public async apiSysPosUpdatePost(body?: UpdatePosInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysPosApiFp(this.configuration).apiSysPosUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-print-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-print-api.ts
new file mode 100644
index 0000000..fa54bb8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-print-api.ts
@@ -0,0 +1,476 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddPrintInput } from '../models';
+import { AdminResultSqlSugarPagedListSysPrint } from '../models';
+import { AdminResultSysPrint } from '../models';
+import { DeletePrintInput } from '../models';
+import { PagePrintInput } from '../models';
+import { UpdatePrintInput } from '../models';
+/**
+ * SysPrintApi - axios parameter creator
+ * @export
+ */
+export const SysPrintApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鎵撳嵃妯℃澘 馃枿锔�
+         * @param {AddPrintInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysPrintAddPost: async (body?: AddPrintInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysPrint/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鎵撳嵃妯℃澘 馃枿锔�
+         * @param {DeletePrintInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysPrintDeletePost: async (body?: DeletePrintInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysPrint/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎵撳嵃妯℃澘鍒楄〃 馃枿锔�
+         * @param {PagePrintInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysPrintPagePost: async (body?: PagePrintInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysPrint/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎵撳嵃妯℃澘 馃枿锔�
+         * @param {string} name 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysPrintPrintNameGet: async (name: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'name' is not null or undefined
+            if (name === null || name === undefined) {
+                throw new RequiredError('name','Required parameter name was null or undefined when calling apiSysPrintPrintNameGet.');
+            }
+            const localVarPath = `/api/sysPrint/print/{name}`
+                .replace(`{${"name"}}`, encodeURIComponent(String(name)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鎵撳嵃妯℃澘 馃枿锔�
+         * @param {UpdatePrintInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysPrintUpdatePost: async (body?: UpdatePrintInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysPrint/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysPrintApi - functional programming interface
+ * @export
+ */
+export const SysPrintApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鎵撳嵃妯℃澘 馃枿锔�
+         * @param {AddPrintInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPrintAddPost(body?: AddPrintInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysPrintApiAxiosParamCreator(configuration).apiSysPrintAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鎵撳嵃妯℃澘 馃枿锔�
+         * @param {DeletePrintInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPrintDeletePost(body?: DeletePrintInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysPrintApiAxiosParamCreator(configuration).apiSysPrintDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎵撳嵃妯℃澘鍒楄〃 馃枿锔�
+         * @param {PagePrintInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPrintPagePost(body?: PagePrintInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysPrint>>> {
+            const localVarAxiosArgs = await SysPrintApiAxiosParamCreator(configuration).apiSysPrintPagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎵撳嵃妯℃澘 馃枿锔�
+         * @param {string} name 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPrintPrintNameGet(name: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysPrint>>> {
+            const localVarAxiosArgs = await SysPrintApiAxiosParamCreator(configuration).apiSysPrintPrintNameGet(name, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鎵撳嵃妯℃澘 馃枿锔�
+         * @param {UpdatePrintInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPrintUpdatePost(body?: UpdatePrintInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysPrintApiAxiosParamCreator(configuration).apiSysPrintUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysPrintApi - factory interface
+ * @export
+ */
+export const SysPrintApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鎵撳嵃妯℃澘 馃枿锔�
+         * @param {AddPrintInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPrintAddPost(body?: AddPrintInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysPrintApiFp(configuration).apiSysPrintAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鎵撳嵃妯℃澘 馃枿锔�
+         * @param {DeletePrintInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPrintDeletePost(body?: DeletePrintInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysPrintApiFp(configuration).apiSysPrintDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎵撳嵃妯℃澘鍒楄〃 馃枿锔�
+         * @param {PagePrintInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPrintPagePost(body?: PagePrintInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysPrint>> {
+            return SysPrintApiFp(configuration).apiSysPrintPagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鎵撳嵃妯℃澘 馃枿锔�
+         * @param {string} name 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPrintPrintNameGet(name: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysPrint>> {
+            return SysPrintApiFp(configuration).apiSysPrintPrintNameGet(name, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊鎵撳嵃妯℃澘 馃枿锔�
+         * @param {UpdatePrintInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysPrintUpdatePost(body?: UpdatePrintInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysPrintApiFp(configuration).apiSysPrintUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysPrintApi - object-oriented interface
+ * @export
+ * @class SysPrintApi
+ * @extends {BaseAPI}
+ */
+export class SysPrintApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞鎵撳嵃妯℃澘 馃枿锔�
+     * @param {AddPrintInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysPrintApi
+     */
+    public async apiSysPrintAddPost(body?: AddPrintInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysPrintApiFp(this.configuration).apiSysPrintAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎鎵撳嵃妯℃澘 馃枿锔�
+     * @param {DeletePrintInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysPrintApi
+     */
+    public async apiSysPrintDeletePost(body?: DeletePrintInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysPrintApiFp(this.configuration).apiSysPrintDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鎵撳嵃妯℃澘鍒楄〃 馃枿锔�
+     * @param {PagePrintInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysPrintApi
+     */
+    public async apiSysPrintPagePost(body?: PagePrintInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysPrint>> {
+        return SysPrintApiFp(this.configuration).apiSysPrintPagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鎵撳嵃妯℃澘 馃枿锔�
+     * @param {string} name 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysPrintApi
+     */
+    public async apiSysPrintPrintNameGet(name: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysPrint>> {
+        return SysPrintApiFp(this.configuration).apiSysPrintPrintNameGet(name, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊鎵撳嵃妯℃澘 馃枿锔�
+     * @param {UpdatePrintInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysPrintApi
+     */
+    public async apiSysPrintUpdatePost(body?: UpdatePrintInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysPrintApiFp(this.configuration).apiSysPrintUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-region-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-region-api.ts
new file mode 100644
index 0000000..23a876e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-region-api.ts
@@ -0,0 +1,555 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddRegionInput } from '../models';
+import { AdminResultInt64 } from '../models';
+import { AdminResultListSysRegion } from '../models';
+import { AdminResultSqlSugarPagedListSysRegion } from '../models';
+import { DeleteRegionInput } from '../models';
+import { PageRegionInput } from '../models';
+import { UpdateRegionInput } from '../models';
+/**
+ * SysRegionApi - axios parameter creator
+ * @export
+ */
+export const SysRegionApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞琛屾斂鍖哄煙 馃敄
+         * @param {AddRegionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysRegionAddPost: async (body?: AddRegionInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysRegion/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎琛屾斂鍖哄煙 馃敄
+         * @param {DeleteRegionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysRegionDeletePost: async (body?: DeleteRegionInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysRegion/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇琛屾斂鍖哄煙鍒楄〃 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysRegionListGet: async (id: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'id' is not null or undefined
+            if (id === null || id === undefined) {
+                throw new RequiredError('id','Required parameter id was null or undefined when calling apiSysRegionListGet.');
+            }
+            const localVarPath = `/api/sysRegion/list`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (id !== undefined) {
+                localVarQueryParameter['Id'] = id;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇琛屾斂鍖哄煙鍒嗛〉鍒楄〃 馃敄
+         * @param {PageRegionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysRegionPagePost: async (body?: PageRegionInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysRegion/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍚屾琛屾斂鍖哄煙 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysRegionSyncPost: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysRegion/sync`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊琛屾斂鍖哄煙 馃敄
+         * @param {UpdateRegionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysRegionUpdatePost: async (body?: UpdateRegionInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysRegion/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysRegionApi - functional programming interface
+ * @export
+ */
+export const SysRegionApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞琛屾斂鍖哄煙 馃敄
+         * @param {AddRegionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRegionAddPost(body?: AddRegionInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultInt64>>> {
+            const localVarAxiosArgs = await SysRegionApiAxiosParamCreator(configuration).apiSysRegionAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎琛屾斂鍖哄煙 馃敄
+         * @param {DeleteRegionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRegionDeletePost(body?: DeleteRegionInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysRegionApiAxiosParamCreator(configuration).apiSysRegionDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇琛屾斂鍖哄煙鍒楄〃 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRegionListGet(id: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysRegion>>> {
+            const localVarAxiosArgs = await SysRegionApiAxiosParamCreator(configuration).apiSysRegionListGet(id, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇琛屾斂鍖哄煙鍒嗛〉鍒楄〃 馃敄
+         * @param {PageRegionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRegionPagePost(body?: PageRegionInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysRegion>>> {
+            const localVarAxiosArgs = await SysRegionApiAxiosParamCreator(configuration).apiSysRegionPagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍚屾琛屾斂鍖哄煙 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRegionSyncPost(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysRegionApiAxiosParamCreator(configuration).apiSysRegionSyncPost(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊琛屾斂鍖哄煙 馃敄
+         * @param {UpdateRegionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRegionUpdatePost(body?: UpdateRegionInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysRegionApiAxiosParamCreator(configuration).apiSysRegionUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysRegionApi - factory interface
+ * @export
+ */
+export const SysRegionApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞琛屾斂鍖哄煙 馃敄
+         * @param {AddRegionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRegionAddPost(body?: AddRegionInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultInt64>> {
+            return SysRegionApiFp(configuration).apiSysRegionAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎琛屾斂鍖哄煙 馃敄
+         * @param {DeleteRegionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRegionDeletePost(body?: DeleteRegionInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysRegionApiFp(configuration).apiSysRegionDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇琛屾斂鍖哄煙鍒楄〃 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRegionListGet(id: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysRegion>> {
+            return SysRegionApiFp(configuration).apiSysRegionListGet(id, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇琛屾斂鍖哄煙鍒嗛〉鍒楄〃 馃敄
+         * @param {PageRegionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRegionPagePost(body?: PageRegionInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysRegion>> {
+            return SysRegionApiFp(configuration).apiSysRegionPagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍚屾琛屾斂鍖哄煙 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRegionSyncPost(options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysRegionApiFp(configuration).apiSysRegionSyncPost(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊琛屾斂鍖哄煙 馃敄
+         * @param {UpdateRegionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRegionUpdatePost(body?: UpdateRegionInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysRegionApiFp(configuration).apiSysRegionUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysRegionApi - object-oriented interface
+ * @export
+ * @class SysRegionApi
+ * @extends {BaseAPI}
+ */
+export class SysRegionApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞琛屾斂鍖哄煙 馃敄
+     * @param {AddRegionInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysRegionApi
+     */
+    public async apiSysRegionAddPost(body?: AddRegionInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultInt64>> {
+        return SysRegionApiFp(this.configuration).apiSysRegionAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎琛屾斂鍖哄煙 馃敄
+     * @param {DeleteRegionInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysRegionApi
+     */
+    public async apiSysRegionDeletePost(body?: DeleteRegionInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysRegionApiFp(this.configuration).apiSysRegionDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇琛屾斂鍖哄煙鍒楄〃 馃敄
+     * @param {number} id 涓婚敭Id
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysRegionApi
+     */
+    public async apiSysRegionListGet(id: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysRegion>> {
+        return SysRegionApiFp(this.configuration).apiSysRegionListGet(id, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇琛屾斂鍖哄煙鍒嗛〉鍒楄〃 馃敄
+     * @param {PageRegionInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysRegionApi
+     */
+    public async apiSysRegionPagePost(body?: PageRegionInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysRegion>> {
+        return SysRegionApiFp(this.configuration).apiSysRegionPagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍚屾琛屾斂鍖哄煙 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysRegionApi
+     */
+    public async apiSysRegionSyncPost(options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysRegionApiFp(this.configuration).apiSysRegionSyncPost(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊琛屾斂鍖哄煙 馃敄
+     * @param {UpdateRegionInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysRegionApi
+     */
+    public async apiSysRegionUpdatePost(body?: UpdateRegionInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysRegionApiFp(this.configuration).apiSysRegionUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-role-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-role-api.ts
new file mode 100644
index 0000000..693200e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-role-api.ts
@@ -0,0 +1,912 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddRoleInput } from '../models';
+import { AdminResultInt32 } from '../models';
+import { AdminResultListInt64 } from '../models';
+import { AdminResultListRoleOutput } from '../models';
+import { AdminResultSqlSugarPagedListSysRole } from '../models';
+import { DeleteRoleInput } from '../models';
+import { PageRoleInput } from '../models';
+import { RoleInput } from '../models';
+import { RoleMenuInput } from '../models';
+import { RoleOrgInput } from '../models';
+import { StatusEnum } from '../models';
+import { UpdateRoleInput } from '../models';
+/**
+ * SysRoleApi - axios parameter creator
+ * @export
+ */
+export const SysRoleApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞瑙掕壊 馃敄
+         * @param {AddRoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysRoleAddPost: async (body?: AddRoleInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysRole/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎瑙掕壊 馃敄
+         * @param {DeleteRoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysRoleDeletePost: async (body?: DeleteRoleInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysRole/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鎺堟潈瑙掕壊鏁版嵁鑼冨洿 馃敄
+         * @param {RoleOrgInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysRoleGrantDataScopePost: async (body?: RoleOrgInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysRole/grantDataScope`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鎺堟潈瑙掕壊鑿滃崟 馃敄
+         * @param {RoleMenuInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysRoleGrantMenuPost: async (body?: RoleMenuInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysRole/grantMenu`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瑙掕壊鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysRoleListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysRole/list`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏍规嵁瑙掕壊Id鑾峰彇鑿滃崟Id闆嗗悎 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {StatusEnum} [status] 鐘舵��
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysRoleOwnMenuListGet: async (id: number, status?: StatusEnum, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'id' is not null or undefined
+            if (id === null || id === undefined) {
+                throw new RequiredError('id','Required parameter id was null or undefined when calling apiSysRoleOwnMenuListGet.');
+            }
+            const localVarPath = `/api/sysRole/ownMenuList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (status !== undefined) {
+                localVarQueryParameter['Status'] = status;
+            }
+
+            if (id !== undefined) {
+                localVarQueryParameter['Id'] = id;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏍规嵁瑙掕壊Id鑾峰彇鏈烘瀯Id闆嗗悎 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {StatusEnum} [status] 鐘舵��
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysRoleOwnOrgListGet: async (id: number, status?: StatusEnum, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'id' is not null or undefined
+            if (id === null || id === undefined) {
+                throw new RequiredError('id','Required parameter id was null or undefined when calling apiSysRoleOwnOrgListGet.');
+            }
+            const localVarPath = `/api/sysRole/ownOrgList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (status !== undefined) {
+                localVarQueryParameter['Status'] = status;
+            }
+
+            if (id !== undefined) {
+                localVarQueryParameter['Id'] = id;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瑙掕壊鍒嗛〉鍒楄〃 馃敄
+         * @param {PageRoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysRolePagePost: async (body?: PageRoleInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysRole/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 璁剧疆瑙掕壊鐘舵�� 馃敄
+         * @param {RoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysRoleSetStatusPost: async (body?: RoleInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysRole/setStatus`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊瑙掕壊 馃敄
+         * @param {UpdateRoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysRoleUpdatePost: async (body?: UpdateRoleInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysRole/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysRoleApi - functional programming interface
+ * @export
+ */
+export const SysRoleApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞瑙掕壊 馃敄
+         * @param {AddRoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleAddPost(body?: AddRoleInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysRoleApiAxiosParamCreator(configuration).apiSysRoleAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎瑙掕壊 馃敄
+         * @param {DeleteRoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleDeletePost(body?: DeleteRoleInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysRoleApiAxiosParamCreator(configuration).apiSysRoleDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鎺堟潈瑙掕壊鏁版嵁鑼冨洿 馃敄
+         * @param {RoleOrgInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleGrantDataScopePost(body?: RoleOrgInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysRoleApiAxiosParamCreator(configuration).apiSysRoleGrantDataScopePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鎺堟潈瑙掕壊鑿滃崟 馃敄
+         * @param {RoleMenuInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleGrantMenuPost(body?: RoleMenuInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysRoleApiAxiosParamCreator(configuration).apiSysRoleGrantMenuPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瑙掕壊鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListRoleOutput>>> {
+            const localVarAxiosArgs = await SysRoleApiAxiosParamCreator(configuration).apiSysRoleListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏍规嵁瑙掕壊Id鑾峰彇鑿滃崟Id闆嗗悎 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {StatusEnum} [status] 鐘舵��
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleOwnMenuListGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListInt64>>> {
+            const localVarAxiosArgs = await SysRoleApiAxiosParamCreator(configuration).apiSysRoleOwnMenuListGet(id, status, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏍规嵁瑙掕壊Id鑾峰彇鏈烘瀯Id闆嗗悎 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {StatusEnum} [status] 鐘舵��
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleOwnOrgListGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListInt64>>> {
+            const localVarAxiosArgs = await SysRoleApiAxiosParamCreator(configuration).apiSysRoleOwnOrgListGet(id, status, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瑙掕壊鍒嗛〉鍒楄〃 馃敄
+         * @param {PageRoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRolePagePost(body?: PageRoleInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysRole>>> {
+            const localVarAxiosArgs = await SysRoleApiAxiosParamCreator(configuration).apiSysRolePagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 璁剧疆瑙掕壊鐘舵�� 馃敄
+         * @param {RoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleSetStatusPost(body?: RoleInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultInt32>>> {
+            const localVarAxiosArgs = await SysRoleApiAxiosParamCreator(configuration).apiSysRoleSetStatusPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊瑙掕壊 馃敄
+         * @param {UpdateRoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleUpdatePost(body?: UpdateRoleInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysRoleApiAxiosParamCreator(configuration).apiSysRoleUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysRoleApi - factory interface
+ * @export
+ */
+export const SysRoleApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞瑙掕壊 馃敄
+         * @param {AddRoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleAddPost(body?: AddRoleInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysRoleApiFp(configuration).apiSysRoleAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎瑙掕壊 馃敄
+         * @param {DeleteRoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleDeletePost(body?: DeleteRoleInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysRoleApiFp(configuration).apiSysRoleDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鎺堟潈瑙掕壊鏁版嵁鑼冨洿 馃敄
+         * @param {RoleOrgInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleGrantDataScopePost(body?: RoleOrgInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysRoleApiFp(configuration).apiSysRoleGrantDataScopePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鎺堟潈瑙掕壊鑿滃崟 馃敄
+         * @param {RoleMenuInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleGrantMenuPost(body?: RoleMenuInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysRoleApiFp(configuration).apiSysRoleGrantMenuPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瑙掕壊鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListRoleOutput>> {
+            return SysRoleApiFp(configuration).apiSysRoleListGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏍规嵁瑙掕壊Id鑾峰彇鑿滃崟Id闆嗗悎 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {StatusEnum} [status] 鐘舵��
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleOwnMenuListGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListInt64>> {
+            return SysRoleApiFp(configuration).apiSysRoleOwnMenuListGet(id, status, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏍规嵁瑙掕壊Id鑾峰彇鏈烘瀯Id闆嗗悎 馃敄
+         * @param {number} id 涓婚敭Id
+         * @param {StatusEnum} [status] 鐘舵��
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleOwnOrgListGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListInt64>> {
+            return SysRoleApiFp(configuration).apiSysRoleOwnOrgListGet(id, status, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇瑙掕壊鍒嗛〉鍒楄〃 馃敄
+         * @param {PageRoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRolePagePost(body?: PageRoleInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysRole>> {
+            return SysRoleApiFp(configuration).apiSysRolePagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 璁剧疆瑙掕壊鐘舵�� 馃敄
+         * @param {RoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleSetStatusPost(body?: RoleInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultInt32>> {
+            return SysRoleApiFp(configuration).apiSysRoleSetStatusPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊瑙掕壊 馃敄
+         * @param {UpdateRoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysRoleUpdatePost(body?: UpdateRoleInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysRoleApiFp(configuration).apiSysRoleUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysRoleApi - object-oriented interface
+ * @export
+ * @class SysRoleApi
+ * @extends {BaseAPI}
+ */
+export class SysRoleApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞瑙掕壊 馃敄
+     * @param {AddRoleInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysRoleApi
+     */
+    public async apiSysRoleAddPost(body?: AddRoleInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysRoleApiFp(this.configuration).apiSysRoleAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎瑙掕壊 馃敄
+     * @param {DeleteRoleInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysRoleApi
+     */
+    public async apiSysRoleDeletePost(body?: DeleteRoleInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysRoleApiFp(this.configuration).apiSysRoleDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鎺堟潈瑙掕壊鏁版嵁鑼冨洿 馃敄
+     * @param {RoleOrgInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysRoleApi
+     */
+    public async apiSysRoleGrantDataScopePost(body?: RoleOrgInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysRoleApiFp(this.configuration).apiSysRoleGrantDataScopePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鎺堟潈瑙掕壊鑿滃崟 馃敄
+     * @param {RoleMenuInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysRoleApi
+     */
+    public async apiSysRoleGrantMenuPost(body?: RoleMenuInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysRoleApiFp(this.configuration).apiSysRoleGrantMenuPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇瑙掕壊鍒楄〃 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysRoleApi
+     */
+    public async apiSysRoleListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListRoleOutput>> {
+        return SysRoleApiFp(this.configuration).apiSysRoleListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏍规嵁瑙掕壊Id鑾峰彇鑿滃崟Id闆嗗悎 馃敄
+     * @param {number} id 涓婚敭Id
+     * @param {StatusEnum} [status] 鐘舵��
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysRoleApi
+     */
+    public async apiSysRoleOwnMenuListGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListInt64>> {
+        return SysRoleApiFp(this.configuration).apiSysRoleOwnMenuListGet(id, status, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏍规嵁瑙掕壊Id鑾峰彇鏈烘瀯Id闆嗗悎 馃敄
+     * @param {number} id 涓婚敭Id
+     * @param {StatusEnum} [status] 鐘舵��
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysRoleApi
+     */
+    public async apiSysRoleOwnOrgListGet(id: number, status?: StatusEnum, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListInt64>> {
+        return SysRoleApiFp(this.configuration).apiSysRoleOwnOrgListGet(id, status, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇瑙掕壊鍒嗛〉鍒楄〃 馃敄
+     * @param {PageRoleInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysRoleApi
+     */
+    public async apiSysRolePagePost(body?: PageRoleInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysRole>> {
+        return SysRoleApiFp(this.configuration).apiSysRolePagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 璁剧疆瑙掕壊鐘舵�� 馃敄
+     * @param {RoleInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysRoleApi
+     */
+    public async apiSysRoleSetStatusPost(body?: RoleInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultInt32>> {
+        return SysRoleApiFp(this.configuration).apiSysRoleSetStatusPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊瑙掕壊 馃敄
+     * @param {UpdateRoleInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysRoleApi
+     */
+    public async apiSysRoleUpdatePost(body?: UpdateRoleInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysRoleApiFp(this.configuration).apiSysRoleUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-server-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-server-api.ts
new file mode 100644
index 0000000..9a39537
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-server-api.ts
@@ -0,0 +1,355 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultObject } from '../models';
+/**
+ * SysServerApi - axios parameter creator
+ * @export
+ */
+export const SysServerApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鑾峰彇妗嗘灦涓昏绋嬪簭闆� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysServerAssemblyListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysServer/assemblyList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏈嶅姟鍣ㄩ厤缃俊鎭� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysServerServerBaseGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysServer/serverBase`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏈嶅姟鍣ㄧ鐩樹俊鎭� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysServerServerDiskGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysServer/serverDisk`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏈嶅姟鍣ㄤ娇鐢ㄤ俊鎭� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysServerServerUsedGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysServer/serverUsed`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysServerApi - functional programming interface
+ * @export
+ */
+export const SysServerApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鑾峰彇妗嗘灦涓昏绋嬪簭闆� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysServerAssemblyListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysServerApiAxiosParamCreator(configuration).apiSysServerAssemblyListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏈嶅姟鍣ㄩ厤缃俊鎭� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysServerServerBaseGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysServerApiAxiosParamCreator(configuration).apiSysServerServerBaseGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏈嶅姟鍣ㄧ鐩樹俊鎭� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysServerServerDiskGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysServerApiAxiosParamCreator(configuration).apiSysServerServerDiskGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏈嶅姟鍣ㄤ娇鐢ㄤ俊鎭� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysServerServerUsedGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysServerApiAxiosParamCreator(configuration).apiSysServerServerUsedGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysServerApi - factory interface
+ * @export
+ */
+export const SysServerApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 鑾峰彇妗嗘灦涓昏绋嬪簭闆� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysServerAssemblyListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysServerApiFp(configuration).apiSysServerAssemblyListGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏈嶅姟鍣ㄩ厤缃俊鎭� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysServerServerBaseGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysServerApiFp(configuration).apiSysServerServerBaseGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏈嶅姟鍣ㄧ鐩樹俊鎭� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysServerServerDiskGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysServerApiFp(configuration).apiSysServerServerDiskGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏈嶅姟鍣ㄤ娇鐢ㄤ俊鎭� 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysServerServerUsedGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysServerApiFp(configuration).apiSysServerServerUsedGet(options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysServerApi - object-oriented interface
+ * @export
+ * @class SysServerApi
+ * @extends {BaseAPI}
+ */
+export class SysServerApi extends BaseAPI {
+    /**
+     * 
+     * @summary 鑾峰彇妗嗘灦涓昏绋嬪簭闆� 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysServerApi
+     */
+    public async apiSysServerAssemblyListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysServerApiFp(this.configuration).apiSysServerAssemblyListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鏈嶅姟鍣ㄩ厤缃俊鎭� 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysServerApi
+     */
+    public async apiSysServerServerBaseGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysServerApiFp(this.configuration).apiSysServerServerBaseGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鏈嶅姟鍣ㄧ鐩樹俊鎭� 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysServerApi
+     */
+    public async apiSysServerServerDiskGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysServerApiFp(this.configuration).apiSysServerServerDiskGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鏈嶅姟鍣ㄤ娇鐢ㄤ俊鎭� 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysServerApi
+     */
+    public async apiSysServerServerUsedGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysServerApiFp(this.configuration).apiSysServerServerUsedGet(options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-sms-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-sms-api.ts
new file mode 100644
index 0000000..f4eba1c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-sms-api.ts
@@ -0,0 +1,138 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+/**
+ * SysSmsApi - axios parameter creator
+ * @export
+ */
+export const SysSmsApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鍙戦�佺煭淇� 馃摠
+         * @param {string} phoneNumber 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysSmsSendSmsPhoneNumberPost: async (phoneNumber: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'phoneNumber' is not null or undefined
+            if (phoneNumber === null || phoneNumber === undefined) {
+                throw new RequiredError('phoneNumber','Required parameter phoneNumber was null or undefined when calling apiSysSmsSendSmsPhoneNumberPost.');
+            }
+            const localVarPath = `/api/sysSms/sendSms/{phoneNumber}`
+                .replace(`{${"phoneNumber"}}`, encodeURIComponent(String(phoneNumber)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysSmsApi - functional programming interface
+ * @export
+ */
+export const SysSmsApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鍙戦�佺煭淇� 馃摠
+         * @param {string} phoneNumber 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysSmsSendSmsPhoneNumberPost(phoneNumber: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysSmsApiAxiosParamCreator(configuration).apiSysSmsSendSmsPhoneNumberPost(phoneNumber, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysSmsApi - factory interface
+ * @export
+ */
+export const SysSmsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 鍙戦�佺煭淇� 馃摠
+         * @param {string} phoneNumber 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysSmsSendSmsPhoneNumberPost(phoneNumber: string, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysSmsApiFp(configuration).apiSysSmsSendSmsPhoneNumberPost(phoneNumber, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysSmsApi - object-oriented interface
+ * @export
+ * @class SysSmsApi
+ * @extends {BaseAPI}
+ */
+export class SysSmsApi extends BaseAPI {
+    /**
+     * 
+     * @summary 鍙戦�佺煭淇� 馃摠
+     * @param {string} phoneNumber 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysSmsApi
+     */
+    public async apiSysSmsSendSmsPhoneNumberPost(phoneNumber: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysSmsApiFp(this.configuration).apiSysSmsSendSmsPhoneNumberPost(phoneNumber, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-tenant-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-tenant-api.ts
new file mode 100644
index 0000000..d415f63
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-tenant-api.ts
@@ -0,0 +1,897 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddTenantInput } from '../models';
+import { AdminResultInt32 } from '../models';
+import { AdminResultListInt64 } from '../models';
+import { AdminResultListSysUser } from '../models';
+import { AdminResultSqlSugarPagedListTenantOutput } from '../models';
+import { AdminResultString } from '../models';
+import { DeleteTenantInput } from '../models';
+import { PageTenantInput } from '../models';
+import { RoleMenuInput } from '../models';
+import { TenantIdInput } from '../models';
+import { TenantInput } from '../models';
+import { TenantUserInput } from '../models';
+import { UpdateTenantInput } from '../models';
+/**
+ * SysTenantApi - axios parameter creator
+ * @export
+ */
+export const SysTenantApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞绉熸埛 馃敄
+         * @param {AddTenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysTenantAddPost: async (body?: AddTenantInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysTenant/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒涘缓绉熸埛鏁版嵁搴� 馃敄
+         * @param {TenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysTenantCreateDbPost: async (body?: TenantInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysTenant/createDb`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎绉熸埛 馃敄
+         * @param {DeleteTenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysTenantDeletePost: async (body?: DeleteTenantInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysTenant/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鎺堟潈绉熸埛绠$悊鍛樿鑹茶彍鍗� 馃敄
+         * @param {RoleMenuInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysTenantGrantMenuPost: async (body?: RoleMenuInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysTenant/grantMenu`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绉熸埛绠$悊鍛樿鑹叉嫢鏈夎彍鍗旾d闆嗗悎 馃敄
+         * @param {number} [userId] 鐢ㄦ埛Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysTenantOwnMenuListGet: async (userId?: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysTenant/ownMenuList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (userId !== undefined) {
+                localVarQueryParameter['UserId'] = userId;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绉熸埛鍒嗛〉鍒楄〃 馃敄
+         * @param {PageTenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysTenantPagePost: async (body?: PageTenantInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysTenant/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 閲嶇疆绉熸埛绠$悊鍛樺瘑鐮� 馃敄
+         * @param {TenantUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysTenantResetPwdPost: async (body?: TenantUserInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysTenant/resetPwd`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 璁剧疆绉熸埛鐘舵�� 馃敄
+         * @param {TenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysTenantSetStatusPost: async (body?: TenantInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysTenant/setStatus`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊绉熸埛 馃敄
+         * @param {UpdateTenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysTenantUpdatePost: async (body?: UpdateTenantInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysTenant/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绉熸埛涓嬬殑鐢ㄦ埛鍒楄〃 馃敄
+         * @param {TenantIdInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysTenantUserListPost: async (body?: TenantIdInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysTenant/userList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysTenantApi - functional programming interface
+ * @export
+ */
+export const SysTenantApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞绉熸埛 馃敄
+         * @param {AddTenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantAddPost(body?: AddTenantInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysTenantApiAxiosParamCreator(configuration).apiSysTenantAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒涘缓绉熸埛鏁版嵁搴� 馃敄
+         * @param {TenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantCreateDbPost(body?: TenantInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysTenantApiAxiosParamCreator(configuration).apiSysTenantCreateDbPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎绉熸埛 馃敄
+         * @param {DeleteTenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantDeletePost(body?: DeleteTenantInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysTenantApiAxiosParamCreator(configuration).apiSysTenantDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鎺堟潈绉熸埛绠$悊鍛樿鑹茶彍鍗� 馃敄
+         * @param {RoleMenuInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantGrantMenuPost(body?: RoleMenuInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysTenantApiAxiosParamCreator(configuration).apiSysTenantGrantMenuPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绉熸埛绠$悊鍛樿鑹叉嫢鏈夎彍鍗旾d闆嗗悎 馃敄
+         * @param {number} [userId] 鐢ㄦ埛Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantOwnMenuListGet(userId?: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListInt64>>> {
+            const localVarAxiosArgs = await SysTenantApiAxiosParamCreator(configuration).apiSysTenantOwnMenuListGet(userId, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绉熸埛鍒嗛〉鍒楄〃 馃敄
+         * @param {PageTenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantPagePost(body?: PageTenantInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListTenantOutput>>> {
+            const localVarAxiosArgs = await SysTenantApiAxiosParamCreator(configuration).apiSysTenantPagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 閲嶇疆绉熸埛绠$悊鍛樺瘑鐮� 馃敄
+         * @param {TenantUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantResetPwdPost(body?: TenantUserInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultString>>> {
+            const localVarAxiosArgs = await SysTenantApiAxiosParamCreator(configuration).apiSysTenantResetPwdPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 璁剧疆绉熸埛鐘舵�� 馃敄
+         * @param {TenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantSetStatusPost(body?: TenantInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultInt32>>> {
+            const localVarAxiosArgs = await SysTenantApiAxiosParamCreator(configuration).apiSysTenantSetStatusPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊绉熸埛 馃敄
+         * @param {UpdateTenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantUpdatePost(body?: UpdateTenantInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysTenantApiAxiosParamCreator(configuration).apiSysTenantUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绉熸埛涓嬬殑鐢ㄦ埛鍒楄〃 馃敄
+         * @param {TenantIdInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantUserListPost(body?: TenantIdInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysUser>>> {
+            const localVarAxiosArgs = await SysTenantApiAxiosParamCreator(configuration).apiSysTenantUserListPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysTenantApi - factory interface
+ * @export
+ */
+export const SysTenantApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞绉熸埛 馃敄
+         * @param {AddTenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantAddPost(body?: AddTenantInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysTenantApiFp(configuration).apiSysTenantAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒涘缓绉熸埛鏁版嵁搴� 馃敄
+         * @param {TenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantCreateDbPost(body?: TenantInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysTenantApiFp(configuration).apiSysTenantCreateDbPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎绉熸埛 馃敄
+         * @param {DeleteTenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantDeletePost(body?: DeleteTenantInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysTenantApiFp(configuration).apiSysTenantDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鎺堟潈绉熸埛绠$悊鍛樿鑹茶彍鍗� 馃敄
+         * @param {RoleMenuInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantGrantMenuPost(body?: RoleMenuInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysTenantApiFp(configuration).apiSysTenantGrantMenuPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绉熸埛绠$悊鍛樿鑹叉嫢鏈夎彍鍗旾d闆嗗悎 馃敄
+         * @param {number} [userId] 鐢ㄦ埛Id
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantOwnMenuListGet(userId?: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListInt64>> {
+            return SysTenantApiFp(configuration).apiSysTenantOwnMenuListGet(userId, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绉熸埛鍒嗛〉鍒楄〃 馃敄
+         * @param {PageTenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantPagePost(body?: PageTenantInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListTenantOutput>> {
+            return SysTenantApiFp(configuration).apiSysTenantPagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 閲嶇疆绉熸埛绠$悊鍛樺瘑鐮� 馃敄
+         * @param {TenantUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantResetPwdPost(body?: TenantUserInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultString>> {
+            return SysTenantApiFp(configuration).apiSysTenantResetPwdPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 璁剧疆绉熸埛鐘舵�� 馃敄
+         * @param {TenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantSetStatusPost(body?: TenantInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultInt32>> {
+            return SysTenantApiFp(configuration).apiSysTenantSetStatusPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊绉熸埛 馃敄
+         * @param {UpdateTenantInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantUpdatePost(body?: UpdateTenantInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysTenantApiFp(configuration).apiSysTenantUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇绉熸埛涓嬬殑鐢ㄦ埛鍒楄〃 馃敄
+         * @param {TenantIdInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysTenantUserListPost(body?: TenantIdInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysUser>> {
+            return SysTenantApiFp(configuration).apiSysTenantUserListPost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysTenantApi - object-oriented interface
+ * @export
+ * @class SysTenantApi
+ * @extends {BaseAPI}
+ */
+export class SysTenantApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞绉熸埛 馃敄
+     * @param {AddTenantInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysTenantApi
+     */
+    public async apiSysTenantAddPost(body?: AddTenantInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysTenantApiFp(this.configuration).apiSysTenantAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒涘缓绉熸埛鏁版嵁搴� 馃敄
+     * @param {TenantInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysTenantApi
+     */
+    public async apiSysTenantCreateDbPost(body?: TenantInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysTenantApiFp(this.configuration).apiSysTenantCreateDbPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎绉熸埛 馃敄
+     * @param {DeleteTenantInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysTenantApi
+     */
+    public async apiSysTenantDeletePost(body?: DeleteTenantInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysTenantApiFp(this.configuration).apiSysTenantDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鎺堟潈绉熸埛绠$悊鍛樿鑹茶彍鍗� 馃敄
+     * @param {RoleMenuInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysTenantApi
+     */
+    public async apiSysTenantGrantMenuPost(body?: RoleMenuInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysTenantApiFp(this.configuration).apiSysTenantGrantMenuPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇绉熸埛绠$悊鍛樿鑹叉嫢鏈夎彍鍗旾d闆嗗悎 馃敄
+     * @param {number} [userId] 鐢ㄦ埛Id
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysTenantApi
+     */
+    public async apiSysTenantOwnMenuListGet(userId?: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListInt64>> {
+        return SysTenantApiFp(this.configuration).apiSysTenantOwnMenuListGet(userId, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇绉熸埛鍒嗛〉鍒楄〃 馃敄
+     * @param {PageTenantInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysTenantApi
+     */
+    public async apiSysTenantPagePost(body?: PageTenantInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListTenantOutput>> {
+        return SysTenantApiFp(this.configuration).apiSysTenantPagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 閲嶇疆绉熸埛绠$悊鍛樺瘑鐮� 馃敄
+     * @param {TenantUserInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysTenantApi
+     */
+    public async apiSysTenantResetPwdPost(body?: TenantUserInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultString>> {
+        return SysTenantApiFp(this.configuration).apiSysTenantResetPwdPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 璁剧疆绉熸埛鐘舵�� 馃敄
+     * @param {TenantInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysTenantApi
+     */
+    public async apiSysTenantSetStatusPost(body?: TenantInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultInt32>> {
+        return SysTenantApiFp(this.configuration).apiSysTenantSetStatusPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊绉熸埛 馃敄
+     * @param {UpdateTenantInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysTenantApi
+     */
+    public async apiSysTenantUpdatePost(body?: UpdateTenantInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysTenantApiFp(this.configuration).apiSysTenantUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇绉熸埛涓嬬殑鐢ㄦ埛鍒楄〃 馃敄
+     * @param {TenantIdInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysTenantApi
+     */
+    public async apiSysTenantUserListPost(body?: TenantIdInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysUser>> {
+        return SysTenantApiFp(this.configuration).apiSysTenantUserListPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-user-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-user-api.ts
new file mode 100644
index 0000000..a9903c3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-user-api.ts
@@ -0,0 +1,1144 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddUserInput } from '../models';
+import { AdminResultInt32 } from '../models';
+import { AdminResultInt64 } from '../models';
+import { AdminResultListInt64 } from '../models';
+import { AdminResultListSysUserExtOrg } from '../models';
+import { AdminResultSqlSugarPagedListUserOutput } from '../models';
+import { AdminResultString } from '../models';
+import { AdminResultSysUser } from '../models';
+import { ChangePwdInput } from '../models';
+import { DeleteUserInput } from '../models';
+import { PageUserInput } from '../models';
+import { ResetPwdUserInput } from '../models';
+import { SysUser } from '../models';
+import { UnlockLoginInput } from '../models';
+import { UpdateUserInput } from '../models';
+import { UserInput } from '../models';
+import { UserRoleInput } from '../models';
+/**
+ * SysUserApi - axios parameter creator
+ * @export
+ */
+export const SysUserApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鐢ㄦ埛 馃敄
+         * @param {AddUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysUserAddPost: async (body?: AddUserInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysUser/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏌ョ湅鐢ㄦ埛鍩烘湰淇℃伅 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysUserBaseInfoGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysUser/baseInfo`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鐢ㄦ埛鍩烘湰淇℃伅 馃敄
+         * @param {SysUser} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysUserBaseInfoPost: async (body?: SysUser, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysUser/baseInfo`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 淇敼鐢ㄦ埛瀵嗙爜 馃敄
+         * @param {ChangePwdInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysUserChangePwdPost: async (body?: ChangePwdInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysUser/changePwd`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鐢ㄦ埛 馃敄
+         * @param {DeleteUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysUserDeletePost: async (body?: DeleteUserInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysUser/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鎺堟潈鐢ㄦ埛瑙掕壊 馃敄
+         * @param {UserRoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysUserGrantRolePost: async (body?: UserRoleInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysUser/grantRole`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐢ㄦ埛鎵╁睍鏈烘瀯闆嗗悎 馃敄
+         * @param {number} userId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysUserOwnExtOrgListUserIdGet: async (userId: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'userId' is not null or undefined
+            if (userId === null || userId === undefined) {
+                throw new RequiredError('userId','Required parameter userId was null or undefined when calling apiSysUserOwnExtOrgListUserIdGet.');
+            }
+            const localVarPath = `/api/sysUser/ownExtOrgList/{userId}`
+                .replace(`{${"userId"}}`, encodeURIComponent(String(userId)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐢ㄦ埛鎷ユ湁瑙掕壊闆嗗悎 馃敄
+         * @param {number} userId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysUserOwnRoleListUserIdGet: async (userId: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'userId' is not null or undefined
+            if (userId === null || userId === undefined) {
+                throw new RequiredError('userId','Required parameter userId was null or undefined when calling apiSysUserOwnRoleListUserIdGet.');
+            }
+            const localVarPath = `/api/sysUser/ownRoleList/{userId}`
+                .replace(`{${"userId"}}`, encodeURIComponent(String(userId)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐢ㄦ埛鍒嗛〉鍒楄〃 馃敄
+         * @param {PageUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysUserPagePost: async (body?: PageUserInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysUser/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 閲嶇疆鐢ㄦ埛瀵嗙爜 馃敄
+         * @param {ResetPwdUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysUserResetPwdPost: async (body?: ResetPwdUserInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysUser/resetPwd`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 璁剧疆鐢ㄦ埛鐘舵�� 馃敄
+         * @param {UserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysUserSetStatusPost: async (body?: UserInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysUser/setStatus`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 瑙i櫎鐧诲綍閿佸畾 馃敄
+         * @param {UnlockLoginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysUserUnlockLoginPost: async (body?: UnlockLoginInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysUser/unlockLogin`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鐢ㄦ埛 馃敄
+         * @param {UpdateUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysUserUpdatePost: async (body?: UpdateUserInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysUser/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysUserApi - functional programming interface
+ * @export
+ */
+export const SysUserApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鐢ㄦ埛 馃敄
+         * @param {AddUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserAddPost(body?: AddUserInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultInt64>>> {
+            const localVarAxiosArgs = await SysUserApiAxiosParamCreator(configuration).apiSysUserAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏌ョ湅鐢ㄦ埛鍩烘湰淇℃伅 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserBaseInfoGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysUser>>> {
+            const localVarAxiosArgs = await SysUserApiAxiosParamCreator(configuration).apiSysUserBaseInfoGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鐢ㄦ埛鍩烘湰淇℃伅 馃敄
+         * @param {SysUser} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserBaseInfoPost(body?: SysUser, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultInt32>>> {
+            const localVarAxiosArgs = await SysUserApiAxiosParamCreator(configuration).apiSysUserBaseInfoPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 淇敼鐢ㄦ埛瀵嗙爜 馃敄
+         * @param {ChangePwdInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserChangePwdPost(body?: ChangePwdInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultInt32>>> {
+            const localVarAxiosArgs = await SysUserApiAxiosParamCreator(configuration).apiSysUserChangePwdPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鐢ㄦ埛 馃敄
+         * @param {DeleteUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserDeletePost(body?: DeleteUserInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysUserApiAxiosParamCreator(configuration).apiSysUserDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鎺堟潈鐢ㄦ埛瑙掕壊 馃敄
+         * @param {UserRoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserGrantRolePost(body?: UserRoleInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysUserApiAxiosParamCreator(configuration).apiSysUserGrantRolePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐢ㄦ埛鎵╁睍鏈烘瀯闆嗗悎 馃敄
+         * @param {number} userId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserOwnExtOrgListUserIdGet(userId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysUserExtOrg>>> {
+            const localVarAxiosArgs = await SysUserApiAxiosParamCreator(configuration).apiSysUserOwnExtOrgListUserIdGet(userId, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐢ㄦ埛鎷ユ湁瑙掕壊闆嗗悎 馃敄
+         * @param {number} userId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserOwnRoleListUserIdGet(userId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListInt64>>> {
+            const localVarAxiosArgs = await SysUserApiAxiosParamCreator(configuration).apiSysUserOwnRoleListUserIdGet(userId, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐢ㄦ埛鍒嗛〉鍒楄〃 馃敄
+         * @param {PageUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserPagePost(body?: PageUserInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListUserOutput>>> {
+            const localVarAxiosArgs = await SysUserApiAxiosParamCreator(configuration).apiSysUserPagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 閲嶇疆鐢ㄦ埛瀵嗙爜 馃敄
+         * @param {ResetPwdUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserResetPwdPost(body?: ResetPwdUserInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultString>>> {
+            const localVarAxiosArgs = await SysUserApiAxiosParamCreator(configuration).apiSysUserResetPwdPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 璁剧疆鐢ㄦ埛鐘舵�� 馃敄
+         * @param {UserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserSetStatusPost(body?: UserInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultInt32>>> {
+            const localVarAxiosArgs = await SysUserApiAxiosParamCreator(configuration).apiSysUserSetStatusPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 瑙i櫎鐧诲綍閿佸畾 馃敄
+         * @param {UnlockLoginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserUnlockLoginPost(body?: UnlockLoginInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysUserApiAxiosParamCreator(configuration).apiSysUserUnlockLoginPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊鐢ㄦ埛 馃敄
+         * @param {UpdateUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserUpdatePost(body?: UpdateUserInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysUserApiAxiosParamCreator(configuration).apiSysUserUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysUserApi - factory interface
+ * @export
+ */
+export const SysUserApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞鐢ㄦ埛 馃敄
+         * @param {AddUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserAddPost(body?: AddUserInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultInt64>> {
+            return SysUserApiFp(configuration).apiSysUserAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏌ョ湅鐢ㄦ埛鍩烘湰淇℃伅 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserBaseInfoGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysUser>> {
+            return SysUserApiFp(configuration).apiSysUserBaseInfoGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊鐢ㄦ埛鍩烘湰淇℃伅 馃敄
+         * @param {SysUser} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserBaseInfoPost(body?: SysUser, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultInt32>> {
+            return SysUserApiFp(configuration).apiSysUserBaseInfoPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 淇敼鐢ㄦ埛瀵嗙爜 馃敄
+         * @param {ChangePwdInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserChangePwdPost(body?: ChangePwdInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultInt32>> {
+            return SysUserApiFp(configuration).apiSysUserChangePwdPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎鐢ㄦ埛 馃敄
+         * @param {DeleteUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserDeletePost(body?: DeleteUserInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysUserApiFp(configuration).apiSysUserDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鎺堟潈鐢ㄦ埛瑙掕壊 馃敄
+         * @param {UserRoleInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserGrantRolePost(body?: UserRoleInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysUserApiFp(configuration).apiSysUserGrantRolePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐢ㄦ埛鎵╁睍鏈烘瀯闆嗗悎 馃敄
+         * @param {number} userId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserOwnExtOrgListUserIdGet(userId: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysUserExtOrg>> {
+            return SysUserApiFp(configuration).apiSysUserOwnExtOrgListUserIdGet(userId, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐢ㄦ埛鎷ユ湁瑙掕壊闆嗗悎 馃敄
+         * @param {number} userId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserOwnRoleListUserIdGet(userId: number, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListInt64>> {
+            return SysUserApiFp(configuration).apiSysUserOwnRoleListUserIdGet(userId, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鐢ㄦ埛鍒嗛〉鍒楄〃 馃敄
+         * @param {PageUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserPagePost(body?: PageUserInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListUserOutput>> {
+            return SysUserApiFp(configuration).apiSysUserPagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 閲嶇疆鐢ㄦ埛瀵嗙爜 馃敄
+         * @param {ResetPwdUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserResetPwdPost(body?: ResetPwdUserInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultString>> {
+            return SysUserApiFp(configuration).apiSysUserResetPwdPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 璁剧疆鐢ㄦ埛鐘舵�� 馃敄
+         * @param {UserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserSetStatusPost(body?: UserInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultInt32>> {
+            return SysUserApiFp(configuration).apiSysUserSetStatusPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 瑙i櫎鐧诲綍閿佸畾 馃敄
+         * @param {UnlockLoginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserUnlockLoginPost(body?: UnlockLoginInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysUserApiFp(configuration).apiSysUserUnlockLoginPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊鐢ㄦ埛 馃敄
+         * @param {UpdateUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserUpdatePost(body?: UpdateUserInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysUserApiFp(configuration).apiSysUserUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysUserApi - object-oriented interface
+ * @export
+ * @class SysUserApi
+ * @extends {BaseAPI}
+ */
+export class SysUserApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞鐢ㄦ埛 馃敄
+     * @param {AddUserInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysUserApi
+     */
+    public async apiSysUserAddPost(body?: AddUserInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultInt64>> {
+        return SysUserApiFp(this.configuration).apiSysUserAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏌ョ湅鐢ㄦ埛鍩烘湰淇℃伅 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysUserApi
+     */
+    public async apiSysUserBaseInfoGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysUser>> {
+        return SysUserApiFp(this.configuration).apiSysUserBaseInfoGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊鐢ㄦ埛鍩烘湰淇℃伅 馃敄
+     * @param {SysUser} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysUserApi
+     */
+    public async apiSysUserBaseInfoPost(body?: SysUser, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultInt32>> {
+        return SysUserApiFp(this.configuration).apiSysUserBaseInfoPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 淇敼鐢ㄦ埛瀵嗙爜 馃敄
+     * @param {ChangePwdInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysUserApi
+     */
+    public async apiSysUserChangePwdPost(body?: ChangePwdInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultInt32>> {
+        return SysUserApiFp(this.configuration).apiSysUserChangePwdPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎鐢ㄦ埛 馃敄
+     * @param {DeleteUserInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysUserApi
+     */
+    public async apiSysUserDeletePost(body?: DeleteUserInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysUserApiFp(this.configuration).apiSysUserDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鎺堟潈鐢ㄦ埛瑙掕壊 馃敄
+     * @param {UserRoleInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysUserApi
+     */
+    public async apiSysUserGrantRolePost(body?: UserRoleInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysUserApiFp(this.configuration).apiSysUserGrantRolePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鐢ㄦ埛鎵╁睍鏈烘瀯闆嗗悎 馃敄
+     * @param {number} userId 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysUserApi
+     */
+    public async apiSysUserOwnExtOrgListUserIdGet(userId: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysUserExtOrg>> {
+        return SysUserApiFp(this.configuration).apiSysUserOwnExtOrgListUserIdGet(userId, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鐢ㄦ埛鎷ユ湁瑙掕壊闆嗗悎 馃敄
+     * @param {number} userId 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysUserApi
+     */
+    public async apiSysUserOwnRoleListUserIdGet(userId: number, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListInt64>> {
+        return SysUserApiFp(this.configuration).apiSysUserOwnRoleListUserIdGet(userId, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鐢ㄦ埛鍒嗛〉鍒楄〃 馃敄
+     * @param {PageUserInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysUserApi
+     */
+    public async apiSysUserPagePost(body?: PageUserInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListUserOutput>> {
+        return SysUserApiFp(this.configuration).apiSysUserPagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 閲嶇疆鐢ㄦ埛瀵嗙爜 馃敄
+     * @param {ResetPwdUserInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysUserApi
+     */
+    public async apiSysUserResetPwdPost(body?: ResetPwdUserInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultString>> {
+        return SysUserApiFp(this.configuration).apiSysUserResetPwdPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 璁剧疆鐢ㄦ埛鐘舵�� 馃敄
+     * @param {UserInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysUserApi
+     */
+    public async apiSysUserSetStatusPost(body?: UserInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultInt32>> {
+        return SysUserApiFp(this.configuration).apiSysUserSetStatusPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 瑙i櫎鐧诲綍閿佸畾 馃敄
+     * @param {UnlockLoginInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysUserApi
+     */
+    public async apiSysUserUnlockLoginPost(body?: UnlockLoginInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysUserApiFp(this.configuration).apiSysUserUnlockLoginPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊鐢ㄦ埛 馃敄
+     * @param {UpdateUserInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysUserApi
+     */
+    public async apiSysUserUpdatePost(body?: UpdateUserInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysUserApiFp(this.configuration).apiSysUserUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-wechat-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-wechat-api.ts
new file mode 100644
index 0000000..262dd03
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-wechat-api.ts
@@ -0,0 +1,638 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultObject } from '../models';
+import { AdminResultString } from '../models';
+import { DeleteMessageTemplateInput } from '../models';
+import { GenAuthUrlInput } from '../models';
+import { MessageTemplateSendInput } from '../models';
+import { SignatureInput } from '../models';
+import { WechatUserLogin } from '../models';
+/**
+ * SysWechatApi - axios parameter creator
+ * @export
+ */
+export const SysWechatApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鍒犻櫎妯℃澘 馃敄
+         * @param {DeleteMessageTemplateInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWechatDeleteMessageTemplatePost: async (body?: DeleteMessageTemplateInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWechat/deleteMessageTemplate`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鐢熸垚缃戦〉鎺堟潈Url 馃敄
+         * @param {GenAuthUrlInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWechatGenAuthUrlPost: async (body?: GenAuthUrlInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWechat/genAuthUrl`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇閰嶇疆绛惧悕鍙傛暟(wx.config) 馃敄
+         * @param {SignatureInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWechatGenConfigParaPost: async (body?: SignatureInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWechat/genConfigPara`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇妯℃澘鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWechatMessageTemplateListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWechat/messageTemplateList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 寰俊鐢ㄦ埛鐧诲綍OpenId 馃敄
+         * @param {WechatUserLogin} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWechatOpenIdLoginPost: async (body?: WechatUserLogin, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWechat/openIdLogin`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍙戦�佹ā鏉挎秷鎭� 馃敄
+         * @param {MessageTemplateSendInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWechatSendTemplateMessagePost: async (body?: MessageTemplateSendInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWechat/sendTemplateMessage`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寰俊鐢ㄦ埛OpenId 馃敄
+         * @param {string} code Code
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWechatSnsOAuth2Post: async (code: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'code' is not null or undefined
+            if (code === null || code === undefined) {
+                throw new RequiredError('code','Required parameter code was null or undefined when calling apiSysWechatSnsOAuth2Post.');
+            }
+            const localVarPath = `/api/sysWechat/snsOAuth2`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (code !== undefined) {
+                localVarQueryParameter['Code'] = code;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysWechatApi - functional programming interface
+ * @export
+ */
+export const SysWechatApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鍒犻櫎妯℃澘 馃敄
+         * @param {DeleteMessageTemplateInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatDeleteMessageTemplatePost(body?: DeleteMessageTemplateInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysWechatApiAxiosParamCreator(configuration).apiSysWechatDeleteMessageTemplatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鐢熸垚缃戦〉鎺堟潈Url 馃敄
+         * @param {GenAuthUrlInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatGenAuthUrlPost(body?: GenAuthUrlInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultString>>> {
+            const localVarAxiosArgs = await SysWechatApiAxiosParamCreator(configuration).apiSysWechatGenAuthUrlPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇閰嶇疆绛惧悕鍙傛暟(wx.config) 馃敄
+         * @param {SignatureInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatGenConfigParaPost(body?: SignatureInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysWechatApiAxiosParamCreator(configuration).apiSysWechatGenConfigParaPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇妯℃澘鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatMessageTemplateListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysWechatApiAxiosParamCreator(configuration).apiSysWechatMessageTemplateListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 寰俊鐢ㄦ埛鐧诲綍OpenId 馃敄
+         * @param {WechatUserLogin} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatOpenIdLoginPost(body?: WechatUserLogin, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysWechatApiAxiosParamCreator(configuration).apiSysWechatOpenIdLoginPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍙戦�佹ā鏉挎秷鎭� 馃敄
+         * @param {MessageTemplateSendInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatSendTemplateMessagePost(body?: MessageTemplateSendInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysWechatApiAxiosParamCreator(configuration).apiSysWechatSendTemplateMessagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寰俊鐢ㄦ埛OpenId 馃敄
+         * @param {string} code Code
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatSnsOAuth2Post(code: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultString>>> {
+            const localVarAxiosArgs = await SysWechatApiAxiosParamCreator(configuration).apiSysWechatSnsOAuth2Post(code, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysWechatApi - factory interface
+ * @export
+ */
+export const SysWechatApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 鍒犻櫎妯℃澘 馃敄
+         * @param {DeleteMessageTemplateInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatDeleteMessageTemplatePost(body?: DeleteMessageTemplateInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysWechatApiFp(configuration).apiSysWechatDeleteMessageTemplatePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鐢熸垚缃戦〉鎺堟潈Url 馃敄
+         * @param {GenAuthUrlInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatGenAuthUrlPost(body?: GenAuthUrlInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultString>> {
+            return SysWechatApiFp(configuration).apiSysWechatGenAuthUrlPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇閰嶇疆绛惧悕鍙傛暟(wx.config) 馃敄
+         * @param {SignatureInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatGenConfigParaPost(body?: SignatureInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysWechatApiFp(configuration).apiSysWechatGenConfigParaPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇妯℃澘鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatMessageTemplateListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysWechatApiFp(configuration).apiSysWechatMessageTemplateListGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 寰俊鐢ㄦ埛鐧诲綍OpenId 馃敄
+         * @param {WechatUserLogin} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatOpenIdLoginPost(body?: WechatUserLogin, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysWechatApiFp(configuration).apiSysWechatOpenIdLoginPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍙戦�佹ā鏉挎秷鎭� 馃敄
+         * @param {MessageTemplateSendInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatSendTemplateMessagePost(body?: MessageTemplateSendInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysWechatApiFp(configuration).apiSysWechatSendTemplateMessagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寰俊鐢ㄦ埛OpenId 馃敄
+         * @param {string} code Code
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatSnsOAuth2Post(code: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultString>> {
+            return SysWechatApiFp(configuration).apiSysWechatSnsOAuth2Post(code, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysWechatApi - object-oriented interface
+ * @export
+ * @class SysWechatApi
+ * @extends {BaseAPI}
+ */
+export class SysWechatApi extends BaseAPI {
+    /**
+     * 
+     * @summary 鍒犻櫎妯℃澘 馃敄
+     * @param {DeleteMessageTemplateInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWechatApi
+     */
+    public async apiSysWechatDeleteMessageTemplatePost(body?: DeleteMessageTemplateInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysWechatApiFp(this.configuration).apiSysWechatDeleteMessageTemplatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鐢熸垚缃戦〉鎺堟潈Url 馃敄
+     * @param {GenAuthUrlInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWechatApi
+     */
+    public async apiSysWechatGenAuthUrlPost(body?: GenAuthUrlInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultString>> {
+        return SysWechatApiFp(this.configuration).apiSysWechatGenAuthUrlPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇閰嶇疆绛惧悕鍙傛暟(wx.config) 馃敄
+     * @param {SignatureInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWechatApi
+     */
+    public async apiSysWechatGenConfigParaPost(body?: SignatureInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysWechatApiFp(this.configuration).apiSysWechatGenConfigParaPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇妯℃澘鍒楄〃 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWechatApi
+     */
+    public async apiSysWechatMessageTemplateListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysWechatApiFp(this.configuration).apiSysWechatMessageTemplateListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 寰俊鐢ㄦ埛鐧诲綍OpenId 馃敄
+     * @param {WechatUserLogin} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWechatApi
+     */
+    public async apiSysWechatOpenIdLoginPost(body?: WechatUserLogin, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysWechatApiFp(this.configuration).apiSysWechatOpenIdLoginPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍙戦�佹ā鏉挎秷鎭� 馃敄
+     * @param {MessageTemplateSendInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWechatApi
+     */
+    public async apiSysWechatSendTemplateMessagePost(body?: MessageTemplateSendInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysWechatApiFp(this.configuration).apiSysWechatSendTemplateMessagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇寰俊鐢ㄦ埛OpenId 馃敄
+     * @param {string} code Code
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWechatApi
+     */
+    public async apiSysWechatSnsOAuth2Post(code: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultString>> {
+        return SysWechatApiFp(this.configuration).apiSysWechatSnsOAuth2Post(code, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-wechat-pay-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-wechat-pay-api.ts
new file mode 100644
index 0000000..2bb91d9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-wechat-pay-api.ts
@@ -0,0 +1,542 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultObject } from '../models';
+import { AdminResultSysWechatPay } from '../models';
+import { AdminResultWechatPayOutput } from '../models';
+import { WechatPayParaInput } from '../models';
+import { WechatPayTransactionInput } from '../models';
+/**
+ * SysWechatPayApi - axios parameter creator
+ * @export
+ */
+export const SysWechatPayApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鐢熸垚JSAPI璋冭捣鏀粯鎵�闇�鍙傛暟 馃敄
+         * @param {WechatPayParaInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWechatPayGenerateParametersForJsapiPayPost: async (body?: WechatPayParaInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWechatPay/generateParametersForJsapiPay`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 寰俊鏀粯鎴愬姛鍥炶皟(鍟嗘埛鐩磋繛) 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWechatPayPayCallBackPost: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWechatPay/payCallBack`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏀粯璁㈠崟璇︽儏 馃敄
+         * @param {string} tradeId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWechatPayPayInfoTradeIdGet: async (tradeId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'tradeId' is not null or undefined
+            if (tradeId === null || tradeId === undefined) {
+                throw new RequiredError('tradeId','Required parameter tradeId was null or undefined when calling apiSysWechatPayPayInfoTradeIdGet.');
+            }
+            const localVarPath = `/api/sysWechatPay/payInfo/{tradeId}`
+                .replace(`{${"tradeId"}}`, encodeURIComponent(String(tradeId)));
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 寰俊鏀粯鎴愬姛鍥炶皟(鏈嶅姟鍟嗘ā寮�) 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWechatPayPayPartnerCallBackPost: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWechatPay/payPartnerCallBack`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 寰俊鏀粯缁熶竴涓嬪崟鑾峰彇Id(鏈嶅姟鍟嗘ā寮�) 馃敄
+         * @param {WechatPayTransactionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWechatPayPayPartnerTransactionPost: async (body?: WechatPayTransactionInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWechatPay/payPartnerTransaction`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 寰俊鏀粯缁熶竴涓嬪崟鑾峰彇Id(鍟嗘埛鐩磋繛) 馃敄
+         * @param {WechatPayTransactionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWechatPayPayTransactionPost: async (body?: WechatPayTransactionInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWechatPay/payTransaction`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysWechatPayApi - functional programming interface
+ * @export
+ */
+export const SysWechatPayApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 鐢熸垚JSAPI璋冭捣鏀粯鎵�闇�鍙傛暟 馃敄
+         * @param {WechatPayParaInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatPayGenerateParametersForJsapiPayPost(body?: WechatPayParaInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysWechatPayApiAxiosParamCreator(configuration).apiSysWechatPayGenerateParametersForJsapiPayPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 寰俊鏀粯鎴愬姛鍥炶皟(鍟嗘埛鐩磋繛) 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatPayPayCallBackPost(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultWechatPayOutput>>> {
+            const localVarAxiosArgs = await SysWechatPayApiAxiosParamCreator(configuration).apiSysWechatPayPayCallBackPost(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏀粯璁㈠崟璇︽儏 馃敄
+         * @param {string} tradeId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatPayPayInfoTradeIdGet(tradeId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysWechatPay>>> {
+            const localVarAxiosArgs = await SysWechatPayApiAxiosParamCreator(configuration).apiSysWechatPayPayInfoTradeIdGet(tradeId, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 寰俊鏀粯鎴愬姛鍥炶皟(鏈嶅姟鍟嗘ā寮�) 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatPayPayPartnerCallBackPost(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysWechatPayApiAxiosParamCreator(configuration).apiSysWechatPayPayPartnerCallBackPost(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 寰俊鏀粯缁熶竴涓嬪崟鑾峰彇Id(鏈嶅姟鍟嗘ā寮�) 馃敄
+         * @param {WechatPayTransactionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatPayPayPartnerTransactionPost(body?: WechatPayTransactionInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysWechatPayApiAxiosParamCreator(configuration).apiSysWechatPayPayPartnerTransactionPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 寰俊鏀粯缁熶竴涓嬪崟鑾峰彇Id(鍟嗘埛鐩磋繛) 馃敄
+         * @param {WechatPayTransactionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatPayPayTransactionPost(body?: WechatPayTransactionInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysWechatPayApiAxiosParamCreator(configuration).apiSysWechatPayPayTransactionPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysWechatPayApi - factory interface
+ * @export
+ */
+export const SysWechatPayApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 鐢熸垚JSAPI璋冭捣鏀粯鎵�闇�鍙傛暟 馃敄
+         * @param {WechatPayParaInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatPayGenerateParametersForJsapiPayPost(body?: WechatPayParaInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysWechatPayApiFp(configuration).apiSysWechatPayGenerateParametersForJsapiPayPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 寰俊鏀粯鎴愬姛鍥炶皟(鍟嗘埛鐩磋繛) 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatPayPayCallBackPost(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultWechatPayOutput>> {
+            return SysWechatPayApiFp(configuration).apiSysWechatPayPayCallBackPost(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇鏀粯璁㈠崟璇︽儏 馃敄
+         * @param {string} tradeId 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatPayPayInfoTradeIdGet(tradeId: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysWechatPay>> {
+            return SysWechatPayApiFp(configuration).apiSysWechatPayPayInfoTradeIdGet(tradeId, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 寰俊鏀粯鎴愬姛鍥炶皟(鏈嶅姟鍟嗘ā寮�) 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatPayPayPartnerCallBackPost(options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysWechatPayApiFp(configuration).apiSysWechatPayPayPartnerCallBackPost(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 寰俊鏀粯缁熶竴涓嬪崟鑾峰彇Id(鏈嶅姟鍟嗘ā寮�) 馃敄
+         * @param {WechatPayTransactionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatPayPayPartnerTransactionPost(body?: WechatPayTransactionInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysWechatPayApiFp(configuration).apiSysWechatPayPayPartnerTransactionPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 寰俊鏀粯缁熶竴涓嬪崟鑾峰彇Id(鍟嗘埛鐩磋繛) 馃敄
+         * @param {WechatPayTransactionInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatPayPayTransactionPost(body?: WechatPayTransactionInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysWechatPayApiFp(configuration).apiSysWechatPayPayTransactionPost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysWechatPayApi - object-oriented interface
+ * @export
+ * @class SysWechatPayApi
+ * @extends {BaseAPI}
+ */
+export class SysWechatPayApi extends BaseAPI {
+    /**
+     * 
+     * @summary 鐢熸垚JSAPI璋冭捣鏀粯鎵�闇�鍙傛暟 馃敄
+     * @param {WechatPayParaInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWechatPayApi
+     */
+    public async apiSysWechatPayGenerateParametersForJsapiPayPost(body?: WechatPayParaInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysWechatPayApiFp(this.configuration).apiSysWechatPayGenerateParametersForJsapiPayPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 寰俊鏀粯鎴愬姛鍥炶皟(鍟嗘埛鐩磋繛) 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWechatPayApi
+     */
+    public async apiSysWechatPayPayCallBackPost(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultWechatPayOutput>> {
+        return SysWechatPayApiFp(this.configuration).apiSysWechatPayPayCallBackPost(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇鏀粯璁㈠崟璇︽儏 馃敄
+     * @param {string} tradeId 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWechatPayApi
+     */
+    public async apiSysWechatPayPayInfoTradeIdGet(tradeId: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysWechatPay>> {
+        return SysWechatPayApiFp(this.configuration).apiSysWechatPayPayInfoTradeIdGet(tradeId, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 寰俊鏀粯鎴愬姛鍥炶皟(鏈嶅姟鍟嗘ā寮�) 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWechatPayApi
+     */
+    public async apiSysWechatPayPayPartnerCallBackPost(options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysWechatPayApiFp(this.configuration).apiSysWechatPayPayPartnerCallBackPost(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 寰俊鏀粯缁熶竴涓嬪崟鑾峰彇Id(鏈嶅姟鍟嗘ā寮�) 馃敄
+     * @param {WechatPayTransactionInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWechatPayApi
+     */
+    public async apiSysWechatPayPayPartnerTransactionPost(body?: WechatPayTransactionInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysWechatPayApiFp(this.configuration).apiSysWechatPayPayPartnerTransactionPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 寰俊鏀粯缁熶竴涓嬪崟鑾峰彇Id(鍟嗘埛鐩磋繛) 馃敄
+     * @param {WechatPayTransactionInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWechatPayApi
+     */
+    public async apiSysWechatPayPayTransactionPost(body?: WechatPayTransactionInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysWechatPayApiFp(this.configuration).apiSysWechatPayPayTransactionPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-wechat-user-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-wechat-user-api.ts
new file mode 100644
index 0000000..ac54914
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-wechat-user-api.ts
@@ -0,0 +1,390 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AdminResultSqlSugarPagedListSysWechatUser } from '../models';
+import { DeleteWechatUserInput } from '../models';
+import { SysWechatUser } from '../models';
+import { WechatUserInput } from '../models';
+/**
+ * SysWechatUserApi - axios parameter creator
+ * @export
+ */
+export const SysWechatUserApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞寰俊鐢ㄦ埛 馃敄
+         * @param {SysWechatUser} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWechatUserAddPost: async (body?: SysWechatUser, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWechatUser/add`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎寰俊鐢ㄦ埛 馃敄
+         * @param {DeleteWechatUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWechatUserDeletePost: async (body?: DeleteWechatUserInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWechatUser/delete`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寰俊鐢ㄦ埛鍒楄〃 馃敄
+         * @param {WechatUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWechatUserPagePost: async (body?: WechatUserInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWechatUser/page`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊寰俊鐢ㄦ埛 馃敄
+         * @param {SysWechatUser} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWechatUserUpdatePost: async (body?: SysWechatUser, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWechatUser/update`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysWechatUserApi - functional programming interface
+ * @export
+ */
+export const SysWechatUserApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞寰俊鐢ㄦ埛 馃敄
+         * @param {SysWechatUser} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatUserAddPost(body?: SysWechatUser, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysWechatUserApiAxiosParamCreator(configuration).apiSysWechatUserAddPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎寰俊鐢ㄦ埛 馃敄
+         * @param {DeleteWechatUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatUserDeletePost(body?: DeleteWechatUserInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysWechatUserApiAxiosParamCreator(configuration).apiSysWechatUserDeletePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寰俊鐢ㄦ埛鍒楄〃 馃敄
+         * @param {WechatUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatUserPagePost(body?: WechatUserInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysWechatUser>>> {
+            const localVarAxiosArgs = await SysWechatUserApiAxiosParamCreator(configuration).apiSysWechatUserPagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鏇存柊寰俊鐢ㄦ埛 馃敄
+         * @param {SysWechatUser} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatUserUpdatePost(body?: SysWechatUser, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysWechatUserApiAxiosParamCreator(configuration).apiSysWechatUserUpdatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysWechatUserApi - factory interface
+ * @export
+ */
+export const SysWechatUserApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞寰俊鐢ㄦ埛 馃敄
+         * @param {SysWechatUser} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatUserAddPost(body?: SysWechatUser, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysWechatUserApiFp(configuration).apiSysWechatUserAddPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍒犻櫎寰俊鐢ㄦ埛 馃敄
+         * @param {DeleteWechatUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatUserDeletePost(body?: DeleteWechatUserInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysWechatUserApiFp(configuration).apiSysWechatUserDeletePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寰俊鐢ㄦ埛鍒楄〃 馃敄
+         * @param {WechatUserInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatUserPagePost(body?: WechatUserInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysWechatUser>> {
+            return SysWechatUserApiFp(configuration).apiSysWechatUserPagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鏇存柊寰俊鐢ㄦ埛 馃敄
+         * @param {SysWechatUser} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWechatUserUpdatePost(body?: SysWechatUser, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysWechatUserApiFp(configuration).apiSysWechatUserUpdatePost(body, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysWechatUserApi - object-oriented interface
+ * @export
+ * @class SysWechatUserApi
+ * @extends {BaseAPI}
+ */
+export class SysWechatUserApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞寰俊鐢ㄦ埛 馃敄
+     * @param {SysWechatUser} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWechatUserApi
+     */
+    public async apiSysWechatUserAddPost(body?: SysWechatUser, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysWechatUserApiFp(this.configuration).apiSysWechatUserAddPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍒犻櫎寰俊鐢ㄦ埛 馃敄
+     * @param {DeleteWechatUserInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWechatUserApi
+     */
+    public async apiSysWechatUserDeletePost(body?: DeleteWechatUserInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysWechatUserApiFp(this.configuration).apiSysWechatUserDeletePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇寰俊鐢ㄦ埛鍒楄〃 馃敄
+     * @param {WechatUserInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWechatUserApi
+     */
+    public async apiSysWechatUserPagePost(body?: WechatUserInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysWechatUser>> {
+        return SysWechatUserApiFp(this.configuration).apiSysWechatUserPagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鏇存柊寰俊鐢ㄦ埛 馃敄
+     * @param {SysWechatUser} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWechatUserApi
+     */
+    public async apiSysWechatUserUpdatePost(body?: SysWechatUser, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysWechatUserApiFp(this.configuration).apiSysWechatUserUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-wx-open-api.ts b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-wx-open-api.ts
new file mode 100644
index 0000000..04e39e1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/apis/sys-wx-open-api.ts
@@ -0,0 +1,570 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
+import { Configuration } from '../configuration';
+// Some imports not used depending on template conditions
+// @ts-ignore
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
+import { AddSubscribeMessageTemplateInput } from '../models';
+import { AdminResultObject } from '../models';
+import { AdminResultWxOpenIdOutput } from '../models';
+import { AdminResultWxPhoneOutput } from '../models';
+import { SendSubscribeMessageInput } from '../models';
+import { WxOpenIdLoginInput } from '../models';
+/**
+ * SysWxOpenApi - axios parameter creator
+ * @export
+ */
+export const SysWxOpenApiAxiosParamCreator = function (configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞璁㈤槄娑堟伅妯℃澘 馃敄
+         * @param {AddSubscribeMessageTemplateInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWxOpenAddSubscribeMessageTemplatePost: async (body?: AddSubscribeMessageTemplateInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWxOpen/addSubscribeMessageTemplate`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇璁㈤槄娑堟伅妯℃澘鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWxOpenMessageTemplateListGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWxOpen/messageTemplateList`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鍙戦�佽闃呮秷鎭� 馃敄
+         * @param {SendSubscribeMessageInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWxOpenSendSubscribeMessagePost: async (body?: SendSubscribeMessageInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWxOpen/sendSubscribeMessage`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寰俊鐢ㄦ埛OpenId 馃敄
+         * @param {string} jsCode JsCode
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWxOpenWxOpenIdGet: async (jsCode: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'jsCode' is not null or undefined
+            if (jsCode === null || jsCode === undefined) {
+                throw new RequiredError('jsCode','Required parameter jsCode was null or undefined when calling apiSysWxOpenWxOpenIdGet.');
+            }
+            const localVarPath = `/api/sysWxOpen/wxOpenId`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (jsCode !== undefined) {
+                localVarQueryParameter['JsCode'] = jsCode;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 寰俊灏忕▼搴忕櫥褰昈penId 馃敄
+         * @param {WxOpenIdLoginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWxOpenWxOpenIdLoginPost: async (body?: WxOpenIdLoginInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysWxOpen/wxOpenIdLogin`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寰俊鐢ㄦ埛鐢佃瘽鍙风爜 馃敄
+         * @param {string} code Code
+         * @param {string} openId OpenId
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysWxOpenWxPhoneGet: async (code: string, openId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'code' is not null or undefined
+            if (code === null || code === undefined) {
+                throw new RequiredError('code','Required parameter code was null or undefined when calling apiSysWxOpenWxPhoneGet.');
+            }
+            // verify required parameter 'openId' is not null or undefined
+            if (openId === null || openId === undefined) {
+                throw new RequiredError('openId','Required parameter openId was null or undefined when calling apiSysWxOpenWxPhoneGet.');
+            }
+            const localVarPath = `/api/sysWxOpen/wxPhone`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            if (code !== undefined) {
+                localVarQueryParameter['Code'] = code;
+            }
+
+            if (openId !== undefined) {
+                localVarQueryParameter['OpenId'] = openId;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+    }
+};
+
+/**
+ * SysWxOpenApi - functional programming interface
+ * @export
+ */
+export const SysWxOpenApiFp = function(configuration?: Configuration) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞璁㈤槄娑堟伅妯℃澘 馃敄
+         * @param {AddSubscribeMessageTemplateInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWxOpenAddSubscribeMessageTemplatePost(body?: AddSubscribeMessageTemplateInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysWxOpenApiAxiosParamCreator(configuration).apiSysWxOpenAddSubscribeMessageTemplatePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇璁㈤槄娑堟伅妯℃澘鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWxOpenMessageTemplateListGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysWxOpenApiAxiosParamCreator(configuration).apiSysWxOpenMessageTemplateListGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鍙戦�佽闃呮秷鎭� 馃敄
+         * @param {SendSubscribeMessageInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWxOpenSendSubscribeMessagePost(body?: SendSubscribeMessageInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysWxOpenApiAxiosParamCreator(configuration).apiSysWxOpenSendSubscribeMessagePost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寰俊鐢ㄦ埛OpenId 馃敄
+         * @param {string} jsCode JsCode
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWxOpenWxOpenIdGet(jsCode: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultWxOpenIdOutput>>> {
+            const localVarAxiosArgs = await SysWxOpenApiAxiosParamCreator(configuration).apiSysWxOpenWxOpenIdGet(jsCode, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 寰俊灏忕▼搴忕櫥褰昈penId 馃敄
+         * @param {WxOpenIdLoginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWxOpenWxOpenIdLoginPost(body?: WxOpenIdLoginInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultObject>>> {
+            const localVarAxiosArgs = await SysWxOpenApiAxiosParamCreator(configuration).apiSysWxOpenWxOpenIdLoginPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寰俊鐢ㄦ埛鐢佃瘽鍙风爜 馃敄
+         * @param {string} code Code
+         * @param {string} openId OpenId
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWxOpenWxPhoneGet(code: string, openId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultWxPhoneOutput>>> {
+            const localVarAxiosArgs = await SysWxOpenApiAxiosParamCreator(configuration).apiSysWxOpenWxPhoneGet(code, openId, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
+    }
+};
+
+/**
+ * SysWxOpenApi - factory interface
+ * @export
+ */
+export const SysWxOpenApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
+    return {
+        /**
+         * 
+         * @summary 澧炲姞璁㈤槄娑堟伅妯℃澘 馃敄
+         * @param {AddSubscribeMessageTemplateInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWxOpenAddSubscribeMessageTemplatePost(body?: AddSubscribeMessageTemplateInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysWxOpenApiFp(configuration).apiSysWxOpenAddSubscribeMessageTemplatePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇璁㈤槄娑堟伅妯℃澘鍒楄〃 馃敄
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWxOpenMessageTemplateListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysWxOpenApiFp(configuration).apiSysWxOpenMessageTemplateListGet(options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鍙戦�佽闃呮秷鎭� 馃敄
+         * @param {SendSubscribeMessageInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWxOpenSendSubscribeMessagePost(body?: SendSubscribeMessageInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysWxOpenApiFp(configuration).apiSysWxOpenSendSubscribeMessagePost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寰俊鐢ㄦ埛OpenId 馃敄
+         * @param {string} jsCode JsCode
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWxOpenWxOpenIdGet(jsCode: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultWxOpenIdOutput>> {
+            return SysWxOpenApiFp(configuration).apiSysWxOpenWxOpenIdGet(jsCode, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 寰俊灏忕▼搴忕櫥褰昈penId 馃敄
+         * @param {WxOpenIdLoginInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWxOpenWxOpenIdLoginPost(body?: WxOpenIdLoginInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultObject>> {
+            return SysWxOpenApiFp(configuration).apiSysWxOpenWxOpenIdLoginPost(body, options).then((request) => request(axios, basePath));
+        },
+        /**
+         * 
+         * @summary 鑾峰彇寰俊鐢ㄦ埛鐢佃瘽鍙风爜 馃敄
+         * @param {string} code Code
+         * @param {string} openId OpenId
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysWxOpenWxPhoneGet(code: string, openId: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultWxPhoneOutput>> {
+            return SysWxOpenApiFp(configuration).apiSysWxOpenWxPhoneGet(code, openId, options).then((request) => request(axios, basePath));
+        },
+    };
+};
+
+/**
+ * SysWxOpenApi - object-oriented interface
+ * @export
+ * @class SysWxOpenApi
+ * @extends {BaseAPI}
+ */
+export class SysWxOpenApi extends BaseAPI {
+    /**
+     * 
+     * @summary 澧炲姞璁㈤槄娑堟伅妯℃澘 馃敄
+     * @param {AddSubscribeMessageTemplateInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWxOpenApi
+     */
+    public async apiSysWxOpenAddSubscribeMessageTemplatePost(body?: AddSubscribeMessageTemplateInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysWxOpenApiFp(this.configuration).apiSysWxOpenAddSubscribeMessageTemplatePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇璁㈤槄娑堟伅妯℃澘鍒楄〃 馃敄
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWxOpenApi
+     */
+    public async apiSysWxOpenMessageTemplateListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysWxOpenApiFp(this.configuration).apiSysWxOpenMessageTemplateListGet(options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鍙戦�佽闃呮秷鎭� 馃敄
+     * @param {SendSubscribeMessageInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWxOpenApi
+     */
+    public async apiSysWxOpenSendSubscribeMessagePost(body?: SendSubscribeMessageInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysWxOpenApiFp(this.configuration).apiSysWxOpenSendSubscribeMessagePost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇寰俊鐢ㄦ埛OpenId 馃敄
+     * @param {string} jsCode JsCode
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWxOpenApi
+     */
+    public async apiSysWxOpenWxOpenIdGet(jsCode: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultWxOpenIdOutput>> {
+        return SysWxOpenApiFp(this.configuration).apiSysWxOpenWxOpenIdGet(jsCode, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 寰俊灏忕▼搴忕櫥褰昈penId 馃敄
+     * @param {WxOpenIdLoginInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWxOpenApi
+     */
+    public async apiSysWxOpenWxOpenIdLoginPost(body?: WxOpenIdLoginInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultObject>> {
+        return SysWxOpenApiFp(this.configuration).apiSysWxOpenWxOpenIdLoginPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
+    /**
+     * 
+     * @summary 鑾峰彇寰俊鐢ㄦ埛鐢佃瘽鍙风爜 馃敄
+     * @param {string} code Code
+     * @param {string} openId OpenId
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysWxOpenApi
+     */
+    public async apiSysWxOpenWxPhoneGet(code: string, openId: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultWxPhoneOutput>> {
+        return SysWxOpenApiFp(this.configuration).apiSysWxOpenWxPhoneGet(code, openId, options).then((request) => request(this.axios, this.basePath));
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/base.ts b/LA24030_LuLiPackageLine_Web/src/api-services/base.ts
new file mode 100644
index 0000000..a12ce91
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/base.ts
@@ -0,0 +1,70 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { Configuration } from "./configuration";
+// Some imports not used depending on template conditions
+// @ts-ignore
+import globalAxios, { AxiosRequestConfig, AxiosInstance } from 'axios';
+
+export const BASE_PATH = "/".replace(/\/+$/, "");
+
+/**
+ *
+ * @export
+ */
+export const COLLECTION_FORMATS = {
+    csv: ",",
+    ssv: " ",
+    tsv: "\t",
+    pipes: "|",
+};
+
+/**
+ *
+ * @export
+ * @interface RequestArgs
+ */
+export interface RequestArgs {
+    url: string;
+    options: AxiosRequestConfig;
+}
+
+/**
+ *
+ * @export
+ * @class BaseAPI
+ */
+export class BaseAPI {
+    protected configuration: Configuration | undefined;
+
+    constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {
+        if (configuration) {
+            this.configuration = configuration;
+            this.basePath = configuration.basePath || this.basePath;
+        }
+    }
+};
+
+/**
+ *
+ * @export
+ * @class RequiredError
+ * @extends {Error}
+ */
+export class RequiredError extends Error {
+    name: "RequiredError" = "RequiredError";
+    constructor(public field: string, msg?: string) {
+        super(msg);
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/configuration.ts b/LA24030_LuLiPackageLine_Web/src/api-services/configuration.ts
new file mode 100644
index 0000000..9a28534
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/configuration.ts
@@ -0,0 +1,83 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+export interface ConfigurationParameters {
+    apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
+    username?: string;
+    password?: string;
+    accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
+    basePath?: string;
+    baseOptions?: any;
+}
+
+export class Configuration {
+
+    /**
+     * parameter for apiKey security
+     *
+     * @param name security name
+     * @memberof Configuration
+     */
+    apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
+
+    /**
+     * parameter for basic security
+     *
+     * @type {string}
+     * @memberof Configuration
+     */
+    username?: string;
+
+    /**
+     * parameter for basic security
+     *
+     * @type {string}
+     * @memberof Configuration
+     */
+    password?: string;
+
+    /**
+     * parameter for oauth2 security
+     *
+     * @param name security name
+     * @param scopes oauth2 scope
+     * @memberof Configuration
+     */
+    accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
+
+    /**
+     * override base path
+     *
+     * @type {string}
+     * @memberof Configuration
+     */
+    basePath?: string;
+
+    /**
+     * base options for axios calls
+     *
+     * @type {any}
+     * @memberof Configuration
+     */
+    baseOptions?: any;
+
+    constructor(param: ConfigurationParameters = {}) {
+        this.apiKey = param.apiKey;
+        this.username = param.username;
+        this.password = param.password;
+        this.accessToken = param.accessToken;
+        this.basePath = param.basePath;
+        this.baseOptions = param.baseOptions;
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/index.ts b/LA24030_LuLiPackageLine_Web/src/api-services/index.ts
new file mode 100644
index 0000000..43d4b63
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/index.ts
@@ -0,0 +1,18 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+export * from "./api";
+export * from "./configuration";
+export * from "./models";
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/account-type-enum.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/account-type-enum.ts
new file mode 100644
index 0000000..492aa8f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/account-type-enum.ts
@@ -0,0 +1,26 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 璐﹀彿绫诲瀷鏋氫妇<br />&nbsp;浼氬憳 Member = 666<br />&nbsp;鏅�氳处鍙� NormalUser = 777<br />&nbsp;绯荤粺绠$悊鍛� SysAdmin = 888<br />&nbsp;瓒呯骇绠$悊鍛� SuperAdmin = 999<br />
+ * @export
+ * @enum {string}
+ */
+export enum AccountTypeEnum {
+    NUMBER_666 = 666,
+    NUMBER_777 = 777,
+    NUMBER_888 = 888,
+    NUMBER_999 = 999
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-code-gen-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-code-gen-input.ts
new file mode 100644
index 0000000..041d0c7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-code-gen-input.ts
@@ -0,0 +1,190 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface AddCodeGenInput
+ */
+export interface AddCodeGenInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof AddCodeGenInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof AddCodeGenInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 绫诲悕
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    className?: string | null;
+
+    /**
+     * 鏄惁绉婚櫎琛ㄥ墠缂�
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    tablePrefix?: string | null;
+
+    /**
+     * 搴撳畾浣嶅櫒鍚�
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    configId?: string | null;
+
+    /**
+     * 鏁版嵁搴撳悕(淇濈暀瀛楁)
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    dbName?: string | null;
+
+    /**
+     * 鏁版嵁搴撶被鍨�
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    dbType?: string | null;
+
+    /**
+     * 鏁版嵁搴撻摼鎺�
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    connectionString?: string | null;
+
+    /**
+     * 鍔熻兘鍚嶏紙鏁版嵁搴撹〃鍚嶇О锛�
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    tableComment?: string | null;
+
+    /**
+     * 鑿滃崟搴旂敤鍒嗙被锛堝簲鐢ㄧ紪鍙凤級
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    menuApplication?: string | null;
+
+    /**
+     * 鏀寔鎵撳嵃绫诲瀷
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    printType?: string | null;
+
+    /**
+     * 鎵撳嵃妯$増鍚嶇О
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    printName?: string | null;
+
+    /**
+     * 鏁版嵁搴撹〃鍚�
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    tableName: string;
+
+    /**
+     * 涓氬姟鍚嶏紙涓氬姟浠g爜鍖呭悕绉帮級
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    busName: string;
+
+    /**
+     * 鍛藉悕绌洪棿
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    nameSpace: string;
+
+    /**
+     * 浣滆�呭鍚�
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    authorName: string;
+
+    /**
+     * 鐢熸垚鏂瑰紡
+     *
+     * @type {string}
+     * @memberof AddCodeGenInput
+     */
+    generateType: string;
+
+    /**
+     * 鑿滃崟鐖剁骇
+     *
+     * @type {number}
+     * @memberof AddCodeGenInput
+     */
+    menuPid: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-config-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-config-input.ts
new file mode 100644
index 0000000..1d1aee4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-config-input.ts
@@ -0,0 +1,141 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { YesNoEnum } from './yes-no-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface AddConfigInput
+ */
+export interface AddConfigInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof AddConfigInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddConfigInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddConfigInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof AddConfigInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof AddConfigInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof AddConfigInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof AddConfigInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof AddConfigInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof AddConfigInput
+     */
+    name: string;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof AddConfigInput
+     */
+    code?: string | null;
+
+    /**
+     * 灞炴�у��
+     *
+     * @type {string}
+     * @memberof AddConfigInput
+     */
+    value?: string | null;
+
+    /**
+     * @type {YesNoEnum}
+     * @memberof AddConfigInput
+     */
+    sysFlag?: YesNoEnum;
+
+    /**
+     * 鍒嗙粍缂栧彿
+     *
+     * @type {string}
+     * @memberof AddConfigInput
+     */
+    groupCode?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof AddConfigInput
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof AddConfigInput
+     */
+    remark?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-dict-data-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-dict-data-input.ts
new file mode 100644
index 0000000..e66af07
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-dict-data-input.ts
@@ -0,0 +1,173 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface AddDictDataInput
+ */
+export interface AddDictDataInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof AddDictDataInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddDictDataInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddDictDataInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof AddDictDataInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof AddDictDataInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof AddDictDataInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof AddDictDataInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof AddDictDataInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 瀛楀吀绫诲瀷Id
+     *
+     * @type {number}
+     * @memberof AddDictDataInput
+     */
+    dictTypeId?: number;
+
+    /**
+     * 鍊�
+     *
+     * @type {string}
+     * @memberof AddDictDataInput
+     */
+    value: string;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof AddDictDataInput
+     */
+    code: string;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof AddDictDataInput
+     */
+    name?: string | null;
+
+    /**
+     * 鏄剧ず鏍峰紡-鏍囩棰滆壊
+     *
+     * @type {string}
+     * @memberof AddDictDataInput
+     */
+    tagType?: string | null;
+
+    /**
+     * 鏄剧ず鏍峰紡-Style(鎺у埗鏄剧ず鏍峰紡)
+     *
+     * @type {string}
+     * @memberof AddDictDataInput
+     */
+    styleSetting?: string | null;
+
+    /**
+     * 鏄剧ず鏍峰紡-Class(鎺у埗鏄剧ず鏍峰紡)
+     *
+     * @type {string}
+     * @memberof AddDictDataInput
+     */
+    classSetting?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof AddDictDataInput
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof AddDictDataInput
+     */
+    remark?: string | null;
+
+    /**
+     * 鎷撳睍鏁版嵁(淇濆瓨涓氬姟鍔熻兘鐨勯厤缃」)
+     *
+     * @type {string}
+     * @memberof AddDictDataInput
+     */
+    extData?: string | null;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof AddDictDataInput
+     */
+    status?: StatusEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-dict-type-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-dict-type-input.ts
new file mode 100644
index 0000000..315e667
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-dict-type-input.ts
@@ -0,0 +1,134 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+import { SysDictData } from './sys-dict-data';
+ /**
+ * 
+ *
+ * @export
+ * @interface AddDictTypeInput
+ */
+export interface AddDictTypeInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof AddDictTypeInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddDictTypeInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddDictTypeInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof AddDictTypeInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof AddDictTypeInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof AddDictTypeInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof AddDictTypeInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof AddDictTypeInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof AddDictTypeInput
+     */
+    name: string;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof AddDictTypeInput
+     */
+    code: string;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof AddDictTypeInput
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof AddDictTypeInput
+     */
+    remark?: string | null;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof AddDictTypeInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 瀛楀吀鍊奸泦鍚�
+     *
+     * @type {Array<SysDictData>}
+     * @memberof AddDictTypeInput
+     */
+    children?: Array<SysDictData> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-job-detail-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-job-detail-input.ts
new file mode 100644
index 0000000..7748803
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-job-detail-input.ts
@@ -0,0 +1,117 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { JobCreateTypeEnum } from './job-create-type-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface AddJobDetailInput
+ */
+export interface AddJobDetailInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof AddJobDetailInput
+     */
+    id?: number;
+
+    /**
+     * 缁勫悕绉�
+     *
+     * @type {string}
+     * @memberof AddJobDetailInput
+     */
+    groupName?: string | null;
+
+    /**
+     * 浣滀笟绫诲瀷FullName
+     *
+     * @type {string}
+     * @memberof AddJobDetailInput
+     */
+    jobType?: string | null;
+
+    /**
+     * 绋嬪簭闆哊ame
+     *
+     * @type {string}
+     * @memberof AddJobDetailInput
+     */
+    assemblyName?: string | null;
+
+    /**
+     * 鎻忚堪淇℃伅
+     *
+     * @type {string}
+     * @memberof AddJobDetailInput
+     */
+    description?: string | null;
+
+    /**
+     * 鏄惁骞惰鎵ц
+     *
+     * @type {boolean}
+     * @memberof AddJobDetailInput
+     */
+    concurrent?: boolean;
+
+    /**
+     * 鏄惁鎵弿鐗规�цЕ鍙戝櫒
+     *
+     * @type {boolean}
+     * @memberof AddJobDetailInput
+     */
+    includeAnnotation?: boolean;
+
+    /**
+     * 棰濆鏁版嵁
+     *
+     * @type {string}
+     * @memberof AddJobDetailInput
+     */
+    properties?: string | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddJobDetailInput
+     */
+    updatedTime?: Date | null;
+
+    /**
+     * @type {JobCreateTypeEnum}
+     * @memberof AddJobDetailInput
+     */
+    createType?: JobCreateTypeEnum;
+
+    /**
+     * 鑴氭湰浠g爜
+     *
+     * @type {string}
+     * @memberof AddJobDetailInput
+     */
+    scriptCode?: string | null;
+
+    /**
+     * 浣滀笟Id
+     *
+     * @type {string}
+     * @memberof AddJobDetailInput
+     */
+    jobId: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-job-trigger-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-job-trigger-input.ts
new file mode 100644
index 0000000..35be696
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-job-trigger-input.ts
@@ -0,0 +1,197 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { TriggerStatus } from './trigger-status';
+ /**
+ * 
+ *
+ * @export
+ * @interface AddJobTriggerInput
+ */
+export interface AddJobTriggerInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof AddJobTriggerInput
+     */
+    id?: number;
+
+    /**
+     * 瑙﹀彂鍣ㄧ被鍨婩ullName
+     *
+     * @type {string}
+     * @memberof AddJobTriggerInput
+     */
+    triggerType?: string | null;
+
+    /**
+     * 绋嬪簭闆哊ame
+     *
+     * @type {string}
+     * @memberof AddJobTriggerInput
+     */
+    assemblyName?: string | null;
+
+    /**
+     * 鍙傛暟
+     *
+     * @type {string}
+     * @memberof AddJobTriggerInput
+     */
+    args?: string | null;
+
+    /**
+     * 鎻忚堪淇℃伅
+     *
+     * @type {string}
+     * @memberof AddJobTriggerInput
+     */
+    description?: string | null;
+
+    /**
+     * @type {TriggerStatus}
+     * @memberof AddJobTriggerInput
+     */
+    status?: TriggerStatus;
+
+    /**
+     * 璧峰鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddJobTriggerInput
+     */
+    startTime?: Date | null;
+
+    /**
+     * 缁撴潫鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddJobTriggerInput
+     */
+    endTime?: Date | null;
+
+    /**
+     * 鏈�杩戣繍琛屾椂闂�
+     *
+     * @type {Date}
+     * @memberof AddJobTriggerInput
+     */
+    lastRunTime?: Date | null;
+
+    /**
+     * 涓嬩竴娆¤繍琛屾椂闂�
+     *
+     * @type {Date}
+     * @memberof AddJobTriggerInput
+     */
+    nextRunTime?: Date | null;
+
+    /**
+     * 瑙﹀彂娆℃暟
+     *
+     * @type {number}
+     * @memberof AddJobTriggerInput
+     */
+    numberOfRuns?: number;
+
+    /**
+     * 鏈�澶цЕ鍙戞鏁帮紙0:涓嶉檺鍒讹紝n:N娆★級
+     *
+     * @type {number}
+     * @memberof AddJobTriggerInput
+     */
+    maxNumberOfRuns?: number;
+
+    /**
+     * 鍑洪敊娆℃暟
+     *
+     * @type {number}
+     * @memberof AddJobTriggerInput
+     */
+    numberOfErrors?: number;
+
+    /**
+     * 鏈�澶у嚭閿欐鏁帮紙0:涓嶉檺鍒讹紝n:N娆★級
+     *
+     * @type {number}
+     * @memberof AddJobTriggerInput
+     */
+    maxNumberOfErrors?: number;
+
+    /**
+     * 閲嶈瘯娆℃暟
+     *
+     * @type {number}
+     * @memberof AddJobTriggerInput
+     */
+    numRetries?: number;
+
+    /**
+     * 閲嶈瘯闂撮殧鏃堕棿锛坢s锛�
+     *
+     * @type {number}
+     * @memberof AddJobTriggerInput
+     */
+    retryTimeout?: number;
+
+    /**
+     * 鏄惁绔嬪嵆鍚姩
+     *
+     * @type {boolean}
+     * @memberof AddJobTriggerInput
+     */
+    startNow?: boolean;
+
+    /**
+     * 鏄惁鍚姩鏃舵墽琛屼竴娆�
+     *
+     * @type {boolean}
+     * @memberof AddJobTriggerInput
+     */
+    runOnStart?: boolean;
+
+    /**
+     * 鏄惁鍦ㄥ惎鍔ㄦ椂閲嶇疆鏈�澶цЕ鍙戞鏁扮瓑浜庝竴娆$殑浣滀笟
+     *
+     * @type {boolean}
+     * @memberof AddJobTriggerInput
+     */
+    resetOnlyOnce?: boolean;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddJobTriggerInput
+     */
+    updatedTime?: Date | null;
+
+    /**
+     * 浣滀笟Id
+     *
+     * @type {string}
+     * @memberof AddJobTriggerInput
+     */
+    jobId: string;
+
+    /**
+     * 瑙﹀彂鍣↖d
+     *
+     * @type {string}
+     * @memberof AddJobTriggerInput
+     */
+    triggerId: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-menu-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-menu-input.ts
new file mode 100644
index 0000000..569592c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-menu-input.ts
@@ -0,0 +1,229 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { MenuTypeEnum } from './menu-type-enum';
+import { StatusEnum } from './status-enum';
+import { SysMenu } from './sys-menu';
+ /**
+ * 
+ *
+ * @export
+ * @interface AddMenuInput
+ */
+export interface AddMenuInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof AddMenuInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddMenuInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddMenuInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof AddMenuInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof AddMenuInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof AddMenuInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof AddMenuInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof AddMenuInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鐖禝d
+     *
+     * @type {number}
+     * @memberof AddMenuInput
+     */
+    pid?: number;
+
+    /**
+     * @type {MenuTypeEnum}
+     * @memberof AddMenuInput
+     */
+    type?: MenuTypeEnum;
+
+    /**
+     * 璺敱鍚嶇О
+     *
+     * @type {string}
+     * @memberof AddMenuInput
+     */
+    name?: string | null;
+
+    /**
+     * 璺敱鍦板潃
+     *
+     * @type {string}
+     * @memberof AddMenuInput
+     */
+    path?: string | null;
+
+    /**
+     * 缁勪欢璺緞
+     *
+     * @type {string}
+     * @memberof AddMenuInput
+     */
+    component?: string | null;
+
+    /**
+     * 閲嶅畾鍚�
+     *
+     * @type {string}
+     * @memberof AddMenuInput
+     */
+    redirect?: string | null;
+
+    /**
+     * 鏉冮檺鏍囪瘑
+     *
+     * @type {string}
+     * @memberof AddMenuInput
+     */
+    permission?: string | null;
+
+    /**
+     * 鍥炬爣
+     *
+     * @type {string}
+     * @memberof AddMenuInput
+     */
+    icon?: string | null;
+
+    /**
+     * 鏄惁鍐呭祵
+     *
+     * @type {boolean}
+     * @memberof AddMenuInput
+     */
+    isIframe?: boolean;
+
+    /**
+     * 澶栭摼閾炬帴
+     *
+     * @type {string}
+     * @memberof AddMenuInput
+     */
+    outLink?: string | null;
+
+    /**
+     * 鏄惁闅愯棌
+     *
+     * @type {boolean}
+     * @memberof AddMenuInput
+     */
+    isHide?: boolean;
+
+    /**
+     * 鏄惁缂撳瓨
+     *
+     * @type {boolean}
+     * @memberof AddMenuInput
+     */
+    isKeepAlive?: boolean;
+
+    /**
+     * 鏄惁鍥哄畾
+     *
+     * @type {boolean}
+     * @memberof AddMenuInput
+     */
+    isAffix?: boolean;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof AddMenuInput
+     */
+    orderNo?: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof AddMenuInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof AddMenuInput
+     */
+    remark?: string | null;
+
+    /**
+     * 鑿滃崟瀛愰」
+     *
+     * @type {Array<SysMenu>}
+     * @memberof AddMenuInput
+     */
+    children?: Array<SysMenu> | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof AddMenuInput
+     */
+    title: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-notice-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-notice-input.ts
new file mode 100644
index 0000000..c1fe9f5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-notice-input.ts
@@ -0,0 +1,164 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { NoticeStatusEnum } from './notice-status-enum';
+import { NoticeTypeEnum } from './notice-type-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface AddNoticeInput
+ */
+export interface AddNoticeInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof AddNoticeInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddNoticeInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddNoticeInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof AddNoticeInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof AddNoticeInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof AddNoticeInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof AddNoticeInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof AddNoticeInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鏍囬
+     *
+     * @type {string}
+     * @memberof AddNoticeInput
+     */
+    title: string;
+
+    /**
+     * 鍐呭
+     *
+     * @type {string}
+     * @memberof AddNoticeInput
+     */
+    content: string;
+
+    /**
+     * @type {NoticeTypeEnum}
+     * @memberof AddNoticeInput
+     */
+    type?: NoticeTypeEnum;
+
+    /**
+     * 鍙戝竷浜篒d
+     *
+     * @type {number}
+     * @memberof AddNoticeInput
+     */
+    publicUserId?: number;
+
+    /**
+     * 鍙戝竷浜哄鍚�
+     *
+     * @type {string}
+     * @memberof AddNoticeInput
+     */
+    publicUserName?: string | null;
+
+    /**
+     * 鍙戝竷鏈烘瀯Id
+     *
+     * @type {number}
+     * @memberof AddNoticeInput
+     */
+    publicOrgId?: number;
+
+    /**
+     * 鍙戝竷鏈烘瀯鍚嶇О
+     *
+     * @type {string}
+     * @memberof AddNoticeInput
+     */
+    publicOrgName?: string | null;
+
+    /**
+     * 鍙戝竷鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddNoticeInput
+     */
+    publicTime?: Date | null;
+
+    /**
+     * 鎾ゅ洖鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddNoticeInput
+     */
+    cancelTime?: Date | null;
+
+    /**
+     * @type {NoticeStatusEnum}
+     * @memberof AddNoticeInput
+     */
+    status?: NoticeStatusEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-open-access-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-open-access-input.ts
new file mode 100644
index 0000000..afbdb01
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-open-access-input.ts
@@ -0,0 +1,118 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface AddOpenAccessInput
+ */
+export interface AddOpenAccessInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof AddOpenAccessInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddOpenAccessInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddOpenAccessInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof AddOpenAccessInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof AddOpenAccessInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof AddOpenAccessInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof AddOpenAccessInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof AddOpenAccessInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 缁戝畾绉熸埛Id
+     *
+     * @type {number}
+     * @memberof AddOpenAccessInput
+     */
+    bindTenantId?: number;
+
+    /**
+     * 韬唤鏍囪瘑
+     *
+     * @type {string}
+     * @memberof AddOpenAccessInput
+     */
+    accessKey: string;
+
+    /**
+     * 瀵嗛挜
+     *
+     * @type {string}
+     * @memberof AddOpenAccessInput
+     */
+    accessSecret: string;
+
+    /**
+     * 缁戝畾鐢ㄦ埛Id
+     *
+     * @type {number}
+     * @memberof AddOpenAccessInput
+     */
+    bindUserId: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-org-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-org-input.ts
new file mode 100644
index 0000000..aa5d732
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-org-input.ts
@@ -0,0 +1,182 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+import { SysOrg } from './sys-org';
+ /**
+ * 
+ *
+ * @export
+ * @interface AddOrgInput
+ */
+export interface AddOrgInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof AddOrgInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddOrgInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddOrgInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof AddOrgInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof AddOrgInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof AddOrgInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof AddOrgInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof AddOrgInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof AddOrgInput
+     */
+    tenantId?: number | null;
+
+    /**
+     * 鐖禝d
+     *
+     * @type {number}
+     * @memberof AddOrgInput
+     */
+    pid?: number;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof AddOrgInput
+     */
+    code?: string | null;
+
+    /**
+     * 绾у埆
+     *
+     * @type {number}
+     * @memberof AddOrgInput
+     */
+    level?: number | null;
+
+    /**
+     * 鏈烘瀯绫诲瀷-鏁版嵁瀛楀吀
+     *
+     * @type {string}
+     * @memberof AddOrgInput
+     */
+    type?: string | null;
+
+    /**
+     * 璐熻矗浜篒d
+     *
+     * @type {number}
+     * @memberof AddOrgInput
+     */
+    directorId?: number | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof AddOrgInput
+     */
+    orderNo?: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof AddOrgInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof AddOrgInput
+     */
+    remark?: string | null;
+
+    /**
+     * 鏈烘瀯瀛愰」
+     *
+     * @type {Array<SysOrg>}
+     * @memberof AddOrgInput
+     */
+    children?: Array<SysOrg> | null;
+
+    /**
+     * 鏄惁绂佹閫変腑
+     *
+     * @type {boolean}
+     * @memberof AddOrgInput
+     */
+    disabled?: boolean;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof AddOrgInput
+     */
+    name: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-plugin-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-plugin-input.ts
new file mode 100644
index 0000000..4561709
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-plugin-input.ts
@@ -0,0 +1,141 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface AddPluginInput
+ */
+export interface AddPluginInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof AddPluginInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddPluginInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddPluginInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof AddPluginInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof AddPluginInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof AddPluginInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof AddPluginInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof AddPluginInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof AddPluginInput
+     */
+    tenantId?: number | null;
+
+    /**
+     * C#浠g爜
+     *
+     * @type {string}
+     * @memberof AddPluginInput
+     */
+    csharpCode: string;
+
+    /**
+     * 绋嬪簭闆嗗悕绉�
+     *
+     * @type {string}
+     * @memberof AddPluginInput
+     */
+    assemblyName?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof AddPluginInput
+     */
+    orderNo?: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof AddPluginInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof AddPluginInput
+     */
+    remark?: string | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof AddPluginInput
+     */
+    name: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-pos-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-pos-input.ts
new file mode 100644
index 0000000..65c9094
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-pos-input.ts
@@ -0,0 +1,133 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface AddPosInput
+ */
+export interface AddPosInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof AddPosInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddPosInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddPosInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof AddPosInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof AddPosInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof AddPosInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof AddPosInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof AddPosInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof AddPosInput
+     */
+    tenantId?: number | null;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof AddPosInput
+     */
+    code?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof AddPosInput
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof AddPosInput
+     */
+    remark?: string | null;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof AddPosInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof AddPosInput
+     */
+    name: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-print-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-print-input.ts
new file mode 100644
index 0000000..848c079
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-print-input.ts
@@ -0,0 +1,133 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface AddPrintInput
+ */
+export interface AddPrintInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof AddPrintInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddPrintInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddPrintInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof AddPrintInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof AddPrintInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof AddPrintInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof AddPrintInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof AddPrintInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof AddPrintInput
+     */
+    tenantId?: number | null;
+
+    /**
+     * 鎵撳嵃妯℃澘
+     *
+     * @type {string}
+     * @memberof AddPrintInput
+     */
+    template: string;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof AddPrintInput
+     */
+    orderNo?: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof AddPrintInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof AddPrintInput
+     */
+    remark?: string | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof AddPrintInput
+     */
+    name: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-region-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-region-input.ts
new file mode 100644
index 0000000..d711dcf
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-region-input.ts
@@ -0,0 +1,143 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysRegion } from './sys-region';
+ /**
+ * 
+ *
+ * @export
+ * @interface AddRegionInput
+ */
+export interface AddRegionInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof AddRegionInput
+     */
+    id?: number;
+
+    /**
+     * 鐖禝d
+     *
+     * @type {number}
+     * @memberof AddRegionInput
+     */
+    pid?: number;
+
+    /**
+     * 绠�绉�
+     *
+     * @type {string}
+     * @memberof AddRegionInput
+     */
+    shortName?: string | null;
+
+    /**
+     * 缁勫悎鍚�
+     *
+     * @type {string}
+     * @memberof AddRegionInput
+     */
+    mergerName?: string | null;
+
+    /**
+     * 琛屾斂浠g爜
+     *
+     * @type {string}
+     * @memberof AddRegionInput
+     */
+    code?: string | null;
+
+    /**
+     * 閭斂缂栧彿
+     *
+     * @type {string}
+     * @memberof AddRegionInput
+     */
+    zipCode?: string | null;
+
+    /**
+     * 鍖哄彿
+     *
+     * @type {string}
+     * @memberof AddRegionInput
+     */
+    cityCode?: string | null;
+
+    /**
+     * 灞傜骇
+     *
+     * @type {number}
+     * @memberof AddRegionInput
+     */
+    level?: number;
+
+    /**
+     * 鎷奸煶
+     *
+     * @type {string}
+     * @memberof AddRegionInput
+     */
+    pinYin?: string | null;
+
+    /**
+     * 缁忓害
+     *
+     * @type {number}
+     * @memberof AddRegionInput
+     */
+    lng?: number;
+
+    /**
+     * 缁村害
+     *
+     * @type {number}
+     * @memberof AddRegionInput
+     */
+    lat?: number;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof AddRegionInput
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof AddRegionInput
+     */
+    remark?: string | null;
+
+    /**
+     * 鏈烘瀯瀛愰」
+     *
+     * @type {Array<SysRegion>}
+     * @memberof AddRegionInput
+     */
+    children?: Array<SysRegion> | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof AddRegionInput
+     */
+    name: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-role-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-role-input.ts
new file mode 100644
index 0000000..3f4c5e4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-role-input.ts
@@ -0,0 +1,148 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { DataScopeEnum } from './data-scope-enum';
+import { StatusEnum } from './status-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface AddRoleInput
+ */
+export interface AddRoleInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof AddRoleInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddRoleInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddRoleInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof AddRoleInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof AddRoleInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof AddRoleInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof AddRoleInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof AddRoleInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof AddRoleInput
+     */
+    tenantId?: number | null;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof AddRoleInput
+     */
+    code?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof AddRoleInput
+     */
+    orderNo?: number;
+
+    /**
+     * @type {DataScopeEnum}
+     * @memberof AddRoleInput
+     */
+    dataScope?: DataScopeEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof AddRoleInput
+     */
+    remark?: string | null;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof AddRoleInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof AddRoleInput
+     */
+    name: string;
+
+    /**
+     * 鑿滃崟Id闆嗗悎
+     *
+     * @type {Array<number>}
+     * @memberof AddRoleInput
+     */
+    menuIdList?: Array<number> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-subscribe-message-template-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-subscribe-message-template-input.ts
new file mode 100644
index 0000000..a771bcc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-subscribe-message-template-input.ts
@@ -0,0 +1,46 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 澧炲姞璁㈤槄娑堟伅妯℃澘
+ *
+ * @export
+ * @interface AddSubscribeMessageTemplateInput
+ */
+export interface AddSubscribeMessageTemplateInput {
+
+    /**
+     * 妯℃澘鏍囬Id
+     *
+     * @type {string}
+     * @memberof AddSubscribeMessageTemplateInput
+     */
+    templateTitleId: string;
+
+    /**
+     * 妯℃澘鍏抽敭璇嶅垪琛�,渚嬪 [3,5,4]
+     *
+     * @type {Array<number>}
+     * @memberof AddSubscribeMessageTemplateInput
+     */
+    keyworkIdList: Array<number>;
+
+    /**
+     * 鏈嶅姟鍦烘櫙鎻忚堪锛�15涓瓧浠ュ唴
+     *
+     * @type {string}
+     * @memberof AddSubscribeMessageTemplateInput
+     */
+    sceneDescription: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-sys-ldap-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-sys-ldap-input.ts
new file mode 100644
index 0000000..a9c2ca5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-sys-ldap-input.ts
@@ -0,0 +1,181 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface AddSysLdapInput
+ */
+export interface AddSysLdapInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof AddSysLdapInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddSysLdapInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddSysLdapInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof AddSysLdapInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof AddSysLdapInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof AddSysLdapInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof AddSysLdapInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof AddSysLdapInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof AddSysLdapInput
+     */
+    tenantId?: number | null;
+
+    /**
+     * 涓绘満
+     *
+     * @type {string}
+     * @memberof AddSysLdapInput
+     */
+    host: string;
+
+    /**
+     * 绔彛
+     *
+     * @type {number}
+     * @memberof AddSysLdapInput
+     */
+    port?: number;
+
+    /**
+     * 鐢ㄦ埛鎼滅储鍩哄噯
+     *
+     * @type {string}
+     * @memberof AddSysLdapInput
+     */
+    baseDn: string;
+
+    /**
+     * 缁戝畾DN(鏈夌鐞嗘潈闄愬埗鐨勭敤鎴�)
+     *
+     * @type {string}
+     * @memberof AddSysLdapInput
+     */
+    bindDn: string;
+
+    /**
+     * 缁戝畾瀵嗙爜(鏈夌鐞嗘潈闄愬埗鐨勭敤鎴峰瘑鐮�)
+     *
+     * @type {string}
+     * @memberof AddSysLdapInput
+     */
+    bindPass: string;
+
+    /**
+     * 鐢ㄦ埛杩囨护瑙勫垯
+     *
+     * @type {string}
+     * @memberof AddSysLdapInput
+     */
+    authFilter: string;
+
+    /**
+     * Ldap鐗堟湰
+     *
+     * @type {number}
+     * @memberof AddSysLdapInput
+     */
+    version?: number;
+
+    /**
+     * 缁戝畾鍩熻处鍙峰瓧娈靛睘鎬у��
+     *
+     * @type {string}
+     * @memberof AddSysLdapInput
+     */
+    bindAttrAccount: string;
+
+    /**
+     * 缁戝畾鐢ㄦ埛EmployeeId灞炴�у��
+     *
+     * @type {string}
+     * @memberof AddSysLdapInput
+     */
+    bindAttrEmployeeId: string;
+
+    /**
+     * 缁戝畾Code灞炴�у��
+     *
+     * @type {string}
+     * @memberof AddSysLdapInput
+     */
+    bindAttrCode: string;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof AddSysLdapInput
+     */
+    status?: StatusEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-tenant-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-tenant-input.ts
new file mode 100644
index 0000000..7d1227d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-tenant-input.ts
@@ -0,0 +1,203 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { DbType } from './db-type';
+import { StatusEnum } from './status-enum';
+import { TenantTypeEnum } from './tenant-type-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface AddTenantInput
+ */
+export interface AddTenantInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof AddTenantInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddTenantInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddTenantInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof AddTenantInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof AddTenantInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof AddTenantInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof AddTenantInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof AddTenantInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鐢ㄦ埛Id
+     *
+     * @type {number}
+     * @memberof AddTenantInput
+     */
+    userId?: number;
+
+    /**
+     * 鏈烘瀯Id
+     *
+     * @type {number}
+     * @memberof AddTenantInput
+     */
+    orgId?: number;
+
+    /**
+     * 涓绘満
+     *
+     * @type {string}
+     * @memberof AddTenantInput
+     */
+    host?: string | null;
+
+    /**
+     * @type {TenantTypeEnum}
+     * @memberof AddTenantInput
+     */
+    tenantType?: TenantTypeEnum;
+
+    /**
+     * @type {DbType}
+     * @memberof AddTenantInput
+     */
+    dbType?: DbType;
+
+    /**
+     * 鏁版嵁搴撹繛鎺�
+     *
+     * @type {string}
+     * @memberof AddTenantInput
+     */
+    connection?: string | null;
+
+    /**
+     * 鏁版嵁搴撴爣璇�
+     *
+     * @type {string}
+     * @memberof AddTenantInput
+     */
+    configId?: string | null;
+
+    /**
+     * 浠庡簱杩炴帴/璇诲啓鍒嗙
+     *
+     * @type {string}
+     * @memberof AddTenantInput
+     */
+    slaveConnections?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof AddTenantInput
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof AddTenantInput
+     */
+    remark?: string | null;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof AddTenantInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 鐢靛瓙閭
+     *
+     * @type {string}
+     * @memberof AddTenantInput
+     */
+    email?: string | null;
+
+    /**
+     * 鐢佃瘽
+     *
+     * @type {string}
+     * @memberof AddTenantInput
+     */
+    phone?: string | null;
+
+    /**
+     * 绉熸埛鍚嶇О
+     *
+     * @type {string}
+     * @memberof AddTenantInput
+     */
+    name: string;
+
+    /**
+     * 绉熺璐﹀彿
+     *
+     * @type {string}
+     * @memberof AddTenantInput
+     */
+    adminAccount: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/add-user-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-user-input.ts
new file mode 100644
index 0000000..552f6a6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/add-user-input.ts
@@ -0,0 +1,441 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { AccountTypeEnum } from './account-type-enum';
+import { CardTypeEnum } from './card-type-enum';
+import { CultureLevelEnum } from './culture-level-enum';
+import { GenderEnum } from './gender-enum';
+import { StatusEnum } from './status-enum';
+import { SysOrg } from './sys-org';
+import { SysUserExtOrg } from './sys-user-ext-org';
+ /**
+ * 澧炲姞鐢ㄦ埛杈撳叆鍙傛暟
+ *
+ * @export
+ * @interface AddUserInput
+ */
+export interface AddUserInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof AddUserInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddUserInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AddUserInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof AddUserInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof AddUserInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof AddUserInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof AddUserInput
+     */
+    tenantId?: number | null;
+
+    /**
+     * 鏄电О
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    nickName?: string | null;
+
+    /**
+     * 澶村儚
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    avatar?: string | null;
+
+    /**
+     * @type {GenderEnum}
+     * @memberof AddUserInput
+     */
+    sex?: GenderEnum;
+
+    /**
+     * 骞撮緞
+     *
+     * @type {number}
+     * @memberof AddUserInput
+     */
+    age?: number;
+
+    /**
+     * 鍑虹敓鏃ユ湡
+     *
+     * @type {Date}
+     * @memberof AddUserInput
+     */
+    birthday?: Date | null;
+
+    /**
+     * 姘戞棌
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    nation?: string | null;
+
+    /**
+     * 鎵嬫満鍙风爜
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    phone?: string | null;
+
+    /**
+     * @type {CardTypeEnum}
+     * @memberof AddUserInput
+     */
+    cardType?: CardTypeEnum;
+
+    /**
+     * 韬唤璇佸彿
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    idCardNum?: string | null;
+
+    /**
+     * 閭
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    email?: string | null;
+
+    /**
+     * 鍦板潃
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    address?: string | null;
+
+    /**
+     * @type {CultureLevelEnum}
+     * @memberof AddUserInput
+     */
+    cultureLevel?: CultureLevelEnum;
+
+    /**
+     * 鏀挎不闈㈣矊
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    politicalOutlook?: string | null;
+
+    /**
+     * 姣曚笟闄㈡牎
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    college?: string | null;
+
+    /**
+     * 鍔炲叕鐢佃瘽
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    officePhone?: string | null;
+
+    /**
+     * 绱ф�ヨ仈绯讳汉
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    emergencyContact?: string | null;
+
+    /**
+     * 绱ф�ヨ仈绯讳汉鐢佃瘽
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    emergencyPhone?: string | null;
+
+    /**
+     * 绱ф�ヨ仈绯讳汉鍦板潃
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    emergencyAddress?: string | null;
+
+    /**
+     * 涓汉绠�浠�
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    introduction?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof AddUserInput
+     */
+    orderNo?: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof AddUserInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    remark?: string | null;
+
+    /**
+     * @type {AccountTypeEnum}
+     * @memberof AddUserInput
+     */
+    accountType?: AccountTypeEnum;
+
+    /**
+     * 鐩村睘鏈烘瀯Id
+     *
+     * @type {number}
+     * @memberof AddUserInput
+     */
+    orgId?: number;
+
+    /**
+     * @type {SysOrg}
+     * @memberof AddUserInput
+     */
+    sysOrg?: SysOrg;
+
+    /**
+     * 鐩村睘涓荤Id
+     *
+     * @type {number}
+     * @memberof AddUserInput
+     */
+    managerUserId?: number | null;
+
+    /**
+     * 鑱屼綅Id
+     *
+     * @type {number}
+     * @memberof AddUserInput
+     */
+    posId?: number;
+
+    /**
+     * 宸ュ彿
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    jobNum?: string | null;
+
+    /**
+     * 鑱岀骇
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    posLevel?: string | null;
+
+    /**
+     * 鑱岀О
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    posTitle?: string | null;
+
+    /**
+     * 鎿呴暱棰嗗煙
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    expertise?: string | null;
+
+    /**
+     * 鍔炲叕鍖哄煙
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    officeZone?: string | null;
+
+    /**
+     * 鍔炲叕瀹�
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    office?: string | null;
+
+    /**
+     * 鍏ヨ亴鏃ユ湡
+     *
+     * @type {Date}
+     * @memberof AddUserInput
+     */
+    joinDate?: Date | null;
+
+    /**
+     * 鏈�鏂扮櫥褰旾p
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    lastLoginIp?: string | null;
+
+    /**
+     * 鏈�鏂扮櫥褰曞湴鐐�
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    lastLoginAddress?: string | null;
+
+    /**
+     * 鏈�鏂扮櫥褰曟椂闂�
+     *
+     * @type {Date}
+     * @memberof AddUserInput
+     */
+    lastLoginTime?: Date | null;
+
+    /**
+     * 鏈�鏂扮櫥褰曡澶�
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    lastLoginDevice?: string | null;
+
+    /**
+     * 鐢靛瓙绛惧悕
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    signature?: string | null;
+
+    /**
+     * 璐﹀彿
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    account: string;
+
+    /**
+     * 鐪熷疄濮撳悕
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    realName: string;
+
+    /**
+     * 鍩熺敤鎴�
+     *
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    domainAccount?: string | null;
+
+    /**
+     * 瑙掕壊闆嗗悎
+     *
+     * @type {Array<number>}
+     * @memberof AddUserInput
+     */
+    roleIdList?: Array<number> | null;
+
+    /**
+     * 鎵╁睍鏈烘瀯闆嗗悎
+     *
+     * @type {Array<SysUserExtOrg>}
+     * @memberof AddUserInput
+     */
+    extOrgIdList?: Array<SysUserExtOrg> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-boolean.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-boolean.ts
new file mode 100644
index 0000000..2f59e6c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-boolean.ts
@@ -0,0 +1,70 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultBoolean
+ */
+export interface AdminResultBoolean {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultBoolean
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultBoolean
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultBoolean
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {boolean}
+     * @memberof AdminResultBoolean
+     */
+    result?: boolean;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultBoolean
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultBoolean
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-iaction-result.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-iaction-result.ts
new file mode 100644
index 0000000..a50d3b8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-iaction-result.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { IActionResult } from './iaction-result';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultIActionResult
+ */
+export interface AdminResultIActionResult {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultIActionResult
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultIActionResult
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultIActionResult
+     */
+    message?: string | null;
+
+    /**
+     * @type {IActionResult}
+     * @memberof AdminResultIActionResult
+     */
+    result?: IActionResult;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultIActionResult
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultIActionResult
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-int32.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-int32.ts
new file mode 100644
index 0000000..9723573
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-int32.ts
@@ -0,0 +1,70 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultInt32
+ */
+export interface AdminResultInt32 {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultInt32
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultInt32
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultInt32
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {number}
+     * @memberof AdminResultInt32
+     */
+    result?: number;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultInt32
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultInt32
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-int64.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-int64.ts
new file mode 100644
index 0000000..1900159
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-int64.ts
@@ -0,0 +1,70 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultInt64
+ */
+export interface AdminResultInt64 {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultInt64
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultInt64
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultInt64
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {number}
+     * @memberof AdminResultInt64
+     */
+    result?: number;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultInt64
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultInt64
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-jobject.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-jobject.ts
new file mode 100644
index 0000000..93811d5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-jobject.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { JToken } from './jtoken';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultJObject
+ */
+export interface AdminResultJObject {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultJObject
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultJObject
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultJObject
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {{ [key: string]: JToken; }}
+     * @memberof AdminResultJObject
+     */
+    result?: { [key: string]: JToken; } | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultJObject
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultJObject
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-api-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-api-output.ts
new file mode 100644
index 0000000..c9a3a2f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-api-output.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { ApiOutput } from './api-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListApiOutput
+ */
+export interface AdminResultListApiOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListApiOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListApiOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListApiOutput
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<ApiOutput>}
+     * @memberof AdminResultListApiOutput
+     */
+    result?: Array<ApiOutput> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListApiOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListApiOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-code-gen-config.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-code-gen-config.ts
new file mode 100644
index 0000000..acede0c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-code-gen-config.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { CodeGenConfig } from './code-gen-config';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListCodeGenConfig
+ */
+export interface AdminResultListCodeGenConfig {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListCodeGenConfig
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListCodeGenConfig
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListCodeGenConfig
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<CodeGenConfig>}
+     * @memberof AdminResultListCodeGenConfig
+     */
+    result?: Array<CodeGenConfig> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListCodeGenConfig
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListCodeGenConfig
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-column-ouput.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-column-ouput.ts
new file mode 100644
index 0000000..6f7b668
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-column-ouput.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { ColumnOuput } from './column-ouput';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListColumnOuput
+ */
+export interface AdminResultListColumnOuput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListColumnOuput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListColumnOuput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListColumnOuput
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<ColumnOuput>}
+     * @memberof AdminResultListColumnOuput
+     */
+    result?: Array<ColumnOuput> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListColumnOuput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListColumnOuput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-const-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-const-output.ts
new file mode 100644
index 0000000..0840bca
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-const-output.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { ConstOutput } from './const-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListConstOutput
+ */
+export interface AdminResultListConstOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListConstOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListConstOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListConstOutput
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<ConstOutput>}
+     * @memberof AdminResultListConstOutput
+     */
+    result?: Array<ConstOutput> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListConstOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListConstOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-database-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-database-output.ts
new file mode 100644
index 0000000..74b9f15
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-database-output.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { DatabaseOutput } from './database-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListDatabaseOutput
+ */
+export interface AdminResultListDatabaseOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListDatabaseOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListDatabaseOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListDatabaseOutput
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<DatabaseOutput>}
+     * @memberof AdminResultListDatabaseOutput
+     */
+    result?: Array<DatabaseOutput> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListDatabaseOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListDatabaseOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-db-column-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-db-column-output.ts
new file mode 100644
index 0000000..ab11c83
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-db-column-output.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { DbColumnOutput } from './db-column-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListDbColumnOutput
+ */
+export interface AdminResultListDbColumnOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListDbColumnOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListDbColumnOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListDbColumnOutput
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<DbColumnOutput>}
+     * @memberof AdminResultListDbColumnOutput
+     */
+    result?: Array<DbColumnOutput> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListDbColumnOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListDbColumnOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-db-table-info.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-db-table-info.ts
new file mode 100644
index 0000000..b0f7991
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-db-table-info.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { DbTableInfo } from './db-table-info';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListDbTableInfo
+ */
+export interface AdminResultListDbTableInfo {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListDbTableInfo
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListDbTableInfo
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListDbTableInfo
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<DbTableInfo>}
+     * @memberof AdminResultListDbTableInfo
+     */
+    result?: Array<DbTableInfo> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListDbTableInfo
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListDbTableInfo
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-enum-entity.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-enum-entity.ts
new file mode 100644
index 0000000..b84f45c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-enum-entity.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { EnumEntity } from './enum-entity';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListEnumEntity
+ */
+export interface AdminResultListEnumEntity {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListEnumEntity
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListEnumEntity
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListEnumEntity
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<EnumEntity>}
+     * @memberof AdminResultListEnumEntity
+     */
+    result?: Array<EnumEntity> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListEnumEntity
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListEnumEntity
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-enum-type-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-enum-type-output.ts
new file mode 100644
index 0000000..752d4a1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-enum-type-output.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { EnumTypeOutput } from './enum-type-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListEnumTypeOutput
+ */
+export interface AdminResultListEnumTypeOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListEnumTypeOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListEnumTypeOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListEnumTypeOutput
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<EnumTypeOutput>}
+     * @memberof AdminResultListEnumTypeOutput
+     */
+    result?: Array<EnumTypeOutput> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListEnumTypeOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListEnumTypeOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-int64.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-int64.ts
new file mode 100644
index 0000000..19dd098
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-int64.ts
@@ -0,0 +1,70 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListInt64
+ */
+export interface AdminResultListInt64 {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListInt64
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListInt64
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListInt64
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<number>}
+     * @memberof AdminResultListInt64
+     */
+    result?: Array<number> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListInt64
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListInt64
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-menu-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-menu-output.ts
new file mode 100644
index 0000000..7411d06
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-menu-output.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { MenuOutput } from './menu-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListMenuOutput
+ */
+export interface AdminResultListMenuOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListMenuOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListMenuOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListMenuOutput
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<MenuOutput>}
+     * @memberof AdminResultListMenuOutput
+     */
+    result?: Array<MenuOutput> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListMenuOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListMenuOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-role-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-role-output.ts
new file mode 100644
index 0000000..d3d3401
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-role-output.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { RoleOutput } from './role-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListRoleOutput
+ */
+export interface AdminResultListRoleOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListRoleOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListRoleOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListRoleOutput
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<RoleOutput>}
+     * @memberof AdminResultListRoleOutput
+     */
+    result?: Array<RoleOutput> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListRoleOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListRoleOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-string.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-string.ts
new file mode 100644
index 0000000..d914bcc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-string.ts
@@ -0,0 +1,70 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListString
+ */
+export interface AdminResultListString {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListString
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListString
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListString
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<string>}
+     * @memberof AdminResultListString
+     */
+    result?: Array<string> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListString
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListString
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-config.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-config.ts
new file mode 100644
index 0000000..1b35ce3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-config.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysConfig } from './sys-config';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListSysConfig
+ */
+export interface AdminResultListSysConfig {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListSysConfig
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListSysConfig
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListSysConfig
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<SysConfig>}
+     * @memberof AdminResultListSysConfig
+     */
+    result?: Array<SysConfig> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListSysConfig
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListSysConfig
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-dict-data.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-dict-data.ts
new file mode 100644
index 0000000..7ed9b21
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-dict-data.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysDictData } from './sys-dict-data';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListSysDictData
+ */
+export interface AdminResultListSysDictData {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListSysDictData
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListSysDictData
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListSysDictData
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<SysDictData>}
+     * @memberof AdminResultListSysDictData
+     */
+    result?: Array<SysDictData> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListSysDictData
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListSysDictData
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-dict-type.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-dict-type.ts
new file mode 100644
index 0000000..a00800f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-dict-type.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysDictType } from './sys-dict-type';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListSysDictType
+ */
+export interface AdminResultListSysDictType {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListSysDictType
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListSysDictType
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListSysDictType
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<SysDictType>}
+     * @memberof AdminResultListSysDictType
+     */
+    result?: Array<SysDictType> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListSysDictType
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListSysDictType
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-file.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-file.ts
new file mode 100644
index 0000000..a518888
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-file.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysFile } from './sys-file';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListSysFile
+ */
+export interface AdminResultListSysFile {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListSysFile
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListSysFile
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListSysFile
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<SysFile>}
+     * @memberof AdminResultListSysFile
+     */
+    result?: Array<SysFile> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListSysFile
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListSysFile
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-job-cluster.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-job-cluster.ts
new file mode 100644
index 0000000..65fb71a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-job-cluster.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysJobCluster } from './sys-job-cluster';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListSysJobCluster
+ */
+export interface AdminResultListSysJobCluster {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListSysJobCluster
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListSysJobCluster
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListSysJobCluster
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<SysJobCluster>}
+     * @memberof AdminResultListSysJobCluster
+     */
+    result?: Array<SysJobCluster> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListSysJobCluster
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListSysJobCluster
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-job-trigger.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-job-trigger.ts
new file mode 100644
index 0000000..c00dcc5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-job-trigger.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysJobTrigger } from './sys-job-trigger';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListSysJobTrigger
+ */
+export interface AdminResultListSysJobTrigger {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListSysJobTrigger
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListSysJobTrigger
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListSysJobTrigger
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<SysJobTrigger>}
+     * @memberof AdminResultListSysJobTrigger
+     */
+    result?: Array<SysJobTrigger> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListSysJobTrigger
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListSysJobTrigger
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-ldap.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-ldap.ts
new file mode 100644
index 0000000..5676b96
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-ldap.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysLdap } from './sys-ldap';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListSysLdap
+ */
+export interface AdminResultListSysLdap {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListSysLdap
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListSysLdap
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListSysLdap
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<SysLdap>}
+     * @memberof AdminResultListSysLdap
+     */
+    result?: Array<SysLdap> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListSysLdap
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListSysLdap
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-menu.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-menu.ts
new file mode 100644
index 0000000..8b7ae95
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-menu.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysMenu } from './sys-menu';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListSysMenu
+ */
+export interface AdminResultListSysMenu {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListSysMenu
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListSysMenu
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListSysMenu
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<SysMenu>}
+     * @memberof AdminResultListSysMenu
+     */
+    result?: Array<SysMenu> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListSysMenu
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListSysMenu
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-notice.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-notice.ts
new file mode 100644
index 0000000..19272f7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-notice.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysNotice } from './sys-notice';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListSysNotice
+ */
+export interface AdminResultListSysNotice {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListSysNotice
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListSysNotice
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListSysNotice
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<SysNotice>}
+     * @memberof AdminResultListSysNotice
+     */
+    result?: Array<SysNotice> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListSysNotice
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListSysNotice
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-org.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-org.ts
new file mode 100644
index 0000000..9bc93e0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-org.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysOrg } from './sys-org';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListSysOrg
+ */
+export interface AdminResultListSysOrg {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListSysOrg
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListSysOrg
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListSysOrg
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<SysOrg>}
+     * @memberof AdminResultListSysOrg
+     */
+    result?: Array<SysOrg> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListSysOrg
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListSysOrg
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-pos.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-pos.ts
new file mode 100644
index 0000000..320fce9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-pos.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysPos } from './sys-pos';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListSysPos
+ */
+export interface AdminResultListSysPos {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListSysPos
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListSysPos
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListSysPos
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<SysPos>}
+     * @memberof AdminResultListSysPos
+     */
+    result?: Array<SysPos> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListSysPos
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListSysPos
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-region.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-region.ts
new file mode 100644
index 0000000..1b3dd68
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-region.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysRegion } from './sys-region';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListSysRegion
+ */
+export interface AdminResultListSysRegion {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListSysRegion
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListSysRegion
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListSysRegion
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<SysRegion>}
+     * @memberof AdminResultListSysRegion
+     */
+    result?: Array<SysRegion> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListSysRegion
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListSysRegion
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-user-ext-org.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-user-ext-org.ts
new file mode 100644
index 0000000..012f1e4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-user-ext-org.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysUserExtOrg } from './sys-user-ext-org';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListSysUserExtOrg
+ */
+export interface AdminResultListSysUserExtOrg {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListSysUserExtOrg
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListSysUserExtOrg
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListSysUserExtOrg
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<SysUserExtOrg>}
+     * @memberof AdminResultListSysUserExtOrg
+     */
+    result?: Array<SysUserExtOrg> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListSysUserExtOrg
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListSysUserExtOrg
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-user.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-user.ts
new file mode 100644
index 0000000..6a35ca5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-sys-user.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysUser } from './sys-user';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListSysUser
+ */
+export interface AdminResultListSysUser {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListSysUser
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListSysUser
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListSysUser
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<SysUser>}
+     * @memberof AdminResultListSysUser
+     */
+    result?: Array<SysUser> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListSysUser
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListSysUser
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-table-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-table-output.ts
new file mode 100644
index 0000000..7b8b2d3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-list-table-output.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { TableOutput } from './table-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultListTableOutput
+ */
+export interface AdminResultListTableOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultListTableOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultListTableOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultListTableOutput
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {Array<TableOutput>}
+     * @memberof AdminResultListTableOutput
+     */
+    result?: Array<TableOutput> | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultListTableOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultListTableOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-login-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-login-output.ts
new file mode 100644
index 0000000..0121634
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-login-output.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { LoginOutput } from './login-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultLoginOutput
+ */
+export interface AdminResultLoginOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultLoginOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultLoginOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultLoginOutput
+     */
+    message?: string | null;
+
+    /**
+     * @type {LoginOutput}
+     * @memberof AdminResultLoginOutput
+     */
+    result?: LoginOutput;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultLoginOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultLoginOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-login-user-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-login-user-output.ts
new file mode 100644
index 0000000..039e5e2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-login-user-output.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { LoginUserOutput } from './login-user-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultLoginUserOutput
+ */
+export interface AdminResultLoginUserOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultLoginUserOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultLoginUserOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultLoginUserOutput
+     */
+    message?: string | null;
+
+    /**
+     * @type {LoginUserOutput}
+     * @memberof AdminResultLoginUserOutput
+     */
+    result?: LoginUserOutput;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultLoginUserOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultLoginUserOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-object.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-object.ts
new file mode 100644
index 0000000..23052a5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-object.ts
@@ -0,0 +1,70 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultObject
+ */
+export interface AdminResultObject {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultObject
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultObject
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultObject
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultObject
+     */
+    result?: any | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultObject
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultObject
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sm-key-pair-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sm-key-pair-output.ts
new file mode 100644
index 0000000..842d60a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sm-key-pair-output.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SmKeyPairOutput } from './sm-key-pair-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSmKeyPairOutput
+ */
+export interface AdminResultSmKeyPairOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSmKeyPairOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSmKeyPairOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSmKeyPairOutput
+     */
+    message?: string | null;
+
+    /**
+     * @type {SmKeyPairOutput}
+     * @memberof AdminResultSmKeyPairOutput
+     */
+    result?: SmKeyPairOutput;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSmKeyPairOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSmKeyPairOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-job-detail-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-job-detail-output.ts
new file mode 100644
index 0000000..a006e56
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-job-detail-output.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListJobDetailOutput } from './sql-sugar-paged-list-job-detail-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListJobDetailOutput
+ */
+export interface AdminResultSqlSugarPagedListJobDetailOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListJobDetailOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListJobDetailOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListJobDetailOutput
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListJobDetailOutput}
+     * @memberof AdminResultSqlSugarPagedListJobDetailOutput
+     */
+    result?: SqlSugarPagedListJobDetailOutput;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListJobDetailOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListJobDetailOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-open-access-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-open-access-output.ts
new file mode 100644
index 0000000..59a3089
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-open-access-output.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListOpenAccessOutput } from './sql-sugar-paged-list-open-access-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListOpenAccessOutput
+ */
+export interface AdminResultSqlSugarPagedListOpenAccessOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListOpenAccessOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListOpenAccessOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListOpenAccessOutput
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListOpenAccessOutput}
+     * @memberof AdminResultSqlSugarPagedListOpenAccessOutput
+     */
+    result?: SqlSugarPagedListOpenAccessOutput;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListOpenAccessOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListOpenAccessOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-code-gen.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-code-gen.ts
new file mode 100644
index 0000000..5844485
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-code-gen.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysCodeGen } from './sql-sugar-paged-list-sys-code-gen';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysCodeGen
+ */
+export interface AdminResultSqlSugarPagedListSysCodeGen {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysCodeGen
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysCodeGen
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysCodeGen
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysCodeGen}
+     * @memberof AdminResultSqlSugarPagedListSysCodeGen
+     */
+    result?: SqlSugarPagedListSysCodeGen;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysCodeGen
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysCodeGen
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-config.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-config.ts
new file mode 100644
index 0000000..20afd78
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-config.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysConfig } from './sql-sugar-paged-list-sys-config';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysConfig
+ */
+export interface AdminResultSqlSugarPagedListSysConfig {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysConfig
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysConfig
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysConfig
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysConfig}
+     * @memberof AdminResultSqlSugarPagedListSysConfig
+     */
+    result?: SqlSugarPagedListSysConfig;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysConfig
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysConfig
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-dict-data.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-dict-data.ts
new file mode 100644
index 0000000..4b4f854
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-dict-data.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysDictData } from './sql-sugar-paged-list-sys-dict-data';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysDictData
+ */
+export interface AdminResultSqlSugarPagedListSysDictData {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysDictData
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysDictData
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysDictData
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysDictData}
+     * @memberof AdminResultSqlSugarPagedListSysDictData
+     */
+    result?: SqlSugarPagedListSysDictData;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysDictData
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysDictData
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-dict-type.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-dict-type.ts
new file mode 100644
index 0000000..cb79e77
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-dict-type.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysDictType } from './sql-sugar-paged-list-sys-dict-type';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysDictType
+ */
+export interface AdminResultSqlSugarPagedListSysDictType {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysDictType
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysDictType
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysDictType
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysDictType}
+     * @memberof AdminResultSqlSugarPagedListSysDictType
+     */
+    result?: SqlSugarPagedListSysDictType;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysDictType
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysDictType
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-file.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-file.ts
new file mode 100644
index 0000000..863414d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-file.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysFile } from './sql-sugar-paged-list-sys-file';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysFile
+ */
+export interface AdminResultSqlSugarPagedListSysFile {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysFile
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysFile
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysFile
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysFile}
+     * @memberof AdminResultSqlSugarPagedListSysFile
+     */
+    result?: SqlSugarPagedListSysFile;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysFile
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysFile
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-job-trigger-record.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-job-trigger-record.ts
new file mode 100644
index 0000000..6a761f7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-job-trigger-record.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysJobTriggerRecord } from './sql-sugar-paged-list-sys-job-trigger-record';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysJobTriggerRecord
+ */
+export interface AdminResultSqlSugarPagedListSysJobTriggerRecord {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysJobTriggerRecord
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysJobTriggerRecord
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysJobTriggerRecord
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysJobTriggerRecord}
+     * @memberof AdminResultSqlSugarPagedListSysJobTriggerRecord
+     */
+    result?: SqlSugarPagedListSysJobTriggerRecord;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysJobTriggerRecord
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysJobTriggerRecord
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-ldap.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-ldap.ts
new file mode 100644
index 0000000..d112879
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-ldap.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysLdap } from './sql-sugar-paged-list-sys-ldap';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysLdap
+ */
+export interface AdminResultSqlSugarPagedListSysLdap {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysLdap
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysLdap
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysLdap
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysLdap}
+     * @memberof AdminResultSqlSugarPagedListSysLdap
+     */
+    result?: SqlSugarPagedListSysLdap;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysLdap
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysLdap
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-diff.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-diff.ts
new file mode 100644
index 0000000..e619ae1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-diff.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysLogDiff } from './sql-sugar-paged-list-sys-log-diff';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysLogDiff
+ */
+export interface AdminResultSqlSugarPagedListSysLogDiff {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysLogDiff
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysLogDiff
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysLogDiff
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysLogDiff}
+     * @memberof AdminResultSqlSugarPagedListSysLogDiff
+     */
+    result?: SqlSugarPagedListSysLogDiff;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysLogDiff
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysLogDiff
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-ex.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-ex.ts
new file mode 100644
index 0000000..8c38dd5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-ex.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysLogEx } from './sql-sugar-paged-list-sys-log-ex';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysLogEx
+ */
+export interface AdminResultSqlSugarPagedListSysLogEx {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysLogEx
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysLogEx
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysLogEx
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysLogEx}
+     * @memberof AdminResultSqlSugarPagedListSysLogEx
+     */
+    result?: SqlSugarPagedListSysLogEx;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysLogEx
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysLogEx
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-op.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-op.ts
new file mode 100644
index 0000000..59d8245
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-op.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysLogOp } from './sql-sugar-paged-list-sys-log-op';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysLogOp
+ */
+export interface AdminResultSqlSugarPagedListSysLogOp {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysLogOp
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysLogOp
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysLogOp
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysLogOp}
+     * @memberof AdminResultSqlSugarPagedListSysLogOp
+     */
+    result?: SqlSugarPagedListSysLogOp;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysLogOp
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysLogOp
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-vis.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-vis.ts
new file mode 100644
index 0000000..f05bce2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-vis.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysLogVis } from './sql-sugar-paged-list-sys-log-vis';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysLogVis
+ */
+export interface AdminResultSqlSugarPagedListSysLogVis {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysLogVis
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysLogVis
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysLogVis
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysLogVis}
+     * @memberof AdminResultSqlSugarPagedListSysLogVis
+     */
+    result?: SqlSugarPagedListSysLogVis;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysLogVis
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysLogVis
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-notice-user.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-notice-user.ts
new file mode 100644
index 0000000..72d3215
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-notice-user.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysNoticeUser } from './sql-sugar-paged-list-sys-notice-user';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysNoticeUser
+ */
+export interface AdminResultSqlSugarPagedListSysNoticeUser {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysNoticeUser
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysNoticeUser
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysNoticeUser
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysNoticeUser}
+     * @memberof AdminResultSqlSugarPagedListSysNoticeUser
+     */
+    result?: SqlSugarPagedListSysNoticeUser;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysNoticeUser
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysNoticeUser
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-notice.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-notice.ts
new file mode 100644
index 0000000..50b50a4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-notice.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysNotice } from './sql-sugar-paged-list-sys-notice';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysNotice
+ */
+export interface AdminResultSqlSugarPagedListSysNotice {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysNotice
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysNotice
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysNotice
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysNotice}
+     * @memberof AdminResultSqlSugarPagedListSysNotice
+     */
+    result?: SqlSugarPagedListSysNotice;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysNotice
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysNotice
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-online-user.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-online-user.ts
new file mode 100644
index 0000000..7214a63
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-online-user.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysOnlineUser } from './sql-sugar-paged-list-sys-online-user';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysOnlineUser
+ */
+export interface AdminResultSqlSugarPagedListSysOnlineUser {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysOnlineUser
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysOnlineUser
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysOnlineUser
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysOnlineUser}
+     * @memberof AdminResultSqlSugarPagedListSysOnlineUser
+     */
+    result?: SqlSugarPagedListSysOnlineUser;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysOnlineUser
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysOnlineUser
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-plugin.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-plugin.ts
new file mode 100644
index 0000000..f5a169a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-plugin.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysPlugin } from './sql-sugar-paged-list-sys-plugin';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysPlugin
+ */
+export interface AdminResultSqlSugarPagedListSysPlugin {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysPlugin
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysPlugin
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysPlugin
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysPlugin}
+     * @memberof AdminResultSqlSugarPagedListSysPlugin
+     */
+    result?: SqlSugarPagedListSysPlugin;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysPlugin
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysPlugin
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-print.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-print.ts
new file mode 100644
index 0000000..d005161
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-print.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysPrint } from './sql-sugar-paged-list-sys-print';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysPrint
+ */
+export interface AdminResultSqlSugarPagedListSysPrint {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysPrint
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysPrint
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysPrint
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysPrint}
+     * @memberof AdminResultSqlSugarPagedListSysPrint
+     */
+    result?: SqlSugarPagedListSysPrint;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysPrint
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysPrint
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-region.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-region.ts
new file mode 100644
index 0000000..bc48468
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-region.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysRegion } from './sql-sugar-paged-list-sys-region';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysRegion
+ */
+export interface AdminResultSqlSugarPagedListSysRegion {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysRegion
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysRegion
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysRegion
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysRegion}
+     * @memberof AdminResultSqlSugarPagedListSysRegion
+     */
+    result?: SqlSugarPagedListSysRegion;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysRegion
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysRegion
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-role.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-role.ts
new file mode 100644
index 0000000..0506bc6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-role.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysRole } from './sql-sugar-paged-list-sys-role';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysRole
+ */
+export interface AdminResultSqlSugarPagedListSysRole {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysRole
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysRole
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysRole
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysRole}
+     * @memberof AdminResultSqlSugarPagedListSysRole
+     */
+    result?: SqlSugarPagedListSysRole;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysRole
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysRole
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-wechat-user.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-wechat-user.ts
new file mode 100644
index 0000000..c4824e5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-wechat-user.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListSysWechatUser } from './sql-sugar-paged-list-sys-wechat-user';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListSysWechatUser
+ */
+export interface AdminResultSqlSugarPagedListSysWechatUser {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListSysWechatUser
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysWechatUser
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListSysWechatUser
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListSysWechatUser}
+     * @memberof AdminResultSqlSugarPagedListSysWechatUser
+     */
+    result?: SqlSugarPagedListSysWechatUser;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListSysWechatUser
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListSysWechatUser
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-tenant-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-tenant-output.ts
new file mode 100644
index 0000000..67cc03a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-tenant-output.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListTenantOutput } from './sql-sugar-paged-list-tenant-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListTenantOutput
+ */
+export interface AdminResultSqlSugarPagedListTenantOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListTenantOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListTenantOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListTenantOutput
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListTenantOutput}
+     * @memberof AdminResultSqlSugarPagedListTenantOutput
+     */
+    result?: SqlSugarPagedListTenantOutput;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListTenantOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListTenantOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-user-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-user-output.ts
new file mode 100644
index 0000000..627081b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sql-sugar-paged-list-user-output.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SqlSugarPagedListUserOutput } from './sql-sugar-paged-list-user-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSqlSugarPagedListUserOutput
+ */
+export interface AdminResultSqlSugarPagedListUserOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSqlSugarPagedListUserOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListUserOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSqlSugarPagedListUserOutput
+     */
+    message?: string | null;
+
+    /**
+     * @type {SqlSugarPagedListUserOutput}
+     * @memberof AdminResultSqlSugarPagedListUserOutput
+     */
+    result?: SqlSugarPagedListUserOutput;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSqlSugarPagedListUserOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSqlSugarPagedListUserOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-string.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-string.ts
new file mode 100644
index 0000000..b5607bc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-string.ts
@@ -0,0 +1,70 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultString
+ */
+export interface AdminResultString {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultString
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultString
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultString
+     */
+    message?: string | null;
+
+    /**
+     * 鏁版嵁
+     *
+     * @type {string}
+     * @memberof AdminResultString
+     */
+    result?: string | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultString
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultString
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-code-gen-config.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-code-gen-config.ts
new file mode 100644
index 0000000..bfefe0a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-code-gen-config.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysCodeGenConfig } from './sys-code-gen-config';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSysCodeGenConfig
+ */
+export interface AdminResultSysCodeGenConfig {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSysCodeGenConfig
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSysCodeGenConfig
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSysCodeGenConfig
+     */
+    message?: string | null;
+
+    /**
+     * @type {SysCodeGenConfig}
+     * @memberof AdminResultSysCodeGenConfig
+     */
+    result?: SysCodeGenConfig;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSysCodeGenConfig
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSysCodeGenConfig
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-code-gen.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-code-gen.ts
new file mode 100644
index 0000000..590d167
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-code-gen.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysCodeGen } from './sys-code-gen';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSysCodeGen
+ */
+export interface AdminResultSysCodeGen {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSysCodeGen
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSysCodeGen
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSysCodeGen
+     */
+    message?: string | null;
+
+    /**
+     * @type {SysCodeGen}
+     * @memberof AdminResultSysCodeGen
+     */
+    result?: SysCodeGen;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSysCodeGen
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSysCodeGen
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-config.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-config.ts
new file mode 100644
index 0000000..19cea7c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-config.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysConfig } from './sys-config';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSysConfig
+ */
+export interface AdminResultSysConfig {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSysConfig
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSysConfig
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSysConfig
+     */
+    message?: string | null;
+
+    /**
+     * @type {SysConfig}
+     * @memberof AdminResultSysConfig
+     */
+    result?: SysConfig;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSysConfig
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSysConfig
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-dict-data.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-dict-data.ts
new file mode 100644
index 0000000..e483a23
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-dict-data.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysDictData } from './sys-dict-data';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSysDictData
+ */
+export interface AdminResultSysDictData {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSysDictData
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSysDictData
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSysDictData
+     */
+    message?: string | null;
+
+    /**
+     * @type {SysDictData}
+     * @memberof AdminResultSysDictData
+     */
+    result?: SysDictData;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSysDictData
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSysDictData
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-dict-type.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-dict-type.ts
new file mode 100644
index 0000000..2caf0e4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-dict-type.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysDictType } from './sys-dict-type';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSysDictType
+ */
+export interface AdminResultSysDictType {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSysDictType
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSysDictType
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSysDictType
+     */
+    message?: string | null;
+
+    /**
+     * @type {SysDictType}
+     * @memberof AdminResultSysDictType
+     */
+    result?: SysDictType;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSysDictType
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSysDictType
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-file.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-file.ts
new file mode 100644
index 0000000..df2e052
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-file.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysFile } from './sys-file';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSysFile
+ */
+export interface AdminResultSysFile {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSysFile
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSysFile
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSysFile
+     */
+    message?: string | null;
+
+    /**
+     * @type {SysFile}
+     * @memberof AdminResultSysFile
+     */
+    result?: SysFile;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSysFile
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSysFile
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-ldap.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-ldap.ts
new file mode 100644
index 0000000..399ad1b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-ldap.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysLdap } from './sys-ldap';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSysLdap
+ */
+export interface AdminResultSysLdap {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSysLdap
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSysLdap
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSysLdap
+     */
+    message?: string | null;
+
+    /**
+     * @type {SysLdap}
+     * @memberof AdminResultSysLdap
+     */
+    result?: SysLdap;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSysLdap
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSysLdap
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-print.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-print.ts
new file mode 100644
index 0000000..643ff1c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-print.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysPrint } from './sys-print';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSysPrint
+ */
+export interface AdminResultSysPrint {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSysPrint
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSysPrint
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSysPrint
+     */
+    message?: string | null;
+
+    /**
+     * @type {SysPrint}
+     * @memberof AdminResultSysPrint
+     */
+    result?: SysPrint;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSysPrint
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSysPrint
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-user.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-user.ts
new file mode 100644
index 0000000..1fc745c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-user.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysUser } from './sys-user';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSysUser
+ */
+export interface AdminResultSysUser {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSysUser
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSysUser
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSysUser
+     */
+    message?: string | null;
+
+    /**
+     * @type {SysUser}
+     * @memberof AdminResultSysUser
+     */
+    result?: SysUser;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSysUser
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSysUser
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-wechat-pay.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-wechat-pay.ts
new file mode 100644
index 0000000..d6b277a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-sys-wechat-pay.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysWechatPay } from './sys-wechat-pay';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultSysWechatPay
+ */
+export interface AdminResultSysWechatPay {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultSysWechatPay
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultSysWechatPay
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultSysWechatPay
+     */
+    message?: string | null;
+
+    /**
+     * @type {SysWechatPay}
+     * @memberof AdminResultSysWechatPay
+     */
+    result?: SysWechatPay;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultSysWechatPay
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultSysWechatPay
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-visual-db-table.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-visual-db-table.ts
new file mode 100644
index 0000000..47af0f6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-visual-db-table.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { VisualDbTable } from './visual-db-table';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultVisualDbTable
+ */
+export interface AdminResultVisualDbTable {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultVisualDbTable
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultVisualDbTable
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultVisualDbTable
+     */
+    message?: string | null;
+
+    /**
+     * @type {VisualDbTable}
+     * @memberof AdminResultVisualDbTable
+     */
+    result?: VisualDbTable;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultVisualDbTable
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultVisualDbTable
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-wechat-pay-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-wechat-pay-output.ts
new file mode 100644
index 0000000..532cd54
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-wechat-pay-output.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { WechatPayOutput } from './wechat-pay-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultWechatPayOutput
+ */
+export interface AdminResultWechatPayOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultWechatPayOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultWechatPayOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultWechatPayOutput
+     */
+    message?: string | null;
+
+    /**
+     * @type {WechatPayOutput}
+     * @memberof AdminResultWechatPayOutput
+     */
+    result?: WechatPayOutput;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultWechatPayOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultWechatPayOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-wx-open-id-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-wx-open-id-output.ts
new file mode 100644
index 0000000..0a18710
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-wx-open-id-output.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { WxOpenIdOutput } from './wx-open-id-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultWxOpenIdOutput
+ */
+export interface AdminResultWxOpenIdOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultWxOpenIdOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultWxOpenIdOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultWxOpenIdOutput
+     */
+    message?: string | null;
+
+    /**
+     * @type {WxOpenIdOutput}
+     * @memberof AdminResultWxOpenIdOutput
+     */
+    result?: WxOpenIdOutput;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultWxOpenIdOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultWxOpenIdOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-wx-phone-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-wx-phone-output.ts
new file mode 100644
index 0000000..43beae1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/admin-result-wx-phone-output.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { WxPhoneOutput } from './wx-phone-output';
+ /**
+ * 鍏ㄥ眬杩斿洖缁撴灉
+ *
+ * @export
+ * @interface AdminResultWxPhoneOutput
+ */
+export interface AdminResultWxPhoneOutput {
+
+    /**
+     * 鐘舵�佺爜
+     *
+     * @type {number}
+     * @memberof AdminResultWxPhoneOutput
+     */
+    code?: number;
+
+    /**
+     * 绫诲瀷success銆亀arning銆乪rror
+     *
+     * @type {string}
+     * @memberof AdminResultWxPhoneOutput
+     */
+    type?: string | null;
+
+    /**
+     * 閿欒淇℃伅
+     *
+     * @type {string}
+     * @memberof AdminResultWxPhoneOutput
+     */
+    message?: string | null;
+
+    /**
+     * @type {WxPhoneOutput}
+     * @memberof AdminResultWxPhoneOutput
+     */
+    result?: WxPhoneOutput;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {any}
+     * @memberof AdminResultWxPhoneOutput
+     */
+    extras?: any | null;
+
+    /**
+     * 鏃堕棿
+     *
+     * @type {Date}
+     * @memberof AdminResultWxPhoneOutput
+     */
+    time?: Date;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/api-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/api-output.ts
new file mode 100644
index 0000000..f001d6e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/api-output.ts
@@ -0,0 +1,46 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鎺ュ彛/鍔ㄦ�丄PI杈撳嚭
+ *
+ * @export
+ * @interface ApiOutput
+ */
+export interface ApiOutput {
+
+    /**
+     * 缁勫悕绉�
+     *
+     * @type {string}
+     * @memberof ApiOutput
+     */
+    groupName?: string | null;
+
+    /**
+     * 鎺ュ彛鍚嶇О
+     *
+     * @type {string}
+     * @memberof ApiOutput
+     */
+    displayName?: string | null;
+
+    /**
+     * 璺敱鍚嶇О
+     *
+     * @type {string}
+     * @memberof ApiOutput
+     */
+    routeName?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/card-type-enum.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/card-type-enum.ts
new file mode 100644
index 0000000..8a03082
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/card-type-enum.ts
@@ -0,0 +1,28 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 璇佷欢绫诲瀷鏋氫妇<br />&nbsp;韬唤璇� IdCard = 0<br />&nbsp;鎶ょ収 PassportCard = 1<br />&nbsp;鍑虹敓璇� BirthCard = 2<br />&nbsp;娓境鍙伴�氳璇� GatCard = 3<br />&nbsp;澶栧浗浜哄眳鐣欒瘉 ForeignCard = 4<br />&nbsp;钀ヤ笟鎵х収 License = 5<br />
+ * @export
+ * @enum {string}
+ */
+export enum CardTypeEnum {
+    NUMBER_0 = 0,
+    NUMBER_1 = 1,
+    NUMBER_2 = 2,
+    NUMBER_3 = 3,
+    NUMBER_4 = 4,
+    NUMBER_5 = 5
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/change-pwd-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/change-pwd-input.ts
new file mode 100644
index 0000000..e789f17
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/change-pwd-input.ts
@@ -0,0 +1,38 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 淇敼鐢ㄦ埛瀵嗙爜杈撳叆鍙傛暟
+ *
+ * @export
+ * @interface ChangePwdInput
+ */
+export interface ChangePwdInput {
+
+    /**
+     * 褰撳墠瀵嗙爜
+     *
+     * @type {string}
+     * @memberof ChangePwdInput
+     */
+    passwordOld: string;
+
+    /**
+     * 鏂板瘑鐮�
+     *
+     * @type {string}
+     * @memberof ChangePwdInput
+     */
+    passwordNew: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/cluster-status.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/cluster-status.ts
new file mode 100644
index 0000000..e0d33ed
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/cluster-status.ts
@@ -0,0 +1,25 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * <br />&nbsp; Crashed = 0<br />&nbsp; Working = 1<br />&nbsp; Waiting = 2<br />
+ * @export
+ * @enum {string}
+ */
+export enum ClusterStatus {
+    NUMBER_0 = 0,
+    NUMBER_1 = 1,
+    NUMBER_2 = 2
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/code-gen-config.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/code-gen-config.ts
new file mode 100644
index 0000000..eb3c78c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/code-gen-config.ts
@@ -0,0 +1,270 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 浠g爜鐢熸垚璇︾粏閰嶇疆鍙傛暟
+ *
+ * @export
+ * @interface CodeGenConfig
+ */
+export interface CodeGenConfig {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof CodeGenConfig
+     */
+    id?: number;
+
+    /**
+     * 浠g爜鐢熸垚涓昏〃ID
+     *
+     * @type {number}
+     * @memberof CodeGenConfig
+     */
+    codeGenId?: number;
+
+    /**
+     * 鏁版嵁搴撳瓧娈靛悕
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    columnName?: string | null;
+
+    /**
+     * 瀹炰綋灞炴�у悕
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    propertyName?: string | null;
+
+    /**
+     * 瀛楁鏁版嵁闀垮害
+     *
+     * @type {number}
+     * @memberof CodeGenConfig
+     */
+    columnLength?: number;
+
+    /**
+     * 鏁版嵁搴撳瓧娈靛悕(棣栧瓧姣嶅皬鍐�)
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    lowerPropertyName?: string | null;
+
+    /**
+     * 瀛楁鎻忚堪
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    columnComment?: string | null;
+
+    /**
+     * .NET绫诲瀷
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    netType?: string | null;
+
+    /**
+     * 浣滅敤绫诲瀷锛堝瓧鍏革級
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    effectType?: string | null;
+
+    /**
+     * 澶栭敭瀹炰綋鍚嶇О
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    fkEntityName?: string | null;
+
+    /**
+     * 澶栭敭琛ㄥ悕绉�
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    fkTableName?: string | null;
+
+    /**
+     * 澶栭敭瀹炰綋鍚嶇О(棣栧瓧姣嶅皬鍐�)
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    lowerFkEntityName?: string | null;
+
+    /**
+     * 澶栭敭鏄剧ず瀛楁
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    fkColumnName?: string | null;
+
+    /**
+     * 澶栭敭鏄剧ず瀛楁(棣栧瓧姣嶅皬鍐�)
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    lowerFkColumnName?: string | null;
+
+    /**
+     * 澶栭敭鏄剧ず瀛楁.NET绫诲瀷
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    fkColumnNetType?: string | null;
+
+    /**
+     * 瀛楀吀code
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    dictTypeCode?: string | null;
+
+    /**
+     * 鍒楄〃鏄惁缂╄繘锛堝瓧鍏革級
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    whetherRetract?: string | null;
+
+    /**
+     * 鏄惁蹇呭~锛堝瓧鍏革級
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    whetherRequired?: string | null;
+
+    /**
+     * 鏄惁鍙帓搴忥紙瀛楀吀锛�
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    whetherSortable?: string | null;
+
+    /**
+     * 鏄惁鏄煡璇㈡潯浠�
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    queryWhether?: string | null;
+
+    /**
+     * 鏌ヨ鏂瑰紡
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    queryType?: string | null;
+
+    /**
+     * 鍒楄〃鏄剧ず
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    whetherTable?: string | null;
+
+    /**
+     * 澧炴敼
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    whetherAddUpdate?: string | null;
+
+    /**
+     * 涓诲閿�
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    columnKey?: string | null;
+
+    /**
+     * 鏁版嵁搴撲腑绫诲瀷锛堢墿鐞嗙被鍨嬶級
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    dataType?: string | null;
+
+    /**
+     * 鏄惁鏄�氱敤瀛楁
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    whetherCommon?: string | null;
+
+    /**
+     * 琛ㄧ殑鍒悕 Table as XXX
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    tableNickName?: string | null;
+
+    /**
+     * 鏄剧ず鏂囨湰瀛楁
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    displayColumn?: string | null;
+
+    /**
+     * 閫変腑鍊煎瓧娈�
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    valueColumn?: string | null;
+
+    /**
+     * 鐖剁骇瀛楁
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    pidColumn?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof CodeGenConfig
+     */
+    orderNo?: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/code-gen-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/code-gen-input.ts
new file mode 100644
index 0000000..9ba3143
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/code-gen-input.ts
@@ -0,0 +1,190 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 浠g爜鐢熸垚鍙傛暟绫�
+ *
+ * @export
+ * @interface CodeGenInput
+ */
+export interface CodeGenInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof CodeGenInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof CodeGenInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 浣滆�呭鍚�
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    authorName?: string | null;
+
+    /**
+     * 绫诲悕
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    className?: string | null;
+
+    /**
+     * 鏄惁绉婚櫎琛ㄥ墠缂�
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    tablePrefix?: string | null;
+
+    /**
+     * 搴撳畾浣嶅櫒鍚�
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    configId?: string | null;
+
+    /**
+     * 鏁版嵁搴撳悕(淇濈暀瀛楁)
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    dbName?: string | null;
+
+    /**
+     * 鏁版嵁搴撶被鍨�
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    dbType?: string | null;
+
+    /**
+     * 鏁版嵁搴撻摼鎺�
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    connectionString?: string | null;
+
+    /**
+     * 鐢熸垚鏂瑰紡
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    generateType?: string | null;
+
+    /**
+     * 鏁版嵁搴撹〃鍚�
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    tableName?: string | null;
+
+    /**
+     * 鍛藉悕绌洪棿
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    nameSpace?: string | null;
+
+    /**
+     * 涓氬姟鍚嶏紙涓氬姟浠g爜鍖呭悕绉帮級
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    busName?: string | null;
+
+    /**
+     * 鍔熻兘鍚嶏紙鏁版嵁搴撹〃鍚嶇О锛�
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    tableComment?: string | null;
+
+    /**
+     * 鑿滃崟搴旂敤鍒嗙被锛堝簲鐢ㄧ紪鍙凤級
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    menuApplication?: string | null;
+
+    /**
+     * 鑿滃崟鐖剁骇
+     *
+     * @type {number}
+     * @memberof CodeGenInput
+     */
+    menuPid?: number;
+
+    /**
+     * 鏀寔鎵撳嵃绫诲瀷
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    printType?: string | null;
+
+    /**
+     * 鎵撳嵃妯$増鍚嶇О
+     *
+     * @type {string}
+     * @memberof CodeGenInput
+     */
+    printName?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/column-ouput.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/column-ouput.ts
new file mode 100644
index 0000000..6379fc9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/column-ouput.ts
@@ -0,0 +1,94 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鏁版嵁搴撹〃鍒�
+ *
+ * @export
+ * @interface ColumnOuput
+ */
+export interface ColumnOuput {
+
+    /**
+     * 瀛楁鍚�
+     *
+     * @type {string}
+     * @memberof ColumnOuput
+     */
+    columnName?: string | null;
+
+    /**
+     * 瀹炰綋鐨凱roperty鍚�
+     *
+     * @type {string}
+     * @memberof ColumnOuput
+     */
+    propertyName?: string | null;
+
+    /**
+     * 瀛楁鏁版嵁闀垮害
+     *
+     * @type {number}
+     * @memberof ColumnOuput
+     */
+    columnLength?: number;
+
+    /**
+     * 鏁版嵁搴撲腑绫诲瀷
+     *
+     * @type {string}
+     * @memberof ColumnOuput
+     */
+    dataType?: string | null;
+
+    /**
+     * 鏄惁涓轰富閿�
+     *
+     * @type {boolean}
+     * @memberof ColumnOuput
+     */
+    isPrimarykey?: boolean;
+
+    /**
+     * 鏄惁鍏佽涓虹┖
+     *
+     * @type {boolean}
+     * @memberof ColumnOuput
+     */
+    isNullable?: boolean;
+
+    /**
+     * .NET瀛楁绫诲瀷
+     *
+     * @type {string}
+     * @memberof ColumnOuput
+     */
+    netType?: string | null;
+
+    /**
+     * 瀛楁鎻忚堪
+     *
+     * @type {string}
+     * @memberof ColumnOuput
+     */
+    columnComment?: string | null;
+
+    /**
+     * 涓诲閿�
+     *
+     * @type {string}
+     * @memberof ColumnOuput
+     */
+    columnKey?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/column-relation.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/column-relation.ts
new file mode 100644
index 0000000..8933c78
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/column-relation.ts
@@ -0,0 +1,52 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface ColumnRelation
+ */
+export interface ColumnRelation {
+
+    /**
+     * @type {string}
+     * @memberof ColumnRelation
+     */
+    sourceTableName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof ColumnRelation
+     */
+    sourceColumnName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof ColumnRelation
+     */
+    type?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof ColumnRelation
+     */
+    targetTableName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof ColumnRelation
+     */
+    targetColumnName?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/const-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/const-output.ts
new file mode 100644
index 0000000..c4b0d8c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/const-output.ts
@@ -0,0 +1,46 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface ConstOutput
+ */
+export interface ConstOutput {
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof ConstOutput
+     */
+    name?: string | null;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {any}
+     * @memberof ConstOutput
+     */
+    code?: any | null;
+
+    /**
+     * 鎵╁睍瀛楁
+     *
+     * @type {any}
+     * @memberof ConstOutput
+     */
+    data?: any | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/create-entity-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/create-entity-input.ts
new file mode 100644
index 0000000..750ca48
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/create-entity-input.ts
@@ -0,0 +1,66 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface CreateEntityInput
+ */
+export interface CreateEntityInput {
+
+    /**
+     * 琛ㄥ悕
+     *
+     * @type {string}
+     * @memberof CreateEntityInput
+     * @example student
+     */
+    tableName?: string | null;
+
+    /**
+     * 瀹炰綋鍚�
+     *
+     * @type {string}
+     * @memberof CreateEntityInput
+     * @example Student
+     */
+    entityName?: string | null;
+
+    /**
+     * 鍩虹被鍚�
+     *
+     * @type {string}
+     * @memberof CreateEntityInput
+     * @example AutoIncrementEntity
+     */
+    baseClassName?: string | null;
+
+    /**
+     * 瀵煎嚭浣嶇疆
+     *
+     * @type {string}
+     * @memberof CreateEntityInput
+     * @example Web.Application
+     */
+    position?: string | null;
+
+    /**
+     * 搴撴爣璇�
+     *
+     * @type {string}
+     * @memberof CreateEntityInput
+     */
+    configId?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/create-seed-data-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/create-seed-data-input.ts
new file mode 100644
index 0000000..d7ca836
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/create-seed-data-input.ts
@@ -0,0 +1,75 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface CreateSeedDataInput
+ */
+export interface CreateSeedDataInput {
+
+    /**
+     * 搴撴爣璇�
+     *
+     * @type {string}
+     * @memberof CreateSeedDataInput
+     */
+    configId?: string | null;
+
+    /**
+     * 琛ㄥ悕
+     *
+     * @type {string}
+     * @memberof CreateSeedDataInput
+     * @example student
+     */
+    tableName?: string | null;
+
+    /**
+     * 瀹炰綋鍚嶇О
+     *
+     * @type {string}
+     * @memberof CreateSeedDataInput
+     * @example Student
+     */
+    entityName?: string | null;
+
+    /**
+     * 绉嶅瓙鍚嶇О
+     *
+     * @type {string}
+     * @memberof CreateSeedDataInput
+     * @example Student
+     */
+    seedDataName?: string | null;
+
+    /**
+     * 瀵煎嚭浣嶇疆
+     *
+     * @type {string}
+     * @memberof CreateSeedDataInput
+     * @example Web.Application
+     */
+    position?: string | null;
+
+    /**
+     * 鍚庣紑
+     *
+     * @type {string}
+     * @memberof CreateSeedDataInput
+     * @example Web.Application
+     */
+    suffix?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/culture-level-enum.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/culture-level-enum.ts
new file mode 100644
index 0000000..0d3f52b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/culture-level-enum.ts
@@ -0,0 +1,35 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 鏂囧寲绋嬪害鏋氫妇<br />&nbsp;鍏朵粬 Level0 = 0<br />&nbsp;鏂囩洸 Level1 = 1<br />&nbsp;灏忓 Level2 = 2<br />&nbsp;鍒濅腑 Level3 = 3<br />&nbsp;鏅�氶珮涓� Level4 = 4<br />&nbsp;鎶�宸ュ鏍� Level5 = 5<br />&nbsp;鑱屼笟鏁欒偛 Level6 = 6<br />&nbsp;鑱屼笟楂樹腑 Level7 = 7<br />&nbsp;涓瓑涓撶 Level8 = 8<br />&nbsp;澶у涓撶 Level9 = 9<br />&nbsp;澶у鏈 Level10 = 10<br />&nbsp;纭曞+鐮旂┒鐢� Level11 = 11<br />&nbsp;鍗氬+鐮旂┒鐢� Level12 = 12<br />
+ * @export
+ * @enum {string}
+ */
+export enum CultureLevelEnum {
+    NUMBER_0 = 0,
+    NUMBER_1 = 1,
+    NUMBER_2 = 2,
+    NUMBER_3 = 3,
+    NUMBER_4 = 4,
+    NUMBER_5 = 5,
+    NUMBER_6 = 6,
+    NUMBER_7 = 7,
+    NUMBER_8 = 8,
+    NUMBER_9 = 9,
+    NUMBER_10 = 10,
+    NUMBER_11 = 11,
+    NUMBER_12 = 12
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/data-item.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/data-item.ts
new file mode 100644
index 0000000..409b393
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/data-item.ts
@@ -0,0 +1,28 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DataItem
+ */
+export interface DataItem {
+
+    /**
+     * @type {string}
+     * @memberof DataItem
+     */
+    value?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/data-scope-enum.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/data-scope-enum.ts
new file mode 100644
index 0000000..6293fcd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/data-scope-enum.ts
@@ -0,0 +1,27 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 瑙掕壊鏁版嵁鑼冨洿鏋氫妇<br />&nbsp;鍏ㄩ儴鏁版嵁 All = 1<br />&nbsp;鏈儴闂ㄥ強浠ヤ笅鏁版嵁 DeptChild = 2<br />&nbsp;鏈儴闂ㄦ暟鎹� Dept = 3<br />&nbsp;浠呮湰浜烘暟鎹� Self = 4<br />&nbsp;鑷畾涔夋暟鎹� Define = 5<br />
+ * @export
+ * @enum {string}
+ */
+export enum DataScopeEnum {
+    NUMBER_1 = 1,
+    NUMBER_2 = 2,
+    NUMBER_3 = 3,
+    NUMBER_4 = 4,
+    NUMBER_5 = 5
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/database-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/database-output.ts
new file mode 100644
index 0000000..f13db68
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/database-output.ts
@@ -0,0 +1,45 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { DbType } from './db-type';
+ /**
+ * 鏁版嵁搴�
+ *
+ * @export
+ * @interface DatabaseOutput
+ */
+export interface DatabaseOutput {
+
+    /**
+     * 搴撳畾浣嶅櫒鍚�
+     *
+     * @type {string}
+     * @memberof DatabaseOutput
+     */
+    configId?: string | null;
+
+    /**
+     * @type {DbType}
+     * @memberof DatabaseOutput
+     */
+    dbType?: DbType;
+
+    /**
+     * 鏁版嵁搴撹繛鎺ュ瓧绗︿覆
+     *
+     * @type {string}
+     * @memberof DatabaseOutput
+     */
+    connectionString?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/db-column-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/db-column-input.ts
new file mode 100644
index 0000000..350c0df
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/db-column-input.ts
@@ -0,0 +1,82 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DbColumnInput
+ */
+export interface DbColumnInput {
+
+    /**
+     * @type {string}
+     * @memberof DbColumnInput
+     */
+    configId?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof DbColumnInput
+     */
+    tableName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof DbColumnInput
+     */
+    dbColumnName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof DbColumnInput
+     */
+    dataType?: string | null;
+
+    /**
+     * @type {number}
+     * @memberof DbColumnInput
+     */
+    length?: number;
+
+    /**
+     * @type {string}
+     * @memberof DbColumnInput
+     */
+    columnDescription?: string | null;
+
+    /**
+     * @type {number}
+     * @memberof DbColumnInput
+     */
+    isNullable?: number;
+
+    /**
+     * @type {number}
+     * @memberof DbColumnInput
+     */
+    isIdentity?: number;
+
+    /**
+     * @type {number}
+     * @memberof DbColumnInput
+     */
+    isPrimarykey?: number;
+
+    /**
+     * @type {number}
+     * @memberof DbColumnInput
+     */
+    decimalDigits?: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/db-column-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/db-column-output.ts
new file mode 100644
index 0000000..7313f16
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/db-column-output.ts
@@ -0,0 +1,136 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DbColumnOutput
+ */
+export interface DbColumnOutput {
+
+    /**
+     * @type {string}
+     * @memberof DbColumnOutput
+     */
+    tableName?: string | null;
+
+    /**
+     * @type {number}
+     * @memberof DbColumnOutput
+     */
+    tableId?: number;
+
+    /**
+     * @type {string}
+     * @memberof DbColumnOutput
+     */
+    dbColumnName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof DbColumnOutput
+     */
+    propertyName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof DbColumnOutput
+     */
+    dataType?: string | null;
+
+    /**
+     * @type {any}
+     * @memberof DbColumnOutput
+     */
+    propertyType?: any | null;
+
+    /**
+     * @type {number}
+     * @memberof DbColumnOutput
+     */
+    length?: number;
+
+    /**
+     * @type {string}
+     * @memberof DbColumnOutput
+     */
+    columnDescription?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof DbColumnOutput
+     */
+    defaultValue?: string | null;
+
+    /**
+     * @type {boolean}
+     * @memberof DbColumnOutput
+     */
+    isNullable?: boolean;
+
+    /**
+     * @type {boolean}
+     * @memberof DbColumnOutput
+     */
+    isIdentity?: boolean;
+
+    /**
+     * @type {boolean}
+     * @memberof DbColumnOutput
+     */
+    isPrimarykey?: boolean;
+
+    /**
+     * @type {any}
+     * @memberof DbColumnOutput
+     */
+    value?: any | null;
+
+    /**
+     * @type {number}
+     * @memberof DbColumnOutput
+     */
+    decimalDigits?: number;
+
+    /**
+     * @type {number}
+     * @memberof DbColumnOutput
+     */
+    scale?: number;
+
+    /**
+     * @type {boolean}
+     * @memberof DbColumnOutput
+     */
+    isArray?: boolean;
+
+    /**
+     * @type {boolean}
+     * @memberof DbColumnOutput
+     */
+    isJson?: boolean;
+
+    /**
+     * @type {boolean}
+     * @memberof DbColumnOutput
+     */
+    isUnsigned?: boolean | null;
+
+    /**
+     * @type {number}
+     * @memberof DbColumnOutput
+     */
+    createTableFieldSort?: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/db-object-type.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/db-object-type.ts
new file mode 100644
index 0000000..b82c40d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/db-object-type.ts
@@ -0,0 +1,25 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 
+ * @export
+ * @enum {string}
+ */
+export enum DbObjectType {
+    NUMBER_0 = 0,
+    NUMBER_1 = 1,
+    NUMBER_2 = 2
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/db-table-info.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/db-table-info.ts
new file mode 100644
index 0000000..2964183
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/db-table-info.ts
@@ -0,0 +1,41 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { DbObjectType } from './db-object-type';
+ /**
+ * 
+ *
+ * @export
+ * @interface DbTableInfo
+ */
+export interface DbTableInfo {
+
+    /**
+     * @type {string}
+     * @memberof DbTableInfo
+     */
+    name?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof DbTableInfo
+     */
+    description?: string | null;
+
+    /**
+     * @type {DbObjectType}
+     * @memberof DbTableInfo
+     */
+    dbObjectType?: DbObjectType;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/db-table-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/db-table-input.ts
new file mode 100644
index 0000000..3deab8a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/db-table-input.ts
@@ -0,0 +1,47 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { DbColumnInput } from './db-column-input';
+ /**
+ * 
+ *
+ * @export
+ * @interface DbTableInput
+ */
+export interface DbTableInput {
+
+    /**
+     * @type {string}
+     * @memberof DbTableInput
+     */
+    configId?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof DbTableInput
+     */
+    tableName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof DbTableInput
+     */
+    description?: string | null;
+
+    /**
+     * @type {Array<DbColumnInput>}
+     * @memberof DbTableInput
+     */
+    dbColumnInfoList?: Array<DbColumnInput> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/db-type.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/db-type.ts
new file mode 100644
index 0000000..44de844
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/db-type.ts
@@ -0,0 +1,47 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 
+ * @export
+ * @enum {string}
+ */
+export enum DbType {
+    NUMBER_0 = 0,
+    NUMBER_1 = 1,
+    NUMBER_2 = 2,
+    NUMBER_3 = 3,
+    NUMBER_4 = 4,
+    NUMBER_5 = 5,
+    NUMBER_6 = 6,
+    NUMBER_7 = 7,
+    NUMBER_8 = 8,
+    NUMBER_9 = 9,
+    NUMBER_10 = 10,
+    NUMBER_11 = 11,
+    NUMBER_12 = 12,
+    NUMBER_13 = 13,
+    NUMBER_14 = 14,
+    NUMBER_15 = 15,
+    NUMBER_16 = 16,
+    NUMBER_17 = 17,
+    NUMBER_18 = 18,
+    NUMBER_19 = 19,
+    NUMBER_20 = 20,
+    NUMBER_21 = 21,
+    NUMBER_22 = 22,
+    NUMBER_23 = 23,
+    NUMBER_900 = 900
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-code-gen-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-code-gen-input.ts
new file mode 100644
index 0000000..d58dc41
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-code-gen-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteCodeGenInput
+ */
+export interface DeleteCodeGenInput {
+
+    /**
+     * 浠g爜鐢熸垚鍣↖d
+     *
+     * @type {number}
+     * @memberof DeleteCodeGenInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-config-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-config-input.ts
new file mode 100644
index 0000000..c0139e4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-config-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteConfigInput
+ */
+export interface DeleteConfigInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeleteConfigInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-db-column-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-db-column-input.ts
new file mode 100644
index 0000000..7d803f3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-db-column-input.ts
@@ -0,0 +1,40 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteDbColumnInput
+ */
+export interface DeleteDbColumnInput {
+
+    /**
+     * @type {string}
+     * @memberof DeleteDbColumnInput
+     */
+    configId?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof DeleteDbColumnInput
+     */
+    tableName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof DeleteDbColumnInput
+     */
+    dbColumnName?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-db-table-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-db-table-input.ts
new file mode 100644
index 0000000..15c34af
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-db-table-input.ts
@@ -0,0 +1,34 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteDbTableInput
+ */
+export interface DeleteDbTableInput {
+
+    /**
+     * @type {string}
+     * @memberof DeleteDbTableInput
+     */
+    configId?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof DeleteDbTableInput
+     */
+    tableName?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-dict-data-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-dict-data-input.ts
new file mode 100644
index 0000000..7e39120
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-dict-data-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteDictDataInput
+ */
+export interface DeleteDictDataInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeleteDictDataInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-dict-type-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-dict-type-input.ts
new file mode 100644
index 0000000..3fc4808
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-dict-type-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteDictTypeInput
+ */
+export interface DeleteDictTypeInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeleteDictTypeInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-file-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-file-input.ts
new file mode 100644
index 0000000..b43a424
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-file-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteFileInput
+ */
+export interface DeleteFileInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeleteFileInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-job-detail-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-job-detail-input.ts
new file mode 100644
index 0000000..d6cf07c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-job-detail-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteJobDetailInput
+ */
+export interface DeleteJobDetailInput {
+
+    /**
+     * 浣滀笟Id
+     *
+     * @type {string}
+     * @memberof DeleteJobDetailInput
+     */
+    jobId?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-job-trigger-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-job-trigger-input.ts
new file mode 100644
index 0000000..7178f10
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-job-trigger-input.ts
@@ -0,0 +1,38 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteJobTriggerInput
+ */
+export interface DeleteJobTriggerInput {
+
+    /**
+     * 浣滀笟Id
+     *
+     * @type {string}
+     * @memberof DeleteJobTriggerInput
+     */
+    jobId?: string | null;
+
+    /**
+     * 瑙﹀彂鍣↖d
+     *
+     * @type {string}
+     * @memberof DeleteJobTriggerInput
+     */
+    triggerId?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-menu-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-menu-input.ts
new file mode 100644
index 0000000..ed42476
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-menu-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteMenuInput
+ */
+export interface DeleteMenuInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeleteMenuInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-message-template-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-message-template-input.ts
new file mode 100644
index 0000000..99a254b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-message-template-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鍒犻櫎娑堟伅妯℃澘
+ *
+ * @export
+ * @interface DeleteMessageTemplateInput
+ */
+export interface DeleteMessageTemplateInput {
+
+    /**
+     * 璁㈤槄妯℃澘Id
+     *
+     * @type {string}
+     * @memberof DeleteMessageTemplateInput
+     */
+    templateId: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-notice-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-notice-input.ts
new file mode 100644
index 0000000..dd47638
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-notice-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteNoticeInput
+ */
+export interface DeleteNoticeInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeleteNoticeInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-open-access-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-open-access-input.ts
new file mode 100644
index 0000000..8441d66
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-open-access-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteOpenAccessInput
+ */
+export interface DeleteOpenAccessInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeleteOpenAccessInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-org-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-org-input.ts
new file mode 100644
index 0000000..69c7828
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-org-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteOrgInput
+ */
+export interface DeleteOrgInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeleteOrgInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-plugin-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-plugin-input.ts
new file mode 100644
index 0000000..367c98f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-plugin-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeletePluginInput
+ */
+export interface DeletePluginInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeletePluginInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-pos-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-pos-input.ts
new file mode 100644
index 0000000..75d007d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-pos-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeletePosInput
+ */
+export interface DeletePosInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeletePosInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-print-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-print-input.ts
new file mode 100644
index 0000000..b46f41d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-print-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeletePrintInput
+ */
+export interface DeletePrintInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeletePrintInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-region-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-region-input.ts
new file mode 100644
index 0000000..3da08f9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-region-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteRegionInput
+ */
+export interface DeleteRegionInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeleteRegionInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-role-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-role-input.ts
new file mode 100644
index 0000000..5e31fcc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-role-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteRoleInput
+ */
+export interface DeleteRoleInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeleteRoleInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-sys-ldap-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-sys-ldap-input.ts
new file mode 100644
index 0000000..2999287
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-sys-ldap-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteSysLdapInput
+ */
+export interface DeleteSysLdapInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeleteSysLdapInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-tenant-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-tenant-input.ts
new file mode 100644
index 0000000..3d25fac
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-tenant-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteTenantInput
+ */
+export interface DeleteTenantInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeleteTenantInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-user-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-user-input.ts
new file mode 100644
index 0000000..58ea290
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-user-input.ts
@@ -0,0 +1,38 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鍒犻櫎鐢ㄦ埛杈撳叆鍙傛暟
+ *
+ * @export
+ * @interface DeleteUserInput
+ */
+export interface DeleteUserInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeleteUserInput
+     */
+    id: number;
+
+    /**
+     * 鏈烘瀯Id
+     *
+     * @type {number}
+     * @memberof DeleteUserInput
+     */
+    orgId?: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-wechat-user-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-wechat-user-input.ts
new file mode 100644
index 0000000..52b3f53
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/delete-wechat-user-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface DeleteWechatUserInput
+ */
+export interface DeleteWechatUserInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DeleteWechatUserInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/dict-data-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/dict-data-input.ts
new file mode 100644
index 0000000..a63eeb6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/dict-data-input.ts
@@ -0,0 +1,37 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface DictDataInput
+ */
+export interface DictDataInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DictDataInput
+     */
+    id: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof DictDataInput
+     */
+    status?: StatusEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/dict-type-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/dict-type-input.ts
new file mode 100644
index 0000000..807387a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/dict-type-input.ts
@@ -0,0 +1,37 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface DictTypeInput
+ */
+export interface DictTypeInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof DictTypeInput
+     */
+    id: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof DictTypeInput
+     */
+    status?: StatusEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/enum-entity.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/enum-entity.ts
new file mode 100644
index 0000000..ec264eb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/enum-entity.ts
@@ -0,0 +1,46 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鏋氫妇瀹炰綋
+ *
+ * @export
+ * @interface EnumEntity
+ */
+export interface EnumEntity {
+
+    /**
+     * 鏋氫妇鐨勬弿杩�
+     *
+     * @type {string}
+     * @memberof EnumEntity
+     */
+    describe?: string | null;
+
+    /**
+     * 鏋氫妇鍚嶇О
+     *
+     * @type {string}
+     * @memberof EnumEntity
+     */
+    name?: string | null;
+
+    /**
+     * 鏋氫妇瀵硅薄鐨勫��
+     *
+     * @type {number}
+     * @memberof EnumEntity
+     */
+    value?: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/enum-type-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/enum-type-output.ts
new file mode 100644
index 0000000..2a140b9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/enum-type-output.ts
@@ -0,0 +1,55 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { EnumEntity } from './enum-entity';
+ /**
+ * 鏋氫妇绫诲瀷杈撳嚭鍙傛暟
+ *
+ * @export
+ * @interface EnumTypeOutput
+ */
+export interface EnumTypeOutput {
+
+    /**
+     * 鏋氫妇绫诲瀷鎻忚堪
+     *
+     * @type {string}
+     * @memberof EnumTypeOutput
+     */
+    typeDescribe?: string | null;
+
+    /**
+     * 鏋氫妇绫诲瀷鍚嶇О
+     *
+     * @type {string}
+     * @memberof EnumTypeOutput
+     */
+    typeName?: string | null;
+
+    /**
+     * 鏋氫妇绫诲瀷澶囨敞
+     *
+     * @type {string}
+     * @memberof EnumTypeOutput
+     */
+    typeRemark?: string | null;
+
+    /**
+     * 鏋氫妇瀹炰綋
+     *
+     * @type {Array<EnumEntity>}
+     * @memberof EnumTypeOutput
+     */
+    enumEntities?: Array<EnumEntity> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/file-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/file-input.ts
new file mode 100644
index 0000000..03f2c37
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/file-input.ts
@@ -0,0 +1,46 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface FileInput
+ */
+export interface FileInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof FileInput
+     */
+    id: number;
+
+    /**
+     * 鏂囦欢鍚嶇О
+     *
+     * @type {string}
+     * @memberof FileInput
+     */
+    fileName?: string | null;
+
+    /**
+     * 鏂囦欢Url
+     *
+     * @type {string}
+     * @memberof FileInput
+     */
+    url?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/gen-auth-url-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/gen-auth-url-input.ts
new file mode 100644
index 0000000..35b7d6f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/gen-auth-url-input.ts
@@ -0,0 +1,46 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鐢熸垚缃戦〉鎺堟潈Url
+ *
+ * @export
+ * @interface GenAuthUrlInput
+ */
+export interface GenAuthUrlInput {
+
+    /**
+     * RedirectUrl
+     *
+     * @type {string}
+     * @memberof GenAuthUrlInput
+     */
+    redirectUrl?: string | null;
+
+    /**
+     * Scope
+     *
+     * @type {string}
+     * @memberof GenAuthUrlInput
+     */
+    scope?: string | null;
+
+    /**
+     * State
+     *
+     * @type {string}
+     * @memberof GenAuthUrlInput
+     */
+    state?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/gender-enum.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/gender-enum.ts
new file mode 100644
index 0000000..8a3d989
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/gender-enum.ts
@@ -0,0 +1,25 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 鎬у埆鏋氫妇<br />&nbsp;鐢� Male = 1<br />&nbsp;濂� Female = 2<br />&nbsp;鍏朵粬 Other = 3<br />
+ * @export
+ * @enum {string}
+ */
+export enum GenderEnum {
+    NUMBER_1 = 1,
+    NUMBER_2 = 2,
+    NUMBER_3 = 3
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/generate-signature-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/generate-signature-input.ts
new file mode 100644
index 0000000..1a73c49
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/generate-signature-input.ts
@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { HttpMethodEnum } from './http-method-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface GenerateSignatureInput
+ */
+export interface GenerateSignatureInput {
+
+    /**
+     * 韬唤鏍囪瘑
+     *
+     * @type {string}
+     * @memberof GenerateSignatureInput
+     */
+    accessKey: string;
+
+    /**
+     * 瀵嗛挜
+     *
+     * @type {string}
+     * @memberof GenerateSignatureInput
+     */
+    accessSecret: string;
+
+    /**
+     * @type {HttpMethodEnum}
+     * @memberof GenerateSignatureInput
+     */
+    method?: HttpMethodEnum;
+
+    /**
+     * 璇锋眰鎺ュ彛鍦板潃
+     *
+     * @type {string}
+     * @memberof GenerateSignatureInput
+     */
+    url: string;
+
+    /**
+     * 鏃堕棿鎴�
+     *
+     * @type {number}
+     * @memberof GenerateSignatureInput
+     */
+    timestamp: number;
+
+    /**
+     * 闅忔満鏁�
+     *
+     * @type {string}
+     * @memberof GenerateSignatureInput
+     */
+    nonce: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/http-method-enum.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/http-method-enum.ts
new file mode 100644
index 0000000..9703121
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/http-method-enum.ts
@@ -0,0 +1,31 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * HTTP璇锋眰鏂规硶鏋氫妇<br />&nbsp;HTTP \"GET\" method. Get = 0<br />&nbsp;HTTP \"POST\" method. Post = 1<br />&nbsp; HTTP \"PUT\" method. Put = 2<br />&nbsp;HTTP \"DELETE\" method. Delete = 3<br />&nbsp;HTTP \"PATCH\" method.  Patch = 4<br />&nbsp;HTTP \"HEAD\" method. Head = 5<br />&nbsp;HTTP \"OPTIONS\" method. Options = 6<br />&nbsp; HTTP \"TRACE\" method. Trace = 7<br />&nbsp;HTTP \"CONNECT\" method. Connect = 8<br />
+ * @export
+ * @enum {string}
+ */
+export enum HttpMethodEnum {
+    NUMBER_0 = 0,
+    NUMBER_1 = 1,
+    NUMBER_2 = 2,
+    NUMBER_3 = 3,
+    NUMBER_4 = 4,
+    NUMBER_5 = 5,
+    NUMBER_6 = 6,
+    NUMBER_7 = 7,
+    NUMBER_8 = 8
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/iaction-result.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/iaction-result.ts
new file mode 100644
index 0000000..88c805d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/iaction-result.ts
@@ -0,0 +1,22 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface IActionResult
+ */
+export interface IActionResult {
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/index.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/index.ts
new file mode 100644
index 0000000..db516f2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/index.ts
@@ -0,0 +1,300 @@
+export * from './account-type-enum';
+export * from './add-code-gen-input';
+export * from './add-config-input';
+export * from './add-dict-data-input';
+export * from './add-dict-type-input';
+export * from './add-job-detail-input';
+export * from './add-job-trigger-input';
+export * from './add-menu-input';
+export * from './add-notice-input';
+export * from './add-open-access-input';
+export * from './add-org-input';
+export * from './add-plugin-input';
+export * from './add-pos-input';
+export * from './add-print-input';
+export * from './add-region-input';
+export * from './add-role-input';
+export * from './add-subscribe-message-template-input';
+export * from './add-sys-ldap-input';
+export * from './add-tenant-input';
+export * from './add-user-input';
+export * from './admin-result-boolean';
+export * from './admin-result-iaction-result';
+export * from './admin-result-int32';
+export * from './admin-result-int64';
+export * from './admin-result-jobject';
+export * from './admin-result-list-api-output';
+export * from './admin-result-list-code-gen-config';
+export * from './admin-result-list-column-ouput';
+export * from './admin-result-list-const-output';
+export * from './admin-result-list-database-output';
+export * from './admin-result-list-db-column-output';
+export * from './admin-result-list-db-table-info';
+export * from './admin-result-list-enum-entity';
+export * from './admin-result-list-enum-type-output';
+export * from './admin-result-list-int64';
+export * from './admin-result-list-menu-output';
+export * from './admin-result-list-role-output';
+export * from './admin-result-list-string';
+export * from './admin-result-list-sys-config';
+export * from './admin-result-list-sys-dict-data';
+export * from './admin-result-list-sys-dict-type';
+export * from './admin-result-list-sys-file';
+export * from './admin-result-list-sys-job-cluster';
+export * from './admin-result-list-sys-job-trigger';
+export * from './admin-result-list-sys-ldap';
+export * from './admin-result-list-sys-menu';
+export * from './admin-result-list-sys-notice';
+export * from './admin-result-list-sys-org';
+export * from './admin-result-list-sys-pos';
+export * from './admin-result-list-sys-region';
+export * from './admin-result-list-sys-user';
+export * from './admin-result-list-sys-user-ext-org';
+export * from './admin-result-list-table-output';
+export * from './admin-result-login-output';
+export * from './admin-result-login-user-output';
+export * from './admin-result-object';
+export * from './admin-result-sm-key-pair-output';
+export * from './admin-result-sql-sugar-paged-list-job-detail-output';
+export * from './admin-result-sql-sugar-paged-list-open-access-output';
+export * from './admin-result-sql-sugar-paged-list-sys-code-gen';
+export * from './admin-result-sql-sugar-paged-list-sys-config';
+export * from './admin-result-sql-sugar-paged-list-sys-dict-data';
+export * from './admin-result-sql-sugar-paged-list-sys-dict-type';
+export * from './admin-result-sql-sugar-paged-list-sys-file';
+export * from './admin-result-sql-sugar-paged-list-sys-job-trigger-record';
+export * from './admin-result-sql-sugar-paged-list-sys-ldap';
+export * from './admin-result-sql-sugar-paged-list-sys-log-diff';
+export * from './admin-result-sql-sugar-paged-list-sys-log-ex';
+export * from './admin-result-sql-sugar-paged-list-sys-log-op';
+export * from './admin-result-sql-sugar-paged-list-sys-log-vis';
+export * from './admin-result-sql-sugar-paged-list-sys-notice';
+export * from './admin-result-sql-sugar-paged-list-sys-notice-user';
+export * from './admin-result-sql-sugar-paged-list-sys-online-user';
+export * from './admin-result-sql-sugar-paged-list-sys-plugin';
+export * from './admin-result-sql-sugar-paged-list-sys-print';
+export * from './admin-result-sql-sugar-paged-list-sys-region';
+export * from './admin-result-sql-sugar-paged-list-sys-role';
+export * from './admin-result-sql-sugar-paged-list-sys-wechat-user';
+export * from './admin-result-sql-sugar-paged-list-tenant-output';
+export * from './admin-result-sql-sugar-paged-list-user-output';
+export * from './admin-result-string';
+export * from './admin-result-sys-code-gen';
+export * from './admin-result-sys-code-gen-config';
+export * from './admin-result-sys-config';
+export * from './admin-result-sys-dict-data';
+export * from './admin-result-sys-dict-type';
+export * from './admin-result-sys-file';
+export * from './admin-result-sys-ldap';
+export * from './admin-result-sys-print';
+export * from './admin-result-sys-user';
+export * from './admin-result-sys-wechat-pay';
+export * from './admin-result-visual-db-table';
+export * from './admin-result-wechat-pay-output';
+export * from './admin-result-wx-open-id-output';
+export * from './admin-result-wx-phone-output';
+export * from './api-output';
+export * from './card-type-enum';
+export * from './change-pwd-input';
+export * from './cluster-status';
+export * from './code-gen-config';
+export * from './code-gen-input';
+export * from './column-ouput';
+export * from './column-relation';
+export * from './const-output';
+export * from './create-entity-input';
+export * from './create-seed-data-input';
+export * from './culture-level-enum';
+export * from './data-item';
+export * from './data-scope-enum';
+export * from './database-output';
+export * from './db-column-input';
+export * from './db-column-output';
+export * from './db-object-type';
+export * from './db-table-info';
+export * from './db-table-input';
+export * from './db-type';
+export * from './delete-code-gen-input';
+export * from './delete-config-input';
+export * from './delete-db-column-input';
+export * from './delete-db-table-input';
+export * from './delete-dict-data-input';
+export * from './delete-dict-type-input';
+export * from './delete-file-input';
+export * from './delete-job-detail-input';
+export * from './delete-job-trigger-input';
+export * from './delete-menu-input';
+export * from './delete-message-template-input';
+export * from './delete-notice-input';
+export * from './delete-open-access-input';
+export * from './delete-org-input';
+export * from './delete-plugin-input';
+export * from './delete-pos-input';
+export * from './delete-print-input';
+export * from './delete-region-input';
+export * from './delete-role-input';
+export * from './delete-sys-ldap-input';
+export * from './delete-tenant-input';
+export * from './delete-user-input';
+export * from './delete-wechat-user-input';
+export * from './dict-data-input';
+export * from './dict-type-input';
+export * from './enum-entity';
+export * from './enum-type-output';
+export * from './file-input';
+export * from './gen-auth-url-input';
+export * from './gender-enum';
+export * from './generate-signature-input';
+export * from './http-method-enum';
+export * from './iaction-result';
+export * from './jtoken';
+export * from './job-create-type-enum';
+export * from './job-detail-input';
+export * from './job-detail-output';
+export * from './job-trigger-input';
+export * from './log-input';
+export * from './log-level';
+export * from './login-input';
+export * from './login-output';
+export * from './login-phone-input';
+export * from './login-user-output';
+export * from './menu-output';
+export * from './menu-type-enum';
+export * from './message-input';
+export * from './message-template-send-input';
+export * from './message-type-enum';
+export * from './notice-input';
+export * from './notice-status-enum';
+export * from './notice-type-enum';
+export * from './notice-user-status-enum';
+export * from './open-access-input';
+export * from './open-access-output';
+export * from './page-config-input';
+export * from './page-dict-data-input';
+export * from './page-dict-type-input';
+export * from './page-file-input';
+export * from './page-job-detail-input';
+export * from './page-job-trigger-record-input';
+export * from './page-log-input';
+export * from './page-notice-input';
+export * from './page-online-user-input';
+export * from './page-plugin-input';
+export * from './page-print-input';
+export * from './page-region-input';
+export * from './page-role-input';
+export * from './page-tenant-input';
+export * from './page-user-input';
+export * from './platform-type-enum';
+export * from './reset-pwd-user-input';
+export * from './role-input';
+export * from './role-menu-input';
+export * from './role-org-input';
+export * from './role-output';
+export * from './send-subscribe-message-input';
+export * from './signature-input';
+export * from './sm-key-pair-output';
+export * from './sql-sugar-paged-list-job-detail-output';
+export * from './sql-sugar-paged-list-open-access-output';
+export * from './sql-sugar-paged-list-sys-code-gen';
+export * from './sql-sugar-paged-list-sys-config';
+export * from './sql-sugar-paged-list-sys-dict-data';
+export * from './sql-sugar-paged-list-sys-dict-type';
+export * from './sql-sugar-paged-list-sys-file';
+export * from './sql-sugar-paged-list-sys-job-trigger-record';
+export * from './sql-sugar-paged-list-sys-ldap';
+export * from './sql-sugar-paged-list-sys-log-diff';
+export * from './sql-sugar-paged-list-sys-log-ex';
+export * from './sql-sugar-paged-list-sys-log-op';
+export * from './sql-sugar-paged-list-sys-log-vis';
+export * from './sql-sugar-paged-list-sys-notice';
+export * from './sql-sugar-paged-list-sys-notice-user';
+export * from './sql-sugar-paged-list-sys-online-user';
+export * from './sql-sugar-paged-list-sys-plugin';
+export * from './sql-sugar-paged-list-sys-print';
+export * from './sql-sugar-paged-list-sys-region';
+export * from './sql-sugar-paged-list-sys-role';
+export * from './sql-sugar-paged-list-sys-wechat-user';
+export * from './sql-sugar-paged-list-tenant-output';
+export * from './sql-sugar-paged-list-user-output';
+export * from './status-enum';
+export * from './swagger-submit-url-body';
+export * from './sync-sys-ldap-input';
+export * from './sys-code-gen';
+export * from './sys-code-gen-config';
+export * from './sys-config';
+export * from './sys-dict-data';
+export * from './sys-dict-type';
+export * from './sys-file';
+export * from './sys-file-upload-avatar-body';
+export * from './sys-file-upload-file-body';
+export * from './sys-file-upload-files-body';
+export * from './sys-file-upload-signature-body';
+export * from './sys-job-cluster';
+export * from './sys-job-detail';
+export * from './sys-job-trigger';
+export * from './sys-job-trigger-record';
+export * from './sys-ldap';
+export * from './sys-ldap-input';
+export * from './sys-log-diff';
+export * from './sys-log-ex';
+export * from './sys-log-op';
+export * from './sys-log-vis';
+export * from './sys-menu';
+export * from './sys-menu-meta';
+export * from './sys-notice';
+export * from './sys-notice-user';
+export * from './sys-online-user';
+export * from './sys-org';
+export * from './sys-plugin';
+export * from './sys-pos';
+export * from './sys-print';
+export * from './sys-region';
+export * from './sys-role';
+export * from './sys-user';
+export * from './sys-user-ext-org';
+export * from './sys-wechat-pay';
+export * from './sys-wechat-user';
+export * from './table-output';
+export * from './tenant-id-input';
+export * from './tenant-input';
+export * from './tenant-output';
+export * from './tenant-type-enum';
+export * from './tenant-user-input';
+export * from './trigger-status';
+export * from './unlock-login-input';
+export * from './update-code-gen-input';
+export * from './update-config-input';
+export * from './update-db-column-input';
+export * from './update-db-table-input';
+export * from './update-dict-data-input';
+export * from './update-dict-type-input';
+export * from './update-job-detail-input';
+export * from './update-job-trigger-input';
+export * from './update-menu-input';
+export * from './update-notice-input';
+export * from './update-open-access-input';
+export * from './update-org-input';
+export * from './update-plugin-input';
+export * from './update-pos-input';
+export * from './update-print-input';
+export * from './update-region-input';
+export * from './update-role-input';
+export * from './update-sys-ldap-input';
+export * from './update-tenant-input';
+export * from './update-user-input';
+export * from './upload-file-from-base64-input';
+export * from './user-input';
+export * from './user-output';
+export * from './user-role-input';
+export * from './visual-column';
+export * from './visual-db-table';
+export * from './visual-table';
+export * from './wechat-pay-output';
+export * from './wechat-pay-para-input';
+export * from './wechat-pay-transaction-input';
+export * from './wechat-user-input';
+export * from './wechat-user-login';
+export * from './wx-open-id-login-input';
+export * from './wx-open-id-output';
+export * from './wx-phone-output';
+export * from './yes-no-enum';
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/job-create-type-enum.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/job-create-type-enum.ts
new file mode 100644
index 0000000..c87b177
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/job-create-type-enum.ts
@@ -0,0 +1,25 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 浣滀笟鍒涘缓绫诲瀷鏋氫妇<br />&nbsp;鍐呯疆 BuiltIn = 0<br />&nbsp;鑴氭湰 Script = 1<br />&nbsp;HTTP璇锋眰 Http = 2<br />
+ * @export
+ * @enum {string}
+ */
+export enum JobCreateTypeEnum {
+    NUMBER_0 = 0,
+    NUMBER_1 = 1,
+    NUMBER_2 = 2
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/job-detail-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/job-detail-input.ts
new file mode 100644
index 0000000..8bb90ca
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/job-detail-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface JobDetailInput
+ */
+export interface JobDetailInput {
+
+    /**
+     * 浣滀笟Id
+     *
+     * @type {string}
+     * @memberof JobDetailInput
+     */
+    jobId?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/job-detail-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/job-detail-output.ts
new file mode 100644
index 0000000..a51f1f8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/job-detail-output.ts
@@ -0,0 +1,38 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysJobDetail } from './sys-job-detail';
+import { SysJobTrigger } from './sys-job-trigger';
+ /**
+ * 
+ *
+ * @export
+ * @interface JobDetailOutput
+ */
+export interface JobDetailOutput {
+
+    /**
+     * @type {SysJobDetail}
+     * @memberof JobDetailOutput
+     */
+    jobDetail?: SysJobDetail;
+
+    /**
+     * 瑙﹀彂鍣ㄩ泦鍚�
+     *
+     * @type {Array<SysJobTrigger>}
+     * @memberof JobDetailOutput
+     */
+    jobTriggers?: Array<SysJobTrigger> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/job-trigger-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/job-trigger-input.ts
new file mode 100644
index 0000000..1638c04
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/job-trigger-input.ts
@@ -0,0 +1,38 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface JobTriggerInput
+ */
+export interface JobTriggerInput {
+
+    /**
+     * 浣滀笟Id
+     *
+     * @type {string}
+     * @memberof JobTriggerInput
+     */
+    jobId?: string | null;
+
+    /**
+     * 瑙﹀彂鍣↖d
+     *
+     * @type {string}
+     * @memberof JobTriggerInput
+     */
+    triggerId?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/jtoken.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/jtoken.ts
new file mode 100644
index 0000000..38e6f26
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/jtoken.ts
@@ -0,0 +1,23 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { JToken } from './jtoken';
+ /**
+ * 
+ *
+ * @export
+ * @interface JToken
+ */
+export interface JToken extends Array<JToken> {
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/log-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/log-input.ts
new file mode 100644
index 0000000..cd0f18c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/log-input.ts
@@ -0,0 +1,38 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface LogInput
+ */
+export interface LogInput {
+
+    /**
+     * 寮�濮嬫椂闂�
+     *
+     * @type {Date}
+     * @memberof LogInput
+     */
+    startTime?: Date | null;
+
+    /**
+     * 缁撴潫鏃堕棿
+     *
+     * @type {Date}
+     * @memberof LogInput
+     */
+    endTime?: Date | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/log-level.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/log-level.ts
new file mode 100644
index 0000000..060094f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/log-level.ts
@@ -0,0 +1,29 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 
+ * @export
+ * @enum {string}
+ */
+export enum LogLevel {
+    NUMBER_0 = 0,
+    NUMBER_1 = 1,
+    NUMBER_2 = 2,
+    NUMBER_3 = 3,
+    NUMBER_4 = 4,
+    NUMBER_5 = 5,
+    NUMBER_6 = 6
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/login-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/login-input.ts
new file mode 100644
index 0000000..a3ee721
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/login-input.ts
@@ -0,0 +1,56 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鐢ㄦ埛鐧诲綍鍙傛暟
+ *
+ * @export
+ * @interface LoginInput
+ */
+export interface LoginInput {
+
+    /**
+     * 璐﹀彿
+     *
+     * @type {string}
+     * @memberof LoginInput
+     * @example admin
+     */
+    account: string;
+
+    /**
+     * 瀵嗙爜
+     *
+     * @type {string}
+     * @memberof LoginInput
+     * @example 123456
+     */
+    password: string;
+
+    /**
+     * 楠岃瘉鐮両d
+     *
+     * @type {number}
+     * @memberof LoginInput
+     */
+    codeId?: number;
+
+    /**
+     * 楠岃瘉鐮�
+     *
+     * @type {string}
+     * @memberof LoginInput
+     */
+    code?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/login-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/login-output.ts
new file mode 100644
index 0000000..a562c14
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/login-output.ts
@@ -0,0 +1,38 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鐢ㄦ埛鐧诲綍缁撴灉
+ *
+ * @export
+ * @interface LoginOutput
+ */
+export interface LoginOutput {
+
+    /**
+     * 浠ょ墝Token
+     *
+     * @type {string}
+     * @memberof LoginOutput
+     */
+    accessToken?: string | null;
+
+    /**
+     * 鍒锋柊Token
+     *
+     * @type {string}
+     * @memberof LoginOutput
+     */
+    refreshToken?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/login-phone-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/login-phone-input.ts
new file mode 100644
index 0000000..cffcc7f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/login-phone-input.ts
@@ -0,0 +1,40 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface LoginPhoneInput
+ */
+export interface LoginPhoneInput {
+
+    /**
+     * 鎵嬫満鍙风爜
+     *
+     * @type {string}
+     * @memberof LoginPhoneInput
+     * @example admin
+     */
+    phone: string;
+
+    /**
+     * 楠岃瘉鐮�
+     *
+     * @type {string}
+     * @memberof LoginPhoneInput
+     * @example 123456
+     */
+    code: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/login-user-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/login-user-output.ts
new file mode 100644
index 0000000..be86efb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/login-user-output.ts
@@ -0,0 +1,157 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { AccountTypeEnum } from './account-type-enum';
+ /**
+ * 鐢ㄦ埛鐧诲綍淇℃伅
+ *
+ * @export
+ * @interface LoginUserOutput
+ */
+export interface LoginUserOutput {
+
+    /**
+     * 鐢ㄦ埛id
+     *
+     * @type {number}
+     * @memberof LoginUserOutput
+     */
+    id?: number;
+
+    /**
+     * 璐﹀彿鍚嶇О
+     *
+     * @type {string}
+     * @memberof LoginUserOutput
+     */
+    account?: string | null;
+
+    /**
+     * 鐪熷疄濮撳悕
+     *
+     * @type {string}
+     * @memberof LoginUserOutput
+     */
+    realName?: string | null;
+
+    /**
+     * 鐢佃瘽
+     *
+     * @type {string}
+     * @memberof LoginUserOutput
+     */
+    phone?: string | null;
+
+    /**
+     * 韬唤璇�
+     *
+     * @type {string}
+     * @memberof LoginUserOutput
+     */
+    idCardNum?: string | null;
+
+    /**
+     * 閭
+     *
+     * @type {string}
+     * @memberof LoginUserOutput
+     */
+    email?: string | null;
+
+    /**
+     * @type {AccountTypeEnum}
+     * @memberof LoginUserOutput
+     */
+    accountType?: AccountTypeEnum;
+
+    /**
+     * 澶村儚
+     *
+     * @type {string}
+     * @memberof LoginUserOutput
+     */
+    avatar?: string | null;
+
+    /**
+     * 涓汉绠�浠�
+     *
+     * @type {string}
+     * @memberof LoginUserOutput
+     */
+    introduction?: string | null;
+
+    /**
+     * 鍦板潃
+     *
+     * @type {string}
+     * @memberof LoginUserOutput
+     */
+    address?: string | null;
+
+    /**
+     * 鐢靛瓙绛惧悕
+     *
+     * @type {string}
+     * @memberof LoginUserOutput
+     */
+    signature?: string | null;
+
+    /**
+     * 鏈烘瀯Id
+     *
+     * @type {number}
+     * @memberof LoginUserOutput
+     */
+    orgId?: number;
+
+    /**
+     * 鏈烘瀯鍚嶇О
+     *
+     * @type {string}
+     * @memberof LoginUserOutput
+     */
+    orgName?: string | null;
+
+    /**
+     * 鏈烘瀯绫诲瀷
+     *
+     * @type {string}
+     * @memberof LoginUserOutput
+     */
+    orgType?: string | null;
+
+    /**
+     * 鑱屼綅鍚嶇О
+     *
+     * @type {string}
+     * @memberof LoginUserOutput
+     */
+    posName?: string | null;
+
+    /**
+     * 鎸夐挳鏉冮檺闆嗗悎
+     *
+     * @type {Array<string>}
+     * @memberof LoginUserOutput
+     */
+    buttons?: Array<string> | null;
+
+    /**
+     * 瑙掕壊闆嗗悎
+     *
+     * @type {Array<number>}
+     * @memberof LoginUserOutput
+     */
+    roleIds?: Array<number> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/menu-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/menu-output.ts
new file mode 100644
index 0000000..27a2683
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/menu-output.ts
@@ -0,0 +1,156 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { MenuOutput } from './menu-output';
+import { MenuTypeEnum } from './menu-type-enum';
+import { StatusEnum } from './status-enum';
+import { SysMenuMeta } from './sys-menu-meta';
+ /**
+ * 绯荤粺鑿滃崟杩斿洖缁撴灉
+ *
+ * @export
+ * @interface MenuOutput
+ */
+export interface MenuOutput {
+
+    /**
+     * Id
+     *
+     * @type {number}
+     * @memberof MenuOutput
+     */
+    id?: number;
+
+    /**
+     * 鐖禝d
+     *
+     * @type {number}
+     * @memberof MenuOutput
+     */
+    pid?: number;
+
+    /**
+     * @type {MenuTypeEnum}
+     * @memberof MenuOutput
+     */
+    type?: MenuTypeEnum;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof MenuOutput
+     */
+    name?: string | null;
+
+    /**
+     * 璺敱鍦板潃
+     *
+     * @type {string}
+     * @memberof MenuOutput
+     */
+    path?: string | null;
+
+    /**
+     * 缁勪欢璺緞
+     *
+     * @type {string}
+     * @memberof MenuOutput
+     */
+    component?: string | null;
+
+    /**
+     * 鏉冮檺鏍囪瘑
+     *
+     * @type {string}
+     * @memberof MenuOutput
+     */
+    permission?: string | null;
+
+    /**
+     * 閲嶅畾鍚�
+     *
+     * @type {string}
+     * @memberof MenuOutput
+     */
+    redirect?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof MenuOutput
+     */
+    orderNo?: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof MenuOutput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof MenuOutput
+     */
+    remark?: string | null;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof MenuOutput
+     */
+    createTime?: Date;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof MenuOutput
+     */
+    updateTime?: Date;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof MenuOutput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof MenuOutput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * @type {SysMenuMeta}
+     * @memberof MenuOutput
+     */
+    meta?: SysMenuMeta;
+
+    /**
+     * 鑿滃崟瀛愰」
+     *
+     * @type {Array<MenuOutput>}
+     * @memberof MenuOutput
+     */
+    children?: Array<MenuOutput> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/menu-type-enum.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/menu-type-enum.ts
new file mode 100644
index 0000000..e17b350
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/menu-type-enum.ts
@@ -0,0 +1,25 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 绯荤粺鑿滃崟绫诲瀷鏋氫妇<br />&nbsp;鐩綍 Dir = 1<br />&nbsp;鑿滃崟 Menu = 2<br />&nbsp;鎸夐挳 Btn = 3<br />
+ * @export
+ * @enum {string}
+ */
+export enum MenuTypeEnum {
+    NUMBER_1 = 1,
+    NUMBER_2 = 2,
+    NUMBER_3 = 3
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/message-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/message-input.ts
new file mode 100644
index 0000000..b72742c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/message-input.ts
@@ -0,0 +1,61 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { MessageTypeEnum } from './message-type-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface MessageInput
+ */
+export interface MessageInput {
+
+    /**
+     * 鐢ㄦ埛ID
+     *
+     * @type {number}
+     * @memberof MessageInput
+     */
+    userId?: number;
+
+    /**
+     * 鐢ㄦ埛ID鍒楄〃
+     *
+     * @type {Array<number>}
+     * @memberof MessageInput
+     */
+    userIds?: Array<number> | null;
+
+    /**
+     * 娑堟伅鏍囬
+     *
+     * @type {string}
+     * @memberof MessageInput
+     */
+    title?: string | null;
+
+    /**
+     * @type {MessageTypeEnum}
+     * @memberof MessageInput
+     */
+    messageType?: MessageTypeEnum;
+
+    /**
+     * 娑堟伅鍐呭
+     *
+     * @type {string}
+     * @memberof MessageInput
+     */
+    message?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/message-template-send-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/message-template-send-input.ts
new file mode 100644
index 0000000..8de5e72
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/message-template-send-input.ts
@@ -0,0 +1,63 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { DataItem } from './data-item';
+ /**
+ * 鑾峰彇娑堟伅妯℃澘鍒楄〃
+ *
+ * @export
+ * @interface MessageTemplateSendInput
+ */
+export interface MessageTemplateSendInput {
+
+    /**
+     * 璁㈤槄妯℃澘Id
+     *
+     * @type {string}
+     * @memberof MessageTemplateSendInput
+     */
+    templateId: string;
+
+    /**
+     * 鎺ユ敹鑰呯殑OpenId
+     *
+     * @type {string}
+     * @memberof MessageTemplateSendInput
+     */
+    toUserOpenId: string;
+
+    /**
+     * 妯℃澘鏁版嵁锛屾牸寮忓舰濡� { \"key1\": { \"value\": any }, \"key2\": { \"value\": any } }
+     *
+     * @type {{ [key: string]: DataItem; }}
+     * @memberof MessageTemplateSendInput
+     */
+    data: { [key: string]: DataItem; };
+
+    /**
+     * 妯℃澘璺宠浆閾炬帴
+     *
+     * @type {string}
+     * @memberof MessageTemplateSendInput
+     */
+    url?: string | null;
+
+    /**
+     * 鎵�闇�璺宠浆鍒板皬绋嬪簭鐨勫叿浣撻〉闈㈣矾寰勶紝鏀寔甯﹀弬鏁�,锛堢ず渚媔ndex?foo=bar锛�
+     *
+     * @type {string}
+     * @memberof MessageTemplateSendInput
+     */
+    miniProgramPagePath?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/message-type-enum.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/message-type-enum.ts
new file mode 100644
index 0000000..dcf2355
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/message-type-enum.ts
@@ -0,0 +1,26 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 娑堟伅绫诲瀷鏋氫妇<br />&nbsp;娑堟伅 Info = 0<br />&nbsp;鎴愬姛 Success = 1<br />&nbsp;璀﹀憡 Warning = 2<br />&nbsp;閿欒 Error = 3<br />
+ * @export
+ * @enum {string}
+ */
+export enum MessageTypeEnum {
+    NUMBER_0 = 0,
+    NUMBER_1 = 1,
+    NUMBER_2 = 2,
+    NUMBER_3 = 3
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/notice-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/notice-input.ts
new file mode 100644
index 0000000..2ec9643
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/notice-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface NoticeInput
+ */
+export interface NoticeInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof NoticeInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/notice-status-enum.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/notice-status-enum.ts
new file mode 100644
index 0000000..5da2070
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/notice-status-enum.ts
@@ -0,0 +1,26 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 閫氱煡鍏憡鐘舵�佹灇涓�<br />&nbsp;鑽夌 DRAFT = 0<br />&nbsp;鍙戝竷 PUBLIC = 1<br />&nbsp;鎾ゅ洖 CANCEL = 2<br />&nbsp;鍒犻櫎 DELETED = 3<br />
+ * @export
+ * @enum {string}
+ */
+export enum NoticeStatusEnum {
+    NUMBER_0 = 0,
+    NUMBER_1 = 1,
+    NUMBER_2 = 2,
+    NUMBER_3 = 3
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/notice-type-enum.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/notice-type-enum.ts
new file mode 100644
index 0000000..aea4a9a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/notice-type-enum.ts
@@ -0,0 +1,24 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 閫氱煡鍏憡鐘剁被鍨嬫灇涓�<br />&nbsp;閫氱煡 NOTICE = 1<br />&nbsp;鍏憡 ANNOUNCEMENT = 2<br />
+ * @export
+ * @enum {string}
+ */
+export enum NoticeTypeEnum {
+    NUMBER_1 = 1,
+    NUMBER_2 = 2
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/notice-user-status-enum.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/notice-user-status-enum.ts
new file mode 100644
index 0000000..b77facf
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/notice-user-status-enum.ts
@@ -0,0 +1,24 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 閫氱煡鍏憡鐢ㄦ埛鐘舵�佹灇涓�<br />&nbsp;鏈 UNREAD = 0<br />&nbsp;宸茶 READ = 1<br />
+ * @export
+ * @enum {string}
+ */
+export enum NoticeUserStatusEnum {
+    NUMBER_0 = 0,
+    NUMBER_1 = 1
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/open-access-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/open-access-input.ts
new file mode 100644
index 0000000..add1f46
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/open-access-input.ts
@@ -0,0 +1,70 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 寮�鏀炬帴鍙h韩浠借緭鍏ュ弬鏁�
+ *
+ * @export
+ * @interface OpenAccessInput
+ */
+export interface OpenAccessInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof OpenAccessInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof OpenAccessInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof OpenAccessInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof OpenAccessInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof OpenAccessInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 韬唤鏍囪瘑
+     *
+     * @type {string}
+     * @memberof OpenAccessInput
+     */
+    accessKey?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/open-access-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/open-access-output.ts
new file mode 100644
index 0000000..4c2f4b8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/open-access-output.ts
@@ -0,0 +1,134 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface OpenAccessOutput
+ */
+export interface OpenAccessOutput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof OpenAccessOutput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof OpenAccessOutput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof OpenAccessOutput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof OpenAccessOutput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof OpenAccessOutput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof OpenAccessOutput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof OpenAccessOutput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof OpenAccessOutput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 韬唤鏍囪瘑
+     *
+     * @type {string}
+     * @memberof OpenAccessOutput
+     */
+    accessKey: string;
+
+    /**
+     * 瀵嗛挜
+     *
+     * @type {string}
+     * @memberof OpenAccessOutput
+     */
+    accessSecret: string;
+
+    /**
+     * 缁戝畾绉熸埛Id
+     *
+     * @type {number}
+     * @memberof OpenAccessOutput
+     */
+    bindTenantId?: number;
+
+    /**
+     * 缁戝畾鐢ㄦ埛Id
+     *
+     * @type {number}
+     * @memberof OpenAccessOutput
+     */
+    bindUserId?: number;
+
+    /**
+     * 缁戝畾鐢ㄦ埛璐﹀彿
+     *
+     * @type {string}
+     * @memberof OpenAccessOutput
+     */
+    bindUserAccount?: string | null;
+
+    /**
+     * 缁戝畾绉熸埛鍚嶇О
+     *
+     * @type {string}
+     * @memberof OpenAccessOutput
+     */
+    bindTenantName?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/page-config-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-config-input.ts
new file mode 100644
index 0000000..ba6646f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-config-input.ts
@@ -0,0 +1,86 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface PageConfigInput
+ */
+export interface PageConfigInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof PageConfigInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof PageConfigInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof PageConfigInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof PageConfigInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof PageConfigInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof PageConfigInput
+     */
+    name?: string | null;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof PageConfigInput
+     */
+    code?: string | null;
+
+    /**
+     * 鍒嗙粍缂栧彿
+     *
+     * @type {string}
+     * @memberof PageConfigInput
+     */
+    groupCode?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/page-dict-data-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-dict-data-input.ts
new file mode 100644
index 0000000..b0c8b58
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-dict-data-input.ts
@@ -0,0 +1,86 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface PageDictDataInput
+ */
+export interface PageDictDataInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof PageDictDataInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof PageDictDataInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof PageDictDataInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof PageDictDataInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof PageDictDataInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 瀛楀吀绫诲瀷Id
+     *
+     * @type {number}
+     * @memberof PageDictDataInput
+     */
+    dictTypeId?: number;
+
+    /**
+     * 鍊�
+     *
+     * @type {string}
+     * @memberof PageDictDataInput
+     */
+    value?: string | null;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof PageDictDataInput
+     */
+    code?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/page-dict-type-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-dict-type-input.ts
new file mode 100644
index 0000000..10f378e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-dict-type-input.ts
@@ -0,0 +1,78 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface PageDictTypeInput
+ */
+export interface PageDictTypeInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof PageDictTypeInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof PageDictTypeInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof PageDictTypeInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof PageDictTypeInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof PageDictTypeInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof PageDictTypeInput
+     */
+    name?: string | null;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof PageDictTypeInput
+     */
+    code?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/page-file-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-file-input.ts
new file mode 100644
index 0000000..06353cb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-file-input.ts
@@ -0,0 +1,86 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface PageFileInput
+ */
+export interface PageFileInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof PageFileInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof PageFileInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof PageFileInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof PageFileInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof PageFileInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 鏂囦欢鍚嶇О
+     *
+     * @type {string}
+     * @memberof PageFileInput
+     */
+    fileName?: string | null;
+
+    /**
+     * 寮�濮嬫椂闂�
+     *
+     * @type {Date}
+     * @memberof PageFileInput
+     */
+    startTime?: Date | null;
+
+    /**
+     * 缁撴潫鏃堕棿
+     *
+     * @type {Date}
+     * @memberof PageFileInput
+     */
+    endTime?: Date | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/page-job-detail-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-job-detail-input.ts
new file mode 100644
index 0000000..8f41ca3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-job-detail-input.ts
@@ -0,0 +1,78 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface PageJobDetailInput
+ */
+export interface PageJobDetailInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof PageJobDetailInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof PageJobDetailInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof PageJobDetailInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof PageJobDetailInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof PageJobDetailInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 浣滀笟Id
+     *
+     * @type {string}
+     * @memberof PageJobDetailInput
+     */
+    jobId?: string | null;
+
+    /**
+     * 鎻忚堪淇℃伅
+     *
+     * @type {string}
+     * @memberof PageJobDetailInput
+     */
+    description?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/page-job-trigger-record-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-job-trigger-record-input.ts
new file mode 100644
index 0000000..56b0bcb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-job-trigger-record-input.ts
@@ -0,0 +1,78 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface PageJobTriggerRecordInput
+ */
+export interface PageJobTriggerRecordInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof PageJobTriggerRecordInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof PageJobTriggerRecordInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof PageJobTriggerRecordInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof PageJobTriggerRecordInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof PageJobTriggerRecordInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 浣滀笟Id
+     *
+     * @type {string}
+     * @memberof PageJobTriggerRecordInput
+     */
+    jobId?: string | null;
+
+    /**
+     * 瑙﹀彂鍣↖d
+     *
+     * @type {string}
+     * @memberof PageJobTriggerRecordInput
+     */
+    triggerId?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/page-log-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-log-input.ts
new file mode 100644
index 0000000..d98381b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-log-input.ts
@@ -0,0 +1,78 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface PageLogInput
+ */
+export interface PageLogInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof PageLogInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof PageLogInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof PageLogInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof PageLogInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof PageLogInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 寮�濮嬫椂闂�
+     *
+     * @type {Date}
+     * @memberof PageLogInput
+     */
+    startTime?: Date | null;
+
+    /**
+     * 缁撴潫鏃堕棿
+     *
+     * @type {Date}
+     * @memberof PageLogInput
+     */
+    endTime?: Date | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/page-notice-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-notice-input.ts
new file mode 100644
index 0000000..80e5dfe
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-notice-input.ts
@@ -0,0 +1,77 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { NoticeTypeEnum } from './notice-type-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface PageNoticeInput
+ */
+export interface PageNoticeInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof PageNoticeInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof PageNoticeInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof PageNoticeInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof PageNoticeInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof PageNoticeInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 鏍囬
+     *
+     * @type {string}
+     * @memberof PageNoticeInput
+     */
+    title?: string | null;
+
+    /**
+     * @type {NoticeTypeEnum}
+     * @memberof PageNoticeInput
+     */
+    type?: NoticeTypeEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/page-online-user-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-online-user-input.ts
new file mode 100644
index 0000000..2c26e02
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-online-user-input.ts
@@ -0,0 +1,78 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface PageOnlineUserInput
+ */
+export interface PageOnlineUserInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof PageOnlineUserInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof PageOnlineUserInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof PageOnlineUserInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof PageOnlineUserInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof PageOnlineUserInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 璐﹀彿鍚嶇О
+     *
+     * @type {string}
+     * @memberof PageOnlineUserInput
+     */
+    userName?: string | null;
+
+    /**
+     * 鐪熷疄濮撳悕
+     *
+     * @type {string}
+     * @memberof PageOnlineUserInput
+     */
+    realName?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/page-plugin-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-plugin-input.ts
new file mode 100644
index 0000000..67ef804
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-plugin-input.ts
@@ -0,0 +1,78 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface PagePluginInput
+ */
+export interface PagePluginInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof PagePluginInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof PagePluginInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof PagePluginInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof PagePluginInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof PagePluginInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof PagePluginInput
+     */
+    name?: string | null;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof PagePluginInput
+     */
+    code?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/page-print-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-print-input.ts
new file mode 100644
index 0000000..3b2d199
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-print-input.ts
@@ -0,0 +1,78 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface PagePrintInput
+ */
+export interface PagePrintInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof PagePrintInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof PagePrintInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof PagePrintInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof PagePrintInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof PagePrintInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof PagePrintInput
+     */
+    name?: string | null;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof PagePrintInput
+     */
+    code?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/page-region-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-region-input.ts
new file mode 100644
index 0000000..747656a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-region-input.ts
@@ -0,0 +1,86 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface PageRegionInput
+ */
+export interface PageRegionInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof PageRegionInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof PageRegionInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof PageRegionInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof PageRegionInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof PageRegionInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 鐖惰妭鐐笽d
+     *
+     * @type {number}
+     * @memberof PageRegionInput
+     */
+    pid?: number;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof PageRegionInput
+     */
+    name?: string | null;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof PageRegionInput
+     */
+    code?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/page-role-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-role-input.ts
new file mode 100644
index 0000000..a869861
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-role-input.ts
@@ -0,0 +1,78 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface PageRoleInput
+ */
+export interface PageRoleInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof PageRoleInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof PageRoleInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof PageRoleInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof PageRoleInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof PageRoleInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof PageRoleInput
+     */
+    name?: string | null;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof PageRoleInput
+     */
+    code?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/page-tenant-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-tenant-input.ts
new file mode 100644
index 0000000..e7f5edf
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-tenant-input.ts
@@ -0,0 +1,78 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface PageTenantInput
+ */
+export interface PageTenantInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof PageTenantInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof PageTenantInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof PageTenantInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof PageTenantInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof PageTenantInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof PageTenantInput
+     */
+    name?: string | null;
+
+    /**
+     * 鐢佃瘽
+     *
+     * @type {string}
+     * @memberof PageTenantInput
+     */
+    phone?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/page-user-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-user-input.ts
new file mode 100644
index 0000000..3561056
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/page-user-input.ts
@@ -0,0 +1,94 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鑾峰彇鐢ㄦ埛鍒嗛〉鍒楄〃杈撳叆鍙傛暟
+ *
+ * @export
+ * @interface PageUserInput
+ */
+export interface PageUserInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof PageUserInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof PageUserInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof PageUserInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof PageUserInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof PageUserInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 璐﹀彿
+     *
+     * @type {string}
+     * @memberof PageUserInput
+     */
+    account?: string | null;
+
+    /**
+     * 濮撳悕
+     *
+     * @type {string}
+     * @memberof PageUserInput
+     */
+    realName?: string | null;
+
+    /**
+     * 鎵嬫満鍙�
+     *
+     * @type {string}
+     * @memberof PageUserInput
+     */
+    phone?: string | null;
+
+    /**
+     * 鏌ヨ鏃舵墍閫夋満鏋処d
+     *
+     * @type {number}
+     * @memberof PageUserInput
+     */
+    orgId?: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/platform-type-enum.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/platform-type-enum.ts
new file mode 100644
index 0000000..e8989c8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/platform-type-enum.ts
@@ -0,0 +1,27 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 骞冲彴绫诲瀷鏋氫妇<br />&nbsp;寰俊鍏紬鍙� 寰俊鍏紬鍙� = 1<br />&nbsp;寰俊灏忕▼搴� 寰俊灏忕▼搴� = 2<br />&nbsp;QQ QQ = 3<br />&nbsp;鏀粯瀹� Alipay = 4<br />&nbsp;Gitee Gitee = 5<br />
+ * @export
+ * @enum {string}
+ */
+export enum PlatformTypeEnum {
+    NUMBER_1 = 1,
+    NUMBER_2 = 2,
+    NUMBER_3 = 3,
+    NUMBER_4 = 4,
+    NUMBER_5 = 5
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/reset-pwd-user-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/reset-pwd-user-input.ts
new file mode 100644
index 0000000..e419833
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/reset-pwd-user-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 閲嶇疆鐢ㄦ埛瀵嗙爜杈撳叆鍙傛暟
+ *
+ * @export
+ * @interface ResetPwdUserInput
+ */
+export interface ResetPwdUserInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof ResetPwdUserInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/role-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/role-input.ts
new file mode 100644
index 0000000..837e58a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/role-input.ts
@@ -0,0 +1,37 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface RoleInput
+ */
+export interface RoleInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof RoleInput
+     */
+    id: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof RoleInput
+     */
+    status?: StatusEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/role-menu-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/role-menu-input.ts
new file mode 100644
index 0000000..4f8d231
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/role-menu-input.ts
@@ -0,0 +1,38 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鎺堟潈瑙掕壊鑿滃崟
+ *
+ * @export
+ * @interface RoleMenuInput
+ */
+export interface RoleMenuInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof RoleMenuInput
+     */
+    id: number;
+
+    /**
+     * 鑿滃崟Id闆嗗悎
+     *
+     * @type {Array<number>}
+     * @memberof RoleMenuInput
+     */
+    menuIdList?: Array<number> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/role-org-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/role-org-input.ts
new file mode 100644
index 0000000..bfaa908
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/role-org-input.ts
@@ -0,0 +1,46 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鎺堟潈瑙掕壊鏈烘瀯
+ *
+ * @export
+ * @interface RoleOrgInput
+ */
+export interface RoleOrgInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof RoleOrgInput
+     */
+    id: number;
+
+    /**
+     * 鏁版嵁鑼冨洿
+     *
+     * @type {number}
+     * @memberof RoleOrgInput
+     */
+    dataScope?: number;
+
+    /**
+     * 鏈烘瀯Id闆嗗悎
+     *
+     * @type {Array<number>}
+     * @memberof RoleOrgInput
+     */
+    orgIdList?: Array<number> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/role-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/role-output.ts
new file mode 100644
index 0000000..b2af9df
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/role-output.ts
@@ -0,0 +1,46 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 瑙掕壊鍒楄〃杈撳嚭鍙傛暟
+ *
+ * @export
+ * @interface RoleOutput
+ */
+export interface RoleOutput {
+
+    /**
+     * Id
+     *
+     * @type {number}
+     * @memberof RoleOutput
+     */
+    id?: number;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof RoleOutput
+     */
+    name?: string | null;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof RoleOutput
+     */
+    code?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/send-subscribe-message-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/send-subscribe-message-input.ts
new file mode 100644
index 0000000..4f653e4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/send-subscribe-message-input.ts
@@ -0,0 +1,71 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { DataItem } from './data-item';
+ /**
+ * 鍙戦�佽闃呮秷鎭�
+ *
+ * @export
+ * @interface SendSubscribeMessageInput
+ */
+export interface SendSubscribeMessageInput {
+
+    /**
+     * 璁㈤槄妯℃澘Id
+     *
+     * @type {string}
+     * @memberof SendSubscribeMessageInput
+     */
+    templateId: string;
+
+    /**
+     * 鎺ユ敹鑰呯殑OpenId
+     *
+     * @type {string}
+     * @memberof SendSubscribeMessageInput
+     */
+    toUserOpenId: string;
+
+    /**
+     * 妯℃澘鍐呭锛屾牸寮忓舰濡� { \"key1\": { \"value\": any }, \"key2\": { \"value\": any } }
+     *
+     * @type {{ [key: string]: DataItem; }}
+     * @memberof SendSubscribeMessageInput
+     */
+    data: { [key: string]: DataItem; };
+
+    /**
+     * 璺宠浆灏忕▼搴忕被鍨�
+     *
+     * @type {string}
+     * @memberof SendSubscribeMessageInput
+     */
+    miniprogramState?: string | null;
+
+    /**
+     * 璇█绫诲瀷
+     *
+     * @type {string}
+     * @memberof SendSubscribeMessageInput
+     */
+    language?: string | null;
+
+    /**
+     * 鐐瑰嚮妯℃澘鍗$墖鍚庣殑璺宠浆椤甸潰锛堜粎闄愭湰灏忕▼搴忓唴鐨勯〉闈級锛屾敮鎸佸甫鍙傛暟锛堢ず渚媝ages/app/index?foo=bar锛�
+     *
+     * @type {string}
+     * @memberof SendSubscribeMessageInput
+     */
+    miniProgramPagePath?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/signature-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/signature-input.ts
new file mode 100644
index 0000000..eb55879
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/signature-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鑾峰彇閰嶇疆绛惧悕
+ *
+ * @export
+ * @interface SignatureInput
+ */
+export interface SignatureInput {
+
+    /**
+     * Url
+     *
+     * @type {string}
+     * @memberof SignatureInput
+     */
+    url?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sm-key-pair-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sm-key-pair-output.ts
new file mode 100644
index 0000000..f70d27f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sm-key-pair-output.ts
@@ -0,0 +1,38 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鍥藉瘑鍏挜绉侀挜瀵硅緭鍑�
+ *
+ * @export
+ * @interface SmKeyPairOutput
+ */
+export interface SmKeyPairOutput {
+
+    /**
+     * 绉佸寵
+     *
+     * @type {string}
+     * @memberof SmKeyPairOutput
+     */
+    privateKey?: string | null;
+
+    /**
+     * 鍏寵
+     *
+     * @type {string}
+     * @memberof SmKeyPairOutput
+     */
+    publicKey?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-job-detail-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-job-detail-output.ts
new file mode 100644
index 0000000..5eb3e04
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-job-detail-output.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { JobDetailOutput } from './job-detail-output';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListJobDetailOutput
+ */
+export interface SqlSugarPagedListJobDetailOutput {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListJobDetailOutput
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListJobDetailOutput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListJobDetailOutput
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListJobDetailOutput
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<JobDetailOutput>}
+     * @memberof SqlSugarPagedListJobDetailOutput
+     */
+    items?: Array<JobDetailOutput> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListJobDetailOutput
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListJobDetailOutput
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-open-access-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-open-access-output.ts
new file mode 100644
index 0000000..49fa135
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-open-access-output.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { OpenAccessOutput } from './open-access-output';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListOpenAccessOutput
+ */
+export interface SqlSugarPagedListOpenAccessOutput {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListOpenAccessOutput
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListOpenAccessOutput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListOpenAccessOutput
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListOpenAccessOutput
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<OpenAccessOutput>}
+     * @memberof SqlSugarPagedListOpenAccessOutput
+     */
+    items?: Array<OpenAccessOutput> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListOpenAccessOutput
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListOpenAccessOutput
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-code-gen.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-code-gen.ts
new file mode 100644
index 0000000..96ea2c5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-code-gen.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysCodeGen } from './sys-code-gen';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysCodeGen
+ */
+export interface SqlSugarPagedListSysCodeGen {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysCodeGen
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysCodeGen
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysCodeGen
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysCodeGen
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysCodeGen>}
+     * @memberof SqlSugarPagedListSysCodeGen
+     */
+    items?: Array<SysCodeGen> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysCodeGen
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysCodeGen
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-config.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-config.ts
new file mode 100644
index 0000000..d574da0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-config.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysConfig } from './sys-config';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysConfig
+ */
+export interface SqlSugarPagedListSysConfig {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysConfig
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysConfig
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysConfig
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysConfig
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysConfig>}
+     * @memberof SqlSugarPagedListSysConfig
+     */
+    items?: Array<SysConfig> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysConfig
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysConfig
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-dict-data.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-dict-data.ts
new file mode 100644
index 0000000..61b5e7f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-dict-data.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysDictData } from './sys-dict-data';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysDictData
+ */
+export interface SqlSugarPagedListSysDictData {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysDictData
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysDictData
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysDictData
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysDictData
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysDictData>}
+     * @memberof SqlSugarPagedListSysDictData
+     */
+    items?: Array<SysDictData> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysDictData
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysDictData
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-dict-type.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-dict-type.ts
new file mode 100644
index 0000000..6fed579
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-dict-type.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysDictType } from './sys-dict-type';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysDictType
+ */
+export interface SqlSugarPagedListSysDictType {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysDictType
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysDictType
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysDictType
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysDictType
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysDictType>}
+     * @memberof SqlSugarPagedListSysDictType
+     */
+    items?: Array<SysDictType> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysDictType
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysDictType
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-file.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-file.ts
new file mode 100644
index 0000000..eb1fd4f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-file.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysFile } from './sys-file';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysFile
+ */
+export interface SqlSugarPagedListSysFile {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysFile
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysFile
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysFile
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysFile
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysFile>}
+     * @memberof SqlSugarPagedListSysFile
+     */
+    items?: Array<SysFile> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysFile
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysFile
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-job-trigger-record.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-job-trigger-record.ts
new file mode 100644
index 0000000..6cf1161
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-job-trigger-record.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysJobTriggerRecord } from './sys-job-trigger-record';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysJobTriggerRecord
+ */
+export interface SqlSugarPagedListSysJobTriggerRecord {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysJobTriggerRecord
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysJobTriggerRecord
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysJobTriggerRecord
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysJobTriggerRecord
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysJobTriggerRecord>}
+     * @memberof SqlSugarPagedListSysJobTriggerRecord
+     */
+    items?: Array<SysJobTriggerRecord> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysJobTriggerRecord
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysJobTriggerRecord
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-ldap.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-ldap.ts
new file mode 100644
index 0000000..da60903
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-ldap.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysLdap } from './sys-ldap';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysLdap
+ */
+export interface SqlSugarPagedListSysLdap {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLdap
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLdap
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLdap
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLdap
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysLdap>}
+     * @memberof SqlSugarPagedListSysLdap
+     */
+    items?: Array<SysLdap> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysLdap
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysLdap
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-log-diff.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-log-diff.ts
new file mode 100644
index 0000000..bd4f40a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-log-diff.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysLogDiff } from './sys-log-diff';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysLogDiff
+ */
+export interface SqlSugarPagedListSysLogDiff {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLogDiff
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLogDiff
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLogDiff
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLogDiff
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysLogDiff>}
+     * @memberof SqlSugarPagedListSysLogDiff
+     */
+    items?: Array<SysLogDiff> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysLogDiff
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysLogDiff
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-log-ex.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-log-ex.ts
new file mode 100644
index 0000000..34cc7e9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-log-ex.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysLogEx } from './sys-log-ex';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysLogEx
+ */
+export interface SqlSugarPagedListSysLogEx {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLogEx
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLogEx
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLogEx
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLogEx
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysLogEx>}
+     * @memberof SqlSugarPagedListSysLogEx
+     */
+    items?: Array<SysLogEx> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysLogEx
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysLogEx
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-log-op.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-log-op.ts
new file mode 100644
index 0000000..fc46242
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-log-op.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysLogOp } from './sys-log-op';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysLogOp
+ */
+export interface SqlSugarPagedListSysLogOp {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLogOp
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLogOp
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLogOp
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLogOp
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysLogOp>}
+     * @memberof SqlSugarPagedListSysLogOp
+     */
+    items?: Array<SysLogOp> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysLogOp
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysLogOp
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-log-vis.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-log-vis.ts
new file mode 100644
index 0000000..e456600
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-log-vis.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysLogVis } from './sys-log-vis';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysLogVis
+ */
+export interface SqlSugarPagedListSysLogVis {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLogVis
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLogVis
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLogVis
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysLogVis
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysLogVis>}
+     * @memberof SqlSugarPagedListSysLogVis
+     */
+    items?: Array<SysLogVis> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysLogVis
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysLogVis
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-notice-user.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-notice-user.ts
new file mode 100644
index 0000000..a4dd490
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-notice-user.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysNoticeUser } from './sys-notice-user';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysNoticeUser
+ */
+export interface SqlSugarPagedListSysNoticeUser {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysNoticeUser
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysNoticeUser
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysNoticeUser
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysNoticeUser
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysNoticeUser>}
+     * @memberof SqlSugarPagedListSysNoticeUser
+     */
+    items?: Array<SysNoticeUser> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysNoticeUser
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysNoticeUser
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-notice.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-notice.ts
new file mode 100644
index 0000000..7f8cc20
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-notice.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysNotice } from './sys-notice';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysNotice
+ */
+export interface SqlSugarPagedListSysNotice {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysNotice
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysNotice
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysNotice
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysNotice
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysNotice>}
+     * @memberof SqlSugarPagedListSysNotice
+     */
+    items?: Array<SysNotice> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysNotice
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysNotice
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-online-user.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-online-user.ts
new file mode 100644
index 0000000..38611ee
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-online-user.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysOnlineUser } from './sys-online-user';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysOnlineUser
+ */
+export interface SqlSugarPagedListSysOnlineUser {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysOnlineUser
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysOnlineUser
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysOnlineUser
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysOnlineUser
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysOnlineUser>}
+     * @memberof SqlSugarPagedListSysOnlineUser
+     */
+    items?: Array<SysOnlineUser> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysOnlineUser
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysOnlineUser
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-plugin.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-plugin.ts
new file mode 100644
index 0000000..f582675
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-plugin.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysPlugin } from './sys-plugin';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysPlugin
+ */
+export interface SqlSugarPagedListSysPlugin {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysPlugin
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysPlugin
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysPlugin
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysPlugin
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysPlugin>}
+     * @memberof SqlSugarPagedListSysPlugin
+     */
+    items?: Array<SysPlugin> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysPlugin
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysPlugin
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-print.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-print.ts
new file mode 100644
index 0000000..94a9f6c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-print.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysPrint } from './sys-print';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysPrint
+ */
+export interface SqlSugarPagedListSysPrint {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysPrint
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysPrint
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysPrint
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysPrint
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysPrint>}
+     * @memberof SqlSugarPagedListSysPrint
+     */
+    items?: Array<SysPrint> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysPrint
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysPrint
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-region.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-region.ts
new file mode 100644
index 0000000..f8bb7fc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-region.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysRegion } from './sys-region';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysRegion
+ */
+export interface SqlSugarPagedListSysRegion {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysRegion
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysRegion
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysRegion
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysRegion
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysRegion>}
+     * @memberof SqlSugarPagedListSysRegion
+     */
+    items?: Array<SysRegion> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysRegion
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysRegion
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-role.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-role.ts
new file mode 100644
index 0000000..2bb9abe
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-role.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysRole } from './sys-role';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysRole
+ */
+export interface SqlSugarPagedListSysRole {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysRole
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysRole
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysRole
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysRole
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysRole>}
+     * @memberof SqlSugarPagedListSysRole
+     */
+    items?: Array<SysRole> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysRole
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysRole
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-wechat-user.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-wechat-user.ts
new file mode 100644
index 0000000..4cf4f3d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-sys-wechat-user.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysWechatUser } from './sys-wechat-user';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListSysWechatUser
+ */
+export interface SqlSugarPagedListSysWechatUser {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysWechatUser
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysWechatUser
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysWechatUser
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListSysWechatUser
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<SysWechatUser>}
+     * @memberof SqlSugarPagedListSysWechatUser
+     */
+    items?: Array<SysWechatUser> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysWechatUser
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListSysWechatUser
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-tenant-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-tenant-output.ts
new file mode 100644
index 0000000..c50a659
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-tenant-output.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { TenantOutput } from './tenant-output';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListTenantOutput
+ */
+export interface SqlSugarPagedListTenantOutput {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListTenantOutput
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListTenantOutput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListTenantOutput
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListTenantOutput
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<TenantOutput>}
+     * @memberof SqlSugarPagedListTenantOutput
+     */
+    items?: Array<TenantOutput> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListTenantOutput
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListTenantOutput
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-user-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-user-output.ts
new file mode 100644
index 0000000..44cfcd3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sql-sugar-paged-list-user-output.ts
@@ -0,0 +1,79 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { UserOutput } from './user-output';
+ /**
+ * 鍒嗛〉娉涘瀷闆嗗悎
+ *
+ * @export
+ * @interface SqlSugarPagedListUserOutput
+ */
+export interface SqlSugarPagedListUserOutput {
+
+    /**
+     * 椤电爜
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListUserOutput
+     */
+    page?: number;
+
+    /**
+     * 椤靛閲�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListUserOutput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎬绘潯鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListUserOutput
+     */
+    total?: number;
+
+    /**
+     * 鎬婚〉鏁�
+     *
+     * @type {number}
+     * @memberof SqlSugarPagedListUserOutput
+     */
+    totalPages?: number;
+
+    /**
+     * 褰撳墠椤甸泦鍚�
+     *
+     * @type {Array<UserOutput>}
+     * @memberof SqlSugarPagedListUserOutput
+     */
+    items?: Array<UserOutput> | null;
+
+    /**
+     * 鏄惁鏈変笂涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListUserOutput
+     */
+    hasPrevPage?: boolean;
+
+    /**
+     * 鏄惁鏈変笅涓�椤�
+     *
+     * @type {boolean}
+     * @memberof SqlSugarPagedListUserOutput
+     */
+    hasNextPage?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/status-enum.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/status-enum.ts
new file mode 100644
index 0000000..109b82f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/status-enum.ts
@@ -0,0 +1,24 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 閫氱敤鐘舵�佹灇涓�<br />&nbsp;鍚敤 Enable = 1<br />&nbsp;鍋滅敤 Disable = 2<br />
+ * @export
+ * @enum {string}
+ */
+export enum StatusEnum {
+    NUMBER_1 = 1,
+    NUMBER_2 = 2
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/swagger-submit-url-body.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/swagger-submit-url-body.ts
new file mode 100644
index 0000000..85a4781
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/swagger-submit-url-body.ts
@@ -0,0 +1,34 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface SwaggerSubmitUrlBody
+ */
+export interface SwaggerSubmitUrlBody {
+
+    /**
+     * @type {string}
+     * @memberof SwaggerSubmitUrlBody
+     */
+    userName?: string;
+
+    /**
+     * @type {string}
+     * @memberof SwaggerSubmitUrlBody
+     */
+    password?: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sync-sys-ldap-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sync-sys-ldap-input.ts
new file mode 100644
index 0000000..63db239
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sync-sys-ldap-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface SyncSysLdapInput
+ */
+export interface SyncSysLdapInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof SyncSysLdapInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-code-gen-config.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-code-gen-config.ts
new file mode 100644
index 0000000..e2e9abd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-code-gen-config.ts
@@ -0,0 +1,294 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 浠g爜鐢熸垚瀛楁閰嶇疆琛�
+ *
+ * @export
+ * @interface SysCodeGenConfig
+ */
+export interface SysCodeGenConfig {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysCodeGenConfig
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysCodeGenConfig
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysCodeGenConfig
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysCodeGenConfig
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysCodeGenConfig
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysCodeGenConfig
+     */
+    isDelete?: boolean;
+
+    /**
+     * 浠g爜鐢熸垚涓昏〃Id
+     *
+     * @type {number}
+     * @memberof SysCodeGenConfig
+     */
+    codeGenId?: number;
+
+    /**
+     * 鏁版嵁搴撳瓧娈靛悕
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    columnName: string;
+
+    /**
+     * 瀹炰綋灞炴�у悕
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    propertyName: string;
+
+    /**
+     * 瀛楁鏁版嵁闀垮害
+     *
+     * @type {number}
+     * @memberof SysCodeGenConfig
+     */
+    columnLength?: number;
+
+    /**
+     * 瀛楁鎻忚堪
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    columnComment?: string | null;
+
+    /**
+     * .NET鏁版嵁绫诲瀷
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    netType?: string | null;
+
+    /**
+     * 浣滅敤绫诲瀷锛堝瓧鍏革級
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    effectType?: string | null;
+
+    /**
+     * 澶栭敭瀹炰綋鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    fkEntityName?: string | null;
+
+    /**
+     * 澶栭敭琛ㄥ悕绉�
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    fkTableName?: string | null;
+
+    /**
+     * 澶栭敭鏄剧ず瀛楁
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    fkColumnName?: string | null;
+
+    /**
+     * 澶栭敭鏄剧ず瀛楁.NET绫诲瀷
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    fkColumnNetType?: string | null;
+
+    /**
+     * 瀛楀吀缂栧彿
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    dictTypeCode?: string | null;
+
+    /**
+     * 鍒楄〃鏄惁缂╄繘锛堝瓧鍏革級
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    whetherRetract?: string | null;
+
+    /**
+     * 鏄惁蹇呭~锛堝瓧鍏革級
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    whetherRequired?: string | null;
+
+    /**
+     * 鏄惁鍙帓搴忥紙瀛楀吀锛�
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    whetherSortable?: string | null;
+
+    /**
+     * 鏄惁鏄煡璇㈡潯浠�
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    queryWhether?: string | null;
+
+    /**
+     * 鏌ヨ鏂瑰紡
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    queryType?: string | null;
+
+    /**
+     * 鍒楄〃鏄剧ず
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    whetherTable?: string | null;
+
+    /**
+     * 澧炴敼
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    whetherAddUpdate?: string | null;
+
+    /**
+     * 涓婚敭
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    columnKey?: string | null;
+
+    /**
+     * 鏁版嵁搴撲腑绫诲瀷锛堢墿鐞嗙被鍨嬶級
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    dataType?: string | null;
+
+    /**
+     * 鏄惁閫氱敤瀛楁
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    whetherCommon?: string | null;
+
+    /**
+     * 鏄剧ず鏂囨湰瀛楁
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    displayColumn?: string | null;
+
+    /**
+     * 閫変腑鍊煎瓧娈�
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    valueColumn?: string | null;
+
+    /**
+     * 鐖剁骇瀛楁
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    pidColumn?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof SysCodeGenConfig
+     */
+    orderNo?: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-code-gen.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-code-gen.ts
new file mode 100644
index 0000000..05d1b22
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-code-gen.ts
@@ -0,0 +1,190 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 浠g爜鐢熸垚琛�
+ *
+ * @export
+ * @interface SysCodeGen
+ */
+export interface SysCodeGen {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysCodeGen
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysCodeGen
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysCodeGen
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysCodeGen
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysCodeGen
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysCodeGen
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysCodeGen
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysCodeGen
+     */
+    isDelete?: boolean;
+
+    /**
+     * 浣滆�呭鍚�
+     *
+     * @type {string}
+     * @memberof SysCodeGen
+     */
+    authorName?: string | null;
+
+    /**
+     * 鏄惁绉婚櫎琛ㄥ墠缂�
+     *
+     * @type {string}
+     * @memberof SysCodeGen
+     */
+    tablePrefix?: string | null;
+
+    /**
+     * 鐢熸垚鏂瑰紡
+     *
+     * @type {string}
+     * @memberof SysCodeGen
+     */
+    generateType?: string | null;
+
+    /**
+     * 搴撳畾浣嶅櫒鍚�
+     *
+     * @type {string}
+     * @memberof SysCodeGen
+     */
+    configId?: string | null;
+
+    /**
+     * 鏁版嵁搴撳悕(淇濈暀瀛楁)
+     *
+     * @type {string}
+     * @memberof SysCodeGen
+     */
+    dbName?: string | null;
+
+    /**
+     * 鏁版嵁搴撶被鍨�
+     *
+     * @type {string}
+     * @memberof SysCodeGen
+     */
+    dbType?: string | null;
+
+    /**
+     * 鏁版嵁搴撻摼鎺�
+     *
+     * @type {string}
+     * @memberof SysCodeGen
+     */
+    connectionString?: string | null;
+
+    /**
+     * 鏁版嵁搴撹〃鍚�
+     *
+     * @type {string}
+     * @memberof SysCodeGen
+     */
+    tableName?: string | null;
+
+    /**
+     * 鍛藉悕绌洪棿
+     *
+     * @type {string}
+     * @memberof SysCodeGen
+     */
+    nameSpace?: string | null;
+
+    /**
+     * 涓氬姟鍚�
+     *
+     * @type {string}
+     * @memberof SysCodeGen
+     */
+    busName?: string | null;
+
+    /**
+     * 鑿滃崟缂栧彿
+     *
+     * @type {number}
+     * @memberof SysCodeGen
+     */
+    menuPid?: number;
+
+    /**
+     * 鏀寔鎵撳嵃绫诲瀷
+     *
+     * @type {string}
+     * @memberof SysCodeGen
+     */
+    printType?: string | null;
+
+    /**
+     * 鎵撳嵃妯$増鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysCodeGen
+     */
+    printName?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-config.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-config.ts
new file mode 100644
index 0000000..6472335
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-config.ts
@@ -0,0 +1,141 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { YesNoEnum } from './yes-no-enum';
+ /**
+ * 绯荤粺鍙傛暟閰嶇疆琛�
+ *
+ * @export
+ * @interface SysConfig
+ */
+export interface SysConfig {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysConfig
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysConfig
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysConfig
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysConfig
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysConfig
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysConfig
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysConfig
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysConfig
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysConfig
+     */
+    name: string;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof SysConfig
+     */
+    code?: string | null;
+
+    /**
+     * 灞炴�у��
+     *
+     * @type {string}
+     * @memberof SysConfig
+     */
+    value?: string | null;
+
+    /**
+     * @type {YesNoEnum}
+     * @memberof SysConfig
+     */
+    sysFlag?: YesNoEnum;
+
+    /**
+     * 鍒嗙粍缂栧彿
+     *
+     * @type {string}
+     * @memberof SysConfig
+     */
+    groupCode?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof SysConfig
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof SysConfig
+     */
+    remark?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-dict-data.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-dict-data.ts
new file mode 100644
index 0000000..4306bb8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-dict-data.ts
@@ -0,0 +1,173 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 绯荤粺瀛楀吀鍊艰〃
+ *
+ * @export
+ * @interface SysDictData
+ */
+export interface SysDictData {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysDictData
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysDictData
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysDictData
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysDictData
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysDictData
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysDictData
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysDictData
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysDictData
+     */
+    isDelete?: boolean;
+
+    /**
+     * 瀛楀吀绫诲瀷Id
+     *
+     * @type {number}
+     * @memberof SysDictData
+     */
+    dictTypeId?: number;
+
+    /**
+     * 鍊�
+     *
+     * @type {string}
+     * @memberof SysDictData
+     */
+    value: string;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof SysDictData
+     */
+    code: string;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysDictData
+     */
+    name?: string | null;
+
+    /**
+     * 鏄剧ず鏍峰紡-鏍囩棰滆壊
+     *
+     * @type {string}
+     * @memberof SysDictData
+     */
+    tagType?: string | null;
+
+    /**
+     * 鏄剧ず鏍峰紡-Style(鎺у埗鏄剧ず鏍峰紡)
+     *
+     * @type {string}
+     * @memberof SysDictData
+     */
+    styleSetting?: string | null;
+
+    /**
+     * 鏄剧ず鏍峰紡-Class(鎺у埗鏄剧ず鏍峰紡)
+     *
+     * @type {string}
+     * @memberof SysDictData
+     */
+    classSetting?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof SysDictData
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof SysDictData
+     */
+    remark?: string | null;
+
+    /**
+     * 鎷撳睍鏁版嵁(淇濆瓨涓氬姟鍔熻兘鐨勯厤缃」)
+     *
+     * @type {string}
+     * @memberof SysDictData
+     */
+    extData?: string | null;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof SysDictData
+     */
+    status?: StatusEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-dict-type.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-dict-type.ts
new file mode 100644
index 0000000..7689fd7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-dict-type.ts
@@ -0,0 +1,134 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+import { SysDictData } from './sys-dict-data';
+ /**
+ * 绯荤粺瀛楀吀绫诲瀷琛�
+ *
+ * @export
+ * @interface SysDictType
+ */
+export interface SysDictType {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysDictType
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysDictType
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysDictType
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysDictType
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysDictType
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysDictType
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysDictType
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysDictType
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysDictType
+     */
+    name: string;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof SysDictType
+     */
+    code: string;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof SysDictType
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof SysDictType
+     */
+    remark?: string | null;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof SysDictType
+     */
+    status?: StatusEnum;
+
+    /**
+     * 瀛楀吀鍊奸泦鍚�
+     *
+     * @type {Array<SysDictData>}
+     * @memberof SysDictType
+     */
+    children?: Array<SysDictData> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file-upload-avatar-body.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file-upload-avatar-body.ts
new file mode 100644
index 0000000..e7ae724
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file-upload-avatar-body.ts
@@ -0,0 +1,28 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface SysFileUploadAvatarBody
+ */
+export interface SysFileUploadAvatarBody {
+
+    /**
+     * @type {Blob}
+     * @memberof SysFileUploadAvatarBody
+     */
+    file: Blob;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file-upload-file-body.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file-upload-file-body.ts
new file mode 100644
index 0000000..a050ebc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file-upload-file-body.ts
@@ -0,0 +1,28 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface SysFileUploadFileBody
+ */
+export interface SysFileUploadFileBody {
+
+    /**
+     * @type {Blob}
+     * @memberof SysFileUploadFileBody
+     */
+    file: Blob;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file-upload-files-body.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file-upload-files-body.ts
new file mode 100644
index 0000000..21bb5a9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file-upload-files-body.ts
@@ -0,0 +1,28 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface SysFileUploadFilesBody
+ */
+export interface SysFileUploadFilesBody {
+
+    /**
+     * @type {Array<Blob>}
+     * @memberof SysFileUploadFilesBody
+     */
+    files: Array<Blob>;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file-upload-signature-body.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file-upload-signature-body.ts
new file mode 100644
index 0000000..0e0e1f5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file-upload-signature-body.ts
@@ -0,0 +1,28 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface SysFileUploadSignatureBody
+ */
+export interface SysFileUploadSignatureBody {
+
+    /**
+     * @type {Blob}
+     * @memberof SysFileUploadSignatureBody
+     */
+    file: Blob;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file.ts
new file mode 100644
index 0000000..9c13b54
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-file.ts
@@ -0,0 +1,158 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 绯荤粺鏂囦欢琛�
+ *
+ * @export
+ * @interface SysFile
+ */
+export interface SysFile {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysFile
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysFile
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysFile
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysFile
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysFile
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysFile
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysFile
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysFile
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鎻愪緵鑰�
+     *
+     * @type {string}
+     * @memberof SysFile
+     */
+    provider?: string | null;
+
+    /**
+     * 浠撳偍鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysFile
+     */
+    bucketName?: string | null;
+
+    /**
+     * 鏂囦欢鍚嶇О锛堟簮鏂囦欢鍚嶏級
+     *
+     * @type {string}
+     * @memberof SysFile
+     */
+    fileName?: string | null;
+
+    /**
+     * 鏂囦欢鍚庣紑
+     *
+     * @type {string}
+     * @memberof SysFile
+     */
+    suffix?: string | null;
+
+    /**
+     * 瀛樺偍璺緞
+     *
+     * @type {string}
+     * @memberof SysFile
+     */
+    filePath?: string | null;
+
+    /**
+     * 鏂囦欢澶у皬KB
+     *
+     * @type {string}
+     * @memberof SysFile
+     */
+    sizeKb?: string | null;
+
+    /**
+     * 鏂囦欢澶у皬淇℃伅-璁$畻鍚庣殑
+     *
+     * @type {string}
+     * @memberof SysFile
+     */
+    sizeInfo?: string | null;
+
+    /**
+     * 澶栭摼鍦板潃-OSS涓婁紶鍚庣敓鎴愬閾惧湴鍧�鏂逛究鍓嶇棰勮
+     *
+     * @type {string}
+     * @memberof SysFile
+     */
+    url?: string | null;
+
+    /**
+     * 鏂囦欢MD5
+     *
+     * @type {string}
+     * @memberof SysFile
+     */
+    fileMd5?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-job-cluster.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-job-cluster.ts
new file mode 100644
index 0000000..b957148
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-job-cluster.ts
@@ -0,0 +1,61 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { ClusterStatus } from './cluster-status';
+ /**
+ * 绯荤粺浣滀笟闆嗙兢琛�
+ *
+ * @export
+ * @interface SysJobCluster
+ */
+export interface SysJobCluster {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysJobCluster
+     */
+    id?: number;
+
+    /**
+     * 浣滀笟闆嗙兢Id
+     *
+     * @type {string}
+     * @memberof SysJobCluster
+     */
+    clusterId: string;
+
+    /**
+     * 鎻忚堪淇℃伅
+     *
+     * @type {string}
+     * @memberof SysJobCluster
+     */
+    description?: string | null;
+
+    /**
+     * @type {ClusterStatus}
+     * @memberof SysJobCluster
+     */
+    status?: ClusterStatus;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysJobCluster
+     */
+    updatedTime?: Date | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-job-detail.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-job-detail.ts
new file mode 100644
index 0000000..e84ce88
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-job-detail.ts
@@ -0,0 +1,117 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { JobCreateTypeEnum } from './job-create-type-enum';
+ /**
+ * 绯荤粺浣滀笟淇℃伅琛�
+ *
+ * @export
+ * @interface SysJobDetail
+ */
+export interface SysJobDetail {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysJobDetail
+     */
+    id?: number;
+
+    /**
+     * 浣滀笟Id
+     *
+     * @type {string}
+     * @memberof SysJobDetail
+     */
+    jobId: string;
+
+    /**
+     * 缁勫悕绉�
+     *
+     * @type {string}
+     * @memberof SysJobDetail
+     */
+    groupName?: string | null;
+
+    /**
+     * 浣滀笟绫诲瀷FullName
+     *
+     * @type {string}
+     * @memberof SysJobDetail
+     */
+    jobType?: string | null;
+
+    /**
+     * 绋嬪簭闆哊ame
+     *
+     * @type {string}
+     * @memberof SysJobDetail
+     */
+    assemblyName?: string | null;
+
+    /**
+     * 鎻忚堪淇℃伅
+     *
+     * @type {string}
+     * @memberof SysJobDetail
+     */
+    description?: string | null;
+
+    /**
+     * 鏄惁骞惰鎵ц
+     *
+     * @type {boolean}
+     * @memberof SysJobDetail
+     */
+    concurrent?: boolean;
+
+    /**
+     * 鏄惁鎵弿鐗规�цЕ鍙戝櫒
+     *
+     * @type {boolean}
+     * @memberof SysJobDetail
+     */
+    includeAnnotation?: boolean;
+
+    /**
+     * 棰濆鏁版嵁
+     *
+     * @type {string}
+     * @memberof SysJobDetail
+     */
+    properties?: string | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysJobDetail
+     */
+    updatedTime?: Date | null;
+
+    /**
+     * @type {JobCreateTypeEnum}
+     * @memberof SysJobDetail
+     */
+    createType?: JobCreateTypeEnum;
+
+    /**
+     * 鑴氭湰浠g爜
+     *
+     * @type {string}
+     * @memberof SysJobDetail
+     */
+    scriptCode?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-job-trigger-record.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-job-trigger-record.ts
new file mode 100644
index 0000000..97dcc9f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-job-trigger-record.ts
@@ -0,0 +1,101 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { TriggerStatus } from './trigger-status';
+ /**
+ * 绯荤粺浣滀笟瑙﹀彂鍣ㄨ繍琛岃褰曡〃
+ *
+ * @export
+ * @interface SysJobTriggerRecord
+ */
+export interface SysJobTriggerRecord {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysJobTriggerRecord
+     */
+    id?: number;
+
+    /**
+     * 浣滀笟Id
+     *
+     * @type {string}
+     * @memberof SysJobTriggerRecord
+     */
+    jobId: string;
+
+    /**
+     * 瑙﹀彂鍣↖d
+     *
+     * @type {string}
+     * @memberof SysJobTriggerRecord
+     */
+    triggerId: string;
+
+    /**
+     * 褰撳墠杩愯娆℃暟
+     *
+     * @type {number}
+     * @memberof SysJobTriggerRecord
+     */
+    numberOfRuns?: number;
+
+    /**
+     * 鏈�杩戣繍琛屾椂闂�
+     *
+     * @type {Date}
+     * @memberof SysJobTriggerRecord
+     */
+    lastRunTime?: Date | null;
+
+    /**
+     * 涓嬩竴娆¤繍琛屾椂闂�
+     *
+     * @type {Date}
+     * @memberof SysJobTriggerRecord
+     */
+    nextRunTime?: Date | null;
+
+    /**
+     * @type {TriggerStatus}
+     * @memberof SysJobTriggerRecord
+     */
+    status?: TriggerStatus;
+
+    /**
+     * 鏈鎵ц缁撴灉
+     *
+     * @type {string}
+     * @memberof SysJobTriggerRecord
+     */
+    result?: string | null;
+
+    /**
+     * 鏈鎵ц鑰楁椂
+     *
+     * @type {number}
+     * @memberof SysJobTriggerRecord
+     */
+    elapsedTime?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysJobTriggerRecord
+     */
+    createdTime?: Date | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-job-trigger.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-job-trigger.ts
new file mode 100644
index 0000000..d479491
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-job-trigger.ts
@@ -0,0 +1,197 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { TriggerStatus } from './trigger-status';
+ /**
+ * 绯荤粺浣滀笟瑙﹀彂鍣ㄨ〃
+ *
+ * @export
+ * @interface SysJobTrigger
+ */
+export interface SysJobTrigger {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysJobTrigger
+     */
+    id?: number;
+
+    /**
+     * 瑙﹀彂鍣↖d
+     *
+     * @type {string}
+     * @memberof SysJobTrigger
+     */
+    triggerId: string;
+
+    /**
+     * 浣滀笟Id
+     *
+     * @type {string}
+     * @memberof SysJobTrigger
+     */
+    jobId: string;
+
+    /**
+     * 瑙﹀彂鍣ㄧ被鍨婩ullName
+     *
+     * @type {string}
+     * @memberof SysJobTrigger
+     */
+    triggerType?: string | null;
+
+    /**
+     * 绋嬪簭闆哊ame
+     *
+     * @type {string}
+     * @memberof SysJobTrigger
+     */
+    assemblyName?: string | null;
+
+    /**
+     * 鍙傛暟
+     *
+     * @type {string}
+     * @memberof SysJobTrigger
+     */
+    args?: string | null;
+
+    /**
+     * 鎻忚堪淇℃伅
+     *
+     * @type {string}
+     * @memberof SysJobTrigger
+     */
+    description?: string | null;
+
+    /**
+     * @type {TriggerStatus}
+     * @memberof SysJobTrigger
+     */
+    status?: TriggerStatus;
+
+    /**
+     * 璧峰鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysJobTrigger
+     */
+    startTime?: Date | null;
+
+    /**
+     * 缁撴潫鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysJobTrigger
+     */
+    endTime?: Date | null;
+
+    /**
+     * 鏈�杩戣繍琛屾椂闂�
+     *
+     * @type {Date}
+     * @memberof SysJobTrigger
+     */
+    lastRunTime?: Date | null;
+
+    /**
+     * 涓嬩竴娆¤繍琛屾椂闂�
+     *
+     * @type {Date}
+     * @memberof SysJobTrigger
+     */
+    nextRunTime?: Date | null;
+
+    /**
+     * 瑙﹀彂娆℃暟
+     *
+     * @type {number}
+     * @memberof SysJobTrigger
+     */
+    numberOfRuns?: number;
+
+    /**
+     * 鏈�澶цЕ鍙戞鏁帮紙0:涓嶉檺鍒讹紝n:N娆★級
+     *
+     * @type {number}
+     * @memberof SysJobTrigger
+     */
+    maxNumberOfRuns?: number;
+
+    /**
+     * 鍑洪敊娆℃暟
+     *
+     * @type {number}
+     * @memberof SysJobTrigger
+     */
+    numberOfErrors?: number;
+
+    /**
+     * 鏈�澶у嚭閿欐鏁帮紙0:涓嶉檺鍒讹紝n:N娆★級
+     *
+     * @type {number}
+     * @memberof SysJobTrigger
+     */
+    maxNumberOfErrors?: number;
+
+    /**
+     * 閲嶈瘯娆℃暟
+     *
+     * @type {number}
+     * @memberof SysJobTrigger
+     */
+    numRetries?: number;
+
+    /**
+     * 閲嶈瘯闂撮殧鏃堕棿锛坢s锛�
+     *
+     * @type {number}
+     * @memberof SysJobTrigger
+     */
+    retryTimeout?: number;
+
+    /**
+     * 鏄惁绔嬪嵆鍚姩
+     *
+     * @type {boolean}
+     * @memberof SysJobTrigger
+     */
+    startNow?: boolean;
+
+    /**
+     * 鏄惁鍚姩鏃舵墽琛屼竴娆�
+     *
+     * @type {boolean}
+     * @memberof SysJobTrigger
+     */
+    runOnStart?: boolean;
+
+    /**
+     * 鏄惁鍦ㄥ惎鍔ㄦ椂閲嶇疆鏈�澶цЕ鍙戞鏁扮瓑浜庝竴娆$殑浣滀笟
+     *
+     * @type {boolean}
+     * @memberof SysJobTrigger
+     */
+    resetOnlyOnce?: boolean;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysJobTrigger
+     */
+    updatedTime?: Date | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-ldap-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-ldap-input.ts
new file mode 100644
index 0000000..7882fa1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-ldap-input.ts
@@ -0,0 +1,78 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 绯荤粺鍩熺櫥褰曚俊鎭厤缃緭鍏ュ弬鏁�
+ *
+ * @export
+ * @interface SysLdapInput
+ */
+export interface SysLdapInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof SysLdapInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof SysLdapInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof SysLdapInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof SysLdapInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof SysLdapInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 鍏抽敭瀛楁煡璇�
+     *
+     * @type {string}
+     * @memberof SysLdapInput
+     */
+    searchKey?: string | null;
+
+    /**
+     * 涓绘満
+     *
+     * @type {string}
+     * @memberof SysLdapInput
+     */
+    host?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-ldap.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-ldap.ts
new file mode 100644
index 0000000..bcd9c53
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-ldap.ts
@@ -0,0 +1,181 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 绯荤粺鍩熺櫥褰曚俊鎭厤缃〃
+ *
+ * @export
+ * @interface SysLdap
+ */
+export interface SysLdap {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysLdap
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysLdap
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysLdap
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysLdap
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysLdap
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysLdap
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysLdap
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysLdap
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof SysLdap
+     */
+    tenantId?: number | null;
+
+    /**
+     * 涓绘満
+     *
+     * @type {string}
+     * @memberof SysLdap
+     */
+    host: string;
+
+    /**
+     * 绔彛
+     *
+     * @type {number}
+     * @memberof SysLdap
+     */
+    port?: number;
+
+    /**
+     * 鐢ㄦ埛鎼滅储鍩哄噯
+     *
+     * @type {string}
+     * @memberof SysLdap
+     */
+    baseDn: string;
+
+    /**
+     * 缁戝畾DN(鏈夌鐞嗘潈闄愬埗鐨勭敤鎴�)
+     *
+     * @type {string}
+     * @memberof SysLdap
+     */
+    bindDn: string;
+
+    /**
+     * 缁戝畾瀵嗙爜(鏈夌鐞嗘潈闄愬埗鐨勭敤鎴峰瘑鐮�)
+     *
+     * @type {string}
+     * @memberof SysLdap
+     */
+    bindPass: string;
+
+    /**
+     * 鐢ㄦ埛杩囨护瑙勫垯
+     *
+     * @type {string}
+     * @memberof SysLdap
+     */
+    authFilter: string;
+
+    /**
+     * Ldap鐗堟湰
+     *
+     * @type {number}
+     * @memberof SysLdap
+     */
+    version?: number;
+
+    /**
+     * 缁戝畾鍩熻处鍙峰瓧娈靛睘鎬у��
+     *
+     * @type {string}
+     * @memberof SysLdap
+     */
+    bindAttrAccount: string;
+
+    /**
+     * 缁戝畾鐢ㄦ埛EmployeeId灞炴�у��
+     *
+     * @type {string}
+     * @memberof SysLdap
+     */
+    bindAttrEmployeeId: string;
+
+    /**
+     * 缁戝畾Code灞炴�у��
+     *
+     * @type {string}
+     * @memberof SysLdap
+     */
+    bindAttrCode: string;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof SysLdap
+     */
+    status?: StatusEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-log-diff.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-log-diff.ts
new file mode 100644
index 0000000..3e585d3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-log-diff.ts
@@ -0,0 +1,142 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 绯荤粺宸紓鏃ュ織琛�
+ *
+ * @export
+ * @interface SysLogDiff
+ */
+export interface SysLogDiff {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysLogDiff
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysLogDiff
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysLogDiff
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysLogDiff
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysLogDiff
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysLogDiff
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysLogDiff
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysLogDiff
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鎿嶄綔鍓嶈褰�
+     *
+     * @type {string}
+     * @memberof SysLogDiff
+     */
+    beforeData?: string | null;
+
+    /**
+     * 鎿嶄綔鍚庤褰�
+     *
+     * @type {string}
+     * @memberof SysLogDiff
+     */
+    afterData?: string | null;
+
+    /**
+     * Sql
+     *
+     * @type {string}
+     * @memberof SysLogDiff
+     */
+    sql?: string | null;
+
+    /**
+     * 鍙傛暟  鎵嬪姩浼犲叆鐨勫弬鏁�
+     *
+     * @type {string}
+     * @memberof SysLogDiff
+     */
+    parameters?: string | null;
+
+    /**
+     * 涓氬姟瀵硅薄
+     *
+     * @type {string}
+     * @memberof SysLogDiff
+     */
+    businessData?: string | null;
+
+    /**
+     * 宸紓鎿嶄綔
+     *
+     * @type {string}
+     * @memberof SysLogDiff
+     */
+    diffType?: string | null;
+
+    /**
+     * 鑰楁椂
+     *
+     * @type {number}
+     * @memberof SysLogDiff
+     */
+    elapsed?: number | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-log-ex.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-log-ex.ts
new file mode 100644
index 0000000..1e857ca
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-log-ex.ts
@@ -0,0 +1,285 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { LogLevel } from './log-level';
+ /**
+ * 绯荤粺寮傚父鏃ュ織琛�
+ *
+ * @export
+ * @interface SysLogEx
+ */
+export interface SysLogEx {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysLogEx
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysLogEx
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysLogEx
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysLogEx
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysLogEx
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysLogEx
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof SysLogEx
+     */
+    tenantId?: number | null;
+
+    /**
+     * 妯″潡鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    controllerName?: string | null;
+
+    /**
+     * 鏂规硶鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    actionName?: string | null;
+
+    /**
+     * 鏄剧ず鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    displayTitle?: string | null;
+
+    /**
+     * 鎵ц鐘舵��
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    status?: string | null;
+
+    /**
+     * IP鍦板潃
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    remoteIp?: string | null;
+
+    /**
+     * 鐧诲綍鍦扮偣
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    location?: string | null;
+
+    /**
+     * 缁忓害
+     *
+     * @type {number}
+     * @memberof SysLogEx
+     */
+    longitude?: number | null;
+
+    /**
+     * 缁村害
+     *
+     * @type {number}
+     * @memberof SysLogEx
+     */
+    latitude?: number | null;
+
+    /**
+     * 娴忚鍣�
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    browser?: string | null;
+
+    /**
+     * 鎿嶄綔绯荤粺
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    os?: string | null;
+
+    /**
+     * 鎿嶄綔鐢ㄦ椂
+     *
+     * @type {number}
+     * @memberof SysLogEx
+     */
+    elapsed?: number | null;
+
+    /**
+     * 鏃ュ織鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysLogEx
+     */
+    logDateTime?: Date | null;
+
+    /**
+     * @type {LogLevel}
+     * @memberof SysLogEx
+     */
+    logLevel?: LogLevel;
+
+    /**
+     * 璐﹀彿
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    account?: string | null;
+
+    /**
+     * 鐪熷疄濮撳悕
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    realName?: string | null;
+
+    /**
+     * 璇锋眰鏂瑰紡
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    httpMethod?: string | null;
+
+    /**
+     * 璇锋眰鍦板潃
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    requestUrl?: string | null;
+
+    /**
+     * 璇锋眰鍙傛暟
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    requestParam?: string | null;
+
+    /**
+     * 杩斿洖缁撴灉
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    returnResult?: string | null;
+
+    /**
+     * 浜嬩欢Id
+     *
+     * @type {number}
+     * @memberof SysLogEx
+     */
+    eventId?: number | null;
+
+    /**
+     * 绾跨▼Id
+     *
+     * @type {number}
+     * @memberof SysLogEx
+     */
+    threadId?: number | null;
+
+    /**
+     * 璇锋眰璺熻釜Id
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    traceId?: string | null;
+
+    /**
+     * 寮傚父淇℃伅
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    exception?: string | null;
+
+    /**
+     * 鏃ュ織娑堟伅Json
+     *
+     * @type {string}
+     * @memberof SysLogEx
+     */
+    message?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-log-op.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-log-op.ts
new file mode 100644
index 0000000..e1aaa67
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-log-op.ts
@@ -0,0 +1,285 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { LogLevel } from './log-level';
+ /**
+ * 绯荤粺鎿嶄綔鏃ュ織琛�
+ *
+ * @export
+ * @interface SysLogOp
+ */
+export interface SysLogOp {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysLogOp
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysLogOp
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysLogOp
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysLogOp
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysLogOp
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysLogOp
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof SysLogOp
+     */
+    tenantId?: number | null;
+
+    /**
+     * 妯″潡鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    controllerName?: string | null;
+
+    /**
+     * 鏂规硶鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    actionName?: string | null;
+
+    /**
+     * 鏄剧ず鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    displayTitle?: string | null;
+
+    /**
+     * 鎵ц鐘舵��
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    status?: string | null;
+
+    /**
+     * IP鍦板潃
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    remoteIp?: string | null;
+
+    /**
+     * 鐧诲綍鍦扮偣
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    location?: string | null;
+
+    /**
+     * 缁忓害
+     *
+     * @type {number}
+     * @memberof SysLogOp
+     */
+    longitude?: number | null;
+
+    /**
+     * 缁村害
+     *
+     * @type {number}
+     * @memberof SysLogOp
+     */
+    latitude?: number | null;
+
+    /**
+     * 娴忚鍣�
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    browser?: string | null;
+
+    /**
+     * 鎿嶄綔绯荤粺
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    os?: string | null;
+
+    /**
+     * 鎿嶄綔鐢ㄦ椂
+     *
+     * @type {number}
+     * @memberof SysLogOp
+     */
+    elapsed?: number | null;
+
+    /**
+     * 鏃ュ織鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysLogOp
+     */
+    logDateTime?: Date | null;
+
+    /**
+     * @type {LogLevel}
+     * @memberof SysLogOp
+     */
+    logLevel?: LogLevel;
+
+    /**
+     * 璐﹀彿
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    account?: string | null;
+
+    /**
+     * 鐪熷疄濮撳悕
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    realName?: string | null;
+
+    /**
+     * 璇锋眰鏂瑰紡
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    httpMethod?: string | null;
+
+    /**
+     * 璇锋眰鍦板潃
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    requestUrl?: string | null;
+
+    /**
+     * 璇锋眰鍙傛暟
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    requestParam?: string | null;
+
+    /**
+     * 杩斿洖缁撴灉
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    returnResult?: string | null;
+
+    /**
+     * 浜嬩欢Id
+     *
+     * @type {number}
+     * @memberof SysLogOp
+     */
+    eventId?: number | null;
+
+    /**
+     * 绾跨▼Id
+     *
+     * @type {number}
+     * @memberof SysLogOp
+     */
+    threadId?: number | null;
+
+    /**
+     * 璇锋眰璺熻釜Id
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    traceId?: string | null;
+
+    /**
+     * 寮傚父淇℃伅
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    exception?: string | null;
+
+    /**
+     * 鏃ュ織娑堟伅Json
+     *
+     * @type {string}
+     * @memberof SysLogOp
+     */
+    message?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-log-vis.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-log-vis.ts
new file mode 100644
index 0000000..7bfb29b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-log-vis.ts
@@ -0,0 +1,213 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { LogLevel } from './log-level';
+ /**
+ * 绯荤粺璁块棶鏃ュ織琛�
+ *
+ * @export
+ * @interface SysLogVis
+ */
+export interface SysLogVis {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysLogVis
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysLogVis
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysLogVis
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysLogVis
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysLogVis
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysLogVis
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysLogVis
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysLogVis
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof SysLogVis
+     */
+    tenantId?: number | null;
+
+    /**
+     * 妯″潡鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysLogVis
+     */
+    controllerName?: string | null;
+
+    /**
+     * 鏂规硶鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysLogVis
+     */
+    actionName?: string | null;
+
+    /**
+     * 鏄剧ず鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysLogVis
+     */
+    displayTitle?: string | null;
+
+    /**
+     * 鎵ц鐘舵��
+     *
+     * @type {string}
+     * @memberof SysLogVis
+     */
+    status?: string | null;
+
+    /**
+     * IP鍦板潃
+     *
+     * @type {string}
+     * @memberof SysLogVis
+     */
+    remoteIp?: string | null;
+
+    /**
+     * 鐧诲綍鍦扮偣
+     *
+     * @type {string}
+     * @memberof SysLogVis
+     */
+    location?: string | null;
+
+    /**
+     * 缁忓害
+     *
+     * @type {number}
+     * @memberof SysLogVis
+     */
+    longitude?: number | null;
+
+    /**
+     * 缁村害
+     *
+     * @type {number}
+     * @memberof SysLogVis
+     */
+    latitude?: number | null;
+
+    /**
+     * 娴忚鍣�
+     *
+     * @type {string}
+     * @memberof SysLogVis
+     */
+    browser?: string | null;
+
+    /**
+     * 鎿嶄綔绯荤粺
+     *
+     * @type {string}
+     * @memberof SysLogVis
+     */
+    os?: string | null;
+
+    /**
+     * 鎿嶄綔鐢ㄦ椂
+     *
+     * @type {number}
+     * @memberof SysLogVis
+     */
+    elapsed?: number | null;
+
+    /**
+     * 鏃ュ織鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysLogVis
+     */
+    logDateTime?: Date | null;
+
+    /**
+     * @type {LogLevel}
+     * @memberof SysLogVis
+     */
+    logLevel?: LogLevel;
+
+    /**
+     * 璐﹀彿
+     *
+     * @type {string}
+     * @memberof SysLogVis
+     */
+    account?: string | null;
+
+    /**
+     * 鐪熷疄濮撳悕
+     *
+     * @type {string}
+     * @memberof SysLogVis
+     */
+    realName?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-menu-meta.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-menu-meta.ts
new file mode 100644
index 0000000..6bbbeb4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-menu-meta.ts
@@ -0,0 +1,78 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鑿滃崟Meta閰嶇疆
+ *
+ * @export
+ * @interface SysMenuMeta
+ */
+export interface SysMenuMeta {
+
+    /**
+     * 鏍囬
+     *
+     * @type {string}
+     * @memberof SysMenuMeta
+     */
+    title?: string | null;
+
+    /**
+     * 鍥炬爣
+     *
+     * @type {string}
+     * @memberof SysMenuMeta
+     */
+    icon?: string | null;
+
+    /**
+     * 鏄惁鍐呭祵
+     *
+     * @type {boolean}
+     * @memberof SysMenuMeta
+     */
+    isIframe?: boolean;
+
+    /**
+     * 澶栭摼閾炬帴
+     *
+     * @type {string}
+     * @memberof SysMenuMeta
+     */
+    isLink?: string | null;
+
+    /**
+     * 鏄惁闅愯棌
+     *
+     * @type {boolean}
+     * @memberof SysMenuMeta
+     */
+    isHide?: boolean;
+
+    /**
+     * 鏄惁缂撳瓨
+     *
+     * @type {boolean}
+     * @memberof SysMenuMeta
+     */
+    isKeepAlive?: boolean;
+
+    /**
+     * 鏄惁鍥哄畾
+     *
+     * @type {boolean}
+     * @memberof SysMenuMeta
+     */
+    isAffix?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-menu.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-menu.ts
new file mode 100644
index 0000000..2ef917e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-menu.ts
@@ -0,0 +1,229 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { MenuTypeEnum } from './menu-type-enum';
+import { StatusEnum } from './status-enum';
+import { SysMenu } from './sys-menu';
+ /**
+ * 绯荤粺鑿滃崟琛�
+ *
+ * @export
+ * @interface SysMenu
+ */
+export interface SysMenu {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysMenu
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysMenu
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysMenu
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysMenu
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysMenu
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysMenu
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysMenu
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysMenu
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鐖禝d
+     *
+     * @type {number}
+     * @memberof SysMenu
+     */
+    pid?: number;
+
+    /**
+     * @type {MenuTypeEnum}
+     * @memberof SysMenu
+     */
+    type?: MenuTypeEnum;
+
+    /**
+     * 璺敱鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysMenu
+     */
+    name?: string | null;
+
+    /**
+     * 璺敱鍦板潃
+     *
+     * @type {string}
+     * @memberof SysMenu
+     */
+    path?: string | null;
+
+    /**
+     * 缁勪欢璺緞
+     *
+     * @type {string}
+     * @memberof SysMenu
+     */
+    component?: string | null;
+
+    /**
+     * 閲嶅畾鍚�
+     *
+     * @type {string}
+     * @memberof SysMenu
+     */
+    redirect?: string | null;
+
+    /**
+     * 鏉冮檺鏍囪瘑
+     *
+     * @type {string}
+     * @memberof SysMenu
+     */
+    permission?: string | null;
+
+    /**
+     * 鑿滃崟鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysMenu
+     */
+    title: string;
+
+    /**
+     * 鍥炬爣
+     *
+     * @type {string}
+     * @memberof SysMenu
+     */
+    icon?: string | null;
+
+    /**
+     * 鏄惁鍐呭祵
+     *
+     * @type {boolean}
+     * @memberof SysMenu
+     */
+    isIframe?: boolean;
+
+    /**
+     * 澶栭摼閾炬帴
+     *
+     * @type {string}
+     * @memberof SysMenu
+     */
+    outLink?: string | null;
+
+    /**
+     * 鏄惁闅愯棌
+     *
+     * @type {boolean}
+     * @memberof SysMenu
+     */
+    isHide?: boolean;
+
+    /**
+     * 鏄惁缂撳瓨
+     *
+     * @type {boolean}
+     * @memberof SysMenu
+     */
+    isKeepAlive?: boolean;
+
+    /**
+     * 鏄惁鍥哄畾
+     *
+     * @type {boolean}
+     * @memberof SysMenu
+     */
+    isAffix?: boolean;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof SysMenu
+     */
+    orderNo?: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof SysMenu
+     */
+    status?: StatusEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof SysMenu
+     */
+    remark?: string | null;
+
+    /**
+     * 鑿滃崟瀛愰」
+     *
+     * @type {Array<SysMenu>}
+     * @memberof SysMenu
+     */
+    children?: Array<SysMenu> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-notice-user.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-notice-user.ts
new file mode 100644
index 0000000..342ed15
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-notice-user.ts
@@ -0,0 +1,68 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { NoticeUserStatusEnum } from './notice-user-status-enum';
+import { SysNotice } from './sys-notice';
+ /**
+ * 绯荤粺閫氱煡鍏憡鐢ㄦ埛琛�
+ *
+ * @export
+ * @interface SysNoticeUser
+ */
+export interface SysNoticeUser {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysNoticeUser
+     */
+    id?: number;
+
+    /**
+     * 閫氱煡鍏憡Id
+     *
+     * @type {number}
+     * @memberof SysNoticeUser
+     */
+    noticeId?: number;
+
+    /**
+     * @type {SysNotice}
+     * @memberof SysNoticeUser
+     */
+    sysNotice?: SysNotice;
+
+    /**
+     * 鐢ㄦ埛Id
+     *
+     * @type {number}
+     * @memberof SysNoticeUser
+     */
+    userId?: number;
+
+    /**
+     * 闃呰鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysNoticeUser
+     */
+    readTime?: Date | null;
+
+    /**
+     * @type {NoticeUserStatusEnum}
+     * @memberof SysNoticeUser
+     */
+    readStatus?: NoticeUserStatusEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-notice.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-notice.ts
new file mode 100644
index 0000000..48b6abe
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-notice.ts
@@ -0,0 +1,164 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { NoticeStatusEnum } from './notice-status-enum';
+import { NoticeTypeEnum } from './notice-type-enum';
+ /**
+ * 绯荤粺閫氱煡鍏憡琛�
+ *
+ * @export
+ * @interface SysNotice
+ */
+export interface SysNotice {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysNotice
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysNotice
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysNotice
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysNotice
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysNotice
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysNotice
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysNotice
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysNotice
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鏍囬
+     *
+     * @type {string}
+     * @memberof SysNotice
+     */
+    title: string;
+
+    /**
+     * 鍐呭
+     *
+     * @type {string}
+     * @memberof SysNotice
+     */
+    content: string;
+
+    /**
+     * @type {NoticeTypeEnum}
+     * @memberof SysNotice
+     */
+    type?: NoticeTypeEnum;
+
+    /**
+     * 鍙戝竷浜篒d
+     *
+     * @type {number}
+     * @memberof SysNotice
+     */
+    publicUserId?: number;
+
+    /**
+     * 鍙戝竷浜哄鍚�
+     *
+     * @type {string}
+     * @memberof SysNotice
+     */
+    publicUserName?: string | null;
+
+    /**
+     * 鍙戝竷鏈烘瀯Id
+     *
+     * @type {number}
+     * @memberof SysNotice
+     */
+    publicOrgId?: number;
+
+    /**
+     * 鍙戝竷鏈烘瀯鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysNotice
+     */
+    publicOrgName?: string | null;
+
+    /**
+     * 鍙戝竷鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysNotice
+     */
+    publicTime?: Date | null;
+
+    /**
+     * 鎾ゅ洖鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysNotice
+     */
+    cancelTime?: Date | null;
+
+    /**
+     * @type {NoticeStatusEnum}
+     * @memberof SysNotice
+     */
+    status?: NoticeStatusEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-online-user.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-online-user.ts
new file mode 100644
index 0000000..4e06362
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-online-user.ts
@@ -0,0 +1,102 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 绯荤粺鍦ㄧ嚎鐢ㄦ埛琛�
+ *
+ * @export
+ * @interface SysOnlineUser
+ */
+export interface SysOnlineUser {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysOnlineUser
+     */
+    id?: number;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof SysOnlineUser
+     */
+    tenantId?: number | null;
+
+    /**
+     * 杩炴帴Id
+     *
+     * @type {string}
+     * @memberof SysOnlineUser
+     */
+    connectionId?: string | null;
+
+    /**
+     * 鐢ㄦ埛Id
+     *
+     * @type {number}
+     * @memberof SysOnlineUser
+     */
+    userId?: number;
+
+    /**
+     * 璐﹀彿
+     *
+     * @type {string}
+     * @memberof SysOnlineUser
+     */
+    userName: string;
+
+    /**
+     * 鐪熷疄濮撳悕
+     *
+     * @type {string}
+     * @memberof SysOnlineUser
+     */
+    realName?: string | null;
+
+    /**
+     * 杩炴帴鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysOnlineUser
+     */
+    time?: Date | null;
+
+    /**
+     * 杩炴帴IP
+     *
+     * @type {string}
+     * @memberof SysOnlineUser
+     */
+    ip?: string | null;
+
+    /**
+     * 娴忚鍣�
+     *
+     * @type {string}
+     * @memberof SysOnlineUser
+     */
+    browser?: string | null;
+
+    /**
+     * 鎿嶄綔绯荤粺
+     *
+     * @type {string}
+     * @memberof SysOnlineUser
+     */
+    os?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-org.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-org.ts
new file mode 100644
index 0000000..b571d25
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-org.ts
@@ -0,0 +1,182 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+import { SysOrg } from './sys-org';
+ /**
+ * 绯荤粺鏈烘瀯琛�
+ *
+ * @export
+ * @interface SysOrg
+ */
+export interface SysOrg {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysOrg
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysOrg
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysOrg
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysOrg
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysOrg
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysOrg
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysOrg
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysOrg
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof SysOrg
+     */
+    tenantId?: number | null;
+
+    /**
+     * 鐖禝d
+     *
+     * @type {number}
+     * @memberof SysOrg
+     */
+    pid?: number;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysOrg
+     */
+    name: string;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof SysOrg
+     */
+    code?: string | null;
+
+    /**
+     * 绾у埆
+     *
+     * @type {number}
+     * @memberof SysOrg
+     */
+    level?: number | null;
+
+    /**
+     * 鏈烘瀯绫诲瀷-鏁版嵁瀛楀吀
+     *
+     * @type {string}
+     * @memberof SysOrg
+     */
+    type?: string | null;
+
+    /**
+     * 璐熻矗浜篒d
+     *
+     * @type {number}
+     * @memberof SysOrg
+     */
+    directorId?: number | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof SysOrg
+     */
+    orderNo?: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof SysOrg
+     */
+    status?: StatusEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof SysOrg
+     */
+    remark?: string | null;
+
+    /**
+     * 鏈烘瀯瀛愰」
+     *
+     * @type {Array<SysOrg>}
+     * @memberof SysOrg
+     */
+    children?: Array<SysOrg> | null;
+
+    /**
+     * 鏄惁绂佹閫変腑
+     *
+     * @type {boolean}
+     * @memberof SysOrg
+     */
+    disabled?: boolean;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-plugin.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-plugin.ts
new file mode 100644
index 0000000..f1ba436
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-plugin.ts
@@ -0,0 +1,141 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 绯荤粺鍔ㄦ�佹彃浠惰〃
+ *
+ * @export
+ * @interface SysPlugin
+ */
+export interface SysPlugin {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysPlugin
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysPlugin
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysPlugin
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysPlugin
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysPlugin
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysPlugin
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysPlugin
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysPlugin
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof SysPlugin
+     */
+    tenantId?: number | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysPlugin
+     */
+    name: string;
+
+    /**
+     * C#浠g爜
+     *
+     * @type {string}
+     * @memberof SysPlugin
+     */
+    csharpCode: string;
+
+    /**
+     * 绋嬪簭闆嗗悕绉�
+     *
+     * @type {string}
+     * @memberof SysPlugin
+     */
+    assemblyName?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof SysPlugin
+     */
+    orderNo?: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof SysPlugin
+     */
+    status?: StatusEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof SysPlugin
+     */
+    remark?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-pos.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-pos.ts
new file mode 100644
index 0000000..1698d18
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-pos.ts
@@ -0,0 +1,133 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 绯荤粺鑱屼綅琛�
+ *
+ * @export
+ * @interface SysPos
+ */
+export interface SysPos {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysPos
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysPos
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysPos
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysPos
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysPos
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysPos
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysPos
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysPos
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof SysPos
+     */
+    tenantId?: number | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysPos
+     */
+    name: string;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof SysPos
+     */
+    code?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof SysPos
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof SysPos
+     */
+    remark?: string | null;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof SysPos
+     */
+    status?: StatusEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-print.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-print.ts
new file mode 100644
index 0000000..1b1272a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-print.ts
@@ -0,0 +1,133 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 绯荤粺鎵撳嵃妯℃澘琛�
+ *
+ * @export
+ * @interface SysPrint
+ */
+export interface SysPrint {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysPrint
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysPrint
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysPrint
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysPrint
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysPrint
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysPrint
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysPrint
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysPrint
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof SysPrint
+     */
+    tenantId?: number | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysPrint
+     */
+    name: string;
+
+    /**
+     * 鎵撳嵃妯℃澘
+     *
+     * @type {string}
+     * @memberof SysPrint
+     */
+    template: string;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof SysPrint
+     */
+    orderNo?: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof SysPrint
+     */
+    status?: StatusEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof SysPrint
+     */
+    remark?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-region.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-region.ts
new file mode 100644
index 0000000..f378450
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-region.ts
@@ -0,0 +1,143 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysRegion } from './sys-region';
+ /**
+ * 绯荤粺琛屾斂鍦板尯琛�
+ *
+ * @export
+ * @interface SysRegion
+ */
+export interface SysRegion {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysRegion
+     */
+    id?: number;
+
+    /**
+     * 鐖禝d
+     *
+     * @type {number}
+     * @memberof SysRegion
+     */
+    pid?: number;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysRegion
+     */
+    name: string;
+
+    /**
+     * 绠�绉�
+     *
+     * @type {string}
+     * @memberof SysRegion
+     */
+    shortName?: string | null;
+
+    /**
+     * 缁勫悎鍚�
+     *
+     * @type {string}
+     * @memberof SysRegion
+     */
+    mergerName?: string | null;
+
+    /**
+     * 琛屾斂浠g爜
+     *
+     * @type {string}
+     * @memberof SysRegion
+     */
+    code?: string | null;
+
+    /**
+     * 閭斂缂栧彿
+     *
+     * @type {string}
+     * @memberof SysRegion
+     */
+    zipCode?: string | null;
+
+    /**
+     * 鍖哄彿
+     *
+     * @type {string}
+     * @memberof SysRegion
+     */
+    cityCode?: string | null;
+
+    /**
+     * 灞傜骇
+     *
+     * @type {number}
+     * @memberof SysRegion
+     */
+    level?: number;
+
+    /**
+     * 鎷奸煶
+     *
+     * @type {string}
+     * @memberof SysRegion
+     */
+    pinYin?: string | null;
+
+    /**
+     * 缁忓害
+     *
+     * @type {number}
+     * @memberof SysRegion
+     */
+    lng?: number;
+
+    /**
+     * 缁村害
+     *
+     * @type {number}
+     * @memberof SysRegion
+     */
+    lat?: number;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof SysRegion
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof SysRegion
+     */
+    remark?: string | null;
+
+    /**
+     * 鏈烘瀯瀛愰」
+     *
+     * @type {Array<SysRegion>}
+     * @memberof SysRegion
+     */
+    children?: Array<SysRegion> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-role.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-role.ts
new file mode 100644
index 0000000..32d60c4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-role.ts
@@ -0,0 +1,140 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { DataScopeEnum } from './data-scope-enum';
+import { StatusEnum } from './status-enum';
+ /**
+ * 绯荤粺瑙掕壊琛�
+ *
+ * @export
+ * @interface SysRole
+ */
+export interface SysRole {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysRole
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysRole
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysRole
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysRole
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysRole
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysRole
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysRole
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysRole
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof SysRole
+     */
+    tenantId?: number | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof SysRole
+     */
+    name: string;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof SysRole
+     */
+    code?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof SysRole
+     */
+    orderNo?: number;
+
+    /**
+     * @type {DataScopeEnum}
+     * @memberof SysRole
+     */
+    dataScope?: DataScopeEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof SysRole
+     */
+    remark?: string | null;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof SysRole
+     */
+    status?: StatusEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-user-ext-org.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-user-ext-org.ts
new file mode 100644
index 0000000..46a1c13
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-user-ext-org.ts
@@ -0,0 +1,78 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 绯荤粺鐢ㄦ埛鎵╁睍鏈烘瀯琛�
+ *
+ * @export
+ * @interface SysUserExtOrg
+ */
+export interface SysUserExtOrg {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysUserExtOrg
+     */
+    id?: number;
+
+    /**
+     * 鐢ㄦ埛Id
+     *
+     * @type {number}
+     * @memberof SysUserExtOrg
+     */
+    userId?: number;
+
+    /**
+     * 鏈烘瀯Id
+     *
+     * @type {number}
+     * @memberof SysUserExtOrg
+     */
+    orgId?: number;
+
+    /**
+     * 鑱屼綅Id
+     *
+     * @type {number}
+     * @memberof SysUserExtOrg
+     */
+    posId?: number;
+
+    /**
+     * 宸ュ彿
+     *
+     * @type {string}
+     * @memberof SysUserExtOrg
+     */
+    jobNum?: string | null;
+
+    /**
+     * 鑱岀骇
+     *
+     * @type {string}
+     * @memberof SysUserExtOrg
+     */
+    posLevel?: string | null;
+
+    /**
+     * 鍏ヨ亴鏃ユ湡
+     *
+     * @type {Date}
+     * @memberof SysUserExtOrg
+     */
+    joinDate?: Date | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-user.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-user.ts
new file mode 100644
index 0000000..3e97436
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-user.ts
@@ -0,0 +1,416 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { AccountTypeEnum } from './account-type-enum';
+import { CardTypeEnum } from './card-type-enum';
+import { CultureLevelEnum } from './culture-level-enum';
+import { GenderEnum } from './gender-enum';
+import { StatusEnum } from './status-enum';
+import { SysOrg } from './sys-org';
+ /**
+ * 绯荤粺鐢ㄦ埛琛�
+ *
+ * @export
+ * @interface SysUser
+ */
+export interface SysUser {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysUser
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysUser
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysUser
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysUser
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysUser
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysUser
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof SysUser
+     */
+    tenantId?: number | null;
+
+    /**
+     * 璐﹀彿
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    account: string;
+
+    /**
+     * 鐪熷疄濮撳悕
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    realName?: string | null;
+
+    /**
+     * 鏄电О
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    nickName?: string | null;
+
+    /**
+     * 澶村儚
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    avatar?: string | null;
+
+    /**
+     * @type {GenderEnum}
+     * @memberof SysUser
+     */
+    sex?: GenderEnum;
+
+    /**
+     * 骞撮緞
+     *
+     * @type {number}
+     * @memberof SysUser
+     */
+    age?: number;
+
+    /**
+     * 鍑虹敓鏃ユ湡
+     *
+     * @type {Date}
+     * @memberof SysUser
+     */
+    birthday?: Date | null;
+
+    /**
+     * 姘戞棌
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    nation?: string | null;
+
+    /**
+     * 鎵嬫満鍙风爜
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    phone?: string | null;
+
+    /**
+     * @type {CardTypeEnum}
+     * @memberof SysUser
+     */
+    cardType?: CardTypeEnum;
+
+    /**
+     * 韬唤璇佸彿
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    idCardNum?: string | null;
+
+    /**
+     * 閭
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    email?: string | null;
+
+    /**
+     * 鍦板潃
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    address?: string | null;
+
+    /**
+     * @type {CultureLevelEnum}
+     * @memberof SysUser
+     */
+    cultureLevel?: CultureLevelEnum;
+
+    /**
+     * 鏀挎不闈㈣矊
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    politicalOutlook?: string | null;
+
+    /**
+     * 姣曚笟闄㈡牎
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    college?: string | null;
+
+    /**
+     * 鍔炲叕鐢佃瘽
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    officePhone?: string | null;
+
+    /**
+     * 绱ф�ヨ仈绯讳汉
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    emergencyContact?: string | null;
+
+    /**
+     * 绱ф�ヨ仈绯讳汉鐢佃瘽
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    emergencyPhone?: string | null;
+
+    /**
+     * 绱ф�ヨ仈绯讳汉鍦板潃
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    emergencyAddress?: string | null;
+
+    /**
+     * 涓汉绠�浠�
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    introduction?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof SysUser
+     */
+    orderNo?: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof SysUser
+     */
+    status?: StatusEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    remark?: string | null;
+
+    /**
+     * @type {AccountTypeEnum}
+     * @memberof SysUser
+     */
+    accountType?: AccountTypeEnum;
+
+    /**
+     * 鐩村睘鏈烘瀯Id
+     *
+     * @type {number}
+     * @memberof SysUser
+     */
+    orgId?: number;
+
+    /**
+     * @type {SysOrg}
+     * @memberof SysUser
+     */
+    sysOrg?: SysOrg;
+
+    /**
+     * 鐩村睘涓荤Id
+     *
+     * @type {number}
+     * @memberof SysUser
+     */
+    managerUserId?: number | null;
+
+    /**
+     * 鑱屼綅Id
+     *
+     * @type {number}
+     * @memberof SysUser
+     */
+    posId?: number;
+
+    /**
+     * 宸ュ彿
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    jobNum?: string | null;
+
+    /**
+     * 鑱岀骇
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    posLevel?: string | null;
+
+    /**
+     * 鑱岀О
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    posTitle?: string | null;
+
+    /**
+     * 鎿呴暱棰嗗煙
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    expertise?: string | null;
+
+    /**
+     * 鍔炲叕鍖哄煙
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    officeZone?: string | null;
+
+    /**
+     * 鍔炲叕瀹�
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    office?: string | null;
+
+    /**
+     * 鍏ヨ亴鏃ユ湡
+     *
+     * @type {Date}
+     * @memberof SysUser
+     */
+    joinDate?: Date | null;
+
+    /**
+     * 鏈�鏂扮櫥褰旾p
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    lastLoginIp?: string | null;
+
+    /**
+     * 鏈�鏂扮櫥褰曞湴鐐�
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    lastLoginAddress?: string | null;
+
+    /**
+     * 鏈�鏂扮櫥褰曟椂闂�
+     *
+     * @type {Date}
+     * @memberof SysUser
+     */
+    lastLoginTime?: Date | null;
+
+    /**
+     * 鏈�鏂扮櫥褰曡澶�
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    lastLoginDevice?: string | null;
+
+    /**
+     * 鐢靛瓙绛惧悕
+     *
+     * @type {string}
+     * @memberof SysUser
+     */
+    signature?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-wechat-pay.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-wechat-pay.ts
new file mode 100644
index 0000000..5627d0c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-wechat-pay.ts
@@ -0,0 +1,270 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 绯荤粺寰俊鏀粯琛�
+ *
+ * @export
+ * @interface SysWechatPay
+ */
+export interface SysWechatPay {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysWechatPay
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysWechatPay
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysWechatPay
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysWechatPay
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysWechatPay
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysWechatPay
+     */
+    isDelete?: boolean;
+
+    /**
+     * 寰俊鍟嗘埛鍙�
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    merchantId: string;
+
+    /**
+     * 鏈嶅姟鍟咥ppId
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    appId: string;
+
+    /**
+     * 鍟嗘埛璁㈠崟鍙�
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    outTradeNumber: string;
+
+    /**
+     * 鏀粯璁㈠崟鍙�
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    transactionId: string;
+
+    /**
+     * 浜ゆ槗绫诲瀷
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    tradeType?: string | null;
+
+    /**
+     * 浜ゆ槗鐘舵��
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    tradeState?: string | null;
+
+    /**
+     * 浜ゆ槗鐘舵�佹弿杩�
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    tradeStateDescription?: string | null;
+
+    /**
+     * 浠樻閾惰绫诲瀷
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    bankType?: string | null;
+
+    /**
+     * 璁㈠崟鎬婚噾棰�
+     *
+     * @type {number}
+     * @memberof SysWechatPay
+     */
+    total?: number;
+
+    /**
+     * 鐢ㄦ埛鏀粯閲戦
+     *
+     * @type {number}
+     * @memberof SysWechatPay
+     */
+    payerTotal?: number | null;
+
+    /**
+     * 鏀粯瀹屾垚鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysWechatPay
+     */
+    successTime?: Date | null;
+
+    /**
+     * 浜ゆ槗缁撴潫鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysWechatPay
+     */
+    expireTime?: Date | null;
+
+    /**
+     * 鍟嗗搧鎻忚堪
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    description?: string | null;
+
+    /**
+     * 鍦烘櫙淇℃伅
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    scene?: string | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    attachment?: string | null;
+
+    /**
+     * 浼樻儬鏍囪
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    goodsTag?: string | null;
+
+    /**
+     * 缁撶畻淇℃伅
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    settlement?: string | null;
+
+    /**
+     * 鍥炶皟閫氱煡鍦板潃
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    notifyUrl?: string | null;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    remark?: string | null;
+
+    /**
+     * 寰俊OpenId鏍囪瘑
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    openId?: string | null;
+
+    /**
+     * 瀛愬晢鎴峰彿
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    subMerchantId?: string | null;
+
+    /**
+     * 瀛愬晢鎴稟ppId
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    subAppId?: string | null;
+
+    /**
+     * 瀛愬晢鎴峰敮涓�鏍囪瘑
+     *
+     * @type {string}
+     * @memberof SysWechatPay
+     */
+    subOpenId?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-wechat-user.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-wechat-user.ts
new file mode 100644
index 0000000..6076de1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/sys-wechat-user.ts
@@ -0,0 +1,221 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { PlatformTypeEnum } from './platform-type-enum';
+ /**
+ * 绯荤粺寰俊鐢ㄦ埛琛�
+ *
+ * @export
+ * @interface SysWechatUser
+ */
+export interface SysWechatUser {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof SysWechatUser
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysWechatUser
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof SysWechatUser
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof SysWechatUser
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof SysWechatUser
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof SysWechatUser
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof SysWechatUser
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof SysWechatUser
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绯荤粺鐢ㄦ埛Id
+     *
+     * @type {number}
+     * @memberof SysWechatUser
+     */
+    userId?: number;
+
+    /**
+     * @type {PlatformTypeEnum}
+     * @memberof SysWechatUser
+     */
+    platformType?: PlatformTypeEnum;
+
+    /**
+     * OpenId
+     *
+     * @type {string}
+     * @memberof SysWechatUser
+     */
+    openId: string;
+
+    /**
+     * 浼氳瘽瀵嗛挜
+     *
+     * @type {string}
+     * @memberof SysWechatUser
+     */
+    sessionKey?: string | null;
+
+    /**
+     * UnionId
+     *
+     * @type {string}
+     * @memberof SysWechatUser
+     */
+    unionId?: string | null;
+
+    /**
+     * 鏄电О
+     *
+     * @type {string}
+     * @memberof SysWechatUser
+     */
+    nickName?: string | null;
+
+    /**
+     * 澶村儚
+     *
+     * @type {string}
+     * @memberof SysWechatUser
+     */
+    avatar?: string | null;
+
+    /**
+     * 鎵嬫満鍙风爜
+     *
+     * @type {string}
+     * @memberof SysWechatUser
+     */
+    mobile?: string | null;
+
+    /**
+     * 鎬у埆
+     *
+     * @type {number}
+     * @memberof SysWechatUser
+     */
+    sex?: number | null;
+
+    /**
+     * 璇█
+     *
+     * @type {string}
+     * @memberof SysWechatUser
+     */
+    language?: string | null;
+
+    /**
+     * 鍩庡競
+     *
+     * @type {string}
+     * @memberof SysWechatUser
+     */
+    city?: string | null;
+
+    /**
+     * 鐪�
+     *
+     * @type {string}
+     * @memberof SysWechatUser
+     */
+    province?: string | null;
+
+    /**
+     * 鍥藉
+     *
+     * @type {string}
+     * @memberof SysWechatUser
+     */
+    country?: string | null;
+
+    /**
+     * AccessToken
+     *
+     * @type {string}
+     * @memberof SysWechatUser
+     */
+    accessToken?: string | null;
+
+    /**
+     * RefreshToken
+     *
+     * @type {string}
+     * @memberof SysWechatUser
+     */
+    refreshToken?: string | null;
+
+    /**
+     * 杩囨湡鏃堕棿
+     *
+     * @type {number}
+     * @memberof SysWechatUser
+     */
+    expiresIn?: number | null;
+
+    /**
+     * 鐢ㄦ埛鎺堟潈鐨勪綔鐢ㄥ煙锛屼娇鐢ㄩ�楀彿鍒嗛殧
+     *
+     * @type {string}
+     * @memberof SysWechatUser
+     */
+    scope?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/table-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/table-output.ts
new file mode 100644
index 0000000..fb5cffe
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/table-output.ts
@@ -0,0 +1,70 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鏁版嵁搴撹〃
+ *
+ * @export
+ * @interface TableOutput
+ */
+export interface TableOutput {
+
+    /**
+     * 搴撳畾浣嶅櫒鍚�
+     *
+     * @type {string}
+     * @memberof TableOutput
+     */
+    configId?: string | null;
+
+    /**
+     * 琛ㄥ悕锛堝瓧姣嶅舰寮忕殑锛�
+     *
+     * @type {string}
+     * @memberof TableOutput
+     */
+    tableName?: string | null;
+
+    /**
+     * 瀹炰綋鍚嶇О
+     *
+     * @type {string}
+     * @memberof TableOutput
+     */
+    entityName?: string | null;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {string}
+     * @memberof TableOutput
+     */
+    createTime?: string | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {string}
+     * @memberof TableOutput
+     */
+    updateTime?: string | null;
+
+    /**
+     * 琛ㄥ悕绉版弿杩帮紙鍔熻兘鍚嶏級
+     *
+     * @type {string}
+     * @memberof TableOutput
+     */
+    tableComment?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-id-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-id-input.ts
new file mode 100644
index 0000000..60408b8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-id-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface TenantIdInput
+ */
+export interface TenantIdInput {
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof TenantIdInput
+     */
+    tenantId?: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-input.ts
new file mode 100644
index 0000000..b1f7f43
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-input.ts
@@ -0,0 +1,37 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface TenantInput
+ */
+export interface TenantInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof TenantInput
+     */
+    id: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof TenantInput
+     */
+    status?: StatusEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-output.ts
new file mode 100644
index 0000000..790e1c7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-output.ts
@@ -0,0 +1,203 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { DbType } from './db-type';
+import { StatusEnum } from './status-enum';
+import { TenantTypeEnum } from './tenant-type-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface TenantOutput
+ */
+export interface TenantOutput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof TenantOutput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof TenantOutput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof TenantOutput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof TenantOutput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof TenantOutput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof TenantOutput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof TenantOutput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof TenantOutput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鐢ㄦ埛Id
+     *
+     * @type {number}
+     * @memberof TenantOutput
+     */
+    userId?: number;
+
+    /**
+     * 鏈烘瀯Id
+     *
+     * @type {number}
+     * @memberof TenantOutput
+     */
+    orgId?: number;
+
+    /**
+     * 涓绘満
+     *
+     * @type {string}
+     * @memberof TenantOutput
+     */
+    host?: string | null;
+
+    /**
+     * @type {TenantTypeEnum}
+     * @memberof TenantOutput
+     */
+    tenantType?: TenantTypeEnum;
+
+    /**
+     * @type {DbType}
+     * @memberof TenantOutput
+     */
+    dbType?: DbType;
+
+    /**
+     * 鏁版嵁搴撹繛鎺�
+     *
+     * @type {string}
+     * @memberof TenantOutput
+     */
+    connection?: string | null;
+
+    /**
+     * 鏁版嵁搴撴爣璇�
+     *
+     * @type {string}
+     * @memberof TenantOutput
+     */
+    configId?: string | null;
+
+    /**
+     * 浠庡簱杩炴帴/璇诲啓鍒嗙
+     *
+     * @type {string}
+     * @memberof TenantOutput
+     */
+    slaveConnections?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof TenantOutput
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof TenantOutput
+     */
+    remark?: string | null;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof TenantOutput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 绉熸埛鍚嶇О
+     *
+     * @type {string}
+     * @memberof TenantOutput
+     */
+    name?: string | null;
+
+    /**
+     * 绠$悊鍛樿处鍙�
+     *
+     * @type {string}
+     * @memberof TenantOutput
+     */
+    adminAccount?: string | null;
+
+    /**
+     * 鐢靛瓙閭
+     *
+     * @type {string}
+     * @memberof TenantOutput
+     */
+    email?: string | null;
+
+    /**
+     * 鐢佃瘽
+     *
+     * @type {string}
+     * @memberof TenantOutput
+     */
+    phone?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-type-enum.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-type-enum.ts
new file mode 100644
index 0000000..d35ccad
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-type-enum.ts
@@ -0,0 +1,24 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 绉熸埛绫诲瀷鏋氫妇<br />&nbsp;Id闅旂 Id = 0<br />&nbsp;搴撻殧绂� Db = 1<br />
+ * @export
+ * @enum {string}
+ */
+export enum TenantTypeEnum {
+    NUMBER_0 = 0,
+    NUMBER_1 = 1
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-user-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-user-input.ts
new file mode 100644
index 0000000..0c7a0eb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/tenant-user-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface TenantUserInput
+ */
+export interface TenantUserInput {
+
+    /**
+     * 鐢ㄦ埛Id
+     *
+     * @type {number}
+     * @memberof TenantUserInput
+     */
+    userId?: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/trigger-status.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/trigger-status.ts
new file mode 100644
index 0000000..33e294b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/trigger-status.ts
@@ -0,0 +1,35 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * <br />&nbsp; Backlog = 0<br />&nbsp; Ready = 1<br />&nbsp; Running = 2<br />&nbsp; Pause = 3<br />&nbsp; Blocked = 4<br />&nbsp; ErrorToReady = 5<br />&nbsp; Archived = 6<br />&nbsp; Panic = 7<br />&nbsp; Overrun = 8<br />&nbsp; Unoccupied = 9<br />&nbsp; NotStart = 10<br />&nbsp; Unknown = 11<br />&nbsp; Unhandled = 12<br />
+ * @export
+ * @enum {string}
+ */
+export enum TriggerStatus {
+    NUMBER_0 = 0,
+    NUMBER_1 = 1,
+    NUMBER_2 = 2,
+    NUMBER_3 = 3,
+    NUMBER_4 = 4,
+    NUMBER_5 = 5,
+    NUMBER_6 = 6,
+    NUMBER_7 = 7,
+    NUMBER_8 = 8,
+    NUMBER_9 = 9,
+    NUMBER_10 = 10,
+    NUMBER_11 = 11,
+    NUMBER_12 = 12
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/unlock-login-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/unlock-login-input.ts
new file mode 100644
index 0000000..fa0c49d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/unlock-login-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 瑙i櫎鐧诲綍閿佸畾杈撳叆鍙傛暟
+ *
+ * @export
+ * @interface UnlockLoginInput
+ */
+export interface UnlockLoginInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof UnlockLoginInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-code-gen-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-code-gen-input.ts
new file mode 100644
index 0000000..b5712c0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-code-gen-input.ts
@@ -0,0 +1,198 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdateCodeGenInput
+ */
+export interface UpdateCodeGenInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof UpdateCodeGenInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof UpdateCodeGenInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 浣滆�呭鍚�
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    authorName?: string | null;
+
+    /**
+     * 绫诲悕
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    className?: string | null;
+
+    /**
+     * 鏄惁绉婚櫎琛ㄥ墠缂�
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    tablePrefix?: string | null;
+
+    /**
+     * 搴撳畾浣嶅櫒鍚�
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    configId?: string | null;
+
+    /**
+     * 鏁版嵁搴撳悕(淇濈暀瀛楁)
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    dbName?: string | null;
+
+    /**
+     * 鏁版嵁搴撶被鍨�
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    dbType?: string | null;
+
+    /**
+     * 鏁版嵁搴撻摼鎺�
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    connectionString?: string | null;
+
+    /**
+     * 鐢熸垚鏂瑰紡
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    generateType?: string | null;
+
+    /**
+     * 鏁版嵁搴撹〃鍚�
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    tableName?: string | null;
+
+    /**
+     * 鍛藉悕绌洪棿
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    nameSpace?: string | null;
+
+    /**
+     * 涓氬姟鍚嶏紙涓氬姟浠g爜鍖呭悕绉帮級
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    busName?: string | null;
+
+    /**
+     * 鍔熻兘鍚嶏紙鏁版嵁搴撹〃鍚嶇О锛�
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    tableComment?: string | null;
+
+    /**
+     * 鑿滃崟搴旂敤鍒嗙被锛堝簲鐢ㄧ紪鍙凤級
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    menuApplication?: string | null;
+
+    /**
+     * 鑿滃崟鐖剁骇
+     *
+     * @type {number}
+     * @memberof UpdateCodeGenInput
+     */
+    menuPid?: number;
+
+    /**
+     * 鏀寔鎵撳嵃绫诲瀷
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    printType?: string | null;
+
+    /**
+     * 鎵撳嵃妯$増鍚嶇О
+     *
+     * @type {string}
+     * @memberof UpdateCodeGenInput
+     */
+    printName?: string | null;
+
+    /**
+     * 浠g爜鐢熸垚鍣↖d
+     *
+     * @type {number}
+     * @memberof UpdateCodeGenInput
+     */
+    id: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-config-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-config-input.ts
new file mode 100644
index 0000000..94c8c1d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-config-input.ts
@@ -0,0 +1,141 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { YesNoEnum } from './yes-no-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdateConfigInput
+ */
+export interface UpdateConfigInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UpdateConfigInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateConfigInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateConfigInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateConfigInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof UpdateConfigInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateConfigInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof UpdateConfigInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof UpdateConfigInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof UpdateConfigInput
+     */
+    name: string;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof UpdateConfigInput
+     */
+    code?: string | null;
+
+    /**
+     * 灞炴�у��
+     *
+     * @type {string}
+     * @memberof UpdateConfigInput
+     */
+    value?: string | null;
+
+    /**
+     * @type {YesNoEnum}
+     * @memberof UpdateConfigInput
+     */
+    sysFlag?: YesNoEnum;
+
+    /**
+     * 鍒嗙粍缂栧彿
+     *
+     * @type {string}
+     * @memberof UpdateConfigInput
+     */
+    groupCode?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof UpdateConfigInput
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof UpdateConfigInput
+     */
+    remark?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-db-column-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-db-column-input.ts
new file mode 100644
index 0000000..01f17c4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-db-column-input.ts
@@ -0,0 +1,52 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdateDbColumnInput
+ */
+export interface UpdateDbColumnInput {
+
+    /**
+     * @type {string}
+     * @memberof UpdateDbColumnInput
+     */
+    configId?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof UpdateDbColumnInput
+     */
+    tableName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof UpdateDbColumnInput
+     */
+    columnName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof UpdateDbColumnInput
+     */
+    oldColumnName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof UpdateDbColumnInput
+     */
+    description?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-db-table-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-db-table-input.ts
new file mode 100644
index 0000000..c19bdde
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-db-table-input.ts
@@ -0,0 +1,46 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdateDbTableInput
+ */
+export interface UpdateDbTableInput {
+
+    /**
+     * @type {string}
+     * @memberof UpdateDbTableInput
+     */
+    configId?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof UpdateDbTableInput
+     */
+    tableName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof UpdateDbTableInput
+     */
+    oldTableName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof UpdateDbTableInput
+     */
+    description?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-dict-data-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-dict-data-input.ts
new file mode 100644
index 0000000..d5ce2cd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-dict-data-input.ts
@@ -0,0 +1,173 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdateDictDataInput
+ */
+export interface UpdateDictDataInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UpdateDictDataInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateDictDataInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateDictDataInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateDictDataInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof UpdateDictDataInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateDictDataInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof UpdateDictDataInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof UpdateDictDataInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 瀛楀吀绫诲瀷Id
+     *
+     * @type {number}
+     * @memberof UpdateDictDataInput
+     */
+    dictTypeId?: number;
+
+    /**
+     * 鍊�
+     *
+     * @type {string}
+     * @memberof UpdateDictDataInput
+     */
+    value: string;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof UpdateDictDataInput
+     */
+    code: string;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof UpdateDictDataInput
+     */
+    name?: string | null;
+
+    /**
+     * 鏄剧ず鏍峰紡-鏍囩棰滆壊
+     *
+     * @type {string}
+     * @memberof UpdateDictDataInput
+     */
+    tagType?: string | null;
+
+    /**
+     * 鏄剧ず鏍峰紡-Style(鎺у埗鏄剧ず鏍峰紡)
+     *
+     * @type {string}
+     * @memberof UpdateDictDataInput
+     */
+    styleSetting?: string | null;
+
+    /**
+     * 鏄剧ず鏍峰紡-Class(鎺у埗鏄剧ず鏍峰紡)
+     *
+     * @type {string}
+     * @memberof UpdateDictDataInput
+     */
+    classSetting?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof UpdateDictDataInput
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof UpdateDictDataInput
+     */
+    remark?: string | null;
+
+    /**
+     * 鎷撳睍鏁版嵁(淇濆瓨涓氬姟鍔熻兘鐨勯厤缃」)
+     *
+     * @type {string}
+     * @memberof UpdateDictDataInput
+     */
+    extData?: string | null;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof UpdateDictDataInput
+     */
+    status?: StatusEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-dict-type-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-dict-type-input.ts
new file mode 100644
index 0000000..33975f6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-dict-type-input.ts
@@ -0,0 +1,134 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+import { SysDictData } from './sys-dict-data';
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdateDictTypeInput
+ */
+export interface UpdateDictTypeInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UpdateDictTypeInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateDictTypeInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateDictTypeInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateDictTypeInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof UpdateDictTypeInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateDictTypeInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof UpdateDictTypeInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof UpdateDictTypeInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof UpdateDictTypeInput
+     */
+    name: string;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof UpdateDictTypeInput
+     */
+    code: string;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof UpdateDictTypeInput
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof UpdateDictTypeInput
+     */
+    remark?: string | null;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof UpdateDictTypeInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 瀛楀吀鍊奸泦鍚�
+     *
+     * @type {Array<SysDictData>}
+     * @memberof UpdateDictTypeInput
+     */
+    children?: Array<SysDictData> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-job-detail-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-job-detail-input.ts
new file mode 100644
index 0000000..11406b0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-job-detail-input.ts
@@ -0,0 +1,117 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { JobCreateTypeEnum } from './job-create-type-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdateJobDetailInput
+ */
+export interface UpdateJobDetailInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UpdateJobDetailInput
+     */
+    id?: number;
+
+    /**
+     * 缁勫悕绉�
+     *
+     * @type {string}
+     * @memberof UpdateJobDetailInput
+     */
+    groupName?: string | null;
+
+    /**
+     * 浣滀笟绫诲瀷FullName
+     *
+     * @type {string}
+     * @memberof UpdateJobDetailInput
+     */
+    jobType?: string | null;
+
+    /**
+     * 绋嬪簭闆哊ame
+     *
+     * @type {string}
+     * @memberof UpdateJobDetailInput
+     */
+    assemblyName?: string | null;
+
+    /**
+     * 鎻忚堪淇℃伅
+     *
+     * @type {string}
+     * @memberof UpdateJobDetailInput
+     */
+    description?: string | null;
+
+    /**
+     * 鏄惁骞惰鎵ц
+     *
+     * @type {boolean}
+     * @memberof UpdateJobDetailInput
+     */
+    concurrent?: boolean;
+
+    /**
+     * 鏄惁鎵弿鐗规�цЕ鍙戝櫒
+     *
+     * @type {boolean}
+     * @memberof UpdateJobDetailInput
+     */
+    includeAnnotation?: boolean;
+
+    /**
+     * 棰濆鏁版嵁
+     *
+     * @type {string}
+     * @memberof UpdateJobDetailInput
+     */
+    properties?: string | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateJobDetailInput
+     */
+    updatedTime?: Date | null;
+
+    /**
+     * @type {JobCreateTypeEnum}
+     * @memberof UpdateJobDetailInput
+     */
+    createType?: JobCreateTypeEnum;
+
+    /**
+     * 鑴氭湰浠g爜
+     *
+     * @type {string}
+     * @memberof UpdateJobDetailInput
+     */
+    scriptCode?: string | null;
+
+    /**
+     * 浣滀笟Id
+     *
+     * @type {string}
+     * @memberof UpdateJobDetailInput
+     */
+    jobId: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-job-trigger-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-job-trigger-input.ts
new file mode 100644
index 0000000..75a5b59
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-job-trigger-input.ts
@@ -0,0 +1,197 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { TriggerStatus } from './trigger-status';
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdateJobTriggerInput
+ */
+export interface UpdateJobTriggerInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UpdateJobTriggerInput
+     */
+    id?: number;
+
+    /**
+     * 瑙﹀彂鍣ㄧ被鍨婩ullName
+     *
+     * @type {string}
+     * @memberof UpdateJobTriggerInput
+     */
+    triggerType?: string | null;
+
+    /**
+     * 绋嬪簭闆哊ame
+     *
+     * @type {string}
+     * @memberof UpdateJobTriggerInput
+     */
+    assemblyName?: string | null;
+
+    /**
+     * 鍙傛暟
+     *
+     * @type {string}
+     * @memberof UpdateJobTriggerInput
+     */
+    args?: string | null;
+
+    /**
+     * 鎻忚堪淇℃伅
+     *
+     * @type {string}
+     * @memberof UpdateJobTriggerInput
+     */
+    description?: string | null;
+
+    /**
+     * @type {TriggerStatus}
+     * @memberof UpdateJobTriggerInput
+     */
+    status?: TriggerStatus;
+
+    /**
+     * 璧峰鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateJobTriggerInput
+     */
+    startTime?: Date | null;
+
+    /**
+     * 缁撴潫鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateJobTriggerInput
+     */
+    endTime?: Date | null;
+
+    /**
+     * 鏈�杩戣繍琛屾椂闂�
+     *
+     * @type {Date}
+     * @memberof UpdateJobTriggerInput
+     */
+    lastRunTime?: Date | null;
+
+    /**
+     * 涓嬩竴娆¤繍琛屾椂闂�
+     *
+     * @type {Date}
+     * @memberof UpdateJobTriggerInput
+     */
+    nextRunTime?: Date | null;
+
+    /**
+     * 瑙﹀彂娆℃暟
+     *
+     * @type {number}
+     * @memberof UpdateJobTriggerInput
+     */
+    numberOfRuns?: number;
+
+    /**
+     * 鏈�澶цЕ鍙戞鏁帮紙0:涓嶉檺鍒讹紝n:N娆★級
+     *
+     * @type {number}
+     * @memberof UpdateJobTriggerInput
+     */
+    maxNumberOfRuns?: number;
+
+    /**
+     * 鍑洪敊娆℃暟
+     *
+     * @type {number}
+     * @memberof UpdateJobTriggerInput
+     */
+    numberOfErrors?: number;
+
+    /**
+     * 鏈�澶у嚭閿欐鏁帮紙0:涓嶉檺鍒讹紝n:N娆★級
+     *
+     * @type {number}
+     * @memberof UpdateJobTriggerInput
+     */
+    maxNumberOfErrors?: number;
+
+    /**
+     * 閲嶈瘯娆℃暟
+     *
+     * @type {number}
+     * @memberof UpdateJobTriggerInput
+     */
+    numRetries?: number;
+
+    /**
+     * 閲嶈瘯闂撮殧鏃堕棿锛坢s锛�
+     *
+     * @type {number}
+     * @memberof UpdateJobTriggerInput
+     */
+    retryTimeout?: number;
+
+    /**
+     * 鏄惁绔嬪嵆鍚姩
+     *
+     * @type {boolean}
+     * @memberof UpdateJobTriggerInput
+     */
+    startNow?: boolean;
+
+    /**
+     * 鏄惁鍚姩鏃舵墽琛屼竴娆�
+     *
+     * @type {boolean}
+     * @memberof UpdateJobTriggerInput
+     */
+    runOnStart?: boolean;
+
+    /**
+     * 鏄惁鍦ㄥ惎鍔ㄦ椂閲嶇疆鏈�澶цЕ鍙戞鏁扮瓑浜庝竴娆$殑浣滀笟
+     *
+     * @type {boolean}
+     * @memberof UpdateJobTriggerInput
+     */
+    resetOnlyOnce?: boolean;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateJobTriggerInput
+     */
+    updatedTime?: Date | null;
+
+    /**
+     * 浣滀笟Id
+     *
+     * @type {string}
+     * @memberof UpdateJobTriggerInput
+     */
+    jobId: string;
+
+    /**
+     * 瑙﹀彂鍣↖d
+     *
+     * @type {string}
+     * @memberof UpdateJobTriggerInput
+     */
+    triggerId: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-menu-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-menu-input.ts
new file mode 100644
index 0000000..d63037f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-menu-input.ts
@@ -0,0 +1,239 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { MenuTypeEnum } from './menu-type-enum';
+import { StatusEnum } from './status-enum';
+import { SysMenu } from './sys-menu';
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdateMenuInput
+ */
+export interface UpdateMenuInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UpdateMenuInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateMenuInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateMenuInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateMenuInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof UpdateMenuInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateMenuInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof UpdateMenuInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof UpdateMenuInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鐖禝d
+     *
+     * @type {number}
+     * @memberof UpdateMenuInput
+     */
+    pid?: number;
+
+    /**
+     * @type {MenuTypeEnum}
+     * @memberof UpdateMenuInput
+     */
+    type?: MenuTypeEnum;
+
+    /**
+     * 璺敱鍚嶇О
+     *
+     * @type {string}
+     * @memberof UpdateMenuInput
+     */
+    name?: string | null;
+
+    /**
+     * 璺敱鍦板潃
+     *
+     * @type {string}
+     * @memberof UpdateMenuInput
+     */
+    path?: string | null;
+
+    /**
+     * 缁勪欢璺緞
+     *
+     * @type {string}
+     * @memberof UpdateMenuInput
+     */
+    component?: string | null;
+
+    /**
+     * 閲嶅畾鍚�
+     *
+     * @type {string}
+     * @memberof UpdateMenuInput
+     */
+    redirect?: string | null;
+
+    /**
+     * 鏉冮檺鏍囪瘑
+     *
+     * @type {string}
+     * @memberof UpdateMenuInput
+     */
+    permission?: string | null;
+
+    /**
+     * 鍥炬爣
+     *
+     * @type {string}
+     * @memberof UpdateMenuInput
+     */
+    icon?: string | null;
+
+    /**
+     * 鏄惁鍐呭祵
+     *
+     * @type {boolean}
+     * @memberof UpdateMenuInput
+     */
+    isIframe?: boolean;
+
+    /**
+     * 澶栭摼閾炬帴
+     *
+     * @type {string}
+     * @memberof UpdateMenuInput
+     */
+    outLink?: string | null;
+
+    /**
+     * 鏄惁闅愯棌
+     *
+     * @type {boolean}
+     * @memberof UpdateMenuInput
+     */
+    isHide?: boolean;
+
+    /**
+     * 鏄惁缂撳瓨
+     *
+     * @type {boolean}
+     * @memberof UpdateMenuInput
+     */
+    isKeepAlive?: boolean;
+
+    /**
+     * 鏄惁鍥哄畾
+     *
+     * @type {boolean}
+     * @memberof UpdateMenuInput
+     */
+    isAffix?: boolean;
+
+
+  /**
+     * 鏄惁甯姪鏂囨。鑿滃崟
+     *
+     * @type {boolean}
+     * @memberof UpdateMenuInput
+     */
+   ishelpDoc?: boolean;
+
+    
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof UpdateMenuInput
+     */
+    orderNo?: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof UpdateMenuInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof UpdateMenuInput
+     */
+    remark?: string | null;
+
+    /**
+     * 鑿滃崟瀛愰」
+     *
+     * @type {Array<SysMenu>}
+     * @memberof UpdateMenuInput
+     */
+    children?: Array<SysMenu> | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof UpdateMenuInput
+     */
+    title: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-notice-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-notice-input.ts
new file mode 100644
index 0000000..24b05a2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-notice-input.ts
@@ -0,0 +1,164 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { NoticeStatusEnum } from './notice-status-enum';
+import { NoticeTypeEnum } from './notice-type-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdateNoticeInput
+ */
+export interface UpdateNoticeInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UpdateNoticeInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateNoticeInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateNoticeInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateNoticeInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof UpdateNoticeInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateNoticeInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof UpdateNoticeInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof UpdateNoticeInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鏍囬
+     *
+     * @type {string}
+     * @memberof UpdateNoticeInput
+     */
+    title: string;
+
+    /**
+     * 鍐呭
+     *
+     * @type {string}
+     * @memberof UpdateNoticeInput
+     */
+    content: string;
+
+    /**
+     * @type {NoticeTypeEnum}
+     * @memberof UpdateNoticeInput
+     */
+    type?: NoticeTypeEnum;
+
+    /**
+     * 鍙戝竷浜篒d
+     *
+     * @type {number}
+     * @memberof UpdateNoticeInput
+     */
+    publicUserId?: number;
+
+    /**
+     * 鍙戝竷浜哄鍚�
+     *
+     * @type {string}
+     * @memberof UpdateNoticeInput
+     */
+    publicUserName?: string | null;
+
+    /**
+     * 鍙戝竷鏈烘瀯Id
+     *
+     * @type {number}
+     * @memberof UpdateNoticeInput
+     */
+    publicOrgId?: number;
+
+    /**
+     * 鍙戝竷鏈烘瀯鍚嶇О
+     *
+     * @type {string}
+     * @memberof UpdateNoticeInput
+     */
+    publicOrgName?: string | null;
+
+    /**
+     * 鍙戝竷鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateNoticeInput
+     */
+    publicTime?: Date | null;
+
+    /**
+     * 鎾ゅ洖鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateNoticeInput
+     */
+    cancelTime?: Date | null;
+
+    /**
+     * @type {NoticeStatusEnum}
+     * @memberof UpdateNoticeInput
+     */
+    status?: NoticeStatusEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-open-access-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-open-access-input.ts
new file mode 100644
index 0000000..309b194
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-open-access-input.ts
@@ -0,0 +1,118 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdateOpenAccessInput
+ */
+export interface UpdateOpenAccessInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UpdateOpenAccessInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateOpenAccessInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateOpenAccessInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateOpenAccessInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof UpdateOpenAccessInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateOpenAccessInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof UpdateOpenAccessInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof UpdateOpenAccessInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 缁戝畾绉熸埛Id
+     *
+     * @type {number}
+     * @memberof UpdateOpenAccessInput
+     */
+    bindTenantId?: number;
+
+    /**
+     * 韬唤鏍囪瘑
+     *
+     * @type {string}
+     * @memberof UpdateOpenAccessInput
+     */
+    accessKey: string;
+
+    /**
+     * 瀵嗛挜
+     *
+     * @type {string}
+     * @memberof UpdateOpenAccessInput
+     */
+    accessSecret: string;
+
+    /**
+     * 缁戝畾鐢ㄦ埛Id
+     *
+     * @type {number}
+     * @memberof UpdateOpenAccessInput
+     */
+    bindUserId: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-org-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-org-input.ts
new file mode 100644
index 0000000..b85481e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-org-input.ts
@@ -0,0 +1,182 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+import { SysOrg } from './sys-org';
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdateOrgInput
+ */
+export interface UpdateOrgInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UpdateOrgInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateOrgInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateOrgInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateOrgInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof UpdateOrgInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateOrgInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof UpdateOrgInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof UpdateOrgInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof UpdateOrgInput
+     */
+    tenantId?: number | null;
+
+    /**
+     * 鐖禝d
+     *
+     * @type {number}
+     * @memberof UpdateOrgInput
+     */
+    pid?: number;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof UpdateOrgInput
+     */
+    code?: string | null;
+
+    /**
+     * 绾у埆
+     *
+     * @type {number}
+     * @memberof UpdateOrgInput
+     */
+    level?: number | null;
+
+    /**
+     * 鏈烘瀯绫诲瀷-鏁版嵁瀛楀吀
+     *
+     * @type {string}
+     * @memberof UpdateOrgInput
+     */
+    type?: string | null;
+
+    /**
+     * 璐熻矗浜篒d
+     *
+     * @type {number}
+     * @memberof UpdateOrgInput
+     */
+    directorId?: number | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof UpdateOrgInput
+     */
+    orderNo?: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof UpdateOrgInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof UpdateOrgInput
+     */
+    remark?: string | null;
+
+    /**
+     * 鏈烘瀯瀛愰」
+     *
+     * @type {Array<SysOrg>}
+     * @memberof UpdateOrgInput
+     */
+    children?: Array<SysOrg> | null;
+
+    /**
+     * 鏄惁绂佹閫変腑
+     *
+     * @type {boolean}
+     * @memberof UpdateOrgInput
+     */
+    disabled?: boolean;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof UpdateOrgInput
+     */
+    name: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-plugin-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-plugin-input.ts
new file mode 100644
index 0000000..8e78cf9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-plugin-input.ts
@@ -0,0 +1,141 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdatePluginInput
+ */
+export interface UpdatePluginInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UpdatePluginInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdatePluginInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdatePluginInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdatePluginInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof UpdatePluginInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdatePluginInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof UpdatePluginInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof UpdatePluginInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof UpdatePluginInput
+     */
+    tenantId?: number | null;
+
+    /**
+     * C#浠g爜
+     *
+     * @type {string}
+     * @memberof UpdatePluginInput
+     */
+    csharpCode: string;
+
+    /**
+     * 绋嬪簭闆嗗悕绉�
+     *
+     * @type {string}
+     * @memberof UpdatePluginInput
+     */
+    assemblyName?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof UpdatePluginInput
+     */
+    orderNo?: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof UpdatePluginInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof UpdatePluginInput
+     */
+    remark?: string | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof UpdatePluginInput
+     */
+    name: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-pos-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-pos-input.ts
new file mode 100644
index 0000000..5127afd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-pos-input.ts
@@ -0,0 +1,133 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdatePosInput
+ */
+export interface UpdatePosInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UpdatePosInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdatePosInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdatePosInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdatePosInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof UpdatePosInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdatePosInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof UpdatePosInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof UpdatePosInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof UpdatePosInput
+     */
+    tenantId?: number | null;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof UpdatePosInput
+     */
+    code?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof UpdatePosInput
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof UpdatePosInput
+     */
+    remark?: string | null;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof UpdatePosInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof UpdatePosInput
+     */
+    name: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-print-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-print-input.ts
new file mode 100644
index 0000000..0e9efd8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-print-input.ts
@@ -0,0 +1,133 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdatePrintInput
+ */
+export interface UpdatePrintInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UpdatePrintInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdatePrintInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdatePrintInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdatePrintInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof UpdatePrintInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdatePrintInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof UpdatePrintInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof UpdatePrintInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof UpdatePrintInput
+     */
+    tenantId?: number | null;
+
+    /**
+     * 鎵撳嵃妯℃澘
+     *
+     * @type {string}
+     * @memberof UpdatePrintInput
+     */
+    template: string;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof UpdatePrintInput
+     */
+    orderNo?: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof UpdatePrintInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof UpdatePrintInput
+     */
+    remark?: string | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof UpdatePrintInput
+     */
+    name: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-region-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-region-input.ts
new file mode 100644
index 0000000..c3b1279
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-region-input.ts
@@ -0,0 +1,143 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { SysRegion } from './sys-region';
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdateRegionInput
+ */
+export interface UpdateRegionInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UpdateRegionInput
+     */
+    id?: number;
+
+    /**
+     * 鐖禝d
+     *
+     * @type {number}
+     * @memberof UpdateRegionInput
+     */
+    pid?: number;
+
+    /**
+     * 绠�绉�
+     *
+     * @type {string}
+     * @memberof UpdateRegionInput
+     */
+    shortName?: string | null;
+
+    /**
+     * 缁勫悎鍚�
+     *
+     * @type {string}
+     * @memberof UpdateRegionInput
+     */
+    mergerName?: string | null;
+
+    /**
+     * 琛屾斂浠g爜
+     *
+     * @type {string}
+     * @memberof UpdateRegionInput
+     */
+    code?: string | null;
+
+    /**
+     * 閭斂缂栧彿
+     *
+     * @type {string}
+     * @memberof UpdateRegionInput
+     */
+    zipCode?: string | null;
+
+    /**
+     * 鍖哄彿
+     *
+     * @type {string}
+     * @memberof UpdateRegionInput
+     */
+    cityCode?: string | null;
+
+    /**
+     * 灞傜骇
+     *
+     * @type {number}
+     * @memberof UpdateRegionInput
+     */
+    level?: number;
+
+    /**
+     * 鎷奸煶
+     *
+     * @type {string}
+     * @memberof UpdateRegionInput
+     */
+    pinYin?: string | null;
+
+    /**
+     * 缁忓害
+     *
+     * @type {number}
+     * @memberof UpdateRegionInput
+     */
+    lng?: number;
+
+    /**
+     * 缁村害
+     *
+     * @type {number}
+     * @memberof UpdateRegionInput
+     */
+    lat?: number;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof UpdateRegionInput
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof UpdateRegionInput
+     */
+    remark?: string | null;
+
+    /**
+     * 鏈烘瀯瀛愰」
+     *
+     * @type {Array<SysRegion>}
+     * @memberof UpdateRegionInput
+     */
+    children?: Array<SysRegion> | null;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof UpdateRegionInput
+     */
+    name: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-role-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-role-input.ts
new file mode 100644
index 0000000..7669762
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-role-input.ts
@@ -0,0 +1,148 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { DataScopeEnum } from './data-scope-enum';
+import { StatusEnum } from './status-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdateRoleInput
+ */
+export interface UpdateRoleInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UpdateRoleInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateRoleInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateRoleInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateRoleInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof UpdateRoleInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateRoleInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof UpdateRoleInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof UpdateRoleInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof UpdateRoleInput
+     */
+    tenantId?: number | null;
+
+    /**
+     * 缂栧彿
+     *
+     * @type {string}
+     * @memberof UpdateRoleInput
+     */
+    code?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof UpdateRoleInput
+     */
+    orderNo?: number;
+
+    /**
+     * @type {DataScopeEnum}
+     * @memberof UpdateRoleInput
+     */
+    dataScope?: DataScopeEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof UpdateRoleInput
+     */
+    remark?: string | null;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof UpdateRoleInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 鍚嶇О
+     *
+     * @type {string}
+     * @memberof UpdateRoleInput
+     */
+    name: string;
+
+    /**
+     * 鑿滃崟Id闆嗗悎
+     *
+     * @type {Array<number>}
+     * @memberof UpdateRoleInput
+     */
+    menuIdList?: Array<number> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-sys-ldap-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-sys-ldap-input.ts
new file mode 100644
index 0000000..5dba66e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-sys-ldap-input.ts
@@ -0,0 +1,181 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdateSysLdapInput
+ */
+export interface UpdateSysLdapInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UpdateSysLdapInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateSysLdapInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateSysLdapInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateSysLdapInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof UpdateSysLdapInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateSysLdapInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof UpdateSysLdapInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof UpdateSysLdapInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof UpdateSysLdapInput
+     */
+    tenantId?: number | null;
+
+    /**
+     * 涓绘満
+     *
+     * @type {string}
+     * @memberof UpdateSysLdapInput
+     */
+    host: string;
+
+    /**
+     * 绔彛
+     *
+     * @type {number}
+     * @memberof UpdateSysLdapInput
+     */
+    port?: number;
+
+    /**
+     * 鐢ㄦ埛鎼滅储鍩哄噯
+     *
+     * @type {string}
+     * @memberof UpdateSysLdapInput
+     */
+    baseDn: string;
+
+    /**
+     * 缁戝畾DN(鏈夌鐞嗘潈闄愬埗鐨勭敤鎴�)
+     *
+     * @type {string}
+     * @memberof UpdateSysLdapInput
+     */
+    bindDn: string;
+
+    /**
+     * 缁戝畾瀵嗙爜(鏈夌鐞嗘潈闄愬埗鐨勭敤鎴峰瘑鐮�)
+     *
+     * @type {string}
+     * @memberof UpdateSysLdapInput
+     */
+    bindPass: string;
+
+    /**
+     * 鐢ㄦ埛杩囨护瑙勫垯
+     *
+     * @type {string}
+     * @memberof UpdateSysLdapInput
+     */
+    authFilter: string;
+
+    /**
+     * Ldap鐗堟湰
+     *
+     * @type {number}
+     * @memberof UpdateSysLdapInput
+     */
+    version?: number;
+
+    /**
+     * 缁戝畾鍩熻处鍙峰瓧娈靛睘鎬у��
+     *
+     * @type {string}
+     * @memberof UpdateSysLdapInput
+     */
+    bindAttrAccount: string;
+
+    /**
+     * 缁戝畾鐢ㄦ埛EmployeeId灞炴�у��
+     *
+     * @type {string}
+     * @memberof UpdateSysLdapInput
+     */
+    bindAttrEmployeeId: string;
+
+    /**
+     * 缁戝畾Code灞炴�у��
+     *
+     * @type {string}
+     * @memberof UpdateSysLdapInput
+     */
+    bindAttrCode: string;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof UpdateSysLdapInput
+     */
+    status?: StatusEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-tenant-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-tenant-input.ts
new file mode 100644
index 0000000..66ce8b9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-tenant-input.ts
@@ -0,0 +1,203 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { DbType } from './db-type';
+import { StatusEnum } from './status-enum';
+import { TenantTypeEnum } from './tenant-type-enum';
+ /**
+ * 
+ *
+ * @export
+ * @interface UpdateTenantInput
+ */
+export interface UpdateTenantInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UpdateTenantInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateTenantInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateTenantInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateTenantInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof UpdateTenantInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateTenantInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof UpdateTenantInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof UpdateTenantInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 鐢ㄦ埛Id
+     *
+     * @type {number}
+     * @memberof UpdateTenantInput
+     */
+    userId?: number;
+
+    /**
+     * 鏈烘瀯Id
+     *
+     * @type {number}
+     * @memberof UpdateTenantInput
+     */
+    orgId?: number;
+
+    /**
+     * 涓绘満
+     *
+     * @type {string}
+     * @memberof UpdateTenantInput
+     */
+    host?: string | null;
+
+    /**
+     * @type {TenantTypeEnum}
+     * @memberof UpdateTenantInput
+     */
+    tenantType?: TenantTypeEnum;
+
+    /**
+     * @type {DbType}
+     * @memberof UpdateTenantInput
+     */
+    dbType?: DbType;
+
+    /**
+     * 鏁版嵁搴撹繛鎺�
+     *
+     * @type {string}
+     * @memberof UpdateTenantInput
+     */
+    connection?: string | null;
+
+    /**
+     * 鏁版嵁搴撴爣璇�
+     *
+     * @type {string}
+     * @memberof UpdateTenantInput
+     */
+    configId?: string | null;
+
+    /**
+     * 浠庡簱杩炴帴/璇诲啓鍒嗙
+     *
+     * @type {string}
+     * @memberof UpdateTenantInput
+     */
+    slaveConnections?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof UpdateTenantInput
+     */
+    orderNo?: number;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof UpdateTenantInput
+     */
+    remark?: string | null;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof UpdateTenantInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 鐢靛瓙閭
+     *
+     * @type {string}
+     * @memberof UpdateTenantInput
+     */
+    email?: string | null;
+
+    /**
+     * 鐢佃瘽
+     *
+     * @type {string}
+     * @memberof UpdateTenantInput
+     */
+    phone?: string | null;
+
+    /**
+     * 绉熸埛鍚嶇О
+     *
+     * @type {string}
+     * @memberof UpdateTenantInput
+     */
+    name: string;
+
+    /**
+     * 绉熺璐﹀彿
+     *
+     * @type {string}
+     * @memberof UpdateTenantInput
+     */
+    adminAccount: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/update-user-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-user-input.ts
new file mode 100644
index 0000000..b09342a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/update-user-input.ts
@@ -0,0 +1,441 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { AccountTypeEnum } from './account-type-enum';
+import { CardTypeEnum } from './card-type-enum';
+import { CultureLevelEnum } from './culture-level-enum';
+import { GenderEnum } from './gender-enum';
+import { StatusEnum } from './status-enum';
+import { SysOrg } from './sys-org';
+import { SysUserExtOrg } from './sys-user-ext-org';
+ /**
+ * 鏇存柊鐢ㄦ埛杈撳叆鍙傛暟
+ *
+ * @export
+ * @interface UpdateUserInput
+ */
+export interface UpdateUserInput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UpdateUserInput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateUserInput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UpdateUserInput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateUserInput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof UpdateUserInput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof UpdateUserInput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof UpdateUserInput
+     */
+    tenantId?: number | null;
+
+    /**
+     * 鏄电О
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    nickName?: string | null;
+
+    /**
+     * 澶村儚
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    avatar?: string | null;
+
+    /**
+     * @type {GenderEnum}
+     * @memberof UpdateUserInput
+     */
+    sex?: GenderEnum;
+
+    /**
+     * 骞撮緞
+     *
+     * @type {number}
+     * @memberof UpdateUserInput
+     */
+    age?: number;
+
+    /**
+     * 鍑虹敓鏃ユ湡
+     *
+     * @type {Date}
+     * @memberof UpdateUserInput
+     */
+    birthday?: Date | null;
+
+    /**
+     * 姘戞棌
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    nation?: string | null;
+
+    /**
+     * 鎵嬫満鍙风爜
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    phone?: string | null;
+
+    /**
+     * @type {CardTypeEnum}
+     * @memberof UpdateUserInput
+     */
+    cardType?: CardTypeEnum;
+
+    /**
+     * 韬唤璇佸彿
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    idCardNum?: string | null;
+
+    /**
+     * 閭
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    email?: string | null;
+
+    /**
+     * 鍦板潃
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    address?: string | null;
+
+    /**
+     * @type {CultureLevelEnum}
+     * @memberof UpdateUserInput
+     */
+    cultureLevel?: CultureLevelEnum;
+
+    /**
+     * 鏀挎不闈㈣矊
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    politicalOutlook?: string | null;
+
+    /**
+     * 姣曚笟闄㈡牎
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    college?: string | null;
+
+    /**
+     * 鍔炲叕鐢佃瘽
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    officePhone?: string | null;
+
+    /**
+     * 绱ф�ヨ仈绯讳汉
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    emergencyContact?: string | null;
+
+    /**
+     * 绱ф�ヨ仈绯讳汉鐢佃瘽
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    emergencyPhone?: string | null;
+
+    /**
+     * 绱ф�ヨ仈绯讳汉鍦板潃
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    emergencyAddress?: string | null;
+
+    /**
+     * 涓汉绠�浠�
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    introduction?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof UpdateUserInput
+     */
+    orderNo?: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof UpdateUserInput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    remark?: string | null;
+
+    /**
+     * @type {AccountTypeEnum}
+     * @memberof UpdateUserInput
+     */
+    accountType?: AccountTypeEnum;
+
+    /**
+     * 鐩村睘鏈烘瀯Id
+     *
+     * @type {number}
+     * @memberof UpdateUserInput
+     */
+    orgId?: number;
+
+    /**
+     * @type {SysOrg}
+     * @memberof UpdateUserInput
+     */
+    sysOrg?: SysOrg;
+
+    /**
+     * 鐩村睘涓荤Id
+     *
+     * @type {number}
+     * @memberof UpdateUserInput
+     */
+    managerUserId?: number | null;
+
+    /**
+     * 鑱屼綅Id
+     *
+     * @type {number}
+     * @memberof UpdateUserInput
+     */
+    posId?: number;
+
+    /**
+     * 宸ュ彿
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    jobNum?: string | null;
+
+    /**
+     * 鑱岀骇
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    posLevel?: string | null;
+
+    /**
+     * 鑱岀О
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    posTitle?: string | null;
+
+    /**
+     * 鎿呴暱棰嗗煙
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    expertise?: string | null;
+
+    /**
+     * 鍔炲叕鍖哄煙
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    officeZone?: string | null;
+
+    /**
+     * 鍔炲叕瀹�
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    office?: string | null;
+
+    /**
+     * 鍏ヨ亴鏃ユ湡
+     *
+     * @type {Date}
+     * @memberof UpdateUserInput
+     */
+    joinDate?: Date | null;
+
+    /**
+     * 鏈�鏂扮櫥褰旾p
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    lastLoginIp?: string | null;
+
+    /**
+     * 鏈�鏂扮櫥褰曞湴鐐�
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    lastLoginAddress?: string | null;
+
+    /**
+     * 鏈�鏂扮櫥褰曟椂闂�
+     *
+     * @type {Date}
+     * @memberof UpdateUserInput
+     */
+    lastLoginTime?: Date | null;
+
+    /**
+     * 鏈�鏂扮櫥褰曡澶�
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    lastLoginDevice?: string | null;
+
+    /**
+     * 鐢靛瓙绛惧悕
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    signature?: string | null;
+
+    /**
+     * 璐﹀彿
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    account: string;
+
+    /**
+     * 鐪熷疄濮撳悕
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    realName: string;
+
+    /**
+     * 鍩熺敤鎴�
+     *
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    domainAccount?: string | null;
+
+    /**
+     * 瑙掕壊闆嗗悎
+     *
+     * @type {Array<number>}
+     * @memberof UpdateUserInput
+     */
+    roleIdList?: Array<number> | null;
+
+    /**
+     * 鎵╁睍鏈烘瀯闆嗗悎
+     *
+     * @type {Array<SysUserExtOrg>}
+     * @memberof UpdateUserInput
+     */
+    extOrgIdList?: Array<SysUserExtOrg> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/upload-file-from-base64-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/upload-file-from-base64-input.ts
new file mode 100644
index 0000000..09a4f44
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/upload-file-from-base64-input.ts
@@ -0,0 +1,54 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface UploadFileFromBase64Input
+ */
+export interface UploadFileFromBase64Input {
+
+    /**
+     * 鏂囦欢鍐呭
+     *
+     * @type {string}
+     * @memberof UploadFileFromBase64Input
+     */
+    fileDataBase64?: string | null;
+
+    /**
+     * 鏂囦欢绫诲瀷( \"image/jpeg\",)
+     *
+     * @type {string}
+     * @memberof UploadFileFromBase64Input
+     */
+    contentType?: string | null;
+
+    /**
+     * 鏂囦欢鍚嶇О
+     *
+     * @type {string}
+     * @memberof UploadFileFromBase64Input
+     */
+    fileName?: string | null;
+
+    /**
+     * 淇濆瓨璺緞
+     *
+     * @type {string}
+     * @memberof UploadFileFromBase64Input
+     */
+    path?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/user-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/user-input.ts
new file mode 100644
index 0000000..3f9f46f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/user-input.ts
@@ -0,0 +1,37 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { StatusEnum } from './status-enum';
+ /**
+ * 璁剧疆鐢ㄦ埛鐘舵�佽緭鍏ュ弬鏁�
+ *
+ * @export
+ * @interface UserInput
+ */
+export interface UserInput {
+
+    /**
+     * 涓婚敭Id
+     *
+     * @type {number}
+     * @memberof UserInput
+     */
+    id: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof UserInput
+     */
+    status?: StatusEnum;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/user-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/user-output.ts
new file mode 100644
index 0000000..90c849d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/user-output.ts
@@ -0,0 +1,448 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { AccountTypeEnum } from './account-type-enum';
+import { CardTypeEnum } from './card-type-enum';
+import { CultureLevelEnum } from './culture-level-enum';
+import { GenderEnum } from './gender-enum';
+import { StatusEnum } from './status-enum';
+import { SysOrg } from './sys-org';
+ /**
+ * 
+ *
+ * @export
+ * @interface UserOutput
+ */
+export interface UserOutput {
+
+    /**
+     * 闆姳Id
+     *
+     * @type {number}
+     * @memberof UserOutput
+     */
+    id?: number;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UserOutput
+     */
+    createTime?: Date | null;
+
+    /**
+     * 淇敼鏃堕棿
+     *
+     * @type {Date}
+     * @memberof UserOutput
+     */
+    updateTime?: Date | null;
+
+    /**
+     * 鍒涘缓鑰匢d
+     *
+     * @type {number}
+     * @memberof UserOutput
+     */
+    createUserId?: number | null;
+
+    /**
+     * 鍒涘缓浜�
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    createUserName?: string | null;
+
+    /**
+     * 淇敼鑰匢d
+     *
+     * @type {number}
+     * @memberof UserOutput
+     */
+    updateUserId?: number | null;
+
+    /**
+     * 淇敼浜�
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    updateUserName?: string | null;
+
+    /**
+     * 杞垹闄�
+     *
+     * @type {boolean}
+     * @memberof UserOutput
+     */
+    isDelete?: boolean;
+
+    /**
+     * 绉熸埛Id
+     *
+     * @type {number}
+     * @memberof UserOutput
+     */
+    tenantId?: number | null;
+
+    /**
+     * 璐﹀彿
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    account: string;
+
+    /**
+     * 鐪熷疄濮撳悕
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    realName?: string | null;
+
+    /**
+     * 鏄电О
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    nickName?: string | null;
+
+    /**
+     * 澶村儚
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    avatar?: string | null;
+
+    /**
+     * @type {GenderEnum}
+     * @memberof UserOutput
+     */
+    sex?: GenderEnum;
+
+    /**
+     * 骞撮緞
+     *
+     * @type {number}
+     * @memberof UserOutput
+     */
+    age?: number;
+
+    /**
+     * 鍑虹敓鏃ユ湡
+     *
+     * @type {Date}
+     * @memberof UserOutput
+     */
+    birthday?: Date | null;
+
+    /**
+     * 姘戞棌
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    nation?: string | null;
+
+    /**
+     * 鎵嬫満鍙风爜
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    phone?: string | null;
+
+    /**
+     * @type {CardTypeEnum}
+     * @memberof UserOutput
+     */
+    cardType?: CardTypeEnum;
+
+    /**
+     * 韬唤璇佸彿
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    idCardNum?: string | null;
+
+    /**
+     * 閭
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    email?: string | null;
+
+    /**
+     * 鍦板潃
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    address?: string | null;
+
+    /**
+     * @type {CultureLevelEnum}
+     * @memberof UserOutput
+     */
+    cultureLevel?: CultureLevelEnum;
+
+    /**
+     * 鏀挎不闈㈣矊
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    politicalOutlook?: string | null;
+
+    /**
+     * 姣曚笟闄㈡牎
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    college?: string | null;
+
+    /**
+     * 鍔炲叕鐢佃瘽
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    officePhone?: string | null;
+
+    /**
+     * 绱ф�ヨ仈绯讳汉
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    emergencyContact?: string | null;
+
+    /**
+     * 绱ф�ヨ仈绯讳汉鐢佃瘽
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    emergencyPhone?: string | null;
+
+    /**
+     * 绱ф�ヨ仈绯讳汉鍦板潃
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    emergencyAddress?: string | null;
+
+    /**
+     * 涓汉绠�浠�
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    introduction?: string | null;
+
+    /**
+     * 鎺掑簭
+     *
+     * @type {number}
+     * @memberof UserOutput
+     */
+    orderNo?: number;
+
+    /**
+     * @type {StatusEnum}
+     * @memberof UserOutput
+     */
+    status?: StatusEnum;
+
+    /**
+     * 澶囨敞
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    remark?: string | null;
+
+    /**
+     * @type {AccountTypeEnum}
+     * @memberof UserOutput
+     */
+    accountType?: AccountTypeEnum;
+
+    /**
+     * 鐩村睘鏈烘瀯Id
+     *
+     * @type {number}
+     * @memberof UserOutput
+     */
+    orgId?: number;
+
+    /**
+     * @type {SysOrg}
+     * @memberof UserOutput
+     */
+    sysOrg?: SysOrg;
+
+    /**
+     * 鐩村睘涓荤Id
+     *
+     * @type {number}
+     * @memberof UserOutput
+     */
+    managerUserId?: number | null;
+
+    /**
+     * 鑱屼綅Id
+     *
+     * @type {number}
+     * @memberof UserOutput
+     */
+    posId?: number;
+
+    /**
+     * 宸ュ彿
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    jobNum?: string | null;
+
+    /**
+     * 鑱岀骇
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    posLevel?: string | null;
+
+    /**
+     * 鑱岀О
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    posTitle?: string | null;
+
+    /**
+     * 鎿呴暱棰嗗煙
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    expertise?: string | null;
+
+    /**
+     * 鍔炲叕鍖哄煙
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    officeZone?: string | null;
+
+    /**
+     * 鍔炲叕瀹�
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    office?: string | null;
+
+    /**
+     * 鍏ヨ亴鏃ユ湡
+     *
+     * @type {Date}
+     * @memberof UserOutput
+     */
+    joinDate?: Date | null;
+
+    /**
+     * 鏈�鏂扮櫥褰旾p
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    lastLoginIp?: string | null;
+
+    /**
+     * 鏈�鏂扮櫥褰曞湴鐐�
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    lastLoginAddress?: string | null;
+
+    /**
+     * 鏈�鏂扮櫥褰曟椂闂�
+     *
+     * @type {Date}
+     * @memberof UserOutput
+     */
+    lastLoginTime?: Date | null;
+
+    /**
+     * 鏈�鏂扮櫥褰曡澶�
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    lastLoginDevice?: string | null;
+
+    /**
+     * 鐢靛瓙绛惧悕
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    signature?: string | null;
+
+    /**
+     * 鏈烘瀯鍚嶇О
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    orgName?: string | null;
+
+    /**
+     * 鑱屼綅鍚嶇О
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    posName?: string | null;
+
+    /**
+     * 瑙掕壊鍚嶇О
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    roleName?: string | null;
+
+    /**
+     * 鍩熺敤鎴�
+     *
+     * @type {string}
+     * @memberof UserOutput
+     */
+    domainAccount?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/user-role-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/user-role-input.ts
new file mode 100644
index 0000000..eef0694
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/user-role-input.ts
@@ -0,0 +1,38 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 鎺堟潈鐢ㄦ埛瑙掕壊
+ *
+ * @export
+ * @interface UserRoleInput
+ */
+export interface UserRoleInput {
+
+    /**
+     * 鐢ㄦ埛Id
+     *
+     * @type {number}
+     * @memberof UserRoleInput
+     */
+    userId?: number;
+
+    /**
+     * 瑙掕壊Id闆嗗悎
+     *
+     * @type {Array<number>}
+     * @memberof UserRoleInput
+     */
+    roleIdList?: Array<number> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/visual-column.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/visual-column.ts
new file mode 100644
index 0000000..f2ca9e3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/visual-column.ts
@@ -0,0 +1,52 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface VisualColumn
+ */
+export interface VisualColumn {
+
+    /**
+     * @type {string}
+     * @memberof VisualColumn
+     */
+    tableName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof VisualColumn
+     */
+    columnName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof VisualColumn
+     */
+    dataType?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof VisualColumn
+     */
+    dataLength?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof VisualColumn
+     */
+    columnDescription?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/visual-db-table.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/visual-db-table.ts
new file mode 100644
index 0000000..cf1d8a4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/visual-db-table.ts
@@ -0,0 +1,43 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+import { ColumnRelation } from './column-relation';
+import { VisualColumn } from './visual-column';
+import { VisualTable } from './visual-table';
+ /**
+ * 搴撹〃鍙鍖�
+ *
+ * @export
+ * @interface VisualDbTable
+ */
+export interface VisualDbTable {
+
+    /**
+     * @type {Array<VisualTable>}
+     * @memberof VisualDbTable
+     */
+    visualTableList?: Array<VisualTable> | null;
+
+    /**
+     * @type {Array<VisualColumn>}
+     * @memberof VisualDbTable
+     */
+    visualColumnList?: Array<VisualColumn> | null;
+
+    /**
+     * @type {Array<ColumnRelation>}
+     * @memberof VisualDbTable
+     */
+    columnRelationList?: Array<ColumnRelation> | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/visual-table.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/visual-table.ts
new file mode 100644
index 0000000..af247ab
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/visual-table.ts
@@ -0,0 +1,46 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface VisualTable
+ */
+export interface VisualTable {
+
+    /**
+     * @type {string}
+     * @memberof VisualTable
+     */
+    tableName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof VisualTable
+     */
+    tableComents?: string | null;
+
+    /**
+     * @type {number}
+     * @memberof VisualTable
+     */
+    x?: number;
+
+    /**
+     * @type {number}
+     * @memberof VisualTable
+     */
+    y?: number;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-pay-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-pay-output.ts
new file mode 100644
index 0000000..621ca70
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-pay-output.ts
@@ -0,0 +1,54 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface WechatPayOutput
+ */
+export interface WechatPayOutput {
+
+    /**
+     * OpenId
+     *
+     * @type {string}
+     * @memberof WechatPayOutput
+     */
+    openId?: string | null;
+
+    /**
+     * 璁㈠崟閲戦
+     *
+     * @type {number}
+     * @memberof WechatPayOutput
+     */
+    total?: number;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {string}
+     * @memberof WechatPayOutput
+     */
+    attachment?: string | null;
+
+    /**
+     * 浼樻儬鏍囪
+     *
+     * @type {string}
+     * @memberof WechatPayOutput
+     */
+    goodsTag?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-pay-para-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-pay-para-input.ts
new file mode 100644
index 0000000..a7d2d28
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-pay-para-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface WechatPayParaInput
+ */
+export interface WechatPayParaInput {
+
+    /**
+     * 璁㈠崟Id
+     *
+     * @type {string}
+     * @memberof WechatPayParaInput
+     */
+    prepayId?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-pay-transaction-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-pay-transaction-input.ts
new file mode 100644
index 0000000..03f3ef8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-pay-transaction-input.ts
@@ -0,0 +1,62 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface WechatPayTransactionInput
+ */
+export interface WechatPayTransactionInput {
+
+    /**
+     * OpenId
+     *
+     * @type {string}
+     * @memberof WechatPayTransactionInput
+     */
+    openId?: string | null;
+
+    /**
+     * 璁㈠崟閲戦
+     *
+     * @type {number}
+     * @memberof WechatPayTransactionInput
+     */
+    total?: number;
+
+    /**
+     * 鍟嗗搧鎻忚堪
+     *
+     * @type {string}
+     * @memberof WechatPayTransactionInput
+     */
+    description?: string | null;
+
+    /**
+     * 闄勫姞鏁版嵁
+     *
+     * @type {string}
+     * @memberof WechatPayTransactionInput
+     */
+    attachment?: string | null;
+
+    /**
+     * 浼樻儬鏍囪
+     *
+     * @type {string}
+     * @memberof WechatPayTransactionInput
+     */
+    goodsTag?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-user-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-user-input.ts
new file mode 100644
index 0000000..08836d6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-user-input.ts
@@ -0,0 +1,78 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface WechatUserInput
+ */
+export interface WechatUserInput {
+
+    /**
+     * 褰撳墠椤电爜
+     *
+     * @type {number}
+     * @memberof WechatUserInput
+     */
+    page?: number;
+
+    /**
+     * 椤电爜瀹归噺
+     *
+     * @type {number}
+     * @memberof WechatUserInput
+     */
+    pageSize?: number;
+
+    /**
+     * 鎺掑簭瀛楁
+     *
+     * @type {string}
+     * @memberof WechatUserInput
+     */
+    field?: string | null;
+
+    /**
+     * 鎺掑簭鏂瑰悜
+     *
+     * @type {string}
+     * @memberof WechatUserInput
+     */
+    order?: string | null;
+
+    /**
+     * 闄嶅簭鎺掑簭
+     *
+     * @type {string}
+     * @memberof WechatUserInput
+     */
+    descStr?: string | null;
+
+    /**
+     * 鏄电О
+     *
+     * @type {string}
+     * @memberof WechatUserInput
+     */
+    nickName?: string | null;
+
+    /**
+     * 鎵嬫満鍙风爜
+     *
+     * @type {string}
+     * @memberof WechatUserInput
+     */
+    phoneNumber?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-user-login.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-user-login.ts
new file mode 100644
index 0000000..6058bc5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/wechat-user-login.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 寰俊鐢ㄦ埛鐧诲綍
+ *
+ * @export
+ * @interface WechatUserLogin
+ */
+export interface WechatUserLogin {
+
+    /**
+     * OpenId
+     *
+     * @type {string}
+     * @memberof WechatUserLogin
+     */
+    openId: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/wx-open-id-login-input.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/wx-open-id-login-input.ts
new file mode 100644
index 0000000..13a616d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/wx-open-id-login-input.ts
@@ -0,0 +1,30 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 寰俊灏忕▼搴忕櫥褰�
+ *
+ * @export
+ * @interface WxOpenIdLoginInput
+ */
+export interface WxOpenIdLoginInput {
+
+    /**
+     * OpenId
+     *
+     * @type {string}
+     * @memberof WxOpenIdLoginInput
+     */
+    openId: string;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/wx-open-id-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/wx-open-id-output.ts
new file mode 100644
index 0000000..1961f5a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/wx-open-id-output.ts
@@ -0,0 +1,28 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface WxOpenIdOutput
+ */
+export interface WxOpenIdOutput {
+
+    /**
+     * @type {string}
+     * @memberof WxOpenIdOutput
+     */
+    openId?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/wx-phone-output.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/wx-phone-output.ts
new file mode 100644
index 0000000..baea68b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/wx-phone-output.ts
@@ -0,0 +1,28 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface WxPhoneOutput
+ */
+export interface WxPhoneOutput {
+
+    /**
+     * @type {string}
+     * @memberof WxPhoneOutput
+     */
+    phoneNumber?: string | null;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api-services/models/yes-no-enum.ts b/LA24030_LuLiPackageLine_Web/src/api-services/models/yes-no-enum.ts
new file mode 100644
index 0000000..206d07d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api-services/models/yes-no-enum.ts
@@ -0,0 +1,24 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�
+ * 璁� .NET 寮�鍙戞洿绠�鍗曘�佹洿閫氱敤銆佹洿娴佽銆傛暣鍚堟渶鏂版妧鏈紝妯″潡鎻掍欢寮忓紑鍙戯紝鍓嶅悗绔垎绂伙紝寮�绠卞嵆鐢ㄣ��<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>
+ *
+ * OpenAPI spec version: 1.0.0
+ * 
+ *
+ * NOTE: This class is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ * Do not edit the class manually.
+ */
+
+/**
+ * 鏄惁鏋氫妇<br />&nbsp;鏄� Y = 1<br />&nbsp;鍚� N = 2<br />
+ * @export
+ * @enum {string}
+ */
+export enum YesNoEnum {
+    NUMBER_1 = 1,
+    NUMBER_2 = 2
+}
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/login/index.ts b/LA24030_LuLiPackageLine_Web/src/api/login/index.ts
new file mode 100644
index 0000000..71ed946
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/login/index.ts
@@ -0,0 +1,27 @@
+import request from '/@/utils/request';
+
+/**
+ * 锛堜笉寤鸿鍐欐垚 request.post(xxx)锛屽洜涓鸿繖鏍� post 鏃讹紝鏃犳硶 params 涓� data 鍚屾椂浼犲弬锛�
+ *
+ * 鐧诲綍api鎺ュ彛闆嗗悎
+ * @method signIn 鐢ㄦ埛鐧诲綍
+ * @method signOut 鐢ㄦ埛閫�鍑虹櫥褰�
+ */
+export function useLoginApi() {
+	return {
+		signIn: (data: object) => {
+			return request({
+				url: '/user/signIn',
+				method: 'post',
+				data,
+			});
+		},
+		signOut: (data: object) => {
+			return request({
+				url: '/user/signOut',
+				method: 'post',
+				data,
+			});
+		},
+	};
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkDetail/index.ts b/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkDetail/index.ts
new file mode 100644
index 0000000..a7ea38f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkDetail/index.ts
@@ -0,0 +1,25 @@
+import request from '@/service/api';
+//鎺ュ彛url鏋氫妇
+enum ApiEnum {
+  CHECK_DETAIL_QUERY = '/check/order/record',
+}
+interface QueryParam {
+	OrderNo: string,
+    OrderType: string | number,
+    WareMaterialCode: string,
+    WareContainerCode: string,
+    Status: string | number,
+    InventoryResult: string | number,
+    PageNo: number,
+    PageSize: number
+}
+
+//鐩樼偣鎶ヨ〃 --- 鏌ヨ
+export function getCheckQuery(data: QueryParam) {
+  return request({
+    url: `${ApiEnum.CHECK_DETAIL_QUERY}`,
+    method: 'get'
+  })
+}
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkDifference/index.ts b/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkDifference/index.ts
new file mode 100644
index 0000000..73a4378
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkDifference/index.ts
@@ -0,0 +1,93 @@
+import request from '/@/utils/request';
+//鎺ュ彛url鏋氫妇
+enum StatisticalEnumApi{
+  CHECK_DIFF_PAGE = '/check/table/order/query',
+  CHECK_DIFF_AUDIT = '/check/diff/audit',
+  CHECK_DIFF_ADDORDER = "/check/addOrder",
+  CHECK_DIFF_DETAIL = "/check/table/detail/querylist",
+  GET_LIST = "/api/StudentInfo/GetStudentPage",
+  CHECK_DIFF_TEMPLATE ='/check/table/order/preview', //  棰勮 
+  CHECK_DIFF_TEMPLATE_DELETE ='/check/table/order/filedelete', //  鍒犻櫎
+  CHECK_DIFFERENCE_DETAIL = '/check/table/difference/detail/query',
+  CYBPD_TEMPLATE ='/check/table/order/downloadtemplate',
+  XFFP_POST ='/check/order/out'
+
+}
+
+//鐩樼偣宸紓琛ㄨ鎯� --- 璇︽儏
+export function getDifferenceDetail(data: any = {}) {
+  return request({
+    url: `${StatisticalEnumApi.CHECK_DIFFERENCE_DETAIL}`,
+    data
+  })
+}
+//鐩樼偣宸紓琛� --- 鏌ヨ
+export function getList(data: any) {
+  return request({
+    url: `${StatisticalEnumApi.GET_LIST}`,
+    data
+  })
+}
+
+//鐩樼偣宸紓琛� --- 瀵煎嚭
+export function exportCheckDiffPage(data: any) {
+  return request({
+    url: `${StatisticalEnumApi.CHECK_DIFF_DETAIL}`,
+    data
+  })
+}
+
+
+//鐩樼偣宸紓琛� --- 鏌ヨ
+export function getCheckDiffPage(data: any = {}) {
+  return request({
+    url: `${StatisticalEnumApi.CHECK_DIFF_PAGE}`,
+    data
+  })
+}
+
+//鐩樼偣宸紓琛� --- 瀹℃牳
+export function auditCheckDiffPage(data: {OrderNo: string}) {
+  return request({
+    url: StatisticalEnumApi.CHECK_DIFF_AUDIT,
+    data
+  })
+}
+
+//鎶界洏纭---鍒涘缓鐩樼偣鍗�
+export function addOrder(data: any[]) {
+  return request({
+    url: StatisticalEnumApi.CHECK_DIFF_ADDORDER,
+    data
+  })
+}
+
+ 
+ // 鐩樼偣宸紓琛ㄦ枃浠� - 棰勮 - 涓嬭浇 鍒犻櫎
+ export function templateDloadFileCheck(data: any = {}) {
+  return request({
+      url: `${StatisticalEnumApi.CHECK_DIFF_TEMPLATE}`
+  });
+}
+//鐩樼偣宸紓琛ㄦ枃浠� - 鏂囦欢 -  鍒犻櫎
+export function templateDeleteFileCheck(data: any = {}) {
+  return request({
+      url: `${StatisticalEnumApi.CHECK_DIFF_TEMPLATE_DELETE}`
+  });
+}
+
+ //鐩樼偣宸紓琛� -- 妯℃澘涓嬭浇
+ export function templateCybPd(data: any = {}) {
+  return msiRequest.get<BlobPart>({
+      url: `${StatisticalEnumApi.CYBPD_TEMPLATE}`,
+      responseType: 'blob'
+  })
+}
+
+//涓嬪彂澶嶇洏
+export function XFFPOrder(data: any[]) {
+  return request({
+    url: StatisticalEnumApi.XFFP_POST,
+    data
+  })
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkLock/index.ts b/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkLock/index.ts
new file mode 100644
index 0000000..506a6bb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkLock/index.ts
@@ -0,0 +1,28 @@
+/*
+ * @Author: 闄堢鏂� 15821704398@163.com
+ * @Date: 2023-02-15 10:11:18
+ * @LastEditors: 闄堢鏂� 15821704398@163.com
+ * @LastEditTime: 2023-02-17 15:59:58
+ * @FilePath: \makino-wms\src\service\main\check\checkDetail\index.ts
+ * @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
+import request from '@/service/api';
+//鎺ュ彛url鏋氫妇
+enum ApiEnum {
+  CHECK_LOCK = '/check/order/islocked',
+}
+interface QueryParam {
+	orderNo: string,
+    isLocked: boolean
+}
+
+//鐩樼偣鍗曢攣瀹�
+export function setCheckLocked(data: QueryParam) {
+  return request({
+    url: `${ApiEnum.CHECK_LOCK}`,
+    method: 'post',
+    data
+  })
+}
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkMark/index.ts b/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkMark/index.ts
new file mode 100644
index 0000000..9a3b308
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkMark/index.ts
@@ -0,0 +1,23 @@
+import request from '/@/utils/request';
+import qs from 'qs'
+//鎺ュ彛url鏋氫妇
+enum ApiEnum {
+  CHECK_MARK_PAGE = '/check/table/detail/list',
+}
+interface QueryParam {
+	WareMaterialCode: string;
+	WareContainerCode: string;
+	OrderNo: string;
+	PageSize: number;
+	PageNo: number;
+}
+
+//鐩樼偣鎶ヨ〃 --- 鏌ヨ
+export function getCheckMarkList(data: QueryParam) {
+  return request({
+    url: `${ApiEnum.CHECK_MARK_PAGE}`,
+    data
+  })
+}
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkOrder/index.ts b/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkOrder/index.ts
new file mode 100644
index 0000000..108346d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkOrder/index.ts
@@ -0,0 +1,194 @@
+import request from '/@/utils/request';
+//鎺ュ彛url鏋氫妇
+enum StatisticalEnumApi{
+  CHECK_PLAN_PAGE = '/check/plan/query', //鐩樼偣璁″垝
+  CHECK_PLAN_ADD = '/check/plan/add',
+  CHECK_PLAN_EDIT = '/check/plan/edit',
+  CHECK_PLAN_DELETE = '/check/plan/delete',
+  CHECK_PLAN_ORDER = '/check/plan/id',
+  CHECK_PLAN_DETAIL = '/check/plan/detail/query',
+  CHECK_PLAN_REJECT = '/check/plan/reject',
+  CHECK_PLAN_PASS = '/check/plan/passreview',
+  CHECK_MATERIAL_LIST = '/check/plan/material/query',
+  CHECK_PLAN_RANGE = '/check/plan/range/query',
+  CHECK_PLAN_CATERIGL = '/WareMaterial/materialcategory',
+  CHECK_PLAN_TEMPLATE = '/check/plan/template/download',
+  CHECK_XIAFA = '/check/plan/pass',
+  CHECK_XIAFA_CH = '/check/plan/cancel',
+  CHECK_XIAFA_TJ = '/check/plan/commit',
+  CHECK_CJ_CH = '/check/plan/recall',
+  CHECK_PLANTIME_ORDER = '/check/plan/getcheckplanStartDate',
+  CHECK_PLAN_BILI = '/check/plan/getPlanRateForAdd',
+  CHECK_PLAN_BILIbj = '/check/plan/getPlanRateForEdit',
+  CHECK_PLAN_OPEN = '/api/WmsInventoryCheckOrderDetails/StartInventoryCheck',
+  CHECK_PLAN_Cmf = '/api/WmsInventoryCheckOrder/HandlingDifferences',
+}
+
+//鍑哄簱鍗� -- 妯℃澘涓嬭浇
+export function getTemplate () {
+  return request({
+      url: StatisticalEnumApi.CHECK_PLAN_TEMPLATE,
+      responseType: 'blob'
+  })
+}
+
+//鐩樼偣璁″垝 --- 璁″垝鑼冨洿
+export function getCatList() {
+  return request({
+    url: StatisticalEnumApi.CHECK_PLAN_CATERIGL,
+  })
+}
+
+
+//鐩樼偣璁″垝 --- 璁″垝鑼冨洿
+export function getCheckPlanRange(data: any = {}) {
+  return request({
+    url: `${StatisticalEnumApi.CHECK_PLAN_RANGE}`,
+    data
+  })
+}
+
+//鐩樼偣璁″垝 --- 璁″垝鏄庣粏鏌ヨ
+export function getCheckPlanDetail(data: any = {}) {
+  return request({
+    url: `${StatisticalEnumApi.CHECK_PLAN_DETAIL}`,
+    data
+  })
+}
+
+//鐩樼偣璁″垝 --- 鍒楄〃
+export function getCheckPlanPage(data: any = {}) {
+  return request({
+    url: `${StatisticalEnumApi.CHECK_PLAN_PAGE}`,
+    data
+  })
+}
+
+//鐩樼偣璁″垝 -- 璁″垝鍙�
+export function getCheckPlanOrder() {
+  return request({
+    url: StatisticalEnumApi.CHECK_PLAN_ORDER
+  })
+}
+
+//鐩樼偣璁″垝 -- 娣诲姞
+export function addCheckPlan(data: any = {}) {
+    return request({
+      url: `${StatisticalEnumApi.CHECK_PLAN_ADD}`,
+      data
+    })
+}
+
+//鐩樼偣璁″垝 -- 缂栬緫
+export function editCheckPlan(data: any = {}) {
+  return request({
+    url: StatisticalEnumApi.CHECK_PLAN_EDIT,
+    data
+  })
+}
+
+//鐩樼偣璁″垝 -- 鍒犻櫎
+export function deleteCheckPlan(data: {OrderNo: string}) {
+  return request({
+    url: StatisticalEnumApi.CHECK_PLAN_DELETE,
+    data
+  })
+}
+
+//鐩樼偣璁″垝椹冲洖
+export function rejectCheckPlan(data: any = {}) {
+    return request({
+        url: StatisticalEnumApi.CHECK_PLAN_REJECT,
+        data
+    })
+}
+
+//鐩樼偣璁″垝閫氳繃
+export function passCheckPlan(data: {OrderNo: string}) {
+    return request({
+        url: StatisticalEnumApi.CHECK_PLAN_PASS,
+        data
+    })
+}
+
+//鑾峰彇鎵�鏈夋壒娆$殑鐗╂枡
+export function getMaterialPage(data: any={}) {
+  return request({
+    url: `${StatisticalEnumApi.CHECK_MATERIAL_LIST}`,
+    data
+  }) 
+}
+
+//鐩樼偣涓嬪彂
+export function passCheckXfPlan(data: {OrderNo: string}) {
+  return request({
+      url: StatisticalEnumApi.CHECK_XIAFA,
+      data
+  })
+}
+
+//鐩樼偣涓嬪彂鎾ゅ洖
+export function passCheckXfChPlan(data: {OrderNo: string}) {
+  return request({
+      url: StatisticalEnumApi.CHECK_XIAFA_CH,
+      data
+  })
+}
+
+//鐩樼偣鎻愪氦
+export function passCheckTjPlan(data: {OrderNo: string}) {
+  return request({
+      url: StatisticalEnumApi.CHECK_XIAFA_TJ,
+      data
+  })
+}
+//鐩樼偣鎾ゅ洖
+export function passCheckChPlan(data: {OrderNo: string}) {
+  return request({
+      url: StatisticalEnumApi.CHECK_CJ_CH,
+      data
+  })
+}
+
+
+export function getCheckPlanTimeOrder(data:any={}) {
+  return request({
+    url: `${StatisticalEnumApi.CHECK_PLANTIME_ORDER}`,
+  })
+}
+
+
+//璁″垝姣斾緥
+export function getCheckPlanBl(data: any = {}) {
+  return request({
+    url: `${StatisticalEnumApi.CHECK_PLAN_BILI}`,
+      data
+  })
+}
+//璁″垝姣斾緥
+export function getCheckPlanBlBj(data: any = {}) {
+  return request({
+    url: `${StatisticalEnumApi.CHECK_PLAN_BILIbj}`,
+    data
+  })
+}
+
+
+//寮�鍚洏鐐�
+export function getCheckPlanOpen(data: any = {}) {
+  return request({
+    url: `${StatisticalEnumApi.CHECK_PLAN_OPEN}`,
+    method: 'post',
+    data
+  })
+}
+
+
+//纭璋冭处
+export function getCheckPlanCmf(data: any = {}) {
+  return request({
+    url: `${StatisticalEnumApi.CHECK_PLAN_Cmf}`,
+    method: 'post',
+    data
+  })
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkRules/index.ts b/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkRules/index.ts
new file mode 100644
index 0000000..31410df
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkRules/index.ts
@@ -0,0 +1,47 @@
+import request from '/@/utils/request';
+//鎺ュ彛url鏋氫妇
+enum StatisticalEnumApi{
+  CHECK_RULES_PAGE = '/check/rule/query', //鐩樼偣瑙勫垯
+  CHECK_RULES_ADD = '/check/rule/add',
+  CHECK_RULES_EDIT = '/check/rule/edit',
+  CHECK_RULES_DELETE = '/check/rule/delete',
+  CHECK_RULES_ORDER = '/check/rule/id'
+}
+//鐩樼偣瑙勫垯 --- 鍒楄〃
+export function getCheckRulesPage(data: any = {}) {
+  return request({
+    url: `${StatisticalEnumApi.CHECK_RULES_PAGE}`,
+    data
+  });
+}
+
+//鐩樼偣瑙勫垯 --- 鍒楄〃
+export function getCheckRulesOrder() {
+  return request({
+    url: StatisticalEnumApi.CHECK_RULES_ORDER
+  });
+}
+
+//鐩樼偣瑙勫垯 -- 娣诲姞
+export function addCheckRules(data: any = {}) {
+    return request({
+      url: `${StatisticalEnumApi.CHECK_RULES_ADD}`,
+      data
+    });
+}
+
+//鐩樼偣瑙勫垯 -- 缂栬緫
+export function editCheckRules(data: any = {}) {
+  return request({
+    url: StatisticalEnumApi.CHECK_RULES_EDIT,
+    data
+  });
+}
+
+//鐩樼偣瑙勫垯 -- 鍒犻櫎
+export function deleteCheckRules(data: {orderNo: string}) {
+  return request({
+    url: StatisticalEnumApi.CHECK_RULES_DELETE,
+    data
+  });
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkStatement/index.ts b/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkStatement/index.ts
new file mode 100644
index 0000000..f5e2531
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/Check/checkStatement/index.ts
@@ -0,0 +1,51 @@
+import request from '/@/utils/request';
+//鎺ュ彛url鏋氫妇
+enum StatisticalEnumApi{
+  CHECK_REPORT_PAGE = '/check/report/query',
+  CHECK_REPORT_DETAIL = '/check/table/detail/query',
+  CHECK_REPORT_DATA = '/check/table/detaillist',
+  CHECK_REPORT_EXCEL = '/check/table/order/download',
+  CHECK_REPORT_BAOB_EXCEL = '/check/table/order/downloadreport',
+}
+
+//瀵煎嚭鐩樼偣鏄庣粏
+export function getCheckExcel(data: any = {}) {
+  return request({
+    url: `${StatisticalEnumApi.CHECK_REPORT_EXCEL}`,
+    data,
+    responseType: 'blob'
+  })
+}
+//瀵煎嚭鐩樼偣鎶ヨ〃
+export function getCheckExcelBobiao(data: any = {}) {
+  return request({
+    url: `${StatisticalEnumApi.CHECK_REPORT_BAOB_EXCEL}`,
+    data,
+    responseType: 'blob'
+  })
+}
+//鐩樼偣鎶ヨ〃 --- 鏌ヨ
+export function getCheckReportPage(data: any = {}) {
+  return request({
+    url: `${StatisticalEnumApi.CHECK_REPORT_PAGE}`,
+    data
+  })
+}
+
+//鐩樼偣鎶ヨ〃 --- 璇︽儏
+export function getCheckReportDetail(data: any = {}) {
+  return request({
+    url: `${StatisticalEnumApi.CHECK_REPORT_DETAIL}`,
+    data
+  })
+}
+
+//鐩樼偣鎶ヨ〃 --- 瀵煎嚭
+export function getExportData(data: string[]) {
+  return request({
+    url: StatisticalEnumApi.CHECK_REPORT_DATA,
+    data
+  })
+}
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/Check/wmsInventoryCheckOrder.ts b/LA24030_LuLiPackageLine_Web/src/api/main/Check/wmsInventoryCheckOrder.ts
new file mode 100644
index 0000000..c22739b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/Check/wmsInventoryCheckOrder.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsInventoryCheckOrder = '/api/wmsInventoryCheckOrder/add',
+  DeleteWmsInventoryCheckOrder = '/api/wmsInventoryCheckOrder/delete',
+  UpdateWmsInventoryCheckOrder = '/api/wmsInventoryCheckOrder/update',
+  PageWmsInventoryCheckOrder = '/api/wmsInventoryCheckOrder/page',
+  ListWmsInventoryCheckOrder = '/api/wmsInventoryCheckOrder/list',
+  DetailWmsInventoryCheckOrder = '/api/wmsInventoryCheckOrder/detail',
+  ImportExcelWmsInventoryCheckOrder = '/api/wmsInventoryCheckOrder/importExcel',
+  DownloadExcelTemplateWmsInventoryCheckOrder = '/api/wmsInventoryCheckOrder/downloadExcelTemplate',
+}
+
+// 澧炲姞鐩樼偣鍗曟嵁
+export const addWmsInventoryCheckOrder = (params?: any) =>
+	request({
+		url: Api.AddWmsInventoryCheckOrder,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鐩樼偣鍗曟嵁
+export const deleteWmsInventoryCheckOrder = (params?: any) => 
+	request({
+			url: Api.DeleteWmsInventoryCheckOrder,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鐩樼偣鍗曟嵁
+export const updateWmsInventoryCheckOrder = (params?: any) => 
+	request({
+			url: Api.UpdateWmsInventoryCheckOrder,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鐩樼偣鍗曟嵁
+export const importExcelWmsInventoryCheckOrder = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsInventoryCheckOrder,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鐩樼偣鍗曟嵁妯℃澘
+export const downloadExcelTemplateWmsInventoryCheckOrder = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsInventoryCheckOrder,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鐩樼偣鍗曟嵁
+export const pageWmsInventoryCheckOrder = (params?: any) => 
+	request({
+			url: Api.PageWmsInventoryCheckOrder,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈢洏鐐瑰崟鎹�
+export const listWmsInventoryCheckOrder = (params?: any) => 
+	request({
+			url: Api.ListWmsInventoryCheckOrder,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鐩樼偣鍗曟嵁
+export const detailWmsInventoryCheckOrder = (id: any) => 
+	request({
+			url: Api.DetailWmsInventoryCheckOrder,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/Check/wmsInventoryCheckOrderDetails.ts b/LA24030_LuLiPackageLine_Web/src/api/main/Check/wmsInventoryCheckOrderDetails.ts
new file mode 100644
index 0000000..6331ea1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/Check/wmsInventoryCheckOrderDetails.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsInventoryCheckOrderDetails = '/api/wmsInventoryCheckOrderDetails/add',
+  DeleteWmsInventoryCheckOrderDetails = '/api/wmsInventoryCheckOrderDetails/delete',
+  UpdateWmsInventoryCheckOrderDetails = '/api/wmsInventoryCheckOrderDetails/update',
+  PageWmsInventoryCheckOrderDetails = '/api/wmsInventoryCheckOrderDetails/page',
+  ListWmsInventoryCheckOrderDetails = '/api/wmsInventoryCheckOrderDetails/list',
+  DetailWmsInventoryCheckOrderDetails = '/api/wmsInventoryCheckOrderDetails/detail',
+  ImportExcelWmsInventoryCheckOrderDetails = '/api/wmsInventoryCheckOrderDetails/importExcel',
+  DownloadExcelTemplateWmsInventoryCheckOrderDetails = '/api/wmsInventoryCheckOrderDetails/downloadExcelTemplate',
+}
+
+// 澧炲姞鐩樼偣鍗曟槑缁�
+export const addWmsInventoryCheckOrderDetails = (params?: any) =>
+	request({
+		url: Api.AddWmsInventoryCheckOrderDetails,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鐩樼偣鍗曟槑缁�
+export const deleteWmsInventoryCheckOrderDetails = (params?: any) => 
+	request({
+			url: Api.DeleteWmsInventoryCheckOrderDetails,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鐩樼偣鍗曟槑缁�
+export const updateWmsInventoryCheckOrderDetails = (params?: any) => 
+	request({
+			url: Api.UpdateWmsInventoryCheckOrderDetails,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鐩樼偣鍗曟槑缁�
+export const importExcelWmsInventoryCheckOrderDetails = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsInventoryCheckOrderDetails,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鐩樼偣鍗曟槑缁嗘ā鏉�
+export const downloadExcelTemplateWmsInventoryCheckOrderDetails = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsInventoryCheckOrderDetails,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鐩樼偣鍗曟槑缁�
+export const pageWmsInventoryCheckOrderDetails = (params?: any) => 
+	request({
+			url: Api.PageWmsInventoryCheckOrderDetails,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈢洏鐐瑰崟鏄庣粏
+export const listWmsInventoryCheckOrderDetails = (params?: any) => 
+	request({
+			url: Api.ListWmsInventoryCheckOrderDetails,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鐩樼偣鍗曟槑缁�
+export const detailWmsInventoryCheckOrderDetails = (id: any) => 
+	request({
+			url: Api.DetailWmsInventoryCheckOrderDetails,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/Check/wmsInventoryCheckPlan.ts b/LA24030_LuLiPackageLine_Web/src/api/main/Check/wmsInventoryCheckPlan.ts
new file mode 100644
index 0000000..7c8227b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/Check/wmsInventoryCheckPlan.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsInventoryCheckPlan = '/api/wmsInventoryCheckPlan/add',
+  DeleteWmsInventoryCheckPlan = '/api/wmsInventoryCheckPlan/delete',
+  UpdateWmsInventoryCheckPlan = '/api/wmsInventoryCheckPlan/update',
+  PageWmsInventoryCheckPlan = '/api/wmsInventoryCheckPlan/page',
+  ListWmsInventoryCheckPlan = '/api/wmsInventoryCheckPlan/list',
+  DetailWmsInventoryCheckPlan = '/api/wmsInventoryCheckPlan/detail',
+  ImportExcelWmsInventoryCheckPlan = '/api/wmsInventoryCheckPlan/importExcel',
+  DownloadExcelTemplateWmsInventoryCheckPlan = '/api/wmsInventoryCheckPlan/downloadExcelTemplate',
+}
+
+// 澧炲姞鐩樼偣璁″垝
+export const addWmsInventoryCheckPlan = (params?: any) =>
+	request({
+		url: Api.AddWmsInventoryCheckPlan,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鐩樼偣璁″垝
+export const deleteWmsInventoryCheckPlan = (params?: any) => 
+	request({
+			url: Api.DeleteWmsInventoryCheckPlan,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鐩樼偣璁″垝
+export const updateWmsInventoryCheckPlan = (params?: any) => 
+	request({
+			url: Api.UpdateWmsInventoryCheckPlan,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鐩樼偣璁″垝
+export const importExcelWmsInventoryCheckPlan = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsInventoryCheckPlan,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鐩樼偣璁″垝妯℃澘
+export const downloadExcelTemplateWmsInventoryCheckPlan = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsInventoryCheckPlan,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鐩樼偣璁″垝
+export const pageWmsInventoryCheckPlan = (params?: any) => 
+	request({
+			url: Api.PageWmsInventoryCheckPlan,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈢洏鐐硅鍒�
+export const listWmsInventoryCheckPlan = (params?: any) => 
+	request({
+			url: Api.ListWmsInventoryCheckPlan,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鐩樼偣璁″垝
+export const detailWmsInventoryCheckPlan = (id: any) => 
+	request({
+			url: Api.DetailWmsInventoryCheckPlan,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/Check/wmsInventoryCheckPlanDetails.ts b/LA24030_LuLiPackageLine_Web/src/api/main/Check/wmsInventoryCheckPlanDetails.ts
new file mode 100644
index 0000000..1d46427
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/Check/wmsInventoryCheckPlanDetails.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsInventoryCheckPlanDetails = '/api/wmsInventoryCheckPlanDetails/add',
+  DeleteWmsInventoryCheckPlanDetails = '/api/wmsInventoryCheckPlanDetails/delete',
+  UpdateWmsInventoryCheckPlanDetails = '/api/wmsInventoryCheckPlanDetails/update',
+  PageWmsInventoryCheckPlanDetails = '/api/wmsInventoryCheckPlanDetails/page',
+  ListWmsInventoryCheckPlanDetails = '/api/wmsInventoryCheckPlanDetails/list',
+  DetailWmsInventoryCheckPlanDetails = '/api/wmsInventoryCheckPlanDetails/detail',
+  ImportExcelWmsInventoryCheckPlanDetails = '/api/wmsInventoryCheckPlanDetails/importExcel',
+  DownloadExcelTemplateWmsInventoryCheckPlanDetails = '/api/wmsInventoryCheckPlanDetails/downloadExcelTemplate',
+}
+
+// 澧炲姞鐩樼偣璁″垝鏄庣粏
+export const addWmsInventoryCheckPlanDetails = (params?: any) =>
+	request({
+		url: Api.AddWmsInventoryCheckPlanDetails,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鐩樼偣璁″垝鏄庣粏
+export const deleteWmsInventoryCheckPlanDetails = (params?: any) => 
+	request({
+			url: Api.DeleteWmsInventoryCheckPlanDetails,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鐩樼偣璁″垝鏄庣粏
+export const updateWmsInventoryCheckPlanDetails = (params?: any) => 
+	request({
+			url: Api.UpdateWmsInventoryCheckPlanDetails,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鐩樼偣璁″垝鏄庣粏
+export const importExcelWmsInventoryCheckPlanDetails = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsInventoryCheckPlanDetails,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鐩樼偣璁″垝鏄庣粏妯℃澘
+export const downloadExcelTemplateWmsInventoryCheckPlanDetails = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsInventoryCheckPlanDetails,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鐩樼偣璁″垝鏄庣粏
+export const pageWmsInventoryCheckPlanDetails = (params?: any) => 
+	request({
+			url: Api.PageWmsInventoryCheckPlanDetails,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈢洏鐐硅鍒掓槑缁�
+export const listWmsInventoryCheckPlanDetails = (params?: any) => 
+	request({
+			url: Api.ListWmsInventoryCheckPlanDetails,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鐩樼偣璁″垝鏄庣粏
+export const detailWmsInventoryCheckPlanDetails = (id: any) => 
+	request({
+			url: Api.DetailWmsInventoryCheckPlanDetails,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/PrintCenter/wmsContainerSortPrint.ts b/LA24030_LuLiPackageLine_Web/src/api/main/PrintCenter/wmsContainerSortPrint.ts
new file mode 100644
index 0000000..b7cba4c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/PrintCenter/wmsContainerSortPrint.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsContainerSortPrint = '/api/wmsContainerSortPrint/add',
+  DeleteWmsContainerSortPrint = '/api/wmsContainerSortPrint/delete',
+  UpdateWmsContainerSortPrint = '/api/wmsContainerSortPrint/update',
+  PageWmsContainerSortPrint = '/api/wmsContainerSortPrint/page',
+  ListWmsContainerSortPrint = '/api/wmsContainerSortPrint/list',
+  DetailWmsContainerSortPrint = '/api/wmsContainerSortPrint/detail',
+  ImportExcelWmsContainerSortPrint = '/api/wmsContainerSortPrint/importExcel',
+  DownloadExcelTemplateWmsContainerSortPrint = '/api/wmsContainerSortPrint/downloadExcelTemplate',
+}
+
+// 澧炲姞瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃
+export const addWmsContainerSortPrint = (params?: any) =>
+	request({
+		url: Api.AddWmsContainerSortPrint,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃
+export const deleteWmsContainerSortPrint = (params?: any) => 
+	request({
+			url: Api.DeleteWmsContainerSortPrint,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃
+export const updateWmsContainerSortPrint = (params?: any) => 
+	request({
+			url: Api.UpdateWmsContainerSortPrint,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃
+export const importExcelWmsContainerSortPrint = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsContainerSortPrint,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃妯℃澘
+export const downloadExcelTemplateWmsContainerSortPrint = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsContainerSortPrint,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃
+export const pageWmsContainerSortPrint = (params?: any) => 
+	request({
+			url: Api.PageWmsContainerSortPrint,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈠鍣ㄥ垎鎷d俊鎭墦鍗�
+export const listWmsContainerSortPrint = (params?: any) => 
+	request({
+			url: Api.ListWmsContainerSortPrint,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃
+export const detailWmsContainerSortPrint = (id: any) => 
+	request({
+			url: Api.DetailWmsContainerSortPrint,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/PrintCenter/wmsRecordSncodePrint.ts b/LA24030_LuLiPackageLine_Web/src/api/main/PrintCenter/wmsRecordSncodePrint.ts
new file mode 100644
index 0000000..7e4ee8d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/PrintCenter/wmsRecordSncodePrint.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsRecordSncodePrint = '/api/wmsRecordSncodePrint/add',
+  DeleteWmsRecordSncodePrint = '/api/wmsRecordSncodePrint/delete',
+  UpdateWmsRecordSncodePrint = '/api/wmsRecordSncodePrint/update',
+  PageWmsRecordSncodePrint = '/api/wmsRecordSncodePrint/page',
+  ListWmsRecordSncodePrint = '/api/wmsRecordSncodePrint/list',
+  DetailWmsRecordSncodePrint = '/api/wmsRecordSncodePrint/detail',
+  ImportExcelWmsRecordSncodePrint = '/api/wmsRecordSncodePrint/importExcel',
+  DownloadExcelTemplateWmsRecordSncodePrint = '/api/wmsRecordSncodePrint/downloadExcelTemplate',
+}
+
+// 澧炲姞璺熻釜鐮佹墦鍗拌褰�
+export const addWmsRecordSncodePrint = (params?: any) =>
+	request({
+		url: Api.AddWmsRecordSncodePrint,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎璺熻釜鐮佹墦鍗拌褰�
+export const deleteWmsRecordSncodePrint = (params?: any) => 
+	request({
+			url: Api.DeleteWmsRecordSncodePrint,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫璺熻釜鐮佹墦鍗拌褰�
+export const updateWmsRecordSncodePrint = (params?: any) => 
+	request({
+			url: Api.UpdateWmsRecordSncodePrint,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆璺熻釜鐮佹墦鍗拌褰�
+export const importExcelWmsRecordSncodePrint = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsRecordSncodePrint,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆璺熻釜鐮佹墦鍗拌褰曟ā鏉�
+export const downloadExcelTemplateWmsRecordSncodePrint = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsRecordSncodePrint,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ璺熻釜鐮佹墦鍗拌褰�
+export const pageWmsRecordSncodePrint = (params?: any) => 
+	request({
+			url: Api.PageWmsRecordSncodePrint,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈣窡韪爜鎵撳嵃璁板綍
+export const listWmsRecordSncodePrint = (params?: any) => 
+	request({
+			url: Api.ListWmsRecordSncodePrint,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏璺熻釜鐮佹墦鍗拌褰�
+export const detailWmsRecordSncodePrint = (id: any) => 
+	request({
+			url: Api.DetailWmsRecordSncodePrint,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/storageView.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/storageView.ts
new file mode 100644
index 0000000..5b410bd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/storageView.ts
@@ -0,0 +1,13 @@
+import request from '/@/utils/request';
+enum Api {
+    STORAGE_VIEW='/api/wmsPlaceContainerInfo/list',
+}
+
+// 澧炲姞鍒嗘嫞淇℃伅
+
+	export const getStorageView = (params?: any) =>
+	request({
+		url: Api.STORAGE_VIEW,
+		method: 'get',
+		data: params
+	});
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsAvailabilityOfPlace.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsAvailabilityOfPlace.ts
new file mode 100644
index 0000000..2186ec0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsAvailabilityOfPlace.ts
@@ -0,0 +1,44 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  PageWmsTask = '/api/wmsTask/page',
+  ImportExcelWmsTask = '/api/wmsTask/importExcel',
+  DownloadExcelTemplateWmsTask = '/api/wmsTask/downloadExcelTemplate',
+  PageWmsAvailabilityOfPlace = '/api/WmsPlaceUseRatio/PlaceAvailbilityPage',
+}
+
+
+
+// 瀵煎叆璋冨害浠诲姟
+export const importExcelWmsTask = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsTask,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆璋冨害浠诲姟妯℃澘
+export const downloadExcelTemplateWmsTask = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsTask,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ璋冨害浠诲姟
+export const pageWmsTask = (params?: any) => 
+	request({
+			url: Api.PageWmsTask,
+			method: 'post',
+			data: params
+		});
+// 鍒嗛〉鏌ヨ璋冨害浠诲姟
+export const pageWmsAvailabilityOfPlace = (params?: any) => 
+	request({
+			url: Api.PageWmsAvailabilityOfPlace,
+			method: 'get',
+			data: params
+		});
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsContainerSort.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsContainerSort.ts
new file mode 100644
index 0000000..a1d3f7a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsContainerSort.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsContainerSort = '/api/wmsContainerSort/add',
+  DeleteWmsContainerSort = '/api/wmsContainerSort/delete',
+  UpdateWmsContainerSort = '/api/wmsContainerSort/update',
+  PageWmsContainerSort = '/api/wmsSort/page',
+//   ListWmsContainerSort = '/api/wmsSort/getSortList',
+  DetailWmsContainerSort = '/api/wmsContainerSort/detail',
+  ImportExcelWmsContainerSort = '/api/wmsContainerSort/importExcel',
+  DownloadExcelTemplateWmsContainerSort = '/api/wmsContainerSort/downloadExcelTemplate',
+}
+
+// 澧炲姞鍒嗘嫞淇℃伅
+export const addWmsContainerSort = (params?: any) =>
+	request({
+		url: Api.AddWmsContainerSort,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鍒嗘嫞淇℃伅
+export const deleteWmsContainerSort = (params?: any) => 
+	request({
+			url: Api.DeleteWmsContainerSort,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鍒嗘嫞淇℃伅
+export const updateWmsContainerSort = (params?: any) => 
+	request({
+			url: Api.UpdateWmsContainerSort,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鍒嗘嫞淇℃伅
+export const importExcelWmsContainerSort = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsContainerSort,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鍒嗘嫞淇℃伅妯℃澘
+export const downloadExcelTemplateWmsContainerSort = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsContainerSort,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鍒嗘嫞淇℃伅
+export const pageWmsContainerSort = (params?: any) => 
+	request({
+			url: Api.PageWmsContainerSort,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈠垎鎷d俊鎭�
+// export const listWmsContainerSort = (params?: any) => 
+// 	request({
+// 			url: Api.ListWmsContainerSort,
+// 			method: 'get',
+// 			data: params
+// 		});
+
+// 璇︽儏鍒嗘嫞淇℃伅
+export const detailWmsContainerSort = (id: any) => 
+	request({
+			url: Api.DetailWmsContainerSort,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsLogAction.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsLogAction.ts
new file mode 100644
index 0000000..2878145
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsLogAction.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsLogAction = '/api/wmsLogAction/add',
+  DeleteWmsLogAction = '/api/wmsLogAction/delete',
+  UpdateWmsLogAction = '/api/wmsLogAction/update',
+  PageWmsLogAction = '/api/wmsLogAction/page',
+  ListWmsLogAction = '/api/wmsLogAction/list',
+  DetailWmsLogAction = '/api/wmsLogAction/detail',
+  ImportExcelWmsLogAction = '/api/wmsLogAction/importExcel',
+  DownloadExcelTemplateWmsLogAction = '/api/wmsLogAction/downloadExcelTemplate',
+}
+
+// 澧炲姞鎿嶄綔灞ュ巻
+export const addWmsLogAction = (params?: any) =>
+	request({
+		url: Api.AddWmsLogAction,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鎿嶄綔灞ュ巻
+export const deleteWmsLogAction = (params?: any) => 
+	request({
+			url: Api.DeleteWmsLogAction,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鎿嶄綔灞ュ巻
+export const updateWmsLogAction = (params?: any) => 
+	request({
+			url: Api.UpdateWmsLogAction,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鎿嶄綔灞ュ巻
+export const importExcelWmsLogAction = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsLogAction,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鎿嶄綔灞ュ巻妯℃澘
+export const downloadExcelTemplateWmsLogAction = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsLogAction,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鎿嶄綔灞ュ巻
+export const pageWmsLogAction = (params?: any) => 
+	request({
+			url: Api.PageWmsLogAction,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈡搷浣滃饱鍘�
+export const listWmsLogAction = (params?: any) => 
+	request({
+			url: Api.ListWmsLogAction,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鎿嶄綔灞ュ巻
+export const detailWmsLogAction = (id: any) => 
+	request({
+			url: Api.DetailWmsLogAction,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordPredDispHistory.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordPredDispHistory.ts
new file mode 100644
index 0000000..e2256b0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordPredDispHistory.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsRecordPredDispHistory = '/api/wmsRecordPredDispHistory/add',
+  DeleteWmsRecordPredDispHistory = '/api/wmsRecordPredDispHistory/delete',
+  UpdateWmsRecordPredDispHistory = '/api/wmsRecordPredDispHistory/update',
+  PageWmsRecordPredDispHistory = '/api/wmsRecordPredDispHistory/page',
+  ListWmsRecordPredDispHistory = '/api/wmsRecordPredDispHistory/list',
+  DetailWmsRecordPredDispHistory = '/api/wmsRecordPredDispHistory/detail',
+  ImportExcelWmsRecordPredDispHistory = '/api/wmsRecordPredDispHistory/importExcel',
+  DownloadExcelTemplateWmsRecordPredDispHistory = '/api/wmsRecordPredDispHistory/downloadExcelTemplate'
+}
+
+// 澧炲姞棰勯厤鍒嗛厤璁板綍
+export const addWmsRecordPredDispHistory = (params?: any) =>
+	request({
+		url: Api.AddWmsRecordPredDispHistory,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎棰勯厤鍒嗛厤璁板綍
+export const deleteWmsRecordPredDispHistory = (params?: any) => 
+	request({
+			url: Api.DeleteWmsRecordPredDispHistory,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫棰勯厤鍒嗛厤璁板綍
+export const updateWmsRecordPredDispHistory = (params?: any) => 
+	request({
+			url: Api.UpdateWmsRecordPredDispHistory,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆棰勯厤鍒嗛厤璁板綍
+export const importExcelWmsRecordPredDispHistory = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsRecordPredDispHistory,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆棰勯厤鍒嗛厤璁板綍妯℃澘
+export const downloadExcelTemplateWmsRecordPredDispHistory = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsRecordPredDispHistory,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ棰勯厤鍒嗛厤璁板綍
+export const pageWmsRecordPredDispHistory = (params?: any) => 
+	request({
+			url: Api.PageWmsRecordPredDispHistory,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈤閰嶅垎閰嶈褰�
+export const listWmsRecordPredDispHistory = (params?: any) => 
+	request({
+			url: Api.ListWmsRecordPredDispHistory,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏棰勯厤鍒嗛厤璁板綍
+export const detailWmsRecordPredDispHistory = (id: any) => 
+	request({
+			url: Api.DetailWmsRecordPredDispHistory,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordPredetermineDispense.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordPredetermineDispense.ts
new file mode 100644
index 0000000..d7aaad5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordPredetermineDispense.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsRecordPredetermineDispense = '/api/wmsRecordPredetermineDispense/add',
+  DeleteWmsRecordPredetermineDispense = '/api/wmsRecordPredetermineDispense/delete',
+  UpdateWmsRecordPredetermineDispense = '/api/wmsRecordPredetermineDispense/update',
+  PageWmsRecordPredetermineDispense = '/api/wmsRecordPredetermineDispense/page',
+  ListWmsRecordPredetermineDispense = '/api/wmsRecordPredetermineDispense/list',
+  DetailWmsRecordPredetermineDispense = '/api/wmsRecordPredetermineDispense/detail',
+  ImportExcelWmsRecordPredetermineDispense = '/api/wmsRecordPredetermineDispense/importExcel',
+  DownloadExcelTemplateWmsRecordPredetermineDispense = '/api/wmsRecordPredetermineDispense/downloadExcelTemplate',
+}
+
+// 澧炲姞棰勯厤鍒嗛厤璁板綍
+export const addWmsRecordPredetermineDispense = (params?: any) =>
+	request({
+		url: Api.AddWmsRecordPredetermineDispense,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎棰勯厤鍒嗛厤璁板綍
+export const deleteWmsRecordPredetermineDispense = (params?: any) => 
+	request({
+			url: Api.DeleteWmsRecordPredetermineDispense,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫棰勯厤鍒嗛厤璁板綍
+export const updateWmsRecordPredetermineDispense = (params?: any) => 
+	request({
+			url: Api.UpdateWmsRecordPredetermineDispense,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆棰勯厤鍒嗛厤璁板綍
+export const importExcelWmsRecordPredetermineDispense = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsRecordPredetermineDispense,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆棰勯厤鍒嗛厤璁板綍妯℃澘
+export const downloadExcelTemplateWmsRecordPredetermineDispense = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsRecordPredetermineDispense,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ棰勯厤鍒嗛厤璁板綍
+export const pageWmsRecordPredetermineDispense = (params?: any) => 
+	request({
+			url: Api.PageWmsRecordPredetermineDispense,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈤閰嶅垎閰嶈褰�
+export const listWmsRecordPredetermineDispense = (params?: any) => 
+	request({
+			url: Api.ListWmsRecordPredetermineDispense,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏棰勯厤鍒嗛厤璁板綍
+export const detailWmsRecordPredetermineDispense = (id: any) => 
+	request({
+			url: Api.DetailWmsRecordPredetermineDispense,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordReceivingDelivery.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordReceivingDelivery.ts
new file mode 100644
index 0000000..f9e672c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordReceivingDelivery.ts
@@ -0,0 +1,87 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsRecordReceivingDelivery = '/api/wmsRecordReceivingDelivery/add',
+  DeleteWmsRecordReceivingDelivery = '/api/wmsRecordReceivingDelivery/delete',
+  UpdateWmsRecordReceivingDelivery = '/api/wmsRecordReceivingDelivery/update',
+  PageWmsRecordReceivingDelivery = '/api/wmsRecordReceivingDelivery/page',
+  ListWmsRecordReceivingDelivery = '/api/wmsRecordReceivingDelivery/list',
+  DetailWmsRecordReceivingDelivery = '/api/wmsRecordReceivingDelivery/detail',
+  ImportExcelWmsRecordReceivingDelivery = '/api/wmsRecordReceivingDelivery/importExcel',
+  DownloadExcelTemplateWmsRecordReceivingDelivery = '/api/wmsRecordReceivingDelivery/downloadExcelTemplate',
+  ImagesRecordReceivingDelivery = '/api/CollectDelivery/previewImages',
+
+}
+
+// 澧炲姞鏀惰揣鍙戣揣璁板綍
+export const addWmsRecordReceivingDelivery = (params?: any) =>
+	request({
+		url: Api.AddWmsRecordReceivingDelivery,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鏀惰揣鍙戣揣璁板綍
+export const deleteWmsRecordReceivingDelivery = (params?: any) => 
+	request({
+			url: Api.DeleteWmsRecordReceivingDelivery,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鏀惰揣鍙戣揣璁板綍
+export const updateWmsRecordReceivingDelivery = (params?: any) => 
+	request({
+			url: Api.UpdateWmsRecordReceivingDelivery,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鏀惰揣鍙戣揣璁板綍
+export const importExcelWmsRecordReceivingDelivery = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsRecordReceivingDelivery,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鏀惰揣鍙戣揣璁板綍妯℃澘
+export const downloadExcelTemplateWmsRecordReceivingDelivery = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsRecordReceivingDelivery,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鏀惰揣鍙戣揣璁板綍
+export const pageWmsRecordReceivingDelivery = (params?: any) => 
+	request({
+			url: Api.PageWmsRecordReceivingDelivery,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈡敹璐у彂璐ц褰�
+export const listWmsRecordReceivingDelivery = (params?: any) => 
+	request({
+			url: Api.ListWmsRecordReceivingDelivery,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鏀惰揣鍙戣揣璁板綍
+export const detailWmsRecordReceivingDelivery = (id: any) => 
+	request({
+			url: Api.DetailWmsRecordReceivingDelivery,
+			method: 'get',
+			data: { id }
+		});
+
+// 璇︽儏鏀惰揣鍙戣揣璁板綍
+export const imagesRecordReceivingDelivery = (id: any) => 
+	request({
+			url: Api.ImagesRecordReceivingDelivery,
+			method: 'get',
+			data: { id }
+		});
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordTrans.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordTrans.ts
new file mode 100644
index 0000000..89d0814
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordTrans.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsRecordTrans = '/api/wmsRecordTrans/add',
+  DeleteWmsRecordTrans = '/api/wmsRecordTrans/delete',
+  UpdateWmsRecordTrans = '/api/wmsRecordTrans/update',
+  PageWmsRecordTrans = '/api/wmsRecordTrans/page',
+  ListWmsRecordTrans = '/api/wmsRecordTrans/list',
+  DetailWmsRecordTrans = '/api/wmsRecordTrans/detail',
+  ImportExcelWmsRecordTrans = '/api/wmsRecordTrans/importExcel',
+  DownloadExcelTemplateWmsRecordTrans = '/api/wmsRecordTrans/downloadExcelTemplate',
+}
+
+// 澧炲姞浜嬪姟璁板綍
+export const addWmsRecordTrans = (params?: any) =>
+	request({
+		url: Api.AddWmsRecordTrans,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎浜嬪姟璁板綍
+export const deleteWmsRecordTrans = (params?: any) => 
+	request({
+			url: Api.DeleteWmsRecordTrans,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫浜嬪姟璁板綍
+export const updateWmsRecordTrans = (params?: any) => 
+	request({
+			url: Api.UpdateWmsRecordTrans,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆浜嬪姟璁板綍
+export const importExcelWmsRecordTrans = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsRecordTrans,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆浜嬪姟璁板綍妯℃澘
+export const downloadExcelTemplateWmsRecordTrans = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsRecordTrans,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ浜嬪姟璁板綍
+export const pageWmsRecordTrans = (params?: any) => 
+	request({
+			url: Api.PageWmsRecordTrans,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇簨鍔¤褰�
+export const listWmsRecordTrans = (params?: any) => 
+	request({
+			url: Api.ListWmsRecordTrans,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏浜嬪姟璁板綍
+export const detailWmsRecordTrans = (id: any) => 
+	request({
+			url: Api.DetailWmsRecordTrans,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockBoardabc.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockBoardabc.ts
new file mode 100644
index 0000000..a312b0a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockBoardabc.ts
@@ -0,0 +1,85 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+	AddwmsStockBoardabc = '/api/wmsStockBoardabc/add',
+	DeletewmsStockBoardabc = '/api/wmsStockBoardabc/delete',
+	UpdatewmsStockBoardabc = '/api/wmsStockBoardabc/update',
+	PagewmsStockBoardabc = '/api/wmsStockBoardabc/page',
+	ListwmsStockBoardabc = '/api/wmsStockBoardabc/list',
+	DetailwmsStockBoardabc = '/api/wmsStockBoardabc/detail',
+	ImportExcelwmsStockBoardabc = '/api/wmsStockBoardabc/importExcel',
+	DownloadExcelTemplatewmsStockBoardabc = '/api/wmsStockBoardabc/downloadExcelTemplate',
+	PageWmsAbcDetails = '/api/wmsStockQuan/abcClassPageView',
+}
+
+// 澧炲姞ABC鍔ㄦ�佸垎鏋愮湅鏉�
+export const addwmsStockBoardabc = (params?: any) =>
+	request({
+		url: Api.AddwmsStockBoardabc,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎ABC鍔ㄦ�佸垎鏋愮湅鏉�
+export const deletewmsStockBoardabc = (params?: any) =>
+	request({
+		url: Api.DeletewmsStockBoardabc,
+		method: 'post',
+		data: params,
+	});
+
+// 缂栬緫ABC鍔ㄦ�佸垎鏋愮湅鏉�
+export const updatewmsStockBoardabc = (params?: any) =>
+	request({
+		url: Api.UpdatewmsStockBoardabc,
+		method: 'post',
+		data: params,
+	});
+
+// 瀵煎叆ABC鍔ㄦ�佸垎鏋愮湅鏉�
+export const importExcelwmsStockBoardabc = (params?: any) =>
+	request({
+		url: Api.ImportExcelwmsStockBoardabc,
+		method: 'post',
+		data: params,
+	});
+
+// 涓嬭浇瀵煎叆ABC鍔ㄦ�佸垎鏋愮湅鏉挎ā鏉�
+export const downloadExcelTemplatewmsStockBoardabc = (params?: any) =>
+	request({
+		url: Api.DownloadExcelTemplatewmsStockBoardabc,
+		method: 'get',
+		data: params,
+		responseType: 'blob',
+	});
+
+// 鍒嗛〉鏌ヨABC鍔ㄦ�佸垎鏋愮湅鏉�
+export const pagewmsStockBoardabc = (params?: any) =>
+	request({
+		url: Api.PagewmsStockBoardabc,
+		method: 'post',
+		data: params,
+	});
+
+// 涓嶅垎椤垫煡璇BC鍔ㄦ�佸垎鏋愮湅鏉�
+export const listwmsStockBoardabc = (params?: any) =>
+	request({
+		url: Api.ListwmsStockBoardabc,
+		method: 'get',
+		data: params,
+	});
+
+// 璇︽儏ABC鍔ㄦ�佸垎鏋愮湅鏉�
+export const detailwmsStockBoardabc = (id: any) =>
+	request({
+		url: Api.DetailwmsStockBoardabc,
+		method: 'get',
+		data: { id },
+	});
+
+// 鍔ㄦ�佺湅鏉�
+export const pageWmsAbcDetails = (params?: any) =>
+	request({
+		url: Api.PageWmsAbcDetails,
+		method: 'post',
+		data: params,
+	});
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts
new file mode 100644
index 0000000..61d73db
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts
@@ -0,0 +1,125 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsStockQuan = '/api/wmsStockQuan/add',
+  DeleteWmsStockQuan = '/api/wmsStockQuan/delete',
+  UpdateWmsStockQuan = '/api/wmsStockQuan/update',
+  PageWmsStockQuan = '/api/wmsStockQuan/pageView',
+  PageStockQuanForUse= '/api/wmsStockQuan/getStockQuanPageForUse',
+  ListWmsStockQuan = '/api/wmsStockQuan/list',
+  DetailWmsStockQuan = '/api/wmsStockQuan/detail',
+  ImportExcelWmsStockQuan = '/api/wmsStockQuan/importExcel',
+  DownloadExcelTemplateWmsStockQuan = '/api/wmsStockQuan/downloadExcelTemplate',
+  PageWmsStockQuanFrozen = '/api/WmsStockQuan/Frozen',
+  PageWmsStockQuanUnFrozen = '/api/WmsStockQuan/Unfreezeing',
+  //PageStockQuanForXjd= '/api/WmsOrderMovement/GetKcMaterialGroup',
+  PageStockQuanForXjd= '/api/v_wms_stock_quan_group/Page',
+  PageWmsLocationViewDetail = '/api/WmsPlaceContainerInfo/Detail',
+}
+
+// 澧炲姞瀹炴椂搴撳瓨
+export const addWmsStockQuan = (params?: any) =>
+	request({
+		url: Api.AddWmsStockQuan,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎瀹炴椂搴撳瓨
+export const deleteWmsStockQuan = (params?: any) => 
+	request({
+			url: Api.DeleteWmsStockQuan,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫瀹炴椂搴撳瓨
+export const updateWmsStockQuan = (params?: any) => 
+	request({
+			url: Api.UpdateWmsStockQuan,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆瀹炴椂搴撳瓨
+export const importExcelWmsStockQuan = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsStockQuan,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆瀹炴椂搴撳瓨妯℃澘
+export const downloadExcelTemplateWmsStockQuan = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsStockQuan,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ瀹炴椂搴撳瓨
+export const pageWmsStockQuan = (params?: any) => 
+	request({
+			url: Api.PageWmsStockQuan,
+			method: 'post',
+			data: params
+		});
+
+// 鍒嗛〉鏌ヨ鍙敤瀹炴椂搴撳瓨
+export const pageStockQuanForUse = (params?: any) => 
+	request({
+			url: Api.PageStockQuanForUse,
+			method: 'post',
+			data: params
+		});
+			
+// 鍒嗛〉鏌ヨ鍙敤瀹炴椂搴撳瓨
+export const pageStockQuanForXjd = (params?: any) => 
+	request({
+			url: Api.PageStockQuanForXjd,
+			method: 'post',
+			data: params
+		});
+			
+
+// 涓嶅垎椤垫煡璇㈠疄鏃跺簱瀛�
+export const listWmsStockQuan = (params?: any) => 
+	request({
+			url: Api.ListWmsStockQuan,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏瀹炴椂搴撳瓨
+export const detailWmsStockQuan = (id: any) => 
+	request({
+			url: Api.DetailWmsStockQuan,
+			method: 'get',
+			data: { id }
+		});
+
+// 鍐荤粨
+export const pageWmsStockQuanFrozen = (params?: any) => 
+	request({
+			url: Api.PageWmsStockQuanFrozen,
+			method: 'post',
+			data: params
+		});
+
+		// 瑙e喕
+export const pageWmsStockQuanUnFrozen = (params?: any) => 
+request({
+		url: Api.PageWmsStockQuanUnFrozen,
+		method: 'post',
+		data: params
+	});
+
+
+
+export const pageWmsLocationViewDetail = (params?: any) => 
+request({
+		url: Api.PageWmsLocationViewDetail,
+		method: 'get',
+		data: params
+	});
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuanOut.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuanOut.ts
new file mode 100644
index 0000000..ba552f6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuanOut.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsStockQuanOut = '/api/wmsStockQuanOut/add',
+  DeleteWmsStockQuanOut = '/api/wmsStockQuanOut/delete',
+  UpdateWmsStockQuanOut = '/api/wmsStockQuanOut/update',
+  PageWmsStockQuanOut = '/api/wmsStockQuanOut/page',
+  ListWmsStockQuanOut = '/api/wmsStockQuanOut/list',
+  DetailWmsStockQuanOut = '/api/wmsStockQuanOut/detail',
+  ImportExcelWmsStockQuanOut = '/api/wmsStockQuanOut/importExcel',
+  DownloadExcelTemplateWmsStockQuanOut = '/api/wmsStockQuanOut/downloadExcelTemplate',
+}
+
+// 澧炲姞鍑哄簱搴撳瓨鏌ヨ
+export const addWmsStockQuanOut = (params?: any) =>
+	request({
+		url: Api.AddWmsStockQuanOut,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鍑哄簱搴撳瓨鏌ヨ
+export const deleteWmsStockQuanOut = (params?: any) => 
+	request({
+			url: Api.DeleteWmsStockQuanOut,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鍑哄簱搴撳瓨鏌ヨ
+export const updateWmsStockQuanOut = (params?: any) => 
+	request({
+			url: Api.UpdateWmsStockQuanOut,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鍑哄簱搴撳瓨鏌ヨ
+export const importExcelWmsStockQuanOut = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsStockQuanOut,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鍑哄簱搴撳瓨鏌ヨ妯℃澘
+export const downloadExcelTemplateWmsStockQuanOut = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsStockQuanOut,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鍑哄簱搴撳瓨鏌ヨ
+export const pageWmsStockQuanOut = (params?: any) => 
+	request({
+			url: Api.PageWmsStockQuanOut,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈠嚭搴撳簱瀛樻煡璇�
+export const listWmsStockQuanOut = (params?: any) => 
+	request({
+			url: Api.ListWmsStockQuanOut,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鍑哄簱搴撳瓨鏌ヨ
+export const detailWmsStockQuanOut = (id: any) => 
+	request({
+			url: Api.DetailWmsStockQuanOut,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockSnapshot.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockSnapshot.ts
new file mode 100644
index 0000000..a9fac48
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockSnapshot.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsStockSnapshot = '/api/wmsStockSnapshot/add',
+  DeleteWmsStockSnapshot = '/api/wmsStockSnapshot/delete',
+  UpdateWmsStockSnapshot = '/api/wmsStockSnapshot/update',
+  PageWmsStockSnapshot = '/api/wmsStockSnapshot/page',
+  ListWmsStockSnapshot = '/api/wmsStockSnapshot/list',
+  DetailWmsStockSnapshot = '/api/wmsStockSnapshot/detail',
+  ImportExcelWmsStockSnapshot = '/api/wmsStockSnapshot/importExcel',
+  DownloadExcelTemplateWmsStockSnapshot = '/api/wmsStockSnapshot/downloadExcelTemplate',
+}
+
+// 澧炲姞搴撳瓨蹇収
+export const addWmsStockSnapshot = (params?: any) =>
+	request({
+		url: Api.AddWmsStockSnapshot,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎搴撳瓨蹇収
+export const deleteWmsStockSnapshot = (params?: any) => 
+	request({
+			url: Api.DeleteWmsStockSnapshot,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫搴撳瓨蹇収
+export const updateWmsStockSnapshot = (params?: any) => 
+	request({
+			url: Api.UpdateWmsStockSnapshot,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆搴撳瓨蹇収
+export const importExcelWmsStockSnapshot = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsStockSnapshot,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆搴撳瓨蹇収妯℃澘
+export const downloadExcelTemplateWmsStockSnapshot = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsStockSnapshot,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ搴撳瓨蹇収
+export const pageWmsStockSnapshot = (params?: any) => 
+	request({
+			url: Api.PageWmsStockSnapshot,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈠簱瀛樺揩鐓�
+export const listWmsStockSnapshot = (params?: any) => 
+	request({
+			url: Api.ListWmsStockSnapshot,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏搴撳瓨蹇収
+export const detailWmsStockSnapshot = (id: any) => 
+	request({
+			url: Api.DetailWmsStockSnapshot,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsTask.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsTask.ts
new file mode 100644
index 0000000..4bf54aa
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsTask.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsTask = '/api/wmsTask/add',
+  DeleteWmsTask = '/api/wmsTask/delete',
+  UpdateWmsTask = '/api/wmsTask/update',
+  PageWmsTask = '/api/wmsTask/page',
+  ListWmsTask = '/api/wmsTask/list',
+  DetailWmsTask = '/api/wmsTask/detail',
+  ImportExcelWmsTask = '/api/wmsTask/importExcel',
+  DownloadExcelTemplateWmsTask = '/api/wmsTask/downloadExcelTemplate',
+}
+
+// 澧炲姞璋冨害浠诲姟
+export const addWmsTask = (params?: any) =>
+	request({
+		url: Api.AddWmsTask,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎璋冨害浠诲姟
+export const deleteWmsTask = (params?: any) => 
+	request({
+			url: Api.DeleteWmsTask,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫璋冨害浠诲姟
+export const updateWmsTask = (params?: any) => 
+	request({
+			url: Api.UpdateWmsTask,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆璋冨害浠诲姟
+export const importExcelWmsTask = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsTask,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆璋冨害浠诲姟妯℃澘
+export const downloadExcelTemplateWmsTask = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsTask,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ璋冨害浠诲姟
+export const pageWmsTask = (params?: any) => 
+	request({
+			url: Api.PageWmsTask,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈣皟搴︿换鍔�
+export const listWmsTask = (params?: any) => 
+	request({
+			url: Api.ListWmsTask,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏璋冨害浠诲姟
+export const detailWmsTask = (id: any) => 
+	request({
+			url: Api.DetailWmsTask,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/SoftwareAdapterService/adapterCategories.ts b/LA24030_LuLiPackageLine_Web/src/api/main/SoftwareAdapterService/adapterCategories.ts
new file mode 100644
index 0000000..8bcfefb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/SoftwareAdapterService/adapterCategories.ts
@@ -0,0 +1,85 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddAdapterCategories = '/api/adapterCategories/add',
+  DeleteAdapterCategories = '/api/adapterCategories/delete',
+  UpdateAdapterCategories = '/api/adapterCategories/update',
+  PageAdapterCategories = '/api/adapterCategories/page',
+  ListAdapterCategories = '/api/adapterCategories/list',
+  DetailAdapterCategories = '/api/adapterCategories/detail',
+  ImportExcelAdapterCategories = '/api/adapterCategories/importExcel',
+  DownloadExcelTemplateAdapterCategories = '/api/adapterCategories/downloadExcelTemplate',
+  GetRecordAdapterList ='/api/adapterCategories/getRecordAdapterList',
+}
+
+// 澧炲姞閫傞厤鍣ㄥぇ绫荤鐞�
+export const addAdapterCategories = (params?: any) =>
+	request({
+		url: Api.AddAdapterCategories,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎閫傞厤鍣ㄥぇ绫荤鐞�
+export const deleteAdapterCategories = (params?: any) => 
+	request({
+			url: Api.DeleteAdapterCategories,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫閫傞厤鍣ㄥぇ绫荤鐞�
+export const updateAdapterCategories = (params?: any) => 
+	request({
+			url: Api.UpdateAdapterCategories,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆閫傞厤鍣ㄥぇ绫荤鐞�
+export const importExcelAdapterCategories = (params?: any) =>
+	request({
+		url: Api.ImportExcelAdapterCategories,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆閫傞厤鍣ㄥぇ绫荤鐞嗘ā鏉�
+export const downloadExcelTemplateAdapterCategories = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateAdapterCategories,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+export const getRecordAdapterList = (params?: any) => 
+	request({
+			url: Api.GetRecordAdapterList,
+			method: 'get',
+			data: params,
+			// responseType: 'blob'
+		});
+
+// 鍒嗛〉鏌ヨ閫傞厤鍣ㄥぇ绫荤鐞�
+export const pageAdapterCategories = (params?: any) => 
+	request({
+			url: Api.PageAdapterCategories,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈤�傞厤鍣ㄥぇ绫荤鐞�
+export const listAdapterCategories = (params?: any) => 
+	request({
+			url: Api.ListAdapterCategories,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏閫傞厤鍣ㄥぇ绫荤鐞�
+export const detailAdapterCategories = (id: any) => 
+	request({
+			url: Api.DetailAdapterCategories,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/SoftwareAdapterService/adapterManagement.ts b/LA24030_LuLiPackageLine_Web/src/api/main/SoftwareAdapterService/adapterManagement.ts
new file mode 100644
index 0000000..7ce8807
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/SoftwareAdapterService/adapterManagement.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddAdapterManagement = '/api/adapterManagement/add',
+  DeleteAdapterManagement = '/api/adapterManagement/delete',
+  UpdateAdapterManagement = '/api/adapterManagement/update',
+  PageAdapterManagement = '/api/adapterManagement/page',
+  ListAdapterManagement = '/api/adapterManagement/list',
+  DetailAdapterManagement = '/api/adapterManagement/detail',
+  ImportExcelAdapterManagement = '/api/adapterManagement/importExcel',
+  DownloadExcelTemplateAdapterManagement = '/api/adapterManagement/downloadExcelTemplate',
+}
+
+// 澧炲姞閫傞厤鍣ㄧ鐞�
+export const addAdapterManagement = (params?: any) =>
+	request({
+		url: Api.AddAdapterManagement,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎閫傞厤鍣ㄧ鐞�
+export const deleteAdapterManagement = (params?: any) => 
+	request({
+			url: Api.DeleteAdapterManagement,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫閫傞厤鍣ㄧ鐞�
+export const updateAdapterManagement = (params?: any) => 
+	request({
+			url: Api.UpdateAdapterManagement,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆閫傞厤鍣ㄧ鐞�
+export const importExcelAdapterManagement = (params?: any) =>
+	request({
+		url: Api.ImportExcelAdapterManagement,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆閫傞厤鍣ㄧ鐞嗘ā鏉�
+export const downloadExcelTemplateAdapterManagement = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateAdapterManagement,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ閫傞厤鍣ㄧ鐞�
+export const pageAdapterManagement = (params?: any) => 
+	request({
+			url: Api.PageAdapterManagement,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈤�傞厤鍣ㄧ鐞�
+export const listAdapterManagement = (params?: any) => 
+	request({
+			url: Api.ListAdapterManagement,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏閫傞厤鍣ㄧ鐞�
+export const detailAdapterManagement = (id: any) => 
+	request({
+			url: Api.DetailAdapterManagement,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/SoftwareAdapterService/recordAdapter.ts b/LA24030_LuLiPackageLine_Web/src/api/main/SoftwareAdapterService/recordAdapter.ts
new file mode 100644
index 0000000..0be5d7d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/SoftwareAdapterService/recordAdapter.ts
@@ -0,0 +1,101 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+	AddRecordAdapter = '/api/recordAdapter/add',
+	DeleteRecordAdapter = '/api/recordAdapter/delete',
+	UpdateRecordAdapter = '/api/recordAdapter/update',
+	PageRecordAdapter = '/api/recordAdapter/page',
+	ListRecordAdapter = '/api/recordAdapter/list',
+	DetailRecordAdapter = '/api/recordAdapter/detail',
+	ImportExcelRecordAdapter = '/api/recordAdapter/importExcel',
+	DownloadExcelTemplateRecordAdapter = '/api/recordAdapter/downloadExcelTemplate',
+	CancelRecordAdapter = '/api/recordAdapter/cancel',
+	FinishRecordAdapter = '/api/recordAdapter/forcedCompletion',
+	ResetOkRecordAdapter = '/api/recordAdapter/tryAgain'
+}
+
+// 澧炲姞閫傞厤璁板綍
+export const addRecordAdapter = (params?: any) =>
+	request({
+		url: Api.AddRecordAdapter,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎閫傞厤璁板綍
+export const deleteRecordAdapter = (params?: any) =>
+	request({
+		url: Api.DeleteRecordAdapter,
+		method: 'post',
+		data: params,
+	});
+
+// 缂栬緫閫傞厤璁板綍
+export const updateRecordAdapter = (params?: any) =>
+	request({
+		url: Api.UpdateRecordAdapter,
+		method: 'post',
+		data: params,
+	});
+
+// 瀵煎叆閫傞厤璁板綍
+export const importExcelRecordAdapter = (params?: any) =>
+	request({
+		url: Api.ImportExcelRecordAdapter,
+		method: 'post',
+		data: params,
+	});
+
+// 涓嬭浇瀵煎叆閫傞厤璁板綍妯℃澘
+export const downloadExcelTemplateRecordAdapter = (params?: any) =>
+	request({
+		url: Api.DownloadExcelTemplateRecordAdapter,
+		method: 'get',
+		data: params,
+		responseType: 'blob',
+	});
+
+// 鍒嗛〉鏌ヨ閫傞厤璁板綍
+export const pageRecordAdapter = (params?: any) =>
+	request({
+		url: Api.PageRecordAdapter,
+		method: 'post',
+		data: params,
+	});
+
+// 涓嶅垎椤垫煡璇㈤�傞厤璁板綍
+export const listRecordAdapter = (params?: any) =>
+	request({
+		url: Api.ListRecordAdapter,
+		method: 'get',
+		data: params,
+	});
+
+// 璇︽儏閫傞厤璁板綍
+export const detailRecordAdapter = (id: any) =>
+	request({
+		url: Api.DetailRecordAdapter,
+		method: 'get',
+		data: { id },
+	});
+
+export const cancelRecordAdapter = (params?: any) =>
+	request({
+		url: Api.CancelRecordAdapter,
+		method: 'post',
+		data: params,
+	});
+
+export const finishRecordAdapter = (params?: any) =>
+	request({
+		url: Api.FinishRecordAdapter,
+		method: 'post',
+		data: params,
+	});
+
+
+	export const resetOkRecordAdapter = (params?: any) =>
+	request({
+		url: Api.ResetOkRecordAdapter,
+		method: 'post',
+		data: params,
+	});
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/TestDemo/testStudent.ts b/LA24030_LuLiPackageLine_Web/src/api/main/TestDemo/testStudent.ts
new file mode 100644
index 0000000..9c9e5e9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/TestDemo/testStudent.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddTestStudent = '/api/testStudent/add',
+  DeleteTestStudent = '/api/testStudent/delete',
+  UpdateTestStudent = '/api/testStudent/update',
+  PageTestStudent = '/api/testStudent/page',
+  ListTestStudent = '/api/testStudent/list',
+  DetailTestStudent = '/api/testStudent/detail',
+  ImportExcelTestStudent = '/api/testStudent/importExcel',
+  DownloadExcelTemplateTestStudent = '/api/testStudent/downloadExcelTemplate',
+}
+
+// 澧炲姞娴嬭瘯瀛︾敓琛�
+export const addTestStudent = (params?: any) =>
+	request({
+		url: Api.AddTestStudent,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎娴嬭瘯瀛︾敓琛�
+export const deleteTestStudent = (params?: any) => 
+	request({
+			url: Api.DeleteTestStudent,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫娴嬭瘯瀛︾敓琛�
+export const updateTestStudent = (params?: any) => 
+	request({
+			url: Api.UpdateTestStudent,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆娴嬭瘯瀛︾敓琛�
+export const importExcelTestStudent = (params?: any) =>
+	request({
+		url: Api.ImportExcelTestStudent,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆娴嬭瘯瀛︾敓琛ㄦā鏉�
+export const downloadExcelTemplateTestStudent = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateTestStudent,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ娴嬭瘯瀛︾敓琛�
+export const pageTestStudent = (params?: any) => 
+	request({
+			url: Api.PageTestStudent,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈡祴璇曞鐢熻〃
+export const listTestStudent = (params?: any) => 
+	request({
+			url: Api.ListTestStudent,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏娴嬭瘯瀛︾敓琛�
+export const detailTestStudent = (id: any) => 
+	request({
+			url: Api.DetailTestStudent,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/TestDemo/testTeacher.ts b/LA24030_LuLiPackageLine_Web/src/api/main/TestDemo/testTeacher.ts
new file mode 100644
index 0000000..5540a9e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/TestDemo/testTeacher.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddTestTeacher = '/api/testTeacher/add',
+  DeleteTestTeacher = '/api/testTeacher/delete',
+  UpdateTestTeacher = '/api/testTeacher/update',
+  PageTestTeacher = '/api/testTeacher/page',
+  ListTestTeacher = '/api/testTeacher/list',
+  DetailTestTeacher = '/api/testTeacher/detail',
+  ImportExcelTestTeacher = '/api/testTeacher/importExcel',
+  DownloadExcelTemplateTestTeacher = '/api/testTeacher/downloadExcelTemplate',
+}
+
+// 澧炲姞娴嬭瘯鑰佸笀琛�
+export const addTestTeacher = (params?: any) =>
+	request({
+		url: Api.AddTestTeacher,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎娴嬭瘯鑰佸笀琛�
+export const deleteTestTeacher = (params?: any) => 
+	request({
+			url: Api.DeleteTestTeacher,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫娴嬭瘯鑰佸笀琛�
+export const updateTestTeacher = (params?: any) => 
+	request({
+			url: Api.UpdateTestTeacher,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆娴嬭瘯鑰佸笀琛�
+export const importExcelTestTeacher = (params?: any) =>
+	request({
+		url: Api.ImportExcelTestTeacher,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆娴嬭瘯鑰佸笀琛ㄦā鏉�
+export const downloadExcelTemplateTestTeacher = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateTestTeacher,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ娴嬭瘯鑰佸笀琛�
+export const pageTestTeacher = (params?: any) => 
+	request({
+			url: Api.PageTestTeacher,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈡祴璇曡�佸笀琛�
+export const listTestTeacher = (params?: any) => 
+	request({
+			url: Api.ListTestTeacher,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏娴嬭瘯鑰佸笀琛�
+export const detailTestTeacher = (id: any) => 
+	request({
+			url: Api.DetailTestTeacher,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/TestDemo/v_students.ts b/LA24030_LuLiPackageLine_Web/src/api/main/TestDemo/v_students.ts
new file mode 100644
index 0000000..e931661
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/TestDemo/v_students.ts
@@ -0,0 +1,59 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  Addv_students = '/api/v_students/add',
+  Deletev_students = '/api/v_students/delete',
+  Updatev_students = '/api/v_students/update',
+  Pagev_students = '/api/v_students/page',
+  Listv_students = '/api/v_students/list',
+  Detailv_students = '/api/v_students/detail',
+}
+
+// 澧炲姞娴嬭瘯瀛︾敓瑙嗗浘
+export const addv_students = (params?: any) =>
+	request({
+		url: Api.Addv_students,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎娴嬭瘯瀛︾敓瑙嗗浘
+export const deletev_students = (params?: any) => 
+	request({
+			url: Api.Deletev_students,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫娴嬭瘯瀛︾敓瑙嗗浘
+export const updatev_students = (params?: any) => 
+	request({
+			url: Api.Updatev_students,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨ娴嬭瘯瀛︾敓瑙嗗浘
+export const pagev_students = (params?: any) => 
+	request({
+			url: Api.Pagev_students,
+			method: 'post',
+			data: params,
+		});
+
+// 涓嶅垎椤垫煡璇㈡祴璇曞鐢熻鍥�
+export const listv_students = (params?: any) => 
+	request({
+			url: Api.Listv_students,
+			method: 'post',
+			data: params,
+		});
+
+// 璇︽儏娴嬭瘯瀛︾敓瑙嗗浘
+export const detailv_students = (id: any) => 
+	request({
+			url: Api.Detailv_students,
+			method: 'get',
+			data: { id },
+		});
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WareAgeWarm/wareAgeWarm.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WareAgeWarm/wareAgeWarm.ts
new file mode 100644
index 0000000..90db4dc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WareAgeWarm/wareAgeWarm.ts
@@ -0,0 +1,95 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWareAgeWarm = '/api/wareAgeWarm/add',
+  DeleteWareAgeWarm = '/api/wareAgeWarm/delete',
+  UpdateWareAgeWarm = '/api/wareAgeWarm/update',
+  PageWareAgeWarm = '/api/wareAgeWarm/page',
+  ListWareAgeWarm = '/api/wareAgeWarm/list',
+  DetailWareAgeWarm = '/api/wareAgeWarm/detail',
+  ImportExcelWareAgeWarm = '/api/wareAgeWarm/importExcel',
+  DownloadExcelTemplateWareAgeWarm = '/api/wareAgeWarm/downloadExcelTemplate',
+  pagewareInventorySummary ='/api/v_wms_stock_quan_group/Page',
+  v_WmsStockQuanAreaGroup ='/api/v_WmsStockQuanAreaGroup/Page'
+  
+}
+
+// 澧炲姞搴撻緞鎶ヨ〃
+export const addWareAgeWarm = (params?: any) =>
+	request({
+		url: Api.AddWareAgeWarm,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎搴撻緞鎶ヨ〃
+export const deleteWareAgeWarm = (params?: any) => 
+	request({
+			url: Api.DeleteWareAgeWarm,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫搴撻緞鎶ヨ〃
+export const updateWareAgeWarm = (params?: any) => 
+	request({
+			url: Api.UpdateWareAgeWarm,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆搴撻緞鎶ヨ〃
+export const importExcelWareAgeWarm = (params?: any) =>
+	request({
+		url: Api.ImportExcelWareAgeWarm,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆搴撻緞鎶ヨ〃妯℃澘
+export const downloadExcelTemplateWareAgeWarm = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWareAgeWarm,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ搴撻緞鎶ヨ〃
+export const pageWareAgeWarm = (params?: any) => 
+	request({
+			url: Api.PageWareAgeWarm,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈠簱榫勬姤琛�
+export const listWareAgeWarm = (params?: any) => 
+	request({
+			url: Api.ListWareAgeWarm,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏搴撻緞鎶ヨ〃
+export const detailWareAgeWarm = (id: any) => 
+	request({
+			url: Api.DetailWareAgeWarm,
+			method: 'get',
+			data: { id }
+		});
+
+// 搴撳尯姹囨�绘煡璇�
+export const pageStockGroup = (params?: any) => 
+	request({
+			url: Api.pagewareInventorySummary,
+			method: 'post',
+			data: params
+		});
+// 浠撳簱姹囨�绘煡璇�
+export const v_WmsStockQuanAreaGroup = (params?: any) => 
+	request({
+			url: Api.v_WmsStockQuanAreaGroup,
+			method: 'post',
+			data: params
+		});
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/baseCustomer.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/baseCustomer.ts
new file mode 100644
index 0000000..071cb9d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/baseCustomer.ts
@@ -0,0 +1,97 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddBaseCustomer = '/api/baseCustomer/add',
+  DeleteBaseCustomer = '/api/baseCustomer/delete',
+  UpdateBaseCustomer = '/api/baseCustomer/update',
+  PageBaseCustomer = '/api/baseCustomer/page',
+  PageBaseCustomerForOrders = '/api/baseCustomer/detailForOrders',
+  DetailBaseCustomer = '/api/baseCustomer/detail',
+  getProvinceListURL = '/api/delivery/getprovince',
+  getMnemonicCodeURL = '/api/wmsCommon/getMnemonicCode',//update by liuwq 
+  ImportExcelBaseCustomer = '/api/baseCustomer/importExcel',
+  DownloadExcelTemplateBaseCustomer = '/api/baseCustomer/downloadExcelTemplate',
+}
+
+// 澧炲姞寰�鏉ヤ紒涓�
+export const addBaseCustomer = (params?: any) =>
+	request({
+		url: Api.AddBaseCustomer,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎寰�鏉ヤ紒涓�
+export const deleteBaseCustomer = (params?: any) => 
+	request({
+			url: Api.DeleteBaseCustomer,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫寰�鏉ヤ紒涓�
+export const updateBaseCustomer = (params?: any) => 
+	request({
+			url: Api.UpdateBaseCustomer,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨ寰�鏉ヤ紒涓�
+export const pageBaseCustomer = (params?: any) => 
+	request({
+			url: Api.PageBaseCustomer,
+			method: 'post',
+			data: params,
+		});
+
+
+		// 鍏堣幏鍙栫墿鏂欑粦瀹氱殑寰�鏉ヤ紒涓� 鍐嶈幏鍙栧線鏉ヤ紒涓氱殑鏁版嵁
+export const pageBaseCustomerForOrders = (params?: any) => 
+request({
+		url: Api.PageBaseCustomerForOrders,
+		method: 'get',
+		data: params,
+	});
+
+
+// 璇︽儏寰�鏉ヤ紒涓�
+export const detailBaseCustomer = (id: any) => 
+	request({
+			url: Api.DetailBaseCustomer,
+			method: 'get',
+			data: { id },
+		});
+
+
+// 璇︽儏寰�鏉ヤ紒涓�
+export const getProvinceList = () => 
+	request({
+			url: Api.getProvinceListURL,
+			method: 'get',
+			// data: { id },
+		});
+		
+// 鍔╄鐮� update by liuwq 
+export const getMnemonicCode = (name: any) => 
+	request({
+			url: Api.getMnemonicCodeURL,
+			method: 'get',
+			 data: { name },
+		});
+	
+// 瀵煎叆寰�鏉ヤ紒涓�
+export const importExcelBaseCustomer = (params?: any) =>
+	request({
+		url: Api.ImportExcelBaseCustomer,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆寰�鏉ヤ紒涓氭ā鏉�
+export const downloadExcelTemplateBaseCustomer = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateBaseCustomer,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsArea.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsArea.ts
new file mode 100644
index 0000000..1a8c1c4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsArea.ts
@@ -0,0 +1,50 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsArea = '/api/wmsArea/add',
+  DeleteWmsArea = '/api/wmsArea/delete',
+  UpdateWmsArea = '/api/wmsArea/update',
+  PageWmsArea = '/api/wmsArea/page',
+  DetailWmsArea = '/api/wmsArea/detail',
+}
+
+// 澧炲姞搴撳尯淇℃伅
+export const addWmsArea = (params?: any) =>
+	request({
+		url: Api.AddWmsArea,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎搴撳尯淇℃伅
+export const deleteWmsArea = (params?: any) => 
+	request({
+			url: Api.DeleteWmsArea,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫搴撳尯淇℃伅
+export const updateWmsArea = (params?: any) => 
+	request({
+			url: Api.UpdateWmsArea,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨ搴撳尯淇℃伅
+export const pageWmsArea = (params?: any) => 
+	request({
+			url: Api.PageWmsArea,
+			method: 'post',
+			data: params,
+		});
+
+// 璇︽儏搴撳尯淇℃伅
+export const detailWmsArea = (id: any) => 
+	request({
+			url: Api.DetailWmsArea,
+			method: 'get',
+			data: { id },
+		});
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsBasePlace.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsBasePlace.ts
new file mode 100644
index 0000000..3e058e6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsBasePlace.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsBasePlace = '/api/wmsBasePlace/add',
+  DeleteWmsBasePlace = '/api/wmsBasePlace/delete',
+  UpdateWmsBasePlace = '/api/wmsBasePlace/update',
+  PageWmsBasePlace = '/api/wmsBasePlace/page',
+  ListWmsBasePlace = '/api/wmsBasePlace/list',
+  DetailWmsBasePlace = '/api/wmsBasePlace/detail',
+  ImportExcelWmsBasePlace = '/api/wmsBasePlace/importExcel',
+  DownloadExcelTemplateWmsBasePlace = '/api/wmsBasePlace/downloadExcelTemplate',
+}
+
+// 澧炲姞搴撲綅淇℃伅
+export const addWmsBasePlace = (params?: any) =>
+	request({
+		url: Api.AddWmsBasePlace,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎搴撲綅淇℃伅
+export const deleteWmsBasePlace = (params?: any) => 
+	request({
+			url: Api.DeleteWmsBasePlace,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫搴撲綅淇℃伅
+export const updateWmsBasePlace = (params?: any) => 
+	request({
+			url: Api.UpdateWmsBasePlace,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆搴撲綅淇℃伅
+export const importExcelWmsBasePlace = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsBasePlace,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆搴撲綅淇℃伅妯℃澘
+export const downloadExcelTemplateWmsBasePlace = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsBasePlace,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ搴撲綅淇℃伅
+export const pageWmsBasePlace = (params?: any) => 
+	request({
+			url: Api.PageWmsBasePlace,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈠簱浣嶄俊鎭�
+export const listWmsBasePlace = (params?: any) => 
+	request({
+			url: Api.ListWmsBasePlace,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏搴撲綅淇℃伅
+export const detailWmsBasePlace = (id: any) => 
+	request({
+			url: Api.DetailWmsBasePlace,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsBatchRuleDetail.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsBatchRuleDetail.ts
new file mode 100644
index 0000000..5edda35
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsBatchRuleDetail.ts
@@ -0,0 +1,86 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsBatchRuleDetail = '/api/wmsBatchRuleDetail/add',
+  DeleteWmsBatchRuleDetail = '/api/wmsBatchRuleDetail/delete',
+  UpdateWmsBatchRuleDetail = '/api/wmsBatchRuleDetail/update',
+  PageWmsBatchRuleDetail = '/api/wmsBatchRuleDetail/page', ///api/wmsBatchRuleDetail/page
+  PageWmsBatchRuleDetailPageGroup ='/api/wmsBatchRuleDetail/PageGroup', 
+  ListWmsBatchRuleDetail = '/api/wmsBatchRuleDetail/list',
+  DetailWmsBatchRuleDetail = '/api/wmsBatchRuleDetail/detail',
+  ImportExcelWmsBatchRuleDetail = '/api/wmsBatchRuleDetail/importExcel',
+  DownloadExcelTemplateWmsBatchRuleDetail = '/api/wmsBatchRuleDetail/downloadExcelTemplate',
+}
+
+// 澧炲姞鎵规灞炴�ц鍒欐槑缁�
+export const addWmsBatchRuleDetail = (params?: any) =>
+	request({
+		url: Api.AddWmsBatchRuleDetail,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鎵规灞炴�ц鍒欐槑缁�
+export const deleteWmsBatchRuleDetail = (params?: any) => 
+	request({
+			url: Api.DeleteWmsBatchRuleDetail,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鎵规灞炴�ц鍒欐槑缁�
+export const updateWmsBatchRuleDetail = (params?: any) => 
+	request({
+			url: Api.UpdateWmsBatchRuleDetail,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鎵规灞炴�ц鍒欐槑缁�
+export const importExcelWmsBatchRuleDetail = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsBatchRuleDetail,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鎵规灞炴�ц鍒欐槑缁嗘ā鏉�
+export const downloadExcelTemplateWmsBatchRuleDetail = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsBatchRuleDetail,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鎵规灞炴�ц鍒欐槑缁�
+export const pageWmsBatchRuleDetail = (params?: any) => 
+	request({
+			url: Api.PageWmsBatchRuleDetail,
+			method: 'post',
+			data: params
+		});
+
+// 鍒嗛〉鏌ヨ鎵规灞炴�ц鍒欐槑缁�
+export const pageWmsBatchRuleDetailPageGroup = (params?: any) => 
+	request({
+			url: Api.PageWmsBatchRuleDetailPageGroup,
+			method: 'post',
+			data: params
+		});
+// 涓嶅垎椤垫煡璇㈡壒娆″睘鎬ц鍒欐槑缁�
+export const listWmsBatchRuleDetail = (params?: any) => 
+	request({
+			url: Api.ListWmsBatchRuleDetail,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鎵规灞炴�ц鍒欐槑缁�
+export const detailWmsBatchRuleDetail = (id: any) => 
+	request({
+			url: Api.DetailWmsBatchRuleDetail,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsBusinessType.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsBusinessType.ts
new file mode 100644
index 0000000..1557cf6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsBusinessType.ts
@@ -0,0 +1,71 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsBusinessType = '/api/WmsBaseBusinessType/add',
+  DeleteWmsBusinessType = '/api/WmsBaseBusinessType/delete',
+  UpdateWmsBusinessType = '/api/WmsBaseBusinessType/update',
+  PageWmsBusinessType = '/api/wmsBaseBusinessType/page',
+  ListWmsBusinessType = '/api/wmsBaseBusinessType/List', 
+  DetailWmsBusinessType = '/api/WmsBaseBusinessType/detail',
+}
+
+// 澧炲姞涓氬姟绫诲瀷
+export const addWmsBusinessType = (params?: any) =>
+	request({
+		url: Api.AddWmsBusinessType,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎涓氬姟绫诲瀷
+export const deleteWmsBusinessType = (params?: any) => 
+	request({
+			url: Api.DeleteWmsBusinessType,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫涓氬姟绫诲瀷
+export const updateWmsBusinessType = (params?: any) => 
+	request({
+			url: Api.UpdateWmsBusinessType,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨ涓氬姟绫诲瀷
+export const pageWmsBusinessType = (params?: any) => {
+
+	if(params && !params.all){
+		params.isDisabled = 0
+	}
+
+
+return	request({
+		url: Api.PageWmsBusinessType,
+		method: 'post',
+		data: params,
+	});
+}
+	
+	
+
+// 涓嶅垎椤垫煡璇笟鍔$被鍨�
+export const listWmsBusinessType = (params?: any) => {
+	if(params && !params.all){
+		params.isDisabled = 0
+	}
+	return request({
+		url: Api.ListWmsBusinessType,
+		method: 'get',
+		data: params,
+	});
+}
+
+// 璇︽儏涓氬姟绫诲瀷
+export const detailWmsBusinessType = (id: any) => 
+	request({
+			url: Api.DetailWmsBusinessType,
+			method: 'get',
+			data: { id },
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsContainer.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsContainer.ts
new file mode 100644
index 0000000..36c4e8c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsContainer.ts
@@ -0,0 +1,67 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsContainer = '/api/wmsContainer/add',
+  DeleteWmsContainer = '/api/wmsContainer/delete',
+  UpdateWmsContainer = '/api/wmsContainer/update',
+  PageWmsContainer = '/api/wmsContainer/page',
+  DetailWmsContainer = '/api/wmsContainer/detail',
+  ImportExcelWmsContainer = '/api/wmsContainer/importExcel',
+  DownloadExcelTemplateWmsContainer = '/api/wmsContainer/downloadExcelTemplate',
+}
+
+// 澧炲姞瀹瑰櫒淇℃伅
+export const addWmsContainer = (params?: any) =>
+	request({
+		url: Api.AddWmsContainer,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎瀹瑰櫒淇℃伅
+export const deleteWmsContainer = (params?: any) => 
+	request({
+			url: Api.DeleteWmsContainer,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫瀹瑰櫒淇℃伅
+export const updateWmsContainer = (params?: any) => 
+	request({
+			url: Api.UpdateWmsContainer,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨ瀹瑰櫒淇℃伅
+export const pageWmsContainer = (params?: any) => 
+	request({
+			url: Api.PageWmsContainer,
+			method: 'post',
+			data: params,
+		});
+
+// 璇︽儏瀹瑰櫒淇℃伅
+export const detailWmsContainer = (id: any) => 
+	request({
+			url: Api.DetailWmsContainer,
+			method: 'get',
+			data: { id },
+		});
+
+// 瀵煎叆瀹瑰櫒淇℃伅琛�
+export const importExcelWmsContainer = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsContainer,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆瀹瑰櫒淇℃伅琛ㄦā鏉�
+export const downloadExcelTemplateWmsContainer = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsContainer,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsContainerPackaging.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsContainerPackaging.ts
new file mode 100644
index 0000000..a6e64dd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsContainerPackaging.ts
@@ -0,0 +1,50 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsContainerPackaging = '/api/wmsContainerPackaging/add',
+  DeleteWmsContainerPackaging = '/api/wmsContainerPackaging/delete',
+  UpdateWmsContainerPackaging = '/api/wmsContainerPackaging/update',
+  PageWmsContainerPackaging = '/api/wmsContainerPackaging/page',
+  DetailWmsContainerPackaging = '/api/wmsContainerPackaging/detail',
+}
+
+// 澧炲姞瀹瑰櫒鍏崇郴鍩虹琛�
+export const addWmsContainerPackaging = (params?: any) =>
+	request({
+		url: Api.AddWmsContainerPackaging,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎瀹瑰櫒鍏崇郴鍩虹琛�
+export const deleteWmsContainerPackaging = (params?: any) => 
+	request({
+			url: Api.DeleteWmsContainerPackaging,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫瀹瑰櫒鍏崇郴鍩虹琛�
+export const updateWmsContainerPackaging = (params?: any) => 
+	request({
+			url: Api.UpdateWmsContainerPackaging,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨ瀹瑰櫒鍏崇郴鍩虹琛�
+export const pageWmsContainerPackaging = (params?: any) => 
+	request({
+			url: Api.PageWmsContainerPackaging,
+			method: 'post',
+			data: params,
+		});
+
+// 璇︽儏瀹瑰櫒鍏崇郴鍩虹琛�
+export const detailWmsContainerPackaging = (id: any) => 
+	request({
+			url: Api.DetailWmsContainerPackaging,
+			method: 'get',
+			data: { id },
+		});
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsContainerType.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsContainerType.ts
new file mode 100644
index 0000000..e0979b3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsContainerType.ts
@@ -0,0 +1,50 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsContainerType = '/api/wmsContainerType/add',
+  DeleteWmsContainerType = '/api/wmsContainerType/delete',
+  UpdateWmsContainerType = '/api/wmsContainerType/update',
+  PageWmsContainerType = '/api/wmsContainerType/page',
+  DetailWmsContainerType = '/api/wmsContainerType/detail',
+}
+
+// 澧炲姞瀹瑰櫒绫诲瀷
+export const addWmsContainerType = (params?: any) =>
+	request({
+		url: Api.AddWmsContainerType,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎瀹瑰櫒绫诲瀷
+export const deleteWmsContainerType = (params?: any) => 
+	request({
+			url: Api.DeleteWmsContainerType,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫瀹瑰櫒绫诲瀷
+export const updateWmsContainerType = (params?: any) => 
+	request({
+			url: Api.UpdateWmsContainerType,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨ瀹瑰櫒绫诲瀷
+export const pageWmsContainerType = (params?: any) => 
+	request({
+			url: Api.PageWmsContainerType,
+			method: 'post',
+			data: params,
+		});
+
+// 璇︽儏瀹瑰櫒绫诲瀷
+export const detailWmsContainerType = (id: any) => 
+	request({
+			url: Api.DetailWmsContainerType,
+			method: 'get',
+			data: { id },
+		});
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsControlRuleDetail.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsControlRuleDetail.ts
new file mode 100644
index 0000000..cd60227
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsControlRuleDetail.ts
@@ -0,0 +1,50 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsControlRuleDetail = '/api/wmsControlRuleDetail/add',
+  DeleteWmsControlRuleDetail = '/api/wmsControlRuleDetail/delete',
+  UpdateWmsControlRuleDetail = '/api/wmsControlRuleDetail/update',
+  PageWmsControlRuleDetail = '/api/wmsControlRuleDetail/page',
+  DetailWmsControlRuleDetail = '/api/wmsControlRuleDetail/detail',
+}
+
+// 澧炲姞鎺у埗灞炴�ц鍒欐槑缁�
+export const addWmsControlRuleDetail = (params?: any) =>
+	request({
+		url: Api.AddWmsControlRuleDetail,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎鎺у埗灞炴�ц鍒欐槑缁�
+export const deleteWmsControlRuleDetail = (params?: any) => 
+	request({
+			url: Api.DeleteWmsControlRuleDetail,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫鎺у埗灞炴�ц鍒欐槑缁�
+export const updateWmsControlRuleDetail = (params?: any) => 
+	request({
+			url: Api.UpdateWmsControlRuleDetail,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨ鎺у埗灞炴�ц鍒欐槑缁�
+export const pageWmsControlRuleDetail = (params?: any) => 
+	request({
+			url: Api.PageWmsControlRuleDetail,
+			method: 'post',
+			data: params,
+		});
+
+// 璇︽儏鎺у埗灞炴�ц鍒欐槑缁�
+export const detailWmsControlRuleDetail = (id: any) => 
+	request({
+			url: Api.DetailWmsControlRuleDetail,
+			method: 'get',
+			data: { id },
+		});
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsFactory.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsFactory.ts
new file mode 100644
index 0000000..88bf255
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsFactory.ts
@@ -0,0 +1,50 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsFactory = '/api/wmsFactory/add',
+  DeleteWmsFactory = '/api/wmsFactory/delete',
+  UpdateWmsFactory = '/api/wmsFactory/update',
+  PageWmsFactory = '/api/wmsFactory/page',
+  DetailWmsFactory = '/api/wmsFactory/detail',
+}
+
+// 澧炲姞宸ュ巶淇℃伅琛�
+export const addWmsFactory = (params?: any) =>
+	request({
+		url: Api.AddWmsFactory,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎宸ュ巶淇℃伅琛�
+export const deleteWmsFactory = (params?: any) => 
+	request({
+			url: Api.DeleteWmsFactory,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫宸ュ巶淇℃伅琛�
+export const updateWmsFactory = (params?: any) => 
+	request({
+			url: Api.UpdateWmsFactory,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨ宸ュ巶淇℃伅琛�
+export const pageWmsFactory = (params?: any) => 
+	request({
+			url: Api.PageWmsFactory,
+			method: 'post',
+			data: params,
+		});
+
+// 璇︽儏宸ュ巶淇℃伅琛�
+export const detailWmsFactory = (id: any) => 
+	request({
+			url: Api.DetailWmsFactory,
+			method: 'get',
+			data: { id },
+		});
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsMaterial.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsMaterial.ts
new file mode 100644
index 0000000..4ad7cf4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsMaterial.ts
@@ -0,0 +1,69 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsMaterial = '/api/wmsMaterial/add',
+  DeleteWmsMaterial = '/api/wmsMaterial/delete',
+  UpdateWmsMaterial = '/api/wmsMaterial/update',
+  PageWmsMaterial = '/api/wmsMaterial/page',
+  DetailWmsMaterial = '/api/wmsMaterial/detail',
+  ImportExcelWmsMaterial = '/api/wmsMaterial/importExcel',
+  DownloadExcelTemplateWmsMaterial = '/api/wmsMaterial/downloadExcelTemplate',
+}
+
+// 澧炲姞鐗╂枡淇℃伅
+export const addWmsMaterial = (params?: any) =>
+	request({
+		url: Api.AddWmsMaterial,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎鐗╂枡淇℃伅
+export const deleteWmsMaterial = (params?: any) => 
+	request({
+			url: Api.DeleteWmsMaterial,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫鐗╂枡淇℃伅
+export const updateWmsMaterial = (params?: any) => 
+	request({
+			url: Api.UpdateWmsMaterial,
+			method: 'post',
+			data: params,
+		});
+
+// 瀵煎叆鐗╂枡淇℃伅琛�
+export const importExcelWmsMaterial = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsMaterial,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鐗╂枡淇℃伅琛ㄦā鏉�
+export const downloadExcelTemplateWmsMaterial = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsMaterial,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+// 鍒嗛〉鏌ヨ鐗╂枡淇℃伅
+export const pageWmsMaterial = (params?: any) => 
+	request({
+			url: Api.PageWmsMaterial,
+			method: 'post',
+			data: params,
+		});
+
+// 璇︽儏鐗╂枡淇℃伅
+export const detailWmsMaterial = (id: any) => 
+	request({
+			url: Api.DetailWmsMaterial,
+			method: 'get',
+			data: { id },
+		});
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsMaterialCustomer.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsMaterialCustomer.ts
new file mode 100644
index 0000000..88b964b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsMaterialCustomer.ts
@@ -0,0 +1,50 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsMaterialCustomer = '/api/wmsMaterialCustomer/add',
+  DeleteWmsMaterialCustomer = '/api/wmsMaterialCustomer/delete',
+  UpdateWmsMaterialCustomer = '/api/wmsMaterialCustomer/update',
+  PageWmsMaterialCustomer = '/api/wmsMaterialCustomer/page',
+  DetailWmsMaterialCustomer = '/api/wmsMaterialCustomer/detail',
+}
+
+// 澧炲姞鐗╂枡瀹㈡埛鍏崇郴
+export const addWmsMaterialCustomer = (params?: any) =>
+	request({
+		url: Api.AddWmsMaterialCustomer,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎鐗╂枡瀹㈡埛鍏崇郴
+export const deleteWmsMaterialCustomer = (params?: any) => 
+	request({
+			url: Api.DeleteWmsMaterialCustomer,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫鐗╂枡瀹㈡埛鍏崇郴
+export const updateWmsMaterialCustomer = (params?: any) => 
+	request({
+			url: Api.UpdateWmsMaterialCustomer,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨ鐗╂枡瀹㈡埛鍏崇郴
+export const pageWmsMaterialCustomer = (params?: any) => 
+	request({
+			url: Api.PageWmsMaterialCustomer,
+			method: 'post',
+			data: params,
+		});
+
+// 璇︽儏鐗╂枡瀹㈡埛鍏崇郴
+export const detailWmsMaterialCustomer = (id: any) => 
+	request({
+			url: Api.DetailWmsMaterialCustomer,
+			method: 'get',
+			data: { id },
+		});
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsMaterialType.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsMaterialType.ts
new file mode 100644
index 0000000..2f28f27
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsMaterialType.ts
@@ -0,0 +1,50 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsMaterialType = '/api/wmsMaterialType/add',
+  DeleteWmsMaterialType = '/api/wmsMaterialType/delete',
+  UpdateWmsMaterialType = '/api/wmsMaterialType/update',
+  PageWmsMaterialType = '/api/wmsMaterialType/page',
+  DetailWmsMaterialType = '/api/wmsMaterialType/detail',
+}
+
+// 澧炲姞鐗╂枡绫诲瀷琛�
+export const addWmsMaterialType = (params?: any) =>
+	request({
+		url: Api.AddWmsMaterialType,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎鐗╂枡绫诲瀷琛�
+export const deleteWmsMaterialType = (params?: any) => 
+	request({
+			url: Api.DeleteWmsMaterialType,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫鐗╂枡绫诲瀷琛�
+export const updateWmsMaterialType = (params?: any) => 
+	request({
+			url: Api.UpdateWmsMaterialType,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨ鐗╂枡绫诲瀷琛�
+export const pageWmsMaterialType = (params?: any) => 
+	request({
+			url: Api.PageWmsMaterialType,
+			method: 'post',
+			data: params,
+		});
+
+// 璇︽儏鐗╂枡绫诲瀷琛�
+export const detailWmsMaterialType = (id: any) => 
+	request({
+			url: Api.DetailWmsMaterialType,
+			method: 'get',
+			data: { id },
+		});
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsPlace.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsPlace.ts
new file mode 100644
index 0000000..ba51bc9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsPlace.ts
@@ -0,0 +1,66 @@
+import request from '/@/utils/request';
+enum Api {
+  AddWmsPlace = '/api/wmsPlace/add',
+  DeleteWmsPlace = '/api/wmsPlace/delete',
+  UpdateWmsPlace = '/api/wmsPlace/update',
+  PageWmsPlace = '/api/wmsPlace/page',
+  DetailWmsPlace = '/api/wmsPlace/detail',
+  ImportExcelWmsPlace = '/api/wmsPlace/importExcel',
+   DownloadExcelTemplateWmsPlace = '/api/wmsPlace/downloadExcelTemplate',
+}
+
+// 澧炲姞搴撲綅淇℃伅
+export const addWmsPlace = (params?: any) =>
+	request({
+		url: Api.AddWmsPlace,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎搴撲綅淇℃伅
+export const deleteWmsPlace = (params?: any) => 
+	request({
+			url: Api.DeleteWmsPlace,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫搴撲綅淇℃伅
+export const updateWmsPlace = (params?: any) => 
+	request({
+			url: Api.UpdateWmsPlace,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨ搴撲綅淇℃伅
+export const pageWmsPlace = (params?: any) => 
+	request({
+			url: Api.PageWmsPlace,
+			method: 'post',
+			data: params,
+		});
+//瀵煎叆
+export const importExcelWmsPlace = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsPlace,
+		method: 'post',
+		data: params
+	});
+	// 涓嬭浇瀵煎叆搴撲綅琛ㄦā鏉�
+	export const downloadExcelTemplateWmsPlace = (params?: any) => 
+		request({
+				url: Api.DownloadExcelTemplateWmsPlace,
+				method: 'get',
+				data: params,
+				responseType: 'blob'
+			});
+// 璇︽儏搴撲綅淇℃伅
+export const detailWmsPlace = (id: any) => 
+	request({
+			url: Api.DetailWmsPlace,
+			method: 'get',
+			data: { id },
+		});
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsSubstituteGood.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsSubstituteGood.ts
new file mode 100644
index 0000000..9adfe86
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsSubstituteGood.ts
@@ -0,0 +1,50 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsSubstituteGood = '/api/wmsSubstituteGood/add',
+  DeleteWmsSubstituteGood = '/api/wmsSubstituteGood/delete',
+  UpdateWmsSubstituteGood = '/api/wmsSubstituteGood/update',
+  PageWmsSubstituteGood = '/api/wmsSubstituteGood/page',
+  DetailWmsSubstituteGood = '/api/wmsSubstituteGood/detail',
+}
+
+// 澧炲姞鏇夸唬鍝佺鐞�
+export const addWmsSubstituteGood = (params?: any) =>
+	request({
+		url: Api.AddWmsSubstituteGood,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎鏇夸唬鍝佺鐞�
+export const deleteWmsSubstituteGood = (params?: any) => 
+	request({
+			url: Api.DeleteWmsSubstituteGood,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫鏇夸唬鍝佺鐞�
+export const updateWmsSubstituteGood = (params?: any) => 
+	request({
+			url: Api.UpdateWmsSubstituteGood,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨ鏇夸唬鍝佺鐞�
+export const pageWmsSubstituteGood = (params?: any) => 
+	request({
+			url: Api.PageWmsSubstituteGood,
+			method: 'post',
+			data: params,
+		});
+
+// 璇︽儏鏇夸唬鍝佺鐞�
+export const detailWmsSubstituteGood = (id: any) => 
+	request({
+			url: Api.DetailWmsSubstituteGood,
+			method: 'get',
+			data: { id },
+		});
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsUnit.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsUnit.ts
new file mode 100644
index 0000000..c79636c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsUnit.ts
@@ -0,0 +1,55 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsUnit = '/api/wmsUnit/add',
+  DeleteWmsUnit = '/api/wmsUnit/delete',
+  UpdateWmsUnit = '/api/wmsUnit/update',
+  PageWmsUnit = '/api/wmsUnit/page',
+  DetailWmsUnit = '/api/wmsUnit/detail',
+}
+
+// 澧炲姞鍗曚綅鍩虹淇℃伅
+export const addWmsUnit = (params?: any) =>
+	request({
+		url: Api.AddWmsUnit,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎鍗曚綅鍩虹淇℃伅
+export const deleteWmsUnit = (params?: any) => 
+	request({
+			url: Api.DeleteWmsUnit,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫鍗曚綅鍩虹淇℃伅
+export const updateWmsUnit = (params?: any) => 
+	request({
+			url: Api.UpdateWmsUnit,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨ鍗曚綅鍩虹淇℃伅
+export const pageWmsUnit = (params?: any) => {
+	if(params && !params.all){
+		params.isDisabled = 0
+	}
+return	request({
+		url: Api.PageWmsUnit,
+		method: 'post',
+		data: params,
+	});
+}
+	
+
+// 璇︽儏鍗曚綅鍩虹淇℃伅
+export const detailWmsUnit = (id: any) => 
+	request({
+			url: Api.DetailWmsUnit,
+			method: 'get',
+			data: { id },
+		});
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsWarehouse.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsWarehouse.ts
new file mode 100644
index 0000000..9bcf459
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsBase/wmsWarehouse.ts
@@ -0,0 +1,50 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsWarehouse = '/api/wmsWarehouse/add',
+  DeleteWmsWarehouse = '/api/wmsWarehouse/delete',
+  UpdateWmsWarehouse = '/api/wmsWarehouse/update',
+  PageWmsWarehouse = '/api/wmsWarehouse/page',
+  DetailWmsWarehouse = '/api/wmsWarehouse/detail',
+}
+
+// 澧炲姞浠撳簱琛�
+export const addWmsWarehouse = (params?: any) =>
+	request({
+		url: Api.AddWmsWarehouse,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎浠撳簱琛�
+export const deleteWmsWarehouse = (params?: any) => 
+	request({
+			url: Api.DeleteWmsWarehouse,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫浠撳簱琛�
+export const updateWmsWarehouse = (params?: any) => 
+	request({
+			url: Api.UpdateWmsWarehouse,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨ浠撳簱琛�
+export const pageWmsWarehouse = (params?: any) => 
+	request({
+			url: Api.PageWmsWarehouse,
+			method: 'post',
+			data: params,
+		});
+
+// 璇︽儏浠撳簱琛�
+export const detailWmsWarehouse = (id: any) => 
+	request({
+			url: Api.DetailWmsWarehouse,
+			method: 'get',
+			data: { id },
+		});
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsInventory/wmsInventoryCheckOrder.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsInventory/wmsInventoryCheckOrder.ts
new file mode 100644
index 0000000..d621ddf
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsInventory/wmsInventoryCheckOrder.ts
@@ -0,0 +1,100 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsInventoryCheckOrder = '/api/wmsInventoryCheckOrder/add',
+  DeleteWmsInventoryCheckOrder = '/api/wmsInventoryCheckOrder/delete',
+  UpdateWmsInventoryCheckOrder = '/api/wmsInventoryCheckOrder/update',
+  PageWmsInventoryCheckOrder = '/api/wmsInventoryCheckOrder/page',
+  ListWmsInventoryCheckOrder = '/api/wmsInventoryCheckOrder/list',
+  DetailWmsInventoryCheckOrder = '/api/wmsInventoryCheckOrder/detail',
+  ImportExcelWmsInventoryCheckOrder = '/api/wmsInventoryCheckOrder/importExcel',
+  DownloadExcelTemplateWmsInventoryCheckOrder = '/api/wmsInventoryCheckOrder/downloadExcelTemplate',
+  ClosewmsInventoryCheckOrder = '/api/wmsInventoryCheckOrder/CloseOrder',
+  ExcelTemplateWmsOrderDiffAll = '/api/WmsInventoryCheckOrder/DiffOrderExcelOutting',
+
+}
+
+// 澧炲姞鐩樼偣鍗曟嵁
+export const addWmsInventoryCheckOrder = (params?: any) =>
+	request({
+		url: Api.AddWmsInventoryCheckOrder,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鐩樼偣鍗曟嵁
+export const deleteWmsInventoryCheckOrder = (params?: any) => 
+	request({
+			url: Api.DeleteWmsInventoryCheckOrder,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鐩樼偣鍗曟嵁
+export const updateWmsInventoryCheckOrder = (params?: any) => 
+	request({
+			url: Api.UpdateWmsInventoryCheckOrder,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鐩樼偣鍗曟嵁
+export const importExcelWmsInventoryCheckOrder = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsInventoryCheckOrder,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鐩樼偣鍗曟嵁妯℃澘
+export const downloadExcelTemplateWmsInventoryCheckOrder = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsInventoryCheckOrder,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鐩樼偣鍗曟嵁
+export const pageWmsInventoryCheckOrder = (params?: any) => 
+	request({
+			url: Api.PageWmsInventoryCheckOrder,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈢洏鐐瑰崟鎹�
+export const listWmsInventoryCheckOrder = (params?: any) => 
+	request({
+			url: Api.ListWmsInventoryCheckOrder,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鐩樼偣鍗曟嵁
+export const detailWmsInventoryCheckOrder = (id: any) => 
+	request({
+			url: Api.DetailWmsInventoryCheckOrder,
+			method: 'get',
+			data: { id }
+		});
+
+
+		
+	// 鍏抽棴Asn
+export const closewmsInventoryCheckOrder = (params?: any) => 
+request({
+		url: Api.ClosewmsInventoryCheckOrder,
+		method: 'post',
+		data: params
+	});
+
+
+	// 瀵煎嚭
+export const downloadExcelTemplateWmsOrderDiffAll = (params?: any) => 
+request({
+		url: Api.ExcelTemplateWmsOrderDiffAll,
+		method: 'get',
+		data: params,
+		responseType: 'blob'
+	});
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsInventory/wmsInventoryCheckOrderDetails.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsInventory/wmsInventoryCheckOrderDetails.ts
new file mode 100644
index 0000000..6331ea1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsInventory/wmsInventoryCheckOrderDetails.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsInventoryCheckOrderDetails = '/api/wmsInventoryCheckOrderDetails/add',
+  DeleteWmsInventoryCheckOrderDetails = '/api/wmsInventoryCheckOrderDetails/delete',
+  UpdateWmsInventoryCheckOrderDetails = '/api/wmsInventoryCheckOrderDetails/update',
+  PageWmsInventoryCheckOrderDetails = '/api/wmsInventoryCheckOrderDetails/page',
+  ListWmsInventoryCheckOrderDetails = '/api/wmsInventoryCheckOrderDetails/list',
+  DetailWmsInventoryCheckOrderDetails = '/api/wmsInventoryCheckOrderDetails/detail',
+  ImportExcelWmsInventoryCheckOrderDetails = '/api/wmsInventoryCheckOrderDetails/importExcel',
+  DownloadExcelTemplateWmsInventoryCheckOrderDetails = '/api/wmsInventoryCheckOrderDetails/downloadExcelTemplate',
+}
+
+// 澧炲姞鐩樼偣鍗曟槑缁�
+export const addWmsInventoryCheckOrderDetails = (params?: any) =>
+	request({
+		url: Api.AddWmsInventoryCheckOrderDetails,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鐩樼偣鍗曟槑缁�
+export const deleteWmsInventoryCheckOrderDetails = (params?: any) => 
+	request({
+			url: Api.DeleteWmsInventoryCheckOrderDetails,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鐩樼偣鍗曟槑缁�
+export const updateWmsInventoryCheckOrderDetails = (params?: any) => 
+	request({
+			url: Api.UpdateWmsInventoryCheckOrderDetails,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鐩樼偣鍗曟槑缁�
+export const importExcelWmsInventoryCheckOrderDetails = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsInventoryCheckOrderDetails,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鐩樼偣鍗曟槑缁嗘ā鏉�
+export const downloadExcelTemplateWmsInventoryCheckOrderDetails = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsInventoryCheckOrderDetails,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鐩樼偣鍗曟槑缁�
+export const pageWmsInventoryCheckOrderDetails = (params?: any) => 
+	request({
+			url: Api.PageWmsInventoryCheckOrderDetails,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈢洏鐐瑰崟鏄庣粏
+export const listWmsInventoryCheckOrderDetails = (params?: any) => 
+	request({
+			url: Api.ListWmsInventoryCheckOrderDetails,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鐩樼偣鍗曟槑缁�
+export const detailWmsInventoryCheckOrderDetails = (id: any) => 
+	request({
+			url: Api.DetailWmsInventoryCheckOrderDetails,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsInventory/wmsInventoryCheckRange.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsInventory/wmsInventoryCheckRange.ts
new file mode 100644
index 0000000..fb45924
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsInventory/wmsInventoryCheckRange.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsInventoryCheckRange = '/api/wmsInventoryCheckRange/add',
+  DeleteWmsInventoryCheckRange = '/api/wmsInventoryCheckRange/delete',
+  UpdateWmsInventoryCheckRange = '/api/wmsInventoryCheckRange/update',
+  PageWmsInventoryCheckRange = '/api/wmsInventoryCheckRange/page',
+  ListWmsInventoryCheckRange = '/api/wmsInventoryCheckRange/list',
+  DetailWmsInventoryCheckRange = '/api/wmsInventoryCheckRange/detail',
+  ImportExcelWmsInventoryCheckRange = '/api/wmsInventoryCheckRange/importExcel',
+  DownloadExcelTemplateWmsInventoryCheckRange = '/api/wmsInventoryCheckRange/downloadExcelTemplate',
+}
+
+// 澧炲姞鐩樼偣鑼冨洿琛�
+export const addWmsInventoryCheckRange = (params?: any) =>
+	request({
+		url: Api.AddWmsInventoryCheckRange,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鐩樼偣鑼冨洿琛�
+export const deleteWmsInventoryCheckRange = (params?: any) => 
+	request({
+			url: Api.DeleteWmsInventoryCheckRange,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鐩樼偣鑼冨洿琛�
+export const updateWmsInventoryCheckRange = (params?: any) => 
+	request({
+			url: Api.UpdateWmsInventoryCheckRange,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鐩樼偣鑼冨洿琛�
+export const importExcelWmsInventoryCheckRange = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsInventoryCheckRange,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鐩樼偣鑼冨洿琛ㄦā鏉�
+export const downloadExcelTemplateWmsInventoryCheckRange = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsInventoryCheckRange,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鐩樼偣鑼冨洿琛�
+export const pageWmsInventoryCheckRange = (params?: any) => 
+	request({
+			url: Api.PageWmsInventoryCheckRange,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈢洏鐐硅寖鍥磋〃
+export const listWmsInventoryCheckRange = (params?: any) => 
+	request({
+			url: Api.ListWmsInventoryCheckRange,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鐩樼偣鑼冨洿琛�
+export const detailWmsInventoryCheckRange = (id: any) => 
+	request({
+			url: Api.DetailWmsInventoryCheckRange,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsInventory/wmsInventoryCheckRecord.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsInventory/wmsInventoryCheckRecord.ts
new file mode 100644
index 0000000..cf91291
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsInventory/wmsInventoryCheckRecord.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsInventoryCheckRecord = '/api/wmsInventoryCheckRecord/add',
+  DeleteWmsInventoryCheckRecord = '/api/wmsInventoryCheckRecord/delete',
+  UpdateWmsInventoryCheckRecord = '/api/wmsInventoryCheckRecord/update',
+  PageWmsInventoryCheckRecord = '/api/wmsInventoryCheckRecord/page',
+  ListWmsInventoryCheckRecord = '/api/wmsInventoryCheckRecord/list',
+  DetailWmsInventoryCheckRecord = '/api/wmsInventoryCheckRecord/detail',
+  ImportExcelWmsInventoryCheckRecord = '/api/wmsInventoryCheckRecord/importExcel',
+  DownloadExcelTemplateWmsInventoryCheckRecord = '/api/wmsInventoryCheckRecord/downloadExcelTemplate',
+}
+
+// 澧炲姞鐩樼偣璁板綍
+export const addWmsInventoryCheckRecord = (params?: any) =>
+	request({
+		url: Api.AddWmsInventoryCheckRecord,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鐩樼偣璁板綍
+export const deleteWmsInventoryCheckRecord = (params?: any) => 
+	request({
+			url: Api.DeleteWmsInventoryCheckRecord,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鐩樼偣璁板綍
+export const updateWmsInventoryCheckRecord = (params?: any) => 
+	request({
+			url: Api.UpdateWmsInventoryCheckRecord,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鐩樼偣璁板綍
+export const importExcelWmsInventoryCheckRecord = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsInventoryCheckRecord,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鐩樼偣璁板綍妯℃澘
+export const downloadExcelTemplateWmsInventoryCheckRecord = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsInventoryCheckRecord,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鐩樼偣璁板綍
+export const pageWmsInventoryCheckRecord = (params?: any) => 
+	request({
+			url: Api.PageWmsInventoryCheckRecord,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈢洏鐐硅褰�
+export const listWmsInventoryCheckRecord = (params?: any) => 
+	request({
+			url: Api.ListWmsInventoryCheckRecord,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鐩樼偣璁板綍
+export const detailWmsInventoryCheckRecord = (id: any) => 
+	request({
+			url: Api.DetailWmsInventoryCheckRecord,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderAsn.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderAsn.ts
new file mode 100644
index 0000000..b70d064
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderAsn.ts
@@ -0,0 +1,100 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsOrderAsn = '/api/wmsOrderAsn/add',
+  DeleteWmsOrderAsn = '/api/wmsOrderAsn/delete',
+  UpdateWmsOrderAsn = '/api/wmsOrderAsn/update',
+  PageWmsOrderAsn = '/api/wmsOrderAsn/page',
+  ListWmsOrderAsn = '/api/wmsOrderAsn/list',
+  DetailWmsOrderAsn = '/api/wmsOrderAsn/detail',
+  ImportExcelWmsOrderAsn = '/api/wmsOrderAsn/importExcel',
+  DownloadExcelTemplateWmsOrderAsn = '/api/wmsOrderAsn/downloadExcelTemplate',
+  DownloadExcelTemplateWmsOrderAsnAll = '/api/WmsOrderAsn/DOOrderExcelOutting',
+  CloseWmsOrderAsn = '/api/wmsOrderAsn/CloseOrder'
+}
+
+// 澧炲姞ASN涓昏〃
+export const addWmsOrderAsn = (params?: any) =>
+	request({
+		url: Api.AddWmsOrderAsn,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎ASN涓昏〃
+export const deleteWmsOrderAsn = (params?: any) => 
+	request({
+			url: Api.DeleteWmsOrderAsn,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫ASN涓昏〃
+export const updateWmsOrderAsn = (params?: any) => 
+	request({
+			url: Api.UpdateWmsOrderAsn,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨASN涓昏〃
+export const pageWmsOrderAsn = (params?: any) => 
+	request({
+			url: Api.PageWmsOrderAsn,
+			method: 'post',
+			data: params,
+		});
+
+// 涓嶅垎椤垫煡璇SN涓昏〃
+export const listWmsOrderAsn = (params?: any) => 
+	request({
+			url: Api.ListWmsOrderAsn,
+			method: 'post',
+			data: params,
+		});
+
+// 璇︽儏ASN涓昏〃
+export const detailWmsOrderAsn = (id: any) => 
+	request({
+			url: Api.DetailWmsOrderAsn,
+			method: 'get',
+			data: { id },
+		});
+
+
+
+// 瀵煎叆
+export const importExcelWmsOrderAsn = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsOrderAsn,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇
+export const downloadExcelTemplateWmsOrderAsn = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsOrderAsn,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+				
+// 涓嬭浇瀵煎叆妯℃澘
+export const downloadExcelTemplateWmsOrderAsnAll = (params?: any) => 
+request({
+		url: Api.DownloadExcelTemplateWmsOrderAsnAll,
+		method: 'get',
+		data: params,
+		responseType: 'blob'
+	});
+
+
+	// 鍏抽棴Asn
+export const closeWmsOrderAsn = (params?: any) => 
+request({
+		url: Api.CloseWmsOrderAsn,
+		method: 'post',
+		data: params
+	});
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderAsnDetails.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderAsnDetails.ts
new file mode 100644
index 0000000..603f641
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderAsnDetails.ts
@@ -0,0 +1,67 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsOrderAsnDetails = '/api/wmsOrderAsnDetails/add',
+  DeleteWmsOrderAsnDetails = '/api/wmsOrderAsnDetails/delete',
+  UpdateWmsOrderAsnDetails = '/api/wmsOrderAsnDetails/update',
+  PageWmsOrderAsnDetails = '/api/wmsOrderAsnDetails/page',
+  ListWmsOrderAsnDetails = '/api/wmsOrderAsnDetails/list',
+  DetailWmsOrderAsnDetails = '/api/wmsOrderAsnDetails/detail',
+  updateWmsOrderAsnDetailsBarCode = '/api/wmsOrderAsnDetails/UpdateBarCode',
+
+}
+
+// 澧炲姞ASN鏄庣粏琛�
+export const addWmsOrderAsnDetails = (params?: any) =>
+	request({
+		url: Api.AddWmsOrderAsnDetails,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎ASN鏄庣粏琛�
+export const deleteWmsOrderAsnDetails = (params?: any) => 
+	request({
+			url: Api.DeleteWmsOrderAsnDetails,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫ASN鏄庣粏琛�
+export const updateWmsOrderAsnDetails = (params?: any) => 
+	request({
+			url: Api.UpdateWmsOrderAsnDetails,
+			method: 'post',
+			data: params,
+		});
+// 缂栬緫ASN鏄庣粏琛�-鏉$爜 -ly0625
+export const updateWmsOrderAsnDetailsBarCode = (params?: any) => 
+	request({
+			url: Api.updateWmsOrderAsnDetailsBarCode,
+			method: 'post',
+			data: params,
+		});
+// 鍒嗛〉鏌ヨASN鏄庣粏琛�
+export const pageWmsOrderAsnDetails = (params?: any) => 
+	request({
+			url: Api.PageWmsOrderAsnDetails,
+			method: 'post',
+			data: params,
+		});
+
+// 涓嶅垎椤垫煡璇SN鏄庣粏琛�
+export const listWmsOrderAsnDetails = (params?: any) => 
+	request({
+			url: Api.ListWmsOrderAsnDetails,
+			method: 'post',
+			data: params,
+		});
+
+// 璇︽儏ASN鏄庣粏琛�
+export const detailWmsOrderAsnDetails = (id: any) => 
+	request({
+			url: Api.DetailWmsOrderAsnDetails,
+			method: 'get',
+			data: { id },
+		});
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderMovement.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderMovement.ts
new file mode 100644
index 0000000..6ca8ba4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderMovement.ts
@@ -0,0 +1,144 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+	AddWmsOrderMovement = '/api/wmsOrderMovement/add',
+	AddWmsOrderMovementOff = '/api/wmsOrderMovement/addOff',
+
+	DeleteWmsOrderMovement = '/api/wmsOrderMovement/delete',
+	UpdateWmsOrderMovement = '/api/wmsOrderMovement/update',
+	PageWmsOrderMovement = '/api/wmsOrderMovement/page',
+	ListWmsOrderMovement = '/api/wmsOrderMovement/list',
+	DetailWmsOrderMovement = '/api/wmsOrderMovement/detail',
+	ImportExcelWmsOrderMovement = '/api/wmsOrderMovement/importExcel',
+	DownloadExcelTemplateWmsOrderMovement = '/api/wmsOrderMovement/downloadExcelTemplate',
+	DeleteWmsOrderFp = '/api/WmsDispense/CancelDispenseForRecord',
+	UpdateWmsOrderFp = '/api/WmsDispense/UpdateDispense', //淇敼鍒嗛厤
+	Dispense = '/api/WmsDispense/Dispense', //鍒嗛厤
+	DownloadExcelTemplateWmsOrderXjdAll = '/api/WmsOrderMovement/XjdOrderExcelOutting', //淇敼鍒嗛厤
+
+	ImportExcelWmsOrderXjd = '/api/WmsOrderMovement/ImportExcel',
+	DownloadExcelTemplateWmsOrderXjd = '/api/WmsOrderMovement/DownloadExcelTemplate',
+	CloseWmsOrderSjdXjd = '/api/WmsOrderMovement/CloseOrder'
+}
+
+// 澧炲姞绉诲姩鍗�
+export const addWmsOrderMovement = (params?: any) =>
+	request({
+		url: Api.AddWmsOrderMovement,
+		method: 'post',
+		data: params,
+	});
+// 澧炲姞涓嬫灦鍗�
+export const addWmsOrderMovementOff = (params?: any) =>
+	request({
+		url: Api.AddWmsOrderMovementOff,
+		method: 'post',
+		data: params,
+	});
+// 鍒犻櫎绉诲姩鍗�
+export const deleteWmsOrderMovement = (params?: any) =>
+	request({
+		url: Api.DeleteWmsOrderMovement,
+		method: 'post',
+		data: params,
+	});
+
+// 缂栬緫绉诲姩鍗�
+export const updateWmsOrderMovement = (params?: any) =>
+	request({
+		url: Api.UpdateWmsOrderMovement,
+		method: 'post',
+		data: params,
+	});
+
+// 瀵煎叆绉诲姩鍗�
+export const importExcelWmsOrderMovement = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsOrderMovement,
+		method: 'post',
+		data: params,
+	});
+
+// 涓嬭浇瀵煎叆绉诲姩鍗曟ā鏉�
+export const downloadExcelTemplateWmsOrderMovement = (params?: any) =>
+	request({
+		url: Api.DownloadExcelTemplateWmsOrderMovement,
+		method: 'get',
+		data: params,
+		responseType: 'blob',
+	});
+
+// 鍒嗛〉鏌ヨ绉诲姩鍗�
+export const pageWmsOrderMovement = (params?: any) =>
+	request({
+		url: Api.PageWmsOrderMovement,
+		method: 'post',
+		data: params,
+	});
+
+// 涓嶅垎椤垫煡璇㈢Щ鍔ㄥ崟
+export const listWmsOrderMovement = (params?: any) =>
+	request({
+		url: Api.ListWmsOrderMovement,
+		method: 'get',
+		data: params,
+	});
+
+// 璇︽儏绉诲姩鍗�
+export const detailWmsOrderMovement = (id: any) =>
+	request({
+		url: Api.DetailWmsOrderMovement,
+		method: 'get',
+		data: { id },
+	});
+
+// 鍒嗛厤璇︽儏-鍙栨秷鍒嗛厤
+export const deleteWmsOrderFp = (params?: any) =>
+	request({
+		url: Api.DeleteWmsOrderFp,
+		method: 'post',
+		data: params,
+	});
+
+// 淇敼鍒嗛厤
+export const updateWmsOrderFp = (params?: any) =>
+	request({
+		url: Api.Dispense,
+		method: 'post',
+		data: params,
+	});
+// 涓嬭浇瀵煎叆妯℃澘
+export const downloadExcelTemplateWmsOrderXjdAll = (params?: any) => 
+request({
+		url: Api.DownloadExcelTemplateWmsOrderXjdAll,
+		method: 'get',
+		data: params,
+		responseType: 'blob'
+	});
+
+
+
+	// 瀵煎叆
+export const importExcelWmsOrderXjd = (params?: any) =>
+request({
+	url: Api.ImportExcelWmsOrderXjd,
+	method: 'post',
+	data: params
+});
+
+// 涓嬭浇瀵煎叆妯℃澘
+export const downloadExcelTemplateWmsOrderXjd = (params?: any) => 
+request({
+		url: Api.DownloadExcelTemplateWmsOrderXjd,
+		method: 'get',
+		data: params,
+		responseType: 'blob'
+	});
+
+
+	// 鍏抽棴
+	export const closeWmsOrderSjdXjd = (params?: any) => 
+	request({
+			url: Api.CloseWmsOrderSjdXjd,
+			method: 'post',
+			data: params
+		});
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderMovementDetails.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderMovementDetails.ts
new file mode 100644
index 0000000..a3fc183
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderMovementDetails.ts
@@ -0,0 +1,105 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsOrderMovementDetails = '/api/wmsOrderMovementDetails/add',
+  DeleteWmsOrderMovementDetails = '/api/wmsOrderMovementDetails/delete',
+  UpdateWmsOrderMovementDetails = '/api/wmsOrderMovementDetails/update',
+  PageWmsOrderMovementDetails = '/api/wmsOrderMovementDetails/page',
+  PageWmsOrderMovementDetailsForPredetermine = '/api/wmsOrderMovementDetails/PredeterminePage',
+
+  ListWmsOrderMovementDetails = '/api/wmsOrderMovementDetails/list',
+  DetailWmsOrderMovementDetails = '/api/wmsOrderMovementDetails/detail',
+  ImportExcelWmsOrderMovementDetails = '/api/wmsOrderMovementDetails/importExcel',
+  DownloadExcelTemplateWmsOrderMovementDetails = '/api/wmsOrderMovementDetails/downloadExcelTemplate',
+  FpPageWmsOrderMovementDetails = '/api/WmsRecordPredetermineDispense/list',
+  PageWmsOrderMovementDetailsForDispense = '/api/WmsOrderMovementDetails/DispensePage',
+}
+
+// 澧炲姞绉诲姩鍗曟槑缁�
+export const addWmsOrderMovementDetails = (params?: any) =>
+	request({
+		url: Api.AddWmsOrderMovementDetails,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎绉诲姩鍗曟槑缁�
+export const deleteWmsOrderMovementDetails = (params?: any) => 
+	request({
+			url: Api.DeleteWmsOrderMovementDetails,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫绉诲姩鍗曟槑缁�
+export const updateWmsOrderMovementDetails = (params?: any) => 
+	request({
+			url: Api.UpdateWmsOrderMovementDetails,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆绉诲姩鍗曟槑缁�
+export const importExcelWmsOrderMovementDetails = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsOrderMovementDetails,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆绉诲姩鍗曟槑缁嗘ā鏉�
+export const downloadExcelTemplateWmsOrderMovementDetails = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsOrderMovementDetails,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ绉诲姩鍗曟槑缁�
+export const pageWmsOrderMovementDetails = (params?: any) => 
+	request({
+			url: Api.PageWmsOrderMovementDetails,
+			method: 'post',
+			data: params
+		});
+
+// 鍒嗛〉鏌ヨ绉诲姩鍗曟槑缁�-棰勯厤鐢�
+export const pageWmsOrderMovementDetailsForPredetermine = (params?: any) => 
+	request({
+			url: Api.PageWmsOrderMovementDetailsForPredetermine,
+			method: 'post',
+			data: params
+		});
+		
+// 鍒嗛〉鏌ヨ绉诲姩鍗曟槑缁�-鍒嗛厤鐢�
+export const pageWmsOrderMovementDetailsForDispense = (params?: any) => 
+	request({
+			url: Api.PageWmsOrderMovementDetailsForDispense,
+			method: 'post',
+			data: params
+		});
+		
+// 涓嶅垎椤垫煡璇㈢Щ鍔ㄥ崟鏄庣粏
+export const listWmsOrderMovementDetails = (params?: any) => 
+	request({
+			url: Api.ListWmsOrderMovementDetails,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏绉诲姩鍗曟槑缁�
+export const detailWmsOrderMovementDetails = (id: any) => 
+	request({
+			url: Api.DetailWmsOrderMovementDetails,
+			method: 'get',
+			data: { id }
+		});
+
+// 鍒嗛厤棰勯厤璁板綍
+export const pageFpWmsOrderMovementDetails = (params?: any) => 
+	request({
+			url: Api.FpPageWmsOrderMovementDetails,
+			method: 'get',
+			data: params
+		});
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts
new file mode 100644
index 0000000..bf891e8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts
@@ -0,0 +1,90 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsOrderPurchase = '/api/wmsOrderPurchase/add',
+  DeleteWmsOrderPurchase = '/api/wmsOrderPurchase/delete',
+  UpdateWmsOrderPurchase = '/api/wmsOrderPurchase/update',
+  PageWmsOrderPurchase = '/api/wmsOrderPurchase/page',
+  ListWmsOrderPurchase = '/api/wmsOrderPurchase/list',
+  DetailWmsOrderPurchase = '/api/wmsOrderPurchase/detail',
+  ImportExcelWmsOrderPurchase = '/api/wmsOrderPurchase/importExcel',
+  DownloadExcelTemplateWmsOrderPurchase = '/api/wmsOrderPurchase/downloadExcelTemplate',
+  DownloadExcelTemplateWmsOrderPurchaseAll = '/api/wmsOrderPurchase/pOOrderExcelOutting',
+}
+
+// 澧炲姞PO鍗�
+export const addWmsOrderPurchase = (params?: any) =>
+	request({
+		url: Api.AddWmsOrderPurchase,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎PO鍗�
+export const deleteWmsOrderPurchase = (params?: any) => 
+	request({
+			url: Api.DeleteWmsOrderPurchase,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫PO鍗�
+export const updateWmsOrderPurchase = (params?: any) => 
+	request({
+			url: Api.UpdateWmsOrderPurchase,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨPO鍗�
+export const pageWmsOrderPurchase = (params?: any) => 
+	request({
+			url: Api.PageWmsOrderPurchase,
+			method: 'post',
+			data: params,
+		});
+
+// 涓嶅垎椤垫煡璇O鍗�
+export const listWmsOrderPurchase = (params?: any) => 
+	request({
+			url: Api.ListWmsOrderPurchase,
+			method: 'post',
+			data: params,
+		});
+
+// 璇︽儏PO鍗�
+export const detailWmsOrderPurchase = (id: any) => 
+	request({
+			url: Api.DetailWmsOrderPurchase,
+			method: 'get',
+			data: { id },
+		});
+
+
+
+// 瀵煎叆
+export const importExcelWmsOrderPurchase = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsOrderPurchase,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆妯℃澘
+export const downloadExcelTemplateWmsOrderPurchase = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsOrderPurchase,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+		
+// 涓嬭浇瀵煎叆妯℃澘
+export const downloadExcelTemplateWmsOrderPurchaseAll = (params?: any) => 
+request({
+		url: Api.DownloadExcelTemplateWmsOrderPurchaseAll,
+		method: 'get',
+		data: params,
+		responseType: 'blob'
+	});
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchaseDetails.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchaseDetails.ts
new file mode 100644
index 0000000..ba07c74
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchaseDetails.ts
@@ -0,0 +1,67 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/add',
+  DeleteWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/delete',
+  UpdateWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/update',
+  PageWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/page',
+  PageWmsOrderPurchaseDetailsForRelatedAsn = '/api/WmsOrderPurchaseDetails/PageForRelatedAsn',
+  ListWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/list',
+  DetailWmsOrderPurchaseDetails = '/api/wmsOrderPurchaseDetails/detail',
+}
+
+// 澧炲姞PO鍗曟槑缁�
+export const addWmsOrderPurchaseDetails = (params?: any) =>
+	request({
+		url: Api.AddWmsOrderPurchaseDetails,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎PO鍗曟槑缁�
+export const deleteWmsOrderPurchaseDetails = (params?: any) => 
+	request({
+			url: Api.DeleteWmsOrderPurchaseDetails,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫PO鍗曟槑缁�
+export const updateWmsOrderPurchaseDetails = (params?: any) => 
+	request({
+			url: Api.UpdateWmsOrderPurchaseDetails,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨPO鍗曟槑缁�
+export const pageWmsOrderPurchaseDetails = (params?: any) => 
+	request({
+			url: Api.PageWmsOrderPurchaseDetails,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨPO鍗曟槑缁� -- 甯﹀凡鍒涘缓asn鏁�
+export const pageWmsOrderPurchaseDetailsForRelatedAsn = (params?: any) => 
+	request({
+			url: Api.PageWmsOrderPurchaseDetailsForRelatedAsn,
+			method: 'post',
+			data: params,
+		});
+// 涓嶅垎椤垫煡璇O鍗曟槑缁�
+export const listWmsOrderPurchaseDetails = (params?: any) => 
+	request({
+			url: Api.ListWmsOrderPurchaseDetails,
+			method: 'get',
+			data: params,
+		});
+
+// 璇︽儏PO鍗曟槑缁�
+export const detailWmsOrderPurchaseDetails = (id: any) => 
+	request({
+			url: Api.DetailWmsOrderPurchaseDetails,
+			method: 'get',
+			data: { id },
+		});
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderDeliver.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderDeliver.ts
new file mode 100644
index 0000000..8231e80
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderDeliver.ts
@@ -0,0 +1,87 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsOrderDeliver = '/api/wmsOrderDeliver/add',
+  DeleteWmsOrderDeliver = '/api/wmsOrderDeliver/delete',
+  UpdateWmsOrderDeliver = '/api/wmsOrderDeliver/update',
+  PageWmsOrderDeliver = '/api/wmsOrderDeliver/page',
+  ListWmsOrderDeliver = '/api/wmsOrderDeliver/list',
+  DetailWmsOrderDeliver = '/api/wmsOrderDeliver/detail',
+  ImportExcelWmsOrderDeliver = '/api/wmsOrderDeliver/importExcel',
+  DownloadExcelTemplateWmsOrderDeliver = '/api/wmsOrderDeliver/downloadExcelTemplate',
+  CloseWmsOrderDeliver = '/api/WmsOrderDeliver/CloseOrder'
+}
+
+// 澧炲姞DO鍗�
+export const addWmsOrderDeliver = (params?: any) =>
+	request({
+		url: Api.AddWmsOrderDeliver,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎DO鍗�
+export const deleteWmsOrderDeliver = (params?: any) => 
+	request({
+			url: Api.DeleteWmsOrderDeliver,
+			method: 'post',
+			data: params
+		});
+		
+// 鍏抽棴DO鍗�
+export const closeWmsOrderDeliver = (params?: any) => 
+	request({
+			url: Api.CloseWmsOrderDeliver,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫DO鍗�
+export const updateWmsOrderDeliver = (params?: any) => 
+	request({
+			url: Api.UpdateWmsOrderDeliver,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆DO鍗�
+export const importExcelWmsOrderDeliver = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsOrderDeliver,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆DO鍗曟ā鏉�
+export const downloadExcelTemplateWmsOrderDeliver = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsOrderDeliver,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨDO鍗�
+export const pageWmsOrderDeliver = (params?: any) => 
+	request({
+			url: Api.PageWmsOrderDeliver,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇O鍗�
+export const listWmsOrderDeliver = (params?: any) => 
+	request({
+			url: Api.ListWmsOrderDeliver,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏DO鍗�
+export const detailWmsOrderDeliver = (id: any) => 
+	request({
+			url: Api.DetailWmsOrderDeliver,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderDeliverDetails.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderDeliverDetails.ts
new file mode 100644
index 0000000..7e66409
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderDeliverDetails.ts
@@ -0,0 +1,89 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsOrderDeliverDetails = '/api/wmsOrderDeliverDetails/add',
+  DeleteWmsOrderDeliverDetails = '/api/wmsOrderDeliverDetails/delete',
+  UpdateWmsOrderDeliverDetails = '/api/wmsOrderDeliverDetails/update',
+  PageWmsOrderDeliverDetails = '/api/wmsOrderDeliverDetails/page',
+  ListWmsOrderDeliverDetails = '/api/wmsOrderDeliverDetails/list',
+  DetailWmsOrderDeliverDetails = '/api/wmsOrderDeliverDetails/detail',
+  ImportExcelWmsOrderDeliverDetails = '/api/wmsOrderDeliverDetails/importExcel',
+  DownloadExcelTemplateWmsOrderDeliverDetails = '/api/wmsOrderDeliverDetails/downloadExcelTemplate',
+  PageWmsOrderDeliverDetailsWithXjd = '/api/wmsOrderDeliverDetails/pageForRelatedXjd',
+
+}
+
+// 澧炲姞DO鍗曟槑缁�
+export const addWmsOrderDeliverDetails = (params?: any) =>
+	request({
+		url: Api.AddWmsOrderDeliverDetails,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎DO鍗曟槑缁�
+export const deleteWmsOrderDeliverDetails = (params?: any) => 
+	request({
+			url: Api.DeleteWmsOrderDeliverDetails,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫DO鍗曟槑缁�
+export const updateWmsOrderDeliverDetails = (params?: any) => 
+	request({
+			url: Api.UpdateWmsOrderDeliverDetails,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆DO鍗曟槑缁�
+export const importExcelWmsOrderDeliverDetails = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsOrderDeliverDetails,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆DO鍗曟槑缁嗘ā鏉�
+export const downloadExcelTemplateWmsOrderDeliverDetails = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsOrderDeliverDetails,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨDO鍗曟槑缁�
+export const pageWmsOrderDeliverDetails = (params?: any) => 
+	request({
+			url: Api.PageWmsOrderDeliverDetails,
+			method: 'post',
+			data: params
+		});
+
+
+		// 鍒嗛〉鏌ヨDO鍗曟槑缁�
+export const pageWmsOrderDeliverDetailsWithXjd = (params?: any) => 
+request({
+		url: Api.PageWmsOrderDeliverDetailsWithXjd,
+		method: 'post',
+		data: params
+	});
+
+// 涓嶅垎椤垫煡璇O鍗曟槑缁�
+export const listWmsOrderDeliverDetails = (params?: any) => 
+	request({
+			url: Api.ListWmsOrderDeliverDetails,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏DO鍗曟槑缁�
+export const detailWmsOrderDeliverDetails = (id: any) => 
+	request({
+			url: Api.DetailWmsOrderDeliverDetails,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderSort.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderSort.ts
new file mode 100644
index 0000000..416d9b0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderSort.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsOrderSort = '/api/wmsOrderSort/add',
+  DeleteWmsOrderSort = '/api/wmsOrderSort/delete',
+  UpdateWmsOrderSort = '/api/wmsOrderSort/update',
+  PageWmsOrderSort = '/api/wmsOrderSort/page',
+  ListWmsOrderSort = '/api/wmsOrderSort/list',
+  DetailWmsOrderSort = '/api/wmsOrderSort/detail',
+  ImportExcelWmsOrderSort = '/api/wmsOrderSort/importExcel',
+  DownloadExcelTemplateWmsOrderSort = '/api/wmsOrderSort/downloadExcelTemplate',
+}
+
+// 澧炲姞娉㈡鍗�
+export const addWmsOrderSort = (params?: any) =>
+	request({
+		url: Api.AddWmsOrderSort,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎娉㈡鍗�
+export const deleteWmsOrderSort = (params?: any) => 
+	request({
+			url: Api.DeleteWmsOrderSort,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫娉㈡鍗�
+export const updateWmsOrderSort = (params?: any) => 
+	request({
+			url: Api.UpdateWmsOrderSort,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆娉㈡鍗�
+export const importExcelWmsOrderSort = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsOrderSort,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆娉㈡鍗曟ā鏉�
+export const downloadExcelTemplateWmsOrderSort = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsOrderSort,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ娉㈡鍗�
+export const pageWmsOrderSort = (params?: any) => 
+	request({
+			url: Api.PageWmsOrderSort,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈡尝娆″崟
+export const listWmsOrderSort = (params?: any) => 
+	request({
+			url: Api.ListWmsOrderSort,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏娉㈡鍗�
+export const detailWmsOrderSort = (id: any) => 
+	request({
+			url: Api.DetailWmsOrderSort,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderSortDetails.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderSortDetails.ts
new file mode 100644
index 0000000..2c36b8a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderSortDetails.ts
@@ -0,0 +1,140 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+	AddWmsOrderSortDetails = '/api/wmsOrderSortDetails/add',
+	DeleteWmsOrderSortDetails = '/api/wmsOrderSortDetails/delete',
+	UpdateWmsOrderSortDetails = '/api/wmsOrderSortDetails/update',
+	PageWmsOrderSortDetails = '/api/wmsOrderSortDetails/page',
+	ListWmsOrderSortDetails = '/api/wmsOrderSortDetails/list',
+	DetailWmsOrderSortDetails = '/api/wmsOrderSortDetails/detail',
+	ImportExcelWmsOrderSortDetails = '/api/wmsOrderSortDetails/importExcel',
+	DownloadExcelTemplateWmsOrderSortDetails = '/api/wmsOrderSortDetails/downloadExcelTemplate',
+	AddWmsOrderSortDetailsXf = '/api/WmsIssue/Issue',
+	AddWmsOrderMoveDetailsYp = '/api/WmsPredetermine/Predetermine',//棰勯厤
+	CancelWmsOrderMoveDetailsYp = '/api/WmsPredetermine/CancelPredetermine',//涓嬫灦鍗�-鍙栨秷棰勯厤
+	cancelWmsOrderMoveDetailsFp = '/api/WmsDispense/CancelDispenseForOrder',//涓嬫灦鍗�-鍙栨秷鍒嗛厤
+	AddWmsOrderSortDetailsFf = '/api/WmsSortDispense/SortDispense',//娉㈡鍒嗛厤
+	AddWmsOrderMoveDetailsFf = '/api/WmsDispense/Dispense',//鍒嗛厤/api/WmsIssue/MoveDispense
+	AddWmsYjxfDetails = '/api/WmsOrderSortDetails/CreateOrderAndIssue', //涓�閿笅鍙�
+
+}
+
+// 澧炲姞娉㈡鍗曟槑缁�
+export const addWmsOrderSortDetails = (params?: any) =>
+	request({
+		url: Api.AddWmsOrderSortDetails,
+		method: 'post',
+		data: params
+	});
+// 涓�閿笅鍙�
+export const addWmsYjxfDetails = (params?: any) =>
+	request({
+		url: Api.AddWmsYjxfDetails,
+		method: 'post',
+		data: params
+	});
+// 涓嬪彂
+export const addWmsOrderSortXiafaDetails = (params?: any) =>
+	request({
+		url: Api.AddWmsOrderSortDetailsXf,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬫灦鍗曢閰�
+export const addWmsOrderSortYpDetails = (params?: any) =>
+	request({
+		url: Api.AddWmsOrderMoveDetailsYp,
+		method: 'post',
+		data: params
+	});
+// 鍙栨秷涓嬫灦鍗曢閰�
+export const cancelWmsOrderMoveDetailsYp = (params?: any) =>
+	request({
+		url: Api.CancelWmsOrderMoveDetailsYp,
+		method: 'post',
+		data: params
+	});
+
+// 鍙栨秷涓嬫灦鍗曞垎閰�
+export const cancelWmsOrderMoveDetailsFp = (params?: any) =>
+request({
+	url: Api.cancelWmsOrderMoveDetailsFp,
+	method: 'post',
+	data: params
+});
+
+
+// 娉㈡鍒嗛厤
+export const addWmsOrderSortFenDetails = (params?: any) =>
+	request({
+		url: Api.AddWmsOrderSortDetailsFf,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬫灦鍗曞垎閰�
+export const addWmsOrderMoveFenDetails = (params?: any) =>
+	request({
+		url: Api.AddWmsOrderMoveDetailsFf,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎娉㈡鍗曟槑缁�
+export const deleteWmsOrderSortDetails = (params?: any) =>
+	request({
+		url: Api.DeleteWmsOrderSortDetails,
+		method: 'post',
+		data: params
+	});
+
+// 缂栬緫娉㈡鍗曟槑缁�
+export const updateWmsOrderSortDetails = (params?: any) =>
+	request({
+		url: Api.UpdateWmsOrderSortDetails,
+		method: 'post',
+		data: params
+	});
+
+// 瀵煎叆娉㈡鍗曟槑缁�
+export const importExcelWmsOrderSortDetails = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsOrderSortDetails,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆娉㈡鍗曟槑缁嗘ā鏉�
+export const downloadExcelTemplateWmsOrderSortDetails = (params?: any) =>
+	request({
+		url: Api.DownloadExcelTemplateWmsOrderSortDetails,
+		method: 'get',
+		data: params,
+		responseType: 'blob'
+	});
+
+
+// 鍒嗛〉鏌ヨ娉㈡鍗曟槑缁�
+export const pageWmsOrderSortDetails = (params?: any) =>
+	request({
+		url: Api.PageWmsOrderSortDetails,
+		method: 'post',
+		data: params
+	});
+
+// 涓嶅垎椤垫煡璇㈡尝娆″崟鏄庣粏
+export const listWmsOrderSortDetails = (params?: any) =>
+	request({
+		url: Api.ListWmsOrderSortDetails,
+		method: 'get',
+		data: params
+	});
+
+// 璇︽儏娉㈡鍗曟槑缁�
+export const detailWmsOrderSortDetails = (id: any) =>
+	request({
+		url: Api.DetailWmsOrderSortDetails,
+		method: 'get',
+		data: { id }
+	});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderSortTrans.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderSortTrans.ts
new file mode 100644
index 0000000..77a9d94
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrderDo/wmsOrderSortTrans.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsOrderSortTrans = '/api/wmsOrderSortTrans/add',
+  DeleteWmsOrderSortTrans = '/api/wmsOrderSortTrans/delete',
+  UpdateWmsOrderSortTrans = '/api/wmsOrderSortTrans/update',
+  PageWmsOrderSortTrans = '/api/wmsOrderSortTrans/page',
+  ListWmsOrderSortTrans = '/api/wmsOrderSortTrans/list',
+  DetailWmsOrderSortTrans = '/api/wmsOrderSortTrans/detail',
+  ImportExcelWmsOrderSortTrans = '/api/wmsOrderSortTrans/importExcel',
+  DownloadExcelTemplateWmsOrderSortTrans = '/api/wmsOrderSortTrans/downloadExcelTemplate',
+}
+
+// 澧炲姞娉㈡鍗曟搷浣滄槑缁�
+export const addWmsOrderSortTrans = (params?: any) =>
+	request({
+		url: Api.AddWmsOrderSortTrans,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎娉㈡鍗曟搷浣滄槑缁�
+export const deleteWmsOrderSortTrans = (params?: any) => 
+	request({
+			url: Api.DeleteWmsOrderSortTrans,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫娉㈡鍗曟搷浣滄槑缁�
+export const updateWmsOrderSortTrans = (params?: any) => 
+	request({
+			url: Api.UpdateWmsOrderSortTrans,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆娉㈡鍗曟搷浣滄槑缁�
+export const importExcelWmsOrderSortTrans = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsOrderSortTrans,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆娉㈡鍗曟搷浣滄槑缁嗘ā鏉�
+export const downloadExcelTemplateWmsOrderSortTrans = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsOrderSortTrans,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ娉㈡鍗曟搷浣滄槑缁�
+export const pageWmsOrderSortTrans = (params?: any) => 
+	request({
+			url: Api.PageWmsOrderSortTrans,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈡尝娆″崟鎿嶄綔鏄庣粏
+export const listWmsOrderSortTrans = (params?: any) => 
+	request({
+			url: Api.ListWmsOrderSortTrans,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏娉㈡鍗曟搷浣滄槑缁�
+export const detailWmsOrderSortTrans = (id: any) => 
+	request({
+			url: Api.DetailWmsOrderSortTrans,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsQC/wmsOrderQc.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsQC/wmsOrderQc.ts
new file mode 100644
index 0000000..29e8a62
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsQC/wmsOrderQc.ts
@@ -0,0 +1,75 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsQc = '/api/wmsOrderQc/add',
+  DeleteWmsQc = '/api/wmsOrderQc/delete',
+  UpdateWmsQc = '/api/wmsOrderQc/update',
+  PageWmsQc = '/api/wmsOrderQc/page',
+  ListWmsQc = '/api/wmsOrderQc/list',
+  DetailWmsQc = '/api/wmsOrderQc/detail',
+  ComfirmWmsQc = '/api/wmsOrderQc/ConfirmQc',
+  HandleConfirmQc = '/api/WmsOrderQc/HandleConfirmQc',
+
+  
+}
+// 鎵嬪伐-纭璐ㄦ鍗�
+export const handleConfirmQc = (params?: any) =>
+	request({
+		url: Api.HandleConfirmQc,
+		method: 'post',
+		data: params,
+	});
+// 澧炲姞璐ㄦ鍗�
+export const addWmsQc = (params?: any) =>
+	request({
+		url: Api.AddWmsQc,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎璐ㄦ鍗�
+export const deleteWmsQc = (params?: any) => 
+	request({
+			url: Api.DeleteWmsQc,
+			method: 'post',
+			data: params,
+		});
+
+// 缂栬緫璐ㄦ鍗�
+export const updateWmsQc = (params?: any) => 
+	request({
+			url: Api.UpdateWmsQc,
+			method: 'post',
+			data: params,
+		});
+
+// 鍒嗛〉鏌ヨ璐ㄦ鍗�
+export const pageWmsQc = (params?: any) => 
+	request({
+			url: Api.PageWmsQc,
+			method: 'post',
+			data: params,
+		});
+
+// 涓嶅垎椤垫煡璇㈣川妫�鍗�
+export const listWmsQc = (params?: any) => 
+	request({
+			url: Api.ListWmsQc,
+			method: 'post',
+			data: params,
+		});
+
+// 璇︽儏璐ㄦ鍗�
+export const detailWmsQc = (id: any) => 
+	request({
+			url: Api.DetailWmsQc,
+			method: 'get',
+			data: { id },
+		});
+
+// 纭璐ㄦ鍗�
+export const confirmWmsQc = (params?: any) =>
+	request({
+		url: Api.ComfirmWmsQc,
+		method: 'post',
+		data: params,
+	});
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsQC/wmsOrderQcDetails.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsQC/wmsOrderQcDetails.ts
new file mode 100644
index 0000000..fd796b5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsQC/wmsOrderQcDetails.ts
@@ -0,0 +1,66 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+	AddWmsQcDetails = '/api/wmsOrderQcDetails/add',
+	DeleteWmsQcDetails = '/api/wmsOrderQcDetails/delete',
+	UpdateWmsQcDetails = '/api/wmsOrderQcDetails/update',
+	PageWmsQcDetails = '/api/wmsOrderQcDetails/page',
+	ListWmsQcDetails = '/api/wmsOrderQcDetails/list',
+	DetailWmsQcDetails = '/api/wmsOrderQcDetails/detail',
+	PageWmsQcTransDetail = '/api/wmsOrderQc/wmsOrderQcTransDetail',
+}
+
+// 澧炲姞璐ㄦ鍗曟槑缁�
+export const addWmsQcDetails = (params?: any) =>
+	request({
+		url: Api.AddWmsQcDetails,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎璐ㄦ鍗曟槑缁�
+export const deleteWmsQcDetails = (params?: any) =>
+	request({
+		url: Api.DeleteWmsQcDetails,
+		method: 'post',
+		data: params,
+	});
+
+// 缂栬緫璐ㄦ鍗曟槑缁�
+export const updateWmsQcDetails = (params?: any) =>
+	request({
+		url: Api.UpdateWmsQcDetails,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒嗛〉鏌ヨ璐ㄦ鍗曟槑缁�
+export const pageWmsQcDetails = (params?: any) =>
+	request({
+		url: Api.PageWmsQcDetails,
+		method: 'post',
+		data: params,
+	});
+
+// 涓嶅垎椤垫煡璇㈣川妫�鍗曟槑缁�
+export const listWmsQcDetails = (params?: any) =>
+	request({
+		url: Api.ListWmsQcDetails,
+		method: 'post',
+		data: params,
+	});
+
+// 璇︽儏璐ㄦ鍗曟槑缁�
+export const detailWmsQcDetails = (id: any) =>
+	request({
+		url: Api.DetailWmsQcDetails,
+		method: 'get',
+		data: { id },
+	});
+
+// 鍒嗛〉鏌ヨ璐ㄦ鍗曟槑缁�
+export const pageWmsQcTransDetail = (params?: any) =>
+	request({
+		url: Api.PageWmsQcTransDetail,
+		method: 'get',
+		data: params,
+	});
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsStockQuan/wmsContainerPlace.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsStockQuan/wmsContainerPlace.ts
new file mode 100644
index 0000000..583d70e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsStockQuan/wmsContainerPlace.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsContainerPlace = '/api/wmsContainerPlace/add',
+  DeleteWmsContainerPlace = '/api/wmsContainerPlace/delete',
+  UpdateWmsContainerPlace = '/api/wmsContainerPlace/update',
+  PageWmsContainerPlace = '/api/wmsContainerPlace/page',
+  ListWmsContainerPlace = '/api/wmsContainerPlace/list',
+  DetailWmsContainerPlace = '/api/wmsContainerPlace/detail',
+  ImportExcelWmsContainerPlace = '/api/wmsContainerPlace/importExcel',
+  DownloadExcelTemplateWmsContainerPlace = '/api/wmsContainerPlace/downloadExcelTemplate',
+}
+
+// 澧炲姞瀹瑰櫒搴撲綅鍏崇郴
+export const addWmsContainerPlace = (params?: any) =>
+	request({
+		url: Api.AddWmsContainerPlace,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎瀹瑰櫒搴撲綅鍏崇郴
+export const deleteWmsContainerPlace = (params?: any) => 
+	request({
+			url: Api.DeleteWmsContainerPlace,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫瀹瑰櫒搴撲綅鍏崇郴
+export const updateWmsContainerPlace = (params?: any) => 
+	request({
+			url: Api.UpdateWmsContainerPlace,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆瀹瑰櫒搴撲綅鍏崇郴
+export const importExcelWmsContainerPlace = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsContainerPlace,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆瀹瑰櫒搴撲綅鍏崇郴妯℃澘
+export const downloadExcelTemplateWmsContainerPlace = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsContainerPlace,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ瀹瑰櫒搴撲綅鍏崇郴
+export const pageWmsContainerPlace = (params?: any) => 
+	request({
+			url: Api.PageWmsContainerPlace,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈠鍣ㄥ簱浣嶅叧绯�
+export const listWmsContainerPlace = (params?: any) => 
+	request({
+			url: Api.ListWmsContainerPlace,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏瀹瑰櫒搴撲綅鍏崇郴
+export const detailWmsContainerPlace = (id: any) => 
+	request({
+			url: Api.DetailWmsContainerPlace,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails.ts
new file mode 100644
index 0000000..27f3011
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsStockSnapshotDetails = '/api/wmsStockSnapshotDetails/add',
+  DeleteWmsStockSnapshotDetails = '/api/wmsStockSnapshotDetails/delete',
+  UpdateWmsStockSnapshotDetails = '/api/wmsStockSnapshotDetails/update',
+  PageWmsStockSnapshotDetails = '/api/wmsStockSnapshotDetails/page',
+  ListWmsStockSnapshotDetails = '/api/wmsStockSnapshotDetails/list',
+  DetailWmsStockSnapshotDetails = '/api/wmsStockSnapshotDetails/detail',
+  ImportExcelWmsStockSnapshotDetails = '/api/wmsStockSnapshotDetails/importExcel',
+  DownloadExcelTemplateWmsStockSnapshotDetails = '/api/wmsStockSnapshotDetails/downloadExcelTemplate',
+}
+
+// 澧炲姞搴撳瓨蹇収鏄庣鐞�
+export const addWmsStockSnapshotDetails = (params?: any) =>
+	request({
+		url: Api.AddWmsStockSnapshotDetails,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎搴撳瓨蹇収鏄庣鐞�
+export const deleteWmsStockSnapshotDetails = (params?: any) => 
+	request({
+			url: Api.DeleteWmsStockSnapshotDetails,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫搴撳瓨蹇収鏄庣鐞�
+export const updateWmsStockSnapshotDetails = (params?: any) => 
+	request({
+			url: Api.UpdateWmsStockSnapshotDetails,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆搴撳瓨蹇収鏄庣鐞�
+export const importExcelWmsStockSnapshotDetails = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsStockSnapshotDetails,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆搴撳瓨蹇収鏄庣鐞嗘ā鏉�
+export const downloadExcelTemplateWmsStockSnapshotDetails = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsStockSnapshotDetails,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ搴撳瓨蹇収鏄庣鐞�
+export const pageWmsStockSnapshotDetails = (params?: any) => 
+	request({
+			url: Api.PageWmsStockSnapshotDetails,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈠簱瀛樺揩鐓ф槑绠$悊
+export const listWmsStockSnapshotDetails = (params?: any) => 
+	request({
+			url: Api.ListWmsStockSnapshotDetails,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏搴撳瓨蹇収鏄庣鐞�
+export const detailWmsStockSnapshotDetails = (id: any) => 
+	request({
+			url: Api.DetailWmsStockSnapshotDetails,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystem/wmsSysHelpDoc.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystem/wmsSysHelpDoc.ts
new file mode 100644
index 0000000..beb667b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystem/wmsSysHelpDoc.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsSysHelpDoc = '/api/wmsSysHelpDoc/add',
+  DeleteWmsSysHelpDoc = '/api/wmsSysHelpDoc/delete',
+  UpdateWmsSysHelpDoc = '/api/wmsSysHelpDoc/update',
+  PageWmsSysHelpDoc = '/api/wmsSysHelpDoc/page',
+  ListWmsSysHelpDoc = '/api/wmsSysHelpDoc/list',
+  DetailWmsSysHelpDoc = '/api/wmsSysHelpDoc/detail',
+  ImportExcelWmsSysHelpDoc = '/api/wmsSysHelpDoc/importExcel',
+  DownloadExcelTemplateWmsSysHelpDoc = '/api/wmsSysHelpDoc/downloadExcelTemplate',
+}
+
+// 澧炲姞绯荤粺甯姪鏂囨。
+export const addWmsSysHelpDoc = (params?: any) =>
+	request({
+		url: Api.AddWmsSysHelpDoc,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎绯荤粺甯姪鏂囨。
+export const deleteWmsSysHelpDoc = (params?: any) => 
+	request({
+			url: Api.DeleteWmsSysHelpDoc,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫绯荤粺甯姪鏂囨。
+export const updateWmsSysHelpDoc = (params?: any) => 
+	request({
+			url: Api.UpdateWmsSysHelpDoc,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆绯荤粺甯姪鏂囨。
+export const importExcelWmsSysHelpDoc = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsSysHelpDoc,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆绯荤粺甯姪鏂囨。妯℃澘
+export const downloadExcelTemplateWmsSysHelpDoc = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsSysHelpDoc,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ绯荤粺甯姪鏂囨。
+export const pageWmsSysHelpDoc = (params?: any) => 
+	request({
+			url: Api.PageWmsSysHelpDoc,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈢郴缁熷府鍔╂枃妗�
+export const listWmsSysHelpDoc = (params?: any) => 
+	request({
+			url: Api.ListWmsSysHelpDoc,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏绯荤粺甯姪鏂囨。
+export const detailWmsSysHelpDoc = (id: any) => 
+	request({
+			url: Api.DetailWmsSysHelpDoc,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystem/wmsSysPdaMenu.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystem/wmsSysPdaMenu.ts
new file mode 100644
index 0000000..1c4f0ec
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystem/wmsSysPdaMenu.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsSysPdaMenu = '/api/wmsSysPdaMenu/add',
+  DeleteWmsSysPdaMenu = '/api/wmsSysPdaMenu/delete',
+  UpdateWmsSysPdaMenu = '/api/wmsSysPdaMenu/update',
+  PageWmsSysPdaMenu = '/api/wmsSysPdaMenu/page',
+  ListWmsSysPdaMenu = '/api/wmsSysPdaMenu/list',
+  DetailWmsSysPdaMenu = '/api/wmsSysPdaMenu/detail',
+  ImportExcelWmsSysPdaMenu = '/api/wmsSysPdaMenu/importExcel',
+  DownloadExcelTemplateWmsSysPdaMenu = '/api/wmsSysPdaMenu/downloadExcelTemplate',
+}
+
+// 澧炲姞Pda鑿滃崟绠$悊
+export const addWmsSysPdaMenu = (params?: any) =>
+	request({
+		url: Api.AddWmsSysPdaMenu,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎Pda鑿滃崟绠$悊
+export const deleteWmsSysPdaMenu = (params?: any) => 
+	request({
+			url: Api.DeleteWmsSysPdaMenu,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫Pda鑿滃崟绠$悊
+export const updateWmsSysPdaMenu = (params?: any) => 
+	request({
+			url: Api.UpdateWmsSysPdaMenu,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆Pda鑿滃崟绠$悊
+export const importExcelWmsSysPdaMenu = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsSysPdaMenu,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆Pda鑿滃崟绠$悊妯℃澘
+export const downloadExcelTemplateWmsSysPdaMenu = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsSysPdaMenu,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨPda鑿滃崟绠$悊
+export const pageWmsSysPdaMenu = (params?: any) => 
+	request({
+			url: Api.PageWmsSysPdaMenu,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇da鑿滃崟绠$悊
+export const listWmsSysPdaMenu = (params?: any) => 
+	request({
+			url: Api.ListWmsSysPdaMenu,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏Pda鑿滃崟绠$悊
+export const detailWmsSysPdaMenu = (id: any) => 
+	request({
+			url: Api.DetailWmsSysPdaMenu,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsConfigKbcard.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsConfigKbcard.ts
new file mode 100644
index 0000000..67a62c8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsConfigKbcard.ts
@@ -0,0 +1,87 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsConfigKbcard = '/api/wmsConfigKbcard/add',
+  DeleteWmsConfigKbcard = '/api/wmsConfigKbcard/delete',
+  UpdateWmsConfigKbcard = '/api/wmsConfigKbcard/update',
+  PageWmsConfigKbcard = '/api/wmsConfigKbcard/page',
+  ListWmsConfigKbcard = '/api/wmsConfigKbcard/list',
+  DetailWmsConfigKbcard = '/api/wmsConfigKbcard/detail',
+  ImportExcelWmsConfigKbcard = '/api/wmsConfigKbcard/importExcel',
+  DownloadExcelTemplateWmsConfigKbcard = '/api/wmsConfigKbcard/downloadExcelTemplate',
+  getPlaceByAreaCode = '/api/wmsConfigKbcard/getPlaceByAreaCode',
+}
+
+// 澧炲姞鐪嬫澘鍗¢厤缃�
+export const addWmsConfigKbcard = (params?: any) =>
+	request({
+		url: Api.AddWmsConfigKbcard,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鐪嬫澘鍗¢厤缃�
+export const deleteWmsConfigKbcard = (params?: any) => 
+	request({
+			url: Api.DeleteWmsConfigKbcard,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鐪嬫澘鍗¢厤缃�
+export const updateWmsConfigKbcard = (params?: any) => 
+	request({
+			url: Api.UpdateWmsConfigKbcard,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鐪嬫澘鍗¢厤缃�
+export const importExcelWmsConfigKbcard = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsConfigKbcard,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鐪嬫澘鍗¢厤缃ā鏉�
+export const downloadExcelTemplateWmsConfigKbcard = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsConfigKbcard,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鐪嬫澘鍗¢厤缃�
+export const pageWmsConfigKbcard = (params?: any) => 
+	request({
+			url: Api.PageWmsConfigKbcard,
+			method: 'get',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈢湅鏉垮崱閰嶇疆
+export const listWmsConfigKbcard = (params?: any) => 
+	request({
+			url: Api.ListWmsConfigKbcard,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鐪嬫澘鍗¢厤缃�
+export const detailWmsConfigKbcard = (id: any) => 
+	request({
+			url: Api.DetailWmsConfigKbcard,
+			method: 'get',
+			data: { id }
+		});
+// 鐩爣搴撲綅
+export const getPlaceByAreaCode = (AreaCode: any) => 
+	request({
+			url: Api.getPlaceByAreaCode,
+			method: 'get',
+			data: { AreaCode }
+		});
+
+	
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsConfigPrint.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsConfigPrint.ts
new file mode 100644
index 0000000..df66bd9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsConfigPrint.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsConfigPrint = '/api/wmsConfigPrint/add',
+  DeleteWmsConfigPrint = '/api/wmsConfigPrint/delete',
+  UpdateWmsConfigPrint = '/api/wmsConfigPrint/update',
+  PageWmsConfigPrint = '/api/wmsConfigPrint/page',
+  ListWmsConfigPrint = '/api/wmsConfigPrint/list',
+  DetailWmsConfigPrint = '/api/wmsConfigPrint/detail',
+  ImportExcelWmsConfigPrint = '/api/wmsConfigPrint/importExcel',
+  DownloadExcelTemplateWmsConfigPrint = '/api/wmsConfigPrint/downloadExcelTemplate',
+}
+
+// 澧炲姞鎵撳嵃閰嶇疆琛�
+export const addWmsConfigPrint = (params?: any) =>
+	request({
+		url: Api.AddWmsConfigPrint,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鎵撳嵃閰嶇疆琛�
+export const deleteWmsConfigPrint = (params?: any) => 
+	request({
+			url: Api.DeleteWmsConfigPrint,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鎵撳嵃閰嶇疆琛�
+export const updateWmsConfigPrint = (params?: any) => 
+	request({
+			url: Api.UpdateWmsConfigPrint,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鎵撳嵃閰嶇疆琛�
+export const importExcelWmsConfigPrint = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsConfigPrint,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鎵撳嵃閰嶇疆琛ㄦā鏉�
+export const downloadExcelTemplateWmsConfigPrint = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsConfigPrint,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鎵撳嵃閰嶇疆琛�
+export const pageWmsConfigPrint = (params?: any) => 
+	request({
+			url: Api.PageWmsConfigPrint,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈡墦鍗伴厤缃〃
+export const listWmsConfigPrint = (params?: any) => 
+	request({
+			url: Api.ListWmsConfigPrint,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鎵撳嵃閰嶇疆琛�
+export const detailWmsConfigPrint = (id: any) => 
+	request({
+			url: Api.DetailWmsConfigPrint,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsConfigUnshelveStrategy.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsConfigUnshelveStrategy.ts
new file mode 100644
index 0000000..7267c70
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsConfigUnshelveStrategy.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsConfigUnshelveStrategy = '/api/WmsConfigUnshelveStrategy/AddConfigUnshelveStrategy',
+  DeleteWmsConfigUnshelveStrategy = '/api/wmsConfigUnshelveStrategy/delete',
+  UpdateWmsConfigUnshelveStrategy = '/api/wmsConfigUnshelveStrategy/UpdateConfigUnshelveStrategy',
+  PageWmsConfigUnshelveStrategy = '/api/wmsConfigUnshelveStrategy/page',
+  ListWmsConfigUnshelveStrategy = '/api/wmsConfigUnshelveStrategy/list',
+  DetailWmsConfigUnshelveStrategy = '/api/wmsConfigUnshelveStrategy/QueryConfigUnshelveStrategyInfo',
+  ImportExcelWmsConfigUnshelveStrategy = '/api/wmsConfigUnshelveStrategy/importExcel',
+  DownloadExcelTemplateWmsConfigUnshelveStrategy = '/api/wmsConfigUnshelveStrategy/downloadExcelTemplate',
+}
+
+// 澧炲姞涓嬫灦绛栫暐
+export const addWmsConfigUnshelveStrategy = (params?: any) =>
+	request({
+		url: Api.AddWmsConfigUnshelveStrategy,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎涓嬫灦绛栫暐
+export const deleteWmsConfigUnshelveStrategy = (params?: any) => 
+	request({
+			url: Api.DeleteWmsConfigUnshelveStrategy,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫涓嬫灦绛栫暐
+export const updateWmsConfigUnshelveStrategy = (params?: any) => 
+	request({
+			url: Api.UpdateWmsConfigUnshelveStrategy,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆涓嬫灦绛栫暐
+export const importExcelWmsConfigUnshelveStrategy = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsConfigUnshelveStrategy,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆涓嬫灦绛栫暐妯℃澘
+export const downloadExcelTemplateWmsConfigUnshelveStrategy = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsConfigUnshelveStrategy,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ涓嬫灦绛栫暐
+export const pageWmsConfigUnshelveStrategy = (params?: any) => 
+	request({
+			url: Api.PageWmsConfigUnshelveStrategy,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇笅鏋剁瓥鐣�
+export const listWmsConfigUnshelveStrategy = (params?: any) => 
+	request({
+			url: Api.ListWmsConfigUnshelveStrategy,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏涓嬫灦绛栫暐
+export const detailWmsConfigUnshelveStrategy = (data: any) => 
+	request({
+			url: Api.DetailWmsConfigUnshelveStrategy,
+			method: 'get',
+			data: data 
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsNoCreateRule.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsNoCreateRule.ts
new file mode 100644
index 0000000..7e51c3a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsNoCreateRule.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsNoCreateRule = '/api/wmsNoCreateRule/add',
+  DeleteWmsNoCreateRule = '/api/wmsNoCreateRule/delete',
+  UpdateWmsNoCreateRule = '/api/wmsNoCreateRule/update',
+  PageWmsNoCreateRule = '/api/wmsNoCreateRule/page',
+  ListWmsNoCreateRule = '/api/wmsNoCreateRule/list',
+  DetailWmsNoCreateRule = '/api/wmsNoCreateRule/detail',
+  ImportExcelWmsNoCreateRule = '/api/wmsNoCreateRule/importExcel',
+  DownloadExcelTemplateWmsNoCreateRule = '/api/wmsNoCreateRule/downloadExcelTemplate',
+}
+
+// 澧炲姞鍗曞彿鐢熸垚瑙勫垯
+export const addWmsNoCreateRule = (params?: any) =>
+	request({
+		url: Api.AddWmsNoCreateRule,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鍗曞彿鐢熸垚瑙勫垯
+export const deleteWmsNoCreateRule = (params?: any) => 
+	request({
+			url: Api.DeleteWmsNoCreateRule,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鍗曞彿鐢熸垚瑙勫垯
+export const updateWmsNoCreateRule = (params?: any) => 
+	request({
+			url: Api.UpdateWmsNoCreateRule,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鍗曞彿鐢熸垚瑙勫垯
+export const importExcelWmsNoCreateRule = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsNoCreateRule,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鍗曞彿鐢熸垚瑙勫垯妯℃澘
+export const downloadExcelTemplateWmsNoCreateRule = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsNoCreateRule,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鍗曞彿鐢熸垚瑙勫垯
+export const pageWmsNoCreateRule = (params?: any) => 
+	request({
+			url: Api.PageWmsNoCreateRule,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈠崟鍙风敓鎴愯鍒�
+export const listWmsNoCreateRule = (params?: any) => 
+	request({
+			url: Api.ListWmsNoCreateRule,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鍗曞彿鐢熸垚瑙勫垯
+export const detailWmsNoCreateRule = (id: any) => 
+	request({
+			url: Api.DetailWmsNoCreateRule,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsSncodeCreateRule.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsSncodeCreateRule.ts
new file mode 100644
index 0000000..7284eae
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsSystemConfig/wmsSncodeCreateRule.ts
@@ -0,0 +1,96 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsSncodeCreateRule = '/api/wmsSncodeCreateRule/add',
+  DeleteWmsSncodeCreateRule = '/api/wmsSncodeCreateRule/delete',
+  UpdateWmsSncodeCreateRule = '/api/wmsSncodeCreateRule/update',
+  PageWmsSncodeCreateRule = '/api/wmsSncodeCreateRule/page',
+  ListWmsSncodeCreateRule = '/api/wmsSncodeCreateRule/list',
+  DetailWmsSncodeCreateRule = '/api/wmsSncodeCreateRule/detail',
+  ImportExcelWmsSncodeCreateRule = '/api/wmsSncodeCreateRule/importExcel',
+  DownloadExcelTemplateWmsSncodeCreateRule = '/api/wmsSncodeCreateRule/downloadExcelTemplate',
+}
+
+// 澧炲姞鏉$爜鐢熸垚瑙勫垯
+export const addWmsSncodeCreateRule = (params?: any) =>
+	request({
+		url: Api.AddWmsSncodeCreateRule,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鏉$爜鐢熸垚瑙勫垯
+export const deleteWmsSncodeCreateRule = (params?: any) => 
+	request({
+			url: Api.DeleteWmsSncodeCreateRule,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鏉$爜鐢熸垚瑙勫垯
+export const updateWmsSncodeCreateRule = (params?: any) => 
+	request({
+			url: Api.UpdateWmsSncodeCreateRule,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鏉$爜鐢熸垚瑙勫垯
+export const importExcelWmsSncodeCreateRule = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsSncodeCreateRule,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鏉$爜鐢熸垚瑙勫垯妯℃澘
+export const downloadExcelTemplateWmsSncodeCreateRule = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsSncodeCreateRule,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鏉$爜鐢熸垚瑙勫垯
+export const pageWmsSncodeCreateRule = (params?: any) => 
+	request({
+			url: Api.PageWmsSncodeCreateRule,
+			method: 'post',
+			data: params
+		});
+
+// 
+export const pageTableFields = (params?: any) => 
+	request({
+			url: "/api/sysCodeGenConfig/list",
+			method: 'get',
+			data: params
+		});
+// 涓嶅垎椤垫煡璇㈡潯鐮佺敓鎴愯鍒�
+export const listWmsSncodeCreateRule = (params?: any) => 
+	request({
+			url: Api.ListWmsSncodeCreateRule,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鏉$爜鐢熸垚瑙勫垯
+export const detailWmsSncodeCreateRule = (id: any) => 
+	request({
+			url: Api.DetailWmsSncodeCreateRule,
+			method: 'get',
+			data: { id }
+		});
+
+// 
+export const getAllTables = () => 
+	request({
+			url: "/api/sysCodeGen/page",
+			method: 'post',
+			data: { 
+				page:1,
+				pageSize:10000
+			 }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/inventoryWarning/inventoryWarning.ts b/LA24030_LuLiPackageLine_Web/src/api/main/inventoryWarning/inventoryWarning.ts
new file mode 100644
index 0000000..0942ac5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/inventoryWarning/inventoryWarning.ts
@@ -0,0 +1,70 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  wmsStockWarning = '/api/wmsStockWarning/page',
+  wmsStockPassMap = '/api/wmsStockPassMap/page',
+  wmsTakeGoodStats = '/api/wmsTakeGoodStats/page',
+  wmsHomePageQuery = '/api/wmsHomePage/wmsHomePageQuery',
+  wmsHomePlaceQuery = '/api/wmsHomePage/wmsHomePlaceQuery',  
+  wmsTransitionDiagramQuery = '/api/wmsHomePage/wmsTransitionDiagramQuery',  
+  historialStockPage = '/api/wmsStockSnapshot/historialStockPage',  //鍘嗗彶搴撳瓨
+  
+}
+
+
+
+// 鍒嗛〉鏌ヨ搴撳瓨棰勮
+export const wmsStockWarning = (params?: any) => 
+	request({
+			url: Api.wmsStockWarning,
+			method: 'get',
+			data: params
+		});
+
+// 鍑哄叆搴撴帹绉诲浘
+export const wmsStockPassMap = (params?: any) => 
+	request({
+			url: Api.wmsStockPassMap,
+			method: 'get',
+			data: params
+		});
+// 鍒嗛〉鏌ヨ鏀惰揣瀹屾垚鎯呭喌
+export const wmsTakeGoodStats = (params?: any) => 
+	request({
+			url: Api.wmsTakeGoodStats,
+			method: 'get',
+			data: params
+		});
+
+// 棣栭〉鍗曟嵁鏁�
+export const wmsHomePageQuery = (params?: any) => 
+	request({
+			url: Api.wmsHomePageQuery,
+			method: 'post',
+			data: params
+		});
+
+// 棣栭〉搴撲綅鍗犳瘮鏁�
+export const wmsHomePlaceQuery = (params?: any) => 
+	request({
+			url: Api.wmsHomePlaceQuery,
+			method: 'post',
+			data: params
+		});
+
+// 鏀惰揣鍙戣揣鎺ㄧЩ鍥�
+export const wmsTransitionDiagramQuery = (params?: any) => 
+	request({
+			url: Api.wmsTransitionDiagramQuery,
+			method: 'post',
+			data: params
+		});
+
+// 鍒嗛〉鏌ヨ搴撳瓨蹇収
+export const historialStockPage = (params?: any) => 
+	request({
+			url: Api.historialStockPage,
+			method: 'get',
+			data: params
+		});
+
+		
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/sysPadPower.ts b/LA24030_LuLiPackageLine_Web/src/api/main/sysPadPower.ts
new file mode 100644
index 0000000..104d186
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/sysPadPower.ts
@@ -0,0 +1,76 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+	AddSysPadPower = '/api/sysPadPower/add',
+	DeleteSysPadPower = '/api/sysPadPower/delete',
+	UpdateSysPadPower = '/api/sysPadPower/update',
+	PageSysPadPower = '/api/sysPadPower/page',
+	ListSysPadPower = '/api/sysPadPower/list',
+	ListSysPadPowerByRoleId = '/api/WmsSysPdaMenu/GetMenuListPda', ///api/sysMenu/listpda
+	BindRolePdaMenu = '/api/WmsSysPdaMenu/GrantPdaMenu', //sysMenu/bindRolePdaMenu
+	HelpDocRoleMenu = '/api/sysMenu/list' ///api/sysMenu/list
+}
+
+// 澧炲姞PDA鑿滃崟绠$悊
+export const addSysPadPower = (params?: any) =>
+	request({
+		url: Api.AddSysPadPower,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒犻櫎PDA鑿滃崟绠$悊
+export const deleteSysPadPower = (params?: any) =>
+	request({
+		url: Api.DeleteSysPadPower,
+		method: 'post',
+		data: params,
+	});
+
+// 缂栬緫PDA鑿滃崟绠$悊
+export const updateSysPadPower = (params?: any) =>
+	request({
+		url: Api.UpdateSysPadPower,
+		method: 'post',
+		data: params,
+	});
+
+// 鍒嗛〉鏌ヨPDA鑿滃崟绠$悊
+export const pageSysPadPower = (params?: any) =>
+	request({
+		url: Api.PageSysPadPower,
+		method: 'post',
+		data: params,
+	});
+
+// 鏌ヨPDA鑿滃崟鍒楄〃
+export const listSysPadPower = (params?: any) =>
+	request({
+		url: Api.ListSysPadPower,
+		method: 'get',
+		params
+	});
+
+// 鏍规嵁瑙掕壊Id鏌ヨPDA鑿滃崟鍒楄〃
+export const listSysPadPowerByRoleId = (params?: any) =>
+	request({
+		url: Api.ListSysPadPowerByRoleId,
+		method: 'get',
+		params
+	});
+
+// 鏍规嵁瑙掕壊 pda鑿滃崟缁戝畾
+export const bindRolePdaMenu = (params?: any) =>
+	request({
+		url: Api.BindRolePdaMenu,
+		method: 'post',
+		data: params
+	});
+
+
+
+export const helpDocRoleMenu = (params?: any) =>
+request({
+	url: Api.HelpDocRoleMenu,
+	method: 'get',
+	data: params
+});
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/api/menu/index.ts b/LA24030_LuLiPackageLine_Web/src/api/menu/index.ts
new file mode 100644
index 0000000..80a83ec
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/menu/index.ts
@@ -0,0 +1,30 @@
+import request from '/@/utils/request';
+
+/**
+ * 浠ヤ笅涓烘ā鎷熸帴鍙e湴鍧�锛実itee 鐨勪笉閫氾紝灏辨崲鑷繁鐨勭湡瀹炴帴鍙e湴鍧�
+ *
+ * 锛堜笉寤鸿鍐欐垚 request.post(xxx)锛屽洜涓鸿繖鏍� post 鏃讹紝鏃犳硶 params 涓� data 鍚屾椂浼犲弬锛�
+ *
+ * 鍚庣鎺у埗鑿滃崟妯℃嫙json锛岃矾寰勫湪 https://gitee.com/lyt-top/vue-next-admin-images/tree/master/menu
+ * 鍚庣鎺у埗璺敱锛宨sRequestRoutes 涓� true锛屽垯寮�鍚悗绔帶鍒惰矾鐢�
+ * @method getAdminMenu 鑾峰彇鍚庣鍔ㄦ�佽矾鐢辫彍鍗�(admin)
+ * @method getTestMenu 鑾峰彇鍚庣鍔ㄦ�佽矾鐢辫彍鍗�(test)
+ */
+export function useMenuApi() {
+	return {
+		getAdminMenu: (params?: object) => {
+			return request({
+				url: '/gitee/lyt-top/vue-next-admin-images/raw/master/menu/adminMenu.json',
+				method: 'get',
+				params,
+			});
+		},
+		getTestMenu: (params?: object) => {
+			return request({
+				url: '/gitee/lyt-top/vue-next-admin-images/raw/master/menu/testMenu.json',
+				method: 'get',
+				params,
+			});
+		},
+	};
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/api/system/admin.ts b/LA24030_LuLiPackageLine_Web/src/api/system/admin.ts
new file mode 100644
index 0000000..e5b7479
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/system/admin.ts
@@ -0,0 +1,19 @@
+import request from '/@/utils/request';
+enum Api {
+	DictTypeDataList = '/api/sysDictData/DataList',
+	AllDictList = '/api/sysDictType/AllDictList',
+}
+
+// 鏍规嵁瀛楀吀绫诲瀷缂栧彿鑾峰彇瀛楀吀鍊奸泦鍚�
+export const getDictDataList = (params?: any) =>
+	request({
+		url: `${Api.DictTypeDataList}/${params}`,
+		method: 'get',
+	});
+
+// 鑾峰彇鎵�鏈夊瓧鍏�
+export const getAllDictList = () =>
+	request({
+		url: `${Api.AllDictList}`,
+		method: 'get',
+	});
diff --git a/LA24030_LuLiPackageLine_Web/src/assets/bg.svg b/LA24030_LuLiPackageLine_Web/src/assets/bg.svg
new file mode 100644
index 0000000..89c2597
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/assets/bg.svg
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="1361px" height="609px" viewBox="0 0 1361 609" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
+    <title>Group 21</title>
+    <desc>Created with Sketch.</desc>
+    <defs></defs>
+    <g id="Ant-Design-Pro-3.0" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="璐︽埛瀵嗙爜鐧诲綍-鏍¢獙" transform="translate(-79.000000, -82.000000)">
+            <g id="Group-21" transform="translate(77.000000, 73.000000)">
+                <g id="Group-18" opacity="0.8" transform="translate(74.901416, 569.699158) rotate(-7.000000) translate(-74.901416, -569.699158) translate(4.901416, 525.199158)">
+                    <ellipse id="Oval-11" fill="#CFDAE6" opacity="0.25" cx="63.5748792" cy="32.468367" rx="21.7830479" ry="21.766008"></ellipse>
+                    <ellipse id="Oval-3" fill="#CFDAE6" opacity="0.599999964" cx="5.98746479" cy="13.8668601" rx="5.2173913" ry="5.21330997"></ellipse>
+                    <path d="M38.1354514,88.3520215 C43.8984227,88.3520215 48.570234,83.6838647 48.570234,77.9254015 C48.570234,72.1669383 43.8984227,67.4987816 38.1354514,67.4987816 C32.3724801,67.4987816 27.7006688,72.1669383 27.7006688,77.9254015 C27.7006688,83.6838647 32.3724801,88.3520215 38.1354514,88.3520215 Z" id="Oval-3-Copy" fill="#CFDAE6" opacity="0.45"></path>
+                    <path d="M64.2775582,33.1704963 L119.185836,16.5654915" id="Path-12" stroke="#CFDAE6" stroke-width="1.73913043" stroke-linecap="round" stroke-linejoin="round"></path>
+                    <path d="M42.1431708,26.5002681 L7.71190162,14.5640702" id="Path-16" stroke="#E0B4B7" stroke-width="0.702678964" opacity="0.7" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="1.405357899873153,2.108036953469981"></path>
+                    <path d="M63.9262187,33.521561 L43.6721326,69.3250951" id="Path-15" stroke="#BACAD9" stroke-width="0.702678964" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="1.405357899873153,2.108036953469981"></path>
+                    <g id="Group-17" transform="translate(126.850922, 13.543654) rotate(30.000000) translate(-126.850922, -13.543654) translate(117.285705, 4.381889)" fill="#CFDAE6">
+                        <ellipse id="Oval-4" opacity="0.45" cx="9.13482653" cy="9.12768076" rx="9.13482653" ry="9.12768076"></ellipse>
+                        <path d="M18.2696531,18.2553615 C18.2696531,13.2142826 14.1798519,9.12768076 9.13482653,9.12768076 C4.08980114,9.12768076 0,13.2142826 0,18.2553615 L18.2696531,18.2553615 Z" id="Oval-4" transform="translate(9.134827, 13.691521) scale(-1, -1) translate(-9.134827, -13.691521) "></path>
+                    </g>
+                </g>
+                <g id="Group-14" transform="translate(216.294700, 123.725600) rotate(-5.000000) translate(-216.294700, -123.725600) translate(106.294700, 35.225600)">
+                    <ellipse id="Oval-2" fill="#CFDAE6" opacity="0.25" cx="29.1176471" cy="29.1402439" rx="29.1176471" ry="29.1402439"></ellipse>
+                    <ellipse id="Oval-2" fill="#CFDAE6" opacity="0.3" cx="29.1176471" cy="29.1402439" rx="21.5686275" ry="21.5853659"></ellipse>
+                    <ellipse id="Oval-2-Copy" stroke="#CFDAE6" opacity="0.4" cx="179.019608" cy="138.146341" rx="23.7254902" ry="23.7439024"></ellipse>
+                    <ellipse id="Oval-2" fill="#BACAD9" opacity="0.5" cx="29.1176471" cy="29.1402439" rx="10.7843137" ry="10.7926829"></ellipse>
+                    <path d="M29.1176471,39.9329268 L29.1176471,18.347561 C23.1616351,18.347561 18.3333333,23.1796097 18.3333333,29.1402439 C18.3333333,35.1008781 23.1616351,39.9329268 29.1176471,39.9329268 Z" id="Oval-2" fill="#BACAD9"></path>
+                    <g id="Group-9" opacity="0.45" transform="translate(172.000000, 131.000000)" fill="#E6A1A6">
+                        <ellipse id="Oval-2-Copy-2" cx="7.01960784" cy="7.14634146" rx="6.47058824" ry="6.47560976"></ellipse>
+                        <path d="M0.549019608,13.6219512 C4.12262681,13.6219512 7.01960784,10.722722 7.01960784,7.14634146 C7.01960784,3.56996095 4.12262681,0.670731707 0.549019608,0.670731707 L0.549019608,13.6219512 Z" id="Oval-2-Copy-2" transform="translate(3.784314, 7.146341) scale(-1, 1) translate(-3.784314, -7.146341) "></path>
+                    </g>
+                    <ellipse id="Oval-10" fill="#CFDAE6" cx="218.382353" cy="138.685976" rx="1.61764706" ry="1.61890244"></ellipse>
+                    <ellipse id="Oval-10-Copy-2" fill="#E0B4B7" opacity="0.35" cx="179.558824" cy="175.381098" rx="1.61764706" ry="1.61890244"></ellipse>
+                    <ellipse id="Oval-10-Copy" fill="#E0B4B7" opacity="0.35" cx="180.098039" cy="102.530488" rx="2.15686275" ry="2.15853659"></ellipse>
+                    <path d="M28.9985381,29.9671598 L171.151018,132.876024" id="Path-11" stroke="#CFDAE6" opacity="0.8"></path>
+                </g>
+                <g id="Group-10" opacity="0.799999952" transform="translate(1054.100635, 36.659317) rotate(-11.000000) translate(-1054.100635, -36.659317) translate(1026.600635, 4.659317)">
+                    <ellipse id="Oval-7" stroke="#CFDAE6" stroke-width="0.941176471" cx="43.8135593" cy="32" rx="11.1864407" ry="11.2941176"></ellipse>
+                    <g id="Group-12" transform="translate(34.596774, 23.111111)" fill="#BACAD9">
+                        <ellipse id="Oval-7" opacity="0.45" cx="9.18534718" cy="8.88888889" rx="8.47457627" ry="8.55614973"></ellipse>
+                        <path d="M9.18534718,17.4450386 C13.8657264,17.4450386 17.6599235,13.6143199 17.6599235,8.88888889 C17.6599235,4.16345787 13.8657264,0.332739156 9.18534718,0.332739156 L9.18534718,17.4450386 Z" id="Oval-7"></path>
+                    </g>
+                    <path d="M34.6597385,24.809694 L5.71666084,4.76878945" id="Path-2" stroke="#CFDAE6" stroke-width="0.941176471"></path>
+                    <ellipse id="Oval" stroke="#CFDAE6" stroke-width="0.941176471" cx="3.26271186" cy="3.29411765" rx="3.26271186" ry="3.29411765"></ellipse>
+                    <ellipse id="Oval-Copy" fill="#F7E1AD" cx="2.79661017" cy="61.1764706" rx="2.79661017" ry="2.82352941"></ellipse>
+                    <path d="M34.6312443,39.2922712 L5.06366663,59.785082" id="Path-10" stroke="#CFDAE6" stroke-width="0.941176471"></path>
+                </g>
+                <g id="Group-19" opacity="0.33" transform="translate(1282.537219, 446.502867) rotate(-10.000000) translate(-1282.537219, -446.502867) translate(1142.537219, 327.502867)">
+                    <g id="Group-17" transform="translate(141.333539, 104.502742) rotate(275.000000) translate(-141.333539, -104.502742) translate(129.333539, 92.502742)" fill="#BACAD9">
+                        <circle id="Oval-4" opacity="0.45" cx="11.6666667" cy="11.6666667" r="11.6666667"></circle>
+                        <path d="M23.3333333,23.3333333 C23.3333333,16.8900113 18.1099887,11.6666667 11.6666667,11.6666667 C5.22334459,11.6666667 0,16.8900113 0,23.3333333 L23.3333333,23.3333333 Z" id="Oval-4" transform="translate(11.666667, 17.500000) scale(-1, -1) translate(-11.666667, -17.500000) "></path>
+                    </g>
+                    <circle id="Oval-5-Copy-6" fill="#CFDAE6" cx="201.833333" cy="87.5" r="5.83333333"></circle>
+                    <path d="M143.5,88.8126685 L155.070501,17.6038544" id="Path-17" stroke="#BACAD9" stroke-width="1.16666667"></path>
+                    <path d="M17.5,37.3333333 L127.466252,97.6449735" id="Path-18" stroke="#BACAD9" stroke-width="1.16666667"></path>
+                    <polyline id="Path-19" stroke="#CFDAE6" stroke-width="1.16666667" points="143.902597 120.302281 174.935455 231.571342 38.5 147.510847 126.366941 110.833333"></polyline>
+                    <path d="M159.833333,99.7453842 L195.416667,89.25" id="Path-20" stroke="#E0B4B7" stroke-width="1.16666667" opacity="0.6"></path>
+                    <path d="M205.333333,82.1372105 L238.719406,36.1666667" id="Path-24" stroke="#BACAD9" stroke-width="1.16666667"></path>
+                    <path d="M266.723424,132.231988 L207.083333,90.4166667" id="Path-25" stroke="#CFDAE6" stroke-width="1.16666667"></path>
+                    <circle id="Oval-5" fill="#C1D1E0" cx="156.916667" cy="8.75" r="8.75"></circle>
+                    <circle id="Oval-5-Copy-3" fill="#C1D1E0" cx="39.0833333" cy="148.75" r="5.25"></circle>
+                    <circle id="Oval-5-Copy-2" fill-opacity="0.6" fill="#D1DEED" cx="8.75" cy="33.25" r="8.75"></circle>
+                    <circle id="Oval-5-Copy-4" fill-opacity="0.6" fill="#D1DEED" cx="243.833333" cy="30.3333333" r="5.83333333"></circle>
+                    <circle id="Oval-5-Copy-5" fill="#E0B4B7" cx="175.583333" cy="232.75" r="5.25"></circle>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/assets/login-icon-two.svg b/LA24030_LuLiPackageLine_Web/src/assets/login-icon-two.svg
new file mode 100644
index 0000000..2f5e4b7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/assets/login-icon-two.svg
@@ -0,0 +1 @@
+<svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="880.16014" height="576.27222" viewBox="0 0 880.16014 576.27222" xmlns:xlink="http://www.w3.org/1999/xlink"><circle cx="435.55494" cy="71.26613" r="26.70075" fill="#fd6584"/><path d="M655.233,220.48677a13.2351,13.2351,0,0,0-11.17-9.29,1.08068,1.08068,0,0,0-.18,0,1.41827,1.41827,0,0,0-.22-.05c-8.94-1.16-18.88,1.66-25.57,7.8a23.95824,23.95824,0,0,0-5.83,8.04,12.917,12.917,0,0,0-10.83-5.28,13.1835,13.1835,0,0,0-11.8,9.51,1.52646,1.52646,0,0,0,.69,1.69,6.673,6.673,0,0,0,2.79,1.42c2.21.47,4.44.9,6.67,1.29q6.54,1.14,13.15,1.85,4.365.465,8.75.74c6.04.38,12.11.47,18.16.28,3-.1,5.88-.2,8.62-1.52a12.79759,12.79759,0,0,0,4.95-4.31A14.54772,14.54772,0,0,0,655.233,220.48677Z" transform="translate(-159.91993 -161.86389)" fill="#e6e6e6"/><path d="M600.30305,259.38679a13.65247,13.65247,0,0,0-.56-3.3,13.26025,13.26025,0,0,0-11.18-9.29.9647.9647,0,0,0-.17,0,1.88726,1.88726,0,0,0-.23-.05,33.19377,33.19377,0,0,0-14.69,1.51c-7.26,2.43-13.63,7.32995-16.7,14.33a12.9223,12.9223,0,0,0-10.84-5.28,13.18342,13.18342,0,0,0-11.8,9.51,1.55528,1.55528,0,0,0,.69,1.69,6.73289,6.73289,0,0,0,2.79,1.42c2.22.47,4.44.9,6.68,1.29q6.54,1.14,13.14,1.85a195.164,195.164,0,0,0,26.92,1.01995c2.99-.1,5.88-.2,8.62-1.51995a12.76973,12.76973,0,0,0,4.94-4.31A14.26452,14.26452,0,0,0,600.30305,259.38679Z" transform="translate(-159.91993 -161.86389)" fill="#e6e6e6"/><path d="M948.05243,583.37544a171.85535,171.85535,0,0,1-7.4426,53.77281c-.18624.63255-.40951,1.26511-.63278,1.89789H830.422a98.32226,98.32226,0,0,1,7.40558-22.32779c9.117-19.35079,24.00219-35.91062,38.70137-52.35869,20.24387-22.66281,40.004-45.13937,43.13-74.612a169.25824,169.25824,0,0,1,19.053,39.33415,46.23132,46.23132,0,0,0-15.29449,9.37752c-1.22809,1.15359-2.53068,2.82822-1.89789,4.42835.5953,1.33961,2.23268,1.78638,3.684,2.08392,3.498.66981,6.99606,1.33961,10.49409,1.9724,2.75373.558,5.5447,1.07909,8.33568,1.60013A182.72887,182.72887,0,0,1,948.05243,583.37544Z" transform="translate(-159.91993 -161.86389)" fill="#f2f2f2"/><path d="M1040.08007,571.31847c-17.56465,10.6801-28.72854,27.20268-37.84554,45.69742a46.7431,46.7431,0,0,0-21.2487,11.1639c-1.26534,1.15382-2.5677,2.82822-1.8979,4.42835.55829,1.33984,2.23292,1.78638,3.684,2.08392,3.46078.67,6.99606,1.33984,10.45684,1.9724-.33479.78155-.6698,1.60013-1.00459,2.38168H876.11967A164.17446,164.17446,0,0,1,893.57257,619.1c1.37686-1.37709,2.791-2.67945,4.24233-4.01907a173.65293,173.65293,0,0,1,50.23753-31.70553A176.73359,176.73359,0,0,1,1040.08007,571.31847Z" transform="translate(-159.91993 -161.86389)" fill="#f2f2f2"/><path d="M895.47047,639.04614H792.09268a167.93161,167.93161,0,0,1,.149-24.85824c4.13059-51.09359,31.92858-99.768,73.86769-129.24085-5.35868,19.09027-2.605,38.069,2.977,57.12206-.78133.26052-1.56288.48379-2.26994.78133a46.23567,46.23567,0,0,0-15.29448,9.37775c-1.22809,1.15359-2.53046,2.82822-1.8979,4.42835.55806,1.33961,2.23269,1.78615,3.684,2.08392,3.498.6698,6.99606,1.33961,10.45684,1.9724,2.791.558,5.582,1.07909,8.37292,1.63738,1.30237.22326,2.605.48356,3.90732.74407.186.44654.29777.85606.48379,1.26535,6.54952,18.0482,13.69435,36.24541,17.04361,54.74038a127.77792,127.77792,0,0,1,1.71188,14.02914C895.396,635.10158,895.47047,637.07375,895.47047,639.04614Z" transform="translate(-159.91993 -161.86389)" fill="#f2f2f2"/><path d="M332.05243,583.37544a171.85535,171.85535,0,0,1-7.4426,53.77281c-.18624.63255-.40951,1.26511-.63278,1.89789H214.422a98.32226,98.32226,0,0,1,7.40558-22.32779c9.117-19.35079,24.00219-35.91062,38.70137-52.35869,20.24387-22.66281,40.004-45.13937,43.13-74.612a169.25824,169.25824,0,0,1,19.053,39.33415,46.23132,46.23132,0,0,0-15.29449,9.37752c-1.22809,1.15359-2.53068,2.82822-1.89789,4.42835.5953,1.33961,2.23268,1.78638,3.684,2.08392,3.498.66981,6.99606,1.33961,10.49409,1.9724,2.75373.558,5.5447,1.07909,8.33568,1.60013A182.72887,182.72887,0,0,1,332.05243,583.37544Z" transform="translate(-159.91993 -161.86389)" fill="#f2f2f2"/><path d="M424.08007,571.31847c-17.56465,10.6801-28.72854,27.20268-37.84554,45.69742a46.7431,46.7431,0,0,0-21.2487,11.1639c-1.26534,1.15382-2.5677,2.82822-1.8979,4.42835.55829,1.33984,2.23292,1.78638,3.68405,2.08392,3.46078.67,6.99606,1.33984,10.45684,1.9724-.33479.78155-.6698,1.60013-1.00459,2.38168H260.11967A164.17446,164.17446,0,0,1,277.57257,619.1c1.37686-1.37709,2.791-2.67945,4.24233-4.01907a173.65293,173.65293,0,0,1,50.23753-31.70553A176.73359,176.73359,0,0,1,424.08007,571.31847Z" transform="translate(-159.91993 -161.86389)" fill="#f2f2f2"/><path d="M279.47047,639.04614H176.09268a167.93161,167.93161,0,0,1,.149-24.85824c4.13059-51.09359,31.92858-99.768,73.86769-129.24085-5.35868,19.09027-2.605,38.069,2.977,57.12206-.78133.26052-1.56288.48379-2.26994.78133a46.23567,46.23567,0,0,0-15.29448,9.37775c-1.22809,1.15359-2.53046,2.82822-1.8979,4.42835.55806,1.33961,2.23269,1.78615,3.684,2.08392,3.498.6698,6.99606,1.33961,10.45684,1.9724,2.791.558,5.582,1.07909,8.37292,1.63738,1.30237.22326,2.605.48356,3.90732.74407.186.44654.29777.85606.48379,1.26535,6.54952,18.0482,13.69435,36.24541,17.04361,54.74038a127.77792,127.77792,0,0,1,1.71188,14.02914C279.396,635.10158,279.47047,637.07375,279.47047,639.04614Z" transform="translate(-159.91993 -161.86389)" fill="#f2f2f2"/><path d="M664.3299,595.64392l92.37,8.2.99.09v-394.14q-.49494-.345-.99-.69a288.32258,288.32258,0,0,0-62.01-32.94l-4.72,65.1-.43,5.96-4.67,64.56-1.44,19.86005-18.93,261.7Z" transform="translate(-159.91993 -161.86389)" fill="#e6e6e6"/><path d="M435.89991,202.45392c-.66.42-1.32.84-1.98,1.28v400.2l1.98-.18,91.37-8.11-.17-2.3-18.93-261.7-1.44-19.86-4.67005-64.56-.43-5.96-4.95-68.27A287.68677,287.68677,0,0,0,435.89991,202.45392Z" transform="translate(-159.91993 -161.86389)" fill="#e6e6e6"/><path d="M433.91993,203.73389c-1.33.86-2.66,1.74-3.97,2.63v403.03c0,10.07,5.97,18.51,13.95,20.66a15.24855,15.24855,0,0,0,4,.53h296.8a15.11793,15.11793,0,0,0,3.99-.53,17.06,17.06,0,0,0,7.78-4.66,22.9187,22.9187,0,0,0,6.18-16v-396.02c-1.64-1.21-3.29-2.41-4.96-3.58q-.49494-.345-.99-.69v400.29a16.10772,16.10772,0,0,1-.46,3.85c-1.41,5.95-6.06,10.31-11.54,10.31h-296.8c-6.62,0-12-6.35-12-14.16v-406.94C435.23987,202.8739,434.5799,203.29388,433.91993,203.73389Z" transform="translate(-159.91993 -161.86389)" fill="#e6e6e6"/><rect x="273.00257" y="79.40401" width="326.75223" height="5.95901" fill="#e6e6e6"/><path d="M659.59992,165.2539c-1.98-.49-3.96-.95-5.96-1.38v161.81h5.96Z" transform="translate(-159.91993 -161.86389)" fill="#e6e6e6"/><path d="M538.95991,161.86389c-1.99.37-3.98.75-5.96,1.16v162.66h5.96Z" transform="translate(-159.91993 -161.86389)" fill="#e6e6e6"/><path d="M368.85993,620.15387a26.71127,26.71127,0,0,0,1.93,9.98,25.54045,25.54045,0,0,0,1.75,3.56,27.096,27.096,0,0,0,3.02,4.18,26.7604,26.7604,0,0,0,20.12,9.11h391.31a26.82,26.82,0,0,0,0-53.64h-391.31A26.84644,26.84644,0,0,0,368.85993,620.15387Z" transform="translate(-159.91993 -161.86389)" fill="#e6e6e6"/><rect x="432.9225" y="311.78281" width="324.76589" height="19.86336" transform="translate(1030.69096 481.5651) rotate(-180)" fill="#e6e6e6"/><path d="M581.40109,305.82381h27.8087a0,0,0,0,1,0,0v0A10.92484,10.92484,0,0,1,598.285,316.74865h-5.959a10.92484,10.92484,0,0,1-10.92484-10.92484v0A0,0,0,0,1,581.40109,305.82381Z" transform="translate(1030.69096 460.70857) rotate(-180)" fill="#e6e6e6"/><path d="M159.91993,635.47388a289.004,289.004,0,0,0,28.12,28.95h806.58a289.004,289.004,0,0,0,28.12-28.95Z" transform="translate(-159.91993 -161.86389)" fill="#3f3d56"/><path d="M556.60993,538.66388v102.56h71.85v-102.56a3.448,3.448,0,0,0-2.43-3.3,3.17457,3.17457,0,0,0-1.03-.16H560.0799A3.46327,3.46327,0,0,0,556.60993,538.66388Zm28.04,35.24a7.67034,7.67034,0,0,1,15.34,0v11.9a7.6701,7.6701,0,0,1-15.34,0Z" transform="translate(-159.91993 -161.86389)" fill="#2f2e41"/><path d="M556.39,637.94391v9.89a1.94622,1.94622,0,0,0,1.93,1.94h68.43a1.93971,1.93971,0,0,0,1.93-1.94v-9.89Z" transform="translate(-159.91993 -161.86389)" fill="#3f3d56"/><path d="M443.5799,384.14392v187.26a9.00714,9.00714,0,0,0,9,9h277.5a9.0071,9.0071,0,0,0,9-9V384.14392a9.01147,9.01147,0,0,0-9-8.99h-277.5A9.01151,9.01151,0,0,0,443.5799,384.14392Z" transform="translate(-159.91993 -161.86389)" fill="#3f3d56"/><path d="M450.08991,386.47388v182.62a4.81834,4.81834,0,0,0,4.81,4.81h272.87a4.81829,4.81829,0,0,0,4.81-4.81v-182.62a4.82046,4.82046,0,0,0-4.81-4.82h-272.87A4.82051,4.82051,0,0,0,450.08991,386.47388Z" transform="translate(-159.91993 -161.86389)" fill="#f50057"/><path d="M505.72993,652.10388a2.94839,2.94839,0,0,0,2.32,1.11H670.39a2.98724,2.98724,0,0,0,2.92-3.6l-2.52-11.97a2.99262,2.99262,0,0,0-1.86-2.17,2.89451,2.89451,0,0,0-1.06-.2h-157.31a2.89422,2.89422,0,0,0-1.06.2,2.99237,2.99237,0,0,0-1.86,2.17l-2.52,11.97A2.98494,2.98494,0,0,0,505.72993,652.10388Z" transform="translate(-159.91993 -161.86389)" fill="#2f2e41"/><rect x="661.71693" y="637.42968" width="5" height="3" rx="0.48819" transform="translate(1168.51393 1115.99546) rotate(-180)" fill="#3f3d56"/><rect x="651.71693" y="637.42968" width="5" height="3" rx="0.48819" transform="translate(1148.51393 1115.99546) rotate(-180)" fill="#3f3d56"/><rect x="641.71693" y="637.42968" width="5" height="3" rx="0.48819" transform="translate(1128.51393 1115.99546) rotate(-180)" fill="#3f3d56"/><rect x="631.71693" y="637.42968" width="5" height="3" rx="0.48819" transform="translate(1108.51393 1115.99546) rotate(-180)" fill="#3f3d56"/><rect x="621.71693" y="637.42968" width="5" height="3" rx="0.48819" transform="translate(1088.51393 1115.99546) rotate(-180)" fill="#3f3d56"/><rect x="611.71693" y="637.42968" width="5" height="3" rx="0.48819" transform="translate(1068.51393 1115.99546) rotate(-180)" fill="#3f3d56"/><rect x="601.71693" y="637.42968" width="5" height="3" rx="0.48819" transform="translate(1048.51393 1115.99546) rotate(-180)" fill="#3f3d56"/><rect x="591.71693" y="637.42968" width="5" height="3" rx="0.48819" transform="translate(1028.51393 1115.99546) rotate(-180)" fill="#3f3d56"/><rect x="581.71693" y="637.42968" width="5" height="3" rx="0.48819" transform="translate(1008.51393 1115.99546) rotate(-180)" fill="#3f3d56"/><rect x="571.71693" y="637.42968" width="5" height="3" rx="0.48819" transform="translate(988.51393 1115.99546) rotate(-180)" fill="#3f3d56"/><rect x="561.71693" y="637.42968" width="5" height="3" rx="0.48819" transform="translate(968.51393 1115.99546) rotate(-180)" fill="#3f3d56"/><rect x="551.71693" y="637.42968" width="5" height="3" rx="0.48819" transform="translate(948.51393 1115.99546) rotate(-180)" fill="#3f3d56"/><rect x="541.71693" y="637.42968" width="5" height="3" rx="0.48819" transform="translate(928.51393 1115.99546) rotate(-180)" fill="#3f3d56"/><rect x="531.71693" y="637.42968" width="5" height="3" rx="0.48819" transform="translate(908.51393 1115.99546) rotate(-180)" fill="#3f3d56"/><rect x="521.71693" y="637.42968" width="5" height="3" rx="0.48819" transform="translate(888.51393 1115.99546) rotate(-180)" fill="#3f3d56"/><rect x="511.71693" y="637.42968" width="5" height="3" rx="0.48819" transform="translate(868.51393 1115.99546) rotate(-180)" fill="#3f3d56"/><rect x="661.83509" y="642.42968" width="5" height="3" rx="0.48819" transform="translate(1168.75026 1125.99546) rotate(-180)" fill="#3f3d56"/><rect x="651.83509" y="642.42968" width="5" height="3" rx="0.48819" transform="translate(1148.75026 1125.99546) rotate(-180)" fill="#3f3d56"/><rect x="641.83509" y="642.42968" width="5" height="3" rx="0.48819" transform="translate(1128.75026 1125.99546) rotate(-180)" fill="#3f3d56"/><rect x="631.83509" y="642.42968" width="5" height="3" rx="0.48819" transform="translate(1108.75026 1125.99546) rotate(-180)" fill="#3f3d56"/><rect x="621.83509" y="642.42968" width="5" height="3" rx="0.48819" transform="translate(1088.75026 1125.99546) rotate(-180)" fill="#3f3d56"/><rect x="611.83509" y="642.42968" width="5" height="3" rx="0.48819" transform="translate(1068.75026 1125.99546) rotate(-180)" fill="#3f3d56"/><rect x="601.83509" y="642.42968" width="5" height="3" rx="0.48819" transform="translate(1048.75026 1125.99546) rotate(-180)" fill="#3f3d56"/><rect x="591.83509" y="642.42968" width="5" height="3" rx="0.48819" transform="translate(1028.75026 1125.99546) rotate(-180)" fill="#3f3d56"/><rect x="581.83509" y="642.42968" width="5" height="3" rx="0.48819" transform="translate(1008.75026 1125.99546) rotate(-180)" fill="#3f3d56"/><rect x="571.83509" y="642.42968" width="5" height="3" rx="0.48819" transform="translate(988.75026 1125.99546) rotate(-180)" fill="#3f3d56"/><rect x="561.83509" y="642.42968" width="5" height="3" rx="0.48819" transform="translate(968.75026 1125.99546) rotate(-180)" fill="#3f3d56"/><rect x="551.83509" y="642.42968" width="5" height="3" rx="0.48819" transform="translate(948.75026 1125.99546) rotate(-180)" fill="#3f3d56"/><rect x="541.83509" y="642.42968" width="5" height="3" rx="0.48819" transform="translate(928.75026 1125.99546) rotate(-180)" fill="#3f3d56"/><rect x="531.83509" y="642.42968" width="5" height="3" rx="0.48819" transform="translate(908.75026 1125.99546) rotate(-180)" fill="#3f3d56"/><rect x="521.83509" y="642.42968" width="5" height="3" rx="0.48819" transform="translate(888.75026 1125.99546) rotate(-180)" fill="#3f3d56"/><rect x="511.83509" y="642.42968" width="5" height="3" rx="0.48819" transform="translate(868.75026 1125.99546) rotate(-180)" fill="#3f3d56"/><rect x="578.83509" y="648.42968" width="40" height="3" rx="0.48819" transform="translate(1037.75026 1137.99546) rotate(-180)" fill="#3f3d56"/><path d="M468.6118,406.8106H723.93516a1.01559,1.01559,0,0,0,0-2.03069H468.6118a1.01559,1.01559,0,0,0,0,2.03069Z" transform="translate(-159.91993 -161.86389)" fill="#3f3d56"/><ellipse cx="546.63504" cy="231.64882" rx="5.95043" ry="6.08304" fill="#3f3d56"/><ellipse cx="526.07902" cy="231.64882" rx="5.95043" ry="6.08304" fill="#3f3d56"/><ellipse cx="505.523" cy="231.64882" rx="5.95043" ry="6.08304" fill="#3f3d56"/><path d="M479.89991,390.04388a1.0948,1.0948,0,0,0,1.09,1.1h14.6a1.1053,1.1053,0,0,0,0-2.21h-14.6A1.1034,1.1034,0,0,0,479.89991,390.04388Z" transform="translate(-159.91993 -161.86389)" fill="#3f3d56"/><path d="M479.89991,394.19391a1.09475,1.09475,0,0,0,1.09,1.1h14.6a1.10527,1.10527,0,0,0,0-2.21h-14.6A1.1034,1.1034,0,0,0,479.89991,394.19391Z" transform="translate(-159.91993 -161.86389)" fill="#3f3d56"/><path d="M479.89991,398.33392a1.1034,1.1034,0,0,0,1.09,1.11h14.6a1.1053,1.1053,0,0,0,0-2.21h-14.6A1.09476,1.09476,0,0,0,479.89991,398.33392Z" transform="translate(-159.91993 -161.86389)" fill="#3f3d56"/><rect x="316.36599" y="268.5433" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="376.36599" y="268.5433" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="393.36599" y="268.5433" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="332.68618" y="268.06314" width="38.3657" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="412.68618" y="268.06314" width="38.3657" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="332.36599" y="281.5433" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="392.36599" y="281.5433" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="409.36599" y="281.5433" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="348.68618" y="281.06314" width="38.3657" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="428.68618" y="281.06314" width="38.3657" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="348.36599" y="294.5433" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="408.36599" y="294.5433" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="425.36599" y="294.5433" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="364.68618" y="294.06314" width="38.3657" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="444.68618" y="294.06314" width="38.3657" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="364.36599" y="307.5433" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="424.36599" y="307.5433" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="441.36599" y="307.5433" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="380.68618" y="307.06314" width="38.3657" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="376.36599" y="359.23682" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="393.36599" y="359.23682" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="412.68618" y="359.71699" width="38.3657" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="316.36599" y="359.23682" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="332.68618" y="359.71699" width="38.3657" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="332.36599" y="346.23682" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="392.36599" y="346.23682" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="409.36599" y="346.23682" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="348.68618" y="346.71699" width="38.3657" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="348.36599" y="333.23682" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="408.36599" y="333.23682" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="425.36599" y="333.23682" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="364.68618" y="333.71699" width="38.3657" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="364.36599" y="320.23682" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="424.36599" y="320.23682" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="441.36599" y="320.23682" width="11.00609" height="5.75992" rx="2.87996" fill="#e6e6e6"/><rect x="380.68618" y="320.71699" width="38.3657" height="5.75992" rx="2.87996" fill="#e6e6e6"/><path d="M509.83187,707.8161c-.22.11005-.44.22-.66.32q-2.085,1.035-4.2,2.04-6.33,3.015-12.82,5.73a285.48273,285.48273,0,0,1-34.97,12.03c-2-12.47-3.94-41.88-5.8-63.51-.35-4.07-.7-7.86005-1.05-11.21a97.15525,97.15525,0,0,0-1.89-13.08,4.35915,4.35915,0,0,0-.39-.97c.19,1.73.39,6.89.58,14.05.1,3.35.19,7.14.29,11.21.47,20.82.96,49.15,1.45,65.28-1.39.34-2.79.68-4.19,1-.88.21-1.77.41-2.66.6-1.08.24-2.16.48-3.24.69995q-1.695.36009-3.39.69a290.07234,290.07234,0,0,1-56.06,5.44c-1.25,0-2.49-.01-3.74-.02-.38,0-.76-.01-1.15-.02-1.1-.02-2.24-.04-3.4-.07a288.5911,288.5911,0,0,1-65.84-9.49l.87-64.11.15-11.21.06-4.25a15.1823,15.1823,0,0,0-.88,4.25c-.35,2.73-.71,6.6-1.07,11.21-1.37,17.76-2.78,46.41-4.24,62.71-17.29-4.92-29.93-9.41-45.73-17.31-.61005-.3-1.23-.61-1.84-.92.11-.77.23-1.54.34-2.33,1.79-12.44-.32-28.63,1.66-42.15,1.51-10.43,3.07-20.45,4.64-28.95,1.9-10.23,3.82995-18.27,5.74-22.18,2.2-4.51,4.4-8.95,6.53-13.2q1.38006-2.745,2.71-5.39c.48-.95.96-1.89,1.43-2.81,2.14-4.19,4.16-8.06,6.01-11.49,1.3-2.41,2.5-4.59,3.6-6.5,1.29-2.25,2.43-4.11,3.37-5.52a55.3059,55.3059,0,0,1,29.28-22.21l.3-.08.29.12.32995.15,19.06-6.97,8.51-20.49,43.71-2.69,7.06,5.37,3.61,2.75,3.85,2.93,7.08,5.39,2.01.62,2.99.92,20.45,6.28.21-.09.3.08a55.16791,55.16791,0,0,1,27.36,19.5c.68.88,1.31,1.79,1.92,2.71,1.66,2.46,3.9,6.35,6.54,11.23,1.09,2.01,2.24,4.19,3.45,6.5.73,1.39,7.03,21.05,13.16,41.13,5.73,18.8,11.31,37.97,12.04,42.89.13.91.27,1.82995.4,2.74.83,5.69,1.65,11.42,2.44,17.01,1.17,8.29,2.31,16.29,3.4,23.44C509.81185,707.68616,509.82186,707.74616,509.83187,707.8161Z" transform="translate(-159.91993 -161.86389)" fill="#3f3d56"/><polygon points="303.59 473.566 295.093 440.774 287.59 469.07 303.59 473.566" opacity="0.2"/><path d="M175.74923,635.04964a6.41621,6.41621,0,0,0,6.18311,4.331l26.49182-.68178a6.32847,6.32847,0,0,0,5.98085-4.657l3.74889-40.08722a9.794,9.794,0,0,0,4.23792.87079,9.66133,9.66133,0,0,0-.48489-19.31658,8.18393,8.18393,0,0,0-1.73618.18056,6.54767,6.54767,0,0,0-4.87405-2.103l-40.75052,1.05229a5.85418,5.85418,0,0,0-1.00519.1248,6.36455,6.36455,0,0,0-4.87318,8.26464Zm43.17346-43.81684,2.66763-9.55274a6.50638,6.50638,0,0,0,.02037-3.37458c.12944-.00034.24363-.06168.37306-.062a6.91049,6.91049,0,0,1,.32358,13.81714A6.50523,6.50523,0,0,1,218.92269,591.2328Z" transform="translate(-159.91993 -161.86389)" fill="#2f2e41"/><path d="M173.541,574.76349c.86818,4.96412,10.62909,8.45388,22.36585,7.8473,10.79272-.49726,19.61746-4.287,21.23421-8.77851a6.025,6.025,0,0,0-1.84435-.24588l-40.75052,1.05229A5.85418,5.85418,0,0,0,173.541,574.76349Z" transform="translate(-159.91993 -161.86389)" fill="#3f3d56"/><path d="M198.05786,613.02141a.49675.49675,0,0,0,.15092-.06642l5.75315-3.76566a.49923.49923,0,0,0,.00032-.83621l-5.97979-3.91667a.49972.49972,0,1,0-.54792.83585l5.34091,3.49818-5.114,3.34794a.49991.49991,0,0,0,.39637.903Z" transform="translate(-159.91993 -161.86389)" fill="#f50057"/><path d="M188.97111,613.44045a.5.5,0,0,0,.12607-.91842l-5.30305-3.04034,5.1256-3.80723a.49963.49963,0,1,0-.596-.80208l-5.73863,4.26265a.49951.49951,0,0,0,.04918.83476l5.96526,3.41968A.49965.49965,0,0,0,188.97111,613.44045Z" transform="translate(-159.91993 -161.86389)" fill="#f50057"/><path d="M197.48564,616.32142a.482.482,0,0,0,.137-.05785.49976.49976,0,0,0,.16751-.68714l-8.15548-13.40836a.50026.50026,0,0,0-.85441.52058L196.9357,616.097A.50033.50033,0,0,0,197.48564,616.32142Z" transform="translate(-159.91993 -161.86389)" fill="#f50057"/><path d="M945.069,708.90387c-.61.31-1.23.62-1.84.92-15.8,7.9-28.44,12.39-45.73,17.31-1.46-16.3-2.87-44.95-4.24-62.71-.36-4.61-.72-8.48-1.07-11.21a15.18215,15.18215,0,0,0-.88-4.25l.06,4.25.15,11.21.87,64.11a288.5879,288.5879,0,0,1-65.84,9.49c-1.16.03-2.3.05-3.4.07-.39.01-.77.02-1.15.02-1.25.01-2.49.02-3.74.02a289.2711,289.2711,0,0,1-69.54-8.43c.49-16.13.98-44.46,1.44995-65.28.1-4.07.19-7.86.29-11.21.19-7.16.39-12.32.58-14.05a4.36163,4.36163,0,0,0-.39.97,97.15388,97.15388,0,0,0-1.89,13.08c-.35,3.35-.7,7.14-1.05,11.21-1.86,21.63-3.8,51.04-5.8,63.51a285.47262,285.47262,0,0,1-34.97-12.03q-9-3.75-17.68-8.09c1.1-7.2,2.25-15.27,3.43-23.64.92-6.49,1.87-13.16,2.84-19.75,1.5-10.18,52.46-120.11,64.47-123.96l.3-.08.21.09,20.45-6.28,2.99-.92,2.01-.62,7.08-5.39,3.85-2.93,3.61-2.75,7.06-5.37,43.71,2.69,8.51,20.49,19.06,6.97.33-.15.29-.12.3.08a55.306,55.306,0,0,1,29.28,22.21c.94,1.41,2.08,3.27,3.37,5.52,1.1,1.91,2.3,4.09,3.6,6.5,1.85,3.43005,3.87,7.30005,6.01,11.49.47.92.95,1.86,1.43,2.81q1.335,2.63993,2.71,5.38995c2.13,4.25,4.33,8.69,6.53,13.2,1.91,3.91,3.84,11.95,5.74,22.18,1.57,8.5,3.13,18.52,4.64,28.95,1.98,13.52-.13,29.71,1.66,42.15C944.83905,707.36389,944.95905,708.13391,945.069,708.90387Z" transform="translate(-159.91993 -161.86389)" fill="#3f3d56"/><circle cx="656.95415" cy="296.15827" r="50.83645" fill="#ffb6b6"/><polygon points="575.659 473.566 584.156 440.774 591.659 469.07 575.659 473.566" opacity="0.2"/><path d="M961.689,614.0639c-3.04,41.88.11,60.32-16.67,94.85a286.15952,286.15952,0,0,1-47.52,18.22q-2.55.72-5.11,1.4a288.5879,288.5879,0,0,1-65.84,9.49c-1.16.03-2.3.05-3.4.07-.39.01-.77.02-1.15.02-1.25.01-2.49.02-3.74.02a289.2711,289.2711,0,0,1-69.54-8.43q-3.42-.84-6.81-1.77a285.47262,285.47262,0,0,1-34.97-12.03q-9-3.75-17.68-8.09c-1.31-.66-2.62-1.32-3.91-2-6.63-11.66-10.4-25.84-10.48-42.88C679.45905,633.57391,951.549,588.7439,961.689,614.0639Z" transform="translate(-159.91993 -161.86389)" fill="#2f2e41"/><path d="M961.68115,621.23608c.15528-2.59271.32886-5.27093.53132-8.05987-10.14-25.32-282.23,19.51-286.82,48.87.01263,2.69184.12774,5.30414.32129,7.85456C686.82935,640.92248,945.31848,598.31445,961.68115,621.23608Z" transform="translate(-159.91993 -161.86389)" opacity="0.2"/><path d="M668.10237,616.03915,690.436,604.87234,671.8246,554.62155l-4.90493-25.342a19.16137,19.16137,0,0,0-31.2822-10.90731h0a19.16136,19.16136,0,0,0-2.4925,26.51833l18.20718,22.75891Z" transform="translate(-159.91993 -161.86389)" fill="#ffb6b6"/><path d="M690.436,595.56664l-29.77821,14.889,22.59854,70.80908A30.97684,30.97684,0,0,0,705.592,701.98112h0a30.97683,30.97683,0,0,0,33.73744-14.197l59.92487-102.71393a31.62026,31.62026,0,0,0-10.19564-42.982h0a31.62045,31.62045,0,0,0-45.29614,12.76511l-36.576,77.93632Z" transform="translate(-159.91993 -161.86389)" fill="#3f3d56"/><circle cx="209.50762" cy="287.55168" r="55.93503" fill="#a0616a"/><path d="M314.16422,410.86989C318.71215,404.74006,325.249,400.382,330.249,394.615c2.74344-3.16426,5.02141-6.74951,8.10566-9.58224,5.73039-5.26318,13.74425-7.4198,21.52026-7.688a54.30458,54.30458,0,0,1,44.33113,21.03844q6.09681-3.57471,12.19363-7.14926,2.40868,6.33969,4.81737,12.67953a7.39073,7.39073,0,0,1,11.26364,9.248c.96724-2.989,5.39916-3.62313,7.84251-1.64855,2.44335,1.97474,3.09761,5.488,2.69911,8.60414a17.31976,17.31976,0,0,1-13.06483,14.326c-5.30406,1.18167-11.47743-.05973-15.72259,3.33247-3.40352,2.71954-4.431,7.67163-7.9043,10.30126-4.28006,3.24035-10.3294,1.74177-15.64965,2.45781-9.30808,1.253-16.67837,10.773-15.55974,20.09824-.84211-2.94246-1.72714-5.97011-3.63853-8.36033-1.91154-2.39021-5.13083-4.00669-8.06243-3.12795-4.84583,1.45252-5.63858,8.05772-4.46415,12.97821,3.11475,13.05,14.91931,34.144,14.91931,34.144-15.32771,6.0462-33.58876.329-45.41517-11.144-11.82626-11.473-17.98564-27.71878-20.66871-43.97586C305.51637,437.361,305.83879,422.09124,314.16422,410.86989Z" transform="translate(-159.91993 -161.86389)" fill="#2f2e41"/><path d="M880.58187,486.04614c10.6416-24.3981,4.61285-46.8497-8.36-58.76l0-.01c-5.1-11.43-11.88-20.25-19.64-22.32-3.75-2.41-7.39-5.24-11.43-6.68a14.88737,14.88737,0,0,0-11.68.53l-2.06-.55c-1.75-4.47-3.8-4.56-6.08-1.62-8.78-4.09-16.69-5.92-23.73-5.92-22.96,0-36.54,19.44-40.14,42.94l19.19,5.11,6.67-10.63-3.08,11.59,10.59,2.81c16.12,20.99-3.17,69.41-27.62,96.35q8.73-2.415,17.39-4.08l20.98-30.76-13,28c6.75-.99,15.36-.04,24.77,1.87,3.17-4.14,4.84-9.66,3.2-14.58a55.74547,55.74547,0,0,1,5.48,16.53c19.86,4.85,46.95,7.34,61.55,9.18C895.37777,541.1955,895.40987,497.70636,880.58187,486.04614Z" transform="translate(-159.91993 -161.86389)" fill="#2f2e41"/><path d="M887.50523,403.05443c7.7946,17.45324-7.93319,24.96034-22.34136,24.74834-13.019-.19157-24.08365-9.33791-24.74832-22.34137a23.57558,23.57558,0,0,1,22.34136-24.74832C875.76037,380.04841,882.19575,391.16571,887.50523,403.05443Z" transform="translate(-159.91993 -161.86389)" fill="#2f2e41"/><path d="M525.90192,687.1729l-12.83956-21.41575L555.75351,633.369l17.75-18.74071a19.16138,19.16138,0,0,1,32.24488,7.60351h0a19.16136,19.16136,0,0,1-12.14227,23.70654l-27.5826,9.41646Z" transform="translate(-159.91993 -161.86389)" fill="#a0616a"/><path d="M535.18185,686.46613l-19.99,16.66-5.39,4.49-.62994.52q-2.085,1.035-4.2,2.04-6.33,3.015-12.82,5.73a285.48273,285.48273,0,0,1-34.97,12.03q-3.38993.93-6.81,1.77c-1.39.34-2.79.68-4.19,1-.88.21-1.77.41-2.66.6-1.08.24-2.16.48-3.24.69995q-1.695.36009-3.39.69a30.96327,30.96327,0,0,1-9.62-22.44c0-.26995,0-.55.01-.82995l3.21-82.33,1.42005-36.49a31.618,31.618,0,0,1,31.69-30.78c.96,0,1.91.05,2.85.14.68.88,1.31,1.79,1.92,2.71,1.66,2.46,3.9,6.35,6.54,11.23,1.09,2.01,2.24,4.19,3.45,6.5.73,1.39,7.03,21.05,13.16,41.13l-2.7,20.97-4.88,37.80005,20.02-13.14,14.1-9.26,1.67,2.79,4.35,7.26,8.4,14Z" transform="translate(-159.91993 -161.86389)" fill="#3f3d56"/><path d="M524.22188,662.93616c-.01,1.7-.05,3.37-.14,5.02a97.24839,97.24839,0,0,1-1.58,13.56,79.14449,79.14449,0,0,1-7.31,21.61c-.46.91-.95,1.81006-1.45,2.69-1.29.68006-2.6,1.34-3.91,2-.22.11005-.44.22-.66.32q-8.355,4.155-17.02,7.77a285.48273,285.48273,0,0,1-34.97,12.03q-3.38993.93-6.81,1.77-6.67493,1.65-13.48,2.99a290.07234,290.07234,0,0,1-56.06,5.44c-1.25,0-2.49-.01-3.74-.02-.38,0-.76-.01-1.15-.02-1.1-.02-2.24-.04-3.4-.07a288.5911,288.5911,0,0,1-65.84-9.49q-2.565-.675-5.11-1.4a286.16459,286.16459,0,0,1-47.52-18.22c-16.78-34.53-13.63-52.97-16.67-94.85,6.24-15.59,111.81-4.58,193.09,13.03,22.06,4.78,42.32,10.05,58.33,15.41,16.54,5.53,28.53,11.15,33.23,16.43006A7.9373,7.9373,0,0,1,524.22188,662.93616Z" transform="translate(-159.91993 -161.86389)" fill="#2f2e41"/><path d="M237.40778,621.23608c-.15527-2.59271-.32885-5.27093-.53131-8.05987,10.14-25.32,282.23,19.51,286.82,48.87-.01264,2.69184-.12775,5.30414-.32129,7.85456C512.25959,640.92248,253.77045,598.31445,237.40778,621.23608Z" transform="translate(-159.91993 -161.86389)" opacity="0.2"/></svg>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/assets/login-icon-two1.svg b/LA24030_LuLiPackageLine_Web/src/assets/login-icon-two1.svg
new file mode 100644
index 0000000..85bbac4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/assets/login-icon-two1.svg
@@ -0,0 +1 @@
+<svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="1042.03903" height="709.08851" viewBox="0 0 1042.03903 709.08851" xmlns:xlink="http://www.w3.org/1999/xlink"><title>hacker_mind</title><rect width="875" height="470.67901" fill="#3f3d56"/><rect x="158.17901" y="66.35802" width="7.71605" height="12.34568" fill="#f50057"/><rect x="184.41358" y="63.2716" width="7.71605" height="12.34568" fill="#f50057"/><rect x="198.30247" y="63.2716" width="7.71605" height="12.34568" fill="#f50057"/><rect x="198.30247" y="100.30864" width="7.71605" height="12.34568" fill="#f50057"/><rect x="213.73457" y="81.79012" width="7.71605" height="12.34568" fill="#f50057"/><rect x="213.73457" y="101.85185" width="7.71605" height="12.34568" fill="#f50057"/><rect x="198.30247" y="140.4321" width="7.71605" height="12.34568" fill="#f50057"/><rect x="213.73457" y="160.49383" width="7.71605" height="12.34568" fill="#f50057"/><rect x="198.30247" y="236.11111" width="7.71605" height="12.34568" fill="#f50057"/><rect x="184.41358" y="160.49383" width="7.71605" height="12.34568" fill="#f50057"/><rect x="158.17901" y="86.41975" width="7.71605" height="12.34568" fill="#f50057"/><rect x="158.17901" y="279.32099" width="7.71605" height="12.34568" fill="#f50057"/><rect x="158.17901" y="319.44444" width="7.71605" height="12.34568" fill="#f50057"/><rect x="158.17901" y="339.50617" width="7.71605" height="12.34568" fill="#f50057"/><rect x="155.09259" y="108.02469" width="10.80247" height="1.54321" fill="#f50057"/><rect x="196.75926" y="126.54321" width="10.80247" height="1.54321" fill="#f50057"/><rect x="155.09259" y="206.79012" width="10.80247" height="1.54321" fill="#f50057"/><rect x="155.09259" y="223.76543" width="10.80247" height="1.54321" fill="#f50057"/><rect x="196.75926" y="322.53086" width="10.80247" height="1.54321" fill="#f50057"/><rect x="184.41358" y="359.5679" width="10.80247" height="1.54321" fill="#f50057"/><polygon points="158.179 121.914 158.179 125 161.265 125 161.265 131.173 158.179 131.173 158.179 134.259 165.895 134.259 165.895 121.914 158.179 121.914" fill="#f50057"/><polygon points="184.414 100.309 184.414 103.395 187.5 103.395 187.5 109.568 184.414 109.568 184.414 112.654 192.13 112.654 192.13 100.309 184.414 100.309" fill="#f50057"/><polygon points="213.735 120.37 213.735 123.457 216.821 123.457 216.821 129.63 213.735 129.63 213.735 132.716 221.451 132.716 221.451 120.37 213.735 120.37" fill="#f50057"/><polygon points="213.735 180.556 213.735 183.642 216.821 183.642 216.821 189.815 213.735 189.815 213.735 192.901 221.451 192.901 221.451 180.556 213.735 180.556" fill="#f50057"/><polygon points="213.735 200.617 213.735 203.704 216.821 203.704 216.821 209.877 213.735 209.877 213.735 212.963 221.451 212.963 221.451 200.617 213.735 200.617" fill="#f50057"/><polygon points="213.735 138.889 213.735 141.975 216.821 141.975 216.821 148.148 213.735 148.148 213.735 151.235 221.451 151.235 221.451 138.889 213.735 138.889" fill="#f50057"/><polygon points="198.302 81.79 198.302 84.877 201.389 84.877 201.389 91.049 198.302 91.049 198.302 94.136 206.019 94.136 206.019 81.79 198.302 81.79" fill="#f50057"/><rect x="198.30247" y="180.55556" width="7.71605" height="12.34568" fill="#f50057"/><rect x="198.30247" y="217.59259" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="198.302 199.074 198.302 202.16 201.389 202.16 201.389 208.333 198.302 208.333 198.302 211.42 206.019 211.42 206.019 199.074 198.302 199.074" fill="#f50057"/><polygon points="184.414 120.37 184.414 123.457 187.5 123.457 187.5 129.63 184.414 129.63 184.414 132.716 192.13 132.716 192.13 120.37 184.414 120.37" fill="#f50057"/><polygon points="184.414 140.432 184.414 143.519 187.5 143.519 187.5 149.691 184.414 149.691 184.414 152.778 192.13 152.778 192.13 140.432 184.414 140.432" fill="#f50057"/><rect x="184.41358" y="200.61728" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="184.414 180.556 184.414 183.642 187.5 183.642 187.5 189.815 184.414 189.815 184.414 192.901 192.13 192.901 192.13 180.556 184.414 180.556" fill="#f50057"/><rect x="184.41358" y="240.74074" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="184.414 220.679 184.414 223.765 187.5 223.765 187.5 229.938 184.414 229.938 184.414 233.025 192.13 233.025 192.13 220.679 184.414 220.679" fill="#f50057"/><rect x="184.41358" y="280.8642" width="7.71605" height="12.34568" fill="#f50057"/><rect x="198.30247" y="277.77778" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="184.414 260.802 184.414 263.889 187.5 263.889 187.5 270.062 184.414 270.062 184.414 273.148 192.13 273.148 192.13 260.802 184.414 260.802" fill="#f50057"/><polygon points="213.735 260.802 213.735 263.889 216.821 263.889 216.821 270.062 213.735 270.062 213.735 273.148 221.451 273.148 221.451 260.802 213.735 260.802" fill="#f50057"/><rect x="292.43827" y="81.79012" width="7.71605" height="12.34568" fill="#f50057"/><rect x="292.43827" y="101.85185" width="7.71605" height="12.34568" fill="#f50057"/><rect x="292.43827" y="160.49383" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="292.438 120.37 292.438 123.457 295.525 123.457 295.525 129.63 292.438 129.63 292.438 132.716 300.154 132.716 300.154 120.37 292.438 120.37" fill="#f50057"/><polygon points="292.438 180.556 292.438 183.642 295.525 183.642 295.525 189.815 292.438 189.815 292.438 192.901 300.154 192.901 300.154 180.556 292.438 180.556" fill="#f50057"/><polygon points="292.438 200.617 292.438 203.704 295.525 203.704 295.525 209.877 292.438 209.877 292.438 212.963 300.154 212.963 300.154 200.617 292.438 200.617" fill="#f50057"/><polygon points="292.438 138.889 292.438 141.975 295.525 141.975 295.525 148.148 292.438 148.148 292.438 151.235 300.154 151.235 300.154 138.889 292.438 138.889" fill="#f50057"/><polygon points="292.438 260.802 292.438 263.889 295.525 263.889 295.525 270.062 292.438 270.062 292.438 273.148 300.154 273.148 300.154 260.802 292.438 260.802" fill="#f50057"/><rect x="184.41358" y="320.98765" width="7.71605" height="12.34568" fill="#f50057"/><rect x="198.30247" y="297.83951" width="7.71605" height="12.34568" fill="#f50057"/><rect x="184.41358" y="373.45679" width="7.71605" height="12.34568" fill="#f50057"/><rect x="198.30247" y="336.41975" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="184.414 300.926 184.414 304.012 187.5 304.012 187.5 310.185 184.414 310.185 184.414 313.272 192.13 313.272 192.13 300.926 184.414 300.926" fill="#f50057"/><polygon points="184.414 395.062 184.414 398.148 187.5 398.148 187.5 404.321 184.414 404.321 184.414 407.407 192.13 407.407 192.13 395.062 184.414 395.062" fill="#f50057"/><rect x="269.29012" y="63.2716" width="7.71605" height="12.34568" fill="#f50057"/><rect x="269.29012" y="160.49383" width="7.71605" height="12.34568" fill="#f50057"/><rect x="269.29012" y="359.5679" width="10.80247" height="1.54321" fill="#f50057"/><polygon points="269.29 100.309 269.29 103.395 272.377 103.395 272.377 109.568 269.29 109.568 269.29 112.654 277.006 112.654 277.006 100.309 269.29 100.309" fill="#f50057"/><polygon points="269.29 120.37 269.29 123.457 272.377 123.457 272.377 129.63 269.29 129.63 269.29 132.716 277.006 132.716 277.006 120.37 269.29 120.37" fill="#f50057"/><polygon points="269.29 140.432 269.29 143.519 272.377 143.519 272.377 149.691 269.29 149.691 269.29 152.778 277.006 152.778 277.006 140.432 269.29 140.432" fill="#f50057"/><rect x="269.29012" y="200.61728" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="269.29 180.556 269.29 183.642 272.377 183.642 272.377 189.815 269.29 189.815 269.29 192.901 277.006 192.901 277.006 180.556 269.29 180.556" fill="#f50057"/><rect x="269.29012" y="240.74074" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="269.29 220.679 269.29 223.765 272.377 223.765 272.377 229.938 269.29 229.938 269.29 233.025 277.006 233.025 277.006 220.679 269.29 220.679" fill="#f50057"/><rect x="269.29012" y="280.8642" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="269.29 260.802 269.29 263.889 272.377 263.889 272.377 270.062 269.29 270.062 269.29 273.148 277.006 273.148 277.006 260.802 269.29 260.802" fill="#f50057"/><rect x="269.29012" y="320.98765" width="7.71605" height="12.34568" fill="#f50057"/><rect x="269.29012" y="373.45679" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="269.29 300.926 269.29 304.012 272.377 304.012 272.377 310.185 269.29 310.185 269.29 313.272 277.006 313.272 277.006 300.926 269.29 300.926" fill="#f50057"/><polygon points="269.29 395.062 269.29 398.148 272.377 398.148 272.377 404.321 269.29 404.321 269.29 407.407 277.006 407.407 277.006 395.062 269.29 395.062" fill="#f50057"/><rect x="306.32716" y="63.2716" width="7.71605" height="12.34568" fill="#f50057"/><rect x="306.32716" y="160.49383" width="7.71605" height="12.34568" fill="#f50057"/><rect x="306.32716" y="359.5679" width="10.80247" height="1.54321" fill="#f50057"/><polygon points="306.327 100.309 306.327 103.395 309.414 103.395 309.414 109.568 306.327 109.568 306.327 112.654 314.043 112.654 314.043 100.309 306.327 100.309" fill="#f50057"/><polygon points="306.327 120.37 306.327 123.457 309.414 123.457 309.414 129.63 306.327 129.63 306.327 132.716 314.043 132.716 314.043 120.37 306.327 120.37" fill="#f50057"/><polygon points="306.327 140.432 306.327 143.519 309.414 143.519 309.414 149.691 306.327 149.691 306.327 152.778 314.043 152.778 314.043 140.432 306.327 140.432" fill="#f50057"/><rect x="306.32716" y="200.61728" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="306.327 180.556 306.327 183.642 309.414 183.642 309.414 189.815 306.327 189.815 306.327 192.901 314.043 192.901 314.043 180.556 306.327 180.556" fill="#f50057"/><rect x="306.32716" y="240.74074" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="306.327 220.679 306.327 223.765 309.414 223.765 309.414 229.938 306.327 229.938 306.327 233.025 314.043 233.025 314.043 220.679 306.327 220.679" fill="#f50057"/><rect x="306.32716" y="280.8642" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="306.327 260.802 306.327 263.889 309.414 263.889 309.414 270.062 306.327 270.062 306.327 273.148 314.043 273.148 314.043 260.802 306.327 260.802" fill="#f50057"/><rect x="306.32716" y="320.98765" width="7.71605" height="12.34568" fill="#f50057"/><rect x="306.32716" y="373.45679" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="306.327 300.926 306.327 304.012 309.414 304.012 309.414 310.185 306.327 310.185 306.327 313.272 314.043 313.272 314.043 300.926 306.327 300.926" fill="#f50057"/><polygon points="306.327 395.062 306.327 398.148 309.414 398.148 309.414 404.321 306.327 404.321 306.327 407.407 314.043 407.407 314.043 395.062 306.327 395.062" fill="#f50057"/><polygon points="198.302 373.457 198.302 376.543 201.389 376.543 201.389 382.716 198.302 382.716 198.302 385.802 206.019 385.802 206.019 373.457 198.302 373.457" fill="#f50057"/><polygon points="198.302 393.519 198.302 396.605 201.389 396.605 201.389 402.778 198.302 402.778 198.302 405.864 206.019 405.864 206.019 393.519 198.302 393.519" fill="#f50057"/><polygon points="158.179 160.494 158.179 163.58 161.265 163.58 161.265 169.753 158.179 169.753 158.179 172.84 165.895 172.84 165.895 160.494 158.179 160.494" fill="#f50057"/><polygon points="158.179 239.198 158.179 242.284 161.265 242.284 161.265 248.457 158.179 248.457 158.179 251.543 165.895 251.543 165.895 239.198 158.179 239.198" fill="#f50057"/><polygon points="158.179 259.259 158.179 262.346 161.265 262.346 161.265 268.519 158.179 268.519 158.179 271.605 165.895 271.605 165.895 259.259 158.179 259.259" fill="#f50057"/><polygon points="158.179 299.383 158.179 302.469 161.265 302.469 161.265 308.642 158.179 308.642 158.179 311.728 165.895 311.728 165.895 299.383 158.179 299.383" fill="#f50057"/><polygon points="158.179 356.481 158.179 359.568 161.265 359.568 161.265 365.741 158.179 365.741 158.179 368.827 165.895 368.827 165.895 356.481 158.179 356.481" fill="#f50057"/><polygon points="158.179 373.457 158.179 376.543 161.265 376.543 161.265 382.716 158.179 382.716 158.179 385.802 165.895 385.802 165.895 373.457 158.179 373.457" fill="#f50057"/><rect x="238.42593" y="66.35802" width="7.71605" height="12.34568" fill="#f50057"/><rect x="238.42593" y="86.41975" width="7.71605" height="12.34568" fill="#f50057"/><rect x="235.33951" y="108.02469" width="10.80247" height="1.54321" fill="#f50057"/><rect x="235.33951" y="206.79012" width="10.80247" height="1.54321" fill="#f50057"/><rect x="235.33951" y="223.76543" width="10.80247" height="1.54321" fill="#f50057"/><polygon points="238.426 121.914 238.426 125 241.512 125 241.512 131.173 238.426 131.173 238.426 134.259 246.142 134.259 246.142 121.914 238.426 121.914" fill="#f50057"/><polygon points="238.426 160.494 238.426 163.58 241.512 163.58 241.512 169.753 238.426 169.753 238.426 172.84 246.142 172.84 246.142 160.494 238.426 160.494" fill="#f50057"/><polygon points="238.426 239.198 238.426 242.284 241.512 242.284 241.512 248.457 238.426 248.457 238.426 251.543 246.142 251.543 246.142 239.198 238.426 239.198" fill="#f50057"/><rect x="326.38889" y="200.61728" width="7.71605" height="12.34568" fill="#f50057"/><rect x="326.38889" y="220.67901" width="7.71605" height="12.34568" fill="#f50057"/><rect x="323.30247" y="242.28395" width="10.80247" height="1.54321" fill="#f50057"/><rect x="323.30247" y="341.04938" width="10.80247" height="1.54321" fill="#f50057"/><rect x="323.30247" y="358.02469" width="10.80247" height="1.54321" fill="#f50057"/><polygon points="326.389 256.173 326.389 259.259 329.475 259.259 329.475 265.432 326.389 265.432 326.389 268.519 334.105 268.519 334.105 256.173 326.389 256.173" fill="#f50057"/><polygon points="326.389 294.753 326.389 297.84 329.475 297.84 329.475 304.012 326.389 304.012 326.389 307.099 334.105 307.099 334.105 294.753 326.389 294.753" fill="#f50057"/><polygon points="326.389 373.457 326.389 376.543 329.475 376.543 329.475 382.716 326.389 382.716 326.389 385.802 334.105 385.802 334.105 373.457 326.389 373.457" fill="#f50057"/><rect x="351.08025" y="66.35802" width="7.71605" height="12.34568" fill="#f50057"/><rect x="377.31481" y="63.2716" width="7.71605" height="12.34568" fill="#f50057"/><rect x="391.2037" y="63.2716" width="7.71605" height="12.34568" fill="#f50057"/><rect x="391.2037" y="100.30864" width="7.71605" height="12.34568" fill="#f50057"/><rect x="406.6358" y="81.79012" width="7.71605" height="12.34568" fill="#f50057"/><rect x="406.6358" y="101.85185" width="7.71605" height="12.34568" fill="#f50057"/><rect x="391.2037" y="140.4321" width="7.71605" height="12.34568" fill="#f50057"/><rect x="406.6358" y="160.49383" width="7.71605" height="12.34568" fill="#f50057"/><rect x="391.2037" y="236.11111" width="7.71605" height="12.34568" fill="#f50057"/><rect x="377.31481" y="160.49383" width="7.71605" height="12.34568" fill="#f50057"/><rect x="351.08025" y="86.41975" width="7.71605" height="12.34568" fill="#f50057"/><rect x="351.08025" y="279.32099" width="7.71605" height="12.34568" fill="#f50057"/><rect x="351.08025" y="319.44444" width="7.71605" height="12.34568" fill="#f50057"/><rect x="351.08025" y="339.50617" width="7.71605" height="12.34568" fill="#f50057"/><rect x="347.99383" y="108.02469" width="10.80247" height="1.54321" fill="#f50057"/><rect x="389.66049" y="126.54321" width="10.80247" height="1.54321" fill="#f50057"/><rect x="347.99383" y="206.79012" width="10.80247" height="1.54321" fill="#f50057"/><rect x="347.99383" y="223.76543" width="10.80247" height="1.54321" fill="#f50057"/><rect x="389.66049" y="322.53086" width="10.80247" height="1.54321" fill="#f50057"/><rect x="377.31481" y="359.5679" width="10.80247" height="1.54321" fill="#f50057"/><polygon points="351.08 121.914 351.08 125 354.167 125 354.167 131.173 351.08 131.173 351.08 134.259 358.796 134.259 358.796 121.914 351.08 121.914" fill="#f50057"/><polygon points="377.315 100.309 377.315 103.395 380.401 103.395 380.401 109.568 377.315 109.568 377.315 112.654 385.031 112.654 385.031 100.309 377.315 100.309" fill="#f50057"/><polygon points="406.636 120.37 406.636 123.457 409.722 123.457 409.722 129.63 406.636 129.63 406.636 132.716 414.352 132.716 414.352 120.37 406.636 120.37" fill="#f50057"/><polygon points="406.636 180.556 406.636 183.642 409.722 183.642 409.722 189.815 406.636 189.815 406.636 192.901 414.352 192.901 414.352 180.556 406.636 180.556" fill="#f50057"/><polygon points="406.636 200.617 406.636 203.704 409.722 203.704 409.722 209.877 406.636 209.877 406.636 212.963 414.352 212.963 414.352 200.617 406.636 200.617" fill="#f50057"/><polygon points="406.636 138.889 406.636 141.975 409.722 141.975 409.722 148.148 406.636 148.148 406.636 151.235 414.352 151.235 414.352 138.889 406.636 138.889" fill="#f50057"/><polygon points="391.204 81.79 391.204 84.877 394.29 84.877 394.29 91.049 391.204 91.049 391.204 94.136 398.92 94.136 398.92 81.79 391.204 81.79" fill="#f50057"/><rect x="391.2037" y="180.55556" width="7.71605" height="12.34568" fill="#f50057"/><rect x="391.2037" y="217.59259" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="391.204 199.074 391.204 202.16 394.29 202.16 394.29 208.333 391.204 208.333 391.204 211.42 398.92 211.42 398.92 199.074 391.204 199.074" fill="#f50057"/><polygon points="377.315 120.37 377.315 123.457 380.401 123.457 380.401 129.63 377.315 129.63 377.315 132.716 385.031 132.716 385.031 120.37 377.315 120.37" fill="#f50057"/><polygon points="377.315 140.432 377.315 143.519 380.401 143.519 380.401 149.691 377.315 149.691 377.315 152.778 385.031 152.778 385.031 140.432 377.315 140.432" fill="#f50057"/><rect x="377.31481" y="200.61728" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="377.315 180.556 377.315 183.642 380.401 183.642 380.401 189.815 377.315 189.815 377.315 192.901 385.031 192.901 385.031 180.556 377.315 180.556" fill="#f50057"/><rect x="377.31481" y="240.74074" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="377.315 220.679 377.315 223.765 380.401 223.765 380.401 229.938 377.315 229.938 377.315 233.025 385.031 233.025 385.031 220.679 377.315 220.679" fill="#f50057"/><rect x="377.31481" y="280.8642" width="7.71605" height="12.34568" fill="#f50057"/><rect x="391.2037" y="277.77778" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="377.315 260.802 377.315 263.889 380.401 263.889 380.401 270.062 377.315 270.062 377.315 273.148 385.031 273.148 385.031 260.802 377.315 260.802" fill="#f50057"/><polygon points="406.636 260.802 406.636 263.889 409.722 263.889 409.722 270.062 406.636 270.062 406.636 273.148 414.352 273.148 414.352 260.802 406.636 260.802" fill="#f50057"/><rect x="485.33951" y="81.79012" width="7.71605" height="12.34568" fill="#f50057"/><rect x="485.33951" y="101.85185" width="7.71605" height="12.34568" fill="#f50057"/><rect x="485.33951" y="160.49383" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="485.34 120.37 485.34 123.457 488.426 123.457 488.426 129.63 485.34 129.63 485.34 132.716 493.056 132.716 493.056 120.37 485.34 120.37" fill="#f50057"/><polygon points="485.34 180.556 485.34 183.642 488.426 183.642 488.426 189.815 485.34 189.815 485.34 192.901 493.056 192.901 493.056 180.556 485.34 180.556" fill="#f50057"/><polygon points="485.34 200.617 485.34 203.704 488.426 203.704 488.426 209.877 485.34 209.877 485.34 212.963 493.056 212.963 493.056 200.617 485.34 200.617" fill="#f50057"/><polygon points="485.34 138.889 485.34 141.975 488.426 141.975 488.426 148.148 485.34 148.148 485.34 151.235 493.056 151.235 493.056 138.889 485.34 138.889" fill="#f50057"/><polygon points="485.34 260.802 485.34 263.889 488.426 263.889 488.426 270.062 485.34 270.062 485.34 273.148 493.056 273.148 493.056 260.802 485.34 260.802" fill="#f50057"/><rect x="377.31481" y="320.98765" width="7.71605" height="12.34568" fill="#f50057"/><rect x="391.2037" y="297.83951" width="7.71605" height="12.34568" fill="#f50057"/><rect x="377.31481" y="373.45679" width="7.71605" height="12.34568" fill="#f50057"/><rect x="391.2037" y="336.41975" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="377.315 300.926 377.315 304.012 380.401 304.012 380.401 310.185 377.315 310.185 377.315 313.272 385.031 313.272 385.031 300.926 377.315 300.926" fill="#f50057"/><polygon points="377.315 395.062 377.315 398.148 380.401 398.148 380.401 404.321 377.315 404.321 377.315 407.407 385.031 407.407 385.031 395.062 377.315 395.062" fill="#f50057"/><rect x="462.19136" y="63.2716" width="7.71605" height="12.34568" fill="#f50057"/><rect x="462.19136" y="160.49383" width="7.71605" height="12.34568" fill="#f50057"/><rect x="462.19136" y="359.5679" width="10.80247" height="1.54321" fill="#f50057"/><polygon points="462.191 100.309 462.191 103.395 465.278 103.395 465.278 109.568 462.191 109.568 462.191 112.654 469.907 112.654 469.907 100.309 462.191 100.309" fill="#f50057"/><polygon points="462.191 120.37 462.191 123.457 465.278 123.457 465.278 129.63 462.191 129.63 462.191 132.716 469.907 132.716 469.907 120.37 462.191 120.37" fill="#f50057"/><polygon points="462.191 140.432 462.191 143.519 465.278 143.519 465.278 149.691 462.191 149.691 462.191 152.778 469.907 152.778 469.907 140.432 462.191 140.432" fill="#f50057"/><rect x="462.19136" y="200.61728" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="462.191 180.556 462.191 183.642 465.278 183.642 465.278 189.815 462.191 189.815 462.191 192.901 469.907 192.901 469.907 180.556 462.191 180.556" fill="#f50057"/><rect x="462.19136" y="240.74074" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="462.191 220.679 462.191 223.765 465.278 223.765 465.278 229.938 462.191 229.938 462.191 233.025 469.907 233.025 469.907 220.679 462.191 220.679" fill="#f50057"/><rect x="462.19136" y="280.8642" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="462.191 260.802 462.191 263.889 465.278 263.889 465.278 270.062 462.191 270.062 462.191 273.148 469.907 273.148 469.907 260.802 462.191 260.802" fill="#f50057"/><rect x="462.19136" y="320.98765" width="7.71605" height="12.34568" fill="#f50057"/><rect x="462.19136" y="373.45679" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="462.191 300.926 462.191 304.012 465.278 304.012 465.278 310.185 462.191 310.185 462.191 313.272 469.907 313.272 469.907 300.926 462.191 300.926" fill="#f50057"/><polygon points="462.191 395.062 462.191 398.148 465.278 398.148 465.278 404.321 462.191 404.321 462.191 407.407 469.907 407.407 469.907 395.062 462.191 395.062" fill="#f50057"/><rect x="499.2284" y="63.2716" width="7.71605" height="12.34568" fill="#f50057"/><rect x="499.2284" y="160.49383" width="7.71605" height="12.34568" fill="#f50057"/><rect x="499.2284" y="359.5679" width="10.80247" height="1.54321" fill="#f50057"/><polygon points="499.228 100.309 499.228 103.395 502.315 103.395 502.315 109.568 499.228 109.568 499.228 112.654 506.944 112.654 506.944 100.309 499.228 100.309" fill="#f50057"/><polygon points="499.228 120.37 499.228 123.457 502.315 123.457 502.315 129.63 499.228 129.63 499.228 132.716 506.944 132.716 506.944 120.37 499.228 120.37" fill="#f50057"/><polygon points="499.228 140.432 499.228 143.519 502.315 143.519 502.315 149.691 499.228 149.691 499.228 152.778 506.944 152.778 506.944 140.432 499.228 140.432" fill="#f50057"/><rect x="499.2284" y="200.61728" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="499.228 180.556 499.228 183.642 502.315 183.642 502.315 189.815 499.228 189.815 499.228 192.901 506.944 192.901 506.944 180.556 499.228 180.556" fill="#f50057"/><rect x="499.2284" y="240.74074" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="499.228 220.679 499.228 223.765 502.315 223.765 502.315 229.938 499.228 229.938 499.228 233.025 506.944 233.025 506.944 220.679 499.228 220.679" fill="#f50057"/><rect x="499.2284" y="280.8642" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="499.228 260.802 499.228 263.889 502.315 263.889 502.315 270.062 499.228 270.062 499.228 273.148 506.944 273.148 506.944 260.802 499.228 260.802" fill="#f50057"/><rect x="499.2284" y="320.98765" width="7.71605" height="12.34568" fill="#f50057"/><rect x="499.2284" y="373.45679" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="499.228 300.926 499.228 304.012 502.315 304.012 502.315 310.185 499.228 310.185 499.228 313.272 506.944 313.272 506.944 300.926 499.228 300.926" fill="#f50057"/><polygon points="499.228 395.062 499.228 398.148 502.315 398.148 502.315 404.321 499.228 404.321 499.228 407.407 506.944 407.407 506.944 395.062 499.228 395.062" fill="#f50057"/><polygon points="391.204 373.457 391.204 376.543 394.29 376.543 394.29 382.716 391.204 382.716 391.204 385.802 398.92 385.802 398.92 373.457 391.204 373.457" fill="#f50057"/><polygon points="391.204 393.519 391.204 396.605 394.29 396.605 394.29 402.778 391.204 402.778 391.204 405.864 398.92 405.864 398.92 393.519 391.204 393.519" fill="#f50057"/><polygon points="351.08 160.494 351.08 163.58 354.167 163.58 354.167 169.753 351.08 169.753 351.08 172.84 358.796 172.84 358.796 160.494 351.08 160.494" fill="#f50057"/><polygon points="351.08 239.198 351.08 242.284 354.167 242.284 354.167 248.457 351.08 248.457 351.08 251.543 358.796 251.543 358.796 239.198 351.08 239.198" fill="#f50057"/><polygon points="351.08 259.259 351.08 262.346 354.167 262.346 354.167 268.519 351.08 268.519 351.08 271.605 358.796 271.605 358.796 259.259 351.08 259.259" fill="#f50057"/><polygon points="351.08 299.383 351.08 302.469 354.167 302.469 354.167 308.642 351.08 308.642 351.08 311.728 358.796 311.728 358.796 299.383 351.08 299.383" fill="#f50057"/><polygon points="351.08 356.481 351.08 359.568 354.167 359.568 354.167 365.741 351.08 365.741 351.08 368.827 358.796 368.827 358.796 356.481 351.08 356.481" fill="#f50057"/><polygon points="351.08 373.457 351.08 376.543 354.167 376.543 354.167 382.716 351.08 382.716 351.08 385.802 358.796 385.802 358.796 373.457 351.08 373.457" fill="#f50057"/><rect x="431.32716" y="66.35802" width="7.71605" height="12.34568" fill="#f50057"/><rect x="431.32716" y="86.41975" width="7.71605" height="12.34568" fill="#f50057"/><rect x="428.24074" y="108.02469" width="10.80247" height="1.54321" fill="#f50057"/><rect x="428.24074" y="206.79012" width="10.80247" height="1.54321" fill="#f50057"/><rect x="428.24074" y="223.76543" width="10.80247" height="1.54321" fill="#f50057"/><polygon points="431.327 121.914 431.327 125 434.414 125 434.414 131.173 431.327 131.173 431.327 134.259 439.043 134.259 439.043 121.914 431.327 121.914" fill="#f50057"/><polygon points="431.327 160.494 431.327 163.58 434.414 163.58 434.414 169.753 431.327 169.753 431.327 172.84 439.043 172.84 439.043 160.494 431.327 160.494" fill="#f50057"/><polygon points="431.327 239.198 431.327 242.284 434.414 242.284 434.414 248.457 431.327 248.457 431.327 251.543 439.043 251.543 439.043 239.198 431.327 239.198" fill="#f50057"/><rect x="519.29012" y="200.61728" width="7.71605" height="12.34568" fill="#f50057"/><rect x="519.29012" y="220.67901" width="7.71605" height="12.34568" fill="#f50057"/><rect x="516.2037" y="242.28395" width="10.80247" height="1.54321" fill="#f50057"/><rect x="516.2037" y="341.04938" width="10.80247" height="1.54321" fill="#f50057"/><rect x="516.2037" y="358.02469" width="10.80247" height="1.54321" fill="#f50057"/><polygon points="519.29 256.173 519.29 259.259 522.377 259.259 522.377 265.432 519.29 265.432 519.29 268.519 527.006 268.519 527.006 256.173 519.29 256.173" fill="#f50057"/><polygon points="519.29 294.753 519.29 297.84 522.377 297.84 522.377 304.012 519.29 304.012 519.29 307.099 527.006 307.099 527.006 294.753 519.29 294.753" fill="#f50057"/><polygon points="519.29 373.457 519.29 376.543 522.377 376.543 522.377 382.716 519.29 382.716 519.29 385.802 527.006 385.802 527.006 373.457 519.29 373.457" fill="#f50057"/><rect x="543.98148" y="66.35802" width="7.71605" height="12.34568" fill="#f50057"/><rect x="570.21605" y="63.2716" width="7.71605" height="12.34568" fill="#f50057"/><rect x="584.10494" y="63.2716" width="7.71605" height="12.34568" fill="#f50057"/><rect x="584.10494" y="100.30864" width="7.71605" height="12.34568" fill="#f50057"/><rect x="599.53704" y="81.79012" width="7.71605" height="12.34568" fill="#f50057"/><rect x="599.53704" y="101.85185" width="7.71605" height="12.34568" fill="#f50057"/><rect x="584.10494" y="140.4321" width="7.71605" height="12.34568" fill="#f50057"/><rect x="599.53704" y="160.49383" width="7.71605" height="12.34568" fill="#f50057"/><rect x="584.10494" y="236.11111" width="7.71605" height="12.34568" fill="#f50057"/><rect x="570.21605" y="160.49383" width="7.71605" height="12.34568" fill="#f50057"/><rect x="543.98148" y="86.41975" width="7.71605" height="12.34568" fill="#f50057"/><rect x="543.98148" y="279.32099" width="7.71605" height="12.34568" fill="#f50057"/><rect x="543.98148" y="319.44444" width="7.71605" height="12.34568" fill="#f50057"/><rect x="543.98148" y="339.50617" width="7.71605" height="12.34568" fill="#f50057"/><rect x="540.89506" y="108.02469" width="10.80247" height="1.54321" fill="#f50057"/><rect x="582.56173" y="126.54321" width="10.80247" height="1.54321" fill="#f50057"/><rect x="540.89506" y="206.79012" width="10.80247" height="1.54321" fill="#f50057"/><rect x="540.89506" y="223.76543" width="10.80247" height="1.54321" fill="#f50057"/><rect x="582.56173" y="322.53086" width="10.80247" height="1.54321" fill="#f50057"/><rect x="570.21605" y="359.5679" width="10.80247" height="1.54321" fill="#f50057"/><polygon points="543.981 121.914 543.981 125 547.068 125 547.068 131.173 543.981 131.173 543.981 134.259 551.698 134.259 551.698 121.914 543.981 121.914" fill="#f50057"/><polygon points="570.216 100.309 570.216 103.395 573.302 103.395 573.302 109.568 570.216 109.568 570.216 112.654 577.932 112.654 577.932 100.309 570.216 100.309" fill="#f50057"/><polygon points="599.537 120.37 599.537 123.457 602.623 123.457 602.623 129.63 599.537 129.63 599.537 132.716 607.253 132.716 607.253 120.37 599.537 120.37" fill="#f50057"/><polygon points="599.537 180.556 599.537 183.642 602.623 183.642 602.623 189.815 599.537 189.815 599.537 192.901 607.253 192.901 607.253 180.556 599.537 180.556" fill="#f50057"/><polygon points="599.537 200.617 599.537 203.704 602.623 203.704 602.623 209.877 599.537 209.877 599.537 212.963 607.253 212.963 607.253 200.617 599.537 200.617" fill="#f50057"/><polygon points="599.537 138.889 599.537 141.975 602.623 141.975 602.623 148.148 599.537 148.148 599.537 151.235 607.253 151.235 607.253 138.889 599.537 138.889" fill="#f50057"/><polygon points="584.105 81.79 584.105 84.877 587.191 84.877 587.191 91.049 584.105 91.049 584.105 94.136 591.821 94.136 591.821 81.79 584.105 81.79" fill="#f50057"/><rect x="584.10494" y="180.55556" width="7.71605" height="12.34568" fill="#f50057"/><rect x="584.10494" y="217.59259" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="584.105 199.074 584.105 202.16 587.191 202.16 587.191 208.333 584.105 208.333 584.105 211.42 591.821 211.42 591.821 199.074 584.105 199.074" fill="#f50057"/><polygon points="570.216 120.37 570.216 123.457 573.302 123.457 573.302 129.63 570.216 129.63 570.216 132.716 577.932 132.716 577.932 120.37 570.216 120.37" fill="#f50057"/><polygon points="570.216 140.432 570.216 143.519 573.302 143.519 573.302 149.691 570.216 149.691 570.216 152.778 577.932 152.778 577.932 140.432 570.216 140.432" fill="#f50057"/><rect x="570.21605" y="200.61728" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="570.216 180.556 570.216 183.642 573.302 183.642 573.302 189.815 570.216 189.815 570.216 192.901 577.932 192.901 577.932 180.556 570.216 180.556" fill="#f50057"/><rect x="570.21605" y="240.74074" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="570.216 220.679 570.216 223.765 573.302 223.765 573.302 229.938 570.216 229.938 570.216 233.025 577.932 233.025 577.932 220.679 570.216 220.679" fill="#f50057"/><rect x="570.21605" y="280.8642" width="7.71605" height="12.34568" fill="#f50057"/><rect x="584.10494" y="277.77778" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="570.216 260.802 570.216 263.889 573.302 263.889 573.302 270.062 570.216 270.062 570.216 273.148 577.932 273.148 577.932 260.802 570.216 260.802" fill="#f50057"/><polygon points="599.537 260.802 599.537 263.889 602.623 263.889 602.623 270.062 599.537 270.062 599.537 273.148 607.253 273.148 607.253 260.802 599.537 260.802" fill="#f50057"/><rect x="678.24074" y="81.79012" width="7.71605" height="12.34568" fill="#f50057"/><rect x="678.24074" y="101.85185" width="7.71605" height="12.34568" fill="#f50057"/><rect x="678.24074" y="160.49383" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="678.241 120.37 678.241 123.457 681.327 123.457 681.327 129.63 678.241 129.63 678.241 132.716 685.957 132.716 685.957 120.37 678.241 120.37" fill="#f50057"/><polygon points="678.241 180.556 678.241 183.642 681.327 183.642 681.327 189.815 678.241 189.815 678.241 192.901 685.957 192.901 685.957 180.556 678.241 180.556" fill="#f50057"/><polygon points="678.241 200.617 678.241 203.704 681.327 203.704 681.327 209.877 678.241 209.877 678.241 212.963 685.957 212.963 685.957 200.617 678.241 200.617" fill="#f50057"/><polygon points="678.241 138.889 678.241 141.975 681.327 141.975 681.327 148.148 678.241 148.148 678.241 151.235 685.957 151.235 685.957 138.889 678.241 138.889" fill="#f50057"/><polygon points="678.241 260.802 678.241 263.889 681.327 263.889 681.327 270.062 678.241 270.062 678.241 273.148 685.957 273.148 685.957 260.802 678.241 260.802" fill="#f50057"/><rect x="570.21605" y="320.98765" width="7.71605" height="12.34568" fill="#f50057"/><rect x="584.10494" y="297.83951" width="7.71605" height="12.34568" fill="#f50057"/><rect x="570.21605" y="373.45679" width="7.71605" height="12.34568" fill="#f50057"/><rect x="584.10494" y="336.41975" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="570.216 300.926 570.216 304.012 573.302 304.012 573.302 310.185 570.216 310.185 570.216 313.272 577.932 313.272 577.932 300.926 570.216 300.926" fill="#f50057"/><polygon points="570.216 395.062 570.216 398.148 573.302 398.148 573.302 404.321 570.216 404.321 570.216 407.407 577.932 407.407 577.932 395.062 570.216 395.062" fill="#f50057"/><rect x="655.09259" y="63.2716" width="7.71605" height="12.34568" fill="#f50057"/><rect x="655.09259" y="160.49383" width="7.71605" height="12.34568" fill="#f50057"/><rect x="655.09259" y="359.5679" width="10.80247" height="1.54321" fill="#f50057"/><polygon points="655.093 100.309 655.093 103.395 658.179 103.395 658.179 109.568 655.093 109.568 655.093 112.654 662.809 112.654 662.809 100.309 655.093 100.309" fill="#f50057"/><polygon points="655.093 120.37 655.093 123.457 658.179 123.457 658.179 129.63 655.093 129.63 655.093 132.716 662.809 132.716 662.809 120.37 655.093 120.37" fill="#f50057"/><polygon points="655.093 140.432 655.093 143.519 658.179 143.519 658.179 149.691 655.093 149.691 655.093 152.778 662.809 152.778 662.809 140.432 655.093 140.432" fill="#f50057"/><rect x="655.09259" y="200.61728" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="655.093 180.556 655.093 183.642 658.179 183.642 658.179 189.815 655.093 189.815 655.093 192.901 662.809 192.901 662.809 180.556 655.093 180.556" fill="#f50057"/><rect x="655.09259" y="240.74074" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="655.093 220.679 655.093 223.765 658.179 223.765 658.179 229.938 655.093 229.938 655.093 233.025 662.809 233.025 662.809 220.679 655.093 220.679" fill="#f50057"/><rect x="655.09259" y="280.8642" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="655.093 260.802 655.093 263.889 658.179 263.889 658.179 270.062 655.093 270.062 655.093 273.148 662.809 273.148 662.809 260.802 655.093 260.802" fill="#f50057"/><rect x="655.09259" y="320.98765" width="7.71605" height="12.34568" fill="#f50057"/><rect x="655.09259" y="373.45679" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="655.093 300.926 655.093 304.012 658.179 304.012 658.179 310.185 655.093 310.185 655.093 313.272 662.809 313.272 662.809 300.926 655.093 300.926" fill="#f50057"/><polygon points="655.093 395.062 655.093 398.148 658.179 398.148 658.179 404.321 655.093 404.321 655.093 407.407 662.809 407.407 662.809 395.062 655.093 395.062" fill="#f50057"/><rect x="692.12963" y="63.2716" width="7.71605" height="12.34568" fill="#f50057"/><rect x="692.12963" y="160.49383" width="7.71605" height="12.34568" fill="#f50057"/><rect x="692.12963" y="359.5679" width="10.80247" height="1.54321" fill="#f50057"/><polygon points="692.13 100.309 692.13 103.395 695.216 103.395 695.216 109.568 692.13 109.568 692.13 112.654 699.846 112.654 699.846 100.309 692.13 100.309" fill="#f50057"/><polygon points="692.13 120.37 692.13 123.457 695.216 123.457 695.216 129.63 692.13 129.63 692.13 132.716 699.846 132.716 699.846 120.37 692.13 120.37" fill="#f50057"/><polygon points="692.13 140.432 692.13 143.519 695.216 143.519 695.216 149.691 692.13 149.691 692.13 152.778 699.846 152.778 699.846 140.432 692.13 140.432" fill="#f50057"/><rect x="692.12963" y="200.61728" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="692.13 180.556 692.13 183.642 695.216 183.642 695.216 189.815 692.13 189.815 692.13 192.901 699.846 192.901 699.846 180.556 692.13 180.556" fill="#f50057"/><rect x="692.12963" y="240.74074" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="692.13 220.679 692.13 223.765 695.216 223.765 695.216 229.938 692.13 229.938 692.13 233.025 699.846 233.025 699.846 220.679 692.13 220.679" fill="#f50057"/><rect x="692.12963" y="280.8642" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="692.13 260.802 692.13 263.889 695.216 263.889 695.216 270.062 692.13 270.062 692.13 273.148 699.846 273.148 699.846 260.802 692.13 260.802" fill="#f50057"/><rect x="692.12963" y="320.98765" width="7.71605" height="12.34568" fill="#f50057"/><rect x="692.12963" y="373.45679" width="7.71605" height="12.34568" fill="#f50057"/><polygon points="692.13 300.926 692.13 304.012 695.216 304.012 695.216 310.185 692.13 310.185 692.13 313.272 699.846 313.272 699.846 300.926 692.13 300.926" fill="#f50057"/><polygon points="692.13 395.062 692.13 398.148 695.216 398.148 695.216 404.321 692.13 404.321 692.13 407.407 699.846 407.407 699.846 395.062 692.13 395.062" fill="#f50057"/><polygon points="584.105 373.457 584.105 376.543 587.191 376.543 587.191 382.716 584.105 382.716 584.105 385.802 591.821 385.802 591.821 373.457 584.105 373.457" fill="#f50057"/><polygon points="584.105 393.519 584.105 396.605 587.191 396.605 587.191 402.778 584.105 402.778 584.105 405.864 591.821 405.864 591.821 393.519 584.105 393.519" fill="#f50057"/><polygon points="543.981 160.494 543.981 163.58 547.068 163.58 547.068 169.753 543.981 169.753 543.981 172.84 551.698 172.84 551.698 160.494 543.981 160.494" fill="#f50057"/><polygon points="543.981 239.198 543.981 242.284 547.068 242.284 547.068 248.457 543.981 248.457 543.981 251.543 551.698 251.543 551.698 239.198 543.981 239.198" fill="#f50057"/><polygon points="543.981 259.259 543.981 262.346 547.068 262.346 547.068 268.519 543.981 268.519 543.981 271.605 551.698 271.605 551.698 259.259 543.981 259.259" fill="#f50057"/><polygon points="543.981 299.383 543.981 302.469 547.068 302.469 547.068 308.642 543.981 308.642 543.981 311.728 551.698 311.728 551.698 299.383 543.981 299.383" fill="#f50057"/><polygon points="543.981 356.481 543.981 359.568 547.068 359.568 547.068 365.741 543.981 365.741 543.981 368.827 551.698 368.827 551.698 356.481 543.981 356.481" fill="#f50057"/><polygon points="543.981 373.457 543.981 376.543 547.068 376.543 547.068 382.716 543.981 382.716 543.981 385.802 551.698 385.802 551.698 373.457 543.981 373.457" fill="#f50057"/><rect x="624.2284" y="66.35802" width="7.71605" height="12.34568" fill="#f50057"/><rect x="624.2284" y="86.41975" width="7.71605" height="12.34568" fill="#f50057"/><rect x="621.14198" y="108.02469" width="10.80247" height="1.54321" fill="#f50057"/><rect x="621.14198" y="206.79012" width="10.80247" height="1.54321" fill="#f50057"/><rect x="621.14198" y="223.76543" width="10.80247" height="1.54321" fill="#f50057"/><polygon points="624.228 121.914 624.228 125 627.315 125 627.315 131.173 624.228 131.173 624.228 134.259 631.944 134.259 631.944 121.914 624.228 121.914" fill="#f50057"/><polygon points="624.228 160.494 624.228 163.58 627.315 163.58 627.315 169.753 624.228 169.753 624.228 172.84 631.944 172.84 631.944 160.494 624.228 160.494" fill="#f50057"/><polygon points="624.228 239.198 624.228 242.284 627.315 242.284 627.315 248.457 624.228 248.457 624.228 251.543 631.944 251.543 631.944 239.198 624.228 239.198" fill="#f50057"/><rect x="712.19136" y="200.61728" width="7.71605" height="12.34568" fill="#f50057"/><rect x="712.19136" y="220.67901" width="7.71605" height="12.34568" fill="#f50057"/><rect x="709.10494" y="242.28395" width="10.80247" height="1.54321" fill="#f50057"/><rect x="709.10494" y="341.04938" width="10.80247" height="1.54321" fill="#f50057"/><rect x="709.10494" y="358.02469" width="10.80247" height="1.54321" fill="#f50057"/><polygon points="712.191 256.173 712.191 259.259 715.278 259.259 715.278 265.432 712.191 265.432 712.191 268.519 719.907 268.519 719.907 256.173 712.191 256.173" fill="#f50057"/><polygon points="712.191 294.753 712.191 297.84 715.278 297.84 715.278 304.012 712.191 304.012 712.191 307.099 719.907 307.099 719.907 294.753 712.191 294.753" fill="#f50057"/><polygon points="712.191 373.457 712.191 376.543 715.278 376.543 715.278 382.716 712.191 382.716 712.191 385.802 719.907 385.802 719.907 373.457 712.191 373.457" fill="#f50057"/><rect x="214.43464" y="706.53418" width="827.6044" height="2.55433" fill="#2f2e41"/><path d="M464.48048,499.79525v52l7,32s-1,20,0,26-1,16-7,16-9,15-9,15-2,6-7,7-5,0-5,0l-4,10-83,55,16,40s25-9,27-12,19,4,19-3,3-25,9-26,56-24,56-24,26-29,28-40,11-42,11-42l25,42v84l-4,45,44-6s-4-28,0-32,10-52,6-58,2-33,0-37-1-33-6-41-35-90-35-90Z" transform="translate(-78.98048 -95.45574)" fill="#2f2e41"/><path d="M549.48048,774.79525s-15,25-5,28,29,0,31,0,38,1,38,1,24-5,24-12-15-7-20-8-36-13-36-13Z" transform="translate(-78.98048 -95.45574)" fill="#2f2e41"/><path d="M361.073,713.92342s-28.90243-3.82749-27.68058,6.54107,11.52662,26.61084,12.32156,28.44607c.53837,1.24292,6.85438,16.97832,10.87521,27.00587a58.47551,58.47551,0,0,0,12.83544,19.65205c3.93123,3.92912,8.216,7.07932,11.02623,5.86207,6.4233-2.78229.46126-16.54652-.60847-21.53206s-2.37991-38.20126-2.37991-38.20126Z" transform="translate(-78.98048 -95.45574)" fill="#2f2e41"/><path d="M561.98048,334.29525l32-74s-3-7-10-6c0,0-9.5-24.5-27.5-24.5,0,0-27-15-35,0,0,0-17,15-16,29s2,24,2,24-16,2-13,10,4,8,0,11l-4,3s-83,75-37,185l4,17v16s101,1,101,0-2-7,2-11,4-10,4-10-4-20-2-26,3-32-1-38-2-54-2-54l9-17-3-10-3-10Z" transform="translate(-78.98048 -95.45574)" fill="#8985a8"/><path d="M553.48048,534.79525s-12-33-11-39-2-18-2-18l-4-81s17-72-21-84c0,0-9.61547,4.19556-17.49389,17.697-7.79077,3.47015-17.24439,12.25226-19.50611,34.303-4,39,14,139,23,156s15,29,15,29l9.4065-4.18066c.38843.7705.5935,1.18066.5935,1.18066Z" transform="translate(-78.98048 -95.45574)" opacity="0.1"/><circle cx="480" cy="226.83951" r="3" fill="#f2f2f2"/><rect x="479" y="226.83951" width="2" height="47" fill="#3f3d56"/><path d="M522.98048,538.29525l8,17s18-6,18-9-8-16-8-16Z" transform="translate(-78.98048 -95.45574)" fill="#ffb8b8"/><path d="M511.48048,312.79525s-23,10-27,49,14,139,23,156,15,29,15,29l27-12s-12-33-11-39-2-18-2-18l-4-81S549.48048,324.79525,511.48048,312.79525Z" transform="translate(-78.98048 -95.45574)" fill="#8985a8"/></svg>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/assets/login-icon-two2.svg b/LA24030_LuLiPackageLine_Web/src/assets/login-icon-two2.svg
new file mode 100644
index 0000000..c9fa381
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/assets/login-icon-two2.svg
@@ -0,0 +1 @@
+<svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="1028" height="598.99741" viewBox="0 0 1028 598.99741" xmlns:xlink="http://www.w3.org/1999/xlink"><title>open source</title><circle cx="332.00497" cy="292.00357" r="292.00357" fill="#f2f2f2"/><path d="M1114,668.4987a13.68982,13.68982,0,0,1-.16992,2.12c-7.14014,43.76-234.46008,78.88-513.83008,78.88s-506.69-35.12-513.83-78.88a13.67509,13.67509,0,0,1-.17-2.12c0-.2,0-.41.02-.61,0-.11005.01-.21.01-.32a.48944.48944,0,0,0,.01-.12c.04-.45.1-.88.18-1.32,3.26-17.89,43.35-34.33,108.74-47.5,53.48-10.77,123.89-19.36,204.93-24.76,61.5-4.1,129.12-6.37,200.11-6.37,57.12,0,112.06,1.47,163.38,4.17h.02q16.11.855,31.74,1.87c71.33,4.62,134.63,11.69,185.63,20.54,31.37,5.45,58.1,11.58,79.18994,18.22h.01c32.46,10.23,51.6001,21.7,53.81006,33.83.08.44.13989.87.17993,1.32a.48659.48659,0,0,0,.01.12c0,.11.01.21.01.32C1114,668.08867,1114,668.29869,1114,668.4987Z" transform="translate(-86 -150.5013)" fill="#3f3d56"/><ellipse cx="501" cy="571.99741" rx="165" ry="24" opacity="0.1"/><path d="M1059.96,632.29869c-5.77,1.65-12.27,3.18-19.3999,4.58-29.36011,5.78-69.42005,9.33-113.53,9.33-49.28,0-93.45-4.43-123.38-11.44-24.84-5.81994-39.88-13.38995-39.88-21.69995,0-7.30005,11.63995-14.06,31.37-19.53,71.33,4.62,134.63,11.69,185.63,20.54C1012.14,619.52867,1038.87,625.65868,1059.96,632.29869Z" transform="translate(-86 -150.5013)" opacity="0.1"/><path d="M618,621.2487c0,15.13-94.92,27.4-212,27.4s-212-12.27-212-27.4a4.372,4.372,0,0,1,.96-2.62c53.48-10.77,123.89-19.36,204.93-24.76q3.045-.015,6.11-.01C523.08,593.85869,618,606.1187,618,621.2487Z" transform="translate(-86 -150.5013)" opacity="0.1"/><rect x="416.47191" y="334.97493" width="41.68539" height="134.58427" fill="#f50057"/><rect x="279.50562" y="271.85134" width="41.68539" height="197.70787" fill="#f50057"/><rect x="143.73034" y="271.85134" width="41.68539" height="197.70787" fill="#f50057"/><rect x="211.61798" y="271.85134" width="41.68539" height="134.58427" fill="#f50057"/><rect x="347.39326" y="271.85134" width="41.68539" height="39.30337" fill="#f50057"/><rect x="347.39326" y="334.97493" width="41.68539" height="134.58427" fill="#8a8b8c"/><rect x="416.47191" y="271.85134" width="109.57303" height="39.30337" fill="#f50057"/><path d="M901.062,410.53031q42.74823,0,72.77372,29.83923A97.98265,97.98265,0,0,1,995.66753,473.208a107.34579,107.34579,0,0,1,.09551,78.40916,93.53335,93.53335,0,0,1-21.73946,32.294,104.70367,104.70367,0,0,1-33.84136,22.5609,101.42451,101.42451,0,0,1-39.11384,7.82277,99.01466,99.01466,0,0,1-38.66173-7.73362A104.84511,104.84511,0,0,1,807.00731,551.165a101.7643,101.7643,0,0,1,.08913-77.59409A102.30668,102.30668,0,0,1,829.565,440.18488Q858.67354,410.53668,901.062,410.53031Zm.36932,18.3773q-34.93023,0-58.76787,24.37889A87.59486,87.59486,0,0,0,824.197,480.66778a80.78885,80.78885,0,0,0,0,63.31126,86.24851,86.24851,0,0,0,45.5771,45.30965,82.68682,82.68682,0,0,0,63.41-.08914,87.99456,87.99456,0,0,0,27.74106-18.37412q23.83128-23.28683,23.82809-58.40491a83.65859,83.65859,0,0,0-6.18627-32.02018,81.465,81.465,0,0,0-18.0016-26.92917Q935.98906,428.9092,901.43132,428.90761Zm-1.27673,66.59064-13.64925,7.09685a14.0061,14.0061,0,0,0-5.36482-6.36774,12.08742,12.08742,0,0,0-5.91563-1.818q-13.63969,0-13.64606,18.01115,0,8.18574,3.45449,13.09526,3.45768,4.9143,10.19157,4.91589,8.91644,0,12.55719-8.73335l12.55082,6.36774a29.99,29.99,0,0,1-26.74451,16.01168q-13.64448,0-22.01646-8.3704-8.36721-8.36721-8.36721-23.28364,0-14.55666,8.45954-23.10535,8.45795-8.5487,21.37969-8.55187Q891.97045,480.75694,900.15459,495.49825Zm58.76469,0-13.46459,7.09685a13.99175,13.99175,0,0,0-5.368-6.36774,12.37253,12.37253,0,0,0-6.09393-1.818q-13.64446,0-13.64924,18.01115,0,8.18574,3.45767,13.09526,3.45291,4.9143,10.19157,4.91589,8.90688,0,12.54764-8.73335l12.73548,6.36774a31.27658,31.27658,0,0,1-11.27409,11.73575,29.39766,29.39766,0,0,1-15.46405,4.27593q-13.83072,0-22.09923-8.3704-8.2908-8.36721-8.28444-23.28364,0-14.55666,8.46273-23.10535,8.45319-8.5487,21.37333-8.55187Q950.91184,480.75694,958.91928,495.49825Z" transform="translate(-86 -150.5013)" fill="#f50057"/><path d="M839.41688,660.83685c0,48.73748-67.93425,33.66253-151.11288,33.66253s-150.10359,15.075-150.10359-33.66253,67.925-59.33747,151.10359-59.33747S839.41688,612.09937,839.41688,660.83685Z" transform="translate(-86 -150.5013)" opacity="0.1"/><path d="M839.41688,648.83685c0,48.73748-67.93425,33.66253-151.11288,33.66253s-150.10359,15.075-150.10359-33.66253,67.925-59.33747,151.10359-59.33747S839.41688,600.09937,839.41688,648.83685Z" transform="translate(-86 -150.5013)" fill="#3f3d56"/><path d="M825.54156,561.34329l3.43359,14.16355a.88462.88462,0,0,1-.01719.478l-15.57547,48.67335a.88465.88465,0,0,1-1.72156-.16974l-2.15469-18.96122a.88471.88471,0,0,1,.03787-.374l14.29657-43.87567A.88465.88465,0,0,1,825.54156,561.34329Z" transform="translate(-86 -150.5013)" fill="#2f2e41"/><polygon points="738.278 412.038 741.449 424.19 727.711 468.572 724.541 454.835 738.278 412.038" fill="#f2f2f2"/><path d="M755.06392,628.58381c.52836,1.58507,54.949-.52835,55.47732-1.05671a11.4687,11.4687,0,0,0,1.16235-2.11342c.49669-1.05671.95107-2.11342.95107-2.11342l-2.11342-17.10815L756.649,604.27946s-1.34734,14.49808-1.62209,21.13422A15.85321,15.85321,0,0,0,755.06392,628.58381Z" transform="translate(-86 -150.5013)" fill="#2f2e41"/><polygon points="717.673 458.005 718.729 472.799 694.953 472.799 694.953 458.005 717.673 458.005" opacity="0.1"/><polygon points="687.028 462.76 687.17 462.732 686.5 469.1 673.291 469.1 673.291 462.76 687.028 462.76" opacity="0.1"/><path d="M755.06392,628.58381c.52836,1.58507,54.949-.52835,55.47732-1.05671a11.4687,11.4687,0,0,0,1.16235-2.11342H755.0269A15.85321,15.85321,0,0,0,755.06392,628.58381Z" transform="translate(-86 -150.5013)" opacity="0.1"/><path d="M671.05541,573.10649h14.79395l36.45652-14.26559s25.88942-10.56711,23.776,9.5104S740.27,615.37493,740.27,615.37493s-11.62382-5.28356-17.96409-3.69849-2.11342-32.22968-2.11342-32.22968-51.77883,24.8327-56.534,21.66257-5.81191-25.36106-5.81191-25.36106Z" transform="translate(-86 -150.5013)" fill="#2f2e41"/><path d="M671.05541,573.10649h14.79395l36.45652-14.26559s25.88942-10.56711,23.776,9.5104S740.27,615.37493,740.27,615.37493s-11.62382-5.28356-17.96409-3.69849-2.11342-32.22968-2.11342-32.22968-51.77883,24.8327-56.534,21.66257-5.81191-25.36106-5.81191-25.36106Z" transform="translate(-86 -150.5013)" opacity="0.1"/><path d="M694.36337,526.77716l17.90376,25.72347,41.74008,34.87146s38.56994,8.982,33.28639,15.32231-37.51323-6.34027-37.51323-6.34027S701.7,561.48268,700.115,558.8409s-19.0208-27.47448-19.0208-27.47448Z" transform="translate(-86 -150.5013)" fill="#a0616a"/><path d="M694.36337,526.77716l17.90376,25.72347,41.74008,34.87146s38.56994,8.982,33.28639,15.32231-37.51323-6.34027-37.51323-6.34027S701.7,561.48268,700.115,558.8409s-19.0208-27.47448-19.0208-27.47448Z" transform="translate(-86 -150.5013)" opacity="0.1"/><circle cx="605.66127" cy="324.33109" r="23.77599" fill="#a0616a"/><path d="M690.0762,495.9666s-7.92533,13.73724-9.51039,21.13422-23.776-14.79395-23.776-14.79395l-2.90595-7.66115s20.87-9.77458,19.285-17.69991S690.0762,495.9666,690.0762,495.9666Z" transform="translate(-86 -150.5013)" fill="#a0616a"/><path d="M683.73594,506.00536l11.62382,22.71928s-2.64178,11.09546-6.86862,12.15217-22.19093-13.73724-22.19093-13.73724Z" transform="translate(-86 -150.5013)" fill="#d0cde1"/><path d="M694.30305,537.17833l21.66257,28.53119,51.77883,38.56994s37.51323,7.92534,29.05955,13.73724-32.758-5.28355-32.758-5.28355-52.30718-28.00284-63.40265-39.62666-31.70132-31.173-31.70132-31.173Z" transform="translate(-86 -150.5013)" fill="#a0616a"/><path d="M665.2435,581.56018l6.34026,10.03875,37.83932-11.9045a29.75135,29.75135,0,0,1,24.7708,2.98851c6.60444,4.1608,10.83129,10.76524,1.32089,20.53981-19.0208,19.54915-31.70133,8.982-31.70133,8.982s-63.931,30.11625-74.49811,15.3223-11.09546-22.19093-11.09546-22.19093S658.90323,579.97511,665.2435,581.56018Z" transform="translate(-86 -150.5013)" fill="#2f2e41"/><path d="M744.49681,616.43164s16.90737,11.09546-3.17013,16.379-34.87146-2.11343-34.87146-2.11343-17.43573,0-17.43573-8.982,5.81191-10.03875,5.81191-10.03875l17.96409,2.64178S734.45806,608.50631,744.49681,616.43164Z" transform="translate(-86 -150.5013)" fill="#d0cde1"/><path d="M711.16583,468.8514a17.728,17.728,0,0,0,4.98235,1.78469,4.548,4.548,0,0,0,4.59533-1.96886,6.18073,6.18073,0,0,0,.522-2.7952c.06365-2.90132-.14619-6.03778-1.98475-8.28309-1.1701-1.429-2.87816-2.32977-4.08936-3.72406a17.59821,17.59821,0,0,1-2.06717-3.37767c-2.35552-4.42406-5.84318-8.67589-10.69025-9.9513a23.18347,23.18347,0,0,0-6.24-.47707l-12.20625.17221a21.25081,21.25081,0,0,0-5.872.632c-3.92885,1.1879-6.78945,4.49179-9.40936,7.65139a47.85117,47.85117,0,0,0-5.39639,7.44763,26.133,26.133,0,0,0-3.09771,12.80437,11.97989,11.97989,0,0,0,.43881,3.38808,18.80129,18.80129,0,0,0,1.33168,2.925c2.28907,4.49613,3.64824,10.1121,1.07032,14.44908,4.47812-1.82926,8.90892-4.22774,11.863-8.05834,1.3215-1.71364,2.35787-3.7197,4.119-4.9772s4.63076-1.36658,5.76072.479a5.163,5.163,0,0,1,.58258,2.41835,11.084,11.084,0,0,0,.66762,4.08133,3.05833,3.05833,0,0,0,3.32224,1.8956c2.30039-.648,2.0801-4.17861,3.85194-5.78243,1.3456-1.218,3.42157-.98516,5.15028-1.53807a7.64334,7.64334,0,0,0,4.38653-4.32052c.65453-1.46807.64508-5.3098,1.88365-6.10481C706.19386,466.62453,709.72609,468.20958,711.16583,468.8514Z" transform="translate(-86 -150.5013)" fill="#2f2e41"/><path d="M651.99646,492.13947a6.27057,6.27057,0,0,1,3.26389.00831c3.39162.91054,10.99473,3.321,12.62493,6.989,2.11342,4.7552,9.51039,12.15217,9.51039,12.15217s10.03876,10.03875,7.92534,16.90737-10.03876,14.794-10.03876,14.794,2.11342,32.758-8.45368,41.21172-14.794,2.64178-14.794,10.56711-32.758,32.758-39.0983,17.43573c0,0,3.17014-28.5312,2.11343-38.56995C614.00826,563.74087,615.53292,502.01108,651.99646,492.13947Z" transform="translate(-86 -150.5013)" fill="#d0cde1"/><path d="M668.942,505.477s32.22968,23.776,26.41777,33.81475c0,0-19.54915,9.5104-23.776,8.982s-20.60586-19.02079-24.8327-20.60586S640.4108,497.55167,668.942,505.477Z" transform="translate(-86 -150.5013)" fill="#d0cde1"/><path d="M579.81065,526.78274c-5.01266,1.69284-9.5539,5.65228-10.58039,10.84253-.47582,2.40592-.18409,4.907-.58451,7.32661-.92865,5.61161-5.33358,9.89722-9.39638,13.878s-8.2584,8.60617-8.55492,14.28636c-.3247,6.22,4.1862,12.047,3.40563,18.22633-.90687,7.17909-8.48947,11.831-10.36389,18.82016-1.25164,4.667.28211,9.6942,2.8055,13.81484,4.80858,7.85231,13.0279,13.18323,21.78085,16.041s18.07506,3.45905,27.28222,3.55552c11.21079.11746,23.38277-.845,31.806-8.244a25.48043,25.48043,0,0,0,8.459-16.5882c.8002-8.57064-2.77695-17.42641-.30951-25.67311,1.55287-5.19,5.44709-9.93,4.86592-15.316-.56823-5.26625-5.16773-8.99907-8.32312-13.25346-2.9461-3.97222-4.7338-8.66319-6.48587-13.28794l-5.99481-15.82383c-1.17848-3.1107-2.47257-6.38232-5.09885-8.424-4.91665-3.8221-12.82242-3.07115-18.57152-2.28285C590.61855,525.412,584.93966,525.0506,579.81065,526.78274Z" transform="translate(-86 -150.5013)" fill="#2f2e41"/><path d="M581.68806,572.87747s2.65748,8.63681-17.27362,18.60236,1.99311,20.59548,1.99311,20.59548l23.25295,5.315s23.91732-3.32185,26.5748-7.30808,7.30808-17.27362,5.97934-19.26673a31.0614,31.0614,0,0,0-3.32186-3.98622s-15.94488-2.65748-15.28051-9.96555S581.68806,572.87747,581.68806,572.87747Z" transform="translate(-86 -150.5013)" fill="#ffb9b9"/><path d="M581.68806,572.87747s2.65748,8.63681-17.27362,18.60236,1.99311,20.59548,1.99311,20.59548l23.25295,5.315s23.91732-3.32185,26.5748-7.30808,7.30808-17.27362,5.97934-19.26673a31.0614,31.0614,0,0,0-3.32186-3.98622s-15.94488-2.65748-15.28051-9.96555S581.68806,572.87747,581.68806,572.87747Z" transform="translate(-86 -150.5013)" opacity="0.1"/><circle cx="508.64328" cy="414.73592" r="21.25984" fill="#ffb9b9"/><path d="M592.318,610.08219s-25.60367-1.87245-26.08923-19.53858c0,0-9.12238-1.05689-11.77986,1.60059s-11.2943,4.65059-11.2943,11.29429,14.61615,26.57481,14.61615,26.57481,7.97244,26.5748,4.65059,31.22539-3.98622,16.60925-3.98622,16.60925,33.2185-2.65748,38.53346,0,26.57481,2.65748,27.90355,0-1.32874-35.876-1.32874-35.876,5.97933-7.97244,4.65059-17.27362L644.13885,606.096s-5.97933-17.938-15.28051-17.938c0,0-12.623-3.32185-12.95522-1.66092S622.21464,606.76034,592.318,610.08219Z" transform="translate(-86 -150.5013)" fill="#ff6584"/><path d="M532.52467,668.54676s5.97933,9.30118,21.25985,11.29429,17.938-3.32185,16.60925-4.65059-17.27362-7.30807-17.27362-7.30807l-9.30119-7.30807Z" transform="translate(-86 -150.5013)" fill="#ffb9b9"/><path d="M641.48137,660.57432l-17.27362,9.96555s-22.58859-1.32874-13.95178,5.315,24.5817,3.98622,24.5817,3.98622l15.28051-7.30807Z" transform="translate(-86 -150.5013)" fill="#ffb9b9"/><path d="M555.11326,677.84794s-15.94489,39.19784,3.32185,45.17717,72.41634,4.65059,84.375-3.32185,15.28051-18.60236,13.2874-21.92421-15.28051-12.623-24.58169-13.2874S555.11326,677.84794,555.11326,677.84794Z" transform="translate(-86 -150.5013)" fill="#2f2e41"/><path d="M555.11326,677.84794s-15.94489,39.19784,3.32185,45.17717,72.41634,4.65059,84.375-3.32185,15.28051-18.60236,13.2874-21.92421-15.28051-12.623-24.58169-13.2874S555.11326,677.84794,555.11326,677.84794Z" transform="translate(-86 -150.5013)" opacity="0.05"/><path d="M630.37766,680.28318s56.28087-20.37323,55.6165,4.20847-35.876,31.22539-35.876,31.22539l-10.62992,1.32874-58.46457,1.99311s1.99311-10.62992-2.65748-11.95866c0,0,15.28051-3.98622,15.94488-4.65059s38.53347-13.95177,41.19095-14.61614,10.62992-5.97934,16.60925-5.315c0,0,6.6437-5.315,13.95177-3.98622l-20.59547,1.32874Z" transform="translate(-86 -150.5013)" fill="#2f2e41"/><path d="M630.37766,680.28318s56.28087-20.37323,55.6165,4.20847-35.876,31.22539-35.876,31.22539l-10.62992,1.32874-58.46457,1.99311s1.99311-10.62992-2.65748-11.95866c0,0,15.28051-3.98622,15.94488-4.65059s38.53347-13.95177,41.19095-14.61614,10.62992-5.97934,16.60925-5.315c0,0,6.6437-5.315,13.95177-3.98622l-20.59547,1.32874Z" transform="translate(-86 -150.5013)" opacity="0.1"/><polygon points="534.434 533.081 541.53 549.271 584.714 533.99 588.036 525.354 576.741 523.36 554.035 527.347 544.187 530.004 534.434 533.081" fill="#2f2e41"/><polygon points="534.434 533.081 541.53 549.271 584.714 533.99 588.036 525.354 576.741 523.36 554.035 527.347 544.187 530.004 534.434 533.081" opacity="0.1"/><path d="M528.53845,703.094s12.623,15.94488,27.23918,19.9311,22.58858-1.32874,22.58858-1.32874L573.71562,703.094l-1.99311-11.95866L563.0857,685.156l-17.27363-7.97245-20.59547-6.6437s-8.63681-1.32874-8.63681,0,7.97244,21.25985,7.97244,21.25985Z" transform="translate(-86 -150.5013)" fill="#2f2e41"/><path d="M543.819,711.73082s2.65748,19.26673,5.97934,20.59547,13.2874-1.32874,15.94488-2.65748,11.69054-7.45919,11.69054-7.45919S545.81207,710.40208,543.819,711.73082Z" transform="translate(-86 -150.5013)" fill="#f2f2f2"/><polygon points="518.277 563.223 530.9 565.216 529.571 580.496 511.964 576.22 518.277 563.223" fill="#ffb9b9"/><path d="M612.18567,717.97655s-5.91592,7.04167.06341,11.02789l3.98622,3.32185s13.28741,2.65748,14.61615,3.98622,6.6437-1.99311,6.6437-1.99311.66437-19.9311,0-21.25984-8.63681-2.65748-9.30118-1.32874-8.63682,3.32185-13.28741,1.99311Z" transform="translate(-86 -150.5013)" fill="#f2f2f2"/><path d="M559.09948,682.49853s-46.50591-27.23917-53.814-17.27362-15.28051,23.91733,5.97933,34.54725,87.69685,32.55413,87.69685,32.55413,9.96555-15.28051,9.96555-19.26673c0,0-35.21161-15.94488-41.19094-17.27362s-29.89666-16.60926-33.21851-17.938-7.97244-5.315-7.97244-5.315Z" transform="translate(-86 -150.5013)" fill="#2f2e41"/><path d="M545.81207,600.11664l-2.65748,1.99311s-5.97933,15.28052-6.6437,23.91733-8.63681,35.21161-7.97244,38.53346,1.32874,5.97933,5.315,9.30118c0,0,5.315-11.95866,14.61615-9.96555l11.29429-41.19094Z" transform="translate(-86 -150.5013)" fill="#ff6584"/><path d="M638.82389,600.11664l5.315,5.97933s3.32185,7.97245,3.32185,9.96556,6.6437,31.22539,7.30807,32.55413,3.32185,17.938,0,21.92421-9.30118,6.6437-9.30118,6.6437,3.98622-13.95177-8.63681-14.61614l1.32874-5.315-11.95866-39.8622Z" transform="translate(-86 -150.5013)" fill="#ff6584"/><path d="M547.14082,645.85762v34.9949a8.41342,8.41342,0,0,0,8.2888,8.41251l73.18511,1.08423a8.41344,8.41344,0,0,0,8.53185-8.08916l1.34611-34.999a8.41344,8.41344,0,0,0-8.28529-8.73591l-74.53123-1.08016A8.41342,8.41342,0,0,0,547.14082,645.85762Z" transform="translate(-86 -150.5013)" fill="#3f3d56"/><ellipse cx="509.89011" cy="401.732" rx="22.88412" ry="12.32222" fill="#2f2e41"/><circle cx="505.9858" cy="513.72706" r="5.31496" fill="#f2f2f2"/></svg>
\ No newline at end of file
diff --git "a/LA24030_LuLiPackageLine_Web/src/assets/logo - \345\211\257\346\234\254.png" "b/LA24030_LuLiPackageLine_Web/src/assets/logo - \345\211\257\346\234\254.png"
new file mode 100644
index 0000000..5de6838
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Web/src/assets/logo - \345\211\257\346\234\254.png"
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Web/src/assets/logo-mini.png b/LA24030_LuLiPackageLine_Web/src/assets/logo-mini.png
new file mode 100644
index 0000000..da49afa
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/assets/logo-mini.png
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Web/src/assets/logo-mini.svg b/LA24030_LuLiPackageLine_Web/src/assets/logo-mini.svg
new file mode 100644
index 0000000..cdb23a5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/assets/logo-mini.svg
@@ -0,0 +1,109 @@
+<?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="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">  <image id="image0" width="100" height="100" x="0" y="0"
+    href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABGdBTUEAALGPC/xhBQAAACBjSFJN
+AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAW
+PUlEQVR42t2deXxTVdrHvzdN0r1paRtIoWwRBGS1LLIUFNkEKaA4oCAKowyM6Ci+w/i6My4j6qjj
+6LjgijoDOIqigFpwQJF9FRgoJUDX295SuqV72rx/pAn3pknXe4O+v88nn889y33OPeeXc+5Znue5
+gtPp5JcKq8UsAL2AYUAS0B3oBliAMMDkdUtlw68QyGz4nQL2AQdsomS/3HVqDsIvjRCrxWwEJgMz
+gelAvEqi64FdwBfAZzZROn+56+oLvxhCrBZzPPB7YAnQSePinMDXwN9topR6uesux2UnxGoxhwLL
+gYeACH/5dIJA7wGD6dqjBwmdu2AyRREaGorBYPTkKSsrpaamlvw8kazMTE4fP0bxxQvNPcJ2YLlN
+lA5f1oZowGUlxGoxXwN8AvT0TtMJAmMmTWHS5BsYPGQw1p49MRqNrS4jLy+PU2lp/PjDj2z+4nOk
+3Gxf2ZzAi8CjNlGquWwNwmUipOFlvQJ4BgiSpyVae7Hw7t8xY8YMoqNNbZLvD06nk/0HDvLxR2vY
+9OlaX1kOAzddzvdLwAmxWsxBwLvAHfL4mLh4Vjz+JDfNmoVer9f8OWy2s7zw/CpSN27wTpKASTZR
+OhrQhmlAQAlp6BkfAAvk8dNumctTTz2FyaRuj2gJvvn2W1Ys+z3l9jJ5dCkwxiZKxwL9PIEm5Hng
+j/K4lS++zPx58wJdbwVEMY+FC+aTfvxneXQucI1NlLIC+SwBI8RqMd8CrHeHdYLA6x9+zKSJEwNZ
+X78oLS1j0Z0LOLz7J3n0XmBsIF/0ukAUYrWYOwOr5XEvvrH6F0MGQFRUJO99sIZe/QfKo0cATwTy
+OQJCCPA6sm2Oxfc/yIwZKYGsZ4sQFRXJ6vfeJzQ8XB69wmoxDwjUM2hOiNVivg6Y4Q73G5LEgw8+
+GKj6tRqJiYk8+9Kr8ig98NdAlR+IHvKUPPDsqhcCMq1tD1JSpjP6+knyqIlWizk5EGVrSojVYh4N
+jPZUdM48BgzoH4h6tRt/evjhRlGBKFfrHrJEHrhr8d2BqJMquKpfP0aNV0w6plot5m5al6sZIVaL
+ORiY5Q4PH3sdV/Xrp3V9VMXdSxT/JwG4ResytewhEwDPdGXObbdpXRfVMWrkSKJiOsijZmpdppaE
+TJcHxiaP1bouqkOv1zPjlrnyqJFWizlOyzK1JGSM+2LomHF06BCjZT00w7Xjr5MHdcA1WpanCSFW
+izkC6OsODxuhaR00xYD+jWaFI7QsT6se0k8ue/DgwVrWQVPExsZi6dpdHqXpql0rQqzyQNeuXbWs
+g+boO0Cxv9WzrXJaAq0ISZQH4uM1fQ9qjs6du3iuBUHoZbWYNfuHqU6I1WK+GXhMHheu3Kz71SE6
+5tKExOl0hgCnrBbznVqUpSohVov5T8C/8dIeqamp1eLZA4bq6irvqFDgfavF/Hu1y1KNEKvFfBvw
+nK+04uJitZ+b3Xv2Mn5sMmNHjSQ1davq8uWQ8iV/SX+3WszD1SxLFUKsFnM0rjMPnygsLFTzmQFY
+fs9SMtLTyDln456Ft1NZWal6GW5I+Xme60RrL3mSDpfmjGpQq4csAqLdgbmLlJuIF4uKVG2g2tpa
+hX5VXV0d+fn5qpYhR05Wpud69LhrGT9Ncbg2wWoxJ6hVllqEeJ4wukMc9953nyJRktRtLIPBgCAI
+ijh7ebmqZciRc87muY6PN3PnokXeWVRb+apFyGD3xeQZM+loNqOTNVjhBd9DltPp5OTJU9jtrVdK
+N8XEKsIVFb6HrJMnT3HkSGMVq/QzZxjSrw8p06b6vRfAbrfjcDg8YbPZTK9evbyzJaIS1CLEc17e
+rVt3BEGgk2x1m5cn+rzp9ddf58bxY7lxymRFpd3YsuUbbp83j9179jZKi4k3K8KVlRWN8pw8eYob
+x4/l5hsmsmvXbkXaW2+8SWnRRU4cOoDNZsMfiotLFOG4+Djq6+q8s6mmlaIWIZ6/WFHRRQAsXS79
+aS4UFPi8KSfb9R7IsqWzdds2RVptbS3Ll9zNru9TefbPTza6NzIqShGuKG9MSHnFpWHsxVXPkZGZ
+SV1dHampW/niXx8BYDQG07t3o3/8pWe/oFTWjouN4+ChQ97ZTqnUjqoR4tEw+27zJpxOJ50sFk9i
+brZPBWemp3h0H3joD/dy6PBhnE4n+fkSzzz9DDU11QD0Hzio0b2NCKloTMjgQYM8+1BH9+1m/Iih
+9O5iYcmC23Droy1/7AmCg4P9VqzIa0Jiijbx7ltvyaPKgD0qtSNqaRtspmEXNCM9jR937sTcsaMn
+MS/Ht/LfqFEjGTNhMju3fktZSTG3TJ3cKI8gCCy4485G8RGRkYpwWVlZozx6vZ7VH65h7ozp2EtL
+GqXf+JtbWbRwYZMVy5eUa5CtqVs5uk8x/K2ziZJqc261esgawDOwPvHw/xIpa7ACMZe6xuMuAK++
+9hoDh/mepOh0Ol595wP69u3TKC0iQmlKYreX+ZTRt08ftu/dzyPPrGJiyiwGDB3BDTfdwtufrOWV
+V14hKCiIplBYeGnIEgSBF1cqdoVq8NKqaS9U6SE2UTpvtZjfBRYDZJ45zddffqHIU1xSQmyHDo3u
+NZlMfPr552zatJlNX39FVkYGXbp2Zeiw4aSkpGCx+DamioxSKmaXNzHtjYmOZtGihSxa1HRv8IX8
+vEuLQqfTiZfi7eM2UcpspcgmoaaC1MO4jm0tAGdPnlAkFhcX+yQEGo5KZ6S0Spsx0mvIasvUuSWQ
+/C84PwaeV7s81faybKJUiGuBWOorPUin7sZyeHiYImwv04aQct9EvwDcaRMl1TXVVW0lmygdwGVB
+22g3rl5lLfvwcOU7pLxcG0JM0dGea71eXwdMsInSCpso1bVZaBNQ/TzEJkp7gEGAQq+/tKS0bQL9
+IMyrhxSrvF/mS25IWPg+myhta4e4ZqHJiaFNlPLw0lrMzsluozTfCA9THnqVlhRrURVOHbu07WIv
+LTmrSSEyaKkGlAZ49kMOH1LX6th7HWIvVbcHAuSKIkUXFLsM/1W9EC9oRohNlGoBzwpq8xef+12L
+tAVhoaGKcFGB1EZJ/vHDjh+8o35UvRAvaK1svcl9IeVms+OHH9ojS4HQMCUhVZUVqGmeV19fz/vv
+vC2PKkT2B9MKWhPyIeA5UF/1zNPU1KizMRrq1UMAKiur2iDJNzZs+IIzJxRGuB/aRMnRVnkthaaE
+NLzc33WHz5w4xksvvaSK7DAfhFRUqHNIlZmZxeN/XC6PqsLl6UFzBMKC6kngojuw+m8v8fEnn7Rb
+aGhoWKM4Nc7V8/LzWbTgdqqU5yvP2URJbKvM1kBzQmyilA8slcc98T8P8Morf6O+vr7NcsPC1B+y
+0s+c4dbZN3MuTTGZ2ovKigxNISBWuDZRWo+rp3jw91XPcP24sdhsbZ/ae1nL+jwTaQkcDgfvvvce
+N143lswzp+VJWcDMQLw73AiUWTQ2UVoJvCOPyzxzminJI3nqqafJa4PWSEyc9zFu64asuro6vktN
+5eq+V/LsIw95HyNnAskN78GAIWCEWC3mZXj5OAHXHtcH/3iVMUMGct9997F9x44WN2yE1xZ8S3d8
+z547x1tvvc24USNZumCet58TN7oC/7BazH1aJFQlBMQ+2WoxP0czVqxOp5NNn65l06dr0el0jJ4w
+ieRx1zKg/wB69OxBfFxjhe0oL2c1dh8bjNXV1WRkZpKens6e3bvZ9s0W8rNbfIQxFRhvtZgX20Tp
+o0C0lea+TqwW8z3Aa/K48dNSeOSxx8jKyuavq57j2IG9zcqJiDLR88q+JHbrRmxsHKFhoWz5aqNi
+zE+eNAXrFb2pqCgnNzubrIzzZJ453eyC0WDQM2b4YLpEh3DAJnHy1Glf2RbbRGk1GkNTQqwWsxU4
+AXi0CB58bCVLly5RKLodOHiQdf/6F1+u/UTV7ZXm0OfKXtw00Mz1ZccJLy/2xKd36sM/zoeye/8R
+efZaYITWrgC1JuQjYL47/MCjT7Dsnnv85q+oqOTQ4UPs2L6dbd9+Q0Z6mqrPYzDoSR4xmDEJRobU
+ZGEp9D90OXV63o4ayftf7ZRH/2gTJU2tVzUjxGoxm3AdVBkB+icNZ8PGjeh8nBwWXrxIQUEBV/bu
+reg5JSUlnDlj4/Tp02RnZ5GVmUlOdhYXL1zgopRPeVmpYjgSBIHw8HASuyQQExVOYodQEsJ1JBoq
+6VEl0akoF6G+5TNYpxDEH2sGs3OPQg/rai17iZYv9WQ3GQBLlt3rk4xTaWnMnDie2tpablmwkOdW
+rfKkmUwmkpKuJinpasU9x4+fYPbUSY3eDU6nE7vdzrxBMUzI3QPluH5+kBebyBtFCTidTu6LziKu
+SLkYF5x1LO1Sxk7lbSm4fDNqAi2nvQrjyOHDh/nMtHfPXmprXfuPn655ny1bvmlW8BOPPeK5xxee
+/vIo9oimzbDTO13JHf8p49sd+/juh/28V9nDZz6rlE4npebLEA3bTFNCFC3iT+Nk9OjRimHq/sWL
+2Ltvn1+hOTk5HNmzq8mCq6qq+D7iKr/pBxOGsHCDjZKSS8pzEUY/+llOJ316dJbHqGZ64AtaEqJY
+3fn7R19xhZUHHr3ktM3hcDB/5nTWrlvvc7r60y7/ZMg17r8+edFnnu8sI7ln3REcjkuzuRFDB3Gn
+42e/cr2eQtPFtJbCM+SBc+fO+824dMkSbrjpkl+XeqeTR+5fxtzf/IZ9+w8o8m5L9e8ZXG8weFr5
+5+MnFcNWfZCBd2KSeXy9Ug13yrgRvBidRlhFiU+ZDkMIew4el0cdR0NoSYhi3DnUWGP80kPodLz0
+8svcPF/hypcDO3dwa8pUJk+4njfffIv9Bw7wn81fedI7mDsq8jtqa6vl4bORLnPmowkDmZ3ekXc2
+Kl/P86eO4XHhEIZq/1s1J+N6UV2tELtdwzbTdNorACLQEVz+TtZ9+mmz961du44nVyxv8qXtxrTZ
+c9j073XyqApcn7EAYOSwwZRVVHH8RGNrgT/NHs0s6Sdopv4rg65hy3bPToID6NSgFKgJtFRycAIe
+f94Hdu7g52PN+yWeO3cOO/YfZv7ipT6nyW4IgkDS0EYztzBkmpO79x9pREZQUBCvzRnMrPydzZKR
+F5soJwNgo5ZkgPa7vW8jeyf+5emnW6SI0LGjmZUrV7L76HEefuY5rrp6aKM8E1NmKUwe3JgxYWSU
+P7lx8XF8eJOVobktWEYIAq8XWrxjX9C4vQKyubgWmOMOP/nCS9w+f36r5RRcuMCxY8c4e9Z1oDX7
+5tns3rOHZQtvV+TbOKMzL+R35Mc9hxAEgX59ezOudzzXC5l0vpDR4vK2JlzDo+sUvWOzTZSmadpY
+BIaQHsAxGrzL6QSBNZ9vZOQ17fdytH3HDn47V+l1b8fEcIKr7NTpg9HV17Vqq8SNtE59WfR5unyj
+sxrobxOlM5o2FoE5Uz+H69MUgGtKe9dtc5pc/LUU3qbRAJXBrnd6kKO6TWSc7tSH33113nvX+X8C
+QQYE7sTwDcAzHaqqrGD+zOmsW7++XcptoSGhbb7XF35IGM6iDWeoqlIoS/zTJkqvtVVmaxEoJQcn
+ruNbj1OSeqeTh/+wjLvuXEBWdhsVsX30kCp9cKvFlETF86xxFCvW7Ves4IFUoPVmV+1AIJUcaoBp
+nSydFEvt7d99y/jhSfz5ofvJOXe6jdIvoV5oeZVKouJYE5tMytYyNm5TaomOHZl0Drgx0J9A0nJh
+6P783TRcnh66AaF6fZAhOjomrLCw0OdwlTzmGmZNHsuYKTcR26Vp52379h/g1pSpirgNMxObPHg6
+H9+T7+u6sOOUSFqa79eC0WjEaDRW2u32U8A54BDwPbDXJkptVyZrATQhROaqqV0uJyydOzMiaSCD
+BvRjYNIIuvUZRIzMmZgvQjZP74jRUUNJSBSlhjCO13Xgx/N2xIIicrKz26WcB+QAbwKvaPWRSlUJ
+afi+1Nu4vANpAkEQMBqNREXHIOh0SGKuVkU1BRGXjeF3qtdPZUJeAxSH5jpBYOCAfhW9LKb6+FBd
+RLkDKmrrOV9g579ptibNmbVGcLCRK6w96N81ljCDjtAgCNM7qXAIVDggt7SGw6fOOQqkAl8nq/XA
+HTZR+ljNZ1KNEKvFPAXYIo9bMjOZm2tOEFnmZ/tHECiJjEUMiydbZyKj0kD6hUqOp2dwoaDZD0K2
+GnHxcQy6sjujE4yMLf0vEeUts0ssiElgp7Fn/evfHK2x2+0hsiQHcK1NlH5qkaAWQE1CjuAy9gTg
+5TlJjMw90GZ5tcGhXIiIRwqOIc0RRdpFB9kXSpEKi7hYWEh1te/JT3CwkQ6xcZhjo+lqjsJq0tNH
+X0q/wnSMNW3T/XWjOiScvzGo/vPU3fKp3AlgoFove1UIsVrMVwMH3eE5U0bxQLlqf5omG6jGEEJQ
+vQN9bW27G7wlcApB/MUwwnuaPNMmSl+qIV+tdcgEeWBWeGD0k4OryoksKySsvCQgZIBLE+Xe4DTF
+cTEqfjVBLUI8ft5NJhPdCzS3Hr6siCwrZEKy4khglFqy1SLE42+vW2JCswc//x9wZaxii0a1L++o
+RYhnSnTi5GkchpD2yPpVwGsbrfUbaH6gFiEeDYa6ujoyOvy6ne+3BLvPKxwVnFdLrlqEbJcHUqs6
+tlHMrwO5cd3Yf0ihx/W9WrJVIcQmSsdxudIAYP22g1SGRrVD4i8bq4sanbWvUUu2mtvvHmOWispK
+/hkyqD2yfrHYnjDCWxNlr02UdqglX01C3kL2cl+9cSfHEwL2CdmAIK1TXx797KA8ygk8oGYZanqU
+swMPyePu33SeDLO1jRJ/WTicMJjfbkj3PlF83iZKqvo/UfvE8D1goztgt9u5Y1Muxyy/3p5Spzfy
+z/hklq476k3GJuARtctT/YDKajFHATvxsg9ZOjOZeaX70Neq5yBGa5ywXMULR2s5lZbunZSKa/9K
+9f0arU4M43EpNCi+ptW9R3fuHR7HqLzDbVLRCQScOj0/d7qKD88FsWufTw3HD3FZ5Gpy1q7lmXoU
+Lk9As73TuvfozryhCYytSMNUqv65R2vhFILIjO/OzvoEPtt3jtycHF/ZyoBlNlFSbYrrC4HQXFyM
+y7+tyVf6qOFDuLZbGAPr8+hamIGuTvvvVVWHhJNl6sJZXQeOFun4/uBJii76Paxy4lpnPGoTJXUd
+R/qA5oSAZwhbCdwFGPzlMxj0JA26il4dI+kWXk9HoQJTfSXRtXYiqsoIK/dtVFMfZKTWYKQ8OBy7
+MZzKoGAqdUYqMWDHQJFDj1jhJLekigyxkPNNGA/JUAt8hss109GW3KAGAkKIGw2fBroPl/KZua1y
+jEZDncFgdDocDl11dbXaM8VjwHpgdYNrqYAiEENWGC734x1wbdPHApG4dLWGAb0awpcLNbgcrGUB
+J3HZ1pfjsjOpargubMhTCBTYROli24pqHmprnVyB6yWeBPTG5VEnWquHv4yowmVDeR7XTvc3NlFS
+xcOn2o4DTLjMht2/6IA1UWARAnTG1btE2jH8ekNrXychuHpJPK4hy4zLfj0C1zAVgstuRH4d1XDt
+thU0NMTLYcT1tc3mUIvL7lCOai6ZbNc0pLuHpwqgpOG6UnbtHq4KcQ1pOTZRKtaizf4PV50BWOWi
+VUwAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMTAtMDZUMDM6MDc6NDQrMDA6MDA7KaCOAAAAJXRF
+WHRkYXRlOm1vZGlmeQAyMDIyLTEwLTA2VDAzOjA3OjQ0KzAwOjAwSnQYMgAAABl0RVh0U29mdHdh
+cmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAASUVORK5CYII=" />
+</svg>
diff --git a/LA24030_LuLiPackageLine_Web/src/assets/logo-mini2.png b/LA24030_LuLiPackageLine_Web/src/assets/logo-mini2.png
new file mode 100644
index 0000000..ec0aeec
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/assets/logo-mini2.png
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Web/src/assets/logo.png b/LA24030_LuLiPackageLine_Web/src/assets/logo.png
new file mode 100644
index 0000000..ec0aeec
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/assets/logo.png
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Web/src/components/Pagination/index.vue b/LA24030_LuLiPackageLine_Web/src/components/Pagination/index.vue
new file mode 100644
index 0000000..8095521
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/Pagination/index.vue
@@ -0,0 +1,90 @@
+<template>
+  <div :class="{ hidden: hidden }" class="pagination-container">
+    <!-- :background="background" -->
+    <el-pagination small background v-model:current-page="currentPage" v-model:page-size="pageSize"
+     :layout="layout"
+      :page-sizes="pageSizes" 
+      :total="total" v-bind="$attrs" />
+  </div>
+</template>
+
+<script lang='ts'>
+import { defineComponent } from 'vue'
+import { computed } from 'vue'
+export default defineComponent({
+  props: {
+    total: {
+      required: true,
+      type: Number,
+    },
+    page: {
+      type: Number,
+      default: 1,
+    },
+    limit: {
+      type: Number,
+      default: 15,
+    },
+    pageSizes: {
+      type: Array,
+      default() {
+        return [10, 20, 50, 100, 200, 500]
+      },
+    },
+    layout: {
+      type: String,
+      default: 'total, sizes, prev, pager, next, jumper',
+    },
+    background: {
+      type: Boolean,
+      default: true,
+    },
+    autoScroll: {
+      type: Boolean,
+      default: true,
+    },
+    hidden: {
+      type: Boolean,
+      default: false,
+    },
+  },
+  setup(props: any, ctx) {
+    const currentPage = computed({
+      get() {
+        return props.page
+      },
+      set(val) {
+        ctx.emit('update:page', val)
+        ctx.emit('pagination')
+      },
+    })
+    const pageSize = computed({
+      get() {
+        return props.limit
+      },
+      set(val) {
+        ctx.emit('update:limit', val)
+        ctx.emit('pagination')
+      },
+    })
+
+    // const handleSizeChange = (val: any) => {
+    //   ctx.emit('pagination', { PageNo: currentPage.value, PageSize: val })
+    // }
+    // const handleCurrentChange = (val: any) => {
+    //   ctx.emit('pagination', { PageNo: val, PageSize: pageSize.value })
+    // }
+    return { currentPage, pageSize }
+  },
+})
+</script>
+
+<style scoped>
+.pagination-container {
+  background: #fff;
+}
+
+.pagination-container.hidden {
+  display: none;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/components/auth/auth.vue b/LA24030_LuLiPackageLine_Web/src/components/auth/auth.vue
new file mode 100644
index 0000000..0585888
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/auth/auth.vue
@@ -0,0 +1,26 @@
+<template>
+	<slot v-if="getUserAuthBtnList" />
+</template>
+
+<script setup lang="ts" name="auth">
+import { computed } from 'vue';
+import { storeToRefs } from 'pinia';
+import { useUserInfo } from '/@/stores/userInfo';
+
+// 瀹氫箟鐖剁粍浠朵紶杩囨潵鐨勫��
+const props = defineProps({
+	value: {
+		type: String,
+		default: () => '',
+	},
+});
+
+// 瀹氫箟鍙橀噺鍐呭
+const stores = useUserInfo();
+const { userInfos } = storeToRefs(stores);
+
+// 鑾峰彇 pinia 涓殑鐢ㄦ埛鏉冮檺
+const getUserAuthBtnList = computed(() => {
+	return userInfos.value.authBtnList.some((v: string) => v === props.value);
+});
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/components/auth/authAll.vue b/LA24030_LuLiPackageLine_Web/src/components/auth/authAll.vue
new file mode 100644
index 0000000..911a797
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/auth/authAll.vue
@@ -0,0 +1,27 @@
+<template>
+	<slot v-if="getUserAuthBtnList" />
+</template>
+
+<script setup lang="ts" name="authAll">
+import { computed } from 'vue';
+import { storeToRefs } from 'pinia';
+import { useUserInfo } from '/@/stores/userInfo';
+import { judgementSameArr } from '/@/utils/arrayOperation';
+
+// 瀹氫箟鐖剁粍浠朵紶杩囨潵鐨勫��
+const props = defineProps({
+	value: {
+		type: Array,
+		default: () => [],
+	},
+});
+
+// 瀹氫箟鍙橀噺鍐呭
+const stores = useUserInfo();
+const { userInfos } = storeToRefs(stores);
+
+// 鑾峰彇 pinia 涓殑鐢ㄦ埛鏉冮檺
+const getUserAuthBtnList = computed(() => {
+	return judgementSameArr(props.value, userInfos.value.authBtnList);
+});
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/components/auth/auths.vue b/LA24030_LuLiPackageLine_Web/src/components/auth/auths.vue
new file mode 100644
index 0000000..41b8b27
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/auth/auths.vue
@@ -0,0 +1,32 @@
+<template>
+	<slot v-if="getUserAuthBtnList" />
+</template>
+
+<script setup lang="ts" name="auths">
+import { computed } from 'vue';
+import { storeToRefs } from 'pinia';
+import { useUserInfo } from '/@/stores/userInfo';
+
+// 瀹氫箟鐖剁粍浠朵紶杩囨潵鐨勫��
+const props = defineProps({
+	value: {
+		type: Array,
+		default: () => [],
+	},
+});
+
+// 瀹氫箟鍙橀噺鍐呭
+const stores = useUserInfo();
+const { userInfos } = storeToRefs(stores);
+
+// 鑾峰彇 pinia 涓殑鐢ㄦ埛鏉冮檺
+const getUserAuthBtnList = computed(() => {
+	let flag = false;
+	userInfos.value.authBtnList.map((val: string) => {
+		props.value.map((v) => {
+			if (val === v) flag = true;
+		});
+	});
+	return flag;
+});
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/components/bcProp/cancelconfigOpenAllprop.vue b/LA24030_LuLiPackageLine_Web/src/components/bcProp/cancelconfigOpenAllprop.vue
new file mode 100644
index 0000000..a8c974b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/bcProp/cancelconfigOpenAllprop.vue
@@ -0,0 +1,1163 @@
+<template>
+	<!--  鍙栨秷鍒嗛厤  鍙栨秷棰勯厤 -->
+	<el-dialog v-model="dialogVisible" width="95%" @close="closeDialog" :close-on-click-modal="false">
+		<template #header>
+			<div style="color: #fff">
+				<span>
+					<!-- {{ titleAuthor == 1 ? "鍙栨秷棰勯厤" : "鍙栨秷鍒嗛厤" }} -->
+					{{ showPageTitle()}}
+				</span>
+			</div>
+		</template>
+
+		<el-form :model="materialForm" label-width="70px">
+			<el-row>
+				<el-col :span="5">
+					<el-form-item label="鐗╂枡缂栧彿">
+						<el-input v-model="materialForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+					</el-form-item>
+				</el-col>
+
+				<!-- <el-col :span="5">
+					<el-form-item label="鍗曞彿" prop="movementNo">
+						<el-input v-model="materialForm.movementNo" placeholder="璇疯緭鍏ュ崟鍙�" maxlength="255" show-word-limit
+							clearable />
+					</el-form-item>
+				</el-col>
+				<el-col :span="5">
+					<el-form-item label="瀹㈡埛缂栧彿" prop="custCode">
+						<el-input v-model="materialForm.custCode" placeholder="璇疯緭鍏ュ鎴风紪鍙�" maxlength="255" show-word-limit
+							clearable />
+					</el-form-item>
+				</el-col> -->
+
+
+				<el-col :span="8">
+					<el-form-item label-width="20px">
+						<el-button type="primary" icon="el-icon-search" @click="getOrderMaterialList">鏌ヨ</el-button>
+						<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+		<div class="msi-content" style="margin-top: 10px">
+			<!-- <div class="header" style="margin-bottom: 10px">
+				<div>
+					<el-button v-show="isPoBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog('po')">鍏宠仈ASN鍗�</el-button>
+
+					<el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+						@click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+				</div>
+			</div> -->
+			<el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+				@selection-change="detailsCheckChange" max-height="480" @expand-change="getChildList">
+				<el-table-column align="center" width="60" type="selection" />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column v-if="titleAuthor == 1" prop="movementNo" min-width="100px" label="涓嬫灦鍗曞崟鍙�"
+					show-overflow-tooltip="" />
+				<el-table-column v-if="titleAuthor == 3" prop="sortNo" min-width="100px" label="娉㈡鍗曞彿"
+					show-overflow-tooltip="" />
+				<el-table-column v-if="titleAuthor == 3" prop="relationNo" min-width="100px" label="涓嬫灦鍗曞崟鍙�"
+					show-overflow-tooltip="" />
+				<el-table-column prop="materialCode" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="lineNumber" label="琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="orderStatus" min-width="60px" label="鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						{{ scope.row.orderStatusName || scope.row.sortDetailStatusName}}
+					</template>
+				</el-table-column>
+				<el-table-column prop="unit" label="鍗曚綅" show-overflow-tooltip="" />
+				<!-- <el-table-column label="瀹㈡埛缂栧彿" prop="diCustomCode" align="center" min-width="110" /> -->
+				<el-table-column prop="quantity" label="璁㈠崟鏁�" show-overflow-tooltip="" />
+				
+
+				<el-table-column v-if="titleAuthor == 1 || titleAuthor == 10 ||titleAuthor == 2" label="棰勯厤鏁�" align="center" width="200">
+					<template #default="scope">
+					{{ scope.row.predetermineQuantity }}
+					</template>
+				</el-table-column>
+
+				<el-table-column v-if="titleAuthor == 1 || titleAuthor == 10 ||titleAuthor == 2" label="鍒嗛厤鏁�" align="center" width="200">
+					<template #default="scope">
+					{{ scope.row.dispenseQuantity }}
+					</template>
+				</el-table-column>
+
+			
+			</el-table>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" v-if="titleAuthor == 1" :disabled="checkedDetails.length == 0" @click="confirm">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 娣诲姞鐗╂枡 -->
+	<el-dialog v-model="addMaterialVisible" width="70%" @close="closeMaterialDialog">
+		<template #header>
+			<div style="color: #fff">
+				<span v-if="isMaterialBox == 1">娣诲姞鐗╂枡璇︽儏</span>
+				<span v-if="isPoBox == 1">鍏宠仈ASN鍗曠墿鏂�</span>
+			</div>
+		</template>
+
+		<div class="msi-form" style="padding-top: 0px">
+			<el-form :model="materialForm">
+				<el-row>
+					<el-col :span="8" v-if="isMaterialBox == 1">
+						<el-form-item label="鐗╂枡缂栧彿">
+							<el-input v-model="materialForm.Code" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8" v-if="isPoBox == 1">
+						<el-form-item label="鍏宠仈ASN鍗曞彿:">
+							<el-input v-model="materialForm.poNo" placeholder="璇疯緭鍏ュ叧鑱擜SN鍗曞彿" clearable></el-input>
+						</el-form-item>
+					</el-col>
+
+					<el-col :span="8">
+						<el-form-item label-width="20px">
+							<el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+							<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</div>
+		<div class="msi-content" style="padding-top: 0; margin-top: 10px">
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isMaterialBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+
+				<el-table-column label="鍗曚綅" prop="poUnit" align="center" min-width="140" show-overflow-tooltip />
+			</el-table>
+			<!-- ASN鍗� -->
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isPoBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column prop="poNo" label="PO鍗曞彿" min-width="120px" show-overflow-tooltip="" />
+				<el-table-column prop="poLineNumber" min-width="100px" label="PO琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="asnLineNumber" min-width="100px" label="ASN琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" min-width="130px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="asnStatus" min-width="100px" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index))">
+							{{ getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index) }}
+						</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="quantity" min-width="100px" label="閫佽揣鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="goodsQuantity" min-width="100px" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="supplierCode" min-width="100px" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierName" min-width="100px" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierBatch" min-width="100px" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" />
+				<el-table-column prop="unit" min-width="100px" label="鍗曚綅" show-overflow-tooltip="" />
+
+				<el-table-column prop="sN_1d" min-width="120px" label="涓�缁存潯鐮�" show-overflow-tooltip="" />
+				<el-table-column prop="sN_2d" min-width="120px" label="浜岀淮鏉$爜" show-overflow-tooltip="" />
+				<el-table-column prop="package" min-width="100px" label="鍖呰鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="plannedStartTime" min-width="120px" label="璁″垝寮�濮嬫椂闂�" :formatter="formatDate_T_Date"
+					show-overflow-tooltip="" />
+				<el-table-column prop="plannedEndTime" min-width="120px" label="璁″垝缁撴潫鏃堕棿" :formatter="formatDate_T_Date"
+					show-overflow-tooltip="" />
+				<el-table-column prop="projectNo" min-width="100px" label="椤圭洰鍙�" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="factoryName" min-width="100px" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="factoryCode" min-width="100px" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+				<el-table-column prop="dock" min-width="100px" label="鏀惰揣閬撳彛" show-overflow-tooltip="" />
+
+
+				<el-table-column prop="batch" min-width="100px" label="鎵规" show-overflow-tooltip="" />
+
+				<el-table-column prop="erpCode" min-width="100px" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
+				<el-table-column prop="erpOrderNo" min-width="100px" label="ERP鍗曞彿" show-overflow-tooltip="" />
+
+				<!-- <el-table-column prop="createTime" min-width="100px" label="鍒涘缓鏃堕棿" width="130"
+						:formatter="formatDate_T_Time" show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" min-width="100px" label="淇敼鏃堕棿" width="130"
+						:formatter="formatDate_T_Time" show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" min-width="120px" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" min-width="120px" label="淇敼浜�" show-overflow-tooltip="" /> -->
+			</el-table>
+
+			<Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+				@pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 鍗曡鎯� -->
+	<el-drawer v-model="drawerVisible" :title="`${detailForm.asnId}璁㈠崟璇︽儏`" direction="rtl" size="80%"
+		@close="handleDrawerClose">
+		<template #title>
+			<div class="slot_title">
+				<div class="title_orderNo">{{ title }}</div>
+				<div>璁㈠崟璇︽儏</div>
+			</div>
+		</template>
+
+		<div class="detailBoxWrap">
+			<!-- 璇︽儏缁勪欢 -->
+			<open-details ref="propDetailRef"></open-details>
+			<div class="msi-form">
+				<el-form :model="detailForm">
+					<el-row>
+						<el-col :span="6">
+							<el-form-item label="鐗╂枡缂栧彿">
+								<el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="2">
+							<el-form-item label-width="20px">
+								<el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-form>
+			</div>
+			<div class="msi-content">
+				<!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+				<el-table :data="drawerList" border striped :max-height="480">
+					<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+
+	
+
+					<el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="materialName" min-width="110px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="qcQuantity" label="瀹炴鏁伴噺" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="qCStatus" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+					<el-table-column prop="qcStatus" label="璐ㄦ鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index) }}</el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column prop="passQuantity" label="鍚堟牸鏁伴噺" show-overflow-tooltip="" />
+					<el-table-column prop="rejectQuantity" label="涓嶅悎鏍兼暟閲�" show-overflow-tooltip="" />
+					<el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+
+					<el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" show-overflow-tooltip="" />
+					<el-table-column prop="qCOrderStatus" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{ getEnumDesc(scope.row.qcOrderStatus, getEnumAsnStatusData_Index) }}</el-tag>
+						</template>
+					</el-table-column>
+					<!-- <el-table-column prop="qcOrderStatusName" label="鍗曟嵁鐘舵��"  show-overflow-tooltip="" /> -->
+
+					<el-table-column prop="unit" label="鍗曚綅" show-overflow-tooltip="" />
+					<el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+					<el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+					<el-table-column prop="custCode" label="瀹㈡埛缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="custChinaName" min-width="110px" label="瀹㈡埛涓枃鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="custEnglishName" min-width="110px" label="瀹㈡埛鑻辨枃鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="relationOrderType" label="鍏宠仈鍗曟嵁绫诲瀷"  show-overflow-tooltip="" /> -->
+					<el-table-column prop="relationOrderTypeName" min-width="110px" label="鍏宠仈鍗曟嵁绫诲瀷"
+						show-overflow-tooltip="" />
+					<!-- <el-table-column prop="factoryId" label="宸ュ巶ID"  show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="factoryName" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="factoryCode" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+					<el-table-column prop="remarks" label="澶囨敞" show-overflow-tooltip="" />
+					<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+
+				</el-table>
+				<Pagination :total="detailCount" v-model:page="detailForm.PageNo" v-model:limit="detailForm.PageSize"
+					@pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+				<div></div>
+			</div>
+		</div>
+	</el-drawer>
+
+	<el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+		<el-form :model="outerForm2" label-width="120px">
+			<el-row style="font-size: 16px">
+				<el-col :span="23">
+					<el-form-item label="鍗曞彿:" required>
+						<el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="outVisible2 = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="getSapOrderPO">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+</template>
+<script lang="ts" setup>
+import Pagination from '/@/components/Pagination/index.vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import { ref, nextTick, computed, getCurrentInstance, watch, defineExpose, defineProps, onMounted } from 'vue';
+
+import { formatDecimalData } from '/@/utils/formate';
+
+import cache from '/@/utils/cache';
+import { pageWmsMaterial } from '/@/api/main/WmsBase/wmsMaterial';
+import {
+	getTypeStatus
+} from "/@/utils/formate";
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import { addWmsOrderPurchase, updateWmsOrderPurchase, detailWmsOrderPurchase } from '/@/api/main/WmsOrder/wmsOrderPurchase';
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+import { pageWmsOrderPurchaseDetails } from '/@/api/main/WmsOrder/wmsOrderPurchaseDetails';
+import { pageWmsOrderAsnDetails, deleteWmsOrderAsnDetails } from '/@/api/main/WmsOrder/wmsOrderAsnDetails';
+import commonFunction from '/@/utils/commonFunction';
+
+import { pageWmsOrderSortDetails, deleteWmsOrderSortDetails, importExcelWmsOrderSortDetails, downloadExcelTemplateWmsOrderSortDetails, cancelWmsOrderMoveDetailsYp, cancelWmsOrderMoveDetailsFp } from '/@/api/main/WmsOrderDo/wmsOrderSortDetails';
+
+import { pageWmsQcDetails } from '/@/api/main/WmsQC/wmsOrderQcDetails';
+import { pageWmsOrderMovementDetails } from '/@/api/main/WmsOrder/wmsOrderMovementDetails';
+import { addWmsOrderSort, pageWmsOrderSort } from '/@/api/main/WmsOrderDo/wmsOrderSort';
+import { addWmsOrderSortYpDetails } from '/@/api/main/WmsOrderDo/wmsOrderSortDetails';
+import { debug } from 'console';
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getEnumOrderTypeData = ref<any>([]);
+const getEnumBusinessTypeData = ref<any>([]);
+const getEnumPoStatusData = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(['getTabelData']);
+const getEnumAsnStatusData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumQCStatusData_Index = ref<any>([]);
+
+const getEnumDockData = ref<any>([]);
+const props = defineProps({
+	titleAuthor: {
+		type: Number,
+		required: true,
+	},
+	hexiao: {
+		type: Number,
+		default: 1,
+		required: true,
+	},
+});
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor);
+
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+// 鐧诲綍鐢ㄦ埛id
+// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
+
+// const EnumWriteOffState = computed(
+//   () => store.state.login.enums.enumWriteOffState
+// );
+
+let itemBtnArr = ['鎵归噺鍒犻櫎', '缂栬緫', '鏂板'];
+const boolEnum = ref([
+	{
+		title: '鏄�',
+		value: true,
+	},
+	{
+		title: '鍚�',
+		value: false,
+	},
+]);
+
+
+const showPageTitle = () => {
+	if(titleAuthor.value==1){
+		return "鍙栨秷棰勯厤"
+	}else if(titleAuthor.value==2){
+		return "鍙栨秷鍒嗛厤"
+	}
+	else if(titleAuthor.value==10){
+		return "棰勯厤璇︽儏"
+	}
+	return "";
+};
+
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref('');
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+	return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+	orderDoRuType.value = param;
+	uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+	getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+	ElMessageBox.confirm('鏄惁纭鑾峰彇鏇存柊锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	}).then(() => {
+		// getSapRkPurchase().then((res) => {
+		//   if (res.code == 200) {
+		//     ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+		//   } else {
+		//     ElMessage.error(
+		//       `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+		//     );
+		//   }
+		// })
+	});
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+	purchaseNo: '',
+});
+const getSapOrderPO = (param?: number) => {
+	if (param && param == 1) {
+		outVisible2.value = true;
+		return;
+	}
+	if (outerForm2.value.purchaseNo == '') {
+		ElMessage.warning('璇疯緭鍏ュ崟鍙�');
+		return;
+	}
+	// getSapPurchasePO({
+	//   purchaseNo: outerForm2.value.purchaseNo
+	// })
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       ElMessage.success("SAP鑾峰彇鎴愬姛");
+	//       outVisible2.value = false;
+	//     } else {
+	//       ElMessage.error(
+	//         `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+	//       );
+	//     }
+	//   })
+	//   .catch((err) => ElMessage.error(err));
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+	outerForm2.value.purchaseNo = '';
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+	WareMaterialCode: '',
+	WareMaterialName: '',
+	PurchaseNo: '',
+	CreatedUserName: '',
+	CreatedTimeBegin: '',
+	CreatedTimeEnd: '',
+	CreateDate: [],
+	IssueTimeBegin: '',
+	IssueTimeEnd: '',
+	IssueDate: [],
+	MaterialTypeStaus: '',
+	SourceBy: '',
+	WriteOffState: '',
+	signStatus: '',
+	status: '',
+	freeOrderType: '',
+	IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+	// LoginUserID: LoginUserID, //鐢ㄦ埛id
+	OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+	Page: 1,
+	PageSize: 10,
+	poApprovalStatus: '',
+	keyCode: '',
+	IsDisable: '', //鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+const tableRef = ref();
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache('enumList');
+console.log(enumList.inEnumOrderType);
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+	//鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+		formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+		formModel.value.CreatedTimeEnd = ''; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+			formModel.value.CreatedTimeBegin = '';
+			formModel.value.CreatedTimeEnd = '';
+		}
+	}
+	//鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+		formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+		formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+			formModel.value.IssueTimeBegin = '';
+			formModel.value.IssueTimeEnd = '';
+		}
+	}
+
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+	formModel.value = {
+		WareMaterialCode: '',
+		WareMaterialName: '',
+		PurchaseNo: '',
+		CreatedUserName: '',
+		CreatedTimeBegin: '',
+		CreatedTimeEnd: '',
+		CreateDate: [],
+		IssueTimeBegin: '',
+		IssueTimeEnd: '',
+		IssueDate: [],
+		MaterialTypeStaus: '',
+		SourceBy: '',
+		WriteOffState: '',
+		signStatus: '',
+		status: '',
+		freeOrderType: '',
+		IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+		//  LoginUserID: LoginUserID, //鐢ㄦ埛id
+		OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+		Page: 1,
+		PageSize: 10,
+		poApprovalStatus: '',
+		keyCode: '',
+		IsDisable: '', //鏄惁浣滃簾
+	};
+	getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+	materialCode: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref('drawerAll');
+// const
+//鍗曞彿
+const purchaseNo = ref('');
+const detailCount2 = ref(0);
+const detailForm2 = ref({
+	Page: 1,
+	PageSize: 10,
+	qcOrderId: '',
+});
+const getEnumPoDetailStatusData_Index = ref<any>([]);
+
+const drawerList2 = ref<DetailType[]>([]);
+//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+const getDetail = async () => {
+	loading.value = true;
+	var res = await pageWmsOrderMovementDetails(Object.assign(detailForm.value));
+	var listD = res.data.result?.items ?? [];
+	drawerList.value = listD;
+	detailCount.value = res.data.result?.total;
+	loading.value = false;
+	getEnumPoDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+
+	getEnumAsnStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+};
+
+//----------------鐗╂枡鏄庣粏
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+	detailForm.value.PageNo = 1;
+	detailForm.value.PageSize = 10;
+	if (scope.asnNo) {
+		title.value = `${scope.asnNo}`;
+	}
+	drawerType.value = 'drawerAll';
+	drawerVisible.value = true;
+	//褰撳墠鍏ュ簱鍗曞彿id
+	detailForm.value.asnId = scope.id;
+	//鍏ュ簱鍗�
+	purchaseNo.value = scope.purchaseNo;
+	detailForm2.value.asnId = scope.id;
+	//鑾峰彇鐗╂枡鍒楄〃
+	if (detailForm2.value.asnId == '') {
+		drawerList2.value = [];
+		detailCount2.value = 0;
+		return;
+	}
+	// 鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	getDetail();
+
+	getEnumPoDetailStatusData_Index.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+		[];
+
+	// 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+	let scopetrans = JSON.parse(JSON.stringify(scope));
+	// scopetrans.totalquantity = Number(scopetrans.totalquantity).toFixed(3);
+	scopetrans.qcOrderStatus = getEnumDesc(scopetrans.qcOrderStatus, getEnumPoDetailStatusData_Index.value);
+	
+	nextTick(() => {
+		proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+	});
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+	detailForm.value = {
+		materialCode: '',
+		asnId: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	deltailList.value = [];
+	detailCount.value = 0;
+	drawerList.value = [];
+	drawerList2.value = [];
+	detailCount2.value = 0;
+	drawerList2.value = [];
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+	id: number;
+	barCode: string;
+	wareMaterialCode: string;
+	name: string;
+	signStatus: string;
+	category: string;
+	materialTypeName: string;
+	specificationModel: string;
+	long: number;
+	width: number;
+	high: number;
+	weight: number;
+	unit: string;
+	createdTime: string;
+	purchaseNo: string;
+	quantity: number;
+	goodsquantity: number;
+	surplusquantity: number;
+	poLineNumber: string;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref('');
+
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref('add');
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+	hasTMCode: false,
+	asnType: '',
+	dock: '',
+	projectNo: '',
+	OrderDetails: [] as any[],
+});
+
+// 鐗规畩瀛楃鐨勯獙璇�
+// 鍖呭惈鐗规畩瀛楃杩斿洖true锛屼笉鍖呭惈鐗规畩瀛楃杩斿洖false
+const checkEspcial = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[@$%*^:;锛氾紱~+=!锛�#^{}><.,锛屻�俔/g;
+		if (!reg.test(value.trim())) {
+			callback();
+		} else {
+			return callback(new Error('涓嶈兘瀛樺湪鐗规畩绗﹀彿'));
+		}
+	}
+};
+
+// 楠岃瘉瑙掕壊缂栧彿
+var validatorCode = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[\u4E00-\u9FA5]/g;
+		if (!reg.test(value)) {
+			callback();
+		} else {
+			return callback(new Error('鍗曞彿涓嶈兘瀛樺湪姹夊瓧'));
+		}
+	}
+};
+
+//rules
+const formRules = {
+	// businessType: [{ required: true, message: '璇烽�夋嫨璁㈠崟绫诲瀷锛�', trigger: 'change' }],
+	orderTypeName: [{ required: true, message: '璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	businessType: [{ required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change' }],
+	businessTypeName: [{ required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	orderSocure: [{ required: true, message: '璇疯緭鍏ュ崟鎹潵婧愶紒', trigger: 'blur' }],
+	poStatus: [{ required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change' }],
+	poStatusName: [{ required: true, message: '璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒', trigger: 'blur' }],
+	supplierCode: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�', trigger: 'blur' }],
+	supplierName: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�', trigger: 'blur' }],
+	factoryId: [{ required: true, message: '璇疯緭鍏ュ伐鍘侷D锛�', trigger: 'blur' }]
+};
+//鎵撳紑
+const openDialog = async (type: number, scope: any = {}) => {
+	titleAuthor.value = type;
+	materialForm.value.PageSize = 100000;
+	//debugger
+	if (titleAuthor.value == 1 || titleAuthor.value == 10) { //鍙栨秷棰勯厤-涓嬫灦鍗�
+		materialForm.value.movementId = scope.id;
+		getOrderMaterialList();
+	}
+	if (titleAuthor.value == 2) { //鍙栨秷鍒嗛厤-涓嬫灦鍗�
+		materialForm.value.movementId = scope.id;
+		getOrderMaterialList();
+	}
+	if (titleAuthor.value == 3) { //鍙栨秷鍒嗛厤-娉㈡鍗�
+		materialForm.value.sortId = scope.id;
+		getOrderMaterialList();
+	}
+	dialogVisible.value = true;
+	//娓呴櫎閫変腑椤�
+	// nextTick(() => {
+	// 	dialogRef.value.clearValidate();
+	// });
+};
+
+// ---------------- 鏄庣粏 ------------------
+const getOrderMaterialList = async () => {
+	if (titleAuthor.value == 1 || titleAuthor.value == 10 ||  titleAuthor.value == 2) { //涓嬫灦鍗曞叆鍙�-涓嬫灦鍗曟槑缁�
+		loading.value = true;
+		if(titleAuthor.value == 1){ materialForm.value.pageFlag = 1} //1銆佹煡璇㈣鍙栨秷棰勯厤鐨勬暟鎹� [Editby shaocx,2024-07-10]
+		if(titleAuthor.value == 2){ materialForm.value.pageFlag = 2} //2銆佹煡璇㈣鍙栨秷鍒嗛厤鐨勬暟鎹� [Editby shaocx,2024-07-10]
+		var res = await pageWmsOrderMovementDetails(Object.assign(materialForm.value));
+		var listD = res.data.result?.items ?? [];
+		listD.forEach((item: any) => {
+			item.sendQuantity = Number(item.quantity - item.offShelvesQuantity).toFixed(3);
+		})
+		warehousOrderDetails.value = listD;
+		loading.value = false;
+	}
+	if (titleAuthor.value == 3) { //娉㈡鍏ュ彛 - 鏄庣粏
+		loading.value = true;
+		var res = await pageWmsOrderSortDetails(Object.assign(materialForm.value));
+		var listD = res.data.result?.items ?? [];
+		listD.forEach((item: any) => {
+			item.sendQuantity = Number(item.quantity - item.offShelvesQuantity).toFixed(3);
+		})
+		warehousOrderDetails.value = listD;
+		loading.value = false;
+	}
+}
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+	return row.id + row.asnLineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+	// addForm.value = {
+	// 	hasTMCode: false,
+	// 	asnType: '',
+	// 	dock: '',
+	// 	projectNo: '',
+	// 	OrderDetails: [] as any[],
+	// };
+	materialForm.value = {
+		materialCode: '',
+		orderNo: '',
+		Page: 1,
+		PageSize: 10000,
+	};
+	warehousOrderDetails.value = [];
+	checkedDetails.value = [];
+	deltailList.value = [];
+	detailCount.value = 0;
+	detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+	ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			let arr = [];
+			if (checkedDetails.value[0].diRelationID) {
+				checkedDetails.value.forEach((item) => {
+					console.log(item);
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.diRelationID == item.diRelationID);
+					if (index > -1) {
+						warehousOrderDetails.value.splice(index, 1);
+					}
+				});
+			} else {
+				checkedDetails.value.forEach((item) => {
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.asnLineNumber == item.asnLineNumber);
+					warehousOrderDetails.value.splice(index, 1);
+				});
+			}
+			arr = warehousOrderDetails.value;
+			warehousOrderDetails.value = [];
+			//bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+			nextTick(() => {
+				warehousOrderDetails.value = arr;
+				checkedDetails.value = [];
+				detailRef.value.clearSelection();
+			});
+		})
+		.catch(() => ElMessage.info('宸插彇娑堝垹闄�'));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const confirm = async () => {
+	console.log('纭');
+	// let idx = warehousOrderDetails.value.findIndex((v) => v.asnLineNumber == '' || v.asnLineNumber == undefined);
+	// if (idx > -1) {
+	// 	ElMessage.warning('璇疯緭鍏ヨ鍙�');
+	// 	return;
+	// }
+	// let isNext = '';
+	// warehousOrderDetails.value.forEach((item) => {
+	// 	const arr: any = warehousOrderDetails.value.filter((detail) => detail.asnLineNumber == item.asnLineNumber);
+	// 	if (arr.length > 1) {
+	// 		isNext = `琛屽彿锛�${arr[0].asnLineNumber}涓嶈兘鐩稿悓`;
+	// 		return;
+	// 	}
+	// });
+	// if (isNext != '') {
+	// 	ElMessage.warning(isNext);
+	// 	return;
+	// }
+
+	// let idx2 = warehousOrderDetails.value.findIndex((v) => v.passQuantity == '' || v.passQuantity == undefined);
+	// de
+	// if (idx2 > -1) {
+	// 	ElMessage.warning('鍚堟牸鏁伴噺涓嶅悎瑙勮寖锛�');
+	// 	return;
+	// }
+	// addForm.value.OrderDetails = [];
+	// warehousOrderDetails.value.forEach((item) => {
+	// 	const obj = {
+	// 		...item,
+	// 		QCQuantity: item.quantity,
+	// 		asnLineNumber: item.asnLineNumber,
+	// 	};
+	// 	addForm.value.OrderDetails.push(obj);
+	// });
+
+	// checkedDetails.value.forEach((item) => {
+	// 	item.orderNo = item.movementNo
+	// });
+
+	//debugger
+	if (titleAuthor.value == 1) { //鍙栨秷棰勯厤-涓嬫灦鍗曞叆鍙�
+		let res = await cancelWmsOrderMoveDetailsYp(checkedDetails.value);
+		if (res.data && res.data.code == 200) {
+			ElMessage.success('涓嬫灦鍗曞彇娑堥閰嶆垚鍔燂紒');
+			dialogVisible.value = false;
+			emits('getTabelData');
+		}
+	}
+	if (titleAuthor.value == 2) { //鍙栨秷鍒嗛厤-涓嬫灦鍗曞叆鍙�
+		checkedDetails.value.forEach((item)=>{
+			item.movementDetailsId=item.id
+		})
+		let res = await cancelWmsOrderMoveDetailsFp(checkedDetails.value);
+		if (res.data && res.data.code == 200) {
+			ElMessage.success('涓嬫灦鍗曞彇娑堝垎閰嶆垚鍔燂紒');
+			dialogVisible.value = false;
+			emits('getTabelData');
+		}
+	}
+	if (titleAuthor.value == 3) { //鍙栨秷棰勯厤-娉㈡鍏ュ彛
+		// let res = await addWmsOrderSortYpDetails(checkedDetails.value);
+		// if (res.data && res.data.code == 200) {
+		// 	ElMessage.success('娉㈡鍗曞彇娑堥閰嶆垚鍔燂紒');
+		// 	dialogVisible.value = false;
+		// 	emits('getTabelData');
+		// }
+	}
+
+};
+
+
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+	materialCode: '',
+	orderStatusMore:1,//杩囨护鏂板缓鎵ц涓殑
+	orderNo: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+	if (isPoBox.value == 1) {
+		if (materialForm.value.poNo) {
+			loading.value = true;
+			var res = await pageWmsOrderAsnDetails(Object.assign(materialForm.value));
+			materialList.value = res.data.result?.items ?? [];
+			materialTotal.value = res.data.result?.total;
+			loading.value = false;
+		}
+	}
+	if (isMaterialBox.value == 1) {
+		loading.value = true;
+		var res = await pageWmsMaterial(Object.assign(materialForm.value));
+		materialList.value = res.data.result?.items ?? [];
+		materialTotal.value = res.data.result?.total;
+		loading.value = false;
+	}
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+	materialForm.value = {
+		materialCode: '',
+		orderNo: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+	checkedMaterial.value = val;
+};
+const isMaterialBox: any = ref(true);
+const isPoBox: any = ref(true);
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = (param?: any) => {
+	if (param && param == 'po') {
+		isPoBox.value = 1;
+		isMaterialBox.value = 0;
+	} else {
+		isPoBox.value = 0;
+		isMaterialBox.value = 1;
+	}
+	getMaterialList();
+	addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+	//鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+	if (warehousOrderDetails.value.length == 0) {
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			item.asnLineNumber = index + 1;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	} else {
+		for (let i = 0; i < checkedMaterial.value.length; i++) {
+			let idx = warehousOrderDetails.value.findIndex(
+				(item: { poLineNumber: any; code: any }) => item.code == checkedMaterial.value[i].materialCode && item.asnLineNumber == checkedMaterial.value[i].asnLineNumber
+			);
+			if (idx > -1) {
+				return ElMessage.warning(`鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}锛孉SN琛屽彿锛�${checkedMaterial.value[i].asnLineNumber || ''}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦);
+			}
+		}
+
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	}
+
+	addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+	materialForm.value = {
+		materialCode: '',
+		orderNo: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	materialList.value = [];
+	checkedMaterial.value = [];
+	materialRef.value.clearSelection();
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+});
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	custType: '渚涘簲鍟�',
+});
+
+//-----------------杩滅▼鎼滅储----------------
+const handleQueryTdp = async () => {
+	var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+	arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: '渚涘簲鍟�',
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: '渚涘簲鍟�',
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+const getChildList = (item?: any) => {
+	// console.log("4")
+}
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+	margin: 10px;
+}
+
+.msi-form {
+	margin-top: 10px;
+}
+
+.msi-form {
+	margin-bottom: 10px;
+}
+
+.slot_title {
+	display: flex;
+	align-items: center;
+
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #F18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/components/bcProp/detailconfigOpenAllprop.vue b/LA24030_LuLiPackageLine_Web/src/components/bcProp/detailconfigOpenAllprop.vue
new file mode 100644
index 0000000..51dd487
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/bcProp/detailconfigOpenAllprop.vue
@@ -0,0 +1,1691 @@
+<template>
+  <el-dialog
+    v-model="dialogVisible"
+    width="95%"
+    @close="closeDialog"
+    :close-on-click-modal="false"
+  >
+    <template #header>
+      <div style="color: #fff">
+        <span> 鍒嗛厤璇︽儏 </span>
+      </div>
+    </template>
+
+    <el-form :model="materialForm" label-width="100px">
+      <el-row>
+        <el-col :span="4">
+          <el-form-item label="涓嬫灦鍗曞崟鍙�">
+            <el-input
+              v-model="materialForm.movementNo"
+              placeholder="璇疯緭鍏ヤ笅鏋跺崟鍗曞彿"
+              disabled
+              clearable
+            ></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label="鐗╂枡缂栧彿">
+            <el-input
+              v-model="materialForm.materialCode"
+              placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"
+              clearable
+            ></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label-width="20px">
+            <el-button type="primary" icon="el-icon-search" @click="getOrderMaterialList1"
+              >鏌ヨ</el-button
+            >
+            <!-- <el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+							@click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button> -->
+            <!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+    <div class="msi-content" style="margin-top: 10px">
+      <!-- <div class="header" style="margin-bottom: 10px">
+				<div>
+					 <el-button v-show="isPoBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog('po')">鍏宠仈ASN鍗�</el-button> 
+
+					<el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+						@click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+				</div>
+			</div>  -->
+      <el-table
+        :data="warehousOrderDetails"
+        border
+        style="width: 100%"
+        :row-key="setRowKey"
+        ref="tableRef"
+        @selection-change="detailsCheckChange"
+        max-height="480"
+        @expand-change="getChildList"
+      >
+        <!-- 瀛愯〃 -->
+        <el-table-column fixed="left" type="expand">
+          <template #default="scope">
+            <br />
+            <el-table
+              :data="scope.row.children"
+              border
+              style="width: 95%; margin: 0 auto"
+              min-height="200"
+            >
+              <!-- <el-table-column align="center" width="60" type="selection" /> -->
+              <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+
+              <!-- <el-table-column v-if="titleAuthor == 1" prop="movementNo" min-width="100px" label="涓嬫灦鍗曞崟鍙�"
+					show-overflow-tooltip="" />
+					<el-table-column v-if="titleAuthor == 1"  prop="movementLineNumber" label="涓嬫灦鍗曡鍙�" show-overflow-tooltip="" /> -->
+              <!-- <el-table-column v-if="titleAuthor == 2" prop="sortNo" min-width="100px" label="娉㈡鍗曞彿"
+					show-overflow-tooltip="" />
+					<el-table-column v-if="titleAuthor == 2" prop="sortNoLineNumber" min-width="100px" label="娉㈡鍗曡鍙�"
+					show-overflow-tooltip="" />
+				    <el-table-column v-if="titleAuthor == 2" prop="relationNo" min-width="100px" label="涓嬫灦鍗曞崟鍙�"
+					show-overflow-tooltip="" />
+					<el-table-column v-if="titleAuthor == 2"  prop="relationNoLineNumber" label="涓嬫灦鍗曡鍙�" show-overflow-tooltip="" />
+					<el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="materialName" min-width="110px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" /> -->
+              <el-table-column
+                prop="orderStatus"
+                min-width="60px"
+                label="鍒嗛厤鐘舵��"
+                show-overflow-tooltip=""
+              >
+                <template #default="scope">
+                  {{ scope.row.pdRecordStatusName }}
+                </template>
+              </el-table-column>
+
+              <el-table-column prop="areaCode" label="搴撳尯" show-overflow-tooltip="" />
+              <el-table-column prop="placeCode" label="搴撲綅" show-overflow-tooltip="" />
+              <el-table-column
+                prop="containerCode"
+                label="瀹瑰櫒缂栧彿"
+                show-overflow-tooltip=""
+              />
+              <el-table-column
+                width="160"
+                prop="snCode"
+                label="璺熻釜鐮�"
+                show-overflow-tooltip=""
+              />
+              <el-table-column label="宸插垎閰嶆暟" align="center" width="180">
+                <template #default="scope">
+                  {{ scope.row.quantity }}
+                </template>
+              </el-table-column>
+
+              <el-table-column
+                label="鎿嶄綔"
+                width="200"
+                align="center"
+                fixed="right"
+                show-overflow-tooltip=""
+              >
+                <template #default="scope">
+                  <!-- 鍒嗛厤璇︽儏-棰勫垎閰嶇姸鎬�=宸插垎閰嶆墠鑳戒慨鏀瑰拰鍙栨秷 -->
+                  <el-button
+                    icon="ele-Finished"
+                    size="small"
+                    text=""
+                    type="primary"
+                    :disabled="scope.row.pdRecordStatus != 2"
+                    @click="delWmsOrderXq(scope.row)"
+                  >
+                    鍙栨秷鍒嗛厤
+                  </el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+            <br />
+          </template>
+        </el-table-column>
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column
+          v-if="titleAuthor == 1"
+          prop="movementNo"
+          min-width="100px"
+          label="涓嬫灦鍗曞崟鍙�"
+          show-overflow-tooltip=""
+        />
+        <el-table-column
+          v-if="titleAuthor == 2"
+          prop="sortNo"
+          min-width="100px"
+          label="娉㈡鍗曞彿"
+          show-overflow-tooltip=""
+        />
+        <el-table-column
+          v-if="titleAuthor == 2"
+          prop="relationNo"
+          min-width="100px"
+          label="涓嬫灦鍗曞崟鍙�"
+          show-overflow-tooltip=""
+        />
+
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+        <el-table-column prop="lineNumber" label="琛屽彿" show-overflow-tooltip="" />
+        <el-table-column
+          prop="orderStatus"
+          min-width="60px"
+          label="鐘舵��"
+          show-overflow-tooltip=""
+        >
+          <template #default="scope">
+            {{ scope.row.orderStatusName }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="unit" label="鍗曚綅" show-overflow-tooltip="" />
+        <el-table-column
+          label="瀹㈡埛缂栧彿"
+          prop="custCode"
+          align="center"
+          min-width="110"
+        />
+        <!-- <el-table-column prop="quantity1" label="宸插嚭搴撴暟" show-overflow-tooltip="" /> -->
+        <el-table-column prop="quantity" label="璁㈠崟鏁�" show-overflow-tooltip="" />
+        <el-table-column
+          prop="predetermineQuantity"
+          label="宸查閰嶆暟"
+          show-overflow-tooltip=""
+        />
+        <el-table-column
+          prop="dispenseQuantity"
+          label="宸插垎閰嶆暟"
+          show-overflow-tooltip=""
+        />
+        <el-table-column
+          label="鎿嶄綔"
+          width="200"
+          align="center"
+          fixed="right"
+          show-overflow-tooltip=""
+        >
+          <template #default="scope">
+            <!-- 鍒嗛厤璇︽儏-棰勫垎閰嶇姸鎬�=宸插垎閰嶆墠鑳戒慨鏀瑰拰鍙栨秷 -->
+            <el-button
+              icon="ele-Edit"
+              size="small"
+              text=""
+              type="primary"
+              @click="addMaterialDialog(scope.row)"
+            >
+              鎸囧畾搴撳瓨鍒嗛厤
+            </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="dialogVisible = false">鍙栨秷</el-button>
+        <!-- <el-button type="primary" :disabled="warehousOrderDetails.length == 0" @click="confirm">鎸囧畾鍒嗛厤</el-button> -->
+      </span>
+    </template>
+  </el-dialog>
+  <!-- 鎸囧畾搴撳瓨鍒嗛厤 -->
+  <el-dialog v-model="addMaterialVisible" width="70%" @close="closeMaterialDialog">
+    <template #header>
+      <div style="color: #fff">
+        <span v-if="isMaterialBox == 1">鎸囧畾搴撳瓨鍒嗛厤</span>
+        <!-- <span v-if="isPoBox == 1">鍏宠仈ASN鍗曠墿鏂�</span> -->
+      </div>
+    </template>
+
+    <div class="msi-form" style="padding-top: 0px">
+      <el-form :model="materialFormForDispenseQuantity" label-width="70px">
+        <el-row>
+          <el-col :span="6" v-if="isMaterialBox == 1">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input
+                v-model="materialFormForDispenseQuantity.materialCode"
+                placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"
+                disabled
+                clearable
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="鎵规:">
+              <el-input
+                v-model="materialFormForDispenseQuantity.batch"
+                placeholder="璇疯緭鍏ユ壒娆�"
+                clearable
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="璺熻釜鐮�:">
+              <el-input
+                v-model="materialFormForDispenseQuantity.snCode"
+                placeholder="璇疯緭鍏ヨ窡韪爜"
+                clearable
+              ></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="6">
+            <el-form-item label-width="20px">
+              <el-button type="primary" icon="el-icon-search" @click="getMaterialList"
+                >鏌ヨ</el-button
+              >
+              <!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <div class="msi-content" style="padding-top: 0; margin-top: 10px">
+      <el-table
+        :data="materialList"
+        border
+        style="width: 100%"
+        row-key="id"
+        ref="materialRef"
+        @selection-change="materialSelectionChange"
+        v-if="isMaterialBox == 1"
+      >
+        <el-table-column align="center" width="60" type="selection" />
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column label="璁″垝鍒嗛厤鏁伴噺" align="center" width="200">
+          <template #default="scope">
+            <el-input-number min="0" v-model="scope.row.dispenseQuantity" size="small" />
+          </template>
+        </el-table-column>
+        <el-table-column prop="availableQty" label="鍙敤鏁伴噺" show-overflow-tooltip="" />
+        <el-table-column prop="quantity" label="搴撳瓨鏁伴噺" show-overflow-tooltip="" />
+        <el-table-column
+          prop="snCode"
+          label="璺熻釜鐮�"
+          min-width="160px"
+          show-overflow-tooltip=""
+        />
+        <!-- <el-table-column prop="containerId" label="瀹瑰櫒Id" show-overflow-tooltip="" /> -->
+        <el-table-column prop="containerCode" label="瀹瑰櫒缂栧彿" show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+
+        <el-table-column prop="stockStatus" label="搴撳瓨鐘舵��" show-overflow-tooltip="">
+          <template #default="scope">
+            {{ scope.row.stockStatusName }}
+            <!-- {{ getEnumDesc(scope.row.stockStatus, getEnumStockStatusData_Index)}} -->
+          </template>
+        </el-table-column>
+
+        <el-table-column
+          prop="supplierBatch"
+          label="渚涘簲鍟嗘壒娆�"
+          show-overflow-tooltip=""
+        />
+        <el-table-column prop="batch" label="鎵规" show-overflow-tooltip="" />
+        <el-table-column
+          prop="createTime"
+          label="鍒涘缓鏃堕棿"
+          width="130"
+          :formatter="formatDate_T_Time"
+          show-overflow-tooltip=""
+        />
+        <!-- <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" /> -->
+        <el-table-column
+          prop="recordInsertTime"
+          label="鏀惰揣鏃堕棿"
+          width="80"
+          :formatter="formatDate_T_Date"
+          show-overflow-tooltip=""
+        />
+        <el-table-column
+          prop="supplierCode"
+          label="渚涘簲鍟嗙紪鍙�"
+          show-overflow-tooltip=""
+        />
+        <el-table-column
+          prop="supplierName"
+          label="渚涘簲鍟嗗悕绉�"
+          show-overflow-tooltip=""
+        />
+
+        <el-table-column prop="sN_1d" label="涓�缁存潯鐮�" show-overflow-tooltip="" />
+        <el-table-column prop="sN_2d" label="浜岀淮鏉$爜" show-overflow-tooltip="" />
+
+        <el-table-column prop="erpOrderNo" label="ERP鍗曞彿" show-overflow-tooltip="" />
+        <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
+        <el-table-column prop="qCStatus" label="璐ㄦ鐘舵��" show-overflow-tooltip="">
+          <template #default="scope">
+            {{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index) }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="erpVoucher" label="ERP鍑瘉" show-overflow-tooltip="" />
+        <el-table-column prop="actionRemark" label="鎿嶄綔澶囨敞" show-overflow-tooltip="" />
+        <el-table-column
+          prop="actionTime"
+          label="鎿嶄綔鏃堕棿"
+          width="80"
+          :formatter="formatDate_T_Date"
+          show-overflow-tooltip=""
+        />
+      </el-table>
+
+      <Pagination
+        :total="materialTotal"
+        v-model:page="materialForm.Page"
+        v-model:limit="materialForm.PageSize"
+        @pagination="getMaterialList"
+        style="margin-top: 20px; text-align: center"
+      ></Pagination>
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+        <el-button
+          type="primary"
+          :disabled="checkedMaterial.length == 0"
+          @click="confirmDispenseMaterial()"
+          >纭</el-button
+        >
+      </span>
+    </template>
+  </el-dialog>
+  <!-- 鍗曡鎯� -->
+  <el-drawer
+    v-model="drawerVisible"
+    :title="`${detailForm.asnId}璁㈠崟璇︽儏`"
+    direction="rtl"
+    size="80%"
+    @close="handleDrawerClose"
+  >
+    <template #title>
+      <div class="slot_title">
+        <div class="title_orderNo">{{ title }}</div>
+        <div>璁㈠崟璇︽儏</div>
+      </div>
+    </template>
+
+    <div class="detailBoxWrap">
+      <!-- 璇︽儏缁勪欢 -->
+      <open-details ref="propDetailRef"></open-details>
+      <div class="msi-form">
+        <el-form :model="detailForm">
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="鐗╂枡缂栧彿">
+                <el-input
+                  v-model="detailForm.materialCode"
+                  clearable
+                  placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="2">
+              <el-form-item label-width="20px">
+                <el-button type="primary" icon="el-icon-search" @click="getDetail"
+                  >鏌ヨ</el-button
+                >
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <div class="msi-content">
+        <!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+        <el-table :data="drawerList" border striped :max-height="480">
+          <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+
+          <!-- <el-table-column prop="qCOrderId" label="璐ㄦ鍗旾D"  show-overflow-tooltip="" /> -->
+          <!-- <el-table-column prop="businessType" label="涓氬姟绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.businessType, getEnumBusinessTypeData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+
+          <el-table-column
+            prop="materialCode"
+            min-width="130px"
+            label="鐗╂枡缂栧彿"
+            show-overflow-tooltip=""
+          />
+          <el-table-column
+            prop="materialName"
+            min-width="110px"
+            label="鐗╂枡鍚嶇О"
+            show-overflow-tooltip=""
+          />
+          <el-table-column prop="qcQuantity" label="瀹炴鏁伴噺" show-overflow-tooltip="" />
+          <!-- <el-table-column prop="qCStatus" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+          <el-table-column prop="qcStatus" label="璐ㄦ鐘舵��" show-overflow-tooltip="">
+            <template #default="scope">
+              <el-tag>{{
+                getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)
+              }}</el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="passQuantity"
+            label="鍚堟牸鏁伴噺"
+            show-overflow-tooltip=""
+          />
+          <el-table-column
+            prop="rejectQuantity"
+            label="涓嶅悎鏍兼暟閲�"
+            show-overflow-tooltip=""
+          />
+          <el-table-column
+            prop="goodsQuantity"
+            label="宸叉敹鏁伴噺"
+            show-overflow-tooltip=""
+          />
+
+          <el-table-column
+            prop="businessTypeName"
+            label="涓氬姟绫诲瀷"
+            show-overflow-tooltip=""
+          />
+          <el-table-column prop="qCOrderStatus" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+            <template #default="scope">
+              <el-tag>{{
+                getEnumDesc(scope.row.qcOrderStatus, getEnumAsnStatusData_Index)
+              }}</el-tag>
+            </template>
+          </el-table-column>
+          <!-- <el-table-column prop="qcOrderStatusName" label="鍗曟嵁鐘舵��"  show-overflow-tooltip="" /> -->
+
+          <el-table-column prop="unit" label="鍗曚綅" show-overflow-tooltip="" />
+          <el-table-column
+            prop="supplierName"
+            label="渚涘簲鍟嗗悕绉�"
+            show-overflow-tooltip=""
+          />
+          <el-table-column
+            prop="supplierCode"
+            label="渚涘簲鍟嗙紪鍙�"
+            show-overflow-tooltip=""
+          />
+          <el-table-column prop="custCode" label="瀹㈡埛缂栧彿" show-overflow-tooltip="" />
+          <el-table-column
+            prop="custChinaName"
+            min-width="110px"
+            label="瀹㈡埛涓枃鍚嶇О"
+            show-overflow-tooltip=""
+          />
+          <el-table-column
+            prop="custEnglishName"
+            min-width="110px"
+            label="瀹㈡埛鑻辨枃鍚嶇О"
+            show-overflow-tooltip=""
+          />
+          <el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" show-overflow-tooltip="" />
+          <!-- <el-table-column prop="relationOrderType" label="鍏宠仈鍗曟嵁绫诲瀷"  show-overflow-tooltip="" /> -->
+          <el-table-column
+            prop="relationOrderTypeName"
+            min-width="110px"
+            label="鍏宠仈鍗曟嵁绫诲瀷"
+            show-overflow-tooltip=""
+          />
+          <!-- <el-table-column prop="factoryId" label="宸ュ巶ID"  show-overflow-tooltip="" /> -->
+          <!-- <el-table-column prop="factoryName" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" /> -->
+          <!-- <el-table-column prop="factoryCode" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+          <el-table-column prop="remarks" label="澶囨敞" show-overflow-tooltip="" />
+          <el-table-column
+            prop="createTime"
+            label="鍒涘缓鏃堕棿"
+            width="130"
+            :formatter="formatDate_T_Time"
+            show-overflow-tooltip=""
+          />
+          <el-table-column
+            prop="updateTime"
+            label="淇敼鏃堕棿"
+            width="130"
+            :formatter="formatDate_T_Time"
+            show-overflow-tooltip=""
+          />
+          <el-table-column
+            prop="createUserName"
+            label="鍒涘缓浜�"
+            show-overflow-tooltip=""
+          />
+          <el-table-column
+            prop="updateUserName"
+            label="淇敼浜�"
+            show-overflow-tooltip=""
+          />
+        </el-table>
+        <Pagination
+          :total="detailCount"
+          v-model:page="detailForm.PageNo"
+          v-model:limit="detailForm.PageSize"
+          @pagination="getDetail"
+          style="margin-top: 20px; text-align: center"
+        ></Pagination>
+
+        <div></div>
+      </div>
+    </div>
+  </el-drawer>
+
+  <el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+    <el-form :model="outerForm2" label-width="120px">
+      <el-row style="font-size: 16px">
+        <el-col :span="23">
+          <el-form-item label="鍗曞彿:" required>
+            <el-input
+              v-model="outerForm2.purchaseNo"
+              clearable
+              placeholder="璇疯緭鍏ュ崟鍙�"
+            />
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="outVisible2 = false">鍙栨秷</el-button>
+        <el-button type="primary" @click="getSapOrderPO">纭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+</template>
+<script lang="ts" setup>
+import Pagination from "/@/components/Pagination/index.vue";
+import { ElMessage, ElMessageBox } from "element-plus";
+import {
+  ref,
+  nextTick,
+  computed,
+  getCurrentInstance,
+  watch,
+  defineExpose,
+  defineProps,
+  onMounted,
+} from "vue";
+
+import { formatDecimalData } from "/@/utils/formate";
+
+import cache from "/@/utils/cache";
+import { pageWmsMaterial } from "/@/api/main/WmsBase/wmsMaterial";
+import { getTypeStatus } from "/@/utils/formate";
+
+import {
+  formatDate,
+  formatDate_T_Date,
+  formatDate_T_Time,
+  defaultTimeRange,
+} from "/@/utils/formatTime";
+
+import { getAPI } from "/@/utils/axios-utils";
+import { SysEnumApi } from "/@/api-services/api";
+import {
+  addWmsOrderPurchase,
+  updateWmsOrderPurchase,
+  detailWmsOrderPurchase,
+} from "/@/api/main/WmsOrder/wmsOrderPurchase";
+import OpenDetails from "/@/components/openDetails/openDetails.vue";
+import { pageBaseCustomer } from "/@/api/main/WmsBase/baseCustomer";
+import { pageWmsOrderPurchaseDetails } from "/@/api/main/WmsOrder/wmsOrderPurchaseDetails";
+import {
+  pageWmsOrderAsnDetails,
+  deleteWmsOrderAsnDetails,
+} from "/@/api/main/WmsOrder/wmsOrderAsnDetails";
+import commonFunction from "/@/utils/commonFunction";
+
+import {
+  pageWmsOrderSortDetails,
+  deleteWmsOrderSortDetails,
+  importExcelWmsOrderSortDetails,
+  downloadExcelTemplateWmsOrderSortDetails,
+} from "/@/api/main/WmsOrderDo/wmsOrderSortDetails";
+
+import { pageWmsQcDetails } from "/@/api/main/WmsQC/wmsOrderQcDetails";
+import {
+  pageWmsOrderMovementDetailsForDispense,
+  pageFpWmsOrderMovementDetails,
+  pageWmsOrderMovementDetails,
+} from "/@/api/main/WmsOrder/wmsOrderMovementDetails";
+import { addWmsOrderSort, pageWmsOrderSort } from "/@/api/main/WmsOrderDo/wmsOrderSort";
+import { addWmsOrderSortYpDetails } from "/@/api/main/WmsOrderDo/wmsOrderSortDetails";
+import {
+  deleteWmsOrderFp,
+  updateWmsOrderFp,
+} from "/@/api/main/WmsOrder/wmsOrderMovement";
+import { pageStockQuanForUse } from "/@/api/main/ReportCenter/wmsStockQuan";
+import { pageWmsPlace } from "/@/api/main/WmsBase/wmsPlace";
+import { handleSlectDataWmsArea } from "/@/utils/selectData";
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getEnumOrderTypeData = ref<any>([]);
+const getEnumBusinessTypeData = ref<any>([]);
+const getEnumPoStatusData = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(["getTabelData"]);
+const getEnumAsnStatusData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumQCStatusData_Index = ref<any>([]);
+
+const getEnumDockData = ref<any>([]);
+const props = defineProps({
+  titleAuthor: {
+    type: Number,
+    required: true,
+  },
+  hexiao: {
+    type: Number,
+    default: 1,
+    required: true,
+  },
+});
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor);
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+// 鐧诲綍鐢ㄦ埛id
+// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
+
+// const EnumWriteOffState = computed(
+//   () => store.state.login.enums.enumWriteOffState
+// );
+
+let itemBtnArr = ["鎵归噺鍒犻櫎", "缂栬緫", "鏂板"];
+const boolEnum = ref([
+  {
+    title: "鏄�",
+    value: true,
+  },
+  {
+    title: "鍚�",
+    value: false,
+  },
+]);
+
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref("");
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+  return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+  orderDoRuType.value = param;
+  uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+  getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+  ElMessageBox.confirm("鏄惁纭鑾峰彇鏇存柊锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  }).then(() => {
+    // getSapRkPurchase().then((res) => {
+    //   if (res.code == 200) {
+    //     ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+    //   } else {
+    //     ElMessage.error(
+    //       `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+    //     );
+    //   }
+    // })
+  });
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+  purchaseNo: "",
+});
+const getSapOrderPO = (param?: number) => {
+  if (param && param == 1) {
+    outVisible2.value = true;
+    return;
+  }
+  if (outerForm2.value.purchaseNo == "") {
+    ElMessage.warning("璇疯緭鍏ュ崟鍙�");
+    return;
+  }
+  // getSapPurchasePO({
+  //   purchaseNo: outerForm2.value.purchaseNo
+  // })
+  //   .then((res) => {
+  //     if (res.code == 200) {
+  //       ElMessage.success("SAP鑾峰彇鎴愬姛");
+  //       outVisible2.value = false;
+  //     } else {
+  //       ElMessage.error(
+  //         `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+  //       );
+  //     }
+  //   })
+  //   .catch((err) => ElMessage.error(err));
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+  outerForm2.value.purchaseNo = "";
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+  WareMaterialCode: "",
+  WareMaterialName: "",
+  PurchaseNo: "",
+  CreatedUserName: "",
+  CreatedTimeBegin: "",
+  CreatedTimeEnd: "",
+  CreateDate: [],
+  IssueTimeBegin: "",
+  IssueTimeEnd: "",
+  IssueDate: [],
+  MaterialTypeStaus: "",
+  SourceBy: "",
+  WriteOffState: "",
+  signStatus: "",
+  status: "",
+  freeOrderType: "",
+  IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+  // LoginUserID: LoginUserID, //鐢ㄦ埛id
+  OrderMenuType: "", //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+  Page: 1,
+  PageSize: 10,
+  poApprovalStatus: "",
+  keyCode: "",
+  IsDisable: "", //鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache("enumList");
+console.log(enumList.inEnumOrderType);
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+  //鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+  if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+    formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+    formModel.value.CreatedTimeEnd = ""; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+  } else {
+    // 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+    if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+      formModel.value.CreatedTimeBegin = "";
+      formModel.value.CreatedTimeEnd = "";
+    }
+  }
+  //鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+  if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+    formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+    formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+  } else {
+    // 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+    if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+      formModel.value.IssueTimeBegin = "";
+      formModel.value.IssueTimeEnd = "";
+    }
+  }
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+  formModel.value = {
+    WareMaterialCode: "",
+    WareMaterialName: "",
+    PurchaseNo: "",
+    CreatedUserName: "",
+    CreatedTimeBegin: "",
+    CreatedTimeEnd: "",
+    CreateDate: [],
+    IssueTimeBegin: "",
+    IssueTimeEnd: "",
+    IssueDate: [],
+    MaterialTypeStaus: "",
+    SourceBy: "",
+    WriteOffState: "",
+    signStatus: "",
+    status: "",
+    freeOrderType: "",
+    IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+    //  LoginUserID: LoginUserID, //鐢ㄦ埛id
+    OrderMenuType: "", //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+    Page: 1,
+    PageSize: 10,
+    poApprovalStatus: "",
+    keyCode: "",
+    IsDisable: "", //鏄惁浣滃簾
+  };
+  getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+  checkRows.value = val;
+};
+//瀵煎嚭PO鍗曡鎯�
+const handExport = () => {
+  // rkExport(formModel.value)
+  //   .then((res) => {
+  //     const link = document.createElement("a"); //鍒涘缓a鏍囩
+  //     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+  //     let objectUrl = URL.createObjectURL(blob);
+  //     link.href = objectUrl;
+  //     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+  //       new Date().toString(),
+  //       "YYYY-MM-DD hh:mm:ss"
+  //     )}`; // 鑷畾涔夋枃浠跺悕
+  //     link.click(); // 涓嬭浇鏂囦欢
+  //     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+  //   }).catch((err) => ElMessage.error(JSON.stringify(err)));
+  //瀵煎嚭璋冪敤鎺ュ彛
+  // let entozh = entozhExcell
+  //   const { PageNo, PageSize, ...rest } = formModel.value
+  //   getPurchasePage({ Page: 1, PageSize: 1000000, ...rest }).then(res => {
+  //     if(res.code==200){
+  //       res.data.rows.forEach((item)=>{
+  //         item.writeOffState = EnumWriteOffState.value.filter((v: any) => v.value == item.writeOffState)[0].title;
+  //         item.sourceBy =  sourceEnum.value.filter((v: any) => v.value == item.sourceBy)[0].title;
+  //       })
+  //       exportExcel(res.data.rows, entozh, "xlsx", `鍏ュ簱绠$悊琛�${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`);
+  //     }
+  //   })
+  // 鍚庣瀵煎嚭-瀛楁涓嶅叏
+  // if (checkRows.value.length <= 0) {
+  //   ElMessage.warning("璇烽�夋嫨涓�涓鍗曪紒");
+  //   return
+  // }
+  // const arr = checkRows.value.reduce((curr, item) => {
+  //   curr.push(item.purchaseNo);
+  //   return curr;
+  // }, []);
+  // puchaseExport({ PurchaseNo: arr })
+  //   .then((res) => {
+  //     const link = document.createElement("a"); //鍒涘缓a鏍囩
+  //     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+  //     let objectUrl = URL.createObjectURL(blob);
+  //     link.href = objectUrl;
+  //     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+  //       new Date().toString(),
+  //       "YYYY-MM-DD hh:mm:ss"
+  //     )}`; // 鑷畾涔夋枃浠跺悕
+  //     link.click(); // 涓嬭浇鏂囦欢
+  //     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+  //   })
+  //   .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+  materialCode: "",
+  Page: 1,
+  PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref("drawerAll");
+// const
+//鍗曞彿
+const purchaseNo = ref("");
+const detailCount2 = ref(0);
+const detailForm2 = ref({
+  Page: 1,
+  PageSize: 10,
+  qcOrderId: "",
+});
+const getEnumPoDetailStatusData_Index = ref<any>([]);
+
+const drawerList2 = ref<DetailType[]>([]);
+//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+const getDetail = async () => {
+  loading.value = true;
+  var res = await pageWmsOrderMovementDetails(Object.assign(detailForm.value));
+  var listD = res.data.result?.items ?? [];
+  drawerList.value = listD;
+  detailCount.value = res.data.result?.total;
+  loading.value = false;
+  getEnumPoDetailStatusData_Index.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+    [];
+
+  getEnumAsnStatusData_Index.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+    [];
+};
+
+//----------------鐗╂枡鏄庣粏
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+  detailForm.value.PageNo = 1;
+  detailForm.value.PageSize = 10;
+  if (scope.asnNo) {
+    title.value = `${scope.asnNo}`;
+  }
+  drawerType.value = "drawerAll";
+  drawerVisible.value = true;
+  //褰撳墠鍏ュ簱鍗曞彿id
+  detailForm.value.asnId = scope.id;
+  //鍏ュ簱鍗�
+  purchaseNo.value = scope.purchaseNo;
+  detailForm2.value.asnId = scope.id;
+  //鑾峰彇鐗╂枡鍒楄〃
+  if (detailForm2.value.asnId == "") {
+    drawerList2.value = [];
+    detailCount2.value = 0;
+    return;
+  }
+  // 鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+  getDetail();
+
+  getEnumPoDetailStatusData_Index.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+    [];
+  const getEnumBusinessTypeData_Index = ref<any>([]);
+  getEnumBusinessTypeData_Index.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("BusinessTypeEnum")).data
+      .result ?? [];
+  // getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+
+  // 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+  let scopetrans = JSON.parse(JSON.stringify(scope));
+  // scopetrans.totalquantity = Number(scopetrans.totalquantity).toFixed(3);
+  // scopetrans.quantity = Number(scopetrans.quantity).toFixed(3);
+  // scopetrans.goodsquantity = Number(scopetrans.goodsquantity).toFixed(3);
+  // scopetrans.surplusquantity = Number(scopetrans.surplusquantity).toFixed(3);
+  scopetrans.qcOrderStatus = getEnumDesc(
+    scopetrans.qcOrderStatus,
+    getEnumPoDetailStatusData_Index.value
+  );
+  scopetrans.businessType = getEnumDesc(
+    scopetrans.businessType,
+    getEnumBusinessTypeData_Index.value
+  );
+  nextTick(() => {
+    proxy.$refs["propDetailRef"].openADialog(scopetrans, entozhExcell);
+  });
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+  detailForm.value = {
+    materialCode: "",
+    asnId: "",
+    Page: 1,
+    PageSize: 10,
+  };
+  deltailList.value = [];
+  detailCount.value = 0;
+  drawerList.value = [];
+  drawerList2.value = [];
+  detailCount2.value = 0;
+  drawerList2.value = [];
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+  id: number;
+  barCode: string;
+  wareMaterialCode: string;
+  name: string;
+  signStatus: string;
+  category: string;
+  materialTypeName: string;
+  specificationModel: string;
+  long: number;
+  width: number;
+  high: number;
+  weight: number;
+  unit: string;
+  createdTime: string;
+  purchaseNo: string;
+  quantity: number;
+  goodsquantity: number;
+  surplusquantity: number;
+  poLineNumber: string;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref("");
+
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref("add");
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+  hasTMCode: false,
+  asnType: "",
+  dock: "",
+  projectNo: "",
+  OrderDetails: [] as any[],
+});
+
+// 鐗规畩瀛楃鐨勯獙璇�
+// 鍖呭惈鐗规畩瀛楃杩斿洖true锛屼笉鍖呭惈鐗规畩瀛楃杩斿洖false
+const checkEspcial = (rule: any, value: any, callback: any) => {
+  if (!value) {
+    callback();
+  } else {
+    const reg = /[@$%*^:;锛氾紱~+=!锛�#^{}><.,锛屻�俔/g;
+    if (!reg.test(value.trim())) {
+      callback();
+    } else {
+      return callback(new Error("涓嶈兘瀛樺湪鐗规畩绗﹀彿"));
+    }
+  }
+};
+
+// 楠岃瘉瑙掕壊缂栧彿
+var validatorCode = (rule: any, value: any, callback: any) => {
+  if (!value) {
+    callback();
+  } else {
+    const reg = /[\u4E00-\u9FA5]/g;
+    if (!reg.test(value)) {
+      callback();
+    } else {
+      return callback(new Error("鍗曞彿涓嶈兘瀛樺湪姹夊瓧"));
+    }
+  }
+};
+
+//rules
+const formRules = {
+  // businessType: [{ required: true, message: '璇烽�夋嫨璁㈠崟绫诲瀷锛�', trigger: 'change' }],
+  orderTypeName: [{ required: true, message: "璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒", trigger: "blur" }],
+  businessType: [{ required: true, message: "璇烽�夋嫨涓氬姟绫诲瀷锛�", trigger: "change" }],
+  businessTypeName: [
+    { required: true, message: "璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒", trigger: "blur" },
+  ],
+  orderSocure: [{ required: true, message: "璇疯緭鍏ュ崟鎹潵婧愶紒", trigger: "blur" }],
+  poStatus: [{ required: true, message: "璇烽�夋嫨鍗曟嵁鐘舵�侊紒", trigger: "change" }],
+  poStatusName: [{ required: true, message: "璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒", trigger: "blur" }],
+  supplierCode: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�", trigger: "blur" }],
+  supplierName: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�", trigger: "blur" }],
+  factoryId: [{ required: true, message: "璇疯緭鍏ュ伐鍘侷D锛�", trigger: "blur" }],
+};
+var orderNo = ref("");
+//鎵撳紑
+const openDialog = async (type?: number, scope?: any = {}) => {
+  //debugger
+  materialForm.value.ordersId = scope.ordersId;
+  materialForm.value.movementNo = scope.orderNo;
+  orderNo.value = scope.orderNo || scope.sortNo;
+
+  //update by liuwq 2024-07-04 杩欐浠g爜浼氬鑷� 鎿嶄綔瀹屼慨鏀瑰垎閰嶅悗 鎶ラ敊 鍗曞彿浼犲叆澶辫触锛�
+  //  if (!orderNo.value) {
+  // 	ElMessage.warning('鍗曞彿浼犲叆澶辫触锛�');
+  // 	return
+  // }
+
+  isMaterialBox.value = 1;
+  titleAuthor.value == 1;
+  if (titleAuthor.value == 1) {
+    //涓嬫灦鍗曞叆鍙�
+    materialForm.orderStatus = 0; //鏂板缓
+    getOrderMaterialList1();
+  }
+  if (titleAuthor.value == 2) {
+    //娉㈡鍏ュ彛
+
+    materialForm.sortDetailStatus = 0; //鏂板缓
+    getOrderMaterialList1();
+  }
+
+  dialogVisible.value = true;
+  //娓呴櫎閫変腑椤�
+  // nextTick(() => {
+  // 	dialogRef.value.clearValidate();
+  // });
+};
+
+const getOrderMaterialList1 = async () => {
+  materialForm.value.page = 1;
+  materialForm.value.pageSize = 10000;
+  //materialForm.value.pageFlag =  5 ; // 鍙煡璇� 宸插垎閰� 銆怑ditby shaocx,2024-07-11銆�
+  //materialForm.value.pageFlag =  4 ; // 鍙煡璇� 瑕佸垎閰� 銆怑ditby shaocx,2024-07-11銆�
+  warehousOrderDetails.value = [];
+  if (titleAuthor.value == 1) {
+    //涓嬫灦鍗曞叆鍙�-鍒嗛厤-涓嬫灦鍗曟槑缁�
+    loading.value = true;
+    //debugger
+    // var res = await pageWmsOrderMovementDetails(Object.assign(materialForm.value));
+    var res = await pageWmsOrderMovementDetailsForDispense(
+      Object.assign(materialForm.value)
+    ); //鏌ヨ鍥�
+
+    var listD = res.data.result?.items ?? [];
+    listD.forEach((item: any,index:Number) => {
+      item.id = index
+      item.sendQuantity = Number(item.quantity - item.dispenseQuantity).toFixed(3); //璁㈠崟鏁�-宸插垎閰�
+    });
+    warehousOrderDetails.value = listD;
+    loading.value = false;
+  }
+  if (titleAuthor.value == 2) {
+    //娉㈡鍏ュ彛 - 鏄庣粏
+    loading.value = true;
+
+    var res = await pageWmsOrderSortDetails(Object.assign(materialForm.value));
+    var listD = res.data.result?.items ?? [];
+    listD.forEach((item: any) => {
+      item.sendQuantity = Number(item.quantity - item.dispenseQuantity).toFixed(3); //璁㈠崟鏁�-宸插垎閰�
+    });
+    warehousOrderDetails.value = listD;
+    loading.value = false;
+  }
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const tableRef = ref();
+const setRowKey = (row: any) => {
+  return row.id;
+};
+const setRowKey_child = (row: any) => {
+  return row.id;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+  // addForm.value = {
+  // 	hasTMCode: false,
+  // 	asnType: '',
+  // 	dock: '',
+  // 	projectNo: '',
+  // 	OrderDetails: [] as any[],
+  // };
+  materialForm.value = {
+    materialCode: "",
+    batch: "",
+    snCode: "",
+    areaCode: "",
+    placeCode: "",
+    containerCode: "",
+  };
+  orderNo.value = "";
+  warehousOrderDetails.value = [];
+  checkedDetails.value = [];
+  deltailList.value = [];
+  detailCount.value = 0;
+  tableRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+  checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+  ElMessageBox.confirm("鏄惁纭鍒犻櫎锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(() => {
+      let arr = [];
+      if (checkedDetails.value[0].diRelationID) {
+        checkedDetails.value.forEach((item) => {
+          console.log(item);
+          let index = warehousOrderDetails.value.findIndex(
+            (detail) =>
+              detail.materialCode == item.materialCode &&
+              detail.diRelationID == item.diRelationID
+          );
+          if (index > -1) {
+            warehousOrderDetails.value.splice(index, 1);
+          }
+        });
+      } else {
+        checkedDetails.value.forEach((item) => {
+          let index = warehousOrderDetails.value.findIndex(
+            (detail) =>
+              detail.materialCode == item.materialCode &&
+              detail.asnLineNumber == item.asnLineNumber
+          );
+          warehousOrderDetails.value.splice(index, 1);
+        });
+      }
+      arr = warehousOrderDetails.value;
+      warehousOrderDetails.value = [];
+      //bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+      nextTick(() => {
+        warehousOrderDetails.value = arr;
+        checkedDetails.value = [];
+        tableRef.value.clearSelection();
+      });
+    })
+    .catch(() => ElMessage.info("宸插彇娑堝垹闄�"));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const confirm = async () => {
+  console.log("纭");
+
+  if (titleAuthor.value == 1) {
+    //涓嬫灦鍗曞叆鍙�
+    let res = await addWmsOrderSortYpDetails(warehousOrderDetails.value);
+    if (res.data && res.data.code == 200) {
+      ElMessage.success("涓嬫灦鍗曢閰嶆垚鍔燂紒");
+      dialogVisible.value = false;
+      emits("getTabelData");
+    }
+  }
+  if (titleAuthor.value == 2) {
+    //娉㈡鍏ュ彛
+    let res = await addWmsOrderSortYpDetails(warehousOrderDetails.value);
+    if (res.data && res.data.code == 200) {
+      ElMessage.success("娉㈡棰勯厤鎴愬姛锛�");
+      dialogVisible.value = false;
+      emits("getTabelData");
+    }
+  }
+};
+
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+  materialCode: "",
+  batch: "",
+  snCode: "",
+  areaCode: "",
+  placeCode: "",
+  containerCode: "",
+});
+//鐗╂枡鍩虹鏁版嵁form
+const materialFormForDispenseQuantity = ref({
+  materialCode: "",
+  batch: "",
+  snCode: "",
+  areaCode: "",
+  placeCode: "",
+  containerCode: "",
+});
+
+//鑾峰彇鍙敤搴撳瓨鍒楄〃-绮剧‘鍒拌窡韪爜
+const getMaterialList = async (param: any) => {
+  loading.value = true;
+  var res = await pageStockQuanForUse(
+    Object.assign(materialFormForDispenseQuantity.value)
+  );
+  materialList.value = res.data.result?.items ?? [];
+  materialTotal.value = res.data.result?.total;
+  loading.value = false;
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+  materialForm.value = {
+    materialCode: "",
+    batch: "",
+    snCode: "",
+    orderNo: "",
+    Page: 1,
+    PageSize: 10,
+  };
+  getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+  checkedMaterial.value = val;
+};
+const isMaterialBox: any = ref(true);
+const isPoBox: any = ref(true);
+const chooseItem = ref({});
+//鎵撳紑 鎸囧畾搴撳瓨鍒嗛厤 绐楀彛
+const addMaterialDialog = (param?: any) => {
+  //debugger
+  isPoBox.value = 0;
+  isMaterialBox.value = 1;
+  chooseItem.value = param;
+
+  if (chooseItem.value.dispenseQuantity == chooseItem.value.quantity) {
+    //debugger
+    ElMessage.warning("宸茬粡鍏ㄩ儴鍒嗛厤锛屽闇�鎸囧畾搴撳瓨鍒嗛厤锛岄渶瑕佸厛鍙栨秷鍒嗛厤");
+    return;
+  }
+
+  materialFormForDispenseQuantity.value.materialCode = param.materialCode;
+
+  getMaterialList(param);
+  addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭 鎸囧畾搴撳瓨鍒嗛厤
+const confirmDispenseMaterial = () => {
+  if (checkedMaterial.value.length <= 0) {
+    ElMessage.warning("璇烽�夋嫨鐗╂枡锛�");
+    return;
+  }
+  var isRight = true;
+
+  var isQtyNull = false;
+  checkedMaterial.value.forEach((item) => {
+    if(!item.dispenseQuantity){
+      isQtyNull= true
+      return;
+    }
+    if (item.dispenseQuantity > item.availableQty) {
+      ElMessage.warning(
+        "鐗╂枡'" +
+          item.materialCode +
+          "',璺熻釜鐮�'" +
+          item.snCode +
+          "'锛岃鍒掑垎閰嶆暟閲�" +
+          item.dispenseQuantity +
+          "涓嶈兘澶т簬鍙敤鏁伴噺" +
+          item.availableQty
+      );
+      isRight = false;
+      return;
+    }
+  });
+
+  if (isQtyNull == true) {
+    ElMessage.warning("璇疯緭鍏ヨ鍒掑垎閰嶆暟閲忥紒");
+    return;
+  }
+
+  if (isRight == false) {
+    return;
+  }
+
+  ElMessageBox.confirm(`纭畾瑕佹寚瀹氬簱瀛樺垎閰嶅悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  }).then(async () => {
+    //debugger
+    const handleArr: number[] = [];
+    checkedMaterial.value.forEach((item) => {
+      handleArr.push(item.snCode);
+    });
+    chooseItem.value.flag = 2; //琛ㄧず鎸囧畾搴撳瓨鍒嗛厤
+    chooseItem.value.dispenseDetailsForHand = checkedMaterial;
+    loadingWmsOrderMovement.value = true;
+    var postParam = new Array();
+    postParam.push(chooseItem.value);
+    var ret = await updateWmsOrderFp(postParam);
+    if (ret.data.type == "success") {
+      ElMessage.success("鎸囧畾搴撳瓨鍒嗛厤鎴愬姛");
+      addMaterialVisible.value = false;
+      //閲嶆柊鏌ヨ鏁版嵁
+      getOrderMaterialList1();
+    }
+  });
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+  materialFormForDispenseQuantity.value = {
+    materialCode: "",
+    Page: 1,
+    PageSize: 10,
+  };
+  materialList.value = [];
+  checkedMaterial.value = [];
+  materialRef.value.clearSelection();
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {});
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+  page: 1,
+  pageSize: 200,
+  total: 0,
+  custType: "渚涘簲鍟�",
+});
+
+//-----------------杩滅▼鎼滅储----------------
+const handleQueryTdp = async () => {
+  var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+  arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+  loading.value = true;
+  var res = await pageBaseCustomer({
+    page: 1,
+    pageSize: 200,
+    custCode: query,
+    custType: "渚涘簲鍟�",
+  });
+  loading.value = false;
+  arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+  loading.value = true;
+  var res = await pageBaseCustomer({
+    page: 1,
+    pageSize: 200,
+    custCode: query,
+    custType: "渚涘簲鍟�",
+  });
+  loading.value = false;
+  arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+// const getChildList = async (item?: any, expandedRows: any[]) => {
+//   // if (expandedRows.length <= 0) {
+//   //   console.log("鏄姌鍙狅紝涓嶅姞杞芥暟鎹�");
+//   //   return;
+//   // }
+//   //console.log('鏌ヨ瀛愰泦鍟�');
+//   var res = await pageFpWmsOrderMovementDetails(
+//     Object.assign({
+//       MovementNo: item.movementNo,
+//       MovementLineNumber: item.lineNumber,
+//       PDRecordStatus: 2, // 鍙煡璇� 鐘舵�佹槸鈥滃凡鍒嗛厤鈥濈殑鏁版嵁 銆怑ditby shaocx,2024-07-11銆�
+//     })
+//   );
+//   item.children = res.data.result || [];
+//   nextTick(() => {
+//     tableRef.value!.toggleRowExpansion(item, true);// 灞曞紑瀛愰泦
+//   });
+// };
+
+const getChildList = async (item?: any, expandedRows: any[]) => {
+  console.log("3绾т笅鎷�")
+	if (item.children) {
+		return
+	}
+  debugger
+  var res = await pageFpWmsOrderMovementDetails(
+    Object.assign({
+      MovementNo: item.movementNo,
+      MovementLineNumber: item.lineNumber,
+      PDRecordStatus: 2, // 鍙煡璇� 鐘舵�佹槸鈥滃凡鍒嗛厤鈥濈殑鏁版嵁 銆怑ditby shaocx,2024-07-11銆�
+    })
+  );
+	item.children = res.data.result || [];
+	nextTick(() => {
+		tableRef.value!.toggleRowExpansion(item, true);// 灞曞紑瀛愰泦
+	});
+};
+
+const loadingWmsOrderMovement = ref(false);
+
+// 鍒嗛厤璇︽儏-鍙栨秷鍒嗛厤
+const delWmsOrderXq = (row: any) => {
+  //debugger
+  ElMessageBox.confirm(`纭畾瑕佸彇娑堝垎閰嶅悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  }).then(async () => {
+    var { sendQuantity, ...rest } = row;
+    loadingWmsOrderMovement.value = true;
+    // var arrSendData = [
+    // 	{
+
+    // 		Id:row.id
+    // 	}
+    // ]
+
+    var arrSendData = {
+      MovementNo: row.movementNo,
+      Id: row.id,
+    };
+    var ret = await deleteWmsOrderFp(arrSendData);
+    if (ret.data.type == "success") {
+      ElMessage.success("鍙栨秷鍒嗛厤鎴愬姛");
+      loadingWmsOrderMovement.value = false;
+      //閲嶆柊鍔犺浇鏁版嵁
+      getOrderMaterialList1();
+    }
+  });
+};
+
+//-----------------杩滅▼鎼滅储 搴撳尯缂栧彿----------------
+const arrTdpArea = ref<any[]>([]);
+const queryParamsWArea = ref<any>({});
+const tableParamsWArea = ref({
+  page: 1,
+  pageSize: 200,
+  total: 0,
+  areaCode: "",
+});
+
+const handleQueryTdpArea = async () => {
+  var res = await handleSlectDataWmsArea(
+    Object.assign(queryParamsWArea.value, tableParamsWArea.value)
+  );
+  arrTdpArea.value = res ?? [];
+};
+const changeXmbhArea = async (query?: any) => {
+  loading.value = true;
+  var res = await handleSlectDataWmsArea({
+    page: 1,
+    pageSize: 200,
+    areaCode: query,
+  });
+  loading.value = false;
+  arrTdpArea.value = res ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethodArea = async (query: string) => {
+  loading.value = true;
+  var res = await handleSlectDataWmsArea({
+    page: 1,
+    pageSize: 200,
+    areaCode: query,
+  });
+  loading.value = false;
+  arrTdpArea.value = res ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+
+//-----------------杩滅▼鎼滅储 搴撲綅缂栧彿----------------
+const arrTdpPlace = ref<any[]>([]);
+const queryParamsWPlace = ref<any>({});
+const tableParamsWPlace = ref({
+  page: 1,
+  pageSize: 200,
+  total: 0,
+  PlaceCode: "",
+});
+
+const handleQueryTdpPlace = async () => {
+  var res = await pageWmsPlace(
+    Object.assign(queryParamsWPlace.value, tableParamsWPlace.value)
+  );
+  arrTdpPlace.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+  margin: 10px;
+}
+
+.msi-form {
+  margin-top: 10px;
+}
+
+.msi-form {
+  margin-bottom: 10px;
+}
+
+.slot_title {
+  display: flex;
+  align-items: center;
+
+  // margin-left: 20px;
+  .title_orderNo {
+    font-size: 18px;
+    color: #f18201;
+    font-weight: bold;
+    margin-right: 5px;
+  }
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/components/bcProp/fenconfigOpenAllprop.vue b/LA24030_LuLiPackageLine_Web/src/components/bcProp/fenconfigOpenAllprop.vue
new file mode 100644
index 0000000..6711e47
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/bcProp/fenconfigOpenAllprop.vue
@@ -0,0 +1,1131 @@
+<template>
+	<el-dialog v-model="dialogVisible" width="95%" @close="closeDialog" :close-on-click-modal="false">
+		<template #header>
+			<div style="color: #fff">
+				<span>
+					{{ titleAuthor == 1 ? "涓嬫灦鍗�" : "娉㈡鍗�" }}鍒嗛厤
+				</span>
+			</div>
+		</template>
+
+		<el-form :model="materialForm" label-width="70px">
+			<el-row>
+				<el-col :span="5">
+					<el-form-item label="鐗╂枡缂栧彿">
+						<el-input v-model="materialForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+					</el-form-item>
+				</el-col>
+
+				 <el-col :span="5">
+			<el-form-item label="鍗曞彿" prop="movementNo">
+				<el-input v-model="materialForm.movementNo" placeholder="璇疯緭鍏ュ崟鍙�" maxlength="255" show-word-limit
+					clearable />
+			</el-form-item>
+		</el-col> 
+
+				<el-col :span="8">
+					<el-form-item label-width="20px">
+						<el-button type="primary" icon="el-icon-search" @click="getOrderMaterialList">鏌ヨ</el-button>
+						<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+		<div class="msi-content" style="margin-top: 10px">
+			<!-- <div class="header" style="margin-bottom: 10px">
+				<div>
+					<el-button v-show="isPoBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog('po')">鍏宠仈ASN鍗�</el-button>
+
+					<el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+						@click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+				</div>
+			</div> -->
+			<el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+				@selection-change="detailsCheckChange" max-height="480" @expand-change="getChildList">
+				<el-table-column align="center" width="60" type="selection" />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column v-if="titleAuthor == 1" prop="movementNo" min-width="100px" label="涓嬫灦鍗曞崟鍙�"
+					show-overflow-tooltip="" />
+				<el-table-column v-if="titleAuthor == 2" prop="sortNo" min-width="100px" label="娉㈡鍗曞彿"
+					show-overflow-tooltip="" />
+				<el-table-column v-if="titleAuthor == 2" prop="relationNo" min-width="100px" label="涓嬫灦鍗曞崟鍙�"
+					show-overflow-tooltip="" />
+
+				<el-table-column prop="materialCode" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="lineNumber" label="琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="orderStatus" min-width="60px" label="鐘舵��" show-overflow-tooltip="">
+
+					<template #default="scope">
+						{{ scope.row.orderStatusName }}
+					</template>
+				</el-table-column>
+				<el-table-column prop="unit" label="鍗曚綅" show-overflow-tooltip="" />
+				<el-table-column
+				label="瀹㈡埛缂栧彿"
+				prop="custCode"
+				align="center"
+				min-width="110"
+				/>
+				<!-- <el-table-column prop="quantity1" label="宸插嚭搴撴暟" show-overflow-tooltip="" /> -->
+				<el-table-column prop="availableQty" label="搴撳瓨鏁�" show-overflow-tooltip="" />
+				<el-table-column prop="quantity" label="璁㈠崟鏁�" show-overflow-tooltip="" />
+				<el-table-column prop="predetermineQuantity" label="宸查閰嶆暟" show-overflow-tooltip="" />
+				<el-table-column prop="dispenseQuantity" label="宸插垎閰嶆暟" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" /> -->
+				<!-- <el-table-column prop="offShelvesQuantity" label="涓嬪彂鏁�" show-overflow-tooltip="" /> -->
+				<el-table-column label="璁″垝鍒嗛厤鏁伴噺" align="center" width="200">
+					<template #default="scope">
+						<el-input-number min="0" v-model="scope.row.sendQuantity" size="small" />
+					</template>
+				</el-table-column>
+
+			
+			</el-table>
+
+
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" :disabled="checkedDetails.length == 0" @click="confirm">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 娣诲姞鐗╂枡 -->
+	<el-dialog v-model="addMaterialVisible" width="70%" @close="closeMaterialDialog">
+		<template #header>
+			<div style="color: #fff">
+				<span v-if="isMaterialBox == 1">娣诲姞鐗╂枡璇︽儏</span>
+				<span v-if="isPoBox == 1">鍏宠仈ASN鍗曠墿鏂�</span>
+			</div>
+		</template>
+
+		<div class="msi-form" style="padding-top: 0px">
+			<el-form :model="materialForm">
+				<el-row>
+					<el-col :span="8" v-if="isMaterialBox == 1">
+						<el-form-item label="鐗╂枡缂栧彿">
+							<el-input v-model="materialForm.Code" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8" v-if="isPoBox == 1">
+						<el-form-item label="鍏宠仈ASN鍗曞彿:">
+							<el-input v-model="materialForm.poNo" placeholder="璇疯緭鍏ュ叧鑱擜SN鍗曞彿" clearable></el-input>
+						</el-form-item>
+					</el-col>
+
+					<el-col :span="8">
+						<el-form-item label-width="20px">
+							<el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+							<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</div>
+		<div class="msi-content" style="padding-top: 0; margin-top: 10px">
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isMaterialBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+
+				<el-table-column label="鍗曚綅" prop="poUnit" align="center" min-width="140" show-overflow-tooltip />
+			</el-table>
+			<!-- ASN鍗� -->
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isPoBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column prop="poNo" label="PO鍗曞彿" min-width="120px" show-overflow-tooltip="" />
+				<el-table-column prop="poLineNumber" min-width="100px" label="PO琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="asnLineNumber" min-width="100px" label="ASN琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" min-width="130px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="asnStatus" min-width="100px" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index))">
+							{{ getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index) }}
+						</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="quantity" min-width="100px" label="閫佽揣鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="goodsQuantity" min-width="100px" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="supplierCode" min-width="100px" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierName" min-width="100px" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierBatch" min-width="100px" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" />
+				<el-table-column prop="unit" min-width="100px" label="鍗曚綅" show-overflow-tooltip="" />
+
+				<el-table-column prop="sN_1d" min-width="120px" label="涓�缁存潯鐮�" show-overflow-tooltip="" />
+				<el-table-column prop="sN_2d" min-width="120px" label="浜岀淮鏉$爜" show-overflow-tooltip="" />
+				<el-table-column prop="package" min-width="100px" label="鍖呰鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="plannedStartTime" min-width="120px" label="璁″垝寮�濮嬫椂闂�" :formatter="formatDate_T_Date"
+					show-overflow-tooltip="" />
+				<el-table-column prop="plannedEndTime" min-width="120px" label="璁″垝缁撴潫鏃堕棿" :formatter="formatDate_T_Date"
+					show-overflow-tooltip="" />
+				<el-table-column prop="projectNo" min-width="100px" label="椤圭洰鍙�" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="factoryName" min-width="100px" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="factoryCode" min-width="100px" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+				<el-table-column prop="dock" min-width="100px" label="鏀惰揣閬撳彛" show-overflow-tooltip="" />
+
+
+				<el-table-column prop="batch" min-width="100px" label="鎵规" show-overflow-tooltip="" />
+
+				<el-table-column prop="erpCode" min-width="100px" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
+				<el-table-column prop="erpOrderNo" min-width="100px" label="ERP鍗曞彿" show-overflow-tooltip="" />
+
+				<!-- <el-table-column prop="createTime" min-width="100px" label="鍒涘缓鏃堕棿" width="130"
+						:formatter="formatDate_T_Time" show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" min-width="100px" label="淇敼鏃堕棿" width="130"
+						:formatter="formatDate_T_Time" show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" min-width="120px" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" min-width="120px" label="淇敼浜�" show-overflow-tooltip="" /> -->
+			</el-table>
+
+			<Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+				@pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 鍗曡鎯� -->
+	<el-drawer v-model="drawerVisible" :title="`${detailForm.asnId}璁㈠崟璇︽儏`" direction="rtl" size="80%"
+		@close="handleDrawerClose">
+		<template #title>
+			<div class="slot_title">
+				<div class="title_orderNo">{{ title }}</div>
+				<div>璁㈠崟璇︽儏</div>
+			</div>
+		</template>
+
+		<div class="detailBoxWrap">
+			<!-- 璇︽儏缁勪欢 -->
+			<open-details ref="propDetailRef"></open-details>
+			<div class="msi-form">
+				<el-form :model="detailForm">
+					<el-row>
+						<el-col :span="6">
+							<el-form-item label="鐗╂枡缂栧彿">
+								<el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="2">
+							<el-form-item label-width="20px">
+								<el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-form>
+			</div>
+			<div class="msi-content">
+				<!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+				<el-table :data="drawerList" border striped :max-height="480">
+					<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+
+		
+
+					<el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="materialName" min-width="110px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="qcQuantity" label="瀹炴鏁伴噺" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="qCStatus" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+					<el-table-column prop="qcStatus" label="璐ㄦ鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index) }}</el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column prop="passQuantity" label="鍚堟牸鏁伴噺" show-overflow-tooltip="" />
+					<el-table-column prop="rejectQuantity" label="涓嶅悎鏍兼暟閲�" show-overflow-tooltip="" />
+					<el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+
+					<el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" show-overflow-tooltip="" />
+					<el-table-column prop="qCOrderStatus" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{ getEnumDesc(scope.row.qcOrderStatus, getEnumAsnStatusData_Index) }}</el-tag>
+						</template>
+					</el-table-column>
+					<!-- <el-table-column prop="qcOrderStatusName" label="鍗曟嵁鐘舵��"  show-overflow-tooltip="" /> -->
+
+					<el-table-column prop="unit" label="鍗曚綅" show-overflow-tooltip="" />
+					<el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+					<el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+					<el-table-column prop="custCode" label="瀹㈡埛缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="custChinaName" min-width="110px" label="瀹㈡埛涓枃鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="custEnglishName" min-width="110px" label="瀹㈡埛鑻辨枃鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="relationOrderType" label="鍏宠仈鍗曟嵁绫诲瀷"  show-overflow-tooltip="" /> -->
+					<el-table-column prop="relationOrderTypeName" min-width="110px" label="鍏宠仈鍗曟嵁绫诲瀷"
+						show-overflow-tooltip="" />
+					<!-- <el-table-column prop="factoryId" label="宸ュ巶ID"  show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="factoryName" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="factoryCode" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+					<el-table-column prop="remarks" label="澶囨敞" show-overflow-tooltip="" />
+					<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+
+				</el-table>
+				<Pagination :total="detailCount" v-model:page="detailForm.PageNo" v-model:limit="detailForm.PageSize"
+					@pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+				<div></div>
+			</div>
+		</div>
+	</el-drawer>
+
+	<el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+		<el-form :model="outerForm2" label-width="120px">
+			<el-row style="font-size: 16px">
+				<el-col :span="23">
+					<el-form-item label="鍗曞彿:" required>
+						<el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="outVisible2 = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="getSapOrderPO">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+</template>
+<script lang="ts" setup>
+import Pagination from '/@/components/Pagination/index.vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import { ref, nextTick, computed, getCurrentInstance, watch, defineExpose, defineProps, onMounted } from 'vue';
+
+import { formatDecimalData } from '/@/utils/formate';
+
+import cache from '/@/utils/cache';
+import { pageWmsMaterial } from '/@/api/main/WmsBase/wmsMaterial';
+import {
+	getTypeStatus
+} from "/@/utils/formate";
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import { addWmsOrderPurchase, updateWmsOrderPurchase, detailWmsOrderPurchase } from '/@/api/main/WmsOrder/wmsOrderPurchase';
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+import { pageWmsOrderPurchaseDetails } from '/@/api/main/WmsOrder/wmsOrderPurchaseDetails';
+import { pageWmsOrderAsnDetails, deleteWmsOrderAsnDetails } from '/@/api/main/WmsOrder/wmsOrderAsnDetails';
+import commonFunction from '/@/utils/commonFunction';
+
+import { pageWmsOrderSortDetails, deleteWmsOrderSortDetails, importExcelWmsOrderSortDetails, downloadExcelTemplateWmsOrderSortDetails, addWmsOrderMoveFenDetails } from '/@/api/main/WmsOrderDo/wmsOrderSortDetails';
+
+import { pageWmsQcDetails } from '/@/api/main/WmsQC/wmsOrderQcDetails';
+import { pageWmsOrderMovementDetails, pageWmsOrderMovementDetailsForDispense, pageWmsOrderMovementDetailsForPredetermine } from '/@/api/main/WmsOrder/wmsOrderMovementDetails';
+import { addWmsOrderSort, pageWmsOrderSort } from '/@/api/main/WmsOrderDo/wmsOrderSort';
+import { addWmsOrderSortFenDetails } from '/@/api/main/WmsOrderDo/wmsOrderSortDetails';
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getEnumOrderTypeData = ref<any>([]);
+const getEnumBusinessTypeData = ref<any>([]);
+const getEnumPoStatusData = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(['getTabelData']);
+const getEnumAsnStatusData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumQCStatusData_Index = ref<any>([]);
+
+const getEnumDockData = ref<any>([]);
+const props = defineProps({
+	titleAuthor: {
+		type: Number,
+		required: true,
+	},
+	hexiao: {
+		type: Number,
+		default: 1,
+		required: true,
+	},
+});
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor);
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+// 鐧诲綍鐢ㄦ埛id
+// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
+
+// const EnumWriteOffState = computed(
+//   () => store.state.login.enums.enumWriteOffState
+// );
+
+let itemBtnArr = ['鎵归噺鍒犻櫎', '缂栬緫', '鏂板'];
+const boolEnum = ref([
+	{
+		title: '鏄�',
+		value: true,
+	},
+	{
+		title: '鍚�',
+		value: false,
+	},
+]);
+
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref('');
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+	return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+	orderDoRuType.value = param;
+	uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+	getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+	ElMessageBox.confirm('鏄惁纭鑾峰彇鏇存柊锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	}).then(() => {
+		// getSapRkPurchase().then((res) => {
+		//   if (res.code == 200) {
+		//     ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+		//   } else {
+		//     ElMessage.error(
+		//       `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+		//     );
+		//   }
+		// })
+	});
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+	purchaseNo: '',
+});
+const getSapOrderPO = (param?: number) => {
+	if (param && param == 1) {
+		outVisible2.value = true;
+		return;
+	}
+	if (outerForm2.value.purchaseNo == '') {
+		ElMessage.warning('璇疯緭鍏ュ崟鍙�');
+		return;
+	}
+	// getSapPurchasePO({
+	//   purchaseNo: outerForm2.value.purchaseNo
+	// })
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       ElMessage.success("SAP鑾峰彇鎴愬姛");
+	//       outVisible2.value = false;
+	//     } else {
+	//       ElMessage.error(
+	//         `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+	//       );
+	//     }
+	//   })
+	//   .catch((err) => ElMessage.error(err));
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+	outerForm2.value.purchaseNo = '';
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+	WareMaterialCode: '',
+	WareMaterialName: '',
+	PurchaseNo: '',
+	CreatedUserName: '',
+	CreatedTimeBegin: '',
+	CreatedTimeEnd: '',
+	CreateDate: [],
+	IssueTimeBegin: '',
+	IssueTimeEnd: '',
+	IssueDate: [],
+	MaterialTypeStaus: '',
+	SourceBy: '',
+	WriteOffState: '',
+	signStatus: '',
+	status: '',
+	freeOrderType: '',
+	IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+	// LoginUserID: LoginUserID, //鐢ㄦ埛id
+	OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+	Page: 1,
+	PageSize: 10,
+	poApprovalStatus: '',
+	keyCode: '',
+	IsDisable: '', //鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+const tableRef = ref();
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache('enumList');
+console.log(enumList.inEnumOrderType);
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+	//鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+		formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+		formModel.value.CreatedTimeEnd = ''; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+			formModel.value.CreatedTimeBegin = '';
+			formModel.value.CreatedTimeEnd = '';
+		}
+	}
+	//鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+		formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+		formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+			formModel.value.IssueTimeBegin = '';
+			formModel.value.IssueTimeEnd = '';
+		}
+	}
+
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+	formModel.value = {
+		WareMaterialCode: '',
+		WareMaterialName: '',
+		PurchaseNo: '',
+		CreatedUserName: '',
+		CreatedTimeBegin: '',
+		CreatedTimeEnd: '',
+		CreateDate: [],
+		IssueTimeBegin: '',
+		IssueTimeEnd: '',
+		IssueDate: [],
+		MaterialTypeStaus: '',
+		SourceBy: '',
+		WriteOffState: '',
+		signStatus: '',
+		status: '',
+		freeOrderType: '',
+		IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+		//  LoginUserID: LoginUserID, //鐢ㄦ埛id
+		OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+		Page: 1,
+		PageSize: 10,
+		poApprovalStatus: '',
+		keyCode: '',
+		IsDisable: '', //鏄惁浣滃簾
+	};
+	getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+	materialCode: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref('drawerAll');
+// const
+//鍗曞彿
+const purchaseNo = ref('');
+const detailCount2 = ref(0);
+const detailForm2 = ref({
+	Page: 1,
+	PageSize: 10,
+	qcOrderId: '',
+});
+const getEnumPoDetailStatusData_Index = ref<any>([]);
+
+const drawerList2 = ref<DetailType[]>([]);
+//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+const getDetail = async () => {
+	loading.value = true;
+	var res = await pageWmsOrderMovementDetails(Object.assign(detailForm.value));
+	var listD = res.data.result?.items ?? [];
+	drawerList.value = listD;
+	detailCount.value = res.data.result?.total;
+	loading.value = false;
+	getEnumPoDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+
+	getEnumAsnStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+};
+
+//----------------鐗╂枡鏄庣粏
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+	detailForm.value.PageNo = 1;
+	detailForm.value.PageSize = 10;
+	if (scope.asnNo) {
+		title.value = `${scope.asnNo}`;
+	}
+	drawerType.value = 'drawerAll';
+	drawerVisible.value = true;
+	//褰撳墠鍏ュ簱鍗曞彿id
+	detailForm.value.asnId = scope.id;
+	//鍏ュ簱鍗�
+	purchaseNo.value = scope.purchaseNo;
+	detailForm2.value.asnId = scope.id;
+	//鑾峰彇鐗╂枡鍒楄〃
+	if (detailForm2.value.asnId == '') {
+		drawerList2.value = [];
+		detailCount2.value = 0;
+		return;
+	}
+	// 鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	getDetail();
+
+	getEnumPoDetailStatusData_Index.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+		[];
+
+	// 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+	let scopetrans = JSON.parse(JSON.stringify(scope));
+	// scopetrans.surplusquantity = Number(scopetrans.surplusquantity).toFixed(3);
+	scopetrans.qcOrderStatus = getEnumDesc(scopetrans.qcOrderStatus, getEnumPoDetailStatusData_Index.value);
+	nextTick(() => {
+		proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+	});
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+	detailForm.value = {
+		materialCode: '',
+		asnId: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	deltailList.value = [];
+	detailCount.value = 0;
+	drawerList.value = [];
+	drawerList2.value = [];
+	detailCount2.value = 0;
+	drawerList2.value = [];
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+	id: number;
+	barCode: string;
+	wareMaterialCode: string;
+	name: string;
+	signStatus: string;
+	category: string;
+	materialTypeName: string;
+	specificationModel: string;
+	long: number;
+	width: number;
+	high: number;
+	weight: number;
+	unit: string;
+	createdTime: string;
+	purchaseNo: string;
+	quantity: number;
+	goodsquantity: number;
+	surplusquantity: number;
+	poLineNumber: string;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref('');
+
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref('add');
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+	hasTMCode: false,
+	asnType: '',
+	dock: '',
+	projectNo: '',
+	OrderDetails: [] as any[],
+});
+
+// 鐗规畩瀛楃鐨勯獙璇�
+// 鍖呭惈鐗规畩瀛楃杩斿洖true锛屼笉鍖呭惈鐗规畩瀛楃杩斿洖false
+const checkEspcial = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[@$%*^:;锛氾紱~+=!锛�#^{}><.,锛屻�俔/g;
+		if (!reg.test(value.trim())) {
+			callback();
+		} else {
+			return callback(new Error('涓嶈兘瀛樺湪鐗规畩绗﹀彿'));
+		}
+	}
+};
+
+// 楠岃瘉瑙掕壊缂栧彿
+var validatorCode = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[\u4E00-\u9FA5]/g;
+		if (!reg.test(value)) {
+			callback();
+		} else {
+			return callback(new Error('鍗曞彿涓嶈兘瀛樺湪姹夊瓧'));
+		}
+	}
+};
+
+//rules
+const formRules = {
+	// businessType: [{ required: true, message: '璇烽�夋嫨璁㈠崟绫诲瀷锛�', trigger: 'change' }],
+	orderTypeName: [{ required: true, message: '璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	businessType: [{ required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change' }],
+	businessTypeName: [{ required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	orderSocure: [{ required: true, message: '璇疯緭鍏ュ崟鎹潵婧愶紒', trigger: 'blur' }],
+	poStatus: [{ required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change' }],
+	poStatusName: [{ required: true, message: '璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒', trigger: 'blur' }],
+	supplierCode: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�', trigger: 'blur' }],
+	supplierName: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�', trigger: 'blur' }],
+	factoryId: [{ required: true, message: '璇疯緭鍏ュ伐鍘侷D锛�', trigger: 'blur' }]
+};
+//鎵撳紑
+const openDialog = async (type: number, scope: any = {}) => {
+	materialForm.value.PageSize = 100000;
+	materialForm.value.ordersId = scope.join(",");
+	debugger
+	if (titleAuthor.value == 1) { //涓嬫灦鍗曞垎閰嶅叆鍙�
+		materialForm.orderStatus = 0;  //鏂板缓
+		materialForm.value.pageFlag = 4; //涓嬫灦鍗曞垎閰� 銆怑ditby shaocx,2024-07-10銆�
+		getOrderMaterialList();
+	}
+	if (titleAuthor.value == 2) { //娉㈡鍏ュ彛
+		materialForm.sortDetailStatus = 0; //鏂板缓
+		getOrderMaterialList();
+	}
+	//----------------鐗╂枡鏄庣粏
+	dialogVisible.value = true;
+	//娓呴櫎閫変腑椤�
+	// nextTick(() => {
+	// 	dialogRef.value.clearValidate();
+	// });
+};
+
+// ---------------- 鏄庣粏 ------------------
+const getOrderMaterialList = async () => {
+	if (titleAuthor.value == 1) { //涓嬫灦鍗曞叆鍙�-鍒嗛厤-涓嬫灦鍗曟槑缁�
+		loading.value = true;
+		debugger
+		// var res = await pageWmsOrderMovementDetails(Object.assign(materialForm.value));
+		var res = await pageWmsOrderMovementDetailsForDispense(Object.assign(materialForm.value)); //鏌ヨ鍥�
+
+		var listD = res.data.result?.items ?? [];
+		listD.forEach((item: any) => {
+			item.sendQuantity = Number(item.quantity - item.dispenseQuantity).toFixed(3);  //璁㈠崟鏁�-宸插垎閰�
+		})
+		warehousOrderDetails.value = listD;
+		loading.value = false;
+	}
+	if (titleAuthor.value == 2) { //娉㈡鍏ュ彛 - 鏄庣粏
+		loading.value = true;
+		var res = await pageWmsOrderSortDetails(Object.assign(materialForm.value));
+		var listD = res.data.result?.items ?? [];
+		listD.forEach((item: any) => {
+			item.sendQuantity = Number(item.quantity - item.dispenseQuantity).toFixed(3); //璁㈠崟鏁�-宸插垎閰�
+		})
+		warehousOrderDetails.value = listD;
+		loading.value = false;
+	}
+}
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+	return row.id + row.asnLineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+	// addForm.value = {
+	// 	hasTMCode: false,
+	// 	asnType: '',
+	// 	dock: '',
+	// 	projectNo: '',
+	// 	OrderDetails: [] as any[],
+	// };
+	materialForm.value = {
+		materialCode: '',
+		orderNo: '',
+		Page: 1,
+		PageSize: 10000,
+	};
+	warehousOrderDetails.value = [];
+	checkedDetails.value = [];
+	deltailList.value = [];
+	detailCount.value = 0;
+	detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+	ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			let arr = [];
+			if (checkedDetails.value[0].diRelationID) {
+				checkedDetails.value.forEach((item) => {
+					console.log(item);
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.diRelationID == item.diRelationID);
+					if (index > -1) {
+						warehousOrderDetails.value.splice(index, 1);
+					}
+				});
+			} else {
+				checkedDetails.value.forEach((item) => {
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.asnLineNumber == item.asnLineNumber);
+					warehousOrderDetails.value.splice(index, 1);
+				});
+			}
+			arr = warehousOrderDetails.value;
+			warehousOrderDetails.value = [];
+			//bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+			nextTick(() => {
+				warehousOrderDetails.value = arr;
+				checkedDetails.value = [];
+				detailRef.value.clearSelection();
+			});
+		})
+		.catch(() => ElMessage.info('宸插彇娑堝垹闄�'));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const confirm = async () => {
+	console.log('纭');
+	// let idx = warehousOrderDetails.value.findIndex((v) => v.asnLineNumber == '' || v.asnLineNumber == undefined);
+	// if (idx > -1) {
+	// 	ElMessage.warning('璇疯緭鍏ヨ鍙�');
+	// 	return;
+	// }
+	// let isNext = '';
+	// warehousOrderDetails.value.forEach((item) => {
+	// 	const arr: any = warehousOrderDetails.value.filter((detail) => detail.asnLineNumber == item.asnLineNumber);
+	// 	if (arr.length > 1) {
+	// 		isNext = `琛屽彿锛�${arr[0].asnLineNumber}涓嶈兘鐩稿悓`;
+	// 		return;
+	// 	}
+	// });
+	// if (isNext != '') {
+	// 	ElMessage.warning(isNext);
+	// 	return;
+	// }
+
+	// let idx2 = warehousOrderDetails.value.findIndex((v) => v.passQuantity == '' || v.passQuantity == undefined);
+	// de
+	// if (idx2 > -1) {
+	// 	ElMessage.warning('鍚堟牸鏁伴噺涓嶅悎瑙勮寖锛�');
+	// 	return;
+	// }
+	// addForm.value.OrderDetails = [];
+	// warehousOrderDetails.value.forEach((item) => {
+	// 	const obj = {
+	// 		...item,
+	// 		QCQuantity: item.quantity,
+	// 		asnLineNumber: item.asnLineNumber,
+	// 	};
+	// 	addForm.value.OrderDetails.push(obj);
+	// });
+
+	// checkedDetails.value.forEach((item) => {
+	// 	item.orderNo = item.movementNo
+	// });
+
+	if (titleAuthor.value == 1) { //涓嬫灦鍗曞叆鍙�
+		debugger
+		let res = await addWmsOrderMoveFenDetails(checkedDetails.value);
+		if (res.data && res.data.code == 200) {
+			ElMessage.success('涓嬫灦鍗曞垎閰嶆垚鍔燂紒');
+			dialogVisible.value = false;
+			emits('getTabelData');
+		}
+	}
+	if (titleAuthor.value == 2) { //娉㈡鍏ュ彛
+		let res = await addWmsOrderSortFenDetails(checkedDetails.value);
+		if (res.data && res.data.code == 200) {
+			ElMessage.success('娉㈡鍒嗛厤鎴愬姛锛�');
+			dialogVisible.value = false;
+			emits('getTabelData');
+		}
+	}
+
+
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+	materialCode: '',
+	orderNo: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+	if (isPoBox.value == 1) {
+		if (materialForm.value.poNo) {
+			loading.value = true;
+			var res = await pageWmsOrderAsnDetails(Object.assign(materialForm.value));
+			materialList.value = res.data.result?.items ?? [];
+			materialTotal.value = res.data.result?.total;
+			loading.value = false;
+		}
+	}
+	if (isMaterialBox.value == 1) {
+		loading.value = true;
+		var res = await pageWmsMaterial(Object.assign(materialForm.value));
+		materialList.value = res.data.result?.items ?? [];
+		materialTotal.value = res.data.result?.total;
+		loading.value = false;
+	}
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+	materialForm.value = {
+		materialCode: '',
+		orderNo: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+	checkedMaterial.value = val;
+};
+const isMaterialBox: any = ref(true);
+const isPoBox: any = ref(true);
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = (param?: any) => {
+	if (param && param == 'po') {
+		isPoBox.value = 1;
+		isMaterialBox.value = 0;
+	} else {
+		isPoBox.value = 0;
+		isMaterialBox.value = 1;
+	}
+	getMaterialList();
+	addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+	//鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+	if (warehousOrderDetails.value.length == 0) {
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			item.asnLineNumber = index + 1;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	} else {
+		for (let i = 0; i < checkedMaterial.value.length; i++) {
+			let idx = warehousOrderDetails.value.findIndex(
+				(item: { poLineNumber: any; code: any }) => item.code == checkedMaterial.value[i].materialCode && item.asnLineNumber == checkedMaterial.value[i].asnLineNumber
+			);
+			if (idx > -1) {
+				return ElMessage.warning(`鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}锛孉SN琛屽彿锛�${checkedMaterial.value[i].asnLineNumber || ''}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦);
+			}
+		}
+
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	}
+
+	addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+	materialForm.value = {
+		materialCode: '',
+		orderNo: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	materialList.value = [];
+	checkedMaterial.value = [];
+	materialRef.value.clearSelection();
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+});
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	custType: '渚涘簲鍟�',
+});
+
+//-----------------杩滅▼鎼滅储----------------
+const handleQueryTdp = async () => {
+	var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+	arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: '渚涘簲鍟�',
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: '渚涘簲鍟�',
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+const getChildList = (item?: any) => {
+	// console.log("4")
+}
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+	margin: 10px;
+}
+
+.msi-form {
+	margin-top: 10px;
+}
+
+.msi-form {
+	margin-bottom: 10px;
+}
+
+.slot_title {
+	display: flex;
+	align-items: center;
+
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #F18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/components/bcProp/yuconfigOpenAllprop.vue b/LA24030_LuLiPackageLine_Web/src/components/bcProp/yuconfigOpenAllprop.vue
new file mode 100644
index 0000000..4332a6a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/bcProp/yuconfigOpenAllprop.vue
@@ -0,0 +1,1160 @@
+<template>
+	<el-dialog v-model="dialogVisible" width="95%" @close="closeDialog" :close-on-click-modal="false">
+		<template #header>
+			<div style="color: #fff">
+				<span>
+				<!-- 娉㈡鍗曟病鏈夐閰� -->
+					<!-- {{ titleAuthor == 1 ? "涓嬫灦鍗�" : "娉㈡鍗�" }}棰勯厤 -->
+					涓嬫灦鍗曢閰�
+				</span>
+			</div>
+		</template>
+
+		<el-form :model="materialForm" label-width="70px">
+			<el-row>
+				<el-col :span="5">
+					<el-form-item label="鐗╂枡缂栧彿">
+						<el-input v-model="materialForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+					</el-form-item>
+				</el-col>
+
+			<el-col :span="5">
+			<el-form-item label="鍗曞彿" prop="movementNo">
+				<el-input v-model="materialForm.movementNo" placeholder="璇疯緭鍏ュ崟鍙�" maxlength="255" show-word-limit
+					clearable />
+			</el-form-item>
+		</el-col> 
+<!-- 		
+		<el-col :span="5">
+			<el-form-item label="瀹㈡埛缂栧彿" prop="custCode">
+				<el-input v-model="materialForm.custCode" placeholder="璇疯緭鍏ュ鎴风紪鍙�" maxlength="255" show-word-limit
+					clearable />
+			</el-form-item>
+		</el-col>  -->
+
+
+				<el-col :span="8">
+					<el-form-item label-width="20px">
+						<el-button type="primary" icon="el-icon-search" @click="getOrderMaterialList">鏌ヨ</el-button>
+						<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+		<div class="msi-content" style="margin-top: 10px">
+			<!-- <div class="header" style="margin-bottom: 10px">
+				<div>
+					<el-button v-show="isPoBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog('po')">鍏宠仈ASN鍗�</el-button>
+
+					<el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+						@click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+				</div>
+			</div> -->
+			<el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+				@selection-change="detailsCheckChange" max-height="480" @expand-change="getChildList">
+				<el-table-column align="center" width="60" type="selection" />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column v-if="titleAuthor == 1" prop="movementNo" min-width="100px" label="涓嬫灦鍗曞崟鍙�"
+					show-overflow-tooltip="" />
+				<el-table-column v-if="titleAuthor == 2" prop="sortNo" min-width="100px" label="娉㈡鍗曞彿"
+					show-overflow-tooltip="" />
+				<el-table-column v-if="titleAuthor == 2" prop="relationNo" min-width="100px" label="涓嬫灦鍗曞崟鍙�"
+					show-overflow-tooltip="" />
+				<el-table-column prop="materialCode" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="lineNumber" label="琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="orderStatus" min-width="60px" label="鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						{{ scope.row.orderStatusName }}
+					</template>
+				</el-table-column> 
+				<el-table-column prop="unit" label="鍗曚綅" show-overflow-tooltip="" />
+				<el-table-column
+				label="瀹㈡埛缂栧彿"
+				prop="custCode"
+				align="center"
+				min-width="110"
+				/>
+				<el-table-column prop="realAvailableQty" label="搴撳瓨鏁�" show-overflow-tooltip="" />
+				<el-table-column prop="quantity" label="璁㈠崟鏁�" show-overflow-tooltip="" />
+				<el-table-column prop="predetermineQuantity" label="宸查閰嶆暟" show-overflow-tooltip="" />
+				<el-table-column label="璁″垝棰勯厤鏁�" align="center" width="200">
+					<template #default="scope">
+						<el-input-number min="0" v-model="scope.row.sendQuantity" size="small" />
+					</template>
+				</el-table-column>
+			</el-table>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" :disabled="checkedDetails.length == 0" @click="confirm">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 娣诲姞鐗╂枡 -->
+	<el-dialog v-model="addMaterialVisible" width="70%" @close="closeMaterialDialog">
+		<template #header>
+			<div style="color: #fff">
+				<span v-if="isMaterialBox == 1">娣诲姞鐗╂枡璇︽儏</span>
+				<span v-if="isPoBox == 1">鍏宠仈ASN鍗曠墿鏂�</span>
+			</div>
+		</template>
+
+		<div class="msi-form" style="padding-top: 0px">
+			<el-form :model="materialForm">
+				<el-row>
+					<el-col :span="8" v-if="isMaterialBox == 1">
+						<el-form-item label="鐗╂枡缂栧彿">
+							<el-input v-model="materialForm.Code" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8" v-if="isPoBox == 1">
+						<el-form-item label="鍏宠仈ASN鍗曞彿:">
+							<el-input v-model="materialForm.poNo" placeholder="璇疯緭鍏ュ叧鑱擜SN鍗曞彿" clearable></el-input>
+						</el-form-item>
+					</el-col>
+
+					<el-col :span="8">
+						<el-form-item label-width="20px">
+							<el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+							<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</div>
+		<div class="msi-content" style="padding-top: 0; margin-top: 10px">
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isMaterialBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+
+				<el-table-column label="鍗曚綅" prop="poUnit" align="center" min-width="140" show-overflow-tooltip />
+			</el-table>
+			<!-- ASN鍗� -->
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isPoBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column prop="poNo" label="PO鍗曞彿" min-width="120px" show-overflow-tooltip="" />
+				<el-table-column prop="poLineNumber" min-width="100px" label="PO琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="asnLineNumber" min-width="100px" label="ASN琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" min-width="130px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="asnStatus" min-width="100px" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index))">
+							{{ getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index) }}
+						</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="quantity" min-width="100px" label="閫佽揣鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="goodsQuantity" min-width="100px" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="supplierCode" min-width="100px" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierName" min-width="100px" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierBatch" min-width="100px" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" />
+				<el-table-column prop="unit" min-width="100px" label="鍗曚綅" show-overflow-tooltip="" />
+
+				<el-table-column prop="sN_1d" min-width="120px" label="涓�缁存潯鐮�" show-overflow-tooltip="" />
+				<el-table-column prop="sN_2d" min-width="120px" label="浜岀淮鏉$爜" show-overflow-tooltip="" />
+				<el-table-column prop="package" min-width="100px" label="鍖呰鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="plannedStartTime" min-width="120px" label="璁″垝寮�濮嬫椂闂�" :formatter="formatDate_T_Date"
+					show-overflow-tooltip="" />
+				<el-table-column prop="plannedEndTime" min-width="120px" label="璁″垝缁撴潫鏃堕棿" :formatter="formatDate_T_Date"
+					show-overflow-tooltip="" />
+				<el-table-column prop="projectNo" min-width="100px" label="椤圭洰鍙�" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="factoryName" min-width="100px" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="factoryCode" min-width="100px" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+				<el-table-column prop="dock" min-width="100px" label="鏀惰揣閬撳彛" show-overflow-tooltip="" />
+
+
+				<el-table-column prop="batch" min-width="100px" label="鎵规" show-overflow-tooltip="" />
+
+				<el-table-column prop="erpCode" min-width="100px" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
+				<el-table-column prop="erpOrderNo" min-width="100px" label="ERP鍗曞彿" show-overflow-tooltip="" />
+
+				<!-- <el-table-column prop="createTime" min-width="100px" label="鍒涘缓鏃堕棿" width="130"
+						:formatter="formatDate_T_Time" show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" min-width="100px" label="淇敼鏃堕棿" width="130"
+						:formatter="formatDate_T_Time" show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" min-width="120px" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" min-width="120px" label="淇敼浜�" show-overflow-tooltip="" /> -->
+			</el-table>
+
+			<Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+				@pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 鍗曡鎯� -->
+	<el-drawer v-model="drawerVisible" :title="`${detailForm.asnId}璁㈠崟璇︽儏`" direction="rtl" size="80%"
+		@close="handleDrawerClose">
+		<template #title>
+			<div class="slot_title">
+				<div class="title_orderNo">{{ title }}</div>
+				<div>璁㈠崟璇︽儏</div>
+			</div>
+		</template>
+
+		<div class="detailBoxWrap">
+			<!-- 璇︽儏缁勪欢 -->
+			<open-details ref="propDetailRef"></open-details>
+			<div class="msi-form">
+				<el-form :model="detailForm">
+					<el-row>
+						<el-col :span="6">
+							<el-form-item label="鐗╂枡缂栧彿">
+								<el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="2">
+							<el-form-item label-width="20px">
+								<el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-form>
+			</div>
+			<div class="msi-content">
+				<!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+				<el-table :data="drawerList" border striped :max-height="480">
+					<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+
+					<el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="materialName" min-width="110px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="qcQuantity" label="瀹炴鏁伴噺" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="qCStatus" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+					<el-table-column prop="qcStatus" label="璐ㄦ鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index) }}</el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column prop="passQuantity" label="鍚堟牸鏁伴噺" show-overflow-tooltip="" />
+					<el-table-column prop="rejectQuantity" label="涓嶅悎鏍兼暟閲�" show-overflow-tooltip="" />
+					<el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+
+					<el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" show-overflow-tooltip="" />
+					<el-table-column prop="qCOrderStatus" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{ getEnumDesc(scope.row.qcOrderStatus, getEnumAsnStatusData_Index) }}</el-tag>
+						</template>
+					</el-table-column>
+					<!-- <el-table-column prop="qcOrderStatusName" label="鍗曟嵁鐘舵��"  show-overflow-tooltip="" /> -->
+
+					<el-table-column prop="unit" label="鍗曚綅" show-overflow-tooltip="" />
+					<el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+					<el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+					<el-table-column prop="custCode" label="瀹㈡埛缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="custChinaName" min-width="110px" label="瀹㈡埛涓枃鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="custEnglishName" min-width="110px" label="瀹㈡埛鑻辨枃鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="relationOrderType" label="鍏宠仈鍗曟嵁绫诲瀷"  show-overflow-tooltip="" /> -->
+					<el-table-column prop="relationOrderTypeName" min-width="110px" label="鍏宠仈鍗曟嵁绫诲瀷"
+						show-overflow-tooltip="" />
+					<!-- <el-table-column prop="factoryId" label="宸ュ巶ID"  show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="factoryName" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="factoryCode" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+					<el-table-column prop="remarks" label="澶囨敞" show-overflow-tooltip="" />
+					<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+
+				</el-table>
+				<Pagination :total="detailCount" v-model:page="detailForm.PageNo" v-model:limit="detailForm.PageSize"
+					@pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+				<div></div>
+			</div>
+		</div>
+	</el-drawer>
+
+	<el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+		<el-form :model="outerForm2" label-width="120px">
+			<el-row style="font-size: 16px">
+				<el-col :span="23">
+					<el-form-item label="鍗曞彿:" required>
+						<el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="outVisible2 = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="getSapOrderPO">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+</template>
+<script lang="ts" setup>
+import Pagination from '/@/components/Pagination/index.vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import { ref, nextTick, computed, getCurrentInstance, watch, defineExpose, defineProps, onMounted } from 'vue';
+
+import { formatDecimalData } from '/@/utils/formate';
+
+import cache from '/@/utils/cache';
+import { pageWmsMaterial } from '/@/api/main/WmsBase/wmsMaterial';
+import {
+	getTypeStatus
+} from "/@/utils/formate";
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import { addWmsOrderPurchase, updateWmsOrderPurchase, detailWmsOrderPurchase } from '/@/api/main/WmsOrder/wmsOrderPurchase';
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+import { pageWmsOrderPurchaseDetails } from '/@/api/main/WmsOrder/wmsOrderPurchaseDetails';
+import { pageWmsOrderAsnDetails, deleteWmsOrderAsnDetails } from '/@/api/main/WmsOrder/wmsOrderAsnDetails';
+import commonFunction from '/@/utils/commonFunction';
+
+import { pageWmsOrderSortDetails, deleteWmsOrderSortDetails, importExcelWmsOrderSortDetails, downloadExcelTemplateWmsOrderSortDetails } from '/@/api/main/WmsOrderDo/wmsOrderSortDetails';
+
+import { pageWmsQcDetails } from '/@/api/main/WmsQC/wmsOrderQcDetails';
+import { pageWmsOrderMovementDetails, pageWmsOrderMovementDetailsForPredetermine } from '/@/api/main/WmsOrder/wmsOrderMovementDetails';
+import { addWmsOrderSort, pageWmsOrderSort } from '/@/api/main/WmsOrderDo/wmsOrderSort';
+import { addWmsOrderSortYpDetails } from '/@/api/main/WmsOrderDo/wmsOrderSortDetails';
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getEnumOrderTypeData = ref<any>([]);
+const getEnumBusinessTypeData = ref<any>([]);
+const getEnumPoStatusData = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(['getTabelData']);
+const getEnumAsnStatusData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumQCStatusData_Index = ref<any>([]);
+
+const getEnumDockData = ref<any>([]);
+const props = defineProps({
+	titleAuthor: {
+		type: Number,
+		required: true,
+	},
+	hexiao: {
+		type: Number,
+		default: 1,
+		required: true,
+	},
+});
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor);
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+// 鐧诲綍鐢ㄦ埛id
+// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
+
+// const EnumWriteOffState = computed(
+//   () => store.state.login.enums.enumWriteOffState
+// );
+
+let itemBtnArr = ['鎵归噺鍒犻櫎', '缂栬緫', '鏂板'];
+const boolEnum = ref([
+	{
+		title: '鏄�',
+		value: true,
+	},
+	{
+		title: '鍚�',
+		value: false,
+	},
+]);
+
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref('');
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+	return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+	orderDoRuType.value = param;
+	uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+	getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+	ElMessageBox.confirm('鏄惁纭鑾峰彇鏇存柊锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	}).then(() => {
+		// getSapRkPurchase().then((res) => {
+		//   if (res.code == 200) {
+		//     ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+		//   } else {
+		//     ElMessage.error(
+		//       `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+		//     );
+		//   }
+		// })
+	});
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+	purchaseNo: '',
+});
+const getSapOrderPO = (param?: number) => {
+	if (param && param == 1) {
+		outVisible2.value = true;
+		return;
+	}
+	if (outerForm2.value.purchaseNo == '') {
+		ElMessage.warning('璇疯緭鍏ュ崟鍙�');
+		return;
+	}
+	// getSapPurchasePO({
+	//   purchaseNo: outerForm2.value.purchaseNo
+	// })
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       ElMessage.success("SAP鑾峰彇鎴愬姛");
+	//       outVisible2.value = false;
+	//     } else {
+	//       ElMessage.error(
+	//         `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+	//       );
+	//     }
+	//   })
+	//   .catch((err) => ElMessage.error(err));
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+	outerForm2.value.purchaseNo = '';
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+	WareMaterialCode: '',
+	WareMaterialName: '',
+	PurchaseNo: '',
+	CreatedUserName: '',
+	CreatedTimeBegin: '',
+	CreatedTimeEnd: '',
+	CreateDate: [],
+	IssueTimeBegin: '',
+	IssueTimeEnd: '',
+	IssueDate: [],
+	MaterialTypeStaus: '',
+	SourceBy: '',
+	WriteOffState: '',
+	signStatus: '',
+	status: '',
+	freeOrderType: '',
+	IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+	// LoginUserID: LoginUserID, //鐢ㄦ埛id
+	OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+	Page: 1,
+	PageSize: 10,
+	poApprovalStatus: '',
+	keyCode: '',
+	IsDisable: '', //鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+const tableRef = ref();
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache('enumList');
+console.log(enumList.inEnumOrderType);
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+	//鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+		formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+		formModel.value.CreatedTimeEnd = ''; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+			formModel.value.CreatedTimeBegin = '';
+			formModel.value.CreatedTimeEnd = '';
+		}
+	}
+	//鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+		formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+		formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+			formModel.value.IssueTimeBegin = '';
+			formModel.value.IssueTimeEnd = '';
+		}
+	}
+
+	//鍏跺畠鍏ュ簱鍏ュ彛
+	// if (titleAuthor.value == 1) { //鍏嶈垂鍏ュ簱鍗曠鐞�
+	// }
+
+	// if (titleAuthor.value == 2) { //璁㈠崟鍏ュ簱绠$悊
+	// }
+
+	// getPurchasePageForAllData(formModel.value)
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       const { data } = res;
+	//       const result = data;
+	//       result.rows.map(
+	//         (item: { hasChildren: boolean }) => (item.hasChildren = true)
+	//       );
+	//       tableData.value = result.rows;
+	//       totalItems.value = result.totalRows;
+	//       orderType.value = formModel.value.MaterialTypeStaus;
+	//       // 娓呴櫎閫変腑
+	//       nextTick(() => {
+	//         if (tableRef.value && typeof tableRef.value.clearSelection === 'function') {
+	//           checkRows.value = [];
+	//           tableRef.value.clearSelection();
+	//         }
+	//       })
+	//     } else {
+	//       ;
+	//     }
+	//   })
+	//   .catch((err) => {
+	//     console.log(err);
+	//     ElMessage.error(JSON.stringify(err));
+	//   });
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+	formModel.value = {
+		WareMaterialCode: '',
+		WareMaterialName: '',
+		PurchaseNo: '',
+		CreatedUserName: '',
+		CreatedTimeBegin: '',
+		CreatedTimeEnd: '',
+		CreateDate: [],
+		IssueTimeBegin: '',
+		IssueTimeEnd: '',
+		IssueDate: [],
+		MaterialTypeStaus: '',
+		SourceBy: '',
+		WriteOffState: '',
+		signStatus: '',
+		status: '',
+		freeOrderType: '',
+		IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+		//  LoginUserID: LoginUserID, //鐢ㄦ埛id
+		OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+		Page: 1,
+		PageSize: 10,
+		poApprovalStatus: '',
+		keyCode: '',
+		IsDisable: '', //鏄惁浣滃簾
+	};
+	getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+	materialCode: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref('drawerAll');
+// const
+//鍗曞彿
+const purchaseNo = ref('');
+const detailCount2 = ref(0);
+const detailForm2 = ref({
+	Page: 1,
+	PageSize: 10,
+	qcOrderId: '',
+});
+const getEnumPoDetailStatusData_Index = ref<any>([]);
+
+const drawerList2 = ref<DetailType[]>([]);
+//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+const getDetail = async () => {
+	loading.value = true;
+	var res = await pageWmsOrderMovementDetails(Object.assign(detailForm.value));
+	var listD = res.data.result?.items ?? [];
+	drawerList.value = listD;
+	detailCount.value = res.data.result?.total;
+	loading.value = false;
+	getEnumPoDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+
+	getEnumAsnStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+};
+
+//----------------鐗╂枡鏄庣粏
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+	detailForm.value.PageNo = 1;
+	detailForm.value.PageSize = 10;
+	if (scope.asnNo) {
+		title.value = `${scope.asnNo}`;
+	}
+	drawerType.value = 'drawerAll';
+	drawerVisible.value = true;
+	//褰撳墠鍏ュ簱鍗曞彿id
+	detailForm.value.asnId = scope.id;
+	//鍏ュ簱鍗�
+	purchaseNo.value = scope.purchaseNo;
+	detailForm2.value.asnId = scope.id;
+	//鑾峰彇鐗╂枡鍒楄〃
+	if (detailForm2.value.asnId == '') {
+		drawerList2.value = [];
+		detailCount2.value = 0;
+		return;
+	}
+	// 鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	getDetail();
+
+	getEnumPoDetailStatusData_Index.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+		[];
+
+
+	// 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+	let scopetrans = JSON.parse(JSON.stringify(scope));
+	scopetrans.qcOrderStatus = getEnumDesc(scopetrans.qcOrderStatus, getEnumPoDetailStatusData_Index.value);
+	nextTick(() => {
+		proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+	});
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+	detailForm.value = {
+		materialCode: '',
+		asnId: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	deltailList.value = [];
+	detailCount.value = 0;
+	drawerList.value = [];
+	drawerList2.value = [];
+	detailCount2.value = 0;
+	drawerList2.value = [];
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+	id: number;
+	barCode: string;
+	wareMaterialCode: string;
+	name: string;
+	signStatus: string;
+	category: string;
+	materialTypeName: string;
+	specificationModel: string;
+	long: number;
+	width: number;
+	high: number;
+	weight: number;
+	unit: string;
+	createdTime: string;
+	purchaseNo: string;
+	quantity: number;
+	goodsquantity: number;
+	surplusquantity: number;
+	poLineNumber: string;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref('');
+
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref('add');
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+	hasTMCode: false,
+	asnType: '',
+	dock: '',
+	projectNo: '',
+	OrderDetails: [] as any[],
+});
+
+// 鐗规畩瀛楃鐨勯獙璇�
+// 鍖呭惈鐗规畩瀛楃杩斿洖true锛屼笉鍖呭惈鐗规畩瀛楃杩斿洖false
+const checkEspcial = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[@$%*^:;锛氾紱~+=!锛�#^{}><.,锛屻�俔/g;
+		if (!reg.test(value.trim())) {
+			callback();
+		} else {
+			return callback(new Error('涓嶈兘瀛樺湪鐗规畩绗﹀彿'));
+		}
+	}
+};
+
+// 楠岃瘉瑙掕壊缂栧彿
+var validatorCode = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[\u4E00-\u9FA5]/g;
+		if (!reg.test(value)) {
+			callback();
+		} else {
+			return callback(new Error('鍗曞彿涓嶈兘瀛樺湪姹夊瓧'));
+		}
+	}
+};
+
+//rules
+const formRules = {
+	// businessType: [{ required: true, message: '璇烽�夋嫨璁㈠崟绫诲瀷锛�', trigger: 'change' }],
+	orderTypeName: [{ required: true, message: '璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	businessType: [{ required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change' }],
+	businessTypeName: [{ required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	orderSocure: [{ required: true, message: '璇疯緭鍏ュ崟鎹潵婧愶紒', trigger: 'blur' }],
+	poStatus: [{ required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change' }],
+	poStatusName: [{ required: true, message: '璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒', trigger: 'blur' }],
+	supplierCode: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�', trigger: 'blur' }],
+	supplierName: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�', trigger: 'blur' }],
+	factoryId: [{ required: true, message: '璇疯緭鍏ュ伐鍘侷D锛�', trigger: 'blur' }]
+};
+//鎵撳紑
+const openDialog = async (type: number, scope: any = {}) => {
+	materialForm.value.PageSize = 100000;
+	materialForm.value.ordersId = scope.join(",");
+	if (titleAuthor.value == 1) { //涓嬫灦鍗曞叆鍙�
+		materialForm.orderStatus = 0;  //鏂板缓
+		getOrderMaterialList();
+	}
+	if (titleAuthor.value == 2) { //娉㈡鍏ュ彛
+		materialForm.sortDetailStatus = 0; //鏂板缓
+		getOrderMaterialList();
+	}
+
+	dialogVisible.value = true;
+	//娓呴櫎閫変腑椤�
+	// nextTick(() => {
+	// 	dialogRef.value.clearValidate();
+	// });
+};
+
+// ---------------- 鏄庣粏 ------------------
+const getOrderMaterialList = async () => {
+	if (titleAuthor.value == 1) { //涓嬫灦鍗曞叆鍙�-涓嬫灦鍗曟槑缁�
+		debugger
+		loading.value = true;
+		// var res = await pageWmsOrderMovementDetails(Object.assign(materialForm.value));
+		materialForm.value.pageFlag = 3; //涓嬫灦鍗曢閰� 銆怑ditby shaocx,2024-07-10銆�
+		var res = await pageWmsOrderMovementDetailsForPredetermine(Object.assign(materialForm.value));
+		var listD = res.data.result?.items ?? [];
+		listD.forEach((item: any) => {
+			item.sendQuantity = Number(item.quantity - item.predetermineQuantity).toFixed(3); //璁㈠崟鏁�-宸查閰�
+		})
+		warehousOrderDetails.value = listD;
+		loading.value = false;
+	}
+	if (titleAuthor.value == 2) { //娉㈡鍏ュ彛 - 鏄庣粏
+		loading.value = true;
+		var res = await pageWmsOrderSortDetails(Object.assign(materialForm.value));
+		var listD = res.data.result?.items ?? [];
+		listD.forEach((item: any) => {
+			item.sendQuantity = Number(item.quantity - item.predetermineQuantity).toFixed(3); //璁㈠崟鏁�-宸查閰�
+		})
+		warehousOrderDetails.value = listD;
+		loading.value = false;
+	}
+}
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+	return row.id + row.asnLineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+	// addForm.value = {
+	// 	hasTMCode: false,
+	// 	asnType: '',
+	// 	dock: '',
+	// 	projectNo: '',
+	// 	OrderDetails: [] as any[],
+	// };
+	materialForm.value = {
+		materialCode: '',
+		orderNo: '',
+		Page: 1,
+		PageSize: 10000,
+	};
+	warehousOrderDetails.value = [];
+	checkedDetails.value = [];
+	deltailList.value = [];
+	detailCount.value = 0;
+	detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+	ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			let arr = [];
+			if (checkedDetails.value[0].diRelationID) {
+				checkedDetails.value.forEach((item) => {
+					console.log(item);
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.diRelationID == item.diRelationID);
+					if (index > -1) {
+						warehousOrderDetails.value.splice(index, 1);
+					}
+				});
+			} else {
+				checkedDetails.value.forEach((item) => {
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.asnLineNumber == item.asnLineNumber);
+					warehousOrderDetails.value.splice(index, 1);
+				});
+			}
+			arr = warehousOrderDetails.value;
+			warehousOrderDetails.value = [];
+			//bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+			nextTick(() => {
+				warehousOrderDetails.value = arr;
+				checkedDetails.value = [];
+				detailRef.value.clearSelection();
+			});
+		})
+		.catch(() => ElMessage.info('宸插彇娑堝垹闄�'));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const confirm = async () => {
+	console.log('纭');
+	// let idx = warehousOrderDetails.value.findIndex((v) => v.asnLineNumber == '' || v.asnLineNumber == undefined);
+	// if (idx > -1) {
+	// 	ElMessage.warning('璇疯緭鍏ヨ鍙�');
+	// 	return;
+	// }
+	// let isNext = '';
+	// warehousOrderDetails.value.forEach((item) => {
+	// 	const arr: any = warehousOrderDetails.value.filter((detail) => detail.asnLineNumber == item.asnLineNumber);
+	// 	if (arr.length > 1) {
+	// 		isNext = `琛屽彿锛�${arr[0].asnLineNumber}涓嶈兘鐩稿悓`;
+	// 		return;
+	// 	}
+	// });
+	// if (isNext != '') {
+	// 	ElMessage.warning(isNext);
+	// 	return;
+	// }
+
+	// let idx2 = warehousOrderDetails.value.findIndex((v) => v.passQuantity == '' || v.passQuantity == undefined);
+	// de
+	// if (idx2 > -1) {
+	// 	ElMessage.warning('鍚堟牸鏁伴噺涓嶅悎瑙勮寖锛�');
+	// 	return;
+	// }
+	// addForm.value.OrderDetails = [];
+	// warehousOrderDetails.value.forEach((item) => {
+	// 	const obj = {
+	// 		...item,
+	// 		QCQuantity: item.quantity,
+	// 		asnLineNumber: item.asnLineNumber,
+	// 	};
+	// 	addForm.value.OrderDetails.push(obj);
+	// });
+
+	// checkedDetails.value.forEach((item) => {
+	// 	item.orderNo = item.movementNo
+	// });
+	debugger
+	
+	if (titleAuthor.value == 1) { //涓嬫灦鍗曞叆鍙�
+		let res = await addWmsOrderSortYpDetails(checkedDetails.value);
+		if (res.data && res.data.code == 200) {
+			ElMessage.success('涓嬫灦鍗曢閰嶆垚鍔燂紒');
+			dialogVisible.value = false;
+			emits('getTabelData');
+		}
+	}
+	if (titleAuthor.value == 2) { //娉㈡鍏ュ彛
+		let res = await addWmsOrderSortYpDetails(checkedDetails.value);
+		if (res.data && res.data.code == 200) {
+			ElMessage.success('娉㈡鍗曢閰嶆垚鍔燂紒');
+			dialogVisible.value = false;
+			emits('getTabelData');
+		}
+	}
+
+};
+
+
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+	materialCode: '',
+	orderNo: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+	if (isPoBox.value == 1) {
+		if (materialForm.value.poNo) {
+			loading.value = true;
+			var res = await pageWmsOrderAsnDetails(Object.assign(materialForm.value));
+			materialList.value = res.data.result?.items ?? [];
+			materialTotal.value = res.data.result?.total;
+			loading.value = false;
+		}
+	}
+	if (isMaterialBox.value == 1) {
+		loading.value = true;
+		var res = await pageWmsMaterial(Object.assign(materialForm.value));
+		materialList.value = res.data.result?.items ?? [];
+		materialTotal.value = res.data.result?.total;
+		loading.value = false;
+	}
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+	materialForm.value = {
+		materialCode: '',
+		orderNo: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+	checkedMaterial.value = val;
+};
+const isMaterialBox: any = ref(true);
+const isPoBox: any = ref(true);
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = (param?: any) => {
+	if (param && param == 'po') {
+		isPoBox.value = 1;
+		isMaterialBox.value = 0;
+	} else {
+		isPoBox.value = 0;
+		isMaterialBox.value = 1;
+	}
+	getMaterialList();
+	addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+	//鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+	if (warehousOrderDetails.value.length == 0) {
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			item.asnLineNumber = index + 1;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	} else {
+		for (let i = 0; i < checkedMaterial.value.length; i++) {
+			let idx = warehousOrderDetails.value.findIndex(
+				(item: { poLineNumber: any; code: any }) => item.code == checkedMaterial.value[i].materialCode && item.asnLineNumber == checkedMaterial.value[i].asnLineNumber
+			);
+			if (idx > -1) {
+				return ElMessage.warning(`鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}锛孉SN琛屽彿锛�${checkedMaterial.value[i].asnLineNumber || ''}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦);
+			}
+		}
+
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	}
+
+	addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+	materialForm.value = {
+		materialCode: '',
+		orderNo: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	materialList.value = [];
+	checkedMaterial.value = [];
+	materialRef.value.clearSelection();
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+});
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	custType: '渚涘簲鍟�',
+});
+
+//-----------------杩滅▼鎼滅储----------------
+const handleQueryTdp = async () => {
+	var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+	arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: '渚涘簲鍟�',
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: '渚涘簲鍟�',
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+const getChildList = (item?: any) => {
+	// console.log("4")
+}
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+	margin: 10px;
+}
+
+.msi-form {
+	margin-top: 10px;
+}
+
+.msi-form {
+	margin-bottom: 10px;
+}
+
+.slot_title {
+	display: flex;
+	align-items: center;
+
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #F18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/components/cropper/index.vue b/LA24030_LuLiPackageLine_Web/src/components/cropper/index.vue
new file mode 100644
index 0000000..1a6eb22
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/cropper/index.vue
@@ -0,0 +1,202 @@
+<template>
+	<div>
+		<el-dialog v-model="state.isShowDialog" width="769px" :before-close="onCancel">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<div class="cropper-warp">
+				<div class="cropper-warp-left">
+					<img :src="state.cropperImg" class="cropper-warp-left-img" />
+				</div>
+				<div class="cropper-warp-right">
+					<div class="cropper-warp-right-title">棰勮</div>
+					<div class="cropper-warp-right-item">
+						<div class="cropper-warp-right-value">
+							<img :src="state.cropperImgBase64" class="cropper-warp-right-value-img" />
+						</div>
+						<div class="cropper-warp-right-label">100 x 100</div>
+					</div>
+					<div class="cropper-warp-right-item">
+						<div class="cropper-warp-right-value">
+							<img :src="state.cropperImgBase64" class="cropper-warp-right-value-img cropper-size" />
+						</div>
+						<div class="cropper-warp-right-label">50 x 50</div>
+					</div>
+				</div>
+			</div>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-upload
+						ref="uploadSignRef"
+						accept=".jpg,.png"
+						:limit="1"
+						:show-file-list="false"
+						:auto-upload="false"
+						:on-change="selectPicture"
+						:on-exceed="selectPictureExceed"
+						style="display: inline-block; position: absolute; right: 172px"
+					>
+						<el-button icon="ele-Picture">閫夋嫨鍥剧墖</el-button>
+					</el-upload>
+					<el-button @click="onCancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="onSubmit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script setup lang="ts" name="cropper">
+import { reactive, nextTick, ref } from 'vue';
+import Cropper from 'cropperjs';
+import 'cropperjs/dist/cropper.css';
+import { genFileId } from 'element-plus';
+import type { UploadInstance, UploadProps, UploadRawFile } from 'element-plus';
+
+const props = defineProps({
+	title: {
+		type: String,
+		default: () => '',
+	},
+});
+const emits = defineEmits(['uploadCropperImg']);
+const uploadSignRef = ref<UploadInstance>();
+// 瀹氫箟鍙橀噺鍐呭
+const state = reactive({
+	isShowDialog: false,
+	cropperImg: '',
+	cropperImgBase64: '',
+	cropper: '' as RefType,
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (imgs: string) => {
+	state.cropperImg = imgs;
+	state.isShowDialog = true;
+	nextTick(() => {
+		initCropper();
+	});
+};
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	state.cropper.destroy();
+	state.isShowDialog = false;
+};
+// 鍙栨秷
+const onCancel = () => {
+	closeDialog();
+};
+// 鏇存崲/涓婁紶
+const onSubmit = async () => {
+	const img = await getCroppedCanvas();
+	emits('uploadCropperImg', { img: img });
+	closeDialog();
+};
+// 鍒濆鍖朿ropperjs鍥剧墖瑁佸壀
+const initCropper = () => {
+	const letImg = <HTMLImageElement>document.querySelector('.cropper-warp-left-img');
+	if (letImg) {
+		letImg.setAttribute('crossOrigin', 'anonymous');
+	}
+	state.cropper = new Cropper(letImg, {
+		viewMode: 1,
+		dragMode: 'none',
+		initialAspectRatio: 1,
+		aspectRatio: 1,
+		preview: '.before',
+		background: true,
+		autoCropArea: 1,
+		// zoomOnWheel: false,
+		checkCrossOrigin: false,
+		crop: () => {
+			state.cropperImgBase64 = state.cropper.getCroppedCanvas()!.toDataURL('image/jpeg');
+		},
+	});
+};
+
+// 鑾峰彇瑁佸垏鍚庣殑鍥剧墖 (鍖呰涓篜romise)
+const getCroppedCanvas = () => {
+	return new Promise((resolve) => {
+		state.cropper.getCroppedCanvas().toBlob((blob: any) => {
+			resolve(blob);
+		});
+	});
+};
+
+// 閫夋嫨鍥剧墖
+const selectPicture = async (file: any) => {
+	let URL = window.URL || window.webkitURL;
+	state.cropperImg = URL.createObjectURL(file.raw);
+	state.cropper.replace(state.cropperImg);
+};
+
+// 閫夋嫨鍥剧墖瓒呭嚭鏁伴噺闄愬埗鏃舵墽琛�
+const selectPictureExceed: UploadProps['onExceed'] = (files) => {
+	uploadSignRef.value!.clearFiles();
+	const file = files[0] as UploadRawFile;
+	file.uid = genFileId();
+	uploadSignRef.value!.handleStart(file);
+};
+
+// 鏆撮湶鍙橀噺
+defineExpose({
+	openDialog,
+});
+</script>
+
+<style scoped lang="scss">
+.cropper-warp {
+	display: flex;
+	.cropper-warp-left {
+		position: relative;
+		display: inline-block;
+		height: 350px;
+		flex: 1;
+		border: 1px solid var(--el-border-color);
+		background: var(--el-color-white);
+		overflow: hidden;
+		background-repeat: no-repeat;
+		cursor: move;
+		border-radius: var(--el-border-radius-base);
+		.cropper-warp-left-img {
+			width: 100%;
+			height: 100%;
+		}
+	}
+	.cropper-warp-right {
+		width: 150px;
+		height: 350px;
+		.cropper-warp-right-title {
+			text-align: center;
+			height: 20px;
+			line-height: 20px;
+		}
+		.cropper-warp-right-item {
+			margin: 15px 0;
+			.cropper-warp-right-value {
+				display: flex;
+				.cropper-warp-right-value-img {
+					width: 100px;
+					height: 100px;
+					border-radius: var(--el-border-radius-circle);
+					margin: auto;
+				}
+				.cropper-size {
+					width: 50px;
+					height: 50px;
+				}
+			}
+			.cropper-warp-right-label {
+				text-align: center;
+				font-size: 12px;
+				color: var(--el-text-color-primary);
+				height: 30px;
+				line-height: 30px;
+			}
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/components/dragVerify/dragVerify.vue b/LA24030_LuLiPackageLine_Web/src/components/dragVerify/dragVerify.vue
new file mode 100644
index 0000000..edcb29c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/dragVerify/dragVerify.vue
@@ -0,0 +1,300 @@
+<template>
+	<div ref="dragVerify" class="drag_verify" :style="dragVerifyStyle" @mousemove="dragMoving" @mouseup="dragFinish"
+		@mouseleave="dragFinish" @touchmove.prevent="dragMoving" @touchend.prevent="dragFinish">
+
+		<div class="dv_progress_bar" :class="{goFirst2:isOk}" ref="progressBar" :style="progressBarStyle">
+
+		</div>
+		<div class="dv_text" :style="textStyle" ref="message">
+			<slot name="textBefore" v-if="$slots.textBefore"></slot>
+			{{message}}
+			<slot name="textAfter" v-if="$slots.textAfter"></slot>
+		</div>
+
+		<div class="dv_handler dv_handler_bg" :class="{goFirst:isOk}" @mousedown="dragStart" @touchstart.prevent="dragStart"
+			ref="handler" :style="handlerStyle">
+			<i :class="handlerIcon"></i>
+		</div>
+
+	</div>
+</template>
+
+<script lang="ts">
+export default {
+	name: "dragVerify",
+	props: {
+		isPassing: {
+			type: Boolean,
+			default: false
+		},
+		width: {
+			type: Number,
+			default: 250
+		},
+		height: {
+			type: Number,
+			default: 40
+		},
+		text: {
+			type: String,
+			default: "swiping to the right side"
+		},
+		successText: {
+			type: String,
+			default: "success"
+		},
+		background: {
+			type: String,
+			default: "#eee"
+		},
+		progressBarBg: {
+			type: String,
+			default: "#76c61d"
+		},
+		completedBg: {
+			type: String,
+			default: "#76c61d"
+		},
+		circle: {
+			type: Boolean,
+			default: false
+		},
+		radius: {
+			type: String,
+			default: "4px"
+		},
+		handlerIcon: {
+			type: String
+		},
+		successIcon: {
+			type: String
+		},
+		handlerBg: {
+			type: String,
+			default: "#fff"
+		},
+		textSize: {
+			type: String,
+			default: "14px"
+		},
+		textColor: {
+			type: String,
+			default: "#333"
+		}
+	},
+	mounted: function () {
+		const dragEl = this.$refs.dragVerify;
+		dragEl.style.setProperty("--textColor", this.textColor);
+		dragEl.style.setProperty("--width", Math.floor(this.width / 2) + "px");
+		dragEl.style.setProperty("--pwidth", -Math.floor(this.width / 2) + "px");
+		console.log(this.$slots);
+	},
+	computed: {
+		handlerStyle: function () {
+			return {
+				width: this.height + "px",
+				height: this.height + "px",
+				background: this.handlerBg
+			};
+		},
+		message: function () {
+			return this.isPassing ? this.successText : this.text;
+		},
+		dragVerifyStyle: function () {
+			return {
+				width: this.width + "px",
+				height: this.height + "px",
+				lineHeight: this.height + "px",
+				background: this.background,
+				borderRadius: this.circle ? this.height / 2 + "px" : this.radius
+			};
+		},
+		progressBarStyle: function () {
+			return {
+				background: this.progressBarBg,
+				height: this.height + "px",
+				borderRadius: this.circle
+					? this.height / 2 + "px 0 0 " + this.height / 2 + "px"
+					: this.radius
+			};
+		},
+		textStyle: function () {
+			return {
+				height: this.height + "px",
+				width: this.width + "px",
+				fontSize: this.textSize
+			};
+		}
+	},
+	data() {
+		return {
+			isMoving: false,
+			x: 0,
+			isOk: false
+		};
+	},
+	methods: {
+		dragStart: function (e) {
+			if (!this.isPassing) {
+				this.isMoving = true;
+				this.x = (e.pageX || e.touches[0].pageX)
+			}
+			this.$emit("handlerMove");
+		},
+		dragMoving: function (e) {
+			if (this.isMoving && !this.isPassing) {
+				var _x = (e.pageX || e.touches[0].pageX) - this.x;
+				var handler = this.$refs.handler;
+				if (_x > 0 && _x <= this.width - this.height) {
+					handler.style.left = _x + "px";
+					this.$refs.progressBar.style.width = _x + this.height / 2 + "px";
+				} else if (_x > this.width - this.height) {
+					handler.style.left = this.width - this.height + "px";
+					this.$refs.progressBar.style.width =
+						this.width - this.height / 2 + "px";
+					this.passVerify();
+				}
+			}
+		},
+		dragFinish: function (e) {
+			if (this.isMoving && !this.isPassing) {
+				var _x = (e.pageX || e.changedTouches[0].pageX) - this.x;
+				if (_x < this.width - this.height) {
+					this.isOk = true;
+					var that = this;
+					setTimeout(function () {
+						that.$refs.handler.style.left = "0";
+						that.$refs.progressBar.style.width = "0";
+						that.isOk = false;
+					}, 500);
+					this.$emit("passfail");
+				} else {
+					var handler = this.$refs.handler;
+					handler.style.left = this.width - this.height + "px";
+					this.$refs.progressBar.style.width =
+						this.width - this.height / 2 + "px";
+					this.passVerify();
+				}
+				this.isMoving = false;
+			}
+		},
+		passVerify: function () {
+			this.$emit("update:isPassing", true);
+			this.isMoving = false;
+			var handler = this.$refs.handler;
+			handler.children[0].className = this.successIcon;
+			this.$refs.progressBar.style.background = this.completedBg;
+			this.$refs.message.style["-webkit-text-fill-color"] = "unset";
+			this.$refs.message.style.animation = "slidetounlock2 3s infinite";
+			this.$refs.message.style.color = "#fff";
+			this.$emit("passcallback");
+		},
+		reset: function () {
+			const oriData = this.$options.data();
+			for (const key in oriData) {
+				if (Object.prototype.hasOwnProperty.call(oriData, key)) {
+					this[key] = oriData[key]
+				}
+			}
+			var handler = this.$refs.handler;
+			var message = this.$refs.message;
+			handler.style.left = "0";
+			this.$refs.progressBar.style.width = "0";
+			handler.children[0].className = this.handlerIcon;
+			message.style["-webkit-text-fill-color"] = "transparent";
+			message.style.animation = "slidetounlock 3s infinite";
+			message.style.color = this.background;
+		}
+	}
+};
+</script>
+<style scoped>
+.drag_verify {
+	position: relative;
+	background-color: #e8e8e8;
+	text-align: center;
+	overflow: hidden;
+}
+
+.drag_verify .dv_handler {
+	position: absolute;
+	top: 0px;
+	left: 0px;
+	cursor: move;
+}
+
+.drag_verify .dv_handler i {
+	color: #666;
+	padding-left: 0;
+	font-size: 16px;
+}
+
+.drag_verify .dv_handler .el-icon-circle-check {
+	color: #6c6;
+	margin-top: 9px;
+}
+
+.drag_verify .dv_progress_bar {
+	position: absolute;
+	height: 34px;
+	width: 0px;
+}
+
+.drag_verify .dv_text {
+	position: absolute;
+	top: 0px;
+	color: transparent;
+	-moz-user-select: none;
+	-webkit-user-select: none;
+	user-select: none;
+	-o-user-select: none;
+	-ms-user-select: none;
+	background: -webkit-gradient(linear,
+			left top,
+			right top,
+			color-stop(0, var(--textColor)),
+			color-stop(0.4, var(--textColor)),
+			color-stop(0.5, #fff),
+			color-stop(0.6, var(--textColor)),
+			color-stop(1, var(--textColor)));
+	-webkit-background-clip: text;
+	-webkit-text-fill-color: transparent;
+	-webkit-text-size-adjust: none;
+	animation: slidetounlock 3s infinite;
+}
+
+.drag_verify .dv_text * {
+	-webkit-text-fill-color: var(--textColor);
+}
+
+.goFirst {
+	left: 0px !important;
+	transition: left 0.5s;
+}
+
+.goFirst2 {
+	width: 0px !important;
+	transition: width 0.5s;
+}
+</style>
+<style>
+@-webkit-keyframes slidetounlock {
+	0% {
+		background-position: var(--pwidth) 0;
+	}
+
+	100% {
+		background-position: var(--width) 0;
+	}
+}
+
+@-webkit-keyframes slidetounlock2 {
+	0% {
+		background-position: var(--pwidth) 0;
+	}
+
+	100% {
+		background-position: var(--pwidth) 0;
+	}
+}
+</style>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/components/dragVerify/dragVerifyImg.vue b/LA24030_LuLiPackageLine_Web/src/components/dragVerify/dragVerifyImg.vue
new file mode 100644
index 0000000..5d47afe
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/dragVerify/dragVerifyImg.vue
@@ -0,0 +1,466 @@
+<template>
+	<div class="drag-verify-container">
+		<div :style="dragVerifyImgStyle">
+			<img ref="checkImg" :src="imgsrc" @load="checkimgLoaded" style="width:100%" alt="">
+			<div class="move-bar" :class="{goFirst:isOk, goKeep:isKeep}" :style="movebarStyle" ref="moveBar"
+				v-show="showBar"></div>
+			<div class="clip-bar" :style="clipbarStyle" ref="clipBar"></div>
+			<div class="refresh" v-if="showRefresh && !isPassing">
+				<i :class="refreshIcon" @click="refreshimg"></i>
+			</div>
+			<div class="tips success" v-if="showTips && isPassing">{{successTip}}</div>
+			<div class="tips danger" v-if="showTips && !isPassing && showErrorTip">{{failTip}}</div>
+		</div>
+		<div ref="dragVerify" class="drag_verify" :style="dragVerifyStyle" @mousemove="dragMoving" @mouseup="dragFinish"
+			@mouseleave="dragFinish" @touchmove.prevent="dragMoving" @touchend.prevent="dragFinish">
+
+			<div class="dv_progress_bar" :class="{goFirst2:isOk}" ref="progressBar" :style="progressBarStyle">
+				{{successMessage}}
+			</div>
+			<div class="dv_text" :style="textStyle" ref="message">
+				{{message}}
+			</div>
+
+			<div class="dv_handler dv_handler_bg" :class="{goFirst:isOk}" @mousedown="dragStart" @touchstart.prevent="dragStart"
+				ref="handler" :style="handlerStyle">
+				<i :class="handlerIcon"></i>
+			</div>
+		</div>
+	</div>
+</template>
+
+<script  lang="ts">
+export default {
+	name: "dragVerify",
+	props: {
+		isPassing: {
+			type: Boolean,
+			default: false
+		},
+		width: {
+			type: Number,
+			default: 250
+		},
+		height: {
+			type: Number,
+			default: 40
+		},
+		text: {
+			type: String,
+			default: "swiping to the right side"
+		},
+		successText: {
+			type: String,
+			default: "success"
+		},
+		background: {
+			type: String,
+			default: "#eee"
+		},
+		progressBarBg: {
+			type: String,
+			default: "#76c61d"
+		},
+		completedBg: {
+			type: String,
+			default: "#76c61d"
+		},
+		circle: {
+			type: Boolean,
+			default: false
+		},
+		radius: {
+			type: String,
+			default: "4px"
+		},
+		handlerIcon: {
+			type: String
+		},
+		successIcon: {
+			type: String
+		},
+		handlerBg: {
+			type: String,
+			default: "#fff"
+		},
+		textSize: {
+			type: String,
+			default: "14px"
+		},
+		textColor: {
+			type: String,
+			default: "#333"
+		},
+		imgsrc: {
+			type: String
+		},
+		barWidth: {
+			type: Number,
+			default: 70
+		},
+		barHeight: {
+			type: Number,
+			default: 40
+		},
+		barRadius: {
+			type: Number,
+			default: 2
+		},
+		showRefresh: {
+			type: Boolean,
+			default: false
+		},
+		refreshIcon: {
+			type: String
+		},
+		showTips: {
+			type: Boolean,
+			default: true
+		},
+		successTip: {
+			type: String,
+			default: "楠岃瘉閫氳繃锛岃秴杩�80%鐢ㄦ埛"
+		},
+		failTip: {
+			type: String,
+			default: "楠岃瘉鏈�氳繃锛屾嫋鍔ㄦ粦鍧楀皢鎮诞鍥惧儚姝g‘鍚堝苟"
+		},
+		diffWidth: {
+			type: Number,
+			default: 20
+		}
+	},
+	mounted: function () {
+		const dragEl = this.$refs.dragVerify;
+		dragEl.style.setProperty("--textColor", this.textColor);
+		dragEl.style.setProperty("--width", Math.floor(this.width / 2) + "px");
+		dragEl.style.setProperty("--pwidth", -Math.floor(this.width / 2) + "px");
+	},
+	computed: {
+		handlerStyle: function () {
+			return {
+				width: this.height + "px",
+				height: this.height + "px",
+				background: this.handlerBg
+			};
+		},
+		message: function () {
+			return this.isPassing ? "" : this.text;
+		},
+		successMessage: function () {
+			return this.isPassing ? this.successText : "";
+		},
+		dragVerifyStyle: function () {
+			console.log(this.width, "width");
+			return {
+				width: this.width + "px",
+				height: this.height + "px",
+				lineHeight: this.height + "px",
+				background: this.background,
+				borderRadius: this.circle ? this.height / 2 + "px" : this.radius
+			};
+		},
+		dragVerifyImgStyle: function () {
+			return {
+				width: this.width + "px",
+				position: "relative",
+				overflow: "hidden"
+			};
+		},
+		progressBarStyle: function () {
+			return {
+				background: this.progressBarBg,
+				height: this.height + "px",
+				borderRadius: this.circle
+					? this.height / 2 + "px 0 0 " + this.height / 2 + "px"
+					: this.radius
+			};
+		},
+		textStyle: function () {
+			return {
+				height: this.height + "px",
+				width: this.width + "px",
+				fontSize: this.textSize
+			};
+		}
+	},
+	data() {
+		return {
+			isMoving: false,
+			x: 0,
+			isOk: false,
+			isKeep: false,
+			movebarStyle: {},
+			clipbarStyle: {},
+			showBar: false,
+			clipBarx: 0,
+			showErrorTip: false
+		};
+	},
+	methods: {
+		checkimgLoaded: function () {
+			//鐢熸垚鍥剧墖缂哄け浣嶇疆
+			var barWidth = this.barWidth;
+			var barHeight = this.barHeight;
+			var imgHeight = this.$refs.checkImg.height;
+			var halfWidth = Math.floor(this.width / 2);
+			var refreshHeigth = 25;
+			var tipHeight = 20;
+			var x = halfWidth + Math.ceil(Math.random() * (halfWidth - barWidth));
+			var y =
+				refreshHeigth +
+				Math.floor(
+					Math.random() * (imgHeight - barHeight - refreshHeigth - tipHeight)
+				);
+			this.clipbarStyle = {
+				width: barWidth + "px",
+				height: barHeight + "px",
+				top: y + "px",
+				left: x + "px",
+				"border-radius": this.barRadius + "px"
+			};
+			this.clipBarx = x;
+			var imgsrc = this.imgsrc;
+			var width = this.width;
+			this.movebarStyle = {
+				background: `url(${imgsrc})`,
+				"background-position": `-${x}px -${y}px`,
+				"background-size": `${width}px`,
+				width: barWidth + "px",
+				height: barHeight + "px",
+				top: y + "px",
+				"border-radius": this.barRadius + "px"
+			};
+		},
+		dragStart: function (e) {
+			if (!this.isPassing) {
+				this.isMoving = true;
+				this.x =
+					(e.pageX || e.touches[0].pageX)
+			}
+			this.showBar = true;
+			this.showErrorTip = false;
+			this.$emit("handlerMove");
+		},
+		dragMoving: function (e) {
+			if (this.isMoving && !this.isPassing) {
+				var _x = (e.pageX || e.touches[0].pageX) - this.x;
+				var handler = this.$refs.handler;
+				handler.style.left = _x + "px";
+				this.$refs.progressBar.style.width = _x + this.height / 2 + "px";
+				this.$refs.moveBar.style.left = _x + "px";
+			}
+		},
+		dragFinish: function (e) {
+			if (this.isMoving && !this.isPassing) {
+				var _x = (e.pageX || e.changedTouches[0].pageX) - this.x;
+				if (Math.abs(_x - this.clipBarx) > this.diffWidth) {
+					this.isOk = true;
+					var that = this;
+					setTimeout(function () {
+						that.$refs.handler.style.left = "0";
+						that.$refs.progressBar.style.width = "0";
+						that.$refs.moveBar.style.left = "0";
+						that.isOk = false;
+					}, 500);
+					this.showErrorTip = true;
+					this.$emit("passfail");
+				} else {
+					this.passVerify();
+				}
+				this.isMoving = false;
+			}
+		},
+		passVerify: function () {
+			this.$emit("update:isPassing", true);
+			this.isMoving = false;
+			var handler = this.$refs.handler;
+			handler.children[0].className = this.successIcon;
+			this.$refs.progressBar.style.background = this.completedBg;
+			this.$refs.message.style["-webkit-text-fill-color"] = "unset";
+			this.$refs.message.style.animation = "slidetounlock2 3s infinite";
+			this.$refs.progressBar.style.color = "#fff";
+			this.$refs.progressBar.style.fontSize = this.textSize;
+			this.isKeep = true;
+			setTimeout(() => {
+				this.$refs.moveBar.style.left = this.clipBarx + "px";
+				setTimeout(() => {
+					this.isKeep = false;
+				}, 200);
+			}, 100);
+			this.$emit("passcallback");
+		},
+		reset: function () {
+			this.reImg();
+			this.checkimgLoaded();
+		},
+		reImg: function () {
+			this.$emit("update:isPassing", false);
+			const oriData = this.$options.data();
+			for (const key in oriData) {
+				if (Object.prototype.hasOwnProperty.call(oriData, key)) {
+					this[key] = oriData[key]
+				}
+			}
+			var handler = this.$refs.handler;
+			var message = this.$refs.message;
+			handler.style.left = "0";
+			this.$refs.progressBar.style.width = "0";
+			handler.children[0].className = this.handlerIcon;
+			message.style["-webkit-text-fill-color"] = "transparent";
+			message.style.animation = "slidetounlock 3s infinite";
+			message.style.color = this.background;
+		},
+		refreshimg: function () {
+			this.$emit("refresh");
+		}
+	},
+	watch: {
+		imgsrc: {
+			immediate: false,
+			handler: function () {
+				this.reImg();
+			}
+		}
+	}
+};
+</script>
+<style scoped>
+.drag_verify {
+	position: relative;
+	background-color: #e8e8e8;
+	text-align: center;
+	overflow: hidden;
+}
+
+.drag_verify .dv_handler {
+	position: absolute;
+	top: 0px;
+	left: 0px;
+	cursor: move;
+}
+
+.drag_verify .dv_handler i {
+	color: #666;
+	padding-left: 0;
+	font-size: 16px;
+}
+
+.drag_verify .dv_handler .el-icon-circle-check {
+	color: #6c6;
+	margin-top: 9px;
+}
+
+.drag_verify .dv_progress_bar {
+	position: absolute;
+	height: 34px;
+	width: 0px;
+}
+
+.drag_verify .dv_text {
+	position: absolute;
+	top: 0px;
+	color: transparent;
+	-moz-user-select: none;
+	-webkit-user-select: none;
+	user-select: none;
+	-o-user-select: none;
+	-ms-user-select: none;
+	background: -webkit-gradient(linear,
+			left top,
+			right top,
+			color-stop(0, var(--textColor)),
+			color-stop(0.4, var(--textColor)),
+			color-stop(0.5, #fff),
+			color-stop(0.6, var(--textColor)),
+			color-stop(1, var(--textColor)));
+	-webkit-background-clip: text;
+	-webkit-text-fill-color: transparent;
+	-webkit-text-size-adjust: none;
+	animation: slidetounlock 3s infinite;
+}
+
+.drag_verify .dv_text * {
+	-webkit-text-fill-color: var(--textColor);
+}
+
+.goFirst {
+	left: 0px !important;
+	transition: left 0.5s;
+}
+
+.goKeep {
+	transition: left 0.2s;
+}
+
+.goFirst2 {
+	width: 0px !important;
+	transition: width 0.5s;
+}
+
+.drag-verify-container {
+	position: relative;
+	line-height: 0;
+}
+
+.move-bar {
+	position: absolute;
+	z-index: 100;
+}
+
+.clip-bar {
+	position: absolute;
+	background: rgba(255, 255, 255, 0.8);
+}
+
+.refresh {
+	position: absolute;
+	right: 5px;
+	top: 5px;
+	cursor: pointer;
+	font-size: 20px;
+	z-index: 200;
+}
+
+.tips {
+	position: absolute;
+	bottom: 0;
+	height: 20px;
+	line-height: 20px;
+	text-align: center;
+	width: 100%;
+	font-size: 12px;
+	z-index: 200;
+}
+
+.tips.success {
+	background: rgba(255, 255, 255, 0.6);
+	color: green;
+}
+
+.tips.danger {
+	background: rgba(0, 0, 0, 0.6);
+	color: yellow;
+}
+</style>
+<style>
+@-webkit-keyframes slidetounlock {
+	0% {
+		background-position: var(--pwidth) 0;
+	}
+
+	100% {
+		background-position: var(--width) 0;
+	}
+}
+
+@-webkit-keyframes slidetounlock2 {
+	0% {
+		background-position: var(--pwidth) 0;
+	}
+
+	100% {
+		background-position: var(--pwidth) 0;
+	}
+}
+</style>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/components/dragVerify/dragVerifyImgChip.vue b/LA24030_LuLiPackageLine_Web/src/components/dragVerify/dragVerifyImgChip.vue
new file mode 100644
index 0000000..842051d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/dragVerify/dragVerifyImgChip.vue
@@ -0,0 +1,486 @@
+<template>
+  <div class="drag-verify-container">
+    <div :style="dragVerifyImgStyle">
+      <img ref="checkImg" crossOrigin="anonymous" :src="imgsrc" @load="checkimgLoaded" style="width:100%" alt="">
+      <canvas ref="maincanvas" class="main-canvas"></canvas>
+      <canvas ref="movecanvas" :class="{goFirst:isOk, goKeep:isKeep}" class="move-canvas"></canvas>
+      <div class="refresh" v-if="showRefresh && !isPassing">
+        <i :class="refreshIcon" @click="refreshimg"></i>
+      </div>
+      <div class="tips success" v-if="showTips && isPassing">{{successTip}}</div>
+      <div class="tips danger" v-if="showTips && !isPassing && showErrorTip">{{failTip}}</div>
+    </div>
+    <div ref="dragVerify" class="drag_verify" :style="dragVerifyStyle" @mousemove="dragMoving" @mouseup="dragFinish"
+      @mouseleave="dragFinish" @touchmove.prevent="dragMoving" @touchend.prevent="dragFinish">
+
+      <div class="dv_progress_bar" :class="{goFirst2:isOk}" ref="progressBar" :style="progressBarStyle">
+        {{successMessage}}
+      </div>
+      <div class="dv_text" :style="textStyle" ref="message">
+        {{message}}
+      </div>
+
+      <div class="dv_handler dv_handler_bg" :class="{goFirst:isOk}" @mousedown="dragStart" @touchstart.prevent="dragStart"
+        ref="handler" :style="handlerStyle">
+        <i :class="handlerIcon"></i>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script  lang="ts">
+export default {
+  name: "dragVerifyImgChip",
+  props: {
+    isPassing: {
+      type: Boolean,
+      default: false
+    },
+    width: {
+      type: Number,
+      default: 250
+    },
+    height: {
+      type: Number,
+      default: 40
+    },
+    text: {
+      type: String,
+      default: "swiping to the right side"
+    },
+    successText: {
+      type: String,
+      default: "success"
+    },
+    background: {
+      type: String,
+      default: "#eee"
+    },
+    progressBarBg: {
+      type: String,
+      default: "#76c61d"
+    },
+    completedBg: {
+      type: String,
+      default: "#76c61d"
+    },
+    circle: {
+      type: Boolean,
+      default: false
+    },
+    radius: {
+      type: String,
+      default: "4px"
+    },
+    handlerIcon: {
+      type: String
+    },
+    successIcon: {
+      type: String
+    },
+    handlerBg: {
+      type: String,
+      default: "#fff"
+    },
+    textSize: {
+      type: String,
+      default: "14px"
+    },
+    textColor: {
+      type: String,
+      default: "#333"
+    },
+    imgsrc: {
+      type: String
+    },
+    barWidth: {
+      type: Number,
+      default: 40
+    },
+    barRadius: {
+      type: Number,
+      default: 8
+    },
+    showRefresh: {
+      type: Boolean,
+      default: false
+    },
+    refreshIcon: {
+      type: String
+    },
+    showTips: {
+      type: Boolean,
+      default: true
+    },
+    successTip: {
+      type: String,
+      default: "楠岃瘉閫氳繃锛岃秴杩�80%鐢ㄦ埛"
+    },
+    failTip: {
+      type: String,
+      default: "楠岃瘉鏈�氳繃锛屾嫋鍔ㄦ粦鍧楀皢鎮诞鍥惧儚姝g‘鍚堝苟"
+    },
+    diffWidth: {
+      type: Number,
+      default: 20
+    }
+  },
+  mounted: function () {
+    const dragEl = this.$refs.dragVerify;
+    dragEl.style.setProperty("--textColor", this.textColor);
+    dragEl.style.setProperty("--width", Math.floor(this.width / 2) + "px");
+    dragEl.style.setProperty("--pwidth", -Math.floor(this.width / 2) + "px");
+  },
+  computed: {
+    handlerStyle: function () {
+      return {
+        width: this.height + "px",
+        height: this.height + "px",
+        background: this.handlerBg
+      };
+    },
+    message: function () {
+      return this.isPassing ? "" : this.text;
+    },
+    successMessage: function () {
+      return this.isPassing ? this.successText : "";
+    },
+    dragVerifyStyle: function () {
+      return {
+        width: this.width + "px",
+        height: this.height + "px",
+        lineHeight: this.height + "px",
+        background: this.background,
+        borderRadius: this.circle ? this.height / 2 + "px" : this.radius
+      };
+    },
+    dragVerifyImgStyle: function () {
+      return {
+        width: this.width + "px",
+        position: "relative",
+        overflow: "hidden"
+      };
+    },
+    progressBarStyle: function () {
+      return {
+        background: this.progressBarBg,
+        height: this.height + "px",
+        borderRadius: this.circle
+          ? this.height / 2 + "px 0 0 " + this.height / 2 + "px"
+          : this.radius
+      };
+    },
+    textStyle: function () {
+      return {
+        height: this.height + "px",
+        width: this.width + "px",
+        fontSize: this.textSize
+      };
+    }
+  },
+  data() {
+    return {
+      isMoving: false,
+      x: 0,
+      isOk: false,
+      isKeep: false,
+      clipBarx: 0,
+      showErrorTip: false
+    };
+  },
+  methods: {
+    draw: function (ctx, x, y, operation) {
+      var l = this.barWidth;
+      var r = this.barRadius;
+      const PI = Math.PI;
+      ctx.beginPath();
+      ctx.moveTo(x, y);
+      ctx.arc(x + l / 2, y - r + 2, r, 0.72 * PI, 2.26 * PI);
+      ctx.lineTo(x + l, y);
+      ctx.arc(x + l + r - 2, y + l / 2, r, 1.21 * PI, 2.78 * PI);
+      ctx.lineTo(x + l, y + l);
+      ctx.lineTo(x, y + l);
+      ctx.arc(x + r - 2, y + l / 2, r + 0.4, 2.76 * PI, 1.24 * PI, true);
+      ctx.lineTo(x, y);
+      ctx.lineWidth = 2;
+      ctx.fillStyle = "rgba(255, 255, 255, 0.8)";
+      ctx.strokeStyle = "rgba(255, 255, 255, 0.8)";
+      ctx.stroke();
+      ctx[operation]();
+      ctx.globalCompositeOperation = "destination-over";
+    },
+    checkimgLoaded: function () {
+      // 鐢熸垚鍥剧墖缂哄け浣嶇疆
+      var barWidth = this.barWidth;
+      var imgHeight = this.$refs.checkImg.height;
+      var imgWidth = this.$refs.checkImg.width;
+      var halfWidth = Math.floor(this.width / 2);
+      var refreshHeigth = 25;
+      var tipHeight = 20;
+      var x = halfWidth + Math.ceil(Math.random() * (halfWidth - barWidth - this.barRadius - 5));
+      var y =
+        refreshHeigth +
+        Math.floor(
+          Math.random() * (imgHeight - barWidth - refreshHeigth - tipHeight)
+        );
+      this.$refs.maincanvas.setAttribute("width", imgWidth);
+      this.$refs.maincanvas.setAttribute("height", imgHeight);
+      this.$refs.maincanvas.style.display = "block";
+      var canvasCtx = this.$refs.maincanvas.getContext("2d");
+      this.draw(canvasCtx, x, y, "fill");
+      this.clipBarx = x;
+
+      var moveCanvas = this.$refs.movecanvas;
+      moveCanvas.setAttribute("width", imgWidth);
+      moveCanvas.setAttribute("height", imgHeight);
+      this.$refs.movecanvas.style.display = "block";
+      const L = barWidth + this.barRadius * 2 + 3; //瀹為檯瀹藉害
+      var moveCtx = this.$refs.movecanvas.getContext("2d");
+      moveCtx.clearRect(0, 0, imgWidth, imgHeight);
+      this.draw(moveCtx, x, y, "clip");
+      moveCtx.drawImage(this.$refs.checkImg, 0, 0, imgWidth, imgHeight);
+      var y = y - this.barRadius * 2 - 1;
+      const ImageData = moveCtx.getImageData(x, y, L, L);
+      moveCanvas.setAttribute("width", L);
+      moveCanvas.setAttribute("height", imgHeight);
+      moveCtx.putImageData(ImageData, 0, y);
+    },
+    dragStart: function (e) {
+      if (!this.isPassing) {
+        this.isMoving = true;
+        this.x =
+          (e.pageX || e.touches[0].pageX)
+      }
+      this.showBar = true;
+      this.showErrorTip = false;
+      this.$emit("handlerMove");
+    },
+    dragMoving: function (e) {
+      if (this.isMoving && !this.isPassing) {
+        var _x = (e.pageX || e.touches[0].pageX) - this.x;
+        var handler = this.$refs.handler;
+        handler.style.left = _x + "px";
+        this.$refs.progressBar.style.width = _x + this.height / 2 + "px";
+        this.$refs.movecanvas.style.left = _x + "px";
+      }
+    },
+    dragFinish: function (e) {
+      if (this.isMoving && !this.isPassing) {
+        var _x = (e.pageX || e.changedTouches[0].pageX) - this.x;
+        if (Math.abs(_x - this.clipBarx) > this.diffWidth) {
+          this.isOk = true;
+          var that = this;
+          setTimeout(function () {
+            that.$refs.handler.style.left = "0";
+            that.$refs.progressBar.style.width = "0";
+            that.$refs.movecanvas.style.left = "0";
+            that.isOk = false;
+          }, 500);
+          this.$emit("passfail");
+          this.showErrorTip = true;
+        } else {
+          this.passVerify();
+        }
+        this.isMoving = false;
+      }
+    },
+    passVerify: function () {
+      this.$emit("update:isPassing", true);
+      this.isMoving = false;
+      var handler = this.$refs.handler;
+      handler.children[0].className = this.successIcon;
+      this.$refs.progressBar.style.background = this.completedBg;
+      this.$refs.message.style["-webkit-text-fill-color"] = "unset";
+      this.$refs.message.style.animation = "slidetounlock2 3s infinite";
+      this.$refs.progressBar.style.color = "#fff";
+      this.$refs.progressBar.style.fontSize = this.textSize;
+      this.isKeep = true;
+      setTimeout(() => {
+        this.$refs.movecanvas.style.left = this.clipBarx + "px";
+        setTimeout(() => {
+          this.isKeep = false;
+          this.$refs.maincanvas.style.display = "none";
+          this.$refs.movecanvas.style.display = "none";
+        }, 200);
+      }, 100);
+      this.$emit("passcallback");
+    },
+    reset: function () {
+      this.reImg();
+      this.checkimgLoaded();
+    },
+    reImg: function () {
+      this.$emit("update:isPassing", false);
+      const oriData = this.$options.data();
+      for (const key in oriData) {
+        if (Object.prototype.hasOwnProperty.call(oriData, key)) {
+          this[key] = oriData[key]
+        }
+      }
+      var handler = this.$refs.handler;
+      var message = this.$refs.message;
+      handler.style.left = "0";
+      this.$refs.progressBar.style.width = "0";
+      handler.children[0].className = this.handlerIcon;
+      message.style["-webkit-text-fill-color"] = "transparent";
+      message.style.animation = "slidetounlock 3s infinite";
+      message.style.color = this.background;
+      this.$refs.movecanvas.style.left = "0px";
+    },
+    refreshimg: function () {
+      this.$emit("refresh");
+    }
+  },
+  watch: {
+    imgsrc: {
+      immediate: false,
+      handler: function () {
+        this.reImg();
+      }
+    }
+  }
+};
+</script>
+<style scoped>
+.drag_verify {
+  position: relative;
+  background-color: #e8e8e8;
+  text-align: center;
+  overflow: hidden;
+}
+
+.drag_verify .dv_handler {
+  position: absolute;
+  top: 0px;
+  left: 0px;
+  cursor: move;
+}
+
+.drag_verify .dv_handler i {
+  color: #666;
+  padding-left: 0;
+  font-size: 16px;
+}
+
+.drag_verify .dv_handler .el-icon-circle-check {
+  color: #6c6;
+  margin-top: 9px;
+}
+
+.drag_verify .dv_progress_bar {
+  position: absolute;
+  height: 34px;
+  width: 0px;
+}
+
+.drag_verify .dv_text {
+  position: absolute;
+  top: 0px;
+  color: transparent;
+  -moz-user-select: none;
+  -webkit-user-select: none;
+  user-select: none;
+  -o-user-select: none;
+  -ms-user-select: none;
+  background: -webkit-gradient(linear,
+      left top,
+      right top,
+      color-stop(0, var(--textColor)),
+      color-stop(0.4, var(--textColor)),
+      color-stop(0.5, #fff),
+      color-stop(0.6, var(--textColor)),
+      color-stop(1, var(--textColor)));
+  -webkit-background-clip: text;
+  -webkit-text-fill-color: transparent;
+  -webkit-text-size-adjust: none;
+  animation: slidetounlock 3s infinite;
+}
+
+.drag_verify .dv_text * {
+  -webkit-text-fill-color: var(--textColor);
+}
+
+.goFirst {
+  left: 0px !important;
+  transition: left 0.5s;
+}
+
+.goKeep {
+  transition: left 0.2s;
+}
+
+.goFirst2 {
+  width: 0px !important;
+  transition: width 0.5s;
+}
+
+.drag-verify-container {
+  position: relative;
+  line-height: 0;
+}
+
+.refresh {
+  position: absolute;
+  right: 5px;
+  top: 5px;
+  cursor: pointer;
+  font-size: 20px;
+  z-index: 200;
+}
+
+.tips {
+  position: absolute;
+  bottom: 0;
+  height: 20px;
+  line-height: 20px;
+  text-align: center;
+  width: 100%;
+  font-size: 12px;
+  z-index: 200;
+}
+
+.tips.success {
+  background: rgba(255, 255, 255, 0.6);
+  color: green;
+}
+
+.tips.danger {
+  background: rgba(0, 0, 0, 0.6);
+  color: yellow;
+}
+
+.main-canvas {
+  width: 100%;
+  height: 100%;
+  position: absolute;
+  top: 0;
+  left: 0;
+}
+
+.move-canvas {
+  position: absolute;
+  top: 0;
+  left: 0;
+}
+</style>
+<style>
+@-webkit-keyframes slidetounlock {
+  0% {
+    background-position: var(--pwidth) 0;
+  }
+
+  100% {
+    background-position: var(--width) 0;
+  }
+}
+
+@-webkit-keyframes slidetounlock2 {
+  0% {
+    background-position: var(--pwidth) 0;
+  }
+
+  100% {
+    background-position: var(--pwidth) 0;
+  }
+}
+</style>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/components/dragVerify/dragVerifyImgRotate.vue b/LA24030_LuLiPackageLine_Web/src/components/dragVerify/dragVerifyImgRotate.vue
new file mode 100644
index 0000000..b9d4ae1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/dragVerify/dragVerifyImgRotate.vue
@@ -0,0 +1,449 @@
+<template>
+	<div class="drag-verify-container">
+		<div :style="dragVerifyImgStyle" style="background-color: var(--el-color-primary)">
+			<img ref="checkImg" :src="imgsrc" class="check-img" :class="{goOrigin:isOk}" @load="checkimgLoaded"
+				:style="imgStyle" alt="">
+			<div class="tips success" v-if="showTips && isPassing">{{successTip}}</div>
+			<div class="tips danger" v-if="showTips && !isPassing && showErrorTip">{{failTip}}</div>
+		</div>
+		<div ref="dragVerify" class="drag_verify" :style="dragVerifyStyle" @mousemove="dragMoving" @mouseup="dragFinish"
+			@mouseleave="dragFinish" @touchmove.prevent="dragMoving" @touchend.prevent="dragFinish">
+			<div class="dv_progress_bar" :class="{goFirst2:isOk}" ref="progressBar" :style="progressBarStyle">
+				{{successMessage}}
+			</div>
+			<div class="dv_text" :style="textStyle" ref="message">
+				{{message}}
+			</div>
+
+			<div class="dv_handler dv_handler_bg" :class="{goFirst:isOk}" @mousedown="dragStart" @touchstart.prevent="dragStart"
+				ref="handler" :style="handlerStyle" style="background-color: var(--el-color-primary);">
+				<i :class="handlerIcon" style="color: #FFF;"></i>
+			</div>
+		</div>
+	</div>
+</template>
+
+<script  lang="ts">
+export default {
+	name: "dragVerify",
+	props: {
+		isPassing: {
+			type: Boolean,
+			default: false
+		},
+		width: {
+			type: Number,
+			default: 250
+		},
+		height: {
+			type: Number,
+			default: 40
+		},
+		text: {
+			type: String,
+			default: "swiping to the right side"
+		},
+		successText: {
+			type: String,
+			default: "success"
+		},
+		background: {
+			type: String,
+			default: "#eee"
+		},
+		progressBarBg: {
+			type: String,
+			default: "#76c61d"
+		},
+		completedBg: {
+			type: String,
+			default: "#76c61d"
+		},
+		circle: {
+			type: Boolean,
+			default: false
+		},
+		radius: {
+			type: String,
+			default: "4px"
+		},
+		handlerIcon: {
+			type: String
+		},
+		successIcon: {
+			type: String
+		},
+		handlerBg: {
+			type: String,
+			default: "#fff"
+		},
+		textSize: {
+			type: String,
+			default: "14px"
+		},
+		textColor: {
+			type: String,
+			default: "#333"
+		},
+		imgsrc: {
+			type: String
+		},
+		showTips: {
+			type: Boolean,
+			default: true
+		},
+		successTip: {
+			type: String,
+			default: "楠岃瘉閫氳繃"
+		},
+		failTip: {
+			type: String,
+			default: "楠岃瘉澶辫触"
+		},
+		diffDegree: {
+			type: Number,
+			default: 10
+		},
+		minDegree: {
+			type: Number,
+			default: 90
+		},
+		maxDegree: {
+			type: Number,
+			default: 270
+		}
+	},
+	mounted: function () {
+		const dragEl = this.$refs.dragVerify;
+		dragEl.style.setProperty("--textColor", this.textColor);
+		dragEl.style.setProperty("--width", Math.floor(this.width / 2) + "px");
+		dragEl.style.setProperty("--pwidth", -Math.floor(this.width / 2) + "px");
+	},
+	computed: {
+		handlerStyle: function () {
+			return {
+				width: this.height + "px",
+				height: this.height + "px",
+				background: this.handlerBg
+			};
+		},
+		message: function () {
+			return this.isPassing ? "" : this.text;
+		},
+		successMessage: function () {
+			return this.isPassing ? this.successText : "";
+		},
+		dragVerifyStyle: function () {
+			return {
+				width: this.width + "px",
+				height: this.height + "px",
+				lineHeight: this.height + "px",
+				marginTop: '20px',
+				background: this.background,
+				borderRadius: this.circle ? this.height / 2 + "px" : this.radius
+			};
+		},
+		dragVerifyImgStyle: function () {
+			return {
+				width: this.width + "px",
+				height: this.width + "px",
+				position: "relative",
+				overflow: "hidden",
+				"border-radius": "50%"
+			};
+		},
+		progressBarStyle: function () {
+			return {
+				background: this.progressBarBg,
+				height: this.height + "px",
+				borderRadius: this.circle
+					? this.height / 2 + "px 0 0 " + this.height / 2 + "px"
+					: this.radius
+			};
+		},
+		textStyle: function () {
+			return {
+				height: this.height + "px",
+				width: this.width + "px",
+				fontSize: this.textSize
+			};
+		},
+		factor: function () {
+			//閬垮厤鎸囧畾鏃嬭浆瑙掑害鏃朵竴鐩存嫋鍔ㄥ埌鏈�鍙充晶鎵嶉獙璇侀�氳繃
+			if (this.minDegree == this.maxDegree) {
+				return Math.floor(1 + Math.random() * 6) / 10 + 1;
+			}
+			return 1;
+		}
+	},
+	data() {
+		return {
+			isMoving: false,
+			x: 0,
+			isOk: false,
+			showBar: false,
+			showErrorTip: false,
+			ranRotate: 0,
+			cRotate: 0,
+			imgStyle: {}
+		};
+	},
+	methods: {
+		checkimgLoaded: function () {
+			//鐢熸垚鏃嬭浆瑙掑害
+			var minDegree = this.minDegree;
+			var maxDegree = this.maxDegree;
+			var ranRotate = Math.floor(
+				minDegree + Math.random() * (maxDegree - minDegree)
+			); //鐢熸垚闅忔満瑙掑害
+			this.ranRotate = ranRotate;
+			//console.log("鏃嬭浆" + ranRotate);
+			this.imgStyle = {
+				transform: `rotateZ(${ranRotate}deg)`
+			};
+		},
+		dragStart: function (e) {
+			if (!this.isPassing) {
+				this.isMoving = true;
+				this.x =
+					(e.pageX || e.touches[0].pageX)
+			}
+			this.showBar = true;
+			this.showErrorTip = false;
+			this.$emit("handlerMove");
+		},
+		dragMoving: function (e) {
+			if (this.isMoving && !this.isPassing) {
+				var _x = (e.pageX || e.touches[0].pageX) - this.x;
+				//console.log(_x, "_x");
+				var handler = this.$refs.handler;
+				handler.style.left = _x + "px";
+				this.$refs.progressBar.style.width = _x + this.height / 2 + "px";
+				var cRotate = Math.ceil(
+					(_x / (this.width - this.height)) * this.maxDegree * this.factor
+				);
+				//console.log(cRotate, "cRotate");
+				this.cRotate = cRotate;
+				var rotate = this.ranRotate - cRotate;
+				this.imgStyle = {
+					transform: `rotateZ(${rotate}deg)`
+				};
+			}
+		},
+		dragFinish: function (e) {
+			if (this.isMoving && !this.isPassing) {
+				if (Math.abs(this.ranRotate - this.cRotate) > this.diffDegree) {
+					this.isOk = true;
+					this.imgStyle = {
+						transform: `rotateZ(${this.ranRotate}deg)`
+					};
+					var that = this;
+					setTimeout(function () {
+						that.$refs.handler.style.left = "0";
+						that.$refs.progressBar.style.width = "0";
+						that.isOk = false;
+					}, 500);
+					this.showErrorTip = true;
+					this.$emit("passfail");
+				} else {
+					this.passVerify();
+				}
+				this.isMoving = false;
+			}
+		},
+		passVerify: function () {
+			this.$emit("update:isPassing", true);
+			this.isMoving = false;
+			var handler = this.$refs.handler;
+			handler.children[0].className = this.successIcon;
+			this.$refs.progressBar.style.background = this.completedBg;
+			this.$refs.message.style["-webkit-text-fill-color"] = "unset";
+			this.$refs.message.style.animation = "slidetounlock2 3s infinite";
+			this.$refs.progressBar.style.color = "#fff";
+			this.$refs.progressBar.style.fontSize = this.textSize;
+			this.$emit("passcallback");
+		},
+		reset: function () {
+			this.reImg();
+			this.checkimgLoaded();
+		},
+		reImg: function () {
+			this.$emit("update:isPassing", false);
+			const oriData = this.$options.data();
+			for (const key in oriData) {
+				if (Object.prototype.hasOwnProperty.call(oriData, key)) {
+					this[key] = oriData[key]
+				}
+			}
+			var handler = this.$refs.handler;
+			var message = this.$refs.message;
+			handler.style.left = "0";
+			this.$refs.progressBar.style.width = "0";
+			handler.children[0].className = this.handlerIcon;
+			message.style["-webkit-text-fill-color"] = "transparent";
+			message.style.animation = "slidetounlock 3s infinite";
+			message.style.color = this.background;
+		},
+		refreshimg: function () {
+			this.$emit("refresh");
+		}
+	},
+	watch: {
+		imgsrc: {
+			immediate: false,
+			handler: function () {
+				this.reImg();
+			}
+		}
+	}
+};
+</script>
+<style scoped>
+.drag_verify {
+	position: relative;
+	background-color: #e8e8e8;
+	text-align: center;
+	overflow: hidden;
+}
+
+.drag_verify .dv_handler {
+	position: absolute;
+	top: 0px;
+	left: 0px;
+	cursor: move;
+}
+
+.drag_verify .dv_handler i {
+	color: #666;
+	padding-left: 0;
+	font-size: 16px;
+}
+
+.drag_verify .dv_handler .el-icon-circle-check {
+	color: #6c6;
+	margin-top: 9px;
+}
+
+.drag_verify .dv_progress_bar {
+	position: absolute;
+	height: 34px;
+	width: 0px;
+}
+
+.drag_verify .dv_text {
+	position: absolute;
+	top: 0px;
+	color: transparent;
+	-moz-user-select: none;
+	-webkit-user-select: none;
+	user-select: none;
+	-o-user-select: none;
+	-ms-user-select: none;
+	background: -webkit-gradient(linear,
+			left top,
+			right top,
+			color-stop(0, var(--textColor)),
+			color-stop(0.4, var(--textColor)),
+			color-stop(0.5, #fff),
+			color-stop(0.6, var(--textColor)),
+			color-stop(1, var(--textColor)));
+	-webkit-background-clip: text;
+	-webkit-text-fill-color: transparent;
+	-webkit-text-size-adjust: none;
+	animation: slidetounlock 3s infinite;
+}
+
+.drag_verify .dv_text * {
+	-webkit-text-fill-color: var(--textColor);
+}
+
+.goFirst {
+	left: 0px !important;
+	transition: left 0.5s;
+}
+
+.goOrigin {
+	transition: transform 0.5s;
+}
+
+.goKeep {
+	transition: left 0.2s;
+}
+
+.goFirst2 {
+	width: 0px !important;
+	transition: width 0.5s;
+}
+
+.drag-verify-container {
+	position: relative;
+	line-height: 0;
+	border-radius: 50%;
+}
+
+.move-bar {
+	position: absolute;
+	z-index: 100;
+}
+
+.clip-bar {
+	position: absolute;
+	background: rgba(255, 255, 255, 0.8);
+}
+
+.refresh {
+	position: absolute;
+	right: 5px;
+	top: 5px;
+	cursor: pointer;
+	font-size: 20px;
+	z-index: 200;
+}
+
+.tips {
+	position: absolute;
+	bottom: 25px;
+	height: 20px;
+	line-height: 20px;
+	text-align: center;
+	width: 100%;
+	font-size: 12px;
+	z-index: 200;
+}
+
+.tips.success {
+	background: rgba(255, 255, 255, 0.6);
+	color: green;
+}
+
+.tips.danger {
+	background: rgba(0, 0, 0, 0.6);
+	color: yellow;
+}
+
+.check-img {
+	width: 100%;
+	border-radius: 50%;
+}
+</style>
+<style>
+@-webkit-keyframes slidetounlock {
+	0% {
+		background-position: var(--pwidth) 0;
+	}
+
+	100% {
+		background-position: var(--width) 0;
+	}
+}
+
+@-webkit-keyframes slidetounlock2 {
+	0% {
+		background-position: var(--pwidth) 0;
+	}
+
+	100% {
+		background-position: var(--pwidth) 0;
+	}
+}
+</style>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/components/editor/index.vue b/LA24030_LuLiPackageLine_Web/src/components/editor/index.vue
new file mode 100644
index 0000000..8faa78d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/editor/index.vue
@@ -0,0 +1,130 @@
+<template>
+	<div class="editor-container">
+		<Toolbar :editor="editorRef" :mode="mode" />
+		<Editor
+			:mode="mode"
+			:defaultConfig="state.editorConfig"
+			:style="{ height }"
+			v-model="state.editorVal"
+			@onCreated="handleCreated"
+			@onChange="handleChange"
+		/>
+	</div>
+</template>
+
+<script setup lang="ts" name="wngEditor">
+// https://www.wangeditor.com/v5/for-frame.html#vue3
+import '@wangeditor/editor/dist/css/style.css';
+import { reactive, shallowRef, watch, onBeforeUnmount } from 'vue';
+import { IDomEditor } from '@wangeditor/editor';
+import { Toolbar, Editor } from '@wangeditor/editor-for-vue';
+import { ElMessage } from 'element-plus';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysFileApi } from '/@/api-services/api';
+
+// 瀹氫箟鐖剁粍浠朵紶杩囨潵鐨勫��
+const props = defineProps({
+	// 鏄惁绂佺敤
+	disable: {
+		type: Boolean,
+		default: () => false,
+	},
+	// 鍐呭妗嗛粯璁� placeholder
+	placeholder: {
+		type: String,
+		default: () => '璇疯緭鍏ュ唴瀹�...',
+	},
+	// https://www.wangeditor.com/v5/getting-started.html#mode-%E6%A8%A1%E5%BC%8F
+	// 妯″紡锛屽彲閫� <default|simple>锛岄粯璁� default
+	mode: {
+		type: String,
+		default: () => 'default',
+	},
+	// 楂樺害
+	height: {
+		type: String,
+		default: () => '310px',
+	},
+	// 鍙屽悜缁戝畾锛岀敤浜庤幏鍙� editor.getHtml()
+	getHtml: String,
+	// 鍙屽悜缁戝畾锛岀敤浜庤幏鍙� editor.getText()
+	getText: String,
+});
+
+// 瀹氫箟瀛愮粍浠跺悜鐖剁粍浠朵紶鍊�/浜嬩欢
+const emit = defineEmits(['update:getHtml', 'update:getText']);
+
+// 瀹氫箟鍙橀噺鍐呭
+const editorRef = shallowRef();
+const state = reactive({
+	editorConfig: {
+		placeholder: props.placeholder,
+		// 鑿滃崟閰嶇疆
+		MENU_CONF: {
+			uploadImage: {
+				fieldName: 'file',
+				customUpload(file, insertFn) {
+					// console.log('customUpload', file);
+					const uploadFun = async () => {
+						const rps = await getAPI(SysFileApi).apiSysFileUploadFilePostForm(file);
+						if (rps.data.type == 'success' && rps.data.result != null) {
+							insertFn(rps.data.result.url, rps.data.result.name, rps.data.result.url);
+						} else {
+							ElMessage.error('涓婁紶澶辫触锛�');
+						}
+					};
+					uploadFun();
+				},
+			},
+			insertImage: {
+				checkImage(src: string, alt: string, href: string): boolean | string | undefined {
+					if (src.indexOf('http') !== 0) {
+						return '鍥剧墖缃戝潃蹇呴』浠� http/https 寮�澶�';
+					}
+					return true;
+				},
+			},
+		},
+	},
+	editorVal: props.getHtml,
+});
+
+// 缂栬緫鍣ㄥ洖璋冨嚱鏁�
+const handleCreated = (editor: IDomEditor) => {
+	editorRef.value = editor;
+};
+// 缂栬緫鍣ㄥ唴瀹规敼鍙樻椂
+const handleChange = (editor: IDomEditor) => {
+	emit('update:getHtml', editor.getHtml());
+	emit('update:getText', editor.getText());
+};
+// 椤甸潰閿�姣佹椂
+onBeforeUnmount(() => {
+	const editor = editorRef.value;
+	if (editor == null) return;
+	editor.destroy();
+});
+// 鐩戝惉鏄惁绂佺敤鏀瑰彉
+// https://gitee.com/lyt-top/vue-next-admin/issues/I4LM7I
+watch(
+	() => props.disable,
+	(bool) => {
+		const editor = editorRef.value;
+		if (editor == null) return;
+		bool ? editor.disable() : editor.enable();
+	},
+	{
+		deep: true,
+	}
+);
+// 鐩戝惉鍙屽悜缁戝畾鍊兼敼鍙橈紝鐢ㄤ簬鍥炴樉
+watch(
+	() => props.getHtml,
+	(val) => {
+		state.editorVal = val;
+	},
+	{
+		deep: true,
+	}
+);
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/components/iconSelector/index.vue b/LA24030_LuLiPackageLine_Web/src/components/iconSelector/index.vue
new file mode 100644
index 0000000..97b8370
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/iconSelector/index.vue
@@ -0,0 +1,212 @@
+<template>
+	<div class="icon-selector w100 h100">
+		<el-input v-model="state.fontIconSearch" :placeholder="state.fontIconPlaceholder" :clearable="clearable" :disabled="disabled" :size="size" ref="inputWidthRef" @clear="onClearFontIcon">
+			<template #prepend>
+				<SvgIcon
+					:name="state.fontIconPrefix === '' ? prepend : state.fontIconPrefix"
+					class="font14"
+					v-if="state.fontIconPrefix === '' ? prepend?.indexOf('ele-') > -1 : state.fontIconPrefix?.indexOf('ele-') > -1"
+				/>
+				<i v-else :class="state.fontIconPrefix === '' ? prepend : state.fontIconPrefix" class="font14"></i>
+			</template>
+		</el-input>
+		<el-popover placement="bottom" :width="state.fontIconWidth" transition="el-zoom-in-top" popper-class="icon-selector-popper" trigger="click" :virtual-ref="inputWidthRef" virtual-triggering>
+			<template #default>
+				<div class="icon-selector-warp">
+					<div class="icon-selector-warp-title">{{ title }}</div>
+					<el-tabs v-model="state.fontIconTabActive" @tab-click="onIconClick">
+						<el-tab-pane lazy label="ali" name="ali">
+							<IconList :list="fontIconSheetsFilterList" :empty="emptyDescription" :prefix="state.fontIconPrefix" @get-icon="onColClick" />
+						</el-tab-pane>
+						<el-tab-pane lazy label="ele" name="ele">
+							<IconList :list="fontIconSheetsFilterList" :empty="emptyDescription" :prefix="state.fontIconPrefix" @get-icon="onColClick" />
+						</el-tab-pane>
+						<el-tab-pane lazy label="awe" name="awe">
+							<IconList :list="fontIconSheetsFilterList" :empty="emptyDescription" :prefix="state.fontIconPrefix" @get-icon="onColClick" />
+						</el-tab-pane>
+					</el-tabs>
+				</div>
+			</template>
+		</el-popover>
+	</div>
+</template>
+
+<script setup lang="ts" name="iconSelector">
+import { defineAsyncComponent, ref, reactive, onMounted, nextTick, computed, watch } from 'vue';
+import type { TabsPaneContext } from 'element-plus';
+import initIconfont from '/@/utils/getStyleSheets';
+import '/@/theme/iconSelector.scss';
+
+// 瀹氫箟鐖剁粍浠朵紶杩囨潵鐨勫��
+const props = defineProps({
+	// 杈撳叆妗嗗墠缃唴瀹�
+	prepend: {
+		type: String,
+		default: () => 'ele-Pointer',
+	},
+	// 杈撳叆妗嗗崰浣嶆枃鏈�
+	placeholder: {
+		type: String,
+		default: () => '璇疯緭鍏ュ唴瀹规悳绱㈠浘鏍囨垨鑰呴�夋嫨鍥炬爣',
+	},
+	// 杈撳叆妗嗗崰浣嶆枃鏈�
+	size: {
+		type: String,
+		default: () => 'default',
+	},
+	// 寮圭獥鏍囬
+	title: {
+		type: String,
+		default: () => '璇烽�夋嫨鍥炬爣',
+	},
+	// 绂佺敤
+	disabled: {
+		type: Boolean,
+		default: () => false,
+	},
+	// 鏄惁鍙竻绌�
+	clearable: {
+		type: Boolean,
+		default: () => true,
+	},
+	// 鑷畾涔夌┖鐘舵�佹弿杩版枃瀛�
+	emptyDescription: {
+		type: String,
+		default: () => '鏃犵浉鍏冲浘鏍�',
+	},
+	// 鍙屽悜缁戝畾鍊硷紝榛樿涓� modelValue锛�
+	// 鍙傝�冿細https://v3.cn.vuejs.org/guide/migration/v-model.html#%E8%BF%81%E7%A7%BB%E7%AD%96%E7%95%A5
+	// 鍙傝�冿細https://v3.cn.vuejs.org/guide/component-custom-events.html#%E5%A4%9A%E4%B8%AA-v-model-%E7%BB%91%E5%AE%9A
+	modelValue: String,
+});
+
+// 瀹氫箟瀛愮粍浠跺悜鐖剁粍浠朵紶鍊�/浜嬩欢
+const emit = defineEmits(['update:modelValue', 'get', 'clear']);
+
+// 寮曞叆缁勪欢
+const IconList = defineAsyncComponent(() => import('/@/components/iconSelector/list.vue'));
+
+// 瀹氫箟鍙橀噺鍐呭
+const inputWidthRef = ref();
+const state = reactive({
+	fontIconPrefix: '',
+	fontIconWidth: 0,
+	fontIconSearch: '',
+	fontIconPlaceholder: '',
+	fontIconTabActive: 'ali',
+	fontIconList: {
+		ali: [],
+		ele: [],
+		awe: [],
+	},
+});
+
+// 鍥炬爣鎼滅储鍙婂浘鏍囨暟鎹樉绀�
+const fontIconSheetsFilterList = computed(() => {
+	const list = fontIconTabNameList();
+	if (!state.fontIconSearch) return list;
+	let search = state.fontIconSearch.trim().toLowerCase();
+	return list.filter((item: string) => {
+		if (item.toLowerCase().indexOf(search) !== -1) return item;
+	});
+});
+// 鏍规嵁 tab name 绫诲瀷璁剧疆鍥炬爣
+const fontIconTabNameList = () => {
+	let iconList: any = [];
+	if (state.fontIconTabActive === 'ali') iconList = state.fontIconList.ali;
+	else if (state.fontIconTabActive === 'ele') iconList = state.fontIconList.ele;
+	else if (state.fontIconTabActive === 'awe') iconList = state.fontIconList.awe;
+	return iconList;
+};
+// 澶勭悊 icon 鍙屽悜缁戝畾鏁板�煎洖鏄�
+const initModeValueEcho = () => {
+	if (props.modelValue === '') return ((<string | undefined>state.fontIconPlaceholder) = props.placeholder);
+	(<string | undefined>state.fontIconPlaceholder) = props.modelValue;
+	(<string | undefined>state.fontIconPrefix) = props.modelValue;
+};
+// 澶勭悊 icon 绫诲瀷锛岀敤浜庡洖鏄炬椂锛宼ab 楂樹寒涓庡垵濮嬪寲鏁版嵁
+const initFontIconName = () => {
+	let name = 'ali';
+	if (props.modelValue == undefined) name = 'ele';
+	else if (props.modelValue!.indexOf('iconfont') > -1) name = 'ali';
+	else if (props.modelValue!.indexOf('ele-') > -1) name = 'ele';
+	else if (props.modelValue!.indexOf('fa') > -1) name = 'awe';
+	// 鍒濆鍖� tab 楂樹寒鍥炴樉
+	state.fontIconTabActive = name;
+	return name;
+};
+// 鍒濆鍖栨暟鎹�
+const initFontIconData = async (name: string) => {
+	if (name === 'ali') {
+		// 闃块噷瀛椾綋鍥炬爣浣跨敤 `iconfont xxx`
+		if (state.fontIconList.ali.length > 0) return;
+		await initIconfont.ali().then((res: any) => {
+			state.fontIconList.ali = res.map((i: string) => `iconfont ${i}`);
+		});
+	} else if (name === 'ele') {
+		// element plus 鍥炬爣
+		if (state.fontIconList.ele.length > 0) return;
+		await initIconfont.ele().then((res: any) => {
+			state.fontIconList.ele = res;
+		});
+	} else if (name === 'awe') {
+		// fontawesome瀛椾綋鍥炬爣浣跨敤 `fa xxx`
+		if (state.fontIconList.awe.length > 0) return;
+		await initIconfont.awe().then((res: any) => {
+			state.fontIconList.awe = res.map((i: string) => `fa ${i}`);
+		});
+	}
+	// 鍒濆鍖� input 鐨� placeholder
+	// 鍙傝�冿紙鍗曢」鏁版嵁娴侊級锛歨ttps://cn.vuejs.org/v2/guide/components-props.html?#%E5%8D%95%E5%90%91%E6%95%B0%E6%8D%AE%E6%B5%81
+	state.fontIconPlaceholder = props.placeholder;
+	// 鍒濆鍖栧弻鍚戠粦瀹氬洖鏄�
+	initModeValueEcho();
+};
+// 鍥炬爣鐐瑰嚮鍒囨崲
+const onIconClick = (pane: TabsPaneContext) => {
+	initFontIconData(pane.paneName as string);
+	inputWidthRef.value.focus();
+};
+// 鑾峰彇褰撳墠鐐瑰嚮鐨� icon 鍥炬爣
+const onColClick = (v: string) => {
+	state.fontIconPlaceholder = v;
+	state.fontIconPrefix = v;
+	emit('get', state.fontIconPrefix);
+	emit('update:modelValue', state.fontIconPrefix);
+	inputWidthRef.value.focus();
+};
+// 娓呯┖褰撳墠鐐瑰嚮鐨� icon 鍥炬爣
+const onClearFontIcon = () => {
+	state.fontIconPrefix = '';
+	emit('clear', state.fontIconPrefix);
+	emit('update:modelValue', state.fontIconPrefix);
+};
+// 鑾峰彇 input 鐨勫搴�
+const getInputWidth = () => {
+	nextTick(() => {
+		state.fontIconWidth = inputWidthRef.value.$el.offsetWidth;
+	});
+};
+// 鐩戝惉椤甸潰瀹藉害鏀瑰彉
+const initResize = () => {
+	window.addEventListener('resize', () => {
+		getInputWidth();
+	});
+};
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	initFontIconData(initFontIconName());
+	initResize();
+	getInputWidth();
+});
+// 鐩戝惉鍙屽悜缁戝畾 modelValue 鐨勫彉鍖�
+watch(
+	() => props.modelValue,
+	() => {
+		state.fontIconSearch = '';
+		initModeValueEcho();
+		initFontIconName();
+		getInputWidth();
+	}
+);
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/components/iconSelector/list.vue b/LA24030_LuLiPackageLine_Web/src/components/iconSelector/list.vue
new file mode 100644
index 0000000..8bf837b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/iconSelector/list.vue
@@ -0,0 +1,84 @@
+<template>
+	<div class="icon-selector-warp-row">
+		<el-scrollbar ref="selectorScrollbarRef">
+			<el-row :gutter="10" v-if="props.list.length > 0">
+				<el-col :xs="6" :sm="4" :md="4" :lg="4" :xl="4" v-for="(v, k) in list" :key="k" @click="onColClick(v)">
+					<div class="icon-selector-warp-item" :class="{ 'icon-selector-active': prefix === v }">
+						<SvgIcon :name="v" />
+					</div>
+				</el-col>
+			</el-row>
+			<el-empty :image-size="100" v-if="list.length <= 0" :description="empty"></el-empty>
+		</el-scrollbar>
+	</div>
+</template>
+
+<script setup lang="ts" name="iconSelectorList">
+// 瀹氫箟鐖剁粍浠朵紶杩囨潵鐨勫��
+const props = defineProps({
+	// 鍥炬爣鍒楄〃鏁版嵁
+	list: {
+		type: Array,
+		default: () => [],
+	},
+	// 鑷畾涔夌┖鐘舵�佹弿杩版枃瀛�
+	empty: {
+		type: String,
+		default: () => '鏃犵浉鍏冲浘鏍�',
+	},
+	// 楂樹寒褰撳墠閫変腑鍥炬爣
+	prefix: {
+		type: String,
+		default: () => '',
+	},
+});
+
+// 瀹氫箟瀛愮粍浠跺悜鐖剁粍浠朵紶鍊�/浜嬩欢
+const emit = defineEmits(['get-icon']);
+
+// 褰撳墠 icon 鍥炬爣鐐瑰嚮鏃�
+const onColClick = (v: unknown | string) => {
+	emit('get-icon', v);
+};
+</script>
+
+<style scoped lang="scss">
+.icon-selector-warp-row {
+	height: 230px;
+	overflow: hidden;
+	.el-row {
+		padding: 15px;
+	}
+	.el-scrollbar__bar.is-horizontal {
+		display: none;
+	}
+	.icon-selector-warp-item {
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		border: 1px solid var(--el-border-color);
+		border-radius: 5px;
+		margin-bottom: 10px;
+		height: 30px;
+		i {
+			font-size: 20px;
+			color: var(--el-text-color-regular);
+		}
+		&:hover {
+			cursor: pointer;
+			background-color: var(--el-color-primary-light-9);
+			border: 1px solid var(--el-color-primary-light-5);
+			i {
+				color: var(--el-color-primary);
+			}
+		}
+	}
+	.icon-selector-active {
+		background-color: var(--el-color-primary-light-9);
+		border: 1px solid var(--el-color-primary-light-5);
+		i {
+			color: var(--el-color-primary);
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/components/importExcel/index.vue b/LA24030_LuLiPackageLine_Web/src/components/importExcel/index.vue
new file mode 100644
index 0000000..059e98e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/importExcel/index.vue
@@ -0,0 +1,131 @@
+<template>
+	<div class="testStudent-container" >
+		
+		<el-dialog v-model="isShowDialog"  :width="800" draggable="" :close-on-click-modal="false"  :show-close="false">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-UploadFilled /> </el-icon>
+					<span> {{title}} </span>
+				</div>
+			</template>
+			<div>
+				<el-upload ref="uploadRef" v-loading="state.loading" drag :auto-upload="false" :limit="1" :file-list="state.fileList" action="" :on-change="handleChange" accept=".xlsx">
+					<el-icon class="el-icon--upload">
+						<ele-UploadFilled />
+					</el-icon>
+					<div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
+					<template #tip>
+						<div class="el-upload__tip">璇蜂笂浼犲ぇ灏忎笉瓒呰繃 10MB 鐨勬枃浠�</div>
+					</template>
+				</el-upload>
+				<span>銆�</span>
+        <el-button style="width: 90px;text-align: left;" type="warning" @click="downFile" link>涓嬭浇瀵煎叆妯℃澘</el-button>锛屽~鍐欏苟涓婁紶
+        <span>銆�</span>
+			</div>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="closeDialog" :disabled="disable_confiom">鍙栨秷</el-button>
+					<el-button type="primary" @click="uploadFile" :disabled="disable_confiom">纭畾</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,reactive   } from "vue";
+	import { ElMessage } from "element-plus";
+	import { downloadFile } from '/@/utils/download2';
+
+	const state = reactive({
+	loading: false,
+	fileList: [] as any
+});
+
+    const disable_confiom=ref<bool>(false);
+	const uploadRef = ref();
+	const getEnumGenderData = ref<any>([]);
+	const getEnumOtherGenderData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["parentUploadFun","parentDownFun"]);
+	const isShowDialog = ref(false);
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async () => {
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		isShowDialog.value = false;
+		clearData();
+	};
+
+	// 涓嬭浇瀵煎叆妯℃澘
+    const downFile = async () => {
+	//璋冪敤鐖剁骇椤甸潰鏂规硶
+	await emit("parentDownFun");
+    };
+
+    // 娓呯┖鏁版嵁
+	const clearData = () =>{
+	  state.fileList.value = [];
+	  uploadRef.value.clearFiles();//娓呯┖宸蹭笂浼犵殑鏂囦欢鍒楄〃
+	};
+
+   // 閫氳繃onChanne鏂规硶鑾峰緱鏂囦欢鍒楄〃
+   const handleChange = (file: any, fileList: []) => {
+	 state.fileList = fileList;
+    };
+
+	// 涓婁紶
+    const uploadFile = async () => {
+	if (state.fileList.length < 1) {
+		ElMessage.warning('璇蜂笂浼犳枃浠�!');
+		return;
+	};
+    disable_confiom.value=true;
+	state.loading = true;
+	//璋冪敤鐖剁骇椤甸潰鏂规硶
+	//debugger
+	const formData = new FormData()
+    formData.append('file',state.fileList[0].raw)
+	await emit("parentUploadFun",formData);
+   };
+   //鐖剁骇椤甸潰鍥炶皟涓婁紶鏂囦欢
+   const callBackUploadFun=(result:any)=>{
+	if(result.type=="success"){
+      ElMessage.success('涓婁紶鎴愬姛');
+	  isShowDialog.value = false;
+	  clearData();
+     }else{
+		//澶辫触涓嶇敤鑷繁鍐欐彁绀猴紝妗嗘灦鑷姩鍐�
+		//ElMessage.error('涓婁紶澶辫触:'+result.message);
+     }
+	state.loading = false;
+	disable_confiom.value=false;
+   };
+   //鐖剁骇椤甸潰鍥炶皟涓嬭浇妯℃澘鏂囦欢
+   const callBackDownFun=(result:any)=>{
+	downloadFile(result);
+   }
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog,callBackUploadFun,callBackDownFun });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/components/noticeBar/index.vue b/LA24030_LuLiPackageLine_Web/src/components/noticeBar/index.vue
new file mode 100644
index 0000000..8198bce
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/noticeBar/index.vue
@@ -0,0 +1,191 @@
+<template>
+	<div class="notice-bar" :style="{ background, height: `${height}px` }" v-show="!state.isMode">
+		<div class="notice-bar-warp" :style="{ color, fontSize: `${size}px` }">
+			<i v-if="leftIcon" class="notice-bar-warp-left-icon" :class="leftIcon"></i>
+			<div class="notice-bar-warp-text-box" ref="noticeBarWarpRef">
+				<div class="notice-bar-warp-text" ref="noticeBarTextRef" v-if="!scrollable">{{ text }}</div>
+				<div class="notice-bar-warp-slot" v-else><slot /></div>
+			</div>
+			<SvgIcon :name="rightIcon" v-if="rightIcon" class="notice-bar-warp-right-icon" @click="onRightIconClick" />
+		</div>
+	</div>
+</template>
+
+<script setup lang="ts" name="noticeBar">
+import { reactive, ref, onMounted, nextTick } from 'vue';
+
+// 瀹氫箟鐖剁粍浠朵紶杩囨潵鐨勫��
+const props = defineProps({
+	// 閫氱煡鏍忔ā寮忥紝鍙�夊�间负 closeable link
+	mode: {
+		type: String,
+		default: () => '',
+	},
+	// 閫氱煡鏂囨湰鍐呭
+	text: {
+		type: String,
+		default: () => '',
+	},
+	// 閫氱煡鏂囨湰棰滆壊
+	color: {
+		type: String,
+		default: () => 'var(--el-color-warning)',
+	},
+	// 閫氱煡鑳屾櫙鑹�
+	background: {
+		type: String,
+		default: () => 'var(--el-color-warning-light-9)',
+	},
+	// 瀛椾綋澶у皬锛屽崟浣峱x
+	size: {
+		type: [Number, String],
+		default: () => 14,
+	},
+	// 閫氱煡鏍忛珮搴︼紝鍗曚綅px
+	height: {
+		type: Number,
+		default: () => 40,
+	},
+	// 鍔ㄧ敾寤惰繜鏃堕棿 (s)
+	delay: {
+		type: Number,
+		default: () => 1,
+	},
+	// 婊氬姩閫熺巼 (px/s)
+	speed: {
+		type: Number,
+		default: () => 100,
+	},
+	// 鏄惁寮�鍚瀭鐩存粴鍔�
+	scrollable: {
+		type: Boolean,
+		default: () => false,
+	},
+	// 鑷畾涔夊乏渚у浘鏍�
+	leftIcon: {
+		type: String,
+		default: () => '',
+	},
+	// 鑷畾涔夊彸渚у浘鏍�
+	rightIcon: {
+		type: String,
+		default: () => '',
+	},
+});
+
+// 瀹氫箟瀛愮粍浠跺悜鐖剁粍浠朵紶鍊�/浜嬩欢
+const emit = defineEmits(['close', 'link']);
+
+// 瀹氫箟鍙橀噺鍐呭
+const noticeBarWarpRef = ref();
+const noticeBarTextRef = ref();
+const state = reactive({
+	order: 1,
+	oneTime: 0,
+	twoTime: 0,
+	warpOWidth: 0,
+	textOWidth: 0,
+	isMode: false,
+});
+
+// 鍒濆鍖� animation 鍚勯」鍙傛暟
+const initAnimation = () => {
+	nextTick(() => {
+		state.warpOWidth = noticeBarWarpRef.value.offsetWidth;
+		state.textOWidth = noticeBarTextRef.value.offsetWidth;
+		document.styleSheets[0].insertRule(`@keyframes oneAnimation {0% {left: 0px;} 100% {left: -${state.textOWidth}px;}}`);
+		document.styleSheets[0].insertRule(`@keyframes twoAnimation {0% {left: ${state.warpOWidth}px;} 100% {left: -${state.textOWidth}px;}}`);
+		computeAnimationTime();
+		setTimeout(() => {
+			changeAnimation();
+		}, props.delay * 1000);
+	});
+};
+// 璁$畻 animation 婊氬姩鏃堕暱
+const computeAnimationTime = () => {
+	state.oneTime = state.textOWidth / props.speed;
+	state.twoTime = (state.textOWidth + state.warpOWidth) / props.speed;
+};
+// 鏀瑰彉 animation 鍔ㄧ敾璋冪敤
+const changeAnimation = () => {
+	if (state.order === 1) {
+		noticeBarTextRef.value.style.cssText = `animation: oneAnimation ${state.oneTime}s linear; opactity: 1;}`;
+		state.order = 2;
+	} else {
+		noticeBarTextRef.value.style.cssText = `animation: twoAnimation ${state.twoTime}s linear infinite; opacity: 1;`;
+	}
+};
+// 鐩戝惉 animation 鍔ㄧ敾鐨勭粨鏉�
+const listenerAnimationend = () => {
+	noticeBarTextRef.value.addEventListener(
+		'animationend',
+		() => {
+			changeAnimation();
+		},
+		false
+	);
+};
+// 鍙充晶 icon 鍥炬爣鐐瑰嚮
+const onRightIconClick = () => {
+	if (!props.mode) return false;
+	if (props.mode === 'closeable') {
+		state.isMode = true;
+		emit('close');
+	} else if (props.mode === 'link') {
+		emit('link');
+	}
+};
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	if (props.scrollable) return false;
+	initAnimation();
+	listenerAnimationend();
+});
+</script>
+
+<style scoped lang="scss">
+.notice-bar {
+	padding: 0 15px;
+	width: 100%;
+	border-radius: 4px;
+	.notice-bar-warp {
+		display: flex;
+		align-items: center;
+		width: 100%;
+		height: inherit;
+		.notice-bar-warp-text-box {
+			flex: 1;
+			height: inherit;
+			display: flex;
+			align-items: center;
+			overflow: hidden;
+			position: relative;
+			.notice-bar-warp-text {
+				white-space: nowrap;
+				position: absolute;
+				left: 0;
+			}
+			.notice-bar-warp-slot {
+				width: 100%;
+				white-space: nowrap;
+				:deep(.el-carousel__item) {
+					display: flex;
+					align-items: center;
+				}
+			}
+		}
+		.notice-bar-warp-left-icon {
+			width: 24px;
+			font-size: inherit !important;
+		}
+		.notice-bar-warp-right-icon {
+			width: 24px;
+			text-align: right;
+			font-size: inherit !important;
+			&:hover {
+				cursor: pointer;
+			}
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/components/openDetails/openDetails.vue b/LA24030_LuLiPackageLine_Web/src/components/openDetails/openDetails.vue
new file mode 100644
index 0000000..6ccb0dd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/openDetails/openDetails.vue
@@ -0,0 +1,56 @@
+<template>
+   <div class="detailBox">
+      <ul>
+        <li v-for="(item,index) in sourceEnum" :key="index" v-show="titleP[index] !='闄勪欢'" > 
+          {{ titleP[index] }} :  {{ warehousOrderDetails[item] }} 
+        </li>
+      </ul>
+    </div>
+</template>
+<script lang="ts" setup>
+import { reactive, ref, defineExpose, defineEmits, nextTick, computed } from 'vue'
+const emits = defineEmits(['getTabelData'])
+let titleP:any = ref('')
+const sourceEnum:any = ref([]);
+const warehousOrderDetails = ref<any[]>([]);
+const openADialog = (param?: any, item?: any) => {
+   if(param.freeOrderType){ //鍔犱笂鍏嶈垂浠剁殑鍗曟嵁绫诲瀷 eg:PR2
+    item.freeOrderType = "鍏嶈垂浠剁被鍨�";
+  }
+  // console.log(param) // {client:"123" }
+  // console.log(item) // {client:"瀹㈡埛浠g爜" }
+  titleP.value = Object.values(item);//["鍗曞彿" , "鍙栬揣鐘舵��"]
+  // console.log(titleP.value) 
+  sourceEnum.value = Object.keys(item);//["orderNo" , "orderStatus"]
+  warehousOrderDetails.value = JSON.parse(JSON.stringify(param));
+}
+// 鏆撮湶鏂规硶
+defineExpose({ openADialog });
+
+</script>
+<style lang="less" scoped>
+.tipsWp {
+  margin: o auto;
+  margin-top: 3%;
+  margin-bottom: 3%;
+  display: block;
+  text-align: center;
+}
+.detailBox{
+  display: block;
+  border-bottom: 1px solid gainsboro;
+  padding-bottom: 10px;
+  ul{
+    margin: 0;
+    padding: 0;
+    li{
+      display: inline-block;
+      line-height: 30px;
+      text-align: left;
+      list-style-type: none;
+      width: 25%;
+      word-wrap: break-word;
+    }
+  }
+}
+</style>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/components/svgIcon/index.vue b/LA24030_LuLiPackageLine_Web/src/components/svgIcon/index.vue
new file mode 100644
index 0000000..e0140cf
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/svgIcon/index.vue
@@ -0,0 +1,63 @@
+<template>
+	<i v-if="isShowIconSvg" class="el-icon" :style="setIconSvgStyle">
+		<component :is="getIconName" />
+	</i>
+	<div v-else-if="isShowIconImg" :style="setIconImgOutStyle">
+		<img :src="getIconName" :style="setIconSvgInsStyle" />
+	</div>
+	<i v-else :class="getIconName" :style="setIconSvgStyle" />
+</template>
+
+<script setup lang="ts" name="svgIcon">
+import { computed } from 'vue';
+
+// 瀹氫箟鐖剁粍浠朵紶杩囨潵鐨勫��
+const props = defineProps({
+	// svg 鍥炬爣缁勪欢鍚嶅瓧
+	name: {
+		type: String,
+	},
+	// svg 澶у皬
+	size: {
+		type: Number,
+		default: () => 14,
+	},
+	// svg 棰滆壊
+	color: {
+		type: String,
+	},
+});
+
+// 鍦ㄧ嚎閾炬帴銆佹湰鍦板紩鍏ュ湴鍧�鍓嶇紑
+// https://gitee.com/lyt-top/vue-next-admin/issues/I62OVL
+const linesString = ['https', 'http', '/src', '/assets', 'data:image', window.__env__.VITE_PUBLIC_PATH];
+
+// 鑾峰彇 icon 鍥炬爣鍚嶇О
+const getIconName = computed(() => {
+	return props?.name;
+});
+// 鐢ㄤ簬鍒ゆ柇 element plus 鑷甫 svg 鍥炬爣鐨勬樉绀恒�侀殣钘�
+const isShowIconSvg = computed(() => {
+	return props?.name?.startsWith('ele-');
+});
+// 鐢ㄤ簬鍒ゆ柇鍦ㄧ嚎閾炬帴銆佹湰鍦板紩鍏ョ瓑鍥炬爣鏄剧ず銆侀殣钘�
+const isShowIconImg = computed(() => {
+	return linesString.find((str) => props.name?.startsWith(str));
+});
+// 璁剧疆鍥炬爣鏍峰紡
+const setIconSvgStyle = computed(() => {
+	return `font-size: ${props.size}px;color: ${props.color};`;
+});
+// 璁剧疆鍥剧墖鏍峰紡
+const setIconImgOutStyle = computed(() => {
+	return `width: ${props.size}px;height: ${props.size}px;display: inline-block;overflow: hidden;`;
+});
+// 璁剧疆鍥剧墖鏍峰紡
+// https://gitee.com/lyt-top/vue-next-admin/issues/I59ND0
+const setIconSvgInsStyle = computed(() => {
+	const filterStyle: string[] = [];
+	const compatibles: string[] = ['-webkit', '-ms', '-o', '-moz'];
+	compatibles.forEach((j) => filterStyle.push(`${j}-filter: drop-shadow(${props.color} ${props.size}px 0);`));
+	return `width: ${props.size}px;height: ${props.size}px;position: relative;left: -${props.size}px;${filterStyle.join('')}`;
+});
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/components/table/formatter.vue b/LA24030_LuLiPackageLine_Web/src/components/table/formatter.vue
new file mode 100644
index 0000000..9caf440
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/table/formatter.vue
@@ -0,0 +1,23 @@
+<template>
+	<!-- 灏唕ender鍑芥暟鍙橀噺鍐欏湪temolate鏍囩涓� -->
+	<render></render>
+</template>
+
+<script lang="ts" setup>
+import { ref, watch, h } from 'vue';
+// 瀹氫箟鐖剁粍浠朵紶杩囨潵鐨勫��
+const props = defineProps<{
+	fn: any;
+}>();
+const render = ref();
+watch(
+	props,
+	async () => {
+		render.value = h('div', null, props.fn);
+	},
+	{
+		deep: true, //纭鏄惁娣卞叆鐩戝惉
+		immediate: true, //纭鏄惁浠ュ綋鍓嶇殑鍒濆鍊兼墽琛宧andler鐨勫嚱鏁�
+	}
+);
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/components/table/index.vue b/LA24030_LuLiPackageLine_Web/src/components/table/index.vue
new file mode 100644
index 0000000..513b832
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/table/index.vue
@@ -0,0 +1,477 @@
+<template>
+	<div class="table-container">
+		<div class="table-header mb15">
+			<div>
+				<slot name="command"></slot>
+			</div>
+			<div v-loading="state.importLoading" class="table-footer-tool">
+				<SvgIcon v-if="!config.hideRefresh" name="iconfont icon-shuaxin" :size="22" title="鍒锋柊" @click="onRefreshTable" />
+				<el-dropdown v-if="!config.hideExport" trigger="click">
+					<SvgIcon name="iconfont icon-yunxiazai_o" :size="22" title="瀵煎嚭" />
+					<template #dropdown>
+						<el-dropdown-menu>
+							<el-dropdown-item @click="onImportTable">瀵煎嚭鏈〉鏁版嵁</el-dropdown-item>
+							<el-dropdown-item @click="onImportTableAll">瀵煎嚭鍏ㄩ儴鏁版嵁</el-dropdown-item>
+						</el-dropdown-menu>
+					</template>
+				</el-dropdown>
+				<SvgIcon v-if="!config.hidePrint" name="iconfont icon-dayin" :size="19" title="鎵撳嵃" @click="onPrintTable" />
+				<el-popover v-if="!config.hideSet" placement="bottom-end" trigger="click" transition="el-zoom-in-top" popper-class="table-tool-popper" :width="300" :persistent="false" @show="onSetTable">
+					<template #reference>
+						<SvgIcon name="iconfont icon-quanjushezhi_o" :size="22" title="璁剧疆" />
+					</template>
+					<template #default>
+						<div class="tool-box">
+							<el-tooltip content="鎷栧姩杩涜鎺掑簭" placement="top-start">
+								<SvgIcon name="fa fa-question-circle-o" :size="17" class="ml11" color="#909399" />
+							</el-tooltip>
+							<el-checkbox v-model="state.checkListAll" :indeterminate="state.checkListIndeterminate" class="ml10 mr1" label="鍒楁樉绀�" @change="onCheckAllChange" />
+							<el-checkbox v-model="getConfig.isSerialNo" class="ml12 mr1" label="搴忓彿" />
+							<el-checkbox v-if="getConfig.showSelection" v-model="getConfig.isSelection" class="ml12 mr1" label="澶氶��" />
+						</div>
+						<el-scrollbar>
+							<div ref="toolSetRef" class="tool-sortable">
+								<div class="tool-sortable-item" v-for="v in columns" :key="v.prop" v-show="!v.hideCheck && !v.fixed" :data-key="v.prop">
+									<i class="fa fa-arrows-alt handle cursor-pointer"></i>
+									<el-checkbox v-model="v.isCheck" size="default" class="ml12 mr8" :label="v.label" @change="onCheckChange" />
+								</div>
+							</div>
+						</el-scrollbar>
+					</template>
+				</el-popover>
+			</div>
+		</div>
+		<el-table
+			ref="tableRef"
+			:data="state.data"
+			:border="setBorder"
+			:stripe="setStripe"
+			v-bind="$attrs"
+			row-key="id"
+			default-expand-all
+			style="width: 100%"
+			v-loading="state.loading"
+			:default-sort="defaultSort"
+			@selection-change="onSelectionChange"
+			@sort-change="sortChange"
+		>
+			<el-table-column type="selection" :reserve-selection="true" :width="30" v-if="config.isSelection && config.showSelection" />
+			<el-table-column type="index" label="搴忓彿" align="center" :width="60" v-if="config.isSerialNo" />
+			<el-table-column v-for="(item, index) in setHeader" :key="index" v-bind="item">
+				<!-- 鑷畾涔夊垪鎻掓Ы锛屾彃妲藉悕涓篶olumns灞炴�х殑prop -->
+				<template #default="scope" v-if="!item.children && $slots[item.prop]">
+					<formatter v-if="item.formatter" :fn="item.formatter(scope.row, scope.column, scope.cellValue, scope.index)"> </formatter>
+					<slot v-else :name="item.prop" v-bind="scope"></slot>
+				</template>
+				<template v-else-if="!item.children" v-slot="scope">
+					<formatter v-if="item.formatter" :fn="item.formatter(scope.row, scope.column, scope.cellValue, scope.index)"> </formatter>
+					<!-- <span v-if="item.formatter">{{ item.formatter(scope.row,scope.column,scope.cellValue,scope.index)  }}</span> -->
+					<template v-else-if="item.type === 'image'">
+						<el-image
+							:style="{ width: `${item.width}px`, height: `${item.height}px` }"
+							:src="scope.row[item.prop]"
+							:zoom-rate="1.2"
+							:preview-src-list="[scope.row[item.prop]]"
+							preview-teleported
+							fit="cover"
+						/>
+					</template>
+					<template v-else>
+						{{ getProperty(scope.row, item.prop) }}
+					</template>
+				</template>
+				<el-table-column v-for="(childrenItem, childrenIndex) in item.children" :key="childrenIndex" v-bind="childrenItem">
+					<!-- 鑷畾涔夊垪鎻掓Ы锛屾彃妲藉悕涓篶olumns灞炴�х殑prop -->
+					<template #default="scope" v-if="$slots[childrenItem.prop]">
+						<formatter v-if="childrenItem.formatter" :fn="childrenItem.formatter(scope.row, scope.column, scope.cellValue, scope.index)"> </formatter>
+						<!-- <span v-if="childrenItem.formatter">{{ childrenItem.formatter(scope.row,scope.column,scope.cellValue,scope.index) }}</span> -->
+						<slot v-else :name="childrenItem.prop" v-bind="scope"></slot>
+					</template>
+					<template v-else v-slot="scope">
+						<formatter v-if="childrenItem.formatter" :fn="childrenItem.formatter(scope.row, scope.column, scope.cellValue, scope.index)"> </formatter>
+						<!-- <span v-if="childrenItem.formatter">{{ childrenItem.formatter(scope.row,scope.column,scope.cellValue,scope.index) }}</span> -->
+						<template v-else-if="childrenItem.type === 'image'">
+							<el-image
+								:style="{ width: `${childrenItem.width}px`, height: `${childrenItem.height}px` }"
+								:src="scope.row[childrenItem.prop]"
+								:zoom-rate="1.2"
+								:preview-src-list="[scope.row[childrenItem.prop]]"
+								preview-teleported
+								fit="cover"
+							/>
+						</template>
+						<template v-else>
+							{{ getProperty(scope.row, childrenItem.prop) }}
+						</template>
+					</template>
+				</el-table-column>
+			</el-table-column>
+			<template #empty>
+				<el-empty description="鏆傛棤鏁版嵁" />
+			</template>
+		</el-table>
+		<div v-if="!config.hidePagination && state.showPagination" class="table-footer mt15">
+			<el-pagination
+				v-model:current-page="state.page.page"
+				v-model:page-size="state.page.pageSize"
+				small
+				:pager-count="5"
+				:page-sizes="config.pageSizes"
+				:total="state.total"
+				layout="total, sizes, prev, pager, next, jumper"
+				background
+				@size-change="onHandleSizeChange"
+				@current-change="onHandleCurrentChange"
+			>
+			</el-pagination>
+		</div>
+	</div>
+</template>
+
+<script setup lang="ts" name="netxTable">
+import { reactive, computed, nextTick, ref, onMounted } from 'vue';
+import { ElMessage } from 'element-plus';
+import Sortable from 'sortablejs';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import { exportExcel } from '/@/utils/exportExcel';
+// import '/@/theme/tableTool.scss';
+import printJs from 'print-js';
+import formatter from '/@/components/table/formatter.vue';
+
+// 瀹氫箟鐖剁粍浠朵紶杩囨潵鐨勫��
+const props = defineProps({
+	// 鑾峰彇鏁版嵁鐨勬柟娉曪紝鐢辩埗缁勪欢浼犻��
+	getData: {
+		type: Function,
+		required: true,
+	},
+	// 鍒楀睘鎬э紝鍜宔lementUI鐨凾able-column 灞炴�х浉鍚岋紝闄勫姞灞炴�э細isCheck-鏄惁榛樿鍕鹃�夊睍绀猴紝hideCheck-鏄惁闅愯棌璇ュ垪鐨勫彲鍕鹃�夊拰鎷栨嫿
+	columns: {
+		type: Array<any>,
+		default: () => [],
+	},
+	// 閰嶇疆椤癸細isBorder-鏄惁鏄剧ず琛ㄦ牸杈规锛宨sSerialNo-鏄惁鏄剧ず琛ㄦ牸搴忓彿锛宻howSelection-鏄惁鏄剧ず琛ㄦ牸鍙閫夛紝isSelection-鏄惁榛樿閫変腑琛ㄦ牸澶氶�夛紝pageSize-姣忛〉鏉℃暟锛宧ideExport-鏄惁闅愯棌瀵煎嚭鎸夐挳锛宔xportFileName-瀵煎嚭琛ㄦ牸鐨勬枃浠跺悕锛岀┖鍊奸粯璁ょ敤搴旂敤鍚嶇О浣滀负鏂囦欢鍚�
+	config: {
+		type: Object,
+		default: () => ({}),
+	},
+	// 绛涢�夊弬鏁�
+	param: {
+		type: Object,
+		default: () => ({}),
+	},
+	// 榛樿鎺掑簭鏂瑰紡锛寋prop:"鎺掑簭瀛楁",order:"ascending or descending"}
+	defaultSort: {
+		type: Object,
+		default: () => ({}),
+	},
+	// 瀵煎嚭鎶ヨ〃鑷畾涔夋暟鎹浆鎹㈡柟娉曪紝涓嶄紶鎸夊瓧娈靛�煎鍑�
+	exportChangeData: {
+		type: Function,
+	},
+	// 鎵撳嵃鏍囬
+	printName: {
+		type: String,
+		default: () => '',
+	},
+});
+
+// 瀹氫箟瀛愮粍浠跺悜鐖剁粍浠朵紶鍊�/浜嬩欢锛宲ageChange-缈婚〉浜嬩欢锛宻electionChange-琛ㄦ牸澶氶�変簨浠讹紝鍙互鍦ㄧ埗缁勪欢澶勭悊鎵归噺鍒犻櫎/淇敼绛夊姛鑳斤紝sortHeader-鎷栨嫿鍒楅『搴忎簨浠�
+const emit = defineEmits(['pageChange', 'selectionChange', 'sortHeader']);
+
+// 瀹氫箟鍙橀噺鍐呭
+const toolSetRef = ref();
+const tableRef = ref();
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const state = reactive({
+	data: [] as Array<EmptyObjectType>,
+	loading: false,
+	exportLoading: false,
+	total: 0,
+	page: {
+		page: 1,
+		pageSize: 10,
+		field: '',
+		order: '',
+	},
+	showPagination: true,
+	selectlist: [] as EmptyObjectType[],
+	checkListAll: true,
+	checkListIndeterminate: false,
+});
+
+const getProperty = (obj, property) => {
+	const keys = property.split('.');
+	let value = obj;
+	for (const key of keys) {
+		value = value[key];
+	}
+	return value;
+};
+
+// 璁剧疆杈规鏄剧ず/闅愯棌
+const setBorder = computed(() => {
+	return props.config.isBorder ? true : false;
+});
+// 璁剧疆鏂戦┈绾规樉绀�/闅愯棌
+const setStripe = computed(() => {
+	return props.config.isStripe ? true : false;
+});
+// 鑾峰彇鐖剁粍浠� 閰嶇疆椤癸紙蹇呬紶锛�
+const getConfig = computed(() => {
+	return props.config;
+});
+// 璁剧疆 tool header 鏁版嵁
+const setHeader = computed(() => {
+	return props.columns.filter((v) => v.isCheck);
+});
+// tool 鍒楁樉绀哄叏閫夋敼鍙樻椂
+const onCheckAllChange = <T,>(val: T) => {
+	if (val) props.columns.forEach((v) => (v.isCheck = true));
+	else props.columns.forEach((v) => (v.isCheck = false));
+	state.checkListIndeterminate = false;
+};
+// tool 鍒楁樉绀哄綋鍓嶉」鏀瑰彉鏃�
+const onCheckChange = () => {
+	const headers = props.columns.filter((v) => v.isCheck).length;
+	state.checkListAll = headers === props.columns.length;
+	state.checkListIndeterminate = headers > 0 && headers < props.columns.length;
+};
+// 琛ㄦ牸澶氶�夋敼鍙樻椂
+const onSelectionChange = (val: EmptyObjectType[]) => {
+	state.selectlist = val;
+	emit('selectionChange', state.selectlist);
+};
+// 鍒嗛〉鏀瑰彉
+const onHandleSizeChange = (val: number) => {
+	state.page.pageSize = val;
+	handleList();
+	emit('pageChange', state.page);
+};
+// 鏀瑰彉褰撳墠椤�
+const onHandleCurrentChange = (val: number) => {
+	state.page.page = val;
+	handleList();
+	emit('pageChange', state.page);
+};
+// 鍒楁帓搴�
+const sortChange = (column: any) => {
+	state.page.field = column.prop;
+	state.page.order = column.order;
+	handleList();
+};
+// 閲嶇疆鍒楄〃
+const pageReset = () => {
+	tableRef.value.clearSelection();
+	state.page.page = 1;
+	handleList();
+};
+// 瀵煎嚭褰撳墠椤�
+const onImportTable = () => {
+	if (setHeader.value.length <= 0) return ElMessage.error('娌℃湁鍕鹃�夎瀵煎嚭鐨勫垪');
+	exportData(state.data);
+};
+// 鍏ㄩ儴瀵煎嚭
+const onImportTableAll = async () => {
+	if (setHeader.value.length <= 0) return ElMessage.error('娌℃湁鍕鹃�夎瀵煎嚭鐨勫垪');
+	state.exportLoading = true;
+	const param = Object.assign({}, props.param, { page: 1, pageSize: 9999999 });
+	const res = await props.getData(param);
+	state.exportLoading = false;
+	const data = res.result?.items ?? [];
+	exportData(data);
+};
+// 瀵煎嚭鏂规硶
+const exportData = (data: Array<EmptyObjectType>) => {
+	if (data.length <= 0) return ElMessage.error('娌℃湁鏁版嵁鍙互瀵煎嚭');
+	state.exportLoading = true;
+	let exportData = JSON.parse(JSON.stringify(data));
+	if (props.exportChangeData) {
+		exportData = props.exportChangeData(exportData);
+	}
+	exportExcel(
+		exportData,
+		`${props.config.exportFileName ? props.config.exportFileName : themeConfig.value.globalTitle}_${new Date().toLocaleString()}`,
+		setHeader.value.filter((item) => {
+			return item.type != 'action';
+		}),
+		'瀵煎嚭鏁版嵁'
+	);
+	state.exportLoading = false;
+};
+// 鎵撳嵃
+const onPrintTable = () => {
+	// https://printjs.crabbly.com/#documentation
+	// 鑷畾涔夋墦鍗�
+	let tableTh = '';
+	let tableTrTd = '';
+	let tableTd: any = {};
+	// 琛ㄥご
+	setHeader.value.forEach((v: any) => {
+		if (v.prop === 'action') {
+			return;
+		}
+		tableTh += `<th class="table-th">${v.label}</th>`;
+	});
+	// 琛ㄦ牸鍐呭
+	state.data.forEach((val: any, key: any) => {
+		if (!tableTd[key]) tableTd[key] = [];
+		setHeader.value.forEach((v: any) => {
+			if (v.prop === 'action') {
+				return;
+			}
+			if (v.type === 'text') {
+				tableTd[key].push(`<td class="table-th table-center">${val[v.prop]}</td>`);
+			} else if (v.type === 'image') {
+				tableTd[key].push(`<td class="table-th table-center"><img src="${val[v.prop]}" style="width:${v.width}px;height:${v.height}px;"/></td>`);
+			} else {
+				tableTd[key].push(`<td class="table-th table-center">${val[v.prop]}</td>`);
+			}
+		});
+		tableTrTd += `<tr>${tableTd[key].join('')}</tr>`;
+	});
+	// 鎵撳嵃
+	printJs({
+		printable: `<div style=display:flex;flex-direction:column;text-align:center><h3>${props.printName}</h3></div><table border=1 cellspacing=0><tr>${tableTh}${tableTrTd}</table>`,
+		type: 'raw-html',
+		css: ['//at.alicdn.com/t/c/font_2298093_rnp72ifj3ba.css', '//unpkg.com/element-plus/dist/index.css'],
+		style: `@media print{.mb15{margin-bottom:15px;}.el-button--small i.iconfont{font-size: 12px !important;margin-right: 5px;}}; .table-th{word-break: break-all;white-space: pre-wrap;}.table-center{text-align: center;}`,
+	});
+};
+// 鍒锋柊
+const onRefreshTable = () => {
+	handleList();
+	// emit('pageChange', state.page);
+};
+// 鎷栨嫿璁剧疆
+const onSetTable = () => {
+	nextTick(() => {
+		const sortable = Sortable.create(toolSetRef.value, {
+			handle: '.handle',
+			dataIdAttr: 'data-key',
+			animation: 150,
+			onEnd: () => {
+				const headerList: EmptyObjectType[] = [];
+				sortable.toArray().forEach((val: any) => {
+					props.columns.forEach((v) => {
+						if (v.prop === val) headerList.push({ ...v });
+					});
+				});
+				emit('sortHeader', headerList);
+			},
+		});
+	});
+};
+
+const handleList = async () => {
+	state.loading = true;
+	let param = Object.assign({}, props.param, { ...state.page });
+	// Object.keys(param).forEach((key) => !param[key] && delete param[key]);
+	Object.keys(param).forEach((key) => param[key] === undefined && delete param[key]);
+	const res = await props.getData(param);
+	state.loading = false;
+	if (res && res.result && res.result.items) {
+		state.showPagination = true;
+		state.data = res.result?.items ?? [];
+		state.total = res.result?.total ?? 0;
+	} else {
+		state.showPagination = false;
+		state.data = res && res.result ? res.result : [];
+	}
+};
+
+const toggleSelection = (row: any, statu?: boolean) => {
+	tableRef.value!.toggleRowSelection(row, statu);
+};
+
+const getTableData = () => {
+	return state.data;
+};
+
+const setTableData = (data: Array<EmptyObjectType>, add: boolean = false) => {
+	if (add) {
+		// 杩藉姞
+		//鍘婚噸
+		var repeat = false;
+		for (let newItem of data) {
+			repeat = false;
+			for (let item of state.data) {
+				if (newItem.id === item.id) {
+					repeat = true;
+					break;
+				}
+			}
+			if (!repeat) {
+				state.data.push(newItem);
+			}
+		}
+	} else {
+		state.data = data;
+	}
+};
+
+onMounted(() => {
+	if (props.defaultSort) {
+		state.page.field = props.defaultSort.prop;
+		state.page.order = props.defaultSort.order;
+	}
+	state.page.pageSize = props.config.pageSize;
+	handleList();
+});
+
+// 鏆撮湶鍙橀噺
+defineExpose({
+	pageReset,
+	handleList,
+	toggleSelection,
+	getTableData,
+	setTableData,
+});
+</script>
+
+<style scoped lang="scss">
+.table-container {
+	display: flex;
+	flex-direction: column;
+	height: 100%;
+
+	.el-table {
+		flex: 1;
+	}
+
+	.table-footer {
+		display: flex;
+		justify-content: flex-end;
+	}
+
+	.table-header {
+		display: flex;
+
+		.table-footer-tool {
+			flex: 1;
+			display: flex;
+			align-items: center;
+			justify-content: flex-end;
+
+			i {
+				margin-right: 10px;
+				cursor: pointer;
+				color: var(--el-text-color-regular);
+
+				&:last-of-type {
+					margin-right: 0;
+				}
+			}
+
+			.el-dropdown {
+				i {
+					margin-right: 10px;
+					color: var(--el-text-color-regular);
+				}
+			}
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/components/table/modifyRecord.vue b/LA24030_LuLiPackageLine_Web/src/components/table/modifyRecord.vue
new file mode 100644
index 0000000..62079ac
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/table/modifyRecord.vue
@@ -0,0 +1,57 @@
+<template>
+	<el-popover placement="bottom" width="280" trigger="hover">
+		<template #reference>
+			<el-text type="primary" class="cursor-default">
+				<el-icon><ele-InfoFilled /></el-icon>璇︽儏
+			</el-text>
+		</template>
+		<el-descriptions direction="vertical" :column="2" border>
+			<el-descriptions-item width="140">
+				<template #label>
+					<el-text>
+						<el-icon><ele-UserFilled /></el-icon>鍒涘缓鑰�
+					</el-text>
+				</template>
+				<el-tag>{{ props.data.createUserName ?? '鏃�' }}</el-tag>
+			</el-descriptions-item>
+			<el-descriptions-item>
+				<template #label>
+					<el-text>
+						<el-icon><ele-Calendar /></el-icon>鍒涘缓鏃堕棿
+					</el-text>
+				</template>
+				<el-tag>{{ props.data.createTime ?? '鏃�' }}</el-tag>
+			</el-descriptions-item>
+			<el-descriptions-item>
+				<template #label>
+					<el-text>
+						<el-icon><ele-UserFilled /></el-icon>淇敼鑰�
+					</el-text>
+				</template>
+				<el-tag>{{ props.data.updateUserName ?? '鏃�' }}</el-tag>
+			</el-descriptions-item>
+			<el-descriptions-item>
+				<template #label>
+					<el-text>
+						<el-icon><ele-Calendar /></el-icon>淇敼鏃堕棿
+					</el-text>
+				</template>
+				<el-tag>{{ props.data.updateTime ?? '鏃�' }}</el-tag>
+			</el-descriptions-item>
+			<el-descriptions-item>
+				<template #label>
+					<el-text>
+						<el-icon><ele-Tickets /></el-icon>澶囨敞
+					</el-text>
+				</template>
+				{{ props.data.remark ?? '鏃�' }}
+			</el-descriptions-item>
+		</el-descriptions>
+	</el-popover>
+</template>
+
+<script lang="ts" setup>
+const props = defineProps<{
+	data: ModifyRecord;
+}>();
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/components/table/search.vue b/LA24030_LuLiPackageLine_Web/src/components/table/search.vue
new file mode 100644
index 0000000..81ea346
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/components/table/search.vue
@@ -0,0 +1,182 @@
+<template>
+	<div class="table-search-container" v-if="props.search.length > 0">
+		<el-form ref="tableSearchRef" :model="searchModel" label-width="100px" class="table-form">
+			<el-row :gutter="20">
+				<!-- <el-col :xs="12" :sm="8" :md="8" :lg="6" :xl="4" class="mb20"></el-col> -->
+				<el-col :xs="12" :sm="5" :md="5" :lg="6" :xl="4" class="mb20" v-for="(val, key) in search" :key="key" v-show="key < 3 || state.isToggle">
+					<template v-if="val.type !== ''">
+						<el-form-item
+							label-width="auto"
+							:label="val.label"
+							:prop="val.prop"
+							:rules="[{ required: val.required, message: `${val.label}涓嶈兘涓虹┖`, trigger: val.type === 'input' ? 'blur' : 'change' }]"
+						>
+							<el-input
+								v-model="searchModel[val.prop]"
+								v-bind="val.comProps"
+								:placeholder="val.placeholder"
+								:clearable="!val.required"
+								v-if="val.type === 'input'"
+								@keyup.enter="onSearch(tableSearchRef)"
+								@change="val.change"
+								class="w100"
+							/>
+							<el-date-picker
+								v-model="searchModel[val.prop]"
+								v-bind="val.comProps"
+								type="date"
+								:placeholder="val.placeholder"
+								:clearable="!val.required"
+								v-else-if="val.type === 'date'"
+								@change="val.change"
+								class="w100"
+							/>
+							<el-date-picker
+								v-model="searchModel[val.prop]"
+								v-bind="val.comProps"
+								type="monthrange"
+								value-format="YYYY/MM/DD"
+								:placeholder="val.placeholder"
+								:clearable="!val.required"
+								v-else-if="val.type === 'monthrange'"
+								@change="val.change"
+								class="w100"
+							/>
+							<el-date-picker
+								v-model="searchModel[val.prop]"
+								v-bind="val.comProps"
+								type="daterange"
+								value-format="YYYY/MM/DD"
+								:placeholder="val.placeholder"
+								:clearable="!val.required"
+								v-else-if="val.type === 'daterange'"
+								@change="val.change"
+								class="w100"
+							/>
+							<el-select
+								v-model="searchModel[val.prop]"
+								v-bind="val.comProps"
+								:clearable="!val.required"
+								:placeholder="val.placeholder"
+								v-else-if="val.type === 'select'"
+								@change="val.change"
+								class="w100"
+							>
+								<el-option v-for="item in val.options" :key="item.value" :label="item.label" :value="item.value"> </el-option>
+							</el-select>
+							<el-cascader
+								v-else-if="val.type === 'cascader' && val.cascaderData"
+								:options="val.cascaderData"
+								:clearable="!val.required"
+								filterable
+								:props="val.cascaderProps ? val.cascaderProps : state.cascaderProps"
+								:placeholder="val.placeholder"
+								@change="val.change"
+								class="w100"
+								v-bind="val.comProps"
+								v-model="searchModel[val.prop]"
+							>
+							</el-cascader>
+						</el-form-item>
+					</template>
+				</el-col>
+				<el-col :xs="12" :sm="9" :md="9" :lg="6" :xl="4" class="mb20">
+					<el-form-item class="table-form-btn" label-width="auto">
+						<template #label>
+							<div v-if="search.length > 3">
+								<div class="table-form-btn-toggle" @click="state.isToggle = !state.isToggle">
+									<span>{{ state.isToggle ? '鏀惰捣' : '灞曞紑' }}</span>
+									<SvgIcon :name="state.isToggle ? 'ele-ArrowUp' : 'ele-ArrowDown'" />
+								</div>
+							</div>
+						</template>
+						<div>
+							<!-- 浣跨敤el-button-group浼氬鑷村叿鏈塼ype灞炴�х殑鎸夐挳鐨勫彸杈规鏃犳硶鏄剧ず -->
+							<!-- <el-button-group> -->
+							<el-button plain type="primary" icon="ele-Search" @click="onSearch(tableSearchRef)"> 鏌ヨ </el-button>
+							<el-button icon="ele-Refresh" @click="onReset(tableSearchRef)" style="margin-left: 12px"> 閲嶇疆 </el-button>
+							<!-- </el-button-group> -->
+						</div>
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+	</div>
+</template>
+
+<script setup lang="ts" name="makeTableDemoSearch">
+import { reactive, ref, toRefs } from 'vue';
+import type { FormInstance } from 'element-plus';
+import { saulVModel } from '/@/utils/saulVModel';
+
+// 瀹氫箟鐖剁粍浠朵紶杩囨潵鐨勫��
+const props = defineProps({
+	// 鎼滅储琛ㄥ崟,type-鎺т欢绫诲瀷锛坕nput,select,cascader,date锛�,options-type涓簊elct鏃堕渶浼犲�硷紝cascaderData,cascaderProps-type涓篶ascader鏃堕渶浼犲�硷紝灞炴�у悓elementUI,cascaderProps涓嶄紶鍒欎娇鐢╯tate榛樿銆�
+	// 鍙甫鍏omProps灞炴�э紝鍜屼娇鐢ㄧ殑鎺т欢灞炴�у搴�
+	search: {
+		type: Array<TableSearchType>,
+		default: () => [],
+	},
+	reset: {
+		type: Object,
+		default: () => ({}),
+	},
+	modelValue: {
+		type: Object,
+		default: () => ({}),
+	},
+});
+
+// 瀹氫箟瀛愮粍浠跺悜鐖剁粍浠朵紶鍊�/浜嬩欢
+const emit = defineEmits(['search', 'reset', 'update:modelValue']);
+
+// 灏� props涓殑鍊艰浆涓� ref
+const refProps = toRefs(props);
+const searchModel = refProps.modelValue;
+
+// 瀹氫箟鍙橀噺鍐呭
+const tableSearchRef = ref<FormInstance>();
+const state = reactive({
+	isToggle: false,
+	cascaderProps: { checkStrictly: true, emitPath: false, value: 'id', label: 'name', expandTrigger: 'hover' },
+});
+
+const model = saulVModel(props, 'modelValue', emit).value;
+
+// 鏌ヨ
+const onSearch = (formEl: FormInstance | undefined) => {
+	if (!formEl) return;
+	formEl.validate((valid: boolean) => {
+		if (valid) {
+			emit('search', model);
+		} else {
+			return false;
+		}
+	});
+};
+
+// 閲嶇疆
+const onReset = (formEl: FormInstance | undefined) => {
+	if (!formEl) return;
+	formEl.resetFields();
+	emit('reset', model);
+};
+</script>
+
+<style scoped lang="scss">
+.table-search-container {
+	display: flex;
+
+	.table-form {
+		flex: 1;
+
+		.table-form-btn-toggle {
+			white-space: nowrap;
+			user-select: none;
+			display: flex;
+			align-items: center;
+			color: var(--el-color-primary);
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/directive/authDirective.ts b/LA24030_LuLiPackageLine_Web/src/directive/authDirective.ts
new file mode 100644
index 0000000..8449650
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/directive/authDirective.ts
@@ -0,0 +1,40 @@
+import type { App } from 'vue';
+import { useUserInfo } from '/@/stores/userInfo';
+import { judgementSameArr } from '/@/utils/arrayOperation';
+
+/**
+ * 鐢ㄦ埛鏉冮檺鎸囦护
+ * @directive 鍗曚釜鏉冮檺楠岃瘉锛坴-auth="xxx"锛�
+ * @directive 澶氫釜鏉冮檺楠岃瘉锛屾弧瓒充竴涓垯鏄剧ず锛坴-auths="[xxx,xxx]"锛�
+ * @directive 澶氫釜鏉冮檺楠岃瘉锛屽叏閮ㄦ弧瓒冲垯鏄剧ず锛坴-auth-all="[xxx,xxx]"锛�
+ */
+export function authDirective(app: App) {
+	// 鍗曚釜鏉冮檺楠岃瘉锛坴-auth="xxx"锛�
+	app.directive('auth', {
+		mounted(el, binding) {
+			const stores = useUserInfo();
+			if (!stores.userInfos.authBtnList.some((v: string) => v === binding.value)) el.parentNode.removeChild(el);
+		},
+	});
+	// 澶氫釜鏉冮檺楠岃瘉锛屾弧瓒充竴涓垯鏄剧ず锛坴-auths="[xxx,xxx]"锛�
+	app.directive('auths', {
+		mounted(el, binding) {
+			let flag = false;
+			const stores = useUserInfo();
+			stores.userInfos.authBtnList.map((val: string) => {
+				binding.value.map((v: string) => {
+					if (val === v) flag = true;
+				});
+			});
+			if (!flag) el.parentNode.removeChild(el);
+		},
+	});
+	// 澶氫釜鏉冮檺楠岃瘉锛屽叏閮ㄦ弧瓒冲垯鏄剧ず锛坴-auth-all="[xxx,xxx]"锛�
+	app.directive('auth-all', {
+		mounted(el, binding) {
+			const stores = useUserInfo();
+			const flag = judgementSameArr(binding.value, stores.userInfos.authBtnList);
+			if (!flag) el.parentNode.removeChild(el);
+		},
+	});
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/directive/customDirective.ts b/LA24030_LuLiPackageLine_Web/src/directive/customDirective.ts
new file mode 100644
index 0000000..3a18a8f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/directive/customDirective.ts
@@ -0,0 +1,204 @@
+import type { App } from 'vue';
+
+/**
+ * 鎸夐挳娉㈡氮鎸囦护
+ * @directive 榛樿鏂瑰紡锛歷-waves锛屽 `<div v-waves></div>`
+ * @directive 鍙傛暟鏂瑰紡锛歷-waves=" |light|red|orange|purple|green|teal"锛屽 `<div v-waves="'light'"></div>`
+ */
+export function wavesDirective(app: App) {
+	app.directive('waves', {
+		mounted(el, binding) {
+			el.classList.add('waves-effect');
+			binding.value && el.classList.add(`waves-${binding.value}`);
+			function setConvertStyle(obj: { [key: string]: unknown }) {
+				let style: string = '';
+				for (let i in obj) {
+					if (obj.hasOwnProperty(i)) style += `${i}:${obj[i]};`;
+				}
+				return style;
+			}
+			function onCurrentClick(e: { [key: string]: unknown }) {
+				let elDiv = document.createElement('div');
+				elDiv.classList.add('waves-ripple');
+				el.appendChild(elDiv);
+				let styles = {
+					left: `${e.layerX}px`,
+					top: `${e.layerY}px`,
+					opacity: 1,
+					transform: `scale(${(el.clientWidth / 100) * 10})`,
+					'transition-duration': `750ms`,
+					'transition-timing-function': `cubic-bezier(0.250, 0.460, 0.450, 0.940)`,
+				};
+				elDiv.setAttribute('style', setConvertStyle(styles));
+				setTimeout(() => {
+					elDiv.setAttribute(
+						'style',
+						setConvertStyle({
+							opacity: 0,
+							transform: styles.transform,
+							left: styles.left,
+							top: styles.top,
+						})
+					);
+					setTimeout(() => {
+						elDiv && el.removeChild(elDiv);
+					}, 750);
+				}, 450);
+			}
+			el.addEventListener('mousedown', onCurrentClick, false);
+		},
+		unmounted(el) {
+			el.addEventListener('mousedown', () => {});
+		},
+	});
+}
+
+/**
+ * 鑷畾涔夋嫋鍔ㄦ寚浠�
+ * @description  浣跨敤鏂瑰紡锛歷-drag="[dragDom,dragHeader]"锛屽 `<div v-drag="['.drag-container .el-dialog', '.drag-container .el-dialog__header']"></div>`
+ * @description dragDom 瑕佹嫋鍔ㄧ殑鍏冪礌锛宒ragHeader 瑕佹嫋鍔ㄧ殑 Header 浣嶇疆
+ * @link 娉ㄦ剰锛歨ttps://github.com/element-plus/element-plus/issues/522
+ * @lick 鍙傝�冿細https://blog.csdn.net/weixin_46391323/article/details/105228020?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-10&spm=1001.2101.3001.4242
+ */
+export function dragDirective(app: App) {
+	app.directive('drag', {
+		mounted(el, binding) {
+			if (!binding.value) return false;
+
+			const dragDom = document.querySelector(binding.value[0]) as HTMLElement;
+			const dragHeader = document.querySelector(binding.value[1]) as HTMLElement;
+
+			dragHeader.onmouseover = () => (dragHeader.style.cursor = `move`);
+
+			function down(e: any, type: string) {
+				// 榧犳爣鎸変笅锛岃绠楀綋鍓嶅厓绱犺窛绂诲彲瑙嗗尯鐨勮窛绂�
+				const disX = type === 'pc' ? e.clientX - dragHeader.offsetLeft : e.touches[0].clientX - dragHeader.offsetLeft;
+				const disY = type === 'pc' ? e.clientY - dragHeader.offsetTop : e.touches[0].clientY - dragHeader.offsetTop;
+
+				// body褰撳墠瀹藉害
+				const screenWidth = document.body.clientWidth;
+				// 鍙鍖哄煙楂樺害(搴斾负body楂樺害锛屽彲鏌愪簺鐜涓嬫棤娉曡幏鍙�)
+				const screenHeight = document.documentElement.clientHeight;
+
+				// 瀵硅瘽妗嗗搴�
+				const dragDomWidth = dragDom.offsetWidth;
+				// 瀵硅瘽妗嗛珮搴�
+				const dragDomheight = dragDom.offsetHeight;
+
+				const minDragDomLeft = dragDom.offsetLeft;
+				const maxDragDomLeft = screenWidth - dragDom.offsetLeft - dragDomWidth;
+
+				const minDragDomTop = dragDom.offsetTop;
+				const maxDragDomTop = screenHeight - dragDom.offsetTop - dragDomheight;
+
+				// 鑾峰彇鍒扮殑鍊煎甫px 姝e垯鍖归厤鏇挎崲
+				let styL: any = getComputedStyle(dragDom).left;
+				let styT: any = getComputedStyle(dragDom).top;
+
+				// 娉ㄦ剰鍦╥e涓� 绗竴娆¤幏鍙栧埌鐨勫�间负缁勪欢鑷甫50% 绉诲姩涔嬪悗璧嬪�间负px
+				if (styL.includes('%')) {
+					styL = +document.body.clientWidth * (+styL.replace(/\%/g, '') / 100);
+					styT = +document.body.clientHeight * (+styT.replace(/\%/g, '') / 100);
+				} else {
+					styL = +styL.replace(/\px/g, '');
+					styT = +styT.replace(/\px/g, '');
+				}
+
+				return {
+					disX,
+					disY,
+					minDragDomLeft,
+					maxDragDomLeft,
+					minDragDomTop,
+					maxDragDomTop,
+					styL,
+					styT,
+				};
+			}
+
+			function move(e: any, type: string, obj: any) {
+				let { disX, disY, minDragDomLeft, maxDragDomLeft, minDragDomTop, maxDragDomTop, styL, styT } = obj;
+
+				// 閫氳繃浜嬩欢濮旀墭锛岃绠楃Щ鍔ㄧ殑璺濈
+				let left = type === 'pc' ? e.clientX - disX : e.touches[0].clientX - disX;
+				let top = type === 'pc' ? e.clientY - disY : e.touches[0].clientY - disY;
+
+				// 杈圭晫澶勭悊
+				if (-left > minDragDomLeft) {
+					left = -minDragDomLeft;
+				} else if (left > maxDragDomLeft) {
+					left = maxDragDomLeft;
+				}
+
+				if (-top > minDragDomTop) {
+					top = -minDragDomTop;
+				} else if (top > maxDragDomTop) {
+					top = maxDragDomTop;
+				}
+
+				// 绉诲姩褰撳墠鍏冪礌
+				dragDom.style.cssText += `;left:${left + styL}px;top:${top + styT}px;`;
+			}
+
+			/**
+			 * pc绔�
+			 * onmousedown 榧犳爣鎸変笅瑙﹀彂浜嬩欢
+			 * onmousemove 榧犳爣鎸変笅鏃舵寔缁Е鍙戜簨浠�
+			 * onmouseup 榧犳爣鎶捣瑙﹀彂浜嬩欢
+			 */
+			dragHeader.onmousedown = (e) => {
+				const obj = down(e, 'pc');
+				document.onmousemove = (e) => {
+					move(e, 'pc', obj);
+				};
+				document.onmouseup = () => {
+					document.onmousemove = null;
+					document.onmouseup = null;
+				};
+			};
+
+			/**
+			 * 绉诲姩绔�
+			 * ontouchstart 褰撴寜涓嬫墜鎸囨椂锛岃Е鍙憃ntouchstart
+			 * ontouchmove 褰撶Щ鍔ㄦ墜鎸囨椂锛岃Е鍙憃ntouchmove
+			 * ontouchend 褰撶Щ璧版墜鎸囨椂锛岃Е鍙憃ntouchend
+			 */
+			dragHeader.ontouchstart = (e) => {
+				const obj = down(e, 'app');
+				document.ontouchmove = (e) => {
+					move(e, 'app', obj);
+				};
+				document.ontouchend = () => {
+					document.ontouchmove = null;
+					document.ontouchend = null;
+				};
+			};
+		},
+	});
+}
+
+/**
+ * 闃叉閲嶅鐐瑰嚮鎻愪氦鎸夐挳
+ * @directive 榛樿鏂瑰紡锛歷-reclick锛屽 `<el-button v-reclick></el-button>`
+ * @directive 鍙傛暟鏂瑰紡锛歷-reclick="number"锛屽 `<el-button v-reclick="500"></el-button>`
+ */
+ export function reclickDirective(app: App) {
+	app.directive('reclick', {
+		mounted(el, time) {
+			el.addEventListener('click', () => {
+				if (!el.disabled) {
+					el.disabled = true;
+					setTimeout(
+						() => {
+							el.disabled = false;
+						},
+						time.value === undefined ? 500 : time.value
+					);
+				}
+			});
+		},
+		unmounted(el) {
+			el.disabled = false;
+		},
+	});
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/directive/index.ts b/LA24030_LuLiPackageLine_Web/src/directive/index.ts
new file mode 100644
index 0000000..3270b37
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/directive/index.ts
@@ -0,0 +1,21 @@
+import type { App } from 'vue';
+import { authDirective } from '/@/directive/authDirective';
+import { wavesDirective, dragDirective, reclickDirective } from '/@/directive/customDirective';
+
+/**
+ * 瀵煎嚭鎸囦护鏂规硶锛歷-xxx
+ * @methods authDirective 鐢ㄦ埛鏉冮檺鎸囦护锛岀敤娉曪細v-auth
+ * @methods wavesDirective 鎸夐挳娉㈡氮鎸囦护锛岀敤娉曪細v-waves
+ * @methods dragDirective 鑷畾涔夋嫋鍔ㄦ寚浠わ紝鐢ㄦ硶锛歷-drag
+ * @methods reclickDirective 閲嶅鎸夐挳鎻愪氦鎸囦护锛岀敤娉曪細v-reclick
+ */
+export function directive(app: App) {
+	// 鐢ㄦ埛鏉冮檺鎸囦护
+	authDirective(app);
+	// 鎸夐挳娉㈡氮鎸囦护
+	wavesDirective(app);
+	// // 鑷畾涔夋嫋鍔ㄦ寚浠�
+	// dragDirective(app);
+	// 閲嶅鎸夐挳鎻愪氦鎸囦护
+	reclickDirective(app);
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/hooks/boxNumList.ts b/LA24030_LuLiPackageLine_Web/src/hooks/boxNumList.ts
new file mode 100644
index 0000000..d7095bc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/hooks/boxNumList.ts
@@ -0,0 +1,52 @@
+import { ref } from "vue";
+import {ElMessage} from 'element-plus'
+import { getBoxInfoList,getBoxInfoYijianList} from '@/service/main/warehouse';
+//鍙栬揣娉㈡涓嬪彂 - 鑾峰彇绠卞彿鍒楄〃
+export function  getwareBox(paramNo:any){
+  const Enum = ref<any>([]);
+  getBoxInfoList({SortOrderId: paramNo}).then(res => {
+        if(res.code == 200) {
+        const {data} = res;
+        const result = data;
+        if(Array.isArray(result)) {
+            result.forEach(item => {
+                const obj:any = {
+                    value: item,
+                    title: item
+                }
+                Enum.value.push(obj);
+            })
+        }
+        }else {
+        
+        } 
+    }).catch(err => {
+        console.log( err )
+    })
+    return Enum.value
+}
+//涓�閿笅鍙�
+export function  getwareYiJianBox(paramNo:any){
+    const Enum = ref<any>([]);
+    getBoxInfoYijianList({OrderIdList: paramNo}).then(res => {
+          if(res.code == 200) {
+          const {data} = res;
+          const result = data;
+          if(Array.isArray(result)) {
+              result.forEach(item => {
+                  const obj:any = {
+                      value: item,
+                      title: item
+                  }
+                  Enum.value.push(obj);
+              })
+          }
+          }else {
+          
+          } 
+      }).catch(err => {
+          console.log( err )
+      })
+      return Enum.value
+  }
+
diff --git a/LA24030_LuLiPackageLine_Web/src/hooks/countAction.ts b/LA24030_LuLiPackageLine_Web/src/hooks/countAction.ts
new file mode 100644
index 0000000..d8ceb85
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/hooks/countAction.ts
@@ -0,0 +1,7 @@
+import { CountUp } from "countup.js";
+const demo = new CountUp("myTargetElement", 6884);
+if (!demo.error) {
+  demo.start();
+} else {
+  console.error(demo.error);
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/hooks/expandMore.ts b/LA24030_LuLiPackageLine_Web/src/hooks/expandMore.ts
new file mode 100644
index 0000000..3aada05
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/hooks/expandMore.ts
@@ -0,0 +1,16 @@
+import {ref,computed} from 'vue'
+type callback = (query: any) => any;
+// form 琛ㄥ崟灞曞紑
+export function expandMore() {
+  //-------椤堕儴鍗犱綅杩囧 灞曞紑/鏀惰捣-------------
+  const hidden = ref(false); 
+  const openSearch = () => {
+    hidden.value = !hidden.value;
+  };
+  return {
+    openSearch,
+    hidden
+  }
+}
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/hooks/exportTableDataExcell.ts b/LA24030_LuLiPackageLine_Web/src/hooks/exportTableDataExcell.ts
new file mode 100644
index 0000000..d586e5f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/hooks/exportTableDataExcell.ts
@@ -0,0 +1,219 @@
+import { exportExcel } from "/@/utils/exportExcelForDetail";
+import { formatUtcToData } from "/@/utils/formate";
+import { ElMessage } from "element-plus";
+import { ref } from "vue";
+/***
+ * 
+ 鍓嶇瀵煎嚭锛氬洜elementui娌℃湁鎻愪緵鏂规硶鑾峰彇琛ㄥご瀛楁锛氫娇鐢╯ummary-method鍔ㄦ�佽幏鍙杢able琛ㄥご锛岀敤浜庡鍑篹xcell
+    1)  
+     <!-- 鎸夌収鎼滅储鏉′欢瀵煎嚭 -->
+    <el-button  plain icon="el-icon-upload2" @click="handleExportExcell" class="btn-export">瀵煎嚭</el-button>
+
+
+    2) :summary-method="getExportTitle" show-summary class="tableBox">
+
+    3) import { ExcellTableDataExport} from "@/hooks/exportTableDataExcell";
+    4)  // getTabelData 鏂规硶涓坊鍔�
+          // 瀵煎嚭鍙傛暟
+          formExport.value = JSON.parse(JSON.stringify(formModel.value)) 
+    5锛�
+    // ------------灏佽瀵煎嚭鍔熻兘1--鍓嶇瀵煎嚭--鏍规嵁鎼滅储鏉′欢瀵煎嚭---------------
+    const jsonExcellTableExport = {
+        titleName: "鐢ㄦ埛淇℃伅琛�", //瀵煎嚭琛ㄦ牸鍚嶇О
+        interfaceListName:getUsersList,//瀵煎嚭鎺ュ彛鍚嶇О
+        changeTitleName:((arr:any)=>{ // 闇�瑕佸墠绔浆涔夌殑瀛楁
+          arr.forEach((item:any)=>{
+            item.status =( item.status  == 0 ? '鍚敤' : '鍐荤粨') 
+          })
+        })
+    }
+    const { getExportTitle , handleExportExcell, formExport} = ExcellTableDataExport(jsonExcellTableExport)
+   // --------------end 灏佽瀵煎嚭鍔熻兘1--鏍规嵁鎼滅储鏉′欢瀵煎嚭-----------------
+
+ ***/
+export function ExcellTableDataExport(_paramObj: any) {
+  const {
+    titleName, //瀵煎嚭琛ㄦ牸鍚嶇О
+    interfaceListName, //瀵煎嚭鎺ュ彛鍚嶇О
+    changeTitleName //闇�瑕佸墠绔浆涓枃
+  } = _paramObj;
+  const formExport = ref({
+    PageSize: 10,
+    Page: 1,
+    OrderType:""
+  });
+  const entozhExcell:any = {
+    // id: "搴忓彿"
+  };
+  // 鑾峰彇琛ㄦ牸鏍囬
+  const getExportTitle = (param: any) => {
+    const { columns } = param;
+    columns.forEach((column: any, index: any) => {
+      if (column.label && column.label != "鎿嶄綔" && column.label != "搴忓彿") {
+        entozhExcell[column.property] = column.label;
+      }
+    });
+    // console.log(entozhExcell);
+    return "";
+  };
+
+  const handleExportExcell = () => {
+    const { PageSize, PageNo, OrderType, ...rest } = formExport.value;
+    // const arrZ: any = Object.values(rest).join("");
+    // if (arrZ.length <= 0) {
+    //   ElMessage.warning(`璇疯緭鍏ユ煡璇㈡潯浠讹紒`);
+    //   return;
+    // }
+    formExport.value.PageNo = 1
+    formExport.value.PageSize = 100000
+
+    interfaceListName(formExport.value)
+      .then((res: { code?: any; message?: any; data?: any }) => {
+        if (res.code == 200) {
+          const { data } = res;
+          const result = data;
+          if (changeTitleName) {
+            changeTitleName(result.rows);
+          }
+          exportExcel(
+            result.rows,
+            entozhExcell,
+            "xlsx",
+            `${titleName} ${formatUtcToData(
+              new Date() + "",
+              "YYYY-MM-DD hh:mm:ss"
+            )}`
+          );
+        } else {
+          ;
+        }
+      })
+      .catch((err: any) => console.log(err));
+  };
+  return {
+    getExportTitle,
+    handleExportExcell,
+    formExport,
+    entozhExcell
+  };
+}
+
+
+/**
+ * 
+ *  鍚庣瀵煎嚭 - 鑾峰彇鎵�鏈夊崟鍙�
+ *    
+  1) 
+  <!-- 鎸夌収鏌ヨ鏉′欢瀵煎嚭 -->
+  <el-button  plain icon="el-icon-upload2" @click="handExportOrders" class="btn-export">瀵煎嚭</el-button>
+  2)   import { backExportOrders} from "@/hooks/exportTableDataExcell";
+  3) // getTabelData 鏂规硶涓坊鍔�
+      // 瀵煎嚭鍙傛暟
+      formExport.value = JSON.parse(JSON.stringify(formModel.value)) 
+  4) 
+     // ------------灏佽瀵煎嚭鍔熻兘2-- 鑾峰彇鎵�鏈夊崟鍙�--鏍规嵁鎼滅储鏉′欢瀵煎嚭---------------
+   const jsonBackExportOrders = {
+        title:'PO鍗�', //瀵煎嚭鏂囦欢鍚嶇О
+        paramName:'PurchaseNo', //瀵煎嚭鎺ュ彛鍙傛暟鍚嶇О
+        interfaceListName:getPurchasePage,//鏌ヨ鎵�鏈夊崟鍙锋帴鍙e悕绉�
+        interfaceListNameExport:puchaseExport, //鍚庣瀵煎嚭鎺ュ彛鍚嶇ОentozhTitle:{
+           id: "搴忓彿",
+          orderNo: "鍗曞彿",
+        }
+    }
+    const { handExportOrders ,formExport} = backExportOrders(jsonBackExportOrders)
+   // --------------end 灏佽瀵煎嚭鍔熻兘2-- 鑾峰彇鎵�鏈夊崟鍙�--鏍规嵁鎼滅储鏉′欢瀵煎嚭-----------------
+
+ */
+export function backExportOrders(_paramObj: any) {
+  const {
+    title,
+    paramName,
+    interfaceListName, //瀵煎嚭鎺ュ彛鍚嶇О
+    interfaceListNameExport,
+    entozhTitle
+  } = _paramObj;
+  // 鏌ヨ鍙傛暟
+  const formExport = ref({
+    PageSize: 1,
+    PageNo: 10,
+    pagesize: 1,
+    pageno: 10,
+    MaterialTypeStaus: "",
+    OrderType:""
+  });
+  // 瀵煎嚭鏂规硶
+  const handExportOrders = () => {
+    const { PageSize, PageNo, pagesize, pageno, MaterialTypeStaus, OrderType, ...rest } =
+      formExport.value;
+    // const arrZ: any = Object.values(rest).join("");
+    // console.log(arrZ);
+    // if (arrZ.length <= 0) {
+    //   ElMessage.warning(`璇疯緭鍏ユ煡璇㈡潯浠讹紒`);
+    //   return;
+    // }
+    formExport.value.PageSize = 1000;
+    formExport.value.PageNo = 1;
+    // 鏌ヨ鍒楄〃鎺ュ彛
+    interfaceListName({
+      ...formExport.value
+    })
+      .then((res: { code?: any; message?: any; data?: any }) => {
+        if (res.code == 200) {
+          const { data } = res;
+          const result = data;
+          if (result.rows.length <= 0) {
+            ElMessage.warning(`娌℃湁闇�瑕佸鍑虹殑鏁版嵁锛乣);
+            return;
+          }
+          let arr = [];
+          if (paramName == "PurchaseNo") {
+            arr = result.rows.reduce((curr: any, item: any) => {
+              curr.push(item.purchaseNo);
+              return curr;
+            }, []);
+          }else{
+            arr = result.rows.reduce((curr: any, item: any) => {
+              curr.push(item.orderNo);
+              return curr;
+            }, []);
+          }
+          const paramAll:any ={}
+          paramAll[paramName] = arr
+          // 瀵煎嚭鎺ュ彛
+          if(arr.length<=0){
+            ElMessage.warning(`鍗曞彿涓嶈兘涓虹┖锛乣);
+            return;
+          }
+          interfaceListNameExport(paramAll)
+            .then((res: any) => {
+              if(entozhTitle){  //鍚庣瀵煎嚭鎺ュ彛锛岃繑鍥瀕ist闈炴枃浠讹紝闇�瑕佷紶鍏ヤ腑鏂囪〃澶�
+                exportExcel(res.data, entozhTitle, "xlsx", `${title}${formatUtcToData(new Date()+'','YYYY-MM-DD hh:mm:ss')}`);
+              }else{ //鍚庣瀵煎嚭杩斿洖鏂囦欢
+                const link = document.createElement("a"); //鍒涘缓a鏍囩
+                const blob = new Blob([res], {
+                  type: "application/vnd.ms-excel"
+                }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+                const objectUrl = URL.createObjectURL(blob);
+                link.href = objectUrl;
+                link.download = `${title}瀵煎嚭${formatUtcToData(
+                  new Date().toString(),
+                  "YYYY-MM-DD hh:mm:ss"
+                )}`; // 鑷畾涔夋枃浠跺悕
+                link.click(); // 涓嬭浇鏂囦欢
+                URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+              }
+              
+            })
+            .catch((err: any) => ElMessage.error(JSON.stringify(err)));
+        } else {
+          ;
+        }
+      })
+      .catch((err: any) => console.log(err));
+  };
+  return {
+    handExportOrders,
+    formExport
+  };
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/hooks/pageLinkage.ts b/LA24030_LuLiPackageLine_Web/src/hooks/pageLinkage.ts
new file mode 100644
index 0000000..0d9447a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/hooks/pageLinkage.ts
@@ -0,0 +1,114 @@
+import { ref } from "vue";
+import PageDialog from "@/components/page-dialog";
+import {ElMessage,ElMessageBox} from 'element-plus'
+type callback = (query: any) => any;
+
+//鎼滅储閫昏緫澶勭悊
+export function searchLinkage(funcName: callback) {
+  //鍒楄〃鏁版嵁
+  const dataList = ref([]);
+  // 鍒楄〃鎬荤殑鏁版嵁鏉℃暟
+  const dataCount = ref(0);
+  //璇锋眰鏁版嵁
+  async function getDataList(query: any = {}): Promise<void> {
+    dataList.value = [];
+    const resultList = await funcName({...query});
+    if(typeof resultList?.data === 'object') {
+      const {data} = resultList;
+      const result = data;
+      dataList.value = result.rows;
+      dataCount.value = result.totalRows;
+    }
+  }
+  //鏌ヨ
+  function searchBtnClic(query: any = {}) {
+    getDataList(query)
+  }
+  //閲嶇疆
+  function resetBtnClic(query: any = {}) {
+    getDataList(query)
+  }
+  // 杩斿洖ref瀵硅薄銆佹煡璇€�侀噸缃柟娉�
+  return {dataList,dataCount,getDataList,searchBtnClic,resetBtnClic}
+}
+
+//娣诲姞銆佺紪杈戞搷浣�
+export function operationLinkage(delCallback: callback,getDataCallback: callback) {
+  //鑾峰彇page-dialog鐨剅ef瀵硅薄
+  const pageDialogRef = ref<InstanceType<typeof PageDialog>>();
+  // 绐楀彛鎵撳紑浼犻�掔殑鍙傛暟(娣诲姞涓簕}锛岀紪杈戞椂璧嬪�約cope.row)
+  const defaultValue = ref({});
+  //鎵撳紑娣诲姞绐楀彛
+  const handleCreateBtnClic = (): void => {
+    defaultValue.value = {};
+    if (pageDialogRef.value) {
+      pageDialogRef.value.centerDialogVisible = true;
+    }
+    
+  };
+  //鎵撳紑缂栬緫绐楀彛
+  const handleEditorBtnClic = (payload: any = {} ): void => {
+    defaultValue.value = payload;
+    if (pageDialogRef.value) {
+      pageDialogRef.value.centerDialogVisible = true;
+    }
+  };
+  interface delTypes {
+    id:number[]
+  }
+  //鍒犻櫎鎿嶄綔
+  const handleDeleteConfirm = (arr: number[]): void => {
+    const obj: delTypes = {id: arr};
+    ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�','鎻愮ず',{
+      confirmButtonText: '纭',
+      cancelButtonText: '鍙栨秷',
+      type: 'warning'
+    }).then(() => {
+      delCallback(obj).then(() => {
+        ElMessage.success('鍒犻櫎鎴愬姛')
+          // 鍒锋柊鍒楄〃
+          getDataCallback({PageNo:1,PageSize: 10});
+      })
+    })
+  }
+  //杩斿洖
+  return {
+    pageDialogRef,
+    defaultValue,
+    handleEditorBtnClic,
+    handleCreateBtnClic,
+    handleDeleteConfirm
+  }
+}
+
+//纭娣诲姞銆佺紪杈戞搷浣�
+/**
+ * 娣诲姞銆佺紪杈戠‘璁ゆ搷浣�
+ * @param addConfirm 娣诲姞鐨勫洖璋�
+ * @param editConfirm 缂栬緫鐨勫洖璋�
+ * @param getList 鑾峰彇鍒楄〃鐨勫洖璋�
+ */
+export function confirmLinkage(addConfirm: callback, editConfirm: callback,getList: callback) {
+  //娣诲姞
+  const handleAddConfirm = (query: any = {}) => {
+    addConfirm(query).then(() => {
+      ElMessage.success('娣诲姞鎴愬姛');
+      getList({Page: 1,PageSize: 10});
+    })
+  }
+
+  //缂栬緫
+  const handleEditConfirm = (query: any = {}) => {
+    editConfirm(query).then(() => {
+      ElMessage.success('缂栬緫鎴愬姛');
+      getList({Page: 1,PageSize: 10});
+    })
+  }
+
+  return {
+    handleAddConfirm,
+    handleEditConfirm
+  }
+}
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/hooks/permission.ts b/LA24030_LuLiPackageLine_Web/src/hooks/permission.ts
new file mode 100644
index 0000000..13d7f3b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/hooks/permission.ts
@@ -0,0 +1,7 @@
+import { useStore } from "@/store";
+export function usePermission(pageName: string, actions: string) {
+  const store = useStore();
+  const permissionList = store.state.login.permissionList;
+  const permission = `system:${pageName}:${actions}`;
+  return !!permissionList.find((item) => item === permission);
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/hooks/sapResend.ts b/LA24030_LuLiPackageLine_Web/src/hooks/sapResend.ts
new file mode 100644
index 0000000..2da7084
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/hooks/sapResend.ts
@@ -0,0 +1,37 @@
+import { ref } from "vue";
+import {ElMessage,ElMessageBox} from 'element-plus'
+import {sendSapCz} from '@/service/main/invoices'
+type callback = (query: any) => any;
+
+//鎼滅储閫昏緫澶勭悊
+export function resendSap(getDataCallback: callback,param:any) {
+  // const obj = {
+  //    Id: Id,
+  //    CancelUserName: store.state.login.userInfo.name,
+  //    CancelUserId: store.state.login.userInfo.id
+  //  }
+   ElMessageBox.confirm('鏄惁纭閲嶇疆锛�','鎻愮ず',{
+     confirmButtonText: '纭',
+     cancelButtonText: '鍙栨秷',
+     type: 'warning'
+   }).then(() => {
+      sendSapCz({
+        'id':param.id
+      }).then( (res:any) => {
+        if(res.code == 200){
+          ElMessage.success('閲嶇疆鎴愬姛')
+          getDataCallback({PageNo:1,PageSize: 10});      // 鍒锋柊鍒楄〃
+        }else{
+          ElMessage.error(`鎾ら攢澶辫触${res?.code}:${res.message}`)
+        }
+      }).catch((err: any) => {
+        console.log(err);
+        ElMessage.error(`鎾ら攢澶辫触${err}`)
+      })
+   }).catch(() =>{
+     ElMessage.info('宸插彇娑堟挙閿�')
+   })
+ }
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/i18n/index.ts b/LA24030_LuLiPackageLine_Web/src/i18n/index.ts
new file mode 100644
index 0000000..cd0f987
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/i18n/index.ts
@@ -0,0 +1,68 @@
+import { createI18n } from 'vue-i18n';
+import pinia from '/@/stores/index';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+
+// 瀹氫箟璇█鍥介檯鍖栧唴瀹�
+
+/**
+ * 璇存槑锛�
+ * 椤诲湪 pages 涓嬫柊寤烘枃浠跺す锛堝缓璁� `瑕佸浗闄呭寲鐣岄潰鐩綍` 涓� `i18n 鐩綍` 鐩稿悓锛屾柟渚挎煡鎵撅級锛�
+ * 娉ㄦ剰鍥介檯鍖栧畾涔夌殑瀛楁锛屼笉瑕佷笌鍘熸湁鐨勫畾涔夊瓧娈电浉鍚屻��
+ * 1銆�/src/i18n/lang 涓嬬殑 ts 涓烘鏋剁殑鍥介檯鍖栧唴瀹�
+ * 2銆�/src/i18n/pages 涓嬬殑 ts 涓哄悇鐣岄潰鐨勫浗闄呭寲鍐呭
+ */
+
+// element plus 鑷甫鍥介檯鍖�
+import enLocale from 'element-plus/es/locale/lang/en';
+import zhcnLocale from 'element-plus/es/locale/lang/zh-cn';
+import zhtwLocale from 'element-plus/es/locale/lang/zh-tw';
+
+// 瀹氫箟鍙橀噺鍐呭
+const messages = {};
+const element = { en: enLocale, 'zh-cn': zhcnLocale, 'zh-tw': zhtwLocale };
+const itemize = { en: [], 'zh-cn': [], 'zh-tw': [] };
+const modules: Record<string, any> = import.meta.glob('./**/*.ts', { eager: true });
+
+// 瀵硅嚜鍔ㄥ紩鍏ョ殑 modules 杩涜鍒嗙被 en銆亃h-cn銆亃h-tw
+// https://vitejs.cn/vite3-cn/guide/features.html#glob-import
+for (const path in modules) {
+	const key = path.match(/(\S+)\/(\S+).ts/);
+	if (itemize[key![2]]) itemize[key![2]].push(modules[path].default);
+	else itemize[key![2]] = modules[path];
+}
+
+// 鍚堝苟鏁扮粍瀵硅薄锛堥潪鏍囧噯鏁扮粍瀵硅薄锛屾暟缁勪腑瀵硅薄鐨勬瘡椤� key銆乿alue 閮戒笉鍚岋級
+function mergeArrObj<T>(list: T, key: string) {
+	let obj = {};
+	list[key].forEach((i: EmptyObjectType) => {
+		obj = Object.assign({}, obj, i);
+	});
+	return obj;
+}
+
+// 澶勭悊鏈�缁堟牸寮�
+for (const key in itemize) {
+	messages[key] = {
+		name: key,
+		el: element[key].el,
+		message: mergeArrObj(itemize, key),
+	};
+}
+
+// 璇诲彇 pinia 榛樿璇█
+const stores = useThemeConfig(pinia);
+const { themeConfig } = storeToRefs(stores);
+
+// 瀵煎嚭璇█鍥介檯鍖�
+// https://vue-i18n.intlify.dev/guide/essentials/fallback.html#explicit-fallback-with-one-locale
+export const i18n = createI18n({
+	legacy: false,
+	silentTranslationWarn: true,
+	missingWarn: false,
+	silentFallbackWarn: true,
+	fallbackWarn: false,
+	locale: themeConfig.value.globalI18n,
+	fallbackLocale: zhcnLocale.name,
+	messages,
+});
diff --git a/LA24030_LuLiPackageLine_Web/src/i18n/lang/en.ts b/LA24030_LuLiPackageLine_Web/src/i18n/lang/en.ts
new file mode 100644
index 0000000..963dd15
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/i18n/lang/en.ts
@@ -0,0 +1,192 @@
+// 瀹氫箟鍐呭
+export default {
+	router: {
+		home: 'home',
+		system: 'system',
+		systemMenu: 'systemMenu',
+		systemRole: 'systemRole',
+		systemUser: 'systemUser',
+		systemDept: 'systemDept',
+		systemDic: 'systemDic',
+		limits: 'limits',
+		limitsFrontEnd: 'FrontEnd',
+		limitsFrontEndPage: 'FrontEndPage',
+		limitsFrontEndBtn: 'FrontEndBtn',
+		limitsBackEnd: 'BackEnd',
+		limitsBackEndEndPage: 'BackEndEndPage',
+		menu: 'menu',
+		menu1: 'menu1',
+		menu11: 'menu11',
+		menu12: 'menu12',
+		menu121: 'menu121',
+		menu122: 'menu122',
+		menu13: 'menu13',
+		menu2: 'menu2',
+		funIndex: 'function',
+		funTagsView: 'funTagsView',
+		funCountup: 'countup',
+		funWangEditor: 'wangEditor',
+		funCropper: 'cropper',
+		funQrcode: 'qrcode',
+		funEchartsMap: 'EchartsMap',
+		funPrintJs: 'PrintJs',
+		funClipboard: 'Copy cut',
+		funGridLayout: 'Drag layout',
+		funSplitpanes: 'Pane splitter',
+		funDragVerify: 'Validator',
+		pagesIndex: 'pages',
+		pagesFiltering: 'Filtering',
+		pagesFilteringDetails: 'FilteringDetails',
+		pagesFilteringDetails1: 'FilteringDetails1',
+		pagesIocnfont: 'iconfont icon',
+		pagesElement: 'element icon',
+		pagesAwesome: 'awesome icon',
+		pagesFormAdapt: 'FormAdapt',
+		pagesTableRules: 'pagesTableRules',
+		pagesFormI18n: 'FormI18n',
+		pagesFormRules: 'Multi form validation',
+		pagesDynamicForm: 'Dynamic complex form',
+		pagesWorkflow: 'Workflow',
+		pagesListAdapt: 'ListAdapt',
+		pagesWaterfall: 'Waterfall',
+		pagesSteps: 'Steps',
+		pagesPreview: 'Large preview',
+		pagesWaves: 'Wave effect',
+		pagesTree: 'tree alter table',
+		pagesDrag: 'Drag command',
+		pagesLazyImg: 'Image lazy loading',
+		makeIndex: 'makeIndex',
+		makeSelector: 'Icon selector',
+		makeNoticeBar: 'notification bar',
+		makeSvgDemo: 'Svgicon demo',
+		makeTableDemo: 'table demo',
+		paramsIndex: 'Routing parameters',
+		paramsCommon: 'General routing',
+		paramsDynamic: 'Dynamic routing',
+		paramsCommonDetails: 'General routing details',
+		paramsDynamicDetails: 'Dynamic routing details',
+		chartIndex: 'chartIndex',
+		visualizingIndex: 'visualizingIndex',
+		visualizingLinkDemo1: 'visualizingLinkDemo1',
+		visualizingLinkDemo2: 'visualizingLinkDemo2',
+		personal: 'personal',
+		tools: 'tools',
+		layoutLinkView: 'LinkView',
+		layoutIframeViewOne: 'IframeViewOne',
+		layoutIframeViewTwo: 'IframeViewTwo',
+	},
+	staticRoutes: {
+		signIn: 'signIn',
+		notFound: 'notFound',
+		noPower: 'noPower',
+	},
+	user: {
+		title0: 'Component size',
+		title1: 'Language switching',
+		title2: 'Menu search',
+		title3: 'Layout configuration',
+		title4: 'news',
+		title5: 'Full screen on',
+		title6: 'Full screen off',
+		dropdownLarge: 'large',
+		dropdownDefault: 'default',
+		dropdownSmall: 'small',
+		dropdown1: 'home page',
+		dropdown2: 'Personal Center',
+		dropdown3: '404',
+		dropdown4: '401',
+		dropdown5: 'Log out',
+		dropdown6: 'Code warehouse',
+		searchPlaceholder: 'Menu search: support Chinese, routing path',
+		newTitle: 'notice',
+		newBtn: 'All read',
+		newGo: 'Go to the notification center',
+		newDesc: 'No notice',
+		logOutTitle: 'Tips',
+		logOutMessage: 'This operation will log out. Do you want to continue?',
+		logOutConfirm: 'determine',
+		logOutCancel: 'cancel',
+		logOutExit: 'Exiting',
+	},
+	tagsView: {
+		refresh: 'refresh',
+		close: 'close',
+		closeOther: 'closeOther',
+		closeAll: 'closeAll',
+		fullscreen: 'fullscreen',
+		closeFullscreen: 'closeFullscreen',
+	},
+	notFound: {
+		foundTitle: 'Wrong address input, please re-enter the address~',
+		foundMsg: 'You can check the web address first, and then re-enter or give us feedback.',
+		foundBtn: 'Back to home page',
+	},
+	noAccess: {
+		accessTitle: 'You are not authorized to operate~',
+		accessMsg: 'Contact information: add QQ group discussion 665452019',
+		accessBtn: 'Reauthorization',
+	},
+	layout: {
+		configTitle: 'Layout configuration',
+		oneTitle: 'Global Themes',
+		twoTopTitle: 'top bar set up',
+		twoMenuTitle: 'Menu set up',
+		twoColumnsTitle: 'Columns set up',
+		twoTopBar: 'Top bar background',
+		twoTopBarColor: 'Top bar default font color',
+		twoIsTopBarColorGradual: 'Top bar gradient',
+		twoMenuBar: 'Menu background',
+		twoMenuBarColor: 'Menu default font color',
+		twoMenuBarActiveColor: 'Menu Highlight Color',
+		twoIsMenuBarColorGradual: 'Menu gradient',
+		twoColumnsMenuBar: 'Column menu background',
+		twoColumnsMenuBarColor: 'Default font color bar menu',
+		twoIsColumnsMenuBarColorGradual: 'Column gradient',
+		twoIsColumnsMenuHoverPreload: 'Column Menu Hover Preload',
+		threeTitle: 'Interface settings',
+		threeIsCollapse: 'Menu horizontal collapse',
+		threeIsUniqueOpened: 'Menu accordion',
+		threeIsFixedHeader: 'Fixed header',
+		threeIsClassicSplitMenu: 'Classic layout split menu',
+		threeIsLockScreen: 'Open the lock screen',
+		threeLockScreenTime: 'screen locking(s/s)',
+		fourTitle: 'Interface display',
+		fourIsShowLogo: 'Sidebar logo',
+		fourIsBreadcrumb: 'Open breadcrumb',
+		fourIsBreadcrumbIcon: 'Open breadcrumb icon',
+		fourIsTagsview: 'Open tagsview',
+		fourIsTagsviewIcon: 'Open tagsview Icon',
+		fourIsCacheTagsView: 'Enable tagsview cache',
+		fourIsSortableTagsView: 'Enable tagsview drag',
+		fourIsShareTagsView: 'Enable tagsview sharing',
+		fourIsFooter: 'Open footer',
+		fourIsGrayscale: 'Grey model',
+		fourIsInvert: 'Color weak mode',
+		fourIsDark: 'Dark Mode',
+		fourIsWatermark: 'Turn on watermark',
+		fourWatermarkText: 'Watermark copy',
+		fiveTitle: 'Other settings',
+		fiveTagsStyle: 'Tagsview style',
+		fiveAnimation: 'page animation',
+		fiveColumnsAsideStyle: 'Column style',
+		fiveColumnsAsideLayout: 'Column layout',
+		sixTitle: 'Layout switch',
+		sixDefaults: 'One',
+		sixClassic: 'Two',
+		sixTransverse: 'Three',
+		sixColumns: 'Four',
+		tipText: 'Click the button below to copy the layout configuration to `/src/stores/themeConfig.ts` It has been modified in.',
+		copyText: 'replication configuration',
+		resetText: 'restore default',
+		copyTextSuccess: 'Copy succeeded!',
+		copyTextError: 'Copy failed!',
+	},
+	upgrade: {
+		title: 'New version',
+		msg: 'The new version is available, please update it now! Dont worry, the update is fast!',
+		desc: 'Prompt: Update will restore the default configuration',
+		btnOne: 'Cruel refusal',
+		btnTwo: 'Update now',
+		btnTwoLoading: 'Updating',
+	},
+};
diff --git a/LA24030_LuLiPackageLine_Web/src/i18n/lang/zh-cn.ts b/LA24030_LuLiPackageLine_Web/src/i18n/lang/zh-cn.ts
new file mode 100644
index 0000000..6ddfc96
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/i18n/lang/zh-cn.ts
@@ -0,0 +1,192 @@
+// 瀹氫箟鍐呭
+export default {
+	router: {
+		home: '棣栭〉',
+		system: '绯荤粺璁剧疆',
+		systemMenu: '鑿滃崟绠$悊',
+		systemRole: '瑙掕壊绠$悊',
+		systemUser: '鐢ㄦ埛绠$悊',
+		systemDept: '閮ㄩ棬绠$悊',
+		systemDic: '瀛楀吀绠$悊',
+		limits: '鏉冮檺绠$悊',
+		limitsFrontEnd: '鍓嶇鎺у埗',
+		limitsFrontEndPage: '椤甸潰鏉冮檺',
+		limitsFrontEndBtn: '鎸夐挳鏉冮檺',
+		limitsBackEnd: '鍚庣鎺у埗',
+		limitsBackEndEndPage: '椤甸潰鏉冮檺',
+		menu: '鑿滃崟宓屽',
+		menu1: '鑿滃崟1',
+		menu11: '鑿滃崟11',
+		menu12: '鑿滃崟12',
+		menu121: '鑿滃崟121',
+		menu122: '鑿滃崟122',
+		menu13: '鑿滃崟13',
+		menu2: '鑿滃崟2',
+		funIndex: '鍔熻兘',
+		funTagsView: 'tagsView 鎿嶄綔',
+		funCountup: '鏁板瓧婊氬姩',
+		funWangEditor: 'Editor 缂栬緫鍣�',
+		funCropper: '鍥剧墖瑁佸壀',
+		funQrcode: '浜岀淮鐮佺敓鎴�',
+		funEchartsMap: '鍦扮悊鍧愭爣/鍦板浘',
+		funPrintJs: '椤甸潰鎵撳嵃',
+		funClipboard: '澶嶅埗鍓垏',
+		funGridLayout: '鎷栨嫿甯冨眬',
+		funSplitpanes: '绐楁牸鎷嗗垎鍣�',
+		funDragVerify: '楠岃瘉鍣�',
+		pagesIndex: '椤甸潰',
+		pagesFiltering: '杩囨护绛涢�夌粍浠�',
+		pagesFilteringDetails: '杩囨护绛涢�夌粍浠惰鎯�',
+		pagesFilteringDetails1: '杩囨护绛涢�夌粍浠惰鎯�111',
+		pagesIocnfont: 'ali 瀛椾綋鍥炬爣',
+		pagesElement: 'ele 瀛椾綋鍥炬爣',
+		pagesAwesome: 'awe 瀛椾綋鍥炬爣',
+		pagesFormAdapt: '琛ㄥ崟鑷�傚簲',
+		pagesTableRules: '琛ㄥ崟琛ㄦ牸楠岃瘉',
+		pagesFormI18n: '琛ㄥ崟鍥介檯鍖�',
+		pagesFormRules: '澶氳〃鍗曢獙璇�',
+		pagesDynamicForm: '鍔ㄦ�佸鏉傝〃鍗�',
+		pagesWorkflow: '宸ヤ綔娴�',
+		pagesListAdapt: '鍒楄〃鑷�傚簲',
+		pagesWaterfall: '鐎戝竷灞�',
+		pagesSteps: '姝ラ鏉�',
+		pagesPreview: '澶у浘棰勮',
+		pagesWaves: '娉㈡氮鏁堟灉',
+		pagesTree: '鏍戝舰鏀硅〃鏍�',
+		pagesDrag: '鎷栧姩鎸囦护',
+		pagesLazyImg: '鍥剧墖鎳掑姞杞�',
+		makeIndex: '缁勪欢灏佽',
+		makeSelector: '鍥炬爣閫夋嫨鍣�',
+		makeNoticeBar: '婊氬姩閫氱煡鏍�',
+		makeSvgDemo: 'svgIcon 婕旂ず',
+		makeTableDemo: '琛ㄦ牸灏佽婕旂ず',
+		paramsIndex: '璺敱鍙傛暟',
+		paramsCommon: '鏅�氳矾鐢�',
+		paramsDynamic: '鍔ㄦ�佽矾鐢�',
+		paramsCommonDetails: '鏅�氳矾鐢辫鎯�',
+		paramsDynamicDetails: '鍔ㄦ�佽矾鐢辫鎯�',
+		chartIndex: '澶ф暟鎹浘琛�',
+		visualizingIndex: '鏁版嵁鍙鍖�',
+		visualizingLinkDemo1: '鏁版嵁鍙鍖栨紨绀�1',
+		visualizingLinkDemo2: '鏁版嵁鍙鍖栨紨绀�2',
+		personal: '涓汉涓績',
+		tools: '宸ュ叿绫婚泦鍚�',
+		layoutLinkView: '澶栭摼',
+		layoutIframeViewOne: '鍐呭祵 iframe1',
+		layoutIframeViewTwo: '鍐呭祵 iframe2',
+	},
+	staticRoutes: {
+		signIn: '鐧诲綍',
+		notFound: '鎵句笉鍒版椤甸潰',
+		noPower: '娌℃湁鏉冮檺',
+	},
+	user: {
+		title0: '缁勪欢澶у皬',
+		title1: '璇█鍒囨崲',
+		title2: '鑿滃崟鎼滅储',
+		title3: '甯冨眬閰嶇疆',
+		title4: '娑堟伅',
+		title5: '寮�鍏ㄥ睆',
+		title6: '鍏冲叏灞�',
+		dropdownLarge: '澶у瀷',
+		dropdownDefault: '榛樿',
+		dropdownSmall: '灏忓瀷',
+		dropdown1: '棣栭〉',
+		dropdown2: '涓汉涓績',
+		dropdown3: '404',
+		dropdown4: '401',
+		dropdown5: '閫�鍑虹櫥褰�',
+		dropdown6: '浠g爜浠撳簱',
+		searchPlaceholder: '鑿滃崟鎼滅储锛氭敮鎸佷腑鏂囥�佽矾鐢辫矾寰�',
+		newTitle: '閫氱煡',
+		newBtn: '鍏ㄩ儴宸茶',
+		newGo: '鍓嶅線閫氱煡涓績',
+		newDesc: '鏆傛棤閫氱煡',
+		logOutTitle: '鎻愮ず',
+		logOutMessage: '姝ゆ搷浣滃皢閫�鍑虹櫥褰�, 鏄惁缁х画?',
+		logOutConfirm: '纭畾',
+		logOutCancel: '鍙栨秷',
+		logOutExit: '閫�鍑轰腑',
+	},
+	tagsView: {
+		refresh: '鍒锋柊',
+		close: '鍏抽棴',
+		closeOther: '鍏抽棴鍏跺畠',
+		closeAll: '鍏ㄩ儴鍏抽棴',
+		fullscreen: '褰撳墠椤靛叏灞�',
+		closeFullscreen: '鍏抽棴鍏ㄥ睆',
+	},
+	notFound: {
+		foundTitle: '鍦板潃杈撳叆閿欒锛岃閲嶆柊杈撳叆鍦板潃~',
+		foundMsg: '鎮ㄥ彲浠ュ厛妫�鏌ョ綉鍧�锛岀劧鍚庨噸鏂拌緭鍏ユ垨缁欐垜浠弽棣堥棶棰樸��',
+		foundBtn: '杩斿洖棣栭〉',
+	},
+	noAccess: {
+		accessTitle: '鎮ㄦ湭琚巿鏉冿紝娌℃湁鎿嶄綔鏉冮檺~',
+		accessMsg: '鑱旂郴鏂瑰紡锛氬姞QQ缇ゆ帰璁� 665452019',
+		accessBtn: '閲嶆柊鎺堟潈',
+	},
+	layout: {
+		configTitle: '甯冨眬閰嶇疆',
+		oneTitle: '鍏ㄥ眬涓婚',
+		twoTopTitle: '椤舵爮璁剧疆',
+		twoMenuTitle: '鑿滃崟璁剧疆',
+		twoColumnsTitle: '鍒嗘爮璁剧疆',
+		twoTopBar: '椤舵爮鑳屾櫙',
+		twoTopBarColor: '椤舵爮榛樿瀛椾綋棰滆壊',
+		twoIsTopBarColorGradual: '椤舵爮鑳屾櫙娓愬彉',
+		twoMenuBar: '鑿滃崟鑳屾櫙',
+		twoMenuBarColor: '鑿滃崟榛樿瀛椾綋棰滆壊',
+		twoMenuBarActiveColor: '鑿滃崟楂樹寒鑳屾櫙鑹�',
+		twoIsMenuBarColorGradual: '鑿滃崟鑳屾櫙娓愬彉',
+		twoColumnsMenuBar: '鍒嗘爮鑿滃崟鑳屾櫙',
+		twoColumnsMenuBarColor: '鍒嗘爮鑿滃崟榛樿瀛椾綋棰滆壊',
+		twoIsColumnsMenuBarColorGradual: '鍒嗘爮鑿滃崟鑳屾櫙娓愬彉',
+		twoIsColumnsMenuHoverPreload: '鍒嗘爮鑿滃崟榧犳爣鎮仠棰勫姞杞�',
+		threeTitle: '鐣岄潰璁剧疆',
+		threeIsCollapse: '鑿滃崟姘村钩鎶樺彔',
+		threeIsUniqueOpened: '鑿滃崟鎵嬮鐞�',
+		threeIsFixedHeader: '鍥哄畾 Header',
+		threeIsClassicSplitMenu: '缁忓吀甯冨眬鍒嗗壊鑿滃崟',
+		threeIsLockScreen: '寮�鍚攣灞�',
+		threeLockScreenTime: '鑷姩閿佸睆(s/绉�)',
+		fourTitle: '鐣岄潰鏄剧ず',
+		fourIsShowLogo: '渚ц竟鏍� Logo',
+		fourIsBreadcrumb: '寮�鍚� Breadcrumb',
+		fourIsBreadcrumbIcon: '寮�鍚� Breadcrumb 鍥炬爣',
+		fourIsTagsview: '寮�鍚� Tagsview',
+		fourIsTagsviewIcon: '寮�鍚� Tagsview 鍥炬爣',
+		fourIsCacheTagsView: '寮�鍚� TagsView 缂撳瓨',
+		fourIsSortableTagsView: '寮�鍚� TagsView 鎷栨嫿',
+		fourIsShareTagsView: '寮�鍚� TagsView 鍏辩敤',
+		fourIsFooter: '寮�鍚� Footer',
+		fourIsGrayscale: '鐏拌壊妯″紡',
+		fourIsInvert: '鑹插急妯″紡',
+		fourIsDark: '娣辫壊妯″紡',
+		fourIsWatermark: '寮�鍚按鍗�',
+		fourWatermarkText: '姘村嵃鏂囨',
+		fiveTitle: '鍏跺畠璁剧疆',
+		fiveTagsStyle: 'Tagsview 椋庢牸',
+		fiveAnimation: '涓婚〉闈㈠垏鎹㈠姩鐢�',
+		fiveColumnsAsideStyle: '鍒嗘爮楂樹寒椋庢牸',
+		fiveColumnsAsideLayout: '鍒嗘爮甯冨眬椋庢牸',
+		sixTitle: '甯冨眬鍒囨崲',
+		sixDefaults: '榛樿',
+		sixClassic: '缁忓吀',
+		sixTransverse: '妯悜',
+		sixColumns: '鍒嗘爮',
+		tipText: '鐐瑰嚮涓嬫柟鎸夐挳锛屽鍒跺竷灞�閰嶇疆鍘� `src/stores/themeConfig.ts` 涓慨鏀广��',
+		copyText: '涓�閿鍒堕厤缃�',
+		resetText: '涓�閿仮澶嶉粯璁�',
+		copyTextSuccess: '澶嶅埗鎴愬姛锛�',
+		copyTextError: '澶嶅埗澶辫触锛�',
+	},
+	upgrade: {
+		title: '鏂扮増鏈崌绾�',
+		msg: '鏂扮増鏈潵鍟︼紝椹笂鏇存柊灏濋矞鍚э紒涓嶇敤鎷呭績锛屾洿鏂板緢蹇殑鍝︼紒',
+		desc: '鎻愮ず锛氭洿鏂颁細杩樺師榛樿閰嶇疆',
+		btnOne: '娈嬪繊鎷掔粷',
+		btnTwo: '椹笂鏇存柊',
+		btnTwoLoading: '鏇存柊涓�',
+	},
+};
diff --git a/LA24030_LuLiPackageLine_Web/src/i18n/lang/zh-tw.ts b/LA24030_LuLiPackageLine_Web/src/i18n/lang/zh-tw.ts
new file mode 100644
index 0000000..98e791c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/i18n/lang/zh-tw.ts
@@ -0,0 +1,192 @@
+// 瀹氫箟鍐呭
+export default {
+	router: {
+		home: '棣栭爜',
+		system: '绯荤当瑷疆',
+		systemMenu: '閬稿柈绠$悊',
+		systemRole: '瑙掕壊绠$悊',
+		systemUser: '鐢ㄦ埗绠$悊',
+		systemDept: '閮ㄩ杸绠$悊',
+		systemDic: '瀛楀吀绠$悊',
+		limits: '瑷卞彲娆婄鐞�',
+		limitsFrontEnd: '鍓嶇鎺у埗',
+		limitsFrontEndPage: '闋侀潰瑷卞彲娆�',
+		limitsFrontEndBtn: '鎸夐垥瑷卞彲娆�',
+		limitsBackEnd: '寰岀鎺у埗',
+		limitsBackEndEndPage: '闋侀潰瑷卞彲娆�',
+		menu: '閬稿柈宓屽',
+		menu1: '閬稿柈1',
+		menu11: '閬稿柈11',
+		menu12: '閬稿柈12',
+		menu121: '閬稿柈121',
+		menu122: '閬稿柈122',
+		menu13: '閬稿柈13',
+		menu2: '閬稿柈2',
+		funIndex: '鍔熻兘',
+		funTagsView: 'tagsView 鎿嶄綔',
+		funCountup: '鏁镐綅婊惧嫊',
+		funWangEditor: 'Editor 绶ㄨ集鍣�',
+		funCropper: '鍦栫墖瑁佸壀',
+		funQrcode: '浜岀董纰肩敓鎴�',
+		funEchartsMap: '鍦扮悊搴ф/鍦板湒',
+		funPrintJs: '闋侀潰鍒楀嵃',
+		funClipboard: '瑜囪=鍓垏',
+		funGridLayout: '鎷栨嫿浣堝眬',
+		funSplitpanes: '绐楁牸鎶橀枊鍣�',
+		funDragVerify: '椹楄瓑鍣�',
+		pagesIndex: '闋侀潰',
+		pagesFiltering: '閬庢烤绡╅伕绲勪欢',
+		pagesFilteringDetails: '閬庢烤绡╅伕绲勪欢瑭虫儏',
+		pagesFilteringDetails1: '閬庢烤绡╅伕绲勪欢瑭虫儏111',
+		pagesIocnfont: 'ali 瀛楅珨鍦栨',
+		pagesElement: 'ele 瀛楅珨鍦栨',
+		pagesAwesome: 'awe 瀛楅珨鍦栨',
+		pagesFormAdapt: '琛ㄥ柈鑷垜瑾挎暣',
+		pagesTableRules: '琛ㄥ柈琛ㄦ牸椹楄瓑',
+		pagesFormI18n: '琛ㄥ柈鍦嬮殯鍖�',
+		pagesFormRules: '澶氳〃鍠璀�',
+		pagesDynamicForm: '鍕曟厠瑜囬洔琛ㄥ柈',
+		pagesWorkflow: '宸ヤ綔娴�',
+		pagesListAdapt: '娓呭柈鑷垜瑾挎暣',
+		pagesWaterfall: '鐎戝竷灞�',
+		pagesSteps: '姝ラ姊�',
+		pagesPreview: '澶у湒闋愯',
+		pagesWaves: '娉㈡氮鏁堟灉',
+		pagesTree: '妯瑰舰鏀硅〃鏍�',
+		pagesDrag: '鎷栧嫊鎸囦护',
+		pagesLazyImg: '鍦栫墖鎳跺姞杓�',
+		makeIndex: '绲勪欢灏佽',
+		makeSelector: '鍦栨閬告搰鍣�',
+		makeNoticeBar: '婊惧嫊閫氱煡娆�',
+		makeSvgDemo: 'svgIcon 婕旂ず',
+		makeTableDemo: '琛ㄦ牸灏佽婕旂ず',
+		paramsIndex: '璺敱鍙冩暩',
+		paramsCommon: '鏅�氳矾鐢�',
+		paramsDynamic: '鍕曟厠璺敱',
+		paramsCommonDetails: '鏅�氳矾鐢辫┏鎯�',
+		paramsDynamicDetails: '鍕曟厠璺敱瑭虫儏',
+		chartIndex: '澶ц硣鏂欏湒琛�',
+		visualizingIndex: '鏁告摎瑕栬鍖�',
+		visualizingLinkDemo1: '鏁告摎瑕栬鍖栨紨绀�1',
+		visualizingLinkDemo2: '鏁告摎瑕栬鍖栨紨绀�2',
+		personal: '鍊嬩汉涓績',
+		tools: '宸ュ叿椤為泦鍚�',
+		layoutLinkView: '澶栭張',
+		layoutIframeViewOne: '鍐呭祵 iframe1',
+		layoutIframeViewTwo: '鍐呭祵 iframe2',
+	},
+	staticRoutes: {
+		signIn: '鐧诲叆',
+		notFound: '鎵句笉鍒版闋侀潰',
+		noPower: '娌掓湁瑷卞彲娆�',
+	},
+	user: {
+		title0: '绲勪欢澶у皬',
+		title1: '瑾炶█鍒囨彌',
+		title2: '閬稿柈钂愮储',
+		title3: '浣堝眬閰嶅瘶',
+		title4: '娑堟伅',
+		title5: '闁嬪叏灞�',
+		title6: '闂滃叏灞�',
+		dropdownLarge: '澶у瀷',
+		dropdownDefault: '榛樿獚',
+		dropdownSmall: '灏忓瀷',
+		dropdown1: '棣栭爜',
+		dropdown2: '鍊嬩汉涓績',
+		dropdown3: '404',
+		dropdown4: '401',
+		dropdown5: '鐧诲嚭',
+		dropdown6: '绋嬪紡纰煎�夊韩',
+		searchPlaceholder: '閬稿柈钂愮储锛氭敮鎻翠腑鏂囥�佽矾鐢辫矾寰�',
+		newTitle: '閫氱煡',
+		newBtn: '鍏ㄩ儴宸茶畝',
+		newGo: '鍓嶅線閫氱煡涓績',
+		newDesc: '鏆劇閫氱煡',
+		logOutTitle: '鎻愮ず',
+		logOutMessage: '姝ゆ搷浣滃皣鐧诲嚭锛屾槸鍚︾辜绾岋紵',
+		logOutConfirm: '纰哄畾',
+		logOutCancel: '鍙栨秷',
+		logOutExit: '閫�鍑轰腑',
+	},
+	tagsView: {
+		refresh: '閲嶇躬',
+		close: '闂滈枆',
+		closeOther: '闂滈枆鍏跺畠',
+		closeAll: '鍏ㄩ儴闂滈枆',
+		fullscreen: '鐣跺墠闋佸叏灞�',
+		closeFullscreen: '闂滈枆鍏ㄥ睆',
+	},
+	notFound: {
+		foundTitle: '鍦板潃杓稿叆閷锛岃珛閲嶆柊杓稿叆鍦板潃~',
+		foundMsg: '鎮ㄥ彲浠ュ厛妾㈡煡缍插潃锛岀劧寰岄噸鏂拌几鍏ユ垨绲︽垜鍊戣看闊垮晱椤屻��',
+		foundBtn: '杩斿洖棣栭爜',
+	},
+	noAccess: {
+		accessTitle: '鎮ㄦ湭琚巿娆婏紝娌掓湁鎿嶄綔瑷卞彲娆妦',
+		accessMsg: '鑱公鏂瑰紡锛氬姞QQ缇ゆ帰瑷�665452019',
+		accessBtn: '閲嶆柊鎺堟瑠',
+	},
+	layout: {
+		configTitle: '浣堝眬閰嶅瘶',
+		oneTitle: '鍏ㄥ煙涓婚',
+		twoTopTitle: '闋傛瑒瑷畾',
+		twoMenuTitle: '閬稿柈瑷畾',
+		twoColumnsTitle: '鍒嗘瑒瑷畾',
+		twoTopBar: '闋傛瑒鑳屾櫙',
+		twoTopBarColor: '闋傛瑒榛樿獚瀛楅珨椤忚壊',
+		twoIsTopBarColorGradual: '闋傛瑒鑳屾櫙婕歌畩',
+		twoMenuBar: '閬稿柈鑳屾櫙',
+		twoMenuBarColor: '閬稿柈榛樿獚瀛楅珨椤忚壊',
+		twoMenuBarActiveColor: '閬稿柈楂樹寒鑳屾櫙鑹�',
+		twoIsMenuBarColorGradual: '閬稿柈鑳屾櫙婕歌畩',
+		twoColumnsMenuBar: '鍒嗘瑒閬稿柈鑳屾櫙',
+		twoColumnsMenuBarColor: '鍒嗘瑒閬稿柈榛樿獚瀛楅珨椤忚壊',
+		twoIsColumnsMenuBarColorGradual: '鍒嗘瑒閬稿柈鑳屾櫙婕歌畩',
+		twoIsColumnsMenuHoverPreload: '鍒嗘瑒閬稿柈婊戦紶鎳稿仠闋愬姞杓�',
+		threeTitle: '浠嬮潰瑷畾',
+		threeIsCollapse: '閬稿柈姘村噯鎶樼枈',
+		threeIsUniqueOpened: '閬稿柈鎵嬮ⅷ鐞�',
+		threeIsFixedHeader: '鍥哄畾 Header',
+		threeIsClassicSplitMenu: '缍撳吀浣堝眬鍒嗗壊閬稿柈',
+		threeIsLockScreen: '闁嬪暉閹栧睆',
+		threeLockScreenTime: '鑷嫊閹栧睆(s/绉�)',
+		fourTitle: '浠嬮潰椤ず',
+		fourIsShowLogo: '鍋撮倞娆� Logo',
+		fourIsBreadcrumb: '闁嬪暉 Breadcrumb',
+		fourIsBreadcrumbIcon: '闁嬪暉 Breadcrumb 鍦栨',
+		fourIsTagsview: '闁嬪暉 Tagsview',
+		fourIsTagsviewIcon: '闁嬪暉 Tagsview 鍦栨',
+		fourIsCacheTagsView: '闁嬪暉 TagsView 绶╁瓨',
+		fourIsSortableTagsView: '闁嬪暉 TagsView 鎷栨嫿',
+		fourIsShareTagsView: '闁嬪暉 TagsView 鍏辩敤',
+		fourIsFooter: '闁嬪暉 Footer',
+		fourIsGrayscale: '鐏拌壊妯″紡',
+		fourIsInvert: '鑹插急妯″紡',
+		fourIsDark: '娣辫壊妯″紡',
+		fourIsWatermark: '闁嬪暉娴按鍗�',
+		fourWatermarkText: '娴按鍗版枃妗�',
+		fiveTitle: '鍏跺畠瑷畾',
+		fiveTagsStyle: 'Tagsview 棰ㄦ牸',
+		fiveAnimation: '涓婚爜闈㈠垏鎻涘嫊鐣�',
+		fiveColumnsAsideStyle: '鍒嗘瑒楂樹寒棰ㄦ牸',
+		fiveColumnsAsideLayout: '鍒嗘瑒浣堝眬棰ㄦ牸',
+		sixTitle: '浣堝眬鍒囨彌',
+		sixDefaults: '榛樿獚',
+		sixClassic: '缍撳吀',
+		sixTransverse: '姗悜',
+		sixColumns: '鍒嗘瑒',
+		tipText: '榛炴搳涓嬫柟鎸夐垥锛岃瑁戒綀灞�閰嶅瘶鍘籤src/stores/themeConfig.ts`涓慨鏀广��',
+		copyText: '涓�閸佃瑁介厤瀵�',
+		resetText: '涓�閸垫仮寰╅粯瑾�',
+		copyTextSuccess: '瑜囪=鎴愬姛锛�',
+		copyTextError: '瑜囪=澶辨晽锛�',
+	},
+	upgrade: {
+		title: '鏂扮増鏈櫈绱�',
+		msg: '鏂扮増鏈締鍟︼紝棣笂鏇存柊鍢楅鍚э紒 涓嶇敤鎿斿績锛屾洿鏂板緢蹇殑鍝︼紒',
+		desc: '鎻愮ず锛氭洿鏂版渻閭勫師榛樿獚閰嶅瘶',
+		btnOne: '娈樺繊鎷掔禃',
+		btnTwo: '棣笂鏇存柊',
+		btnTwoLoading: '鏇存柊涓�',
+	},
+};
diff --git a/LA24030_LuLiPackageLine_Web/src/i18n/pages/formI18n/en.ts b/LA24030_LuLiPackageLine_Web/src/i18n/pages/formI18n/en.ts
new file mode 100644
index 0000000..b3c54d6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/i18n/pages/formI18n/en.ts
@@ -0,0 +1,13 @@
+// 瀹氫箟鍐呭
+export default {
+	formI18nLabel: {
+		name: 'name',
+		email: 'email',
+		autograph: 'autograph',
+	},
+	formI18nPlaceholder: {
+		name: 'Please enter your name',
+		email: 'Please enter the users Department',
+		autograph: 'Please enter the login account name',
+	},
+};
diff --git a/LA24030_LuLiPackageLine_Web/src/i18n/pages/formI18n/zh-cn.ts b/LA24030_LuLiPackageLine_Web/src/i18n/pages/formI18n/zh-cn.ts
new file mode 100644
index 0000000..0bed3ec
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/i18n/pages/formI18n/zh-cn.ts
@@ -0,0 +1,13 @@
+// 瀹氫箟鍐呭
+export default {
+	formI18nLabel: {
+		name: '濮撳悕',
+		email: '鐢ㄦ埛褰掑睘閮ㄩ棬',
+		autograph: '鐧婚檰璐︽埛鍚�',
+	},
+	formI18nPlaceholder: {
+		name: '璇疯緭鍏ュ鍚�',
+		email: '璇疯緭鍏ョ敤鎴峰綊灞為儴闂�',
+		autograph: '璇疯緭鍏ョ櫥闄嗚处鎴峰悕',
+	},
+};
diff --git a/LA24030_LuLiPackageLine_Web/src/i18n/pages/formI18n/zh-tw.ts b/LA24030_LuLiPackageLine_Web/src/i18n/pages/formI18n/zh-tw.ts
new file mode 100644
index 0000000..393ac03
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/i18n/pages/formI18n/zh-tw.ts
@@ -0,0 +1,13 @@
+// 瀹氫箟鍐呭
+export default {
+	formI18nLabel: {
+		name: '濮撳悕',
+		email: '鐢ㄦ埗姝稿爆閮ㄩ杸',
+		autograph: '鐧诲叆甯虫埗鍚�',
+	},
+	formI18nPlaceholder: {
+		name: '璜嬭几鍏ュ鍚�',
+		email: '璜嬭几鍏ョ敤鎴舵灞儴闁�',
+		autograph: '璜嬭几鍏ョ櫥鍏ュ赋鎴跺悕',
+	},
+};
diff --git a/LA24030_LuLiPackageLine_Web/src/i18n/pages/login/en.ts b/LA24030_LuLiPackageLine_Web/src/i18n/pages/login/en.ts
new file mode 100644
index 0000000..2654a18
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/i18n/pages/login/en.ts
@@ -0,0 +1,29 @@
+// 瀹氫箟鍐呭
+export default {
+	label: {
+		one1: 'User name login',
+		two2: 'Mobile number',
+	},
+	link: {
+		one3: 'Third party login',
+		two4: 'Links',
+	},
+	account: {
+		accountPlaceholder1: 'The user name admin or not is common',
+		accountPlaceholder2: 'Password: 123456',
+		accountPlaceholder3: 'Please enter the verification code',
+		accountBtnText: 'Sign in',
+	},
+	mobile: {
+		placeholder1: 'Please input mobile phone number',
+		placeholder2: 'Please enter the verification code',
+		codeText: 'Get code',
+		btnText: 'Sign in',
+		msgText:
+			'Warm tip: it is recommended to use Google, Microsoft edge, version 79.0.1072.62 and above browsers, and 360 browser, please use speed mode',
+	},
+	scan: {
+		text: 'Open the mobile phone to scan and quickly log in / register',
+	},
+	signInText: 'welcome back!',
+};
diff --git a/LA24030_LuLiPackageLine_Web/src/i18n/pages/login/zh-cn.ts b/LA24030_LuLiPackageLine_Web/src/i18n/pages/login/zh-cn.ts
new file mode 100644
index 0000000..3367b53
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/i18n/pages/login/zh-cn.ts
@@ -0,0 +1,28 @@
+// 瀹氫箟鍐呭
+export default {
+	label: {
+		one1: '鐢ㄦ埛鍚嶇櫥褰�',
+		two2: '鎵嬫満鍙风櫥褰�',
+	},
+	link: {
+		one3: '绗笁鏂圭櫥褰�',
+		two4: '鍙嬫儏閾炬帴',
+	},
+	account: {
+		accountPlaceholder1: '鐢ㄦ埛鍚� admin 鎴栦笉杈撳潎涓� common',
+		accountPlaceholder2: '瀵嗙爜锛�123456',
+		accountPlaceholder3: '璇疯緭鍏ラ獙璇佺爜',
+		accountBtnText: '鐧� 褰�',
+	},
+	mobile: {
+		placeholder1: '璇疯緭鍏ユ墜鏈哄彿',
+		placeholder2: '璇疯緭鍏ラ獙璇佺爜',
+		codeText: '鑾峰彇楠岃瘉鐮�',
+		btnText: '鐧� 褰�',
+		msgText: '* 娓╅Θ鎻愮ず锛氬缓璁娇鐢ㄨ胺姝屻�丮icrosoft Edge锛岀増鏈� 79.0.1072.62 鍙婁互涓婃祻瑙堝櫒锛�360娴忚鍣ㄨ浣跨敤鏋侀�熸ā寮�',
+	},
+	scan: {
+		text: '鎵撳紑鎵嬫満鎵竴鎵紝蹇�熺櫥褰�/娉ㄥ唽',
+	},
+	signInText: '娆㈣繋鍥炴潵锛�',
+};
diff --git a/LA24030_LuLiPackageLine_Web/src/i18n/pages/login/zh-tw.ts b/LA24030_LuLiPackageLine_Web/src/i18n/pages/login/zh-tw.ts
new file mode 100644
index 0000000..138e8c8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/i18n/pages/login/zh-tw.ts
@@ -0,0 +1,28 @@
+// 瀹氫箟鍐呭
+export default {
+	label: {
+		one1: '鐢ㄦ埗鍚嶇櫥鍏�',
+		two2: '鎵嬫铏熺櫥鍏�',
+	},
+	link: {
+		one3: '鍗斿姏寤犲晢鐧诲叆',
+		two4: '鍙嬫儏閫g祼',
+	},
+	account: {
+		accountPlaceholder1: '鐢ㄦ埗鍚峚dmin鎴栦笉杓稿潎鐐篶ommon',
+		accountPlaceholder2: '瀵嗙⒓锛�123456',
+		accountPlaceholder3: '璜嬭几鍏ラ璀夌⒓',
+		accountBtnText: '鐧诲叆',
+	},
+	mobile: {
+		placeholder1: '璜嬭几鍏ユ墜姗熻櫉',
+		placeholder2: '璜嬭几鍏ラ璀夌⒓',
+		codeText: '鐛插彇椹楄瓑纰�',
+		btnText: '鐧诲叆',
+		msgText: '* 婧Θ鎻愮ず锛氬缓璀颁娇鐢ㄧ﹢姝屻�丮icrosoft Edge锛岀増鏈�79.0.1072.62鍙婁互涓婄�忚鍣紝360鐎忚鍣ㄨ珛浣跨敤妤甸�熸ā寮�',
+	},
+	scan: {
+		text: '鎵撻枊鎵嬫鎺冧竴鎺冿紝蹇�熺櫥閷�/娉ㄥ唽',
+	},
+	signInText: '姝¤繋鍥炰締锛�',
+};
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/component/aside.vue b/LA24030_LuLiPackageLine_Web/src/layout/component/aside.vue
new file mode 100644
index 0000000..cb6bd48
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/component/aside.vue
@@ -0,0 +1,158 @@
+<template>
+	<div class="h100" v-show="!isTagsViewCurrenFull">
+		<el-aside class="layout-aside" :class="setCollapseStyle">
+			<Logo v-if="setShowLogo" />
+			<el-scrollbar class="flex-auto" ref="layoutAsideScrollbarRef" @mouseenter="onAsideEnterLeave(true)" @mouseleave="onAsideEnterLeave(false)">
+				<Vertical :menuList="state.menuList" />
+			</el-scrollbar>
+		</el-aside>
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutAside">
+import { defineAsyncComponent, reactive, computed, watch, onBeforeMount, ref } from 'vue';
+import { storeToRefs } from 'pinia';
+import { useRoutesList } from '/@/stores/routesList';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
+import mittBus from '/@/utils/mitt';
+
+// 寮曞叆缁勪欢
+const Logo = defineAsyncComponent(() => import('/@/layout/logo/index.vue'));
+const Vertical = defineAsyncComponent(() => import('/@/layout/navMenu/vertical.vue'));
+
+// 瀹氫箟鍙橀噺鍐呭
+const layoutAsideScrollbarRef = ref();
+const stores = useRoutesList();
+const storesThemeConfig = useThemeConfig();
+const storesTagsViewRoutes = useTagsViewRoutes();
+const { routesList } = storeToRefs(stores);
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const { isTagsViewCurrenFull } = storeToRefs(storesTagsViewRoutes);
+const state = reactive<AsideState>({
+	menuList: [],
+	clientWidth: 0,
+});
+
+// 璁剧疆鑿滃崟灞曞紑/鏀惰捣鏃剁殑瀹藉害
+const setCollapseStyle = computed(() => {
+	const { layout, isCollapse, menuBar } = themeConfig.value;
+	const asideBrTheme = ['#FFFFFF', '#FFF', '#fff', '#ffffff'];
+	const asideBrColor = asideBrTheme.includes(menuBar) ? 'layout-el-aside-br-color' : '';
+	// 鍒ゆ柇鏄惁鏄墜鏈虹
+	if (state.clientWidth <= 1000) {
+		if (isCollapse) {
+			document.body.setAttribute('class', 'el-popup-parent--hidden');
+			const asideEle = document.querySelector('.layout-container') as HTMLElement;
+			const modeDivs = document.createElement('div');
+			modeDivs.setAttribute('class', 'layout-aside-mobile-mode');
+			asideEle.appendChild(modeDivs);
+			modeDivs.addEventListener('click', closeLayoutAsideMobileMode);
+			return [asideBrColor, 'layout-aside-mobile', 'layout-aside-mobile-open'];
+		} else {
+			// 鍏抽棴寮圭獥
+			closeLayoutAsideMobileMode();
+			return [asideBrColor, 'layout-aside-mobile', 'layout-aside-mobile-close'];
+		}
+	} else {
+		if (layout === 'columns' || layout === 'classic') {
+			// 鍒嗘爮甯冨眬銆佺粡鍏稿竷灞�锛岃彍鍗曟敹璧锋椂瀹藉害缁� 1px锛岄槻姝㈠垏鎹㈠姩鐢绘秷澶�
+			if (isCollapse) return [asideBrColor, 'layout-aside-pc-1'];
+			else return [asideBrColor, 'layout-aside-pc-220'];
+		} else {
+			// 鍏跺畠甯冨眬缁� 64px
+			if (isCollapse) return [asideBrColor, 'layout-aside-pc-64'];
+			else return [asideBrColor, 'layout-aside-pc-220'];
+		}
+	}
+});
+// 璁剧疆鏄剧ず/闅愯棌 logo
+const setShowLogo = computed(() => {
+	let { layout, isShowLogo } = themeConfig.value;
+	return (isShowLogo && layout === 'defaults') || (isShowLogo && layout === 'columns');
+});
+// 鍏抽棴绉诲姩绔挋鐗�
+const closeLayoutAsideMobileMode = () => {
+	const el = document.querySelector('.layout-aside-mobile-mode');
+	el?.setAttribute('style', 'animation: error-img-two 0.3s');
+	setTimeout(() => {
+		el?.parentNode?.removeChild(el);
+	}, 300);
+	const clientWidth = document.body.clientWidth;
+	if (clientWidth < 1000) themeConfig.value.isCollapse = false;
+	document.body.setAttribute('class', '');
+};
+// 璁剧疆/杩囨护璺敱锛堥潪闈欐�佽矾鐢�/鏄惁鏄剧ず鍦ㄨ彍鍗曚腑锛�
+const setFilterRoutes = () => {
+	if (themeConfig.value.layout === 'columns') return false;
+	state.menuList = filterRoutesFun(routesList.value);
+};
+// 璺敱杩囨护閫掑綊鍑芥暟
+const filterRoutesFun = <T extends RouteItem>(arr: T[]): T[] => {
+	return arr
+		.filter((item: T) => !item.meta?.isHide)
+		.map((item: T) => {
+			item = Object.assign({}, item);
+			if (item.children) item.children = filterRoutesFun(item.children);
+			return item;
+		});
+};
+// 璁剧疆鑿滃崟瀵艰埅鏄惁鍥哄畾锛堢Щ鍔ㄧ锛�
+const initMenuFixed = (clientWidth: number) => {
+	state.clientWidth = clientWidth;
+};
+// 榧犳爣绉诲叆銆佺Щ鍑�
+const onAsideEnterLeave = (bool: Boolean) => {
+	let { layout } = themeConfig.value;
+	if (layout !== 'columns') return false;
+	if (!bool) mittBus.emit('restoreDefault');
+	// 寮�鍚� `鍒嗘爮鑿滃崟榧犳爣鎮仠棰勫姞杞絗 鎵嶈缃紝闃叉 columnsAside.vue 鐩戝惉 pinia.state
+	if (themeConfig.value.isColumnsMenuHoverPreload) stores.setColumnsMenuHover(bool);
+};
+// 椤甸潰鍔犺浇鍓�
+onBeforeMount(() => {
+	initMenuFixed(document.body.clientWidth);
+	setFilterRoutes();
+	// 姝ょ晫闈笉闇�瑕佸彇娑堢洃鍚�(mittBus.off('setSendColumnsChildren))
+	// 鍥犱负鍒囨崲甯冨眬鏃舵湁鐨勭洃鍚渶瑕佷娇鐢紝鍙栨秷浜嗙洃鍚紝鏌愪簺鎿嶄綔灏嗕笉鐢熸晥
+	mittBus.on('setSendColumnsChildren', (res: MittMenu) => {
+		state.menuList = res.children;
+	});
+	// 寮�鍚粡鍏稿竷灞�鍒嗗壊鑿滃崟鏃讹紝璁剧疆鑿滃崟鏁版嵁
+	mittBus.on('setSendClassicChildren', (res: MittMenu) => {
+		let { layout, isClassicSplitMenu } = themeConfig.value;
+		if (layout === 'classic' && isClassicSplitMenu) {
+			// 缁忓吀甯冨眬鍒嗗壊鑿滃崟鍙涓�椤瑰瓙绾ф椂锛屾敹璧峰乏渚у鑸彍鍗�
+			res.children.length <= 1 ? (themeConfig.value.isCollapse = true) : (themeConfig.value.isCollapse = false);
+			state.menuList = [];
+			state.menuList = res.children;
+		}
+	});
+	// 寮�鍚粡鍏稿竷灞�鍒嗗壊鑿滃崟鏃讹紝閲嶆柊澶勭悊鑿滃崟鏁版嵁
+	mittBus.on('getBreadcrumbIndexSetFilterRoutes', () => {
+		setFilterRoutes();
+	});
+	// 鐩戝惉绐楀彛澶у皬鏀瑰彉鏃�(閫傞厤绉诲姩绔�)
+	mittBus.on('layoutMobileResize', (res: LayoutMobileResize) => {
+		initMenuFixed(res.clientWidth);
+		closeLayoutAsideMobileMode();
+	});
+});
+// 鐩戝惉 themeConfig 閰嶇疆鏂囦欢鐨勫彉鍖栵紝鏇存柊鑿滃崟 el-scrollbar 鐨勯珮搴�
+watch(
+	() => [themeConfig.value.isShowLogoChange, themeConfig.value.isShowLogo, themeConfig.value.layout, themeConfig.value.isClassicSplitMenu],
+	([isShowLogoChange, isShowLogo, layout, isClassicSplitMenu]) => {
+		if (isShowLogoChange !== isShowLogo) {
+			if (layoutAsideScrollbarRef.value) layoutAsideScrollbarRef.value.update();
+		}
+		if (layout === 'classic' && isClassicSplitMenu) return false;
+	}
+);
+// 鐩戝惉鐢ㄦ埛鏉冮檺鍒囨崲锛岀敤浜庢紨绀� `鏉冮檺绠$悊 -> 鍓嶇鎺у埗 -> 椤甸潰鏉冮檺` 鏉冮檺鍒囨崲涓嶇敓鏁�
+watch(
+	() => routesList.value,
+	() => {
+		setFilterRoutes();
+	}
+);
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/component/columnsAside.vue b/LA24030_LuLiPackageLine_Web/src/layout/component/columnsAside.vue
new file mode 100644
index 0000000..884ada2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/component/columnsAside.vue
@@ -0,0 +1,319 @@
+<template>
+	<div class="layout-columns-aside">
+		<div class="layout-logo"><img :src="logoMini" class="layout-logo-medium-img" /></div>
+		<el-scrollbar>
+			<ul @mouseleave="onColumnsAsideMenuMouseleave()">
+				<li
+					v-for="(v, k) in state.columnsAsideList"
+					:key="k"
+					@click="onColumnsAsideMenuClick(v)"
+					@mouseenter="onColumnsAsideMenuMouseenter(v, k)"
+					:ref="
+						(el) => {
+							if (el) columnsAsideOffsetTopRefs[k] = el;
+						}
+					"
+					:class="{ 'layout-columns-active': state.liIndex === k, 'layout-columns-hover': state.liHoverIndex === k }"
+					:title="$t(v.meta.title)"
+				>
+					<div :class="themeConfig.columnsAsideLayout" v-if="!v.meta.isLink || (v.meta.isLink && v.meta.isIframe)">
+						<SvgIcon :name="v.meta.icon" />
+						<div class="columns-vertical-title font12">
+							{{ $t(v.meta.title) && $t(v.meta.title).length >= 4 ? $t(v.meta.title).substr(0, themeConfig.columnsAsideLayout === 'columns-vertical' ? 4 : 3) : $t(v.meta.title) }}
+						</div>
+					</div>
+					<div :class="themeConfig.columnsAsideLayout" v-else>
+						<a :href="v.meta.isLink" target="_blank">
+							<SvgIcon :name="v.meta.icon" />
+							<div class="columns-vertical-title font12">
+								{{ $t(v.meta.title) && $t(v.meta.title).length >= 4 ? $t(v.meta.title).substr(0, themeConfig.columnsAsideLayout === 'columns-vertical' ? 4 : 3) : $t(v.meta.title) }}
+							</div>
+						</a>
+					</div>
+				</li>
+				<div ref="columnsAsideActiveRef" :class="themeConfig.columnsAsideStyle"></div>
+			</ul>
+		</el-scrollbar>
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutColumnsAside">
+import { reactive, ref, onMounted, nextTick, watch, onUnmounted } from 'vue';
+import { useRoute, useRouter, onBeforeRouteUpdate, RouteRecordRaw } from 'vue-router';
+import { storeToRefs } from 'pinia';
+import { useRoutesList } from '/@/stores/routesList';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import mittBus from '/@/utils/mitt';
+import logoMini from '/@/assets/logo-mini.png';
+
+// 瀹氫箟鍙橀噺鍐呭
+const columnsAsideOffsetTopRefs = ref<RefType>([]);
+const columnsAsideActiveRef = ref();
+const stores = useRoutesList();
+const storesThemeConfig = useThemeConfig();
+const { routesList, isColumnsMenuHover, isColumnsNavHover } = storeToRefs(stores);
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const route = useRoute();
+const router = useRouter();
+const state = reactive<ColumnsAsideState>({
+	columnsAsideList: [],
+	liIndex: 0,
+	liOldIndex: null,
+	liHoverIndex: null,
+	liOldPath: null,
+	difference: 0,
+	routeSplit: [],
+});
+
+// 璁剧疆鑿滃崟楂樹寒浣嶇疆绉诲姩
+const setColumnsAsideMove = (k: number) => {
+	if (k === undefined) return false;
+	state.liIndex = k;
+	columnsAsideActiveRef.value.style.top = `${columnsAsideOffsetTopRefs.value[k].offsetTop + state.difference}px`;
+};
+// 鑿滃崟楂樹寒鐐瑰嚮浜嬩欢
+const onColumnsAsideMenuClick = async (v: RouteItem) => {
+	let { path, redirect } = v;
+	if (redirect) {
+		onColumnsAsideDown(v.k);
+		if (route.path.startsWith(redirect)) mittBus.emit('setSendColumnsChildren', setSendChildren(redirect));
+		else router.push(redirect);
+	} else {
+		if (!v.children) {
+			router.push(path);
+		} else {
+			// 鏄剧ず瀛愮骇鑿滃崟
+			const resData: MittMenu = setSendChildren(path);
+			if (Object.keys(resData).length <= 0) return false;
+			onColumnsAsideDown(resData.item?.k);
+			mittBus.emit('setSendColumnsChildren', resData);
+		}
+	}
+
+	// 涓�涓矾鐢辫缃嚜鍔ㄦ敹璧疯彍鍗�
+	// https://gitee.com/lyt-top/vue-next-admin/issues/I6HW7H
+	if (!v.children) themeConfig.value.isCollapse = true;
+	else if (v.children.length > 1) themeConfig.value.isCollapse = false;
+};
+// 榧犳爣绉诲叆鏃讹紝鏄剧ず褰撳墠鐨勫瓙绾ц彍鍗�
+const onColumnsAsideMenuMouseenter = (v: RouteRecordRaw, k: number) => {
+	if (!themeConfig.value.isColumnsMenuHoverPreload) return false;
+	let { path } = v;
+	state.liOldPath = path;
+	state.liOldIndex = k;
+	state.liHoverIndex = k;
+	mittBus.emit('setSendColumnsChildren', setSendChildren(path));
+	stores.setColumnsMenuHover(false);
+	stores.setColumnsNavHover(true);
+};
+// 榧犳爣绉昏蛋鏃讹紝鏄剧ず鍘熸潵鐨勫瓙绾ц彍鍗�
+const onColumnsAsideMenuMouseleave = async () => {
+	if (!themeConfig.value.isColumnsMenuHoverPreload) return false;
+	await stores.setColumnsNavHover(false);
+	// 娣诲姞寤舵椂鍣紝闃叉鎷垮埌鐨� store.state.routesList 鍊间笉鏄渶鏂扮殑
+	setTimeout(() => {
+		if (!isColumnsMenuHover && !isColumnsNavHover) mittBus.emit('restoreDefault');
+	}, 100);
+};
+// 璁剧疆楂樹寒鍔ㄦ�佷綅缃�
+const onColumnsAsideDown = (k: number) => {
+	nextTick(() => {
+		setColumnsAsideMove(k);
+	});
+};
+// 璁剧疆鍙湁涓�涓矾鐢辨椂璁剧疆鑷姩鏀惰捣鑿滃崟
+// https://gitee.com/lyt-top/vue-next-admin/issues/I6UW2I
+const setMenuAutoCollaps = (path: string) => {
+	const resData: MittMenu = setSendChildren(path);
+	// https://gitee.com/lyt-top/vue-next-admin/issues/I6HW7H
+	(!resData.item?.redirect && resData.children.length == 0) || (resData.item?.redirect && resData.children.length <= 1)
+		? (themeConfig.value.isCollapse = true)
+		: (themeConfig.value.isCollapse = false);
+	return resData;
+};
+// 璁剧疆/杩囨护璺敱锛堥潪闈欐�佽矾鐢�/鏄惁鏄剧ず鍦ㄨ彍鍗曚腑锛�
+const setFilterRoutes = () => {
+	state.columnsAsideList = filterRoutesFun(routesList.value);
+	const resData: MittMenu = setMenuAutoCollaps(route.path);
+	onColumnsAsideDown(resData.item?.k);
+	// 寤惰繜 500 姣鏇存柊锛岄槻姝� aside.vue 缁勪欢 setSendColumnsChildren 杩樻病鏈夋敞鍐�
+	setTimeout(() => {
+		mittBus.emit('setSendColumnsChildren', resData);
+	}, 500);
+};
+// 浼犻�佸綋鍓嶅瓙绾ф暟鎹埌鑿滃崟涓�
+const setSendChildren = (path: string) => {
+	const currentPathSplit = path.split('/');
+	let currentData: MittMenu = { children: [] };
+	state.columnsAsideList.map((v: RouteItem, k: number) => {
+		if (v.path === `/${currentPathSplit[1]}`) {
+			v['k'] = k;
+			currentData['item'] = { ...v };
+			currentData['children'] = [{ ...v }];
+			if (v.children) currentData['children'] = v.children;
+		}
+	});
+	return currentData;
+};
+// 璺敱杩囨护閫掑綊鍑芥暟
+const filterRoutesFun = <T extends RouteItem>(arr: T[]): T[] => {
+	return arr
+		.filter((item: T) => !item.meta?.isHide)
+		.map((item: T) => {
+			item = Object.assign({}, item);
+			if (item.children) item.children = filterRoutesFun(item.children);
+			return item;
+		});
+};
+// tagsView 鐐瑰嚮鏃讹紝鏍规嵁璺敱鏌ユ壘涓嬫爣 columnsAsideList锛屽疄鐜板乏渚ц彍鍗曢珮浜�
+const setColumnsMenuHighlight = (path: string) => {
+	state.routeSplit = path.split('/');
+	state.routeSplit.shift();
+	const routeFirst = `/${state.routeSplit[0]}`;
+	const currentSplitRoute = state.columnsAsideList.find((v: RouteItem) => v.path === routeFirst);
+	if (!currentSplitRoute) return false;
+	// 寤惰繜鎷垮�硷紝闃叉鍙栦笉鍒�
+	setTimeout(() => {
+		onColumnsAsideDown(currentSplitRoute.k);
+	}, 0);
+};
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	setFilterRoutes();
+	// 閿�姣佸彉閲忥紝闃叉榧犳爣鍐嶆绉诲叆鏃讹紝淇濈暀浜嗕笂娆$殑璁板綍
+	mittBus.on('restoreDefault', () => {
+		state.liOldIndex = null;
+		state.liOldPath = null;
+	});
+});
+// 椤甸潰鍗歌浇鏃�
+onUnmounted(() => {
+	mittBus.off('restoreDefault', () => {});
+});
+// 璺敱鏇存柊鏃�
+onBeforeRouteUpdate((to) => {
+	const resData = setMenuAutoCollaps(to.path);
+	setColumnsMenuHighlight(to.path);
+	mittBus.emit('setSendColumnsChildren', resData);
+});
+// 鐩戝惉甯冨眬閰嶇疆淇℃伅鐨勫彉鍖栵紝鍔ㄦ�佸鍔犺彍鍗曢珮浜綅缃Щ鍔ㄥ儚绱�
+watch(
+	[() => themeConfig.value.columnsAsideStyle, isColumnsMenuHover, isColumnsNavHover],
+	() => {
+		themeConfig.value.columnsAsideStyle === 'columnsRound' ? (state.difference = 3) : (state.difference = 0);
+		if (!isColumnsMenuHover.value && !isColumnsNavHover.value) {
+			state.liHoverIndex = null;
+			mittBus.emit('setSendColumnsChildren', setSendChildren(route.path));
+		} else {
+			state.liHoverIndex = state.liOldIndex;
+			if (!state.liOldPath) return false;
+			mittBus.emit('setSendColumnsChildren', setSendChildren(state.liOldPath));
+		}
+	},
+	{
+		deep: true,
+	}
+);
+</script>
+
+<style scoped lang="scss">
+.layout-columns-aside {
+	width: 70px;
+	height: 100%;
+	background: var(--next-bg-columnsMenuBar);
+	ul {
+		position: relative;
+		.layout-columns-active,
+		.layout-columns-active a {
+			color: var(--next-bg-columnsMenuBarColor) !important;
+			transition: 0.3s ease-in-out;
+		}
+		.layout-columns-hover {
+			color: var(--el-color-primary);
+			a {
+				color: var(--el-color-primary);
+			}
+		}
+		li {
+			color: var(--next-bg-columnsMenuBarColor);
+			width: 100%;
+			height: 50px;
+			text-align: center;
+			display: flex;
+			cursor: pointer;
+			position: relative;
+			z-index: 1;
+			&:hover {
+				@extend .layout-columns-hover;
+			}
+			.columns-vertical {
+				margin: auto;
+				.columns-vertical-title {
+					padding-top: 1px;
+				}
+			}
+			.columns-horizontal {
+				display: flex;
+				height: 50px;
+				width: 100%;
+				align-items: center;
+				padding: 0 5px;
+				i {
+					margin-right: 3px;
+				}
+				a {
+					display: flex;
+					.columns-horizontal-title {
+						padding-top: 1px;
+					}
+				}
+			}
+			a {
+				text-decoration: none;
+				color: var(--next-bg-columnsMenuBarColor);
+			}
+		}
+		.columns-round {
+			background: var(--el-color-primary);
+			color: var(--el-color-white);
+			position: absolute;
+			left: 50%;
+			top: 2px;
+			height: 44px;
+			width: 65px;
+			transform: translateX(-50%);
+			z-index: 0;
+			transition: 0.3s ease-in-out;
+			border-radius: 5px;
+		}
+		.columns-card {
+			@extend .columns-round;
+			top: 0;
+			height: 50px;
+			width: 100%;
+			border-radius: 0;
+		}
+	}
+}
+
+.layout-logo {
+	height: 50px;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	animation: logoAnimation 0.3s ease-in-out;
+	&-medium-img {
+		width: 90%;
+		// height: 80%;
+	}
+	&:hover {
+		img {
+			animation: logoAnimation 0.3s ease-in-out;
+		}
+	}
+}
+
+:deep(.el-scrollbar) {
+	height: calc(100% - 50px);
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/component/header.vue b/LA24030_LuLiPackageLine_Web/src/layout/component/header.vue
new file mode 100644
index 0000000..29aa179
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/component/header.vue
@@ -0,0 +1,18 @@
+<template>
+	<el-header class="layout-header" v-show="!isTagsViewCurrenFull">
+		<NavBarsIndex />
+	</el-header>
+</template>
+
+<script setup lang="ts" name="layoutHeader">
+import { defineAsyncComponent } from 'vue';
+import { storeToRefs } from 'pinia';
+import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
+
+// 寮曞叆缁勪欢
+const NavBarsIndex = defineAsyncComponent(() => import('/@/layout/navBars/index.vue'));
+
+// 瀹氫箟鍙橀噺鍐呭
+const storesTagsViewRoutes = useTagsViewRoutes();
+const { isTagsViewCurrenFull } = storeToRefs(storesTagsViewRoutes);
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/component/main.vue b/LA24030_LuLiPackageLine_Web/src/layout/component/main.vue
new file mode 100644
index 0000000..10b4559
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/component/main.vue
@@ -0,0 +1,60 @@
+<template>
+	<el-main class="layout-main" :style="isFixedHeader ? `height: calc(100% - ${setMainHeight})` : `minHeight: calc(100% - ${setMainHeight})`">
+		<el-scrollbar ref="layoutMainScrollbarRef" class="layout-main-scroll layout-backtop-header-fixed" wrap-class="layout-main-scroll" view-class="layout-main-scroll">
+			<LayoutParentView />
+			<LayoutFooter v-if="isFooter" />
+		</el-scrollbar>
+		<el-backtop :target="setBacktopClass" />
+	</el-main>
+</template>
+
+<script setup lang="ts" name="layoutMain">
+import { defineAsyncComponent, onMounted, computed, ref } from 'vue';
+import { useRoute } from 'vue-router';
+import { storeToRefs } from 'pinia';
+import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import { NextLoading } from '/@/utils/loading';
+
+// 寮曞叆缁勪欢
+const LayoutParentView = defineAsyncComponent(() => import('/@/layout/routerView/parent.vue'));
+const LayoutFooter = defineAsyncComponent(() => import('/@/layout/footer/index.vue'));
+
+// 瀹氫箟鍙橀噺鍐呭
+const layoutMainScrollbarRef = ref();
+const route = useRoute();
+const storesTagsViewRoutes = useTagsViewRoutes();
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const { isTagsViewCurrenFull } = storeToRefs(storesTagsViewRoutes);
+
+// 璁剧疆 footer 鏄剧ず/闅愯棌
+const isFooter = computed(() => {
+	return themeConfig.value.isFooter && !route.meta.isIframe;
+});
+// 璁剧疆 header 鍥哄畾
+const isFixedHeader = computed(() => {
+	return themeConfig.value.isFixedHeader;
+});
+// 璁剧疆 Backtop 鍥炲埌椤堕儴
+const setBacktopClass = computed(() => {
+	if (themeConfig.value.isFixedHeader) return `.layout-backtop-header-fixed .el-scrollbar__wrap`;
+	else return `.layout-backtop .el-scrollbar__wrap`;
+});
+// 璁剧疆涓诲唴瀹瑰尯鐨勯珮搴�
+const setMainHeight = computed(() => {
+	if (isTagsViewCurrenFull.value) return '0px';
+	const { isTagsview, layout } = themeConfig.value;
+	if (isTagsview && layout !== 'classic') return '85px';
+	else return '51px';
+});
+// 椤甸潰鍔犺浇鍓�
+onMounted(() => {
+	NextLoading.done(600);
+});
+
+// 鏆撮湶鍙橀噺
+defineExpose({
+	layoutMainScrollbarRef,
+});
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/footer/index.vue b/LA24030_LuLiPackageLine_Web/src/layout/footer/index.vue
new file mode 100644
index 0000000..9db8046
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/footer/index.vue
@@ -0,0 +1,30 @@
+<template>
+	<div class="layout-footer pb15">
+		<div class="layout-footer-warp">
+			<!-- <div>{{ themeConfig.globalTitle }}</div> -->
+			<div class="mt5">{{ themeConfig.copyright }} {{ themeConfig.globalTitle }}</div>
+		</div>
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutFooter">
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+</script>
+
+<style scoped lang="scss">
+.layout-footer {
+	width: 100%;
+	display: flex;
+
+	&-warp {
+		margin: auto;
+		color: var(--el-text-color-secondary);
+		text-align: center;
+		animation: error-num 0.3s ease;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/index.vue b/LA24030_LuLiPackageLine_Web/src/layout/index.vue
new file mode 100644
index 0000000..2e1abd4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/index.vue
@@ -0,0 +1,60 @@
+<template>
+	<component :is="layouts[themeConfig.layout]" />
+</template>
+
+<script setup lang="ts" name="layout">
+import { onBeforeMount, onUnmounted, defineAsyncComponent } from 'vue';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import { Local } from '/@/utils/storage';
+import mittBus from '/@/utils/mitt';
+
+// 寮曞叆缁勪欢
+const layouts: any = {
+	defaults: defineAsyncComponent(() => import('/@/layout/main/defaults.vue')),
+	classic: defineAsyncComponent(() => import('/@/layout/main/classic.vue')),
+	transverse: defineAsyncComponent(() => import('/@/layout/main/transverse.vue')),
+	columns: defineAsyncComponent(() => import('/@/layout/main/columns.vue')),
+};
+
+// 瀹氫箟鍙橀噺鍐呭
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+
+// 20240117 鏈�澶х獥浣撳搴�
+let maxClientWidth = document.body.clientWidth;
+
+// 绐楀彛澶у皬鏀瑰彉鏃�(閫傞厤绉诲姩绔�)
+const onLayoutResize = () => {
+	if (!Local.get('oldLayout')) Local.set('oldLayout', themeConfig.value.layout);
+	const clientWidth = document.body.clientWidth;
+
+	// 20240117 鏈�澶х獥浣撳搴� > 褰撳墠瀹藉害锛屼笉瑙﹀彂 layoutMobileResize 浜嬩欢
+	if (maxClientWidth > clientWidth) return;
+	maxClientWidth = clientWidth;
+
+	if (clientWidth < 1000) {
+		themeConfig.value.isCollapse = false;
+		mittBus.emit('layoutMobileResize', {
+			layout: 'defaults',
+			clientWidth,
+		});
+	} else {
+		mittBus.emit('layoutMobileResize', {
+			layout: Local.get('oldLayout') ? Local.get('oldLayout') : themeConfig.value.layout,
+			clientWidth,
+		});
+	}
+};
+
+// 椤甸潰鍔犺浇鍓�
+onBeforeMount(() => {
+	onLayoutResize();
+	window.addEventListener('resize', onLayoutResize);
+});
+
+// 椤甸潰鍗歌浇鏃�
+onUnmounted(() => {
+	window.removeEventListener('resize', onLayoutResize);
+});
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/lockScreen/index.vue b/LA24030_LuLiPackageLine_Web/src/layout/lockScreen/index.vue
new file mode 100644
index 0000000..2ccdd05
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/lockScreen/index.vue
@@ -0,0 +1,422 @@
+<template>
+	<div v-show="state.isShowLockScreen">
+		<div class="layout-lock-screen-mask"></div>
+		<div class="layout-lock-screen-img" :class="{ 'layout-lock-screen-filter': state.isShowLoockLogin }"></div>
+		<div class="layout-lock-screen">
+			<div
+				class="layout-lock-screen-date"
+				ref="layoutLockScreenDateRef"
+				@mousedown="onDownPc"
+				@mousemove="onMovePc"
+				@mouseup="onEnd"
+				@touchstart.stop="onDownApp"
+				@touchmove.stop="onMoveApp"
+				@touchend.stop="onEnd"
+			>
+				<div class="layout-lock-screen-date-box">
+					<div class="layout-lock-screen-date-box-time">
+						{{ state.time.hm }}<span class="layout-lock-screen-date-box-minutes">{{ state.time.s }}</span>
+					</div>
+					<div class="layout-lock-screen-date-box-info">{{ state.time.mdq }}</div>
+				</div>
+				<div class="layout-lock-screen-date-top">
+					<SvgIcon name="ele-Top" />
+					<div class="layout-lock-screen-date-top-text">涓婃粦瑙i攣</div>
+				</div>
+			</div>
+			<transition name="el-zoom-in-center">
+				<div v-show="state.isShowLoockLogin" class="layout-lock-screen-login">
+					<div class="layout-lock-screen-login-box">
+						<div class="layout-lock-screen-login-box-img">
+							<img :src="userInfos.avatar || 'https://img2.baidu.com/it/u=1978192862,2048448374&fm=253&fmt=auto&app=138&f=JPEG?w=504&h=500'" />
+						</div>
+						<div class="layout-lock-screen-login-box-name">{{ userInfos.account }}</div>
+						<div v-if="state.showMessage" class="layout-lock-screen-login-box-message">
+							<span>{{ state.message }}</span>
+							<el-button style="max-width: 80px; margin-top: 20px" size="default" @click="hideMessage"> 纭 </el-button>
+						</div>
+						<div v-else class="layout-lock-screen-login-box-value">
+							<el-input placeholder="璇疯緭鍏ュ瘑鐮�" type="password" ref="layoutLockScreenInputRef" size="default" v-model="state.lockScreenPassword" @keyup.enter.native.stop="onLockScreenSubmit()">
+								<template #append>
+									<el-button @click="onLockScreenSubmit">
+										<el-icon class="el-input__icon">
+											<ele-Right />
+										</el-icon>
+									</el-button>
+								</template>
+							</el-input>
+						</div>
+					</div>
+					<div class="layout-lock-screen-login-icon">
+						<SvgIcon name="ele-Microphone" :size="20" />
+						<SvgIcon name="ele-AlarmClock" :size="20" />
+						<SvgIcon name="ele-SwitchButton" :size="20" />
+					</div>
+				</div>
+			</transition>
+		</div>
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutLockScreen">
+import { nextTick, onMounted, reactive, ref, onUnmounted } from 'vue';
+import { formatDate } from '/@/utils/formatTime';
+import { Local } from '/@/utils/storage';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import { useUserInfo } from '/@/stores/userInfo';
+import { sm2 } from 'sm-crypto-v2';
+import { feature, getAPI } from '/@/utils/axios-utils';
+import { SysAuthApi } from '/@/api-services';
+
+// 瀹氫箟鍙橀噺鍐呭
+const layoutLockScreenDateRef = ref<HtmlType>();
+const layoutLockScreenInputRef = ref();
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const storesUserInfo = useUserInfo();
+const { userInfos } = storeToRefs(storesUserInfo);
+const state = reactive({
+	transparency: 1,
+	downClientY: 0,
+	moveDifference: 0,
+	isShowLoockLogin: false,
+	isFlags: false,
+	querySelectorEl: '' as HtmlType,
+	time: {
+		hm: '',
+		s: '',
+		mdq: '',
+	},
+	setIntervalTime: 0,
+	isShowLockScreen: false,
+	isShowLockScreenIntervalTime: 0,
+	lockScreenPassword: '',
+	message: '',
+	showMessage: false,
+});
+
+// 榧犳爣鎸変笅 pc
+const onDownPc = (down: MouseEvent) => {
+	state.isFlags = true;
+	state.downClientY = down.clientY;
+};
+// 榧犳爣鎸変笅 app
+const onDownApp = (down: TouchEvent) => {
+	state.isFlags = true;
+	state.downClientY = down.touches[0].clientY;
+};
+// 榧犳爣绉诲姩 pc
+const onMovePc = (move: MouseEvent) => {
+	state.moveDifference = move.clientY - state.downClientY;
+	onMove();
+};
+// 榧犳爣绉诲姩 app
+const onMoveApp = (move: TouchEvent) => {
+	state.moveDifference = move.touches[0].clientY - state.downClientY;
+	onMove();
+};
+// 榧犳爣绉诲姩浜嬩欢
+const onMove = () => {
+	if (state.isFlags) {
+		const el = <HTMLElement>state.querySelectorEl;
+		const opacitys = (state.transparency -= 1 / 200);
+		if (state.moveDifference >= 0) return false;
+		el.setAttribute('style', `top:${state.moveDifference}px;cursor:pointer;opacity:${opacitys};`);
+		if (state.moveDifference < -400) {
+			el.setAttribute('style', `top:${-el.clientHeight}px;cursor:pointer;transition:all 0.3s ease;`);
+			state.moveDifference = -el.clientHeight;
+			setTimeout(() => {
+				el && el.parentNode?.removeChild(el);
+			}, 300);
+		}
+		if (state.moveDifference === -el.clientHeight) {
+			state.isShowLoockLogin = true;
+			layoutLockScreenInputRef.value.focus();
+		}
+	}
+};
+// 榧犳爣鏉惧紑
+const onEnd = () => {
+	state.isFlags = false;
+	state.transparency = 1;
+	if (state.moveDifference >= -400) {
+		(<HTMLElement>state.querySelectorEl).setAttribute('style', `top:0px;opacity:1;transition:all 0.3s ease;`);
+	}
+};
+// 鑾峰彇瑕佹嫋鎷界殑鍒濆鍏冪礌
+const initGetElement = () => {
+	nextTick(() => {
+		state.querySelectorEl = layoutLockScreenDateRef.value;
+	});
+};
+// 鏃堕棿鍒濆鍖�
+const initTime = () => {
+	state.time.hm = formatDate(new Date(), 'HH:MM');
+	state.time.s = formatDate(new Date(), 'SS');
+	state.time.mdq = formatDate(new Date(), 'mm鏈坉d鏃ワ紝WWW');
+};
+// 鏃堕棿鍒濆鍖栧畾鏃跺櫒
+const initSetTime = () => {
+	initTime();
+	state.setIntervalTime = window.setInterval(() => {
+		initTime();
+	}, 1000);
+};
+// 閿佸睆鏃堕棿瀹氭椂鍣�
+const initLockScreen = () => {
+	if (themeConfig.value.isLockScreen) {
+		state.isShowLockScreenIntervalTime = window.setInterval(() => {
+			// 閿佸睆鏃堕棿涓簄ull閲嶇疆涓�300绉掞紝闃叉鐧藉睆
+			if (themeConfig.value.lockScreenTime == null) {
+				themeConfig.value.lockScreenTime = 300;
+				setLocalThemeConfig();
+				return false;
+			}
+			if (themeConfig.value.lockScreenTime <= 1) {
+				state.isShowLockScreen = true;
+				setLocalThemeConfig();
+				return false;
+			}
+			themeConfig.value.lockScreenTime--;
+		}, 1000);
+	} else {
+		clearInterval(state.isShowLockScreenIntervalTime);
+	}
+};
+// 瀛樺偍甯冨眬閰嶇疆
+const setLocalThemeConfig = () => {
+	themeConfig.value.isDrawer = false;
+	Local.set('themeConfig', themeConfig.value);
+};
+// 瀵嗙爜杈撳叆鐐瑰嚮浜嬩欢
+const onLockScreenSubmit = async () => {
+	if (state.lockScreenPassword) {
+		try {
+			// SM2鍔犲瘑瀵嗙爜
+			const publicKey = window.__env__.VITE_SM_PUBLIC_KEY;
+			const password = sm2.doEncrypt(state.lockScreenPassword, publicKey, 1);
+			const [err, res] = await feature(getAPI(SysAuthApi).apiSysAuthUnLockScreenPost(password));
+			if (err) {
+				console.log(err);
+				state.message = err.message;
+				state.showMessage = true;
+				state.lockScreenPassword = '';
+
+				return;
+			}
+			if (res.data.result) {
+				themeConfig.value.isLockScreen = false;
+				themeConfig.value.lockScreenTime = 30;
+				setLocalThemeConfig();
+			}
+		} catch (ex: any) {
+			state.message = `鍑洪敊浜�:${ex}`;
+			state.showMessage = true;
+		}
+	}
+};
+// 闅愯棌娑堟伅
+const hideMessage = () => {
+	state.showMessage = false;
+	nextTick(() => {
+		layoutLockScreenInputRef.value.focus();
+	});
+};
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	initGetElement();
+	initSetTime();
+	initLockScreen();
+	//渚﹀惉ENTER鎸夐挳浜嬩欢
+	document.onkeydown = (e) => {
+		if (e.key === 'Enter') {
+			//褰撴樉绀洪攣灞忛〉鏃讹紝鎸塃NTER鍒囧埌瀵嗙爜杈撳叆
+			if (state.isShowLoockLogin == false) {
+				const moveInterval = setInterval(() => {
+					state.isFlags = true;
+					state.moveDifference = state.moveDifference - 10;
+					onMove();
+					//瓒呰繃600鍍忕礌鍒欑粨鏉�
+					if (state.moveDifference < -600) clearInterval(moveInterval);
+				}, 5);
+			}
+			//褰撴樉绀烘秷鎭椂锛屾寜ENTER鍒囧埌瀵嗙爜杈撳叆
+			if (state.showMessage == true) hideMessage();
+		}
+	};
+});
+// 椤甸潰鍗歌浇鏃�
+onUnmounted(() => {
+	window.clearInterval(state.setIntervalTime);
+	window.clearInterval(state.isShowLockScreenIntervalTime);
+});
+</script>
+
+<style scoped lang="scss">
+.layout-lock-screen-fixed {
+	position: fixed;
+	top: 0;
+	left: 0;
+	width: 100%;
+	height: 100%;
+}
+.layout-lock-screen-filter {
+	filter: blur(1px);
+}
+.layout-lock-screen-mask {
+	background: var(--el-color-white);
+	@extend .layout-lock-screen-fixed;
+	z-index: 9999990;
+}
+.layout-lock-screen-img {
+	@extend .layout-lock-screen-fixed;
+	background-image: url('https://i.hd-r.cn/e4a19d84364f185266666765ac21a5db.jpg');
+	background-size: 100% 100%;
+	z-index: 9999991;
+}
+.layout-lock-screen {
+	@extend .layout-lock-screen-fixed;
+	z-index: 9999992;
+	&-date {
+		position: absolute;
+		left: 0;
+		top: 0;
+		width: 100%;
+		height: 100%;
+		color: var(--el-color-white);
+		z-index: 9999993;
+		user-select: none;
+		&-box {
+			position: absolute;
+			left: 30px;
+			bottom: 50px;
+			&-time {
+				font-size: 100px;
+				color: var(--el-color-white);
+			}
+			&-info {
+				font-size: 40px;
+				color: var(--el-color-white);
+			}
+			&-minutes {
+				font-size: 16px;
+			}
+		}
+		&-top {
+			width: 40px;
+			height: 40px;
+			line-height: 40px;
+			border-radius: 100%;
+			border: 1px solid var(--el-border-color-light, #ebeef5);
+			background: rgba(255, 255, 255, 0.1);
+			color: var(--el-color-white);
+			opacity: 0.8;
+			position: absolute;
+			right: 30px;
+			bottom: 50px;
+			text-align: center;
+			overflow: hidden;
+			transition: all 0.3s ease;
+			i {
+				transition: all 0.3s ease;
+			}
+			&-text {
+				opacity: 0;
+				position: absolute;
+				top: 150%;
+				font-size: 12px;
+				color: var(--el-color-white);
+				left: 50%;
+				line-height: 1.2;
+				transform: translate(-50%, -50%);
+				transition: all 0.3s ease;
+				width: 35px;
+			}
+			&:hover {
+				border: 1px solid rgba(255, 255, 255, 0.5);
+				background: rgba(255, 255, 255, 0.2);
+				box-shadow: 0 0 12px 0 rgba(255, 255, 255, 0.5);
+				color: var(--el-color-white);
+				opacity: 1;
+				transition: all 0.3s ease;
+				i {
+					transform: translateY(-40px);
+					transition: all 0.3s ease;
+				}
+				.layout-lock-screen-date-top-text {
+					opacity: 1;
+					top: 50%;
+					transition: all 0.3s ease;
+				}
+			}
+		}
+	}
+	&-login {
+		position: relative;
+		z-index: 9999994;
+		width: 100%;
+		height: 100%;
+		left: 0;
+		top: 0;
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		color: var(--el-color-white);
+		&-box {
+			text-align: center;
+			margin: auto;
+			&-img {
+				width: 180px;
+				height: 180px;
+				margin: auto;
+				img {
+					width: 100%;
+					height: 100%;
+					border-radius: 100%;
+				}
+			}
+			&-name {
+				font-size: 26px;
+				margin: 15px 0 30px;
+			}
+			&-message {
+				font-size: 16px;
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+			}
+			&-value {
+				min-height: 73px;
+			}
+		}
+		&-icon {
+			position: absolute;
+			right: 30px;
+			bottom: 30px;
+			i {
+				font-size: 20px;
+				margin-left: 15px;
+				cursor: pointer;
+				opacity: 0.8;
+				&:hover {
+					opacity: 1;
+				}
+			}
+		}
+	}
+}
+:deep(.el-input-group__append) {
+	background: var(--el-color-white);
+	padding: 0px 15px;
+}
+:deep(.el-input__wrapper.is-focus) {
+	box-shadow: unset !important;
+}
+:deep(.el-input__inner) {
+	border-right-color: var(--el-border-color-extra-light);
+	&:hover {
+		border-color: var(--el-border-color-extra-light);
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/logo/index.vue b/LA24030_LuLiPackageLine_Web/src/layout/logo/index.vue
new file mode 100644
index 0000000..86d80c9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/logo/index.vue
@@ -0,0 +1,87 @@
+<template>
+	<div class="layout-logo" v-if="setShowLogo" @click="onThemeConfigChange">
+		<img :src="logoMini" class="layout-logo-medium-img" v-if="showLogo" />
+		<span>{{ themeConfig.globalTitle }}</span>
+		<div class="subTile">{{ themeConfig.globalViceTitleSub }}</div>
+	</div>
+	<div class="layout-logo-size" v-else @click="onThemeConfigChange">
+		<img :src="logoMini" class="layout-logo-size-img" />
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutLogo">
+import { computed } from 'vue';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import logoMini from '/@/assets/logo-mini.png';
+
+// 瀹氫箟鍙橀噺鍐呭
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+
+// 璁剧疆 logo 鐨勬樉绀恒�俢lassic 缁忓吀甯冨眬榛樿鏄剧ず logo
+const setShowLogo = computed(() => {
+	let { isCollapse, layout } = themeConfig.value;
+	return !isCollapse || layout === 'classic' || document.body.clientWidth < 1000;
+});
+const showLogo = computed(() => {
+	let { layout } = themeConfig.value;
+	return layout !== 'columns';
+});
+// logo 鐐瑰嚮瀹炵幇鑿滃崟灞曞紑/鏀惰捣
+const onThemeConfigChange = () => {
+	if (themeConfig.value.layout === 'transverse') return false;
+	themeConfig.value.isCollapse = !themeConfig.value.isCollapse;
+};
+</script>
+
+<style scoped lang="scss">
+.layout-logo {
+	width: 220px;
+	height: 50px;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	box-shadow: rgb(0 21 41 / 2%) 0px 1px 4px;
+	color: var(--el-color-primary);
+	font-size: 16px;
+	cursor: pointer;
+	flex-direction: column;
+	animation: logoAnimation 0.3s ease-in-out;
+	span {
+		white-space: nowrap;
+		display: inline-block;
+		font-weight: 800;
+		font-size: 18px;
+	}
+	&:hover {
+		span {
+			color: var(--color-primary-light-2);
+		}
+	}
+	&-medium-img {
+		width: 15%;
+		margin-right: 5px;
+	}
+}
+.layout-logo-size {
+	width: 100%;
+	height: 50px;
+	display: flex;
+	cursor: pointer;
+	animation: logoAnimation 0.3s ease-in-out;
+	&-img {
+		width: 20px;
+		margin: auto;
+	}
+	&:hover {
+		img {
+			animation: logoAnimation 0.3s ease-in-out;
+		}
+	}
+}
+.subTile{
+	font-size: 12px !important;
+	display: block  !important;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/main/classic.vue b/LA24030_LuLiPackageLine_Web/src/layout/main/classic.vue
new file mode 100644
index 0000000..8502a5b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/main/classic.vue
@@ -0,0 +1,73 @@
+<template>
+	<el-container class="layout-container flex-center">
+		<LayoutHeader />
+		<el-container class="layout-mian-height-50">
+			<LayoutAside />
+			<div class="flex-center layout-backtop">
+				<LayoutTagsView v-if="isTagsview" />
+				<LayoutMain ref="layoutMainRef" />
+			</div>
+		</el-container>
+	</el-container>
+</template>
+
+<script setup lang="ts" name="layoutClassic">
+import { defineAsyncComponent, computed, ref, watch, nextTick, onMounted } from 'vue';
+import { useRoute } from 'vue-router';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+
+// 寮曞叆缁勪欢
+const LayoutAside = defineAsyncComponent(() => import('/@/layout/component/aside.vue'));
+const LayoutHeader = defineAsyncComponent(() => import('/@/layout/component/header.vue'));
+const LayoutMain = defineAsyncComponent(() => import('/@/layout/component/main.vue'));
+const LayoutTagsView = defineAsyncComponent(() => import('/@/layout/navBars/tagsView/tagsView.vue'));
+
+// 瀹氫箟鍙橀噺鍐呭
+const layoutMainRef = ref<InstanceType<typeof LayoutMain>>();
+const route = useRoute();
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+
+// 鍒ゆ柇鏄惁鏄剧ず tasgview
+const isTagsview = computed(() => {
+	return themeConfig.value.isTagsview;
+});
+// 閲嶇疆婊氬姩鏉¢珮搴︼紝鏇存柊瀛愮骇 scrollbar
+const updateScrollbar = () => {
+	layoutMainRef.value?.layoutMainScrollbarRef.update();
+};
+// 閲嶇疆婊氬姩鏉¢珮搴︼紝鐢变簬缁勪欢鏄紓姝ュ紩鍏ョ殑
+const initScrollBarHeight = () => {
+	nextTick(() => {
+		setTimeout(() => {
+			updateScrollbar();
+			// '!' not null 鏂█鎿嶄綔绗︼紝涓嶆墽琛岃繍琛屾椂妫�鏌�
+			if (layoutMainRef.value) layoutMainRef.value!.layoutMainScrollbarRef.wrapRef.scrollTop = 0;
+		}, 500);
+	});
+};
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	initScrollBarHeight();
+});
+// 鐩戝惉璺敱鐨勫彉鍖栵紝鍒囨崲鐣岄潰鏃讹紝婊氬姩鏉$疆椤�
+watch(
+	() => route.path,
+	() => {
+		initScrollBarHeight();
+	}
+);
+// 鐩戝惉 themeConfig  isTagsview 閰嶇疆鏂囦欢鐨勫彉鍖栵紝鏇存柊鑿滃崟 el-scrollbar 鐨勯珮搴�
+watch(
+	() => themeConfig.value.isTagsview,
+	() => {
+		nextTick(() => {
+			updateScrollbar();
+		});
+	},
+	{
+		deep: true,
+	}
+);
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/main/columns.vue b/LA24030_LuLiPackageLine_Web/src/layout/main/columns.vue
new file mode 100644
index 0000000..7d22632
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/main/columns.vue
@@ -0,0 +1,73 @@
+<template>
+	<el-container class="layout-container">
+		<ColumnsAside />
+		<el-container class="layout-columns-warp layout-container-view h100">
+			<LayoutAside />
+			<el-scrollbar ref="layoutScrollbarRef" class="layout-backtop">
+				<LayoutHeader />
+				<LayoutMain ref="layoutMainRef" />
+			</el-scrollbar>
+		</el-container>
+	</el-container>
+</template>
+
+<script setup lang="ts" name="layoutColumns">
+import { defineAsyncComponent, watch, onMounted, nextTick, ref } from 'vue';
+import { useRoute } from 'vue-router';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+
+// 寮曞叆缁勪欢
+const LayoutAside = defineAsyncComponent(() => import('/@/layout/component/aside.vue'));
+const LayoutHeader = defineAsyncComponent(() => import('/@/layout/component/header.vue'));
+const LayoutMain = defineAsyncComponent(() => import('/@/layout/component/main.vue'));
+const ColumnsAside = defineAsyncComponent(() => import('/@/layout/component/columnsAside.vue'));
+
+// 瀹氫箟鍙橀噺鍐呭
+const layoutScrollbarRef = ref<RefType>('');
+const layoutMainRef = ref<InstanceType<typeof LayoutMain>>();
+const route = useRoute();
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+
+// 閲嶇疆婊氬姩鏉¢珮搴�
+const updateScrollbar = () => {
+	// 鏇存柊鐖剁骇 scrollbar
+	layoutScrollbarRef.value.update();
+	// 鏇存柊瀛愮骇 scrollbar
+	layoutMainRef.value && layoutMainRef.value!.layoutMainScrollbarRef.update();
+};
+// 閲嶇疆婊氬姩鏉¢珮搴︼紝鐢变簬缁勪欢鏄紓姝ュ紩鍏ョ殑
+const initScrollBarHeight = () => {
+	nextTick(() => {
+		setTimeout(() => {
+			updateScrollbar();
+			layoutScrollbarRef.value.wrapRef.scrollTop = 0;
+			if (layoutMainRef.value != undefined) layoutMainRef.value!.layoutMainScrollbarRef.wrapRef.scrollTop = 0;
+		}, 500);
+	});
+};
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	initScrollBarHeight();
+});
+// 鐩戝惉璺敱鐨勫彉鍖栵紝鍒囨崲鐣岄潰鏃讹紝婊氬姩鏉$疆椤�
+watch(
+	() => route.path,
+	() => {
+		initScrollBarHeight();
+	}
+);
+// 鐩戝惉 themeConfig 閰嶇疆鏂囦欢鐨勫彉鍖栵紝鏇存柊鑿滃崟 el-scrollbar 鐨勯珮搴�
+watch(
+	() => [themeConfig.value.isTagsview, themeConfig.value.isFixedHeader],
+	() => {
+		nextTick(() => {
+			updateScrollbar();
+		});
+	},
+	{
+		deep: true,
+	}
+);
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/main/defaults.vue b/LA24030_LuLiPackageLine_Web/src/layout/main/defaults.vue
new file mode 100644
index 0000000..2bc57c8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/main/defaults.vue
@@ -0,0 +1,73 @@
+<template>
+	<el-container class="layout-container">
+		<LayoutAside />
+		<el-container class="layout-container-view h100">
+			<el-scrollbar ref="layoutScrollbarRef" class="layout-backtop">
+				<LayoutHeader />
+				<LayoutMain ref="layoutMainRef" />
+			</el-scrollbar>
+		</el-container>
+	</el-container>
+</template>
+
+<script setup lang="ts" name="layoutDefaults">
+import { defineAsyncComponent, watch, onMounted, nextTick, ref } from 'vue';
+import { useRoute } from 'vue-router';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import { NextLoading } from '/@/utils/loading';
+
+// 寮曞叆缁勪欢
+const LayoutAside = defineAsyncComponent(() => import('/@/layout/component/aside.vue'));
+const LayoutHeader = defineAsyncComponent(() => import('/@/layout/component/header.vue'));
+const LayoutMain = defineAsyncComponent(() => import('/@/layout/component/main.vue'));
+
+// 瀹氫箟鍙橀噺鍐呭
+const layoutScrollbarRef = ref<RefType>('');
+const layoutMainRef = ref<InstanceType<typeof LayoutMain>>();
+const route = useRoute();
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+
+// 閲嶇疆婊氬姩鏉¢珮搴�
+const updateScrollbar = () => {
+	// 鏇存柊鐖剁骇 scrollbar
+	layoutScrollbarRef.value.update();
+	// 鏇存柊瀛愮骇 scrollbar
+	layoutMainRef.value!.layoutMainScrollbarRef.update();
+};
+// 閲嶇疆婊氬姩鏉¢珮搴︼紝鐢变簬缁勪欢鏄紓姝ュ紩鍏ョ殑
+const initScrollBarHeight = () => {
+	nextTick(() => {
+		setTimeout(() => {
+			updateScrollbar();
+			layoutScrollbarRef.value.wrapRef.scrollTop = 0;
+			if (layoutMainRef.value != undefined) layoutMainRef.value.layoutMainScrollbarRef.wrapRef.scrollTop = 0;
+		}, 500);
+	});
+};
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	initScrollBarHeight();
+	NextLoading.done(600);
+});
+// 鐩戝惉璺敱鐨勫彉鍖栵紝鍒囨崲鐣岄潰鏃讹紝婊氬姩鏉$疆椤�
+watch(
+	() => route.path,
+	() => {
+		initScrollBarHeight();
+	}
+);
+// 鐩戝惉 themeConfig 閰嶇疆鏂囦欢鐨勫彉鍖栵紝鏇存柊鑿滃崟 el-scrollbar 鐨勯珮搴�
+watch(
+	() => [themeConfig.value.isTagsview, themeConfig.value.isFixedHeader],
+	() => {
+		nextTick(() => {
+			updateScrollbar();
+		});
+	},
+	{
+		deep: true,
+	}
+);
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/main/transverse.vue b/LA24030_LuLiPackageLine_Web/src/layout/main/transverse.vue
new file mode 100644
index 0000000..ca0cb57
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/main/transverse.vue
@@ -0,0 +1,60 @@
+<template>
+	<el-container class="layout-container flex-center layout-backtop">
+		<LayoutHeader />
+		<LayoutMain ref="layoutMainRef" />
+	</el-container>
+</template>
+
+<script setup lang="ts" name="layoutTransverse">
+import { defineAsyncComponent, ref, watch, nextTick, onMounted } from 'vue';
+import { useRoute } from 'vue-router';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+
+// 寮曞叆缁勪欢
+const LayoutHeader = defineAsyncComponent(() => import('/@/layout/component/header.vue'));
+const LayoutMain = defineAsyncComponent(() => import('/@/layout/component/main.vue'));
+
+// 瀹氫箟鍙橀噺鍐呭
+const layoutMainRef = ref<InstanceType<typeof LayoutMain>>();
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const route = useRoute();
+
+// 閲嶇疆婊氬姩鏉¢珮搴︼紝鏇存柊瀛愮骇 scrollbar
+const updateScrollbar = () => {
+	layoutMainRef.value!.layoutMainScrollbarRef.update();
+};
+// 閲嶇疆婊氬姩鏉¢珮搴︼紝鐢变簬缁勪欢鏄紓姝ュ紩鍏ョ殑
+const initScrollBarHeight = () => {
+	nextTick(() => {
+		setTimeout(() => {
+			updateScrollbar();
+			layoutMainRef.value!.layoutMainScrollbarRef.wrapRef.scrollTop = 0;
+		}, 500);
+	});
+};
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	initScrollBarHeight();
+});
+// 鐩戝惉璺敱鐨勫彉鍖栵紝鍒囨崲鐣岄潰鏃讹紝婊氬姩鏉$疆椤�
+watch(
+	() => route.path,
+	() => {
+		initScrollBarHeight();
+	}
+);
+// 鐩戝惉 themeConfig 閰嶇疆鏂囦欢鐨勫彉鍖栵紝鏇存柊鑿滃崟 el-scrollbar 鐨勯珮搴�
+watch(
+	() => themeConfig.value.isTagsview,
+	() => {
+		nextTick(() => {
+			updateScrollbar();
+		});
+	},
+	{
+		deep: true,
+	}
+);
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/navBars/index.vue b/LA24030_LuLiPackageLine_Web/src/layout/navBars/index.vue
new file mode 100644
index 0000000..7a46d5e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/navBars/index.vue
@@ -0,0 +1,35 @@
+<template>
+	<div class="layout-navbars-container">
+		<BreadcrumbIndex />
+		<TagsView v-if="setShowTagsView" />
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutNavBars">
+import { defineAsyncComponent, computed } from 'vue';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+
+// 寮曞叆缁勪欢
+const BreadcrumbIndex = defineAsyncComponent(() => import('/@/layout/navBars/topBar/index.vue'));
+const TagsView = defineAsyncComponent(() => import('/@/layout/navBars/tagsView/tagsView.vue'));
+
+// 瀹氫箟鍙橀噺鍐呭
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+
+// 鏄惁鏄剧ず tagsView
+const setShowTagsView = computed(() => {
+	let { layout, isTagsview } = themeConfig.value;
+	return layout !== 'classic' && isTagsview;
+});
+</script>
+
+<style scoped lang="scss">
+.layout-navbars-container {
+	display: flex;
+	flex-direction: column;
+	width: 100%;
+	height: 100%;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/navBars/tagsView/contextmenu.vue b/LA24030_LuLiPackageLine_Web/src/layout/navBars/tagsView/contextmenu.vue
new file mode 100644
index 0000000..58da2f0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/navBars/tagsView/contextmenu.vue
@@ -0,0 +1,131 @@
+<template>
+	<transition name="el-zoom-in-center">
+		<div
+			aria-hidden="true"
+			class="el-dropdown__popper el-popper is-light is-pure custom-contextmenu"
+			role="tooltip"
+			data-popper-placement="bottom"
+			:style="`top: ${dropdowns.y + 5}px;left: ${dropdowns.x}px;`"
+			:key="Math.random()"
+			v-show="state.isShow"
+		>
+			<ul class="el-dropdown-menu">
+				<template v-for="(v, k) in state.dropdownList">
+					<li class="el-dropdown-menu__item" aria-disabled="false" tabindex="-1" :key="k" v-if="!v.affix" @click="onCurrentContextmenuClick(v.contextMenuClickId)">
+						<SvgIcon :name="v.icon" />
+						<span>{{ $t(v.txt) }}</span>
+					</li>
+				</template>
+			</ul>
+			<div class="el-popper__arrow" :style="{ left: `${state.arrowLeft}px` }"></div>
+		</div>
+	</transition>
+</template>
+
+<script setup lang="ts" name="layoutTagsViewContextmenu">
+import { computed, reactive, onMounted, onUnmounted, watch } from 'vue';
+
+// 瀹氫箟鐖剁粍浠朵紶杩囨潵鐨勫��
+const props = defineProps({
+	dropdown: {
+		type: Object,
+		default: () => {
+			return {
+				x: 0,
+				y: 0,
+			};
+		},
+	},
+});
+
+// 瀹氫箟瀛愮粍浠跺悜鐖剁粍浠朵紶鍊�/浜嬩欢
+const emit = defineEmits(['currentContextmenuClick']);
+
+// 瀹氫箟鍙橀噺鍐呭
+const state = reactive({
+	isShow: false,
+	dropdownList: [
+		{ contextMenuClickId: 0, txt: 'message.tagsView.refresh', affix: false, icon: 'ele-RefreshRight' },
+		{ contextMenuClickId: 1, txt: 'message.tagsView.close', affix: false, icon: 'ele-Close' },
+		{ contextMenuClickId: 2, txt: 'message.tagsView.closeOther', affix: false, icon: 'ele-CircleClose' },
+		{ contextMenuClickId: 3, txt: 'message.tagsView.closeAll', affix: false, icon: 'ele-FolderDelete' },
+		{
+			contextMenuClickId: 4,
+			txt: 'message.tagsView.fullscreen',
+			affix: false,
+			icon: 'iconfont icon-fullscreen',
+		},
+	],
+	item: {},
+	arrowLeft: 10,
+});
+
+// 鐖剁骇浼犺繃鏉ョ殑鍧愭爣 x,y 鍊�
+const dropdowns = computed(() => {
+	// 117 涓� `Dropdown 涓嬫媺鑿滃崟` 鐨勫搴�
+	if (props.dropdown.x + 117 > document.documentElement.clientWidth) {
+		return {
+			x: document.documentElement.clientWidth - 117 - 5,
+			y: props.dropdown.y,
+		};
+	} else {
+		return props.dropdown;
+	}
+});
+// 褰撳墠椤硅彍鍗曠偣鍑�
+const onCurrentContextmenuClick = (contextMenuClickId: number) => {
+	emit('currentContextmenuClick', Object.assign({}, { contextMenuClickId }, state.item));
+};
+// 鎵撳紑鍙抽敭鑿滃崟锛氬垽鏂槸鍚﹀浐瀹氾紝鍥哄畾鍒欎笉鏄剧ず鍏抽棴鎸夐挳
+const openContextmenu = (item: RouteItem) => {
+	state.item = item;
+	item.meta?.isAffix ? (state.dropdownList[1].affix = true) : (state.dropdownList[1].affix = false);
+	closeContextmenu();
+	setTimeout(() => {
+		state.isShow = true;
+	}, 10);
+};
+// 鍏抽棴鍙抽敭鑿滃崟
+const closeContextmenu = () => {
+	state.isShow = false;
+};
+// 鐩戝惉椤甸潰鐩戝惉杩涜鍙抽敭鑿滃崟鐨勫叧闂�
+onMounted(() => {
+	document.body.addEventListener('click', closeContextmenu);
+});
+// 椤甸潰鍗歌浇鏃讹紝绉婚櫎鍙抽敭鑿滃崟鐩戝惉浜嬩欢
+onUnmounted(() => {
+	document.body.removeEventListener('click', closeContextmenu);
+});
+// 鐩戝惉涓嬫媺鑿滃崟浣嶇疆
+watch(
+	() => props.dropdown,
+	({ x }) => {
+		if (x + 117 > document.documentElement.clientWidth) state.arrowLeft = 117 - (document.documentElement.clientWidth - x);
+		else state.arrowLeft = 10;
+	},
+	{
+		deep: true,
+	}
+);
+
+// 鏆撮湶鍙橀噺
+defineExpose({
+	openContextmenu,
+});
+</script>
+
+<style scoped lang="scss">
+.custom-contextmenu {
+	transform-origin: center top;
+	z-index: 2190;
+	position: fixed;
+	.el-dropdown-menu__item {
+		font-size: 12px !important;
+		white-space: nowrap;
+		i {
+			font-size: 12px !important;
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/navBars/tagsView/tagsView.vue b/LA24030_LuLiPackageLine_Web/src/layout/navBars/tagsView/tagsView.vue
new file mode 100644
index 0000000..bd3eb19
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/navBars/tagsView/tagsView.vue
@@ -0,0 +1,733 @@
+<template>
+	<div class="layout-navbars-tagsview" :class="{ 'layout-navbars-tagsview-shadow': getThemeConfig.layout === 'classic' }">
+		<el-scrollbar ref="scrollbarRef" @wheel.prevent="onHandleScroll">
+			<ul class="layout-navbars-tagsview-ul" :class="setTagsStyle" ref="tagsUlRef">
+				<li
+					v-for="(v, k) in state.tagsViewList"
+					:key="k"
+					class="layout-navbars-tagsview-ul-li"
+					:data-url="v.url"
+					:class="{ 'is-active': isActive(v) }"
+					@contextmenu.prevent="onContextmenu(v, $event)"
+					@mousedown="onMousedownMenu(v, $event)"
+					@click="onTagsClick(v, k)"
+					:ref="
+						(el) => {
+							if (el) tagsRefs[k] = el;
+						}
+					"
+				>
+					<i class="iconfont icon-webicon318 layout-navbars-tagsview-ul-li-iconfont" v-if="isActive(v)"></i>
+					<SvgIcon :name="v.meta.icon" v-if="!isActive(v) && getThemeConfig.isTagsviewIcon" class="pr5" />
+					<span>{{ setTagsViewNameI18n(v) }}</span>
+					<template v-if="isActive(v)">
+						<SvgIcon
+							name="ele-RefreshRight"
+							class="ml5 layout-navbars-tagsview-ul-li-refresh"
+							@click.stop="refreshCurrentTagsView($route.fullPath)"
+						/>
+						<SvgIcon
+							name="ele-Close"
+							class="layout-navbars-tagsview-ul-li-icon layout-icon-active"
+							v-if="!v.meta.isAffix"
+							@click.stop="closeCurrentTagsView(getThemeConfig.isShareTagsView ? v.path : v.url)"
+						/>
+					</template>
+					<SvgIcon
+						name="ele-Close"
+						class="layout-navbars-tagsview-ul-li-icon layout-icon-three"
+						v-if="!v.meta.isAffix"
+						@click.stop="closeCurrentTagsView(getThemeConfig.isShareTagsView ? v.path : v.url)"
+					/>
+				</li>
+			</ul>
+		</el-scrollbar>
+		<Contextmenu :dropdown="state.dropdown" ref="contextmenuRef" @currentContextmenuClick="onCurrentContextmenuClick" />
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutTagsView">
+import { defineAsyncComponent, reactive, onMounted, computed, ref, nextTick, onBeforeUpdate, onBeforeMount, onUnmounted, watch } from 'vue';
+import { useRoute, useRouter, onBeforeRouteUpdate } from 'vue-router';
+import Sortable from 'sortablejs';
+import { ElMessage } from 'element-plus';
+import { storeToRefs } from 'pinia';
+import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import { useKeepALiveNames } from '/@/stores/keepAliveNames';
+import { useRoutesList } from '/@/stores/routesList';
+import { Session } from '/@/utils/storage';
+import { isObjectValueEqual } from '/@/utils/arrayOperation';
+import other from '/@/utils/other';
+import mittBus from '/@/utils/mitt';
+
+// 寮曞叆缁勪欢
+const Contextmenu = defineAsyncComponent(() => import('/@/layout/navBars/tagsView/contextmenu.vue'));
+
+// 瀹氫箟鍙橀噺鍐呭
+const tagsRefs = ref<RefType>([]);
+const scrollbarRef = ref();
+const contextmenuRef = ref();
+const tagsUlRef = ref();
+const stores = useTagsViewRoutes();
+const storesThemeConfig = useThemeConfig();
+const storesTagsViewRoutes = useTagsViewRoutes();
+const storesRoutesList = useRoutesList();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const { tagsViewRoutes } = storeToRefs(storesTagsViewRoutes);
+const { routesList } = storeToRefs(storesRoutesList);
+const storesKeepALiveNames = useKeepALiveNames();
+const route = useRoute();
+const router = useRouter();
+const state = reactive<TagsViewState>({
+	routeActive: '',
+	routePath: route.path,
+	dropdown: { x: '', y: '' },
+	sortable: '',
+	tagsRefsIndex: 0,
+	tagsViewList: [],
+	tagsViewRoutesList: [],
+});
+
+// 鍔ㄦ�佽缃� tagsView 椋庢牸鏍峰紡
+const setTagsStyle = computed(() => {
+	return themeConfig.value.tagsStyle;
+});
+// 鑾峰彇甯冨眬閰嶇疆淇℃伅
+const getThemeConfig = computed(() => {
+	return themeConfig.value;
+});
+// 璁剧疆 鑷畾涔� tagsView 鍚嶇О銆� 鑷畾涔� tagsView 鍚嶇О鍥介檯鍖�
+const setTagsViewNameI18n = computed(() => {
+	return (v: RouteItem) => {
+		return other.setTagsViewNameI18n(v);
+	};
+});
+// 璁剧疆 tagsView 楂樹寒
+const isActive = (v: RouteItem) => {
+	if (getThemeConfig.value.isShareTagsView) {
+		return v.path === state.routePath;
+	} else {
+		if ((v.query && Object.keys(v.query).length) || (v.params && Object.keys(v.params).length)) {
+			// 鏅�氫紶鍙�
+			return v.url ? v.url === state.routeActive : v.path === state.routeActive;
+		} else {
+			// 閫氳繃 name 浼犲弬锛宲arams 鍙栧�硷紝鍒锋柊椤甸潰鍙傛暟娑堝け
+			// https://gitee.com/lyt-top/vue-next-admin/issues/I51RS9
+			return v.path === state.routePath;
+		}
+	}
+};
+// 瀛樺偍 tagsViewList 鍒版祻瑙堝櫒涓存椂缂撳瓨涓紝椤甸潰鍒锋柊鏃讹紝淇濈暀璁板綍
+const addBrowserSetSession = (tagsViewList: Array<object>) => {
+	Session.set('tagsViewList', tagsViewList);
+};
+// 鑾峰彇 pinia 涓殑 tagsViewRoutes 鍒楄〃
+const getTagsViewRoutes = async () => {
+	state.routeActive = await setTagsViewHighlight(route);
+	state.routePath = (await route.meta.isDynamic) ? route.meta.isDynamicPath : route.path;
+	state.tagsViewList = [];
+	state.tagsViewRoutesList = tagsViewRoutes.value;
+	initTagsView();
+};
+// pinia 涓幏鍙栬矾鐢变俊鎭細濡傛灉鏄缃簡鍥哄畾鐨勶紙isAffix锛夛紝杩涜鍒濆鍖栨樉绀�
+const initTagsView = async () => {
+	if (Session.get('tagsViewList') && getThemeConfig.value.isCacheTagsView) {
+		state.tagsViewList = await Session.get('tagsViewList');
+	} else {
+		await state.tagsViewRoutesList.map((v: RouteItem) => {
+			if (v.meta?.isAffix && !v.meta.isHide) {
+				v.url = setTagsViewHighlight(v);
+				state.tagsViewList.push({ ...v });
+				storesKeepALiveNames.addCachedView(v);
+			}
+		});
+		await addTagsView(route.path, <RouteToFrom>route);
+	}
+	// 鍒濆鍖栧綋鍓嶅厓绱�(li)鐨勪笅鏍�
+	getTagsRefsIndex(getThemeConfig.value.isShareTagsView ? state.routePath : state.routeActive);
+};
+// 澶勭悊鍙紑鍚鏍囩璇︽儏锛屽崟鏍囩璇︽儏锛堝姩鎬佽矾鐢憋紙xxx/:id/:name"锛夛紝鏅�氳矾鐢卞鐞嗭級
+const solveAddTagsView = async (path: string, to?: RouteToFrom) => {
+	let isDynamicPath = to?.meta?.isDynamic ? to.meta.isDynamicPath : path;
+	let current = state.tagsViewList.filter(
+		(v: RouteItem) =>
+			v.path === isDynamicPath &&
+			isObjectValueEqual(
+				to?.meta?.isDynamic ? (v.params ? v.params : null) : v.query ? v.query : null,
+				to?.meta?.isDynamic ? (to?.params ? to?.params : null) : to?.query ? to?.query : null
+			)
+	);
+	if (current.length <= 0) {
+		// 闃叉锛欰void app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.
+		let findItem = state.tagsViewRoutesList.find((v: RouteItem) => v.path === isDynamicPath);
+		if (!findItem) return false;
+		if (findItem.meta.isAffix) return false;
+		if (findItem.meta.isLink && !findItem.meta.isIframe) return false;
+		to?.meta?.isDynamic ? (findItem.params = to.params) : (findItem.query = to?.query);
+		findItem.url = setTagsViewHighlight(findItem);
+		state.tagsViewList.push({ ...findItem });
+		await storesKeepALiveNames.addCachedView(findItem);
+		addBrowserSetSession(state.tagsViewList);
+	}
+};
+// 澶勭悊鍗曟爣绛炬椂锛岀浜屾鐨勫�兼湭瑕嗙洊绗竴娆$殑 tagsViewList 鍊硷紙Session Storage锛�
+const singleAddTagsView = (path: string, to?: RouteToFrom) => {
+	let isDynamicPath = to?.meta?.isDynamic ? to.meta.isDynamicPath : path;
+	state.tagsViewList.forEach((v) => {
+		if (
+			v.path === isDynamicPath &&
+			!isObjectValueEqual(
+				to?.meta?.isDynamic ? (v.params ? v.params : null) : v.query ? v.query : null,
+				to?.meta?.isDynamic ? (to?.params ? to?.params : null) : to?.query ? to?.query : null
+			)
+		) {
+			to?.meta?.isDynamic ? (v.params = to.params) : (v.query = to?.query);
+			v.url = setTagsViewHighlight(v);
+			addBrowserSetSession(state.tagsViewList);
+		}
+	});
+};
+// 1銆佹坊鍔� tagsView锛氭湭璁剧疆闅愯棌锛坕sHide锛変篃娣诲姞鍒板湪 tagsView 涓紙鍙紑鍚鏍囩璇︽儏锛屽崟鏍囩璇︽儏锛�
+const addTagsView = (path: string, to?: RouteToFrom) => {
+	// 闃叉鎷垮彇涓嶅埌璺敱淇℃伅
+	nextTick(async () => {
+		// 淇锛歨ttps://gitee.com/lyt-top/vue-next-admin/issues/I3YX6G
+		let item: RouteItem;
+		if (to?.meta?.isDynamic) {
+			// 鍔ㄦ�佽矾鐢憋紙xxx/:id/:name"锛夛細鍙傛暟涓嶅悓锛屽紑鍚涓� tagsview
+			if (!getThemeConfig.value.isShareTagsView) await solveAddTagsView(path, to);
+			else await singleAddTagsView(path, to);
+			if (state.tagsViewList.some((v: RouteItem) => v.path === to?.meta?.isDynamicPath)) {
+				// 闃叉棣栨杩涘叆鐣岄潰鏃�(鐧诲綍杩涘叆) tagsViewList 涓嶅瓨娴忚鍣ㄤ腑
+				addBrowserSetSession(state.tagsViewList);
+				return false;
+			}
+			item = state.tagsViewRoutesList.find((v: RouteItem) => v.path === to?.meta?.isDynamicPath);
+		} else {
+			// 鏅�氳矾鐢憋細鍙傛暟涓嶅悓锛屽紑鍚涓� tagsview
+			if (!getThemeConfig.value.isShareTagsView) await solveAddTagsView(path, to);
+			else await singleAddTagsView(path, to);
+			if (state.tagsViewList.some((v: RouteItem) => v.path === path)) {
+				// 闃叉棣栨杩涘叆鐣岄潰鏃�(鐧诲綍杩涘叆) tagsViewList 涓嶅瓨娴忚鍣ㄤ腑
+				addBrowserSetSession(state.tagsViewList);
+				return false;
+			}
+			item = state.tagsViewRoutesList.find((v: RouteItem) => v.path === path);
+		}
+		if (!item) return false;
+		if (item?.meta?.isLink && !item.meta.isIframe) return false;
+		if (to?.meta?.isDynamic) item.params = to?.params ? to?.params : route.params;
+		else item.query = to?.query ? to?.query : route.query;
+		item.url = setTagsViewHighlight(item);
+		await storesKeepALiveNames.addCachedView(item);
+		await state.tagsViewList.push({ ...item });
+		await addBrowserSetSession(state.tagsViewList);
+	});
+};
+// 2銆佸埛鏂板綋鍓� tagsView锛�
+const refreshCurrentTagsView = async (fullPath: string) => {
+	const decodeURIPath = decodeURI(fullPath);
+	let item: RouteToFrom = {};
+	state.tagsViewList.forEach((v: RouteItem) => {
+		v.transUrl = transUrlParams(v);
+		if (v.transUrl) {
+			if (v.transUrl === transUrlParams(v)) item = v;
+		} else {
+			if (v.path === decodeURIPath) item = v;
+		}
+	});
+	if (!item) return false;
+	await storesKeepALiveNames.delCachedView(item);
+	mittBus.emit('onTagsViewRefreshRouterView', fullPath);
+	if (item.meta?.isKeepAlive) storesKeepALiveNames.addCachedView(item);
+};
+// 3銆佸叧闂綋鍓� tagsView锛氬鏋滄槸璁剧疆浜嗗浐瀹氱殑锛坕sAffix锛夛紝涓嶅彲浠ュ叧闂�
+const closeCurrentTagsView = (path: string) => {
+	state.tagsViewList.map((v: RouteItem, k: number, arr: RouteItems) => {
+		if (!v.meta?.isAffix) {
+			if (getThemeConfig.value.isShareTagsView ? v.path === path : v.url === path) {
+				storesKeepALiveNames.delCachedView(v);
+				state.tagsViewList.splice(k, 1);
+				setTimeout(() => {
+					if (state.tagsViewList.length === k && getThemeConfig.value.isShareTagsView ? state.routePath === path : state.routeActive === path) {
+						// 鏈�鍚庝竴涓笖楂樹寒鏃�
+						if (arr[arr.length - 1].meta.isDynamic) {
+							// 鍔ㄦ�佽矾鐢憋紙xxx/:id/:name"锛�
+							if (k !== arr.length) router.push({ name: arr[k].name, params: arr[k].params });
+							else router.push({ name: arr[arr.length - 1].name, params: arr[arr.length - 1].params });
+						} else {
+							// 鏅�氳矾鐢�
+							if (k !== arr.length) router.push({ path: arr[k].path, query: arr[k].query });
+							else router.push({ path: arr[arr.length - 1].path, query: arr[arr.length - 1].query });
+						}
+					} else {
+						// 闈炴渶鍚庝竴涓笖楂樹寒鏃讹紝璺宠浆鍒颁笅涓�涓�
+						if (state.tagsViewList.length !== k && getThemeConfig.value.isShareTagsView ? state.routePath === path : state.routeActive === path) {
+							if (arr[k].meta.isDynamic) {
+								// 鍔ㄦ�佽矾鐢憋紙xxx/:id/:name"锛�
+								router.push({ name: arr[k].name, params: arr[k].params });
+							} else {
+								// 鏅�氳矾鐢�
+								router.push({ path: arr[k].path, query: arr[k].query });
+							}
+						}
+					}
+				}, 0);
+			}
+		}
+	});
+	addBrowserSetSession(state.tagsViewList);
+};
+// 4銆佸叧闂叾瀹� tagsView锛氬鏋滄槸璁剧疆浜嗗浐瀹氱殑锛坕sAffix锛夛紝涓嶈繘琛屽叧闂�
+const closeOtherTagsView = (path: string) => {
+	if (Session.get('tagsViewList')) {
+		state.tagsViewList = [];
+		Session.get('tagsViewList').map((v: RouteItem) => {
+			if (v.meta?.isAffix && !v.meta.isHide) {
+				v.url = setTagsViewHighlight(v);
+				storesKeepALiveNames.delOthersCachedViews(v);
+				state.tagsViewList.push({ ...v });
+			}
+		});
+		addTagsView(path, <RouteToFrom>route);
+		addBrowserSetSession(state.tagsViewList);
+	}
+};
+// 5銆佸叧闂叏閮� tagsView锛氬鏋滄槸璁剧疆浜嗗浐瀹氱殑锛坕sAffix锛夛紝涓嶈繘琛屽叧闂�
+const closeAllTagsView = () => {
+	if (Session.get('tagsViewList')) {
+		storesKeepALiveNames.delAllCachedViews();
+		state.tagsViewList = [];
+		Session.get('tagsViewList').map((v: RouteItem) => {
+			if (v.meta?.isAffix && !v.meta.isHide) {
+				v.url = setTagsViewHighlight(v);
+				state.tagsViewList.push({ ...v });
+				router.push({ path: state.tagsViewList[state.tagsViewList.length - 1].path });
+			}
+		});
+		addBrowserSetSession(state.tagsViewList);
+	}
+};
+// 6銆佸紑鍚綋鍓嶉〉闈㈠叏灞�
+const openCurrenFullscreen = async (path: string) => {
+	const item = state.tagsViewList.find((v: RouteItem) => (getThemeConfig.value.isShareTagsView ? v.path === path : v.url === path));
+	if (item.meta.isDynamic) await router.push({ name: item.name, params: item.params });
+	else await router.push({ name: item.name, query: item.query });
+	stores.setCurrenFullscreen(true);
+};
+// 褰撳墠椤瑰彸閿彍鍗曠偣鍑伙紝鎷� `褰撳墠鐐瑰嚮鐨勮矾鐢辫矾寰刞 瀵规瘮 `tagsView 璺敱鏁扮粍`锛屽彇褰撳墠鐐瑰嚮椤圭殑璇︾粏璺敱淇℃伅
+// 闃叉 tagsView 闈炲綋鍓嶉〉婕旂ず鏃讹紝鎿嶄綔寮傚父
+// https://gitee.com/lyt-top/vue-next-admin/issues/I61VS9
+const getCurrentRouteItem = (item: RouteItem): any => {
+	let resItem: RouteToFrom = {};
+	state.tagsViewList.forEach((v: RouteItem) => {
+		v.transUrl = transUrlParams(v);
+		if (v.transUrl) {
+			// 鍔ㄦ�佽矾鐢便�佹櫘閫氳矾鐢卞甫鍙傛暟
+			if (v.transUrl === transUrlParams(v) && v.transUrl === item.commonUrl) resItem = v;
+		} else {
+			// 璺敱涓嶅甫鍙傛暟
+			if (v.path === decodeURI(item.path)) resItem = v;
+		}
+	});
+	if (!resItem) return null;
+	else return resItem;
+};
+// 褰撳墠椤瑰彸閿彍鍗曠偣鍑�
+const onCurrentContextmenuClick = async (item: RouteItem) => {
+	item.commonUrl = transUrlParams(item);
+	if (!getCurrentRouteItem(item)) return ElMessage({ type: 'warning', message: '璇锋纭緭鍏ヨ矾寰勫強瀹屾暣鍙傛暟锛坬uery銆乸arams锛�' });
+	const { path, name, params, query, meta, url } = getCurrentRouteItem(item);
+	switch (item.contextMenuClickId) {
+		case 0:
+			// 鍒锋柊褰撳墠
+			if (meta.isDynamic) await router.push({ name, params });
+			else await router.push({ path, query });
+			refreshCurrentTagsView(route.fullPath);
+			break;
+		case 1:
+			// 鍏抽棴褰撳墠
+			closeCurrentTagsView(getThemeConfig.value.isShareTagsView ? path : url);
+			break;
+		case 2:
+			// 鍏抽棴鍏跺畠
+			if (meta.isDynamic) await router.push({ name, params });
+			else await router.push({ path, query });
+			closeOtherTagsView(path);
+			break;
+		case 3:
+			// 鍏抽棴鍏ㄩ儴
+			closeAllTagsView();
+			break;
+		case 4:
+			// 寮�鍚綋鍓嶉〉闈㈠叏灞�
+			openCurrenFullscreen(getThemeConfig.value.isShareTagsView ? path : url);
+			break;
+	}
+};
+// 鍙抽敭鐐瑰嚮鏃讹細浼� x,y 鍧愭爣鍊煎埌瀛愮粍浠朵腑锛坧rops锛�
+const onContextmenu = (v: RouteItem, e: MouseEvent) => {
+	const { clientX, clientY } = e;
+	state.dropdown.x = clientX;
+	state.dropdown.y = clientY;
+	contextmenuRef.value.openContextmenu(v);
+};
+// 榧犳爣鎸変笅鏃讹紝鍒ゆ柇鏄紶鏍囦腑閿氨鍏抽棴褰撳墠 tasgview
+const onMousedownMenu = (v: RouteItem, e: MouseEvent) => {
+	if (!v.meta?.isAffix && e.button === 1) {
+		const item = Object.assign({}, { contextMenuClickId: 1, ...v });
+		onCurrentContextmenuClick(item);
+	}
+};
+// 褰撳墠鐨� tagsView 椤圭偣鍑绘椂
+const onTagsClick = (v: RouteItem, k: number) => {
+	state.tagsRefsIndex = k;
+	router.push(v);
+	// 鍒嗘爮甯冨眬鏃讹紝鏀惰捣/灞曞紑鑿滃崟
+	if (getThemeConfig.value.layout === 'columns') {
+		const item: RouteItem = routesList.value.find((r: RouteItem) => r.path.indexOf(`/${v.path.split('/')[1]}`) > -1);
+		!item.children ? (getThemeConfig.value.isCollapse = true) : (getThemeConfig.value.isCollapse = false);
+	}
+};
+// 澶勭悊 url锛屽湴鍧�鏍忛摼鎺ユ湁鍙傛暟鏃讹紝tagsview 鍙抽敭鑿滃崟鍒锋柊鍔熻兘澶辨晥闂锛屾劅璋� @ZzZz-RIPPER銆丂dejavuuuuu
+// https://gitee.com/lyt-top/vue-next-admin/issues/I5K3YO
+// https://gitee.com/lyt-top/vue-next-admin/issues/I61VS9
+const transUrlParams = (v: RouteItem) => {
+	let params = v.query && Object.keys(v.query).length > 0 ? v.query : v.params;
+	if (!params) return '';
+	let path = '';
+	for (let [key, value] of Object.entries(params)) {
+		if (v.meta?.isDynamic) path += `/${value}`;
+		else path += `&${key}=${value}`;
+	}
+	// 鍒ゆ柇鏄惁鏄姩鎬佽矾鐢憋紙xxx/:id/:name"锛塱sDynamic
+	if (v.meta?.isDynamic) {
+		/**
+		 *
+		 * isFnClick 鐢ㄤ簬鍒ゆ柇鏄�氳繃鏂规硶璋冪敤锛岃繕鏄洿鎺ュ彸閿彍鍗曠偣鍑伙紙姝ゅ鍙拡瀵瑰姩鎬佽矾鐢憋級
+		 * 鍘熷洜锛�
+		 * 1銆佸彸閿彍鍗曠偣鍑绘椂锛岃矾鐢辩殑 path 杩樻槸鍘熷瀹氫箟鐨勮矾鐢辨牸寮忥紝濡傦細/params/dynamic/details/:t/:id/:tagsViewName
+		 * 2銆侀�氳繃浜嬩欢璋冪敤鏃讹紝璺敱鐨� path 涓嶆槸鍘熷瀹氫箟鐨勮矾鐢辨牸寮忥紝濡傦細/params/dynamic/details/vue-next-admin/111/鎴戞槸鍔ㄦ�佽矾鐢辨祴璇晅agsViewName(闈炲浗闄呭寲)
+		 *
+		 * 鎵�浠ュ彸渚ц彍鍗曠偣鍑绘椂锛岄渶瑕佸鐞嗚矾寰勬嫾鎺� v.path.split(':')[0]锛屽緱鍒拌矾寰� + 鍙傛暟鐨勫畬鏁磋矾寰�
+		 */
+		return v.isFnClick ? decodeURI(v.path) : `${v.path.split(':')[0]}${path.replace(/^\//, '')}`;
+	} else {
+		return `${v.path}${path.replace(/^&/, '?')}`;
+	}
+};
+// 澶勭悊 tagsView 楂樹寒锛堝鏍囩璇︽儏鏃朵娇鐢紝鍗曟爣绛捐鎯呮湭浣跨敤锛�
+const setTagsViewHighlight = (v: RouteToFrom) => {
+	let params = v.query && Object.keys(v.query).length > 0 ? v.query : v.params;
+	if (!params || Object.keys(params).length <= 0) return v.path;
+	let path = '';
+	for (let i in params) {
+		path += params[i];
+	}
+	// 鍒ゆ柇鏄惁鏄姩鎬佽矾鐢憋紙xxx/:id/:name"锛�
+	return `${v.meta?.isDynamic ? v.meta.isDynamicPath : v.path}-${path}`;
+};
+// 榧犳爣婊氳疆婊氬姩
+const onHandleScroll = (e: WheelEventType) => {
+	scrollbarRef.value.$refs.wrapRef.scrollLeft += e.wheelDelta / 4;
+};
+// tagsView 妯悜婊氬姩
+const tagsViewmoveToCurrentTag = () => {
+	nextTick(() => {
+		if (tagsRefs.value.length <= 0) return false;
+		// 褰撳墠 li 鍏冪礌
+		let liDom = tagsRefs.value[state.tagsRefsIndex];
+		// 褰撳墠 li 鍏冪礌涓嬫爣
+		let liIndex = state.tagsRefsIndex;
+		// 褰撳墠 ul 涓� li 鍏冪礌鎬婚暱搴�
+		let liLength = tagsRefs.value.length;
+		// 鏈�鍓� li
+		let liFirst = tagsRefs.value[0];
+		// 鏈�鍚� li
+		let liLast = tagsRefs.value[tagsRefs.value.length - 1];
+		// 褰撳墠婊氬姩鏉$殑鍊�
+		let scrollRefs = scrollbarRef.value.$refs.wrapRef;
+		// 褰撳墠婊氬姩鏉℃粴鍔ㄥ搴�
+		let scrollS = scrollRefs.scrollWidth;
+		// 褰撳墠婊氬姩鏉″亸绉诲搴�
+		let offsetW = scrollRefs.offsetWidth;
+		// 褰撳墠婊氬姩鏉″亸绉昏窛绂�
+		let scrollL = scrollRefs.scrollLeft;
+		// 涓婁竴涓� tags li dom
+		let liPrevTag = tagsRefs.value[state.tagsRefsIndex - 1];
+		// 涓嬩竴涓� tags li dom
+		let liNextTag = tagsRefs.value[state.tagsRefsIndex + 1];
+		// 涓婁竴涓� tags li dom 鐨勫亸绉昏窛绂�
+		let beforePrevL = 0;
+		// 涓嬩竴涓� tags li dom 鐨勫亸绉昏窛绂�
+		let afterNextL = 0;
+		if (liDom === liFirst) {
+			// 澶撮儴
+			scrollRefs.scrollLeft = 0;
+		} else if (liDom === liLast) {
+			// 灏鹃儴
+			scrollRefs.scrollLeft = scrollS - offsetW;
+		} else {
+			// 闈炲ご/灏鹃儴
+			if (liIndex === 0) beforePrevL = liFirst.offsetLeft - 5;
+			else beforePrevL = liPrevTag?.offsetLeft - 5;
+			if (liIndex === liLength) afterNextL = liLast.offsetLeft + liLast.offsetWidth + 5;
+			else afterNextL = liNextTag.offsetLeft + liNextTag.offsetWidth + 5;
+			if (afterNextL > scrollL + offsetW) {
+				scrollRefs.scrollLeft = afterNextL - offsetW;
+			} else if (beforePrevL < scrollL) {
+				scrollRefs.scrollLeft = beforePrevL;
+			}
+		}
+		// 鏇存柊婊氬姩鏉★紝闃叉涓嶅嚭鐜�
+		scrollbarRef.value.update();
+	});
+};
+// 鑾峰彇 tagsView 鐨勪笅鏍囷細鐢ㄤ簬澶勭悊 tagsView 鐐瑰嚮鏃剁殑妯悜婊氬姩
+const getTagsRefsIndex = (path: string | unknown) => {
+	nextTick(async () => {
+		// await 浣跨敤璇ュ啓娉曪紝闃叉鎷垮彇涓嶅埌 tagsViewList 鍒楄〃鏁版嵁涓嶅畬鏁�
+		let tagsViewList = await state.tagsViewList;
+		state.tagsRefsIndex = tagsViewList.findIndex((v: RouteItem) => {
+			if (getThemeConfig.value.isShareTagsView) {
+				return v.path === path;
+			} else {
+				return v.url === path;
+			}
+		});
+		// 娣诲姞鍒濆鍖栨í鍚戞粴鍔ㄦ潯绉诲姩鍒板搴斾綅缃�
+		tagsViewmoveToCurrentTag();
+	});
+};
+// 璁剧疆 tagsView 鍙互杩涜鎷栨嫿
+const initSortable = async () => {
+	const el = <HTMLElement>document.querySelector('.layout-navbars-tagsview-ul');
+	if (!el) return false;
+	state.sortable.el && state.sortable.destroy();
+	state.sortable = Sortable.create(el, {
+		animation: 300,
+		dataIdAttr: 'data-url',
+		disabled: getThemeConfig.value.isSortableTagsView ? false : true,
+		onEnd: () => {
+			const sortEndList: RouteItem[] = [];
+			state.sortable.toArray().map((val: string) => {
+				state.tagsViewList.map((v: RouteItem) => {
+					if (v.url === val) sortEndList.push({ ...v });
+				});
+			});
+			addBrowserSetSession(sortEndList);
+		},
+	});
+};
+// 鎷栧姩闂锛宧ttps://gitee.com/lyt-top/vue-next-admin/issues/I3ZRRI
+const onSortableResize = async () => {
+	await initSortable();
+	if (other.isMobile()) state.sortable.el && state.sortable.destroy();
+};
+// 椤甸潰鍔犺浇鍓�
+onBeforeMount(() => {
+	// 鍒濆鍖栵紝闃叉鎵嬫満绔洿鎺ヨ闂椂杩樺彲浠ユ嫋鎷�
+	onSortableResize();
+	// 鎷栧姩闂锛宧ttps://gitee.com/lyt-top/vue-next-admin/issues/I3ZRRI
+	window.addEventListener('resize', onSortableResize);
+	// 鐩戝惉闈炴湰椤甸潰璋冪敤 0 鍒锋柊褰撳墠锛�1 鍏抽棴褰撳墠锛�2 鍏抽棴鍏跺畠锛�3 鍏抽棴鍏ㄩ儴 4 褰撳墠椤靛叏灞�
+	mittBus.on('onCurrentContextmenuClick', (data: RouteItem) => {
+		// 閫氳繃鏂规硶鐐瑰嚮鍏抽棴 tagsView
+		data.isFnClick = true;
+		onCurrentContextmenuClick(data);
+	});
+	// 鐩戝惉甯冨眬閰嶇疆鐣岄潰寮�鍚�/鍏抽棴鎷栨嫿
+	mittBus.on('openOrCloseSortable', () => {
+		initSortable();
+	});
+	// 鐩戝惉甯冨眬閰嶇疆寮�鍚� TagsView 鍏辩敤锛屼负浜嗘紨绀鸿繕鍘熼粯璁ゅ��
+	mittBus.on('openShareTagsView', () => {
+		if (getThemeConfig.value.isShareTagsView) {
+			router.push('/home');
+			state.tagsViewList = [];
+			state.tagsViewRoutesList.map((v: RouteItem) => {
+				if (v.meta?.isAffix && !v.meta.isHide) {
+					v.url = setTagsViewHighlight(v);
+					state.tagsViewList.push({ ...v });
+				}
+			});
+		}
+	});
+});
+// 椤甸潰鍗歌浇鏃�
+onUnmounted(() => {
+	// 鍙栨秷闈炴湰椤甸潰璋冪敤鐩戝惉
+	mittBus.off('onCurrentContextmenuClick', () => {});
+	// 鍙栨秷鐩戝惉甯冨眬閰嶇疆鐣岄潰寮�鍚�/鍏抽棴鎷栨嫿
+	mittBus.off('openOrCloseSortable', () => {});
+	// 鍙栨秷鐩戝惉甯冨眬閰嶇疆寮�鍚� TagsView 鍏辩敤
+	mittBus.off('openShareTagsView', () => {});
+	// 鍙栨秷绐楀彛 resize 鐩戝惉
+	window.removeEventListener('resize', onSortableResize);
+});
+// 椤甸潰鏇存柊鏃�
+onBeforeUpdate(() => {
+	tagsRefs.value = [];
+});
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	// 鍒濆鍖� pinia 涓殑 tagsViewRoutes 鍒楄〃
+	getTagsViewRoutes();
+	initSortable();
+});
+// 璺敱鏇存柊鏃讹紙缁勪欢鍐呯敓鍛介挬瀛愶級
+onBeforeRouteUpdate(async (to) => {
+	state.routeActive = setTagsViewHighlight(to);
+	state.routePath = to.meta.isDynamic ? to.meta.isDynamicPath : to.path;
+	await addTagsView(to.path, <RouteToFrom>to);
+	getTagsRefsIndex(getThemeConfig.value.isShareTagsView ? state.routePath : state.routeActive);
+});
+// 鐩戝惉璺敱鐨勫彉鍖栵紝鍔ㄦ�佽祴鍊肩粰 tagsView
+watch(
+	() => tagsViewRoutes.value,
+	(val) => {
+		if (val.length === state.tagsViewRoutesList.length) return false;
+		getTagsViewRoutes();
+	},
+	{
+		deep: true,
+	}
+);
+</script>
+
+<style scoped lang="scss">
+.layout-navbars-tagsview {
+	background-color: var(--el-color-white);
+	border-bottom: 1px solid var(--next-border-color-light);
+	position: relative;
+	z-index: 1999;
+	:deep(.el-scrollbar__wrap) {
+		overflow-x: auto !important;
+	}
+	&-ul {
+		list-style: none;
+		margin: 0;
+		padding: 0;
+		height: 34px;
+		display: flex;
+		align-items: center;
+		color: var(--el-text-color-regular);
+		font-size: 12px;
+		white-space: nowrap;
+		padding: 0 15px;
+		&-li {
+			height: 26px;
+			line-height: 26px;
+			display: flex;
+			align-items: center;
+			border: 1px solid var(--el-border-color-lighter);
+			padding: 0 15px;
+			margin-right: 5px;
+			border-radius: 2px;
+			position: relative;
+			z-index: 0;
+			cursor: pointer;
+			justify-content: space-between;
+			&:hover {
+				background-color: var(--el-color-primary-light-9);
+				color: var(--el-color-primary);
+				border-color: var(--el-color-primary-light-5);
+			}
+			&-iconfont {
+				position: relative;
+				left: -5px;
+				font-size: 12px;
+			}
+			&-icon {
+				border-radius: 100%;
+				position: relative;
+				height: 14px;
+				width: 14px;
+				text-align: center;
+				line-height: 14px;
+				right: -5px;
+				&:hover {
+					color: var(--el-color-white);
+					background-color: var(--el-color-primary-light-3);
+				}
+			}
+			.layout-icon-active {
+				display: block;
+			}
+			.layout-icon-three {
+				display: none;
+			}
+		}
+		.is-active {
+			color: var(--el-color-white);
+			background: var(--el-color-primary);
+			border-color: var(--el-color-primary);
+			transition: border-color 3s ease;
+		}
+	}
+	// 椋庢牸4
+	.tags-style-four {
+		.layout-navbars-tagsview-ul-li {
+			margin-right: 0 !important;
+			border: none !important;
+			position: relative;
+			border-radius: 3px !important;
+			.layout-icon-active {
+				display: none;
+			}
+			.layout-icon-three {
+				display: block;
+			}
+			&:hover {
+				background: none !important;
+			}
+		}
+		.is-active {
+			background: none !important;
+			color: var(--el-color-primary) !important;
+		}
+	}
+	// 椋庢牸5
+	.tags-style-five {
+		align-items: flex-end;
+		.tags-style-five-svg {
+			-webkit-mask-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzAiIGhlaWdodD0iNzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZmlsbD0ibm9uZSI+CgogPGc+CiAgPHRpdGxlPkxheWVyIDE8L3RpdGxlPgogIDxwYXRoIHRyYW5zZm9ybT0icm90YXRlKC0wLjEzMzUwNiA1MC4xMTkyIDUwKSIgaWQ9InN2Z18xIiBkPSJtMTAwLjExOTE5LDEwMGMtNTUuMjI4LDAgLTEwMCwtNDQuNzcyIC0xMDAsLTEwMGwwLDEwMGwxMDAsMHoiIG9wYWNpdHk9InVuZGVmaW5lZCIgc3Ryb2tlPSJudWxsIiBmaWxsPSIjRjhFQUU3Ii8+CiAgPHBhdGggZD0ibS0wLjYzNzY2LDcuMzEyMjhjMC4xMTkxOSwwIDAuMjE3MzcsMC4wNTc5NiAwLjQ3Njc2LDAuMTE5MTljMC4yMzIsMC4wNTQ3NyAwLjI3MzI5LDAuMDM0OTEgMC4zNTc1NywwLjExOTE5YzAuMDg0MjgsMC4wODQyOCAwLjM1NzU3LDAgMC40NzY3NiwwbDAuMTE5MTksMGwwLjIzODM4LDAiIGlkPSJzdmdfMiIgc3Ryb2tlPSJudWxsIiBmaWxsPSJub25lIi8+CiAgPHBhdGggZD0ibTI4LjkyMTM0LDY5LjA1MjQ0YzAsMC4xMTkxOSAwLDAuMjM4MzggMCwwLjM1NzU3bDAsMC4xMTkxOWwwLDAuMTE5MTkiIGlkPSJzdmdfMyIgc3Ryb2tlPSJudWxsIiBmaWxsPSJub25lIi8+CiAgPHJlY3QgaWQ9InN2Z180IiBoZWlnaHQ9IjAiIHdpZHRoPSIxLjMxMTA4IiB5PSI2LjgzNTUyIiB4PSItMC4wNDE3MSIgc3Ryb2tlPSJudWxsIiBmaWxsPSJub25lIi8+CiAgPHJlY3QgaWQ9InN2Z181IiBoZWlnaHQ9IjEuNzg3ODQiIHdpZHRoPSIwLjExOTE5IiB5PSI2OC40NTY1IiB4PSIyOC45MjEzNCIgc3Ryb2tlPSJudWxsIiBmaWxsPSJub25lIi8+CiAgPHJlY3QgaWQ9InN2Z182IiBoZWlnaHQ9IjQuODg2NzciIHdpZHRoPSIxOS4wNzAzMiIgeT0iNTEuMjkzMjEiIHg9IjM2LjY2ODY2IiBzdHJva2U9Im51bGwiIGZpbGw9Im5vbmUiLz4KIDwvZz4KPC9zdmc+'),
+				url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzAiIGhlaWdodD0iNzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZmlsbD0ibm9uZSI+CiA8Zz4KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgPHBhdGggdHJhbnNmb3JtPSJyb3RhdGUoLTg5Ljc2MjQgNy4zMzAxNCA1NS4xMjUyKSIgc3Ryb2tlPSJudWxsIiBpZD0ic3ZnXzEiIGZpbGw9IiNGOEVBRTciIGQ9Im02Mi41NzQ0OSwxMTcuNTIwODZjLTU1LjIyOCwwIC0xMDAsLTQ0Ljc3MiAtMTAwLC0xMDBsMCwxMDBsMTAwLDB6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogIDxwYXRoIGQ9Im0tMC42Mzc2Niw3LjMxMjI4YzAuMTE5MTksMCAwLjIxNzM3LDAuMDU3OTYgMC40NzY3NiwwLjExOTE5YzAuMjMyLDAuMDU0NzcgMC4yNzMyOSwwLjAzNDkxIDAuMzU3NTcsMC4xMTkxOWMwLjA4NDI4LDAuMDg0MjggMC4zNTc1NywwIDAuNDc2NzYsMGwwLjExOTE5LDBsMC4yMzgzOCwwIiBpZD0ic3ZnXzIiIHN0cm9rZT0ibnVsbCIgZmlsbD0ibm9uZSIvPgogIDxwYXRoIGQ9Im0yOC45MjEzNCw2OS4wNTI0NGMwLDAuMTE5MTkgMCwwLjIzODM4IDAsMC4zNTc1N2wwLDAuMTE5MTlsMCwwLjExOTE5IiBpZD0ic3ZnXzMiIHN0cm9rZT0ibnVsbCIgZmlsbD0ibm9uZSIvPgogIDxyZWN0IGlkPSJzdmdfNCIgaGVpZ2h0PSIwIiB3aWR0aD0iMS4zMTEwOCIgeT0iNi44MzU1MiIgeD0iLTAuMDQxNzEiIHN0cm9rZT0ibnVsbCIgZmlsbD0ibm9uZSIvPgogIDxyZWN0IGlkPSJzdmdfNSIgaGVpZ2h0PSIxLjc4Nzg0IiB3aWR0aD0iMC4xMTkxOSIgeT0iNjguNDU2NSIgeD0iMjguOTIxMzQiIHN0cm9rZT0ibnVsbCIgZmlsbD0ibm9uZSIvPgogIDxyZWN0IGlkPSJzdmdfNiIgaGVpZ2h0PSI0Ljg4Njc3IiB3aWR0aD0iMTkuMDcwMzIiIHk9IjUxLjI5MzIxIiB4PSIzNi42Njg2NiIgc3Ryb2tlPSJudWxsIiBmaWxsPSJub25lIi8+CiA8L2c+Cjwvc3ZnPg=='),
+				url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><rect rx='8' width='100%' height='100%' fill='%23F8EAE7'/></svg>");
+			-webkit-mask-size: 18px 30px, 20px 30px, calc(100% - 30px) calc(100% + 17px);
+			-webkit-mask-position: right bottom, left bottom, center top;
+			-webkit-mask-repeat: no-repeat;
+		}
+		.layout-navbars-tagsview-ul-li {
+			padding: 0 5px;
+			border-width: 15px 27px 15px;
+			border-style: solid;
+			border-color: transparent;
+			margin: 0 -15px;
+			.layout-icon-active,
+			.layout-navbars-tagsview-ul-li-iconfont,
+			.layout-navbars-tagsview-ul-li-refresh {
+				display: none;
+			}
+			.layout-icon-three {
+				display: block;
+			}
+			&:hover {
+				@extend .tags-style-five-svg;
+				background: var(--el-color-primary-light-9);
+				color: unset;
+			}
+		}
+		.is-active {
+			@extend .tags-style-five-svg;
+			background: var(--el-color-primary-light-9) !important;
+			color: var(--el-color-primary) !important;
+			z-index: 1;
+		}
+	}
+}
+.layout-navbars-tagsview-shadow {
+	box-shadow: rgb(0 21 41 / 4%) 0px 1px 4px;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/breadcrumb.vue b/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/breadcrumb.vue
new file mode 100644
index 0000000..12d071b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/breadcrumb.vue
@@ -0,0 +1,140 @@
+<template>
+	<div v-if="isShowBreadcrumb" class="layout-navbars-breadcrumb">
+		<SvgIcon class="layout-navbars-breadcrumb-icon" :name="themeConfig.isCollapse ? 'ele-Expand' : 'ele-Fold'" :size="16" @click="onThemeConfigChange" />
+		<el-breadcrumb class="layout-navbars-breadcrumb-hide">
+			<transition-group name="breadcrumb">
+				<el-breadcrumb-item v-for="(v, k) in state.breadcrumbList" :key="v.path">
+					<span v-if="k === state.breadcrumbList.length - 1" class="layout-navbars-breadcrumb-span">
+						<SvgIcon :name="v.meta.icon" class="layout-navbars-breadcrumb-iconfont" v-if="themeConfig.isBreadcrumbIcon" />
+						<div v-if="v.meta.title">{{ $t(v.meta.title) }}</div>
+						<div v-else>{{ v.meta.tagsViewName }}</div>
+					</span>
+					<a v-else @click.prevent="onBreadcrumbClick(v)"> <SvgIcon :name="v.meta.icon" class="layout-navbars-breadcrumb-iconfont" v-if="themeConfig.isBreadcrumbIcon" />{{ $t(v.meta.title) }} </a>
+				</el-breadcrumb-item>
+			</transition-group>
+		</el-breadcrumb>
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutBreadcrumb">
+import { reactive, computed, onMounted } from 'vue';
+import { onBeforeRouteUpdate, useRoute, useRouter, RouteLocationNormalized } from 'vue-router';
+import { Local } from '/@/utils/storage';
+import other from '/@/utils/other';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import { useRoutesList } from '/@/stores/routesList';
+
+// 瀹氫箟鍙橀噺鍐呭
+const stores = useRoutesList();
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const { routesList } = storeToRefs(stores);
+const route = useRoute();
+const router = useRouter();
+const state = reactive<BreadcrumbState>({
+	breadcrumbList: [],
+	routeSplit: [],
+	routeSplitFirst: '',
+	routeSplitIndex: 1,
+});
+
+// 鍔ㄦ�佽缃粡鍏搞�佹í鍚戝竷灞�涓嶆樉绀�
+const isShowBreadcrumb = computed(() => {
+	initRouteSplit(route);
+	const { layout, isBreadcrumb } = themeConfig.value;
+	if (layout === 'classic' || layout === 'transverse') return false;
+	else return isBreadcrumb ? true : false;
+});
+// 闈㈠寘灞戠偣鍑绘椂
+const onBreadcrumbClick = (v: RouteItem) => {
+	// eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars
+	const { redirect, path } = v;
+	if (redirect) router.push(redirect);
+	// 濡傛灉娌℃湁鎸囧畾閲嶅畾鍚戯紝鍒欎笉璺宠浆
+	// else if (path) router.push(path);
+};
+// 灞曞紑/鏀惰捣宸︿晶鑿滃崟鐐瑰嚮
+const onThemeConfigChange = () => {
+	themeConfig.value.isCollapse = !themeConfig.value.isCollapse;
+	setLocalThemeConfig();
+};
+// 瀛樺偍甯冨眬閰嶇疆
+const setLocalThemeConfig = () => {
+	Local.remove('themeConfig');
+	Local.set('themeConfig', themeConfig.value);
+};
+// 澶勭悊闈㈠寘灞戞暟鎹�
+const getBreadcrumbList = (arr: RouteItems) => {
+	arr.forEach((item: RouteItem) => {
+		state.routeSplit.forEach((v: string, k: number, arrs: string[]) => {
+			if (state.routeSplitFirst === item.path) {
+				state.routeSplitFirst += `/${arrs[state.routeSplitIndex]}`;
+				!state.breadcrumbList.find((a) => a.path === item.path) && state.breadcrumbList.push(item);
+				state.routeSplitIndex++;
+				if (item.children) getBreadcrumbList(item.children);
+			}
+		});
+	});
+};
+// 褰撳墠璺敱瀛楃涓插垏鍓叉垚鏁扮粍锛屽苟鍒犻櫎绗竴椤圭┖鍐呭
+const initRouteSplit = (toRoute: RouteLocationNormalized) => {
+	if (!themeConfig.value.isBreadcrumb) return false;
+	state.breadcrumbList = [routesList.value[0]];
+	state.routeSplit = toRoute.path.split('/');
+	state.routeSplit.shift();
+	state.routeSplitFirst = `/${state.routeSplit[0]}`;
+	state.routeSplitIndex = 1;
+	getBreadcrumbList(routesList.value);
+	if (toRoute.name === 'home' || (toRoute.name === 'notFound' && state.breadcrumbList.length > 1)) state.breadcrumbList.shift();
+	if (state.breadcrumbList.length > 0) state.breadcrumbList[state.breadcrumbList.length - 1].meta.tagsViewName = other.setTagsViewNameI18n(<RouteToFrom>route);
+};
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	initRouteSplit(route);
+});
+// 璺敱鏇存柊鏃�
+onBeforeRouteUpdate((to) => {
+	initRouteSplit(to);
+});
+</script>
+
+<style scoped lang="scss">
+.layout-navbars-breadcrumb {
+	flex: 1;
+	height: inherit;
+	display: flex;
+	align-items: center;
+	.layout-navbars-breadcrumb-icon {
+		cursor: pointer;
+		font-size: 18px;
+		color: var(--next-bg-topBarColor);
+		height: 100%;
+		width: 40px;
+		opacity: 0.8;
+		&:hover {
+			opacity: 1;
+		}
+	}
+	.layout-navbars-breadcrumb-span {
+		display: flex;
+		opacity: 0.7;
+		color: var(--next-bg-topBarColor);
+	}
+	.layout-navbars-breadcrumb-iconfont {
+		font-size: 14px;
+		margin-right: 5px;
+	}
+	:deep(.el-breadcrumb__separator) {
+		opacity: 0.7;
+		color: var(--next-bg-topBarColor);
+	}
+	:deep(.el-breadcrumb__inner a, .el-breadcrumb__inner.is-link) {
+		font-weight: unset !important;
+		color: var(--next-bg-topBarColor);
+		&:hover {
+			color: var(--el-color-primary) !important;
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/closeFull.vue b/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/closeFull.vue
new file mode 100644
index 0000000..080dad5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/closeFull.vue
@@ -0,0 +1,53 @@
+<template>
+	<div class="layout-navbars-close-full" v-if="isTagsViewCurrenFull">
+		<div class="layout-navbars-close-full-icon">
+			<SvgIcon name="ele-Close" :title="$t('message.tagsView.closeFullscreen')" @click="onCloseFullscreen" />
+		</div>
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutCloseFull">
+import { storeToRefs } from 'pinia';
+import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
+
+// 瀹氫箟鍙橀噺鍐呭
+const stores = useTagsViewRoutes();
+const { isTagsViewCurrenFull } = storeToRefs(stores);
+
+// 鍏抽棴褰撳墠鍏ㄥ睆
+const onCloseFullscreen = () => {
+	stores.setCurrenFullscreen(false);
+};
+</script>
+
+<style scoped lang="scss">
+.layout-navbars-close-full {
+	position: fixed;
+	z-index: 9999999999;
+	right: -30px;
+	top: -30px;
+	.layout-navbars-close-full-icon {
+		width: 60px;
+		height: 60px;
+		border-radius: 100%;
+		cursor: pointer;
+		background: rgba(0, 0, 0, 0.1);
+		transition: all 0.3s ease;
+		position: relative;
+		:deep(i) {
+			position: absolute;
+			left: 10px;
+			top: 35px;
+			color: #333333;
+			transition: all 0.3s ease;
+		}
+	}
+	&:hover {
+		transition: all 0.3s ease;
+		:deep(i) {
+			color: var(--el-color-primary);
+			transition: all 0.3s ease;
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/index.vue b/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/index.vue
new file mode 100644
index 0000000..bd8804a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/index.vue
@@ -0,0 +1,107 @@
+<template>
+	<div class="layout-navbars-breadcrumb-index">
+		<Logo v-if="setIsShowLogo" />
+		<Breadcrumb />
+		<Horizontal :menuList="state.menuList" v-if="isLayoutTransverse" />
+		<User />
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutBreadcrumbIndex">
+import { defineAsyncComponent, computed, reactive, onMounted, onUnmounted } from 'vue';
+import { useRoute } from 'vue-router';
+import { storeToRefs } from 'pinia';
+import { useRoutesList } from '/@/stores/routesList';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import mittBus from '/@/utils/mitt';
+
+// 寮曞叆缁勪欢
+const Breadcrumb = defineAsyncComponent(() => import('/@/layout/navBars/topBar/breadcrumb.vue'));
+const User = defineAsyncComponent(() => import('/@/layout/navBars/topBar/user.vue'));
+const Logo = defineAsyncComponent(() => import('/@/layout/logo/index.vue'));
+const Horizontal = defineAsyncComponent(() => import('/@/layout/navMenu/horizontal.vue'));
+
+// 瀹氫箟鍙橀噺鍐呭
+const stores = useRoutesList();
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const { routesList } = storeToRefs(stores);
+const route = useRoute();
+const state = reactive({
+	menuList: [] as RouteItems,
+});
+
+// 璁剧疆 logo 鏄剧ず/闅愯棌
+const setIsShowLogo = computed(() => {
+	let { isShowLogo, layout } = themeConfig.value;
+	return (isShowLogo && layout === 'classic') || (isShowLogo && layout === 'transverse');
+});
+// 璁剧疆鏄惁鏄剧ず妯悜瀵艰埅鑿滃崟
+const isLayoutTransverse = computed(() => {
+	let { layout, isClassicSplitMenu } = themeConfig.value;
+	return layout === 'transverse' || (isClassicSplitMenu && layout === 'classic');
+});
+// 璁剧疆/杩囨护璺敱锛堥潪闈欐�佽矾鐢�/鏄惁鏄剧ず鍦ㄨ彍鍗曚腑锛�
+const setFilterRoutes = () => {
+	let { layout, isClassicSplitMenu } = themeConfig.value;
+	if (layout === 'classic' && isClassicSplitMenu) {
+		state.menuList = delClassicChildren(filterRoutesFun(routesList.value));
+		const resData = setSendClassicChildren(route.path);
+		mittBus.emit('setSendClassicChildren', resData);
+	} else {
+		state.menuList = filterRoutesFun(routesList.value);
+	}
+};
+// 璁剧疆浜嗗垎鍓茶彍鍗曟椂锛屽垹闄ゅ簳涓� children
+const delClassicChildren = <T extends ChilType>(arr: T[]): T[] => {
+	arr.map((v: T) => {
+		if (v.children) delete v.children;
+	});
+	return arr;
+};
+// 璺敱杩囨护閫掑綊鍑芥暟
+const filterRoutesFun = <T extends RouteItem>(arr: T[]): T[] => {
+	return arr
+		.filter((item: T) => !item.meta?.isHide)
+		.map((item: T) => {
+			item = Object.assign({}, item);
+			if (item.children) item.children = filterRoutesFun(item.children);
+			return item;
+		});
+};
+// 浼犻�佸綋鍓嶅瓙绾ф暟鎹埌鑿滃崟涓�
+const setSendClassicChildren = (path: string) => {
+	const currentPathSplit = path.split('/');
+	let currentData: MittMenu = { children: [] };
+	filterRoutesFun(routesList.value).map((v: RouteItem, k: number) => {
+		if (v.path === `/${currentPathSplit[1]}`) {
+			v['k'] = k;
+			currentData['item'] = { ...v };
+			currentData['children'] = [{ ...v }];
+			if (v.children) currentData['children'] = v.children;
+		}
+	});
+	return currentData;
+};
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	setFilterRoutes();
+	mittBus.on('getBreadcrumbIndexSetFilterRoutes', () => {
+		setFilterRoutes();
+	});
+});
+// 椤甸潰鍗歌浇鏃�
+onUnmounted(() => {
+	mittBus.off('getBreadcrumbIndexSetFilterRoutes', () => {});
+});
+</script>
+
+<style scoped lang="scss">
+.layout-navbars-breadcrumb-index {
+	height: 50px;
+	display: flex;
+	align-items: center;
+	background: var(--next-bg-topBar);
+	border-bottom: 1px solid var(--next-border-color-light);
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/search.vue b/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/search.vue
new file mode 100644
index 0000000..462cd16
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/search.vue
@@ -0,0 +1,125 @@
+<template>
+	<div class="layout-search-dialog">
+		<el-dialog v-model="state.isShowSearch" destroy-on-close :show-close="false">
+			<template #footer>
+				<el-autocomplete
+					v-model="state.menuQuery"
+					:fetch-suggestions="menuSearch"
+					:placeholder="$t('message.user.searchPlaceholder')"
+					ref="layoutMenuAutocompleteRef"
+					@select="onHandleSelect"
+					:fit-input-width="true"
+				>
+					<template #prefix>
+						<el-icon class="el-input__icon">
+							<ele-Search />
+						</el-icon>
+					</template>
+					<template #default="{ item }">
+						<div>
+							<SvgIcon :name="item.meta.icon" class="mr5" />
+							{{ $t(item.meta.title) }}
+						</div>
+					</template>
+				</el-autocomplete>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutBreadcrumbSearch">
+import { reactive, ref, nextTick } from 'vue';
+import { useRouter } from 'vue-router';
+import { useI18n } from 'vue-i18n';
+import { storeToRefs } from 'pinia';
+import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
+
+// 瀹氫箟鍙橀噺鍐呭
+const storesTagsViewRoutes = useTagsViewRoutes();
+const { tagsViewRoutes } = storeToRefs(storesTagsViewRoutes);
+const layoutMenuAutocompleteRef = ref();
+const { t } = useI18n();
+const router = useRouter();
+const state = reactive<SearchState>({
+	isShowSearch: false,
+	menuQuery: '',
+	tagsViewList: [],
+});
+
+// 鎼滅储寮圭獥鎵撳紑
+const openSearch = () => {
+	state.menuQuery = '';
+	state.isShowSearch = true;
+	initTageView();
+	nextTick(() => {
+		setTimeout(() => {
+			layoutMenuAutocompleteRef.value.focus();
+		});
+	});
+};
+// 鎼滅储寮圭獥鍏抽棴
+const closeSearch = () => {
+	state.isShowSearch = false;
+};
+// 鑿滃崟鎼滅储鏁版嵁杩囨护
+const menuSearch = (queryString: string, cb: Function) => {
+	let results = queryString ? state.tagsViewList.filter(createFilter(queryString)) : state.tagsViewList;
+	cb(results);
+};
+// 鑿滃崟鎼滅储杩囨护
+const createFilter = (queryString: string) => {
+	return (restaurant: RouteItem) => {
+		return (
+			restaurant.path.toLowerCase().indexOf(queryString.toLowerCase()) > -1 ||
+			restaurant.meta!.title!.toLowerCase().indexOf(queryString.toLowerCase()) > -1 ||
+			t(restaurant.meta!.title!).indexOf(queryString.toLowerCase()) > -1
+		);
+	};
+};
+// 鍒濆鍖栬彍鍗曟暟鎹�
+const initTageView = () => {
+	if (state.tagsViewList.length > 0) return false;
+	tagsViewRoutes.value.map((v: RouteItem) => {
+		if (!v.meta?.isHide && v.type !== 1) state.tagsViewList.push({ ...v });
+	});
+};
+// 褰撳墠鑿滃崟閫変腑鏃�
+const onHandleSelect = (item: RouteItem) => {
+	let { path, redirect } = item;
+	if (item.meta?.isLink && !item.meta?.isIframe) window.open(item.meta?.isLink);
+	else if (redirect) router.push(redirect);
+	else router.push(path);
+	closeSearch();
+};
+
+// 鏆撮湶鍙橀噺
+defineExpose({
+	openSearch,
+});
+</script>
+
+<style scoped lang="scss">
+.layout-search-dialog {
+	position: relative;
+	:deep(.el-dialog) {
+		.el-dialog__header,
+		.el-dialog__body {
+			display: none;
+		}
+		.el-dialog__footer {
+			width: 100%;
+			position: absolute;
+			left: 50%;
+			transform: translateX(-50%);
+			top: -53vh;
+		}
+	}
+	:deep(.el-autocomplete) {
+		width: 560px;
+		position: absolute;
+		top: 150px;
+		left: 50%;
+		transform: translateX(-50%);
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/setings.vue b/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/setings.vue
new file mode 100644
index 0000000..ba702af
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/setings.vue
@@ -0,0 +1,784 @@
+<template>
+	<div class="layout-breadcrumb-seting">
+		<el-drawer :title="$t('message.layout.configTitle')" v-model="getThemeConfig.isDrawer" direction="rtl" destroy-on-close size="280px" @close="onDrawerClose">
+			<el-scrollbar class="layout-breadcrumb-seting-bar">
+				<!-- 鍏ㄥ眬涓婚 -->
+				<el-divider content-position="center">{{ $t('message.layout.oneTitle') }}</el-divider>
+				<div class="layout-breadcrumb-seting-bar-flex">
+					<div class="layout-breadcrumb-seting-bar-flex-label">涓婚棰滆壊</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-color-picker v-model="getThemeConfig.primary" size="default" @change="onColorPickerChange"> </el-color-picker>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsDark') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isIsDark" size="small" @change="onAddDarkChange"></el-switch>
+					</div>
+				</div>
+
+				<!-- 椤舵爮璁剧疆 -->
+				<el-divider content-position="center">{{ $t('message.layout.twoTopTitle') }}</el-divider>
+				<div class="layout-breadcrumb-seting-bar-flex">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.twoTopBar') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-color-picker v-model="getThemeConfig.topBar" size="default" @change="onBgColorPickerChange('topBar')"> </el-color-picker>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.twoTopBarColor') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-color-picker v-model="getThemeConfig.topBarColor" size="default" @change="onBgColorPickerChange('topBarColor')"> </el-color-picker>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt10">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.twoIsTopBarColorGradual') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isTopBarColorGradual" size="small" @change="onTopBarGradualChange"></el-switch>
+					</div>
+				</div>
+
+				<!-- 鑿滃崟璁剧疆 -->
+				<el-divider content-position="center">{{ $t('message.layout.twoMenuTitle') }}</el-divider>
+				<div class="layout-breadcrumb-seting-bar-flex">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.twoMenuBar') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-color-picker v-model="getThemeConfig.menuBar" size="default" @change="onBgColorPickerChange('menuBar')"> </el-color-picker>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.twoMenuBarColor') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-color-picker v-model="getThemeConfig.menuBarColor" size="default" @change="onBgColorPickerChange('menuBarColor')"> </el-color-picker>
+					</div>
+				</div>
+				<!-- <div class="layout-breadcrumb-seting-bar-flex">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.twoMenuBarActiveColor') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-color-picker v-model="getThemeConfig.menuBarActiveColor" size="default" show-alpha @change="onBgColorPickerChange('menuBarActiveColor')" />
+					</div>
+				</div> -->
+				<div class="layout-breadcrumb-seting-bar-flex mt14">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.twoIsMenuBarColorGradual') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isMenuBarColorGradual" size="small" @change="onMenuBarGradualChange"></el-switch>
+					</div>
+				</div>
+
+				<!-- 鍒嗘爮璁剧疆 -->
+				<el-divider content-position="center" :style="{ opacity: getThemeConfig.layout !== 'columns' ? 0.5 : 1 }">{{ $t('message.layout.twoColumnsTitle') }}</el-divider>
+				<div class="layout-breadcrumb-seting-bar-flex" :style="{ opacity: getThemeConfig.layout !== 'columns' ? 0.5 : 1 }">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.twoColumnsMenuBar') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-color-picker v-model="getThemeConfig.columnsMenuBar" size="default" @change="onBgColorPickerChange('columnsMenuBar')" :disabled="getThemeConfig.layout !== 'columns'">
+						</el-color-picker>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex" :style="{ opacity: getThemeConfig.layout !== 'columns' ? 0.5 : 1 }">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.twoColumnsMenuBarColor') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-color-picker v-model="getThemeConfig.columnsMenuBarColor" size="default" @change="onBgColorPickerChange('columnsMenuBarColor')" :disabled="getThemeConfig.layout !== 'columns'">
+						</el-color-picker>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt14" :style="{ opacity: getThemeConfig.layout !== 'columns' ? 0.5 : 1 }">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.twoIsColumnsMenuBarColorGradual') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isColumnsMenuBarColorGradual" size="small" @change="onColumnsMenuBarGradualChange" :disabled="getThemeConfig.layout !== 'columns'"></el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt14" :style="{ opacity: getThemeConfig.layout !== 'columns' ? 0.5 : 1 }">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.twoIsColumnsMenuHoverPreload') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isColumnsMenuHoverPreload" size="small" @change="onColumnsMenuHoverPreloadChange" :disabled="getThemeConfig.layout !== 'columns'"></el-switch>
+					</div>
+				</div>
+
+				<!-- 鐣岄潰璁剧疆 -->
+				<el-divider content-position="center">{{ $t('message.layout.threeTitle') }}</el-divider>
+				<div class="layout-breadcrumb-seting-bar-flex" :style="{ opacity: getThemeConfig.layout === 'transverse' ? 0.5 : 1 }">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.threeIsCollapse') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isCollapse" :disabled="getThemeConfig.layout === 'transverse'" size="small" @change="onThemeConfigChange"></el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15" :style="{ opacity: getThemeConfig.layout === 'transverse' ? 0.5 : 1 }">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.threeIsUniqueOpened') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isUniqueOpened" :disabled="getThemeConfig.layout === 'transverse'" size="small" @change="setLocalThemeConfig"></el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.threeIsFixedHeader') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isFixedHeader" size="small" @change="onIsFixedHeaderChange"></el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15" :style="{ opacity: getThemeConfig.layout !== 'classic' ? 0.5 : 1 }">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.threeIsClassicSplitMenu') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isClassicSplitMenu" :disabled="getThemeConfig.layout !== 'classic'" size="small" @change="onClassicSplitMenuChange"> </el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.threeIsLockScreen') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isLockScreen" size="small" @change="setLocalThemeConfig"></el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt11">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.threeLockScreenTime') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-input-number v-model="getThemeConfig.lockScreenTime" controls-position="right" :min="1" :max="9999" @change="setLocalThemeConfig" size="small" style="width: 90px; margin-right: 1px">
+						</el-input-number>
+					</div>
+				</div>
+
+				<!-- 鐣岄潰鏄剧ず -->
+				<el-divider content-position="center">{{ $t('message.layout.fourTitle') }}</el-divider>
+				<div class="layout-breadcrumb-seting-bar-flex mt15">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsShowLogo') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isShowLogo" size="small" @change="onIsShowLogoChange"></el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15" :style="{ opacity: getThemeConfig.layout === 'classic' || getThemeConfig.layout === 'transverse' ? 0.5 : 1 }">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsBreadcrumb') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch
+							v-model="getThemeConfig.isBreadcrumb"
+							:disabled="getThemeConfig.layout === 'classic' || getThemeConfig.layout === 'transverse'"
+							size="small"
+							@change="onIsBreadcrumbChange"
+						></el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsBreadcrumbIcon') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isBreadcrumbIcon" size="small" @change="setLocalThemeConfig"></el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsTagsview') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isTagsview" size="small" @change="setLocalThemeConfig"></el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsTagsviewIcon') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isTagsviewIcon" size="small" @change="setLocalThemeConfig"></el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsCacheTagsView') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isCacheTagsView" size="small" @change="setLocalThemeConfig"></el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15" :style="{ opacity: state.isMobile ? 0.5 : 1 }">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsSortableTagsView') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isSortableTagsView" :disabled="state.isMobile ? true : false" size="small" @change="onSortableTagsViewChange"></el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsShareTagsView') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isShareTagsView" size="small" @change="onShareTagsViewChange"></el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsFooter') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isFooter" size="small" @change="setLocalThemeConfig"></el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsGrayscale') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isGrayscale" size="small" @change="onAddFilterChange('grayscale')"></el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsInvert') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-switch v-model="getThemeConfig.isInvert" size="small" @change="onAddFilterChange('invert')"></el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourIsWatermark') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<!-- 鐢卞弬鏁伴厤缃� sys_watermark 鎺у埗 -->
+						<el-switch v-model="getThemeConfig.isWatermark" size="small" @change="onWatermarkChange" disabled></el-switch>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt14">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fourWatermarkText') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-input v-model="getThemeConfig.watermarkText" size="small" style="width: 90px; margin-right: 1px" @input="onWatermarkTextInput" disabled></el-input>
+					</div>
+				</div>
+
+				<!-- 鍏跺畠璁剧疆 -->
+				<el-divider content-position="center">{{ $t('message.layout.fiveTitle') }}</el-divider>
+				<div class="layout-breadcrumb-seting-bar-flex mt15">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fiveTagsStyle') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-select v-model="getThemeConfig.tagsStyle" placeholder="璇烽�夋嫨" size="small" style="width: 90px; margin-right: 1px" @change="setLocalThemeConfig">
+							<el-option label="椋庢牸1" value="tags-style-one"></el-option>
+							<el-option label="椋庢牸4" value="tags-style-four"></el-option>
+							<el-option label="椋庢牸5" value="tags-style-five"></el-option>
+						</el-select>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fiveAnimation') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-select v-model="getThemeConfig.animation" placeholder="璇烽�夋嫨" size="small" style="width: 90px; margin-right: 1px" @change="setLocalThemeConfig">
+							<el-option label="slide-right" value="slide-right"></el-option>
+							<el-option label="slide-left" value="slide-left"></el-option>
+							<el-option label="opacitys" value="opacitys"></el-option>
+							<el-option label="fade" value="fade"></el-option>
+							<el-option label="fadeUp" value="fadeUp"></el-option>
+							<el-option label="fadeDown" value="fadeDown"></el-option>
+							<el-option label="fadeLeft" value="fadeLeft"></el-option>
+							<el-option label="fadeRight" value="fadeRight"></el-option>
+							<el-option label="lightSpeedLeft" value="lightSpeedLeft"></el-option>
+							<el-option label="lightSpeedRight" value="lightSpeedRight"></el-option>
+							<el-option label="zoom" value="zoom"></el-option>
+							<el-option label="zoomUp" value="zoomUp"></el-option>
+							<el-option label="zoomDown" value="zoomDown"></el-option>
+							<el-option label="zoomLeft" value="zoomLeft"></el-option>
+							<el-option label="zoomRight" value="zoomRight"></el-option>
+							<el-option label="flip" value="flip"></el-option>
+							<el-option label="flipX" value="flipX"></el-option>
+							<el-option label="flipY" value="flipY"></el-option>
+							<el-option label="backUp" value="backUp"></el-option>
+							<el-option label="backDown" value="backDown"></el-option>
+							<el-option label="backLeft" value="backLeft"></el-option>
+							<el-option label="backRight" value="backRight"></el-option>
+							<el-option label="bounce" value="bounce"></el-option>
+							<el-option label="bounceUp" value="bounceUp"></el-option>
+							<el-option label="bounceDown" value="bounceDown"></el-option>
+							<el-option label="bounceLeft" value="bounceLeft"></el-option>
+							<el-option label="bounceRight" value="bounceRight"></el-option>
+						</el-select>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15" :style="{ opacity: getThemeConfig.layout !== 'columns' ? 0.5 : 1 }">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fiveColumnsAsideStyle') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-select
+							v-model="getThemeConfig.columnsAsideStyle"
+							placeholder="璇烽�夋嫨"
+							size="small"
+							style="width: 90px; margin-right: 1px"
+							:disabled="getThemeConfig.layout !== 'columns' ? true : false"
+							@change="setLocalThemeConfig"
+						>
+							<el-option label="鍦嗚" value="columns-round"></el-option>
+							<el-option label="鍗$墖" value="columns-card"></el-option>
+						</el-select>
+					</div>
+				</div>
+				<div class="layout-breadcrumb-seting-bar-flex mt15 mb27" :style="{ opacity: getThemeConfig.layout !== 'columns' ? 0.5 : 1 }">
+					<div class="layout-breadcrumb-seting-bar-flex-label">{{ $t('message.layout.fiveColumnsAsideLayout') }}</div>
+					<div class="layout-breadcrumb-seting-bar-flex-value">
+						<el-select
+							v-model="getThemeConfig.columnsAsideLayout"
+							placeholder="璇烽�夋嫨"
+							size="small"
+							style="width: 90px; margin-right: 1px"
+							:disabled="getThemeConfig.layout !== 'columns' ? true : false"
+							@change="setLocalThemeConfig"
+						>
+							<el-option label="姘村钩" value="columns-horizontal"></el-option>
+							<el-option label="鍨傜洿" value="columns-vertical"></el-option>
+						</el-select>
+					</div>
+				</div>
+
+				<!-- 甯冨眬鍒囨崲 -->
+				<el-divider content-position="center">{{ $t('message.layout.sixTitle') }}</el-divider>
+				<div class="layout-drawer-content-flex">
+					<!-- defaults 甯冨眬 -->
+					<div class="layout-drawer-content-item" @click="onSetLayout('defaults')">
+						<section class="el-container el-circular" :class="{ 'drawer-layout-active': getThemeConfig.layout === 'defaults' }">
+							<aside class="el-aside" style="width: 20px"></aside>
+							<section class="el-container is-vertical">
+								<header class="el-header" style="height: 10px"></header>
+								<main class="el-main"></main>
+							</section>
+						</section>
+						<div class="layout-tips-warp" :class="{ 'layout-tips-warp-active': getThemeConfig.layout === 'defaults' }">
+							<div class="layout-tips-box">
+								<p class="layout-tips-txt">{{ $t('message.layout.sixDefaults') }}</p>
+							</div>
+						</div>
+					</div>
+					<!-- classic 甯冨眬 -->
+					<div class="layout-drawer-content-item" @click="onSetLayout('classic')">
+						<section class="el-container is-vertical el-circular" :class="{ 'drawer-layout-active': getThemeConfig.layout === 'classic' }">
+							<header class="el-header" style="height: 10px"></header>
+							<section class="el-container">
+								<aside class="el-aside" style="width: 20px"></aside>
+								<section class="el-container is-vertical">
+									<main class="el-main"></main>
+								</section>
+							</section>
+						</section>
+						<div class="layout-tips-warp" :class="{ 'layout-tips-warp-active': getThemeConfig.layout === 'classic' }">
+							<div class="layout-tips-box">
+								<p class="layout-tips-txt">{{ $t('message.layout.sixClassic') }}</p>
+							</div>
+						</div>
+					</div>
+					<!-- transverse 甯冨眬 -->
+					<div class="layout-drawer-content-item" @click="onSetLayout('transverse')">
+						<section class="el-container is-vertical el-circular" :class="{ 'drawer-layout-active': getThemeConfig.layout === 'transverse' }">
+							<header class="el-header" style="height: 10px"></header>
+							<section class="el-container">
+								<section class="el-container is-vertical">
+									<main class="el-main"></main>
+								</section>
+							</section>
+						</section>
+						<div class="layout-tips-warp" :class="{ 'layout-tips-warp-active': getThemeConfig.layout === 'transverse' }">
+							<div class="layout-tips-box">
+								<p class="layout-tips-txt">{{ $t('message.layout.sixTransverse') }}</p>
+							</div>
+						</div>
+					</div>
+					<!-- columns 甯冨眬 -->
+					<div class="layout-drawer-content-item" @click="onSetLayout('columns')">
+						<section class="el-container el-circular" :class="{ 'drawer-layout-active': getThemeConfig.layout === 'columns' }">
+							<aside class="el-aside-dark" style="width: 10px"></aside>
+							<aside class="el-aside" style="width: 20px"></aside>
+							<section class="el-container is-vertical">
+								<header class="el-header" style="height: 10px"></header>
+								<main class="el-main"></main>
+							</section>
+						</section>
+						<div class="layout-tips-warp" :class="{ 'layout-tips-warp-active': getThemeConfig.layout === 'columns' }">
+							<div class="layout-tips-box">
+								<p class="layout-tips-txt">{{ $t('message.layout.sixColumns') }}</p>
+							</div>
+						</div>
+					</div>
+				</div>
+				<div class="copy-config">
+					<el-alert :title="$t('message.layout.tipText')" type="warning" :closable="false"> </el-alert>
+					<el-button size="default" class="copy-config-btn" type="primary" ref="copyConfigBtnRef" @click="onCopyConfigClick">
+						<el-icon class="mr5">
+							<ele-CopyDocument />
+						</el-icon>
+						{{ $t('message.layout.copyText') }}
+					</el-button>
+					<el-button size="default" class="copy-config-btn-reset" type="info" @click="onResetConfigClick">
+						<el-icon class="mr5">
+							<ele-RefreshRight />
+						</el-icon>
+						{{ $t('message.layout.resetText') }}
+					</el-button>
+				</div>
+			</el-scrollbar>
+		</el-drawer>
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutBreadcrumbSeting">
+import { nextTick, onUnmounted, onMounted, computed, reactive } from 'vue';
+import { ElMessage } from 'element-plus';
+import { useI18n } from 'vue-i18n';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import { useChangeColor } from '/@/utils/theme';
+import { verifyAndSpace } from '/@/utils/toolsValidate';
+import { Local } from '/@/utils/storage';
+import Watermark from '/@/utils/watermark';
+import commonFunction from '/@/utils/commonFunction';
+import other from '/@/utils/other';
+import mittBus from '/@/utils/mitt';
+
+// 瀹氫箟鍙橀噺鍐呭
+const { locale } = useI18n();
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const { copyText } = commonFunction();
+const { getLightColor, getDarkColor } = useChangeColor();
+const state = reactive({
+	isMobile: false,
+});
+
+// 鑾峰彇甯冨眬閰嶇疆淇℃伅
+const getThemeConfig = computed(() => {
+	return themeConfig.value;
+});
+// 1銆佸叏灞�涓婚
+const onColorPickerChange = () => {
+	if (!getThemeConfig.value.primary) return ElMessage.warning('鍏ㄥ眬涓婚 primary 棰滆壊鍊间笉鑳戒负绌�');
+	// 棰滆壊鍔犳繁
+	document.documentElement.style.setProperty('--el-color-primary-dark-2', `${getDarkColor(getThemeConfig.value.primary, 0.1)}`);
+	document.documentElement.style.setProperty('--el-color-primary', getThemeConfig.value.primary);
+	// 棰滆壊鍙樻祬
+	for (let i = 1; i <= 9; i++) {
+		document.documentElement.style.setProperty(`--el-color-primary-light-${i}`, `${getLightColor(getThemeConfig.value.primary, i / 10)}`);
+	}
+	setDispatchThemeConfig();
+};
+// 2銆佽彍鍗� / 椤舵爮
+const onBgColorPickerChange = (bg: string) => {
+	document.documentElement.style.setProperty(`--next-bg-${bg}`, themeConfig.value[bg]);
+	if (bg === 'menuBar') {
+		document.documentElement.style.setProperty(`--next-bg-menuBar-light-1`, getLightColor(getThemeConfig.value.menuBar, 0.05));
+	}
+	onTopBarGradualChange();
+	onMenuBarGradualChange();
+	onColumnsMenuBarGradualChange();
+	setDispatchThemeConfig();
+};
+// 2銆佽彍鍗� / 椤舵爮 --> 椤舵爮鑳屾櫙娓愬彉
+const onTopBarGradualChange = () => {
+	setGraduaFun('.layout-navbars-breadcrumb-index', getThemeConfig.value.isTopBarColorGradual, getThemeConfig.value.topBar);
+};
+// 2銆佽彍鍗� / 椤舵爮 --> 鑿滃崟鑳屾櫙娓愬彉
+const onMenuBarGradualChange = () => {
+	setGraduaFun('.layout-container .el-aside', getThemeConfig.value.isMenuBarColorGradual, getThemeConfig.value.menuBar);
+};
+// 2銆佽彍鍗� / 椤舵爮 --> 鍒嗘爮鑿滃崟鑳屾櫙娓愬彉
+const onColumnsMenuBarGradualChange = () => {
+	setGraduaFun('.layout-container .layout-columns-aside', getThemeConfig.value.isColumnsMenuBarColorGradual, getThemeConfig.value.columnsMenuBar);
+};
+// 2銆佽彍鍗� / 椤舵爮 --> 鑳屾櫙娓愬彉鍑芥暟
+const setGraduaFun = (el: string, bool: boolean, color: string) => {
+	nextTick(() => {
+		setTimeout(() => {
+			let els = document.querySelector(el);
+			if (!els) return false;
+			document.documentElement.style.setProperty('--el-menu-bg-color', document.documentElement.style.getPropertyValue('--next-bg-menuBar'));
+			if (bool) els.setAttribute('style', `background:linear-gradient(to bottom , ${color}, ${getLightColor(color, 0.5)})`);
+			else els.setAttribute('style', ``);
+			setLocalThemeConfig();
+		}, 300);
+	});
+};
+// 2銆佸垎鏍忚缃� ->
+const onColumnsMenuHoverPreloadChange = () => {
+	setLocalThemeConfig();
+};
+// 3銆佺晫闈㈣缃� --> 鑿滃崟姘村钩鎶樺彔
+const onThemeConfigChange = () => {
+	setDispatchThemeConfig();
+};
+// 3銆佺晫闈㈣缃� --> 鍥哄畾 Header
+const onIsFixedHeaderChange = () => {
+	getThemeConfig.value.isFixedHeaderChange = getThemeConfig.value.isFixedHeader ? false : true;
+	setLocalThemeConfig();
+};
+// 3銆佺晫闈㈣缃� --> 缁忓吀甯冨眬鍒嗗壊鑿滃崟
+const onClassicSplitMenuChange = () => {
+	getThemeConfig.value.isBreadcrumb = false;
+	setLocalThemeConfig();
+	mittBus.emit('getBreadcrumbIndexSetFilterRoutes');
+};
+// 4銆佺晫闈㈡樉绀� --> 渚ц竟鏍� Logo
+const onIsShowLogoChange = () => {
+	getThemeConfig.value.isShowLogoChange = getThemeConfig.value.isShowLogo ? false : true;
+	setLocalThemeConfig();
+};
+// 4銆佺晫闈㈡樉绀� --> 闈㈠寘灞� Breadcrumb
+const onIsBreadcrumbChange = () => {
+	if (getThemeConfig.value.layout === 'classic') {
+		getThemeConfig.value.isClassicSplitMenu = false;
+	}
+	setLocalThemeConfig();
+};
+// 4銆佺晫闈㈡樉绀� --> 寮�鍚� TagsView 鎷栨嫿
+const onSortableTagsViewChange = () => {
+	mittBus.emit('openOrCloseSortable');
+	setLocalThemeConfig();
+};
+// 4銆佺晫闈㈡樉绀� --> 寮�鍚� TagsView 鍏辩敤
+const onShareTagsViewChange = () => {
+	mittBus.emit('openShareTagsView');
+	setLocalThemeConfig();
+};
+// 4銆佺晫闈㈡樉绀� --> 鐏拌壊妯″紡/鑹插急妯″紡
+const onAddFilterChange = (attr: string) => {
+	if (attr === 'grayscale') {
+		if (getThemeConfig.value.isGrayscale) getThemeConfig.value.isInvert = false;
+	} else {
+		if (getThemeConfig.value.isInvert) getThemeConfig.value.isGrayscale = false;
+	}
+	const cssAttr = attr === 'grayscale' ? `grayscale(${getThemeConfig.value.isGrayscale ? 1 : 0})` : `invert(${getThemeConfig.value.isInvert ? '80%' : '0%'})`;
+	const appEle = document.body;
+	appEle.setAttribute('style', `filter: ${cssAttr}`);
+	setLocalThemeConfig();
+};
+// 4銆佺晫闈㈡樉绀� --> 娣辫壊妯″紡
+const onAddDarkChange = () => {
+	const body = document.documentElement as HTMLElement;
+	if (getThemeConfig.value.isIsDark) body.setAttribute('data-theme', 'dark');
+	else body.setAttribute('data-theme', '');
+};
+// 4銆佺晫闈㈡樉绀� --> 寮�鍚按鍗�
+const onWatermarkChange = () => {
+	getThemeConfig.value.isWatermark ? Watermark.set(getThemeConfig.value.watermarkText) : Watermark.del();
+	setLocalThemeConfig();
+};
+// 4銆佺晫闈㈡樉绀� --> 姘村嵃鏂囨
+const onWatermarkTextInput = (val: string) => {
+	getThemeConfig.value.watermarkText = verifyAndSpace(val);
+	if (getThemeConfig.value.watermarkText === '') return false;
+	if (getThemeConfig.value.isWatermark) Watermark.set(getThemeConfig.value.watermarkText);
+	setLocalThemeConfig();
+};
+// 5銆佸竷灞�鍒囨崲
+const onSetLayout = (layout: string) => {
+	Local.set('oldLayout', layout);
+	if (getThemeConfig.value.layout === layout) return false;
+	if (layout === 'transverse') getThemeConfig.value.isCollapse = false;
+	getThemeConfig.value.layout = layout;
+	getThemeConfig.value.isDrawer = false;
+	initLayoutChangeFun();
+};
+// 璁剧疆甯冨眬鍒囨崲鍑芥暟
+const initLayoutChangeFun = () => {
+	onBgColorPickerChange('menuBar');
+	onBgColorPickerChange('menuBarColor');
+	onBgColorPickerChange('menuBarActiveColor');
+	onBgColorPickerChange('topBar');
+	onBgColorPickerChange('topBarColor');
+	onBgColorPickerChange('columnsMenuBar');
+	onBgColorPickerChange('columnsMenuBarColor');
+};
+// 鍏抽棴寮圭獥鏃讹紝鍒濆鍖栧彉閲忋�傚彉閲忕敤浜庡鐞� layoutScrollbarRef.value.update() 鏇存柊婊氬姩鏉¢珮搴�
+const onDrawerClose = () => {
+	getThemeConfig.value.isFixedHeaderChange = false;
+	getThemeConfig.value.isShowLogoChange = false;
+	getThemeConfig.value.isDrawer = false;
+	setLocalThemeConfig();
+};
+// 甯冨眬閰嶇疆寮圭獥鎵撳紑
+const openDrawer = () => {
+	getThemeConfig.value.isDrawer = true;
+};
+// 瑙﹀彂 store 甯冨眬閰嶇疆鏇存柊
+const setDispatchThemeConfig = () => {
+	setLocalThemeConfig();
+	setLocalThemeConfigStyle();
+};
+// 瀛樺偍甯冨眬閰嶇疆
+const setLocalThemeConfig = () => {
+	Local.remove('themeConfig');
+	Local.set('themeConfig', getThemeConfig.value);
+};
+// 瀛樺偍甯冨眬閰嶇疆鍏ㄥ眬涓婚鏍峰紡锛坔tml鏍规爣绛撅級
+const setLocalThemeConfigStyle = () => {
+	Local.set('themeConfigStyle', document.documentElement.style.cssText);
+};
+// 涓�閿鍒堕厤缃�
+const onCopyConfigClick = () => {
+	let copyThemeConfig = Local.get('themeConfig');
+	copyThemeConfig.isDrawer = false;
+	copyText(JSON.stringify(copyThemeConfig)).then(() => {
+		getThemeConfig.value.isDrawer = false;
+	});
+};
+// 涓�閿仮澶嶉粯璁�
+const onResetConfigClick = () => {
+	Local.clear();
+	window.location.reload();
+	// @ts-ignore
+	Local.set('version', __NEXT_VERSION__);
+};
+// 鍒濆鍖栬彍鍗曟牱寮忕瓑
+const initSetStyle = () => {
+	// 2銆佽彍鍗� / 椤舵爮 --> 椤舵爮鑳屾櫙娓愬彉
+	onTopBarGradualChange();
+	// 2銆佽彍鍗� / 椤舵爮 --> 鑿滃崟鑳屾櫙娓愬彉
+	onMenuBarGradualChange();
+	// 2銆佽彍鍗� / 椤舵爮 --> 鍒嗘爮鑿滃崟鑳屾櫙娓愬彉
+	onColumnsMenuBarGradualChange();
+};
+onMounted(() => {
+	nextTick(() => {
+		// 鍒ゆ柇褰撳墠甯冨眬鏄惁涓嶇浉鍚岋紝涓嶇浉鍚屽垯鍒濆鍖栧綋鍓嶅竷灞�鐨勬牱寮忥紝闃叉鐩戝惉绐楀彛澶у皬鏀瑰彉鏃讹紝甯冨眬閰嶇疆logo銆佽彍鍗曡儗鏅瓑閮ㄥ垎甯冨眬澶辨晥闂
+		if (!Local.get('frequency')) initLayoutChangeFun();
+		Local.set('frequency', 1);
+		// 鐩戝惉绐楀彛澶у皬鏀瑰彉锛岄潪榛樿甯冨眬锛岃缃垚榛樿甯冨眬锛堥�傞厤绉诲姩绔級
+		mittBus.on('layoutMobileResize', (res: LayoutMobileResize) => {
+			getThemeConfig.value.layout = res.layout;
+			getThemeConfig.value.isDrawer = false;
+			initLayoutChangeFun();
+			state.isMobile = other.isMobile();
+		});
+		setTimeout(() => {
+			// 榛樿鏍峰紡
+			onColorPickerChange();
+			// 鐏拌壊妯″紡
+			if (getThemeConfig.value.isGrayscale) onAddFilterChange('grayscale');
+			// 鑹插急妯″紡
+			if (getThemeConfig.value.isInvert) onAddFilterChange('invert');
+			// 娣辫壊妯″紡
+			if (getThemeConfig.value.isIsDark) onAddDarkChange();
+			// 寮�鍚按鍗�
+			onWatermarkChange();
+			// 璇█鍥介檯鍖�
+			if (Local.get('themeConfig')) locale.value = Local.get('themeConfig').globalI18n;
+			// 鍒濆鍖栬彍鍗曟牱寮忕瓑
+			initSetStyle();
+		}, 100);
+	});
+});
+onUnmounted(() => {
+	mittBus.off('layoutMobileResize', () => {});
+});
+
+// 鏆撮湶鍙橀噺
+defineExpose({
+	openDrawer,
+});
+</script>
+
+<style scoped lang="scss">
+.layout-breadcrumb-seting-bar {
+	height: calc(100vh - 50px);
+	padding: 0 15px;
+	:deep(.el-scrollbar__view) {
+		overflow-x: hidden !important;
+	}
+	.layout-breadcrumb-seting-bar-flex {
+		display: flex;
+		align-items: center;
+		margin-bottom: 5px;
+		&-label {
+			flex: 1;
+			color: var(--el-text-color-primary);
+		}
+	}
+	.layout-drawer-content-flex {
+		overflow: hidden;
+		display: flex;
+		flex-wrap: wrap;
+		align-content: flex-start;
+		margin: 0 -5px;
+		.layout-drawer-content-item {
+			width: 50%;
+			height: 70px;
+			cursor: pointer;
+			border: 1px solid transparent;
+			position: relative;
+			padding: 5px;
+			.el-container {
+				height: 100%;
+				.el-aside-dark {
+					background-color: var(--next-color-seting-header);
+				}
+				.el-aside {
+					background-color: var(--next-color-seting-aside);
+				}
+				.el-header {
+					background-color: var(--next-color-seting-header);
+				}
+				.el-main {
+					background-color: var(--next-color-seting-main);
+				}
+			}
+			.el-circular {
+				border-radius: 2px;
+				overflow: hidden;
+				border: 1px solid transparent;
+				transition: all 0.3s ease-in-out;
+			}
+			.drawer-layout-active {
+				border: 1px solid;
+				border-color: var(--el-color-primary);
+			}
+			.layout-tips-warp,
+			.layout-tips-warp-active {
+				transition: all 0.3s ease-in-out;
+				position: absolute;
+				left: 50%;
+				top: 50%;
+				transform: translate(-50%, -50%);
+				border: 1px solid;
+				border-color: var(--el-color-primary-light-5);
+				border-radius: 100%;
+				padding: 4px;
+				.layout-tips-box {
+					transition: inherit;
+					width: 30px;
+					height: 30px;
+					z-index: 9;
+					border: 1px solid;
+					border-color: var(--el-color-primary-light-5);
+					border-radius: 100%;
+					.layout-tips-txt {
+						transition: inherit;
+						position: relative;
+						top: 5px;
+						font-size: 12px;
+						line-height: 1;
+						letter-spacing: 2px;
+						white-space: nowrap;
+						color: var(--el-color-primary-light-5);
+						text-align: center;
+						transform: rotate(30deg);
+						left: -1px;
+						background-color: var(--next-color-seting-main);
+						width: 32px;
+						height: 17px;
+						line-height: 17px;
+					}
+				}
+			}
+			.layout-tips-warp-active {
+				border: 1px solid;
+				border-color: var(--el-color-primary);
+				.layout-tips-box {
+					border: 1px solid;
+					border-color: var(--el-color-primary);
+					.layout-tips-txt {
+						color: var(--el-color-primary) !important;
+						background-color: var(--next-color-seting-main) !important;
+					}
+				}
+			}
+			&:hover {
+				.el-circular {
+					transition: all 0.3s ease-in-out;
+					border: 1px solid;
+					border-color: var(--el-color-primary);
+				}
+				.layout-tips-warp {
+					transition: all 0.3s ease-in-out;
+					border-color: var(--el-color-primary);
+					.layout-tips-box {
+						transition: inherit;
+						border-color: var(--el-color-primary);
+						.layout-tips-txt {
+							transition: inherit;
+							color: var(--el-color-primary) !important;
+							background-color: var(--next-color-seting-main) !important;
+						}
+					}
+				}
+			}
+		}
+	}
+	.copy-config {
+		margin: 10px 0;
+		.copy-config-btn {
+			width: 100%;
+			margin-top: 15px;
+		}
+		.copy-config-btn-reset {
+			width: 100%;
+			margin: 10px 0 0;
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/user.vue b/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/user.vue
new file mode 100644
index 0000000..42c0b1c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/user.vue
@@ -0,0 +1,325 @@
+<template>
+	<div class="layout-navbars-breadcrumb-user pr15" :style="{ flex: layoutUserFlexNum }">
+		<el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onComponentSizeChange">
+			<div class="layout-navbars-breadcrumb-user-icon">
+				<i class="iconfont icon-ziti" :title="$t('message.user.title0')"></i>
+			</div>
+			<template #dropdown>
+				<el-dropdown-menu>
+					<el-dropdown-item command="large" :disabled="state.disabledSize === 'large'">{{ $t('message.user.dropdownLarge') }}</el-dropdown-item>
+					<el-dropdown-item command="default" :disabled="state.disabledSize === 'default'">{{ $t('message.user.dropdownDefault') }}</el-dropdown-item>
+					<el-dropdown-item command="small" :disabled="state.disabledSize === 'small'">{{ $t('message.user.dropdownSmall') }}</el-dropdown-item>
+				</el-dropdown-menu>
+			</template>
+		</el-dropdown>
+		<el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onLanguageChange">
+			<div class="layout-navbars-breadcrumb-user-icon">
+				<i class="iconfont" :class="state.disabledI18n === 'en' ? 'icon-fuhao-yingwen' : 'icon-fuhao-zhongwen'" :title="$t('message.user.title1')"></i>
+			</div>
+			<template #dropdown>
+				<el-dropdown-menu>
+					<el-dropdown-item command="zh-cn" :disabled="state.disabledI18n === 'zh-cn'">绠�浣撲腑鏂�</el-dropdown-item>
+					<el-dropdown-item command="en" :disabled="state.disabledI18n === 'en'">English</el-dropdown-item>
+					<el-dropdown-item command="zh-tw" :disabled="state.disabledI18n === 'zh-tw'">绻侀珨涓枃</el-dropdown-item>
+				</el-dropdown-menu>
+			</template>
+		</el-dropdown>
+		<div class="layout-navbars-breadcrumb-user-icon" @click="onSearchClick">
+			<el-icon :title="$t('message.user.title2')">
+				<ele-Search />
+			</el-icon>
+		</div>
+		<div class="layout-navbars-breadcrumb-user-icon" @click="onLayoutSetingClick">
+			<i class="icon-skin iconfont" :title="$t('message.user.title3')"></i>
+		</div>
+		<div class="layout-navbars-breadcrumb-user-icon">
+			<el-popover placement="bottom" trigger="hover" transition="el-zoom-in-top" :width="300" :persistent="false">
+				<template #reference>
+					<el-badge :is-dot="hasUnreadNotice">
+						<el-icon :title="$t('message.user.title4')">
+							<ele-Bell />
+						</el-icon>
+					</el-badge>
+				</template>
+				<UserNews :noticeList="state.noticeList" />
+			</el-popover>
+		</div>
+		<div class="layout-navbars-breadcrumb-user-icon" @click="onScreenfullClick">
+			<i class="iconfont" :title="state.isScreenfull ? $t('message.user.title6') : $t('message.user.title5')" :class="!state.isScreenfull ? 'icon-fullscreen' : 'icon-tuichuquanping'"></i>
+		</div>
+		<div class="layout-navbars-breadcrumb-user-icon mr10" @click="onOnlineUserClick">
+			<el-icon title="鍦ㄧ嚎鐢ㄦ埛">
+				<ele-User />
+			</el-icon>
+		</div>
+		<el-dropdown :show-timeout="70" :hide-timeout="50" @command="onHandleCommandClick">
+			<span class="layout-navbars-breadcrumb-user-link">
+				<el-tooltip effect="dark" placement="left">
+					<template #content>
+						璐﹀彿锛歿{ userInfos.account }}<br />
+						濮撳悕锛歿{ userInfos.realName }}<br />
+						鐢佃瘽锛歿{ userInfos.phone }}<br />
+						閭锛歿{ userInfos.email }}<br />
+						閮ㄩ棬锛歿{ userInfos.orgName }}<br />
+						鑱屼綅锛歿{ userInfos.posName }}<br />
+					</template>
+					<img :src="userInfos.avatar" class="layout-navbars-breadcrumb-user-link-photo mr5" />
+				</el-tooltip>
+
+				{{ userInfos.realName == '' ? userInfos.account : userInfos.realName }}
+				<el-icon class="el-icon--right">
+					<ele-ArrowDown />
+				</el-icon>
+			</span>
+			<template #dropdown>
+				<el-dropdown-menu>
+					<!-- <el-dropdown-item command="/dashboard/home">{{ $t('message.user.dropdown1') }}</el-dropdown-item> -->
+					<el-dropdown-item command="/system/userCenter">{{ $t('message.user.dropdown2') }}</el-dropdown-item>
+					<el-dropdown-item divided command="logOut">{{ $t('message.user.dropdown5') }}</el-dropdown-item>
+				</el-dropdown-menu>
+			</template>
+		</el-dropdown>
+		<Search ref="searchRef" />
+		<OnlineUser ref="onlineUserRef" />
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutBreadcrumbUser">
+import { defineAsyncComponent, ref, computed, reactive, onMounted, onUnmounted } from 'vue';
+import { useRouter } from 'vue-router';
+import { ElMessageBox, ElMessage, ElNotification } from 'element-plus';
+import screenfull from 'screenfull';
+import { useI18n } from 'vue-i18n';
+import { storeToRefs } from 'pinia';
+import { useUserInfo } from '/@/stores/userInfo';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import other from '/@/utils/other';
+import mittBus from '/@/utils/mitt';
+import { Local } from '/@/utils/storage';
+
+import { clearAccessTokens, getAPI } from '/@/utils/axios-utils';
+import { SysAuthApi, SysNoticeApi } from '/@/api-services/api';
+import Push from 'push.js';
+import { signalR } from '/@/views/system/onlineUser/signalR';
+
+// 寮曞叆缁勪欢
+const UserNews = defineAsyncComponent(() => import('/@/layout/navBars/topBar/userNews.vue'));
+const Search = defineAsyncComponent(() => import('/@/layout/navBars/topBar/search.vue'));
+const OnlineUser = defineAsyncComponent(() => import('/@/views/system/onlineUser/index.vue'));
+
+// 瀹氫箟鍙橀噺鍐呭
+const { locale, t } = useI18n();
+const router = useRouter();
+const stores = useUserInfo();
+const storesThemeConfig = useThemeConfig();
+const { userInfos } = storeToRefs(stores);
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const searchRef = ref();
+const onlineUserRef = ref();
+const state = reactive({
+	isScreenfull: false,
+	disabledI18n: 'zh-cn',
+	disabledSize: 'large',
+	noticeList: [] as any, // 绔欏唴淇″垪琛�
+});
+// 璁剧疆鍒嗗壊鏍峰紡
+const layoutUserFlexNum = computed(() => {
+	let num: string | number = '';
+	const { layout, isClassicSplitMenu } = themeConfig.value;
+	const layoutArr: string[] = ['defaults', 'columns'];
+	if (layoutArr.includes(layout) || (layout === 'classic' && !isClassicSplitMenu)) num = '1';
+	else num = '';
+	return num;
+});
+// 鏄惁鏈夋湭璇绘秷鎭�
+const hasUnreadNotice = computed(() => {
+	return state.noticeList.some((r: any) => r.readStatus == undefined || r.readStatus == 0);
+});
+// 鍏ㄥ睆鐐瑰嚮鏃�
+const onScreenfullClick = () => {
+	if (!screenfull.isEnabled) {
+		ElMessage.warning('鏆備笉涓嶆敮鎸佸叏灞�');
+		return false;
+	}
+	screenfull.toggle();
+	screenfull.on('change', () => {
+		if (screenfull.isFullscreen) state.isScreenfull = true;
+		else state.isScreenfull = false;
+	});
+};
+// 甯冨眬閰嶇疆 icon 鐐瑰嚮鏃�
+const onLayoutSetingClick = () => {
+	mittBus.emit('openSetingsDrawer');
+};
+// 涓嬫媺鑿滃崟鐐瑰嚮鏃�
+const onHandleCommandClick = (path: string) => {
+	if (path === 'logOut') {
+		ElMessageBox({
+			closeOnClickModal: false,
+			closeOnPressEscape: false,
+			title: t('message.user.logOutTitle'),
+			message: t('message.user.logOutMessage'),
+			type: 'warning',
+			showCancelButton: true,
+			confirmButtonText: t('message.user.logOutConfirm'),
+			cancelButtonText: t('message.user.logOutCancel'),
+			buttonSize: 'default',
+			beforeClose: async (action, instance, done) => {
+				if (action === 'confirm') {
+					instance.confirmButtonLoading = true;
+					instance.confirmButtonText = t('message.user.logOutExit');
+					await getAPI(SysAuthApi).apiSysAuthLogoutPost();
+					instance.confirmButtonLoading = false;
+					done();
+				} else {
+					done();
+				}
+			},
+		})
+			.then(async () => {
+				clearAccessTokens();
+			})
+			.catch(() => {});
+	} else {
+		router.push(path);
+	}
+};
+// 鑿滃崟鎼滅储鐐瑰嚮
+const onSearchClick = () => {
+	searchRef.value.openSearch();
+};
+// 鍦ㄧ嚎鐢ㄦ埛鍒楄〃
+const onOnlineUserClick = () => {
+	onlineUserRef.value.openDrawer();
+};
+// 缁勪欢澶у皬鏀瑰彉
+const onComponentSizeChange = (size: string) => {
+	Local.remove('themeConfig');
+	themeConfig.value.globalComponentSize = size;
+	Local.set('themeConfig', themeConfig.value);
+	initI18nOrSize('globalComponentSize', 'disabledSize');
+	window.location.reload();
+};
+// 璇█鍒囨崲
+const onLanguageChange = (lang: string) => {
+	Local.remove('themeConfig');
+	themeConfig.value.globalI18n = lang;
+	Local.set('themeConfig', themeConfig.value);
+	locale.value = lang;
+	other.useTitle();
+	initI18nOrSize('globalI18n', 'disabledI18n');
+};
+// 鍒濆鍖栫粍浠跺ぇ灏�/i18n
+const initI18nOrSize = (value: string, attr: string) => {
+	(<any>state)[attr] = Local.get('themeConfig')[value];
+};
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+	if (Local.get('themeConfig')) {
+		initI18nOrSize('globalComponentSize', 'disabledSize');
+		initI18nOrSize('globalI18n', 'disabledI18n');
+	}
+	// 鎵嬪姩鑾峰彇鐢ㄦ埛妗岄潰閫氱煡鏉冮檺
+	if (Push.Permission.GRANTED) {
+		// 鍒ゆ柇褰撳墠鏄惁鏈夋潈闄愶紝娌℃湁鍒欐墜鍔ㄨ幏鍙�
+		Push.Permission.request(null, null);
+	}
+	// 鐩戝惉娴忚鍣� 褰撳墠绯荤粺鏄惁鍦ㄥ綋鍓嶉〉
+	document.addEventListener('visibilitychange', () => {
+		if (!document.hidden) {
+			// 娓呯┖鍏抽棴娑堟伅閫氱煡锛�
+			Push.clear();
+		}
+	});
+	// 鍔犺浇鏈鐨勭珯鍐呬俊
+	var res = await getAPI(SysNoticeApi).apiSysNoticeUnReadListGet();
+	state.noticeList = res.data.result ?? [];
+
+	// 鎺ユ敹绔欏唴淇�
+	signalR.on('PublicNotice', receiveNotice);
+
+	// // 澶勭悊娑堟伅宸茶
+	// mittBus.on('noticeRead', (id) => {
+	// 	const notice = state.noticeList.find((r: any) => r.id == id);
+	// 	if (notice == undefined) return;
+
+	// 	// 璁剧疆宸茶
+	// 	notice.readStatus = 1;
+	// });
+});
+// // 椤甸潰鍗歌浇鏃�
+// onUnmounted(() => {
+// 	mittBus.off('noticeRead', () => {});
+// });
+
+const receiveNotice = (msg: any) => {
+	state.noticeList.unshift(msg);
+
+	ElNotification({
+		title: '鎻愮ず',
+		message: '鎮ㄦ湁涓�鏉℃柊娑堟伅...',
+		type: 'info',
+		position: 'bottom-right',
+	});
+	Push.create('鎻愮ず', {
+		body: '浣犳湁涓�鏉℃柊鐨勬秷鎭�',
+		icon: 'logo.png', //public鐩綍涓嬬殑
+		timeout: 4500, // 閫氱煡鏄剧ず鏃堕棿锛屽崟浣嶄负姣
+	});
+};
+</script>
+
+<style scoped lang="scss">
+.layout-navbars-breadcrumb-user {
+	display: flex;
+	align-items: center;
+	justify-content: flex-end;
+
+	&-link {
+		height: 100%;
+		display: flex;
+		align-items: center;
+		white-space: nowrap;
+
+		&-photo {
+			width: 25px;
+			height: 25px;
+			border-radius: 100%;
+		}
+	}
+
+	&-icon {
+		padding: 0 10px;
+		cursor: pointer;
+		color: var(--next-bg-topBarColor);
+		height: 50px;
+		line-height: 50px;
+		display: flex;
+		align-items: center;
+
+		&:hover {
+			background: var(--next-color-user-hover);
+
+			i {
+				display: inline-block;
+				animation: logoAnimation 0.3s ease-in-out;
+			}
+		}
+	}
+
+	:deep(.el-dropdown) {
+		color: var(--next-bg-topBarColor);
+	}
+
+	:deep(.el-badge) {
+		height: 40px;
+		line-height: 40px;
+		display: flex;
+		align-items: center;
+	}
+
+	:deep(.el-badge__content.is-fixed) {
+		top: 12px;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/userNews.vue b/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/userNews.vue
new file mode 100644
index 0000000..10f297a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/navBars/topBar/userNews.vue
@@ -0,0 +1,119 @@
+<template>
+	<div class="user-news-container">
+		<el-tabs stretch class="content-box">
+			<el-tab-pane label="绔欏唴淇�">
+				<template #label>
+					<el-icon><ele-Bell /></el-icon>
+					<span style="margin-left: 5px">绔欏唴淇�</span>
+				</template>
+				<div class="notice-box">
+					<template v-if="noticeList.length > 0">
+						<div class="notice-item" v-for="(v, k) in noticeList" :key="k" @click="viewNoticeDetail(v)" v-show="v.readStatus == 1 ? false : true">
+							<div class="notice-title">{{ v.type == 1 ? '銆愰�氱煡銆�' : '銆愬叕鍛娿��' }}{{ v.title }}</div>
+							<div class="notice-content">{{ removeHtmlSub(v.content) }}</div>
+							<div class="notice-time">{{ v.publicTime }}</div>
+							<el-divider border-style="dashed" style="margin: 10px 0" />
+						</div>
+					</template>
+					<el-empty description="绌�" v-else></el-empty>
+				</div>
+				<div class="notice-foot" @click="goToNotice" v-if="noticeList.length > 0">鍓嶅線閫氱煡涓績</div>
+			</el-tab-pane>
+			<el-tab-pane label="鎴戠殑">
+				<template #label>
+					<el-icon><ele-Position /></el-icon>
+					<span style="margin-left: 5px">鎴戠殑</span>
+				</template>
+				<div style="height: 400px; overflow-y: auto; padding-right: 10px">
+					<el-empty description="绌�"></el-empty>
+				</div>
+			</el-tab-pane>
+		</el-tabs>
+		<el-dialog v-model="state.dialogVisible" title="娑堟伅璇︽儏" draggable width="769px">
+			<p v-html="state.content"></p>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button type="primary" @click="state.dialogVisible = false">纭</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutBreadcrumbUserNews">
+import { reactive } from 'vue';
+import router from '/@/router';
+import commonFunction from '/@/utils/commonFunction';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysNoticeApi } from '/@/api-services/api';
+
+defineProps({
+	noticeList: Array as any,
+});
+const { removeHtmlSub } = commonFunction();
+const state = reactive({
+	dialogVisible: false,
+	content: '',
+});
+// 鍓嶅線閫氱煡涓績鐐瑰嚮
+const goToNotice = () => {
+	router.push('/dashboard/notice');
+};
+// 鏌ョ湅娑堟伅璇︽儏
+const viewNoticeDetail = async (notice: any) => {
+	state.content = notice.content;
+	state.dialogVisible = true;
+
+	// 璁剧疆宸茶
+	notice.readStatus = 1;
+	await getAPI(SysNoticeApi).apiSysNoticeSetReadPost({ id: notice.id });
+};
+</script>
+
+<style scoped lang="scss">
+.user-news-container {
+	.content-box {
+		font-size: 12px;
+		.notice-box {
+			height: 400px;
+			padding-right: 10px;
+
+			margin-bottom: 35px;
+			&:hover {
+				overflow-y: scroll;
+			}
+		}
+		.notice-item {
+			&:hover {
+				background-color: rgba(#b8b8b8, 0.1);
+			}
+			// .notice-title {
+			// 	color: var(--el-color-primary);
+			// }
+			.notice-content {
+				color: var(--el-text-color-secondary);
+				margin-top: 3px;
+				margin-bottom: 3px;
+			}
+			.notice-time {
+				color: var(--el-text-color-secondary);
+				text-align: right;
+			}
+		}
+	}
+	.notice-foot {
+		height: 35px;
+		width: 100%;
+		color: var(--el-color-primary);
+		font-size: 14px;
+		cursor: pointer;
+		position: absolute;
+		bottom: 0px;
+		background-color: #fff;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/navMenu/horizontal.vue b/LA24030_LuLiPackageLine_Web/src/layout/navMenu/horizontal.vue
new file mode 100644
index 0000000..0b20b2e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/navMenu/horizontal.vue
@@ -0,0 +1,139 @@
+<template>
+	<div class="el-menu-horizontal-warp">
+		<el-menu router :default-active="state.defaultActive" background-color="transparent" mode="horizontal">
+			<template v-for="val in menuLists">
+				<el-sub-menu :index="val.path" v-if="val.children && val.children.length > 0" :key="val.path">
+					<template #title>
+						<SvgIcon :name="val.meta.icon" />
+						<span>{{ $t(val.meta.title) }}</span>
+					</template>
+					<SubItem :chil="val.children" />
+				</el-sub-menu>
+				<template v-else>
+					<el-menu-item :index="val.path" :key="val.path">
+						<template #title v-if="!val.meta.isLink || (val.meta.isLink && val.meta.isIframe)">
+							<SvgIcon :name="val.meta.icon" />
+							{{ $t(val.meta.title) }}
+						</template>
+						<template #title v-else>
+							<a class="w100" @click.prevent="onALinkClick(val)">
+								<SvgIcon :name="val.meta.icon" />
+								{{ $t(val.meta.title) }}
+							</a>
+						</template>
+					</el-menu-item>
+				</template>
+			</template>
+		</el-menu>
+	</div>
+</template>
+
+<script setup lang="ts" name="navMenuHorizontal">
+import { defineAsyncComponent, reactive, computed, onBeforeMount } from 'vue';
+import { useRoute, onBeforeRouteUpdate, RouteRecordRaw } from 'vue-router';
+import { storeToRefs } from 'pinia';
+import { useRoutesList } from '/@/stores/routesList';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import other from '/@/utils/other';
+import mittBus from '/@/utils/mitt';
+
+// 寮曞叆缁勪欢
+const SubItem = defineAsyncComponent(() => import('/@/layout/navMenu/subItem.vue'));
+
+// 瀹氫箟鐖剁粍浠朵紶杩囨潵鐨勫��
+const props = defineProps({
+	// 鑿滃崟鍒楄〃
+	menuList: {
+		type: Array<RouteRecordRaw>,
+		default: () => [],
+	},
+});
+
+// 瀹氫箟鍙橀噺鍐呭
+const stores = useRoutesList();
+const storesThemeConfig = useThemeConfig();
+const { routesList } = storeToRefs(stores);
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const route = useRoute();
+const state = reactive({
+	defaultActive: '' as string | undefined,
+});
+
+// 鑾峰彇鐖剁骇鑿滃崟鏁版嵁
+const menuLists = computed(() => {
+	return <RouteItems>props.menuList;
+});
+// 璺敱杩囨护閫掑綊鍑芥暟
+const filterRoutesFun = <T extends RouteItem>(arr: T[]): T[] => {
+	return arr
+		.filter((item: T) => !item.meta?.isHide)
+		.map((item: T) => {
+			item = Object.assign({}, item);
+			if (item.children) item.children = filterRoutesFun(item.children);
+			return item;
+		});
+};
+// 浼犻�佸綋鍓嶅瓙绾ф暟鎹埌鑿滃崟涓�
+const setSendClassicChildren = (path: string) => {
+	const currentPathSplit = path.split('/');
+	let currentData: MittMenu = { children: [] };
+	filterRoutesFun(routesList.value).map((v, k) => {
+		if (v.path === `/${currentPathSplit[1]}`) {
+			v['k'] = k;
+			currentData['item'] = { ...v };
+			currentData['children'] = [{ ...v }];
+			if (v.children) currentData['children'] = v.children;
+		}
+	});
+	return currentData;
+};
+// 璁剧疆椤甸潰褰撳墠璺敱楂樹寒
+const setCurrentRouterHighlight = (currentRoute: RouteToFrom) => {
+	const { path, meta } = currentRoute;
+	if (themeConfig.value.layout === 'classic') {
+		state.defaultActive = `/${path?.split('/')[1]}`;
+	} else {
+		const pathSplit = meta?.isDynamic ? meta.isDynamicPath!.split('/') : path!.split('/');
+		if (pathSplit.length >= 4 && meta?.isHide) state.defaultActive = pathSplit.splice(0, 3).join('/');
+		else state.defaultActive = path;
+	}
+};
+// 鎵撳紑澶栭儴閾炬帴
+const onALinkClick = (val: RouteItem) => {
+	other.handleOpenLink(val);
+};
+// 椤甸潰鍔犺浇鍓�
+onBeforeMount(() => {
+	setCurrentRouterHighlight(route);
+});
+// 璺敱鏇存柊鏃�
+onBeforeRouteUpdate((to) => {
+	// 淇锛歨ttps://gitee.com/lyt-top/vue-next-admin/issues/I3YX6G
+	setCurrentRouterHighlight(to);
+	// 淇缁忓吀甯冨眬寮�鍚垏鍓茶彍鍗曟椂锛岀偣鍑籺agsView鍚庡乏渚у鑸彍鍗曟暟鎹笉鍙樼殑闂
+	let { layout, isClassicSplitMenu } = themeConfig.value;
+	if (layout === 'classic' && isClassicSplitMenu) {
+		mittBus.emit('setSendClassicChildren', setSendClassicChildren(to.path));
+	}
+});
+</script>
+
+<style scoped lang="scss">
+.el-menu-horizontal-warp {
+	flex: 1;
+	overflow: hidden;
+	margin-right: 30px;
+	:deep(.el-scrollbar__bar.is-vertical) {
+		display: none;
+	}
+	:deep(a) {
+		width: 100%;
+	}
+	.el-menu.el-menu--horizontal {
+		display: flex;
+		height: 100%;
+		width: 100%;
+		box-sizing: border-box;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/navMenu/subItem.vue b/LA24030_LuLiPackageLine_Web/src/layout/navMenu/subItem.vue
new file mode 100644
index 0000000..b983e8e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/navMenu/subItem.vue
@@ -0,0 +1,49 @@
+<template>
+	<template v-for="val in chils">
+		<el-sub-menu :index="val.path" :key="val.path" v-if="val.children && val.children.length > 0">
+			<template #title>
+				<SvgIcon :name="val.meta.icon" />
+				<span>{{ $t(val.meta.title) }}</span>
+			</template>
+			<sub-item :chil="val.children" />
+		</el-sub-menu>
+		<template v-else>
+			<el-menu-item :index="val.path" :key="val.path">
+				<template v-if="!val.meta.isLink || (val.meta.isLink && val.meta.isIframe)">
+					<SvgIcon :name="val.meta.icon" />
+					<span>{{ $t(val.meta.title) }}</span>
+				</template>
+				<template v-else>
+					<a class="w100" @click.prevent="onALinkClick(val)">
+						<SvgIcon :name="val.meta.icon" />
+						{{ $t(val.meta.title) }}
+					</a>
+				</template>
+			</el-menu-item>
+		</template>
+	</template>
+</template>
+
+<script setup lang="ts" name="navMenuSubItem">
+import { computed } from 'vue';
+import { RouteRecordRaw } from 'vue-router';
+import other from '/@/utils/other';
+
+// 瀹氫箟鐖剁粍浠朵紶杩囨潵鐨勫��
+const props = defineProps({
+	// 鑿滃崟鍒楄〃
+	chil: {
+		type: Array<RouteRecordRaw>,
+		default: () => [],
+	},
+});
+
+// 鑾峰彇鐖剁骇鑿滃崟鏁版嵁
+const chils = computed(() => {
+	return <RouteItems>props.chil;
+});
+// 鎵撳紑澶栭儴閾炬帴
+const onALinkClick = (val: RouteItem) => {
+	other.handleOpenLink(val);
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/navMenu/vertical.vue b/LA24030_LuLiPackageLine_Web/src/layout/navMenu/vertical.vue
new file mode 100644
index 0000000..478552a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/navMenu/vertical.vue
@@ -0,0 +1,102 @@
+<template>
+	<el-menu
+		router
+		:default-active="state.defaultActive"
+		background-color="transparent"
+		:collapse="state.isCollapse"
+		:unique-opened="getThemeConfig.isUniqueOpened"
+		:collapse-transition="false"
+	>
+		<template v-for="val in menuLists">
+			<el-sub-menu :index="val.path" v-if="val.children && val.children.length > 0" :key="val.path">
+				<template #title>
+					<SvgIcon :name="val.meta.icon" />
+					<span>{{ $t(val.meta.title) }}</span>
+				</template>
+				<SubItem :chil="val.children" />
+			</el-sub-menu>
+			<template v-else>
+				<el-menu-item :index="val.path" :key="val.path">
+					<SvgIcon :name="val.meta.icon" />
+					<template #title v-if="!val.meta.isLink || (val.meta.isLink && val.meta.isIframe)">
+						<span>{{ $t(val.meta.title) }}</span>
+					</template>
+					<template #title v-else>
+						<a class="w100" @click.prevent="onALinkClick(val)">{{ $t(val.meta.title) }}</a>
+					</template>
+				</el-menu-item>
+			</template>
+		</template>
+	</el-menu>
+</template>
+
+<script setup lang="ts" name="navMenuVertical">
+import { defineAsyncComponent, reactive, computed, onMounted, watch } from 'vue';
+import { useRoute, onBeforeRouteUpdate, RouteRecordRaw } from 'vue-router';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import other from '/@/utils/other';
+
+// 寮曞叆缁勪欢
+const SubItem = defineAsyncComponent(() => import('/@/layout/navMenu/subItem.vue'));
+
+// 瀹氫箟鐖剁粍浠朵紶杩囨潵鐨勫��
+const props = defineProps({
+	// 鑿滃崟鍒楄〃
+	menuList: {
+		type: Array<RouteRecordRaw>,
+		default: () => [],
+	},
+});
+
+// 瀹氫箟鍙橀噺鍐呭
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const route = useRoute();
+const state = reactive({
+	// 淇锛歨ttps://gitee.com/lyt-top/vue-next-admin/issues/I3YX6G
+	defaultActive: route.meta.isDynamic ? route.meta.isDynamicPath : route.path,
+	isCollapse: false,
+});
+
+// 鑾峰彇鐖剁骇鑿滃崟鏁版嵁
+const menuLists = computed(() => {
+	return <RouteItems>props.menuList;
+});
+// 鑾峰彇甯冨眬閰嶇疆淇℃伅
+const getThemeConfig = computed(() => {
+	return themeConfig.value;
+});
+// 鑿滃崟楂樹寒锛堣鎯呮椂锛岀埗绾ч珮浜級
+const setParentHighlight = (currentRoute: RouteToFrom) => {
+	const { path, meta } = currentRoute;
+	const pathSplit = meta?.isDynamic ? meta.isDynamicPath!.split('/') : path!.split('/');
+	if (pathSplit.length >= 4 && meta?.isHide) return pathSplit.splice(0, 3).join('/');
+	else return path;
+};
+// 鎵撳紑澶栭儴閾炬帴
+const onALinkClick = (val: RouteItem) => {
+	other.handleOpenLink(val);
+};
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	state.defaultActive = setParentHighlight(route);
+});
+// 璺敱鏇存柊鏃�
+onBeforeRouteUpdate((to) => {
+	// 淇锛歨ttps://gitee.com/lyt-top/vue-next-admin/issues/I3YX6G
+	state.defaultActive = setParentHighlight(to);
+	const clientWidth = document.body.clientWidth;
+	if (clientWidth < 1000) themeConfig.value.isCollapse = false;
+});
+// 璁剧疆鑿滃崟鐨勬敹璧�/灞曞紑
+watch(
+	() => themeConfig.value.isCollapse,
+	(isCollapse) => {
+		document.body.clientWidth <= 1000 ? (state.isCollapse = false) : (state.isCollapse = isCollapse);
+	},
+	{
+		immediate: true,
+	}
+);
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/routerView/iframes.vue b/LA24030_LuLiPackageLine_Web/src/layout/routerView/iframes.vue
new file mode 100644
index 0000000..4e3eace
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/routerView/iframes.vue
@@ -0,0 +1,102 @@
+<template>
+	<div class="layout-padding layout-padding-unset layout-iframe">
+		<div class="layout-padding-auto layout-padding-view">
+			<div class="w100" v-for="v in setIframeList" :key="v.path" v-loading="v.meta.loading" element-loading-background="white">
+				<transition-group :name="name">
+					<iframe
+						:src="`${v.meta.isLink}${v.meta.isLink.indexOf('?') > 0 ? '&' : '?'}token=${getToken()}`"
+						:key="v.path"
+						frameborder="0"
+						height="100%"
+						width="100%"
+						style="position: absolute"
+						:data-url="v.path"
+						v-show="getRoutePath === v.path"
+						ref="iframeRef"
+					/>
+				</transition-group>
+			</div>
+		</div>
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutIframeView">
+import { computed, watch, ref, nextTick } from 'vue';
+import { useRoute } from 'vue-router';
+import { getToken } from '/@/utils/axios-utils';
+
+// 瀹氫箟鐖剁粍浠朵紶杩囨潵鐨勫��
+const props = defineProps({
+	// 鍒锋柊 iframe
+	refreshKey: {
+		type: String,
+		default: () => '',
+	},
+	// 杩囨浮鍔ㄧ敾 name
+	name: {
+		type: String,
+		default: () => 'slide-right',
+	},
+	// iframe 鍒楄〃
+	list: {
+		type: Array,
+		default: () => [],
+	},
+});
+
+// 瀹氫箟鍙橀噺鍐呭
+const iframeRef = ref();
+const route = useRoute();
+
+// 澶勭悊 list 鍒楄〃锛屽綋鎵撳紑鏃讹紝鎵嶈繘琛屽姞杞�
+const setIframeList = computed(() => {
+	return (<RouteItems>props.list).filter((v: RouteItem) => v.meta?.isIframeOpen);
+});
+// 鑾峰彇 iframe 褰撳墠璺敱 path
+const getRoutePath = computed(() => {
+	return route.path;
+});
+// 鍏抽棴 iframe loading
+const closeIframeLoading = (val: string, item: RouteItem) => {
+	nextTick(() => {
+		if (!iframeRef.value) return false;
+		iframeRef.value.forEach((v: HTMLElement) => {
+			if (v.dataset.url === val) {
+				v.onload = () => {
+					if (item.meta?.isIframeOpen && item.meta.loading) item.meta.loading = false;
+				};
+			}
+		});
+	});
+};
+// 鐩戝惉璺敱鍙樺寲锛屽垵濮嬪寲 iframe 鏁版嵁锛岄槻姝㈠涓� iframe 鏃讹紝鍒囨崲涓嶇敓鏁�
+watch(
+	() => route.fullPath,
+	(val) => {
+		const item: any = props.list.find((v: any) => v.path === val);
+		if (!item) return false;
+		if (!item.meta.isIframeOpen) item.meta.isIframeOpen = true;
+		closeIframeLoading(val, item);
+	},
+	{
+		immediate: true,
+	}
+);
+// 鐩戝惉 iframe refreshKey 鍙樺寲锛岀敤浜� tagsview 鍙抽敭鑿滃崟鍒锋柊
+watch(
+	() => props.refreshKey,
+	() => {
+		const item: any = props.list.find((v: any) => v.path === route.path);
+		if (!item) return false;
+		if (item.meta.isIframeOpen) item.meta.isIframeOpen = false;
+		setTimeout(() => {
+			item.meta.isIframeOpen = true;
+			item.meta.loading = true;
+			closeIframeLoading(route.fullPath, item);
+		});
+	},
+	{
+		deep: true,
+	}
+);
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/routerView/link.vue b/LA24030_LuLiPackageLine_Web/src/layout/routerView/link.vue
new file mode 100644
index 0000000..ccdc3a4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/routerView/link.vue
@@ -0,0 +1,93 @@
+<template>
+	<div class="layout-padding layout-link-container">
+		<div class="layout-padding-auto layout-padding-view">
+			<div class="layout-link-warp">
+				<i class="layout-link-icon iconfont icon-xingqiu"></i>
+				<div class="layout-link-msg">椤甸潰 "{{ $t(state.title) }}" 宸插湪鏂扮獥鍙d腑鎵撳紑</div>
+				<el-button class="mt30" round size="default" @click="onGotoFullPage">
+					<i class="iconfont icon-lianjie"></i>
+					<span>绔嬪嵆鍓嶅線浣撻獙</span>
+				</el-button>
+			</div>
+		</div>
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutLinkView">
+import { reactive, watch } from 'vue';
+import { useRoute } from 'vue-router';
+import { verifyUrl } from '/@/utils/toolsValidate';
+
+// 瀹氫箟鍙橀噺鍐呭
+const route = useRoute();
+const state = reactive<LinkViewState>({
+	title: '',
+	isLink: '',
+});
+
+// 绔嬪嵆鍓嶅線
+const onGotoFullPage = () => {
+	const { origin, pathname } = window.location;
+	if (verifyUrl(<string>state.isLink)) window.open(state.isLink);
+	else window.open(`${origin}${pathname}#${state.isLink}`);
+};
+// 鐩戝惉璺敱鐨勫彉鍖栵紝璁剧疆鍐呭
+watch(
+	() => route.path,
+	() => {
+		state.title = <string>route.meta.title;
+		state.isLink = <string>route.meta.isLink;
+	},
+	{
+		immediate: true,
+	}
+);
+</script>
+
+<style scoped lang="scss">
+.layout-link-container {
+	.layout-link-warp {
+		margin: auto;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		i.layout-link-icon {
+			position: relative;
+			font-size: 100px;
+			color: var(--el-color-primary);
+			&::after {
+				content: '';
+				position: absolute;
+				left: 50px;
+				top: 0;
+				width: 15px;
+				height: 100px;
+				background: linear-gradient(
+					rgba(255, 255, 255, 0.01),
+					rgba(255, 255, 255, 0.01),
+					rgba(255, 255, 255, 0.01),
+					rgba(255, 255, 255, 0.05),
+					rgba(255, 255, 255, 0.05),
+					rgba(255, 255, 255, 0.05),
+					rgba(235, 255, 255, 0.5),
+					rgba(255, 255, 255, 0.05),
+					rgba(255, 255, 255, 0.05),
+					rgba(255, 255, 255, 0.05),
+					rgba(255, 255, 255, 0.01),
+					rgba(255, 255, 255, 0.01),
+					rgba(255, 255, 255, 0.01)
+				);
+				transform: rotate(-15deg);
+				animation: toRight 5s linear infinite;
+			}
+		}
+		.layout-link-msg {
+			font-size: 12px;
+			color: var(--next-bg-topBarColor);
+			opacity: 0.7;
+			margin-top: 15px;
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/routerView/parent.vue b/LA24030_LuLiPackageLine_Web/src/layout/routerView/parent.vue
new file mode 100644
index 0000000..4124f7f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/routerView/parent.vue
@@ -0,0 +1,108 @@
+<template>
+	<div class="layout-parent">
+		<router-view v-slot="{ Component }">
+			<transition :name="setTransitionName" mode="out-in">
+				<keep-alive :include="getKeepAliveNames">
+					<component :is="Component" :key="state.refreshRouterViewKey" class="w100" v-show="!isIframePage" />
+				</keep-alive>
+			</transition>
+		</router-view>
+		<transition :name="setTransitionName" mode="out-in">
+			<Iframes class="w100" v-show="isIframePage" :refreshKey="state.iframeRefreshKey" :name="setTransitionName" :list="state.iframeList" />
+		</transition>
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutParentView">
+import { defineAsyncComponent, computed, reactive, onBeforeMount, onUnmounted, nextTick, watch, onMounted } from 'vue';
+import { useRoute, useRouter } from 'vue-router';
+import { storeToRefs } from 'pinia';
+import { useKeepALiveNames } from '/@/stores/keepAliveNames';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import { Session } from '/@/utils/storage';
+import mittBus from '/@/utils/mitt';
+
+// 寮曞叆缁勪欢
+const Iframes = defineAsyncComponent(() => import('/@/layout/routerView/iframes.vue'));
+
+// 瀹氫箟鍙橀噺鍐呭
+const route = useRoute();
+const router = useRouter();
+const storesKeepAliveNames = useKeepALiveNames();
+const storesThemeConfig = useThemeConfig();
+const { keepAliveNames, cachedViews } = storeToRefs(storesKeepAliveNames);
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const state = reactive<ParentViewState>({
+	refreshRouterViewKey: '', // 闈� iframe tagsview 鍙抽敭鑿滃崟鍒锋柊鏃�
+	iframeRefreshKey: '', // iframe tagsview 鍙抽敭鑿滃崟鍒锋柊鏃�
+	keepAliveNameList: [],
+	iframeList: [],
+});
+
+// 璁剧疆涓荤晫闈㈠垏鎹㈠姩鐢�
+const setTransitionName = computed(() => {
+	return themeConfig.value.animation;
+});
+// 鑾峰彇缁勪欢缂撳瓨鍒楄〃(name鍊�)
+const getKeepAliveNames = computed(() => {
+	return themeConfig.value.isTagsview ? cachedViews.value : state.keepAliveNameList;
+});
+// 璁剧疆 iframe 鏄剧ず/闅愯棌
+const isIframePage = computed(() => {
+	return route.meta.isIframe;
+});
+// 鑾峰彇 iframe 缁勪欢鍒楄〃(鏈繘琛屾覆鏌�)
+const getIframeListRoutes = async () => {
+	router.getRoutes().forEach((v) => {
+		if (v.meta.isIframe) {
+			v.meta.isIframeOpen = false;
+			v.meta.loading = true;
+			state.iframeList.push({ ...v });
+		}
+	});
+};
+// 椤甸潰鍔犺浇鍓嶏紝澶勭悊缂撳瓨锛岄〉闈㈠埛鏂版椂璺敱缂撳瓨澶勭悊
+onBeforeMount(() => {
+	state.keepAliveNameList = keepAliveNames.value;
+	mittBus.on('onTagsViewRefreshRouterView', (fullPath: string) => {
+		state.keepAliveNameList = keepAliveNames.value.filter((name: string) => route.name !== name);
+		state.refreshRouterViewKey = '';
+		state.iframeRefreshKey = '';
+		nextTick(() => {
+			state.refreshRouterViewKey = fullPath;
+			state.iframeRefreshKey = fullPath;
+			state.keepAliveNameList = keepAliveNames.value;
+		});
+	});
+});
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	getIframeListRoutes();
+	// https://gitee.com/lyt-top/vue-next-admin/issues/I58U75
+	// https://gitee.com/lyt-top/vue-next-admin/issues/I59RXK
+	// https://gitee.com/lyt-top/vue-next-admin/pulls/40
+	nextTick(() => {
+		setTimeout(() => {
+			if (themeConfig.value.isCacheTagsView) {
+				let tagsViewArr: RouteItem[] = Session.get('tagsViewList') || [];
+				cachedViews.value = tagsViewArr.filter((item) => item.meta?.isKeepAlive).map((item) => item.name as string);
+			}
+		}, 0);
+	});
+});
+// 椤甸潰鍗歌浇鏃�
+onUnmounted(() => {
+	mittBus.off('onTagsViewRefreshRouterView', () => {});
+});
+// 鐩戝惉璺敱鍙樺寲锛岄槻姝� tagsView 澶氭爣绛炬椂锛屽垏鎹㈠姩鐢绘秷澶�
+// https://toscode.gitee.com/lyt-top/vue-next-admin/pulls/38/files
+watch(
+	() => route.fullPath,
+	() => {
+		state.refreshRouterViewKey = decodeURI(route.fullPath);
+	},
+	{
+		immediate: true,
+	}
+);
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/sponsors/index.vue b/LA24030_LuLiPackageLine_Web/src/layout/sponsors/index.vue
new file mode 100644
index 0000000..6f85895
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/sponsors/index.vue
@@ -0,0 +1,108 @@
+<template>
+	<div class="sponsors-container" title="鐐瑰嚮鍓嶅線浣撻獙" v-show="state.sponsors.isShow" @click="onSponsorsClick">
+		<el-carousel height="240px" indicator-position="none" :arrow="setCarouselShow" @change="onCarouselChange">
+			<el-carousel-item v-for="(v, k) in state.sponsors.list" :key="k">
+				<img :src="v.url" class="sponsors-img" />
+				<div class="sponsors-text" v-html="v.text"></div>
+			</el-carousel-item>
+		</el-carousel>
+		<div class="sponsors-close">
+			<SvgIcon name="ele-Close" :size="12" title="鍏抽棴璧炲姪鍟�" @click.stop="onCloseSponsors" />
+		</div>
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutSponsors">
+import { reactive, computed, onMounted } from 'vue';
+import sponsorsOne from '/@/assets/ccflowRightNextAdmin.png';
+
+// 瀹氫箟鍙橀噺鍐呭
+const state = reactive({
+	sponsors: {
+		list: [
+			{
+				url: sponsorsOne,
+				text: `椹伴獘BPM绯荤粺鍖呭惈琛ㄥ崟寮曟搸+娴佺▼寮曟搸+鏉冮檺鎺у埗,鏂逛究闆嗘垚,閰嶇疆鐏垫椿,鍔熻兘寮哄ぇ,閫傚悎涓浗鍥芥儏鐨勫伐浣滄祦寮曟搸.婕旂ず:http://demo.ccflow.org銆傚彸涓婅鐐箂tar鏂瑰彲鍔犵兢: 1060674395`,
+				link: 'http://www.ccflow.org/',
+			},
+		],
+		isShow: false,
+		index: 0,
+	},
+});
+
+// 璁剧疆杞挱鍥剧澶存樉绀�
+const setCarouselShow = computed(() => {
+	return state.sponsors.list.length <= 1 ? 'never' : 'hover';
+});
+// 鍏抽棴璧炲姪鍟�
+const onCloseSponsors = () => {
+	state.sponsors.isShow = false;
+};
+// 杞挱鍥炬敼鍙樻椂
+const onCarouselChange = (e: number) => {
+	state.sponsors.index = e;
+};
+// 褰撳墠椤瑰唴瀹圭偣鍑�
+const onSponsorsClick = () => {
+	window.open(state.sponsors.list[state.sponsors.index].link);
+};
+// 寤惰繜鏄剧ず锛岄槻姝㈠奖鍝嶅叾瀹冪晫闈㈠姞杞�
+const delayShow = () => {
+	setTimeout(() => {
+		state.sponsors.isShow = true;
+	}, 3000);
+};
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	delayShow();
+});
+</script>
+
+<style scoped lang="scss">
+.sponsors-container {
+	position: fixed;
+	right: 15px;
+	bottom: 15px;
+	z-index: 3;
+	width: 200px;
+	background-color: var(--next-bg-main-color);
+	box-shadow: var(--el-box-shadow-lighter);
+	border-radius: 5px;
+	overflow: hidden;
+	cursor: pointer;
+	.sponsors-img {
+		width: 100%;
+		height: 80px;
+	}
+	.sponsors-text {
+		padding: 10px;
+		color: var(--el-text-color-regular);
+		font-size: var(--el-dialog-content-font-size);
+	}
+	.sponsors-close {
+		width: 60px;
+		height: 60px;
+		border-radius: 100%;
+		background: rgba(0, 0, 0, 0.05);
+		transition: all 0.3s ease;
+		position: absolute;
+		right: -35px;
+		bottom: -35px;
+		:deep(i) {
+			position: absolute;
+			left: 9px;
+			top: 9px;
+			color: #afafaf;
+			transition: all 0.3s ease;
+		}
+		&:hover {
+			transition: all 0.3s ease;
+			:deep(i) {
+				color: var(--el-color-primary);
+				transition: all 0.3s ease;
+			}
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/layout/upgrade/index.vue b/LA24030_LuLiPackageLine_Web/src/layout/upgrade/index.vue
new file mode 100644
index 0000000..79574a2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/layout/upgrade/index.vue
@@ -0,0 +1,145 @@
+<template>
+	<div class="upgrade-dialog">
+		<el-dialog v-model="state.isUpgrade" width="300px" destroy-on-close :show-close="false" :close-on-click-modal="false" :close-on-press-escape="false">
+			<div class="upgrade-title">
+				<div class="upgrade-title-warp">
+					<span class="upgrade-title-warp-txt">{{ $t('message.upgrade.title') }}</span>
+					<span class="upgrade-title-warp-version">v{{ state.version }}</span>
+				</div>
+			</div>
+			<div class="upgrade-content">
+				{{ getThemeConfig.globalTitle }} {{ $t('message.upgrade.msg') }}
+				<div class="mt5">
+					<el-link type="primary" class="font12" href="https://xxx/CHANGELOG.md" target="_black"> CHANGELOG.md </el-link>
+				</div>
+				<!-- <div class="upgrade-content-desc mt5">{{ $t("message.upgrade.desc") }}</div> -->
+			</div>
+			<div class="upgrade-btn">
+				<el-button round size="default" type="info" text @click="onCancel">{{ $t('message.upgrade.btnOne') }}</el-button>
+				<el-button type="primary" round size="default" @click="onUpgrade" :loading="state.isLoading">{{ state.btnTxt }}</el-button>
+			</div>
+		</el-dialog>
+	</div>
+</template>
+
+<script setup lang="ts" name="layoutUpgrade">
+import { reactive, computed, onMounted } from 'vue';
+import { useI18n } from 'vue-i18n';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+
+// 瀹氫箟鍙橀噺鍐呭
+const { t } = useI18n();
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const state = reactive({
+	isUpgrade: false,
+	// @ts-ignore
+	version: __NEXT_VERSION__,
+	isLoading: false,
+	btnTxt: '',
+});
+
+// 鑾峰彇甯冨眬閰嶇疆淇℃伅
+const getThemeConfig = computed(() => {
+	return themeConfig.value;
+});
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	delayShow();
+	setTimeout(() => {
+		state.btnTxt = t('message.upgrade.btnTwo');
+	}, 200);
+});
+
+// 娈嬪繊鎷掔粷
+const onCancel = () => {
+	state.isUpgrade = false;
+};
+
+// 椹笂鏇存柊
+const onUpgrade = () => {
+	state.isLoading = true;
+	state.btnTxt = t('message.upgrade.btnTwoLoading');
+	setTimeout(() => {
+		// Local.clear();
+		window.location.reload();
+		// Local.set('version', state.version);
+	}, 2000);
+};
+
+// 寤惰繜鏄剧ず锛岄槻姝㈠埛鏂版椂鐣岄潰鏄剧ず澶揩
+const delayShow = () => {
+	setTimeout(() => {
+		state.isUpgrade = true;
+	}, 2000);
+};
+</script>
+
+<style scoped lang="scss">
+.upgrade-dialog {
+	:deep(.el-dialog) {
+		.el-dialog__body {
+			padding: 0 !important;
+		}
+		.el-dialog__header {
+			display: none !important;
+		}
+		.upgrade-title {
+			text-align: center;
+			height: 130px;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			position: relative;
+			&::after {
+				content: '';
+				position: absolute;
+				background-color: var(--el-color-primary-light-1);
+				width: 130%;
+				height: 130px;
+				border-bottom-left-radius: 100%;
+				border-bottom-right-radius: 100%;
+			}
+			.upgrade-title-warp {
+				z-index: 1;
+				position: relative;
+				.upgrade-title-warp-txt {
+					color: var(--next-color-white);
+					font-size: 22px;
+					letter-spacing: 3px;
+				}
+				.upgrade-title-warp-version {
+					color: var(--next-color-white);
+					background-color: var(--el-color-primary-light-4);
+					font-size: 12px;
+					position: absolute;
+					display: flex;
+					top: -2px;
+					right: -50px;
+					padding: 2px 4px;
+					border-radius: 2px;
+				}
+			}
+		}
+		.upgrade-content {
+			padding: 20px;
+			line-height: 22px;
+			.upgrade-content-desc {
+				color: var(--el-color-info-light-5);
+				font-size: 12px;
+			}
+		}
+		.upgrade-btn {
+			border-top: 1px solid var(--el-border-color-lighter, #ebeef5);
+			display: flex;
+			justify-content: space-around;
+			padding: 15px 20px;
+			.el-button {
+				width: 100%;
+			}
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/main.ts b/LA24030_LuLiPackageLine_Web/src/main.ts
new file mode 100644
index 0000000..9f928ae
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/main.ts
@@ -0,0 +1,28 @@
+import { createApp } from 'vue';
+import pinia from '/@/stores/index';
+import App from '/@/App.vue';
+import router from '/@/router';
+import { directive } from '/@/directive/index';
+import { i18n } from '/@/i18n/index';
+import other from '/@/utils/other';
+
+import ElementPlus from 'element-plus';
+import '/@/theme/index.scss';
+import VueGridLayout from 'vue-grid-layout';
+
+import VForm3 from 'vform3-builds'; // VForm3琛ㄥ崟璁捐
+import 'vform3-builds/dist/designer.style.css'; // VForm3琛ㄥ崟璁捐鏍峰紡
+import VueSignaturePad from 'vue-signature-pad'; // 鐢靛瓙绛惧悕
+import vue3TreeOrg from 'vue3-tree-org'; // 缁勭粐鏋舵瀯鍥�
+import 'vue3-tree-org/lib/vue3-tree-org.css'; // 缁勭粐鏋舵瀯鍥炬牱寮�
+import 'animate.css'; // 鍔ㄧ敾搴�
+
+import { disAutoConnect } from 'vue-plugin-hiprint';
+disAutoConnect();
+
+const app = createApp(App);
+
+directive(app);
+other.elSvg(app);
+
+app.use(pinia).use(router).use(ElementPlus).use(i18n).use(VueGridLayout).use(VForm3).use(VueSignaturePad).use(vue3TreeOrg).mount('#app');
diff --git a/LA24030_LuLiPackageLine_Web/src/router/backEnd.ts b/LA24030_LuLiPackageLine_Web/src/router/backEnd.ts
new file mode 100644
index 0000000..8a5a03f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/router/backEnd.ts
@@ -0,0 +1,165 @@
+import { RouteRecordRaw } from 'vue-router';
+import pinia from '/@/stores/index';
+import { useUserInfo } from '/@/stores/userInfo';
+import { useRequestOldRoutes } from '/@/stores/requestOldRoutes';
+import { Session } from '/@/utils/storage';
+import { NextLoading } from '/@/utils/loading';
+import { dynamicRoutes, notFoundAndNoPower } from '/@/router/route';
+import { formatTwoStageRoutes, formatFlatteningRoutes, router } from '/@/router/index';
+import { useRoutesList } from '/@/stores/routesList';
+import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysMenuApi } from '/@/api-services/api';
+// import { ElMessage } from 'element-plus';
+
+// 鍚庣鎺у埗璺敱
+
+/**
+ * 鑾峰彇鐩綍涓嬬殑 .vue銆�.tsx 鍏ㄩ儴鏂囦欢
+ * @method import.meta.glob
+ * @link 鍙傝�冿細https://cn.vitejs.dev/guide/features.html#json
+ */
+const layouModules: any = import.meta.glob('../layout/routerView/*.{vue,tsx}');
+const viewsModules: any = import.meta.glob('../views/**/*.{vue,tsx}');
+const dynamicViewsModules: Record<string, Function> = Object.assign({}, { ...layouModules }, { ...viewsModules });
+
+/**
+ * 鍚庣鎺у埗璺敱锛氬垵濮嬪寲鏂规硶锛岄槻姝㈠埛鏂版椂璺敱涓㈠け
+ * @method NextLoading 鐣岄潰 loading 鍔ㄧ敾寮�濮嬫墽琛�
+ * @method useUserInfo().setUserInfos() 瑙﹀彂鍒濆鍖栫敤鎴蜂俊鎭� pinia
+ * @method useRequestOldRoutes().setRequestOldRoutes() 瀛樺偍鎺ュ彛鍘熷璺敱锛堟湭澶勭悊component锛夛紝鏍规嵁闇�姹傞�夋嫨浣跨敤
+ * @method setAddRoute 娣诲姞鍔ㄦ�佽矾鐢�
+ * @method setFilterMenuAndCacheTagsViewRoutes 璁剧疆璺敱鍒� pinia routesList 涓紙宸插鐞嗘垚澶氱骇宓屽璺敱锛夊強缂撳瓨澶氱骇宓屽鏁扮粍澶勭悊鍚庣殑涓�缁存暟缁�
+ */
+export async function initBackEndControlRoutes() {
+	// 鐣岄潰 loading 鍔ㄧ敾寮�濮嬫墽琛�
+	if (window.nextLoading === undefined) NextLoading.start();
+	// 鏃� token 鍋滄鎵ц涓嬩竴姝�
+	if (!Session.get('token')) return false;
+	// 瑙﹀彂鍒濆鍖栫敤鎴蜂俊鎭� pinia
+	// https://gitee.com/lyt-top/vue-next-admin/issues/I5F1HP
+	await useUserInfo().setUserInfos();
+	await useUserInfo().setConstList();
+	await useUserInfo().setDictList();
+	// 鑾峰彇璺敱鑿滃崟鏁版嵁
+	const res = await getBackEndControlRoutes();
+	// 鏃犵櫥褰曟潈闄愭椂锛屾坊鍔犲垽鏂�
+	// https://gitee.com/lyt-top/vue-next-admin/issues/I64HVO
+	if (res == undefined || res.length <= 0) return Promise.resolve(true);
+	// 瀛樺偍鎺ュ彛鍘熷璺敱锛堟湭澶勭悊component锛夛紝鏍规嵁闇�姹傞�夋嫨浣跨敤
+	useRequestOldRoutes().setRequestOldRoutes(res as string[]);
+	// 澶勭悊璺敱锛坈omponent锛夛紝鏇挎崲 dynamicRoutes锛�/@/router/route锛夌涓�涓《绾� children 鐨勮矾鐢�
+	dynamicRoutes[0].children = await backEndComponent(res);
+	// 娣诲姞鍔ㄦ�佽矾鐢�
+	await setAddRoute();
+	// 璁剧疆璺敱鍒� pinia routesList 涓紙宸插鐞嗘垚澶氱骇宓屽璺敱锛夊強缂撳瓨澶氱骇宓屽鏁扮粍澶勭悊鍚庣殑涓�缁存暟缁�
+	setFilterMenuAndCacheTagsViewRoutes();
+}
+
+/**
+ * 璁剧疆璺敱鍒� pinia routesList 涓紙宸插鐞嗘垚澶氱骇宓屽璺敱锛夊強缂撳瓨澶氱骇宓屽鏁扮粍澶勭悊鍚庣殑涓�缁存暟缁�
+ * @description 鐢ㄤ簬宸︿晶鑿滃崟銆佹í鍚戣彍鍗曠殑鏄剧ず
+ * @description 鐢ㄤ簬 tagsView銆佽彍鍗曟悳绱腑锛氭湭杩囨护闅愯棌鐨�(isHide)
+ */
+export async function setFilterMenuAndCacheTagsViewRoutes() {
+	const storesRoutesList = useRoutesList(pinia);
+	storesRoutesList.setRoutesList(dynamicRoutes[0].children as any);
+	setCacheTagsViewRoutes();
+}
+
+/**
+ * 缂撳瓨澶氱骇宓屽鏁扮粍澶勭悊鍚庣殑涓�缁存暟缁�
+ * @description 鐢ㄤ簬 tagsView銆佽彍鍗曟悳绱腑锛氭湭杩囨护闅愯棌鐨�(isHide)
+ */
+export function setCacheTagsViewRoutes() {
+	const storesTagsView = useTagsViewRoutes(pinia);
+	storesTagsView.setTagsViewRoutes(formatTwoStageRoutes(formatFlatteningRoutes(dynamicRoutes))[0].children);
+}
+
+/**
+ * 澶勭悊璺敱鏍煎紡鍙婃坊鍔犳崟鑾锋墍鏈夎矾鐢辨垨 404 Not found 璺敱
+ * @description 鏇挎崲 dynamicRoutes锛�/@/router/route锛夌涓�涓《绾� children 鐨勮矾鐢�
+ * @returns 杩斿洖鏇挎崲鍚庣殑璺敱鏁扮粍
+ */
+export function setFilterRouteEnd() {
+	let filterRouteEnd: any = formatTwoStageRoutes(formatFlatteningRoutes(dynamicRoutes));
+	// notFoundAndNoPower 闃叉 404銆�401 涓嶅湪 layout 甯冨眬涓紝涓嶈缃殑璇濓紝404銆�401 鐣岄潰灏嗗叏灞忔樉绀�
+	// 鍏宠仈闂 No match found for location with path 'xxx'
+	filterRouteEnd[0].children = [...filterRouteEnd[0].children, ...notFoundAndNoPower];
+	return filterRouteEnd;
+}
+
+/**
+ * 娣诲姞鍔ㄦ�佽矾鐢�
+ * @method router.addRoute
+ * @description 姝ゅ寰幆涓� dynamicRoutes锛�/@/router/route锛夌涓�涓《绾� children 鐨勮矾鐢变竴缁存暟缁勶紝闈炲绾у祵濂�
+ * @link 鍙傝�冿細https://next.router.vuejs.org/zh/api/#addroute
+ */
+export async function setAddRoute() {
+	await setFilterRouteEnd().forEach((route: RouteRecordRaw) => {
+		router.addRoute(route);
+	});
+}
+
+/**
+ * 璇锋眰鍚庣璺敱鑿滃崟鎺ュ彛
+ * @description isRequestRoutes 涓� true锛屽垯寮�鍚悗绔帶鍒惰矾鐢�
+ * @returns 杩斿洖鍚庣璺敱鑿滃崟鏁版嵁
+ */
+export async function getBackEndControlRoutes() {
+	var res = await getAPI(SysMenuApi).apiSysMenuLoginMenuTreeGet();
+	// if (res.data.result == undefined || res.data.result.length < 1) {
+	// 	ElMessage.error('娌℃湁浠讳綍鑿滃崟鏉冮檺锛岃鑱旂郴绠$悊鍛橈紒');
+	// 	setTimeout(() => {
+	// 		Session.removeToken();
+	// 		window.location.reload();
+	// 	}, 3000);
+	// }
+	return res.data.result;
+}
+
+/**
+ * 閲嶆柊璇锋眰鍚庣璺敱鑿滃崟鎺ュ彛
+ * @description 鐢ㄤ簬鑿滃崟绠$悊鐣岄潰鍒锋柊鑿滃崟锛堟湭杩涜娴嬭瘯锛�
+ * @description 璺緞锛�/src/views/system/menu/component/addMenu.vue
+ */
+export async function setBackEndControlRefreshRoutes() {
+	await getBackEndControlRoutes();
+}
+
+/**
+ * 鍚庣璺敱 component 杞崲
+ * @param routes 鍚庣杩斿洖鐨勮矾鐢辫〃鏁扮粍
+ * @returns 杩斿洖澶勭悊鎴愬嚱鏁板悗鐨� component
+ */
+export function backEndComponent(routes: any) {
+	if (!routes) return;
+	return routes.map((item: any) => {
+		if (!item.path) item.path = ''; // 闃叉鍚庣杩斿洖鐨勮矾鐢辨病鏈塸ath灞炴�э紝瀵艰嚧璺敱鎶ラ敊
+		if (item.component) item.component = dynamicImport(dynamicViewsModules, item.component as string);
+		item.children && backEndComponent(item.children);
+		return item;
+	});
+}
+
+/**
+ * 鍚庣璺敱 component 杞崲鍑芥暟
+ * @param dynamicViewsModules 鑾峰彇鐩綍涓嬬殑 .vue銆�.tsx 鍏ㄩ儴鏂囦欢
+ * @param component 褰撳墠瑕佸鐞嗛」 component
+ * @returns 杩斿洖澶勭悊鎴愬嚱鏁板悗鐨� component
+ */
+export function dynamicImport(dynamicViewsModules: Record<string, Function>, component: string) {
+	const keys = Object.keys(dynamicViewsModules);
+	const matchKeys = keys.filter((key) => {
+		const k = key.replace(/..\/views|../, '');
+		return k.startsWith(`${component}`) || k.startsWith(`/${component}`);
+	});
+	if (matchKeys?.length === 1) {
+		const matchKey = matchKeys[0];
+		return dynamicViewsModules[matchKey];
+	}
+	if (matchKeys?.length > 1) {
+		return false;
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/router/frontEnd.ts b/LA24030_LuLiPackageLine_Web/src/router/frontEnd.ts
new file mode 100644
index 0000000..13c7689
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/router/frontEnd.ts
@@ -0,0 +1,150 @@
+import { RouteRecordRaw } from 'vue-router';
+import { storeToRefs } from 'pinia';
+import { formatTwoStageRoutes, formatFlatteningRoutes, router } from '/@/router/index';
+import { dynamicRoutes, notFoundAndNoPower } from '/@/router/route';
+import pinia from '/@/stores/index';
+import { Session } from '/@/utils/storage';
+import { useUserInfo } from '/@/stores/userInfo';
+import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
+import { useRoutesList } from '/@/stores/routesList';
+import { NextLoading } from '/@/utils/loading';
+
+// 鍓嶇鎺у埗璺敱
+
+/**
+ * 鍓嶇鎺у埗璺敱锛氬垵濮嬪寲鏂规硶锛岄槻姝㈠埛鏂版椂璺敱涓㈠け
+ * @method  NextLoading 鐣岄潰 loading 鍔ㄧ敾寮�濮嬫墽琛�
+ * @method useUserInfo(pinia).setUserInfos() 瑙﹀彂鍒濆鍖栫敤鎴蜂俊鎭� pinia
+ * @method setAddRoute 娣诲姞鍔ㄦ�佽矾鐢�
+ * @method setFilterMenuAndCacheTagsViewRoutes 璁剧疆閫掑綊杩囨护鏈夋潈闄愮殑璺敱鍒� pinia routesList 涓紙宸插鐞嗘垚澶氱骇宓屽璺敱锛夊強缂撳瓨澶氱骇宓屽鏁扮粍澶勭悊鍚庣殑涓�缁存暟缁�
+ */
+export async function initFrontEndControlRoutes() {
+	// 鐣岄潰 loading 鍔ㄧ敾寮�濮嬫墽琛�
+	if (window.nextLoading === undefined) NextLoading.start();
+	// 鏃� token 鍋滄鎵ц涓嬩竴姝�
+	if (!Session.get('token')) return false;
+	// 瑙﹀彂鍒濆鍖栫敤鎴蜂俊鎭� pinia
+	// https://gitee.com/lyt-top/vue-next-admin/issues/I5F1HP
+	await useUserInfo(pinia).setUserInfos();
+	// 娣诲姞鍔ㄦ�佽矾鐢�
+	await setAddRoute();
+	// 璁剧疆閫掑綊杩囨护鏈夋潈闄愮殑璺敱鍒� pinia routesList 涓紙宸插鐞嗘垚澶氱骇宓屽璺敱锛夊強缂撳瓨澶氱骇宓屽鏁扮粍澶勭悊鍚庣殑涓�缁存暟缁�
+	setFilterMenuAndCacheTagsViewRoutes();
+}
+
+/**
+ * 娣诲姞鍔ㄦ�佽矾鐢�
+ * @method router.addRoute
+ * @description 姝ゅ寰幆涓� dynamicRoutes锛�/@/router/route锛夌涓�涓《绾� children 鐨勮矾鐢变竴缁存暟缁勶紝闈炲绾у祵濂�
+ * @link 鍙傝�冿細https://next.router.vuejs.org/zh/api/#addroute
+ */
+export async function setAddRoute() {
+	await setFilterRouteEnd().forEach((route: RouteRecordRaw) => {
+		router.addRoute(route);
+	});
+}
+
+/**
+ * 鍒犻櫎/閲嶇疆璺敱
+ * @method router.removeRoute
+ * @description 姝ゅ寰幆涓� dynamicRoutes锛�/@/router/route锛夌涓�涓《绾� children 鐨勮矾鐢变竴缁存暟缁勶紝闈炲绾у祵濂�
+ * @link 鍙傝�冿細https://next.router.vuejs.org/zh/api/#push
+ */
+export async function frontEndsResetRoute() {
+	await setFilterRouteEnd().forEach((route: RouteRecordRaw) => {
+		const routeName: any = route.name;
+		router.hasRoute(routeName) && router.removeRoute(routeName);
+	});
+}
+
+/**
+ * 鑾峰彇鏈夊綋鍓嶇敤鎴锋潈闄愭爣璇嗙殑璺敱鏁扮粍锛岃繘琛屽鍘熻矾鐢辩殑鏇挎崲
+ * @description 鏇挎崲 dynamicRoutes锛�/@/router/route锛夌涓�涓《绾� children 鐨勮矾鐢�
+ * @returns 杩斿洖鏇挎崲鍚庣殑璺敱鏁扮粍
+ */
+export function setFilterRouteEnd() {
+	let filterRouteEnd: any = formatTwoStageRoutes(formatFlatteningRoutes(dynamicRoutes));
+	// notFoundAndNoPower 闃叉 404銆�401 涓嶅湪 layout 甯冨眬涓紝涓嶈缃殑璇濓紝404銆�401 鐣岄潰灏嗗叏灞忔樉绀�
+	// 鍏宠仈闂 No match found for location with path 'xxx'
+	filterRouteEnd[0].children = [...setFilterRoute(filterRouteEnd[0].children), ...notFoundAndNoPower];
+	return filterRouteEnd;
+}
+
+/**
+ * 鑾峰彇褰撳墠鐢ㄦ埛鏉冮檺鏍囪瘑鍘绘瘮瀵硅矾鐢辫〃锛堟湭澶勭悊鎴愬绾у祵濂楄矾鐢憋級
+ * @description 杩欓噷涓昏鐢ㄤ簬鍔ㄦ�佽矾鐢辩殑娣诲姞锛宺outer.addRoute
+ * @link 鍙傝�冿細https://next.router.vuejs.org/zh/api/#addroute
+ * @param chil dynamicRoutes锛�/@/router/route锛夌涓�涓《绾� children 鐨勪笅璺敱闆嗗悎
+ * @returns 杩斿洖鏈夊綋鍓嶇敤鎴锋潈闄愭爣璇嗙殑璺敱鏁扮粍
+ */
+export function setFilterRoute(chil: any) {
+	const stores = useUserInfo(pinia);
+	const { userInfos } = storeToRefs(stores);
+	let filterRoute: any = [];
+	chil.forEach((route: any) => {
+		if (route.meta.roles) {
+			route.meta.roles.forEach((metaRoles: any) => {
+				userInfos.value.roles.forEach((roles: any) => {
+					if (metaRoles === roles) filterRoute.push({ ...route });
+				});
+			});
+		}
+	});
+	return filterRoute;
+}
+
+/**
+ * 缂撳瓨澶氱骇宓屽鏁扮粍澶勭悊鍚庣殑涓�缁存暟缁�
+ * @description 鐢ㄤ簬 tagsView銆佽彍鍗曟悳绱腑锛氭湭杩囨护闅愯棌鐨�(isHide)
+ */
+export function setCacheTagsViewRoutes() {
+	// 鑾峰彇鏈夋潈闄愮殑璺敱锛屽惁鍒� tagsView銆佽彍鍗曟悳绱腑鏃犳潈闄愮殑璺敱涔熷皢鏄剧ず
+	const stores = useUserInfo(pinia);
+	const storesTagsView = useTagsViewRoutes(pinia);
+	const { userInfos } = storeToRefs(stores);
+	let rolesRoutes = setFilterHasRolesMenu(dynamicRoutes, userInfos.value.roles);
+	// 娣诲姞鍒� pinia setTagsViewRoutes 涓�
+	storesTagsView.setTagsViewRoutes(formatTwoStageRoutes(formatFlatteningRoutes(rolesRoutes))[0].children);
+}
+
+/**
+ * 璁剧疆閫掑綊杩囨护鏈夋潈闄愮殑璺敱鍒� pinia routesList 涓紙宸插鐞嗘垚澶氱骇宓屽璺敱锛夊強缂撳瓨澶氱骇宓屽鏁扮粍澶勭悊鍚庣殑涓�缁存暟缁�
+ * @description 鐢ㄤ簬宸︿晶鑿滃崟銆佹í鍚戣彍鍗曠殑鏄剧ず
+ * @description 鐢ㄤ簬 tagsView銆佽彍鍗曟悳绱腑锛氭湭杩囨护闅愯棌鐨�(isHide)
+ */
+export function setFilterMenuAndCacheTagsViewRoutes() {
+	const stores = useUserInfo(pinia);
+	const storesRoutesList = useRoutesList(pinia);
+	const { userInfos } = storeToRefs(stores);
+	storesRoutesList.setRoutesList(setFilterHasRolesMenu(dynamicRoutes[0].children, userInfos.value.roles));
+	setCacheTagsViewRoutes();
+}
+
+/**
+ * 鍒ゆ柇璺敱 `meta.roles` 涓槸鍚﹀寘鍚綋鍓嶇櫥褰曠敤鎴锋潈闄愬瓧娈�
+ * @param roles 鐢ㄦ埛鏉冮檺鏍囪瘑锛屽湪 userInfos锛堢敤鎴蜂俊鎭級鐨� roles锛堢櫥褰曢〉鐧诲綍鏃剁紦瀛樺埌娴忚鍣級鏁扮粍
+ * @param route 褰撳墠寰幆鏃剁殑璺敱椤�
+ * @returns 杩斿洖瀵规瘮鍚庢湁鏉冮檺鐨勮矾鐢遍」
+ */
+export function hasRoles(roles: any, route: any) {
+	if (route.meta && route.meta.roles) return roles.some((role: any) => route.meta.roles.includes(role));
+	else return true;
+}
+
+/**
+ * 鑾峰彇褰撳墠鐢ㄦ埛鏉冮檺鏍囪瘑鍘绘瘮瀵硅矾鐢辫〃锛岃缃�掑綊杩囨护鏈夋潈闄愮殑璺敱
+ * @param routes 褰撳墠璺敱 children
+ * @param roles 鐢ㄦ埛鏉冮檺鏍囪瘑锛屽湪 userInfos锛堢敤鎴蜂俊鎭級鐨� roles锛堢櫥褰曢〉鐧诲綍鏃剁紦瀛樺埌娴忚鍣級鏁扮粍
+ * @returns 杩斿洖鏈夋潈闄愮殑璺敱鏁扮粍 `meta.roles` 涓帶鍒�
+ */
+export function setFilterHasRolesMenu(routes: any, roles: any) {
+	const menu: any = [];
+	routes.forEach((route: any) => {
+		const item = { ...route };
+		if (hasRoles(roles, item)) {
+			if (item.children) item.children = setFilterHasRolesMenu(item.children, roles);
+			menu.push(item);
+		}
+	});
+	return menu;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/router/index.ts b/LA24030_LuLiPackageLine_Web/src/router/index.ts
new file mode 100644
index 0000000..db973a8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/router/index.ts
@@ -0,0 +1,139 @@
+import { createRouter, createWebHashHistory } from 'vue-router';
+import NProgress from 'nprogress';
+import 'nprogress/nprogress.css';
+import pinia from '/@/stores/index';
+import { storeToRefs } from 'pinia';
+import { useKeepALiveNames } from '/@/stores/keepAliveNames';
+import { useRoutesList } from '/@/stores/routesList';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import { Session } from '/@/utils/storage';
+import { staticRoutes, notFoundAndNoPower } from '/@/router/route';
+import { initFrontEndControlRoutes } from '/@/router/frontEnd';
+import { initBackEndControlRoutes } from '/@/router/backEnd';
+
+/**
+ * 1銆佸墠绔帶鍒惰矾鐢辨椂锛歩sRequestRoutes 涓� false锛岄渶瑕佸啓 roles锛岄渶瑕佽蛋 setFilterRoute 鏂规硶銆�
+ * 2銆佸悗绔帶鍒惰矾鐢辨椂锛歩sRequestRoutes 涓� true锛屼笉闇�瑕佸啓 roles锛屼笉闇�瑕佽蛋 setFilterRoute 鏂规硶锛夛紝
+ * 鐩稿叧鏂规硶宸叉媶瑙e埌瀵瑰簲鐨� `backEnd.ts` 涓� `frontEnd.ts`锛堜粬浠簰涓嶅奖鍝嶏紝涓嶉渶瑕佸悓鏃舵敼 2 涓枃浠讹級銆�
+ * 鐗瑰埆璇存槑锛�
+ * 1銆佸墠绔帶鍒讹細璺敱鑿滃崟鐢卞墠绔幓鍐欙紙鏃犺彍鍗曠鐞嗙晫闈紝鏈夎鑹茬鐞嗙晫闈級锛岃鑹茬鐞嗕腑鏈� roles 灞炴�э紝闇�杩斿洖鍒� userInfo 涓��
+ * 2銆佸悗绔帶鍒讹細璺敱鑿滃崟鐢卞悗绔繑鍥烇紙鏈夎彍鍗曠鐞嗙晫闈€�佹湁瑙掕壊绠$悊鐣岄潰锛�
+ */
+
+// 璇诲彇 `/src/stores/themeConfig.ts` 鏄惁寮�鍚悗绔帶鍒惰矾鐢遍厤缃�
+const storesThemeConfig = useThemeConfig(pinia);
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const { isRequestRoutes } = themeConfig.value;
+
+/**
+ * 鍒涘缓涓�涓彲浠ヨ Vue 搴旂敤绋嬪簭浣跨敤鐨勮矾鐢卞疄渚�
+ * @method createRouter(options: RouterOptions): Router
+ * @link 鍙傝�冿細https://next.router.vuejs.org/zh/api/#createrouter
+ */
+export const router = createRouter({
+	history: createWebHashHistory(),
+	/**
+	 * 璇存槑锛�
+	 * 1銆乶otFoundAndNoPower 榛樿娣诲姞 404銆�401 鐣岄潰锛岄槻姝竴鐩存彁绀� No match found for location with path 'xxx'
+	 * 2銆乥ackEnd.ts(鍚庣鎺у埗璺敱)銆乫rontEnd.ts(鍓嶇鎺у埗璺敱) 涓篃闇�瑕佸姞 notFoundAndNoPower 404銆�401 鐣岄潰銆�
+	 *    闃叉 404銆�401 涓嶅湪 layout 甯冨眬涓紝涓嶈缃殑璇濓紝404銆�401 鐣岄潰灏嗗叏灞忔樉绀�
+	 */
+	routes: [...notFoundAndNoPower, ...staticRoutes],
+});
+
+/**
+ * 璺敱澶氱骇宓屽鏁扮粍澶勭悊鎴愪竴缁存暟缁�
+ * @param arr 浼犲叆璺敱鑿滃崟鏁版嵁鏁扮粍
+ * @returns 杩斿洖澶勭悊鍚庣殑涓�缁磋矾鐢辫彍鍗曟暟缁�
+ */
+export function formatFlatteningRoutes(arr: any) {
+	if (arr.length <= 0) return false;
+	for (let i = 0; i < arr.length; i++) {
+		if (arr[i].children) {
+			arr = arr.slice(0, i + 1).concat(arr[i].children, arr.slice(i + 1));
+		}
+	}
+	return arr;
+}
+
+/**
+ * 涓�缁存暟缁勫鐞嗘垚澶氱骇宓屽鏁扮粍锛堝彧淇濈暀浜岀骇锛氫篃灏辨槸浜岀骇浠ヤ笂鍏ㄩ儴澶勭悊鎴愬彧鏈変簩绾э紝keep-alive 鏀寔浜岀骇缂撳瓨锛�
+ * @description isKeepAlive 澶勭悊 `name` 鍊硷紝杩涜缂撳瓨銆傞《绾у叧闂紝鍏ㄩ儴涓嶇紦瀛�
+ * @link 鍙傝�冿細https://v3.cn.vuejs.org/api/built-in-components.html#keep-alive
+ * @param arr 澶勭悊鍚庣殑涓�缁磋矾鐢辫彍鍗曟暟缁�
+ * @returns 杩斿洖灏嗕竴缁存暟缁勯噸鏂板鐞嗘垚 `瀹氫箟鍔ㄦ�佽矾鐢憋紙dynamicRoutes锛塦 鐨勬牸寮�
+ */
+export function formatTwoStageRoutes(arr: any) {
+	if (arr.length <= 0) return false;
+	const newArr: any = [];
+	const cacheList: Array<string> = [];
+	arr.forEach((v: any) => {
+		if (v.path == null || v.path == undefined) return;
+
+		if (v.path === '/') {
+			newArr.push({ component: v.component, name: v.name, path: v.path, redirect: v.redirect, meta: v.meta, children: [] });
+		} else {
+			// 鍒ゆ柇鏄惁鏄姩鎬佽矾鐢憋紙xx/:id/:name锛夛紝鐢ㄤ簬 tagsView 绛変腑浣跨敤
+			// 淇锛歨ttps://gitee.com/lyt-top/vue-next-admin/issues/I3YX6G
+			if (v.path.indexOf('/:') > -1) {
+				v.meta['isDynamic'] = true;
+				v.meta['isDynamicPath'] = v.path;
+			}
+			newArr[0].children.push({ ...v });
+			// 瀛� name 鍊硷紝keep-alive 涓� include 浣跨敤锛屽疄鐜拌矾鐢辩殑缂撳瓨
+			// 璺緞锛�/@/layout/routerView/parent.vue
+			if (newArr[0].meta.isKeepAlive && v.meta.isKeepAlive) {
+				cacheList.push(v.name);
+				const stores = useKeepALiveNames(pinia);
+				stores.setCacheKeepAlive(cacheList);
+			}
+		}
+	});
+	return newArr;
+}
+
+// 璺敱鍔犺浇鍓�
+router.beforeEach(async (to, from, next) => {
+	NProgress.configure({ showSpinner: false });
+	if (to.meta.title) NProgress.start();
+	const token = Session.get('token');
+	if (to.path === '/login' && !token) {
+		next();
+		NProgress.done();
+	} else {
+		if (!token) {
+			next(`/login?redirect=${to.path}&params=${JSON.stringify(to.query ? to.query : to.params)}`);
+			Session.clear();
+			NProgress.done();
+		} else if (token && to.path === '/login') {
+			next('/dashboard/home');
+			NProgress.done();
+		} else {
+			const storesRoutesList = useRoutesList(pinia);
+			const { routesList } = storeToRefs(storesRoutesList);
+			if (routesList.value.length === 0) {
+				if (isRequestRoutes) {
+					// 鍚庣鎺у埗璺敱锛氳矾鐢辨暟鎹垵濮嬪寲锛岄槻姝㈠埛鏂版椂涓㈠け
+					await initBackEndControlRoutes();
+					// 瑙e喅鍒锋柊鏃讹紝涓�鐩磋烦 404 椤甸潰闂锛屽叧鑱旈棶棰� No match found for location with path 'xxx'
+					// to.query 闃叉椤甸潰鍒锋柊鏃讹紝鏅�氳矾鐢卞甫鍙傛暟鏃讹紝鍙傛暟涓㈠け銆傚姩鎬佽矾鐢憋紙xxx/:id/:name"锛塱sDynamic 鏃犻渶澶勭悊
+					next({ path: to.path, query: to.query });
+				} else {
+					// https://gitee.com/lyt-top/vue-next-admin/issues/I5F1HP
+					await initFrontEndControlRoutes();
+					next({ path: to.path, query: to.query });
+				}
+			} else {
+				next();
+			}
+		}
+	}
+});
+
+// 璺敱鍔犺浇鍚�
+router.afterEach(() => {
+	NProgress.done();
+});
+
+// 瀵煎嚭璺敱
+export default router;
diff --git a/LA24030_LuLiPackageLine_Web/src/router/route.ts b/LA24030_LuLiPackageLine_Web/src/router/route.ts
new file mode 100644
index 0000000..499a3b1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/router/route.ts
@@ -0,0 +1,140 @@
+import { RouteRecordRaw } from 'vue-router';
+
+/**
+ * 寤鸿锛氳矾鐢� path 璺緞涓庢枃浠跺す鍚嶇О鐩稿悓锛屾壘鏂囦欢鍙祻瑙堝櫒鍦板潃鎵撅紝鏂逛究瀹氫綅鏂囦欢浣嶇疆
+ *
+ * 璺敱meta瀵硅薄鍙傛暟璇存槑
+ * meta: {
+ *      title:          鑿滃崟鏍忓強 tagsView 鏍忋�佽彍鍗曟悳绱㈠悕绉帮紙鍥介檯鍖栵級
+ *      isLink锛�        鏄惁瓒呴摼鎺ヨ彍鍗曪紝寮�鍚閾炬潯浠讹紝`1銆乮sLink: 閾炬帴鍦板潃涓嶄负绌� 2銆乮sIframe:false`
+ *      isHide锛�        鏄惁闅愯棌姝よ矾鐢�
+ *      isKeepAlive锛�   鏄惁缂撳瓨缁勪欢鐘舵��
+ *      isAffix锛�       鏄惁鍥哄畾鍦� tagsView 鏍忎笂
+ *      isIframe锛�      鏄惁鍐呭祵绐楀彛锛屽紑鍚潯浠讹紝`1銆乮sIframe:true 2銆乮sLink锛氶摼鎺ュ湴鍧�涓嶄负绌篳
+ *      roles锛�         褰撳墠璺敱鏉冮檺鏍囪瘑锛屽彇瑙掕壊绠$悊銆傛帶鍒惰矾鐢辨樉绀恒�侀殣钘忋�傝秴绾х鐞嗗憳锛歛dmin 鏅�氳鑹诧細common
+ *      icon锛�          鑿滃崟銆乼agsView 鍥炬爣锛岄樋閲岋細鍔� `iconfont xxx`锛宖ontawesome锛氬姞 `fa xxx`
+ * }
+ */
+
+// 鎵╁睍 RouteMeta 鎺ュ彛
+declare module 'vue-router' {
+	interface RouteMeta {
+		title?: string;
+		isLink?: string;
+		isHide?: boolean;
+		isKeepAlive?: boolean;
+		isAffix?: boolean;
+		isIframe?: boolean;
+		roles?: string[];
+		icon?: string;
+	}
+}
+
+/**
+ * 瀹氫箟鍔ㄦ�佽矾鐢�
+ * 鍓嶇娣诲姞璺敱锛岃鍦ㄩ《绾ц妭鐐圭殑 `children 鏁扮粍` 閲屾坊鍔�
+ * @description 鏈紑鍚� isRequestRoutes 涓� true 鏃朵娇鐢紙鍓嶇鎺у埗璺敱锛夛紝寮�鍚椂绗竴涓《绾� children 鐨勮矾鐢卞皢琚浛鎹㈡垚鎺ュ彛璇锋眰鍥炴潵鐨勮矾鐢辨暟鎹�
+ * @description 鍚勫瓧娈佃鏌ョ湅 `/@/views/system/menu/component/addMenu.vue 涓嬬殑 ruleForm`
+ * @returns 杩斿洖璺敱鑿滃崟鏁版嵁
+ */
+export const dynamicRoutes: Array<RouteRecordRaw> = [
+	{
+		path: '/',
+		name: '/',
+		component: () => import('/@/layout/index.vue'),
+		redirect: '/dashboard/home',
+		meta: {
+			isKeepAlive: true,
+		},
+		children: [],
+	},
+	{
+		path: '/platform/job/dashboard',
+		name: 'jobDashboard',
+		component: () => import('/@/views/system/job/dashboard.vue'),
+		meta: {
+			title: '浠诲姟鐪嬫澘',
+			isLink: window.__env__.VITE_API_URL + '/schedule',
+			isHide: true,
+			isKeepAlive: true,
+			isAffix: false,
+			isIframe: true,
+			icon: 'ele-Clock',
+		},
+	},
+	{
+		path: '/develop/database/visual',
+		name: 'databaseVisual',
+		component: () => import('/@/views/system/database/component/visualTable.vue'),
+		meta: {
+			title: '搴撹〃鍙鍖�',
+			isHide: true,
+			isKeepAlive: true,
+			isAffix: false,
+			// isIframe: true,
+			icon: 'ele-View',
+		},
+	},
+];
+
+/**
+ * 瀹氫箟404銆�401鐣岄潰
+ * @link 鍙傝�冿細https://next.router.vuejs.org/zh/guide/essentials/history-mode.html#netlify
+ */
+export const notFoundAndNoPower = [
+	{
+		path: '/:path(.*)*',
+		name: 'notFound',
+		component: () => import('/@/views/error/404.vue'),
+		meta: {
+			title: 'message.staticRoutes.notFound',
+			isHide: true,
+		},
+	},
+	{
+		path: '/401',
+		name: 'noPower',
+		component: () => import('/@/views/error/401.vue'),
+		meta: {
+			title: 'message.staticRoutes.noPower',
+			isHide: true,
+		},
+	},
+];
+
+/**
+ * 瀹氫箟闈欐�佽矾鐢憋紙榛樿璺敱锛�
+ * 姝よ矾鐢变笉瑕佸姩锛屽墠绔坊鍔犺矾鐢辩殑璇濓紝璇峰湪 `dynamicRoutes 鏁扮粍` 涓坊鍔�
+ * @description 鍓嶇鎺у埗鐩存帴鏀� dynamicRoutes 涓殑璺敱锛屽悗绔帶鍒朵笉闇�瑕佷慨鏀癸紝璇锋眰鎺ュ彛璺敱鏁版嵁鏃讹紝浼氳鐩� dynamicRoutes 绗竴涓《绾� children 鐨勫唴瀹癸紙鍏ㄥ睆锛屼笉鍖呭惈 layout 涓殑璺敱鍑哄彛锛�
+ * @returns 杩斿洖璺敱鑿滃崟鏁版嵁
+ */
+export const staticRoutes: Array<RouteRecordRaw> = [
+	{
+		path: '/login',
+		name: 'login',
+		component: () => import('/@/views/login/index.vue'),
+		meta: {
+			title: '鐧诲綍',
+		},
+	},
+	/**
+	 * 鎻愮ず锛氬啓鍦ㄨ繖閲岀殑涓哄叏灞忕晫闈紝涓嶅缓璁啓鍦ㄨ繖閲�
+	 * 璇峰啓鍦� `dynamicRoutes` 璺敱鏁扮粍涓�
+	 */
+	// {
+	// 	path: '/visualizingDemo1',
+	// 	name: 'visualizingDemo1',
+	// 	component: () => import('/@/views/visualizing/demo1.vue'),
+	// 	meta: {
+	// 		title: 'message.router.visualizingLinkDemo1',
+	// 	},
+	// },
+	// {
+	// 	path: '/visualizingDemo2',
+	// 	name: 'visualizingDemo2',
+	// 	component: () => import('/@/views/visualizing/demo2.vue'),
+	// 	meta: {
+	// 		title: 'message.router.visualizingLinkDemo2',
+	// 	},
+	// },
+];
diff --git a/LA24030_LuLiPackageLine_Web/src/stores/index.ts b/LA24030_LuLiPackageLine_Web/src/stores/index.ts
new file mode 100644
index 0000000..27c377e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/stores/index.ts
@@ -0,0 +1,8 @@
+// https://pinia.vuejs.org/
+import { createPinia } from 'pinia';
+
+// 鍒涘缓
+const pinia = createPinia();
+
+// 瀵煎嚭
+export default pinia;
diff --git a/LA24030_LuLiPackageLine_Web/src/stores/keepAliveNames.ts b/LA24030_LuLiPackageLine_Web/src/stores/keepAliveNames.ts
new file mode 100644
index 0000000..981198f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/stores/keepAliveNames.ts
@@ -0,0 +1,35 @@
+import { defineStore } from 'pinia';
+
+/**
+ * 璺敱缂撳瓨鍒楄〃
+ * @methods setCacheKeepAlive 璁剧疆瑕佺紦瀛樼殑璺敱 names锛堝紑鍚� Tagsview锛�
+ * @methods addCachedView 娣诲姞瑕佺紦瀛樼殑璺敱 names锛堝叧闂� Tagsview锛�
+ * @methods delCachedView 鍒犻櫎瑕佺紦瀛樼殑璺敱 names锛堝叧闂� Tagsview锛�
+ * @methods delOthersCachedViews 鍙抽敭鑿滃崟`鍏抽棴鍏跺畠`锛屽垹闄よ缂撳瓨鐨勮矾鐢� names锛堝叧闂� Tagsview锛�
+ * @methods delAllCachedViews 鍙抽敭鑿滃崟`鍏ㄩ儴鍏抽棴`锛屽垹闄よ缂撳瓨鐨勮矾鐢� names锛堝叧闂� Tagsview锛�
+ */
+export const useKeepALiveNames = defineStore('keepALiveNames', {
+	state: (): KeepAliveNamesState => ({
+		keepAliveNames: [],
+		cachedViews: [],
+	}),
+	actions: {
+		async setCacheKeepAlive(data: Array<string>) {
+			this.keepAliveNames = data;
+		},
+		async addCachedView(view: any) {
+			if (view.meta.isKeepAlive) this.cachedViews?.push(view.name);
+		},
+		async delCachedView(view: any) {
+			const index = this.cachedViews.indexOf(view.name);
+			index > -1 && this.cachedViews.splice(index, 1);
+		},
+		async delOthersCachedViews(view: any) {
+			if (view.meta.isKeepAlive) this.cachedViews = [view.name];
+			else this.cachedViews = [];
+		},
+		async delAllCachedViews() {
+			this.cachedViews = [];
+		},
+	},
+});
diff --git a/LA24030_LuLiPackageLine_Web/src/stores/requestOldRoutes.ts b/LA24030_LuLiPackageLine_Web/src/stores/requestOldRoutes.ts
new file mode 100644
index 0000000..b14ecc2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/stores/requestOldRoutes.ts
@@ -0,0 +1,16 @@
+import { defineStore } from 'pinia';
+
+/**
+ * 鍚庣杩斿洖鍘熷璺敱(鏈鐞嗘椂)
+ * @methods setCacheKeepAlive 璁剧疆鎺ュ彛鍘熷璺敱鏁版嵁
+ */
+export const useRequestOldRoutes = defineStore('requestOldRoutes', {
+	state: (): RequestOldRoutesState => ({
+		requestOldRoutes: [],
+	}),
+	actions: {
+		async setRequestOldRoutes(routes: Array<string>) {
+			this.requestOldRoutes = routes;
+		},
+	},
+});
diff --git a/LA24030_LuLiPackageLine_Web/src/stores/routesList.ts b/LA24030_LuLiPackageLine_Web/src/stores/routesList.ts
new file mode 100644
index 0000000..5e3a249
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/stores/routesList.ts
@@ -0,0 +1,26 @@
+import { defineStore } from 'pinia';
+
+/**
+ * 璺敱鍒楄〃
+ * @methods setRoutesList 璁剧疆璺敱鏁版嵁
+ * @methods setColumnsMenuHover 璁剧疆鍒嗘爮甯冨眬鑿滃崟榧犳爣绉诲叆 boolean
+ * @methods setColumnsNavHover 璁剧疆鍒嗘爮甯冨眬鏈�宸︿晶瀵艰埅榧犳爣绉诲叆 boolean
+ */
+export const useRoutesList = defineStore('routesList', {
+	state: (): RoutesListState => ({
+		routesList: [],
+		isColumnsMenuHover: false,
+		isColumnsNavHover: false,
+	}),
+	actions: {
+		async setRoutesList(data: Array<string>) {
+			this.routesList = data;
+		},
+		async setColumnsMenuHover(bool: Boolean) {
+			this.isColumnsMenuHover = bool;
+		},
+		async setColumnsNavHover(bool: Boolean) {
+			this.isColumnsNavHover = bool;
+		},
+	},
+});
diff --git a/LA24030_LuLiPackageLine_Web/src/stores/tagsViewRoutes.ts b/LA24030_LuLiPackageLine_Web/src/stores/tagsViewRoutes.ts
new file mode 100644
index 0000000..cfb3e39
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/stores/tagsViewRoutes.ts
@@ -0,0 +1,23 @@
+import { defineStore } from 'pinia';
+import { Session } from '/@/utils/storage';
+
+/**
+ * TagsView 璺敱鍒楄〃
+ * @methods setTagsViewRoutes 璁剧疆 TagsView 璺敱鍒楄〃
+ * @methods setCurrenFullscreen 璁剧疆寮�鍚�/鍏抽棴鍏ㄥ睆鏃剁殑 boolean 鐘舵��
+ */
+export const useTagsViewRoutes = defineStore('tagsViewRoutes', {
+	state: (): TagsViewRoutesState => ({
+		tagsViewRoutes: [],
+		isTagsViewCurrenFull: false,
+	}),
+	actions: {
+		async setTagsViewRoutes(data: Array<string>) {
+			this.tagsViewRoutes = data;
+		},
+		setCurrenFullscreen(bool: Boolean) {
+			Session.set('isTagsViewCurrenFull', bool);
+			this.isTagsViewCurrenFull = bool;
+		},
+	},
+});
diff --git a/LA24030_LuLiPackageLine_Web/src/stores/themeConfig.ts b/LA24030_LuLiPackageLine_Web/src/stores/themeConfig.ts
new file mode 100644
index 0000000..f07472a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/stores/themeConfig.ts
@@ -0,0 +1,159 @@
+import { defineStore } from 'pinia';
+
+/**
+ * 甯冨眬閰嶇疆
+ * 淇锛歨ttps://gitee.com/lyt-top/vue-next-admin/issues/I567R1锛屾劅璋lanbao123
+ * 2020.05.28 by lyt 浼樺寲銆傚紑鍙戞椂閰嶇疆涓嶇敓鏁堥棶棰�
+ * 淇敼閰嶇疆鏃讹細
+ * 1銆侀渶瑕佹瘡娆¢兘娓呯悊 `window.localStorage` 娴忚鍣ㄦ案涔呯紦瀛�
+ * 2銆佹垨鑰呯偣鍑诲竷灞�閰嶇疆鏈�搴曢儴 `涓�閿仮澶嶉粯璁 鎸夐挳鍗冲彲鐪嬪埌鏁堟灉
+ */
+export const useThemeConfig = defineStore('themeConfig', {
+	state: (): ThemeConfigState => ({
+		themeConfig: {
+			// 鏄惁寮�鍚竷灞�閰嶇疆鎶藉眽
+			isDrawer: false,
+
+			/**
+			 * 鍏ㄥ眬涓婚
+			 */
+			// 榛樿 primary 涓婚棰滆壊
+			primary: '#11559C', //绾㈣壊:#DE2910 //钃濊壊:#11559C //缁胯壊:#057748
+			// 鏄惁寮�鍚繁鑹叉ā寮�
+			isIsDark: false,
+
+			/**
+			 * 椤舵爮璁剧疆
+			 */
+			// 榛樿椤舵爮瀵艰埅鑳屾櫙棰滆壊
+			topBar: '#FFFFFF',
+			// 榛樿椤舵爮瀵艰埅瀛椾綋棰滆壊
+			topBarColor: '#000000',
+			// 鏄惁寮�鍚《鏍忚儗鏅鑹叉笎鍙�
+			isTopBarColorGradual: false,
+
+			/**
+			 * 鑿滃崟璁剧疆
+			 */
+			// 榛樿鑿滃崟瀵艰埅鑳屾櫙棰滆壊
+			menuBar: '#FFFFFF',
+			// 榛樿鑿滃崟瀵艰埅瀛椾綋棰滆壊
+			menuBarColor: '#000000',
+			// 榛樿鑿滃崟楂樹寒鑳屾櫙鑹�
+			menuBarActiveColor: 'var(--el-color-primary-light-7)',
+			// 鏄惁寮�鍚彍鍗曡儗鏅鑹叉笎鍙�
+			isMenuBarColorGradual: false,
+
+			/**
+			 * 鍒嗘爮璁剧疆
+			 */
+			// 榛樿鍒嗘爮鑿滃崟鑳屾櫙棰滆壊
+			columnsMenuBar: '#2C3A49',
+			// 榛樿鍒嗘爮鑿滃崟瀛椾綋棰滆壊
+			columnsMenuBarColor: '#F0F0F0',
+			// 鏄惁寮�鍚垎鏍忚彍鍗曡儗鏅鑹叉笎鍙�
+			isColumnsMenuBarColorGradual: false,
+			// 鏄惁寮�鍚垎鏍忚彍鍗曢紶鏍囨偓鍋滈鍔犺浇(棰勮鑿滃崟)
+			isColumnsMenuHoverPreload: false,
+
+			/**
+			 * 鐣岄潰璁剧疆
+			 */
+			// 鏄惁寮�鍚彍鍗曟按骞虫姌鍙犳晥鏋�
+			isCollapse: false,
+			// 鏄惁寮�鍚彍鍗曟墜椋庣惔鏁堟灉
+			isUniqueOpened: true,
+			// 鏄惁寮�鍚浐瀹� Header
+			isFixedHeader: true,
+			// 鍒濆鍖栧彉閲忥紝鐢ㄤ簬鏇存柊鑿滃崟 el-scrollbar 鐨勯珮搴︼紝璇峰嬁鍒犻櫎
+			isFixedHeaderChange: false,
+			// 鏄惁寮�鍚粡鍏稿竷灞�鍒嗗壊鑿滃崟锛堜粎缁忓吀甯冨眬鐢熸晥锛�
+			isClassicSplitMenu: false,
+			// 鏄惁寮�鍚嚜鍔ㄩ攣灞�
+			isLockScreen: false,
+			// 寮�鍚嚜鍔ㄩ攣灞忓�掕鏃�(s/绉�)
+			lockScreenTime: 300,
+
+			/**
+			 * 鐣岄潰鏄剧ず
+			 */
+			// 鏄惁寮�鍚晶杈规爮 Logo
+			isShowLogo: true,
+			// 鍒濆鍖栧彉閲忥紝鐢ㄤ簬 el-scrollbar 鐨勯珮搴︽洿鏂帮紝璇峰嬁鍒犻櫎
+			isShowLogoChange: false,
+			// 鏄惁寮�鍚� Breadcrumb锛屽己鍒剁粡鍏搞�佹í鍚戝竷灞�涓嶆樉绀�
+			isBreadcrumb: true,
+			// 鏄惁寮�鍚� Tagsview
+			isTagsview: true,
+			// 鏄惁寮�鍚� Breadcrumb 鍥炬爣
+			isBreadcrumbIcon: false,
+			// 鏄惁寮�鍚� Tagsview 鍥炬爣
+			isTagsviewIcon: false,
+			// 鏄惁寮�鍚� TagsView 缂撳瓨
+			isCacheTagsView: false,
+			// 鏄惁寮�鍚� TagsView 鎷栨嫿
+			isSortableTagsView: true,
+			// 鏄惁寮�鍚� TagsView 鍏辩敤
+			isShareTagsView: false,
+			// 鏄惁寮�鍚� Footer 搴曢儴鐗堟潈淇℃伅
+			isFooter: true,
+			// 鏄惁寮�鍚伆鑹叉ā寮�
+			isGrayscale: false,
+			// 鏄惁寮�鍚壊寮辨ā寮�
+			isInvert: false,
+			// 鏄惁寮�鍚按鍗�
+			isWatermark: false,
+			// 姘村嵃鏂囨
+			watermarkText: 'Admin.NET',
+
+			/**
+			 * 鍏跺畠璁剧疆
+			 */
+			// Tagsview 椋庢牸锛氬彲閫夊��"<tags-style-one|tags-style-four|tags-style-five>"锛岄粯璁� tags-style-five
+			// 瀹氫箟鐨勫�间笌 `/src/layout/navBars/tagsView/tagsView.vue` 涓殑 class 鍚屽悕
+			tagsStyle: 'tags-style-one',
+			// 涓婚〉闈㈠垏鎹㈠姩鐢�: Animate.css
+			animation: 'fadeLeft',
+			// 鍒嗘爮楂樹寒椋庢牸锛氬彲閫夊��"<columns-round|columns-card>"锛岄粯璁� columns-round
+			columnsAsideStyle: 'columns-round',
+			// 鍒嗘爮甯冨眬椋庢牸锛氬彲閫夊��"<columns-horizontal|columns-vertical>"锛岄粯璁� columns-horizontal
+			columnsAsideLayout: 'columns-vertical',
+
+			/**
+			 * 甯冨眬鍒囨崲
+			 * 娉ㄦ剰锛氫负浜嗘紨绀猴紝鍒囨崲甯冨眬鏃讹紝棰滆壊浼氳杩樺師鎴愰粯璁わ紝浠g爜浣嶇疆锛�/@/layout/navBars/topBar/setings.vue
+			 * 涓殑 `initSetLayoutChange(璁剧疆甯冨眬鍒囨崲锛岄噸缃富棰樻牱寮�)` 鏂规硶
+			 */
+			// 甯冨眬鍒囨崲锛氬彲閫夊��"<defaults|classic|transverse|columns>"锛岄粯璁� defaults
+			layout: 'columns',
+
+			/**
+			 * 鍚庣鎺у埗璺敱
+			 */
+			// 鏄惁寮�鍚悗绔帶鍒惰矾鐢�
+			isRequestRoutes: true,
+
+			/**
+			 * 鍏ㄥ眬缃戠珯鏍囬 / 鍓爣棰�
+			 */
+			// 缃戠珯涓绘爣棰橈紙鑿滃崟瀵艰埅銆佹祻瑙堝櫒褰撳墠缃戦〉鏍囬锛�
+			globalTitle: 'iWareWMS',
+			// 缃戠珯鍓爣棰橈紙鐧诲綍椤甸《閮ㄦ枃瀛楋級
+			globalViceTitle: 'iWareWMS',
+			globalViceTitleSub:'椴佷附鏈ㄤ笟鍖呰绾�',
+			// 缃戠珯鍓爣棰橈紙鐧诲綍椤甸《閮ㄦ枃瀛楋級
+			globalViceTitleMsg: '甯姪涓浗鍒堕�犱笟瀹炵幇鑷姩鍖栥�佹櫤鑳藉寲',
+			// 鐗堟潈鍜屽妗堟枃瀛�
+			copyright: 'Copyright 漏 1997-2024 浼熸湰鏅鸿兘鏈虹數(涓婃捣)鑲′唤鏈夐檺鍏徃 All rights reserved.',
+			// 榛樿鍒濆璇█锛屽彲閫夊��"<zh-cn|en|zh-tw>"锛岄粯璁� zh-cn
+			globalI18n: 'zh-cn',
+			// 榛樿鍏ㄥ眬缁勪欢澶у皬锛屽彲閫夊��"<large|'default'|small>"锛岄粯璁� 'large'
+			globalComponentSize: 'small',
+		},
+	}),
+	actions: {
+		setThemeConfig(data: ThemeConfigState) {
+			this.themeConfig = data.themeConfig;
+		},
+	},
+});
diff --git a/LA24030_LuLiPackageLine_Web/src/stores/userInfo.ts b/LA24030_LuLiPackageLine_Web/src/stores/userInfo.ts
new file mode 100644
index 0000000..422e646
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/stores/userInfo.ts
@@ -0,0 +1,126 @@
+import { defineStore } from 'pinia';
+import { Local, Session } from '/@/utils/storage';
+import Watermark from '/@/utils/watermark';
+import { useThemeConfig } from '/@/stores/themeConfig';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysAuthApi, SysConstApi, SysDictTypeApi } from '/@/api-services/api';
+
+/**
+ * 鐢ㄦ埛淇℃伅
+ * @methods setUserInfos 璁剧疆鐢ㄦ埛淇℃伅
+ */
+export const useUserInfo = defineStore('userInfo', {
+	state: (): UserInfosState => ({
+		userInfos: {} as any,
+		constList: [] as any,
+		dictList: [] as any,
+	}),
+	getters: {
+		// // 鑾峰彇绯荤粺甯搁噺鍒楄〃
+		// async getSysConstList(): Promise<any[]> {
+		// 	var res = await getAPI(SysConstApi).apiSysConstListGet();
+		// 	this.constList = res.data.result ?? [];
+		// 	return this.constList;
+		// },
+	},
+	actions: {
+		async setUserInfos() {
+			// 瀛樺偍鐢ㄦ埛淇℃伅鍒版祻瑙堝櫒缂撳瓨
+			if (Session.get('userInfo')) {
+				this.userInfos = Session.get('userInfo');
+			} else {
+				const userInfos = <UserInfos>await this.getApiUserInfo();
+				this.userInfos = userInfos;
+			}
+		},
+		async setConstList() {
+			// 瀛樺偍甯搁噺淇℃伅鍒版祻瑙堝櫒缂撳瓨
+			if (Session.get('constList')) {
+				this.constList = Session.get('constList');
+			} else {
+				const constList = <any[]>await this.getSysConstList();
+				Session.set('constList', constList);
+				this.constList = constList;
+			}
+		},
+		async setDictList() {
+			// 瀛樺偍瀛楀吀淇℃伅鍒版祻瑙堝櫒缂撳瓨
+			if (Session.get('dictList')) {
+				this.dictList = Session.get('dictList');
+			} else {
+				const dictList = <any[]>await this.getAllDictList();
+				Session.set('dictList', dictList);
+				this.dictList = dictList;
+			}
+		},
+		// 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
+		getApiUserInfo() {
+			return new Promise((resolve) => {
+				getAPI(SysAuthApi)
+					.apiSysAuthUserInfoGet()
+					.then(async (res: any) => {
+						if (res.data.result == null) return;
+						var d = res.data.result;
+						const userInfos = {
+							id: d.id,
+							account: d.account,
+							realName: d.realName,
+							phone: d.phone,
+							idCardNum: d.idCardNum,
+							email: d.email,
+							accountType: d.accountType,
+							avatar: d.avatar ?? '/favicon.ico',
+							address: d.address,
+							signature: d.signature,
+							orgId: d.orgId,
+							orgName: d.orgName,
+							posName: d.posName,
+							roles: d.roleIds,
+							authBtnList: d.buttons,
+							time: new Date().getTime(),
+						};
+						// vue-next-admin 鎻愪氦Id锛�225bce7 鎻愪氦娑堟伅锛歛dmin-23.03.26:鍙戝竷v2.4.32鐗堟湰
+						// 澧炲姞浜嗕笅闈唬鐮侊紝寮曡捣褰撳墠浼氳瘽鐨勭敤鎴蜂俊鎭笉浼氬埛鏂帮紝濡傦細閲嶆柊鎻愪氦鐨勫ご鍍忎笉鏇存柊锛岄渶瑕佹柊寮�涓�涓〉闈㈡墠鑳芥纭樉绀�
+						// Session.set('userInfo', userInfos);
+
+						// 姘村嵃閰嶇疆
+						const configRes: any = await getAPI(SysAuthApi).apiSysAuthWatermarkConfigGet();
+						if (configRes.data.result == null) return;
+
+						const configData = configRes.data.result;
+						const storesThemeConfig = useThemeConfig();
+						storesThemeConfig.themeConfig.isWatermark = configData.watermarkEnabled;
+						storesThemeConfig.themeConfig.watermarkText = userInfos.realName;
+						if (storesThemeConfig.themeConfig.isWatermark) Watermark.set(storesThemeConfig.themeConfig.watermarkText);
+						else Watermark.del();
+
+						Local.remove('themeConfig');
+						Local.set('themeConfig', storesThemeConfig.themeConfig);
+
+						resolve(userInfos);
+					});
+			});
+		},
+		// 鑾峰彇甯搁噺闆嗗悎
+		getSysConstList() {
+			return new Promise((resolve) => {
+				getAPI(SysConstApi)
+					.apiSysConstListGet()
+					.then(async (res: any) => {
+						resolve(res.data.result ?? []);
+					});
+			});
+		},
+		// 鑾峰彇瀛楀吀闆嗗悎
+		getAllDictList() {
+			return new Promise((resolve) => {
+				getAPI(SysDictTypeApi)
+					.apiSysDictTypeAllDictListGet()
+					.then(async (res: any) => {
+						resolve(res.data.result ?? []);
+					});
+			});
+		},
+	},
+});
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/app.scss b/LA24030_LuLiPackageLine_Web/src/theme/app.scss
new file mode 100644
index 0000000..27246f9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/app.scss
@@ -0,0 +1,338 @@
+/* 鍒濆鍖栨牱寮�
+------------------------------- */
+* {
+	margin: 0;
+	padding: 0;
+	box-sizing: border-box;
+	outline: none !important;
+}
+
+:root {
+	--next-color-white: #ffffff;
+	--next-bg-main-color: #f8f8f8;
+	--next-bg-color: #f5f5ff;
+	--next-border-color-light: #f1f2f3;
+	--next-color-primary-lighter: #ecf5ff;
+	--next-color-success-lighter: #f0f9eb;
+	--next-color-warning-lighter: #fdf6ec;
+	--next-color-danger-lighter: #fef0f0;
+	--next-color-dark-hover: #0000001a;
+	--next-color-menu-hover: rgba(0, 0, 0, 0.2);
+	--next-color-user-hover: rgba(0, 0, 0, 0.04);
+	--next-color-seting-main: #e9eef3;
+	--next-color-seting-aside: #d3dce6;
+	--next-color-seting-header: #b3c0d1;
+	// 閲嶅啓鍏ㄥ眬鏍峰紡
+	//--el-text-color-primary: rgba(0, 0, 0, .75) !important;
+	--el-text-color-regular: rgba(0, 0, 0, 0.99) !important;
+	//--el-text-color-secondary: var(--el-text-color-regular) !important;
+}
+
+html,
+body,
+#app {
+	margin: 0;
+	padding: 0;
+	width: 100%;
+	height: 100%;
+	font-family:
+		Helvetica Neue,
+		Helvetica,
+		PingFang SC,
+		Hiragino Sans GB,
+		Microsoft YaHei,
+		SimSun,
+		sans-serif;
+	font-weight: 400;
+	-webkit-font-smoothing: antialiased;
+	-webkit-tap-highlight-color: transparent;
+	background-color: var(--next-bg-main-color);
+	font-size: 14px;
+	overflow: hidden;
+	position: relative;
+}
+
+/* 涓诲竷灞�鏍峰紡
+------------------------------- */
+.layout-container {
+	width: 100%;
+	height: 100%;
+	.layout-pd {
+		padding: 15px !important;
+	}
+	.layout-flex {
+		display: flex;
+		flex-direction: column;
+		flex: 1;
+	}
+	.layout-aside {
+		background: var(--next-bg-menuBar);
+		box-shadow: 2px 0 6px rgb(0 21 41 / 1%);
+		height: inherit;
+		position: relative;
+		z-index: 1;
+		display: flex;
+		flex-direction: column;
+		overflow-x: hidden !important;
+		.el-scrollbar__view {
+			overflow: hidden;
+		}
+	}
+	.layout-header {
+		padding: 0 !important;
+		height: auto !important;
+	}
+	.layout-main {
+		padding: 0 !important;
+		overflow: hidden;
+		width: 100%;
+		background-color: var(--next-bg-main-color);
+		display: flex;
+		flex-direction: column;
+		// 鍐呭眰 el-scrollbar鏍峰紡锛岀敤浜庣晫闈㈤珮搴﹁嚜閫傚簲锛坢ain.vue锛�
+		.layout-main-scroll {
+			@extend .layout-flex;
+			.layout-parent {
+				@extend .layout-flex;
+				position: relative;
+				padding: 5px; // 鍥涘懆闂撮殭
+			}
+		}
+	}
+	// 鐢ㄤ簬鐣岄潰楂樺害鑷�傚簲
+	.layout-padding {
+		@extend .layout-pd;
+		position: absolute;
+		left: 0;
+		top: 0;
+		height: 100%;
+		overflow: hidden;
+		@extend .layout-flex;
+		&-auto {
+			height: inherit;
+			@extend .layout-flex;
+		}
+		&-view {
+			background: var(--el-color-white);
+			width: 100%;
+			height: 100%;
+			border-radius: 4px;
+			border: 1px solid var(--el-border-color-light, #ebeef5);
+			overflow: hidden;
+		}
+	}
+	// 鐢ㄤ簬鐣岄潰楂樺害鑷�傚簲锛屼富瑙嗗浘鍖� main 鐨勫唴杈硅窛锛岀敤浜� iframe
+	.layout-padding-unset {
+		padding: 0 !important;
+		&-view {
+			border-radius: 0 !important;
+			border: none !important;
+		}
+	}
+	// 鐢ㄤ簬璁剧疆 iframe loading 鏃剁殑楂樺害锛坙oading 鍨傜洿灞呬腑鏄剧ず锛�
+	.layout-iframe {
+		.el-loading-parent--relative {
+			height: 100%;
+		}
+	}
+	.el-scrollbar {
+		width: 100%;
+	}
+	.layout-el-aside-br-color {
+		border-right: 1px solid var(--el-border-color-light, #ebeef5);
+	}
+	// pc绔乏渚у鑸牱寮�
+	.layout-aside-pc-220 {
+		width: 220px !important;
+		transition: width 0.3s ease;
+	}
+	.layout-aside-pc-64 {
+		width: 64px !important;
+		transition: width 0.3s ease;
+	}
+	.layout-aside-pc-1 {
+		width: 1px !important;
+		transition: width 0.3s ease;
+		position: relative;
+		left: -1px;
+	}
+	// 鎵嬫満绔乏渚у鑸牱寮�
+	.layout-aside-mobile {
+		position: fixed;
+		top: 0;
+		left: -220px;
+		width: 220px;
+		z-index: 9999999;
+	}
+	.layout-aside-mobile-close {
+		left: -220px;
+		transition: all 0.3s cubic-bezier(0.39, 0.58, 0.57, 1);
+	}
+	.layout-aside-mobile-open {
+		left: 0;
+		transition: all 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
+	}
+	.layout-aside-mobile-mode {
+		position: fixed;
+		top: 0;
+		right: 0;
+		bottom: 0;
+		left: 0;
+		height: 100%;
+		background-color: rgba(0, 0, 0, 0.5);
+		z-index: 9999998;
+		animation: error-img 0.3s;
+	}
+	.layout-mian-height-50 {
+		height: calc(100vh - 50px);
+	}
+	.layout-columns-warp {
+		flex: 1;
+		display: flex;
+		overflow: hidden;
+	}
+	.layout-hide {
+		display: none;
+	}
+}
+
+/* element plus 鍏ㄥ眬鏍峰紡
+------------------------------- */
+.layout-breadcrumb-seting {
+	.el-divider {
+		background-color: rgb(230, 230, 230);
+	}
+}
+
+/* nprogress 杩涘害鏉¤窡闅忎富棰橀鑹�
+------------------------------- */
+#nprogress {
+	.bar {
+		background: var(--el-color-primary) !important;
+		z-index: 9999999 !important;
+	}
+}
+
+/* flex 寮规�у竷灞�
+------------------------------- */
+.flex {
+	display: flex;
+}
+.flex-auto {
+	flex: 1;
+	overflow: hidden;
+}
+.flex-center {
+	@extend .flex;
+	flex-direction: column;
+	width: 100%;
+	overflow: hidden;
+}
+.flex-margin {
+	margin: auto;
+}
+.flex-warp {
+	display: flex;
+	flex-wrap: wrap;
+	align-content: flex-start;
+	margin: 0 -5px;
+	.flex-warp-item {
+		padding: 5px;
+		.flex-warp-item-box {
+			width: 100%;
+			height: 100%;
+		}
+	}
+}
+
+/* cursor 榧犳爣褰㈢姸
+------------------------------- */
+// 榛樿
+.cursor-default {
+	cursor: default !important;
+}
+// 甯姪
+.cursor-help {
+	cursor: help !important;
+}
+// 鎵嬫寚
+.cursor-pointer {
+	cursor: pointer !important;
+}
+// 绉诲姩
+.cursor-move {
+	cursor: move !important;
+}
+
+/* 瀹介珮 100%
+------------------------------- */
+.w100 {
+	width: 100% !important;
+}
+.h100 {
+	height: 100% !important;
+}
+.vh100 {
+	height: 100vh !important;
+}
+.max100vh {
+	max-height: 100vh !important;
+}
+.min100vh {
+	min-height: 100vh !important;
+}
+
+/* 棰滆壊鍊�
+------------------------------- */
+.color-primary {
+	color: var(--el-color-primary);
+}
+.color-success {
+	color: var(--el-color-success);
+}
+.color-warning {
+	color: var(--el-color-warning);
+}
+.color-danger {
+	color: var(--el-color-danger);
+}
+.color-info {
+	color: var(--el-color-info);
+}
+
+/* 瀛椾綋澶у皬鍏ㄥ眬鏍峰紡
+------------------------------- */
+@for $i from 10 through 32 {
+	.font#{$i} {
+		font-size: #{$i}px !important;
+	}
+}
+
+/* 澶栬竟璺濄�佸唴杈硅窛鍏ㄥ眬鏍峰紡
+------------------------------- */
+@for $i from 1 through 35 {
+	.mt#{$i} {
+		margin-top: #{$i}px !important;
+	}
+	.mr#{$i} {
+		margin-right: #{$i}px !important;
+	}
+	.mb#{$i} {
+		margin-bottom: #{$i}px !important;
+	}
+	.ml#{$i} {
+		margin-left: #{$i}px !important;
+	}
+	.pt#{$i} {
+		padding-top: #{$i}px !important;
+	}
+	.pr#{$i} {
+		padding-right: #{$i}px !important;
+	}
+	.pb#{$i} {
+		padding-bottom: #{$i}px !important;
+	}
+	.pl#{$i} {
+		padding-left: #{$i}px !important;
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/common/transition.scss b/LA24030_LuLiPackageLine_Web/src/theme/common/transition.scss
new file mode 100644
index 0000000..a15271c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/common/transition.scss
@@ -0,0 +1,262 @@
+/* 鑷畾涔夐〉闈㈠垏鎹㈠姩鐢�
+------------------------------- */
+.fade-enter-active{
+	animation: fadeIn;
+	animation-duration: 0.3s;
+}
+.fadeUp-enter-active{
+	animation: fadeInUp;
+	animation-duration: 0.3s;
+}
+.fadeDown-enter-active{
+	animation: fadeInDown;
+	animation-duration: 0.3s;
+}
+.fadeLeft-enter-active{
+	animation: fadeInLeft;
+	animation-duration: 0.3s;
+}
+.fadeRight-enter-active{
+	animation: fadeInRight;
+	animation-duration: 0.3s;
+}
+
+.lightSpeedLeft-enter-active{
+	animation: lightSpeedInLeft;
+	animation-duration: 0.3s;
+}
+.lightSpeedRight-enter-active{
+	animation: lightSpeedInRight;
+	animation-duration: 0.3s;
+}
+
+.zoom-enter-active{
+	animation: zoomIn;
+	animation-duration: 0.3s;
+}
+.zoomUp-enter-active{
+	animation: zoomInUp;
+	animation-duration: 0.3s;
+}
+.zoomDown-enter-active{
+	animation: zoomInDown;
+	animation-duration: 0.3s;
+}
+.zoomLeft-enter-active{
+	animation: zoomInLeft;
+	animation-duration: 0.3s;
+}
+.zoomRight-enter-active{
+	animation: zoomInRight;
+	animation-duration: 0.3s;
+}
+
+.flip-enter-active{
+	animation: flip;
+	animation-duration: 0.3s;
+}
+.flipX-enter-active{
+	animation: flipInX;
+	animation-duration: 0.3s;
+}
+.flipY-enter-active{
+	animation: flipInY;
+	animation-duration: 0.3s;
+}
+
+.backUp-enter-active{
+	animation: backInUp;
+	animation-duration: 0.3s;
+}
+.backDown-enter-active{
+	animation: backInDown;
+	animation-duration: 0.3s;
+}
+.backLeft-enter-active{
+	animation: backInLeft;
+	animation-duration: 0.3s;
+}
+.backRight-enter-active{
+	animation: backInRight;
+	animation-duration: 0.3s;
+}
+
+.bounce-enter-active{
+	animation: bounceIn;
+	animation-duration: 0.3s;
+}
+.bounceUp-enter-active{
+	animation: bounceInUp;
+	animation-duration: 0.3s;
+}
+.bounceDown-enter-active{
+	animation: bounceInDown;
+	animation-duration: 0.3s;
+}
+.bounceLeft-enter-active{
+	animation: bounceInLeft;
+	animation-duration: 0.3s;
+}
+.bounceRight-enter-active{
+	animation: bounceInRight;
+	animation-duration: 0.3s;
+}
+
+// // 鑷畾涔夊脊绐楀姩鐢�
+// .dialog-fade-enter-active .el-dialog{
+// 	animation: bounceInDown;
+// 	animation-duration: 0.3s;
+// }
+// .dialog-fade-leave-active .el-dialog{
+// 	animation: bounceOutRight;
+// 	animation-duration: 0.3s;
+// }
+
+
+/* 椤甸潰鍒囨崲鍔ㄧ敾
+------------------------------- */
+.slide-right-enter-active,
+.slide-right-leave-active,
+.slide-left-enter-active,
+.slide-left-leave-active {
+	will-change: transform;
+	transition: all 0.3s ease;
+}
+// slide-right
+.slide-right-enter-from {
+	opacity: 0;
+	transform: translateX(-20px);
+}
+.slide-right-leave-to {
+	opacity: 0;
+	transform: translateX(20px);
+}
+// slide-left
+.slide-left-enter-from {
+	@extend .slide-right-leave-to;
+}
+.slide-left-leave-to {
+	@extend .slide-right-enter-from;
+}
+// opacitys
+.opacitys-enter-active,
+.opacitys-leave-active {
+	will-change: transform;
+	transition: all 0.3s ease;
+}
+.opacitys-enter-from,
+.opacitys-leave-to {
+	opacity: 0;
+}
+
+/* Breadcrumb 闈㈠寘灞戣繃娓″姩鐢�
+------------------------------- */
+.breadcrumb-enter-active,
+.breadcrumb-leave-active {
+	transition: all 0.5s ease;
+}
+.breadcrumb-enter-from,
+.breadcrumb-leave-active {
+	opacity: 0;
+	transform: translateX(20px);
+}
+.breadcrumb-leave-active {
+	position: absolute;
+	z-index: -1;
+}
+
+/* logo 杩囨浮鍔ㄧ敾
+------------------------------- */
+@keyframes logoAnimation {
+	0% {
+		transform: scale(0);
+	}
+	80% {
+		transform: scale(1.2);
+	}
+	100% {
+		transform: scale(1);
+	}
+}
+
+/* 404銆�401 杩囨浮鍔ㄧ敾
+------------------------------- */
+@keyframes error-num {
+	0% {
+		transform: translateY(60px);
+		opacity: 0;
+	}
+	100% {
+		transform: translateY(0);
+		opacity: 1;
+	}
+}
+@keyframes error-img {
+	0% {
+		opacity: 0;
+	}
+	100% {
+		opacity: 1;
+	}
+}
+@keyframes error-img-two {
+	0% {
+		opacity: 1;
+	}
+	100% {
+		opacity: 0;
+	}
+}
+
+/* 鐧诲綍椤靛姩鐢�
+------------------------------- */
+@keyframes loginLeft {
+	0% {
+		left: -100%;
+	}
+	50%,
+	100% {
+		left: 100%;
+	}
+}
+@keyframes loginTop {
+	0% {
+		top: -100%;
+	}
+	50%,
+	100% {
+		top: 100%;
+	}
+}
+@keyframes loginRight {
+	0% {
+		right: -100%;
+	}
+	50%,
+	100% {
+		right: 100%;
+	}
+}
+@keyframes loginBottom {
+	0% {
+		bottom: -100%;
+	}
+	50%,
+	100% {
+		bottom: 100%;
+	}
+}
+
+/* 宸﹀彸宸� link.vue
+------------------------------- */
+@keyframes toRight {
+	0% {
+		left: -5px;
+	}
+	50% {
+		left: 100%;
+	}
+	100% {
+		left: -5px;
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/dark.scss b/LA24030_LuLiPackageLine_Web/src/theme/dark.scss
new file mode 100644
index 0000000..61ee74e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/dark.scss
@@ -0,0 +1,255 @@
+/* 娣辫壊妯″紡鏍峰紡
+------------------------------- */
+[data-theme='dark'] {
+	// 鍙橀噺(鑷畾涔夋椂锛屽彧闇�淇敼杩欓噷鐨勫��)
+	--next-bg-main: #1f1f1f;
+	--next-color-white: #ffffff;
+	--next-color-disabled: #191919;
+	--next-color-bar: #dadada;
+	--next-color-primary: #303030;
+	--next-border-color: #424242;
+	--next-border-black: #333333;
+	--next-border-columns: #2a2a2a;
+	--next-color-seting: #505050;
+	--next-text-color-regular: #9b9da1;
+	--next-text-color-placeholder: #7a7a7a;
+	--next-color-hover: #3c3c3c;
+	--next-color-hover-rgba: rgba(0, 0, 0, 0.3);
+
+	// root
+	--next-bg-main-color: var(--next-bg-main) !important;
+	--next-bg-topBar: var(--next-color-disabled) !important;
+	--next-bg-topBarColor: var(--next-color-bar) !important;
+	--next-bg-menuBar: var(--next-color-disabled) !important;
+	--next-bg-menuBarColor: var(--next-color-bar) !important;
+	--next-bg-menuBarActiveColor: var(--next-color-hover-rgba) !important;
+	--next-bg-columnsMenuBar: var(--next-color-disabled) !important;
+	--next-bg-columnsMenuBarColor: var(--next-color-bar) !important;
+	--next-border-color-light: var(--next-border-black) !important;
+	--next-color-primary-lighter: var(--next-color-primary) !important;
+	--next-color-success-lighter: var(--next-color-primary) !important;
+	--next-color-warning-lighter: var(--next-color-primary) !important;
+	--next-color-danger-lighter: var(--next-color-primary) !important;
+	--next-bg-color: var(--next-color-primary) !important;
+	--next-color-dark-hover: var(--next-color-hover) !important;
+	--next-color-menu-hover: var(--next-color-hover-rgba) !important;
+	--next-color-user-hover: var(--next-color-hover-rgba) !important;
+	--next-color-seting-main: var(--next-color-seting) !important;
+	--next-color-seting-aside: var(--next-color-hover) !important;
+	--next-color-seting-header: var(--next-color-primary) !important;
+
+	// element plus
+	--el-color-white: var(--next-color-disabled) !important;
+	--el-text-color-primary: var(--next-color-bar) !important;
+	--el-border-color: var(--next-border-black) !important;
+	--el-border-color-light: var(--next-border-black) !important;
+	--el-border-color-lighter: var(--next-border-black) !important;
+	--el-border-color-extra-light: var(--el-color-primary-light-8) !important;
+	--el-text-color-regular: var(--next-text-color-regular) !important;
+	--el-bg-color: var(--next-color-disabled) !important;
+	--el-color-primary-light-9: var(--next-color-hover) !important;
+	--el-text-color-disabled: var(--next-text-color-placeholder) !important;
+	--el-text-color-disabled-base: var(--el-color-primary) !important;
+	--el-text-color-placeholder: var(--next-text-color-placeholder) !important;
+	--el-disabled-bg-color: var(--next-color-disabled) !important;
+	--el-fill-base: var(--next-color-white) !important;
+	--el-fill-colo: var(--next-color-hover-rgba) !important;
+	--el-fill-color: var(--next-color-hover-rgba) !important;
+	--el-fill-color-blank: var(--next-color-disabled) !important;
+	--el-fill-color-light: var(--next-color-hover-rgba) !important;
+	--el-bg-color-overlay: var(--el-color-primary-light-9) !important;
+	--el-mask-color: rgb(42 42 42 / 80%);
+	--el-fill-color-lighter: var(--next-color-hover-rgba) !important;
+
+	// button
+	.el-button {
+		&:hover {
+			border-color: var(--next-border-color) !important;
+		}
+	}
+	.el-button--primary,
+	.el-button--info,
+	.el-button--danger,
+	.el-button--success,
+	.el-button--warning {
+		--el-button-text-color: var(--next-color-white) !important;
+		--el-button-hover-text-color: var(--next-color-white) !important;
+		--el-button-disabled-text-color: var(--next-color-white) !important;
+		&:hover {
+			border-color: var(--el-button-hover-border-color, var(--el-button-hover-bg-color)) !important;
+		}
+	}
+
+	// drawer
+	.el-divider__text {
+		background-color: var(--el-color-white) !important;
+	}
+	.el-drawer {
+		border-left: 1px solid var(--next-border-color-light) !important;
+	}
+
+	// tabs
+	.el-tabs--border-card {
+		background-color: var(--el-color-white) !important;
+	}
+	.el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active {
+		background: var(--next-color-primary-lighter);
+	}
+
+	// alert / notice-bar
+	.home-card-item {
+		border: 1px solid var(--next-border-color-light) !important;
+	}
+	.el-alert,
+	.notice-bar {
+		border: 1px solid var(--next-border-color) !important;
+		background-color: var(--next-color-disabled) !important;
+	}
+
+	// topBar
+	.layout-navbars-breadcrumb-index {
+		background: none !important;
+	}
+
+	// menu
+	.layout-aside {
+		border-right: 1px solid var(--next-border-color-light) !important;
+		@extend .layout-navbars-breadcrumb-index;
+	}
+
+	// colorPicker
+	.el-color-picker__mask {
+		background: unset !important;
+	}
+	.el-color-picker__trigger {
+		border: 1px solid var(--next-border-color-light) !important;
+	}
+
+	// popper / dropdown
+	.el-popper {
+		border: 1px solid var(--next-border-color) !important;
+		color: var(--el-text-color-primary) !important;
+		.el-popper__arrow:before {
+			background: var(--el-color-white) !important;
+			border: 1px solid var(--next-border-color);
+		}
+		a {
+			color: var(--el-text-color-primary) !important;
+		}
+	}
+	.el-popper,
+	.el-dropdown-menu {
+		background: var(--el-color-white) !important;
+	}
+	.el-dropdown-menu__item:hover:not(.is-disabled) {
+		background: var(--el-bg-color) !important;
+	}
+	.el-dropdown-menu__item.is-disabled {
+		font-weight: 700 !important;
+	}
+
+	// input
+	.el-input-group__append,
+	.el-input-group__prepend {
+		border: var(--el-input-border) !important;
+		border-right: none !important;
+		background: var(--next-color-disabled) !important;
+		border-left: 0 !important;
+	}
+	.el-input-number__decrease,
+	.el-input-number__increase {
+		background: var(--next-color-disabled) !important;
+	}
+
+	// tag
+	.el-select .el-select__tags .el-tag {
+		background-color: var(--next-bg-color) !important;
+	}
+
+	// pagination
+	.el-pagination.is-background .el-pager li:not(.disabled).active {
+		color: var(--next-color-white) !important;
+	}
+	.el-pagination.is-background .btn-next,
+	.el-pagination.is-background .btn-prev,
+	.el-pagination.is-background .el-pager li {
+		background-color: var(--next-bg-color);
+	}
+	/*娣辫壊妯″紡鏃跺垎椤甸珮浜棶棰�*/
+	.el-pagination.is-background .btn-next.is-active,
+	.el-pagination.is-background .btn-prev.is-active,
+	.el-pagination.is-background .el-pager li.is-active {
+		color: var(--next-color-white) !important;
+	}
+
+	// radio
+	.el-radio-button:not(.is-active) .el-radio-button__inner {
+		border: 1px solid var(--next-border-color-light) !important;
+		border-left: 0 !important;
+	}
+	.el-radio-button.is-active .el-radio-button__inner {
+		color: var(--next-color-white) !important;
+	}
+
+	// countup
+	.countup-card-item-flex {
+		color: var(--el-text-color-primary) !important;
+	}
+
+	// editor
+	.editor-container {
+		.w-e-toolbar {
+			background: var(--el-color-white) !important;
+			border: 1px solid var(--next-border-color-light) !important;
+			.w-e-menu:hover {
+				background: var(--next-color-user-hover) !important;
+				i {
+					color: var(--el-text-color-primary) !important;
+				}
+			}
+		}
+		.w-e-text-container {
+			border: 1px solid var(--next-border-color-light) !important;
+			border-top: none !important;
+			.w-e-text {
+				background: var(--el-color-white) !important;
+			}
+		}
+	}
+
+	// date-picker
+	.el-picker-panel {
+		background: var(--el-color-white) !important;
+	}
+
+	// dialog
+	.el-dialog {
+		border: 1px solid var(--el-border-color-lighter);
+		.el-dialog__header {
+			color: var(--el-text-color-primary) !important;
+		}
+	}
+
+	// columns
+	.layout-columns-aside ul .layout-columns-active {
+		color: var(--next-color-white) !important;
+	}
+	.layout-columns-aside {
+		border-right: 1px solid var(--next-border-columns);
+	}
+
+	// tagsView
+	.tags-style-one {
+		.is-active {
+			color: var(--el-text-color-primary) !important;
+		}
+		.layout-navbars-tagsview-ul-li:hover {
+			border-color: var(--el-border-color-lighter) !important;
+		}
+	}
+
+	// loading
+	.el-loading-mask {
+		background-color: var(--next-bg-main) !important;
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/element.scss b/LA24030_LuLiPackageLine_Web/src/theme/element.scss
new file mode 100644
index 0000000..e094b57
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/element.scss
@@ -0,0 +1,445 @@
+@import 'mixins/index.scss';
+
+/* Button 鎸夐挳
+------------------------------- */
+// 绗笁鏂瑰瓧浣撳浘鏍囧ぇ灏�
+.el-button:not(.is-circle) i.el-icon,
+.el-button i.iconfont,
+.el-button i.fa,
+.el-button--default i.iconfont,
+.el-button--default i.fa {
+	font-size: 14px !important;
+	margin-right: 5px;
+}
+.el-button--small i.iconfont,
+.el-button--small i.fa {
+	font-size: 12px !important;
+	margin-right: 5px;
+}
+
+/* Input 杈撳叆妗嗐�両nputNumber 璁℃暟鍣�
+------------------------------- */
+// 鑿滃崟鎼滅储
+.el-autocomplete-suggestion__wrap {
+	max-height: 280px !important;
+}
+
+/* Form 琛ㄥ崟
+------------------------------- */
+.el-form {
+	// 鐢ㄤ簬淇敼寮圭獥鏃惰〃鍗曞唴瀹归棿闅斿お澶ч棶棰橈紝濡傜郴缁熻缃殑鏂板鑿滃崟寮圭獥閲岀殑琛ㄥ崟鍐呭
+	.el-form-item:last-of-type {
+		margin-bottom: 0 !important;
+	}
+	// 淇琛屽唴琛ㄥ崟鏈�鍚庝竴涓� el-form-item 浣嶇疆涓嬬Щ闂
+	&.el-form--inline {
+		.el-form-item--large.el-form-item:last-of-type {
+			margin-bottom: 22px !important;
+		}
+		.el-form-item--default.el-form-item:last-of-type,
+		.el-form-item--small.el-form-item:last-of-type {
+			margin-bottom: 18px !important;
+		}
+	}
+	// https://gitee.com/lyt-top/vue-next-admin/issues/I5K1PM
+	.el-form-item .el-form-item__label .el-icon {
+		margin-right: 0px;
+	}
+}
+
+/* Alert 璀﹀憡
+------------------------------- */
+.el-alert {
+	border: 1px solid;
+}
+.el-alert__title {
+	word-break: break-all;
+}
+
+/* Message 娑堟伅鎻愮ず
+------------------------------- */
+.el-message {
+	min-width: unset !important;
+	padding: 15px !important;
+	box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.02);
+}
+
+/* NavMenu 瀵艰埅鑿滃崟
+------------------------------- */
+// 榧犳爣 hover 鏃堕鑹�
+.el-menu-hover-bg-color {
+	background-color: var(--next-bg-menuBarActiveColor) !important;
+	//background-color: var(--el-color-primary-light-7) !important;
+}
+// 榛樿鏍峰紡淇敼
+.el-menu {
+	border-right: none !important;
+	width: 220px;
+}
+.el-menu-item {
+	height: 45px !important;
+	line-height: 45px !important;
+	margin: 0 0 1px 0;
+}
+//.el-menu-item,
+.el-sub-menu__title {
+	color: var(--next-bg-menuBarColor);
+	height: 45px !important;
+	line-height: 45px !important;
+}
+// 淇鐐瑰嚮宸︿晶鑿滃崟鎶樺彔鍐嶅睍寮�鏃讹紝瀹藉害涓嶈窡闅忛棶棰�
+.el-menu--collapse {
+	width: 64px !important;
+}
+// 澶栭儴閾炬帴鏃�
+.el-menu-item a,
+.el-menu-item a:hover,
+.el-menu-item i,
+.el-sub-menu__title i {
+	color: inherit;
+	text-decoration: none;
+}
+// 绗笁鏂瑰浘鏍囧瓧浣撻棿璺�/澶у皬璁剧疆
+.el-menu-item .iconfont,
+.el-sub-menu .iconfont,
+.el-menu-item .fa,
+.el-sub-menu .fa {
+	@include generalIcon;
+}
+// 姘村钩鑿滃崟銆佹í鍚戣彍鍗曢珮浜� 鑳屾櫙鑹诧紝榧犳爣 hover 鏃讹紝鏈夊瓙绾ц彍鍗曠殑鑳屾櫙鑹�
+.el-menu-item.is-active,
+.el-sub-menu.is-active .el-sub-menu__title,
+.el-sub-menu:not(.is-opened):hover .el-sub-menu__title {
+	@extend .el-menu-hover-bg-color;
+	color: var(--el-color-primary-dark-2);
+}
+.el-sub-menu:not(.is-active) .el-sub-menu__title {
+	color: var(--next-bg-menuBarColor);
+}
+// 榧犳爣 hover 鏃惰儗鏅壊
+.el-menu-item:hover {
+	//@extend .el-menu-hover-bg-color;
+	background-color: var(--el-color-primary-light-9);
+}
+.el-sub-menu.is-active.is-opened .el-sub-menu__title {
+	background-color: unset !important;
+}
+// 褰撳墠閫変腑鑿滃崟鍙充晶杈规
+.el-menu-item.is-active {
+	border-right: solid 3px var(--el-color-primary);
+}
+// 瀛愮骇鑿滃崟鑳屾櫙棰滆壊
+// .el-menu--inline {
+// 	background: var(--next-bg-menuBar-light-1);
+// }
+// 姘村钩鑿滃崟銆佹í鍚戣彍鍗曟姌鍙� a 鏍囩
+.el-popper.is-dark a {
+	color: var(--el-color-white) !important;
+	text-decoration: none;
+}
+// 姘村钩鑿滃崟銆佹í鍚戣彍鍗曟姌鍙犺儗鏅壊
+.el-popper.is-pure.is-light {
+	// 姘村钩鑿滃崟
+	.el-menu--vertical {
+		background: var(--next-bg-menuBar);
+		.el-sub-menu.is-active .el-sub-menu__title {
+			color: var(--el-menu-active-color);
+		}
+		.el-popper.is-pure.is-light {
+			.el-menu--vertical {
+				.el-sub-menu .el-sub-menu__title {
+					background-color: unset !important;
+					color: var(--next-bg-menuBarColor);
+				}
+				.el-sub-menu.is-active .el-sub-menu__title {
+					color: var(--el-menu-active-color);
+				}
+			}
+		}
+	}
+	// 妯悜鑿滃崟
+	.el-menu--horizontal {
+		background: var(--next-bg-topBar);
+		.el-menu-item,
+		.el-sub-menu {
+			height: 45px !important;
+			line-height: 45px !important;
+			color: var(--next-bg-topBarColor);
+			.el-sub-menu__title {
+				height: 45px !important;
+				line-height: 45px !important;
+				color: var(--next-bg-topBarColor);
+			}
+			.el-popper.is-pure.is-light {
+				.el-menu--horizontal {
+					.el-sub-menu .el-sub-menu__title {
+						background-color: unset !important;
+						color: var(--next-bg-topBarColor);
+					}
+					.el-sub-menu.is-active .el-sub-menu__title {
+						color: var(--el-menu-active-color);
+					}
+				}
+			}
+		}
+		.el-menu-item.is-active,
+		.el-sub-menu.is-active .el-sub-menu__title {
+			color: var(--el-menu-active-color);
+		}
+		// 榧犳爣 hover 鏃惰儗鏅壊
+		.el-menu-item:hover {
+			background-color: var(--el-color-primary-light-9);
+		}
+	}
+}
+// 妯悜鑿滃崟锛堢粡鍏搞�佹í鍚戯級甯冨眬
+.el-menu.el-menu--horizontal {
+	border-bottom: none !important;
+
+	width: 100% !important;
+	.el-menu-item,
+	.el-sub-menu__title {
+		height: 50px !important;
+		color: var(--next-bg-topBarColor);
+	}
+	.el-menu-item:not(.is-active):hover,
+	.el-sub-menu:not(.is-active):hover .el-sub-menu__title {
+		color: var(--next-bg-topBarColor);
+		//border-right: solid 3px var(--el-color-primary);
+	}
+	// 榧犳爣 hover 鏃惰儗鏅壊
+	.el-menu-item:hover {
+		background-color: var(--el-color-primary-light-9);
+	}
+	// 鑿滃崟婵�娲绘椂鍘绘帀鍏ㄥ眬鍙宠竟妗�
+	.el-menu-item.is-active {
+		border-right: none;
+	}
+}
+// 鑿滃崟鏀惰捣鏃讹紝鍥炬爣涓嶅眳涓棶棰�
+.el-menu--collapse {
+	.el-menu-item .iconfont,
+	.el-sub-menu .iconfont,
+	.el-menu-item .fa,
+	.el-sub-menu .fa {
+		margin-right: 0 !important;
+	}
+	.el-sub-menu__title {
+		padding-right: 0 !important;
+	}
+}
+
+/* Tabs 鏍囩椤�
+------------------------------- */
+.el-tabs__nav-wrap::after {
+	height: 1px !important;
+}
+
+/* Dropdown 涓嬫媺鑿滃崟
+------------------------------- */
+.el-dropdown-menu {
+	list-style: none !important; /*淇 Dropdown 涓嬫媺鑿滃崟鏍峰紡闂 2022.03.04*/
+}
+.el-dropdown-menu .el-dropdown-menu__item {
+	white-space: nowrap;
+	&:not(.is-disabled):hover {
+		background-color: var(--el-dropdown-menuItem-hover-fill);
+		color: var(--el-dropdown-menuItem-hover-color);
+	}
+}
+
+/* Steps 姝ラ鏉�
+------------------------------- */
+.el-step__icon-inner {
+	font-size: 30px !important;
+	font-weight: 400 !important;
+}
+.el-step__title {
+	font-size: 14px;
+}
+
+/* Dialog 瀵硅瘽妗�
+------------------------------- */
+.el-overlay {
+	overflow: hidden;
+	.el-overlay-dialog {
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		position: unset !important;
+		width: 100%;
+		height: 100%;
+		.el-dialog {
+			margin: 0 auto !important;
+			position: absolute;
+			.el-dialog__body {
+				padding: 20px !important;
+			}
+		}
+	}
+}
+.el-dialog__body {
+	max-height: calc(100vh - 85px) !important;
+	overflow-y: auto;
+	overflow-x: auto;
+}
+// .el-dialog__title{
+// 	font-size: 14px;
+// 	color: #FFF;
+// 	font-weight: 700;
+// }
+.el-dialog__header {
+	margin: -16px -16px 0px -16px;
+	padding: 8px 0px 8px 20px;
+	background: var(--el-color-primary);
+}
+// .el-dialog__footer {
+// 	// border-top: 1px solid var(--el-color-info-light-7);
+// 	padding-bottom: 10px;
+// }
+.el-dialog__headerbtn {
+	margin-top: -5px;
+	.el-dialog__close {
+		color: #fff;
+	}
+}
+.el-dialog__headerbtn:hover .el-dialog__close {
+	color: var(--el-color-danger) !important;
+}
+
+/* Card 鍗$墖
+------------------------------- */
+.el-card__header {
+	padding: 15px 20px;
+}
+
+/* Table 琛ㄦ牸 element plus 2.2.0 鐗堟湰
+------------------------------- */
+.el-table {
+	.el-button.is-text {
+		padding: 0;
+	}
+	// 琛ㄥご鑳屾櫙鑹�
+	--el-table-header-bg-color: var(--next-bg-main-color);
+	// 琛ㄥご瀛椾綋棰滆壊
+	thead {
+		color: var(--el-text-color-regular);
+		th {
+			font-weight: 500;
+		}
+	}
+}
+/*闃叉鍒嗘爮甯冨眬浜岀骇鑿滃崟寰堝鏃讹紝婊氬姩鏉℃秷澶遍棶棰�*/
+.layout-columns-warp .layout-aside .el-scrollbar__view {
+	height: unset !important;
+}
+
+/* Pagination 鍒嗛〉
+------------------------------- */
+// .el-pagination__editor {
+// 	margin-right: 8px;
+// }
+/*娣辫壊妯″紡鏃跺垎椤甸珮浜棶棰�*/
+.el-pagination.is-background .btn-next.is-active,
+.el-pagination.is-background .btn-prev.is-active,
+.el-pagination.is-background .el-pager li.is-active {
+	background-color: var(--el-color-primary) !important;
+	color: var(--el-color-white) !important;
+}
+// 鍒嗛〉缁勪欢闈犲彸鏄剧ず
+.el-pagination {
+	float: right;
+	margin: 10px 0 -10px 0 !important;
+}
+
+/* scrollbar
+------------------------------- */
+.el-scrollbar__bar {
+	z-index: 4;
+}
+/*闃叉椤甸潰鍒囨崲鏃讹紝婊氬姩鏉¢珮搴︿笉鍙樼殑闂锛堟粴鍔ㄦ潯楂樺害闈炴粴鍔ㄦ潯婊氬姩楂樺害锛�*/
+.el-scrollbar__wrap {
+	max-height: 100%;
+}
+.el-select-dropdown .el-scrollbar__wrap {
+	overflow-x: scroll !important;
+}
+/*淇Select 閫夋嫨鍣ㄩ珮搴﹂棶棰�*/
+.el-select-dropdown__wrap {
+	max-height: 274px !important;
+}
+/*淇Cascader 绾ц仈閫夋嫨鍣ㄩ珮搴﹂棶棰�*/
+.el-cascader-menu__wrap.el-scrollbar__wrap {
+	height: 204px !important;
+}
+/*鐢ㄤ簬鐣岄潰楂樺害鑷�傚簲锛坢ain.vue锛夛紝鍖哄垎 scrollbar__view锛岄槻姝㈠叾瀹冧娇鐢� scrollbar 鐨勫湴鏂瑰嚭鐜版粴鍔ㄦ潯娑堝け*/
+.layout-container-view .el-scrollbar__view {
+	height: 100%;
+}
+
+/* Drawer 鎶藉眽
+------------------------------- */
+.el-drawer {
+	--el-drawer-padding-primary: unset !important;
+	.el-drawer__header {
+		padding: 0 15px !important;
+		height: 50px;
+		display: flex;
+		align-items: center;
+		margin-bottom: 0 !important;
+		border-bottom: 1px solid var(--el-border-color);
+		color: var(--el-text-color-primary);
+	}
+	.el-drawer__body {
+		width: 100%;
+		height: 100%;
+		overflow: auto;
+	}
+}
+
+$--el-table-text-color: #fb6d49;
+
+// hack鍒楄〃椤�
+.layout-parent {
+	height: 0;
+	overflow: auto;
+
+	// 鏂规涓� 濡傛灉鎬曞奖鍝嶅叾浠栭〉闈紝鍙互鐩存帴淇敼 src/views/home/index.vue 涓� .home-container鏍峰紡銆�
+	// 鏂规浜� 姝ゅ淇敼鏄负浜嗕笉淇敼妗嗘灦鍘熷椤甸潰锛屾柟渚垮悗鏈熷悓姝ュ崌绾с��
+	// 鑷鍙栬垗
+	// 宸ヤ綔鍙� 婊氬姩鏉�
+	.home-container {
+		overflow: auto !important;
+	}
+
+	// Table椤佃嚜鍔ㄦ拺婊¢〉闈�
+	> div:first-child {
+		display: flex;
+		flex-direction: column;
+		height: 100%;
+
+		//鏀惧純浣跨敤 .el-card:nth-child(2) 锛屾柟渚垮悗鏈熼〉闈㈡墿灞�
+		.full-table {
+			flex: 1;
+
+			.el-card__body {
+				height: 100%;
+				display: flex;
+				flex-direction: column;
+
+				.el-table {
+					flex: 1;
+				}
+
+				.el-pagination {
+					display: flex;
+
+					> span:first-child {
+						flex: 1;
+						text-align: right;
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/font-awesome.scss b/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/font-awesome.scss
new file mode 100644
index 0000000..216e603
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/font-awesome.scss
@@ -0,0 +1,2332 @@
+/*!
+ *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
+ *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
+ */
+@font-face {
+	font-family: 'FontAwesome';
+	src: url('/@/theme/font-awesome/fontawesome-webfont.eot?v=4.7.0') format('embedded-opentype'), url('/@/theme/font-awesome/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),
+		url('/@/theme/font-awesome/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('/@/theme/font-awesome/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),
+		url('/@/theme/font-awesome/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');
+	font-weight: normal;
+	font-style: normal;
+}
+.fa {
+	display: inline-block;
+	font: normal normal normal 14px/1 FontAwesome;
+	font-size: inherit;
+	text-rendering: auto;
+	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+}
+.fa-lg {
+	font-size: 1.33333333em;
+	line-height: 0.75em;
+	vertical-align: -15%;
+}
+.fa-2x {
+	font-size: 2em;
+}
+.fa-3x {
+	font-size: 3em;
+}
+.fa-4x {
+	font-size: 4em;
+}
+.fa-5x {
+	font-size: 5em;
+}
+.fa-fw {
+	width: 1.28571429em;
+	text-align: center;
+}
+.fa-ul {
+	padding-left: 0;
+	margin-left: 2.14285714em;
+	list-style-type: none;
+}
+.fa-ul > li {
+	position: relative;
+}
+.fa-li {
+	position: absolute;
+	left: -2.14285714em;
+	width: 2.14285714em;
+	top: 0.14285714em;
+	text-align: center;
+}
+.fa-li.fa-lg {
+	left: -1.85714286em;
+}
+.fa-border {
+	padding: 0.2em 0.25em 0.15em;
+	border: solid 0.08em #eee;
+	border-radius: 0.1em;
+}
+.fa-pull-left {
+	float: left;
+}
+.fa-pull-right {
+	float: right;
+}
+.fa.fa-pull-left {
+	margin-right: 0.3em;
+}
+.fa.fa-pull-right {
+	margin-left: 0.3em;
+}
+.pull-right {
+	float: right;
+}
+.pull-left {
+	float: left;
+}
+.fa.pull-left {
+	margin-right: 0.3em;
+}
+.fa.pull-right {
+	margin-left: 0.3em;
+}
+.fa-spin {
+	-webkit-animation: fa-spin 2s infinite linear;
+	animation: fa-spin 2s infinite linear;
+}
+.fa-pulse {
+	-webkit-animation: fa-spin 1s infinite steps(8);
+	animation: fa-spin 1s infinite steps(8);
+}
+@-webkit-keyframes fa-spin {
+	0% {
+		-webkit-transform: rotate(0deg);
+		transform: rotate(0deg);
+	}
+	100% {
+		-webkit-transform: rotate(359deg);
+		transform: rotate(359deg);
+	}
+}
+@keyframes fa-spin {
+	0% {
+		-webkit-transform: rotate(0deg);
+		transform: rotate(0deg);
+	}
+	100% {
+		-webkit-transform: rotate(359deg);
+		transform: rotate(359deg);
+	}
+}
+.fa-rotate-90 {
+	-ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=1)';
+	-webkit-transform: rotate(90deg);
+	-ms-transform: rotate(90deg);
+	transform: rotate(90deg);
+}
+.fa-rotate-180 {
+	-ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=2)';
+	-webkit-transform: rotate(180deg);
+	-ms-transform: rotate(180deg);
+	transform: rotate(180deg);
+}
+.fa-rotate-270 {
+	-ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=3)';
+	-webkit-transform: rotate(270deg);
+	-ms-transform: rotate(270deg);
+	transform: rotate(270deg);
+}
+.fa-flip-horizontal {
+	-ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)';
+	-webkit-transform: scale(-1, 1);
+	-ms-transform: scale(-1, 1);
+	transform: scale(-1, 1);
+}
+.fa-flip-vertical {
+	-ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)';
+	-webkit-transform: scale(1, -1);
+	-ms-transform: scale(1, -1);
+	transform: scale(1, -1);
+}
+:root .fa-rotate-90,
+:root .fa-rotate-180,
+:root .fa-rotate-270,
+:root .fa-flip-horizontal,
+:root .fa-flip-vertical {
+	filter: none;
+}
+.fa-stack {
+	position: relative;
+	display: inline-block;
+	width: 2em;
+	height: 2em;
+	line-height: 2em;
+	vertical-align: middle;
+}
+.fa-stack-1x,
+.fa-stack-2x {
+	position: absolute;
+	left: 0;
+	width: 100%;
+	text-align: center;
+}
+.fa-stack-1x {
+	line-height: inherit;
+}
+.fa-stack-2x {
+	font-size: 2em;
+}
+.fa-inverse {
+	color: #fff;
+}
+.fa-glass:before {
+	content: '\f000';
+}
+.fa-music:before {
+	content: '\f001';
+}
+.fa-search:before {
+	content: '\f002';
+}
+.fa-envelope-o:before {
+	content: '\f003';
+}
+.fa-heart:before {
+	content: '\f004';
+}
+.fa-star:before {
+	content: '\f005';
+}
+.fa-star-o:before {
+	content: '\f006';
+}
+.fa-user:before {
+	content: '\f007';
+}
+.fa-film:before {
+	content: '\f008';
+}
+.fa-th-large:before {
+	content: '\f009';
+}
+.fa-th:before {
+	content: '\f00a';
+}
+.fa-th-list:before {
+	content: '\f00b';
+}
+.fa-check:before {
+	content: '\f00c';
+}
+.fa-remove:before,
+.fa-close:before,
+.fa-times:before {
+	content: '\f00d';
+}
+.fa-search-plus:before {
+	content: '\f00e';
+}
+.fa-search-minus:before {
+	content: '\f010';
+}
+.fa-power-off:before {
+	content: '\f011';
+}
+.fa-signal:before {
+	content: '\f012';
+}
+.fa-gear:before,
+.fa-cog:before {
+	content: '\f013';
+}
+.fa-trash-o:before {
+	content: '\f014';
+}
+.fa-home:before {
+	content: '\f015';
+}
+.fa-file-o:before {
+	content: '\f016';
+}
+.fa-clock-o:before {
+	content: '\f017';
+}
+.fa-road:before {
+	content: '\f018';
+}
+.fa-download:before {
+	content: '\f019';
+}
+.fa-arrow-circle-o-down:before {
+	content: '\f01a';
+}
+.fa-arrow-circle-o-up:before {
+	content: '\f01b';
+}
+.fa-inbox:before {
+	content: '\f01c';
+}
+.fa-play-circle-o:before {
+	content: '\f01d';
+}
+.fa-rotate-right:before,
+.fa-repeat:before {
+	content: '\f01e';
+}
+.fa-refresh:before {
+	content: '\f021';
+}
+.fa-list-alt:before {
+	content: '\f022';
+}
+.fa-lock:before {
+	content: '\f023';
+}
+.fa-flag:before {
+	content: '\f024';
+}
+.fa-headphones:before {
+	content: '\f025';
+}
+.fa-volume-off:before {
+	content: '\f026';
+}
+.fa-volume-down:before {
+	content: '\f027';
+}
+.fa-volume-up:before {
+	content: '\f028';
+}
+.fa-qrcode:before {
+	content: '\f029';
+}
+.fa-barcode:before {
+	content: '\f02a';
+}
+.fa-tag:before {
+	content: '\f02b';
+}
+.fa-tags:before {
+	content: '\f02c';
+}
+.fa-book:before {
+	content: '\f02d';
+}
+.fa-bookmark:before {
+	content: '\f02e';
+}
+.fa-print:before {
+	content: '\f02f';
+}
+.fa-camera:before {
+	content: '\f030';
+}
+.fa-font:before {
+	content: '\f031';
+}
+.fa-bold:before {
+	content: '\f032';
+}
+.fa-italic:before {
+	content: '\f033';
+}
+.fa-text-height:before {
+	content: '\f034';
+}
+.fa-text-width:before {
+	content: '\f035';
+}
+.fa-align-left:before {
+	content: '\f036';
+}
+.fa-align-center:before {
+	content: '\f037';
+}
+.fa-align-right:before {
+	content: '\f038';
+}
+.fa-align-justify:before {
+	content: '\f039';
+}
+.fa-list:before {
+	content: '\f03a';
+}
+.fa-dedent:before,
+.fa-outdent:before {
+	content: '\f03b';
+}
+.fa-indent:before {
+	content: '\f03c';
+}
+.fa-video-camera:before {
+	content: '\f03d';
+}
+.fa-photo:before,
+.fa-image:before,
+.fa-picture-o:before {
+	content: '\f03e';
+}
+.fa-pencil:before {
+	content: '\f040';
+}
+.fa-map-marker:before {
+	content: '\f041';
+}
+.fa-adjust:before {
+	content: '\f042';
+}
+.fa-tint:before {
+	content: '\f043';
+}
+.fa-edit:before,
+.fa-pencil-square-o:before {
+	content: '\f044';
+}
+.fa-share-square-o:before {
+	content: '\f045';
+}
+.fa-check-square-o:before {
+	content: '\f046';
+}
+.fa-arrows:before {
+	content: '\f047';
+}
+.fa-step-backward:before {
+	content: '\f048';
+}
+.fa-fast-backward:before {
+	content: '\f049';
+}
+.fa-backward:before {
+	content: '\f04a';
+}
+.fa-play:before {
+	content: '\f04b';
+}
+.fa-pause:before {
+	content: '\f04c';
+}
+.fa-stop:before {
+	content: '\f04d';
+}
+.fa-forward:before {
+	content: '\f04e';
+}
+.fa-fast-forward:before {
+	content: '\f050';
+}
+.fa-step-forward:before {
+	content: '\f051';
+}
+.fa-eject:before {
+	content: '\f052';
+}
+.fa-chevron-left:before {
+	content: '\f053';
+}
+.fa-chevron-right:before {
+	content: '\f054';
+}
+.fa-plus-circle:before {
+	content: '\f055';
+}
+.fa-minus-circle:before {
+	content: '\f056';
+}
+.fa-times-circle:before {
+	content: '\f057';
+}
+.fa-check-circle:before {
+	content: '\f058';
+}
+.fa-question-circle:before {
+	content: '\f059';
+}
+.fa-info-circle:before {
+	content: '\f05a';
+}
+.fa-crosshairs:before {
+	content: '\f05b';
+}
+.fa-times-circle-o:before {
+	content: '\f05c';
+}
+.fa-check-circle-o:before {
+	content: '\f05d';
+}
+.fa-ban:before {
+	content: '\f05e';
+}
+.fa-arrow-left:before {
+	content: '\f060';
+}
+.fa-arrow-right:before {
+	content: '\f061';
+}
+.fa-arrow-up:before {
+	content: '\f062';
+}
+.fa-arrow-down:before {
+	content: '\f063';
+}
+.fa-mail-forward:before,
+.fa-share:before {
+	content: '\f064';
+}
+.fa-expand:before {
+	content: '\f065';
+}
+.fa-compress:before {
+	content: '\f066';
+}
+.fa-plus:before {
+	content: '\f067';
+}
+.fa-minus:before {
+	content: '\f068';
+}
+.fa-asterisk:before {
+	content: '\f069';
+}
+.fa-exclamation-circle:before {
+	content: '\f06a';
+}
+.fa-gift:before {
+	content: '\f06b';
+}
+.fa-leaf:before {
+	content: '\f06c';
+}
+.fa-fire:before {
+	content: '\f06d';
+}
+.fa-eye:before {
+	content: '\f06e';
+}
+.fa-eye-slash:before {
+	content: '\f070';
+}
+.fa-warning:before,
+.fa-exclamation-triangle:before {
+	content: '\f071';
+}
+.fa-plane:before {
+	content: '\f072';
+}
+.fa-calendar:before {
+	content: '\f073';
+}
+.fa-random:before {
+	content: '\f074';
+}
+.fa-comment:before {
+	content: '\f075';
+}
+.fa-magnet:before {
+	content: '\f076';
+}
+.fa-chevron-up:before {
+	content: '\f077';
+}
+.fa-chevron-down:before {
+	content: '\f078';
+}
+.fa-retweet:before {
+	content: '\f079';
+}
+.fa-shopping-cart:before {
+	content: '\f07a';
+}
+.fa-folder:before {
+	content: '\f07b';
+}
+.fa-folder-open:before {
+	content: '\f07c';
+}
+.fa-arrows-v:before {
+	content: '\f07d';
+}
+.fa-arrows-h:before {
+	content: '\f07e';
+}
+.fa-bar-chart-o:before,
+.fa-bar-chart:before {
+	content: '\f080';
+}
+.fa-twitter-square:before {
+	content: '\f081';
+}
+.fa-facebook-square:before {
+	content: '\f082';
+}
+.fa-camera-retro:before {
+	content: '\f083';
+}
+.fa-key:before {
+	content: '\f084';
+}
+.fa-gears:before,
+.fa-cogs:before {
+	content: '\f085';
+}
+.fa-comments:before {
+	content: '\f086';
+}
+.fa-thumbs-o-up:before {
+	content: '\f087';
+}
+.fa-thumbs-o-down:before {
+	content: '\f088';
+}
+.fa-star-half:before {
+	content: '\f089';
+}
+.fa-heart-o:before {
+	content: '\f08a';
+}
+.fa-sign-out:before {
+	content: '\f08b';
+}
+.fa-linkedin-square:before {
+	content: '\f08c';
+}
+.fa-thumb-tack:before {
+	content: '\f08d';
+}
+.fa-external-link:before {
+	content: '\f08e';
+}
+.fa-sign-in:before {
+	content: '\f090';
+}
+.fa-trophy:before {
+	content: '\f091';
+}
+.fa-github-square:before {
+	content: '\f092';
+}
+.fa-upload:before {
+	content: '\f093';
+}
+.fa-lemon-o:before {
+	content: '\f094';
+}
+.fa-phone:before {
+	content: '\f095';
+}
+.fa-square-o:before {
+	content: '\f096';
+}
+.fa-bookmark-o:before {
+	content: '\f097';
+}
+.fa-phone-square:before {
+	content: '\f098';
+}
+.fa-twitter:before {
+	content: '\f099';
+}
+.fa-facebook-f:before,
+.fa-facebook:before {
+	content: '\f09a';
+}
+.fa-github:before {
+	content: '\f09b';
+}
+.fa-unlock:before {
+	content: '\f09c';
+}
+.fa-credit-card:before {
+	content: '\f09d';
+}
+.fa-feed:before,
+.fa-rss:before {
+	content: '\f09e';
+}
+.fa-hdd-o:before {
+	content: '\f0a0';
+}
+.fa-bullhorn:before {
+	content: '\f0a1';
+}
+.fa-bell:before {
+	content: '\f0f3';
+}
+.fa-certificate:before {
+	content: '\f0a3';
+}
+.fa-hand-o-right:before {
+	content: '\f0a4';
+}
+.fa-hand-o-left:before {
+	content: '\f0a5';
+}
+.fa-hand-o-up:before {
+	content: '\f0a6';
+}
+.fa-hand-o-down:before {
+	content: '\f0a7';
+}
+.fa-arrow-circle-left:before {
+	content: '\f0a8';
+}
+.fa-arrow-circle-right:before {
+	content: '\f0a9';
+}
+.fa-arrow-circle-up:before {
+	content: '\f0aa';
+}
+.fa-arrow-circle-down:before {
+	content: '\f0ab';
+}
+.fa-globe:before {
+	content: '\f0ac';
+}
+.fa-wrench:before {
+	content: '\f0ad';
+}
+.fa-tasks:before {
+	content: '\f0ae';
+}
+.fa-filter:before {
+	content: '\f0b0';
+}
+.fa-briefcase:before {
+	content: '\f0b1';
+}
+.fa-arrows-alt:before {
+	content: '\f0b2';
+}
+.fa-group:before,
+.fa-users:before {
+	content: '\f0c0';
+}
+.fa-chain:before,
+.fa-link:before {
+	content: '\f0c1';
+}
+.fa-cloud:before {
+	content: '\f0c2';
+}
+.fa-flask:before {
+	content: '\f0c3';
+}
+.fa-cut:before,
+.fa-scissors:before {
+	content: '\f0c4';
+}
+.fa-copy:before,
+.fa-files-o:before {
+	content: '\f0c5';
+}
+.fa-paperclip:before {
+	content: '\f0c6';
+}
+.fa-save:before,
+.fa-floppy-o:before {
+	content: '\f0c7';
+}
+.fa-square:before {
+	content: '\f0c8';
+}
+.fa-navicon:before,
+.fa-reorder:before,
+.fa-bars:before {
+	content: '\f0c9';
+}
+.fa-list-ul:before {
+	content: '\f0ca';
+}
+.fa-list-ol:before {
+	content: '\f0cb';
+}
+.fa-strikethrough:before {
+	content: '\f0cc';
+}
+.fa-underline:before {
+	content: '\f0cd';
+}
+.fa-table:before {
+	content: '\f0ce';
+}
+.fa-magic:before {
+	content: '\f0d0';
+}
+.fa-truck:before {
+	content: '\f0d1';
+}
+.fa-pinterest:before {
+	content: '\f0d2';
+}
+.fa-pinterest-square:before {
+	content: '\f0d3';
+}
+.fa-google-plus-square:before {
+	content: '\f0d4';
+}
+.fa-google-plus:before {
+	content: '\f0d5';
+}
+.fa-money:before {
+	content: '\f0d6';
+}
+.fa-caret-down:before {
+	content: '\f0d7';
+}
+.fa-caret-up:before {
+	content: '\f0d8';
+}
+.fa-caret-left:before {
+	content: '\f0d9';
+}
+.fa-caret-right:before {
+	content: '\f0da';
+}
+.fa-columns:before {
+	content: '\f0db';
+}
+.fa-unsorted:before,
+.fa-sort:before {
+	content: '\f0dc';
+}
+.fa-sort-down:before,
+.fa-sort-desc:before {
+	content: '\f0dd';
+}
+.fa-sort-up:before,
+.fa-sort-asc:before {
+	content: '\f0de';
+}
+.fa-envelope:before {
+	content: '\f0e0';
+}
+.fa-linkedin:before {
+	content: '\f0e1';
+}
+.fa-rotate-left:before,
+.fa-undo:before {
+	content: '\f0e2';
+}
+.fa-legal:before,
+.fa-gavel:before {
+	content: '\f0e3';
+}
+.fa-dashboard:before,
+.fa-tachometer:before {
+	content: '\f0e4';
+}
+.fa-comment-o:before {
+	content: '\f0e5';
+}
+.fa-comments-o:before {
+	content: '\f0e6';
+}
+.fa-flash:before,
+.fa-bolt:before {
+	content: '\f0e7';
+}
+.fa-sitemap:before {
+	content: '\f0e8';
+}
+.fa-umbrella:before {
+	content: '\f0e9';
+}
+.fa-paste:before,
+.fa-clipboard:before {
+	content: '\f0ea';
+}
+.fa-lightbulb-o:before {
+	content: '\f0eb';
+}
+.fa-exchange:before {
+	content: '\f0ec';
+}
+.fa-cloud-download:before {
+	content: '\f0ed';
+}
+.fa-cloud-upload:before {
+	content: '\f0ee';
+}
+.fa-user-md:before {
+	content: '\f0f0';
+}
+.fa-stethoscope:before {
+	content: '\f0f1';
+}
+.fa-suitcase:before {
+	content: '\f0f2';
+}
+.fa-bell-o:before {
+	content: '\f0a2';
+}
+.fa-coffee:before {
+	content: '\f0f4';
+}
+.fa-cutlery:before {
+	content: '\f0f5';
+}
+.fa-file-text-o:before {
+	content: '\f0f6';
+}
+.fa-building-o:before {
+	content: '\f0f7';
+}
+.fa-hospital-o:before {
+	content: '\f0f8';
+}
+.fa-ambulance:before {
+	content: '\f0f9';
+}
+.fa-medkit:before {
+	content: '\f0fa';
+}
+.fa-fighter-jet:before {
+	content: '\f0fb';
+}
+.fa-beer:before {
+	content: '\f0fc';
+}
+.fa-h-square:before {
+	content: '\f0fd';
+}
+.fa-plus-square:before {
+	content: '\f0fe';
+}
+.fa-angle-double-left:before {
+	content: '\f100';
+}
+.fa-angle-double-right:before {
+	content: '\f101';
+}
+.fa-angle-double-up:before {
+	content: '\f102';
+}
+.fa-angle-double-down:before {
+	content: '\f103';
+}
+.fa-angle-left:before {
+	content: '\f104';
+}
+.fa-angle-right:before {
+	content: '\f105';
+}
+.fa-angle-up:before {
+	content: '\f106';
+}
+.fa-angle-down:before {
+	content: '\f107';
+}
+.fa-desktop:before {
+	content: '\f108';
+}
+.fa-laptop:before {
+	content: '\f109';
+}
+.fa-tablet:before {
+	content: '\f10a';
+}
+.fa-mobile-phone:before,
+.fa-mobile:before {
+	content: '\f10b';
+}
+.fa-circle-o:before {
+	content: '\f10c';
+}
+.fa-quote-left:before {
+	content: '\f10d';
+}
+.fa-quote-right:before {
+	content: '\f10e';
+}
+.fa-spinner:before {
+	content: '\f110';
+}
+.fa-circle:before {
+	content: '\f111';
+}
+.fa-mail-reply:before,
+.fa-reply:before {
+	content: '\f112';
+}
+.fa-github-alt:before {
+	content: '\f113';
+}
+.fa-folder-o:before {
+	content: '\f114';
+}
+.fa-folder-open-o:before {
+	content: '\f115';
+}
+.fa-smile-o:before {
+	content: '\f118';
+}
+.fa-frown-o:before {
+	content: '\f119';
+}
+.fa-meh-o:before {
+	content: '\f11a';
+}
+.fa-gamepad:before {
+	content: '\f11b';
+}
+.fa-keyboard-o:before {
+	content: '\f11c';
+}
+.fa-flag-o:before {
+	content: '\f11d';
+}
+.fa-flag-checkered:before {
+	content: '\f11e';
+}
+.fa-terminal:before {
+	content: '\f120';
+}
+.fa-code:before {
+	content: '\f121';
+}
+.fa-mail-reply-all:before,
+.fa-reply-all:before {
+	content: '\f122';
+}
+.fa-star-half-empty:before,
+.fa-star-half-full:before,
+.fa-star-half-o:before {
+	content: '\f123';
+}
+.fa-location-arrow:before {
+	content: '\f124';
+}
+.fa-crop:before {
+	content: '\f125';
+}
+.fa-code-fork:before {
+	content: '\f126';
+}
+.fa-unlink:before,
+.fa-chain-broken:before {
+	content: '\f127';
+}
+.fa-question:before {
+	content: '\f128';
+}
+.fa-info:before {
+	content: '\f129';
+}
+.fa-exclamation:before {
+	content: '\f12a';
+}
+.fa-superscript:before {
+	content: '\f12b';
+}
+.fa-subscript:before {
+	content: '\f12c';
+}
+.fa-eraser:before {
+	content: '\f12d';
+}
+.fa-puzzle-piece:before {
+	content: '\f12e';
+}
+.fa-microphone:before {
+	content: '\f130';
+}
+.fa-microphone-slash:before {
+	content: '\f131';
+}
+.fa-shield:before {
+	content: '\f132';
+}
+.fa-calendar-o:before {
+	content: '\f133';
+}
+.fa-fire-extinguisher:before {
+	content: '\f134';
+}
+.fa-rocket:before {
+	content: '\f135';
+}
+.fa-maxcdn:before {
+	content: '\f136';
+}
+.fa-chevron-circle-left:before {
+	content: '\f137';
+}
+.fa-chevron-circle-right:before {
+	content: '\f138';
+}
+.fa-chevron-circle-up:before {
+	content: '\f139';
+}
+.fa-chevron-circle-down:before {
+	content: '\f13a';
+}
+.fa-html5:before {
+	content: '\f13b';
+}
+.fa-css3:before {
+	content: '\f13c';
+}
+.fa-anchor:before {
+	content: '\f13d';
+}
+.fa-unlock-alt:before {
+	content: '\f13e';
+}
+.fa-bullseye:before {
+	content: '\f140';
+}
+.fa-ellipsis-h:before {
+	content: '\f141';
+}
+.fa-ellipsis-v:before {
+	content: '\f142';
+}
+.fa-rss-square:before {
+	content: '\f143';
+}
+.fa-play-circle:before {
+	content: '\f144';
+}
+.fa-ticket:before {
+	content: '\f145';
+}
+.fa-minus-square:before {
+	content: '\f146';
+}
+.fa-minus-square-o:before {
+	content: '\f147';
+}
+.fa-level-up:before {
+	content: '\f148';
+}
+.fa-level-down:before {
+	content: '\f149';
+}
+.fa-check-square:before {
+	content: '\f14a';
+}
+.fa-pencil-square:before {
+	content: '\f14b';
+}
+.fa-external-link-square:before {
+	content: '\f14c';
+}
+.fa-share-square:before {
+	content: '\f14d';
+}
+.fa-compass:before {
+	content: '\f14e';
+}
+.fa-toggle-down:before,
+.fa-caret-square-o-down:before {
+	content: '\f150';
+}
+.fa-toggle-up:before,
+.fa-caret-square-o-up:before {
+	content: '\f151';
+}
+.fa-toggle-right:before,
+.fa-caret-square-o-right:before {
+	content: '\f152';
+}
+.fa-euro:before,
+.fa-eur:before {
+	content: '\f153';
+}
+.fa-gbp:before {
+	content: '\f154';
+}
+.fa-dollar:before,
+.fa-usd:before {
+	content: '\f155';
+}
+.fa-rupee:before,
+.fa-inr:before {
+	content: '\f156';
+}
+.fa-cny:before,
+.fa-rmb:before,
+.fa-yen:before,
+.fa-jpy:before {
+	content: '\f157';
+}
+.fa-ruble:before,
+.fa-rouble:before,
+.fa-rub:before {
+	content: '\f158';
+}
+.fa-won:before,
+.fa-krw:before {
+	content: '\f159';
+}
+.fa-bitcoin:before,
+.fa-btc:before {
+	content: '\f15a';
+}
+.fa-file:before {
+	content: '\f15b';
+}
+.fa-file-text:before {
+	content: '\f15c';
+}
+.fa-sort-alpha-asc:before {
+	content: '\f15d';
+}
+.fa-sort-alpha-desc:before {
+	content: '\f15e';
+}
+.fa-sort-amount-asc:before {
+	content: '\f160';
+}
+.fa-sort-amount-desc:before {
+	content: '\f161';
+}
+.fa-sort-numeric-asc:before {
+	content: '\f162';
+}
+.fa-sort-numeric-desc:before {
+	content: '\f163';
+}
+.fa-thumbs-up:before {
+	content: '\f164';
+}
+.fa-thumbs-down:before {
+	content: '\f165';
+}
+.fa-youtube-square:before {
+	content: '\f166';
+}
+.fa-youtube:before {
+	content: '\f167';
+}
+.fa-xing:before {
+	content: '\f168';
+}
+.fa-xing-square:before {
+	content: '\f169';
+}
+.fa-youtube-play:before {
+	content: '\f16a';
+}
+.fa-dropbox:before {
+	content: '\f16b';
+}
+.fa-stack-overflow:before {
+	content: '\f16c';
+}
+.fa-instagram:before {
+	content: '\f16d';
+}
+.fa-flickr:before {
+	content: '\f16e';
+}
+.fa-adn:before {
+	content: '\f170';
+}
+.fa-bitbucket:before {
+	content: '\f171';
+}
+.fa-bitbucket-square:before {
+	content: '\f172';
+}
+.fa-tumblr:before {
+	content: '\f173';
+}
+.fa-tumblr-square:before {
+	content: '\f174';
+}
+.fa-long-arrow-down:before {
+	content: '\f175';
+}
+.fa-long-arrow-up:before {
+	content: '\f176';
+}
+.fa-long-arrow-left:before {
+	content: '\f177';
+}
+.fa-long-arrow-right:before {
+	content: '\f178';
+}
+.fa-apple:before {
+	content: '\f179';
+}
+.fa-windows:before {
+	content: '\f17a';
+}
+.fa-android:before {
+	content: '\f17b';
+}
+.fa-linux:before {
+	content: '\f17c';
+}
+.fa-dribbble:before {
+	content: '\f17d';
+}
+.fa-skype:before {
+	content: '\f17e';
+}
+.fa-foursquare:before {
+	content: '\f180';
+}
+.fa-trello:before {
+	content: '\f181';
+}
+.fa-female:before {
+	content: '\f182';
+}
+.fa-male:before {
+	content: '\f183';
+}
+.fa-gittip:before,
+.fa-gratipay:before {
+	content: '\f184';
+}
+.fa-sun-o:before {
+	content: '\f185';
+}
+.fa-moon-o:before {
+	content: '\f186';
+}
+.fa-archive:before {
+	content: '\f187';
+}
+.fa-bug:before {
+	content: '\f188';
+}
+.fa-vk:before {
+	content: '\f189';
+}
+.fa-weibo:before {
+	content: '\f18a';
+}
+.fa-renren:before {
+	content: '\f18b';
+}
+.fa-pagelines:before {
+	content: '\f18c';
+}
+.fa-stack-exchange:before {
+	content: '\f18d';
+}
+.fa-arrow-circle-o-right:before {
+	content: '\f18e';
+}
+.fa-arrow-circle-o-left:before {
+	content: '\f190';
+}
+.fa-toggle-left:before,
+.fa-caret-square-o-left:before {
+	content: '\f191';
+}
+.fa-dot-circle-o:before {
+	content: '\f192';
+}
+.fa-wheelchair:before {
+	content: '\f193';
+}
+.fa-vimeo-square:before {
+	content: '\f194';
+}
+.fa-turkish-lira:before,
+.fa-try:before {
+	content: '\f195';
+}
+.fa-plus-square-o:before {
+	content: '\f196';
+}
+.fa-space-shuttle:before {
+	content: '\f197';
+}
+.fa-slack:before {
+	content: '\f198';
+}
+.fa-envelope-square:before {
+	content: '\f199';
+}
+.fa-wordpress:before {
+	content: '\f19a';
+}
+.fa-openid:before {
+	content: '\f19b';
+}
+.fa-institution:before,
+.fa-bank:before,
+.fa-university:before {
+	content: '\f19c';
+}
+.fa-mortar-board:before,
+.fa-graduation-cap:before {
+	content: '\f19d';
+}
+.fa-yahoo:before {
+	content: '\f19e';
+}
+.fa-google:before {
+	content: '\f1a0';
+}
+.fa-reddit:before {
+	content: '\f1a1';
+}
+.fa-reddit-square:before {
+	content: '\f1a2';
+}
+.fa-stumbleupon-circle:before {
+	content: '\f1a3';
+}
+.fa-stumbleupon:before {
+	content: '\f1a4';
+}
+.fa-delicious:before {
+	content: '\f1a5';
+}
+.fa-digg:before {
+	content: '\f1a6';
+}
+.fa-pied-piper-pp:before {
+	content: '\f1a7';
+}
+.fa-pied-piper-alt:before {
+	content: '\f1a8';
+}
+.fa-drupal:before {
+	content: '\f1a9';
+}
+.fa-joomla:before {
+	content: '\f1aa';
+}
+.fa-language:before {
+	content: '\f1ab';
+}
+.fa-fax:before {
+	content: '\f1ac';
+}
+.fa-building:before {
+	content: '\f1ad';
+}
+.fa-child:before {
+	content: '\f1ae';
+}
+.fa-paw:before {
+	content: '\f1b0';
+}
+.fa-spoon:before {
+	content: '\f1b1';
+}
+.fa-cube:before {
+	content: '\f1b2';
+}
+.fa-cubes:before {
+	content: '\f1b3';
+}
+.fa-behance:before {
+	content: '\f1b4';
+}
+.fa-behance-square:before {
+	content: '\f1b5';
+}
+.fa-steam:before {
+	content: '\f1b6';
+}
+.fa-steam-square:before {
+	content: '\f1b7';
+}
+.fa-recycle:before {
+	content: '\f1b8';
+}
+.fa-automobile:before,
+.fa-car:before {
+	content: '\f1b9';
+}
+.fa-cab:before,
+.fa-taxi:before {
+	content: '\f1ba';
+}
+.fa-tree:before {
+	content: '\f1bb';
+}
+.fa-spotify:before {
+	content: '\f1bc';
+}
+.fa-deviantart:before {
+	content: '\f1bd';
+}
+.fa-soundcloud:before {
+	content: '\f1be';
+}
+.fa-database:before {
+	content: '\f1c0';
+}
+.fa-file-pdf-o:before {
+	content: '\f1c1';
+}
+.fa-file-word-o:before {
+	content: '\f1c2';
+}
+.fa-file-excel-o:before {
+	content: '\f1c3';
+}
+.fa-file-powerpoint-o:before {
+	content: '\f1c4';
+}
+.fa-file-photo-o:before,
+.fa-file-picture-o:before,
+.fa-file-image-o:before {
+	content: '\f1c5';
+}
+.fa-file-zip-o:before,
+.fa-file-archive-o:before {
+	content: '\f1c6';
+}
+.fa-file-sound-o:before,
+.fa-file-audio-o:before {
+	content: '\f1c7';
+}
+.fa-file-movie-o:before,
+.fa-file-video-o:before {
+	content: '\f1c8';
+}
+.fa-file-code-o:before {
+	content: '\f1c9';
+}
+.fa-vine:before {
+	content: '\f1ca';
+}
+.fa-codepen:before {
+	content: '\f1cb';
+}
+.fa-jsfiddle:before {
+	content: '\f1cc';
+}
+.fa-life-bouy:before,
+.fa-life-buoy:before,
+.fa-life-saver:before,
+.fa-support:before,
+.fa-life-ring:before {
+	content: '\f1cd';
+}
+.fa-circle-o-notch:before {
+	content: '\f1ce';
+}
+.fa-ra:before,
+.fa-resistance:before,
+.fa-rebel:before {
+	content: '\f1d0';
+}
+.fa-ge:before,
+.fa-empire:before {
+	content: '\f1d1';
+}
+.fa-git-square:before {
+	content: '\f1d2';
+}
+.fa-git:before {
+	content: '\f1d3';
+}
+.fa-y-combinator-square:before,
+.fa-yc-square:before,
+.fa-hacker-news:before {
+	content: '\f1d4';
+}
+.fa-tencent-weibo:before {
+	content: '\f1d5';
+}
+.fa-qq:before {
+	content: '\f1d6';
+}
+.fa-wechat:before,
+.fa-weixin:before {
+	content: '\f1d7';
+}
+.fa-send:before,
+.fa-paper-plane:before {
+	content: '\f1d8';
+}
+.fa-send-o:before,
+.fa-paper-plane-o:before {
+	content: '\f1d9';
+}
+.fa-history:before {
+	content: '\f1da';
+}
+.fa-circle-thin:before {
+	content: '\f1db';
+}
+.fa-header:before {
+	content: '\f1dc';
+}
+.fa-paragraph:before {
+	content: '\f1dd';
+}
+.fa-sliders:before {
+	content: '\f1de';
+}
+.fa-share-alt:before {
+	content: '\f1e0';
+}
+.fa-share-alt-square:before {
+	content: '\f1e1';
+}
+.fa-bomb:before {
+	content: '\f1e2';
+}
+.fa-soccer-ball-o:before,
+.fa-futbol-o:before {
+	content: '\f1e3';
+}
+.fa-tty:before {
+	content: '\f1e4';
+}
+.fa-binoculars:before {
+	content: '\f1e5';
+}
+.fa-plug:before {
+	content: '\f1e6';
+}
+.fa-slideshare:before {
+	content: '\f1e7';
+}
+.fa-twitch:before {
+	content: '\f1e8';
+}
+.fa-yelp:before {
+	content: '\f1e9';
+}
+.fa-newspaper-o:before {
+	content: '\f1ea';
+}
+.fa-wifi:before {
+	content: '\f1eb';
+}
+.fa-calculator:before {
+	content: '\f1ec';
+}
+.fa-paypal:before {
+	content: '\f1ed';
+}
+.fa-google-wallet:before {
+	content: '\f1ee';
+}
+.fa-cc-visa:before {
+	content: '\f1f0';
+}
+.fa-cc-mastercard:before {
+	content: '\f1f1';
+}
+.fa-cc-discover:before {
+	content: '\f1f2';
+}
+.fa-cc-amex:before {
+	content: '\f1f3';
+}
+.fa-cc-paypal:before {
+	content: '\f1f4';
+}
+.fa-cc-stripe:before {
+	content: '\f1f5';
+}
+.fa-bell-slash:before {
+	content: '\f1f6';
+}
+.fa-bell-slash-o:before {
+	content: '\f1f7';
+}
+.fa-trash:before {
+	content: '\f1f8';
+}
+.fa-copyright:before {
+	content: '\f1f9';
+}
+.fa-at:before {
+	content: '\f1fa';
+}
+.fa-eyedropper:before {
+	content: '\f1fb';
+}
+.fa-paint-brush:before {
+	content: '\f1fc';
+}
+.fa-birthday-cake:before {
+	content: '\f1fd';
+}
+.fa-area-chart:before {
+	content: '\f1fe';
+}
+.fa-pie-chart:before {
+	content: '\f200';
+}
+.fa-line-chart:before {
+	content: '\f201';
+}
+.fa-lastfm:before {
+	content: '\f202';
+}
+.fa-lastfm-square:before {
+	content: '\f203';
+}
+.fa-toggle-off:before {
+	content: '\f204';
+}
+.fa-toggle-on:before {
+	content: '\f205';
+}
+.fa-bicycle:before {
+	content: '\f206';
+}
+.fa-bus:before {
+	content: '\f207';
+}
+.fa-ioxhost:before {
+	content: '\f208';
+}
+.fa-angellist:before {
+	content: '\f209';
+}
+.fa-cc:before {
+	content: '\f20a';
+}
+.fa-shekel:before,
+.fa-sheqel:before,
+.fa-ils:before {
+	content: '\f20b';
+}
+.fa-meanpath:before {
+	content: '\f20c';
+}
+.fa-buysellads:before {
+	content: '\f20d';
+}
+.fa-connectdevelop:before {
+	content: '\f20e';
+}
+.fa-dashcube:before {
+	content: '\f210';
+}
+.fa-forumbee:before {
+	content: '\f211';
+}
+.fa-leanpub:before {
+	content: '\f212';
+}
+.fa-sellsy:before {
+	content: '\f213';
+}
+.fa-shirtsinbulk:before {
+	content: '\f214';
+}
+.fa-simplybuilt:before {
+	content: '\f215';
+}
+.fa-skyatlas:before {
+	content: '\f216';
+}
+.fa-cart-plus:before {
+	content: '\f217';
+}
+.fa-cart-arrow-down:before {
+	content: '\f218';
+}
+.fa-diamond:before {
+	content: '\f219';
+}
+.fa-ship:before {
+	content: '\f21a';
+}
+.fa-user-secret:before {
+	content: '\f21b';
+}
+.fa-motorcycle:before {
+	content: '\f21c';
+}
+.fa-street-view:before {
+	content: '\f21d';
+}
+.fa-heartbeat:before {
+	content: '\f21e';
+}
+.fa-venus:before {
+	content: '\f221';
+}
+.fa-mars:before {
+	content: '\f222';
+}
+.fa-mercury:before {
+	content: '\f223';
+}
+.fa-intersex:before,
+.fa-transgender:before {
+	content: '\f224';
+}
+.fa-transgender-alt:before {
+	content: '\f225';
+}
+.fa-venus-double:before {
+	content: '\f226';
+}
+.fa-mars-double:before {
+	content: '\f227';
+}
+.fa-venus-mars:before {
+	content: '\f228';
+}
+.fa-mars-stroke:before {
+	content: '\f229';
+}
+.fa-mars-stroke-v:before {
+	content: '\f22a';
+}
+.fa-mars-stroke-h:before {
+	content: '\f22b';
+}
+.fa-neuter:before {
+	content: '\f22c';
+}
+.fa-genderless:before {
+	content: '\f22d';
+}
+.fa-facebook-official:before {
+	content: '\f230';
+}
+.fa-pinterest-p:before {
+	content: '\f231';
+}
+.fa-whatsapp:before {
+	content: '\f232';
+}
+.fa-server:before {
+	content: '\f233';
+}
+.fa-user-plus:before {
+	content: '\f234';
+}
+.fa-user-times:before {
+	content: '\f235';
+}
+.fa-hotel:before,
+.fa-bed:before {
+	content: '\f236';
+}
+.fa-viacoin:before {
+	content: '\f237';
+}
+.fa-train:before {
+	content: '\f238';
+}
+.fa-subway:before {
+	content: '\f239';
+}
+.fa-medium:before {
+	content: '\f23a';
+}
+.fa-yc:before,
+.fa-y-combinator:before {
+	content: '\f23b';
+}
+.fa-optin-monster:before {
+	content: '\f23c';
+}
+.fa-opencart:before {
+	content: '\f23d';
+}
+.fa-expeditedssl:before {
+	content: '\f23e';
+}
+.fa-battery-4:before,
+.fa-battery:before,
+.fa-battery-full:before {
+	content: '\f240';
+}
+.fa-battery-3:before,
+.fa-battery-three-quarters:before {
+	content: '\f241';
+}
+.fa-battery-2:before,
+.fa-battery-half:before {
+	content: '\f242';
+}
+.fa-battery-1:before,
+.fa-battery-quarter:before {
+	content: '\f243';
+}
+.fa-battery-0:before,
+.fa-battery-empty:before {
+	content: '\f244';
+}
+.fa-mouse-pointer:before {
+	content: '\f245';
+}
+.fa-i-cursor:before {
+	content: '\f246';
+}
+.fa-object-group:before {
+	content: '\f247';
+}
+.fa-object-ungroup:before {
+	content: '\f248';
+}
+.fa-sticky-note:before {
+	content: '\f249';
+}
+.fa-sticky-note-o:before {
+	content: '\f24a';
+}
+.fa-cc-jcb:before {
+	content: '\f24b';
+}
+.fa-cc-diners-club:before {
+	content: '\f24c';
+}
+.fa-clone:before {
+	content: '\f24d';
+}
+.fa-balance-scale:before {
+	content: '\f24e';
+}
+.fa-hourglass-o:before {
+	content: '\f250';
+}
+.fa-hourglass-1:before,
+.fa-hourglass-start:before {
+	content: '\f251';
+}
+.fa-hourglass-2:before,
+.fa-hourglass-half:before {
+	content: '\f252';
+}
+.fa-hourglass-3:before,
+.fa-hourglass-end:before {
+	content: '\f253';
+}
+.fa-hourglass:before {
+	content: '\f254';
+}
+.fa-hand-grab-o:before,
+.fa-hand-rock-o:before {
+	content: '\f255';
+}
+.fa-hand-stop-o:before,
+.fa-hand-paper-o:before {
+	content: '\f256';
+}
+.fa-hand-scissors-o:before {
+	content: '\f257';
+}
+.fa-hand-lizard-o:before {
+	content: '\f258';
+}
+.fa-hand-spock-o:before {
+	content: '\f259';
+}
+.fa-hand-pointer-o:before {
+	content: '\f25a';
+}
+.fa-hand-peace-o:before {
+	content: '\f25b';
+}
+.fa-trademark:before {
+	content: '\f25c';
+}
+.fa-registered:before {
+	content: '\f25d';
+}
+.fa-creative-commons:before {
+	content: '\f25e';
+}
+.fa-gg:before {
+	content: '\f260';
+}
+.fa-gg-circle:before {
+	content: '\f261';
+}
+.fa-tripadvisor:before {
+	content: '\f262';
+}
+.fa-odnoklassniki:before {
+	content: '\f263';
+}
+.fa-odnoklassniki-square:before {
+	content: '\f264';
+}
+.fa-get-pocket:before {
+	content: '\f265';
+}
+.fa-wikipedia-w:before {
+	content: '\f266';
+}
+.fa-safari:before {
+	content: '\f267';
+}
+.fa-chrome:before {
+	content: '\f268';
+}
+.fa-firefox:before {
+	content: '\f269';
+}
+.fa-opera:before {
+	content: '\f26a';
+}
+.fa-internet-explorer:before {
+	content: '\f26b';
+}
+.fa-tv:before,
+.fa-television:before {
+	content: '\f26c';
+}
+.fa-contao:before {
+	content: '\f26d';
+}
+.fa-500px:before {
+	content: '\f26e';
+}
+.fa-amazon:before {
+	content: '\f270';
+}
+.fa-calendar-plus-o:before {
+	content: '\f271';
+}
+.fa-calendar-minus-o:before {
+	content: '\f272';
+}
+.fa-calendar-times-o:before {
+	content: '\f273';
+}
+.fa-calendar-check-o:before {
+	content: '\f274';
+}
+.fa-industry:before {
+	content: '\f275';
+}
+.fa-map-pin:before {
+	content: '\f276';
+}
+.fa-map-signs:before {
+	content: '\f277';
+}
+.fa-map-o:before {
+	content: '\f278';
+}
+.fa-map:before {
+	content: '\f279';
+}
+.fa-commenting:before {
+	content: '\f27a';
+}
+.fa-commenting-o:before {
+	content: '\f27b';
+}
+.fa-houzz:before {
+	content: '\f27c';
+}
+.fa-vimeo:before {
+	content: '\f27d';
+}
+.fa-black-tie:before {
+	content: '\f27e';
+}
+.fa-fonticons:before {
+	content: '\f280';
+}
+.fa-reddit-alien:before {
+	content: '\f281';
+}
+.fa-edge:before {
+	content: '\f282';
+}
+.fa-credit-card-alt:before {
+	content: '\f283';
+}
+.fa-codiepie:before {
+	content: '\f284';
+}
+.fa-modx:before {
+	content: '\f285';
+}
+.fa-fort-awesome:before {
+	content: '\f286';
+}
+.fa-usb:before {
+	content: '\f287';
+}
+.fa-product-hunt:before {
+	content: '\f288';
+}
+.fa-mixcloud:before {
+	content: '\f289';
+}
+.fa-scribd:before {
+	content: '\f28a';
+}
+.fa-pause-circle:before {
+	content: '\f28b';
+}
+.fa-pause-circle-o:before {
+	content: '\f28c';
+}
+.fa-stop-circle:before {
+	content: '\f28d';
+}
+.fa-stop-circle-o:before {
+	content: '\f28e';
+}
+.fa-shopping-bag:before {
+	content: '\f290';
+}
+.fa-shopping-basket:before {
+	content: '\f291';
+}
+.fa-hashtag:before {
+	content: '\f292';
+}
+.fa-bluetooth:before {
+	content: '\f293';
+}
+.fa-bluetooth-b:before {
+	content: '\f294';
+}
+.fa-percent:before {
+	content: '\f295';
+}
+.fa-gitlab:before {
+	content: '\f296';
+}
+.fa-wpbeginner:before {
+	content: '\f297';
+}
+.fa-wpforms:before {
+	content: '\f298';
+}
+.fa-envira:before {
+	content: '\f299';
+}
+.fa-universal-access:before {
+	content: '\f29a';
+}
+.fa-wheelchair-alt:before {
+	content: '\f29b';
+}
+.fa-question-circle-o:before {
+	content: '\f29c';
+}
+.fa-blind:before {
+	content: '\f29d';
+}
+.fa-audio-description:before {
+	content: '\f29e';
+}
+.fa-volume-control-phone:before {
+	content: '\f2a0';
+}
+.fa-braille:before {
+	content: '\f2a1';
+}
+.fa-assistive-listening-systems:before {
+	content: '\f2a2';
+}
+.fa-asl-interpreting:before,
+.fa-american-sign-language-interpreting:before {
+	content: '\f2a3';
+}
+.fa-deafness:before,
+.fa-hard-of-hearing:before,
+.fa-deaf:before {
+	content: '\f2a4';
+}
+.fa-glide:before {
+	content: '\f2a5';
+}
+.fa-glide-g:before {
+	content: '\f2a6';
+}
+.fa-signing:before,
+.fa-sign-language:before {
+	content: '\f2a7';
+}
+.fa-low-vision:before {
+	content: '\f2a8';
+}
+.fa-viadeo:before {
+	content: '\f2a9';
+}
+.fa-viadeo-square:before {
+	content: '\f2aa';
+}
+.fa-snapchat:before {
+	content: '\f2ab';
+}
+.fa-snapchat-ghost:before {
+	content: '\f2ac';
+}
+.fa-snapchat-square:before {
+	content: '\f2ad';
+}
+.fa-pied-piper:before {
+	content: '\f2ae';
+}
+.fa-first-order:before {
+	content: '\f2b0';
+}
+.fa-yoast:before {
+	content: '\f2b1';
+}
+.fa-themeisle:before {
+	content: '\f2b2';
+}
+.fa-google-plus-circle:before,
+.fa-google-plus-official:before {
+	content: '\f2b3';
+}
+.fa-fa:before,
+.fa-font-awesome:before {
+	content: '\f2b4';
+}
+.fa-handshake-o:before {
+	content: '\f2b5';
+}
+.fa-envelope-open:before {
+	content: '\f2b6';
+}
+.fa-envelope-open-o:before {
+	content: '\f2b7';
+}
+.fa-linode:before {
+	content: '\f2b8';
+}
+.fa-address-book:before {
+	content: '\f2b9';
+}
+.fa-address-book-o:before {
+	content: '\f2ba';
+}
+.fa-vcard:before,
+.fa-address-card:before {
+	content: '\f2bb';
+}
+.fa-vcard-o:before,
+.fa-address-card-o:before {
+	content: '\f2bc';
+}
+.fa-user-circle:before {
+	content: '\f2bd';
+}
+.fa-user-circle-o:before {
+	content: '\f2be';
+}
+.fa-user-o:before {
+	content: '\f2c0';
+}
+.fa-id-badge:before {
+	content: '\f2c1';
+}
+.fa-drivers-license:before,
+.fa-id-card:before {
+	content: '\f2c2';
+}
+.fa-drivers-license-o:before,
+.fa-id-card-o:before {
+	content: '\f2c3';
+}
+.fa-quora:before {
+	content: '\f2c4';
+}
+.fa-free-code-camp:before {
+	content: '\f2c5';
+}
+.fa-telegram:before {
+	content: '\f2c6';
+}
+.fa-thermometer-4:before,
+.fa-thermometer:before,
+.fa-thermometer-full:before {
+	content: '\f2c7';
+}
+.fa-thermometer-3:before,
+.fa-thermometer-three-quarters:before {
+	content: '\f2c8';
+}
+.fa-thermometer-2:before,
+.fa-thermometer-half:before {
+	content: '\f2c9';
+}
+.fa-thermometer-1:before,
+.fa-thermometer-quarter:before {
+	content: '\f2ca';
+}
+.fa-thermometer-0:before,
+.fa-thermometer-empty:before {
+	content: '\f2cb';
+}
+.fa-shower:before {
+	content: '\f2cc';
+}
+.fa-bathtub:before,
+.fa-s15:before,
+.fa-bath:before {
+	content: '\f2cd';
+}
+.fa-podcast:before {
+	content: '\f2ce';
+}
+.fa-window-maximize:before {
+	content: '\f2d0';
+}
+.fa-window-minimize:before {
+	content: '\f2d1';
+}
+.fa-window-restore:before {
+	content: '\f2d2';
+}
+.fa-times-rectangle:before,
+.fa-window-close:before {
+	content: '\f2d3';
+}
+.fa-times-rectangle-o:before,
+.fa-window-close-o:before {
+	content: '\f2d4';
+}
+.fa-bandcamp:before {
+	content: '\f2d5';
+}
+.fa-grav:before {
+	content: '\f2d6';
+}
+.fa-etsy:before {
+	content: '\f2d7';
+}
+.fa-imdb:before {
+	content: '\f2d8';
+}
+.fa-ravelry:before {
+	content: '\f2d9';
+}
+.fa-eercast:before {
+	content: '\f2da';
+}
+.fa-microchip:before {
+	content: '\f2db';
+}
+.fa-snowflake-o:before {
+	content: '\f2dc';
+}
+.fa-superpowers:before {
+	content: '\f2dd';
+}
+.fa-wpexplorer:before {
+	content: '\f2de';
+}
+.fa-meetup:before {
+	content: '\f2e0';
+}
+.sr-only {
+	position: absolute;
+	width: 1px;
+	height: 1px;
+	padding: 0;
+	margin: -1px;
+	overflow: hidden;
+	clip: rect(0, 0, 0, 0);
+	border: 0;
+}
+.sr-only-focusable:active,
+.sr-only-focusable:focus {
+	position: static;
+	width: auto;
+	height: auto;
+	margin: 0;
+	overflow: visible;
+	clip: auto;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/font-awesome.ts b/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/font-awesome.ts
new file mode 100644
index 0000000..1545c61
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/font-awesome.ts
@@ -0,0 +1,788 @@
+export const fontAwesomeClassList: Array<string> = [
+	'fa-glass',
+	'fa-music',
+	'fa-search',
+	'fa-envelope-o',
+	'fa-heart',
+	'fa-star',
+	'fa-star-o',
+	'fa-user',
+	'fa-film',
+	'fa-th-large',
+	'fa-th',
+	'fa-th-list',
+	'fa-check',
+	'fa-remove',
+	'fa-close',
+	'fa-times',
+	'fa-search-plus',
+	'fa-search-minus',
+	'fa-power-off',
+	'fa-signal',
+	'fa-gear',
+	'fa-cog',
+	'fa-trash-o',
+	'fa-home',
+	'fa-file-o',
+	'fa-clock-o',
+	'fa-road',
+	'fa-download',
+	'fa-arrow-circle-o-down',
+	'fa-arrow-circle-o-up',
+	'fa-inbox',
+	'fa-play-circle-o',
+	'fa-rotate-right',
+	'fa-repeat',
+	'fa-refresh',
+	'fa-list-alt',
+	'fa-lock',
+	'fa-flag',
+	'fa-headphones',
+	'fa-volume-off',
+	'fa-volume-down',
+	'fa-volume-up',
+	'fa-qrcode',
+	'fa-barcode',
+	'fa-tag',
+	'fa-tags',
+	'fa-book',
+	'fa-bookmark',
+	'fa-print',
+	'fa-camera',
+	'fa-font',
+	'fa-bold',
+	'fa-italic',
+	'fa-text-height',
+	'fa-text-width',
+	'fa-align-left',
+	'fa-align-center',
+	'fa-align-right',
+	'fa-align-justify',
+	'fa-list',
+	'fa-dedent',
+	'fa-outdent',
+	'fa-indent',
+	'fa-video-camera',
+	'fa-photo',
+	'fa-image',
+	'fa-picture-o',
+	'fa-pencil',
+	'fa-map-marker',
+	'fa-adjust',
+	'fa-tint',
+	'fa-edit',
+	'fa-pencil-square-o',
+	'fa-share-square-o',
+	'fa-check-square-o',
+	'fa-arrows',
+	'fa-step-backward',
+	'fa-fast-backward',
+	'fa-backward',
+	'fa-play',
+	'fa-pause',
+	'fa-stop',
+	'fa-forward',
+	'fa-fast-forward',
+	'fa-step-forward',
+	'fa-eject',
+	'fa-chevron-left',
+	'fa-chevron-right',
+	'fa-plus-circle',
+	'fa-minus-circle',
+	'fa-times-circle',
+	'fa-check-circle',
+	'fa-question-circle',
+	'fa-info-circle',
+	'fa-crosshairs',
+	'fa-times-circle-o',
+	'fa-check-circle-o',
+	'fa-ban',
+	'fa-arrow-left',
+	'fa-arrow-right',
+	'fa-arrow-up',
+	'fa-arrow-down',
+	'fa-mail-forward',
+	'fa-share',
+	'fa-expand',
+	'fa-compress',
+	'fa-plus',
+	'fa-minus',
+	'fa-asterisk',
+	'fa-exclamation-circle',
+	'fa-gift',
+	'fa-leaf',
+	'fa-fire',
+	'fa-eye',
+	'fa-eye-slash',
+	'fa-warning',
+	'fa-exclamation-triangle',
+	'fa-plane',
+	'fa-calendar',
+	'fa-random',
+	'fa-comment',
+	'fa-magnet',
+	'fa-chevron-up',
+	'fa-chevron-down',
+	'fa-retweet',
+	'fa-shopping-cart',
+	'fa-folder',
+	'fa-folder-open',
+	'fa-arrows-v',
+	'fa-arrows-h',
+	'fa-bar-chart-o',
+	'fa-bar-chart',
+	'fa-twitter-square',
+	'fa-facebook-square',
+	'fa-camera-retro',
+	'fa-key',
+	'fa-gears',
+	'fa-cogs',
+	'fa-comments',
+	'fa-thumbs-o-up',
+	'fa-thumbs-o-down',
+	'fa-star-half',
+	'fa-heart-o',
+	'fa-sign-out',
+	'fa-linkedin-square',
+	'fa-thumb-tack',
+	'fa-external-link',
+	'fa-sign-in',
+	'fa-trophy',
+	'fa-github-square',
+	'fa-upload',
+	'fa-lemon-o',
+	'fa-phone',
+	'fa-square-o',
+	'fa-bookmark-o',
+	'fa-phone-square',
+	'fa-twitter',
+	'fa-facebook-f',
+	'fa-facebook',
+	'fa-github',
+	'fa-unlock',
+	'fa-credit-card',
+	'fa-feed',
+	'fa-rss',
+	'fa-hdd-o',
+	'fa-bullhorn',
+	'fa-bell',
+	'fa-certificate',
+	'fa-hand-o-right',
+	'fa-hand-o-left',
+	'fa-hand-o-up',
+	'fa-hand-o-down',
+	'fa-arrow-circle-left',
+	'fa-arrow-circle-right',
+	'fa-arrow-circle-up',
+	'fa-arrow-circle-down',
+	'fa-globe',
+	'fa-wrench',
+	'fa-tasks',
+	'fa-filter',
+	'fa-briefcase',
+	'fa-arrows-alt',
+	'fa-group',
+	'fa-users',
+	'fa-chain',
+	'fa-link',
+	'fa-cloud',
+	'fa-flask',
+	'fa-cut',
+	'fa-scissors',
+	'fa-copy',
+	'fa-files-o',
+	'fa-paperclip',
+	'fa-save',
+	'fa-floppy-o',
+	'fa-square',
+	'fa-navicon',
+	'fa-reorder',
+	'fa-bars',
+	'fa-list-ul',
+	'fa-list-ol',
+	'fa-strikethrough',
+	'fa-underline',
+	'fa-table',
+	'fa-magic',
+	'fa-truck',
+	'fa-pinterest',
+	'fa-pinterest-square',
+	'fa-google-plus-square',
+	'fa-google-plus',
+	'fa-money',
+	'fa-caret-down',
+	'fa-caret-up',
+	'fa-caret-left',
+	'fa-caret-right',
+	'fa-columns',
+	'fa-unsorted',
+	'fa-sort',
+	'fa-sort-down',
+	'fa-sort-desc',
+	'fa-sort-up',
+	'fa-sort-asc',
+	'fa-envelope',
+	'fa-linkedin',
+	'fa-rotate-left',
+	'fa-undo',
+	'fa-legal',
+	'fa-gavel',
+	'fa-dashboard',
+	'fa-tachometer',
+	'fa-comment-o',
+	'fa-comments-o',
+	'fa-flash',
+	'fa-bolt',
+	'fa-sitemap',
+	'fa-umbrella',
+	'fa-paste',
+	'fa-clipboard',
+	'fa-lightbulb-o',
+	'fa-exchange',
+	'fa-cloud-download',
+	'fa-cloud-upload',
+	'fa-user-md',
+	'fa-stethoscope',
+	'fa-suitcase',
+	'fa-bell-o',
+	'fa-coffee',
+	'fa-cutlery',
+	'fa-file-text-o',
+	'fa-building-o',
+	'fa-hospital-o',
+	'fa-ambulance',
+	'fa-medkit',
+	'fa-fighter-jet',
+	'fa-beer',
+	'fa-h-square',
+	'fa-plus-square',
+	'fa-angle-double-left',
+	'fa-angle-double-right',
+	'fa-angle-double-up',
+	'fa-angle-double-down',
+	'fa-angle-left',
+	'fa-angle-right',
+	'fa-angle-up',
+	'fa-angle-down',
+	'fa-desktop',
+	'fa-laptop',
+	'fa-tablet',
+	'fa-mobile-phone',
+	'fa-mobile',
+	'fa-circle-o',
+	'fa-quote-left',
+	'fa-quote-right',
+	'fa-spinner',
+	'fa-circle',
+	'fa-mail-reply',
+	'fa-reply',
+	'fa-github-alt',
+	'fa-folder-o',
+	'fa-folder-open-o',
+	'fa-smile-o',
+	'fa-frown-o',
+	'fa-meh-o',
+	'fa-gamepad',
+	'fa-keyboard-o',
+	'fa-flag-o',
+	'fa-flag-checkered',
+	'fa-terminal',
+	'fa-code',
+	'fa-mail-reply-all',
+	'fa-reply-all',
+	'fa-star-half-empty',
+	'fa-star-half-full',
+	'fa-star-half-o',
+	'fa-location-arrow',
+	'fa-crop',
+	'fa-code-fork',
+	'fa-unlink',
+	'fa-chain-broken',
+	'fa-question',
+	'fa-info',
+	'fa-exclamation',
+	'fa-superscript',
+	'fa-subscript',
+	'fa-eraser',
+	'fa-puzzle-piece',
+	'fa-microphone',
+	'fa-microphone-slash',
+	'fa-shield',
+	'fa-calendar-o',
+	'fa-fire-extinguisher',
+	'fa-rocket',
+	'fa-maxcdn',
+	'fa-chevron-circle-left',
+	'fa-chevron-circle-right',
+	'fa-chevron-circle-up',
+	'fa-chevron-circle-down',
+	'fa-html5',
+	'fa-css3',
+	'fa-anchor',
+	'fa-unlock-alt',
+	'fa-bullseye',
+	'fa-ellipsis-h',
+	'fa-ellipsis-v',
+	'fa-rss-square',
+	'fa-play-circle',
+	'fa-ticket',
+	'fa-minus-square',
+	'fa-minus-square-o',
+	'fa-level-up',
+	'fa-level-down',
+	'fa-check-square',
+	'fa-pencil-square',
+	'fa-external-link-square',
+	'fa-share-square',
+	'fa-compass',
+	'fa-toggle-down',
+	'fa-caret-square-o-down',
+	'fa-toggle-up',
+	'fa-caret-square-o-up',
+	'fa-toggle-right',
+	'fa-caret-square-o-right',
+	'fa-euro',
+	'fa-eur',
+	'fa-gbp',
+	'fa-dollar',
+	'fa-usd',
+	'fa-rupee',
+	'fa-inr',
+	'fa-cny',
+	'fa-rmb',
+	'fa-yen',
+	'fa-jpy',
+	'fa-ruble',
+	'fa-rouble',
+	'fa-rub',
+	'fa-won',
+	'fa-krw',
+	'fa-bitcoin',
+	'fa-btc',
+	'fa-file',
+	'fa-file-text',
+	'fa-sort-alpha-asc',
+	'fa-sort-alpha-desc',
+	'fa-sort-amount-asc',
+	'fa-sort-amount-desc',
+	'fa-sort-numeric-asc',
+	'fa-sort-numeric-desc',
+	'fa-thumbs-up',
+	'fa-thumbs-down',
+	'fa-youtube-square',
+	'fa-youtube',
+	'fa-xing',
+	'fa-xing-square',
+	'fa-youtube-play',
+	'fa-dropbox',
+	'fa-stack-overflow',
+	'fa-instagram',
+	'fa-flickr',
+	'fa-adn',
+	'fa-bitbucket',
+	'fa-bitbucket-square',
+	'fa-tumblr',
+	'fa-tumblr-square',
+	'fa-long-arrow-down',
+	'fa-long-arrow-up',
+	'fa-long-arrow-left',
+	'fa-long-arrow-right',
+	'fa-apple',
+	'fa-windows',
+	'fa-android',
+	'fa-linux',
+	'fa-dribbble',
+	'fa-skype',
+	'fa-foursquare',
+	'fa-trello',
+	'fa-female',
+	'fa-male',
+	'fa-gittip',
+	'fa-gratipay',
+	'fa-sun-o',
+	'fa-moon-o',
+	'fa-archive',
+	'fa-bug',
+	'fa-vk',
+	'fa-weibo',
+	'fa-renren',
+	'fa-pagelines',
+	'fa-stack-exchange',
+	'fa-arrow-circle-o-right',
+	'fa-arrow-circle-o-left',
+	'fa-toggle-left',
+	'fa-caret-square-o-left',
+	'fa-dot-circle-o',
+	'fa-wheelchair',
+	'fa-vimeo-square',
+	'fa-turkish-lira',
+	'fa-try',
+	'fa-plus-square-o',
+	'fa-space-shuttle',
+	'fa-slack',
+	'fa-envelope-square',
+	'fa-wordpress',
+	'fa-openid',
+	'fa-institution',
+	'fa-bank',
+	'fa-university',
+	'fa-mortar-board',
+	'fa-graduation-cap',
+	'fa-yahoo',
+	'fa-google',
+	'fa-reddit',
+	'fa-reddit-square',
+	'fa-stumbleupon-circle',
+	'fa-stumbleupon',
+	'fa-delicious',
+	'fa-digg',
+	'fa-pied-piper-pp',
+	'fa-pied-piper-alt',
+	'fa-drupal',
+	'fa-joomla',
+	'fa-language',
+	'fa-fax',
+	'fa-building',
+	'fa-child',
+	'fa-paw',
+	'fa-spoon',
+	'fa-cube',
+	'fa-cubes',
+	'fa-behance',
+	'fa-behance-square',
+	'fa-steam',
+	'fa-steam-square',
+	'fa-recycle',
+	'fa-automobile',
+	'fa-car',
+	'fa-cab',
+	'fa-taxi',
+	'fa-tree',
+	'fa-spotify',
+	'fa-deviantart',
+	'fa-soundcloud',
+	'fa-database',
+	'fa-file-pdf-o',
+	'fa-file-word-o',
+	'fa-file-excel-o',
+	'fa-file-powerpoint-o',
+	'fa-file-photo-o',
+	'fa-file-picture-o',
+	'fa-file-image-o',
+	'fa-file-zip-o',
+	'fa-file-archive-o',
+	'fa-file-sound-o',
+	'fa-file-audio-o',
+	'fa-file-movie-o',
+	'fa-file-video-o',
+	'fa-file-code-o',
+	'fa-vine',
+	'fa-codepen',
+	'fa-jsfiddle',
+	'fa-life-bouy',
+	'fa-life-buoy',
+	'fa-life-saver',
+	'fa-support',
+	'fa-life-ring',
+	'fa-circle-o-notch',
+	'fa-ra',
+	'fa-resistance',
+	'fa-rebel',
+	'fa-ge',
+	'fa-empire',
+	'fa-git-square',
+	'fa-git',
+	'fa-y-combinator-square',
+	'fa-yc-square',
+	'fa-hacker-news',
+	'fa-tencent-weibo',
+	'fa-qq',
+	'fa-wechat',
+	'fa-weixin',
+	'fa-send',
+	'fa-paper-plane',
+	'fa-send-o',
+	'fa-paper-plane-o',
+	'fa-history',
+	'fa-circle-thin',
+	'fa-header',
+	'fa-paragraph',
+	'fa-sliders',
+	'fa-share-alt',
+	'fa-share-alt-square',
+	'fa-bomb',
+	'fa-soccer-ball-o',
+	'fa-futbol-o',
+	'fa-tty',
+	'fa-binoculars',
+	'fa-plug',
+	'fa-slideshare',
+	'fa-twitch',
+	'fa-yelp',
+	'fa-newspaper-o',
+	'fa-wifi',
+	'fa-calculator',
+	'fa-paypal',
+	'fa-google-wallet',
+	'fa-cc-visa',
+	'fa-cc-mastercard',
+	'fa-cc-discover',
+	'fa-cc-amex',
+	'fa-cc-paypal',
+	'fa-cc-stripe',
+	'fa-bell-slash',
+	'fa-bell-slash-o',
+	'fa-trash',
+	'fa-copyright',
+	'fa-at',
+	'fa-eyedropper',
+	'fa-paint-brush',
+	'fa-birthday-cake',
+	'fa-area-chart',
+	'fa-pie-chart',
+	'fa-line-chart',
+	'fa-lastfm',
+	'fa-lastfm-square',
+	'fa-toggle-off',
+	'fa-toggle-on',
+	'fa-bicycle',
+	'fa-bus',
+	'fa-ioxhost',
+	'fa-angellist',
+	'fa-cc',
+	'fa-shekel',
+	'fa-sheqel',
+	'fa-ils',
+	'fa-meanpath',
+	'fa-buysellads',
+	'fa-connectdevelop',
+	'fa-dashcube',
+	'fa-forumbee',
+	'fa-leanpub',
+	'fa-sellsy',
+	'fa-shirtsinbulk',
+	'fa-simplybuilt',
+	'fa-skyatlas',
+	'fa-cart-plus',
+	'fa-cart-arrow-down',
+	'fa-diamond',
+	'fa-ship',
+	'fa-user-secret',
+	'fa-motorcycle',
+	'fa-street-view',
+	'fa-heartbeat',
+	'fa-venus',
+	'fa-mars',
+	'fa-mercury',
+	'fa-intersex',
+	'fa-transgender',
+	'fa-transgender-alt',
+	'fa-venus-double',
+	'fa-mars-double',
+	'fa-venus-mars',
+	'fa-mars-stroke',
+	'fa-mars-stroke-v',
+	'fa-mars-stroke-h',
+	'fa-neuter',
+	'fa-genderless',
+	'fa-facebook-official',
+	'fa-pinterest-p',
+	'fa-whatsapp',
+	'fa-server',
+	'fa-user-plus',
+	'fa-user-times',
+	'fa-hotel',
+	'fa-bed',
+	'fa-viacoin',
+	'fa-train',
+	'fa-subway',
+	'fa-medium',
+	'fa-yc',
+	'fa-y-combinator',
+	'fa-optin-monster',
+	'fa-opencart',
+	'fa-expeditedssl',
+	'fa-battery-4',
+	'fa-battery',
+	'fa-battery-full',
+	'fa-battery-3',
+	'fa-battery-three-quarters',
+	'fa-battery-2',
+	'fa-battery-half',
+	'fa-battery-1',
+	'fa-battery-quarter',
+	'fa-battery-0',
+	'fa-battery-empty',
+	'fa-mouse-pointer',
+	'fa-i-cursor',
+	'fa-object-group',
+	'fa-object-ungroup',
+	'fa-sticky-note',
+	'fa-sticky-note-o',
+	'fa-cc-jcb',
+	'fa-cc-diners-club',
+	'fa-clone',
+	'fa-balance-scale',
+	'fa-hourglass-o',
+	'fa-hourglass-1',
+	'fa-hourglass-start',
+	'fa-hourglass-2',
+	'fa-hourglass-half',
+	'fa-hourglass-3',
+	'fa-hourglass-end',
+	'fa-hourglass',
+	'fa-hand-grab-o',
+	'fa-hand-rock-o',
+	'fa-hand-stop-o',
+	'fa-hand-paper-o',
+	'fa-hand-scissors-o',
+	'fa-hand-lizard-o',
+	'fa-hand-spock-o',
+	'fa-hand-pointer-o',
+	'fa-hand-peace-o',
+	'fa-trademark',
+	'fa-registered',
+	'fa-creative-commons',
+	'fa-gg',
+	'fa-gg-circle',
+	'fa-tripadvisor',
+	'fa-odnoklassniki',
+	'fa-odnoklassniki-square',
+	'fa-get-pocket',
+	'fa-wikipedia-w',
+	'fa-safari',
+	'fa-chrome',
+	'fa-firefox',
+	'fa-opera',
+	'fa-internet-explorer',
+	'fa-tv',
+	'fa-television',
+	'fa-contao',
+	'fa-500px',
+	'fa-amazon',
+	'fa-calendar-plus-o',
+	'fa-calendar-minus-o',
+	'fa-calendar-times-o',
+	'fa-calendar-check-o',
+	'fa-industry',
+	'fa-map-pin',
+	'fa-map-signs',
+	'fa-map-o',
+	'fa-map',
+	'fa-commenting',
+	'fa-commenting-o',
+	'fa-houzz',
+	'fa-vimeo',
+	'fa-black-tie',
+	'fa-fonticons',
+	'fa-reddit-alien',
+	'fa-edge',
+	'fa-credit-card-alt',
+	'fa-codiepie',
+	'fa-modx',
+	'fa-fort-awesome',
+	'fa-usb',
+	'fa-product-hunt',
+	'fa-mixcloud',
+	'fa-scribd',
+	'fa-pause-circle',
+	'fa-pause-circle-o',
+	'fa-stop-circle',
+	'fa-stop-circle-o',
+	'fa-shopping-bag',
+	'fa-shopping-basket',
+	'fa-hashtag',
+	'fa-bluetooth',
+	'fa-bluetooth-b',
+	'fa-percent',
+	'fa-gitlab',
+	'fa-wpbeginner',
+	'fa-wpforms',
+	'fa-envira',
+	'fa-universal-access',
+	'fa-wheelchair-alt',
+	'fa-question-circle-o',
+	'fa-blind',
+	'fa-audio-description',
+	'fa-volume-control-phone',
+	'fa-braille',
+	'fa-assistive-listening-systems',
+	'fa-asl-interpreting',
+	'fa-american-sign-language-interpreting',
+	'fa-deafness',
+	'fa-hard-of-hearing',
+	'fa-deaf',
+	'fa-glide',
+	'fa-glide-g',
+	'fa-signing',
+	'fa-sign-language',
+	'fa-low-vision',
+	'fa-viadeo',
+	'fa-viadeo-square',
+	'fa-snapchat',
+	'fa-snapchat-ghost',
+	'fa-snapchat-square',
+	'fa-pied-piper',
+	'fa-first-order',
+	'fa-yoast',
+	'fa-themeisle',
+	'fa-google-plus-circle',
+	'fa-google-plus-official',
+	'fa-fa',
+	'fa-font-awesome',
+	'fa-handshake-o',
+	'fa-envelope-open',
+	'fa-envelope-open-o',
+	'fa-linode',
+	'fa-address-book',
+	'fa-address-book-o',
+	'fa-vcard',
+	'fa-address-card',
+	'fa-vcard-o',
+	'fa-address-card-o',
+	'fa-user-circle',
+	'fa-user-circle-o',
+	'fa-user-o',
+	'fa-id-badge',
+	'fa-drivers-license',
+	'fa-id-card',
+	'fa-drivers-license-o',
+	'fa-id-card-o',
+	'fa-quora',
+	'fa-free-code-camp',
+	'fa-telegram',
+	'fa-thermometer-4',
+	'fa-thermometer',
+	'fa-thermometer-full',
+	'fa-thermometer-3',
+	'fa-thermometer-three-quarters',
+	'fa-thermometer-2',
+	'fa-thermometer-half',
+	'fa-thermometer-1',
+	'fa-thermometer-quarter',
+	'fa-thermometer-0',
+	'fa-thermometer-empty',
+	'fa-shower',
+	'fa-bathtub',
+	'fa-s15',
+	'fa-bath',
+	'fa-podcast',
+	'fa-window-maximize',
+	'fa-window-minimize',
+	'fa-window-restore',
+	'fa-times-rectangle',
+	'fa-window-close',
+	'fa-times-rectangle-o',
+	'fa-window-close-o',
+	'fa-bandcamp',
+	'fa-grav',
+	'fa-etsy',
+	'fa-imdb',
+	'fa-ravelry',
+	'fa-eercast',
+	'fa-microchip',
+	'fa-snowflake-o',
+	'fa-superpowers',
+	'fa-wpexplorer',
+	'fa-meetup',
+];
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.eot b/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.eot
new file mode 100644
index 0000000..e9f60ca
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.eot
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.svg b/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.svg
new file mode 100644
index 0000000..855c845
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.svg
@@ -0,0 +1,2671 @@
+<?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>
+<metadata>
+Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016
+ By ,,,
+Copyright Dave Gandy 2016. All rights reserved.
+</metadata>
+<defs>
+<font id="FontAwesome" horiz-adv-x="1536" >
+  <font-face 
+    font-family="FontAwesome"
+    font-weight="400"
+    font-stretch="normal"
+    units-per-em="1792"
+    panose-1="0 0 0 0 0 0 0 0 0 0"
+    ascent="1536"
+    descent="-256"
+    bbox="-1.02083 -256.962 2304.6 1537.02"
+    underline-thickness="0"
+    underline-position="0"
+    unicode-range="U+0020-F500"
+  />
+<missing-glyph horiz-adv-x="896" 
+d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
+    <glyph glyph-name=".notdef" horiz-adv-x="896" 
+d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
+    <glyph glyph-name=".null" horiz-adv-x="0" 
+ />
+    <glyph glyph-name="nonmarkingreturn" horiz-adv-x="597" 
+ />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="448" 
+ />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="notequal" unicode="&#x2260;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="glass" unicode="&#xf000;" horiz-adv-x="1792" 
+d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
+    <glyph glyph-name="music" unicode="&#xf001;" 
+d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89
+t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="search" unicode="&#xf002;" horiz-adv-x="1664" 
+d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5
+t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
+    <glyph glyph-name="envelope" unicode="&#xf003;" horiz-adv-x="1792" 
+d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13
+t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z
+M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="heart" unicode="&#xf004;" horiz-adv-x="1792" 
+d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600
+q-18 -18 -44 -18z" />
+    <glyph glyph-name="star" unicode="&#xf005;" horiz-adv-x="1664" 
+d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455
+l502 -73q56 -9 56 -46z" />
+    <glyph glyph-name="star_empty" unicode="&#xf006;" horiz-adv-x="1664" 
+d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500
+l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
+    <glyph glyph-name="user" unicode="&#xf007;" horiz-adv-x="1280" 
+d="M1280 137q0 -109 -62.5 -187t-150.5 -78h-854q-88 0 -150.5 78t-62.5 187q0 85 8.5 160.5t31.5 152t58.5 131t94 89t134.5 34.5q131 -128 313 -128t313 128q76 0 134.5 -34.5t94 -89t58.5 -131t31.5 -152t8.5 -160.5zM1024 1024q0 -159 -112.5 -271.5t-271.5 -112.5
+t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="film" unicode="&#xf008;" horiz-adv-x="1920" 
+d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128
+q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45
+t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128
+q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19
+t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="th_large" unicode="&#xf009;" horiz-adv-x="1664" 
+d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38
+h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="th" unicode="&#xf00a;" horiz-adv-x="1792" 
+d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
+h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192
+q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="th_list" unicode="&#xf00b;" horiz-adv-x="1792" 
+d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
+h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="ok" unicode="&#xf00c;" horiz-adv-x="1792" 
+d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
+    <glyph glyph-name="remove" unicode="&#xf00d;" horiz-adv-x="1408" 
+d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68
+t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
+    <glyph glyph-name="zoom_in" unicode="&#xf00e;" horiz-adv-x="1664" 
+d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224
+q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5
+t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
+    <glyph glyph-name="zoom_out" unicode="&#xf010;" horiz-adv-x="1664" 
+d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z
+M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z
+" />
+    <glyph glyph-name="off" unicode="&#xf011;" 
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5
+t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
+    <glyph glyph-name="signal" unicode="&#xf012;" horiz-adv-x="1792" 
+d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
+v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="cog" unicode="&#xf013;" 
+d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38
+q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13
+l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22
+q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
+    <glyph glyph-name="trash" unicode="&#xf014;" horiz-adv-x="1408" 
+d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576
+q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832
+q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="home" unicode="&#xf015;" horiz-adv-x="1664" 
+d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5
+l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
+    <glyph glyph-name="file_alt" unicode="&#xf016;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+" />
+    <glyph glyph-name="time" unicode="&#xf017;" 
+d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="road" unicode="&#xf018;" horiz-adv-x="1920" 
+d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256
+q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
+    <glyph glyph-name="download_alt" unicode="&#xf019;" horiz-adv-x="1664" 
+d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136
+q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
+    <glyph glyph-name="download" unicode="&#xf01a;" 
+d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273
+t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="upload" unicode="&#xf01b;" 
+d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198
+t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="inbox" unicode="&#xf01c;" 
+d="M1023 576h316q-1 3 -2.5 8.5t-2.5 7.5l-212 496h-708l-212 -496q-1 -3 -2.5 -8.5t-2.5 -7.5h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552
+q25 -61 25 -123z" />
+    <glyph glyph-name="play_circle" unicode="&#xf01d;" 
+d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="repeat" unicode="&#xf01e;" 
+d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q15 0 25 -9
+l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
+    <glyph glyph-name="refresh" unicode="&#xf021;" 
+d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117
+q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5
+q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
+    <glyph glyph-name="list_alt" unicode="&#xf022;" horiz-adv-x="1792" 
+d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z
+M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5
+t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47
+t47 -113z" />
+    <glyph glyph-name="lock" unicode="&#xf023;" horiz-adv-x="1152" 
+d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="flag" unicode="&#xf024;" horiz-adv-x="1792" 
+d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48
+t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="headphones" unicode="&#xf025;" horiz-adv-x="1664" 
+d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78
+t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5
+t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
+    <glyph glyph-name="volume_off" unicode="&#xf026;" horiz-adv-x="768" 
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
+    <glyph glyph-name="volume_down" unicode="&#xf027;" horiz-adv-x="1152" 
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
+t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
+    <glyph glyph-name="volume_up" unicode="&#xf028;" horiz-adv-x="1664" 
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
+t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5
+t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289
+t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
+    <glyph glyph-name="qrcode" unicode="&#xf029;" horiz-adv-x="1408" 
+d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z
+M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
+    <glyph glyph-name="barcode" unicode="&#xf02a;" horiz-adv-x="1792" 
+d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z
+M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
+    <glyph glyph-name="tag" unicode="&#xf02b;" 
+d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
+l715 -714q37 -39 37 -91z" />
+    <glyph glyph-name="tags" unicode="&#xf02c;" horiz-adv-x="1920" 
+d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
+l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
+    <glyph glyph-name="book" unicode="&#xf02d;" horiz-adv-x="1664" 
+d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23
+q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906
+q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5
+t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
+    <glyph glyph-name="bookmark" unicode="&#xf02e;" horiz-adv-x="1280" 
+d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
+    <glyph glyph-name="print" unicode="&#xf02f;" horiz-adv-x="1664" 
+d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68
+v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
+    <glyph glyph-name="camera" unicode="&#xf030;" horiz-adv-x="1920" 
+d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136
+q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="font" unicode="&#xf031;" horiz-adv-x="1664" 
+d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57
+q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -5 -0.5 -13.5t-0.5 -12.5q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5
+q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" />
+    <glyph glyph-name="bold" unicode="&#xf032;" horiz-adv-x="1408" 
+d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142
+q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5
+t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68 -0.5t68 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5
+t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" />
+    <glyph glyph-name="italic" unicode="&#xf033;" horiz-adv-x="1024" 
+d="M0 -126l17 85q22 7 61.5 16.5t72 19t59.5 23.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5
+q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" />
+    <glyph glyph-name="text_height" unicode="&#xf034;" horiz-adv-x="1792" 
+d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2
+t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5
+q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
+q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" />
+    <glyph glyph-name="text_width" unicode="&#xf035;" 
+d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1
+t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
+q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5
+t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49
+t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" />
+    <glyph glyph-name="align_left" unicode="&#xf036;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45
+t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="align_center" unicode="&#xf037;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19
+h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="align_right" unicode="&#xf038;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
+t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="align_justify" unicode="&#xf039;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
+t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="list" unicode="&#xf03a;" horiz-adv-x="1792" 
+d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5
+t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344
+q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
+t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192
+q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="indent_left" unicode="&#xf03b;" horiz-adv-x="1792" 
+d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
+t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
+q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="indent_right" unicode="&#xf03c;" horiz-adv-x="1792" 
+d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
+t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
+q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="facetime_video" unicode="&#xf03d;" horiz-adv-x="1792" 
+d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5
+q39 -17 39 -59z" />
+    <glyph glyph-name="picture" unicode="&#xf03e;" horiz-adv-x="1920" 
+d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216
+q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="pencil" unicode="&#xf040;" 
+d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38
+q53 0 91 -38l235 -234q37 -39 37 -91z" />
+    <glyph glyph-name="map_marker" unicode="&#xf041;" horiz-adv-x="1024" 
+d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
+    <glyph glyph-name="adjust" unicode="&#xf042;" 
+d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="tint" unicode="&#xf043;" horiz-adv-x="1024" 
+d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362
+q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
+    <glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="1792" 
+d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
+q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92
+l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
+    <glyph glyph-name="share" unicode="&#xf045;" horiz-adv-x="1664" 
+d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832
+q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5
+t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
+    <glyph glyph-name="check" unicode="&#xf046;" horiz-adv-x="1664" 
+d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832
+q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110
+q24 -24 24 -57t-24 -57z" />
+    <glyph glyph-name="move" unicode="&#xf047;" horiz-adv-x="1792" 
+d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45
+t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
+    <glyph glyph-name="step_backward" unicode="&#xf048;" horiz-adv-x="1024" 
+d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19z" />
+    <glyph glyph-name="fast_backward" unicode="&#xf049;" horiz-adv-x="1792" 
+d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19l710 710
+q19 19 32 13t13 -32v-710q4 10 13 19z" />
+    <glyph glyph-name="backward" unicode="&#xf04a;" horiz-adv-x="1664" 
+d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q4 10 13 19z" />
+    <glyph glyph-name="play" unicode="&#xf04b;" horiz-adv-x="1408" 
+d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
+    <glyph glyph-name="pause" unicode="&#xf04c;" 
+d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="stop" unicode="&#xf04d;" 
+d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="forward" unicode="&#xf04e;" horiz-adv-x="1664" 
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
+    <glyph glyph-name="fast_forward" unicode="&#xf050;" horiz-adv-x="1792" 
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19l-710 -710
+q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
+    <glyph glyph-name="step_forward" unicode="&#xf051;" horiz-adv-x="1024" 
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19z" />
+    <glyph glyph-name="eject" unicode="&#xf052;" horiz-adv-x="1538" 
+d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
+    <glyph glyph-name="chevron_left" unicode="&#xf053;" horiz-adv-x="1280" 
+d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" />
+    <glyph glyph-name="chevron_right" unicode="&#xf054;" horiz-adv-x="1280" 
+d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" />
+    <glyph glyph-name="plus_sign" unicode="&#xf055;" 
+d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5
+t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="minus_sign" unicode="&#xf056;" 
+d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
+t103 -385.5z" />
+    <glyph glyph-name="remove_sign" unicode="&#xf057;" 
+d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19
+q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ok_sign" unicode="&#xf058;" 
+d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="question_sign" unicode="&#xf059;" 
+d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59
+q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="info_sign" unicode="&#xf05a;" 
+d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23
+t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="screenshot" unicode="&#xf05b;" 
+d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109
+q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143
+q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="remove_circle" unicode="&#xf05c;" 
+d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
+l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5
+t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ok_circle" unicode="&#xf05d;" 
+d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198
+t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ban_circle" unicode="&#xf05e;" 
+d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61
+t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
+    <glyph glyph-name="arrow_left" unicode="&#xf060;" 
+d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5
+t32.5 -90.5z" />
+    <glyph glyph-name="arrow_right" unicode="&#xf061;" 
+d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
+    <glyph glyph-name="arrow_up" unicode="&#xf062;" horiz-adv-x="1664" 
+d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651
+q37 -39 37 -91z" />
+    <glyph glyph-name="arrow_down" unicode="&#xf063;" horiz-adv-x="1664" 
+d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
+    <glyph glyph-name="share_alt" unicode="&#xf064;" horiz-adv-x="1792" 
+d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22
+t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
+    <glyph glyph-name="resize_full" unicode="&#xf065;" 
+d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332
+q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="resize_small" unicode="&#xf066;" 
+d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45
+t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
+    <glyph glyph-name="plus" unicode="&#xf067;" horiz-adv-x="1408" 
+d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="minus" unicode="&#xf068;" horiz-adv-x="1408" 
+d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="asterisk" unicode="&#xf069;" horiz-adv-x="1664" 
+d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154
+q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
+    <glyph glyph-name="exclamation_sign" unicode="&#xf06a;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192
+q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
+    <glyph glyph-name="gift" unicode="&#xf06b;" 
+d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320
+q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5
+t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="leaf" unicode="&#xf06c;" horiz-adv-x="1792" 
+d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268
+q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-43 0 -63.5 17.5t-45.5 59.5q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5
+t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
+    <glyph glyph-name="fire" unicode="&#xf06d;" horiz-adv-x="1408" 
+d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1
+q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
+    <glyph glyph-name="eye_open" unicode="&#xf06e;" horiz-adv-x="1792" 
+d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5
+t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
+    <glyph glyph-name="eye_close" unicode="&#xf070;" horiz-adv-x="1792" 
+d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9
+q-106 -189 -316 -567t-315 -566l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5
+q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z
+" />
+    <glyph glyph-name="warning_sign" unicode="&#xf071;" horiz-adv-x="1792" 
+d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185
+q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
+    <glyph glyph-name="plane" unicode="&#xf072;" horiz-adv-x="1408" 
+d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9
+q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
+    <glyph glyph-name="calendar" unicode="&#xf073;" horiz-adv-x="1664" 
+d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z
+M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64
+q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47
+h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="random" unicode="&#xf074;" horiz-adv-x="1792" 
+d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1
+t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5
+v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111
+t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
+    <glyph glyph-name="comment" unicode="&#xf075;" horiz-adv-x="1792" 
+d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281
+q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
+    <glyph glyph-name="magnet" unicode="&#xf076;" 
+d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384
+q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="chevron_up" unicode="&#xf077;" horiz-adv-x="1792" 
+d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" />
+    <glyph glyph-name="chevron_down" unicode="&#xf078;" horiz-adv-x="1792" 
+d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" />
+    <glyph glyph-name="retweet" unicode="&#xf079;" horiz-adv-x="1920" 
+d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -10 7 -21
+zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z
+" />
+    <glyph glyph-name="shopping_cart" unicode="&#xf07a;" horiz-adv-x="1664" 
+d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45
+t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="folder_close" unicode="&#xf07b;" horiz-adv-x="1664" 
+d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="folder_open" unicode="&#xf07c;" horiz-adv-x="1920" 
+d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5
+t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="resize_vertical" unicode="&#xf07d;" horiz-adv-x="768" 
+d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
+    <glyph glyph-name="resize_horizontal" unicode="&#xf07e;" horiz-adv-x="1792" 
+d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
+    <glyph glyph-name="bar_chart" unicode="&#xf080;" horiz-adv-x="2048" 
+d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />
+    <glyph glyph-name="twitter_sign" unicode="&#xf081;" 
+d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4
+q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5
+t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="facebook_sign" unicode="&#xf082;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960
+q0 119 84.5 203.5t203.5 84.5h960z" />
+    <glyph glyph-name="camera_retro" unicode="&#xf083;" horiz-adv-x="1792" 
+d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5
+t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280
+q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="key" unicode="&#xf084;" horiz-adv-x="1792" 
+d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26
+l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5
+t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
+    <glyph glyph-name="cogs" unicode="&#xf085;" horiz-adv-x="1920" 
+d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -11 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5
+l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7
+l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -8 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31
+q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20
+t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68
+q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70
+q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
+    <glyph glyph-name="comments" unicode="&#xf086;" horiz-adv-x="1792" 
+d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224
+q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7
+q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
+    <glyph glyph-name="thumbs_up_alt" unicode="&#xf087;" 
+d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5
+t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769
+q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128
+q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
+    <glyph glyph-name="thumbs_down_alt" unicode="&#xf088;" 
+d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 31 18 69q0 37 -17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5
+t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z
+M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5
+h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -73 49 -163z" />
+    <glyph glyph-name="star_half" unicode="&#xf089;" horiz-adv-x="896" 
+d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
+    <glyph glyph-name="heart_empty" unicode="&#xf08a;" horiz-adv-x="1792" 
+d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559
+q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5
+q224 0 351 -124t127 -344z" />
+    <glyph glyph-name="signout" unicode="&#xf08b;" horiz-adv-x="1664" 
+d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704
+q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
+    <glyph glyph-name="linkedin_sign" unicode="&#xf08c;" 
+d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5
+q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="pushpin" unicode="&#xf08d;" horiz-adv-x="1152" 
+d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38
+t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
+    <glyph glyph-name="external_link" unicode="&#xf08e;" horiz-adv-x="1792" 
+d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320
+q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="signin" unicode="&#xf090;" 
+d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5
+q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="trophy" unicode="&#xf091;" horiz-adv-x="1664" 
+d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91
+t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96
+q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="github_sign" unicode="&#xf092;" 
+d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4
+q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 95q-6 -1 -15.5 -2.5t-35.5 -2t-48 4
+t-43.5 20t-29.5 41.5q-23 59 -57 74q-2 1 -4.5 3.5l-8 8t-7 9.5t4 7.5t19.5 3.5q6 0 15 -2t30 -15.5t33 -35.5q16 -28 37.5 -42t43.5 -14t38 3.5t30 9.5q7 47 33 69q-49 6 -86 18.5t-73 39t-55.5 76t-19.5 119.5q0 79 53 137q-24 62 5 136q19 6 54.5 -7.5t60.5 -29.5l26 -16
+q58 17 128 17t128 -17q11 7 28.5 18t55.5 26t57 9q29 -74 5 -136q53 -58 53 -137q0 -57 -14 -100.5t-35.5 -70t-53.5 -44.5t-62.5 -26t-68.5 -12q35 -31 35 -95q0 -40 -0.5 -89t-0.5 -51q0 -12 8.5 -20t26.5 -5q154 52 252 185.5t98 300.5zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="upload_alt" unicode="&#xf093;" horiz-adv-x="1664" 
+d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92
+t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
+    <glyph glyph-name="lemon" unicode="&#xf094;" 
+d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5
+q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44
+q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5
+q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -13 2 -25t3.5 -16.5t7.5 -20.5t8 -20q16 -40 25 -118.5t9 -136.5z" />
+    <glyph glyph-name="phone" unicode="&#xf095;" horiz-adv-x="1408" 
+d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -53 3.5t-57.5 12.5t-47 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-127 79 -264 216t-216 264q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47t-12.5 57.5t-3.5 53q0 92 51 186
+q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174q2 -1 19 -11.5t24 -14
+t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
+    <glyph glyph-name="check_empty" unicode="&#xf096;" horiz-adv-x="1408" 
+d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
+q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="bookmark_empty" unicode="&#xf097;" horiz-adv-x="1280" 
+d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289
+q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
+    <glyph glyph-name="phone_sign" unicode="&#xf098;" 
+d="M1280 343q0 11 -2 16t-18 16.5t-40.5 25t-47.5 26.5t-45.5 25t-28.5 15q-5 3 -19 13t-25 15t-21 5q-15 0 -36.5 -20.5t-39.5 -45t-38.5 -45t-33.5 -20.5q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170 126.5t-127 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5
+t-3.5 16.5q0 13 20.5 33.5t45 38.5t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5
+t320.5 -216.5q6 -2 30 -11t33 -12.5t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z
+" />
+    <glyph glyph-name="twitter" unicode="&#xf099;" horiz-adv-x="1664" 
+d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41
+q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
+    <glyph glyph-name="facebook" unicode="&#xf09a;" horiz-adv-x="1024" 
+d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" />
+    <glyph glyph-name="github" unicode="&#xf09b;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24
+q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5
+t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -88.5t0.5 -54.5q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103zM291 305q3 7 -7 12
+q-10 3 -13 -2q-3 -7 7 -12q9 -6 13 2zM322 271q7 5 -2 16q-10 9 -16 3q-7 -5 2 -16q10 -10 16 -3zM352 226q9 7 0 19q-8 13 -17 6q-9 -5 0 -18t17 -7zM394 184q8 8 -4 19q-12 12 -20 3q-9 -8 4 -19q12 -12 20 -3zM451 159q3 11 -13 16q-15 4 -19 -7t13 -15q15 -6 19 6z
+M514 154q0 13 -17 11q-16 0 -16 -11q0 -13 17 -11q16 0 16 11zM572 164q-2 11 -18 9q-16 -3 -14 -15t18 -8t14 14z" />
+    <glyph glyph-name="unlock" unicode="&#xf09c;" horiz-adv-x="1664" 
+d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5
+t316.5 -131.5t131.5 -316.5z" />
+    <glyph glyph-name="credit_card" unicode="&#xf09d;" horiz-adv-x="1920" 
+d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608
+q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
+    <glyph glyph-name="rss" unicode="&#xf09e;" horiz-adv-x="1408" 
+d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5
+t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294
+q187 -186 294 -425.5t120 -501.5z" />
+    <glyph glyph-name="hdd" unicode="&#xf0a0;" 
+d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5
+h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75
+l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
+    <glyph glyph-name="bullhorn" unicode="&#xf0a1;" horiz-adv-x="1792" 
+d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5
+t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
+    <glyph glyph-name="bell" unicode="&#xf0a2;" horiz-adv-x="1792" 
+d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z
+M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5
+t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
+    <glyph glyph-name="certificate" unicode="&#xf0a3;" 
+d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70
+l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70
+l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
+    <glyph glyph-name="hand_right" unicode="&#xf0a4;" horiz-adv-x="1792" 
+d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106
+q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43
+q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5
+t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
+    <glyph glyph-name="hand_left" unicode="&#xf0a5;" horiz-adv-x="1792" 
+d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-8 9 -12 14q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576q-50 0 -89 -38.5
+t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45z
+M1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128q0 122 81.5 189t206.5 67
+q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="hand_up" unicode="&#xf0a6;" 
+d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576
+q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5
+t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76
+q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
+    <glyph glyph-name="hand_down" unicode="&#xf0a7;" 
+d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33
+t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580
+q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100
+q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
+    <glyph glyph-name="circle_arrow_left" unicode="&#xf0a8;" 
+d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="circle_arrow_right" unicode="&#xf0a9;" 
+d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="circle_arrow_up" unicode="&#xf0aa;" 
+d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="circle_arrow_down" unicode="&#xf0ab;" 
+d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="globe" unicode="&#xf0ac;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11
+q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 11t-9.5 10q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5
+q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5
+q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5
+t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-4 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3
+q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25
+q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5
+t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5
+t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10.5t17 -19.5q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21
+q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5
+q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3
+q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5
+t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q8 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5
+q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7
+q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
+    <glyph glyph-name="wrench" unicode="&#xf0ad;" horiz-adv-x="1664" 
+d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5
+t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
+    <glyph glyph-name="tasks" unicode="&#xf0ae;" horiz-adv-x="1792" 
+d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19
+t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="filter" unicode="&#xf0b0;" horiz-adv-x="1408" 
+d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
+    <glyph glyph-name="briefcase" unicode="&#xf0b1;" horiz-adv-x="1792" 
+d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68
+t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="fullscreen" unicode="&#xf0b2;" 
+d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144
+l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z
+" />
+    <glyph glyph-name="group" unicode="&#xf0c0;" horiz-adv-x="1920" 
+d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5
+t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75
+t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5
+t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
+    <glyph glyph-name="link" unicode="&#xf0c1;" horiz-adv-x="1664" 
+d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26
+l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15
+t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207
+q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
+    <glyph glyph-name="cloud" unicode="&#xf0c2;" horiz-adv-x="1920" 
+d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z
+" />
+    <glyph glyph-name="beaker" unicode="&#xf0c3;" horiz-adv-x="1664" 
+d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
+    <glyph glyph-name="cut" unicode="&#xf0c4;" horiz-adv-x="1792" 
+d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84
+q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148
+q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108
+q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6
+q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
+    <glyph glyph-name="copy" unicode="&#xf0c5;" horiz-adv-x="1792" 
+d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299
+h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
+    <glyph glyph-name="paper_clip" unicode="&#xf0c6;" horiz-adv-x="1408" 
+d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181
+l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235
+z" />
+    <glyph glyph-name="save" unicode="&#xf0c7;" 
+d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5
+h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
+    <glyph glyph-name="sign_blank" unicode="&#xf0c8;" 
+d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="reorder" unicode="&#xf0c9;" 
+d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45
+t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="ul" unicode="&#xf0ca;" horiz-adv-x="1792" 
+d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
+t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z
+M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="ol" unicode="&#xf0cb;" horiz-adv-x="1792" 
+d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362
+q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5
+t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 121.5t0.5 121.5v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216
+q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="strikethrough" unicode="&#xf0cc;" horiz-adv-x="1792" 
+d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 98 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6
+l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -56 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23
+l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
+    <glyph glyph-name="underline" unicode="&#xf0cd;" 
+d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47
+q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41
+q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472
+q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
+    <glyph glyph-name="table" unicode="&#xf0ce;" horiz-adv-x="1664" 
+d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23
+v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192
+q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192
+q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113
+z" />
+    <glyph glyph-name="magic" unicode="&#xf0d0;" horiz-adv-x="1664" 
+d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276
+l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
+    <glyph glyph-name="truck" unicode="&#xf0d1;" horiz-adv-x="1792" 
+d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5
+t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38
+t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="pinterest" unicode="&#xf0d2;" 
+d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134
+q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33
+q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="pinterest_sign" unicode="&#xf0d3;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5
+t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5
+t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
+    <glyph glyph-name="google_plus_sign" unicode="&#xf0d4;" 
+d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585
+h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="google_plus" unicode="&#xf0d5;" horiz-adv-x="2304" 
+d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62
+q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" />
+    <glyph glyph-name="money" unicode="&#xf0d6;" horiz-adv-x="1920" 
+d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384
+v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="caret_down" unicode="&#xf0d7;" horiz-adv-x="1024" 
+d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="caret_up" unicode="&#xf0d8;" horiz-adv-x="1024" 
+d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="caret_left" unicode="&#xf0d9;" horiz-adv-x="640" 
+d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
+    <glyph glyph-name="caret_right" unicode="&#xf0da;" horiz-adv-x="640" 
+d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="columns" unicode="&#xf0db;" horiz-adv-x="1664" 
+d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="sort" unicode="&#xf0dc;" horiz-adv-x="1024" 
+d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="sort_down" unicode="&#xf0dd;" horiz-adv-x="1024" 
+d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="sort_up" unicode="&#xf0de;" horiz-adv-x="1024" 
+d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="envelope_alt" unicode="&#xf0e0;" horiz-adv-x="1792" 
+d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123
+q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
+    <glyph glyph-name="linkedin" unicode="&#xf0e1;" 
+d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329
+q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
+    <glyph glyph-name="undo" unicode="&#xf0e2;" 
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
+t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
+    <glyph glyph-name="legal" unicode="&#xf0e3;" horiz-adv-x="1792" 
+d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5
+t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14
+q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28
+q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
+    <glyph glyph-name="dashboard" unicode="&#xf0e4;" horiz-adv-x="1792" 
+d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5
+t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5
+t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29
+q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="comment_alt" unicode="&#xf0e5;" horiz-adv-x="1792" 
+d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640
+q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5
+t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
+    <glyph glyph-name="comments_alt" unicode="&#xf0e6;" horiz-adv-x="1792" 
+d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257
+t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5
+t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129
+q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
+    <glyph glyph-name="bolt" unicode="&#xf0e7;" horiz-adv-x="896" 
+d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
+    <glyph glyph-name="sitemap" unicode="&#xf0e8;" horiz-adv-x="1792" 
+d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320
+q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68
+z" />
+    <glyph glyph-name="umbrella" unicode="&#xf0e9;" horiz-adv-x="1664" 
+d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97
+q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69
+q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
+    <glyph glyph-name="paste" unicode="&#xf0ea;" horiz-adv-x="1792" 
+d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28
+h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
+    <glyph glyph-name="light_bulb" unicode="&#xf0eb;" horiz-adv-x="1024" 
+d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134
+q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47
+q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5
+t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
+    <glyph glyph-name="exchange" unicode="&#xf0ec;" horiz-adv-x="1792" 
+d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9
+q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
+    <glyph glyph-name="cloud_download" unicode="&#xf0ed;" horiz-adv-x="1920" 
+d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
+q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
+    <glyph glyph-name="cloud_upload" unicode="&#xf0ee;" horiz-adv-x="1920" 
+d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
+q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
+    <glyph glyph-name="user_md" unicode="&#xf0f0;" horiz-adv-x="1408" 
+d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56
+t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68
+t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
+t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="stethoscope" unicode="&#xf0f1;" horiz-adv-x="1408" 
+d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48
+t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252
+t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
+    <glyph glyph-name="suitcase" unicode="&#xf0f2;" horiz-adv-x="1792" 
+d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66
+t66 -158z" />
+    <glyph glyph-name="bell_alt" unicode="&#xf0f3;" horiz-adv-x="1792" 
+d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5
+t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
+    <glyph glyph-name="coffee" unicode="&#xf0f4;" horiz-adv-x="1920" 
+d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45
+t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="food" unicode="&#xf0f5;" horiz-adv-x="1408" 
+d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45
+t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="file_text_alt" unicode="&#xf0f6;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704
+q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" />
+    <glyph glyph-name="building" unicode="&#xf0f7;" horiz-adv-x="1408" 
+d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="hospital" unicode="&#xf0f8;" horiz-adv-x="1408" 
+d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5
+t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320
+v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="ambulance" unicode="&#xf0f9;" horiz-adv-x="1920" 
+d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152
+q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="medkit" unicode="&#xf0fa;" horiz-adv-x="1792" 
+d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32
+q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="fighter_jet" unicode="&#xf0fb;" horiz-adv-x="1920" 
+d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96
+q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q128 -28 200 -52t80 -34z" />
+    <glyph glyph-name="beer" unicode="&#xf0fc;" horiz-adv-x="1664" 
+d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
+    <glyph glyph-name="h_sign" unicode="&#xf0fd;" 
+d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="f0fe" unicode="&#xf0fe;" 
+d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="double_angle_left" unicode="&#xf100;" horiz-adv-x="1024" 
+d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
+t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_right" unicode="&#xf101;" horiz-adv-x="1024" 
+d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23
+l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_up" unicode="&#xf102;" horiz-adv-x="1152" 
+d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393
+q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_down" unicode="&#xf103;" horiz-adv-x="1152" 
+d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
+t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="angle_left" unicode="&#xf104;" horiz-adv-x="640" 
+d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="angle_right" unicode="&#xf105;" horiz-adv-x="640" 
+d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="angle_up" unicode="&#xf106;" horiz-adv-x="1152" 
+d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="angle_down" unicode="&#xf107;" horiz-adv-x="1152" 
+d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="desktop" unicode="&#xf108;" horiz-adv-x="1920" 
+d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19
+t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="laptop" unicode="&#xf109;" horiz-adv-x="1920" 
+d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z
+M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
+    <glyph glyph-name="tablet" unicode="&#xf10a;" horiz-adv-x="1152" 
+d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832
+q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="mobile_phone" unicode="&#xf10b;" horiz-adv-x="768" 
+d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136
+q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="circle_blank" unicode="&#xf10c;" 
+d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103
+t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="quote_left" unicode="&#xf10d;" horiz-adv-x="1664" 
+d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z
+M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
+    <glyph glyph-name="quote_right" unicode="&#xf10e;" horiz-adv-x="1664" 
+d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216
+v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
+    <glyph glyph-name="spinner" unicode="&#xf110;" horiz-adv-x="1792" 
+d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5
+t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-113 -47t-113 47t-47 113t47 113t113 47t113 -47t47 -113z
+M1728 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1088 1344q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1618 1138q0 -93 -66 -158.5t-158 -65.5q-93 0 -158.5 65.5t-65.5 158.5
+q0 92 65.5 158t158.5 66q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="circle" unicode="&#xf111;" 
+d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="reply" unicode="&#xf112;" horiz-adv-x="1792" 
+d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19
+l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
+    <glyph glyph-name="github_alt" unicode="&#xf113;" horiz-adv-x="1664" 
+d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320
+q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86
+t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218
+q0 -87 -27 -168q136 -160 136 -398z" />
+    <glyph glyph-name="folder_close_alt" unicode="&#xf114;" horiz-adv-x="1664" 
+d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320
+q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="folder_open_alt" unicode="&#xf115;" horiz-adv-x="1920" 
+d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68
+v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z
+" />
+    <glyph glyph-name="expand_alt" unicode="&#xf116;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="collapse_alt" unicode="&#xf117;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="smile" unicode="&#xf118;" 
+d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5
+t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="frown" unicode="&#xf119;" 
+d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204
+t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="meh" unicode="&#xf11a;" 
+d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="gamepad" unicode="&#xf11b;" horiz-adv-x="1920" 
+d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5
+t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150
+t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
+    <glyph glyph-name="keyboard" unicode="&#xf11c;" horiz-adv-x="1920" 
+d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16
+h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16
+h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96
+q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896
+h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="flag_alt" unicode="&#xf11d;" horiz-adv-x="1792" 
+d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9
+h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102
+q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
+    <glyph glyph-name="flag_checkered" unicode="&#xf11e;" horiz-adv-x="1792" 
+d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2
+q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266
+q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8
+q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
+    <glyph glyph-name="terminal" unicode="&#xf120;" horiz-adv-x="1664" 
+d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9
+t9 -23z" />
+    <glyph glyph-name="code" unicode="&#xf121;" horiz-adv-x="1920" 
+d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5
+l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
+    <glyph glyph-name="reply_all" unicode="&#xf122;" horiz-adv-x="1792" 
+d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1
+q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
+    <glyph glyph-name="star_half_empty" unicode="&#xf123;" horiz-adv-x="1664" 
+d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5
+l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
+    <glyph glyph-name="location_arrow" unicode="&#xf124;" horiz-adv-x="1408" 
+d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
+    <glyph glyph-name="crop" unicode="&#xf125;" horiz-adv-x="1664" 
+d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23
+v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="code_fork" unicode="&#xf126;" horiz-adv-x="1024" 
+d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5
+q-2 -287 -226 -414q-67 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497
+q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
+    <glyph glyph-name="unlink" unicode="&#xf127;" horiz-adv-x="1664" 
+d="M439 265l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320
+q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18
+l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9
+t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
+    <glyph glyph-name="question" unicode="&#xf128;" horiz-adv-x="1024" 
+d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5
+t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
+    <glyph glyph-name="_279" unicode="&#xf129;" horiz-adv-x="640" 
+d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192
+q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="exclamation" unicode="&#xf12a;" horiz-adv-x="640" 
+d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
+    <glyph glyph-name="superscript" unicode="&#xf12b;" 
+d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
+M1534 846v-206h-514l-3 27q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5
+t-65.5 -51.5t-30.5 -63h232v80h126z" />
+    <glyph glyph-name="subscript" unicode="&#xf12c;" 
+d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
+M1536 -50v-206h-514l-4 27q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73
+h232v80h126z" />
+    <glyph glyph-name="_283" unicode="&#xf12d;" horiz-adv-x="1920" 
+d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
+    <glyph glyph-name="puzzle_piece" unicode="&#xf12e;" horiz-adv-x="1664" 
+d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5
+t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89
+q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117
+q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
+    <glyph glyph-name="microphone" unicode="&#xf130;" horiz-adv-x="1152" 
+d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5
+t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
+    <glyph glyph-name="microphone_off" unicode="&#xf131;" horiz-adv-x="1408" 
+d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128
+q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23
+t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
+    <glyph glyph-name="shield" unicode="&#xf132;" horiz-adv-x="1280" 
+d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150
+t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="calendar_empty" unicode="&#xf133;" horiz-adv-x="1664" 
+d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280
+q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="fire_extinguisher" unicode="&#xf134;" horiz-adv-x="1408" 
+d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800
+q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113
+q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
+    <glyph glyph-name="rocket" unicode="&#xf135;" horiz-adv-x="1664" 
+d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1
+q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
+    <glyph glyph-name="maxcdn" unicode="&#xf136;" horiz-adv-x="1792" 
+d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
+    <glyph glyph-name="chevron_sign_left" unicode="&#xf137;" 
+d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="chevron_sign_right" unicode="&#xf138;" 
+d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="chevron_sign_up" unicode="&#xf139;" 
+d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="chevron_sign_down" unicode="&#xf13a;" 
+d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="html5" unicode="&#xf13b;" horiz-adv-x="1408" 
+d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
+    <glyph glyph-name="css3" unicode="&#xf13c;" horiz-adv-x="1792" 
+d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
+    <glyph glyph-name="anchor" unicode="&#xf13d;" horiz-adv-x="1792" 
+d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352
+q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19
+t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="unlock_alt" unicode="&#xf13e;" horiz-adv-x="1152" 
+d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181
+v-320h736z" />
+    <glyph glyph-name="bullseye" unicode="&#xf140;" 
+d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150
+t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ellipsis_horizontal" unicode="&#xf141;" horiz-adv-x="1408" 
+d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="ellipsis_vertical" unicode="&#xf142;" horiz-adv-x="384" 
+d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="_303" unicode="&#xf143;" 
+d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 233 -176.5 396.5t-396.5 176.5q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128
+q13 0 23 10t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="play_sign" unicode="&#xf144;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56
+q16 -8 32 -8q17 0 32 9z" />
+    <glyph glyph-name="ticket" unicode="&#xf145;" horiz-adv-x="1792" 
+d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136
+t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
+    <glyph glyph-name="minus_sign_alt" unicode="&#xf146;" 
+d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
+t84.5 -203.5z" />
+    <glyph glyph-name="check_minus" unicode="&#xf147;" horiz-adv-x="1408" 
+d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5
+t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="level_up" unicode="&#xf148;" horiz-adv-x="1024" 
+d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
+    <glyph glyph-name="level_down" unicode="&#xf149;" horiz-adv-x="1024" 
+d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
+    <glyph glyph-name="check_sign" unicode="&#xf14a;" 
+d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5
+t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="edit_sign" unicode="&#xf14b;" 
+d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120
+v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_312" unicode="&#xf14c;" 
+d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960
+q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="share_sign" unicode="&#xf14d;" 
+d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q11 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5
+t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="compass" unicode="&#xf14e;" 
+d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="collapse" unicode="&#xf150;" 
+d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120
+v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="collapse_top" unicode="&#xf151;" 
+d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_317" unicode="&#xf152;" 
+d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5
+t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="eur" unicode="&#xf153;" horiz-adv-x="1024" 
+d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9
+t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26
+l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
+    <glyph glyph-name="gbp" unicode="&#xf154;" horiz-adv-x="1024" 
+d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7
+q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
+    <glyph glyph-name="usd" unicode="&#xf155;" horiz-adv-x="1024" 
+d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43
+t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5
+t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50
+t53 -63.5t31.5 -76.5t13 -94z" />
+    <glyph glyph-name="inr" unicode="&#xf156;" horiz-adv-x="898" 
+d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102
+q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="jpy" unicode="&#xf157;" horiz-adv-x="1027" 
+d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61
+l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
+    <glyph glyph-name="rub" unicode="&#xf158;" horiz-adv-x="1280" 
+d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128
+q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
+    <glyph glyph-name="krw" unicode="&#xf159;" horiz-adv-x="1792" 
+d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23
+t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28
+q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="btc" unicode="&#xf15a;" horiz-adv-x="1280" 
+d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164
+l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30
+t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
+    <glyph glyph-name="file" unicode="&#xf15b;" 
+d="M1024 1024v472q22 -14 36 -28l408 -408q14 -14 28 -36h-472zM896 992q0 -40 28 -68t68 -28h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544z" />
+    <glyph glyph-name="file_text" unicode="&#xf15c;" 
+d="M1468 1060q14 -14 28 -36h-472v472q22 -14 36 -28zM992 896h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544q0 -40 28 -68t68 -28zM1152 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704
+q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23z" />
+    <glyph glyph-name="sort_by_alphabet" unicode="&#xf15d;" horiz-adv-x="1664" 
+d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23
+v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162
+l230 -662h70z" />
+    <glyph glyph-name="_329" unicode="&#xf15e;" horiz-adv-x="1664" 
+d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150
+v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248
+v119h121z" />
+    <glyph glyph-name="sort_by_attributes" unicode="&#xf160;" horiz-adv-x="1792" 
+d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832
+q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256
+q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="sort_by_attributes_alt" unicode="&#xf161;" horiz-adv-x="1792" 
+d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192
+q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832
+q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="sort_by_order" unicode="&#xf162;" 
+d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23
+zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5
+t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
+    <glyph glyph-name="sort_by_order_alt" unicode="&#xf163;" 
+d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9
+t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13
+q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
+    <glyph glyph-name="_334" unicode="&#xf164;" horiz-adv-x="1664" 
+d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76
+q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5
+t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
+    <glyph glyph-name="_335" unicode="&#xf165;" horiz-adv-x="1664" 
+d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135
+t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121
+t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
+    <glyph glyph-name="youtube_sign" unicode="&#xf166;" 
+d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 17 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15
+q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38
+q21 -29 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5
+q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78q7 -23 23 -69l24 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38
+q-51 0 -78 -38q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5
+h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="youtube" unicode="&#xf167;" 
+d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73
+q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51
+q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99
+q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-38 -51 -106 -51q-67 0 -105 51
+q-28 38 -28 118v175q0 80 28 117q38 51 105 51q68 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
+    <glyph glyph-name="xing" unicode="&#xf168;" horiz-adv-x="1408" 
+d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942
+q25 45 64 45h241q22 0 31 -15z" />
+    <glyph glyph-name="xing_sign" unicode="&#xf169;" 
+d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1
+l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="youtube_play" unicode="&#xf16a;" horiz-adv-x="1792" 
+d="M711 408l484 250l-484 253v-503zM896 1270q168 0 324.5 -4.5t229.5 -9.5l73 -4q1 0 17 -1.5t23 -3t23.5 -4.5t28.5 -8t28 -13t31 -19.5t29 -26.5q6 -6 15.5 -18.5t29 -58.5t26.5 -101q8 -64 12.5 -136.5t5.5 -113.5v-40v-136q1 -145 -18 -290q-7 -55 -25 -99.5t-32 -61.5
+l-14 -17q-14 -15 -29 -26.5t-31 -19t-28 -12.5t-28.5 -8t-24 -4.5t-23 -3t-16.5 -1.5q-251 -19 -627 -19q-207 2 -359.5 6.5t-200.5 7.5l-49 4l-36 4q-36 5 -54.5 10t-51 21t-56.5 41q-6 6 -15.5 18.5t-29 58.5t-26.5 101q-8 64 -12.5 136.5t-5.5 113.5v40v136
+q-1 145 18 290q7 55 25 99.5t32 61.5l14 17q14 15 29 26.5t31 19.5t28 13t28.5 8t23.5 4.5t23 3t17 1.5q251 18 627 18z" />
+    <glyph glyph-name="dropbox" unicode="&#xf16b;" horiz-adv-x="1792" 
+d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
+    <glyph glyph-name="stackexchange" unicode="&#xf16c;" 
+d="M1289 -96h-1118v480h-160v-640h1438v640h-160v-480zM347 428l33 157l783 -165l-33 -156zM450 802l67 146l725 -339l-67 -145zM651 1158l102 123l614 -513l-102 -123zM1048 1536l477 -641l-128 -96l-477 641zM330 65v159h800v-159h-800z" />
+    <glyph glyph-name="instagram" unicode="&#xf16d;" 
+d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1162 640q0 -164 -115 -279t-279 -115t-279 115t-115 279t115 279t279 115t279 -115t115 -279zM1270 1050q0 -38 -27 -65t-65 -27t-65 27t-27 65t27 65t65 27t65 -27t27 -65zM768 1270
+q-7 0 -76.5 0.5t-105.5 0t-96.5 -3t-103 -10t-71.5 -18.5q-50 -20 -88 -58t-58 -88q-11 -29 -18.5 -71.5t-10 -103t-3 -96.5t0 -105.5t0.5 -76.5t-0.5 -76.5t0 -105.5t3 -96.5t10 -103t18.5 -71.5q20 -50 58 -88t88 -58q29 -11 71.5 -18.5t103 -10t96.5 -3t105.5 0t76.5 0.5
+t76.5 -0.5t105.5 0t96.5 3t103 10t71.5 18.5q50 20 88 58t58 88q11 29 18.5 71.5t10 103t3 96.5t0 105.5t-0.5 76.5t0.5 76.5t0 105.5t-3 96.5t-10 103t-18.5 71.5q-20 50 -58 88t-88 58q-29 11 -71.5 18.5t-103 10t-96.5 3t-105.5 0t-76.5 -0.5zM1536 640q0 -229 -5 -317
+q-10 -208 -124 -322t-322 -124q-88 -5 -317 -5t-317 5q-208 10 -322 124t-124 322q-5 88 -5 317t5 317q10 208 124 322t322 124q88 5 317 5t317 -5q208 -10 322 -124t124 -322q5 -88 5 -317z" />
+    <glyph glyph-name="flickr" unicode="&#xf16e;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150
+t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
+    <glyph glyph-name="adn" unicode="&#xf170;" 
+d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="f171" unicode="&#xf171;" horiz-adv-x="1408" 
+d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22
+t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18
+t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5
+t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
+    <glyph glyph-name="bitbucket_sign" unicode="&#xf172;" 
+d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5
+t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z
+M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120
+v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="tumblr" unicode="&#xf173;" horiz-adv-x="1024" 
+d="M944 207l80 -237q-23 -35 -111 -66t-177 -32q-104 -2 -190.5 26t-142.5 74t-95 106t-55.5 120t-16.5 118v544h-168v215q72 26 129 69.5t91 90t58 102t34 99t15 88.5q1 5 4.5 8.5t7.5 3.5h244v-424h333v-252h-334v-518q0 -30 6.5 -56t22.5 -52.5t49.5 -41.5t81.5 -14
+q78 2 134 29z" />
+    <glyph glyph-name="tumblr_sign" unicode="&#xf174;" 
+d="M1136 75l-62 183q-44 -22 -103 -22q-36 -1 -62 10.5t-38.5 31.5t-17.5 40.5t-5 43.5v398h257v194h-256v326h-188q-8 0 -9 -10q-5 -44 -17.5 -87t-39 -95t-77 -95t-118.5 -68v-165h130v-418q0 -57 21.5 -115t65 -111t121 -85.5t176.5 -30.5q69 1 136.5 25t85.5 50z
+M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="long_arrow_down" unicode="&#xf175;" horiz-adv-x="768" 
+d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
+    <glyph glyph-name="long_arrow_up" unicode="&#xf176;" horiz-adv-x="768" 
+d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
+    <glyph glyph-name="long_arrow_left" unicode="&#xf177;" horiz-adv-x="1792" 
+d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="long_arrow_right" unicode="&#xf178;" horiz-adv-x="1792" 
+d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
+    <glyph glyph-name="apple" unicode="&#xf179;" horiz-adv-x="1408" 
+d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q113 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65
+q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
+    <glyph glyph-name="windows" unicode="&#xf17a;" horiz-adv-x="1664" 
+d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
+    <glyph glyph-name="android" unicode="&#xf17b;" horiz-adv-x="1408" 
+d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30
+t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5
+h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
+    <glyph glyph-name="linux" unicode="&#xf17c;" 
+d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-10 -11 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z
+M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7
+q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15
+q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5
+t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19
+q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63
+q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18q-2 -1 -4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92
+q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152
+q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-6 0 -8 -2t0 -4
+t5 -3q14 -4 18 -31q0 -3 8 2q2 2 2 3zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5
+t-30 -18.5t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43
+q-19 4 -51 9.5t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49
+t-14 -48q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54
+q110 143 124 195q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5
+t-40.5 -33.5t-61 -14q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5
+t15.5 47.5q1 -31 8 -56.5t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
+    <glyph glyph-name="dribble" unicode="&#xf17d;" 
+d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81
+t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19
+q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -5 6.5 -17t7.5 -17q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6
+t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="skype" unicode="&#xf17e;" 
+d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5
+t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5
+q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80
+q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
+    <glyph glyph-name="foursquare" unicode="&#xf180;" horiz-adv-x="1280" 
+d="M1000 1102l37 194q5 23 -9 40t-35 17h-712q-23 0 -38.5 -17t-15.5 -37v-1101q0 -7 6 -1l291 352q23 26 38 33.5t48 7.5h239q22 0 37 14.5t18 29.5q24 130 37 191q4 21 -11.5 40t-36.5 19h-294q-29 0 -48 19t-19 48v42q0 29 19 47.5t48 18.5h346q18 0 35 13.5t20 29.5z
+M1227 1324q-15 -73 -53.5 -266.5t-69.5 -350t-35 -173.5q-6 -22 -9 -32.5t-14 -32.5t-24.5 -33t-38.5 -21t-58 -10h-271q-13 0 -22 -10q-8 -9 -426 -494q-22 -25 -58.5 -28.5t-48.5 5.5q-55 22 -55 98v1410q0 55 38 102.5t120 47.5h888q95 0 127 -53t10 -159zM1227 1324
+l-158 -790q4 17 35 173.5t69.5 350t53.5 266.5z" />
+    <glyph glyph-name="trello" unicode="&#xf181;" 
+d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408
+q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="female" unicode="&#xf182;" horiz-adv-x="1280" 
+d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43
+q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="male" unicode="&#xf183;" horiz-adv-x="1024" 
+d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z
+M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="gittip" unicode="&#xf184;" 
+d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="sun" unicode="&#xf185;" horiz-adv-x="1792" 
+d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4
+l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94
+q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
+    <glyph glyph-name="_366" unicode="&#xf186;" 
+d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61
+t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
+    <glyph glyph-name="archive" unicode="&#xf187;" horiz-adv-x="1792" 
+d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536
+q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="bug" unicode="&#xf188;" horiz-adv-x="1664" 
+d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207
+q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19
+t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
+    <glyph glyph-name="vk" unicode="&#xf189;" horiz-adv-x="1920" 
+d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-40 -51 -55 -72t-30.5 -49.5t-12 -42t13 -34.5t32.5 -43t57 -53q4 -2 5 -4q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58
+t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6
+q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q16 19 38 30q53 26 239 24
+q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2
+q39 5 64 -2.5t31 -16.5z" />
+    <glyph glyph-name="weibo" unicode="&#xf18a;" horiz-adv-x="1792" 
+d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12
+q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422
+q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178
+q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z
+M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
+    <glyph glyph-name="renren" unicode="&#xf18b;" 
+d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495
+q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
+    <glyph glyph-name="_372" unicode="&#xf18c;" horiz-adv-x="1408" 
+d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5
+t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56
+t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -4 1 -50t-1 -72q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5
+t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
+    <glyph glyph-name="stack_exchange" unicode="&#xf18d;" horiz-adv-x="1280" 
+d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z
+" />
+    <glyph glyph-name="_374" unicode="&#xf18e;" 
+d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198
+t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="arrow_circle_alt_left" unicode="&#xf190;" 
+d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198
+t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_376" unicode="&#xf191;" 
+d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z
+M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="dot_circle_alt" unicode="&#xf192;" 
+d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5
+t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_378" unicode="&#xf193;" horiz-adv-x="1664" 
+d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128
+q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 17 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
+    <glyph glyph-name="vimeo_square" unicode="&#xf194;" 
+d="M1292 898q10 216 -161 222q-231 8 -312 -261q44 19 82 19q85 0 74 -96q-4 -57 -74 -167t-105 -110q-43 0 -82 169q-13 54 -45 255q-30 189 -160 177q-59 -7 -164 -100l-81 -72l-81 -72l52 -67q76 52 87 52q57 0 107 -179q15 -55 45 -164.5t45 -164.5q68 -179 164 -179
+q157 0 383 294q220 283 226 444zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_380" unicode="&#xf195;" horiz-adv-x="1152" 
+d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160
+q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="plus_square_o" unicode="&#xf196;" horiz-adv-x="1408" 
+d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832
+q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_382" unicode="&#xf197;" horiz-adv-x="2176" 
+d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40
+t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-288 -288q-26 -26 -70.5 -45t-89.5 -19h-96l-93 464h29
+q157 0 273 64zM352 816h-29l93 464h96q46 0 90 -19t70 -45l288 -288q4 -4 11 -10.5t30.5 -23t48.5 -29t61.5 -23t72.5 -10.5l456 -80h-1015q-116 64 -273 64z" />
+    <glyph glyph-name="_383" unicode="&#xf198;" horiz-adv-x="1664" 
+d="M1519 760q62 0 103.5 -40.5t41.5 -101.5q0 -97 -93 -130l-172 -59l56 -167q7 -21 7 -47q0 -59 -42 -102t-101 -43q-47 0 -85.5 27t-53.5 72l-55 165l-310 -106l55 -164q8 -24 8 -47q0 -59 -42 -102t-102 -43q-47 0 -85 27t-53 72l-55 163l-153 -53q-29 -9 -50 -9
+q-61 0 -101.5 40t-40.5 101q0 47 27.5 85t71.5 53l156 53l-105 313l-156 -54q-26 -8 -48 -8q-60 0 -101 40.5t-41 100.5q0 47 27.5 85t71.5 53l157 53l-53 159q-8 24 -8 47q0 60 42 102.5t102 42.5q47 0 85 -27t53 -72l54 -160l310 105l-54 160q-8 24 -8 47q0 59 42.5 102
+t101.5 43q47 0 85.5 -27.5t53.5 -71.5l53 -161l162 55q21 6 43 6q60 0 102.5 -39.5t42.5 -98.5q0 -45 -30 -81.5t-74 -51.5l-157 -54l105 -316l164 56q24 8 46 8zM725 498l310 105l-105 315l-310 -107z" />
+    <glyph glyph-name="_384" unicode="&#xf199;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM1280 352v436q-31 -35 -64 -55q-34 -22 -132.5 -85t-151.5 -99q-98 -69 -164 -69v0v0q-66 0 -164 69
+q-47 32 -142 92.5t-142 92.5q-12 8 -33 27t-31 27v-436q0 -40 28 -68t68 -28h832q40 0 68 28t28 68zM1280 925q0 41 -27.5 70t-68.5 29h-832q-40 0 -68 -28t-28 -68q0 -37 30.5 -76.5t67.5 -64.5q47 -32 137.5 -89t129.5 -83q3 -2 17 -11.5t21 -14t21 -13t23.5 -13
+t21.5 -9.5t22.5 -7.5t20.5 -2.5t20.5 2.5t22.5 7.5t21.5 9.5t23.5 13t21 13t21 14t17 11.5l267 174q35 23 66.5 62.5t31.5 73.5z" />
+    <glyph glyph-name="_385" unicode="&#xf19a;" horiz-adv-x="1792" 
+d="M127 640q0 163 67 313l367 -1005q-196 95 -315 281t-119 411zM1415 679q0 -19 -2.5 -38.5t-10 -49.5t-11.5 -44t-17.5 -59t-17.5 -58l-76 -256l-278 826q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-75 1 -202 10q-12 1 -20.5 -5t-11.5 -15t-1.5 -18.5t9 -16.5
+t19.5 -8l80 -8l120 -328l-168 -504l-280 832q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-7 0 -23 0.5t-26 0.5q105 160 274.5 253.5t367.5 93.5q147 0 280.5 -53t238.5 -149h-10q-55 0 -92 -40.5t-37 -95.5q0 -12 2 -24t4 -21.5t8 -23t9 -21t12 -22.5t12.5 -21
+t14.5 -24t14 -23q63 -107 63 -212zM909 573l237 -647q1 -6 5 -11q-126 -44 -255 -44q-112 0 -217 32zM1570 1009q95 -174 95 -369q0 -209 -104 -385.5t-279 -278.5l235 678q59 169 59 276q0 42 -6 79zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286
+t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 -215q173 0 331.5 68t273 182.5t182.5 273t68 331.5t-68 331.5t-182.5 273t-273 182.5t-331.5 68t-331.5 -68t-273 -182.5t-182.5 -273t-68 -331.5t68 -331.5t182.5 -273
+t273 -182.5t331.5 -68z" />
+    <glyph glyph-name="_386" unicode="&#xf19b;" horiz-adv-x="1792" 
+d="M1086 1536v-1536l-272 -128q-228 20 -414 102t-293 208.5t-107 272.5q0 140 100.5 263.5t275 205.5t391.5 108v-172q-217 -38 -356.5 -150t-139.5 -255q0 -152 154.5 -267t388.5 -145v1360zM1755 954l37 -390l-525 114l147 83q-119 70 -280 99v172q277 -33 481 -157z" />
+    <glyph glyph-name="_387" unicode="&#xf19c;" horiz-adv-x="2048" 
+d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64
+q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" />
+    <glyph glyph-name="_388" unicode="&#xf19d;" horiz-adv-x="2304" 
+d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433
+q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" />
+    <glyph glyph-name="_389" unicode="&#xf19e;" 
+d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q44 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0
+q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" />
+    <glyph glyph-name="uniF1A0" unicode="&#xf1a0;" 
+d="M768 750h725q12 -67 12 -128q0 -217 -91 -387.5t-259.5 -266.5t-386.5 -96q-157 0 -299 60.5t-245 163.5t-163.5 245t-60.5 299t60.5 299t163.5 245t245 163.5t299 60.5q300 0 515 -201l-209 -201q-123 119 -306 119q-129 0 -238.5 -65t-173.5 -176.5t-64 -243.5
+t64 -243.5t173.5 -176.5t238.5 -65q87 0 160 24t120 60t82 82t51.5 87t22.5 78h-436v264z" />
+    <glyph glyph-name="f1a1" unicode="&#xf1a1;" horiz-adv-x="1792" 
+d="M1095 369q16 -16 0 -31q-62 -62 -199 -62t-199 62q-16 15 0 31q6 6 15 6t15 -6q48 -49 169 -49q120 0 169 49q6 6 15 6t15 -6zM788 550q0 -37 -26 -63t-63 -26t-63.5 26t-26.5 63q0 38 26.5 64t63.5 26t63 -26.5t26 -63.5zM1183 550q0 -37 -26.5 -63t-63.5 -26t-63 26
+t-26 63t26 63.5t63 26.5t63.5 -26t26.5 -64zM1434 670q0 49 -35 84t-85 35t-86 -36q-130 90 -311 96l63 283l200 -45q0 -37 26 -63t63 -26t63.5 26.5t26.5 63.5t-26.5 63.5t-63.5 26.5q-54 0 -80 -50l-221 49q-19 5 -25 -16l-69 -312q-180 -7 -309 -97q-35 37 -87 37
+q-50 0 -85 -35t-35 -84q0 -35 18.5 -64t49.5 -44q-6 -27 -6 -56q0 -142 140 -243t337 -101q198 0 338 101t140 243q0 32 -7 57q30 15 48 43.5t18 63.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191
+t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_392" unicode="&#xf1a2;" 
+d="M939 407q13 -13 0 -26q-53 -53 -171 -53t-171 53q-13 13 0 26q5 6 13 6t13 -6q42 -42 145 -42t145 42q5 6 13 6t13 -6zM676 563q0 -31 -23 -54t-54 -23t-54 23t-23 54q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1014 563q0 -31 -23 -54t-54 -23t-54 23t-23 54
+q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1229 666q0 42 -30 72t-73 30q-42 0 -73 -31q-113 78 -267 82l54 243l171 -39q1 -32 23.5 -54t53.5 -22q32 0 54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5q-48 0 -69 -43l-189 42q-17 5 -21 -13l-60 -268q-154 -6 -265 -83
+q-30 32 -74 32q-43 0 -73 -30t-30 -72q0 -30 16 -55t42 -38q-5 -25 -5 -48q0 -122 120 -208.5t289 -86.5q170 0 290 86.5t120 208.5q0 25 -6 49q25 13 40.5 37.5t15.5 54.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960
+q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_393" unicode="&#xf1a3;" 
+d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150
+v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103
+t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="f1a4" unicode="&#xf1a4;" horiz-adv-x="1920" 
+d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328
+v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" />
+    <glyph glyph-name="_395" unicode="&#xf1a5;" 
+d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
+t84.5 -203.5z" />
+    <glyph glyph-name="_396" unicode="&#xf1a6;" horiz-adv-x="2048" 
+d="M328 1254h204v-983h-532v697h328v286zM328 435v369h-123v-369h123zM614 968v-697h205v697h-205zM614 1254v-204h205v204h-205zM901 968h533v-942h-533v163h328v82h-328v697zM1229 435v369h-123v-369h123zM1516 968h532v-942h-532v163h327v82h-327v697zM1843 435v369h-123
+v-369h123z" />
+    <glyph glyph-name="_397" unicode="&#xf1a7;" 
+d="M1046 516q0 -64 -38 -109t-91 -45q-43 0 -70 15v277q28 17 70 17q53 0 91 -45.5t38 -109.5zM703 944q0 -64 -38 -109.5t-91 -45.5q-43 0 -70 15v277q28 17 70 17q53 0 91 -45t38 -109zM1265 513q0 134 -88 229t-213 95q-20 0 -39 -3q-23 -78 -78 -136q-87 -95 -211 -101
+v-636l211 41v206q51 -19 117 -19q125 0 213 95t88 229zM922 940q0 134 -88.5 229t-213.5 95q-74 0 -141 -36h-186v-840l211 41v206q55 -19 116 -19q125 0 213.5 95t88.5 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960
+q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_398" unicode="&#xf1a8;" horiz-adv-x="2038" 
+d="M1222 607q75 3 143.5 -20.5t118 -58.5t101 -94.5t84 -108t75.5 -120.5q33 -56 78.5 -109t75.5 -80.5t99 -88.5q-48 -30 -108.5 -57.5t-138.5 -59t-114 -47.5q-44 37 -74 115t-43.5 164.5t-33 180.5t-42.5 168.5t-72.5 123t-122.5 48.5l-10 -2l-6 -4q4 -5 13 -14
+q6 -5 28 -23.5t25.5 -22t19 -18t18 -20.5t11.5 -21t10.5 -27.5t4.5 -31t4 -40.5l1 -33q1 -26 -2.5 -57.5t-7.5 -52t-12.5 -58.5t-11.5 -53q-35 1 -101 -9.5t-98 -10.5q-39 0 -72 10q-2 16 -2 47q0 74 3 96q2 13 31.5 41.5t57 59t26.5 51.5q-24 2 -43 -24
+q-36 -53 -111.5 -99.5t-136.5 -46.5q-25 0 -75.5 63t-106.5 139.5t-84 96.5q-6 4 -27 30q-482 -112 -513 -112q-16 0 -28 11t-12 27q0 15 8.5 26.5t22.5 14.5l486 106q-8 14 -8 25t5.5 17.5t16 11.5t20 7t23 4.5t18.5 4.5q4 1 15.5 7.5t17.5 6.5q15 0 28 -16t20 -33
+q163 37 172 37q17 0 29.5 -11t12.5 -28q0 -15 -8.5 -26t-23.5 -14l-182 -40l-1 -16q-1 -26 81.5 -117.5t104.5 -91.5q47 0 119 80t72 129q0 36 -23.5 53t-51 18.5t-51 11.5t-23.5 34q0 16 10 34l-68 19q43 44 43 117q0 26 -5 58q82 16 144 16q44 0 71.5 -1.5t48.5 -8.5
+t31 -13.5t20.5 -24.5t15.5 -33.5t17 -47.5t24 -60l50 25q-3 -40 -23 -60t-42.5 -21t-40 -6.5t-16.5 -20.5zM1282 842q-5 5 -13.5 15.5t-12 14.5t-10.5 11.5t-10 10.5l-8 8t-8.5 7.5t-8 5t-8.5 4.5q-7 3 -14.5 5t-20.5 2.5t-22 0.5h-32.5h-37.5q-126 0 -217 -43
+q16 30 36 46.5t54 29.5t65.5 36t46 36.5t50 55t43.5 50.5q12 -9 28 -31.5t32 -36.5t38 -13l12 1v-76l22 -1q247 95 371 190q28 21 50 39t42.5 37.5t33 31t29.5 34t24 31t24.5 37t23 38t27 47.5t29.5 53l7 9q-2 -53 -43 -139q-79 -165 -205 -264t-306 -142q-14 -3 -42 -7.5
+t-50 -9.5t-39 -14q3 -19 24.5 -46t21.5 -34q0 -11 -26 -30zM1061 -79q39 26 131.5 47.5t146.5 21.5q9 0 22.5 -15.5t28 -42.5t26 -50t24 -51t14.5 -33q-121 -45 -244 -45q-61 0 -125 11zM822 568l48 12l109 -177l-73 -48zM1323 51q3 -15 3 -16q0 -7 -17.5 -14.5t-46 -13
+t-54 -9.5t-53.5 -7.5t-32 -4.5l-7 43q21 2 60.5 8.5t72 10t60.5 3.5h14zM866 679l-96 -20l-6 17q10 1 32.5 7t34.5 6q19 0 35 -10zM1061 45h31l10 -83l-41 -12v95zM1950 1535v1v-1zM1950 1535l-1 -5l-2 -2l1 3zM1950 1535l1 1z" />
+    <glyph glyph-name="_399" unicode="&#xf1a9;" 
+d="M1167 -50q-5 19 -24 5q-30 -22 -87 -39t-131 -17q-129 0 -193 49q-5 4 -13 4q-11 0 -26 -12q-7 -6 -7.5 -16t7.5 -20q34 -32 87.5 -46t102.5 -12.5t99 4.5q41 4 84.5 20.5t65 30t28.5 20.5q12 12 7 29zM1128 65q-19 47 -39 61q-23 15 -76 15q-47 0 -71 -10
+q-29 -12 -78 -56q-26 -24 -12 -44q9 -8 17.5 -4.5t31.5 23.5q3 2 10.5 8.5t10.5 8.5t10 7t11.5 7t12.5 5t15 4.5t16.5 2.5t20.5 1q27 0 44.5 -7.5t23 -14.5t13.5 -22q10 -17 12.5 -20t12.5 1q23 12 14 34zM1483 346q0 22 -5 44.5t-16.5 45t-34 36.5t-52.5 14
+q-33 0 -97 -41.5t-129 -83.5t-101 -42q-27 -1 -63.5 19t-76 49t-83.5 58t-100 49t-111 19q-115 -1 -197 -78.5t-84 -178.5q-2 -112 74 -164q29 -20 62.5 -28.5t103.5 -8.5q57 0 132 32.5t134 71t120 70.5t93 31q26 -1 65 -31.5t71.5 -67t68 -67.5t55.5 -32q35 -3 58.5 14
+t55.5 63q28 41 42.5 101t14.5 106zM1536 506q0 -164 -62 -304.5t-166 -236t-242.5 -149.5t-290.5 -54t-293 57.5t-247.5 157t-170.5 241.5t-64 302q0 89 19.5 172.5t49 145.5t70.5 118.5t78.5 94t78.5 69.5t64.5 46.5t42.5 24.5q14 8 51 26.5t54.5 28.5t48 30t60.5 44
+q36 28 58 72.5t30 125.5q129 -155 186 -193q44 -29 130 -68t129 -66q21 -13 39 -25t60.5 -46.5t76 -70.5t75 -95t69 -122t47 -148.5t19.5 -177.5z" />
+    <glyph glyph-name="_400" unicode="&#xf1aa;" 
+d="M1070 463l-160 -160l-151 -152l-30 -30q-65 -64 -151.5 -87t-171.5 -2q-16 -70 -72 -115t-129 -45q-85 0 -145 60.5t-60 145.5q0 72 44.5 128t113.5 72q-22 86 1 173t88 152l12 12l151 -152l-11 -11q-37 -37 -37 -89t37 -90q37 -37 89 -37t89 37l30 30l151 152l161 160z
+M729 1145l12 -12l-152 -152l-12 12q-37 37 -89 37t-89 -37t-37 -89.5t37 -89.5l29 -29l152 -152l160 -160l-151 -152l-161 160l-151 152l-30 30q-68 67 -90 159.5t5 179.5q-70 15 -115 71t-45 129q0 85 60 145.5t145 60.5q76 0 133.5 -49t69.5 -123q84 20 169.5 -3.5
+t149.5 -87.5zM1536 78q0 -85 -60 -145.5t-145 -60.5q-74 0 -131 47t-71 118q-86 -28 -179.5 -6t-161.5 90l-11 12l151 152l12 -12q37 -37 89 -37t89 37t37 89t-37 89l-30 30l-152 152l-160 160l152 152l160 -160l152 -152l29 -30q64 -64 87.5 -150.5t2.5 -171.5
+q76 -11 126.5 -68.5t50.5 -134.5zM1534 1202q0 -77 -51 -135t-127 -69q26 -85 3 -176.5t-90 -158.5l-12 -12l-151 152l12 12q37 37 37 89t-37 89t-89 37t-89 -37l-30 -30l-152 -152l-160 -160l-152 152l161 160l152 152l29 30q67 67 159 89.5t178 -3.5q11 75 68.5 126
+t135.5 51q85 0 145 -60.5t60 -145.5z" />
+    <glyph glyph-name="f1ab" unicode="&#xf1ab;" 
+d="M654 458q-1 -3 -12.5 0.5t-31.5 11.5l-20 9q-44 20 -87 49q-7 5 -41 31.5t-38 28.5q-67 -103 -134 -181q-81 -95 -105 -110q-4 -2 -19.5 -4t-18.5 0q6 4 82 92q21 24 85.5 115t78.5 118q17 30 51 98.5t36 77.5q-8 1 -110 -33q-8 -2 -27.5 -7.5t-34.5 -9.5t-17 -5
+q-2 -2 -2 -10.5t-1 -9.5q-5 -10 -31 -15q-23 -7 -47 0q-18 4 -28 21q-4 6 -5 23q6 2 24.5 5t29.5 6q58 16 105 32q100 35 102 35q10 2 43 19.5t44 21.5q9 3 21.5 8t14.5 5.5t6 -0.5q2 -12 -1 -33q0 -2 -12.5 -27t-26.5 -53.5t-17 -33.5q-25 -50 -77 -131l64 -28
+q12 -6 74.5 -32t67.5 -28q4 -1 10.5 -25.5t4.5 -30.5zM449 944q3 -15 -4 -28q-12 -23 -50 -38q-30 -12 -60 -12q-26 3 -49 26q-14 15 -18 41l1 3q3 -3 19.5 -5t26.5 0t58 16q36 12 55 14q17 0 21 -17zM1147 815l63 -227l-139 42zM39 15l694 232v1032l-694 -233v-1031z
+M1280 332l102 -31l-181 657l-100 31l-216 -536l102 -31l45 110l211 -65zM777 1294l573 -184v380zM1088 -29l158 -13l-54 -160l-40 66q-130 -83 -276 -108q-58 -12 -91 -12h-84q-79 0 -199.5 39t-183.5 85q-8 7 -8 16q0 8 5 13.5t13 5.5q4 0 18 -7.5t30.5 -16.5t20.5 -11
+q73 -37 159.5 -61.5t157.5 -24.5q95 0 167 14.5t157 50.5q15 7 30.5 15.5t34 19t28.5 16.5zM1536 1050v-1079l-774 246q-14 -6 -375 -127.5t-368 -121.5q-13 0 -18 13q0 1 -1 3v1078q3 9 4 10q5 6 20 11q107 36 149 50v384l558 -198q2 0 160.5 55t316 108.5t161.5 53.5
+q20 0 20 -21v-418z" />
+    <glyph glyph-name="_402" unicode="&#xf1ac;" horiz-adv-x="1792" 
+d="M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48
+l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23
+t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128
+q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128
+q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z" />
+    <glyph glyph-name="_403" unicode="&#xf1ad;" 
+d="M1344 1536q26 0 45 -19t19 -45v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280zM512 1248v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 992v-64q0 -14 9 -23t23 -9h64q14 0 23 9
+t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 736v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 480v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 160v64
+q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64
+q14 0 23 9t9 23zM384 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 -96v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9
+t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM896 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 928v64
+q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 160v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64
+q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9
+t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23z" />
+    <glyph glyph-name="_404" unicode="&#xf1ae;" horiz-adv-x="1280" 
+d="M1188 988l-292 -292v-824q0 -46 -33 -79t-79 -33t-79 33t-33 79v384h-64v-384q0 -46 -33 -79t-79 -33t-79 33t-33 79v824l-292 292q-28 28 -28 68t28 68q29 28 68.5 28t67.5 -28l228 -228h368l228 228q28 28 68 28t68 -28q28 -29 28 -68.5t-28 -67.5zM864 1152
+q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="uniF1B1" unicode="&#xf1b0;" horiz-adv-x="1664" 
+d="M780 1064q0 -60 -19 -113.5t-63 -92.5t-105 -39q-76 0 -138 57.5t-92 135.5t-30 151q0 60 19 113.5t63 92.5t105 39q77 0 138.5 -57.5t91.5 -135t30 -151.5zM438 581q0 -80 -42 -139t-119 -59q-76 0 -141.5 55.5t-100.5 133.5t-35 152q0 80 42 139.5t119 59.5
+q76 0 141.5 -55.5t100.5 -134t35 -152.5zM832 608q118 0 255 -97.5t229 -237t92 -254.5q0 -46 -17 -76.5t-48.5 -45t-64.5 -20t-76 -5.5q-68 0 -187.5 45t-182.5 45q-66 0 -192.5 -44.5t-200.5 -44.5q-183 0 -183 146q0 86 56 191.5t139.5 192.5t187.5 146t193 59zM1071 819
+q-61 0 -105 39t-63 92.5t-19 113.5q0 74 30 151.5t91.5 135t138.5 57.5q61 0 105 -39t63 -92.5t19 -113.5q0 -73 -30 -151t-92 -135.5t-138 -57.5zM1503 923q77 0 119 -59.5t42 -139.5q0 -74 -35 -152t-100.5 -133.5t-141.5 -55.5q-77 0 -119 59t-42 139q0 74 35 152.5
+t100.5 134t141.5 55.5z" />
+    <glyph glyph-name="_406" unicode="&#xf1b1;" horiz-adv-x="768" 
+d="M704 1008q0 -145 -57 -243.5t-152 -135.5l45 -821q2 -26 -16 -45t-44 -19h-192q-26 0 -44 19t-16 45l45 821q-95 37 -152 135.5t-57 243.5q0 128 42.5 249.5t117.5 200t160 78.5t160 -78.5t117.5 -200t42.5 -249.5z" />
+    <glyph glyph-name="_407" unicode="&#xf1b2;" horiz-adv-x="1792" 
+d="M896 -93l640 349v636l-640 -233v-752zM832 772l698 254l-698 254l-698 -254zM1664 1024v-768q0 -35 -18 -65t-49 -47l-704 -384q-28 -16 -61 -16t-61 16l-704 384q-31 17 -49 47t-18 65v768q0 40 23 73t61 47l704 256q22 8 44 8t44 -8l704 -256q38 -14 61 -47t23 -73z
+" />
+    <glyph glyph-name="_408" unicode="&#xf1b3;" horiz-adv-x="2304" 
+d="M640 -96l384 192v314l-384 -164v-342zM576 358l404 173l-404 173l-404 -173zM1664 -96l384 192v314l-384 -164v-342zM1600 358l404 173l-404 173l-404 -173zM1152 651l384 165v266l-384 -164v-267zM1088 1030l441 189l-441 189l-441 -189zM2176 512v-416q0 -36 -19 -67
+t-52 -47l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-4 2 -7 4q-2 -2 -7 -4l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-33 16 -52 47t-19 67v416q0 38 21.5 70t56.5 48l434 186v400q0 38 21.5 70t56.5 48l448 192q23 10 50 10t50 -10l448 -192q35 -16 56.5 -48t21.5 -70
+v-400l434 -186q36 -16 57 -48t21 -70z" />
+    <glyph glyph-name="_409" unicode="&#xf1b4;" horiz-adv-x="2048" 
+d="M1848 1197h-511v-124h511v124zM1596 771q-90 0 -146 -52.5t-62 -142.5h408q-18 195 -200 195zM1612 186q63 0 122 32t76 87h221q-100 -307 -427 -307q-214 0 -340.5 132t-126.5 347q0 208 130.5 345.5t336.5 137.5q138 0 240.5 -68t153 -179t50.5 -248q0 -17 -2 -47h-658
+q0 -111 57.5 -171.5t166.5 -60.5zM277 236h296q205 0 205 167q0 180 -199 180h-302v-347zM277 773h281q78 0 123.5 36.5t45.5 113.5q0 144 -190 144h-260v-294zM0 1282h594q87 0 155 -14t126.5 -47.5t90 -96.5t31.5 -154q0 -181 -172 -263q114 -32 172 -115t58 -204
+q0 -75 -24.5 -136.5t-66 -103.5t-98.5 -71t-121 -42t-134 -13h-611v1260z" />
+    <glyph glyph-name="_410" unicode="&#xf1b5;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM499 1041h-371v-787h382q117 0 197 57.5t80 170.5q0 158 -143 200q107 52 107 164q0 57 -19.5 96.5
+t-56.5 60.5t-79 29.5t-97 8.5zM477 723h-176v184h163q119 0 119 -90q0 -94 -106 -94zM486 388h-185v217h189q124 0 124 -113q0 -104 -128 -104zM1136 356q-68 0 -104 38t-36 107h411q1 10 1 30q0 132 -74.5 220.5t-203.5 88.5q-128 0 -210 -86t-82 -216q0 -135 79 -217
+t213 -82q205 0 267 191h-138q-11 -34 -47.5 -54t-75.5 -20zM1126 722q113 0 124 -122h-254q4 56 39 89t91 33zM964 988h319v-77h-319v77z" />
+    <glyph glyph-name="_411" unicode="&#xf1b6;" horiz-adv-x="1792" 
+d="M1582 954q0 -101 -71.5 -172.5t-172.5 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172.5 -71.5t71.5 -172.5zM812 212q0 104 -73 177t-177 73q-27 0 -54 -6l104 -42q77 -31 109.5 -106.5t1.5 -151.5q-31 -77 -107 -109t-152 -1q-21 8 -62 24.5t-61 24.5
+q32 -60 91 -96.5t130 -36.5q104 0 177 73t73 177zM1642 953q0 126 -89.5 215.5t-215.5 89.5q-127 0 -216.5 -89.5t-89.5 -215.5q0 -127 89.5 -216t216.5 -89q126 0 215.5 89t89.5 216zM1792 953q0 -189 -133.5 -322t-321.5 -133l-437 -319q-12 -129 -109 -218t-229 -89
+q-121 0 -214 76t-118 192l-230 92v429l389 -157q79 48 173 48q13 0 35 -2l284 407q2 187 135.5 319t320.5 132q188 0 321.5 -133.5t133.5 -321.5z" />
+    <glyph glyph-name="_412" unicode="&#xf1b7;" 
+d="M1242 889q0 80 -57 136.5t-137 56.5t-136.5 -57t-56.5 -136q0 -80 56.5 -136.5t136.5 -56.5t137 56.5t57 136.5zM632 301q0 -83 -58 -140.5t-140 -57.5q-56 0 -103 29t-72 77q52 -20 98 -40q60 -24 120 1.5t85 86.5q24 60 -1.5 120t-86.5 84l-82 33q22 5 42 5
+q82 0 140 -57.5t58 -140.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v153l172 -69q20 -92 93.5 -152t168.5 -60q104 0 181 70t87 173l345 252q150 0 255.5 105.5t105.5 254.5q0 150 -105.5 255.5t-255.5 105.5
+q-148 0 -253 -104.5t-107 -252.5l-225 -322q-9 1 -28 1q-75 0 -137 -37l-297 119v468q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5zM1289 887q0 -100 -71 -170.5t-171 -70.5t-170.5 70.5t-70.5 170.5t70.5 171t170.5 71q101 0 171.5 -70.5t70.5 -171.5z
+" />
+    <glyph glyph-name="_413" unicode="&#xf1b8;" horiz-adv-x="1792" 
+d="M836 367l-15 -368l-2 -22l-420 29q-36 3 -67 31.5t-47 65.5q-11 27 -14.5 55t4 65t12 55t21.5 64t19 53q78 -12 509 -28zM449 953l180 -379l-147 92q-63 -72 -111.5 -144.5t-72.5 -125t-39.5 -94.5t-18.5 -63l-4 -21l-190 357q-17 26 -18 56t6 47l8 18q35 63 114 188
+l-140 86zM1680 436l-188 -359q-12 -29 -36.5 -46.5t-43.5 -20.5l-18 -4q-71 -7 -219 -12l8 -164l-230 367l211 362l7 -173q170 -16 283 -5t170 33zM895 1360q-47 -63 -265 -435l-317 187l-19 12l225 356q20 31 60 45t80 10q24 -2 48.5 -12t42 -21t41.5 -33t36 -34.5
+t36 -39.5t32 -35zM1550 1053l212 -363q18 -37 12.5 -76t-27.5 -74q-13 -20 -33 -37t-38 -28t-48.5 -22t-47 -16t-51.5 -14t-46 -12q-34 72 -265 436l313 195zM1407 1279l142 83l-220 -373l-419 20l151 86q-34 89 -75 166t-75.5 123.5t-64.5 80t-47 46.5l-17 13l405 -1
+q31 3 58 -10.5t39 -28.5l11 -15q39 -61 112 -190z" />
+    <glyph glyph-name="_414" unicode="&#xf1b9;" horiz-adv-x="2048" 
+d="M480 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM516 768h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5zM1888 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM2048 544v-384
+q0 -14 -9 -23t-23 -9h-96v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-1024v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5t179 63.5h768q98 0 179 -63.5t104 -157.5
+l105 -419h28q93 0 158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="_415" unicode="&#xf1ba;" horiz-adv-x="2048" 
+d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5
+t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5z
+M1728 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47z" />
+    <glyph glyph-name="_416" unicode="&#xf1bb;" 
+d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384
+q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" />
+    <glyph glyph-name="_417" unicode="&#xf1bc;" 
+d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64
+q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t51.5 -21q11 0 40 8q133 37 307 37
+q159 0 309.5 -34t253.5 -95q21 -12 40 -12q29 0 50.5 20.5t21.5 51.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_418" unicode="&#xf1bd;" horiz-adv-x="1024" 
+d="M1024 1233l-303 -582l24 -31h279v-415h-507l-44 -30l-142 -273l-30 -30h-301v303l303 583l-24 30h-279v415h507l44 30l142 273l30 30h301v-303z" />
+    <glyph glyph-name="_419" unicode="&#xf1be;" horiz-adv-x="2304" 
+d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11
+q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l-25 -237q0 -11 -11 -11q-10 0 -12 11l-21 237l21 245
+q2 12 12 12q11 0 11 -12zM307 657l23 -252l-23 -244q-2 -13 -14 -13q-13 0 -13 13l-21 244l21 252q0 13 13 13q12 0 14 -13zM401 639l21 -234l-21 -246q-2 -16 -16 -16q-6 0 -10.5 4.5t-4.5 11.5l-20 246l20 234q0 6 4.5 10.5t10.5 4.5q14 0 16 -15zM784 164zM495 785
+l21 -380l-21 -246q0 -7 -5 -12.5t-12 -5.5q-16 0 -18 18l-18 246l18 380q2 18 18 18q7 0 12 -5.5t5 -12.5zM589 871l19 -468l-19 -244q0 -8 -5.5 -13.5t-13.5 -5.5q-18 0 -20 19l-16 244l16 468q2 19 20 19q8 0 13.5 -5.5t5.5 -13.5zM687 911l18 -506l-18 -242
+q-2 -21 -22 -21q-19 0 -21 21l-16 242l16 506q0 9 6.5 15.5t14.5 6.5q9 0 15 -6.5t7 -15.5zM1079 169v0v0v0zM881 915l15 -510l-15 -239q0 -10 -7.5 -17.5t-17.5 -7.5t-17 7t-8 18l-14 239l14 510q0 11 7.5 18t17.5 7t17.5 -7t7.5 -18zM980 896l14 -492l-14 -236
+q0 -11 -8 -19t-19 -8t-19 8t-9 19l-12 236l12 492q1 12 9 20t19 8t18.5 -8t8.5 -20zM1192 404l-14 -231v0q0 -13 -9 -22t-22 -9t-22 9t-10 22l-6 114l-6 117l12 636v3q2 15 12 24q9 7 20 7q8 0 15 -5q14 -8 16 -26zM2304 423q0 -117 -83 -199.5t-200 -82.5h-786
+q-13 2 -22 11t-9 22v899q0 23 28 33q85 34 181 34q195 0 338 -131.5t160 -323.5q53 22 110 22q117 0 200 -83t83 -201z" />
+    <glyph glyph-name="uniF1C0" unicode="&#xf1c0;" 
+d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127
+t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5
+t-103 128v128q0 69 103 128t280 93.5t385 34.5z" />
+    <glyph glyph-name="uniF1C1" unicode="&#xf1c1;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t132 96.5q14 9 23 -6q2 -2 2 -4q52 85 107 197
+q68 136 104 262q-24 82 -30.5 159.5t6.5 127.5q11 40 42 40h21h1q23 0 35 -15q18 -21 9 -68q-2 -6 -4 -8q1 -3 1 -8v-30q-2 -123 -14 -192q55 -164 146 -238zM318 54q52 24 137 158q-51 -40 -87.5 -84t-49.5 -74zM716 974q-15 -42 -2 -132q1 7 7 44q0 3 7 43q1 4 4 8
+q-1 1 -1 2q-1 2 -1 3q-1 22 -13 36q0 -1 -1 -2v-2zM592 313q135 54 284 81q-2 1 -13 9.5t-16 13.5q-76 67 -127 176q-27 -86 -83 -197q-30 -56 -45 -83zM1238 329q-24 24 -140 24q76 -28 124 -28q14 0 18 1q0 1 -2 3z" />
+    <glyph glyph-name="_422" unicode="&#xf1c2;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M233 768v-107h70l164 -661h159l128 485q7 20 10 46q2 16 2 24h4l3 -24q1 -3 3.5 -20t5.5 -26l128 -485h159l164 661h70v107h-300v-107h90l-99 -438q-5 -20 -7 -46l-2 -21h-4q0 3 -0.5 6.5t-1.5 8t-1 6.5q-1 5 -4 21t-5 25l-144 545h-114l-144 -545q-2 -9 -4.5 -24.5
+t-3.5 -21.5l-4 -21h-4l-2 21q-2 26 -7 46l-99 438h90v107h-300z" />
+    <glyph glyph-name="_423" unicode="&#xf1c3;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M429 106v-106h281v106h-75l103 161q5 7 10 16.5t7.5 13.5t3.5 4h2q1 -4 5 -10q2 -4 4.5 -7.5t6 -8t6.5 -8.5l107 -161h-76v-106h291v106h-68l-192 273l195 282h67v107h-279v-107h74l-103 -159q-4 -7 -10 -16.5t-9 -13.5l-2 -3h-2q-1 4 -5 10q-6 11 -17 23l-106 159h76v107
+h-290v-107h68l189 -272l-194 -283h-68z" />
+    <glyph glyph-name="_424" unicode="&#xf1c4;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M416 106v-106h327v106h-93v167h137q76 0 118 15q67 23 106.5 87t39.5 146q0 81 -37 141t-100 87q-48 19 -130 19h-368v-107h92v-555h-92zM769 386h-119v268h120q52 0 83 -18q56 -33 56 -115q0 -89 -62 -120q-31 -15 -78 -15z" />
+    <glyph glyph-name="_425" unicode="&#xf1c5;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M1280 320v-320h-1024v192l192 192l128 -128l384 384zM448 512q-80 0 -136 56t-56 136t56 136t136 56t136 -56t56 -136t-56 -136t-136 -56z" />
+    <glyph glyph-name="_426" unicode="&#xf1c6;" 
+d="M640 1152v128h-128v-128h128zM768 1024v128h-128v-128h128zM640 896v128h-128v-128h128zM768 768v128h-128v-128h128zM1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400
+v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-128v-128h-128v128h-512v-1536h1280zM781 593l107 -349q8 -27 8 -52q0 -83 -72.5 -137.5t-183.5 -54.5t-183.5 54.5t-72.5 137.5q0 25 8 52q21 63 120 396v128h128v-128h79
+q22 0 39 -13t23 -34zM640 128q53 0 90.5 19t37.5 45t-37.5 45t-90.5 19t-90.5 -19t-37.5 -45t37.5 -45t90.5 -19z" />
+    <glyph glyph-name="_427" unicode="&#xf1c7;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M620 686q20 -8 20 -30v-544q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-166 167h-131q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h131l166 167q16 15 35 7zM1037 -3q31 0 50 24q129 159 129 363t-129 363q-16 21 -43 24t-47 -14q-21 -17 -23.5 -43.5t14.5 -47.5
+q100 -123 100 -282t-100 -282q-17 -21 -14.5 -47.5t23.5 -42.5q18 -15 40 -15zM826 145q27 0 47 20q87 93 87 219t-87 219q-18 19 -45 20t-46 -17t-20 -44.5t18 -46.5q52 -57 52 -131t-52 -131q-19 -20 -18 -46.5t20 -44.5q20 -17 44 -17z" />
+    <glyph glyph-name="_428" unicode="&#xf1c8;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M768 768q52 0 90 -38t38 -90v-384q0 -52 -38 -90t-90 -38h-384q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h384zM1260 766q20 -8 20 -30v-576q0 -22 -20 -30q-8 -2 -12 -2q-14 0 -23 9l-265 266v90l265 266q9 9 23 9q4 0 12 -2z" />
+    <glyph glyph-name="_429" unicode="&#xf1c9;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M480 768q8 11 21 12.5t24 -6.5l51 -38q11 -8 12.5 -21t-6.5 -24l-182 -243l182 -243q8 -11 6.5 -24t-12.5 -21l-51 -38q-11 -8 -24 -6.5t-21 12.5l-226 301q-14 19 0 38zM1282 467q14 -19 0 -38l-226 -301q-8 -11 -21 -12.5t-24 6.5l-51 38q-11 8 -12.5 21t6.5 24l182 243
+l-182 243q-8 11 -6.5 24t12.5 21l51 38q11 8 24 6.5t21 -12.5zM662 6q-13 2 -20.5 13t-5.5 24l138 831q2 13 13 20.5t24 5.5l63 -10q13 -2 20.5 -13t5.5 -24l-138 -831q-2 -13 -13 -20.5t-24 -5.5z" />
+    <glyph glyph-name="_430" unicode="&#xf1ca;" 
+d="M1497 709v-198q-101 -23 -198 -23q-65 -136 -165.5 -271t-181.5 -215.5t-128 -106.5q-80 -45 -162 3q-28 17 -60.5 43.5t-85 83.5t-102.5 128.5t-107.5 184t-105.5 244t-91.5 314.5t-70.5 390h283q26 -218 70 -398.5t104.5 -317t121.5 -235.5t140 -195q169 169 287 406
+q-142 72 -223 220t-81 333q0 192 104 314.5t284 122.5q178 0 273 -105.5t95 -297.5q0 -159 -58 -286q-7 -1 -19.5 -3t-46 -2t-63 6t-62 25.5t-50.5 51.5q31 103 31 184q0 87 -29 132t-79 45q-53 0 -85 -49.5t-32 -140.5q0 -186 105 -293.5t267 -107.5q62 0 121 14z" />
+    <glyph glyph-name="_431" unicode="&#xf1cb;" horiz-adv-x="1792" 
+d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546
+q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" />
+    <glyph glyph-name="_432" unicode="&#xf1cc;" horiz-adv-x="2048" 
+d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94
+q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44 0 84.5 -21t73 -55t65 -75t69 -82t77 -75t97 -55
+t121.5 -21q121 0 204.5 71.5t83.5 190.5q0 121 -84 192t-207 71q-143 0 -241 -97l93 -108q66 64 142 64q52 0 92 -33t40 -84q0 -57 -37 -91.5t-94 -34.5q-43 0 -82.5 21t-72 55t-65.5 75t-69.5 82t-77.5 75t-96.5 55t-118.5 21q-122 0 -207 -70.5t-85 -189.5z" />
+    <glyph glyph-name="_433" unicode="&#xf1cd;" horiz-adv-x="1792" 
+d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194
+q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5
+t271.5 -112.5zM1380 473l194 -194q90 171 90 361t-90 361l-194 -194q28 -82 28 -167t-28 -167z" />
+    <glyph glyph-name="_434" unicode="&#xf1ce;" horiz-adv-x="1792" 
+d="M1760 640q0 -176 -68.5 -336t-184 -275.5t-275.5 -184t-336 -68.5t-336 68.5t-275.5 184t-184 275.5t-68.5 336q0 213 97 398.5t265 305.5t374 151v-228q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5
+t136.5 204t51 248.5q0 230 -145.5 406t-366.5 221v228q206 -31 374 -151t265 -305.5t97 -398.5z" />
+    <glyph glyph-name="uniF1D0" unicode="&#xf1d0;" horiz-adv-x="1792" 
+d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41
+t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115q-44 -14 -85 -50t-60 -65l-19 -29q-31 -56 -48 -133.5t-7 -170
+t57 -156.5q33 -45 77.5 -60.5t85 -5.5t76 26.5t57.5 33.5l21 16q60 53 96.5 115t48.5 121.5t10 121.5t-18 118t-37 107.5t-45.5 93t-45 72t-34.5 47.5l-13 17q-14 13 -7 13l10 -3q40 -29 62.5 -46t62 -50t64 -58t58.5 -65t55.5 -77t45.5 -88t38 -103t23.5 -117t10.5 -136
+q3 -259 -108 -465t-312 -321t-456 -115q-185 0 -351 74t-283.5 198t-184 293t-60.5 353z" />
+    <glyph glyph-name="uniF1D1" unicode="&#xf1d1;" horiz-adv-x="1792" 
+d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251
+l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241q-52 -10 -98 -10t-98 10l48 241q-90 18 -147 85l-185 -162
+q-67 77 -98 169l232 80q-14 42 -14 85t14 85l-233 80q33 93 99 169l185 -162q59 68 147 86l-48 240q44 10 98 10t98 -10l-48 -240q88 -18 147 -86l185 162q66 -76 99 -169zM874 1448v-66q-65 -2 -121 -13l17 -86q-220 -42 -368 -211l-65 56q-38 -42 -73 -98l-57 33
+q106 172 282 275.5t385 109.5zM1705 640q0 -205 -98 -385l-57 33q27 52 49 112l-83 28q36 103 36 212q0 112 -35 212l82 28q-19 56 -49 112l57 33q98 -180 98 -385zM1585 1063l-57 -33q-35 56 -73 98l-65 -56q-148 169 -368 211l17 86q-56 11 -121 13v66q209 -6 385 -109.5
+t282 -275.5zM1748 640q0 173 -67.5 331t-181.5 272t-272 181.5t-331 67.5t-331 -67.5t-272 -181.5t-181.5 -272t-67.5 -331t67.5 -331t181.5 -272t272 -181.5t331 -67.5t331 67.5t272 181.5t181.5 272t67.5 331zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71
+t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF1D2" unicode="&#xf1d2;" 
+d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85
+q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387q0 46 2 69h-137q3 -23 3 -71v-392
+q0 -50 -3 -75zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q3 0 11 -0.5t12 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072
+q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_438" unicode="&#xf1d3;" horiz-adv-x="1792" 
+d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58
+q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 108.5t-47.5 165.5q0 139 95 231.5t235 92.5q96 0 178 -47
+q98 0 218 47zM1123 220h-222q4 45 4 134v609q0 94 -4 128h222q-4 -33 -4 -124v-613q0 -89 4 -134zM1724 442v-196q-71 -39 -174 -39q-62 0 -107 20t-70 50t-39.5 78t-18.5 92t-4 103v351h2v4q-7 0 -19 1t-18 1q-21 0 -59 -6v190h96v76q0 54 -6 89h227q-6 -41 -6 -165h171
+v-190q-15 0 -43.5 2t-42.5 2h-85v-365q0 -131 87 -131q61 0 109 33zM1148 1389q0 -58 -39 -101.5t-96 -43.5q-58 0 -98 43.5t-40 101.5q0 59 39.5 103t98.5 44q58 0 96.5 -44.5t38.5 -102.5z" />
+    <glyph glyph-name="_439" unicode="&#xf1d4;" 
+d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="uniF1D5" unicode="&#xf1d5;" horiz-adv-x="1280" 
+d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5
+t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186t-102 153t-153 102t-186 38t-186 -38t-153 -102t-102 -153
+t-38 -186q0 -114 52 -218q10 -20 3.5 -40t-25.5 -30t-39.5 -3t-30.5 26q-64 123 -64 265q0 119 46.5 227t124.5 186t186 124t226 46q158 0 292.5 -78t212.5 -212.5t78 -292.5z" />
+    <glyph glyph-name="uniF1D6" unicode="&#xf1d6;" horiz-adv-x="1792" 
+d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5
+q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 -4 -16t-7 -18q-64 -97 -302 -97q-53 0 -110.5 9t-98 20
+t-104.5 30q-15 5 -23 7q-14 4 -46 4.5t-40 1.5q-41 -45 -127.5 -65t-168.5 -20q-35 0 -69 1.5t-93 9t-101 20.5t-74.5 40t-32.5 64q0 40 10 59.5t41 48.5q11 2 40.5 13t49.5 12q4 0 14 2q2 2 2 4l-2 3q-48 11 -108 105.5t-73 156.5l-5 3q-4 0 -12 -20q-18 -41 -54.5 -74.5
+t-77.5 -37.5h-1q-4 0 -6 4.5t-5 5.5q-23 54 -23 100q0 275 252 466z" />
+    <glyph glyph-name="uniF1D7" unicode="&#xf1d7;" horiz-adv-x="2048" 
+d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25
+q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -70 4q-169 0 -311 -77t-223.5 -208.5t-81.5 -287.5
+q0 -78 23 -152q-35 -3 -68 -3q-26 0 -50 1.5t-55 6.5t-44.5 7t-54.5 10.5t-50 10.5l-253 -127l72 218q-290 203 -290 490q0 169 97.5 311t264 223.5t363.5 81.5q176 0 332.5 -66t262 -182.5t136.5 -260.5zM2048 404q0 -117 -68.5 -223.5t-185.5 -193.5l55 -181l-199 109
+q-150 -37 -218 -37q-169 0 -311 70.5t-223.5 191.5t-81.5 264t81.5 264t223.5 191.5t311 70.5q161 0 303 -70.5t227.5 -192t85.5 -263.5z" />
+    <glyph glyph-name="_443" unicode="&#xf1d8;" horiz-adv-x="1792" 
+d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-453 185l-242 -295q-18 -23 -49 -23q-13 0 -22 4q-19 7 -30.5 23.5t-11.5 36.5v349l864 1059l-1069 -925l-395 162q-37 14 -40 55q-2 40 32 59l1664 960q15 9 32 9q20 0 36 -11z" />
+    <glyph glyph-name="_444" unicode="&#xf1d9;" horiz-adv-x="1792" 
+d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-527 215l-298 -327q-18 -21 -47 -21q-14 0 -23 4q-19 7 -30 23.5t-11 36.5v452l-472 193q-37 14 -40 55q-3 39 32 59l1664 960q35 21 68 -2zM1422 26l221 1323l-1434 -827l336 -137
+l863 639l-478 -797z" />
+    <glyph glyph-name="_445" unicode="&#xf1da;" 
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
+t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298zM896 928v-448q0 -14 -9 -23
+t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_446" unicode="&#xf1db;" 
+d="M768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_447" unicode="&#xf1dc;" horiz-adv-x="1792" 
+d="M1682 -128q-44 0 -132.5 3.5t-133.5 3.5q-44 0 -132 -3.5t-132 -3.5q-24 0 -37 20.5t-13 45.5q0 31 17 46t39 17t51 7t45 15q33 21 33 140l-1 391q0 21 -1 31q-13 4 -50 4h-675q-38 0 -51 -4q-1 -10 -1 -31l-1 -371q0 -142 37 -164q16 -10 48 -13t57 -3.5t45 -15
+t20 -45.5q0 -26 -12.5 -48t-36.5 -22q-47 0 -139.5 3.5t-138.5 3.5q-43 0 -128 -3.5t-127 -3.5q-23 0 -35.5 21t-12.5 45q0 30 15.5 45t36 17.5t47.5 7.5t42 15q33 23 33 143l-1 57v813q0 3 0.5 26t0 36.5t-1.5 38.5t-3.5 42t-6.5 36.5t-11 31.5t-16 18q-15 10 -45 12t-53 2
+t-41 14t-18 45q0 26 12 48t36 22q46 0 138.5 -3.5t138.5 -3.5q42 0 126.5 3.5t126.5 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17 -43.5t-38.5 -14.5t-49.5 -4t-43 -13q-35 -21 -35 -160l1 -320q0 -21 1 -32q13 -3 39 -3h699q25 0 38 3q1 11 1 32l1 320q0 139 -35 160
+q-18 11 -58.5 12.5t-66 13t-25.5 49.5q0 26 12.5 48t37.5 22q44 0 132 -3.5t132 -3.5q43 0 129 3.5t129 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17.5 -44t-40 -14.5t-51.5 -3t-44 -12.5q-35 -23 -35 -161l1 -943q0 -119 34 -140q16 -10 46 -13.5t53.5 -4.5t41.5 -15.5t18 -44.5
+q0 -26 -12 -48t-36 -22z" />
+    <glyph glyph-name="_448" unicode="&#xf1dd;" horiz-adv-x="1280" 
+d="M1278 1347v-73q0 -29 -18.5 -61t-42.5 -32q-50 0 -54 -1q-26 -6 -32 -31q-3 -11 -3 -64v-1152q0 -25 -18 -43t-43 -18h-108q-25 0 -43 18t-18 43v1218h-143v-1218q0 -25 -17.5 -43t-43.5 -18h-108q-26 0 -43.5 18t-17.5 43v496q-147 12 -245 59q-126 58 -192 179
+q-64 117 -64 259q0 166 88 286q88 118 209 159q111 37 417 37h479q25 0 43 -18t18 -43z" />
+    <glyph glyph-name="_449" unicode="&#xf1de;" 
+d="M352 128v-128h-352v128h352zM704 256q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM864 640v-128h-864v128h864zM224 1152v-128h-224v128h224zM1536 128v-128h-736v128h736zM576 1280q26 0 45 -19t19 -45v-256
+q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1216 768q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1536 640v-128h-224v128h224zM1536 1152v-128h-864v128h864z" />
+    <glyph glyph-name="uniF1E0" unicode="&#xf1e0;" 
+d="M1216 512q133 0 226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5q0 12 2 34l-360 180q-92 -86 -218 -86q-133 0 -226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5q126 0 218 -86l360 180q-2 22 -2 34q0 133 93.5 226.5t226.5 93.5
+t226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5q-126 0 -218 86l-360 -180q2 -22 2 -34t-2 -34l360 -180q92 86 218 86z" />
+    <glyph glyph-name="_451" unicode="&#xf1e1;" 
+d="M1280 341q0 88 -62.5 151t-150.5 63q-84 0 -145 -58l-241 120q2 16 2 23t-2 23l241 120q61 -58 145 -58q88 0 150.5 63t62.5 151t-62.5 150.5t-150.5 62.5t-151 -62.5t-63 -150.5q0 -7 2 -23l-241 -120q-62 57 -145 57q-88 0 -150.5 -62.5t-62.5 -150.5t62.5 -150.5
+t150.5 -62.5q83 0 145 57l241 -120q-2 -16 -2 -23q0 -88 63 -150.5t151 -62.5t150.5 62.5t62.5 150.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_452" unicode="&#xf1e2;" horiz-adv-x="1792" 
+d="M571 947q-10 25 -34 35t-49 0q-108 -44 -191 -127t-127 -191q-10 -25 0 -49t35 -34q13 -5 24 -5q42 0 60 40q34 84 98.5 148.5t148.5 98.5q25 11 35 35t0 49zM1513 1303l46 -46l-244 -243l68 -68q19 -19 19 -45.5t-19 -45.5l-64 -64q89 -161 89 -343q0 -143 -55.5 -273.5
+t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5q182 0 343 -89l64 64q19 19 45.5 19t45.5 -19l68 -68zM1521 1359q-10 -10 -22 -10q-13 0 -23 10l-91 90q-9 10 -9 23t9 23q10 9 23 9t23 -9l90 -91
+q10 -9 10 -22.5t-10 -22.5zM1751 1129q-11 -9 -23 -9t-23 9l-90 91q-10 9 -10 22.5t10 22.5q9 10 22.5 10t22.5 -10l91 -90q9 -10 9 -23t-9 -23zM1792 1312q0 -14 -9 -23t-23 -9h-96q-14 0 -23 9t-9 23t9 23t23 9h96q14 0 23 -9t9 -23zM1600 1504v-96q0 -14 -9 -23t-23 -9
+t-23 9t-9 23v96q0 14 9 23t23 9t23 -9t9 -23zM1751 1449l-91 -90q-10 -10 -22 -10q-13 0 -23 10q-10 9 -10 22.5t10 22.5l90 91q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
+    <glyph glyph-name="_453" unicode="&#xf1e3;" horiz-adv-x="1792" 
+d="M609 720l287 208l287 -208l-109 -336h-355zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1515 186q149 203 149 454v3l-102 -89l-240 224l63 323
+l134 -12q-150 206 -389 282l53 -124l-287 -159l-287 159l53 124q-239 -76 -389 -282l135 12l62 -323l-240 -224l-102 89v-3q0 -251 149 -454l30 132l326 -40l139 -298l-116 -69q117 -39 240 -39t240 39l-116 69l139 298l326 40z" />
+    <glyph glyph-name="_454" unicode="&#xf1e4;" horiz-adv-x="1792" 
+d="M448 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM256 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM832 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
+v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM66 768q-28 0 -47 19t-19 46v129h514v-129q0 -27 -19 -46t-46 -19h-383zM1216 224v-192q0 -14 -9 -23t-23 -9h-192
+q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1600 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23
+zM1408 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1016v-13h-514v10q0 104 -382 102q-382 -1 -382 -102v-10h-514v13q0 17 8.5 43t34 64t65.5 75.5t110.5 76t160 67.5t224 47.5t293.5 18.5t293 -18.5t224 -47.5
+t160.5 -67.5t110.5 -76t65.5 -75.5t34 -64t8.5 -43zM1792 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 962v-129q0 -27 -19 -46t-46 -19h-384q-27 0 -46 19t-19 46v129h514z" />
+    <glyph glyph-name="_455" unicode="&#xf1e5;" horiz-adv-x="1792" 
+d="M704 1216v-768q0 -26 -19 -45t-45 -19v-576q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v512l249 873q7 23 31 23h424zM1024 1216v-704h-256v704h256zM1792 320v-512q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v576q-26 0 -45 19t-19 45v768h424q24 0 31 -23z
+M736 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23zM1408 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_456" unicode="&#xf1e6;" horiz-adv-x="1792" 
+d="M1755 1083q37 -38 37 -90.5t-37 -90.5l-401 -400l150 -150l-160 -160q-163 -163 -389.5 -186.5t-411.5 100.5l-362 -362h-181v181l362 362q-124 185 -100.5 411.5t186.5 389.5l160 160l150 -150l400 401q38 37 91 37t90 -37t37 -90.5t-37 -90.5l-400 -401l234 -234
+l401 400q38 37 91 37t90 -37z" />
+    <glyph glyph-name="_457" unicode="&#xf1e7;" horiz-adv-x="1792" 
+d="M873 796q0 -83 -63.5 -142.5t-152.5 -59.5t-152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59t152.5 -59t63.5 -143zM1375 796q0 -83 -63 -142.5t-153 -59.5q-89 0 -152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59q90 0 153 -59t63 -143zM1600 616v667q0 87 -32 123.5
+t-111 36.5h-1112q-83 0 -112.5 -34t-29.5 -126v-673q43 -23 88.5 -40t81 -28t81 -18.5t71 -11t70 -4t58.5 -0.5t56.5 2t44.5 2q68 1 95 -27q6 -6 10 -9q26 -25 61 -51q7 91 118 87q5 0 36.5 -1.5t43 -2t45.5 -1t53 1t54.5 4.5t61 8.5t62 13.5t67 19.5t67.5 27t72 34.5z
+M1763 621q-121 -149 -372 -252q84 -285 -23 -465q-66 -113 -183 -148q-104 -32 -182 15q-86 51 -82 164l-1 326v1q-8 2 -24.5 6t-23.5 5l-1 -338q4 -114 -83 -164q-79 -47 -183 -15q-117 36 -182 150q-105 180 -22 463q-251 103 -372 252q-25 37 -4 63t60 -1q4 -2 11.5 -7
+t10.5 -8v694q0 72 47 123t114 51h1257q67 0 114 -51t47 -123v-694l21 15q39 27 60 1t-4 -63z" />
+    <glyph glyph-name="_458" unicode="&#xf1e8;" horiz-adv-x="1792" 
+d="M896 1102v-434h-145v434h145zM1294 1102v-434h-145v434h145zM1294 342l253 254v795h-1194v-1049h326v-217l217 217h398zM1692 1536v-1013l-434 -434h-326l-217 -217h-217v217h-398v1158l109 289h1483z" />
+    <glyph glyph-name="_459" unicode="&#xf1e9;" 
+d="M773 217v-127q-1 -292 -6 -305q-12 -32 -51 -40q-54 -9 -181.5 38t-162.5 89q-13 15 -17 36q-1 12 4 26q4 10 34 47t181 216q1 0 60 70q15 19 39.5 24.5t49.5 -3.5q24 -10 37.5 -29t12.5 -42zM624 468q-3 -55 -52 -70l-120 -39q-275 -88 -292 -88q-35 2 -54 36
+q-12 25 -17 75q-8 76 1 166.5t30 124.5t56 32q13 0 202 -77q71 -29 115 -47l84 -34q23 -9 35.5 -30.5t11.5 -48.5zM1450 171q-7 -54 -91.5 -161t-135.5 -127q-37 -14 -63 7q-14 10 -184 287l-47 77q-14 21 -11.5 46t19.5 46q35 43 83 26q1 -1 119 -40q203 -66 242 -79.5
+t47 -20.5q28 -22 22 -61zM778 803q5 -102 -54 -122q-58 -17 -114 71l-378 598q-8 35 19 62q41 43 207.5 89.5t224.5 31.5q40 -10 49 -45q3 -18 22 -305.5t24 -379.5zM1440 695q3 -39 -26 -59q-15 -10 -329 -86q-67 -15 -91 -23l1 2q-23 -6 -46 4t-37 32q-30 47 0 87
+q1 1 75 102q125 171 150 204t34 39q28 19 65 2q48 -23 123 -133.5t81 -167.5v-3z" />
+    <glyph glyph-name="_460" unicode="&#xf1ea;" horiz-adv-x="2048" 
+d="M1024 1024h-384v-384h384v384zM1152 384v-128h-640v128h640zM1152 1152v-640h-640v640h640zM1792 384v-128h-512v128h512zM1792 640v-128h-512v128h512zM1792 896v-128h-512v128h512zM1792 1152v-128h-512v128h512zM256 192v960h-128v-960q0 -26 19 -45t45 -19t45 19
+t19 45zM1920 192v1088h-1536v-1088q0 -33 -11 -64h1483q26 0 45 19t19 45zM2048 1408v-1216q0 -80 -56 -136t-136 -56h-1664q-80 0 -136 56t-56 136v1088h256v128h1792z" />
+    <glyph glyph-name="_461" unicode="&#xf1eb;" horiz-adv-x="2048" 
+d="M1024 13q-20 0 -93 73.5t-73 93.5q0 32 62.5 54t103.5 22t103.5 -22t62.5 -54q0 -20 -73 -93.5t-93 -73.5zM1294 284q-2 0 -40 25t-101.5 50t-128.5 25t-128.5 -25t-101 -50t-40.5 -25q-18 0 -93.5 75t-75.5 93q0 13 10 23q78 77 196 121t233 44t233 -44t196 -121
+q10 -10 10 -23q0 -18 -75.5 -93t-93.5 -75zM1567 556q-11 0 -23 8q-136 105 -252 154.5t-268 49.5q-85 0 -170.5 -22t-149 -53t-113.5 -62t-79 -53t-31 -22q-17 0 -92 75t-75 93q0 12 10 22q132 132 320 205t380 73t380 -73t320 -205q10 -10 10 -22q0 -18 -75 -93t-92 -75z
+M1838 827q-11 0 -22 9q-179 157 -371.5 236.5t-420.5 79.5t-420.5 -79.5t-371.5 -236.5q-11 -9 -22 -9q-17 0 -92.5 75t-75.5 93q0 13 10 23q187 186 445 288t527 102t527 -102t445 -288q10 -10 10 -23q0 -18 -75.5 -93t-92.5 -75z" />
+    <glyph glyph-name="_462" unicode="&#xf1ec;" horiz-adv-x="1792" 
+d="M384 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5
+t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5
+t37.5 90.5zM384 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 768q0 53 -37.5 90.5t-90.5 37.5
+t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1536 0v384q0 52 -38 90t-90 38t-90 -38t-38 -90v-384q0 -52 38 -90t90 -38t90 38t38 90zM1152 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z
+M1536 1088v256q0 26 -19 45t-45 19h-1280q-26 0 -45 -19t-19 -45v-256q0 -26 19 -45t45 -19h1280q26 0 45 19t19 45zM1536 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1408v-1536q0 -52 -38 -90t-90 -38
+h-1408q-52 0 -90 38t-38 90v1536q0 52 38 90t90 38h1408q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_463" unicode="&#xf1ed;" 
+d="M1519 890q18 -84 -4 -204q-87 -444 -565 -444h-44q-25 0 -44 -16.5t-24 -42.5l-4 -19l-55 -346l-2 -15q-5 -26 -24.5 -42.5t-44.5 -16.5h-251q-21 0 -33 15t-9 36q9 56 26.5 168t26.5 168t27 167.5t27 167.5q5 37 43 37h131q133 -2 236 21q175 39 287 144q102 95 155 246
+q24 70 35 133q1 6 2.5 7.5t3.5 1t6 -3.5q79 -59 98 -162zM1347 1172q0 -107 -46 -236q-80 -233 -302 -315q-113 -40 -252 -42q0 -1 -90 -1l-90 1q-100 0 -118 -96q-2 -8 -85 -530q-1 -10 -12 -10h-295q-22 0 -36.5 16.5t-11.5 38.5l232 1471q5 29 27.5 48t51.5 19h598
+q34 0 97.5 -13t111.5 -32q107 -41 163.5 -123t56.5 -196z" />
+    <glyph glyph-name="_464" unicode="&#xf1ee;" horiz-adv-x="1792" 
+d="M441 864q33 0 52 -26q266 -364 362 -774h-446q-127 441 -367 749q-12 16 -3 33.5t29 17.5h373zM1000 507q-49 -199 -125 -393q-79 310 -256 594q40 221 44 449q211 -340 337 -650zM1099 1216q235 -324 384.5 -698.5t184.5 -773.5h-451q-41 665 -553 1472h435zM1792 640
+q0 -424 -101 -812q-67 560 -359 1083q-25 301 -106 584q-4 16 5.5 28.5t25.5 12.5h359q21 0 38.5 -13t22.5 -33q115 -409 115 -850z" />
+    <glyph glyph-name="uniF1F0" unicode="&#xf1f0;" horiz-adv-x="2304" 
+d="M1975 546h-138q14 37 66 179l3 9q4 10 10 26t9 26l12 -55zM531 611l-58 295q-11 54 -75 54h-268l-2 -13q311 -79 403 -336zM710 960l-162 -438l-17 89q-26 70 -85 129.5t-131 88.5l135 -510h175l261 641h-176zM849 318h166l104 642h-166zM1617 944q-69 27 -149 27
+q-123 0 -201 -59t-79 -153q-1 -102 145 -174q48 -23 67 -41t19 -39q0 -30 -30 -46t-69 -16q-86 0 -156 33l-22 11l-23 -144q74 -34 185 -34q130 -1 208.5 59t80.5 160q0 106 -140 174q-49 25 -71 42t-22 38q0 22 24.5 38.5t70.5 16.5q70 1 124 -24l15 -8zM2042 960h-128
+q-65 0 -87 -54l-246 -588h174l35 96h212q5 -22 20 -96h154zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_466" unicode="&#xf1f1;" horiz-adv-x="2304" 
+d="M1119 1195q-128 85 -281 85q-103 0 -197.5 -40.5t-162.5 -108.5t-108.5 -162t-40.5 -197q0 -104 40.5 -198t108.5 -162t162 -108.5t198 -40.5q153 0 281 85q-131 107 -178 265.5t0.5 316.5t177.5 265zM1152 1171q-126 -99 -172 -249.5t-0.5 -300.5t172.5 -249
+q127 99 172.5 249t-0.5 300.5t-172 249.5zM1185 1195q130 -107 177.5 -265.5t0.5 -317t-178 -264.5q128 -85 281 -85q104 0 198 40.5t162 108.5t108.5 162t40.5 198q0 103 -40.5 197t-108.5 162t-162.5 108.5t-197.5 40.5q-153 0 -281 -85zM1926 473h7v3h-17v-3h7v-17h3v17z
+M1955 456h4v20h-5l-6 -13l-6 13h-5v-20h3v15l6 -13h4l5 13v-15zM1947 16v-2h-2h-3v3h3h2v-1zM1947 7h3l-4 5h2l1 1q1 1 1 3t-1 3l-1 1h-3h-6v-13h3v5h1zM685 75q0 19 11 31t30 12q18 0 29 -12.5t11 -30.5q0 -19 -11 -31t-29 -12q-19 0 -30 12t-11 31zM1158 119q30 0 35 -32
+h-70q5 32 35 32zM1514 75q0 19 11 31t29 12t29.5 -12.5t11.5 -30.5q0 -19 -11 -31t-30 -12q-18 0 -29 12t-11 31zM1786 75q0 18 11.5 30.5t29.5 12.5t29.5 -12.5t11.5 -30.5q0 -19 -11.5 -31t-29.5 -12t-29.5 12.5t-11.5 30.5zM1944 3q-2 0 -4 1q-1 0 -3 2t-2 3q-1 2 -1 4
+q0 3 1 4q0 2 2 4l1 1q2 0 2 1q2 1 4 1q3 0 4 -1l4 -2l2 -4v-1q1 -2 1 -3l-1 -1v-3t-1 -1l-1 -2q-2 -2 -4 -2q-1 -1 -4 -1zM599 7h30v85q0 24 -14.5 38.5t-39.5 15.5q-32 0 -47 -24q-14 24 -45 24q-24 0 -39 -20v16h-30v-135h30v75q0 36 33 36q30 0 30 -36v-75h29v75
+q0 36 33 36q30 0 30 -36v-75zM765 7h29v68v67h-29v-16q-17 20 -43 20q-29 0 -48 -20t-19 -51t19 -51t48 -20q28 0 43 20v-17zM943 48q0 34 -47 40l-14 2q-23 4 -23 14q0 15 25 15q23 0 43 -11l12 24q-22 14 -55 14q-26 0 -41 -12t-15 -32q0 -33 47 -39l13 -2q24 -4 24 -14
+q0 -17 -31 -17q-25 0 -45 14l-13 -23q25 -17 58 -17q29 0 45.5 12t16.5 32zM1073 14l-8 25q-13 -7 -26 -7q-19 0 -19 22v61h48v27h-48v41h-30v-41h-28v-27h28v-61q0 -50 47 -50q21 0 36 10zM1159 146q-29 0 -48 -20t-19 -51q0 -32 19.5 -51.5t49.5 -19.5q33 0 55 19l-14 22
+q-18 -15 -39 -15q-34 0 -41 33h101v12q0 32 -18 51.5t-46 19.5zM1318 146q-23 0 -35 -20v16h-30v-135h30v76q0 35 29 35q10 0 18 -4l9 28q-9 4 -21 4zM1348 75q0 -31 19.5 -51t52.5 -20q29 0 48 16l-14 24q-18 -13 -35 -12q-18 0 -29.5 12t-11.5 31t11.5 31t29.5 12
+q19 0 35 -12l14 24q-20 16 -48 16q-33 0 -52.5 -20t-19.5 -51zM1593 7h30v68v67h-30v-16q-15 20 -42 20q-29 0 -48.5 -20t-19.5 -51t19.5 -51t48.5 -20q28 0 42 20v-17zM1726 146q-23 0 -35 -20v16h-29v-135h29v76q0 35 29 35q10 0 18 -4l9 28q-8 4 -21 4zM1866 7h29v68v122
+h-29v-71q-15 20 -43 20t-47.5 -20.5t-19.5 -50.5t19.5 -50.5t47.5 -20.5q29 0 43 20v-17zM1944 27l-2 -1h-3q-2 -1 -4 -3q-3 -1 -3 -4q-1 -2 -1 -6q0 -3 1 -5q0 -2 3 -4q2 -2 4 -3t5 -1q4 0 6 1q0 1 2 2l2 1q1 1 3 4q1 2 1 5q0 4 -1 6q-1 1 -3 4q0 1 -2 2l-2 1q-1 0 -3 0.5
+t-3 0.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_467" unicode="&#xf1f2;" horiz-adv-x="2304" 
+d="M313 759q0 -51 -36 -84q-29 -26 -89 -26h-17v220h17q61 0 89 -27q36 -31 36 -83zM2089 824q0 -52 -64 -52h-19v101h20q63 0 63 -49zM380 759q0 74 -50 120.5t-129 46.5h-95v-333h95q74 0 119 38q60 51 60 128zM410 593h65v333h-65v-333zM730 694q0 40 -20.5 62t-75.5 42
+q-29 10 -39.5 19t-10.5 23q0 16 13.5 26.5t34.5 10.5q29 0 53 -27l34 44q-41 37 -98 37q-44 0 -74 -27.5t-30 -67.5q0 -35 18 -55.5t64 -36.5q37 -13 45 -19q19 -12 19 -34q0 -20 -14 -33.5t-36 -13.5q-48 0 -71 44l-42 -40q44 -64 115 -64q51 0 83 30.5t32 79.5zM1008 604
+v77q-37 -37 -78 -37q-49 0 -80.5 32.5t-31.5 82.5q0 48 31.5 81.5t77.5 33.5q43 0 81 -38v77q-40 20 -80 20q-74 0 -125.5 -50.5t-51.5 -123.5t51 -123.5t125 -50.5q42 0 81 19zM2240 0v527q-65 -40 -144.5 -84t-237.5 -117t-329.5 -137.5t-417.5 -134.5t-504 -118h1569
+q26 0 45 19t19 45zM1389 757q0 75 -53 128t-128 53t-128 -53t-53 -128t53 -128t128 -53t128 53t53 128zM1541 584l144 342h-71l-90 -224l-89 224h-71l142 -342h35zM1714 593h184v56h-119v90h115v56h-115v74h119v57h-184v-333zM2105 593h80l-105 140q76 16 76 94q0 47 -31 73
+t-87 26h-97v-333h65v133h9zM2304 1274v-1268q0 -56 -38.5 -95t-93.5 -39h-2040q-55 0 -93.5 39t-38.5 95v1268q0 56 38.5 95t93.5 39h2040q55 0 93.5 -39t38.5 -95z" />
+    <glyph glyph-name="f1f3" unicode="&#xf1f3;" horiz-adv-x="2304" 
+d="M119 854h89l-45 108zM740 328l74 79l-70 79h-163v-49h142v-55h-142v-54h159zM898 406l99 -110v217zM1186 453q0 33 -40 33h-84v-69h83q41 0 41 36zM1475 457q0 29 -42 29h-82v-61h81q43 0 43 32zM1197 923q0 29 -42 29h-82v-60h81q43 0 43 31zM1656 854h89l-44 108z
+M699 1009v-271h-66v212l-94 -212h-57l-94 212v-212h-132l-25 60h-135l-25 -60h-70l116 271h96l110 -257v257h106l85 -184l77 184h108zM1255 453q0 -20 -5.5 -35t-14 -25t-22.5 -16.5t-26 -10t-31.5 -4.5t-31.5 -1t-32.5 0.5t-29.5 0.5v-91h-126l-80 90l-83 -90h-256v271h260
+l80 -89l82 89h207q109 0 109 -89zM964 794v-56h-217v271h217v-57h-152v-49h148v-55h-148v-54h152zM2304 235v-229q0 -55 -38.5 -94.5t-93.5 -39.5h-2040q-55 0 -93.5 39.5t-38.5 94.5v678h111l25 61h55l25 -61h218v46l19 -46h113l20 47v-47h541v99l10 1q10 0 10 -14v-86h279
+v23q23 -12 55 -18t52.5 -6.5t63 0.5t51.5 1l25 61h56l25 -61h227v58l34 -58h182v378h-180v-44l-25 44h-185v-44l-23 44h-249q-69 0 -109 -22v22h-172v-22q-24 22 -73 22h-628l-43 -97l-43 97h-198v-44l-22 44h-169l-78 -179v391q0 55 38.5 94.5t93.5 39.5h2040
+q55 0 93.5 -39.5t38.5 -94.5v-678h-120q-51 0 -81 -22v22h-177q-55 0 -78 -22v22h-316v-22q-31 22 -87 22h-209v-22q-23 22 -91 22h-234l-54 -58l-50 58h-349v-378h343l55 59l52 -59h211v89h21q59 0 90 13v-102h174v99h8q8 0 10 -2t2 -10v-87h529q57 0 88 24v-24h168
+q60 0 95 17zM1546 469q0 -23 -12 -43t-34 -29q25 -9 34 -26t9 -46v-54h-65v45q0 33 -12 43.5t-46 10.5h-69v-99h-65v271h154q48 0 77 -15t29 -58zM1269 936q0 -24 -12.5 -44t-33.5 -29q26 -9 34.5 -25.5t8.5 -46.5v-53h-65q0 9 0.5 26.5t0 25t-3 18.5t-8.5 16t-17.5 8.5
+t-29.5 3.5h-70v-98h-64v271l153 -1q49 0 78 -14.5t29 -57.5zM1798 327v-56h-216v271h216v-56h-151v-49h148v-55h-148v-54zM1372 1009v-271h-66v271h66zM2065 357q0 -86 -102 -86h-126v58h126q34 0 34 25q0 16 -17 21t-41.5 5t-49.5 3.5t-42 22.5t-17 55q0 39 26 60t66 21
+h130v-57h-119q-36 0 -36 -25q0 -16 17.5 -20.5t42 -4t49 -2.5t42 -21.5t17.5 -54.5zM2304 407v-101q-24 -35 -88 -35h-125v58h125q33 0 33 25q0 13 -12.5 19t-31 5.5t-40 2t-40 8t-31 24t-12.5 48.5q0 39 26.5 60t66.5 21h129v-57h-118q-36 0 -36 -25q0 -20 29 -22t68.5 -5
+t56.5 -26zM2139 1008v-270h-92l-122 203v-203h-132l-26 60h-134l-25 -60h-75q-129 0 -129 133q0 138 133 138h63v-59q-7 0 -28 1t-28.5 0.5t-23 -2t-21.5 -6.5t-14.5 -13.5t-11.5 -23t-3 -33.5q0 -38 13.5 -58t49.5 -20h29l92 213h97l109 -256v256h99l114 -188v188h66z" />
+    <glyph glyph-name="_469" unicode="&#xf1f4;" horiz-adv-x="2304" 
+d="M745 630q0 -37 -25.5 -61.5t-62.5 -24.5q-29 0 -46.5 16t-17.5 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM1530 779q0 -42 -22 -57t-66 -15l-32 -1l17 107q2 11 13 11h18q22 0 35 -2t25 -12.5t12 -30.5zM1881 630q0 -36 -25.5 -61t-61.5 -25q-29 0 -47 16
+t-18 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM513 801q0 59 -38.5 85.5t-100.5 26.5h-160q-19 0 -21 -19l-65 -408q-1 -6 3 -11t10 -5h76q20 0 22 19l18 110q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM822 489l41 261q1 6 -3 11t-10 5h-76
+q-14 0 -17 -33q-27 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q28 0 58 12t48 32q-4 -12 -4 -21q0 -16 13 -16h69q19 0 22 19zM1269 752q0 5 -4 9.5t-9 4.5h-77q-11 0 -18 -10l-106 -156l-44 150q-5 16 -22 16h-75q-5 0 -9 -4.5t-4 -9.5q0 -2 19.5 -59
+t42 -123t23.5 -70q-82 -112 -82 -120q0 -13 13 -13h77q11 0 18 10l255 368q2 2 2 7zM1649 801q0 59 -38.5 85.5t-100.5 26.5h-159q-20 0 -22 -19l-65 -408q-1 -6 3 -11t10 -5h82q12 0 16 13l18 116q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM1958 489
+l41 261q1 6 -3 11t-10 5h-76q-14 0 -17 -33q-26 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q29 0 59 12t47 32q0 -1 -2 -9t-2 -12q0 -16 13 -16h69q19 0 22 19zM2176 898v1q0 14 -13 14h-74q-11 0 -13 -11l-65 -416l-1 -2q0 -5 4 -9.5t10 -4.5h66
+q19 0 21 19zM392 764q-5 -35 -26 -46t-60 -11l-33 -1l17 107q2 11 13 11h19q40 0 58 -11.5t12 -48.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_470" unicode="&#xf1f5;" horiz-adv-x="2304" 
+d="M1597 633q0 -69 -21 -106q-19 -35 -52 -35q-23 0 -41 9v224q29 30 57 30q57 0 57 -122zM2035 669h-110q6 98 56 98q51 0 54 -98zM476 534q0 59 -33 91.5t-101 57.5q-36 13 -52 24t-16 25q0 26 38 26q58 0 124 -33l18 112q-67 32 -149 32q-77 0 -123 -38q-48 -39 -48 -109
+q0 -58 32.5 -90.5t99.5 -56.5q39 -14 54.5 -25.5t15.5 -27.5q0 -31 -48 -31q-29 0 -70 12.5t-72 30.5l-18 -113q72 -41 168 -41q81 0 129 37q51 41 51 117zM771 749l19 111h-96v135l-129 -21l-18 -114l-46 -8l-17 -103h62v-219q0 -84 44 -120q38 -30 111 -30q32 0 79 11v118
+q-32 -7 -44 -7q-42 0 -42 50v197h77zM1087 724v139q-15 3 -28 3q-32 0 -55.5 -16t-33.5 -46l-10 56h-131v-471h150v306q26 31 82 31q16 0 26 -2zM1124 389h150v471h-150v-471zM1746 638q0 122 -45 179q-40 52 -111 52q-64 0 -117 -56l-8 47h-132v-645l150 25v151
+q36 -11 68 -11q83 0 134 56q61 65 61 202zM1278 986q0 33 -23 56t-56 23t-56 -23t-23 -56t23 -56.5t56 -23.5t56 23.5t23 56.5zM2176 629q0 113 -48 176q-50 64 -144 64q-96 0 -151.5 -66t-55.5 -180q0 -128 63 -188q55 -55 161 -55q101 0 160 40l-16 103q-57 -31 -128 -31
+q-43 0 -63 19q-23 19 -28 66h248q2 14 2 52zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_471" unicode="&#xf1f6;" horiz-adv-x="2048" 
+d="M1558 684q61 -356 298 -556q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5zM1024 -176q16 0 16 16t-16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5zM2026 1424q8 -10 7.5 -23.5t-10.5 -22.5
+l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5
+l418 363q10 8 23.5 7t21.5 -11z" />
+    <glyph glyph-name="_472" unicode="&#xf1f7;" horiz-adv-x="2048" 
+d="M1040 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM503 315l877 760q-42 88 -132.5 146.5t-223.5 58.5q-93 0 -169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -384 -137 -645zM1856 128
+q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5l149 129h757q-166 187 -227 459l111 97q61 -356 298 -556zM1942 1520l84 -96q8 -10 7.5 -23.5t-10.5 -22.5l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161
+q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5l418 363q10 8 23.5 7t21.5 -11z" />
+    <glyph glyph-name="_473" unicode="&#xf1f8;" horiz-adv-x="1408" 
+d="M512 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM768 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1024 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704
+q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167
+q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_474" unicode="&#xf1f9;" 
+d="M1150 462v-109q0 -50 -36.5 -89t-94 -60.5t-118 -32.5t-117.5 -11q-205 0 -342.5 139t-137.5 346q0 203 136 339t339 136q34 0 75.5 -4.5t93 -18t92.5 -34t69 -56.5t28 -81v-109q0 -16 -16 -16h-118q-16 0 -16 16v70q0 43 -65.5 67.5t-137.5 24.5q-140 0 -228.5 -91.5
+t-88.5 -237.5q0 -151 91.5 -249.5t233.5 -98.5q68 0 138 24t70 66v70q0 7 4.5 11.5t10.5 4.5h119q6 0 11 -4.5t5 -11.5zM768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5
+t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_475" unicode="&#xf1fa;" 
+d="M972 761q0 108 -53.5 169t-147.5 61q-63 0 -124 -30.5t-110 -84.5t-79.5 -137t-30.5 -180q0 -112 53.5 -173t150.5 -61q96 0 176 66.5t122.5 166t42.5 203.5zM1536 640q0 -111 -37 -197t-98.5 -135t-131.5 -74.5t-145 -27.5q-6 0 -15.5 -0.5t-16.5 -0.5q-95 0 -142 53
+q-28 33 -33 83q-52 -66 -131.5 -110t-173.5 -44q-161 0 -249.5 95.5t-88.5 269.5q0 157 66 290t179 210.5t246 77.5q87 0 155 -35.5t106 -99.5l2 19l11 56q1 6 5.5 12t9.5 6h118q5 0 13 -11q5 -5 3 -16l-120 -614q-5 -24 -5 -48q0 -39 12.5 -52t44.5 -13q28 1 57 5.5t73 24
+t77 50t57 89.5t24 137q0 292 -174 466t-466 174q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51q228 0 405 144q11 9 24 8t21 -12l41 -49q8 -12 7 -24q-2 -13 -12 -22q-102 -83 -227.5 -128t-258.5 -45q-156 0 -298 61
+t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q344 0 556 -212t212 -556z" />
+    <glyph glyph-name="_476" unicode="&#xf1fb;" horiz-adv-x="1792" 
+d="M1698 1442q94 -94 94 -226.5t-94 -225.5l-225 -223l104 -104q10 -10 10 -23t-10 -23l-210 -210q-10 -10 -23 -10t-23 10l-105 105l-603 -603q-37 -37 -90 -37h-203l-256 -128l-64 64l128 256v203q0 53 37 90l603 603l-105 105q-10 10 -10 23t10 23l210 210q10 10 23 10
+t23 -10l104 -104l223 225q93 94 225.5 94t226.5 -94zM512 64l576 576l-192 192l-576 -576v-192h192z" />
+    <glyph glyph-name="f1fc" unicode="&#xf1fc;" horiz-adv-x="1792" 
+d="M1615 1536q70 0 122.5 -46.5t52.5 -116.5q0 -63 -45 -151q-332 -629 -465 -752q-97 -91 -218 -91q-126 0 -216.5 92.5t-90.5 219.5q0 128 92 212l638 579q59 54 130 54zM706 502q39 -76 106.5 -130t150.5 -76l1 -71q4 -213 -129.5 -347t-348.5 -134q-123 0 -218 46.5
+t-152.5 127.5t-86.5 183t-29 220q7 -5 41 -30t62 -44.5t59 -36.5t46 -17q41 0 55 37q25 66 57.5 112.5t69.5 76t88 47.5t103 25.5t125 10.5z" />
+    <glyph glyph-name="_478" unicode="&#xf1fd;" horiz-adv-x="1792" 
+d="M1792 128v-384h-1792v384q45 0 85 14t59 27.5t47 37.5q30 27 51.5 38t56.5 11q24 0 44 -7t31 -15t33 -27q29 -25 47 -38t58 -27t86 -14q45 0 85 14.5t58 27t48 37.5q21 19 32.5 27t31 15t43.5 7q35 0 56.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14t85 14t59 27.5
+t47 37.5q30 27 51.5 38t56.5 11q34 0 55.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14zM1792 448v-192q-24 0 -44 7t-31 15t-33 27q-29 25 -47 38t-58 27t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-22 -19 -33 -27t-31 -15t-44 -7q-35 0 -56.5 11t-51.5 38q-29 25 -47 38
+t-58 27t-86 14q-45 0 -85 -14.5t-58 -27t-48 -37.5q-21 -19 -32.5 -27t-31 -15t-43.5 -7q-35 0 -56.5 11t-51.5 38q-28 24 -47 37.5t-59 27.5t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-30 -27 -51.5 -38t-56.5 -11v192q0 80 56 136t136 56h64v448h256v-448h256v448h256v-448
+h256v448h256v-448h64q80 0 136 -56t56 -136zM512 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1024 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5
+q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1536 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150z" />
+    <glyph glyph-name="_479" unicode="&#xf1fe;" horiz-adv-x="2048" 
+d="M2048 0v-128h-2048v1536h128v-1408h1920zM1664 1024l256 -896h-1664v576l448 576l576 -576z" />
+    <glyph glyph-name="_480" unicode="&#xf200;" horiz-adv-x="1792" 
+d="M768 646l546 -546q-106 -108 -247.5 -168t-298.5 -60q-209 0 -385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103v-762zM955 640h773q0 -157 -60 -298.5t-168 -247.5zM1664 768h-768v768q209 0 385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_481" unicode="&#xf201;" horiz-adv-x="2048" 
+d="M2048 0v-128h-2048v1536h128v-1408h1920zM1920 1248v-435q0 -21 -19.5 -29.5t-35.5 7.5l-121 121l-633 -633q-10 -10 -23 -10t-23 10l-233 233l-416 -416l-192 192l585 585q10 10 23 10t23 -10l233 -233l464 464l-121 121q-16 16 -7.5 35.5t29.5 19.5h435q14 0 23 -9
+t9 -23z" />
+    <glyph glyph-name="_482" unicode="&#xf202;" horiz-adv-x="1792" 
+d="M1292 832q0 -6 10 -41q10 -29 25 -49.5t41 -34t44 -20t55 -16.5q325 -91 325 -332q0 -146 -105.5 -242.5t-254.5 -96.5q-59 0 -111.5 18.5t-91.5 45.5t-77 74.5t-63 87.5t-53.5 103.5t-43.5 103t-39.5 106.5t-35.5 95q-32 81 -61.5 133.5t-73.5 96.5t-104 64t-142 20
+q-96 0 -183 -55.5t-138 -144.5t-51 -185q0 -160 106.5 -279.5t263.5 -119.5q177 0 258 95q56 63 83 116l84 -152q-15 -34 -44 -70l1 -1q-131 -152 -388 -152q-147 0 -269.5 79t-190.5 207.5t-68 274.5q0 105 43.5 206t116 176.5t172 121.5t204.5 46q87 0 159 -19t123.5 -50
+t95 -80t72.5 -99t58.5 -117t50.5 -124.5t50 -130.5t55 -127q96 -200 233 -200q81 0 138.5 48.5t57.5 128.5q0 42 -19 72t-50.5 46t-72.5 31.5t-84.5 27t-87.5 34t-81 52t-65 82t-39 122.5q-3 16 -3 33q0 110 87.5 192t198.5 78q78 -3 120.5 -14.5t90.5 -53.5h-1
+q12 -11 23 -24.5t26 -36t19 -27.5l-129 -99q-26 49 -54 70v1q-23 21 -97 21q-49 0 -84 -33t-35 -83z" />
+    <glyph glyph-name="_483" unicode="&#xf203;" 
+d="M1432 484q0 173 -234 239q-35 10 -53 16.5t-38 25t-29 46.5q0 2 -2 8.5t-3 12t-1 7.5q0 36 24.5 59.5t60.5 23.5q54 0 71 -15h-1q20 -15 39 -51l93 71q-39 54 -49 64q-33 29 -67.5 39t-85.5 10q-80 0 -142 -57.5t-62 -137.5q0 -7 2 -23q16 -96 64.5 -140t148.5 -73
+q29 -8 49 -15.5t45 -21.5t38.5 -34.5t13.5 -46.5v-5q1 -58 -40.5 -93t-100.5 -35q-97 0 -167 144q-23 47 -51.5 121.5t-48 125.5t-54 110.5t-74 95.5t-103.5 60.5t-147 24.5q-101 0 -192 -56t-144 -148t-50 -192v-1q4 -108 50.5 -199t133.5 -147.5t196 -56.5q186 0 279 110
+q20 27 31 51l-60 109q-42 -80 -99 -116t-146 -36q-115 0 -191 87t-76 204q0 105 82 189t186 84q112 0 170 -53.5t104 -172.5q8 -21 25.5 -68.5t28.5 -76.5t31.5 -74.5t38.5 -74t45.5 -62.5t55.5 -53.5t66 -33t80 -13.5q107 0 183 69.5t76 174.5zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_484" unicode="&#xf204;" horiz-adv-x="2048" 
+d="M1152 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1920 640q0 104 -40.5 198.5
+t-109.5 163.5t-163.5 109.5t-198.5 40.5h-386q119 -90 188.5 -224t69.5 -288t-69.5 -288t-188.5 -224h386q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM2048 640q0 -130 -51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5
+t-136.5 204t-51 248.5t51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5z" />
+    <glyph glyph-name="_485" unicode="&#xf205;" horiz-adv-x="2048" 
+d="M0 640q0 130 51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5t-51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5t-136.5 204t-51 248.5zM1408 128q104 0 198.5 40.5t163.5 109.5
+t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5z" />
+    <glyph glyph-name="_486" unicode="&#xf206;" horiz-adv-x="2304" 
+d="M762 384h-314q-40 0 -57.5 35t6.5 67l188 251q-65 31 -137 31q-132 0 -226 -94t-94 -226t94 -226t226 -94q115 0 203 72.5t111 183.5zM576 512h186q-18 85 -75 148zM1056 512l288 384h-480l-99 -132q105 -103 126 -252h165zM2176 448q0 132 -94 226t-226 94
+q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94t226 94t94 226zM2304 448q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 97 39.5 183.5t109.5 149.5l-65 98l-353 -469
+q-18 -26 -51 -26h-197q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q114 0 215 -55l137 183h-224q-26 0 -45 19t-19 45t19 45t45 19h384v-128h435l-85 128h-222q-26 0 -45 19t-19 45t19 45t45 19h256q33 0 53 -28l267 -400
+q91 44 192 44q185 0 316.5 -131.5t131.5 -316.5z" />
+    <glyph glyph-name="_487" unicode="&#xf207;" 
+d="M384 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1362 716l-72 384q-5 23 -22.5 37.5t-40.5 14.5
+h-918q-23 0 -40.5 -14.5t-22.5 -37.5l-72 -384q-5 -30 14 -53t49 -23h1062q30 0 49 23t14 53zM1136 1328q0 20 -14 34t-34 14h-640q-20 0 -34 -14t-14 -34t14 -34t34 -14h640q20 0 34 14t14 34zM1536 603v-603h-128v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5v128h-768v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5v128h-128v603q0 112 25 223l103 454q9 78 97.5 137t230 89t312.5 30t312.5 -30t230 -89t97.5 -137l105 -454q23 -102 23 -223z" />
+    <glyph glyph-name="_488" unicode="&#xf208;" horiz-adv-x="2048" 
+d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 86 -23 170h-982q-36 0 -61 25t-25 60q0 36 25 61t61 25h908q-88 143 -235 227t-320 84q-177 0 -327.5 -87.5t-238 -237.5t-87.5 -327
+q0 -86 23 -170h982q36 0 61 -25t25 -60q0 -36 -25 -61t-61 -25h-908q88 -143 235.5 -227t320.5 -84q132 0 253 51.5t208 139t139 208t52 253.5zM2048 959q0 -35 -25 -60t-61 -25h-131q17 -85 17 -170q0 -167 -65.5 -319.5t-175.5 -263t-262.5 -176t-319.5 -65.5
+q-246 0 -448.5 133t-301.5 350h-189q-36 0 -61 25t-25 61q0 35 25 60t61 25h132q-17 85 -17 170q0 167 65.5 319.5t175.5 263t262.5 176t320.5 65.5q245 0 447.5 -133t301.5 -350h188q36 0 61 -25t25 -61z" />
+    <glyph glyph-name="_489" unicode="&#xf209;" horiz-adv-x="1280" 
+d="M953 1158l-114 -328l117 -21q165 451 165 518q0 56 -38 56q-57 0 -130 -225zM654 471l33 -88q37 42 71 67l-33 5.5t-38.5 7t-32.5 8.5zM362 1367q0 -98 159 -521q17 10 49 10q15 0 75 -5l-121 351q-75 220 -123 220q-19 0 -29 -17.5t-10 -37.5zM283 608q0 -36 51.5 -119
+t117.5 -153t100 -70q14 0 25.5 13t11.5 27q0 24 -32 102q-13 32 -32 72t-47.5 89t-61.5 81t-62 32q-20 0 -45.5 -27t-25.5 -47zM125 273q0 -41 25 -104q59 -145 183.5 -227t281.5 -82q227 0 382 170q152 169 152 427q0 43 -1 67t-11.5 62t-30.5 56q-56 49 -211.5 75.5
+t-270.5 26.5q-37 0 -49 -11q-12 -5 -12 -35q0 -34 21.5 -60t55.5 -40t77.5 -23.5t87.5 -11.5t85 -4t70 0h23q24 0 40 -19q15 -19 19 -55q-28 -28 -96 -54q-61 -22 -93 -46q-64 -46 -108.5 -114t-44.5 -137q0 -31 18.5 -88.5t18.5 -87.5l-3 -12q-4 -12 -4 -14
+q-137 10 -146 216q-8 -2 -41 -2q2 -7 2 -21q0 -53 -40.5 -89.5t-94.5 -36.5q-82 0 -166.5 78t-84.5 159q0 34 33 67q52 -64 60 -76q77 -104 133 -104q12 0 26.5 8.5t14.5 20.5q0 34 -87.5 145t-116.5 111q-43 0 -70 -44.5t-27 -90.5zM11 264q0 101 42.5 163t136.5 88
+q-28 74 -28 104q0 62 61 123t122 61q29 0 70 -15q-163 462 -163 567q0 80 41 130.5t119 50.5q131 0 325 -581q6 -17 8 -23q6 16 29 79.5t43.5 118.5t54 127.5t64.5 123t70.5 86.5t76.5 36q71 0 112 -49t41 -122q0 -108 -159 -550q61 -15 100.5 -46t58.5 -78t26 -93.5
+t7 -110.5q0 -150 -47 -280t-132 -225t-211 -150t-278 -55q-111 0 -223 42q-149 57 -258 191.5t-109 286.5z" />
+    <glyph glyph-name="_490" unicode="&#xf20a;" horiz-adv-x="2048" 
+d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206
+q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65.5 -18q49 0 76.5 38t33.5 101zM1856 647q0 207 -15.5 307
+t-60.5 161q-6 8 -13.5 14t-21.5 15t-16 11q-86 63 -697 63q-625 0 -710 -63q-5 -4 -17.5 -11.5t-21 -14t-14.5 -14.5q-45 -60 -60 -159.5t-15 -308.5q0 -208 15 -307.5t60 -160.5q6 -8 15 -15t20.5 -14t17.5 -12q44 -33 239.5 -49t470.5 -16q610 0 697 65q5 4 17 11t20.5 14
+t13.5 16q46 60 61 159t15 309zM2048 1408v-1536h-2048v1536h2048z" />
+    <glyph glyph-name="_491" unicode="&#xf20b;" 
+d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5
+t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_492" unicode="&#xf20c;" 
+d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55
+q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -86 -32.5t-33 -85.5v-410
+q0 -21 22 -21h55q21 0 21 21v180q31 -42 94 -42h191q53 0 86 32.5t33 85.5zM1536 1176v-1072q0 -96 -68 -164t-164 -68h-1072q-96 0 -164 68t-68 164v1072q0 96 68 164t164 68h1072q96 0 164 -68t68 -164z" />
+    <glyph glyph-name="_493" unicode="&#xf20d;" 
+d="M915 450h-294l147 551zM1001 128h311l-324 1024h-440l-324 -1024h311l383 314zM1536 1120v-960q0 -118 -85 -203t-203 -85h-960q-118 0 -203 85t-85 203v960q0 118 85 203t203 85h960q118 0 203 -85t85 -203z" />
+    <glyph glyph-name="_494" unicode="&#xf20e;" horiz-adv-x="2048" 
+d="M2048 641q0 -21 -13 -36.5t-33 -19.5l-205 -356q3 -9 3 -18q0 -20 -12.5 -35.5t-32.5 -19.5l-193 -337q3 -8 3 -16q0 -23 -16.5 -40t-40.5 -17q-25 0 -41 18h-400q-17 -20 -43 -20t-43 20h-399q-17 -20 -43 -20q-23 0 -40 16.5t-17 40.5q0 8 4 20l-193 335
+q-20 4 -32.5 19.5t-12.5 35.5q0 9 3 18l-206 356q-20 5 -32.5 20.5t-12.5 35.5q0 21 13.5 36.5t33.5 19.5l199 344q0 1 -0.5 3t-0.5 3q0 36 34 51l209 363q-4 10 -4 18q0 24 17 40.5t40 16.5q26 0 44 -21h396q16 21 43 21t43 -21h398q18 21 44 21q23 0 40 -16.5t17 -40.5
+q0 -6 -4 -18l207 -358q23 -1 39 -17.5t16 -38.5q0 -13 -7 -27l187 -324q19 -4 31.5 -19.5t12.5 -35.5zM1063 -158h389l-342 354h-143l-342 -354h360q18 16 39 16t39 -16zM112 654q1 -4 1 -13q0 -10 -2 -15l208 -360l15 -6l188 199v347l-187 194q-13 -8 -29 -10zM986 1438
+h-388l190 -200l554 200h-280q-16 -16 -38 -16t-38 16zM1689 226q1 6 5 11l-64 68l-17 -79h76zM1583 226l22 105l-252 266l-296 -307l63 -64h463zM1495 -142l16 28l65 310h-427l333 -343q8 4 13 5zM578 -158h5l342 354h-373v-335l4 -6q14 -5 22 -13zM552 226h402l64 66
+l-309 321l-157 -166v-221zM359 226h163v189l-168 -177q4 -8 5 -12zM358 1051q0 -1 0.5 -2t0.5 -2q0 -16 -8 -29l171 -177v269zM552 1121v-311l153 -157l297 314l-223 236zM556 1425l-4 -8v-264l205 74l-191 201q-6 -2 -10 -3zM1447 1438h-16l-621 -224l213 -225zM1023 946
+l-297 -315l311 -319l296 307zM688 634l-136 141v-284zM1038 270l-42 -44h85zM1374 618l238 -251l132 624l-3 5l-1 1zM1718 1018q-8 13 -8 29v2l-216 376q-5 1 -13 5l-437 -463l310 -327zM522 1142v223l-163 -282zM522 196h-163l163 -283v283zM1607 196l-48 -227l130 227h-82
+zM1729 266l207 361q-2 10 -2 14q0 1 3 16l-171 296l-129 -612l77 -82q5 3 15 7z" />
+    <glyph glyph-name="f210" unicode="&#xf210;" 
+d="M0 856q0 131 91.5 226.5t222.5 95.5h742l352 358v-1470q0 -132 -91.5 -227t-222.5 -95h-780q-131 0 -222.5 95t-91.5 227v790zM1232 102l-176 180v425q0 46 -32 79t-78 33h-484q-46 0 -78 -33t-32 -79v-492q0 -46 32.5 -79.5t77.5 -33.5h770z" />
+    <glyph glyph-name="_496" unicode="&#xf211;" 
+d="M934 1386q-317 -121 -556 -362.5t-358 -560.5q-20 89 -20 176q0 208 102.5 384.5t278.5 279t384 102.5q82 0 169 -19zM1203 1267q93 -65 164 -155q-389 -113 -674.5 -400.5t-396.5 -676.5q-93 72 -155 162q112 386 395 671t667 399zM470 -67q115 356 379.5 622t619.5 384
+q40 -92 54 -195q-292 -120 -516 -345t-343 -518q-103 14 -194 52zM1536 -125q-193 50 -367 115q-135 -84 -290 -107q109 205 274 370.5t369 275.5q-21 -152 -101 -284q65 -175 115 -370z" />
+    <glyph glyph-name="f212" unicode="&#xf212;" horiz-adv-x="2048" 
+d="M1893 1144l155 -1272q-131 0 -257 57q-200 91 -393 91q-226 0 -374 -148q-148 148 -374 148q-193 0 -393 -91q-128 -57 -252 -57h-5l155 1272q224 127 482 127q233 0 387 -106q154 106 387 106q258 0 482 -127zM1398 157q129 0 232 -28.5t260 -93.5l-124 1021
+q-171 78 -368 78q-224 0 -374 -141q-150 141 -374 141q-197 0 -368 -78l-124 -1021q105 43 165.5 65t148.5 39.5t178 17.5q202 0 374 -108q172 108 374 108zM1438 191l-55 907q-211 -4 -359 -155q-152 155 -374 155q-176 0 -336 -66l-114 -941q124 51 228.5 76t221.5 25
+q209 0 374 -102q172 107 374 102z" />
+    <glyph glyph-name="_498" unicode="&#xf213;" horiz-adv-x="2048" 
+d="M1500 165v733q0 21 -15 36t-35 15h-93q-20 0 -35 -15t-15 -36v-733q0 -20 15 -35t35 -15h93q20 0 35 15t15 35zM1216 165v531q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-531q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM924 165v429q0 20 -15 35t-35 15h-101
+q-20 0 -35 -15t-15 -35v-429q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM632 165v362q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-362q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM2048 311q0 -166 -118 -284t-284 -118h-1244q-166 0 -284 118t-118 284
+q0 116 63 214.5t168 148.5q-10 34 -10 73q0 113 80.5 193.5t193.5 80.5q102 0 180 -67q45 183 194 300t338 117q149 0 275 -73.5t199.5 -199.5t73.5 -275q0 -66 -14 -122q135 -33 221 -142.5t86 -247.5z" />
+    <glyph glyph-name="_499" unicode="&#xf214;" 
+d="M0 1536h1536v-1392l-776 -338l-760 338v1392zM1436 209v926h-1336v-926l661 -294zM1436 1235v201h-1336v-201h1336zM181 937v-115h-37v115h37zM181 789v-115h-37v115h37zM181 641v-115h-37v115h37zM181 493v-115h-37v115h37zM181 345v-115h-37v115h37zM207 202l15 34
+l105 -47l-15 -33zM343 142l15 34l105 -46l-15 -34zM478 82l15 34l105 -46l-15 -34zM614 23l15 33l104 -46l-15 -34zM797 10l105 46l15 -33l-105 -47zM932 70l105 46l15 -34l-105 -46zM1068 130l105 46l15 -34l-105 -46zM1203 189l105 47l15 -34l-105 -46zM259 1389v-36h-114
+v36h114zM421 1389v-36h-115v36h115zM583 1389v-36h-115v36h115zM744 1389v-36h-114v36h114zM906 1389v-36h-114v36h114zM1068 1389v-36h-115v36h115zM1230 1389v-36h-115v36h115zM1391 1389v-36h-114v36h114zM181 1049v-79h-37v115h115v-36h-78zM421 1085v-36h-115v36h115z
+M583 1085v-36h-115v36h115zM744 1085v-36h-114v36h114zM906 1085v-36h-114v36h114zM1068 1085v-36h-115v36h115zM1230 1085v-36h-115v36h115zM1355 970v79h-78v36h115v-115h-37zM1355 822v115h37v-115h-37zM1355 674v115h37v-115h-37zM1355 526v115h37v-115h-37zM1355 378
+v115h37v-115h-37zM1355 230v115h37v-115h-37zM760 265q-129 0 -221 91.5t-92 221.5q0 129 92 221t221 92q130 0 221.5 -92t91.5 -221q0 -130 -91.5 -221.5t-221.5 -91.5zM595 646q0 -36 19.5 -56.5t49.5 -25t64 -7t64 -2t49.5 -9t19.5 -30.5q0 -49 -112 -49q-97 0 -123 51
+h-3l-31 -63q67 -42 162 -42q29 0 56.5 5t55.5 16t45.5 33t17.5 53q0 46 -27.5 69.5t-67.5 27t-79.5 3t-67 5t-27.5 25.5q0 21 20.5 33t40.5 15t41 3q34 0 70.5 -11t51.5 -34h3l30 58q-3 1 -21 8.5t-22.5 9t-19.5 7t-22 7t-20 4.5t-24 4t-23 1q-29 0 -56.5 -5t-54 -16.5
+t-43 -34t-16.5 -53.5z" />
+    <glyph glyph-name="_500" unicode="&#xf215;" horiz-adv-x="2048" 
+d="M863 504q0 112 -79.5 191.5t-191.5 79.5t-191 -79.5t-79 -191.5t79 -191t191 -79t191.5 79t79.5 191zM1726 505q0 112 -79 191t-191 79t-191.5 -79t-79.5 -191q0 -113 79.5 -192t191.5 -79t191 79.5t79 191.5zM2048 1314v-1348q0 -44 -31.5 -75.5t-76.5 -31.5h-1832
+q-45 0 -76.5 31.5t-31.5 75.5v1348q0 44 31.5 75.5t76.5 31.5h431q44 0 76 -31.5t32 -75.5v-161h754v161q0 44 32 75.5t76 31.5h431q45 0 76.5 -31.5t31.5 -75.5z" />
+    <glyph glyph-name="_501" unicode="&#xf216;" horiz-adv-x="2048" 
+d="M1430 953zM1690 749q148 0 253 -98.5t105 -244.5q0 -157 -109 -261.5t-267 -104.5q-85 0 -162 27.5t-138 73.5t-118 106t-109 126t-103.5 132.5t-108.5 126.5t-117 106t-136 73.5t-159 27.5q-154 0 -251.5 -91.5t-97.5 -244.5q0 -157 104 -250t263 -93q100 0 208 37.5
+t193 98.5q5 4 21 18.5t30 24t22 9.5q14 0 24.5 -10.5t10.5 -24.5q0 -24 -60 -77q-101 -88 -234.5 -142t-260.5 -54q-133 0 -245.5 58t-180 165t-67.5 241q0 205 141.5 341t347.5 136q120 0 226.5 -43.5t185.5 -113t151.5 -153t139 -167.5t133.5 -153.5t149.5 -113
+t172.5 -43.5q102 0 168.5 61.5t66.5 162.5q0 95 -64.5 159t-159.5 64q-30 0 -81.5 -18.5t-68.5 -18.5q-20 0 -35.5 15t-15.5 35q0 18 8.5 57t8.5 59q0 159 -107.5 263t-266.5 104q-58 0 -111.5 -18.5t-84 -40.5t-55.5 -40.5t-33 -18.5q-15 0 -25.5 10.5t-10.5 25.5
+q0 19 25 46q59 67 147 103.5t182 36.5q191 0 318 -125.5t127 -315.5q0 -37 -4 -66q57 15 115 15z" />
+    <glyph glyph-name="_502" unicode="&#xf217;" horiz-adv-x="1664" 
+d="M1216 832q0 26 -19 45t-45 19h-128v128q0 26 -19 45t-45 19t-45 -19t-19 -45v-128h-128q-26 0 -45 -19t-19 -45t19 -45t45 -19h128v-128q0 -26 19 -45t45 -19t45 19t19 45v128h128q26 0 45 19t19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920
+q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="_503" unicode="&#xf218;" horiz-adv-x="1664" 
+d="M1280 832q0 26 -19 45t-45 19t-45 -19l-147 -146v293q0 26 -19 45t-45 19t-45 -19t-19 -45v-293l-147 146q-19 19 -45 19t-45 -19t-19 -45t19 -45l256 -256q19 -19 45 -19t45 19l256 256q19 19 19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920
+q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="_504" unicode="&#xf219;" horiz-adv-x="2048" 
+d="M212 768l623 -665l-300 665h-323zM1024 -4l349 772h-698zM538 896l204 384h-262l-288 -384h346zM1213 103l623 665h-323zM683 896h682l-204 384h-274zM1510 896h346l-288 384h-262zM1651 1382l384 -512q14 -18 13 -41.5t-17 -40.5l-960 -1024q-18 -20 -47 -20t-47 20
+l-960 1024q-16 17 -17 40.5t13 41.5l384 512q18 26 51 26h1152q33 0 51 -26z" />
+    <glyph glyph-name="_505" unicode="&#xf21a;" horiz-adv-x="2048" 
+d="M1811 -19q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83
+q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83
+q19 19 45 19t45 -19l83 -83zM237 19q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -82l83 82q19 19 45 19t45 -19l83 -82l64 64v293l-210 314q-17 26 -7 56.5t40 40.5l177 58v299h128v128h256v128h256v-128h256v-128h128v-299l177 -58q30 -10 40 -40.5t-7 -56.5l-210 -314
+v-293l19 18q19 19 45 19t45 -19l83 -82l83 82q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83
+q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83zM640 1152v-128l384 128l384 -128v128h-128v128h-512v-128h-128z" />
+    <glyph glyph-name="_506" unicode="&#xf21b;" 
+d="M576 0l96 448l-96 128l-128 64zM832 0l128 640l-128 -64l-96 -128zM992 1010q-2 4 -4 6q-10 8 -96 8q-70 0 -167 -19q-7 -2 -21 -2t-21 2q-97 19 -167 19q-86 0 -96 -8q-2 -2 -4 -6q2 -18 4 -27q2 -3 7.5 -6.5t7.5 -10.5q2 -4 7.5 -20.5t7 -20.5t7.5 -17t8.5 -17t9 -14
+t12 -13.5t14 -9.5t17.5 -8t20.5 -4t24.5 -2q36 0 59 12.5t32.5 30t14.5 34.5t11.5 29.5t17.5 12.5h12q11 0 17.5 -12.5t11.5 -29.5t14.5 -34.5t32.5 -30t59 -12.5q13 0 24.5 2t20.5 4t17.5 8t14 9.5t12 13.5t9 14t8.5 17t7.5 17t7 20.5t7.5 20.5q2 7 7.5 10.5t7.5 6.5
+q2 9 4 27zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 61 4.5 118t19 125.5t37.5 123.5t63.5 103.5t93.5 74.5l-90 220h214q-22 64 -22 128q0 12 2 32q-194 40 -194 96q0 57 210 99q17 62 51.5 134t70.5 114q32 37 76 37q30 0 84 -31t84 -31t84 31
+t84 31q44 0 76 -37q36 -42 70.5 -114t51.5 -134q210 -42 210 -99q0 -56 -194 -96q7 -81 -20 -160h214l-82 -225q63 -33 107.5 -96.5t65.5 -143.5t29 -151.5t8 -148.5z" />
+    <glyph glyph-name="_507" unicode="&#xf21c;" horiz-adv-x="2304" 
+d="M2301 500q12 -103 -22 -198.5t-99 -163.5t-158.5 -106t-196.5 -31q-161 11 -279.5 125t-134.5 274q-12 111 27.5 210.5t118.5 170.5l-71 107q-96 -80 -151 -194t-55 -244q0 -27 -18.5 -46.5t-45.5 -19.5h-256h-69q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5
+t-131.5 316.5t131.5 316.5t316.5 131.5q76 0 152 -27l24 45q-123 110 -304 110h-64q-26 0 -45 19t-19 45t19 45t45 19h128q78 0 145 -13.5t116.5 -38.5t71.5 -39.5t51 -36.5h512h115l-85 128h-222q-30 0 -49 22.5t-14 52.5q4 23 23 38t43 15h253q33 0 53 -28l70 -105
+l114 114q19 19 46 19h101q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-179l115 -172q131 63 275 36q143 -26 244 -134.5t118 -253.5zM448 128q115 0 203 72.5t111 183.5h-314q-35 0 -55 31q-18 32 -1 63l147 277q-47 13 -91 13q-132 0 -226 -94t-94 -226t94 -226
+t226 -94zM1856 128q132 0 226 94t94 226t-94 226t-226 94q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94z" />
+    <glyph glyph-name="_508" unicode="&#xf21d;" 
+d="M1408 0q0 -63 -61.5 -113.5t-164 -81t-225 -46t-253.5 -15.5t-253.5 15.5t-225 46t-164 81t-61.5 113.5q0 49 33 88.5t91 66.5t118 44.5t131 29.5q26 5 48 -10.5t26 -41.5q5 -26 -10.5 -48t-41.5 -26q-58 -10 -106 -23.5t-76.5 -25.5t-48.5 -23.5t-27.5 -19.5t-8.5 -12
+q3 -11 27 -26.5t73 -33t114 -32.5t160.5 -25t201.5 -10t201.5 10t160.5 25t114 33t73 33.5t27 27.5q-1 4 -8.5 11t-27.5 19t-48.5 23.5t-76.5 25t-106 23.5q-26 4 -41.5 26t-10.5 48q4 26 26 41.5t48 10.5q71 -12 131 -29.5t118 -44.5t91 -66.5t33 -88.5zM1024 896v-384
+q0 -26 -19 -45t-45 -19h-64v-384q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v384h-64q-26 0 -45 19t-19 45v384q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM928 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5
+t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="_509" unicode="&#xf21e;" horiz-adv-x="1792" 
+d="M1280 512h305q-5 -6 -10 -10.5t-9 -7.5l-3 -4l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-5 2 -21 20h369q22 0 39.5 13.5t22.5 34.5l70 281l190 -667q6 -20 23 -33t39 -13q21 0 38 13t23 33l146 485l56 -112q18 -35 57 -35zM1792 940q0 -145 -103 -300h-369l-111 221
+q-8 17 -25.5 27t-36.5 8q-45 -5 -56 -46l-129 -430l-196 686q-6 20 -23.5 33t-39.5 13t-39 -13.5t-22 -34.5l-116 -464h-423q-103 155 -103 300q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124
+t127 -344z" />
+    <glyph glyph-name="venus" unicode="&#xf221;" horiz-adv-x="1280" 
+d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292
+q11 134 80.5 249t182 188t245.5 88q170 19 319 -54t236 -212t87 -306zM128 960q0 -185 131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5z" />
+    <glyph glyph-name="_511" unicode="&#xf222;" 
+d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-382 -383q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5
+q203 0 359 -126l382 382h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_512" unicode="&#xf223;" horiz-adv-x="1280" 
+d="M830 1220q145 -72 233.5 -210.5t88.5 -305.5q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5
+t-147.5 384.5q0 167 88.5 305.5t233.5 210.5q-165 96 -228 273q-6 16 3.5 29.5t26.5 13.5h69q21 0 29 -20q44 -106 140 -171t214 -65t214 65t140 171q8 20 37 20h61q17 0 26.5 -13.5t3.5 -29.5q-63 -177 -228 -273zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_513" unicode="&#xf224;" 
+d="M1024 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64
+q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-149 16 -270.5 103t-186.5 223.5t-53 291.5q16 204 160 353.5t347 172.5q118 14 228 -19t198 -103l255 254h-134q-14 0 -23 9t-9 23v64zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_514" unicode="&#xf225;" horiz-adv-x="1792" 
+d="M1280 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64
+q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5t-147.5 384.5q0 201 126 359l-52 53l-101 -111q-9 -10 -22 -10.5t-23 7.5l-48 44q-10 8 -10.5 21.5t8.5 23.5l105 115l-111 112v-134q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9
+t-9 23v288q0 26 19 45t45 19h288q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-133l106 -107l86 94q9 10 22 10.5t23 -7.5l48 -44q10 -8 10.5 -21.5t-8.5 -23.5l-90 -99l57 -56q158 126 359 126t359 -126l255 254h-134q-14 0 -23 9t-9 23v64zM832 256q185 0 316.5 131.5
+t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_515" unicode="&#xf226;" horiz-adv-x="1792" 
+d="M1790 1007q12 -155 -52.5 -292t-186 -224t-271.5 -103v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-512v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23
+t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292q17 206 164.5 356.5t352.5 169.5q206 21 377 -94q171 115 377 94q205 -19 352.5 -169.5t164.5 -356.5zM896 647q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM576 512q115 0 218 57q-154 165 -154 391
+q0 224 154 391q-103 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1152 128v260q-137 15 -256 94q-119 -79 -256 -94v-260h512zM1216 512q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5q-115 0 -218 -57q154 -167 154 -391
+q0 -226 -154 -391q103 -57 218 -57z" />
+    <glyph glyph-name="_516" unicode="&#xf227;" horiz-adv-x="1920" 
+d="M1536 1120q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-31 -182 -166 -312t-318 -156q-210 -29 -384.5 80t-241.5 300q-117 6 -221 57.5t-177.5 133t-113.5 192.5t-32 230
+q9 135 78 252t182 191.5t248 89.5q118 14 227.5 -19t198.5 -103l255 254h-134q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q59 -74 93 -169q182 -9 328 -124l255 254h-134q-14 0 -23 9
+t-9 23v64zM1024 704q0 20 -4 58q-162 -25 -271 -150t-109 -292q0 -20 4 -58q162 25 271 150t109 292zM128 704q0 -168 111 -294t276 -149q-3 29 -3 59q0 210 135 369.5t338 196.5q-53 120 -163.5 193t-245.5 73q-185 0 -316.5 -131.5t-131.5 -316.5zM1088 -128
+q185 0 316.5 131.5t131.5 316.5q0 168 -111 294t-276 149q3 -28 3 -59q0 -210 -135 -369.5t-338 -196.5q53 -120 163.5 -193t245.5 -73z" />
+    <glyph glyph-name="_517" unicode="&#xf228;" horiz-adv-x="2048" 
+d="M1664 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-32 -180 -164.5 -310t-313.5 -157q-223 -34 -409 90q-117 -78 -256 -93v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23
+t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-155 17 -279.5 109.5t-187 237.5t-39.5 307q25 187 159.5 322.5t320.5 164.5q224 34 410 -90q146 97 320 97q201 0 359 -126l255 254h-134q-14 0 -23 9
+t-9 23v64zM896 391q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM128 704q0 -185 131.5 -316.5t316.5 -131.5q117 0 218 57q-154 167 -154 391t154 391q-101 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5zM1216 256q185 0 316.5 131.5t131.5 316.5
+t-131.5 316.5t-316.5 131.5q-117 0 -218 -57q154 -167 154 -391t-154 -391q101 -57 218 -57z" />
+    <glyph glyph-name="_518" unicode="&#xf229;" 
+d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-213 -214l140 -140q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-140 141l-78 -79q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5
+t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5q203 0 359 -126l78 78l-172 172q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l172 -172l213 213h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_519" unicode="&#xf22a;" horiz-adv-x="1280" 
+d="M640 892q217 -24 364.5 -187.5t147.5 -384.5q0 -167 -87 -306t-236 -212t-319 -54q-133 15 -245.5 88t-182 188t-80.5 249q-12 155 52.5 292t186 224t271.5 103v132h-160q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h160v165l-92 -92q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22
+t9 23l202 201q19 19 45 19t45 -19l202 -201q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-92 92v-165h160q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-160v-132zM576 -128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5
+t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_520" unicode="&#xf22b;" horiz-adv-x="2048" 
+d="M1901 621q19 -19 19 -45t-19 -45l-294 -294q-9 -10 -22.5 -10t-22.5 10l-45 45q-10 9 -10 22.5t10 22.5l185 185h-294v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-132q-24 -217 -187.5 -364.5t-384.5 -147.5q-167 0 -306 87t-212 236t-54 319q15 133 88 245.5
+t188 182t249 80.5q155 12 292 -52.5t224 -186t103 -271.5h132v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h294l-185 185q-10 9 -10 22.5t10 22.5l45 45q9 10 22.5 10t22.5 -10zM576 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5
+t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_521" unicode="&#xf22c;" horiz-adv-x="1280" 
+d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-612q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v612q-217 24 -364.5 187.5t-147.5 384.5q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM576 512q185 0 316.5 131.5
+t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_522" unicode="&#xf22d;" horiz-adv-x="1280" 
+d="M1024 576q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1152 576q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123
+t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5z" />
+    <glyph glyph-name="_523" unicode="&#xf22e;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_524" unicode="&#xf22f;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_525" unicode="&#xf230;" 
+d="M1451 1408q35 0 60 -25t25 -60v-1366q0 -35 -25 -60t-60 -25h-391v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-735q-35 0 -60 25t-25 60v1366q0 35 25 60t60 25h1366z" />
+    <glyph glyph-name="_526" unicode="&#xf231;" horiz-adv-x="1280" 
+d="M0 939q0 108 37.5 203.5t103.5 166.5t152 123t185 78t202 26q158 0 294 -66.5t221 -193.5t85 -287q0 -96 -19 -188t-60 -177t-100 -149.5t-145 -103t-189 -38.5q-68 0 -135 32t-96 88q-10 -39 -28 -112.5t-23.5 -95t-20.5 -71t-26 -71t-32 -62.5t-46 -77.5t-62 -86.5
+l-14 -5l-9 10q-15 157 -15 188q0 92 21.5 206.5t66.5 287.5t52 203q-32 65 -32 169q0 83 52 156t132 73q61 0 95 -40.5t34 -102.5q0 -66 -44 -191t-44 -187q0 -63 45 -104.5t109 -41.5q55 0 102 25t78.5 68t56 95t38 110.5t20 111t6.5 99.5q0 173 -109.5 269.5t-285.5 96.5
+q-200 0 -334 -129.5t-134 -328.5q0 -44 12.5 -85t27 -65t27 -45.5t12.5 -30.5q0 -28 -15 -73t-37 -45q-2 0 -17 3q-51 15 -90.5 56t-61 94.5t-32.5 108t-11 106.5z" />
+    <glyph glyph-name="_527" unicode="&#xf232;" 
+d="M985 562q13 0 97.5 -44t89.5 -53q2 -5 2 -15q0 -33 -17 -76q-16 -39 -71 -65.5t-102 -26.5q-57 0 -190 62q-98 45 -170 118t-148 185q-72 107 -71 194v8q3 91 74 158q24 22 52 22q6 0 18 -1.5t19 -1.5q19 0 26.5 -6.5t15.5 -27.5q8 -20 33 -88t25 -75q0 -21 -34.5 -57.5
+t-34.5 -46.5q0 -7 5 -15q34 -73 102 -137q56 -53 151 -101q12 -7 22 -7q15 0 54 48.5t52 48.5zM782 32q127 0 243.5 50t200.5 134t134 200.5t50 243.5t-50 243.5t-134 200.5t-200.5 134t-243.5 50t-243.5 -50t-200.5 -134t-134 -200.5t-50 -243.5q0 -203 120 -368l-79 -233
+l242 77q158 -104 345 -104zM782 1414q153 0 292.5 -60t240.5 -161t161 -240.5t60 -292.5t-60 -292.5t-161 -240.5t-240.5 -161t-292.5 -60q-195 0 -365 94l-417 -134l136 405q-108 178 -108 389q0 153 60 292.5t161 240.5t240.5 161t292.5 60z" />
+    <glyph glyph-name="_528" unicode="&#xf233;" horiz-adv-x="1792" 
+d="M128 128h1024v128h-1024v-128zM128 640h1024v128h-1024v-128zM1696 192q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM128 1152h1024v128h-1024v-128zM1696 704q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1696 1216
+q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1792 384v-384h-1792v384h1792zM1792 896v-384h-1792v384h1792zM1792 1408v-384h-1792v384h1792z" />
+    <glyph glyph-name="_529" unicode="&#xf234;" horiz-adv-x="2048" 
+d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1664 512h352q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-352q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5
+t-9.5 22.5v352h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352zM928 288q0 -52 38 -90t90 -38h256v-238q-68 -50 -171 -50h-874q-121 0 -194 69t-73 190q0 53 3.5 103.5t14 109t26.5 108.5
+t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q79 -61 154.5 -91.5t164.5 -30.5t164.5 30.5t154.5 91.5q20 17 39 17q132 0 217 -96h-223q-52 0 -90 -38t-38 -90v-192z" />
+    <glyph glyph-name="_530" unicode="&#xf235;" horiz-adv-x="2048" 
+d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1781 320l249 -249q9 -9 9 -23q0 -13 -9 -22l-136 -136q-9 -9 -22 -9q-14 0 -23 9l-249 249l-249 -249q-9 -9 -23 -9q-13 0 -22 9l-136 136
+q-9 9 -9 22q0 14 9 23l249 249l-249 249q-9 9 -9 23q0 13 9 22l136 136q9 9 22 9q14 0 23 -9l249 -249l249 249q9 9 23 9q13 0 22 -9l136 -136q9 -9 9 -22q0 -14 -9 -23zM1283 320l-181 -181q-37 -37 -37 -91q0 -53 37 -90l83 -83q-21 -3 -44 -3h-874q-121 0 -194 69
+t-73 190q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q154 -122 319 -122t319 122q20 17 39 17q28 0 57 -6q-28 -27 -41 -50t-13 -56q0 -54 37 -91z" />
+    <glyph glyph-name="_531" unicode="&#xf236;" horiz-adv-x="2048" 
+d="M256 512h1728q26 0 45 -19t19 -45v-448h-256v256h-1536v-256h-256v1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-704zM832 832q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM2048 576v64q0 159 -112.5 271.5t-271.5 112.5h-704
+q-26 0 -45 -19t-19 -45v-384h1152z" />
+    <glyph glyph-name="_532" unicode="&#xf237;" 
+d="M1536 1536l-192 -448h192v-192h-274l-55 -128h329v-192h-411l-357 -832l-357 832h-411v192h329l-55 128h-274v192h192l-192 448h256l323 -768h378l323 768h256zM768 320l108 256h-216z" />
+    <glyph glyph-name="_533" unicode="&#xf238;" 
+d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM768 192q80 0 136 56t56 136t-56 136t-136 56
+t-136 -56t-56 -136t56 -136t136 -56zM1344 768v512h-1152v-512h1152z" />
+    <glyph glyph-name="_534" unicode="&#xf239;" 
+d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM288 224q66 0 113 47t47 113t-47 113t-113 47
+t-113 -47t-47 -113t47 -113t113 -47zM704 768v512h-544v-512h544zM1248 224q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM1408 768v512h-576v-512h576z" />
+    <glyph glyph-name="_535" unicode="&#xf23a;" horiz-adv-x="1792" 
+d="M597 1115v-1173q0 -25 -12.5 -42.5t-36.5 -17.5q-17 0 -33 8l-465 233q-21 10 -35.5 33.5t-14.5 46.5v1140q0 20 10 34t29 14q14 0 44 -15l511 -256q3 -3 3 -5zM661 1014l534 -866l-534 266v600zM1792 996v-1054q0 -25 -14 -40.5t-38 -15.5t-47 13l-441 220zM1789 1116
+q0 -3 -256.5 -419.5t-300.5 -487.5l-390 634l324 527q17 28 52 28q14 0 26 -6l541 -270q4 -2 4 -6z" />
+    <glyph glyph-name="_536" unicode="&#xf23b;" 
+d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1408v-1536h-1536v1536h1536z" />
+    <glyph glyph-name="_537" unicode="&#xf23c;" horiz-adv-x="2296" 
+d="M478 -139q-8 -16 -27 -34.5t-37 -25.5q-25 -9 -51.5 3.5t-28.5 31.5q-1 22 40 55t68 38q23 4 34 -21.5t2 -46.5zM1819 -139q7 -16 26 -34.5t38 -25.5q25 -9 51.5 3.5t27.5 31.5q2 22 -39.5 55t-68.5 38q-22 4 -33 -21.5t-2 -46.5zM1867 -30q13 -27 56.5 -59.5t77.5 -41.5
+q45 -13 82 4.5t37 50.5q0 46 -67.5 100.5t-115.5 59.5q-40 5 -63.5 -37.5t-6.5 -76.5zM428 -30q-13 -27 -56 -59.5t-77 -41.5q-45 -13 -82 4.5t-37 50.5q0 46 67.5 100.5t115.5 59.5q40 5 63 -37.5t6 -76.5zM1158 1094h1q-41 0 -76 -15q27 -8 44 -30.5t17 -49.5
+q0 -35 -27 -60t-65 -25q-52 0 -80 43q-5 -23 -5 -42q0 -74 56 -126.5t135 -52.5q80 0 136 52.5t56 126.5t-56 126.5t-136 52.5zM1462 1312q-99 109 -220.5 131.5t-245.5 -44.5q27 60 82.5 96.5t118 39.5t121.5 -17t99.5 -74.5t44.5 -131.5zM2212 73q8 -11 -11 -42
+q7 -23 7 -40q1 -56 -44.5 -112.5t-109.5 -91.5t-118 -37q-48 -2 -92 21.5t-66 65.5q-687 -25 -1259 0q-23 -41 -66.5 -65t-92.5 -22q-86 3 -179.5 80.5t-92.5 160.5q2 22 7 40q-19 31 -11 42q6 10 31 1q14 22 41 51q-7 29 2 38q11 10 39 -4q29 20 59 34q0 29 13 37
+q23 12 51 -16q35 5 61 -2q18 -4 38 -19v73q-11 0 -18 2q-53 10 -97 44.5t-55 87.5q-9 38 0 81q15 62 93 95q2 17 19 35.5t36 23.5t33 -7.5t19 -30.5h13q46 -5 60 -23q3 -3 5 -7q10 1 30.5 3.5t30.5 3.5q-15 11 -30 17q-23 40 -91 43q0 6 1 10q-62 2 -118.5 18.5t-84.5 47.5
+q-32 36 -42.5 92t-2.5 112q16 126 90 179q23 16 52 4.5t32 -40.5q0 -1 1.5 -14t2.5 -21t3 -20t5.5 -19t8.5 -10q27 -14 76 -12q48 46 98 74q-40 4 -162 -14l47 46q61 58 163 111q145 73 282 86q-20 8 -41 15.5t-47 14t-42.5 10.5t-47.5 11t-43 10q595 126 904 -139
+q98 -84 158 -222q85 -10 121 9h1q5 3 8.5 10t5.5 19t3 19.5t3 21.5l1 14q3 28 32 40t52 -5q73 -52 91 -178q7 -57 -3.5 -113t-42.5 -91q-28 -32 -83.5 -48.5t-115.5 -18.5v-10q-71 -2 -95 -43q-14 -5 -31 -17q11 -1 32 -3.5t30 -3.5q1 5 5 8q16 18 60 23h13q5 18 19 30t33 8
+t36 -23t19 -36q79 -32 93 -95q9 -40 1 -81q-12 -53 -56 -88t-97 -44q-10 -2 -17 -2q0 -49 -1 -73q20 15 38 19q26 7 61 2q28 28 51 16q14 -9 14 -37q33 -16 59 -34q27 13 38 4q10 -10 2 -38q28 -30 41 -51q23 8 31 -1zM1937 1025q0 -29 -9 -54q82 -32 112 -132
+q4 37 -9.5 98.5t-41.5 90.5q-20 19 -36 17t-16 -20zM1859 925q35 -42 47.5 -108.5t-0.5 -124.5q67 13 97 45q13 14 18 28q-3 64 -31 114.5t-79 66.5q-15 -15 -52 -21zM1822 921q-30 0 -44 1q42 -115 53 -239q21 0 43 3q16 68 1 135t-53 100zM258 839q30 100 112 132
+q-9 25 -9 54q0 18 -16.5 20t-35.5 -17q-28 -29 -41.5 -90.5t-9.5 -98.5zM294 737q29 -31 97 -45q-13 58 -0.5 124.5t47.5 108.5v0q-37 6 -52 21q-51 -16 -78.5 -66t-31.5 -115q9 -17 18 -28zM471 683q14 124 73 235q-19 -4 -55 -18l-45 -19v1q-46 -89 -20 -196q25 -3 47 -3z
+M1434 644q8 -38 16.5 -108.5t11.5 -89.5q3 -18 9.5 -21.5t23.5 4.5q40 20 62 85.5t23 125.5q-24 2 -146 4zM1152 1285q-116 0 -199 -82.5t-83 -198.5q0 -117 83 -199.5t199 -82.5t199 82.5t83 199.5q0 116 -83 198.5t-199 82.5zM1380 646q-105 2 -211 0v1q-1 -27 2.5 -86
+t13.5 -66q29 -14 93.5 -14.5t95.5 10.5q9 3 11 39t-0.5 69.5t-4.5 46.5zM1112 447q8 4 9.5 48t-0.5 88t-4 63v1q-212 -3 -214 -3q-4 -20 -7 -62t0 -83t14 -46q34 -15 101 -16t101 10zM718 636q-16 -59 4.5 -118.5t77.5 -84.5q15 -8 24 -5t12 21q3 16 8 90t10 103
+q-69 -2 -136 -6zM591 510q3 -23 -34 -36q132 -141 271.5 -240t305.5 -154q172 49 310.5 146t293.5 250q-33 13 -30 34q0 2 0.5 3.5t1.5 3t1 2.5v1v-1q-17 2 -50 5.5t-48 4.5q-26 -90 -82 -132q-51 -38 -82 1q-5 6 -9 14q-7 13 -17 62q-2 -5 -5 -9t-7.5 -7t-8 -5.5t-9.5 -4
+l-10 -2.5t-12 -2l-12 -1.5t-13.5 -1t-13.5 -0.5q-106 -9 -163 11q-4 -17 -10 -26.5t-21 -15t-23 -7t-36 -3.5q-6 -1 -9 -1q-179 -17 -203 40q-2 -63 -56 -54q-47 8 -91 54q-12 13 -20 26q-17 29 -26 65q-58 -6 -87 -10q1 -2 4 -10zM507 -118q3 14 3 30q-17 71 -51 130
+t-73 70q-41 12 -101.5 -14.5t-104.5 -80t-39 -107.5q35 -53 100 -93t119 -42q51 -2 94 28t53 79zM510 53q23 -63 27 -119q195 113 392 174q-98 52 -180.5 120t-179.5 165q-6 -4 -29 -13q0 -1 -1 -4t-1 -5q31 -18 22 -37q-12 -23 -56 -34q-10 -13 -29 -24h-1q-2 -83 1 -150
+q19 -34 35 -73zM579 -113q532 -21 1145 0q-254 147 -428 196q-76 -35 -156 -57q-8 -3 -16 0q-65 21 -129 49q-208 -60 -416 -188h-1v-1q1 0 1 1zM1763 -67q4 54 28 120q14 38 33 71l-1 -1q3 77 3 153q-15 8 -30 25q-42 9 -56 33q-9 20 22 38q-2 4 -2 9q-16 4 -28 12
+q-204 -190 -383 -284q198 -59 414 -176zM2155 -90q5 54 -39 107.5t-104 80t-102 14.5q-38 -11 -72.5 -70.5t-51.5 -129.5q0 -16 3 -30q10 -49 53 -79t94 -28q54 2 119 42t100 93z" />
+    <glyph glyph-name="_538" unicode="&#xf23d;" horiz-adv-x="2304" 
+d="M1524 -25q0 -68 -48 -116t-116 -48t-116.5 48t-48.5 116t48.5 116.5t116.5 48.5t116 -48.5t48 -116.5zM775 -25q0 -68 -48.5 -116t-116.5 -48t-116 48t-48 116t48 116.5t116 48.5t116.5 -48.5t48.5 -116.5zM0 1469q57 -60 110.5 -104.5t121 -82t136 -63t166 -45.5
+t200 -31.5t250 -18.5t304 -9.5t372.5 -2.5q139 0 244.5 -5t181 -16.5t124 -27.5t71 -39.5t24 -51.5t-19.5 -64t-56.5 -76.5t-89.5 -91t-116 -104.5t-139 -119q-185 -157 -286 -247q29 51 76.5 109t94 105.5t94.5 98.5t83 91.5t54 80.5t13 70t-45.5 55.5t-116.5 41t-204 23.5
+t-304 5q-168 -2 -314 6t-256 23t-204.5 41t-159.5 51.5t-122.5 62.5t-91.5 66.5t-68 71.5t-50.5 69.5t-40 68t-36.5 59.5z" />
+    <glyph glyph-name="_539" unicode="&#xf23e;" horiz-adv-x="1792" 
+d="M896 1472q-169 0 -323 -66t-265.5 -177.5t-177.5 -265.5t-66 -323t66 -323t177.5 -265.5t265.5 -177.5t323 -66t323 66t265.5 177.5t177.5 265.5t66 323t-66 323t-177.5 265.5t-265.5 177.5t-323 66zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348
+t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM496 704q16 0 16 -16v-480q0 -16 -16 -16h-32q-16 0 -16 16v480q0 16 16 16h32zM896 640q53 0 90.5 -37.5t37.5 -90.5q0 -35 -17.5 -64t-46.5 -46v-114q0 -14 -9 -23
+t-23 -9h-64q-14 0 -23 9t-9 23v114q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5zM896 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM544 928v-96
+q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 93 65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5v-96q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 146 -103 249t-249 103t-249 -103t-103 -249zM1408 192v512q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-512
+q0 -26 19 -45t45 -19h896q26 0 45 19t19 45z" />
+    <glyph glyph-name="_540" unicode="&#xf240;" horiz-adv-x="2304" 
+d="M1920 1024v-768h-1664v768h1664zM2048 448h128v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288zM2304 832v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113
+v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="_541" unicode="&#xf241;" horiz-adv-x="2304" 
+d="M256 256v768h1280v-768h-1280zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_542" unicode="&#xf242;" horiz-adv-x="2304" 
+d="M256 256v768h896v-768h-896zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_543" unicode="&#xf243;" horiz-adv-x="2304" 
+d="M256 256v768h512v-768h-512zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_544" unicode="&#xf244;" horiz-adv-x="2304" 
+d="M2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23
+v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_545" unicode="&#xf245;" horiz-adv-x="1280" 
+d="M1133 493q31 -30 14 -69q-17 -40 -59 -40h-382l201 -476q10 -25 0 -49t-34 -35l-177 -75q-25 -10 -49 0t-35 34l-191 452l-312 -312q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v1504q0 42 40 59q12 5 24 5q27 0 45 -19z" />
+    <glyph glyph-name="_546" unicode="&#xf246;" horiz-adv-x="1024" 
+d="M832 1408q-320 0 -320 -224v-416h128v-128h-128v-544q0 -224 320 -224h64v-128h-64q-272 0 -384 146q-112 -146 -384 -146h-64v128h64q320 0 320 224v544h-128v128h128v416q0 224 -320 224h-64v128h64q272 0 384 -146q112 146 384 146h64v-128h-64z" />
+    <glyph glyph-name="_547" unicode="&#xf247;" horiz-adv-x="2048" 
+d="M2048 1152h-128v-1024h128v-384h-384v128h-1280v-128h-384v384h128v1024h-128v384h384v-128h1280v128h384v-384zM1792 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 -128v128h-128v-128h128zM1664 0v128h128v1024h-128v128h-1280v-128h-128v-1024h128v-128
+h1280zM1920 -128v128h-128v-128h128zM1280 896h384v-768h-896v256h-384v768h896v-256zM512 512h640v512h-640v-512zM1536 256v512h-256v-384h-384v-128h640z" />
+    <glyph glyph-name="_548" unicode="&#xf248;" horiz-adv-x="2304" 
+d="M2304 768h-128v-640h128v-384h-384v128h-896v-128h-384v384h128v128h-384v-128h-384v384h128v640h-128v384h384v-128h896v128h384v-384h-128v-128h384v128h384v-384zM2048 1024v-128h128v128h-128zM1408 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 256
+v128h-128v-128h128zM1536 384h-128v-128h128v128zM384 384h896v128h128v640h-128v128h-896v-128h-128v-640h128v-128zM896 -128v128h-128v-128h128zM2176 -128v128h-128v-128h128zM2048 128v640h-128v128h-384v-384h128v-384h-384v128h-384v-128h128v-128h896v128h128z" />
+    <glyph glyph-name="_549" unicode="&#xf249;" 
+d="M1024 288v-416h-928q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68v-928h-416q-40 0 -68 -28t-28 -68zM1152 256h381q-15 -82 -65 -132l-184 -184q-50 -50 -132 -65v381z" />
+    <glyph glyph-name="_550" unicode="&#xf24a;" 
+d="M1400 256h-248v-248q29 10 41 22l185 185q12 12 22 41zM1120 384h288v896h-1280v-1280h896v288q0 40 28 68t68 28zM1536 1312v-1024q0 -40 -20 -88t-48 -76l-184 -184q-28 -28 -76 -48t-88 -20h-1024q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68
+z" />
+    <glyph glyph-name="_551" unicode="&#xf24b;" horiz-adv-x="2304" 
+d="M1951 538q0 -26 -15.5 -44.5t-38.5 -23.5q-8 -2 -18 -2h-153v140h153q10 0 18 -2q23 -5 38.5 -23.5t15.5 -44.5zM1933 751q0 -25 -15 -42t-38 -21q-3 -1 -15 -1h-139v129h139q3 0 8.5 -0.5t6.5 -0.5q23 -4 38 -21.5t15 -42.5zM728 587v308h-228v-308q0 -58 -38 -94.5
+t-105 -36.5q-108 0 -229 59v-112q53 -15 121 -23t109 -9l42 -1q328 0 328 217zM1442 403v113q-99 -52 -200 -59q-108 -8 -169 41t-61 142t61 142t169 41q101 -7 200 -58v112q-48 12 -100 19.5t-80 9.5l-28 2q-127 6 -218.5 -14t-140.5 -60t-71 -88t-22 -106t22 -106t71 -88
+t140.5 -60t218.5 -14q101 4 208 31zM2176 518q0 54 -43 88.5t-109 39.5v3q57 8 89 41.5t32 79.5q0 55 -41 88t-107 36q-3 0 -12 0.5t-14 0.5h-455v-510h491q74 0 121.5 36.5t47.5 96.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90
+t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_552" unicode="&#xf24c;" horiz-adv-x="2304" 
+d="M858 295v693q-106 -41 -172 -135.5t-66 -211.5t66 -211.5t172 -134.5zM1362 641q0 117 -66 211.5t-172 135.5v-694q106 41 172 135.5t66 211.5zM1577 641q0 -159 -78.5 -294t-213.5 -213.5t-294 -78.5q-119 0 -227.5 46.5t-187 125t-125 187t-46.5 227.5q0 159 78.5 294
+t213.5 213.5t294 78.5t294 -78.5t213.5 -213.5t78.5 -294zM1960 634q0 139 -55.5 261.5t-147.5 205.5t-213.5 131t-252.5 48h-301q-176 0 -323.5 -81t-235 -230t-87.5 -335q0 -171 87 -317.5t236 -231.5t323 -85h301q129 0 251.5 50.5t214.5 135t147.5 202.5t55.5 246z
+M2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_553" unicode="&#xf24d;" horiz-adv-x="1792" 
+d="M1664 -96v1088q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5zM1792 992v-1088q0 -66 -47 -113t-113 -47h-1088q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113
+zM1408 1376v-160h-128v160q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h160v-128h-160q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="_554" unicode="&#xf24e;" horiz-adv-x="2304" 
+d="M1728 1088l-384 -704h768zM448 1088l-384 -704h768zM1269 1280q-14 -40 -45.5 -71.5t-71.5 -45.5v-1291h608q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1344q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h608v1291q-40 14 -71.5 45.5t-45.5 71.5h-491q-14 0 -23 9t-9 23v64
+q0 14 9 23t23 9h491q21 57 70 92.5t111 35.5t111 -35.5t70 -92.5h491q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-491zM1088 1264q33 0 56.5 23.5t23.5 56.5t-23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5zM2176 384q0 -73 -46.5 -131t-117.5 -91
+t-144.5 -49.5t-139.5 -16.5t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81zM896 384q0 -73 -46.5 -131t-117.5 -91t-144.5 -49.5t-139.5 -16.5
+t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81z" />
+    <glyph glyph-name="_555" unicode="&#xf250;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-77 -29 -149 -92.5
+t-129.5 -152.5t-92.5 -210t-35 -253h1024q0 132 -35 253t-92.5 210t-129.5 152.5t-149 92.5q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
+    <glyph glyph-name="_556" unicode="&#xf251;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -66 9 -128h1006q9 61 9 128zM1280 -128q0 130 -34 249.5t-90.5 208t-126.5 152t-146 94.5h-230q-76 -31 -146 -94.5t-126.5 -152t-90.5 -208t-34 -249.5h1024z" />
+    <glyph glyph-name="_557" unicode="&#xf252;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -206 85 -384h854q85 178 85 384zM1223 192q-54 141 -145.5 241.5t-194.5 142.5h-230q-103 -42 -194.5 -142.5t-145.5 -241.5h910z" />
+    <glyph glyph-name="_558" unicode="&#xf253;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-137 -51 -244 -196
+h700q-107 145 -244 196q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
+    <glyph glyph-name="_559" unicode="&#xf254;" 
+d="M1504 -64q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472zM130 0q3 55 16 107t30 95t46 87t53.5 76t64.5 69.5t66 60t70.5 55t66.5 47.5t65 43q-43 28 -65 43t-66.5 47.5t-70.5 55t-66 60t-64.5 69.5t-53.5 76t-46 87
+t-30 95t-16 107h1276q-3 -55 -16 -107t-30 -95t-46 -87t-53.5 -76t-64.5 -69.5t-66 -60t-70.5 -55t-66.5 -47.5t-65 -43q43 -28 65 -43t66.5 -47.5t70.5 -55t66 -60t64.5 -69.5t53.5 -76t46 -87t30 -95t16 -107h-1276zM1504 1536q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9
+h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472z" />
+    <glyph glyph-name="_560" unicode="&#xf255;" 
+d="M768 1152q-53 0 -90.5 -37.5t-37.5 -90.5v-128h-32v93q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-429l-32 30v172q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-224q0 -47 35 -82l310 -296q39 -39 39 -102q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v25
+q0 41 10 77l108 436q10 36 10 77v246q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-32h-32v125q0 40 -25 72.5t-64 40.5q-14 2 -23 2q-46 0 -79 -33t-33 -79v-128h-32v122q0 51 -32.5 89.5t-82.5 43.5q-5 1 -13 1zM768 1280q84 0 149 -50q57 34 123 34q59 0 111 -27
+t86 -76q27 7 59 7q100 0 170 -71.5t70 -171.5v-246q0 -51 -13 -108l-109 -436q-6 -24 -6 -71q0 -80 -56 -136t-136 -56h-640q-84 0 -138 58.5t-54 142.5l-308 296q-76 73 -76 175v224q0 99 70.5 169.5t169.5 70.5q11 0 16 -1q6 95 75.5 160t164.5 65q52 0 98 -21
+q72 69 174 69z" />
+    <glyph glyph-name="_561" unicode="&#xf256;" horiz-adv-x="1792" 
+d="M880 1408q-46 0 -79 -33t-33 -79v-656h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528v-256l-154 205q-38 51 -102 51q-53 0 -90.5 -37.5t-37.5 -90.5q0 -43 26 -77l384 -512q38 -51 102 -51h688q34 0 61 22t34 56l76 405q5 32 5 59v498q0 46 -33 79t-79 33t-79 -33
+t-33 -79v-272h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528h-32v656q0 46 -33 79t-79 33zM880 1536q68 0 125.5 -35.5t88.5 -96.5q19 4 42 4q99 0 169.5 -70.5t70.5 -169.5v-17q105 6 180.5 -64t75.5 -175v-498q0 -40 -8 -83l-76 -404q-14 -79 -76.5 -131t-143.5 -52
+h-688q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 106 75 181t181 75q78 0 128 -34v434q0 99 70.5 169.5t169.5 70.5q23 0 42 -4q31 61 88.5 96.5t125.5 35.5z" />
+    <glyph glyph-name="_562" unicode="&#xf257;" horiz-adv-x="1792" 
+d="M1073 -128h-177q-163 0 -226 141q-23 49 -23 102v5q-62 30 -98.5 88.5t-36.5 127.5q0 38 5 48h-261q-106 0 -181 75t-75 181t75 181t181 75h113l-44 17q-74 28 -119.5 93.5t-45.5 145.5q0 106 75 181t181 75q46 0 91 -17l628 -239h401q106 0 181 -75t75 -181v-668
+q0 -88 -54 -157.5t-140 -90.5l-339 -85q-92 -23 -186 -23zM1024 583l-155 -71l-163 -74q-30 -14 -48 -41.5t-18 -60.5q0 -46 33 -79t79 -33q26 0 46 10l338 154q-49 10 -80.5 50t-31.5 90v55zM1344 272q0 46 -33 79t-79 33q-26 0 -46 -10l-290 -132q-28 -13 -37 -17
+t-30.5 -17t-29.5 -23.5t-16 -29t-8 -40.5q0 -50 31.5 -82t81.5 -32q20 0 38 9l352 160q30 14 48 41.5t18 60.5zM1112 1024l-650 248q-24 8 -46 8q-53 0 -90.5 -37.5t-37.5 -90.5q0 -40 22.5 -73t59.5 -47l526 -200v-64h-640q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5
+t90.5 -37.5h535l233 106v198q0 63 46 106l111 102h-69zM1073 0q82 0 155 19l339 85q43 11 70 45.5t27 78.5v668q0 53 -37.5 90.5t-90.5 37.5h-308l-136 -126q-36 -33 -36 -82v-296q0 -46 33 -77t79 -31t79 35t33 81v208h32v-208q0 -70 -57 -114q52 -8 86.5 -48.5t34.5 -93.5
+q0 -42 -23 -78t-61 -53l-310 -141h91z" />
+    <glyph glyph-name="_563" unicode="&#xf258;" horiz-adv-x="2048" 
+d="M1151 1536q61 0 116 -28t91 -77l572 -781q118 -159 118 -359v-355q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v177l-286 143h-546q-80 0 -136 56t-56 136v32q0 119 84.5 203.5t203.5 84.5h420l42 128h-686q-100 0 -173.5 67.5t-81.5 166.5q-65 79 -65 182v32
+q0 80 56 136t136 56h959zM1920 -64v355q0 157 -93 284l-573 781q-39 52 -103 52h-959q-26 0 -45 -19t-19 -45q0 -32 1.5 -49.5t9.5 -40.5t25 -43q10 31 35.5 50t56.5 19h832v-32h-832q-26 0 -45 -19t-19 -45q0 -44 3 -58q8 -44 44 -73t81 -29h640h91q40 0 68 -28t28 -68
+q0 -15 -5 -30l-64 -192q-10 -29 -35 -47.5t-56 -18.5h-443q-66 0 -113 -47t-47 -113v-32q0 -26 19 -45t45 -19h561q16 0 29 -7l317 -158q24 -13 38.5 -36t14.5 -50v-197q0 -26 19 -45t45 -19h384q26 0 45 19t19 45z" />
+    <glyph glyph-name="_564" unicode="&#xf259;" horiz-adv-x="2048" 
+d="M459 -256q-77 0 -137.5 47.5t-79.5 122.5l-101 401q-13 57 -13 108q0 45 -5 67l-116 477q-7 27 -7 57q0 93 62 161t155 78q17 85 82.5 139t152.5 54q83 0 148 -51.5t85 -132.5l83 -348l103 428q20 81 85 132.5t148 51.5q89 0 155.5 -57.5t80.5 -144.5q92 -10 152 -79
+t60 -162q0 -24 -7 -59l-123 -512q10 7 37.5 28.5t38.5 29.5t35 23t41 20.5t41.5 11t49.5 5.5q105 0 180 -74t75 -179q0 -62 -28.5 -118t-78.5 -94l-507 -380q-68 -51 -153 -51h-694zM1104 1408q-38 0 -68.5 -24t-39.5 -62l-164 -682h-127l-145 602q-9 38 -39.5 62t-68.5 24
+q-48 0 -80 -33t-32 -80q0 -15 3 -28l132 -547h-26l-99 408q-9 37 -40 62.5t-69 25.5q-47 0 -80 -33t-33 -79q0 -14 3 -26l116 -478q7 -28 9 -86t10 -88l100 -401q8 -32 34 -52.5t59 -20.5h694q42 0 76 26l507 379q56 43 56 110q0 52 -37.5 88.5t-89.5 36.5q-43 0 -77 -26
+l-307 -230v227q0 4 32 138t68 282t39 161q4 18 4 29q0 47 -32 81t-79 34q-39 0 -69.5 -24t-39.5 -62l-116 -482h-26l150 624q3 14 3 28q0 48 -31.5 82t-79.5 34z" />
+    <glyph glyph-name="_565" unicode="&#xf25a;" horiz-adv-x="1792" 
+d="M640 1408q-53 0 -90.5 -37.5t-37.5 -90.5v-512v-384l-151 202q-41 54 -107 54q-52 0 -89 -38t-37 -90q0 -43 26 -77l384 -512q38 -51 102 -51h718q22 0 39.5 13.5t22.5 34.5l92 368q24 96 24 194v217q0 41 -28 71t-68 30t-68 -28t-28 -68h-32v61q0 48 -32 81.5t-80 33.5
+q-46 0 -79 -33t-33 -79v-64h-32v90q0 55 -37 94.5t-91 39.5q-53 0 -90.5 -37.5t-37.5 -90.5v-96h-32v570q0 55 -37 94.5t-91 39.5zM640 1536q107 0 181.5 -77.5t74.5 -184.5v-220q22 2 32 2q99 0 173 -69q47 21 99 21q113 0 184 -87q27 7 56 7q94 0 159 -67.5t65 -161.5
+v-217q0 -116 -28 -225l-92 -368q-16 -64 -68 -104.5t-118 -40.5h-718q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 105 74.5 180.5t179.5 75.5q71 0 130 -35v547q0 106 75 181t181 75zM768 128v384h-32v-384h32zM1024 128v384h-32v-384h32zM1280 128v384h-32
+v-384h32z" />
+    <glyph glyph-name="_566" unicode="&#xf25b;" 
+d="M1288 889q60 0 107 -23q141 -63 141 -226v-177q0 -94 -23 -186l-85 -339q-21 -86 -90.5 -140t-157.5 -54h-668q-106 0 -181 75t-75 181v401l-239 628q-17 45 -17 91q0 106 75 181t181 75q80 0 145.5 -45.5t93.5 -119.5l17 -44v113q0 106 75 181t181 75t181 -75t75 -181
+v-261q27 5 48 5q69 0 127.5 -36.5t88.5 -98.5zM1072 896q-33 0 -60.5 -18t-41.5 -48l-74 -163l-71 -155h55q50 0 90 -31.5t50 -80.5l154 338q10 20 10 46q0 46 -33 79t-79 33zM1293 761q-22 0 -40.5 -8t-29 -16t-23.5 -29.5t-17 -30.5t-17 -37l-132 -290q-10 -20 -10 -46
+q0 -46 33 -79t79 -33q33 0 60.5 18t41.5 48l160 352q9 18 9 38q0 50 -32 81.5t-82 31.5zM128 1120q0 -22 8 -46l248 -650v-69l102 111q43 46 106 46h198l106 233v535q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-640h-64l-200 526q-14 37 -47 59.5t-73 22.5
+q-53 0 -90.5 -37.5t-37.5 -90.5zM1180 -128q44 0 78.5 27t45.5 70l85 339q19 73 19 155v91l-141 -310q-17 -38 -53 -61t-78 -23q-53 0 -93.5 34.5t-48.5 86.5q-44 -57 -114 -57h-208v32h208q46 0 81 33t35 79t-31 79t-77 33h-296q-49 0 -82 -36l-126 -136v-308
+q0 -53 37.5 -90.5t90.5 -37.5h668z" />
+    <glyph glyph-name="_567" unicode="&#xf25c;" horiz-adv-x="1973" 
+d="M857 992v-117q0 -13 -9.5 -22t-22.5 -9h-298v-812q0 -13 -9 -22.5t-22 -9.5h-135q-13 0 -22.5 9t-9.5 23v812h-297q-13 0 -22.5 9t-9.5 22v117q0 14 9 23t23 9h793q13 0 22.5 -9.5t9.5 -22.5zM1895 995l77 -961q1 -13 -8 -24q-10 -10 -23 -10h-134q-12 0 -21 8.5
+t-10 20.5l-46 588l-189 -425q-8 -19 -29 -19h-120q-20 0 -29 19l-188 427l-45 -590q-1 -12 -10 -20.5t-21 -8.5h-135q-13 0 -23 10q-9 10 -9 24l78 961q1 12 10 20.5t21 8.5h142q20 0 29 -19l220 -520q10 -24 20 -51q3 7 9.5 24.5t10.5 26.5l221 520q9 19 29 19h141
+q13 0 22 -8.5t10 -20.5z" />
+    <glyph glyph-name="_568" unicode="&#xf25d;" horiz-adv-x="1792" 
+d="M1042 833q0 88 -60 121q-33 18 -117 18h-123v-281h162q66 0 102 37t36 105zM1094 548l205 -373q8 -17 -1 -31q-8 -16 -27 -16h-152q-20 0 -28 17l-194 365h-155v-350q0 -14 -9 -23t-23 -9h-134q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h294q128 0 190 -24q85 -31 134 -109
+t49 -180q0 -92 -42.5 -165.5t-115.5 -109.5q6 -10 9 -16zM896 1376q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM1792 640
+q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_569" unicode="&#xf25e;" horiz-adv-x="1792" 
+d="M605 303q153 0 257 104q14 18 3 36l-45 82q-6 13 -24 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78
+q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-148 0 -246 -96.5t-98 -240.5q0 -146 97 -241.5t247 -95.5zM1235 303q153 0 257 104q14 18 4 36l-45 82q-8 14 -25 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5
+t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-147 0 -245.5 -96.5t-98.5 -240.5q0 -146 97 -241.5t247 -95.5zM896 1376
+q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191
+t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71z" />
+    <glyph glyph-name="f260" unicode="&#xf260;" horiz-adv-x="2048" 
+d="M736 736l384 -384l-384 -384l-672 672l672 672l168 -168l-96 -96l-72 72l-480 -480l480 -480l193 193l-289 287zM1312 1312l672 -672l-672 -672l-168 168l96 96l72 -72l480 480l-480 480l-193 -193l289 -287l-96 -96l-384 384z" />
+    <glyph glyph-name="f261" unicode="&#xf261;" horiz-adv-x="1792" 
+d="M717 182l271 271l-279 279l-88 -88l192 -191l-96 -96l-279 279l279 279l40 -40l87 87l-127 128l-454 -454zM1075 190l454 454l-454 454l-271 -271l279 -279l88 88l-192 191l96 96l279 -279l-279 -279l-40 40l-87 -88zM1792 640q0 -182 -71 -348t-191 -286t-286 -191
+t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_572" unicode="&#xf262;" horiz-adv-x="2304" 
+d="M651 539q0 -39 -27.5 -66.5t-65.5 -27.5q-39 0 -66.5 27.5t-27.5 66.5q0 38 27.5 65.5t66.5 27.5q38 0 65.5 -27.5t27.5 -65.5zM1805 540q0 -39 -27.5 -66.5t-66.5 -27.5t-66.5 27.5t-27.5 66.5t27.5 66t66.5 27t66.5 -27t27.5 -66zM765 539q0 79 -56.5 136t-136.5 57
+t-136.5 -56.5t-56.5 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM1918 540q0 80 -56.5 136.5t-136.5 56.5q-79 0 -136 -56.5t-57 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM850 539q0 -116 -81.5 -197.5t-196.5 -81.5q-116 0 -197.5 82t-81.5 197
+t82 196.5t197 81.5t196.5 -81.5t81.5 -196.5zM2004 540q0 -115 -81.5 -196.5t-197.5 -81.5q-115 0 -196.5 81.5t-81.5 196.5t81.5 196.5t196.5 81.5q116 0 197.5 -81.5t81.5 -196.5zM1040 537q0 191 -135.5 326.5t-326.5 135.5q-125 0 -231 -62t-168 -168.5t-62 -231.5
+t62 -231.5t168 -168.5t231 -62q191 0 326.5 135.5t135.5 326.5zM1708 1110q-254 111 -556 111q-319 0 -573 -110q117 0 223 -45.5t182.5 -122.5t122 -183t45.5 -223q0 115 43.5 219.5t118 180.5t177.5 123t217 50zM2187 537q0 191 -135 326.5t-326 135.5t-326.5 -135.5
+t-135.5 -326.5t135.5 -326.5t326.5 -135.5t326 135.5t135 326.5zM1921 1103h383q-44 -51 -75 -114.5t-40 -114.5q110 -151 110 -337q0 -156 -77 -288t-209 -208.5t-287 -76.5q-133 0 -249 56t-196 155q-47 -56 -129 -179q-11 22 -53.5 82.5t-74.5 97.5
+q-80 -99 -196.5 -155.5t-249.5 -56.5q-155 0 -287 76.5t-209 208.5t-77 288q0 186 110 337q-9 51 -40 114.5t-75 114.5h365q149 100 355 156.5t432 56.5q224 0 421 -56t348 -157z" />
+    <glyph glyph-name="f263" unicode="&#xf263;" horiz-adv-x="1280" 
+d="M640 629q-188 0 -321 133t-133 320q0 188 133 321t321 133t321 -133t133 -321q0 -187 -133 -320t-321 -133zM640 1306q-92 0 -157.5 -65.5t-65.5 -158.5q0 -92 65.5 -157.5t157.5 -65.5t157.5 65.5t65.5 157.5q0 93 -65.5 158.5t-157.5 65.5zM1163 574q13 -27 15 -49.5
+t-4.5 -40.5t-26.5 -38.5t-42.5 -37t-61.5 -41.5q-115 -73 -315 -94l73 -72l267 -267q30 -31 30 -74t-30 -73l-12 -13q-31 -30 -74 -30t-74 30q-67 68 -267 268l-267 -268q-31 -30 -74 -30t-73 30l-12 13q-31 30 -31 73t31 74l267 267l72 72q-203 21 -317 94
+q-39 25 -61.5 41.5t-42.5 37t-26.5 38.5t-4.5 40.5t15 49.5q10 20 28 35t42 22t56 -2t65 -35q5 -4 15 -11t43 -24.5t69 -30.5t92 -24t113 -11q91 0 174 25.5t120 50.5l38 25q33 26 65 35t56 2t42 -22t28 -35z" />
+    <glyph glyph-name="_574" unicode="&#xf264;" 
+d="M927 956q0 -66 -46.5 -112.5t-112.5 -46.5t-112.5 46.5t-46.5 112.5t46.5 112.5t112.5 46.5t112.5 -46.5t46.5 -112.5zM1141 593q-10 20 -28 32t-47.5 9.5t-60.5 -27.5q-10 -8 -29 -20t-81 -32t-127 -20t-124 18t-86 36l-27 18q-31 25 -60.5 27.5t-47.5 -9.5t-28 -32
+q-22 -45 -2 -74.5t87 -73.5q83 -53 226 -67l-51 -52q-142 -142 -191 -190q-22 -22 -22 -52.5t22 -52.5l9 -9q22 -22 52.5 -22t52.5 22l191 191q114 -115 191 -191q22 -22 52.5 -22t52.5 22l9 9q22 22 22 52.5t-22 52.5l-191 190l-52 52q141 14 225 67q67 44 87 73.5t-2 74.5
+zM1092 956q0 134 -95 229t-229 95t-229 -95t-95 -229t95 -229t229 -95t229 95t95 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_575" unicode="&#xf265;" horiz-adv-x="1720" 
+d="M1565 1408q65 0 110 -45.5t45 -110.5v-519q0 -176 -68 -336t-182.5 -275t-274 -182.5t-334.5 -67.5q-176 0 -335.5 67.5t-274.5 182.5t-183 275t-68 336v519q0 64 46 110t110 46h1409zM861 344q47 0 82 33l404 388q37 35 37 85q0 49 -34.5 83.5t-83.5 34.5q-47 0 -82 -33
+l-323 -310l-323 310q-35 33 -81 33q-49 0 -83.5 -34.5t-34.5 -83.5q0 -51 36 -85l405 -388q33 -33 81 -33z" />
+    <glyph glyph-name="_576" unicode="&#xf266;" horiz-adv-x="2304" 
+d="M1494 -103l-295 695q-25 -49 -158.5 -305.5t-198.5 -389.5q-1 -1 -27.5 -0.5t-26.5 1.5q-82 193 -255.5 587t-259.5 596q-21 50 -66.5 107.5t-103.5 100.5t-102 43q0 5 -0.5 24t-0.5 27h583v-50q-39 -2 -79.5 -16t-66.5 -43t-10 -64q26 -59 216.5 -499t235.5 -540
+q31 61 140 266.5t131 247.5q-19 39 -126 281t-136 295q-38 69 -201 71v50l513 -1v-47q-60 -2 -93.5 -25t-12.5 -69q33 -70 87 -189.5t86 -187.5q110 214 173 363q24 55 -10 79.5t-129 26.5q1 7 1 25v24q64 0 170.5 0.5t180 1t92.5 0.5v-49q-62 -2 -119 -33t-90 -81
+l-213 -442q13 -33 127.5 -290t121.5 -274l441 1017q-14 38 -49.5 62.5t-65 31.5t-55.5 8v50l460 -4l1 -2l-1 -44q-139 -4 -201 -145q-526 -1216 -559 -1291h-49z" />
+    <glyph glyph-name="_577" unicode="&#xf267;" horiz-adv-x="1792" 
+d="M949 643q0 -26 -16.5 -45t-41.5 -19q-26 0 -45 16.5t-19 41.5q0 26 17 45t42 19t44 -16.5t19 -41.5zM964 585l350 581q-9 -8 -67.5 -62.5t-125.5 -116.5t-136.5 -127t-117 -110.5t-50.5 -51.5l-349 -580q7 7 67 62t126 116.5t136 127t117 111t50 50.5zM1611 640
+q0 -201 -104 -371q-3 2 -17 11t-26.5 16.5t-16.5 7.5q-13 0 -13 -13q0 -10 59 -44q-74 -112 -184.5 -190.5t-241.5 -110.5l-16 67q-1 10 -15 10q-5 0 -8 -5.5t-2 -9.5l16 -68q-72 -15 -146 -15q-199 0 -372 105q1 2 13 20.5t21.5 33.5t9.5 19q0 13 -13 13q-6 0 -17 -14.5
+t-22.5 -34.5t-13.5 -23q-113 75 -192 187.5t-110 244.5l69 15q10 3 10 15q0 5 -5.5 8t-10.5 2l-68 -15q-14 72 -14 139q0 206 109 379q2 -1 18.5 -12t30 -19t17.5 -8q13 0 13 12q0 6 -12.5 15.5t-32.5 21.5l-20 12q77 112 189 189t244 107l15 -67q2 -10 15 -10q5 0 8 5.5
+t2 10.5l-15 66q71 13 134 13q204 0 379 -109q-39 -56 -39 -65q0 -13 12 -13q11 0 48 64q111 -75 187.5 -186t107.5 -241l-56 -12q-10 -2 -10 -16q0 -5 5.5 -8t9.5 -2l57 13q14 -72 14 -140zM1696 640q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5
+t-255 -170.5t-170.5 -255t-63.5 -311t63.5 -311t170.5 -255t255 -170.5t311 -63.5t311 63.5t255 170.5t170.5 255t63.5 311zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191
+t191 -286t71 -348z" />
+    <glyph glyph-name="_578" unicode="&#xf268;" horiz-adv-x="1792" 
+d="M893 1536q240 2 451 -120q232 -134 352 -372l-742 39q-160 9 -294 -74.5t-185 -229.5l-276 424q128 159 311 245.5t383 87.5zM146 1131l337 -663q72 -143 211 -217t293 -45l-230 -451q-212 33 -385 157.5t-272.5 316t-99.5 411.5q0 267 146 491zM1732 962
+q58 -150 59.5 -310.5t-48.5 -306t-153 -272t-246 -209.5q-230 -133 -498 -119l405 623q88 131 82.5 290.5t-106.5 277.5zM896 942q125 0 213.5 -88.5t88.5 -213.5t-88.5 -213.5t-213.5 -88.5t-213.5 88.5t-88.5 213.5t88.5 213.5t213.5 88.5z" />
+    <glyph glyph-name="_579" unicode="&#xf269;" horiz-adv-x="1792" 
+d="M903 -256q-283 0 -504.5 150.5t-329.5 398.5q-58 131 -67 301t26 332.5t111 312t179 242.5l-11 -281q11 14 68 15.5t70 -15.5q42 81 160.5 138t234.5 59q-54 -45 -119.5 -148.5t-58.5 -163.5q25 -8 62.5 -13.5t63 -7.5t68 -4t50.5 -3q15 -5 9.5 -45.5t-30.5 -75.5
+q-5 -7 -16.5 -18.5t-56.5 -35.5t-101 -34l15 -189l-139 67q-18 -43 -7.5 -81.5t36 -66.5t65.5 -41.5t81 -6.5q51 9 98 34.5t83.5 45t73.5 17.5q61 -4 89.5 -33t19.5 -65q-1 -2 -2.5 -5.5t-8.5 -12.5t-18 -15.5t-31.5 -10.5t-46.5 -1q-60 -95 -144.5 -135.5t-209.5 -29.5
+q74 -61 162.5 -82.5t168.5 -6t154.5 52t128 87.5t80.5 104q43 91 39 192.5t-37.5 188.5t-78.5 125q87 -38 137 -79.5t77 -112.5q15 170 -57.5 343t-209.5 284q265 -77 412 -279.5t151 -517.5q2 -127 -40.5 -255t-123.5 -238t-189 -196t-247.5 -135.5t-288.5 -49.5z" />
+    <glyph glyph-name="_580" unicode="&#xf26a;" horiz-adv-x="1792" 
+d="M1493 1308q-165 110 -359 110q-155 0 -293 -73t-240 -200q-75 -93 -119.5 -218t-48.5 -266v-42q4 -141 48.5 -266t119.5 -218q102 -127 240 -200t293 -73q194 0 359 110q-121 -108 -274.5 -168t-322.5 -60q-29 0 -43 1q-175 8 -333 82t-272 193t-181 281t-67 339
+q0 182 71 348t191 286t286 191t348 71h3q168 -1 320.5 -60.5t273.5 -167.5zM1792 640q0 -192 -77 -362.5t-213 -296.5q-104 -63 -222 -63q-137 0 -255 84q154 56 253.5 233t99.5 405q0 227 -99 404t-253 234q119 83 254 83q119 0 226 -65q135 -125 210.5 -295t75.5 -361z
+" />
+    <glyph glyph-name="_581" unicode="&#xf26b;" horiz-adv-x="1792" 
+d="M1792 599q0 -56 -7 -104h-1151q0 -146 109.5 -244.5t257.5 -98.5q99 0 185.5 46.5t136.5 130.5h423q-56 -159 -170.5 -281t-267.5 -188.5t-321 -66.5q-187 0 -356 83q-228 -116 -394 -116q-237 0 -237 263q0 115 45 275q17 60 109 229q199 360 475 606
+q-184 -79 -427 -354q63 274 283.5 449.5t501.5 175.5q30 0 45 -1q255 117 433 117q64 0 116 -13t94.5 -40.5t66.5 -76.5t24 -115q0 -116 -75 -286q101 -182 101 -390zM1722 1239q0 83 -53 132t-137 49q-108 0 -254 -70q121 -47 222.5 -131.5t170.5 -195.5q51 135 51 216z
+M128 2q0 -86 48.5 -132.5t134.5 -46.5q115 0 266 83q-122 72 -213.5 183t-137.5 245q-98 -205 -98 -332zM632 715h728q-5 142 -113 237t-251 95q-144 0 -251.5 -95t-112.5 -237z" />
+    <glyph glyph-name="_582" unicode="&#xf26c;" horiz-adv-x="2048" 
+d="M1792 288v960q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1248v-960q0 -66 -47 -113t-113 -47h-736v-128h352q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23
+v64q0 14 9 23t23 9h352v128h-736q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="_583" unicode="&#xf26d;" horiz-adv-x="1792" 
+d="M138 1408h197q-70 -64 -126 -149q-36 -56 -59 -115t-30 -125.5t-8.5 -120t10.5 -132t21 -126t28 -136.5q4 -19 6 -28q51 -238 81 -329q57 -171 152 -275h-272q-48 0 -82 34t-34 82v1304q0 48 34 82t82 34zM1346 1408h308q48 0 82 -34t34 -82v-1304q0 -48 -34 -82t-82 -34
+h-178q212 210 196 565l-469 -101q-2 -45 -12 -82t-31 -72t-59.5 -59.5t-93.5 -36.5q-123 -26 -199 40q-32 27 -53 61t-51.5 129t-64.5 258q-35 163 -45.5 263t-5.5 139t23 77q20 41 62.5 73t102.5 45q45 12 83.5 6.5t67 -17t54 -35t43 -48t34.5 -56.5l468 100
+q-68 175 -180 287z" />
+    <glyph glyph-name="_584" unicode="&#xf26e;" 
+d="M1401 -11l-6 -6q-113 -113 -259 -175q-154 -64 -317 -64q-165 0 -317 64q-148 63 -259 175q-113 112 -175 258q-42 103 -54 189q-4 28 48 36q51 8 56 -20q1 -1 1 -4q18 -90 46 -159q50 -124 152 -226q98 -98 226 -152q132 -56 276 -56q143 0 276 56q128 55 225 152l6 6
+q10 10 25 6q12 -3 33 -22q36 -37 17 -58zM929 604l-66 -66l63 -63q21 -21 -7 -49q-17 -17 -32 -17q-10 0 -19 10l-62 61l-66 -66q-5 -5 -15 -5q-15 0 -31 16l-2 2q-18 15 -18 29q0 7 8 17l66 65l-66 66q-16 16 14 45q18 18 31 18q6 0 13 -5l65 -66l65 65q18 17 48 -13
+q27 -27 11 -44zM1400 547q0 -118 -46 -228q-45 -105 -126 -186q-80 -80 -187 -126t-228 -46t-228 46t-187 126q-82 82 -125 186q-15 33 -15 40h-1q-9 27 43 44q50 16 60 -12q37 -99 97 -167h1v339v2q3 136 102 232q105 103 253 103q147 0 251 -103t104 -249
+q0 -147 -104.5 -251t-250.5 -104q-58 0 -112 16q-28 11 -13 61q16 51 44 43l14 -3q14 -3 33 -6t30 -3q104 0 176 71.5t72 174.5q0 101 -72 171q-71 71 -175 71q-107 0 -178 -80q-64 -72 -64 -160v-413q110 -67 242 -67q96 0 185 36.5t156 103.5t103.5 155t36.5 183
+q0 198 -141 339q-140 140 -339 140q-200 0 -340 -140q-53 -53 -77 -87l-2 -2q-8 -11 -13 -15.5t-21.5 -9.5t-38.5 3q-21 5 -36.5 16.5t-15.5 26.5v680q0 15 10.5 26.5t27.5 11.5h877q30 0 30 -55t-30 -55h-811v-483h1q40 42 102 84t108 61q109 46 231 46q121 0 228 -46
+t187 -126q81 -81 126 -186q46 -112 46 -229zM1369 1128q9 -8 9 -18t-5.5 -18t-16.5 -21q-26 -26 -39 -26q-9 0 -16 7q-106 91 -207 133q-128 56 -276 56q-133 0 -262 -49q-27 -10 -45 37q-9 25 -8 38q3 16 16 20q130 57 299 57q164 0 316 -64q137 -58 235 -152z" />
+    <glyph glyph-name="_585" unicode="&#xf270;" horiz-adv-x="1792" 
+d="M1551 60q15 6 26 3t11 -17.5t-15 -33.5q-13 -16 -44 -43.5t-95.5 -68t-141 -74t-188 -58t-229.5 -24.5q-119 0 -238 31t-209 76.5t-172.5 104t-132.5 105t-84 87.5q-8 9 -10 16.5t1 12t8 7t11.5 2t11.5 -4.5q192 -117 300 -166q389 -176 799 -90q190 40 391 135z
+M1758 175q11 -16 2.5 -69.5t-28.5 -102.5q-34 -83 -85 -124q-17 -14 -26 -9t0 24q21 45 44.5 121.5t6.5 98.5q-5 7 -15.5 11.5t-27 6t-29.5 2.5t-35 0t-31.5 -2t-31 -3t-22.5 -2q-6 -1 -13 -1.5t-11 -1t-8.5 -1t-7 -0.5h-5.5h-4.5t-3 0.5t-2 1.5l-1.5 3q-6 16 47 40t103 30
+q46 7 108 1t76 -24zM1364 618q0 -31 13.5 -64t32 -58t37.5 -46t33 -32l13 -11l-227 -224q-40 37 -79 75.5t-58 58.5l-19 20q-11 11 -25 33q-38 -59 -97.5 -102.5t-127.5 -63.5t-140 -23t-137.5 21t-117.5 65.5t-83 113t-31 162.5q0 84 28 154t72 116.5t106.5 83t122.5 57
+t130 34.5t119.5 18.5t99.5 6.5v127q0 65 -21 97q-34 53 -121 53q-6 0 -16.5 -1t-40.5 -12t-56 -29.5t-56 -59.5t-48 -96l-294 27q0 60 22 119t67 113t108 95t151.5 65.5t190.5 24.5q100 0 181 -25t129.5 -61.5t81 -83t45 -86t12.5 -73.5v-589zM692 597q0 -86 70 -133
+q66 -44 139 -22q84 25 114 123q14 45 14 101v162q-59 -2 -111 -12t-106.5 -33.5t-87 -71t-32.5 -114.5z" />
+    <glyph glyph-name="_586" unicode="&#xf271;" horiz-adv-x="1792" 
+d="M1536 1280q52 0 90 -38t38 -90v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128zM1152 1376v-288q0 -14 9 -23t23 -9
+h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 1376v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM1536 -128v1024h-1408v-1024h1408zM896 448h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224
+v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224z" />
+    <glyph glyph-name="_587" unicode="&#xf272;" horiz-adv-x="1792" 
+d="M1152 416v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23
+t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47
+t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_588" unicode="&#xf273;" horiz-adv-x="1792" 
+d="M1111 151l-46 -46q-9 -9 -22 -9t-23 9l-188 189l-188 -189q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22t9 23l189 188l-189 188q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l188 -188l188 188q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23l-188 -188l188 -188q9 -10 9 -23t-9 -22z
+M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280
+q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_589" unicode="&#xf274;" horiz-adv-x="1792" 
+d="M1303 572l-512 -512q-10 -9 -23 -9t-23 9l-288 288q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l220 -220l444 444q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23
+t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47
+t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_590" unicode="&#xf275;" horiz-adv-x="1792" 
+d="M448 1536q26 0 45 -19t19 -45v-891l536 429q17 14 40 14q26 0 45 -19t19 -45v-379l536 429q17 14 40 14q26 0 45 -19t19 -45v-1152q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h384z" />
+    <glyph glyph-name="_591" unicode="&#xf276;" horiz-adv-x="1024" 
+d="M512 448q66 0 128 15v-655q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v655q62 -15 128 -15zM512 1536q212 0 362 -150t150 -362t-150 -362t-362 -150t-362 150t-150 362t150 362t362 150zM512 1312q14 0 23 9t9 23t-9 23t-23 9q-146 0 -249 -103t-103 -249
+q0 -14 9 -23t23 -9t23 9t9 23q0 119 84.5 203.5t203.5 84.5z" />
+    <glyph glyph-name="_592" unicode="&#xf277;" horiz-adv-x="1792" 
+d="M1745 1239q10 -10 10 -23t-10 -23l-141 -141q-28 -28 -68 -28h-1344q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h576v64q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-64h512q40 0 68 -28zM768 320h256v-512q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v512zM1600 768
+q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-1344q-40 0 -68 28l-141 141q-10 10 -10 23t10 23l141 141q28 28 68 28h512v192h256v-192h576z" />
+    <glyph glyph-name="_593" unicode="&#xf278;" horiz-adv-x="2048" 
+d="M2020 1525q28 -20 28 -53v-1408q0 -20 -11 -36t-29 -23l-640 -256q-24 -11 -48 0l-616 246l-616 -246q-10 -5 -24 -5q-19 0 -36 11q-28 20 -28 53v1408q0 20 11 36t29 23l640 256q24 11 48 0l616 -246l616 246q32 13 60 -6zM736 1390v-1270l576 -230v1270zM128 1173
+v-1270l544 217v1270zM1920 107v1270l-544 -217v-1270z" />
+    <glyph glyph-name="_594" unicode="&#xf279;" horiz-adv-x="1792" 
+d="M512 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472q0 20 17 28l480 256q7 4 15 4zM1760 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472
+q0 20 17 28l480 256q7 4 15 4zM640 1536q8 0 14 -3l512 -256q18 -10 18 -29v-1472q0 -13 -9.5 -22.5t-22.5 -9.5q-8 0 -14 3l-512 256q-18 10 -18 29v1472q0 13 9.5 22.5t22.5 9.5z" />
+    <glyph glyph-name="_595" unicode="&#xf27a;" horiz-adv-x="1792" 
+d="M640 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 640q0 53 -37.5 90.5t-90.5 37.5
+t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-110 0 -211 18q-173 -173 -435 -229q-52 -10 -86 -13q-12 -1 -22 6t-13 18q-4 15 20 37q5 5 23.5 21.5t25.5 23.5t23.5 25.5t24 31.5t20.5 37
+t20 48t14.5 57.5t12.5 72.5q-146 90 -229.5 216.5t-83.5 269.5q0 174 120 321.5t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
+    <glyph glyph-name="_596" unicode="&#xf27b;" horiz-adv-x="1792" 
+d="M640 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 -53 -37.5 -90.5t-90.5 -37.5
+t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5
+t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51
+t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 130 71 248.5t191 204.5t286 136.5t348 50.5t348 -50.5t286 -136.5t191 -204.5t71 -248.5z" />
+    <glyph glyph-name="_597" unicode="&#xf27c;" horiz-adv-x="1024" 
+d="M512 345l512 295v-591l-512 -296v592zM0 640v-591l512 296zM512 1527v-591l-512 -296v591zM512 936l512 295v-591z" />
+    <glyph glyph-name="_598" unicode="&#xf27d;" horiz-adv-x="1792" 
+d="M1709 1018q-10 -236 -332 -651q-333 -431 -562 -431q-142 0 -240 263q-44 160 -132 482q-72 262 -157 262q-18 0 -127 -76l-77 98q24 21 108 96.5t130 115.5q156 138 241 146q95 9 153 -55.5t81 -203.5q44 -287 66 -373q55 -249 120 -249q51 0 154 161q101 161 109 246
+q13 139 -109 139q-57 0 -121 -26q120 393 459 382q251 -8 236 -326z" />
+    <glyph glyph-name="f27e" unicode="&#xf27e;" 
+d="M0 1408h1536v-1536h-1536v1536zM1085 293l-221 631l221 297h-634l221 -297l-221 -631l317 -304z" />
+    <glyph glyph-name="uniF280" unicode="&#xf280;" 
+d="M0 1408h1536v-1536h-1536v1536zM908 1088l-12 -33l75 -83l-31 -114l25 -25l107 57l107 -57l25 25l-31 114l75 83l-12 33h-95l-53 96h-32l-53 -96h-95zM641 925q32 0 44.5 -16t11.5 -63l174 21q0 55 -17.5 92.5t-50.5 56t-69 25.5t-85 7q-133 0 -199 -57.5t-66 -182.5v-72
+h-96v-128h76q20 0 20 -8v-382q0 -14 -5 -20t-18 -7l-73 -7v-88h448v86l-149 14q-6 1 -8.5 1.5t-3.5 2.5t-0.5 4t1 7t0.5 10v387h191l38 128h-231q-6 0 -2 6t4 9v80q0 27 1.5 40.5t7.5 28t19.5 20t36.5 5.5zM1248 96v86l-54 9q-7 1 -9.5 2.5t-2.5 3t1 7.5t1 12v520h-275
+l-23 -101l83 -22q23 -7 23 -27v-370q0 -14 -6 -18.5t-20 -6.5l-70 -9v-86h352z" />
+    <glyph glyph-name="uniF281" unicode="&#xf281;" horiz-adv-x="1792" 
+d="M1792 690q0 -58 -29.5 -105.5t-79.5 -72.5q12 -46 12 -96q0 -155 -106.5 -287t-290.5 -208.5t-400 -76.5t-399.5 76.5t-290 208.5t-106.5 287q0 47 11 94q-51 25 -82 73.5t-31 106.5q0 82 58 140.5t141 58.5q85 0 145 -63q218 152 515 162l116 521q3 13 15 21t26 5
+l369 -81q18 37 54 59.5t79 22.5q62 0 106 -43.5t44 -105.5t-44 -106t-106 -44t-105.5 43.5t-43.5 105.5l-334 74l-104 -472q300 -9 519 -160q58 61 143 61q83 0 141 -58.5t58 -140.5zM418 491q0 -62 43.5 -106t105.5 -44t106 44t44 106t-44 105.5t-106 43.5q-61 0 -105 -44
+t-44 -105zM1228 136q11 11 11 26t-11 26q-10 10 -25 10t-26 -10q-41 -42 -121 -62t-160 -20t-160 20t-121 62q-11 10 -26 10t-25 -10q-11 -10 -11 -25.5t11 -26.5q43 -43 118.5 -68t122.5 -29.5t91 -4.5t91 4.5t122.5 29.5t118.5 68zM1225 341q62 0 105.5 44t43.5 106
+q0 61 -44 105t-105 44q-62 0 -106 -43.5t-44 -105.5t44 -106t106 -44z" />
+    <glyph glyph-name="_602" unicode="&#xf282;" horiz-adv-x="1792" 
+d="M69 741h1q16 126 58.5 241.5t115 217t167.5 176t223.5 117.5t276.5 43q231 0 414 -105.5t294 -303.5q104 -187 104 -442v-188h-1125q1 -111 53.5 -192.5t136.5 -122.5t189.5 -57t213 -3t208 46.5t173.5 84.5v-377q-92 -55 -229.5 -92t-312.5 -38t-316 53
+q-189 73 -311.5 249t-124.5 372q-3 242 111 412t325 268q-48 -60 -78 -125.5t-46 -159.5h635q8 77 -8 140t-47 101.5t-70.5 66.5t-80.5 41t-75 20.5t-56 8.5l-22 1q-135 -5 -259.5 -44.5t-223.5 -104.5t-176 -140.5t-138 -163.5z" />
+    <glyph glyph-name="_603" unicode="&#xf283;" horiz-adv-x="2304" 
+d="M0 32v608h2304v-608q0 -66 -47 -113t-113 -47h-1984q-66 0 -113 47t-47 113zM640 256v-128h384v128h-384zM256 256v-128h256v128h-256zM2144 1408q66 0 113 -47t47 -113v-224h-2304v224q0 66 47 113t113 47h1984z" />
+    <glyph glyph-name="_604" unicode="&#xf284;" horiz-adv-x="1792" 
+d="M1584 246l-218 111q-74 -120 -196.5 -189t-263.5 -69q-147 0 -271 72t-196 196t-72 270q0 110 42.5 209.5t115 172t172 115t209.5 42.5q131 0 247.5 -60.5t192.5 -168.5l215 125q-110 169 -286.5 265t-378.5 96q-161 0 -308 -63t-253 -169t-169 -253t-63 -308t63 -308
+t169 -253t253 -169t308 -63q213 0 397.5 107t290.5 292zM1030 643l693 -352q-116 -253 -334.5 -400t-492.5 -147q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71q260 0 470.5 -133.5t335.5 -366.5zM1543 640h-39v-160h-96v352h136q32 0 54.5 -20
+t28.5 -48t1 -56t-27.5 -48t-57.5 -20z" />
+    <glyph glyph-name="uniF285" unicode="&#xf285;" horiz-adv-x="1792" 
+d="M1427 827l-614 386l92 151h855zM405 562l-184 116v858l1183 -743zM1424 697l147 -95v-858l-532 335zM1387 718l-500 -802h-855l356 571z" />
+    <glyph glyph-name="uniF286" unicode="&#xf286;" horiz-adv-x="1792" 
+d="M640 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1152 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1664 496v-752h-640v320q0 80 -56 136t-136 56t-136 -56t-56 -136v-320h-640v752q0 16 16 16h96
+q16 0 16 -16v-112h128v624q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 6 2.5 9.5t8.5 5t9.5 2t11.5 0t9 -0.5v391q-32 15 -32 50q0 23 16.5 39t38.5 16t38.5 -16t16.5 -39q0 -35 -32 -50v-17q45 10 83 10q21 0 59.5 -7.5t54.5 -7.5
+q17 0 47 7.5t37 7.5q16 0 16 -16v-210q0 -15 -35 -21.5t-62 -6.5q-18 0 -54.5 7.5t-55.5 7.5q-40 0 -90 -12v-133q1 0 9 0.5t11.5 0t9.5 -2t8.5 -5t2.5 -9.5v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-624h128v112q0 16 16 16h96
+q16 0 16 -16z" />
+    <glyph glyph-name="_607" unicode="&#xf287;" horiz-adv-x="2304" 
+d="M2288 731q16 -8 16 -27t-16 -27l-320 -192q-8 -5 -16 -5q-9 0 -16 4q-16 10 -16 28v128h-858q37 -58 83 -165q16 -37 24.5 -55t24 -49t27 -47t27 -34t31.5 -26t33 -8h96v96q0 14 9 23t23 9h320q14 0 23 -9t9 -23v-320q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v96h-96
+q-32 0 -61 10t-51 23.5t-45 40.5t-37 46t-33.5 57t-28.5 57.5t-28 60.5q-23 53 -37 81.5t-36 65t-44.5 53.5t-46.5 17h-360q-22 -84 -91 -138t-157 -54q-106 0 -181 75t-75 181t75 181t181 75q88 0 157 -54t91 -138h104q24 0 46.5 17t44.5 53.5t36 65t37 81.5q19 41 28 60.5
+t28.5 57.5t33.5 57t37 46t45 40.5t51 23.5t61 10h107q21 57 70 92.5t111 35.5q80 0 136 -56t56 -136t-56 -136t-136 -56q-62 0 -111 35.5t-70 92.5h-107q-17 0 -33 -8t-31.5 -26t-27 -34t-27 -47t-24 -49t-24.5 -55q-46 -107 -83 -165h1114v128q0 18 16 28t32 -1z" />
+    <glyph glyph-name="_608" unicode="&#xf288;" horiz-adv-x="1792" 
+d="M1150 774q0 -56 -39.5 -95t-95.5 -39h-253v269h253q56 0 95.5 -39.5t39.5 -95.5zM1329 774q0 130 -91.5 222t-222.5 92h-433v-896h180v269h253q130 0 222 91.5t92 221.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348
+t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_609" unicode="&#xf289;" horiz-adv-x="2304" 
+d="M1645 438q0 59 -34 106.5t-87 68.5q-7 -45 -23 -92q-7 -24 -27.5 -38t-44.5 -14q-12 0 -24 3q-31 10 -45 38.5t-4 58.5q23 71 23 143q0 123 -61 227.5t-166 165.5t-228 61q-134 0 -247 -73t-167 -194q108 -28 188 -106q22 -23 22 -55t-22 -54t-54 -22t-55 22
+q-75 75 -180 75q-106 0 -181 -74.5t-75 -180.5t75 -180.5t181 -74.5h1046q79 0 134.5 55.5t55.5 133.5zM1798 438q0 -142 -100.5 -242t-242.5 -100h-1046q-169 0 -289 119.5t-120 288.5q0 153 100 267t249 136q62 184 221 298t354 114q235 0 408.5 -158.5t196.5 -389.5
+q116 -25 192.5 -118.5t76.5 -214.5zM2048 438q0 -175 -97 -319q-23 -33 -64 -33q-24 0 -43 13q-26 17 -32 48.5t12 57.5q71 104 71 233t-71 233q-18 26 -12 57t32 49t57.5 11.5t49.5 -32.5q97 -142 97 -318zM2304 438q0 -244 -134 -443q-23 -34 -64 -34q-23 0 -42 13
+q-26 18 -32.5 49t11.5 57q108 164 108 358q0 195 -108 357q-18 26 -11.5 57.5t32.5 48.5q26 18 57 12t49 -33q134 -198 134 -442z" />
+    <glyph glyph-name="_610" unicode="&#xf28a;" 
+d="M1500 -13q0 -89 -63 -152.5t-153 -63.5t-153.5 63.5t-63.5 152.5q0 90 63.5 153.5t153.5 63.5t153 -63.5t63 -153.5zM1267 268q-115 -15 -192.5 -102.5t-77.5 -205.5q0 -74 33 -138q-146 -78 -379 -78q-109 0 -201 21t-153.5 54.5t-110.5 76.5t-76 85t-44.5 83
+t-23.5 66.5t-6 39.5q0 19 4.5 42.5t18.5 56t36.5 58t64 43.5t94.5 18t94 -17.5t63 -41t35.5 -53t17.5 -49t4 -33.5q0 -34 -23 -81q28 -27 82 -42t93 -17l40 -1q115 0 190 51t75 133q0 26 -9 48.5t-31.5 44.5t-49.5 41t-74 44t-93.5 47.5t-119.5 56.5q-28 13 -43 20
+q-116 55 -187 100t-122.5 102t-72 125.5t-20.5 162.5q0 78 20.5 150t66 137.5t112.5 114t166.5 77t221.5 28.5q120 0 220 -26t164.5 -67t109.5 -94t64 -105.5t19 -103.5q0 -46 -15 -82.5t-36.5 -58t-48.5 -36t-49 -19.5t-39 -5h-8h-32t-39 5t-44 14t-41 28t-37 46t-24 70.5
+t-10 97.5q-15 16 -59 25.5t-81 10.5l-37 1q-68 0 -117.5 -31t-70.5 -70t-21 -76q0 -24 5 -43t24 -46t53 -51t97 -53.5t150 -58.5q76 -25 138.5 -53.5t109 -55.5t83 -59t60.5 -59.5t41 -62.5t26.5 -62t14.5 -63.5t6 -62t1 -62.5z" />
+    <glyph glyph-name="_611" unicode="&#xf28b;" 
+d="M704 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1152 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103
+t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_612" unicode="&#xf28c;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273
+t73 -273t198 -198t273 -73zM864 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192z" />
+    <glyph glyph-name="_613" unicode="&#xf28d;" 
+d="M1088 352v576q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
+t103 -385.5z" />
+    <glyph glyph-name="_614" unicode="&#xf28e;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273
+t73 -273t198 -198t273 -73zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h576q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-576z" />
+    <glyph glyph-name="_615" unicode="&#xf290;" horiz-adv-x="1792" 
+d="M1757 128l35 -313q3 -28 -16 -50q-19 -21 -48 -21h-1664q-29 0 -48 21q-19 22 -16 50l35 313h1722zM1664 967l86 -775h-1708l86 775q3 24 21 40.5t43 16.5h256v-128q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5v128h384v-128q0 -53 37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5v128h256q25 0 43 -16.5t21 -40.5zM1280 1152v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="_616" unicode="&#xf291;" horiz-adv-x="2048" 
+d="M1920 768q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-15l-115 -662q-8 -46 -44 -76t-82 -30h-1280q-46 0 -82 30t-44 76l-115 662h-15q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5h1792zM485 -32q26 2 43.5 22.5t15.5 46.5l-32 416q-2 26 -22.5 43.5
+t-46.5 15.5t-43.5 -22.5t-15.5 -46.5l32 -416q2 -25 20.5 -42t43.5 -17h5zM896 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1280 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1632 27l32 416
+q2 26 -15.5 46.5t-43.5 22.5t-46.5 -15.5t-22.5 -43.5l-32 -416q-2 -26 15.5 -46.5t43.5 -22.5h5q25 0 43.5 17t20.5 42zM476 1244l-93 -412h-132l101 441q19 88 89 143.5t160 55.5h167q0 26 19 45t45 19h384q26 0 45 -19t19 -45h167q90 0 160 -55.5t89 -143.5l101 -441
+h-132l-93 412q-11 44 -45.5 72t-79.5 28h-167q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45h-167q-45 0 -79.5 -28t-45.5 -72z" />
+    <glyph glyph-name="_617" unicode="&#xf292;" horiz-adv-x="1792" 
+d="M991 512l64 256h-254l-64 -256h254zM1759 1016l-56 -224q-7 -24 -31 -24h-327l-64 -256h311q15 0 25 -12q10 -14 6 -28l-56 -224q-5 -24 -31 -24h-327l-81 -328q-7 -24 -31 -24h-224q-16 0 -26 12q-9 12 -6 28l78 312h-254l-81 -328q-7 -24 -31 -24h-225q-15 0 -25 12
+q-9 12 -6 28l78 312h-311q-15 0 -25 12q-9 12 -6 28l56 224q7 24 31 24h327l64 256h-311q-15 0 -25 12q-10 14 -6 28l56 224q5 24 31 24h327l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h254l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h311
+q15 0 25 -12q9 -12 6 -28z" />
+    <glyph glyph-name="_618" unicode="&#xf293;" 
+d="M841 483l148 -148l-149 -149zM840 1094l149 -149l-148 -148zM710 -130l464 464l-306 306l306 306l-464 464v-611l-255 255l-93 -93l320 -321l-320 -321l93 -93l255 255v-611zM1429 640q0 -209 -32 -365.5t-87.5 -257t-140.5 -162.5t-181.5 -86.5t-219.5 -24.5
+t-219.5 24.5t-181.5 86.5t-140.5 162.5t-87.5 257t-32 365.5t32 365.5t87.5 257t140.5 162.5t181.5 86.5t219.5 24.5t219.5 -24.5t181.5 -86.5t140.5 -162.5t87.5 -257t32 -365.5z" />
+    <glyph glyph-name="_619" unicode="&#xf294;" horiz-adv-x="1024" 
+d="M596 113l173 172l-173 172v-344zM596 823l173 172l-173 172v-344zM628 640l356 -356l-539 -540v711l-297 -296l-108 108l372 373l-372 373l108 108l297 -296v711l539 -540z" />
+    <glyph glyph-name="_620" unicode="&#xf295;" 
+d="M1280 256q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM512 1024q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5
+t112.5 -271.5zM1440 1344q0 -20 -13 -38l-1056 -1408q-19 -26 -51 -26h-160q-26 0 -45 19t-19 45q0 20 13 38l1056 1408q19 26 51 26h160q26 0 45 -19t19 -45zM768 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
+t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="_621" unicode="&#xf296;" horiz-adv-x="1792" 
+d="M104 830l792 -1015l-868 630q-18 13 -25 34.5t0 42.5l101 308v0zM566 830h660l-330 -1015v0zM368 1442l198 -612h-462l198 612q8 23 33 23t33 -23zM1688 830l101 -308q7 -21 0 -42.5t-25 -34.5l-868 -630l792 1015v0zM1688 830h-462l198 612q8 23 33 23t33 -23z" />
+    <glyph glyph-name="_622" unicode="&#xf297;" horiz-adv-x="1792" 
+d="M384 704h160v224h-160v-224zM1221 372v92q-104 -36 -243 -38q-135 -1 -259.5 46.5t-220.5 122.5l1 -96q88 -80 212 -128.5t272 -47.5q129 0 238 49zM640 704h640v224h-640v-224zM1792 736q0 -187 -99 -352q89 -102 89 -229q0 -157 -129.5 -268t-313.5 -111
+q-122 0 -225 52.5t-161 140.5q-19 -1 -57 -1t-57 1q-58 -88 -161 -140.5t-225 -52.5q-184 0 -313.5 111t-129.5 268q0 127 89 229q-99 165 -99 352q0 209 120 385.5t326.5 279.5t449.5 103t449.5 -103t326.5 -279.5t120 -385.5z" />
+    <glyph glyph-name="_623" unicode="&#xf298;" 
+d="M515 625v-128h-252v128h252zM515 880v-127h-252v127h252zM1273 369v-128h-341v128h341zM1273 625v-128h-672v128h672zM1273 880v-127h-672v127h672zM1408 20v1240q0 8 -6 14t-14 6h-32l-378 -256l-210 171l-210 -171l-378 256h-32q-8 0 -14 -6t-6 -14v-1240q0 -8 6 -14
+t14 -6h1240q8 0 14 6t6 14zM553 1130l185 150h-406zM983 1130l221 150h-406zM1536 1260v-1240q0 -62 -43 -105t-105 -43h-1240q-62 0 -105 43t-43 105v1240q0 62 43 105t105 43h1240q62 0 105 -43t43 -105z" />
+    <glyph glyph-name="_624" unicode="&#xf299;" horiz-adv-x="1792" 
+d="M896 720q-104 196 -160 278q-139 202 -347 318q-34 19 -70 36q-89 40 -94 32t34 -38l39 -31q62 -43 112.5 -93.5t94.5 -116.5t70.5 -113t70.5 -131q9 -17 13 -25q44 -84 84 -153t98 -154t115.5 -150t131 -123.5t148.5 -90.5q153 -66 154 -60q1 3 -49 37q-53 36 -81 57
+q-77 58 -179 211t-185 310zM549 177q-76 60 -132.5 125t-98 143.5t-71 154.5t-58.5 186t-52 209t-60.5 252t-76.5 289q273 0 497.5 -36t379 -92t271 -144.5t185.5 -172.5t110 -198.5t56 -199.5t12.5 -198.5t-9.5 -173t-20 -143.5t-13 -107l323 -327h-104l-281 285
+q-22 -2 -91.5 -14t-121.5 -19t-138 -6t-160.5 17t-167.5 59t-179 111z" />
+    <glyph glyph-name="_625" unicode="&#xf29a;" horiz-adv-x="1792" 
+d="M1374 879q-6 26 -28.5 39.5t-48.5 7.5q-261 -62 -401 -62t-401 62q-26 6 -48.5 -7.5t-28.5 -39.5t7.5 -48.5t39.5 -28.5q194 -46 303 -58q-2 -158 -15.5 -269t-26.5 -155.5t-41 -115.5l-9 -21q-10 -25 1 -49t36 -34q9 -4 23 -4q44 0 60 41l8 20q54 139 71 259h42
+q17 -120 71 -259l8 -20q16 -41 60 -41q14 0 23 4q25 10 36 34t1 49l-9 21q-28 71 -41 115.5t-26.5 155.5t-15.5 269q109 12 303 58q26 6 39.5 28.5t7.5 48.5zM1024 1024q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z
+M1600 640q0 -143 -55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5zM896 1408q-156 0 -298 -61t-245 -164t-164 -245t-61 -298t61 -298
+t164 -245t245 -164t298 -61t298 61t245 164t164 245t61 298t-61 298t-164 245t-245 164t-298 61zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_626" unicode="&#xf29b;" 
+d="M1438 723q34 -35 29 -82l-44 -551q-4 -42 -34.5 -70t-71.5 -28q-6 0 -9 1q-44 3 -72.5 36.5t-25.5 77.5l35 429l-143 -8q55 -113 55 -240q0 -216 -148 -372l-137 137q91 101 91 235q0 145 -102.5 248t-247.5 103q-134 0 -236 -92l-137 138q120 114 284 141l264 300
+l-149 87l-181 -161q-33 -30 -77 -27.5t-73 35.5t-26.5 77t34.5 73l239 213q26 23 60 26.5t64 -14.5l488 -283q36 -21 48 -68q17 -67 -26 -117l-205 -232l371 20q49 3 83 -32zM1240 1180q-74 0 -126 52t-52 126t52 126t126 52t126.5 -52t52.5 -126t-52.5 -126t-126.5 -52z
+M613 -62q106 0 196 61l139 -139q-146 -116 -335 -116q-148 0 -273.5 73t-198.5 198t-73 273q0 188 116 336l139 -139q-60 -88 -60 -197q0 -145 102.5 -247.5t247.5 -102.5z" />
+    <glyph glyph-name="_627" unicode="&#xf29c;" 
+d="M880 336v-160q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h160q14 0 23 -9t9 -23zM1136 832q0 -50 -15 -90t-45.5 -69t-52 -44t-59.5 -36q-32 -18 -46.5 -28t-26 -24t-11.5 -29v-32q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v68q0 35 10.5 64.5
+t24 47.5t39 35.5t41 25.5t44.5 21q53 25 75 43t22 49q0 42 -43.5 71.5t-95.5 29.5q-56 0 -95 -27q-29 -20 -80 -83q-9 -12 -25 -12q-11 0 -19 6l-108 82q-10 7 -12 20t5 23q122 192 349 192q129 0 238.5 -89.5t109.5 -214.5zM768 1280q-130 0 -248.5 -51t-204 -136.5
+t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5
+t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_628" unicode="&#xf29d;" horiz-adv-x="1408" 
+d="M366 1225q-64 0 -110 45.5t-46 110.5q0 64 46 109.5t110 45.5t109.5 -45.5t45.5 -109.5q0 -65 -45.5 -110.5t-109.5 -45.5zM917 583q0 -50 -30 -67.5t-63.5 -6.5t-47.5 34l-367 438q-7 12 -14 15.5t-11 1.5l-3 -3q-7 -8 4 -21l122 -139l1 -354l-161 -457
+q-67 -192 -92 -234q-15 -26 -28 -32q-50 -26 -103 -1q-29 13 -41.5 43t-9.5 57q2 17 197 618l5 416l-85 -164l35 -222q4 -24 -1 -42t-14 -27.5t-19 -16t-17 -7.5l-7 -2q-19 -3 -34.5 3t-24 16t-14 22t-7.5 19.5t-2 9.5l-46 299l211 381q23 34 113 34q75 0 107 -40l424 -521
+q7 -5 14 -17l3 -3l-1 -1q7 -13 7 -29zM514 433q43 -113 88.5 -225t69.5 -168l24 -55q36 -93 42 -125q11 -70 -36 -97q-35 -22 -66 -16t-51 22t-29 35h-1q-6 16 -8 25l-124 351zM1338 -159q31 -49 31 -57q0 -5 -3 -7q-9 -5 -14.5 0.5t-15.5 26t-16 30.5q-114 172 -423 661
+q3 -1 7 1t7 4l3 2q11 9 11 17z" />
+    <glyph glyph-name="_629" unicode="&#xf29e;" horiz-adv-x="2304" 
+d="M504 542h171l-1 265zM1530 641q0 87 -50.5 140t-146.5 53h-54v-388h52q91 0 145 57t54 138zM956 1018l1 -756q0 -14 -9.5 -24t-23.5 -10h-216q-14 0 -23.5 10t-9.5 24v62h-291l-55 -81q-10 -15 -28 -15h-267q-21 0 -30.5 18t3.5 35l556 757q9 14 27 14h332q14 0 24 -10
+t10 -24zM1783 641q0 -193 -125.5 -303t-324.5 -110h-270q-14 0 -24 10t-10 24v756q0 14 10 24t24 10h268q200 0 326 -109t126 -302zM1939 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5
+t-7.5 60t-20 91.5t-41 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2123 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-45 -108t-74 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5
+h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2304 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66 104.5t41 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96
+t9.5 -70.5z" />
+    <glyph glyph-name="uniF2A0" unicode="&#xf2a0;" horiz-adv-x="1408" 
+d="M617 -153q0 11 -13 58t-31 107t-20 69q-1 4 -5 26.5t-8.5 36t-13.5 21.5q-15 14 -51 14q-23 0 -70 -5.5t-71 -5.5q-34 0 -47 11q-6 5 -11 15.5t-7.5 20t-6.5 24t-5 18.5q-37 128 -37 255t37 255q1 4 5 18.5t6.5 24t7.5 20t11 15.5q13 11 47 11q24 0 71 -5.5t70 -5.5
+q36 0 51 14q9 8 13.5 21.5t8.5 36t5 26.5q2 9 20 69t31 107t13 58q0 22 -43.5 52.5t-75.5 42.5q-20 8 -45 8q-34 0 -98 -18q-57 -17 -96.5 -40.5t-71 -66t-46 -70t-45.5 -94.5q-6 -12 -9 -19q-49 -107 -68 -216t-19 -244t19 -244t68 -216q56 -122 83 -161q63 -91 179 -127
+l6 -2q64 -18 98 -18q25 0 45 8q32 12 75.5 42.5t43.5 52.5zM776 760q-26 0 -45 19t-19 45.5t19 45.5q37 37 37 90q0 52 -37 91q-19 19 -19 45t19 45t45 19t45 -19q75 -75 75 -181t-75 -181q-21 -19 -45 -19zM957 579q-27 0 -45 19q-19 19 -19 45t19 45q112 114 112 272
+t-112 272q-19 19 -19 45t19 45t45 19t45 -19q150 -150 150 -362t-150 -362q-18 -19 -45 -19zM1138 398q-27 0 -45 19q-19 19 -19 45t19 45q90 91 138.5 208t48.5 245t-48.5 245t-138.5 208q-19 19 -19 45t19 45t45 19t45 -19q109 -109 167 -249t58 -294t-58 -294t-167 -249
+q-18 -19 -45 -19z" />
+    <glyph glyph-name="uniF2A1" unicode="&#xf2a1;" horiz-adv-x="2176" 
+d="M192 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 352
+q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 864
+q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 1376q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 192q0 -80 -56 -136
+t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 1216q0 -80 -56 -136t-136 -56
+t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 192q0 -80 -56 -136t-136 -56t-136 56
+t-56 136t56 136t136 56t136 -56t56 -136zM1664 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136
+t56 136t136 56t136 -56t56 -136zM2176 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z" />
+    <glyph glyph-name="uniF2A2" unicode="&#xf2a2;" horiz-adv-x="1792" 
+d="M128 -192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM320 0q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM365 365l256 -256l-90 -90l-256 256zM704 384q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45z
+M1411 704q0 -59 -11.5 -108.5t-37.5 -93.5t-44 -67.5t-53 -64.5q-31 -35 -45.5 -54t-33.5 -50t-26.5 -64t-7.5 -74q0 -159 -112.5 -271.5t-271.5 -112.5q-26 0 -45 19t-19 45t19 45t45 19q106 0 181 75t75 181q0 57 11.5 105.5t37 91t43.5 66.5t52 63q40 46 59.5 72
+t37.5 74.5t18 103.5q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM896 576q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45
+t45 19t45 -19t19 -45zM1184 704q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 93 -65.5 158.5t-158.5 65.5q-92 0 -158 -65.5t-66 -158.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 146 103 249t249 103t249 -103t103 -249zM1578 993q10 -25 -1 -49t-36 -34q-9 -4 -23 -4
+q-19 0 -35.5 11t-23.5 30q-68 178 -224 295q-21 16 -25 42t12 47q17 21 43 25t47 -12q183 -137 266 -351zM1788 1074q9 -25 -1.5 -49t-35.5 -34q-11 -4 -23 -4q-44 0 -60 41q-92 238 -297 393q-22 16 -25.5 42t12.5 47q16 22 42 25.5t47 -12.5q235 -175 341 -449z" />
+    <glyph glyph-name="uniF2A3" unicode="&#xf2a3;" horiz-adv-x="2304" 
+d="M1032 576q-59 2 -84 55q-17 34 -48 53.5t-68 19.5q-53 0 -90.5 -37.5t-37.5 -90.5q0 -56 36 -89l10 -8q34 -31 82 -31q37 0 68 19.5t48 53.5q25 53 84 55zM1600 704q0 56 -36 89l-10 8q-34 31 -82 31q-37 0 -68 -19.5t-48 -53.5q-25 -53 -84 -55q59 -2 84 -55
+q17 -34 48 -53.5t68 -19.5q53 0 90.5 37.5t37.5 90.5zM1174 925q-17 -35 -55 -48t-73 4q-62 31 -134 31q-51 0 -99 -17q3 0 9.5 0.5t9.5 0.5q92 0 170.5 -50t118.5 -133q17 -36 3.5 -73.5t-49.5 -54.5q-18 -9 -39 -9q21 0 39 -9q36 -17 49.5 -54.5t-3.5 -73.5
+q-40 -83 -118.5 -133t-170.5 -50h-6q-16 2 -44 4l-290 27l-239 -120q-14 -7 -29 -7q-40 0 -57 35l-160 320q-11 23 -4 47.5t29 37.5l209 119l148 267q17 155 91.5 291.5t195.5 236.5q31 25 70.5 21.5t64.5 -34.5t21.5 -70t-34.5 -65q-70 -59 -117 -128q123 84 267 101
+q40 5 71.5 -19t35.5 -64q5 -40 -19 -71.5t-64 -35.5q-84 -10 -159 -55q46 10 99 10q115 0 218 -50q36 -18 49 -55.5t-5 -73.5zM2137 1085l160 -320q11 -23 4 -47.5t-29 -37.5l-209 -119l-148 -267q-17 -155 -91.5 -291.5t-195.5 -236.5q-26 -22 -61 -22q-45 0 -74 35
+q-25 31 -21.5 70t34.5 65q70 59 117 128q-123 -84 -267 -101q-4 -1 -12 -1q-36 0 -63.5 24t-31.5 60q-5 40 19 71.5t64 35.5q84 10 159 55q-46 -10 -99 -10q-115 0 -218 50q-36 18 -49 55.5t5 73.5q17 35 55 48t73 -4q62 -31 134 -31q51 0 99 17q-3 0 -9.5 -0.5t-9.5 -0.5
+q-92 0 -170.5 50t-118.5 133q-17 36 -3.5 73.5t49.5 54.5q18 9 39 9q-21 0 -39 9q-36 17 -49.5 54.5t3.5 73.5q40 83 118.5 133t170.5 50h6h1q14 -2 42 -4l291 -27l239 120q14 7 29 7q40 0 57 -35z" />
+    <glyph glyph-name="uniF2A4" unicode="&#xf2a4;" horiz-adv-x="1792" 
+d="M1056 704q0 -26 19 -45t45 -19t45 19t19 45q0 146 -103 249t-249 103t-249 -103t-103 -249q0 -26 19 -45t45 -19t45 19t19 45q0 93 66 158.5t158 65.5t158 -65.5t66 -158.5zM835 1280q-117 0 -223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5q0 -26 19 -45t45 -19t45 19
+t19 45q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -55 -18 -103.5t-37.5 -74.5t-59.5 -72q-34 -39 -52 -63t-43.5 -66.5t-37 -91t-11.5 -105.5q0 -106 -75 -181t-181 -75q-26 0 -45 -19t-19 -45t19 -45t45 -19q159 0 271.5 112.5t112.5 271.5q0 41 7.5 74
+t26.5 64t33.5 50t45.5 54q35 41 53 64.5t44 67.5t37.5 93.5t11.5 108.5q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5zM591 561l226 -226l-579 -579q-12 -12 -29 -12t-29 12l-168 168q-12 12 -12 29t12 29zM1612 1524l168 -168q12 -12 12 -29t-12 -30l-233 -233
+l-26 -25l-71 -71q-66 153 -195 258l91 91l207 207q13 12 30 12t29 -12z" />
+    <glyph glyph-name="uniF2A5" unicode="&#xf2a5;" 
+d="M866 1021q0 -27 -13 -94q-11 -50 -31.5 -150t-30.5 -150q-2 -11 -4.5 -12.5t-13.5 -2.5q-20 -2 -31 -2q-58 0 -84 49.5t-26 113.5q0 88 35 174t103 124q28 14 51 14q28 0 36.5 -16.5t8.5 -47.5zM1352 597q0 14 -39 75.5t-52 66.5q-21 8 -34 8q-91 0 -226 -77l-2 2
+q3 22 27.5 135t24.5 178q0 233 -242 233q-24 0 -68 -6q-94 -17 -168.5 -89.5t-111.5 -166.5t-37 -189q0 -146 80.5 -225t227.5 -79q25 0 25 -3t-1 -5q-4 -34 -26 -117q-14 -52 -51.5 -101t-82.5 -49q-42 0 -42 47q0 24 10.5 47.5t25 39.5t29.5 28.5t26 20t11 8.5q0 3 -7 10
+q-24 22 -58.5 36.5t-65.5 14.5q-35 0 -63.5 -34t-41 -75t-12.5 -75q0 -88 51.5 -142t138.5 -54q82 0 155 53t117.5 126t65.5 153q6 22 15.5 66.5t14.5 66.5q3 12 14 18q118 60 227 60q48 0 127 -18q1 -1 4 -1q5 0 9.5 4.5t4.5 8.5zM1536 1120v-960q0 -119 -84.5 -203.5
+t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="uniF2A6" unicode="&#xf2a6;" horiz-adv-x="1535" 
+d="M744 1231q0 24 -2 38.5t-8.5 30t-21 23t-37.5 7.5q-39 0 -78 -23q-105 -58 -159 -190.5t-54 -269.5q0 -44 8.5 -85.5t26.5 -80.5t52.5 -62.5t81.5 -23.5q4 0 18 -0.5t20 0t16 3t15 8.5t7 16q16 77 48 231.5t48 231.5q19 91 19 146zM1498 575q0 -7 -7.5 -13.5t-15.5 -6.5
+l-6 1q-22 3 -62 11t-72 12.5t-63 4.5q-167 0 -351 -93q-15 -8 -21 -27q-10 -36 -24.5 -105.5t-22.5 -100.5q-23 -91 -70 -179.5t-112.5 -164.5t-154.5 -123t-185 -47q-135 0 -214.5 83.5t-79.5 219.5q0 53 19.5 117t63 116.5t97.5 52.5q38 0 120 -33.5t83 -61.5
+q0 -1 -16.5 -12.5t-39.5 -31t-46 -44.5t-39 -61t-16 -74q0 -33 16.5 -53t48.5 -20q45 0 85 31.5t66.5 78t48 105.5t32.5 107t16 90v9q0 2 -3.5 3.5t-8.5 1.5h-10t-10 -0.5t-6 -0.5q-227 0 -352 122.5t-125 348.5q0 108 34.5 221t96 210t156 167.5t204.5 89.5q52 9 106 9
+q374 0 374 -360q0 -98 -38 -273t-43 -211l3 -3q101 57 182.5 88t167.5 31q22 0 53 -13q19 -7 80 -102.5t61 -116.5z" />
+    <glyph glyph-name="uniF2A7" unicode="&#xf2a7;" horiz-adv-x="1664" 
+d="M831 863q32 0 59 -18l222 -148q61 -40 110 -97l146 -170q40 -46 29 -106l-72 -413q-6 -32 -29.5 -53.5t-55.5 -25.5l-527 -56l-352 -32h-9q-39 0 -67.5 28t-28.5 68q0 37 27 64t65 32l260 32h-448q-41 0 -69.5 30t-26.5 71q2 39 32 65t69 26l442 1l-521 64q-41 5 -66 37
+t-19 73q6 35 34.5 57.5t65.5 22.5h10l481 -60l-351 94q-38 10 -62 41.5t-18 68.5q6 36 33 58.5t62 22.5q6 0 20 -2l448 -96l217 -37q1 0 3 -0.5t3 -0.5q23 0 30.5 23t-12.5 36l-186 125q-35 23 -42 63.5t18 73.5q27 38 76 38zM761 661l186 -125l-218 37l-5 2l-36 38
+l-238 262q-1 1 -2.5 3.5t-2.5 3.5q-24 31 -18.5 70t37.5 64q31 23 68 17.5t64 -33.5l142 -147q-2 -1 -5 -3.5t-4 -4.5q-32 -45 -23 -99t55 -85zM1648 1115l15 -266q4 -73 -11 -147l-48 -219q-12 -59 -67 -87l-106 -54q2 62 -39 109l-146 170q-53 61 -117 103l-222 148
+q-34 23 -76 23q-51 0 -88 -37l-235 312q-25 33 -18 73.5t41 63.5q33 22 71.5 14t62.5 -40l266 -352l-262 455q-21 35 -10.5 75t47.5 59q35 18 72.5 6t57.5 -46l241 -420l-136 337q-15 35 -4.5 74t44.5 56q37 19 76 6t56 -51l193 -415l101 -196q8 -15 23 -17.5t27 7.5t11 26
+l-12 224q-2 41 26 71t69 31q39 0 67 -28.5t30 -67.5z" />
+    <glyph glyph-name="uniF2A8" unicode="&#xf2a8;" horiz-adv-x="1792" 
+d="M335 180q-2 0 -6 2q-86 57 -168.5 145t-139.5 180q-21 30 -21 69q0 9 2 19t4 18t7 18t8.5 16t10.5 17t10 15t12 15.5t11 14.5q184 251 452 365q-110 198 -110 211q0 19 17 29q116 64 128 64q18 0 28 -16l124 -229q92 19 192 19q266 0 497.5 -137.5t378.5 -369.5
+q20 -31 20 -69t-20 -69q-91 -142 -218.5 -253.5t-278.5 -175.5q110 -198 110 -211q0 -20 -17 -29q-116 -64 -127 -64q-19 0 -29 16l-124 229l-64 119l-444 820l7 7q-58 -24 -99 -47q3 -5 127 -234t243 -449t119 -223q0 -7 -9 -9q-13 -3 -72 -3q-57 0 -60 7l-456 841
+q-39 -28 -82 -68q24 -43 214 -393.5t190 -354.5q0 -10 -11 -10q-14 0 -82.5 22t-72.5 28l-106 197l-224 413q-44 -53 -78 -106q2 -3 18 -25t23 -34l176 -327q0 -10 -10 -10zM1165 282l49 -91q273 111 450 385q-180 277 -459 389q67 -64 103 -148.5t36 -176.5
+q0 -106 -47 -200.5t-132 -157.5zM848 896q0 -20 14 -34t34 -14q86 0 147 -61t61 -147q0 -20 14 -34t34 -14t34 14t14 34q0 126 -89 215t-215 89q-20 0 -34 -14t-14 -34zM1214 961l-9 4l7 -7z" />
+    <glyph glyph-name="uniF2A9" unicode="&#xf2a9;" horiz-adv-x="1280" 
+d="M1050 430q0 -215 -147 -374q-148 -161 -378 -161q-232 0 -378 161q-147 159 -147 374q0 147 68 270.5t189 196.5t268 73q96 0 182 -31q-32 -62 -39 -126q-66 28 -143 28q-167 0 -280.5 -123t-113.5 -291q0 -170 112.5 -288.5t281.5 -118.5t281 118.5t112 288.5
+q0 89 -32 166q66 13 123 49q41 -98 41 -212zM846 619q0 -192 -79.5 -345t-238.5 -253l-14 -1q-29 0 -62 5q83 32 146.5 102.5t99.5 154.5t58.5 189t30 192.5t7.5 178.5q0 69 -3 103q55 -160 55 -326zM791 947v-2q-73 214 -206 440q88 -59 142.5 -186.5t63.5 -251.5z
+M1035 744q-83 0 -160 75q218 120 290 247q19 37 21 56q-42 -94 -139.5 -166.5t-204.5 -97.5q-35 54 -35 113q0 37 17 79t43 68q46 44 157 74q59 16 106 58.5t74 100.5q74 -105 74 -253q0 -109 -24 -170q-32 -77 -88.5 -130.5t-130.5 -53.5z" />
+    <glyph glyph-name="uniF2AA" unicode="&#xf2aa;" 
+d="M1050 495q0 78 -28 147q-41 -25 -85 -34q22 -50 22 -114q0 -117 -77 -198.5t-193 -81.5t-193.5 81.5t-77.5 198.5q0 115 78 199.5t193 84.5q53 0 98 -19q4 43 27 87q-60 21 -125 21q-154 0 -257.5 -108.5t-103.5 -263.5t103.5 -261t257.5 -106t257.5 106.5t103.5 260.5z
+M872 850q2 -24 2 -71q0 -63 -5 -123t-20.5 -132.5t-40.5 -130t-68.5 -106t-100.5 -70.5q21 -3 42 -3h10q219 139 219 411q0 116 -38 225zM872 850q-4 80 -44 171.5t-98 130.5q92 -156 142 -302zM1207 955q0 102 -51 174q-41 -86 -124 -109q-69 -19 -109 -53.5t-40 -99.5
+q0 -40 24 -77q74 17 140.5 67t95.5 115q-4 -52 -74.5 -111.5t-138.5 -97.5q52 -52 110 -52q51 0 90 37t60 90q17 42 17 117zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
+t84.5 -203.5z" />
+    <glyph glyph-name="uniF2AB" unicode="&#xf2ab;" 
+d="M1279 388q0 22 -22 27q-67 15 -118 59t-80 108q-7 19 -7 25q0 15 19.5 26t43 17t43 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-12 0 -32 -8t-31 -8q-4 0 -12 2q5 95 5 114q0 79 -17 114q-36 78 -103 121.5t-152 43.5q-199 0 -275 -165q-17 -35 -17 -114q0 -19 5 -114
+q-4 -2 -14 -2q-12 0 -32 7.5t-30 7.5q-21 0 -38.5 -12t-17.5 -32q0 -21 19.5 -35.5t43 -20.5t43 -17t19.5 -26q0 -6 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -46 137 -68q2 -5 6 -26t11.5 -30.5t23.5 -9.5q12 0 37.5 4.5t39.5 4.5q35 0 67 -15t54 -32.5t57.5 -32.5
+t76.5 -15q43 0 79 15t57.5 32.5t53.5 32.5t67 15q14 0 39.5 -4t38.5 -4q16 0 23 10t11 30t6 25q137 22 137 68zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
+t103 -385.5z" />
+    <glyph glyph-name="uniF2AC" unicode="&#xf2ac;" horiz-adv-x="1664" 
+d="M848 1408q134 1 240.5 -68.5t163.5 -192.5q27 -58 27 -179q0 -47 -9 -191q14 -7 28 -7q18 0 51 13.5t51 13.5q29 0 56 -18t27 -46q0 -32 -31.5 -54t-69 -31.5t-69 -29t-31.5 -47.5q0 -15 12 -43q37 -82 102.5 -150t144.5 -101q28 -12 80 -23q28 -6 28 -35
+q0 -70 -219 -103q-7 -11 -11 -39t-14 -46.5t-33 -18.5q-20 0 -62 6.5t-64 6.5q-37 0 -62 -5q-32 -5 -63 -22.5t-58 -38t-58 -40.5t-76 -33.5t-99 -13.5q-52 0 -96.5 13.5t-75 33.5t-57.5 40.5t-58 38t-62 22.5q-26 5 -63 5q-24 0 -65.5 -7.5t-58.5 -7.5q-25 0 -35 18.5
+t-14 47.5t-11 40q-219 33 -219 103q0 29 28 35q52 11 80 23q78 32 144.5 101t102.5 150q12 28 12 43q0 28 -31.5 47.5t-69.5 29.5t-69.5 31.5t-31.5 52.5q0 27 26 45.5t55 18.5q15 0 48 -13t53 -13q18 0 32 7q-9 142 -9 190q0 122 27 180q64 137 172 198t264 63z" />
+    <glyph glyph-name="uniF2AD" unicode="&#xf2ad;" 
+d="M1280 388q0 22 -22 27q-67 14 -118 58t-80 109q-7 14 -7 25q0 15 19.5 26t42.5 17t42.5 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-11 0 -31 -8t-32 -8q-4 0 -12 2q5 63 5 115q0 78 -17 114q-36 78 -102.5 121.5t-152.5 43.5q-198 0 -275 -165q-18 -38 -18 -115
+q0 -38 6 -114q-10 -2 -15 -2q-11 0 -31.5 8t-30.5 8q-20 0 -37.5 -12.5t-17.5 -32.5q0 -21 19.5 -35.5t42.5 -20.5t42.5 -17t19.5 -26q0 -11 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -47 138 -69q2 -5 6 -26t11 -30.5t23 -9.5q13 0 38.5 5t38.5 5q35 0 67.5 -15
+t54.5 -32.5t57.5 -32.5t76.5 -15q43 0 79 15t57.5 32.5t54 32.5t67.5 15q13 0 39 -4.5t39 -4.5q15 0 22.5 9.5t11.5 31t5 24.5q138 22 138 69zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960
+q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="uniF2AE" unicode="&#xf2ae;" horiz-adv-x="2304" 
+d="M2304 1536q-69 -46 -125 -92t-89 -81t-59.5 -71.5t-37.5 -57.5t-22 -44.5t-14 -29.5q-10 -18 -35.5 -136.5t-48.5 -164.5q-15 -29 -50 -60.5t-67.5 -50.5t-72.5 -41t-48 -28q-47 -31 -151 -231q-341 14 -630 -158q-92 -53 -303 -179q47 16 86 31t55 22l15 7
+q71 27 163 64.5t133.5 53.5t108 34.5t142.5 31.5q186 31 465 -7q1 0 10 -3q11 -6 14 -17t-3 -22l-194 -345q-15 -29 -47 -22q-128 24 -354 24q-146 0 -402 -44.5t-392 -46.5q-82 -1 -149 13t-107 37t-61 40t-33 34l-1 1v2q0 6 6 6q138 0 371 55q192 366 374.5 524t383.5 158
+q5 0 14.5 -0.5t38 -5t55 -12t61.5 -24.5t63 -39.5t54 -59t40 -82.5l102 177q2 4 21 42.5t44.5 86.5t61 109.5t84 133.5t100.5 137q66 82 128 141.5t121.5 96.5t92.5 53.5t88 39.5z" />
+    <glyph glyph-name="uniF2B0" unicode="&#xf2b0;" 
+d="M1322 640q0 -45 -5 -76l-236 14l224 -78q-19 -73 -58 -141l-214 103l177 -158q-44 -61 -107 -108l-157 178l103 -215q-61 -37 -140 -59l-79 228l14 -240q-38 -6 -76 -6t-76 6l14 238l-78 -226q-74 19 -140 59l103 215l-157 -178q-59 43 -108 108l178 158l-214 -104
+q-39 69 -58 141l224 79l-237 -14q-5 42 -5 76q0 35 5 77l238 -14l-225 79q19 73 58 140l214 -104l-177 159q46 61 107 108l158 -178l-103 215q67 39 140 58l77 -224l-13 236q36 6 75 6q38 0 76 -6l-14 -237l78 225q74 -19 140 -59l-103 -214l158 178q61 -47 107 -108
+l-177 -159l213 104q37 -62 58 -141l-224 -78l237 14q5 -31 5 -77zM1352 640q0 160 -78.5 295.5t-213 214t-292.5 78.5q-119 0 -227 -46.5t-186.5 -125t-124.5 -187.5t-46 -229q0 -119 46 -228t124.5 -187.5t186.5 -125t227 -46.5q158 0 292.5 78.5t213 214t78.5 294.5z
+M1425 1023v-766l-657 -383l-657 383v766l657 383zM768 -183l708 412v823l-708 411l-708 -411v-823zM1536 1088v-896l-768 -448l-768 448v896l768 448z" />
+    <glyph glyph-name="uniF2B1" unicode="&#xf2b1;" horiz-adv-x="1664" 
+d="M339 1318h691l-26 -72h-665q-110 0 -188.5 -79t-78.5 -189v-771q0 -95 60.5 -169.5t153.5 -93.5q23 -5 98 -5v-72h-45q-140 0 -239.5 100t-99.5 240v771q0 140 99.5 240t239.5 100zM1190 1536h247l-482 -1294q-23 -61 -40.5 -103.5t-45 -98t-54 -93.5t-64.5 -78.5
+t-79.5 -65t-95.5 -41t-116 -18.5v195q163 26 220 182q20 52 20 105q0 54 -20 106l-285 733h228l187 -585zM1664 978v-1111h-795q37 55 45 73h678v1038q0 85 -49.5 155t-129.5 99l25 67q101 -34 163.5 -123.5t62.5 -197.5z" />
+    <glyph glyph-name="uniF2B2" unicode="&#xf2b2;" horiz-adv-x="1792" 
+d="M852 1227q0 -29 -17 -52.5t-45 -23.5t-45 23.5t-17 52.5t17 52.5t45 23.5t45 -23.5t17 -52.5zM688 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50 -21.5t-20 -51.5v-114q0 -30 20.5 -52t49.5 -22q30 0 50.5 22t20.5 52zM860 -149v114q0 30 -20 51.5t-50 21.5t-50.5 -21.5
+t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22q29 0 49.5 22t20.5 52zM1034 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1208 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114
+q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1476 535q-84 -160 -232 -259.5t-323 -99.5q-123 0 -229.5 51.5t-178.5 137t-113 197.5t-41 232q0 88 21 174q-104 -175 -104 -390q0 -162 65 -312t185 -251q30 57 91 57q56 0 86 -50q32 50 87 50q56 0 86 -50q32 50 87 50t87 -50
+q30 50 86 50q28 0 52.5 -15.5t37.5 -40.5q112 94 177 231.5t73 287.5zM1326 564q0 75 -72 75q-17 0 -47 -6q-95 -19 -149 -19q-226 0 -226 243q0 86 30 204q-83 -127 -83 -275q0 -150 89 -260.5t235 -110.5q111 0 210 70q13 48 13 79zM884 1223q0 50 -32 89.5t-81 39.5
+t-81 -39.5t-32 -89.5q0 -51 31.5 -90.5t81.5 -39.5t81.5 39.5t31.5 90.5zM1513 884q0 96 -37.5 179t-113 137t-173.5 54q-77 0 -149 -35t-127 -94q-48 -159 -48 -268q0 -104 45.5 -157t147.5 -53q53 0 142 19q36 6 53 6q51 0 77.5 -28t26.5 -80q0 -26 -4 -46
+q75 68 117.5 165.5t42.5 200.5zM1792 667q0 -111 -33.5 -249.5t-93.5 -204.5q-58 -64 -195 -142.5t-228 -104.5l-4 -1v-114q0 -43 -29.5 -75t-72.5 -32q-56 0 -86 50q-32 -50 -87 -50t-87 50q-30 -50 -86 -50q-55 0 -87 50q-30 -50 -86 -50q-47 0 -75 33.5t-28 81.5
+q-90 -68 -198 -68q-118 0 -211 80q54 1 106 20q-113 31 -182 127q32 -7 71 -7q89 0 164 46q-192 192 -240 306q-24 56 -24 160q0 57 9 125.5t31.5 146.5t55 141t86.5 105t120 42q59 0 81 -52q19 29 42 54q2 3 12 13t13 16q10 15 23 38t25 42t28 39q87 111 211.5 177
+t260.5 66q35 0 62 -4q59 64 146 64q83 0 140 -57q5 -5 5 -12q0 -5 -6 -13.5t-12.5 -16t-16 -17l-10.5 -10.5q17 -6 36 -18t19 -24q0 -6 -16 -25q157 -138 197 -378q25 30 60 30q45 0 100 -49q90 -80 90 -279z" />
+    <glyph glyph-name="uniF2B3" unicode="&#xf2b3;" 
+d="M917 631q0 33 -6 64h-362v-132h217q-12 -76 -74.5 -120.5t-142.5 -44.5q-99 0 -169 71.5t-70 170.5t70 170.5t169 71.5q93 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585h109v110
+h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="uniF2B4" unicode="&#xf2b4;" 
+d="M1536 1024v-839q0 -48 -49 -62q-174 -52 -338 -52q-73 0 -215.5 29.5t-227.5 29.5q-164 0 -370 -48v-338h-160v1368q-63 25 -101 81t-38 124q0 91 64 155t155 64t155 -64t64 -155q0 -68 -38 -124t-101 -81v-68q190 44 343 44q99 0 198 -15q14 -2 111.5 -22.5t149.5 -20.5
+q77 0 165 18q11 2 80 21t89 19q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="uniF2B5" unicode="&#xf2b5;" horiz-adv-x="2304" 
+d="M192 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32zM1665 442q-10 13 -38.5 50t-41.5 54t-38 49t-42.5 53t-40.5 47t-45 49l-125 -140q-83 -94 -208.5 -92t-205.5 98q-57 69 -56.5 158t58.5 157l177 206q-22 11 -51 16.5t-47.5 6t-56.5 -0.5t-49 -1q-92 0 -158 -66
+l-158 -158h-155v-544q5 0 21 0.5t22 0t19.5 -2t20.5 -4.5t17.5 -8.5t18.5 -13.5l297 -292q115 -111 227 -111q78 0 125 47q57 -20 112.5 8t72.5 85q74 -6 127 44q20 18 36 45.5t14 50.5q10 -10 43 -10q43 0 77 21t49.5 53t12 71.5t-30.5 73.5zM1824 384h96v512h-93l-157 180
+q-66 76 -169 76h-167q-89 0 -146 -67l-209 -243q-28 -33 -28 -75t27 -75q43 -51 110 -52t111 49l193 218q25 23 53.5 21.5t47 -27t8.5 -56.5q16 -19 56 -63t60 -68q29 -36 82.5 -105.5t64.5 -84.5q52 -66 60 -140zM2112 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32z
+M2304 960v-640q0 -26 -19 -45t-45 -19h-434q-27 -65 -82 -106.5t-125 -51.5q-33 -48 -80.5 -81.5t-102.5 -45.5q-42 -53 -104.5 -81.5t-128.5 -24.5q-60 -34 -126 -39.5t-127.5 14t-117 53.5t-103.5 81l-287 282h-358q-26 0 -45 19t-19 45v672q0 26 19 45t45 19h421
+q14 14 47 48t47.5 48t44 40t50.5 37.5t51 25.5t62 19.5t68 5.5h117q99 0 181 -56q82 56 181 56h167q35 0 67 -6t56.5 -14.5t51.5 -26.5t44.5 -31t43 -39.5t39 -42t41 -48t41.5 -48.5h355q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="uniF2B6" unicode="&#xf2b6;" horiz-adv-x="1792" 
+d="M1792 882v-978q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v978q0 15 11 24q8 7 39 34.5t41.5 36t45.5 37.5t70 55.5t96 73t143.5 107t192.5 140.5q5 4 52.5 40t71.5 52.5t64 35t69 18.5t69 -18.5t65 -35.5t71 -52t52 -40q110 -80 192.5 -140.5t143.5 -107
+t96 -73t70 -55.5t45.5 -37.5t41.5 -36t39 -34.5q11 -9 11 -24zM1228 297q263 191 345 252q11 8 12.5 20.5t-6.5 23.5l-38 52q-8 11 -21 12.5t-24 -6.5q-231 -169 -343 -250q-5 -3 -52 -39t-71.5 -52.5t-64.5 -35t-69 -18.5t-69 18.5t-64.5 35t-71.5 52.5t-52 39
+q-186 134 -343 250q-11 8 -24 6.5t-21 -12.5l-38 -52q-8 -11 -6.5 -23.5t12.5 -20.5q82 -61 345 -252q10 -8 50 -38t65 -47t64 -39.5t77.5 -33.5t75.5 -11t75.5 11t79 34.5t64.5 39.5t65 47.5t48 36.5z" />
+    <glyph glyph-name="uniF2B7" unicode="&#xf2b7;" horiz-adv-x="1792" 
+d="M1474 623l39 -51q8 -11 6.5 -23.5t-11.5 -20.5q-43 -34 -126.5 -98.5t-146.5 -113t-67 -51.5q-39 -32 -60 -48t-60.5 -41t-76.5 -36.5t-74 -11.5h-1h-1q-37 0 -74 11.5t-76 36.5t-61 41.5t-60 47.5q-5 4 -65 50.5t-143.5 111t-122.5 94.5q-11 8 -12.5 20.5t6.5 23.5
+l37 52q8 11 21.5 13t24.5 -7q94 -73 306 -236q5 -4 43.5 -35t60.5 -46.5t56.5 -32.5t58.5 -17h1h1q24 0 58.5 17t56.5 32.5t60.5 46.5t43.5 35q258 198 313 242q11 8 24 6.5t21 -12.5zM1664 -96v928q-90 83 -159 139q-91 74 -389 304q-3 2 -43 35t-61 48t-56 32.5t-59 17.5
+h-1h-1q-24 0 -59 -17.5t-56 -32.5t-61 -48t-43 -35q-215 -166 -315.5 -245.5t-129.5 -104t-82 -74.5q-14 -12 -21 -19v-928q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 832v-928q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v928q0 56 41 94
+q123 114 350 290.5t233 181.5q36 30 59 47.5t61.5 42t76 36.5t74.5 12h1h1q37 0 74.5 -12t76 -36.5t61.5 -42t59 -47.5q43 -36 156 -122t226 -177t201 -173q41 -38 41 -94z" />
+    <glyph glyph-name="uniF2B8" unicode="&#xf2b8;" 
+d="M330 1l202 -214l-34 236l-216 213zM556 -225l274 218l-11 245l-300 -215zM245 413l227 -213l-48 327l-245 204zM495 189l317 214l-14 324l-352 -200zM843 178l95 -80l-2 239l-103 79q0 -1 1 -8.5t0 -12t-5 -7.5l-78 -52l85 -70q7 -6 7 -88zM138 930l256 -200l-68 465
+l-279 173zM1173 267l15 234l-230 -164l2 -240zM417 722l373 194l-19 441l-423 -163zM1270 357l20 233l-226 142l-2 -105l144 -95q6 -4 4 -9l-7 -119zM1461 496l30 222l-179 -128l-20 -228zM1273 329l-71 49l-8 -117q0 -5 -4 -8l-234 -187q-7 -5 -14 0l-98 83l7 -161
+q0 -5 -4 -8l-293 -234q-4 -2 -6 -2q-8 2 -8 3l-228 242q-4 4 -59 277q-2 7 5 11l61 37q-94 86 -95 92l-72 351q-2 7 6 12l94 45q-133 100 -135 108l-96 466q-2 10 7 13l433 135q5 0 8 -1l317 -153q6 -4 6 -9l20 -463q0 -7 -6 -10l-118 -61l126 -85q5 -2 5 -8l5 -123l121 74
+q5 4 11 0l84 -56l3 110q0 6 5 9l206 126q6 3 11 0l245 -135q4 -4 5 -7t-6.5 -60t-17.5 -124.5t-10 -70.5q0 -5 -4 -7l-191 -153q-6 -5 -13 0z" />
+    <glyph glyph-name="uniF2B9" unicode="&#xf2b9;" horiz-adv-x="1664" 
+d="M1201 298q0 57 -5.5 107t-21 100.5t-39.5 86t-64 58t-91 22.5q-6 -4 -33.5 -20.5t-42.5 -24.5t-40.5 -20t-49 -17t-46.5 -5t-46.5 5t-49 17t-40.5 20t-42.5 24.5t-33.5 20.5q-51 0 -91 -22.5t-64 -58t-39.5 -86t-21 -100.5t-5.5 -107q0 -73 42 -121.5t103 -48.5h576
+q61 0 103 48.5t42 121.5zM1028 892q0 108 -76.5 184t-183.5 76t-183.5 -76t-76.5 -184q0 -107 76.5 -183t183.5 -76t183.5 76t76.5 183zM1664 352v-192q0 -14 -9 -23t-23 -9h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216
+q66 0 113 -47t47 -113v-224h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="uniF2BA" unicode="&#xf2ba;" horiz-adv-x="1664" 
+d="M1028 892q0 -107 -76.5 -183t-183.5 -76t-183.5 76t-76.5 183q0 108 76.5 184t183.5 76t183.5 -76t76.5 -184zM980 672q46 0 82.5 -17t60 -47.5t39.5 -67t24 -81t11.5 -82.5t3.5 -79q0 -67 -39.5 -118.5t-105.5 -51.5h-576q-66 0 -105.5 51.5t-39.5 118.5q0 48 4.5 93.5
+t18.5 98.5t36.5 91.5t63 64.5t93.5 26h5q7 -4 32 -19.5t35.5 -21t33 -17t37 -16t35 -9t39.5 -4.5t39.5 4.5t35 9t37 16t33 17t35.5 21t32 19.5zM1664 928q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96
+q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216q66 0 113 -47t47 -113v-224h96q13 0 22.5 -9.5t9.5 -22.5v-192zM1408 -96v1472q0 13 -9.5 22.5t-22.5 9.5h-1216
+q-13 0 -22.5 -9.5t-9.5 -22.5v-1472q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5z" />
+    <glyph glyph-name="uniF2BB" unicode="&#xf2bb;" horiz-adv-x="2048" 
+d="M1024 405q0 64 -9 117.5t-29.5 103t-60.5 78t-97 28.5q-6 -4 -30 -18t-37.5 -21.5t-35.5 -17.5t-43 -14.5t-42 -4.5t-42 4.5t-43 14.5t-35.5 17.5t-37.5 21.5t-30 18q-57 0 -97 -28.5t-60.5 -78t-29.5 -103t-9 -117.5t37 -106.5t91 -42.5h512q54 0 91 42.5t37 106.5z
+M867 925q0 94 -66.5 160.5t-160.5 66.5t-160.5 -66.5t-66.5 -160.5t66.5 -160.5t160.5 -66.5t160.5 66.5t66.5 160.5zM1792 416v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1792 676v56q0 15 -10.5 25.5t-25.5 10.5h-568
+q-15 0 -25.5 -10.5t-10.5 -25.5v-56q0 -15 10.5 -25.5t25.5 -10.5h568q15 0 25.5 10.5t10.5 25.5zM1792 928v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-352v96q0 14 -9 23t-23 9
+h-64q-14 0 -23 -9t-9 -23v-96h-768v96q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-96h-352q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2BC" unicode="&#xf2bc;" horiz-adv-x="2048" 
+d="M1024 405q0 -64 -37 -106.5t-91 -42.5h-512q-54 0 -91 42.5t-37 106.5t9 117.5t29.5 103t60.5 78t97 28.5q6 -4 30 -18t37.5 -21.5t35.5 -17.5t43 -14.5t42 -4.5t42 4.5t43 14.5t35.5 17.5t37.5 21.5t30 18q57 0 97 -28.5t60.5 -78t29.5 -103t9 -117.5zM867 925
+q0 -94 -66.5 -160.5t-160.5 -66.5t-160.5 66.5t-66.5 160.5t66.5 160.5t160.5 66.5t160.5 -66.5t66.5 -160.5zM1792 480v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1792 732v-56q0 -15 -10.5 -25.5t-25.5 -10.5h-568
+q-15 0 -25.5 10.5t-10.5 25.5v56q0 15 10.5 25.5t25.5 10.5h568q15 0 25.5 -10.5t10.5 -25.5zM1792 992v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1920 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1728q-13 0 -22.5 -9.5
+t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h352v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h768v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h352q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113
+t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2BD" unicode="&#xf2bd;" horiz-adv-x="1792" 
+d="M1523 197q-22 155 -87.5 257.5t-184.5 118.5q-67 -74 -159.5 -115.5t-195.5 -41.5t-195.5 41.5t-159.5 115.5q-119 -16 -184.5 -118.5t-87.5 -257.5q106 -150 271 -237.5t356 -87.5t356 87.5t271 237.5zM1280 896q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5
+t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1792 640q0 -182 -71 -347.5t-190.5 -286t-285.5 -191.5t-349 -71q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2BE" unicode="&#xf2be;" horiz-adv-x="1792" 
+d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348q0 -181 -70.5 -347t-190.5 -286t-286 -191.5t-349 -71.5t-349 71t-285.5 191.5t-190.5 286t-71 347.5t71 348t191 286t286 191t348 71zM1515 185q149 205 149 455q0 156 -61 298t-164 245t-245 164t-298 61t-298 -61
+t-245 -164t-164 -245t-61 -298q0 -250 149 -455q66 327 306 327q131 -128 313 -128t313 128q240 0 306 -327zM1280 832q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5z" />
+    <glyph glyph-name="uniF2C0" unicode="&#xf2c0;" 
+d="M1201 752q47 -14 89.5 -38t89 -73t79.5 -115.5t55 -172t22 -236.5q0 -154 -100 -263.5t-241 -109.5h-854q-141 0 -241 109.5t-100 263.5q0 131 22 236.5t55 172t79.5 115.5t89 73t89.5 38q-79 125 -79 272q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5
+t198.5 -40.5t163.5 -109.5t109.5 -163.5t40.5 -198.5q0 -147 -79 -272zM768 1408q-159 0 -271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5zM1195 -128q88 0 150.5 71.5t62.5 173.5q0 239 -78.5 377t-225.5 145
+q-145 -127 -336 -127t-336 127q-147 -7 -225.5 -145t-78.5 -377q0 -102 62.5 -173.5t150.5 -71.5h854z" />
+    <glyph glyph-name="uniF2C1" unicode="&#xf2c1;" horiz-adv-x="1280" 
+d="M1024 278q0 -64 -37 -107t-91 -43h-512q-54 0 -91 43t-37 107t9 118t29.5 104t61 78.5t96.5 28.5q80 -75 188 -75t188 75q56 0 96.5 -28.5t61 -78.5t29.5 -104t9 -118zM870 797q0 -94 -67.5 -160.5t-162.5 -66.5t-162.5 66.5t-67.5 160.5t67.5 160.5t162.5 66.5
+t162.5 -66.5t67.5 -160.5zM1152 -96v1376h-1024v-1376q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1280 1376v-1472q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h352v-96q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v96h352
+q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C2" unicode="&#xf2c2;" horiz-adv-x="2048" 
+d="M896 324q0 54 -7.5 100.5t-24.5 90t-51 68.5t-81 25q-64 -64 -156 -64t-156 64q-47 0 -81 -25t-51 -68.5t-24.5 -90t-7.5 -100.5q0 -55 31.5 -93.5t75.5 -38.5h426q44 0 75.5 38.5t31.5 93.5zM768 768q0 80 -56 136t-136 56t-136 -56t-56 -136t56 -136t136 -56t136 56
+t56 136zM1792 288v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1408 544v64q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1792 544v64q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23
+v-64q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1792 800v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM128 1152h1792v96q0 14 -9 23t-23 9h-1728q-14 0 -23 -9t-9 -23v-96zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728
+q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C3" unicode="&#xf2c3;" horiz-adv-x="2048" 
+d="M896 324q0 -55 -31.5 -93.5t-75.5 -38.5h-426q-44 0 -75.5 38.5t-31.5 93.5q0 54 7.5 100.5t24.5 90t51 68.5t81 25q64 -64 156 -64t156 64q47 0 81 -25t51 -68.5t24.5 -90t7.5 -100.5zM768 768q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z
+M1792 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1408 608v-64q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h320q14 0 23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v64
+q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 864v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1920 32v1120h-1792v-1120q0 -13 9.5 -22.5t22.5 -9.5h1728q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47
+h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C4" unicode="&#xf2c4;" horiz-adv-x="1792" 
+d="M1255 749q0 318 -105 474.5t-330 156.5q-222 0 -326 -157t-104 -474q0 -316 104 -471.5t326 -155.5q74 0 131 17q-22 43 -39 73t-44 65t-53.5 56.5t-63 36t-77.5 14.5q-46 0 -79 -16l-49 97q105 91 276 91q132 0 215.5 -54t150.5 -155q67 149 67 402zM1645 117h117
+q3 -27 -2 -67t-26.5 -95t-58 -100.5t-107 -78t-162.5 -32.5q-71 0 -130.5 19t-105.5 56t-79 78t-66 96q-97 -27 -205 -27q-150 0 -292.5 58t-253 158.5t-178 249t-67.5 317.5q0 170 67.5 319.5t178.5 250.5t253.5 159t291.5 58q121 0 238.5 -36t217 -106t176 -164.5
+t119.5 -219t43 -261.5q0 -190 -80.5 -347.5t-218.5 -264.5q47 -70 93.5 -106.5t104.5 -36.5q61 0 94 37.5t38 85.5z" />
+    <glyph glyph-name="uniF2C5" unicode="&#xf2c5;" horiz-adv-x="2304" 
+d="M453 -101q0 -21 -16 -37.5t-37 -16.5q-1 0 -13 3q-63 15 -162 140q-225 284 -225 676q0 341 213 614q39 51 95 103.5t94 52.5q19 0 35 -13.5t16 -32.5q0 -27 -63 -90q-98 -102 -147 -184q-119 -199 -119 -449q0 -281 123 -491q50 -85 136 -173q2 -3 14.5 -16t19.5 -21
+t17 -20.5t14.5 -23.5t4.5 -21zM1796 33q0 -29 -17.5 -48.5t-46.5 -19.5h-1081q-26 0 -45 19t-19 45q0 29 17.5 48.5t46.5 19.5h1081q26 0 45 -19t19 -45zM1581 644q0 -134 -67 -233q-25 -38 -69.5 -78.5t-83.5 -60.5q-16 -10 -27 -10q-7 0 -15 6t-8 12q0 9 19 30t42 46
+t42 67.5t19 88.5q0 76 -35 130q-29 42 -46 42q-3 0 -3 -5q0 -12 7.5 -35.5t7.5 -36.5q0 -22 -21.5 -35t-44.5 -13q-66 0 -66 76q0 15 1.5 44t1.5 44q0 25 -10 46q-13 25 -42 53.5t-51 28.5q-5 0 -7 -0.5t-3.5 -2.5t-1.5 -6q0 -2 16 -26t16 -54q0 -37 -19 -68t-46 -54
+t-53.5 -46t-45.5 -54t-19 -68q0 -98 42 -160q29 -43 79 -63q16 -5 17 -10q1 -2 1 -5q0 -16 -18 -16q-6 0 -33 11q-119 43 -195 139.5t-76 218.5q0 55 24.5 115.5t60 115t70.5 108.5t59.5 113.5t24.5 111.5q0 53 -25 94q-29 48 -56 64q-19 9 -19 21q0 20 41 20q50 0 110 -29
+q41 -19 71 -44.5t49.5 -51t33.5 -62.5t22 -69t16 -80q0 -1 3 -17.5t4.5 -25t5.5 -25t9 -27t11 -21.5t14.5 -16.5t18.5 -5.5q23 0 37 14t14 37q0 25 -20 67t-20 52t10 10q27 0 93 -70q72 -76 102.5 -156t30.5 -186zM2304 615q0 -274 -138 -503q-19 -32 -48 -72t-68 -86.5
+t-81 -77t-74 -30.5q-16 0 -31 15.5t-15 31.5q0 15 29 50.5t68.5 77t48.5 52.5q183 230 183 531q0 131 -20.5 235t-72.5 211q-58 119 -163 228q-2 3 -13 13.5t-16.5 16.5t-15 17.5t-15 20t-9.5 18.5t-4 19q0 19 16 35.5t35 16.5q70 0 196 -169q98 -131 146 -273t60 -314
+q2 -42 2 -64z" />
+    <glyph glyph-name="uniF2C6" unicode="&#xf2c6;" horiz-adv-x="1792" 
+d="M1189 229l147 693q9 44 -10.5 63t-51.5 7l-864 -333q-29 -11 -39.5 -25t-2.5 -26.5t32 -19.5l221 -69l513 323q21 14 32 6q7 -5 -4 -15l-415 -375v0v0l-16 -228q23 0 45 22l108 104l224 -165q64 -36 81 38zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71
+t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2C7" unicode="&#xf2c7;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v907h128v-907q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2C8" unicode="&#xf2c8;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v651h128v-651q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2C9" unicode="&#xf2c9;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v395h128v-395q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2CA" unicode="&#xf2ca;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v139h128v-139q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2CB" unicode="&#xf2cb;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 79 56 135.5t136 56.5t136 -56.5t56 -135.5zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5t93.5 226.5z
+M896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192v128h192z" />
+    <glyph glyph-name="uniF2CC" unicode="&#xf2cc;" horiz-adv-x="1920" 
+d="M1433 1287q10 -10 10 -23t-10 -23l-626 -626q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l44 44q-72 91 -81.5 207t46.5 215q-74 71 -176 71q-106 0 -181 -75t-75 -181v-1280h-256v1280q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5q106 0 201 -41
+t166 -115q94 39 197 24.5t185 -79.5l44 44q10 10 23 10t23 -10zM1344 1024q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1600 896q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1856 1024q26 0 45 -19t19 -45t-19 -45t-45 -19
+t-45 19t-19 45t19 45t45 19zM1216 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1408 832q0 26 19 45t45 19t45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45zM1728 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 768
+q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 640q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1600 768q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 512q-26 0 -45 19t-19 45t19 45t45 19t45 -19
+t19 -45t-19 -45t-45 -19zM1472 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 384
+q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 256q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19z" />
+    <glyph glyph-name="uniF2CD" unicode="&#xf2cd;" horiz-adv-x="1792" 
+d="M1664 448v-192q0 -169 -128 -286v-194q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v118q-63 -22 -128 -22h-768q-65 0 -128 22v-110q0 -17 -9.5 -28.5t-22.5 -11.5h-64q-13 0 -22.5 11.5t-9.5 28.5v186q-128 117 -128 286v192h1536zM704 864q0 -14 -9 -23t-23 -9t-23 9
+t-9 23t9 23t23 9t23 -9t9 -23zM768 928q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM704 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1056q0 -14 -9 -23t-23 -9t-23 9
+t-9 23t9 23t23 9t23 -9t9 -23zM704 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v640q0 106 75 181t181 75q108 0 184 -78q46 19 98 12t93 -39l22 22q11 11 22 0l42 -42
+q11 -11 0 -22l-314 -314q-11 -11 -22 0l-42 42q-11 11 0 22l22 22q-36 46 -40.5 104t23.5 108q-37 35 -88 35q-53 0 -90.5 -37.5t-37.5 -90.5v-640h1504q14 0 23 -9t9 -23zM896 1056q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1120q0 -14 -9 -23t-23 -9
+t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM896 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1248q0 -14 -9 -23
+t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1024 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1088 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23z" />
+    <glyph glyph-name="uniF2CE" unicode="&#xf2ce;" 
+d="M994 344q0 -86 -17 -197q-31 -215 -55 -313q-22 -90 -152 -90t-152 90q-24 98 -55 313q-17 110 -17 197q0 168 224 168t224 -168zM1536 768q0 -240 -134 -434t-350 -280q-8 -3 -15 3t-6 15q7 48 10 66q4 32 6 47q1 9 9 12q159 81 255.5 234t96.5 337q0 180 -91 330.5
+t-247 234.5t-337 74q-124 -7 -237 -61t-193.5 -140.5t-128 -202t-46.5 -240.5q1 -184 99 -336.5t257 -231.5q7 -3 9 -12q3 -21 6 -45q1 -9 5 -32.5t6 -35.5q1 -9 -6.5 -15t-15.5 -2q-148 58 -261 169.5t-173.5 264t-52.5 319.5q7 143 66 273.5t154.5 227t225 157.5t272.5 70
+q164 10 315.5 -46.5t261 -160.5t175 -250.5t65.5 -308.5zM994 800q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5zM1282 768q0 -122 -53.5 -228.5t-146.5 -177.5q-8 -6 -16 -2t-10 14q-6 52 -29 92q-7 10 3 20
+q58 54 91 127t33 155q0 111 -58.5 204t-157.5 141.5t-212 36.5q-133 -15 -229 -113t-109 -231q-10 -92 23.5 -176t98.5 -144q10 -10 3 -20q-24 -41 -29 -93q-2 -9 -10 -13t-16 2q-95 74 -148.5 183t-51.5 234q3 131 69 244t177 181.5t241 74.5q144 7 268 -60t196.5 -187.5
+t72.5 -263.5z" />
+    <glyph glyph-name="uniF2D0" unicode="&#xf2d0;" horiz-adv-x="1792" 
+d="M256 128h1280v768h-1280v-768zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D1" unicode="&#xf2d1;" horiz-adv-x="1792" 
+d="M1792 224v-192q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D2" unicode="&#xf2d2;" horiz-adv-x="2048" 
+d="M256 0h768v512h-768v-512zM1280 512h512v768h-768v-256h96q66 0 113 -47t47 -113v-352zM2048 1376v-960q0 -66 -47 -113t-113 -47h-608v-352q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h608v352q0 66 47 113t113 47h960q66 0 113 -47
+t47 -113z" />
+    <glyph glyph-name="uniF2D3" unicode="&#xf2d3;" horiz-adv-x="1792" 
+d="M1175 215l146 146q10 10 10 23t-10 23l-233 233l233 233q10 10 10 23t-10 23l-146 146q-10 10 -23 10t-23 -10l-233 -233l-233 233q-10 10 -23 10t-23 -10l-146 -146q-10 -10 -10 -23t10 -23l233 -233l-233 -233q-10 -10 -10 -23t10 -23l146 -146q10 -10 23 -10t23 10
+l233 233l233 -233q10 -10 23 -10t23 10zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D4" unicode="&#xf2d4;" horiz-adv-x="1792" 
+d="M1257 425l-146 -146q-10 -10 -23 -10t-23 10l-169 169l-169 -169q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l169 169l-169 169q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l169 -169l169 169q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
+l-169 -169l169 -169q10 -10 10 -23t-10 -23zM256 128h1280v1024h-1280v-1024zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D5" unicode="&#xf2d5;" horiz-adv-x="1792" 
+d="M1070 358l306 564h-654l-306 -564h654zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2D6" unicode="&#xf2d6;" horiz-adv-x="1794" 
+d="M1291 1060q-15 17 -35 8.5t-26 -28.5t5 -38q14 -17 40 -14.5t34 20.5t-18 52zM895 814q-8 -8 -19.5 -8t-18.5 8q-8 8 -8 19t8 18q7 8 18.5 8t19.5 -8q7 -7 7 -18t-7 -19zM1060 740l-35 -35q-12 -13 -29.5 -13t-30.5 13l-38 38q-12 13 -12 30t12 30l35 35q12 12 29.5 12
+t30.5 -12l38 -39q12 -12 12 -29.5t-12 -29.5zM951 870q-7 -8 -18.5 -8t-19.5 8q-7 8 -7 19t7 19q8 8 19 8t19 -8t8 -19t-8 -19zM1354 968q-34 -64 -107.5 -85.5t-127.5 16.5q-38 28 -61 66.5t-21 87.5t39 92t75.5 53t70.5 -5t70 -51q2 -2 13 -12.5t14.5 -13.5t13 -13.5
+t12.5 -15.5t10 -15.5t8.5 -18t4 -18.5t1 -21t-5 -22t-9.5 -24zM1555 486q3 20 -8.5 34.5t-27.5 21.5t-33 17t-23 20q-40 71 -84 98.5t-113 11.5q19 13 40 18.5t33 4.5l12 -1q2 45 -34 90q6 20 6.5 40.5t-2.5 30.5l-3 10q43 24 71 65t34 91q10 84 -43 150.5t-137 76.5
+q-60 7 -114 -18.5t-82 -74.5q-30 -51 -33.5 -101t14.5 -87t43.5 -64t56.5 -42q-45 4 -88 36t-57 88q-28 108 32 222q-16 21 -29 32q-50 0 -89 -19q19 24 42 37t36 14l13 1q0 50 -13 78q-10 21 -32.5 28.5t-47 -3.5t-37.5 -40q2 4 4 7q-7 -28 -6.5 -75.5t19 -117t48.5 -122.5
+q-25 -14 -47 -36q-35 -16 -85.5 -70.5t-84.5 -101.5l-33 -46q-90 -34 -181 -125.5t-75 -162.5q1 -16 11 -27q-15 -12 -30 -30q-21 -25 -21 -54t21.5 -40t63.5 6q41 19 77 49.5t55 60.5q-2 2 -6.5 5t-20.5 7.5t-33 3.5q23 5 51 12.5t40 10t27.5 6t26 4t23.5 0.5q14 -7 22 34
+q7 37 7 90q0 102 -40 150q106 -103 101 -219q-1 -29 -15 -50t-27 -27l-13 -6q-4 -7 -19 -32t-26 -45.5t-26.5 -52t-25 -61t-17 -63t-6.5 -66.5t10 -63q-35 54 -37 80q-22 -24 -34.5 -39t-33.5 -42t-30.5 -46t-16.5 -41t-0.5 -38t25.5 -27q45 -25 144 64t190.5 221.5
+t122.5 228.5q86 52 145 115.5t86 119.5q47 -93 154 -178q104 -83 167 -80q39 2 46 43zM1794 640q0 -182 -71 -348t-191 -286t-286.5 -191t-348.5 -71t-348.5 71t-286.5 191t-191 286t-71 348t71 348t191 286t286.5 191t348.5 71t348.5 -71t286.5 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2D7" unicode="&#xf2d7;" 
+d="M518 1353v-655q103 -1 191.5 1.5t125.5 5.5l37 3q68 2 90.5 24.5t39.5 94.5l33 142h103l-14 -322l7 -319h-103l-29 127q-15 68 -45 93t-84 26q-87 8 -352 8v-556q0 -78 43.5 -115.5t133.5 -37.5h357q35 0 59.5 2t55 7.5t54 18t48.5 32t46 50.5t39 73l93 216h89
+q-6 -37 -31.5 -252t-30.5 -276q-146 5 -263.5 8t-162.5 4h-44h-628l-376 -12v102l127 25q67 13 91.5 37t25.5 79l8 643q3 402 -8 645q-2 61 -25.5 84t-91.5 36l-127 24v102l376 -12h702q139 0 374 27q-6 -68 -14 -194.5t-12 -219.5l-5 -92h-93l-32 124q-31 121 -74 179.5
+t-113 58.5h-548q-28 0 -35.5 -8.5t-7.5 -30.5z" />
+    <glyph glyph-name="uniF2D8" unicode="&#xf2d8;" 
+d="M922 739v-182q0 -4 0.5 -15t0 -15l-1.5 -12t-3.5 -11.5t-6.5 -7.5t-11 -5.5t-16 -1.5v309q9 0 16 -1t11 -5t6.5 -5.5t3.5 -9.5t1 -10.5v-13.5v-14zM1238 643v-121q0 -1 0.5 -12.5t0 -15.5t-2.5 -11.5t-7.5 -10.5t-13.5 -3q-9 0 -14 9q-4 10 -4 165v7v8.5v9t1.5 8.5l3.5 7
+t5 5.5t8 1.5q6 0 10 -1.5t6.5 -4.5t4 -6t2 -8.5t0.5 -8v-9.5v-9zM180 407h122v472h-122v-472zM614 407h106v472h-159l-28 -221q-20 148 -32 221h-158v-472h107v312l45 -312h76l43 319v-319zM1039 712q0 67 -5 90q-3 16 -11 28.5t-17 20.5t-25 14t-26.5 8.5t-31 4t-29 1.5
+h-29.5h-12h-91v-472h56q169 -1 197 24.5t25 180.5q-1 62 -1 100zM1356 515v133q0 29 -2 45t-9.5 33.5t-24.5 25t-46 7.5q-46 0 -77 -34v154h-117v-472h110l7 30q30 -36 77 -36q50 0 66 30.5t16 83.5zM1536 1248v-1216q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113
+v1216q0 66 47 113t113 47h1216q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D9" unicode="&#xf2d9;" horiz-adv-x="2176" 
+d="M1143 -197q-6 1 -11 4q-13 8 -36 23t-86 65t-116.5 104.5t-112 140t-89.5 172.5q-17 3 -175 37q66 -213 235 -362t391 -184zM502 409l168 -28q-25 76 -41 167.5t-19 145.5l-4 53q-84 -82 -121 -224q5 -65 17 -114zM612 1018q-43 -64 -77 -148q44 46 74 68zM2049 584
+q0 161 -62 307t-167.5 252t-250.5 168.5t-304 62.5q-147 0 -281 -52.5t-240 -148.5q-30 -58 -45 -160q60 51 143 83.5t158.5 43t143 13.5t108.5 -1l40 -3q33 -1 53 -15.5t24.5 -33t6.5 -37t-1 -28.5q-126 11 -227.5 0.5t-183 -43.5t-142.5 -71.5t-131 -98.5
+q4 -36 11.5 -92.5t35.5 -178t62 -179.5q123 -6 247.5 14.5t214.5 53.5t162.5 67t109.5 59l37 24q22 16 39.5 20.5t30.5 -5t17 -34.5q14 -97 -39 -121q-208 -97 -467 -134q-135 -20 -317 -16q41 -96 110 -176.5t137 -127t130.5 -79t101.5 -43.5l39 -12q143 -23 263 15
+q195 99 314 289t119 418zM2123 621q-14 -135 -40 -212q-70 -208 -181.5 -346.5t-318.5 -253.5q-48 -33 -82 -44q-72 -26 -163 -16q-36 -3 -73 -3q-283 0 -504.5 173t-295.5 442q-1 0 -4 0.5t-5 0.5q-6 -50 2.5 -112.5t26 -115t36 -98t31.5 -71.5l14 -26q8 -12 54 -82
+q-71 38 -124.5 106.5t-78.5 140t-39.5 137t-17.5 107.5l-2 42q-5 2 -33.5 12.5t-48.5 18t-53 20.5t-57.5 25t-50 25.5t-42.5 27t-25 25.5q19 -10 50.5 -25.5t113 -45.5t145.5 -38l2 32q11 149 94 290q41 202 176 365q28 115 81 214q15 28 32 45t49 32q158 74 303.5 104
+t302 11t306.5 -97q220 -115 333 -336t87 -474z" />
+    <glyph glyph-name="uniF2DA" unicode="&#xf2da;" horiz-adv-x="1792" 
+d="M1341 752q29 44 -6.5 129.5t-121.5 142.5q-58 39 -125.5 53.5t-118 4.5t-68.5 -37q-12 -23 -4.5 -28t42.5 -10q23 -3 38.5 -5t44.5 -9.5t56 -17.5q36 -13 67.5 -31.5t53 -37t40 -38.5t30.5 -38t22 -34.5t16.5 -28.5t12 -18.5t10.5 -6t11 9.5zM1704 178
+q-52 -127 -148.5 -220t-214.5 -141.5t-253 -60.5t-266 13.5t-251 91t-210 161.5t-141.5 235.5t-46.5 303.5q1 41 8.5 84.5t12.5 64t24 80.5t23 73q-51 -208 1 -397t173 -318t291 -206t346 -83t349 74.5t289 244.5q20 27 18 14q0 -4 -4 -14zM1465 627q0 -104 -40.5 -199
+t-108.5 -164t-162 -109.5t-198 -40.5t-198 40.5t-162 109.5t-108.5 164t-40.5 199t40.5 199t108.5 164t162 109.5t198 40.5t198 -40.5t162 -109.5t108.5 -164t40.5 -199zM1752 915q-65 147 -180.5 251t-253 153.5t-292 53.5t-301 -36.5t-275.5 -129t-220 -211.5t-131 -297
+t-10 -373q-49 161 -51.5 311.5t35.5 272.5t109 227t165.5 180.5t207 126t232 71t242.5 9t236 -54t216 -124.5t178 -197q33 -50 62 -121t31 -112zM1690 573q12 244 -136.5 416t-396.5 240q-8 0 -10 5t24 8q125 -4 230 -50t173 -120t116 -168.5t58.5 -199t-1 -208
+t-61.5 -197.5t-122.5 -167t-185 -117.5t-248.5 -46.5q108 30 201.5 80t174 123t129.5 176.5t55 225.5z" />
+    <glyph glyph-name="uniF2DB" unicode="&#xf2db;" 
+d="M192 256v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 512v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 768v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16
+q0 16 16 16h112zM192 1024v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 1280v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM1280 1440v-1472q0 -40 -28 -68t-68 -28h-832q-40 0 -68 28
+t-28 68v1472q0 40 28 68t68 28h832q40 0 68 -28t28 -68zM1536 208v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 464v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 720v-32
+q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 976v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 1232v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16
+h48q16 0 16 -16z" />
+    <glyph glyph-name="uniF2DC" unicode="&#xf2dc;" horiz-adv-x="1664" 
+d="M1566 419l-167 -33l186 -107q23 -13 29.5 -38.5t-6.5 -48.5q-14 -23 -39 -29.5t-48 6.5l-186 106l55 -160q13 -38 -12 -63.5t-60.5 -20.5t-48.5 42l-102 300l-271 156v-313l208 -238q16 -18 17 -39t-11 -36.5t-28.5 -25t-37 -5.5t-36.5 22l-112 128v-214q0 -26 -19 -45
+t-45 -19t-45 19t-19 45v214l-112 -128q-16 -18 -36.5 -22t-37 5.5t-28.5 25t-11 36.5t17 39l208 238v313l-271 -156l-102 -300q-13 -37 -48.5 -42t-60.5 20.5t-12 63.5l55 160l-186 -106q-23 -13 -48 -6.5t-39 29.5q-13 23 -6.5 48.5t29.5 38.5l186 107l-167 33
+q-29 6 -42 29t-8.5 46.5t25.5 40t50 10.5l310 -62l271 157l-271 157l-310 -62q-4 -1 -13 -1q-27 0 -44 18t-19 40t11 43t40 26l167 33l-186 107q-23 13 -29.5 38.5t6.5 48.5t39 30t48 -7l186 -106l-55 160q-13 38 12 63.5t60.5 20.5t48.5 -42l102 -300l271 -156v313
+l-208 238q-16 18 -17 39t11 36.5t28.5 25t37 5.5t36.5 -22l112 -128v214q0 26 19 45t45 19t45 -19t19 -45v-214l112 128q16 18 36.5 22t37 -5.5t28.5 -25t11 -36.5t-17 -39l-208 -238v-313l271 156l102 300q13 37 48.5 42t60.5 -20.5t12 -63.5l-55 -160l186 106
+q23 13 48 6.5t39 -29.5q13 -23 6.5 -48.5t-29.5 -38.5l-186 -107l167 -33q27 -5 40 -26t11 -43t-19 -40t-44 -18q-9 0 -13 1l-310 62l-271 -157l271 -157l310 62q29 6 50 -10.5t25.5 -40t-8.5 -46.5t-42 -29z" />
+    <glyph glyph-name="uniF2DD" unicode="&#xf2dd;" horiz-adv-x="1792" 
+d="M1473 607q7 118 -33 226.5t-113 189t-177 131t-221 57.5q-116 7 -225.5 -32t-192 -110.5t-135 -175t-59.5 -220.5q-7 -118 33 -226.5t113 -189t177.5 -131t221.5 -57.5q155 -9 293 59t224 195.5t94 283.5zM1792 1536l-349 -348q120 -117 180.5 -272t50.5 -321
+q-11 -183 -102 -339t-241 -255.5t-332 -124.5l-999 -132l347 347q-120 116 -180.5 271.5t-50.5 321.5q11 184 102 340t241.5 255.5t332.5 124.5q167 22 500 66t500 66z" />
+    <glyph glyph-name="uniF2DE" unicode="&#xf2de;" horiz-adv-x="1792" 
+d="M948 508l163 -329h-51l-175 350l-171 -350h-49l179 374l-78 33l21 49l240 -102l-21 -50zM563 1100l304 -130l-130 -304l-304 130zM907 915l240 -103l-103 -239l-239 102zM1188 765l191 -81l-82 -190l-190 81zM1680 640q0 159 -62 304t-167.5 250.5t-250.5 167.5t-304 62
+t-304 -62t-250.5 -167.5t-167.5 -250.5t-62 -304t62 -304t167.5 -250.5t250.5 -167.5t304 -62t304 62t250.5 167.5t167.5 250.5t62 304zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71
+t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2E0" unicode="&#xf2e0;" horiz-adv-x="1920" 
+d="M1334 302q-4 24 -27.5 34t-49.5 10.5t-48.5 12.5t-25.5 38q-5 47 33 139.5t75 181t32 127.5q-14 101 -117 103q-45 1 -75 -16l-3 -2l-5 -2.5t-4.5 -2t-5 -2t-5 -0.5t-6 1.5t-6 3.5t-6.5 5q-3 2 -9 8.5t-9 9t-8.5 7.5t-9.5 7.5t-9.5 5.5t-11 4.5t-11.5 2.5q-30 5 -48 -3
+t-45 -31q-1 -1 -9 -8.5t-12.5 -11t-15 -10t-16.5 -5.5t-17 3q-54 27 -84 40q-41 18 -94 -5t-76 -65q-16 -28 -41 -98.5t-43.5 -132.5t-40 -134t-21.5 -73q-22 -69 18.5 -119t110.5 -46q30 2 50.5 15t38.5 46q7 13 79 199.5t77 194.5q6 11 21.5 18t29.5 0q27 -15 21 -53
+q-2 -18 -51 -139.5t-50 -132.5q-6 -38 19.5 -56.5t60.5 -7t55 49.5q4 8 45.5 92t81.5 163.5t46 88.5q20 29 41 28q29 0 25 -38q-2 -16 -65.5 -147.5t-70.5 -159.5q-12 -53 13 -103t74 -74q17 -9 51 -15.5t71.5 -8t62.5 14t20 48.5zM383 86q3 -15 -5 -27.5t-23 -15.5
+q-14 -3 -26.5 5t-15.5 23q-3 14 5 27t22 16t27 -5t16 -23zM953 -177q12 -17 8.5 -37.5t-20.5 -32.5t-37.5 -8t-32.5 21q-11 17 -7.5 37.5t20.5 32.5t37.5 8t31.5 -21zM177 635q-18 -27 -49.5 -33t-57.5 13q-26 18 -32 50t12 58q18 27 49.5 33t57.5 -12q26 -19 32 -50.5
+t-12 -58.5zM1467 -42q19 -28 13 -61.5t-34 -52.5t-60.5 -13t-51.5 34t-13 61t33 53q28 19 60.5 13t52.5 -34zM1579 562q69 -113 42.5 -244.5t-134.5 -207.5q-90 -63 -199 -60q-20 -80 -84.5 -127t-143.5 -44.5t-140 57.5q-12 -9 -13 -10q-103 -71 -225 -48.5t-193 126.5
+q-50 73 -53 164q-83 14 -142.5 70.5t-80.5 128t-2 152t81 138.5q-36 60 -38 128t24.5 125t79.5 98.5t121 50.5q32 85 99 148t146.5 91.5t168 17t159.5 -66.5q72 21 140 17.5t128.5 -36t104.5 -80t67.5 -115t17.5 -140.5q52 -16 87 -57t45.5 -89t-5.5 -99.5t-58 -87.5z
+M455 1222q14 -20 9.5 -44.5t-24.5 -38.5q-19 -14 -43.5 -9.5t-37.5 24.5q-14 20 -9.5 44.5t24.5 38.5q19 14 43.5 9.5t37.5 -24.5zM614 1503q4 -16 -5 -30.5t-26 -18.5t-31 5.5t-18 26.5q-3 17 6.5 31t25.5 18q17 4 31 -5.5t17 -26.5zM1800 555q4 -20 -6.5 -37t-30.5 -21
+q-19 -4 -36 6.5t-21 30.5t6.5 37t30.5 22q20 4 36.5 -7.5t20.5 -30.5zM1136 1448q16 -27 8.5 -58.5t-35.5 -47.5q-27 -16 -57.5 -8.5t-46.5 34.5q-16 28 -8.5 59t34.5 48t58 9t47 -36zM1882 792q4 -15 -4 -27.5t-23 -16.5q-15 -3 -27.5 5.5t-15.5 22.5q-3 15 5 28t23 16
+q14 3 26.5 -5t15.5 -23zM1691 1033q15 -22 10.5 -49t-26.5 -43q-22 -15 -49 -10t-42 27t-10 49t27 43t48.5 11t41.5 -28z" />
+    <glyph glyph-name="uniF2E1" unicode="&#xf2e1;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E2" unicode="&#xf2e2;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E3" unicode="&#xf2e3;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E4" unicode="&#xf2e4;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E5" unicode="&#xf2e5;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E6" unicode="&#xf2e6;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E7" unicode="&#xf2e7;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_698" unicode="&#xf2e8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E9" unicode="&#xf2e9;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EA" unicode="&#xf2ea;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EB" unicode="&#xf2eb;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EC" unicode="&#xf2ec;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2ED" unicode="&#xf2ed;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EE" unicode="&#xf2ee;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="lessequal" unicode="&#xf500;" horiz-adv-x="1792" 
+ />
+  </font>
+</defs></svg>
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.ttf b/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.ttf
new file mode 100644
index 0000000..35acda2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.ttf
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.woff b/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.woff
new file mode 100644
index 0000000..400014a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.woff
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.woff2 b/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.woff2
new file mode 100644
index 0000000..4d13fc6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/font-awesome/fontawesome-webfont.woff2
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/iconSelector.scss b/LA24030_LuLiPackageLine_Web/src/theme/iconSelector.scss
new file mode 100644
index 0000000..569f614
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/iconSelector.scss
@@ -0,0 +1,31 @@
+/* Popover 寮瑰嚭妗�(鍥炬爣閫夋嫨鍣�)
+------------------------------- */
+.icon-selector-popper {
+	padding: 0 !important;
+	.icon-selector-warp {
+		height: 260px;
+		overflow: hidden;
+		position: relative;
+		.icon-selector-warp-title {
+			position: absolute;
+			height: 40px;
+			line-height: 40px;
+			left: 15px;
+		}
+		.el-tabs__header {
+			display: flex;
+			justify-content: flex-end;
+			padding: 0 15px;
+			border-bottom: 1px solid var(--el-border-color-light);
+			margin: 0 !important;
+			.el-tabs__nav-wrap {
+				&::after {
+					height: 0 !important;
+				}
+				.el-tabs__item {
+					padding: 0 5px !important;
+				}
+			}
+		}
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.scss b/LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.scss
new file mode 100644
index 0000000..996f4e8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.scss
@@ -0,0 +1,417 @@
+@font-face {
+	font-family: 'iconfont'; /* Project id 2298093 */
+	src: url('/@/theme/iconfont/font_2298093_rnp72ifj3ba.woff2?t=1669683406059') format('woff2'), url('/@/theme/iconfont/font_2298093_rnp72ifj3ba.woff?t=1669683406059') format('woff'),
+		url('/@/theme/iconfont/font_2298093_rnp72ifj3ba.ttf?t=1669683406059') format('truetype');
+}
+
+.iconfont {
+	font-family: 'iconfont' !important;
+	font-size: 16px;
+	font-style: normal;
+	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+}
+
+.icon-quanjushezhi_o:before {
+	content: '\eb80';
+}
+
+.icon-yunshangchuan_o:before {
+	content: '\ebb3';
+}
+
+.icon-yunxiazai_o:before {
+	content: '\ebb4';
+}
+
+.icon-shuaxin:before {
+	content: '\e63e';
+}
+
+.icon-diannao1:before {
+	content: '\e622';
+}
+
+.icon-barcode-qr:before {
+	content: '\e61e';
+}
+
+.icon-zhongduancanshuchaxun:before {
+	content: '\e638';
+}
+
+.icon-shouye_dongtaihui:before {
+	content: '\e606';
+}
+
+.icon-putong:before {
+	content: '\e603';
+}
+
+.icon-dongtai:before {
+	content: '\e659';
+}
+
+.icon-wenducanshu-05:before {
+	content: '\e634';
+}
+
+.icon-zhongduancanshu:before {
+	content: '\e63b';
+}
+
+.icon-tongzhi1:before {
+	content: '\e63a';
+}
+
+.icon-tongzhi2:before {
+	content: '\e649';
+}
+
+.icon-tongzhi3:before {
+	content: '\e648';
+}
+
+.icon-tongzhi4:before {
+	content: '\e60c';
+}
+
+.icon-dianhua:before {
+	content: '\e615';
+}
+
+.icon-xianshimima:before {
+	content: '\e63c';
+}
+
+.icon-yincangmima:before {
+	content: '\e63d';
+}
+
+.icon-shuxing:before {
+	content: '\e67a';
+}
+
+.icon-juxingkaobei:before {
+	content: '\e7a5';
+}
+
+.icon-shuxingtu:before {
+	content: '\e685';
+}
+
+.icon-bolangneng:before {
+	content: '\e745';
+}
+
+.icon-bolangnengshiyanchang:before {
+	content: '\e746';
+}
+
+.icon--chaifenhang:before {
+	content: '\e6d1';
+}
+
+.icon--chaifenlie:before {
+	content: '\e6d0';
+}
+
+.icon-tupianyulan:before {
+	content: '\e67e';
+}
+
+.icon-15tupianyulan:before {
+	content: '\e624';
+}
+
+.icon-728bianjiqi_zitidaxiao:before {
+	content: '\e660';
+}
+
+.icon-ziti:before {
+	content: '\e7b1';
+}
+
+.icon-font-size:before {
+	content: '\eaef';
+}
+
+.icon-tuodong:before {
+	content: '\e6a8';
+}
+
+.icon-zhongyingwen1:before {
+	content: '\e7a3';
+}
+
+.icon-fuhao-yingwen:before {
+	content: '\e714';
+}
+
+.icon-fuhao-zhongwen:before {
+	content: '\e712';
+}
+
+.icon-diqiu:before {
+	content: '\e689';
+}
+
+.icon-xingqiu:before {
+	content: '\e65c';
+}
+
+.icon-diqiu1:before {
+	content: '\e631';
+}
+
+.icon-huanjingxingqiu:before {
+	content: '\e617';
+}
+
+.icon-zidingyibuju:before {
+	content: '\e637';
+}
+
+.icon-dayin:before {
+	content: '\e612';
+}
+
+.icon-step:before {
+	content: '\e601';
+}
+
+.icon-30xuanzhongyuanxingfill:before {
+	content: '\e677';
+}
+
+.icon-shibai:before {
+	content: '\e60b';
+}
+
+.icon-7_round_solid:before {
+	content: '\e64d';
+}
+
+.icon-6_round_solid:before {
+	content: '\e64e';
+}
+
+.icon-9_round_solid:before {
+	content: '\e64f';
+}
+
+.icon-1_round_solid:before {
+	content: '\e650';
+}
+
+.icon-5_round_solid:before {
+	content: '\e651';
+}
+
+.icon-2_round_solid:before {
+	content: '\e654';
+}
+
+.icon-0_round_solid:before {
+	content: '\e655';
+}
+
+.icon-3_round_solid:before {
+	content: '\e656';
+}
+
+.icon-4_round_solid:before {
+	content: '\e657';
+}
+
+.icon-8_round_solid:before {
+	content: '\e658';
+}
+
+.icon-radio-off-full:before {
+	content: '\ea6b';
+}
+
+.icon-tongzhi:before {
+	content: '\e600';
+}
+
+.icon-ditu:before {
+	content: '\e8bc';
+}
+
+.icon-ico:before {
+	content: '\e646';
+}
+
+.icon-chazhaobiaodanliebiao:before {
+	content: '\e76a';
+}
+
+.icon-biaodan:before {
+	content: '\e61d';
+}
+
+.icon-siweidaotu:before {
+	content: '\e614';
+}
+
+.icon-jiliandongxuanzeqi:before {
+	content: '\e616';
+}
+
+.icon-caijian:before {
+	content: '\e611';
+}
+
+.icon-fuwenben:before {
+	content: '\e7e4';
+}
+
+.icon-fuwenbenkuang:before {
+	content: '\e66f';
+}
+
+.icon-shangchuan:before {
+	content: '\e663';
+}
+
+.icon-xuanzeqi:before {
+	content: '\e635';
+}
+
+.icon-fangkuang:before {
+	content: '\e642';
+}
+
+.icon-gouxuan-weixuanzhong-xianxingfangkuang:before {
+	content: '\e77b';
+}
+
+.icon-shidu:before {
+	content: '\e60a';
+}
+
+.icon-yangan:before {
+	content: '\e67d';
+}
+
+.icon-wendu:before {
+	content: '\e686';
+}
+
+.icon-zaosheng:before {
+	content: '\e61c';
+}
+
+.icon-jinridaiban:before {
+	content: '\e60f';
+}
+
+.icon-AIshiyanshi:before {
+	content: '\e609';
+}
+
+.icon-shenqingkaiban:before {
+	content: '\e639';
+}
+
+.icon-zhongyingwenqiehuan:before {
+	content: '\e611';
+}
+
+.icon-zhongyingwen:before {
+	content: '\e605';
+}
+
+.icon-zhongyingzhuanhuan:before {
+	content: '\e6a2';
+}
+
+.icon-zhongyingwenyuyan:before {
+	content: '\e609';
+}
+
+.icon-shuju:before {
+	content: '\e613';
+}
+
+.icon-ico_shuju:before {
+	content: '\e6ff';
+}
+
+.icon-shuju1:before {
+	content: '\e60e';
+}
+
+.icon-fuzhiyemian:before {
+	content: '\e772';
+}
+
+.icon-caozuo-wailian:before {
+	content: '\e711';
+}
+
+.icon-icon-:before {
+	content: '\e620';
+}
+
+.icon-gerenzhongxin:before {
+	content: '\e60d';
+}
+
+.icon-caidan:before {
+	content: '\e652';
+}
+
+.icon-xitongshezhi:before {
+	content: '\e69b';
+}
+
+.icon-neiqianshujuchucun:before {
+	content: '\e62f';
+}
+
+.icon-shouye:before {
+	content: '\e653';
+}
+
+.icon-quanxian:before {
+	content: '\e610';
+}
+
+.icon-zujian:before {
+	content: '\e85e';
+}
+
+.icon-crew_feature:before {
+	content: '\e602';
+}
+
+.icon-gongju:before {
+	content: '\e62d';
+}
+
+.icon-skin:before {
+	content: '\e636';
+}
+
+.icon-shixinyuan:before {
+	content: '\e669';
+}
+
+.icon-webicon318:before {
+	content: '\e6a9';
+}
+
+.icon-dian:before {
+	content: '\e608';
+}
+
+.icon-fullscreen:before {
+	content: '\e623';
+}
+
+.icon-tuichuquanping:before {
+	content: '\e641';
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.ts b/LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.ts
new file mode 100644
index 0000000..15bcac8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.ts
@@ -0,0 +1,103 @@
+export const iconfonntClassList: Array<string> = [
+	'icon-quanjushezhi_o',
+	'icon-yunshangchuan_o',
+	'icon-yunxiazai_o',
+	'icon-shuaxin',
+	'icon-diannao1',
+	'icon-barcode-qr',
+	'icon-zhongduancanshuchaxun',
+	'icon-shouye_dongtaihui',
+	'icon-putong',
+	'icon-dongtai',
+	'icon-wenducanshu-05',
+	'icon-zhongduancanshu',
+	'icon-tongzhi1',
+	'icon-tongzhi2',
+	'icon-tongzhi3',
+	'icon-tongzhi4',
+	'icon-dianhua',
+	'icon-xianshimima',
+	'icon-yincangmima',
+	'icon-shuxing',
+	'icon-juxingkaobei',
+	'icon-shuxingtu',
+	'icon-bolangneng',
+	'icon-bolangnengshiyanchang',
+	'icon--chaifenhang',
+	'icon--chaifenlie',
+	'icon-tupianyulan',
+	'icon-15tupianyulan',
+	'icon-728bianjiqi_zitidaxiao',
+	'icon-ziti',
+	'icon-font-size',
+	'icon-tuodong',
+	'icon-zhongyingwen1',
+	'icon-fuhao-yingwen',
+	'icon-fuhao-zhongwen',
+	'icon-diqiu',
+	'icon-xingqiu',
+	'icon-diqiu1',
+	'icon-huanjingxingqiu',
+	'icon-zidingyibuju',
+	'icon-dayin',
+	'icon-step',
+	'icon-30xuanzhongyuanxingfill',
+	'icon-shibai',
+	'icon-7_round_solid',
+	'icon-6_round_solid',
+	'icon-9_round_solid',
+	'icon-1_round_solid',
+	'icon-5_round_solid',
+	'icon-2_round_solid',
+	'icon-0_round_solid',
+	'icon-3_round_solid',
+	'icon-4_round_solid',
+	'icon-8_round_solid',
+	'icon-radio-off-full',
+	'icon-tongzhi',
+	'icon-ditu',
+	'icon-ico',
+	'icon-chazhaobiaodanliebiao',
+	'icon-biaodan',
+	'icon-siweidaotu',
+	'icon-jiliandongxuanzeqi',
+	'icon-caijian',
+	'icon-fuwenben',
+	'icon-fuwenbenkuang',
+	'icon-shangchuan',
+	'icon-xuanzeqi',
+	'icon-fangkuang',
+	'icon-gouxuan-weixuanzhong-xianxingfangkuang',
+	'icon-shidu',
+	'icon-yangan',
+	'icon-wendu',
+	'icon-zaosheng',
+	'icon-jinridaiban',
+	'icon-AIshiyanshi',
+	'icon-shenqingkaiban',
+	'icon-zhongyingwenqiehuan',
+	'icon-zhongyingwen',
+	'icon-zhongyingzhuanhuan',
+	'icon-zhongyingwenyuyan',
+	'icon-shuju',
+	'icon-ico_shuju',
+	'icon-shuju1',
+	'icon-fuzhiyemian',
+	'icon-caozuo-wailian',
+	'icon-icon-',
+	'icon-gerenzhongxin',
+	'icon-caidan',
+	'icon-xitongshezhi',
+	'icon-neiqianshujuchucun',
+	'icon-shouye',
+	'icon-quanxian',
+	'icon-zujian',
+	'icon-crew_feature',
+	'icon-gongju',
+	'icon-skin',
+	'icon-shixinyuan',
+	'icon-webicon318',
+	'icon-dian',
+	'icon-fullscreen',
+	'icon-tuichuquanping',
+];
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.ttf b/LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.ttf
new file mode 100644
index 0000000..9df435d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.ttf
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.woff b/LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.woff
new file mode 100644
index 0000000..4a0251f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.woff
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.woff2 b/LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.woff2
new file mode 100644
index 0000000..c3d4611
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.woff2
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/index.scss b/LA24030_LuLiPackageLine_Web/src/theme/index.scss
new file mode 100644
index 0000000..2c4f178
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/index.scss
@@ -0,0 +1,10 @@
+@import 'element-plus/dist/index.css';
+@import './app.scss';
+@import 'common/transition.scss';
+@import './other.scss';
+@import './element.scss';
+@import './media/media.scss';
+@import './waves.scss';
+@import './dark.scss';
+@import './iconfont/font_2298093_rnp72ifj3ba.scss';
+@import './font-awesome/font-awesome.scss';
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/loading.scss b/LA24030_LuLiPackageLine_Web/src/theme/loading.scss
new file mode 100644
index 0000000..c28c7b9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/loading.scss
@@ -0,0 +1,51 @@
+.loading-next {
+	width: 100%;
+	height: 100%;
+}
+.loading-next .loading-next-box {
+	position: absolute;
+	top: 50%;
+	left: 50%;
+	transform: translate(-50%, -50%);
+}
+.loading-next .loading-next-box-warp {
+	width: 80px;
+	height: 80px;
+}
+.loading-next .loading-next-box-warp .loading-next-box-item {
+	width: 33.333333%;
+	height: 33.333333%;
+	background: var(--el-color-primary);
+	float: left;
+	animation: loading-next-animation 1.2s infinite ease;
+	border-radius: 1px;
+}
+.loading-next .loading-next-box-warp .loading-next-box-item:nth-child(7) {
+	animation-delay: 0s;
+}
+.loading-next .loading-next-box-warp .loading-next-box-item:nth-child(4),
+.loading-next .loading-next-box-warp .loading-next-box-item:nth-child(8) {
+	animation-delay: 0.1s;
+}
+.loading-next .loading-next-box-warp .loading-next-box-item:nth-child(1),
+.loading-next .loading-next-box-warp .loading-next-box-item:nth-child(5),
+.loading-next .loading-next-box-warp .loading-next-box-item:nth-child(9) {
+	animation-delay: 0.2s;
+}
+.loading-next .loading-next-box-warp .loading-next-box-item:nth-child(2),
+.loading-next .loading-next-box-warp .loading-next-box-item:nth-child(6) {
+	animation-delay: 0.3s;
+}
+.loading-next .loading-next-box-warp .loading-next-box-item:nth-child(3) {
+	animation-delay: 0.4s;
+}
+@keyframes loading-next-animation {
+	0%,
+	70%,
+	100% {
+		transform: scale3D(1, 1, 1);
+	}
+	35% {
+		transform: scale3D(0, 0, 1);
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/media/chart.scss b/LA24030_LuLiPackageLine_Web/src/theme/media/chart.scss
new file mode 100644
index 0000000..8485e39
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/media/chart.scss
@@ -0,0 +1,94 @@
+@import './index.scss';
+
+/* 椤甸潰瀹藉害灏忎簬768px
+------------------------------- */
+@media screen and (max-width: $sm) {
+	.big-data-down-left {
+		width: 100% !important;
+		flex-direction: unset !important;
+		flex-wrap: wrap;
+		.flex-warp-item {
+			min-height: 196.24px;
+			padding: 0 7.5px 15px 15px !important;
+			.flex-warp-item-box {
+				border: none !important;
+				border-bottom: 1px solid #ebeef5 !important;
+			}
+		}
+	}
+	.big-data-down-center {
+		width: 100% !important;
+		.big-data-down-center-one,
+		.big-data-down-center-two {
+			min-height: 196.24px;
+			padding-left: 15px !important;
+			.big-data-down-center-one-content {
+				border: none !important;
+				border-bottom: 1px solid #ebeef5 !important;
+			}
+			.flex-warp-item-box {
+				@extend .big-data-down-center-one-content;
+			}
+		}
+	}
+	.big-data-down-right {
+		.flex-warp-item {
+			.flex-warp-item-box {
+				border: none !important;
+				border-bottom: 1px solid #ebeef5 !important;
+			}
+			&:nth-of-type(2) {
+				padding-left: 15px !important;
+			}
+			&:last-of-type {
+				.flex-warp-item-box {
+					border: none !important;
+				}
+			}
+		}
+	}
+}
+
+/* 椤甸潰瀹藉害澶т簬768px灏忎簬1200px
+------------------------------- */
+@media screen and (min-width: $sm) and (max-width: $lg) {
+	.chart-warp-bottom {
+		.big-data-down-left {
+			width: 50% !important;
+		}
+		.big-data-down-center {
+			width: 50% !important;
+		}
+		.big-data-down-right {
+			.flex-warp-item {
+				width: 50% !important;
+				&:nth-of-type(2) {
+					padding-left: 7.5px !important;
+				}
+			}
+		}
+	}
+}
+
+/* 椤甸潰瀹藉害灏忎簬1200px
+------------------------------- */
+@media screen and (max-width: $lg) {
+	.chart-warp-top {
+		.up-left {
+			display: none;
+		}
+	}
+	.chart-warp-bottom {
+		overflow-y: auto !important;
+		flex-wrap: wrap;
+		.big-data-down-right {
+			width: 100% !important;
+			flex-direction: unset !important;
+			flex-wrap: wrap;
+			.flex-warp-item {
+				min-height: 196.24px;
+				padding: 0 7.5px 15px 15px !important;
+			}
+		}
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/media/cityLinkage.scss b/LA24030_LuLiPackageLine_Web/src/theme/media/cityLinkage.scss
new file mode 100644
index 0000000..1394156
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/media/cityLinkage.scss
@@ -0,0 +1,10 @@
+@import './index.scss';
+
+/* 椤甸潰瀹藉害灏忎簬576px
+------------------------------- */
+@media screen and (max-width: $xs) {
+	.el-cascader__dropdown.el-popper {
+		overflow: auto;
+		max-width: 100%;
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/media/date.scss b/LA24030_LuLiPackageLine_Web/src/theme/media/date.scss
new file mode 100644
index 0000000..1a50397
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/media/date.scss
@@ -0,0 +1,25 @@
+@import './index.scss';
+
+/* 椤甸潰瀹藉害灏忎簬768px
+------------------------------- */
+@media screen and (max-width: $sm) {
+	// 鏃堕棿閫夋嫨鍣ㄩ�傞厤
+	.el-date-range-picker {
+		width: 100vw;
+		.el-picker-panel__body {
+			min-width: 100%;
+			.el-date-range-picker__content {
+				.el-date-range-picker__header div {
+					margin-left: 22px;
+					margin-right: 0px;
+				}
+				& + .el-date-range-picker__content {
+					.el-date-range-picker__header div {
+						margin-left: 0px;
+						margin-right: 22px;
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/media/dialog.scss b/LA24030_LuLiPackageLine_Web/src/theme/media/dialog.scss
new file mode 100644
index 0000000..023ccae
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/media/dialog.scss
@@ -0,0 +1,12 @@
+@import './index.scss';
+
+/* 椤甸潰瀹藉害灏忎簬800px
+------------------------------- */
+@media screen and (max-width: 800px) {
+	.el-dialog {
+		width: 90% !important;
+	}
+	.el-dialog.is-fullscreen {
+		width: 100% !important;
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/media/error.scss b/LA24030_LuLiPackageLine_Web/src/theme/media/error.scss
new file mode 100644
index 0000000..f35015f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/media/error.scss
@@ -0,0 +1,45 @@
+@import './index.scss';
+
+/* 椤甸潰瀹藉害灏忎簬768px
+------------------------------- */
+@media screen and (max-width: $sm) {
+	.error {
+		.error-flex {
+			flex-direction: column-reverse !important;
+			height: auto !important;
+			width: 100% !important;
+		}
+		.right,
+		.left {
+			flex: unset !important;
+			display: flex !important;
+		}
+		.left-item {
+			margin: auto !important;
+		}
+		.right img {
+			max-width: 450px !important;
+			@extend .left-item;
+		}
+	}
+}
+
+/* 椤甸潰瀹藉害澶т簬768px灏忎簬992px
+------------------------------- */
+@media screen and (min-width: $sm) and (max-width: $md) {
+	.error {
+		.error-flex {
+			padding-left: 30px !important;
+		}
+	}
+}
+
+/* 椤甸潰瀹藉害灏忎簬1200px
+------------------------------- */
+@media screen and (max-width: $lg) {
+	.error {
+		.error-flex {
+			padding: 0 30px;
+		}
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/media/form.scss b/LA24030_LuLiPackageLine_Web/src/theme/media/form.scss
new file mode 100644
index 0000000..eb1d883
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/media/form.scss
@@ -0,0 +1,31 @@
+@import './index.scss';
+
+/* 椤甸潰瀹藉害灏忎簬576px
+------------------------------- */
+@media screen and (max-width: $xs) {
+	.el-form-item__label {
+		width: 100% !important;
+		text-align: left !important;
+		// 绉诲姩绔� label 鍙冲榻愰棶棰�
+		justify-content: flex-start !important;
+	}
+	.el-form-item__content {
+		margin-left: 0 !important;
+	}
+	.el-form-item {
+		// 鍝嶅簲寮忚〃鍗曟椂锛岀櫥褰曢〉闇�瑕侀噸鏂板鐞�
+		display: unset !important;
+	}
+	// 琛ㄦ牸婕旂ず涓殑琛ㄥ崟绛涢��
+	.table-form-btn {
+		display: flex !important;
+		.el-form-item__label {
+			width: auto !important;
+		}
+	}
+	// 琛ㄦ牸婕旂ず涓殑琛ㄥ崟绛涢�夋渶澶ч珮搴︼紝閫傞厤绉诲姩绔�
+	.table-search-container {
+		max-height: 160px;
+		overflow: auto;
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/media/home.scss b/LA24030_LuLiPackageLine_Web/src/theme/media/home.scss
new file mode 100644
index 0000000..5a2417e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/media/home.scss
@@ -0,0 +1,23 @@
+@import './index.scss';
+
+/* 椤甸潰瀹藉害灏忎簬768px
+------------------------------- */
+@media screen and (max-width: $sm) {
+	.home-media,
+	.home-media-sm {
+		margin-top: 15px;
+	}
+}
+
+/* 椤甸潰瀹藉害灏忎簬1200px
+------------------------------- */
+@media screen and (max-width: $lg) {
+	.home-media-lg {
+		margin-top: 15px;
+	}
+	.home-monitor {
+		.flex-warp-item {
+			width: 33.33% !important;
+		}
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/media/index.scss b/LA24030_LuLiPackageLine_Web/src/theme/media/index.scss
new file mode 100644
index 0000000..4761c0c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/media/index.scss
@@ -0,0 +1,15 @@
+/* 鏍呮牸甯冨眬锛堝獟浣撴煡璇㈠彉閲忥級
+* https://developer.mozilla.org/zh-CN/docs/Learn/CSS/CSS_layout/Media_queries
+* $us 鈮�376px  鍝嶅簲寮忔爡鏍�
+* $xs 鈮�576px  鍝嶅簲寮忔爡鏍�
+* $sm 鈮�768px  鍝嶅簲寮忔爡鏍�
+* $md 鈮�992px  鍝嶅簲寮忔爡鏍�
+* $lg 鈮�1200px 鍝嶅簲寮忔爡鏍�
+* $xl 鈮�1920px 鍝嶅簲寮忔爡鏍�
+------------------------------- */
+$us: 376px;
+$xs: 576px;
+$sm: 768px;
+$md: 992px;
+$lg: 1200px;
+$xl: 1920px;
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/media/layout.scss b/LA24030_LuLiPackageLine_Web/src/theme/media/layout.scss
new file mode 100644
index 0000000..48cc5f9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/media/layout.scss
@@ -0,0 +1,63 @@
+@import './index.scss';
+
+/* 椤甸潰瀹藉害灏忎簬576px
+------------------------------- */
+@media screen and (max-width: $xs) {
+	// MessageBox 寮规
+	.el-message-box {
+		width: 80% !important;
+	}
+	// 閿佸睆椤�
+	.layout-lock-screen-date-top {
+		display: none;
+	}
+}
+
+/* 椤甸潰瀹藉害灏忎簬768px
+------------------------------- */
+@media screen and (max-width: $sm) {
+	// Breadcrumb 闈㈠寘灞�
+	.layout-navbars-breadcrumb-hide {
+		display: none;
+	}
+	// 澶栭摼瑙嗗浘
+	.layout-view-link {
+		a {
+			max-width: 80%;
+			text-align: center;
+		}
+	}
+	// 鑿滃崟鎼滅储
+	.layout-search-dialog {
+		.el-autocomplete {
+			width: 80% !important;
+		}
+	}
+}
+
+/* 椤甸潰瀹藉害灏忎簬1000px
+------------------------------- */
+@media screen and (max-width: 1000px) {
+	// 甯冨眬閰嶇疆
+	.layout-drawer-content-flex {
+		position: relative;
+		&::after {
+			content: '鎵嬫満鐗堜笉鏀寔鍒囨崲甯冨眬';
+			position: absolute;
+			top: 0;
+			right: 0;
+			bottom: 0;
+			left: 0;
+			z-index: 1;
+			text-align: center;
+			height: 140px;
+			line-height: 140px;
+			background: rgba(255, 255, 255, 0.9);
+			color: #666666;
+		}
+	}
+	// // pagination 鍒嗛〉涓殑宸ュ叿鏍�
+	// .table-footer-tool {
+	// 	display: none !important;
+	// }
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/media/login.scss b/LA24030_LuLiPackageLine_Web/src/theme/media/login.scss
new file mode 100644
index 0000000..22d5635
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/media/login.scss
@@ -0,0 +1,74 @@
+@import './index.scss';
+
+/* 椤甸潰瀹藉害灏忎簬1200px
+------------------------------- */
+@media screen and (max-width: $lg) and (min-width: $xs) {
+	.login-container {
+		.login-left {
+			.login-left-img {
+				top: 90% !important;
+				left: 12% !important;
+				width: 30% !important;
+				height: 18% !important;
+			}
+		}
+		.login-right {
+			position: absolute;
+			top: 50%;
+			left: 50%;
+			transform: translate(-50%, -50%);
+		}
+	}
+}
+
+/* 椤甸潰瀹藉害灏忎簬576px
+------------------------------- */
+@media screen and (max-width: $xs) {
+	.login-container {
+		.login-left {
+			display: none;
+		}
+		.login-right {
+			width: 100% !important;
+			.login-right-warp {
+				width: 100% !important;
+				height: 100% !important;
+				border: none !important;
+				.login-right-warp-main {
+					.el-form-item {
+						display: flex !important;
+					}
+					.login-right-warp-main-title {
+						font-size: 25px !important;
+					}
+				}
+				.login-right-warp-one {
+					&::after {
+						right: 0 !important;
+					}
+				}
+				.login-right-warp-two {
+					&::before {
+						bottom: 1px !important;
+					}
+				}
+			}
+		}
+	}
+}
+
+/* 椤甸潰瀹藉害灏忎簬375px
+------------------------------- */
+@media screen and (max-width: $us) {
+	.login-container {
+		.login-right {
+			.login-right-warp {
+				.login-right-warp-main {
+					.login-right-warp-main-title {
+						font-size: 18px !important;
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/media/media.scss b/LA24030_LuLiPackageLine_Web/src/theme/media/media.scss
new file mode 100644
index 0000000..bed1c35
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/media/media.scss
@@ -0,0 +1,13 @@
+@import './login.scss';
+@import './error.scss';
+@import './layout.scss';
+@import './personal.scss';
+@import './tagsView.scss';
+@import './home.scss';
+@import './chart.scss';
+@import './form.scss';
+@import './scrollbar.scss';
+@import './pagination.scss';
+@import './dialog.scss';
+@import './cityLinkage.scss';
+@import './date.scss';
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/media/pagination.scss b/LA24030_LuLiPackageLine_Web/src/theme/media/pagination.scss
new file mode 100644
index 0000000..37af75f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/media/pagination.scss
@@ -0,0 +1,15 @@
+@import './index.scss';
+
+/* 椤甸潰瀹藉害灏忎簬576px
+------------------------------- */
+@media screen and (max-width: $xs) {
+	.el-pager,
+	.el-pagination__jump {
+		display: none !important;
+	}
+	// 榛樿灞呬腑瀵归綈
+	.el-pagination,
+	.table-footer {
+		justify-content: center !important;
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/media/personal.scss b/LA24030_LuLiPackageLine_Web/src/theme/media/personal.scss
new file mode 100644
index 0000000..7ec0d4a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/media/personal.scss
@@ -0,0 +1,16 @@
+@import './index.scss';
+
+/* 椤甸潰瀹藉害灏忎簬768px
+------------------------------- */
+@media screen and (max-width: $sm) {
+	.personal-info {
+		padding-left: 0 !important;
+		margin-top: 15px;
+	}
+	.personal-recommend-col {
+		margin-bottom: 15px;
+		&:last-of-type {
+			margin-bottom: 0;
+		}
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/media/scrollbar.scss b/LA24030_LuLiPackageLine_Web/src/theme/media/scrollbar.scss
new file mode 100644
index 0000000..968a79d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/media/scrollbar.scss
@@ -0,0 +1,56 @@
+@import './index.scss';
+
+/* 椤甸潰瀹藉害灏忎簬768px
+------------------------------- */
+@media screen and (max-width: $sm) {
+	// 婊氬姩鏉$殑瀹藉害
+	::-webkit-scrollbar {
+		width: 3px !important;
+		height: 3px !important;
+	}
+	::-webkit-scrollbar-track-piece {
+		background-color: var(--next-bg-main-color);
+	}
+	// 婊氬姩鏉$殑璁剧疆
+	::-webkit-scrollbar-thumb {
+		background-color: rgba(144, 147, 153, 0.3);
+		background-clip: padding-box;
+		min-height: 28px;
+		border-radius: 5px;
+		transition: 0.3s background-color;
+	}
+	::-webkit-scrollbar-thumb:hover {
+		background-color: rgba(144, 147, 153, 0.5);
+	}
+	// element plus scrollbar
+	.el-scrollbar__bar.is-vertical {
+		width: 2px !important;
+	}
+	.el-scrollbar__bar.is-horizontal {
+		height: 2px !important;
+	}
+}
+
+/* 椤甸潰瀹藉害澶т簬768px
+------------------------------- */
+@media screen and (min-width: 769px) {
+	// 婊氬姩鏉$殑瀹藉害
+	::-webkit-scrollbar {
+		width: 7px;
+		height: 7px;
+	}
+	::-webkit-scrollbar-track-piece {
+		background-color: var(--next-bg-main-color);
+	}
+	// 婊氬姩鏉$殑璁剧疆
+	::-webkit-scrollbar-thumb {
+		background-color: rgba(144, 147, 153, 0.3);
+		background-clip: padding-box;
+		min-height: 28px;
+		border-radius: 5px;
+		transition: 0.3s background-color;
+	}
+	::-webkit-scrollbar-thumb:hover {
+		background-color: rgba(144, 147, 153, 0.5);
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/media/tagsView.scss b/LA24030_LuLiPackageLine_Web/src/theme/media/tagsView.scss
new file mode 100644
index 0000000..b71674e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/media/tagsView.scss
@@ -0,0 +1,11 @@
+@import './index.scss';
+
+/* 椤甸潰瀹藉害灏忎簬768px
+------------------------------- */
+@media screen and (max-width: $sm) {
+	.tags-view-form {
+		.tags-view-form-col {
+			margin-bottom: 20px;
+		}
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/mixins/index.scss b/LA24030_LuLiPackageLine_Web/src/theme/mixins/index.scss
new file mode 100644
index 0000000..61f3c6b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/mixins/index.scss
@@ -0,0 +1,56 @@
+/* 绗笁鏂瑰浘鏍囧瓧浣撻棿璺�/澶у皬璁剧疆
+------------------------------- */
+@mixin generalIcon {
+	font-size: 14px !important;
+	display: inline-block;
+	vertical-align: middle;
+	margin-right: 5px;
+	width: 24px;
+	text-align: center;
+	justify-content: center;
+}
+
+/* 鏂囨湰涓嶆崲琛�
+------------------------------- */
+@mixin text-no-wrap() {
+	text-overflow: ellipsis;
+	overflow: hidden;
+	white-space: nowrap;
+}
+
+/* 澶氳鏂囨湰婧㈠嚭
+  ------------------------------- */
+@mixin text-ellipsis($line: 2) {
+	overflow: hidden;
+	word-break: break-all;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-line-clamp: $line;
+	-webkit-box-orient: vertical;
+}
+
+/* 婊氬姩鏉�(椤甸潰鏈娇鐢�) div 涓娇鐢細
+  ------------------------------- */
+// .test {
+//   @include scrollBar;
+// }
+@mixin scrollBar {
+	// 婊氬姩鏉″嚬妲界殑棰滆壊锛岃繕鍙互璁剧疆杈规灞炴��
+	&::-webkit-scrollbar-track-piece {
+		background-color: #f8f8f8;
+	}
+	// 婊氬姩鏉$殑瀹藉害
+	&::-webkit-scrollbar {
+		width: 9px;
+		height: 9px;
+	}
+	// 婊氬姩鏉$殑璁剧疆
+	&::-webkit-scrollbar-thumb {
+		background-color: #dddddd;
+		background-clip: padding-box;
+		min-height: 28px;
+	}
+	&::-webkit-scrollbar-thumb:hover {
+		background-color: #bbb;
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/other.scss b/LA24030_LuLiPackageLine_Web/src/theme/other.scss
new file mode 100644
index 0000000..bbc3c61
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/other.scss
@@ -0,0 +1,36 @@
+/* wangeditor 瀵屾枃鏈紪杈戝櫒
+------------------------------- */
+.editor-container {
+	z-index: 10; // 鐢ㄤ簬 wangeditor 鐐瑰嚮鍏ㄥ睆鏃�
+	.w-e-toolbar {
+		border: 1px solid var(--el-border-color-light, #ebeef5) !important;
+		border-bottom: 1px solid var(--el-border-color-light, #ebeef5) !important;
+		border-top-left-radius: 3px;
+		border-top-right-radius: 3px;
+		z-index: 2 !important;
+	}
+	.w-e-text-container {
+		border: 1px solid var(--el-border-color-light, #ebeef5) !important;
+		border-top: none !important;
+		border-bottom-left-radius: 3px;
+		border-bottom-right-radius: 3px;
+		z-index: 1 !important;
+	}
+}
+
+[data-theme='dark'] {
+	// textarea - css vars
+	--w-e-textarea-bg-color: var(--el-color-white) !important;
+	--w-e-textarea-color: var(--el-text-color-primary) !important;
+
+	// toolbar - css vars
+	--w-e-toolbar-color: var(--el-text-color-primary) !important;
+	--w-e-toolbar-bg-color: var(--el-color-white) !important;
+	--w-e-toolbar-active-color: var(--el-text-color-primary) !important;
+	--w-e-toolbar-active-bg-color: var(--next-color-menu-hover) !important;
+	--w-e-toolbar-border-color: var(--el-border-color-light, #ebeef5) !important;
+
+	// modal - css vars
+	--w-e-modal-button-bg-color: var(--el-color-primary) !important;
+	--w-e-modal-button-border-color: var(--el-color-primary) !important;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/tableTool.scss b/LA24030_LuLiPackageLine_Web/src/theme/tableTool.scss
new file mode 100644
index 0000000..d5ab55e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/tableTool.scss
@@ -0,0 +1,27 @@
+.table-tool-popper {
+	padding: 0 !important;
+	.tool-box {
+		display: flex;
+		border-bottom: 1px solid var(--el-border-color-lighter);
+		box-sizing: border-box;
+		color: var(--el-text-color-primary);
+		height: 40px;
+		align-items: center;
+	}
+	.tool-sortable {
+		max-height: 303px;
+		.tool-sortable-item {
+			display: flex;
+			box-sizing: border-box;
+			color: var(--el-text-color-primary);
+			align-items: center;
+			padding: 0 12px;
+			&:hover {
+				background: var(--el-fill-color-lighter);
+			}
+			i {
+				opacity: 0.7;
+			}
+		}
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/theme/waves.scss b/LA24030_LuLiPackageLine_Web/src/theme/waves.scss
new file mode 100644
index 0000000..23add2c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/theme/waves.scss
@@ -0,0 +1,101 @@
+/* Waves v0.6.0
+* http://fian.my.id/Waves
+*
+* Copyright 2014 Alfiana E. Sibuea and other contributors
+* Released under the MIT license
+* https://github.com/fians/Waves/blob/master/LICENSE
+*/
+.waves-effect {
+	position: relative;
+	cursor: pointer;
+	display: inline-block;
+	overflow: hidden;
+	-webkit-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+	-webkit-tap-highlight-color: transparent;
+	vertical-align: middle;
+	z-index: 1;
+	will-change: opacity, transform;
+	transition: all 0.3s ease-out;
+}
+.waves-effect .waves-ripple {
+	position: absolute;
+	border-radius: 50%;
+	width: 20px;
+	height: 20px;
+	margin-top: -10px;
+	margin-left: -10px;
+	opacity: 0;
+	background: rgba(0, 0, 0, 0.2);
+	transition: all 0.7s ease-out;
+	transition-property: opacity, -webkit-transform;
+	transition-property: transform, opacity;
+	transition-property: transform, opacity, -webkit-transform;
+	-webkit-transform: scale(0);
+	transform: scale(0);
+	pointer-events: none;
+}
+.waves-effect.waves-light .waves-ripple {
+	background-color: rgba(255, 255, 255, 0.45);
+}
+.waves-effect.waves-red .waves-ripple {
+	background-color: rgba(244, 67, 54, 0.7);
+}
+.waves-effect.waves-yellow .waves-ripple {
+	background-color: rgba(255, 235, 59, 0.7);
+}
+.waves-effect.waves-orange .waves-ripple {
+	background-color: rgba(255, 152, 0, 0.7);
+}
+.waves-effect.waves-purple .waves-ripple {
+	background-color: rgba(156, 39, 176, 0.7);
+}
+.waves-effect.waves-green .waves-ripple {
+	background-color: rgba(76, 175, 80, 0.7);
+}
+.waves-effect.waves-teal .waves-ripple {
+	background-color: rgba(0, 150, 136, 0.7);
+}
+.waves-effect input[type='button'],
+.waves-effect input[type='reset'],
+.waves-effect input[type='submit'] {
+	border: 0;
+	font-style: normal;
+	font-size: inherit;
+	text-transform: inherit;
+	background: none;
+}
+.waves-notransition {
+	transition: none !important;
+}
+.waves-circle {
+	-webkit-transform: translateZ(0);
+	transform: translateZ(0);
+	-webkit-mask-image: -webkit-radial-gradient(circle, #fff 100%, #000 100%);
+}
+.waves-input-wrapper {
+	border-radius: 0.2em;
+	vertical-align: bottom;
+}
+.waves-input-wrapper .waves-button-input {
+	position: relative;
+	top: 0;
+	left: 0;
+	z-index: 1;
+}
+.waves-circle {
+	text-align: center;
+	width: 2.5em;
+	height: 2.5em;
+	line-height: 2.5em;
+	border-radius: 50%;
+	-webkit-mask-image: none;
+}
+.waves-block {
+	display: block;
+}
+a.waves-effect .waves-ripple {
+	z-index: -1;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/types/axios.d.ts b/LA24030_LuLiPackageLine_Web/src/types/axios.d.ts
new file mode 100644
index 0000000..bcd0a21
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/types/axios.d.ts
@@ -0,0 +1,13 @@
+/* eslint-disable */
+import * as axios from 'axios';
+
+// 鎵╁睍 axios 鏁版嵁杩斿洖绫诲瀷锛屽彲鑷鎵╁睍
+declare module 'axios' {
+	export interface AxiosResponse<T = any> {
+		code: number;
+		data: T;
+		message: string;
+		type?: string;
+		[key: string]: T;
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/types/global.d.ts b/LA24030_LuLiPackageLine_Web/src/types/global.d.ts
new file mode 100644
index 0000000..5ef9c78
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/types/global.d.ts
@@ -0,0 +1,117 @@
+// 鐢虫槑澶栭儴 npm 鎻掍欢妯″潡
+declare module 'vue-grid-layout';
+declare module 'qrcodejs2-fixes';
+declare module 'splitpanes';
+declare module 'js-cookie';
+declare module '@wangeditor/editor-for-vue';
+declare module 'js-table2excel';
+declare module 'qs';
+declare module 'sortablejs';
+declare module 'vue-plugin-hiprint';
+declare module 'vcrontab-3';
+
+// 澹版槑涓�涓ā鍧楋紝闃叉寮曞叆鏂囦欢鏃舵姤閿�
+declare module '*.json';
+declare module '*.png';
+declare module '*.jpg';
+declare module '*.scss';
+declare module '*.ts';
+declare module '*.js';
+
+// 澹版槑鏂囦欢锛�*.vue 鍚庣紑鐨勬枃浠朵氦缁� vue 妯″潡鏉ュ鐞�
+declare module '*.vue' {
+	import type { DefineComponent } from 'vue';
+	const component: DefineComponent<{}, {}, any>;
+	export default component;
+}
+
+// 澹版槑鏂囦欢锛屽畾涔夊叏灞�鍙橀噺
+/* eslint-disable */
+declare interface Window {
+	nextLoading: boolean;
+	BMAP_SATELLITE_MAP: any;
+	BMap: any;
+	__env__: any;
+}
+
+// 澹版槑璺敱褰撳墠椤圭被鍨�
+declare type RouteItem<T = any> = {
+	path: string;
+	name?: string | symbol | undefined | null;
+	redirect?: string;
+	k?: T;
+	meta?: {
+		title?: string;
+		isLink?: string;
+		isHide?: boolean;
+		isKeepAlive?: boolean;
+		isAffix?: boolean;
+		isIframe?: boolean;
+		roles?: string[];
+		icon?: string;
+		isDynamic?: boolean;
+		isDynamicPath?: string;
+		isIframeOpen?: string;
+		loading?: boolean;
+	};
+	children: T[];
+	query?: { [key: string]: T };
+	params?: { [key: string]: T };
+	contextMenuClickId?: string | number;
+	commonUrl?: string;
+	isFnClick?: boolean;
+	url?: string;
+	transUrl?: string;
+	title?: string;
+	id?: string | number;
+};
+
+// 澹版槑璺敱 to from
+declare interface RouteToFrom<T = any> extends RouteItem {
+	path?: string;
+	children?: T[];
+}
+
+// 澹版槑璺敱褰撳墠椤圭被鍨嬮泦鍚�
+declare type RouteItems<T extends RouteItem = any> = T[];
+
+// 澹版槑 ref
+declare type RefType<T = any> = T | null;
+
+// 澹版槑 HTMLElement
+declare type HtmlType = HTMLElement | string | undefined | null;
+
+// 鐢虫槑 children 鍙��
+declare type ChilType<T = any> = {
+	children?: T[];
+};
+
+// 鐢虫槑 鏁扮粍
+declare type EmptyArrayType<T = any> = T[];
+
+// 鐢虫槑 瀵硅薄
+declare type EmptyObjectType<T = any> = {
+	[key: string]: T;
+};
+
+// 鐢虫槑 select option
+declare type SelectOptionType = {
+	value: string | number;
+	label: string | number;
+};
+
+// 榧犳爣婊氳疆婊氬姩绫诲瀷
+declare interface WheelEventType extends WheelEvent {
+	wheelDelta: number;
+}
+
+// table 鏁版嵁鏍煎紡鍏叡绫诲瀷
+declare interface TableType<T = any> {
+	total: number;
+	loading: boolean;
+	param: {
+		pageNum: number;
+		pageSize: number;
+		[key: string]: T;
+	};
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/types/layout.d.ts b/LA24030_LuLiPackageLine_Web/src/types/layout.d.ts
new file mode 100644
index 0000000..82904ef
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/types/layout.d.ts
@@ -0,0 +1,59 @@
+// aside
+declare type AsideState = {
+	menuList: RouteRecordRaw[];
+	clientWidth: number;
+};
+
+// columnsAside
+declare type ColumnsAsideState<T = any> = {
+	columnsAsideList: T[];
+	liIndex: number;
+	liOldIndex: null | number;
+	liHoverIndex: null | number;
+	liOldPath: null | string;
+	difference: number;
+	routeSplit: string[];
+};
+
+// navBars breadcrumb
+declare type BreadcrumbState<T = any> = {
+	breadcrumbList: T[];
+	routeSplit: string[];
+	routeSplitFirst: string;
+	routeSplitIndex: number;
+};
+
+// navBars search
+declare type SearchState<T = any> = {
+	isShowSearch: boolean;
+	menuQuery: string;
+	tagsViewList: T[];
+};
+
+// navBars tagsView
+declare type TagsViewState<T = any> = {
+	routeActive: string | T;
+	routePath: string | unknown;
+	dropdown: {
+		x: string | number;
+		y: string | number;
+	};
+	sortable: T;
+	tagsRefsIndex: number;
+	tagsViewList: T[];
+	tagsViewRoutesList: T[];
+};
+
+// navBars parent
+declare type ParentViewState<T = any> = {
+	refreshRouterViewKey: string;
+	iframeRefreshKey: string;
+	keepAliveNameList: string[];
+	iframeList: T[];
+};
+
+// navBars link
+declare type LinkViewState = {
+	title: string;
+	isLink: string;
+};
diff --git a/LA24030_LuLiPackageLine_Web/src/types/mitt.d.ts b/LA24030_LuLiPackageLine_Web/src/types/mitt.d.ts
new file mode 100644
index 0000000..b68b80d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/types/mitt.d.ts
@@ -0,0 +1,38 @@
+/**
+ * mitt 浜嬩欢绫诲瀷瀹氫箟
+ *
+ * @method openSetingsDrawer 鎵撳紑甯冨眬璁剧疆寮圭獥
+ * @method restoreDefault 鍒嗘爮甯冨眬锛岄紶鏍囩Щ鍏ャ�佺Щ鍑烘暟鎹樉绀�
+ * @method setSendColumnsChildren 鍒嗘爮甯冨眬锛岄紶鏍囩Щ鍏ャ�佺Щ鍑鸿彍鍗曟暟鎹紶鍏ュ埌 navMenu 涓嬬殑鑿滃崟涓�
+ * @method setSendClassicChildren 缁忓吀甯冨眬锛屽紑鍚垏鍓茶彍鍗曟椂锛岃彍鍗曟暟鎹紶鍏ュ埌 navMenu 涓嬬殑鑿滃崟涓�
+ * @method getBreadcrumbIndexSetFilterRoutes 甯冨眬璁剧疆寮圭獥锛屽紑鍚垏鍓茶彍鍗曟椂锛岃彍鍗曟暟鎹紶鍏ュ埌 navMenu 涓嬬殑鑿滃崟涓�
+ * @method layoutMobileResize 娴忚鍣ㄧ獥鍙f敼鍙樻椂锛岀敤浜庨�傞厤绉诲姩绔晫闈㈡樉绀�
+ * @method openOrCloseSortable 甯冨眬璁剧疆寮圭獥锛屽紑鍚� TagsView 鎷栨嫿
+ * @method openShareTagsView 甯冨眬璁剧疆寮圭獥锛屽紑鍚� TagsView 鍏辩敤
+ * @method onTagsViewRefreshRouterView tagsview 鍒锋柊鐣岄潰
+ * @method onCurrentContextmenuClick tagsview 鍙抽敭鑿滃崟姣忛」鐐瑰嚮鏃�
+ */
+declare type MittType<T = any> = {
+	openSetingsDrawer?: string;
+	restoreDefault?: string;
+	setSendColumnsChildren: T;
+	setSendClassicChildren: T;
+	getBreadcrumbIndexSetFilterRoutes?: string;
+	layoutMobileResize: T;
+	openOrCloseSortable?: string;
+	openShareTagsView?: string;
+	onTagsViewRefreshRouterView?: T;
+	onCurrentContextmenuClick?: T;
+};
+
+// mitt 鍙傛暟绫诲瀷瀹氫箟
+declare type LayoutMobileResize = {
+	layout: string;
+	clientWidth: number;
+};
+
+// mitt 鍙傛暟鑿滃崟绫诲瀷
+declare type MittMenu = {
+	children: RouteRecordRaw[];
+	item?: RouteItem;
+};
diff --git a/LA24030_LuLiPackageLine_Web/src/types/pinia.d.ts b/LA24030_LuLiPackageLine_Web/src/types/pinia.d.ts
new file mode 100644
index 0000000..098525c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/types/pinia.d.ts
@@ -0,0 +1,96 @@
+/**
+ * pinia 绫诲瀷瀹氫箟
+ */
+
+// 鐢ㄦ埛淇℃伅
+declare interface UserInfos<T = any> {
+	authBtnList: string[];
+	photo: string;
+	roles: string[];
+	time: number;
+	userName: string;
+	[key: string]: T;
+}
+declare interface UserInfosState {
+	userInfos: UserInfos;
+	constList: T[];
+	dictList: T[];
+}
+
+// 璺敱缂撳瓨鍒楄〃
+declare interface KeepAliveNamesState {
+	keepAliveNames: string[];
+	cachedViews: string[];
+}
+
+// 鍚庣杩斿洖鍘熷璺敱(鏈鐞嗘椂)
+declare interface RequestOldRoutesState {
+	requestOldRoutes: string[];
+}
+
+// TagsView 璺敱鍒楄〃
+declare interface TagsViewRoutesState<T = any> {
+	tagsViewRoutes: T[];
+	isTagsViewCurrenFull: Boolean;
+}
+
+// 璺敱鍒楄〃
+declare interface RoutesListState<T = any> {
+	routesList: T[];
+	isColumnsMenuHover: Boolean;
+	isColumnsNavHover: Boolean;
+}
+
+// 甯冨眬閰嶇疆
+declare interface ThemeConfigState {
+	themeConfig: {
+		isDrawer: boolean;
+		primary: string;
+		topBar: string;
+		topBarColor: string;
+		isTopBarColorGradual: boolean;
+		menuBar: string;
+		menuBarColor: string;
+		menuBarActiveColor: string;
+		isMenuBarColorGradual: boolean;
+		columnsMenuBar: string;
+		columnsMenuBarColor: string;
+		isColumnsMenuBarColorGradual: boolean;
+		isColumnsMenuHoverPreload: boolean;
+		isCollapse: boolean;
+		isUniqueOpened: boolean;
+		isFixedHeader: boolean;
+		isFixedHeaderChange: boolean;
+		isClassicSplitMenu: boolean;
+		isLockScreen: boolean;
+		lockScreenTime: number;
+		isShowLogo: boolean;
+		isShowLogoChange: boolean;
+		isBreadcrumb: boolean;
+		isTagsview: boolean;
+		isBreadcrumbIcon: boolean;
+		isTagsviewIcon: boolean;
+		isCacheTagsView: boolean;
+		isSortableTagsView: boolean;
+		isShareTagsView: boolean;
+		isFooter: boolean;
+		isGrayscale: boolean;
+		isInvert: boolean;
+		isIsDark: boolean;
+		isWatermark: boolean;
+		watermarkText: string;
+		tagsStyle: string;
+		animation: string;
+		columnsAsideStyle: string;
+		columnsAsideLayout: string;
+		layout: string;
+		isRequestRoutes: boolean;
+		globalTitle: string;
+		globalViceTitle: string;
+		globalViceTitleSub: string;
+		globalViceTitleMsg: string;
+		copyright: string;
+		globalI18n: string;
+		globalComponentSize: string;
+	};
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/types/views.d.ts b/LA24030_LuLiPackageLine_Web/src/types/views.d.ts
new file mode 100644
index 0000000..fa199dd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/types/views.d.ts
@@ -0,0 +1,367 @@
+/**
+ * views personal
+ */
+type NewInfo = {
+	title: string;
+	date: string;
+	link: string;
+};
+type Recommend = {
+	title: string;
+	msg: string;
+	icon: string;
+	bg: string;
+	iconColor: string;
+};
+declare type PersonalState = {
+	newsInfoList: NewInfo[];
+	recommendList: Recommend[];
+	personalForm: {
+		name: string;
+		email: string;
+		autograph: string;
+		occupation: string;
+		phone: string;
+		sex: string;
+	};
+};
+
+/**
+ * views visualizing
+ */
+declare type Demo2State<T = any> = {
+	time: {
+		txt: string;
+		fun: number;
+	};
+	dropdownList: T[];
+	dropdownActive: string;
+	skyList: T[];
+	dBtnList: T[];
+	chartData4Index: number;
+	dBtnActive: number;
+	earth3DBtnList: T[];
+	chartData4List: T[];
+	myCharts: T[];
+};
+
+/**
+ * views params
+ */
+declare type ParamsState = {
+	value: string;
+	tagsViewName: string;
+	tagsViewNameIsI18n: boolean;
+};
+
+/**
+ * views system
+ */
+// role
+declare interface RowRoleType {
+	roleName: string;
+	roleSign: string;
+	describe: string;
+	sort: number;
+	status: boolean;
+	createTime: string;
+}
+
+interface SysRoleTableType extends TableType {
+	data: RowRoleType[];
+}
+
+declare interface SysRoleState {
+	tableData: SysRoleTableType;
+}
+
+declare type TreeType = {
+	id: number;
+	label: string;
+	children?: TreeType[];
+};
+
+// user
+declare type RowUserType<T = any> = {
+	userName: string;
+	userNickname: string;
+	roleSign: string;
+	department: string[];
+	phone: string;
+	email: string;
+	sex: string;
+	password: string;
+	overdueTime: T;
+	status: boolean;
+	describe: string;
+	createTime: T;
+};
+
+interface SysUserTableType extends TableType {
+	data: RowUserType[];
+}
+
+declare interface SysUserState {
+	tableData: SysUserTableType;
+}
+
+declare type DeptTreeType = {
+	deptName: string;
+	createTime: string;
+	status: boolean;
+	sort: number;
+	describe: string;
+	id: number | string;
+	children?: DeptTreeType[];
+};
+
+// dept
+declare interface RowDeptType extends DeptTreeType {
+	deptLevel: string[];
+	person: string;
+	phone: string;
+	email: string;
+}
+
+interface SysDeptTableType extends TableType {
+	data: DeptTreeType[];
+}
+
+declare interface SysDeptState {
+	tableData: SysDeptTableType;
+}
+
+// dic
+type ListType = {
+	id: number;
+	label: string;
+	value: string;
+};
+
+declare interface RowDicType {
+	dicName: string;
+	fieldName: string;
+	describe: string;
+	status: boolean;
+	createTime: string;
+	list: ListType[];
+}
+
+interface SysDicTableType extends TableType {
+	data: RowDicType[];
+}
+
+declare interface SysDicState {
+	tableData: SysDicTableType;
+}
+
+/**
+ * views pages
+ */
+//  filtering
+declare type FilteringChilType = {
+	id: number | string;
+	label: string;
+	active: boolean;
+};
+
+declare type FilterListType = {
+	img: string;
+	title: string;
+	evaluate: string;
+	collection: string;
+	price: string;
+	monSales: string;
+	id: number | string;
+	loading?: boolean;
+};
+
+declare type FilteringRowType = {
+	title: string;
+	isMore: boolean;
+	isShowMore: boolean;
+	id: number | string;
+	children: FilteringChilType[];
+};
+
+// tableRules
+declare type TableRulesHeaderType = {
+	prop: string;
+	width: string | number;
+	label: string;
+	isRequired?: boolean;
+	isTooltip?: boolean;
+	type: string;
+};
+
+declare type TableRulesState = {
+	tableData: {
+		data: EmptyObjectType[];
+		header: TableRulesHeaderType[];
+		option: SelectOptionType[];
+	};
+};
+
+declare type TableRulesOneProps = {
+	name: string;
+	email: string;
+	autograph: string;
+	occupation: string;
+};
+
+// tree
+declare type RowTreeType = {
+	id: number;
+	label: string;
+	label1: string;
+	label2: string;
+	isShow: boolean;
+	children?: RowTreeType[];
+};
+
+// workflow index
+declare type NodeListState = {
+	id: string | number;
+	nodeId: string | undefined;
+	class: HTMLElement | string;
+	left: number | string;
+	top: number | string;
+	icon: string;
+	name: string;
+};
+
+declare type LineListState = {
+	sourceId: string;
+	targetId: string;
+	label: string;
+};
+
+declare type XyState = {
+	x: string | number;
+	y: string | number;
+};
+
+declare type WorkflowState<T = any> = {
+	leftNavList: T[];
+	dropdownNode: XyState;
+	dropdownLine: XyState;
+	isShow: boolean;
+	jsPlumb: T;
+	jsPlumbNodeIndex: null | number;
+	jsplumbDefaults: T;
+	jsplumbMakeSource: T;
+	jsplumbMakeTarget: T;
+	jsplumbConnect: T;
+	jsplumbData: {
+		nodeList: NodeListState[];
+		lineList: LineListState[];
+	};
+};
+
+// workflow drawer
+declare type WorkflowDrawerNodeState<T = any> = {
+	node: { [key: string]: T };
+	nodeRules: T;
+	form: T;
+	tabsActive: string;
+	loading: {
+		extend: boolean;
+	};
+};
+
+declare type WorkflowDrawerLabelType = {
+	type: string;
+	label: string;
+};
+
+declare type WorkflowDrawerState<T = any> = {
+	isOpen: boolean;
+	nodeData: {
+		type: string;
+	};
+	jsplumbConn: T;
+};
+
+/**
+ * views make
+ */
+// tableDemo
+declare type TableDemoPageType = {
+	page: number;
+	pageSize: number;
+};
+
+declare type TableHeaderType = {
+	key: string;
+	width: string;
+	title: string;
+	type: string | number;
+	colWidth: string;
+	width?: string | number;
+	height?: string | number;
+	isCheck: boolean;
+	align: string;
+	headerAlign: string;
+	toolTip: boolean;
+	sortable: boolean;
+};
+
+declare type TableSearchType = {
+	label: string;
+	prop: string;
+	placeholder: string;
+	required: boolean;
+	type: string;
+	options?: SelectOptionType[];
+	cascaderData?: object[];
+	cascaderProps?: object;
+	comProps?: object;
+	change?: (value: any) => {};
+};
+
+declare type TableDemoState = {
+	tableData: {
+		// data: EmptyObjectType[];
+		// header: TableHeaderType[];
+		columns: Object[]; //鍒楄缃紝鍚孍LTable-Column灞炴��
+		config: {
+			// total: number;
+			// loading: boolean;
+			isStripe: boolean;
+			isBorder: boolean;
+			isSelection: boolean;
+			showSelection: boolean;
+			isSerialNo: boolean;
+			pageSizes?: number[];
+			pageSize: number;
+			hideExport?: boolean;
+			exportFileName?: string;
+			hidePrint?: boolean;
+			printName?: string;
+			hideSet?: boolean;
+			hideRefresh?: boolean;
+			hidePagination?: boolean;
+			// isOperate: boolean;
+		};
+		// actions: WorkflowDrawerLabelType[];
+		search: TableSearchType[];
+		param: EmptyObjectType;
+		defaultSort: EmptyObjectType;
+	};
+};
+
+// HTTP 浣滀笟娑堟伅锛堝瓧娈靛畾涔夋潵婧� Furion 鐨� HttpJobMessage锛�
+interface HttpJobMessage {
+	requestUri?: string | null;
+	httpMethod?: string | null;
+	body?: string | null;
+}
+
+// 淇敼璁板綍鐩稿叧瀛楁瀹氫箟
+declare type ModifyRecord = {
+	createUserName?: string | null;
+	createTime?: string | null;
+	updateUserName?: string | null;
+	updateTime?: string | null;
+	remark?: string | null;
+};
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/arrayOperation.ts b/LA24030_LuLiPackageLine_Web/src/utils/arrayOperation.ts
new file mode 100644
index 0000000..ee8358e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/arrayOperation.ts
@@ -0,0 +1,65 @@
+/**
+ * 鍒ゆ柇涓ゆ暟缁勫瓧绗︿覆鏄惁鐩稿悓锛堢敤浜庢寜閽潈闄愰獙璇侊級锛屾暟缁勫瓧绗︿覆涓瓨鍦ㄧ浉鍚屾椂浼氳嚜鍔ㄥ幓閲嶏紙鎸夐挳鏉冮檺鏍囪瘑涓嶄細閲嶅锛�
+ * @param news 鏂版暟鎹�
+ * @param old 婧愭暟鎹�
+ * @returns 涓ゆ暟缁勭浉鍚岃繑鍥� `true`锛屽弽涔嬪垯鍙�
+ */
+export function judgementSameArr(newArr: unknown[] | string[], oldArr: string[]): boolean {
+	const news = removeDuplicate(newArr);
+	const olds = removeDuplicate(oldArr);
+	let count = 0;
+	const leng = news.length;
+	for (let i in olds) {
+		for (let j in news) {
+			if (olds[i] === news[j]) count++;
+		}
+	}
+	return count === leng ? true : false;
+}
+
+/**
+ * 鍒ゆ柇涓や釜瀵硅薄鏄惁鐩稿悓
+ * @param a 瑕佹瘮杈冪殑瀵硅薄涓�
+ * @param b 瑕佹瘮杈冪殑瀵硅薄浜�
+ * @returns 鐩稿悓杩斿洖 true锛屽弽涔嬪垯鍙�
+ */
+export function isObjectValueEqual<T>(a: T, b: T): boolean {
+	if (!a || !b) return false;
+	let aProps = Object.getOwnPropertyNames(a);
+	let bProps = Object.getOwnPropertyNames(b);
+	if (aProps.length != bProps.length) return false;
+	for (let i = 0; i < aProps.length; i++) {
+		let propName = aProps[i];
+		let propA = a[propName];
+		let propB = b[propName];
+		if (!b.hasOwnProperty(propName)) return false;
+		if (propA instanceof Object) {
+			if (!isObjectValueEqual(propA, propB)) return false;
+		} else if (propA !== propB) {
+			return false;
+		}
+	}
+	return true;
+}
+
+/**
+ * 鏁扮粍銆佹暟缁勫璞″幓閲�
+ * @param arr 鏁扮粍鍐呭
+ * @param attr 闇�瑕佸幓閲嶇殑閿�硷紙鏁扮粍瀵硅薄锛�
+ * @returns
+ */
+export function removeDuplicate(arr: EmptyArrayType, attr?: string) {
+	if (!Object.keys(arr).length) {
+		return arr;
+	} else {
+		if (attr) {
+			const obj: EmptyObjectType = {};
+			return arr.reduce((cur: EmptyArrayType[], item: EmptyArrayType) => {
+				obj[item[attr]] ? '' : (obj[item[attr]] = true && item[attr] && cur.push(item));
+				return cur;
+			}, []);
+		} else {
+			return [...new Set(arr)];
+		}
+	}
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/authFunction.ts b/LA24030_LuLiPackageLine_Web/src/utils/authFunction.ts
new file mode 100644
index 0000000..6e3bbe0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/authFunction.ts
@@ -0,0 +1,38 @@
+import { useUserInfo } from '/@/stores/userInfo';
+import { judgementSameArr } from '/@/utils/arrayOperation';
+
+/**
+ * 鍗曚釜鏉冮檺楠岃瘉
+ * @param value 鏉冮檺鍊�
+ * @returns 鏈夋潈闄愶紝杩斿洖 `true`锛屽弽涔嬪垯鍙�
+ */
+export function auth(value: string): boolean {
+	const stores = useUserInfo();
+	return stores.userInfos.authBtnList.some((v: string) => v === value);
+}
+
+/**
+ * 澶氫釜鏉冮檺楠岃瘉锛屾弧瓒充竴涓垯涓� true
+ * @param value 鏉冮檺鍊�
+ * @returns 鏈夋潈闄愶紝杩斿洖 `true`锛屽弽涔嬪垯鍙�
+ */
+export function auths(value: Array<string>): boolean {
+	let flag = false;
+	const stores = useUserInfo();
+	stores.userInfos.authBtnList.map((val: string) => {
+		value.map((v: string) => {
+			if (val === v) flag = true;
+		});
+	});
+	return flag;
+}
+
+/**
+ * 澶氫釜鏉冮檺楠岃瘉锛屽叏閮ㄦ弧瓒冲垯涓� true
+ * @param value 鏉冮檺鍊�
+ * @returns 鏈夋潈闄愶紝杩斿洖 `true`锛屽弽涔嬪垯鍙�
+ */
+export function authAll(value: Array<string>): boolean {
+	const stores = useUserInfo();
+	return judgementSameArr(value, stores.userInfos.authBtnList);
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/auto-update.ts b/LA24030_LuLiPackageLine_Web/src/utils/auto-update.ts
new file mode 100644
index 0000000..41ae2b7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/auto-update.ts
@@ -0,0 +1,60 @@
+/**
+ *閫氳繃鐩戝惉褰撳墠椤甸潰鐨凧S鐨凷RC鏉ュ垽鏂綋鍓嶇綉椤垫槸鍚︽湁鏇存柊
+ *浣跨敤鏂规硶   main.js   import checkUpdate from "/@/utils/auto-update";
+ */
+
+let lastSrcs: any[] | null; //涓婃js鍦板潃闆嗗悎
+// const scriptReg = /(?<=<script.*src=["']).*?(?=["'])/gm; //IOS 涓嶆敮鎸佹柇瑷�鍖归厤
+const scriptReg = /<script.*?src=['"](.*?)['"]/gm;
+
+/**
+ * 鑾峰彇鏈�鏂扮殑js闆嗗悎
+ * @returns
+ */
+async function extractNewScripts() {
+	const html = await fetch('/?_t=' + Date.now()).then((res) => res.text());
+	scriptReg.lastIndex = 0;
+	const result = html.match(scriptReg);
+	return result;
+}
+/**
+ * 鍒ゆ柇鏄惁鏈夋洿鏂�
+ * @returns
+ */
+async function checkUpdate() {
+	const newScripts = await extractNewScripts();
+	if (!lastSrcs) {
+		lastSrcs = newScripts;
+		return false;
+	}
+	if (newScripts == null) return false;
+	let result = false;
+	if (lastSrcs.length !== newScripts.length) {
+		result = true;
+	}
+	for (let i = 0; i < lastSrcs.length; i++) {
+		if (lastSrcs[i] !== newScripts[i]) {
+			result = true;
+			break;
+		}
+	}
+	lastSrcs = newScripts;
+	return result;
+}
+
+/**
+ * 瀹氭椂鍣ㄥ畾鏃舵娴嬫槸鍚︽洿鏂帮紝鏈夋洿鏂板垯鎵ц鍥炶皟鍑芥暟
+ * @param callbackFn
+ * @param interval
+ */
+function checkUpdateInterval(callbackFn: any, interval: number = 60000) {
+	setTimeout(async () => {
+		const willUpdate = await checkUpdate();
+		if (willUpdate) {
+			callbackFn();
+		}
+		checkUpdateInterval(callbackFn, interval);
+	}, interval);
+}
+
+export default checkUpdateInterval;
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/axios-utils.ts b/LA24030_LuLiPackageLine_Web/src/utils/axios-utils.ts
new file mode 100644
index 0000000..8f4d809
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/axios-utils.ts
@@ -0,0 +1,224 @@
+/**
+ * 褰撳墠鐗堟湰锛歷1.0.6
+ * 浣跨敤鎻忚堪锛歨ttps://editor.swagger.io 浠g爜鐢熸垚 typescript-axios 杈呯粍宸ュ叿搴�
+ * 渚濊禆璇存槑锛氶�傞厤 axios 鐗堟湰锛歷0.21.4
+ * 瑙嗛鏁欑▼锛歨ttps://www.bilibili.com/video/BV1EW4y1C71D
+ */
+
+import globalAxios, { AxiosInstance } from 'axios';
+import { Configuration } from '../api-services';
+import { BaseAPI, BASE_PATH } from '../api-services/base';
+
+import { ElMessage } from 'element-plus';
+import { Local, Session } from '../utils/storage';
+
+// 鎺ュ彛鏈嶅姟鍣ㄩ厤缃�
+export const serveConfig = new Configuration({
+	basePath: window.__env__.VITE_API_URL,
+});
+
+// token 閿畾涔�
+export const accessTokenKey = 'access-token';
+export const refreshAccessTokenKey = `x-${accessTokenKey}`;
+
+// 鑾峰彇 token
+export const getToken = () => {
+	return Local.get(accessTokenKey);
+};
+
+// 娓呴櫎 token
+export const clearAccessTokens = () => {
+	clearTokens();
+
+	// 鍒锋柊娴忚鍣�
+	window.location.reload();
+};
+
+// 娓呴櫎 token
+export const clearTokens = () => {
+	Local.remove(accessTokenKey);
+	Local.remove(refreshAccessTokenKey);
+	Session.clear();
+};
+
+// axios 榛樿瀹炰緥
+export const axiosInstance: AxiosInstance = globalAxios;
+
+// 杩欓噷鍙互閰嶇疆 axios 鏇村閫夐」 =========================================
+
+// axios 璇锋眰鎷︽埅
+axiosInstance.interceptors.request.use(
+	(conf) => {
+		// 鑾峰彇鏈湴鐨� token
+		const accessToken = Local.get(accessTokenKey);
+		if (accessToken) {
+			// 灏� token 娣诲姞鍒拌姹傛姤鏂囧ご涓�
+			conf.headers!['Authorization'] = `Bearer ${accessToken}`;
+
+			// 鍒ゆ柇 accessToken 鏄惁杩囨湡
+			const jwt: any = decryptJWT(accessToken);
+			const exp = getJWTDate(jwt.exp as number);
+
+			// token 宸茬粡杩囨湡
+			if (new Date() >= exp) {
+				// 鑾峰彇鍒锋柊 token
+				const refreshAccessToken = Local.get(refreshAccessTokenKey);
+
+				// 鎼哄甫鍒锋柊 token
+				if (refreshAccessToken) {
+					conf.headers!['X-Authorization'] = `Bearer ${refreshAccessToken}`;
+				}
+			}
+		}
+
+		// 杩欓噷缂栧啓璇锋眰鎷︽埅浠g爜 =========================================
+
+		// 鑾峰彇鍓嶇璁剧疆鐨勮瑷�
+		const globalI18n = Local.get('themeConfig')?.globalI18n;
+		if (globalI18n) {
+			// 娣诲姞鍒拌姹傛姤鏂囧ご涓�
+			conf.headers!['Accept-Language'] = globalI18n;
+		}
+		return conf;
+	},
+	(error) => {
+		// 澶勭悊璇锋眰閿欒
+		if (error.request) {
+			ElMessage.error(error);
+		}
+
+		// 璇锋眰閿欒浠g爜鍙婅嚜瀹氫箟澶勭悊
+		ElMessage.error(error);
+
+		return Promise.reject(error);
+	}
+);
+
+// axios 鍝嶅簲鎷︽埅
+axiosInstance.interceptors.response.use(
+	(res) => {
+		// 鑾峰彇鐘舵�佺爜鍜岃繑鍥炴暟鎹�
+		var status = res.status;
+		var serve = res.data;
+
+		// 澶勭悊 401
+		if (status === 401) {
+			clearAccessTokens();
+		}
+
+		// 澶勭悊鏈繘琛岃鑼冨寲澶勭悊鐨�
+		if (status >= 400) {
+			throw new Error(res.statusText || 'Request Error.');
+		}
+
+		// 澶勭悊瑙勮寖鍖栫粨鏋滈敊璇�
+		if (serve && serve.hasOwnProperty('errors') && serve.errors) {
+			throw new Error(JSON.stringify(serve.errors || 'Request Error.'));
+		}
+
+		// 璇诲彇鍝嶅簲鎶ユ枃澶� token 淇℃伅
+		var accessToken = res.headers[accessTokenKey];
+		var refreshAccessToken = res.headers[refreshAccessTokenKey];
+
+		// 鍒ゆ柇鏄惁鏄棤鏁� token
+		if (accessToken === 'invalid_token') {
+			clearAccessTokens();
+		}
+		// 鍒ゆ柇鏄惁瀛樺湪鍒锋柊 token锛屽鏋滃瓨鍦ㄥ垯瀛樺偍鍦ㄦ湰鍦�
+		else if (refreshAccessToken && accessToken && accessToken !== 'invalid_token') {
+			Local.set(accessTokenKey, accessToken);
+			Local.set(refreshAccessTokenKey, refreshAccessToken);
+		}
+
+		// 鍝嶅簲鎷︽埅鍙婅嚜瀹氫箟澶勭悊
+		if (serve.code === 401) {
+			clearAccessTokens();
+		} else if (serve.code === undefined) {
+			return Promise.resolve(res);
+		} else if (serve.code !== 200) {
+			var message;
+			// 鍒ゆ柇 serve.message 鏄惁涓哄璞�
+			if (serve.message && typeof serve.message == 'object') {
+				message = JSON.stringify(serve.message);
+			} else {
+				message = serve.message;
+			}
+			ElMessage.error(message);
+			//瑙e喅api鐩存帴鎶涘紓甯革紝娌$粰鍚庣画涓氬姟澶勭悊鐨勯棶棰� [Editby shaocx,2024-05-23]
+			//throw new Error(message);
+		}
+
+		return res;
+	},
+	(error) => {
+		// 澶勭悊鍝嶅簲閿欒
+		if (error.response) {
+			if (error.response.status === 401) {
+				clearAccessTokens();
+			}
+		}
+
+		// 鍝嶅簲閿欒浠g爜鍙婅嚜瀹氫箟澶勭悊
+		ElMessage.error(error);
+
+		return Promise.reject(error);
+	}
+);
+
+/**
+ * 鍖呰 Promise 骞惰繑鍥� [Error, any]
+ * @param promise Promise 鏂规硶
+ * @param errorExt 鑷畾涔夐敊璇俊鎭紙鎷撳睍锛�
+ * @returns [Error, any]
+ */
+export function feature<T, U = Error>(promise: Promise<T>, errorExt?: object): Promise<[U, undefined] | [null, T]> {
+	return promise
+		.then<[null, T]>((data: T) => [null, data])
+		.catch<[U, undefined]>((err: U) => {
+			if (errorExt) {
+				const parsedError = Object.assign({}, err, errorExt);
+				return [parsedError, undefined];
+			}
+
+			return [err, undefined];
+		});
+}
+
+/**
+ * 鑾峰彇/鍒涘缓鏈嶅姟 API 瀹炰緥
+ * @param apiType BaseAPI 娲剧敓绫诲瀷
+ * @param configuration 鏈嶅姟鍣ㄩ厤缃璞�
+ * @param basePath 鏈嶅姟鍣ㄥ湴鍧�
+ * @param axiosObject axios 瀹炰緥
+ * @returns 鏈嶅姟API 瀹炰緥
+ */
+export function getAPI<T extends BaseAPI>(
+	// eslint-disable-next-line no-unused-vars
+	apiType: new (configuration?: Configuration, basePath?: string, axiosInstance?: AxiosInstance) => T,
+	configuration: Configuration = serveConfig,
+	basePath: string = BASE_PATH,
+	axiosObject: AxiosInstance = axiosInstance
+) {
+	return new apiType(configuration, basePath, axiosObject);
+}
+
+/**
+ * 瑙e瘑 JWT token 鐨勪俊鎭�
+ * @param token jwt token 瀛楃涓�
+ * @returns <any>object
+ */
+export function decryptJWT(token: string): any {
+	token = token.replace(/_/g, '/').replace(/-/g, '+');
+	var json = decodeURIComponent(escape(window.atob(token.split('.')[1])));
+	return JSON.parse(json);
+}
+
+/**
+ * 灏� JWT 鏃堕棿鎴宠浆鎹㈡垚 Date
+ * @description 涓昏閽堝 `exp`锛宍iat`锛宍nbf`
+ * @param timestamp 鏃堕棿鎴�
+ * @returns Date 瀵硅薄
+ */
+export function getJWTDate(timestamp: number): Date {
+	return new Date(timestamp * 1000);
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/base64Conver.ts b/LA24030_LuLiPackageLine_Web/src/utils/base64Conver.ts
new file mode 100644
index 0000000..5a72296
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/base64Conver.ts
@@ -0,0 +1,84 @@
+/**
+ * @description: base64 to blob
+ */
+export function dataURLtoBlob(base64Buf: string): Blob {
+	const arr = base64Buf.split(',');
+	const typeItem = arr[0];
+	const mime = typeItem.match(/:(.*?);/)![1];
+	const bstr = window.atob(arr[1]);
+	let n = bstr.length;
+	const u8arr = new Uint8Array(n);
+	while (n--) {
+		u8arr[n] = bstr.charCodeAt(n);
+	}
+	return new Blob([u8arr], { type: mime });
+}
+
+/**
+ * img url to base64
+ * @param url
+ */
+export function urlToBase64(url: string, mineType?: string): Promise<string> {
+	return new Promise((resolve, reject) => {
+		let canvas = document.createElement('CANVAS') as Nullable<HTMLCanvasElement>;
+		const ctx = canvas!.getContext('2d');
+
+		const img = new Image();
+		img.crossOrigin = '';
+		img.onload = function () {
+			if (!canvas || !ctx) {
+				return reject();
+			}
+			canvas.height = img.height;
+			canvas.width = img.width;
+			ctx.drawImage(img, 0, 0);
+			const dataURL = canvas.toDataURL(mineType || 'image/png');
+			canvas = null;
+			resolve(dataURL);
+		};
+		img.src = url;
+	});
+}
+
+/**
+ * File杞珺ase64
+ * @param file
+ */
+export function fileToBase64(file: Blob) {
+	return new Promise((resolve, reject) => {
+		const reader = new FileReader();
+		reader.readAsDataURL(file);
+		reader.onload = () => resolve(reader.result);
+		reader.onerror = (error) => reject(error);
+	});
+}
+
+/**
+ * Base64杞現ile
+ * @param dataURL   {String}  base64
+ * @param fileName	{String}  鏂囦欢鍚�
+ * @param mimeType	{String}  [鍙�塢鏂囦欢绫诲瀷锛岄粯璁や负base64涓殑绫诲瀷
+ * @returns {File}
+ */
+export function base64ToFile(dataURL: string, fileName: string, mimeType = null) {
+	var arr = dataURL.split(',');
+	var defaultMimeType = arr[0].match(/:(.*?);/)[1];
+	var bStr = atob(arr[1]);
+	let n = bStr.length;
+	var u8arr = new Uint8Array(n);
+	while (n--) {
+		u8arr[n] = bStr.charCodeAt(n);
+	}
+	return new File([u8arr], fileName, { type: mimeType || defaultMimeType });
+}
+
+/**
+ * Blob杞現ile
+ * @param blob     {Blob}   blob
+ * @param fileName {String} 鏂囦欢鍚�
+ * @param mimeType {String} 鏂囦欢绫诲瀷
+ * @return {File}
+ */
+export function blobToFile(blob: Blob, fileName: string, mimeType: any) {
+	return new File([blob], fileName, { type: mimeType });
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/build.ts b/LA24030_LuLiPackageLine_Web/src/utils/build.ts
new file mode 100644
index 0000000..af3ae43
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/build.ts
@@ -0,0 +1,125 @@
+import importToCDN from 'vite-plugin-cdn-import';
+
+/**
+ * 鎵撳寘鐩稿叧
+ * 娉ㄦ剰 prodUrl锛氫娇鐢ㄧ殑鏄� jsdelivr 杩樻槸 unpkg銆傚畠浠殑 path 鍙兘涓嶄竴鑷�
+ * 鏂囩珷閾炬帴锛歨ttps://blog.csdn.net/qq_34450741/article/details/129766676锛屼娇鐢ㄧ殑鏄� jsdelivr
+ * @description importToCDN https://github.com/mmf-fe/vite-plugin-cdn-import
+ * @description cdn 鍦ㄧ嚎寮曞叆鐨� cdn 鍦板潃閰嶇疆銆俻ath锛歨ttps://www.jsdelivr.com/ || https://unpkg.com/
+ * @description external 鎵撳寘鏃讹紝杩囨护鍖呭鍏ャ�傚弬鑰冿細https://rollupjs.org/configuration-options/#external
+ */
+export const buildConfig = {
+	cdn() {
+		return importToCDN({
+			prodUrl: 'https://unpkg.com/{name}@{version}/{path}',
+			modules: [
+				// autoComplete('vue'),
+				// autoComplete('axios'),
+				{
+					name: 'vue',
+					var: 'Vue',
+					path: 'dist/vue.global.js',
+				},
+				{
+					name: 'vue-demi',
+					var: 'VueDemi',
+					path: 'lib/index.iife.js',
+				},
+				{
+					name: 'vue-router',
+					var: 'VueRouter',
+					path: 'dist/vue-router.global.js',
+				},
+				{
+					name: 'element-plus',
+					var: 'ElementPlus',
+					path: 'dist/index.full.js',
+				},
+				// {
+				// 	name: '@element-plus/icons-vue',
+				// 	var: 'ElementPlusIconsVue',
+				// 	path: 'dist/index.iife.min.js',
+				// },
+				// {
+				// 	name: 'echarts',
+				// 	var: 'echarts',
+				// 	path: 'dist/echarts.min.js',
+				// },
+				// {
+				// 	name: 'echarts-gl',
+				// 	var: 'echarts-gl',
+				// 	path: 'dist/echarts-gl.min.js',
+				// },
+				// {
+				// 	name: 'echarts-wordcloud',
+				// 	var: 'echarts-wordcloud',
+				// 	path: 'dist/echarts-wordcloud.min.js',
+				// },
+				// {
+				// 	name: 'vue-i18n',
+				// 	var: 'VueI18n',
+				// 	path: 'dist/vue-i18n.global.min.js',
+				// },
+				// {
+				// 	name: 'jsplumb',
+				// 	var: 'jsPlumb',
+				// 	path: 'dist/js/jsplumb.min.js',
+				// },
+				// {
+				// 	name: 'cropperjs',
+				// 	var: 'Cropper',
+				// 	path: 'dist/cropper.min.js',
+				// },
+				// {
+				// 	name: 'sortablejs',
+				// 	var: 'Sortable',
+				// 	path: 'Sortable.min.js',
+				// },
+				// {
+				// 	name: 'qrcodejs2-fixes',
+				// 	var: 'QRCode',
+				// 	path: 'qrcode.min.js',
+				// },
+				// {
+				// 	name: 'print-js',
+				// 	var: 'printJS',
+				// 	path: 'dist/print.min.js',
+				// },
+				// {
+				// 	name: '@wangeditor/editor',
+				// 	var: 'wangEditor',
+				// 	path: 'dist/index.min.js',
+				// },
+				// {
+				// 	name: '@wangeditor/editor-for-vue',
+				// 	var: 'WangEditorForVue',
+				// 	path: 'dist/index.min.js',
+				// },
+				// {
+				// 	name: 'vue-grid-layout',
+				// 	var: 'VueGridLayout',
+				// 	path: 'https://cdn.jsdelivr.net/npm/vue-grid-layout@3.0.0-beta1/dist/vue-grid-layout.umd.min.js',
+				// },
+			],
+		});
+	},
+	external: [
+		'vue',
+		// 'axios',
+		'vue-router',
+		'element-plus',
+		// '@element-plus/icons-vue',
+		// 'echarts',
+		// 'echarts-gl',
+		// 'echarts-wordcloud',
+		// 'vue-i18n',
+		// 'jsplumb',
+		// 'cropperjs',
+		// 'sortablejs',
+		// 'qrcodejs2-fixes',
+		// 'print-js',
+		// '@wangeditor/editor',
+		// '@wangeditor/editor-for-vue',
+		// 'vue-grid-layout',
+	],
+};
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/cache.ts b/LA24030_LuLiPackageLine_Web/src/utils/cache.ts
new file mode 100644
index 0000000..8efc529
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/cache.ts
@@ -0,0 +1,28 @@
+class LocalCache {
+  setCache(key: string, value: any) {
+    window.localStorage.setItem(key, JSON.stringify(value));
+  }
+  getCache(key: string) {
+    const value = window.localStorage.getItem(key);
+    if (value) {
+      let obj = ''
+      try {
+        obj = JSON.parse(value)
+      } catch (err) {
+        obj = value
+      }
+      // console.log(obj);
+      return obj
+    } else {
+      return '';
+    }
+  }
+  deleteCache(key: string) {
+    window.localStorage.removeItem(key);
+  }
+  clearCache() {
+    window.localStorage.clear();
+  }
+}
+
+export default new LocalCache();
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/commonFunction.ts b/LA24030_LuLiPackageLine_Web/src/utils/commonFunction.ts
new file mode 100644
index 0000000..303a7c5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/commonFunction.ts
@@ -0,0 +1,83 @@
+// 閫氱敤鍑芥暟
+import useClipboard from 'vue-clipboard3';
+import { ElMessage } from 'element-plus';
+import { formatDate } from '/@/utils/formatTime';
+import { useI18n } from 'vue-i18n';
+
+export default function () {
+	const { t } = useI18n();
+	const { toClipboard } = useClipboard();
+
+	// 鐧惧垎姣旀牸寮忓寲
+	const percentFormat = (row: EmptyArrayType, column: number, cellValue: string) => {
+		return cellValue ? `${cellValue}%` : '-';
+	};
+	// 鍒楄〃鏃ユ湡鏃堕棿鏍煎紡鍖�
+	const dateFormatYMD = (row: EmptyArrayType, column: number, cellValue: string) => {
+		if (!cellValue) return '-';
+		return formatDate(new Date(cellValue), 'YYYY-mm-dd');
+	};
+	// 鍒楄〃鏃ユ湡鏃堕棿鏍煎紡鍖�
+	const dateFormatYMDHMS = (row: EmptyArrayType, column: number, cellValue: string) => {
+		if (!cellValue) return '-';
+		return formatDate(new Date(cellValue), 'YYYY-mm-dd HH:MM:SS');
+	};
+	// 鍒楄〃鏃ユ湡鏃堕棿鏍煎紡鍖�
+	const dateFormatHMS = (row: EmptyArrayType, column: number, cellValue: string) => {
+		if (!cellValue) return '-';
+		let time = 0;
+		if (typeof row === 'number') time = row;
+		if (typeof cellValue === 'number') time = cellValue;
+		return formatDate(new Date(time * 1000), 'HH:MM:SS');
+	};
+	// 灏忔暟鏍煎紡鍖�
+	const scaleFormat = (value: string = '0', scale: number = 4) => {
+		return Number.parseFloat(value).toFixed(scale);
+	};
+	// 灏忔暟鏍煎紡鍖�
+	const scale2Format = (value: string = '0') => {
+		return Number.parseFloat(value).toFixed(2);
+	};
+	// 鐐瑰嚮澶嶅埗鏂囨湰
+	const copyText = (text: string) => {
+		return new Promise((resolve, reject) => {
+			try {
+				//澶嶅埗
+				toClipboard(text);
+				//涓嬮潰鍙互璁剧疆澶嶅埗鎴愬姛鐨勬彁绀烘绛夋搷浣�
+				ElMessage.success(t('message.layout.copyTextSuccess'));
+				resolve(text);
+			} catch (e) {
+				//澶嶅埗澶辫触
+				ElMessage.error(t('message.layout.copyTextError'));
+				reject(e);
+			}
+		});
+	};
+	// 鍘绘帀Html鏍囩(鍙栧墠闈�5涓瓧绗�)
+	const removeHtmlSub = (value: string) => {
+		var str = value.replace(/<[^>]+>/g, '');
+		if (str.length > 50) return str.substring(0, 50) + '......';
+		else return str;
+	};
+	// 鍘绘帀Html鏍囩
+	const removeHtml = (value: string) => {
+		return value.replace(/<[^>]+>/g, '');
+	};
+	// 鑾峰彇鏋氫妇鎻忚堪
+	const getEnumDesc = (key: any, lstEnum: any) => {
+		return lstEnum.find((x: any) => x.value == key)?.describe;
+	};
+	return {
+		percentFormat,
+		dateFormatYMD,
+		dateFormatYMDHMS,
+		dateFormatHMS,
+		scaleFormat,
+		scale2Format,
+		copyText,
+		removeHtmlSub,
+		removeHtml,
+		getEnumDesc,
+	};
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/constHelper.ts b/LA24030_LuLiPackageLine_Web/src/utils/constHelper.ts
new file mode 100644
index 0000000..b25efd7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/constHelper.ts
@@ -0,0 +1,28 @@
+import type { App } from 'vue';
+import { useUserInfo } from '/@/stores/userInfo';
+
+export function setupConstFilter(app: App) {
+	// 鍏ㄥ眬杩囨护鍣�  鍦╲ue鏂囦欢涓皟鐢�  $filters.codeToName(code,type)
+	app.config.globalProperties.$filters = {
+		codeToName(code: any, type: any) {
+			return codeToName(code, type);
+		},
+	};
+}
+
+// 甯搁噺鍊艰浆鎹�
+export function codeToName(code: any, type: any) {
+	const userStore = useUserInfo();
+	try {
+		const name = userStore.constList.find((x: any) => x.code === type).data.result.find((x: any) => x.code === code)?.name;
+		return name;
+	} catch (error) {
+		return code;
+	}
+}
+
+export function getConstType(type: any) {
+	const userStore = useUserInfo();
+	const constType = userStore.constList.filter((x: any) => x.code === type)[0].data.result;
+	return constType;
+} 
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/dict-utils.ts b/LA24030_LuLiPackageLine_Web/src/utils/dict-utils.ts
new file mode 100644
index 0000000..b33d384
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/dict-utils.ts
@@ -0,0 +1,68 @@
+import { storeToRefs } from 'pinia';
+import { useUserInfo } from '/@/stores/userInfo';
+
+
+const stores = useUserInfo();
+const { dictList } = storeToRefs(stores);
+
+// 鐢ㄤ簬鍦� Table 涓妸瀛楁鐨勪唬鐮佽浆鎹负鍚嶇О锛岀ず渚嬪涓嬶細
+/*
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+
+<el-table-column prop="瀛楁鍚�" label="鎻忚堪" width="140">
+    <template #default="scope">
+    <el-tag :type="di('瀛楀吀鍚嶄唬鐮�', scope.row.credentialsType)?.tagType"> [{{di("瀛楀吀鍚嶄唬鐮�", scope.row.credentialsType)?.code}}]{{di("瀛楀吀鍚嶄唬鐮�", scope.row.credentialsType)?.value}} </el-tag>
+    </template>
+</el-table-column>
+*/
+export function getDictDataItem(dicName:string, dicItemCode:any): any{
+    const dict = dictList.value.filter(item => item.code === dicName);
+    if (dict.length === 0)
+        return null;
+    const dictData = dict[0].children.filter(item => item.code == dicItemCode);
+    if (dictData.length === 0)
+        return null;
+    return dictData[0];
+}
+
+// 鐢ㄤ簬鍦� Table 涓妸瀛楁鐨勪唬鐮佽浆鎹负鍚嶇О锛岀敤Value鍊兼煡璇€�傜ず渚嬪涓嬶細  銆怑ditby shaocx,2024-07-21銆�
+/*
+import { getDictDataItemByValue as diValue, getDictDataList as dl } from '/@/utils/dict-utils';
+
+<el-table-column prop="瀛楁鍚�" label="鎻忚堪" width="140">
+    <template #default="scope">
+    <el-tag :type="di('瀛楀吀鍚嶄唬鐮�', scope.row.credentialsType)?.tagType"> [{{di("瀛楀吀鍚嶄唬鐮�", scope.row.credentialsType)?.code}}]{{di("瀛楀吀鍚嶄唬鐮�", scope.row.credentialsType)?.value}} </el-tag>
+    </template>
+</el-table-column>
+*/
+export function getDictDataItemByValue(dicName:string, dicItemValue:any): any{
+    const dict = dictList.value.filter(item => item.code === dicName);
+    if (dict.length === 0)
+        return null;
+    const dictData = dict[0].children.filter(item => item.value == dicItemValue);
+    if (dictData.length === 0)
+        return null;
+    return dictData[0];
+}
+
+// select 鎺т欢浣跨敤锛岀敤浜庤幏鍙栧瓧鍏稿垪琛紝绀轰緥濡備笅锛�
+/*
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+
+<el-select clearable v-model="ruleForm.瀛楁" placeholder="璇烽�夋嫨璇佷欢鎻愮ず">
+    <el-option v-for="(item,index) in  dl('瀛楁鍚嶅悕鐮�')"  :key="index" :value="item.code" :label="`[${item.code}] ${item.value}`"></el-option>
+</el-select>
+*/
+export function getDictType(dicName:string): any{
+    
+    const dict = dictList.value.filter(item => item.code === dicName);
+    if (dict.length === 0)
+        return null;
+    return dict[0];
+}
+
+export function getDictDataList(dicName:string): any{
+    
+    const result = getDictType(dicName)?.children;
+    return result ?? [];
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/download.ts b/LA24030_LuLiPackageLine_Web/src/utils/download.ts
new file mode 100644
index 0000000..e502fed
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/download.ts
@@ -0,0 +1,108 @@
+import { AxiosResponseHeaders, RawAxiosResponseHeaders } from 'axios';
+import { dataURLtoBlob, urlToBase64 } from './base64Conver';
+
+/**
+ * Download online pictures
+ * @param url
+ * @param filename
+ * @param mime
+ * @param bom
+ */
+export function downloadByOnlineUrl(url: string, filename: string, mime?: string, bom?: BlobPart) {
+	urlToBase64(url).then((base64) => {
+		downloadByBase64(base64, filename, mime, bom);
+	});
+}
+
+/**
+ * Download pictures based on base64
+ * @param buf
+ * @param filename
+ * @param mime
+ * @param bom
+ */
+export function downloadByBase64(buf: string, filename: string, mime?: string, bom?: BlobPart) {
+	const base64Buf = dataURLtoBlob(buf);
+	downloadByData(base64Buf, filename, mime, bom);
+}
+
+/**
+ * Download according to the background interface file stream
+ * @param {*} data
+ * @param {*} filename
+ * @param {*} mime
+ * @param {*} bom
+ */
+export function downloadByData(data: BlobPart, filename: string, mime?: string, bom?: BlobPart) {
+	const blobData = typeof bom !== 'undefined' ? [bom, data] : [data];
+	const blob = new Blob(blobData, { type: mime || 'application/octet-stream' });
+
+	const blobURL = window.URL.createObjectURL(blob);
+	const tempLink = document.createElement('a');
+	tempLink.style.display = 'none';
+	tempLink.href = blobURL;
+	tempLink.setAttribute('download', filename);
+	if (typeof tempLink.download === 'undefined') {
+		tempLink.setAttribute('target', '_blank');
+	}
+	document.body.appendChild(tempLink);
+	tempLink.click();
+	document.body.removeChild(tempLink);
+	window.URL.revokeObjectURL(blobURL);
+}
+
+/**
+ * Download file according to file address
+ * @param {*} sUrl
+ */
+export function downloadByUrl({ url, target = '_blank', fileName }: { url: string; target?: TargetContext; fileName?: string }): boolean {
+	const isChrome = window.navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
+	const isSafari = window.navigator.userAgent.toLowerCase().indexOf('safari') > -1;
+
+	if (/(iP)/g.test(window.navigator.userAgent)) {
+		console.error('Your browser does not support download!');
+		return false;
+	}
+	if (isChrome || isSafari) {
+		const link = document.createElement('a');
+		link.href = url;
+		link.target = target;
+
+		if (link.download !== undefined) {
+			link.download = fileName || url.substring(url.lastIndexOf('/') + 1, url.length);
+		}
+
+		if (document.createEvent) {
+			const e = document.createEvent('MouseEvents');
+			e.initEvent('click', true, true);
+			link.dispatchEvent(e);
+			return true;
+		}
+	}
+	if (url.indexOf('?') === -1) {
+		url += '?download';
+	}
+
+	openWindow(url, { target });
+	return true;
+}
+
+export function openWindow(url: string, opt?: { target?: TargetContext | string; noopener?: boolean; noreferrer?: boolean }) {
+	const { target = '__blank', noopener = true, noreferrer = true } = opt || {};
+	const feature: string[] = [];
+
+	noopener && feature.push('noopener=yes');
+	noreferrer && feature.push('noreferrer=yes');
+
+	window.open(url, target, feature.join(','));
+}
+
+export function getFileName(headers: RawAxiosResponseHeaders | AxiosResponseHeaders) {
+	var fileName = headers['content-disposition'].split(';')[1].split('filename=')[1];
+	var fileNameUnicode = headers['content-disposition'].split('filename*=')[1];
+	if (fileNameUnicode) {
+		//褰撳瓨鍦� filename* 鏃讹紝鍙杅ilename* 骞惰繘琛岃В鐮侊紙涓轰簡瑙e喅涓枃涔辩爜闂锛�
+		fileName = decodeURIComponent(fileNameUnicode.split("''")[1]);
+	}
+	return fileName;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/download2.ts b/LA24030_LuLiPackageLine_Web/src/utils/download2.ts
new file mode 100644
index 0000000..8a7f3a0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/download2.ts
@@ -0,0 +1,17 @@
+export function downloadFile(res:any) {
+	let blob = new Blob([res.data], { type: 'application/octet-stream;charset=UTF-8' })
+	let contentDisposition = res.headers['content-disposition']
+	let pattern = new RegExp('filename=([^;]+\\.[^\.;]+);*')
+	let result = pattern.exec(contentDisposition)
+	let filename = result[1];
+	let downloadElement = document.createElement('a')
+	let href = window.URL.createObjectURL(blob) // 鍒涘缓涓嬭浇鐨勯摼鎺�
+	let reg = /^["](.*)["]$/g
+	downloadElement.style.display = 'none'
+	downloadElement.href = href
+	downloadElement.download = decodeURI(filename.replace(reg, '$1')) // 涓嬭浇鍚庢枃浠跺悕
+	document.body.appendChild(downloadElement)
+	downloadElement.click() // 鐐瑰嚮涓嬭浇
+	document.body.removeChild(downloadElement) // 涓嬭浇瀹屾垚绉婚櫎鍏冪礌
+	window.URL.revokeObjectURL(href)
+  }
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/enum.ts b/LA24030_LuLiPackageLine_Web/src/utils/enum.ts
new file mode 100644
index 0000000..28e2ac1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/enum.ts
@@ -0,0 +1,14896 @@
+// 鏋氫妇绫诲瀷
+interface ItemType {
+    title: string;
+    value: number;
+}
+// 鏋氫妇绫诲瀷
+interface ItemTypeBoalean {
+    title: string;
+    value: boolean;
+}
+//鏄惁鏋氫妇
+export const trueFlaseEnum: ItemTypeBoalean[] = [
+  {
+      title: '鍚�',
+      value: false
+  },
+  {
+      title: '鏄�',
+      value: true
+  }
+]
+
+//浠诲姟绫诲瀷鏋氫妇
+export const taskTypeEnum: ItemType[] = [
+    {
+        title: '鍏ュ簱',
+        value: 0
+    },
+    {
+        title: '鍑哄簱',
+        value: 1
+    }
+]
+
+
+export const myFormsTypeEnum: any[] = [
+  {
+      title: '鍙戣捣',
+      value: '鍙戣捣'
+  },
+  {
+      title: '瀹℃牳',
+      value: '瀹℃牳'
+  }
+]
+
+//浠诲姟鐘舵�佹灇涓�
+export const taskStateEnum: ItemType[] = [
+    {
+        title: '鏈墽琛�',
+        value: 0
+    },
+    {
+        title: '宸叉殏鍋�',
+        value: 1
+    },
+    {
+        title: '鎵ц涓�',
+        value: 2
+    },
+    {
+        title: '宸插畬鎴�',
+        value: 3
+    },
+    {
+        title: '宸插彇娑�',
+        value: 4
+    }
+]
+
+export const taskStateKcEnum: ItemType[] = [
+  {
+      title: '鏈鐞�',
+      value: 0
+  },
+  {
+      title: '澶勭悊涓�',
+      value: 1
+  }
+]
+//涓嬪彂鐘舵��
+export const StateXfEnum: ItemType[] = [
+    {
+        title: '宸蹭笅鍙慦CS',
+        value: 1
+    },
+    {
+        title: '鏈笅鍙慦CS',
+        value: 0
+    }
+]
+
+//鍑哄叆搴撹褰�--绫诲瀷鏋氫妇
+export const outInTypeEnum: ItemType[] = [
+    {
+        title: '鍏ュ簱',
+        value: 0
+    },
+    {
+        title: '鍑哄簱',
+        value: 1
+    }
+]
+
+//搴撲綅鏄惁鑷姩鏋氫妇
+export const isAutoEnum: ItemType[] = [
+    {
+        title: '鍚�',
+        value: 0
+    },
+    {
+        title: '鏄�',
+        value: 1
+    }
+]
+
+
+//閿佸畾鐘舵��
+export const isLockEnum: ItemTypeBoalean[] = [
+    {
+        title: '鍚�',
+        value: false
+    },
+    {
+        title: '鏄�',
+        value: true
+    }
+]
+//宸ュ巶鏋氫妇
+export const factoryEnum: ItemType[] = [
+    {
+        title: '鏄嗗北',
+        value: 1
+    },
+    {
+        title: '姝︽眽',
+        value: 2
+    }
+]
+
+//澶囦欢涓績鏋氫妇
+export const partsEnum: ItemType[] = [
+    {
+        title: '鏄嗗北鐗ч噹澶囦欢涓績',
+        value: 1
+    },
+    {
+        title: ' 姝︽眽鐗ч噹澶囦欢涓績',
+        value: 2
+    }
+]
+//浠撳簱鎵�灞炲湴鍖哄垪琛�
+export const regionEnum: ItemType[] = [
+    {
+        title: '鏄嗗北鐗ч噹',
+        value: 1
+    },
+    {
+        title: '姝︽眽鐗ч噹',
+        value: 2
+    }
+]
+//鏄惁铏氭嫙
+export const isvirtualEnum: ItemType[] = [
+    {
+        title: '鍚�',
+        value: 0
+    },
+    {
+        title: '鏄�',
+        value: 1
+    }
+]
+
+export const sexEnum: ItemType[] = [
+    {
+        title: '鐢�',
+        value: 1
+    },
+    {
+        title: '濂�',
+        value: 2
+    }
+]
+
+//鐘舵��
+export const statusEnum: ItemType[] = [
+    {
+        title: '姝e父',
+        value: 0
+    },
+    {
+        title: '鍐荤粨',
+        value: 1
+    }
+]
+
+export const statusEnum_another: ItemType[] = [
+    {
+        title: '姝e父',
+        value: 0
+    },
+    {
+        title: '鍐荤粨',
+        value: 1
+    },
+]
+
+export const menuTypeList: ItemType[] = [
+    {
+        title: '鐩綍',
+        value: 0
+    },
+    {
+        title: '鑿滃崟',
+        value: 1
+    }
+]
+
+
+export const laneEnums: ItemType[] = [
+    {
+        title: '宸烽亾1',
+        value: 1
+    },
+    {
+        title: '宸烽亾2',
+        value: 2
+    },
+    {
+        title: '宸烽亾3',
+        value: 3
+    },
+    {
+        title: '宸烽亾4',
+        value: 4
+    },
+    {
+        title: '宸烽亾5',
+        value: 5
+    },
+    {
+        title: '宸烽亾6',
+        value: 6
+    },
+    {
+        title: '宸烽亾7',
+        value: 7
+    },
+    {
+        title: '宸烽亾8',
+        value: 8
+    },
+    {
+        title: '宸烽亾9',
+        value: 9
+    },
+    {
+        title: '宸烽亾10',
+        value: 10
+    },
+]
+
+//宸ラ噺鍏峰巻鍙茶褰�--绫诲瀷鏋氫妇
+export const waretoolflowingEnum: ItemType[] = [
+    {
+        title: '鍊熺敤',
+        value: 0
+    },
+    {
+        title: '鎶ュ簾',
+        value: 1
+    },
+    {
+        title: '褰掕繕',
+        value: 2
+    },
+    {
+        title: '鍏ュ簱',
+        value: 3
+    }
+]
+   
+//鐗╂枡绫诲埆  A\B\C绫�
+export  const itemTypeEnumsWl = [
+    {
+      title: "A",
+      value: 'A'
+    },
+    {
+      title: "B",
+      value: 'B'
+    },
+    {
+      title: "C",
+      value: 'C'
+    },
+    {
+      title: "D",
+      value: 'D'
+    }
+  ];
+
+
+  export const provinceAllEnum:any = [
+    "鍖椾含甯�",
+    "澶╂触甯�",
+    "閲嶅簡甯�",
+    "涓婃捣甯�",
+    "娌冲寳鐪�",
+    "灞辫タ鐪�",
+    "杈藉畞鐪�",
+    "鍚夋灄鐪�",
+    "榛戦緳姹熺渷",
+    "姹熻嫃鐪�",
+    "娴欐睙鐪�",
+    "瀹夊窘鐪�",
+    "绂忓缓鐪�",
+    "姹熻タ鐪�",
+    "灞变笢鐪�",
+    "娌冲崡鐪�",
+    "婀栧寳鐪�",
+    "婀栧崡鐪�",
+    "骞夸笢鐪�",
+    "娴峰崡鐪�",
+    "鍥涘窛鐪�",
+    "璐靛窞鐪�",
+    "浜戝崡鐪�",
+    "闄曡タ鐪�",
+    "鐢樿們鐪�",
+    "闈掓捣鐪�",
+    "鍙版咕鐪�",
+    "鍐呰挋鍙�",
+    "骞胯タ",
+    "瀹佸",
+    "鏂扮枂",
+    "瑗胯棌",
+    "棣欐腐",
+    "婢抽棬"
+]
+  
+  export const cityEnumsAll = [
+    {
+      "code": "11",
+      "name": "鍖椾含甯�",
+      "children": [
+        {
+          "code": "1101",
+          "name": "甯傝緰鍖�",
+          "children": [
+            {
+              "code": "110101",
+              "name": "涓滃煄鍖�"
+            },
+            {
+              "code": "110102",
+              "name": "瑗垮煄鍖�"
+            },
+            {
+              "code": "110105",
+              "name": "鏈濋槼鍖�"
+            },
+            {
+              "code": "110106",
+              "name": "涓板彴鍖�"
+            },
+            {
+              "code": "110107",
+              "name": "鐭虫櫙灞卞尯"
+            },
+            {
+              "code": "110108",
+              "name": "娴锋穩鍖�"
+            },
+            {
+              "code": "110109",
+              "name": "闂ㄥご娌熷尯"
+            },
+            {
+              "code": "110111",
+              "name": "鎴垮北鍖�"
+            },
+            {
+              "code": "110112",
+              "name": "閫氬窞鍖�"
+            },
+            {
+              "code": "110113",
+              "name": "椤轰箟鍖�"
+            },
+            {
+              "code": "110114",
+              "name": "鏄屽钩鍖�"
+            },
+            {
+              "code": "110115",
+              "name": "澶у叴鍖�"
+            },
+            {
+              "code": "110116",
+              "name": "鎬�鏌斿尯"
+            },
+            {
+              "code": "110117",
+              "name": "骞宠胺鍖�"
+            },
+            {
+              "code": "110118",
+              "name": "瀵嗕簯鍖�"
+            },
+            {
+              "code": "110119",
+              "name": "寤跺簡鍖�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "12",
+      "name": "澶╂触甯�",
+      "children": [
+        {
+          "code": "1201",
+          "name": "甯傝緰鍖�",
+          "children": [
+            {
+              "code": "120101",
+              "name": "鍜屽钩鍖�"
+            },
+            {
+              "code": "120102",
+              "name": "娌充笢鍖�"
+            },
+            {
+              "code": "120103",
+              "name": "娌宠タ鍖�"
+            },
+            {
+              "code": "120104",
+              "name": "鍗楀紑鍖�"
+            },
+            {
+              "code": "120105",
+              "name": "娌冲寳鍖�"
+            },
+            {
+              "code": "120106",
+              "name": "绾㈡ˉ鍖�"
+            },
+            {
+              "code": "120110",
+              "name": "涓滀附鍖�"
+            },
+            {
+              "code": "120111",
+              "name": "瑗块潚鍖�"
+            },
+            {
+              "code": "120112",
+              "name": "娲ュ崡鍖�"
+            },
+            {
+              "code": "120113",
+              "name": "鍖楄景鍖�"
+            },
+            {
+              "code": "120114",
+              "name": "姝︽竻鍖�"
+            },
+            {
+              "code": "120115",
+              "name": "瀹濆澔鍖�"
+            },
+            {
+              "code": "120116",
+              "name": "婊ㄦ捣鏂板尯"
+            },
+            {
+              "code": "120117",
+              "name": "瀹佹渤鍖�"
+            },
+            {
+              "code": "120118",
+              "name": "闈欐捣鍖�"
+            },
+            {
+              "code": "120119",
+              "name": "钃熷窞鍖�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "13",
+      "name": "娌冲寳鐪�",
+      "children": [
+        {
+          "code": "1301",
+          "name": "鐭冲搴勫競",
+          "children": [
+            {
+              "code": "130102",
+              "name": "闀垮畨鍖�"
+            },
+            {
+              "code": "130104",
+              "name": "妗ヨタ鍖�"
+            },
+            {
+              "code": "130105",
+              "name": "鏂板崕鍖�"
+            },
+            {
+              "code": "130107",
+              "name": "浜曢檳鐭垮尯"
+            },
+            {
+              "code": "130108",
+              "name": "瑁曞崕鍖�"
+            },
+            {
+              "code": "130109",
+              "name": "钘佸煄鍖�"
+            },
+            {
+              "code": "130110",
+              "name": "楣挎硥鍖�"
+            },
+            {
+              "code": "130111",
+              "name": "鏍惧煄鍖�"
+            },
+            {
+              "code": "130121",
+              "name": "浜曢檳鍘�"
+            },
+            {
+              "code": "130123",
+              "name": "姝e畾鍘�"
+            },
+            {
+              "code": "130125",
+              "name": "琛屽攼鍘�"
+            },
+            {
+              "code": "130126",
+              "name": "鐏靛鍘�"
+            },
+            {
+              "code": "130127",
+              "name": "楂橀倯鍘�"
+            },
+            {
+              "code": "130128",
+              "name": "娣辨辰鍘�"
+            },
+            {
+              "code": "130129",
+              "name": "璧炵殗鍘�"
+            },
+            {
+              "code": "130130",
+              "name": "鏃犳瀬鍘�"
+            },
+            {
+              "code": "130131",
+              "name": "骞冲北鍘�"
+            },
+            {
+              "code": "130132",
+              "name": "鍏冩皬鍘�"
+            },
+            {
+              "code": "130133",
+              "name": "璧靛幙"
+            },
+            {
+              "code": "130171",
+              "name": "鐭冲搴勯珮鏂版妧鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "130172",
+              "name": "鐭冲搴勫惊鐜寲宸ュ洯鍖�"
+            },
+            {
+              "code": "130181",
+              "name": "杈涢泦甯�"
+            },
+            {
+              "code": "130183",
+              "name": "鏅嬪窞甯�"
+            },
+            {
+              "code": "130184",
+              "name": "鏂颁箰甯�"
+            }
+          ]
+        },
+        {
+          "code": "1302",
+          "name": "鍞愬北甯�",
+          "children": [
+            {
+              "code": "130202",
+              "name": "璺崡鍖�"
+            },
+            {
+              "code": "130203",
+              "name": "璺寳鍖�"
+            },
+            {
+              "code": "130204",
+              "name": "鍙ゅ喍鍖�"
+            },
+            {
+              "code": "130205",
+              "name": "寮�骞冲尯"
+            },
+            {
+              "code": "130207",
+              "name": "涓板崡鍖�"
+            },
+            {
+              "code": "130208",
+              "name": "涓版鼎鍖�"
+            },
+            {
+              "code": "130209",
+              "name": "鏇瑰鐢稿尯"
+            },
+            {
+              "code": "130224",
+              "name": "婊﹀崡鍘�"
+            },
+            {
+              "code": "130225",
+              "name": "涔愪涵鍘�"
+            },
+            {
+              "code": "130227",
+              "name": "杩佽タ鍘�"
+            },
+            {
+              "code": "130229",
+              "name": "鐜夌敯鍘�"
+            },
+            {
+              "code": "130271",
+              "name": "娌冲寳鍞愬北鑺﹀彴缁忔祹寮�鍙戝尯"
+            },
+            {
+              "code": "130272",
+              "name": "鍞愬北甯傛眽娌界鐞嗗尯"
+            },
+            {
+              "code": "130273",
+              "name": "鍞愬北楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "130274",
+              "name": "娌冲寳鍞愬北娴锋腐缁忔祹寮�鍙戝尯"
+            },
+            {
+              "code": "130281",
+              "name": "閬靛寲甯�"
+            },
+            {
+              "code": "130283",
+              "name": "杩佸畨甯�"
+            },
+            {
+              "code": "130284",
+              "name": "婊﹀窞甯�"
+            }
+          ]
+        },
+        {
+          "code": "1303",
+          "name": "绉︾殗宀涘競",
+          "children": [
+            {
+              "code": "130302",
+              "name": "娴锋腐鍖�"
+            },
+            {
+              "code": "130303",
+              "name": "灞辨捣鍏冲尯"
+            },
+            {
+              "code": "130304",
+              "name": "鍖楁埓娌冲尯"
+            },
+            {
+              "code": "130306",
+              "name": "鎶氬畞鍖�"
+            },
+            {
+              "code": "130321",
+              "name": "闈掗緳婊℃棌鑷不鍘�"
+            },
+            {
+              "code": "130322",
+              "name": "鏄岄粠鍘�"
+            },
+            {
+              "code": "130324",
+              "name": "鍗㈤緳鍘�"
+            },
+            {
+              "code": "130371",
+              "name": "绉︾殗宀涘競缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "130372",
+              "name": "鍖楁埓娌虫柊鍖�"
+            }
+          ]
+        },
+        {
+          "code": "1304",
+          "name": "閭兏甯�",
+          "children": [
+            {
+              "code": "130402",
+              "name": "閭北鍖�"
+            },
+            {
+              "code": "130403",
+              "name": "涓涘彴鍖�"
+            },
+            {
+              "code": "130404",
+              "name": "澶嶅叴鍖�"
+            },
+            {
+              "code": "130406",
+              "name": "宄板嘲鐭垮尯"
+            },
+            {
+              "code": "130407",
+              "name": "鑲ヤ埂鍖�"
+            },
+            {
+              "code": "130408",
+              "name": "姘稿勾鍖�"
+            },
+            {
+              "code": "130423",
+              "name": "涓存汲鍘�"
+            },
+            {
+              "code": "130424",
+              "name": "鎴愬畨鍘�"
+            },
+            {
+              "code": "130425",
+              "name": "澶у悕鍘�"
+            },
+            {
+              "code": "130426",
+              "name": "娑夊幙"
+            },
+            {
+              "code": "130427",
+              "name": "纾佸幙"
+            },
+            {
+              "code": "130430",
+              "name": "閭卞幙"
+            },
+            {
+              "code": "130431",
+              "name": "楦℃辰鍘�"
+            },
+            {
+              "code": "130432",
+              "name": "骞垮钩鍘�"
+            },
+            {
+              "code": "130433",
+              "name": "棣嗛櫠鍘�"
+            },
+            {
+              "code": "130434",
+              "name": "榄忓幙"
+            },
+            {
+              "code": "130435",
+              "name": "鏇插懆鍘�"
+            },
+            {
+              "code": "130471",
+              "name": "閭兏缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "130473",
+              "name": "閭兏鍐�鍗楁柊鍖�"
+            },
+            {
+              "code": "130481",
+              "name": "姝﹀畨甯�"
+            }
+          ]
+        },
+        {
+          "code": "1305",
+          "name": "閭㈠彴甯�",
+          "children": [
+            {
+              "code": "130502",
+              "name": "妗ヤ笢鍖�"
+            },
+            {
+              "code": "130503",
+              "name": "妗ヨタ鍖�"
+            },
+            {
+              "code": "130521",
+              "name": "閭㈠彴鍘�"
+            },
+            {
+              "code": "130522",
+              "name": "涓村煄鍘�"
+            },
+            {
+              "code": "130523",
+              "name": "鍐呬笜鍘�"
+            },
+            {
+              "code": "130524",
+              "name": "鏌忎埂鍘�"
+            },
+            {
+              "code": "130525",
+              "name": "闅嗗哀鍘�"
+            },
+            {
+              "code": "130526",
+              "name": "浠诲幙"
+            },
+            {
+              "code": "130527",
+              "name": "鍗楀拰鍘�"
+            },
+            {
+              "code": "130528",
+              "name": "瀹佹檵鍘�"
+            },
+            {
+              "code": "130529",
+              "name": "宸ㄩ箍鍘�"
+            },
+            {
+              "code": "130530",
+              "name": "鏂版渤鍘�"
+            },
+            {
+              "code": "130531",
+              "name": "骞垮畻鍘�"
+            },
+            {
+              "code": "130532",
+              "name": "骞充埂鍘�"
+            },
+            {
+              "code": "130533",
+              "name": "濞佸幙"
+            },
+            {
+              "code": "130534",
+              "name": "娓呮渤鍘�"
+            },
+            {
+              "code": "130535",
+              "name": "涓磋タ鍘�"
+            },
+            {
+              "code": "130571",
+              "name": "娌冲寳閭㈠彴缁忔祹寮�鍙戝尯"
+            },
+            {
+              "code": "130581",
+              "name": "鍗楀甯�"
+            },
+            {
+              "code": "130582",
+              "name": "娌欐渤甯�"
+            }
+          ]
+        },
+        {
+          "code": "1306",
+          "name": "淇濆畾甯�",
+          "children": [
+            {
+              "code": "130602",
+              "name": "绔炵鍖�"
+            },
+            {
+              "code": "130606",
+              "name": "鑾叉睜鍖�"
+            },
+            {
+              "code": "130607",
+              "name": "婊″煄鍖�"
+            },
+            {
+              "code": "130608",
+              "name": "娓呰嫅鍖�"
+            },
+            {
+              "code": "130609",
+              "name": "寰愭按鍖�"
+            },
+            {
+              "code": "130623",
+              "name": "娑炴按鍘�"
+            },
+            {
+              "code": "130624",
+              "name": "闃滃钩鍘�"
+            },
+            {
+              "code": "130626",
+              "name": "瀹氬叴鍘�"
+            },
+            {
+              "code": "130627",
+              "name": "鍞愬幙"
+            },
+            {
+              "code": "130628",
+              "name": "楂橀槼鍘�"
+            },
+            {
+              "code": "130629",
+              "name": "瀹瑰煄鍘�"
+            },
+            {
+              "code": "130630",
+              "name": "娑炴簮鍘�"
+            },
+            {
+              "code": "130631",
+              "name": "鏈涢兘鍘�"
+            },
+            {
+              "code": "130632",
+              "name": "瀹夋柊鍘�"
+            },
+            {
+              "code": "130633",
+              "name": "鏄撳幙"
+            },
+            {
+              "code": "130634",
+              "name": "鏇查槼鍘�"
+            },
+            {
+              "code": "130635",
+              "name": "锠″幙"
+            },
+            {
+              "code": "130636",
+              "name": "椤哄钩鍘�"
+            },
+            {
+              "code": "130637",
+              "name": "鍗氶噹鍘�"
+            },
+            {
+              "code": "130638",
+              "name": "闆勫幙"
+            },
+            {
+              "code": "130671",
+              "name": "淇濆畾楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "130672",
+              "name": "淇濆畾鐧芥矡鏂板煄"
+            },
+            {
+              "code": "130681",
+              "name": "娑垮窞甯�"
+            },
+            {
+              "code": "130682",
+              "name": "瀹氬窞甯�"
+            },
+            {
+              "code": "130683",
+              "name": "瀹夊浗甯�"
+            },
+            {
+              "code": "130684",
+              "name": "楂樼搴楀競"
+            }
+          ]
+        },
+        {
+          "code": "1307",
+          "name": "寮犲鍙e競",
+          "children": [
+            {
+              "code": "130702",
+              "name": "妗ヤ笢鍖�"
+            },
+            {
+              "code": "130703",
+              "name": "妗ヨタ鍖�"
+            },
+            {
+              "code": "130705",
+              "name": "瀹e寲鍖�"
+            },
+            {
+              "code": "130706",
+              "name": "涓嬭姳鍥尯"
+            },
+            {
+              "code": "130708",
+              "name": "涓囧叏鍖�"
+            },
+            {
+              "code": "130709",
+              "name": "宕囩ぜ鍖�"
+            },
+            {
+              "code": "130722",
+              "name": "寮犲寳鍘�"
+            },
+            {
+              "code": "130723",
+              "name": "搴蜂繚鍘�"
+            },
+            {
+              "code": "130724",
+              "name": "娌芥簮鍘�"
+            },
+            {
+              "code": "130725",
+              "name": "灏氫箟鍘�"
+            },
+            {
+              "code": "130726",
+              "name": "钄氬幙"
+            },
+            {
+              "code": "130727",
+              "name": "闃冲師鍘�"
+            },
+            {
+              "code": "130728",
+              "name": "鎬�瀹夊幙"
+            },
+            {
+              "code": "130730",
+              "name": "鎬�鏉ュ幙"
+            },
+            {
+              "code": "130731",
+              "name": "娑块箍鍘�"
+            },
+            {
+              "code": "130732",
+              "name": "璧ゅ煄鍘�"
+            },
+            {
+              "code": "130771",
+              "name": "寮犲鍙g粡娴庡紑鍙戝尯"
+            },
+            {
+              "code": "130772",
+              "name": "寮犲鍙e競瀵熷寳绠$悊鍖�"
+            },
+            {
+              "code": "130773",
+              "name": "寮犲鍙e競濉炲寳绠$悊鍖�"
+            }
+          ]
+        },
+        {
+          "code": "1308",
+          "name": "鎵垮痉甯�",
+          "children": [
+            {
+              "code": "130802",
+              "name": "鍙屾ˉ鍖�"
+            },
+            {
+              "code": "130803",
+              "name": "鍙屾沪鍖�"
+            },
+            {
+              "code": "130804",
+              "name": "楣版墜钀ュ瓙鐭垮尯"
+            },
+            {
+              "code": "130821",
+              "name": "鎵垮痉鍘�"
+            },
+            {
+              "code": "130822",
+              "name": "鍏撮殕鍘�"
+            },
+            {
+              "code": "130824",
+              "name": "婊﹀钩鍘�"
+            },
+            {
+              "code": "130825",
+              "name": "闅嗗寲鍘�"
+            },
+            {
+              "code": "130826",
+              "name": "涓板畞婊℃棌鑷不鍘�"
+            },
+            {
+              "code": "130827",
+              "name": "瀹藉煄婊℃棌鑷不鍘�"
+            },
+            {
+              "code": "130828",
+              "name": "鍥村満婊℃棌钂欏彜鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "130871",
+              "name": "鎵垮痉楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "130881",
+              "name": "骞虫硥甯�"
+            }
+          ]
+        },
+        {
+          "code": "1309",
+          "name": "娌у窞甯�",
+          "children": [
+            {
+              "code": "130902",
+              "name": "鏂板崕鍖�"
+            },
+            {
+              "code": "130903",
+              "name": "杩愭渤鍖�"
+            },
+            {
+              "code": "130921",
+              "name": "娌у幙"
+            },
+            {
+              "code": "130922",
+              "name": "闈掑幙"
+            },
+            {
+              "code": "130923",
+              "name": "涓滃厜鍘�"
+            },
+            {
+              "code": "130924",
+              "name": "娴峰叴鍘�"
+            },
+            {
+              "code": "130925",
+              "name": "鐩愬北鍘�"
+            },
+            {
+              "code": "130926",
+              "name": "鑲冨畞鍘�"
+            },
+            {
+              "code": "130927",
+              "name": "鍗楃毊鍘�"
+            },
+            {
+              "code": "130928",
+              "name": "鍚存ˉ鍘�"
+            },
+            {
+              "code": "130929",
+              "name": "鐚幙"
+            },
+            {
+              "code": "130930",
+              "name": "瀛熸潙鍥炴棌鑷不鍘�"
+            },
+            {
+              "code": "130971",
+              "name": "娌冲寳娌у窞缁忔祹寮�鍙戝尯"
+            },
+            {
+              "code": "130972",
+              "name": "娌у窞楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "130973",
+              "name": "娌у窞娓ゆ捣鏂板尯"
+            },
+            {
+              "code": "130981",
+              "name": "娉婂ご甯�"
+            },
+            {
+              "code": "130982",
+              "name": "浠讳笜甯�"
+            },
+            {
+              "code": "130983",
+              "name": "榛勯獏甯�"
+            },
+            {
+              "code": "130984",
+              "name": "娌抽棿甯�"
+            }
+          ]
+        },
+        {
+          "code": "1310",
+          "name": "寤婂潑甯�",
+          "children": [
+            {
+              "code": "131002",
+              "name": "瀹夋鍖�"
+            },
+            {
+              "code": "131003",
+              "name": "骞块槼鍖�"
+            },
+            {
+              "code": "131022",
+              "name": "鍥哄畨鍘�"
+            },
+            {
+              "code": "131023",
+              "name": "姘告竻鍘�"
+            },
+            {
+              "code": "131024",
+              "name": "棣欐渤鍘�"
+            },
+            {
+              "code": "131025",
+              "name": "澶у煄鍘�"
+            },
+            {
+              "code": "131026",
+              "name": "鏂囧畨鍘�"
+            },
+            {
+              "code": "131028",
+              "name": "澶у巶鍥炴棌鑷不鍘�"
+            },
+            {
+              "code": "131071",
+              "name": "寤婂潑缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "131081",
+              "name": "闇稿窞甯�"
+            },
+            {
+              "code": "131082",
+              "name": "涓夋渤甯�"
+            }
+          ]
+        },
+        {
+          "code": "1311",
+          "name": "琛℃按甯�",
+          "children": [
+            {
+              "code": "131102",
+              "name": "妗冨煄鍖�"
+            },
+            {
+              "code": "131103",
+              "name": "鍐�宸炲尯"
+            },
+            {
+              "code": "131121",
+              "name": "鏋e己鍘�"
+            },
+            {
+              "code": "131122",
+              "name": "姝﹂倯鍘�"
+            },
+            {
+              "code": "131123",
+              "name": "姝﹀己鍘�"
+            },
+            {
+              "code": "131124",
+              "name": "楗堕槼鍘�"
+            },
+            {
+              "code": "131125",
+              "name": "瀹夊钩鍘�"
+            },
+            {
+              "code": "131126",
+              "name": "鏁呭煄鍘�"
+            },
+            {
+              "code": "131127",
+              "name": "鏅幙"
+            },
+            {
+              "code": "131128",
+              "name": "闃滃煄鍘�"
+            },
+            {
+              "code": "131171",
+              "name": "娌冲寳琛℃按楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "131172",
+              "name": "琛℃按婊ㄦ箹鏂板尯"
+            },
+            {
+              "code": "131182",
+              "name": "娣卞窞甯�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "14",
+      "name": "灞辫タ鐪�",
+      "children": [
+        {
+          "code": "1401",
+          "name": "澶師甯�",
+          "children": [
+            {
+              "code": "140105",
+              "name": "灏忓簵鍖�"
+            },
+            {
+              "code": "140106",
+              "name": "杩庢辰鍖�"
+            },
+            {
+              "code": "140107",
+              "name": "鏉忚姳宀尯"
+            },
+            {
+              "code": "140108",
+              "name": "灏栬崏鍧尯"
+            },
+            {
+              "code": "140109",
+              "name": "涓囨煆鏋楀尯"
+            },
+            {
+              "code": "140110",
+              "name": "鏅嬫簮鍖�"
+            },
+            {
+              "code": "140121",
+              "name": "娓呭緪鍘�"
+            },
+            {
+              "code": "140122",
+              "name": "闃虫洸鍘�"
+            },
+            {
+              "code": "140123",
+              "name": "濞勭儲鍘�"
+            },
+            {
+              "code": "140171",
+              "name": "灞辫タ杞瀷缁煎悎鏀归潻绀鸿寖鍖�"
+            },
+            {
+              "code": "140181",
+              "name": "鍙や氦甯�"
+            }
+          ]
+        },
+        {
+          "code": "1402",
+          "name": "澶у悓甯�",
+          "children": [
+            {
+              "code": "140212",
+              "name": "鏂拌崳鍖�"
+            },
+            {
+              "code": "140213",
+              "name": "骞冲煄鍖�"
+            },
+            {
+              "code": "140214",
+              "name": "浜戝唸鍖�"
+            },
+            {
+              "code": "140215",
+              "name": "浜戝窞鍖�"
+            },
+            {
+              "code": "140221",
+              "name": "闃抽珮鍘�"
+            },
+            {
+              "code": "140222",
+              "name": "澶╅晣鍘�"
+            },
+            {
+              "code": "140223",
+              "name": "骞跨伒鍘�"
+            },
+            {
+              "code": "140224",
+              "name": "鐏典笜鍘�"
+            },
+            {
+              "code": "140225",
+              "name": "娴戞簮鍘�"
+            },
+            {
+              "code": "140226",
+              "name": "宸︿簯鍘�"
+            },
+            {
+              "code": "140271",
+              "name": "灞辫タ澶у悓缁忔祹寮�鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "1403",
+          "name": "闃虫硥甯�",
+          "children": [
+            {
+              "code": "140302",
+              "name": "鍩庡尯"
+            },
+            {
+              "code": "140303",
+              "name": "鐭垮尯"
+            },
+            {
+              "code": "140311",
+              "name": "閮婂尯"
+            },
+            {
+              "code": "140321",
+              "name": "骞冲畾鍘�"
+            },
+            {
+              "code": "140322",
+              "name": "鐩傚幙"
+            }
+          ]
+        },
+        {
+          "code": "1404",
+          "name": "闀挎不甯�",
+          "children": [
+            {
+              "code": "140403",
+              "name": "娼炲窞鍖�"
+            },
+            {
+              "code": "140404",
+              "name": "涓婂厷鍖�"
+            },
+            {
+              "code": "140405",
+              "name": "灞暀鍖�"
+            },
+            {
+              "code": "140406",
+              "name": "娼炲煄鍖�"
+            },
+            {
+              "code": "140423",
+              "name": "瑗勫灒鍘�"
+            },
+            {
+              "code": "140425",
+              "name": "骞抽『鍘�"
+            },
+            {
+              "code": "140426",
+              "name": "榛庡煄鍘�"
+            },
+            {
+              "code": "140427",
+              "name": "澹跺叧鍘�"
+            },
+            {
+              "code": "140428",
+              "name": "闀垮瓙鍘�"
+            },
+            {
+              "code": "140429",
+              "name": "姝︿埂鍘�"
+            },
+            {
+              "code": "140430",
+              "name": "娌佸幙"
+            },
+            {
+              "code": "140431",
+              "name": "娌佹簮鍘�"
+            },
+            {
+              "code": "140471",
+              "name": "灞辫タ闀挎不楂樻柊鎶�鏈骇涓氬洯鍖�"
+            }
+          ]
+        },
+        {
+          "code": "1405",
+          "name": "鏅嬪煄甯�",
+          "children": [
+            {
+              "code": "140502",
+              "name": "鍩庡尯"
+            },
+            {
+              "code": "140521",
+              "name": "娌佹按鍘�"
+            },
+            {
+              "code": "140522",
+              "name": "闃冲煄鍘�"
+            },
+            {
+              "code": "140524",
+              "name": "闄靛窛鍘�"
+            },
+            {
+              "code": "140525",
+              "name": "娉藉窞鍘�"
+            },
+            {
+              "code": "140581",
+              "name": "楂樺钩甯�"
+            }
+          ]
+        },
+        {
+          "code": "1406",
+          "name": "鏈斿窞甯�",
+          "children": [
+            {
+              "code": "140602",
+              "name": "鏈斿煄鍖�"
+            },
+            {
+              "code": "140603",
+              "name": "骞抽瞾鍖�"
+            },
+            {
+              "code": "140621",
+              "name": "灞遍槾鍘�"
+            },
+            {
+              "code": "140622",
+              "name": "搴斿幙"
+            },
+            {
+              "code": "140623",
+              "name": "鍙崇帀鍘�"
+            },
+            {
+              "code": "140671",
+              "name": "灞辫タ鏈斿窞缁忔祹寮�鍙戝尯"
+            },
+            {
+              "code": "140681",
+              "name": "鎬�浠佸競"
+            }
+          ]
+        },
+        {
+          "code": "1407",
+          "name": "鏅嬩腑甯�",
+          "children": [
+            {
+              "code": "140702",
+              "name": "姒嗘鍖�"
+            },
+            {
+              "code": "140721",
+              "name": "姒嗙ぞ鍘�"
+            },
+            {
+              "code": "140722",
+              "name": "宸︽潈鍘�"
+            },
+            {
+              "code": "140723",
+              "name": "鍜岄『鍘�"
+            },
+            {
+              "code": "140724",
+              "name": "鏄旈槼鍘�"
+            },
+            {
+              "code": "140725",
+              "name": "瀵块槼鍘�"
+            },
+            {
+              "code": "140726",
+              "name": "澶胺鍘�"
+            },
+            {
+              "code": "140727",
+              "name": "绁佸幙"
+            },
+            {
+              "code": "140728",
+              "name": "骞抽仴鍘�"
+            },
+            {
+              "code": "140729",
+              "name": "鐏电煶鍘�"
+            },
+            {
+              "code": "140781",
+              "name": "浠嬩紤甯�"
+            }
+          ]
+        },
+        {
+          "code": "1408",
+          "name": "杩愬煄甯�",
+          "children": [
+            {
+              "code": "140802",
+              "name": "鐩愭箹鍖�"
+            },
+            {
+              "code": "140821",
+              "name": "涓寸寳鍘�"
+            },
+            {
+              "code": "140822",
+              "name": "涓囪崳鍘�"
+            },
+            {
+              "code": "140823",
+              "name": "闂诲枩鍘�"
+            },
+            {
+              "code": "140824",
+              "name": "绋峰北鍘�"
+            },
+            {
+              "code": "140825",
+              "name": "鏂扮粵鍘�"
+            },
+            {
+              "code": "140826",
+              "name": "缁涘幙"
+            },
+            {
+              "code": "140827",
+              "name": "鍨f洸鍘�"
+            },
+            {
+              "code": "140828",
+              "name": "澶忓幙"
+            },
+            {
+              "code": "140829",
+              "name": "骞抽檰鍘�"
+            },
+            {
+              "code": "140830",
+              "name": "鑺煄鍘�"
+            },
+            {
+              "code": "140881",
+              "name": "姘告祹甯�"
+            },
+            {
+              "code": "140882",
+              "name": "娌虫触甯�"
+            }
+          ]
+        },
+        {
+          "code": "1409",
+          "name": "蹇诲窞甯�",
+          "children": [
+            {
+              "code": "140902",
+              "name": "蹇诲簻鍖�"
+            },
+            {
+              "code": "140921",
+              "name": "瀹氳鍘�"
+            },
+            {
+              "code": "140922",
+              "name": "浜斿彴鍘�"
+            },
+            {
+              "code": "140923",
+              "name": "浠e幙"
+            },
+            {
+              "code": "140924",
+              "name": "绻佸硻鍘�"
+            },
+            {
+              "code": "140925",
+              "name": "瀹佹鍘�"
+            },
+            {
+              "code": "140926",
+              "name": "闈欎箰鍘�"
+            },
+            {
+              "code": "140927",
+              "name": "绁炴睜鍘�"
+            },
+            {
+              "code": "140928",
+              "name": "浜斿鍘�"
+            },
+            {
+              "code": "140929",
+              "name": "宀㈠矚鍘�"
+            },
+            {
+              "code": "140930",
+              "name": "娌虫洸鍘�"
+            },
+            {
+              "code": "140931",
+              "name": "淇濆痉鍘�"
+            },
+            {
+              "code": "140932",
+              "name": "鍋忓叧鍘�"
+            },
+            {
+              "code": "140971",
+              "name": "浜斿彴灞遍鏅悕鑳滃尯"
+            },
+            {
+              "code": "140981",
+              "name": "鍘熷钩甯�"
+            }
+          ]
+        },
+        {
+          "code": "1410",
+          "name": "涓存本甯�",
+          "children": [
+            {
+              "code": "141002",
+              "name": "灏ч兘鍖�"
+            },
+            {
+              "code": "141021",
+              "name": "鏇叉矁鍘�"
+            },
+            {
+              "code": "141022",
+              "name": "缈煎煄鍘�"
+            },
+            {
+              "code": "141023",
+              "name": "瑗勬本鍘�"
+            },
+            {
+              "code": "141024",
+              "name": "娲礊鍘�"
+            },
+            {
+              "code": "141025",
+              "name": "鍙ゅ幙"
+            },
+            {
+              "code": "141026",
+              "name": "瀹夋辰鍘�"
+            },
+            {
+              "code": "141027",
+              "name": "娴北鍘�"
+            },
+            {
+              "code": "141028",
+              "name": "鍚夊幙"
+            },
+            {
+              "code": "141029",
+              "name": "涔″畞鍘�"
+            },
+            {
+              "code": "141030",
+              "name": "澶у畞鍘�"
+            },
+            {
+              "code": "141031",
+              "name": "闅板幙"
+            },
+            {
+              "code": "141032",
+              "name": "姘稿拰鍘�"
+            },
+            {
+              "code": "141033",
+              "name": "钂插幙"
+            },
+            {
+              "code": "141034",
+              "name": "姹捐タ鍘�"
+            },
+            {
+              "code": "141081",
+              "name": "渚┈甯�"
+            },
+            {
+              "code": "141082",
+              "name": "闇嶅窞甯�"
+            }
+          ]
+        },
+        {
+          "code": "1411",
+          "name": "鍚曟甯�",
+          "children": [
+            {
+              "code": "141102",
+              "name": "绂荤煶鍖�"
+            },
+            {
+              "code": "141121",
+              "name": "鏂囨按鍘�"
+            },
+            {
+              "code": "141122",
+              "name": "浜ゅ煄鍘�"
+            },
+            {
+              "code": "141123",
+              "name": "鍏村幙"
+            },
+            {
+              "code": "141124",
+              "name": "涓村幙"
+            },
+            {
+              "code": "141125",
+              "name": "鏌虫灄鍘�"
+            },
+            {
+              "code": "141126",
+              "name": "鐭虫ゼ鍘�"
+            },
+            {
+              "code": "141127",
+              "name": "宀氬幙"
+            },
+            {
+              "code": "141128",
+              "name": "鏂瑰北鍘�"
+            },
+            {
+              "code": "141129",
+              "name": "涓槼鍘�"
+            },
+            {
+              "code": "141130",
+              "name": "浜ゅ彛鍘�"
+            },
+            {
+              "code": "141181",
+              "name": "瀛濅箟甯�"
+            },
+            {
+              "code": "141182",
+              "name": "姹鹃槼甯�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "15",
+      "name": "鍐呰挋鍙よ嚜娌诲尯",
+      "children": [
+        {
+          "code": "1501",
+          "name": "鍛煎拰娴╃壒甯�",
+          "children": [
+            {
+              "code": "150102",
+              "name": "鏂板煄鍖�"
+            },
+            {
+              "code": "150103",
+              "name": "鍥炴皯鍖�"
+            },
+            {
+              "code": "150104",
+              "name": "鐜夋硥鍖�"
+            },
+            {
+              "code": "150105",
+              "name": "璧涚綍鍖�"
+            },
+            {
+              "code": "150121",
+              "name": "鍦熼粯鐗瑰乏鏃�"
+            },
+            {
+              "code": "150122",
+              "name": "鎵樺厠鎵樺幙"
+            },
+            {
+              "code": "150123",
+              "name": "鍜屾灄鏍煎皵鍘�"
+            },
+            {
+              "code": "150124",
+              "name": "娓呮按娌冲幙"
+            },
+            {
+              "code": "150125",
+              "name": "姝﹀窛鍘�"
+            },
+            {
+              "code": "150171",
+              "name": "鍛煎拰娴╃壒閲戞捣宸ヤ笟鍥尯"
+            },
+            {
+              "code": "150172",
+              "name": "鍛煎拰娴╃壒缁忔祹鎶�鏈紑鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "1502",
+          "name": "鍖呭ご甯�",
+          "children": [
+            {
+              "code": "150202",
+              "name": "涓滄渤鍖�"
+            },
+            {
+              "code": "150203",
+              "name": "鏄嗛兘浠戝尯"
+            },
+            {
+              "code": "150204",
+              "name": "闈掑北鍖�"
+            },
+            {
+              "code": "150205",
+              "name": "鐭虫嫄鍖�"
+            },
+            {
+              "code": "150206",
+              "name": "鐧戒簯閯傚崥鐭垮尯"
+            },
+            {
+              "code": "150207",
+              "name": "涔濆師鍖�"
+            },
+            {
+              "code": "150221",
+              "name": "鍦熼粯鐗瑰彸鏃�"
+            },
+            {
+              "code": "150222",
+              "name": "鍥洪槼鍘�"
+            },
+            {
+              "code": "150223",
+              "name": "杈惧皵缃曡寕鏄庡畨鑱斿悎鏃�"
+            },
+            {
+              "code": "150271",
+              "name": "鍖呭ご绋�鍦熼珮鏂版妧鏈骇涓氬紑鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "1503",
+          "name": "涔屾捣甯�",
+          "children": [
+            {
+              "code": "150302",
+              "name": "娴峰媰婀惧尯"
+            },
+            {
+              "code": "150303",
+              "name": "娴峰崡鍖�"
+            },
+            {
+              "code": "150304",
+              "name": "涔岃揪鍖�"
+            }
+          ]
+        },
+        {
+          "code": "1504",
+          "name": "璧ゅ嘲甯�",
+          "children": [
+            {
+              "code": "150402",
+              "name": "绾㈠北鍖�"
+            },
+            {
+              "code": "150403",
+              "name": "鍏冨疂灞卞尯"
+            },
+            {
+              "code": "150404",
+              "name": "鏉惧北鍖�"
+            },
+            {
+              "code": "150421",
+              "name": "闃块瞾绉戝皵娌佹棗"
+            },
+            {
+              "code": "150422",
+              "name": "宸存灄宸︽棗"
+            },
+            {
+              "code": "150423",
+              "name": "宸存灄鍙虫棗"
+            },
+            {
+              "code": "150424",
+              "name": "鏋楄タ鍘�"
+            },
+            {
+              "code": "150425",
+              "name": "鍏嬩粈鍏嬭吘鏃�"
+            },
+            {
+              "code": "150426",
+              "name": "缈佺墰鐗规棗"
+            },
+            {
+              "code": "150428",
+              "name": "鍠�鍠囨瞾鏃�"
+            },
+            {
+              "code": "150429",
+              "name": "瀹佸煄鍘�"
+            },
+            {
+              "code": "150430",
+              "name": "鏁栨眽鏃�"
+            }
+          ]
+        },
+        {
+          "code": "1505",
+          "name": "閫氳窘甯�",
+          "children": [
+            {
+              "code": "150502",
+              "name": "绉戝皵娌佸尯"
+            },
+            {
+              "code": "150521",
+              "name": "绉戝皵娌佸乏缈间腑鏃�"
+            },
+            {
+              "code": "150522",
+              "name": "绉戝皵娌佸乏缈煎悗鏃�"
+            },
+            {
+              "code": "150523",
+              "name": "寮�椴佸幙"
+            },
+            {
+              "code": "150524",
+              "name": "搴撲鸡鏃�"
+            },
+            {
+              "code": "150525",
+              "name": "濂堟浖鏃�"
+            },
+            {
+              "code": "150526",
+              "name": "鎵庨瞾鐗规棗"
+            },
+            {
+              "code": "150571",
+              "name": "閫氳窘缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "150581",
+              "name": "闇嶆灄閮嫆甯�"
+            }
+          ]
+        },
+        {
+          "code": "1506",
+          "name": "閯傚皵澶氭柉甯�",
+          "children": [
+            {
+              "code": "150602",
+              "name": "涓滆儨鍖�"
+            },
+            {
+              "code": "150603",
+              "name": "搴峰反浠�鍖�"
+            },
+            {
+              "code": "150621",
+              "name": "杈炬媺鐗规棗"
+            },
+            {
+              "code": "150622",
+              "name": "鍑嗘牸灏旀棗"
+            },
+            {
+              "code": "150623",
+              "name": "閯傛墭鍏嬪墠鏃�"
+            },
+            {
+              "code": "150624",
+              "name": "閯傛墭鍏嬫棗"
+            },
+            {
+              "code": "150625",
+              "name": "鏉敠鏃�"
+            },
+            {
+              "code": "150626",
+              "name": "涔屽鏃�"
+            },
+            {
+              "code": "150627",
+              "name": "浼婇噾闇嶆礇鏃�"
+            }
+          ]
+        },
+        {
+          "code": "1507",
+          "name": "鍛间鸡璐濆皵甯�",
+          "children": [
+            {
+              "code": "150702",
+              "name": "娴锋媺灏斿尯"
+            },
+            {
+              "code": "150703",
+              "name": "鎵庤祲璇哄皵鍖�"
+            },
+            {
+              "code": "150721",
+              "name": "闃胯崳鏃�"
+            },
+            {
+              "code": "150722",
+              "name": "鑾姏杈剧摝杈炬枴灏旀棌鑷不鏃�"
+            },
+            {
+              "code": "150723",
+              "name": "閯備鸡鏄ヨ嚜娌绘棗"
+            },
+            {
+              "code": "150724",
+              "name": "閯傛俯鍏嬫棌鑷不鏃�"
+            },
+            {
+              "code": "150725",
+              "name": "闄堝反灏旇檸鏃�"
+            },
+            {
+              "code": "150726",
+              "name": "鏂板反灏旇檸宸︽棗"
+            },
+            {
+              "code": "150727",
+              "name": "鏂板反灏旇檸鍙虫棗"
+            },
+            {
+              "code": "150781",
+              "name": "婊℃床閲屽競"
+            },
+            {
+              "code": "150782",
+              "name": "鐗欏厠鐭冲競"
+            },
+            {
+              "code": "150783",
+              "name": "鎵庡叞灞競"
+            },
+            {
+              "code": "150784",
+              "name": "棰濆皵鍙ょ撼甯�"
+            },
+            {
+              "code": "150785",
+              "name": "鏍规渤甯�"
+            }
+          ]
+        },
+        {
+          "code": "1508",
+          "name": "宸村溅娣栧皵甯�",
+          "children": [
+            {
+              "code": "150802",
+              "name": "涓存渤鍖�"
+            },
+            {
+              "code": "150821",
+              "name": "浜斿師鍘�"
+            },
+            {
+              "code": "150822",
+              "name": "纾村彛鍘�"
+            },
+            {
+              "code": "150823",
+              "name": "涔屾媺鐗瑰墠鏃�"
+            },
+            {
+              "code": "150824",
+              "name": "涔屾媺鐗逛腑鏃�"
+            },
+            {
+              "code": "150825",
+              "name": "涔屾媺鐗瑰悗鏃�"
+            },
+            {
+              "code": "150826",
+              "name": "鏉敠鍚庢棗"
+            }
+          ]
+        },
+        {
+          "code": "1509",
+          "name": "涔屽叞瀵熷竷甯�",
+          "children": [
+            {
+              "code": "150902",
+              "name": "闆嗗畞鍖�"
+            },
+            {
+              "code": "150921",
+              "name": "鍗撹祫鍘�"
+            },
+            {
+              "code": "150922",
+              "name": "鍖栧痉鍘�"
+            },
+            {
+              "code": "150923",
+              "name": "鍟嗛兘鍘�"
+            },
+            {
+              "code": "150924",
+              "name": "鍏村拰鍘�"
+            },
+            {
+              "code": "150925",
+              "name": "鍑夊煄鍘�"
+            },
+            {
+              "code": "150926",
+              "name": "瀵熷搱灏斿彸缈煎墠鏃�"
+            },
+            {
+              "code": "150927",
+              "name": "瀵熷搱灏斿彸缈间腑鏃�"
+            },
+            {
+              "code": "150928",
+              "name": "瀵熷搱灏斿彸缈煎悗鏃�"
+            },
+            {
+              "code": "150929",
+              "name": "鍥涘瓙鐜嬫棗"
+            },
+            {
+              "code": "150981",
+              "name": "涓伴晣甯�"
+            }
+          ]
+        },
+        {
+          "code": "1522",
+          "name": "鍏村畨鐩�",
+          "children": [
+            {
+              "code": "152201",
+              "name": "涔屽叞娴╃壒甯�"
+            },
+            {
+              "code": "152202",
+              "name": "闃垮皵灞卞競"
+            },
+            {
+              "code": "152221",
+              "name": "绉戝皵娌佸彸缈煎墠鏃�"
+            },
+            {
+              "code": "152222",
+              "name": "绉戝皵娌佸彸缈间腑鏃�"
+            },
+            {
+              "code": "152223",
+              "name": "鎵庤祲鐗规棗"
+            },
+            {
+              "code": "152224",
+              "name": "绐佹硥鍘�"
+            }
+          ]
+        },
+        {
+          "code": "1525",
+          "name": "閿℃灄閮嫆鐩�",
+          "children": [
+            {
+              "code": "152501",
+              "name": "浜岃繛娴╃壒甯�"
+            },
+            {
+              "code": "152502",
+              "name": "閿℃灄娴╃壒甯�"
+            },
+            {
+              "code": "152522",
+              "name": "闃垮反鍢庢棗"
+            },
+            {
+              "code": "152523",
+              "name": "鑻忓凹鐗瑰乏鏃�"
+            },
+            {
+              "code": "152524",
+              "name": "鑻忓凹鐗瑰彸鏃�"
+            },
+            {
+              "code": "152525",
+              "name": "涓滀箤鐝犵﹩娌佹棗"
+            },
+            {
+              "code": "152526",
+              "name": "瑗夸箤鐝犵﹩娌佹棗"
+            },
+            {
+              "code": "152527",
+              "name": "澶粏瀵烘棗"
+            },
+            {
+              "code": "152528",
+              "name": "闀堕粍鏃�"
+            },
+            {
+              "code": "152529",
+              "name": "姝i暥鐧芥棗"
+            },
+            {
+              "code": "152530",
+              "name": "姝h摑鏃�"
+            },
+            {
+              "code": "152531",
+              "name": "澶氫鸡鍘�"
+            },
+            {
+              "code": "152571",
+              "name": "涔屾媺鐩栫濮斾細"
+            }
+          ]
+        },
+        {
+          "code": "1529",
+          "name": "闃挎媺鍠勭洘",
+          "children": [
+            {
+              "code": "152921",
+              "name": "闃挎媺鍠勫乏鏃�"
+            },
+            {
+              "code": "152922",
+              "name": "闃挎媺鍠勫彸鏃�"
+            },
+            {
+              "code": "152923",
+              "name": "棰濇祹绾虫棗"
+            },
+            {
+              "code": "152971",
+              "name": "鍐呰挋鍙ら樋鎷夊杽缁忔祹寮�鍙戝尯"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "21",
+      "name": "杈藉畞鐪�",
+      "children": [
+        {
+          "code": "2101",
+          "name": "娌堥槼甯�",
+          "children": [
+            {
+              "code": "210102",
+              "name": "鍜屽钩鍖�"
+            },
+            {
+              "code": "210103",
+              "name": "娌堟渤鍖�"
+            },
+            {
+              "code": "210104",
+              "name": "澶т笢鍖�"
+            },
+            {
+              "code": "210105",
+              "name": "鐨囧鍖�"
+            },
+            {
+              "code": "210106",
+              "name": "閾佽タ鍖�"
+            },
+            {
+              "code": "210111",
+              "name": "鑻忓灞尯"
+            },
+            {
+              "code": "210112",
+              "name": "娴戝崡鍖�"
+            },
+            {
+              "code": "210113",
+              "name": "娌堝寳鏂板尯"
+            },
+            {
+              "code": "210114",
+              "name": "浜庢椽鍖�"
+            },
+            {
+              "code": "210115",
+              "name": "杈戒腑鍖�"
+            },
+            {
+              "code": "210123",
+              "name": "搴峰钩鍘�"
+            },
+            {
+              "code": "210124",
+              "name": "娉曞簱鍘�"
+            },
+            {
+              "code": "210181",
+              "name": "鏂版皯甯�"
+            }
+          ]
+        },
+        {
+          "code": "2102",
+          "name": "澶ц繛甯�",
+          "children": [
+            {
+              "code": "210202",
+              "name": "涓北鍖�"
+            },
+            {
+              "code": "210203",
+              "name": "瑗垮矖鍖�"
+            },
+            {
+              "code": "210204",
+              "name": "娌欐渤鍙e尯"
+            },
+            {
+              "code": "210211",
+              "name": "鐢樹簳瀛愬尯"
+            },
+            {
+              "code": "210212",
+              "name": "鏃呴『鍙e尯"
+            },
+            {
+              "code": "210213",
+              "name": "閲戝窞鍖�"
+            },
+            {
+              "code": "210214",
+              "name": "鏅叞搴楀尯"
+            },
+            {
+              "code": "210224",
+              "name": "闀挎捣鍘�"
+            },
+            {
+              "code": "210281",
+              "name": "鐡︽埧搴楀競"
+            },
+            {
+              "code": "210283",
+              "name": "搴勬渤甯�"
+            }
+          ]
+        },
+        {
+          "code": "2103",
+          "name": "闉嶅北甯�",
+          "children": [
+            {
+              "code": "210302",
+              "name": "閾佷笢鍖�"
+            },
+            {
+              "code": "210303",
+              "name": "閾佽タ鍖�"
+            },
+            {
+              "code": "210304",
+              "name": "绔嬪北鍖�"
+            },
+            {
+              "code": "210311",
+              "name": "鍗冨北鍖�"
+            },
+            {
+              "code": "210321",
+              "name": "鍙板畨鍘�"
+            },
+            {
+              "code": "210323",
+              "name": "宀博婊℃棌鑷不鍘�"
+            },
+            {
+              "code": "210381",
+              "name": "娴峰煄甯�"
+            }
+          ]
+        },
+        {
+          "code": "2104",
+          "name": "鎶氶『甯�",
+          "children": [
+            {
+              "code": "210402",
+              "name": "鏂版姎鍖�"
+            },
+            {
+              "code": "210403",
+              "name": "涓滄床鍖�"
+            },
+            {
+              "code": "210404",
+              "name": "鏈涜姳鍖�"
+            },
+            {
+              "code": "210411",
+              "name": "椤哄煄鍖�"
+            },
+            {
+              "code": "210421",
+              "name": "鎶氶『鍘�"
+            },
+            {
+              "code": "210422",
+              "name": "鏂板婊℃棌鑷不鍘�"
+            },
+            {
+              "code": "210423",
+              "name": "娓呭師婊℃棌鑷不鍘�"
+            }
+          ]
+        },
+        {
+          "code": "2105",
+          "name": "鏈邯甯�",
+          "children": [
+            {
+              "code": "210502",
+              "name": "骞冲北鍖�"
+            },
+            {
+              "code": "210503",
+              "name": "婧箹鍖�"
+            },
+            {
+              "code": "210504",
+              "name": "鏄庡北鍖�"
+            },
+            {
+              "code": "210505",
+              "name": "鍗楄姮鍖�"
+            },
+            {
+              "code": "210521",
+              "name": "鏈邯婊℃棌鑷不鍘�"
+            },
+            {
+              "code": "210522",
+              "name": "妗撲粊婊℃棌鑷不鍘�"
+            }
+          ]
+        },
+        {
+          "code": "2106",
+          "name": "涓逛笢甯�",
+          "children": [
+            {
+              "code": "210602",
+              "name": "鍏冨疂鍖�"
+            },
+            {
+              "code": "210603",
+              "name": "鎸叴鍖�"
+            },
+            {
+              "code": "210604",
+              "name": "鎸畨鍖�"
+            },
+            {
+              "code": "210624",
+              "name": "瀹界敻婊℃棌鑷不鍘�"
+            },
+            {
+              "code": "210681",
+              "name": "涓滄腐甯�"
+            },
+            {
+              "code": "210682",
+              "name": "鍑ゅ煄甯�"
+            }
+          ]
+        },
+        {
+          "code": "2107",
+          "name": "閿﹀窞甯�",
+          "children": [
+            {
+              "code": "210702",
+              "name": "鍙ゅ鍖�"
+            },
+            {
+              "code": "210703",
+              "name": "鍑屾渤鍖�"
+            },
+            {
+              "code": "210711",
+              "name": "澶拰鍖�"
+            },
+            {
+              "code": "210726",
+              "name": "榛戝北鍘�"
+            },
+            {
+              "code": "210727",
+              "name": "涔夊幙"
+            },
+            {
+              "code": "210781",
+              "name": "鍑屾捣甯�"
+            },
+            {
+              "code": "210782",
+              "name": "鍖楅晣甯�"
+            }
+          ]
+        },
+        {
+          "code": "2108",
+          "name": "钀ュ彛甯�",
+          "children": [
+            {
+              "code": "210802",
+              "name": "绔欏墠鍖�"
+            },
+            {
+              "code": "210803",
+              "name": "瑗垮競鍖�"
+            },
+            {
+              "code": "210804",
+              "name": "椴呴奔鍦堝尯"
+            },
+            {
+              "code": "210811",
+              "name": "鑰佽竟鍖�"
+            },
+            {
+              "code": "210881",
+              "name": "鐩栧窞甯�"
+            },
+            {
+              "code": "210882",
+              "name": "澶х煶妗ュ競"
+            }
+          ]
+        },
+        {
+          "code": "2109",
+          "name": "闃滄柊甯�",
+          "children": [
+            {
+              "code": "210902",
+              "name": "娴峰窞鍖�"
+            },
+            {
+              "code": "210903",
+              "name": "鏂伴偙鍖�"
+            },
+            {
+              "code": "210904",
+              "name": "澶钩鍖�"
+            },
+            {
+              "code": "210905",
+              "name": "娓呮渤闂ㄥ尯"
+            },
+            {
+              "code": "210911",
+              "name": "缁嗘渤鍖�"
+            },
+            {
+              "code": "210921",
+              "name": "闃滄柊钂欏彜鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "210922",
+              "name": "褰版鍘�"
+            }
+          ]
+        },
+        {
+          "code": "2110",
+          "name": "杈介槼甯�",
+          "children": [
+            {
+              "code": "211002",
+              "name": "鐧藉鍖�"
+            },
+            {
+              "code": "211003",
+              "name": "鏂囧湥鍖�"
+            },
+            {
+              "code": "211004",
+              "name": "瀹忎紵鍖�"
+            },
+            {
+              "code": "211005",
+              "name": "寮撻暱宀尯"
+            },
+            {
+              "code": "211011",
+              "name": "澶瓙娌冲尯"
+            },
+            {
+              "code": "211021",
+              "name": "杈介槼鍘�"
+            },
+            {
+              "code": "211081",
+              "name": "鐏甯�"
+            }
+          ]
+        },
+        {
+          "code": "2111",
+          "name": "鐩橀敠甯�",
+          "children": [
+            {
+              "code": "211102",
+              "name": "鍙屽彴瀛愬尯"
+            },
+            {
+              "code": "211103",
+              "name": "鍏撮殕鍙板尯"
+            },
+            {
+              "code": "211104",
+              "name": "澶ф醇鍖�"
+            },
+            {
+              "code": "211122",
+              "name": "鐩樺北鍘�"
+            }
+          ]
+        },
+        {
+          "code": "2112",
+          "name": "閾佸箔甯�",
+          "children": [
+            {
+              "code": "211202",
+              "name": "閾跺窞鍖�"
+            },
+            {
+              "code": "211204",
+              "name": "娓呮渤鍖�"
+            },
+            {
+              "code": "211221",
+              "name": "閾佸箔鍘�"
+            },
+            {
+              "code": "211223",
+              "name": "瑗夸赴鍘�"
+            },
+            {
+              "code": "211224",
+              "name": "鏄屽浘鍘�"
+            },
+            {
+              "code": "211281",
+              "name": "璋冨叺灞卞競"
+            },
+            {
+              "code": "211282",
+              "name": "寮�鍘熷競"
+            }
+          ]
+        },
+        {
+          "code": "2113",
+          "name": "鏈濋槼甯�",
+          "children": [
+            {
+              "code": "211302",
+              "name": "鍙屽鍖�"
+            },
+            {
+              "code": "211303",
+              "name": "榫欏煄鍖�"
+            },
+            {
+              "code": "211321",
+              "name": "鏈濋槼鍘�"
+            },
+            {
+              "code": "211322",
+              "name": "寤哄钩鍘�"
+            },
+            {
+              "code": "211324",
+              "name": "鍠�鍠囨瞾宸︾考钂欏彜鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "211381",
+              "name": "鍖楃エ甯�"
+            },
+            {
+              "code": "211382",
+              "name": "鍑屾簮甯�"
+            }
+          ]
+        },
+        {
+          "code": "2114",
+          "name": "钁姦宀涘競",
+          "children": [
+            {
+              "code": "211402",
+              "name": "杩炲北鍖�"
+            },
+            {
+              "code": "211403",
+              "name": "榫欐腐鍖�"
+            },
+            {
+              "code": "211404",
+              "name": "鍗楃エ鍖�"
+            },
+            {
+              "code": "211421",
+              "name": "缁ヤ腑鍘�"
+            },
+            {
+              "code": "211422",
+              "name": "寤烘槍鍘�"
+            },
+            {
+              "code": "211481",
+              "name": "鍏村煄甯�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "22",
+      "name": "鍚夋灄鐪�",
+      "children": [
+        {
+          "code": "2201",
+          "name": "闀挎槬甯�",
+          "children": [
+            {
+              "code": "220102",
+              "name": "鍗楀叧鍖�"
+            },
+            {
+              "code": "220103",
+              "name": "瀹藉煄鍖�"
+            },
+            {
+              "code": "220104",
+              "name": "鏈濋槼鍖�"
+            },
+            {
+              "code": "220105",
+              "name": "浜岄亾鍖�"
+            },
+            {
+              "code": "220106",
+              "name": "缁垮洯鍖�"
+            },
+            {
+              "code": "220112",
+              "name": "鍙岄槼鍖�"
+            },
+            {
+              "code": "220113",
+              "name": "涔濆彴鍖�"
+            },
+            {
+              "code": "220122",
+              "name": "鍐滃畨鍘�"
+            },
+            {
+              "code": "220171",
+              "name": "闀挎槬缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "220172",
+              "name": "闀挎槬鍑�鏈堥珮鏂版妧鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "220173",
+              "name": "闀挎槬楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "220174",
+              "name": "闀挎槬姹借溅缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "220182",
+              "name": "姒嗘爲甯�"
+            },
+            {
+              "code": "220183",
+              "name": "寰锋儬甯�"
+            }
+          ]
+        },
+        {
+          "code": "2202",
+          "name": "鍚夋灄甯�",
+          "children": [
+            {
+              "code": "220202",
+              "name": "鏄岄倯鍖�"
+            },
+            {
+              "code": "220203",
+              "name": "榫欐江鍖�"
+            },
+            {
+              "code": "220204",
+              "name": "鑸硅惀鍖�"
+            },
+            {
+              "code": "220211",
+              "name": "涓版弧鍖�"
+            },
+            {
+              "code": "220221",
+              "name": "姘稿悏鍘�"
+            },
+            {
+              "code": "220271",
+              "name": "鍚夋灄缁忔祹寮�鍙戝尯"
+            },
+            {
+              "code": "220272",
+              "name": "鍚夋灄楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "220273",
+              "name": "鍚夋灄涓浗鏂板姞鍧¢鍝佸尯"
+            },
+            {
+              "code": "220281",
+              "name": "铔熸渤甯�"
+            },
+            {
+              "code": "220282",
+              "name": "妗︾敻甯�"
+            },
+            {
+              "code": "220283",
+              "name": "鑸掑叞甯�"
+            },
+            {
+              "code": "220284",
+              "name": "纾愮煶甯�"
+            }
+          ]
+        },
+        {
+          "code": "2203",
+          "name": "鍥涘钩甯�",
+          "children": [
+            {
+              "code": "220302",
+              "name": "閾佽タ鍖�"
+            },
+            {
+              "code": "220303",
+              "name": "閾佷笢鍖�"
+            },
+            {
+              "code": "220322",
+              "name": "姊ㄦ爲鍘�"
+            },
+            {
+              "code": "220323",
+              "name": "浼婇�氭弧鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "220381",
+              "name": "鍏富宀競"
+            },
+            {
+              "code": "220382",
+              "name": "鍙岃窘甯�"
+            }
+          ]
+        },
+        {
+          "code": "2204",
+          "name": "杈芥簮甯�",
+          "children": [
+            {
+              "code": "220402",
+              "name": "榫欏北鍖�"
+            },
+            {
+              "code": "220403",
+              "name": "瑗垮畨鍖�"
+            },
+            {
+              "code": "220421",
+              "name": "涓滀赴鍘�"
+            },
+            {
+              "code": "220422",
+              "name": "涓滆窘鍘�"
+            }
+          ]
+        },
+        {
+          "code": "2205",
+          "name": "閫氬寲甯�",
+          "children": [
+            {
+              "code": "220502",
+              "name": "涓滄槍鍖�"
+            },
+            {
+              "code": "220503",
+              "name": "浜岄亾姹熷尯"
+            },
+            {
+              "code": "220521",
+              "name": "閫氬寲鍘�"
+            },
+            {
+              "code": "220523",
+              "name": "杈夊崡鍘�"
+            },
+            {
+              "code": "220524",
+              "name": "鏌虫渤鍘�"
+            },
+            {
+              "code": "220581",
+              "name": "姊呮渤鍙e競"
+            },
+            {
+              "code": "220582",
+              "name": "闆嗗畨甯�"
+            }
+          ]
+        },
+        {
+          "code": "2206",
+          "name": "鐧藉北甯�",
+          "children": [
+            {
+              "code": "220602",
+              "name": "娴戞睙鍖�"
+            },
+            {
+              "code": "220605",
+              "name": "姹熸簮鍖�"
+            },
+            {
+              "code": "220621",
+              "name": "鎶氭澗鍘�"
+            },
+            {
+              "code": "220622",
+              "name": "闈栧畤鍘�"
+            },
+            {
+              "code": "220623",
+              "name": "闀跨櫧鏈濋矞鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "220681",
+              "name": "涓存睙甯�"
+            }
+          ]
+        },
+        {
+          "code": "2207",
+          "name": "鏉惧師甯�",
+          "children": [
+            {
+              "code": "220702",
+              "name": "瀹佹睙鍖�"
+            },
+            {
+              "code": "220721",
+              "name": "鍓嶉儹灏旂綏鏂挋鍙ゆ棌鑷不鍘�"
+            },
+            {
+              "code": "220722",
+              "name": "闀垮箔鍘�"
+            },
+            {
+              "code": "220723",
+              "name": "涔惧畨鍘�"
+            },
+            {
+              "code": "220771",
+              "name": "鍚夋灄鏉惧師缁忔祹寮�鍙戝尯"
+            },
+            {
+              "code": "220781",
+              "name": "鎵朵綑甯�"
+            }
+          ]
+        },
+        {
+          "code": "2208",
+          "name": "鐧藉煄甯�",
+          "children": [
+            {
+              "code": "220802",
+              "name": "娲寳鍖�"
+            },
+            {
+              "code": "220821",
+              "name": "闀囪祲鍘�"
+            },
+            {
+              "code": "220822",
+              "name": "閫氭鍘�"
+            },
+            {
+              "code": "220871",
+              "name": "鍚夋灄鐧藉煄缁忔祹寮�鍙戝尯"
+            },
+            {
+              "code": "220881",
+              "name": "娲崡甯�"
+            },
+            {
+              "code": "220882",
+              "name": "澶у畨甯�"
+            }
+          ]
+        },
+        {
+          "code": "2224",
+          "name": "寤惰竟鏈濋矞鏃忚嚜娌诲窞",
+          "children": [
+            {
+              "code": "222401",
+              "name": "寤跺悏甯�"
+            },
+            {
+              "code": "222402",
+              "name": "鍥句滑甯�"
+            },
+            {
+              "code": "222403",
+              "name": "鏁﹀寲甯�"
+            },
+            {
+              "code": "222404",
+              "name": "鐝叉槬甯�"
+            },
+            {
+              "code": "222405",
+              "name": "榫欎簳甯�"
+            },
+            {
+              "code": "222406",
+              "name": "鍜岄緳甯�"
+            },
+            {
+              "code": "222424",
+              "name": "姹竻鍘�"
+            },
+            {
+              "code": "222426",
+              "name": "瀹夊浘鍘�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "23",
+      "name": "榛戦緳姹熺渷",
+      "children": [
+        {
+          "code": "2301",
+          "name": "鍝堝皵婊ㄥ競",
+          "children": [
+            {
+              "code": "230102",
+              "name": "閬撻噷鍖�"
+            },
+            {
+              "code": "230103",
+              "name": "鍗楀矖鍖�"
+            },
+            {
+              "code": "230104",
+              "name": "閬撳鍖�"
+            },
+            {
+              "code": "230108",
+              "name": "骞虫埧鍖�"
+            },
+            {
+              "code": "230109",
+              "name": "鏉惧寳鍖�"
+            },
+            {
+              "code": "230110",
+              "name": "棣欏潑鍖�"
+            },
+            {
+              "code": "230111",
+              "name": "鍛煎叞鍖�"
+            },
+            {
+              "code": "230112",
+              "name": "闃垮煄鍖�"
+            },
+            {
+              "code": "230113",
+              "name": "鍙屽煄鍖�"
+            },
+            {
+              "code": "230123",
+              "name": "渚濆叞鍘�"
+            },
+            {
+              "code": "230124",
+              "name": "鏂规鍘�"
+            },
+            {
+              "code": "230125",
+              "name": "瀹惧幙"
+            },
+            {
+              "code": "230126",
+              "name": "宸村溅鍘�"
+            },
+            {
+              "code": "230127",
+              "name": "鏈ㄥ叞鍘�"
+            },
+            {
+              "code": "230128",
+              "name": "閫氭渤鍘�"
+            },
+            {
+              "code": "230129",
+              "name": "寤跺鍘�"
+            },
+            {
+              "code": "230183",
+              "name": "灏氬織甯�"
+            },
+            {
+              "code": "230184",
+              "name": "浜斿父甯�"
+            }
+          ]
+        },
+        {
+          "code": "2302",
+          "name": "榻愰綈鍝堝皵甯�",
+          "children": [
+            {
+              "code": "230202",
+              "name": "榫欐矙鍖�"
+            },
+            {
+              "code": "230203",
+              "name": "寤哄崕鍖�"
+            },
+            {
+              "code": "230204",
+              "name": "閾侀攱鍖�"
+            },
+            {
+              "code": "230205",
+              "name": "鏄傛槀婧尯"
+            },
+            {
+              "code": "230206",
+              "name": "瀵屾媺灏斿熀鍖�"
+            },
+            {
+              "code": "230207",
+              "name": "纰惧瓙灞卞尯"
+            },
+            {
+              "code": "230208",
+              "name": "姊呴噷鏂揪鏂″皵鏃忓尯"
+            },
+            {
+              "code": "230221",
+              "name": "榫欐睙鍘�"
+            },
+            {
+              "code": "230223",
+              "name": "渚濆畨鍘�"
+            },
+            {
+              "code": "230224",
+              "name": "娉版潵鍘�"
+            },
+            {
+              "code": "230225",
+              "name": "鐢樺崡鍘�"
+            },
+            {
+              "code": "230227",
+              "name": "瀵岃鍘�"
+            },
+            {
+              "code": "230229",
+              "name": "鍏嬪北鍘�"
+            },
+            {
+              "code": "230230",
+              "name": "鍏嬩笢鍘�"
+            },
+            {
+              "code": "230231",
+              "name": "鎷滄硥鍘�"
+            },
+            {
+              "code": "230281",
+              "name": "璁锋渤甯�"
+            }
+          ]
+        },
+        {
+          "code": "2303",
+          "name": "楦¤タ甯�",
+          "children": [
+            {
+              "code": "230302",
+              "name": "楦″啝鍖�"
+            },
+            {
+              "code": "230303",
+              "name": "鎭掑北鍖�"
+            },
+            {
+              "code": "230304",
+              "name": "婊撮亾鍖�"
+            },
+            {
+              "code": "230305",
+              "name": "姊ㄦ爲鍖�"
+            },
+            {
+              "code": "230306",
+              "name": "鍩庡瓙娌冲尯"
+            },
+            {
+              "code": "230307",
+              "name": "楹诲北鍖�"
+            },
+            {
+              "code": "230321",
+              "name": "楦′笢鍘�"
+            },
+            {
+              "code": "230381",
+              "name": "铏庢灄甯�"
+            },
+            {
+              "code": "230382",
+              "name": "瀵嗗北甯�"
+            }
+          ]
+        },
+        {
+          "code": "2304",
+          "name": "楣ゅ矖甯�",
+          "children": [
+            {
+              "code": "230402",
+              "name": "鍚戦槼鍖�"
+            },
+            {
+              "code": "230403",
+              "name": "宸ュ啘鍖�"
+            },
+            {
+              "code": "230404",
+              "name": "鍗楀北鍖�"
+            },
+            {
+              "code": "230405",
+              "name": "鍏村畨鍖�"
+            },
+            {
+              "code": "230406",
+              "name": "涓滃北鍖�"
+            },
+            {
+              "code": "230407",
+              "name": "鍏村北鍖�"
+            },
+            {
+              "code": "230421",
+              "name": "钀濆寳鍘�"
+            },
+            {
+              "code": "230422",
+              "name": "缁ユ花鍘�"
+            }
+          ]
+        },
+        {
+          "code": "2305",
+          "name": "鍙岄腑灞卞競",
+          "children": [
+            {
+              "code": "230502",
+              "name": "灏栧北鍖�"
+            },
+            {
+              "code": "230503",
+              "name": "宀笢鍖�"
+            },
+            {
+              "code": "230505",
+              "name": "鍥涙柟鍙板尯"
+            },
+            {
+              "code": "230506",
+              "name": "瀹濆北鍖�"
+            },
+            {
+              "code": "230521",
+              "name": "闆嗚搐鍘�"
+            },
+            {
+              "code": "230522",
+              "name": "鍙嬭皧鍘�"
+            },
+            {
+              "code": "230523",
+              "name": "瀹濇竻鍘�"
+            },
+            {
+              "code": "230524",
+              "name": "楗舵渤鍘�"
+            }
+          ]
+        },
+        {
+          "code": "2306",
+          "name": "澶у簡甯�",
+          "children": [
+            {
+              "code": "230602",
+              "name": "钀ㄥ皵鍥惧尯"
+            },
+            {
+              "code": "230603",
+              "name": "榫欏嚖鍖�"
+            },
+            {
+              "code": "230604",
+              "name": "璁╄儭璺尯"
+            },
+            {
+              "code": "230605",
+              "name": "绾㈠矖鍖�"
+            },
+            {
+              "code": "230606",
+              "name": "澶у悓鍖�"
+            },
+            {
+              "code": "230621",
+              "name": "鑲囧窞鍘�"
+            },
+            {
+              "code": "230622",
+              "name": "鑲囨簮鍘�"
+            },
+            {
+              "code": "230623",
+              "name": "鏋楃敻鍘�"
+            },
+            {
+              "code": "230624",
+              "name": "鏉滃皵浼壒钂欏彜鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "230671",
+              "name": "澶у簡楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "2307",
+          "name": "浼婃槬甯�",
+          "children": [
+            {
+              "code": "230717",
+              "name": "浼婄編鍖�"
+            },
+            {
+              "code": "230718",
+              "name": "涔岀繝鍖�"
+            },
+            {
+              "code": "230719",
+              "name": "鍙嬪ソ鍖�"
+            },
+            {
+              "code": "230722",
+              "name": "鍢夎崼鍘�"
+            },
+            {
+              "code": "230723",
+              "name": "姹ゆ椇鍘�"
+            },
+            {
+              "code": "230724",
+              "name": "涓版灄鍘�"
+            },
+            {
+              "code": "230725",
+              "name": "澶х異灞卞幙"
+            },
+            {
+              "code": "230726",
+              "name": "鍗楀矓鍘�"
+            },
+            {
+              "code": "230751",
+              "name": "閲戞灄鍖�"
+            },
+            {
+              "code": "230781",
+              "name": "閾佸姏甯�"
+            }
+          ]
+        },
+        {
+          "code": "2308",
+          "name": "浣虫湪鏂競",
+          "children": [
+            {
+              "code": "230803",
+              "name": "鍚戦槼鍖�"
+            },
+            {
+              "code": "230804",
+              "name": "鍓嶈繘鍖�"
+            },
+            {
+              "code": "230805",
+              "name": "涓滈鍖�"
+            },
+            {
+              "code": "230811",
+              "name": "閮婂尯"
+            },
+            {
+              "code": "230822",
+              "name": "妗﹀崡鍘�"
+            },
+            {
+              "code": "230826",
+              "name": "妗﹀窛鍘�"
+            },
+            {
+              "code": "230828",
+              "name": "姹ゅ師鍘�"
+            },
+            {
+              "code": "230881",
+              "name": "鍚屾睙甯�"
+            },
+            {
+              "code": "230882",
+              "name": "瀵岄敠甯�"
+            },
+            {
+              "code": "230883",
+              "name": "鎶氳繙甯�"
+            }
+          ]
+        },
+        {
+          "code": "2309",
+          "name": "涓冨彴娌冲競",
+          "children": [
+            {
+              "code": "230902",
+              "name": "鏂板叴鍖�"
+            },
+            {
+              "code": "230903",
+              "name": "妗冨北鍖�"
+            },
+            {
+              "code": "230904",
+              "name": "鑼勫瓙娌冲尯"
+            },
+            {
+              "code": "230921",
+              "name": "鍕冨埄鍘�"
+            }
+          ]
+        },
+        {
+          "code": "2310",
+          "name": "鐗′腹姹熷競",
+          "children": [
+            {
+              "code": "231002",
+              "name": "涓滃畨鍖�"
+            },
+            {
+              "code": "231003",
+              "name": "闃虫槑鍖�"
+            },
+            {
+              "code": "231004",
+              "name": "鐖辨皯鍖�"
+            },
+            {
+              "code": "231005",
+              "name": "瑗垮畨鍖�"
+            },
+            {
+              "code": "231025",
+              "name": "鏋楀彛鍘�"
+            },
+            {
+              "code": "231071",
+              "name": "鐗′腹姹熺粡娴庢妧鏈紑鍙戝尯"
+            },
+            {
+              "code": "231081",
+              "name": "缁ヨ姮娌冲競"
+            },
+            {
+              "code": "231083",
+              "name": "娴锋灄甯�"
+            },
+            {
+              "code": "231084",
+              "name": "瀹佸畨甯�"
+            },
+            {
+              "code": "231085",
+              "name": "绌嗘1甯�"
+            },
+            {
+              "code": "231086",
+              "name": "涓滃畞甯�"
+            }
+          ]
+        },
+        {
+          "code": "2311",
+          "name": "榛戞渤甯�",
+          "children": [
+            {
+              "code": "231102",
+              "name": "鐖辫緣鍖�"
+            },
+            {
+              "code": "231123",
+              "name": "閫婂厠鍘�"
+            },
+            {
+              "code": "231124",
+              "name": "瀛欏惔鍘�"
+            },
+            {
+              "code": "231181",
+              "name": "鍖楀畨甯�"
+            },
+            {
+              "code": "231182",
+              "name": "浜斿ぇ杩炴睜甯�"
+            },
+            {
+              "code": "231183",
+              "name": "瀚╂睙甯�"
+            }
+          ]
+        },
+        {
+          "code": "2312",
+          "name": "缁ュ寲甯�",
+          "children": [
+            {
+              "code": "231202",
+              "name": "鍖楁灄鍖�"
+            },
+            {
+              "code": "231221",
+              "name": "鏈涘鍘�"
+            },
+            {
+              "code": "231222",
+              "name": "鍏拌タ鍘�"
+            },
+            {
+              "code": "231223",
+              "name": "闈掑唸鍘�"
+            },
+            {
+              "code": "231224",
+              "name": "搴嗗畨鍘�"
+            },
+            {
+              "code": "231225",
+              "name": "鏄庢按鍘�"
+            },
+            {
+              "code": "231226",
+              "name": "缁ユ1鍘�"
+            },
+            {
+              "code": "231281",
+              "name": "瀹夎揪甯�"
+            },
+            {
+              "code": "231282",
+              "name": "鑲囦笢甯�"
+            },
+            {
+              "code": "231283",
+              "name": "娴蜂鸡甯�"
+            }
+          ]
+        },
+        {
+          "code": "2327",
+          "name": "澶у叴瀹夊箔鍦板尯",
+          "children": [
+            {
+              "code": "232701",
+              "name": "婕犳渤甯�"
+            },
+            {
+              "code": "232721",
+              "name": "鍛肩帥鍘�"
+            },
+            {
+              "code": "232722",
+              "name": "濉旀渤鍘�"
+            },
+            {
+              "code": "232761",
+              "name": "鍔犳牸杈惧鍖�"
+            },
+            {
+              "code": "232762",
+              "name": "鏉惧箔鍖�"
+            },
+            {
+              "code": "232763",
+              "name": "鏂版灄鍖�"
+            },
+            {
+              "code": "232764",
+              "name": "鍛间腑鍖�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "31",
+      "name": "涓婃捣甯�",
+      "children": [
+        {
+          "code": "3101",
+          "name": "甯傝緰鍖�",
+          "children": [
+            {
+              "code": "310101",
+              "name": "榛勬郸鍖�"
+            },
+            {
+              "code": "310104",
+              "name": "寰愭眹鍖�"
+            },
+            {
+              "code": "310105",
+              "name": "闀垮畞鍖�"
+            },
+            {
+              "code": "310106",
+              "name": "闈欏畨鍖�"
+            },
+            {
+              "code": "310107",
+              "name": "鏅檧鍖�"
+            },
+            {
+              "code": "310109",
+              "name": "铏瑰彛鍖�"
+            },
+            {
+              "code": "310110",
+              "name": "鏉ㄦ郸鍖�"
+            },
+            {
+              "code": "310112",
+              "name": "闂佃鍖�"
+            },
+            {
+              "code": "310113",
+              "name": "瀹濆北鍖�"
+            },
+            {
+              "code": "310114",
+              "name": "鍢夊畾鍖�"
+            },
+            {
+              "code": "310115",
+              "name": "娴︿笢鏂板尯"
+            },
+            {
+              "code": "310116",
+              "name": "閲戝北鍖�"
+            },
+            {
+              "code": "310117",
+              "name": "鏉炬睙鍖�"
+            },
+            {
+              "code": "310118",
+              "name": "闈掓郸鍖�"
+            },
+            {
+              "code": "310120",
+              "name": "濂夎搐鍖�"
+            },
+            {
+              "code": "310151",
+              "name": "宕囨槑鍖�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "32",
+      "name": "姹熻嫃鐪�",
+      "children": [
+        {
+          "code": "3201",
+          "name": "鍗椾含甯�",
+          "children": [
+            {
+              "code": "320102",
+              "name": "鐜勬鍖�"
+            },
+            {
+              "code": "320104",
+              "name": "绉︽樊鍖�"
+            },
+            {
+              "code": "320105",
+              "name": "寤洪偤鍖�"
+            },
+            {
+              "code": "320106",
+              "name": "榧撴ゼ鍖�"
+            },
+            {
+              "code": "320111",
+              "name": "娴﹀彛鍖�"
+            },
+            {
+              "code": "320113",
+              "name": "鏍栭湠鍖�"
+            },
+            {
+              "code": "320114",
+              "name": "闆ㄨ姳鍙板尯"
+            },
+            {
+              "code": "320115",
+              "name": "姹熷畞鍖�"
+            },
+            {
+              "code": "320116",
+              "name": "鍏悎鍖�"
+            },
+            {
+              "code": "320117",
+              "name": "婧ф按鍖�"
+            },
+            {
+              "code": "320118",
+              "name": "楂樻烦鍖�"
+            }
+          ]
+        },
+        {
+          "code": "3202",
+          "name": "鏃犻敗甯�",
+          "children": [
+            {
+              "code": "320205",
+              "name": "閿″北鍖�"
+            },
+            {
+              "code": "320206",
+              "name": "鎯犲北鍖�"
+            },
+            {
+              "code": "320211",
+              "name": "婊ㄦ箹鍖�"
+            },
+            {
+              "code": "320213",
+              "name": "姊佹邯鍖�"
+            },
+            {
+              "code": "320214",
+              "name": "鏂板惔鍖�"
+            },
+            {
+              "code": "320281",
+              "name": "姹熼槾甯�"
+            },
+            {
+              "code": "320282",
+              "name": "瀹滃叴甯�"
+            }
+          ]
+        },
+        {
+          "code": "3203",
+          "name": "寰愬窞甯�",
+          "children": [
+            {
+              "code": "320302",
+              "name": "榧撴ゼ鍖�"
+            },
+            {
+              "code": "320303",
+              "name": "浜戦緳鍖�"
+            },
+            {
+              "code": "320305",
+              "name": "璐炬豹鍖�"
+            },
+            {
+              "code": "320311",
+              "name": "娉夊北鍖�"
+            },
+            {
+              "code": "320312",
+              "name": "閾滃北鍖�"
+            },
+            {
+              "code": "320321",
+              "name": "涓板幙"
+            },
+            {
+              "code": "320322",
+              "name": "娌涘幙"
+            },
+            {
+              "code": "320324",
+              "name": "鐫㈠畞鍘�"
+            },
+            {
+              "code": "320371",
+              "name": "寰愬窞缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "320381",
+              "name": "鏂版矀甯�"
+            },
+            {
+              "code": "320382",
+              "name": "閭冲窞甯�"
+            }
+          ]
+        },
+        {
+          "code": "3204",
+          "name": "甯稿窞甯�",
+          "children": [
+            {
+              "code": "320402",
+              "name": "澶╁畞鍖�"
+            },
+            {
+              "code": "320404",
+              "name": "閽熸ゼ鍖�"
+            },
+            {
+              "code": "320411",
+              "name": "鏂板寳鍖�"
+            },
+            {
+              "code": "320412",
+              "name": "姝﹁繘鍖�"
+            },
+            {
+              "code": "320413",
+              "name": "閲戝潧鍖�"
+            },
+            {
+              "code": "320481",
+              "name": "婧ч槼甯�"
+            }
+          ]
+        },
+        {
+          "code": "3205",
+          "name": "鑻忓窞甯�",
+          "children": [
+            {
+              "code": "320505",
+              "name": "铏庝笜鍖�"
+            },
+            {
+              "code": "320506",
+              "name": "鍚翠腑鍖�"
+            },
+            {
+              "code": "320507",
+              "name": "鐩稿煄鍖�"
+            },
+            {
+              "code": "320508",
+              "name": "濮戣嫃鍖�"
+            },
+            {
+              "code": "320509",
+              "name": "鍚存睙鍖�"
+            },
+            {
+              "code": "320571",
+              "name": "鑻忓窞宸ヤ笟鍥尯"
+            },
+            {
+              "code": "320581",
+              "name": "甯哥啛甯�"
+            },
+            {
+              "code": "320582",
+              "name": "寮犲娓競"
+            },
+            {
+              "code": "320583",
+              "name": "鏄嗗北甯�"
+            },
+            {
+              "code": "320585",
+              "name": "澶粨甯�"
+            }
+          ]
+        },
+        {
+          "code": "3206",
+          "name": "鍗楅�氬競",
+          "children": [
+            {
+              "code": "320602",
+              "name": "宕囧窛鍖�"
+            },
+            {
+              "code": "320611",
+              "name": "娓椄鍖�"
+            },
+            {
+              "code": "320612",
+              "name": "閫氬窞鍖�"
+            },
+            {
+              "code": "320623",
+              "name": "濡備笢鍘�"
+            },
+            {
+              "code": "320671",
+              "name": "鍗楅�氱粡娴庢妧鏈紑鍙戝尯"
+            },
+            {
+              "code": "320681",
+              "name": "鍚笢甯�"
+            },
+            {
+              "code": "320682",
+              "name": "濡傜殝甯�"
+            },
+            {
+              "code": "320684",
+              "name": "娴烽棬甯�"
+            },
+            {
+              "code": "320685",
+              "name": "娴峰畨甯�"
+            }
+          ]
+        },
+        {
+          "code": "3207",
+          "name": "杩炰簯娓競",
+          "children": [
+            {
+              "code": "320703",
+              "name": "杩炰簯鍖�"
+            },
+            {
+              "code": "320706",
+              "name": "娴峰窞鍖�"
+            },
+            {
+              "code": "320707",
+              "name": "璧f鍖�"
+            },
+            {
+              "code": "320722",
+              "name": "涓滄捣鍘�"
+            },
+            {
+              "code": "320723",
+              "name": "鐏屼簯鍘�"
+            },
+            {
+              "code": "320724",
+              "name": "鐏屽崡鍘�"
+            },
+            {
+              "code": "320771",
+              "name": "杩炰簯娓粡娴庢妧鏈紑鍙戝尯"
+            },
+            {
+              "code": "320772",
+              "name": "杩炰簯娓珮鏂版妧鏈骇涓氬紑鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "3208",
+          "name": "娣畨甯�",
+          "children": [
+            {
+              "code": "320803",
+              "name": "娣畨鍖�"
+            },
+            {
+              "code": "320804",
+              "name": "娣槾鍖�"
+            },
+            {
+              "code": "320812",
+              "name": "娓呮睙娴﹀尯"
+            },
+            {
+              "code": "320813",
+              "name": "娲辰鍖�"
+            },
+            {
+              "code": "320826",
+              "name": "娑熸按鍘�"
+            },
+            {
+              "code": "320830",
+              "name": "鐩辩湙鍘�"
+            },
+            {
+              "code": "320831",
+              "name": "閲戞箹鍘�"
+            },
+            {
+              "code": "320871",
+              "name": "娣畨缁忔祹鎶�鏈紑鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "3209",
+          "name": "鐩愬煄甯�",
+          "children": [
+            {
+              "code": "320902",
+              "name": "浜箹鍖�"
+            },
+            {
+              "code": "320903",
+              "name": "鐩愰兘鍖�"
+            },
+            {
+              "code": "320904",
+              "name": "澶т赴鍖�"
+            },
+            {
+              "code": "320921",
+              "name": "鍝嶆按鍘�"
+            },
+            {
+              "code": "320922",
+              "name": "婊ㄦ捣鍘�"
+            },
+            {
+              "code": "320923",
+              "name": "闃滃畞鍘�"
+            },
+            {
+              "code": "320924",
+              "name": "灏勯槼鍘�"
+            },
+            {
+              "code": "320925",
+              "name": "寤烘箹鍘�"
+            },
+            {
+              "code": "320971",
+              "name": "鐩愬煄缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "320981",
+              "name": "涓滃彴甯�"
+            }
+          ]
+        },
+        {
+          "code": "3210",
+          "name": "鎵窞甯�",
+          "children": [
+            {
+              "code": "321002",
+              "name": "骞块櫟鍖�"
+            },
+            {
+              "code": "321003",
+              "name": "閭楁睙鍖�"
+            },
+            {
+              "code": "321012",
+              "name": "姹熼兘鍖�"
+            },
+            {
+              "code": "321023",
+              "name": "瀹濆簲鍘�"
+            },
+            {
+              "code": "321071",
+              "name": "鎵窞缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "321081",
+              "name": "浠緛甯�"
+            },
+            {
+              "code": "321084",
+              "name": "楂橀偖甯�"
+            }
+          ]
+        },
+        {
+          "code": "3211",
+          "name": "闀囨睙甯�",
+          "children": [
+            {
+              "code": "321102",
+              "name": "浜彛鍖�"
+            },
+            {
+              "code": "321111",
+              "name": "娑﹀窞鍖�"
+            },
+            {
+              "code": "321112",
+              "name": "涓瑰緬鍖�"
+            },
+            {
+              "code": "321171",
+              "name": "闀囨睙鏂板尯"
+            },
+            {
+              "code": "321181",
+              "name": "涓归槼甯�"
+            },
+            {
+              "code": "321182",
+              "name": "鎵腑甯�"
+            },
+            {
+              "code": "321183",
+              "name": "鍙ュ甯�"
+            }
+          ]
+        },
+        {
+          "code": "3212",
+          "name": "娉板窞甯�",
+          "children": [
+            {
+              "code": "321202",
+              "name": "娴烽櫟鍖�"
+            },
+            {
+              "code": "321203",
+              "name": "楂樻腐鍖�"
+            },
+            {
+              "code": "321204",
+              "name": "濮滃牥鍖�"
+            },
+            {
+              "code": "321271",
+              "name": "娉板窞鍖昏嵂楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "321281",
+              "name": "鍏村寲甯�"
+            },
+            {
+              "code": "321282",
+              "name": "闈栨睙甯�"
+            },
+            {
+              "code": "321283",
+              "name": "娉板叴甯�"
+            }
+          ]
+        },
+        {
+          "code": "3213",
+          "name": "瀹胯縼甯�",
+          "children": [
+            {
+              "code": "321302",
+              "name": "瀹垮煄鍖�"
+            },
+            {
+              "code": "321311",
+              "name": "瀹胯鲍鍖�"
+            },
+            {
+              "code": "321322",
+              "name": "娌槼鍘�"
+            },
+            {
+              "code": "321323",
+              "name": "娉楅槼鍘�"
+            },
+            {
+              "code": "321324",
+              "name": "娉楁椽鍘�"
+            },
+            {
+              "code": "321371",
+              "name": "瀹胯縼缁忔祹鎶�鏈紑鍙戝尯"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "33",
+      "name": "娴欐睙鐪�",
+      "children": [
+        {
+          "code": "3301",
+          "name": "鏉窞甯�",
+          "children": [
+            {
+              "code": "330102",
+              "name": "涓婂煄鍖�"
+            },
+            {
+              "code": "330103",
+              "name": "涓嬪煄鍖�"
+            },
+            {
+              "code": "330104",
+              "name": "姹熷共鍖�"
+            },
+            {
+              "code": "330105",
+              "name": "鎷卞鍖�"
+            },
+            {
+              "code": "330106",
+              "name": "瑗挎箹鍖�"
+            },
+            {
+              "code": "330108",
+              "name": "婊ㄦ睙鍖�"
+            },
+            {
+              "code": "330109",
+              "name": "钀у北鍖�"
+            },
+            {
+              "code": "330110",
+              "name": "浣欐澀鍖�"
+            },
+            {
+              "code": "330111",
+              "name": "瀵岄槼鍖�"
+            },
+            {
+              "code": "330112",
+              "name": "涓村畨鍖�"
+            },
+            {
+              "code": "330122",
+              "name": "妗愬簮鍘�"
+            },
+            {
+              "code": "330127",
+              "name": "娣冲畨鍘�"
+            },
+            {
+              "code": "330182",
+              "name": "寤哄痉甯�"
+            }
+          ]
+        },
+        {
+          "code": "3302",
+          "name": "瀹佹尝甯�",
+          "children": [
+            {
+              "code": "330203",
+              "name": "娴锋洐鍖�"
+            },
+            {
+              "code": "330205",
+              "name": "姹熷寳鍖�"
+            },
+            {
+              "code": "330206",
+              "name": "鍖椾粦鍖�"
+            },
+            {
+              "code": "330211",
+              "name": "闀囨捣鍖�"
+            },
+            {
+              "code": "330212",
+              "name": "閯炲窞鍖�"
+            },
+            {
+              "code": "330213",
+              "name": "濂夊寲鍖�"
+            },
+            {
+              "code": "330225",
+              "name": "璞″北鍘�"
+            },
+            {
+              "code": "330226",
+              "name": "瀹佹捣鍘�"
+            },
+            {
+              "code": "330281",
+              "name": "浣欏甯�"
+            },
+            {
+              "code": "330282",
+              "name": "鎱堟邯甯�"
+            }
+          ]
+        },
+        {
+          "code": "3303",
+          "name": "娓╁窞甯�",
+          "children": [
+            {
+              "code": "330302",
+              "name": "楣垮煄鍖�"
+            },
+            {
+              "code": "330303",
+              "name": "榫欐咕鍖�"
+            },
+            {
+              "code": "330304",
+              "name": "鐡捣鍖�"
+            },
+            {
+              "code": "330305",
+              "name": "娲炲ご鍖�"
+            },
+            {
+              "code": "330324",
+              "name": "姘稿槈鍘�"
+            },
+            {
+              "code": "330326",
+              "name": "骞抽槼鍘�"
+            },
+            {
+              "code": "330327",
+              "name": "鑻嶅崡鍘�"
+            },
+            {
+              "code": "330328",
+              "name": "鏂囨垚鍘�"
+            },
+            {
+              "code": "330329",
+              "name": "娉伴『鍘�"
+            },
+            {
+              "code": "330371",
+              "name": "娓╁窞缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "330381",
+              "name": "鐟炲畨甯�"
+            },
+            {
+              "code": "330382",
+              "name": "涔愭竻甯�"
+            },
+            {
+              "code": "330383",
+              "name": "榫欐腐甯�"
+            }
+          ]
+        },
+        {
+          "code": "3304",
+          "name": "鍢夊叴甯�",
+          "children": [
+            {
+              "code": "330402",
+              "name": "鍗楁箹鍖�"
+            },
+            {
+              "code": "330411",
+              "name": "绉�娲插尯"
+            },
+            {
+              "code": "330421",
+              "name": "鍢夊杽鍘�"
+            },
+            {
+              "code": "330424",
+              "name": "娴风洂鍘�"
+            },
+            {
+              "code": "330481",
+              "name": "娴峰畞甯�"
+            },
+            {
+              "code": "330482",
+              "name": "骞虫箹甯�"
+            },
+            {
+              "code": "330483",
+              "name": "妗愪埂甯�"
+            }
+          ]
+        },
+        {
+          "code": "3305",
+          "name": "婀栧窞甯�",
+          "children": [
+            {
+              "code": "330502",
+              "name": "鍚村叴鍖�"
+            },
+            {
+              "code": "330503",
+              "name": "鍗楁禂鍖�"
+            },
+            {
+              "code": "330521",
+              "name": "寰锋竻鍘�"
+            },
+            {
+              "code": "330522",
+              "name": "闀垮叴鍘�"
+            },
+            {
+              "code": "330523",
+              "name": "瀹夊悏鍘�"
+            }
+          ]
+        },
+        {
+          "code": "3306",
+          "name": "缁嶅叴甯�",
+          "children": [
+            {
+              "code": "330602",
+              "name": "瓒婂煄鍖�"
+            },
+            {
+              "code": "330603",
+              "name": "鏌ˉ鍖�"
+            },
+            {
+              "code": "330604",
+              "name": "涓婅櫈鍖�"
+            },
+            {
+              "code": "330624",
+              "name": "鏂版槍鍘�"
+            },
+            {
+              "code": "330681",
+              "name": "璇告毃甯�"
+            },
+            {
+              "code": "330683",
+              "name": "宓婂窞甯�"
+            }
+          ]
+        },
+        {
+          "code": "3307",
+          "name": "閲戝崕甯�",
+          "children": [
+            {
+              "code": "330702",
+              "name": "濠哄煄鍖�"
+            },
+            {
+              "code": "330703",
+              "name": "閲戜笢鍖�"
+            },
+            {
+              "code": "330723",
+              "name": "姝︿箟鍘�"
+            },
+            {
+              "code": "330726",
+              "name": "娴︽睙鍘�"
+            },
+            {
+              "code": "330727",
+              "name": "纾愬畨鍘�"
+            },
+            {
+              "code": "330781",
+              "name": "鍏版邯甯�"
+            },
+            {
+              "code": "330782",
+              "name": "涔変箤甯�"
+            },
+            {
+              "code": "330783",
+              "name": "涓滈槼甯�"
+            },
+            {
+              "code": "330784",
+              "name": "姘稿悍甯�"
+            }
+          ]
+        },
+        {
+          "code": "3308",
+          "name": "琛㈠窞甯�",
+          "children": [
+            {
+              "code": "330802",
+              "name": "鏌煄鍖�"
+            },
+            {
+              "code": "330803",
+              "name": "琛㈡睙鍖�"
+            },
+            {
+              "code": "330822",
+              "name": "甯稿北鍘�"
+            },
+            {
+              "code": "330824",
+              "name": "寮�鍖栧幙"
+            },
+            {
+              "code": "330825",
+              "name": "榫欐父鍘�"
+            },
+            {
+              "code": "330881",
+              "name": "姹熷北甯�"
+            }
+          ]
+        },
+        {
+          "code": "3309",
+          "name": "鑸熷北甯�",
+          "children": [
+            {
+              "code": "330902",
+              "name": "瀹氭捣鍖�"
+            },
+            {
+              "code": "330903",
+              "name": "鏅檧鍖�"
+            },
+            {
+              "code": "330921",
+              "name": "宀卞北鍘�"
+            },
+            {
+              "code": "330922",
+              "name": "宓婃硹鍘�"
+            }
+          ]
+        },
+        {
+          "code": "3310",
+          "name": "鍙板窞甯�",
+          "children": [
+            {
+              "code": "331002",
+              "name": "妞掓睙鍖�"
+            },
+            {
+              "code": "331003",
+              "name": "榛勫博鍖�"
+            },
+            {
+              "code": "331004",
+              "name": "璺ˉ鍖�"
+            },
+            {
+              "code": "331022",
+              "name": "涓夐棬鍘�"
+            },
+            {
+              "code": "331023",
+              "name": "澶╁彴鍘�"
+            },
+            {
+              "code": "331024",
+              "name": "浠欏眳鍘�"
+            },
+            {
+              "code": "331081",
+              "name": "娓╁箔甯�"
+            },
+            {
+              "code": "331082",
+              "name": "涓存捣甯�"
+            },
+            {
+              "code": "331083",
+              "name": "鐜夌幆甯�"
+            }
+          ]
+        },
+        {
+          "code": "3311",
+          "name": "涓芥按甯�",
+          "children": [
+            {
+              "code": "331102",
+              "name": "鑾查兘鍖�"
+            },
+            {
+              "code": "331121",
+              "name": "闈掔敯鍘�"
+            },
+            {
+              "code": "331122",
+              "name": "缂欎簯鍘�"
+            },
+            {
+              "code": "331123",
+              "name": "閬傛槍鍘�"
+            },
+            {
+              "code": "331124",
+              "name": "鏉鹃槼鍘�"
+            },
+            {
+              "code": "331125",
+              "name": "浜戝拰鍘�"
+            },
+            {
+              "code": "331126",
+              "name": "搴嗗厓鍘�"
+            },
+            {
+              "code": "331127",
+              "name": "鏅畞鐣叉棌鑷不鍘�"
+            },
+            {
+              "code": "331181",
+              "name": "榫欐硥甯�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "34",
+      "name": "瀹夊窘鐪�",
+      "children": [
+        {
+          "code": "3401",
+          "name": "鍚堣偉甯�",
+          "children": [
+            {
+              "code": "340102",
+              "name": "鐟舵捣鍖�"
+            },
+            {
+              "code": "340103",
+              "name": "搴愰槼鍖�"
+            },
+            {
+              "code": "340104",
+              "name": "铚�灞卞尯"
+            },
+            {
+              "code": "340111",
+              "name": "鍖呮渤鍖�"
+            },
+            {
+              "code": "340121",
+              "name": "闀夸赴鍘�"
+            },
+            {
+              "code": "340122",
+              "name": "鑲ヤ笢鍘�"
+            },
+            {
+              "code": "340123",
+              "name": "鑲ヨタ鍘�"
+            },
+            {
+              "code": "340124",
+              "name": "搴愭睙鍘�"
+            },
+            {
+              "code": "340171",
+              "name": "鍚堣偉楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "340172",
+              "name": "鍚堣偉缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "340173",
+              "name": "鍚堣偉鏂扮珯楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "340181",
+              "name": "宸㈡箹甯�"
+            }
+          ]
+        },
+        {
+          "code": "3402",
+          "name": "鑺滄箹甯�",
+          "children": [
+            {
+              "code": "340202",
+              "name": "闀滄箹鍖�"
+            },
+            {
+              "code": "340203",
+              "name": "寮嬫睙鍖�"
+            },
+            {
+              "code": "340207",
+              "name": "楦犳睙鍖�"
+            },
+            {
+              "code": "340208",
+              "name": "涓夊北鍖�"
+            },
+            {
+              "code": "340221",
+              "name": "鑺滄箹鍘�"
+            },
+            {
+              "code": "340222",
+              "name": "绻佹槍鍘�"
+            },
+            {
+              "code": "340223",
+              "name": "鍗楅櫟鍘�"
+            },
+            {
+              "code": "340225",
+              "name": "鏃犱负鍘�"
+            },
+            {
+              "code": "340271",
+              "name": "鑺滄箹缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "340272",
+              "name": "瀹夊窘鑺滄箹闀挎睙澶фˉ缁忔祹寮�鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "3403",
+          "name": "铓屽煚甯�",
+          "children": [
+            {
+              "code": "340302",
+              "name": "榫欏瓙婀栧尯"
+            },
+            {
+              "code": "340303",
+              "name": "铓屽北鍖�"
+            },
+            {
+              "code": "340304",
+              "name": "绂逛細鍖�"
+            },
+            {
+              "code": "340311",
+              "name": "娣笂鍖�"
+            },
+            {
+              "code": "340321",
+              "name": "鎬�杩滃幙"
+            },
+            {
+              "code": "340322",
+              "name": "浜旀渤鍘�"
+            },
+            {
+              "code": "340323",
+              "name": "鍥洪晣鍘�"
+            },
+            {
+              "code": "340371",
+              "name": "铓屽煚甯傞珮鏂版妧鏈紑鍙戝尯"
+            },
+            {
+              "code": "340372",
+              "name": "铓屽煚甯傜粡娴庡紑鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "3404",
+          "name": "娣崡甯�",
+          "children": [
+            {
+              "code": "340402",
+              "name": "澶ч�氬尯"
+            },
+            {
+              "code": "340403",
+              "name": "鐢板搴靛尯"
+            },
+            {
+              "code": "340404",
+              "name": "璋㈠闆嗗尯"
+            },
+            {
+              "code": "340405",
+              "name": "鍏叕灞卞尯"
+            },
+            {
+              "code": "340406",
+              "name": "娼橀泦鍖�"
+            },
+            {
+              "code": "340421",
+              "name": "鍑ゅ彴鍘�"
+            },
+            {
+              "code": "340422",
+              "name": "瀵垮幙"
+            }
+          ]
+        },
+        {
+          "code": "3405",
+          "name": "椹瀺灞卞競",
+          "children": [
+            {
+              "code": "340503",
+              "name": "鑺卞北鍖�"
+            },
+            {
+              "code": "340504",
+              "name": "闆ㄥ北鍖�"
+            },
+            {
+              "code": "340506",
+              "name": "鍗氭湜鍖�"
+            },
+            {
+              "code": "340521",
+              "name": "褰撴秱鍘�"
+            },
+            {
+              "code": "340522",
+              "name": "鍚北鍘�"
+            },
+            {
+              "code": "340523",
+              "name": "鍜屽幙"
+            }
+          ]
+        },
+        {
+          "code": "3406",
+          "name": "娣寳甯�",
+          "children": [
+            {
+              "code": "340602",
+              "name": "鏉滈泦鍖�"
+            },
+            {
+              "code": "340603",
+              "name": "鐩稿北鍖�"
+            },
+            {
+              "code": "340604",
+              "name": "鐑堝北鍖�"
+            },
+            {
+              "code": "340621",
+              "name": "婵夋邯鍘�"
+            }
+          ]
+        },
+        {
+          "code": "3407",
+          "name": "閾滈櫟甯�",
+          "children": [
+            {
+              "code": "340705",
+              "name": "閾滃畼鍖�"
+            },
+            {
+              "code": "340706",
+              "name": "涔夊畨鍖�"
+            },
+            {
+              "code": "340711",
+              "name": "閮婂尯"
+            },
+            {
+              "code": "340722",
+              "name": "鏋為槼鍘�"
+            }
+          ]
+        },
+        {
+          "code": "3408",
+          "name": "瀹夊簡甯�",
+          "children": [
+            {
+              "code": "340802",
+              "name": "杩庢睙鍖�"
+            },
+            {
+              "code": "340803",
+              "name": "澶ц鍖�"
+            },
+            {
+              "code": "340811",
+              "name": "瀹滅鍖�"
+            },
+            {
+              "code": "340822",
+              "name": "鎬�瀹佸幙"
+            },
+            {
+              "code": "340825",
+              "name": "澶箹鍘�"
+            },
+            {
+              "code": "340826",
+              "name": "瀹挎澗鍘�"
+            },
+            {
+              "code": "340827",
+              "name": "鏈涙睙鍘�"
+            },
+            {
+              "code": "340828",
+              "name": "宀宠タ鍘�"
+            },
+            {
+              "code": "340871",
+              "name": "瀹夊窘瀹夊簡缁忔祹寮�鍙戝尯"
+            },
+            {
+              "code": "340881",
+              "name": "妗愬煄甯�"
+            },
+            {
+              "code": "340882",
+              "name": "娼滃北甯�"
+            }
+          ]
+        },
+        {
+          "code": "3410",
+          "name": "榛勫北甯�",
+          "children": [
+            {
+              "code": "341002",
+              "name": "灞邯鍖�"
+            },
+            {
+              "code": "341003",
+              "name": "榛勫北鍖�"
+            },
+            {
+              "code": "341004",
+              "name": "寰藉窞鍖�"
+            },
+            {
+              "code": "341021",
+              "name": "姝欏幙"
+            },
+            {
+              "code": "341022",
+              "name": "浼戝畞鍘�"
+            },
+            {
+              "code": "341023",
+              "name": "榛熷幙"
+            },
+            {
+              "code": "341024",
+              "name": "绁侀棬鍘�"
+            }
+          ]
+        },
+        {
+          "code": "3411",
+          "name": "婊佸窞甯�",
+          "children": [
+            {
+              "code": "341102",
+              "name": "鐞呯悐鍖�"
+            },
+            {
+              "code": "341103",
+              "name": "鍗楄隘鍖�"
+            },
+            {
+              "code": "341122",
+              "name": "鏉ュ畨鍘�"
+            },
+            {
+              "code": "341124",
+              "name": "鍏ㄦ鍘�"
+            },
+            {
+              "code": "341125",
+              "name": "瀹氳繙鍘�"
+            },
+            {
+              "code": "341126",
+              "name": "鍑ら槼鍘�"
+            },
+            {
+              "code": "341171",
+              "name": "鑻忔粊鐜颁唬浜т笟鍥�"
+            },
+            {
+              "code": "341172",
+              "name": "婊佸窞缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "341181",
+              "name": "澶╅暱甯�"
+            },
+            {
+              "code": "341182",
+              "name": "鏄庡厜甯�"
+            }
+          ]
+        },
+        {
+          "code": "3412",
+          "name": "闃滈槼甯�",
+          "children": [
+            {
+              "code": "341202",
+              "name": "棰嶅窞鍖�"
+            },
+            {
+              "code": "341203",
+              "name": "棰嶄笢鍖�"
+            },
+            {
+              "code": "341204",
+              "name": "棰嶆硥鍖�"
+            },
+            {
+              "code": "341221",
+              "name": "涓存硥鍘�"
+            },
+            {
+              "code": "341222",
+              "name": "澶拰鍘�"
+            },
+            {
+              "code": "341225",
+              "name": "闃滃崡鍘�"
+            },
+            {
+              "code": "341226",
+              "name": "棰嶄笂鍘�"
+            },
+            {
+              "code": "341271",
+              "name": "闃滈槼鍚堣偉鐜颁唬浜т笟鍥尯"
+            },
+            {
+              "code": "341272",
+              "name": "闃滈槼缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "341282",
+              "name": "鐣岄甯�"
+            }
+          ]
+        },
+        {
+          "code": "3413",
+          "name": "瀹垮窞甯�",
+          "children": [
+            {
+              "code": "341302",
+              "name": "鍩囨ˉ鍖�"
+            },
+            {
+              "code": "341321",
+              "name": "鐮�灞卞幙"
+            },
+            {
+              "code": "341322",
+              "name": "钀у幙"
+            },
+            {
+              "code": "341323",
+              "name": "鐏电挧鍘�"
+            },
+            {
+              "code": "341324",
+              "name": "娉楀幙"
+            },
+            {
+              "code": "341371",
+              "name": "瀹垮窞椹瀺灞辩幇浠d骇涓氬洯鍖�"
+            },
+            {
+              "code": "341372",
+              "name": "瀹垮窞缁忔祹鎶�鏈紑鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "3415",
+          "name": "鍏畨甯�",
+          "children": [
+            {
+              "code": "341502",
+              "name": "閲戝畨鍖�"
+            },
+            {
+              "code": "341503",
+              "name": "瑁曞畨鍖�"
+            },
+            {
+              "code": "341504",
+              "name": "鍙堕泦鍖�"
+            },
+            {
+              "code": "341522",
+              "name": "闇嶉偙鍘�"
+            },
+            {
+              "code": "341523",
+              "name": "鑸掑煄鍘�"
+            },
+            {
+              "code": "341524",
+              "name": "閲戝鍘�"
+            },
+            {
+              "code": "341525",
+              "name": "闇嶅北鍘�"
+            }
+          ]
+        },
+        {
+          "code": "3416",
+          "name": "浜冲窞甯�",
+          "children": [
+            {
+              "code": "341602",
+              "name": "璋煄鍖�"
+            },
+            {
+              "code": "341621",
+              "name": "娑¢槼鍘�"
+            },
+            {
+              "code": "341622",
+              "name": "钂欏煄鍘�"
+            },
+            {
+              "code": "341623",
+              "name": "鍒╄緵鍘�"
+            }
+          ]
+        },
+        {
+          "code": "3417",
+          "name": "姹犲窞甯�",
+          "children": [
+            {
+              "code": "341702",
+              "name": "璐垫睜鍖�"
+            },
+            {
+              "code": "341721",
+              "name": "涓滆嚦鍘�"
+            },
+            {
+              "code": "341722",
+              "name": "鐭冲彴鍘�"
+            },
+            {
+              "code": "341723",
+              "name": "闈掗槼鍘�"
+            }
+          ]
+        },
+        {
+          "code": "3418",
+          "name": "瀹e煄甯�",
+          "children": [
+            {
+              "code": "341802",
+              "name": "瀹e窞鍖�"
+            },
+            {
+              "code": "341821",
+              "name": "閮庢邯鍘�"
+            },
+            {
+              "code": "341823",
+              "name": "娉惧幙"
+            },
+            {
+              "code": "341824",
+              "name": "缁╂邯鍘�"
+            },
+            {
+              "code": "341825",
+              "name": "鏃屽痉鍘�"
+            },
+            {
+              "code": "341871",
+              "name": "瀹e煄甯傜粡娴庡紑鍙戝尯"
+            },
+            {
+              "code": "341881",
+              "name": "瀹佸浗甯�"
+            },
+            {
+              "code": "341882",
+              "name": "骞垮痉甯�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "35",
+      "name": "绂忓缓鐪�",
+      "children": [
+        {
+          "code": "3501",
+          "name": "绂忓窞甯�",
+          "children": [
+            {
+              "code": "350102",
+              "name": "榧撴ゼ鍖�"
+            },
+            {
+              "code": "350103",
+              "name": "鍙版睙鍖�"
+            },
+            {
+              "code": "350104",
+              "name": "浠撳北鍖�"
+            },
+            {
+              "code": "350105",
+              "name": "椹熬鍖�"
+            },
+            {
+              "code": "350111",
+              "name": "鏅嬪畨鍖�"
+            },
+            {
+              "code": "350112",
+              "name": "闀夸箰鍖�"
+            },
+            {
+              "code": "350121",
+              "name": "闂戒警鍘�"
+            },
+            {
+              "code": "350122",
+              "name": "杩炴睙鍘�"
+            },
+            {
+              "code": "350123",
+              "name": "缃楁簮鍘�"
+            },
+            {
+              "code": "350124",
+              "name": "闂芥竻鍘�"
+            },
+            {
+              "code": "350125",
+              "name": "姘告嘲鍘�"
+            },
+            {
+              "code": "350128",
+              "name": "骞虫江鍘�"
+            },
+            {
+              "code": "350181",
+              "name": "绂忔竻甯�"
+            }
+          ]
+        },
+        {
+          "code": "3502",
+          "name": "鍘﹂棬甯�",
+          "children": [
+            {
+              "code": "350203",
+              "name": "鎬濇槑鍖�"
+            },
+            {
+              "code": "350205",
+              "name": "娴锋钵鍖�"
+            },
+            {
+              "code": "350206",
+              "name": "婀栭噷鍖�"
+            },
+            {
+              "code": "350211",
+              "name": "闆嗙編鍖�"
+            },
+            {
+              "code": "350212",
+              "name": "鍚屽畨鍖�"
+            },
+            {
+              "code": "350213",
+              "name": "缈斿畨鍖�"
+            }
+          ]
+        },
+        {
+          "code": "3503",
+          "name": "鑾嗙敯甯�",
+          "children": [
+            {
+              "code": "350302",
+              "name": "鍩庡帰鍖�"
+            },
+            {
+              "code": "350303",
+              "name": "娑垫睙鍖�"
+            },
+            {
+              "code": "350304",
+              "name": "鑽斿煄鍖�"
+            },
+            {
+              "code": "350305",
+              "name": "绉�灞垮尯"
+            },
+            {
+              "code": "350322",
+              "name": "浠欐父鍘�"
+            }
+          ]
+        },
+        {
+          "code": "3504",
+          "name": "涓夋槑甯�",
+          "children": [
+            {
+              "code": "350402",
+              "name": "姊呭垪鍖�"
+            },
+            {
+              "code": "350403",
+              "name": "涓夊厓鍖�"
+            },
+            {
+              "code": "350421",
+              "name": "鏄庢邯鍘�"
+            },
+            {
+              "code": "350423",
+              "name": "娓呮祦鍘�"
+            },
+            {
+              "code": "350424",
+              "name": "瀹佸寲鍘�"
+            },
+            {
+              "code": "350425",
+              "name": "澶х敯鍘�"
+            },
+            {
+              "code": "350426",
+              "name": "灏ゆ邯鍘�"
+            },
+            {
+              "code": "350427",
+              "name": "娌欏幙"
+            },
+            {
+              "code": "350428",
+              "name": "灏嗕箰鍘�"
+            },
+            {
+              "code": "350429",
+              "name": "娉板畞鍘�"
+            },
+            {
+              "code": "350430",
+              "name": "寤哄畞鍘�"
+            },
+            {
+              "code": "350481",
+              "name": "姘稿畨甯�"
+            }
+          ]
+        },
+        {
+          "code": "3505",
+          "name": "娉夊窞甯�",
+          "children": [
+            {
+              "code": "350502",
+              "name": "椴ゅ煄鍖�"
+            },
+            {
+              "code": "350503",
+              "name": "涓版辰鍖�"
+            },
+            {
+              "code": "350504",
+              "name": "娲涙睙鍖�"
+            },
+            {
+              "code": "350505",
+              "name": "娉夋腐鍖�"
+            },
+            {
+              "code": "350521",
+              "name": "鎯犲畨鍘�"
+            },
+            {
+              "code": "350524",
+              "name": "瀹夋邯鍘�"
+            },
+            {
+              "code": "350525",
+              "name": "姘告槬鍘�"
+            },
+            {
+              "code": "350526",
+              "name": "寰峰寲鍘�"
+            },
+            {
+              "code": "350527",
+              "name": "閲戦棬鍘�"
+            },
+            {
+              "code": "350581",
+              "name": "鐭崇嫯甯�"
+            },
+            {
+              "code": "350582",
+              "name": "鏅嬫睙甯�"
+            },
+            {
+              "code": "350583",
+              "name": "鍗楀畨甯�"
+            }
+          ]
+        },
+        {
+          "code": "3506",
+          "name": "婕冲窞甯�",
+          "children": [
+            {
+              "code": "350602",
+              "name": "鑺楀煄鍖�"
+            },
+            {
+              "code": "350603",
+              "name": "榫欐枃鍖�"
+            },
+            {
+              "code": "350622",
+              "name": "浜戦渼鍘�"
+            },
+            {
+              "code": "350623",
+              "name": "婕虫郸鍘�"
+            },
+            {
+              "code": "350624",
+              "name": "璇忓畨鍘�"
+            },
+            {
+              "code": "350625",
+              "name": "闀挎嘲鍘�"
+            },
+            {
+              "code": "350626",
+              "name": "涓滃北鍘�"
+            },
+            {
+              "code": "350627",
+              "name": "鍗楅潠鍘�"
+            },
+            {
+              "code": "350628",
+              "name": "骞冲拰鍘�"
+            },
+            {
+              "code": "350629",
+              "name": "鍗庡畨鍘�"
+            },
+            {
+              "code": "350681",
+              "name": "榫欐捣甯�"
+            }
+          ]
+        },
+        {
+          "code": "3507",
+          "name": "鍗楀钩甯�",
+          "children": [
+            {
+              "code": "350702",
+              "name": "寤跺钩鍖�"
+            },
+            {
+              "code": "350703",
+              "name": "寤洪槼鍖�"
+            },
+            {
+              "code": "350721",
+              "name": "椤烘槍鍘�"
+            },
+            {
+              "code": "350722",
+              "name": "娴﹀煄鍘�"
+            },
+            {
+              "code": "350723",
+              "name": "鍏夋辰鍘�"
+            },
+            {
+              "code": "350724",
+              "name": "鏉炬邯鍘�"
+            },
+            {
+              "code": "350725",
+              "name": "鏀垮拰鍘�"
+            },
+            {
+              "code": "350781",
+              "name": "閭垫甯�"
+            },
+            {
+              "code": "350782",
+              "name": "姝﹀し灞卞競"
+            },
+            {
+              "code": "350783",
+              "name": "寤虹摨甯�"
+            }
+          ]
+        },
+        {
+          "code": "3508",
+          "name": "榫欏博甯�",
+          "children": [
+            {
+              "code": "350802",
+              "name": "鏂扮綏鍖�"
+            },
+            {
+              "code": "350803",
+              "name": "姘稿畾鍖�"
+            },
+            {
+              "code": "350821",
+              "name": "闀挎眬鍘�"
+            },
+            {
+              "code": "350823",
+              "name": "涓婃澀鍘�"
+            },
+            {
+              "code": "350824",
+              "name": "姝﹀钩鍘�"
+            },
+            {
+              "code": "350825",
+              "name": "杩炲煄鍘�"
+            },
+            {
+              "code": "350881",
+              "name": "婕冲钩甯�"
+            }
+          ]
+        },
+        {
+          "code": "3509",
+          "name": "瀹佸痉甯�",
+          "children": [
+            {
+              "code": "350902",
+              "name": "钑夊煄鍖�"
+            },
+            {
+              "code": "350921",
+              "name": "闇炴郸鍘�"
+            },
+            {
+              "code": "350922",
+              "name": "鍙ょ敯鍘�"
+            },
+            {
+              "code": "350923",
+              "name": "灞忓崡鍘�"
+            },
+            {
+              "code": "350924",
+              "name": "瀵垮畞鍘�"
+            },
+            {
+              "code": "350925",
+              "name": "鍛ㄥ畞鍘�"
+            },
+            {
+              "code": "350926",
+              "name": "鏌樿崳鍘�"
+            },
+            {
+              "code": "350981",
+              "name": "绂忓畨甯�"
+            },
+            {
+              "code": "350982",
+              "name": "绂忛紟甯�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "36",
+      "name": "姹熻タ鐪�",
+      "children": [
+        {
+          "code": "3601",
+          "name": "鍗楁槍甯�",
+          "children": [
+            {
+              "code": "360102",
+              "name": "涓滄箹鍖�"
+            },
+            {
+              "code": "360103",
+              "name": "瑗挎箹鍖�"
+            },
+            {
+              "code": "360104",
+              "name": "闈掍簯璋卞尯"
+            },
+            {
+              "code": "360105",
+              "name": "婀鹃噷鍖�"
+            },
+            {
+              "code": "360111",
+              "name": "闈掑北婀栧尯"
+            },
+            {
+              "code": "360112",
+              "name": "鏂板缓鍖�"
+            },
+            {
+              "code": "360121",
+              "name": "鍗楁槍鍘�"
+            },
+            {
+              "code": "360123",
+              "name": "瀹変箟鍘�"
+            },
+            {
+              "code": "360124",
+              "name": "杩涜搐鍘�"
+            }
+          ]
+        },
+        {
+          "code": "3602",
+          "name": "鏅痉闀囧競",
+          "children": [
+            {
+              "code": "360202",
+              "name": "鏄屾睙鍖�"
+            },
+            {
+              "code": "360203",
+              "name": "鐝犲北鍖�"
+            },
+            {
+              "code": "360222",
+              "name": "娴鍘�"
+            },
+            {
+              "code": "360281",
+              "name": "涔愬钩甯�"
+            }
+          ]
+        },
+        {
+          "code": "3603",
+          "name": "钀嶄埂甯�",
+          "children": [
+            {
+              "code": "360302",
+              "name": "瀹夋簮鍖�"
+            },
+            {
+              "code": "360313",
+              "name": "婀樹笢鍖�"
+            },
+            {
+              "code": "360321",
+              "name": "鑾茶姳鍘�"
+            },
+            {
+              "code": "360322",
+              "name": "涓婃牀鍘�"
+            },
+            {
+              "code": "360323",
+              "name": "鑺︽邯鍘�"
+            }
+          ]
+        },
+        {
+          "code": "3604",
+          "name": "涔濇睙甯�",
+          "children": [
+            {
+              "code": "360402",
+              "name": "婵傛邯鍖�"
+            },
+            {
+              "code": "360403",
+              "name": "娴旈槼鍖�"
+            },
+            {
+              "code": "360404",
+              "name": "鏌存鍖�"
+            },
+            {
+              "code": "360423",
+              "name": "姝﹀畞鍘�"
+            },
+            {
+              "code": "360424",
+              "name": "淇按鍘�"
+            },
+            {
+              "code": "360425",
+              "name": "姘镐慨鍘�"
+            },
+            {
+              "code": "360426",
+              "name": "寰峰畨鍘�"
+            },
+            {
+              "code": "360428",
+              "name": "閮芥槍鍘�"
+            },
+            {
+              "code": "360429",
+              "name": "婀栧彛鍘�"
+            },
+            {
+              "code": "360430",
+              "name": "褰辰鍘�"
+            },
+            {
+              "code": "360481",
+              "name": "鐟炴槍甯�"
+            },
+            {
+              "code": "360482",
+              "name": "鍏遍潚鍩庡競"
+            },
+            {
+              "code": "360483",
+              "name": "搴愬北甯�"
+            }
+          ]
+        },
+        {
+          "code": "3605",
+          "name": "鏂颁綑甯�",
+          "children": [
+            {
+              "code": "360502",
+              "name": "娓濇按鍖�"
+            },
+            {
+              "code": "360521",
+              "name": "鍒嗗疁鍘�"
+            }
+          ]
+        },
+        {
+          "code": "3606",
+          "name": "楣版江甯�",
+          "children": [
+            {
+              "code": "360602",
+              "name": "鏈堟箹鍖�"
+            },
+            {
+              "code": "360603",
+              "name": "浣欐睙鍖�"
+            },
+            {
+              "code": "360681",
+              "name": "璐垫邯甯�"
+            }
+          ]
+        },
+        {
+          "code": "3607",
+          "name": "璧e窞甯�",
+          "children": [
+            {
+              "code": "360702",
+              "name": "绔犺础鍖�"
+            },
+            {
+              "code": "360703",
+              "name": "鍗楀悍鍖�"
+            },
+            {
+              "code": "360704",
+              "name": "璧e幙鍖�"
+            },
+            {
+              "code": "360722",
+              "name": "淇′赴鍘�"
+            },
+            {
+              "code": "360723",
+              "name": "澶т綑鍘�"
+            },
+            {
+              "code": "360724",
+              "name": "涓婄姽鍘�"
+            },
+            {
+              "code": "360725",
+              "name": "宕囦箟鍘�"
+            },
+            {
+              "code": "360726",
+              "name": "瀹夎繙鍘�"
+            },
+            {
+              "code": "360727",
+              "name": "榫欏崡鍘�"
+            },
+            {
+              "code": "360728",
+              "name": "瀹氬崡鍘�"
+            },
+            {
+              "code": "360729",
+              "name": "鍏ㄥ崡鍘�"
+            },
+            {
+              "code": "360730",
+              "name": "瀹侀兘鍘�"
+            },
+            {
+              "code": "360731",
+              "name": "浜庨兘鍘�"
+            },
+            {
+              "code": "360732",
+              "name": "鍏村浗鍘�"
+            },
+            {
+              "code": "360733",
+              "name": "浼氭槍鍘�"
+            },
+            {
+              "code": "360734",
+              "name": "瀵讳箤鍘�"
+            },
+            {
+              "code": "360735",
+              "name": "鐭冲煄鍘�"
+            },
+            {
+              "code": "360781",
+              "name": "鐟為噾甯�"
+            }
+          ]
+        },
+        {
+          "code": "3608",
+          "name": "鍚夊畨甯�",
+          "children": [
+            {
+              "code": "360802",
+              "name": "鍚夊窞鍖�"
+            },
+            {
+              "code": "360803",
+              "name": "闈掑師鍖�"
+            },
+            {
+              "code": "360821",
+              "name": "鍚夊畨鍘�"
+            },
+            {
+              "code": "360822",
+              "name": "鍚夋按鍘�"
+            },
+            {
+              "code": "360823",
+              "name": "宄℃睙鍘�"
+            },
+            {
+              "code": "360824",
+              "name": "鏂板共鍘�"
+            },
+            {
+              "code": "360825",
+              "name": "姘镐赴鍘�"
+            },
+            {
+              "code": "360826",
+              "name": "娉板拰鍘�"
+            },
+            {
+              "code": "360827",
+              "name": "閬傚窛鍘�"
+            },
+            {
+              "code": "360828",
+              "name": "涓囧畨鍘�"
+            },
+            {
+              "code": "360829",
+              "name": "瀹夌鍘�"
+            },
+            {
+              "code": "360830",
+              "name": "姘告柊鍘�"
+            },
+            {
+              "code": "360881",
+              "name": "浜曞唸灞卞競"
+            }
+          ]
+        },
+        {
+          "code": "3609",
+          "name": "瀹滄槬甯�",
+          "children": [
+            {
+              "code": "360902",
+              "name": "琚佸窞鍖�"
+            },
+            {
+              "code": "360921",
+              "name": "濂夋柊鍘�"
+            },
+            {
+              "code": "360922",
+              "name": "涓囪浇鍘�"
+            },
+            {
+              "code": "360923",
+              "name": "涓婇珮鍘�"
+            },
+            {
+              "code": "360924",
+              "name": "瀹滀赴鍘�"
+            },
+            {
+              "code": "360925",
+              "name": "闈栧畨鍘�"
+            },
+            {
+              "code": "360926",
+              "name": "閾滈紦鍘�"
+            },
+            {
+              "code": "360981",
+              "name": "涓板煄甯�"
+            },
+            {
+              "code": "360982",
+              "name": "妯熸爲甯�"
+            },
+            {
+              "code": "360983",
+              "name": "楂樺畨甯�"
+            }
+          ]
+        },
+        {
+          "code": "3610",
+          "name": "鎶氬窞甯�",
+          "children": [
+            {
+              "code": "361002",
+              "name": "涓村窛鍖�"
+            },
+            {
+              "code": "361003",
+              "name": "涓滀埂鍖�"
+            },
+            {
+              "code": "361021",
+              "name": "鍗楀煄鍘�"
+            },
+            {
+              "code": "361022",
+              "name": "榛庡窛鍘�"
+            },
+            {
+              "code": "361023",
+              "name": "鍗椾赴鍘�"
+            },
+            {
+              "code": "361024",
+              "name": "宕囦粊鍘�"
+            },
+            {
+              "code": "361025",
+              "name": "涔愬畨鍘�"
+            },
+            {
+              "code": "361026",
+              "name": "瀹滈粍鍘�"
+            },
+            {
+              "code": "361027",
+              "name": "閲戞邯鍘�"
+            },
+            {
+              "code": "361028",
+              "name": "璧勬邯鍘�"
+            },
+            {
+              "code": "361030",
+              "name": "骞挎槍鍘�"
+            }
+          ]
+        },
+        {
+          "code": "3611",
+          "name": "涓婇ザ甯�",
+          "children": [
+            {
+              "code": "361102",
+              "name": "淇″窞鍖�"
+            },
+            {
+              "code": "361103",
+              "name": "骞夸赴鍖�"
+            },
+            {
+              "code": "361104",
+              "name": "骞夸俊鍖�"
+            },
+            {
+              "code": "361123",
+              "name": "鐜夊北鍘�"
+            },
+            {
+              "code": "361124",
+              "name": "閾呭北鍘�"
+            },
+            {
+              "code": "361125",
+              "name": "妯嘲鍘�"
+            },
+            {
+              "code": "361126",
+              "name": "寮嬮槼鍘�"
+            },
+            {
+              "code": "361127",
+              "name": "浣欏共鍘�"
+            },
+            {
+              "code": "361128",
+              "name": "閯遍槼鍘�"
+            },
+            {
+              "code": "361129",
+              "name": "涓囧勾鍘�"
+            },
+            {
+              "code": "361130",
+              "name": "濠烘簮鍘�"
+            },
+            {
+              "code": "361181",
+              "name": "寰峰叴甯�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "37",
+      "name": "灞变笢鐪�",
+      "children": [
+        {
+          "code": "3701",
+          "name": "娴庡崡甯�",
+          "children": [
+            {
+              "code": "370102",
+              "name": "鍘嗕笅鍖�"
+            },
+            {
+              "code": "370103",
+              "name": "甯備腑鍖�"
+            },
+            {
+              "code": "370104",
+              "name": "妲愯崼鍖�"
+            },
+            {
+              "code": "370105",
+              "name": "澶╂ˉ鍖�"
+            },
+            {
+              "code": "370112",
+              "name": "鍘嗗煄鍖�"
+            },
+            {
+              "code": "370113",
+              "name": "闀挎竻鍖�"
+            },
+            {
+              "code": "370114",
+              "name": "绔犱笜鍖�"
+            },
+            {
+              "code": "370115",
+              "name": "娴庨槼鍖�"
+            },
+            {
+              "code": "370116",
+              "name": "鑾辫姕鍖�"
+            },
+            {
+              "code": "370117",
+              "name": "閽㈠煄鍖�"
+            },
+            {
+              "code": "370124",
+              "name": "骞抽槾鍘�"
+            },
+            {
+              "code": "370126",
+              "name": "鍟嗘渤鍘�"
+            },
+            {
+              "code": "370171",
+              "name": "娴庡崡楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "3702",
+          "name": "闈掑矝甯�",
+          "children": [
+            {
+              "code": "370202",
+              "name": "甯傚崡鍖�"
+            },
+            {
+              "code": "370203",
+              "name": "甯傚寳鍖�"
+            },
+            {
+              "code": "370211",
+              "name": "榛勫矝鍖�"
+            },
+            {
+              "code": "370212",
+              "name": "宕傚北鍖�"
+            },
+            {
+              "code": "370213",
+              "name": "鏉庢钵鍖�"
+            },
+            {
+              "code": "370214",
+              "name": "鍩庨槼鍖�"
+            },
+            {
+              "code": "370215",
+              "name": "鍗冲ⅷ鍖�"
+            },
+            {
+              "code": "370271",
+              "name": "闈掑矝楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "370281",
+              "name": "鑳跺窞甯�"
+            },
+            {
+              "code": "370283",
+              "name": "骞冲害甯�"
+            },
+            {
+              "code": "370285",
+              "name": "鑾辫タ甯�"
+            }
+          ]
+        },
+        {
+          "code": "3703",
+          "name": "娣勫崥甯�",
+          "children": [
+            {
+              "code": "370302",
+              "name": "娣勫窛鍖�"
+            },
+            {
+              "code": "370303",
+              "name": "寮犲簵鍖�"
+            },
+            {
+              "code": "370304",
+              "name": "鍗氬北鍖�"
+            },
+            {
+              "code": "370305",
+              "name": "涓存穭鍖�"
+            },
+            {
+              "code": "370306",
+              "name": "鍛ㄦ潙鍖�"
+            },
+            {
+              "code": "370321",
+              "name": "妗撳彴鍘�"
+            },
+            {
+              "code": "370322",
+              "name": "楂橀潚鍘�"
+            },
+            {
+              "code": "370323",
+              "name": "娌傛簮鍘�"
+            }
+          ]
+        },
+        {
+          "code": "3704",
+          "name": "鏋e簞甯�",
+          "children": [
+            {
+              "code": "370402",
+              "name": "甯備腑鍖�"
+            },
+            {
+              "code": "370403",
+              "name": "钖涘煄鍖�"
+            },
+            {
+              "code": "370404",
+              "name": "宄勫煄鍖�"
+            },
+            {
+              "code": "370405",
+              "name": "鍙板効搴勫尯"
+            },
+            {
+              "code": "370406",
+              "name": "灞变涵鍖�"
+            },
+            {
+              "code": "370481",
+              "name": "婊曞窞甯�"
+            }
+          ]
+        },
+        {
+          "code": "3705",
+          "name": "涓滆惀甯�",
+          "children": [
+            {
+              "code": "370502",
+              "name": "涓滆惀鍖�"
+            },
+            {
+              "code": "370503",
+              "name": "娌冲彛鍖�"
+            },
+            {
+              "code": "370505",
+              "name": "鍨﹀埄鍖�"
+            },
+            {
+              "code": "370522",
+              "name": "鍒╂触鍘�"
+            },
+            {
+              "code": "370523",
+              "name": "骞块ザ鍘�"
+            },
+            {
+              "code": "370571",
+              "name": "涓滆惀缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "370572",
+              "name": "涓滆惀娓粡娴庡紑鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "3706",
+          "name": "鐑熷彴甯�",
+          "children": [
+            {
+              "code": "370602",
+              "name": "鑺濈綐鍖�"
+            },
+            {
+              "code": "370611",
+              "name": "绂忓北鍖�"
+            },
+            {
+              "code": "370612",
+              "name": "鐗熷钩鍖�"
+            },
+            {
+              "code": "370613",
+              "name": "鑾卞北鍖�"
+            },
+            {
+              "code": "370634",
+              "name": "闀垮矝鍘�"
+            },
+            {
+              "code": "370671",
+              "name": "鐑熷彴楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "370672",
+              "name": "鐑熷彴缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "370681",
+              "name": "榫欏彛甯�"
+            },
+            {
+              "code": "370682",
+              "name": "鑾遍槼甯�"
+            },
+            {
+              "code": "370683",
+              "name": "鑾卞窞甯�"
+            },
+            {
+              "code": "370684",
+              "name": "钃幈甯�"
+            },
+            {
+              "code": "370685",
+              "name": "鎷涜繙甯�"
+            },
+            {
+              "code": "370686",
+              "name": "鏍栭湠甯�"
+            },
+            {
+              "code": "370687",
+              "name": "娴烽槼甯�"
+            }
+          ]
+        },
+        {
+          "code": "3707",
+          "name": "娼嶅潑甯�",
+          "children": [
+            {
+              "code": "370702",
+              "name": "娼嶅煄鍖�"
+            },
+            {
+              "code": "370703",
+              "name": "瀵掍涵鍖�"
+            },
+            {
+              "code": "370704",
+              "name": "鍧婂瓙鍖�"
+            },
+            {
+              "code": "370705",
+              "name": "濂庢枃鍖�"
+            },
+            {
+              "code": "370724",
+              "name": "涓存湊鍘�"
+            },
+            {
+              "code": "370725",
+              "name": "鏄屼箰鍘�"
+            },
+            {
+              "code": "370772",
+              "name": "娼嶅潑婊ㄦ捣缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "370781",
+              "name": "闈掑窞甯�"
+            },
+            {
+              "code": "370782",
+              "name": "璇稿煄甯�"
+            },
+            {
+              "code": "370783",
+              "name": "瀵垮厜甯�"
+            },
+            {
+              "code": "370784",
+              "name": "瀹変笜甯�"
+            },
+            {
+              "code": "370785",
+              "name": "楂樺瘑甯�"
+            },
+            {
+              "code": "370786",
+              "name": "鏄岄倯甯�"
+            }
+          ]
+        },
+        {
+          "code": "3708",
+          "name": "娴庡畞甯�",
+          "children": [
+            {
+              "code": "370811",
+              "name": "浠诲煄鍖�"
+            },
+            {
+              "code": "370812",
+              "name": "鍏栧窞鍖�"
+            },
+            {
+              "code": "370826",
+              "name": "寰北鍘�"
+            },
+            {
+              "code": "370827",
+              "name": "楸煎彴鍘�"
+            },
+            {
+              "code": "370828",
+              "name": "閲戜埂鍘�"
+            },
+            {
+              "code": "370829",
+              "name": "鍢夌ゥ鍘�"
+            },
+            {
+              "code": "370830",
+              "name": "姹朵笂鍘�"
+            },
+            {
+              "code": "370831",
+              "name": "娉楁按鍘�"
+            },
+            {
+              "code": "370832",
+              "name": "姊佸北鍘�"
+            },
+            {
+              "code": "370871",
+              "name": "娴庡畞楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "370881",
+              "name": "鏇查槣甯�"
+            },
+            {
+              "code": "370883",
+              "name": "閭瑰煄甯�"
+            }
+          ]
+        },
+        {
+          "code": "3709",
+          "name": "娉板畨甯�",
+          "children": [
+            {
+              "code": "370902",
+              "name": "娉板北鍖�"
+            },
+            {
+              "code": "370911",
+              "name": "宀卞渤鍖�"
+            },
+            {
+              "code": "370921",
+              "name": "瀹侀槼鍘�"
+            },
+            {
+              "code": "370923",
+              "name": "涓滃钩鍘�"
+            },
+            {
+              "code": "370982",
+              "name": "鏂版嘲甯�"
+            },
+            {
+              "code": "370983",
+              "name": "鑲ュ煄甯�"
+            }
+          ]
+        },
+        {
+          "code": "3710",
+          "name": "濞佹捣甯�",
+          "children": [
+            {
+              "code": "371002",
+              "name": "鐜繝鍖�"
+            },
+            {
+              "code": "371003",
+              "name": "鏂囩櫥鍖�"
+            },
+            {
+              "code": "371071",
+              "name": "濞佹捣鐏偓楂樻妧鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "371072",
+              "name": "濞佹捣缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "371073",
+              "name": "濞佹捣涓存腐缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "371082",
+              "name": "鑽f垚甯�"
+            },
+            {
+              "code": "371083",
+              "name": "涔冲北甯�"
+            }
+          ]
+        },
+        {
+          "code": "3711",
+          "name": "鏃ョ収甯�",
+          "children": [
+            {
+              "code": "371102",
+              "name": "涓滄腐鍖�"
+            },
+            {
+              "code": "371103",
+              "name": "宀氬北鍖�"
+            },
+            {
+              "code": "371121",
+              "name": "浜旇幉鍘�"
+            },
+            {
+              "code": "371122",
+              "name": "鑾掑幙"
+            },
+            {
+              "code": "371171",
+              "name": "鏃ョ収缁忔祹鎶�鏈紑鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "3713",
+          "name": "涓存矀甯�",
+          "children": [
+            {
+              "code": "371302",
+              "name": "鍏板北鍖�"
+            },
+            {
+              "code": "371311",
+              "name": "缃楀簞鍖�"
+            },
+            {
+              "code": "371312",
+              "name": "娌充笢鍖�"
+            },
+            {
+              "code": "371321",
+              "name": "娌傚崡鍘�"
+            },
+            {
+              "code": "371322",
+              "name": "閮煄鍘�"
+            },
+            {
+              "code": "371323",
+              "name": "娌傛按鍘�"
+            },
+            {
+              "code": "371324",
+              "name": "鍏伴櫟鍘�"
+            },
+            {
+              "code": "371325",
+              "name": "璐瑰幙"
+            },
+            {
+              "code": "371326",
+              "name": "骞抽倯鍘�"
+            },
+            {
+              "code": "371327",
+              "name": "鑾掑崡鍘�"
+            },
+            {
+              "code": "371328",
+              "name": "钂欓槾鍘�"
+            },
+            {
+              "code": "371329",
+              "name": "涓存箔鍘�"
+            },
+            {
+              "code": "371371",
+              "name": "涓存矀楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "371372",
+              "name": "涓存矀缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "371373",
+              "name": "涓存矀涓存腐缁忔祹寮�鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "3714",
+          "name": "寰峰窞甯�",
+          "children": [
+            {
+              "code": "371402",
+              "name": "寰峰煄鍖�"
+            },
+            {
+              "code": "371403",
+              "name": "闄靛煄鍖�"
+            },
+            {
+              "code": "371422",
+              "name": "瀹佹触鍘�"
+            },
+            {
+              "code": "371423",
+              "name": "搴嗕簯鍘�"
+            },
+            {
+              "code": "371424",
+              "name": "涓撮倯鍘�"
+            },
+            {
+              "code": "371425",
+              "name": "榻愭渤鍘�"
+            },
+            {
+              "code": "371426",
+              "name": "骞冲師鍘�"
+            },
+            {
+              "code": "371427",
+              "name": "澶忔触鍘�"
+            },
+            {
+              "code": "371428",
+              "name": "姝﹀煄鍘�"
+            },
+            {
+              "code": "371471",
+              "name": "寰峰窞缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "371472",
+              "name": "寰峰窞杩愭渤缁忔祹寮�鍙戝尯"
+            },
+            {
+              "code": "371481",
+              "name": "涔愰櫟甯�"
+            },
+            {
+              "code": "371482",
+              "name": "绂瑰煄甯�"
+            }
+          ]
+        },
+        {
+          "code": "3715",
+          "name": "鑱婂煄甯�",
+          "children": [
+            {
+              "code": "371502",
+              "name": "涓滄槍搴滃尯"
+            },
+            {
+              "code": "371503",
+              "name": "鑼屽钩鍖�"
+            },
+            {
+              "code": "371521",
+              "name": "闃宠胺鍘�"
+            },
+            {
+              "code": "371522",
+              "name": "鑾樺幙"
+            },
+            {
+              "code": "371524",
+              "name": "涓滈樋鍘�"
+            },
+            {
+              "code": "371525",
+              "name": "鍐犲幙"
+            },
+            {
+              "code": "371526",
+              "name": "楂樺攼鍘�"
+            },
+            {
+              "code": "371581",
+              "name": "涓存竻甯�"
+            }
+          ]
+        },
+        {
+          "code": "3716",
+          "name": "婊ㄥ窞甯�",
+          "children": [
+            {
+              "code": "371602",
+              "name": "婊ㄥ煄鍖�"
+            },
+            {
+              "code": "371603",
+              "name": "娌惧寲鍖�"
+            },
+            {
+              "code": "371621",
+              "name": "鎯犳皯鍘�"
+            },
+            {
+              "code": "371622",
+              "name": "闃充俊鍘�"
+            },
+            {
+              "code": "371623",
+              "name": "鏃犳#鍘�"
+            },
+            {
+              "code": "371625",
+              "name": "鍗氬叴鍘�"
+            },
+            {
+              "code": "371681",
+              "name": "閭瑰钩甯�"
+            }
+          ]
+        },
+        {
+          "code": "3717",
+          "name": "鑿忔辰甯�",
+          "children": [
+            {
+              "code": "371702",
+              "name": "鐗′腹鍖�"
+            },
+            {
+              "code": "371703",
+              "name": "瀹氶櫠鍖�"
+            },
+            {
+              "code": "371721",
+              "name": "鏇瑰幙"
+            },
+            {
+              "code": "371722",
+              "name": "鍗曞幙"
+            },
+            {
+              "code": "371723",
+              "name": "鎴愭鍘�"
+            },
+            {
+              "code": "371724",
+              "name": "宸ㄩ噹鍘�"
+            },
+            {
+              "code": "371725",
+              "name": "閮撳煄鍘�"
+            },
+            {
+              "code": "371726",
+              "name": "閯勫煄鍘�"
+            },
+            {
+              "code": "371728",
+              "name": "涓滄槑鍘�"
+            },
+            {
+              "code": "371771",
+              "name": "鑿忔辰缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "371772",
+              "name": "鑿忔辰楂樻柊鎶�鏈紑鍙戝尯"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "41",
+      "name": "娌冲崡鐪�",
+      "children": [
+        {
+          "code": "4101",
+          "name": "閮戝窞甯�",
+          "children": [
+            {
+              "code": "410102",
+              "name": "涓師鍖�"
+            },
+            {
+              "code": "410103",
+              "name": "浜屼竷鍖�"
+            },
+            {
+              "code": "410104",
+              "name": "绠″煄鍥炴棌鍖�"
+            },
+            {
+              "code": "410105",
+              "name": "閲戞按鍖�"
+            },
+            {
+              "code": "410106",
+              "name": "涓婅鍖�"
+            },
+            {
+              "code": "410108",
+              "name": "鎯犳祹鍖�"
+            },
+            {
+              "code": "410122",
+              "name": "涓墴鍘�"
+            },
+            {
+              "code": "410171",
+              "name": "閮戝窞缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "410172",
+              "name": "閮戝窞楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "410173",
+              "name": "閮戝窞鑸┖娓粡娴庣患鍚堝疄楠屽尯"
+            },
+            {
+              "code": "410181",
+              "name": "宸╀箟甯�"
+            },
+            {
+              "code": "410182",
+              "name": "鑽ラ槼甯�"
+            },
+            {
+              "code": "410183",
+              "name": "鏂板瘑甯�"
+            },
+            {
+              "code": "410184",
+              "name": "鏂伴儜甯�"
+            },
+            {
+              "code": "410185",
+              "name": "鐧诲皝甯�"
+            }
+          ]
+        },
+        {
+          "code": "4102",
+          "name": "寮�灏佸競",
+          "children": [
+            {
+              "code": "410202",
+              "name": "榫欎涵鍖�"
+            },
+            {
+              "code": "410203",
+              "name": "椤烘渤鍥炴棌鍖�"
+            },
+            {
+              "code": "410204",
+              "name": "榧撴ゼ鍖�"
+            },
+            {
+              "code": "410205",
+              "name": "绂圭帇鍙板尯"
+            },
+            {
+              "code": "410212",
+              "name": "绁ョ鍖�"
+            },
+            {
+              "code": "410221",
+              "name": "鏉炲幙"
+            },
+            {
+              "code": "410222",
+              "name": "閫氳鍘�"
+            },
+            {
+              "code": "410223",
+              "name": "灏夋皬鍘�"
+            },
+            {
+              "code": "410225",
+              "name": "鍏拌�冨幙"
+            }
+          ]
+        },
+        {
+          "code": "4103",
+          "name": "娲涢槼甯�",
+          "children": [
+            {
+              "code": "410302",
+              "name": "鑰佸煄鍖�"
+            },
+            {
+              "code": "410303",
+              "name": "瑗垮伐鍖�"
+            },
+            {
+              "code": "410304",
+              "name": "鐎嶆渤鍥炴棌鍖�"
+            },
+            {
+              "code": "410305",
+              "name": "娑цタ鍖�"
+            },
+            {
+              "code": "410306",
+              "name": "鍚夊埄鍖�"
+            },
+            {
+              "code": "410311",
+              "name": "娲涢緳鍖�"
+            },
+            {
+              "code": "410322",
+              "name": "瀛熸触鍘�"
+            },
+            {
+              "code": "410323",
+              "name": "鏂板畨鍘�"
+            },
+            {
+              "code": "410324",
+              "name": "鏍惧窛鍘�"
+            },
+            {
+              "code": "410325",
+              "name": "宓╁幙"
+            },
+            {
+              "code": "410326",
+              "name": "姹濋槼鍘�"
+            },
+            {
+              "code": "410327",
+              "name": "瀹滈槼鍘�"
+            },
+            {
+              "code": "410328",
+              "name": "娲涘畞鍘�"
+            },
+            {
+              "code": "410329",
+              "name": "浼婂窛鍘�"
+            },
+            {
+              "code": "410371",
+              "name": "娲涢槼楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "410381",
+              "name": "鍋冨笀甯�"
+            }
+          ]
+        },
+        {
+          "code": "4104",
+          "name": "骞抽《灞卞競",
+          "children": [
+            {
+              "code": "410402",
+              "name": "鏂板崕鍖�"
+            },
+            {
+              "code": "410403",
+              "name": "鍗笢鍖�"
+            },
+            {
+              "code": "410404",
+              "name": "鐭抽緳鍖�"
+            },
+            {
+              "code": "410411",
+              "name": "婀涙渤鍖�"
+            },
+            {
+              "code": "410421",
+              "name": "瀹濅赴鍘�"
+            },
+            {
+              "code": "410422",
+              "name": "鍙跺幙"
+            },
+            {
+              "code": "410423",
+              "name": "椴佸北鍘�"
+            },
+            {
+              "code": "410425",
+              "name": "閮忓幙"
+            },
+            {
+              "code": "410471",
+              "name": "骞抽《灞遍珮鏂版妧鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "410472",
+              "name": "骞抽《灞卞競鍩庝埂涓�浣撳寲绀鸿寖鍖�"
+            },
+            {
+              "code": "410481",
+              "name": "鑸為挗甯�"
+            },
+            {
+              "code": "410482",
+              "name": "姹濆窞甯�"
+            }
+          ]
+        },
+        {
+          "code": "4105",
+          "name": "瀹夐槼甯�",
+          "children": [
+            {
+              "code": "410502",
+              "name": "鏂囧嘲鍖�"
+            },
+            {
+              "code": "410503",
+              "name": "鍖楀叧鍖�"
+            },
+            {
+              "code": "410505",
+              "name": "娈烽兘鍖�"
+            },
+            {
+              "code": "410506",
+              "name": "榫欏畨鍖�"
+            },
+            {
+              "code": "410522",
+              "name": "瀹夐槼鍘�"
+            },
+            {
+              "code": "410523",
+              "name": "姹ら槾鍘�"
+            },
+            {
+              "code": "410526",
+              "name": "婊戝幙"
+            },
+            {
+              "code": "410527",
+              "name": "鍐呴粍鍘�"
+            },
+            {
+              "code": "410571",
+              "name": "瀹夐槼楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "410581",
+              "name": "鏋楀窞甯�"
+            }
+          ]
+        },
+        {
+          "code": "4106",
+          "name": "楣ゅ甯�",
+          "children": [
+            {
+              "code": "410602",
+              "name": "楣ゅ北鍖�"
+            },
+            {
+              "code": "410603",
+              "name": "灞卞煄鍖�"
+            },
+            {
+              "code": "410611",
+              "name": "娣囨花鍖�"
+            },
+            {
+              "code": "410621",
+              "name": "娴氬幙"
+            },
+            {
+              "code": "410622",
+              "name": "娣囧幙"
+            },
+            {
+              "code": "410671",
+              "name": "楣ゅ缁忔祹鎶�鏈紑鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "4107",
+          "name": "鏂颁埂甯�",
+          "children": [
+            {
+              "code": "410702",
+              "name": "绾㈡棗鍖�"
+            },
+            {
+              "code": "410703",
+              "name": "鍗花鍖�"
+            },
+            {
+              "code": "410704",
+              "name": "鍑ゆ硥鍖�"
+            },
+            {
+              "code": "410711",
+              "name": "鐗ч噹鍖�"
+            },
+            {
+              "code": "410721",
+              "name": "鏂颁埂鍘�"
+            },
+            {
+              "code": "410724",
+              "name": "鑾峰槈鍘�"
+            },
+            {
+              "code": "410725",
+              "name": "鍘熼槼鍘�"
+            },
+            {
+              "code": "410726",
+              "name": "寤舵触鍘�"
+            },
+            {
+              "code": "410727",
+              "name": "灏佷笜鍘�"
+            },
+            {
+              "code": "410771",
+              "name": "鏂颁埂楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "410772",
+              "name": "鏂颁埂缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "410773",
+              "name": "鏂颁埂甯傚钩鍘熷煄涔′竴浣撳寲绀鸿寖鍖�"
+            },
+            {
+              "code": "410781",
+              "name": "鍗緣甯�"
+            },
+            {
+              "code": "410782",
+              "name": "杈夊幙甯�"
+            },
+            {
+              "code": "410783",
+              "name": "闀垮灒甯�"
+            }
+          ]
+        },
+        {
+          "code": "4108",
+          "name": "鐒︿綔甯�",
+          "children": [
+            {
+              "code": "410802",
+              "name": "瑙f斁鍖�"
+            },
+            {
+              "code": "410803",
+              "name": "涓珯鍖�"
+            },
+            {
+              "code": "410804",
+              "name": "椹潙鍖�"
+            },
+            {
+              "code": "410811",
+              "name": "灞遍槼鍖�"
+            },
+            {
+              "code": "410821",
+              "name": "淇鍘�"
+            },
+            {
+              "code": "410822",
+              "name": "鍗氱埍鍘�"
+            },
+            {
+              "code": "410823",
+              "name": "姝﹂櫉鍘�"
+            },
+            {
+              "code": "410825",
+              "name": "娓╁幙"
+            },
+            {
+              "code": "410871",
+              "name": "鐒︿綔鍩庝埂涓�浣撳寲绀鸿寖鍖�"
+            },
+            {
+              "code": "410882",
+              "name": "娌侀槼甯�"
+            },
+            {
+              "code": "410883",
+              "name": "瀛熷窞甯�"
+            }
+          ]
+        },
+        {
+          "code": "4109",
+          "name": "婵槼甯�",
+          "children": [
+            {
+              "code": "410902",
+              "name": "鍗庨緳鍖�"
+            },
+            {
+              "code": "410922",
+              "name": "娓呬赴鍘�"
+            },
+            {
+              "code": "410923",
+              "name": "鍗椾箰鍘�"
+            },
+            {
+              "code": "410926",
+              "name": "鑼冨幙"
+            },
+            {
+              "code": "410927",
+              "name": "鍙板墠鍘�"
+            },
+            {
+              "code": "410928",
+              "name": "婵槼鍘�"
+            },
+            {
+              "code": "410971",
+              "name": "娌冲崡婵槼宸ヤ笟鍥尯"
+            },
+            {
+              "code": "410972",
+              "name": "婵槼缁忔祹鎶�鏈紑鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "4110",
+          "name": "璁告槍甯�",
+          "children": [
+            {
+              "code": "411002",
+              "name": "榄忛兘鍖�"
+            },
+            {
+              "code": "411003",
+              "name": "寤哄畨鍖�"
+            },
+            {
+              "code": "411024",
+              "name": "閯㈤櫟鍘�"
+            },
+            {
+              "code": "411025",
+              "name": "瑗勫煄鍘�"
+            },
+            {
+              "code": "411071",
+              "name": "璁告槍缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "411081",
+              "name": "绂瑰窞甯�"
+            },
+            {
+              "code": "411082",
+              "name": "闀胯憶甯�"
+            }
+          ]
+        },
+        {
+          "code": "4111",
+          "name": "婕渤甯�",
+          "children": [
+            {
+              "code": "411102",
+              "name": "婧愭眹鍖�"
+            },
+            {
+              "code": "411103",
+              "name": "閮惧煄鍖�"
+            },
+            {
+              "code": "411104",
+              "name": "鍙櫟鍖�"
+            },
+            {
+              "code": "411121",
+              "name": "鑸為槼鍘�"
+            },
+            {
+              "code": "411122",
+              "name": "涓撮鍘�"
+            },
+            {
+              "code": "411171",
+              "name": "婕渤缁忔祹鎶�鏈紑鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "4112",
+          "name": "涓夐棬宄″競",
+          "children": [
+            {
+              "code": "411202",
+              "name": "婀栨花鍖�"
+            },
+            {
+              "code": "411203",
+              "name": "闄曞窞鍖�"
+            },
+            {
+              "code": "411221",
+              "name": "娓戞睜鍘�"
+            },
+            {
+              "code": "411224",
+              "name": "鍗㈡皬鍘�"
+            },
+            {
+              "code": "411271",
+              "name": "娌冲崡涓夐棬宄$粡娴庡紑鍙戝尯"
+            },
+            {
+              "code": "411281",
+              "name": "涔夐┈甯�"
+            },
+            {
+              "code": "411282",
+              "name": "鐏靛疂甯�"
+            }
+          ]
+        },
+        {
+          "code": "4113",
+          "name": "鍗楅槼甯�",
+          "children": [
+            {
+              "code": "411302",
+              "name": "瀹涘煄鍖�"
+            },
+            {
+              "code": "411303",
+              "name": "鍗ч緳鍖�"
+            },
+            {
+              "code": "411321",
+              "name": "鍗楀彫鍘�"
+            },
+            {
+              "code": "411322",
+              "name": "鏂瑰煄鍘�"
+            },
+            {
+              "code": "411323",
+              "name": "瑗垮场鍘�"
+            },
+            {
+              "code": "411324",
+              "name": "闀囧钩鍘�"
+            },
+            {
+              "code": "411325",
+              "name": "鍐呬埂鍘�"
+            },
+            {
+              "code": "411326",
+              "name": "娣呭窛鍘�"
+            },
+            {
+              "code": "411327",
+              "name": "绀炬棗鍘�"
+            },
+            {
+              "code": "411328",
+              "name": "鍞愭渤鍘�"
+            },
+            {
+              "code": "411329",
+              "name": "鏂伴噹鍘�"
+            },
+            {
+              "code": "411330",
+              "name": "妗愭煆鍘�"
+            },
+            {
+              "code": "411371",
+              "name": "鍗楅槼楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            },
+            {
+              "code": "411372",
+              "name": "鍗楅槼甯傚煄涔′竴浣撳寲绀鸿寖鍖�"
+            },
+            {
+              "code": "411381",
+              "name": "閭撳窞甯�"
+            }
+          ]
+        },
+        {
+          "code": "4114",
+          "name": "鍟嗕笜甯�",
+          "children": [
+            {
+              "code": "411402",
+              "name": "姊佸洯鍖�"
+            },
+            {
+              "code": "411403",
+              "name": "鐫㈤槼鍖�"
+            },
+            {
+              "code": "411421",
+              "name": "姘戞潈鍘�"
+            },
+            {
+              "code": "411422",
+              "name": "鐫㈠幙"
+            },
+            {
+              "code": "411423",
+              "name": "瀹侀櫟鍘�"
+            },
+            {
+              "code": "411424",
+              "name": "鏌樺煄鍘�"
+            },
+            {
+              "code": "411425",
+              "name": "铏炲煄鍘�"
+            },
+            {
+              "code": "411426",
+              "name": "澶忛倯鍘�"
+            },
+            {
+              "code": "411471",
+              "name": "璞笢缁煎悎鐗╂祦浜т笟鑱氶泦鍖�"
+            },
+            {
+              "code": "411472",
+              "name": "娌冲崡鍟嗕笜缁忔祹寮�鍙戝尯"
+            },
+            {
+              "code": "411481",
+              "name": "姘稿煄甯�"
+            }
+          ]
+        },
+        {
+          "code": "4115",
+          "name": "淇¢槼甯�",
+          "children": [
+            {
+              "code": "411502",
+              "name": "娴夋渤鍖�"
+            },
+            {
+              "code": "411503",
+              "name": "骞虫ˉ鍖�"
+            },
+            {
+              "code": "411521",
+              "name": "缃楀北鍘�"
+            },
+            {
+              "code": "411522",
+              "name": "鍏夊北鍘�"
+            },
+            {
+              "code": "411523",
+              "name": "鏂板幙"
+            },
+            {
+              "code": "411524",
+              "name": "鍟嗗煄鍘�"
+            },
+            {
+              "code": "411525",
+              "name": "鍥哄鍘�"
+            },
+            {
+              "code": "411526",
+              "name": "娼㈠窛鍘�"
+            },
+            {
+              "code": "411527",
+              "name": "娣花鍘�"
+            },
+            {
+              "code": "411528",
+              "name": "鎭幙"
+            },
+            {
+              "code": "411571",
+              "name": "淇¢槼楂樻柊鎶�鏈骇涓氬紑鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "4116",
+          "name": "鍛ㄥ彛甯�",
+          "children": [
+            {
+              "code": "411602",
+              "name": "宸濇眹鍖�"
+            },
+            {
+              "code": "411603",
+              "name": "娣槼鍖�"
+            },
+            {
+              "code": "411621",
+              "name": "鎵舵矡鍘�"
+            },
+            {
+              "code": "411622",
+              "name": "瑗垮崕鍘�"
+            },
+            {
+              "code": "411623",
+              "name": "鍟嗘按鍘�"
+            },
+            {
+              "code": "411624",
+              "name": "娌堜笜鍘�"
+            },
+            {
+              "code": "411625",
+              "name": "閮稿煄鍘�"
+            },
+            {
+              "code": "411627",
+              "name": "澶悍鍘�"
+            },
+            {
+              "code": "411628",
+              "name": "楣块倯鍘�"
+            },
+            {
+              "code": "411671",
+              "name": "娌冲崡鍛ㄥ彛缁忔祹寮�鍙戝尯"
+            },
+            {
+              "code": "411681",
+              "name": "椤瑰煄甯�"
+            }
+          ]
+        },
+        {
+          "code": "4117",
+          "name": "椹婚┈搴楀競",
+          "children": [
+            {
+              "code": "411702",
+              "name": "椹垮煄鍖�"
+            },
+            {
+              "code": "411721",
+              "name": "瑗垮钩鍘�"
+            },
+            {
+              "code": "411722",
+              "name": "涓婅敗鍘�"
+            },
+            {
+              "code": "411723",
+              "name": "骞宠垎鍘�"
+            },
+            {
+              "code": "411724",
+              "name": "姝i槼鍘�"
+            },
+            {
+              "code": "411725",
+              "name": "纭北鍘�"
+            },
+            {
+              "code": "411726",
+              "name": "娉岄槼鍘�"
+            },
+            {
+              "code": "411727",
+              "name": "姹濆崡鍘�"
+            },
+            {
+              "code": "411728",
+              "name": "閬傚钩鍘�"
+            },
+            {
+              "code": "411729",
+              "name": "鏂拌敗鍘�"
+            },
+            {
+              "code": "411771",
+              "name": "娌冲崡椹婚┈搴楃粡娴庡紑鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "4190",
+          "name": "鐪佺洿杈栧幙绾ц鏀垮尯鍒�",
+          "children": [
+            {
+              "code": "419001",
+              "name": "娴庢簮甯�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "42",
+      "name": "婀栧寳鐪�",
+      "children": [
+        {
+          "code": "4201",
+          "name": "姝︽眽甯�",
+          "children": [
+            {
+              "code": "420102",
+              "name": "姹熷哺鍖�"
+            },
+            {
+              "code": "420103",
+              "name": "姹熸眽鍖�"
+            },
+            {
+              "code": "420104",
+              "name": "纭氬彛鍖�"
+            },
+            {
+              "code": "420105",
+              "name": "姹夐槼鍖�"
+            },
+            {
+              "code": "420106",
+              "name": "姝︽槍鍖�"
+            },
+            {
+              "code": "420107",
+              "name": "闈掑北鍖�"
+            },
+            {
+              "code": "420111",
+              "name": "娲北鍖�"
+            },
+            {
+              "code": "420112",
+              "name": "涓滆タ婀栧尯"
+            },
+            {
+              "code": "420113",
+              "name": "姹夊崡鍖�"
+            },
+            {
+              "code": "420114",
+              "name": "钄$敻鍖�"
+            },
+            {
+              "code": "420115",
+              "name": "姹熷鍖�"
+            },
+            {
+              "code": "420116",
+              "name": "榛勯檪鍖�"
+            },
+            {
+              "code": "420117",
+              "name": "鏂版床鍖�"
+            }
+          ]
+        },
+        {
+          "code": "4202",
+          "name": "榛勭煶甯�",
+          "children": [
+            {
+              "code": "420202",
+              "name": "榛勭煶娓尯"
+            },
+            {
+              "code": "420203",
+              "name": "瑗垮灞卞尯"
+            },
+            {
+              "code": "420204",
+              "name": "涓嬮檰鍖�"
+            },
+            {
+              "code": "420205",
+              "name": "閾佸北鍖�"
+            },
+            {
+              "code": "420222",
+              "name": "闃虫柊鍘�"
+            },
+            {
+              "code": "420281",
+              "name": "澶у喍甯�"
+            }
+          ]
+        },
+        {
+          "code": "4203",
+          "name": "鍗佸牥甯�",
+          "children": [
+            {
+              "code": "420302",
+              "name": "鑼呯鍖�"
+            },
+            {
+              "code": "420303",
+              "name": "寮犳咕鍖�"
+            },
+            {
+              "code": "420304",
+              "name": "閮ч槼鍖�"
+            },
+            {
+              "code": "420322",
+              "name": "閮цタ鍘�"
+            },
+            {
+              "code": "420323",
+              "name": "绔瑰北鍘�"
+            },
+            {
+              "code": "420324",
+              "name": "绔规邯鍘�"
+            },
+            {
+              "code": "420325",
+              "name": "鎴垮幙"
+            },
+            {
+              "code": "420381",
+              "name": "涓规睙鍙e競"
+            }
+          ]
+        },
+        {
+          "code": "4205",
+          "name": "瀹滄槍甯�",
+          "children": [
+            {
+              "code": "420502",
+              "name": "瑗块櫟鍖�"
+            },
+            {
+              "code": "420503",
+              "name": "浼嶅宀楀尯"
+            },
+            {
+              "code": "420504",
+              "name": "鐐瑰啗鍖�"
+            },
+            {
+              "code": "420505",
+              "name": "鐚囦涵鍖�"
+            },
+            {
+              "code": "420506",
+              "name": "澶烽櫟鍖�"
+            },
+            {
+              "code": "420525",
+              "name": "杩滃畨鍘�"
+            },
+            {
+              "code": "420526",
+              "name": "鍏村北鍘�"
+            },
+            {
+              "code": "420527",
+              "name": "绉綊鍘�"
+            },
+            {
+              "code": "420528",
+              "name": "闀块槼鍦熷鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "420529",
+              "name": "浜斿嘲鍦熷鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "420581",
+              "name": "瀹滈兘甯�"
+            },
+            {
+              "code": "420582",
+              "name": "褰撻槼甯�"
+            },
+            {
+              "code": "420583",
+              "name": "鏋濇睙甯�"
+            }
+          ]
+        },
+        {
+          "code": "4206",
+          "name": "瑗勯槼甯�",
+          "children": [
+            {
+              "code": "420602",
+              "name": "瑗勫煄鍖�"
+            },
+            {
+              "code": "420606",
+              "name": "妯婂煄鍖�"
+            },
+            {
+              "code": "420607",
+              "name": "瑗勫窞鍖�"
+            },
+            {
+              "code": "420624",
+              "name": "鍗楁汲鍘�"
+            },
+            {
+              "code": "420625",
+              "name": "璋峰煄鍘�"
+            },
+            {
+              "code": "420626",
+              "name": "淇濆悍鍘�"
+            },
+            {
+              "code": "420682",
+              "name": "鑰佹渤鍙e競"
+            },
+            {
+              "code": "420683",
+              "name": "鏋i槼甯�"
+            },
+            {
+              "code": "420684",
+              "name": "瀹滃煄甯�"
+            }
+          ]
+        },
+        {
+          "code": "4207",
+          "name": "閯傚窞甯�",
+          "children": [
+            {
+              "code": "420702",
+              "name": "姊佸瓙婀栧尯"
+            },
+            {
+              "code": "420703",
+              "name": "鍗庡鍖�"
+            },
+            {
+              "code": "420704",
+              "name": "閯傚煄鍖�"
+            }
+          ]
+        },
+        {
+          "code": "4208",
+          "name": "鑽嗛棬甯�",
+          "children": [
+            {
+              "code": "420802",
+              "name": "涓滃疂鍖�"
+            },
+            {
+              "code": "420804",
+              "name": "鎺囧垁鍖�"
+            },
+            {
+              "code": "420822",
+              "name": "娌欐磱鍘�"
+            },
+            {
+              "code": "420881",
+              "name": "閽熺ゥ甯�"
+            },
+            {
+              "code": "420882",
+              "name": "浜北甯�"
+            }
+          ]
+        },
+        {
+          "code": "4209",
+          "name": "瀛濇劅甯�",
+          "children": [
+            {
+              "code": "420902",
+              "name": "瀛濆崡鍖�"
+            },
+            {
+              "code": "420921",
+              "name": "瀛濇槍鍘�"
+            },
+            {
+              "code": "420922",
+              "name": "澶ф偀鍘�"
+            },
+            {
+              "code": "420923",
+              "name": "浜戞ⅵ鍘�"
+            },
+            {
+              "code": "420981",
+              "name": "搴斿煄甯�"
+            },
+            {
+              "code": "420982",
+              "name": "瀹夐檰甯�"
+            },
+            {
+              "code": "420984",
+              "name": "姹夊窛甯�"
+            }
+          ]
+        },
+        {
+          "code": "4210",
+          "name": "鑽嗗窞甯�",
+          "children": [
+            {
+              "code": "421002",
+              "name": "娌欏競鍖�"
+            },
+            {
+              "code": "421003",
+              "name": "鑽嗗窞鍖�"
+            },
+            {
+              "code": "421022",
+              "name": "鍏畨鍘�"
+            },
+            {
+              "code": "421023",
+              "name": "鐩戝埄鍘�"
+            },
+            {
+              "code": "421024",
+              "name": "姹熼櫟鍘�"
+            },
+            {
+              "code": "421071",
+              "name": "鑽嗗窞缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "421081",
+              "name": "鐭抽甯�"
+            },
+            {
+              "code": "421083",
+              "name": "娲箹甯�"
+            },
+            {
+              "code": "421087",
+              "name": "鏉炬粙甯�"
+            }
+          ]
+        },
+        {
+          "code": "4211",
+          "name": "榛勫唸甯�",
+          "children": [
+            {
+              "code": "421102",
+              "name": "榛勫窞鍖�"
+            },
+            {
+              "code": "421121",
+              "name": "鍥㈤鍘�"
+            },
+            {
+              "code": "421122",
+              "name": "绾㈠畨鍘�"
+            },
+            {
+              "code": "421123",
+              "name": "缃楃敯鍘�"
+            },
+            {
+              "code": "421124",
+              "name": "鑻卞北鍘�"
+            },
+            {
+              "code": "421125",
+              "name": "娴犳按鍘�"
+            },
+            {
+              "code": "421126",
+              "name": "钑叉槬鍘�"
+            },
+            {
+              "code": "421127",
+              "name": "榛勬鍘�"
+            },
+            {
+              "code": "421171",
+              "name": "榫欐劅婀栫鐞嗗尯"
+            },
+            {
+              "code": "421181",
+              "name": "楹诲煄甯�"
+            },
+            {
+              "code": "421182",
+              "name": "姝︾┐甯�"
+            }
+          ]
+        },
+        {
+          "code": "4212",
+          "name": "鍜稿畞甯�",
+          "children": [
+            {
+              "code": "421202",
+              "name": "鍜稿畨鍖�"
+            },
+            {
+              "code": "421221",
+              "name": "鍢夐奔鍘�"
+            },
+            {
+              "code": "421222",
+              "name": "閫氬煄鍘�"
+            },
+            {
+              "code": "421223",
+              "name": "宕囬槼鍘�"
+            },
+            {
+              "code": "421224",
+              "name": "閫氬北鍘�"
+            },
+            {
+              "code": "421281",
+              "name": "璧ゅ甯�"
+            }
+          ]
+        },
+        {
+          "code": "4213",
+          "name": "闅忓窞甯�",
+          "children": [
+            {
+              "code": "421303",
+              "name": "鏇鹃兘鍖�"
+            },
+            {
+              "code": "421321",
+              "name": "闅忓幙"
+            },
+            {
+              "code": "421381",
+              "name": "骞挎按甯�"
+            }
+          ]
+        },
+        {
+          "code": "4228",
+          "name": "鎭╂柦鍦熷鏃忚嫍鏃忚嚜娌诲窞",
+          "children": [
+            {
+              "code": "422801",
+              "name": "鎭╂柦甯�"
+            },
+            {
+              "code": "422802",
+              "name": "鍒╁窛甯�"
+            },
+            {
+              "code": "422822",
+              "name": "寤哄鍘�"
+            },
+            {
+              "code": "422823",
+              "name": "宸翠笢鍘�"
+            },
+            {
+              "code": "422825",
+              "name": "瀹f仼鍘�"
+            },
+            {
+              "code": "422826",
+              "name": "鍜镐赴鍘�"
+            },
+            {
+              "code": "422827",
+              "name": "鏉ュ嚖鍘�"
+            },
+            {
+              "code": "422828",
+              "name": "楣ゅ嘲鍘�"
+            }
+          ]
+        },
+        {
+          "code": "4290",
+          "name": "鐪佺洿杈栧幙绾ц鏀垮尯鍒�",
+          "children": [
+            {
+              "code": "429004",
+              "name": "浠欐甯�"
+            },
+            {
+              "code": "429005",
+              "name": "娼滄睙甯�"
+            },
+            {
+              "code": "429006",
+              "name": "澶╅棬甯�"
+            },
+            {
+              "code": "429021",
+              "name": "绁炲啘鏋舵灄鍖�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "43",
+      "name": "婀栧崡鐪�",
+      "children": [
+        {
+          "code": "4301",
+          "name": "闀挎矙甯�",
+          "children": [
+            {
+              "code": "430102",
+              "name": "鑺欒搲鍖�"
+            },
+            {
+              "code": "430103",
+              "name": "澶╁績鍖�"
+            },
+            {
+              "code": "430104",
+              "name": "宀抽簱鍖�"
+            },
+            {
+              "code": "430105",
+              "name": "寮�绂忓尯"
+            },
+            {
+              "code": "430111",
+              "name": "闆ㄨ姳鍖�"
+            },
+            {
+              "code": "430112",
+              "name": "鏈涘煄鍖�"
+            },
+            {
+              "code": "430121",
+              "name": "闀挎矙鍘�"
+            },
+            {
+              "code": "430181",
+              "name": "娴忛槼甯�"
+            },
+            {
+              "code": "430182",
+              "name": "瀹佷埂甯�"
+            }
+          ]
+        },
+        {
+          "code": "4302",
+          "name": "鏍床甯�",
+          "children": [
+            {
+              "code": "430202",
+              "name": "鑽峰鍖�"
+            },
+            {
+              "code": "430203",
+              "name": "鑺︽窞鍖�"
+            },
+            {
+              "code": "430204",
+              "name": "鐭冲嘲鍖�"
+            },
+            {
+              "code": "430211",
+              "name": "澶╁厓鍖�"
+            },
+            {
+              "code": "430212",
+              "name": "娓屽彛鍖�"
+            },
+            {
+              "code": "430223",
+              "name": "鏀稿幙"
+            },
+            {
+              "code": "430224",
+              "name": "鑼堕櫟鍘�"
+            },
+            {
+              "code": "430225",
+              "name": "鐐庨櫟鍘�"
+            },
+            {
+              "code": "430271",
+              "name": "浜戦緳绀鸿寖鍖�"
+            },
+            {
+              "code": "430281",
+              "name": "閱撮櫟甯�"
+            }
+          ]
+        },
+        {
+          "code": "4303",
+          "name": "婀樻江甯�",
+          "children": [
+            {
+              "code": "430302",
+              "name": "闆ㄦ箹鍖�"
+            },
+            {
+              "code": "430304",
+              "name": "宀冲鍖�"
+            },
+            {
+              "code": "430321",
+              "name": "婀樻江鍘�"
+            },
+            {
+              "code": "430371",
+              "name": "婀栧崡婀樻江楂樻柊鎶�鏈骇涓氬洯鍖�"
+            },
+            {
+              "code": "430372",
+              "name": "婀樻江鏄北绀鸿寖鍖�"
+            },
+            {
+              "code": "430373",
+              "name": "婀樻江涔濆崕绀鸿寖鍖�"
+            },
+            {
+              "code": "430381",
+              "name": "婀樹埂甯�"
+            },
+            {
+              "code": "430382",
+              "name": "闊跺北甯�"
+            }
+          ]
+        },
+        {
+          "code": "4304",
+          "name": "琛¢槼甯�",
+          "children": [
+            {
+              "code": "430405",
+              "name": "鐝犳櫀鍖�"
+            },
+            {
+              "code": "430406",
+              "name": "闆佸嘲鍖�"
+            },
+            {
+              "code": "430407",
+              "name": "鐭抽紦鍖�"
+            },
+            {
+              "code": "430408",
+              "name": "钂告箻鍖�"
+            },
+            {
+              "code": "430412",
+              "name": "鍗楀渤鍖�"
+            },
+            {
+              "code": "430421",
+              "name": "琛¢槼鍘�"
+            },
+            {
+              "code": "430422",
+              "name": "琛″崡鍘�"
+            },
+            {
+              "code": "430423",
+              "name": "琛″北鍘�"
+            },
+            {
+              "code": "430424",
+              "name": "琛′笢鍘�"
+            },
+            {
+              "code": "430426",
+              "name": "绁佷笢鍘�"
+            },
+            {
+              "code": "430471",
+              "name": "琛¢槼缁煎悎淇濈◣鍖�"
+            },
+            {
+              "code": "430472",
+              "name": "婀栧崡琛¢槼楂樻柊鎶�鏈骇涓氬洯鍖�"
+            },
+            {
+              "code": "430473",
+              "name": "婀栧崡琛¢槼鏉炬湪缁忔祹寮�鍙戝尯"
+            },
+            {
+              "code": "430481",
+              "name": "鑰掗槼甯�"
+            },
+            {
+              "code": "430482",
+              "name": "甯稿畞甯�"
+            }
+          ]
+        },
+        {
+          "code": "4305",
+          "name": "閭甸槼甯�",
+          "children": [
+            {
+              "code": "430502",
+              "name": "鍙屾竻鍖�"
+            },
+            {
+              "code": "430503",
+              "name": "澶хゥ鍖�"
+            },
+            {
+              "code": "430511",
+              "name": "鍖楀鍖�"
+            },
+            {
+              "code": "430522",
+              "name": "鏂伴偟鍘�"
+            },
+            {
+              "code": "430523",
+              "name": "閭甸槼鍘�"
+            },
+            {
+              "code": "430524",
+              "name": "闅嗗洖鍘�"
+            },
+            {
+              "code": "430525",
+              "name": "娲炲彛鍘�"
+            },
+            {
+              "code": "430527",
+              "name": "缁ュ畞鍘�"
+            },
+            {
+              "code": "430528",
+              "name": "鏂板畞鍘�"
+            },
+            {
+              "code": "430529",
+              "name": "鍩庢鑻楁棌鑷不鍘�"
+            },
+            {
+              "code": "430581",
+              "name": "姝﹀唸甯�"
+            },
+            {
+              "code": "430582",
+              "name": "閭典笢甯�"
+            }
+          ]
+        },
+        {
+          "code": "4306",
+          "name": "宀抽槼甯�",
+          "children": [
+            {
+              "code": "430602",
+              "name": "宀抽槼妤煎尯"
+            },
+            {
+              "code": "430603",
+              "name": "浜戞邯鍖�"
+            },
+            {
+              "code": "430611",
+              "name": "鍚涘北鍖�"
+            },
+            {
+              "code": "430621",
+              "name": "宀抽槼鍘�"
+            },
+            {
+              "code": "430623",
+              "name": "鍗庡鍘�"
+            },
+            {
+              "code": "430624",
+              "name": "婀橀槾鍘�"
+            },
+            {
+              "code": "430626",
+              "name": "骞虫睙鍘�"
+            },
+            {
+              "code": "430671",
+              "name": "宀抽槼甯傚眻鍘熺鐞嗗尯"
+            },
+            {
+              "code": "430681",
+              "name": "姹ㄧ綏甯�"
+            },
+            {
+              "code": "430682",
+              "name": "涓存箻甯�"
+            }
+          ]
+        },
+        {
+          "code": "4307",
+          "name": "甯稿痉甯�",
+          "children": [
+            {
+              "code": "430702",
+              "name": "姝﹂櫟鍖�"
+            },
+            {
+              "code": "430703",
+              "name": "榧庡煄鍖�"
+            },
+            {
+              "code": "430721",
+              "name": "瀹変埂鍘�"
+            },
+            {
+              "code": "430722",
+              "name": "姹夊鍘�"
+            },
+            {
+              "code": "430723",
+              "name": "婢у幙"
+            },
+            {
+              "code": "430724",
+              "name": "涓存晶鍘�"
+            },
+            {
+              "code": "430725",
+              "name": "妗冩簮鍘�"
+            },
+            {
+              "code": "430726",
+              "name": "鐭抽棬鍘�"
+            },
+            {
+              "code": "430771",
+              "name": "甯稿痉甯傝タ娲炲涵绠$悊鍖�"
+            },
+            {
+              "code": "430781",
+              "name": "娲ュ競甯�"
+            }
+          ]
+        },
+        {
+          "code": "4308",
+          "name": "寮犲鐣屽競",
+          "children": [
+            {
+              "code": "430802",
+              "name": "姘稿畾鍖�"
+            },
+            {
+              "code": "430811",
+              "name": "姝﹂櫟婧愬尯"
+            },
+            {
+              "code": "430821",
+              "name": "鎱堝埄鍘�"
+            },
+            {
+              "code": "430822",
+              "name": "妗戞鍘�"
+            }
+          ]
+        },
+        {
+          "code": "4309",
+          "name": "鐩婇槼甯�",
+          "children": [
+            {
+              "code": "430902",
+              "name": "璧勯槼鍖�"
+            },
+            {
+              "code": "430903",
+              "name": "璧北鍖�"
+            },
+            {
+              "code": "430921",
+              "name": "鍗楀幙"
+            },
+            {
+              "code": "430922",
+              "name": "妗冩睙鍘�"
+            },
+            {
+              "code": "430923",
+              "name": "瀹夊寲鍘�"
+            },
+            {
+              "code": "430971",
+              "name": "鐩婇槼甯傚ぇ閫氭箹绠$悊鍖�"
+            },
+            {
+              "code": "430972",
+              "name": "婀栧崡鐩婇槼楂樻柊鎶�鏈骇涓氬洯鍖�"
+            },
+            {
+              "code": "430981",
+              "name": "娌呮睙甯�"
+            }
+          ]
+        },
+        {
+          "code": "4310",
+          "name": "閮村窞甯�",
+          "children": [
+            {
+              "code": "431002",
+              "name": "鍖楁箹鍖�"
+            },
+            {
+              "code": "431003",
+              "name": "鑻忎粰鍖�"
+            },
+            {
+              "code": "431021",
+              "name": "妗傞槼鍘�"
+            },
+            {
+              "code": "431022",
+              "name": "瀹滅珷鍘�"
+            },
+            {
+              "code": "431023",
+              "name": "姘稿叴鍘�"
+            },
+            {
+              "code": "431024",
+              "name": "鍢夌鍘�"
+            },
+            {
+              "code": "431025",
+              "name": "涓存鍘�"
+            },
+            {
+              "code": "431026",
+              "name": "姹濆煄鍘�"
+            },
+            {
+              "code": "431027",
+              "name": "妗備笢鍘�"
+            },
+            {
+              "code": "431028",
+              "name": "瀹変粊鍘�"
+            },
+            {
+              "code": "431081",
+              "name": "璧勫叴甯�"
+            }
+          ]
+        },
+        {
+          "code": "4311",
+          "name": "姘稿窞甯�",
+          "children": [
+            {
+              "code": "431102",
+              "name": "闆堕櫟鍖�"
+            },
+            {
+              "code": "431103",
+              "name": "鍐锋按婊╁尯"
+            },
+            {
+              "code": "431121",
+              "name": "绁侀槼鍘�"
+            },
+            {
+              "code": "431122",
+              "name": "涓滃畨鍘�"
+            },
+            {
+              "code": "431123",
+              "name": "鍙岀墝鍘�"
+            },
+            {
+              "code": "431124",
+              "name": "閬撳幙"
+            },
+            {
+              "code": "431125",
+              "name": "姹熸案鍘�"
+            },
+            {
+              "code": "431126",
+              "name": "瀹佽繙鍘�"
+            },
+            {
+              "code": "431127",
+              "name": "钃濆北鍘�"
+            },
+            {
+              "code": "431128",
+              "name": "鏂扮敯鍘�"
+            },
+            {
+              "code": "431129",
+              "name": "姹熷崕鐟舵棌鑷不鍘�"
+            },
+            {
+              "code": "431171",
+              "name": "姘稿窞缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "431172",
+              "name": "姘稿窞甯傞噾娲炵鐞嗗尯"
+            },
+            {
+              "code": "431173",
+              "name": "姘稿窞甯傚洖榫欏湬绠$悊鍖�"
+            }
+          ]
+        },
+        {
+          "code": "4312",
+          "name": "鎬�鍖栧競",
+          "children": [
+            {
+              "code": "431202",
+              "name": "楣ゅ煄鍖�"
+            },
+            {
+              "code": "431221",
+              "name": "涓柟鍘�"
+            },
+            {
+              "code": "431222",
+              "name": "娌呴櫟鍘�"
+            },
+            {
+              "code": "431223",
+              "name": "杈版邯鍘�"
+            },
+            {
+              "code": "431224",
+              "name": "婧嗘郸鍘�"
+            },
+            {
+              "code": "431225",
+              "name": "浼氬悓鍘�"
+            },
+            {
+              "code": "431226",
+              "name": "楹婚槼鑻楁棌鑷不鍘�"
+            },
+            {
+              "code": "431227",
+              "name": "鏂版檭渚楁棌鑷不鍘�"
+            },
+            {
+              "code": "431228",
+              "name": "鑺锋睙渚楁棌鑷不鍘�"
+            },
+            {
+              "code": "431229",
+              "name": "闈栧窞鑻楁棌渚楁棌鑷不鍘�"
+            },
+            {
+              "code": "431230",
+              "name": "閫氶亾渚楁棌鑷不鍘�"
+            },
+            {
+              "code": "431271",
+              "name": "鎬�鍖栧競娲睙绠$悊鍖�"
+            },
+            {
+              "code": "431281",
+              "name": "娲睙甯�"
+            }
+          ]
+        },
+        {
+          "code": "4313",
+          "name": "濞勫簳甯�",
+          "children": [
+            {
+              "code": "431302",
+              "name": "濞勬槦鍖�"
+            },
+            {
+              "code": "431321",
+              "name": "鍙屽嘲鍘�"
+            },
+            {
+              "code": "431322",
+              "name": "鏂板寲鍘�"
+            },
+            {
+              "code": "431381",
+              "name": "鍐锋按姹熷競"
+            },
+            {
+              "code": "431382",
+              "name": "娑熸簮甯�"
+            }
+          ]
+        },
+        {
+          "code": "4331",
+          "name": "婀樿タ鍦熷鏃忚嫍鏃忚嚜娌诲窞",
+          "children": [
+            {
+              "code": "433101",
+              "name": "鍚夐甯�"
+            },
+            {
+              "code": "433122",
+              "name": "娉告邯鍘�"
+            },
+            {
+              "code": "433123",
+              "name": "鍑ゅ嚢鍘�"
+            },
+            {
+              "code": "433124",
+              "name": "鑺卞灒鍘�"
+            },
+            {
+              "code": "433125",
+              "name": "淇濋潠鍘�"
+            },
+            {
+              "code": "433126",
+              "name": "鍙や笀鍘�"
+            },
+            {
+              "code": "433127",
+              "name": "姘搁『鍘�"
+            },
+            {
+              "code": "433130",
+              "name": "榫欏北鍘�"
+            },
+            {
+              "code": "433173",
+              "name": "婀栧崡姘搁『缁忔祹寮�鍙戝尯"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "44",
+      "name": "骞夸笢鐪�",
+      "children": [
+        {
+          "code": "4401",
+          "name": "骞垮窞甯�",
+          "children": [
+            {
+              "code": "440103",
+              "name": "鑽旀咕鍖�"
+            },
+            {
+              "code": "440104",
+              "name": "瓒婄鍖�"
+            },
+            {
+              "code": "440105",
+              "name": "娴风彔鍖�"
+            },
+            {
+              "code": "440106",
+              "name": "澶╂渤鍖�"
+            },
+            {
+              "code": "440111",
+              "name": "鐧戒簯鍖�"
+            },
+            {
+              "code": "440112",
+              "name": "榛勫煍鍖�"
+            },
+            {
+              "code": "440113",
+              "name": "鐣鍖�"
+            },
+            {
+              "code": "440114",
+              "name": "鑺遍兘鍖�"
+            },
+            {
+              "code": "440115",
+              "name": "鍗楁矙鍖�"
+            },
+            {
+              "code": "440117",
+              "name": "浠庡寲鍖�"
+            },
+            {
+              "code": "440118",
+              "name": "澧炲煄鍖�"
+            }
+          ]
+        },
+        {
+          "code": "4402",
+          "name": "闊跺叧甯�",
+          "children": [
+            {
+              "code": "440203",
+              "name": "姝︽睙鍖�"
+            },
+            {
+              "code": "440204",
+              "name": "娴堟睙鍖�"
+            },
+            {
+              "code": "440205",
+              "name": "鏇叉睙鍖�"
+            },
+            {
+              "code": "440222",
+              "name": "濮嬪叴鍘�"
+            },
+            {
+              "code": "440224",
+              "name": "浠佸寲鍘�"
+            },
+            {
+              "code": "440229",
+              "name": "缈佹簮鍘�"
+            },
+            {
+              "code": "440232",
+              "name": "涔虫簮鐟舵棌鑷不鍘�"
+            },
+            {
+              "code": "440233",
+              "name": "鏂颁赴鍘�"
+            },
+            {
+              "code": "440281",
+              "name": "涔愭槍甯�"
+            },
+            {
+              "code": "440282",
+              "name": "鍗楅泟甯�"
+            }
+          ]
+        },
+        {
+          "code": "4403",
+          "name": "娣卞湷甯�",
+          "children": [
+            {
+              "code": "440303",
+              "name": "缃楁箹鍖�"
+            },
+            {
+              "code": "440304",
+              "name": "绂忕敯鍖�"
+            },
+            {
+              "code": "440305",
+              "name": "鍗楀北鍖�"
+            },
+            {
+              "code": "440306",
+              "name": "瀹濆畨鍖�"
+            },
+            {
+              "code": "440307",
+              "name": "榫欏矖鍖�"
+            },
+            {
+              "code": "440308",
+              "name": "鐩愮敯鍖�"
+            },
+            {
+              "code": "440309",
+              "name": "榫欏崕鍖�"
+            },
+            {
+              "code": "440310",
+              "name": "鍧北鍖�"
+            },
+            {
+              "code": "440311",
+              "name": "鍏夋槑鍖�"
+            }
+          ]
+        },
+        {
+          "code": "4404",
+          "name": "鐝犳捣甯�",
+          "children": [
+            {
+              "code": "440402",
+              "name": "棣欐床鍖�"
+            },
+            {
+              "code": "440403",
+              "name": "鏂楅棬鍖�"
+            },
+            {
+              "code": "440404",
+              "name": "閲戞咕鍖�"
+            }
+          ]
+        },
+        {
+          "code": "4405",
+          "name": "姹曞ご甯�",
+          "children": [
+            {
+              "code": "440507",
+              "name": "榫欐箹鍖�"
+            },
+            {
+              "code": "440511",
+              "name": "閲戝钩鍖�"
+            },
+            {
+              "code": "440512",
+              "name": "婵犳睙鍖�"
+            },
+            {
+              "code": "440513",
+              "name": "娼槼鍖�"
+            },
+            {
+              "code": "440514",
+              "name": "娼崡鍖�"
+            },
+            {
+              "code": "440515",
+              "name": "婢勬捣鍖�"
+            },
+            {
+              "code": "440523",
+              "name": "鍗楁境鍘�"
+            }
+          ]
+        },
+        {
+          "code": "4406",
+          "name": "浣涘北甯�",
+          "children": [
+            {
+              "code": "440604",
+              "name": "绂呭煄鍖�"
+            },
+            {
+              "code": "440605",
+              "name": "鍗楁捣鍖�"
+            },
+            {
+              "code": "440606",
+              "name": "椤哄痉鍖�"
+            },
+            {
+              "code": "440607",
+              "name": "涓夋按鍖�"
+            },
+            {
+              "code": "440608",
+              "name": "楂樻槑鍖�"
+            }
+          ]
+        },
+        {
+          "code": "4407",
+          "name": "姹熼棬甯�",
+          "children": [
+            {
+              "code": "440703",
+              "name": "钃睙鍖�"
+            },
+            {
+              "code": "440704",
+              "name": "姹熸捣鍖�"
+            },
+            {
+              "code": "440705",
+              "name": "鏂颁細鍖�"
+            },
+            {
+              "code": "440781",
+              "name": "鍙板北甯�"
+            },
+            {
+              "code": "440783",
+              "name": "寮�骞冲競"
+            },
+            {
+              "code": "440784",
+              "name": "楣ゅ北甯�"
+            },
+            {
+              "code": "440785",
+              "name": "鎭╁钩甯�"
+            }
+          ]
+        },
+        {
+          "code": "4408",
+          "name": "婀涙睙甯�",
+          "children": [
+            {
+              "code": "440802",
+              "name": "璧ゅ潕鍖�"
+            },
+            {
+              "code": "440803",
+              "name": "闇炲北鍖�"
+            },
+            {
+              "code": "440804",
+              "name": "鍧″ご鍖�"
+            },
+            {
+              "code": "440811",
+              "name": "楹荤珷鍖�"
+            },
+            {
+              "code": "440823",
+              "name": "閬傛邯鍘�"
+            },
+            {
+              "code": "440825",
+              "name": "寰愰椈鍘�"
+            },
+            {
+              "code": "440881",
+              "name": "寤夋睙甯�"
+            },
+            {
+              "code": "440882",
+              "name": "闆峰窞甯�"
+            },
+            {
+              "code": "440883",
+              "name": "鍚村窛甯�"
+            }
+          ]
+        },
+        {
+          "code": "4409",
+          "name": "鑼傚悕甯�",
+          "children": [
+            {
+              "code": "440902",
+              "name": "鑼傚崡鍖�"
+            },
+            {
+              "code": "440904",
+              "name": "鐢电櫧鍖�"
+            },
+            {
+              "code": "440981",
+              "name": "楂樺窞甯�"
+            },
+            {
+              "code": "440982",
+              "name": "鍖栧窞甯�"
+            },
+            {
+              "code": "440983",
+              "name": "淇″疁甯�"
+            }
+          ]
+        },
+        {
+          "code": "4412",
+          "name": "鑲囧簡甯�",
+          "children": [
+            {
+              "code": "441202",
+              "name": "绔窞鍖�"
+            },
+            {
+              "code": "441203",
+              "name": "榧庢箹鍖�"
+            },
+            {
+              "code": "441204",
+              "name": "楂樿鍖�"
+            },
+            {
+              "code": "441223",
+              "name": "骞垮畞鍘�"
+            },
+            {
+              "code": "441224",
+              "name": "鎬�闆嗗幙"
+            },
+            {
+              "code": "441225",
+              "name": "灏佸紑鍘�"
+            },
+            {
+              "code": "441226",
+              "name": "寰峰簡鍘�"
+            },
+            {
+              "code": "441284",
+              "name": "鍥涗細甯�"
+            }
+          ]
+        },
+        {
+          "code": "4413",
+          "name": "鎯犲窞甯�",
+          "children": [
+            {
+              "code": "441302",
+              "name": "鎯犲煄鍖�"
+            },
+            {
+              "code": "441303",
+              "name": "鎯犻槼鍖�"
+            },
+            {
+              "code": "441322",
+              "name": "鍗氱綏鍘�"
+            },
+            {
+              "code": "441323",
+              "name": "鎯犱笢鍘�"
+            },
+            {
+              "code": "441324",
+              "name": "榫欓棬鍘�"
+            }
+          ]
+        },
+        {
+          "code": "4414",
+          "name": "姊呭窞甯�",
+          "children": [
+            {
+              "code": "441402",
+              "name": "姊呮睙鍖�"
+            },
+            {
+              "code": "441403",
+              "name": "姊呭幙鍖�"
+            },
+            {
+              "code": "441422",
+              "name": "澶у煍鍘�"
+            },
+            {
+              "code": "441423",
+              "name": "涓伴『鍘�"
+            },
+            {
+              "code": "441424",
+              "name": "浜斿崕鍘�"
+            },
+            {
+              "code": "441426",
+              "name": "骞宠繙鍘�"
+            },
+            {
+              "code": "441427",
+              "name": "钑夊箔鍘�"
+            },
+            {
+              "code": "441481",
+              "name": "鍏村畞甯�"
+            }
+          ]
+        },
+        {
+          "code": "4415",
+          "name": "姹曞熬甯�",
+          "children": [
+            {
+              "code": "441502",
+              "name": "鍩庡尯"
+            },
+            {
+              "code": "441521",
+              "name": "娴蜂赴鍘�"
+            },
+            {
+              "code": "441523",
+              "name": "闄嗘渤鍘�"
+            },
+            {
+              "code": "441581",
+              "name": "闄嗕赴甯�"
+            }
+          ]
+        },
+        {
+          "code": "4416",
+          "name": "娌虫簮甯�",
+          "children": [
+            {
+              "code": "441602",
+              "name": "婧愬煄鍖�"
+            },
+            {
+              "code": "441621",
+              "name": "绱噾鍘�"
+            },
+            {
+              "code": "441622",
+              "name": "榫欏窛鍘�"
+            },
+            {
+              "code": "441623",
+              "name": "杩炲钩鍘�"
+            },
+            {
+              "code": "441624",
+              "name": "鍜屽钩鍘�"
+            },
+            {
+              "code": "441625",
+              "name": "涓滄簮鍘�"
+            }
+          ]
+        },
+        {
+          "code": "4417",
+          "name": "闃虫睙甯�",
+          "children": [
+            {
+              "code": "441702",
+              "name": "姹熷煄鍖�"
+            },
+            {
+              "code": "441704",
+              "name": "闃充笢鍖�"
+            },
+            {
+              "code": "441721",
+              "name": "闃宠タ鍘�"
+            },
+            {
+              "code": "441781",
+              "name": "闃虫槬甯�"
+            }
+          ]
+        },
+        {
+          "code": "4418",
+          "name": "娓呰繙甯�",
+          "children": [
+            {
+              "code": "441802",
+              "name": "娓呭煄鍖�"
+            },
+            {
+              "code": "441803",
+              "name": "娓呮柊鍖�"
+            },
+            {
+              "code": "441821",
+              "name": "浣涘唸鍘�"
+            },
+            {
+              "code": "441823",
+              "name": "闃冲北鍘�"
+            },
+            {
+              "code": "441825",
+              "name": "杩炲北澹棌鐟舵棌鑷不鍘�"
+            },
+            {
+              "code": "441826",
+              "name": "杩炲崡鐟舵棌鑷不鍘�"
+            },
+            {
+              "code": "441881",
+              "name": "鑻卞痉甯�"
+            },
+            {
+              "code": "441882",
+              "name": "杩炲窞甯�"
+            }
+          ]
+        },
+        {
+          "code": "4419",
+          "name": "涓滆帪甯�",
+          "children": [
+            {
+              "code": "441900003",
+              "name": "涓滃煄琛楅亾"
+            },
+            {
+              "code": "441900004",
+              "name": "鍗楀煄琛楅亾"
+            },
+            {
+              "code": "441900005",
+              "name": "涓囨睙琛楅亾"
+            },
+            {
+              "code": "441900006",
+              "name": "鑾炲煄琛楅亾"
+            },
+            {
+              "code": "441900101",
+              "name": "鐭崇ⅲ闀�"
+            },
+            {
+              "code": "441900102",
+              "name": "鐭抽緳闀�"
+            },
+            {
+              "code": "441900103",
+              "name": "鑼跺北闀�"
+            },
+            {
+              "code": "441900104",
+              "name": "鐭虫帓闀�"
+            },
+            {
+              "code": "441900105",
+              "name": "浼佺煶闀�"
+            },
+            {
+              "code": "441900106",
+              "name": "妯播闀�"
+            },
+            {
+              "code": "441900107",
+              "name": "妗ュご闀�"
+            },
+            {
+              "code": "441900108",
+              "name": "璋㈠矖闀�"
+            },
+            {
+              "code": "441900109",
+              "name": "涓滃潙闀�"
+            },
+            {
+              "code": "441900110",
+              "name": "甯稿钩闀�"
+            },
+            {
+              "code": "441900111",
+              "name": "瀵闀�"
+            },
+            {
+              "code": "441900112",
+              "name": "妯熸湪澶撮晣"
+            },
+            {
+              "code": "441900113",
+              "name": "澶ф湕闀�"
+            },
+            {
+              "code": "441900114",
+              "name": "榛勬睙闀�"
+            },
+            {
+              "code": "441900115",
+              "name": "娓呮邯闀�"
+            },
+            {
+              "code": "441900116",
+              "name": "濉樺帵闀�"
+            },
+            {
+              "code": "441900117",
+              "name": "鍑ゅ矖闀�"
+            },
+            {
+              "code": "441900118",
+              "name": "澶у箔灞遍晣"
+            },
+            {
+              "code": "441900119",
+              "name": "闀垮畨闀�"
+            },
+            {
+              "code": "441900121",
+              "name": "铏庨棬闀�"
+            },
+            {
+              "code": "441900122",
+              "name": "鍘氳闀�"
+            },
+            {
+              "code": "441900123",
+              "name": "娌欑敯闀�"
+            },
+            {
+              "code": "441900124",
+              "name": "閬撴粯闀�"
+            },
+            {
+              "code": "441900125",
+              "name": "娲闀�"
+            },
+            {
+              "code": "441900126",
+              "name": "楹绘秾闀�"
+            },
+            {
+              "code": "441900127",
+              "name": "鏈涚墰澧╅晣"
+            },
+            {
+              "code": "441900128",
+              "name": "涓爞闀�"
+            },
+            {
+              "code": "441900129",
+              "name": "楂樺煑闀�"
+            },
+            {
+              "code": "441900401",
+              "name": "鏉惧北婀�"
+            },
+            {
+              "code": "441900402",
+              "name": "涓滆帪娓�"
+            },
+            {
+              "code": "441900403",
+              "name": "涓滆帪鐢熸�佸洯"
+            }
+          ]
+        },
+        {
+          "code": "4420",
+          "name": "涓北甯�",
+          "children": [
+            {
+              "code": "442000001",
+              "name": "鐭冲矏琛楅亾"
+            },
+            {
+              "code": "442000002",
+              "name": "涓滃尯琛楅亾"
+            },
+            {
+              "code": "442000003",
+              "name": "涓北娓閬�"
+            },
+            {
+              "code": "442000004",
+              "name": "瑗垮尯琛楅亾"
+            },
+            {
+              "code": "442000005",
+              "name": "鍗楀尯琛楅亾"
+            },
+            {
+              "code": "442000006",
+              "name": "浜旀灞辫閬�"
+            },
+            {
+              "code": "442000100",
+              "name": "灏忔闀�"
+            },
+            {
+              "code": "442000101",
+              "name": "榛勫渻闀�"
+            },
+            {
+              "code": "442000102",
+              "name": "姘戜紬闀�"
+            },
+            {
+              "code": "442000103",
+              "name": "涓滃嚖闀�"
+            },
+            {
+              "code": "442000104",
+              "name": "涓滃崌闀�"
+            },
+            {
+              "code": "442000105",
+              "name": "鍙ら晣闀�"
+            },
+            {
+              "code": "442000106",
+              "name": "娌欐邯闀�"
+            },
+            {
+              "code": "442000107",
+              "name": "鍧︽床闀�"
+            },
+            {
+              "code": "442000108",
+              "name": "娓彛闀�"
+            },
+            {
+              "code": "442000109",
+              "name": "涓夎闀�"
+            },
+            {
+              "code": "442000110",
+              "name": "妯爮闀�"
+            },
+            {
+              "code": "442000111",
+              "name": "鍗楀ご闀�"
+            },
+            {
+              "code": "442000112",
+              "name": "闃滄矙闀�"
+            },
+            {
+              "code": "442000113",
+              "name": "鍗楁湕闀�"
+            },
+            {
+              "code": "442000114",
+              "name": "涓変埂闀�"
+            },
+            {
+              "code": "442000115",
+              "name": "鏉胯姍闀�"
+            },
+            {
+              "code": "442000116",
+              "name": "澶ф秾闀�"
+            },
+            {
+              "code": "442000117",
+              "name": "绁炴咕闀�"
+            }
+          ]
+        },
+        {
+          "code": "4451",
+          "name": "娼窞甯�",
+          "children": [
+            {
+              "code": "445102",
+              "name": "婀樻ˉ鍖�"
+            },
+            {
+              "code": "445103",
+              "name": "娼畨鍖�"
+            },
+            {
+              "code": "445122",
+              "name": "楗跺钩鍘�"
+            }
+          ]
+        },
+        {
+          "code": "4452",
+          "name": "鎻槼甯�",
+          "children": [
+            {
+              "code": "445202",
+              "name": "姒曞煄鍖�"
+            },
+            {
+              "code": "445203",
+              "name": "鎻笢鍖�"
+            },
+            {
+              "code": "445222",
+              "name": "鎻タ鍘�"
+            },
+            {
+              "code": "445224",
+              "name": "鎯犳潵鍘�"
+            },
+            {
+              "code": "445281",
+              "name": "鏅畞甯�"
+            }
+          ]
+        },
+        {
+          "code": "4453",
+          "name": "浜戞诞甯�",
+          "children": [
+            {
+              "code": "445302",
+              "name": "浜戝煄鍖�"
+            },
+            {
+              "code": "445303",
+              "name": "浜戝畨鍖�"
+            },
+            {
+              "code": "445321",
+              "name": "鏂板叴鍘�"
+            },
+            {
+              "code": "445322",
+              "name": "閮佸崡鍘�"
+            },
+            {
+              "code": "445381",
+              "name": "缃楀畾甯�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "45",
+      "name": "骞胯タ澹棌鑷不鍖�",
+      "children": [
+        {
+          "code": "4501",
+          "name": "鍗楀畞甯�",
+          "children": [
+            {
+              "code": "450102",
+              "name": "鍏村畞鍖�"
+            },
+            {
+              "code": "450103",
+              "name": "闈掔鍖�"
+            },
+            {
+              "code": "450105",
+              "name": "姹熷崡鍖�"
+            },
+            {
+              "code": "450107",
+              "name": "瑗夸埂濉樺尯"
+            },
+            {
+              "code": "450108",
+              "name": "鑹簡鍖�"
+            },
+            {
+              "code": "450109",
+              "name": "閭曞畞鍖�"
+            },
+            {
+              "code": "450110",
+              "name": "姝﹂福鍖�"
+            },
+            {
+              "code": "450123",
+              "name": "闅嗗畨鍘�"
+            },
+            {
+              "code": "450124",
+              "name": "椹北鍘�"
+            },
+            {
+              "code": "450125",
+              "name": "涓婃灄鍘�"
+            },
+            {
+              "code": "450126",
+              "name": "瀹鹃槼鍘�"
+            },
+            {
+              "code": "450127",
+              "name": "妯幙"
+            }
+          ]
+        },
+        {
+          "code": "4502",
+          "name": "鏌冲窞甯�",
+          "children": [
+            {
+              "code": "450202",
+              "name": "鍩庝腑鍖�"
+            },
+            {
+              "code": "450203",
+              "name": "楸煎嘲鍖�"
+            },
+            {
+              "code": "450204",
+              "name": "鏌冲崡鍖�"
+            },
+            {
+              "code": "450205",
+              "name": "鏌冲寳鍖�"
+            },
+            {
+              "code": "450206",
+              "name": "鏌虫睙鍖�"
+            },
+            {
+              "code": "450222",
+              "name": "鏌冲煄鍘�"
+            },
+            {
+              "code": "450223",
+              "name": "楣垮鍘�"
+            },
+            {
+              "code": "450224",
+              "name": "铻嶅畨鍘�"
+            },
+            {
+              "code": "450225",
+              "name": "铻嶆按鑻楁棌鑷不鍘�"
+            },
+            {
+              "code": "450226",
+              "name": "涓夋睙渚楁棌鑷不鍘�"
+            }
+          ]
+        },
+        {
+          "code": "4503",
+          "name": "妗傛灄甯�",
+          "children": [
+            {
+              "code": "450302",
+              "name": "绉�宄板尯"
+            },
+            {
+              "code": "450303",
+              "name": "鍙犲僵鍖�"
+            },
+            {
+              "code": "450304",
+              "name": "璞″北鍖�"
+            },
+            {
+              "code": "450305",
+              "name": "涓冩槦鍖�"
+            },
+            {
+              "code": "450311",
+              "name": "闆佸北鍖�"
+            },
+            {
+              "code": "450312",
+              "name": "涓存鍖�"
+            },
+            {
+              "code": "450321",
+              "name": "闃虫湐鍘�"
+            },
+            {
+              "code": "450323",
+              "name": "鐏靛窛鍘�"
+            },
+            {
+              "code": "450324",
+              "name": "鍏ㄥ窞鍘�"
+            },
+            {
+              "code": "450325",
+              "name": "鍏村畨鍘�"
+            },
+            {
+              "code": "450326",
+              "name": "姘哥鍘�"
+            },
+            {
+              "code": "450327",
+              "name": "鐏岄槼鍘�"
+            },
+            {
+              "code": "450328",
+              "name": "榫欒儨鍚勬棌鑷不鍘�"
+            },
+            {
+              "code": "450329",
+              "name": "璧勬簮鍘�"
+            },
+            {
+              "code": "450330",
+              "name": "骞充箰鍘�"
+            },
+            {
+              "code": "450332",
+              "name": "鎭煄鐟舵棌鑷不鍘�"
+            },
+            {
+              "code": "450381",
+              "name": "鑽旀郸甯�"
+            }
+          ]
+        },
+        {
+          "code": "4504",
+          "name": "姊у窞甯�",
+          "children": [
+            {
+              "code": "450403",
+              "name": "涓囩鍖�"
+            },
+            {
+              "code": "450405",
+              "name": "闀挎床鍖�"
+            },
+            {
+              "code": "450406",
+              "name": "榫欏湬鍖�"
+            },
+            {
+              "code": "450421",
+              "name": "鑻嶆ⅶ鍘�"
+            },
+            {
+              "code": "450422",
+              "name": "钘ゅ幙"
+            },
+            {
+              "code": "450423",
+              "name": "钂欏北鍘�"
+            },
+            {
+              "code": "450481",
+              "name": "宀戞邯甯�"
+            }
+          ]
+        },
+        {
+          "code": "4505",
+          "name": "鍖楁捣甯�",
+          "children": [
+            {
+              "code": "450502",
+              "name": "娴峰煄鍖�"
+            },
+            {
+              "code": "450503",
+              "name": "閾舵捣鍖�"
+            },
+            {
+              "code": "450512",
+              "name": "閾佸北娓尯"
+            },
+            {
+              "code": "450521",
+              "name": "鍚堟郸鍘�"
+            }
+          ]
+        },
+        {
+          "code": "4506",
+          "name": "闃插煄娓競",
+          "children": [
+            {
+              "code": "450602",
+              "name": "娓彛鍖�"
+            },
+            {
+              "code": "450603",
+              "name": "闃插煄鍖�"
+            },
+            {
+              "code": "450621",
+              "name": "涓婃�濆幙"
+            },
+            {
+              "code": "450681",
+              "name": "涓滃叴甯�"
+            }
+          ]
+        },
+        {
+          "code": "4507",
+          "name": "閽﹀窞甯�",
+          "children": [
+            {
+              "code": "450702",
+              "name": "閽﹀崡鍖�"
+            },
+            {
+              "code": "450703",
+              "name": "閽﹀寳鍖�"
+            },
+            {
+              "code": "450721",
+              "name": "鐏靛北鍘�"
+            },
+            {
+              "code": "450722",
+              "name": "娴﹀寳鍘�"
+            }
+          ]
+        },
+        {
+          "code": "4508",
+          "name": "璐垫腐甯�",
+          "children": [
+            {
+              "code": "450802",
+              "name": "娓寳鍖�"
+            },
+            {
+              "code": "450803",
+              "name": "娓崡鍖�"
+            },
+            {
+              "code": "450804",
+              "name": "瑕冨鍖�"
+            },
+            {
+              "code": "450821",
+              "name": "骞冲崡鍘�"
+            },
+            {
+              "code": "450881",
+              "name": "妗傚钩甯�"
+            }
+          ]
+        },
+        {
+          "code": "4509",
+          "name": "鐜夋灄甯�",
+          "children": [
+            {
+              "code": "450902",
+              "name": "鐜夊窞鍖�"
+            },
+            {
+              "code": "450903",
+              "name": "绂忕坏鍖�"
+            },
+            {
+              "code": "450921",
+              "name": "瀹瑰幙"
+            },
+            {
+              "code": "450922",
+              "name": "闄嗗窛鍘�"
+            },
+            {
+              "code": "450923",
+              "name": "鍗氱櫧鍘�"
+            },
+            {
+              "code": "450924",
+              "name": "鍏翠笟鍘�"
+            },
+            {
+              "code": "450981",
+              "name": "鍖楁祦甯�"
+            }
+          ]
+        },
+        {
+          "code": "4510",
+          "name": "鐧捐壊甯�",
+          "children": [
+            {
+              "code": "451002",
+              "name": "鍙虫睙鍖�"
+            },
+            {
+              "code": "451003",
+              "name": "鐢伴槼鍖�"
+            },
+            {
+              "code": "451022",
+              "name": "鐢颁笢鍘�"
+            },
+            {
+              "code": "451023",
+              "name": "骞虫灉鍘�"
+            },
+            {
+              "code": "451024",
+              "name": "寰蜂繚鍘�"
+            },
+            {
+              "code": "451026",
+              "name": "閭e潯鍘�"
+            },
+            {
+              "code": "451027",
+              "name": "鍑屼簯鍘�"
+            },
+            {
+              "code": "451028",
+              "name": "涔愪笟鍘�"
+            },
+            {
+              "code": "451029",
+              "name": "鐢版灄鍘�"
+            },
+            {
+              "code": "451030",
+              "name": "瑗挎灄鍘�"
+            },
+            {
+              "code": "451031",
+              "name": "闅嗘灄鍚勬棌鑷不鍘�"
+            },
+            {
+              "code": "451081",
+              "name": "闈栬タ甯�"
+            }
+          ]
+        },
+        {
+          "code": "4511",
+          "name": "璐哄窞甯�",
+          "children": [
+            {
+              "code": "451102",
+              "name": "鍏鍖�"
+            },
+            {
+              "code": "451103",
+              "name": "骞虫鍖�"
+            },
+            {
+              "code": "451121",
+              "name": "鏄钩鍘�"
+            },
+            {
+              "code": "451122",
+              "name": "閽熷北鍘�"
+            },
+            {
+              "code": "451123",
+              "name": "瀵屽窛鐟舵棌鑷不鍘�"
+            }
+          ]
+        },
+        {
+          "code": "4512",
+          "name": "娌虫睜甯�",
+          "children": [
+            {
+              "code": "451202",
+              "name": "閲戝煄姹熷尯"
+            },
+            {
+              "code": "451203",
+              "name": "瀹滃窞鍖�"
+            },
+            {
+              "code": "451221",
+              "name": "鍗椾腹鍘�"
+            },
+            {
+              "code": "451222",
+              "name": "澶╁敞鍘�"
+            },
+            {
+              "code": "451223",
+              "name": "鍑ゅ北鍘�"
+            },
+            {
+              "code": "451224",
+              "name": "涓滃叞鍘�"
+            },
+            {
+              "code": "451225",
+              "name": "缃楀煄浠浆鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "451226",
+              "name": "鐜睙姣涘崡鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "451227",
+              "name": "宸撮┈鐟舵棌鑷不鍘�"
+            },
+            {
+              "code": "451228",
+              "name": "閮藉畨鐟舵棌鑷不鍘�"
+            },
+            {
+              "code": "451229",
+              "name": "澶у寲鐟舵棌鑷不鍘�"
+            }
+          ]
+        },
+        {
+          "code": "4513",
+          "name": "鏉ュ甯�",
+          "children": [
+            {
+              "code": "451302",
+              "name": "鍏村鍖�"
+            },
+            {
+              "code": "451321",
+              "name": "蹇诲煄鍘�"
+            },
+            {
+              "code": "451322",
+              "name": "璞″窞鍘�"
+            },
+            {
+              "code": "451323",
+              "name": "姝﹀鍘�"
+            },
+            {
+              "code": "451324",
+              "name": "閲戠鐟舵棌鑷不鍘�"
+            },
+            {
+              "code": "451381",
+              "name": "鍚堝北甯�"
+            }
+          ]
+        },
+        {
+          "code": "4514",
+          "name": "宕囧乏甯�",
+          "children": [
+            {
+              "code": "451402",
+              "name": "姹熷窞鍖�"
+            },
+            {
+              "code": "451421",
+              "name": "鎵剁互鍘�"
+            },
+            {
+              "code": "451422",
+              "name": "瀹佹槑鍘�"
+            },
+            {
+              "code": "451423",
+              "name": "榫欏窞鍘�"
+            },
+            {
+              "code": "451424",
+              "name": "澶ф柊鍘�"
+            },
+            {
+              "code": "451425",
+              "name": "澶╃瓑鍘�"
+            },
+            {
+              "code": "451481",
+              "name": "鍑ゥ甯�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "46",
+      "name": "娴峰崡鐪�",
+      "children": [
+        {
+          "code": "4601",
+          "name": "娴峰彛甯�",
+          "children": [
+            {
+              "code": "460105",
+              "name": "绉�鑻卞尯"
+            },
+            {
+              "code": "460106",
+              "name": "榫欏崕鍖�"
+            },
+            {
+              "code": "460107",
+              "name": "鐞煎北鍖�"
+            },
+            {
+              "code": "460108",
+              "name": "缇庡叞鍖�"
+            }
+          ]
+        },
+        {
+          "code": "4602",
+          "name": "涓変簹甯�",
+          "children": [
+            {
+              "code": "460202",
+              "name": "娴锋鍖�"
+            },
+            {
+              "code": "460203",
+              "name": "鍚夐槼鍖�"
+            },
+            {
+              "code": "460204",
+              "name": "澶╂动鍖�"
+            },
+            {
+              "code": "460205",
+              "name": "宕栧窞鍖�"
+            }
+          ]
+        },
+        {
+          "code": "4603",
+          "name": "涓夋矙甯�",
+          "children": [
+            {
+              "code": "460321",
+              "name": "瑗挎矙缇ゅ矝"
+            },
+            {
+              "code": "460322",
+              "name": "鍗楁矙缇ゅ矝"
+            },
+            {
+              "code": "460323",
+              "name": "涓矙缇ゅ矝鐨勫矝绀佸強鍏舵捣鍩�"
+            }
+          ]
+        },
+        {
+          "code": "4604",
+          "name": "鍎嬪窞甯�",
+          "children": [
+            {
+              "code": "460400100",
+              "name": "閭eぇ闀�"
+            },
+            {
+              "code": "460400101",
+              "name": "鍜屽簡闀�"
+            },
+            {
+              "code": "460400102",
+              "name": "鍗椾赴闀�"
+            },
+            {
+              "code": "460400103",
+              "name": "澶ф垚闀�"
+            },
+            {
+              "code": "460400104",
+              "name": "闆呮槦闀�"
+            },
+            {
+              "code": "460400105",
+              "name": "鍏版磱闀�"
+            },
+            {
+              "code": "460400106",
+              "name": "鍏夋潙闀�"
+            },
+            {
+              "code": "460400107",
+              "name": "鏈ㄦ闀�"
+            },
+            {
+              "code": "460400108",
+              "name": "娴峰ご闀�"
+            },
+            {
+              "code": "460400109",
+              "name": "宄ㄨ敁闀�"
+            },
+            {
+              "code": "460400111",
+              "name": "鐜嬩簲闀�"
+            },
+            {
+              "code": "460400112",
+              "name": "鐧介┈浜曢晣"
+            },
+            {
+              "code": "460400113",
+              "name": "涓拰闀�"
+            },
+            {
+              "code": "460400114",
+              "name": "鎺掓郸闀�"
+            },
+            {
+              "code": "460400115",
+              "name": "涓滄垚闀�"
+            },
+            {
+              "code": "460400116",
+              "name": "鏂板窞闀�"
+            },
+            {
+              "code": "460400499",
+              "name": "娲嬫郸缁忔祹寮�鍙戝尯"
+            },
+            {
+              "code": "460400500",
+              "name": "鍗庡崡鐑綔瀛﹂櫌"
+            }
+          ]
+        },
+        {
+          "code": "4690",
+          "name": "鐪佺洿杈栧幙绾ц鏀垮尯鍒�",
+          "children": [
+            {
+              "code": "469001",
+              "name": "浜旀寚灞卞競"
+            },
+            {
+              "code": "469002",
+              "name": "鐞兼捣甯�"
+            },
+            {
+              "code": "469005",
+              "name": "鏂囨槍甯�"
+            },
+            {
+              "code": "469006",
+              "name": "涓囧畞甯�"
+            },
+            {
+              "code": "469007",
+              "name": "涓滄柟甯�"
+            },
+            {
+              "code": "469021",
+              "name": "瀹氬畨鍘�"
+            },
+            {
+              "code": "469022",
+              "name": "灞槍鍘�"
+            },
+            {
+              "code": "469023",
+              "name": "婢勮繄鍘�"
+            },
+            {
+              "code": "469024",
+              "name": "涓撮珮鍘�"
+            },
+            {
+              "code": "469025",
+              "name": "鐧芥矙榛庢棌鑷不鍘�"
+            },
+            {
+              "code": "469026",
+              "name": "鏄屾睙榛庢棌鑷不鍘�"
+            },
+            {
+              "code": "469027",
+              "name": "涔愪笢榛庢棌鑷不鍘�"
+            },
+            {
+              "code": "469028",
+              "name": "闄垫按榛庢棌鑷不鍘�"
+            },
+            {
+              "code": "469029",
+              "name": "淇濅涵榛庢棌鑻楁棌鑷不鍘�"
+            },
+            {
+              "code": "469030",
+              "name": "鐞间腑榛庢棌鑻楁棌鑷不鍘�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "50",
+      "name": "閲嶅簡甯�",
+      "children": [
+        {
+          "code": "5001",
+          "name": "甯傝緰鍖�",
+          "children": [
+            {
+              "code": "500101",
+              "name": "涓囧窞鍖�"
+            },
+            {
+              "code": "500102",
+              "name": "娑櫟鍖�"
+            },
+            {
+              "code": "500103",
+              "name": "娓濅腑鍖�"
+            },
+            {
+              "code": "500104",
+              "name": "澶ф浮鍙e尯"
+            },
+            {
+              "code": "500105",
+              "name": "姹熷寳鍖�"
+            },
+            {
+              "code": "500106",
+              "name": "娌欏潽鍧濆尯"
+            },
+            {
+              "code": "500107",
+              "name": "涔濋緳鍧″尯"
+            },
+            {
+              "code": "500108",
+              "name": "鍗楀哺鍖�"
+            },
+            {
+              "code": "500109",
+              "name": "鍖楃鍖�"
+            },
+            {
+              "code": "500110",
+              "name": "缍︽睙鍖�"
+            },
+            {
+              "code": "500111",
+              "name": "澶ц冻鍖�"
+            },
+            {
+              "code": "500112",
+              "name": "娓濆寳鍖�"
+            },
+            {
+              "code": "500113",
+              "name": "宸村崡鍖�"
+            },
+            {
+              "code": "500114",
+              "name": "榛旀睙鍖�"
+            },
+            {
+              "code": "500115",
+              "name": "闀垮鍖�"
+            },
+            {
+              "code": "500116",
+              "name": "姹熸触鍖�"
+            },
+            {
+              "code": "500117",
+              "name": "鍚堝窛鍖�"
+            },
+            {
+              "code": "500118",
+              "name": "姘稿窛鍖�"
+            },
+            {
+              "code": "500119",
+              "name": "鍗楀窛鍖�"
+            },
+            {
+              "code": "500120",
+              "name": "鐠у北鍖�"
+            },
+            {
+              "code": "500151",
+              "name": "閾滄鍖�"
+            },
+            {
+              "code": "500152",
+              "name": "娼煎崡鍖�"
+            },
+            {
+              "code": "500153",
+              "name": "鑽f槍鍖�"
+            },
+            {
+              "code": "500154",
+              "name": "寮�宸炲尯"
+            },
+            {
+              "code": "500155",
+              "name": "姊佸钩鍖�"
+            },
+            {
+              "code": "500156",
+              "name": "姝﹂殕鍖�"
+            }
+          ]
+        },
+        {
+          "code": "5002",
+          "name": "鍘�",
+          "children": [
+            {
+              "code": "500229",
+              "name": "鍩庡彛鍘�"
+            },
+            {
+              "code": "500230",
+              "name": "涓伴兘鍘�"
+            },
+            {
+              "code": "500231",
+              "name": "鍨睙鍘�"
+            },
+            {
+              "code": "500233",
+              "name": "蹇犲幙"
+            },
+            {
+              "code": "500235",
+              "name": "浜戦槼鍘�"
+            },
+            {
+              "code": "500236",
+              "name": "濂夎妭鍘�"
+            },
+            {
+              "code": "500237",
+              "name": "宸北鍘�"
+            },
+            {
+              "code": "500238",
+              "name": "宸邯鍘�"
+            },
+            {
+              "code": "500240",
+              "name": "鐭虫煴鍦熷鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "500241",
+              "name": "绉�灞卞湡瀹舵棌鑻楁棌鑷不鍘�"
+            },
+            {
+              "code": "500242",
+              "name": "閰夐槼鍦熷鏃忚嫍鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "500243",
+              "name": "褰按鑻楁棌鍦熷鏃忚嚜娌诲幙"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "51",
+      "name": "鍥涘窛鐪�",
+      "children": [
+        {
+          "code": "5101",
+          "name": "鎴愰兘甯�",
+          "children": [
+            {
+              "code": "510102",
+              "name": "楂樻柊鍖�"
+            },
+            {
+              "code": "510156",
+              "name": "澶╁簻鏂板尯"
+            },
+            {
+              "code": "510104",
+              "name": "閿︽睙鍖�"
+            },
+            {
+              "code": "510105",
+              "name": "闈掔緤鍖�"
+            },
+            {
+              "code": "510106",
+              "name": "閲戠墰鍖�"
+            },
+            {
+              "code": "510107",
+              "name": "姝︿警鍖�"
+            },
+            {
+              "code": "510108",
+              "name": "鎴愬崕鍖�"
+            },
+            {
+              "code": "510112",
+              "name": "榫欐硥椹垮尯"
+            },
+            {
+              "code": "510113",
+              "name": "闈掔櫧姹熷尯"
+            },
+            {
+              "code": "510114",
+              "name": "鏂伴兘鍖�"
+            },
+            {
+              "code": "510115",
+              "name": "娓╂睙鍖�"
+            },
+            {
+              "code": "510116",
+              "name": "鍙屾祦鍖�"
+            },
+            {
+              "code": "510117",
+              "name": "閮兘鍖�"
+            },
+            {
+              "code": "510121",
+              "name": "閲戝爞鍘�"
+            },
+            {
+              "code": "510129",
+              "name": "澶ч倯鍘�"
+            },
+            {
+              "code": "510131",
+              "name": "钂叉睙鍘�"
+            },
+            {
+              "code": "510132",
+              "name": "鏂版触鍘�"
+            },
+            {
+              "code": "510181",
+              "name": "閮芥睙鍫板競"
+            },
+            {
+              "code": "510182",
+              "name": "褰窞甯�"
+            },
+            {
+              "code": "510183",
+              "name": "閭涘磧甯�"
+            },
+            {
+              "code": "510184",
+              "name": "宕囧窞甯�"
+            },
+            {
+              "code": "510185",
+              "name": "绠�闃冲競"
+            }
+          ]
+        },
+        {
+          "code": "5103",
+          "name": "鑷础甯�",
+          "children": [
+            {
+              "code": "510302",
+              "name": "鑷祦浜曞尯"
+            },
+            {
+              "code": "510303",
+              "name": "璐′簳鍖�"
+            },
+            {
+              "code": "510304",
+              "name": "澶у畨鍖�"
+            },
+            {
+              "code": "510311",
+              "name": "娌挎哗鍖�"
+            },
+            {
+              "code": "510321",
+              "name": "鑽e幙"
+            },
+            {
+              "code": "510322",
+              "name": "瀵岄『鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5104",
+          "name": "鏀�鏋濊姳甯�",
+          "children": [
+            {
+              "code": "510402",
+              "name": "涓滃尯"
+            },
+            {
+              "code": "510403",
+              "name": "瑗垮尯"
+            },
+            {
+              "code": "510411",
+              "name": "浠佸拰鍖�"
+            },
+            {
+              "code": "510421",
+              "name": "绫虫槗鍘�"
+            },
+            {
+              "code": "510422",
+              "name": "鐩愯竟鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5105",
+          "name": "娉稿窞甯�",
+          "children": [
+            {
+              "code": "510502",
+              "name": "姹熼槼鍖�"
+            },
+            {
+              "code": "510503",
+              "name": "绾虫邯鍖�"
+            },
+            {
+              "code": "510504",
+              "name": "榫欓┈娼尯"
+            },
+            {
+              "code": "510521",
+              "name": "娉稿幙"
+            },
+            {
+              "code": "510522",
+              "name": "鍚堟睙鍘�"
+            },
+            {
+              "code": "510524",
+              "name": "鍙欐案鍘�"
+            },
+            {
+              "code": "510525",
+              "name": "鍙よ敽鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5106",
+          "name": "寰烽槼甯�",
+          "children": [
+            {
+              "code": "510603",
+              "name": "鏃岄槼鍖�"
+            },
+            {
+              "code": "510604",
+              "name": "缃楁睙鍖�"
+            },
+            {
+              "code": "510623",
+              "name": "涓睙鍘�"
+            },
+            {
+              "code": "510681",
+              "name": "骞挎眽甯�"
+            },
+            {
+              "code": "510682",
+              "name": "浠�閭″競"
+            },
+            {
+              "code": "510683",
+              "name": "缁电甯�"
+            }
+          ]
+        },
+        {
+          "code": "5107",
+          "name": "缁甸槼甯�",
+          "children": [
+            {
+              "code": "510703",
+              "name": "娑煄鍖�"
+            },
+            {
+              "code": "510704",
+              "name": "娓镐粰鍖�"
+            },
+            {
+              "code": "510705",
+              "name": "瀹夊窞鍖�"
+            },
+            {
+              "code": "510722",
+              "name": "涓夊彴鍘�"
+            },
+            {
+              "code": "510723",
+              "name": "鐩愪涵鍘�"
+            },
+            {
+              "code": "510725",
+              "name": "姊撴郊鍘�"
+            },
+            {
+              "code": "510726",
+              "name": "鍖楀窛缇屾棌鑷不鍘�"
+            },
+            {
+              "code": "510727",
+              "name": "骞虫鍘�"
+            },
+            {
+              "code": "510781",
+              "name": "姹熸补甯�"
+            }
+          ]
+        },
+        {
+          "code": "5108",
+          "name": "骞垮厓甯�",
+          "children": [
+            {
+              "code": "510802",
+              "name": "鍒╁窞鍖�"
+            },
+            {
+              "code": "510811",
+              "name": "鏄寲鍖�"
+            },
+            {
+              "code": "510812",
+              "name": "鏈濆ぉ鍖�"
+            },
+            {
+              "code": "510821",
+              "name": "鏃鸿媿鍘�"
+            },
+            {
+              "code": "510822",
+              "name": "闈掑窛鍘�"
+            },
+            {
+              "code": "510823",
+              "name": "鍓戦榿鍘�"
+            },
+            {
+              "code": "510824",
+              "name": "鑻嶆邯鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5109",
+          "name": "閬傚畞甯�",
+          "children": [
+            {
+              "code": "510903",
+              "name": "鑸瑰北鍖�"
+            },
+            {
+              "code": "510904",
+              "name": "瀹夊眳鍖�"
+            },
+            {
+              "code": "510921",
+              "name": "钃邯鍘�"
+            },
+            {
+              "code": "510923",
+              "name": "澶ц嫳鍘�"
+            },
+            {
+              "code": "510981",
+              "name": "灏勬椽甯�"
+            }
+          ]
+        },
+        {
+          "code": "5110",
+          "name": "鍐呮睙甯�",
+          "children": [
+            {
+              "code": "511002",
+              "name": "甯備腑鍖�"
+            },
+            {
+              "code": "511011",
+              "name": "涓滃叴鍖�"
+            },
+            {
+              "code": "511024",
+              "name": "濞佽繙鍘�"
+            },
+            {
+              "code": "511025",
+              "name": "璧勪腑鍘�"
+            },
+            {
+              "code": "511071",
+              "name": "鍐呮睙缁忔祹寮�鍙戝尯"
+            },
+            {
+              "code": "511083",
+              "name": "闅嗘槍甯�"
+            }
+          ]
+        },
+        {
+          "code": "5111",
+          "name": "涔愬北甯�",
+          "children": [
+            {
+              "code": "511102",
+              "name": "甯備腑鍖�"
+            },
+            {
+              "code": "511111",
+              "name": "娌欐咕鍖�"
+            },
+            {
+              "code": "511112",
+              "name": "浜旈�氭ˉ鍖�"
+            },
+            {
+              "code": "511113",
+              "name": "閲戝彛娌冲尯"
+            },
+            {
+              "code": "511123",
+              "name": "鐘嶄负鍘�"
+            },
+            {
+              "code": "511124",
+              "name": "浜曠爺鍘�"
+            },
+            {
+              "code": "511126",
+              "name": "澶规睙鍘�"
+            },
+            {
+              "code": "511129",
+              "name": "娌愬窛鍘�"
+            },
+            {
+              "code": "511132",
+              "name": "宄ㄨ竟褰濇棌鑷不鍘�"
+            },
+            {
+              "code": "511133",
+              "name": "椹竟褰濇棌鑷不鍘�"
+            },
+            {
+              "code": "511181",
+              "name": "宄ㄧ湁灞卞競"
+            }
+          ]
+        },
+        {
+          "code": "5113",
+          "name": "鍗楀厖甯�",
+          "children": [
+            {
+              "code": "511302",
+              "name": "椤哄簡鍖�"
+            },
+            {
+              "code": "511303",
+              "name": "楂樺潽鍖�"
+            },
+            {
+              "code": "511304",
+              "name": "鍢夐櫟鍖�"
+            },
+            {
+              "code": "511321",
+              "name": "鍗楅儴鍘�"
+            },
+            {
+              "code": "511322",
+              "name": "钀ュ北鍘�"
+            },
+            {
+              "code": "511323",
+              "name": "钃畨鍘�"
+            },
+            {
+              "code": "511324",
+              "name": "浠檱鍘�"
+            },
+            {
+              "code": "511325",
+              "name": "瑗垮厖鍘�"
+            },
+            {
+              "code": "511381",
+              "name": "闃嗕腑甯�"
+            }
+          ]
+        },
+        {
+          "code": "5114",
+          "name": "鐪夊北甯�",
+          "children": [
+            {
+              "code": "511402",
+              "name": "涓滃潯鍖�"
+            },
+            {
+              "code": "511403",
+              "name": "褰北鍖�"
+            },
+            {
+              "code": "511421",
+              "name": "浠佸鍘�"
+            },
+            {
+              "code": "511423",
+              "name": "娲泤鍘�"
+            },
+            {
+              "code": "511424",
+              "name": "涓规1鍘�"
+            },
+            {
+              "code": "511425",
+              "name": "闈掔鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5115",
+          "name": "瀹滃甯�",
+          "children": [
+            {
+              "code": "511502",
+              "name": "缈犲睆鍖�"
+            },
+            {
+              "code": "511503",
+              "name": "鍗楁邯鍖�"
+            },
+            {
+              "code": "511504",
+              "name": "鍙欏窞鍖�"
+            },
+            {
+              "code": "511523",
+              "name": "姹熷畨鍘�"
+            },
+            {
+              "code": "511524",
+              "name": "闀垮畞鍘�"
+            },
+            {
+              "code": "511525",
+              "name": "楂樺幙"
+            },
+            {
+              "code": "511526",
+              "name": "鐝欏幙"
+            },
+            {
+              "code": "511527",
+              "name": "绛犺繛鍘�"
+            },
+            {
+              "code": "511528",
+              "name": "鍏存枃鍘�"
+            },
+            {
+              "code": "511529",
+              "name": "灞忓北鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5116",
+          "name": "骞垮畨甯�",
+          "children": [
+            {
+              "code": "511602",
+              "name": "骞垮畨鍖�"
+            },
+            {
+              "code": "511603",
+              "name": "鍓嶉攱鍖�"
+            },
+            {
+              "code": "511621",
+              "name": "宀虫睜鍘�"
+            },
+            {
+              "code": "511622",
+              "name": "姝﹁儨鍘�"
+            },
+            {
+              "code": "511623",
+              "name": "閭绘按鍘�"
+            },
+            {
+              "code": "511681",
+              "name": "鍗庤摜甯�"
+            }
+          ]
+        },
+        {
+          "code": "5117",
+          "name": "杈惧窞甯�",
+          "children": [
+            {
+              "code": "511702",
+              "name": "閫氬窛鍖�"
+            },
+            {
+              "code": "511703",
+              "name": "杈惧窛鍖�"
+            },
+            {
+              "code": "511722",
+              "name": "瀹f眽鍘�"
+            },
+            {
+              "code": "511723",
+              "name": "寮�姹熷幙"
+            },
+            {
+              "code": "511724",
+              "name": "澶х鍘�"
+            },
+            {
+              "code": "511725",
+              "name": "娓犲幙"
+            },
+            {
+              "code": "511771",
+              "name": "杈惧窞缁忔祹寮�鍙戝尯"
+            },
+            {
+              "code": "511781",
+              "name": "涓囨簮甯�"
+            }
+          ]
+        },
+        {
+          "code": "5118",
+          "name": "闆呭畨甯�",
+          "children": [
+            {
+              "code": "511802",
+              "name": "闆ㄥ煄鍖�"
+            },
+            {
+              "code": "511803",
+              "name": "鍚嶅北鍖�"
+            },
+            {
+              "code": "511822",
+              "name": "鑽ョ粡鍘�"
+            },
+            {
+              "code": "511823",
+              "name": "姹夋簮鍘�"
+            },
+            {
+              "code": "511824",
+              "name": "鐭虫鍘�"
+            },
+            {
+              "code": "511825",
+              "name": "澶╁叏鍘�"
+            },
+            {
+              "code": "511826",
+              "name": "鑺﹀北鍘�"
+            },
+            {
+              "code": "511827",
+              "name": "瀹濆叴鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5119",
+          "name": "宸翠腑甯�",
+          "children": [
+            {
+              "code": "511902",
+              "name": "宸村窞鍖�"
+            },
+            {
+              "code": "511903",
+              "name": "鎭╅槼鍖�"
+            },
+            {
+              "code": "511921",
+              "name": "閫氭睙鍘�"
+            },
+            {
+              "code": "511922",
+              "name": "鍗楁睙鍘�"
+            },
+            {
+              "code": "511923",
+              "name": "骞虫槍鍘�"
+            },
+            {
+              "code": "511971",
+              "name": "宸翠腑缁忔祹寮�鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "5120",
+          "name": "璧勯槼甯�",
+          "children": [
+            {
+              "code": "512002",
+              "name": "闆佹睙鍖�"
+            },
+            {
+              "code": "512021",
+              "name": "瀹夊渤鍘�"
+            },
+            {
+              "code": "512022",
+              "name": "涔愯嚦鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5132",
+          "name": "闃垮潩钘忔棌缇屾棌鑷不宸�",
+          "children": [
+            {
+              "code": "513201",
+              "name": "椹皵搴峰競"
+            },
+            {
+              "code": "513221",
+              "name": "姹跺窛鍘�"
+            },
+            {
+              "code": "513222",
+              "name": "鐞嗗幙"
+            },
+            {
+              "code": "513223",
+              "name": "鑼傚幙"
+            },
+            {
+              "code": "513224",
+              "name": "鏉炬綐鍘�"
+            },
+            {
+              "code": "513225",
+              "name": "涔濆娌熷幙"
+            },
+            {
+              "code": "513226",
+              "name": "閲戝窛鍘�"
+            },
+            {
+              "code": "513227",
+              "name": "灏忛噾鍘�"
+            },
+            {
+              "code": "513228",
+              "name": "榛戞按鍘�"
+            },
+            {
+              "code": "513230",
+              "name": "澹ゅ鍘�"
+            },
+            {
+              "code": "513231",
+              "name": "闃垮潩鍘�"
+            },
+            {
+              "code": "513232",
+              "name": "鑻ュ皵鐩栧幙"
+            },
+            {
+              "code": "513233",
+              "name": "绾㈠師鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5133",
+          "name": "鐢樺瓬钘忔棌鑷不宸�",
+          "children": [
+            {
+              "code": "513301",
+              "name": "搴峰畾甯�"
+            },
+            {
+              "code": "513322",
+              "name": "娉稿畾鍘�"
+            },
+            {
+              "code": "513323",
+              "name": "涓瑰反鍘�"
+            },
+            {
+              "code": "513324",
+              "name": "涔濋緳鍘�"
+            },
+            {
+              "code": "513325",
+              "name": "闆呮睙鍘�"
+            },
+            {
+              "code": "513326",
+              "name": "閬撳瓪鍘�"
+            },
+            {
+              "code": "513327",
+              "name": "鐐夐湇鍘�"
+            },
+            {
+              "code": "513328",
+              "name": "鐢樺瓬鍘�"
+            },
+            {
+              "code": "513329",
+              "name": "鏂伴緳鍘�"
+            },
+            {
+              "code": "513330",
+              "name": "寰锋牸鍘�"
+            },
+            {
+              "code": "513331",
+              "name": "鐧界帀鍘�"
+            },
+            {
+              "code": "513332",
+              "name": "鐭虫笭鍘�"
+            },
+            {
+              "code": "513333",
+              "name": "鑹茶揪鍘�"
+            },
+            {
+              "code": "513334",
+              "name": "鐞嗗鍘�"
+            },
+            {
+              "code": "513335",
+              "name": "宸村鍘�"
+            },
+            {
+              "code": "513336",
+              "name": "涔″煄鍘�"
+            },
+            {
+              "code": "513337",
+              "name": "绋诲煄鍘�"
+            },
+            {
+              "code": "513338",
+              "name": "寰楄崳鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5134",
+          "name": "鍑夊北褰濇棌鑷不宸�",
+          "children": [
+            {
+              "code": "513401",
+              "name": "瑗挎槍甯�"
+            },
+            {
+              "code": "513422",
+              "name": "鏈ㄩ噷钘忔棌鑷不鍘�"
+            },
+            {
+              "code": "513423",
+              "name": "鐩愭簮鍘�"
+            },
+            {
+              "code": "513424",
+              "name": "寰锋槍鍘�"
+            },
+            {
+              "code": "513425",
+              "name": "浼氱悊鍘�"
+            },
+            {
+              "code": "513426",
+              "name": "浼氫笢鍘�"
+            },
+            {
+              "code": "513427",
+              "name": "瀹佸崡鍘�"
+            },
+            {
+              "code": "513428",
+              "name": "鏅牸鍘�"
+            },
+            {
+              "code": "513429",
+              "name": "甯冩嫋鍘�"
+            },
+            {
+              "code": "513430",
+              "name": "閲戦槼鍘�"
+            },
+            {
+              "code": "513431",
+              "name": "鏄鍘�"
+            },
+            {
+              "code": "513432",
+              "name": "鍠滃痉鍘�"
+            },
+            {
+              "code": "513433",
+              "name": "鍐曞畞鍘�"
+            },
+            {
+              "code": "513434",
+              "name": "瓒婅タ鍘�"
+            },
+            {
+              "code": "513435",
+              "name": "鐢樻礇鍘�"
+            },
+            {
+              "code": "513436",
+              "name": "缇庡鍘�"
+            },
+            {
+              "code": "513437",
+              "name": "闆锋尝鍘�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "52",
+      "name": "璐靛窞鐪�",
+      "children": [
+        {
+          "code": "5201",
+          "name": "璐甸槼甯�",
+          "children": [
+            {
+              "code": "520102",
+              "name": "鍗楁槑鍖�"
+            },
+            {
+              "code": "520103",
+              "name": "浜戝博鍖�"
+            },
+            {
+              "code": "520111",
+              "name": "鑺辨邯鍖�"
+            },
+            {
+              "code": "520112",
+              "name": "涔屽綋鍖�"
+            },
+            {
+              "code": "520113",
+              "name": "鐧戒簯鍖�"
+            },
+            {
+              "code": "520115",
+              "name": "瑙傚北婀栧尯"
+            },
+            {
+              "code": "520121",
+              "name": "寮�闃冲幙"
+            },
+            {
+              "code": "520122",
+              "name": "鎭兘鍘�"
+            },
+            {
+              "code": "520123",
+              "name": "淇枃鍘�"
+            },
+            {
+              "code": "520181",
+              "name": "娓呴晣甯�"
+            }
+          ]
+        },
+        {
+          "code": "5202",
+          "name": "鍏洏姘村競",
+          "children": [
+            {
+              "code": "520201",
+              "name": "閽熷北鍖�"
+            },
+            {
+              "code": "520203",
+              "name": "鍏灊鐗瑰尯"
+            },
+            {
+              "code": "520221",
+              "name": "姘村煄鍘�"
+            },
+            {
+              "code": "520281",
+              "name": "鐩樺窞甯�"
+            }
+          ]
+        },
+        {
+          "code": "5203",
+          "name": "閬典箟甯�",
+          "children": [
+            {
+              "code": "520302",
+              "name": "绾㈣姳宀楀尯"
+            },
+            {
+              "code": "520303",
+              "name": "姹囧窛鍖�"
+            },
+            {
+              "code": "520304",
+              "name": "鎾窞鍖�"
+            },
+            {
+              "code": "520322",
+              "name": "妗愭鍘�"
+            },
+            {
+              "code": "520323",
+              "name": "缁ラ槼鍘�"
+            },
+            {
+              "code": "520324",
+              "name": "姝e畨鍘�"
+            },
+            {
+              "code": "520325",
+              "name": "閬撶湡浠′浆鏃忚嫍鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "520326",
+              "name": "鍔″窛浠′浆鏃忚嫍鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "520327",
+              "name": "鍑ゅ唸鍘�"
+            },
+            {
+              "code": "520328",
+              "name": "婀勬江鍘�"
+            },
+            {
+              "code": "520329",
+              "name": "浣欏簡鍘�"
+            },
+            {
+              "code": "520330",
+              "name": "涔犳按鍘�"
+            },
+            {
+              "code": "520381",
+              "name": "璧ゆ按甯�"
+            },
+            {
+              "code": "520382",
+              "name": "浠佹��甯�"
+            }
+          ]
+        },
+        {
+          "code": "5204",
+          "name": "瀹夐『甯�",
+          "children": [
+            {
+              "code": "520402",
+              "name": "瑗跨鍖�"
+            },
+            {
+              "code": "520403",
+              "name": "骞冲潩鍖�"
+            },
+            {
+              "code": "520422",
+              "name": "鏅畾鍘�"
+            },
+            {
+              "code": "520423",
+              "name": "闀囧畞甯冧緷鏃忚嫍鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "520424",
+              "name": "鍏冲箔甯冧緷鏃忚嫍鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "520425",
+              "name": "绱簯鑻楁棌甯冧緷鏃忚嚜娌诲幙"
+            }
+          ]
+        },
+        {
+          "code": "5205",
+          "name": "姣曡妭甯�",
+          "children": [
+            {
+              "code": "520502",
+              "name": "涓冩槦鍏冲尯"
+            },
+            {
+              "code": "520521",
+              "name": "澶ф柟鍘�"
+            },
+            {
+              "code": "520522",
+              "name": "榛旇タ鍘�"
+            },
+            {
+              "code": "520523",
+              "name": "閲戞矙鍘�"
+            },
+            {
+              "code": "520524",
+              "name": "缁囬噾鍘�"
+            },
+            {
+              "code": "520525",
+              "name": "绾抽泹鍘�"
+            },
+            {
+              "code": "520526",
+              "name": "濞佸畞褰濇棌鍥炴棌鑻楁棌鑷不鍘�"
+            },
+            {
+              "code": "520527",
+              "name": "璧珷鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5206",
+          "name": "閾滀粊甯�",
+          "children": [
+            {
+              "code": "520602",
+              "name": "纰ф睙鍖�"
+            },
+            {
+              "code": "520603",
+              "name": "涓囧北鍖�"
+            },
+            {
+              "code": "520621",
+              "name": "姹熷彛鍘�"
+            },
+            {
+              "code": "520622",
+              "name": "鐜夊睆渚楁棌鑷不鍘�"
+            },
+            {
+              "code": "520623",
+              "name": "鐭抽槨鍘�"
+            },
+            {
+              "code": "520624",
+              "name": "鎬濆崡鍘�"
+            },
+            {
+              "code": "520625",
+              "name": "鍗版睙鍦熷鏃忚嫍鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "520626",
+              "name": "寰锋睙鍘�"
+            },
+            {
+              "code": "520627",
+              "name": "娌挎渤鍦熷鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "520628",
+              "name": "鏉炬鑻楁棌鑷不鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5223",
+          "name": "榛旇タ鍗楀竷渚濇棌鑻楁棌鑷不宸�",
+          "children": [
+            {
+              "code": "522301",
+              "name": "鍏翠箟甯�"
+            },
+            {
+              "code": "522302",
+              "name": "鍏翠粊甯�"
+            },
+            {
+              "code": "522323",
+              "name": "鏅畨鍘�"
+            },
+            {
+              "code": "522324",
+              "name": "鏅撮殕鍘�"
+            },
+            {
+              "code": "522325",
+              "name": "璐炰赴鍘�"
+            },
+            {
+              "code": "522326",
+              "name": "鏈涜盁鍘�"
+            },
+            {
+              "code": "522327",
+              "name": "鍐屼酣鍘�"
+            },
+            {
+              "code": "522328",
+              "name": "瀹夐緳鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5226",
+          "name": "榛斾笢鍗楄嫍鏃忎緱鏃忚嚜娌诲窞",
+          "children": [
+            {
+              "code": "522601",
+              "name": "鍑噷甯�"
+            },
+            {
+              "code": "522622",
+              "name": "榛勫钩鍘�"
+            },
+            {
+              "code": "522623",
+              "name": "鏂界鍘�"
+            },
+            {
+              "code": "522624",
+              "name": "涓夌鍘�"
+            },
+            {
+              "code": "522625",
+              "name": "闀囪繙鍘�"
+            },
+            {
+              "code": "522626",
+              "name": "宀戝珐鍘�"
+            },
+            {
+              "code": "522627",
+              "name": "澶╂煴鍘�"
+            },
+            {
+              "code": "522628",
+              "name": "閿﹀睆鍘�"
+            },
+            {
+              "code": "522629",
+              "name": "鍓戞渤鍘�"
+            },
+            {
+              "code": "522630",
+              "name": "鍙版睙鍘�"
+            },
+            {
+              "code": "522631",
+              "name": "榛庡钩鍘�"
+            },
+            {
+              "code": "522632",
+              "name": "姒曟睙鍘�"
+            },
+            {
+              "code": "522633",
+              "name": "浠庢睙鍘�"
+            },
+            {
+              "code": "522634",
+              "name": "闆峰北鍘�"
+            },
+            {
+              "code": "522635",
+              "name": "楹绘睙鍘�"
+            },
+            {
+              "code": "522636",
+              "name": "涓瑰鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5227",
+          "name": "榛斿崡甯冧緷鏃忚嫍鏃忚嚜娌诲窞",
+          "children": [
+            {
+              "code": "522701",
+              "name": "閮藉寑甯�"
+            },
+            {
+              "code": "522702",
+              "name": "绂忔硥甯�"
+            },
+            {
+              "code": "522722",
+              "name": "鑽旀尝鍘�"
+            },
+            {
+              "code": "522723",
+              "name": "璐靛畾鍘�"
+            },
+            {
+              "code": "522725",
+              "name": "鐡畨鍘�"
+            },
+            {
+              "code": "522726",
+              "name": "鐙北鍘�"
+            },
+            {
+              "code": "522727",
+              "name": "骞冲鍘�"
+            },
+            {
+              "code": "522728",
+              "name": "缃楃敻鍘�"
+            },
+            {
+              "code": "522729",
+              "name": "闀块『鍘�"
+            },
+            {
+              "code": "522730",
+              "name": "榫欓噷鍘�"
+            },
+            {
+              "code": "522731",
+              "name": "鎯犳按鍘�"
+            },
+            {
+              "code": "522732",
+              "name": "涓夐兘姘存棌鑷不鍘�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "53",
+      "name": "浜戝崡鐪�",
+      "children": [
+        {
+          "code": "5301",
+          "name": "鏄嗘槑甯�",
+          "children": [
+            {
+              "code": "530102",
+              "name": "浜斿崕鍖�"
+            },
+            {
+              "code": "530103",
+              "name": "鐩橀緳鍖�"
+            },
+            {
+              "code": "530111",
+              "name": "瀹樻浮鍖�"
+            },
+            {
+              "code": "530112",
+              "name": "瑗垮北鍖�"
+            },
+            {
+              "code": "530113",
+              "name": "涓滃窛鍖�"
+            },
+            {
+              "code": "530114",
+              "name": "鍛堣础鍖�"
+            },
+            {
+              "code": "530115",
+              "name": "鏅嬪畞鍖�"
+            },
+            {
+              "code": "530124",
+              "name": "瀵屾皯鍘�"
+            },
+            {
+              "code": "530125",
+              "name": "瀹滆壇鍘�"
+            },
+            {
+              "code": "530126",
+              "name": "鐭虫灄褰濇棌鑷不鍘�"
+            },
+            {
+              "code": "530127",
+              "name": "宓╂槑鍘�"
+            },
+            {
+              "code": "530128",
+              "name": "绂勫姖褰濇棌鑻楁棌鑷不鍘�"
+            },
+            {
+              "code": "530129",
+              "name": "瀵荤敻鍥炴棌褰濇棌鑷不鍘�"
+            },
+            {
+              "code": "530181",
+              "name": "瀹夊畞甯�"
+            }
+          ]
+        },
+        {
+          "code": "5303",
+          "name": "鏇查潠甯�",
+          "children": [
+            {
+              "code": "530302",
+              "name": "楹掗簾鍖�"
+            },
+            {
+              "code": "530303",
+              "name": "娌剧泭鍖�"
+            },
+            {
+              "code": "530304",
+              "name": "椹緳鍖�"
+            },
+            {
+              "code": "530322",
+              "name": "闄嗚壇鍘�"
+            },
+            {
+              "code": "530323",
+              "name": "甯堝畻鍘�"
+            },
+            {
+              "code": "530324",
+              "name": "缃楀钩鍘�"
+            },
+            {
+              "code": "530325",
+              "name": "瀵屾簮鍘�"
+            },
+            {
+              "code": "530326",
+              "name": "浼氭辰鍘�"
+            },
+            {
+              "code": "530381",
+              "name": "瀹e▉甯�"
+            }
+          ]
+        },
+        {
+          "code": "5304",
+          "name": "鐜夋邯甯�",
+          "children": [
+            {
+              "code": "530402",
+              "name": "绾㈠鍖�"
+            },
+            {
+              "code": "530403",
+              "name": "姹熷窛鍖�"
+            },
+            {
+              "code": "530422",
+              "name": "婢勬睙鍘�"
+            },
+            {
+              "code": "530423",
+              "name": "閫氭捣鍘�"
+            },
+            {
+              "code": "530424",
+              "name": "鍗庡畞鍘�"
+            },
+            {
+              "code": "530425",
+              "name": "鏄撻棬鍘�"
+            },
+            {
+              "code": "530426",
+              "name": "宄ㄥ北褰濇棌鑷不鍘�"
+            },
+            {
+              "code": "530427",
+              "name": "鏂板钩褰濇棌鍌f棌鑷不鍘�"
+            },
+            {
+              "code": "530428",
+              "name": "鍏冩睙鍝堝凹鏃忓綕鏃忓偅鏃忚嚜娌诲幙"
+            }
+          ]
+        },
+        {
+          "code": "5305",
+          "name": "淇濆北甯�",
+          "children": [
+            {
+              "code": "530502",
+              "name": "闅嗛槼鍖�"
+            },
+            {
+              "code": "530521",
+              "name": "鏂界敻鍘�"
+            },
+            {
+              "code": "530523",
+              "name": "榫欓櫟鍘�"
+            },
+            {
+              "code": "530524",
+              "name": "鏄屽畞鍘�"
+            },
+            {
+              "code": "530581",
+              "name": "鑵惧啿甯�"
+            }
+          ]
+        },
+        {
+          "code": "5306",
+          "name": "鏄�氬競",
+          "children": [
+            {
+              "code": "530602",
+              "name": "鏄槼鍖�"
+            },
+            {
+              "code": "530621",
+              "name": "椴佺敻鍘�"
+            },
+            {
+              "code": "530622",
+              "name": "宸у鍘�"
+            },
+            {
+              "code": "530623",
+              "name": "鐩愭触鍘�"
+            },
+            {
+              "code": "530624",
+              "name": "澶у叧鍘�"
+            },
+            {
+              "code": "530625",
+              "name": "姘稿杽鍘�"
+            },
+            {
+              "code": "530626",
+              "name": "缁ユ睙鍘�"
+            },
+            {
+              "code": "530627",
+              "name": "闀囬泟鍘�"
+            },
+            {
+              "code": "530628",
+              "name": "褰濊壇鍘�"
+            },
+            {
+              "code": "530629",
+              "name": "濞佷俊鍘�"
+            },
+            {
+              "code": "530681",
+              "name": "姘村瘜甯�"
+            }
+          ]
+        },
+        {
+          "code": "5307",
+          "name": "涓芥睙甯�",
+          "children": [
+            {
+              "code": "530702",
+              "name": "鍙ゅ煄鍖�"
+            },
+            {
+              "code": "530721",
+              "name": "鐜夐緳绾宠タ鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "530722",
+              "name": "姘歌儨鍘�"
+            },
+            {
+              "code": "530723",
+              "name": "鍗庡潽鍘�"
+            },
+            {
+              "code": "530724",
+              "name": "瀹佽挆褰濇棌鑷不鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5308",
+          "name": "鏅幢甯�",
+          "children": [
+            {
+              "code": "530802",
+              "name": "鎬濊寘鍖�"
+            },
+            {
+              "code": "530821",
+              "name": "瀹佹幢鍝堝凹鏃忓綕鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "530822",
+              "name": "澧ㄦ睙鍝堝凹鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "530823",
+              "name": "鏅笢褰濇棌鑷不鍘�"
+            },
+            {
+              "code": "530824",
+              "name": "鏅胺鍌f棌褰濇棌鑷不鍘�"
+            },
+            {
+              "code": "530825",
+              "name": "闀囨矃褰濇棌鍝堝凹鏃忔媺绁滄棌鑷不鍘�"
+            },
+            {
+              "code": "530826",
+              "name": "姹熷煄鍝堝凹鏃忓綕鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "530827",
+              "name": "瀛熻繛鍌f棌鎷夌鏃忎饯鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "530828",
+              "name": "婢滄钵鎷夌鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "530829",
+              "name": "瑗跨洘浣ゆ棌鑷不鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5309",
+          "name": "涓存钵甯�",
+          "children": [
+            {
+              "code": "530902",
+              "name": "涓寸繑鍖�"
+            },
+            {
+              "code": "530921",
+              "name": "鍑ゅ簡鍘�"
+            },
+            {
+              "code": "530922",
+              "name": "浜戝幙"
+            },
+            {
+              "code": "530923",
+              "name": "姘稿痉鍘�"
+            },
+            {
+              "code": "530924",
+              "name": "闀囧悍鍘�"
+            },
+            {
+              "code": "530925",
+              "name": "鍙屾睙鎷夌鏃忎饯鏃忓竷鏈楁棌鍌f棌鑷不鍘�"
+            },
+            {
+              "code": "530926",
+              "name": "鑰块┈鍌f棌浣ゆ棌鑷不鍘�"
+            },
+            {
+              "code": "530927",
+              "name": "娌ф簮浣ゆ棌鑷不鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5323",
+          "name": "妤氶泟褰濇棌鑷不宸�",
+          "children": [
+            {
+              "code": "532301",
+              "name": "妤氶泟甯�"
+            },
+            {
+              "code": "532322",
+              "name": "鍙屾煆鍘�"
+            },
+            {
+              "code": "532323",
+              "name": "鐗熷畾鍘�"
+            },
+            {
+              "code": "532324",
+              "name": "鍗楀崕鍘�"
+            },
+            {
+              "code": "532325",
+              "name": "濮氬畨鍘�"
+            },
+            {
+              "code": "532326",
+              "name": "澶у鍘�"
+            },
+            {
+              "code": "532327",
+              "name": "姘镐粊鍘�"
+            },
+            {
+              "code": "532328",
+              "name": "鍏冭皨鍘�"
+            },
+            {
+              "code": "532329",
+              "name": "姝﹀畾鍘�"
+            },
+            {
+              "code": "532331",
+              "name": "绂勪赴鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5325",
+          "name": "绾㈡渤鍝堝凹鏃忓綕鏃忚嚜娌诲窞",
+          "children": [
+            {
+              "code": "532501",
+              "name": "涓棫甯�"
+            },
+            {
+              "code": "532502",
+              "name": "寮�杩滃競"
+            },
+            {
+              "code": "532503",
+              "name": "钂欒嚜甯�"
+            },
+            {
+              "code": "532504",
+              "name": "寮ュ嫆甯�"
+            },
+            {
+              "code": "532523",
+              "name": "灞忚竟鑻楁棌鑷不鍘�"
+            },
+            {
+              "code": "532524",
+              "name": "寤烘按鍘�"
+            },
+            {
+              "code": "532525",
+              "name": "鐭冲睆鍘�"
+            },
+            {
+              "code": "532527",
+              "name": "娉歌タ鍘�"
+            },
+            {
+              "code": "532528",
+              "name": "鍏冮槼鍘�"
+            },
+            {
+              "code": "532529",
+              "name": "绾㈡渤鍘�"
+            },
+            {
+              "code": "532530",
+              "name": "閲戝钩鑻楁棌鐟舵棌鍌f棌鑷不鍘�"
+            },
+            {
+              "code": "532531",
+              "name": "缁挎槬鍘�"
+            },
+            {
+              "code": "532532",
+              "name": "娌冲彛鐟舵棌鑷不鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5326",
+          "name": "鏂囧北澹棌鑻楁棌鑷不宸�",
+          "children": [
+            {
+              "code": "532601",
+              "name": "鏂囧北甯�"
+            },
+            {
+              "code": "532622",
+              "name": "鐮氬北鍘�"
+            },
+            {
+              "code": "532623",
+              "name": "瑗跨暣鍘�"
+            },
+            {
+              "code": "532624",
+              "name": "楹绘牀鍧″幙"
+            },
+            {
+              "code": "532625",
+              "name": "椹叧鍘�"
+            },
+            {
+              "code": "532626",
+              "name": "涓樺寳鍘�"
+            },
+            {
+              "code": "532627",
+              "name": "骞垮崡鍘�"
+            },
+            {
+              "code": "532628",
+              "name": "瀵屽畞鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5328",
+          "name": "瑗垮弻鐗堢撼鍌f棌鑷不宸�",
+          "children": [
+            {
+              "code": "532801",
+              "name": "鏅椽甯�"
+            },
+            {
+              "code": "532822",
+              "name": "鍕愭捣鍘�"
+            },
+            {
+              "code": "532823",
+              "name": "鍕愯厞鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5329",
+          "name": "澶х悊鐧芥棌鑷不宸�",
+          "children": [
+            {
+              "code": "532901",
+              "name": "澶х悊甯�"
+            },
+            {
+              "code": "532922",
+              "name": "婕炬繛褰濇棌鑷不鍘�"
+            },
+            {
+              "code": "532923",
+              "name": "绁ヤ簯鍘�"
+            },
+            {
+              "code": "532924",
+              "name": "瀹惧窛鍘�"
+            },
+            {
+              "code": "532925",
+              "name": "寮ユ浮鍘�"
+            },
+            {
+              "code": "532926",
+              "name": "鍗楁锭褰濇棌鑷不鍘�"
+            },
+            {
+              "code": "532927",
+              "name": "宸嶅北褰濇棌鍥炴棌鑷不鍘�"
+            },
+            {
+              "code": "532928",
+              "name": "姘稿钩鍘�"
+            },
+            {
+              "code": "532929",
+              "name": "浜戦緳鍘�"
+            },
+            {
+              "code": "532930",
+              "name": "娲辨簮鍘�"
+            },
+            {
+              "code": "532931",
+              "name": "鍓戝窛鍘�"
+            },
+            {
+              "code": "532932",
+              "name": "楣ゅ簡鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5331",
+          "name": "寰峰畯鍌f棌鏅鏃忚嚜娌诲窞",
+          "children": [
+            {
+              "code": "533102",
+              "name": "鐟炰附甯�"
+            },
+            {
+              "code": "533103",
+              "name": "鑺掑競"
+            },
+            {
+              "code": "533122",
+              "name": "姊佹渤鍘�"
+            },
+            {
+              "code": "533123",
+              "name": "鐩堟睙鍘�"
+            },
+            {
+              "code": "533124",
+              "name": "闄囧窛鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5333",
+          "name": "鎬掓睙鍌堝兂鏃忚嚜娌诲窞",
+          "children": [
+            {
+              "code": "533301",
+              "name": "娉告按甯�"
+            },
+            {
+              "code": "533323",
+              "name": "绂忚础鍘�"
+            },
+            {
+              "code": "533324",
+              "name": "璐″北鐙緳鏃忔�掓棌鑷不鍘�"
+            },
+            {
+              "code": "533325",
+              "name": "鍏板潽鐧芥棌鏅背鏃忚嚜娌诲幙"
+            }
+          ]
+        },
+        {
+          "code": "5334",
+          "name": "杩簡钘忔棌鑷不宸�",
+          "children": [
+            {
+              "code": "533401",
+              "name": "棣欐牸閲屾媺甯�"
+            },
+            {
+              "code": "533422",
+              "name": "寰烽挦鍘�"
+            },
+            {
+              "code": "533423",
+              "name": "缁磋タ鍌堝兂鏃忚嚜娌诲幙"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "54",
+      "name": "瑗胯棌鑷不鍖�",
+      "children": [
+        {
+          "code": "5401",
+          "name": "鎷夎惃甯�",
+          "children": [
+            {
+              "code": "540102",
+              "name": "鍩庡叧鍖�"
+            },
+            {
+              "code": "540103",
+              "name": "鍫嗛緳寰峰簡鍖�"
+            },
+            {
+              "code": "540104",
+              "name": "杈惧瓬鍖�"
+            },
+            {
+              "code": "540121",
+              "name": "鏋楀懆鍘�"
+            },
+            {
+              "code": "540122",
+              "name": "褰撻泟鍘�"
+            },
+            {
+              "code": "540123",
+              "name": "灏兼湪鍘�"
+            },
+            {
+              "code": "540124",
+              "name": "鏇叉按鍘�"
+            },
+            {
+              "code": "540127",
+              "name": "澧ㄧ宸ュ崱鍘�"
+            },
+            {
+              "code": "540171",
+              "name": "鏍煎皵鏈ㄨ棌闈掑伐涓氬洯鍖�"
+            },
+            {
+              "code": "540172",
+              "name": "鎷夎惃缁忔祹鎶�鏈紑鍙戝尯"
+            },
+            {
+              "code": "540173",
+              "name": "瑗胯棌鏂囧寲鏃呮父鍒涙剰鍥尯"
+            },
+            {
+              "code": "540174",
+              "name": "杈惧瓬宸ヤ笟鍥尯"
+            }
+          ]
+        },
+        {
+          "code": "5402",
+          "name": "鏃ュ杸鍒欏競",
+          "children": [
+            {
+              "code": "540202",
+              "name": "妗戠彔瀛滃尯"
+            },
+            {
+              "code": "540221",
+              "name": "鍗楁湪鏋楀幙"
+            },
+            {
+              "code": "540222",
+              "name": "姹熷瓬鍘�"
+            },
+            {
+              "code": "540223",
+              "name": "瀹氭棩鍘�"
+            },
+            {
+              "code": "540224",
+              "name": "钀ㄨ喀鍘�"
+            },
+            {
+              "code": "540225",
+              "name": "鎷夊瓬鍘�"
+            },
+            {
+              "code": "540226",
+              "name": "鏄備粊鍘�"
+            },
+            {
+              "code": "540227",
+              "name": "璋㈤�氶棬鍘�"
+            },
+            {
+              "code": "540228",
+              "name": "鐧芥湕鍘�"
+            },
+            {
+              "code": "540229",
+              "name": "浠佸竷鍘�"
+            },
+            {
+              "code": "540230",
+              "name": "搴烽┈鍘�"
+            },
+            {
+              "code": "540231",
+              "name": "瀹氱粨鍘�"
+            },
+            {
+              "code": "540232",
+              "name": "浠插反鍘�"
+            },
+            {
+              "code": "540233",
+              "name": "浜氫笢鍘�"
+            },
+            {
+              "code": "540234",
+              "name": "鍚夐殕鍘�"
+            },
+            {
+              "code": "540235",
+              "name": "鑱傛媺鏈ㄥ幙"
+            },
+            {
+              "code": "540236",
+              "name": "钀ㄥ槑鍘�"
+            },
+            {
+              "code": "540237",
+              "name": "宀楀反鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5403",
+          "name": "鏄岄兘甯�",
+          "children": [
+            {
+              "code": "540302",
+              "name": "鍗¤嫢鍖�"
+            },
+            {
+              "code": "540321",
+              "name": "姹熻揪鍘�"
+            },
+            {
+              "code": "540322",
+              "name": "璐¤鍘�"
+            },
+            {
+              "code": "540323",
+              "name": "绫讳箤榻愬幙"
+            },
+            {
+              "code": "540324",
+              "name": "涓侀潚鍘�"
+            },
+            {
+              "code": "540325",
+              "name": "瀵熼泤鍘�"
+            },
+            {
+              "code": "540326",
+              "name": "鍏鍘�"
+            },
+            {
+              "code": "540327",
+              "name": "宸﹁础鍘�"
+            },
+            {
+              "code": "540328",
+              "name": "鑺掑悍鍘�"
+            },
+            {
+              "code": "540329",
+              "name": "娲涢殕鍘�"
+            },
+            {
+              "code": "540330",
+              "name": "杈瑰潩鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5404",
+          "name": "鏋楄姖甯�",
+          "children": [
+            {
+              "code": "540402",
+              "name": "宸村疁鍖�"
+            },
+            {
+              "code": "540421",
+              "name": "宸ュ竷姹熻揪鍘�"
+            },
+            {
+              "code": "540422",
+              "name": "绫虫灄鍘�"
+            },
+            {
+              "code": "540423",
+              "name": "澧ㄨ劚鍘�"
+            },
+            {
+              "code": "540424",
+              "name": "娉㈠瘑鍘�"
+            },
+            {
+              "code": "540425",
+              "name": "瀵熼殔鍘�"
+            },
+            {
+              "code": "540426",
+              "name": "鏈楀幙"
+            }
+          ]
+        },
+        {
+          "code": "5405",
+          "name": "灞卞崡甯�",
+          "children": [
+            {
+              "code": "540502",
+              "name": "涔冧笢鍖�"
+            },
+            {
+              "code": "540521",
+              "name": "鎵庡泭鍘�"
+            },
+            {
+              "code": "540522",
+              "name": "璐″槑鍘�"
+            },
+            {
+              "code": "540523",
+              "name": "妗戞棩鍘�"
+            },
+            {
+              "code": "540524",
+              "name": "鐞肩粨鍘�"
+            },
+            {
+              "code": "540525",
+              "name": "鏇叉澗鍘�"
+            },
+            {
+              "code": "540526",
+              "name": "鎺編鍘�"
+            },
+            {
+              "code": "540527",
+              "name": "娲涙墡鍘�"
+            },
+            {
+              "code": "540528",
+              "name": "鍔犳煡鍘�"
+            },
+            {
+              "code": "540529",
+              "name": "闅嗗瓙鍘�"
+            },
+            {
+              "code": "540530",
+              "name": "閿欓偅鍘�"
+            },
+            {
+              "code": "540531",
+              "name": "娴崱瀛愬幙"
+            }
+          ]
+        },
+        {
+          "code": "5406",
+          "name": "閭f洸甯�",
+          "children": [
+            {
+              "code": "540602",
+              "name": "鑹插凹鍖�"
+            },
+            {
+              "code": "540621",
+              "name": "鍢夐粠鍘�"
+            },
+            {
+              "code": "540622",
+              "name": "姣斿鍘�"
+            },
+            {
+              "code": "540623",
+              "name": "鑱傝崳鍘�"
+            },
+            {
+              "code": "540624",
+              "name": "瀹夊鍘�"
+            },
+            {
+              "code": "540625",
+              "name": "鐢虫墡鍘�"
+            },
+            {
+              "code": "540626",
+              "name": "绱㈠幙"
+            },
+            {
+              "code": "540627",
+              "name": "鐝垐鍘�"
+            },
+            {
+              "code": "540628",
+              "name": "宸撮潚鍘�"
+            },
+            {
+              "code": "540629",
+              "name": "灏肩帥鍘�"
+            },
+            {
+              "code": "540630",
+              "name": "鍙屾箹鍘�"
+            }
+          ]
+        },
+        {
+          "code": "5425",
+          "name": "闃块噷鍦板尯",
+          "children": [
+            {
+              "code": "542521",
+              "name": "鏅叞鍘�"
+            },
+            {
+              "code": "542522",
+              "name": "鏈揪鍘�"
+            },
+            {
+              "code": "542523",
+              "name": "鍣跺皵鍘�"
+            },
+            {
+              "code": "542524",
+              "name": "鏃ュ湡鍘�"
+            },
+            {
+              "code": "542525",
+              "name": "闈╁悏鍘�"
+            },
+            {
+              "code": "542526",
+              "name": "鏀瑰垯鍘�"
+            },
+            {
+              "code": "542527",
+              "name": "鎺嫟鍘�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "61",
+      "name": "闄曡タ鐪�",
+      "children": [
+        {
+          "code": "6101",
+          "name": "瑗垮畨甯�",
+          "children": [
+            {
+              "code": "610102",
+              "name": "鏂板煄鍖�"
+            },
+            {
+              "code": "610103",
+              "name": "纰戞灄鍖�"
+            },
+            {
+              "code": "610104",
+              "name": "鑾叉箹鍖�"
+            },
+            {
+              "code": "610111",
+              "name": "鐏炴ˉ鍖�"
+            },
+            {
+              "code": "610112",
+              "name": "鏈ぎ鍖�"
+            },
+            {
+              "code": "610113",
+              "name": "闆佸鍖�"
+            },
+            {
+              "code": "610114",
+              "name": "闃庤壇鍖�"
+            },
+            {
+              "code": "610115",
+              "name": "涓存郊鍖�"
+            },
+            {
+              "code": "610116",
+              "name": "闀垮畨鍖�"
+            },
+            {
+              "code": "610117",
+              "name": "楂橀櫟鍖�"
+            },
+            {
+              "code": "610118",
+              "name": "閯犻倯鍖�"
+            },
+            {
+              "code": "610122",
+              "name": "钃濈敯鍘�"
+            },
+            {
+              "code": "610124",
+              "name": "鍛ㄨ嚦鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6102",
+          "name": "閾滃窛甯�",
+          "children": [
+            {
+              "code": "610202",
+              "name": "鐜嬬泭鍖�"
+            },
+            {
+              "code": "610203",
+              "name": "鍗板彴鍖�"
+            },
+            {
+              "code": "610204",
+              "name": "鑰�宸炲尯"
+            },
+            {
+              "code": "610222",
+              "name": "瀹滃悰鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6103",
+          "name": "瀹濋浮甯�",
+          "children": [
+            {
+              "code": "610302",
+              "name": "娓花鍖�"
+            },
+            {
+              "code": "610303",
+              "name": "閲戝彴鍖�"
+            },
+            {
+              "code": "610304",
+              "name": "闄堜粨鍖�"
+            },
+            {
+              "code": "610322",
+              "name": "鍑ょ繑鍘�"
+            },
+            {
+              "code": "610323",
+              "name": "宀愬北鍘�"
+            },
+            {
+              "code": "610324",
+              "name": "鎵堕鍘�"
+            },
+            {
+              "code": "610326",
+              "name": "鐪夊幙"
+            },
+            {
+              "code": "610327",
+              "name": "闄囧幙"
+            },
+            {
+              "code": "610328",
+              "name": "鍗冮槼鍘�"
+            },
+            {
+              "code": "610329",
+              "name": "楹熸父鍘�"
+            },
+            {
+              "code": "610330",
+              "name": "鍑ゅ幙"
+            },
+            {
+              "code": "610331",
+              "name": "澶櫧鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6104",
+          "name": "鍜搁槼甯�",
+          "children": [
+            {
+              "code": "610402",
+              "name": "绉﹂兘鍖�"
+            },
+            {
+              "code": "610403",
+              "name": "鏉ㄩ櫟鍖�"
+            },
+            {
+              "code": "610404",
+              "name": "娓煄鍖�"
+            },
+            {
+              "code": "610422",
+              "name": "涓夊師鍘�"
+            },
+            {
+              "code": "610423",
+              "name": "娉鹃槼鍘�"
+            },
+            {
+              "code": "610424",
+              "name": "涔惧幙"
+            },
+            {
+              "code": "610425",
+              "name": "绀兼硥鍘�"
+            },
+            {
+              "code": "610426",
+              "name": "姘稿鍘�"
+            },
+            {
+              "code": "610428",
+              "name": "闀挎鍘�"
+            },
+            {
+              "code": "610429",
+              "name": "鏃倯鍘�"
+            },
+            {
+              "code": "610430",
+              "name": "娣冲寲鍘�"
+            },
+            {
+              "code": "610431",
+              "name": "姝﹀姛鍘�"
+            },
+            {
+              "code": "610481",
+              "name": "鍏村钩甯�"
+            },
+            {
+              "code": "610482",
+              "name": "褰窞甯�"
+            }
+          ]
+        },
+        {
+          "code": "6105",
+          "name": "娓崡甯�",
+          "children": [
+            {
+              "code": "610502",
+              "name": "涓存腑鍖�"
+            },
+            {
+              "code": "610503",
+              "name": "鍗庡窞鍖�"
+            },
+            {
+              "code": "610522",
+              "name": "娼煎叧鍘�"
+            },
+            {
+              "code": "610523",
+              "name": "澶ц崝鍘�"
+            },
+            {
+              "code": "610524",
+              "name": "鍚堥槼鍘�"
+            },
+            {
+              "code": "610525",
+              "name": "婢勫煄鍘�"
+            },
+            {
+              "code": "610526",
+              "name": "钂插煄鍘�"
+            },
+            {
+              "code": "610527",
+              "name": "鐧芥按鍘�"
+            },
+            {
+              "code": "610528",
+              "name": "瀵屽钩鍘�"
+            },
+            {
+              "code": "610581",
+              "name": "闊╁煄甯�"
+            },
+            {
+              "code": "610582",
+              "name": "鍗庨槾甯�"
+            }
+          ]
+        },
+        {
+          "code": "6106",
+          "name": "寤跺畨甯�",
+          "children": [
+            {
+              "code": "610602",
+              "name": "瀹濆鍖�"
+            },
+            {
+              "code": "610603",
+              "name": "瀹夊鍖�"
+            },
+            {
+              "code": "610621",
+              "name": "寤堕暱鍘�"
+            },
+            {
+              "code": "610622",
+              "name": "寤跺窛鍘�"
+            },
+            {
+              "code": "610625",
+              "name": "蹇椾腹鍘�"
+            },
+            {
+              "code": "610626",
+              "name": "鍚磋捣鍘�"
+            },
+            {
+              "code": "610627",
+              "name": "鐢樻硥鍘�"
+            },
+            {
+              "code": "610628",
+              "name": "瀵屽幙"
+            },
+            {
+              "code": "610629",
+              "name": "娲涘窛鍘�"
+            },
+            {
+              "code": "610630",
+              "name": "瀹滃窛鍘�"
+            },
+            {
+              "code": "610631",
+              "name": "榛勯緳鍘�"
+            },
+            {
+              "code": "610632",
+              "name": "榛勯櫟鍘�"
+            },
+            {
+              "code": "610681",
+              "name": "瀛愰暱甯�"
+            }
+          ]
+        },
+        {
+          "code": "6107",
+          "name": "姹変腑甯�",
+          "children": [
+            {
+              "code": "610702",
+              "name": "姹夊彴鍖�"
+            },
+            {
+              "code": "610703",
+              "name": "鍗楅儜鍖�"
+            },
+            {
+              "code": "610722",
+              "name": "鍩庡浐鍘�"
+            },
+            {
+              "code": "610723",
+              "name": "娲嬪幙"
+            },
+            {
+              "code": "610724",
+              "name": "瑗夸埂鍘�"
+            },
+            {
+              "code": "610725",
+              "name": "鍕夊幙"
+            },
+            {
+              "code": "610726",
+              "name": "瀹佸己鍘�"
+            },
+            {
+              "code": "610727",
+              "name": "鐣ラ槼鍘�"
+            },
+            {
+              "code": "610728",
+              "name": "闀囧反鍘�"
+            },
+            {
+              "code": "610729",
+              "name": "鐣欏潩鍘�"
+            },
+            {
+              "code": "610730",
+              "name": "浣涘潽鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6108",
+          "name": "姒嗘灄甯�",
+          "children": [
+            {
+              "code": "610802",
+              "name": "姒嗛槼鍖�"
+            },
+            {
+              "code": "610803",
+              "name": "妯北鍖�"
+            },
+            {
+              "code": "610822",
+              "name": "搴滆胺鍘�"
+            },
+            {
+              "code": "610824",
+              "name": "闈栬竟鍘�"
+            },
+            {
+              "code": "610825",
+              "name": "瀹氳竟鍘�"
+            },
+            {
+              "code": "610826",
+              "name": "缁ュ痉鍘�"
+            },
+            {
+              "code": "610827",
+              "name": "绫宠剛鍘�"
+            },
+            {
+              "code": "610828",
+              "name": "浣冲幙"
+            },
+            {
+              "code": "610829",
+              "name": "鍚村牎鍘�"
+            },
+            {
+              "code": "610830",
+              "name": "娓呮锭鍘�"
+            },
+            {
+              "code": "610831",
+              "name": "瀛愭床鍘�"
+            },
+            {
+              "code": "610881",
+              "name": "绁炴湪甯�"
+            }
+          ]
+        },
+        {
+          "code": "6109",
+          "name": "瀹夊悍甯�",
+          "children": [
+            {
+              "code": "610902",
+              "name": "姹夋花鍖�"
+            },
+            {
+              "code": "610921",
+              "name": "姹夐槾鍘�"
+            },
+            {
+              "code": "610922",
+              "name": "鐭虫硥鍘�"
+            },
+            {
+              "code": "610923",
+              "name": "瀹侀檿鍘�"
+            },
+            {
+              "code": "610924",
+              "name": "绱槼鍘�"
+            },
+            {
+              "code": "610925",
+              "name": "宀氱殝鍘�"
+            },
+            {
+              "code": "610926",
+              "name": "骞冲埄鍘�"
+            },
+            {
+              "code": "610927",
+              "name": "闀囧潽鍘�"
+            },
+            {
+              "code": "610928",
+              "name": "鏃槼鍘�"
+            },
+            {
+              "code": "610929",
+              "name": "鐧芥渤鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6110",
+          "name": "鍟嗘礇甯�",
+          "children": [
+            {
+              "code": "611002",
+              "name": "鍟嗗窞鍖�"
+            },
+            {
+              "code": "611021",
+              "name": "娲涘崡鍘�"
+            },
+            {
+              "code": "611022",
+              "name": "涓瑰嚖鍘�"
+            },
+            {
+              "code": "611023",
+              "name": "鍟嗗崡鍘�"
+            },
+            {
+              "code": "611024",
+              "name": "灞遍槼鍘�"
+            },
+            {
+              "code": "611025",
+              "name": "闀囧畨鍘�"
+            },
+            {
+              "code": "611026",
+              "name": "鏌炴按鍘�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "62",
+      "name": "鐢樿們鐪�",
+      "children": [
+        {
+          "code": "6201",
+          "name": "鍏板窞甯�",
+          "children": [
+            {
+              "code": "620102",
+              "name": "鍩庡叧鍖�"
+            },
+            {
+              "code": "620103",
+              "name": "涓冮噷娌冲尯"
+            },
+            {
+              "code": "620104",
+              "name": "瑗垮浐鍖�"
+            },
+            {
+              "code": "620105",
+              "name": "瀹夊畞鍖�"
+            },
+            {
+              "code": "620111",
+              "name": "绾㈠彜鍖�"
+            },
+            {
+              "code": "620121",
+              "name": "姘哥櫥鍘�"
+            },
+            {
+              "code": "620122",
+              "name": "鐨嬪叞鍘�"
+            },
+            {
+              "code": "620123",
+              "name": "姒嗕腑鍘�"
+            },
+            {
+              "code": "620171",
+              "name": "鍏板窞鏂板尯"
+            }
+          ]
+        },
+        {
+          "code": "6202",
+          "name": "鍢夊唱鍏冲競",
+          "children": [
+            {
+              "code": "620201100",
+              "name": "鏂板煄闀�"
+            },
+            {
+              "code": "620201101",
+              "name": "宄硥闀�"
+            },
+            {
+              "code": "620201102",
+              "name": "鏂囨畩闀�"
+            },
+            {
+              "code": "620201401",
+              "name": "闆勫叧鍖�"
+            },
+            {
+              "code": "620201402",
+              "name": "闀滈搧鍖�"
+            },
+            {
+              "code": "620201403",
+              "name": "闀垮煄鍖�"
+            }
+          ]
+        },
+        {
+          "code": "6203",
+          "name": "閲戞槍甯�",
+          "children": [
+            {
+              "code": "620302",
+              "name": "閲戝窛鍖�"
+            },
+            {
+              "code": "620321",
+              "name": "姘告槍鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6204",
+          "name": "鐧介摱甯�",
+          "children": [
+            {
+              "code": "620402",
+              "name": "鐧介摱鍖�"
+            },
+            {
+              "code": "620403",
+              "name": "骞冲窛鍖�"
+            },
+            {
+              "code": "620421",
+              "name": "闈栬繙鍘�"
+            },
+            {
+              "code": "620422",
+              "name": "浼氬畞鍘�"
+            },
+            {
+              "code": "620423",
+              "name": "鏅嘲鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6205",
+          "name": "澶╂按甯�",
+          "children": [
+            {
+              "code": "620502",
+              "name": "绉﹀窞鍖�"
+            },
+            {
+              "code": "620503",
+              "name": "楹︾Н鍖�"
+            },
+            {
+              "code": "620521",
+              "name": "娓呮按鍘�"
+            },
+            {
+              "code": "620522",
+              "name": "绉﹀畨鍘�"
+            },
+            {
+              "code": "620523",
+              "name": "鐢樿胺鍘�"
+            },
+            {
+              "code": "620524",
+              "name": "姝﹀北鍘�"
+            },
+            {
+              "code": "620525",
+              "name": "寮犲宸濆洖鏃忚嚜娌诲幙"
+            }
+          ]
+        },
+        {
+          "code": "6206",
+          "name": "姝﹀▉甯�",
+          "children": [
+            {
+              "code": "620602",
+              "name": "鍑夊窞鍖�"
+            },
+            {
+              "code": "620621",
+              "name": "姘戝嫟鍘�"
+            },
+            {
+              "code": "620622",
+              "name": "鍙ゆ氮鍘�"
+            },
+            {
+              "code": "620623",
+              "name": "澶╃钘忔棌鑷不鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6207",
+          "name": "寮犳帠甯�",
+          "children": [
+            {
+              "code": "620702",
+              "name": "鐢樺窞鍖�"
+            },
+            {
+              "code": "620721",
+              "name": "鑲冨崡瑁曞浐鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "620722",
+              "name": "姘戜箰鍘�"
+            },
+            {
+              "code": "620723",
+              "name": "涓存辰鍘�"
+            },
+            {
+              "code": "620724",
+              "name": "楂樺彴鍘�"
+            },
+            {
+              "code": "620725",
+              "name": "灞变腹鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6208",
+          "name": "骞冲噳甯�",
+          "children": [
+            {
+              "code": "620802",
+              "name": "宕嗗硳鍖�"
+            },
+            {
+              "code": "620821",
+              "name": "娉惧窛鍘�"
+            },
+            {
+              "code": "620822",
+              "name": "鐏靛彴鍘�"
+            },
+            {
+              "code": "620823",
+              "name": "宕囦俊鍘�"
+            },
+            {
+              "code": "620825",
+              "name": "搴勬氮鍘�"
+            },
+            {
+              "code": "620826",
+              "name": "闈欏畞鍘�"
+            },
+            {
+              "code": "620881",
+              "name": "鍗庝涵甯�"
+            }
+          ]
+        },
+        {
+          "code": "6209",
+          "name": "閰掓硥甯�",
+          "children": [
+            {
+              "code": "620902",
+              "name": "鑲冨窞鍖�"
+            },
+            {
+              "code": "620921",
+              "name": "閲戝鍘�"
+            },
+            {
+              "code": "620922",
+              "name": "鐡滃窞鍘�"
+            },
+            {
+              "code": "620923",
+              "name": "鑲冨寳钂欏彜鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "620924",
+              "name": "闃垮厠濉炲搱钀ㄥ厠鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "620981",
+              "name": "鐜夐棬甯�"
+            },
+            {
+              "code": "620982",
+              "name": "鏁︾厡甯�"
+            }
+          ]
+        },
+        {
+          "code": "6210",
+          "name": "搴嗛槼甯�",
+          "children": [
+            {
+              "code": "621002",
+              "name": "瑗垮嘲鍖�"
+            },
+            {
+              "code": "621021",
+              "name": "搴嗗煄鍘�"
+            },
+            {
+              "code": "621022",
+              "name": "鐜幙"
+            },
+            {
+              "code": "621023",
+              "name": "鍗庢睜鍘�"
+            },
+            {
+              "code": "621024",
+              "name": "鍚堟按鍘�"
+            },
+            {
+              "code": "621025",
+              "name": "姝e畞鍘�"
+            },
+            {
+              "code": "621026",
+              "name": "瀹佸幙"
+            },
+            {
+              "code": "621027",
+              "name": "闀囧師鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6211",
+          "name": "瀹氳タ甯�",
+          "children": [
+            {
+              "code": "621102",
+              "name": "瀹夊畾鍖�"
+            },
+            {
+              "code": "621121",
+              "name": "閫氭腑鍘�"
+            },
+            {
+              "code": "621122",
+              "name": "闄囪タ鍘�"
+            },
+            {
+              "code": "621123",
+              "name": "娓簮鍘�"
+            },
+            {
+              "code": "621124",
+              "name": "涓存串鍘�"
+            },
+            {
+              "code": "621125",
+              "name": "婕冲幙"
+            },
+            {
+              "code": "621126",
+              "name": "宀峰幙"
+            }
+          ]
+        },
+        {
+          "code": "6212",
+          "name": "闄囧崡甯�",
+          "children": [
+            {
+              "code": "621202",
+              "name": "姝﹂兘鍖�"
+            },
+            {
+              "code": "621221",
+              "name": "鎴愬幙"
+            },
+            {
+              "code": "621222",
+              "name": "鏂囧幙"
+            },
+            {
+              "code": "621223",
+              "name": "瀹曟槍鍘�"
+            },
+            {
+              "code": "621224",
+              "name": "搴峰幙"
+            },
+            {
+              "code": "621225",
+              "name": "瑗垮拰鍘�"
+            },
+            {
+              "code": "621226",
+              "name": "绀煎幙"
+            },
+            {
+              "code": "621227",
+              "name": "寰藉幙"
+            },
+            {
+              "code": "621228",
+              "name": "涓ゅ綋鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6229",
+          "name": "涓村鍥炴棌鑷不宸�",
+          "children": [
+            {
+              "code": "622901",
+              "name": "涓村甯�"
+            },
+            {
+              "code": "622921",
+              "name": "涓村鍘�"
+            },
+            {
+              "code": "622922",
+              "name": "搴蜂箰鍘�"
+            },
+            {
+              "code": "622923",
+              "name": "姘搁潠鍘�"
+            },
+            {
+              "code": "622924",
+              "name": "骞挎渤鍘�"
+            },
+            {
+              "code": "622925",
+              "name": "鍜屾斂鍘�"
+            },
+            {
+              "code": "622926",
+              "name": "涓滀埂鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "622927",
+              "name": "绉煶灞变繚瀹夋棌涓滀埂鏃忔拻鎷夋棌鑷不鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6230",
+          "name": "鐢樺崡钘忔棌鑷不宸�",
+          "children": [
+            {
+              "code": "623001",
+              "name": "鍚堜綔甯�"
+            },
+            {
+              "code": "623021",
+              "name": "涓存江鍘�"
+            },
+            {
+              "code": "623022",
+              "name": "鍗撳凹鍘�"
+            },
+            {
+              "code": "623023",
+              "name": "鑸熸洸鍘�"
+            },
+            {
+              "code": "623024",
+              "name": "杩儴鍘�"
+            },
+            {
+              "code": "623025",
+              "name": "鐜涙洸鍘�"
+            },
+            {
+              "code": "623026",
+              "name": "纰屾洸鍘�"
+            },
+            {
+              "code": "623027",
+              "name": "澶忔渤鍘�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "63",
+      "name": "闈掓捣鐪�",
+      "children": [
+        {
+          "code": "6301",
+          "name": "瑗垮畞甯�",
+          "children": [
+            {
+              "code": "630102",
+              "name": "鍩庝笢鍖�"
+            },
+            {
+              "code": "630103",
+              "name": "鍩庝腑鍖�"
+            },
+            {
+              "code": "630104",
+              "name": "鍩庤タ鍖�"
+            },
+            {
+              "code": "630105",
+              "name": "鍩庡寳鍖�"
+            },
+            {
+              "code": "630121",
+              "name": "澶ч�氬洖鏃忓湡鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "630122",
+              "name": "婀熶腑鍘�"
+            },
+            {
+              "code": "630123",
+              "name": "婀熸簮鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6302",
+          "name": "娴蜂笢甯�",
+          "children": [
+            {
+              "code": "630202",
+              "name": "涔愰兘鍖�"
+            },
+            {
+              "code": "630203",
+              "name": "骞冲畨鍖�"
+            },
+            {
+              "code": "630222",
+              "name": "姘戝拰鍥炴棌鍦熸棌鑷不鍘�"
+            },
+            {
+              "code": "630223",
+              "name": "浜掑姪鍦熸棌鑷不鍘�"
+            },
+            {
+              "code": "630224",
+              "name": "鍖栭殕鍥炴棌鑷不鍘�"
+            },
+            {
+              "code": "630225",
+              "name": "寰寲鎾掓媺鏃忚嚜娌诲幙"
+            }
+          ]
+        },
+        {
+          "code": "6322",
+          "name": "娴峰寳钘忔棌鑷不宸�",
+          "children": [
+            {
+              "code": "632221",
+              "name": "闂ㄦ簮鍥炴棌鑷不鍘�"
+            },
+            {
+              "code": "632222",
+              "name": "绁佽繛鍘�"
+            },
+            {
+              "code": "632223",
+              "name": "娴锋檹鍘�"
+            },
+            {
+              "code": "632224",
+              "name": "鍒氬療鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6323",
+          "name": "榛勫崡钘忔棌鑷不宸�",
+          "children": [
+            {
+              "code": "632321",
+              "name": "鍚屼粊鍘�"
+            },
+            {
+              "code": "632322",
+              "name": "灏栨墡鍘�"
+            },
+            {
+              "code": "632323",
+              "name": "娉藉簱鍘�"
+            },
+            {
+              "code": "632324",
+              "name": "娌冲崡钂欏彜鏃忚嚜娌诲幙"
+            }
+          ]
+        },
+        {
+          "code": "6325",
+          "name": "娴峰崡钘忔棌鑷不宸�",
+          "children": [
+            {
+              "code": "632521",
+              "name": "鍏卞拰鍘�"
+            },
+            {
+              "code": "632522",
+              "name": "鍚屽痉鍘�"
+            },
+            {
+              "code": "632523",
+              "name": "璐靛痉鍘�"
+            },
+            {
+              "code": "632524",
+              "name": "鍏存捣鍘�"
+            },
+            {
+              "code": "632525",
+              "name": "璐靛崡鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6326",
+          "name": "鏋滄礇钘忔棌鑷不宸�",
+          "children": [
+            {
+              "code": "632621",
+              "name": "鐜涙瞾鍘�"
+            },
+            {
+              "code": "632622",
+              "name": "鐝帥鍘�"
+            },
+            {
+              "code": "632623",
+              "name": "鐢樺痉鍘�"
+            },
+            {
+              "code": "632624",
+              "name": "杈炬棩鍘�"
+            },
+            {
+              "code": "632625",
+              "name": "涔呮不鍘�"
+            },
+            {
+              "code": "632626",
+              "name": "鐜涘鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6327",
+          "name": "鐜夋爲钘忔棌鑷不宸�",
+          "children": [
+            {
+              "code": "632701",
+              "name": "鐜夋爲甯�"
+            },
+            {
+              "code": "632722",
+              "name": "鏉傚鍘�"
+            },
+            {
+              "code": "632723",
+              "name": "绉板鍘�"
+            },
+            {
+              "code": "632724",
+              "name": "娌诲鍘�"
+            },
+            {
+              "code": "632725",
+              "name": "鍥婅唉鍘�"
+            },
+            {
+              "code": "632726",
+              "name": "鏇查夯鑾卞幙"
+            }
+          ]
+        },
+        {
+          "code": "6328",
+          "name": "娴疯タ钂欏彜鏃忚棌鏃忚嚜娌诲窞",
+          "children": [
+            {
+              "code": "632801",
+              "name": "鏍煎皵鏈ㄥ競"
+            },
+            {
+              "code": "632802",
+              "name": "寰蜂护鍝堝競"
+            },
+            {
+              "code": "632803",
+              "name": "鑼礀甯�"
+            },
+            {
+              "code": "632821",
+              "name": "涔屽叞鍘�"
+            },
+            {
+              "code": "632822",
+              "name": "閮藉叞鍘�"
+            },
+            {
+              "code": "632823",
+              "name": "澶╁郴鍘�"
+            },
+            {
+              "code": "632857",
+              "name": "澶ф煷鏃﹁鏀垮鍛樹細"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "64",
+      "name": "瀹佸鍥炴棌鑷不鍖�",
+      "children": [
+        {
+          "code": "6401",
+          "name": "閾跺窛甯�",
+          "children": [
+            {
+              "code": "640104",
+              "name": "鍏村簡鍖�"
+            },
+            {
+              "code": "640105",
+              "name": "瑗垮鍖�"
+            },
+            {
+              "code": "640106",
+              "name": "閲戝嚖鍖�"
+            },
+            {
+              "code": "640121",
+              "name": "姘稿畞鍘�"
+            },
+            {
+              "code": "640122",
+              "name": "璐哄叞鍘�"
+            },
+            {
+              "code": "640181",
+              "name": "鐏垫甯�"
+            }
+          ]
+        },
+        {
+          "code": "6402",
+          "name": "鐭冲槾灞卞競",
+          "children": [
+            {
+              "code": "640202",
+              "name": "澶ф鍙e尯"
+            },
+            {
+              "code": "640205",
+              "name": "鎯犲啘鍖�"
+            },
+            {
+              "code": "640221",
+              "name": "骞崇綏鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6403",
+          "name": "鍚村繝甯�",
+          "children": [
+            {
+              "code": "640302",
+              "name": "鍒╅�氬尯"
+            },
+            {
+              "code": "640303",
+              "name": "绾㈠鍫″尯"
+            },
+            {
+              "code": "640323",
+              "name": "鐩愭睜鍘�"
+            },
+            {
+              "code": "640324",
+              "name": "鍚屽績鍘�"
+            },
+            {
+              "code": "640381",
+              "name": "闈掗摐宄″競"
+            }
+          ]
+        },
+        {
+          "code": "6404",
+          "name": "鍥哄師甯�",
+          "children": [
+            {
+              "code": "640402",
+              "name": "鍘熷窞鍖�"
+            },
+            {
+              "code": "640422",
+              "name": "瑗垮悏鍘�"
+            },
+            {
+              "code": "640423",
+              "name": "闅嗗痉鍘�"
+            },
+            {
+              "code": "640424",
+              "name": "娉炬簮鍘�"
+            },
+            {
+              "code": "640425",
+              "name": "褰槼鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6405",
+          "name": "涓崼甯�",
+          "children": [
+            {
+              "code": "640502",
+              "name": "娌欏潯澶村尯"
+            },
+            {
+              "code": "640521",
+              "name": "涓畞鍘�"
+            },
+            {
+              "code": "640522",
+              "name": "娴峰師鍘�"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "code": "65",
+      "name": "鏂扮枂缁村惥灏旇嚜娌诲尯",
+      "children": [
+        {
+          "code": "6501",
+          "name": "涔岄瞾鏈ㄩ綈甯�",
+          "children": [
+            {
+              "code": "650102",
+              "name": "澶╁北鍖�"
+            },
+            {
+              "code": "650103",
+              "name": "娌欎緷宸村厠鍖�"
+            },
+            {
+              "code": "650104",
+              "name": "鏂板競鍖�"
+            },
+            {
+              "code": "650105",
+              "name": "姘寸(娌熷尯"
+            },
+            {
+              "code": "650106",
+              "name": "澶村悲娌冲尯"
+            },
+            {
+              "code": "650107",
+              "name": "杈惧潅鍩庡尯"
+            },
+            {
+              "code": "650109",
+              "name": "绫充笢鍖�"
+            },
+            {
+              "code": "650121",
+              "name": "涔岄瞾鏈ㄩ綈鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6502",
+          "name": "鍏嬫媺鐜涗緷甯�",
+          "children": [
+            {
+              "code": "650202",
+              "name": "鐙北瀛愬尯"
+            },
+            {
+              "code": "650203",
+              "name": "鍏嬫媺鐜涗緷鍖�"
+            },
+            {
+              "code": "650204",
+              "name": "鐧界⒈婊╁尯"
+            },
+            {
+              "code": "650205",
+              "name": "涔屽皵绂惧尯"
+            }
+          ]
+        },
+        {
+          "code": "6504",
+          "name": "鍚愰瞾鐣競",
+          "children": [
+            {
+              "code": "650402",
+              "name": "楂樻槍鍖�"
+            },
+            {
+              "code": "650421",
+              "name": "閯杽鍘�"
+            },
+            {
+              "code": "650422",
+              "name": "鎵樺厠閫婂幙"
+            }
+          ]
+        },
+        {
+          "code": "6505",
+          "name": "鍝堝瘑甯�",
+          "children": [
+            {
+              "code": "650502",
+              "name": "浼婂窞鍖�"
+            },
+            {
+              "code": "650521",
+              "name": "宸撮噷鍧ゅ搱钀ㄥ厠鑷不鍘�"
+            },
+            {
+              "code": "650522",
+              "name": "浼婂惥鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6523",
+          "name": "鏄屽悏鍥炴棌鑷不宸�",
+          "children": [
+            {
+              "code": "652301",
+              "name": "鏄屽悏甯�"
+            },
+            {
+              "code": "652302",
+              "name": "闃滃悍甯�"
+            },
+            {
+              "code": "652323",
+              "name": "鍛煎浘澹佸幙"
+            },
+            {
+              "code": "652324",
+              "name": "鐜涚撼鏂幙"
+            },
+            {
+              "code": "652325",
+              "name": "濂囧彴鍘�"
+            },
+            {
+              "code": "652327",
+              "name": "鍚夋湪钀ㄥ皵鍘�"
+            },
+            {
+              "code": "652328",
+              "name": "鏈ㄥ瀿鍝堣惃鍏嬭嚜娌诲幙"
+            }
+          ]
+        },
+        {
+          "code": "6527",
+          "name": "鍗氬皵濉旀媺钂欏彜鑷不宸�",
+          "children": [
+            {
+              "code": "652701",
+              "name": "鍗氫箰甯�"
+            },
+            {
+              "code": "652702",
+              "name": "闃挎媺灞卞彛甯�"
+            },
+            {
+              "code": "652722",
+              "name": "绮炬渤鍘�"
+            },
+            {
+              "code": "652723",
+              "name": "娓╂硥鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6528",
+          "name": "宸撮煶閮钂欏彜鑷不宸�",
+          "children": [
+            {
+              "code": "652801",
+              "name": "搴撳皵鍕掑競"
+            },
+            {
+              "code": "652822",
+              "name": "杞彴鍘�"
+            },
+            {
+              "code": "652823",
+              "name": "灏夌妬鍘�"
+            },
+            {
+              "code": "652824",
+              "name": "鑻ョ緦鍘�"
+            },
+            {
+              "code": "652825",
+              "name": "涓旀湯鍘�"
+            },
+            {
+              "code": "652826",
+              "name": "鐒夎�嗗洖鏃忚嚜娌诲幙"
+            },
+            {
+              "code": "652827",
+              "name": "鍜岄潤鍘�"
+            },
+            {
+              "code": "652828",
+              "name": "鍜岀鍘�"
+            },
+            {
+              "code": "652829",
+              "name": "鍗氭箹鍘�"
+            },
+            {
+              "code": "652871",
+              "name": "搴撳皵鍕掔粡娴庢妧鏈紑鍙戝尯"
+            }
+          ]
+        },
+        {
+          "code": "6529",
+          "name": "闃垮厠鑻忓湴鍖�",
+          "children": [
+            {
+              "code": "652901",
+              "name": "闃垮厠鑻忓競"
+            },
+            {
+              "code": "652922",
+              "name": "娓╁鍘�"
+            },
+            {
+              "code": "652923",
+              "name": "搴撹溅鍘�"
+            },
+            {
+              "code": "652924",
+              "name": "娌欓泤鍘�"
+            },
+            {
+              "code": "652925",
+              "name": "鏂板拰鍘�"
+            },
+            {
+              "code": "652926",
+              "name": "鎷滃煄鍘�"
+            },
+            {
+              "code": "652927",
+              "name": "涔屼粈鍘�"
+            },
+            {
+              "code": "652928",
+              "name": "闃跨摝鎻愬幙"
+            },
+            {
+              "code": "652929",
+              "name": "鏌潽鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6530",
+          "name": "鍏嬪瓬鍕掕嫃鏌皵鍏嬪瓬鑷不宸�",
+          "children": [
+            {
+              "code": "653001",
+              "name": "闃垮浘浠�甯�"
+            },
+            {
+              "code": "653022",
+              "name": "闃垮厠闄跺幙"
+            },
+            {
+              "code": "653023",
+              "name": "闃垮悎濂囧幙"
+            },
+            {
+              "code": "653024",
+              "name": "涔屾伆鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6531",
+          "name": "鍠�浠�鍦板尯",
+          "children": [
+            {
+              "code": "653101",
+              "name": "鍠�浠�甯�"
+            },
+            {
+              "code": "653121",
+              "name": "鐤忛檮鍘�"
+            },
+            {
+              "code": "653122",
+              "name": "鐤忓嫆鍘�"
+            },
+            {
+              "code": "653123",
+              "name": "鑻卞悏娌欏幙"
+            },
+            {
+              "code": "653124",
+              "name": "娉芥櫘鍘�"
+            },
+            {
+              "code": "653125",
+              "name": "鑾庤溅鍘�"
+            },
+            {
+              "code": "653126",
+              "name": "鍙跺煄鍘�"
+            },
+            {
+              "code": "653127",
+              "name": "楹︾洊鎻愬幙"
+            },
+            {
+              "code": "653128",
+              "name": "宀虫櫘婀栧幙"
+            },
+            {
+              "code": "653129",
+              "name": "浼藉笀鍘�"
+            },
+            {
+              "code": "653130",
+              "name": "宸存鍘�"
+            },
+            {
+              "code": "653131",
+              "name": "濉斾粈搴撳皵骞插鍚夊厠鑷不鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6532",
+          "name": "鍜岀敯鍦板尯",
+          "children": [
+            {
+              "code": "653201",
+              "name": "鍜岀敯甯�"
+            },
+            {
+              "code": "653221",
+              "name": "鍜岀敯鍘�"
+            },
+            {
+              "code": "653222",
+              "name": "澧ㄧ帀鍘�"
+            },
+            {
+              "code": "653223",
+              "name": "鐨北鍘�"
+            },
+            {
+              "code": "653224",
+              "name": "娲涙郸鍘�"
+            },
+            {
+              "code": "653225",
+              "name": "绛栧嫆鍘�"
+            },
+            {
+              "code": "653226",
+              "name": "浜庣敯鍘�"
+            },
+            {
+              "code": "653227",
+              "name": "姘戜赴鍘�"
+            }
+          ]
+        },
+        {
+          "code": "6540",
+          "name": "浼婄妬鍝堣惃鍏嬭嚜娌诲窞",
+          "children": [
+            {
+              "code": "654002",
+              "name": "浼婂畞甯�"
+            },
+            {
+              "code": "654003",
+              "name": "濂庡悲甯�"
+            },
+            {
+              "code": "654004",
+              "name": "闇嶅皵鏋滄柉甯�"
+            },
+            {
+              "code": "654021",
+              "name": "浼婂畞鍘�"
+            },
+            {
+              "code": "654022",
+              "name": "瀵熷竷鏌ュ皵閿′集鑷不鍘�"
+            },
+            {
+              "code": "654023",
+              "name": "闇嶅煄鍘�"
+            },
+            {
+              "code": "654024",
+              "name": "宸╃暀鍘�"
+            },
+            {
+              "code": "654025",
+              "name": "鏂版簮鍘�"
+            },
+            {
+              "code": "654026",
+              "name": "鏄嫃鍘�"
+            },
+            {
+              "code": "654027",
+              "name": "鐗瑰厠鏂幙"
+            },
+            {
+              "code": "654028",
+              "name": "灏煎嫆鍏嬪幙"
+            }
+          ]
+        },
+        {
+          "code": "6542",
+          "name": "濉斿煄鍦板尯",
+          "children": [
+            {
+              "code": "654201",
+              "name": "濉斿煄甯�"
+            },
+            {
+              "code": "654202",
+              "name": "涔岃嫃甯�"
+            },
+            {
+              "code": "654221",
+              "name": "棰濇晱鍘�"
+            },
+            {
+              "code": "654223",
+              "name": "娌欐咕鍘�"
+            },
+            {
+              "code": "654224",
+              "name": "鎵橀噷鍘�"
+            },
+            {
+              "code": "654225",
+              "name": "瑁曟皯鍘�"
+            },
+            {
+              "code": "654226",
+              "name": "鍜屽竷鍏嬭禌灏旇挋鍙よ嚜娌诲幙"
+            }
+          ]
+        },
+        {
+          "code": "6543",
+          "name": "闃垮嫆娉板湴鍖�",
+          "children": [
+            {
+              "code": "654301",
+              "name": "闃垮嫆娉板競"
+            },
+            {
+              "code": "654321",
+              "name": "甯冨皵娲ュ幙"
+            },
+            {
+              "code": "654322",
+              "name": "瀵岃暣鍘�"
+            },
+            {
+              "code": "654323",
+              "name": "绂忔捣鍘�"
+            },
+            {
+              "code": "654324",
+              "name": "鍝堝反娌冲幙"
+            },
+            {
+              "code": "654325",
+              "name": "闈掓渤鍘�"
+            },
+            {
+              "code": "654326",
+              "name": "鍚夋湪涔冨幙"
+            }
+          ]
+        },
+        {
+          "code": "6590",
+          "name": "鑷不鍖虹洿杈栧幙绾ц鏀垮尯鍒�",
+          "children": [
+            {
+              "code": "659001",
+              "name": "鐭虫渤瀛愬競"
+            },
+            {
+              "code": "659002",
+              "name": "闃挎媺灏斿競"
+            },
+            {
+              "code": "659003",
+              "name": "鍥炬湪鑸掑厠甯�"
+            },
+            {
+              "code": "659004",
+              "name": "浜斿娓犲競"
+            },
+            {
+              "code": "659006",
+              "name": "閾侀棬鍏冲競"
+            }
+          ]
+        }
+      ]
+    }
+  ]
+//鏄惁寰呭姙浠诲姟
+export const isMyWorksEnum: ItemTypeBoalean[] = [
+  {
+      title: '鍚�',
+      value: false
+  },
+  {
+      title: '鏄�',
+      value: true
+  }
+]
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/exportExcel.ts b/LA24030_LuLiPackageLine_Web/src/utils/exportExcel.ts
new file mode 100644
index 0000000..63fdffe
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/exportExcel.ts
@@ -0,0 +1,301 @@
+import XLSXS from 'xlsx-js-style';
+/**
+* @description:
+* @param {Object} json 鏈嶅姟绔彂杩囨潵鐨勬暟鎹�
+* @param {String} name 瀵煎嚭Excel鏂囦欢鍚嶅瓧
+
+* @param {String} titleArr 瀵煎嚭Excel琛ㄥご
+
+* @param {String} sheetName 瀵煎嚭sheetName鍚嶅瓧
+* @return:
+**/
+export function exportExcel(jsonarr: Array<EmptyObjectType>, name: string, header: Array<EmptyObjectType>, sheetName: string) {
+	var data = new Array();
+	var wpxArr = new Array(); //鍒楀搴�
+	const borderStyle = {
+		//杈规鏍峰紡
+		top: {
+			style: 'thin',
+			color: {
+				rgb: '000000',
+			},
+		},
+		bottom: {
+			style: 'thin',
+			color: {
+				rgb: '000000',
+			},
+		},
+		left: {
+			style: 'thin',
+			color: {
+				rgb: '000000',
+			},
+		},
+		right: {
+			style: 'thin',
+			color: {
+				rgb: '000000',
+			},
+		},
+	};
+	let headerDepth = getMaxDepth(header);
+	let headerColumns = getTotalColumns(header);
+
+	//鍒涘缓琛ㄥご浜岀淮鏁扮粍
+	let headerArr = new Array(headerDepth);
+	for (let i = 0; i < headerArr.length; i++) {
+		headerArr[i] = new Array(headerColumns);
+	}
+	//璁$畻鍒楃储寮�
+	let colIndex = 0;
+	for (let i = 0; i < header.length; i++) {
+		let col = header[i];
+
+		//鑾峰彇鍒楀搴旂殑闀垮害
+		let colNum = getTotalColumns([col]);
+		let colDepth = getMaxDepth([col]);
+		for (let y = 0; y < colNum; y++) {
+			colIndex = colIndex + y;
+			for (let z = 0; z < colDepth; z++) {
+				headerRec(z, colIndex, y, col, headerArr);
+				// headerArr[z][colIndex]=col;
+			}
+		}
+		colIndex++;
+	}
+
+	//濉厖琛ㄥご鍒椾负绌虹殑鍒楋紝涓虹┖鐨勫垪瑕佸拰鏈垪涓婁竴琛屼繚鎸佷竴鑷达紝閫氳繃涓�鑷寸殑鍗曞厓鏍硷紝鏉ュ悎骞跺崟鍏冩牸
+	for (let i = 0; i < headerArr.length; i++) {
+		let row = headerArr[i];
+		for (let j = 0; j < row.length; j++) {
+			if (headerArr[i][j] == null) {
+				headerArr[i][j] = headerArr[i - 1][j];
+			}
+		}
+	}
+
+	//閫掑綊header
+	function headerRec(rowindex: number, colindex: number, childrenindex: number, col: any, arr: any) {
+		if (rowindex > 0) {
+			if (col.children) {
+				headerRec(rowindex, colIndex, childrenindex, col.children, arr);
+			} else {
+				arr[rowindex][colindex] = col[childrenindex];
+			}
+		} else {
+			arr[rowindex][colindex] = col;
+		}
+	}
+
+	for (let i = 0; i < headerArr.length; i++) {
+		var headrow = new Array();
+		let ha = headerArr[i];
+		for (let j = 0; j < ha.length; j++) {
+			let item = ha[j];
+			let width = 200;
+			if (item.width && !isNaN(item.width)) {
+				width = parseInt(item.width) * 0.7;
+			}
+			wpxArr.push({ wpx: width });
+			headrow.push({
+				v: item.label,
+				t: 's',
+				s: {
+					font: { bold: true },
+					alignment: { wrapText: true, horizontal: item.headerAlign ? item.headerAlign : item.align ? item.align : '', vertical: 'center' },
+					border: borderStyle,
+				},
+			});
+		}
+		data.push(headrow); //鍐欏叆鏍囬
+	}
+
+	// 璁$畻鍚堝苟鍗曞厓鏍间俊鎭�
+	var mergedCells = [];
+
+	var mergedflg = false;
+	var mergedcell = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };
+
+	//鍒楀悎骞�
+	for (let i = 0; i < headerColumns; i++) {
+		let rowcol = headerArr[0][i];
+		for (let j = 0; j < headerDepth; j++) {
+			let col = headerArr[j][i];
+			if (col == rowcol && mergedflg == false) {
+				mergedflg = true;
+				mergedcell.s = { r: j, c: i };
+			} else if (col != rowcol && mergedflg == true) {
+				mergedcell.e = { r: j - 1, c: i };
+
+				if (mergedcell.s.r != mergedcell.e.r) {
+					mergedCells.push(JSON.parse(JSON.stringify(mergedcell)));
+					mergedflg = false;
+					mergedcell = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };
+				} else if (j == headerDepth - 1 && mergedflg == true) {
+					mergedcell.e = { r: j, c: i };
+					if (mergedcell.s.r != mergedcell.e.r && col == rowcol) {
+						mergedCells.push(JSON.parse(JSON.stringify(mergedcell)));
+					}
+					mergedflg = false;
+					mergedcell = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };
+				} else {
+					rowcol = col;
+					mergedflg = true;
+					mergedcell.s = { r: j, c: i };
+				}
+				// rowcol=col;
+				// mergedflg=false;
+				// mergedcell={s:{r:0,c:0},e:{r:0,c:0}}
+			} else if (j == headerDepth - 1 && mergedflg == true) {
+				mergedcell.e = { r: j, c: i };
+				if (mergedcell.s.r != mergedcell.e.r && col == rowcol) {
+					mergedCells.push(JSON.parse(JSON.stringify(mergedcell)));
+				}
+				mergedflg = false;
+				mergedcell = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };
+			}
+		}
+	}
+
+	//琛屽悎骞�
+	for (let i = 0; i < headerDepth; i++) {
+		let rowcol = headerArr[i][0];
+		for (let j = 0; j < headerColumns; j++) {
+			let col = headerArr[i][j];
+			if (col == rowcol && mergedflg == false) {
+				mergedflg = true;
+				mergedcell.s = { r: i, c: j };
+			} else if (col != rowcol && mergedflg == true) {
+				mergedcell.e = { r: i, c: j - 1 };
+
+				if (mergedcell.s.c != mergedcell.e.c) {
+					mergedCells.push(JSON.parse(JSON.stringify(mergedcell)));
+					mergedflg = false;
+					mergedcell = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };
+				} else if (j == headerColumns - 1 && mergedflg == true) {
+					mergedcell.e = { r: i, c: j };
+					if (mergedcell.s.r != mergedcell.e.r && col == rowcol) {
+						mergedCells.push(JSON.parse(JSON.stringify(mergedcell)));
+					}
+					mergedflg = false;
+					mergedcell = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };
+				} else {
+					rowcol = col;
+					mergedflg = true;
+					mergedcell.s = { r: i, c: j };
+				}
+				// rowcol=col;
+				// mergedflg=false;
+				// mergedcell={s:{r:0,c:0},e:{r:0,c:0}}
+			} else if (j == headerColumns - 1 && mergedflg == true) {
+				mergedcell.e = { r: i, c: j };
+				if (mergedcell.s.c != mergedcell.e.c && col == rowcol) {
+					mergedCells.push(JSON.parse(JSON.stringify(mergedcell)));
+				}
+				mergedflg = false;
+				mergedcell = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };
+			}
+		}
+	}
+
+	jsonarr.forEach((json) => {
+		var row = new Array();
+		headerArr[headerArr.length - 1].forEach((item) => {
+			if (json.hasOwnProperty(item.prop) || getProperty(json, item.prop)) {
+				let val = '';
+				if (json[item.prop] != null) {
+					if (item.formatter) {
+						var itemf = item.formatter(json);
+						val = formatterRec(itemf); //閫掑綊鑾峰彇formatter淇℃伅
+					} else {
+						val = json[item.prop];
+					}
+				} else if (getProperty(json, item.prop)) {
+					if (item.formatter) {
+						var itemf = item.formatter(json);
+						val = formatterRec(itemf); //閫掑綊鑾峰彇formatter淇℃伅
+					} else {
+						val = getProperty(json, item.prop);
+					}
+				}
+				row.push({
+					v: val,
+					t: 's',
+					s: {
+						alignment: { wrapText: true, horizontal: item.align ? item.align : '', vertical: 'center' },
+						border: borderStyle,
+					},
+				});
+			}
+		});
+		data.push(row);
+	});
+	const ws = XLSXS.utils.aoa_to_sheet(data);
+	const wb = XLSXS.utils.book_new();
+	ws['!cols'] = wpxArr;
+	ws['!merges'] = mergedCells; // 璁剧疆鍚堝苟鍗曞厓鏍间俊鎭�
+	XLSXS.utils.book_append_sheet(wb, ws, sheetName);
+	/* generate file and send to client */
+	XLSXS.writeFile(wb, name + '.xlsx');
+}
+//閫掑綊formatter
+function formatterRec(itemf: any) {
+	let r = '';
+	if (itemf.children) {
+		if (itemf.children.default) {
+			r = itemf.children.default();
+		} else {
+			itemf.children.forEach((element: any) => {
+				r = r + formatterRec(element);
+			});
+		}
+	} else {
+		r = itemf;
+	}
+	return r;
+}
+//鑾峰彇娣卞害
+function getMaxDepth(data: any) {
+	let maxDepth = 1;
+
+	function traverse(obj, depth) {
+		if (obj.children && obj.children.length > 0) {
+			depth++;
+			if (depth > maxDepth) {
+				maxDepth = depth;
+			}
+			obj.children.forEach((child) => traverse(child, depth));
+		}
+	}
+
+	data.forEach((obj) => traverse(obj, 1));
+
+	return maxDepth;
+}
+//鑾峰彇鎬诲垪鏁�
+function getTotalColumns(data: any) {
+	let totalColumns = 0;
+
+	function traverse(obj) {
+		if (obj.children && obj.children.length > 0) {
+			obj.children.forEach((child) => traverse(child));
+		} else {
+			totalColumns++;
+		}
+	}
+
+	data.forEach((obj) => traverse(obj));
+
+	return totalColumns;
+}
+//鑾峰彇瀛愬璞�
+const getProperty = (obj, property) => {
+	const keys = property.split('.');
+	let value = obj;
+	for (const key of keys) {
+		value = value[key];
+	}
+
+	return value;
+};
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/exportExcel2.ts b/LA24030_LuLiPackageLine_Web/src/utils/exportExcel2.ts
new file mode 100644
index 0000000..c75c5cf
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/exportExcel2.ts
@@ -0,0 +1,104 @@
+//瀵煎嚭鎸囧畾鍒楃殑excel鏁版嵁
+import { ElMessage } from 'element-plus';
+// import XLSX from 'xlsx';
+import XLSXS from 'xlsx-js-style';
+
+export function exportExcel(dataSource: any[], entozh: any={}, type = "xlsx", name = "鍏ㄩ儴淇℃伅") {
+  const nowdata = dataSource;
+  if (nowdata != undefined) {
+  //   let i = 1;
+  //   const json = nowdata.map((item: { [x: string]: any; }) => {
+  //     return Object.keys(item).reduce((newData, key) => {
+  //       const newKey = entozh[key] //|| key
+  //       if (newKey !== undefined) {
+  //         if (key !== 'key') {
+  //           //涓嶉渶瑕乲ey
+  //           if (key === 'id') {
+  //             newData[newKey] = i;
+  //             i++;
+  //           } else {
+  //             newData[newKey] = item[key]
+  //           }
+  //         }
+  //       }
+  //       return newData
+  //     }, {})
+  //   });
+  //   // debugger;
+  //   console.log(json,'1111')
+  //   const sheet = XLSXS.utils.json_to_sheet(json);
+  //   openDownloadDialog(sheet2blob(sheet, undefined, type), `${name}.${type}`);
+    const keysArr: string[] = Object.keys(entozh)
+    const aoa = [];
+    
+    const headerArr: any[] = [];
+    keysArr.forEach(item => {
+      if(item != 'id') {
+        headerArr.push(entozh[item])
+      }
+    })
+    const contentArr: any[][] = [];
+    nowdata.forEach(item => {
+      const arr: any[] = [];
+      keysArr.forEach(key => {
+        if(key != 'id') {
+          arr.push(item[key])
+        }
+      })
+      contentArr.push(arr)
+    })
+    aoa.push(headerArr,...contentArr)
+    // console.log(aoa)
+    const worksheet = XLSXS.utils.aoa_to_sheet(aoa)
+    openDownloadDialog(sheet2blob(worksheet, undefined, type), `${name}.${type}`);
+    // XLSXS.utils.book_append_sheet(workbook,worksheet,`${name}.${type}`)
+    
+  } else {
+    ElMessage.warning('鏃犳暟鎹�')
+  }
+
+}
+
+export function openDownloadDialog(url: string | any, saveName: string) {
+  if (typeof url == 'object' && url instanceof Blob) {
+    url = URL.createObjectURL(url); // 鍒涘缓blob鍦板潃
+  }
+  const aLink = document.createElement('a');
+  aLink.href = url;
+  aLink.download = saveName || ''; // HTML5鏂板鐨勫睘鎬э紝鎸囧畾淇濆瓨鏂囦欢鍚嶏紝鍙互涓嶈鍚庣紑锛屾敞鎰忥紝file:///妯″紡涓嬩笉浼氱敓鏁�
+  let event;
+  if (window.MouseEvent) event = new MouseEvent('click');
+  else {
+    event = document.createEvent('MouseEvents');
+    event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
+  }
+  aLink.dispatchEvent(event);
+}
+
+export function sheet2blob(sheet: XLSXS.WorkSheet, sheetName: string | undefined, type = "xlsx") {
+  sheetName = sheetName || 'sheet1';
+  const workbook = {
+    SheetNames: [sheetName],
+    Sheets: {}
+  };
+  workbook.Sheets[sheetName] = sheet; // 鐢熸垚excel鐨勯厤缃」
+
+  const wopts: any = {
+    bookType: `${type}`, // 瑕佺敓鎴愮殑鏂囦欢绫诲瀷
+    bookSST: false, // 鏄惁鐢熸垚Shared String Table锛屽畼鏂硅В閲婃槸锛屽鏋滃紑鍚敓鎴愰�熷害浼氫笅闄嶏紝浣嗗湪浣庣増鏈琁OS璁惧涓婃湁鏇村ソ鐨勫吋瀹规��
+    type: 'binary'
+  };
+
+  const wbout = XLSXS.write(workbook, wopts);
+  const blob = new Blob([s2ab(wbout)], {
+    type: "application/octet-stream"
+  }); // 瀛楃涓茶浆ArrayBuffer
+  function s2ab(s: string) {
+    const buf = new ArrayBuffer(s.length);
+    const view = new Uint8Array(buf);
+    for (let i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
+    return buf;
+  }
+
+  return blob;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/exportExcelForDetail.ts b/LA24030_LuLiPackageLine_Web/src/utils/exportExcelForDetail.ts
new file mode 100644
index 0000000..c75c5cf
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/exportExcelForDetail.ts
@@ -0,0 +1,104 @@
+//瀵煎嚭鎸囧畾鍒楃殑excel鏁版嵁
+import { ElMessage } from 'element-plus';
+// import XLSX from 'xlsx';
+import XLSXS from 'xlsx-js-style';
+
+export function exportExcel(dataSource: any[], entozh: any={}, type = "xlsx", name = "鍏ㄩ儴淇℃伅") {
+  const nowdata = dataSource;
+  if (nowdata != undefined) {
+  //   let i = 1;
+  //   const json = nowdata.map((item: { [x: string]: any; }) => {
+  //     return Object.keys(item).reduce((newData, key) => {
+  //       const newKey = entozh[key] //|| key
+  //       if (newKey !== undefined) {
+  //         if (key !== 'key') {
+  //           //涓嶉渶瑕乲ey
+  //           if (key === 'id') {
+  //             newData[newKey] = i;
+  //             i++;
+  //           } else {
+  //             newData[newKey] = item[key]
+  //           }
+  //         }
+  //       }
+  //       return newData
+  //     }, {})
+  //   });
+  //   // debugger;
+  //   console.log(json,'1111')
+  //   const sheet = XLSXS.utils.json_to_sheet(json);
+  //   openDownloadDialog(sheet2blob(sheet, undefined, type), `${name}.${type}`);
+    const keysArr: string[] = Object.keys(entozh)
+    const aoa = [];
+    
+    const headerArr: any[] = [];
+    keysArr.forEach(item => {
+      if(item != 'id') {
+        headerArr.push(entozh[item])
+      }
+    })
+    const contentArr: any[][] = [];
+    nowdata.forEach(item => {
+      const arr: any[] = [];
+      keysArr.forEach(key => {
+        if(key != 'id') {
+          arr.push(item[key])
+        }
+      })
+      contentArr.push(arr)
+    })
+    aoa.push(headerArr,...contentArr)
+    // console.log(aoa)
+    const worksheet = XLSXS.utils.aoa_to_sheet(aoa)
+    openDownloadDialog(sheet2blob(worksheet, undefined, type), `${name}.${type}`);
+    // XLSXS.utils.book_append_sheet(workbook,worksheet,`${name}.${type}`)
+    
+  } else {
+    ElMessage.warning('鏃犳暟鎹�')
+  }
+
+}
+
+export function openDownloadDialog(url: string | any, saveName: string) {
+  if (typeof url == 'object' && url instanceof Blob) {
+    url = URL.createObjectURL(url); // 鍒涘缓blob鍦板潃
+  }
+  const aLink = document.createElement('a');
+  aLink.href = url;
+  aLink.download = saveName || ''; // HTML5鏂板鐨勫睘鎬э紝鎸囧畾淇濆瓨鏂囦欢鍚嶏紝鍙互涓嶈鍚庣紑锛屾敞鎰忥紝file:///妯″紡涓嬩笉浼氱敓鏁�
+  let event;
+  if (window.MouseEvent) event = new MouseEvent('click');
+  else {
+    event = document.createEvent('MouseEvents');
+    event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
+  }
+  aLink.dispatchEvent(event);
+}
+
+export function sheet2blob(sheet: XLSXS.WorkSheet, sheetName: string | undefined, type = "xlsx") {
+  sheetName = sheetName || 'sheet1';
+  const workbook = {
+    SheetNames: [sheetName],
+    Sheets: {}
+  };
+  workbook.Sheets[sheetName] = sheet; // 鐢熸垚excel鐨勯厤缃」
+
+  const wopts: any = {
+    bookType: `${type}`, // 瑕佺敓鎴愮殑鏂囦欢绫诲瀷
+    bookSST: false, // 鏄惁鐢熸垚Shared String Table锛屽畼鏂硅В閲婃槸锛屽鏋滃紑鍚敓鎴愰�熷害浼氫笅闄嶏紝浣嗗湪浣庣増鏈琁OS璁惧涓婃湁鏇村ソ鐨勫吋瀹规��
+    type: 'binary'
+  };
+
+  const wbout = XLSXS.write(workbook, wopts);
+  const blob = new Blob([s2ab(wbout)], {
+    type: "application/octet-stream"
+  }); // 瀛楃涓茶浆ArrayBuffer
+  function s2ab(s: string) {
+    const buf = new ArrayBuffer(s.length);
+    const view = new Uint8Array(buf);
+    for (let i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
+    return buf;
+  }
+
+  return blob;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/exportPageExcel.ts b/LA24030_LuLiPackageLine_Web/src/utils/exportPageExcel.ts
new file mode 100644
index 0000000..ddb9c97
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/exportPageExcel.ts
@@ -0,0 +1,61 @@
+//瀵煎嚭鎸囧畾鍒楃殑excel鏁版嵁
+import { ElMessage } from 'element-plus';
+// import XLSX from 'xlsx';
+import XLSXS from 'xlsx-js-style';
+import { exportExcel } from '/@/utils/exportExcel2' //寮曞叆瀵煎嚭鏂规硶
+import { formatDate } from '/@/utils/formatTime'
+
+export function exportPageExcel(exportDataList: any[], tableRef: any={}, fileName:string,functionMap:any[]) {
+  const columns = tableRef.value.store.states.columns; // 鑾峰彇鍒楅厤缃�
+  const data_columns=new Array();
+  columns._value.forEach((column) => {
+           //console.log('鍒楀悕:'+column.label+',灞炴�у悕:'+column.property);
+           if(column.property!=undefined){
+            let _formatter=undefined;
+            if(column.formatter!=undefined){
+              _formatter=column.formatter.name;
+            }
+            data_columns.push( {
+            label:column.label,
+            property:column.property,
+            formatter:_formatter
+           });
+           }
+   });
+  let entozh = {};
+  data_columns.forEach(item => {
+	 entozh[item.property] = item.label
+	});
+  exportDataList.forEach(item => {
+    var arrKeys = Object.keys(item);
+    arrKeys.forEach(key => {
+
+      //鏃ユ湡澶勭悊
+      data_columns.forEach(itemIn => {
+      if (itemIn.formatter !=undefined && key == itemIn.property && item[key]) {
+        if(itemIn.formatter=="formatDate_T_Date" || itemIn.formatter=="formatDate_T_Time"){
+          item[key] = functionMap[itemIn.formatter](null,null,item[key]);
+        }else{
+          //闅愯棌鎻愮ず 銆怑ditby shaocx,2024-07-08銆�
+          //ElMessage.warning("涓嶆敮鎸佺殑鏂规硶:"+itemIn.formatter);
+        }
+      }});
+     
+      //鏋氫妇杞��
+      //棣栧厛棣栧瓧姣嶅ぇ鍐欒浆鎹�
+      var toUpperStr=key.charAt(0).toUpperCase() + key.slice(1);
+      var strFieldDic = "getEnum"+toUpperStr + 'Data_Index';
+      const bb= functionMap[strFieldDic]?.value;
+      if(bb!=undefined){
+        if(typeof item[key] === 'boolean'){
+          let new_key_value=item[key]?1:0;
+          item[key] = bb[new_key_value]?.describe || '';
+        }else{
+          item[key] = bb.find(o=>o.value==item[key])?.describe || '';
+        }
+      }
+    });
+  });  
+  
+  exportExcel(exportDataList, entozh, "xlsx", fileName+"("+formatDate(new Date(),"YYYY-mm-dd HH:MM")+")");
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/formatTime.ts b/LA24030_LuLiPackageLine_Web/src/utils/formatTime.ts
new file mode 100644
index 0000000..2b1a292
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/formatTime.ts
@@ -0,0 +1,189 @@
+/**
+ * 鏃堕棿鏃ユ湡杞崲
+ * @param date 褰撳墠鏃堕棿锛宯ew Date() 鏍煎紡
+ * @param format 闇�瑕佽浆鎹㈢殑鏃堕棿鏍煎紡瀛楃涓�
+ * @description format 瀛楃涓查殢鎰忥紝濡� `YYYY-mm銆乊YYY-mm-dd`
+ * @description format 瀛e害锛�"YYYY-mm-dd HH:MM:SS QQQQ"
+ * @description format 鏄熸湡锛�"YYYY-mm-dd HH:MM:SS WWW"
+ * @description format 鍑犲懆锛�"YYYY-mm-dd HH:MM:SS ZZZ"
+ * @description format 瀛e害 + 鏄熸湡 + 鍑犲懆锛�"YYYY-mm-dd HH:MM:SS WWW QQQQ ZZZ"
+ * @returns 杩斿洖鎷兼帴鍚庣殑鏃堕棿瀛楃涓�
+ */
+export function formatDate(date: Date, format: string): string {
+	let we = date.getDay(); // 鏄熸湡
+	let z = getWeek(date); // 鍛�
+	let qut = Math.floor((date.getMonth() + 3) / 3).toString(); // 瀛e害
+	const opt: { [key: string]: string } = {
+		'Y+': date.getFullYear().toString(), // 骞�
+		'm+': (date.getMonth() + 1).toString(), // 鏈�(鏈堜唤浠�0寮�濮嬶紝瑕�+1)
+		'd+': date.getDate().toString(), // 鏃�
+		'H+': date.getHours().toString(), // 鏃�
+		'M+': date.getMinutes().toString(), // 鍒�
+		'S+': date.getSeconds().toString(), // 绉�
+		'q+': qut, // 瀛e害
+	};
+	// 涓枃鏁板瓧 (鏄熸湡)
+	const week: { [key: string]: string } = {
+		'0': '鏃�',
+		'1': '涓�',
+		'2': '浜�',
+		'3': '涓�',
+		'4': '鍥�',
+		'5': '浜�',
+		'6': '鍏�',
+	};
+	// 涓枃鏁板瓧锛堝搴︼級
+	const quarter: { [key: string]: string } = {
+		'1': '涓�',
+		'2': '浜�',
+		'3': '涓�',
+		'4': '鍥�',
+	};
+	if (/(W+)/.test(format))
+		format = format.replace(RegExp.$1, RegExp.$1.length > 1 ? (RegExp.$1.length > 2 ? '鏄熸湡' + week[we] : '鍛�' + week[we]) : week[we]);
+	if (/(Q+)/.test(format)) format = format.replace(RegExp.$1, RegExp.$1.length == 4 ? '绗�' + quarter[qut] + '瀛e害' : quarter[qut]);
+	if (/(Z+)/.test(format)) format = format.replace(RegExp.$1, RegExp.$1.length == 3 ? '绗�' + z + '鍛�' : z + '');
+	for (let k in opt) {
+		let r = new RegExp('(' + k + ')').exec(format);
+		// 鑻ヨ緭鍏ョ殑闀垮害涓嶄负1锛屽垯鍓嶉潰琛ラ浂
+		if (r) format = format.replace(r[1], RegExp.$1.length == 1 ? opt[k] : opt[k].padStart(RegExp.$1.length, '0'));
+	}
+	return format;
+}
+
+/**
+ * 鑾峰彇褰撳墠鏃ユ湡鏄鍑犲懆
+ * @param dateTime 褰撳墠浼犲叆鐨勬棩鏈熷��
+ * @returns 杩斿洖绗嚑鍛ㄦ暟瀛楀��
+ */
+export function getWeek(dateTime: Date): number {
+	let temptTime = new Date(dateTime.getTime());
+	// 鍛ㄥ嚑
+	let weekday = temptTime.getDay() || 7;
+	// 鍛�1+5澶�=鍛ㄥ叚
+	temptTime.setDate(temptTime.getDate() - weekday + 1 + 5);
+	let firstDay = new Date(temptTime.getFullYear(), 0, 1);
+	let dayOfWeek = firstDay.getDay();
+	let spendDay = 1;
+	if (dayOfWeek != 0) spendDay = 7 - dayOfWeek + 1;
+	firstDay = new Date(temptTime.getFullYear(), 0, 1 + spendDay);
+	let d = Math.ceil((temptTime.valueOf() - firstDay.valueOf()) / 86400000);
+	let result = Math.ceil(d / 7);
+	return result;
+}
+
+/**
+ * 灏嗘椂闂磋浆鎹负 `鍑犵鍓峘銆乣鍑犲垎閽熷墠`銆乣鍑犲皬鏃跺墠`銆乣鍑犲ぉ鍓峘
+ * @param param 褰撳墠鏃堕棿锛宯ew Date() 鏍煎紡鎴栬�呭瓧绗︿覆鏃堕棿鏍煎紡
+ * @param format 闇�瑕佽浆鎹㈢殑鏃堕棿鏍煎紡瀛楃涓�
+ * @description param 10绉掞細  10 * 1000
+ * @description param 1鍒嗭細   60 * 1000
+ * @description param 1灏忔椂锛� 60 * 60 * 1000
+ * @description param 24灏忔椂锛�60 * 60 * 24 * 1000
+ * @description param 3澶╋細   60 * 60* 24 * 1000 * 3
+ * @returns 杩斿洖鎷兼帴鍚庣殑鏃堕棿瀛楃涓�
+ */
+export function formatPast(param: string | Date, format: string = 'YYYY-mm-dd'): string {
+	// 浼犲叆鏍煎紡澶勭悊銆佸瓨鍌ㄨ浆鎹㈠��
+	let t: any, s: number;
+	// 鑾峰彇js 鏃堕棿鎴�
+	let time: number = new Date().getTime();
+	// 鏄惁鏄璞�
+	typeof param === 'string' || 'object' ? (t = new Date(param).getTime()) : (t = param);
+	// 褰撳墠鏃堕棿鎴� - 浼犲叆鏃堕棿鎴�
+	time = Number.parseInt(`${time - t}`);
+	if (time < 10000) {
+		// 10绉掑唴
+		return '鍒氬垰';
+	} else if (time < 60000 && time >= 10000) {
+		// 瓒呰繃10绉掑皯浜�1鍒嗛挓鍐�
+		s = Math.floor(time / 1000);
+		return `${s}绉掑墠`;
+	} else if (time < 3600000 && time >= 60000) {
+		// 瓒呰繃1鍒嗛挓灏戜簬1灏忔椂
+		s = Math.floor(time / 60000);
+		return `${s}鍒嗛挓鍓峘;
+	} else if (time < 86400000 && time >= 3600000) {
+		// 瓒呰繃1灏忔椂灏戜簬24灏忔椂
+		s = Math.floor(time / 3600000);
+		return `${s}灏忔椂鍓峘;
+	} else if (time < 259200000 && time >= 86400000) {
+		// 瓒呰繃1澶╁皯浜�3澶╁唴
+		s = Math.floor(time / 86400000);
+		return `${s}澶╁墠`;
+	} else {
+		// 瓒呰繃3澶�
+		let date = typeof param === 'string' || 'object' ? new Date(param) : param;
+		return formatDate(date, format);
+	}
+}
+
+/**
+ * 鏃堕棿闂�欒
+ * @param param 褰撳墠鏃堕棿锛宯ew Date() 鏍煎紡
+ * @description param 璋冪敤 `formatAxis(new Date())` 杈撳嚭 `涓婂崍濂絗
+ * @returns 杩斿洖鎷兼帴鍚庣殑鏃堕棿瀛楃涓�
+ */
+export function formatAxis(param: Date): string {
+	let hour: number = new Date(param).getHours();
+	if (hour < 6) return '鍑屾櫒濂�';
+	else if (hour < 9) return '鏃╀笂濂�';
+	else if (hour < 12) return '涓婂崍濂�';
+	else if (hour < 14) return '涓崍濂�';
+	else if (hour < 17) return '涓嬪崍濂�';
+	else if (hour < 19) return '鍌嶆櫄濂�';
+	else if (hour < 22) return '鏅氫笂濂�';
+	else return '澶滈噷濂�';
+}
+
+
+/**
+ * 琛ㄦ牸鍒楄浆鎹㈡椂闂存牸寮� YYYY-mm-dd 銆怑ditby shaocx,2024-05-12銆�
+ * @param row 褰撳墠琛�
+ * @param column 褰撳墠鍒�
+ * @param cellValue 褰撳墠鍊�
+ * @param index 褰撳墠绱㈠紩鍊�
+ * @returns 杩斿洖鎷兼帴鍚庣殑鏃堕棿瀛楃涓�
+ */
+export function formatDate_T_Date(row: any, column: any, cellValue: any, index: number): string {
+	if(cellValue === undefined || cellValue === null || cellValue === ''){
+		return "";
+	}
+	const date = new Date(cellValue);
+	return formatDate(date, 'YYYY-mm-dd');
+}
+
+/**
+ * 琛ㄦ牸鍒楄浆鎹㈡椂闂存牸寮� YYYY-mm-dd HH:MM:SS 銆怑ditby shaocx,2024-05-12銆�
+ * @param row 褰撳墠琛�
+ * @param column 褰撳墠鍒�
+ * @param cellValue 褰撳墠鍊�
+ * @param index 褰撳墠绱㈠紩鍊�
+ * @returns 杩斿洖鎷兼帴鍚庣殑鏃堕棿瀛楃涓�
+*/
+export function formatDate_T_Time(row: any, column: any, cellValue: any, index: number): string {
+	if(cellValue === undefined || cellValue === null || cellValue === ''){
+		return "";
+	}
+	const date = new Date(cellValue);
+	return formatDate(date, 'YYYY-mm-dd HH:MM:SS');
+}
+
+/**
+ * 榛樿鐨勬椂闂磋寖鍥村�� 銆怑ditby shaocx,2024-05-12銆�
+ * @returns 杩斿洖榛樿鐨勬椂闂磋寖鍥存暟缁�
+*/
+export const defaultTimeRange: [Date, Date] = [
+	new Date(2000, 1, 1, 0, 0, 0),
+	new Date(2000, 2, 1, 23, 59, 59),
+  ] // '00:00:00', '23:59:59'
+
+
+
+  export function removeTrailingZeros(num:any) {
+	var num:any = "";
+	if(num){
+		num = String(num).replace(/(\.\d*?[1-9])0+$/, '$1').replace(/\.$/, '');
+	}
+	return num;
+  }
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/formate.ts b/LA24030_LuLiPackageLine_Web/src/utils/formate.ts
new file mode 100644
index 0000000..1336344
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/formate.ts
@@ -0,0 +1,478 @@
+// import dayjs from "dayjs";
+import utc from "dayjs/plugin/utc";
+import { ref } from "vue";
+
+// dayjs.extend(utc);
+export function formatUtcToData(data: string, formatString: string): string {
+  return "";
+  // return dayjs.utc(data).utcOffset(8).format(formatString);
+}
+// 淇濈暀3浣嶅皬鏁�
+export function formatDecimalData(row: any, column: any): string {
+  // console.log(row) //鎵�鏈夋帴鍙e瓧娈�
+  // console.log(column.label) //琛ㄥご鍚嶇О
+  // console.log(Number(row[column.property]).toFixed(3)) //鍒楃殑鍊�
+   let num = "-"
+  if(Number(row[column.property])!=0 || Number(row[column.property])!=0.000){
+    num = Number(row[column.property]).toFixed(3)
+  }
+  return num || row[column.property]
+  // return Number(row[column.property]).toFixed(3) || row[column.property]
+}
+export function getSex(type: string) {
+  if(type == '1') {
+    return '鐢�'
+  }else {
+    return '濂�'
+  }
+}
+
+export function getTagType(status: number) {
+  switch(status) {
+    case 0:
+      return 'success';
+    case 1:
+      return 'warning';
+    case 2:
+      return 'error'
+    case 3:
+      return 'info'
+  }
+}
+
+export function getTagUseable(status: number) {
+  switch(status) {
+    case 0:
+      return 'warning';
+    case 1:
+      return 'success';
+  }
+}
+
+/**
+ * 閲戣瀺鏍煎紡鍖�
+ * @param amount 閲戦stirng | number
+ * @param precision 灏忔暟浣嶆暟
+ * @param unit 鏄惁鍗曞崟浣�
+ * @returns 
+ */
+export function amountFormat(amount: string | number, precision: number, unit: boolean){
+  if(amount =='')  {
+    amount ='0'
+    precision = precision > 0 && precision <= 20 ? precision : 2;
+    amount =parseFloat((amount).replace(/[^\d.-]/g,"")).toFixed(precision)+""; 
+  }
+  let t ="";
+  if(typeof amount === 'number') {
+    amount = amount.toString();
+  }
+  const l = amount.split(".")[0].split("").reverse();
+  let r = amount.split(".")[1] ? amount.split(".")[1] : '00';
+  if(r.length == 1) {
+    r += '0';
+  }
+  
+  for(let i =0; i < l.length; i++){
+      t += l[i]+((i +1)%3==0&&(i +1)!= l.length ?",":"");
+  }
+  if(unit){
+    return t.split("").reverse().join("")+"."+ r +'鍏�';
+  }else{
+    return t.split("").reverse().join("")+"."+ r;
+  }
+}
+
+type Fun = () => any;
+
+/**
+ * 鍑芥暟闃叉姈
+ * @param callback 瑙﹀彂鐨勫嚱鏁�
+ * @param delay  澶氶暱鏃堕棿瑙﹀彂涓�娆�
+ * @returns 
+ */
+export function debounce(callback: Fun, delay: number): Fun {
+  let timer: any = null;
+  return () => {
+    if(timer) {
+      clearTimeout(timer)
+    }
+    timer = setTimeout(() => {
+      callback()
+    },delay)
+  }
+}
+
+
+/**
+ * 鍑芥暟鑺傛祦
+ * @param callback 
+ * @param delay 
+ * @returns 
+ */
+export function throttle(callback: Fun, delay: number): Fun {
+  let flag = true;
+  return () => {
+    if(flag) {
+      setTimeout(() => {
+        callback()
+        flag = true;
+      },delay)
+    }
+    flag = false;
+  }
+}
+
+/**
+ * 浜屽垎娉曟帓搴�
+ * @param arr 
+ * @returns 
+ */
+export function sortord(arr: number[]): number[] {
+  if(arr.length == 0) {
+    return []
+  }
+
+  const centerIndex: number = Math.floor(arr.length / 2);
+  const c: number = arr[centerIndex];
+  const l: number[] = [];
+  const r: number[] = [];
+  for(let i=0;i<arr.length;i++) {
+    if(arr[i] < c) {
+      l.push(arr[i])
+    }else {
+      r.push(arr[i])
+    }
+  }
+
+  return sortord(l).concat(c,sortord(r));
+}
+export function deepCopy(o: any) {
+  if(['string','number','boolean','undefined'].includes(typeof o)) {
+    return o;
+  }
+  if(Array.isArray(o)) {
+    return [...o]
+  }
+  if(typeof o === 'object') {
+    if(!o && o !== undefined && o !== '') {
+      return null;
+    }
+    const newObj = {};
+    Object.keys(o).forEach(key => {
+      newObj[key] = deepCopy(o[key])
+    })
+    return newObj;
+  }
+
+}
+
+export function getRouterPath(arr: any[]) {
+  arr.map(item => {
+    item.path = item.router;
+    item.meta = {
+      title: item.name,
+      icon: item.icon
+    }
+    if(Array.isArray(item.children && item.children.length > 0)) {
+      getRouterPath(item.children)
+    }
+
+    return item;
+  })
+}
+
+export function getDate() {
+  const date = new Date();
+  //鑾峰彇骞�
+  const year = date.getFullYear();
+  //鑾峰彇鏈堜唤
+  let month: string | number = date.getMonth() + 1;
+  month = month >= 10 ? month : '0'+ month;
+  //鏃�
+  let day: string | number = date.getDate();
+  day = day >= 10 ? day : '0' + day;
+  return '' + year + month + day;
+  
+
+}
+
+
+//鏃堕棿鍔犱竴澶�
+export function addDate(dateC:any, days:any) {
+  if (days == undefined || days == '') {
+      days = 1;
+  }
+  const date = new Date(dateC);
+  date.setDate(date.getDate() + days);
+  const month = date.getMonth() + 1;
+  const day = date.getDate();
+  return date.getFullYear() + '-' + getFormatDate(month) + '-' + getFormatDate(day);
+
+  function getFormatDate(arg:any) {
+    if (arg == undefined || arg == '') {
+        return '';
+    }
+  
+    let re = arg + '';
+    if (re.length < 2) {
+        re = '0' + re;
+    }
+  
+    return re;
+  }
+}
+
+ //鑾峰彇鏍搁攢鐘舵��
+ export function getHxTypeStatus(status: number,name?:any) {
+  if(name){
+    if(name.indexOf('涓�') !=-1 || name.indexOf('閮ㄥ垎鍒嗘嫞') !=-1 || name.indexOf('閮ㄥ垎鏍搁攢') !=-1){
+      return 'primary';
+    }else if(name.indexOf('瀹屾垚') !=-1 || name.indexOf('宸插叏閮�') !=-1 || name.indexOf('宸插垎鎷�') !=-1 || name.indexOf('鍏ㄩ儴鍒嗘嫞') !=-1 || name.indexOf('宸蹭笅鍙�') !=-1 || name == '褰掕繕'){
+      return 'success';
+    }else if(name.indexOf('鍒犻櫎') !=-1 || name.indexOf('鎾ら攢') !=-1){
+      return 'info';
+    }else{
+      return 'warning';
+    }
+  }else{
+    switch (status) {
+      case 3:
+        return "success";
+      case 1:
+        return "primary";
+      case 2:
+        return "info";
+    }
+    return "warning";
+
+  }
+  
+}
+
+export const statusEnumsQhbc = ref([
+  {
+      title: "璁㈠崟浠惰鍗�",
+      value: 2
+    },
+    {
+      title: "鍏嶈垂浠惰鍗�",
+      value: 3
+    },
+    {
+      title: "鎵嬪伐浠惰鍗�",
+      value: 15
+    },
+    {
+      title: "棰嗙敤鍗曡鍗�",
+      value: 4
+    },
+    {
+      title: "鍊熺敤鍗曡鍗�",
+      value: 1
+    },
+  ]);
+
+  
+
+  //鑾峰彇鍑哄簱鍗曠姸鎬� 鍙傛暟2锛氫腑鏂囧悕绉�
+export function getTypeStatus(status: number,name?:any) {
+  if(name){
+    if(name.indexOf('涓�') !=-1 || name.indexOf('閮ㄥ垎') !=-1 || name.indexOf('閮ㄥ垎鏍搁攢') !=-1 || name.indexOf('閮ㄥ垎鏀惰揣') !=-1|| name.indexOf('褰掕繕涓�') !=-1|| name.indexOf('閫氳繃_鏈笅鍙�') !=-1|| name.indexOf('涓嶉渶瑕佸鐩榑鐢熸垚鎶ュ憡') !=-1){
+      return 'primary';
+    }else if(name.indexOf('瀹屾垚') !=-1 || name.indexOf('鍏ㄩ儴') !=-1 || name.indexOf('宸插垎鎷�') !=-1 || name.indexOf('瀹℃牳閫氳繃') !=-1 || name.indexOf('纭閫氳繃') !=-1 || name.indexOf('姝e父') !=-1 || name=='褰掕繕'|| name.indexOf('閫氳繃_宸蹭笅鍙�') !=-1|| name.indexOf('宸茬洏鐐�') !=-1|| name.indexOf('宸插鐩�') !=-1|| name.indexOf('閿佸畾瑙i櫎') !=-1|| name.indexOf('宸茬鏀�') !=-1){
+      return 'success';
+    }else if(name.indexOf('鍒犻櫎') !=-1 || name.indexOf('宸插彇娑�') !=-1  || name.indexOf('鎾ら攢') !=-1 || name.indexOf('涓嶉�氳繃') !=-1|| name.indexOf('椹冲洖') !=-1){
+      return 'info';
+    } else if(name.indexOf('瓒呮椂') !=-1 || name.indexOf('宸插叧闂�') !=-1){
+      return 'danger';
+    }else if(name.indexOf('鏈洏鐐�') !=-1){
+      return 'warning';
+    }else{
+      return 'warning';
+    }
+  }else{
+    switch(status) {
+        case 0:
+            return 'warning';
+        case 1:
+            return 'primary';
+        case 2:
+            return 'success';
+        case 5:
+            return 'info';
+    }
+    return 'info';
+  }
+}
+//鑾峰彇鍑哄簱鍗曠姸鎬� 
+export function getTypeStatusForCommonOutOrder(status: number) {
+    //杩欑绫诲瀷閮芥槸3浣嶆暟   0:鏂板缓 1锛氭墽琛屼腑 2锛氬凡瀹屾垚
+    switch(status) {
+        case 0:
+            return 'warning';
+        case 1:
+            return 'primary';
+        case 2:
+            return 'success';
+    }
+    return 'info';
+}
+//鑾峰彇鍑哄簱鍗曠姸鎬� 
+export function getTypeStatusForCommonOutOrder2(status: number) {
+  //杩欑绫诲瀷閮芥槸3浣嶆暟   1:鏂板缓 2锛氭墽琛屼腑 3锛氬凡瀹屾垚
+  switch(status) {
+      case 1:
+          return 'warning';
+      case 2:
+          return 'primary';
+      case 3:
+          return 'success';
+  }
+  return 'info';
+}
+
+//鑾峰彇鍑哄簱鍗曠姸鎬佸瓧绗�
+export function getStatusStr(status: number){
+    switch(status) {
+        case 0:
+            return '鏂板缓';
+        case 1:
+            return '鎵ц涓�';
+        case 2:
+            return '宸插畬鎴�';
+        case 5:
+            return '宸插垹闄�';
+            case 98:
+              return '宸蹭綔搴�';
+            case 99:
+              return '宸叉挙閿�';
+    }
+    return '';
+}
+
+
+export function getStatusKcStr(status: number){
+  switch(status) {
+      case 0:
+          return '鏈鐞�';
+      case 1:
+          return '澶勭悊涓�';
+  }
+  return '';
+}
+//DO鍗曟潵婧愭灇涓�
+export const sourceEnum = ref([
+  {
+    title: "WMS",
+    value: "0"
+  },
+  // {
+  //   title: "WMS瀵煎叆",
+  //   value: "2"
+  // },
+  {
+    title: "SAP",
+    value: "1"
+  },
+]);
+
+
+//鍗曟潵婧愭灇涓�
+export  const boolEnum = ref([
+  {
+    title: "鏄�",
+    value: true
+  },
+  {
+    title: "鍚�",
+    value: false
+  }
+]);
+
+//鑾峰彇鍒拌揣鍗昐AP鏀惰揣鐘舵�� 寰呭彂閫�=0, 鍙戦�佸畬鎴�=2,鍙戦�佸け璐�=1
+export  const getSAPConfirmStatus = (status: number): string => {
+  switch (status) {
+    case 2:
+    case 3:
+      return "success";//鍙戦�佸畬鎴�=2
+      case 0:
+      case 99:
+      return "warning";//寰呭彂閫�=0
+    case 1:
+      return "info";//鍙戦�佸け璐�=1
+  }
+
+  return "info";
+};
+
+  
+//鐘舵�佹灇涓�
+export  const statusEnumsFs = ref([
+  {
+    title: "寰呭彂閫�",
+    value: "0"
+  },
+  {
+    title: "鍙戦�佸け璐�",
+    value: "1"
+  },
+  {
+    title: "鍙戦�佸畬鎴�",
+    value: "2"
+  },
+  {
+    title: "寮哄埗瀹屾垚",
+    value: "3"
+  },
+  {
+    title: "鍙栨秷鍙戦��",
+    value: "99"
+  }
+]);
+
+
+export  const statusEnumsYwlx = ref([
+  {
+    title: "鏀惰揣",
+    value: "3"
+  },
+  {
+    title: "鎾ら攢鏀惰揣",
+    value: "5"
+  }
+]);
+
+export  const statusEnumsYwlxFh = ref([
+  {
+    title: "鏁村崟鍙戣揣",
+    value: "6"
+  },
+  {
+    title: "鍙戣揣",
+    value: "2"
+  }
+]);
+  //鑾峰彇鍒拌揣鍗昐AP鏀惰揣鐘舵�佸瓧绗�   寰呭彂閫�=0, 鍙戦�佸畬鎴�=2,鍙戦�佸け璐�=1
+  export  const getSAPConfirmStatusStr = (status: number): string => {
+    switch (status) {
+      case 0:
+        return "寰呭彂閫�";//寰呭彂閫�=0
+      case 1:
+        return "鍙戦�佸け璐�";//鍙戦�佸け璐�=1
+      case 2:
+        return "鍙戦�佸畬鎴�";//鍙戦�佸畬鎴�=2
+             case 3:
+        return "寮哄埗瀹屾垚";
+          case 99:
+        return "鍙栨秷鍙戦��";
+    }
+    return "";
+  };
+
+// 棰嗙敤鍗� 鍊熺敤鍗� - 瀹℃牳瀛楁牱鏀逛负纭
+  export const transferZw = (str?:string)=>{
+    if(str?.indexOf('瀹℃牳')!=-1){
+      str = str?.replace('瀹℃牳','纭')
+    }
+    return str
+  }
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/getStyleSheets.ts b/LA24030_LuLiPackageLine_Web/src/utils/getStyleSheets.ts
new file mode 100644
index 0000000..de9bd2b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/getStyleSheets.ts
@@ -0,0 +1,110 @@
+import { nextTick } from 'vue';
+import * as svg from '@element-plus/icons-vue';
+// import 鏈湴鏍峰紡绫诲悕鏁扮粍
+import { iconfonntClassList } from '/@/theme/iconfont/font_2298093_rnp72ifj3ba.ts';
+import { fontAwesomeClassList } from '/@/theme/font-awesome/font-awesome.ts';
+
+// 鑾峰彇闃块噷瀛椾綋鍥炬爣
+const getAlicdnIconfont = () => {
+	return new Promise((resolve, reject) => {
+		nextTick(() => {
+			const styles: any = document.styleSheets;
+			let sheetsList = [];
+			let sheetsIconList = [];
+			for (let i = 0; i < styles.length; i++) {
+				if (styles[i].href && styles[i].href.indexOf('at.alicdn.com') > -1) {
+					sheetsList.push(styles[i]);
+				}
+			}
+			for (let i = 0; i < sheetsList.length; i++) {
+				for (let j = 0; j < sheetsList[i].cssRules.length; j++) {
+					if (sheetsList[i].cssRules[j].selectorText && sheetsList[i].cssRules[j].selectorText.indexOf('.icon-') > -1) {
+						sheetsIconList.push(`${sheetsList[i].cssRules[j].selectorText.substring(1, sheetsList[i].cssRules[j].selectorText.length).replace(/\:\:before/gi, '')}`);
+					}
+				}
+			}
+			// 浠庢湰鍦拌鍙栭樋閲屽瓧浣�
+			if (sheetsIconList.length == 0) {
+				for (let i = 0; i < iconfonntClassList.length; i++) {
+					sheetsIconList.push(iconfonntClassList[i]);
+				}
+			}
+
+			if (sheetsIconList.length > 0) resolve(sheetsIconList);
+			else reject('鏈幏鍙栧埌鍊硷紝璇峰埛鏂伴噸璇�');
+		});
+	});
+};
+
+// 鍒濆鍖栬幏鍙� css 鏍峰紡锛岃幏鍙� element plus 鑷甫 svg 鍥炬爣锛屽鍔犱簡 ele- 鍓嶇紑锛屼娇鐢ㄦ椂锛歟le-Aim
+const getElementPlusIconfont = () => {
+	return new Promise((resolve, reject) => {
+		nextTick(() => {
+			const icons = svg as any;
+			const sheetsIconList = [];
+			for (const i in icons) {
+				sheetsIconList.push(`ele-${icons[i].name}`);
+			}
+			if (sheetsIconList.length > 0) resolve(sheetsIconList);
+			else reject('鏈幏鍙栧埌鍊硷紝璇峰埛鏂伴噸璇�');
+		});
+	});
+};
+
+// 鍒濆鍖栬幏鍙� css 鏍峰紡锛岃繖閲屼娇鐢� fontawesome 鐨勫浘鏍�
+const getAwesomeIconfont = () => {
+	return new Promise((resolve, reject) => {
+		nextTick(() => {
+			const styles: any = document.styleSheets;
+			let sheetsList = [];
+			let sheetsIconList = [];
+			for (let i = 0; i < styles.length; i++) {
+				if (styles[i].href && styles[i].href.indexOf('netdna.bootstrapcdn.com') > -1) {
+					sheetsList.push(styles[i]);
+				}
+			}
+			for (let i = 0; i < sheetsList.length; i++) {
+				for (let j = 0; j < sheetsList[i].cssRules.length; j++) {
+					if (sheetsList[i].cssRules[j].selectorText && sheetsList[i].cssRules[j].selectorText.indexOf('.fa-') === 0 && sheetsList[i].cssRules[j].selectorText.indexOf(',') === -1) {
+						if (/::before/.test(sheetsList[i].cssRules[j].selectorText)) {
+							sheetsIconList.push(`${sheetsList[i].cssRules[j].selectorText.substring(1, sheetsList[i].cssRules[j].selectorText.length).replace(/\:\:before/gi, '')}`);
+						}
+					}
+				}
+			}
+			// 浠庢湰鍦拌鍙栭樋閲屽瓧浣�
+			if (sheetsIconList.length == 0) {
+				for (let i = 0; i < fontAwesomeClassList.length; i++) {
+					sheetsIconList.push(fontAwesomeClassList[i]);
+				}
+			}
+
+			if (sheetsIconList.length > 0) resolve(sheetsIconList.reverse());
+			else reject('鏈幏鍙栧埌鍊硷紝璇峰埛鏂伴噸璇�');
+		});
+	});
+};
+
+/**
+ * 鑾峰彇瀛椾綋鍥炬爣 `document.styleSheets`
+ * @method ali 鑾峰彇闃块噷瀛椾綋鍥炬爣 `<i class="iconfont 鍥炬爣绫诲悕"></i>`
+ * @method ele 鑾峰彇 element plus 鑷甫鍥炬爣 `<i class="鍥炬爣绫诲悕"></i>`
+ * @method ali 鑾峰彇 fontawesome 鐨勫浘鏍� `<i class="fa 鍥炬爣绫诲悕"></i>`
+ */
+const initIconfont = {
+	// iconfont
+	ali: () => {
+		return getAlicdnIconfont();
+	},
+	// element plus
+	ele: () => {
+		return getElementPlusIconfont();
+	},
+	// fontawesome
+	awe: () => {
+		return getAwesomeIconfont();
+	},
+};
+
+// 瀵煎嚭鏂规硶
+export default initIconfont;
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/loading.ts b/LA24030_LuLiPackageLine_Web/src/utils/loading.ts
new file mode 100644
index 0000000..5fd020c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/loading.ts
@@ -0,0 +1,44 @@
+import { nextTick } from 'vue';
+import '/@/theme/loading.scss';
+
+/**
+ * 椤甸潰鍏ㄥ眬 Loading
+ * @method start 鍒涘缓 loading
+ * @method done 绉婚櫎 loading
+ */
+export const NextLoading = {
+	// 鍒涘缓 loading
+	start: () => {
+		const bodys: Element = document.body;
+		const div = <HTMLElement>document.createElement('div');
+		div.setAttribute('class', 'loading-next');
+		const htmls = `
+			<div class="loading-next-box">
+				<div class="loading-next-box-warp">
+					<div class="loading-next-box-item"></div>
+					<div class="loading-next-box-item"></div>
+					<div class="loading-next-box-item"></div>
+					<div class="loading-next-box-item"></div>
+					<div class="loading-next-box-item"></div>
+					<div class="loading-next-box-item"></div>
+					<div class="loading-next-box-item"></div>
+					<div class="loading-next-box-item"></div>
+					<div class="loading-next-box-item"></div>
+				</div>
+			</div>
+		`;
+		div.innerHTML = htmls;
+		bodys.insertBefore(div, bodys.childNodes[0]);
+		window.nextLoading = true;
+	},
+	// 绉婚櫎 loading
+	done: (time: number = 0) => {
+		nextTick(() => {
+			setTimeout(() => {
+				window.nextLoading = false;
+				const el = <HTMLElement>document.querySelector('.loading-next');
+				el?.parentNode?.removeChild(el);
+			}, time);
+		});
+	},
+};
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/mitt.ts b/LA24030_LuLiPackageLine_Web/src/utils/mitt.ts
new file mode 100644
index 0000000..8e73d4c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/mitt.ts
@@ -0,0 +1,8 @@
+// https://www.npmjs.com/package/mitt
+import mitt, { Emitter } from 'mitt';
+
+// 绫诲瀷
+const emitter: Emitter<MittType> = mitt<MittType>();
+
+// 瀵煎嚭
+export default emitter;
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/other.ts b/LA24030_LuLiPackageLine_Web/src/utils/other.ts
new file mode 100644
index 0000000..c65fe80
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/other.ts
@@ -0,0 +1,216 @@
+import { nextTick, defineAsyncComponent } from 'vue';
+import type { App } from 'vue';
+import * as svg from '@element-plus/icons-vue';
+import router from '/@/router/index';
+import pinia from '/@/stores/index';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import { i18n } from '/@/i18n/index';
+import { Local } from '/@/utils/storage';
+import { verifyUrl } from '/@/utils/toolsValidate';
+
+// 寮曞叆缁勪欢
+const SvgIcon = defineAsyncComponent(() => import('/@/components/svgIcon/index.vue'));
+
+/**
+ * 瀵煎嚭鍏ㄥ眬娉ㄥ唽 element plus svg 鍥炬爣
+ * @param app vue 瀹炰緥
+ * @description 浣跨敤锛歨ttps://element-plus.gitee.io/zh-CN/component/icon.html
+ */
+export function elSvg(app: App) {
+	const icons = svg as any;
+	for (const i in icons) {
+		app.component(`ele-${icons[i].name}`, icons[i]);
+	}
+	app.component('SvgIcon', SvgIcon);
+}
+
+/**
+ * 璁剧疆娴忚鍣ㄦ爣棰樺浗闄呭寲
+ * @method const title = useTitle(); ==> title()
+ */
+export function useTitle() {
+	const stores = useThemeConfig(pinia);
+	const { themeConfig } = storeToRefs(stores);
+	nextTick(() => {
+		let webTitle = '';
+		let globalTitle: string = themeConfig.value.globalTitle;
+		const { path, meta } = router.currentRoute.value;
+		if (path === '/login') {
+			webTitle = <string>meta.title;
+		} else {
+			webTitle = setTagsViewNameI18n(router.currentRoute.value);
+		}
+		document.title = `${webTitle} - ${globalTitle}` || globalTitle;
+	});
+}
+
+/**
+ * 璁剧疆 鑷畾涔� tagsView 鍚嶇О銆� 鑷畾涔� tagsView 鍚嶇О鍥介檯鍖�
+ * @param params 璺敱 query銆乸arams 涓殑 tagsViewName
+ * @returns 杩斿洖褰撳墠 tagsViewName 鍚嶇О
+ */
+export function setTagsViewNameI18n(item: any) {
+	let tagsViewName: string = '';
+	const { query, params, meta } = item;
+	// 淇tagsViewName鍖归厤鍒板叾浠栧惈涓嬪垪鍗曡瘝鐨勮矾鐢�
+	const pattern = /^\{("(zh-cn|en|zh-tw)":"[^,]+",?){1,3}}$/;
+	if (query?.tagsViewName || params?.tagsViewName) {
+		if (pattern.test(query?.tagsViewName) || pattern.test(params?.tagsViewName)) {
+			// 鍥介檯鍖�
+			const urlTagsParams = (query?.tagsViewName && JSON.parse(query?.tagsViewName)) || (params?.tagsViewName && JSON.parse(params?.tagsViewName));
+			tagsViewName = urlTagsParams[i18n.global.locale.value];
+		} else {
+			// 闈炲浗闄呭寲
+			tagsViewName = query?.tagsViewName || params?.tagsViewName;
+		}
+	} else {
+		// 闈炶嚜瀹氫箟 tagsView 鍚嶇О
+		tagsViewName = i18n.global.t(meta.title);
+	}
+	return tagsViewName;
+}
+
+/**
+ * 鍥剧墖鎳掑姞杞�
+ * @param el dom 鐩爣鍏冪礌
+ * @param arr 鍒楄〃鏁版嵁
+ * @description data-xxx 灞炴�х敤浜庡瓨鍌ㄩ〉闈㈡垨搴旂敤绋嬪簭鐨勭鏈夎嚜瀹氫箟鏁版嵁
+ */
+export const lazyImg = (el: string, arr: EmptyArrayType) => {
+	const io = new IntersectionObserver((res) => {
+		res.forEach((v: any) => {
+			if (v.isIntersecting) {
+				const { img, key } = v.target.dataset;
+				v.target.src = img;
+				v.target.onload = () => {
+					io.unobserve(v.target);
+					arr[key]['loading'] = false;
+				};
+			}
+		});
+	});
+	nextTick(() => {
+		document.querySelectorAll(el).forEach((img) => io.observe(img));
+	});
+};
+
+/**
+ * 鍏ㄥ眬缁勪欢澶у皬
+ * @returns 杩斿洖 `window.localStorage` 涓鍙栫殑缂撳瓨鍊� `globalComponentSize`
+ */
+export const globalComponentSize = (): string => {
+	const stores = useThemeConfig(pinia);
+	const { themeConfig } = storeToRefs(stores);
+	return Local.get('themeConfig')?.globalComponentSize || themeConfig.value?.globalComponentSize;
+};
+
+/**
+ * 瀵硅薄娣卞厠闅�
+ * @param obj 婧愬璞�
+ * @returns 鍏嬮殕鍚庣殑瀵硅薄
+ */
+export function deepClone(obj: EmptyObjectType) {
+	let newObj: EmptyObjectType;
+	try {
+		newObj = obj.push ? [] : {};
+	} catch (error) {
+		newObj = {};
+	}
+	for (let attr in obj) {
+		if (obj[attr] && typeof obj[attr] === 'object') {
+			newObj[attr] = deepClone(obj[attr]);
+		} else {
+			newObj[attr] = obj[attr];
+		}
+	}
+	return newObj;
+}
+
+/**
+ * 鍒ゆ柇鏄惁鏄Щ鍔ㄧ
+ */
+export function isMobile() {
+	if (navigator.userAgent.match(/('phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone')/i)) {
+		return true;
+	} else {
+		return false;
+	}
+}
+
+/**
+ * 鍒ゆ柇鏁扮粍瀵硅薄涓墍鏈夊睘鎬ф槸鍚︿负绌猴紝涓虹┖鍒欏垹闄ゅ綋鍓嶈瀵硅薄
+ * @description @鎰熻阿澶ч粍
+ * @param list 鏁扮粍瀵硅薄
+ * @returns 鍒犻櫎绌哄�煎悗鐨勬暟缁勫璞�
+ */
+export function handleEmpty(list: EmptyArrayType) {
+	const arr = [];
+	for (const i in list) {
+		const d = [];
+		for (const j in list[i]) {
+			d.push(list[i][j]);
+		}
+		const leng = d.filter((item) => item === '').length;
+		if (leng !== d.length) {
+			arr.push(list[i]);
+		}
+	}
+	return arr;
+}
+
+/**
+ * 鎵撳紑澶栭儴閾炬帴
+ * @param val 褰撳墠鐐瑰嚮椤硅彍鍗�
+ */
+export function handleOpenLink(val: RouteItem) {
+	const { origin, pathname } = window.location;
+	router.push(val.path);
+	if (verifyUrl(<string>val.meta?.isLink)) window.open(val.meta?.isLink);
+	else window.open(`${origin}${pathname}#${val.meta?.isLink}`);
+}
+
+/**
+ * 缁熶竴鎵归噺瀵煎嚭
+ * @method elSvg 瀵煎嚭鍏ㄥ眬娉ㄥ唽 element plus svg 鍥炬爣
+ * @method useTitle 璁剧疆娴忚鍣ㄦ爣棰樺浗闄呭寲
+ * @method setTagsViewNameI18n 璁剧疆 鑷畾涔� tagsView 鍚嶇О銆� 鑷畾涔� tagsView 鍚嶇О鍥介檯鍖�
+ * @method lazyImg 鍥剧墖鎳掑姞杞�
+ * @method globalComponentSize() element plus 鍏ㄥ眬缁勪欢澶у皬
+ * @method deepClone 瀵硅薄娣卞厠闅�
+ * @method isMobile 鍒ゆ柇鏄惁鏄Щ鍔ㄧ
+ * @method handleEmpty 鍒ゆ柇鏁扮粍瀵硅薄涓墍鏈夊睘鎬ф槸鍚︿负绌猴紝涓虹┖鍒欏垹闄ゅ綋鍓嶈瀵硅薄
+ * @method handleOpenLink 鎵撳紑澶栭儴閾炬帴
+ */
+const other = {
+	elSvg: (app: App) => {
+		elSvg(app);
+	},
+	useTitle: () => {
+		useTitle();
+	},
+	setTagsViewNameI18n(route: RouteToFrom) {
+		return setTagsViewNameI18n(route);
+	},
+	lazyImg: (el: string, arr: EmptyArrayType) => {
+		lazyImg(el, arr);
+	},
+	globalComponentSize: () => {
+		return globalComponentSize();
+	},
+	deepClone: (obj: EmptyObjectType) => {
+		return deepClone(obj);
+	},
+	isMobile: () => {
+		return isMobile();
+	},
+	handleEmpty: (list: EmptyArrayType) => {
+		return handleEmpty(list);
+	},
+	handleOpenLink: (val: RouteItem) => {
+		handleOpenLink(val);
+	},
+};
+
+// 缁熶竴鎵归噺瀵煎嚭
+export default other;
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/request.ts b/LA24030_LuLiPackageLine_Web/src/utils/request.ts
new file mode 100644
index 0000000..359b387
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/request.ts
@@ -0,0 +1,213 @@
+import axios, { AxiosInstance } from 'axios';
+import { ElMessage } from 'element-plus';
+import { Local, Session } from '/@/utils/storage';
+
+// 閰嶇疆鏂板缓涓�涓� axios 瀹炰緥
+export const service = axios.create({
+	baseURL: window.__env__.VITE_API_URL as any,
+	timeout: 50000,
+	//娉ㄩ噴浠ヤ笅鍐呭锛屾槸鍥犱负涓婁紶闄勪欢闇�瑕侀粯璁ゆ槸multipart/form-data绫诲瀷锛屼笉鑳界洿鎺ュ啓姝� 銆怑ditby shaocx,2024-05-26銆�
+	//headers: { 'Content-Type': 'application/json' },
+});
+
+// token 閿畾涔�
+export const accessTokenKey = 'access-token';
+export const refreshAccessTokenKey = `x-${accessTokenKey}`;
+
+// 鑾峰彇 token
+export const getToken = () => {
+	return Local.get(accessTokenKey);
+};
+
+// 娓呴櫎 token
+export const clearAccessTokens = () => {
+	Local.remove(accessTokenKey);
+	Local.remove(refreshAccessTokenKey);
+
+	// 娓呴櫎鍏朵粬
+	Session.clear();
+
+	// 鍒锋柊娴忚鍣�
+	window.location.reload();
+};
+
+// axios 榛樿瀹炰緥
+export const axiosInstance: AxiosInstance = axios;
+
+// 娣诲姞璇锋眰鎷︽埅鍣�
+service.interceptors.request.use(
+	(config) => {
+		// // 鍦ㄥ彂閫佽姹備箣鍓嶅仛浜涗粈涔� token
+		// if (Session.get('token')) {
+		// 	(<any>config.headers).common['Authorization'] = `${Session.get('token')}`;
+		// }
+
+		// 鑾峰彇鏈湴鐨� token
+		const accessToken = Local.get(accessTokenKey);
+		if (accessToken) {
+			// 灏� token 娣诲姞鍒拌姹傛姤鏂囧ご涓�
+			config.headers!['Authorization'] = `Bearer ${accessToken}`;
+
+			// 鍒ゆ柇 accessToken 鏄惁杩囨湡
+			const jwt: any = decryptJWT(accessToken);
+			const exp = getJWTDate(jwt.exp as number);
+
+			// token 宸茬粡杩囨湡
+			if (new Date() >= exp) {
+				// 鑾峰彇鍒锋柊 token
+				const refreshAccessToken = Local.get(refreshAccessTokenKey);
+
+				// 鎼哄甫鍒锋柊 token
+				if (refreshAccessToken) {
+					config.headers!['X-Authorization'] = `Bearer ${refreshAccessToken}`;
+				}
+			}
+			// debugger
+			// get璇锋眰鏄犲皠params鍙傛暟
+			if (config.method?.toLowerCase() === 'get' && config.data) {
+				let url = config.url + '?' + tansParams(config.data);
+				url = url.slice(0, -1);
+				config.data = {};
+				config.url = url;
+			}
+		}
+		return config;
+	},
+	(error) => {
+		// 瀵硅姹傞敊璇仛浜涗粈涔�
+		return Promise.reject(error);
+	}
+);
+
+// 娣诲姞鍝嶅簲鎷︽埅鍣�
+service.interceptors.response.use(
+	(res) => {
+		// 鑾峰彇鐘舵�佺爜鍜岃繑鍥炴暟鎹�
+		var status = res.status;
+		var serve = res.data;
+
+		// 澶勭悊 401
+		if (status === 401) {
+			clearAccessTokens();
+		}
+
+		// 澶勭悊鏈繘琛岃鑼冨寲澶勭悊鐨�
+		if (status >= 400) {
+			throw new Error(res.statusText || 'Request Error.');
+		}
+
+		// 澶勭悊瑙勮寖鍖栫粨鏋滈敊璇�
+		if (serve && serve.hasOwnProperty('errors') && serve.errors) {
+			throw new Error(JSON.stringify(serve.errors || 'Request Error.'));
+		}
+
+		// 璇诲彇鍝嶅簲鎶ユ枃澶� token 淇℃伅
+		var accessToken = res.headers[accessTokenKey];
+		var refreshAccessToken = res.headers[refreshAccessTokenKey];
+
+		// 鍒ゆ柇鏄惁鏄棤鏁� token
+		if (accessToken === 'invalid_token') {
+			clearAccessTokens();
+		}
+		// 鍒ゆ柇鏄惁瀛樺湪鍒锋柊 token锛屽鏋滃瓨鍦ㄥ垯瀛樺偍鍦ㄦ湰鍦�
+		else if (refreshAccessToken && accessToken && accessToken !== 'invalid_token') {
+			Local.set(accessTokenKey, accessToken);
+			Local.set(refreshAccessTokenKey, refreshAccessToken);
+		}
+
+		// 鍝嶅簲鎷︽埅鍙婅嚜瀹氫箟澶勭悊
+		if (serve.code === 401) {
+			clearAccessTokens();
+		} else if (serve.code === undefined) {
+			return Promise.resolve(res);
+		} else if (serve.code !== 200) {
+			var message;
+			// 鍒ゆ柇 serve.message 鏄惁涓哄璞�
+			if (serve.message && typeof serve.message == 'object') {
+				message = JSON.stringify(serve.message);
+			} else {
+				message = serve.message;
+			}
+			
+			ElMessage({
+				dangerouslyUseHTMLString: true,
+				message: message,
+				type:'error'
+			});
+			//瑙e喅api鐩存帴鎶涘紓甯革紝娌$粰鍚庣画涓氬姟澶勭悊鐨勯棶棰� [Editby shaocx,2024-05-26]
+			//throw new Error(message);
+		}
+
+		return res;
+	},
+	(error) => {
+		// 澶勭悊鍝嶅簲閿欒
+		if (error.response) {
+			if (error.response.status === 401) {
+				clearAccessTokens();
+			}
+		}
+
+		// 瀵瑰搷搴旈敊璇仛鐐逛粈涔�
+		if (error.message.indexOf('timeout') != -1) {
+			ElMessage.error('缃戠粶瓒呮椂');
+		} else if (error.message == 'Network Error') {
+			ElMessage.error('缃戠粶杩炴帴閿欒');
+		} else {
+			if (error.response.data) ElMessage.error(error.response.statusText);
+			else ElMessage.error('鎺ュ彛璺緞鎵句笉鍒�');
+		}
+
+		return Promise.reject(error);
+	}
+);
+
+/**
+ *  鍙傛暟澶勭悊
+ * @param {*} params  鍙傛暟
+ */
+export function tansParams(params: any) {
+	let result = '';
+	for (const propName of Object.keys(params)) {
+		const value = params[propName];
+		var part = encodeURIComponent(propName) + '=';
+		if (value !== null && value !== '' && typeof value !== 'undefined') {
+			if (typeof value === 'object') {
+				for (const key of Object.keys(value)) {
+					if (value[key] !== null && value[key] !== '' && typeof value[key] !== 'undefined') {
+						let params = propName + '[' + key + ']';
+						var subPart = encodeURIComponent(params) + '=';
+						result += subPart + encodeURIComponent(value[key]) + '&';
+					}
+				}
+			} else {
+				result += part + encodeURIComponent(value) + '&';
+			}
+		}
+	}
+	return result;
+}
+
+/**
+ * 瑙e瘑 JWT token 鐨勪俊鎭�
+ * @param token jwt token 瀛楃涓�
+ * @returns <any>object
+ */
+export function decryptJWT(token: string): any {
+	token = token.replace(/_/g, '/').replace(/-/g, '+');
+	var json = decodeURIComponent(escape(window.atob(token.split('.')[1])));
+	return JSON.parse(json);
+}
+
+/**
+ * 灏� JWT 鏃堕棿鎴宠浆鎹㈡垚 Date
+ * @description 涓昏閽堝 `exp`锛宍iat`锛宍nbf`
+ * @param timestamp 鏃堕棿鎴�
+ * @returns Date 瀵硅薄
+ */
+export function getJWTDate(timestamp: number): Date {
+	return new Date(timestamp * 1000);
+}
+
+// 瀵煎嚭 axios 瀹炰緥
+export default service;
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/saulVModel.ts b/LA24030_LuLiPackageLine_Web/src/utils/saulVModel.ts
new file mode 100644
index 0000000..7034e1a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/saulVModel.ts
@@ -0,0 +1,23 @@
+import { computed } from 'vue'
+export const saulVModel = <T extends Readonly<{ [k: string]: any }>, K extends keyof T>(
+  props: T,
+  propName: K,
+  emit: (...args: any[]) => void
+) => {
+  return computed({
+    get() {
+      if (typeof props[propName] === 'object') {
+        return new Proxy(props[propName], {
+          set(obj, name, val) {
+            emit(`update:${String(propName)}`, { ...obj, [name]: val })
+            return true
+          }
+        })
+      }
+      return props[propName]
+    },
+    set(val) {
+      emit(`update:${String(propName)}`, val)
+    }
+  })
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/selectData.ts b/LA24030_LuLiPackageLine_Web/src/utils/selectData.ts
new file mode 100644
index 0000000..2ea7406
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/selectData.ts
@@ -0,0 +1,175 @@
+锘縤mport { pageWmsArea } from "../api/main/WmsBase/wmsArea";
+import { pageWmsContainerType } from "../api/main/WmsBase/wmsContainerType";
+import { pageWmsUnit } from "../api/main/WmsBase/wmsUnit";
+import { pageBaseCustomer } from "../api/main/WmsBase/baseCustomer";
+import { pageWmsWarehouse } from "../api/main/WmsBase/wmsWarehouse";
+import { pageWmsFactory } from "/@/api/main/WmsBase/wmsFactory";
+import { pageWmsMaterialType } from "/@/api/main/WmsBase/wmsMaterialType";
+import { listWmsBusinessType } from "/@/api/main/WmsBase/wmsBusinessType"; 
+// 璇诲彇鎵�鏈変笅鎷夋暟鎹�
+/***
+宸ュ巶淇℃伅
+ */
+export const handleSlectDataWmsfactory = async () => {
+	var res = await pageWmsFactory({
+		// isDisabled:false,//false 锛氭槸鍚︾鐢�=鍚�
+		page: 1,
+		pageSize: 100000,
+		total: 0,
+		IsDisabled:false
+	  });
+	var dataArr = res.data.result?.items
+	dataArr.forEach((element:any) => {
+		element.code = element.factoryCode
+		element.value = element.factoryName
+	});
+	res = dataArr ?? [];
+	return res
+};
+
+/***
+浠撳簱淇℃伅
+ */
+export const handleSlectDatawmsWarehouse = async () => {
+	var res = await pageWmsWarehouse({
+		page: 1,
+		pageSize: 100000,
+		total: 0,
+		IsDisabled:false
+	  });
+	var dataArr = res.data.result?.items
+	dataArr.forEach((element:any) => {
+		//element.code = element.id
+		element.value = element.name
+	});
+	res = dataArr ?? [];
+	return res
+};
+
+/***
+搴撳尯淇℃伅
+ */
+export const handleSlectDataWmsArea = async (paramFrom?:any) => {
+	{
+		var param = {
+			page: 1,
+			pageSize: 100000,
+			total: 0,
+			IsDisabled:false
+		  }
+		  if(paramFrom){
+			param = paramFrom
+		  }
+		var res = await pageWmsArea(param);
+		var dataArr = res.data.result?.items
+		dataArr.forEach((element:any) => {
+			// element.code = element.id
+			element.code = element.areaCode
+			element.value = element.areaName
+		});
+		res = dataArr ?? [];
+		return res
+	}
+	
+};
+
+
+/***
+瀹瑰櫒绫诲瀷ID
+ */
+export const handleSlectDatawmsContainerType = async () => {
+	var res = await pageWmsContainerType({
+		page: 1,
+		pageSize: 100000,
+		total: 0,
+  		IsDisabled:false
+	  });
+	var dataArr = res.data.result?.items
+	dataArr.forEach((element:any) => {
+		// element.code = element.id
+		element.code = element.typeCode
+		element.value = element.typeName
+	});
+	res = dataArr ?? [];
+	return res
+};
+
+/***
+鐗╂枡绫诲瀷
+ */
+export const handleSlectDataWmsMaterialType = async () => {
+	var res = await pageWmsMaterialType({
+		page: 1,
+		pageSize: 100000,
+		total: 0,
+		IsDisabled:false
+	  });
+	var dataArr = res.data.result?.items
+	dataArr.forEach((element:any) => {
+		element.code = element.id
+		element.value = element.materialTypeName
+	});
+	res = dataArr ?? [];
+	return res
+};
+
+/***
+鍗曚綅
+ */
+export const handleSlectDatawmsUnit = async () => {
+	var res = await pageWmsUnit({
+		page: 1,
+		pageSize: 100000,
+		total: 0,
+		IsDisabled:false
+	  });
+	var dataArr = res.data.result?.items
+	dataArr.forEach((element:any) => {
+		element.code = element.unitCode
+		element.value = element.unitName
+	});
+	res = dataArr ?? [];
+	return res
+};
+
+/***
+寰�鏉ヤ紒涓�
+ */
+export const handleSlectDataSupplier = async (pram?:any) => {
+	var res = await pageBaseCustomer({
+		page: 1,
+		pageSize: 100000,
+		total: 0,
+		IsDisabled:false,
+		...pram
+	  });
+	var dataArr = res.data.result?.items
+	dataArr.forEach((element:any) => {
+		element.code = element.custCode
+		element.value = element.custChinaName
+	});
+	res = dataArr ?? [];
+	return res
+};
+
+/***
+涓氬姟绫诲瀷
+ */
+export const handleSlectDataWmsBusinessType = async (moveType:any,UpDownShelvesType?:any) => {
+	var res = await listWmsBusinessType({
+		// isDisabled:false,//false 锛氭槸鍚︾鐢�=鍚�
+		UpDownShelvesType:UpDownShelvesType, //涓嬫灦鍗曞緟鍏ュ弬鏁�
+		moveType:moveType, //鍏跺畠椤甸潰閮戒紶杩欎釜
+		IsDisabled:false
+	  });
+	var dataArr = res.data.result
+
+	// dataArr.forEach((element:any) => {
+	// 	// element.code = element.businessTypeValue
+	// 	// element.value = element.businessTypeName
+	// });
+	res = dataArr ?? [];
+	return res
+};
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/setIconfont.ts b/LA24030_LuLiPackageLine_Web/src/utils/setIconfont.ts
new file mode 100644
index 0000000..f4118c5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/setIconfont.ts
@@ -0,0 +1,49 @@
+// 瀛椾綋鍥炬爣 url
+const cssCdnUrlList: Array<string> = [
+	// 璋冩暣涓轰粠鏈湴寮曞叆锛屾敞閲婁笅闈㈢殑 url
+	// '//at.alicdn.com/t/c/font_2298093_rnp72ifj3ba.css',
+	// '//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css',
+];
+// 绗笁鏂� js url
+const jsCdnUrlList: Array<string> = [];
+
+// 鍔ㄦ�佹壒閲忚缃瓧浣撳浘鏍�
+export function setCssCdn() {
+	if (cssCdnUrlList.length <= 0) return false;
+	cssCdnUrlList.map((v) => {
+		let link = document.createElement('link');
+		link.rel = 'stylesheet';
+		link.href = v;
+		link.crossOrigin = 'anonymous';
+		document.getElementsByTagName('head')[0].appendChild(link);
+	});
+}
+
+// 鍔ㄦ�佹壒閲忚缃涓夋柟js
+export function setJsCdn() {
+	if (jsCdnUrlList.length <= 0) return false;
+	jsCdnUrlList.map((v) => {
+		let link = document.createElement('script');
+		link.src = v;
+		document.body.appendChild(link);
+	});
+}
+
+/**
+ * 鎵归噺璁剧疆瀛椾綋鍥炬爣銆佸姩鎬乯s
+ * @method cssCdn 鍔ㄦ�佹壒閲忚缃瓧浣撳浘鏍�
+ * @method jsCdn 鍔ㄦ�佹壒閲忚缃涓夋柟js
+ */
+const setIntroduction = {
+	// 璁剧疆css
+	cssCdn: () => {
+		setCssCdn();
+	},
+	// 璁剧疆js
+	jsCdn: () => {
+		setJsCdn();
+	},
+};
+
+// 瀵煎嚭鍑芥暟鏂规硶
+export default setIntroduction;
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/storage.ts b/LA24030_LuLiPackageLine_Web/src/utils/storage.ts
new file mode 100644
index 0000000..09213b4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/storage.ts
@@ -0,0 +1,64 @@
+import Cookies from 'js-cookie';
+
+/**
+ * window.localStorage 娴忚鍣ㄦ案涔呯紦瀛�
+ * @method set 璁剧疆姘镐箙缂撳瓨
+ * @method get 鑾峰彇姘镐箙缂撳瓨
+ * @method remove 绉婚櫎姘镐箙缂撳瓨
+ * @method clear 绉婚櫎鍏ㄩ儴姘镐箙缂撳瓨
+ */
+export const Local = {
+	// 鏌ョ湅 v2.4.3鐗堟湰鏇存柊鏃ュ織
+	setKey(key: string) {
+		// @ts-ignore
+		return `${__NEXT_NAME__}:${key}`;
+	},
+	// 璁剧疆姘镐箙缂撳瓨
+	set<T>(key: string, val: T) {
+		window.localStorage.setItem(Local.setKey(key), JSON.stringify(val));
+	},
+	// 鑾峰彇姘镐箙缂撳瓨
+	get(key: string) {
+		let json = <string>window.localStorage.getItem(Local.setKey(key));
+		return JSON.parse(json);
+	},
+	// 绉婚櫎姘镐箙缂撳瓨
+	remove(key: string) {
+		window.localStorage.removeItem(Local.setKey(key));
+	},
+	// 绉婚櫎鍏ㄩ儴姘镐箙缂撳瓨
+	clear() {
+		window.localStorage.clear();
+	},
+};
+
+/**
+ * window.sessionStorage 娴忚鍣ㄤ复鏃剁紦瀛�
+ * @method set 璁剧疆涓存椂缂撳瓨
+ * @method get 鑾峰彇涓存椂缂撳瓨
+ * @method remove 绉婚櫎涓存椂缂撳瓨
+ * @method clear 绉婚櫎鍏ㄩ儴涓存椂缂撳瓨
+ */
+export const Session = {
+	// 璁剧疆涓存椂缂撳瓨
+	set<T>(key: string, val: T) {
+		if (key === 'token') return Cookies.set(key, val);
+		window.sessionStorage.setItem(Local.setKey(key), JSON.stringify(val));
+	},
+	// 鑾峰彇涓存椂缂撳瓨
+	get(key: string) {
+		if (key === 'token') return Cookies.get(key);
+		let json = <string>window.sessionStorage.getItem(Local.setKey(key));
+		return JSON.parse(json);
+	},
+	// 绉婚櫎涓存椂缂撳瓨
+	remove(key: string) {
+		if (key === 'token') return Cookies.remove(key);
+		window.sessionStorage.removeItem(Local.setKey(key));
+	},
+	// 绉婚櫎鍏ㄩ儴涓存椂缂撳瓨
+	clear() {
+		Cookies.remove('token');
+		window.sessionStorage.clear();
+	},
+};
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/switchCase.ts b/LA24030_LuLiPackageLine_Web/src/utils/switchCase.ts
new file mode 100644
index 0000000..3fe6a27
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/switchCase.ts
@@ -0,0 +1,70 @@
+// 鏍规嵁鍒楄〃杩斿洖鐨勭姸鎬佸垽鏂璽ag棰滆壊align
+export const getStatus = (scope: number) => {
+    switch (scope) {
+        case 1:
+            return "#67C23A"//鏆楅粍鑹�
+        case 2:           
+            return "#E6A23C"//闈掔豢鑹�
+        case 3:          
+            return "#F56C6C"//绮夌孩鑹�
+        case 4:
+            return "#409EFF"//澶╄摑鑹�
+        case 5:
+            return "#4cdbd7"//闈掕壊
+        case 6:
+            return "#d41e1e"//绾㈣壊
+        case 7:
+            return "#47cb53" //缁胯壊
+        case 8:          
+            return "#983b07"//鏆楁鑹�
+    }
+}
+// 鏍规嵁鍒楄〃杩斿洖鐨勭姸鎬佸垽鏂璽ag棰滆壊align
+export const getReciveStatus = (scope: number) => {
+    switch (scope) {
+        case 1:
+            return "#E6A23C"//鏆楅粍鑹�
+        case 2:   
+            return "#F56C6C"//绮夌孩鑹�              
+        case 3:          
+            return "#67C23A"//闈掔豢鑹�
+        case 4:
+            return "#409EFF"//澶╄摑鑹�
+        case 5:
+            return "#909399"//鐏拌壊
+        case 6:
+            return "#800080"//绾㈣壊
+        case 7:
+            return "#47cb53" //缁胯壊
+        case 8:          
+            return "#983b07"//鏆楁鑹�
+    }
+}
+// @gray-color: #808080;
+// @danger-color: #ff3333;
+// @primary-color: #ccffff;
+// @orange-color: #ffa500;
+// @purple-color: #800080;
+// @border-color-x: #c0c0c0;
+// @kongTuo: #d2b48c;
+// @wuLiao: #1834ed;
+// 鏍规嵁鍒楄〃杩斿洖鐨勭姸鎬佸垽鏂璽ag棰滆壊align
+// export const getStatus = (scope: number) => {
+//     switch (scope) {
+//         case 1:
+//             return "#d41e1e"//绾㈣壊#d41e1e
+//         case 2:           
+//             return "#0bacfd"//闈掕壊
+//         case 3:          
+//             return "#db8933"//姗欒壊
+//         case 4:
+//             return "#47cb53"//缁胯壊
+//         case 5:
+//             return "#4cdbd7"//闈掕壊
+//         case 6:
+//             return "#4c52db"//钃濊壊
+//         case 7:
+//             return "#d6585d" //绱壊
+//     }
+// }
+
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/theme.ts b/LA24030_LuLiPackageLine_Web/src/utils/theme.ts
new file mode 100644
index 0000000..398053a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/theme.ts
@@ -0,0 +1,63 @@
+import { ElMessage } from 'element-plus';
+
+/**
+ * 棰滆壊杞崲鍑芥暟
+ * @method hexToRgb hex 棰滆壊杞� rgb 棰滆壊
+ * @method rgbToHex rgb 棰滆壊杞� Hex 棰滆壊
+ * @method getDarkColor 鍔犳繁棰滆壊鍊�
+ * @method getLightColor 鍙樻祬棰滆壊鍊�
+ */
+export function useChangeColor() {
+	// str 棰滆壊鍊煎瓧绗︿覆
+	const hexToRgb = (str: string): any => {
+		let hexs: any = '';
+		let reg = /^\#?[0-9A-Fa-f]{6}$/;
+		if (!reg.test(str)) {
+			ElMessage.warning('杈撳叆閿欒鐨刪ex');
+			return '';
+		}
+		str = str.replace('#', '');
+		hexs = str.match(/../g);
+		for (let i = 0; i < 3; i++) hexs[i] = parseInt(hexs[i], 16);
+		return hexs;
+	};
+	// r 浠h〃绾㈣壊 | g 浠h〃缁胯壊 | b 浠h〃钃濊壊
+	const rgbToHex = (r: any, g: any, b: any): string => {
+		let reg = /^\d{1,3}$/;
+		if (!reg.test(r) || !reg.test(g) || !reg.test(b)) {
+			ElMessage.warning('杈撳叆閿欒鐨剅gb棰滆壊鍊�');
+			return '';
+		}
+		let hexs = [r.toString(16), g.toString(16), b.toString(16)];
+		for (let i = 0; i < 3; i++) if (hexs[i].length == 1) hexs[i] = `0${hexs[i]}`;
+		return `#${hexs.join('')}`;
+	};
+	// color 棰滆壊鍊煎瓧绗︿覆 | level 鍙樻祬鐨勭▼搴︼紝闄�0-1涔嬮棿
+	const getDarkColor = (color: string, level: number): string => {
+		let reg = /^\#?[0-9A-Fa-f]{6}$/;
+		if (!reg.test(color)) {
+			ElMessage.warning('杈撳叆閿欒鐨刪ex棰滆壊鍊�');
+			return '';
+		}
+		let rgb = useChangeColor().hexToRgb(color);
+		for (let i = 0; i < 3; i++) rgb[i] = Math.floor(rgb[i] * (1 - level));
+		return useChangeColor().rgbToHex(rgb[0], rgb[1], rgb[2]);
+	};
+	// color 棰滆壊鍊煎瓧绗︿覆 | level 鍔犳繁鐨勭▼搴︼紝闄�0-1涔嬮棿
+	const getLightColor = (color: string, level: number): string => {
+		let reg = /^\#?[0-9A-Fa-f]{6}$/;
+		if (!reg.test(color)) {
+			ElMessage.warning('杈撳叆閿欒鐨刪ex棰滆壊鍊�');
+			return '';
+		}
+		let rgb = useChangeColor().hexToRgb(color);
+		for (let i = 0; i < 3; i++) rgb[i] = Math.floor((255 - rgb[i]) * level + rgb[i]);
+		return useChangeColor().rgbToHex(rgb[0], rgb[1], rgb[2]);
+	};
+	return {
+		hexToRgb,
+		rgbToHex,
+		getDarkColor,
+		getLightColor,
+	};
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/toolsValidate.ts b/LA24030_LuLiPackageLine_Web/src/utils/toolsValidate.ts
new file mode 100644
index 0000000..7241e93
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/toolsValidate.ts
@@ -0,0 +1,370 @@
+/**
+ * 2020.11.29 lyt 鏁寸悊
+ * 宸ュ叿绫婚泦鍚堬紝閫傜敤浜庡钩鏃跺紑鍙�
+ * 鏂板澶氳娉ㄩ噴淇℃伅锛岄紶鏍囨斁鍒版柟娉曞悕鍗冲彲鏌ョ湅
+ */
+
+/**
+ * 楠岃瘉鐧惧垎姣旓紙涓嶅彲浠ュ皬鏁帮級
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖澶勭悊鍚庣殑瀛楃涓�
+ */
+export function verifyNumberPercentage(val: string): string {
+	// 鍖归厤绌烘牸
+	let v = val.replace(/(^\s*)|(\s*$)/g, '');
+	// 鍙兘鏄暟瀛楀拰灏忔暟鐐癸紝涓嶈兘鏄叾浠栬緭鍏�
+	v = v.replace(/[^\d]/g, '');
+	// 涓嶈兘浠�0寮�濮�
+	v = v.replace(/^0/g, '');
+	// 鏁板瓧瓒呰繃100锛岃祴鍊兼垚鏈�澶у��100
+	v = v.replace(/^[1-9]\d\d{1,3}$/, '100');
+	// 杩斿洖缁撴灉
+	return v;
+}
+
+/**
+ * 楠岃瘉鐧惧垎姣旓紙鍙互灏忔暟锛�
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖澶勭悊鍚庣殑瀛楃涓�
+ */
+export function verifyNumberPercentageFloat(val: string): string {
+	let v = verifyNumberIntegerAndFloat(val);
+	// 鏁板瓧瓒呰繃100锛岃祴鍊兼垚鏈�澶у��100
+	v = v.replace(/^[1-9]\d\d{1,3}$/, '100');
+	// 瓒呰繃100涔嬪悗涓嶇粰鍐嶈緭鍏ュ��
+	v = v.replace(/^100\.$/, '100');
+	// 杩斿洖缁撴灉
+	return v;
+}
+
+/**
+ * 灏忔暟鎴栨暣鏁�(涓嶅彲浠ヨ礋鏁�)
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖澶勭悊鍚庣殑瀛楃涓�
+ */
+export function verifyNumberIntegerAndFloat(val: string) {
+	// 鍖归厤绌烘牸
+	let v = val.replace(/(^\s*)|(\s*$)/g, '');
+	// 鍙兘鏄暟瀛楀拰灏忔暟鐐癸紝涓嶈兘鏄叾浠栬緭鍏�
+	v = v.replace(/[^\d.]/g, '');
+	// 浠�0寮�濮嬪彧鑳借緭鍏ヤ竴涓�
+	v = v.replace(/^0{2}$/g, '0');
+	// 淇濊瘉绗竴浣嶅彧鑳芥槸鏁板瓧锛屼笉鑳芥槸鐐�
+	v = v.replace(/^\./g, '');
+	// 灏忔暟鍙兘鍑虹幇1浣�
+	v = v.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
+	// 灏忔暟鐐瑰悗闈繚鐣�2浣�
+	v = v.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
+	// 杩斿洖缁撴灉
+	return v;
+}
+
+/**
+ * 姝f暣鏁伴獙璇�
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖澶勭悊鍚庣殑瀛楃涓�
+ */
+export function verifiyNumberInteger(val: string) {
+	// 鍖归厤绌烘牸
+	let v = val.replace(/(^\s*)|(\s*$)/g, '');
+	// 鍘绘帀 '.' , 闃叉璐磋创鐨勬椂鍊欏嚭鐜伴棶棰� 濡� 0.1.12.12
+	v = v.replace(/[\.]*/g, '');
+	// 鍘绘帀浠� 0 寮�濮嬪悗闈㈢殑鏁�, 闃叉璐磋创鐨勬椂鍊欏嚭鐜伴棶棰� 濡� 00121323
+	v = v.replace(/(^0[\d]*)$/g, '0');
+	// 棣栦綅鏄�0,鍙兘鍑虹幇涓�娆�
+	v = v.replace(/^0\d$/g, '0');
+	// 鍙尮閰嶆暟瀛�
+	v = v.replace(/[^\d]/g, '');
+	// 杩斿洖缁撴灉
+	return v;
+}
+
+/**
+ * 鍘绘帀涓枃鍙婄┖鏍�
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖澶勭悊鍚庣殑瀛楃涓�
+ */
+export function verifyCnAndSpace(val: string) {
+	// 鍖归厤涓枃涓庣┖鏍�
+	let v = val.replace(/[\u4e00-\u9fa5\s]+/g, '');
+	// 鍖归厤绌烘牸
+	v = v.replace(/(^\s*)|(\s*$)/g, '');
+	// 杩斿洖缁撴灉
+	return v;
+}
+
+/**
+ * 鍘绘帀鑻辨枃鍙婄┖鏍�
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖澶勭悊鍚庣殑瀛楃涓�
+ */
+export function verifyEnAndSpace(val: string) {
+	// 鍖归厤鑻辨枃涓庣┖鏍�
+	let v = val.replace(/[a-zA-Z]+/g, '');
+	// 鍖归厤绌烘牸
+	v = v.replace(/(^\s*)|(\s*$)/g, '');
+	// 杩斿洖缁撴灉
+	return v;
+}
+
+/**
+ * 绂佹杈撳叆绌烘牸
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖澶勭悊鍚庣殑瀛楃涓�
+ */
+export function verifyAndSpace(val: string) {
+	// 鍖归厤绌烘牸
+	let v = val.replace(/(^\s*)|(\s*$)/g, '');
+	// 杩斿洖缁撴灉
+	return v;
+}
+
+/**
+ * 閲戦鐢� `,` 鍖哄垎寮�
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖澶勭悊鍚庣殑瀛楃涓�
+ */
+export function verifyNumberComma(val: string) {
+	// 璋冪敤灏忔暟鎴栨暣鏁�(涓嶅彲浠ヨ礋鏁�)鏂规硶
+	let v: any = verifyNumberIntegerAndFloat(val);
+	// 瀛楃涓茶浆鎴愭暟缁�
+	v = v.toString().split('.');
+	// \B 鍖归厤闈炲崟璇嶈竟鐣岋紝涓よ竟閮芥槸鍗曡瘝瀛楃鎴栬�呬袱杈归兘鏄潪鍗曡瘝瀛楃
+	v[0] = v[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
+	// 鏁扮粍杞瓧绗︿覆
+	v = v.join('.');
+	// 杩斿洖缁撴灉
+	return v;
+}
+
+/**
+ * 鍖归厤鏂囧瓧鍙樿壊锛堟悳绱㈡椂锛�
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @param text 瑕佸鐞嗙殑瀛楃涓插��
+ * @param color 鎼滅储鍒版椂瀛椾綋楂樹寒棰滆壊
+ * @returns 杩斿洖澶勭悊鍚庣殑瀛楃涓�
+ */
+export function verifyTextColor(val: string, text = '', color = 'red') {
+	// 杩斿洖鍐呭锛屾坊鍔犻鑹�
+	let v = text.replace(new RegExp(val, 'gi'), `<span style='color: ${color}'>${val}</span>`);
+	// 杩斿洖缁撴灉
+	return v;
+}
+
+/**
+ * 鏁板瓧杞腑鏂囧ぇ鍐�
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @param unit 榛樿锛氫粺浣版嬀浜夸粺浣版嬀涓囦粺浣版嬀鍏冭鍒�
+ * @returns 杩斿洖澶勭悊鍚庣殑瀛楃涓�
+ */
+export function verifyNumberCnUppercase(val: any, unit = '浠熶桨鎷句嚎浠熶桨鎷句竾浠熶桨鎷惧厓瑙掑垎', v = '') {
+	// 褰撳墠鍐呭瀛楃涓叉坊鍔� 2涓�0锛屼负浠�涔�??
+	val += '00';
+	// 杩斿洖鏌愪釜鎸囧畾鐨勫瓧绗︿覆鍊煎湪瀛楃涓蹭腑棣栨鍑虹幇鐨勪綅缃紝娌℃湁鍑虹幇锛屽垯璇ユ柟娉曡繑鍥� -1
+	let lookup = val.indexOf('.');
+	// substring锛氫笉鍖呭惈缁撴潫涓嬫爣鍐呭锛宻ubstr锛氬寘鍚粨鏉熶笅鏍囧唴瀹�
+	if (lookup >= 0) val = val.substring(0, lookup) + val.substr(lookup + 1, 2);
+	// 鏍规嵁鍐呭 val 鐨勯暱搴︼紝鎴彇杩斿洖瀵瑰簲澶у啓
+	unit = unit.substr(unit.length - val.length);
+	// 寰幆鎴彇鎷兼帴澶у啓
+	for (let i = 0; i < val.length; i++) {
+		v += '闆跺9璐板弫鑲嗕紞闄嗘煉鎹岀帠'.substr(val.substr(i, 1), 1) + unit.substr(i, 1);
+	}
+	// 姝e垯澶勭悊
+	v = v
+		.replace(/闆惰闆跺垎$/, '鏁�')
+		.replace(/闆禰浠熶桨鎷綸/g, '闆�')
+		.replace(/闆秢2,}/g, '闆�')
+		.replace(/闆�([浜縷涓嘳)/g, '$1')
+		.replace(/闆�+鍏�/, '鍏�')
+		.replace(/浜块浂{0,3}涓�/, '浜�')
+		.replace(/^鍏�/, '闆跺厓');
+	// 杩斿洖缁撴灉
+	return v;
+}
+
+/**
+ * 鎵嬫満鍙风爜
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖 true: 鎵嬫満鍙风爜姝g‘
+ */
+export function verifyPhone(val: string) {
+	// false: 鎵嬫満鍙风爜涓嶆纭�
+	if (!/^((12[0-9])|(13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0|1,5-9]))\d{8}$/.test(val)) return false;
+	// true: 鎵嬫満鍙风爜姝g‘
+	else return true;
+}
+
+/**
+ * 鍥藉唴鐢佃瘽鍙风爜
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖 true: 鍥藉唴鐢佃瘽鍙风爜姝g‘
+ */
+export function verifyTelPhone(val: string) {
+	// false: 鍥藉唴鐢佃瘽鍙风爜涓嶆纭�
+	if (!/\d{3}-\d{8}|\d{4}-\d{7}/.test(val)) return false;
+	// true: 鍥藉唴鐢佃瘽鍙风爜姝g‘
+	else return true;
+}
+
+/**
+ * 鐧诲綍璐﹀彿 (瀛楁瘝寮�澶达紝鍏佽5-16瀛楄妭锛屽厑璁稿瓧姣嶆暟瀛椾笅鍒掔嚎)
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖 true: 鐧诲綍璐﹀彿姝g‘
+ */
+export function verifyAccount(val: string) {
+	// false: 鐧诲綍璐﹀彿涓嶆纭�
+	if (!/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/.test(val)) return false;
+	// true: 鐧诲綍璐﹀彿姝g‘
+	else return true;
+}
+
+/**
+ * 瀵嗙爜 (浠ュ瓧姣嶅紑澶达紝闀垮害鍦�6~16涔嬮棿锛屽彧鑳藉寘鍚瓧姣嶃�佹暟瀛楀拰涓嬪垝绾�)
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖 true: 瀵嗙爜姝g‘
+ */
+export function verifyPassword(val: string) {
+	// false: 瀵嗙爜涓嶆纭�
+	if (!/^[a-zA-Z]\w{5,15}$/.test(val)) return false;
+	// true: 瀵嗙爜姝g‘
+	else return true;
+}
+
+/**
+ * 寮哄瘑鐮� (瀛楁瘝+鏁板瓧+鐗规畩瀛楃锛岄暱搴﹀湪6-16涔嬮棿)
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖 true: 寮哄瘑鐮佹纭�
+ */
+export function verifyPasswordPowerful(val: string) {
+	// false: 寮哄瘑鐮佷笉姝g‘
+	if (!/^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&\.*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^&\.*]+$)(?![\d!@#$%^&\.*]+$)[a-zA-Z\d!@#$%^&\.*]{6,16}$/.test(val))
+		return false;
+	// true: 寮哄瘑鐮佹纭�
+	else return true;
+}
+
+/**
+ * 瀵嗙爜寮哄害
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @description 寮憋細绾暟瀛楋紝绾瓧姣嶏紝绾壒娈婂瓧绗�
+ * @description 涓細瀛楁瘝+鏁板瓧锛屽瓧姣�+鐗规畩瀛楃锛屾暟瀛�+鐗规畩瀛楃
+ * @description 寮猴細瀛楁瘝+鏁板瓧+鐗规畩瀛楃
+ * @returns 杩斿洖澶勭悊鍚庣殑瀛楃涓诧細寮便�佷腑銆佸己
+ */
+export function verifyPasswordStrength(val: string) {
+	let v = '';
+	// 寮憋細绾暟瀛楋紝绾瓧姣嶏紝绾壒娈婂瓧绗�
+	if (/^(?:\d+|[a-zA-Z]+|[!@#$%^&\.*]+){6,16}$/.test(val)) v = '寮�';
+	// 涓細瀛楁瘝+鏁板瓧锛屽瓧姣�+鐗规畩瀛楃锛屾暟瀛�+鐗规畩瀛楃
+	if (/^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&\.*]+$)[a-zA-Z\d!@#$%^&\.*]{6,16}$/.test(val)) v = '涓�';
+	// 寮猴細瀛楁瘝+鏁板瓧+鐗规畩瀛楃
+	if (/^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&\.*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^&\.*]+$)(?![\d!@#$%^&\.*]+$)[a-zA-Z\d!@#$%^&\.*]{6,16}$/.test(val))
+		v = '寮�';
+	// 杩斿洖缁撴灉
+	return v;
+}
+
+/**
+ * IP鍦板潃
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖 true: IP鍦板潃姝g‘
+ */
+export function verifyIPAddress(val: string) {
+	// false: IP鍦板潃涓嶆纭�
+	if (
+		!/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/.test(
+			val
+		)
+	)
+		return false;
+	// true: IP鍦板潃姝g‘
+	else return true;
+}
+
+/**
+ * 閭
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖 true: 閭姝g‘
+ */
+export function verifyEmail(val: string) {
+	// false: 閭涓嶆纭�
+	if (
+		!/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(
+			val
+		)
+	)
+		return false;
+	// true: 閭姝g‘
+	else return true;
+}
+
+/**
+ * 韬唤璇�
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖 true: 韬唤璇佹纭�
+ */
+export function verifyIdCard(val: string) {
+	// false: 韬唤璇佷笉姝g‘
+	if (!/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/.test(val)) return false;
+	// true: 韬唤璇佹纭�
+	else return true;
+}
+
+/**
+ * 濮撳悕
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖 true: 濮撳悕姝g‘
+ */
+export function verifyFullName(val: string) {
+	// false: 濮撳悕涓嶆纭�
+	if (!/^[\u4e00-\u9fa5]{1,6}(路[\u4e00-\u9fa5]{1,6}){0,2}$/.test(val)) return false;
+	// true: 濮撳悕姝g‘
+	else return true;
+}
+
+/**
+ * 閭斂缂栧彿
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖 true: 閭斂缂栧彿姝g‘
+ */
+export function verifyPostalCode(val: string) {
+	// false: 閭斂缂栧彿涓嶆纭�
+	if (!/^[1-9][0-9]{5}$/.test(val)) return false;
+	// true: 閭斂缂栧彿姝g‘
+	else return true;
+}
+
+/**
+ * url 澶勭悊
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖 true: url 姝g‘
+ */
+export function verifyUrl(val: string) {
+	// false: url涓嶆纭�
+	if (
+		!/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(
+			val
+		)
+	)
+		return false;
+	// true: url姝g‘
+	else return true;
+}
+
+/**
+ * 杞︾墝鍙�
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖 true锛氳溅鐗屽彿姝g‘
+ */
+export function verifyCarNum(val: string) {
+	// false: 杞︾墝鍙蜂笉姝g‘
+	if (
+		!/^(([浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块][A-Z](([0-9]{5}[DF])|([DF]([A-HJ-NP-Z0-9])[0-9]{4})))|([浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块][A-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9鎸傚璀︽腐婢充娇棰哴))$/.test(
+			val
+		)
+	)
+		return false;
+	// true锛氳溅鐗屽彿姝g‘
+	else return true;
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/utils/watermark.ts b/LA24030_LuLiPackageLine_Web/src/utils/watermark.ts
new file mode 100644
index 0000000..aba49e7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/utils/watermark.ts
@@ -0,0 +1,47 @@
+// 椤甸潰娣诲姞姘村嵃鏁堟灉
+const setWatermark = (str: string) => {
+	const id = '1.23452384164.123412416';
+	if (document.getElementById(id) !== null) document.body.removeChild(<HTMLElement>document.getElementById(id));
+	const can = document.createElement('canvas');
+	can.width = 200;
+	can.height = 130;
+	const cans = <CanvasRenderingContext2D>can.getContext('2d');
+	cans.rotate((-20 * Math.PI) / 180);
+	cans.font = '12px Vedana';
+	cans.fillStyle = 'rgba(200, 200, 200, 0.30)';
+	cans.textBaseline = 'middle';
+	cans.fillText(str, can.width / 10, can.height / 2);
+	const div = document.createElement('div');
+	div.id = id;
+	div.style.pointerEvents = 'none';
+	div.style.top = '0px';
+	div.style.left = '0px';
+	div.style.position = 'fixed';
+	div.style.zIndex = '10000000';
+	div.style.width = `${document.documentElement.clientWidth}px`;
+	div.style.height = `${document.documentElement.clientHeight}px`;
+	div.style.background = `url(${can.toDataURL('image/png')}) left top repeat`;
+	document.body.appendChild(div);
+	return id;
+};
+
+/**
+ * 椤甸潰娣诲姞姘村嵃鏁堟灉
+ * @method set 璁剧疆姘村嵃
+ * @method del 鍒犻櫎姘村嵃
+ */
+const watermark = {
+	// 璁剧疆姘村嵃
+	set: (str: string) => {
+		let id = setWatermark(str);
+		if (document.getElementById(id) === null) id = setWatermark(str);
+	},
+	// 鍒犻櫎姘村嵃
+	del: () => {
+		let id = '1.23452384164.123412416';
+		if (document.getElementById(id) !== null) document.body.removeChild(<HTMLElement>document.getElementById(id));
+	},
+};
+
+// 瀵煎嚭鏂规硶
+export default watermark;
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelControl.vue b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelControl.vue
new file mode 100644
index 0000000..64a2b10
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelControl.vue
@@ -0,0 +1,80 @@
+<template>
+	<div class="panel-control">
+		<el-button-group>
+			<el-button type="default" size="small" @click="$_zoomIn">鏀惧ぇ</el-button>
+			<el-button type="default" size="small" @click="$_zoomOut">缂╁皬</el-button>
+			<el-button type="default" size="small" @click="$_zoomReset">澶у皬閫傚簲</el-button>
+			<el-button type="default" size="small" @click="$_translateRest">瀹氫綅杩樺師</el-button>
+			<el-button type="default" size="small" @click="$_reset">杩樺師(澶у皬&瀹氫綅)</el-button>
+			<el-button type="default" size="small" @click="$_undo" :disabled="state.undoDisable">涓婁竴姝�(ctrl+z)</el-button>
+			<el-button type="default" size="small" @click="$_redo" :disabled="state.redoDisable">涓嬩竴姝�(ctrl+y)</el-button>
+			<el-button type="default" size="small" @click="$_download">涓嬭浇鍥剧墖</el-button>
+			<el-button type="default" size="small" @click="$_catData">鏌ョ湅鏁版嵁</el-button>
+			<el-button type="default" size="small" @click="$_showMiniMap">鏌ョ湅缂╃暐鍥�</el-button>
+		</el-button-group>
+	</div>
+</template>
+
+<script setup lang="ts">
+import { reactive } from 'vue';
+
+var props = defineProps({
+	lf: Object,
+});
+const emit = defineEmits(['catData']);
+
+const state = reactive({
+	undoDisable: true,
+	redoDisable: true,
+});
+
+const $_zoomIn = () => {
+	props.lf?.zoom(true);
+};
+
+const $_zoomOut = () => {
+	props.lf?.zoom(false);
+};
+
+const $_zoomReset = () => {
+	props.lf?.resetZoom();
+};
+
+const $_translateRest = () => {
+	props.lf?.resetTranslate();
+};
+
+const $_reset = () => {
+	props.lf?.resetZoom();
+	props.lf?.resetTranslate();
+};
+
+const $_undo = () => {
+	props.lf?.undo();
+};
+
+const $_redo = () => {
+	props.lf?.redo();
+};
+
+const $_download = () => {
+	props.lf?.getSnapshot();
+};
+
+const $_catData = () => {
+	emit('catData');
+};
+
+const $_showMiniMap = () => {
+	props.lf?.extension.miniMap.show(props.lf.graphModel.width - 210, 70);
+};
+</script>
+
+<style lang="scss" scoped>
+.panel-control {
+	position: absolute;
+	top: 30px;
+	right: 50px;
+	z-index: 2;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelDataDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelDataDialog.vue
new file mode 100644
index 0000000..f9670e8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelDataDialog.vue
@@ -0,0 +1,14 @@
+<template>
+	<div>
+		<vue-json-pretty :path="'res'" :data="graphData"></vue-json-pretty>
+	</div>
+</template>
+
+<script setup lang="ts">
+import VueJsonPretty from 'vue-json-pretty';
+import 'vue-json-pretty/lib/styles.css';
+
+var props = defineProps({
+	graphData: Object,
+});
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelNode.vue b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelNode.vue
new file mode 100644
index 0000000..f10c4da
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelNode.vue
@@ -0,0 +1,114 @@
+<template>
+	<div class="f-container-panel">
+		<div v-for="item in state.nodeList" :key="item.text" class="node-item" @mousedown="dragNode(item)">
+			<div class="node-item-icon" :class="item.class">
+				<div v-if="item.type === 'user' || item.type === 'time'" class="shape" />
+			</div>
+			<span class="node-label">{{ item.text }}</span>
+		</div>
+	</div>
+</template>
+
+<script setup lang="ts">
+import { reactive } from 'vue';
+
+var props = defineProps({
+	lf: Object,
+});
+
+const state = reactive({
+	nodeList: [
+		{
+			text: '寮�濮�',
+			type: 'bpmn:startEvent',
+			class: 'bpmn-start',
+		},
+		{
+			text: '鐢ㄦ埛',
+			type: 'bpmn:userTask',
+			class: 'bpmn-user',
+		},
+		{
+			type: 'bpmn:exclusiveGateway',
+			text: '缃戝叧',
+			class: 'bpmn-exclusiveGateway',
+		},
+		{
+			type: 'task-node',
+			text: '浠诲姟',
+			class: 'node-task',
+		},
+		{
+			text: '缁撴潫',
+			type: 'bpmn:endEvent',
+			class: 'bpmn-end',
+		},
+	],
+});
+
+const dragNode = (item: any) => {
+	props.lf.dnd.startDrag({
+		type: item.type,
+	});
+};
+</script>
+
+<style lang="scss" scoped>
+.f-container-panel {
+	position: absolute;
+	top: 10px;
+	left: 15px;
+	width: 60px;
+	padding: 20px 10px;
+	background-color: white;
+	box-shadow: 0 0 10px 1px rgb(228, 224, 219);
+	border-radius: 6px;
+	display: flex;
+	flex-direction: column;
+	align-items: center;
+	justify-content: center;
+	z-index: 101;
+	.node-item {
+		margin-bottom: 15px;
+		text-align: center;
+	}
+	.node-item-icon {
+		width: 30px;
+		height: 30px;
+		background-size: cover;
+	}
+	.node-label {
+		font-size: 12px;
+		margin-top: 5px;
+		user-select: none;
+	}
+	.node-rect {
+		border: 1px solid black;
+	}
+	.node-task {
+		background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAAAXNSR0IArs4c6QAAAm9JREFUSEu1lTFo1GAUx38vZ6sOooIoVsWKk23SCp1UkIrg0EHs0M5OOolY9NJz6XXpNaeidOhQB3G1oCLUTXRxK9pe7lykk7YKhdJZuDzJXXMkaXKpBd+Y7//93sv/ve/7hP8YshO2WdKiGPQ0tMpvVTaqBSlm7f0X+EQAU4/JXcNNR5/jsRoATEcnBFqVKhSrtkz6ycySDkqOKTcvF+N/sq1yy9FXwEjDAY9JMRgDDiRYsIJQQHkGdAE11xYzrIvAw+AsP1PW511bRoO1KLysIyh+5ckhfEK5AOxNEig8rNpSSoT7H62yfkQZjGxWCl4nc7Ux2egu6r6D+xnyYBY41q7JkcrPPdXje/6wFga7tqROlOXoMtAX6OPaxkazrNekTpdCtxi0Rg7htpuXuTSXrJIOYLAYrh6DH/5ZqI7LQgNuOboADMUhRgcnl8dktV1zrbIuogzENOuuLUcDeGv8WiKh4ualP2tqrGmdQbiTDk8WbLq2HM6EO/oGuBHTfXFtGWh67t8dOU6jnAKuhoTDri1v0xKcL2l33eArcGhL8wHhFx4/3XEpRCahd1r7DWEpNKdLRidXlu7JZlICq6wvUG4Ga16O3tp9+ZY656aj6wJHQrD3Rge34o21HH0CjashiPbHv/ex9hh1atuqFCpAVet8J8cZUU7E7GtuEUbdvMwnVm45qlkNzFwPJYh4bpZ0WAxehm7BFeBsG2B0vV3ljQM1rZcR5gRmKrbM9jl6HcgrXAr97megXLHlnRVcdjFw06WEMB9pX/WB+D43YuuZS32J/ARhr1OnJTFZ8w29C9SBNfV4vetnLrNpOxT8BWh07BjujplpAAAAAElFTkSuQmCC)
+			center center no-repeat;
+		cursor: grab;
+	}
+	.bpmn-start {
+		background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAAH6ji2bAAAABGdBTUEAALGPC/xhBQAAAnBJREFUOBGdVL1rU1EcPfdGBddmaZLiEhdx1MHZQXApraCzQ7GKLgoRBxMfcRELuihWKcXFRcEWF8HBf0DdDCKYRZpnl7p0svLe9Zzbd29eQhTbC8nv+9zf130AT63jvooOGS8Vf9Nt5zxba7sXQwODfkWpkbjTQfCGUd9gIp3uuPP8bZ946g56dYQvnBg+b1HB8VIQmMFrazKcKSvFW2dQTxJnJdQ77urmXWOMBCmXM2Rke4S7UAW+/8ywwFoewmBps2tu7mbTdp8VMOkIRAkKfrVawalJTtIliclFbaOBqa0M2xImHeVIfd/nKAfVq/LGnPss5Kh00VEdSzfwnBXPUpmykNss4lUI9C1ga+8PNrBD5YeqRY2Zz8PhjooIbfJXjowvQJBqkmEkVnktWhwu2SM7SMx7Cj0N9IC0oQXRo8xwAGzQms+xrB/nNSUWVveI48ayrFGyC2+E2C+aWrZHXvOuz+CiV6iycWe1Rd1Q6+QUG07nb5SbPrL4426d+9E1axKjY3AoRrlEeSQo2Eu0T6BWAAr6COhTcWjRaYfKG5csnvytvUr/WY4rrPMB53Uo7jZRjXaG6/CFfNMaXEu75nG47X+oepU7PKJvvzGDY1YLSKHJrK7vFUwXKkaxwhCW3u+sDFMVrIju54RYYbFKpALZAo7sB6wcKyyrd+aBMryMT2gPyD6GsQoRFkGHr14TthZni9ck0z+Pnmee460mHXbRAypKNy3nuMdrWgVKj8YVV8E7PSzp1BZ9SJnJAsXdryw/h5ctboUVi4AFiCd+lQaYMw5z3LGTBKjLQOeUF35k89f58Vv/tGh+l+PE/wG0rgfIUbZK5AAAAABJRU5ErkJggg==)
+			center center no-repeat;
+		cursor: grab;
+	}
+	.bpmn-end {
+		background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAAH6ji2bAAAABGdBTUEAALGPC/xhBQAAA1BJREFUOBFtVE1IVUEYPXOf+tq40Y3vPcmFIdSjIorWoRG0ERWUgnb5FwVhYQSl72oUoZAboxKNFtWiwKRN0M+jpfSzqJAQclHo001tKkjl3emc8V69igP3znzfnO/M9zcDcKT67azmjYWTwl9Vn7Vumeqzj1DVb6cleQY4oAVnIOPb+mKAGxQmKI5CWNJ2aLPatxWa3aB9K7/fB+/Z0jUF6TmMlFLQqrkECWQzOZxYGjTlOl8eeKaIY5yHnFn486xBustDjWT6dG7pmjHOJd+33t0iitTPkK6tEvjxq4h2MozQ6WFSX/LkDUGfFwfhEZj1Auz/U4pyAi5Sznd7uKzznXeVHlI/Aywmk6j7fsUsEuCGADrWARXXwjxWQsUbIupDHJI7kF5dRktg0eN81IbiZXiTESic50iwS+t1oJgL83jAiBupLDCQqwziaWSoAFSeIR3P5Xv5az00wyIn35QRYTwdSYbz8pH8fxUUAtxnFvYmEmgI0wYXUXcCCSpeEVpXlsRhBnCEATxWylL9+EKCAYhe1NGstUa6356kS9NVvt3DU2fd+Wtbm/+lSbylJqsqkSm9CRhvoJVlvKPvF1RKY/FcPn5j4UfIMLn8D4UYb54BNsilTDXKnF4CfTobA0FpoW/LSp306wkXM+XaOJhZaFkcNM82ASNAWMrhrUbRfmyeI1FvRBTpN06WKxa9BK0o2E4Pd3zfBBEwPsv9sQBnmLVbLEIZ/Xe9LYwJu/Er17W6HYVBc7vmuk0xUQ+pqxdom5Fnp55SiytXLPYoMXNM4u4SNSCFWnrVIzKG3EGyMXo6n/BQOe+bX3FClY4PwydVhthOZ9NnS+ntiLh0fxtlUJHAuGaFoVmttpVMeum0p3WEXbcll94l1wM/gZ0Ccczop77VvN2I7TlsZCsuXf1WHvWEhjO8DPtyOVg2/mvK9QqboEth+7pD6NUQC1HN/TwvydGBARi9MZSzLE4b8Ru3XhX2PBxf8E1er2A6516o0w4sIA+lwURhAON82Kwe2iDAC1Watq4XHaGQ7skLcFOtI5lDxuM2gZe6WFIotPAhbaeYlU4to5cuarF1QrcZ/lwrLaCJl66JBocYZnrNlvm2+MBCTmUymPrYZVbjdlr/BxlMjmNmNI3SAAAAAElFTkSuQmCC)
+			center center no-repeat;
+		cursor: grab;
+	}
+	.bpmn-user {
+		background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAEFVwZaAAAABGdBTUEAALGPC/xhBQAAAqlJREFUOBF9VM9rE0EUfrMJNUKLihGbpLGtaCOIR8VjQMGDePCgCCIiCNqzCAp2MyYUCXhUtF5E0D+g1t48qAd7CCLqQUQKEWkStcEfVGlLdp/fm3aW2QQdyLzf33zz5m2IsAZ9XhDpyaaIZkTS4ASzK41TFao88GuJ3hsr2pAbipHxuSYyKRugagICGANkfFnNh3HeE2N0b3nN2cgnpcictw5veJIzxmDamSlxxQZicq/mflxhbaH8BLRbuRwNtZp0JAhoplVRUdzmCe/vO27wFuuA3S5qXruGdboy5/PRGFsbFGKo/haRtQHIrM83bVeTrOgNhZReWaYGnE4aUQgTJNvijJFF4jQ8BxJE5xfKatZWmZcTQ+BVgh7s8SgPlCkcec4mGTmieTP4xd7PcpIEg1TX6gdeLW8rTVMVLVvb7ctXoH0Cydl2QOPJBG21STE5OsnbweVYzAnD3A7PVILuY0yiiyDwSm2g441r6rMSgp6iK42yqroI2QoXeJVeA+YeZSa47gZdXaZWQKTrG93rukk/l2Al6Kzh5AZEl7dDQy+JjgFahQjRopSxPbrbvK7GRe9ePWBo1wcU7sYrFZtavXALwGw/7Dnc50urrHJuTPSoO2IMV3gUQGNg87IbSOIY9BpiT9HV7FCZ94nPXb3MSnwHn/FFFE1vG6DTby+r31KAkUktB3Qf6ikUPWxW1BkXSPQeMHHiW0+HAd2GelJsZz1OJegCxqzl+CLVHa/IibuHeJ1HAKzhuDR+ymNaRFM+4jU6UWKXorRmbyqkq/D76FffevwdCp+jN3UAN/C9JRVTDuOxC/oh+EdMnqIOrlYteKSfadVRGLJFJPSB/ti/6K8f0CNymg/iH2gO/f0DwE0yjAFO6l8JaR5j0VPwPwfaYHqOqrCI319WzwhwzNW/aQAAAABJRU5ErkJggg==)
+			center center no-repeat;
+		cursor: grab;
+	}
+	.bpmn-exclusiveGateway {
+		background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAAHeEJUAAAAABGdBTUEAALGPC/xhBQAAAvVJREFUOBGNVEFrE0EU/mY3bQoiFlOkaUJrQUQoWMGePLX24EH0IIoHKQiCV0G8iE1covgLiqA/QTzVm1JPogc9tIJYFaQtlhQxqYjSpunu+L7JvmUTU3AgmTfvffPNN++9WSA1DO182f6xwILzD5btfAoQmwL5KJEwiQyVbSVZ0IgRyV6PTpIJ81E5ZvqfHQR0HUOBHW4L5Et2kQ6Zf7iAOhTFAA8s0pEP7AXO1uAA52SbqGk6h/6J45LaLhO64ByfcUzM39V7ZiAdS2yCePPEIQYvTUHqM/n7dgQNfBKWPjpF4ISk8q3J4nB11qw6X8l+FsF3EhlkEMfrjIer3wJTLwS2aCNcj4DbGxXTw00JmAuO+Ni6bBxVUCvS5d9aa04+so4pHW5jLTywuXAL7jJ+D06sl82Sgl2JuVBQn498zkc2bGKxULHjCnSMadBKYDYYHAtsby1EQ5lNGrQd4Y3v4Zo0XdGEmDno46yCM9Tk+RiJmUYHS/aXHPNTcjxcbTFna000PFJHIVZ5lFRqRpJWk9/+QtlOUYJj9HG5pVFEU7zqIYDVsw2s+AJaD8wTd2umgSCCyUxgGsS1Y6TBwXQQTFuZaHcd8gAGioE90hlsY+wMcs30RduYtxanjMGal8H5dMW67dmT1JFtYUEe8LiQLRsPZ6IIc7A4J5tqco3T0pnv/4u0kyzrYUq7gASuEyI8VXKvB9Odytv6jS/PNaZBln0nioJG/AVQRZvApOdhjj3Jt8QC8Im09SafwdBdvIpztpxWxpeKCC+EsFdS8DCyuCn2munFpL7ctHKp+Xc5cMybeIyMAN33SPL3ZR9QV1XVwLyzHm6Iv0/yeUuUb7PPlZC4D4HZkeu6dpF4v9j9MreGtMbxMMRLIcjJic9yHi7WQ3yVKzZVWUr5UrViJvn1FfUlwe/KYVfYyWRLSGNu16hR01U9IacajXPei0wx/5BqgInvJN+MMNtNme7ReU9SBbgntovn0kKHpFg7UogZvaZiOue/q1SBo9ktHzQAAAAASUVORK5CYII=)
+			center center no-repeat;
+		cursor: grab;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Property/PropertyCommon.vue b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Property/PropertyCommon.vue
new file mode 100644
index 0000000..0703086
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Property/PropertyCommon.vue
@@ -0,0 +1,48 @@
+<template>
+	<div class="property-common">
+		<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+			<el-form-item v-show="false">
+				<el-input v-model="nodeData.id" />
+			</el-form-item>
+			<el-tabs>
+				<el-tab-pane label="鍩烘湰淇℃伅">
+					<el-row :gutter="35">
+						<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+							<el-form-item label="缂栧彿" prop="id">
+								<el-input v-model="nodeData.id" placeholder="璇疯緭鍏ョ紪鍙�" maxlength="32" readonly show-word-limit clearable />
+							</el-form-item>
+						</el-col>
+						<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+							<el-form-item label="灞炴��" prop="type">
+								<el-input v-model="nodeData.type" placeholder="璇疯緭鍏ョ紪鍙�" maxlength="32" readonly show-word-limit clearable />
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-tab-pane>
+				<el-tab-pane label="鎵╁睍淇℃伅">
+					<el-row :gutter="35"></el-row>
+				</el-tab-pane>
+			</el-tabs>
+		</el-form>
+	</div>
+</template>
+
+<script setup lang="ts">
+import { reactive, ref } from 'vue';
+import type { FormRules } from 'element-plus';
+
+var props = defineProps({
+	nodeData: Object,
+});
+const emit = defineEmits(['setProperties']);
+
+const ruleFormRef = ref();
+
+const state = reactive({
+	ruleForm: {} as any,
+});
+
+const rules = ref<FormRules>({});
+</script>
+
+<style lang="scss" scoped></style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Property/PropertyDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Property/PropertyDialog.vue
new file mode 100644
index 0000000..864136e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Property/PropertyDialog.vue
@@ -0,0 +1,30 @@
+<template>
+	<div class="property-dialog">
+		<PropertyCommon :nodeData="nodeData" @setProperties="setProperties"></PropertyCommon>
+	</div>
+</template>
+
+<script setup>
+import { reactive, ref } from 'vue';
+
+import PropertyCommon from '/@/views/approvalFlow/component/LogicFlow/Property/PropertyCommon.vue';
+
+var props = defineProps({
+	lf: Object,
+	nodeData: Object,
+});
+const emit = defineEmits(['setPropertiesFinish']);
+
+const ruleFormRef = ref();
+
+const state = reactive({});
+
+const setProperties = () => {};
+</script>
+
+<style lang="scss" scoped>
+.property-dialog {
+	padding-left: 20px;
+	padding-right: 20px;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Edges/EdgeSql.ts b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Edges/EdgeSql.ts
new file mode 100644
index 0000000..1632c62
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Edges/EdgeSql.ts
@@ -0,0 +1,55 @@
+import { BezierEdge, BezierEdgeModel } from '@logicflow/core';
+
+class CustomEdge2 extends BezierEdge { }
+
+class CustomEdgeModel2 extends BezierEdgeModel {
+    getEdgeStyle() {
+        const style = super.getEdgeStyle();
+        // svg灞炴��
+        style.strokeWidth = 1;
+        style.stroke = '#ababac';
+        return style;
+    }
+    /**
+     * 閲嶅啓姝ゆ柟娉曪紝浣夸繚瀛樻暟鎹槸鑳藉甫涓婇敋鐐规暟鎹��
+     */
+    getData() {
+        const data = super.getData();
+        data.sourceAnchorId = this.sourceAnchorId;
+        data.targetAnchorId = this.targetAnchorId;
+        return data;
+    }
+    /**
+     * 缁欒竟鑷畾涔夋柟妗堬紝浣垮叾鏀寔鍩轰簬閿氱偣鐨勪綅缃洿鏂拌竟鐨勮矾寰�
+     */
+    updatePathByAnchor() {
+        // TODO
+        const sourceNodeModel = this.graphModel.getNodeModelById(this.sourceNodeId);
+        const sourceAnchor = sourceNodeModel
+            .getDefaultAnchor()
+            .find((anchor) => anchor.id === this.sourceAnchorId);
+        const targetNodeModel = this.graphModel.getNodeModelById(this.targetNodeId);
+        const targetAnchor = targetNodeModel
+            .getDefaultAnchor()
+            .find((anchor) => anchor.id === this.targetAnchorId);
+        const startPoint = {
+            x: sourceAnchor.x,
+            y: sourceAnchor.y,
+        };
+        this.updateStartPoint(startPoint);
+        const endPoint = {
+            x: targetAnchor.x,
+            y: targetAnchor.y,
+        };
+        this.updateEndPoint(endPoint);
+        // 杩欓噷闇�瑕佸皢鍘熸湁鐨刾ointsList璁剧疆涓虹┖锛屾墠鑳借Е鍙慴ezier鐨勮嚜鍔ㄨ绠梒ontrol鐐广��
+        this.pointsList = [];
+        this.initPoints();
+    }
+}
+
+export default {
+    type: 'edge-sql',
+    view: CustomEdge2,
+    model: CustomEdgeModel2,
+};
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeEnd.ts b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeEnd.ts
new file mode 100644
index 0000000..97c70ff
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeEnd.ts
@@ -0,0 +1,79 @@
+import { CircleNode, CircleNodeModel, h } from "@logicflow/core";
+
+class EndNode extends CircleNode {
+    getIconShape() {
+        const { model } = this.props;
+        const { x, y, width, height } = model;
+        const stroke = '#404040';
+        return h(
+            'svg',
+            {
+                x: x - width / 2,
+                y: y - height / 2,
+                width: 40,
+                height: 40,
+                viewBox: '0 0 1024 1024'
+            },
+            h(
+                'path',
+                {
+                    fill: stroke,
+                    d: 'M212.992 526.336 212.992 526.336 212.992 526.336 215.04 526.336 212.992 526.336Z'
+                }
+            ),
+            h(
+                'path',
+                {
+                    fill: stroke,
+                    d: 'M724.992 296.96 724.992 296.96 296.96 296.96 296.96 724.992 724.992 724.992 724.992 296.96Z'
+                }
+            )
+        );
+    }
+    getShape() {
+        const { model } = this.props
+        const { x, y, r } = model
+        const { fill, stroke, strokeWidth } = model.getNodeStyle()
+        return h('g', {}, [h('circle', { cx: x, cy: y, r, fill, stroke, strokeWidth }), this.getIconShape()]);
+    }
+}
+
+class EndNodeModel extends CircleNodeModel {
+    initNodeData(data) {
+        data.text = {
+            value: (data.text && data.text.value) || '',
+            x: data.x,
+            y: data.y + 35
+        }
+        super.initNodeData(data)
+        this.r = 20
+    }
+    // 鑷畾涔夐敋鐐规牱寮�
+    getAnchorStyle() {
+        const style = super.getAnchorStyle()
+        style.hover.r = 8
+        style.hover.fill = 'rgb(24, 125, 255)'
+        style.hover.stroke = 'rgb(24, 125, 255)'
+        return style
+    }
+    // 鑷畾涔夎妭鐐筼utline
+    getOutlineStyle() {
+        const style = super.getOutlineStyle()
+        style.stroke = '#88f'
+        return style
+    }
+    getConnectedSourceRules() {
+        const rules = super.getConnectedSourceRules()
+        const notAsTarget = {
+            message: '缁堟鑺傜偣涓嶈兘浣滀负杩炵嚎鐨勮捣鐐�',
+            validate: () => false
+        }
+        rules.push(notAsTarget)
+        return rules
+    }
+}
+export default {
+    type: 'end-node',
+    view: EndNode,
+    model: EndNodeModel
+}
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeSql.ts b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeSql.ts
new file mode 100644
index 0000000..fa40a8f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeSql.ts
@@ -0,0 +1,150 @@
+import { HtmlNode, HtmlNodeModel, h } from '@logicflow/core';
+
+class SqlNode extends HtmlNode {
+    /**
+     * 1.1.7鐗堟湰鍚庢敮鎸佸湪view涓噸鍐欓敋鐐瑰舰鐘躲��
+     * 閲嶅啓閿氱偣鏂板
+     */
+    getAnchorShape(anchorData) {
+        const { x, y, type } = anchorData;
+        return h('rect', {
+            x: x - 5,
+            y: y - 5,
+            width: 10,
+            height: 10,
+            className: `custom-anchor ${type === 'left' ? 'incomming-anchor' : 'outgoing-anchor'
+                }`,
+        });
+    }
+    setHtml(rootEl) {
+        rootEl.innerHTML = '';
+        const {
+            properties: { fields, tableName },
+        } = this.props.model;
+        rootEl.setAttribute('class', 'table-container');
+        const container = document.createElement('div');
+        container.className = `table-node table-color-${Math.ceil(
+            Math.random() * 4,
+        )}`;
+        const tableNameElement = document.createElement('div');
+        tableNameElement.innerText = tableName;
+        tableNameElement.className = 'table-name';
+        container.appendChild(tableNameElement);
+        const fragment = document.createDocumentFragment();
+        for (let i = 0; i < fields.length; i++) {
+            const item = fields[i];
+            const itemElement = document.createElement('div');
+            itemElement.className = 'table-feild';
+            const itemKey = document.createElement('span');
+            itemKey.innerText = item.key;
+            const itemType = document.createElement('span');
+            itemType.innerText = item.type;
+            itemType.className = 'feild-type';
+            itemElement.appendChild(itemKey);
+            itemElement.appendChild(itemType);
+            fragment.appendChild(itemElement);
+        }
+        container.appendChild(fragment);
+        rootEl.appendChild(container);
+    }
+}
+
+class SqlNodeModel extends HtmlNodeModel {
+    /**
+     * 缁檓odel鑷畾涔夋坊鍔犲瓧娈垫柟娉�
+     */
+    addField(item) {
+        this.properties.fields.unshift(item);
+        this.setAttributes();
+        // 涓轰簡淇濇寔鑺傜偣椤堕儴浣嶇疆涓嶅彉锛屽湪鑺傜偣鍙樺寲鍚庯紝瀵硅妭鐐硅繘琛屼竴涓綅绉�,浣嶇Щ璺濈涓烘坊鍔犻珮搴︾殑涓�鍗娿��
+        this.move(0, 24 / 2);
+        // 鏇存柊鑺傜偣杩炴帴杈圭殑path
+        this.incoming.edges.forEach((egde) => {
+            // 璋冪敤鑷畾涔夌殑鏇存柊鏂规
+            egde.updatePathByAnchor();
+        });
+        this.outgoing.edges.forEach((edge) => {
+            // 璋冪敤鑷畾涔夌殑鏇存柊鏂规
+            edge.updatePathByAnchor();
+        });
+    }
+    getOutlineStyle() {
+        const style = super.getOutlineStyle();
+        style.stroke = 'none';
+        style.hover.stroke = 'none';
+        return style;
+    }
+    // 濡傛灉涓嶇敤淇敼閿氬湴褰㈢姸锛屽彲浠ラ噸鍐欓鑹茬浉鍏虫牱寮�
+    getAnchorStyle(anchorInfo) {
+        const style = super.getAnchorStyle();
+        if (anchorInfo.type === 'left') {
+            style.fill = 'red';
+            style.hover.fill = 'transparent';
+            style.hover.stroke = 'transpanrent';
+            style.className = 'lf-hide-default';
+        } else {
+            style.fill = 'green';
+        }
+        return style;
+    }
+    setAttributes() {
+        this.width = 200;
+        const {
+            properties: { fields },
+        } = this;
+        this.height = 60 + fields.length * 24;
+        const circleOnlyAsTarget = {
+            message: '鍙厑璁镐粠鍙宠竟鐨勯敋鐐硅繛鍑�',
+            validate: (sourceNode, targetNode, sourceAnchor) => {
+                return sourceAnchor.type === 'right';
+            },
+        };
+        this.sourceRules.push(circleOnlyAsTarget);
+        this.targetRules.push({
+            message: '鍙厑璁歌繛鎺ュ乏杈圭殑閿氱偣',
+            validate: (sourceNode, targetNode, sourceAnchor, targetAnchor) => {
+                return targetAnchor.type === 'left';
+            },
+        });
+    }
+    getDefaultAnchor() {
+        const {
+            id,
+            x,
+            y,
+            width,
+            height,
+            isHovered,
+            isSelected,
+            properties: { fields, isConnection },
+        } = this;
+        const anchors = [];
+        fields.forEach((feild, index) => {
+            // 濡傛灉鏄繛鍑猴紝灏变笉鏄剧ず宸﹁竟鐨勯敋鐐�
+            if (isConnection || !(isHovered || isSelected)) {
+                anchors.push({
+                    x: x - width / 2 + 10,
+                    y: y - height / 2 + 60 + index * 24,
+                    id: `${id}_${feild.key}_left`,
+                    edgeAddable: false,
+                    type: 'left',
+                });
+            }
+            if (!isConnection) {
+                anchors.push({
+                    x: x + width / 2 - 10,
+                    y: y - height / 2 + 60 + index * 24,
+                    id: `${id}_${feild.key}_right`,
+                    type: 'right',
+                });
+            }
+        });
+        return anchors;
+    }
+}
+
+export default {
+    type: 'sql-node',
+    model: SqlNodeModel,
+    view: SqlNode,
+};
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeStart.ts b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeStart.ts
new file mode 100644
index 0000000..cbaa8a1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeStart.ts
@@ -0,0 +1,64 @@
+import { CircleNode, CircleNodeModel, h } from "@logicflow/core";
+
+class StartNode extends CircleNode {
+    getLabelShape() {
+        const { model } = this.props;
+        const { x, y } = model;
+        return h('text', { fill: '#000000', fontSize: 12, x: x - 12, y: y + 4, width: 50, height: 25 }, 'Start');
+    }
+    getShape() {
+        const { model } = this.props;
+        const { x, y, r } = model;
+        const { fill, stroke, strokeWidth } = model.getNodeStyle();
+        return h('g', {}, [h('circle', { cx: x, cy: y, r, fill, stroke, strokeWidth }), this.getLabelShape()]);
+    }
+}
+
+class StartModel extends CircleNodeModel {
+    // 鑷畾涔夎妭鐐瑰舰鐘跺睘鎬�
+    initNodeData(data) {
+        data.text = {
+            value: (data.text && data.text.value) || '',
+            x: data.x,
+            y: data.y + 35,
+            dragable: false,
+            editable: true
+        }
+        super.initNodeData(data)
+        this.r = 20
+    }
+    // 鑷畾涔夎妭鐐规牱寮忓睘鎬�
+    getNodeStyle() {
+        const style = super.getNodeStyle()
+        return style
+    }
+    // 鑷畾涔夐敋鐐规牱寮�
+    getAnchorStyle() {
+        const style = super.getAnchorStyle()
+        style.hover.r = 8
+        style.hover.fill = 'rgb(24, 125, 255)'
+        style.hover.stroke = 'rgb(24, 125, 255)'
+        return style
+    }
+    // 鑷畾涔夎妭鐐筼utline
+    getOutlineStyle() {
+        const style = super.getOutlineStyle()
+        style.stroke = '#88f'
+        return style
+    }
+    getConnectedTargetRules() {
+        const rules = super.getConnectedTargetRules()
+        const notAsTarget = {
+            message: '璧峰鑺傜偣涓嶈兘浣滀负杩炵嚎鐨勭粓鐐�',
+            validate: () => false
+        }
+        rules.push(notAsTarget)
+        return rules
+    }
+}
+
+export default {
+    type: 'start-node',
+    view: StartNode,
+    model: StartModel
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeTask.ts b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeTask.ts
new file mode 100644
index 0000000..51fd5a8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeTask.ts
@@ -0,0 +1,25 @@
+import { RectNode, RectNodeModel, h } from "@logicflow/core";
+
+class TaskNode extends RectNode {
+    getShare() {
+        const { model } = this.props;
+        const { width, height, x, y } = model;
+        const position = {
+            x: x - width / 2,
+            y: y - height / 2,
+        }
+        const style = model.getNodeStyle();
+        return h('rect', { ...style, ...position });
+    }
+}
+class TaskNodeModel extends RectNodeModel {
+    constructor(data, graphModel) {
+        super(data, graphModel);
+        this.radius = 20;
+    }
+}
+export default {
+    type: 'task-node',
+    view: TaskNode,
+    model: TaskNodeModel,
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeUser.ts b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeUser.ts
new file mode 100644
index 0000000..ff0a786
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeUser.ts
@@ -0,0 +1,110 @@
+import { PolygonNode, PolygonNodeModel, h } from "@logicflow/core";
+
+class UserNode extends PolygonNode {
+    getIconShape() {
+        const { model } = this.props
+        const { stroke } = model.getNodeStyle()
+        return h(
+            'svg',
+            {
+                x: 20,
+                y: 18,
+                width: 30,
+                height: 30,
+                viewBox: '0 0 1126 1024'
+            },
+            h(
+                'path',
+                {
+                    fill: stroke,
+                    d: 'M792.576 379.392a25.6 25.6 0 0 0 25.2928 25.8048h283.2384A25.6 25.6 0 0 0 1126.4 379.392a25.6 25.6 0 0 0-25.2928-25.8048h-283.2384a25.6 25.6 0 0 0-25.344 25.8048z m303.9232 80.7424H761.856c-16.5376 0-29.9008 11.6224-29.9008 25.7536 0 14.1824 13.312 25.7536 29.9008 25.7536h334.6432c16.4864 0 29.9008-11.5712 29.9008-25.7536 0-14.1312-13.4144-25.7536-29.9008-25.7536z m4.608 106.496h-283.2384a25.6 25.6 0 0 0-25.344 25.7536 25.6 25.6 0 0 0 25.344 25.7536h283.2384A25.6 25.6 0 0 0 1126.4 592.384a25.6 25.6 0 0 0-25.2928-25.8048zM543.0272 1024H341.6576C150.8352 1024 0 1024 0 923.648v-20.1216c0-188.16 153.2928-341.1968 341.7088-341.1968h201.2672c188.416 0 341.76 153.0368 341.76 341.1968v20.0704C884.6848 1024 726.3232 1024 542.976 1024z m-203.1616-405.1456c-158.464 0-287.4368 128.4096-287.4368 286.208v20.48c0 40.9088 166.0928 40.9088 287.4368 40.9088h204.9536c100.4544 0 287.4368 0 287.4368-40.96v-20.3776c0-157.8496-128.9728-286.208-287.4368-286.208H339.8656z m92.416-76.7488a271.4112 271.4112 0 0 1-271.2064-271.0528A271.36 271.36 0 0 1 432.2816 0a271.36 271.36 0 0 1 271.2064 271.0528 271.4624 271.4624 0 0 1-271.2064 271.0528z m-215.3472-271.872c0 118.1696 96.6144 214.3232 215.3472 214.3232 118.784 0 215.3984-96.1536 215.3984-214.3232 0-118.2208-96.6144-214.3232-215.3984-214.3232S216.9344 152.0128 216.9344 270.2336z'
+                }
+            )
+        )
+    }
+    getShape() {
+        const { model } = this.props
+        const { width, height, x, y, points } = model
+        const { fill, fillOpacity, strokeWidth, stroke, strokeOpacity, } = model.getNodeStyle()
+        const transform = `matrix(1 0 0 1 ${x - width / 2} ${y - height / 2})`
+        const pointsPath = points.map(point => point.join(',')).join(' ')
+        return h(
+            'g',
+            {
+                transform
+            },
+            [
+                h(
+                    'polygon',
+                    {
+                        points: pointsPath,
+                        fill,
+                        stroke,
+                        strokeWidth,
+                        strokeOpacity,
+                        fillOpacity
+                    }
+                ),
+                this.getIconShape()
+            ]
+        )
+    }
+}
+class UserNodeModel extends PolygonNodeModel {
+    constructor(data, graphModel) {
+        data.text = {
+            value: (data.text && data.text.value) || '',
+            x: data.x,
+            y: data.y + 50
+        }
+        super(data, graphModel)
+        // 鍙抽敭鑿滃崟鑷敱閰嶇疆锛屼篃鍙互閫氳繃杈圭殑properties鎴栬�呭叾浠栧睘鎬ф潯浠舵洿鎹笉鍚岃彍鍗�
+        this.menu = [
+            {
+                className: 'lf-menu-delete',
+                text: 'delete',
+                callback(node) {
+                    // const comfirm = window.confirm('浣犵‘瀹氳鍒犻櫎鍚楋紵')
+                    lf.deleteNode(node.id)
+                }
+            },
+            {
+                text: 'edit',
+                className: 'lf-menu-item',
+                callback(node) {
+                    lf.editText(node.id)
+                }
+            },
+            {
+                text: 'copy',
+                className: 'lf-menu-item',
+                callback(node) {
+                    lf.cloneNode(node.id)
+                }
+            }
+        ]
+    }
+    initNodeData(data) {
+        super.initNodeData(data)
+        const lenght = 35
+        this.points = [
+            [lenght, 0],
+            [lenght * 2, lenght],
+            [lenght, lenght * 2],
+            [0, lenght]
+        ]
+    }
+    // 鑷畾涔夐敋鐐规牱寮�
+    getAnchorStyle() {
+        const style = super.getAnchorStyle();
+        style.hover.r = 8;
+        style.hover.fill = "rgb(24, 125, 255)";
+        style.hover.stroke = "rgb(24, 125, 255)";
+        return style;
+    }
+}
+export default {
+    type: 'user-node',
+    view: UserNode,
+    model: UserNodeModel
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/RegisterEdge.ts b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/RegisterEdge.ts
new file mode 100644
index 0000000..29647a0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/RegisterEdge.ts
@@ -0,0 +1,9 @@
+import LogicFlow from "@logicflow/core";
+// 寮曞叆鑷畾涔夌殑杈�
+import edgeSql from './Edges/EdgeSql';
+// 娉ㄥ唽杈�
+const Register = (lf: LogicFlow) => {
+    lf.register(edgeSql);
+};
+
+export default { Register };
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/RegisterNode.ts b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/RegisterNode.ts
new file mode 100644
index 0000000..f5970d9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/LogicFlow/Register/RegisterNode.ts
@@ -0,0 +1,17 @@
+import LogicFlow from "@logicflow/core";
+// 寮曞叆鑷畾涔夎妭鐐�
+import nodeStart from './Nodes/NodeStart';
+import nodeEnd from './Nodes/NodeEnd';
+import nodeTask from './Nodes/NodeTask';
+import nodeUser from './Nodes/NodeUser';
+import nodeSql from './Nodes/NodeSql';
+// 娉ㄥ唽鑺傜偣
+const Register = (lf: LogicFlow) => {
+    lf.register(nodeStart);
+    lf.register(nodeEnd);
+    lf.register(nodeTask);
+    lf.register(nodeUser);
+    lf.register(nodeSql);
+};
+
+export default { Register };
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/detailDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/detailDialog.vue
new file mode 100644
index 0000000..947cacf
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/detailDialog.vue
@@ -0,0 +1,125 @@
+<template lang="">
+	<div class="flow-container">
+		<el-dialog v-model="state.isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-timeline>
+				<el-timeline-item
+					v-for="(activity, index) in state.activities"
+					:key="index"
+					:icon="activity.icon"
+					:type="activity.type"
+					:color="activity.color"
+					:size="activity.size"
+					:hollow="activity.hollow"
+					:timestamp="activity.timestamp"
+					placement="top"
+				>
+					<el-card>
+						<h4>{{ activity.content }}</h4>
+						<br />
+						<div class="demo-type">
+							<el-avatar :icon="UserFilled" />
+						</div>
+					</el-card>
+				</el-timeline-item>
+			</el-timeline>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script setup lang="ts">
+import { reactive, ref, onMounted } from 'vue';
+import type { FormRules } from 'element-plus';
+
+var props = defineProps({
+	title: {
+		type: String,
+		default: '',
+	},
+});
+
+const emit = defineEmits(['reloadTable']);
+const ruleFormRef = ref();
+
+const state = reactive({
+	loading: false,
+	isShowDialog: false,
+	ruleForm: {},
+	circleUrl: 'https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png',
+	activities: [
+		{
+			content: 'Event start',
+			timestamp: '2018-04-12 20:46',
+			size: 'large',
+			type: 'primary',
+			user: 'admin',
+		},
+		{
+			content: 'Approved',
+			timestamp: '2018-04-13',
+			color: '#0bbd87',
+			user: 'admin',
+		},
+		{
+			content: 'Approved',
+			timestamp: '2018-04-11',
+			color: '#0bbd87',
+			user: 'admin',
+		},
+		{
+			content: 'Success',
+			timestamp: '2018-04-11 20:46',
+			hollow: true,
+			user: 'admin',
+		},
+	],
+});
+
+const rules = ref<FormRules>({});
+
+onMounted(() => {});
+
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+};
+
+const closeDialog = () => {
+	emit('reloadTable');
+	state.isShowDialog = false;
+};
+
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+defineExpose({ openDialog });
+</script>
+
+<style scoped lang="scss">
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+.demo-type {
+	display: flex;
+}
+.demo-type > div {
+	flex: 1;
+	text-align: center;
+}
+
+.demo-type > div:not(:last-child) {
+	border-right: 1px solid var(--el-border-color);
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/editDialog.vue
new file mode 100644
index 0000000..bbfc0c1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/editDialog.vue
@@ -0,0 +1,162 @@
+锘�<template>
+	<div class="labApprovalFlow-container">
+		<el-dialog v-model="state.isShowDialog" :width="800" draggable="">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-tabs>
+					<el-tab-pane label="鍩烘湰淇℃伅">
+						<el-row :gutter="35">
+							<el-form-item v-show="false">
+								<el-input v-model="state.ruleForm.id" />
+							</el-form-item>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="缂栧彿" prop="code">
+									<el-input v-model="state.ruleForm.code" placeholder="璇疯緭鍏ョ紪鍙�" maxlength="32" show-word-limit clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鍚嶇О" prop="name" :rules="[{ required: true, message: '鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+									<el-input v-model="state.ruleForm.name" placeholder="璇疯緭鍏ュ悕绉�" maxlength="32" show-word-limit clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鐘舵��" prop="status" :rules="[{ required: true, message: '鐘舵�佷笉鑳戒负绌�', trigger: 'blur' }]">
+									<el-select clearable v-model="state.ruleForm.status" placeholder="璇烽�夋嫨鐘舵��">
+										<el-option v-for="(item, index) in getEnumStatusData" :key="index" :value="item.value" :label="`${item.describe} [${item.value}]`"></el-option>
+									</el-select>
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+								<el-form-item label="澶囨敞" prop="remark">
+									<el-input v-model="state.ruleForm.remark" placeholder="璇疯緭鍏ュ娉�" type="textarea" maxlength="255" show-word-limit clearable />
+								</el-form-item>
+							</el-col>
+						</el-row>
+					</el-tab-pane>
+					<el-tab-pane label="鎵╁睍淇℃伅">
+						<el-row :gutter="35">
+							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+								<el-form-item label="琛ㄥ崟" prop="formJson">
+									<el-input v-model="state.ruleForm.formJson" placeholder="璇疯緭鍏ヨ〃鍗�" type="textarea" maxlength="0" show-word-limit clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+								<el-form-item label="娴佺▼" prop="flowJson">
+									<el-input v-model="state.ruleForm.flowJson" placeholder="璇疯緭鍏ユ祦绋�" type="textarea" maxlength="0" show-word-limit clearable />
+								</el-form-item>
+							</el-col>
+						</el-row>
+					</el-tab-pane>
+				</el-tabs>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script setup lang="ts">
+import { reactive, ref, onMounted } from 'vue';
+import { ElMessage } from 'element-plus';
+import type { FormRules } from 'element-plus';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { ApprovalFlowApi } from '/@/api-services/_approvalFlow/api';
+import { SysEnumApi } from '/@/api-services/api';
+
+const getEnumStatusData = ref<any>([]);
+
+// 鐖剁骇浼犻�掓潵鐨勫弬鏁�
+var props = defineProps({
+	title: {
+		type: String,
+		default: '',
+	},
+	labStatus: {
+		type: Array,
+		default: () => [],
+	},
+});
+// 鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+const emit = defineEmits(['reloadTable']);
+
+// 瀹氫箟鍙橀噺鍐呭
+const ruleFormRef = ref();
+const state = reactive({
+	loading: false,
+	isShowDialog: false,
+	ruleForm: {} as any,
+});
+
+// 鑷娣诲姞鍏朵粬瑙勫垯
+const rules = ref<FormRules>({
+	name: [
+		{
+			pattern: /^(?!^[0-9].*$).*/,
+			message: '涓嶈兘浠ユ暟瀛楀紑澶�',
+			trigger: 'blur',
+		},
+	],
+});
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+	// getEnumStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('LabStatusEnum')).data.result ?? [];
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = async (row: any) => {
+	let rowData = JSON.parse(JSON.stringify(row));
+	state.ruleForm = rowData.id ? (await getAPI(ApprovalFlowApi).apiApprovalFlowDetailGet(rowData.id)).data.result : rowData;
+	state.isShowDialog = true;
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emit('reloadTable');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = async () => {
+	ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+		if (isValid) {
+			if (state.ruleForm.id == undefined || state.ruleForm.id == null || state.ruleForm.id == 0) {
+				await getAPI(ApprovalFlowApi).apiApprovalFlowAddPost(state.ruleForm);
+			} else {
+				await getAPI(ApprovalFlowApi).apiApprovalFlowUpdatePost(state.ruleForm);
+			}
+			closeDialog();
+		} else {
+			ElMessage({
+				message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+				type: 'error',
+			});
+		}
+	});
+};
+
+// 灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+defineExpose({ openDialog });
+</script>
+
+<style scoped lang="scss">
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/editFlowDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/editFlowDialog.vue
new file mode 100644
index 0000000..ba96817
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/editFlowDialog.vue
@@ -0,0 +1,264 @@
+<template>
+	<div class="flow-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" fullscreen>
+			<template #header>
+				<div style="color: #fff">
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<div class="f-content">
+				<div class="f-container">
+					<div class="f-switch">
+						<el-switch v-model="state.value2" @change="change" class="mb-2" active-text="鎵撳紑妗嗛��" inactive-text="鍏抽棴妗嗛��" />
+					</div>
+					<PanelControl v-if="lf" :lf="lf" @catData="getData"></PanelControl>
+					<div class="f-container-c" ref="container" id="container"></div>
+					<PanelNode v-if="lf" :lf="lf"></PanelNode>
+					<el-drawer title="灞炴��" v-model="drawer" :direction="direction" size="500px" :before-close="handleClose">
+						<PropertyDialog v-if="drawer" :nodeData="state.nodeData" :lf="lf" @setPropertiesFinish="handleClose"></PropertyDialog>
+					</el-drawer>
+					<el-dialog title="鏁版嵁" v-model="dataVisible" width="50%">
+						<PanelDataDialog :graphData="state.graphData"></PanelDataDialog>
+					</el-dialog>
+				</div>
+			</div>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script setup lang="ts">
+import { reactive, ref, nextTick } from 'vue';
+import { ElMessageBox } from 'element-plus';
+
+import LogicFlow from '@logicflow/core';
+import { BpmnElement, InsertNodeInPolyline, Menu, MiniMap, SelectionSelect, Snapshot } from '@logicflow/extension';
+import '@logicflow/core/dist/style/index.css';
+import '@logicflow/extension/lib/style/index.css';
+
+import RegisterEdge from './LogicFlow/Register/RegisterEdge';
+import RegisterNode from './LogicFlow/Register/RegisterNode';
+import PanelNode from './LogicFlow/Panel/PanelNode.vue';
+import PanelControl from './LogicFlow/Panel/PanelControl.vue';
+import PanelDataDialog from './LogicFlow/Panel/PanelDataDialog.vue';
+import PropertyDialog from './LogicFlow/Property/PropertyDialog.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { ApprovalFlowApi } from '/@/api-services/_approvalFlow/api';
+import { ApprovalFlowOutput, UpdateApprovalFlowInput } from '/@/api-services/_approvalFlow/models';
+
+var props = defineProps({
+	title: {
+		type: String,
+		default: '',
+	},
+});
+
+const emit = defineEmits(['reloadTable', 'updateFlow']);
+const flowData = ref({});
+const lf = ref<InstanceType<typeof LogicFlow>>();
+
+const drawer = ref(false);
+const direction = ref('rtl');
+const dataVisible = ref(false);
+
+const state = reactive({
+	loading: false,
+	isShowDialog: false,
+	ruleSource: {} as UpdateApprovalFlowInput,
+	nodeData: {},
+	graphData: {},
+});
+
+const openDialog = (row: ApprovalFlowOutput) => {
+	state.ruleSource = row as UpdateApprovalFlowInput;
+	// 鍒濆鍖栨暟鎹�
+	if (state.ruleSource.flowJson) {
+		flowData.value = JSON.parse(state.ruleSource.flowJson);
+	} else {
+		flowData.value = {
+			nodes: [],
+			edges: [],
+		};
+	}
+	state.isShowDialog = true;
+	nextTick(() => {
+		// 鍒濆鍖栫敾甯�
+		initGraph();
+	});
+	console.log('open');
+};
+
+const closeDialog = () => {
+	emit('reloadTable');
+	state.isShowDialog = false;
+	console.log('close');
+};
+
+const cancel = () => {
+	state.isShowDialog = false;
+	console.log('cancel');
+};
+
+// 淇濆瓨娴佺▼璁捐
+const submit = async () => {
+	flowData.value = lf.value?.getGraphData();
+	state.ruleSource.flowJson = JSON.stringify(flowData.value);
+	await getAPI(ApprovalFlowApi).apiApprovalFlowUpdatePost(state.ruleSource);
+	emit('updateFlow', flowData.value);
+	closeDialog();
+};
+
+const initGraph = () => {
+	// 鍒濆鍖栫敾甯�
+	const container: HTMLElement = document.querySelector('#container')!;
+	// 閰嶇疆椤�
+	const config = {
+		stopScrollGraph: true, // 绂佹榧犳爣婊氬姩绉诲姩鐢诲竷
+		stopZoomGraph: true, // 绂佹缂╂斁
+		metaKeyMultipleSelected: true,
+		// 鑳屾櫙缃戞牸澶у皬
+		grid: {
+			size: 10,
+			type: 'dot',
+		},
+		// 蹇嵎閿�
+		keyboard: {
+			enabled: true,
+		},
+		// 杈呭姪绾�
+		snapline: true,
+	};
+	lf.value = new LogicFlow({
+		...config,
+		plugins: [
+			BpmnElement,
+			// 浣滄爧鑺傜偣鑷姩鎻掑叆杈�
+			InsertNodeInPolyline,
+			// 鍙抽敭鑿滃崟
+			Menu,
+			// 杩蜂綘鍥�
+			MiniMap,
+			// 妗嗛��
+			SelectionSelect,
+			// 蹇収
+			Snapshot,
+		],
+		container: container,
+		width: container.clientWidth,
+		height: container.clientHeight,
+	});
+	// 璁剧疆涓婚
+	lf.value.setTheme({
+		snapline: {
+			stroke: '#1E90FF', // 瀵归綈绾块鑹�
+			strokeWidth: 1, // 瀵归綈绾垮搴�
+		},
+	});
+	// 娉ㄥ唽鑷畾涔夎妭鐐�
+	RegisterNode.Register(lf.value);
+	// 娉ㄥ唽鑷畾涔夎竟
+	RegisterEdge.Register(lf.value);
+	// 鐩戝惉鑺傜偣鐐瑰嚮浜嬩欢
+	lf.value.on('node:click', ({ data }) => {
+		state.nodeData = data;
+		drawer.value = true;
+	});
+	// 鐩戝惉杈圭偣鍑讳簨浠�
+	lf.value.on('edge:click', ({ data }) => {
+		state.nodeData = data;
+		drawer.value = true;
+	});
+	// 娓叉煋鏁版嵁
+	lf.value.render(flowData.value);
+	// 鐢诲竷灞呬腑
+	lf.value.focusOn({ coordinate: { x: 300, y: 300 } });
+};
+
+// 妗嗛��
+const change = (val: boolean) => {
+	if (val) {
+		lf.value?.extension.selectionSelect.openSelectionSelect();
+	} else {
+		lf.value?.extension.selectionSelect.closeSelectionSelect();
+	}
+};
+
+// 鑾峰彇鏁版嵁
+const getData = () => {
+	var data = lf.value?.getGraphData();
+	state.graphData = data;
+	dataVisible.value = true;
+};
+
+// 鍏抽棴灞炴�х晫闈㈡彁閱�
+const handleClose = (done: () => void) => {
+	ElMessageBox.confirm('纭瑕佸叧闂綋鍓嶅睘鎬х紪杈�?')
+		.then(() => {
+			done();
+		})
+		.catch(() => {
+			// catch error
+		});
+};
+
+defineExpose({ openDialog });
+</script>
+
+<style scoped lang="scss">
+:deep(.el-tabs__nav-scroll) {
+	width: 70%;
+	margin: 0 auto;
+}
+.flow-container {
+	:deep(.el-dialog) {
+		.el-dialog__header {
+			display: none !important;
+		}
+		.el-dialog__body {
+			max-height: calc(100vh - 45px) !important;
+		}
+	}
+}
+.f-content {
+	display: flex;
+	flex-grow: 1;
+	z-index: 1;
+	margin: -2px -19px -20px -19px;
+	height: calc(100vh - 100px) !important;
+
+	.f-container {
+		flex-grow: 1;
+		position: relative;
+
+		.f-switch {
+			position: absolute;
+			z-index: 2;
+			top: -22px;
+			left: 5px;
+
+			.el-switch {
+				margin-right: 10px;
+			}
+		}
+
+		.el-drawer {
+			height: 80%;
+			overflow: auto;
+			margin-top: -30px;
+			z-index: !important;
+		}
+
+		.f-container-c {
+			position: absolute;
+			width: 100%;
+			height: 100%;
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/editFormDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/editFormDialog.vue
new file mode 100644
index 0000000..98f7b57
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/component/editFormDialog.vue
@@ -0,0 +1,154 @@
+<template lang="">
+	<div class="flow-container">
+		<el-dialog v-model="state.isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳畾浣嶅櫒" prop="configId">
+							<el-select v-model="state.ruleForm.configId" placeholder="搴撳悕" filterable @change="dbChanged()" class="w100">
+								<el-option v-for="item in state.dbData" :key="item.configId" :label="item.configId" :value="item.configId" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="琛ㄥ畾浣嶅櫒" prop="tableName" :rules="[{ required: true, message: '琛ㄥ畾浣嶅櫒涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-select v-model="state.ruleForm.tableName" @change="tableChanged" value-key="value" filterable clearable class="w100">
+								<el-option v-for="item in state.tableData" :key="item.name" :label="item.name + ' [ ' + item.description + ' ]'" :value="item" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎿嶄綔" prop="typeName" :rules="[{ required: true, message: '鎿嶄綔涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-select v-model="state.ruleForm.typeName" @change="typeChanged" value-key="value" filterable clearable class="w100">
+								<el-option v-for="item in state.typeData" :key="item.name" :label="item.name + ' [ ' + item.description + ' ]'" :value="item" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script setup lang="ts">
+import { reactive, ref, onMounted } from 'vue';
+import type { FormRules } from 'element-plus';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { ApprovalFlowApi } from '/@/api-services/_approvalFlow/api';
+import { ApprovalFlowOutput, UpdateApprovalFlowInput } from '/@/api-services/_approvalFlow/models';
+import { SysDatabaseApi, SysCodeGenApi } from '/@/api-services/api';
+import { DbTableInfo } from '/@/api-services/models';
+
+var props = defineProps({
+	title: {
+		type: String,
+		default: '',
+	},
+});
+
+const emit = defineEmits(['reloadTable']);
+const ruleFormRef = ref();
+
+const state = reactive({
+	loading: false,
+	isShowDialog: false,
+	ruleSource: {} as UpdateApprovalFlowInput,
+	ruleForm: {} as any,
+	dbData: [] as any,
+	tableData: [] as Array<DbTableInfo>,
+	typeData: [
+		{
+			name: 'add',
+			value: 'add',
+			description: '鏂板',
+		},
+		{
+			name: 'update',
+			value: 'update',
+			description: '鏇存柊',
+		},
+		{
+			name: 'delete',
+			value: 'delete',
+			description: '鍒犻櫎',
+		},
+		{
+			name: 'select',
+			value: 'select',
+			description: '鏌ヨ',
+		},
+		{
+			name: 'export',
+			value: 'export',
+			description: '瀵煎嚭',
+		},
+	],
+});
+
+const rules = ref<FormRules>({});
+
+onMounted(async () => {
+	var resDb = await getAPI(SysCodeGenApi).apiSysCodeGenDatabaseListGet();
+	state.dbData = resDb.data.result;
+});
+
+const openDialog = (row: ApprovalFlowOutput) => {
+	state.ruleSource = row as UpdateApprovalFlowInput;
+	state.ruleForm = row.formJson ? JSON.parse(row.formJson) : {};
+	state.isShowDialog = true;
+};
+
+const closeDialog = () => {
+	emit('reloadTable');
+	state.isShowDialog = false;
+};
+
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+const submit = () => {
+	state.ruleSource.formJson = JSON.stringify(state.ruleForm);
+	closeDialog();
+};
+
+// db鏀瑰彉
+const dbChanged = async () => {
+	if (state.ruleForm.configId === '') return;
+
+	var res = await getAPI(SysDatabaseApi).apiSysDatabaseTableListConfigIdGet(state.ruleForm.configId);
+	state.tableData = res.data.result ?? [];
+};
+
+// table鏀瑰彉
+const tableChanged = (item: any) => {
+	state.ruleForm.tableName = item.name;
+};
+
+// type鏀瑰彉
+const typeChanged = (item: any) => {
+	state.ruleForm.typeName = item.name;
+};
+
+defineExpose({ openDialog });
+</script>
+
+<style scoped lang="scss">
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/index.vue b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/index.vue
new file mode 100644
index 0000000..973632e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/approvalFlow/index.vue
@@ -0,0 +1,219 @@
+锘�<template>
+	<div class="labApprovalFlow-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="state.queryParams" ref="queryForm">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+						<el-form-item label="鍏抽敭瀛�">
+							<el-input v-model="state.queryParams.searchKey" placeholder="璇疯緭鍏ユā绯婃煡璇㈠叧閿瓧" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+						<el-form-item label="缂栧彿">
+							<el-input v-model="state.queryParams.code" placeholder="璇疯緭鍏ョ紪鍙�" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+						<el-form-item label="鍚嶇О">
+							<el-input v-model="state.queryParams.name" placeholder="璇疯緭鍏ュ悕绉�" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+						<el-form-item label="澶囨敞">
+							<el-input v-model="state.queryParams.remark" placeholder="璇疯緭鍏ュ娉�" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb10">
+						<el-form-item>
+							<el-button-group>
+								<el-button type="primary" icon="ele-Search" @click="handleQuery"> 鏌ヨ </el-button>
+								<el-button icon="ele-Refresh" @click="() => (state.queryParams = {})"> 閲嶇疆 </el-button>
+							</el-button-group>
+							<el-button type="primary" icon="ele-Plus" @click="openAddApprovalFlow" style="margin-left: 30px"> 鏂板 </el-button>
+							<el-button icon="ele-ArrowDown" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left: 5px" text> </el-button>
+							<el-button icon="ele-ArrowUp" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left: 5px" text> </el-button>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</el-card>
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table :data="state.tableData" style="width: 100%" v-loading="state.loading" row-key="id" border="">
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+				<el-table-column prop="code" label="缂栧彿" width="140" show-overflow-tooltip="" />
+				<el-table-column prop="name" label="鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="formJson" label="琛ㄥ崟" align="center" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditFormDialog(scope.row)"> 琛ㄥ崟 </el-button>
+					</template>
+				</el-table-column>
+				<el-table-column prop="flowJson" label="娴佺▼" align="center" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditFlowDialog(scope.row)"> 娴佺▼ </el-button>
+					</template>
+				</el-table-column>
+				<el-table-column label="淇敼璁板綍" width="100" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<ModifyRecord :data="scope.row" />
+					</template>
+				</el-table-column>
+				<el-table-column label="鎿嶄綔" width="200" align="center" fixed="right" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-button icon="ele-View" size="small" text="" type="primary" @click="openDetailDialog(scope.row)"> 鏌ョ湅 </el-button>
+						<el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditApprovalFlow(scope.row)"> 缂栬緫 </el-button>
+						<el-button icon="ele-Delete" size="small" text="" type="primary" @click="delApprovalFlow(scope.row)"> 鍒犻櫎 </el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="state.tableParams.page"
+				v-model:page-size="state.tableParams.pageSize"
+				:total="state.tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+		</el-card>
+
+		<detailDialog ref="detailDialogRef" :title="state.dialogTitle" @reloadTable="handleQuery" />
+		<printDialog ref="printDialogRef" :title="state.dialogTitle" @reloadTable="handleQuery" />
+		<editDialog ref="editDialogRef" :title="state.dialogTitle" @reloadTable="handleQuery" />
+		<editFormDialog ref="editFormDialogRef" :title="state.dialogTitle" @reloadTable="handleQuery" />
+		<editFlowDialog ref="editFlowDialogRef" :title="state.dialogTitle" @updateFlow="handleFlow" @reloadTable="handleQuery" />
+	</div>
+</template>
+
+<script lang="ts" setup="" name="approvalFlow">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+// import { auth } from '/@/utils/authFunction';
+
+import printDialog from '/@/views/system/print/component/hiprint/preview.vue';
+import editFormDialog from './component/editFormDialog.vue';
+import detailDialog from './component/detailDialog.vue';
+import editFlowDialog from './component/editFlowDialog.vue';
+import editDialog from './component/editDialog.vue';
+import ModifyRecord from '/@/components/table/modifyRecord.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { ApprovalFlowApi } from '/@/api-services/_approvalFlow/api';
+import { ApprovalFlowInput, ApprovalFlowOutput } from '/@/api-services/_approvalFlow/models';
+
+const showAdvanceQueryUI = ref(false);
+
+const detailDialogRef = ref();
+const editFormDialogRef = ref();
+const editFlowDialogRef = ref();
+const printDialogRef = ref();
+const editDialogRef = ref();
+
+const state = reactive({
+	loading: false,
+	tableData: [] as Array<ApprovalFlowOutput>,
+	queryParams: {} as ApprovalFlowInput,
+	tableParams: {
+		page: 1,
+		pageSize: 200,
+		total: 0 as any,
+	},
+	dialogTitle: '',
+});
+
+onMounted(async () => {
+	handleQuery();
+});
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUI = () => {
+	showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+};
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.loading = true;
+	let params = Object.assign(state.queryParams, state.tableParams);
+	var res = await getAPI(ApprovalFlowApi).apiApprovalFlowPagePost(params);
+	state.tableData = res.data.result?.items ?? [];
+	state.tableParams.total = res.data.result?.total;
+	state.loading = false;
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddApprovalFlow = () => {
+	state.dialogTitle = '娣诲姞瀹℃壒娴�';
+	editDialogRef.value.openDialog({ status: 1 });
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditApprovalFlow = (row: ApprovalFlowOutput) => {
+	state.dialogTitle = '缂栬緫瀹℃壒娴�';
+	editDialogRef.value.openDialog(row);
+};
+
+// 鎵撳紑鎵撳嵃椤甸潰
+const openEditDialog = (row: ApprovalFlowOutput) => {
+	state.dialogTitle = '缂栬緫瀹℃壒娴�';
+	editDialogRef.value.openDialog(row);
+};
+
+// 鎵撳紑鎵撳嵃椤甸潰
+const openDetailDialog = (row: ApprovalFlowOutput) => {
+	state.dialogTitle = '鏌ョ湅瀹℃壒娴�';
+	detailDialogRef.value.openDialog(row);
+};
+
+const openEditFormDialog = (row: ApprovalFlowOutput) => {
+	state.dialogTitle = '缂栬緫琛ㄥ崟';
+	editFormDialogRef.value.openDialog(row);
+};
+
+const openEditFlowDialog = (row: ApprovalFlowOutput) => {
+	state.dialogTitle = '缂栬緫娴佺▼';
+	editFlowDialogRef.value.openDialog(row);
+};
+
+const handleFlow = (json: string) => {
+	console.log(JSON.stringify(json));
+	handleQuery();
+};
+
+// 鍒犻櫎
+const delApprovalFlow = (row: ApprovalFlowOutput) => {
+	ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			if (row.id) {
+				await getAPI(ApprovalFlowApi).apiApprovalFlowDeletePost({ id: row.id });
+				handleQuery();
+				ElMessage.success('鍒犻櫎鎴愬姛');
+			}
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+	state.tableParams.pageSize = val;
+	handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+	state.tableParams.page = val;
+	handleQuery();
+};
+</script>
+
+<style scoped>
+:deep(.el-ipnut),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/error/401.vue b/LA24030_LuLiPackageLine_Web/src/views/error/401.vue
new file mode 100644
index 0000000..bdf9b94
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/error/401.vue
@@ -0,0 +1,89 @@
+<template>
+	<div class="error layout-padding">
+		<div class="layout-padding-auto layout-padding-view">
+			<div class="error-flex">
+				<div class="left">
+					<div class="left-item">
+						<div class="left-item-animation left-item-num">401</div>
+						<div class="left-item-animation left-item-title">{{ $t('message.noAccess.accessTitle') }}</div>
+						<div class="left-item-animation left-item-msg">{{ $t('message.noAccess.accessMsg') }}</div>
+						<div class="left-item-animation left-item-btn">
+							<el-button type="primary" size="default" round @click="onSetAuth">{{ $t('message.noAccess.accessBtn') }}</el-button>
+						</div>
+					</div>
+				</div>
+				<div class="right">
+					<img src="https://i.hd-r.cn/2cf0d2e192660eec23eb9d0655753e7d.png" />
+				</div>
+			</div>
+		</div>
+	</div>
+</template>
+
+<script setup lang="ts" name="noPower">
+import { Session } from '/@/utils/storage';
+
+const onSetAuth = () => {
+	// https://gitee.com/lyt-top/vue-next-admin/issues/I5C3JS
+	// 娓呴櫎缂撳瓨/token绛�
+	Session.clear();
+	// 浣跨敤 reload 鏃讹紝涓嶉渶瑕佽皟鐢� resetRoute() 閲嶇疆璺敱
+	window.location.reload();
+};
+</script>
+
+<style scoped lang="scss">
+.error {
+	height: 100%;
+	.error-flex {
+		margin: auto;
+		display: flex;
+		height: 350px;
+		width: 900px;
+		.left {
+			flex: 1;
+			height: 100%;
+			align-items: center;
+			display: flex;
+			.left-item {
+				.left-item-animation {
+					opacity: 0;
+					animation-name: error-num;
+					animation-duration: 0.5s;
+					animation-fill-mode: forwards;
+				}
+				.left-item-num {
+					color: var(--el-color-info);
+					font-size: 55px;
+				}
+				.left-item-title {
+					font-size: 20px;
+					color: var(--el-text-color-primary);
+					margin: 15px 0 5px 0;
+					animation-delay: 0.1s;
+				}
+				.left-item-msg {
+					color: var(--el-text-color-secondary);
+					font-size: 12px;
+					margin-bottom: 30px;
+					animation-delay: 0.2s;
+				}
+				.left-item-btn {
+					animation-delay: 0.2s;
+				}
+			}
+		}
+		.right {
+			flex: 1;
+			opacity: 0;
+			animation-name: error-img;
+			animation-duration: 2s;
+			animation-fill-mode: forwards;
+			img {
+				width: 100%;
+				height: 100%;
+			}
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/error/404.vue b/LA24030_LuLiPackageLine_Web/src/views/error/404.vue
new file mode 100644
index 0000000..0c1ed44
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/error/404.vue
@@ -0,0 +1,89 @@
+<template>
+	<div class="error layout-padding">
+		<div class="layout-padding-auto layout-padding-view">
+			<div class="error-flex">
+				<div class="left">
+					<div class="left-item">
+						<div class="left-item-animation left-item-num">404</div>
+						<div class="left-item-animation left-item-title">{{ $t('message.notFound.foundTitle') }}</div>
+						<div class="left-item-animation left-item-msg">{{ $t('message.notFound.foundMsg') }}</div>
+						<div class="left-item-animation left-item-btn">
+							<el-button type="primary" size="default" round @click="onGoHome">{{ $t('message.notFound.foundBtn') }}</el-button>
+						</div>
+					</div>
+				</div>
+				<div class="right">
+					<img src="https://i.hd-r.cn/1a0d90a6c1e8b0184c7299dda713effd.png" />
+				</div>
+			</div>
+		</div>
+	</div>
+</template>
+
+<script setup lang="ts" name="notFound">
+import { useRouter } from 'vue-router';
+
+// 瀹氫箟鍙橀噺鍐呭
+const router = useRouter();
+
+// 杩斿洖棣栭〉
+const onGoHome = () => {
+	router.push('/');
+};
+</script>
+
+<style scoped lang="scss">
+.error {
+	height: 100%;
+	.error-flex {
+		margin: auto;
+		display: flex;
+		height: 350px;
+		width: 900px;
+		.left {
+			flex: 1;
+			height: 100%;
+			align-items: center;
+			display: flex;
+			.left-item {
+				.left-item-animation {
+					opacity: 0;
+					animation-name: error-num;
+					animation-duration: 0.5s;
+					animation-fill-mode: forwards;
+				}
+				.left-item-num {
+					color: var(--el-color-info);
+					font-size: 55px;
+				}
+				.left-item-title {
+					font-size: 20px;
+					color: var(--el-text-color-primary);
+					margin: 15px 0 5px 0;
+					animation-delay: 0.1s;
+				}
+				.left-item-msg {
+					color: var(--el-text-color-secondary);
+					font-size: 12px;
+					margin-bottom: 30px;
+					animation-delay: 0.2s;
+				}
+				.left-item-btn {
+					animation-delay: 0.2s;
+				}
+			}
+		}
+		.right {
+			flex: 1;
+			opacity: 0;
+			animation-name: error-img;
+			animation-duration: 2s;
+			animation-fill-mode: forwards;
+			img {
+				width: 100%;
+				height: 100%;
+			}
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/home/index.vue b/LA24030_LuLiPackageLine_Web/src/views/home/index.vue
new file mode 100644
index 0000000..20d3c5e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/home/index.vue
@@ -0,0 +1,835 @@
+<template>
+	<div class="home-container layout-pd">
+		<el-row :gutter="15" class="home-card-one mb15">		
+			<el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8" class="home-media home-media-lg">
+				<div class="home-card-item flex">
+					<div class="flex-margin flex w100" :class="` home-one-animation${1}`">
+						<div class="flex-auto">
+							<span class="ml5 font16">褰撴棩璁㈠崟鎬绘暟</span>
+							<div class="font30">{{state.orderNum}}</div>
+						</div>
+					</div>
+				</div>
+			</el-col>
+			<el-col :xs="24" :sm="8" :md="8" :lg="8" :xl="8" v-for="(v, k) in state.homeOne" :key="k" :class="{ 'home-media home-media-lg': k > 1, 'home-media-sm': k === 1 }">
+				<div class="home-card-item flex">
+					<div class="flex-margin flex w100" :class="` home-one-animation${k}`">
+						<div class="flex-auto">							
+							<div class="mt10">{{ v.num3 }}</div>
+							<span class="font30">{{ v.num2 }}</span>
+							<div class="font16" :style="{ color: v.color1 }">宸插畬鎴恵{ v.num1 }}</div>						
+						</div>
+						<div class="home-card-item-icon flex">
+							<el-progress type="circle" width="80" :stroke-width="10" :percentage="v.numA" :color="v.color1"/>						
+						</div>
+					</div>
+				</div>
+			</el-col>
+		</el-row>
+		<el-row :gutter="15" class="home-card-two mb15">
+			<el-col :xs="24" :sm="14" :md="14" :lg="16" :xl="16">
+				<div class="home-card-item">
+					<div style="height: 100%" ref="homeLineRef"></div>
+				</div>
+			</el-col>
+			<el-col :xs="24" :sm="10" :md="10" :lg="8" :xl="8" class="home-media">
+
+				<div class="home-card-item">
+					<div class="home-card-item-title">蹇嵎瀵艰埅宸ュ叿</div>
+					<div class="home-monitor">
+						<div class="flex-warp">
+							<div class="flex-warp-item" v-for="(v, k) in state.homeThree" :key="k" @click="routerJupm(v)">
+								<div class="flex-warp-item-box" :class="`home-animation${k}`">
+									<div class="flex-margin">
+										<i :class="v.icon" :style="{ color: v.iconColor }"></i>
+										<span class="pl5">{{ v.label }}</span>
+										<div class="mt10">{{ v.value }}</div>
+									</div>
+								</div>
+							</div>
+						</div>
+					</div>
+				</div>
+
+			
+			</el-col>
+		</el-row>
+		<el-row :gutter="15" class="home-card-three">
+			<el-col :xs="24" :sm="10" :md="10" :lg="8" :xl="8">
+				<div class="home-card-item">					
+					<div style="height: 100%" ref="homePieRef"></div>
+				</div>
+			</el-col>
+			<el-col :xs="24" :sm="14" :md="14" :lg="16" :xl="16" class="home-media">
+				<div class="home-card-item" >					
+					<el-tabs v-model="activeName" @tab-click="handleClick" :lazy="true">	
+						<el-tab-pane label="鏃�" name="1">
+							<div class="home-card-item" >					
+								<div style="height: 100%" ref="homeBarRef" id="homeBarRef" v-if="activeName=='1'"></div>
+							</div>
+						</el-tab-pane>
+						<el-tab-pane label="鍛�" name="2">
+							<div class="home-card-item" >					
+								<div style="height: 100%" ref="homeBarRef" id="homeBarRef" v-if="activeName=='2'"></div>
+							</div>
+						</el-tab-pane>
+						<el-tab-pane label="鏈�" name="3">
+							<div class="home-card-item" >					
+								<div style="height: 100%" ref="homeBarRef" id="homeBarRef" v-if="activeName=='3'"></div>
+							</div>
+						</el-tab-pane>
+					</el-tabs>
+				</div>			
+			</el-col>
+		</el-row>
+	</div>
+</template>
+
+<script setup lang="ts" name="home">
+import { reactive, onMounted, ref, watch, nextTick, onActivated, markRaw, onUnmounted } from 'vue';
+import * as echarts from 'echarts';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
+import { wmsStockPassMap,wmsHomePageQuery,wmsHomePlaceQuery,wmsTransitionDiagramQuery } from '/@/api/main/inventoryWarning/inventoryWarning';
+import type { TabsPaneContext } from 'element-plus'
+import { useRoute, useRouter } from 'vue-router';
+const router = useRouter();
+// 鎺ュ彛鏁版嵁
+const loadingwms = ref(false);
+// 鏌ヨ
+const handleQuery1 = async () => {
+    loadingwms.value = true;
+    var res = await wmsHomePageQuery();
+    if(res.data.type=="success"){	
+		let result = res.data.result || [];
+		state.orderNum = result.allOrderNumber || 0
+		state.homeOne[0].num1 = result.outtingPlaceNumber || 0
+		state.homeOne[0].num2 = result.allOuttingNumber || 0
+		state.homeOne[0].numA = Math.round((result.outtingPlaceNumber || 0) / (result.allOuttingNumber || 0) * 10000) / 100 || 0
+		state.homeOne[1].num1 = result.warehousingNumber || 0
+		state.homeOne[1].num2 = result.allWarehousingNumber || 0
+		state.homeOne[1].numA = Math.round((result.warehousingNumber || 0) / (result.allWarehousingNumber || 0)* 10000) / 100 || 0
+	
+	}
+    loadingwms.value = false;
+};
+const handleQuery2 = async () => {
+loadingwms.value = true;
+var res = await wmsHomePlaceQuery();
+if(res.data.type=="success"){
+	let result = res.data.result || {};	
+	nextTick(() => {
+		setTimeout(() => {
+			initPieChart(result);
+		}, 500);
+	});
+}
+loadingwms.value = false;
+};
+const dataAll = ref({
+	arr1:[],
+	arr2:[],
+	arr3:[],
+	arr4:[],
+	arr5:[]
+})
+const handleQuery3 = async (val:any) => {
+	dataAll.value.arr1 = [];
+	dataAll.value.arr2 = [];
+	dataAll.value.arr3 = [];
+	dataAll.value.arr4 = [];
+	dataAll.value.arr5 = [];
+	loadingwms.value = true;
+	let para = {DayOrWeekOrMonth:Number(val)}
+	var res = await wmsStockPassMap(para);
+	if(res.data.type=="success"){	
+		let result = res.data.result || [];
+		result.forEach((item:any,index:number) => {			
+			dataAll.value.arr1.push({value:item.inWare,stationName:'s'+item.time})
+			dataAll.value.arr2.push({value:item.outWare,stationName:'s'+item.time})
+			dataAll.value.arr3.push({value:item.stockNum,stationName:'s'+item.time})	
+			dataAll.value.arr4.push({value:item.aveStockNum,stationName:'s'+item.time})		
+			dataAll.value.arr5.push(item.date)		
+		})	
+		nextTick(() => {
+			setTimeout(() => {
+				if (!state.global.dispose.some((b: any) => b === state.global.homeCharThree)) state.global.homeCharThree.dispose();
+				initChart()
+			}, 500);
+		});
+	}
+	loadingwms.value = false;
+};
+const handleQuery4 = async () => {
+loadingwms.value = true;
+var res = await wmsTransitionDiagramQuery();
+if(res.data.type=="success"){
+	let arr1: any[] = [];
+	let arr2: any = [];
+	let arrA: any = [];
+	let result = res.data.result || [];
+	result.forEach((item:any,index:number) => {			
+		arr1.push(item.receiptNumber)
+		arr2.push(item.deliveryNumber)		
+		arrA.push(item.day.slice(0, 10))		
+	})
+	nextTick(() => {
+		setTimeout(() => {
+			initLineChart(arr1,arr2,arrA);
+		}, 500);
+	});
+}
+loadingwms.value = false;
+};  
+handleQuery1();
+handleQuery2();
+handleQuery3('1');
+handleQuery4();
+const activeName = ref('1')
+const handleClick = (tab: TabsPaneContext, event: Event) => {
+  handleQuery3(tab.props.name);
+}
+
+// 瀹氫箟鍙橀噺鍐呭
+const homeLineRef = ref();
+const homePieRef = ref();
+const homeBarRef = ref();
+const storesTagsViewRoutes = useTagsViewRoutes();
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const { isTagsViewCurrenFull } = storeToRefs(storesTagsViewRoutes);
+const state = reactive({
+	orderNum:{},
+	global: {
+		homeChartOne: null,
+		homeChartTwo: null,
+		homeCharThree: null,
+		dispose: [null, '', undefined],
+	} as any,
+	homeOne: [
+		{
+			num1: '0',
+			num2: '0',
+			numA:0,
+			num3: '鍑哄簱鍗曟暟',
+			num4: 'fa fa-meetup',
+			color1: '#FF6462',
+			color2: '--next-color-primary-lighter',
+			color3: '--el-color-primary',
+			//status:exception
+		},
+		{
+			num1: '0',
+			num2: '0',
+			numA:0,
+			num3: '鍏ュ簱鍗曟暟',
+			num4: 'iconfont icon-ditu',
+			color1: '#6690F9',
+			color2: '--next-color-success-lighter',
+			color3: '--el-color-success',
+		},
+		// {
+		// 	num1: '125,65',
+		// 	num2: '+17.32',
+		// 	num3: '骞村害璁″垝淇℃伅',
+		// 	num4: 'iconfont icon-zaosheng',
+		// 	color1: '#6690F9',
+		// 	color2: '--next-color-warning-lighter',
+		// 	color3: '--el-color-warning',
+		// },
+		// {
+		// 	num1: '520,43',
+		// 	num2: '-10.01',
+		// 	num3: '璁块棶缁熻淇℃伅',
+		// 	num4: 'fa fa-github-alt',
+		// 	color1: '#FF6462',
+		// 	color2: '--next-color-danger-lighter',
+		// 	color3: '--el-color-danger',
+		// },
+	],
+	homeThree: [
+		{
+			icon: 'iconfont icon-yangan',
+			// label: '娴呯矇绾�',
+			label: '鍩虹鏁版嵁',
+			value: '搴撲綅淇℃伅',
+			route:'/wmsbase/wmsplace',
+			// value: '2.1%OBS/M',
+			iconColor: '#F72B3F',
+		},
+		{
+			icon: 'iconfont icon-wendu',
+			// label: '娣辩孩(鐚╃孩)',
+			label: '鍗曟嵁绠$悊',
+			value: '涓婃灦鍗�',
+			route:'/wmsOrder/wmsordermovement',
+			// value: '30鈩�',
+			iconColor: '#91BFF8',
+		},
+		{
+			icon: 'iconfont icon-shidu',
+			label: '鎶ヨ〃涓績',
+			// label: '娣$传绾�',
+			// value: '57%RH',
+			value: '搴撲綅瑙嗗浘',
+			route:'/reportCenter/storageView',
+			iconColor: '#88D565',
+		},
+		{
+			icon: 'iconfont icon-shidu',
+			// label: '寮辩传缃楀叞绾�',
+			label: '鐩樼偣绠$悊',
+			value: '鐩樼偣鍗曟嵁',
+			// value: '107w',
+			route:'/Check/wmsinventorycheckorder',
+			iconColor: '#88D565',
+		},
+		{
+			icon: 'iconfont icon-zaosheng',
+			label: '鎵撳嵃涓績',
+			// label: '涓传缃楀叞绾�',
+			value: '璺熻釜鐮佹墦鍗�',
+			// value: '57DB',
+			route:'/printCenter/wmsstockquanPrint',
+			iconColor: '#FBD4A0',
+		},
+		// {
+		// 	icon: 'iconfont icon-zaosheng',
+		// 	label: '绱綏鍏�',
+		// 	value: '57PV',
+		// 	iconColor: '#FBD4A0',
+		// },
+		// {
+		// 	icon: 'iconfont icon-zaosheng',
+		// 	label: '鏆楃传缃楀叞',
+		// 	value: '517Cpd',
+		// 	iconColor: '#FBD4A0',
+		// },
+		// {
+		// 	icon: 'iconfont icon-zaosheng',
+		// 	label: '骞界伒鐧�',
+		// 	value: '12kg',
+		// 	iconColor: '#FBD4A0',
+		// },
+		// {
+		// 	icon: 'iconfont icon-zaosheng',
+		// 	label: '娴峰啗钃�',
+		// 	value: '64fm',
+		// 	iconColor: '#FBD4A0',
+		// },
+	],
+	myCharts: [] as EmptyArrayType,
+	charts: {
+		theme: '',
+		bgColor: '',
+		color: '#303133',
+	},
+});
+
+// 鎶樼嚎鍥�
+const initLineChart = (arr1:any,arr2:any,arrA:any) => {
+	if (!state.global.dispose.some((b: any) => b === state.global.homeChartOne)) state.global.homeChartOne.dispose();
+	state.global.homeChartOne = markRaw(echarts.init(homeLineRef.value, state.charts.theme));
+	const option = {
+		backgroundColor: state.charts.bgColor,
+		title: {
+			text: '鏈�杩�7澶╂敹鍙戣揣鎺ㄧЩ鍥�',
+			x: 'left',
+			textStyle: { fontSize: '15', color: state.charts.color },
+		},
+		grid: { top: 70, right: 20, bottom: 30, left: 30 },
+		tooltip: { trigger: 'axis' },
+		legend: { data: ['鏀惰揣', '鍙戣揣'], right: 0 },
+		xAxis: {
+			data: arrA,
+		},
+		yAxis: [
+			{
+				type: 'value',
+				name: '鍗曚綅',
+				splitLine: { show: true, lineStyle: { type: 'dashed', color: '#f5f5f5' } },
+			},
+		],
+		series: [
+			{
+				name: '鏀惰揣',
+				type: 'bar',
+				symbolSize: 6,
+				symbol: 'circle',
+				smooth: true,
+				data: arr1,
+				lineStyle: { color: '#fe9a8b' },
+				itemStyle: { color: '#fe9a8b', borderColor: '#fe9a8b' },
+				areaStyle: {
+					color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+						{ offset: 0, color: '#fe9a8bb3' },
+						{ offset: 1, color: '#fe9a8b03' },
+					]),
+				},
+			},
+			{
+				name: '鍙戣揣',
+				type: 'bar',
+				symbolSize: 6,
+				symbol: 'circle',
+				smooth: true,
+				data: arr2,
+				lineStyle: { color: '#9E87FF' },
+				itemStyle: { color: '#9E87FF', borderColor: '#9E87FF' },
+				areaStyle: {
+					color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+						{ offset: 0, color: '#9E87FFb3' },
+						{ offset: 1, color: '#9E87FF03' },
+					]),
+				},
+				emphasis: {
+					itemStyle: {
+						color: {
+							type: 'radial',
+							x: 0.5,
+							y: 0.5,
+							r: 0.5,
+							colorStops: [
+								{ offset: 0, color: '#9E87FF' },
+								{ offset: 0.4, color: '#9E87FF' },
+								{ offset: 0.5, color: '#fff' },
+								{ offset: 0.7, color: '#fff' },
+								{ offset: 0.8, color: '#fff' },
+								{ offset: 1, color: '#fff' },
+							],
+						},
+						borderColor: '#9E87FF',
+						borderWidth: 2,
+					},
+				},
+			},
+		],
+	};
+	state.global.homeChartOne.setOption(option);
+	state.myCharts.push(state.global.homeChartOne);
+};
+// 楗煎浘
+const initPieChart = (arr:any) => {
+	if(arr==null) return false;
+	if (!state.global.dispose.some((b: any) => b === state.global.homeChartTwo)) state.global.homeChartTwo.dispose();
+	state.global.homeChartTwo = markRaw(echarts.init(homePieRef.value, state.charts.theme));
+	var getname = ['绌哄簱浣嶆暟閲�', '绌哄鍣ㄥ簱浣嶆暟閲�', '瀛樿揣鏁伴噺','鎬诲簱浣嶏細1000'];
+	var getvalue = [arr.emptyPlaceNumber,arr.containerPlaceNumber, arr.stockPlaceNumber];
+	var data = [];
+	for (var i = 0; i < getname.length-1; i++) {
+		data.push({ name: getname[i], value: getvalue[i] });
+	}
+	const colorList = ['#51A3FC', '#36C78B', '#FEC279', '#968AF5', '#E790E8'];
+	const option = {
+		backgroundColor: state.charts.bgColor,
+		title: {
+			text: '搴撲綅鍗犳瘮  鎬诲簱浣嶏細'+arr.allPlaceNumber,
+			x: 'left',
+			textStyle: { fontSize: '15', color: state.charts.color },
+		},
+		tooltip: { trigger: 'item' },
+		// tooltip: { trigger: 'item', formatter: '{b} <br/> {c}%' },
+		graphic: {
+			elements: [
+				{
+					type: 'image',
+					z: -1,
+					style: {
+						image: themeConfig.value.isIsDark
+							? ''
+							: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK0AAACtCAYAAADCr/9DAAAcoElEQVR4Xu19e7wcRZn28/ZM90xXzzknOYEkIAEiBAUUFyFc4wKCCAt8gHhBUEDFG8K3Iri6+3ETL0hQ9FthvYC4gAb0cwFRQcUlKiIIbpRbEBGUREJIyHWmq2e6Z+r9fjU5iQnJOWcuPV195nT/l5yq93nep57p6amueouQXV0rwMzW6tWrS4XCsFvPVQWIyAphKweR3ShUGw2EAwMIAfhE1OgacJIHoEme/7jpM3O+UgnnWFZuDpF6pQJ2JtDOBJ4JwgxmmgbwEABr3GAAM1Ah8CqAVgC8nEBLFWgJQz1Liv7sefZTRBS0EGvSNslMu9nQL1u2TEyZsv3rARygwK8nxuvIwh7McBJ0iL4T/xXgR8DW75nxcL2ef2jKFFqTIIdUQ01q02qTDg5v/wZLqSMZ9I8AtGHtFI6YAmExFO4jsu6N3Ny9Q0SrU8gzEUqTzrSrV8ud7aJ1okW54wg4jJmLiSgdL4i+Gz8Moh9xQ91ZKhUeizd8uqNNCtNKya9QqnYqWdbbAcwF0Fd5M/AnZv5/UFgwMFBYnG7Ldc+urwZvczmY2Q6CxolMfDaYjwKQ616uCRHhd2BcX63at0ybRusnBOM2SfadaYOAd2Wun8PgMwFMb1OPvmlORBUGfw8K13qes6hvEuunr0nfD/dn4gsJdAqAfD8NUpe5MBF+wWR9QRRydxMRdxnPePcJf6etBNGRFvNFDBxuXM20EyA8QWx9xnVz3yMilXa6o/GbsKYNgugNivlzAOZNVPGN8SY8rpgvK7nObRPxzjvhTFsu1/ay8rgKTP9kbND7BZixyLLoQte1F06klCaMadetWzecz7uXg/DB7Jk1bovRD3JW42PFYvHZuCP3Il7qTcvMJKvRe8D0eYC374UIWcymAlUwf14I5/NEVEuzJqk27bp11Tm2bV3HwGFpFrGfuDHwlKLG+wdd97605pVK0+q7axBE/8zAZwGItIrXx7wUA9esWfXiJ2fNmpW6FWepM63v8w6M6EYivKmPTTExUiM8wQ2cXio5j6SJcKpMu96vnZQj6zqAt0uTSJOcS41B/+a5+S+lZXosFaZduJDzcw+MPk/Ax/rpLV1/mZ1+FLn5M6aQ+XW9xk1bLvN0ykXfpeyN1kTw+F9Y4WTTjwtGTavXC4DodoB3mggjlnFsrun0AT5LiML3TelhzLRS1t7KoBuz2QFTQ98VrgLzJZ5X0LM7iV9GTCtl+FEGvtjiZsDERckAW1SAcN1DD9rnHHEE1VvsEUuzxE1bkbX5BPp4LOyzIOYVYP6hEM7biaiaFJnETKtrA8hq9DUw3p9UchlOMgro9bpu0T5BLzxPAjER0zJzTlajG8A4I4mkMozkFSDggWq1cuzw8PC6XqP33LT6DhtUo/9kxrt7nUwW37gCD/iVtUdPnz69p3fcnpvW98PrQXifcTkzAokoQET3rnpp+fG9XLPQU9NKGX2RwfotV3ZNIgWY+S5POCcRUdSLtHtm2oqMLiTwVb0gncVMvwIM3Oq59mm9WK/QE9NKWX8HQy2YZPOwzIz1ROQDqqbvMrp4HYAiQLqKjS5SN1lqLzQ/VQSeL0ThE3F/xGI3rZTRwQzWe44KcZM1Ha9ZS4D5CRAeJcZitqxnuK6WAOGLnue9RDT6JLv+QVoul4cLhYHpzPVZjQbvRkSvAngfxdiHCMOm8+sBPoNwtuc6N8QZO1bTrpJyVhH2wwDPiJOkqVjMWG0R7mELv2LLvt+z8Vivtl5Xq9XdmfOHKqh5YD4GoL5Yj0GEEExHCmH/Oq5xjM20upCbDCK9RWP/uMiZiEOEv0DXxYJ1h+vmHzJVBLlcq72GFE4gJl1/7B9MaBEj5ouE+v5CiL/FETM20/p+eJ3+KoiDVNIxGCgT4RZifEsI58Gk8cfDq1Z5j7oK30OwzgR4h/Hap/TvDwjXPiyOGYVYTFsJwncT46aUijUqLQKeZsaXhLBvTuoVZDca6R92QdA4iaEuAHBQN7FM9CXQ1ULYmntXV9emXVetzrHZ+h9mDHTFJMHOzHiEiS8vuc4dvXpG7XU6UkaHKlaXENHRvcaKMT6DreM9L39XNzG7Mq3+5Mugfj/AB3RDIqm+uo6rBesi1819vxfzh0nlsTmOlNE8Bl8xccpD0YvCzb+WiFZ2qldXpvWD6FIwX9YpeFL9mLHWIvq06+avISJ9ykzfXXpuHFBXMrBL2pMj0B1C2Cd3yrNj01Yq4T+QhYdSekbBZnrwf4Hr53me90KnIk2UfsuXL/dKg8OXE/DPaX+RwcTvKrmF73SibUembS41DCJtWH2wRiovZqxQxB8aFIXbU0mwh6R8358L2P8Jwl49hOkyNL2kGvm9Bgbaf0zoyLRSRh9jsN4uk86L+W6lnLMGBvRZXZPz0vPmQRB9gYFz0rotnwg3C9dpe41126aVUu7EyD8JoJRCOzT0M7YQzmf75YdWtxo3N5ASfROMwW5j9aA/W0RHtltqtAPThrcwcGoPEugyJK1hhXeWSvZPuwzUd911Td9cnu5gxpzUJUd4/KEH7X3b2RzZlmmljA5hsH6H3Fa/3gvFf1UNHDcZjiPqVEtmHg6C6HYG9CF/6boYH/E85z9aJdWy+Zp1YoPoAQAHtho8iXbM/Aewc0ypRC8mgTeRMZi5IGW4AERvSVkeK4Vr707U2hFSLZtWytopDDJWVWQUkR8Urn0sEa1N2SCkls7IJlP9jKuPrErPxfwZzytc3Aqhlkw7sv37cTD2bCVoQm30AoyjJ8KagYT0aBlmZDyvB+M9LXfqfcOKatR2GxgYGHfGpyXTVoLaacTU0URwj3JdFNb8I6dOnZrdYTsUWBvXD6LvUIp+VOvtWUIU/mW8lMY1bTM5GT5ORCm5y/KzquEc1Mmk9HhiTLa/66NYfRn9OC0FrPW3Zj0KZg8ODr401liMa9r1snZyDnRbOgaUXmpYjUMHi8U/pYPPxGfBzEO+jO4nwt6pyIb5cs8rXNqVaaUMf8PAwSlIqG4RHeW69i9TwKWvKAQB76K4/rt0VGCnVcLN70xEcjSRx7zTShkexICe5jJ+sVIXlErFq40T6VMClWp0FCn+SRoW2ijGOQOe89VOTbuAgXeaHye+zRMFfVBzdvVQAd+vXQyiy3sI0VJoZiwuec6ojyuj3mnL5fL0XL6whNn0VnD6Wz3Kv25oiFa3lHHWqGMF9ByuH0QLCXhDx0Fi6qiIDh8Y5VFwVNNWZPXjBGt+TBw6DaMXVLzJde3/7jRA1q89BfTzbYOjxwhmt08RsEAI5/RtsR/VtH4QLjb+MoFwvec6WT3b9nzXdWvfDz8CwjVdB+ouQBDW7B2nTt36bec2TeuH4f6o4+HuMLvszbw8FM6eU7NXtF0K2X735huzDTUsDmm/d4w9GB/0POcbL4+4TdNWZO0qAl0YI3zboSyyznLdvD5IJLsMKDCynep3JmcTGPhlSTiHj2va5rm01egvzAY3yDEeFsI+MFvIbcCtm0H6fvh1ED5gkIWSHM3a3vOWbc5hqzvtSAG53xgkCovo8OwlgskR2IDt+/4OIPvPRo/NYpzrec61Y5u2Gs1nxeZOn2H83POc7DBn855tMpCydhWbfFQk3OO5zhYFSba60/p++BgIrzGlGYEOFcI2eqc3lXsacZl5uyCI/sqAZ4hfrbzenjZzpq77u+HawrRSylmM/HMGt9Pc7wlnniFxMthRFPD98BoQPmJMIMs6wSvmf7RN0/p++H4QtppiSIwsWyd7Xv6OxPAyoJYUqFZ5t4aKnjI4k/AfnnA2fWi2uNNWZKhPA9f1UA1cvES4zuyJWhDOgGCJQvoy+gHA/ytR0I2PA4Q/Cdd51bbvtDL6G8CvMEFM1yvwvMKnjGBnoOMq4PvV40HWD8dt2JsGrBr2zI3FVzbdadcGwWybc8/2BnPcqKpWrc8eHhZLxm2ZNTCiQHNDpAyXgshIUWcCv0WMlLjaZNogqJ+uWH3bhCIE/EII5wgT2Blm6wpIGV3N4PNb7xFfSwJ9QQi7ORW7ybS+rF8DKDO/ENss1hCfFFmkdhQw+eKJQPcLYTdnljYzbajnRk1sq2GCPUsIer4dAbO2ySuwoWBL/XlD5z74wrUH9Q/1pmlHVvWsh5kJ5Ec94bwu+SHIEDtRwPfDb4Lw3k76dtsnZ6lXF4vFp5qmXVutvtJW1jPdBu2kP4Pnl3pwql8nXLI+4ytQlrVTLdAt47eMvwWBTxGicFvTtL5fPx6kjExnsEXHlIpZpcP4h7g3ESuVykyyHL3qatzyA7EzILrYc+3PNIErsno+wTKx07UhXHsqEZVjTzAL2DMFpAyfZmD3ngGMFphxk+c5Z47cacNrQc2K0YlezHii5DnGFuckmmwfgckgvJkZ7zKQUnNtygbTyuiHAB+fNAkiLBDutjevJc0lw2tdASnD8xlI/JuZQH8Twp614fHADx8hwj6t046nJYE+KYR9ZTzRsihJKVCpRG8ii3+WFN5mOPpxsrjxTrsC4O0TJ8HqRM8r3pk4bgbYlQJS8ixGZOSVO8HeiRYu5PwBB0Y1AFZXmXTQmRXvUyoVHuuga9bFoAIj8/oBACdxGoz9SFeSsXIFI6XfhWsPZEWREx/2WAB9WXsaoMRnEFipN1O1Wt2joSy9wDfZi7HW85ypyYJmaHEpUJGhLp+01fbuuOKPFofA7yDfD/cHJV+YQx+uXBJ/X9jb62Sz+PEqYGzDAOMDVC4Hh1m53C/iTamlaL/1hHNQSy2zRqlTwA/Cr4HxwaSJ6XN/qVKpHkOWdbcB8IVCOG9MGjfDi0cBKcOrGUh8ba2eJiXfrx4HsjbtdIwnpRaiEP3Ec+1jW2iZNUmhAhVZu0IbKHFqRBeR79dOBJGBHbB8pycKJyaedAYYiwK+X7sMRGOejRAL0MuDEF1m7k7L/GPPKyT+6rgnQk7CoL5f+xSILkk8deZLTZr2p55XOCbxpDPAWBSoyNqVBBr3zK9YwDYLwuB/pSCIjlDM98YdvIV4v/aEY7xMegs8sybbUEDK8N8ZOC9pcQh0AZk6wYYZj5U8J/FFOkmL3K94MghvYsa7E8/PwoepVqu9pt4gA+//6QVP2DsmnnQGGIsCfhDdBebEZ3+Y+F0kJe/EiJbGkkl7QerNZWZEjfa6Za3ToIAvw0UA9k2aCyt1LC1btkwMTdluUxnFJElUg/rO06YJEx+YJNPsS6yKH75EhGmJJ8eYO7KeNtR7tEpJExjrrKikuWR4rSuwevXqoUKxZOQEeIvs2U3TyiB8mtnARjULH/SKW59e0rp8WUsTCvh+OBeEh0xgN5ezamBTy8wAXOsJ51wTyWeYnStQCcKziPGtziN02pPWeMIeHtkjVruRiM7oNFSn/Ri4ryScf+y0f9bPjAIVGf5fAv63AfRmNaINz7RBdAmYE68NS4SKW2zWPagbECCD7FABX4b6ZHoDy0rpdk/Yb2maNgjqpylW3+kwh+66Mfb3POd/uguS9U5KAWZ2ZRDpH2GJ7w8ji64SRftfNtxpw3A/1KFP50v8YqjzS6L45cSBM8COFAiC6DDFbGLTgC7E9D7PdW7YWDVRyCDSVRNzHWXSRSdmvrvkFf6pixBZ1wQVKPu1T1tEFyUIuQmKgIOFcB7cVERMBuEfmbHpMIYESQXCtYeJqJogZgbVoQK+DPVB3/t32L2bbg2/Yk+ZPp0qfzetDG9h4NRuonbcl9UJnldMfvdEx4QnZ0cp5U4j58wlXyMD/FRJFF6tld9k2oqMLiTwVUaGg3CT5zpnGsHOQFtWwFQNL02Qwd8uiUJzVdkm066Xcl4O+ftaziDGhsxYv3LF8zNmz56dPSLEqGvcoXwZPgjgwLjjthKPoM4TonjNFqZl5uLIVEahlSBxt2HFp5VKBSMVpuPOpR/jlcu1Pa0cPWGkmLIWNI/Xe47z+y1Mq/9RkeGvCDCym4CBhaVsS3lq/S5l9EUGf8wMQVor3Py0jad5blGC3A+iT4E5+c1qG5TgRl3tOThYTL5Ek5mRmDCoS5cudYenzVwC8HZmSNOdnrA37dx+2Snk0TwGG3mu1WJYhK+7rvMhM8JkqKMpYPqgbwLOE8JpPs9u9XjAzHlfRiuJMMXQEAaqUdt1YGBghSH8DPZlCuiynn4QLSYYmcNvsqlHao+hoeLT2zSt/k8pw1sZeIep0dPTbkIUEt+abCrftONWgtppxGRmXcqGX31PCeE052fHMG3tnQxaYFBMySrcrVQqLTfIIYPecChiLqhGi5mxhylBNi6SGdO0zFwKqvUXmVmYIgpY13oiny0ONzcATWTfD84G5a4zSYPyOEg4zm/HNO0GsrXvg+gUg2TrqsH7DgwUHjfIYVJDr1y5ckB4g08BtIMpIYjwnFu0ZxMRj2taKetvY6jvmSLbxCX6uefabzLKYRKDSxnNZ3DzqHpTF4GuFMLeqjLjNo+K1NvKB4e2e4EIg6YIa1yLcIbrOjeb5DAZsf0w3Bf15sbFvMn8VYNfu61v21HPNy374TcswvtNkmbGKk/YexLRSpM8JhO2nvaUQaSfIV9vNG/Gw57nHLAtDqOaVsrwAAa2eAA2kgTznZ6X1bFNSvuyX/uUZaKE58sTHKO8wJgnSfsy1Hu3zH7idDKMD3ue87WkBm6y4qyX8tA88r9gw48FAK3zK2t2mj59eqWtO61uHAThexTjhhQMomSFQ0sl5w8p4NKXFJh5uyCIfsfALilI8CuecEbdoj7mnZaZCzKoPwfwjBQk8qxw7f2JaE0KuPQVBf0SQVbrPwHzUSlIrFGP1KuHhop/Ho3LmKbVnfwguhjMl6cgGT0Ndo8o5o8joigVfPqEhJTRlxj80XSkw7d7ovCWsbiMa9p163g4b0fPmShQt03ijBs8z3lfOgSe+CykDM9l4CtpyYSAA4VwxqwTNq5pdTIVWZtPIKMTzVuIyvxpzyuYWveblvHtmoeUtVMY9F0TpQO2RZ4Z95Q85+jxEmvJtCOHPj8LwBsvYFJ/14dUCGGb2YiZVJI9xPH96rEg63YARrZXbXtWgOYJYd8/Xtotmbb5bOvXPgeifx0vYIJ/Z333F8L+YoKYfQGlDUtW7r90iaPUJMR8t9di0ZaWTbuGeYoTRM8AGE5NopoI0WWeaydePC9VGrRBpixrp1horo9NzR0WgGKF/Vqd0mzZtBuebcOPEvClNjRKpinjq0LY52XnN4wtd9kPP2xR80dX4uWvxmTGuNHznLNaNUtbpn3iCXZ2mR0+TqA5rQIk1o75LimdU7ffnnQp/uzaTAE9D+sH0XwCDO2mHXM4fIL9KiHo+VYHrS3T6qDVanRMQ3Hip5a3lBDjSaX4lIGBwpMttZ8EjZh5WFbDBWB6cxrTZaJ/K7n2Fe1wa9u0OriU0W0MPrkdoKTaMlC2wB8QonBrUphpxZEyOoShFgCUhlezW8nE4Kc819mHiMJ2NOzQtHInhbzeoTnQDliSbQm42XXtc4lIlzCdVNfChZw/4KD6RWD+P6bXxI4hPCuiNw64dtu1bjsyrSbi++E5IFybcjcsgWWd4xXzP045z9joVSo1fef6JshIOc7W8yBc77lOR+u1OzYtM+vDoO9l4PDWmZppyeDvWmhcIIRo+WHfDNPOUVes4JIohZcQSK8hsDuPlEjPpbVq5bXDw8PrOkHr2LQabE0Q7Gqr3COmt+W0kjgRlRnqqvK6NVfPnDnTyAmVrfBst82GFVrRmVD8GZC5TYht8FYW0dGua/93G322aNqVaXWkShCeQYwbOyWQfD9eTqDPua593USuPq4rv1SC8K0W0aVg7JW8jp0hMvDlknDO76z3hl5dm7ZpXBl+m4DTuyGSdF9mvEjgaxqN2lcHBwdXJY3fKZ4uyVqR0Rk5C+czY4vKK53GTLDfomXPP3fInDlzat1gxmJavUfeKw09NAFFBBH5DL6FGNcLsWVRiG6Ejbvvump195yiswnWewHePu74vY7HjHWNnJo7VPx7Ta5OMWMxrQav1Wp7N5T1oK5Q0ykZ0/0Y/Eci61ZVV99LwwsKn3lHDqK3EfB2AAfH9c1oQGdW4LcOiMJtcWDHZlpNRsra20bWZ8YaN45E247BeJKI7lIW7vEK+d/oH3Jtx2izw9NPP12Y8YpXzM1x7kgiOpaBubr8Q5th0tec+bOeV4jtGKfYzeX7tU/D0DlTPRytBoBHwc0t9Y8Q0aNRJP84NDS0ulPMFStWlDxvyhzLsvZpsNrHAh3AYH3UUbHTmOnsR3cKN3/yxirecXCM3bQj87e6XKj+Suv3S88z/oWZl1sWrVSMVcRcgYUqM+o5siwFFJnZI8I0KF1Jm2YwsCsRJtxzaQeD+YfyenvezJkU6xRj7KbViW0odz7j5wAO6SDRrEtfKMBLwPWDPc9bFnc6PTGtJrmWeWpehvcR0d5xk87ipV6Bl/I5PqxQKCzuBdOemVaT9X1/R7Ls+5jxyl6Qz2KmUoG1YBzpec6iXrHrqWmbd9y1wWzbsX4J0KxeJZHFTYcCRFQB481C2L/pJaOem1aTX7euunvepnsz4/ZyKM3G1i9pGnWcMDBgL+w1k0RMq5MIAp6tONTG3bXXSWXxk1VAz2ETcLzr2r9KAjkx0+pk9CnWinM/I6I9k0guw0hCAVpVBx83lOAr8ERNqyVk5mkyiH4E4KAkJM0weqkAL1ENHDsw0JtZgtGYJ27aEeO6MqgvAPikXkqaxe6pAr8H28d7HsU+DzseayOmHTGuFQThlQy6YAIvBBlP3z79O93pV9acPlrR414nbcy0GxPTi8gt0NdSVaKn16pP3PgM5iuEcC6Ocy1Bu3IYN60m7PvhfiD+fjaz0O7wJdder4dl4vfGtbywG+apMK1OQL/2tYPwWwBtOiK9m8SyvrEqsChn2e8oFmnU6tyxoo0TLDWm3cizLMNzLWA+gPRU9EtyRNKFpRj4d8+1P9FuQY1eppE60+pky+XaXlaObgKwXy+Tz2KPqcBSVvTeUsnWq/VSdaXStCOzC3k/qF9A4Euzu26inlEgfF0U7U+mtTpPak27cZiq1erudWV9g4AjEh26yQjGeLJB9Q8MCvHrNKefetOO3HXJ98PTybKuAHinNAs6EbkxYz2YP/fCC0u+3O327iTynxCm3SgEMwtZrX8C3DwdO/uh1r1DGmgWWoku8jzvhe7DJRNhQpl2oyRS8iwmfb4ZdPXotNetSmYk20NhgH/Mii5utWR8e+F723pCmvbvz7v8ykYjuoQIp5s/z7W3AxVbdKKfEvMl453VFRteDwJNaNNuZt7dGxx9HIwz+m8LdiyjrgC6k8BXCuE8GEtEg0H6wrQb9SuXebqVr38IjA8BvINBXVMBrauiE3Bjo66+MjhY/FMqSMVAoq9Mu9kPNrsShCdZZJ0N5iNTd5pLDAM3TohFYFwnpf2dfjw4pS9Nu/mASilnKcq9i0CngfGa3vvFGMJSBt+KHL5dKhQeNcYiAeC+N+3mGpZrtb0shVNY0UlE2Heir+Mlwp9B9AMo3Oa6+QeIiBPwjHGISWXazdX2fd4RiI4lwlEMvBHAdOOjMQ4B/YwK5vssop/V6/zTwcHCH9POuRf8Jq1pXy5muVzb08rTPCg+CBbNBUNvvsz3QvQWYzIB+hDthxXUb4mt+4WwF2WnUsZUCbzFQZhQzZr1yGbM2Jsb2Nti3pMZc0C0GzN2IcKUGJPxwVgComcY/Azp9/+NxuJ6PXi004M0YuSWylDZnbaDYdGFo2u12g5K5WbUWW1nWTTFYgwo6OqIVgEKNpPKE6MGywqJEQJcY4ZPZK1pEK9GXa1Qylk+NEQdlwvtgHpfdPn/ixNifr4QLGYAAAAASUVORK5CYII=',
+						width: 230,
+						height: 230,
+					},
+					left: '16.5%',
+					top: 'center',
+				},
+			],
+		},
+		legend: {
+			type: 'scroll',
+			orient: 'vertical',
+			right: '0%',
+			left: '65%',
+			top: 'center',
+			itemWidth: 14,
+			itemHeight: 14,
+			data: getname,
+			textStyle: {
+				rich: {
+					name: {
+						fontSize: 14,
+						fontWeight: 400,
+						width: 200,
+						height: 35,
+						padding: [0, 0, 0, 60],
+						color: state.charts.color,
+					},
+					rate: {
+						fontSize: 15,
+						fontWeight: 500,
+						height: 35,
+						width: 40,
+						padding: [0, 0, 0, 30],
+						color: state.charts.color,
+					},
+				},
+			},
+		},
+		series: [
+			{
+				type: 'pie',
+				radius: ['82', themeConfig.value.isIsDark ? '50' : '102'],
+				center: ['32%', '50%'],
+				itemStyle: {
+					color: function (params: any) {
+						return colorList[params.dataIndex];
+					},
+				},
+				label: { show: true },
+				labelLine: { show: true },
+				data: data,
+			},
+		],
+	};
+	state.global.homeChartTwo.setOption(option);
+	state.myCharts.push(state.global.homeChartTwo);
+};
+// 鏌辩姸鍥�
+const option = {
+	backgroundColor: state.charts.bgColor,
+	title: {
+		text: '涓婁笅鏋舵帹绉诲浘',
+		x: 'left',
+		textStyle: { fontSize: '12', color: state.charts.color },
+	},
+	tooltip: { trigger: 'axis' },
+	//legend: { data: ['鍏ュ簱','鍑哄簱', '搴撳瓨', '骞冲潎'], right: 0 },
+	legend: { data: ['涓婃灦','涓嬫灦'], right: 0 },
+	grid: { top: 50, right: 80, bottom: 100, left: 60 },
+	// grid: { top: 70, right: 80, bottom: 30, left: 80 },
+	xAxis: [
+		{
+			type: 'category',
+			// data: ['1鏈�', '2鏈�', '3鏈�', '4鏈�', '5鏈�', '6鏈�', '7鏈�', '8鏈�', '9鏈�', '10鏈�', '11鏈�', '12鏈�'],
+			// data:dataAll.value.arr5,
+			data:[],
+			boundaryGap: true,
+			axisTick: { show: false },
+		},
+	],
+	yAxis: [
+		{
+			name: '鍗曚綅',
+			nameLocation: 'middle',
+			nameTextStyle: { padding: [3, 4, 50, 6] },
+			splitLine: { show: true, lineStyle: { type: 'dashed', color: '#f5f5f5' } },
+			axisLine: { show: false },
+			axisTick: { show: false },
+			axisLabel: { color: state.charts.color, formatter: '{value} ' },
+		},
+		// {
+		// 	name: '骞冲潎',
+		// 	nameLocation: 'middle',
+		// 	nameTextStyle: { padding: [50, 4, 5, 6] },
+		// 	splitLine: { show: false },
+		// 	axisLine: { show: false },
+		// 	axisTick: { show: false },
+		// 	axisLabel: { color: state.charts.color, formatter: '{value} ' },
+		// },
+	],
+	series: [
+		{
+			name: '涓婃灦',
+			type: 'line',
+			smooth: true,
+			showSymbol: true,
+			// 鐭㈤噺鐢讳簲瑙掓槦
+			symbol: 'path://M150 0 L80 175 L250 75 L50 75 L220 175 Z',
+			symbolSize: 12,
+			yAxisIndex: 0,
+			areaStyle: {
+				color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+					{ offset: 0, color: 'rgba(250,180,101,0.3)' },
+					{ offset: 1, color: 'rgba(250,180,101,0)' },
+				]),
+				shadowColor: 'rgba(250,180,101,0.2)',
+				shadowBlur: 20,
+			},
+			itemStyle: { color: '#FF8000' },
+			// data涓彲浠ヤ娇鐢ㄥ璞★紝value浠h〃鐩稿簲鐨勫�硷紝鍙﹀鍙姞鍏ヨ嚜瀹氫箟鐨勫睘鎬�
+			// data: [
+			// 	{ value: 1, stationName: 's1' },
+			// 	{ value: 3, stationName: 's2' },
+			// 	{ value: 4, stationName: 's3' },
+			// 	{ value: 9, stationName: 's4' },
+			// 	{ value: 3, stationName: 's5' },
+			// 	{ value: 2, stationName: 's6' },
+			// ],
+			// data:dataAll.value.arr1
+			data:[],
+		},
+		{
+			name: '涓嬫灦',
+			type: 'line',
+			smooth: true,
+			showSymbol: true,
+			symbol: 'emptyCircle',
+			symbolSize: 12,
+			yAxisIndex: 0,
+			areaStyle: {
+				color: new echarts.graphic.LinearGradient(
+					0,
+					0,
+					0,
+					1,
+					[
+						{ offset: 0, color: 'rgba(199, 237, 250,0.5)' },
+						{ offset: 1, color: 'rgba(199, 237, 250,0.2)' },
+					],
+					false
+				),
+			},
+			itemStyle: {
+				color: '#3bbc86',
+			},
+			// data:dataAll.value.arr2
+			data:[],
+		},
+		// {
+		// 	name: '骞冲潎',
+		// 	type: 'bar',
+		// 	barWidth: 30,
+		// 	yAxisIndex: 1,
+		// 	itemStyle: {
+		// 		color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+		// 			{ offset: 0, color: 'rgba(108,80,243,0.3)' },
+		// 			{ offset: 1, color: 'rgba(108,80,243,0)' },
+		// 		]),
+		// 		//鏌辩姸鍥惧渾瑙�
+		// 		borderRadius: [30, 30, 0, 0],
+		// 	},
+		// 	// data:dataAll.value.arr3
+		// 	data:[],
+		// },
+		// {
+		// 	name: '搴撳瓨',
+		// 	type: 'line',
+		// 	smooth: true,
+		// 	showSymbol: true,
+		// 	symbol: 'emptyCircle',
+		// 	symbolSize: 12,
+		// 	yAxisIndex: 0,
+		// 	// fe9a8b
+		// 	lineStyle: { color: '#51A3FC' },
+		// 	itemStyle: { color: '#51A3FC', borderColor: '#51A3FC' },
+		// 	areaStyle: {
+		// 		color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+		// 			{ offset: 0, color: '#51A3FCb3' },
+		// 			{ offset: 1, color: '#51A3FC03' },
+		// 		]),
+		// 	},
+		// 	// data:dataAll.value.arr4
+		// 	data:[],
+		// },
+	],
+};
+const initChart = () => {
+	if (!state.global.dispose.some((b: any) => b === state.global.homeCharThree)) state.global.homeCharThree.dispose();
+	const chart = document.getElementById("homeBarRef")
+	if (chart!=null) chart.removeAttribute('_echarts_instance_')//瑙e喅鍒囨崲椤甸潰echarts涓嶆樉绀虹殑闂
+	state.global.homeCharThree = markRaw(echarts.init(chart, state.charts.theme));
+	//鎵嬪姩璧嬪��
+	option.xAxis[0].data = dataAll.value.arr5
+	option.series[0].data = dataAll.value.arr1
+	option.series[1].data = dataAll.value.arr2
+	// option.series[2].data = dataAll.value.arr3
+	// option.series[3].data = dataAll.value.arr4
+	// 缁樺埗鍥捐〃
+	state.global.homeCharThree.setOption(option);
+	state.myCharts.push(state.global.homeCharThree);	
+}
+
+// 鎵归噺璁剧疆 echarts resize
+const routerJupm = (v:any) => {
+	router.push(v.route);
+};
+
+// 鎵归噺璁剧疆 echarts resize
+const initEchartsResizeFun = () => {
+	nextTick(() => {
+		for (let i = 0; i < state.myCharts.length; i++) {
+			setTimeout(() => {
+				state.myCharts[i].resize();
+			}, i * 1000);
+		}
+	});
+};
+// 鎵归噺璁剧疆 echarts resize
+const initEchartsResize = () => {
+	window.addEventListener('resize', initEchartsResizeFun);
+};
+
+// 瀹氭椂鍣�
+let timeInter: any = null;
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	initEchartsResize();
+
+	timeInter = setInterval(() => {
+		nextTick(() => {
+			handleQuery1();
+			handleQuery2();
+			handleQuery3('1');
+			handleQuery4();
+		});
+	}, 15000); //璋冪敤棰戠巼鏀逛负 15绉掍竴娆℃煡璇€��
+});
+
+onUnmounted(() => {
+  clearInterval(timeInter); //閿�姣�
+  timeInter = null;
+});
+
+// 鐢变簬椤甸潰缂撳瓨鍘熷洜锛宬eep-alive
+onActivated(() => {
+	initEchartsResizeFun();
+});
+// 鐩戝惉 pinia 涓殑 tagsview 寮�鍚叏灞忓彉鍖栵紝閲嶆柊 resize 鍥捐〃锛岄槻姝笉鍑虹幇/澶у皬涓嶅彉绛�
+watch(
+	() => isTagsViewCurrenFull.value,
+	() => {
+		initEchartsResizeFun();
+	}
+);
+// 鐩戝惉 pinia 涓槸鍚﹀紑鍚繁鑹蹭富棰�
+watch(
+	() => themeConfig.value.isIsDark,
+	(isIsDark) => {
+		nextTick(() => {
+			state.charts.theme = isIsDark ? 'dark' : '';
+			state.charts.bgColor = isIsDark ? 'transparent' : '';
+			state.charts.color = isIsDark ? '#dadada' : '#303133';
+			// setTimeout(() => {
+			// 	initLineChart(null,null,null);
+			// }, 500);
+			// setTimeout(() => {
+			// 	initPieChart(null);
+			// }, 700);
+			// setTimeout(() => {
+			// 	initBarChart(null,null,null,null);
+			// }, 1000);
+		});
+	},
+	{
+		deep: true,
+		immediate: true,
+	}
+);
+
+
+</script>
+
+<style scoped lang="scss">
+$homeNavLengh: 8;
+.home-container {
+	overflow: hidden;
+	.home-card-one,
+	.home-card-two,
+	.home-card-three {
+		.home-card-item {
+			width: 100%;
+			height: 130px;
+			border-radius: 4px;
+			transition: all ease 0.3s;
+			padding: 20px;
+			overflow: hidden;
+			background: var(--el-color-white);
+			color: var(--el-text-color-primary);
+			border: 1px solid var(--next-border-color-light);
+			&:hover {
+				box-shadow: 0 2px 12px var(--next-color-dark-hover);
+				transition: all ease 0.3s;
+			}
+			&-icon {
+				width: 70px;
+				height: 70px;
+				border-radius: 100%;
+				flex-shrink: 1;
+				i {
+					color: var(--el-text-color-placeholder);
+				}
+			}
+			&-title {
+				font-size: 15px;
+				font-weight: bold;
+				height: 30px;
+			}
+		}
+	}
+	.home-card-one {
+		@for $i from 0 through 3 {
+			.home-one-animation#{$i} {
+				opacity: 0;
+				animation-name: error-num;
+				animation-duration: 0.5s;
+				animation-fill-mode: forwards;
+				animation-delay: calc($i/4) + s;
+			}
+		}
+	}
+	.home-card-two,
+	.home-card-three {
+		.home-card-item {
+			height: 400px;
+			width: 100%;
+			overflow: hidden;
+			.home-monitor {
+				height: 100%;
+				.flex-warp-item {
+					width: 33%;
+					// width: 25%;
+					height: 111px;
+					display: flex;
+					.flex-warp-item-box {
+						margin: auto;
+						text-align: center;
+						color: var(--el-text-color-primary);
+						display: flex;
+						border-radius: 5px;
+						background: var(--next-bg-color);
+						cursor: pointer;
+						transition: all 0.3s ease;
+						&:hover {
+							background: var(--el-color-primary-light-9);
+							transition: all 0.3s ease;
+						}
+					}
+					@for $i from 0 through $homeNavLengh {
+						.home-animation#{$i} {
+							opacity: 0;
+							animation-name: error-num;
+							animation-duration: 0.5s;
+							animation-fill-mode: forwards;
+							animation-delay: calc($i/10) + s;
+						}
+					}
+				}
+			}
+		}
+	}
+}
+.home-card-item-tab {
+	// width: 100%;
+	height: 130px;
+	// border-radius: 4px;
+	// transition: all ease 0.3s;
+	// padding: 20px;
+	// overflow: hidden;
+	padding-left: 20px;
+	background: var(--el-color-white);
+	color: var(--el-text-color-primary);
+	border: 1px solid var(--next-border-color-light);
+}
+</style>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/home/notice/index.vue b/LA24030_LuLiPackageLine_Web/src/views/home/notice/index.vue
new file mode 100644
index 0000000..3d4f142
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/home/notice/index.vue
@@ -0,0 +1,147 @@
+<template>
+	<div class="notice-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+				<el-form-item label="鏍囬">
+					<el-input v-model="state.queryParams.title" placeholder="鏍囬" clearable />
+				</el-form-item>
+				<el-form-item label="绫诲瀷">
+					<el-select v-model="state.queryParams.type" placeholder="绫诲瀷" clearable>
+						<el-option label="閫氱煡" :value="1" />
+						<el-option label="鍏憡" :value="2" />
+					</el-select>
+				</el-form-item>
+				<el-form-item>
+					<el-button-group>
+						<el-button type="primary" icon="ele-Search" @click="handleQuery"> 鏌ヨ </el-button>
+						<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+					</el-button-group>
+				</el-form-item>
+			</el-form>
+		</el-card>
+
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table :data="state.noticeData" style="width: 100%" v-loading="state.loading" border :row-class-name="tableRowClassName">
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+				<el-table-column prop="sysNotice.title" label="鏍囬" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="sysNotice.content" label="鍐呭" header-align="center" show-overflow-tooltip>
+					<template #default="scope"> {{ removeHtml(scope.row.sysNotice.content) }} </template>
+				</el-table-column>
+				<el-table-column prop="sysNotice.type" label="绫诲瀷" width="100" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag v-if="scope.row.sysNotice.type === 1"> 閫氱煡 </el-tag>
+						<el-tag type="warning" v-else> 鍏憡 </el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="sysNotice.createTime" label="鍒涘缓鏃堕棿" align="center" show-overflow-tooltip />
+				<el-table-column prop="readStatus" label="闃呰鐘舵��" width="100" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag type="info" v-if="scope.row.readStatus === 1"> 宸茶 </el-tag>
+						<el-tag type="danger" v-else> 鏈 </el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="sysNotice.publicUserName" label="鍙戝竷鑰�" align="center" show-overflow-tooltip />
+				<el-table-column prop="sysNotice.publicTime" label="鍙戝竷鏃堕棿" align="center" show-overflow-tooltip />
+				<el-table-column label="鎿嶄綔" width="80" fixed="right" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-button icon="ele-InfoFilled" size="small" text type="primary" @click="viewDetail(scope.row)"> 璇︽儏 </el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="state.tableParams.page"
+				v-model:page-size="state.tableParams.pageSize"
+				:total="state.tableParams.total"
+				:page-sizes="[10, 20, 50, 100]"
+				small
+				background
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+		</el-card>
+		<el-dialog v-model="state.dialogVisible" title="娑堟伅璇︽儏" draggable width="769px">
+			<p v-html="state.content"></p>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button type="primary" @click="state.dialogVisible = false">纭</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script setup lang="ts" name="notice">
+import { onMounted, reactive } from 'vue';
+import commonFunction from '/@/utils/commonFunction';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysNoticeApi } from '/@/api-services/api';
+import { SysNoticeUser } from '/@/api-services/models';
+
+const { removeHtml } = commonFunction();
+const state = reactive({
+	loading: false,
+	noticeData: [] as Array<SysNoticeUser>,
+	queryParams: {
+		title: undefined,
+		type: undefined,
+	},
+	tableParams: {
+		page: 1,
+		pageSize: 200,
+		total: 0 as any,
+	},
+	editNoticeTitle: '',
+	dialogVisible: false,
+	content: '',
+});
+onMounted(async () => {
+	handleQuery();
+});
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.loading = true;
+	var res = await getAPI(SysNoticeApi).apiSysNoticePageReceivedGet(state.queryParams.title, state.queryParams.type, state.tableParams.page, state.tableParams.pageSize);
+	state.noticeData = res.data.result?.items ?? [];
+	state.tableParams.total = res.data.result?.total;
+	state.loading = false;
+};
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.title = undefined;
+	state.queryParams.type = undefined;
+	handleQuery();
+};
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+	state.tableParams.pageSize = val;
+	handleQuery();
+};
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+	state.tableParams.page = val;
+	handleQuery();
+};
+// 鏌ョ湅璇︽儏
+const viewDetail = async (row: any) => {
+	state.content = row.sysNotice.content;
+	state.dialogVisible = true;
+
+	row.readStatus = 1;
+	// mittBus.emit('noticeRead', row.sysNotice.id);
+	await getAPI(SysNoticeApi).apiSysNoticeSetReadPost({ id: row.sysNotice.id });
+};
+
+// eslint-disable-next-line @typescript-eslint/no-unused-vars
+const tableRowClassName = ({ row, rowIndex }: { row: SysNoticeUser; rowIndex: number }) => {
+	return row.readStatus === 1 ? 'info-row' : '';
+};
+</script>
+
+<style lang="scss">
+// .el-table .info-row {
+// 	--el-table-tr-bg-color: var(--el-color-info-light-9);
+// }
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/login/component/account.vue b/LA24030_LuLiPackageLine_Web/src/views/login/component/account.vue
new file mode 100644
index 0000000..19335ef
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/login/component/account.vue
@@ -0,0 +1,355 @@
+<template>
+	<el-tooltip :visible="state.capsLockVisible" effect="light" content="澶у啓閿佸畾宸叉墦寮�" placement="top">
+		<el-form ref="ruleFormRef" :model="state.ruleForm" size="large" :rules="state.rules" class="login-content-form">
+			<el-form-item class="login-animation1" prop="account">
+				<el-input ref="accountRef" text placeholder="璇疯緭鍏ヨ处鍙�" v-model="state.ruleForm.account" clearable autocomplete="off" @keyup.enter.native="handleSignIn">
+					<template #prefix>
+						<el-icon>
+							<ele-User />
+						</el-icon>
+					</template>
+				</el-input>
+			</el-form-item>
+			<el-form-item class="login-animation2" prop="password">
+				<el-input ref="passwordRef" :type="state.isShowPassword ? 'text' : 'password'" placeholder="璇疯緭鍏ュ瘑鐮�" v-model="state.ruleForm.password" autocomplete="off" @keyup.enter.native="handleSignIn">
+					<template #prefix>
+						<el-icon>
+							<ele-Unlock />
+						</el-icon>
+					</template>
+					<template #suffix>
+						<i class="iconfont el-input__icon login-content-password" :class="state.isShowPassword ? 'icon-yincangmima' : 'icon-xianshimima'" @click="state.isShowPassword = !state.isShowPassword">
+						</i>
+					</template>
+				</el-input>
+			</el-form-item>
+			<el-form-item class="login-animation3" prop="captcha" v-if="state.captchaEnabled">
+				<el-col :span="15">
+					<el-input
+						ref="codeRef"
+						text
+						maxlength="4"
+						:placeholder="$t('message.account.accountPlaceholder3')"
+						v-model="state.ruleForm.code"
+						clearable
+						autocomplete="off"
+						@keyup.enter.native="handleSignIn"
+					>
+						<template #prefix>
+							<el-icon>
+								<ele-Position />
+							</el-icon>
+						</template>
+					</el-input>
+				</el-col>
+				<el-col :span="1"></el-col>
+				<el-col :span="8">
+					<div class="login-content-code">
+						<img class="login-content-code-img" @click="getCaptcha" width="130px" height="38px" :src="state.captchaImage" style="cursor: pointer" />
+					</div>
+				</el-col>
+			</el-form-item>
+			<el-form-item class="login-animation4">
+				<el-button type="primary" class="login-content-submit" round v-waves @click="handleSignIn" :loading="state.loading.signIn">
+					<span>{{ $t('message.account.accountBtnText') }}</span>
+				</el-button>
+			</el-form-item>
+			<div class="font12 mt30 login-animation4 login-msg">{{ $t('message.mobile.msgText') }}</div>
+			<!-- <el-button type="primary" round v-waves @click="weixinSignIn" :loading="state.loading.signIn"></el-button> -->
+		</el-form>
+	</el-tooltip>
+	<div class="dialog-header">
+		<el-dialog v-model="state.rotateVerifyVisible" :show-close="false">
+			<DragVerifyImgRotate
+				ref="dragRef"
+				:imgsrc="state.rotateVerifyImg"
+				v-model:isPassing="state.isPassRotate"
+				text="璇锋寜浣忔粦鍧楁嫋鍔�"
+				successText="楠岃瘉閫氳繃"
+				handlerIcon="fa fa-angle-double-right"
+				successIcon="fa fa-hand-peace-o"
+				@passcallback="passRotateVerify"
+			/>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="loginAccount">
+import { reactive, computed, ref, onMounted, defineAsyncComponent, onUnmounted } from 'vue';
+import { useRoute, useRouter } from 'vue-router';
+import { ElMessage, InputInstance } from 'element-plus';
+import { useI18n } from 'vue-i18n';
+import { initBackEndControlRoutes } from '/@/router/backEnd';
+import { Local, Session } from '/@/utils/storage';
+import { formatAxis } from '/@/utils/formatTime';
+import { NextLoading } from '/@/utils/loading';
+import { sm2 } from 'sm-crypto-v2';
+
+import { accessTokenKey, clearTokens, feature, getAPI } from '/@/utils/axios-utils';
+import { SysAuthApi } from '/@/api-services/api';
+
+// 鏃嬭浆鍥剧墖婊戝潡缁勪欢
+import verifyImg from '/@/assets/logo-mini.png';
+const DragVerifyImgRotate = defineAsyncComponent(() => import('/@/components/dragVerify/dragVerifyImgRotate.vue'));
+
+const { t } = useI18n();
+const route = useRoute();
+const router = useRouter();
+
+const ruleFormRef = ref();
+const accountRef = ref<InputInstance>();
+const passwordRef = ref<InputInstance>();
+const codeRef = ref<InputInstance>();
+
+const dragRef: any = ref(null);
+const state = reactive({
+	isShowPassword: false,
+	ruleForm: {
+		account: 'superadmin',
+		password: '123456',
+		code: '',
+		codeId: 0,
+	},
+	rules: {
+		account: [{ required: true, message: '璇疯緭鍏ヨ处鍙�', trigger: 'blur' }],
+		password: [{ required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' }],
+		// code: [{ required: true, message: '璇疯緭鍏ラ獙璇佺爜', trigger: 'blur' }],
+	},
+	loading: {
+		signIn: false,
+	},
+	captchaImage: '',
+	rotateVerifyVisible: false,
+	rotateVerifyImg: verifyImg,
+	secondVerEnabled: false,
+	captchaEnabled: false,
+	isPassRotate: false,
+	capsLockVisible: false,
+});
+
+onMounted(async () => {
+	// 鑻RL甯︽湁Token鍙傛暟锛堢涓夋柟鐧诲綍锛�
+	var accessToken = route.query.token;
+	if (accessToken != null && accessToken != undefined) {
+		await saveTokenAndInitRoutes(accessToken);
+	}
+
+	// 鑾峰彇鐧诲綍閰嶇疆
+	var res1 = await getAPI(SysAuthApi).apiSysAuthLoginConfigGet();
+	state.secondVerEnabled = res1.data.result.secondVerEnabled ?? true;
+	state.captchaEnabled = res1.data.result.captchaEnabled ?? true;
+
+	// 鑾峰彇楠岃瘉鐮�
+	getCaptcha();
+
+	// 妫�娴嬪ぇ灏忓啓鎸夐敭/CapsLK
+	document.addEventListener('keyup', handleKeyPress);
+});
+
+onUnmounted(() => {
+	document.removeEventListener('keyup', handleKeyPress);
+});
+
+const handleKeyPress = (e: any) => {
+	const isCapsLockOn = e.getModifierState('CapsLock');
+	state.capsLockVisible = isCapsLockOn;
+};
+
+// 鑾峰彇楠岃瘉鐮�
+const getCaptcha = async () => {
+	if (!state.captchaEnabled) return;
+
+	state.ruleForm.code = '';
+	var res = await getAPI(SysAuthApi).apiSysAuthCaptchaGet();
+	state.captchaImage = 'data:text/html;base64,' + res.data.result?.img;
+	state.ruleForm.codeId = res.data.result?.id;
+};
+
+// 鑾峰彇鏃堕棿
+const currentTime = computed(() => {
+	return formatAxis(new Date());
+});
+
+// 鐧诲綍
+const onSignIn = async () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return false;
+
+		try {
+			state.loading.signIn = true;
+
+			// SM2鍔犲瘑瀵嗙爜
+			// const keys = SM2.generateKeyPair();
+			const publicKey = window.__env__.VITE_SM_PUBLIC_KEY;
+			const password = sm2.doEncrypt(state.ruleForm.password, publicKey, 1);
+
+			const [err, res] = await feature(getAPI(SysAuthApi).apiSysAuthLoginPost({ ...state.ruleForm, password: password }));
+			if (err) {
+				getCaptcha(); // 閲嶆柊鑾峰彇楠岃瘉鐮�
+				return;
+			}
+			if (res.data.result?.accessToken == undefined) {
+				getCaptcha(); // 閲嶆柊鑾峰彇楠岃瘉鐮�
+				ElMessage.error('鐧诲綍澶辫触锛岃妫�鏌ヨ处鍙凤紒');
+				return;
+			}
+			await saveTokenAndInitRoutes(res.data.result?.accessToken);
+		} finally {
+			state.loading.signIn = false;
+		}
+	});
+};
+
+// 淇濇寔Token骞跺垵濮嬪寲璺敱
+const saveTokenAndInitRoutes = async (accessToken: string | any) => {
+	// 缂撳瓨token
+	Local.set(accessTokenKey, accessToken);
+	// Local.set(refreshAccessTokenKey, refreshAccessToken);
+	Session.set('token', accessToken);
+
+	// 娣诲姞瀹屽姩鎬佽矾鐢卞啀杩涜router璺宠浆锛屽惁鍒欏彲鑳芥姤閿� No match found for location with path "/"
+	const isNoPower = await initBackEndControlRoutes();
+	signInSuccess(isNoPower); // 鍐嶆墽琛� signInSuccess
+};
+
+// 鐧诲綍鎴愬姛鍚庣殑璺宠浆
+const signInSuccess = (isNoPower: boolean | undefined) => {
+	if (isNoPower) {
+		ElMessage.warning('鎶辨瓑锛屾偍娌℃湁鐧诲綍鏉冮檺');
+		clearTokens(); // 娓呯┖Token缂撳瓨
+	} else {
+		// 鍒濆鍖栫櫥褰曟垚鍔熸椂闂撮棶鍊欒
+		let currentTimeInfo = currentTime.value;
+		// 鐧诲綍鎴愬姛锛岃烦鍒拌浆棣栭〉 濡傛灉鏄鍒剁矘璐寸殑璺緞锛岄潪棣栭〉/鐧诲綍椤碉紝閭d箞鐧诲綍鎴愬姛鍚庨噸瀹氬悜鍒板搴旂殑璺緞涓�
+		console.log('route',route)
+		console.log('<string>route.query?.redirect',<string>route.query?.redirect)
+		if (route.query?.redirect) {
+			router.push({
+				path: <string>route.query?.redirect,
+				query: Object.keys(<string>route.query?.params).length > 0 ? JSON.parse(<string>route.query?.params) : '',
+			});
+		} else {
+			router.push('/');
+		}
+
+		// 鐧诲綍鎴愬姛鎻愮ず
+		const signInText = t('message.signInText');
+		ElMessage.success(`${currentTimeInfo}锛�${signInText}`);
+		// 娣诲姞 loading锛岄槻姝㈢涓�娆¤繘鍏ョ晫闈㈡椂鍑虹幇鐭殏绌虹櫧
+		NextLoading.start();
+	}
+};
+
+// 鎵撳紑鏃嬭浆楠岃瘉
+const openRotateVerify = () => {
+	state.rotateVerifyVisible = true;
+	state.isPassRotate = false;
+	dragRef.value?.reset();
+};
+
+// 閫氳繃鏃嬭浆楠岃瘉
+const passRotateVerify = () => {
+	state.rotateVerifyVisible = false;
+	state.isPassRotate = true;
+	onSignIn();
+};
+
+// 鐧诲綍澶勭悊
+const handleSignIn = () => {
+	if (!state.ruleForm.account) {
+		accountRef.value?.focus();
+	} else if (!state.ruleForm.password) {
+		passwordRef.value?.focus();
+	} else if (state.captchaEnabled && !state.ruleForm.code) {
+		codeRef.value?.focus();
+	} else {
+		state.secondVerEnabled ? openRotateVerify() : onSignIn();
+	}
+};
+
+// // 寰俊鐧诲綍
+// const weixinSignIn = () => {
+// 	window.open('http://localhost:5005/api/sysoauth/signin?provider=Gitee&redirectUrl=http://localhost:8888');
+// };
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ saveTokenAndInitRoutes });
+</script>
+
+<style lang="scss" scoped>
+.dialog-header {
+	:deep(.el-dialog) {
+		.el-dialog__header {
+			display: none;
+		}
+
+		.el-dialog__wrapper {
+			position: absolute !important;
+		}
+
+		.v-modal {
+			position: absolute !important;
+		}
+
+		width: unset !important;
+	}
+}
+
+.login-content-form {
+	margin-top: 20px;
+
+	@for $i from 0 through 4 {
+		.login-animation#{$i} {
+			opacity: 0;
+			animation-name: error-num;
+			animation-duration: 0.5s;
+			animation-fill-mode: forwards;
+			animation-delay: calc($i/10) + s;
+		}
+	}
+
+	.login-content-password {
+		display: inline-block;
+		width: 20px;
+		cursor: pointer;
+
+		&:hover {
+			color: #909399;
+		}
+	}
+
+	.login-content-code {
+		display: flex;
+		align-items: center;
+		justify-content: space-around;
+
+		.login-content-code-img {
+			width: 100%;
+			height: 40px;
+			line-height: 40px;
+			background-color: #ffffff;
+			border: 1px solid rgb(220, 223, 230);
+			cursor: pointer;
+			transition: all ease 0.2s;
+			border-radius: 4px;
+			user-select: none;
+
+			&:hover {
+				border-color: #c0c4cc;
+				transition: all ease 0.2s;
+			}
+		}
+	}
+
+	.login-content-submit {
+		width: 100%;
+		letter-spacing: 2px;
+		font-weight: 300;
+		margin-top: 15px;
+	}
+
+	.login-msg {
+		color: var(--el-text-color-placeholder);
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/login/component/mobile.vue b/LA24030_LuLiPackageLine_Web/src/views/login/component/mobile.vue
new file mode 100644
index 0000000..a98a690
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/login/component/mobile.vue
@@ -0,0 +1,121 @@
+<template>
+	<el-form size="large" class="login-content-form">
+		<el-form-item class="login-animation1">
+			<el-input text :placeholder="$t('message.mobile.placeholder1')" v-model="state.ruleForm.phone" clearable autocomplete="off">
+				<template #prefix>
+					<i class="iconfont icon-dianhua el-input__icon"></i>
+				</template>
+			</el-input>
+		</el-form-item>
+		<el-form-item class="login-animation2">
+			<el-col :span="15">
+				<el-input text maxlength="6" :placeholder="$t('message.mobile.placeholder2')" v-model="state.ruleForm.code" clearable autocomplete="off">
+					<template #prefix>
+						<el-icon class="el-input__icon"><ele-Position /></el-icon>
+					</template>
+				</el-input>
+			</el-col>
+			<el-col :span="1"></el-col>
+			<el-col :span="8">
+				<el-button v-waves class="login-content-code" :loading="state.loading" :disabled="state.disabled" @click="getSmsCode">
+					{{ state.btnText }}
+				</el-button>
+			</el-col>
+		</el-form-item>
+		<el-form-item class="login-animation3">
+			<el-button round type="primary" v-waves class="login-content-submit" @click="onSignIn">
+				<span>{{ $t('message.mobile.btnText') }}</span>
+			</el-button>
+		</el-form-item>
+		<div class="font12 mt30 login-animation4 login-msg">{{ $t('message.mobile.msgText') }}</div>
+	</el-form>
+</template>
+
+<script setup lang="ts" name="loginMobile">
+import { reactive } from 'vue';
+import { ElMessage } from 'element-plus';
+import { verifyPhone } from '/@/utils/toolsValidate';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysSmsApi, SysAuthApi } from '/@/api-services/api';
+
+const state = reactive({
+	ruleForm: {
+		phone: '',
+		code: '',
+	},
+	btnText: '鑾峰彇楠岃瘉鐮�',
+	loading: false,
+	disabled: false,
+	timer: null as any,
+});
+
+// 鑾峰彇鐭俊楠岃瘉鐮�
+const getSmsCode = async () => {
+	state.ruleForm.code = '';
+	if (!verifyPhone(state.ruleForm.phone)) {
+		ElMessage.error('璇锋纭緭鍏ユ墜鏈哄彿鐮侊紒');
+		return;
+	}
+
+	await getAPI(SysSmsApi).apiSysSmsSendSmsPhoneNumberPost(state.ruleForm.phone);
+
+	// 鍊掕鏃舵湡闂寸姝㈢偣鍑�
+	state.disabled = true;
+
+	// 娓呴櫎瀹氭椂鍣�
+	state.timer && clearInterval(state.timer);
+
+	// 寮�鍚畾鏃跺櫒
+	var duration = 60;
+	state.timer = setInterval(() => {
+		duration--;
+		state.btnText = `${duration} 绉掑悗閲嶆柊鑾峰彇`;
+		if (duration <= 0) {
+			state.btnText = '鑾峰彇楠岃瘉鐮�';
+			state.disabled = false; // 鎭㈠鎸夐挳鍙互鐐瑰嚮
+			clearInterval(state.timer); // 娓呴櫎鎺夊畾鏃跺櫒
+		}
+	}, 1000);
+};
+
+// 鐧诲綍
+const onSignIn = async () => {
+	var res = await getAPI(SysAuthApi).apiSysAuthLoginPhonePost(state.ruleForm);
+	if (res.data.result?.accessToken == undefined) {
+		ElMessage.error('鐧诲綍澶辫触锛岃妫�鏌ヨ处鍙凤紒');
+		return;
+	}
+
+	// // 绯荤粺鐧诲綍
+	// await accountRef.value?.saveTokenAndInitRoutes(res.data.result?.accessToken);
+};
+</script>
+
+<style scoped lang="scss">
+.login-content-form {
+	margin-top: 20px;
+	@for $i from 1 through 4 {
+		.login-animation#{$i} {
+			opacity: 0;
+			animation-name: error-num;
+			animation-duration: 0.5s;
+			animation-fill-mode: forwards;
+			animation-delay: calc($i/10) + s;
+		}
+	}
+	.login-content-code {
+		width: 100%;
+		padding: 0;
+	}
+	.login-content-submit {
+		width: 100%;
+		letter-spacing: 2px;
+		font-weight: 300;
+		margin-top: 15px;
+	}
+	.login-msg {
+		color: var(--el-text-color-placeholder);
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/login/component/scan.vue b/LA24030_LuLiPackageLine_Web/src/views/login/component/scan.vue
new file mode 100644
index 0000000..0cc2175
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/login/component/scan.vue
@@ -0,0 +1,63 @@
+<template>
+	<div class="login-scan-container">
+		<div ref="qrcodeRef"></div>
+		<div class="font12 mt20 login-msg">
+			<i class="iconfont icon-saoyisao mr5"></i>
+			<span>{{ $t('message.scan.text') }}</span>
+		</div>
+	</div>
+</template>
+
+<script setup lang="ts" name="loginScan">
+import { ref, onMounted, nextTick } from 'vue';
+import QRCode from 'qrcodejs2-fixes';
+
+// 瀹氫箟鍙橀噺鍐呭
+const qrcodeRef = ref<HTMLElement | null>(null);
+
+// 鍒濆鍖栫敓鎴愪簩缁寸爜
+const initQrcode = () => {
+	nextTick(() => {
+		(<HTMLElement>qrcodeRef.value).innerHTML = '';
+		new QRCode(qrcodeRef.value, {
+			text: `https://gitee.com/zuohuaijun/Admin.NET`,
+			width: 260,
+			height: 260,
+			colorDark: '#000000',
+			colorLight: '#ffffff',
+		});
+	});
+};
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	initQrcode();
+});
+</script>
+
+<style scoped lang="scss">
+.login-scan-animation {
+	opacity: 0;
+	animation-name: error-num;
+	animation-duration: 0.5s;
+	animation-fill-mode: forwards;
+}
+.login-scan-container {
+	padding: 0 20px 20px;
+	display: flex;
+	flex-direction: column;
+	text-align: center;
+	@extend .login-scan-animation;
+	animation-delay: 0.1s;
+	:deep(img) {
+		margin: auto;
+	}
+	.login-msg {
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		color: var(--el-text-color-placeholder);
+		@extend .login-scan-animation;
+		animation-delay: 0.2s;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/login/index.vue b/LA24030_LuLiPackageLine_Web/src/views/login/index.vue
new file mode 100644
index 0000000..ebcca27
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/login/index.vue
@@ -0,0 +1,331 @@
+<template>
+	<div class="login-container flex">
+		<div class="login-left flex-margin">
+			<div class="login-left-logo">
+				<img :src="logoMini" />
+				<div class="login-left-logo-text">
+					<span>{{ getThemeConfig.globalViceTitle }}</span>
+					<span class="textSub">{{ getThemeConfig.globalViceTitleSub }}</span>
+					<span class="login-left-logo-text-msg">{{ getThemeConfig.globalViceTitleMsg }}</span>
+				</div>
+			</div>
+			<el-carousel height="500px" class="login-carousel">
+				<el-carousel-item>
+					<img :src="loginIconTwo" class="login-icon-group-icon" />
+				</el-carousel-item>
+				<el-carousel-item>
+					<img :src="loginIconTwo1" class="login-icon-group-icon" />
+				</el-carousel-item>
+				<el-carousel-item>
+					<img :src="loginIconTwo2" class="login-icon-group-icon" />
+				</el-carousel-item>
+			</el-carousel>
+		</div>
+		<div class="login-right flex">
+			<div class="login-right-warp flex-margin">
+				<span class="login-right-warp-one"></span>
+				<span class="login-right-warp-two"></span>
+				<div class="login-right-warp-main">
+					<div class="login-right-warp-main-title">
+					{{ getThemeConfig.globalTitle }}
+					<div class="textSubDw">
+					   {{ getThemeConfig.globalViceTitleSub }}
+					</div>
+					</div>
+					<div class="login-right-warp-main-form">
+						<Account />
+						<!-- <div v-if="!state.isScan">
+							<el-tabs v-model="state.tabsActiveName">
+								<el-tab-pane :label="$t('message.label.one1')" name="account">
+									<Account />
+								</el-tab-pane>
+								<el-tab-pane :label="$t('message.label.two2')" name="mobile">
+									<Mobile />
+								</el-tab-pane>
+							</el-tabs>
+						</div>
+						<Scan v-if="state.isScan" />
+						<div class="login-content-main-scan" @click="state.isScan = !state.isScan">
+							<i class="iconfont" :class="state.isScan ? 'icon-diannao1' : 'icon-barcode-qr'"></i>
+							<div class="login-content-main-scan-delta"></div>
+						</div> -->
+					</div>
+				</div>
+			</div>
+		</div>
+		<div class="copyright mt5">{{ getThemeConfig.copyright }}</div>
+	</div>
+</template>
+
+<script setup lang="ts" name="loginIndex">
+import { defineAsyncComponent, onMounted, reactive, computed } from 'vue';
+import { storeToRefs } from 'pinia';
+import { useThemeConfig } from '/@/stores/themeConfig';
+import { NextLoading } from '/@/utils/loading';
+import logoMini from '/@/assets/logo-mini.png';
+import loginIconTwo from '/@/assets/login-icon-two.svg';
+import loginIconTwo1 from '/@/assets/login-icon-two1.svg';
+import loginIconTwo2 from '/@/assets/login-icon-two2.svg';
+
+// 寮曞叆缁勪欢
+const Account = defineAsyncComponent(() => import('/@/views/login/component/account.vue'));
+const Mobile = defineAsyncComponent(() => import('/@/views/login/component/mobile.vue'));
+const Scan = defineAsyncComponent(() => import('/@/views/login/component/scan.vue'));
+
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const state = reactive({
+	tabsActiveName: 'account',
+	isScan: false,
+});
+// 鑾峰彇甯冨眬閰嶇疆淇℃伅
+const getThemeConfig = computed(() => {
+	return themeConfig.value;
+});
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	NextLoading.done();
+});
+</script>
+
+<style scoped lang="scss">
+.login-container {
+	height: 100%;
+	background-color: rgba(53, 62, 84);
+	.login-left {
+		width: 50%;
+		height: 100%;
+		float: left;
+		justify-content: center;
+		.login-carousel {
+			position: relative;
+			top: 50%;
+			transform: translateY(-50%);
+		}
+		.login-left-logo {
+			display: flex;
+			align-items: center;
+			position: absolute;
+			top: 30px;
+			left: 30px;
+			z-index: 1;
+			animation: logoAnimation 0.3s ease;
+			img {
+				// width: 100px;
+				height: 64px;
+			}
+			.login-left-logo-text {
+				display: flex;
+				flex-direction: column;
+				span {
+					margin-left: 20px;
+					font-size: 28px;
+					font-weight: 700;
+					color: var(--el-color-white);
+				}
+				.login-left-logo-text-msg {
+					padding-top: 5px;
+					font-size: 14px;
+					color: var(--el-color-white);
+				}
+			}
+		}
+		.login-icon-group-icon {
+			width: 85%;
+			height: 85%;
+			position: absolute;
+			left: 10%;
+			top: 50%;
+			transform: translateY(-50%) translate3d(0, 0, 0);
+		}
+	}
+	.login-right {
+		width: 50%;
+		float: right;
+		background: var(--el-color-white);
+		background-image: url('../../assets/bg.svg');
+		background-size: 100% auto;
+		background-position: 50% calc(50% - 15px);
+		background-attachment: fixed;
+		background-repeat: no-repeat;
+		.login-right-warp {
+			border: 1px solid var(--el-color-primary-light-3);
+			border-radius: 3px;
+			height: 550px;
+			position: relative;
+			overflow: hidden;
+			background-color: var(--el-color-white);
+			.login-right-warp-one,
+			.login-right-warp-two {
+				position: absolute;
+				display: block;
+				width: inherit;
+				height: inherit;
+				&::before,
+				&::after {
+					content: '';
+					position: absolute;
+					z-index: 1;
+				}
+			}
+			.login-right-warp-one {
+				&::before {
+					filter: hue-rotate(0deg);
+					top: 0px;
+					left: 0;
+					width: 100%;
+					height: 1px;
+					background: linear-gradient(90deg, transparent, var(--el-color-primary));
+					animation: loginLeft 3s linear infinite;
+				}
+				&::after {
+					filter: hue-rotate(0deg);
+					top: -100%;
+					right: 2px;
+					width: 1px;
+					height: 100%;
+					background: linear-gradient(180deg, transparent, var(--el-color-primary));
+					animation: loginTop 3s linear infinite;
+					animation-delay: 0.7s;
+				}
+			}
+			.login-right-warp-two {
+				&::before {
+					filter: hue-rotate(0deg);
+					bottom: 2px;
+					right: -100%;
+					width: 100%;
+					height: 1px;
+					background: linear-gradient(270deg, transparent, var(--el-color-primary));
+					animation: loginRight 3s linear infinite;
+					animation-delay: 1.4s;
+				}
+				&::after {
+					filter: hue-rotate(0deg);
+					bottom: -100%;
+					left: 0px;
+					width: 1px;
+					height: 100%;
+					background: linear-gradient(360deg, transparent, var(--el-color-primary));
+					animation: loginBottom 3s linear infinite;
+					animation-delay: 2.1s;
+				}
+			}
+			.login-right-warp-main {
+				display: flex;
+				flex-direction: column;
+				height: 100%;
+				.login-right-warp-main-title {
+					position: relative;
+					height: 130px;
+					line-height: 130px;
+					font-size: 32px;
+					font-weight: 800;
+					text-align: center;
+					//letter-spacing: 3px;
+					animation: logoAnimation 0.3s ease;
+					animation-delay: 0.3s;
+					color: var(--el-color-primary);
+				}
+				.login-right-warp-main-form {
+					flex: 1;
+					padding: 0 50px 50px;
+					.login-content-main-scan {
+						position: absolute;
+						top: 0;
+						right: 0;
+						width: 50px;
+						height: 50px;
+						overflow: hidden;
+						cursor: pointer;
+						transition: all ease 0.3s;
+						color: var(--el-color-primary);
+						&-delta {
+							position: absolute;
+							width: 35px;
+							height: 70px;
+							z-index: 2;
+							top: 2px;
+							right: 21px;
+							background: var(--el-color-white);
+							transform: rotate(-45deg);
+						}
+						&:hover {
+							opacity: 1;
+							transition: all ease 0.3s;
+							color: var(--el-color-primary) !important;
+						}
+						i {
+							width: 47px;
+							height: 50px;
+							display: inline-block;
+							font-size: 48px;
+							position: absolute;
+							right: 1px;
+							top: 0px;
+						}
+					}
+				}
+			}
+		}
+		/* 鍦ㄨ繖閲屽彲浠ユ坊鍔犱竴涓吉鍏冪礌鏉ヨ鐩栧師鍐呭锛屽疄鐜扮(鐮傛晥鏋� */
+		.login-right-warp::before {
+			content: '';
+			position: absolute;
+			top: 0;
+			left: 0;
+			width: 100%;
+			height: 100%;
+			background-color: rgba(255, 255, 255, 1);
+			filter: blur(4px); /* 璋冩暣妯$硦鍗婂緞浠ユ敼鍙樼(鐮傛晥鏋滃己搴� */
+			z-index: 1;
+		}
+
+		/* 淇濇寔鍘熸湁鍐呭鍙锛屾斁缃湪浼厓绱犱笅鏂� */
+		.login-right-warp > * {
+			position: relative;
+			z-index: 2;
+		}
+	}
+}
+.copyright {
+	position: absolute;
+	bottom: 2%;
+	transform: translateX(-50%);
+	white-space: nowrap;
+}
+@media screen and (min-width: 1200px) {
+	.login-right-warp {
+		width: 500px;
+	}
+	.copyright {
+		left: 75%;
+		color: var(--el-text-color-secondary);
+	}
+}
+@media screen and (max-width: 1200px) {
+	.copyright {
+		left: 50%;
+		color: var(--el-color-white);
+	}
+}
+@media screen and (max-width: 580px) {
+	.copyright {
+		left: 50%;
+		color: var(--el-text-color-secondary);
+	}
+}
+.textSub{
+	font-size: 15px !important;
+}
+.textSubDw{
+	text-align: center;
+	color: #11559c;
+	font-size: 20px !important;
+	position: absolute;
+	bottom: -40px;
+	left: 50%;
+	width: 200px;
+	margin-left: -90px;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkAudit/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkAudit/index.vue
new file mode 100644
index 0000000..61d4d18
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkAudit/index.vue
@@ -0,0 +1,785 @@
+<template>
+  <div class="wmsRecordTrans-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+      <el-form :model="formModel" label-width="90px">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="formModel.searchKey" clearable="" placeholder="鍗曞彿" />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍗曞彿:">
+              <el-input v-model="formModel.OrderNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐘舵��:">
+              <el-select v-model="formModel.Status" clearable placeholder="璇烽�夋嫨鐘舵��" style="width: 100%">
+                <el-option v-for="item in checkStatusEnum" :key="item.value" :value="item.value" :label="item.title" />
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center">
+                <el-button type="primary" icon="ele-Search" @click="getTabelData" v-auth="'wmsFactory:page'">
+                  鏌ヨ
+                </el-button>
+                <el-button icon="ele-Refresh" @click="() => (formModel = {})">
+                  閲嶇疆
+                </el-button>
+                <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI"
+                  style="margin-left: 5px">
+                  楂樼骇鏌ヨ
+                </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI"
+                  style="margin-left: 5px">
+                  闅愯棌
+                </el-button>
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsFactory" v-auth="'wmsFactory:add'"> 鏂板 </el-button> -->
+                <el-button type="primary" style="margin-left:5px;" :disabled="checkRows.length != 1" @click="pass(checkRows[0].orderNo)">閫氳繃</el-button>
+                <el-button type="primary" style="margin-left:5px;" :disabled="checkRows.length != 1" @click="reject(checkRows[0])">椹冲洖</el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :span="8">
+          <el-form-item label-width="20px">
+            <el-button type="primary" icon="el-icon-search" @click="getTabelData">鏌ヨ</el-button>
+            <el-button icon="el-icon-refresh-right" @click="resetForm">閲嶇疆</el-button>
+            <el-checkbox border v-model="formModel.IsQueryAll" class="mrg10">鏄惁鏌ョ湅鍏ㄩ儴</el-checkbox>
+          </el-form-item>
+        </el-col> -->
+        </el-row>
+      </el-form>
+    </el-card>
+
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <div class="header">
+        <!-- <btn-handle class="WarehousingBox" ref="propBtnRef" :itemBtn="['瀵煎嚭']" :checkRows="checkRows"
+        @handExport="handExport">
+        <template #First>
+        </template>
+      </btn-handle> -->
+        <!-- <el-button plain  :disabled="checkRows.length != 1" @click="passXf(checkRows[0].orderNo)">涓嬪彂</el-button>
+          <el-button plain   @click="passCh(checkRows[0].orderNo)" :disabled="checkRows.length != 1">涓嬪彂鎾ゅ洖</el-button> -->
+        <!-- <el-button  icon="iconfont icon-biaoqianguanli" plain :disabled="checkRows.length == 0" @click="printTable"> 鎵归噺鎵撳嵃閫変腑閫�</el-button> -->
+        <!-- <el-button  icon="el-icon-delete" plain :disabled="checkRows.length == 0" @click="handleBatchDelete">鎵归噺鍒犻櫎閫変腑椤�</el-button> -->
+        <!-- <el-button plain icon="el-icon-upload2" :disabled="checkRows.length == 0" @click="handExport">瀵煎嚭</el-button> -->
+      </div>
+      <el-table ref="tableRef" :data="tableData" border style="width: 100%" row-key="id"
+        @selection-change="handleSelectionChange" :summary-method="getExportTitle" show-summary class="tableBox">
+        <el-table-column align="center" width="60" type="selection" />
+        <el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column fixed="left" label="鍗曞彿" prop="orderNo" align="center" min-width="200" show-overflow-tooltip>
+          <template #default="scope">
+            <!-- <span @click="openDrawer(scope.row)" class="under_line">{{scope.row.orderNo}}</span> -->
+            <span @click="openDetailDialog(scope.row)" class="under_line">{{
+              scope.row.orderNo
+            }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column fixed="left" label="鐘舵��" prop="statusName" width="110" align="center">
+          <template #default="scope">
+            <el-tag :type="getTypeStatus(0, scope.row.statusName)">
+              {{ scope.row.statusName }}</el-tag>
+          </template>
+        </el-table-column>
+        <el-table-column label="璁″垝鐩樼偣鏃堕棿" prop="planDate" align="center" min-width="160" show-overflow-tooltip />
+        <el-table-column label="鐩樼偣缁村害" prop="checkTypeName" align="center" show-overflow-tooltip />
+        <el-table-column label="璁″垝绫诲瀷" prop="checkMark" align="center" show-overflow-tooltip>
+          <template #default="scope">
+            <div v-for="option in checkMarkEnum" :key="option.value">
+              <span v-if="scope.row.checkMark == option.value"> {{ option.title }} </span>
+            </div>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column label="瑙勫垯鍚嶇О" prop="ruleName" align="center" min-width="110" show-overflow-tooltip /> -->
+        <el-table-column label="鐩樼偣绫诲瀷" prop="ruleCheckTypeName" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="鐩樼偣姣斾緥" prop="ruleRate" align="center" min-width="110" show-overflow-tooltip>
+          <template #default="scope"> {{ scope.row.ruleRate }}% </template>
+        </el-table-column>
+        <el-table-column label="浠撳簱" prop="wareHouse" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="搴撳尯" prop="regionName" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="瀹℃壒鏃ユ湡" prop="reviewDatetime" align="center" min-width="160" show-overflow-tooltip />
+        <el-table-column label="瀹℃壒浜�" prop="reviewName" align="center" min-width="110" show-overflow-tooltip />
+
+        <el-table-column label="鐢宠鏃ユ湡" prop="commitDate" align="center" min-width="160" show-overflow-tooltip />
+        <el-table-column label="鐢宠浜�" prop="commitName" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="涓嬪彂鏃ユ湡" prop="sendDate" align="center" min-width="160" show-overflow-tooltip />
+        <el-table-column label="涓嬪彂浜�" prop="sendName" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="椹冲洖鐞嗙敱" prop="rejectMsg" align="center" min-width="110" show-overflow-tooltip />
+
+        <!-- <el-table-column label="鍒涘缓浜�" prop="createdUserName" align="center" width="110" show-overflow-tooltip /> -->
+        <!-- <el-table-column label="鍒涘缓鏃堕棿" prop="createdTime" align="center" width="160" show-overflow-tooltip /> -->
+        <el-table-column label="澶囨敞" prop="remarks" align="center" min-width="110" show-overflow-tooltip />
+
+        <!-- <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+      <el-table-column label="鐩樼偣璁″垝鍙�" prop="orderNo" align="center" min-width="140" show-overflow-tooltip>
+        <template #default="scope">
+          <span @click="openDetailDialog(scope.row)" class="under_line">{{
+            scope.row.orderNo
+          }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="瑙勫垯搴忓垪鍙�" prop="ruleNo" align="center" min-width="140" show-overflow-tooltip />
+      <el-table-column label="瑙勫垯鍚嶇О" prop="ruleName" align="center" min-width="110" show-overflow-tooltip />
+      <el-table-column label="璁″垝鐘舵��" prop="statusName" align="center" show-overflow-tooltip />
+      <el-table-column label="璁″垝鐩樼偣鏃堕棿" prop="planDate" align="center" min-width="160" show-overflow-tooltip />
+      <el-table-column label="鍒涘缓鏃堕棿" prop="createdTime" align="center" min-width="160" show-overflow-tooltip /> -->
+
+        <!-- <el-table-column label="鎿嶄綔" width="180px" align="center">
+            <template #default="scope">
+                <el-button   plain size="small" class="el-icon-edit" :disabled="scope.row.status != 0" @click="reject(scope.row)">椹冲洖</el-button>
+                <el-button  plain size="small" class="el-icon-check" :disabled="scope.row.status == 1" @click="pass(scope.row.orderNo)">閫氳繃</el-button>
+            </template>
+        </el-table-column> -->
+      </el-table>
+      <Pagination :total="totalItems" v-model:page="formModel.PageNo" v-model:limit="formModel.PageSize"
+        @pagination="getTabelData" style="margin-top: 20px; text-align: center"></Pagination>
+    </el-card>
+
+
+    <!-- 椹冲洖 -->
+    <el-dialog v-model="dialogVisible" title="鐩樼偣璁″垝椹冲洖" width="30%" @close="closeDialog">
+      <el-form :model="rejectForm" label-width="100px" ref="dialogRef" :rules="formRules">
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="椹冲洖鐞嗙敱:" prop="rejectMsg">
+              <el-input v-model="rejectForm.rejectMsg" type="textarea" :rows="4" clearable placeholder="璇疯緭鍏ラ┏鍥炵悊鐢�" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="dialogVisible = false">鍙栨秷</el-button>
+          <el-button type="primary" @click="confirmReject">纭</el-button>
+        </span>
+      </template>
+    </el-dialog>
+    <!-- 璇︽儏 -->
+    <el-dialog v-model="detailVisible" title="鐩樼偣璇︽儏" width="60%" @close="closeDetailDialog">
+      <el-form :model="addForm" label-width="120px" ref="detailRef" :rules="formRules">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="鐩樼偣璁″垝鍙�:" prop="orderNo">
+              <el-input v-model="addForm.orderNo" clearable disabled placeholder="璇疯緭鍏ョ洏鐐硅鍒掑彿" />
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :span="12">
+          <el-form-item label="鐩樼偣瑙勫垯:" prop="ruleNo">
+            <el-select v-model="addForm.ruleNo" clearable disabled placeholder="璇烽�夋嫨鐩樼偣瑙勬牸"  style="width: 100%">
+              <el-option v-for="item in checkRulesEnum" :key="item.orderNo" :label="item.name" :value="item.orderNo" />
+            </el-select>
+          </el-form-item>
+        </el-col> -->
+
+          <el-col :span="12">
+            <el-form-item label="鐩樼偣鏃ユ湡:" prop="planDate">
+              <el-date-picker v-model="addForm.planDate" type="date" disabled format="YYYY-MM-DD"
+                value-format="YYYY-MM-DD" clearable placeholder="璇烽�夋嫨鏃ユ湡" :disabled-date="disabledDate"
+                style="width: 100%" />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="澶囨敞">
+              <el-input v-model="addForm.remarks" clearable disabled placeholder="璇疯緭鍏ヨ鍒掑娉�" />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="鐩樼偣缁村害:" prop="checkType">
+              <el-select v-model="addForm.checkType" clearable disabled placeholder="璇烽�夋嫨鐩樼偣缁村害" 
+                style="width: 100%">
+                <el-option v-for="item in checkTypeEnum" :key="item.value" :label="item.title" :value="item.value" />
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12" v-show="addForm.checkType == 0">
+            <el-form-item label="閫夋嫨浠撳簱:">
+              <el-select v-model="addForm.storehouse.wareStorehouseCode" clearable disabled placeholder="璇烽�夋嫨闇�瑕佺洏鐐圭殑浠撳簱"
+                style="width: 100%">
+                <el-option v-for="item in wareStoreHouseEnum" :key="item.value" :label="item.title" :value="item.value" />
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12" v-show="addForm.checkType == 0">
+            <el-form-item label="閫夋嫨搴撳尯:">
+              <el-select v-model="addForm.storehouse.wareRegionCode" clearable disabled placeholder="璇烽�夋嫨闇�瑕佺洏鐐圭殑搴撳尯" multiple
+                collapse-tags style="width: 100%">
+                <el-option v-for="item in wareRegionEnum" :key="item.value" :label="item.title" :value="item.value" />
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <!-- 鐩樼偣鐗╂枡 -->
+      <div class="msi-content" style="margin-top: 0" v-show="addForm.checkType == 1">
+        <el-table :data="warehousOrderDetails" border style="width: 100%" row-key="id" ref="detailRef">
+          <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+          <el-table-column label="鐗╂枡缂栧彿" prop="wareMaterialCode" align="center" show-overflow-tooltip />
+          <el-table-column label="鐗╂枡鍚嶇О" prop="wareMaterialName" align="center" show-overflow-tooltip />
+          <el-table-column label="搴撳瓨鏁伴噺" prop="quantity" :formatter="formatDecimalData" align="right"
+            show-overflow-tooltip />
+        </el-table>
+      </div>
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="detailVisible = false">鍙栨秷</el-button>
+          <!-- <el-button type="primary" @click="dialogVisible = false">纭</el-button> -->
+        </span>
+      </template>
+    </el-dialog>
+    <!-- 鐩樼偣璁″垝鑼冨洿 -->
+    <el-drawer v-model="drawerVisible" title="璁″垝鑼冨洿" direction="rtl" size="80%" @close="handleDrawerClose">
+      <template #title>
+        <div class="slot_title">
+          <div class="title_orderNo">{{ orderNo }}</div>
+          <div>鐩樼偣鑼冨洿</div>
+        </div>
+      </template>
+      <el-table :data="deltailList" border striped style="width: 96%; margin: 10px auto">
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column label="鐗╂枡缂栧彿" prop="wareMaterialCode" align="center" />
+        <el-table-column label="鐗╂枡鍚嶇О" prop="wareMaterialName" align="center" />
+        <el-table-column label="鏁伴噺" prop="quantity" align="right" />
+        <el-table-column label="鍗曚环" prop="price" align="center">
+          <template #default="scope">
+            {{ amountFormat(scope.row.price + "", 2, false) }}
+          </template>
+        </el-table-column>
+        <el-table-column label="鎬讳环" align="center">
+          <template #default="scope">
+            {{ amountFormat(scope.row.price * scope.row.quantity + "", 2, false) }}
+          </template>
+        </el-table-column>
+        <el-table-column label="鎵规" prop="batchNo" align="center" />
+        <el-table-column label="浠撳簱" prop="wareStorehouseName" align="center" />
+        <el-table-column label="搴撳尯" prop="wareRegionName" align="center" />
+        <el-table-column label="搴撲綅鍚嶇О" prop="wareLocationName" align="center" />
+        <el-table-column label="瀹瑰櫒缂栧彿" prop="wareContainerCode" align="center" />
+      </el-table>
+      <Pagination :total="detailCount" v-model:page="detailForm.PageNo" v-model:limit="detailForm.PageSize"
+        @pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+    </el-drawer>
+  </div>
+</template>
+<script lang="ts" setup>
+import { ref, nextTick, computed, watch } from "vue";
+import {
+  getCheckPlanPage,
+  getCheckPlanRange,
+  passCheckPlan,
+  rejectCheckPlan,
+  getCheckPlanDetail,
+  passCheckXfPlan,
+  passCheckXfChPlan,
+} from "/@/api/main/Check/checkOrder";
+import { getMaterialInfoList } from "/@/api/main/warehouse";
+import { getCheckRulesPage } from "/@/api/main/Check/checkRules";
+// import { getAreaInfoList } from "/@/api/main/warehouse";
+import { ElMessage, ElMessageBox } from "element-plus";
+// import { exportExcel } from "@/utils/exportExcel";
+import Pagination from "/@/components/Pagination/index.vue";
+import {
+  amountFormat,
+  getTypeStatus,
+  getStatusStr,
+  formatDecimalData,
+  formatUtcToData,
+} from "/@/utils/formate";
+// import { ExcellTableDataExport } from "@/hooks/exportTableDataExcell";
+const store = {
+  state:{
+    login:{
+      enums:{
+        
+      }
+    }
+  }
+}
+//鐩樼偣瑙勫垯鏋氫妇
+const checkRulesEnum = ref<{ orderNo: string; name: string }[]>([]);
+//鐩樼偣鏍囪鏋氫妇
+const checkMarkEnum = computed(() => store.state.login.enums.checkMarkEnum);
+//鐩樼偣缁村害鏋氫妇
+const checkTypeEnum = ref<{ value: number; title: string }[]>([
+  { value: 0, title: "鐩樼偣浠撳簱" },
+  { value: 1, title: "鐩樼偣鐗╂枡" },
+]);
+
+//浠撳簱鏋氫妇
+const wareStoreHouseEnum = computed(() => store.state.login.enums.wareStoreHouse);
+
+//褰撲翰浠撳簱涓嬬殑搴撳尯鏋氫妇
+const wareRegionEnum = ref<{ value: string; title: string }[]>([]);
+
+//鐩樼偣璁″垝鐘舵��
+const checkStatusEnum = computed(() => store.state.login.enums.enumCheckPlanStatus);
+
+//鑾峰彇鎵�鏈夌殑鏋氫妇鍒楄〃
+const getCheckRulesEnum = () => {
+  getCheckRulesPage({ PageNo: 1, PageSize: 10000 }).then((res) => {
+    checkRulesEnum.value = res.data.rows;
+  });
+};
+getCheckRulesEnum();
+
+//鏌ヨ
+const formModel = ref({
+  OrderNo: "",
+  Status: "",
+  PageNo: 1,
+  PageSize: 10,
+  IsReview: true,
+  OrderMenuType: 44, //鐩樼偣璁″垝瀹℃牳
+  IsQueryAll: false,
+});
+
+//鐩樼偣璁″垝鍒楄〃
+let tableData = ref([]);
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+const tableRef = ref([]);
+//鑾峰彇鑿滃崟鍒楄〃
+const getTabelData = () => {
+  getCheckPlanPage(formModel.value)
+    .then((res) => {
+      if (res.code == 200) {
+        const { data } = res;
+        const result = data;
+        tableData.value = result.rows;
+        totalItems.value = result.totalRows;
+        // 娓呴櫎閫変腑
+        nextTick(() => {
+          if (tableRef.value && typeof tableRef.value.clearSelection === "function") {
+            checkRows.value = [];
+            tableRef.value.clearSelection();
+          }
+        });
+      } else {
+        ElMessage.error(`${res.code}:${JSON.stringify(res.message)}`);
+      }
+    })
+    .catch((err) => {
+      console.log(err);
+      ElMessage.error(err);
+    });
+};
+
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+  formModel.value = {
+    OrderNo: "",
+    Status: "",
+    PageNo: 1,
+    PageSize: 10,
+    IsReview: true,
+    OrderMenuType: 44, //鐩樼偣璁″垝瀹℃牳
+    IsQueryAll: false,
+  };
+  getTabelData();
+};
+
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+  checkRows.value = val;
+};
+// ------------灏佽瀵煎嚭鍔熻兘1--鍓嶇瀵煎嚭--鏍规嵁鎼滅储鏉′欢瀵煎嚭---------------
+// const jsonExcellTableExport = {
+//   titleName: "", //瀵煎嚭琛ㄦ牸鍚嶇О
+//   interfaceListName: "", //瀵煎嚭鎺ュ彛鍚嶇О
+// };
+// const {
+//   getExportTitle,
+//   handleExportExcell,
+//   formExport,
+//   entozhExcell,
+// } = ExcellTableDataExport(jsonExcellTableExport);
+// --------------end 灏佽瀵煎嚭鍔熻兘1--鏍规嵁鎼滅储鏉′欢瀵煎嚭-----------------
+//瀵煎嚭
+const handExport = () => {
+  //瀵煎嚭璋冪敤鎺ュ彛
+  // let entozh = entozhExcell;
+  // const { PageNo, PageSize, ...rest } = formModel.value;
+  // getCheckPlanPage({ PageNo: 1, PageSize: 1000000, ...rest }).then((res) => {
+  //   if (res.code == 200) {
+  //     res.data.rows.forEach((item) => {
+  //       item.checkMark = checkMarkEnum.value.filter(
+  //         (v: any) => v.value == item.checkMark
+  //       )[0]?.title;
+  //     });
+  //     exportExcel(
+  //       res.data.rows,
+  //       entozh,
+  //       "xlsx",
+  //       `鐩樼偣璁″垝瀹℃牳琛�${formatUtcToData(new Date().toString(), "YYYY-MM-DD hh:mm:ss")}`
+  //     );
+  //   }
+  // });
+};
+
+//鎵撳嵃
+// const printTable = () => {
+//   print({
+//     printable: checkRows.value,
+//     type: 'json',
+//     properties: [
+//       { field: 'orderNo', displayName: '鐩樼偣璁″垝鍙�'},
+//       { field: 'ruleNo', displayName: '瑙勫垯搴忓垪鍙�'},
+//       { field: 'ruleName', displayName: '瑙勫垯鍚嶇О'},
+//       { field: 'statusName', displayName: '璁″垝鐘舵��'},
+//       { field: 'checkTypeName', displayName: '鐩樼偣绫诲瀷'},
+//       { field: 'planDate', displayName: '璁″垝鐩樼偣鏃ユ湡'},
+//       { field: 'createdUserName', displayName: '鍒涘缓浜�'}
+//     ],
+//     header: '<h3 style="text-align: center;">鐩樼偣璁″垝鍒楄〃</h3>',
+//     sytle: '.custom-h3 { color: red; }'
+//   })
+// }
+
+//-------------------------鐩樼偣璁″垝鑼冨洿-------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+  PlanId: "",
+  CheckType: "",
+  PageNo: 1,
+  PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+
+//鍗曟嵁鍙�
+const orderNo = ref("");
+
+//鎵撳紑鎶藉眽
+const openDrawer = (scope: any = {}) => {
+  //褰撳墠鍏ュ簱鍗曞彿id
+  detailForm.value.PlanId = scope.id;
+  detailForm.value.CheckType = scope.checkType;
+  //璁″垝鍙�
+  orderNo.value = scope.orderNo;
+  //鑾峰彇鐗╂枡鍒楄〃
+  getDetail();
+  drawerVisible.value = true;
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+  detailForm.value = {
+    PlanId: "",
+    CheckType: "",
+    PageNo: 1,
+    PageSize: 10,
+  };
+
+  deltailList.value = [];
+  detailCount.value = 0;
+};
+
+//鐩樼偣璁″垝鑼冨洿鍒楄〃
+const deltailList = ref<any[]>([]);
+
+//鐩樼偣璁″垝鑼冨洿鏁版嵁鏉℃暟
+const detailCount = ref(0);
+
+//鐩樼偣璁″垝鑼冨洿
+const getDetail = () => {
+  getCheckPlanRange(detailForm.value)
+    .then((res) => {
+      if (res.code == 200) {
+        const { data } = res;
+        const result = data;
+        deltailList.value = result.rows;
+        detailCount.value = result.totalRows;
+      } else {
+        ElMessage.error(
+          JSON.stringify(`鑾峰彇璁″垝鑼冨洿澶辫触${res.code}:${JSON.stringify(res.message)}`)
+        );
+      }
+    })
+    .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+
+// -------------------椹冲洖銆侀�氳繃--------------------------------
+const rejectForm = ref({
+  orderNo: "",
+  rejectMsg: "",
+});
+
+const formRules = {
+  rejectMsg: [{ required: true, message: "椹冲洖鐞嗙敱涓嶈兘涓虹┖", trigger: "blur" }],
+};
+
+//椹冲洖绐楀彛
+const dialogVisible = ref(false);
+
+//椹冲洖琛ㄥ崟ref
+const dialogRef = ref();
+
+//鎵撳紑椹冲洖绐楀彛
+const reject = (scope: any) => {
+  rejectForm.value.orderNo = scope.orderNo;
+  dialogVisible.value = true;
+  //娓呴櫎涓婁竴娆℃牎楠�
+  nextTick(() => {
+    if(dialogRef.value){
+      dialogRef.value.clearValidate();
+    }
+  });
+};
+
+//鍏抽棴椹冲洖绐楀彛鍥炶皟
+const closeDialog = () => {
+  rejectForm.value = {
+    orderNo: "",
+    rejectMsg: "",
+  };
+};
+
+//纭椹冲洖
+const confirmReject = () => {
+  dialogRef.value.validate((vali: any) => {
+    if (vali) {
+      rejectCheckPlan(rejectForm.value)
+        .then((res) => {
+          if (res.code == 200) {
+            ElMessage.success("椹冲洖鎴愬姛");
+            getTabelData();
+            dialogVisible.value = false;
+          } else {
+            ElMessage.error(`椹冲洖澶辫触${res.code}:${JSON.stringify(res.message)}`);
+          }
+        })
+        .catch((err) => ElMessage.error(JSON.stringify(err)));
+    } else {
+      ElMessage.warning("椹冲洖鐞嗙敱涓嶈兘涓虹┖");
+    }
+  });
+};
+
+//閫氶亷
+const pass = (orderNo: string) => {
+  ElMessageBox.confirm("鏄惁纭閫氳繃璇ョ洏鐐硅鍒掞紵", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(() => {
+      passCheckPlan({ OrderNo: orderNo })
+        .then()
+        .then((res) => {
+          if (res.code == 200) {
+            ElMessage.success("璁″垝閫氳繃鎴愬姛");
+            getTabelData();
+            dialogVisible.value = false;
+          } else {
+            ElMessage.error(`璁″垝閫氳繃澶辫触${res.code}:${JSON.stringify(res.message)}`);
+          }
+        })
+        .catch((err) => ElMessage.error(JSON.stringify(err)));
+    })
+    .catch(() => ElMessage.info("宸插彇娑堥�氳繃"));
+};
+
+//鎾ゅ洖
+const passCh = (orderNo: string) => {
+  ElMessageBox.confirm("鏄惁纭涓嬪彂鎾ゅ洖锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(() => {
+      passCheckXfChPlan({ OrderNo: orderNo })
+        .then()
+        .then((res) => {
+          if (res.code == 200) {
+            ElMessage.success("涓嬪彂鎾ゅ洖鎴愬姛");
+            getTabelData();
+            dialogVisible.value = false;
+          } else {
+            ElMessage.error(`澶辫触${res.code}:${JSON.stringify(res.message)}`);
+          }
+        })
+        .catch((err) => ElMessage.error(JSON.stringify(err)));
+    })
+    .catch(() => ElMessage.info("宸插彇娑堜笅鍙戞挙鍥�"));
+};
+
+//涓嬪彂666
+const passXf = (orderNo: string) => {
+  ElMessageBox.confirm("鏄惁纭涓嬪彂锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(() => {
+      passCheckXfPlan({ OrderNo: orderNo })
+        .then()
+        .then((res) => {
+          if (res.code == 200) {
+            ElMessage.success("涓嬪彂鎴愬姛");
+            getTabelData();
+            dialogVisible.value = false;
+          } else {
+            ElMessage.error(`澶辫触${res.code}:${JSON.stringify(res.message)}`);
+          }
+        });
+    })
+    .catch(() => ElMessage.info("宸插彇娑堜笅鍙�"));
+};
+// ------------------璇︽儏---------------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref("add");
+
+//鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+const detailVisible = ref(false);
+
+//鎿嶄綔琛ㄥ崟ref
+const detailRef = ref();
+
+//鑾峰彇鐩樼偣璁″垝鏄庣粏
+const getPlanDetail = (id: number, checkType: number) => {
+  getCheckPlanDetail({ PlanId: id, CheckType: checkType })
+    .then((res) => {
+      if (res.code == 200) {
+        const { data } = res;
+        const result = data;
+        if (checkType == 0) {
+          addForm.value.storehouse.wareStorehouseCode =
+            result.storehouse.wareStorehouseCode;
+          setTimeout(() => {
+            addForm.value.storehouse.wareRegionCode = Array.isArray(
+              result.storehouse.wareRegionCode
+            )
+              ? result.storehouse.wareRegionCode
+              : [];
+          }, 300);
+        } else {
+          result.materials.forEach((item) => {
+            warehousOrderDetails.value.push(JSON.parse(item.jsonData));
+          });
+        }
+      } else {
+        ElMessage.error(`鑾峰彇鐩樼偣璁″垝鏄庣粏澶辫触${res.code}:${JSON.stringify(res.message)}`);
+      }
+    })
+    .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+//鎵撳紑绐楀彛
+const openDetailDialog = (scope: any = {}) => {
+  const { checkType, orderNo, ruleNo, planDate, remarks } = Object.assign({}, scope);
+  // addForm.value = {checkType,orderNo,ruleNo,planDate,remarks}
+  addForm.value.checkType = checkType;
+  addForm.value.orderNo = orderNo;
+  addForm.value.ruleNo = ruleNo;
+  addForm.value.planDate = planDate;
+  addForm.value.remarks = remarks;
+  getPlanDetail(scope.id, scope.checkType);
+  detailVisible.value = true;
+};
+
+//娣诲姞/缂栬緫
+let addForm = ref({
+  orderNo: "",
+  ruleNo: "",
+  planDate: "",
+  remarks: "",
+  checkType: 0,
+  materials: [] as { wareMaterialCode: string; batchNo: string }[],
+  storehouse: {
+    wareStorehouseCode: "",
+    wareRegionCode: [] as string[],
+  },
+});
+
+//鏃ユ湡閫夋嫨涓嶈兘澶т簬褰撳墠鏃堕棿
+const disabledDate = (time: Date) => {
+  return time.getTime() <= Date.now();
+};
+
+//鍏抽棴绐楀彛
+const closeDetailDialog = () => {
+  addForm.value = {
+    orderNo: "",
+    ruleNo: "",
+    planDate: "",
+    remarks: "",
+    checkType: 0,
+    materials: [] as { wareMaterialCode: string; batchNo: string }[],
+    storehouse: {
+      wareStorehouseCode: "",
+      wareRegionCode: [] as string[],
+    },
+  };
+
+  warehousOrderDetails.value = [];
+  detailRef.value.clearSelection();
+};
+
+//搴撳尯鏌ヨ锛屾牴鎹粨搴撴煡璇㈡煡璇粨搴撲笅闈㈠簱鍖�
+const getwareRegion = () => {
+  wareRegionEnum.value = [];
+  // getAreaInfoList({
+  //   StorId: addForm.value.storehouse.wareStorehouseCode,
+  //   PageNo: 1,
+  //   PageSize: 1000,
+  // })
+  //   .then((res) => {
+  //     if (res.code == 200) {
+  //       const { data } = res;
+  //       const result = data;
+  //       if (Array.isArray(result.rows)) {
+  //         result.rows.forEach((item) => {
+  //           const obj = {
+  //             value: item.code,
+  //             title: item.name,
+  //           };
+  //           wareRegionEnum.value.push(obj);
+  //         });
+  //       }
+  //     } else {
+  //       ElMessage.error(`${res.code}:${JSON.stringify(res.message)}`);
+  //     }
+  //   })
+  //   .catch((err) => {
+  //     ElMessage.error(err);
+  //   });
+};
+//鐩戣搴撳尯鐨勯�夋嫨鍙樺寲锛岃幏鍙栧綋鍓嶄粨搴撲笅鐨勫簱鍖哄垪琛�
+watch(
+  () => addForm.value.storehouse.wareStorehouseCode,
+  (value) => {
+    addForm.value.storehouse.wareRegionCode = [];
+    if (value) {
+      getwareRegion();
+    } else {
+      //濡傛灉娓呯┖浜嗗簱鍖�,搴撲綅淇℃伅涓虹┖
+      wareRegionEnum.value = [];
+    }
+  }
+);
+const showAdvanceQueryUI = ref(false);
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUI = () => {
+  showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+}
+</script>
+<style lang="less" scoped></style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkAuditXf/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkAuditXf/index.vue
new file mode 100644
index 0000000..a3b17c1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkAuditXf/index.vue
@@ -0,0 +1,793 @@
+<template>
+  <!--  鐩樼偣璁″垝涓嬪彂-->
+  <div class="wmsRecordTrans-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+      <el-form :model="formModel" label-width="90px">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="formModel.searchKey" clearable="" placeholder="鍗曞彿" />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍗曞彿:">
+              <el-input v-model="formModel.OrderNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+            </el-form-item>
+          </el-col>
+
+    		  <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐘舵��:">
+              <el-select v-model="formModel.Status" clearable placeholder="璇烽�夋嫨鐘舵��" style="width: 100%">
+                <el-option v-for="item in checkStatusEnum" :key="item.value" :value="item.value" :label="item.title" />
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary" icon="ele-Search" @click="getTabelData" v-auth="'wmsFactory:page'"> 鏌ヨ
+                </el-button>
+                <el-button icon="ele-Refresh" @click="() => formModel = {}"> 閲嶇疆 </el-button>
+                <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI"
+                  style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI"
+                  style="margin-left:5px;"> 闅愯棌 </el-button>
+ 
+                  <el-button  type="primary" style="margin-left:5px;" :disabled="checkRows.length != 1" @click="passXf(checkRows[0].orderNo)">涓嬪彂</el-button>
+            <el-button  type="primary" style="margin-left:5px;"  @click="passCh(checkRows[0].orderNo)" :disabled="checkRows.length != 1">涓嬪彂鎾ゅ洖</el-button>
+
+            <el-button  type="primary" style="margin-left:5px;" icon="ele-Download" @click="handExport">瀵煎嚭</el-button>
+
+              </el-button-group>
+            </el-form-item>
+
+          </el-col>
+
+          <!--           
+          <el-col :span="8">
+            <el-form-item label-width="20px">
+              <el-button type="primary" icon="el-icon-search" @click="getTabelData">鏌ヨ</el-button>
+              <el-button icon="el-icon-refresh-right" @click="resetForm">閲嶇疆</el-button>
+              <el-checkbox border v-model="formModel.IsQueryAll" class="mrg10">鏄惁鏌ョ湅鍏ㄩ儴</el-checkbox>
+            </el-form-item>
+          </el-col> -->
+        </el-row>
+      </el-form>
+    </el-card>
+
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <div class="header">
+        <!-- <btn-handle class="WarehousingBox" ref="propBtnRef" :itemBtn="['瀵煎嚭']" :checkRows="checkRows"
+          @handExport="handExport">
+          <template #First>
+          </template>
+        </btn-handle> -->
+
+        <!-- <el-button plain   :disabled="checkRows.length != 1"
+            @click="pass(checkRows[0].orderNo)">閫氳繃</el-button>
+          <el-button plain :disabled="checkRows.length != 1"
+            @click="reject(checkRows[0])">椹冲洖</el-button> -->
+
+        <!-- <el-button  icon="iconfont icon-biaoqianguanli" plain :disabled="checkRows.length == 0" @click="printTable"> 鎵归噺鎵撳嵃閫変腑閫�</el-button> -->
+        <!-- <el-button  icon="el-icon-delete" plain :disabled="checkRows.length == 0" @click="handleBatchDelete">鎵归噺鍒犻櫎閫変腑椤�</el-button> -->
+        <!--  -->
+      </div>
+      <el-table max-height="480" ref="tableRef" :data="tableData" border style="width: 100%" row-key="id"
+        @selection-change="handleSelectionChange" :summary-method="getExportTitle" show-summary class="tableBox">
+
+        <el-table-column align="center" width="60" type="selection" />
+        <el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column fixed="left" label="鍗曞彿" prop="orderNo" align="center" min-width="200" show-overflow-tooltip>
+          <template #default="scope">
+            <!-- <span @click="openDrawer(scope.row)" class="under_line">{{scope.row.orderNo}}</span> -->
+            <span @click="openDetailDialog(scope.row)" class="under_line">{{
+              scope.row.orderNo
+            }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column fixed="left" label="鐘舵��" prop="statusName" width="110" align="center">
+          <template #default="scope">
+            <el-tag :type="getTypeStatus(0, scope.row.statusName)">
+              {{ scope.row.statusName }}</el-tag>
+          </template>
+        </el-table-column>
+        <el-table-column label="璁″垝鐩樼偣鏃堕棿" prop="planDate" align="center" min-width="160" show-overflow-tooltip />
+        <el-table-column label="鐩樼偣缁村害" prop="checkTypeName" align="center" show-overflow-tooltip />
+        <el-table-column label="璁″垝绫诲瀷" prop="checkMark" align="center" show-overflow-tooltip>
+          <template #default="scope">
+            <div v-for="option in checkMarkEnum" :key="option.value">
+              <span v-if="scope.row.checkMark == option.value"> {{ option.title }} </span>
+            </div>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column label="瑙勫垯鍚嶇О" prop="ruleName" align="center" min-width="110" show-overflow-tooltip /> -->
+        <el-table-column label="鐩樼偣绫诲瀷" prop="ruleCheckTypeName" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="鐩樼偣姣斾緥" prop="ruleRate" align="center" min-width="110" show-overflow-tooltip>
+          <template #default="scope">
+            {{ scope.row.ruleRate }}%
+          </template>
+        </el-table-column>
+        <el-table-column label="浠撳簱" prop="wareHouse" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="搴撳尯" prop="regionName" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="瀹℃壒鏃ユ湡" prop="reviewDatetime" align="center" min-width="160" show-overflow-tooltip />
+        <el-table-column label="瀹℃壒浜�" prop="reviewName" align="center" min-width="110" show-overflow-tooltip />
+
+        <el-table-column label="鐢宠鏃ユ湡" prop="commitDate" align="center" min-width="160" show-overflow-tooltip />
+        <el-table-column label="鐢宠浜�" prop="commitName" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="涓嬪彂鏃ユ湡" prop="sendDate" align="center" min-width="160" show-overflow-tooltip />
+        <el-table-column label="涓嬪彂浜�" prop="sendName" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="椹冲洖鐞嗙敱" prop="rejectMsg" align="center" min-width="110" show-overflow-tooltip />
+
+        <!-- <el-table-column label="鍒涘缓浜�" prop="createdUserName" align="center" width="110" show-overflow-tooltip /> -->
+        <!-- <el-table-column label="鍒涘缓鏃堕棿" prop="createdTime" align="center" width="160" show-overflow-tooltip /> -->
+        <el-table-column label="澶囨敞" prop="remarks" align="center" min-width="110" show-overflow-tooltip />
+
+
+        <!-- <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+      <el-table-column label="鐩樼偣璁″垝鍙�" prop="orderNo" align="center" min-width="140" show-overflow-tooltip>
+        <template #default="scope">
+          <span @click="openDetailDialog(scope.row)" class="under_line">{{
+            scope.row.orderNo
+          }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="瑙勫垯搴忓垪鍙�" prop="ruleNo" align="center" min-width="140" show-overflow-tooltip />
+      <el-table-column label="瑙勫垯鍚嶇О" prop="ruleName" align="center" min-width="110" show-overflow-tooltip />
+      <el-table-column label="璁″垝鐘舵��" prop="statusName" align="center" show-overflow-tooltip />
+      <el-table-column label="璁″垝鐩樼偣鏃堕棿" prop="planDate" align="center" min-width="160" show-overflow-tooltip />
+      <el-table-column label="鍒涘缓鏃堕棿" prop="createdTime" align="center" min-width="160" show-overflow-tooltip /> -->
+
+
+        <!-- <el-table-column label="鎿嶄綔" width="180px" align="center">
+            <template #default="scope">
+                <el-button   plain size="small" class="el-icon-edit" :disabled="scope.row.status != 0" @click="reject(scope.row)">椹冲洖</el-button>
+                <el-button  plain size="small" class="el-icon-check" :disabled="scope.row.status == 1" @click="pass(scope.row.orderNo)">閫氳繃</el-button>
+            </template>
+        </el-table-column> -->
+      </el-table>
+      <Pagination :total="totalItems" v-model:page="formModel.PageNo" v-model:limit="formModel.PageSize"
+        @pagination="getTabelData" style="margin-top: 20px; text-align: center"></Pagination>
+    </el-card>
+
+    <!-- 椹冲洖 -->
+    <el-dialog v-model="dialogVisible" title="鐩樼偣璁″垝椹冲洖" width="30%" @close="closeDialog">
+      <el-form :model="rejectForm" label-width="100px" ref="dialogRef" :rules="formRules">
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="椹冲洖鐞嗙敱:" prop="rejectMsg">
+              <el-input v-model="rejectForm.rejectMsg" type="textarea" :rows="4" clearable placeholder="璇疯緭鍏ラ┏鍥炵悊鐢�" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="dialogVisible = false">鍙栨秷</el-button>
+          <el-button type="primary" @click="confirmReject">纭</el-button>
+        </span>
+      </template>
+    </el-dialog>
+    <!-- 璇︽儏 -->
+    <el-dialog v-model="detailVisible" title="鐩樼偣璇︽儏" width="60%" @close="closeDetailDialog">
+      <el-form :model="addForm" label-width="120px" ref="detailRef" :rules="formRules">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="鐩樼偣璁″垝鍙�:" prop="orderNo">
+              <el-input v-model="addForm.orderNo" clearable disabled placeholder="璇疯緭鍏ョ洏鐐硅鍒掑彿" />
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :span="12">
+          <el-form-item label="鐩樼偣瑙勫垯:" prop="ruleNo">
+            <el-select v-model="addForm.ruleNo" clearable disabled placeholder="璇烽�夋嫨鐩樼偣瑙勬牸"  style="width: 100%">
+              <el-option v-for="item in checkRulesEnum" :key="item.orderNo" :label="item.name" :value="item.orderNo" />
+            </el-select>
+          </el-form-item>
+        </el-col> -->
+
+          <el-col :span="12">
+            <el-form-item label="鐩樼偣鏃ユ湡:" prop="planDate">
+              <el-date-picker v-model="addForm.planDate" type="date" disabled format="YYYY-MM-DD"
+                value-format="YYYY-MM-DD" clearable placeholder="璇烽�夋嫨鏃ユ湡" :disabled-date="disabledDate"
+                style="width: 100%" />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="澶囨敞">
+              <el-input v-model="addForm.remarks" clearable disabled placeholder="璇疯緭鍏ヨ鍒掑娉�" />
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="鐩樼偣缁村害:" prop="checkType">
+              <el-select v-model="addForm.checkType" clearable disabled placeholder="璇烽�夋嫨鐩樼偣缁村害" 
+                style="width: 100%">
+                <el-option v-for="item in checkTypeEnum" :key="item.value" :label="item.title" :value="item.value" />
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12" v-show="addForm.checkType == 0">
+            <el-form-item label="閫夋嫨浠撳簱:">
+              <el-select v-model="addForm.storehouse.wareStorehouseCode" clearable disabled placeholder="璇烽�夋嫨闇�瑕佺洏鐐圭殑浠撳簱"
+                style="width: 100%">
+                <el-option v-for="item in wareStoreHouseEnum" :key="item.value" :label="item.title" :value="item.value" />
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-show="addForm.checkType == 0">
+            <el-form-item label="閫夋嫨搴撳尯:">
+              <el-select v-model="addForm.storehouse.wareRegionCode" clearable disabled placeholder="璇烽�夋嫨闇�瑕佺洏鐐圭殑搴撳尯" multiple
+                collapse-tags style="width: 100%">
+                <el-option v-for="item in wareRegionEnum" :key="item.value" :label="item.title" :value="item.value" />
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <!-- 鐩樼偣鐗╂枡 -->
+      <div class="msi-content" style="margin-top: 0" v-show="addForm.checkType == 1">
+        <el-table :data="warehousOrderDetails" border style="width: 100%" row-key="id" ref="detailRef">
+          <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+          <el-table-column label="鐗╂枡缂栧彿" prop="wareMaterialCode" align="center" show-overflow-tooltip />
+          <el-table-column label="鐗╂枡鍚嶇О" prop="wareMaterialName" align="center" show-overflow-tooltip />
+          <el-table-column label="搴撳瓨鏁伴噺" prop="quantity" :formatter="formatDecimalData" align="right"
+            show-overflow-tooltip />
+        </el-table>
+      </div>
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="detailVisible = false">鍙栨秷</el-button>
+          <!-- <el-button type="primary" @click="dialogVisible = false">纭</el-button> -->
+        </span>
+      </template>
+    </el-dialog>
+    <!-- 鐩樼偣璁″垝鑼冨洿 -->
+    <el-drawer v-model="drawerVisible" title="璁″垝鑼冨洿" direction="rtl" size="80%" @close="handleDrawerClose">
+      <template #title>
+        <div class="slot_title">
+          <div class="title_orderNo">{{ orderNo }}</div>
+          <div>鐩樼偣鑼冨洿</div>
+        </div>
+      </template>
+      <el-table :data="deltailList" border striped style="width: 96%; margin: 10px auto">
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column label="鐗╂枡缂栧彿" prop="wareMaterialCode" align="center" />
+        <el-table-column label="鐗╂枡鍚嶇О" prop="wareMaterialName" align="center" />
+        <el-table-column label="鏁伴噺" prop="quantity" align="right" />
+        <el-table-column label="鍗曚环" prop="price" align="center">
+          <template #default="scope">
+            {{ amountFormat(scope.row.price + "", 2, false) }}
+          </template>
+        </el-table-column>
+        <el-table-column label="鎬讳环" align="center">
+          <template #default="scope">
+            {{
+              amountFormat(scope.row.price * scope.row.quantity + "", 2, false)
+            }}
+          </template>
+        </el-table-column>
+        <el-table-column label="鎵规" prop="batchNo" align="center" />
+        <el-table-column label="浠撳簱" prop="wareStorehouseName" align="center" />
+        <el-table-column label="搴撳尯" prop="wareRegionName" align="center" />
+        <el-table-column label="搴撲綅鍚嶇О" prop="wareLocationName" align="center" />
+        <el-table-column label="瀹瑰櫒缂栧彿" prop="wareContainerCode" align="center" />
+      </el-table>
+      <Pagination :total="detailCount" v-model:page="detailForm.PageNo" v-model:limit="detailForm.PageSize"
+        @pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+    </el-drawer>
+  </div>
+</template>
+<script lang="ts" setup>
+import { ref, nextTick, computed, watch } from "vue";
+import {
+  getCheckPlanPage,
+  getCheckPlanRange,
+  passCheckPlan,
+  rejectCheckPlan,
+  getCheckPlanDetail,
+  passCheckXfPlan,
+  passCheckXfChPlan
+} from "/@/api/main/Check/checkOrder";
+import { getCheckRulesPage } from "/@/api/main/Check/checkRules";
+// import { getAreaInfoList } from "/@/api/main/warehouse";
+import { ElMessage, ElMessageBox } from "element-plus";
+// import { exportExcel } from "/@/api/utils/exportExcel";
+import Pagination from "/@/components/Pagination/index.vue";
+
+import { amountFormat, getTypeStatus, getStatusStr, formatDecimalData, formatUtcToData } from "/@/utils/formate";
+// import { ExcellTableDataExport } from "/@/api/hooks/exportTableDataExcell";
+const store = {
+  state: {
+    login: {
+      enums: {
+
+      }
+    }
+  }
+}
+//鐩樼偣瑙勫垯鏋氫妇
+const checkRulesEnum = ref<{ orderNo: string; name: string }[]>([]);
+//鐩樼偣鏍囪鏋氫妇
+const checkMarkEnum = computed(() => store.state.login.enums.checkMarkEnum);
+//鐩樼偣缁村害鏋氫妇
+const checkTypeEnum = ref<{ value: number; title: string }[]>([
+  { value: 0, title: "鐩樼偣浠撳簱" },
+  { value: 1, title: "鐩樼偣鐗╂枡" }
+]);
+
+//浠撳簱鏋氫妇
+const wareStoreHouseEnum = computed(
+  () => store.state.login.enums.wareStoreHouse
+);
+
+//褰撲翰浠撳簱涓嬬殑搴撳尯鏋氫妇
+const wareRegionEnum = ref<{ value: string; title: string }[]>([]);
+
+//鐩樼偣璁″垝鐘舵��
+const checkStatusEnum = computed(() => store.state.login.enums.enumCheckPlanStatus);
+
+//鑾峰彇鎵�鏈夌殑鏋氫妇鍒楄〃
+const getCheckRulesEnum = () => {
+  getCheckRulesPage({ PageNo: 1, PageSize: 10000 }).then((res) => {
+    checkRulesEnum.value = res.data.rows;
+  });
+};
+getCheckRulesEnum();
+
+//鏌ヨ
+const formModel = ref({
+  OrderNo: "",
+  Status: "",
+  PageNo: 1,
+  PageSize: 10,
+  IsReview: true,
+  OrderMenuType: 39,//鐩樼偣璁″垝涓嬪彂
+  IsQueryAll: false
+});
+
+//鐩樼偣璁″垝鍒楄〃
+let tableData = ref([]);
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+const tableRef = ref([])
+//鑾峰彇鑿滃崟鍒楄〃
+const getTabelData = () => {
+  getCheckPlanPage(formModel.value)
+    .then((res) => {
+      if (res.code == 200) {
+        const { data } = res;
+        const result = data;
+        tableData.value = result.rows;
+        totalItems.value = result.totalRows;
+        // 娓呴櫎閫変腑 
+        nextTick(() => {
+          if (tableRef.value && typeof tableRef.value.clearSelection === 'function') {
+            checkRows.value = [];
+            tableRef.value.clearSelection();
+          }
+        })
+      } else {
+        ElMessage.error(`${res.code}:${JSON.stringify(res.message)}`);
+      }
+    })
+    .catch((err) => {
+      console.log(err);
+      ElMessage.error(err);
+    });
+};
+
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+  formModel.value = {
+    OrderNo: "",
+    Status: "",
+    PageNo: 1,
+    PageSize: 10,
+    IsReview: true,
+    OrderMenuType: 39,//鐩樼偣璁″垝涓嬪彂
+    IsQueryAll: false
+  };
+  getTabelData();
+};
+
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+  checkRows.value = val;
+};
+// // ------------灏佽瀵煎嚭鍔熻兘1--鍓嶇瀵煎嚭--鏍规嵁鎼滅储鏉′欢瀵煎嚭---------------
+// const jsonExcellTableExport = {
+//   titleName: "", //瀵煎嚭琛ㄦ牸鍚嶇О
+//   interfaceListName: '',//瀵煎嚭鎺ュ彛鍚嶇О
+// }
+// const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport)
+// // --------------end 灏佽瀵煎嚭鍔熻兘1--鏍规嵁鎼滅储鏉′欢瀵煎嚭-----------------
+// //瀵煎嚭
+// const handExport = () => {
+//   //瀵煎嚭璋冪敤鎺ュ彛
+//   let entozh = entozhExcell
+//   const { PageNo, PageSize, ...rest } = formModel.value
+//   getCheckPlanPage({ PageNo: 1, PageSize: 1000000, ...rest }).then(res => {
+//     if (res.code == 200) {
+//       res.data.rows.forEach((item) => {
+//         item.checkMark = checkMarkEnum.value.filter((v: any) => v.value == item.checkMark)[0]?.title;
+//       })
+//       exportExcel(res.data.rows, entozh, "xlsx", `鐩樼偣璁″垝瀹℃牳琛�${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`);
+//     }
+//   })
+// };
+
+//鎵撳嵃
+// const printTable = () => {
+//   print({
+//     printable: checkRows.value,
+//     type: 'json',
+//     properties: [
+//       { field: 'orderNo', displayName: '鐩樼偣璁″垝鍙�'},
+//       { field: 'ruleNo', displayName: '瑙勫垯搴忓垪鍙�'},
+//       { field: 'ruleName', displayName: '瑙勫垯鍚嶇О'},
+//       { field: 'statusName', displayName: '璁″垝鐘舵��'},
+//       { field: 'checkTypeName', displayName: '鐩樼偣绫诲瀷'},
+//       { field: 'planDate', displayName: '璁″垝鐩樼偣鏃ユ湡'},
+//       { field: 'createdUserName', displayName: '鍒涘缓浜�'}
+//     ],
+//     header: '<h3 style="text-align: center;">鐩樼偣璁″垝鍒楄〃</h3>',
+//     sytle: '.custom-h3 { color: red; }'
+//   })
+// }
+
+//-------------------------鐩樼偣璁″垝鑼冨洿-------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+  PlanId: "",
+  CheckType: "",
+  PageNo: 1,
+  PageSize: 10
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+
+//鍗曟嵁鍙�
+const orderNo = ref("");
+
+//鎵撳紑鎶藉眽
+const openDrawer = (scope: any = {}) => {
+  //褰撳墠鍏ュ簱鍗曞彿id
+  detailForm.value.PlanId = scope.id;
+  detailForm.value.CheckType = scope.checkType;
+  //璁″垝鍙�
+  orderNo.value = scope.orderNo;
+  //鑾峰彇鐗╂枡鍒楄〃
+  getDetail();
+  drawerVisible.value = true;
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+  detailForm.value = {
+    PlanId: "",
+    CheckType: "",
+    PageNo: 1,
+    PageSize: 10
+  };
+
+  deltailList.value = [];
+  detailCount.value = 0;
+};
+
+//鐩樼偣璁″垝鑼冨洿鍒楄〃
+const deltailList = ref<any[]>([]);
+
+//鐩樼偣璁″垝鑼冨洿鏁版嵁鏉℃暟
+const detailCount = ref(0);
+
+//鐩樼偣璁″垝鑼冨洿
+const getDetail = () => {
+  getCheckPlanRange(detailForm.value)
+    .then((res) => {
+      if (res.code == 200) {
+        const { data } = res;
+        const result = data;
+        deltailList.value = result.rows;
+        detailCount.value = result.totalRows;
+      } else {
+        ElMessage.error(
+          JSON.stringify(
+            `鑾峰彇璁″垝鑼冨洿澶辫触${res.code}:${JSON.stringify(res.message)}`
+          )
+        );
+      }
+    })
+    .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+
+// -------------------椹冲洖銆侀�氳繃--------------------------------
+const rejectForm = ref({
+  orderNo: "",
+  rejectMsg: ""
+});
+
+const formRules = {
+  rejectMsg: [{ required: true, message: "椹冲洖鐞嗙敱涓嶈兘涓虹┖", trigger: "blur" }]
+};
+
+//椹冲洖绐楀彛
+const dialogVisible = ref(false);
+
+//椹冲洖琛ㄥ崟ref
+const dialogRef = ref();
+
+//鎵撳紑椹冲洖绐楀彛
+const reject = (scope: any) => {
+  rejectForm.value.orderNo = scope.orderNo;
+  dialogVisible.value = true;
+  //娓呴櫎涓婁竴娆℃牎楠�
+  nextTick(() => {
+    if(dialogRef.value){
+      dialogRef.value.clearValidate();
+    }
+  });
+};
+
+//鍏抽棴椹冲洖绐楀彛鍥炶皟
+const closeDialog = () => {
+  rejectForm.value = {
+    orderNo: "",
+    rejectMsg: ""
+  };
+};
+
+//纭椹冲洖
+const confirmReject = () => {
+  dialogRef.value.validate((vali: any) => {
+    if (vali) {
+      rejectCheckPlan(rejectForm.value)
+        .then((res) => {
+          if (res.code == 200) {
+            ElMessage.success("椹冲洖鎴愬姛");
+            getTabelData();
+            dialogVisible.value = false;
+          } else {
+            ElMessage.error(
+              `椹冲洖澶辫触${res.code}:${JSON.stringify(res.message)}`
+            );
+          }
+        })
+        .catch((err) => ElMessage.error(JSON.stringify(err)));
+    } else {
+      ElMessage.warning("椹冲洖鐞嗙敱涓嶈兘涓虹┖");
+    }
+  });
+};
+
+//閫氶亷
+const pass = (orderNo: string) => {
+  ElMessageBox.confirm("鏄惁纭閫氳繃璇ョ洏鐐硅鍒掞紵", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning"
+  })
+    .then(() => {
+      passCheckPlan({ OrderNo: orderNo })
+        .then()
+        .then((res) => {
+          if (res.code == 200) {
+            ElMessage.success("璁″垝閫氳繃鎴愬姛");
+            getTabelData();
+            dialogVisible.value = false;
+          } else {
+            ElMessage.error(
+              `璁″垝閫氳繃澶辫触${res.code}:${JSON.stringify(res.message)}`
+            );
+          }
+        })
+        .catch((err) => ElMessage.error(JSON.stringify(err)));
+    })
+    .catch(() => ElMessage.info("宸插彇娑堥�氳繃"));
+};
+
+
+//鎾ゅ洖
+const passCh = (orderNo: string) => {
+  ElMessageBox.confirm("鏄惁纭涓嬪彂鎾ゅ洖锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning"
+  })
+    .then(() => {
+      passCheckXfChPlan({ OrderNo: orderNo })
+        .then()
+        .then((res) => {
+          if (res.code == 200) {
+            ElMessage.success("涓嬪彂鎾ゅ洖鎴愬姛");
+            getTabelData();
+            dialogVisible.value = false;
+          } else {
+            ElMessage.error(
+              `澶辫触${res.code}:${JSON.stringify(res.message)}`
+            );
+          }
+        })
+        .catch((err) => ElMessage.error(JSON.stringify(err)));
+    })
+    .catch(() => ElMessage.info("宸插彇娑堜笅鍙戞挙鍥�"));
+};
+
+
+//涓嬪彂666
+const passXf = (orderNo: string) => {
+  ElMessageBox.confirm("鏄惁纭涓嬪彂锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning"
+  })
+    .then(() => {
+      passCheckXfPlan({ OrderNo: orderNo })
+        .then()
+        .then((res) => {
+          if (res.code == 200) {
+            ElMessage.success("涓嬪彂鎴愬姛");
+            getTabelData();
+            dialogVisible.value = false;
+          } else {
+            ElMessage.error(`澶辫触${res.code}:${JSON.stringify(res.message)}`);
+          }
+        });
+    })
+    .catch(() => ElMessage.info("宸插彇娑堜笅鍙�"));
+};
+// ------------------璇︽儏---------------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref("add");
+
+//鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+const detailVisible = ref(false);
+
+//鎿嶄綔琛ㄥ崟ref
+const detailRef = ref();
+
+//鑾峰彇鐩樼偣璁″垝鏄庣粏
+const getPlanDetail = (id: number, checkType: number) => {
+  getCheckPlanDetail({ PlanId: id, CheckType: checkType })
+    .then((res) => {
+      if (res.code == 200) {
+        const { data } = res;
+        const result = data;
+        if (checkType == 0) {
+          addForm.value.storehouse.wareStorehouseCode =
+            result.storehouse.wareStorehouseCode;
+          setTimeout(() => {
+            addForm.value.storehouse.wareRegionCode = Array.isArray(
+              result.storehouse.wareRegionCode
+            )
+              ? result.storehouse.wareRegionCode
+              : [];
+          }, 300);
+        } else {
+          result.materials.forEach((item) => {
+            warehousOrderDetails.value.push(JSON.parse(item.jsonData));
+          });
+        }
+      } else {
+        ElMessage.error(
+          `鑾峰彇鐩樼偣璁″垝鏄庣粏澶辫触${res.code}:${JSON.stringify(res.message)}`
+        );
+      }
+    })
+    .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+//鎵撳紑绐楀彛
+const openDetailDialog = (scope: any = {}) => {
+  const { checkType, orderNo, ruleNo, planDate, remarks } = Object.assign(
+    {},
+    scope
+  );
+  // addForm.value = {checkType,orderNo,ruleNo,planDate,remarks}
+  addForm.value.checkType = checkType;
+  addForm.value.orderNo = orderNo;
+  addForm.value.ruleNo = ruleNo;
+  addForm.value.planDate = planDate;
+  addForm.value.remarks = remarks;
+  getPlanDetail(scope.id, scope.checkType);
+  detailVisible.value = true;
+};
+
+//娣诲姞/缂栬緫
+let addForm = ref({
+  orderNo: "",
+  ruleNo: "",
+  planDate: "",
+  remarks: "",
+  checkType: 0,
+  materials: [] as { wareMaterialCode: string; batchNo: string }[],
+  storehouse: {
+    wareStorehouseCode: "",
+    wareRegionCode: [] as string[]
+  }
+});
+
+//鏃ユ湡閫夋嫨涓嶈兘澶т簬褰撳墠鏃堕棿
+const disabledDate = (time: Date) => {
+  return time.getTime() <= Date.now();
+};
+
+//鍏抽棴绐楀彛
+const closeDetailDialog = () => {
+  addForm.value = {
+    orderNo: "",
+    ruleNo: "",
+    planDate: "",
+    remarks: "",
+    checkType: 0,
+    materials: [] as { wareMaterialCode: string; batchNo: string }[],
+    storehouse: {
+      wareStorehouseCode: "",
+      wareRegionCode: [] as string[]
+    }
+  };
+
+  warehousOrderDetails.value = [];
+  detailRef.value.clearSelection();
+};
+
+//搴撳尯鏌ヨ锛屾牴鎹粨搴撴煡璇㈡煡璇粨搴撲笅闈㈠簱鍖�
+const getwareRegion = () => {
+  wareRegionEnum.value = [];
+  // getAreaInfoList({
+  //   StorId: addForm.value.storehouse.wareStorehouseCode,
+  //   PageNo: 1,
+  //   PageSize: 1000
+  // })
+  //   .then((res) => {
+  //     if (res.code == 200) {
+  //       const { data } = res;
+  //       const result = data;
+  //       if (Array.isArray(result.rows)) {
+  //         result.rows.forEach((item) => {
+  //           const obj = {
+  //             value: item.code,
+  //             title: item.name
+  //           };
+  //           wareRegionEnum.value.push(obj);
+  //         });
+  //       }
+  //     } else {
+  //       ElMessage.error(`${res.code}:${JSON.stringify(res.message)}`);
+  //     }
+  //   })
+  //   .catch((err) => {
+  //     ElMessage.error(err);
+  //   });
+};
+//鐩戣搴撳尯鐨勯�夋嫨鍙樺寲锛岃幏鍙栧綋鍓嶄粨搴撲笅鐨勫簱鍖哄垪琛�
+watch(
+  () => addForm.value.storehouse.wareStorehouseCode,
+  (value) => {
+    addForm.value.storehouse.wareRegionCode = [];
+    if (value) {
+      getwareRegion();
+    } else {
+      //濡傛灉娓呯┖浜嗗簱鍖�,搴撲綅淇℃伅涓虹┖
+      wareRegionEnum.value = [];
+    }
+  }
+);
+const showAdvanceQueryUI = ref(false);
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUI = () => {
+  showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+}
+
+</script>
+<style lang="less" scoped></style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkDifference/component/openDialogDiff.vue b/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkDifference/component/openDialogDiff.vue
new file mode 100644
index 0000000..481b94c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkDifference/component/openDialogDiff.vue
@@ -0,0 +1,917 @@
+<template>
+  <!-- 娣诲姞銆佺紪杈� -->
+  <el-dialog v-model="dialogVisible"  width="80%" @close="closeDialog">
+    <template #header>
+				<div style="color: #fff">
+					<span>{{ dialogType == 'add' ? '娣诲姞' : '缂栬緫' }}</span>
+				</div>
+			</template>
+
+    <!-- <el-form :model="addForm" label-width="125px" ref="dialogRef" :rules="formRules"> -->
+      <el-form :model="addForm" ref="dialogRef" labelWidth="90">
+      <el-row>
+        <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="dialogType == 'add'">
+          <el-form-item label="璁㈠崟绫诲瀷:" prop="materialType">
+            <el-select  v-model="addForm.materialType" placeholder="璇烽�夋嫨璁㈠崟绫诲瀷" @change="changDdlx"
+              style="width: 100%">
+              <el-option v-for="item in statusEnums" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <!-- 缂栬緫涓嬫媺璇诲彇鎵�鏈夊崟鎹被鍨� -->
+        <el-col :span="8" v-if="dialogType == 'edit'">
+          <el-form-item label="璁㈠崟绫诲瀷:" prop="materialType">
+            <el-select v-model="addForm.materialType" disabled placeholder="璇烽�夋嫨璁㈠崟绫诲瀷"  style="width: 100%">
+              <el-option v-for="item in outInTypeEnum" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <!-- 鏆傛椂娉ㄩ噴 -->
+        <el-col :span="8" v-if="addForm.materialType == 5">
+          <el-form-item label="鍏嶈垂浠剁被鍨�:" prop="freeOrderType">
+            <el-select v-model="addForm.freeOrderType" placeholder="璇烽�夋嫨鍏嶈垂浠剁被鍨�"  style="width: 100%"
+              @change="changMfj" :disabled="dialogType == 'edit'">
+              <el-option v-for="item in statusEnumsMFj" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="鍗曞彿:" prop="purchaseNo">
+            <el-input v-model="addForm.purchaseNo" :disabled="dialogType == 'edit'" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+          </el-form-item>
+        </el-col>
+        <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="addForm.materialType != 22">
+          <el-form-item label="渚涘簲鍟嗕唬鐮�:" prop="supplierCode" required>
+            <el-select v-model="addForm.supplierCode" filterable placeholder="璇烽�夋嫨渚涘簲鍟嗕唬鐮�"  style="width: 100%;">
+              <el-option v-for="item in clientEnum" :key="item.code" :label="item.code" :value="item.code" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8" v-if="addForm.materialType != 22">
+          <el-form-item label="渚涘簲鍟嗗悕绉�:">
+            <el-input v-model="companyName" disabled />
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="澶囨敞:">
+            <el-input v-model="addForm.remark" clearable placeholder="璇疯緭鍏ュ娉�" />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="棰勮鍒拌揪鏃堕棿:" prop="EstimatedDate">
+            <el-date-picker v-model="addForm.EstimatedDate" type="datetime" :disabled-date="disabledDate"
+              value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨棰勮鍒拌揪鏃堕棿"
+              style="width: 100%;" />
+          </el-form-item>
+        </el-col>
+
+        <!-- 缁欏厤璐逛欢鐢� -->
+        <template v-if="addForm.materialType == 5">
+          <!-- <el-col :span="8" v-if="isShowBomBtn">
+            <el-form-item label="DI鍙�:" prop="dI_NO">
+              <el-input v-model="addForm.dI_NO" clearable placeholder="璇疯緭鍏I鍙�" />
+            </el-form-item>
+          </el-col> -->
+
+          <el-col :span="8" v-if="addForm.freeOrderType && !isShowBomBtn">
+            <el-form-item label="SJ NO.:">
+              <el-input v-model="addForm.sJ_NO" clearable placeholder="璇疯緭鍏J NO." />
+            </el-form-item>
+          </el-col>
+          
+          <el-col :span="8" v-if="addForm.freeOrderType && !isShowBomBtn">
+            <el-form-item label="鏈哄簥鍨嬪彿:" prop="machineToolTypeName">
+              <el-input v-model="addForm.machineToolTypeName" clearable placeholder="璇疯緭鍏ユ満搴婂瀷鍙�" />
+            </el-form-item>
+          </el-col>
+          
+          <el-col :span="8" v-if="addForm.freeOrderType && !isShowBomBtn">
+            <el-form-item label="鏈哄簥搴忓垪鍙�:">
+              <el-input v-model="addForm.machineToolNo" clearable placeholder="璇疯緭鍏ユ満搴婂簭鍒楀彿" />
+            </el-form-item>
+          </el-col>
+        
+        </template>
+
+      </el-row>
+    </el-form>
+    <div class="msi-content" style="margin-top: 10px">
+      <div class="header" style="margin-bottom: 10px">
+        <div>
+          <el-button type="primary" icon="el-icon-plus" @click="addMaterialDialog">鏂板鐗╂枡</el-button>
+          <!-- <el-button
+            type="primary"
+            icon="el-icon-plus"
+            @click="bomIssue"
+            v-if="isShowBomBtn">鏂板BOM</el-button>  -->
+
+          <el-button type="primary" icon="el-icon-plus" @click="diwhIssue" v-if="isShowBomBtn">鏂板DI缁存姢</el-button>
+
+
+          <el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+            @click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+
+        </div>
+      </div>
+
+      <el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+        @selection-change="detailsCheckChange" max-height="480">
+        <el-table-column align="center" width="60" type="selection" />
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center" show-overflow-tooltip />
+        <el-table-column label="鐗╂枡鍚嶇О" min-width="140" prop="materialName" align="center" show-overflow-tooltip />
+        <!-- 鍏嶈垂浠剁敤 -->
+        <el-table-column v-if="isShowBomBtn" min-width="160" label="DI缂栧彿" prop="detailsDI_NO" align="center"
+          show-overflow-tooltip />
+
+     <!-- <el-table-column label="diRelationID"  v-if="isShowBomBtn" prop="diRelationID" align="center" min-width="110" />   -->
+
+
+        <el-table-column label="BOM缂栧彿" v-if="isShowBomBtn" prop="boM_NO" align="center" min-width="110" />
+
+        <el-table-column label="鏈哄簥鍨嬪彿" v-if="isShowBomBtn" prop="machineToolTypeName" align="center" min-width="110" />
+        <el-table-column label="鏈哄簥鍙�" v-if="isShowBomBtn" prop="machineToolNo" align="center" min-width="110" />
+        <!-- clientCode -->
+        <el-table-column label="瀹㈡埛缂栧彿" v-if="isShowBomBtn" prop="diCustomCode" align="center" min-width="110" />
+        <el-table-column label="瀹㈡埛涓枃鍚嶇О" v-if="isShowBomBtn" prop="diCustomChinaName" align="center" min-width="110" />
+
+
+
+
+        <!-- <el-table-column   v-if="isShowBomBtn" min-width="160" label="BOM缂栧彿" prop="boM_NO" align="center" show-overflow-tooltip />
+
+        <el-table-column
+          label="濂楁暟"
+          v-if="isShowBomBtn"
+          align="center"
+          show-overflow-tooltip
+        >
+        <template #default="scope">
+          <span v-if="scope.row.bomConverNumber">
+          {{ Number( scope.row.bomConverNumber).toFixed(3) }}
+          </span> -->
+        <!-- <span v-if="scope.row.dantaoNum">
+            {{ Number( (scope.row.deliveryQuantity )/ scope.row.dantaoNum).toFixed(3)}} 
+          </span>  -->
+        <!-- </template>
+      </el-table-column>
+      <el-table-column
+          label="鍗曞鏁�"
+          v-if="isShowBomBtn"
+          prop="dantaoNum"
+          :formatter="formatDecimalData"
+          align="center"
+          show-overflow-tooltip
+        >
+        <template #default="scope">
+          <span v-if="scope.row.boM_NO && scope.row.bomConverNumber">
+          {{ Number( (scope.row.deliveryQuantity ) / scope.row.bomConverNumber).toFixed(0)}} 
+        </span> 
+        </template>
+      </el-table-column> -->
+
+        <el-table-column label="琛屽彿" prop="ebelp" align="center" min-width="120">
+          <template #default="scope">
+            <el-input v-model.trim="scope.row.ebelp" clearable min-width="150" placeholder="璇疯緭鍏ヨ鍙�" />
+          </template>
+        </el-table-column>
+        <!-- :disabled="!!scope.row.boM_NO" -->
+        <el-table-column label="鏁伴噺" align="center" min-width="180">
+          <template #default="scope">
+            <el-input-number :precision="3" min="0" v-model="scope.row.deliveryQuantity" size="small" />
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="dialogVisible = false">鍙栨秷</el-button>
+        <el-button type="primary" :disabled="warehousOrderDetails.length == 0" @click="confirm">纭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+  <!-- 娣诲姞鐗╂枡 -->
+  <el-dialog v-model="addMaterialVisible" title="娣诲姞鐗╂枡璇︽儏" width="60%" @close="closeMaterialDialog">
+    <template #header>
+				<div style="color: #fff">
+					<span>娣诲姞鐗╂枡璇︽儏</span>
+				</div>
+			</template>
+
+    <div class="msi-form" style="padding-top: 0px">
+      <el-form :model="materialForm"  >
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="materialForm.Code" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :span="8">
+            <el-form-item label="鐗╂枡澶х被:">
+              <el-input v-model="materialForm.MaterialTypeId" placeholder="璇疯緭鍏ョ墿鏂欏ぇ绫�" clearable></el-input>
+            </el-form-item>
+          </el-col> -->
+
+          <el-col :span="8">
+            <el-form-item label-width="20px">
+              <el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+              <!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <div class="msi-content" style="padding-top: 0; margin-top: 10px">
+      <el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+        @selection-change="materialSelectionChange" :max-height="480">
+        <el-table-column align="center" width="60" type="selection"  />
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+        <el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+
+        <!-- <el-table-column label="鐗╂枡鎻忚堪" prop="describe" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" align="center" min-width="110" show-overflow-tooltip /> -->
+        <!-- <el-table-column label="鐗╂枡澶х被" prop="category" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="鐗╂枡灏忕被" prop="materialTypeId" align="center" min-width="110" show-overflow-tooltip /> -->
+        <!-- <el-table-column label="灏哄(mm)" align="center" min-width="110" show-overflow-tooltip>
+          <template #default="scope">
+            {{
+              `${scope.row.long ? scope.row.long : 0}*${scope.row.width ? scope.row.width : 0
+                }*${scope.row.high ? scope.row.high : 0}`
+            }}
+          </template>
+        </el-table-column> -->
+        <!-- <el-table-column label="閲嶉噺(kg)" prop="weight" align="center" min-width="110" show-overflow-tooltip /> -->
+        <!-- <el-table-column label="鍗曚綅" prop="unit" align="center" min-width="110" show-overflow-tooltip /> -->
+      </el-table>
+      <Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+        @pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+        <el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+  <!-- 鍗曡鎯� -->
+  <el-drawer v-model="drawerVisible"  direction="rtl" size="80%"
+    @close="handleDrawerClose">
+    <template #title>
+      <div class="slot_title">
+        <div class="title_orderNo">{{ title }}</div>
+        <div>璁㈠崟璇︽儏</div>
+      </div>
+    </template>
+
+    <div class="detailBoxWrap">
+      <!-- 璇︽儏缁勪欢 -->
+      <open-details ref="propDetailRef"></open-details>
+      <div class="msi-form">
+        <el-form :model="detailForm">
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="鐗╂枡缂栧彿">
+                <el-input v-model="detailForm.MaterialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+              </el-form-item>
+            </el-col>
+<!-- 
+
+
+  <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="搴撲綅缂栧彿">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.sNCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐗╂枡缂栫爜">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="瀹瑰櫒缂栫爜">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.containerCode" clearable="" placeholder="璇疯緭鍏ュ鍣ㄧ紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐩樼偣鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckOrderDetails.checkStatus" placeholder="璇烽�夋嫨鐩樼偣鐘舵��">
+                <el-option v-for="(item,index) in getEnumCheckStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐩樼偣缁撴灉">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckOrderDetails.checkResult" placeholder="璇烽�夋嫨鐩樼偣缁撴灉">
+                <el-option v-for="(item,index) in getEnumCheckResultData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐩樼偣鍒嗙被">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckOrderDetails.checkOperatorClassify" placeholder="璇烽�夋嫨鐩樼偣鍒嗙被">
+                <el-option v-for="(item,index) in getEnumCheckOperatorClassifyData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+ -->
+            
+            <el-col :span="2">
+              <el-form-item label-width="20px">
+                <el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <div class="msi-content">
+        <!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+        <el-table :data="drawerList" border striped :max-height="480">
+          <el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column prop="orderNo" label="鐩樼偣鍗曞彿"  show-overflow-tooltip="" min-width="130px" />
+        <el-table-column prop="areaCode" label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="placeCode" label="搴撲綅缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="snCode" label="璺熻釜鐮�"  show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栫爜"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="containerCode" label="瀹瑰櫒缂栫爜"  show-overflow-tooltip="" />
+          <el-table-column prop="checkStatus" label="鐩樼偣鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag :type="getTypeStatus(1, scope.row.checkStatusName)"> {{ scope.row.checkStatusName }} </el-tag>
+              <!-- <el-tag>{{ getEnumDesc(scope.row.checkStatus, getEnumCheckStatusData_Index)}}</el-tag> -->
+            </template>
+          </el-table-column>
+          <el-table-column prop="checkResult" label="鐩樼偣缁撴灉"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ scope.row.checkResultName }}
+            </template>
+          </el-table-column>
+          <el-table-column prop="quantity" label="搴撳瓨鏁�" show-overflow-tooltip="" />
+        <el-table-column prop="checkQuantity" label="鐩樼偣鏁�" show-overflow-tooltip="" />
+        <el-table-column prop="checkCount" label="鐩樼偣娆℃暟"  show-overflow-tooltip="" />
+          <el-table-column prop="checkOperatorClassify" label="鐩樼偣鍒嗙被"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ scope.row.checkOperatorClassifyName }}
+            </template>
+          </el-table-column>
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130"   show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        </el-table>
+        <Pagination :total="detailCount" v-model:page="detailForm.page" v-model:limit="detailForm.PageSize"
+          @pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+        <div>
+        </div>
+      </div>
+    </div>
+  </el-drawer>
+
+
+</template>
+<script lang="ts" setup>
+import Pagination from "/@/components/Pagination/index.vue";
+import { ElMessage, ElMessageBox } from "element-plus";
+import { ref, nextTick, computed, getCurrentInstance, watch, defineExpose, defineProps } from "vue";
+import { pageWmsMaterial } from "/@/api/main/WmsBase/wmsMaterial";
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+import {
+  getTypeStatus
+} from "/@/utils/formate";
+import { pageWmsInventoryCheckOrderDetails } from "/@/api/main/WmsInventory/wmsInventoryCheckOrderDetails";
+const props = defineProps({
+  titleAuthor: {
+    type: Number,
+    required: true
+  },
+  hexiao: {
+    type: Number,
+    default: 1,
+    required: true
+  },
+})
+
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao)
+const loading = ref(false);
+
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+//鏌ヨ
+const formModel = ref({
+  MaterialCode: "",
+  WareMaterialName: "",
+});
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+  formModel.value = {
+    MaterialCode: "",
+    WareMaterialName: "",
+  };
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+  checkRows.value = val;
+};
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+  MaterialCode: "",
+  OrderId: "",
+  page: 1,
+  PageSize: 10
+});
+let title = ref("");
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref("drawerAll");
+// const
+//鍗曞彿
+const purchaseNo = ref("");
+
+//鎵撳紑鎶藉眽
+const openDrawer = (type: number, scope: any = {},entozhExcell?:any) => {
+  debugger
+  detailForm.value.page = 1; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+  detailForm.value.PageSize = 10; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+  if(scope.orderNo){
+    title.value = `${scope.orderNo}`;
+  }
+  drawerType.value = "drawerAll";
+  //褰撳墠鍏ュ簱鍗曞彿id
+  detailForm.value.OrderId = scope.id;
+  //鍏ュ簱鍗�
+  purchaseNo.value = scope.purchaseNo;
+  //鑾峰彇鐗╂枡鍒楄〃
+  getDetail();
+  drawerVisible.value = true;
+  // 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+  let scopetrans = JSON.parse(JSON.stringify(scope))
+  // scopetrans.totalQuantity = Number(scopetrans.totalQuantity).toFixed(3)
+  scopetrans.isAudit = scopetrans.isAudit?"鏄�":"鍚�";
+  nextTick(() => {
+    proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+  });
+
+};
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<any[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<any[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+  detailForm.value = {
+    MaterialCode: "",
+    OrderId: "",
+    page: 1,
+    PageSize: 10
+  };
+  deltailList.value = [];
+  detailCount.value = 0;
+  drawerList.value = [];
+};
+
+
+//鑾峰彇鍏ュ簱鍗曚笅鐗╂枡璇︽儏
+const loadingWmsInventoryCheckOrderDetails = ref(false);
+const disabled_btnWmsInventoryCheckOrderDetails = ref(false);
+
+const getDetail = async (callback?: any) => {
+  loadingWmsInventoryCheckOrderDetails.value = true;
+    disabled_btnWmsInventoryCheckOrderDetails.value = true;
+    var res = await pageWmsInventoryCheckOrderDetails({
+      ...detailForm.value
+    });
+    if(res.data.type=="success"){
+      drawerList.value = res.data.result?.items ?? [];
+      detailCount.value = res.data.result?.total;
+    }
+    loadingWmsInventoryCheckOrderDetails.value = false;
+    disabled_btnWmsInventoryCheckOrderDetails.value = false;
+
+};
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref("add");
+const dialogVisible = ref(false);
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+  createdTime: "",
+});
+//rules
+const formRules = {};
+//鎵撳紑鏂板銆佺紪杈戠獥鍙�
+const openDialog = (type: number, scope: any = {}) => {
+  if (type == 1) {
+    dialogType.value = "add";
+    // getOrderNo();
+  } else {
+    if (scope.signStatus != '寰呮敹璐�') {
+      ElMessage.warning("鍙湁寰呮敹璐х殑璁㈠崟鎵嶅彲缂栬緫锛�");
+      return
+    }
+    addForm.value.purchaseNo = scope.purchaseNo;
+    addForm.value.materialType = Number(scope.deliveryType);
+    addForm.value.deliveryType = Number(scope.deliveryType);
+    // supplierName
+    let arr = clientEnum.value.filter((v: any) => v.name == scope.supplierName);
+    if (arr.length > 0) {
+      addForm.value.supplierCode = arr[0].code;
+    }
+    addForm.value.supplierName = scope.supplierName;
+    addForm.value.EstimatedDate = scope.estimatedDate;
+
+    addForm.value.remark = scope.remark;
+    dialogType.value = "edit";
+    detailForm.value.PurchaseOrderId = scope.id;
+    detailForm.value.materialType = Number(scope.deliveryType);
+    detailForm.value.PageSize = 1000;
+    //鑾峰彇鐗╂枡 - 鍥炶皟鍑芥暟鏇挎崲瀹氭椂鍣�
+    getDetail(() => {
+
+      // 鍏嶈垂浠剁敤
+      addForm.value.freeOrderType = scope.freeOrderType;
+      // isShowBomBtn
+      addForm.value.dI_NO = scope.dI_NO;
+      addForm.value.sJ_NO = scope.sJ_NO;
+      addForm.value.machineToolTypeName = scope.machineToolTypeName;
+      addForm.value.machineToolNo = scope.machineToolNo;
+
+      deltailList.value.forEach((item) => {
+        // let  dantaoNum1 = 0
+        // if(item.bomConverNumber && item.deliveryQuantity){
+        //   dantaoNum1 = Number( (item.deliveryQuantity || 0 )/item.bomConverNumber).toFixed(3) || 0
+        // }
+        const obj = {
+          code: item.MaterialCode,
+          name: item.name,
+          specificationModel: item.specificationModel,
+          categoryName: item.category,
+          materialTypeIdName: item.materialTypeName,
+          weight: item.weight,
+          unit: item.unit,
+          long: item.long,
+          width: item.width,
+          high: item.high,
+          deliveryQuantity: item.deliveryQuantity,//鏁伴噺
+          price: item.price,
+          barNo: item.barNo,
+          machine: item.machine,
+          ebelp: item.ebelp,
+          id: item.id,
+          remark: addForm.value.remark,
+          materialType: item.deliveryType,
+          deliveryType: item.deliveryType,
+          //鍏嶈垂浠�
+          bomConverNumber: item.bomConverNumber, //鍏嶈垂浠� 濂楁暟
+          boM_NO: item.boM_NO, //BOM缂栧彿
+          dI_NO: addForm.value.dI_NO,
+          sJ_NO: addForm.value.sJ_NO,
+          // dantaoNum:dantaoNum1, //鍏嶈垂浠� 濂楁暟
+          machineToolNo: item.detailsMachineToolNo || addForm.value.machineToolNo || '',
+          machineToolTypeName: item.detailsMachineToolTypeName || addForm.value.machineToolTypeName || '',
+          diCustomCode: item.diCustomCode || '',
+          diCustomChinaName: item.diCustomChinaName || '',
+          diRelationID: item.diRelationID || '',
+          detailsDI_NO: item.detailsDI_NO || '',
+
+        };
+        warehousOrderDetails.value.push(obj);
+      });
+
+    });
+  }
+  dialogVisible.value = true;
+  //娓呴櫎閫変腑椤�
+  nextTick(() => {
+    if(dialogRef.value){
+      dialogRef.value.clearValidate();
+    }
+  });
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+  return row.id + row.ebelp;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+  addForm.value = {
+    createdTime: "",
+  };
+  warehousOrderDetails.value = [];
+  checkedDetails.value = [];
+  deltailList.value = [];
+  detailCount.value = 0;
+  detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+  checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+  ElMessageBox.confirm("鏄惁纭鍒犻櫎锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning"
+  })
+    .then(() => {
+      let arr =[];
+      if(checkedDetails.value[0].diRelationID){
+        checkedDetails.value.forEach((item) => {
+          console.log(item)
+          let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.diRelationID == item.diRelationID);
+          if(index> -1){
+            warehousOrderDetails.value.splice(index, 1);
+          }
+        });
+      }else{
+        checkedDetails.value.forEach((item) => {
+          let index = warehousOrderDetails.value.findIndex(
+          (detail) => detail.code == item.code && detail.ebelp == item.ebelp
+        );
+            warehousOrderDetails.value.splice(index, 1);
+        });
+      }
+      arr = warehousOrderDetails.value
+      warehousOrderDetails.value = [];
+      //bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+      nextTick(() => {
+        warehousOrderDetails.value = arr;
+        checkedDetails.value = [];
+        detailRef.value.clearSelection();
+      });
+    })
+    .catch(() => ElMessage.info("宸插彇娑堝垹闄�"));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const confirm = () => {
+  console.log("纭")
+  let idx = warehousOrderDetails.value.findIndex(
+    (v) => v.ebelp == "" || v.ebelp == undefined
+  );
+  if (idx > -1) {
+    ElMessage.warning("璇疯緭鍏ヨ鍙�");
+    return;
+  }
+  let isNext = "";
+  warehousOrderDetails.value.forEach((item) => {
+    const arr: any = warehousOrderDetails.value.filter(
+      (detail) => detail.ebelp == item.ebelp
+    );
+    if (arr.length > 1) {
+      isNext = `琛屽彿锛�${arr[0].ebelp}涓嶈兘鐩稿悓`;
+      return;
+    }
+  });
+  if (isNext != "") {
+    ElMessage.warning(isNext);
+    return;
+  }
+
+  let idx2 = warehousOrderDetails.value.findIndex(
+    (v) =>
+      v.deliveryQuantity == "" ||
+      v.deliveryQuantity == undefined ||
+      v.deliveryQuantity <= 0
+  );
+  if (idx2 > -1) {
+    ElMessage.warning("鏁伴噺涓嶅悎瑙勮寖锛�");
+    return;
+  }
+  addForm.value.purchaseOrderDetails = [];
+  // addForm.value.createdUserId = store.state.login.userInfo.id;
+  // addForm.value.createdUserName = store.state.login.userInfo.name;
+  // addForm.value.createdTime = formatUtcToData(
+  //   new Date().toString(),
+  //   "YYYY-MM-DD hh:mm:ss"
+  // );
+
+  warehousOrderDetails.value.forEach((item) => {
+    const obj = {
+      purchaseOrderId: 0,
+    };
+    addForm.value.purchaseOrderDetails.push(obj);
+  });
+
+  dialogRef.value.validate((vali: any) => {
+    if (vali) {
+      //娣诲姞
+      if (dialogType.value == "add") {
+        
+      } else {
+        
+      }
+    } else {
+      ElMessage.warning("琛ㄥ崟楠岃瘉澶辫触");
+    }
+  });
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+  MaterialTypeId: "",
+  Code: "",
+  // MaterialType: 1,
+  Page: 1,
+  PageSize: 10
+});
+
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+
+  loading.value = true;
+  // var res = await pageWmsMaterial(Object.assign(queryParams.value, tableParams.value));
+  var res = await pageWmsMaterial(Object.assign(materialForm.value));
+
+  materialList.value = res.data.result?.items ?? [];
+  //tableParams.value.total = res.data.result?.total;
+  materialTotal.value = res.data.result?.total;
+  loading.value = false;
+
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+  materialForm.value = {
+    MaterialTypeId: "",
+    Code: "",
+    Page: 1,
+    // MaterialType: 1,
+    PageSize: 10
+  };
+  getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+  checkedMaterial.value = val;
+};
+
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = () => {
+  // if ( addForm.value.freeOrderType && isShowBomBtn.value ) {
+  //   ElMessage.warning("鍏嶈垂浠剁被鍨嬫槸PR2锛屽彧鑳芥柊澧濪I缁存姢鐨勭墿鏂欙紒");
+  //   return;
+  // }
+  getMaterialList();
+  addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+  //鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+  if (warehousOrderDetails.value.length == 0) {
+
+    // 鑷姩缁欒鍙峰鍊�
+    checkedMaterial.value.forEach((item, index) => {
+      if (!item.ebelp) {
+        item.ebelp = index + 1 + warehousOrderDetails.value.length
+      }
+    })
+
+    warehousOrderDetails.value.push(...checkedMaterial.value);
+  } else {
+    for (let i = 0; i < checkedMaterial.value.length; i++) {
+      let idx = warehousOrderDetails.value.findIndex(
+        (item: { code: any }) =>
+          item.code == checkedMaterial.value[i].code &&
+          item.ebelp == checkedMaterial.value[i].ebelp
+      );
+      if (idx > -1) {
+        return ElMessage.warning(
+          `鐗╂枡缂栧彿${checkedMaterial.value[i].code}锛岃鍙凤細${checkedMaterial.value[i].ebelp || ""
+          }鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦
+        );
+      }
+    }
+
+    // 鑷姩缁欒鍙峰鍊�
+    checkedMaterial.value.forEach((item, index) => {
+      if (!item.ebelp) {
+        item.ebelp = index + 1 + warehousOrderDetails.value.length
+      }
+    })
+    warehousOrderDetails.value.push(...checkedMaterial.value);
+  }
+
+  addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+  materialForm.value = {
+    MaterialTypeId: "",
+    Code: "",
+    Page: 1,
+    // MaterialType: 1,
+    PageSize: 10
+  };
+  materialList.value = [];
+  checkedMaterial.value = [];
+  materialRef.value.clearSelection();
+};
+
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog ,openDrawer});
+</script>
+<style lang="less" scoped>
+.detailBoxWrap{
+  margin: 10px;
+}
+.msi-form{
+  margin-top: 10px;
+}
+.msi-form{
+  margin-bottom: 10px
+}
+
+.slot_title {
+	display: flex;
+	align-items: center;
+
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #F18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkDifference/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkDifference/index.vue
new file mode 100644
index 0000000..3254006
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkDifference/index.vue
@@ -0,0 +1,490 @@
+<template>
+	<div class="wmsInventoryCheckOrder-container">
+	<!-- 鐩樼偣鎶ヨ〃 -->
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="queryParamsWmsInventoryCheckOrder" ref="queryForm" labelWidth="90">
+				<el-row>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+						<el-form-item label="鍏抽敭瀛�">
+							<!-- ,澶囨敞,鍒涘缓浜�,淇敼浜� -->
+							<el-input v-model="queryParamsWmsInventoryCheckOrder.searchKey" clearable="" placeholder="鐩樼偣鍗曞彿,鐩樼偣鏂瑰紡,鐩樼偣闃舵,搴撳尯缂栫爜" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+						<el-form-item label="鐩樼偣鍗曞彿">
+							<el-input v-model="queryParamsWmsInventoryCheckOrder.orderNo" clearable="" placeholder="璇疯緭鍏ョ洏鐐瑰崟鍙�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+						<el-form-item label="鐩樼偣鏂瑰紡">
+							<el-select clearable="" v-model="queryParamsWmsInventoryCheckOrder.checkMode" placeholder="璇烽�夋嫨鐩樼偣鏂瑰紡">
+								<el-option v-for="(item, index) in getEnumCheckModeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="鐩樼偣鏂瑰紡鍚嶇О">
+              <el-input v-model="queryParamsWmsInventoryCheckOrder.checkModeName" clearable="" placeholder="璇疯緭鍏ョ洏鐐规柟寮忓悕绉�"/>
+              
+            </el-form-item>
+          </el-col> -->
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+						<el-form-item label="鐩樼偣闃舵">
+							<el-select clearable="" v-model="queryParamsWmsInventoryCheckOrder.checkStage" placeholder="璇烽�夋嫨鐩樼偣闃舵">
+								<el-option v-for="(item, index) in getEnumCheckStageData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="鐩樼偣闃舵鍚嶇О">
+              <el-input v-model="queryParamsWmsInventoryCheckOrder.checkStageName" clearable="" placeholder="璇疯緭鍏ョ洏鐐归樁娈靛悕绉�"/>
+            </el-form-item>
+          </el-col> -->
+
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsInventoryCheckOrder.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+            </el-form-item>
+          </el-col> -->
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+						<el-form-item label="搴撳尯鍚嶇О">
+							<!-- <el-input v-model="queryParamsWmsInventoryCheckOrder.areaName" clearable="" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"/> -->
+							<el-select v-model="queryParamsWmsInventoryCheckOrder.areaName" clearable placeholder="璇烽�夋嫨搴撳尯鍚嶇О" collapse-tags style="width: 100%">
+								<el-option v-for="item in arr1" :key="item.value" :label="item.value" :value="item.value" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="璁″垝寮�濮嬫椂闂�">
+              <el-date-picker placeholder="璇烽�夋嫨璁″垝寮�濮嬫椂闂�" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsInventoryCheckOrder.planStartDateRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="璁″垝缁撴潫鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsInventoryCheckOrder.planEndDateRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="鐩樼偣寮�濮嬫棩鏈�">
+              <el-date-picker placeholder="璇烽�夋嫨鐩樼偣寮�濮嬫棩鏈�" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsInventoryCheckOrder.startCheckTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="鐩樼偣缁撴潫鏃ユ湡">
+              <el-date-picker placeholder="璇烽�夋嫨鐩樼偣缁撴潫鏃ユ湡" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsInventoryCheckOrder.endCheckTimeRange" />
+              
+            </el-form-item>
+          </el-col> -->
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="澶囨敞">
+              <el-input v-model="queryParamsWmsInventoryCheckOrder.remarks" clearable="" placeholder="璇疯緭鍏ュ娉�"/>
+              
+            </el-form-item>
+          </el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+						<el-form-item label="鏄惁宸茶皟璐�">
+							<el-select clearable="" v-model="queryParamsWmsInventoryCheckOrder.isAudit" placeholder="璇烽�夋嫨鏄惁宸茶皟璐�">
+								<el-option v-for="(item, index) in getEnumIsAuditData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+						<el-form-item>
+							<el-button-group style="display: flex; align-items: center">
+								<el-button type="primary" icon="ele-Search" @click="handleQueryWmsInventoryCheckOrder" v-auth="'wmsInventoryCheckOrder:page'" :disabled="disabled_btnWmsInventoryCheckOrder">
+									鏌ヨ
+								</el-button>
+								<el-button icon="ele-Refresh" @click="resetWmsInventoryCheckOrder"> 閲嶇疆 </el-button>
+								<el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsInventoryCheckOrder" v-if="!showAdvanceQueryUIWmsInventoryCheckOrder" style="margin-left: 5px"> 楂樼骇鏌ヨ </el-button>
+								<el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsInventoryCheckOrder" v-if="showAdvanceQueryUIWmsInventoryCheckOrder" style="margin-left: 5px"> 闅愯棌 </el-button>
+								<!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsInventoryCheckOrder" v-auth="'wmsInventoryCheckOrder:add'"> 鏂板 </el-button> -->
+								<!-- 
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="showProp(1)" v-auth="'wmsInventoryCheckOrder:add'"> 鏂板 </el-button> -->
+
+								<!-- <el-button type="primary" style="margin-left: 5px" icon="ele-Finished" @click="openWmsWarehouse" :disabled="checkRows.length!=1">纭璋冭处</el-button> -->
+<!-- 
+								<el-button type="primary" style="margin-left: 5px" icon="ele-Upload" @click="openImportExcelWmsInventoryCheckOrder" v-auth="'wmsInventoryCheckOrder:importExcel'"> 瀵煎叆 </el-button> -->
+						
+							</el-button-group>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</el-card>
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table
+				@selection-change="handleSelectionChange"
+				ref="tableRefWmsInventoryCheckOrder"
+				:data="tableDataWmsInventoryCheckOrder"
+				style="width: 100%"
+				v-loading="loadingWmsInventoryCheckOrder"
+				tooltip-effect="light"
+				row-key="id"
+				:summary-method="getExportTitle"
+				show-summary
+				@sort-change="sortChangeWmsInventoryCheckOrder"
+				border=""
+			>
+				<!-- <el-table-column align="center" width="60" type="selection" /> -->
+				<el-table-column fixed="left" type="index" label="搴忓彿" width="55" align="center" />
+
+				<el-table-column fixed="left" label="鐩樼偣鍗曞彿" prop="orderNo" width="180" align="left" show-overflow-tooltip>
+					<template #default="scope">
+						<span class="under_line" @click="openDrawer(1, scope.row)">
+							{{ scope.row.orderNo }}
+						</span>
+					</template>
+				</el-table-column>
+
+				<el-table-column prop="checkModeName" label="鐩樼偣鏂瑰紡" show-overflow-tooltip="">
+					<template #default="scope">
+						{{ getEnumDesc(scope.row.checkMode, getEnumCheckModeData_Index) }}
+					</template>
+				</el-table-column>
+				<el-table-column prop="checkStageName" label="鐩樼偣闃舵" width="110" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag :type="getTypeStatus(1, scope.row.checkStageName)">{{ scope.row.checkStageName }}</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="areaCode" label="搴撳尯缂栧彿" width="110" show-overflow-tooltip="" />
+				<el-table-column prop="areaName" label="搴撳尯鍚嶇О" min-width="160" show-overflow-tooltip="" />
+				<el-table-column prop="planStartDate" label="璁″垝寮�濮嬫椂闂�" width="100" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+				<el-table-column prop="planEndDate" label="璁″垝缁撴潫鏃堕棿" width="100" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+				<el-table-column prop="startCheckTime" label="鐩樼偣寮�濮嬫棩鏈�" width="100" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+				<el-table-column prop="endCheckTime" label="鐩樼偣缁撴潫鏃ユ湡" width="100" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+				<el-table-column prop="remarks" label="澶囨敞" show-overflow-tooltip="" />
+				<el-table-column prop="isAudit" label="鏄惁宸茶皟璐�" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag v-if="scope.row.isAudit"> 鏄� </el-tag>
+						<el-tag type="danger" v-else> 鍚� </el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+				<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+			 <el-table-column label="鎿嶄綔" width="150" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsInventoryCheckOrder:update') || auth('wmsInventoryCheckOrder:delete')">
+					<template #default="scope">
+						<el-button type="primary" style="margin-left: 5px" icon="ele-Download" @click="handExport(scope.row)" v-auth="'wmsInventoryCheckOrder:exportExcel'"> 瀵煎嚭 </el-button>
+						<!-- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="showProp(scope.row)" v-auth="'wmsInventoryCheckOrder:update'" :disabled="scope.row.checkStage != 0">
+							缂栬緫
+						</el-button>
+						<el-button
+							icon="ele-Delete"
+							size="small"
+							text=""
+							type="primary"
+							@click="delWmsInventoryCheckOrder(scope.row)"
+							v-auth="'wmsInventoryCheckOrder:delete'"
+							:disabled="scope.row.checkStage != 0"
+						>
+							鍙栨秷</el-button
+						> -->
+					</template>
+				</el-table-column> 
+			</el-table>
+			<el-pagination
+				v-model:currentPage="tableParamsWmsInventoryCheckOrder.page"
+				v-model:page-size="tableParamsWmsInventoryCheckOrder.pageSize"
+				:total="tableParamsWmsInventoryCheckOrder.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsInventoryCheckOrder"
+				@current-change="handleCurrentChangeWmsInventoryCheckOrder"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+			<printDialogWmsInventoryCheckOrder ref="printDialogRefWmsInventoryCheckOrder" :title="printWmsInventoryCheckOrderTitle" @reloadTable="handleQueryWmsInventoryCheckOrder" />
+			<editDialogWmsInventoryCheckOrder ref="editDialogRefWmsInventoryCheckOrder" :title="editWmsInventoryCheckOrderTitle" @reloadTable="handleQueryWmsInventoryCheckOrder" />
+			<importExcelDialog
+				ref="importExcelDialogRefWmsInventoryCheckOrder"
+				:title="importExcelTitleWmsInventoryCheckOrder"
+				@parentUploadFun="handleImportExcelWmsInventoryCheckOrder"
+				@parentDownFun="handleDownExcelWmsInventoryCheckOrder"
+			/>
+		</el-card>
+
+		<!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 -->
+		<opendiff-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQueryWmsInventoryCheckOrder"></opendiff-allprop>
+	</div>
+</template>
+
+<script lang="ts" setup="" name="checkDifference">
+import { ref, onMounted, getCurrentInstance } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { auth } from '/@/utils/authFunction';
+import { formatUtcToData, getTypeStatus } from '/@/utils/formate';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import importExcelDialog from '/@/components/importExcel/index.vue'; //寮曞叆瀵煎叆缁勪欢
+import { exportPageExcel } from '/@/utils/exportPageExcel'; //寮曞叆瀵煎嚭鏂规硶
+
+// 璇诲彇涓嬫媺鏁版嵁鐨勫叕鍏辨柟娉�
+import { handleSlectDataWmsArea } from '/@/utils/selectData';
+import { getCheckPlanOpen } from '/@/api/main/Check/checkOrder';
+
+import printDialogWmsInventoryCheckOrder from '/@/views/system/print/component/hiprint/preview.vue';
+import editDialogWmsInventoryCheckOrder from '/@/views/main/WmsInventory/wmsInventoryCheckOrder/component/editDialog.vue';
+import {
+	pageWmsInventoryCheckOrder,
+	deleteWmsInventoryCheckOrder,
+	importExcelWmsInventoryCheckOrder,
+	downloadExcelTemplateWmsInventoryCheckOrder,
+downloadExcelTemplateWmsOrderDiffAll,
+} from '/@/api/main/WmsInventory/wmsInventoryCheckOrder';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+//寮曞叆瀵煎嚭鏂规硶
+import OpendiffAllprop from './component/openDialogDiff.vue';
+import { ExcellTableDataExport } from '/@/hooks/exportTableDataExcell';
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+// ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
+const jsonExcellTableExport = {
+	titleName: '', //瀵煎嚭琛ㄦ牸鍚嶇О
+	interfaceListName: '', //瀵煎嚭鎺ュ彛鍚嶇О
+};
+const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport);
+// --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬-----------------
+// ---------------鏂板-----------------------
+const showProp = (item?: any, type?: any) => {
+	if (item == 1) {
+		// 鏂板
+		proxy.$refs['propALlProp'].openDialog(1);
+	} else {
+		if (type == 3) {
+			//璇︽儏
+			proxy.$refs['propALlProp'].openDialog(3, item);
+		} else {
+			//缂栬緫
+			proxy.$refs['propALlProp'].openDialog(2, item);
+		}
+	}
+};
+// ---------------璇︽儏-----------------------
+const openDrawer = (type: number, item?: any) => {
+	proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell);
+};
+// ---------------end璇︽儏-----------------------
+
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+
+const getEnumCheckModeData_Index = ref<any>([]);
+const getEnumCheckStageData_Index = ref<any>([]);
+const getEnumIsAuditData_Index = ref<any>([]);
+
+const { getEnumDesc } = commonFunction();
+
+/***************************************************[鐩樼偣鍗曟嵁鎿嶄綔]寮�濮�***************************************************/
+const showAdvanceQueryUIWmsInventoryCheckOrder = ref(false);
+const tableRefWmsInventoryCheckOrder = ref(null);
+const printDialogRefWmsInventoryCheckOrder = ref();
+const editDialogRefWmsInventoryCheckOrder = ref();
+const loadingWmsInventoryCheckOrder = ref(false);
+const disabled_btnWmsInventoryCheckOrder = ref(false);
+const tableDataWmsInventoryCheckOrder = ref<any>([]);
+const queryParamsWmsInventoryCheckOrder = ref<any>({});
+const tableParamsWmsInventoryCheckOrder = ref({
+	page: 1,
+	CheckStageForcheckDifference:true,
+	pageSize: 10,
+	total: 0,
+});
+
+const printWmsInventoryCheckOrderTitle = ref('');
+const editWmsInventoryCheckOrderTitle = ref('');
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUIWmsInventoryCheckOrder = () => {
+	showAdvanceQueryUIWmsInventoryCheckOrder.value = !showAdvanceQueryUIWmsInventoryCheckOrder.value;
+};
+
+// 鏌ヨ鐩樼偣鍗曟嵁
+const handleQueryWmsInventoryCheckOrder = async () => {
+	loadingWmsInventoryCheckOrder.value = true;
+	disabled_btnWmsInventoryCheckOrder.value = true;
+	var res = await pageWmsInventoryCheckOrder(Object.assign(queryParamsWmsInventoryCheckOrder.value, tableParamsWmsInventoryCheckOrder.value));
+	if (res.data.type == 'success') {
+		tableDataWmsInventoryCheckOrder.value = res.data.result?.items ?? [];
+		tableParamsWmsInventoryCheckOrder.value.total = res.data.result?.total;
+	}
+	loadingWmsInventoryCheckOrder.value = false;
+	disabled_btnWmsInventoryCheckOrder.value = false;
+};
+
+// 閲嶇疆鐩樼偣鍗曟嵁鏌ヨ
+const resetWmsInventoryCheckOrder = async () => {
+	queryParamsWmsInventoryCheckOrder.value = {};
+};
+
+// 鐩樼偣鍗曟嵁鍒楁帓搴�
+const sortChangeWmsInventoryCheckOrder = async (column: any) => {
+	queryParamsWmsInventoryCheckOrder.value.field = column.prop;
+	queryParamsWmsInventoryCheckOrder.value.order = column.order;
+	await handleQueryWmsInventoryCheckOrder();
+};
+
+// 鎵撳紑鏂板鐩樼偣鍗曟嵁椤甸潰
+const openAddWmsInventoryCheckOrder = () => {
+	editWmsInventoryCheckOrderTitle.value = '娣诲姞鐩樼偣鍗曟嵁';
+	editDialogRefWmsInventoryCheckOrder.value.openDialog(1, {});
+};
+
+// 鎵撳紑鎵撳嵃鐩樼偣鍗曟嵁椤甸潰
+const openPrintWmsInventoryCheckOrder = async (row: any) => {
+	printWmsInventoryCheckOrderTitle.value = '鎵撳嵃鐩樼偣鍗曟嵁';
+};
+
+// 鎵撳紑缂栬緫鐩樼偣鍗曟嵁椤甸潰
+const openEditWmsInventoryCheckOrder = (row: any) => {
+	editWmsInventoryCheckOrderTitle.value = '缂栬緫鐩樼偣鍗曟嵁';
+	editDialogRefWmsInventoryCheckOrder.value.openDialog(2, row);
+};
+
+// 鍒犻櫎鐩樼偣鍗曟嵁
+const delWmsInventoryCheckOrder = (row: any) => {
+	ElMessageBox.confirm(`纭畾瑕佸彇娑堝悧?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			loadingWmsInventoryCheckOrder.value = true;
+			var ret = await deleteWmsInventoryCheckOrder(row);
+			if (ret.data.type == 'success') {
+				ElMessage.success('鍙栨秷鎴愬姛');
+			}
+			loadingWmsInventoryCheckOrder.value = false;
+			handleQueryWmsInventoryCheckOrder();
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉鐩樼偣鍗曟嵁椤甸潰瀹归噺
+const handleSizeChangeWmsInventoryCheckOrder = (val: number) => {
+	tableParamsWmsInventoryCheckOrder.value.pageSize = val;
+	handleQueryWmsInventoryCheckOrder();
+};
+
+// 鏀瑰彉鐩樼偣鍗曟嵁椤电爜搴忓彿
+const handleCurrentChangeWmsInventoryCheckOrder = (val: number) => {
+	tableParamsWmsInventoryCheckOrder.value.page = val;
+	handleQueryWmsInventoryCheckOrder();
+};
+
+/***************************************************[鐩樼偣鍗曟嵁鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[鐩樼偣鍗曟嵁瀵煎叆]寮�濮�***************************************************/
+const importExcelTitleWmsInventoryCheckOrder = ref('');
+const importExcelDialogRefWmsInventoryCheckOrder = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsInventoryCheckOrder = () => {
+	importExcelTitleWmsInventoryCheckOrder.value = '瀵煎叆鐩樼偣鍗曟嵁';
+	importExcelDialogRefWmsInventoryCheckOrder.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsInventoryCheckOrder = async (formData: Blob) => {
+	var result = await importExcelWmsInventoryCheckOrder(formData);
+	importExcelDialogRefWmsInventoryCheckOrder.value.callBackUploadFun(result.data); //鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+	if (result.data.type == 'success') {
+		handleQueryWmsInventoryCheckOrder();
+	}
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsInventoryCheckOrder = async () => {
+	var result = await downloadExcelTemplateWmsInventoryCheckOrder();
+	importExcelDialogRefWmsInventoryCheckOrder.value.callBackDownFun(result); //鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[鐩樼偣鍗曟嵁瀵煎叆]缁撴潫***************************************************/
+/***************************************************[鐩樼偣鍗曟嵁瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsInventoryCheckOrder = {
+	getEnumCheckModeData_Index,
+	getEnumCheckStageData_Index,
+	getEnumIsAuditData_Index,
+	formatDate_T_Date,
+	formatDate_T_Time,
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsInventoryCheckOrder = async (formData: Blob) => {
+	loadingWmsInventoryCheckOrder.value = true;
+	disabled_btnWmsInventoryCheckOrder.value = true;
+	var new_tableParamsWmsInventoryCheckOrder = JSON.parse(JSON.stringify(tableParamsWmsInventoryCheckOrder.value));
+	new_tableParamsWmsInventoryCheckOrder.page = 1;
+	new_tableParamsWmsInventoryCheckOrder.pageSize = 100000;
+	var res = await pageWmsInventoryCheckOrder(Object.assign(queryParamsWmsInventoryCheckOrder.value, new_tableParamsWmsInventoryCheckOrder));
+	if (res.data.type == 'success') {
+		exportExcelWmsInventoryCheckOrder(res.data.result?.items ?? []);
+	}
+	loadingWmsInventoryCheckOrder.value = false;
+	disabled_btnWmsInventoryCheckOrder.value = false;
+};
+
+
+//瀵煎嚭
+const handExport = (pram:any) => {
+	queryParamsWmsInventoryCheckOrder.value.orderNo = pram.orderNo;
+	downloadExcelTemplateWmsOrderDiffAll(queryParamsWmsInventoryCheckOrder.value)
+    .then((res) => {
+      if(res.status == 200){
+        const link = document.createElement("a"); //鍒涘缓a鏍囩
+          let blob = new Blob([res.data], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+          let objectUrl = URL.createObjectURL(blob);
+          link.href = objectUrl;
+          link.download = `鐩樼偣鎶ヨ〃瀵煎嚭${formatUtcToData(
+            new Date().toString(),
+            "YYYY-MM-DD hh:mm:ss"
+          )}`; // 鑷畾涔夋枃浠跺悕
+          link.click(); // 涓嬭浇鏂囦欢
+          URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+      }
+    })
+};
+
+
+//瀵煎嚭
+const exportExcelWmsInventoryCheckOrder = async (exportDataList: Array) => {
+	exportPageExcel(exportDataList, tableRefWmsInventoryCheckOrder, '鐩樼偣鍗曟嵁', functionMapWmsInventoryCheckOrder);
+};
+/***************************************************[鐩樼偣鍗曟嵁瀵煎嚭]缁撴潫***************************************************/
+
+let arr1: any = ref(''); //涓嬫媺璇诲彇鎺ュ彛
+
+// 鐩樼偣鍗曟嵁椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+	getEnumCheckModeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckModeEnum')).data.result ?? [];
+	var  CheckStageEnum = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckStageEnum')).data.result ?? [];
+	if(CheckStageEnum.length>0){
+		getEnumCheckStageData_Index.value = CheckStageEnum.filter((v: any) => {
+			return v.name == "鍒濈洏宸插畬鎴�" || v.name == "澶嶇洏宸插畬鎴�" || v.name == "宸茶皟璐�"
+		});
+	}
+	getEnumIsAuditData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+	arr1.value = await handleSlectDataWmsArea(); //涓嬫媺璇诲彇鎺ュ彛
+	handleQueryWmsInventoryCheckOrder();
+});
+
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+.under_line {
+	color: #f18201;
+	text-decoration: underline;
+	cursor: pointer;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkDifferenceCfm/component/openDialogDiffCfm.vue b/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkDifferenceCfm/component/openDialogDiffCfm.vue
new file mode 100644
index 0000000..5ccc6fc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkDifferenceCfm/component/openDialogDiffCfm.vue
@@ -0,0 +1,925 @@
+<template>
+  <!-- 娣诲姞銆佺紪杈� -->
+  <el-dialog v-model="dialogVisible"  width="80%" @close="closeDialog">
+    <template #header>
+				<div style="color: #fff">
+					<span>{{ dialogType == 'add' ? '娣诲姞' : '缂栬緫' }}</span>
+				</div>
+			</template>
+
+    <!-- <el-form :model="addForm" label-width="125px" ref="dialogRef" :rules="formRules"> -->
+      <el-form :model="addForm" ref="dialogRef" labelWidth="90">
+      <el-row>
+        <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="dialogType == 'add'">
+          <el-form-item label="璁㈠崟绫诲瀷:" prop="materialType">
+            <el-select  v-model="addForm.materialType" placeholder="璇烽�夋嫨璁㈠崟绫诲瀷" @change="changDdlx"
+              style="width: 100%">
+              <el-option v-for="item in statusEnums" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <!-- 缂栬緫涓嬫媺璇诲彇鎵�鏈夊崟鎹被鍨� -->
+        <el-col :span="8" v-if="dialogType == 'edit'">
+          <el-form-item label="璁㈠崟绫诲瀷:" prop="materialType">
+            <el-select v-model="addForm.materialType" disabled placeholder="璇烽�夋嫨璁㈠崟绫诲瀷"  style="width: 100%">
+              <el-option v-for="item in outInTypeEnum" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <!-- 鏆傛椂娉ㄩ噴 -->
+        <el-col :span="8" v-if="addForm.materialType == 5">
+          <el-form-item label="鍏嶈垂浠剁被鍨�:" prop="freeOrderType">
+            <el-select v-model="addForm.freeOrderType" placeholder="璇烽�夋嫨鍏嶈垂浠剁被鍨�"  style="width: 100%"
+              @change="changMfj" :disabled="dialogType == 'edit'">
+              <el-option v-for="item in statusEnumsMFj" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="鍗曞彿:" prop="purchaseNo">
+            <el-input v-model="addForm.purchaseNo" :disabled="dialogType == 'edit'" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+          </el-form-item>
+        </el-col>
+        <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="addForm.materialType != 22">
+          <el-form-item label="渚涘簲鍟嗕唬鐮�:" prop="supplierCode" required>
+            <el-select v-model="addForm.supplierCode" filterable placeholder="璇烽�夋嫨渚涘簲鍟嗕唬鐮�"  style="width: 100%;">
+              <el-option v-for="item in clientEnum" :key="item.code" :label="item.code" :value="item.code" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8" v-if="addForm.materialType != 22">
+          <el-form-item label="渚涘簲鍟嗗悕绉�:">
+            <el-input v-model="companyName" disabled />
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="澶囨敞:">
+            <el-input v-model="addForm.remark" clearable placeholder="璇疯緭鍏ュ娉�" />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="棰勮鍒拌揪鏃堕棿:" prop="EstimatedDate">
+            <el-date-picker v-model="addForm.EstimatedDate" type="datetime" :disabled-date="disabledDate"
+              value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨棰勮鍒拌揪鏃堕棿"
+              style="width: 100%;" />
+          </el-form-item>
+        </el-col>
+
+        <!-- 缁欏厤璐逛欢鐢� -->
+        <template v-if="addForm.materialType == 5">
+          <!-- <el-col :span="8" v-if="isShowBomBtn">
+            <el-form-item label="DI鍙�:" prop="dI_NO">
+              <el-input v-model="addForm.dI_NO" clearable placeholder="璇疯緭鍏I鍙�" />
+            </el-form-item>
+          </el-col> -->
+
+          <el-col :span="8" v-if="addForm.freeOrderType && !isShowBomBtn">
+            <el-form-item label="SJ NO.:">
+              <el-input v-model="addForm.sJ_NO" clearable placeholder="璇疯緭鍏J NO." />
+            </el-form-item>
+          </el-col>
+          
+          <el-col :span="8" v-if="addForm.freeOrderType && !isShowBomBtn">
+            <el-form-item label="鏈哄簥鍨嬪彿:" prop="machineToolTypeName">
+              <el-input v-model="addForm.machineToolTypeName" clearable placeholder="璇疯緭鍏ユ満搴婂瀷鍙�" />
+            </el-form-item>
+          </el-col>
+          
+          <el-col :span="8" v-if="addForm.freeOrderType && !isShowBomBtn">
+            <el-form-item label="鏈哄簥搴忓垪鍙�:">
+              <el-input v-model="addForm.machineToolNo" clearable placeholder="璇疯緭鍏ユ満搴婂簭鍒楀彿" />
+            </el-form-item>
+          </el-col>
+        
+        </template>
+
+      </el-row>
+    </el-form>
+    <div class="msi-content" style="margin-top: 10px">
+      <div class="header" style="margin-bottom: 10px">
+        <div>
+          <el-button type="primary" icon="el-icon-plus" @click="addMaterialDialog">鏂板鐗╂枡</el-button>
+          <!-- <el-button
+            type="primary"
+            icon="el-icon-plus"
+            @click="bomIssue"
+            v-if="isShowBomBtn">鏂板BOM</el-button>  -->
+
+          <el-button type="primary" icon="el-icon-plus" @click="diwhIssue" v-if="isShowBomBtn">鏂板DI缁存姢</el-button>
+
+
+          <el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+            @click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+
+        </div>
+      </div>
+
+      <el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+        @selection-change="detailsCheckChange" max-height="480">
+        <el-table-column align="center" width="60" type="selection" />
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center" show-overflow-tooltip />
+        <el-table-column label="鐗╂枡鍚嶇О" min-width="140" prop="materialName" align="center" show-overflow-tooltip />
+        <!-- 鍏嶈垂浠剁敤 -->
+        <el-table-column v-if="isShowBomBtn" min-width="160" label="DI缂栧彿" prop="detailsDI_NO" align="center"
+          show-overflow-tooltip />
+
+     <!-- <el-table-column label="diRelationID"  v-if="isShowBomBtn" prop="diRelationID" align="center" min-width="110" />   -->
+
+
+        <el-table-column label="BOM缂栧彿" v-if="isShowBomBtn" prop="boM_NO" align="center" min-width="110" />
+
+        <el-table-column label="鏈哄簥鍨嬪彿" v-if="isShowBomBtn" prop="machineToolTypeName" align="center" min-width="110" />
+        <el-table-column label="鏈哄簥鍙�" v-if="isShowBomBtn" prop="machineToolNo" align="center" min-width="110" />
+        <!-- clientCode -->
+        <el-table-column label="瀹㈡埛缂栧彿" v-if="isShowBomBtn" prop="diCustomCode" align="center" min-width="110" />
+        <el-table-column label="瀹㈡埛涓枃鍚嶇О" v-if="isShowBomBtn" prop="diCustomChinaName" align="center" min-width="110" />
+
+
+
+
+        <!-- <el-table-column   v-if="isShowBomBtn" min-width="160" label="BOM缂栧彿" prop="boM_NO" align="center" show-overflow-tooltip />
+
+        <el-table-column
+          label="濂楁暟"
+          v-if="isShowBomBtn"
+          align="center"
+          show-overflow-tooltip
+        >
+        <template #default="scope">
+          <span v-if="scope.row.bomConverNumber">
+          {{ Number( scope.row.bomConverNumber).toFixed(3) }}
+          </span> -->
+        <!-- <span v-if="scope.row.dantaoNum">
+            {{ Number( (scope.row.deliveryQuantity )/ scope.row.dantaoNum).toFixed(3)}} 
+          </span>  -->
+        <!-- </template>
+      </el-table-column>
+      <el-table-column
+          label="鍗曞鏁�"
+          v-if="isShowBomBtn"
+          prop="dantaoNum"
+          :formatter="formatDecimalData"
+          align="center"
+          show-overflow-tooltip
+        >
+        <template #default="scope">
+          <span v-if="scope.row.boM_NO && scope.row.bomConverNumber">
+          {{ Number( (scope.row.deliveryQuantity ) / scope.row.bomConverNumber).toFixed(0)}} 
+        </span> 
+        </template>
+      </el-table-column> -->
+
+        <el-table-column label="琛屽彿" prop="ebelp" align="center" min-width="120">
+          <template #default="scope">
+            <el-input v-model.trim="scope.row.ebelp" clearable min-width="150" placeholder="璇疯緭鍏ヨ鍙�" />
+          </template>
+        </el-table-column>
+        <!-- :disabled="!!scope.row.boM_NO" -->
+        <el-table-column label="鏁伴噺" align="center" min-width="180">
+          <template #default="scope">
+            <el-input-number :precision="3" min="0" v-model="scope.row.deliveryQuantity" size="small" />
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="dialogVisible = false">鍙栨秷</el-button>
+        <el-button type="primary" :disabled="warehousOrderDetails.length == 0" @click="confirm">纭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+  <!-- 娣诲姞鐗╂枡 -->
+  <el-dialog v-model="addMaterialVisible" title="娣诲姞鐗╂枡璇︽儏" width="60%" @close="closeMaterialDialog">
+    <template #header>
+				<div style="color: #fff">
+					<span>娣诲姞鐗╂枡璇︽儏</span>
+				</div>
+			</template>
+
+    <div class="msi-form" style="padding-top: 0px">
+      <el-form :model="materialForm"  >
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="materialForm.Code" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :span="8">
+            <el-form-item label="鐗╂枡澶х被:">
+              <el-input v-model="materialForm.MaterialTypeId" placeholder="璇疯緭鍏ョ墿鏂欏ぇ绫�" clearable></el-input>
+            </el-form-item>
+          </el-col> -->
+
+          <el-col :span="8">
+            <el-form-item label-width="20px">
+              <el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+              <!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <div class="msi-content" style="padding-top: 0; margin-top: 10px">
+      <el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+        @selection-change="materialSelectionChange" :max-height="480">
+        <el-table-column align="center" width="60" type="selection"  />
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+        <el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+
+        <!-- <el-table-column label="鐗╂枡鎻忚堪" prop="describe" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" align="center" min-width="110" show-overflow-tooltip /> -->
+        <!-- <el-table-column label="鐗╂枡澶х被" prop="category" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="鐗╂枡灏忕被" prop="materialTypeId" align="center" min-width="110" show-overflow-tooltip /> -->
+        <!-- <el-table-column label="灏哄(mm)" align="center" min-width="110" show-overflow-tooltip>
+          <template #default="scope">
+            {{
+              `${scope.row.long ? scope.row.long : 0}*${scope.row.width ? scope.row.width : 0
+                }*${scope.row.high ? scope.row.high : 0}`
+            }}
+          </template>
+        </el-table-column> -->
+        <!-- <el-table-column label="閲嶉噺(kg)" prop="weight" align="center" min-width="110" show-overflow-tooltip /> -->
+        <!-- <el-table-column label="鍗曚綅" prop="unit" align="center" min-width="110" show-overflow-tooltip /> -->
+      </el-table>
+      <Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+        @pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+        <el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+  <!-- 鍗曡鎯� -->
+  <el-drawer v-model="drawerVisible"  direction="rtl" size="80%"
+    @close="handleDrawerClose">
+    <template #title>
+      <div class="slot_title">
+        <div class="title_orderNo">{{ title }}</div>
+        <div>璁㈠崟璇︽儏</div>
+      </div>
+    </template>
+
+    <div class="detailBoxWrap">
+      <!-- 璇︽儏缁勪欢 -->
+      <open-details ref="propDetailRef"></open-details>
+      <div class="msi-form">
+        <el-form :model="detailForm">
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="鐗╂枡缂栧彿">
+                <el-input v-model="detailForm.MaterialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+              </el-form-item>
+            </el-col>
+<!-- 
+
+
+  <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="搴撲綅缂栧彿">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.sNCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐗╂枡缂栫爜">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="瀹瑰櫒缂栫爜">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.containerCode" clearable="" placeholder="璇疯緭鍏ュ鍣ㄧ紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐩樼偣鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckOrderDetails.checkStatus" placeholder="璇烽�夋嫨鐩樼偣鐘舵��">
+                <el-option v-for="(item,index) in getEnumCheckStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐩樼偣缁撴灉">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckOrderDetails.checkResult" placeholder="璇烽�夋嫨鐩樼偣缁撴灉">
+                <el-option v-for="(item,index) in getEnumCheckResultData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐩樼偣鍒嗙被">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckOrderDetails.checkOperatorClassify" placeholder="璇烽�夋嫨鐩樼偣鍒嗙被">
+                <el-option v-for="(item,index) in getEnumCheckOperatorClassifyData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+ -->
+            
+            <el-col :span="2">
+              <el-form-item label-width="20px">
+                <el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <div class="msi-content">
+        <!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+        <el-table :data="drawerList" border striped :max-height="480">
+          <el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+     
+        <el-table-column prop="orderNo" min-width="130px" label="鐩樼偣鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="areaCode" label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="placeCode" label="搴撲綅缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="snCode" label="璺熻釜鐮�" min-width="130px" show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栫爜"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="containerCode" label="瀹瑰櫒缂栫爜"  show-overflow-tooltip="" />
+          <el-table-column prop="checkStatus" label="鐩樼偣鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag :type="getTypeStatus(1, scope.row.checkStatusName)"> {{ scope.row.checkStatusName }} </el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column prop="checkResult" label="鐩樼偣缁撴灉"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ scope.row.checkResultName }}
+            </template>
+          </el-table-column>
+
+          <el-table-column prop="quantity" label="搴撳瓨鏁伴噺"  show-overflow-tooltip="" />
+          <el-table-column prop="checkQuantity" label="鐩樼偣鏁伴噺"  show-overflow-tooltip="" />
+          <el-table-column prop="qty" label="宸紓鏁�"  show-overflow-tooltip="" >
+            <template #default="scope">
+            <!-- 鍘绘帀灏忔暟鍚庨潰澶氫綑鐨�0 -->
+              {{ Number( scope.row.checkQuantity -  scope.row.quantity).toFixed(3).replace(/\.?0*$/, '') }}
+            </template>
+          </el-table-column>
+        <el-table-column prop="checkCount" label="鐩樼偣娆℃暟"  show-overflow-tooltip="" />
+          <el-table-column prop="checkOperatorClassify" label="鐩樼偣鍒嗙被"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ scope.row.checkOperatorClassifyName }}
+            </template>
+          </el-table-column>
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130"   show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        </el-table>
+        <Pagination :total="detailCount" v-model:page="detailForm.page" v-model:limit="detailForm.PageSize"
+          @pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+        <div>
+        </div>
+      </div>
+    </div>
+  </el-drawer>
+
+
+</template>
+<script lang="ts" setup>
+import Pagination from "/@/components/Pagination/index.vue";
+import { ElMessage, ElMessageBox } from "element-plus";
+import { ref, nextTick, computed, getCurrentInstance, watch, defineExpose, defineProps } from "vue";
+import { pageWmsMaterial } from "/@/api/main/WmsBase/wmsMaterial";
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+import {
+formatUtcToData,
+  getTypeStatus
+} from "/@/utils/formate";
+import { pageWmsInventoryCheckOrderDetails } from "/@/api/main/WmsInventory/wmsInventoryCheckOrderDetails";
+const props = defineProps({
+  titleAuthor: {
+    type: Number,
+    required: true
+  },
+  hexiao: {
+    type: Number,
+    default: 1,
+    required: true
+  },
+})
+
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao)
+const loading = ref(false);
+
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+//鏌ヨ
+const formModel = ref({
+  MaterialCode: "",
+  WareMaterialName: "",
+});
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+  formModel.value = {
+    MaterialCode: "",
+    WareMaterialName: "",
+  };
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+  checkRows.value = val;
+};
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+  MaterialCode: "",
+  OrderId: "",
+  page: 1,
+  PageSize: 10
+});
+let title = ref("");
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref("drawerAll");
+// const
+//鍗曞彿
+const purchaseNo = ref("");
+
+//鎵撳紑鎶藉眽
+const openDrawer = (type: number, scope: any = {},entozhExcell?:any) => {
+  debugger
+  detailForm.value.page = 1; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+  detailForm.value.PageSize = 10; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+  if(scope.orderNo){
+    title.value = `${scope.orderNo}`;
+  }
+  drawerType.value = "drawerAll";
+  //褰撳墠鍏ュ簱鍗曞彿id
+  detailForm.value.OrderId = scope.id;
+  //鍏ュ簱鍗�
+  purchaseNo.value = scope.purchaseNo;
+  //鑾峰彇鐗╂枡鍒楄〃
+  getDetail();
+  drawerVisible.value = true;
+  // 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+  let scopetrans = JSON.parse(JSON.stringify(scope))
+  // scopetrans.totalQuantity = Number(scopetrans.totalQuantity).toFixed(3)
+  scopetrans.isAudit = scopetrans.isAudit?"鏄�":"鍚�";
+  nextTick(() => {
+    proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+  });
+
+};
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<any[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<any[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+  detailForm.value = {
+    MaterialCode: "",
+    OrderId: "",
+    page: 1,
+    PageSize: 10
+  };
+  deltailList.value = [];
+  detailCount.value = 0;
+  drawerList.value = [];
+};
+
+
+//鑾峰彇鍏ュ簱鍗曚笅鐗╂枡璇︽儏
+const loadingWmsInventoryCheckOrderDetails = ref(false);
+const disabled_btnWmsInventoryCheckOrderDetails = ref(false);
+
+const getDetail = async (callback?: any) => {
+  loadingWmsInventoryCheckOrderDetails.value = true;
+    disabled_btnWmsInventoryCheckOrderDetails.value = true;
+    var res = await pageWmsInventoryCheckOrderDetails({
+      ...detailForm.value
+    });
+    if(res.data.type=="success"){
+      drawerList.value = res.data.result?.items ?? [];
+      detailCount.value = res.data.result?.total;
+    }
+    loadingWmsInventoryCheckOrderDetails.value = false;
+    disabled_btnWmsInventoryCheckOrderDetails.value = false;
+
+};
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref("add");
+const dialogVisible = ref(false);
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+  createdTime: "",
+});
+//rules
+const formRules = {};
+//鎵撳紑鏂板銆佺紪杈戠獥鍙�
+const openDialog = (type: number, scope: any = {}) => {
+  if (type == 1) {
+    dialogType.value = "add";
+    // getOrderNo();
+  } else {
+    if (scope.signStatus != '寰呮敹璐�') {
+      ElMessage.warning("鍙湁寰呮敹璐х殑璁㈠崟鎵嶅彲缂栬緫锛�");
+      return
+    }
+    addForm.value.purchaseNo = scope.purchaseNo;
+    addForm.value.materialType = Number(scope.deliveryType);
+    addForm.value.deliveryType = Number(scope.deliveryType);
+    // supplierName
+    let arr = clientEnum.value.filter((v: any) => v.name == scope.supplierName);
+    if (arr.length > 0) {
+      addForm.value.supplierCode = arr[0].code;
+    }
+    addForm.value.supplierName = scope.supplierName;
+    addForm.value.EstimatedDate = scope.estimatedDate;
+
+    addForm.value.remark = scope.remark;
+    dialogType.value = "edit";
+    detailForm.value.PurchaseOrderId = scope.id;
+    detailForm.value.materialType = Number(scope.deliveryType);
+    detailForm.value.PageSize = 1000;
+    //鑾峰彇鐗╂枡 - 鍥炶皟鍑芥暟鏇挎崲瀹氭椂鍣�
+    getDetail(() => {
+
+      // 鍏嶈垂浠剁敤
+      addForm.value.freeOrderType = scope.freeOrderType;
+      // isShowBomBtn
+      addForm.value.dI_NO = scope.dI_NO;
+      addForm.value.sJ_NO = scope.sJ_NO;
+      addForm.value.machineToolTypeName = scope.machineToolTypeName;
+      addForm.value.machineToolNo = scope.machineToolNo;
+
+      deltailList.value.forEach((item) => {
+        // let  dantaoNum1 = 0
+        // if(item.bomConverNumber && item.deliveryQuantity){
+        //   dantaoNum1 = Number( (item.deliveryQuantity || 0 )/item.bomConverNumber).toFixed(3) || 0
+        // }
+        const obj = {
+          code: item.MaterialCode,
+          name: item.name,
+          specificationModel: item.specificationModel,
+          categoryName: item.category,
+          materialTypeIdName: item.materialTypeName,
+          weight: item.weight,
+          unit: item.unit,
+          long: item.long,
+          width: item.width,
+          high: item.high,
+          deliveryQuantity: item.deliveryQuantity,//鏁伴噺
+          price: item.price,
+          barNo: item.barNo,
+          machine: item.machine,
+          ebelp: item.ebelp,
+          id: item.id,
+          remark: addForm.value.remark,
+          materialType: item.deliveryType,
+          deliveryType: item.deliveryType,
+          //鍏嶈垂浠�
+          bomConverNumber: item.bomConverNumber, //鍏嶈垂浠� 濂楁暟
+          boM_NO: item.boM_NO, //BOM缂栧彿
+          dI_NO: addForm.value.dI_NO,
+          sJ_NO: addForm.value.sJ_NO,
+          // dantaoNum:dantaoNum1, //鍏嶈垂浠� 濂楁暟
+          machineToolNo: item.detailsMachineToolNo || addForm.value.machineToolNo || '',
+          machineToolTypeName: item.detailsMachineToolTypeName || addForm.value.machineToolTypeName || '',
+          diCustomCode: item.diCustomCode || '',
+          diCustomChinaName: item.diCustomChinaName || '',
+          diRelationID: item.diRelationID || '',
+          detailsDI_NO: item.detailsDI_NO || '',
+
+        };
+        warehousOrderDetails.value.push(obj);
+      });
+
+    });
+  }
+  dialogVisible.value = true;
+  //娓呴櫎閫変腑椤�
+  nextTick(() => {
+    if(dialogRef.value){
+      dialogRef.value.clearValidate();
+    }
+  });
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+  return row.id + row.ebelp;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+  addForm.value = {
+    createdTime: "",
+  };
+  warehousOrderDetails.value = [];
+  checkedDetails.value = [];
+  deltailList.value = [];
+  detailCount.value = 0;
+  detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+  checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+  ElMessageBox.confirm("鏄惁纭鍒犻櫎锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning"
+  })
+    .then(() => {
+      let arr =[];
+      if(checkedDetails.value[0].diRelationID){
+        checkedDetails.value.forEach((item) => {
+          console.log(item)
+          let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.diRelationID == item.diRelationID);
+          if(index> -1){
+            warehousOrderDetails.value.splice(index, 1);
+          }
+        });
+      }else{
+        checkedDetails.value.forEach((item) => {
+          let index = warehousOrderDetails.value.findIndex(
+          (detail) => detail.code == item.code && detail.ebelp == item.ebelp
+        );
+            warehousOrderDetails.value.splice(index, 1);
+        });
+      }
+      arr = warehousOrderDetails.value
+      warehousOrderDetails.value = [];
+      //bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+      nextTick(() => {
+        warehousOrderDetails.value = arr;
+        checkedDetails.value = [];
+        detailRef.value.clearSelection();
+      });
+    })
+    .catch(() => ElMessage.info("宸插彇娑堝垹闄�"));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const confirm = () => {
+  console.log("纭")
+  let idx = warehousOrderDetails.value.findIndex(
+    (v) => v.ebelp == "" || v.ebelp == undefined
+  );
+  if (idx > -1) {
+    ElMessage.warning("璇疯緭鍏ヨ鍙�");
+    return;
+  }
+  let isNext = "";
+  warehousOrderDetails.value.forEach((item) => {
+    const arr: any = warehousOrderDetails.value.filter(
+      (detail) => detail.ebelp == item.ebelp
+    );
+    if (arr.length > 1) {
+      isNext = `琛屽彿锛�${arr[0].ebelp}涓嶈兘鐩稿悓`;
+      return;
+    }
+  });
+  if (isNext != "") {
+    ElMessage.warning(isNext);
+    return;
+  }
+
+  let idx2 = warehousOrderDetails.value.findIndex(
+    (v) =>
+      v.deliveryQuantity == "" ||
+      v.deliveryQuantity == undefined ||
+      v.deliveryQuantity <= 0
+  );
+  if (idx2 > -1) {
+    ElMessage.warning("鏁伴噺涓嶅悎瑙勮寖锛�");
+    return;
+  }
+  addForm.value.purchaseOrderDetails = [];
+  // addForm.value.createdUserId = store.state.login.userInfo.id;
+  // addForm.value.createdUserName = store.state.login.userInfo.name;
+  // addForm.value.createdTime = formatUtcToData(
+  //   new Date().toString(),
+  //   "YYYY-MM-DD hh:mm:ss"
+  // );
+
+  warehousOrderDetails.value.forEach((item) => {
+    const obj = {
+      purchaseOrderId: 0,
+    };
+    addForm.value.purchaseOrderDetails.push(obj);
+  });
+
+  dialogRef.value.validate((vali: any) => {
+    if (vali) {
+      //娣诲姞
+      if (dialogType.value == "add") {
+        
+      } else {
+        
+      }
+    } else {
+      ElMessage.warning("琛ㄥ崟楠岃瘉澶辫触");
+    }
+  });
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+  MaterialTypeId: "",
+  Code: "",
+  // MaterialType: 1,
+  Page: 1,
+  PageSize: 10
+});
+
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+
+  loading.value = true;
+  // var res = await pageWmsMaterial(Object.assign(queryParams.value, tableParams.value));
+  var res = await pageWmsMaterial(Object.assign(materialForm.value));
+
+  materialList.value = res.data.result?.items ?? [];
+  //tableParams.value.total = res.data.result?.total;
+  materialTotal.value = res.data.result?.total;
+  loading.value = false;
+
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+  materialForm.value = {
+    MaterialTypeId: "",
+    Code: "",
+    Page: 1,
+    // MaterialType: 1,
+    PageSize: 10
+  };
+  getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+  checkedMaterial.value = val;
+};
+
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = () => {
+  // if ( addForm.value.freeOrderType && isShowBomBtn.value ) {
+  //   ElMessage.warning("鍏嶈垂浠剁被鍨嬫槸PR2锛屽彧鑳芥柊澧濪I缁存姢鐨勭墿鏂欙紒");
+  //   return;
+  // }
+  getMaterialList();
+  addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+  //鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+  if (warehousOrderDetails.value.length == 0) {
+
+    // 鑷姩缁欒鍙峰鍊�
+    checkedMaterial.value.forEach((item, index) => {
+      if (!item.ebelp) {
+        item.ebelp = index + 1 + warehousOrderDetails.value.length
+      }
+    })
+
+    warehousOrderDetails.value.push(...checkedMaterial.value);
+  } else {
+    for (let i = 0; i < checkedMaterial.value.length; i++) {
+      let idx = warehousOrderDetails.value.findIndex(
+        (item: { code: any }) =>
+          item.code == checkedMaterial.value[i].code &&
+          item.ebelp == checkedMaterial.value[i].ebelp
+      );
+      if (idx > -1) {
+        return ElMessage.warning(
+          `鐗╂枡缂栧彿${checkedMaterial.value[i].code}锛岃鍙凤細${checkedMaterial.value[i].ebelp || ""
+          }鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦
+        );
+      }
+    }
+
+    // 鑷姩缁欒鍙峰鍊�
+    checkedMaterial.value.forEach((item, index) => {
+      if (!item.ebelp) {
+        item.ebelp = index + 1 + warehousOrderDetails.value.length
+      }
+    })
+    warehousOrderDetails.value.push(...checkedMaterial.value);
+  }
+
+  addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+  materialForm.value = {
+    MaterialTypeId: "",
+    Code: "",
+    Page: 1,
+    // MaterialType: 1,
+    PageSize: 10
+  };
+  materialList.value = [];
+  checkedMaterial.value = [];
+  materialRef.value.clearSelection();
+};
+
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog ,openDrawer});
+</script>
+<style lang="less" scoped>
+.detailBoxWrap{
+  margin: 10px;
+}
+.msi-form{
+  margin-top: 10px;
+}
+.msi-form{
+  margin-bottom: 10px
+}
+
+.slot_title {
+	display: flex;
+	align-items: center;
+
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #F18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkDifferenceCfm/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkDifferenceCfm/index.vue
new file mode 100644
index 0000000..78e5059
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/Check/checkDifferenceCfm/index.vue
@@ -0,0 +1,534 @@
+<template>
+  <div class="wmsInventoryCheckOrder-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+      <el-form :model="queryParamsWmsInventoryCheckOrder" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <!-- ,澶囨敞,鍒涘缓浜�,淇敼浜� -->
+              <el-input v-model="queryParamsWmsInventoryCheckOrder.searchKey" clearable=""
+                placeholder="鐩樼偣鍗曞彿,鐩樼偣鏂瑰紡,鐩樼偣闃舵,搴撳尯缂栫爜" />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="鐩樼偣鍗曞彿">
+              <el-input v-model="queryParamsWmsInventoryCheckOrder.orderNo" clearable="" placeholder="璇疯緭鍏ョ洏鐐瑰崟鍙�" />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="鐩樼偣鏂瑰紡">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckOrder.checkMode" placeholder="璇烽�夋嫨鐩樼偣鏂瑰紡">
+                <el-option v-for="(item, index) in getEnumCheckModeData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="鐩樼偣鏂瑰紡鍚嶇О">
+              <el-input v-model="queryParamsWmsInventoryCheckOrder.checkModeName" clearable="" placeholder="璇疯緭鍏ョ洏鐐规柟寮忓悕绉�"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="鐩樼偣闃舵">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckOrder.checkStage" placeholder="璇烽�夋嫨鐩樼偣闃舵">
+                <el-option v-for="(item, index) in getEnumCheckStageData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="鐩樼偣闃舵鍚嶇О">
+              <el-input v-model="queryParamsWmsInventoryCheckOrder.checkStageName" clearable="" placeholder="璇疯緭鍏ョ洏鐐归樁娈靛悕绉�"/>
+            </el-form-item>
+          </el-col> -->
+
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsInventoryCheckOrder.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+            </el-form-item>
+          </el-col> -->
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="搴撳尯鍚嶇О">
+              <!-- <el-input v-model="queryParamsWmsInventoryCheckOrder.areaName" clearable="" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"/> -->
+              <el-select v-model="queryParamsWmsInventoryCheckOrder.areaName" clearable placeholder="璇烽�夋嫨搴撳尯鍚嶇О"
+                collapse-tags style="width: 100%">
+                <el-option v-for="item in arr1" :key="item.value" :label="item.value" :value="item.value" />
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="璁″垝寮�濮嬫椂闂�">
+              <el-date-picker placeholder="璇烽�夋嫨璁″垝寮�濮嬫椂闂�" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsInventoryCheckOrder.planStartDateRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="璁″垝缁撴潫鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsInventoryCheckOrder.planEndDateRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="鐩樼偣寮�濮嬫棩鏈�">
+              <el-date-picker placeholder="璇烽�夋嫨鐩樼偣寮�濮嬫棩鏈�" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsInventoryCheckOrder.startCheckTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="鐩樼偣缁撴潫鏃ユ湡">
+              <el-date-picker placeholder="璇烽�夋嫨鐩樼偣缁撴潫鏃ユ湡" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsInventoryCheckOrder.endCheckTimeRange" />
+              
+            </el-form-item>
+          </el-col> -->
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="澶囨敞">
+              <el-input v-model="queryParamsWmsInventoryCheckOrder.remarks" clearable="" placeholder="璇疯緭鍏ュ娉�"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="鏄惁宸茶皟璐�">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckOrder.isAudit" placeholder="璇烽�夋嫨鏄惁宸茶皟璐�">
+                <el-option v-for="(item, index) in getEnumIsAuditData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center">
+                <el-button type="primary" icon="ele-Search" @click="handleQueryWmsInventoryCheckOrder"
+                  v-auth="'wmsInventoryCheckOrder:page'" :disabled="disabled_btnWmsInventoryCheckOrder">
+                  鏌ヨ
+                </el-button>
+                <el-button icon="ele-Refresh" @click="resetWmsInventoryCheckOrder">
+                  閲嶇疆
+                </el-button>
+                <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsInventoryCheckOrder"
+                  v-if="!showAdvanceQueryUIWmsInventoryCheckOrder" style="margin-left: 5px">
+                  楂樼骇鏌ヨ
+                </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsInventoryCheckOrder"
+                  v-if="showAdvanceQueryUIWmsInventoryCheckOrder" style="margin-left: 5px">
+                  闅愯棌
+                </el-button>
+
+                <el-button type="primary" style="margin-left: 5px" :disabled="checkRows.length != 1"
+                  @click="auditDiff(checkRows[0].orderNo)">纭璋冭处</el-button>
+                  
+                <!-- <el-button type="primary" style="margin-left: 5px" icon="ele-Upload" :disabled="checkRows.length != 1"
+                  @click="openUploadDialogCop(checkRows[0])">涓婁紶</el-button> -->
+
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsInventoryCheckOrder" v-auth="'wmsInventoryCheckOrder:add'"> 鏂板 </el-button> -->
+                <!-- 
+
+                <!-- <el-button type="primary" style="margin-left: 5px" icon="ele-Upload"
+                  @click="openImportExcelWmsInventoryCheckOrder" v-auth="'wmsInventoryCheckOrder:importExcel'">
+                  瀵煎叆
+                </el-button>
+                <el-button type="primary" style="margin-left: 5px" icon="ele-Download"
+                  @click="handleExportExcelWmsInventoryCheckOrder" v-auth="'wmsInventoryCheckOrder:exportExcel'">
+                  瀵煎嚭
+                </el-button> -->
+              </el-button-group>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table @selection-change="handleSelectionChange" ref="tableRefWmsInventoryCheckOrder"
+        :data="tableDataWmsInventoryCheckOrder" style="width: 100%" v-loading="loadingWmsInventoryCheckOrder"
+        tooltip-effect="light" row-key="id" :summary-method="getExportTitle" show-summary
+        @sort-change="sortChangeWmsInventoryCheckOrder" border="">
+        <el-table-column align="center" width="60" type="selection" />
+        <el-table-column fixed="left" type="index" label="搴忓彿" width="55" align="center" />
+
+        <el-table-column fixed="left" label="鐩樼偣鍗曞彿" prop="orderNo" width="180" align="left" show-overflow-tooltip>
+          <template #default="scope">
+            <span class="under_line" @click="openDrawer(1, scope.row)">
+              {{ scope.row.orderNo }}
+            </span>
+          </template>
+        </el-table-column>
+
+        <el-table-column prop="checkModeName" label="鐩樼偣鏂瑰紡" show-overflow-tooltip="">
+          <template #default="scope">
+            {{ getEnumDesc(scope.row.checkMode, getEnumCheckModeData_Index) }}
+          </template>
+        </el-table-column>
+        <!-- <el-table-column prop="checkModeName" label="鐩樼偣鏂瑰紡鍚嶇О"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="checkStageName" label="鐩樼偣闃舵" width="110" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag :type="getTypeStatus(
+              1,
+              scope.row.checkStageName
+            )">{{scope.row.checkStageName }}</el-tag>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column prop="checkStageName" label="鐩樼偣闃舵鍚嶇О"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="areaCode" label="搴撳尯缂栧彿" width="110" show-overflow-tooltip="" />
+        <el-table-column prop="areaName" label="搴撳尯鍚嶇О" min-width="160" show-overflow-tooltip="" />
+        <el-table-column prop="planStartDate" label="璁″垝寮�濮嬫椂闂�" width="100" :formatter="formatDate_T_Date"
+          show-overflow-tooltip="" />
+        <el-table-column prop="planEndDate" label="璁″垝缁撴潫鏃堕棿" width="100" :formatter="formatDate_T_Date"
+          show-overflow-tooltip="" />
+        <el-table-column prop="startCheckTime" label="鐩樼偣寮�濮嬫棩鏈�" width="100" :formatter="formatDate_T_Date"
+          show-overflow-tooltip="" />
+        <el-table-column prop="endCheckTime" label="鐩樼偣缁撴潫鏃ユ湡" width="100" :formatter="formatDate_T_Date"
+          show-overflow-tooltip="" />
+        <el-table-column prop="remarks" label="澶囨敞" show-overflow-tooltip="" />
+        <el-table-column prop="isAudit" label="鏄惁宸茶皟璐�" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isAudit"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+          </template>
+        </el-table-column>
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+          show-overflow-tooltip="" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+          show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+        <!-- <el-table-column label="鎿嶄綔" width="150" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsInventoryCheckOrder:update') || auth('wmsInventoryCheckOrder:delete')
+          ">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="showProp(scope.row)"
+              v-auth="'wmsInventoryCheckOrder:update'" :disabled="scope.row.checkStage != 0">
+              缂栬緫
+            </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsInventoryCheckOrder(scope.row)"
+              v-auth="'wmsInventoryCheckOrder:delete'" :disabled="scope.row.checkStage != 0">
+              鍙栨秷</el-button>
+          </template>
+        </el-table-column> -->
+      </el-table>
+      <el-pagination v-model:currentPage="tableParamsWmsInventoryCheckOrder.page"
+        v-model:page-size="tableParamsWmsInventoryCheckOrder.pageSize" :total="tableParamsWmsInventoryCheckOrder.total"
+        :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background=""
+        @size-change="handleSizeChangeWmsInventoryCheckOrder" @current-change="handleCurrentChangeWmsInventoryCheckOrder"
+        layout="total, sizes, prev, pager, next, jumper" />
+      <printDialogWmsInventoryCheckOrder ref="printDialogRefWmsInventoryCheckOrder"
+        :title="printWmsInventoryCheckOrderTitle" @reloadTable="handleQueryWmsInventoryCheckOrder" />
+      <editDialogWmsInventoryCheckOrder ref="editDialogRefWmsInventoryCheckOrder" :title="editWmsInventoryCheckOrderTitle"
+        @reloadTable="handleQueryWmsInventoryCheckOrder" />
+      <importExcelDialog ref="importExcelDialogRefWmsInventoryCheckOrder" :title="importExcelTitleWmsInventoryCheckOrder"
+        @parentUploadFun="handleImportExcelWmsInventoryCheckOrder"
+        @parentDownFun="handleDownExcelWmsInventoryCheckOrder" />
+    </el-card>
+
+    <!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 -->
+    <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp"
+      @getTabelData="handleQueryWmsInventoryCheckOrder"></open-allprop>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="checkDifferenceCfm">
+import { ref, onMounted, getCurrentInstance } from "vue";
+import { ElMessageBox, ElMessage } from "element-plus";
+import { auth } from "/@/utils/authFunction";
+import { getDictDataItem as di, getDictDataList as dl } from "/@/utils/dict-utils";
+import {
+  formatDate,
+  formatDate_T_Date,
+  formatDate_T_Time,
+  defaultTimeRange,
+} from "/@/utils/formatTime";
+import importExcelDialog from "/@/components/importExcel/index.vue"; //寮曞叆瀵煎叆缁勪欢
+import { exportPageExcel } from "/@/utils/exportPageExcel"; //寮曞叆瀵煎嚭鏂规硶
+import { formatUtcToData, getTypeStatus } from "/@/utils/formate";
+// 璇诲彇涓嬫媺鏁版嵁鐨勫叕鍏辨柟娉�
+import { handleSlectDataWmsArea } from "/@/utils/selectData";
+import { getCheckPlanCmf, getCheckPlanOpen } from "/@/api/main/Check/checkOrder";
+
+import printDialogWmsInventoryCheckOrder from "/@/views/system/print/component/hiprint/preview.vue";
+import editDialogWmsInventoryCheckOrder from "/@/views/main/WmsInventory/wmsInventoryCheckOrder/component/editDialog.vue";
+import {
+  pageWmsInventoryCheckOrder,
+  deleteWmsInventoryCheckOrder,
+  importExcelWmsInventoryCheckOrder,
+  downloadExcelTemplateWmsInventoryCheckOrder,
+} from "/@/api/main/WmsInventory/wmsInventoryCheckOrder";
+import { getAPI } from "/@/utils/axios-utils";
+import { SysEnumApi } from "/@/api-services/api";
+import commonFunction from "/@/utils/commonFunction";
+//寮曞叆瀵煎嚭鏂规硶
+import OpenAllprop from "./component/openDialogDiffCfm.vue";
+import { ExcellTableDataExport } from "/@/hooks/exportTableDataExcell";
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const moveType = 10; //绉诲姩绫诲瀷 鍏ュ簱
+// ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
+const jsonExcellTableExport = {
+  titleName: "", //瀵煎嚭琛ㄦ牸鍚嶇О
+  interfaceListName: "", //瀵煎嚭鎺ュ彛鍚嶇О
+};
+const {
+  getExportTitle,
+  handleExportExcell,
+  formExport,
+  entozhExcell,
+} = ExcellTableDataExport(jsonExcellTableExport);
+// --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬-----------------
+// ---------------鏂板-----------------------
+const showProp = (item?: any, type) => {
+  if (item == 1) {
+    // 鏂板
+    proxy.$refs["propALlProp"].openDialog(1);
+  } else {
+    if (type == 3) {
+      //璇︽儏
+      proxy.$refs["propALlProp"].openDialog(3, item);
+    } else {
+      //缂栬緫
+      proxy.$refs["propALlProp"].openDialog(2, item);
+    }
+  }
+};
+// ---------------璇︽儏-----------------------
+const openDrawer = (type: number, item?: any) => {
+  proxy.$refs["propALlProp"].openDrawer(type, item, entozhExcell);
+};
+// ---------------end璇︽儏-----------------------
+
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+  checkRows.value = val;
+};
+
+const getEnumCheckModeData_Index = ref<any>([]);
+const getEnumCheckStageData_Index = ref<any>([]);
+const getEnumIsAuditData_Index = ref<any>([]);
+
+const { getEnumDesc } = commonFunction();
+
+/***************************************************[鐩樼偣鍗曟嵁鎿嶄綔]寮�濮�***************************************************/
+const showAdvanceQueryUIWmsInventoryCheckOrder = ref(false);
+const tableRefWmsInventoryCheckOrder = ref(null);
+const printDialogRefWmsInventoryCheckOrder = ref();
+const editDialogRefWmsInventoryCheckOrder = ref();
+const loadingWmsInventoryCheckOrder = ref(false);
+const disabled_btnWmsInventoryCheckOrder = ref(false);
+const tableDataWmsInventoryCheckOrder = ref<any>([]);
+const queryParamsWmsInventoryCheckOrder = ref<any>({});
+const tableParamsWmsInventoryCheckOrder = ref({
+  page: 1,
+	CheckStageForcheckDifference:true,
+  pageSize: 10,
+  total: 0,
+});
+
+const printWmsInventoryCheckOrderTitle = ref("");
+const editWmsInventoryCheckOrderTitle = ref("");
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUIWmsInventoryCheckOrder = () => {
+  showAdvanceQueryUIWmsInventoryCheckOrder.value = !showAdvanceQueryUIWmsInventoryCheckOrder.value;
+};
+
+// 鏌ヨ鐩樼偣鍗曟嵁
+const handleQueryWmsInventoryCheckOrder = async () => {
+  loadingWmsInventoryCheckOrder.value = true;
+  disabled_btnWmsInventoryCheckOrder.value = true;
+  var res = await pageWmsInventoryCheckOrder(
+    Object.assign(
+      queryParamsWmsInventoryCheckOrder.value,
+      tableParamsWmsInventoryCheckOrder.value
+    )
+  );
+  if (res.data.type == "success") {
+    tableDataWmsInventoryCheckOrder.value = res.data.result?.items ?? [];
+    tableParamsWmsInventoryCheckOrder.value.total = res.data.result?.total;
+  }
+  loadingWmsInventoryCheckOrder.value = false;
+  disabled_btnWmsInventoryCheckOrder.value = false;
+};
+
+// 閲嶇疆鐩樼偣鍗曟嵁鏌ヨ
+const resetWmsInventoryCheckOrder = async () => {
+  queryParamsWmsInventoryCheckOrder.value = {};
+};
+
+// 鐩樼偣鍗曟嵁鍒楁帓搴�
+const sortChangeWmsInventoryCheckOrder = async (column: any) => {
+  queryParamsWmsInventoryCheckOrder.value.field = column.prop;
+  queryParamsWmsInventoryCheckOrder.value.order = column.order;
+  await handleQueryWmsInventoryCheckOrder();
+};
+
+// 鎵撳紑鏂板鐩樼偣鍗曟嵁椤甸潰
+const openAddWmsInventoryCheckOrder = () => {
+  editWmsInventoryCheckOrderTitle.value = "娣诲姞鐩樼偣鍗曟嵁";
+  editDialogRefWmsInventoryCheckOrder.value.openDialog(1, {});
+};
+
+// 鎵撳紑鎵撳嵃鐩樼偣鍗曟嵁椤甸潰
+const openPrintWmsInventoryCheckOrder = async (row: any) => {
+  printWmsInventoryCheckOrderTitle.value = "鎵撳嵃鐩樼偣鍗曟嵁";
+};
+
+// 鎵撳紑缂栬緫鐩樼偣鍗曟嵁椤甸潰
+const openEditWmsInventoryCheckOrder = (row: any) => {
+  editWmsInventoryCheckOrderTitle.value = "缂栬緫鐩樼偣鍗曟嵁";
+  editDialogRefWmsInventoryCheckOrder.value.openDialog(2, row);
+};
+
+// 鍒犻櫎鐩樼偣鍗曟嵁
+const delWmsInventoryCheckOrder = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸彇娑堝悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      loadingWmsInventoryCheckOrder.value = true;
+      var ret = await deleteWmsInventoryCheckOrder(row);
+      if (ret.data.type == "success") {
+        ElMessage.success("鍙栨秷鎴愬姛");
+      }
+      loadingWmsInventoryCheckOrder.value = false;
+      handleQueryWmsInventoryCheckOrder();
+    })
+    .catch(() => { });
+};
+
+// 鏀瑰彉鐩樼偣鍗曟嵁椤甸潰瀹归噺
+const handleSizeChangeWmsInventoryCheckOrder = (val: number) => {
+  tableParamsWmsInventoryCheckOrder.value.pageSize = val;
+  handleQueryWmsInventoryCheckOrder();
+};
+
+// 鏀瑰彉鐩樼偣鍗曟嵁椤电爜搴忓彿
+const handleCurrentChangeWmsInventoryCheckOrder = (val: number) => {
+  tableParamsWmsInventoryCheckOrder.value.page = val;
+  handleQueryWmsInventoryCheckOrder();
+};
+
+/***************************************************[鐩樼偣鍗曟嵁鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[鐩樼偣鍗曟嵁瀵煎叆]寮�濮�***************************************************/
+const importExcelTitleWmsInventoryCheckOrder = ref("");
+const importExcelDialogRefWmsInventoryCheckOrder = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsInventoryCheckOrder = () => {
+  importExcelTitleWmsInventoryCheckOrder.value = "瀵煎叆鐩樼偣鍗曟嵁";
+  importExcelDialogRefWmsInventoryCheckOrder.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsInventoryCheckOrder = async (formData: Blob) => {
+  var result = await importExcelWmsInventoryCheckOrder(formData);
+  importExcelDialogRefWmsInventoryCheckOrder.value.callBackUploadFun(result.data); //鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+  if (result.data.type == "success") {
+    handleQueryWmsInventoryCheckOrder();
+  }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsInventoryCheckOrder = async () => {
+  var result = await downloadExcelTemplateWmsInventoryCheckOrder();
+  importExcelDialogRefWmsInventoryCheckOrder.value.callBackDownFun(result); //鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[鐩樼偣鍗曟嵁瀵煎叆]缁撴潫***************************************************/
+/***************************************************[鐩樼偣鍗曟嵁瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsInventoryCheckOrder = {
+  getEnumCheckModeData_Index,
+  getEnumCheckStageData_Index,
+  getEnumIsAuditData_Index,
+  formatDate_T_Date,
+  formatDate_T_Time,
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsInventoryCheckOrder = async (formData: Blob) => {
+  loadingWmsInventoryCheckOrder.value = true;
+  disabled_btnWmsInventoryCheckOrder.value = true;
+  var new_tableParamsWmsInventoryCheckOrder = JSON.parse(
+    JSON.stringify(tableParamsWmsInventoryCheckOrder.value)
+  );
+  new_tableParamsWmsInventoryCheckOrder.page = 1;
+  new_tableParamsWmsInventoryCheckOrder.pageSize = 100000;
+  var res = await pageWmsInventoryCheckOrder(
+    Object.assign(
+      queryParamsWmsInventoryCheckOrder.value,
+      new_tableParamsWmsInventoryCheckOrder
+    )
+  );
+  if (res.data.type == "success") {
+    exportExcelWmsInventoryCheckOrder(res.data.result?.items ?? []);
+  }
+  loadingWmsInventoryCheckOrder.value = false;
+  disabled_btnWmsInventoryCheckOrder.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsInventoryCheckOrder = async (exportDataList: Array) => {
+  exportPageExcel(
+    exportDataList,
+    tableRefWmsInventoryCheckOrder,
+    "鐩樼偣鍗曟嵁",
+    functionMapWmsInventoryCheckOrder
+  );
+};
+/***************************************************[鐩樼偣鍗曟嵁瀵煎嚭]缁撴潫***************************************************/
+
+let arr1: any = ref(""); //涓嬫媺璇诲彇鎺ュ彛
+
+// 鐩樼偣鍗曟嵁椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+  getEnumCheckModeData_Index.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("CheckModeEnum")).data.result ??
+    [];
+  var CheckStageEnum =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("CheckStageEnum")).data.result ??
+    [];
+
+    if(CheckStageEnum.length>0){
+      getEnumCheckStageData_Index.value = CheckStageEnum.filter((v: any) => {
+        return v.name == "鍒濈洏宸插畬鎴�" || v.name == "澶嶇洏宸插畬鎴�" || v.name == "宸茶皟璐�"
+      });
+    }
+
+  getEnumIsAuditData_Index.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("TrueFalseEnum")).data.result ??
+    [];
+
+  arr1.value = await handleSlectDataWmsArea(); //涓嬫媺璇诲彇鎺ュ彛
+  debugger;
+});
+
+handleQueryWmsInventoryCheckOrder();
+
+// 纭璋冭处
+const auditDiff = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佺‘璁よ皟璐﹀悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      var res = await getCheckPlanCmf({
+        OrderId: checkRows.value[0].id,
+      });
+      if (res.data.type == "success") {
+        handleQueryWmsInventoryCheckOrder();
+        ElMessage.success("纭璋冭处鎴愬姛");
+      }
+    })
+    .catch(() => { });
+};
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+  width: 100%;
+}
+
+.under_line {
+  color: #f18201;
+  text-decoration: underline;
+  cursor: pointer;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsContainerSortPrint/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsContainerSortPrint/component/editDialog.vue
new file mode 100644
index 0000000..4258230
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsContainerSortPrint/component/editDialog.vue
@@ -0,0 +1,295 @@
+锘�<template>
+	<div class="wmsContainerSortPrint-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹瑰櫒缂栧彿" prop="containerCode">
+							<el-input v-model="ruleForm.containerCode" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璺熻釜鐮�" prop="snCode">
+							<el-input v-model="ruleForm.snCode" placeholder="璇疯緭鍏ヨ窡韪爜" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍒嗘嫞鐘舵��" prop="sortStatus">
+							<el-select clearable v-model="ruleForm.sortStatus" placeholder="璇烽�夋嫨鍒嗘嫞鐘舵��">
+								<el-option v-for="(item,index) in  getEnumSortStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍒嗘嫞鐘舵�佸悕绉�" prop="sortStatusName">
+							<el-input v-model="ruleForm.sortStatusName" placeholder="璇疯緭鍏ュ垎鎷g姸鎬佸悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="闇�姹傛暟" prop="quantity">
+							<el-input v-model="ruleForm.quantity" placeholder="璇疯緭鍏ラ渶姹傛暟" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍒嗘嫞鏁�" prop="pickQuantity">
+							<el-input v-model="ruleForm.pickQuantity" placeholder="璇疯緭鍏ュ垎鎷f暟" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵规" prop="batch">
+							<el-input v-model="ruleForm.batch" placeholder="璇疯緭鍏ユ壒娆�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗘壒娆�" prop="supplierBatch">
+							<el-input v-model="ruleForm.supplierBatch" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP搴撳瓨鍦�" prop="erpCode">
+							<el-input v-model="ruleForm.erpCode" placeholder="璇疯緭鍏RP搴撳瓨鍦�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="娉㈡鍗曞彿" prop="sortNo">
+							<el-input v-model="ruleForm.sortNo" placeholder="璇疯緭鍏ユ尝娆″崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="娉㈡鍗曡鍙�" prop="sortNoLineNumber">
+							<el-input v-model="ruleForm.sortNoLineNumber" placeholder="璇疯緭鍏ユ尝娆″崟琛屽彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="娉㈡鍗曟槑缁咺D" prop="sortDetailsId">
+							<el-input v-model="ruleForm.sortDetailsId" placeholder="璇疯緭鍏ユ尝娆″崟鏄庣粏ID" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曞彿" prop="relationNo">
+							<el-input v-model="ruleForm.relationNo" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曡鍙�" prop="relationNoLineNumber">
+							<el-input v-model="ruleForm.relationNoLineNumber" placeholder="璇疯緭鍏ュ叧鑱斿崟琛屽彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曟嵁绫诲瀷" prop="relationOrderType">
+							<el-select clearable v-model="ruleForm.relationOrderType" placeholder="璇烽�夋嫨鍏宠仈鍗曟嵁绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumRelationOrderTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曟嵁绫诲瀷鍚嶇О" prop="relationOrderTypeName">
+							<el-input v-model="ruleForm.relationOrderTypeName" placeholder="璇疯緭鍏ュ叧鑱斿崟鎹被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曟槑缁咺D" prop="relationDetailsId">
+							<el-input v-model="ruleForm.relationDetailsId" placeholder="璇疯緭鍏ュ叧鑱斿崟鏄庣粏ID" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閿佸畾搴撳瓨ID" prop="stockQuanLockId">
+							<el-input v-model="ruleForm.stockQuanLockId" placeholder="璇疯緭鍏ラ攣瀹氬簱瀛業D" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsContainerSortPrint, updateWmsContainerSortPrint, detailWmsContainerSortPrint } from "/@/api/main/PrintCenter/wmsContainerSortPrint";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumSortStatusData = ref<any>([]);
+	const getEnumRelationOrderTypeData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		containerCode: [{required: true, message: '璇疯緭鍏ュ鍣ㄧ紪鍙凤紒', trigger: 'blur',},],
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		snCode: [{required: true, message: '璇疯緭鍏ヨ窡韪爜锛�', trigger: 'blur',},],
+		sortStatus: [{required: true, message: '璇烽�夋嫨鍒嗘嫞鐘舵�侊紒', trigger: 'change',},],
+		sortStatusName: [{required: true, message: '璇疯緭鍏ュ垎鎷g姸鎬佸悕绉帮紒', trigger: 'blur',},],
+		quantity: [{required: true, message: '璇疯緭鍏ラ渶姹傛暟锛�', trigger: 'blur',},],
+		pickQuantity: [{required: true, message: '璇疯緭鍏ュ垎鎷f暟锛�', trigger: 'blur',},],
+		relationDetailsId: [{required: true, message: '璇疯緭鍏ュ叧鑱斿崟鏄庣粏ID锛�', trigger: 'blur',},],
+		stockQuanLockId: [{required: true, message: '璇疯緭鍏ラ攣瀹氬簱瀛業D锛�', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsContainerSortPrint(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsContainerSortPrint(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsContainerSortPrint(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumSortStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+			getEnumRelationOrderTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsContainerSortPrint/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsContainerSortPrint/index.vue
new file mode 100644
index 0000000..635a8e6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsContainerSortPrint/index.vue
@@ -0,0 +1,422 @@
+锘�<template>
+  <div class="wmsContainerSortPrint-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsContainerSortPrint" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsContainerSortPrint.searchKey" clearable="" placeholder="瀹瑰櫒缂栧彿,鐗╂枡缂栧彿,鐗╂枡鍚嶇О,璺熻釜鐮�,鍒嗘嫞鐘舵�佸悕绉�,鎵规,渚涘簲鍟嗘壒娆�,ERP搴撳瓨鍦�,娉㈡鍗曞彿,娉㈡鍗曡鍙�,鍏宠仈鍗曞彿,鍏宠仈鍗曡鍙�,鍏宠仈鍗曟嵁绫诲瀷鍚嶇О,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="瀹瑰櫒缂栧彿">
+              <el-input v-model="queryParamsWmsContainerSortPrint.containerCode" clearable="" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParamsWmsContainerSortPrint.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsContainerSortPrint.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsContainerSortPrint.snCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="鍒嗘嫞鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsContainerSortPrint.sortStatus" placeholder="璇烽�夋嫨鍒嗘嫞鐘舵��">
+                <el-option v-for="(item,index) in getEnumSortStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="鍒嗘嫞鐘舵�佸悕绉�">
+              <el-input v-model="queryParamsWmsContainerSortPrint.sortStatusName" clearable="" placeholder="璇疯緭鍏ュ垎鎷g姸鎬佸悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="闇�姹傛暟">
+              <el-input v-model="queryParamsWmsContainerSortPrint.quantity" clearable="" placeholder="璇疯緭鍏ラ渶姹傛暟"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="鍒嗘嫞鏁�">
+              <el-input v-model="queryParamsWmsContainerSortPrint.pickQuantity" clearable="" placeholder="璇疯緭鍏ュ垎鎷f暟"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParamsWmsContainerSortPrint.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="渚涘簲鍟嗘壒娆�">
+              <el-input v-model="queryParamsWmsContainerSortPrint.supplierBatch" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="ERP搴撳瓨鍦�">
+              <el-input v-model="queryParamsWmsContainerSortPrint.erpCode" clearable="" placeholder="璇疯緭鍏RP搴撳瓨鍦�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="娉㈡鍗曞彿">
+              <el-input v-model="queryParamsWmsContainerSortPrint.sortNo" clearable="" placeholder="璇疯緭鍏ユ尝娆″崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="娉㈡鍗曡鍙�">
+              <el-input v-model="queryParamsWmsContainerSortPrint.sortNoLineNumber" clearable="" placeholder="璇疯緭鍏ユ尝娆″崟琛屽彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="娉㈡鍗曟槑缁咺D">
+              <el-input v-model="queryParamsWmsContainerSortPrint.sortDetailsId" clearable="" placeholder="璇疯緭鍏ユ尝娆″崟鏄庣粏ID"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="鍏宠仈鍗曞彿">
+              <el-input v-model="queryParamsWmsContainerSortPrint.relationNo" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="鍏宠仈鍗曡鍙�">
+              <el-input v-model="queryParamsWmsContainerSortPrint.relationNoLineNumber" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟琛屽彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="鍏宠仈鍗曟嵁绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsContainerSortPrint.relationOrderType" placeholder="璇烽�夋嫨鍏宠仈鍗曟嵁绫诲瀷">
+                <el-option v-for="(item,index) in getEnumRelationOrderTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="鍏宠仈鍗曟嵁绫诲瀷鍚嶇О">
+              <el-input v-model="queryParamsWmsContainerSortPrint.relationOrderTypeName" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鎹被鍨嬪悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="鍏宠仈鍗曟槑缁咺D">
+              <el-input v-model="queryParamsWmsContainerSortPrint.relationDetailsId" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鏄庣粏ID"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSortPrint">
+            <el-form-item label="閿佸畾搴撳瓨ID">
+              <el-input v-model="queryParamsWmsContainerSortPrint.stockQuanLockId" clearable="" placeholder="璇疯緭鍏ラ攣瀹氬簱瀛業D"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsContainerSortPrint" v-auth="'wmsContainerSortPrint:page'" :disabled="disabled_btnWmsContainerSortPrint"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsContainerSortPrint"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsContainerSortPrint" v-if="!showAdvanceQueryUIWmsContainerSortPrint" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsContainerSortPrint" v-if="showAdvanceQueryUIWmsContainerSortPrint" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsContainerSortPrint" v-auth="'wmsContainerSortPrint:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsContainerSortPrint"  v-auth="'wmsContainerSortPrint:exportExcel'" > 瀵煎嚭 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Printer" @click="openPrintWmsContainerSortPrint"  v-auth="'wmsStockQuan:exportExcel'" > 鎵撳嵃 </el-button> 
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsContainerSortPrint"
+				:data="tableDataWmsContainerSortPrint"
+				style="width: 100%"
+				v-loading="loadingWmsContainerSortPrint"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsContainerSortPrint"
+                @selection-change="handleSelectionChange"
+				border="">
+        <el-table-column align="center" width="60" fixed="left" type="selection"  />
+        <el-table-column type="index" label="搴忓彿" fixed="left" width="55" align="center"/>
+        <el-table-column prop="containerCode" fixed="left" label="瀹瑰櫒缂栧彿"  min-width="110px" show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿" width="120"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" min-width="110px" show-overflow-tooltip="" />
+        <el-table-column prop="snCode" label="璺熻釜鐮�" width="230"  show-overflow-tooltip="" />
+          <el-table-column prop="sortStatus" label="鍒嗘嫞鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.sortStatus, getEnumSortStatusData_Index))">{{ getEnumDesc(scope.row.sortStatus, getEnumSortStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <!-- <el-table-column prop="sortStatusName" label="鍒嗘嫞鐘舵�佸悕绉�"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="quantity" label="闇�姹傛暟"  show-overflow-tooltip="" />
+        <el-table-column prop="pickQuantity" label="鍒嗘嫞鏁�"  show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规" min-width="160px" show-overflow-tooltip="" />
+        <el-table-column prop="supplierBatch" label="渚涘簲鍟嗘壒娆�"  min-width="110px" show-overflow-tooltip="" />
+        <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�" min-width="110px"  show-overflow-tooltip="" />
+        <el-table-column prop="sortNo" label="娉㈡鍗曞彿"  width="200"  show-overflow-tooltip="" />
+        <el-table-column prop="sortNoLineNumber" label="娉㈡鍗曡鍙�"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="sortDetailsId" label="娉㈡鍗曟槑缁咺D"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" width="200"   show-overflow-tooltip="" />
+        <el-table-column prop="relationNoLineNumber" label="鍏宠仈鍗曡鍙�"  show-overflow-tooltip="" />
+          <!-- <el-table-column prop="relationOrderType" label="鍏宠仈鍗曟嵁绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.relationOrderType, getEnumRelationOrderTypeData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+        <el-table-column prop="relationOrderTypeName" label="鍏宠仈鍗曟嵁绫诲瀷" min-width="110px" show-overflow-tooltip="" />
+        <!-- <el-table-column prop="relationDetailsId" label="鍏宠仈鍗曟槑缁咺D"  show-overflow-tooltip="" /> -->
+        <!-- <el-table-column prop="stockQuanLockId" label="閿佸畾搴撳瓨ID"  show-overflow-tooltip="" /> -->
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsContainerSortPrint:update') || auth('wmsContainerSortPrint:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsContainerSortPrint(scope.row)" v-auth="'wmsContainerSortPrint:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsContainerSortPrint(scope.row)" v-auth="'wmsContainerSortPrint:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsContainerSortPrint.page"
+				v-model:page-size="tableParamsWmsContainerSortPrint.pageSize"
+				:total="tableParamsWmsContainerSortPrint.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsContainerSortPrint"
+				@current-change="handleCurrentChangeWmsContainerSortPrint"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsContainerSortPrint
+        ref="printDialogRefWmsContainerSortPrint"
+        :title="printWmsContainerSortPrintTitle"
+        @reloadTable="handleQueryWmsContainerSortPrint" />
+      <editDialogWmsContainerSortPrint
+        ref="editDialogRefWmsContainerSortPrint"
+        :title="editWmsContainerSortPrintTitle"
+        @reloadTable="handleQueryWmsContainerSortPrint"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsContainerSortPrint">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+  import {
+formatUtcToData,
+  getTypeStatus
+} from "/@/utils/formate";
+
+  import printDialogWmsContainerSortPrint from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pageWmsContainerSortPrint, deleteWmsContainerSortPrint,importExcelWmsContainerSortPrint,downloadExcelTemplateWmsContainerSortPrint } from '/@/api/main/PrintCenter/wmsContainerSortPrint';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumSortStatusData_Index = ref<any>([]);
+  const getEnumRelationOrderTypeData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsContainerSortPrint = ref(false);
+  const tableRefWmsContainerSortPrint = ref(null);
+  const printDialogRefWmsContainerSortPrint = ref();
+  const editDialogRefWmsContainerSortPrint = ref();
+  const loadingWmsContainerSortPrint = ref(false);
+  const disabled_btnWmsContainerSortPrint = ref(false);
+  const tableDataWmsContainerSortPrint = ref<any>([]);
+  const queryParamsWmsContainerSortPrint = ref<any>({});
+  const tableParamsWmsContainerSortPrint = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsContainerSortPrintTitle = ref("");
+  const editWmsContainerSortPrintTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsContainerSortPrint = () => {
+    showAdvanceQueryUIWmsContainerSortPrint.value = !showAdvanceQueryUIWmsContainerSortPrint.value;
+  }
+
+  // 鏌ヨ瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃
+  const handleQueryWmsContainerSortPrint = async () => {
+    loadingWmsContainerSortPrint.value = true;
+    disabled_btnWmsContainerSortPrint.value = true;
+    var res = await pageWmsContainerSortPrint(Object.assign(queryParamsWmsContainerSortPrint.value, tableParamsWmsContainerSortPrint.value));
+    if(res.data.type=="success"){
+      tableDataWmsContainerSortPrint.value = res.data.result?.items ?? [];
+      tableParamsWmsContainerSortPrint.value.total = res.data.result?.total;
+    }
+    loadingWmsContainerSortPrint.value = false;
+    disabled_btnWmsContainerSortPrint.value = false;
+  };
+
+  // 閲嶇疆瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃鏌ヨ
+  const resetWmsContainerSortPrint = async () => {
+    queryParamsWmsContainerSortPrint.value = {}
+  };
+
+  // 瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃鍒楁帓搴�
+  const sortChangeWmsContainerSortPrint = async (column: any) => {
+	queryParamsWmsContainerSortPrint.value.field = column.prop;
+	queryParamsWmsContainerSortPrint.value.order = column.order;
+	await handleQueryWmsContainerSortPrint();
+  };
+
+  // 鎵撳紑鏂板瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃椤甸潰
+  const openAddWmsContainerSortPrint = () => {
+    editWmsContainerSortPrintTitle.value = '娣诲姞瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃';
+    editDialogRefWmsContainerSortPrint.value.openDialog(1,{});
+  };
+
+
+
+  //閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+  // 鎵撳紑鎵撳嵃瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃椤甸潰
+  const openPrintWmsContainerSortPrint = async (row: any) => {
+    // printWmsContainerSortPrintTitle.value = '鎵撳嵃瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃';
+
+
+      
+	ElMessageBox.confirm('鏄惁纭鎵撳嵃锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+
+      const handleArr: number[] = [];
+	checkRows.value.forEach((item) => {
+		handleArr.push(item.id);
+	});
+
+	const obj = { id: handleArr };
+
+		})
+		.catch(() => {
+			ElMessage.info('宸插彇娑堝垹闄�');
+		});
+  }
+  
+  // 鎵撳紑缂栬緫瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃椤甸潰
+  const openEditWmsContainerSortPrint = (row: any) => {
+    editWmsContainerSortPrintTitle.value = '缂栬緫瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃';
+    editDialogRefWmsContainerSortPrint.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃
+  const delWmsContainerSortPrint = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsContainerSortPrint.value = true;
+    var ret = await deleteWmsContainerSortPrint(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsContainerSortPrint.value = false;
+    handleQueryWmsContainerSortPrint();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃椤甸潰瀹归噺
+  const handleSizeChangeWmsContainerSortPrint = (val: number) => {
+    tableParamsWmsContainerSortPrint.value.pageSize = val;
+    handleQueryWmsContainerSortPrint();
+  };
+
+  // 鏀瑰彉瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃椤电爜搴忓彿
+  const handleCurrentChangeWmsContainerSortPrint = (val: number) => {
+    tableParamsWmsContainerSortPrint.value.page = val;
+    handleQueryWmsContainerSortPrint();
+  };
+
+/***************************************************[瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsContainerSortPrint = {
+      getEnumSortStatusData_Index,
+      getEnumRelationOrderTypeData_Index,
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsContainerSortPrint = async (formData:Blob) => {
+    loadingWmsContainerSortPrint.value = true;
+    disabled_btnWmsContainerSortPrint.value = true;
+    var new_tableParamsWmsContainerSortPrint=JSON.parse(JSON.stringify(tableParamsWmsContainerSortPrint.value));
+    new_tableParamsWmsContainerSortPrint.page = 1;
+    new_tableParamsWmsContainerSortPrint.pageSize = 100000;
+    var res = await pageWmsContainerSortPrint(Object.assign(queryParamsWmsContainerSortPrint.value, new_tableParamsWmsContainerSortPrint));
+    if(res.data.type=="success"){
+      exportExcelWmsContainerSortPrint(res.data.result?.items ?? []);
+    }
+    loadingWmsContainerSortPrint.value = false;
+    disabled_btnWmsContainerSortPrint.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsContainerSortPrint  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsContainerSortPrint,"瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃",functionMapWmsContainerSortPrint);
+};
+/***************************************************[瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃瀵煎嚭]缁撴潫***************************************************/
+  // 瀹瑰櫒鍒嗘嫞淇℃伅鎵撳嵃椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    getEnumSortStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+    getEnumRelationOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsContainerSortPrint();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsRecordSncodePrint/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsRecordSncodePrint/component/editDialog.vue
new file mode 100644
index 0000000..d1ba417
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsRecordSncodePrint/component/editDialog.vue
@@ -0,0 +1,271 @@
+锘�<template>
+	<div class="wmsRecordSncodePrint-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵撳嵃绫诲瀷" prop="printType">
+							<el-select clearable v-model="ruleForm.printType" placeholder="璇烽�夋嫨鎵撳嵃绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumPrintTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅缂栧彿" prop="placeCode">
+							<el-input v-model="ruleForm.placeCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅鍚嶇О" prop="placeName">
+							<el-input v-model="ruleForm.placeName" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璺熻釜鐮�" prop="snCode">
+							<el-input v-model="ruleForm.snCode" placeholder="璇疯緭鍏ヨ窡韪爜" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曚綅" prop="unit">
+							<el-input v-model="ruleForm.unit" placeholder="璇疯緭鍏ュ崟浣�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏁伴噺" prop="quantity">
+							<el-input v-model="ruleForm.quantity" placeholder="璇疯緭鍏ユ暟閲�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鍙�" prop="orderNo">
+							<el-input v-model="ruleForm.orderNo" placeholder="璇疯緭鍏ュ崟鎹彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曞彿" prop="relationNo">
+							<el-input v-model="ruleForm.relationNo" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁琛屽彿" prop="orderNoLineNumber">
+							<el-input v-model="ruleForm.orderNoLineNumber" placeholder="璇疯緭鍏ュ崟鎹鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曡鍙�" prop="relationNoLineNumber">
+							<el-input v-model="ruleForm.relationNoLineNumber" placeholder="璇疯緭鍏ュ叧鑱斿崟琛屽彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵撳嵃寮犳暟" prop="printSheetNum">
+							<el-input-number v-model="ruleForm.printSheetNum" placeholder="璇疯緭鍏ユ墦鍗板紶鏁�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵撳嵃娆℃暟" prop="printNum">
+							<el-input-number v-model="ruleForm.printNum" placeholder="璇疯緭鍏ユ墦鍗版鏁�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵撳嵃鐘舵��" prop="printStatu">
+							<el-select clearable v-model="ruleForm.printStatu" placeholder="璇烽�夋嫨鎵撳嵃鐘舵��">
+								<el-option v-for="(item,index) in  getEnumPrintStatuData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁鍏佽鎵撳嵃" prop="isAllowPrint">
+							<el-switch v-model="ruleForm.isAllowPrint" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="澶囨敞" prop="remarks">
+							<el-input v-model="ruleForm.remarks" placeholder="璇疯緭鍏ュ娉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsRecordSncodePrint, updateWmsRecordSncodePrint, detailWmsRecordSncodePrint } from "/@/api/main/PrintCenter/wmsRecordSncodePrint";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumPrintTypeData = ref<any>([]);
+	const getEnumPrintStatuData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		printType: [{required: true, message: '璇烽�夋嫨鎵撳嵃绫诲瀷锛�', trigger: 'change',},],
+		quantity: [{required: true, message: '璇疯緭鍏ユ暟閲忥紒', trigger: 'blur',},],
+		printSheetNum: [{required: true, message: '璇疯緭鍏ユ墦鍗板紶鏁帮紒', trigger: 'blur',},],
+		printNum: [{required: true, message: '璇疯緭鍏ユ墦鍗版鏁帮紒', trigger: 'blur',},],
+		printStatu: [{required: true, message: '璇烽�夋嫨鎵撳嵃鐘舵�侊紒', trigger: 'change',},],
+		isAllowPrint: [{required: true, message: '璇烽�夋嫨鏄惁鍏佽鎵撳嵃锛�', trigger: 'change',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsRecordSncodePrint(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+			ruleForm.value.isAllowPrint = false;//蹇呭~锛岃祴鍊奸粯璁ゅ��
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsRecordSncodePrint(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsRecordSncodePrint(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumPrintTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintTypeEnum')).data.result ?? [];
+			getEnumPrintStatuData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintStatuEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsRecordSncodePrint/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsRecordSncodePrint/index.vue
new file mode 100644
index 0000000..27acfd4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsRecordSncodePrint/index.vue
@@ -0,0 +1,398 @@
+锘�<template>
+  <div class="wmsRecordSncodePrint-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsRecordSncodePrint" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsRecordSncodePrint.searchKey" clearable="" placeholder="鐗╂枡缂栧彿,鐗╂枡鍚嶇О,搴撲綅缂栧彿,搴撲綅鍚嶇О,璺熻釜鐮�,鍗曟嵁鍙�,鍏宠仈鍗曞彿,鍗曟嵁琛屽彿,鍏宠仈鍗曡鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="鎵撳嵃绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsRecordSncodePrint.printType" placeholder="璇烽�夋嫨鎵撳嵃绫诲瀷">
+                <el-option v-for="(item,index) in getEnumPrintTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="鎵撳嵃鏉ユ簮">
+              <el-select clearable="" v-model="queryParamsWmsRecordSncodePrint.printSource" placeholder="璇烽�夋嫨鎵撳嵃鏉ユ簮">
+                <el-option v-for="(item,index) in getEnumPrintSourceData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParamsWmsRecordSncodePrint.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsRecordSncodePrint.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="搴撲綅缂栧彿">
+              <el-input v-model="queryParamsWmsRecordSncodePrint.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="搴撲綅鍚嶇О">
+              <el-input v-model="queryParamsWmsRecordSncodePrint.placeName" clearable="" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsRecordSncodePrint.snCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="搴撳瓨鍗曚綅">
+              <el-input v-model="queryParamsWmsRecordSncodePrint.materialUnit" clearable="" placeholder="璇疯緭鍏ュ崟浣�"/>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="鏁伴噺">
+              <el-input v-model="queryParamsWmsRecordSncodePrint.quantity" clearable="" placeholder="璇疯緭鍏ユ暟閲�"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="鍗曟嵁鍙�">
+              <el-input v-model="queryParamsWmsRecordSncodePrint.orderNo" clearable="" placeholder="璇疯緭鍏ュ崟鎹彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="鍏宠仈鍗曞彿">
+              <el-input v-model="queryParamsWmsRecordSncodePrint.relationNo" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="鍗曟嵁琛屽彿">
+              <el-input v-model="queryParamsWmsRecordSncodePrint.orderNoLineNumber" clearable="" placeholder="璇疯緭鍏ュ崟鎹鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="鍏宠仈鍗曡鍙�">
+              <el-input v-model="queryParamsWmsRecordSncodePrint.relationNoLineNumber" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟琛屽彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="鎵撳嵃寮犳暟">
+              <el-input-number v-model="queryParamsWmsRecordSncodePrint.printSheetNum"  clearable="" placeholder="璇疯緭鍏ユ墦鍗板紶鏁�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="鎵撳嵃娆℃暟">
+              <el-input-number v-model="queryParamsWmsRecordSncodePrint.printNum"  clearable="" placeholder="璇疯緭鍏ユ墦鍗版鏁�"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="鎵撳嵃鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsRecordSncodePrint.printStatus" placeholder="璇烽�夋嫨鎵撳嵃鐘舵��">
+                <el-option v-for="(item,index) in getEnumPrintStatuData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="鏄惁鍏佽鎵撳嵃">
+              <el-select clearable="" v-model="queryParamsWmsRecordSncodePrint.isAllowPrint" placeholder="璇烽�夋嫨鏄惁鍏佽鎵撳嵃">
+                <el-option v-for="(item,index) in getEnumIsAllowPrintData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordSncodePrint">
+            <el-form-item label="澶囨敞">
+              <el-input v-model="queryParamsWmsRecordSncodePrint.remarks" clearable="" placeholder="璇疯緭鍏ュ娉�"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsRecordSncodePrint" v-auth="'wmsRecordSncodePrint:page'" :disabled="disabled_btnWmsRecordSncodePrint"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsRecordSncodePrint"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsRecordSncodePrint" v-if="!showAdvanceQueryUIWmsRecordSncodePrint" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsRecordSncodePrint" v-if="showAdvanceQueryUIWmsRecordSncodePrint" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsRecordSncodePrint" v-auth="'wmsRecordSncodePrint:add'"> 鏂板 </el-button> -->
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsRecordSncodePrint"  v-auth="'wmsRecordSncodePrint:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsRecordSncodePrint"
+				:data="tableDataWmsRecordSncodePrint"
+				style="width: 100%"
+				v-loading="loadingWmsRecordSncodePrint"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsRecordSncodePrint"
+				border="">
+        <el-table-column fixed="left" type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column fixed="left" prop="materialCode" label="鐗╂枡缂栧彿"  min-width="120px" show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  min-width="120px"  show-overflow-tooltip="" />
+          <el-table-column prop="printType" label="鎵撳嵃绫诲瀷" min-width="100px" show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.printType, getEnumPrintTypeData_Index)}}
+            </template>
+          </el-table-column>
+          <el-table-column prop="printSource" label="鎵撳嵃鏉ユ簮" min-width="120px" show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.printSource, getEnumPrintSourceData_Index)}}
+            </template>
+          </el-table-column>
+         <el-table-column prop="kanBanCardNo" label="鐪嬫澘鍗″彿"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="placeCode" label="搴撲綅缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="placeName" label="搴撲綅鍚嶇О"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="snCode" label="璺熻釜鐮�" min-width="230px" show-overflow-tooltip="" />
+        <el-table-column prop="materialUnit" label="搴撳瓨鍗曚綅"  show-overflow-tooltip="" />
+        <el-table-column prop="quantity" label="鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="orderNo" label="鍗曟嵁鍙�" min-width="160px"  show-overflow-tooltip="" />
+        <el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" min-width="160px"  show-overflow-tooltip="" />
+        <el-table-column prop="orderNoLineNumber" label="鍗曟嵁琛屽彿"  show-overflow-tooltip="" />
+        <el-table-column prop="relationNoLineNumber" label="鍏宠仈鍗曡鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="printSheetNum" label="鎵撳嵃寮犳暟"  show-overflow-tooltip="" />
+        <el-table-column prop="printNum" label="鎵撳嵃娆℃暟"  show-overflow-tooltip="" />
+          <el-table-column prop="printStatus" label="鎵撳嵃鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.printStatus, getEnumPrintStatuData_Index)}}
+            </template>
+          </el-table-column>
+        <el-table-column prop="isAllowPrint" min-width="90px" label="鏄惁鍏佽鎵撳嵃"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isAllowPrint"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="remarks" label="澶囨敞"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <!-- <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsRecordSncodePrint:update') || auth('wmsRecordSncodePrint:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsRecordSncodePrint(scope.row)" v-auth="'wmsRecordSncodePrint:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsRecordSncodePrint(scope.row)" v-auth="'wmsRecordSncodePrint:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column> -->
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsRecordSncodePrint.page"
+				v-model:page-size="tableParamsWmsRecordSncodePrint.pageSize"
+				:total="tableParamsWmsRecordSncodePrint.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsRecordSncodePrint"
+				@current-change="handleCurrentChangeWmsRecordSncodePrint"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsRecordSncodePrint
+        ref="printDialogRefWmsRecordSncodePrint"
+        :title="printWmsRecordSncodePrintTitle"
+        @reloadTable="handleQueryWmsRecordSncodePrint" />
+      <editDialogWmsRecordSncodePrint
+        ref="editDialogRefWmsRecordSncodePrint"
+        :title="editWmsRecordSncodePrintTitle"
+        @reloadTable="handleQueryWmsRecordSncodePrint"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsRecordSncodePrint">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+  import printDialogWmsRecordSncodePrint from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogWmsRecordSncodePrint from '/@/views/main/PrintCenter/wmsRecordSncodePrint/component/editDialog.vue'
+  import { pageWmsRecordSncodePrint, deleteWmsRecordSncodePrint,importExcelWmsRecordSncodePrint,downloadExcelTemplateWmsRecordSncodePrint } from '/@/api/main/PrintCenter/wmsRecordSncodePrint';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumPrintTypeData_Index = ref<any>([]);
+    const getEnumPrintSourceData_Index = ref<any>([]);
+  const getEnumPrintStatuData_Index = ref<any>([]);
+  const getEnumIsAllowPrintData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[璺熻釜鐮佹墦鍗拌褰曟搷浣淽寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsRecordSncodePrint = ref(false);
+  const tableRefWmsRecordSncodePrint = ref(null);
+  const printDialogRefWmsRecordSncodePrint = ref();
+  const editDialogRefWmsRecordSncodePrint = ref();
+  const loadingWmsRecordSncodePrint = ref(false);
+  const disabled_btnWmsRecordSncodePrint = ref(false);
+  const tableDataWmsRecordSncodePrint = ref<any>([]);
+  const queryParamsWmsRecordSncodePrint = ref<any>({});
+  const tableParamsWmsRecordSncodePrint = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsRecordSncodePrintTitle = ref("");
+  const editWmsRecordSncodePrintTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsRecordSncodePrint = () => {
+    showAdvanceQueryUIWmsRecordSncodePrint.value = !showAdvanceQueryUIWmsRecordSncodePrint.value;
+  }
+
+  // 鏌ヨ璺熻釜鐮佹墦鍗拌褰�
+  const handleQueryWmsRecordSncodePrint = async () => {
+    loadingWmsRecordSncodePrint.value = true;
+    disabled_btnWmsRecordSncodePrint.value = true;
+    var res = await pageWmsRecordSncodePrint(Object.assign(queryParamsWmsRecordSncodePrint.value, tableParamsWmsRecordSncodePrint.value));
+    if(res.data.type=="success"){
+      tableDataWmsRecordSncodePrint.value = res.data.result?.items ?? [];
+      tableParamsWmsRecordSncodePrint.value.total = res.data.result?.total;
+    }
+    loadingWmsRecordSncodePrint.value = false;
+    disabled_btnWmsRecordSncodePrint.value = false;
+  };
+
+  // 閲嶇疆璺熻釜鐮佹墦鍗拌褰曟煡璇�
+  const resetWmsRecordSncodePrint = async () => {
+    queryParamsWmsRecordSncodePrint.value = {}
+  };
+
+  // 璺熻釜鐮佹墦鍗拌褰曞垪鎺掑簭
+  const sortChangeWmsRecordSncodePrint = async (column: any) => {
+	queryParamsWmsRecordSncodePrint.value.field = column.prop;
+	queryParamsWmsRecordSncodePrint.value.order = column.order;
+	await handleQueryWmsRecordSncodePrint();
+  };
+
+  // 鎵撳紑鏂板璺熻釜鐮佹墦鍗拌褰曢〉闈�
+  const openAddWmsRecordSncodePrint = () => {
+    editWmsRecordSncodePrintTitle.value = '娣诲姞璺熻釜鐮佹墦鍗拌褰�';
+    editDialogRefWmsRecordSncodePrint.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃璺熻釜鐮佹墦鍗拌褰曢〉闈�
+  const openPrintWmsRecordSncodePrint = async (row: any) => {
+    printWmsRecordSncodePrintTitle.value = '鎵撳嵃璺熻釜鐮佹墦鍗拌褰�';
+  }
+  
+  // 鎵撳紑缂栬緫璺熻釜鐮佹墦鍗拌褰曢〉闈�
+  const openEditWmsRecordSncodePrint = (row: any) => {
+    editWmsRecordSncodePrintTitle.value = '缂栬緫璺熻釜鐮佹墦鍗拌褰�';
+    editDialogRefWmsRecordSncodePrint.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎璺熻釜鐮佹墦鍗拌褰�
+  const delWmsRecordSncodePrint = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsRecordSncodePrint.value = true;
+    var ret = await deleteWmsRecordSncodePrint(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsRecordSncodePrint.value = false;
+    handleQueryWmsRecordSncodePrint();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉璺熻釜鐮佹墦鍗拌褰曢〉闈㈠閲�
+  const handleSizeChangeWmsRecordSncodePrint = (val: number) => {
+    tableParamsWmsRecordSncodePrint.value.pageSize = val;
+    handleQueryWmsRecordSncodePrint();
+  };
+
+  // 鏀瑰彉璺熻釜鐮佹墦鍗拌褰曢〉鐮佸簭鍙�
+  const handleCurrentChangeWmsRecordSncodePrint = (val: number) => {
+    tableParamsWmsRecordSncodePrint.value.page = val;
+    handleQueryWmsRecordSncodePrint();
+  };
+
+/***************************************************[璺熻釜鐮佹墦鍗拌褰曟搷浣淽缁撴潫***************************************************/
+/***************************************************[璺熻釜鐮佹墦鍗拌褰曞鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsRecordSncodePrint = {
+      getEnumPrintTypeData_Index,
+      getEnumPrintSourceData_Index,
+      getEnumPrintStatuData_Index,
+      getEnumIsAllowPrintData_Index,
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsRecordSncodePrint = async (formData:Blob) => {
+    loadingWmsRecordSncodePrint.value = true;
+    disabled_btnWmsRecordSncodePrint.value = true;
+    var new_tableParamsWmsRecordSncodePrint=JSON.parse(JSON.stringify(tableParamsWmsRecordSncodePrint.value));
+    new_tableParamsWmsRecordSncodePrint.page = 1;
+    new_tableParamsWmsRecordSncodePrint.pageSize = 100000;
+    var res = await pageWmsRecordSncodePrint(Object.assign(queryParamsWmsRecordSncodePrint.value, new_tableParamsWmsRecordSncodePrint));
+    if(res.data.type=="success"){
+      exportExcelWmsRecordSncodePrint(res.data.result?.items ?? []);
+    }
+    loadingWmsRecordSncodePrint.value = false;
+    disabled_btnWmsRecordSncodePrint.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsRecordSncodePrint  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsRecordSncodePrint,"璺熻釜鐮佹墦鍗拌褰�",functionMapWmsRecordSncodePrint);
+};
+/***************************************************[璺熻釜鐮佹墦鍗拌褰曞鍑篯缁撴潫***************************************************/
+  // 璺熻釜鐮佹墦鍗拌褰曢〉闈㈠姞杞芥椂
+  onMounted(async () => {
+    getEnumPrintTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintTypeEnum')).data.result ?? [];
+    getEnumPrintSourceData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintSourceEnum')).data.result ?? [];
+    getEnumPrintStatuData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintStatuEnum')).data.result ?? [];
+    getEnumIsAllowPrintData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsRecordSncodePrint();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/component/editDialog.vue
new file mode 100644
index 0000000..06564b5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/component/editDialog.vue
@@ -0,0 +1,139 @@
+锘�<template>
+	<div class="wmsStockQuan-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsStockQuan, updateWmsStockQuan, detailWmsStockQuan } from "/@/api/main/ReportCenter/wmsStockQuan";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumStockStatusData = ref<any>([]);
+	const getEnumQCStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsStockQuan(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsStockQuan(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsStockQuan(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumStockStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? [];
+			getEnumQCStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockQcStatusEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/index.vue
new file mode 100644
index 0000000..4e6f171
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/PrintCenter/wmsStockQuanPrint/index.vue
@@ -0,0 +1,460 @@
+锘�<template>
+  <div class="wmsStockQuan-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsStockQuan" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsStockQuan.searchKey" clearable="" placeholder="瀹瑰櫒缂栧彿,璺熻釜鐮�,鐗╂枡缂栧彿,鐗╂枡鍚嶇О,渚涘簲鍟嗘壒娆�,鎵规,渚涘簲鍟嗙紪鍙�,ERP鍗曞彿,ERP搴撳瓨鍦�,ERP鍑瘉"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+            <el-form-item label="瀹瑰櫒缂栧彿">
+              <el-input v-model="queryParamsWmsStockQuan.containerCode" clearable="" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+            <el-form-item label="璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsStockQuan.snCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParamsWmsStockQuan.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsStockQuan.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+            <el-form-item label="搴撳瓨鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsStockQuan.stockStatus" placeholder="璇烽�夋嫨搴撳瓨鐘舵��">
+                <el-option v-for="(item,index) in getEnumStockStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+            <el-form-item label="渚涘簲鍟嗘壒娆�">
+              <el-input v-model="queryParamsWmsStockQuan.supplierBatch" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParamsWmsStockQuan.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+            <el-form-item label="鏀惰揣鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨鏀惰揣鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsStockQuan.recordInsertTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+            <el-form-item label="渚涘簲鍟嗙紪鍙�">
+              <el-input v-model="queryParamsWmsStockQuan.supplierCode" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿"/>
+              
+            </el-form-item>
+          </el-col>
+ 
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+            <el-form-item label="ERP鍗曞彿">
+              <el-input v-model="queryParamsWmsStockQuan.erpOrderNo" clearable="" placeholder="璇疯緭鍏RP鍗曞彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+            <el-form-item label="ERP搴撳瓨鍦�">
+              <el-input v-model="queryParamsWmsStockQuan.erpCode" clearable="" placeholder="璇疯緭鍏RP搴撳瓨鍦�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+            <el-form-item label="璐ㄦ鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsStockQuan.qCStatus" placeholder="璇烽�夋嫨璐ㄦ鐘舵��">
+                <el-option v-for="(item,index) in getEnumQCStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+            <el-form-item label="ERP鍑瘉">
+              <el-input v-model="queryParamsWmsStockQuan.erpVoucher" clearable="" placeholder="璇疯緭鍏RP鍑瘉"/>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+            <el-form-item label="鎿嶄綔鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨鎿嶄綔鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsStockQuan.actionTimeRange" />
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsStockQuan" v-auth="'wmsStockQuan:page'" :disabled="disabled_btnWmsStockQuan"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsStockQuan"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsStockQuan" v-if="!showAdvanceQueryUIWmsStockQuan" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsStockQuan" v-if="showAdvanceQueryUIWmsStockQuan" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsStockQuan" v-auth="'wmsStockQuan:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsStockQuan"  v-auth="'wmsStockQuan:exportExcel'" > 瀵煎嚭 </el-button> 
+
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Printer" @click="openPrintWmsStockQuan"  v-auth="'wmsStockQuan:exportExcel'" :disabled="checkRows.length==0" > 鎵撳嵃 </el-button> 
+
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <!-- show-summary  :summary-method="getSummaries"  -->
+      <el-table
+                ref="tableRefWmsStockQuan"
+				:data="tableDataWmsStockQuan"
+				style="width: 100%"
+				v-loading="loadingWmsStockQuan"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsStockQuan"
+                @selection-change="handleSelectionChange"
+				border="">
+        <el-table-column align="center" width="60" type="selection"  />
+        <el-table-column type="index" fixed="left" label="搴忓彿" width="55" align="center"/>
+        
+        <el-table-column prop="snCode" fixed="left" width="230" label="璺熻釜鐮�"  show-overflow-tooltip="" />
+        <el-table-column prop="quantity" label="搴撳瓨鎬绘暟"  show-overflow-tooltip="" />
+        <el-table-column prop="containerCode" width="100" label="瀹瑰櫒缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="placeName" width="100" label="鎵�鍦ㄥ簱浣�"  show-overflow-tooltip="" />
+        <el-table-column prop="areaName" width="100" label="鎵�鍦ㄥ簱鍖�"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  min-width="130px" show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  min-width="130px" show-overflow-tooltip="" />
+        
+          <el-table-column prop="stockStatus" label="搴撳瓨鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.stockStatus, getEnumStockStatusData_Index)}}
+            </template>
+          </el-table-column>
+          <el-table-column prop="qcStatus" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.qcStatus, getEnumQCStatusData_Index)}}
+            </template>
+          </el-table-column>
+
+        <!-- <el-table-column prop="lockedQty" label="閿佸畾鏁伴噺"  show-overflow-tooltip="" /> -->
+
+        <!-- todo  鍚庨潰鐪嬫�庝箞缁熻杩欎釜搴撳瓨鏁�-->
+        <!-- <el-table-column prop="inStockQty" label="鍦ㄥ簱鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="outStockQty" label="鍑哄簱鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="inStockQty" label="鍦ㄥ簱鏁伴噺"  show-overflow-tooltip="" /> -->
+        
+        <el-table-column prop="supplierBatch" label="渚涘簲鍟嗘壒娆�"  show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规" min-width="130px" show-overflow-tooltip="" />
+
+         <el-table-column prop="recordInsertTime" label="鏀惰揣鏃堕棿" width="80" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�"  show-overflow-tooltip="" />
+       
+        <el-table-column prop="sN_1d" width="180" label="涓�缁存潯鐮�"  show-overflow-tooltip="" />
+        <el-table-column prop="sN_2d" width="180" label="浜岀淮鏉$爜"  show-overflow-tooltip="" />
+        <el-table-column prop="erpOrderNo" label="ERP鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�"  show-overflow-tooltip="" />
+        
+        <el-table-column prop="erpVoucher" width="120" label="ERP鍑瘉"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="actionRemark" label="鎿嶄綔澶囨敞"  show-overflow-tooltip="" />
+         <el-table-column prop="actionTime" label="鎿嶄綔鏃堕棿" width="80" :formatter="formatDate_T_Date"  show-overflow-tooltip="" /> -->
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsStockQuan:update') || auth('wmsStockQuan:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsStockQuan(scope.row)" v-auth="'wmsStockQuan:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsStockQuan(scope.row)" v-auth="'wmsStockQuan:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsStockQuan.page"
+				v-model:page-size="tableParamsWmsStockQuan.pageSize"
+				:total="tableParamsWmsStockQuan.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsStockQuan"
+				@current-change="handleCurrentChangeWmsStockQuan"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsStockQuan
+        ref="printDialogRefWmsStockQuan"
+        :title="printWmsStockQuanTitle"
+        @reloadTable="handleQueryWmsStockQuan" />
+      <editDialogWmsStockQuan
+        ref="editDialogRefWmsStockQuan"
+        :title="editWmsStockQuanTitle"
+        @reloadTable="handleQueryWmsStockQuan"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsStockQuan">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+  import printDialogWmsStockQuan from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pageWmsStockQuan, deleteWmsStockQuan,importExcelWmsStockQuan,downloadExcelTemplateWmsStockQuan } from '/@/api/main/ReportCenter/wmsStockQuan';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+import { addWmsRecordSncodePrint } from "/@/api/main/PrintCenter/wmsRecordSncodePrint";
+
+  const getEnumStockStatusData_Index = ref<any>([]);
+  const getEnumQCStatusData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[瀹炴椂搴撳瓨鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsStockQuan = ref(false);
+  const tableRefWmsStockQuan = ref(null);
+  const printDialogRefWmsStockQuan = ref();
+  const editDialogRefWmsStockQuan = ref();
+  const loadingWmsStockQuan = ref(false);
+  const disabled_btnWmsStockQuan = ref(false);
+  const tableDataWmsStockQuan = ref<any>([]);
+  const queryParamsWmsStockQuan = ref<any>({});
+  const tableParamsWmsStockQuan = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsStockQuanTitle = ref("");
+  const editWmsStockQuanTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsStockQuan = () => {
+    showAdvanceQueryUIWmsStockQuan.value = !showAdvanceQueryUIWmsStockQuan.value;
+  }
+
+  // 鏌ヨ瀹炴椂搴撳瓨
+  const handleQueryWmsStockQuan = async () => {
+    loadingWmsStockQuan.value = true;
+    disabled_btnWmsStockQuan.value = true;
+    var res = await pageWmsStockQuan(Object.assign(queryParamsWmsStockQuan.value, tableParamsWmsStockQuan.value));
+    if(res.data.type=="success"){
+      tableDataWmsStockQuan.value = res.data.result?.items ?? [];
+      tableParamsWmsStockQuan.value.total = res.data.result?.total;
+    }
+    loadingWmsStockQuan.value = false;
+    disabled_btnWmsStockQuan.value = false;
+  };
+
+  // 閲嶇疆瀹炴椂搴撳瓨鏌ヨ
+  const resetWmsStockQuan = async () => {
+    queryParamsWmsStockQuan.value = {}
+  };
+
+  // 瀹炴椂搴撳瓨鍒楁帓搴�
+  const sortChangeWmsStockQuan = async (column: any) => {
+	queryParamsWmsStockQuan.value.field = column.prop;
+	queryParamsWmsStockQuan.value.order = column.order;
+	await handleQueryWmsStockQuan();
+  };
+
+  // 鎵撳紑鏂板瀹炴椂搴撳瓨椤甸潰
+  const openAddWmsStockQuan = () => {
+    editWmsStockQuanTitle.value = '娣诲姞瀹炴椂搴撳瓨';
+    editDialogRefWmsStockQuan.value.openDialog(1,{});
+  };
+
+
+
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+  // 鎵撳紑鎵撳嵃瀹炴椂搴撳瓨椤甸潰
+  const openPrintWmsStockQuan = async (row: any) => {
+
+    // printWmsStockQuanTitle.value = '鎵撳嵃瀹炴椂搴撳瓨';
+
+
+	ElMessageBox.confirm('鏄惁纭鎵撳嵃锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+
+      const handleArr: number[] = [];
+	checkRows.value.forEach((item) => {
+		// handleArr.push(item.id);
+    item.PrintSource = 1 //搴撳瓨璺熻釜鐮佹墦鍗�
+    item.PrintType = 1
+    item.PrintSheetNum = 1
+    item.PrintNum = 1
+    item.PrintStatu = 1
+    item.IsAllowPrint = 1
+    
+	});
+
+ 
+	const obj = { id: handleArr };
+
+  var res = await addWmsRecordSncodePrint(checkRows.value);
+  if (res.data && res.data.code == 200) {
+          ElMessage.success("娣诲姞鎴愬姛");
+        }
+		
+		})
+		.catch(() => {
+			ElMessage.info('宸插彇娑堝垹闄�');
+		});
+
+  }
+  
+  // 鎵撳紑缂栬緫瀹炴椂搴撳瓨椤甸潰
+  const openEditWmsStockQuan = (row: any) => {
+    editWmsStockQuanTitle.value = '缂栬緫瀹炴椂搴撳瓨';
+    editDialogRefWmsStockQuan.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎瀹炴椂搴撳瓨
+  const delWmsStockQuan = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsStockQuan.value = true;
+    var ret = await deleteWmsStockQuan(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsStockQuan.value = false;
+    handleQueryWmsStockQuan();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉瀹炴椂搴撳瓨椤甸潰瀹归噺
+  const handleSizeChangeWmsStockQuan = (val: number) => {
+    tableParamsWmsStockQuan.value.pageSize = val;
+    handleQueryWmsStockQuan();
+  };
+
+  // 鏀瑰彉瀹炴椂搴撳瓨椤电爜搴忓彿
+  const handleCurrentChangeWmsStockQuan = (val: number) => {
+    tableParamsWmsStockQuan.value.page = val;
+    handleQueryWmsStockQuan();
+  };
+
+/***************************************************[瀹炴椂搴撳瓨鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[瀹炴椂搴撳瓨瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsStockQuan = {
+      getEnumStockStatusData_Index,
+      getEnumQCStatusData_Index,
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsStockQuan = async (formData:Blob) => {
+    loadingWmsStockQuan.value = true;
+    disabled_btnWmsStockQuan.value = true;
+    var new_tableParamsWmsStockQuan=JSON.parse(JSON.stringify(tableParamsWmsStockQuan.value));
+    new_tableParamsWmsStockQuan.page = 1;
+    new_tableParamsWmsStockQuan.pageSize = 100000;
+    var res = await pageWmsStockQuan(Object.assign(queryParamsWmsStockQuan.value, new_tableParamsWmsStockQuan));
+    if(res.data.type=="success"){
+      exportExcelWmsStockQuan(res.data.result?.items ?? []);
+    }
+    loadingWmsStockQuan.value = false;
+    disabled_btnWmsStockQuan.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsStockQuan  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsStockQuan,"瀹炴椂搴撳瓨",functionMapWmsStockQuan);
+};
+/***************************************************[瀹炴椂搴撳瓨瀵煎嚭]缁撴潫***************************************************/
+  // 瀹炴椂搴撳瓨椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    getEnumStockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? [];
+    getEnumQCStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockQcStatusEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsStockQuan();
+
+
+
+
+
+  //琛ㄦ牸姹囨��
+const getSummaries = (param: any) => {
+  const { columns, data } = param;
+  const sums:any = [];
+  columns.forEach((column, index) => {
+    if (index === 0) {
+      sums[index] = '鍚堣';
+      return;
+    }
+    //debugger
+    if (column.property != 'quantity' && column.property != 'scrapQuantity'
+      && column.property != 'useNumber'
+      && column.property != 'gridNumber'
+    ) {
+      sums[index] = '';
+      return "";
+    }
+    const values = data.map(item => Number(item[column.property]));
+    if (!values.every(value => isNaN(value))) {
+      sums[index] = Number(values.reduce((prev, curr) => {
+        const value = Number(curr);
+        if (!isNaN(value)) {
+          return prev + curr;
+        } else {
+          return prev;
+        }
+      }, 0)).toFixed(3);
+      sums[index] += '';
+    } else {
+      sums[index] = '';//N/A
+    }
+  });
+
+  return sums;
+}
+
+
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/ContentItem.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/ContentItem.vue
new file mode 100644
index 0000000..265b973
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/ContentItem.vue
@@ -0,0 +1,144 @@
+<template>
+	<div class="item" :id="'item' + count" :style="{background: setBgColor(content.inventoryType),
+	boxShadow: '0 3px 3px' + setBgColor(content.inventoryType),
+	}"  :class="content.isDeleted ? 'isDeleted' : ''" @mouseenter.native="popTip(content)" @mouseleave.native="popTip()">
+		<div class="count">
+			<p class="txt-code">{{content.wareLocationCode}}</p>
+		
+			<span class="triangle-stop" v-if="content.status==2"><span class="stopBg">灏佸瓨</span></span>
+			<span class="triangle-stop" v-if="content.status==3"><span class="stopBg">绂佸嚭</span></span>
+			<span class="triangle-stop" v-if="content.status==4"><span class="stopBg">绂佸叆</span></span>
+			
+			<span class="triangle-stop" v-if="content.status==5"><span class="stopBg">閿佸畾</span></span>
+		</div>
+	</div>
+</template>
+<script lang="ts" setup>
+import { defineProps, computed, defineEmits } from 'vue'
+const props = defineProps({
+	itemData: {
+		type: Object,
+		required: true,
+		default: {}
+	},
+	index: {
+		type: String,
+		required: true,
+		default: ""
+	}
+})
+const emits = defineEmits(['show'])
+// 榧犳爣绉诲叆绉诲嚭
+const popTip = (param?: any) => {
+	emits('show', param)
+}
+//搴撲綅鏁版嵁
+const content = computed(() => props.itemData)
+//褰撳墠鍏冪礌鐨勭储寮曞厓绱狅紝鍖哄埆id
+const count = computed(() => props.itemData.wareLocationCode)
+
+//搴撲綅鐘舵�佽绠�
+const type = computed(() => {
+	if (content.value.inventoryType == null) {
+		return 0
+	} else {
+		if ((Array.isArray(content.value.inventoryType) && content.value.inventoryType.length == 0) || content.value.inventoryType == null) {
+			return 1
+		} else {
+			return 2
+		}
+	}
+})
+
+//0:鐏拌壊  1姗欒壊
+//璁剧疆鑳屾櫙
+const setBgColor = (type: number): string => {
+	let color = ''
+	switch (type) {
+		case 0:
+			color = '#A2A2A2';
+			break;
+		case 1:
+			color = '#F18201';
+			break;
+		case 2:
+			color = '#2BA6FF';
+			break;
+		case 3:
+			color = '#FF0000';
+			break;
+		case 4:
+			color = '#FFFF00';
+			break;
+	}
+	return color;
+}
+
+</script>
+<style lang="less" scoped>
+.item {
+	position: relative;
+	display: flex;
+	flex-direction: column;
+	width: 80px;
+	height: 30px;
+	border-radius: 4px;
+	justify-content: center;
+	align-items: center;
+	margin-right: 15px;
+	font-size: 12px;
+	color: white;
+	margin-bottom: 15px;
+	cursor: pointer;
+}
+
+.count {
+	margin: auto;
+}
+
+.lockBg {
+	position: absolute;
+	right: 5px;
+	transform: rotate(-45deg) scale(0.8);
+	color: #4b4948;
+	top: -39px;
+	display: block;
+	z-index: 5;
+}
+
+
+.stopBg {
+	text-align: center;
+	color: white;
+	left: 5px;
+	transform: rotate(-45deg) scale(0.8);
+	top: 11px;
+	display: block;
+	z-index: 5;
+	position: absolute;
+}
+
+.triangle-topright {
+	width: 0;
+	height: 0;
+	border-top: 37px solid #ffff00;
+	border-left: 31px solid transparent;
+	position: absolute;
+	top: 0;
+	right: 0px;
+}
+
+.triangle-stop {
+	width: 0;
+	height: 0;
+	border-bottom: 37px solid #ff0000;
+	border-right: 31px solid transparent;
+	position: absolute;
+	bottom: -3px;
+	left: 0px;
+}
+.isDeleted{
+	background: transparent !important;
+	box-shadow: none !important
+}
+</style>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/ContentView.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/ContentView.vue
new file mode 100644
index 0000000..b24b17b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/ContentView.vue
@@ -0,0 +1,177 @@
+<template>
+	<div>
+		<div v-for="(itemW,indexW) in storageList" :key="indexW">
+			<p> 宸烽亾锛歿{itemW.laneCode}}</p>
+			<div v-for="(itemIN,indexIN) in itemW.rows" :key="indexIN" >
+					<div class="content-view" >
+						<!-- 姣忎釜搴撲綅鏂瑰潡 	鏌ヨ搴撲綅鍏ㄩ儴搴撳瓨 -->
+						<div class="mask100" v-for="(itemSmall,itemSmallIndex) in itemIN.rowLocations2" :key="itemSmallIndex">
+							
+							<content-item v-for="item in itemSmall" :key="item.wareLocationCode" :itemData="item"
+							:index="item.wareLocationCode" @show="show(item,item.wareLocationCode)"
+						
+							@click="openDialog(item.wareLocationCode)" 
+
+							:class="'laneCodeBox_' + (item.showInventoryType)">
+							</content-item>
+
+						</div>
+		
+					</div>
+				<div v-if="itemW.rows.length>1" class="stripe stripeM"></div>
+			</div>
+		</div>
+		<!-- 搴撲綅鎮诞灞� -->
+		<teleport :to="'#item' + count" v-if="itemVisible">
+			<div class="item-detail" v-if="!detailData.isDeleted">
+				<p > {{ setKwStauts(detailData.inventoryType) }} </p>
+				{{ containerCodeSHsow }}
+			</div>
+		</teleport>
+		<!-- 璇︽儏寮规 -->
+		<prop-detail ref="propDetailRef"></prop-detail>
+
+	</div>
+</template>
+<script lang="ts" setup>
+import { ElMessage } from 'element-plus';
+import { ref, defineProps, computed, getCurrentInstance } from 'vue'
+import ContentItem from './ContentItem.vue'
+import PropDetail from './propDetail.vue';
+const { proxy} :any = getCurrentInstance();// 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+//props
+const props = defineProps({
+	contentData: {
+		type: Array,
+		required: true,
+		default: []
+	}
+})
+const containerCodeSHsow = ref('')
+//搴撲綅鍒楄〃
+const storageList: Record<any, any> = computed(() => props.contentData);
+//姣忎釜搴撲綅璇︽儏鐨勬樉绀�
+const itemVisible = ref(false);
+//璇︽儏鏁版嵁
+const detailData = ref({} as Record<string, any>)
+//褰撳墠閫変腑鐨勫簱浣�
+const count = ref(String)
+//鏄剧ず 闅愯棌璇︽儏
+const show = (item: any, index: any) => {
+	// console.log('item:'+JSON.stringify(item) )
+	// console.log('搴撲綅鍙�'+index)
+	if (item) {
+		itemVisible.value = true;
+		count.value = index;
+		detailData.value = item;
+		containerCodeSHsow.value  = item.wareContainerCode;
+	} else {
+		itemVisible.value = false;
+		count.value = index;
+		detailData.value = {};
+		containerCodeSHsow.value  = "";
+	}
+}
+
+// 鏄剧ず搴撲綅鐘舵��
+const setKwStauts = (type: number): string => {
+	let status = ''
+	switch (type) {
+		case 0:
+			status = '绌哄簱浣�';
+			break;
+		case 1:
+			status = '鏈夎揣搴撲綅锛堢┖瀹瑰櫒锛�';
+			break;
+		case 2:
+			status = '鏈夎揣搴撲綅锛堢墿鏂欙級';
+	}
+	return status;
+}
+
+//鎵撳紑绐楀彛
+const openDialog = (type: string) => { //鎵樼洏鍙�
+	if (!type || type == null) {
+		ElMessage.warning("涓嶅瓨鍦ㄦ墭鐩樺彿锛�");
+		return
+	}
+	proxy.$refs['propDetailRef'].openDialog(type);
+};
+</script>
+<style lang="less" scoped>
+.content-view {
+	width: 100%;
+	padding-left: 14px;
+	box-sizing: border-box;
+	display: flex;
+	flex-wrap: wrap;
+	justify-content: end;
+	align-content: flex-start;
+	flex-direction: column-reverse;
+	height: 480px;
+	overflow-x: auto;
+	// border-bottom: 10px solid #e0e0e0;
+
+	.item-detail {
+		min-width: 100%;
+		position: absolute;
+		left: 50%;
+		top: 20px;
+		transform: translate(-50%, -102%);
+		padding: 2px;
+		background: #000;
+		opacity: 0.7;
+		color: #fff;
+		border-radius: 4px;
+		box-sizing: content-box;
+		white-space: nowrap;
+		display: flex;
+		flex-direction: column;
+		justify-content: flex-start;
+		align-items: center;
+		z-index: 3;
+
+		p {
+			margin: 5px;
+		}
+	}
+
+}
+
+.stripe {
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	width: 100%;
+	height: 58px;
+	color: white;
+	font-size: 25px;
+}
+
+/*鏂戦┈鏉$汗*/
+.stripeM {
+	background: linear-gradient(#dbd4b4 50%, #f5be6a 50%, );
+	background-size: 100% 40px;
+}
+.laneCodeBox_0{
+	visibility: hidden;
+}
+.laneCodeBox_1{
+	visibility: visible;
+}
+
+
+.mask100{
+	height: 100%;
+	display: flex;
+    flex-direction: column-reverse;
+}
+// #item3-4-3-3,#item3-4-1-3,#item3-4-2-3,#item3-4-4-3{
+// 	margin-bottom: 104px;
+// }
+// #item3-1-3-4,#item3-1-4-4{
+// 	margin-bottom: 149px;
+
+// }
+
+</style>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/CountView.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/CountView.vue
new file mode 100644
index 0000000..401857a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/CountView.vue
@@ -0,0 +1,73 @@
+<template>
+	<div class="count">
+		<div class="count_item" v-for="(item,index) in  countList" :key="index">
+			<div class="square" :style="{background: setBgColor(item.type)}"></div>
+			<span>{{item.title}}</span>
+			<span class="count_num">{{item.count}}</span>
+		</div>
+	</div>
+</template>
+<script lang="ts" setup>
+import {  defineProps, computed } from 'vue'
+const props = defineProps({
+	countData: {
+		type: Array,
+		required: true
+	}
+})
+const countList: Record<any, any> = computed(() => props.countData)
+//璁剧疆鑳屾櫙
+const setBgColor = (type: number): string => {
+	let color = ''
+	switch (type) {
+		case 0:
+			color = '#A2A2A2';
+			break;
+		case 1:
+			color = '#F18201';
+			break;
+		case 2:
+			color = '#2BA6FF';
+			break;
+		case 3:
+			color = '#FFFF00';
+
+			break;
+		case 4:
+			color = '#FF0000';
+			break;
+	}
+	return color;
+}
+
+</script>
+<style lang="less" scoped>
+.count {
+	width: 100%;
+	display: flex;
+	box-sizing: border-box;
+	justify-content: flex-start;
+	margin-bottom: 10px;
+	font-size: 15px;
+	flex-wrap: wrap;
+	.count_item {
+		display: flex;
+		justify-content: flex-start;
+		align-items: center;
+		margin-right: 20px;
+		margin-bottom: 10px;
+		.square {
+			width: 20px;
+			height: 20px;
+			border-radius: 4px;
+			margin-right: 10px;
+		}
+
+		.count_num {
+			margin-left: 10px;
+			font-weight: bold;
+			font-size: 16px;
+		}
+	}
+}
+</style>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/propDetail.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/propDetail.vue
new file mode 100644
index 0000000..65f00ad
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/component/propDetail.vue
@@ -0,0 +1,73 @@
+<template>
+	<!-- 璇︽儏寮规 -->
+	<el-dialog v-model="dialogVisible" width="70%" @close="closeDialog">
+		<template #header>
+			<div style="color: #fff">
+				<span>搴撲綅璇︽儏</span>
+			</div>
+		</template>
+		<!-- <p >瀹瑰櫒缂栧彿锛歿{ containerNo }}</p> -->
+		<el-table ref="tableRefWmsStockQuan" :data="materialList" style="width: 100%" tooltip-effect="light" row-key="id"
+			border="">
+			<el-table-column type="index" fixed="left" label="搴忓彿" width="55" align="center" />
+			<el-table-column prop="areaName" fixed="left" width="100" label="鎵�鍦ㄥ簱鍖�" show-overflow-tooltip="" />
+			<el-table-column prop="placeName" width="100" label="鎵�鍦ㄥ簱浣�" show-overflow-tooltip="" />
+			<el-table-column prop="materialCode"  min-width="120" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+			<el-table-column prop="materialName" min-width="120" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+			<el-table-column prop="materialTypeName" label="鐗╂枡绫诲瀷" show-overflow-tooltip="" />
+			<el-table-column prop="quantity" label="搴撳瓨鏁�" show-overflow-tooltip="" />
+			<el-table-column prop="snCode" width="180" label="璺熻釜鐮�" show-overflow-tooltip="" />
+			<el-table-column prop="containerCode" width="100" label="瀹瑰櫒缂栧彿" show-overflow-tooltip="" />
+			<el-table-column prop="containerTypeName" label="瀹瑰櫒绫诲瀷" show-overflow-tooltip="" />
+		
+		</el-table>
+		<!-- <el-descriptions title="" :column="1" border v-if="materialList.length>0">
+			<el-descriptions-item v-for="(item,index) in  materialList" :key="index" :label="item.materialCode"
+				label-align="center" align="center" label-class-name="my-label" class-name="my-content">
+				{{Number(item.quantity).toFixed(3)  }} 
+			</el-descriptions-item>
+		</el-descriptions> -->
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="dialogVisible = false">鍏抽棴</el-button>
+				<!-- <el-button type="primary"
+                   @click="confirm">纭</el-button> -->
+			</span>
+		</template>
+	</el-dialog>
+</template>
+<script lang="ts" setup>
+import { ref, defineExpose } from 'vue'
+import { ElMessage } from 'element-plus';
+import { pageWmsLocationViewDetail, pageWmsStockQuan } from '/@/api/main/ReportCenter/wmsStockQuan';
+const dialogVisible = ref(false);
+const materialList = ref<any>([]);
+
+//搴撲綅缂栧彿
+const containerNo = ref('');
+//鎵撳紑绐楀彛
+const openDialog = async (type: string) => {
+	var res = await pageWmsLocationViewDetail({
+		//containerCode: type,
+		placeCode:type,//鏀逛负鏌ヨ搴撲綅涓婂叏閮ㄧ殑搴撳瓨
+		page: 1,
+		pageSize: 10
+	});
+	if (res.data.code == 200) {
+
+		materialList.value = res.data.result?.items;
+		if (materialList.value.length > 0) {
+			dialogVisible.value = true;
+			containerNo.value = res.data.result?.items[0].containerCode;
+		}
+	}
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+	dialogVisible.value = false;
+};
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog });
+
+</script>
+<style lang="less" scoped></style>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/configs/form.config.ts b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/configs/form.config.ts
new file mode 100644
index 0000000..e6fae69
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/configs/form.config.ts
@@ -0,0 +1,40 @@
+import type { IForm } from "@/common-ui/msi-form";
+const formInfo: IForm = {
+  formItem: [
+    {
+      field: "Code",
+      type: "input",
+      label: "搴撲綅缂栧彿",
+      placeholder: "璇疯緭鍏ュ簱浣嶇紪鍙�"
+    },
+    {
+      field: "MaterialCode",
+      type: "input",
+      label: "鐗╂枡缂栧彿",
+      placeholder: "璇疯緭鍏ョ墿鏂欑紪鍙�"
+    },
+    {
+      field: "Status",
+      type: "select",
+      label: "搴撲綅鐘舵��",
+      placeholder: "璇烽�夋嫨搴撲綅鐘舵��",
+      options: []
+    },
+    {
+      field: "ShelfCode",
+      type: "select",
+      label: "鎵�灞炶揣鏋�",
+      placeholder: "璇烽�夋嫨鎵�灞炶揣鏋�",
+      options: []
+    }
+  ],
+  labelWidth: "120px",
+  showMoreBtn: false,
+  itemStyle: {
+    padding: "10px 40px"
+  }
+};
+export default formInfo;
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/configs/tabel.config.ts b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/configs/tabel.config.ts
new file mode 100644
index 0000000..7812ff7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/configs/tabel.config.ts
@@ -0,0 +1,21 @@
+const tableConfigList = {
+  title: "璁㈠崟浠舵敹璐ц褰�",
+  propList: [
+    { prop: "receiveDate", label: "鏀惰揣鏃ユ湡", minWidth: "100" },
+    { prop: "materialCode", label: "鐗╂枡缂栧彿", minWidth: "100" },
+    { prop: "bigCode", label: "鐗╂枡澶х被", minWidth: "100" },
+    { prop: "sizes", label: "瑙勬牸鍨嬪彿", minWidth: "100" },
+    { prop: "length", label: "闀�(mm)", minWidth: "100"},
+    { prop: "width", label: "瀹�(mm)", minWidth: "100"},
+    { prop: "high", label: "楂�(mm)", minWidth: "100"},
+    { prop: "height", label: "閲嶉噺(kg)", minWidth: "100"},
+    { prop: "super", label: "渚涘簲鍟�", minWidth: "100"},
+    { prop: "poOrder", label: "閲囪喘鍗曞彿", minWidth: "100"},
+    { prop: "number", label: "鏀惰揣鏁伴噺", minWidth: "100"},
+    { prop: "unit", label: "鍗曚綅", minWidth: "100"},
+    { prop: "record", label: "鏀惰揣鐧诲綍鍗曞彿", minWidth: "150"},
+  ],
+  showTabelIndex: true,
+  showTabelSelect: false
+};
+export default tableConfigList;
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/index.vue
new file mode 100644
index 0000000..154e743
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/storageView/index.vue
@@ -0,0 +1,311 @@
+<template>
+  <div>
+      <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+        <el-form :model="formModel" ref="queryForm" labelWidth="90">
+          <el-row>
+            <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="formModel.searchKey" clearable=""
+                placeholder="搴撲綅缂栧彿,瀹瑰櫒缂栧彿" />
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="鎵�鍦ㄥ簱鍖�" prop="areaCode">
+							<el-select v-model="formModel.areaCode" placeholder="璇烽�夋嫨鎵�鍦ㄥ簱鍖�">
+								<el-option v-for="(item,index) in arr1"  :key="index" :value="item.code" :label="`[${item.code}] ${item.value}`"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col> 
+            <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+              <el-form-item label="搴撲綅缂栧彿:">
+                <el-input v-model.trim="formModel.WareLocationCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�" clearable></el-input>
+              </el-form-item>
+            </el-col>
+
+            <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+              <el-form-item label="瀹瑰櫒缂栧彿:">
+                <el-input v-model.trim="formModel.WareContainerCode" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�" clearable></el-input>
+              </el-form-item>
+            </el-col>
+      
+            <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+              <el-form-item label="搴撲綅鐘舵��:">
+                <el-select v-model="formModel.inventoryType" clearable placeholder="璇烽�夋嫨搴撲綅鐘舵��"  style="width: 100%;">
+                  <el-option v-for="item in storageStatusEnum" :key="item.value" :label="item.title"
+                    :value="item.value" />
+                </el-select>
+              </el-form-item>
+            </el-col>
+
+            <!-- 闅愯棌鐨勭瓫閫夋潯浠� -->
+            <!-- <template>
+              <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+                <el-form-item label="閿佸畾鐘舵��:">
+                  <el-select v-model="formModel.isLocked" clearable placeholder="璇烽�夋嫨閿佸畾鐘舵��">
+                    <el-option v-for="item in isAutoEnum" :key="item.value" :label="item.title" :value="item.value" />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+
+                <el-form-item label="宸烽亾:">
+                  <el-select v-model="formModel.Lane" clearable placeholder="璇烽�夋嫨宸烽亾">
+                    <el-option v-for="item in LangEnum" :key="item.value" :label="item.title" :value="item.value" />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+                <el-form-item label="鎵�灞炴帓:">
+                  <el-select v-model="formModel.Row" clearable placeholder="璇烽�夋嫨鎵�灞炴帓">
+                    <el-option v-for="(item, index) in strorageRowEnum" :key="item" :label="`绗�${index + 1}鎺抈"
+                      :value="index + 1" />
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </template> -->
+            <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+              <el-form-item label-width="20px">
+                <el-button type="primary" icon="el-icon-search" @click="getLocationPage(2)">鏌ヨ</el-button>
+                <el-button icon="ele-Refresh" @click="() => formModel = {}"> 閲嶇疆 </el-button>
+              </el-form-item>
+            </el-col> -->
+
+
+            <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center">
+                <el-button type="primary" icon="ele-Search" @click="getLocationPage(2)">
+                  鏌ヨ
+                </el-button>
+                <el-button icon="ele-Refresh" @click="() => formModel = {}">
+                  閲嶇疆
+                </el-button>
+                <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsStockQuan"
+                  v-if="!showAdvanceQueryUIWmsStockQuan" style="margin-left: 5px">
+                  楂樼骇鏌ヨ
+                </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsStockQuan"
+                  v-if="showAdvanceQueryUIWmsStockQuan" style="margin-left: 5px">
+                  闅愯棌
+                </el-button>
+               
+              </el-button-group>
+            </el-form-item>
+          </el-col>
+
+          </el-row>
+
+        </el-form>
+      </el-card>
+
+<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+  <div class="msi-content" style="height:calc(100vh - 200px)">
+      <!-- 缁熻鍖哄煙 -->
+      <count-view :countData="countList"></count-view>
+      <!-- 搴撲綅灞曠ず -->
+      <content-view :contentData="dataList"></content-view>
+    </div>
+</el-card>
+   
+  </div>
+</template>
+<script lang="ts" setup>
+import { nextTick, onMounted, ref } from 'vue'
+//import SearchBar from '@/components/SearchBar.vue'
+import { getStorageView } from '/@/api/main/ReportCenter/storageView';
+
+import CountView from './component/CountView.vue'
+import ContentView from './component/ContentView.vue'
+import { ElMessage } from 'element-plus';
+import { handleSlectDataWmsArea } from '/@/utils/selectData';
+
+const showAdvanceQueryUIWmsStockQuan = ref(false);
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUIWmsStockQuan = () => {
+  showAdvanceQueryUIWmsStockQuan.value = !showAdvanceQueryUIWmsStockQuan.value;
+};
+
+
+const LangEnum = ref([  // 鎵�灞炲贩閬�
+  {
+    value: '1',
+    title: '1宸烽亾'
+  },
+  {
+    value: '2',
+    title: '2宸烽亾'
+  },
+  {
+    value: '3',
+    title: '3宸烽亾'
+  }
+])
+const isAutoEnum: any[] = [
+  {
+    title: '鍚�',
+    value: 0
+  },
+  {
+    title: '鏄�',
+    value: 1
+  }
+]
+
+
+//搴撲綅鐘舵��
+const storageStatusEnum = ref([
+  {
+    value: '0',
+    title: '绌哄簱浣�'
+  },
+  {
+    value: '1',
+    title: '绌哄鍣ㄥ簱浣�'
+  },
+  {
+    value: '2',
+    title: '鏈夎揣搴撲綅'
+  },
+])
+
+const strorageRowEnum = ref<any>([]) // 鎵�灞炴帓
+//鍒楄〃璇锋眰鏁版嵁
+const formModel = ref({
+  Lane: '',
+  Row: '',
+  MaterialCode: '',
+  inventoryType: '',
+  ShelfCode: '',
+  Code: '',
+  ContainerCode: '',
+  Status: '',
+  isLocked: '',
+  areaCode:"A2",
+  PageNo: 1,
+  PageSize: 10000
+})
+
+//搴撲綅鍒楄〃鏁版嵁
+const dataList = ref([]);
+//缁熻鐨勬暟鎹�
+const countList = ref([
+  {
+    type: 0,
+    title: '绌哄簱浣�:',
+    count: 0
+  },
+  {
+    type: 1,
+    title: '鏈夎揣搴撲綅锛堢┖瀹瑰櫒锛�:',
+    count: 0
+  },
+  {
+    type: 2,
+    title: '鏈夎揣搴撲綅锛堢墿鏂欙級:',
+    count: 0
+  },
+  // {
+  //   type: 3,
+  //   title: '閿佸畾搴撲綅:',
+  //   count: 0
+  // },
+  // {
+  //   type: 4,
+  //   title: '绂佺敤搴撲綅:',
+  //   count: 0
+  // }
+]);
+
+// 鎸夌収琛屽垪鐩稿悓杩涜鍒嗙粍
+const sortClass = (sortData: any) => {
+  const groupBy = (array: any, f: any) => {
+    let groups = {};
+    array.forEach((o) => {
+      let group = JSON.stringify(f(o));
+      groups[group] = groups[group] || [];
+      groups[group].push(o);
+    });
+    return Object.keys(groups).map((group) => {
+      return groups[group];
+    });
+  };
+  const sorted = groupBy(sortData, (item) => {
+    return item.lane + '-' + item.column; // 杩斿洖闇�瑕佸垎缁勭殑瀵硅薄
+  });
+  return sorted;
+};
+
+// 鍒嗙粍鍓�
+// console.log(listData);
+// 鍒嗙粍鍚�
+// console.log(sortClass(listData));
+
+//搴撲綅鍥惧垪琛�
+const getLocationPage = async (param?: any) => {
+  if (param && param == 2) {
+    if (formModel.value.Lane == "" && formModel.value.Row != "") {
+      ElMessage.warning("璇烽�夋嫨鎵�灞炲贩閬擄紒")
+      return
+    }
+  }
+
+  if(!formModel.value.areaCode){
+    ElMessage.warning("璇烽�夋嫨鎵�鍦ㄥ簱鍖猴紒")
+    return
+  }
+
+  var res = await getStorageView(Object.assign(formModel.value, {}));
+  if (res.data.code == 200) {
+    const { data } = res;
+    const result = data.result;
+    strorageRowEnum.value = new Array(4).fill(0);
+    countList.value[0].count = result.emptyLocation || 0;    //绌哄簱浣�
+    countList.value[1].count = result.emptyContainerLocation || 0;   //绌哄鍣ㄥ簱浣�
+    countList.value[2].count = result.materialLocation || 0;  //鏈夎揣搴撲綅
+    // countList.value[3].count = result.lockedLocation || 0; //閿佸畾搴撲綅
+    // countList.value[4].count = result.disableLocation || 0; //绂佺敤搴撲綅
+    debugger
+    if (res.data.result.lanes) {
+      res.data.result.lanes.forEach((element: any) => {
+        element.rows.forEach((item: any) => {
+          item.rowLocations2 = sortClass(item.rowLocations)
+        })
+      });
+    }
+    dataList.value = res.data.result.lanes;
+
+  }
+
+}
+getLocationPage()
+
+const resetFormModel = JSON.parse(JSON.stringify(formModel.value));
+//閲嶇疆鎼滅储
+const resetForm = () => {
+  formModel.value = JSON.parse(JSON.stringify(resetFormModel));
+  // getLocationPage()
+};
+
+let arr1:any =ref("") //涓嬫媺璇诲彇鎺ュ彛
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+  nextTick(async () => {
+    arr1.value = await handleSlectDataWmsArea({
+      page: 1,
+			pageSize: 1000,
+			total: 0,
+			IsDisabled:false,
+      isVirtually:false,
+      areaType:1 //绔嬩綋搴�
+    }); //涓嬫媺璇诲彇鎺ュ彛
+  });
+});
+
+
+</script>
+<style lang="less" scoped>
+.msi-content {
+  overflow: auto;
+}
+</style>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wareInventorySummary/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wareInventorySummary/component/editDialog.vue
new file mode 100644
index 0000000..06564b5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wareInventorySummary/component/editDialog.vue
@@ -0,0 +1,139 @@
+锘�<template>
+	<div class="wmsStockQuan-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsStockQuan, updateWmsStockQuan, detailWmsStockQuan } from "/@/api/main/ReportCenter/wmsStockQuan";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumStockStatusData = ref<any>([]);
+	const getEnumQCStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsStockQuan(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsStockQuan(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsStockQuan(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumStockStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? [];
+			getEnumQCStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockQcStatusEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wareInventorySummary/component/openAllprop.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wareInventorySummary/component/openAllprop.vue
new file mode 100644
index 0000000..76f9ce1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wareInventorySummary/component/openAllprop.vue
@@ -0,0 +1,264 @@
+<template>
+  <!-- 鍗曡鎯� -->
+  <el-drawer v-model="drawerVisible" :title="`璁㈠崟璇︽儏`" direction="rtl" size="80%" @close="handleDrawerClose">
+    <template #title>
+      <div class="slot_title">
+        <div class="title_orderNo">{{ title }}</div>
+        <div>鐗╂枡璇︽儏</div>
+      </div>
+    </template>
+
+    <div class="detailBoxWrap">
+      <!-- 璇︽儏缁勪欢 -->
+      <!-- <open-details ref="propDetailRef"></open-details> -->
+      <div class="msi-form">
+        <el-form :model="detailForm">
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="璺熻釜鐮�">
+                <el-input v-model="detailForm.snCode" clearable placeholder="璇疯緭鍏ヨ窡韪爜" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="2">
+              <el-form-item label-width="20px">
+                <el-button type="primary" icon="ele-Search" @click="getDetail">鏌ヨ</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <div class="msi-content">
+        <!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+        <el-table :data="drawerList" border striped :max-height="480">
+          <el-table-column fixed="left" type="index" label="搴忓彿" width="55" align="center" />
+          <el-table-column fixed="left" prop="materialCode" min-width="120px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+          <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+          <el-table-column prop="quantity" label="搴撳瓨鏁�" show-overflow-tooltip="" />
+          <el-table-column prop="snCode" width="180" label="璺熻釜鐮�" show-overflow-tooltip="" />
+          <el-table-column prop="containerCode" width="100" label="瀹瑰櫒缂栧彿" show-overflow-tooltip="" />
+          <el-table-column prop="placeName" width="100" label="鎵�鍦ㄥ簱浣�" show-overflow-tooltip="" />
+          <el-table-column prop="areaName" width="100" label="鎵�鍦ㄥ簱鍖�" show-overflow-tooltip="" />
+          <el-table-column prop="stockStatus" label="搴撳瓨鐘舵��" show-overflow-tooltip="">
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.stockStatus, getEnumStockStatusData_Index) }}
+            </template>
+          </el-table-column>
+          <el-table-column prop="containerIsDisabled" label="瀹瑰櫒鏄惁绂佺敤" min-width="110px" show-overflow-tooltip="">
+            <template #default="scope">
+              {{ scope.row.containerIsDisabled ? "鏄�" : "鍚�" }}
+            </template>
+          </el-table-column>
+          <el-table-column prop="placeStatus" label="搴撲綅灞炴��" show-overflow-tooltip="">
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.placeStatus, getEnumPlaceStatusData_Index) }}
+            </template>
+          </el-table-column>
+
+          <el-table-column prop="qcStatus" label="璐ㄦ鐘舵��" show-overflow-tooltip="">
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.qcStatus, getEnumQCStatusData_Index) }}
+            </template>
+          </el-table-column>
+
+          <el-table-column prop="materialUnit" label="搴撳瓨鍗曚綅" show-overflow-tooltip="" />
+          <el-table-column prop="batch" label="鎵规" width="140" show-overflow-tooltip="" />
+          <el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" min-width="150px" show-overflow-tooltip="" />
+          <el-table-column prop="recordInsertTime" label="鏀惰揣鏃堕棿" width="140px" :formatter="formatDate_T_Time"
+            show-overflow-tooltip="" />
+          <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" width="100" show-overflow-tooltip="" />
+          <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" width="140" show-overflow-tooltip="" />
+          <el-table-column prop="supplierBatch" label="渚涘簲鍟嗘壒娆�" width="80" show-overflow-tooltip="" />
+          <el-table-column prop="erpCode" width="100" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
+
+          <el-table-column prop="erpVoucher" width="120" label="ERP鍑瘉" show-overflow-tooltip="" />
+
+        </el-table>
+        <Pagination :total="detailCount" v-model:page="detailForm.Page" v-model:limit="detailForm.PageSize"
+          @pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+        <div></div>
+      </div>
+    </div>
+  </el-drawer>
+</template>
+<script lang="ts" setup>
+import Pagination from "/@/components/Pagination/index.vue";
+import { ElMessage, ElMessageBox } from "element-plus";
+import {
+  ref,
+  nextTick,
+  computed,
+  getCurrentInstance,
+  watch,
+  defineExpose,
+  defineProps,
+  onMounted,
+} from "vue";
+import {
+  getTypeStatus
+} from "/@/utils/formate";
+
+import { formatDecimalData } from "/@/utils/formate";
+import { expandMore } from "/@/hooks/expandMore";
+import cache from "/@/utils/cache";
+import { pageWmsMaterial } from "/@/api/main/WmsBase/wmsMaterial";
+import { getAPI } from "/@/utils/axios-utils";
+import { SysEnumApi } from "/@/api-services/api";
+import OpenDetails from "/@/components/openDetails/openDetails.vue";
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import commonFunction from "/@/utils/commonFunction";
+import { handleSlectDataWmsBusinessType } from "/@/utils/selectData";
+import { pageWmsStockQuan } from "/@/api/main/ReportCenter/wmsStockQuan";
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getEnumStockStatusData_Index = ref<any>([]);
+const getContainerIsDisabled_Index = ref<any>([]);
+const getEnumPlaceState_Index = ref<any>([]);
+const getEnumQCStatusData_Index = ref<any>([]);
+  const getEnumPlaceStatusData_Index = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(["getTabelData"]);
+const props = defineProps({
+  titleAuthor: {
+    type: Number,
+    required: true,
+  },
+  hexiao: {
+    type: Number,
+    default: 1,
+    required: true,
+  },
+});
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+  materialCode: "",
+  snCode:"",
+  Page: 1,
+  PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref("drawerAll");
+// const
+//鍗曞彿
+const purchaseNo = ref("");
+
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+
+  detailForm.value.Page = 1; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+  detailForm.value.PageSize = 10; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+
+  if (scope.materialCode) {
+    title.value = `${scope.materialCode}`;
+  }
+  drawerType.value = "drawerAll";
+  drawerVisible.value = true;
+  purchaseNo.value = scope.materialCode;
+  detailForm.value.materialCode = scope.materialCode;
+
+  //------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+  getDetail();
+  //------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+
+  getEnumStockStatusData_Index.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("StockStatusEnum")).data.result ??
+    [];
+  getContainerIsDisabled_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("StockStatusEnum")).data.result ?? [];
+  getEnumPlaceState_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("StockStatusEnum")).data.result ?? [];
+  getEnumQCStatusData_Index.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("StockQcStatusEnum")).data
+      .result ?? [];
+      getEnumPlaceStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceStatusEnum')).data.result ?? [];
+  // //----------------鐗╂枡鏄庣粏
+  // // 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+  // let scopetrans = JSON.parse(JSON.stringify(scope));
+  // // scopetrans.totalquantity = Number(scopetrans.totalquantity).toFixed(3);
+  // nextTick(() => {
+  //   scopetrans.poStatus = getEnumDesc(scopetrans.poStatus, getEnumPoDetailStatusData_Index.value);
+  //   scopetrans.businessType = getEnumDesc(scopetrans.businessType, getBusinessTypeData_Index.value);
+  //   scopetrans.orderType = getEnumDesc(scopetrans.orderType, getEnumOrderTypeData_Index.value);
+  //   proxy.$refs["propDetailRef"].openADialog(scopetrans, entozhExcell);
+  // });
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+  detailForm.value = {
+    materialCode: "",
+    snCode:"",
+    Page: 1,
+    PageSize: 10,
+  };
+  deltailList.value = [];
+  detailCount.value = 0;
+  drawerList.value = [];
+  detailCount.value = 0;
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+  id: number;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+const loading = ref(false)
+//寮瑰嚭灞傛爣棰�
+let title = ref("");
+//鑾峰彇鍏ュ簱鍗曚笅鐗╂枡璇︽儏
+const getDetail = async (callback?: any) => {
+  loading.value = true;
+
+  var res = await pageWmsStockQuan(Object.assign(detailForm.value));
+  if (res.data.type == "success") {
+
+    drawerList.value = res.data.result?.items ?? [];
+    detailCount.value = res.data.result?.total;
+
+  }
+  loading.value = false;
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+
+});
+
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+  margin: 10px;
+}
+
+.msi-form {
+  margin-top: 10px;
+}
+
+.msi-form {
+  margin-bottom: 10px;
+}
+
+.slot_title {
+  display: flex;
+  align-items: center;
+
+  // margin-left: 20px;
+  .title_orderNo {
+    font-size: 18px;
+    color: #F18201;
+    font-weight: bold;
+    margin-right: 5px;
+  }
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wareInventorySummary/component/openAllproptwo.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wareInventorySummary/component/openAllproptwo.vue
new file mode 100644
index 0000000..76f9ce1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wareInventorySummary/component/openAllproptwo.vue
@@ -0,0 +1,264 @@
+<template>
+  <!-- 鍗曡鎯� -->
+  <el-drawer v-model="drawerVisible" :title="`璁㈠崟璇︽儏`" direction="rtl" size="80%" @close="handleDrawerClose">
+    <template #title>
+      <div class="slot_title">
+        <div class="title_orderNo">{{ title }}</div>
+        <div>鐗╂枡璇︽儏</div>
+      </div>
+    </template>
+
+    <div class="detailBoxWrap">
+      <!-- 璇︽儏缁勪欢 -->
+      <!-- <open-details ref="propDetailRef"></open-details> -->
+      <div class="msi-form">
+        <el-form :model="detailForm">
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="璺熻釜鐮�">
+                <el-input v-model="detailForm.snCode" clearable placeholder="璇疯緭鍏ヨ窡韪爜" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="2">
+              <el-form-item label-width="20px">
+                <el-button type="primary" icon="ele-Search" @click="getDetail">鏌ヨ</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <div class="msi-content">
+        <!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+        <el-table :data="drawerList" border striped :max-height="480">
+          <el-table-column fixed="left" type="index" label="搴忓彿" width="55" align="center" />
+          <el-table-column fixed="left" prop="materialCode" min-width="120px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+          <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+          <el-table-column prop="quantity" label="搴撳瓨鏁�" show-overflow-tooltip="" />
+          <el-table-column prop="snCode" width="180" label="璺熻釜鐮�" show-overflow-tooltip="" />
+          <el-table-column prop="containerCode" width="100" label="瀹瑰櫒缂栧彿" show-overflow-tooltip="" />
+          <el-table-column prop="placeName" width="100" label="鎵�鍦ㄥ簱浣�" show-overflow-tooltip="" />
+          <el-table-column prop="areaName" width="100" label="鎵�鍦ㄥ簱鍖�" show-overflow-tooltip="" />
+          <el-table-column prop="stockStatus" label="搴撳瓨鐘舵��" show-overflow-tooltip="">
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.stockStatus, getEnumStockStatusData_Index) }}
+            </template>
+          </el-table-column>
+          <el-table-column prop="containerIsDisabled" label="瀹瑰櫒鏄惁绂佺敤" min-width="110px" show-overflow-tooltip="">
+            <template #default="scope">
+              {{ scope.row.containerIsDisabled ? "鏄�" : "鍚�" }}
+            </template>
+          </el-table-column>
+          <el-table-column prop="placeStatus" label="搴撲綅灞炴��" show-overflow-tooltip="">
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.placeStatus, getEnumPlaceStatusData_Index) }}
+            </template>
+          </el-table-column>
+
+          <el-table-column prop="qcStatus" label="璐ㄦ鐘舵��" show-overflow-tooltip="">
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.qcStatus, getEnumQCStatusData_Index) }}
+            </template>
+          </el-table-column>
+
+          <el-table-column prop="materialUnit" label="搴撳瓨鍗曚綅" show-overflow-tooltip="" />
+          <el-table-column prop="batch" label="鎵规" width="140" show-overflow-tooltip="" />
+          <el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" min-width="150px" show-overflow-tooltip="" />
+          <el-table-column prop="recordInsertTime" label="鏀惰揣鏃堕棿" width="140px" :formatter="formatDate_T_Time"
+            show-overflow-tooltip="" />
+          <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" width="100" show-overflow-tooltip="" />
+          <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" width="140" show-overflow-tooltip="" />
+          <el-table-column prop="supplierBatch" label="渚涘簲鍟嗘壒娆�" width="80" show-overflow-tooltip="" />
+          <el-table-column prop="erpCode" width="100" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
+
+          <el-table-column prop="erpVoucher" width="120" label="ERP鍑瘉" show-overflow-tooltip="" />
+
+        </el-table>
+        <Pagination :total="detailCount" v-model:page="detailForm.Page" v-model:limit="detailForm.PageSize"
+          @pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+        <div></div>
+      </div>
+    </div>
+  </el-drawer>
+</template>
+<script lang="ts" setup>
+import Pagination from "/@/components/Pagination/index.vue";
+import { ElMessage, ElMessageBox } from "element-plus";
+import {
+  ref,
+  nextTick,
+  computed,
+  getCurrentInstance,
+  watch,
+  defineExpose,
+  defineProps,
+  onMounted,
+} from "vue";
+import {
+  getTypeStatus
+} from "/@/utils/formate";
+
+import { formatDecimalData } from "/@/utils/formate";
+import { expandMore } from "/@/hooks/expandMore";
+import cache from "/@/utils/cache";
+import { pageWmsMaterial } from "/@/api/main/WmsBase/wmsMaterial";
+import { getAPI } from "/@/utils/axios-utils";
+import { SysEnumApi } from "/@/api-services/api";
+import OpenDetails from "/@/components/openDetails/openDetails.vue";
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import commonFunction from "/@/utils/commonFunction";
+import { handleSlectDataWmsBusinessType } from "/@/utils/selectData";
+import { pageWmsStockQuan } from "/@/api/main/ReportCenter/wmsStockQuan";
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getEnumStockStatusData_Index = ref<any>([]);
+const getContainerIsDisabled_Index = ref<any>([]);
+const getEnumPlaceState_Index = ref<any>([]);
+const getEnumQCStatusData_Index = ref<any>([]);
+  const getEnumPlaceStatusData_Index = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(["getTabelData"]);
+const props = defineProps({
+  titleAuthor: {
+    type: Number,
+    required: true,
+  },
+  hexiao: {
+    type: Number,
+    default: 1,
+    required: true,
+  },
+});
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+  materialCode: "",
+  snCode:"",
+  Page: 1,
+  PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref("drawerAll");
+// const
+//鍗曞彿
+const purchaseNo = ref("");
+
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+
+  detailForm.value.Page = 1; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+  detailForm.value.PageSize = 10; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+
+  if (scope.materialCode) {
+    title.value = `${scope.materialCode}`;
+  }
+  drawerType.value = "drawerAll";
+  drawerVisible.value = true;
+  purchaseNo.value = scope.materialCode;
+  detailForm.value.materialCode = scope.materialCode;
+
+  //------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+  getDetail();
+  //------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+
+  getEnumStockStatusData_Index.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("StockStatusEnum")).data.result ??
+    [];
+  getContainerIsDisabled_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("StockStatusEnum")).data.result ?? [];
+  getEnumPlaceState_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("StockStatusEnum")).data.result ?? [];
+  getEnumQCStatusData_Index.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("StockQcStatusEnum")).data
+      .result ?? [];
+      getEnumPlaceStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceStatusEnum')).data.result ?? [];
+  // //----------------鐗╂枡鏄庣粏
+  // // 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+  // let scopetrans = JSON.parse(JSON.stringify(scope));
+  // // scopetrans.totalquantity = Number(scopetrans.totalquantity).toFixed(3);
+  // nextTick(() => {
+  //   scopetrans.poStatus = getEnumDesc(scopetrans.poStatus, getEnumPoDetailStatusData_Index.value);
+  //   scopetrans.businessType = getEnumDesc(scopetrans.businessType, getBusinessTypeData_Index.value);
+  //   scopetrans.orderType = getEnumDesc(scopetrans.orderType, getEnumOrderTypeData_Index.value);
+  //   proxy.$refs["propDetailRef"].openADialog(scopetrans, entozhExcell);
+  // });
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+  detailForm.value = {
+    materialCode: "",
+    snCode:"",
+    Page: 1,
+    PageSize: 10,
+  };
+  deltailList.value = [];
+  detailCount.value = 0;
+  drawerList.value = [];
+  detailCount.value = 0;
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+  id: number;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+const loading = ref(false)
+//寮瑰嚭灞傛爣棰�
+let title = ref("");
+//鑾峰彇鍏ュ簱鍗曚笅鐗╂枡璇︽儏
+const getDetail = async (callback?: any) => {
+  loading.value = true;
+
+  var res = await pageWmsStockQuan(Object.assign(detailForm.value));
+  if (res.data.type == "success") {
+
+    drawerList.value = res.data.result?.items ?? [];
+    detailCount.value = res.data.result?.total;
+
+  }
+  loading.value = false;
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+
+});
+
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+  margin: 10px;
+}
+
+.msi-form {
+  margin-top: 10px;
+}
+
+.msi-form {
+  margin-bottom: 10px;
+}
+
+.slot_title {
+  display: flex;
+  align-items: center;
+
+  // margin-left: 20px;
+  .title_orderNo {
+    font-size: 18px;
+    color: #F18201;
+    font-weight: bold;
+    margin-right: 5px;
+  }
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wareInventorySummary/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wareInventorySummary/index.vue
new file mode 100644
index 0000000..b976130
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wareInventorySummary/index.vue
@@ -0,0 +1,359 @@
+锘�<template>
+  <div class="wareAgeWarm-container">
+    <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
+      <el-tab-pane label="浠撳簱姹囨��" name="first">
+        <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+          <el-form :model="queryParamsWareAgeWarm" ref="queryForm" labelWidth="90">
+            <el-row>
+              <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+                <el-form-item label="鍏抽敭瀛�">
+                  <el-input v-model="queryParamsWareAgeWarm.searchKey" clearable="" placeholder="鐗╂枡鍚嶇О,鐗╂枡缂栧彿" />
+
+                </el-form-item>
+              </el-col>
+              <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+                <el-form-item label="鐗╂枡鍚嶇О">
+                  <el-input v-model="queryParamsWareAgeWarm.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" />
+
+                </el-form-item>
+              </el-col>
+              <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+                <el-form-item label="鐗╂枡缂栧彿">
+                  <el-input v-model="queryParamsWareAgeWarm.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+
+                </el-form-item>
+              </el-col>
+        
+              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+                <el-form-item>
+                  <el-button-group style="display: flex; align-items: center;">
+                    <el-button type="primary" icon="ele-Search" @click="handleQueryWareAgeWarm('first')" v-auth="'wareAgeWarm:page'"
+                      :disabled="disabled_btnWareAgeWarm"> 鏌ヨ </el-button>
+                    <el-button icon="ele-Refresh" @click="resetWareAgeWarm"> 閲嶇疆 </el-button>
+                    <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWareAgeWarm"
+                      v-if="!showAdvanceQueryUIWareAgeWarm" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                    <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWareAgeWarm"
+                      v-if="showAdvanceQueryUIWareAgeWarm" style="margin-left:5px;"> 闅愯棌 </el-button>
+                      <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWareAgeWarm" > 瀵煎嚭 </el-button>
+                  </el-button-group>
+                </el-form-item>
+
+              </el-col>
+            </el-row>
+          </el-form>
+        </el-card>
+        <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+          <el-table ref="tableRefWareAgeWarm" :data="tableDataWareAgeWarm" style="width: 100%" v-loading="loadingWareAgeWarm"
+            tooltip-effect="light" row-key="id" @sort-change="sortChangeWareAgeWarm" border="">
+            <el-table-column type="index" label="搴忓彿" width="55" align="center" />
+
+            <el-table-column label="鐗╂枡缂栧彿" prop="materialCode" width="150" show-overflow-tooltip>
+              <template #default="scope">
+                <span class="under_line" @click="openDrawertwo(1, scope.row)">
+                  {{ scope.row.materialCode }}
+                </span>
+              </template>
+            </el-table-column>
+
+            <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+            <el-table-column prop="materialUnit" label="搴撳瓨鍗曚綅" show-overflow-tooltip="" />
+            <el-table-column prop="quantity" label="鎬诲簱瀛�" show-overflow-tooltip="" />
+            <el-table-column prop="useQty" label="鍙敤搴撳瓨" show-overflow-tooltip="" />
+            <el-table-column prop="predetermineLockedQty" label="棰勯厤鏁�" show-overflow-tooltip="" />
+            <el-table-column prop="otherLockQty" label="鍏朵粬涓嶅彲鐢ㄥ簱瀛�" show-overflow-tooltip="" />
+            <!-- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130"   show-overflow-tooltip="" /> -->
+            <!-- <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+            <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+            <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+            <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wareAgeWarm:update') || auth('wareAgeWarm:delete')">
+              <template #default="scope">
+                <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWareAgeWarm(scope.row)" v-auth="'wareAgeWarm:update'"> 缂栬緫 </el-button>
+                <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWareAgeWarm(scope.row)" v-auth="'wareAgeWarm:delete'"> 鍒犻櫎 </el-button>
+              </template>
+            </el-table-column> -->
+          </el-table>
+          <el-pagination v-model:currentPage="tableParamsWareAgeWarm.page" v-model:page-size="tableParamsWareAgeWarm.pageSize"
+            :total="tableParamsWareAgeWarm.total" :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background=""
+            @size-change="handleSizeChangeWareAgeWarm" @current-change="handleCurrentChangeWareAgeWarm"
+            layout="total, sizes, prev, pager, next, jumper" />
+          <printDialogWareAgeWarm ref="printDialogRefWareAgeWarm" :title="printWareAgeWarmTitle"
+            @reloadTable="handleQueryWareAgeWarm('first')" />
+          <editDialogWareAgeWarm ref="editDialogRefWareAgeWarm" :title="editWareAgeWarmTitle"
+            @reloadTable="handleQueryWareAgeWarm('first')" />
+        </el-card>
+
+      </el-tab-pane>
+      <el-tab-pane label="搴撳尯姹囨��" name="second">
+        <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+          <el-form :model="queryParamsWareAgeWarm" ref="queryForm" labelWidth="90">
+            <el-row>
+              <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+                <el-form-item label="鍏抽敭瀛�">
+                  <el-input v-model="queryParamsWareAgeWarm.searchKey" clearable="" placeholder="鐗╂枡鍚嶇О,鐗╂枡缂栧彿" />
+                </el-form-item>
+              </el-col>
+              <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+                <el-form-item label="鐗╂枡鍚嶇О">
+                  <el-input v-model="queryParamsWareAgeWarm.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" />
+                </el-form-item>
+              </el-col>
+              <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+                <el-form-item label="鐗╂枡缂栧彿">
+                  <el-input v-model="queryParamsWareAgeWarm.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+                </el-form-item>
+              </el-col>   
+              <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+              <el-form-item label="鎵�鍦ㄥ簱鍖�" prop="areaName">
+                <el-select v-model="queryParamsWareAgeWarm.areaName" placeholder="璇烽�夋嫨鎵�鍦ㄥ簱鍖�">
+                  <el-option v-for="(item,index) in arr1"  :key="index" :value="item.value" :label="`[${item.code}] ${item.value}`"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>      
+              <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+                <el-form-item>
+                  <el-button-group style="display: flex; align-items: center;">
+                    <el-button type="primary" icon="ele-Search" @click="handleQueryWareAgeWarm('second')" v-auth="'wareAgeWarm:page'"
+                      :disabled="disabled_btnWareAgeWarm"> 鏌ヨ </el-button>
+                    <el-button icon="ele-Refresh" @click="resetWareAgeWarm"> 閲嶇疆 </el-button>
+                    <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWareAgeWarm"
+                      v-if="!showAdvanceQueryUIWareAgeWarm" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                    <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWareAgeWarm"
+                      v-if="showAdvanceQueryUIWareAgeWarm" style="margin-left:5px;"> 闅愯棌 </el-button>
+                      <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWareAgeWarm" > 瀵煎嚭 </el-button>
+                  </el-button-group>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-form>
+        </el-card>
+        <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+          <el-table ref="tableRefWareAgeWarm" :data="tableDataWareAgeWarm" style="width: 100%" v-loading="loadingWareAgeWarm"
+            tooltip-effect="light" row-key="id" @sort-change="sortChangeWareAgeWarm" border="">
+            <el-table-column type="index" label="搴忓彿" width="55" align="center" />
+            <el-table-column label="鐗╂枡缂栧彿" prop="materialCode" width="150" show-overflow-tooltip>
+              <template #default="scope">
+                <span class="under_line" @click="openDrawer(1, scope.row)">
+                  {{ scope.row.materialCode }}
+                </span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+            <el-table-column prop="materialUnit" label="搴撳瓨鍗曚綅" show-overflow-tooltip="" />
+            <el-table-column prop="areaCode" label="搴撳尯缂栧彿" show-overflow-tooltip="" />
+            <el-table-column prop="areaName" label="搴撳尯鍚嶇О" show-overflow-tooltip="" />
+            <el-table-column prop="quantity" label="鍏ㄩ儴搴撳瓨" show-overflow-tooltip="" />
+            <el-table-column prop="useQty" label="鍙敤搴撳瓨" show-overflow-tooltip="" />
+            <el-table-column prop="lockQty" label="涓嶅彲鐢ㄥ簱瀛�" show-overflow-tooltip="" />
+          </el-table>
+          <el-pagination v-model:currentPage="tableParamsWareAgeWarm.page" v-model:page-size="tableParamsWareAgeWarm.pageSize"
+            :total="tableParamsWareAgeWarm.total" :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background=""
+            @size-change="handleSizeChangeWareAgeWarm" @current-change="handleCurrentChangeWareAgeWarm"
+            layout="total, sizes, prev, pager, next, jumper" />
+          <printDialogWareAgeWarm ref="printDialogRefWareAgeWarm" :title="printWareAgeWarmTitle"
+            @reloadTable="handleQueryWareAgeWarm('second')" />
+          <editDialogWareAgeWarm ref="editDialogRefWareAgeWarm" :title="editWareAgeWarmTitle"
+            @reloadTable="handleQueryWareAgeWarm('second')" />
+        </el-card>
+        
+      </el-tab-pane>
+    </el-tabs>
+    <!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 -->
+    <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQueryWareAgeWarm('first')"></open-allprop>       
+    <open-allproptwo  ref="propALlProptwo" @getTabelData="handleQueryWareAgeWarm('second')"></open-allproptwo>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wareAgeWarm">
+import { ref, onMounted, getCurrentInstance,nextTick } from "vue";
+import { ElMessageBox, ElMessage } from "element-plus";
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+import type { TabsPaneContext } from 'element-plus'
+
+const activeName = ref('first')
+
+const handleClick = (tab: TabsPaneContext, event: Event) => {
+  // console.log(tab, event)
+  tableDataWareAgeWarm.value = []
+  handleQueryWareAgeWarm(tab.props.name);
+}
+
+import printDialogWareAgeWarm from '/@/views/system/print/component/hiprint/preview.vue'
+import { pageStockGroup , v_WmsStockQuanAreaGroup} from '/@/api/main/WareAgeWarm/wareAgeWarm';
+import { handleSlectDataWmsArea } from '/@/utils/selectData';
+
+import OpenAllprop from "./component/openAllprop.vue";
+import openAllproptwo from "./component/openAllproptwo.vue";
+import { ExcellTableDataExport } from "/@/hooks/exportTableDataExcell";
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+
+// ---------------璇︽儏-----------------------
+const openDrawer = (type: number, item?: any) => {
+  proxy.$refs['propALlProp'].openDrawer(type, item, {});
+}
+const openDrawertwo = (type: number, item?: any) => {
+  console.log('type2',type)
+  console.log('item2',item)
+  proxy.$refs['propALlProptwo'].openDrawer(type, item, {});
+}
+// ---------------end璇︽儏-----------------------
+
+/***************************************************[搴撻緞鎶ヨ〃鎿嶄綔]寮�濮�***************************************************/
+const showAdvanceQueryUIWareAgeWarm = ref(false);
+const tableRefWareAgeWarm = ref(null);
+const printDialogRefWareAgeWarm = ref();
+const editDialogRefWareAgeWarm = ref();
+const loadingWareAgeWarm = ref(false);
+const disabled_btnWareAgeWarm = ref(false);
+const tableDataWareAgeWarm = ref<any>([]);
+const queryParamsWareAgeWarm = ref<any>({});
+const tableParamsWareAgeWarm = ref({
+  page: 1,
+  pageSize: 10,
+  total: 0,
+});
+
+const printWareAgeWarmTitle = ref("");
+const editWareAgeWarmTitle = ref("");
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUIWareAgeWarm = () => {
+  showAdvanceQueryUIWareAgeWarm.value = !showAdvanceQueryUIWareAgeWarm.value;
+}
+
+// 鏌ヨ搴撳尯
+const handleQueryWareAgeWarm = async (val:any) => {
+  loadingWareAgeWarm.value = true;
+  disabled_btnWareAgeWarm.value = true;
+  if(val=='first'){
+    var res = await pageStockGroup(Object.assign(queryParamsWareAgeWarm.value, tableParamsWareAgeWarm.value));
+    if (res.data.type == "success") {
+      tableDataWareAgeWarm.value = res.data.result?.items ?? [];
+      tableParamsWareAgeWarm.value.total = res.data.result?.total;
+    }
+  }else{ 
+    var res = await v_WmsStockQuanAreaGroup(Object.assign(queryParamsWareAgeWarm.value, tableParamsWareAgeWarm.value));
+      if (res.data.type == "success") {
+        tableDataWareAgeWarm.value = res.data.result?.items ?? [];
+        tableParamsWareAgeWarm.value.total = res.data.result?.total;
+      }
+  }
+ 
+  loadingWareAgeWarm.value = false;
+  disabled_btnWareAgeWarm.value = false;
+};
+
+// 閲嶇疆搴撻緞鎶ヨ〃鏌ヨ
+const resetWareAgeWarm = async () => {
+  queryParamsWareAgeWarm.value = {}
+};
+
+// 搴撻緞鎶ヨ〃鍒楁帓搴�
+const sortChangeWareAgeWarm = async (column: any) => {
+  queryParamsWareAgeWarm.value.field = column.prop;
+  queryParamsWareAgeWarm.value.order = column.order;
+  await handleQueryWareAgeWarm('first');
+};
+
+// 鎵撳紑鏂板搴撻緞鎶ヨ〃椤甸潰
+const openAddWareAgeWarm = () => {
+  editWareAgeWarmTitle.value = '娣诲姞搴撻緞鎶ヨ〃';
+  editDialogRefWareAgeWarm.value.openDialog(1, {});
+};
+
+// 鎵撳紑鎵撳嵃搴撻緞鎶ヨ〃椤甸潰
+const openPrintWareAgeWarm = async (row: any) => {
+  printWareAgeWarmTitle.value = '鎵撳嵃搴撻緞鎶ヨ〃';
+}
+
+
+// 鏀瑰彉搴撻緞鎶ヨ〃椤甸潰瀹归噺
+const handleSizeChangeWareAgeWarm = (val: number) => {
+  tableParamsWareAgeWarm.value.pageSize = val;
+  handleQueryWareAgeWarm('first');
+};
+
+// 鏀瑰彉搴撻緞鎶ヨ〃椤电爜搴忓彿
+const handleCurrentChangeWareAgeWarm = (val: number) => {
+  tableParamsWareAgeWarm.value.page = val;
+  handleQueryWareAgeWarm('first');
+};
+
+/***************************************************[搴撻緞鎶ヨ〃鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[搴撳瓨姹囨�诲鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWareAgeWarm = {
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWareAgeWarm = async (formData:Blob) => {
+    loadingWareAgeWarm.value = true;
+    disabled_btnWareAgeWarm.value = true;
+    var new_tableParamsWareAgeWarm=JSON.parse(JSON.stringify(tableParamsWareAgeWarm.value));
+    new_tableParamsWareAgeWarm.page = 1;
+    new_tableParamsWareAgeWarm.pageSize = 100000;
+    if(activeName.value=='first'){
+      var res = await pageStockGroup(Object.assign(queryParamsWareAgeWarm.value, new_tableParamsWareAgeWarm));
+      if(res.data.type=="success"){
+        let array = res.data.result?.items ?? []
+        exportExcelWareAgeWarm(array);
+      }
+    }else{
+      var res = await v_WmsStockQuanAreaGroup(Object.assign(queryParamsWareAgeWarm.value, new_tableParamsWareAgeWarm));
+      if(res.data.type=="success"){
+        let array = res.data.result?.items ?? []
+        exportExcelWareAgeWarm(array);
+      }
+    }
+    loadingWareAgeWarm.value = false;
+    disabled_btnWareAgeWarm.value = false;
+};
+//瀵煎嚭
+const exportExcelWareAgeWarm  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWareAgeWarm,"搴撳瓨姹囨�绘姤琛�",functionMapWareAgeWarm);
+};
+/***************************************************[搴撻緞鎶ヨ〃瀵煎嚭]缁撴潫***************************************************/
+let arr1:any =ref("") //涓嬫媺璇诲彇鎺ュ彛
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+  nextTick(async () => {
+    arr1.value = await handleSlectDataWmsArea({
+      // page: 1,
+			// pageSize: 1000,
+			// total: 0,
+			// IsDisabled:false,
+      // isVirtually:false,
+      // areaType:1 //绔嬩綋搴�
+    }); //涓嬫媺璇诲彇鎺ュ彛
+  });
+});
+
+handleQueryWareAgeWarm('first');
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+  width: 100%;
+}
+
+.under_line {
+  color: #F18201;
+  text-decoration: underline;
+  cursor: pointer;
+}
+.demo-tabs{
+  background-color: #fff;
+  padding-left: 10px;
+}
+/* :deep(.demo-tabs > .el-tabs__content) {
+  padding: 32px;
+  color: #6b778c;
+  font-size: 32px;
+  font-weight: 600;
+} */
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsAvailabilityOfPlace/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsAvailabilityOfPlace/component/editDialog.vue
new file mode 100644
index 0000000..04e5502
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsAvailabilityOfPlace/component/editDialog.vue
@@ -0,0 +1,140 @@
+锘�<template>
+	<div class="wmsTask-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsTask, updateWmsTask, detailWmsTask } from "/@/api/main/ReportCenter/wmsTask";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumMoveTypeData = ref<any>([]);
+	const getEnumTaskStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsTask(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsTask(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsTask(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumMoveTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('MoveTypeEnum')).data.result ?? [];
+	
+			getEnumTaskStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TaskStatusEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsAvailabilityOfPlace/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsAvailabilityOfPlace/index.vue
new file mode 100644
index 0000000..fd1339f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsAvailabilityOfPlace/index.vue
@@ -0,0 +1,303 @@
+锘�<template>
+  <div class="wmsTask-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsTask" ref="queryForm" labelWidth="90">
+        <el-row>
+          
+       <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+         <el-form-item label="鍏抽敭瀛�">
+           <el-input v-model="queryParamsWmsTask.searchKey" clearable="" placeholder="搴撳尯鍚嶇О,搴撳尯缂栧彿"/>
+           
+         </el-form-item>
+       </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsTask.AreaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+		  <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+		    <el-form-item label="搴撳尯鍚嶇О">
+		      <el-input v-model="queryParamsWmsTask.AreaName" clearable="" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"/>
+		      
+		    </el-form-item>
+		  </el-col>
+          
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="浠撳簱缂栧彿">
+              <el-input v-model="queryParamsWmsTask.WarehouseCode" clearable="" placeholder="璇疯緭鍏ヤ粨搴撶紪鍙�"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="搴撲綅鍒╃敤鐜�">
+              <el-select clearable="" v-model="queryParamsWmsTask.availabilityOfPlaceQuery" placeholder="璇烽�夋嫨搴撲綅鍒╃敤鐜�">
+                <el-option v-for="(item,index) in AvailabilityOfPlaceQuery" :key="index" :value="item.value" :label="` ${item.title}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+    
+          
+          
+          
+          
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsTask" v-auth="'wmsTask:page'" :disabled="disabled_btnWmsTask"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsTask"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsTask" v-if="!showAdvanceQueryUIWmsTask" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsTask" v-if="showAdvanceQueryUIWmsTask" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsTask" v-auth="'wmsTask:add'"> 鏂板 </el-button> -->
+				<el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsMaterial"  v-auth="'wmsMaterial:exportExcel'" > 瀵煎嚭 </el-button>
+				
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+	            ref="tableRefPlacePercentage"
+				:data="tableDataWmsTask"
+				style="width: 100%"
+				v-loading="loadingWmsTask"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsTask"
+				border="">
+				<el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+				<el-table-column prop="areaCode" label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+				<el-table-column prop="areaName" label="搴撳尯鍚嶇О"  show-overflow-tooltip="" />
+				<el-table-column prop="placeStockNumber" label="鏈夎揣搴撲綅鏁�"  show-overflow-tooltip="" />
+				<el-table-column prop="placeAllNumber" label="鎬诲簱浣嶆暟"  show-overflow-tooltip="" />
+				<!-- <el-table-column prop="areaType" label="搴撳尯绫诲瀷"  show-overflow-tooltip="" /> -->
+				<!-- <el-table-column prop="areaTypeName" label="搴撳尯绫诲瀷"  show-overflow-tooltip="" >
+				  <template #default="scope">
+				    {{ getEnumDesc(scope.row.areaType, getEnumAreaTypeEnum_Index) }} 
+				  </template>
+				</el-table-column> -->
+			<!-- 	<el-table-column prop="warehouseCode" label="浠撳簱缂栧彿"  show-overflow-tooltip="" />
+				<el-table-column prop="warehouseName" label="浠撳簱鍚嶇О"  show-overflow-tooltip="" /> -->
+				<!-- <el-table-column prop="availabilityOfPlace" label="搴撲綅鍒╃敤鐜�"  show-overflow-tooltip="" /> -->
+				<el-table-column prop="percentage" label="搴撲綅鍒╃敤鐜�"  show-overflow-tooltip="" />
+				
+  
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsTask.page"
+				v-model:page-size="tableParamsWmsTask.pageSize"
+				:total="tableParamsWmsTask.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsTask"
+				@current-change="handleCurrentChangeWmsTask"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsTask
+        ref="printDialogRefWmsTask"
+        :title="printWmsTaskTitle"
+        @reloadTable="handleQueryWmsTask" />
+      <editDialogWmsTask
+        ref="editDialogRefWmsTask"
+        :title="editWmsTaskTitle"
+        @reloadTable="handleQueryWmsTask"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsTask">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+
+  import {
+	getTypeStatus
+} from "/@/utils/formate";
+  import printDialogWmsTask from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pageWmsTask, deleteWmsTask,importExcelWmsTask,downloadExcelTemplateWmsTask } from '/@/api/main/ReportCenter/wmsTask';
+  //pageWmsAvailabilityOfPlace
+  import { pageWmsAvailabilityOfPlace} from '/@/api/main/ReportCenter/wmsAvailabilityOfPlace';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+  const getEnumMoveTypeData_Index = ref<any>([]);
+  const getEnumTaskStatusData_Index = ref<any>([]);
+  const getEnumIsFlagFinishData_Index = ref<any>([]);
+  const getEnumAreaTypeEnum_Index = ref<any>([]);
+	const { getEnumDesc } = commonFunction();
+	
+	
+  const AvailabilityOfPlaceQuery = ref([
+  聽 {
+  聽 聽 title: '0%',
+  聽 聽 value: '0.00-0.00'
+  聽 },
+  聽 {
+  聽 聽 title: '0%-30%',
+  聽 聽 value: '0.00-0.30'
+  聽 },
+  聽 {
+  聽 聽 title: '30%-60%',
+  聽 聽 value: '0.30-0.60'
+  聽 },
+  {
+  聽 聽 title: '60%-100%',
+  聽 聽 value: '0.60-1.00'
+  聽 },
+  ])
+  /***************************************************[璋冨害浠诲姟鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsTask = ref(false);
+  const tableRefWmsTask = ref(null);
+  const printDialogRefWmsTask = ref();
+  const editDialogRefWmsTask = ref();
+  const loadingWmsTask = ref(false);
+  const disabled_btnWmsTask = ref(false);
+  const tableDataWmsTask = ref<any>([]);
+  const queryParamsWmsTask = ref<any>({});
+  const tableParamsWmsTask = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+const disabled_btnWmsPlacePercentage= ref(false);
+  const printWmsTaskTitle = ref("");
+  const editWmsTaskTitle = ref("");
+const tableRefPlacePercentage = ref(null);
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsTask = () => {
+    showAdvanceQueryUIWmsTask.value = !showAdvanceQueryUIWmsTask.value;
+  }
+
+  // 鏌ヨ璋冨害浠诲姟
+  const handleQueryWmsTask = async () => {
+    loadingWmsTask.value = true;
+    disabled_btnWmsTask.value = true;
+	getEnumAreaTypeEnum_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AreaTypeEnum')).data.result ?? [];
+    var res = await pageWmsAvailabilityOfPlace(Object.assign(queryParamsWmsTask.value, tableParamsWmsTask.value));
+    if(res.data.type=="success"){
+		
+      tableDataWmsTask.value = res.data.result?.items ?? [];
+      tableParamsWmsTask.value.total = res.data.result?.total;
+    }
+    loadingWmsTask.value = false;
+    disabled_btnWmsTask.value = false;
+	
+  };
+  const functionMapWmsMaterial = {
+       getEnumAreaTypeEnum_Index
+  };
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsMaterial = async (formData:Blob) => {
+    loadingWmsTask.value = true;
+    disabled_btnWmsPlacePercentage.value = true;
+    var new_tableParamsWmsMaterial=JSON.parse(JSON.stringify(tableParamsWmsTask.value));
+    new_tableParamsWmsMaterial.page = 1;
+    new_tableParamsWmsMaterial.pageSize = 100000;
+    var res = await pageWmsAvailabilityOfPlace(Object.assign(tableParamsWmsTask.value, new_tableParamsWmsMaterial));
+    if(res.data.type=="success"){
+		
+		res.data.result?.items.forEach((item)=>{
+			item.areaTypeName = getEnumDesc(item.areaType, getEnumAreaTypeEnum_Index.value) 
+		})
+		
+		
+      exportExcelWmsMaterial(res.data.result?.items ?? []);
+    }
+    loadingWmsTask.value = false;
+    disabled_btnWmsPlacePercentage.value = false;
+	
+};
+//瀵煎嚭
+const exportExcelWmsMaterial  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefPlacePercentage,"搴撲綅鍒╃敤鐜囪〃",functionMapWmsMaterial);
+};
+  // 閲嶇疆璋冨害浠诲姟鏌ヨ
+  const resetWmsTask = async () => {
+    queryParamsWmsTask.value = {}
+  };
+
+  // 璋冨害浠诲姟鍒楁帓搴�
+  const sortChangeWmsTask = async (column: any) => {
+	queryParamsWmsTask.value.field = column.prop;
+	queryParamsWmsTask.value.order = column.order;
+	await handleQueryWmsTask();
+  };
+
+  // 鎵撳紑鏂板璋冨害浠诲姟椤甸潰
+  const openAddWmsTask = () => {
+    editWmsTaskTitle.value = '娣诲姞璋冨害浠诲姟';
+    editDialogRefWmsTask.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃璋冨害浠诲姟椤甸潰
+  const openPrintWmsTask = async (row: any) => {
+    printWmsTaskTitle.value = '鎵撳嵃璋冨害浠诲姟';
+  }
+  
+  // 鎵撳紑缂栬緫璋冨害浠诲姟椤甸潰
+  const openEditWmsTask = (row: any) => {
+    editWmsTaskTitle.value = '缂栬緫璋冨害浠诲姟';
+    editDialogRefWmsTask.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎璋冨害浠诲姟
+  const delWmsTask = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsTask.value = true;
+    var ret = await deleteWmsTask(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsTask.value = false;
+    handleQueryWmsTask();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉璋冨害浠诲姟椤甸潰瀹归噺
+  const handleSizeChangeWmsTask = (val: number) => {
+    tableParamsWmsTask.value.pageSize = val;
+    handleQueryWmsTask();
+  };
+
+  // 鏀瑰彉璋冨害浠诲姟椤电爜搴忓彿
+  const handleCurrentChangeWmsTask = (val: number) => {
+    tableParamsWmsTask.value.page = val;
+    handleQueryWmsTask();
+  };
+
+/***************************************************[璋冨害浠诲姟鎿嶄綔]缁撴潫***************************************************/
+  // 璋冨害浠诲姟椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    getEnumMoveTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('MoveTypeEnum')).data.result ?? [];
+
+    getEnumTaskStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TaskStatusEnum')).data.result ?? [];
+    getEnumIsFlagFinishData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+	getEnumAreaTypeEnum_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AreaTypeEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsTask();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsContainerSort/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsContainerSort/component/editDialog.vue
new file mode 100644
index 0000000..d266d39
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsContainerSort/component/editDialog.vue
@@ -0,0 +1,139 @@
+锘�<template>
+	<div class="wmsContainerSort-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsContainerSort, updateWmsContainerSort, detailWmsContainerSort } from "/@/api/main/ReportCenter/wmsContainerSort";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumSortStatusData = ref<any>([]);
+	const getEnumRelationOrderTypeData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsContainerSort(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsContainerSort(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsContainerSort(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumSortStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+			getEnumRelationOrderTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsContainerSort/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsContainerSort/index.vue
new file mode 100644
index 0000000..5003eaf
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsContainerSort/index.vue
@@ -0,0 +1,320 @@
+锘�<template>
+  <div class="wmsContainerSort-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsContainerSort" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsContainerSort.searchKey" clearable="" placeholder="瀹瑰櫒缂栧彿,鐗╂枡缂栧彿,鐗╂枡鍚嶇О,璺熻釜鐮�,鎵规,渚涘簲鍟嗘壒娆�,ERP搴撳瓨鍦�,娉㈡鍗曞彿,鍏宠仈鍗曞彿,鍒涘缓浜�,淇敼浜�,娉㈡鍗曡鍙�,鍏宠仈鍗曡鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSort">
+            <el-form-item label="瀹瑰櫒缂栧彿">
+              <el-input v-model="queryParamsWmsContainerSort.containerCode" clearable="" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSort">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParamsWmsContainerSort.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSort">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsContainerSort.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSort">
+            <el-form-item label="璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsContainerSort.snCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSort">
+            <el-form-item label="鍒嗘嫞鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsContainerSort.sortStatus" placeholder="璇烽�夋嫨鍒嗘嫞鐘舵��">
+                <el-option v-for="(item,index) in getEnumSortStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSort">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParamsWmsContainerSort.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSort">
+            <el-form-item label="渚涘簲鍟嗘壒娆�">
+              <el-input v-model="queryParamsWmsContainerSort.supplierBatch" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSort">
+            <el-form-item label="ERP搴撳瓨鍦�">
+              <el-input v-model="queryParamsWmsContainerSort.erpCode" clearable="" placeholder="璇疯緭鍏RP搴撳瓨鍦�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSort">
+            <el-form-item label="娉㈡鍗曞彿">
+              <el-input v-model="queryParamsWmsContainerSort.sortNo" clearable="" placeholder="璇疯緭鍏ユ尝娆″崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSort">
+            <el-form-item label="鍏宠仈鍗曞彿">
+              <el-input v-model="queryParamsWmsContainerSort.relationNo" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSort">
+            <el-form-item label="鍏宠仈鍗曟嵁绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsContainerSort.relationOrderType" placeholder="璇烽�夋嫨鍏宠仈鍗曟嵁绫诲瀷">
+                <el-option v-for="(item,index) in getEnumRelationOrderTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSort">
+            <el-form-item label="娉㈡鍗曡鍙�">
+              <el-input v-model="queryParamsWmsContainerSort.sortNoLineNumber" clearable="" placeholder="璇疯緭鍏ユ尝娆″崟琛屽彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSort">
+            <el-form-item label="鍏宠仈鍗曡鍙�">
+              <el-input v-model="queryParamsWmsContainerSort.relationNoLineNumber" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟琛屽彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerSort">
+            <el-form-item label="閿佸畾搴撳瓨ID">
+              <el-input v-model="queryParamsWmsContainerSort.stockQuanLockId" clearable="" placeholder="璇疯緭鍏ラ攣瀹氬簱瀛業D"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsContainerSort" v-auth="'wmsContainerSort:page'" :disabled="disabled_btnWmsContainerSort"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsContainerSort"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsContainerSort" v-if="!showAdvanceQueryUIWmsContainerSort" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsContainerSort" v-if="showAdvanceQueryUIWmsContainerSort" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsContainerSort" v-auth="'wmsContainerSort:add'"> 鏂板 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsContainerSort"
+				:data="tableDataWmsContainerSort"
+				style="width: 100%"
+				v-loading="loadingWmsContainerSort"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsContainerSort"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="containerCode" label="瀹瑰櫒缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="snCode" label="璺熻釜鐮�"  show-overflow-tooltip="" />
+          <el-table-column prop="sortStatus" label="鍒嗘嫞鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.sortStatus, getEnumSortStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="quantity" label="闇�姹傛暟"  show-overflow-tooltip="" />
+        <el-table-column prop="pickQuantity" label="鍒嗘嫞鏁�"  show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierBatch" label="渚涘簲鍟嗘壒娆�"  show-overflow-tooltip="" />
+        <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�"  show-overflow-tooltip="" />
+        <el-table-column prop="sortNo" label="娉㈡鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="sortDetailsId" label="娉㈡鍗曟槑缁咺D"  show-overflow-tooltip="" />
+        <el-table-column prop="relationNo" label="鍏宠仈鍗曞彿"  show-overflow-tooltip="" />
+          <el-table-column prop="relationOrderType" label="鍏宠仈鍗曟嵁绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.relationOrderType, getEnumRelationOrderTypeData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="relationDetailsId" label="鍏宠仈鍗曟槑缁咺D"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="sortNoLineNumber" label="娉㈡鍗曡鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="relationNoLineNumber" label="鍏宠仈鍗曡鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="stockQuanLockId" label="閿佸畾搴撳瓨ID"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsContainerSort:update') || auth('wmsContainerSort:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsContainerSort(scope.row)" v-auth="'wmsContainerSort:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsContainerSort(scope.row)" v-auth="'wmsContainerSort:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsContainerSort.page"
+				v-model:page-size="tableParamsWmsContainerSort.pageSize"
+				:total="tableParamsWmsContainerSort.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsContainerSort"
+				@current-change="handleCurrentChangeWmsContainerSort"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsContainerSort
+        ref="printDialogRefWmsContainerSort"
+        :title="printWmsContainerSortTitle"
+        @reloadTable="handleQueryWmsContainerSort" />
+      <editDialogWmsContainerSort
+        ref="editDialogRefWmsContainerSort"
+        :title="editWmsContainerSortTitle"
+        @reloadTable="handleQueryWmsContainerSort"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsContainerSort">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+
+
+  import printDialogWmsContainerSort from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pageWmsContainerSort, deleteWmsContainerSort,importExcelWmsContainerSort,downloadExcelTemplateWmsContainerSort } from '/@/api/main/ReportCenter/wmsContainerSort';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumSortStatusData_Index = ref<any>([]);
+  const getEnumRelationOrderTypeData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[鍒嗘嫞淇℃伅鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsContainerSort = ref(false);
+  const tableRefWmsContainerSort = ref(null);
+  const printDialogRefWmsContainerSort = ref();
+  const editDialogRefWmsContainerSort = ref();
+  const loadingWmsContainerSort = ref(false);
+  const disabled_btnWmsContainerSort = ref(false);
+  const tableDataWmsContainerSort = ref<any>([]);
+  const queryParamsWmsContainerSort = ref<any>({});
+  const tableParamsWmsContainerSort = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsContainerSortTitle = ref("");
+  const editWmsContainerSortTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsContainerSort = () => {
+    showAdvanceQueryUIWmsContainerSort.value = !showAdvanceQueryUIWmsContainerSort.value;
+  }
+
+  // 鏌ヨ鍒嗘嫞淇℃伅
+  const handleQueryWmsContainerSort = async () => {
+    loadingWmsContainerSort.value = true;
+    disabled_btnWmsContainerSort.value = true;
+    var res = await pageWmsContainerSort(Object.assign(queryParamsWmsContainerSort.value, tableParamsWmsContainerSort.value));
+    if(res.data.type=="success"){
+      tableDataWmsContainerSort.value = res.data.result?.items ?? [];
+      tableParamsWmsContainerSort.value.total = res.data.result?.total;
+    }
+    loadingWmsContainerSort.value = false;
+    disabled_btnWmsContainerSort.value = false;
+  };
+
+  // 閲嶇疆鍒嗘嫞淇℃伅鏌ヨ
+  const resetWmsContainerSort = async () => {
+    queryParamsWmsContainerSort.value = {}
+  };
+
+  // 鍒嗘嫞淇℃伅鍒楁帓搴�
+  const sortChangeWmsContainerSort = async (column: any) => {
+	queryParamsWmsContainerSort.value.field = column.prop;
+	queryParamsWmsContainerSort.value.order = column.order;
+	await handleQueryWmsContainerSort();
+  };
+
+  // 鎵撳紑鏂板鍒嗘嫞淇℃伅椤甸潰
+  const openAddWmsContainerSort = () => {
+    editWmsContainerSortTitle.value = '娣诲姞鍒嗘嫞淇℃伅';
+    editDialogRefWmsContainerSort.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃鍒嗘嫞淇℃伅椤甸潰
+  const openPrintWmsContainerSort = async (row: any) => {
+    printWmsContainerSortTitle.value = '鎵撳嵃鍒嗘嫞淇℃伅';
+  }
+  
+  // 鎵撳紑缂栬緫鍒嗘嫞淇℃伅椤甸潰
+  const openEditWmsContainerSort = (row: any) => {
+    editWmsContainerSortTitle.value = '缂栬緫鍒嗘嫞淇℃伅';
+    editDialogRefWmsContainerSort.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎鍒嗘嫞淇℃伅
+  const delWmsContainerSort = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsContainerSort.value = true;
+    var ret = await deleteWmsContainerSort(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsContainerSort.value = false;
+    handleQueryWmsContainerSort();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉鍒嗘嫞淇℃伅椤甸潰瀹归噺
+  const handleSizeChangeWmsContainerSort = (val: number) => {
+    tableParamsWmsContainerSort.value.pageSize = val;
+    handleQueryWmsContainerSort();
+  };
+
+  // 鏀瑰彉鍒嗘嫞淇℃伅椤电爜搴忓彿
+  const handleCurrentChangeWmsContainerSort = (val: number) => {
+    tableParamsWmsContainerSort.value.page = val;
+    handleQueryWmsContainerSort();
+  };
+
+/***************************************************[鍒嗘嫞淇℃伅鎿嶄綔]缁撴潫***************************************************/
+  // 鍒嗘嫞淇℃伅椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    getEnumSortStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+    getEnumRelationOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsContainerSort();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsLogAction/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsLogAction/component/editDialog.vue
new file mode 100644
index 0000000..93c8f96
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsLogAction/component/editDialog.vue
@@ -0,0 +1,133 @@
+锘�<template>
+	<div class="wmsLogAction-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsLogAction, updateWmsLogAction, detailWmsLogAction } from "/@/api/main/ReportCenter/wmsLogAction";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsLogAction(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsLogAction(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsLogAction(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsLogAction/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsLogAction/index.vue
new file mode 100644
index 0000000..6b9a9e2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsLogAction/index.vue
@@ -0,0 +1,241 @@
+锘�<template>
+  <div class="wmsLogAction-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsLogAction" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsLogAction.searchKey" clearable="" placeholder="鎿嶄綔鍚嶇О,澶囨敞,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsLogAction">
+            <el-form-item label="鎿嶄綔鍚嶇О">
+              <el-input v-model="queryParamsWmsLogAction.title" clearable="" placeholder="璇疯緭鍏ユ搷浣滃悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsLogAction">
+            <el-form-item label="鎿嶄綔鏁版嵁ID">
+              <el-input v-model="queryParamsWmsLogAction.dbId" clearable="" placeholder="璇疯緭鍏ユ搷浣滄暟鎹甀D"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsLogAction" v-auth="'wmsLogAction:page'" :disabled="disabled_btnWmsLogAction"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsLogAction"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsLogAction" v-if="!showAdvanceQueryUIWmsLogAction" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsLogAction" v-if="showAdvanceQueryUIWmsLogAction" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsLogAction" v-auth="'wmsLogAction:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcel"> 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+       ref="tableRefWareAgeWarm"
+				:data="tableDataWmsLogAction"
+				style="width: 100%"
+				v-loading="loadingWmsLogAction"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsLogAction"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="title" label="鎿嶄綔鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="dbId" label="鎿嶄綔鏁版嵁ID"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="remark" label="澶囨敞"  show-overflow-tooltip="" /> -->
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"   show-overflow-tooltip="" />
+         <!-- :formatter="formatDate_T_Time"  -->
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsLogAction:update') || auth('wmsLogAction:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsLogAction(scope.row)" v-auth="'wmsLogAction:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsLogAction(scope.row)" v-auth="'wmsLogAction:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsLogAction.page"
+				v-model:page-size="tableParamsWmsLogAction.pageSize"
+				:total="tableParamsWmsLogAction.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsLogAction"
+				@current-change="handleCurrentChangeWmsLogAction"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsLogAction
+        ref="printDialogRefWmsLogAction"
+        :title="printWmsLogActionTitle"
+        @reloadTable="handleQueryWmsLogAction" />
+      <editDialogWmsLogAction
+        ref="editDialogRefWmsLogAction"
+        :title="editWmsLogActionTitle"
+        @reloadTable="handleQueryWmsLogAction"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsLogAction">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+  import printDialogWmsLogAction from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pageWmsLogAction, deleteWmsLogAction,importExcelWmsLogAction,downloadExcelTemplateWmsLogAction } from '/@/api/main/ReportCenter/wmsLogAction';
+
+
+
+  /***************************************************[鎿嶄綔灞ュ巻鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsLogAction = ref(false);
+  const printDialogRefWmsLogAction = ref();
+  const editDialogRefWmsLogAction = ref();
+  const loadingWmsLogAction = ref(false);
+  const disabled_btnWmsLogAction = ref(false);
+  const tableDataWmsLogAction = ref<any>([]);
+  const queryParamsWmsLogAction = ref<any>({});
+  const tableParamsWmsLogAction = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsLogActionTitle = ref("");
+  const editWmsLogActionTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsLogAction = () => {
+    showAdvanceQueryUIWmsLogAction.value = !showAdvanceQueryUIWmsLogAction.value;
+  }
+
+  // 鏌ヨ鎿嶄綔灞ュ巻
+  const handleQueryWmsLogAction = async () => {
+    loadingWmsLogAction.value = true;
+    disabled_btnWmsLogAction.value = true;
+    var res = await pageWmsLogAction(Object.assign(queryParamsWmsLogAction.value, tableParamsWmsLogAction.value));
+    if(res.data.type=="success"){
+      tableDataWmsLogAction.value = res.data.result?.items ?? [];
+      tableParamsWmsLogAction.value.total = res.data.result?.total;
+    }
+    loadingWmsLogAction.value = false;
+    disabled_btnWmsLogAction.value = false;
+  };
+
+  // 閲嶇疆鎿嶄綔灞ュ巻鏌ヨ
+  const resetWmsLogAction = async () => {
+    queryParamsWmsLogAction.value = {}
+  };
+
+  // 鎿嶄綔灞ュ巻鍒楁帓搴�
+  const sortChangeWmsLogAction = async (column: any) => {
+	queryParamsWmsLogAction.value.field = column.prop;
+	queryParamsWmsLogAction.value.order = column.order;
+	await handleQueryWmsLogAction();
+  };
+
+  // 鎵撳紑鏂板鎿嶄綔灞ュ巻椤甸潰
+  const openAddWmsLogAction = () => {
+    editWmsLogActionTitle.value = '娣诲姞鎿嶄綔灞ュ巻';
+    editDialogRefWmsLogAction.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃鎿嶄綔灞ュ巻椤甸潰
+  const openPrintWmsLogAction = async (row: any) => {
+    printWmsLogActionTitle.value = '鎵撳嵃鎿嶄綔灞ュ巻';
+  }
+  
+  // 鎵撳紑缂栬緫鎿嶄綔灞ュ巻椤甸潰
+  const openEditWmsLogAction = (row: any) => {
+    editWmsLogActionTitle.value = '缂栬緫鎿嶄綔灞ュ巻';
+    editDialogRefWmsLogAction.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎鎿嶄綔灞ュ巻
+  const delWmsLogAction = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsLogAction.value = true;
+    var ret = await deleteWmsLogAction(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsLogAction.value = false;
+    handleQueryWmsLogAction();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉鎿嶄綔灞ュ巻椤甸潰瀹归噺
+  const handleSizeChangeWmsLogAction = (val: number) => {
+    tableParamsWmsLogAction.value.pageSize = val;
+    handleQueryWmsLogAction();
+  };
+
+  // 鏀瑰彉鎿嶄綔灞ュ巻椤电爜搴忓彿
+  const handleCurrentChangeWmsLogAction = (val: number) => {
+    tableParamsWmsLogAction.value.page = val;
+    handleQueryWmsLogAction();
+  };
+/***************************************************[鎿嶄綔灞ュ巻瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWareAgeWarm = {
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const tableRefWareAgeWarm = ref(null);
+const handleExportExcel = async (formData:Blob) => {
+
+
+  loadingWmsLogAction.value = true;
+  disabled_btnWmsLogAction.value = true;
+    var new_tableParamsWareAgeWarm=JSON.parse(JSON.stringify(tableParamsWmsLogAction.value));
+    new_tableParamsWareAgeWarm.page = 1;
+    new_tableParamsWareAgeWarm.pageSize = 100000;
+    var res = await pageWmsLogAction(Object.assign(queryParamsWmsLogAction.value, new_tableParamsWareAgeWarm));
+    if(res.data.type=="success"){
+      let array = res.data.result?.items ?? []
+      // array.forEach((item:any)=>{
+      //   item.stockAlarm = getEnumDesc(item.stockAlarm,  warningTypeData.value)
+      // });
+      exportExcelWareAgeWarm(array);
+    }
+    loadingWmsLogAction.value = false;
+    disabled_btnWmsLogAction.value = false;
+};
+//瀵煎嚭
+const exportExcelWareAgeWarm  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWareAgeWarm,"鎿嶄綔灞ュ巻鎶ヨ〃",functionMapWareAgeWarm);
+};
+/***************************************************[鎿嶄綔灞ュ巻瀵煎嚭]缁撴潫***************************************************/
+/***************************************************[鎿嶄綔灞ュ巻鎿嶄綔]缁撴潫***************************************************/
+  // 鎿嶄綔灞ュ巻椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+  });
+
+  handleQueryWmsLogAction();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPredDispHistory/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPredDispHistory/component/editDialog.vue
new file mode 100644
index 0000000..189ffb3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPredDispHistory/component/editDialog.vue
@@ -0,0 +1,299 @@
+锘�<template>
+	<div class="wmsRecordPredDispHistory-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璁板綍绫诲瀷" prop="pDRecordType">
+							<el-select clearable v-model="ruleForm.pDRecordType" placeholder="璇烽�夋嫨璁板綍绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumPDRecordTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璁板綍绫诲瀷鍚嶇О" prop="pDRecordTypeName">
+							<el-input v-model="ruleForm.pDRecordTypeName" placeholder="璇疯緭鍏ヨ褰曠被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璺熻釜鐮�" prop="sNCode">
+							<el-input v-model="ruleForm.sNCode" placeholder="璇疯緭鍏ヨ窡韪爜" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏁伴噺" prop="quantity">
+							<el-input v-model="ruleForm.quantity" placeholder="璇疯緭鍏ユ暟閲�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹瑰櫒缂栧彿" prop="containerCode">
+							<el-input v-model="ruleForm.containerCode" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹瑰櫒鍚嶇О" prop="containerName">
+							<el-input v-model="ruleForm.containerName" placeholder="璇疯緭鍏ュ鍣ㄥ悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅缂栧彿" prop="placeCode">
+							<el-input v-model="ruleForm.placeCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅鍚嶇О" prop="placeName">
+							<el-input v-model="ruleForm.placeName" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯缂栧彿" prop="areaCode">
+							<el-input v-model="ruleForm.areaCode" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯鍚嶇О" prop="areaName">
+							<el-input v-model="ruleForm.areaName" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗘壒娆�" prop="supplierBatch">
+							<el-input v-model="ruleForm.supplierBatch" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵规" prop="batch">
+							<el-input v-model="ruleForm.batch" placeholder="璇疯緭鍏ユ壒娆�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP搴撳瓨鍦�" prop="erpCode">
+							<el-input v-model="ruleForm.erpCode" placeholder="璇疯緭鍏RP搴撳瓨鍦�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="娉㈡鍗曞彿" prop="sortNo">
+							<el-input v-model="ruleForm.sortNo" placeholder="璇疯緭鍏ユ尝娆″崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="娉㈡鍗曡鍙�" prop="sortNoLineNumber">
+							<el-input v-model="ruleForm.sortNoLineNumber" placeholder="璇疯緭鍏ユ尝娆″崟琛屽彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绉诲姩鍗曞彿" prop="movementNo">
+							<el-input v-model="ruleForm.movementNo" placeholder="璇疯緭鍏ョЩ鍔ㄥ崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绉诲姩琛屽彿" prop="movementLineNumber">
+							<el-input v-model="ruleForm.movementLineNumber" placeholder="璇疯緭鍏ョЩ鍔ㄨ鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曞彿" prop="relationNo">
+							<el-input v-model="ruleForm.relationNo" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曡鍙�" prop="relationNoLineNumber">
+							<el-input v-model="ruleForm.relationNoLineNumber" placeholder="璇疯緭鍏ュ叧鑱斿崟琛屽彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="澶囨敞" prop="remarks">
+							<el-input v-model="ruleForm.remarks" placeholder="璇疯緭鍏ュ娉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsRecordPredDispHistory, updateWmsRecordPredDispHistory, detailWmsRecordPredDispHistory } from "/@/api/main/ReportCenter/wmsRecordPredDispHistory";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumPDRecordTypeData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		pDRecordType: [{required: true, message: '璇烽�夋嫨璁板綍绫诲瀷锛�', trigger: 'change',},],
+		pDRecordTypeName: [{required: true, message: '璇疯緭鍏ヨ褰曠被鍨嬪悕绉帮紒', trigger: 'blur',},],
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		quantity: [{required: true, message: '璇疯緭鍏ユ暟閲忥紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsRecordPredDispHistory(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsRecordPredDispHistory(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsRecordPredDispHistory(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumPDRecordTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PDRecordTypeEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPredDispHistory/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPredDispHistory/index.vue
new file mode 100644
index 0000000..39de26c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPredDispHistory/index.vue
@@ -0,0 +1,389 @@
+锘�<template>
+  <div class="wmsRecordPredDispHistory-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsRecordPredDispHistory" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.searchKey" clearable="" placeholder="鐗╂枡缂栧彿,鐗╂枡鍚嶇О,璺熻釜鐮�,瀹瑰櫒缂栧彿,瀹瑰櫒鍚嶇О,搴撲綅缂栫爜,搴撲綅鍚嶇О,搴撳尯缂栫爜,搴撳尯鍚嶇О,渚涘簲鍟嗘壒娆�,鎵规,ERP搴撳瓨鍦�,娉㈡鍗曞彿,娉㈡鍗曡鍙�,绉诲姩鍗曞彿,绉诲姩琛屽彿,鍏宠仈鍗曞彿,鍏宠仈鍗曡鍙�,澶囨敞,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="璁板綍绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsRecordPredDispHistory.pdRecordType" placeholder="璇烽�夋嫨璁板綍绫诲瀷">
+                <el-option v-for="(item,index) in getEnumPDRecordTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.snCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="鏁伴噺">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.quantity" clearable="" placeholder="璇疯緭鍏ユ暟閲�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="瀹瑰櫒缂栧彿">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.containerCode" clearable="" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="瀹瑰櫒鍚嶇О">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.containerName" clearable="" placeholder="璇疯緭鍏ュ鍣ㄥ悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="搴撲綅缂栧彿">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="搴撲綅鍚嶇О">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.placeName" clearable="" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="搴撳尯鍚嶇О">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.areaName" clearable="" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="渚涘簲鍟嗘壒娆�">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.supplierBatch" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="ERP搴撳瓨鍦�">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.erpCode" clearable="" placeholder="璇疯緭鍏RP搴撳瓨鍦�"/>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="娉㈡鍗曞彿">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.sortNo" clearable="" placeholder="璇疯緭鍏ユ尝娆″崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="娉㈡鍗曡鍙�">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.sortNoLineNumber" clearable="" placeholder="璇疯緭鍏ユ尝娆″崟琛屽彿"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="绉诲姩鍗曞彿">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.movementNo" clearable="" placeholder="璇疯緭鍏ョЩ鍔ㄥ崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="绉诲姩琛屽彿">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.movementLineNumber" clearable="" placeholder="璇疯緭鍏ョЩ鍔ㄨ鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="鍏宠仈鍗曞彿">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.relationNo" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="鍏宠仈鍗曡鍙�">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.relationNoLineNumber" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟琛屽彿"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="澶囨敞">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.remarks" clearable="" placeholder="璇疯緭鍏ュ娉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="鍒涘缓浜�">
+              <el-input v-model="queryParamsWmsRecordPredDispHistory.createUserName" clearable="" placeholder="璇疯緭鍏ュ垱寤轰汉"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredDispHistory">
+            <el-form-item label="鍒涘缓鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨鍒涘缓鏃堕棿" value-format="YYYY/MM/DD  HH:mm:ss" type="datetimerange" :default-time="defaultTimeRange" v-model="queryParamsWmsRecordPredDispHistory.createTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsRecordPredDispHistory" v-auth="'wmsRecordPredDispHistory:page'" :disabled="disabled_btnWmsRecordPredDispHistory"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsRecordPredDispHistory"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsRecordPredDispHistory" v-if="!showAdvanceQueryUIWmsRecordPredDispHistory" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsRecordPredDispHistory" v-if="showAdvanceQueryUIWmsRecordPredDispHistory" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsRecordPredDispHistory" v-auth="'wmsRecordPredDispHistory:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsRecordPredDispHistory"  v-auth="'wmsRecordPredDispHistory:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsRecordPredDispHistory"
+				:data="tableDataWmsRecordPredDispHistory"
+				style="width: 100%"
+				v-loading="loadingWmsRecordPredDispHistory"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsRecordPredDispHistory"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+          <!-- <el-table-column prop="pdRecordType" label="璁板綍绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.pdRecordType, getEnumPDRecordTypeData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+          <el-table-column prop="pdRecordTypeName" label="璁板綍绫诲瀷"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  width="230" show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" width="230" show-overflow-tooltip="" />
+        <el-table-column prop="snCode" label="璺熻釜鐮�"  width="230" show-overflow-tooltip="" />
+        <el-table-column prop="quantity" label="鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="containerCode" label="瀹瑰櫒缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="containerName" label="瀹瑰櫒鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="placeCode" label="搴撲綅缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="placeName" label="搴撲綅鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="areaCode" label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="areaName" label="搴撳尯鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierBatch" label="渚涘簲鍟嗘壒娆�"  show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规"  show-overflow-tooltip="" />
+        <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="sortNo" label="娉㈡鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="sortNoLineNumber" label="娉㈡鍗曡鍙�"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="movementNo" label="绉诲姩鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="movementLineNumber" label="绉诲姩琛屽彿"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="relationNo" label="鍏宠仈鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="relationNoLineNumber" label="鍏宠仈鍗曡鍙�"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="remarks" label="澶囨敞"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsRecordPredDispHistory.page"
+				v-model:page-size="tableParamsWmsRecordPredDispHistory.pageSize"
+				:total="tableParamsWmsRecordPredDispHistory.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsRecordPredDispHistory"
+				@current-change="handleCurrentChangeWmsRecordPredDispHistory"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsRecordPredDispHistory
+        ref="printDialogRefWmsRecordPredDispHistory"
+        :title="printWmsRecordPredDispHistoryTitle"
+        @reloadTable="handleQueryWmsRecordPredDispHistory" />
+      <editDialogWmsRecordPredDispHistory
+        ref="editDialogRefWmsRecordPredDispHistory"
+        :title="editWmsRecordPredDispHistoryTitle"
+        @reloadTable="handleQueryWmsRecordPredDispHistory"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsRecordPredDispHistory">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+  import printDialogWmsRecordPredDispHistory from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pageWmsRecordPredDispHistory, deleteWmsRecordPredDispHistory,importExcelWmsRecordPredDispHistory,downloadExcelTemplateWmsRecordPredDispHistory } from '/@/api/main/ReportCenter/wmsRecordPredDispHistory';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumPDRecordTypeData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[棰勯厤鍒嗛厤璁板綍鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsRecordPredDispHistory = ref(false);
+  const tableRefWmsRecordPredDispHistory = ref(null);
+  const printDialogRefWmsRecordPredDispHistory = ref();
+  const editDialogRefWmsRecordPredDispHistory = ref();
+  const loadingWmsRecordPredDispHistory = ref(false);
+  const disabled_btnWmsRecordPredDispHistory = ref(false);
+  const tableDataWmsRecordPredDispHistory = ref<any>([]);
+  const queryParamsWmsRecordPredDispHistory = ref<any>({});
+  const tableParamsWmsRecordPredDispHistory = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsRecordPredDispHistoryTitle = ref("");
+  const editWmsRecordPredDispHistoryTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsRecordPredDispHistory = () => {
+    showAdvanceQueryUIWmsRecordPredDispHistory.value = !showAdvanceQueryUIWmsRecordPredDispHistory.value;
+  }
+
+  // 鏌ヨ棰勯厤鍒嗛厤璁板綍
+  const handleQueryWmsRecordPredDispHistory = async () => {
+    loadingWmsRecordPredDispHistory.value = true;
+    disabled_btnWmsRecordPredDispHistory.value = true;
+    var res = await pageWmsRecordPredDispHistory(Object.assign(queryParamsWmsRecordPredDispHistory.value, tableParamsWmsRecordPredDispHistory.value));
+    if(res.data.type=="success"){
+      tableDataWmsRecordPredDispHistory.value = res.data.result?.items ?? [];
+      tableParamsWmsRecordPredDispHistory.value.total = res.data.result?.total;
+    }
+    loadingWmsRecordPredDispHistory.value = false;
+    disabled_btnWmsRecordPredDispHistory.value = false;
+  };
+
+  // 閲嶇疆棰勯厤鍒嗛厤璁板綍鏌ヨ
+  const resetWmsRecordPredDispHistory = async () => {
+    queryParamsWmsRecordPredDispHistory.value = {}
+  };
+
+  // 棰勯厤鍒嗛厤璁板綍鍒楁帓搴�
+  const sortChangeWmsRecordPredDispHistory = async (column: any) => {
+	queryParamsWmsRecordPredDispHistory.value.field = column.prop;
+	queryParamsWmsRecordPredDispHistory.value.order = column.order;
+	await handleQueryWmsRecordPredDispHistory();
+  };
+
+  // 鎵撳紑鏂板棰勯厤鍒嗛厤璁板綍椤甸潰
+  const openAddWmsRecordPredDispHistory = () => {
+    editWmsRecordPredDispHistoryTitle.value = '娣诲姞棰勯厤鍒嗛厤璁板綍';
+    editDialogRefWmsRecordPredDispHistory.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃棰勯厤鍒嗛厤璁板綍椤甸潰
+  const openPrintWmsRecordPredDispHistory = async (row: any) => {
+    printWmsRecordPredDispHistoryTitle.value = '鎵撳嵃棰勯厤鍒嗛厤璁板綍';
+  }
+  
+  // 鎵撳紑缂栬緫棰勯厤鍒嗛厤璁板綍椤甸潰
+  const openEditWmsRecordPredDispHistory = (row: any) => {
+    editWmsRecordPredDispHistoryTitle.value = '缂栬緫棰勯厤鍒嗛厤璁板綍';
+    editDialogRefWmsRecordPredDispHistory.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎棰勯厤鍒嗛厤璁板綍
+  const delWmsRecordPredDispHistory = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsRecordPredDispHistory.value = true;
+    var ret = await deleteWmsRecordPredDispHistory(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsRecordPredDispHistory.value = false;
+    handleQueryWmsRecordPredDispHistory();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉棰勯厤鍒嗛厤璁板綍椤甸潰瀹归噺
+  const handleSizeChangeWmsRecordPredDispHistory = (val: number) => {
+    tableParamsWmsRecordPredDispHistory.value.pageSize = val;
+    handleQueryWmsRecordPredDispHistory();
+  };
+
+  // 鏀瑰彉棰勯厤鍒嗛厤璁板綍椤电爜搴忓彿
+  const handleCurrentChangeWmsRecordPredDispHistory = (val: number) => {
+    tableParamsWmsRecordPredDispHistory.value.page = val;
+    handleQueryWmsRecordPredDispHistory();
+  };
+
+/***************************************************[棰勯厤鍒嗛厤璁板綍鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[棰勯厤鍒嗛厤璁板綍瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsRecordPredDispHistory = {
+      getEnumPDRecordTypeData_Index,
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsRecordPredDispHistory = async (formData:Blob) => {
+    loadingWmsRecordPredDispHistory.value = true;
+    disabled_btnWmsRecordPredDispHistory.value = true;
+    var new_tableParamsWmsRecordPredDispHistory=JSON.parse(JSON.stringify(tableParamsWmsRecordPredDispHistory.value));
+    new_tableParamsWmsRecordPredDispHistory.page = 1;
+    new_tableParamsWmsRecordPredDispHistory.pageSize = 100000;
+    var res = await pageWmsRecordPredDispHistory(Object.assign(queryParamsWmsRecordPredDispHistory.value, new_tableParamsWmsRecordPredDispHistory));
+    if(res.data.type=="success"){
+      exportExcelWmsRecordPredDispHistory(res.data.result?.items ?? []);
+    }
+    loadingWmsRecordPredDispHistory.value = false;
+    disabled_btnWmsRecordPredDispHistory.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsRecordPredDispHistory  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsRecordPredDispHistory,"棰勯厤鍒嗛厤璁板綍",functionMapWmsRecordPredDispHistory);
+};
+/***************************************************[棰勯厤鍒嗛厤璁板綍瀵煎嚭]缁撴潫***************************************************/
+  // 棰勯厤鍒嗛厤璁板綍椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    getEnumPDRecordTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PDRecordTypeEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsRecordPredDispHistory();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPredetermineDispense/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPredetermineDispense/component/editDialog.vue
new file mode 100644
index 0000000..1116a6f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPredetermineDispense/component/editDialog.vue
@@ -0,0 +1,139 @@
+锘�<template>
+	<div class="wmsRecordPredetermineDispense-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsRecordPredetermineDispense, updateWmsRecordPredetermineDispense, detailWmsRecordPredetermineDispense } from "/@/api/main/ReportCenter/wmsRecordPredetermineDispense";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumPDRecordTypeData = ref<any>([]);
+	const getEnumPDRecordStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsRecordPredetermineDispense(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsRecordPredetermineDispense(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsRecordPredetermineDispense(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumPDRecordTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PDRecordTypeEnum')).data.result ?? [];
+			getEnumPDRecordStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PDRecordStatusEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPredetermineDispense/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPredetermineDispense/index.vue
new file mode 100644
index 0000000..a4f33a9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordPredetermineDispense/index.vue
@@ -0,0 +1,312 @@
+锘�<template>
+  <div class="wmsRecordPredetermineDispense-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsRecordPredetermineDispense" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsRecordPredetermineDispense.searchKey" clearable="" placeholder="鐗╂枡缂栧彿,鐗╂枡鍚嶇О,璺熻釜鐮�,瀹瑰櫒缂栧彿,搴撲綅缂栧彿,搴撳尯缂栧彿,渚涘簲鍟嗘壒娆�,鎵规,ERP搴撳瓨鍦�,娉㈡鍗曞彿,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredetermineDispense">
+            <el-form-item label="棰勫垎閰嶈褰曠被鍨�">
+              <el-select clearable="" v-model="queryParamsWmsRecordPredetermineDispense.pDRecordType" placeholder="璇烽�夋嫨棰勫垎閰嶈褰曠被鍨�">
+                <el-option v-for="(item,index) in getEnumPDRecordTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredetermineDispense">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParamsWmsRecordPredetermineDispense.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredetermineDispense">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsRecordPredetermineDispense.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredetermineDispense">
+            <el-form-item label="璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsRecordPredetermineDispense.snCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredetermineDispense">
+            <el-form-item label="棰勫垎閰嶈褰曠姸鎬�">
+              <el-select clearable="" v-model="queryParamsWmsRecordPredetermineDispense.pDRecordStatus" placeholder="璇烽�夋嫨棰勫垎閰嶈褰曠姸鎬�">
+                <el-option v-for="(item,index) in getEnumPDRecordStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredetermineDispense">
+            <el-form-item label="瀹瑰櫒缂栧彿">
+              <el-input v-model="queryParamsWmsRecordPredetermineDispense.containerCode" clearable="" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredetermineDispense">
+            <el-form-item label="搴撲綅缂栧彿">
+              <el-input v-model="queryParamsWmsRecordPredetermineDispense.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredetermineDispense">
+            <el-form-item label="搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsRecordPredetermineDispense.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredetermineDispense">
+            <el-form-item label="渚涘簲鍟嗘壒娆�">
+              <el-input v-model="queryParamsWmsRecordPredetermineDispense.supplierBatch" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredetermineDispense">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParamsWmsRecordPredetermineDispense.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredetermineDispense">
+            <el-form-item label="ERP搴撳瓨鍦�">
+              <el-input v-model="queryParamsWmsRecordPredetermineDispense.erpCode" clearable="" placeholder="璇疯緭鍏RP搴撳瓨鍦�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordPredetermineDispense">
+            <el-form-item label="娉㈡鍗曞彿">
+              <el-input v-model="queryParamsWmsRecordPredetermineDispense.sortNo" clearable="" placeholder="璇疯緭鍏ユ尝娆″崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsRecordPredetermineDispense" v-auth="'wmsRecordPredetermineDispense:page'" :disabled="disabled_btnWmsRecordPredetermineDispense"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsRecordPredetermineDispense"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsRecordPredetermineDispense" v-if="!showAdvanceQueryUIWmsRecordPredetermineDispense" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsRecordPredetermineDispense" v-if="showAdvanceQueryUIWmsRecordPredetermineDispense" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsRecordPredetermineDispense" v-auth="'wmsRecordPredetermineDispense:add'"> 鏂板 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsRecordPredetermineDispense"
+				:data="tableDataWmsRecordPredetermineDispense"
+				style="width: 100%"
+				v-loading="loadingWmsRecordPredetermineDispense"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsRecordPredetermineDispense"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+          <el-table-column prop="pDRecordType" label="棰勫垎閰嶈褰曠被鍨�"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.pDRecordType, getEnumPDRecordTypeData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="snCode" label="璺熻釜鐮�"  show-overflow-tooltip="" />
+        <el-table-column prop="quantity" label="閿佸畾鏁伴噺"  show-overflow-tooltip="" />
+          <el-table-column prop="pDRecordStatus" label="棰勫垎閰嶈褰曠姸鎬�"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.pDRecordStatus, getEnumPDRecordStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="containerCode" label="瀹瑰櫒缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="containerName" label="瀹瑰櫒鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="placeCode" label="搴撲綅缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="placeName" label="搴撲綅鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="areaCode" label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="areaName" label="搴撳尯鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierBatch" label="渚涘簲鍟嗘壒娆�"  show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规"  show-overflow-tooltip="" />
+        <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�"  show-overflow-tooltip="" />
+        <el-table-column prop="sortNo" label="娉㈡鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="sortNoLineNumber" label="娉㈡鍗曡鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="movementNo" label="绉诲姩鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="movementLineNumber" label="绉诲姩琛屽彿"  show-overflow-tooltip="" />
+        <el-table-column prop="relationNo" label="鍏宠仈鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="relationNoLineNumber" label="鍏宠仈鍗曡鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="remarks" label="澶囨敞"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsRecordPredetermineDispense:update') || auth('wmsRecordPredetermineDispense:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsRecordPredetermineDispense(scope.row)" v-auth="'wmsRecordPredetermineDispense:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsRecordPredetermineDispense(scope.row)" v-auth="'wmsRecordPredetermineDispense:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsRecordPredetermineDispense.page"
+				v-model:page-size="tableParamsWmsRecordPredetermineDispense.pageSize"
+				:total="tableParamsWmsRecordPredetermineDispense.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsRecordPredetermineDispense"
+				@current-change="handleCurrentChangeWmsRecordPredetermineDispense"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsRecordPredetermineDispense
+        ref="printDialogRefWmsRecordPredetermineDispense"
+        :title="printWmsRecordPredetermineDispenseTitle"
+        @reloadTable="handleQueryWmsRecordPredetermineDispense" />
+      <editDialogWmsRecordPredetermineDispense
+        ref="editDialogRefWmsRecordPredetermineDispense"
+        :title="editWmsRecordPredetermineDispenseTitle"
+        @reloadTable="handleQueryWmsRecordPredetermineDispense"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsRecordPredetermineDispense">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+
+
+  import printDialogWmsRecordPredetermineDispense from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pageWmsRecordPredetermineDispense, deleteWmsRecordPredetermineDispense,importExcelWmsRecordPredetermineDispense,downloadExcelTemplateWmsRecordPredetermineDispense } from '/@/api/main/ReportCenter/wmsRecordPredetermineDispense';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumPDRecordTypeData_Index = ref<any>([]);
+  const getEnumPDRecordStatusData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[棰勯厤鍒嗛厤璁板綍鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsRecordPredetermineDispense = ref(false);
+  const tableRefWmsRecordPredetermineDispense = ref(null);
+  const printDialogRefWmsRecordPredetermineDispense = ref();
+  const editDialogRefWmsRecordPredetermineDispense = ref();
+  const loadingWmsRecordPredetermineDispense = ref(false);
+  const disabled_btnWmsRecordPredetermineDispense = ref(false);
+  const tableDataWmsRecordPredetermineDispense = ref<any>([]);
+  const queryParamsWmsRecordPredetermineDispense = ref<any>({});
+  const tableParamsWmsRecordPredetermineDispense = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsRecordPredetermineDispenseTitle = ref("");
+  const editWmsRecordPredetermineDispenseTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsRecordPredetermineDispense = () => {
+    showAdvanceQueryUIWmsRecordPredetermineDispense.value = !showAdvanceQueryUIWmsRecordPredetermineDispense.value;
+  }
+
+  // 鏌ヨ棰勯厤鍒嗛厤璁板綍
+  const handleQueryWmsRecordPredetermineDispense = async () => {
+    loadingWmsRecordPredetermineDispense.value = true;
+    disabled_btnWmsRecordPredetermineDispense.value = true;
+    var res = await pageWmsRecordPredetermineDispense(Object.assign(queryParamsWmsRecordPredetermineDispense.value, tableParamsWmsRecordPredetermineDispense.value));
+    if(res.data.type=="success"){
+      tableDataWmsRecordPredetermineDispense.value = res.data.result?.items ?? [];
+      tableParamsWmsRecordPredetermineDispense.value.total = res.data.result?.total;
+    }
+    loadingWmsRecordPredetermineDispense.value = false;
+    disabled_btnWmsRecordPredetermineDispense.value = false;
+  };
+
+  // 閲嶇疆棰勯厤鍒嗛厤璁板綍鏌ヨ
+  const resetWmsRecordPredetermineDispense = async () => {
+    queryParamsWmsRecordPredetermineDispense.value = {}
+  };
+
+  // 棰勯厤鍒嗛厤璁板綍鍒楁帓搴�
+  const sortChangeWmsRecordPredetermineDispense = async (column: any) => {
+	queryParamsWmsRecordPredetermineDispense.value.field = column.prop;
+	queryParamsWmsRecordPredetermineDispense.value.order = column.order;
+	await handleQueryWmsRecordPredetermineDispense();
+  };
+
+  // 鎵撳紑鏂板棰勯厤鍒嗛厤璁板綍椤甸潰
+  const openAddWmsRecordPredetermineDispense = () => {
+    editWmsRecordPredetermineDispenseTitle.value = '娣诲姞棰勯厤鍒嗛厤璁板綍';
+    editDialogRefWmsRecordPredetermineDispense.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃棰勯厤鍒嗛厤璁板綍椤甸潰
+  const openPrintWmsRecordPredetermineDispense = async (row: any) => {
+    printWmsRecordPredetermineDispenseTitle.value = '鎵撳嵃棰勯厤鍒嗛厤璁板綍';
+  }
+  
+  // 鎵撳紑缂栬緫棰勯厤鍒嗛厤璁板綍椤甸潰
+  const openEditWmsRecordPredetermineDispense = (row: any) => {
+    editWmsRecordPredetermineDispenseTitle.value = '缂栬緫棰勯厤鍒嗛厤璁板綍';
+    editDialogRefWmsRecordPredetermineDispense.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎棰勯厤鍒嗛厤璁板綍
+  const delWmsRecordPredetermineDispense = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsRecordPredetermineDispense.value = true;
+    var ret = await deleteWmsRecordPredetermineDispense(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsRecordPredetermineDispense.value = false;
+    handleQueryWmsRecordPredetermineDispense();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉棰勯厤鍒嗛厤璁板綍椤甸潰瀹归噺
+  const handleSizeChangeWmsRecordPredetermineDispense = (val: number) => {
+    tableParamsWmsRecordPredetermineDispense.value.pageSize = val;
+    handleQueryWmsRecordPredetermineDispense();
+  };
+
+  // 鏀瑰彉棰勯厤鍒嗛厤璁板綍椤电爜搴忓彿
+  const handleCurrentChangeWmsRecordPredetermineDispense = (val: number) => {
+    tableParamsWmsRecordPredetermineDispense.value.page = val;
+    handleQueryWmsRecordPredetermineDispense();
+  };
+
+/***************************************************[棰勯厤鍒嗛厤璁板綍鎿嶄綔]缁撴潫***************************************************/
+  // 棰勯厤鍒嗛厤璁板綍椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    getEnumPDRecordTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PDRecordTypeEnum')).data.result ?? [];
+    getEnumPDRecordStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PDRecordStatusEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsRecordPredetermineDispense();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordReceivingDelivery/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordReceivingDelivery/component/editDialog.vue
new file mode 100644
index 0000000..a067f62
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordReceivingDelivery/component/editDialog.vue
@@ -0,0 +1,140 @@
+锘�<template>
+	<div class="wmsRecordReceivingDelivery-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsRecordReceivingDelivery, updateWmsRecordReceivingDelivery, detailWmsRecordReceivingDelivery } from "/@/api/main/ReportCenter/wmsRecordReceivingDelivery";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumMoveTypeData = ref<any>([]);
+	const getEnumOrderTypeData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsRecordReceivingDelivery(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsRecordReceivingDelivery(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsRecordReceivingDelivery(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumMoveTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('MoveTypeEnum')).data.result ?? [];
+			getEnumOrderTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordReceivingDelivery/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordReceivingDelivery/index.vue
new file mode 100644
index 0000000..18960a7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordReceivingDelivery/index.vue
@@ -0,0 +1,498 @@
+锘�<template>
+  <div class="wmsRecordReceivingDelivery-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsRecordReceivingDelivery" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsRecordReceivingDelivery.searchKey" clearable="" placeholder="鍗曟嵁鍙�,鍏宠仈鍗曞彿,鍗曟嵁琛屽彿,鍏宠仈鍗曡鍙�,ERP鍑瘉,鐗╂枡缂栧彿,鐗╂枡鍚嶇О,鍗曚綅,渚涘簲鍟嗙紪鍙�,ERP鍗曞彿,ERP搴撳瓨鍦�,璺熻釜鐮�,渚涘簲鍟嗘壒娆�,鎵规,鍒涘缓浜�,淇敼浜�,瀹㈡埛缂栧彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordReceivingDelivery">
+            <el-form-item label="鍑哄叆鏍囪">
+              <el-select clearable="" v-model="queryParamsWmsRecordReceivingDelivery.inOutFlag" placeholder="璇烽�夋嫨鍑哄叆鏍囪">
+                <el-option v-for="(item,index) in getEnumInOutFlagData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordReceivingDelivery">
+            <el-form-item label="绉诲姩绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsRecordReceivingDelivery.moveType" placeholder="璇烽�夋嫨绉诲姩绫诲瀷">
+                <el-option v-for="(item,index) in getEnumMoveTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordReceivingDelivery">
+            <el-form-item label="璁㈠崟绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsRecordReceivingDelivery.orderType" placeholder="璇烽�夋嫨璁㈠崟绫诲瀷">
+                <el-option v-for="(item,index) in getEnumOrderTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordReceivingDelivery">
+            <el-form-item label="涓氬姟绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsRecordReceivingDelivery.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+                <el-option v-for="(item,index) in getEnumBusinessTypeData_Index" :key="index" :value="item.businessTypeValue" :label="`${item.businessTypeName}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordReceivingDelivery">
+            <el-form-item label="鍗曟嵁鍙�">
+              <el-input v-model="queryParamsWmsRecordReceivingDelivery.orderNo" clearable="" placeholder="璇疯緭鍏ュ崟鎹彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordReceivingDelivery">
+            <el-form-item label="鍏宠仈鍗曞彿">
+              <el-input v-model="queryParamsWmsRecordReceivingDelivery.relationNo" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordReceivingDelivery">
+            <el-form-item label="ERP鍑瘉">
+              <el-input v-model="queryParamsWmsRecordReceivingDelivery.erpVoucher" clearable="" placeholder="璇疯緭鍏RP鍑瘉"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordReceivingDelivery">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParamsWmsRecordReceivingDelivery.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordReceivingDelivery">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsRecordReceivingDelivery.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordReceivingDelivery">
+            <el-form-item label="渚涘簲鍟嗙紪鍙�">
+              <el-input v-model="queryParamsWmsRecordReceivingDelivery.supplierCode" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordReceivingDelivery">
+            <el-form-item label="ERP鍗曞彿">
+              <el-input v-model="queryParamsWmsRecordReceivingDelivery.erpOrderNo" clearable="" placeholder="璇疯緭鍏RP鍗曞彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordReceivingDelivery">
+            <el-form-item label="ERP搴撳瓨鍦�">
+              <el-input v-model="queryParamsWmsRecordReceivingDelivery.erpCode" clearable="" placeholder="璇疯緭鍏RP搴撳瓨鍦�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordReceivingDelivery">
+            <el-form-item label="璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsRecordReceivingDelivery.snCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordReceivingDelivery">
+            <el-form-item label="渚涘簲鍟嗘壒娆�">
+              <el-input v-model="queryParamsWmsRecordReceivingDelivery.supplierBatch" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordReceivingDelivery">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParamsWmsRecordReceivingDelivery.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordReceivingDelivery">
+            <el-form-item label="瀹㈡埛缂栧彿">
+              <el-input v-model="queryParamsWmsRecordReceivingDelivery.custCode" clearable="" placeholder="璇疯緭鍏ュ鎴风紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsRecordReceivingDelivery" v-auth="'wmsRecordReceivingDelivery:page'" :disabled="disabled_btnWmsRecordReceivingDelivery"> 鏌ヨ </el-button>
+                  <el-button icon="ele-Refresh" @click="resetWmsRecordReceivingDelivery"> 閲嶇疆 </el-button>
+                  <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsRecordReceivingDelivery" v-if="!showAdvanceQueryUIWmsRecordReceivingDelivery" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                  <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsRecordReceivingDelivery" v-if="showAdvanceQueryUIWmsRecordReceivingDelivery" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsRecordReceivingDelivery" v-auth="'wmsRecordReceivingDelivery:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWareAgeWarm" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+        ref="tableRefWareAgeWarm"
+				:data="tableDataWmsRecordReceivingDelivery"
+				style="width: 100%"
+				v-loading="loadingWmsRecordReceivingDelivery"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsRecordReceivingDelivery"
+				border="">
+        <el-table-column type="index" fixed="left" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="inOutFlag" fixed="left" label="鍑哄叆鏍囪"  show-overflow-tooltip="" >
+            <template #default="scope">
+             {{ getEnumDesc(scope.row.inOutFlag, getEnumInOutFlagData_Index)}}
+            </template>
+          </el-table-column>
+          <el-table-column prop="moveType" fixed="left" label="绉诲姩绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+             {{ getEnumDesc(scope.row.moveType, getEnumMoveTypeData_Index)}}
+            </template>
+          </el-table-column>
+          <el-table-column prop="orderType" label="璁㈠崟绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+             {{ getEnumDesc(scope.row.orderType, getEnumOrderTypeData_Index)}}
+            </template>
+          </el-table-column>
+          <el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷"  show-overflow-tooltip="" >
+          </el-table-column>
+        
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="quantity" label="鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="poQuantity" label="閲囪喘鏁伴噺"  show-overflow-tooltip="" />
+
+        <el-table-column prop="materialUnit" label="搴撳瓨鍗曚綅"  show-overflow-tooltip="" />
+        <el-table-column prop="poUnit" label="閲囪喘鍗曚綅"  show-overflow-tooltip="" />
+
+        <el-table-column prop="orderNo" label="鍗曟嵁鍙�" min-width="160px" show-overflow-tooltip="" />
+        <el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" min-width="160px" show-overflow-tooltip="" />
+        <el-table-column prop="orderNoLineNumber" label="鍗曟嵁琛屽彿"  show-overflow-tooltip="" />
+        <el-table-column prop="relationNoLineNumber" label="鍏宠仈鍗曡鍙�"  show-overflow-tooltip="" />
+
+        <el-table-column label="鐓х墖"  prop="images" align="center" width="100">
+              <template #default="scope">
+                  <span v-if="scope.row.images" class="purchaseNoStyle" @click="pictureview(scope.row.images)">鏈�</span>
+                  <span v-else>鏃�</span>
+              </template>
+          </el-table-column>
+
+        <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="snCode" label="璺熻釜鐮�" min-width="180px" show-overflow-tooltip="" />
+        <el-table-column prop="supplierBatch" label="渚涘簲鍟嗘壒娆�"  show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规" min-width="180px" show-overflow-tooltip="" />
+        <el-table-column prop="custCode" label="瀹㈡埛缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="erpOrderNo" label="ERP鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�"  show-overflow-tooltip="" />
+        <el-table-column prop="erpVoucher" label="ERP鍑瘉"  show-overflow-tooltip="" />
+        <el-table-column prop="remarks" label="澶囨敞"  show-overflow-tooltip="" />
+        
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsRecordReceivingDelivery:update') || auth('wmsRecordReceivingDelivery:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsRecordReceivingDelivery(scope.row)" v-auth="'wmsRecordReceivingDelivery:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsRecordReceivingDelivery(scope.row)" v-auth="'wmsRecordReceivingDelivery:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsRecordReceivingDelivery.page"
+				v-model:page-size="tableParamsWmsRecordReceivingDelivery.pageSize"
+				:total="tableParamsWmsRecordReceivingDelivery.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsRecordReceivingDelivery"
+				@current-change="handleCurrentChangeWmsRecordReceivingDelivery"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsRecordReceivingDelivery
+        ref="printDialogRefWmsRecordReceivingDelivery"
+        :title="printWmsRecordReceivingDeliveryTitle"
+        @reloadTable="handleQueryWmsRecordReceivingDelivery" />
+      <editDialogWmsRecordReceivingDelivery
+        ref="editDialogRefWmsRecordReceivingDelivery"
+        :title="editWmsRecordReceivingDeliveryTitle"
+        @reloadTable="handleQueryWmsRecordReceivingDelivery"
+      />
+    </el-card>
+
+           <!-- 鍥剧墖棰勮鏌ヨ -->
+   <el-drawer v-model="PicturePreview" direction="rtl" size="70%" @close="handleCloseFarward" :show-close="false" :with-header="false">
+      <div class="drawerIn">
+          <div class="drawerIn1">
+              <span>鍥剧墖棰勮</span>
+          </div>
+          <div class="drawerIn2">
+              <span class="err" @click="PicturePreview = false">脳</span>
+          </div>
+      </div>
+      <div class="farwardSearchStyle">
+          <div style="padding:20px">
+                  <div v-for="(item, index) in imgnumList" :key="index" >
+                    <a :href="item" target="_blank">
+                      <el-image
+                        :src="item"
+                        fit="cover">
+                          </el-image>
+                    </a>
+                  </div>
+          </div>
+      </div>
+  </el-drawer>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsRecordReceivingDelivery">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+  import printDialogWmsRecordReceivingDelivery from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pageWmsRecordReceivingDelivery, deleteWmsRecordReceivingDelivery,imagesRecordReceivingDelivery,importExcelWmsRecordReceivingDelivery,downloadExcelTemplateWmsRecordReceivingDelivery } from '/@/api/main/ReportCenter/wmsRecordReceivingDelivery';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+import { listWmsBusinessType } from "/@/api/main/WmsBase/wmsBusinessType";
+
+  const getEnumMoveTypeData_Index = ref<any>([]);
+    const getEnumInOutFlagData_Index = ref<any>([]);
+  const getEnumOrderTypeData_Index = ref<any>([]);
+  const getEnumBusinessTypeData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+
+  /***************************************************[鏀惰揣鍙戣揣璁板綍鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsRecordReceivingDelivery = ref(false);
+  const printDialogRefWmsRecordReceivingDelivery = ref();
+  const editDialogRefWmsRecordReceivingDelivery = ref();
+  const loadingWmsRecordReceivingDelivery = ref(false);
+  const disabled_btnWmsRecordReceivingDelivery = ref(false);
+  const tableDataWmsRecordReceivingDelivery = ref<any>([]);
+  const queryParamsWmsRecordReceivingDelivery = ref<any>({});
+  const tableParamsWmsRecordReceivingDelivery = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsRecordReceivingDeliveryTitle = ref("");
+  const editWmsRecordReceivingDeliveryTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsRecordReceivingDelivery = () => {
+    showAdvanceQueryUIWmsRecordReceivingDelivery.value = !showAdvanceQueryUIWmsRecordReceivingDelivery.value;
+  }
+
+  // 鏌ヨ鏀惰揣鍙戣揣璁板綍
+  const handleQueryWmsRecordReceivingDelivery = async () => {
+    loadingWmsRecordReceivingDelivery.value = true;
+    disabled_btnWmsRecordReceivingDelivery.value = true;
+    var res = await pageWmsRecordReceivingDelivery(Object.assign(queryParamsWmsRecordReceivingDelivery.value, tableParamsWmsRecordReceivingDelivery.value));
+    if(res.data.type=="success"){
+      tableDataWmsRecordReceivingDelivery.value = res.data.result?.items ?? [];
+      tableParamsWmsRecordReceivingDelivery.value.total = res.data.result?.total;
+    }
+    loadingWmsRecordReceivingDelivery.value = false;
+    disabled_btnWmsRecordReceivingDelivery.value = false;
+  };
+
+  // 閲嶇疆鏀惰揣鍙戣揣璁板綍鏌ヨ
+  const resetWmsRecordReceivingDelivery = async () => {
+    queryParamsWmsRecordReceivingDelivery.value = {}
+  };
+
+  // 鏀惰揣鍙戣揣璁板綍鍒楁帓搴�
+  const sortChangeWmsRecordReceivingDelivery = async (column: any) => {
+	queryParamsWmsRecordReceivingDelivery.value.field = column.prop;
+	queryParamsWmsRecordReceivingDelivery.value.order = column.order;
+	await handleQueryWmsRecordReceivingDelivery();
+  };
+
+  // 鎵撳紑鏂板鏀惰揣鍙戣揣璁板綍椤甸潰
+  const openAddWmsRecordReceivingDelivery = () => {
+    editWmsRecordReceivingDeliveryTitle.value = '娣诲姞鏀惰揣鍙戣揣璁板綍';
+    editDialogRefWmsRecordReceivingDelivery.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃鏀惰揣鍙戣揣璁板綍椤甸潰
+  const openPrintWmsRecordReceivingDelivery = async (row: any) => {
+    printWmsRecordReceivingDeliveryTitle.value = '鎵撳嵃鏀惰揣鍙戣揣璁板綍';
+  }
+  
+  // 鎵撳紑缂栬緫鏀惰揣鍙戣揣璁板綍椤甸潰
+  const openEditWmsRecordReceivingDelivery = (row: any) => {
+    editWmsRecordReceivingDeliveryTitle.value = '缂栬緫鏀惰揣鍙戣揣璁板綍';
+    editDialogRefWmsRecordReceivingDelivery.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎鏀惰揣鍙戣揣璁板綍
+  const delWmsRecordReceivingDelivery = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsRecordReceivingDelivery.value = true;
+    var ret = await deleteWmsRecordReceivingDelivery(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsRecordReceivingDelivery.value = false;
+    handleQueryWmsRecordReceivingDelivery();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉鏀惰揣鍙戣揣璁板綍椤甸潰瀹归噺
+  const handleSizeChangeWmsRecordReceivingDelivery = (val: number) => {
+    tableParamsWmsRecordReceivingDelivery.value.pageSize = val;
+    handleQueryWmsRecordReceivingDelivery();
+  };
+
+  // 鏀瑰彉鏀惰揣鍙戣揣璁板綍椤电爜搴忓彿
+  const handleCurrentChangeWmsRecordReceivingDelivery = (val: number) => {
+    tableParamsWmsRecordReceivingDelivery.value.page = val;
+    handleQueryWmsRecordReceivingDelivery();
+  };
+
+/***************************************************[鏀惰揣鍙戣揣璁板綍鎿嶄綔]缁撴潫***************************************************/
+  // 鏀惰揣鍙戣揣璁板綍椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    getEnumMoveTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('MoveTypeEnum')).data.result ?? [];
+    getEnumInOutFlagData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('InOutFlagEnum')).data.result ?? [];
+    getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+
+     //涓氬姟绫诲瀷
+     var res = await listWmsBusinessType();
+     res = res.data;
+    if(res && res.code == 200){
+      getEnumBusinessTypeData_Index.value  = res?.result ?? [];
+    }
+
+  });
+
+  handleQueryWmsRecordReceivingDelivery();
+
+
+//鍥剧墖棰勮
+const PicturePreview = ref(false)
+const imgnumList:any = ref([])
+const pictureview = async (images: any)=>{   
+  if(images == null || images == ""){
+    return ElMessage.warning("鏃犲浘鐗�")
+  }
+  var urlArr = images.split(",");
+  imgnumList.value = urlArr;      
+  PicturePreview.value = true
+
+  // var res = await imagesRecordReceivingDelivery(Object.assign(queryParamsWmsRecordReceivingDelivery.value, tableParamsWmsRecordReceivingDelivery.value));
+  //   if (res.code && res.code == 200) {
+  //     imgnumList.value = res.data       
+  //     if(res.data == null || imgnumList.value.length<=0){
+  //       return ElMessage.warning("鏃犲浘鐗�")
+  //     }
+  //     PicturePreview.value = true
+  //   }
+}
+/***************************************************[鏀跺彂璐ц褰曞鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWareAgeWarm = {
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const tableRefWareAgeWarm = ref(null);
+const handleExportExcelWareAgeWarm = async (formData:Blob) => {
+  loadingWmsRecordReceivingDelivery.value = true;
+  disabled_btnWmsRecordReceivingDelivery.value = true;
+    var new_tableParamsWareAgeWarm=JSON.parse(JSON.stringify(tableParamsWmsRecordReceivingDelivery.value));
+    new_tableParamsWareAgeWarm.page = 1;
+    new_tableParamsWareAgeWarm.pageSize = 100000;
+    var res = await pageWmsRecordReceivingDelivery(Object.assign(queryParamsWmsRecordReceivingDelivery.value, new_tableParamsWareAgeWarm));
+    if(res.data.type=="success"){
+      let array = res.data.result?.items ?? []
+      console.log('res',res)
+      array.forEach((item:any)=>{
+        item.moveType = getEnumDesc(item.moveType, getEnumMoveTypeData_Index.value)
+        item.businessType = getEnumDesc(item.businessType, getEnumBusinessTypeData_Index.value) 
+        item.inOutFlag =  getEnumDesc(item.inOutFlag, getEnumInOutFlagData_Index.value)
+        item.orderType = getEnumDesc(item.orderType, getEnumOrderTypeData_Index.value)
+      });
+      exportExcelWareAgeWarm(array);
+    }
+    loadingWmsRecordReceivingDelivery.value = false;
+    disabled_btnWmsRecordReceivingDelivery.value = false;
+};
+//瀵煎嚭
+const exportExcelWareAgeWarm  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWareAgeWarm,"鏀跺彂璐ц褰曟姤琛�",functionMapWareAgeWarm);
+};
+/***************************************************[鏀跺彂璐у鍑篯缁撴潫***************************************************/
+
+// 鍏抽棴
+const handleCloseFarward = () => {
+  imgnumList.value = []
+}
+
+  
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+
+/* 鍥剧墖棰勮 */
+.purchaseNoStyle {
+  text-decoration: underline;
+  color: #F18201;
+  cursor: pointer;
+}
+
+.farwardSearchStyle {
+  width: 100%;
+  overflow: auto;
+  height: calc(100vh);
+}
+
+.drawerIn {
+  width: 100%;
+  height: 50px;
+  padding: 20px 20px 50px 20px;
+  .drawerIn1 {
+      float: left;
+      .title_orderNo {
+          color: #EC7F01;
+          margin-right: 10px;
+      }
+      span {
+          color: black;
+          font-weight: bold;
+          font-size: 24px;
+      }
+  }
+
+  .drawerIn2 {
+      float: right;
+      color: grey;
+
+      span {
+          cursor: pointer;
+          font-size: 38px;
+      }
+  }
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordTrans/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordTrans/component/editDialog.vue
new file mode 100644
index 0000000..d8a539f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordTrans/component/editDialog.vue
@@ -0,0 +1,143 @@
+锘�<template>
+	<div class="wmsRecordTrans-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsRecordTrans, updateWmsRecordTrans, detailWmsRecordTrans } from "/@/api/main/ReportCenter/wmsRecordTrans";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumMoveTypeData = ref<any>([]);
+	const getEnumOrderTypeData = ref<any>([]);
+	const getEnumBusinessTypeData = ref<any>([]);
+	const getEnumTransTypeData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsRecordTrans(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsRecordTrans(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsRecordTrans(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumMoveTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('MoveTypeEnum')).data.result ?? [];
+			getEnumOrderTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+
+			getEnumTransTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TransTypeEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordTrans/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordTrans/index.vue
new file mode 100644
index 0000000..c8d4712
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordTrans/index.vue
@@ -0,0 +1,492 @@
+锘�<template>
+  <div class="wmsRecordTrans-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+      <el-form :model="queryParamsWmsRecordTrans" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsRecordTrans.searchKey" clearable=""
+                placeholder="鐗╂枡缂栧彿,鐗╂枡鍚嶇О,婧愬簱浣嶇紪鍙�,婧愬鍣ㄧ紪鍙�,婧愬簱鍖虹紪鍙�,鐩爣搴撲綅缂栧彿,鐩爣搴撳尯缂栧彿,渚涘簲鍟嗙紪鍙�,ERP鍗曞彿,ERP搴撳瓨鍦�,璺熻釜鐮�,渚涘簲鍟嗘壒娆�,鎵规,鍗曟嵁鍙�,鍏宠仈鍗曞彿,鍗曟嵁琛屽彿,鍏宠仈鍗曡鍙�,婧愯窡韪爜,鐩爣瀹瑰櫒缂栧彿" />
+
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="浜嬪姟绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsRecordTrans.transType" placeholder="璇烽�夋嫨浜嬪姟绫诲瀷">
+                <el-option v-for="(item,index) in getEnumTransTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="绉诲姩绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsRecordTrans.moveType" placeholder="璇烽�夋嫨绉诲姩绫诲瀷">
+                <el-option v-for="(item, index) in getEnumMoveTypeData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="鍗曟嵁绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsRecordTrans.orderType" placeholder="璇烽�夋嫨鍗曟嵁绫诲瀷">
+                <el-option v-for="(item,index) in getEnumOrderTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="涓氬姟绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsRecordTrans.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+                <el-option v-for="(item, index) in getEnumBusinessTypeData_Index" :key="index" :value="item.businessTypeValue"
+                  :label="`${item.businessTypeName}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParamsWmsRecordTrans.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsRecordTrans.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" />
+
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="鍗曚綅">
+              <el-input v-model="queryParamsWmsRecordTrans.unit" clearable="" placeholder="璇疯緭鍏ュ崟浣�"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="婧愬簱浣嶇紪鍙�">
+              <el-input v-model="queryParamsWmsRecordTrans.sourcePlaceCode" clearable="" placeholder="璇疯緭鍏ユ簮搴撲綅缂栧彿" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="鐩爣搴撲綅缂栧彿">
+              <el-input v-model="queryParamsWmsRecordTrans.toPlaceCode" clearable="" placeholder="璇疯緭鍏ョ洰鏍囧簱浣嶇紪鍙�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="婧愬鍣ㄧ紪鍙�">
+              <el-input v-model="queryParamsWmsRecordTrans.sourceContainerCode" clearable="" placeholder="璇疯緭鍏ユ簮瀹瑰櫒缂栧彿" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="鐩爣瀹瑰櫒缂栧彿">
+              <el-input v-model="queryParamsWmsRecordTrans.toContainerCode" clearable="" placeholder="璇疯緭鍏ョ洰鏍囧鍣ㄧ紪鍙�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="婧愬簱鍖虹紪鍙�">
+              <el-input v-model="queryParamsWmsRecordTrans.sourceAreaCode" clearable="" placeholder="璇疯緭鍏ユ簮搴撳尯缂栧彿" />
+
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="鐩爣搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsRecordTrans.toAreaCode" clearable="" placeholder="璇疯緭鍏ョ洰鏍囧簱鍖虹紪鍙�" />
+
+            </el-form-item>
+          </el-col>
+        
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="婧愯窡韪爜">
+              <el-input v-model="queryParamsWmsRecordTrans.sourceSNCode" clearable="" placeholder="璇疯緭鍏ユ簮璺熻釜鐮�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="鐩爣璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsRecordTrans.toSNCode" clearable="" placeholder="璇疯緭鍏ョ洰鏍囪窡韪爜" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="渚涘簲鍟嗙紪鍙�">
+              <el-input v-model="queryParamsWmsRecordTrans.supplierCode" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿" />
+
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="渚涘簲鍟嗗悕绉�">
+              <el-input v-model="queryParamsWmsRecordTrans.supplierName" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="ERP鍗曞彿">
+              <el-input v-model="queryParamsWmsRecordTrans.erpOrderNo" clearable="" placeholder="璇疯緭鍏RP鍗曞彿" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="ERP搴撳瓨鍦�">
+              <el-input v-model="queryParamsWmsRecordTrans.erpCode" clearable="" placeholder="璇疯緭鍏RP搴撳瓨鍦�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="渚涘簲鍟嗘壒娆�">
+              <el-input v-model="queryParamsWmsRecordTrans.supplierBatch" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParamsWmsRecordTrans.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�" />
+
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="ERP鍑瘉">
+              <el-input v-model="queryParamsWmsRecordTrans.erpVoucher" clearable="" placeholder="璇疯緭鍏RP鍑瘉"/>
+              
+            </el-form-item>
+          </el-col>
+          -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="鍗曟嵁鍙�">
+              <el-input v-model="queryParamsWmsRecordTrans.orderNo" clearable="" placeholder="璇疯緭鍏ュ崟鎹彿" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="鍏宠仈鍗曞彿">
+              <el-input v-model="queryParamsWmsRecordTrans.relationNo" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="鍒涘缓鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨鍒涘缓鏃堕棿" value-format="YYYY/MM/DD  HH:mm:ss" type="datetimerange" :default-time="defaultTimeRange" v-model="queryParamsWmsRecordTrans.createTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordTrans">
+            <el-form-item label="瀹㈡埛缂栧彿">
+              <el-input v-model="queryParamsWmsRecordTrans.custCode" clearable="" placeholder="璇疯緭鍏ュ鎴风紪鍙�"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary" icon="ele-Search" @click="handleQueryWmsRecordTrans"
+                  v-auth="'wmsRecordTrans:page'" :disabled="disabled_btnWmsRecordTrans"> 鏌ヨ </el-button>
+                <el-button icon="ele-Refresh" @click="resetWmsRecordTrans"> 閲嶇疆 </el-button>
+                <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsRecordTrans"
+                  v-if="!showAdvanceQueryUIWmsRecordTrans" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsRecordTrans"
+                  v-if="showAdvanceQueryUIWmsRecordTrans" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsRecordTrans"
+                  v-auth="'wmsRecordTrans:add'"> 鏂板 </el-button>
+                  <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWareAgeWarm" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table :data="tableDataWmsRecordTrans" style="width: 100%" v-loading="loadingWmsRecordTrans"
+        tooltip-effect="light" row-key="id" @sort-change="sortChangeWmsRecordTrans" border=""  ref="tableRefWareAgeWarm">
+        <el-table-column fixed="left" type="index" label="搴忓彿" width="55" align="center" />
+
+
+
+
+        <!-- <el-table-column prop="relationOrderType" label="鍏宠仈鍗曟嵁绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.relationOrderType, getEnumOrderTypeData_Index)}}
+            </template>
+          </el-table-column> -->
+
+
+        <el-table-column fixed="left" prop="materialCode" label="鐗╂枡缂栧彿" min-width="110px" show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" min-width="110px" show-overflow-tooltip="" />
+
+        <el-table-column prop="moveType" label="绉诲姩绫诲瀷" show-overflow-tooltip="">
+          <template #default="scope">
+            {{ getEnumDesc(scope.row.moveType, getEnumMoveTypeData_Index) }}
+          </template>
+        </el-table-column>
+
+        <el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" min-width="110px" show-overflow-tooltip="" />
+        <!-- <el-table-column prop="businessType" label="涓氬姟绫诲瀷" min-width="110px" show-overflow-tooltip="">
+          <template #default="scope">
+            {{ getEnumDesc(scope.row.businessType, getEnumBusinessTypeData_Index) }}
+          </template>
+        </el-table-column> -->
+
+        <el-table-column prop="sourceQuantity" label="婧愭暟閲�" show-overflow-tooltip="" />
+        <el-table-column prop="toQuantity" label="鐩爣鏁伴噺" show-overflow-tooltip="" />
+        <el-table-column prop="changeQuantity" label="鍙樻洿鏁伴噺" show-overflow-tooltip="" />
+        <!-- <el-table-column prop="erpVoucher" label="ERP鍑瘉" min-width="140px" show-overflow-tooltip="" /> -->
+        <el-table-column prop="sourceSNCode" width="230" label="婧愯窡韪爜" show-overflow-tooltip="" />
+        <el-table-column prop="toSNCode" width="230" label="鐩爣璺熻釜鐮�" show-overflow-tooltip="" />
+        <el-table-column prop="sourceContainerCode" label="婧愬鍣ㄧ紪鍙�" min-width="100px" show-overflow-tooltip="" />
+        <el-table-column prop="toContainerCode" label="鐩爣瀹瑰櫒缂栧彿" min-width="100px" show-overflow-tooltip="" />
+        <el-table-column prop="sourceAreaCode" label="婧愬簱鍖虹紪鍙�" show-overflow-tooltip="" />
+        <el-table-column prop="toAreaCode" label="鐩爣搴撳尯缂栧彿" min-width="100px" show-overflow-tooltip="" />
+        <el-table-column prop="sourcePlaceCode" label="婧愬簱浣嶇紪鍙�" show-overflow-tooltip="" />
+        <el-table-column prop="toPlaceCode" label="鐩爣搴撲綅缂栧彿" min-width="100px" show-overflow-tooltip="" />
+        <el-table-column prop="sourceQCStatusName" label="婧愯川閲忕姸鎬�" min-width="100px" show-overflow-tooltip="" />
+        <el-table-column prop="toQCStatusName" label="鐩爣璐ㄩ噺鐘舵��" min-width="100px" show-overflow-tooltip="" />
+        <el-table-column prop="sourceStockStatusName" label="婧愬簱瀛樼姸鎬�" min-width="100px" show-overflow-tooltip="" />
+        <el-table-column prop="toStockStatusName" label="鐩爣搴撳瓨鐘舵��" min-width="100px" show-overflow-tooltip="" />
+        <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�" min-width="110px" show-overflow-tooltip="" />
+        <el-table-column prop="supplierBatch" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" />
+        <el-table-column prop="batch" width="200" label="鎵规" show-overflow-tooltip="" />
+        <el-table-column prop="materialUnit" label="搴撳瓨鍗曚綅" show-overflow-tooltip="" />
+
+        <el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" min-width="200px" show-overflow-tooltip="" />
+        <el-table-column prop="relationNoLineNumber" label="鍏宠仈鍗曡鍙�" min-width="90px" show-overflow-tooltip="" />
+        <el-table-column prop="erpOrderNo" label="ERP鍗曞彿" min-width="140px" show-overflow-tooltip="" />
+        <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+
+        <el-table-column prop="operReason" label="鎿嶄綔鍘熷洜" show-overflow-tooltip="" />
+        <el-table-column prop="operTime" label="鎿嶄綔鏃堕棿" show-overflow-tooltip="" />
+        <!-- <el-table-column prop="businessType" label="婧愰攣瀹氱姸鎬�" min-width="100px" show-overflow-tooltip="">
+          <template #default="scope">
+            <span v-show="scope.row.sourceLockStatus == 1 || scope.row.sourceLockStatus == 0">
+              {{ scope.row.businessType == 1 ? "宸查攣瀹�" : "鏈攣瀹�" }}
+            </span>
+          </template>
+        </el-table-column> -->
+        <el-table-column min-width="100px" prop="lockStatus" label="婧愰攣瀹氱姸鎬�" show-overflow-tooltip="">
+          <template #default="scope">
+            {{ getEnumDesc(scope.row.sourceLockStatus, getEnumLockStatusData_Index) }}
+          </template>
+        </el-table-column>
+
+        <el-table-column min-width="100px" prop="lockStatus" label="鐩爣閿佸畾鐘舵��" show-overflow-tooltip="">
+          <template #default="scope">
+            {{ getEnumDesc(scope.row.toLockStatus, getEnumLockStatusData_Index) }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="lockReason" label="閿佸畾鍘熷洜" show-overflow-tooltip="" />
+        <el-table-column prop="lockUser" label="閿佸畾浜�" show-overflow-tooltip="" />
+        <el-table-column prop="lockTime" label="閿佸畾鏃堕棿" show-overflow-tooltip="" />
+
+        <el-table-column prop="remarks" label="澶囨敞" min-width="300px" show-overflow-tooltip="" />
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+          show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+        <!-- <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsRecordTrans:update') || auth('wmsRecordTrans:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsRecordTrans(scope.row)" v-auth="'wmsRecordTrans:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsRecordTrans(scope.row)" v-auth="'wmsRecordTrans:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column> -->
+      </el-table>
+      <el-pagination v-model:currentPage="tableParamsWmsRecordTrans.page"
+        v-model:page-size="tableParamsWmsRecordTrans.pageSize" :total="tableParamsWmsRecordTrans.total"
+        :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background="" @size-change="handleSizeChangeWmsRecordTrans"
+        @current-change="handleCurrentChangeWmsRecordTrans" layout="total, sizes, prev, pager, next, jumper" />
+      <printDialogWmsRecordTrans ref="printDialogRefWmsRecordTrans" :title="printWmsRecordTransTitle"
+        @reloadTable="handleQueryWmsRecordTrans" />
+      <editDialogWmsRecordTrans ref="editDialogRefWmsRecordTrans" :title="editWmsRecordTransTitle"
+        @reloadTable="handleQueryWmsRecordTrans" />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsRecordTrans">
+import { ref, onMounted } from "vue";
+import { ElMessageBox, ElMessage } from "element-plus";
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+import printDialogWmsRecordTrans from '/@/views/system/print/component/hiprint/preview.vue'
+import { pageWmsRecordTrans, deleteWmsRecordTrans, importExcelWmsRecordTrans, downloadExcelTemplateWmsRecordTrans } from '/@/api/main/ReportCenter/wmsRecordTrans';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+import { listWmsBusinessType } from "/@/api/main/WmsBase/wmsBusinessType";
+
+const getEnumMoveTypeData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumBusinessTypeData_Index = ref<any>([]);
+const getEnumTransTypeData_Index = ref<any>([]);
+const getEnumLockStatusData_Index = ref<any>([]);
+
+const { getEnumDesc } = commonFunction();
+
+/***************************************************[浜嬪姟璁板綍鎿嶄綔]寮�濮�***************************************************/
+const showAdvanceQueryUIWmsRecordTrans = ref(false);
+const printDialogRefWmsRecordTrans = ref();
+const editDialogRefWmsRecordTrans = ref();
+const loadingWmsRecordTrans = ref(false);
+const disabled_btnWmsRecordTrans = ref(false);
+const tableDataWmsRecordTrans = ref<any>([]);
+const queryParamsWmsRecordTrans = ref<any>({});
+const tableParamsWmsRecordTrans = ref({
+  page: 1,
+  pageSize: 10,
+  total: 0,
+});
+
+const printWmsRecordTransTitle = ref("");
+const editWmsRecordTransTitle = ref("");
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUIWmsRecordTrans = () => {
+  showAdvanceQueryUIWmsRecordTrans.value = !showAdvanceQueryUIWmsRecordTrans.value;
+}
+
+// 鏌ヨ浜嬪姟璁板綍
+const handleQueryWmsRecordTrans = async () => {
+  loadingWmsRecordTrans.value = true;
+  disabled_btnWmsRecordTrans.value = true;
+  var res = await pageWmsRecordTrans(Object.assign(queryParamsWmsRecordTrans.value, tableParamsWmsRecordTrans.value));
+  if (res.data.type == "success") {
+    tableDataWmsRecordTrans.value = res.data.result?.items ?? [];
+    tableParamsWmsRecordTrans.value.total = res.data.result?.total;
+  }
+  loadingWmsRecordTrans.value = false;
+  disabled_btnWmsRecordTrans.value = false;
+};
+
+// 閲嶇疆浜嬪姟璁板綍鏌ヨ
+const resetWmsRecordTrans = async () => {
+  queryParamsWmsRecordTrans.value = {}
+};
+
+// 浜嬪姟璁板綍鍒楁帓搴�
+const sortChangeWmsRecordTrans = async (column: any) => {
+  queryParamsWmsRecordTrans.value.field = column.prop;
+  queryParamsWmsRecordTrans.value.order = column.order;
+  await handleQueryWmsRecordTrans();
+};
+
+// 鎵撳紑鏂板浜嬪姟璁板綍椤甸潰
+const openAddWmsRecordTrans = () => {
+  editWmsRecordTransTitle.value = '娣诲姞浜嬪姟璁板綍';
+  editDialogRefWmsRecordTrans.value.openDialog(1, {});
+};
+
+// 鎵撳紑鎵撳嵃浜嬪姟璁板綍椤甸潰
+const openPrintWmsRecordTrans = async (row: any) => {
+  printWmsRecordTransTitle.value = '鎵撳嵃浜嬪姟璁板綍';
+}
+
+// 鎵撳紑缂栬緫浜嬪姟璁板綍椤甸潰
+const openEditWmsRecordTrans = (row: any) => {
+  editWmsRecordTransTitle.value = '缂栬緫浜嬪姟璁板綍';
+  editDialogRefWmsRecordTrans.value.openDialog(2, row);
+};
+
+// 鍒犻櫎浜嬪姟璁板綍
+const delWmsRecordTrans = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      loadingWmsRecordTrans.value = true;
+      var ret = await deleteWmsRecordTrans(row);
+      if (ret.data.type == "success") {
+        ElMessage.success("鍒犻櫎鎴愬姛");
+      }
+      loadingWmsRecordTrans.value = false;
+      handleQueryWmsRecordTrans();
+    })
+    .catch(() => { });
+};
+
+// 鏀瑰彉浜嬪姟璁板綍椤甸潰瀹归噺
+const handleSizeChangeWmsRecordTrans = (val: number) => {
+  tableParamsWmsRecordTrans.value.pageSize = val;
+  handleQueryWmsRecordTrans();
+};
+
+// 鏀瑰彉浜嬪姟璁板綍椤电爜搴忓彿
+const handleCurrentChangeWmsRecordTrans = (val: number) => {
+  tableParamsWmsRecordTrans.value.page = val;
+  handleQueryWmsRecordTrans();
+};
+/***************************************************[浜嬪姟璁板綍瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWareAgeWarm = {
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const tableRefWareAgeWarm = ref(null);
+const handleExportExcelWareAgeWarm = async (formData:Blob) => {
+  loadingWmsRecordTrans.value = true;
+  disabled_btnWmsRecordTrans.value = true;
+    var new_tableParamsWareAgeWarm=JSON.parse(JSON.stringify(tableParamsWmsRecordTrans.value));
+    new_tableParamsWareAgeWarm.page = 1;
+    new_tableParamsWareAgeWarm.pageSize = 100000;
+    var res = await pageWmsRecordTrans(Object.assign(queryParamsWmsRecordTrans.value, new_tableParamsWareAgeWarm));
+    if(res.data.type=="success"){
+      let array = res.data.result?.items ?? []
+      array.forEach((item:any)=>{
+        item.moveType = getEnumDesc(item.moveType, getEnumMoveTypeData_Index.value)
+        item.businessType = getEnumDesc(item.businessType, getEnumBusinessTypeData_Index.value) 
+        item.sourceLockStatus = item.businessType == 1 ? "宸查攣瀹�" : "鏈攣瀹�"
+        item.toLockStatus = item.businessType == 1 ? "宸查攣瀹�" : "鏈攣瀹�"
+      });
+      exportExcelWareAgeWarm(array);
+    }
+    loadingWmsRecordTrans.value = false;
+    disabled_btnWmsRecordTrans.value = false;
+};
+//瀵煎嚭
+const exportExcelWareAgeWarm  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWareAgeWarm,"浜嬪姟璁板綍鎶ヨ〃",functionMapWareAgeWarm);
+};
+/***************************************************[浜嬪姟璁板綍瀵煎嚭]缁撴潫***************************************************/
+
+/***************************************************[浜嬪姟璁板綍鎿嶄綔]缁撴潫***************************************************/
+// 浜嬪姟璁板綍椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+  getEnumMoveTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('MoveTypeEnum')).data.result ?? [];
+  getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+ 
+  getEnumTransTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TransTypeEnum')).data.result ?? [];
+  
+  getEnumLockStatusData_Index.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("LockStatusEnum")).data.result ??
+    [];
+
+ //涓氬姟绫诲瀷
+ var res = await listWmsBusinessType();
+ res = res.data;
+    if(res && res.code == 200){
+      getEnumBusinessTypeData_Index.value  = res?.result ?? [];
+    }
+
+
+});
+
+handleQueryWmsRecordTrans();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+  width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockBoardabc/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockBoardabc/component/editDialog.vue
new file mode 100644
index 0000000..f33eb9c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockBoardabc/component/editDialog.vue
@@ -0,0 +1,304 @@
+锘�<template>
+	<div class="wmsStockBoardabc-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ABC鍒嗙被鍚嶇О" prop="aBCClassName">
+							<el-input v-model="ruleForm.aBCClassName" placeholder="璇疯緭鍏BC鍒嗙被鍚嶇О" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ABC鍒嗙被" prop="aBCClass">
+							<el-select clearable v-model="ruleForm.aBCClass" placeholder="璇烽�夋嫨ABC鍒嗙被">
+								<el-option v-for="(item,index) in  getEnumABCClassData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璺熻釜鐮�" prop="snCode">
+							<el-input v-model="ruleForm.snCode" placeholder="璇疯緭鍏ヨ窡韪爜" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹瑰櫒Id" prop="containerId">
+							<el-input v-model="ruleForm.containerId" placeholder="璇疯緭鍏ュ鍣↖d" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹瑰櫒缂栧彿" prop="containerCode">
+							<el-input v-model="ruleForm.containerCode" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏀惰揣鏃堕棿" prop="recordInsertTime">
+							<el-date-picker v-model="ruleForm.recordInsertTime" type="date" placeholder="鏀惰揣鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎿嶄綔鏃堕棿" prop="actionTime">
+							<el-date-picker v-model="ruleForm.actionTime" type="date" placeholder="鎿嶄綔鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏁伴噺" prop="quantity">
+							<el-input v-model="ruleForm.quantity" placeholder="璇疯緭鍏ユ暟閲�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳瓨鐘舵��" prop="stockStatus">
+							<el-select clearable v-model="ruleForm.stockStatus" placeholder="璇烽�夋嫨搴撳瓨鐘舵��">
+								<el-option v-for="(item,index) in  getEnumStockStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳瓨鐘舵�佸悕绉�" prop="stockStatusName">
+							<el-input v-model="ruleForm.stockStatusName" placeholder="璇疯緭鍏ュ簱瀛樼姸鎬佸悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓�缁存潯鐮�" prop="sN_1d">
+							<el-input v-model="ruleForm.sN_1d" placeholder="璇疯緭鍏ヤ竴缁存潯鐮�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="浜岀淮鏉$爜" prop="sN_2d">
+							<el-input v-model="ruleForm.sN_2d" placeholder="璇疯緭鍏ヤ簩缁存潯鐮�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP鍑瘉" prop="erpVoucher">
+							<el-input v-model="ruleForm.erpVoucher" placeholder="璇疯緭鍏RP鍑瘉" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
+							<el-input v-model="ruleForm.erpOrderNo" placeholder="璇疯緭鍏RP鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP搴撳瓨鍦�" prop="erpCode">
+							<el-input v-model="ruleForm.erpCode" placeholder="璇疯緭鍏RP搴撳瓨鍦�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗘壒娆�" prop="supplierBatch">
+							<el-input v-model="ruleForm.supplierBatch" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵规" prop="batch">
+							<el-input v-model="ruleForm.batch" placeholder="璇疯緭鍏ユ壒娆�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璐ㄦ鐘舵��" prop="qCStatus">
+							<el-select clearable v-model="ruleForm.qCStatus" placeholder="璇烽�夋嫨璐ㄦ鐘舵��">
+								<el-option v-for="(item,index) in  getEnumQCStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璐ㄦ鐘舵�佸悕绉�" prop="qCStatusName">
+							<el-input v-model="ruleForm.qCStatusName" placeholder="璇疯緭鍏ヨ川妫�鐘舵�佸悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addwmsStockBoardabc, updatewmsStockBoardabc, detailwmsStockBoardabc } from "/@/api/main/ReportCenter/wmsStockBoardabc";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumABCClassData = ref<any>([]);
+	const getEnumStockStatusData = ref<any>([]);
+	const getEnumQCStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		snCode: [{required: true, message: '璇疯緭鍏ヨ窡韪爜锛�', trigger: 'blur',},],
+		containerId: [{required: true, message: '璇疯緭鍏ュ鍣↖d锛�', trigger: 'blur',},],
+		containerCode: [{required: true, message: '璇疯緭鍏ュ鍣ㄧ紪鍙凤紒', trigger: 'blur',},],
+		quantity: [{required: true, message: '璇疯緭鍏ユ暟閲忥紒', trigger: 'blur',},],
+		stockStatus: [{required: true, message: '璇烽�夋嫨搴撳瓨鐘舵�侊紒', trigger: 'change',},],
+		stockStatusName: [{required: true, message: '璇疯緭鍏ュ簱瀛樼姸鎬佸悕绉帮紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailwmsStockBoardabc(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addwmsStockBoardabc(values);
+				} else {
+					title='缂栬緫';
+					ret = await updatewmsStockBoardabc(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumABCClassData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('ABCClassEnum')).data.result ?? [];
+			getEnumStockStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? [];
+			getEnumQCStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('QcStatusEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockBoardabc/component/openAllpropDetail.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockBoardabc/component/openAllpropDetail.vue
new file mode 100644
index 0000000..ca328bb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockBoardabc/component/openAllpropDetail.vue
@@ -0,0 +1,837 @@
+<template>
+	<!-- 鐪嬫澘璇︽儏 -->
+	<el-dialog v-model="dialogVisible" width="80%" @close="closeDialog" :close-on-click-modal="false">
+		<template #header>
+			<div style="color: #fff">
+				<span>鐪嬫澘璇︽儏</span>
+			</div>
+		</template>
+		<div class="msi-content" style="margin-top: 10px">
+			<div class="msi-form" style="padding-top: 0px">
+				<el-form :model="materialForm">
+					<el-row>
+						<el-col :span="8">
+							<el-form-item label="鐗╂枡缂栧彿">
+								<el-input v-model="materialForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+							</el-form-item>
+						</el-col>
+						<el-col :span="8">
+							<el-form-item label-width="20px">
+								<el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+								<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-form>
+			</div>
+			<el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef" max-height="480">
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				
+				<el-table-column label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center" show-overflow-tooltip />
+				<el-table-column prop="materialName" min-width="110px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="materialUnit" min-width="110px" label="鍗曚綅" show-overflow-tooltip="" />
+				<el-table-column prop="abcClassName" label="ABC鍒嗙被"  show-overflow-tooltip="" />
+				<!-- <el-table-column prop="snCode" min-width="110px" label="璺熻釜鐮�" show-overflow-tooltip="" /> -->
+				<el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
+			</el-table>
+
+			<Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize" @pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+				<!-- <el-button type="primary" :disabled="disabled_btn" @click="confirm">纭</el-button> -->
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 娣诲姞鐗╂枡 -->
+	<el-dialog v-model="addMaterialVisible" width="70%" @close="closeMaterialDialog">
+		<template #header>
+			<div style="color: #fff">
+				<span v-if="isMaterialBox == 1">娣诲姞鐗╂枡璇︽儏</span>
+				<span v-if="isPoBox == 1">鍏宠仈ASN鍗曠墿鏂�</span>
+			</div>
+		</template>
+
+		<div class="msi-form" style="padding-top: 0px">
+			<el-form :model="materialForm">
+				<el-row>
+					<el-col :span="8" v-if="isMaterialBox == 1">
+						<el-form-item label="鐗╂枡缂栧彿">
+							<el-input v-model="materialForm.Code" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8" v-if="isPoBox == 1">
+						<el-form-item label="鍏宠仈ASN鍗曞彿:">
+							<el-input v-model="materialForm.poNo" placeholder="璇疯緭鍏ュ叧鑱擜SN鍗曞彿" clearable></el-input>
+						</el-form-item>
+					</el-col>
+
+					<el-col :span="8">
+						<el-form-item label-width="20px">
+							<el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+							<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</div>
+		<div class="msi-content" style="padding-top: 0; margin-top: 10px">
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef" @selection-change="materialSelectionChange" :max-height="480" v-if="isMaterialBox == 1">
+				<el-table-column align="center" width="60" type="selection" />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+
+				<el-table-column label="鍗曚綅" prop="poUnit" align="center" min-width="140" show-overflow-tooltip />
+			</el-table>
+
+			<Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize" @pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 鍗曡鎯� -->
+	<el-drawer v-model="drawerVisible" :title="`${detailForm.asnId}璁㈠崟璇︽儏`" direction="rtl" size="80%" @close="handleDrawerClose">
+		<template #title>
+			<div class="slot_title">
+				<div class="title_orderNo">{{ title }}</div>
+				<div>璁㈠崟璇︽儏</div>
+			</div>
+		</template>
+
+		<div class="detailBoxWrap">
+			<!-- 璇︽儏缁勪欢 -->
+			<open-details ref="propDetailRef"></open-details>
+			<div class="msi-form">
+				<el-form :model="detailForm">
+					<el-row>
+						<el-col :span="6">
+							<el-form-item label="鐗╂枡缂栧彿">
+								<el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="2">
+							<el-form-item label-width="20px">
+								<el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-form>
+			</div>
+			<div class="msi-content">
+				<!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+				<el-table :data="drawerList" border striped :max-height="480">
+					<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+
+	
+
+					<el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="materialName" min-width="110px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="qcQuantity" label="瀹炴鏁伴噺" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="qCStatus" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+					<el-table-column prop="qcStatus" label="璐ㄦ鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index) }}</el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column prop="passQuantity" label="鍚堟牸鏁伴噺" show-overflow-tooltip="" />
+					<el-table-column prop="rejectQuantity" label="涓嶅悎鏍兼暟閲�" show-overflow-tooltip="" />
+					<el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+
+					<el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" show-overflow-tooltip="" />
+					<el-table-column prop="qCOrderStatus" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{ getEnumDesc(scope.row.qcOrderStatus, getEnumAsnStatusData_Index) }}</el-tag>
+						</template>
+					</el-table-column>
+					<!-- <el-table-column prop="qcOrderStatusName" label="鍗曟嵁鐘舵��"  show-overflow-tooltip="" /> -->
+
+					<el-table-column prop="unit" label="鍗曚綅" show-overflow-tooltip="" />
+					<el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+					<el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+					<el-table-column prop="custCode" label="瀹㈡埛缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="custChinaName" min-width="110px" label="瀹㈡埛涓枃鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="custEnglishName" min-width="110px" label="瀹㈡埛鑻辨枃鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="relationOrderType" label="鍏宠仈鍗曟嵁绫诲瀷"  show-overflow-tooltip="" /> -->
+					<el-table-column prop="relationOrderTypeName" min-width="110px" label="鍏宠仈鍗曟嵁绫诲瀷" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="factoryId" label="宸ュ巶ID"  show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="factoryName" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="factoryCode" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+					<el-table-column prop="remarks" label="澶囨敞" show-overflow-tooltip="" />
+					<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+				</el-table>
+				<Pagination :total="detailCount" v-model:page="detailForm.PageNo" v-model:limit="detailForm.PageSize" @pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+				<div></div>
+			</div>
+		</div>
+	</el-drawer>
+
+	<el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+		<el-form :model="outerForm2" label-width="120px">
+			<el-row style="font-size: 16px">
+				<el-col :span="23">
+					<el-form-item label="鍗曞彿:" required>
+						<el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="outVisible2 = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="getSapOrderPO">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+</template>
+<script lang="ts" setup>
+import Pagination from '/@/components/Pagination/index.vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import { ref, nextTick, computed, getCurrentInstance, watch, defineExpose, defineProps, onMounted } from 'vue';
+
+import { formatDecimalData } from '/@/utils/formate';
+
+import cache from '/@/utils/cache';
+import { pageWmsMaterial } from '/@/api/main/WmsBase/wmsMaterial';
+import { getTypeStatus } from '/@/utils/formate';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import { addWmsOrderPurchase, updateWmsOrderPurchase, detailWmsOrderPurchase } from '/@/api/main/WmsOrder/wmsOrderPurchase';
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+import { pageWmsOrderPurchaseDetails } from '/@/api/main/WmsOrder/wmsOrderPurchaseDetails';
+import { pageWmsOrderAsnDetails, deleteWmsOrderAsnDetails } from '/@/api/main/WmsOrder/wmsOrderAsnDetails';
+import commonFunction from '/@/utils/commonFunction';
+import { addWmsOrderAsn, updateWmsOrderAsn, detailWmsOrderAsn } from '/@/api/main/WmsOrder/wmsOrderAsn';
+
+import { addWmsQc, updateWmsQc, detailWmsQc, confirmWmsQc } from '/@/api/main/WmsQC/wmsOrderQc';
+import { pageWmsQcDetails } from '/@/api/main/WmsQC/wmsOrderQcDetails';
+import { pageWmsAbcDetails } from '/@/api/main/ReportCenter/wmsStockBoardabc';
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getEnumOrderTypeData = ref<any>([]);
+const getEnumBusinessTypeData = ref<any>([]);
+const getEnumPoStatusData = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(['getTabelData']);
+const getEnumAsnStatusData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumQCStatusData_Index = ref<any>([]);
+
+const getEnumDockData = ref<any>([]);
+const props = defineProps({
+	titleAuthor: {
+		type: Number,
+		required: true,
+	},
+	hexiao: {
+		type: Number,
+		default: 1,
+		required: true,
+	},
+});
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor);
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+
+
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref('');
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+	return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+	orderDoRuType.value = param;
+	uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+	getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+	ElMessageBox.confirm('鏄惁纭鑾峰彇鏇存柊锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	}).then(() => {
+	});
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+	purchaseNo: '',
+});
+const getSapOrderPO = (param?: number) => {
+	if (param && param == 1) {
+		outVisible2.value = true;
+		return;
+	}
+	if (outerForm2.value.purchaseNo == '') {
+		ElMessage.warning('璇疯緭鍏ュ崟鍙�');
+		return;
+	}
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+	outerForm2.value.purchaseNo = '';
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+	WareMaterialCode: '',
+	WareMaterialName: '',
+	PurchaseNo: '',
+	CreatedUserName: '',
+	CreatedTimeBegin: '',
+	CreatedTimeEnd: '',
+	CreateDate: [],
+	IssueTimeBegin: '',
+	IssueTimeEnd: '',
+	IssueDate: [],
+	MaterialTypeStaus: '',
+	SourceBy: '',
+	WriteOffState: '',
+	signStatus: '',
+	status: '',
+	freeOrderType: '',
+	IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+	// LoginUserID: LoginUserID, //鐢ㄦ埛id
+	OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+	Page: 1,
+	PageSize: 10,
+	poApprovalStatus: '',
+	keyCode: '',
+	IsDisable: '', //鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+const tableRef = ref();
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache('enumList');
+console.log(enumList.inEnumOrderType);
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+	//鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+		formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+		formModel.value.CreatedTimeEnd = ''; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+			formModel.value.CreatedTimeBegin = '';
+			formModel.value.CreatedTimeEnd = '';
+		}
+	}
+	//鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+		formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+		formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+			formModel.value.IssueTimeBegin = '';
+			formModel.value.IssueTimeEnd = '';
+		}
+	}
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+	formModel.value = {
+		WareMaterialCode: '',
+		WareMaterialName: '',
+		PurchaseNo: '',
+		CreatedUserName: '',
+		CreatedTimeBegin: '',
+		CreatedTimeEnd: '',
+		CreateDate: [],
+		IssueTimeBegin: '',
+		IssueTimeEnd: '',
+		IssueDate: [],
+		MaterialTypeStaus: '',
+		SourceBy: '',
+		WriteOffState: '',
+		signStatus: '',
+		status: '',
+		freeOrderType: '',
+		IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+		//  LoginUserID: LoginUserID, //鐢ㄦ埛id
+		OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+		Page: 1,
+		PageSize: 10,
+		poApprovalStatus: '',
+		keyCode: '',
+		IsDisable: '', //鏄惁浣滃簾
+	};
+	getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+//瀵煎嚭PO鍗曡鎯�
+const handExport = () => {
+	// rkExport(formModel.value)
+	//   .then((res) => {
+	//     const link = document.createElement("a"); //鍒涘缓a鏍囩
+	//     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+	//     let objectUrl = URL.createObjectURL(blob);
+	//     link.href = objectUrl;
+	//     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+	//       new Date().toString(),
+	//       "YYYY-MM-DD hh:mm:ss"
+	//     )}`; // 鑷畾涔夋枃浠跺悕
+	//     link.click(); // 涓嬭浇鏂囦欢
+	//     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+	//   }).catch((err) => ElMessage.error(JSON.stringify(err)));
+	//瀵煎嚭璋冪敤鎺ュ彛
+	// let entozh = entozhExcell
+	//   const { PageNo, PageSize, ...rest } = formModel.value
+	//   getPurchasePage({ Page: 1, PageSize: 1000000, ...rest }).then(res => {
+	//     if(res.code==200){
+	//       res.data.rows.forEach((item)=>{
+	//         item.writeOffState = EnumWriteOffState.value.filter((v: any) => v.value == item.writeOffState)[0].title;
+	//         item.sourceBy =  sourceEnum.value.filter((v: any) => v.value == item.sourceBy)[0].title;
+	//       })
+	//       exportExcel(res.data.rows, entozh, "xlsx", `鍏ュ簱绠$悊琛�${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`);
+	//     }
+	//   })
+	// 鍚庣瀵煎嚭-瀛楁涓嶅叏
+	// if (checkRows.value.length <= 0) {
+	//   ElMessage.warning("璇烽�夋嫨涓�涓鍗曪紒");
+	//   return
+	// }
+	// const arr = checkRows.value.reduce((curr, item) => {
+	//   curr.push(item.purchaseNo);
+	//   return curr;
+	// }, []);
+	// puchaseExport({ PurchaseNo: arr })
+	//   .then((res) => {
+	//     const link = document.createElement("a"); //鍒涘缓a鏍囩
+	//     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+	//     let objectUrl = URL.createObjectURL(blob);
+	//     link.href = objectUrl;
+	//     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+	//       new Date().toString(),
+	//       "YYYY-MM-DD hh:mm:ss"
+	//     )}`; // 鑷畾涔夋枃浠跺悕
+	//     link.click(); // 涓嬭浇鏂囦欢
+	//     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+	//   })
+	//   .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+	materialCode: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref('drawerAll');
+// const
+//鍗曞彿
+const purchaseNo = ref('');
+const detailCount2 = ref(0);
+const detailForm2 = ref({
+	Page: 1,
+	PageSize: 10,
+	qcOrderId: '',
+	IsConfirmQC: true, //璐ㄦ鍗曠‘璁や紶鍙傦細1璐ㄦ鐘舵�佷笉鏄緟妫�楠�  2鍗曟嵁鐘舵�佹槸鏂板缓
+});
+const getEnumPoDetailStatusData_Index = ref<any>([]);
+
+const drawerList2 = ref<DetailType[]>([]);
+//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+const getDetail = async () => {
+	loading.value = true;
+	var res = await pageWmsQcDetails(Object.assign(detailForm.value));
+	var listD = res.data.result?.items ?? [];
+	drawerList.value = listD;
+	detailCount.value = res.data.result?.total;
+	loading.value = false;
+	getEnumPoDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+
+	getEnumAsnStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+};
+
+//----------------鐗╂枡鏄庣粏
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+	detailForm.value.PageNo = 1;
+	detailForm.value.PageSize = 10;
+	if (scope.asnNo) {
+		title.value = `${scope.asnNo}`;
+	}
+	drawerType.value = 'drawerAll';
+	drawerVisible.value = true;
+	//褰撳墠鍏ュ簱鍗曞彿id
+	detailForm.value.asnId = scope.id;
+	//鍏ュ簱鍗�
+	purchaseNo.value = scope.purchaseNo;
+	detailForm2.value.asnId = scope.id;
+	//鑾峰彇鐗╂枡鍒楄〃
+	if (detailForm2.value.asnId == '') {
+		drawerList2.value = [];
+		detailCount2.value = 0;
+		return;
+	}
+	// 鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	getDetail();
+
+	getEnumPoDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+	let scopetrans = JSON.parse(JSON.stringify(scope));
+	scopetrans.qcOrderStatus = getEnumDesc(scopetrans.qcOrderStatus, getEnumPoDetailStatusData_Index.value);
+	nextTick(() => {
+		proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+	});
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+	detailForm.value = {
+		materialCode: '',
+		asnId: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	deltailList.value = [];
+	detailCount.value = 0;
+	drawerList.value = [];
+	drawerList2.value = [];
+	detailCount2.value = 0;
+	drawerList2.value = [];
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+	id: number;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref('');
+
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref('add');
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+	hasTMCode: false,
+	asnType: '',
+	dock: '',
+	projectNo: '',
+	OrderDetails: [] as any[],
+});
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+	materialCode:'',
+	aBCClass: '',
+	Page: 1,
+	PageSize: 10,
+	recordInsertTimeRange:[]
+});
+
+//鎵撳紑
+const openDialog = async (type: number, scope: any = {}) => {
+	debugger
+	materialForm.value.aBCClass = scope.aBCClass;
+	materialForm.value.recordInsertTimeRange = scope.recordInsertTimeRange;
+	//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	getMaterialList()
+	//----------------鐗╂枡鏄庣粏
+	dialogVisible.value = true;
+	disabled_btn.value = false;
+	//娓呴櫎閫変腑椤�
+	// nextTick(() => {
+	// 	dialogRef.value.clearValidate();
+	// });
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+	return row.id + row.asnLineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+	addForm.value = {
+		hasTMCode: false,
+		asnType: '',
+		dock: '',
+		projectNo: '',
+		OrderDetails: [] as any[],
+	};
+	warehousOrderDetails.value = [];
+	checkedDetails.value = [];
+	deltailList.value = [];
+	detailCount.value = 0;
+	disabled_btn.value = false;
+	detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+	ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			let arr = [];
+			if (checkedDetails.value[0].diRelationID) {
+				checkedDetails.value.forEach((item) => {
+					console.log(item);
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode == item.materialCode && detail.diRelationID == item.diRelationID);
+					if (index > -1) {
+						warehousOrderDetails.value.splice(index, 1);
+					}
+				});
+			} else {
+				checkedDetails.value.forEach((item) => {
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode == item.materialCode && detail.asnLineNumber == item.asnLineNumber);
+					warehousOrderDetails.value.splice(index, 1);
+				});
+			}
+			arr = warehousOrderDetails.value;
+			warehousOrderDetails.value = [];
+			//bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+			nextTick(() => {
+				warehousOrderDetails.value = arr;
+				checkedDetails.value = [];
+				detailRef.value.clearSelection();
+			});
+		})
+		.catch(() => ElMessage.info('宸插彇娑堝垹闄�'));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const disabled_btn = ref(false);
+const confirm = async () => {
+	console.log('纭');
+	if (warehousOrderDetails.value.length <= 0) {
+		ElMessage.warning('娌℃湁闇�瑕佸畬鎴愯川妫�鐨勭墿鏂欙紒');
+		return;
+	}
+	addForm.value.OrderDetails = [];
+	warehousOrderDetails.value.forEach((item) => {
+		const obj = {
+			...item,
+			QCQuantity: item.quantity,
+			asnLineNumber: item.asnLineNumber,
+		};
+		addForm.value.OrderDetails.push(obj);
+	});
+	disabled_btn.value = true;
+	let res = await confirmWmsQc(addForm.value);
+	if (res.data && res.data.code == 200) {
+		ElMessage.success('瀹屾垚璐ㄦ鎴愬姛');
+		dialogVisible.value = false;
+		emits('getTabelData');
+	}
+	disabled_btn.value = false;
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+	loading.value = true;
+	var res = await pageWmsAbcDetails({
+		...materialForm.value
+	});
+	var listD = res.data.result?.items ?? [];
+	warehousOrderDetails.value = listD;
+	materialList.value = res.data.result?.items ?? [];
+	materialTotal.value = res.data.result?.total;
+	loading.value = false;
+};
+
+
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+	checkedMaterial.value = val;
+};
+const isMaterialBox: any = ref(true);
+const isPoBox: any = ref(true);
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = (param?: any) => {
+	if (param && param == 'po') {
+		isPoBox.value = 1;
+		isMaterialBox.value = 0;
+	} else {
+		isPoBox.value = 0;
+		isMaterialBox.value = 1;
+	}
+	getMaterialList();
+	addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+	//鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+	if (warehousOrderDetails.value.length == 0) {
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			item.asnLineNumber = index + 1;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	} else {
+		for (let i = 0; i < checkedMaterial.value.length; i++) {
+			let idx = warehousOrderDetails.value.findIndex(
+				(item: { poLineNumber: any; code: any }) => item.code == checkedMaterial.value[i].materialCode && item.asnLineNumber == checkedMaterial.value[i].asnLineNumber
+			);
+			if (idx > -1) {
+				return ElMessage.warning(`鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}锛孉SN琛屽彿锛�${checkedMaterial.value[i].asnLineNumber || ''}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦);
+			}
+		}
+
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	}
+
+	addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+	materialForm.value = {
+		poNo: '',
+		Code: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	materialList.value = [];
+	checkedMaterial.value = [];
+	materialRef.value.clearSelection();
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {});
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+	margin: 10px;
+}
+
+.msi-form {
+	margin-top: 10px;
+}
+
+.msi-form {
+	margin-bottom: 10px;
+}
+
+.slot_title {
+	display: flex;
+	align-items: center;
+
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #f18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockBoardabc/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockBoardabc/index.vue
new file mode 100644
index 0000000..4674134
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockBoardabc/index.vue
@@ -0,0 +1,420 @@
+锘�<template>
+	<div class="wmsStockBoardabc-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="queryParamswmsStockBoardabc" ref="queryForm" labelWidth="90">
+				<el-row>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+						<el-form-item label="鍏抽敭瀛�">
+							<el-input
+								v-model="queryParamswmsStockBoardabc.searchKey"
+								clearable=""
+								placeholder="ABC鍒嗙被鍚嶇О,鐗╂枡缂栧彿,鐗╂枡鍚嶇О,璺熻釜鐮�,瀹瑰櫒缂栧彿,搴撳瓨鐘舵�佸悕绉�,涓�缁存潯鐮�,浜岀淮鏉$爜,ERP鍑瘉,ERP鍗曞彿,ERP搴撳瓨鍦�,渚涘簲鍟嗘壒娆�,鎵规,璐ㄦ鐘舵�佸悕绉�,鍒涘缓浜�,淇敼浜�"
+							/>
+						</el-form-item>
+					</el-col> -->
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="queryParamswmsStockBoardabc">
+						<el-form-item label="鏃堕棿">
+							<el-date-picker placeholder="璇烽�夋嫨鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamswmsStockBoardabc.recordInsertTimeRange" />
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+						<el-form-item>
+							<el-button-group style="display: flex; align-items: center">
+								<el-button type="primary" icon="ele-Search" @click="handleQuerywmsStockBoardabc" v-auth="'wmsStockBoardabc:page'" :disabled="disabled_btnwmsStockBoardabc"> 鏌ヨ </el-button>
+								<el-button icon="ele-Refresh" @click="resetwmsStockBoardabc"> 閲嶇疆 </el-button>
+								<!-- <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIwmsStockBoardabc" v-if="!showAdvanceQueryUIwmsStockBoardabc" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIwmsStockBoardabc" v-if="showAdvanceQueryUIwmsStockBoardabc" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddwmsStockBoardabc" v-auth="'wmsStockBoardabc:add'"> 鏂板 </el-button> -->
+								<!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelwmsStockBoardabc"  v-auth="'wmsStockBoardabc:exportExcel'" > 瀵煎嚭 </el-button> -->
+							</el-button-group>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</el-card>
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<div class="task_echrts" id="task_echrtsA"></div>
+
+			<!-- <el-table
+                ref="tableRefwmsStockBoardabc"
+				:data="tableDatawmsStockBoardabc"
+				style="width: 100%"
+				v-loading="loadingwmsStockBoardabc"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangewmsStockBoardabc"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="abcClassName" label="ABC鍒嗙被鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamswmsStockBoardabc.page"
+				v-model:page-size="tableParamswmsStockBoardabc.pageSize"
+				:total="tableParamswmsStockBoardabc.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangewmsStockBoardabc"
+				@current-change="handleCurrentChangewmsStockBoardabc"
+				layout="total, sizes, prev, pager, next, jumper"
+	/> -->
+			<printDialogwmsStockBoardabc ref="printDialogRefwmsStockBoardabc" :title="printwmsStockBoardabcTitle" @reloadTable="handleQuerywmsStockBoardabc" />
+			<editDialogwmsStockBoardabc ref="editDialogRefwmsStockBoardabc" :title="editwmsStockBoardabcTitle" @reloadTable="handleQuerywmsStockBoardabc" />
+		</el-card>
+
+		<open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQuerywmsStockBoardabc"></open-allprop>
+	</div>
+</template>
+
+<script lang="ts" setup="" name="wmsStockBoardabc">
+import { ref, onMounted, nextTick, reactive, onUnmounted, getCurrentInstance } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import { exportPageExcel } from '/@/utils/exportPageExcel'; //寮曞叆瀵煎嚭鏂规硶
+import * as echarts from 'echarts';
+import OpenAllprop from './component/openAllpropDetail.vue';
+import printDialogwmsStockBoardabc from '/@/views/system/print/component/hiprint/preview.vue';
+import { pagewmsStockBoardabc, deletewmsStockBoardabc, importExcelwmsStockBoardabc, downloadExcelTemplatewmsStockBoardabc } from '/@/api/main/ReportCenter/wmsStockBoardabc';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getEnumABCClassData_Index = ref<any>([]);
+const getEnumStockStatusData_Index = ref<any>([]);
+const getEnumQCStatusData_Index = ref<any>([]);
+
+const { getEnumDesc } = commonFunction();
+
+/***************************************************[ABC鍔ㄦ�佸垎鏋愮湅鏉挎搷浣淽寮�濮�***************************************************/
+const showAdvanceQueryUIwmsStockBoardabc = ref(false);
+const tableRefwmsStockBoardabc = ref(null);
+const printDialogRefwmsStockBoardabc = ref();
+const editDialogRefwmsStockBoardabc = ref();
+const loadingwmsStockBoardabc = ref(false);
+const disabled_btnwmsStockBoardabc = ref(false);
+const tableDatawmsStockBoardabc = ref<any>([]);
+const queryParamswmsStockBoardabc = ref<any>({});
+const tableParamswmsStockBoardabc = ref({
+	page: 1,
+	pageSize: 10,
+	total: 0,
+});
+
+const printwmsStockBoardabcTitle = ref('');
+const editwmsStockBoardabcTitle = ref('');
+
+// ---------------璇︽儏-----------------------
+const showProp = (item?: any) => {
+	proxy.$refs['propALlProp'].openDialog(2, item);
+};
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUIwmsStockBoardabc = () => {
+	showAdvanceQueryUIwmsStockBoardabc.value = !showAdvanceQueryUIwmsStockBoardabc.value;
+};
+
+// 閲嶇疆ABC鍔ㄦ�佸垎鏋愮湅鏉挎煡璇�
+const resetwmsStockBoardabc = async () => {
+	queryParamswmsStockBoardabc.value = {};
+};
+
+// ABC鍔ㄦ�佸垎鏋愮湅鏉垮垪鎺掑簭
+const sortChangewmsStockBoardabc = async (column: any) => {
+	queryParamswmsStockBoardabc.value.field = column.prop;
+	queryParamswmsStockBoardabc.value.order = column.order;
+	await handleQuerywmsStockBoardabc();
+};
+
+// 鎵撳紑鏂板ABC鍔ㄦ�佸垎鏋愮湅鏉块〉闈�
+const openAddwmsStockBoardabc = () => {
+	editwmsStockBoardabcTitle.value = '娣诲姞ABC鍔ㄦ�佸垎鏋愮湅鏉�';
+	editDialogRefwmsStockBoardabc.value.openDialog(1, {});
+};
+
+// 鎵撳紑鎵撳嵃ABC鍔ㄦ�佸垎鏋愮湅鏉块〉闈�
+const openPrintwmsStockBoardabc = async (row: any) => {
+	printwmsStockBoardabcTitle.value = '鎵撳嵃ABC鍔ㄦ�佸垎鏋愮湅鏉�';
+};
+
+// 鎵撳紑缂栬緫ABC鍔ㄦ�佸垎鏋愮湅鏉块〉闈�
+const openEditwmsStockBoardabc = (row: any) => {
+	editwmsStockBoardabcTitle.value = '缂栬緫ABC鍔ㄦ�佸垎鏋愮湅鏉�';
+	editDialogRefwmsStockBoardabc.value.openDialog(2, row);
+};
+
+// 鍒犻櫎ABC鍔ㄦ�佸垎鏋愮湅鏉�
+const delwmsStockBoardabc = (row: any) => {
+	ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			loadingwmsStockBoardabc.value = true;
+			var ret = await deletewmsStockBoardabc(row);
+			if (ret.data.type == 'success') {
+				ElMessage.success('鍒犻櫎鎴愬姛');
+			}
+			loadingwmsStockBoardabc.value = false;
+			handleQuerywmsStockBoardabc();
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉ABC鍔ㄦ�佸垎鏋愮湅鏉块〉闈㈠閲�
+const handleSizeChangewmsStockBoardabc = (val: number) => {
+	tableParamswmsStockBoardabc.value.pageSize = val;
+	handleQuerywmsStockBoardabc();
+};
+
+// 鏀瑰彉ABC鍔ㄦ�佸垎鏋愮湅鏉块〉鐮佸簭鍙�
+const handleCurrentChangewmsStockBoardabc = (val: number) => {
+	tableParamswmsStockBoardabc.value.page = val;
+	handleQuerywmsStockBoardabc();
+};
+
+/***************************************************[ABC鍔ㄦ�佸垎鏋愮湅鏉挎搷浣淽缁撴潫***************************************************/
+/***************************************************[ABC鍔ㄦ�佸垎鏋愮湅鏉垮鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapwmsStockBoardabc = {
+	getEnumABCClassData_Index,
+	getEnumStockStatusData_Index,
+	getEnumQCStatusData_Index,
+	formatDate_T_Date,
+	formatDate_T_Time,
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelwmsStockBoardabc = async (formData: Blob) => {
+	loadingwmsStockBoardabc.value = true;
+	disabled_btnwmsStockBoardabc.value = true;
+	var new_tableParamswmsStockBoardabc = JSON.parse(JSON.stringify(tableParamswmsStockBoardabc.value));
+	new_tableParamswmsStockBoardabc.page = 1;
+	new_tableParamswmsStockBoardabc.pageSize = 100000;
+	var res = await pagewmsStockBoardabc(Object.assign(queryParamswmsStockBoardabc.value, new_tableParamswmsStockBoardabc));
+	if (res.data.type == 'success') {
+		exportExcelwmsStockBoardabc(res.data.result?.items ?? []);
+	}
+	loadingwmsStockBoardabc.value = false;
+	disabled_btnwmsStockBoardabc.value = false;
+};
+//瀵煎嚭
+const exportExcelwmsStockBoardabc = async (exportDataList: Array) => {
+	exportPageExcel(exportDataList, tableRefwmsStockBoardabc, 'ABC鍔ㄦ�佸垎鏋愮湅鏉�', functionMapwmsStockBoardabc);
+};
+/***************************************************[ABC鍔ㄦ�佸垎鏋愮湅鏉垮鍑篯缁撴潫***************************************************/
+// ABC鍔ㄦ�佸垎鏋愮湅鏉块〉闈㈠姞杞芥椂
+onMounted(async () => {
+	getEnumABCClassData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('ABCClassEnum')).data.result ?? [];
+	//   getEnumStockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? [];
+	//   getEnumQCStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('QcStatusEnum')).data.result ?? [];
+});
+
+// 鍑哄叆搴撴洸绾垮浘
+const chartsOption = reactive({
+	tooltip: {
+		trigger: 'axis',
+		axisPointer: {
+			type: 'line',
+		},
+	},
+	legend: {
+		top: 0,
+		icon: 'circle',
+		itemWidth: 20,
+		itemHeight: 10,
+		selectedMode: true,
+		itemGap: 13,
+		data: [
+			{ name: '鍑哄簱', itemStyle: { color: '#F64B18' } },
+			{ name: '鍏ュ簱', itemStyle: { color: '#09BDFE' } },
+		],
+		right: '4%',
+		textStyle: {
+			fontSize: 12,
+			color: '#000',
+		},
+	},
+	grid: {
+		top: 40,
+		left: '2%',
+		right: '1%',
+		bottom: '2%',
+		containLabel: true,
+	},
+	xAxis: [
+		{
+			type: 'category',
+			data: [] as string[],
+			axisTick: {
+				show: false,
+			},
+		},
+	],
+	yAxis: {
+		type: 'value',
+	},
+	series: [
+		//   {
+		//   name: 'ABC鍔ㄦ�佸垎鏋�',
+		//   type: 'bar',
+		//   smooth: true,
+		//   symbol: 'circle',
+		//   symbolSize: 5,
+		//   showSymbol: false,
+		//   lineStyle: {
+		//     width: 2,
+		//     color: '#F64B18'
+		//   },
+		//   areaStyle: {
+		//     color: new (echarts as any).graphic.LinearGradient(0, 0, 0, 1, [{
+		//       offset: 0,
+		//       color: 'rgba(137, 189, 27, 0.3)'
+		//     }, {
+		//       offset: 0.8,
+		//       color: 'rgba(137, 189, 27, 0)'
+		//     }], false),
+		//     shadowColor: 'rgba(0, 0, 0, 0.1)',
+		//     shadowBlur: 10
+		//   },
+		//   itemStyle: {
+		//     color: '#f83800',
+		//     borderColor: 'rgba(137,189,2,0.27)',
+		//     borderWidth: 12
+		//   },
+		//   data: [1,2,3,4] as number[]
+		// },
+		{
+			name: 'ABC鍔ㄦ�佸垎鏋�',
+			type: 'bar',
+			smooth: true,
+			barWidth: 60,
+			symbol: 'circle',
+			symbolSize: 5,
+			showSymbol: false,
+			lineStyle: {
+				width: 2,
+				color: '#09BDFE',
+			},
+			areaStyle: {
+				color: new (echarts as any).graphic.LinearGradient(
+					0,
+					0,
+					0,
+					1,
+					[
+						{
+							offset: 0,
+							color: 'rgba(0, 136, 212, 0.3)',
+						},
+						{
+							offset: 0.8,
+							color: 'rgba(0, 136, 212, 0)',
+						},
+					],
+					false
+				),
+				shadowColor: 'rgba(0, 0, 0, 0.1)',
+				shadowBlur: 10,
+			},
+			itemStyle: {
+				color: 'rgb(0,136,212)',
+				borderColor: 'rgba(0,136,212,0.2)',
+				borderWidth: 12,
+			},
+			data: [] as number[],
+		},
+	],
+});
+
+//缁樺埗鍑哄叆搴撴洸绾�
+let lineChart: any = null;
+const initCharts = () => {
+	nextTick(() => {
+		lineChart = echarts.init(document.getElementById('task_echrtsA') as HTMLDivElement);
+		lineChart.setOption(chartsOption);
+
+		// 鐩戝惉鏌辩姸鍥剧殑鐐瑰嚮浜嬩欢
+		lineChart.on('click', async function (params: any) {
+			// params 鍖呭惈鐐瑰嚮鐨勬煴瀛愮殑淇℃伅锛屽鏁版嵁鍊笺�佺郴鍒楃储寮曘�佹暟鎹储寮曠瓑
+			console.log(params);
+			// 渚嬪锛屽彲浠ヨ繖鏍疯幏鍙栫偣鍑荤殑鏁版嵁鍊�
+			var dataValue: any = params.data;
+			console.log(params);
+			console.log('Clicked data value is: ' + dataValue);
+			var ABCClass = getEnumABCClassData_Index.value.filter((v: any) => v.describe == params.name)[0]?.value;
+			debugger;
+			showProp({
+				aBCClass: ABCClass,
+				recordInsertTimeRange: recordInsertTimeRange.value || [],
+			});
+
+			// 鏍规嵁闇�瑕佸鐞嗙偣鍑讳簨浠�
+			// ...
+		});
+	});
+};
+
+// 鎵归噺璁剧疆 echarts resize
+
+// 鎵归噺璁剧疆 echarts resize
+const initEchartsResize = () => {
+	window.addEventListener('resize', () => {
+		nextTick(() => {
+			lineChart.resize();
+		});
+	});
+};
+
+onMounted(async () => {
+	initEchartsResize();
+});
+const recordInsertTimeRange = ref([]);
+// 鏌ヨABC鍔ㄦ�佸垎鏋愮湅鏉�
+const handleQuerywmsStockBoardabc = async () => {
+	loadingwmsStockBoardabc.value = true;
+	disabled_btnwmsStockBoardabc.value = true;
+	chartsOption.xAxis[0].data = [];
+	chartsOption.series[0].data = [];
+	var res = await pagewmsStockBoardabc(Object.assign(queryParamswmsStockBoardabc.value, tableParamswmsStockBoardabc.value));
+	if (res.data.type == 'success') {
+		var result = res.data.result;
+		result.forEach((item: any) => {
+			chartsOption.xAxis[0].data.push(item.abcClassName);
+			chartsOption.series[0].data.push(item.quantity);
+		});
+		//echart
+		recordInsertTimeRange.value = queryParamswmsStockBoardabc.value.recordInsertTimeRange;
+		initCharts();
+		tableDatawmsStockBoardabc.value = res.data.result?.items ?? [];
+		tableParamswmsStockBoardabc.value.total = res.data.result?.total;
+	}
+	loadingwmsStockBoardabc.value = false;
+	disabled_btnwmsStockBoardabc.value = false;
+};
+handleQuerywmsStockBoardabc();
+
+onUnmounted(() => {
+	if (lineChart) {
+		lineChart.dispose();
+	}
+});
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+.task_echrts {
+	width: 100%;
+	height: 90%;
+	background: #fff;
+	border-radius: 10px;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockQuan/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockQuan/component/editDialog.vue
new file mode 100644
index 0000000..3461a73
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockQuan/component/editDialog.vue
@@ -0,0 +1,139 @@
+锘�<template>
+	<div class="wmsStockQuan-container">
+		<el-dialog v-model="isShowDialog" :width="400" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+				</el-row>
+
+				<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+					<el-form-item label="鍘熷洜" prop="reason">
+						<el-input type="textarea" v-model="ruleForm.reason" placeholder="璇疯緭鍏ュ師鍥�" maxlength="250" show-word-limit clearable />
+					</el-form-item>
+				</el-col>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+import { ref, onMounted } from 'vue';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { ElMessage } from 'element-plus';
+import type { FormRules } from 'element-plus';
+import { addWmsStockQuan, updateWmsStockQuan, detailWmsStockQuan } from '/@/api/main/ReportCenter/wmsStockQuan';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+
+const getEnumStockStatusData = ref<any>([]);
+const getEnumQCStatusData = ref<any>([]);
+//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+var props = defineProps({
+	title: {
+		type: String,
+		default: '',
+	},
+});
+//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+const emit = defineEmits(['reloadTable', 'handleBatchFreezeFn']);
+const ruleFormRef = ref();
+const isShowDialog = ref(false);
+const loading = ref(false);
+const disabled_btn = ref(false);
+const ruleForm = ref<any>({
+	reason: '',
+});
+//鑷娣诲姞鍏朵粬瑙勫垯
+const rules = ref<FormRules>({
+	reason: [{ required: true, message: '璇疯緭鍏ュ師鍥狅紒', trigger: 'blur' }],
+});
+
+/*
+ * 鎵撳紑寮圭獥
+ * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+ * @param row  琛屾暟鎹�
+ */
+const flagSub = ref(0);
+const openDialog = async (flag: number) => {
+
+	// ruleForm.value = JSON.parse(JSON.stringify(row));
+	// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+	// let rowData = JSON.parse(JSON.stringify(row));
+	// if (rowData.id) ruleForm.value = (await detailWmsStockQuan(rowData.id)).data.result;
+	// else {
+	// 	ruleForm.value = rowData;
+	// }
+	flagSub.value = flag;
+	ruleForm.value = {};
+	isShowDialog.value = true;
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emit('reloadTable');
+	isShowDialog.value = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	isShowDialog.value = false;
+};
+
+// 鎻愪氦
+const submit = async () => {
+	disabled_btn.value = true;
+	ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+		if (isValid) {
+			loading.value = true;
+			let values = ruleForm.value;
+			// let ret = {};
+			// let title = '鏂板';
+			debugger;
+			emit('handleBatchFreezeFn', flagSub.value, values.reason);
+			isShowDialog.value = false;
+			disabled_btn.value = false;
+			loading.value = false;
+			// if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == '' || ruleForm.value.id == 0) {
+			// 	ret = await addWmsStockQuan(values);
+			// } else {
+			// 	title = '缂栬緫';
+			// 	ret = await updateWmsStockQuan(values);
+			// }
+			// loading.value = false;
+			// disabled_btn.value = false;
+			// if (ret.data.type == 'success') {
+			// 	ElMessage.success(title + '鎴愬姛');
+			// 	closeDialog();
+			// }
+		} else {
+			disabled_btn.value = false;
+			loading.value = false;
+		}
+	});
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {});
+
+//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockQuan/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockQuan/index.vue
new file mode 100644
index 0000000..736e8f8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockQuan/index.vue
@@ -0,0 +1,541 @@
+锘�<template>
+	<div class="wmsStockQuan-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="queryParamsWmsStockQuan" ref="queryForm" labelWidth="90">
+				<el-row>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+						<el-form-item label="鍏抽敭瀛�">
+							<el-input v-model="queryParamsWmsStockQuan.searchKey" clearable="" placeholder="瀹瑰櫒缂栧彿,璺熻釜鐮�,鐗╂枡缂栧彿,鐗╂枡鍚嶇О,渚涘簲鍟嗘壒娆�,鎵规,渚涘簲鍟嗙紪鍙�,ERP鍗曞彿,ERP搴撳瓨鍦�,ERP鍑瘉" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="瀹瑰櫒缂栧彿">
+							<el-input v-model="queryParamsWmsStockQuan.containerCode" clearable="" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�" />
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="璺熻釜鐮�">
+							<el-input v-model="queryParamsWmsStockQuan.snCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="鐗╂枡缂栧彿">
+							<el-input v-model="queryParamsWmsStockQuan.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="鐗╂枡鍚嶇О">
+							<el-input v-model="queryParamsWmsStockQuan.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="搴撳瓨鐘舵��">
+							<el-select clearable="" v-model="queryParamsWmsStockQuan.stockStatus" placeholder="璇烽�夋嫨搴撳瓨鐘舵��">
+								<el-option v-for="(item, index) in getEnumStockStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="閿佸畾鐘舵��">
+							<el-select clearable="" v-model="queryParamsWmsStockQuan.lockStatus" placeholder="璇烽�夋嫨閿佸畾鐘舵��">
+								<el-option v-for="(item, index) in getEnumLockStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="渚涘簲鍟嗘壒娆�">
+							<el-input v-model="queryParamsWmsStockQuan.supplierBatch" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="鎵规">
+							<el-input v-model="queryParamsWmsStockQuan.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="鏀惰揣鏃堕棿">
+							<el-date-picker placeholder="璇烽�夋嫨鏀惰揣鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsStockQuan.recordInsertTimeRange" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="渚涘簲鍟嗙紪鍙�">
+							<el-input v-model="queryParamsWmsStockQuan.supplierCode" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿" />
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="鍏宠仈鍗曞彿">
+							<el-input v-model="queryParamsWmsStockQuan.relationNo" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="ERP搴撳瓨鍦�">
+							<el-input v-model="queryParamsWmsStockQuan.erpCode" clearable="" placeholder="璇疯緭鍏RP搴撳瓨鍦�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="璐ㄦ鐘舵��">
+							<el-select clearable="" v-model="queryParamsWmsStockQuan.qCStatus" placeholder="璇烽�夋嫨璐ㄦ鐘舵��">
+								<el-option v-for="(item, index) in getEnumQCStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="鏄惁鍙敤">
+							<el-select clearable="" v-model="queryParamsWmsStockQuan.usableFlag" placeholder="璇烽�夋嫨鏄惁鍙敤">
+								<el-option v-for="(item, index) in getEnumUsableFlagData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+						<el-form-item label="搴撲綅灞炴��">
+							<el-select clearable="" v-model="queryParamsWmsStockQuan.placeStatus" placeholder="璇烽�夋嫨搴撲綅灞炴��">
+								<el-option v-for="(item, index) in getEnumPlaceStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="ERP鍑瘉">
+							<el-input v-model="queryParamsWmsStockQuan.erpVoucher" clearable="" placeholder="璇疯緭鍏RP鍑瘉" />
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="鎵�鍦ㄥ簱鍖�" prop="areaName">
+							<el-select v-model="queryParamsWmsStockQuan.areaName" placeholder="璇烽�夋嫨鎵�鍦ㄥ簱鍖�">
+								<el-option v-for="(item, index) in arr1" :key="index" :value="item.areaName" :label="`[${item.code}] ${item.value}`"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="鎵�鍦ㄥ簱浣�">
+							<el-input v-model="queryParamsWmsStockQuan.placeName" clearable="" placeholder="璇疯緭鍏ユ墍鍦ㄥ簱浣�" />
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="15" :md="12" :lg="8" :xl="5" class="mb10" v-if="showAdvanceQueryUIWmsStockQuan">
+						<el-form-item label="鎿嶄綔鏃堕棿">
+							<el-date-picker placeholder="璇烽�夋嫨鎿嶄綔鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsStockQuan.actionTimeRange" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+						<el-form-item>
+							<el-button-group style="display: flex; align-items: center">
+								<el-button type="primary" icon="ele-Search" @click="handleQueryWmsStockQuan" v-auth="'wmsStockQuan:page'" :disabled="disabled_btnWmsStockQuan"> 鏌ヨ </el-button>
+								<el-button icon="ele-Refresh" @click="resetWmsStockQuan"> 閲嶇疆 </el-button>
+								<el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsStockQuan" v-if="!showAdvanceQueryUIWmsStockQuan" style="margin-left: 5px"> 楂樼骇鏌ヨ </el-button>
+								<el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsStockQuan" v-if="showAdvanceQueryUIWmsStockQuan" style="margin-left: 5px"> 闅愯棌 </el-button>
+								<el-button type="primary" style="margin-left: 5px" icon="ele-Plus" @click="openAddWmsStockQuan" v-auth="'wmsStockQuan:add'"> 鏂板 </el-button>
+								<el-button type="primary" style="margin-left: 5px" icon="ele-Download" @click="handleExportExcelWmsStockQuan" v-auth="'wmsStockQuan:exportExcel'"> 瀵煎嚭 </el-button>
+
+								<el-button type="primary" style="margin-left: 5px" @click="handleBatchFreeze(1)" v-auth="'wmsStockQuan:exportExcel'" icon="ele-Lock"> 鍐荤粨 </el-button>
+								<el-button type="primary" style="margin-left: 5px" @click="handleBatchFreeze(2)" v-auth="'wmsStockQuan:exportExcel'" icon="ele-Unlock"> 瑙e喕 </el-button>
+							</el-button-group>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</el-card>
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table
+				ref="tableRefWmsStockQuan"
+				:data="tableDataWmsStockQuan"
+				style="width: 100%"
+				v-loading="loadingWmsStockQuan"
+				tooltip-effect="light"
+				row-key="id"
+				@sort-change="sortChangeWmsStockQuan"
+				@selection-change="materialSelectionChange"
+				show-summary
+				:summary-method="getSummaries"
+				border=""
+			>
+				<el-table-column align="center" width="60" type="selection" />
+				<el-table-column type="index" fixed="left" label="搴忓彿" width="55" align="center" />
+				<el-table-column prop="materialCode" fixed="left" width="120" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" width="140" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="usableFlagStr" label="鏄惁鍙敤" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag :type="getTagUseable(scope.row.usableFlag)">{{ scope.row.usableFlagStr }}</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="disabledReason" width="140" label="涓嶅彲鐢ㄥ師鍥�" show-overflow-tooltip="" />
+				<el-table-column prop="materialTypeName" label="鐗╂枡绫诲瀷" show-overflow-tooltip="" />
+				<el-table-column prop="quantity" label="搴撳瓨鏁�" show-overflow-tooltip="" />
+
+				<el-table-column prop="snCode" width="230" label="璺熻釜鐮�" show-overflow-tooltip="" />
+				<el-table-column prop="containerCode" width="100" label="瀹瑰櫒缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="containerTypeName" label="瀹瑰櫒绫诲瀷" show-overflow-tooltip="" />
+
+				<el-table-column prop="areaName" width="100" label="鎵�鍦ㄥ簱鍖�" show-overflow-tooltip="" />
+				<el-table-column prop="placeName" width="100" label="鎵�鍦ㄥ簱浣�" show-overflow-tooltip="" />
+				<el-table-column prop="stockStatus" label="搴撳瓨鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						{{ getEnumDesc(scope.row.stockStatus, getEnumStockStatusData_Index) }}
+					</template>
+				</el-table-column>
+				<el-table-column prop="lockStatus" label="閿佸畾鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						{{ getEnumDesc(scope.row.lockStatus, getEnumLockStatusData_Index) }}
+					</template>
+				</el-table-column>
+
+				<!-- <el-table-column prop="placeStatus" label="搴撲綅灞炴��" show-overflow-tooltip="">
+		  <template #default="scope">
+		    {{ getEnumDesc(scope.row.placeStatus, getEnumPlaceState_Index) }}
+		  </template>
+		</el-table-column> -->
+				<el-table-column prop="containerIsDisabled" label="瀹瑰櫒鏄惁绂佺敤" min-width="110px" show-overflow-tooltip="">
+					<template #default="scope">
+						{{ scope.row.containerIsDisabled ? '鏄�' : '鍚�' }}
+					</template>
+				</el-table-column>
+				<el-table-column prop="placeStatus" label="搴撲綅灞炴��" show-overflow-tooltip="">
+					<template #default="scope">
+						{{ getEnumDesc(scope.row.placeStatus, getEnumPlaceStatusData_Index) }}
+					</template>
+				</el-table-column>
+				<el-table-column prop="qcStatus" label="璐ㄦ鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						{{ getEnumDesc(scope.row.qcStatus, getEnumQCStatusData_Index) }}
+					</template>
+				</el-table-column>
+
+				<!-- <el-table-column prop="lockedQty" label="閿佸畾鏁伴噺"  show-overflow-tooltip="" /> -->
+
+				<!-- todo  鍚庨潰鐪嬫�庝箞缁熻杩欎釜搴撳瓨鏁�-->
+				<!-- <el-table-column prop="inStockQty" label="鍦ㄥ簱鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="outStockQty" label="鍑哄簱鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="inStockQty" label="鍦ㄥ簱鏁伴噺"  show-overflow-tooltip="" /> -->
+
+				<el-table-column prop="materialUnit" label="搴撳瓨鍗曚綅" show-overflow-tooltip="" />
+				<el-table-column prop="batch" label="鎵规" width="140" show-overflow-tooltip="" />
+				<el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" min-width="150px" show-overflow-tooltip="" />
+				<el-table-column prop="recordInsertTime" label="鏀惰揣鏃堕棿" width="140px" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="140px" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" width="100" show-overflow-tooltip="" />
+				<el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" width="140" show-overflow-tooltip="" />
+				<el-table-column prop="supplierBatch" label="渚涘簲鍟嗘壒娆�" width="80" show-overflow-tooltip="" />
+				<el-table-column prop="erpCode" width="100" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="sN_1d" width="180" label="涓�缁存潯鐮�"  show-overflow-tooltip="" />
+        <el-table-column prop="sN_2d" width="180" label="浜岀淮鏉$爜"  show-overflow-tooltip="" /> -->
+				<!-- <el-table-column prop="erpOrderNo" label="ERP鍗曞彿"  show-overflow-tooltip="" /> -->
+
+				<el-table-column prop="erpVoucher" width="120" label="ERP鍑瘉" show-overflow-tooltip="" />
+				<el-table-column prop="operReason" width="100" label="鎿嶄綔鍘熷洜" show-overflow-tooltip="" />
+				<el-table-column prop="operUser" width="100" label="鎿嶄綔浜�" show-overflow-tooltip="" />
+				<el-table-column prop="operTime" min-width="130px" label="鎿嶄綔鏃堕棿" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" /> -->
+				<el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsStockQuan:update') || auth('wmsStockQuan:delete')">
+					<template #default="scope">
+						<el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsStockQuan(scope.row)" v-auth="'wmsStockQuan:update'"> 缂栬緫 </el-button>
+						<el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsStockQuan(scope.row)" v-auth="'wmsStockQuan:delete'"> 鍒犻櫎 </el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="tableParamsWmsStockQuan.page"
+				v-model:page-size="tableParamsWmsStockQuan.pageSize"
+				:total="tableParamsWmsStockQuan.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsStockQuan"
+				@current-change="handleCurrentChangeWmsStockQuan"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+			<printDialogWmsStockQuan ref="printDialogRefWmsStockQuan" :title="printWmsStockQuanTitle" @reloadTable="handleQueryWmsStockQuan" />
+			<editDialogWmsStockQuan ref="editDialogRefWmsStockQuan" :title="editWmsStockQuanTitle" @reloadTable="handleQueryWmsStockQuan" @handleBatchFreezeFn="handleBatchFreezeFn" />
+		</el-card>
+	</div>
+</template>
+
+<script lang="ts" setup="" name="wmsStockQuan">
+import { ref, onMounted } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import { exportPageExcel } from '/@/utils/exportPageExcel'; //寮曞叆瀵煎嚭鏂规硶
+import editDialogWmsStockQuan from './component/editDialog.vue';
+
+import printDialogWmsStockQuan from '/@/views/system/print/component/hiprint/preview.vue';
+import {
+	pageWmsStockQuan,
+	deleteWmsStockQuan,
+	importExcelWmsStockQuan,
+	downloadExcelTemplateWmsStockQuan,
+	pageWmsStockQuanFrozen,
+	pageWmsStockQuanUnFrozen,
+} from '/@/api/main/ReportCenter/wmsStockQuan';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+import { handleSlectDataWmsArea } from '/@/utils/selectData';
+import { getTagUseable } from '/@/utils/formate';
+const getEnumPlaceState_Index = ref<any>([]);
+const getContainerIsDisabled_Index = ref<any>([]);
+const getEnumStockStatusData_Index = ref<any>([]);
+const getEnumLockStatusData_Index = ref<any>([]);
+const getEnumQCStatusData_Index = ref<any>([]);
+const getEnumUsableFlagData_Index = ref<any>([]);
+const getEnumPlaceStatusData_Index = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+
+/***************************************************[瀹炴椂搴撳瓨鎿嶄綔]寮�濮�***************************************************/
+const showAdvanceQueryUIWmsStockQuan = ref(false);
+const tableRefWmsStockQuan = ref(null);
+const printDialogRefWmsStockQuan = ref();
+const editDialogRefWmsStockQuan = ref();
+const loadingWmsStockQuan = ref(false);
+const disabled_btnWmsStockQuan = ref(false);
+const tableDataWmsStockQuan = ref<any>([]);
+const queryParamsWmsStockQuan = ref<any>({});
+const tableParamsWmsStockQuan = ref({
+	page: 1,
+	pageSize: 10,
+	total: 0,
+});
+
+const printWmsStockQuanTitle = ref('');
+const editWmsStockQuanTitle = ref('');
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUIWmsStockQuan = () => {
+	showAdvanceQueryUIWmsStockQuan.value = !showAdvanceQueryUIWmsStockQuan.value;
+};
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	getEnumPlaceStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceStatusEnum')).data.result ?? [];
+};
+// 鏌ヨ瀹炴椂搴撳瓨
+const handleQueryWmsStockQuan = async () => {
+	loadingWmsStockQuan.value = true;
+	disabled_btnWmsStockQuan.value = true;
+	var res = await pageWmsStockQuan(Object.assign(queryParamsWmsStockQuan.value, tableParamsWmsStockQuan.value));
+	if (res.data.type == 'success') {
+		tableDataWmsStockQuan.value = res.data.result?.items ?? [];
+		tableParamsWmsStockQuan.value.total = res.data.result?.total;
+	}
+	loadingWmsStockQuan.value = false;
+	disabled_btnWmsStockQuan.value = false;
+};
+
+// 閲嶇疆瀹炴椂搴撳瓨鏌ヨ
+const resetWmsStockQuan = async () => {
+	queryParamsWmsStockQuan.value = {};
+};
+
+// 瀹炴椂搴撳瓨鍒楁帓搴�
+const sortChangeWmsStockQuan = async (column: any) => {
+	queryParamsWmsStockQuan.value.field = column.prop;
+	queryParamsWmsStockQuan.value.order = column.order;
+	await handleQueryWmsStockQuan();
+};
+
+// 鎵撳紑鏂板瀹炴椂搴撳瓨椤甸潰
+const openAddWmsStockQuan = () => {
+	editDialogRefWmsStockQuan.value.openDialog(1, {});
+};
+
+// 鎵撳紑鎵撳嵃瀹炴椂搴撳瓨椤甸潰
+const openPrintWmsStockQuan = async (row: any) => {
+	printWmsStockQuanTitle.value = '鎵撳嵃瀹炴椂搴撳瓨';
+};
+
+// 鎵撳紑缂栬緫瀹炴椂搴撳瓨椤甸潰
+const openEditWmsStockQuan = (row: any) => {
+	editDialogRefWmsStockQuan.value.openDialog(row);
+};
+
+// 鍒犻櫎瀹炴椂搴撳瓨
+const delWmsStockQuan = (row: any) => {
+	ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			loadingWmsStockQuan.value = true;
+			var ret = await deleteWmsStockQuan(row);
+			if (ret.data.type == 'success') {
+				ElMessage.success('鍒犻櫎鎴愬姛');
+			}
+			loadingWmsStockQuan.value = false;
+			handleQueryWmsStockQuan();
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉瀹炴椂搴撳瓨椤甸潰瀹归噺
+const handleSizeChangeWmsStockQuan = (val: number) => {
+	tableParamsWmsStockQuan.value.pageSize = val;
+	handleQueryWmsStockQuan();
+};
+
+// 鏀瑰彉瀹炴椂搴撳瓨椤电爜搴忓彿
+const handleCurrentChangeWmsStockQuan = (val: number) => {
+	tableParamsWmsStockQuan.value.page = val;
+	handleQueryWmsStockQuan();
+};
+
+/***************************************************[瀹炴椂搴撳瓨鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[瀹炴椂搴撳瓨瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsStockQuan = {
+	getEnumStockStatusData_Index,
+	getEnumLockStatusData_Index,
+	getEnumQCStatusData_Index,
+	getEnumUsableFlagData_Index,
+	formatDate_T_Date,
+	formatDate_T_Time,
+	getContainerIsDisabled_Index,
+	getEnumPlaceState_Index,
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsStockQuan = async (formData: Blob) => {
+	loadingWmsStockQuan.value = true;
+	disabled_btnWmsStockQuan.value = true;
+	var new_tableParamsWmsStockQuan = JSON.parse(JSON.stringify(tableParamsWmsStockQuan.value));
+	new_tableParamsWmsStockQuan.page = 1;
+	new_tableParamsWmsStockQuan.pageSize = 100000;
+	var res = await pageWmsStockQuan(Object.assign(queryParamsWmsStockQuan.value, new_tableParamsWmsStockQuan));
+	if (res.data.type == 'success') {
+		exportExcelWmsStockQuan(res.data.result?.items ?? []);
+	}
+	loadingWmsStockQuan.value = false;
+	disabled_btnWmsStockQuan.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsStockQuan = async (exportDataList: Array) => {
+	exportPageExcel(exportDataList, tableRefWmsStockQuan, '瀹炴椂搴撳瓨', functionMapWmsStockQuan);
+};
+/***************************************************[瀹炴椂搴撳瓨瀵煎嚭]缁撴潫***************************************************/
+
+let arr1: any = ref(''); //涓嬫媺璇诲彇鎺ュ彛
+
+// 瀹炴椂搴撳瓨椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+	getEnumStockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? [];
+	getEnumLockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('LockStatusEnum')).data.result ?? [];
+	getContainerIsDisabled_Index.value = getEnumStockStatusData_Index.value ?? [];
+	getEnumPlaceState_Index.value = getEnumStockStatusData_Index.value ?? [];
+	getEnumQCStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockQcStatusEnum')).data.result ?? [];
+	getEnumUsableFlagData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('UsableFlagEnum')).data.result ?? [];
+	handleQuery();
+	arr1.value = await handleSlectDataWmsArea({
+		page: 1,
+		pageSize: 1000,
+		total: 0,
+		IsDisabled: false,
+	}); //涓嬫媺璇诲彇鎺ュ彛
+});
+
+handleQueryWmsStockQuan();
+
+//琛ㄦ牸姹囨��
+const getSummaries = (param: any) => {
+	const { columns, data } = param;
+	const sums: any = [];
+	columns.forEach((column, index) => {
+		if (index === 0) {
+			sums[index] = '鍚堣';
+			return;
+		}
+		//debugger
+		if (column.property != 'quantity' && column.property != 'scrapQuantity' && column.property != 'useNumber' && column.property != 'gridNumber') {
+			sums[index] = '';
+			return '';
+		}
+		const values = data.map((item) => Number(item[column.property]));
+		if (!values.every((value) => isNaN(value))) {
+			sums[index] = Number(
+				values.reduce((prev, curr) => {
+					const value = Number(curr);
+					if (!isNaN(value)) {
+						return prev + curr;
+					} else {
+						return prev;
+					}
+				}, 0)
+			).toFixed(3);
+			sums[index] += '';
+		} else {
+			sums[index] = ''; //N/A
+		}
+	});
+
+	return sums;
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+	checkedMaterial.value = val;
+};
+
+// 鍐荤粨 瑙e喕
+const handleBatchFreeze = (type: any) => {
+	debugger;
+	if (checkedMaterial.value.length <= 0) {
+		ElMessage.warning('璇烽�夋嫨涓�椤癸紒');
+		return;
+	}
+	if (type == 1) {
+		editWmsStockQuanTitle.value = '鍐荤粨';
+	}
+	if (type == 2) {
+		editWmsStockQuanTitle.value = '瑙e喕';
+	}
+	openEditWmsStockQuan(type); //鎵撳紑寮规
+};
+
+// 鍐荤粨 瑙e喕
+const handleBatchFreezeFn = async (type: any, reason?: any) => {
+	debugger;
+	if (checkedMaterial.value.length <= 0) {
+		ElMessage.warning('璇烽�夋嫨涓�椤癸紒');
+		return;
+	}
+	const handleArr: number[] = [];
+	checkedMaterial.value.forEach((item) => {
+		handleArr.push(item.id);
+	});
+
+	if (type == 1) {
+		var res = await pageWmsStockQuanFrozen({
+			wmsStockIdList: handleArr,
+			reason: reason || '',
+		});
+		if (res.data.code == 200) {
+			handleQueryWmsStockQuan();
+			ElMessage.success('鍐荤粨鎴愬姛');
+		}
+	}
+	if (type == 2) {
+		var res = await pageWmsStockQuanUnFrozen({
+			wmsStockIdList: handleArr,
+			reason: reason || '',
+		});
+		if (res.data.code == 200) {
+			handleQueryWmsStockQuan();
+			ElMessage.success('瑙e喕鎴愬姛');
+		}
+	}
+};
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockQuanOut/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockQuanOut/component/editDialog.vue
new file mode 100644
index 0000000..44243f6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockQuanOut/component/editDialog.vue
@@ -0,0 +1,380 @@
+锘�<template>
+	<div class="wmsStockQuanOut-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹瑰櫒缂栫爜" prop="containerCode">
+							<el-input v-model="ruleForm.containerCode" placeholder="璇疯緭鍏ュ鍣ㄧ紪鐮�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鍙�" prop="orderNo">
+							<el-input v-model="ruleForm.orderNo" placeholder="璇疯緭鍏ュ崟鎹彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁琛屽彿" prop="orderNoLineNumber">
+							<el-input v-model="ruleForm.orderNoLineNumber" placeholder="璇疯緭鍏ュ崟鎹鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曞彿" prop="relationNo">
+							<el-input v-model="ruleForm.relationNo" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曡鍙�" prop="relationNoLineNumber">
+							<el-input v-model="ruleForm.relationNoLineNumber" placeholder="璇疯緭鍏ュ叧鑱斿崟琛屽彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗙紪鍙�" prop="supplierCode">
+							<el-input v-model="ruleForm.supplierCode" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName">
+							<el-input v-model="ruleForm.supplierName" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏀惰揣鏃堕棿" prop="recordInsertTime">
+							<el-date-picker v-model="ruleForm.recordInsertTime" type="date" placeholder="鏀惰揣鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栫爜" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳瓨鍗曚綅" prop="materialUnit">
+							<el-input v-model="ruleForm.materialUnit" placeholder="璇疯緭鍏ュ簱瀛樺崟浣�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏁伴噺" prop="quantity">
+							<el-input v-model="ruleForm.quantity" placeholder="璇疯緭鍏ユ暟閲�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳瓨鐘舵��" prop="stockStatus">
+							<el-select clearable v-model="ruleForm.stockStatus" placeholder="璇烽�夋嫨搴撳瓨鐘舵��">
+								<el-option v-for="(item,index) in  getEnumStockStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳瓨鐘舵�佸悕绉�" prop="stockStatusName">
+							<el-input v-model="ruleForm.stockStatusName" placeholder="璇疯緭鍏ュ簱瀛樼姸鎬佸悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍘嗗彶搴撳瓨鐘舵��" prop="oldStockStatus">
+							<el-select clearable v-model="ruleForm.oldStockStatus" placeholder="璇烽�夋嫨鍘嗗彶搴撳瓨鐘舵��">
+								<el-option v-for="(item,index) in  getEnumOldStockStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍘嗗彶搴撳瓨鐘舵�佸悕绉�" prop="oldStockStatusName">
+							<el-input v-model="ruleForm.oldStockStatusName" placeholder="璇疯緭鍏ュ巻鍙插簱瀛樼姸鎬佸悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閿佸畾鐘舵��" prop="lockStatus">
+							<el-select clearable v-model="ruleForm.lockStatus" placeholder="璇烽�夋嫨閿佸畾鐘舵��">
+								<el-option v-for="(item,index) in  getEnumLockStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎿嶄綔鍘熷洜" prop="operReason">
+							<el-input v-model="ruleForm.operReason" placeholder="璇疯緭鍏ユ搷浣滃師鍥�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎿嶄綔浜�" prop="operUser">
+							<el-input v-model="ruleForm.operUser" placeholder="璇疯緭鍏ユ搷浣滀汉" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎿嶄綔鏃堕棿" prop="operTime">
+							<el-date-picker v-model="ruleForm.operTime" type="date" placeholder="鎿嶄綔鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璺熻釜鐮�" prop="sNCode">
+							<el-input v-model="ruleForm.sNCode" placeholder="璇疯緭鍏ヨ窡韪爜" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="婧愯窡韪爜" prop="sourceSNCode">
+							<el-input v-model="ruleForm.sourceSNCode" placeholder="璇疯緭鍏ユ簮璺熻釜鐮�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璺熻釜鐮佹渶澶х储寮�" prop="maxIndex">
+							<el-input-number v-model="ruleForm.maxIndex" placeholder="璇疯緭鍏ヨ窡韪爜鏈�澶х储寮�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP鍑瘉" prop="erpVoucher">
+							<el-input v-model="ruleForm.erpVoucher" placeholder="璇疯緭鍏RP鍑瘉" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
+							<el-input v-model="ruleForm.erpOrderNo" placeholder="璇疯緭鍏RP鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP搴撳瓨鍦�" prop="erpCode">
+							<el-input v-model="ruleForm.erpCode" placeholder="璇疯緭鍏RP搴撳瓨鍦�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗘壒娆�" prop="supplierBatch">
+							<el-input v-model="ruleForm.supplierBatch" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵规" prop="batch">
+							<el-input v-model="ruleForm.batch" placeholder="璇疯緭鍏ユ壒娆�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璐ㄦ鐘舵��" prop="qCStatus">
+							<el-select clearable v-model="ruleForm.qCStatus" placeholder="璇烽�夋嫨璐ㄦ鐘舵��">
+								<el-option v-for="(item,index) in  getEnumQCStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璐ㄦ鐘舵�佸悕绉�" prop="qCStatusName">
+							<el-input v-model="ruleForm.qCStatusName" placeholder="璇疯緭鍏ヨ川妫�鐘舵�佸悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="澶囨敞" prop="remarks">
+							<el-input v-model="ruleForm.remarks" placeholder="璇疯緭鍏ュ娉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsStockQuanOut, updateWmsStockQuanOut, detailWmsStockQuanOut } from "/@/api/main/ReportCenter/wmsStockQuanOut";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumStockStatusData = ref<any>([]);
+	const getEnumOldStockStatusData = ref<any>([]);
+	const getEnumLockStatusData = ref<any>([]);
+	const getEnumQCStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鐮侊紒', trigger: 'blur',},],
+		quantity: [{required: true, message: '璇疯緭鍏ユ暟閲忥紒', trigger: 'blur',},],
+		stockStatus: [{required: true, message: '璇烽�夋嫨搴撳瓨鐘舵�侊紒', trigger: 'change',},],
+		stockStatusName: [{required: true, message: '璇疯緭鍏ュ簱瀛樼姸鎬佸悕绉帮紒', trigger: 'blur',},],
+		lockStatus: [{required: true, message: '璇烽�夋嫨閿佸畾鐘舵�侊紒', trigger: 'change',},],
+		sNCode: [{required: true, message: '璇疯緭鍏ヨ窡韪爜锛�', trigger: 'blur',},],
+		sourceSNCode: [{required: true, message: '璇疯緭鍏ユ簮璺熻釜鐮侊紒', trigger: 'blur',},],
+		maxIndex: [{required: true, message: '璇疯緭鍏ヨ窡韪爜鏈�澶х储寮曪紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsStockQuanOut(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsStockQuanOut(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsStockQuanOut(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumStockStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? [];
+			getEnumOldStockStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? [];
+			getEnumLockStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('LockStatusEnum')).data.result ?? [];
+			getEnumQCStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockQcStatusEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockQuanOut/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockQuanOut/index.vue
new file mode 100644
index 0000000..58ae785
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockQuanOut/index.vue
@@ -0,0 +1,421 @@
+锘�<template>
+  <div class="wmsStockQuanOut-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsStockQuanOut" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+            <!-- ,鍗曟嵁鍙�,鍗曟嵁琛屽彿,鍏宠仈鍗曞彿,鍏宠仈鍗曡鍙�, ,ERP鍑瘉,ERP鍗曞彿,ERP搴撳瓨鍦�,渚涘簲鍟嗘壒娆�,鎵规,澶囨敞,鍒涘缓浜�,淇敼浜�,搴撳瓨鍗曚綅,鎿嶄綔鍘熷洜,鎿嶄綔浜�,璺熻釜鐮�, -->
+              <el-input v-model="queryParamsWmsStockQuanOut.searchKey" clearable="" placeholder="瀹瑰櫒缂栫爜渚涘簲鍟嗙紪鍙�,渚涘簲鍟嗗悕绉�,鐗╂枡缂栫爜,鐗╂枡鍚嶇О婧愯窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="瀹瑰櫒缂栫爜">
+              <el-input v-model="queryParamsWmsStockQuanOut.containerCode" clearable="" placeholder="璇疯緭鍏ュ鍣ㄧ紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="鍗曟嵁鍙�">
+              <el-input v-model="queryParamsWmsStockQuanOut.orderNo" clearable="" placeholder="璇疯緭鍏ュ崟鎹彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="鍗曟嵁琛屽彿">
+              <el-input v-model="queryParamsWmsStockQuanOut.orderNoLineNumber" clearable="" placeholder="璇疯緭鍏ュ崟鎹鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="鍏宠仈鍗曞彿">
+              <el-input v-model="queryParamsWmsStockQuanOut.relationNo" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="鍏宠仈鍗曡鍙�">
+              <el-input v-model="queryParamsWmsStockQuanOut.relationNoLineNumber" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟琛屽彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="渚涘簲鍟嗙紪鍙�">
+              <el-input v-model="queryParamsWmsStockQuanOut.supplierCode" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="渚涘簲鍟嗗悕绉�">
+              <el-input v-model="queryParamsWmsStockQuanOut.supplierName" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="鏀惰揣鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨鏀惰揣鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsStockQuanOut.recordInsertTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="鐗╂枡缂栫爜">
+              <el-input v-model="queryParamsWmsStockQuanOut.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsStockQuanOut.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="搴撳瓨鍗曚綅">
+              <el-input v-model="queryParamsWmsStockQuanOut.materialUnit" clearable="" placeholder="璇疯緭鍏ュ簱瀛樺崟浣�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="鏁伴噺">
+              <el-input v-model="queryParamsWmsStockQuanOut.quantity" clearable="" placeholder="璇疯緭鍏ユ暟閲�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="搴撳瓨鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsStockQuanOut.stockStatus" placeholder="璇烽�夋嫨搴撳瓨鐘舵��">
+                <el-option v-for="(item,index) in getEnumStockStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsStockQuanOut.sNCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="婧愯窡韪爜">
+              <el-input v-model="queryParamsWmsStockQuanOut.sourceSNCode" clearable="" placeholder="璇疯緭鍏ユ簮璺熻釜鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="ERP鍑瘉">
+              <el-input v-model="queryParamsWmsStockQuanOut.erpVoucher" clearable="" placeholder="璇疯緭鍏RP鍑瘉"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="ERP鍗曞彿">
+              <el-input v-model="queryParamsWmsStockQuanOut.erpOrderNo" clearable="" placeholder="璇疯緭鍏RP鍗曞彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="ERP搴撳瓨鍦�">
+              <el-input v-model="queryParamsWmsStockQuanOut.erpCode" clearable="" placeholder="璇疯緭鍏RP搴撳瓨鍦�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="渚涘簲鍟嗘壒娆�">
+              <el-input v-model="queryParamsWmsStockQuanOut.supplierBatch" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParamsWmsStockQuanOut.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="璐ㄦ鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsStockQuanOut.qCStatus" placeholder="璇烽�夋嫨璐ㄦ鐘舵��">
+                <el-option v-for="(item,index) in getEnumQCStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="澶囨敞">
+              <el-input v-model="queryParamsWmsStockQuanOut.remarks" clearable="" placeholder="璇疯緭鍏ュ娉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="鍒涘缓鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨鍒涘缓鏃堕棿" value-format="YYYY/MM/DD  HH:mm:ss" type="datetimerange" :default-time="defaultTimeRange" v-model="queryParamsWmsStockQuanOut.createTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockQuanOut">
+            <el-form-item label="鍒涘缓浜�">
+              <el-input v-model="queryParamsWmsStockQuanOut.createUserName" clearable="" placeholder="璇疯緭鍏ュ垱寤轰汉"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsStockQuanOut" v-auth="'wmsStockQuanOut:page'" :disabled="disabled_btnWmsStockQuanOut"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsStockQuanOut"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsStockQuanOut" v-if="!showAdvanceQueryUIWmsStockQuanOut" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsStockQuanOut" v-if="showAdvanceQueryUIWmsStockQuanOut" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsStockQuanOut" v-auth="'wmsStockQuanOut:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsStockQuanOut"  v-auth="'wmsStockQuanOut:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsStockQuanOut"
+				:data="tableDataWmsStockQuanOut"
+				style="width: 100%"
+				v-loading="loadingWmsStockQuanOut"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsStockQuanOut"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="containerCode" label="瀹瑰櫒缂栫爜"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="orderNo" label="鍗曟嵁鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="orderNoLineNumber" label="鍗曟嵁琛屽彿"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="relationNo" min-width="140px" label="鍏宠仈鍗曞彿"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="relationNoLineNumber" label="鍏宠仈鍗曡鍙�"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�"  show-overflow-tooltip="" />
+         <el-table-column prop="recordInsertTime" label="鏀惰揣鏃堕棿" width="80" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栫爜"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="materialUnit" label="搴撳瓨鍗曚綅"  show-overflow-tooltip="" />
+        <el-table-column prop="quantity" label="鏁伴噺"  show-overflow-tooltip="" />
+          <el-table-column prop="stockStatus" label="搴撳瓨鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.stockStatus, getEnumStockStatusData_Index)}}
+            </template>
+          </el-table-column>
+        <!-- <el-table-column prop="sNCode" label="璺熻釜鐮�"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="sourceSNCode" label="婧愯窡韪爜"  show-overflow-tooltip="" />
+        
+        <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierBatch" label="渚涘簲鍟嗘壒娆�"  show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规"  show-overflow-tooltip="" />
+          <!-- <el-table-column prop="qCStatus" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+          <el-table-column prop="erpVoucher" label="ERP鍑瘉"  show-overflow-tooltip="" />
+        <el-table-column prop="erpOrderNo" label="ERP鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="remarks" label="澶囨敞"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsStockQuanOut:update') || auth('wmsStockQuanOut:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsStockQuanOut(scope.row)" v-auth="'wmsStockQuanOut:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsStockQuanOut(scope.row)" v-auth="'wmsStockQuanOut:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsStockQuanOut.page"
+				v-model:page-size="tableParamsWmsStockQuanOut.pageSize"
+				:total="tableParamsWmsStockQuanOut.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsStockQuanOut"
+				@current-change="handleCurrentChangeWmsStockQuanOut"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsStockQuanOut
+        ref="printDialogRefWmsStockQuanOut"
+        :title="printWmsStockQuanOutTitle"
+        @reloadTable="handleQueryWmsStockQuanOut" />
+      <editDialogWmsStockQuanOut
+        ref="editDialogRefWmsStockQuanOut"
+        :title="editWmsStockQuanOutTitle"
+        @reloadTable="handleQueryWmsStockQuanOut"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsStockQuanOut">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+  import printDialogWmsStockQuanOut from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pageWmsStockQuanOut, deleteWmsStockQuanOut,importExcelWmsStockQuanOut,downloadExcelTemplateWmsStockQuanOut } from '/@/api/main/ReportCenter/wmsStockQuanOut';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumStockStatusData_Index = ref<any>([]);
+  const getEnumOldStockStatusData_Index = ref<any>([]);
+  const getEnumLockStatusData_Index = ref<any>([]);
+  const getEnumQCStatusData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[鍑哄簱搴撳瓨鏌ヨ鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsStockQuanOut = ref(false);
+  const tableRefWmsStockQuanOut = ref(null);
+  const printDialogRefWmsStockQuanOut = ref();
+  const editDialogRefWmsStockQuanOut = ref();
+  const loadingWmsStockQuanOut = ref(false);
+  const disabled_btnWmsStockQuanOut = ref(false);
+  const tableDataWmsStockQuanOut = ref<any>([]);
+  const queryParamsWmsStockQuanOut = ref<any>({});
+  const tableParamsWmsStockQuanOut = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsStockQuanOutTitle = ref("");
+  const editWmsStockQuanOutTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsStockQuanOut = () => {
+    showAdvanceQueryUIWmsStockQuanOut.value = !showAdvanceQueryUIWmsStockQuanOut.value;
+  }
+
+  // 鏌ヨ鍑哄簱搴撳瓨鏌ヨ
+  const handleQueryWmsStockQuanOut = async () => {
+    loadingWmsStockQuanOut.value = true;
+    disabled_btnWmsStockQuanOut.value = true;
+    var res = await pageWmsStockQuanOut(Object.assign(queryParamsWmsStockQuanOut.value, tableParamsWmsStockQuanOut.value));
+    if(res.data.type=="success"){
+      tableDataWmsStockQuanOut.value = res.data.result?.items ?? [];
+      tableParamsWmsStockQuanOut.value.total = res.data.result?.total;
+    }
+    loadingWmsStockQuanOut.value = false;
+    disabled_btnWmsStockQuanOut.value = false;
+  };
+
+  // 閲嶇疆鍑哄簱搴撳瓨鏌ヨ鏌ヨ
+  const resetWmsStockQuanOut = async () => {
+    queryParamsWmsStockQuanOut.value = {}
+  };
+
+  // 鍑哄簱搴撳瓨鏌ヨ鍒楁帓搴�
+  const sortChangeWmsStockQuanOut = async (column: any) => {
+	queryParamsWmsStockQuanOut.value.field = column.prop;
+	queryParamsWmsStockQuanOut.value.order = column.order;
+	await handleQueryWmsStockQuanOut();
+  };
+
+  // 鎵撳紑鏂板鍑哄簱搴撳瓨鏌ヨ椤甸潰
+  const openAddWmsStockQuanOut = () => {
+    editWmsStockQuanOutTitle.value = '娣诲姞鍑哄簱搴撳瓨鏌ヨ';
+    editDialogRefWmsStockQuanOut.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃鍑哄簱搴撳瓨鏌ヨ椤甸潰
+  const openPrintWmsStockQuanOut = async (row: any) => {
+    printWmsStockQuanOutTitle.value = '鎵撳嵃鍑哄簱搴撳瓨鏌ヨ';
+  }
+  
+  // 鎵撳紑缂栬緫鍑哄簱搴撳瓨鏌ヨ椤甸潰
+  const openEditWmsStockQuanOut = (row: any) => {
+    editWmsStockQuanOutTitle.value = '缂栬緫鍑哄簱搴撳瓨鏌ヨ';
+    editDialogRefWmsStockQuanOut.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎鍑哄簱搴撳瓨鏌ヨ
+  const delWmsStockQuanOut = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsStockQuanOut.value = true;
+    var ret = await deleteWmsStockQuanOut(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsStockQuanOut.value = false;
+    handleQueryWmsStockQuanOut();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉鍑哄簱搴撳瓨鏌ヨ椤甸潰瀹归噺
+  const handleSizeChangeWmsStockQuanOut = (val: number) => {
+    tableParamsWmsStockQuanOut.value.pageSize = val;
+    handleQueryWmsStockQuanOut();
+  };
+
+  // 鏀瑰彉鍑哄簱搴撳瓨鏌ヨ椤电爜搴忓彿
+  const handleCurrentChangeWmsStockQuanOut = (val: number) => {
+    tableParamsWmsStockQuanOut.value.page = val;
+    handleQueryWmsStockQuanOut();
+  };
+
+/***************************************************[鍑哄簱搴撳瓨鏌ヨ鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[鍑哄簱搴撳瓨鏌ヨ瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsStockQuanOut = {
+      getEnumStockStatusData_Index,
+      getEnumOldStockStatusData_Index,
+      getEnumLockStatusData_Index,
+      getEnumQCStatusData_Index,
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsStockQuanOut = async (formData:Blob) => {
+    loadingWmsStockQuanOut.value = true;
+    disabled_btnWmsStockQuanOut.value = true;
+    var new_tableParamsWmsStockQuanOut=JSON.parse(JSON.stringify(tableParamsWmsStockQuanOut.value));
+    new_tableParamsWmsStockQuanOut.page = 1;
+    new_tableParamsWmsStockQuanOut.pageSize = 100000;
+    var res = await pageWmsStockQuanOut(Object.assign(queryParamsWmsStockQuanOut.value, new_tableParamsWmsStockQuanOut));
+    if(res.data.type=="success"){
+      exportExcelWmsStockQuanOut(res.data.result?.items ?? []);
+    }
+    loadingWmsStockQuanOut.value = false;
+    disabled_btnWmsStockQuanOut.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsStockQuanOut  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsStockQuanOut,"鍑哄簱搴撳瓨鏌ヨ",functionMapWmsStockQuanOut);
+};
+/***************************************************[鍑哄簱搴撳瓨鏌ヨ瀵煎嚭]缁撴潫***************************************************/
+  // 鍑哄簱搴撳瓨鏌ヨ椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    getEnumStockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? [];
+    getEnumOldStockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? [];
+    getEnumLockStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('LockStatusEnum')).data.result ?? [];
+    getEnumQCStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockQcStatusEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsStockQuanOut();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockSnapshot/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockSnapshot/component/editDialog.vue
new file mode 100644
index 0000000..8631dd7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockSnapshot/component/editDialog.vue
@@ -0,0 +1,154 @@
+锘�<template>
+	<div class="wmsStockSnapshot-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="蹇収鍙�" prop="snapshotNo">
+							<el-input v-model="ruleForm.snapshotNo" placeholder="璇疯緭鍏ュ揩鐓у彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="澶囨敞" prop="remark">
+							<el-input v-model="ruleForm.remark" placeholder="璇疯緭鍏ュ娉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="蹇収鏃ユ湡" prop="snapshotDate">
+							<el-input v-model="ruleForm.snapshotDate" placeholder="璇疯緭鍏ュ揩鐓ф棩鏈�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsStockSnapshot, updateWmsStockSnapshot, detailWmsStockSnapshot } from "/@/api/main/ReportCenter/wmsStockSnapshot";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsStockSnapshot(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsStockSnapshot(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsStockSnapshot(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockSnapshot/component/openAllprop.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockSnapshot/component/openAllprop.vue
new file mode 100644
index 0000000..c9f0eeb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockSnapshot/component/openAllprop.vue
@@ -0,0 +1,237 @@
+<template>
+	<div>
+		<!-- 鍗曡鎯� -->
+		<el-drawer v-model="drawerVisible" :title="`${detailForm.poId}璇︽儏`" direction="rtl" size="80%" @close="handleDrawerClose">
+			<template #title>
+				<div class="slot_title">
+					<div class="title_orderNo">{{ title }}</div>
+					<div>璇︽儏</div>
+				</div>
+			</template>
+
+			<div class="detailBoxWrap">
+				<!-- 璇︽儏缁勪欢 -->
+				<open-details ref="propDetailRef"></open-details>
+				<div class="msi-form">
+					<el-form :model="detailForm">
+						<el-row>
+							<el-col :span="6">
+								<el-form-item label="鐗╂枡缂栧彿">
+									<el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+								</el-form-item>
+							</el-col>
+							<el-col :span="4">
+								<el-form-item label-width="20px">
+									<el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+									<el-button type="primary" style="margin-left: 5px" icon="ele-Download" @click="handleExportExcelWmsStockSnapshot" v-auth="'wmsStockSnapshot:exportExcel'"> 瀵煎嚭 </el-button>
+								</el-form-item>
+							</el-col>
+						</el-row>
+					</el-form>
+				</div>
+				<div class="msi-content">
+					<el-table :data="drawerList" border striped :max-height="480" ref="tableRefWmsStockSnapshot" :summary-method="getExportTitle" show-summary>
+						<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+						<el-table-column prop="materialCode" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+						<el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+						<el-table-column prop="materialUnit" label="鍗曚綅" show-overflow-tooltip="" />
+						<el-table-column prop="areaCode" label="搴撳尯缂栧彿" show-overflow-tooltip="" />
+						<el-table-column prop="areaName" label="搴撳尯鍚嶇О" show-overflow-tooltip="" />
+						<el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
+					</el-table>
+					<Pagination :total="detailCount" v-model:page="detailForm.Page" v-model:limit="detailForm.PageSize" @pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+					<div></div>
+				</div>
+			</div>
+		</el-drawer>
+	</div>
+</template>
+<script lang="ts" setup>
+import Pagination from '/@/components/Pagination/index.vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import { ref, nextTick, computed, getCurrentInstance, watch, defineExpose, defineProps, onMounted } from 'vue';
+import { exportPageExcel } from '/@/utils/exportPageExcel'; //寮曞叆瀵煎嚭鏂规硶
+import { wmsStockWarning, historialStockPage } from '/@/api/main/inventoryWarning/inventoryWarning';
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import commonFunction from '/@/utils/commonFunction';
+import { ExcellTableDataExport } from '/@/hooks/exportTableDataExcell';
+
+const jsonExcellTableExport = {
+	titleName: '', //瀵煎嚭琛ㄦ牸鍚嶇О
+	interfaceListName: '', //瀵煎嚭鎺ュ彛鍚嶇О
+};
+
+const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport);
+
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(['getTabelData']);
+
+const props = defineProps({
+	titleAuthor: {
+		type: Number,
+		required: true,
+	},
+	hexiao: {
+		type: Number,
+		default: 1,
+		required: true,
+	},
+});
+//鎺у埗璁㈠崟绫诲瀷
+const titleAuthor = computed(() => props.titleAuthor);
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+	materialCode: '',
+	begineTime: '',
+	snapshotId:'',
+	Page: 1,
+	PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref('drawerAll');
+// const
+//鍗曞彿
+const purchaseNo = ref('');
+function convertToDate(number:any) {
+	const year = Math.floor(number / 10000);
+	const month = Math.floor((number % 10000) / 100);
+	const day = number % 100;
+
+	const date = new Date(year, month - 1, day); // 鏈堜唤鏄粠0寮�濮嬬殑锛屾墍浠ヨ鍑�1
+	return date.toISOString().split('T')[0]; // 杞崲涓哄瓧绗︿覆骞跺幓鎺夋椂闂撮儴鍒�
+}
+let scopetrans = '';
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+	detailForm.value.Page = 1; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+	detailForm.value.PageSize = 10; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+	if (scope.snapshotNo) {
+		title.value = `${scope.snapshotNo}`;
+	}
+	drawerType.value = 'drawerAll';
+	drawerVisible.value = true;
+	// detailForm.value.begineTime = convertToDate(scope.snapshotDate) + ' 00:00:00';
+	detailForm.value.snapshotId = scope.id;
+	debugger
+	purchaseNo.value = scope.snapshotNo;
+	//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	getDetail();
+	//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+
+	scopetrans = JSON.parse(JSON.stringify(scope));
+	nextTick(() => {
+		proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+	});
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+	detailForm.value = {
+		materialCode: '',
+		begineTime: '',
+		snapshotId:'',
+		Page: 1,
+		PageSize: 10,
+	};
+	deltailList.value = [];
+	detailCount.value = 0;
+	drawerList.value = [];
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+	id: number;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref('');
+//鑾峰彇鍏ュ簱鍗曚笅鐗╂枡璇︽儏
+const getDetail = async (callback?: any) => {
+	loading.value = true;
+	var res = await historialStockPage(Object.assign(detailForm.value));
+	drawerList.value = res.data.result?.items ?? [];
+	detailCount.value = res.data.result?.total;
+	loading.value = false;
+};
+
+const tableRefWmsStockSnapshot = ref(null);
+const loadingWmsStockSnapshot = ref(false);
+const disabled_btnWmsStockSnapshot = ref(false);
+const queryParamsWmsStockSnapshot = ref<any>({});
+const tableParamsWmsStockSnapshot = ref({
+	page: 1,
+	pageSize: 10,
+	total: 0,
+});
+
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsStockSnapshot = async () => {
+	loadingWmsStockSnapshot.value = true;
+	disabled_btnWmsStockSnapshot.value = true;
+	var new_tableParamsWmsStockSnapshot = JSON.parse(JSON.stringify(tableParamsWmsStockSnapshot.value));
+	new_tableParamsWmsStockSnapshot.page = 1;
+	new_tableParamsWmsStockSnapshot.pageSize = 100000;
+	// new_tableParamsWmsStockSnapshot.begineTime = detailForm.value.begineTime;
+	new_tableParamsWmsStockSnapshot.snapshotId = detailForm.value.snapshotId;
+	var res = await historialStockPage(Object.assign(queryParamsWmsStockSnapshot.value, new_tableParamsWmsStockSnapshot));
+	if (res.data.type == 'success') {
+		exportExcelWmsStockSnapshot(res.data.result?.items ?? []);
+	}
+	loadingWmsStockSnapshot.value = false;
+	disabled_btnWmsStockSnapshot.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsStockSnapshot = async (exportDataList: Array) => {
+	exportPageExcel(exportDataList, tableRefWmsStockSnapshot, '搴撳瓨蹇収', functionMapWmsStockSnapshot);
+};
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsStockSnapshot = {
+	formatDate_T_Date,
+	formatDate_T_Time,
+};
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {});
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+	margin: 10px;
+}
+
+.msi-form {
+	margin-top: 10px;
+}
+.msi-form {
+	margin-bottom: 10px;
+}
+.slot_title {
+	display: flex;
+	align-items: center;
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #f18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockSnapshot/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockSnapshot/index.vue
new file mode 100644
index 0000000..3df8c27
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsStockSnapshot/index.vue
@@ -0,0 +1,292 @@
+锘�<template>
+	<div class="wmsStockSnapshot-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="queryParamsWmsStockSnapshot" ref="queryForm" labelWidth="90">
+				<el-row>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+						<el-form-item label="鍏抽敭瀛�">
+							<el-input v-model="queryParamsWmsStockSnapshot.searchKey" clearable="" placeholder="蹇収鍙�,鍒涘缓浜�,淇敼浜�,蹇収鏃ユ湡" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshot">
+						<el-form-item label="蹇収鍙�">
+							<el-input v-model="queryParamsWmsStockSnapshot.snapshotNo" clearable="" placeholder="璇疯緭鍏ュ揩鐓у彿" />
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+						<el-form-item label="蹇収鏃ユ湡" prop="snapshotDate" v-if="showAdvanceQueryUIWmsStockSnapshot">
+							<el-date-picker v-model="queryParamsWmsStockSnapshot.snapshotDate" type="date" placeholder="蹇収鏃ユ湡" style="width: 100%" format="YYYY-MM-DD" value-format="YYYYMMDD" />
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+						<el-form-item>
+							<el-button-group style="display: flex; align-items: center">
+								<el-button type="primary" icon="ele-Search" @click="handleQueryWmsStockSnapshot" v-auth="'wmsStockSnapshot:page'" :disabled="disabled_btnWmsStockSnapshot"> 鏌ヨ </el-button>
+								<el-button icon="ele-Refresh" @click="resetWmsStockSnapshot"> 閲嶇疆 </el-button>
+								<el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsStockSnapshot" v-if="!showAdvanceQueryUIWmsStockSnapshot" style="margin-left: 5px"> 楂樼骇鏌ヨ </el-button>
+								<el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsStockSnapshot" v-if="showAdvanceQueryUIWmsStockSnapshot" style="margin-left: 5px"> 闅愯棌 </el-button>
+								<!-- <el-button type="primary" style="margin-left: 5px" icon="ele-Plus" @click="openAddWmsStockSnapshot" v-auth="'wmsStockSnapshot:add'"> 鏂板 </el-button>
+								<el-button type="primary" style="margin-left: 5px" icon="ele-Upload" @click="openImportExcelWmsStockSnapshot" v-auth="'wmsStockSnapshot:importExcel'"> 瀵煎叆 </el-button>
+						 -->
+								<!-- <el-button type="primary" style="margin-left: 5px" icon="ele-Download" @click="handleExportExcelWmsStockSnapshot" v-auth="'wmsStockSnapshot:exportExcel'"> 瀵煎嚭 </el-button> -->
+							</el-button-group>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</el-card>
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table
+				ref="tableRefWmsStockSnapshot"
+				:data="tableDataWmsStockSnapshot"
+				style="width: 100%"
+				v-loading="loadingWmsStockSnapshot"
+				tooltip-effect="light"
+				row-key="id"
+				@sort-change="sortChangeWmsStockSnapshot"
+				:summary-method="getExportTitle"
+				show-summary
+				border=""
+			>
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+				<el-table-column label="蹇収鍙�" prop="snapshotNo" width="150" align="left" show-overflow-tooltip>
+					<template #default="scope">
+						<span class="under_line" @click="openDrawer(1, scope.row)">
+							{{ scope.row.snapshotNo }}
+						</span>
+					</template>
+				</el-table-column>
+				<el-table-column prop="snapshotDate" label="蹇収鏃ユ湡" show-overflow-tooltip="" />
+				<el-table-column prop="remark" label="澶囨敞" show-overflow-tooltip="" />
+				<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+				<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+				<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+
+				<!-- <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsStockSnapshot:update') || auth('wmsStockSnapshot:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsStockSnapshot(scope.row)" v-auth="'wmsStockSnapshot:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsStockSnapshot(scope.row)" v-auth="'wmsStockSnapshot:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column> -->
+			</el-table>
+			<el-pagination
+				v-model:currentPage="tableParamsWmsStockSnapshot.page"
+				v-model:page-size="tableParamsWmsStockSnapshot.pageSize"
+				:total="tableParamsWmsStockSnapshot.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsStockSnapshot"
+				@current-change="handleCurrentChangeWmsStockSnapshot"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+			<printDialogWmsStockSnapshot ref="printDialogRefWmsStockSnapshot" :title="printWmsStockSnapshotTitle" @reloadTable="handleQueryWmsStockSnapshot" />
+			<editDialogWmsStockSnapshot ref="editDialogRefWmsStockSnapshot" :title="editWmsStockSnapshotTitle" @reloadTable="handleQueryWmsStockSnapshot" />
+			<importExcelDialog
+				ref="importExcelDialogRefWmsStockSnapshot"
+				:title="importExcelTitleWmsStockSnapshot"
+				@parentUploadFun="handleImportExcelWmsStockSnapshot"
+				@parentDownFun="handleDownExcelWmsStockSnapshot"
+			/>
+		</el-card>
+
+		<!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 -->
+		<open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQueryWmsStockSnapshot"></open-allprop>
+	</div>
+</template>
+
+<script lang="ts" setup="" name="wmsStockSnapshot">
+import { ref, onMounted, getCurrentInstance } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import importExcelDialog from '/@/components/importExcel/index.vue'; //寮曞叆瀵煎叆缁勪欢
+import { exportPageExcel } from '/@/utils/exportPageExcel'; //寮曞叆瀵煎嚭鏂规硶
+import { historialStockPage } from '/@/api/main/inventoryWarning/inventoryWarning';
+import printDialogWmsStockSnapshot from '/@/views/system/print/component/hiprint/preview.vue';
+import editDialogWmsStockSnapshot from '/@/views/main/ReportCenter/wmsStockSnapshot/component/editDialog.vue';
+import { pageWmsStockSnapshot, deleteWmsStockSnapshot, importExcelWmsStockSnapshot, downloadExcelTemplateWmsStockSnapshot } from '/@/api/main/ReportCenter/wmsStockSnapshot';
+
+import OpenAllprop from './component/openAllprop.vue';
+import { ExcellTableDataExport } from '/@/hooks/exportTableDataExcell';
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+// ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
+const jsonExcellTableExport = {
+	titleName: '', //瀵煎嚭琛ㄦ牸鍚嶇О
+	interfaceListName: '', //瀵煎嚭鎺ュ彛鍚嶇О
+};
+const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport);
+// --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬-----------------
+
+// ---------------璇︽儏-----------------------
+const openDrawer = (type: number, item?: any) => {
+	proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell);
+};
+// ---------------end璇︽儏-----------------------
+
+/***************************************************[搴撳瓨蹇収鎿嶄綔]寮�濮�***************************************************/
+const showAdvanceQueryUIWmsStockSnapshot = ref(false);
+const tableRefWmsStockSnapshot = ref(null);
+const printDialogRefWmsStockSnapshot = ref();
+const editDialogRefWmsStockSnapshot = ref();
+const loadingWmsStockSnapshot = ref(false);
+const disabled_btnWmsStockSnapshot = ref(false);
+const tableDataWmsStockSnapshot = ref<any>([]);
+const queryParamsWmsStockSnapshot = ref<any>({});
+const tableParamsWmsStockSnapshot = ref({
+	page: 1,
+	pageSize: 10,
+	total: 0,
+});
+
+const printWmsStockSnapshotTitle = ref('');
+const editWmsStockSnapshotTitle = ref('');
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUIWmsStockSnapshot = () => {
+	showAdvanceQueryUIWmsStockSnapshot.value = !showAdvanceQueryUIWmsStockSnapshot.value;
+};
+
+// 鏌ヨ搴撳瓨蹇収
+const handleQueryWmsStockSnapshot = async () => {
+	loadingWmsStockSnapshot.value = true;
+	disabled_btnWmsStockSnapshot.value = true;
+	var res = await pageWmsStockSnapshot(Object.assign(queryParamsWmsStockSnapshot.value, tableParamsWmsStockSnapshot.value));
+	if (res.data.type == 'success') {
+		tableDataWmsStockSnapshot.value = res.data.result?.items ?? [];
+		tableParamsWmsStockSnapshot.value.total = res.data.result?.total;
+	}
+	loadingWmsStockSnapshot.value = false;
+	disabled_btnWmsStockSnapshot.value = false;
+};
+
+// 閲嶇疆搴撳瓨蹇収鏌ヨ
+const resetWmsStockSnapshot = async () => {
+	queryParamsWmsStockSnapshot.value = {};
+};
+
+// 搴撳瓨蹇収鍒楁帓搴�
+const sortChangeWmsStockSnapshot = async (column: any) => {
+	queryParamsWmsStockSnapshot.value.field = column.prop;
+	queryParamsWmsStockSnapshot.value.order = column.order;
+	await handleQueryWmsStockSnapshot();
+};
+
+// 鎵撳紑鏂板搴撳瓨蹇収椤甸潰
+const openAddWmsStockSnapshot = () => {
+	editWmsStockSnapshotTitle.value = '娣诲姞搴撳瓨蹇収';
+	editDialogRefWmsStockSnapshot.value.openDialog(1, {});
+};
+
+// 鎵撳紑鎵撳嵃搴撳瓨蹇収椤甸潰
+const openPrintWmsStockSnapshot = async (row: any) => {
+	printWmsStockSnapshotTitle.value = '鎵撳嵃搴撳瓨蹇収';
+};
+
+// 鎵撳紑缂栬緫搴撳瓨蹇収椤甸潰
+const openEditWmsStockSnapshot = (row: any) => {
+	editWmsStockSnapshotTitle.value = '缂栬緫搴撳瓨蹇収';
+	editDialogRefWmsStockSnapshot.value.openDialog(2, row);
+};
+
+// 鍒犻櫎搴撳瓨蹇収
+const delWmsStockSnapshot = (row: any) => {
+	ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			loadingWmsStockSnapshot.value = true;
+			var ret = await deleteWmsStockSnapshot(row);
+			if (ret.data.type == 'success') {
+				ElMessage.success('鍒犻櫎鎴愬姛');
+			}
+			loadingWmsStockSnapshot.value = false;
+			handleQueryWmsStockSnapshot();
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉搴撳瓨蹇収椤甸潰瀹归噺
+const handleSizeChangeWmsStockSnapshot = (val: number) => {
+	tableParamsWmsStockSnapshot.value.pageSize = val;
+	handleQueryWmsStockSnapshot();
+};
+
+// 鏀瑰彉搴撳瓨蹇収椤电爜搴忓彿
+const handleCurrentChangeWmsStockSnapshot = (val: number) => {
+	tableParamsWmsStockSnapshot.value.page = val;
+	handleQueryWmsStockSnapshot();
+};
+
+/***************************************************[搴撳瓨蹇収鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[搴撳瓨蹇収瀵煎叆]寮�濮�***************************************************/
+const importExcelTitleWmsStockSnapshot = ref('');
+const importExcelDialogRefWmsStockSnapshot = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsStockSnapshot = () => {
+	importExcelTitleWmsStockSnapshot.value = '瀵煎叆搴撳瓨蹇収';
+	importExcelDialogRefWmsStockSnapshot.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsStockSnapshot = async (formData: Blob) => {
+	var result = await importExcelWmsStockSnapshot(formData);
+	importExcelDialogRefWmsStockSnapshot.value.callBackUploadFun(result.data); //鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+	if (result.data.type == 'success') {
+		handleQueryWmsStockSnapshot();
+	}
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsStockSnapshot = async () => {
+	var result = await downloadExcelTemplateWmsStockSnapshot();
+	importExcelDialogRefWmsStockSnapshot.value.callBackDownFun(result); //鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[搴撳瓨蹇収瀵煎叆]缁撴潫***************************************************/
+/***************************************************[搴撳瓨蹇収瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsStockSnapshot = {
+	formatDate_T_Date,
+	formatDate_T_Time,
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsStockSnapshot = async (snapshotDate: string) => {
+	loadingWmsStockSnapshot.value = true;
+	disabled_btnWmsStockSnapshot.value = true;
+	var new_tableParamsWmsStockSnapshot = JSON.parse(JSON.stringify(tableParamsWmsStockSnapshot.value));
+	new_tableParamsWmsStockSnapshot.page = 1;
+	new_tableParamsWmsStockSnapshot.pageSize = 100000;
+	new_tableParamsWmsStockSnapshot.begineTime = snapshotDate;
+	var res = await historialStockPage(Object.assign(queryParamsWmsStockSnapshot.value, new_tableParamsWmsStockSnapshot));
+	if (res.data.type == 'success') {
+		exportExcelWmsStockSnapshot(res.data.result?.items ?? []);
+	}
+	loadingWmsStockSnapshot.value = false;
+	disabled_btnWmsStockSnapshot.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsStockSnapshot = async (exportDataList: Array) => {
+	exportPageExcel(exportDataList, tableRefWmsStockSnapshot, '搴撳瓨蹇収', functionMapWmsStockSnapshot);
+};
+/***************************************************[搴撳瓨蹇収瀵煎嚭]缁撴潫***************************************************/
+// 搴撳瓨蹇収椤甸潰鍔犺浇鏃�
+onMounted(async () => {});
+
+handleQueryWmsStockSnapshot();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+.under_line {
+	color: #f18201;
+	text-decoration: underline;
+	cursor: pointer;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsTask/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsTask/component/editDialog.vue
new file mode 100644
index 0000000..46f124e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsTask/component/editDialog.vue
@@ -0,0 +1,141 @@
+锘�<template>
+	<div class="wmsTask-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsTask, updateWmsTask, detailWmsTask } from "/@/api/main/ReportCenter/wmsTask";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumMoveTypeData = ref<any>([]);
+	const getEnumBusinessTypeData = ref<any>([]);
+	const getEnumTaskStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsTask(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsTask(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsTask(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumMoveTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('MoveTypeEnum')).data.result ?? [];
+	
+			getEnumTaskStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TaskStatusEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsTask/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsTask/index.vue
new file mode 100644
index 0000000..edfeeba
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsTask/index.vue
@@ -0,0 +1,359 @@
+锘�<template>
+  <div class="wmsTask-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsTask" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsTask.searchKey" clearable="" placeholder="浠诲姟鍙�,浠诲姟鍚嶇О,浠诲姟鎻忚堪,浠诲姟娑堟伅,鍗曟嵁鍙�,鍏宠仈鍗曞彿,瀹瑰櫒缂栧彿,鍒涘缓浜�,淇敼浜�,浠诲姟鐘舵�佸悕绉�,璧峰搴撲綅缂栧彿,鐩爣搴撳尯缂栧彿,鐩爣搴撲綅缂栧彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="浠诲姟鍙�">
+              <el-input v-model="queryParamsWmsTask.taskNo" clearable="" placeholder="璇疯緭鍏ヤ换鍔″彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="浠诲姟鍚嶇О">
+              <el-input v-model="queryParamsWmsTask.taskName" clearable="" placeholder="璇疯緭鍏ヤ换鍔″悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="绉诲姩绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsTask.moveType" placeholder="璇烽�夋嫨绉诲姩绫诲瀷">
+                <el-option v-for="(item,index) in getEnumMoveTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="涓氬姟绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsTask.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+                <el-option v-for="(item,index) in getEnumBusinessTypeData_Index" :key="index" :value="item.businessTypeValue" :label="`${item.businessTypeName}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="浠诲姟鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsTask.taskStatus" placeholder="璇烽�夋嫨浠诲姟鐘舵��">
+                <el-option v-for="(item,index) in getEnumTaskStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="鍗曟嵁鍙�">
+              <el-input v-model="queryParamsWmsTask.orderNo" clearable="" placeholder="璇疯緭鍏ュ崟鎹彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="鍏宠仈鍗曞彿">
+              <el-input v-model="queryParamsWmsTask.relationNo" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="瀹瑰櫒缂栧彿">
+              <el-input v-model="queryParamsWmsTask.containerCode" clearable="" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="浠诲姟瀹屾垚鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨浠诲姟瀹屾垚鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsTask.finishedTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="鏄惁鏍囪寮哄埗瀹屾垚">
+              <el-select clearable="" v-model="queryParamsWmsTask.isFlagFinish" placeholder="璇烽�夋嫨鏄惁鏍囪寮哄埗瀹屾垚">
+                <el-option v-for="(item,index) in getEnumIsFlagFinishData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="浠诲姟鐘舵�佸悕绉�">
+              <el-input v-model="queryParamsWmsTask.taskStatusName" clearable="" placeholder="璇疯緭鍏ヤ换鍔$姸鎬佸悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="涓嬪彂鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨涓嬪彂鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsTask.issueTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="璧峰搴撲綅缂栧彿">
+              <el-input v-model="queryParamsWmsTask.sourcePlaceCode" clearable="" placeholder="璇疯緭鍏ヨ捣濮嬪簱浣嶇紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="鐩爣搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsTask.toAreaCode" clearable="" placeholder="璇疯緭鍏ョ洰鏍囧簱鍖虹紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsTask">
+            <el-form-item label="鐩爣搴撲綅缂栧彿">
+              <el-input v-model="queryParamsWmsTask.toPlaceCode" clearable="" placeholder="璇疯緭鍏ョ洰鏍囧簱浣嶇紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsTask" v-auth="'wmsTask:page'" :disabled="disabled_btnWmsTask"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsTask"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsTask" v-if="!showAdvanceQueryUIWmsTask" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsTask" v-if="showAdvanceQueryUIWmsTask" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsTask" v-auth="'wmsTask:add'"> 鏂板 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsTask"
+				:data="tableDataWmsTask"
+				style="width: 100%"
+				v-loading="loadingWmsTask"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsTask"
+				border="">
+        <el-table-column type="index" label="搴忓彿" fixed="left" width="55" align="center"/>
+        <el-table-column prop="taskNo" fixed="left" label="浠诲姟鍙�" min-width="120px"  show-overflow-tooltip="" />
+        <el-table-column prop="taskName" label="浠诲姟鍚嶇О" min-width="110px" show-overflow-tooltip="" />
+          <el-table-column prop="moveType" label="绉诲姩绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.moveType, getEnumMoveTypeData_Index)}}
+            </template>
+          </el-table-column>
+          <el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" min-width="110px" show-overflow-tooltip="" >
+          </el-table-column>
+          <el-table-column prop="taskStatus" label="浠诲姟鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.taskStatus, getEnumTaskStatusData_Index))">{{ getEnumDesc(scope.row.taskStatus, getEnumTaskStatusData_Index) }} </el-tag>
+            </template>
+          </el-table-column>
+          
+        <el-table-column prop="containerCode" label="瀹瑰櫒缂栧彿" min-width="120px" show-overflow-tooltip="" />
+        <el-table-column prop="issueTime" label="涓嬪彂鏃堕棿" width="80" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="toAreaCode"  width="100"  label="鐩爣搴撳尯缂栧彿"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="sourcePlaceCode"  width="100" label="璧峰搴撲綅缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="toPlaceCode"  width="100"  label="鐩爣搴撲綅缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="orderNo" label="鍗曟嵁鍙�" min-width="180px" show-overflow-tooltip="" />
+        <el-table-column prop="taskDescribe" label="浠诲姟鎻忚堪"  show-overflow-tooltip="" />
+        <el-table-column prop="taskMsg" label="浠诲姟娑堟伅"  show-overflow-tooltip="" />
+        <el-table-column prop="taskPriority" label="浼樺厛绾�"  show-overflow-tooltip="" />
+        <el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" min-width="180px" show-overflow-tooltip="" />
+        <!-- <el-table-column prop="lane" label="宸烽亾"  show-overflow-tooltip="" />
+        <el-table-column prop="row" label="鎺�"  show-overflow-tooltip="" />
+        <el-table-column prop="detectionHeight" label="妫�娴嬮珮搴�"  show-overflow-tooltip="" /> -->
+         <el-table-column prop="finishedTime" label="浠诲姟瀹屾垚鏃堕棿" min-width="100px" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+        <el-table-column prop="isFlagFinish" label="鏄惁鏍囪寮哄埗瀹屾垚" min-width="120px" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isFlagFinish"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsTask:update') || auth('wmsTask:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsTask(scope.row)" v-auth="'wmsTask:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsTask(scope.row)" v-auth="'wmsTask:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsTask.page"
+				v-model:page-size="tableParamsWmsTask.pageSize"
+				:total="tableParamsWmsTask.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsTask"
+				@current-change="handleCurrentChangeWmsTask"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsTask
+        ref="printDialogRefWmsTask"
+        :title="printWmsTaskTitle"
+        @reloadTable="handleQueryWmsTask" />
+      <editDialogWmsTask
+        ref="editDialogRefWmsTask"
+        :title="editWmsTaskTitle"
+        @reloadTable="handleQueryWmsTask"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsTask">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+
+  import {
+	getTypeStatus
+} from "/@/utils/formate";
+  import printDialogWmsTask from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pageWmsTask, deleteWmsTask,importExcelWmsTask,downloadExcelTemplateWmsTask } from '/@/api/main/ReportCenter/wmsTask';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+import { listWmsBusinessType, pageWmsBusinessType } from "/@/api/main/WmsBase/wmsBusinessType";
+
+  const getEnumMoveTypeData_Index = ref<any>([]);
+  const getEnumBusinessTypeData_Index = ref<any>([]);
+  const getEnumTaskStatusData_Index = ref<any>([]);
+  const getEnumIsFlagFinishData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[璋冨害浠诲姟鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsTask = ref(false);
+  const tableRefWmsTask = ref(null);
+  const printDialogRefWmsTask = ref();
+  const editDialogRefWmsTask = ref();
+  const loadingWmsTask = ref(false);
+  const disabled_btnWmsTask = ref(false);
+  const tableDataWmsTask = ref<any>([]);
+  const queryParamsWmsTask = ref<any>({});
+  const tableParamsWmsTask = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsTaskTitle = ref("");
+  const editWmsTaskTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsTask = () => {
+    showAdvanceQueryUIWmsTask.value = !showAdvanceQueryUIWmsTask.value;
+  }
+
+  // 鏌ヨ璋冨害浠诲姟
+  const handleQueryWmsTask = async () => {
+    loadingWmsTask.value = true;
+    disabled_btnWmsTask.value = true;
+    var res = await pageWmsTask(Object.assign(queryParamsWmsTask.value, tableParamsWmsTask.value));
+    if(res.data.type=="success"){
+      tableDataWmsTask.value = res.data.result?.items ?? [];
+      tableParamsWmsTask.value.total = res.data.result?.total;
+    }
+    loadingWmsTask.value = false;
+    disabled_btnWmsTask.value = false;
+  };
+
+  // 閲嶇疆璋冨害浠诲姟鏌ヨ
+  const resetWmsTask = async () => {
+    queryParamsWmsTask.value = {}
+  };
+
+  // 璋冨害浠诲姟鍒楁帓搴�
+  const sortChangeWmsTask = async (column: any) => {
+	queryParamsWmsTask.value.field = column.prop;
+	queryParamsWmsTask.value.order = column.order;
+	await handleQueryWmsTask();
+  };
+
+  // 鎵撳紑鏂板璋冨害浠诲姟椤甸潰
+  const openAddWmsTask = () => {
+    editWmsTaskTitle.value = '娣诲姞璋冨害浠诲姟';
+    editDialogRefWmsTask.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃璋冨害浠诲姟椤甸潰
+  const openPrintWmsTask = async (row: any) => {
+    printWmsTaskTitle.value = '鎵撳嵃璋冨害浠诲姟';
+  }
+  
+  // 鎵撳紑缂栬緫璋冨害浠诲姟椤甸潰
+  const openEditWmsTask = (row: any) => {
+    editWmsTaskTitle.value = '缂栬緫璋冨害浠诲姟';
+    editDialogRefWmsTask.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎璋冨害浠诲姟
+  const delWmsTask = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsTask.value = true;
+    var ret = await deleteWmsTask(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsTask.value = false;
+    handleQueryWmsTask();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉璋冨害浠诲姟椤甸潰瀹归噺
+  const handleSizeChangeWmsTask = (val: number) => {
+    tableParamsWmsTask.value.pageSize = val;
+    handleQueryWmsTask();
+  };
+
+  // 鏀瑰彉璋冨害浠诲姟椤电爜搴忓彿
+  const handleCurrentChangeWmsTask = (val: number) => {
+    tableParamsWmsTask.value.page = val;
+    handleQueryWmsTask();
+  };
+
+/***************************************************[璋冨害浠诲姟鎿嶄綔]缁撴潫***************************************************/
+  // 璋冨害浠诲姟椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    getEnumMoveTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('MoveTypeEnum')).data.result ?? [];
+
+    getEnumTaskStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TaskStatusEnum')).data.result ?? [];
+    getEnumIsFlagFinishData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+
+    //涓氬姟绫诲瀷
+    var res = await listWmsBusinessType();
+    res = res.data;
+    if(res && res.code == 200){
+      getEnumBusinessTypeData_Index.value  = res?.result ?? [];
+    }
+    
+  });
+
+  handleQueryWmsTask();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterCategories/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterCategories/component/editDialog.vue
new file mode 100644
index 0000000..4933e68
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterCategories/component/editDialog.vue
@@ -0,0 +1,149 @@
+锘�<template>
+	<div class="adapterCategories-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁澶х被鍚嶇О" prop="categoryName">
+							<el-input v-model="ruleForm.categoryName" placeholder="璇疯緭鍏ュ崟鎹ぇ绫诲悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閫傞厤鍣ㄦ暟閲�" prop="adapterNumber">
+							<el-input-number v-model="ruleForm.adapterNumber" placeholder="璇疯緭鍏ラ�傞厤鍣ㄦ暟閲�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addAdapterCategories, updateAdapterCategories, detailAdapterCategories } from "/@/api/main/SoftwareAdapterService/adapterCategories";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		categoryName: [{required: true, message: '璇疯緭鍏ュ崟鎹ぇ绫诲悕绉帮紒', trigger: 'blur',},],
+		adapterNumber: [{required: true, message: '璇疯緭鍏ラ�傞厤鍣ㄦ暟閲忥紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailAdapterCategories(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addAdapterCategories(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateAdapterCategories(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterCategories/component/openAllprop.vue b/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterCategories/component/openAllprop.vue
new file mode 100644
index 0000000..e1ca3b9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterCategories/component/openAllprop.vue
@@ -0,0 +1,1448 @@
+<template>
+  <!-- 娣诲姞銆佺紪杈� -->
+  <el-dialog v-model="dialogVisible" width="95%" @close="closeDialog" :close-on-click-modal="false">
+    <template #header>
+      <div style="color: #fff">
+        <span>{{ dialogType == "add" ? "娣诲姞" : "缂栬緫" }}</span>
+      </div>
+    </template>
+
+    <el-form :model="addForm" ref="dialogRef" labelWidth="90" :rules="formRules">
+      <el-row>
+        <!-- <el-col :span="8">
+          <el-form-item label="鍗曞彿:" prop="purchaseNo">
+            <el-input v-model="addForm.purchaseNo" :disabled="dialogType == 'edit'" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+          </el-form-item>
+        </el-col> -->
+
+        <!-- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20">
+          <el-form-item label="璁㈠崟绫诲瀷" prop="orderType">
+            <el-select :disabled="dialogType != 'add'" clearable v-model="addForm.orderType" placeholder="璇烽�夋嫨璁㈠崟绫诲瀷">
+              <el-option
+                v-for="(item, index) in getEnumOrderTypeData"
+                :key="index"
+                :value="item.value"
+                :label="`${item.describe}`"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col> -->
+        <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20">
+          <el-form-item label="涓氬姟绫诲瀷" prop="businessType">
+            <!-- <el-select clearable v-model="addForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumBusinessTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select> -->
+
+            <el-select clearable v-model="addForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+              <el-option v-for="(item, index) in  getBusinessTypeData_Index" :key="index" :value="item.businessTypeValue"
+                :label="`[${item.businessTypeValue}] ${item.businessTypeName}`"></el-option>
+
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20">
+          <el-form-item label="渚涘簲鍟�" prop="supplierCode">
+            <el-select v-model="addForm.supplierCode" filterable remote reserve-keyword remote-show-suffix
+              :remote-method="remoteMethod" :loading="loading" placeholder="璇烽�夋嫨渚涘簲鍟�" clearable style="width: 100%"
+              @change="changeXmbh(addForm.supplierCode)">
+              <el-option v-for="(item, index) in arrTdp" :key="index" :value="item.custCode"
+                :label="`[${item.custCode}]${item.custChinaName}`"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20">
+          <el-form-item label="鏀惰揣閬撳彛" prop="dock">
+            <el-select clearable v-model="addForm.dock" placeholder="璇烽�夋嫨鏀惰揣閬撳彛">
+              <el-option v-for="(item, index) in getEnumDockData" :key="index" :value="item.value"
+                :label="`${item.describe}`"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <!--<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20">
+          <el-form-item label="鏀惰揣閬撳彛" prop="dock">
+            <el-input
+              v-model="addForm.dock"
+              placeholder="璇疯緭鍏ユ敹璐ч亾鍙�"
+              maxlength="50"
+              show-word-limit
+              clearable
+            />
+          </el-form-item>
+        </el-col> -->
+
+        <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20">
+          <el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
+            <el-input v-model="addForm.erpOrderNo" placeholder="璇疯緭鍏RP鍗曞彿" maxlength="50" show-word-limit clearable />
+          </el-form-item>
+        </el-col>
+
+        <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20">
+          <el-form-item label="椤圭洰鍙�" prop="projectNo">
+            <el-input v-model="addForm.projectNo" placeholder="璇疯緭鍏ラ」鐩彿" maxlength="50" show-word-limit clearable />
+          </el-form-item>
+        </el-col>
+
+
+
+
+        <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="dialogType == 'add'">
+          <el-form-item label="璁㈠崟绫诲瀷:" prop="materialType">
+            <el-select  v-model="addForm.materialType" placeholder="璇烽�夋嫨璁㈠崟绫诲瀷" @change="changDdlx"
+              style="width: 100%">
+              <el-option v-for="item in statusEnums" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8" v-if="dialogType == 'edit'">
+          <el-form-item label="璁㈠崟绫诲瀷:" prop="materialType">
+            <el-select v-model="addForm.materialType" disabled placeholder="璇烽�夋嫨璁㈠崟绫诲瀷"  style="width: 100%">
+              <el-option v-for="item in outInTypeEnum" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8" v-if="addForm.materialType == 5">
+          <el-form-item label="鍏嶈垂浠剁被鍨�:" prop="freeOrderType">
+            <el-select v-model="addForm.freeOrderType" placeholder="璇烽�夋嫨鍏嶈垂浠剁被鍨�"  style="width: 100%"
+              @change="changMfj" :disabled="dialogType == 'edit'">
+              <el-option v-for="item in statusEnumsMFj" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="鍗曞彿:" prop="purchaseNo">
+            <el-input v-model="addForm.purchaseNo" :disabled="dialogType == 'edit'" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+          </el-form-item>
+        </el-col>
+     
+        <el-col :span="8">
+          <el-form-item label="澶囨敞:">
+            <el-input v-model="addForm.remark" clearable placeholder="璇疯緭鍏ュ娉�" />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="棰勮鍒拌揪鏃堕棿:" prop="EstimatedDate">
+            <el-date-picker v-model="addForm.EstimatedDate" type="datetime" :disabled-date="disabledDate"
+              value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨棰勮鍒拌揪鏃堕棿"
+              style="width: 100%;" />
+          </el-form-item>
+        </el-col> -->
+
+      </el-row>
+    </el-form>
+    <div class="msi-content" style="margin-top: 10px">
+      <div class="header" style="margin-bottom: 10px">
+        <div>
+          <el-button type="primary" icon="el-icon-plus" @click="addMaterialDialog">鏂板鐗╂枡</el-button>
+
+          <el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+            @click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+        </div>
+      </div>
+
+      <el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+        @selection-change="detailsCheckChange" max-height="480">
+        <el-table-column align="center" width="60" type="selection" />
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center" show-overflow-tooltip />
+        <el-table-column label="鐗╂枡鍚嶇О" min-width="140" prop="materialName" align="center" show-overflow-tooltip />
+
+        <!-- clientCode -->
+        <el-table-column label="瀹㈡埛缂栧彿" v-if="isShowBomBtn" prop="diCustomCode" align="center" min-width="110" />
+        <el-table-column label="瀹㈡埛涓枃鍚嶇О" v-if="isShowBomBtn" prop="diCustomChinaName" align="center" min-width="110" />
+
+        <el-table-column label="琛屽彿" prop="poLineNumber" align="center" min-width="120">
+          <template #default="scope">
+            <el-input v-model.trim="scope.row.poLineNumber" clearable min-width="150" placeholder="璇疯緭鍏ヨ鍙�" />
+          </template>
+        </el-table-column>
+
+        <el-table-column label="渚涘簲鍟嗘壒娆�" prop="supplierBatch" align="center" min-width="120">
+          <template #default="scope">
+            <el-input v-model.trim="scope.row.supplierBatch" clearable min-width="150" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规" />
+          </template>
+        </el-table-column>
+
+
+        <el-table-column label="ERP搴撳瓨鍦�" prop="erpCode" align="center" min-width="120">
+          <template #default="scope">
+            <el-input v-model.trim="scope.row.erpCode" clearable min-width="150" placeholder="璇疯緭鍏RP搴撳瓨鍦�" />
+          </template>
+        </el-table-column>
+
+        <el-table-column label="鏁伴噺" align="center" min-width="180">
+          <template #default="scope">
+            <el-input-number :precision="3" min="0" v-model="scope.row.quantity" size="small" />
+          </template>
+        </el-table-column>
+
+        <el-table-column label="璁″垝寮�濮嬫椂闂�" align="center" min-width="180">
+          <template #default="scope">
+            <el-date-picker v-model="scope.row.plannedStartTime" type="datetime" :disabled-date="disabledDate"
+              value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨璁″垝寮�濮嬫椂闂�"
+              style="width: 100%;" />
+
+          </template>
+        </el-table-column>
+        <el-table-column label="璁″垝缁撴潫鏃堕棿" align="center" min-width="180">
+          <template #default="scope">
+            <el-date-picker v-model="scope.row.plannedEndTime" type="datetime" :disabled-date="disabledDate"
+              value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿"
+              style="width: 100%;" />
+          </template>
+        </el-table-column>
+        <el-table-column label="閲囪喘鍗曚綅" prop="unit" align="center" min-width="80" />
+      </el-table>
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="dialogVisible = false">鍙栨秷</el-button>
+        <el-button type="primary" :disabled="warehousOrderDetails.length == 0" @click="confirm">纭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+  <!-- 娣诲姞鐗╂枡 -->
+  <el-dialog v-model="addMaterialVisible" title="娣诲姞鐗╂枡璇︽儏" width="60%" @close="closeMaterialDialog">
+    <template #header>
+      <div style="color: #fff">
+        <span>娣诲姞鐗╂枡璇︽儏</span>
+      </div>
+    </template>
+
+    <div class="msi-form" style="padding-top: 0px">
+      <el-form :model="materialForm">
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="materialForm.MaterialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :span="8">
+            <el-form-item label="鐗╂枡澶х被:">
+              <el-input v-model="materialForm.MaterialTypeId" placeholder="璇疯緭鍏ョ墿鏂欏ぇ绫�" clearable></el-input>
+            </el-form-item>
+          </el-col> -->
+
+          <el-col :span="8">
+            <el-form-item label-width="20px">
+              <el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+              <!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm"
+                >閲嶇疆</el-button
+              > -->
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <div class="msi-content" style="padding-top: 0; margin-top: 10px">
+      <el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+        @selection-change="materialSelectionChange" :max-height="480">
+        <el-table-column align="center" width="60" type="selection"  />
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+        <el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+        <el-table-column label="閲囪喘鍗曚綅" prop="poUnit" align="center" min-width="140" show-overflow-tooltip />
+
+      </el-table>
+      <Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+        @pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+        <el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+  <!-- 鍗曡鎯� -->
+  <el-drawer v-model="drawerVisible" :title="`${detailForm.poId}閫傞厤鍣ㄤ娇鐢ㄨ褰昤" direction="rtl" size="80%"
+    @close="handleDrawerClose">
+    <template #title>
+      <div class="slot_title">
+        <div class="title_orderNo">{{ title }}</div>
+        <div>閫傞厤鍣ㄤ娇鐢ㄨ褰�</div>
+      </div>
+    </template>
+
+    <div class="detailBoxWrap">
+      <!-- 璇︽儏缁勪欢 -->
+      <open-details ref="propDetailRef"></open-details>
+      <div class="msi-form">
+        <el-form :model="detailForm" labelWidth="90">
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="閫傞厤鍣⊿ID:">
+                <el-input v-model="detailForm.adapterSID" clearable placeholder="璇疯緭鍏ラ�傞厤鍣⊿ID" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="澶勭悊鐘舵��">
+                <el-select clearable="" v-model="detailForm.dealWithStatus" placeholder="璇烽�夋嫨澶勭悊鐘舵��">
+                  <el-option v-for="(item, index) in getEnumDealWithStatusData_Index" :key="index" :value="item.value"
+                    :label="`${item.describe}`" />
+
+                </el-select>
+
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="鍗曞彿:">
+                <el-input v-model="detailForm.orderNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="寮�濮嬫椂闂�">
+                <el-date-picker placeholder="璇烽�夋嫨寮�濮嬫椂闂�" value-format="YYYY/MM/DD" type="daterange"
+                  v-model="detailForm.beginTimeRange" />
+
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="缁撴潫鏃堕棿" style="margin-top: 10px">
+                <el-date-picker placeholder="璇烽�夋嫨缁撴潫鏃堕棿" value-format="YYYY/MM/DD" type="daterange"
+                  v-model="detailForm.endingTimeRange" />
+
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="2">
+              <el-form-item label-width="20px"  style="margin-top: 10px">
+                <el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <div class="msi-content">
+        <!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+        <el-table :data="drawerList" border striped :max-height="480">
+          <el-table-column fixed="left" type="index" label="搴忓彿" width="55" align="center" />
+          <!-- <el-table-column prop="poId" label="PO鍗旾D" show-overflow-tooltip="" /> -->
+          <!-- <el-table-column prop="poNo" label="PO鍗曞彿" show-overflow-tooltip="" /> -->
+
+          <el-table-column prop="adapterCategoryId" label="閫傞厤鍣ㄥぇ绫籭d" fixed="left" show-overflow-tooltip="" />
+          <el-table-column prop="categoryName" label="閫傞厤澶х被鍚嶇О" show-overflow-tooltip="" />
+          <el-table-column prop="adapterName" label="閫傞厤鍣ㄥ悕绉�" show-overflow-tooltip="" />
+          <el-table-column prop="adapterName" label="閫傞厤鍣ㄥ悕绉�" show-overflow-tooltip="" />
+
+
+          <el-table-column prop="adapterId" label="閫傞厤鍣╥d" show-overflow-tooltip="" />
+          <el-table-column prop="adapterMethodName" label="閫傞厤鍣ㄦ柟娉曞悕绉�" show-overflow-tooltip="" />
+
+
+          <el-table-column prop="requestSoure" label="璇锋眰鏉ユ簮" show-overflow-tooltip="" />
+          <el-table-column prop="adapterSID" label="閫傞厤鍣⊿ID" show-overflow-tooltip="" />
+
+          <!-- <el-table-column
+            prop="supplierCode"
+            label="渚涘簲鍟嗙紪鍙�"
+            show-overflow-tooltip=""
+          />
+          <el-table-column
+            prop="supplierName"
+            label="渚涘簲鍟嗗悕绉�"
+            show-overflow-tooltip=""
+          />
+          <el-table-column prop="supplierBatch" min-width="100px" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" />
+          
+          <el-table-column prop="unit" min-width="100px" label="閲囪喘鍗曚綅" show-overflow-tooltip="" /> -->
+
+          <el-table-column prop="plannedStartTime" label="寮�濮嬫椂闂�" min-width="130px" show-overflow-tooltip="" />
+          <el-table-column prop="endingTime" label="缁撴潫鏃堕棿" min-width="130px" show-overflow-tooltip="" />
+
+
+          <el-table-column prop="timeDifference" label="鑰楁椂" width="130" :formatter="formatDate_T_Time"
+            show-overflow-tooltip="" />
+
+
+
+          <el-table-column prop="dealWithStatus" label="澶勭悊鐘舵��" show-overflow-tooltip="">
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.dealWithStatus, getEnumDealWithStatusData_Index) }}</el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column prop="errMessage" label="閿欒淇℃伅" show-overflow-tooltip="" />
+          <el-table-column prop="adapterInput" label="閫傞厤鍙傛暟" show-overflow-tooltip="" />
+          <el-table-column prop="adapterReturnMassage" label="閫傞厤鎶ユ枃" show-overflow-tooltip="" />
+          <el-table-column prop="orderNo" label="鍗曟嵁缂栧彿" show-overflow-tooltip="" />
+
+
+        </el-table>
+        <Pagination :total="detailCount" v-model:page="detailForm.PageNo" v-model:limit="detailForm.PageSize"
+          @pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+        <div></div>
+      </div>
+    </div>
+  </el-drawer>
+
+  <el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+    <el-form :model="outerForm2" label-width="120px">
+      <el-row style="font-size: 16px">
+        <el-col :span="23">
+          <el-form-item label="鍗曞彿:" required>
+            <el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="outVisible2 = false">鍙栨秷</el-button>
+        <el-button type="primary" @click="getSapOrderPO">纭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+</template>
+<script lang="ts" setup>
+import Pagination from "/@/components/Pagination/index.vue";
+import { ElMessage, ElMessageBox } from "element-plus";
+import {
+  ref,
+  nextTick,
+  computed,
+  getCurrentInstance,
+  watch,
+  defineExpose,
+  defineProps,
+  onMounted,
+} from "vue";
+import {
+  getTypeStatus
+} from "/@/utils/formate";
+
+import { formatDecimalData } from "/@/utils/formate";
+import { expandMore } from "/@/hooks/expandMore";
+import cache from "/@/utils/cache";
+import { pageWmsMaterial } from "/@/api/main/WmsBase/wmsMaterial";
+import { getAPI } from "/@/utils/axios-utils";
+import { SysEnumApi } from "/@/api-services/api";
+import {
+  addWmsOrderPurchase,
+  updateWmsOrderPurchase,
+  detailWmsOrderPurchase,
+} from "/@/api/main/WmsOrder/wmsOrderPurchase";
+import OpenDetails from "/@/components/openDetails/openDetails.vue";
+import { pageBaseCustomer } from "/@/api/main/WmsBase/baseCustomer";
+import { pageWmsOrderPurchaseDetails } from "/@/api/main/WmsOrder/wmsOrderPurchaseDetails";
+import commonFunction from "/@/utils/commonFunction";
+import { handleSlectDataWmsBusinessType } from "/@/utils/selectData";
+import { pageAdapterCategories, deleteAdapterCategories, importExcelAdapterCategories, downloadExcelTemplateAdapterCategories, getRecordAdapterList } from '/@/api/main/SoftwareAdapterService/adapterCategories';
+
+const moveType = 10;//绉诲姩绫诲瀷 鍏ュ簱
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getEnumOrderTypeData = ref<any>([]);
+
+const getEnumDockData = ref<any>([]);
+const getBusinessTypeData_Index = ref<any>([]);//涓氬姟绫诲瀷 create by liuwq
+// const getEnumBusinessTypeData = ref<any>([]); update by liuwq
+const getEnumPoStatusData = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(["getTabelData"]);
+const getEnumPoDetailStatusData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumDealWithStatusData_Index = ref<any>([]);
+
+
+const props = defineProps({
+  titleAuthor: {
+    type: Number,
+    required: true,
+  },
+  hexiao: {
+    type: Number,
+    default: 1,
+    required: true,
+  },
+});
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor);
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+// 鐧诲綍鐢ㄦ埛id
+// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
+
+// const EnumWriteOffState = computed(
+//   () => store.state.login.enums.enumWriteOffState
+// );
+
+let itemBtnArr = ["鎵归噺鍒犻櫎", "缂栬緫", "鏂板"];
+const boolEnum = ref([
+  {
+    title: "鏄�",
+    value: true,
+  },
+  {
+    title: "鍚�",
+    value: false,
+  },
+]);
+
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref("");
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+  return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+  orderDoRuType.value = param;
+  uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+  getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+  ElMessageBox.confirm("鏄惁纭鑾峰彇鏇存柊锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  }).then(() => {
+    // getSapRkPurchase().then((res) => {
+    //   if (res.code == 200) {
+    //     ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+    //   } else {
+    //     ElMessage.error(
+    //       `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+    //     );
+    //   }
+    // })
+  });
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+  purchaseNo: "",
+});
+const getSapOrderPO = (param?: number) => {
+  if (param && param == 1) {
+    outVisible2.value = true;
+    return;
+  }
+  if (outerForm2.value.purchaseNo == "") {
+    ElMessage.warning("璇疯緭鍏ュ崟鍙�");
+    return;
+  }
+  // getSapPurchasePO({
+  //   purchaseNo: outerForm2.value.purchaseNo
+  // })
+  //   .then((res) => {
+  //     if (res.code == 200) {
+  //       ElMessage.success("SAP鑾峰彇鎴愬姛");
+  //       outVisible2.value = false;
+  //     } else {
+  //       ElMessage.error(
+  //         `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+  //       );
+  //     }
+  //   })
+  //   .catch((err) => ElMessage.error(err));
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+  outerForm2.value.purchaseNo = "";
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+  WareMaterialCode: "",
+  WareMaterialName: "",
+  PurchaseNo: "",
+  CreatedUserName: "",
+  CreatedTimeBegin: "",
+  CreatedTimeEnd: "",
+  CreateDate: [],
+  IssueTimeBegin: "",
+  IssueTimeEnd: "",
+  IssueDate: [],
+  MaterialTypeStaus: "",
+  SourceBy: "",
+  WriteOffState: "",
+  signStatus: "",
+  status: "",
+  freeOrderType: "",
+  IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+  // LoginUserID: LoginUserID, //鐢ㄦ埛id
+  OrderMenuType: "", //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+  Page: 1,
+  PageSize: 10,
+  poApprovalStatus: "",
+  keyCode: "",
+  IsDisable: "", //鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+const tableRef = ref();
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache("enumList");
+console.log(enumList.inEnumOrderType);
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+  //鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+  if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+    formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+    formModel.value.CreatedTimeEnd = ""; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+  } else {
+    // 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+    if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+      formModel.value.CreatedTimeBegin = "";
+      formModel.value.CreatedTimeEnd = "";
+    }
+  }
+  //鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+  if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+    formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+    formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+  } else {
+    // 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+    if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+      formModel.value.IssueTimeBegin = "";
+      formModel.value.IssueTimeEnd = "";
+    }
+  }
+
+  //鍏跺畠鍏ュ簱鍏ュ彛
+  // if (titleAuthor.value == 1) { //鍏嶈垂鍏ュ簱鍗曠鐞�
+  // }
+
+  // if (titleAuthor.value == 2) { //璁㈠崟鍏ュ簱绠$悊
+  // }
+
+  // getPurchasePageForAllData(formModel.value)
+  //   .then((res) => {
+  //     if (res.code == 200) {
+  //       const { data } = res;
+  //       const result = data;
+  //       result.rows.map(
+  //         (item: { hasChildren: boolean }) => (item.hasChildren = true)
+  //       );
+  //       tableData.value = result.rows;
+  //       totalItems.value = result.totalRows;
+  //       orderType.value = formModel.value.MaterialTypeStaus;
+  //       // 娓呴櫎閫変腑
+  //       nextTick(() => {
+  //         if (tableRef.value && typeof tableRef.value.clearSelection === 'function') {
+  //           checkRows.value = [];
+  //           tableRef.value.clearSelection();
+  //         }
+  //       })
+  //     } else {
+  //       ;
+  //     }
+  //   })
+  //   .catch((err) => {
+  //     console.log(err);
+  //     ElMessage.error(JSON.stringify(err));
+  //   });
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+  formModel.value = {
+    WareMaterialCode: "",
+    WareMaterialName: "",
+    PurchaseNo: "",
+    CreatedUserName: "",
+    CreatedTimeBegin: "",
+    CreatedTimeEnd: "",
+    CreateDate: [],
+    IssueTimeBegin: "",
+    IssueTimeEnd: "",
+    IssueDate: [],
+    MaterialTypeStaus: "",
+    SourceBy: "",
+    WriteOffState: "",
+    signStatus: "",
+    status: "",
+    freeOrderType: "",
+    IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+    //  LoginUserID: LoginUserID, //鐢ㄦ埛id
+    OrderMenuType: "", //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+    Page: 1,
+    PageSize: 10,
+    poApprovalStatus: "",
+    keyCode: "",
+    IsDisable: "", //鏄惁浣滃簾
+  };
+  getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+  checkRows.value = val;
+};
+//瀵煎嚭PO鍗曡鎯�
+const handExport = () => {
+  // rkExport(formModel.value)
+  //   .then((res) => {
+  //     const link = document.createElement("a"); //鍒涘缓a鏍囩
+  //     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+  //     let objectUrl = URL.createObjectURL(blob);
+  //     link.href = objectUrl;
+  //     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+  //       new Date().toString(),
+  //       "YYYY-MM-DD hh:mm:ss"
+  //     )}`; // 鑷畾涔夋枃浠跺悕
+  //     link.click(); // 涓嬭浇鏂囦欢
+  //     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+  //   }).catch((err) => ElMessage.error(JSON.stringify(err)));
+  //瀵煎嚭璋冪敤鎺ュ彛
+  // let entozh = entozhExcell
+  //   const { PageNo, PageSize, ...rest } = formModel.value
+  //   getPurchasePage({ Page: 1, PageSize: 1000000, ...rest }).then(res => {
+  //     if(res.code==200){
+  //       res.data.rows.forEach((item)=>{
+  //         item.writeOffState = EnumWriteOffState.value.filter((v: any) => v.value == item.writeOffState)[0].title;
+  //         item.sourceBy =  sourceEnum.value.filter((v: any) => v.value == item.sourceBy)[0].title;
+  //       })
+  //       exportExcel(res.data.rows, entozh, "xlsx", `鍏ュ簱绠$悊琛�${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`);
+  //     }
+  //   })
+  // 鍚庣瀵煎嚭-瀛楁涓嶅叏
+  // if (checkRows.value.length <= 0) {
+  //   ElMessage.warning("璇烽�夋嫨涓�涓鍗曪紒");
+  //   return
+  // }
+  // const arr = checkRows.value.reduce((curr, item) => {
+  //   curr.push(item.purchaseNo);
+  //   return curr;
+  // }, []);
+  // puchaseExport({ PurchaseNo: arr })
+  //   .then((res) => {
+  //     const link = document.createElement("a"); //鍒涘缓a鏍囩
+  //     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+  //     let objectUrl = URL.createObjectURL(blob);
+  //     link.href = objectUrl;
+  //     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+  //       new Date().toString(),
+  //       "YYYY-MM-DD hh:mm:ss"
+  //     )}`; // 鑷畾涔夋枃浠跺悕
+  //     link.click(); // 涓嬭浇鏂囦欢
+  //     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+  //   })
+  //   .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+
+
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+  WareMaterialCode: "",
+  poId: "",
+  Page: 1,
+  PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref("drawerAll");
+//鑾峰彇閫傞厤鍣ㄨ褰曡鎯�
+const getRecordAdapterListData = ref<any>({});
+
+// const
+//鍗曞彿
+const purchaseNo = ref("");
+const detailCount2 = ref(0);
+const detailForm2 = ref({
+  Page: 1,
+  PageSize: 10,
+  poId: "",
+});
+
+const drawerList2 = ref<DetailType[]>([]);
+const getAdapterMode = ref<any>([]);
+const orderId = ref("");
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+  drawerVisible.value = true;
+  orderId.value = scope.id;
+  var getRecordAdapterListData = await getRecordAdapterList({
+    'CategoriesId': scope.id
+  });
+  getRecordAdapterListData = getRecordAdapterListData.data;
+
+
+
+  if (getRecordAdapterListData.code == 200) {
+    detailForm.value.PageNo = 1; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+    detailForm.value.PageSize = 10; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+    if (scope.purchaseNo) {
+      title.value = `${scope.purchaseNo}`;
+    }
+    if (scope.orderNo) {
+      title.value = `${scope.orderNo}`;
+    }
+    drawerType.value = "drawerAll";
+
+    //褰撳墠鍏ュ簱鍗曞彿id
+    detailForm.value.poId = scope.id;
+    //鍏ュ簱鍗�
+    purchaseNo.value = scope.purchaseNo;
+    detailForm2.value.poId = scope.id;
+    //鑾峰彇鐗╂枡鍒楄〃
+    if (detailForm2.value.poId == "") {
+      drawerList2.value = [];
+      detailCount2.value = 0;
+      return;
+    }
+    //------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+    loading.value = true;
+    drawerList.value = getRecordAdapterListData.result.recordAdapterList?.items ?? [];
+    detailCount.value = getRecordAdapterListData.result.recordAdapterList?.total;
+    loading.value = false;
+
+
+    // getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇涓氬姟绫诲瀷鎺ュ彛 create  by liuwq
+
+    getAdapterMode.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AdapterModeEnum')).data.result ?? [];
+
+    getEnumPoDetailStatusData_Index.value =
+      (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+      [];
+    getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+    //----------------鐗╂枡鏄庣粏
+    // 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+    let scopetrans = JSON.parse(JSON.stringify(scope));
+    // scopetrans.totalquantity = Number(scopetrans.totalquantity).toFixed(3);
+    nextTick(() => {
+      scopetrans.poStatus = getEnumDesc(scopetrans.poStatus, getEnumPoDetailStatusData_Index.value);
+      scopetrans.businessType = getEnumDesc(scopetrans.businessType, getBusinessTypeData_Index.value);
+      scopetrans.orderType = getEnumDesc(scopetrans.orderType, getEnumOrderTypeData_Index.value);
+
+      scopetrans.adapterName = getRecordAdapterListData.result.adapterName;
+      scopetrans.adapterMethodName = getRecordAdapterListData.result.adapterMethodName;
+      scopetrans.adapterMode = getEnumDesc(getRecordAdapterListData.result.adapterMode, getAdapterMode.value);
+
+      entozhExcell.adapterName = "閫傞厤鍣ㄥ悕绉�";
+      entozhExcell.adapterMethodName = "閫傞厤鍣ㄦ柟娉曞悕绉�";
+      entozhExcell.adapterMode = "閫傞厤妯″紡";
+      proxy.$refs["propDetailRef"].openADialog(scopetrans, entozhExcell);
+    });
+
+
+  }
+  //  getRecordAdapterListData = ddd
+
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+  detailForm.value = {
+    WareMaterialCode: "",
+    poId: "",
+    Page: 1,
+    PageSize: 10,
+  };
+  deltailList.value = [];
+  detailCount.value = 0;
+  drawerList.value = [];
+  drawerList2.value = [];
+  detailCount2.value = 0;
+  drawerList2.value = [];
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+  id: number;
+  barCode: string;
+  wareMaterialCode: string;
+  name: string;
+  signStatus: string;
+  category: string;
+  materialTypeName: string;
+  specificationModel: string;
+  long: number;
+  width: number;
+  high: number;
+  weight: number;
+  unit: string;
+  createdTime: string;
+  purchaseNo: string;
+  quantity: number;
+  goodsquantity: number;
+  surplusquantity: number;
+  poLineNumber: string;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref("");
+//鑾峰彇鍏ュ簱鍗曚笅鐗╂枡璇︽儏
+const getDetail = async (callback?: any) => {
+  var getRecordAdapterListData = await getRecordAdapterList({
+    ...detailForm.value,
+    'CategoriesId': orderId.value
+  });
+  getRecordAdapterListData = getRecordAdapterListData.data;
+  if (getRecordAdapterListData.code == 200) {
+    loading.value = true;
+    debugger
+    drawerList.value = getRecordAdapterListData.result.recordAdapterList?.items ?? [];
+    detailCount.value = getRecordAdapterListData.result.recordAdapterList?.total;
+    loading.value = false;
+  }
+};
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref("add");
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+  createdTime: "",
+  updatedTime: "",
+  createdUserName: "",
+  createdUserId: "",
+  purchaseNo: "",
+  purchaserUserId: 0,
+  basicExpressInfoCode: null,
+  materialType: "", //5
+  status: 0,
+  supplierCode: "",
+  supplierName: "",
+  remark: "",
+  deliveryType: 1,
+  EstimatedDate: "",
+  purchaseOrderDetails: [] as any[],
+  dI_NO: "",
+  sJ_NO: "",
+  machineToolTypeName: "",
+  machineToolNo: "",
+  freeOrderType: "",
+});
+
+// 鐗规畩瀛楃鐨勯獙璇�
+// 鍖呭惈鐗规畩瀛楃杩斿洖true锛屼笉鍖呭惈鐗规畩瀛楃杩斿洖false
+const checkEspcial = (rule: any, value: any, callback: any) => {
+  if (!value) {
+    callback();
+  } else {
+    const reg = /[@$%*^:;锛氾紱~+=!锛�#^{}><.,锛屻�俔/g;
+    if (!reg.test(value.trim())) {
+      callback();
+    } else {
+      return callback(new Error("涓嶈兘瀛樺湪鐗规畩绗﹀彿"));
+    }
+  }
+};
+
+// 楠岃瘉瑙掕壊缂栧彿
+var validatorCode = (rule: any, value: any, callback: any) => {
+  if (!value) {
+    callback();
+  } else {
+    const reg = /[\u4E00-\u9FA5]/g;
+    if (!reg.test(value)) {
+      callback();
+    } else {
+      return callback(new Error("鍗曞彿涓嶈兘瀛樺湪姹夊瓧"));
+    }
+  }
+};
+
+//rules
+const formRules = {
+  purchaseNo: [{ required: true, message: "璇疯緭鍏O鍗曞彿锛�", trigger: "blur" }],
+  orderType: [{ required: true, message: "璇烽�夋嫨璁㈠崟绫诲瀷锛�", trigger: "change" }],
+  orderTypeName: [{ required: true, message: "璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒", trigger: "blur" }],
+  businessType: [{ required: true, message: "璇烽�夋嫨涓氬姟绫诲瀷锛�", trigger: "change" }],
+  businessTypeName: [
+    { required: true, message: "璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒", trigger: "blur" },
+  ],
+  orderSocure: [{ required: true, message: "璇疯緭鍏ュ崟鎹潵婧愶紒", trigger: "blur" }],
+  poStatus: [{ required: true, message: "璇烽�夋嫨鍗曟嵁鐘舵�侊紒", trigger: "change" }],
+  poStatusName: [{ required: true, message: "璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒", trigger: "blur" }],
+  supplierCode: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�", trigger: "blur" }],
+  supplierName: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�", trigger: "blur" }],
+
+  // materialType: [
+  //   { required: true, message: "璁㈠崟绫诲瀷涓嶈兘涓虹┖", trigger: "blur" }
+  // ],
+  // freeOrderType: [{ required: true, message: "鍏嶈垂浠剁被鍨嬩笉鑳戒负绌�", trigger: "blur" }],
+  // purchaseNo: [
+  //   { required: true, message: "鍗曞彿涓嶈兘涓虹┖", trigger: "blur" },
+  //   { validator: validatorCode, trigger: "blur" },
+  //   { validator: checkEspcial, trigger: "blur" }
+  // ],
+  // supplierCode: [
+  //   { required: true, message: "渚涘簲鍟嗕笉鑳戒负绌�", trigger: "blur" }
+  // ],
+  // EstimatedDate: [
+  //   { required: true, message: "棰勮鍒拌揪鏃堕棿涓嶈兘涓虹┖", trigger: "blur" }
+  // ],
+  // dI_NO: [
+  //   { required: true, message: "DI鍙蜂笉鑳戒负绌�", trigger: "blur" }
+  // ],
+  // machineToolTypeName: [
+  //   { required: true, message: "鏈哄簥鍨嬪彿涓嶈兘涓虹┖", trigger: "blur" }
+  // ]
+};
+//鎵撳紑鏂板銆佺紪杈戠獥鍙�
+const openDialog = async (type: number, scope: any = {}) => {
+  handleQueryTdp();
+  getEnumOrderTypeData.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderTypeEnum")).data.result ??
+    [];
+  getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇涓氬姟绫诲瀷鎺ュ彛 create  by liuwq
+  getEnumPoStatusData.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+    [];
+
+  getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? [];
+
+  if (type == 1) {
+    detailForm2.value.PageSize = 10;
+    dialogType.value = "add";
+  } else {
+    dialogType.value = "edit";
+    detailForm2.value.PageSize = 1000;
+    addForm.value = { ...scope };
+
+    console.log(addForm.value);
+    detailForm2.value.poId = scope.id;
+    //鑾峰彇鐗╂枡 - 鍥炶皟鍑芥暟鏇挎崲瀹氭椂鍣�
+
+    //------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+    loading.value = true;
+    var res = await pageWmsOrderPurchaseDetails(Object.assign(detailForm2.value));
+    warehousOrderDetails.value = res.data.result?.items ?? [];
+    loading.value = false;
+    //----------------鐗╂枡鏄庣粏
+  }
+  dialogVisible.value = true;
+  //娓呴櫎閫変腑椤�
+  nextTick(() => {
+    if (dialogRef.value) {
+      dialogRef.value.clearValidate();
+    }
+  });
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+  return row.id + row.poLineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+  addForm.value = {
+    createdTime: "",
+    updatedTime: "",
+    createdUserName: "",
+    createdUserId: "",
+    purchaseNo: "",
+    purchaserUserId: 0,
+    basicExpressInfoCode: null,
+    materialType: "", //5
+    status: 0,
+    supplierCode: "",
+    supplierName: "",
+    remark: "",
+    deliveryType: 1,
+    EstimatedDate: "",
+    purchaseOrderDetails: [] as any[],
+    dI_NO: "",
+    sJ_NO: "",
+    machineToolTypeName: "",
+    machineToolNo: "",
+    freeOrderType: "",
+  };
+  warehousOrderDetails.value = [];
+  checkedDetails.value = [];
+  deltailList.value = [];
+  detailCount.value = 0;
+  detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+  checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+  ElMessageBox.confirm("鏄惁纭鍒犻櫎锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(() => {
+      let arr = [];
+      if (checkedDetails.value[0].diRelationID) {
+        checkedDetails.value.forEach((item) => {
+          console.log(item);
+          let index = warehousOrderDetails.value.findIndex(
+            (detail) =>
+              detail.code == item.code && detail.diRelationID == item.diRelationID
+          );
+          if (index > -1) {
+            warehousOrderDetails.value.splice(index, 1);
+          }
+        });
+      } else {
+        checkedDetails.value.forEach((item) => {
+          let index = warehousOrderDetails.value.findIndex(
+            (detail) => detail.code == item.code && detail.poLineNumber == item.poLineNumber
+          );
+          warehousOrderDetails.value.splice(index, 1);
+        });
+      }
+      arr = warehousOrderDetails.value;
+      warehousOrderDetails.value = [];
+      //bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+      nextTick(() => {
+        warehousOrderDetails.value = arr;
+        checkedDetails.value = [];
+        detailRef.value.clearSelection();
+      });
+    })
+    .catch(() => ElMessage.info("宸插彇娑堝垹闄�"));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const confirm = () => {
+  dialogRef.value.validate(async (vali: any) => {
+    if (vali) {
+      console.log("纭");
+      let idx = warehousOrderDetails.value.findIndex(
+        (v) => v.poLineNumber == "" || v.poLineNumber == undefined
+      );
+      if (idx > -1) {
+        ElMessage.warning("璇疯緭鍏ヨ鍙�");
+        return;
+      }
+      let isNext = "";
+      warehousOrderDetails.value.forEach((item) => {
+        const arr: any = warehousOrderDetails.value.filter(
+          (detail) => detail.poLineNumber == item.poLineNumber
+        );
+        if (arr.length > 1) {
+          isNext = `琛屽彿锛�${arr[0].poLineNumber}涓嶈兘鐩稿悓`;
+          return;
+        }
+      });
+      if (isNext != "") {
+        ElMessage.warning(isNext);
+        return;
+      }
+
+      let idx2 = warehousOrderDetails.value.findIndex(
+        (v) => v.quantity == "" || v.quantity == undefined || v.quantity <= 0
+      );
+      if (idx2 > -1) {
+        ElMessage.warning("鏁伴噺涓嶅悎瑙勮寖锛�");
+        return;
+      }
+      addForm.value.purchaseOrderDetails = [];
+      warehousOrderDetails.value.forEach((item) => {
+        const obj = {
+          poId: item.poId || 0,
+          materialCode: item.materialCode,
+          materialName: item.materialName,
+          id: item.id || "",
+          quantity: item.quantity,
+          barNo: item.barNo,
+          remark: addForm.value.remark,
+          poLineNumber: item.poLineNumber,
+          materialType: item.deliveryType,
+          clientCode: item.diCustomCode || "",
+          clientChinaName: item.diCustomChinaName || "",
+          plannedStartTime: item.plannedStartTime,
+          plannedEndTime: item.plannedEndTime,
+          projectNo: item.projectNo,
+          erpCode: item.erpCode,
+          supplierBatch: item.supplierBatch,
+          unit: item.unit
+        };
+        addForm.value.purchaseOrderDetails.push(obj);
+      });
+      //娣诲姞
+      if (dialogType.value == "add") {
+        let res = await addWmsOrderPurchase(addForm.value);
+        if (res.data && res.data.code == 200) {
+          ElMessage.success("娣诲姞鎴愬姛");
+          dialogVisible.value = false;
+          emits("getTabelData");
+        } else {
+          ;
+        }
+      } else {
+        let res = await updateWmsOrderPurchase(addForm.value);
+        if (res.data && res.data.code == 200) {
+          ElMessage.success("缂栬緫鎴愬姛");
+          dialogVisible.value = false;
+          emits("getTabelData");
+        } else {
+          ;
+        }
+      }
+    } else {
+      ElMessage.warning("琛ㄥ崟楠岃瘉澶辫触");
+    }
+  });
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+  MaterialTypeId: "",
+  Code: "",
+  MaterialCode: '',
+  // MaterialType: 1,
+  Page: 1,
+  PageSize: 10,
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+
+  loading.value = true;
+  // var res = await pageWmsMaterial(Object.assign(queryParams.value, tableParams.value));
+  var res = await pageWmsMaterial(Object.assign(materialForm.value));
+
+  materialList.value = res.data.result?.items ?? [];
+  //tableParams.value.total = res.data.result?.total;
+  materialTotal.value = res.data.result?.total;
+  loading.value = false;
+
+  // getMaterialInfoList(materialForm.value)
+  //   .then((res) => {
+  //     if (res.code == 200) {
+  //       const { data } = res;
+  //       const result = data;
+  //       materialList.value = result.rows;
+  //       materialTotal.value = result.totalRows;
+  //     } else {
+  //       ;
+  //     }
+  //   })
+  //   .catch((err) => {
+  //     console.log(err);
+  //     ElMessage.error(JSON.stringify(err));
+  //   });
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+  materialForm.value = {
+    MaterialTypeId: "",
+    Code: "",
+    MaterialCode: '',
+    Page: 1,
+    // MaterialType: 1,
+    PageSize: 10,
+  };
+  getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+  checkedMaterial.value = val;
+};
+
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = () => {
+  // if ( addForm.value.freeOrderType && isShowBomBtn.value ) {
+  //   ElMessage.warning("鍏嶈垂浠剁被鍨嬫槸PR2锛屽彧鑳芥柊澧濪I缁存姢鐨勭墿鏂欙紒");
+  //   return;
+  // }
+  getMaterialList();
+  addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+  //鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+  if (warehousOrderDetails.value.length == 0) {
+    // 鑷姩缁欒鍙峰鍊�
+    checkedMaterial.value.forEach((item, index) => {
+      item.unit = item.poUnit;
+      if (!item.poLineNumber) {
+        item.poLineNumber = index + 1 + warehousOrderDetails.value.length;
+      }
+    });
+
+    warehousOrderDetails.value.push(...checkedMaterial.value);
+  } else {
+    for (let i = 0; i < checkedMaterial.value.length; i++) {
+      let idx = warehousOrderDetails.value.findIndex(
+        (item: { poLineNumber: any; code: any }) =>
+          item.code == checkedMaterial.value[i].code &&
+          item.poLineNumber == checkedMaterial.value[i].poLineNumber
+      );
+      if (idx > -1) {
+        return ElMessage.warning(
+          `鐗╂枡缂栧彿${checkedMaterial.value[i].code}锛岃鍙凤細${checkedMaterial.value[i].poLineNumber || ""
+          }鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦
+        );
+      }
+    }
+
+    // 鑷姩缁欒鍙峰鍊�
+    checkedMaterial.value.forEach((item, index) => {
+      item.unit = item.poUnit;
+      if (!item.poLineNumber) {
+        item.poLineNumber = index + 1 + warehousOrderDetails.value.length;
+      }
+    });
+    warehousOrderDetails.value.push(...checkedMaterial.value);
+  }
+
+  addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+  materialForm.value = {
+    MaterialTypeId: "",
+    Code: "",
+    Page: 1,
+    // MaterialType: 1,
+    PageSize: 10,
+  };
+  materialList.value = [];
+  checkedMaterial.value = [];
+  materialRef.value.clearSelection();
+};
+
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+  getEnumDealWithStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AdapterLogDealWithEnum')).data.result ?? [];
+});
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+  page: 1,
+  pageSize: 200,
+  total: 0,
+  custType: "渚涘簲鍟�",
+});
+
+//-----------------杩滅▼鎼滅储----------------
+const handleQueryTdp = async () => {
+  var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+  arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+    loading.value = true;
+    var res = await pageBaseCustomer({
+      page: 1,
+      pageSize: 200,
+      custCode: query,
+      custType: "渚涘簲鍟�",
+    });
+    loading.value = false;
+    arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+    loading.value = true;
+    var res = await pageBaseCustomer({
+      page: 1,
+      pageSize: 200,
+      custCode: query,
+      custType: "渚涘簲鍟�",
+    });
+    loading.value = false;
+    arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+  margin: 10px;
+}
+
+.msi-form {
+  margin-top: 10px;
+}
+
+.msi-form {
+  margin-bottom: 10px;
+}
+
+.slot_title {
+  display: flex;
+  align-items: center;
+
+  // margin-left: 20px;
+  .title_orderNo {
+    font-size: 18px;
+    color: #F18201;
+    font-weight: bold;
+    margin-right: 5px;
+  }
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterCategories/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterCategories/index.vue
new file mode 100644
index 0000000..7d9d651
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterCategories/index.vue
@@ -0,0 +1,315 @@
+锘�<template>
+  <div class="adapterCategories-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsAdapterCategories" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsAdapterCategories.searchKey" clearable="" placeholder="鍗曟嵁澶х被鍚嶇О,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIAdapterCategories">
+            <el-form-item label="鍗曟嵁澶х被鍚嶇О">
+              <el-input v-model="queryParamsAdapterCategories.categoryName" clearable="" placeholder="璇疯緭鍏ュ崟鎹ぇ绫诲悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIAdapterCategories">
+            <el-form-item label="閫傞厤鍣ㄦ暟閲�">
+              <el-input-number v-model="queryParamsAdapterCategories.adapterNumber"  clearable="" placeholder="璇疯緭鍏ラ�傞厤鍣ㄦ暟閲�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryAdapterCategories" v-auth="'adapterCategories:page'" :disabled="disabled_btnAdapterCategories"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetAdapterCategories"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIAdapterCategories" v-if="!showAdvanceQueryUIAdapterCategories" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIAdapterCategories" v-if="showAdvanceQueryUIAdapterCategories" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddAdapterCategories" v-auth="'adapterCategories:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelAdapterCategories"  v-auth="'adapterCategories:importExcel'" > 瀵煎叆 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelAdapterCategories"  v-auth="'adapterCategories:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefAdapterCategories"
+				:data="tableDataAdapterCategories"
+				style="width: 100%"
+				v-loading="loadingAdapterCategories"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeAdapterCategories"
+				   :summary-method="getExportTitle" show-summary border="">
+        <el-table-column fixed="left" type="index" label="搴忓彿" width="55" align="center"/>
+		
+		<el-table-column fixed="left" label="閫傞厤鍣ㄤ娇鐢ㄨ褰�" prop="purchaseNo" width="130" align="left" show-overflow-tooltip>
+		  <template #default="scope">
+		    <span class="under_line" @click="openDrawer(1, scope.row)">
+		      {{ scope.row.id }}
+		    </span>
+		  </template>
+		</el-table-column>
+		
+        <el-table-column prop="categoryName" label="鍗曟嵁澶х被鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="adapterNumber" label="閫傞厤鍣ㄦ暟閲�"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('adapterCategories:update') || auth('adapterCategories:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditAdapterCategories(scope.row)" v-auth="'adapterCategories:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delAdapterCategories(scope.row)" v-auth="'adapterCategories:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsAdapterCategories.page"
+				v-model:page-size="tableParamsAdapterCategories.pageSize"
+				:total="tableParamsAdapterCategories.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeAdapterCategories"
+				@current-change="handleCurrentChangeAdapterCategories"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogAdapterCategories
+        ref="printDialogRefAdapterCategories"
+        :title="printAdapterCategoriesTitle"
+        @reloadTable="handleQueryAdapterCategories" />
+      <editDialogAdapterCategories
+        ref="editDialogRefAdapterCategories"
+        :title="editAdapterCategoriesTitle"
+        @reloadTable="handleQueryAdapterCategories"
+      />
+      <importExcelDialog
+        ref="importExcelDialogRefAdapterCategories"
+        :title="importExcelTitleAdapterCategories"
+        @parentUploadFun="handleImportExcelAdapterCategories"
+        @parentDownFun="handleDownExcelAdapterCategories"
+      />
+    </el-card>
+	 <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQuery"></open-allprop>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="adapterCategories">
+  import { ref , getCurrentInstance, nextTick, onMounted} from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+  import { ExcellTableDataExport } from "/@/hooks/exportTableDataExcell";
+import OpenAllprop from "./component/openAllprop.vue";
+
+  import printDialogAdapterCategories from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogAdapterCategories from '/@/views/main/SoftwareAdapterService/adapterCategories/component/editDialog.vue'
+  import { pageAdapterCategories, deleteAdapterCategories,importExcelAdapterCategories,downloadExcelTemplateAdapterCategories,getRecordAdapterList } from '/@/api/main/SoftwareAdapterService/adapterCategories';
+  const { proxy }: any = getCurrentInstance();
+
+  
+  /***************************************************[閫傞厤鍣ㄥぇ绫荤鐞嗘搷浣淽寮�濮�***************************************************/
+  const showAdvanceQueryUIAdapterCategories = ref(false);
+  const tableRefAdapterCategories = ref(null);
+  const printDialogRefAdapterCategories = ref();
+  const editDialogRefAdapterCategories = ref();
+  const loadingAdapterCategories = ref(false);
+  const disabled_btnAdapterCategories = ref(false);
+  const tableDataAdapterCategories = ref<any>([]);
+  const queryParamsAdapterCategories = ref<any>({});
+  const getRecordAdapterListData = ref<any>({});
+  const tableParamsAdapterCategories = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printAdapterCategoriesTitle = ref("");
+  const editAdapterCategoriesTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIAdapterCategories = () => {
+    showAdvanceQueryUIAdapterCategories.value = !showAdvanceQueryUIAdapterCategories.value;
+  }
+
+  // 鏌ヨ閫傞厤鍣ㄥぇ绫荤鐞�
+  const handleQueryAdapterCategories = async () => {
+    loadingAdapterCategories.value = true;
+    disabled_btnAdapterCategories.value = true;
+    var res = await pageAdapterCategories(Object.assign(queryParamsAdapterCategories.value, tableParamsAdapterCategories.value));
+    if(res.data.type=="success"){
+      tableDataAdapterCategories.value = res.data.result?.items ?? [];
+      tableParamsAdapterCategories.value.total = res.data.result?.total;
+    }
+    loadingAdapterCategories.value = false;
+    disabled_btnAdapterCategories.value = false;
+  };
+  //閫氳繃閫傞厤鍣ㄥぇ绫籭d鑾峰彇閫傞厤鍣ㄤ娇鐢ㄨ褰曡鎯�
+  // const getAdapterLogDetails = async() =>{
+	 //  var ddd = await getRecordAdapterList();
+	 //  //getRecordAdapterListData.value = await getRecordAdapterList();
+  // };
+  
+  // 閲嶇疆閫傞厤鍣ㄥぇ绫荤鐞嗘煡璇�
+  const resetAdapterCategories = async () => {
+    queryParamsAdapterCategories.value = {}
+  };
+
+  // 閫傞厤鍣ㄥぇ绫荤鐞嗗垪鎺掑簭
+  const sortChangeAdapterCategories = async (column: any) => {
+	queryParamsAdapterCategories.value.field = column.prop;
+	queryParamsAdapterCategories.value.order = column.order;
+	await handleQueryAdapterCategories();
+  };
+
+  // 鎵撳紑鏂板閫傞厤鍣ㄥぇ绫荤鐞嗛〉闈�
+  const openAddAdapterCategories = () => {
+    editAdapterCategoriesTitle.value = '娣诲姞閫傞厤鍣ㄥぇ绫荤鐞�';
+    editDialogRefAdapterCategories.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃閫傞厤鍣ㄥぇ绫荤鐞嗛〉闈�
+  const openPrintAdapterCategories = async (row: any) => {
+    printAdapterCategoriesTitle.value = '鎵撳嵃閫傞厤鍣ㄥぇ绫荤鐞�';
+  }
+  
+  // 鎵撳紑缂栬緫閫傞厤鍣ㄥぇ绫荤鐞嗛〉闈�
+  const openEditAdapterCategories = (row: any) => {
+    editAdapterCategoriesTitle.value = '缂栬緫閫傞厤鍣ㄥぇ绫荤鐞�';
+    editDialogRefAdapterCategories.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎閫傞厤鍣ㄥぇ绫荤鐞�
+  const delAdapterCategories = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingAdapterCategories.value = true;
+    var ret = await deleteAdapterCategories(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingAdapterCategories.value = false;
+    handleQueryAdapterCategories();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉閫傞厤鍣ㄥぇ绫荤鐞嗛〉闈㈠閲�
+  const handleSizeChangeAdapterCategories = (val: number) => {
+    tableParamsAdapterCategories.value.pageSize = val;
+    handleQueryAdapterCategories();
+  };
+  
+
+const moveType = 10;//绉诲姩绫诲瀷 鍏ュ簱
+// ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
+const jsonExcellTableExport = {
+  titleName: "", //瀵煎嚭琛ㄦ牸鍚嶇О
+  interfaceListName: '',//瀵煎嚭鎺ュ彛鍚嶇О
+}
+const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport)
+// --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬-----------------
+// ---------------鏂板-----------------------
+const showProp = (item?: any) => {
+  if (item == 1) {
+    proxy.$refs['propALlProp'].openDialog(1);
+  } else {
+    proxy.$refs['propALlProp'].openDialog(2, item);
+  }
+}
+// ---------------璇︽儏-----------------------
+const openDrawer = (type: number, item?: any) => {
+	
+  proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell);
+}
+
+  // 鏀瑰彉閫傞厤鍣ㄥぇ绫荤鐞嗛〉鐮佸簭鍙�
+  const handleCurrentChangeAdapterCategories = (val: number) => {
+    tableParamsAdapterCategories.value.page = val;
+    handleQueryAdapterCategories();
+  };
+
+/***************************************************[閫傞厤鍣ㄥぇ绫荤鐞嗘搷浣淽缁撴潫***************************************************/
+/***************************************************[閫傞厤鍣ㄥぇ绫荤鐞嗗鍏寮�濮�***************************************************/
+const importExcelTitleAdapterCategories = ref("");
+const importExcelDialogRefAdapterCategories = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelAdapterCategories = () => {
+    importExcelTitleAdapterCategories.value = '瀵煎叆閫傞厤鍣ㄥぇ绫荤鐞�';
+    importExcelDialogRefAdapterCategories.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelAdapterCategories = async (formData:Blob) => {
+   var result = await importExcelAdapterCategories(formData);
+   importExcelDialogRefAdapterCategories.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+   if(result.data.type=="success"){
+    handleQueryAdapterCategories();
+   }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelAdapterCategories = async () => {
+   var result = await downloadExcelTemplateAdapterCategories();
+   importExcelDialogRefAdapterCategories.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[閫傞厤鍣ㄥぇ绫荤鐞嗗鍏缁撴潫***************************************************/
+/***************************************************[閫傞厤鍣ㄥぇ绫荤鐞嗗鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapAdapterCategories = {
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelAdapterCategories = async (formData:Blob) => {
+    loadingAdapterCategories.value = true;
+    disabled_btnAdapterCategories.value = true;
+    var new_tableParamsAdapterCategories=JSON.parse(JSON.stringify(tableParamsAdapterCategories.value));
+    new_tableParamsAdapterCategories.page = 1;
+    new_tableParamsAdapterCategories.pageSize = 100000;
+    var res = await pageAdapterCategories(Object.assign(queryParamsAdapterCategories.value, new_tableParamsAdapterCategories));
+    if(res.data.type=="success"){
+      exportExcelAdapterCategories(res.data.result?.items ?? []);
+    }
+    loadingAdapterCategories.value = false;
+    disabled_btnAdapterCategories.value = false;
+};
+//瀵煎嚭
+const exportExcelAdapterCategories  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefAdapterCategories,"閫傞厤鍣ㄥぇ绫荤鐞�",functionMapAdapterCategories);
+};
+/***************************************************[閫傞厤鍣ㄥぇ绫荤鐞嗗鍑篯缁撴潫***************************************************/
+  // 閫傞厤鍣ㄥぇ绫荤鐞嗛〉闈㈠姞杞芥椂
+  onMounted(async () => {
+  });
+
+  handleQueryAdapterCategories();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+  width: 100%;
+}
+
+.under_line {
+  color: #F18201;
+  text-decoration: underline;
+  cursor: pointer;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterManagement/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterManagement/component/editDialog.vue
new file mode 100644
index 0000000..2d2e6b6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterManagement/component/editDialog.vue
@@ -0,0 +1,226 @@
+锘�<template>
+	<div class="adapterManagement-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+				<!-- 	<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閫傞厤鍣ㄥぇ绫籭d" prop="adapterCategoryId">
+							<el-input v-model="ruleForm.adapterCategoryId" placeholder="璇疯緭鍏ラ�傞厤鍣ㄥぇ绫籭d" maxlength="19"
+								show-word-limit clearable />
+						</el-form-item>
+					</el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閫傞厤鍣ㄥぇ绫诲悕绉�" prop="categoryName">
+							<el-select clearable v-model="ruleForm.categoryName"  placeholder="璇烽�夋嫨閫傞厤鍣ㄥぇ绫诲悕绉�">
+								<el-option v-for="(item, index) in getCatergoryNameData" :key="index" :value="item.categoryName"
+									:label="`${item.categoryName}`"></el-option>
+							</el-select>
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閫傞厤鍣ㄥ悕绉�" prop="adapterName">
+							<el-input v-model="ruleForm.adapterName" placeholder="璇疯緭鍏ラ�傞厤鍣ㄥ悕绉�" maxlength="255"
+								show-word-limit clearable />
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閫傞厤鍣ㄦ柟娉曞悕绉�" prop="adapterMethodName">
+							<el-input v-model="ruleForm.adapterMethodName" placeholder="璇疯緭鍏ラ�傞厤鍣ㄦ柟娉曞悕绉�" maxlength="255"
+								show-word-limit clearable />
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閫傞厤妯″紡" prop="adapterMode">
+							<el-select clearable v-model="ruleForm.adapterMode" placeholder="璇烽�夋嫨閫傞厤妯″紡">
+								<el-option v-for="(item,index) in  getEnumAdapterModeData" :key="index"
+									:value="item.value" :label="`${item.describe}`"></el-option>
+
+							</el-select>
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閰嶇疆涓绘満鍙�" prop="adapterHost">
+							<el-input v-model="ruleForm.adapterHost" placeholder="璇疯緭鍏ラ厤缃富鏈哄彿" maxlength="50"
+								show-word-limit clearable />
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閫傞厤鍣ㄧ鍙e彿" prop="adapterPort">
+							<el-input v-model="ruleForm.adapterPort" placeholder="璇疯緭鍏ラ�傞厤鍣ㄧ鍙e彿" maxlength="50"
+								show-word-limit clearable />
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閫傞厤鍣║RL" prop="adapterURL">
+							<el-input v-model="ruleForm.adapterURL" placeholder="璇疯緭鍏ラ�傞厤鍣║RL" maxlength="50"
+								show-word-limit clearable />
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璇锋眰鏂瑰紡" prop="adapterRequestMethod">
+							<el-select clearable v-model="ruleForm.adapterRequestMethod" placeholder="璇烽�夋嫨璇锋眰鏂瑰紡">
+								<el-option v-for="(item,index) in  getEnumAdapterRequestMethodData" :key="index"
+									:value="item.value" :label="`${item.describe}`"></el-option>
+
+							</el-select>
+
+						</el-form-item>
+
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+	:deep(.el-select),
+	:deep(.el-input-number) {
+		width: 100%;
+	}
+</style>
+<script lang="ts" setup>
+	import { ref, onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addAdapterManagement, updateAdapterManagement, detailAdapterManagement } from "/@/api/main/SoftwareAdapterService/adapterManagement";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+	import { listAdapterCategories } from '/@/api/main/SoftwareAdapterService/adapterCategories';
+	const getEnumAdapterModeData = ref<any>([]);
+	const getEnumAdapterRequestMethodData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+			type: String,
+			default: "",
+		},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	const getCatergoryNameData = ref<any>([]);
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		adapterCategoryId: [{ required: true, message: '璇疯緭鍏ラ�傞厤鍣ㄥぇ绫籭d锛�', trigger: 'blur', },],
+		categoryName: [{ required: true, message: '璇疯緭鍏ラ�傞厤鍣ㄥぇ绫诲悕绉帮紒', trigger: 'blur', },],
+		adapterName: [{ required: true, message: '璇疯緭鍏ラ�傞厤鍣ㄥ悕绉帮紒', trigger: 'blur', },],
+		adapterMethodName: [{ required: true, message: '璇疯緭鍏ラ�傞厤鍣ㄦ柟娉曞悕绉帮紒', trigger: 'blur', },],
+		adapterMode: [{ required: true, message: '璇烽�夋嫨閫傞厤妯″紡锛�', trigger: 'change', },],
+		adapterHost: [{ required: true, message: '璇疯緭鍏ラ厤缃富鏈哄彿锛�', trigger: 'blur', },],
+		adapterPort: [{ required: true, message: '璇疯緭鍏ラ�傞厤鍣ㄧ鍙e彿锛�', trigger: 'blur', },],
+		adapterURL: [{ required: true, message: '璇疯緭鍏ラ�傞厤鍣║RL锛�', trigger: 'blur', },],
+		adapterRequestMethod: [{ required: true, message: '璇烽�夋嫨璇锋眰鏂瑰紡锛�', trigger: 'change', },],
+		isDelete: [{ required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change', },],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag : number, row : any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailAdapterManagement(rowData.id)).data.result;
+		else {
+			ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid : boolean, fields ?: any) => {
+			if (isValid) {
+				loading.value = true;
+				let values = ruleForm.value;
+				let ret = {};
+				let title = '鏂板';
+				ruleForm.value.adapterCategoryId = getCatergoryNameData.value.filter((v)=>v.categoryName == ruleForm.value.categoryName)[0]?.id;
+				
+				if(ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addAdapterManagement(values);
+				} else {
+					title = '缂栬緫';
+					ret = await updateAdapterManagement(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if (ret.data.type == "success") {
+					ElMessage.success(title + '鎴愬姛');
+					closeDialog();
+				}
+			} else {
+				disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	// const test = () => {
+	// 	console.log(ruleForm.getFiledValue(categoryName))
+ //        //ruleForm.adapterCategoryId = value
+	// }
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+		getEnumAdapterModeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AdapterModeEnum')).data.result ?? [];
+		getEnumAdapterRequestMethodData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AdapterRequestMethodEnum')).data.result ?? [];
+
+		let temp = ref<any>([]);
+		getCatergoryNameData.value = (await listAdapterCategories(temp)).data.result;
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterManagement/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterManagement/index.vue
new file mode 100644
index 0000000..ad0d2d3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/adapterManagement/index.vue
@@ -0,0 +1,353 @@
+锘�<template>
+  <div class="adapterManagement-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsAdapterManagement" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsAdapterManagement.searchKey" clearable="" placeholder="閫傞厤鍣ㄥぇ绫诲悕绉�,閫傞厤鍣ㄥ悕绉�,閫傞厤鍣ㄦ柟娉曞悕绉�,閰嶇疆涓绘満鍙�,閫傞厤鍣ㄧ鍙e彿,閫傞厤鍣║RL,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIAdapterManagement">
+            <el-form-item label="閫傞厤鍣ㄥぇ绫籭d">
+              <el-input v-model="queryParamsAdapterManagement.adapterCategoryId" clearable="" placeholder="璇疯緭鍏ラ�傞厤鍣ㄥぇ绫籭d"/>
+              
+            </el-form-item>
+			
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIAdapterManagement">
+            <el-form-item label="閫傞厤鍣ㄥぇ绫诲悕绉�">
+              <!-- <el-input v-model="queryParamsAdapterManagement.categoryName" clearable="" placeholder="璇疯緭鍏ラ�傞厤鍣ㄥぇ绫诲悕绉�"/> -->
+              <el-select clearable v-model="queryParamsAdapterManagement.categoryName" placeholder="璇烽�夋嫨閫傞厤鍣ㄥぇ绫诲悕绉�">
+                <el-option
+                  v-for="(item, index) in getCatergoryNameData"
+                  :key="index"
+                  :value="item.value"
+                  :label="`${item.describe}`"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIAdapterManagement">
+            <el-form-item label="閫傞厤鍣ㄥ悕绉�">
+              <el-input v-model="queryParamsAdapterManagement.adapterName" clearable="" placeholder="璇疯緭鍏ラ�傞厤鍣ㄥ悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIAdapterManagement">
+            <el-form-item label="閫傞厤鍣ㄦ柟娉曞悕绉�">
+              <el-input v-model="queryParamsAdapterManagement.adapterMethodName" clearable="" placeholder="璇疯緭鍏ラ�傞厤鍣ㄦ柟娉曞悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIAdapterManagement">
+            <el-form-item label="閫傞厤妯″紡">
+              <el-select clearable="" v-model="queryParamsAdapterManagement.adapterMode" placeholder="璇烽�夋嫨閫傞厤妯″紡">
+                <el-option v-for="(item,index) in getEnumAdapterModeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIAdapterManagement">
+            <el-form-item label="閰嶇疆涓绘満鍙�">
+              <el-input v-model="queryParamsAdapterManagement.adapterHost" clearable="" placeholder="璇疯緭鍏ラ厤缃富鏈哄彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIAdapterManagement">
+            <el-form-item label="閫傞厤鍣ㄧ鍙e彿">
+              <el-input v-model="queryParamsAdapterManagement.adapterPort" clearable="" placeholder="璇疯緭鍏ラ�傞厤鍣ㄧ鍙e彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIAdapterManagement">
+            <el-form-item label="閫傞厤鍣║RL">
+              <el-input v-model="queryParamsAdapterManagement.adapterURL" clearable="" placeholder="璇疯緭鍏ラ�傞厤鍣║RL"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIAdapterManagement">
+            <el-form-item label="璇锋眰鏂瑰紡">
+              <el-select clearable="" v-model="queryParamsAdapterManagement.adapterRequestMethod" placeholder="璇烽�夋嫨璇锋眰鏂瑰紡">
+                <el-option v-for="(item,index) in getEnumAdapterRequestMethodData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryAdapterManagement" v-auth="'adapterManagement:page'" :disabled="disabled_btnAdapterManagement"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetAdapterManagement"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIAdapterManagement" v-if="!showAdvanceQueryUIAdapterManagement" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIAdapterManagement" v-if="showAdvanceQueryUIAdapterManagement" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddAdapterManagement" v-auth="'adapterManagement:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelAdapterManagement"  v-auth="'adapterManagement:importExcel'" > 瀵煎叆 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelAdapterManagement"  v-auth="'adapterManagement:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefAdapterManagement"
+				:data="tableDataAdapterManagement"
+				style="width: 100%"
+				v-loading="loadingAdapterManagement"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeAdapterManagement"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="adapterCategoryId" label="閫傞厤鍣ㄥぇ绫籭d"  show-overflow-tooltip="" />
+        <el-table-column prop="categoryName" label="閫傞厤鍣ㄥぇ绫诲悕绉�"  show-overflow-tooltip="" />
+        <el-table-column prop="adapterName" label="閫傞厤鍣ㄥ悕绉�"  show-overflow-tooltip="" />
+        <el-table-column prop="adapterMethodName" label="閫傞厤鍣ㄦ柟娉曞悕绉�"  show-overflow-tooltip="" />
+          <el-table-column prop="adapterMode" label="閫傞厤妯″紡"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.adapterMode, getEnumAdapterModeData_Index)}}
+            </template>
+          </el-table-column>
+        <el-table-column prop="adapterHost" label="閰嶇疆涓绘満鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="adapterPort" label="閫傞厤鍣ㄧ鍙e彿"  show-overflow-tooltip="" />
+        <el-table-column prop="adapterURL" label="閫傞厤鍣║RL"  show-overflow-tooltip="" />
+          <el-table-column prop="adapterRequestMethod" label="璇锋眰鏂瑰紡"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.adapterRequestMethod, getEnumAdapterRequestMethodData_Index)}}
+            </template>
+          </el-table-column>
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('adapterManagement:update') || auth('adapterManagement:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditAdapterManagement(scope.row)" v-auth="'adapterManagement:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delAdapterManagement(scope.row)" v-auth="'adapterManagement:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsAdapterManagement.page"
+				v-model:page-size="tableParamsAdapterManagement.pageSize"
+				:total="tableParamsAdapterManagement.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeAdapterManagement"
+				@current-change="handleCurrentChangeAdapterManagement"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogAdapterManagement
+        ref="printDialogRefAdapterManagement"
+        :title="printAdapterManagementTitle"
+        @reloadTable="handleQueryAdapterManagement" />
+      <editDialogAdapterManagement
+        ref="editDialogRefAdapterManagement"
+        :title="editAdapterManagementTitle"
+        @reloadTable="handleQueryAdapterManagement"
+      />
+      <importExcelDialog
+        ref="importExcelDialogRefAdapterManagement"
+        :title="importExcelTitleAdapterManagement"
+        @parentUploadFun="handleImportExcelAdapterManagement"
+        @parentDownFun="handleDownExcelAdapterManagement"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="adapterManagement">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+  import printDialogAdapterManagement from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogAdapterManagement from '/@/views/main/SoftwareAdapterService/adapterManagement/component/editDialog.vue'
+  import { pageAdapterManagement, deleteAdapterManagement,importExcelAdapterManagement,downloadExcelTemplateAdapterManagement } from '/@/api/main/SoftwareAdapterService/adapterManagement';
+  import { listAdapterCategories } from '/@/api/main/SoftwareAdapterService/adapterCategories';
+  
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi  } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumAdapterModeData_Index = ref<any>([]);
+  const getEnumAdapterRequestMethodData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[閫傞厤鍣ㄧ鐞嗘搷浣淽寮�濮�***************************************************/
+  const showAdvanceQueryUIAdapterManagement = ref(false);
+  const tableRefAdapterManagement = ref(null);
+  const printDialogRefAdapterManagement = ref();
+  const editDialogRefAdapterManagement = ref();
+  const loadingAdapterManagement = ref(false);
+  const disabled_btnAdapterManagement = ref(false);
+  const tableDataAdapterManagement = ref<any>([]);
+  const queryParamsAdapterManagement = ref<any>({});
+  const tableParamsAdapterManagement = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printAdapterManagementTitle = ref("");
+  const editAdapterManagementTitle = ref("");
+  const getCatergoryNameData= ref<any>([]);
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIAdapterManagement = () => {
+    showAdvanceQueryUIAdapterManagement.value = !showAdvanceQueryUIAdapterManagement.value;
+  }
+
+  // 鏌ヨ閫傞厤鍣ㄧ鐞�
+  const handleQueryAdapterManagement = async () => {
+    loadingAdapterManagement.value = true;
+    disabled_btnAdapterManagement.value = true;
+    var res = await pageAdapterManagement(Object.assign(queryParamsAdapterManagement.value, tableParamsAdapterManagement.value));
+    if(res.data.type=="success"){
+      tableDataAdapterManagement.value = res.data.result?.items ?? [];
+      tableParamsAdapterManagement.value.total = res.data.result?.total;
+    }
+    loadingAdapterManagement.value = false;
+    disabled_btnAdapterManagement.value = false;
+  };
+
+  // 閲嶇疆閫傞厤鍣ㄧ鐞嗘煡璇�
+  const resetAdapterManagement = async () => {
+    queryParamsAdapterManagement.value = {}
+  };
+
+  // 閫傞厤鍣ㄧ鐞嗗垪鎺掑簭
+  const sortChangeAdapterManagement = async (column: any) => {
+	queryParamsAdapterManagement.value.field = column.prop;
+	queryParamsAdapterManagement.value.order = column.order;
+	await handleQueryAdapterManagement();
+  };
+
+  // 鎵撳紑鏂板閫傞厤鍣ㄧ鐞嗛〉闈�
+  const openAddAdapterManagement = () => {
+    editAdapterManagementTitle.value = '娣诲姞閫傞厤鍣ㄧ鐞�';
+    editDialogRefAdapterManagement.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃閫傞厤鍣ㄧ鐞嗛〉闈�
+  const openPrintAdapterManagement = async (row: any) => {
+    printAdapterManagementTitle.value = '鎵撳嵃閫傞厤鍣ㄧ鐞�';
+  }
+  
+  // 鎵撳紑缂栬緫閫傞厤鍣ㄧ鐞嗛〉闈�
+  const openEditAdapterManagement = (row: any) => {
+    editAdapterManagementTitle.value = '缂栬緫閫傞厤鍣ㄧ鐞�';
+    editDialogRefAdapterManagement.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎閫傞厤鍣ㄧ鐞�
+  const delAdapterManagement = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingAdapterManagement.value = true;
+    var ret = await deleteAdapterManagement(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingAdapterManagement.value = false;
+    handleQueryAdapterManagement();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉閫傞厤鍣ㄧ鐞嗛〉闈㈠閲�
+  const handleSizeChangeAdapterManagement = (val: number) => {
+    tableParamsAdapterManagement.value.pageSize = val;
+    handleQueryAdapterManagement();
+  };
+
+  // 鏀瑰彉閫傞厤鍣ㄧ鐞嗛〉鐮佸簭鍙�
+  const handleCurrentChangeAdapterManagement = (val: number) => {
+    tableParamsAdapterManagement.value.page = val;
+    handleQueryAdapterManagement();
+  };
+
+/***************************************************[閫傞厤鍣ㄧ鐞嗘搷浣淽缁撴潫***************************************************/
+/***************************************************[閫傞厤鍣ㄧ鐞嗗鍏寮�濮�***************************************************/
+const importExcelTitleAdapterManagement = ref("");
+const importExcelDialogRefAdapterManagement = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelAdapterManagement = () => {
+    importExcelTitleAdapterManagement.value = '瀵煎叆閫傞厤鍣ㄧ鐞�';
+    importExcelDialogRefAdapterManagement.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelAdapterManagement = async (formData:Blob) => {
+   var result = await importExcelAdapterManagement(formData);
+   importExcelDialogRefAdapterManagement.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+   if(result.data.type=="success"){
+    handleQueryAdapterManagement();
+   }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelAdapterManagement = async () => {
+   var result = await downloadExcelTemplateAdapterManagement();
+   importExcelDialogRefAdapterManagement.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[閫傞厤鍣ㄧ鐞嗗鍏缁撴潫***************************************************/
+/***************************************************[閫傞厤鍣ㄧ鐞嗗鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapAdapterManagement = {
+      getEnumAdapterModeData_Index,
+      getEnumAdapterRequestMethodData_Index,
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelAdapterManagement = async (formData:Blob) => {
+    loadingAdapterManagement.value = true;
+    disabled_btnAdapterManagement.value = true;
+    var new_tableParamsAdapterManagement=JSON.parse(JSON.stringify(tableParamsAdapterManagement.value));
+    new_tableParamsAdapterManagement.page = 1;
+    new_tableParamsAdapterManagement.pageSize = 100000;
+    var res = await pageAdapterManagement(Object.assign(queryParamsAdapterManagement.value, new_tableParamsAdapterManagement));
+    if(res.data.type=="success"){
+      exportExcelAdapterManagement(res.data.result?.items ?? []);
+    }
+    loadingAdapterManagement.value = false;
+    disabled_btnAdapterManagement.value = false;
+};
+//瀵煎嚭
+const exportExcelAdapterManagement  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefAdapterManagement,"閫傞厤鍣ㄧ鐞�",functionMapAdapterManagement);
+};
+/***************************************************[閫傞厤鍣ㄧ鐞嗗鍑篯缁撴潫***************************************************/
+  // 閫傞厤鍣ㄧ鐞嗛〉闈㈠姞杞芥椂
+  onMounted(async () => {
+    getEnumAdapterModeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AdapterModeEnum')).data.result ?? [];
+    getEnumAdapterRequestMethodData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AdapterRequestMethodEnum')).data.result ?? [];
+	
+  });
+
+  handleQueryAdapterManagement();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/recordAdapter/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/recordAdapter/component/editDialog.vue
new file mode 100644
index 0000000..e07ca31
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/recordAdapter/component/editDialog.vue
@@ -0,0 +1,266 @@
+锘�<template>
+	<div class="recordAdapter-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閫傞厤鍣ㄥぇ绫籭d" prop="adapterCategoryId">
+							<el-input v-model="ruleForm.adapterCategoryId" placeholder="璇疯緭鍏ラ�傞厤鍣ㄥぇ绫籭d" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閫傞厤鍣ㄥぇ绫诲悕绉�" prop="categoryName">
+							<!-- <el-input v-model="ruleForm.categoryName" placeholder="璇疯緭鍏ラ�傞厤鍣ㄥぇ绫诲悕绉�" maxlength="255" show-word-limit clearable /> -->
+							<el-select clearable v-model="ruleForm.categoryName"  placeholder="璇烽�夋嫨閫傞厤鍣ㄥぇ绫诲悕绉�">
+								<el-option v-for="(item, index) in getCatergoryNameData" :key="index" :value="item.categoryName"
+									:label="`${item.categoryName}`"></el-option>
+							</el-select>
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閫傞厤鍣ㄥ悕绉�" prop="adapterName">
+							<el-input v-model="ruleForm.adapterName" placeholder="璇疯緭鍏ラ�傞厤鍣ㄥ悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閫傞厤鍣╥d" prop="adapterId">
+							<el-input v-model="ruleForm.adapterId" placeholder="璇疯緭鍏ラ�傞厤鍣╥d" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閫傞厤鍣ㄦ柟娉曞悕绉�" prop="adapterMethodName">
+							<el-input v-model="ruleForm.adapterMethodName" placeholder="璇疯緭鍏ラ�傞厤鍣ㄦ柟娉曞悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璇锋眰鏉ユ簮" prop="requestSoure">
+							<el-input v-model="ruleForm.requestSoure" placeholder="璇疯緭鍏ヨ姹傛潵婧�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閫傞厤SID" prop="adapterSID">
+							<el-input v-model="ruleForm.adapterSID" placeholder="璇疯緭鍏ラ�傞厤SID" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="寮�濮嬫椂闂�" prop="beginTime">
+							<el-date-picker v-model="ruleForm.beginTime" type="date" placeholder="寮�濮嬫椂闂�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="缁撴潫鏃堕棿" prop="endingTime">
+							<el-date-picker v-model="ruleForm.endingTime" type="date" placeholder="缁撴潫鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鑰楁椂" prop="timeDifference">
+							<el-input v-model="ruleForm.timeDifference" placeholder="璇疯緭鍏ヨ�楁椂" maxlength="16" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="澶勭悊鐘舵��" prop="dealWithStatus">
+							<el-select clearable v-model="ruleForm.dealWithStatus" placeholder="璇烽�夋嫨澶勭悊鐘舵��">
+								<el-option v-for="(item,index) in  getEnumDealWithStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閿欒淇℃伅" prop="errMessage">
+							<el-input v-model="ruleForm.errMessage" placeholder="璇疯緭鍏ラ敊璇俊鎭�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閫傞厤鍙傛暟" prop="adapterInput">
+							<el-input v-model="ruleForm.adapterInput" placeholder="璇疯緭鍏ラ�傞厤鍙傛暟" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閫傞厤鎶ユ枃" prop="adapterReturnMassage">
+							<el-input v-model="ruleForm.adapterReturnMassage" placeholder="璇疯緭鍏ラ�傞厤鎶ユ枃" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐩稿叧鍗曞彿" prop="adapterReturnMassage">
+							<el-input v-model="ruleForm.orderNo" placeholder="璇疯緭鍏ョ浉鍏冲崟鍙�"  show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addRecordAdapter, updateRecordAdapter, detailRecordAdapter } from "/@/api/main/SoftwareAdapterService/recordAdapter";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+    import { listAdapterCategories } from '/@/api/main/SoftwareAdapterService/adapterCategories';
+	
+	const getEnumDealWithStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	const getCatergoryNameData = ref<any>([]);
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		adapterCategoryId: [{required: true, message: '璇疯緭鍏ラ�傞厤鍣ㄥぇ绫籭d锛�', trigger: 'blur',},],
+		categoryName: [{required: true, message: '璇疯緭鍏ュ崟鎹ぇ绫诲悕绉帮紒', trigger: 'blur',},],
+		adapterName: [{required: true, message: '璇疯緭鍏ラ�傞厤鍣ㄥ悕绉帮紒', trigger: 'blur',},],
+		adapterId: [{required: true, message: '璇疯緭鍏ラ�傞厤鍣╥d锛�', trigger: 'blur',},],
+		adapterMethodName: [{required: true, message: '璇疯緭鍏ラ�傞厤鍣ㄦ柟娉曞悕绉帮紒', trigger: 'blur',},],
+		requestSoure: [{required: true, message: '璇疯緭鍏ヨ姹傛潵婧愶紒', trigger: 'blur',},],
+		adapterSID: [{required: true, message: '璇疯緭鍏ラ�傞厤SID锛�', trigger: 'blur',},],
+		timeDifference: [{required: true, message: '璇疯緭鍏ヨ�楁椂锛�', trigger: 'blur',},],
+		dealWithStatus: [{required: true, message: '璇烽�夋嫨澶勭悊鐘舵�侊紒', trigger: 'change',},],
+		errMessage: [{required: true, message: '璇疯緭鍏ヨ姹傛潵婧愶紒', trigger: 'blur',},],
+		adapterInput: [{required: true, message: '璇疯緭鍏ラ�傞厤鍙傛暟锛�', trigger: 'blur',},],
+		adapterReturnMassage: [{required: true, message: '璇疯緭鍏ラ�傞厤鎶ユ枃锛�', trigger: 'blur',},],
+		orderNo: [{required: true, message: '璇疯緭鍏ュ崟鎹紪鍙凤紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailRecordAdapter(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				ruleForm.value.adapterCategoryId = getCatergoryNameData.value.filter((v)=>v.categoryName == ruleForm.value.categoryName)[0]?.id;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addRecordAdapter(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateRecordAdapter(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumDealWithStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AdapterLogDealWithEnum')).data.result ?? [];
+			let temp = ref<any>([]);
+			getCatergoryNameData.value = (await listAdapterCategories(temp)).data.result;
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/recordAdapter/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/recordAdapter/index.vue
new file mode 100644
index 0000000..c3d2510
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/SoftwareAdapterService/recordAdapter/index.vue
@@ -0,0 +1,438 @@
+<template>
+	<div class="recordAdapter-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="queryParamsRecordAdapter" ref="queryForm" labelWidth="100">
+				<el-row>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+						<el-form-item label="鍏抽敭瀛�">
+							<el-input v-model="queryParamsRecordAdapter.searchKey" clearable="" placeholder="鍗曟嵁澶х被鍚嶇О,閫傞厤鍣ㄥ悕绉�,閫傞厤鍣ㄦ柟娉曞悕绉�,璇锋眰鏉ユ簮,閫傞厤SID,璇锋眰鏉ユ簮,閫傞厤鍙傛暟,閫傞厤鎶ユ枃,鍒涘缓浜�,淇敼浜�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIRecordAdapter">
+						<el-form-item label="鍏抽敭鍊�">
+							<el-input v-model="queryParamsRecordAdapter.keyCode" clearable="" placeholder="璇疯緭鍏ュ叧閿��" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIRecordAdapter">
+						<el-form-item label="鍗曟嵁澶х被鍚嶇О">
+							<el-input v-model="queryParamsRecordAdapter.categoryName" clearable="" placeholder="璇疯緭鍏ュ崟鎹ぇ绫诲悕绉�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIRecordAdapter">
+						<el-form-item label="閫傞厤鍣ㄥ悕绉�">
+							<el-input v-model="queryParamsRecordAdapter.adapterName" clearable="" placeholder="璇疯緭鍏ラ�傞厤鍣ㄥ悕绉�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIRecordAdapter">
+						<el-form-item label="閫傞厤鍣╥d">
+							<el-input v-model="queryParamsRecordAdapter.adapterId" clearable="" placeholder="璇疯緭鍏ラ�傞厤鍣╥d" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIRecordAdapter">
+						<el-form-item label="閫傞厤鍣ㄦ柟娉曞悕绉�">
+							<el-input v-model="queryParamsRecordAdapter.adapterMethodName" clearable="" placeholder="璇疯緭鍏ラ�傞厤鍣ㄦ柟娉曞悕绉�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIRecordAdapter">
+						<el-form-item label="璇锋眰鏉ユ簮">
+							<el-input v-model="queryParamsRecordAdapter.requestSoure" clearable="" placeholder="璇疯緭鍏ヨ姹傛潵婧�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIRecordAdapter">
+						<el-form-item label="閫傞厤SID">
+							<el-input v-model="queryParamsRecordAdapter.adapterSID" clearable="" placeholder="璇疯緭鍏ラ�傞厤SID" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIRecordAdapter">
+						<el-form-item label="寮�濮嬫椂闂�">
+							<el-date-picker placeholder="璇烽�夋嫨寮�濮嬫椂闂�" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsRecordAdapter.beginTimeRange" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIRecordAdapter">
+						<el-form-item label="缁撴潫鏃堕棿">
+							<el-date-picker placeholder="璇烽�夋嫨缁撴潫鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsRecordAdapter.endingTimeRange" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIRecordAdapter">
+						<el-form-item label="鑰楁椂">
+							<el-input v-model="queryParamsRecordAdapter.timeDifference" clearable="" placeholder="璇疯緭鍏ヨ�楁椂" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIRecordAdapter">
+						<el-form-item label="澶勭悊鐘舵��">
+							<el-select clearable="" v-model="queryParamsRecordAdapter.dealWithStatus" placeholder="璇烽�夋嫨澶勭悊鐘舵��">
+								<el-option v-for="(item, index) in getEnumDealWithStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIRecordAdapter">
+            <el-form-item label="璇锋眰鏉ユ簮">
+              <el-input v-model="queryParamsRecordAdapter.errMessage" clearable="" placeholder="璇疯緭鍏ヨ姹傛潵婧�"/>
+              
+            </el-form-item>
+          </el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIRecordAdapter">
+						<el-form-item label="閫傞厤鍙傛暟">
+							<el-input v-model="queryParamsRecordAdapter.adapterInput" clearable="" placeholder="璇疯緭鍏ラ�傞厤鍙傛暟" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIRecordAdapter">
+						<el-form-item label="閫傞厤鎶ユ枃">
+							<el-input v-model="queryParamsRecordAdapter.adapterReturnMassage" clearable="" placeholder="璇疯緭鍏ラ�傞厤鎶ユ枃" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIRecordAdapter">
+						<el-form-item label="鐩稿叧鍗曟嵁">
+							<el-input v-model="queryParamsRecordAdapter.orderNo" clearable="" placeholder="璇疯緭鍏ュ崟鎹紪鍙�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+						<el-form-item>
+							<el-button-group style="display: flex; align-items: center">
+								<el-button type="primary" icon="ele-Search" @click="handleQueryRecordAdapter" v-auth="'recordAdapter:page'" :disabled="disabled_btnRecordAdapter"> 鏌ヨ </el-button>
+								<el-button icon="ele-Refresh" @click="resetRecordAdapter"> 閲嶇疆 </el-button>
+								<el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIRecordAdapter" v-if="!showAdvanceQueryUIRecordAdapter" style="margin-left: 5px"> 楂樼骇鏌ヨ </el-button>
+								<el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIRecordAdapter" v-if="showAdvanceQueryUIRecordAdapter" style="margin-left: 5px"> 闅愯棌 </el-button>
+								<el-button type="primary" style="margin-left: 5px" icon="ele-Plus" @click="openAddRecordAdapter" v-auth="'recordAdapter:add'"> 鏂板 </el-button>
+
+								<el-button type="primary" style="margin-left: 5px" icon="ele-Upload" @click="openImportExcelRecordAdapter" v-auth="'recordAdapter:importExcel'"> 瀵煎叆 </el-button>
+
+                <el-button icon="ele-Refresh" style="margin-left: 5px" size="small" text="" type="primary" @click="cancelAndFinishRecordAdapter({}, 3)" :disabled="checkedDetails.length != 1"> 閲嶈瘯 </el-button>
+
+								<el-button type="primary" style="margin-left: 5px" icon="ele-Download" @click="handleExportExcelRecordAdapter" v-auth="'recordAdapter:exportExcel'"> 瀵煎嚭 </el-button>
+
+
+							</el-button-group>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</el-card>
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table
+				ref="tableRefRecordAdapter"
+				:data="tableDataRecordAdapter"
+				style="width: 100%"
+				v-loading="loadingRecordAdapter"
+				tooltip-effect="light"
+				row-key="id"
+				@sort-change="sortChangeRecordAdapter"
+				@selection-change="detailsCheckChange"
+				border=""
+			>
+				<el-table-column fixed="left" align="center" width="60" type="selection" />
+				<el-table-column fixed="left" type="index" label="搴忓彿" width="55" align="center" />
+				<el-table-column fixed="left" prop="categoryName" label="鍗曟嵁澶х被鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="adapterName" label="閫傞厤鍣ㄥ悕绉�" show-overflow-tooltip="" />
+				<el-table-column prop="adapterId"  min-width="110px" label="閫傞厤鍣╥d" show-overflow-tooltip="" />
+				<el-table-column prop="adapterMethodName"  min-width="110px" label="閫傞厤鍣ㄦ柟娉曞悕绉�" show-overflow-tooltip="" />
+				<el-table-column prop="requestSoure" label="璇锋眰鏉ユ簮" show-overflow-tooltip="" />
+				<el-table-column prop="adapterSID" label="閫傞厤SID" show-overflow-tooltip="" />
+				<el-table-column prop="keyCode" label="鍏抽敭鍊�"  min-width="110px" show-overflow-tooltip="" />
+				<el-table-column prop="beginTime" label="寮�濮嬫椂闂�" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+				<el-table-column prop="endingTime" label="缁撴潫鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+				<el-table-column prop="timeDifference" label="鑰楁椂" show-overflow-tooltip="" />
+				<el-table-column prop="dealWithStatus" label="澶勭悊鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag>{{ getEnumDesc(scope.row.dealWithStatus, getEnumDealWithStatusData_Index) }}</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="errMessage" label="閿欒淇℃伅" show-overflow-tooltip="" />
+				<el-table-column prop="adapterInput" label="閫傞厤鍙傛暟" show-overflow-tooltip="" />
+				<el-table-column prop="adapterReturnMassage" label="閫傞厤鎶ユ枃" show-overflow-tooltip="" />
+				<el-table-column prop="orderNo" label="鍗曟嵁缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+				<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+				<el-table-column label="鎿嶄綔" width="180" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('recordAdapter:cancel')">
+					<template #default="scope">
+						<!-- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditRecordAdapter(scope.row)" v-auth="'recordAdapter:update'"> 缂栬緫 </el-button>
+						<el-button icon="ele-Delete" size="small" text="" type="primary" @click="delRecordAdapter(scope.row)" v-auth="'recordAdapter:delete'"> 鍒犻櫎 </el-button>
+						<el-button icon="ele-Delete" size="small" text="" type="primary" @click="delRecordAdapter(scope.row)" v-auth="'recordAdapter:cancel'"> 鍙栨秷 </el-button> -->
+
+						<el-button icon="ele-Delete" size="small" text="" type="primary" @click="cancelAndFinishRecordAdapter(scope.row, 1)" v-auth="'recordAdapter:cancel'"> 鍙栨秷 </el-button>
+						<el-button icon="ele-Finished" size="small" text="" type="primary" @click="cancelAndFinishRecordAdapter(scope.row, 2)" v-auth="'recordAdapter:cancel'"> 寮哄埗瀹屾垚 </el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="tableParamsRecordAdapter.page"
+				v-model:page-size="tableParamsRecordAdapter.pageSize"
+				:total="tableParamsRecordAdapter.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeRecordAdapter"
+				@current-change="handleCurrentChangeRecordAdapter"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+			<printDialogRecordAdapter ref="printDialogRefRecordAdapter" :title="printRecordAdapterTitle" @reloadTable="handleQueryRecordAdapter" />
+			<editDialogRecordAdapter ref="editDialogRefRecordAdapter" :title="editRecordAdapterTitle" @reloadTable="handleQueryRecordAdapter" />
+			<importExcelDialog
+				ref="importExcelDialogRefRecordAdapter"
+				:title="importExcelTitleRecordAdapter"
+				@parentUploadFun="handleImportExcelRecordAdapter"
+				@parentDownFun="handleDownExcelRecordAdapter"
+			/>
+		</el-card>
+	</div>
+</template>
+
+<script lang="ts" setup="" name="recordAdapter">
+import { ref, onMounted } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import importExcelDialog from '/@/components/importExcel/index.vue'; //寮曞叆瀵煎叆缁勪欢
+import { exportPageExcel } from '/@/utils/exportPageExcel'; //寮曞叆瀵煎嚭鏂规硶
+
+import printDialogRecordAdapter from '/@/views/system/print/component/hiprint/preview.vue';
+import editDialogRecordAdapter from '/@/views/main/SoftwareAdapterService/recordAdapter/component/editDialog.vue';
+import {
+	pageRecordAdapter,
+	deleteRecordAdapter,
+	importExcelRecordAdapter,
+	downloadExcelTemplateRecordAdapter,
+	finishRecordAdapter,
+	cancelRecordAdapter,
+	resetOkRecordAdapter,
+} from '/@/api/main/SoftwareAdapterService/recordAdapter';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+
+const getEnumDealWithStatusData_Index = ref<any>([]);
+
+const { getEnumDesc } = commonFunction();
+
+/***************************************************[閫傞厤璁板綍鎿嶄綔]寮�濮�***************************************************/
+const showAdvanceQueryUIRecordAdapter = ref(false);
+const tableRefRecordAdapter = ref(null);
+const printDialogRefRecordAdapter = ref();
+const editDialogRefRecordAdapter = ref();
+const loadingRecordAdapter = ref(false);
+const disabled_btnRecordAdapter = ref(false);
+const tableDataRecordAdapter = ref<any>([]);
+const queryParamsRecordAdapter = ref<any>({});
+const tableParamsRecordAdapter = ref({
+	page: 1,
+	pageSize: 10,
+	total: 0,
+});
+
+const printRecordAdapterTitle = ref('');
+const editRecordAdapterTitle = ref('');
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUIRecordAdapter = () => {
+	showAdvanceQueryUIRecordAdapter.value = !showAdvanceQueryUIRecordAdapter.value;
+};
+
+// 鏌ヨ閫傞厤璁板綍
+const handleQueryRecordAdapter = async () => {
+	loadingRecordAdapter.value = true;
+	disabled_btnRecordAdapter.value = true;
+	var res = await pageRecordAdapter(Object.assign(queryParamsRecordAdapter.value, tableParamsRecordAdapter.value));
+	if (res.data.type == 'success') {
+		tableDataRecordAdapter.value = res.data.result?.items ?? [];
+		tableParamsRecordAdapter.value.total = res.data.result?.total;
+	}
+	loadingRecordAdapter.value = false;
+	disabled_btnRecordAdapter.value = false;
+};
+
+// 閲嶇疆閫傞厤璁板綍鏌ヨ
+const resetRecordAdapter = async () => {
+	queryParamsRecordAdapter.value = {};
+};
+
+// 閫傞厤璁板綍鍒楁帓搴�
+const sortChangeRecordAdapter = async (column: any) => {
+	queryParamsRecordAdapter.value.field = column.prop;
+	queryParamsRecordAdapter.value.order = column.order;
+	await handleQueryRecordAdapter();
+};
+
+// 鎵撳紑鏂板閫傞厤璁板綍椤甸潰
+const openAddRecordAdapter = () => {
+	editRecordAdapterTitle.value = '娣诲姞閫傞厤璁板綍';
+	editDialogRefRecordAdapter.value.openDialog(1, {});
+};
+
+// 鎵撳紑鎵撳嵃閫傞厤璁板綍椤甸潰
+const openPrintRecordAdapter = async (row: any) => {
+	printRecordAdapterTitle.value = '鎵撳嵃閫傞厤璁板綍';
+};
+
+// 鎵撳紑缂栬緫閫傞厤璁板綍椤甸潰
+const openEditRecordAdapter = (row: any) => {
+	editRecordAdapterTitle.value = '缂栬緫閫傞厤璁板綍';
+	editDialogRefRecordAdapter.value.openDialog(2, row);
+};
+
+// 鍒犻櫎閫傞厤璁板綍
+const delRecordAdapter = (row: any) => {
+	ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			loadingRecordAdapter.value = true;
+			var ret = await deleteRecordAdapter(row);
+			if (ret.data.type == 'success') {
+				ElMessage.success('鍒犻櫎鎴愬姛');
+			}
+			loadingRecordAdapter.value = false;
+			handleQueryRecordAdapter();
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉閫傞厤璁板綍椤甸潰瀹归噺
+const handleSizeChangeRecordAdapter = (val: number) => {
+	tableParamsRecordAdapter.value.pageSize = val;
+	handleQueryRecordAdapter();
+};
+
+// 鏀瑰彉閫傞厤璁板綍椤电爜搴忓彿
+const handleCurrentChangeRecordAdapter = (val: number) => {
+	tableParamsRecordAdapter.value.page = val;
+	handleQueryRecordAdapter();
+};
+
+/***************************************************[閫傞厤璁板綍鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[閫傞厤璁板綍瀵煎叆]寮�濮�***************************************************/
+const importExcelTitleRecordAdapter = ref('');
+const importExcelDialogRefRecordAdapter = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelRecordAdapter = () => {
+	importExcelTitleRecordAdapter.value = '瀵煎叆閫傞厤璁板綍';
+	importExcelDialogRefRecordAdapter.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelRecordAdapter = async (formData: Blob) => {
+	var result = await importExcelRecordAdapter(formData);
+	importExcelDialogRefRecordAdapter.value.callBackUploadFun(result.data); //鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+	if (result.data.type == 'success') {
+		handleQueryRecordAdapter();
+	}
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelRecordAdapter = async () => {
+	var result = await downloadExcelTemplateRecordAdapter();
+	importExcelDialogRefRecordAdapter.value.callBackDownFun(result); //鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[閫傞厤璁板綍瀵煎叆]缁撴潫***************************************************/
+/***************************************************[閫傞厤璁板綍瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapRecordAdapter = {
+	getEnumDealWithStatusData_Index,
+	formatDate_T_Date,
+	formatDate_T_Time,
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelRecordAdapter = async (formData: Blob) => {
+	loadingRecordAdapter.value = true;
+	disabled_btnRecordAdapter.value = true;
+	var new_tableParamsRecordAdapter = JSON.parse(JSON.stringify(tableParamsRecordAdapter.value));
+	new_tableParamsRecordAdapter.page = 1;
+	new_tableParamsRecordAdapter.pageSize = 100000;
+	var res = await pageRecordAdapter(Object.assign(queryParamsRecordAdapter.value, new_tableParamsRecordAdapter));
+	if (res.data.type == 'success') {
+		exportExcelRecordAdapter(res.data.result?.items ?? []);
+	}
+	loadingRecordAdapter.value = false;
+	disabled_btnRecordAdapter.value = false;
+};
+//瀵煎嚭
+const exportExcelRecordAdapter = async (exportDataList: Array) => {
+	exportPageExcel(exportDataList, tableRefRecordAdapter, '閫傞厤璁板綍', functionMapRecordAdapter);
+};
+/***************************************************[閫傞厤璁板綍瀵煎嚭]缁撴潫***************************************************/
+// 閫傞厤璁板綍椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+	getEnumDealWithStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AdapterLogDealWithEnum')).data.result ?? [];
+});
+
+handleQueryRecordAdapter();
+
+const checkedDetails = ref<any[]>([]);
+
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+
+//鍙栨秷 || 瀹屾垚
+const cancelAndFinishRecordAdapter = (row: any, type: any) => {
+	if (type == 1) {
+		// 鍙栨秷
+		ElMessageBox.confirm(`纭畾瑕佸彇娑堝悧?`, '鎻愮ず', {
+			confirmButtonText: '纭畾',
+			cancelButtonText: '鍙栨秷',
+			type: 'warning',
+		})
+			.then(async () => {
+				loadingRecordAdapter.value = true;
+				var ret = await cancelRecordAdapter(row);
+				if (ret.data.type == 'success') {
+					ElMessage.success('鍙栨秷鎴愬姛');
+				}
+				loadingRecordAdapter.value = false;
+				handleQueryRecordAdapter();
+			})
+			.catch(() => {});
+	}
+	if (type == 2) {
+		// 瀹屾垚
+		ElMessageBox.confirm(`纭畾寮哄埗瀹屾垚鍚�?`, '鎻愮ず', {
+			confirmButtonText: '纭畾',
+			cancelButtonText: '鍙栨秷',
+			type: 'warning',
+		})
+			.then(async () => {
+				loadingRecordAdapter.value = true;
+				var ret = await finishRecordAdapter(row);
+				if (ret.data.type == 'success') {
+					ElMessage.success('寮哄埗瀹屾垚鎴愬姛');
+				}
+				loadingRecordAdapter.value = false;
+				handleQueryRecordAdapter();
+			})
+			.catch(() => {});
+	}
+
+	if (type == 3) {
+		// 閲嶈瘯
+		ElMessageBox.confirm(`鏄惁纭畾閲嶈瘯鍚�?`, '鎻愮ず', {
+			confirmButtonText: '纭畾',
+			cancelButtonText: '鍙栨秷',
+			type: 'warning',
+		})
+			.then(async () => {
+				const handleArr: number[] = [];
+				checkedDetails.value.forEach((item) => {
+					handleArr.push(item.id);
+				});
+				const obj = { IdList: handleArr };
+				loadingRecordAdapter.value = true;
+				var ret = await resetOkRecordAdapter(obj);
+				if (ret.data.type == 'success') {
+					ElMessage.success('閲嶈瘯鎴愬姛');
+				}
+				loadingRecordAdapter.value = false;
+				handleQueryRecordAdapter();
+			})
+			.catch(() => {});
+	}
+};
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testStudent/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testStudent/component/editDialog.vue
new file mode 100644
index 0000000..ef5a423
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testStudent/component/editDialog.vue
@@ -0,0 +1,264 @@
+锘�<template>
+	<div class="testStudent-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閲嶅鎬ф牎楠屾柟寮�" prop="repCheckType">
+							<el-input v-model="ruleForm.repCheckType" placeholder="璇疯緭鍏ラ噸澶嶆�ф牎楠屾柟寮�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鑰佸笀ID(鍙┖)" prop="teacherId">
+							<el-input v-model="ruleForm.teacherId" placeholder="璇疯緭鍏ヨ�佸笀ID(鍙┖)" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鑰佸笀鍚嶅瓧(鍙┖)" prop="teacherName">
+							<el-input v-model="ruleForm.teacherName" placeholder="璇疯緭鍏ヨ�佸笀鍚嶅瓧(鍙┖)" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀛︾敓濮撳悕" prop="name">
+							<el-input v-model="ruleForm.name" placeholder="璇疯緭鍏ュ鐢熷鍚�" maxlength="2000" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍒悕(鍙┖)" prop="aliName">
+							<el-input v-model="ruleForm.aliName" placeholder="璇疯緭鍏ュ埆鍚�(鍙┖)" maxlength="2000" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀛︾敓骞撮緞" prop="age">
+							<el-input-number v-model="ruleForm.age" placeholder="璇疯緭鍏ュ鐢熷勾榫�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="骞寸邯(鍙┖)" prop="nianJi">
+							<el-input-number v-model="ruleForm.nianJi" placeholder="璇疯緭鍏ュ勾绾�(鍙┖)" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏍¢暱ID(鍙┖)" prop="rectorId">
+							<el-input v-model="ruleForm.rectorId" placeholder="璇疯緭鍏ユ牎闀縄D(鍙┖)" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="闆惰姳閽�" prop="hasMoney">
+							<el-input v-model="ruleForm.hasMoney" placeholder="璇疯緭鍏ラ浂鑺遍挶" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="韬环(鍙┖)" prop="shenJia">
+							<el-input v-model="ruleForm.shenJia" placeholder="璇疯緭鍏ヨ韩浠�(鍙┖)" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁鍦ㄦ牎" prop="isInSchool">
+							<el-switch v-model="ruleForm.isInSchool" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁澶栧湴浜�(鍙┖)" prop="isWDR">
+							<el-switch v-model="ruleForm.isWDR" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎬у埆" prop="gender">
+							<el-select clearable v-model="ruleForm.gender" placeholder="璇烽�夋嫨鎬у埆">
+								<el-option v-for="(item,index) in  getEnumGenderData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏朵粬鎬у埆(鍙┖)" prop="otherGender">
+							<el-select clearable v-model="ruleForm.otherGender" placeholder="璇烽�夋嫨鍏朵粬鎬у埆(鍙┖)">
+								<el-option v-for="(item,index) in  getEnumOtherGenderData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍑虹敓鏃ユ湡" prop="brithDate">
+							<el-date-picker v-model="ruleForm.brithDate" type="date" placeholder="鍑虹敓鏃ユ湡" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏ュ鏃ユ湡(鍙┖)" prop="inSchoolDate">
+							<el-date-picker v-model="ruleForm.inSchoolDate" type="date" placeholder="鍏ュ鏃ユ湡(鍙┖)" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addTestStudent, updateTestStudent, detailTestStudent } from "/@/api/main/TestDemo/testStudent";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumGenderData = ref<any>([]);
+	const getEnumOtherGenderData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		name: [{required: true, message: '璇疯緭鍏ュ鐢熷鍚嶏紒', trigger: 'blur',},],
+		age: [{required: true, message: '璇疯緭鍏ュ鐢熷勾榫勶紒', trigger: 'blur',},],
+		hasMoney: [{required: true, message: '璇疯緭鍏ラ浂鑺遍挶锛�', trigger: 'blur',},],
+		isInSchool: [{required: true, message: '璇烽�夋嫨鏄惁鍦ㄦ牎锛�', trigger: 'change',},],
+		gender: [{required: true, message: '璇烽�夋嫨鎬у埆锛�', trigger: 'change',},],
+		brithDate: [{required: true, message: '璇烽�夋嫨鍑虹敓鏃ユ湡锛�', trigger: 'change',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailTestStudent(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+			ruleForm.value.isInSchool = false;//蹇呭~锛岃祴鍊奸粯璁ゅ��
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addTestStudent(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateTestStudent(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumGenderData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AreaTypeEnum')).data.result ?? [];
+			getEnumOtherGenderData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('ActionLogTypeEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testStudent/component/openAllprop.vue b/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testStudent/component/openAllprop.vue
new file mode 100644
index 0000000..5152dab
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testStudent/component/openAllprop.vue
@@ -0,0 +1,1588 @@
+<template>
+  <!-- 娣诲姞銆佺紪杈� -->
+  <el-dialog v-model="dialogVisible"  width="80%" @close="closeDialog">
+    <template #header>
+				<div style="color: #fff">
+					<span>{{ dialogType == 'add' ? '娣诲姞' : '缂栬緫' }}</span>
+				</div>
+			</template>
+
+    <!-- <el-form :model="addForm" label-width="125px" ref="dialogRef" :rules="formRules"> -->
+      <el-form :model="addForm" ref="dialogRef" labelWidth="90">
+      <el-row>
+        <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="dialogType == 'add'">
+          <el-form-item label="璁㈠崟绫诲瀷:" prop="materialType">
+            <el-select  v-model="addForm.materialType" placeholder="璇烽�夋嫨璁㈠崟绫诲瀷" @change="changDdlx"
+              style="width: 100%">
+              <el-option v-for="item in statusEnums" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <!-- 缂栬緫涓嬫媺璇诲彇鎵�鏈夊崟鎹被鍨� -->
+        <el-col :span="8" v-if="dialogType == 'edit'">
+          <el-form-item label="璁㈠崟绫诲瀷:" prop="materialType">
+            <el-select v-model="addForm.materialType" disabled placeholder="璇烽�夋嫨璁㈠崟绫诲瀷"  style="width: 100%">
+              <el-option v-for="item in outInTypeEnum" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <!-- 鏆傛椂娉ㄩ噴 -->
+        <el-col :span="8" v-if="addForm.materialType == 5">
+          <el-form-item label="鍏嶈垂浠剁被鍨�:" prop="freeOrderType">
+            <el-select v-model="addForm.freeOrderType" placeholder="璇烽�夋嫨鍏嶈垂浠剁被鍨�"  style="width: 100%"
+              @change="changMfj" :disabled="dialogType == 'edit'">
+              <el-option v-for="item in statusEnumsMFj" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="鍗曞彿:" prop="purchaseNo">
+            <el-input v-model="addForm.purchaseNo" :disabled="dialogType == 'edit'" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+          </el-form-item>
+        </el-col>
+        <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="addForm.materialType != 22">
+          <el-form-item label="渚涘簲鍟嗕唬鐮�:" prop="supplierCode" required>
+            <el-select v-model="addForm.supplierCode" filterable placeholder="璇烽�夋嫨渚涘簲鍟嗕唬鐮�"  style="width: 100%;">
+              <el-option v-for="item in clientEnum" :key="item.code" :label="item.code" :value="item.code" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8" v-if="addForm.materialType != 22">
+          <el-form-item label="渚涘簲鍟嗗悕绉�:">
+            <el-input v-model="companyName" disabled />
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="澶囨敞:">
+            <el-input v-model="addForm.remark" clearable placeholder="璇疯緭鍏ュ娉�" />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="棰勮鍒拌揪鏃堕棿:" prop="EstimatedDate">
+            <el-date-picker v-model="addForm.EstimatedDate" type="datetime" :disabled-date="disabledDate"
+              value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨棰勮鍒拌揪鏃堕棿"
+              style="width: 100%;" />
+          </el-form-item>
+        </el-col>
+
+        <!-- 缁欏厤璐逛欢鐢� -->
+        <template v-if="addForm.materialType == 5">
+          <!-- <el-col :span="8" v-if="isShowBomBtn">
+            <el-form-item label="DI鍙�:" prop="dI_NO">
+              <el-input v-model="addForm.dI_NO" clearable placeholder="璇疯緭鍏I鍙�" />
+            </el-form-item>
+          </el-col> -->
+
+          <el-col :span="8" v-if="addForm.freeOrderType && !isShowBomBtn">
+            <el-form-item label="SJ NO.:">
+              <el-input v-model="addForm.sJ_NO" clearable placeholder="璇疯緭鍏J NO." />
+            </el-form-item>
+          </el-col>
+          
+          <el-col :span="8" v-if="addForm.freeOrderType && !isShowBomBtn">
+            <el-form-item label="鏈哄簥鍨嬪彿:" prop="machineToolTypeName">
+              <el-input v-model="addForm.machineToolTypeName" clearable placeholder="璇疯緭鍏ユ満搴婂瀷鍙�" />
+            </el-form-item>
+          </el-col>
+          
+          <el-col :span="8" v-if="addForm.freeOrderType && !isShowBomBtn">
+            <el-form-item label="鏈哄簥搴忓垪鍙�:">
+              <el-input v-model="addForm.machineToolNo" clearable placeholder="璇疯緭鍏ユ満搴婂簭鍒楀彿" />
+            </el-form-item>
+          </el-col>
+        
+        </template>
+
+      </el-row>
+    </el-form>
+    <div class="msi-content" style="margin-top: 10px">
+      <div class="header" style="margin-bottom: 10px">
+        <div>
+          <el-button type="primary" icon="el-icon-plus" @click="addMaterialDialog">鏂板鐗╂枡</el-button>
+          <!-- <el-button
+            type="primary"
+            icon="el-icon-plus"
+            @click="bomIssue"
+            v-if="isShowBomBtn">鏂板BOM</el-button>  -->
+
+          <el-button type="primary" icon="el-icon-plus" @click="diwhIssue" v-if="isShowBomBtn">鏂板DI缁存姢</el-button>
+
+
+          <el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+            @click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+
+        </div>
+      </div>
+
+      <el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+        @selection-change="detailsCheckChange" max-height="480">
+        <el-table-column align="center" width="60" type="selection" />
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center" show-overflow-tooltip />
+        <el-table-column label="鐗╂枡鍚嶇О" min-width="140" prop="materialName" align="center" show-overflow-tooltip />
+        <!-- 鍏嶈垂浠剁敤 -->
+        <el-table-column v-if="isShowBomBtn" min-width="160" label="DI缂栧彿" prop="detailsDI_NO" align="center"
+          show-overflow-tooltip />
+
+     <!-- <el-table-column label="diRelationID"  v-if="isShowBomBtn" prop="diRelationID" align="center" min-width="110" />   -->
+
+
+        <el-table-column label="BOM缂栧彿" v-if="isShowBomBtn" prop="boM_NO" align="center" min-width="110" />
+
+        <el-table-column label="鏈哄簥鍨嬪彿" v-if="isShowBomBtn" prop="machineToolTypeName" align="center" min-width="110" />
+        <el-table-column label="鏈哄簥鍙�" v-if="isShowBomBtn" prop="machineToolNo" align="center" min-width="110" />
+        <!-- clientCode -->
+        <el-table-column label="瀹㈡埛缂栧彿" v-if="isShowBomBtn" prop="diCustomCode" align="center" min-width="110" />
+        <el-table-column label="瀹㈡埛涓枃鍚嶇О" v-if="isShowBomBtn" prop="diCustomChinaName" align="center" min-width="110" />
+
+
+
+
+        <!-- <el-table-column   v-if="isShowBomBtn" min-width="160" label="BOM缂栧彿" prop="boM_NO" align="center" show-overflow-tooltip />
+
+        <el-table-column
+          label="濂楁暟"
+          v-if="isShowBomBtn"
+          align="center"
+          show-overflow-tooltip
+        >
+        <template #default="scope">
+          <span v-if="scope.row.bomConverNumber">
+          {{ Number( scope.row.bomConverNumber).toFixed(3) }}
+          </span> -->
+        <!-- <span v-if="scope.row.dantaoNum">
+            {{ Number( (scope.row.deliveryQuantity )/ scope.row.dantaoNum).toFixed(3)}} 
+          </span>  -->
+        <!-- </template>
+      </el-table-column>
+      <el-table-column
+          label="鍗曞鏁�"
+          v-if="isShowBomBtn"
+          prop="dantaoNum"
+          :formatter="formatDecimalData"
+          align="center"
+          show-overflow-tooltip
+        >
+        <template #default="scope">
+          <span v-if="scope.row.boM_NO && scope.row.bomConverNumber">
+          {{ Number( (scope.row.deliveryQuantity ) / scope.row.bomConverNumber).toFixed(0)}} 
+        </span> 
+        </template>
+      </el-table-column> -->
+
+        <el-table-column label="琛屽彿" prop="ebelp" align="center" min-width="120">
+          <template #default="scope">
+            <el-input v-model.trim="scope.row.ebelp" clearable min-width="150" placeholder="璇疯緭鍏ヨ鍙�" />
+          </template>
+        </el-table-column>
+        <!-- :disabled="!!scope.row.boM_NO" -->
+        <el-table-column label="鏁伴噺" align="center" min-width="180">
+          <template #default="scope">
+            <el-input-number :precision="3" min="0" v-model="scope.row.deliveryQuantity" size="small" />
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="dialogVisible = false">鍙栨秷</el-button>
+        <el-button type="primary" :disabled="warehousOrderDetails.length == 0" @click="confirm">纭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+  <!-- 娣诲姞鐗╂枡 -->
+  <el-dialog v-model="addMaterialVisible" title="娣诲姞鐗╂枡璇︽儏" width="60%" @close="closeMaterialDialog">
+    <template #header>
+				<div style="color: #fff">
+					<span>娣诲姞鐗╂枡璇︽儏</span>
+				</div>
+			</template>
+
+    <div class="msi-form" style="padding-top: 0px">
+      <el-form :model="materialForm"  >
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="materialForm.Code" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :span="8">
+            <el-form-item label="鐗╂枡澶х被:">
+              <el-input v-model="materialForm.MaterialTypeId" placeholder="璇疯緭鍏ョ墿鏂欏ぇ绫�" clearable></el-input>
+            </el-form-item>
+          </el-col> -->
+
+          <el-col :span="8">
+            <el-form-item label-width="20px">
+              <el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+              <!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <div class="msi-content" style="padding-top: 0; margin-top: 10px">
+      <el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+        @selection-change="materialSelectionChange" :max-height="480">
+        <el-table-column align="center" width="60" type="selection"  />
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+        <el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+
+        <!-- <el-table-column label="鐗╂枡鎻忚堪" prop="describe" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" align="center" min-width="110" show-overflow-tooltip /> -->
+        <!-- <el-table-column label="鐗╂枡澶х被" prop="category" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="鐗╂枡灏忕被" prop="materialTypeId" align="center" min-width="110" show-overflow-tooltip /> -->
+        <!-- <el-table-column label="灏哄(mm)" align="center" min-width="110" show-overflow-tooltip>
+          <template #default="scope">
+            {{
+              `${scope.row.long ? scope.row.long : 0}*${scope.row.width ? scope.row.width : 0
+                }*${scope.row.high ? scope.row.high : 0}`
+            }}
+          </template>
+        </el-table-column> -->
+        <!-- <el-table-column label="閲嶉噺(kg)" prop="weight" align="center" min-width="110" show-overflow-tooltip /> -->
+        <!-- <el-table-column label="鍗曚綅" prop="unit" align="center" min-width="110" show-overflow-tooltip /> -->
+      </el-table>
+      <Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+        @pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+        <el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+  <!-- 鍗曡鎯� -->
+  <el-drawer v-model="drawerVisible" :title="`${detailForm.PurchaseOrderId}璁㈠崟璇︽儏`" direction="rtl" size="80%"
+    @close="handleDrawerClose">
+    <template #title>
+      <div class="slot_title">
+        <div class="title_orderNo">{{ title }}</div>
+        <div>璁㈠崟璇︽儏</div>
+      </div>
+    </template>
+
+    <div class="detailBoxWrap">
+      <!-- 璇︽儏缁勪欢 -->
+      <open-details ref="propDetailRef"></open-details>
+      <div class="msi-form">
+        <el-form :model="detailForm">
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="鐗╂枡缂栧彿">
+                <el-input v-model="detailForm.WareMaterialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="2">
+              <el-form-item label-width="20px">
+                <el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <div class="msi-content">
+        <!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+        <el-table :data="drawerList" border striped :max-height="480">
+          <el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+          <el-table-column fixed="left" label="鐗╂枡缂栧彿" prop="wareMaterialCode" align="center" min-width="140" show-overflow-tooltip />
+          <el-table-column label="鐗╂枡鍚嶇О" prop="name" align="center" min-width="140" show-overflow-tooltip />
+          <el-table-column label="鏁伴噺" :formatter="formatDecimalData" prop="deliveryQuantity" align="right"
+            min-width="110" />
+          <el-table-column label="宸叉敹鏁�" :formatter="formatDecimalData" prop="goodsQuantity" align="right"
+            min-width="110" />
+          <el-table-column label="缂鸿揣鏁�" :formatter="formatDecimalData" prop="surplusQuantity" align="right"
+            min-width="110" />
+          <el-table-column label="宸叉牳閿�鏁�" v-if="hexiao == 1" :formatter="formatDecimalData" prop="writeOffQuantity" align="right"
+            min-width="120" />
+
+          <!-- <el-table-column label="鍏嶈垂浠跺嚭搴撻渶姹傛暟" v-if="titleAuthor !=2" :formatter="formatDecimalData" prop="hasCreateFreeOrderQuantity" min-width="140"
+            align="right" show-overflow-tooltip />
+            <el-table-column label="鍏嶈垂浠跺彂璐ф暟" v-if="titleAuthor !=2" :formatter="formatDecimalData" prop="hasCreateFreeOrderDeliveryQuantity" min-width="120"
+            align="right" show-overflow-tooltip /> -->
+
+          <el-table-column label="鐘舵��" prop="signStatus" min-width="110" align="center" show-overflow-tooltip>
+            <template #default="scope">
+              {{ scope.row.signStatus }}
+              <!-- <el-tag :type="getTypeStatus(scope.row.signStatus, scope.row.signStatus)">
+                {{ scope.row.signStatus }}</el-tag> -->
+            </template>
+          </el-table-column>
+          <el-table-column label="琛屽彿" prop="ebelp" align="center" min-width="110" show-overflow-tooltip />
+          <el-table-column label="SAP浣嶇疆" prop="sap_Location" min-width="120" align="center" show-overflow-tooltip />
+          <el-table-column label="BOM缂栧彿" prop="boM_NO" v-if="titleAuthor != 2" min-width="120" align="center"
+            show-overflow-tooltip />
+          <el-table-column label="濂楁暟" prop="bomConverNumber" v-if="titleAuthor != 2" min-width="120" align="center"
+            show-overflow-tooltip />
+          <el-table-column label="DI缂栧彿" prop="detailsDI_NO" v-if="titleAuthor != 2" min-width="120" align="center"
+            show-overflow-tooltip />
+          <el-table-column label="鏈哄簥搴忓垪鍙�" prop="detailsMachineToolNo" v-if="titleAuthor != 2" min-width="120" align="center"
+            show-overflow-tooltip />
+          <el-table-column label="鏈哄簥鍨嬪彿" prop="detailsMachineToolTypeName" v-if="titleAuthor != 2" min-width="120"
+            align="center" show-overflow-tooltip />
+
+          <el-table-column label="瀹㈡埛缂栧彿" v-if="titleAuthor != 2" prop="diCustomCode" min-width="110" align="center"
+            show-overflow-tooltip />
+          <el-table-column label="瀹㈡埛涓枃鍚嶇О" v-if="titleAuthor != 2" prop="diCustomChinaName" min-width="110" align="center"
+            show-overflow-tooltip />
+
+
+
+
+
+        </el-table>
+        <Pagination :total="detailCount" v-model:page="detailForm.PageNo" v-model:limit="detailForm.PageSize"
+          @pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+        <div>
+          
+   
+        </div>
+      </div>
+    </div>
+  </el-drawer>
+
+  <el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+    <el-form :model="outerForm2" label-width="120px">
+      <el-row style="font-size: 16px">
+        <el-col :span="23">
+          <el-form-item label="鍗曞彿:" required>
+            <el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="outVisible2 = false">鍙栨秷</el-button>
+        <el-button type="primary" @click="getSapOrderPO">纭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+
+</template>
+<script lang="ts" setup>
+import Pagination from "/@/components/Pagination/index.vue";
+import { ElMessage, ElMessageBox } from "element-plus";
+import { ref, nextTick, computed, getCurrentInstance, watch, defineExpose, defineProps } from "vue";
+
+import {
+  formatDecimalData,
+} from "/@/utils/formate";
+import { expandMore } from "/@/hooks/expandMore";
+import cache from "/@/utils/cache";
+import { pageWmsMaterial } from "/@/api/main/WmsBase/wmsMaterial";
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+const props = defineProps({
+  titleAuthor: {
+    type: Number,
+    required: true
+  },
+  hexiao: {
+    type: Number,
+    default: 1,
+    required: true
+  },
+})
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor)
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao)
+const loading = ref(false);
+
+// 鐧诲綍鐢ㄦ埛id
+// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
+
+// const EnumWriteOffState = computed(
+//   () => store.state.login.enums.enumWriteOffState
+// );
+
+let itemBtnArr = ['鎵归噺鍒犻櫎', '缂栬緫', '鏂板'];
+const boolEnum = ref([
+  {
+    title: "鏄�",
+    value: true
+  },
+  {
+    title: "鍚�",
+    value: false
+  }
+]);
+
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref('');
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+  return (time.getTime() + 3600 * 1000 * 24) < Date.now()
+}
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+  orderDoRuType.value = param;
+  uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+  getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+  ElMessageBox.confirm("鏄惁纭鑾峰彇鏇存柊锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning"
+  })
+    .then(() => {
+      // getSapRkPurchase().then((res) => {
+      //   if (res.code == 200) {
+      //     ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+      //   } else {
+      //     ElMessage.error(
+      //       `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+      //     );
+      //   }
+      // })
+    })
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+  purchaseNo: ""
+});
+const getSapOrderPO = (param?: number) => {
+  if (param && param == 1) {
+    outVisible2.value = true;
+    return;
+  }
+  if (outerForm2.value.purchaseNo == "") {
+    ElMessage.warning("璇疯緭鍏ュ崟鍙�");
+    return;
+  }
+  // getSapPurchasePO({
+  //   purchaseNo: outerForm2.value.purchaseNo
+  // })
+  //   .then((res) => {
+  //     if (res.code == 200) {
+  //       ElMessage.success("SAP鑾峰彇鎴愬姛");
+  //       outVisible2.value = false;
+  //     } else {
+  //       ElMessage.error(
+  //         `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+  //       );
+  //     }
+  //   })
+  //   .catch((err) => ElMessage.error(err));
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+  outerForm2.value.purchaseNo = "";
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+  WareMaterialCode: "",
+  WareMaterialName: "",
+  PurchaseNo: "",
+  CreatedUserName: "",
+  CreatedTimeBegin: "",
+  CreatedTimeEnd: "",
+  CreateDate: [],
+  IssueTimeBegin: "",
+  IssueTimeEnd: "",
+  IssueDate: [],
+  MaterialTypeStaus: "",
+  SourceBy: "",
+  WriteOffState: "",
+  signStatus: "",
+  status: '',
+  freeOrderType: "",
+  IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+  // LoginUserID: LoginUserID, //鐢ㄦ埛id
+  OrderMenuType: "",//鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+  Page: 1,
+  PageSize: 10,
+  poApprovalStatus:"",
+  keyCode:"",
+  IsDisable:''//鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+const tableRef = ref();
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache('enumList');
+console.log(enumList.inEnumOrderType)
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+  //鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+  if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+    formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+    formModel.value.CreatedTimeEnd = '' //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+  } else {
+    // 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+    if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+      formModel.value.CreatedTimeBegin = "";
+      formModel.value.CreatedTimeEnd = "";
+    }
+  }
+  //鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+  if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+    formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+    formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+  } else {
+    // 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+    if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+      formModel.value.IssueTimeBegin = "";
+      formModel.value.IssueTimeEnd = "";
+    }
+  }
+
+  //鍏跺畠鍏ュ簱鍏ュ彛
+  // if (titleAuthor.value == 1) { //鍏嶈垂鍏ュ簱鍗曠鐞�
+  // }
+
+  // if (titleAuthor.value == 2) { //璁㈠崟鍏ュ簱绠$悊
+  // }
+
+  // getPurchasePageForAllData(formModel.value)
+  //   .then((res) => {
+  //     if (res.code == 200) {
+  //       const { data } = res;
+  //       const result = data;
+  //       result.rows.map(
+  //         (item: { hasChildren: boolean }) => (item.hasChildren = true)
+  //       );
+  //       tableData.value = result.rows;
+  //       totalItems.value = result.totalRows;
+  //       orderType.value = formModel.value.MaterialTypeStaus;
+  //       // 娓呴櫎閫変腑 
+  //       nextTick(() => {
+  //         if (tableRef.value && typeof tableRef.value.clearSelection === 'function') {
+  //           checkRows.value = [];
+  //           tableRef.value.clearSelection();
+  //         }
+  //       })
+  //     } else {
+  //       ;
+  //     }
+  //   })
+  //   .catch((err) => {
+  //     console.log(err);
+  //     ElMessage.error(JSON.stringify(err));
+  //   });
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+  formModel.value = {
+    WareMaterialCode: "",
+    WareMaterialName: "",
+    PurchaseNo: "",
+    CreatedUserName: "",
+    CreatedTimeBegin: "",
+    CreatedTimeEnd: "",
+    CreateDate: [],
+    IssueTimeBegin: "",
+    IssueTimeEnd: "",
+    IssueDate: [],
+    MaterialTypeStaus: "",
+    SourceBy: "",
+    WriteOffState: "",
+    signStatus: "",
+    status: '',
+    freeOrderType: "",
+    IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+  //  LoginUserID: LoginUserID, //鐢ㄦ埛id
+    OrderMenuType: "",//鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+    Page: 1,
+    PageSize: 10,
+    poApprovalStatus:"",
+    keyCode:"",
+    IsDisable:''//鏄惁浣滃簾
+  };
+  getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+  checkRows.value = val;
+};
+//瀵煎嚭PO鍗曡鎯�
+const handExport = () => {
+  // rkExport(formModel.value)
+  //   .then((res) => {
+  //     const link = document.createElement("a"); //鍒涘缓a鏍囩
+  //     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+  //     let objectUrl = URL.createObjectURL(blob);
+  //     link.href = objectUrl;
+  //     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+  //       new Date().toString(),
+  //       "YYYY-MM-DD hh:mm:ss"
+  //     )}`; // 鑷畾涔夋枃浠跺悕
+  //     link.click(); // 涓嬭浇鏂囦欢
+  //     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+
+  //   }).catch((err) => ElMessage.error(JSON.stringify(err)));
+
+
+  //瀵煎嚭璋冪敤鎺ュ彛
+  // let entozh = entozhExcell
+  //   const { PageNo, PageSize, ...rest } = formModel.value
+  //   getPurchasePage({ Page: 1, PageSize: 1000000, ...rest }).then(res => {
+  //     if(res.code==200){
+  //       res.data.rows.forEach((item)=>{
+  //         item.writeOffState = EnumWriteOffState.value.filter((v: any) => v.value == item.writeOffState)[0].title;
+  //         item.sourceBy =  sourceEnum.value.filter((v: any) => v.value == item.sourceBy)[0].title;
+  //       })
+  //       exportExcel(res.data.rows, entozh, "xlsx", `鍏ュ簱绠$悊琛�${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`);
+  //     }
+  //   })
+  // 鍚庣瀵煎嚭-瀛楁涓嶅叏
+  // if (checkRows.value.length <= 0) {
+  //   ElMessage.warning("璇烽�夋嫨涓�涓鍗曪紒");
+  //   return
+  // }
+  // const arr = checkRows.value.reduce((curr, item) => {
+  //   curr.push(item.purchaseNo);
+  //   return curr;
+  // }, []);
+  // puchaseExport({ PurchaseNo: arr })
+  //   .then((res) => {
+  //     const link = document.createElement("a"); //鍒涘缓a鏍囩
+  //     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+  //     let objectUrl = URL.createObjectURL(blob);
+  //     link.href = objectUrl;
+  //     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+  //       new Date().toString(),
+  //       "YYYY-MM-DD hh:mm:ss"
+  //     )}`; // 鑷畾涔夋枃浠跺悕
+  //     link.click(); // 涓嬭浇鏂囦欢
+  //     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+  //   })
+  //   .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+
+
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+  WareMaterialCode: "",
+  PurchaseOrderId: "",
+  Page: 1,
+  PageSize: 10
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref("drawerAll");
+// const
+//鍗曞彿
+const purchaseNo = ref("");
+
+//鎵撳紑鎶藉眽
+const openDrawer = (type: number, scope: any = {},entozhExcell?:any) => {
+  detailForm.value.PageNo = 1; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+  detailForm.value.PageSize = 10; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+  if(scope.purchaseNo){
+    title.value = `${scope.purchaseNo}`;
+  }
+  if(scope.orderNo){
+    title.value = `${scope.orderNo}`;
+  }
+  drawerType.value = "drawerAll";
+  //褰撳墠鍏ュ簱鍗曞彿id
+  detailForm.value.PurchaseOrderId = scope.id;
+  //鍏ュ簱鍗�
+  purchaseNo.value = scope.purchaseNo;
+  detailForm2.value.PurchaseNo = scope.purchaseNo;
+  //鑾峰彇鐗╂枡鍒楄〃
+  getDetail();
+  drawerVisible.value = true;
+
+  // 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+  let scopetrans = JSON.parse(JSON.stringify(scope))
+  scopetrans.totalQuantity = Number(scopetrans.totalQuantity).toFixed(3)
+  scopetrans.deliveryQuantity = Number(scopetrans.deliveryQuantity).toFixed(3)
+  scopetrans.writeOffQuantity = Number(scopetrans.writeOffQuantity).toFixed(3)
+  scopetrans.goodsQuantity = Number(scopetrans.goodsQuantity).toFixed(3)
+  scopetrans.surplusQuantity = Number(scopetrans.surplusQuantity).toFixed(3)
+  let arrD2: string | any[] = []// sourceEnum.value.filter((v: any) => scopetrans.sourceBy == v.value)
+  if (arrD2.length > 0) {
+    scopetrans.sourceBy = arrD2[0].title
+  } else {
+    scopetrans.sourceBy = ''
+  }
+  let arrD: string | any[] = [] //EnumWriteOffState.value.filter((v: any) => scopetrans.writeOffState == v.value)
+  if (arrD.length > 0) {
+    scopetrans.writeOffState = arrD[0].title
+  } else {
+    scopetrans.writeOffState = ''
+  }
+  nextTick(() => {
+    proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+  });
+
+};
+const detailCount2 = ref(0);
+const detailForm2 = ref({
+  Page: 1,
+  PageSize: 10,
+  BatchNo: "",
+  PurchaseNo: "",
+  PurchaseNoAccurate: "",
+  WarematerialName: "",
+  WarematerialCode: "",
+  CreatedUserName: "",
+  ItemType: 1,
+  OrderType: "",
+  DateBegin: "",
+  DateEnd: "",
+  ReceiveDate: []
+});
+const drawerList2 = ref<DetailType[]>([]);
+const openDrawer2 = async (param?: any) => {
+  if (!param) {
+    detailForm2.value.PageNo = 1;
+    detailForm2.value.PageSize = 10;
+  }
+  detailForm2.value.ItemType = 1;
+  if (detailForm2.value.PurchaseNo == '') {
+    drawerList2.value = [];
+    detailCount2.value = 0;
+    return
+  }
+  //鑾峰彇鐗╂枡鍒楄〃
+  // detailForm2.value.PurchaseNoAccurate = detailForm2.value.PurchaseNo;
+  let { PurchaseNo, ...rest } = detailForm2.value;
+  
+
+
+  loading.value = true;
+
+  var res = await pageWmsMaterial(Object.assign(
+    detailForm2.value
+    ));
+
+  drawerList.value = res.data.result?.items ?? [];
+  //tableParams.value.total = res.data.result?.total;
+  detailCount.value = res.data.result?.total;
+  loading.value = false;
+
+
+  // getreceivingAndDeliverRecord({
+  //   ...rest,
+  //   'PurchaseNoAccurate': PurchaseNo
+  // }).then((res: any) => {
+  //   if (res.code == 200) {
+  //     const { data } = res;
+  //     const result = data;
+  //     drawerList2.value = result.rows;
+  //     detailCount2.value = result.totalRows;
+  //   }
+  // });
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+  detailForm.value = {
+    WareMaterialCode: "",
+    PurchaseOrderId: "",
+    Page: 1,
+    PageSize: 10
+  };
+  deltailList.value = [];
+  detailCount.value = 0;
+  drawerList.value = [];
+  drawerList2.value = [];
+  detailCount2.value = 0;
+  drawerList2.value = [];
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+  id: number;
+  barCode: string;
+  wareMaterialCode: string;
+  name: string;
+  signStatus: string;
+  category: string;
+  materialTypeName: string;
+  specificationModel: string;
+  long: number;
+  width: number;
+  high: number;
+  weight: number;
+  unit: string;
+  createdTime: string;
+  purchaseNo: string;
+  deliveryQuantity: number;
+  goodsQuantity: number;
+  surplusQuantity: number;
+  ebelp: string;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref("");
+//鑾峰彇鍏ュ簱鍗曚笅鐗╂枡璇︽儏
+const getDetail = (callback?: any) => {
+  // getPurchaseDetailForAllData(detailForm.value)
+  //   .then((res) => {
+  //     if (res.code == 200) {
+  //       const { data } = res;
+  //       const result = data;
+  //       deltailList.value = result.rows;
+  //       drawerList.value = JSON.parse(JSON.stringify(deltailList.value));
+  //       if (drawerType.value == "drawerGoodsQuantity") {
+  //         drawerList.value = drawerList.value.filter(
+  //           (x: DetailType) => x.goodsQuantity > 0
+  //         );
+  //       } else if (drawerType.value == "drawersurplusQuantity") {
+  //         drawerList.value = drawerList.value.filter(
+  //           (x: DetailType) => x.surplusQuantity > 0
+  //         );
+  //       }
+  //       detailCount.value = result.totalRows;
+  //       if (typeof callback === "function") {
+  //         callback && callback();
+  //       }
+  //     } else {
+  //       ElMessage.error(
+  //         JSON.stringify(
+  //           `鑾峰彇鍏ュ簱鍗曡鎯呭け璐�${res.code}:${JSON.stringify(res.message)}`
+  //         )
+  //       );
+  //     }
+  //   })
+  //   .catch((err) => console.log(err));
+
+
+  detailForm2.value.WarematerialCode = detailForm.value.WareMaterialCode;
+  openDrawer2();
+};
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref("add");
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//鑾峰彇PO鍗�
+const getOrderNo = () => {
+  // getNoOrderNo()
+  //   .then((res) => {
+  //     if (res.code == 200) {
+  //       addForm.value.purchaseNo = res.data;
+  //     } else {
+  //       ElMessage.error(
+  //         `鑾峰彇PO鍗�${res?.code}:${JSON.stringify(res.message)}`
+  //       );
+  //     }
+  //   })
+  //   .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+  createdTime: "",
+  updatedTime: "",
+  createdUserName: "",
+  createdUserId: "",
+  purchaseNo: "",
+  purchaserUserId: 0,
+  basicExpressInfoCode: null,
+  materialType: "",//5
+  status: 0,
+  supplierCode: "",
+  supplierName: "",
+  remark: "",
+  deliveryType: 1,
+  EstimatedDate: "",
+  purchaseOrderDetails: [] as any[],
+  dI_NO: "",
+  sJ_NO: "",
+  machineToolTypeName: "",
+  machineToolNo: "",
+  freeOrderType: ""
+});
+
+// 鐗规畩瀛楃鐨勯獙璇�
+// 鍖呭惈鐗规畩瀛楃杩斿洖true锛屼笉鍖呭惈鐗规畩瀛楃杩斿洖false
+const checkEspcial = (rule: any, value: any, callback: any) => {
+  if (!value) {
+    callback();
+  } else {
+    const reg = /[@$%*^:;锛氾紱~+=!锛�#^{}><.,锛屻�俔/g;
+    if (!reg.test(value.trim())) {
+      callback();
+    } else {
+      return callback(new Error("涓嶈兘瀛樺湪鐗规畩绗﹀彿"));
+    }
+  }
+}
+
+// 楠岃瘉瑙掕壊缂栧彿
+var validatorCode = (rule: any, value: any, callback: any) => {
+  if (!value) {
+    callback();
+  } else {
+    const reg = /[\u4E00-\u9FA5]/g;
+    if (!reg.test(value)) {
+      callback();
+    } else {
+      return callback(new Error("鍗曞彿涓嶈兘瀛樺湪姹夊瓧"));
+    }
+  }
+};
+
+//rules
+const formRules = {
+  materialType: [
+    { required: true, message: "璁㈠崟绫诲瀷涓嶈兘涓虹┖", trigger: "blur" }
+  ],
+  freeOrderType: [{ required: true, message: "鍏嶈垂浠剁被鍨嬩笉鑳戒负绌�", trigger: "blur" }],
+  purchaseNo: [
+    { required: true, message: "鍗曞彿涓嶈兘涓虹┖", trigger: "blur" },
+    { validator: validatorCode, trigger: "blur" },
+    { validator: checkEspcial, trigger: "blur" }
+  ],
+  supplierCode: [
+    { required: true, message: "渚涘簲鍟嗕笉鑳戒负绌�", trigger: "blur" }
+  ],
+  EstimatedDate: [
+    { required: true, message: "棰勮鍒拌揪鏃堕棿涓嶈兘涓虹┖", trigger: "blur" }
+  ],
+  dI_NO: [
+    { required: true, message: "DI鍙蜂笉鑳戒负绌�", trigger: "blur" }
+  ],
+  machineToolTypeName: [
+    { required: true, message: "鏈哄簥鍨嬪彿涓嶈兘涓虹┖", trigger: "blur" }
+  ]
+};
+//鎵撳紑鏂板銆佺紪杈戠獥鍙�
+const openDialog = (type: number, scope: any = {}) => {
+  getClientList()
+  if (type == 1) {
+    dialogType.value = "add";
+    // getOrderNo();
+  } else {
+    if (scope.signStatus != '寰呮敹璐�') {
+      ElMessage.warning("鍙湁寰呮敹璐х殑璁㈠崟鎵嶅彲缂栬緫锛�");
+      return
+    }
+    addForm.value.purchaseNo = scope.purchaseNo;
+    addForm.value.materialType = Number(scope.deliveryType);
+    addForm.value.deliveryType = Number(scope.deliveryType);
+    // supplierName
+    let arr = clientEnum.value.filter((v: any) => v.name == scope.supplierName);
+    if (arr.length > 0) {
+      addForm.value.supplierCode = arr[0].code;
+    }
+    addForm.value.supplierName = scope.supplierName;
+    addForm.value.EstimatedDate = scope.estimatedDate;
+
+    addForm.value.remark = scope.remark;
+    dialogType.value = "edit";
+    detailForm.value.PurchaseOrderId = scope.id;
+    detailForm.value.materialType = Number(scope.deliveryType);
+    detailForm.value.PageSize = 1000;
+    //鑾峰彇鐗╂枡 - 鍥炶皟鍑芥暟鏇挎崲瀹氭椂鍣�
+    getDetail(() => {
+
+      // 鍏嶈垂浠剁敤
+      addForm.value.freeOrderType = scope.freeOrderType;
+      // isShowBomBtn
+      addForm.value.dI_NO = scope.dI_NO;
+      addForm.value.sJ_NO = scope.sJ_NO;
+      addForm.value.machineToolTypeName = scope.machineToolTypeName;
+      addForm.value.machineToolNo = scope.machineToolNo;
+
+      deltailList.value.forEach((item) => {
+        // let  dantaoNum1 = 0
+        // if(item.bomConverNumber && item.deliveryQuantity){
+        //   dantaoNum1 = Number( (item.deliveryQuantity || 0 )/item.bomConverNumber).toFixed(3) || 0
+        // }
+        const obj = {
+          code: item.wareMaterialCode,
+          name: item.name,
+          specificationModel: item.specificationModel,
+          categoryName: item.category,
+          materialTypeIdName: item.materialTypeName,
+          weight: item.weight,
+          unit: item.unit,
+          long: item.long,
+          width: item.width,
+          high: item.high,
+          deliveryQuantity: item.deliveryQuantity,//鏁伴噺
+          price: item.price,
+          barNo: item.barNo,
+          machine: item.machine,
+          ebelp: item.ebelp,
+          id: item.id,
+          remark: addForm.value.remark,
+          materialType: item.deliveryType,
+          deliveryType: item.deliveryType,
+          //鍏嶈垂浠�
+          bomConverNumber: item.bomConverNumber, //鍏嶈垂浠� 濂楁暟
+          boM_NO: item.boM_NO, //BOM缂栧彿
+          dI_NO: addForm.value.dI_NO,
+          sJ_NO: addForm.value.sJ_NO,
+          // dantaoNum:dantaoNum1, //鍏嶈垂浠� 濂楁暟
+          machineToolNo: item.detailsMachineToolNo || addForm.value.machineToolNo || '',
+          machineToolTypeName: item.detailsMachineToolTypeName || addForm.value.machineToolTypeName || '',
+          diCustomCode: item.diCustomCode || '',
+          diCustomChinaName: item.diCustomChinaName || '',
+          diRelationID: item.diRelationID || '',
+          detailsDI_NO: item.detailsDI_NO || '',
+
+        };
+        warehousOrderDetails.value.push(obj);
+      });
+
+    });
+  }
+  dialogVisible.value = true;
+  //娓呴櫎閫変腑椤�
+  nextTick(() => {
+    if(dialogRef.value){
+      dialogRef.value.clearValidate();
+    }
+  });
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+  return row.id + row.ebelp;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+  addForm.value = {
+    createdTime: "",
+    updatedTime: "",
+    createdUserName: "",
+    createdUserId: "",
+    purchaseNo: "",
+    purchaserUserId: 0,
+    basicExpressInfoCode: null,
+    materialType: "",//5
+    status: 0,
+    supplierCode: "",
+    supplierName: "",
+    remark: "",
+    deliveryType: 1,
+    EstimatedDate: "",
+    purchaseOrderDetails: [] as any[],
+    dI_NO: "",
+    sJ_NO: "",
+    machineToolTypeName: "",
+    machineToolNo: "",
+    freeOrderType: ""
+  };
+  warehousOrderDetails.value = [];
+  checkedDetails.value = [];
+  deltailList.value = [];
+  detailCount.value = 0;
+  detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+  checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+  ElMessageBox.confirm("鏄惁纭鍒犻櫎锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning"
+  })
+    .then(() => {
+      let arr =[];
+      if(checkedDetails.value[0].diRelationID){
+        checkedDetails.value.forEach((item) => {
+          console.log(item)
+          let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.diRelationID == item.diRelationID);
+          if(index> -1){
+            warehousOrderDetails.value.splice(index, 1);
+          }
+        });
+      }else{
+        checkedDetails.value.forEach((item) => {
+          let index = warehousOrderDetails.value.findIndex(
+          (detail) => detail.code == item.code && detail.ebelp == item.ebelp
+        );
+            warehousOrderDetails.value.splice(index, 1);
+        });
+      }
+      arr = warehousOrderDetails.value
+      warehousOrderDetails.value = [];
+      //bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+      nextTick(() => {
+        warehousOrderDetails.value = arr;
+        checkedDetails.value = [];
+        detailRef.value.clearSelection();
+      });
+    })
+    .catch(() => ElMessage.info("宸插彇娑堝垹闄�"));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const confirm = () => {
+  console.log("纭")
+  let idx = warehousOrderDetails.value.findIndex(
+    (v) => v.ebelp == "" || v.ebelp == undefined
+  );
+  if (idx > -1) {
+    ElMessage.warning("璇疯緭鍏ヨ鍙�");
+    return;
+  }
+  let isNext = "";
+  warehousOrderDetails.value.forEach((item) => {
+    const arr: any = warehousOrderDetails.value.filter(
+      (detail) => detail.ebelp == item.ebelp
+    );
+    if (arr.length > 1) {
+      isNext = `琛屽彿锛�${arr[0].ebelp}涓嶈兘鐩稿悓`;
+      return;
+    }
+  });
+  if (isNext != "") {
+    ElMessage.warning(isNext);
+    return;
+  }
+
+  let idx2 = warehousOrderDetails.value.findIndex(
+    (v) =>
+      v.deliveryQuantity == "" ||
+      v.deliveryQuantity == undefined ||
+      v.deliveryQuantity <= 0
+  );
+  if (idx2 > -1) {
+    ElMessage.warning("鏁伴噺涓嶅悎瑙勮寖锛�");
+    return;
+  }
+  addForm.value.purchaseOrderDetails = [];
+  // addForm.value.createdUserId = store.state.login.userInfo.id;
+  // addForm.value.createdUserName = store.state.login.userInfo.name;
+  // addForm.value.createdTime = formatUtcToData(
+  //   new Date().toString(),
+  //   "YYYY-MM-DD hh:mm:ss"
+  // );
+  // addForm.value.updatedTime = formatUtcToData(
+  //   new Date().toString(),
+  //   "YYYY-MM-DD hh:mm:ss"
+  // );
+  warehousOrderDetails.value.forEach((item) => {
+    // if(item.dantaoNum){ 
+    //   item.bomConverNumber = Number(item.deliveryQuantity/item.dantaoNum).toFixed(3) || 0;
+    // }else{
+    //   item.bomConverNumber = ""
+    // }
+    const obj = {
+      // createdUserId: store.state.login.userInfo.id,
+      // createdUserName: store.state.login.userInfo.name,
+      // createdTime: formatUtcToData(
+      //   new Date().toString(),
+      //   "YYYY-MM-DD hh:mm:ss"
+      // ),
+      // updatedTime: formatUtcToData(
+      //   new Date().toString(),
+      //   "YYYY-MM-DD hh:mm:ss"
+      // ),
+      purchaseOrderId: 0,
+      warematerialCode: item.code,
+      barcode: item.barCode,
+      status: 0,
+      id: item.id || "",
+      deliveryQuantity: item.deliveryQuantity,
+      price: item.price,
+      barNo: item.barNo,
+      machine: item.machine,
+      remark: addForm.value.remark,
+      ebelp: item.ebelp,
+      materialType: item.deliveryType,
+      deliveryType: item.deliveryType,
+      // 缁欏厤璐逛欢鐢�
+      bOM_NO: item.bomCode, //bom鍙�
+      bomConverNumber: item.bomConverNumber, //濂楁暟
+      machineToolNo: item.machineToolNo || addForm.value.machineToolNo || '',
+      machineToolTypeName: item.machineToolTypeName || addForm.value.machineToolTypeName || '',
+      sJ_NO: addForm.value.sJ_NO || '',
+      dI_NO: item.dI_NO || addForm.value.dI_NO || '',
+      freeOrderType: addForm.value.freeOrderType || '',
+      boM_NO: item.boM_NO || '',
+      diRelationID: item.diRelationID || '',
+      detailsDI_NO: item.detailsDI_NO || '',
+      diCustomCode: item.diCustomCode || '',
+      diCustomChinaName: item.diCustomChinaName || '',
+      clientCode: item.diCustomCode || '',
+      clientChinaName: item.diCustomChinaName || '',
+    };
+    addForm.value.purchaseOrderDetails.push(obj);
+  });
+
+  dialogRef.value.validate((vali: any) => {
+    if (vali) {
+      //娣诲姞
+      if (dialogType.value == "add") {
+        // addPurchase(addForm.value)
+        //   .then((res) => {
+        //     if (res.code == 200) {
+        //       ElMessage.success("娣诲姞鎴愬姛");
+        //       getTabelData();
+        //       dialogVisible.value = false;
+        //     } else {
+        //       addForm.value.purchaseOrderDetails = [];
+        //       ;
+        //     }
+        //   })
+        //   .catch((err) => {
+        //     addForm.value.purchaseOrderDetails = [];
+        //     console.log(err);
+        //   });
+      } else {
+        // updatePurchase(addForm.value)
+        //   .then((res) => {
+        //     if (res.code == 200) {
+        //       ElMessage.success("缂栬緫鎴愬姛");
+        //       getTabelData();
+        //       dialogVisible.value = false;
+        //     } else {
+        //       addForm.value.purchaseOrderDetails = [];
+        //       ;
+        //     }
+        //   })
+        //   .catch((err) => {
+        //     addForm.value.purchaseOrderDetails = [];
+        //     console.log(err);
+        //   });
+      }
+    } else {
+      ElMessage.warning("琛ㄥ崟楠岃瘉澶辫触");
+    }
+  });
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+  MaterialTypeId: "",
+  Code: "",
+  // MaterialType: 1,
+  Page: 1,
+  PageSize: 10
+});
+
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+
+  loading.value = true;
+  // var res = await pageWmsMaterial(Object.assign(queryParams.value, tableParams.value));
+  var res = await pageWmsMaterial(Object.assign(materialForm.value));
+
+  materialList.value = res.data.result?.items ?? [];
+  //tableParams.value.total = res.data.result?.total;
+  materialTotal.value = res.data.result?.total;
+  loading.value = false;
+
+  
+  // getMaterialInfoList(materialForm.value)
+  //   .then((res) => {
+  //     if (res.code == 200) {
+  //       const { data } = res;
+  //       const result = data;
+  //       materialList.value = result.rows;
+  //       materialTotal.value = result.totalRows;
+  //     } else {
+  //       ;
+  //     }
+  //   })
+  //   .catch((err) => {
+  //     console.log(err);
+  //     ElMessage.error(JSON.stringify(err));
+  //   });
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+  materialForm.value = {
+    MaterialTypeId: "",
+    Code: "",
+    Page: 1,
+    // MaterialType: 1,
+    PageSize: 10
+  };
+  getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+  checkedMaterial.value = val;
+};
+
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = () => {
+  // if ( addForm.value.freeOrderType && isShowBomBtn.value ) {
+  //   ElMessage.warning("鍏嶈垂浠剁被鍨嬫槸PR2锛屽彧鑳芥柊澧濪I缁存姢鐨勭墿鏂欙紒");
+  //   return;
+  // }
+  getMaterialList();
+  addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+  //鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+  if (warehousOrderDetails.value.length == 0) {
+
+    // 鑷姩缁欒鍙峰鍊�
+    checkedMaterial.value.forEach((item, index) => {
+      if (!item.ebelp) {
+        item.ebelp = index + 1 + warehousOrderDetails.value.length
+      }
+    })
+
+    warehousOrderDetails.value.push(...checkedMaterial.value);
+  } else {
+    for (let i = 0; i < checkedMaterial.value.length; i++) {
+      let idx = warehousOrderDetails.value.findIndex(
+        (item: { code: any }) =>
+          item.code == checkedMaterial.value[i].code &&
+          item.ebelp == checkedMaterial.value[i].ebelp
+      );
+      if (idx > -1) {
+        return ElMessage.warning(
+          `鐗╂枡缂栧彿${checkedMaterial.value[i].code}锛岃鍙凤細${checkedMaterial.value[i].ebelp || ""
+          }鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦
+        );
+      }
+    }
+
+    // 鑷姩缁欒鍙峰鍊�
+    checkedMaterial.value.forEach((item, index) => {
+      if (!item.ebelp) {
+        item.ebelp = index + 1 + warehousOrderDetails.value.length
+      }
+    })
+    warehousOrderDetails.value.push(...checkedMaterial.value);
+  }
+
+  addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+  materialForm.value = {
+    MaterialTypeId: "",
+    Code: "",
+    Page: 1,
+    // MaterialType: 1,
+    PageSize: 10
+  };
+  materialList.value = [];
+  checkedMaterial.value = [];
+  materialRef.value.clearSelection();
+};
+
+//鎵撳紑绐楀彛
+const openAccountDialog = (param?: any) => {
+  if (checkRows.value.length != 1) {
+    ElMessage.warning("鍙兘閫夋嫨涓�涓紒");
+    return;
+  }
+  // PO鍗� STO 鍏嶈垂浠�
+  if (checkRows.value[0].deliveryType == 1 || checkRows.value[0].deliveryType == 22 || checkRows.value[0].deliveryType == 5) {
+    // MaterialType: 1,
+    console.log(checkRows.value[0].deliveryType)
+  } else {
+    ElMessage.warning("姝ゅ崟鎹被鍨嬩笉鑳界敤浜庢牳閿�锛�");
+    return;
+  }
+
+  proxy.$refs["propAddRef"].openADialog(param, checkRows.value);
+};
+
+
+//渚涘簲鍟嗗垪琛ㄦ灇涓�
+const clientEnum = ref([]);
+//鑾峰彇渚涘簲鍟嗗垪琛�
+const getClientList = () => {
+  // getSupplierList({ Page: 1, PageSize: 10000 })
+  //   .then((res) => {
+  //     if (res.code == 200) {
+  //       clientEnum.value = res.data.rows;
+  //     } else {
+  //       ;
+  //     }
+  //   })
+  //   .catch((err) => {
+  //     ElMessage.error(err);
+  //   });
+};
+getClientList()
+// 鍏徃鍚嶇О
+const companyName = ref('')
+watch(() => addForm.value.supplierCode, (newVal) => {
+  let str = clientEnum.value.filter((v: any) => v.code == newVal)
+  if (str.length > 0) {
+    companyName.value = str[0].name;
+    addForm.value.supplierName = str[0].name;
+  } else {
+    companyName.value = '';
+    addForm.value.supplierName = '';
+  }
+})
+
+//鎵撳紑绐楀彛
+const openHxRecordDialog = (param?: any) => {
+  if (param.writeOffQuantity <= 0) {
+    return
+  }
+  proxy.$refs["propHxRecordRef"].openDrawer2(param);
+};
+
+
+
+// 涓婁紶绐楀彛
+const uploadVisible2 = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog2 = (param: any) => {
+  uploadVisible2.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog2 = () => {
+  getTabelData();
+};
+
+
+//BOM
+// const bomIssue = () => {
+//   proxy.$refs["propAddRefBom"].openADialog(warehousOrderDetails.value,1);
+// };
+
+//BOM
+const diwhIssue = () => {
+  if(!isShowBomBtn.value){
+    ElMessage.warning("鍏嶈垂浠剁被鍨嬪繀椤绘槸PR2绫诲瀷锛�");
+    return
+  }
+  proxy.$refs["propAddRefDiwh"].openADialog(warehousOrderDetails.value, 1);
+};
+
+
+//BOM
+const confirmAddMaterialBom = (arrC: any) => {
+  // warehousOrderDetails.value = arrC;
+  warehousOrderDetails.value.push(...arrC);
+};
+
+
+// 鐩戝惉鍏嶈垂浠剁被鍨�
+// watch(
+//   () => addForm.value.freeOrderType,
+//   (newVal, oldVal) => {
+//     let strArr = enumBOMFreeOrderTypeList.value.filter((v: any) => v.value == newVal);
+//     if (strArr.length > 0) {
+//       addForm.value.sJ_NO = "";
+//       isShowBomBtn.value = 1; //鏄剧ずPR2
+//     } else {
+//       isShowBomBtn.value = 0;
+//       addForm.value.dI_NO = "";
+//     }
+//   }
+// );
+
+
+
+// 鍒囨崲璁㈠崟绫诲瀷 娓呴櫎鐗╂枡瀹瑰櫒
+const changMfj = () => {
+  warehousOrderDetails.value = []
+}
+const changDdlx = () => {
+  warehousOrderDetails.value = []
+}
+
+//浣滃簾
+const handleBatchDeleteZf =  (type?: any, param?: any) => {
+  const handleArr: number[] = [];
+  checkRows.value.forEach((item) => {
+    handleArr.push(item.id);
+  });
+  proxy.$refs['propZfRef'].openEditDialog('浣滃簾鏃犲崟鎹叆搴撳崟', handleArr);
+};
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog ,openDrawer});
+</script>
+<style lang="less" scoped>
+.detailBoxWrap{
+  margin: 10px;
+}
+.msi-form{
+  margin-top: 10px;
+}
+.msi-form{
+  margin-bottom: 10px
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testStudent/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testStudent/index.vue
new file mode 100644
index 0000000..cf2b340
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testStudent/index.vue
@@ -0,0 +1,426 @@
+锘�<template>
+  <div class="testStudent-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsTestStudent" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsTestStudent.searchKey" clearable="" placeholder="閲嶅鎬ф牎楠屾柟寮�,瀛︾敓濮撳悕,鍒悕(鍙┖),鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="閲嶅鎬ф牎楠屾柟寮�">
+              <el-input v-model="queryParamsTestStudent.repCheckType" clearable="" placeholder="璇疯緭鍏ラ噸澶嶆�ф牎楠屾柟寮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鑰佸笀ID(鍙┖)">
+              <el-input v-model="queryParamsTestStudent.teacherId" clearable="" placeholder="璇疯緭鍏ヨ�佸笀ID(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鑰佸笀鍚嶅瓧(鍙┖)">
+              <el-input v-model="queryParamsTestStudent.teacherName" clearable="" placeholder="璇疯緭鍏ヨ�佸笀鍚嶅瓧(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="瀛︾敓濮撳悕">
+              <el-input v-model="queryParamsTestStudent.name" clearable="" placeholder="璇疯緭鍏ュ鐢熷鍚�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鍒悕(鍙┖)">
+              <el-input v-model="queryParamsTestStudent.aliName" clearable="" placeholder="璇疯緭鍏ュ埆鍚�(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="瀛︾敓骞撮緞">
+              <el-input-number v-model="queryParamsTestStudent.age"  clearable="" placeholder="璇疯緭鍏ュ鐢熷勾榫�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="骞寸邯(鍙┖)">
+              <el-input-number v-model="queryParamsTestStudent.nianJi"  clearable="" placeholder="璇疯緭鍏ュ勾绾�(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鏍¢暱ID(鍙┖)">
+              <el-input v-model="queryParamsTestStudent.rectorId" clearable="" placeholder="璇疯緭鍏ユ牎闀縄D(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="闆惰姳閽�">
+              <el-input v-model="queryParamsTestStudent.hasMoney" clearable="" placeholder="璇疯緭鍏ラ浂鑺遍挶"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="韬环(鍙┖)">
+              <el-input v-model="queryParamsTestStudent.shenJia" clearable="" placeholder="璇疯緭鍏ヨ韩浠�(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鏄惁鍦ㄦ牎">
+              <el-select clearable="" v-model="queryParamsTestStudent.isInSchool" placeholder="璇烽�夋嫨鏄惁鍦ㄦ牎">
+                <el-option v-for="(item,index) in getEnumIsInSchoolData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鏄惁澶栧湴浜�(鍙┖)">
+              <el-select clearable="" v-model="queryParamsTestStudent.isWDR" placeholder="璇烽�夋嫨鏄惁澶栧湴浜�(鍙┖)">
+                <el-option v-for="(item,index) in getEnumIsWDRData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鎬у埆">
+              <el-select clearable="" v-model="queryParamsTestStudent.gender" placeholder="璇烽�夋嫨鎬у埆">
+                <el-option v-for="(item,index) in getEnumGenderData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鍏朵粬鎬у埆(鍙┖)">
+              <el-select clearable="" v-model="queryParamsTestStudent.otherGender" placeholder="璇烽�夋嫨鍏朵粬鎬у埆(鍙┖)">
+                <el-option v-for="(item,index) in getEnumOtherGenderData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鍑虹敓鏃ユ湡">
+              <el-date-picker placeholder="璇烽�夋嫨鍑虹敓鏃ユ湡" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsTestStudent.brithDateRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鍏ュ鏃ユ湡(鍙┖)">
+              <el-date-picker placeholder="璇烽�夋嫨鍏ュ鏃ユ湡(鍙┖)" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsTestStudent.inSchoolDateRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryTestStudent" v-auth="'testStudent:page'" :disabled="disabled_btnTestStudent"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetTestStudent"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUITestStudent" v-if="!showAdvanceQueryUITestStudent" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUITestStudent" v-if="showAdvanceQueryUITestStudent" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddTestStudent" v-auth="'testStudent:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelTestStudent"  v-auth="'testStudent:importExcel'" > 瀵煎叆 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelTestStudent"  v-auth="'testStudent:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefTestStudent"
+				:data="tableDataTestStudent"
+				style="width: 100%"
+				v-loading="loadingTestStudent"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeTestStudent"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="repCheckType" label="閲嶅鎬ф牎楠屾柟寮�"  show-overflow-tooltip="" />
+        <el-table-column prop="teacherId" label="鑰佸笀ID(鍙┖)"  show-overflow-tooltip="" />
+        <el-table-column prop="teacherName" label="鑰佸笀鍚嶅瓧(鍙┖)"  show-overflow-tooltip="" />
+        <el-table-column prop="name" label="瀛︾敓濮撳悕"  show-overflow-tooltip="" />
+        <el-table-column prop="aliName" label="鍒悕(鍙┖)"  show-overflow-tooltip="" />
+        <el-table-column prop="age" label="瀛︾敓骞撮緞"  show-overflow-tooltip="" />
+        <el-table-column prop="nianJi" label="骞寸邯(鍙┖)"  show-overflow-tooltip="" />
+        <el-table-column prop="rectorId" label="鏍¢暱ID(鍙┖)"  show-overflow-tooltip="" />
+        <el-table-column prop="hasMoney" label="闆惰姳閽�"  show-overflow-tooltip="" />
+        <el-table-column prop="shenJia" label="韬环(鍙┖)"  show-overflow-tooltip="" />
+        <el-table-column prop="isInSchool" label="鏄惁鍦ㄦ牎"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isInSchool"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="isWDR" label="鏄惁澶栧湴浜�(鍙┖)"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isWDR"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+          <el-table-column prop="gender" label="鎬у埆"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.gender, getEnumGenderData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column prop="otherGender" label="鍏朵粬鎬у埆(鍙┖)"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.otherGender, getEnumOtherGenderData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+         <el-table-column prop="brithDate" label="鍑虹敓鏃ユ湡" width="80" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+         <el-table-column prop="inSchoolDate" label="鍏ュ鏃ユ湡(鍙┖)" width="80" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="200" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('testStudent:update') || auth('testStudent:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Printer" size="small" text="" type="primary" @click="openPrintTestStudent(scope.row)"> 鎵撳嵃 </el-button>
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditTestStudent(scope.row)" v-auth="'testStudent:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delTestStudent(scope.row)" v-auth="'testStudent:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsTestStudent.page"
+				v-model:page-size="tableParamsTestStudent.pageSize"
+				:total="tableParamsTestStudent.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeTestStudent"
+				@current-change="handleCurrentChangeTestStudent"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogTestStudent
+        ref="printDialogRefTestStudent"
+        :title="printTestStudentTitle"
+        @reloadTable="handleQueryTestStudent" />
+      <editDialogTestStudent
+        ref="editDialogRefTestStudent"
+        :title="editTestStudentTitle"
+        @reloadTable="handleQueryTestStudent"
+      />
+      <importExcelDialog
+        ref="importExcelDialogRefTestStudent"
+        :title="importExcelTitleTestStudent"
+        @parentUploadFun="handleImportExcelTestStudent"
+        @parentDownFun="handleDownExcelTestStudent"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="testStudent">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+  // 鎺ㄨ崘璁剧疆鎿嶄綔 width 涓� 200
+  import { hiprint } from 'vue-plugin-hiprint';
+  import { SysPrintApi } from '/@/api-services/api';
+  import { SysPrint } from '/@/api-services/models';
+
+  import printDialogTestStudent from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogTestStudent from '/@/views/main/TestDemo/testStudent/component/editDialog.vue'
+  import { pageTestStudent, deleteTestStudent,importExcelTestStudent,downloadExcelTemplateTestStudent } from '/@/api/main/TestDemo/testStudent';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumIsInSchoolData_Index = ref<any>([]);
+  const getEnumIsWDRData_Index = ref<any>([]);
+  const getEnumGenderData_Index = ref<any>([]);
+  const getEnumOtherGenderData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[娴嬭瘯瀛︾敓琛ㄦ搷浣淽寮�濮�***************************************************/
+  const showAdvanceQueryUITestStudent = ref(false);
+  const tableRefTestStudent = ref(null);
+  const printDialogRefTestStudent = ref();
+  const editDialogRefTestStudent = ref();
+  const loadingTestStudent = ref(false);
+  const disabled_btnTestStudent = ref(false);
+  const tableDataTestStudent = ref<any>([]);
+  const queryParamsTestStudent = ref<any>({});
+  const tableParamsTestStudent = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printTestStudentTitle = ref("");
+  const editTestStudentTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUITestStudent = () => {
+    showAdvanceQueryUITestStudent.value = !showAdvanceQueryUITestStudent.value;
+  }
+
+  // 鏌ヨ娴嬭瘯瀛︾敓琛�
+  const handleQueryTestStudent = async () => {
+    loadingTestStudent.value = true;
+    disabled_btnTestStudent.value = true;
+    var res = await pageTestStudent(Object.assign(queryParamsTestStudent.value, tableParamsTestStudent.value));
+    if(res.data.type=="success"){
+      tableDataTestStudent.value = res.data.result?.items ?? [];
+      tableParamsTestStudent.value.total = res.data.result?.total;
+    }
+    loadingTestStudent.value = false;
+    disabled_btnTestStudent.value = false;
+  };
+
+  // 閲嶇疆娴嬭瘯瀛︾敓琛ㄦ煡璇�
+  const resetTestStudent = async () => {
+    queryParamsTestStudent.value = {}
+  };
+
+  // 娴嬭瘯瀛︾敓琛ㄥ垪鎺掑簭
+  const sortChangeTestStudent = async (column: any) => {
+	queryParamsTestStudent.value.field = column.prop;
+	queryParamsTestStudent.value.order = column.order;
+	await handleQueryTestStudent();
+  };
+
+  // 鎵撳紑鏂板娴嬭瘯瀛︾敓琛ㄩ〉闈�
+  const openAddTestStudent = () => {
+    editTestStudentTitle.value = '娣诲姞娴嬭瘯瀛︾敓琛�';
+    editDialogRefTestStudent.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃娴嬭瘯瀛︾敓琛ㄩ〉闈�
+  const openPrintTestStudent = async (row: any) => {
+    printTestStudentTitle.value = '鎵撳嵃娴嬭瘯瀛︾敓琛�';
+    var res = await getAPI(SysPrintApi).apiSysPrintPrintNameGet('娴嬭瘯鎵撳嵃妯$増');
+	  var printTemplate = res.data.result as SysPrint;
+    var template = JSON.parse(printTemplate.template);
+    row['printDate'] = formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS')
+    printDialogRefTestStudent.value.showDialog(new hiprint.PrintTemplate({template: template}), row, template.panels[0].width);
+  }
+  
+  // 鎵撳紑缂栬緫娴嬭瘯瀛︾敓琛ㄩ〉闈�
+  const openEditTestStudent = (row: any) => {
+    editTestStudentTitle.value = '缂栬緫娴嬭瘯瀛︾敓琛�';
+    editDialogRefTestStudent.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎娴嬭瘯瀛︾敓琛�
+  const delTestStudent = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingTestStudent.value = true;
+    var ret = await deleteTestStudent(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingTestStudent.value = false;
+    handleQueryTestStudent();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉娴嬭瘯瀛︾敓琛ㄩ〉闈㈠閲�
+  const handleSizeChangeTestStudent = (val: number) => {
+    tableParamsTestStudent.value.pageSize = val;
+    handleQueryTestStudent();
+  };
+
+  // 鏀瑰彉娴嬭瘯瀛︾敓琛ㄩ〉鐮佸簭鍙�
+  const handleCurrentChangeTestStudent = (val: number) => {
+    tableParamsTestStudent.value.page = val;
+    handleQueryTestStudent();
+  };
+
+/***************************************************[娴嬭瘯瀛︾敓琛ㄦ搷浣淽缁撴潫***************************************************/
+/***************************************************[娴嬭瘯瀛︾敓琛ㄥ鍏寮�濮�***************************************************/
+const importExcelTitleTestStudent = ref("");
+const importExcelDialogRefTestStudent = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelTestStudent = () => {
+    importExcelTitleTestStudent.value = '瀵煎叆娴嬭瘯瀛︾敓琛�';
+    importExcelDialogRefTestStudent.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelTestStudent = async (formData:Blob) => {
+   var result = await importExcelTestStudent(formData);
+   importExcelDialogRefTestStudent.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+   if(result.data.type=="success"){
+    handleQueryTestStudent();
+   }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelTestStudent = async () => {
+   var result = await downloadExcelTemplateTestStudent();
+   importExcelDialogRefTestStudent.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[娴嬭瘯瀛︾敓琛ㄥ鍏缁撴潫***************************************************/
+/***************************************************[娴嬭瘯瀛︾敓琛ㄥ鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapTestStudent = {
+      getEnumIsInSchoolData_Index,
+      getEnumIsWDRData_Index,
+      getEnumGenderData_Index,
+      getEnumOtherGenderData_Index,
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelTestStudent = async (formData:Blob) => {
+    loadingTestStudent.value = true;
+    disabled_btnTestStudent.value = true;
+    var new_tableParamsTestStudent=JSON.parse(JSON.stringify(tableParamsTestStudent.value));
+    new_tableParamsTestStudent.page = 1;
+    new_tableParamsTestStudent.pageSize = 100000;
+    var res = await pageTestStudent(Object.assign(queryParamsTestStudent.value, new_tableParamsTestStudent));
+    if(res.data.type=="success"){
+      exportExcelTestStudent(res.data.result?.items ?? []);
+    }
+    loadingTestStudent.value = false;
+    disabled_btnTestStudent.value = false;
+};
+//瀵煎嚭
+const exportExcelTestStudent  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefTestStudent,"娴嬭瘯瀛︾敓琛�",functionMapTestStudent);
+};
+/***************************************************[娴嬭瘯瀛︾敓琛ㄥ鍑篯缁撴潫***************************************************/
+  // 娴嬭瘯瀛︾敓琛ㄩ〉闈㈠姞杞芥椂
+  onMounted(async () => {
+    getEnumIsInSchoolData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+    getEnumIsWDRData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+    getEnumGenderData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AreaTypeEnum')).data.result ?? [];
+    getEnumOtherGenderData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('ActionLogTypeEnum')).data.result ?? [];
+  });
+
+  handleQueryTestStudent();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testTeacher/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testTeacher/component/editDialog.vue
new file mode 100644
index 0000000..8ff5062
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testTeacher/component/editDialog.vue
@@ -0,0 +1,163 @@
+锘�<template>
+	<div class="testTeacher-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="濮撳悕" prop="name">
+							<el-input v-model="ruleForm.name" placeholder="璇疯緭鍏ュ鍚�" maxlength="2000" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍒悕(鍙┖)" prop="aliName">
+							<el-input v-model="ruleForm.aliName" placeholder="璇疯緭鍏ュ埆鍚�(鍙┖)" maxlength="2000" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏇剧敤鍚�" prop="oldName">
+							<el-input v-model="ruleForm.oldName" placeholder="璇疯緭鍏ユ浘鐢ㄥ悕" maxlength="2000" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="浣忓潃(鍙┖)" prop="address">
+							<el-input v-model="ruleForm.address" placeholder="璇疯緭鍏ヤ綇鍧�(鍙┖)" maxlength="2000" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addTestTeacher, updateTestTeacher, detailTestTeacher } from "/@/api/main/TestDemo/testTeacher";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		name: [{required: true, message: '璇疯緭鍏ュ鍚嶏紒', trigger: 'blur',},],
+		oldName: [{required: true, message: '璇疯緭鍏ユ浘鐢ㄥ悕锛�', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailTestTeacher(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addTestTeacher(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateTestTeacher(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testTeacher/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testTeacher/index.vue
new file mode 100644
index 0000000..a94c2c1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/testTeacher/index.vue
@@ -0,0 +1,282 @@
+锘�<template>
+  <div class="testTeacher-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsTestTeacher" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsTestTeacher.searchKey" clearable="" placeholder="濮撳悕,鍒悕(鍙┖),鏇剧敤鍚�,浣忓潃(鍙┖),鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestTeacher">
+            <el-form-item label="濮撳悕">
+              <el-input v-model="queryParamsTestTeacher.name" clearable="" placeholder="璇疯緭鍏ュ鍚�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestTeacher">
+            <el-form-item label="鍒悕(鍙┖)">
+              <el-input v-model="queryParamsTestTeacher.aliName" clearable="" placeholder="璇疯緭鍏ュ埆鍚�(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestTeacher">
+            <el-form-item label="鏇剧敤鍚�">
+              <el-input v-model="queryParamsTestTeacher.oldName" clearable="" placeholder="璇疯緭鍏ユ浘鐢ㄥ悕"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestTeacher">
+            <el-form-item label="浣忓潃(鍙┖)">
+              <el-input v-model="queryParamsTestTeacher.address" clearable="" placeholder="璇疯緭鍏ヤ綇鍧�(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryTestTeacher" v-auth="'testTeacher:page'" :disabled="disabled_btnTestTeacher"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetTestTeacher"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUITestTeacher" v-if="!showAdvanceQueryUITestTeacher" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUITestTeacher" v-if="showAdvanceQueryUITestTeacher" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddTestTeacher" v-auth="'testTeacher:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelTestTeacher"  v-auth="'testTeacher:importExcel'" > 瀵煎叆 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelTestTeacher"  v-auth="'testTeacher:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefTestTeacher"
+				:data="tableDataTestTeacher"
+				style="width: 100%"
+				v-loading="loadingTestTeacher"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeTestTeacher"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="name" label="濮撳悕"  show-overflow-tooltip="" />
+        <el-table-column prop="aliName" label="鍒悕(鍙┖)"  show-overflow-tooltip="" />
+        <el-table-column prop="oldName" label="鏇剧敤鍚�"  show-overflow-tooltip="" />
+        <el-table-column prop="address" label="浣忓潃(鍙┖)"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('testTeacher:update') || auth('testTeacher:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditTestTeacher(scope.row)" v-auth="'testTeacher:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delTestTeacher(scope.row)" v-auth="'testTeacher:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsTestTeacher.page"
+				v-model:page-size="tableParamsTestTeacher.pageSize"
+				:total="tableParamsTestTeacher.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeTestTeacher"
+				@current-change="handleCurrentChangeTestTeacher"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogTestTeacher
+        ref="printDialogRefTestTeacher"
+        :title="printTestTeacherTitle"
+        @reloadTable="handleQueryTestTeacher" />
+      <editDialogTestTeacher
+        ref="editDialogRefTestTeacher"
+        :title="editTestTeacherTitle"
+        @reloadTable="handleQueryTestTeacher"
+      />
+      <importExcelDialog
+        ref="importExcelDialogRefTestTeacher"
+        :title="importExcelTitleTestTeacher"
+        @parentUploadFun="handleImportExcelTestTeacher"
+        @parentDownFun="handleDownExcelTestTeacher"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="testTeacher">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+  import printDialogTestTeacher from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogTestTeacher from '/@/views/main/TestDemo/testTeacher/component/editDialog.vue'
+  import { pageTestTeacher, deleteTestTeacher,importExcelTestTeacher,downloadExcelTemplateTestTeacher } from '/@/api/main/TestDemo/testTeacher';
+
+
+  
+  /***************************************************[娴嬭瘯鑰佸笀琛ㄦ搷浣淽寮�濮�***************************************************/
+  const showAdvanceQueryUITestTeacher = ref(false);
+  const tableRefTestTeacher = ref(null);
+  const printDialogRefTestTeacher = ref();
+  const editDialogRefTestTeacher = ref();
+  const loadingTestTeacher = ref(false);
+  const disabled_btnTestTeacher = ref(false);
+  const tableDataTestTeacher = ref<any>([]);
+  const queryParamsTestTeacher = ref<any>({});
+  const tableParamsTestTeacher = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printTestTeacherTitle = ref("");
+  const editTestTeacherTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUITestTeacher = () => {
+    showAdvanceQueryUITestTeacher.value = !showAdvanceQueryUITestTeacher.value;
+  }
+
+  // 鏌ヨ娴嬭瘯鑰佸笀琛�
+  const handleQueryTestTeacher = async () => {
+    loadingTestTeacher.value = true;
+    disabled_btnTestTeacher.value = true;
+    var res = await pageTestTeacher(Object.assign(queryParamsTestTeacher.value, tableParamsTestTeacher.value));
+    if(res.data.type=="success"){
+      tableDataTestTeacher.value = res.data.result?.items ?? [];
+      tableParamsTestTeacher.value.total = res.data.result?.total;
+    }
+    loadingTestTeacher.value = false;
+    disabled_btnTestTeacher.value = false;
+  };
+
+  // 閲嶇疆娴嬭瘯鑰佸笀琛ㄦ煡璇�
+  const resetTestTeacher = async () => {
+    queryParamsTestTeacher.value = {}
+  };
+
+  // 娴嬭瘯鑰佸笀琛ㄥ垪鎺掑簭
+  const sortChangeTestTeacher = async (column: any) => {
+	queryParamsTestTeacher.value.field = column.prop;
+	queryParamsTestTeacher.value.order = column.order;
+	await handleQueryTestTeacher();
+  };
+
+  // 鎵撳紑鏂板娴嬭瘯鑰佸笀琛ㄩ〉闈�
+  const openAddTestTeacher = () => {
+    editTestTeacherTitle.value = '娣诲姞娴嬭瘯鑰佸笀琛�';
+    editDialogRefTestTeacher.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃娴嬭瘯鑰佸笀琛ㄩ〉闈�
+  const openPrintTestTeacher = async (row: any) => {
+    printTestTeacherTitle.value = '鎵撳嵃娴嬭瘯鑰佸笀琛�';
+  }
+  
+  // 鎵撳紑缂栬緫娴嬭瘯鑰佸笀琛ㄩ〉闈�
+  const openEditTestTeacher = (row: any) => {
+    editTestTeacherTitle.value = '缂栬緫娴嬭瘯鑰佸笀琛�';
+    editDialogRefTestTeacher.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎娴嬭瘯鑰佸笀琛�
+  const delTestTeacher = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingTestTeacher.value = true;
+    var ret = await deleteTestTeacher(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingTestTeacher.value = false;
+    handleQueryTestTeacher();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉娴嬭瘯鑰佸笀琛ㄩ〉闈㈠閲�
+  const handleSizeChangeTestTeacher = (val: number) => {
+    tableParamsTestTeacher.value.pageSize = val;
+    handleQueryTestTeacher();
+  };
+
+  // 鏀瑰彉娴嬭瘯鑰佸笀琛ㄩ〉鐮佸簭鍙�
+  const handleCurrentChangeTestTeacher = (val: number) => {
+    tableParamsTestTeacher.value.page = val;
+    handleQueryTestTeacher();
+  };
+
+/***************************************************[娴嬭瘯鑰佸笀琛ㄦ搷浣淽缁撴潫***************************************************/
+/***************************************************[娴嬭瘯鑰佸笀琛ㄥ鍏寮�濮�***************************************************/
+const importExcelTitleTestTeacher = ref("");
+const importExcelDialogRefTestTeacher = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelTestTeacher = () => {
+    importExcelTitleTestTeacher.value = '瀵煎叆娴嬭瘯鑰佸笀琛�';
+    importExcelDialogRefTestTeacher.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelTestTeacher = async (formData:Blob) => {
+   var result = await importExcelTestTeacher(formData);
+   importExcelDialogRefTestTeacher.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+   if(result.data.type=="success"){
+    handleQueryTestTeacher();
+   }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelTestTeacher = async () => {
+   var result = await downloadExcelTemplateTestTeacher();
+   importExcelDialogRefTestTeacher.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[娴嬭瘯鑰佸笀琛ㄥ鍏缁撴潫***************************************************/
+/***************************************************[娴嬭瘯鑰佸笀琛ㄥ鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapTestTeacher = {
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelTestTeacher = async (formData:Blob) => {
+    loadingTestTeacher.value = true;
+    disabled_btnTestTeacher.value = true;
+    var new_tableParamsTestTeacher=JSON.parse(JSON.stringify(tableParamsTestTeacher.value));
+    new_tableParamsTestTeacher.page = 1;
+    new_tableParamsTestTeacher.pageSize = 100000;
+    var res = await pageTestTeacher(Object.assign(queryParamsTestTeacher.value, new_tableParamsTestTeacher));
+    if(res.data.type=="success"){
+      exportExcelTestTeacher(res.data.result?.items ?? []);
+    }
+    loadingTestTeacher.value = false;
+    disabled_btnTestTeacher.value = false;
+};
+//瀵煎嚭
+const exportExcelTestTeacher  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefTestTeacher,"娴嬭瘯鑰佸笀琛�",functionMapTestTeacher);
+};
+/***************************************************[娴嬭瘯鑰佸笀琛ㄥ鍑篯缁撴潫***************************************************/
+  // 娴嬭瘯鑰佸笀琛ㄩ〉闈㈠姞杞芥椂
+  onMounted(async () => {
+  });
+
+  handleQueryTestTeacher();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/v_students/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/v_students/index.vue
new file mode 100644
index 0000000..bfa8416
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/TestDemo/v_students/index.vue
@@ -0,0 +1,339 @@
+锘�<template>
+  <div class="v_students-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="璇疯緭鍏ユā绯婃煡璇㈠叧閿瓧"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="涓婚敭Id">
+              <el-input v-model="queryParams.id" clearable="" placeholder="璇疯緭鍏ヤ富閿甀d"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鑰佸笀ID">
+              <el-input v-model="queryParams.testTeacherId" clearable="" placeholder="璇疯緭鍏ヨ�佸笀ID"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="瀛︾敓濮撳悕">
+              <el-input v-model="queryParams.name" clearable="" placeholder="璇疯緭鍏ュ鐢熷鍚�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍒悕(鍙┖)">
+              <el-input v-model="queryParams.aliName" clearable="" placeholder="璇疯緭鍏ュ埆鍚�(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="瀛︾敓骞撮緞">
+              <el-input-number v-model="queryParams.age"  clearable="" placeholder="璇疯緭鍏ュ鐢熷勾榫�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="骞寸邯(鍙┖)">
+              <el-input-number v-model="queryParams.nianJi"  clearable="" placeholder="璇疯緭鍏ュ勾绾�(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鑰佸笀ID">
+              <el-input v-model="queryParams.teacherId" clearable="" placeholder="璇疯緭鍏ヨ�佸笀ID"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鏍¢暱ID(鍙┖)">
+              <el-input v-model="queryParams.rectorId" clearable="" placeholder="璇疯緭鍏ユ牎闀縄D(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="闆惰姳閽�">
+              <el-input v-model="queryParams.hasMoney" clearable="" placeholder="璇疯緭鍏ラ浂鑺遍挶"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="韬环(鍙┖)">
+              <el-input v-model="queryParams.shenJia" clearable="" placeholder="璇疯緭鍏ヨ韩浠�(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鏄惁鍦ㄦ牎">
+              <el-select clearable="" v-model="queryParams.isInSchool" placeholder="璇烽�夋嫨鏄惁鍦ㄦ牎">
+                <el-option v-for="(item,index) in getEnumIsInSchoolData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鏄惁澶栧湴浜�(鍙┖)">
+              <el-select clearable="" v-model="queryParams.isWDR" placeholder="璇烽�夋嫨鏄惁澶栧湴浜�(鍙┖)">
+                <el-option v-for="(item,index) in getEnumIsWDRData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鎬у埆">
+              <el-select clearable="" v-model="queryParams.gender" placeholder="璇烽�夋嫨鎬у埆">
+                <el-option v-for="(item,index) in getEnumGenderData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍏朵粬鎬у埆(鍙┖)">
+              <el-select clearable="" v-model="queryParams.otherGender" placeholder="璇烽�夋嫨鍏朵粬鎬у埆(鍙┖)">
+                <el-option v-for="(item,index) in getEnumOtherGenderData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍑虹敓鏃ユ湡">
+              <el-date-picker placeholder="璇烽�夋嫨鍑虹敓鏃ユ湡" value-format="YYYY/MM/DD" type="daterange" v-model="queryParams.brithDateRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍏ュ鏃ユ湡(鍙┖)">
+              <el-date-picker placeholder="璇烽�夋嫨鍏ュ鏃ユ湡(鍙┖)" value-format="YYYY/MM/DD" type="daterange" v-model="queryParams.inSchoolDateRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鑰佸笀鍚嶅瓧">
+              <el-input v-model="queryParams.teacherName" clearable="" placeholder="璇疯緭鍏ヨ�佸笀鍚嶅瓧"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" v-auth="'v_students:page'"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddv_students" v-auth="'v_students:add'"> 鏂板 </el-button>
+                
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+				:data="tableData"
+				style="width: 100%"
+				v-loading="loading"
+				tooltip-effect="light"
+                                @sort-change="sortChange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="id" label="涓婚敭Id"  show-overflow-tooltip="" />
+        <el-table-column prop="testTeacherId" label="鑰佸笀ID"  show-overflow-tooltip="" />
+        <el-table-column prop="name" label="瀛︾敓濮撳悕"  show-overflow-tooltip="" />
+        <el-table-column prop="aliName" label="鍒悕(鍙┖)"  show-overflow-tooltip="" />
+        <el-table-column prop="age" label="瀛︾敓骞撮緞"  show-overflow-tooltip="" />
+        <el-table-column prop="nianJi" label="骞寸邯(鍙┖)"  show-overflow-tooltip="" />
+        <el-table-column prop="teacherId" label="鑰佸笀ID"  show-overflow-tooltip="" />
+        <el-table-column prop="rectorId" label="鏍¢暱ID(鍙┖)"  show-overflow-tooltip="" />
+        <el-table-column prop="hasMoney" label="闆惰姳閽�"  show-overflow-tooltip="" />
+        <el-table-column prop="shenJia" label="韬环(鍙┖)"  show-overflow-tooltip="" />
+        <el-table-column prop="isInSchool" label="鏄惁鍦ㄦ牎"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isInSchool"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="isWDR" label="鏄惁澶栧湴浜�(鍙┖)"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isWDR"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+          <el-table-column prop="gender" label="鎬у埆"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.gender, getEnumGenderData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column prop="otherGender" label="鍏朵粬鎬у埆(鍙┖)"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.otherGender, getEnumOtherGenderData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+         <el-table-column prop="brithDate" label="鍑虹敓鏃ユ湡" width="80" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+         <el-table-column prop="inSchoolDate" label="鍏ュ鏃ユ湡(鍙┖)" width="80" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="teacherName" label="鑰佸笀鍚嶅瓧"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('v_students:update') || auth('v_students:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditv_students(scope.row)" v-auth="'v_students:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delv_students(scope.row)" v-auth="'v_students:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialog
+        ref="printDialogRef"
+        :title="printv_studentsTitle"
+        @reloadTable="handleQuery" />
+      <editDialog
+        ref="editDialogRef"
+        :title="editv_studentsTitle"
+        @reloadTable="handleQuery"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="v_students">
+  import { ref } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+
+
+  import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pagev_students, deletev_students } from '/@/api/main/TestDemo/v_students';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumIsInSchoolData_Index = ref<any>([]);
+  const getEnumIsWDRData_Index = ref<any>([]);
+  const getEnumGenderData_Index = ref<any>([]);
+  const getEnumOtherGenderData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  const showAdvanceQueryUI = ref(false);
+  const printDialogRef = ref();
+  const editDialogRef = ref();
+  const loading = ref(false);
+  const tableData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printv_studentsTitle = ref("");
+  const editv_studentsTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI = () => {
+    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+  }
+  
+
+  // 鏌ヨ鎿嶄綔
+  const handleQuery = async () => {
+    loading.value = true;
+    var res = await pagev_students(Object.assign(queryParams.value, tableParams.value));
+    tableData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+    loading.value = false;
+    getEnumIsInSchoolData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+    getEnumIsWDRData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+    getEnumGenderData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('GenderEnum')).data.result ?? [];
+    getEnumOtherGenderData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('GenderEnum')).data.result ?? [];
+  };
+
+  // 鍒楁帓搴�
+  const sortChange = async (column: any) => {
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
+  };
+
+  // 鎵撳紑鏂板椤甸潰
+  const openAddv_students = () => {
+    editv_studentsTitle.value = '娣诲姞娴嬭瘯瀛︾敓瑙嗗浘';
+    editDialogRef.value.openDialog({});
+  };
+
+  // 鎵撳紑鎵撳嵃椤甸潰
+  const openPrintv_students = async (row: any) => {
+    printv_studentsTitle.value = '鎵撳嵃娴嬭瘯瀛︾敓瑙嗗浘';
+  }
+  
+  // 鎵撳紑缂栬緫椤甸潰
+  const openEditv_students = (row: any) => {
+    editv_studentsTitle.value = '缂栬緫娴嬭瘯瀛︾敓瑙嗗浘';
+    editDialogRef.value.openDialog(row);
+  };
+
+  // 鍒犻櫎
+  const delv_students = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    await deletev_students(row);
+    handleQuery();
+    ElMessage.success("鍒犻櫎鎴愬姛");
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉椤甸潰瀹归噺
+  const handleSizeChange = (val: number) => {
+    tableParams.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉椤电爜搴忓彿
+  const handleCurrentChange = (val: number) => {
+    tableParams.value.page = val;
+    handleQuery();
+  };
+
+  handleQuery();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WareAgeWarm/wareAgeWarm/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WareAgeWarm/wareAgeWarm/component/editDialog.vue
new file mode 100644
index 0000000..2f6e32b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WareAgeWarm/wareAgeWarm/component/editDialog.vue
@@ -0,0 +1,185 @@
+锘�<template>
+	<div class="wareAgeWarm-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅缂栧彿" prop="placeCode">
+							<el-input v-model="ruleForm.placeCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="棰勮搴撻緞" prop="qualityAssurance">
+							<el-input v-model="ruleForm.qualityAssurance" placeholder="璇疯緭鍏ラ璀﹀簱榫�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撻緞" prop="wareAge">
+							<el-input-number v-model="ruleForm.wareAge" placeholder="璇疯緭鍏ュ簱榫�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瓒呮湡澶╂暟" prop="overDueDays">
+							<el-input v-model="ruleForm.overDueDays" placeholder="璇疯緭鍏ヨ秴鏈熷ぉ鏁�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏ュ簱鏃堕棿" prop="recordInsertTime">
+							<el-date-picker v-model="ruleForm.recordInsertTime" type="date" placeholder="鍏ュ簱鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWareAgeWarm, updateWareAgeWarm, detailWareAgeWarm } from "/@/api/main/WareAgeWarm/wareAgeWarm";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		placeCode: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鍙凤紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWareAgeWarm(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWareAgeWarm(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWareAgeWarm(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WareAgeWarm/wareAgeWarm/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WareAgeWarm/wareAgeWarm/index.vue
new file mode 100644
index 0000000..6e66ff2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WareAgeWarm/wareAgeWarm/index.vue
@@ -0,0 +1,328 @@
+锘�<template>
+  <div class="wareAgeWarm-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWareAgeWarm" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWareAgeWarm.searchKey" clearable="" placeholder="鐗╂枡鍚嶇О,鐗╂枡缂栧彿,搴撲綅缂栧彿"/>              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="鍏ュ簱鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨鍏ュ簱鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWareAgeWarm.recordInsertTimeRange" />              
+            </el-form-item>
+          </el-col> 
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWareAgeWarm.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParamsWareAgeWarm.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="搴撲綅缂栧彿">
+              <el-input v-model="queryParamsWareAgeWarm.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�"/>              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+						<el-form-item label="鎵�鍦ㄥ簱鍖�" prop="areaName">
+							<el-select v-model="queryParamsWareAgeWarm.areaName" placeholder="璇烽�夋嫨鎵�鍦ㄥ簱鍖�">
+								<el-option v-for="(item,index) in arr1"  :key="index" :value="item.value" :label="item.value"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>          
+
+            <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+              <el-form-item label="瀹瑰櫒缂栧彿">
+                <el-input v-model.trim="queryParamsWareAgeWarm.containerCode" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�" clearable></el-input>
+              </el-form-item>
+            </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="棰勮搴撻緞">
+              <el-input v-model="queryParamsWareAgeWarm.qualityAssurance" clearable="" placeholder="璇疯緭鍏ラ璀﹀簱榫�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="搴撻緞">
+              <el-input-number v-model="queryParamsWareAgeWarm.wareAge"  clearable="" placeholder="璇疯緭鍏ュ簱榫�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="瓒呮湡澶╂暟">
+              <el-input v-model="queryParamsWareAgeWarm.overDueDays" clearable="" placeholder="璇疯緭鍏ヨ秴鏈熷ぉ鏁�"/>
+            
+            </el-form-item>
+          </el-col>  -->
+		  <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+      
+		    <el-form-item label="瓒呮湡鑼冨洿">
+          <div style="display:flex"> 
+            <el-input v-model="queryParamsWareAgeWarm.overDueDaysStart" clearable="" placeholder="鏈熷ぉ寮�濮嬪ぉ鏁�"/> 
+            <div style="margin: 0 10px 0 10px;"> ~ </div>
+            <el-input v-model="queryParamsWareAgeWarm.overDueDaysEnd" clearable="" placeholder="瓒呮湡缁撴潫澶╂暟"/>
+          </div>
+			   
+		    </el-form-item>
+		  </el-col> -->
+		  <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6"  class="mb20"v-if="showAdvanceQueryUIWareAgeWarm">
+		  	<el-form-item   label="鏈熷ぉ寮�濮嬪ぉ鏁�" prop="startTime">
+		  		<el-date-picker :disabled="dialogType == 'detail'" v-model="queryParamsWareAgeWarm.overDueDaysStart" type="date" placeholder="鏈熷ぉ寮�濮嬪ぉ鏁�" />
+		  	</el-form-item>
+		  </el-col>
+		  <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6"  class="mb20"v-if="showAdvanceQueryUIWareAgeWarm">
+		  	<el-form-item   label="瓒呮湡缁撴潫澶╂暟" prop="endTime">
+		  		<el-date-picker :disabled="dialogType == 'detail'" v-model="queryParamsWareAgeWarm.overDueDaysEnd" type="date" placeholder="瓒呮湡缁撴潫澶╂暟" />
+		  	</el-form-item>
+		  </el-col> -->
+      <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+      
+      <el-form-item label="瓒呮湡鑼冨洿">
+        <div style="display:flex"> 
+          <el-input v-model="queryParamsWareAgeWarm.overDueDaysStart" clearable="" placeholder="瓒呮湡澶╂暟"/> 
+          <div style="margin: 0 10px 0 10px;"> ~ </div>
+          <el-input v-model="queryParamsWareAgeWarm.overDueDaysEnd" clearable="" placeholder="瓒呮湡澶╂暟"/>
+        </div>
+       
+      </el-form-item>
+    </el-col>        
+        <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+          <el-form-item>
+            <el-button-group style="display: flex; align-items: center;">
+              <el-button type="primary"  icon="ele-Search" @click="handleQueryWareAgeWarm" v-auth="'wareAgeWarm:page'" :disabled="disabled_btnWareAgeWarm"> 鏌ヨ </el-button>
+                    <el-button icon="ele-Refresh" @click="resetWareAgeWarm"> 閲嶇疆 </el-button>
+                      <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWareAgeWarm" v-if="!showAdvanceQueryUIWareAgeWarm" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                      <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWareAgeWarm" v-if="showAdvanceQueryUIWareAgeWarm" style="margin-left:5px;"> 闅愯棌 </el-button>
+              <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWareAgeWarm" v-auth="'wareAgeWarm:add'"> 鏂板 </el-button>
+              <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWareAgeWarm"  v-auth="'wareAgeWarm:exportExcel'" > 瀵煎嚭 </el-button>
+            </el-button-group>
+          </el-form-item>
+          
+        </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWareAgeWarm"
+				:data="tableDataWareAgeWarm"
+				style="width: 100%"
+				v-loading="loadingWareAgeWarm"
+				tooltip-effect="light"   @sort-change="sortChangeWareAgeWarm"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+		<el-table-column prop="materialCode" label="鐗╂枡缂栧彿" min-width="110px"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" min-width="110px" show-overflow-tooltip="" />
+		<el-table-column prop="snCode" label="璺熻釜鐮�" min-width="260px" show-overflow-tooltip="" />
+        <el-table-column prop="placeCode" label="搴撲綅缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="containerCode" label="瀹瑰櫒缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="areaName" label="鎵�灞炲簱鍖�"  show-overflow-tooltip="" />
+        <el-table-column prop="qualityAssurance" label="棰勮搴撻緞"  show-overflow-tooltip="" />
+        <el-table-column prop="wareAge" label="搴撻緞"  show-overflow-tooltip="" />
+        <el-table-column prop="overDueDays" label="瓒呮湡澶╂暟"  show-overflow-tooltip="" />
+        <el-table-column prop="recordInsertTime" label="鍏ュ簱鏃堕棿" min-width="130px"  show-overflow-tooltip="" />
+         
+
+         <!-- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130"   show-overflow-tooltip="" /> -->
+         <!-- <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wareAgeWarm:update') || auth('wareAgeWarm:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWareAgeWarm(scope.row)" v-auth="'wareAgeWarm:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWareAgeWarm(scope.row)" v-auth="'wareAgeWarm:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column> -->
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWareAgeWarm.page"
+				v-model:page-size="tableParamsWareAgeWarm.pageSize"
+				:total="tableParamsWareAgeWarm.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWareAgeWarm"
+				@current-change="handleCurrentChangeWareAgeWarm"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWareAgeWarm
+        ref="printDialogRefWareAgeWarm"
+        :title="printWareAgeWarmTitle"
+        @reloadTable="handleQueryWareAgeWarm" />
+      <editDialogWareAgeWarm
+        ref="editDialogRefWareAgeWarm"
+        :title="editWareAgeWarmTitle"
+        @reloadTable="handleQueryWareAgeWarm"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wareAgeWarm">
+  import { ref,onMounted,nextTick } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+  import { handleSlectDataWmsArea } from '/@/utils/selectData';
+
+  import printDialogWareAgeWarm from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pageWareAgeWarm, deleteWareAgeWarm,importExcelWareAgeWarm,downloadExcelTemplateWareAgeWarm } from '/@/api/main/WareAgeWarm/wareAgeWarm';
+
+
+  
+  /***************************************************[搴撻緞鎶ヨ〃鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWareAgeWarm = ref(false);
+  const tableRefWareAgeWarm = ref(null);
+  const printDialogRefWareAgeWarm = ref();
+  const editDialogRefWareAgeWarm = ref();
+  const loadingWareAgeWarm = ref(false);
+  const disabled_btnWareAgeWarm = ref(false);
+  const tableDataWareAgeWarm = ref<any>([]);
+  const queryParamsWareAgeWarm = ref<any>({});
+  const tableParamsWareAgeWarm = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWareAgeWarmTitle = ref("");
+  const editWareAgeWarmTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWareAgeWarm = () => {
+    showAdvanceQueryUIWareAgeWarm.value = !showAdvanceQueryUIWareAgeWarm.value;
+  }
+
+  // 鏌ヨ搴撻緞鎶ヨ〃
+  const handleQueryWareAgeWarm = async () => {
+    loadingWareAgeWarm.value = true;
+    disabled_btnWareAgeWarm.value = true;
+    var res = await pageWareAgeWarm(Object.assign(queryParamsWareAgeWarm.value, tableParamsWareAgeWarm.value));
+    if(res.data.type=="success"){
+      tableDataWareAgeWarm.value = res.data.result?.items ?? [];
+      tableParamsWareAgeWarm.value.total = res.data.result?.total;
+    }
+    loadingWareAgeWarm.value = false;
+    disabled_btnWareAgeWarm.value = false;
+  };
+
+  // 閲嶇疆搴撻緞鎶ヨ〃鏌ヨ
+  const resetWareAgeWarm = async () => {
+    queryParamsWareAgeWarm.value = {}
+  };
+
+  // 搴撻緞鎶ヨ〃鍒楁帓搴�
+  const sortChangeWareAgeWarm = async (column: any) => {
+	queryParamsWareAgeWarm.value.field = column.prop;
+	queryParamsWareAgeWarm.value.order = column.order;
+	await handleQueryWareAgeWarm();
+  };
+
+  // 鎵撳紑鏂板搴撻緞鎶ヨ〃椤甸潰
+  const openAddWareAgeWarm = () => {
+    editWareAgeWarmTitle.value = '娣诲姞搴撻緞鎶ヨ〃';
+    editDialogRefWareAgeWarm.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃搴撻緞鎶ヨ〃椤甸潰
+  const openPrintWareAgeWarm = async (row: any) => {
+    printWareAgeWarmTitle.value = '鎵撳嵃搴撻緞鎶ヨ〃';
+  }
+  
+  // 鎵撳紑缂栬緫搴撻緞鎶ヨ〃椤甸潰
+  const openEditWareAgeWarm = (row: any) => {
+    editWareAgeWarmTitle.value = '缂栬緫搴撻緞鎶ヨ〃';
+    editDialogRefWareAgeWarm.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎搴撻緞鎶ヨ〃
+  const delWareAgeWarm = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWareAgeWarm.value = true;
+    var ret = await deleteWareAgeWarm(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWareAgeWarm.value = false;
+    handleQueryWareAgeWarm();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉搴撻緞鎶ヨ〃椤甸潰瀹归噺
+  const handleSizeChangeWareAgeWarm = (val: number) => {
+    tableParamsWareAgeWarm.value.pageSize = val;
+    handleQueryWareAgeWarm();
+  };
+
+  // 鏀瑰彉搴撻緞鎶ヨ〃椤电爜搴忓彿
+  const handleCurrentChangeWareAgeWarm = (val: number) => {
+    tableParamsWareAgeWarm.value.page = val;
+    handleQueryWareAgeWarm();
+  };
+
+/***************************************************[搴撻緞鎶ヨ〃鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[搴撻緞鎶ヨ〃瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWareAgeWarm = {
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWareAgeWarm = async (formData:Blob) => {
+    loadingWareAgeWarm.value = true;
+    disabled_btnWareAgeWarm.value = true;
+    var new_tableParamsWareAgeWarm=JSON.parse(JSON.stringify(tableParamsWareAgeWarm.value));
+    new_tableParamsWareAgeWarm.page = 1;
+    new_tableParamsWareAgeWarm.pageSize = 100000;
+    var res = await pageWareAgeWarm(Object.assign(queryParamsWareAgeWarm.value, new_tableParamsWareAgeWarm));
+    if(res.data.type=="success"){
+      exportExcelWareAgeWarm(res.data.result?.items ?? []);
+    }
+    loadingWareAgeWarm.value = false;
+    disabled_btnWareAgeWarm.value = false;
+};
+//瀵煎嚭
+const exportExcelWareAgeWarm  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWareAgeWarm,"搴撻緞鎶ヨ〃",functionMapWareAgeWarm);
+};
+/***************************************************[搴撻緞鎶ヨ〃瀵煎嚭]缁撴潫***************************************************/
+let arr1:any =ref("") //涓嬫媺璇诲彇鎺ュ彛
+  // 搴撻緞鎶ヨ〃椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    nextTick(async () => {
+    arr1.value = await handleSlectDataWmsArea({
+      page: 1,
+			pageSize: 1000,
+			total: 0,
+			IsDisabled:false,
+      // isVirtually:false,
+      // areaType:1 //绔嬩綋搴�
+    }); //涓嬫媺璇诲彇鎺ュ彛
+  });
+  });
+
+  handleQueryWareAgeWarm();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/baseCustomer/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/baseCustomer/component/editDialog.vue
new file mode 100644
index 0000000..95ce735
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/baseCustomer/component/editDialog.vue
@@ -0,0 +1,355 @@
+锘�<template>
+	<div class="baseCustomer-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="缂栧彿" prop="custCode">
+							<el-input v-model="ruleForm.custCode" placeholder="璇疯緭鍏ョ紪鍙�" maxlength="255" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓枃鍚嶇О" prop="custChinaName">
+							<el-input v-model="ruleForm.custChinaName" placeholder="璇疯緭鍏ヤ腑鏂囧悕绉�"  @input="custChinaNameChange" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鑻辨枃鍚嶇О" prop="custEnglishName">
+							<el-input v-model="ruleForm.custEnglishName" placeholder="璇疯緭鍏ヨ嫳鏂囧悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍔╄鐮�" prop="mnemonicCode">
+							<el-input v-model="ruleForm.mnemonicCode" placeholder="璇疯緭鍏ュ姪璁扮爜" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绫诲瀷" prop="custType">
+							<el-select clearable v-model="ruleForm.custType" placeholder="璇烽�夋嫨绫诲瀷">
+								<el-option v-for="(item,index) in dl('BaseCustomerTypeEnum')"  :key="index" :value="Number(item.value)" :label="`${item.code}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鑱旂郴浜�" prop="linkMan">
+							<el-input v-model="ruleForm.linkMan" placeholder="璇疯緭鍏ヨ仈绯讳汉" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐢佃瘽" prop="phone">
+							<el-input v-model="ruleForm.phone" placeholder="璇疯緭鍏ョ數璇�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐢靛瓙閭欢" prop="email">
+							<el-input v-model="ruleForm.email" placeholder="璇疯緭鍏ョ數瀛愰偖浠�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閭紪" prop="zipCode">
+							<el-input v-model="ruleForm.zipCode" placeholder="璇疯緭鍏ラ偖缂�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐪佷唤" prop="province">
+							<!-- <el-input v-model="ruleForm.province" placeholder="璇疯緭鍏ョ渷浠�" maxlength="50" show-word-limit clearable /> -->
+							
+
+							<el-select
+                v-model="ruleForm.province"
+                filterable
+                clearable
+                placeholder="璇烽�夋嫨鎵�鍦ㄧ渷"
+                style="width: 100%"
+                @change="changeShi(ruleForm.province)" 
+              >
+                <el-option
+                  v-for="item in provinceAllEnum"
+                  :key="item"
+                  :label="item"
+                  :value="item"
+                />
+              </el-select>
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍩庡競" prop="city">
+							<!-- <el-input v-model="ruleForm.city" placeholder="璇疯緭鍏ュ煄甯�" maxlength="50" show-word-limit clearable /> -->
+							
+
+							<el-select
+                v-model="ruleForm.city"
+                filterable
+                clearable
+                placeholder="璇烽�夋嫨鎵�鍦ㄥ競"
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in cityEnums"
+                  :key="item.name"
+                  :label="item.name"
+                  :value="item.name"
+                />
+              </el-select>
+
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍦板潃" prop="address">
+							<el-input v-model="ruleForm.address" placeholder="璇疯緭鍏ュ湴鍧�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+
+	import {cityEnumsAll,provinceAllEnum} from '/@/utils/enum'
+
+	import { addBaseCustomer, updateBaseCustomer, detailBaseCustomer, getMnemonicCode} from "/@/api/main/WmsBase/baseCustomer";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+
+
+	// 鏍¢獙閭鏍煎紡---涓嶈兘涓虹┖
+const validatorEmailEmpty = (rule: any, value: any, callback: any) => {
+	const mailReg = /^([a-zA-Z\d][\w-]{2,})@(\w{2,})\.([a-z]{2,})(\.[a-z]{2,})?$/;
+	if (!value) {
+			callback()
+	}
+	setTimeout(() => {
+			if (mailReg.test(value)) {
+					callback();
+			} else {
+					callback(new Error("璇疯緭鍏ユ纭殑閭鏍煎紡"));
+			}
+	}, 100);
+};
+
+// 鏍¢獙鐢佃瘽鍙风爜---鍙互涓虹┖
+const validatorTelEmpty = (rule:any, value: any, callback: any) => {
+	if (!value) {
+			callback();
+	} else {
+			const reg = /^1[3|4|5|7|8][0-9]\d{8}$/;
+			if (reg.test(value)) {
+					callback();
+			} else {
+					return callback(new Error("璇疯緭鍏ユ纭殑鎵嬫満鍙锋牸寮�"));
+			}
+	}
+};
+
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		custCode: [{required: true, message: '璇疯緭鍏ョ紪鍙凤紒', trigger: 'blur',},],
+		custChinaName: [{required: true, message: '璇疯緭鍏ヤ腑鏂囧悕绉帮紒', trigger: 'blur',},],
+		custType: [{required: true, message: '璇烽�夋嫨绫诲瀷锛�', trigger: 'change',},],
+
+		email: [{validator: validatorEmailEmpty,trigger: 'blur'}],
+  phone: [{validator: validatorTelEmpty,trigger: 'blur'}]
+
+	});
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailBaseCustomer(rowData.id)).data.result;
+		else
+			ruleForm.value = rowData;
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addBaseCustomer(values);
+				} else {
+					await updateBaseCustomer(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+
+
+
+	
+
+	const provinceEnum = ref([]);
+//鑾峰彇瀹㈡埛鍒楄〃
+const getProvinceCurrentList = () => {
+	getProvinceList()
+    .then((res) => {
+      if (res.code == 200) {
+        provinceEnum.value = res.data.reduce((curr: any, item: any) => {
+          curr.push({
+            label: item,
+            value: item
+          });
+          return curr;
+        }, []);
+      } else {
+        ;
+      }
+    })
+    .catch((err) => {
+      ElMessage.error(err);
+    });
+};
+// getProvinceCurrentList()
+
+
+// 鐪佸競鑱斿姩
+const cityEnums = ref([])
+const changeShi = (itemOut?:any) => {
+  if(itemOut){
+    ruleForm.value.city =""
+    cityEnumsAll.forEach((item:any)=>{
+      if(item.name == itemOut){
+        if(item.children[0].name == '甯傝緰鍖�'){
+          cityEnums.value = [
+            {
+              "name": itemOut
+            }
+          ];
+        }else{
+          cityEnums.value = item.children;
+        }
+      }
+    })
+  }
+}
+
+/*涓枃鍚嶇О鍊兼敼鍙樿皟鐢ㄧ殑鏂规硶*/
+const custChinaNameChange = (chinaName?: any) => {
+
+	if(!chinaName){
+		ruleForm.value.mnemonicCode = '';
+		return;
+	}
+	if(chinaName!=undefined&&!chinaName.trim().length){
+		ruleForm.value.mnemonicCode = '';
+		return;
+	}
+	getMnemonicCode(chinaName)
+    .then((res) => {
+      if (res.data.code == 200) {
+		console.log(res);
+		ruleForm.value.mnemonicCode = res.data.result
+      } 
+	//   else {
+    //     ;
+    //   }
+    })
+    .catch((err) => {
+      ElMessage.error(err);
+    });
+};
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/baseCustomer/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/baseCustomer/index.vue
new file mode 100644
index 0000000..212b1fc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/baseCustomer/index.vue
@@ -0,0 +1,412 @@
+<template>
+  <div class="baseCustomer-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="缂栧彿,涓枃鍚嶇О,鑻辨枃鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="缂栧彿">
+              <el-input v-model="queryParams.custCode" clearable="" placeholder="璇疯緭鍏ョ紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="涓枃鍚嶇О">
+              <el-input v-model="queryParams.custChinaName" clearable="" placeholder="璇疯緭鍏ヤ腑鏂囧悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鑻辨枃鍚嶇О">
+              <el-input v-model="queryParams.custEnglishName" clearable="" placeholder="璇疯緭鍏ヨ嫳鏂囧悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="绫诲瀷">
+              <el-select clearable="" v-model="queryParams.custType" placeholder="璇烽�夋嫨绫诲瀷">
+                <el-option v-for="(item,index) in dl('BaseCustomerTypeEnum')" :key="index" :value="item.code" :label="`${item.code}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+		  <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+		  		  		    <el-form-item label="鏄惁绂佺敤">
+		  		  		      <el-select clearable="" v-model="queryParams.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+		  		  		        <el-option v-for="(item,index) in getIsDisabledData" :key="index" :value="item.value" :label="`${item.text}`" />
+		  		  		        
+		  		  		      </el-select>
+		  		  		      
+		  		  		    </el-form-item>
+		  		  		  </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐪佷唤">
+              <!-- <el-input v-model="queryParams.province" clearable="" placeholder="璇疯緭鍏ョ渷浠�"/> -->
+
+              <el-select
+                v-model="queryParams.province"
+                filterable
+                clearable
+                placeholder="璇烽�夋嫨鎵�鍦ㄧ渷"
+                style="width: 100%"
+                @change="changeShi(queryParams.province)" 
+              >
+                <el-option
+                  v-for="item in provinceAllEnum"
+                  :key="item"
+                  :label="item"
+                  :value="item"
+                />
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍩庡競">
+              <!-- <el-input v-model="queryParams.city" clearable="" placeholder="璇疯緭鍏ュ煄甯�"/> -->
+              <el-select
+                v-model="queryParams.city"
+                filterable
+                clearable
+                placeholder="璇烽�夋嫨鎵�鍦ㄥ競"
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in cityEnums"
+                  :key="item.name"
+                  :label="item.name"
+                  :value="item.name"
+                />
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+
+
+
+
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" v-auth="'baseCustomer:page'"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="reset"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddBaseCustomer" v-auth="'baseCustomer:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelBaseCustomer"  v-auth="'baseCustomer:importExcel'" > 瀵煎叆 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelBaseCustomer"  v-auth="'baseCustomer:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+	            ref="tableRefBaseCustomer"
+				:data="tableData"
+				style="width: 100%"
+				v-loading="loading"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="custCode" label="缂栧彿" min-width="100px"  show-overflow-tooltip="" />
+        <el-table-column prop="custChinaName" label="涓枃鍚嶇О" min-width="100px"  show-overflow-tooltip="" />
+        <el-table-column prop="custEnglishName" label="鑻辨枃鍚嶇О" min-width="100px"  show-overflow-tooltip="" />
+        <el-table-column prop="mnemonicCode" label="鍔╄鐮�"  show-overflow-tooltip="" />
+          <!-- <el-table-column prop="custType" label="绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ scope.row.custTypeName }}
+            </template>
+          </el-table-column> -->
+        <el-table-column prop="custTypeName" label="绫诲瀷鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="linkMan" label="鑱旂郴浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="phone" label="鐢佃瘽"  show-overflow-tooltip="" />
+        <el-table-column prop="email" label="鐢靛瓙閭欢"  show-overflow-tooltip="" />
+        <el-table-column prop="zipCode" label="閭紪"  show-overflow-tooltip="" />
+        <el-table-column prop="province" label="鐪佷唤"  show-overflow-tooltip="" />
+        <el-table-column prop="city" label="鍩庡競"  show-overflow-tooltip="" />
+        <el-table-column prop="address" label="鍦板潃"  show-overflow-tooltip="" />
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip=""/>
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('baseCustomer:update') || auth('baseCustomer:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditBaseCustomer(scope.row)" v-auth="'baseCustomer:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delBaseCustomer(scope.row)" v-auth="'baseCustomer:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialog
+        ref="printDialogRef"
+        :title="printBaseCustomerTitle"
+        @reloadTable="handleQuery" />
+      <editDialog
+        ref="editDialogRef"
+        :title="editBaseCustomerTitle"
+        @reloadTable="handleQuery"
+      />
+	  <importExcelDialog
+	    ref="importExcelDialogRefBaseCustomer"
+	    :title="importExcelTitleBaseCustomer"
+	    @parentUploadFun="handleImportExcelBaseCustomer"
+	    @parentDownFun="handleDownExcelBaseCustomer"
+	  />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="baseCustomer">
+  import { ref } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate } from '/@/utils/formatTime';
+  import {cityEnumsAll ,provinceAllEnum} from '/@/utils/enum'
+  import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialog from '/@/views/main/WmsBase/baseCustomer/component/editDialog.vue'
+  import { pageBaseCustomer, deleteBaseCustomer, getProvinceList,importExcelBaseCustomer,downloadExcelTemplateBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+  import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+  import { getAPI } from '/@/utils/axios-utils';
+  import { SysEnumApi } from '/@/api-services/api';
+  const getEnumIsVirtuallyData_Index = ref<any>([]);
+  const getEnumCustTypeData_Index = ref<any>([]);
+  const getEnumIsDisabledData_Index = ref<any>([]);
+  const showAdvanceQueryUI = ref(false);
+  const printDialogRef = ref();
+  const editDialogRef = ref();
+  const loading = ref(false);
+  const tableData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+  const getIsDisabledData = [{
+	  "value":true,"text":"鏄�"
+  },{
+	  "value":false,"text":"鍚�"
+  }]
+  const printBaseCustomerTitle = ref("");
+  const editBaseCustomerTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI = () => {
+    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+  }
+  
+  const disabled_btnBaseCustomer = ref(false);
+  const tableRefBaseCustomer = ref(null);
+  const disabled_btnWmsContainer = ref(false);
+const importExcelTitleBaseCustomer = ref("");
+const importExcelDialogRefBaseCustomer = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelBaseCustomer = () => {
+    importExcelTitleBaseCustomer.value = '瀵煎叆寰�鏉ヤ紒涓�';
+    importExcelDialogRefBaseCustomer.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelBaseCustomer = async (formData:Blob) => {
+   var result = await importExcelBaseCustomer(formData);
+   importExcelDialogRefBaseCustomer.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+   if(result.data.type=="success"){
+    handleQuery();
+   }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelBaseCustomer = async () => {
+   var result = await downloadExcelTemplateBaseCustomer();
+   importExcelDialogRefBaseCustomer.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+
+
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapBaseCustomer = {
+      getEnumCustTypeData_Index,
+      getEnumIsDisabledData_Index,
+	  getEnumIsVirtuallyData_Index,
+      // formatDate_T_Date,
+      // formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelBaseCustomer = async (formData:Blob) => {
+    loading.value = true;
+    disabled_btnBaseCustomer.value = true;
+    var new_tableParamsBaseCustomer=JSON.parse(JSON.stringify(tableParams.value));
+    new_tableParamsBaseCustomer.page = 1;
+    new_tableParamsBaseCustomer.pageSize = 100000;
+    var res = await pageBaseCustomer(Object.assign(queryParams.value, new_tableParamsBaseCustomer));
+    if(res.data.type=="success"){
+      exportExcelBaseCustomer(res.data.result?.items ?? []);
+    }
+    loading.value = false;
+    disabled_btnBaseCustomer.value = false;
+};
+//瀵煎嚭
+const exportExcelBaseCustomer  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefBaseCustomer,"寰�鏉ヤ紒涓�",functionMapBaseCustomer);
+};
+
+
+  // 鏌ヨ鎿嶄綔
+  const handleQuery = async () => {
+    loading.value = true;
+    var res = await pageBaseCustomer(Object.assign(queryParams.value, tableParams.value));
+    tableData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+    loading.value = false;
+	getEnumIsVirtuallyData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+	getEnumIsDisabledData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+  };
+
+  // 鍒楁帓搴�
+  const sortChange = async (column: any) => {
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
+  };
+
+  // 鎵撳紑鏂板椤甸潰
+  const openAddBaseCustomer = () => {
+    editBaseCustomerTitle.value = '娣诲姞寰�鏉ヤ紒涓�';
+    editDialogRef.value.openDialog({});
+  };
+
+  // 鎵撳紑鎵撳嵃椤甸潰
+  const openPrintBaseCustomer = async (row: any) => {
+    printBaseCustomerTitle.value = '鎵撳嵃寰�鏉ヤ紒涓�';
+  }
+  
+  // 鎵撳紑缂栬緫椤甸潰
+  const openEditBaseCustomer = (row: any) => {
+    editBaseCustomerTitle.value = '缂栬緫寰�鏉ヤ紒涓�';
+    editDialogRef.value.openDialog(row);
+  };
+
+  // 鍒犻櫎
+  const delBaseCustomer = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    var ret = await deleteBaseCustomer(row);
+    if (ret.data.type == 'success') {
+      handleQuery();
+      ElMessage.success("鍒犻櫎鎴愬姛");
+    }
+    
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉椤甸潰瀹归噺
+  const handleSizeChange = (val: number) => {
+    tableParams.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉椤电爜搴忓彿
+  const handleCurrentChange = (val: number) => {
+    tableParams.value.page = val;
+    handleQuery();
+  };
+
+  handleQuery();
+
+
+  const provinceEnum = ref([]);
+//鑾峰彇瀹㈡埛鍒楄〃
+const getProvinceCurrentList = () => {
+  getProvinceList()
+    .then((res) => {
+      if (res.code == 200) {
+        provinceEnum.value = res.data.reduce((curr: any, item: any) => {
+          curr.push({
+            label: item,
+            value: item
+          });
+          return curr;
+        }, []);
+      } else {
+        ;
+      }
+    })
+    .catch((err) => {
+      ElMessage.error(err);
+    });
+};
+// getProvinceCurrentList()
+
+
+// 鐪佸競鑱斿姩
+const cityEnums = ref([])
+const changeShi = (itemOut?:any) => {
+  if(itemOut){
+    queryParams.value.city =""
+    cityEnumsAll.forEach((item:any)=>{
+      if(item.name == itemOut){
+        if(item.children[0].name == '甯傝緰鍖�'){
+          cityEnums.value = [
+            {
+              "name": itemOut
+            }
+          ];
+        }else{
+          cityEnums.value = item.children;
+        }
+      }
+    })
+  }
+}
+
+
+const reset = () =>{
+  queryParams.value ={}
+  queryParams.value.province =""
+  queryParams.value.city =""
+  cityEnums.value =[]
+}
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsArea/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsArea/component/editDialog.vue
new file mode 100644
index 0000000..4db9566
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsArea/component/editDialog.vue
@@ -0,0 +1,239 @@
+锘�<template>
+	<div class="wmsArea-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="true">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵�灞炰粨搴�" prop="warehouseId">
+							<el-select clearable v-model="ruleForm.warehouseId" placeholder="璇烽�夋嫨鎵�灞炰粨搴�">
+								<el-option v-for="(item,index) in arr1"  :key="index" :value="item.id" :label="`[${item.code}] ${item.value}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯绫诲瀷" prop="areaType">
+							<el-select clearable v-model="ruleForm.areaType" placeholder="璇烽�夋嫨搴撳尯绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumAreaTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯缂栧彿" prop="areaCode">
+							<el-input v-model="ruleForm.areaCode" :disabled="isEditDialog" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯鍚嶇О" prop="areaName">
+							<el-input v-model="ruleForm.areaName" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP搴撳瓨鍦�" prop="erpCode">
+							<el-input v-model="ruleForm.erpCode" placeholder="璇疯緭鍏RP搴撳瓨鍦�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯鎻忚堪" prop="areaDesc">
+							<el-input v-model="ruleForm.areaDesc" placeholder="璇疯緭鍏ュ簱鍖烘弿杩�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏉$爜绾х鎺�" prop="isBarcodeLevelControl">
+							<el-switch v-model="ruleForm.isBarcodeLevelControl" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col> -->
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="妫�楠屽厛杩涘厛鍑�" prop="isFIFO">
+							<el-switch v-model="ruleForm.isFIFO" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col> -->
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="闆朵欢绾х鎺�" prop="isPartLevelControl">
+							<el-switch v-model="ruleForm.isPartLevelControl" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏佽娣锋穯" prop="isAllowConfusion">
+							<el-switch v-model="ruleForm.isAllowConfusion" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏佽璐熷簱瀛�" prop="isAllowNegativeInventory">
+							<el-switch v-model="ruleForm.isAllowNegativeInventory" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁铏氭嫙" prop="isVirtually">
+							<el-switch v-model="ruleForm.isVirtually" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted, nextTick } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsArea, updateWmsArea, detailWmsArea } from "/@/api/main/WmsBase/wmsArea";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+	// 璇诲彇涓嬫媺鏁版嵁鐨勫叕鍏辨柟娉�
+	import { handleSlectDatawmsWarehouse } from "/@/utils/selectData";
+    //搴撳尯绫诲瀷鏋氫妇 
+	const getEnumAreaTypeData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const isEditDialog = ref(false);//鏄惁鏄紪杈�
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		areaCode: [{required: true, message: '璇疯緭鍏ュ簱鍖虹紪鍙凤紒', trigger: 'blur',},],
+		areaName: [{required: true, message: '璇疯緭鍏ュ簱鍖哄悕绉帮紒', trigger: 'blur',},],
+		// erpCode: [{required: true, message: '璇疯緭鍏RP搴撳瓨鍦帮紒', trigger: 'blur',},],
+		warehouseId: [{required: true, message: '璇烽�夋嫨鎵�灞炰粨搴擄紒', trigger: 'change',},],
+		// areaType: [{required: true, message: '璇烽�夋嫨搴撳尯绫诲瀷锛�', trigger: 'change',},],
+	});
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id){
+			ruleForm.value = (await detailWmsArea(rowData.id)).data.result;
+		    isEditDialog.value=true;
+		}else{
+			ruleForm.value = rowData;
+			isEditDialog.value=false;
+		}
+	
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+		ruleFormRef.value.resetFields();
+	};
+
+	// 鍙栨秷
+	const closeDialogAndReset = () => {
+		closeDialog();
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+		ruleFormRef.value.resetFields();
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addWmsArea(values);
+				} else {
+					await updateWmsArea(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+
+
+
+
+
+	let arr1:any =ref("") //涓嬫媺璇诲彇鎺ュ彛
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+		nextTick(async () => {
+			arr1.value = await handleSlectDatawmsWarehouse(); //涓嬫媺璇诲彇鎺ュ彛
+		});
+	    getEnumAreaTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AreaTypeEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsArea/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsArea/index.vue
new file mode 100644
index 0000000..6907714
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsArea/index.vue
@@ -0,0 +1,342 @@
+<template>
+  <div class="wmsArea-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="搴撳尯缂栧彿,搴撳尯鍚嶇О,ERP搴撳瓨鍦�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="搴撳尯缂栧彿">
+              <el-input v-model="queryParams.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="搴撳尯鍚嶇О">
+              <el-input v-model="queryParams.areaName" clearable="" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="ERP搴撳瓨鍦�">
+              <el-input v-model="queryParams.erpCode" clearable="" placeholder="璇疯緭鍏RP搴撳瓨鍦�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="搴撳尯绫诲瀷">
+              <el-select clearable="" v-model="queryParams.areaType" placeholder="璇烽�夋嫨搴撳尯绫诲瀷">
+                <el-option v-for="(item,index) in getEnumAreaTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+
+
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鎵�灞炰粨搴�">
+              <el-select clearable="" v-model="queryParams.warehouseId" placeholder="璇烽�夋嫨鎵�灞炰粨搴�">
+                <el-option v-for="(item,index) in arr1" :key="index" :value="item.id" :label="`[${item.code}] ${item.value}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+		  <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+		  		    <el-form-item label="鏄惁绂佺敤">
+		  		      <el-select clearable="" v-model="queryParams.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+		  		        <el-option v-for="(item,index) in getIsDisabledData" :key="index" :value="item.value" :label="`${item.text}`" />
+		  		        
+		  		      </el-select>
+		  		      
+		  		    </el-form-item>
+		  		  </el-col>
+            <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+		  		    <el-form-item label="鏄惁铏氭嫙">
+		  		      <el-select clearable="" v-model="queryParams.isVirtually" placeholder="璇烽�夋嫨鏄惁铏氭嫙">
+		  		        <el-option v-for="(item,index) in getIsDisabledData" :key="index" :value="item.value" :label="`${item.text}`" />
+		  		        
+		  		      </el-select>
+		  		      
+		  		    </el-form-item>
+		  		  </el-col>
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" v-auth="'wmsArea:page'"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsArea" v-auth="'wmsArea:add'"> 鏂板 </el-button>
+                
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+				:data="tableData"
+				style="width: 100%"
+				v-loading="loading"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="areaCode"  width="100" label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="warehouseCode"   width="100"label="浠撳簱缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="warehouseId"  width="100" label="鎵�灞炰粨搴�"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ scope.row.warehouseName }}
+            </template>
+          </el-table-column>
+        <el-table-column prop="areaName"  width="100" label="搴撳尯鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="erpCode"   width="120"label="ERP搴撳瓨鍦�"  show-overflow-tooltip="" />
+          <el-table-column prop="areaType" label="搴撳尯绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.areaType, getEnumAreaTypeData_Index)}}
+            </template>
+          </el-table-column>
+
+        <el-table-column prop="areaDesc" label="搴撳尯鎻忚堪"  show-overflow-tooltip="" />
+
+
+        <!-- <el-table-column prop="isBarcodeLevelControl" label="闆朵欢绾х鎺�"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isBarcodeLevelControl"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="isFIFO" label="妫�楠屽厛杩涘厛鍑�"  show-overflow-tooltip="" min-width="110px">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isFIFO"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="isPartLevelControl" label="鏉$爜绾х鎺�"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isPartLevelControl"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="isAllowConfusion" label="鍏佽娣锋穯"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isAllowConfusion"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column> -->
+        <!-- <el-table-column prop="isAllowNegativeInventory" label="鍏佽璐熷簱瀛�"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isAllowNegativeInventory"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column> -->
+        <el-table-column prop="isVirtually" label="鏄惁铏氭嫙"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isVirtually"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip=""/>
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsArea:update') || auth('wmsArea:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsArea(scope.row)" v-auth="'wmsArea:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsArea(scope.row)" v-auth="'wmsArea:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialog
+        ref="printDialogRef"
+        :title="printWmsAreaTitle"
+        @reloadTable="handleQuery" />
+      <editDialog
+        ref="editDialogRef"
+        :title="editWmsAreaTitle"
+        @reloadTable="handleQuery"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsArea">
+  import { nextTick, onMounted, ref } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate } from '/@/utils/formatTime';
+
+
+  import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialog from '/@/views/main/WmsBase/wmsArea/component/editDialog.vue'
+  import { pageWmsArea, deleteWmsArea } from '/@/api/main/WmsBase/wmsArea';
+import { handleSlectDatawmsWarehouse } from "/@/utils/selectData";
+
+  import { getAPI } from '/@/utils/axios-utils';
+  import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+  let arr1:any =ref("") //涓嬫媺璇诲彇鎺ュ彛
+  const getEnumAreaTypeData_Index = ref<any>([]);
+  const { getEnumDesc } = commonFunction();
+  const getIsDisabledData = [{
+	  "value":true,"text":"鏄�"
+  },{
+	  "value":false,"text":"鍚�"
+  }]
+  const showAdvanceQueryUI = ref(false);
+  const printDialogRef = ref();
+  const editDialogRef = ref();
+  const loading = ref(false);
+  const tableData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsAreaTitle = ref("");
+  const editWmsAreaTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI = () => {
+    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+  }
+  
+
+  // 鏌ヨ鎿嶄綔
+  const handleQuery = async () => {
+    loading.value = true;
+    var res = await pageWmsArea(Object.assign(queryParams.value, tableParams.value));
+    tableData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+    loading.value = false;
+  };
+
+  // 鍒楁帓搴�
+  const sortChange = async (column: any) => {
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
+  };
+
+  // 鎵撳紑鏂板椤甸潰
+  const openAddWmsArea = () => {
+    editWmsAreaTitle.value = '娣诲姞搴撳尯淇℃伅';
+    editDialogRef.value.openDialog({});
+  };
+
+  // 鎵撳紑鎵撳嵃椤甸潰
+  const openPrintWmsArea = async (row: any) => {
+    printWmsAreaTitle.value = '鎵撳嵃搴撳尯淇℃伅';
+  }
+  
+  // 鎵撳紑缂栬緫椤甸潰
+  const openEditWmsArea = (row: any) => {
+    editWmsAreaTitle.value = '缂栬緫搴撳尯淇℃伅';
+    editDialogRef.value.openDialog(row);
+  };
+
+  // 鍒犻櫎
+  const delWmsArea = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    var res = await deleteWmsArea(row);
+    if(res.data && res.data.code==200){
+      handleQuery();
+      ElMessage.success("鍒犻櫎鎴愬姛");
+    }
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉椤甸潰瀹归噺
+  const handleSizeChange = (val: number) => {
+    tableParams.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉椤电爜搴忓彿
+  const handleCurrentChange = (val: number) => {
+    tableParams.value.page = val;
+    handleQuery();
+  };
+
+  handleQuery();
+
+  
+onMounted(async () => {
+	nextTick(async () => {
+		arr1.value = await handleSlectDatawmsWarehouse(); //涓嬫媺璇诲彇鎺ュ彛
+	});
+  getEnumAreaTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AreaTypeEnum')).data.result ?? [];
+});
+
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBasePlace/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBasePlace/component/editDialog.vue
new file mode 100644
index 0000000..7213cf2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBasePlace/component/editDialog.vue
@@ -0,0 +1,271 @@
+锘�<template>
+	<div class="wmsBasePlace-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅缂栫爜" prop="placeCode">
+							<el-input v-model="ruleForm.placeCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅鍚嶇О" prop="placeName">
+							<el-input v-model="ruleForm.placeName" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅绫诲瀷" prop="placeType">
+							<el-select clearable v-model="ruleForm.placeType" placeholder="璇烽�夋嫨搴撲綅绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumPlaceTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅绫诲瀷鍚嶇О" prop="placeTypeName">
+							<el-input v-model="ruleForm.placeTypeName" placeholder="璇疯緭鍏ュ簱浣嶇被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅闀垮害" prop="length">
+							<el-input v-model="ruleForm.length" placeholder="璇疯緭鍏ュ簱浣嶉暱搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅瀹藉害" prop="width">
+							<el-input v-model="ruleForm.width" placeholder="璇疯緭鍏ュ簱浣嶅搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅楂樺害" prop="height">
+							<el-input v-model="ruleForm.height" placeholder="璇疯緭鍏ュ簱浣嶉珮搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍘氬害" prop="thick">
+							<el-input v-model="ruleForm.thick" placeholder="璇疯緭鍏ュ帤搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅灞炴��" prop="placeStatus">
+							<el-select clearable v-model="ruleForm.placeStatus" placeholder="璇烽�夋嫨搴撲綅灞炴��">
+								<el-option v-for="(item,index) in  getEnumPlaceStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵�鍦ㄥ簱鍖�" prop="areaId">
+							<el-input v-model="ruleForm.areaId" placeholder="璇疯緭鍏ユ墍鍦ㄥ簱鍖�" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯缂栧彿" prop="areaCode">
+							<el-input v-model="ruleForm.areaCode" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯鍚嶇О" prop="areaName">
+							<el-input v-model="ruleForm.areaName" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍒�" prop="columnNo">
+							<el-input-number v-model="ruleForm.columnNo" placeholder="璇疯緭鍏ュ垪" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="灞�" prop="layerNo">
+							<el-input-number v-model="ruleForm.layerNo" placeholder="璇疯緭鍏ュ眰" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍙�" prop="laneNo">
+							<el-input-number v-model="ruleForm.laneNo" placeholder="璇疯緭鍏ュ彿" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁铏氭嫙" prop="isVirtually">
+							<el-switch v-model="ruleForm.isVirtually" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsBasePlace, updateWmsBasePlace, detailWmsBasePlace } from "/@/api/main/WmsBase/wmsBasePlace";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumPlaceTypeData = ref<any>([]);
+	const getEnumPlaceStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		placeCode: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鐮侊紒', trigger: 'blur',},],
+		placeName: [{required: true, message: '璇疯緭鍏ュ簱浣嶅悕绉帮紒', trigger: 'blur',},],
+		placeType: [{required: true, message: '璇烽�夋嫨搴撲綅绫诲瀷锛�', trigger: 'change',},],
+		placeStatus: [{required: true, message: '璇烽�夋嫨搴撲綅灞炴�э紒', trigger: 'change',},],
+		areaId: [{required: true, message: '璇疯緭鍏ユ墍鍦ㄥ簱鍖猴紒', trigger: 'blur',},],
+		isDisabled: [{required: true, message: '璇烽�夋嫨鏄惁绂佺敤锛�', trigger: 'change',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsBasePlace(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+			ruleForm.value.isDisabled = false;//蹇呭~锛岃祴鍊奸粯璁ゅ��
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsBasePlace(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsBasePlace(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumPlaceTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceTypeEnum')).data.result ?? [];
+			getEnumPlaceStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceStatusEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBasePlace/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBasePlace/index.vue
new file mode 100644
index 0000000..b40558e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBasePlace/index.vue
@@ -0,0 +1,393 @@
+锘�<template>
+  <div class="wmsBasePlace-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsBasePlace" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsBasePlace.searchKey" clearable="" placeholder="搴撲綅缂栫爜,搴撲綅鍚嶇О,搴撲綅绫诲瀷鍚嶇О,搴撳尯缂栧彿,搴撳尯鍚嶇О,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅缂栫爜">
+              <el-input v-model="queryParamsWmsBasePlace.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅鍚嶇О">
+              <el-input v-model="queryParamsWmsBasePlace.placeName" clearable="" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsBasePlace.placeType" placeholder="璇烽�夋嫨搴撲綅绫诲瀷">
+                <el-option v-for="(item,index) in getEnumPlaceTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅绫诲瀷鍚嶇О">
+              <el-input v-model="queryParamsWmsBasePlace.placeTypeName" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇被鍨嬪悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅闀垮害">
+              <el-input v-model="queryParamsWmsBasePlace.length" clearable="" placeholder="璇疯緭鍏ュ簱浣嶉暱搴�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅瀹藉害">
+              <el-input v-model="queryParamsWmsBasePlace.width" clearable="" placeholder="璇疯緭鍏ュ簱浣嶅搴�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅楂樺害">
+              <el-input v-model="queryParamsWmsBasePlace.height" clearable="" placeholder="璇疯緭鍏ュ簱浣嶉珮搴�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鍘氬害">
+              <el-input v-model="queryParamsWmsBasePlace.thick" clearable="" placeholder="璇疯緭鍏ュ帤搴�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅灞炴��">
+              <el-select clearable="" v-model="queryParamsWmsBasePlace.placeStatus" placeholder="璇烽�夋嫨搴撲綅灞炴��">
+                <el-option v-for="(item,index) in getEnumPlaceStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鎵�鍦ㄥ簱鍖�">
+              <el-input v-model="queryParamsWmsBasePlace.areaId" clearable="" placeholder="璇疯緭鍏ユ墍鍦ㄥ簱鍖�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsBasePlace.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撳尯鍚嶇О">
+              <el-input v-model="queryParamsWmsBasePlace.areaName" clearable="" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鍒�">
+              <el-input-number v-model="queryParamsWmsBasePlace.columnNo"  clearable="" placeholder="璇疯緭鍏ュ垪"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="灞�">
+              <el-input-number v-model="queryParamsWmsBasePlace.layerNo"  clearable="" placeholder="璇疯緭鍏ュ眰"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鍙�">
+              <el-input-number v-model="queryParamsWmsBasePlace.laneNo"  clearable="" placeholder="璇疯緭鍏ュ彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鏄惁铏氭嫙">
+              <el-select clearable="" v-model="queryParamsWmsBasePlace.isVirtually" placeholder="璇烽�夋嫨鏄惁铏氭嫙">
+                <el-option v-for="(item,index) in getEnumIsVirtuallyData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鏄惁绂佺敤">
+              <el-select clearable="" v-model="queryParamsWmsBasePlace.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+                <el-option v-for="(item,index) in getEnumIsDisabledData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsBasePlace" v-auth="'wmsBasePlace:page'" :disabled="disabled_btnWmsBasePlace"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsBasePlace"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsBasePlace" v-if="!showAdvanceQueryUIWmsBasePlace" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsBasePlace" v-if="showAdvanceQueryUIWmsBasePlace" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsBasePlace" v-auth="'wmsBasePlace:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsBasePlace"  v-auth="'wmsBasePlace:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsBasePlace"
+				:data="tableDataWmsBasePlace"
+				style="width: 100%"
+				v-loading="loadingWmsBasePlace"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsBasePlace"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="placeCode" label="搴撲綅缂栫爜"  show-overflow-tooltip="" />
+        <el-table-column prop="placeName" label="搴撲綅鍚嶇О"  show-overflow-tooltip="" />
+          <el-table-column prop="placeType" label="搴撲綅绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.placeType, getEnumPlaceTypeData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="placeTypeName" label="搴撲綅绫诲瀷鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="length" label="搴撲綅闀垮害"  show-overflow-tooltip="" />
+        <el-table-column prop="width" label="搴撲綅瀹藉害"  show-overflow-tooltip="" />
+        <el-table-column prop="height" label="搴撲綅楂樺害"  show-overflow-tooltip="" />
+        <el-table-column prop="thick" label="鍘氬害"  show-overflow-tooltip="" />
+          <el-table-column prop="placeStatus" label="搴撲綅灞炴��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.placeStatus, getEnumPlaceStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="areaId" label="鎵�鍦ㄥ簱鍖�"  show-overflow-tooltip="" />
+        <el-table-column prop="areaCode" label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="areaName" label="搴撳尯鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="columnNo" label="鍒�"  show-overflow-tooltip="" />
+        <el-table-column prop="layerNo" label="灞�"  show-overflow-tooltip="" />
+        <el-table-column prop="laneNo" label="鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="isVirtually" label="鏄惁铏氭嫙"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isVirtually"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsBasePlace:update') || auth('wmsBasePlace:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsBasePlace(scope.row)" v-auth="'wmsBasePlace:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsBasePlace(scope.row)" v-auth="'wmsBasePlace:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsBasePlace.page"
+				v-model:page-size="tableParamsWmsBasePlace.pageSize"
+				:total="tableParamsWmsBasePlace.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsBasePlace"
+				@current-change="handleCurrentChangeWmsBasePlace"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsBasePlace
+        ref="printDialogRefWmsBasePlace"
+        :title="printWmsBasePlaceTitle"
+        @reloadTable="handleQueryWmsBasePlace" />
+      <editDialogWmsBasePlace
+        ref="editDialogRefWmsBasePlace"
+        :title="editWmsBasePlaceTitle"
+        @reloadTable="handleQueryWmsBasePlace"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsBasePlace">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+  import printDialogWmsBasePlace from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogWmsBasePlace from '/@/views/main/WmsBase/wmsBasePlace/component/editDialog.vue'
+  import { pageWmsBasePlace, deleteWmsBasePlace,importExcelWmsBasePlace,downloadExcelTemplateWmsBasePlace } from '/@/api/main/WmsBase/wmsBasePlace';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumPlaceTypeData_Index = ref<any>([]);
+  const getEnumPlaceStatusData_Index = ref<any>([]);
+  const getEnumIsVirtuallyData_Index = ref<any>([]);
+  const getEnumIsDisabledData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[搴撲綅淇℃伅鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsBasePlace = ref(false);
+  const tableRefWmsBasePlace = ref(null);
+  const printDialogRefWmsBasePlace = ref();
+  const editDialogRefWmsBasePlace = ref();
+  const loadingWmsBasePlace = ref(false);
+  const disabled_btnWmsBasePlace = ref(false);
+  const tableDataWmsBasePlace = ref<any>([]);
+  const queryParamsWmsBasePlace = ref<any>({});
+  const tableParamsWmsBasePlace = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsBasePlaceTitle = ref("");
+  const editWmsBasePlaceTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsBasePlace = () => {
+    showAdvanceQueryUIWmsBasePlace.value = !showAdvanceQueryUIWmsBasePlace.value;
+  }
+
+  // 鏌ヨ搴撲綅淇℃伅
+  const handleQueryWmsBasePlace = async () => {
+    loadingWmsBasePlace.value = true;
+    disabled_btnWmsBasePlace.value = true;
+    var res = await pageWmsBasePlace(Object.assign(queryParamsWmsBasePlace.value, tableParamsWmsBasePlace.value));
+    if(res.data.type=="success"){
+      tableDataWmsBasePlace.value = res.data.result?.items ?? [];
+      tableParamsWmsBasePlace.value.total = res.data.result?.total;
+    }
+    loadingWmsBasePlace.value = false;
+    disabled_btnWmsBasePlace.value = false;
+  };
+
+  // 閲嶇疆搴撲綅淇℃伅鏌ヨ
+  const resetWmsBasePlace = async () => {
+    queryParamsWmsBasePlace.value = {}
+  };
+
+  // 搴撲綅淇℃伅鍒楁帓搴�
+  const sortChangeWmsBasePlace = async (column: any) => {
+	queryParamsWmsBasePlace.value.field = column.prop;
+	queryParamsWmsBasePlace.value.order = column.order;
+	await handleQueryWmsBasePlace();
+  };
+
+  // 鎵撳紑鏂板搴撲綅淇℃伅椤甸潰
+  const openAddWmsBasePlace = () => {
+    editWmsBasePlaceTitle.value = '娣诲姞搴撲綅淇℃伅';
+    editDialogRefWmsBasePlace.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃搴撲綅淇℃伅椤甸潰
+  const openPrintWmsBasePlace = async (row: any) => {
+    printWmsBasePlaceTitle.value = '鎵撳嵃搴撲綅淇℃伅';
+  }
+  
+  // 鎵撳紑缂栬緫搴撲綅淇℃伅椤甸潰
+  const openEditWmsBasePlace = (row: any) => {
+    editWmsBasePlaceTitle.value = '缂栬緫搴撲綅淇℃伅';
+    editDialogRefWmsBasePlace.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎搴撲綅淇℃伅
+  const delWmsBasePlace = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsBasePlace.value = true;
+    var ret = await deleteWmsBasePlace(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsBasePlace.value = false;
+    handleQueryWmsBasePlace();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉搴撲綅淇℃伅椤甸潰瀹归噺
+  const handleSizeChangeWmsBasePlace = (val: number) => {
+    tableParamsWmsBasePlace.value.pageSize = val;
+    handleQueryWmsBasePlace();
+  };
+
+  // 鏀瑰彉搴撲綅淇℃伅椤电爜搴忓彿
+  const handleCurrentChangeWmsBasePlace = (val: number) => {
+    tableParamsWmsBasePlace.value.page = val;
+    handleQueryWmsBasePlace();
+  };
+
+/***************************************************[搴撲綅淇℃伅鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[搴撲綅淇℃伅瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsBasePlace = {
+      getEnumPlaceTypeData_Index,
+      getEnumPlaceStatusData_Index,
+      getEnumIsVirtuallyData_Index,
+      getEnumIsDisabledData_Index,
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsBasePlace = async (formData:Blob) => {
+    loadingWmsBasePlace.value = true;
+    disabled_btnWmsBasePlace.value = true;
+    var new_tableParamsWmsBasePlace=JSON.parse(JSON.stringify(tableParamsWmsBasePlace.value));
+    new_tableParamsWmsBasePlace.page = 1;
+    new_tableParamsWmsBasePlace.pageSize = 100000;
+    var res = await pageWmsBasePlace(Object.assign(queryParamsWmsBasePlace.value, new_tableParamsWmsBasePlace));
+    if(res.data.type=="success"){
+      exportExcelWmsBasePlace(res.data.result?.items ?? []);
+    }
+    loadingWmsBasePlace.value = false;
+    disabled_btnWmsBasePlace.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsBasePlace  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsBasePlace,"搴撲綅淇℃伅",functionMapWmsBasePlace);
+};
+/***************************************************[搴撲綅淇℃伅瀵煎嚭]缁撴潫***************************************************/
+  // 搴撲綅淇℃伅椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    getEnumPlaceTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceTypeEnum')).data.result ?? [];
+    getEnumPlaceStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceStatusEnum')).data.result ?? [];
+    getEnumIsVirtuallyData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+    getEnumIsDisabledData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsBasePlace();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBatchRuleDetail/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBatchRuleDetail/component/editDialog.vue
new file mode 100644
index 0000000..d049e8e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBatchRuleDetail/component/editDialog.vue
@@ -0,0 +1,488 @@
+锘�<template>
+	<div class="wmsBatchRuleDetail-container">
+		<!-- 娣诲姞銆佺紪杈� -->
+		<el-dialog v-model="dialogVisible" width="90%" @close="closeDialog">
+			<template #header>
+				<div style="color: #fff">
+					<span>{{ dialogType == "add" ? "娣诲姞" : "缂栬緫" }}</span>
+				</div>
+			</template>
+			<el-form :model="addForm" label-width="90px" ref="dialogRef" :rules="formRules">
+				<el-row>
+					<el-col :span="6">
+						<el-form-item label="瑙勫垯缂栧彿:" prop="ruleCode">
+							<el-input v-model="addForm.ruleCode" :disabled="dialogType != 'add'"  clearable 
+								placeholder="璇疯緭鍏ヨ鍒欑紪鍙�" />
+						</el-form-item>
+					</el-col>
+					<el-col :span="6">
+						<el-form-item label="瑙勫垯鍚嶇О:" prop="ruleName">
+							<el-input v-model="addForm.ruleName" :disabled="dialogType != 'add'" clearable 
+								placeholder="璇疯緭鍏ヨ鍒欏悕绉�" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<br />
+			<div class="msi-content" style="margin-top: 0; padding: 0">
+				<div class="header">
+					<div>
+						<el-button type="primary" icon="el-icon-plus" @click="confirmAddMaterial">鏂板</el-button>
+						<el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+							@click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+					</div>
+				</div>
+				<br />
+
+				<el-table :data="warehousOrderDetails" border style="width: 100%" row-key="id" ref="detailRef"
+					@selection-change="detailsCheckChange" :max-height="280">
+					<el-table-column align="center" width="60" type="selection" />
+					<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+
+					<!-- <el-table-column
+			label="BOM缂栧彿"
+			align="center"
+			min-width="150">
+			<template #default="scope">
+			  <el-select v-model="scope.row.boM_NO" filterable clearable placeholder="璇烽�夋嫨BOM缂栧彿" 
+				style="width: 100%;">
+				<el-option v-for="item in BomEnum" :key="item.value" :label="item.label" :value="item.value" />
+			  </el-select>
+			</template>
+		  </el-table-column> -->
+
+					<el-table-column label="鎵规瑙勫垯" align="center" min-width="120">
+						<template #default="scope">
+							<el-select clearable v-model="scope.row.batchRuleType" placeholder="璇烽�夋嫨鎵规瑙勫垯">
+								<el-option v-for="(item, index) in getEnumBatchRuleTypeData" :key="index"
+									:value="item.value" :label="`${item.describe}`"></el-option>
+							</el-select>
+						</template>
+					</el-table-column>
+
+					<!-- <el-table-column label="鎵规鏍囩" align="center" min-width="100">
+						<template #default="scope">
+							<el-input v-model="scope.row.batchTag" placeholder="璇疯緭鍏ユ壒娆℃爣绛�" maxlength="255" show-word-limit
+								clearable />
+						</template>
+					</el-table-column> -->
+
+					<el-table-column label="灞炴�ф牸寮�" align="center" min-width="100">
+						<template #default="scope">
+							<el-select clearable v-model="scope.row.attrForamt" placeholder="璇烽�夋嫨灞炴�ф牸寮�">
+								<el-option v-for="(item, index) in getEnumAttrForamtData" :key="index" :value="item.value"
+									:label="`${item.describe}`"></el-option>
+							</el-select>
+						</template>
+					</el-table-column>
+
+					<!-- <el-table-column label="灞炴�ч�夐」" align="center" min-width="100">
+						<template #default="scope">
+							<el-select clearable v-model="scope.row.attrOption" placeholder="璇烽�夋嫨灞炴�ч�夐」">
+								<el-option v-for="(item, index) in getEnumAttrOptionData" :key="index" :value="item.value"
+									:label="`${item.describe}`"></el-option>
+							</el-select>
+						</template>
+					</el-table-column> -->
+
+					<el-table-column label="杈撳叆鎺у埗" align="center" min-width="100">
+						<template #default="scope">
+							<el-select clearable v-model="scope.row.inputControl" placeholder="璇烽�夋嫨杈撳叆鎺у埗">
+								<el-option v-for="(item, index) in getEnumInputControlData" :key="index" :value="item.value"
+									:label="`${item.describe}`"></el-option>
+							</el-select>
+						</template>
+					</el-table-column>
+
+					<el-table-column label="浼樺厛绾�" align="center" min-width="110">
+						<template #default="scope">
+							<el-select clearable v-model="scope.row.priority" placeholder="璇烽�夋嫨浼樺厛绾�">
+								<el-option v-for="(item, index) in getEnumPriorityData" :key="index" :value="item.value"
+									:label="`${item.describe}`"></el-option>
+							</el-select>
+						</template>
+					</el-table-column>
+
+					<!-- <el-table-column label="RF鏍囩" align="center" min-width="100">
+						<template #default="scope">
+							<el-input v-model="scope.row.rfTag" placeholder="璇疯緭鍏F鏍囩" maxlength="255" show-word-limit
+								clearable />
+						</template>
+					</el-table-column>
+
+
+
+					<el-table-column label="RF鏄剧ず" align="center" min-width="100">
+						<template #default="scope">
+							<el-switch v-model="scope.row.rFShow" active-text="鏄�" inactive-text="鍚�" />
+						</template>
+					</el-table-column>
+
+
+					<el-table-column label="鍏抽敭灞炴��" align="center" min-width="100">
+						<template #default="scope">
+							<el-input v-model="scope.row.keyAttr" placeholder="璇疯緭鍏ュ叧閿睘鎬�" maxlength="255" show-word-limit
+								clearable />
+						</template>
+					</el-table-column>
+
+					<el-table-column label="瑙勫垯鎻忚堪" align="center" min-width="100">
+						<template #default="scope">
+							<el-input v-model="scope.row.ruleDesc" placeholder="璇疯緭鍏ヨ鍒欐弿杩�" maxlength="255" show-word-limit
+								clearable />
+						</template>
+					</el-table-column> -->
+				</el-table>
+			</div>
+
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+					<el-button :disabled="disabled_btn" type="primary" @click="confirm">纭</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+import { ref, onMounted } from "vue";
+import { getDictDataItem as di, getDictDataList as dl } from "/@/utils/dict-utils";
+import { ElMessage, ElMessageBox } from "element-plus";
+import type { FormRules } from "element-plus";
+import {
+	addWmsBatchRuleDetail,
+	updateWmsBatchRuleDetail,
+	detailWmsBatchRuleDetail,
+	pageWmsBatchRuleDetailPageGroup,
+} from "/@/api/main/WmsBase/wmsBatchRuleDetail";
+import { getAPI } from "/@/utils/axios-utils";
+import { SysEnumApi } from "/@/api-services/api";
+const getEnumBatchRuleTypeData = ref<any>([]);
+const getEnumAttrForamtData = ref<any>([]);
+const getEnumAttrOptionData = ref<any>([]);
+const getEnumInputControlData = ref<any>([]);
+const getEnumPriorityData = ref<any>([]);
+//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+var props = defineProps({
+	title: {
+		type: String,
+		default: "",
+	},
+});
+//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+const emit = defineEmits(["reloadTable"]);
+const ruleFormRef = ref();
+const dialogRef = ref();
+
+const isShowDialog = ref(false);
+const loading = ref(false);
+const disabled_btn = ref(false);
+const ruleForm = ref<any>({});
+//鑷娣诲姞鍏朵粬瑙勫垯
+const rules = ref<FormRules>({
+	ruleCode: [{ required: true, message: "璇疯緭鍏ヨ鍒欑紪鍙凤紒", trigger: "blur" }],
+	ruleName: [{ required: true, message: "璇疯緭鍏ヨ鍒欏悕绉帮紒", trigger: "blur" }],
+	batchRuleType: [{ required: true, message: "璇烽�夋嫨鎵规瑙勫垯锛�", trigger: "change" }],
+	attrForamt: [{ required: true, message: "璇烽�夋嫨灞炴�ф牸寮忥紒", trigger: "change" }],
+	inputControl: [{ required: true, message: "璇烽�夋嫨杈撳叆鎺у埗锛�", trigger: "change" }],
+	isDisabled: [{ required: true, message: "璇烽�夋嫨鏄惁绂佺敤锛�", trigger: "change" }],
+	isDelete: [{ required: true, message: "璇烽�夋嫨杞垹闄わ紒", trigger: "change" }],
+});
+
+//绐楀彛绫诲瀷
+const dialogType = ref("add");
+
+/*
+ * 鎵撳紑寮圭獥
+ * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+ * @param row  琛屾暟鎹�
+ */
+const openDialog = async (flag: number, row: any) => {
+	debugger;
+
+	// ruleForm.value = JSON.parse(JSON.stringify(row));
+	// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+	let rowData = JSON.parse(JSON.stringify(row));
+	if (rowData.id)
+		ruleForm.value = (await detailWmsBatchRuleDetail(rowData.id)).data.result;
+	else {
+		ruleForm.value = rowData;
+		ruleForm.value.isDisabled = false; //蹇呭~锛岃祴鍊奸粯璁ゅ��
+	}
+	isShowDialog.value = true;
+};
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({});
+const checkedDetails = ref<any[]>([]);
+
+//rules
+const formRules = {
+	ruleCode: [{ required: true, message: "璇疯緭鍏ヨ鍒欑紪鍙凤紒", trigger: "blur" }],
+	ruleName: [{ required: true, message: "璇疯緭鍏ヨ鍒欏悕绉帮紒", trigger: "blur" }],
+};
+//搴撳瓨鐗╂枡绐楀彛
+const addMaterialVisible = ref(false);
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+//鐐瑰嚮鏂板鑱旂郴浜�
+const confirmAddMaterial = () => {
+	warehousOrderDetails.value.push({
+		id: warehousOrderDetails.value.length + 1,
+	});
+	addMaterialVisible.value = false;
+};
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+	ElMessageBox.confirm("鏄惁纭鍒犻櫎锛�", "鎻愮ず", {
+		confirmButtonText: "纭",
+		cancelButtonText: "鍙栨秷",
+		type: "warning",
+	})
+		.then(() => {
+			checkedDetails.value.forEach((item) => {
+				const index = warehousOrderDetails.value.findIndex(
+					(detail) => detail.id == item.id
+				);
+				warehousOrderDetails.value.splice(index, 1);
+			});
+			checkedDetails.value = [];
+			// detailRef.value.clearSelection();
+		})
+		.catch(() => ElMessage.info("宸插彇娑堝垹闄�"));
+};
+
+const openDialog2 = async (flag: number, row: any) => {
+	if (flag == 2) {
+		dialogType.value = "edit";
+		var res = await pageWmsBatchRuleDetailPageGroup({
+			ruleCode: row.ruleCode
+		});
+		debugger
+		if (res.data.type == "success") {
+			addForm.value.ruleCode = res.data.result?.items[0]?.ruleCode;
+			addForm.value.ruleName = res.data.result?.items[0]?.ruleName;
+			warehousOrderDetails.value = res.data.result?.items[0]?.wmsBatchRuleDetailOutputsList ?? [];
+		}
+	} else {
+		dialogType.value = "add";
+		warehousOrderDetails.value = [];
+	}
+	dialogVisible.value = true;
+
+	// ruleForm.value = JSON.parse(JSON.stringify(row));
+	// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+	// let rowData = JSON.parse(JSON.stringify(row));
+	// if (rowData.id)
+	// 	ruleForm.value = (await detailWmsBatchRuleDetail(rowData.id)).data.result;
+	// else {
+	//     ruleForm.value = rowData;
+	// 	ruleForm.value.isDisabled = false;//蹇呭~锛岃祴鍊奸粯璁ゅ��
+	// }
+};
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emit("reloadTable");
+	addForm.value = {};
+	isShowDialog.value = false;
+	dialogVisible.value = false;
+	disabled_btn.value = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	isShowDialog.value = false;
+};
+
+// 鎻愪氦
+const submit = async () => {
+	disabled_btn.value = true;
+	ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+		if (isValid) {
+			loading.value = true;
+			let values = ruleForm.value;
+			let ret = {};
+			let title = "鏂板";
+			if (
+				ruleForm.value.id == undefined ||
+				ruleForm.value.id == null ||
+				ruleForm.value.id == "" ||
+				ruleForm.value.id == 0
+			) {
+				ret = await addWmsBatchRuleDetail(values);
+			} else {
+				title = "缂栬緫";
+				ret = await updateWmsBatchRuleDetail(values);
+			}
+			loading.value = false;
+			disabled_btn.value = false;
+			if (ret.data.type == "success") {
+				ElMessage.success(title + "鎴愬姛");
+				closeDialog();
+			}
+		} else {
+			disabled_btn.value = false;
+			ElMessage({
+				message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+				type: "error",
+			});
+		}
+	});
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+	getEnumBatchRuleTypeData.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("BatchRuleEnum")).data.result ??
+		[];
+	getEnumAttrForamtData.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("AttrForamtEnum")).data.result ??
+		[];
+	getEnumAttrOptionData.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("AttrOptionEnum")).data.result ??
+		[];
+	getEnumInputControlData.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("InputControlEnum")).data
+			.result ?? [];
+	getEnumPriorityData.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("PriorityEnum")).data.result ??
+		[];
+});
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+
+//鑾峰彇BOM缂栧彿
+const BomEnum = ref([]);
+const getBomEnumList = () => {
+	//   getBomMainNew()
+	//     .then((res) => {
+	//       if (res.code == 200) {
+	//         BomEnum.value = res.data.rows.reduce((curr: any, item: any) => {
+	//           curr.push({
+	//             label: item.bomCode,
+	//             value: item.bomCode
+	//           });
+	//           return curr;
+	//         }, []);
+	//       } else {
+	//         ElMessage.error(`${res.code}:${JSON.stringify(res.message)}`);
+	//       }
+	//     })
+};
+getBomEnumList();
+const dialogVisible = ref(false);
+//鎿嶄綔鎻愪氦
+const confirm = async () => {
+	dialogRef.value.validate(async (isValid: boolean, fields?: any) => {
+		if (isValid) {
+			if(warehousOrderDetails.value.length<=0){
+				ElMessage.warning("璇锋坊鍔犳壒娆¤鍒欙紒");
+				return
+			}
+			var newArrIds:any = warehousOrderDetails.value.map((item:any) => item.batchRuleType);
+			var arrSet = new Set(newArrIds);
+
+			if(newArrIds.length > arrSet.size){
+				ElMessage.warning("鎵规瑙勫垯涓嶈兘閲嶅锛�");
+				return;
+			}
+
+			var newArrIds2:any = warehousOrderDetails.value.map((item:any) => item.priority);
+			var arrSet2 = new Set(newArrIds2);
+
+			if(newArrIds2.length > arrSet2.size){
+				ElMessage.warning("浼樺厛绾т笉鑳介噸澶嶏紒");
+				return;
+			}
+
+			disabled_btn.value = true;
+			if (dialogType.value == 'add') {
+				loading.value = true;
+				let values = addForm.value;
+
+				warehousOrderDetails.value.forEach((item) => {
+					item.ruleCode = values.ruleCode;
+					item.ruleName = values.ruleName;
+				});
+				var ret = await addWmsBatchRuleDetail(warehousOrderDetails.value);
+				if (ret.data.type == "success") {
+					ElMessage.success("鏂板鎴愬姛");
+					closeDialog();
+				}
+			} else {
+				// 缂栬緫
+				loading.value = true;
+				let values = addForm.value;
+				warehousOrderDetails.value.forEach((item) => {
+					item.ruleCode = values.ruleCode;
+					item.ruleName = values.ruleName;
+				});
+				var ret = await updateWmsBatchRuleDetail(warehousOrderDetails.value);
+				if (ret.data.type == "success") {
+					ElMessage.success("缂栬緫鎴愬姛");
+					closeDialog();
+				}
+			}
+			disabled_btn.value = false;
+
+		} else {
+			disabled_btn.value = false;
+			ElMessage({
+				message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+				type: "error",
+			});
+		}
+	});
+
+	// dialogRef.value.validate((vali: any) => {
+	//   if (vali) {
+
+	//  //娣诲姞
+	//  if (dialogType.value == "add") {
+	// 	  addDIInfo(warehousOrderDetails.value)
+	// 		.then((res) => {
+	// 		  if (res.code == 200) {
+	// 			ElMessage.success("娣诲姞鎴愬姛");
+	// 			getTabelData();
+	// 			dialogVisible.value = false;
+	// 		  } else {
+	// 			ElMessage.error(`${res.code}:${JSON.stringify(res.message)}`);
+	// 		  }
+	// 		})
+	// 		.catch((err) => {
+	// 		  console.log(err);
+	// 		});
+	// 	} else {
+	// 	  editDIInfo(warehousOrderDetails.value)
+	// 		.then((res) => {
+	// 		  if (res.code == 200) {
+	// 			ElMessage.success("缂栬緫鎴愬姛");
+	// 			getTabelData();
+	// 			dialogVisible.value = false;
+	// 		  } else {
+	// 			ElMessage.error(`${res.code}:${JSON.stringify(res.message)}`);
+	// 		  }
+	// 		})
+	// 		.catch((err) => {
+	// 		  console.log(err);
+	// 		});
+	// 	}
+
+	//   } else {
+	// 	ElMessage.warning("琛ㄥ崟楠岃瘉澶辫触");
+	//   }
+	// });
+};
+
+//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+defineExpose({ openDialog, openDialog2 });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBatchRuleDetail/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBatchRuleDetail/index.vue
new file mode 100644
index 0000000..e7ef87a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBatchRuleDetail/index.vue
@@ -0,0 +1,442 @@
+锘�<template>
+  <div class="wmsBatchRuleDetail-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsBatchRuleDetail" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsBatchRuleDetail.searchKey" clearable="" placeholder="瑙勫垯缂栧彿,瑙勫垯鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBatchRuleDetail">
+            <el-form-item label="瑙勫垯缂栧彿">
+              <el-input v-model="queryParamsWmsBatchRuleDetail.ruleCode" clearable="" placeholder="璇疯緭鍏ヨ鍒欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBatchRuleDetail">
+            <el-form-item label="瑙勫垯鍚嶇О">
+              <el-input v-model="queryParamsWmsBatchRuleDetail.ruleName" clearable="" placeholder="璇疯緭鍏ヨ鍒欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+	
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBatchRuleDetail">
+            <el-form-item label="鎵规瑙勫垯">
+              <el-select clearable="" v-model="queryParamsWmsBatchRuleDetail.batchRuleType" placeholder="璇烽�夋嫨鎵规瑙勫垯">
+                <el-option v-for="(item,index) in getEnumBatchRuleTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col> -->
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBatchRuleDetail">
+            <el-form-item label="鎵规鏍囩">
+              <el-input v-model="queryParamsWmsBatchRuleDetail.batchTag" clearable="" placeholder="璇疯緭鍏ユ壒娆℃爣绛�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBatchRuleDetail">
+            <el-form-item label="灞炴�ф牸寮�">
+              <el-select clearable="" v-model="queryParamsWmsBatchRuleDetail.attrForamt" placeholder="璇烽�夋嫨灞炴�ф牸寮�">
+                <el-option v-for="(item,index) in getEnumAttrForamtData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBatchRuleDetail">
+            <el-form-item label="灞炴�ч�夐」">
+              <el-select clearable="" v-model="queryParamsWmsBatchRuleDetail.attrOption" placeholder="璇烽�夋嫨灞炴�ч�夐」">
+                <el-option v-for="(item,index) in getEnumAttrOptionData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBatchRuleDetail">
+            <el-form-item label="杈撳叆鎺у埗">
+              <el-select clearable="" v-model="queryParamsWmsBatchRuleDetail.inputControl" placeholder="璇烽�夋嫨杈撳叆鎺у埗">
+                <el-option v-for="(item,index) in getEnumInputControlData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBatchRuleDetail">
+            <el-form-item label="浼樺厛绾�">
+              <el-select clearable="" v-model="queryParamsWmsBatchRuleDetail.priority" placeholder="璇烽�夋嫨浼樺厛绾�">
+                <el-option v-for="(item,index) in getEnumPriorityData_Index" :key="index" :value="item.value" :label="`${item.vaue}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col> -->
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBatchRuleDetail">
+            <el-form-item label="RF鏍囩">
+              <el-input v-model="queryParamsWmsBatchRuleDetail.rfTag" clearable="" placeholder="璇疯緭鍏F鏍囩"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBatchRuleDetail">
+            <el-form-item label="RF鏄剧ず">
+              <el-select clearable="" v-model="queryParamsWmsBatchRuleDetail.rFShow" placeholder="璇烽�夋嫨RF鏄剧ず">
+                <el-option v-for="(item,index) in getEnumRFShowData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+           <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBatchRuleDetail">
+            <el-form-item label="鍏抽敭灞炴��">
+              <el-input v-model="queryParamsWmsBatchRuleDetail.keyAttr" clearable="" placeholder="璇疯緭鍏ュ叧閿睘鎬�"/>
+              
+            </el-form-item>
+          </el-col> 
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBatchRuleDetail">
+            <el-form-item label="瑙勫垯鎻忚堪">
+              <el-input v-model="queryParamsWmsBatchRuleDetail.ruleDesc" clearable="" placeholder="璇疯緭鍏ヨ鍒欐弿杩�"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBatchRuleDetail">
+            <el-form-item label="鏄惁绂佺敤">
+              <el-select clearable="" v-model="queryParamsWmsBatchRuleDetail.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+                <el-option v-for="(item,index) in getEnumIsDisabledData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col> -->
+		  
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsBatchRuleDetail" v-auth="'wmsBatchRuleDetail:page'" :disabled="disabled_btnWmsBatchRuleDetail"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsBatchRuleDetail"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsBatchRuleDetail" v-if="!showAdvanceQueryUIWmsBatchRuleDetail" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsBatchRuleDetail" v-if="showAdvanceQueryUIWmsBatchRuleDetail" style="margin-left:5px;"> 闅愯棌 </el-button>
+               <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsBatchRuleDetail" v-auth="'wmsBatchRuleDetail:add'"> 鏂板 </el-button>  -->
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsBatchRuleDetail2(1)" v-auth="'wmsBatchRuleDetail:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsBatchRuleDetail"  v-auth="'wmsBatchRuleDetail:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsBatchRuleDetail"
+				:data="tableDataWmsBatchRuleDetail"
+				style="width: 100%"
+				v-loading="loadingWmsBatchRuleDetail"
+				tooltip-effect="light"
+                				row-key="ruleCode"
+                @sort-change="sortChangeWmsBatchRuleDetail"
+				border="">
+        
+   <!-- 瀛愯〃 -->
+   <el-table-column  type="expand">
+          <template #default="scope">
+            <br />
+            <el-table :data="scope.row.wmsBatchRuleDetailOutputsList" border style="width: 95%;margin: 0 auto;" default-expand-all
+              min-height="200" row-key="id">
+              <!-- <el-table-column type="index" label="搴忓彿" width="55" align="center" /> -->
+              <el-table-column prop="ruleCode" label="瑙勫垯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="ruleName" label="瑙勫垯鍚嶇О"  show-overflow-tooltip="" />
+              <el-table-column prop="batchRuleType" label="鎵规瑙勫垯"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.batchRuleType, getEnumBatchRuleTypeData_Index)}}
+            </template>
+          </el-table-column>
+        <!-- <el-table-column prop="batchTag" label="鎵规鏍囩"  show-overflow-tooltip="" /> -->
+          <el-table-column prop="attrForamt" label="灞炴�ф牸寮�"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.attrForamt, getEnumAttrForamtData_Index)}}
+            </template>
+          </el-table-column>
+          <!-- <el-table-column prop="attrOption" label="灞炴�ч�夐」"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.attrOption, getEnumAttrOptionData_Index)}}
+            </template>
+          </el-table-column> -->
+          <el-table-column prop="inputControl" label="杈撳叆鎺у埗"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.inputControl, getEnumInputControlData_Index)}}
+            </template>
+          </el-table-column>
+          <el-table-column prop="priority" label="浼樺厛绾�"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.priority, getEnumPriorityData_Index)}}
+            </template>
+          </el-table-column>
+          <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+            </el-table>
+            <br />
+          </template>
+        </el-table-column>
+
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="ruleCode" label="瑙勫垯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="ruleName" label="瑙勫垯鍚嶇О"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column> -->
+        <!-- <el-table-column prop="rfTag" label="RF鏍囩"  show-overflow-tooltip="" />
+        <el-table-column prop="rFShow" label="RF鏄剧ず"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.rFShow"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+          </template>
+        </el-table-column> -->
+        <!-- <el-table-column prop="keyAttr" label="鍏抽敭灞炴��"  show-overflow-tooltip="" /> -->
+        <!-- <el-table-column prop="ruleDesc" label="瑙勫垯鎻忚堪"  show-overflow-tooltip="" /> -->
+        <!-- <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column> -->
+         <!-- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" min-width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column min-width="130" prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column min-width="130" prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" /> -->
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsBatchRuleDetail:update') || auth('wmsBatchRuleDetail:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openAddWmsBatchRuleDetail2(scope.row)" v-auth="'wmsBatchRuleDetail:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsBatchRuleDetail(scope.row)">鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsBatchRuleDetail.page"
+				v-model:page-size="tableParamsWmsBatchRuleDetail.pageSize"
+				:total="tableParamsWmsBatchRuleDetail.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsBatchRuleDetail"
+				@current-change="handleCurrentChangeWmsBatchRuleDetail"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsBatchRuleDetail
+        ref="printDialogRefWmsBatchRuleDetail"
+        :title="printWmsBatchRuleDetailTitle"
+        @reloadTable="handleQueryWmsBatchRuleDetail" />
+      <editDialogWmsBatchRuleDetail
+        ref="editDialogRefWmsBatchRuleDetail"
+        :title="editWmsBatchRuleDetailTitle"
+        @reloadTable="handleQueryWmsBatchRuleDetail"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsBatchRuleDetail">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+  import printDialogWmsBatchRuleDetail from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogWmsBatchRuleDetail from '/@/views/main/WmsBase/wmsBatchRuleDetail/component/editDialog.vue'
+  import { pageWmsBatchRuleDetailPageGroup, deleteWmsBatchRuleDetail,importExcelWmsBatchRuleDetail,downloadExcelTemplateWmsBatchRuleDetail } from '/@/api/main/WmsBase/wmsBatchRuleDetail';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumBatchRuleTypeData_Index = ref<any>([]);
+  const getEnumAttrForamtData_Index = ref<any>([]);
+  const getEnumAttrOptionData_Index = ref<any>([]);
+  const getEnumInputControlData_Index = ref<any>([]);
+  const getEnumPriorityData_Index = ref<any>([]);
+  const getEnumRFShowData_Index = ref<any>([]);
+  const getEnumIsDisabledData_Index = ref<any>([]);
+  const getIsDisabledData = [{
+	  "value":true,"text":"鏄�"
+  },{
+	  "value":false,"text":"鍚�"
+  }]
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[鎵规灞炴�ц鍒欐槑缁嗘搷浣淽寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsBatchRuleDetail = ref(false);
+  const tableRefWmsBatchRuleDetail = ref(null);
+  const printDialogRefWmsBatchRuleDetail = ref();
+  const editDialogRefWmsBatchRuleDetail = ref();
+  const loadingWmsBatchRuleDetail = ref(false);
+  const disabled_btnWmsBatchRuleDetail = ref(false);
+  const tableDataWmsBatchRuleDetail = ref<any>([]);
+  const queryParamsWmsBatchRuleDetail = ref<any>({});
+  const tableParamsWmsBatchRuleDetail = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsBatchRuleDetailTitle = ref("");
+  const editWmsBatchRuleDetailTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsBatchRuleDetail = () => {
+    showAdvanceQueryUIWmsBatchRuleDetail.value = !showAdvanceQueryUIWmsBatchRuleDetail.value;
+  }
+
+  // 鏌ヨ鎵规灞炴�ц鍒欐槑缁�
+  const handleQueryWmsBatchRuleDetail = async () => {
+    loadingWmsBatchRuleDetail.value = true;
+    disabled_btnWmsBatchRuleDetail.value = true;
+    var res = await pageWmsBatchRuleDetailPageGroup(Object.assign(queryParamsWmsBatchRuleDetail.value, tableParamsWmsBatchRuleDetail.value));
+    if(res.data.type=="success"){
+      tableDataWmsBatchRuleDetail.value = res.data.result?.items ?? [];
+      tableParamsWmsBatchRuleDetail.value.total = res.data.result?.total;
+    }
+    loadingWmsBatchRuleDetail.value = false;
+    disabled_btnWmsBatchRuleDetail.value = false;
+  };
+
+  // 閲嶇疆鎵规灞炴�ц鍒欐槑缁嗘煡璇�
+  const resetWmsBatchRuleDetail = async () => {
+    queryParamsWmsBatchRuleDetail.value = {}
+  };
+
+  // 鎵规灞炴�ц鍒欐槑缁嗗垪鎺掑簭
+  const sortChangeWmsBatchRuleDetail = async (column: any) => {
+	queryParamsWmsBatchRuleDetail.value.field = column.prop;
+	queryParamsWmsBatchRuleDetail.value.order = column.order;
+	await handleQueryWmsBatchRuleDetail();
+  };
+
+  // 鎵撳紑鏂板鎵规灞炴�ц鍒欐槑缁嗛〉闈�
+  const openAddWmsBatchRuleDetail = () => {
+    editWmsBatchRuleDetailTitle.value = '娣诲姞鎵规灞炴�ц鍒欐槑缁�';
+    editDialogRefWmsBatchRuleDetail.value.openDialog(1,{});
+  };
+  // 鎵撳紑鏂板鎵规灞炴�ц鍒欐槑缁嗛〉闈�
+  const openAddWmsBatchRuleDetail2 = (scope:any) => {
+    editWmsBatchRuleDetailTitle.value = '娣诲姞鎵规灞炴�ц鍒欐槑缁�';
+    if(scope == 1){
+      editDialogRefWmsBatchRuleDetail.value.openDialog2(1,{});
+    }else{
+      editDialogRefWmsBatchRuleDetail.value.openDialog2(2,scope); //缂栬緫
+    }
+  };
+  // 鎵撳紑鎵撳嵃鎵规灞炴�ц鍒欐槑缁嗛〉闈�
+  const openPrintWmsBatchRuleDetail = async (row: any) => {
+    printWmsBatchRuleDetailTitle.value = '鎵撳嵃鎵规灞炴�ц鍒欐槑缁�';
+  }
+  
+  // 鎵撳紑缂栬緫鎵规灞炴�ц鍒欐槑缁嗛〉闈�
+  const openEditWmsBatchRuleDetail = (row: any) => {
+    editWmsBatchRuleDetailTitle.value = '缂栬緫鎵规灞炴�ц鍒欐槑缁�';
+    editDialogRefWmsBatchRuleDetail.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎鎵规灞炴�ц鍒欐槑缁�
+  const delWmsBatchRuleDetail = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsBatchRuleDetail.value = true;
+    var ret = await deleteWmsBatchRuleDetail({
+		ruleCode:row.ruleCode || ""
+	});
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+      handleQueryWmsBatchRuleDetail();
+    }
+  loadingWmsBatchRuleDetail.value = false;
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉鎵规灞炴�ц鍒欐槑缁嗛〉闈㈠閲�
+  const handleSizeChangeWmsBatchRuleDetail = (val: number) => {
+    tableParamsWmsBatchRuleDetail.value.pageSize = val;
+    handleQueryWmsBatchRuleDetail();
+  };
+
+  // 鏀瑰彉鎵规灞炴�ц鍒欐槑缁嗛〉鐮佸簭鍙�
+  const handleCurrentChangeWmsBatchRuleDetail = (val: number) => {
+    tableParamsWmsBatchRuleDetail.value.page = val;
+    handleQueryWmsBatchRuleDetail();
+  };
+
+/***************************************************[鎵规灞炴�ц鍒欐槑缁嗘搷浣淽缁撴潫***************************************************/
+/***************************************************[鎵规灞炴�ц鍒欐槑缁嗗鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsBatchRuleDetail = {
+      getEnumBatchRuleTypeData_Index,
+      getEnumAttrForamtData_Index,
+      getEnumAttrOptionData_Index,
+      getEnumInputControlData_Index,
+      getEnumPriorityData_Index,
+      getEnumRFShowData_Index,
+      getEnumIsDisabledData_Index,
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsBatchRuleDetail = async (formData:Blob) => {
+    loadingWmsBatchRuleDetail.value = true;
+    disabled_btnWmsBatchRuleDetail.value = true;
+    var new_tableParamsWmsBatchRuleDetail=JSON.parse(JSON.stringify(tableParamsWmsBatchRuleDetail.value));
+    new_tableParamsWmsBatchRuleDetail.page = 1;
+    new_tableParamsWmsBatchRuleDetail.pageSize = 100000;
+    var res = await pageWmsBatchRuleDetailPageGroup(Object.assign(queryParamsWmsBatchRuleDetail.value, new_tableParamsWmsBatchRuleDetail));
+    if(res.data.type=="success"){
+      exportExcelWmsBatchRuleDetail(res.data.result?.items ?? []);
+    }
+    loadingWmsBatchRuleDetail.value = false;
+    disabled_btnWmsBatchRuleDetail.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsBatchRuleDetail  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsBatchRuleDetail,"鎵规灞炴�ц鍒欐槑缁�",functionMapWmsBatchRuleDetail);
+};
+/***************************************************[鎵规灞炴�ц鍒欐槑缁嗗鍑篯缁撴潫***************************************************/
+  // 鎵规灞炴�ц鍒欐槑缁嗛〉闈㈠姞杞芥椂
+  onMounted(async () => {
+    getEnumBatchRuleTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('BatchRuleEnum')).data.result ?? [];
+    getEnumAttrForamtData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AttrForamtEnum')).data.result ?? [];
+    getEnumAttrOptionData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AttrOptionEnum')).data.result ?? [];
+
+    setTimeout(async () => {
+      getEnumInputControlData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('InputControlEnum')).data.result ?? [];
+      getEnumPriorityData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PriorityEnum')).data.result ?? [];
+      getEnumRFShowData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+      getEnumIsDisabledData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+    }, 1000);
+
+   
+  });
+
+  handleQueryWmsBatchRuleDetail();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBusinessType/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBusinessType/component/editDialog.vue
new file mode 100644
index 0000000..13a6384
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBusinessType/component/editDialog.vue
@@ -0,0 +1,194 @@
+锘�<template>
+	<div class="wmsBusinessType-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷缂栧彿" prop="businessTypeCode">
+							<el-input v-model="ruleForm.businessTypeCode" placeholder="璇疯緭鍏ヤ笟鍔$被鍨嬬紪鍙�" maxlength="50" show-word-limit clearable />
+						</el-form-item>
+					</el-col> -->
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷" prop="businessTypeValue">
+							<el-input-number :min="1" :precision="0" v-model="ruleForm.businessTypeValue" placeholder="璇疯緭鍏ヤ笟鍔$被鍨�" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷鍚嶇О" prop="businessTypeName">
+							<el-input v-model="ruleForm.businessTypeName" placeholder="璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绉诲姩绫诲瀷" prop="moveType">
+							<el-select clearable v-model="ruleForm.moveType" placeholder="璇烽�夋嫨绉诲姩绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumMoveTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴忓彿" prop="seq">
+							<el-input-number v-model="ruleForm.seq" placeholder="璇疯緭鍏ュ簭鍙�" clearable />
+							
+						</el-form-item>
+						
+					</el-col> -->
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓婁笅鏋剁被鍨�" prop="upDownShelvesType">
+							<el-select clearable v-model="ruleForm.upDownShelvesType" placeholder="璇烽�夋嫨涓婁笅鏋剁被鍨�">
+								<el-option v-for="(item,index) in  getEnumUpDownShelvesTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绯荤粺鍙傛暟" prop="isSystemParameter">
+							<el-switch v-model="ruleForm.isSystemParameter" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓嬫灦鍗曟槸鍚﹁嚜鍔ㄥ畬鎴�" prop="downShelvesIsAutoFinish">
+							<el-switch v-model="ruleForm.downShelvesIsAutoFinish" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsBusinessType, updateWmsBusinessType, detailWmsBusinessType } from "/@/api/main/WmsBase/wmsBusinessType";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+	const getEnumUpDownShelvesTypeData = ref<any>([]);
+	const getEnumMoveTypeData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		businessTypeName: [{required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒', trigger: 'blur',},],
+		businessTypeValue: [{required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬪�硷紒', trigger: 'blur',},],
+		moveType: [{required: true, message: '璇烽�夋嫨绉诲姩绫诲瀷锛�', trigger: 'change',},],
+	});
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsBusinessType(rowData.id)).data.result;
+		else
+			ruleForm.value = rowData;
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				let ret={};
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsBusinessType(values);
+				} else {
+					//debugger
+					ret = await updateWmsBusinessType(values);
+				}
+				if(ret.data.type=="success"){
+					ElMessage.success('鎴愬姛');
+					closeDialog();
+				}
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumMoveTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('MoveTypeEnum')).data.result ?? [];
+			getEnumUpDownShelvesTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('UpDownShelvesTypeEnum')).data.result ?? [];
+
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBusinessType/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBusinessType/index.vue
new file mode 100644
index 0000000..8b4980e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsBusinessType/index.vue
@@ -0,0 +1,289 @@
+锘�<template>
+  <div class="wmsBusinessType-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <!-- ,鍒涘缓浜�,淇敼浜� -->
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="涓氬姟绫诲瀷缂栧彿,涓氬姟绫诲瀷鍚嶇О,绉诲姩绫诲瀷鍚嶇О,绉诲姩绫诲瀷缂栧彿" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="涓氬姟绫诲瀷">
+              <el-input v-model="queryParams.businessTypeValue" clearable="" placeholder="璇疯緭鍏ヤ笟鍔$被鍨�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="涓氬姟绫诲瀷鍚嶇О">
+              <el-input v-model="queryParams.businessTypeName" clearable="" placeholder="璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="绉诲姩绫诲瀷">
+              <el-select clearable="" v-model="queryParams.moveType" placeholder="璇烽�夋嫨绉诲姩绫诲瀷">
+                <el-option v-for="(item, index) in getEnumMoveTypeData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="涓婁笅鏋剁被鍨�">
+              <el-select clearable="" v-model="queryParams.upDownShelvesType" placeholder="璇烽�夋嫨涓婁笅鏋剁被鍨�">
+                <el-option v-for="(item, index) in getEnumUpDownShelvesTypeData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鏄惁绯荤粺鍙傛暟">
+              <el-select clearable="" v-model="queryParams.isSystemParameter" placeholder="璇烽�夋嫨鏄惁绯荤粺鍙傛暟">
+                <el-option v-for="(item, index) in getEnumIsDisabledData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="">
+              <el-select clearable="" v-model="queryParams.downShelvesIsAutoFinish" placeholder="涓嬫灦鍗曟槸鍚﹁嚜鍔ㄥ畬鎴�">
+                <el-option v-for="(item, index) in getEnumIsDisabledData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鏄惁绂佺敤">
+              <el-select clearable="" v-model="queryParams.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+                <el-option v-for="(item, index) in getEnumIsDisabledData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'wmsBusinessType:page'"> 鏌ヨ
+                </el-button>
+                <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI"
+                  style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI"
+                  style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsBusinessType"
+                  v-auth="'wmsBusinessType:add'"> 鏂板 </el-button>
+
+              </el-button-group>
+            </el-form-item>
+
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table :data="tableData" style="width: 100%" v-loading="loading" tooltip-effect="light" row-key="id"
+        @sort-change="sortChange" border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center" />
+        <el-table-column width="80" prop="moveType" label="绉诲姩绫诲瀷" show-overflow-tooltip="">
+          <template #default="scope">
+            {{ getEnumDesc(scope.row.moveType, getEnumMoveTypeData_Index) }}
+            <!-- <el-tag></el-tag> -->
+          </template>
+        </el-table-column>
+        <el-table-column prop="businessTypeValue" label="涓氬姟绫诲瀷" show-overflow-tooltip="" />
+        <el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷鍚嶇О" min-width="100px" show-overflow-tooltip="" />
+
+
+
+        <el-table-column prop="upDownShelvesType" label="涓婁笅鏋剁被鍨�" show-overflow-tooltip="">
+          <template #default="scope">
+            {{ getEnumDesc(scope.row.upDownShelvesType, getEnumUpDownShelvesTypeData_Index) }}
+            <!-- <el-tag></el-tag> -->
+          </template>
+        </el-table-column>
+        <el-table-column prop="isSystemParameter" label="鏄惁绯荤粺鍙傛暟" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isSystemParameter"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+
+          </template>
+
+        </el-table-column>
+        <el-table-column prop="downShelvesIsAutoFinish" label="涓嬫灦鍗曟槸鍚﹁嚜鍔ㄥ畬鎴�" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.downShelvesIsAutoFinish"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+
+          </template>
+
+        </el-table-column>
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+
+          </template>
+
+        </el-table-column>
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+          show-overflow-tooltip="" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+          show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip=""
+          v-if="auth('wmsBusinessType:update') || auth('wmsBusinessType:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsBusinessType(scope.row)"
+              v-auth="'wmsBusinessType:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsBusinessType(scope.row)"
+              v-auth="'wmsBusinessType:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination v-model:currentPage="tableParams.page" v-model:page-size="tableParams.pageSize"
+        :total="tableParams.total" :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background=""
+        @size-change="handleSizeChange" @current-change="handleCurrentChange"
+        layout="total, sizes, prev, pager, next, jumper" />
+      <printDialog ref="printDialogRef" :title="printWmsBusinessTypeTitle" @reloadTable="handleQuery" />
+      <editDialog ref="editDialogRef" :title="editWmsBusinessTypeTitle" @reloadTable="handleQuery" />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsBusinessType">
+import { onMounted, ref } from "vue";
+import { ElMessageBox, ElMessage } from "element-plus";
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+
+
+import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+import editDialog from '/@/views/main/WmsBase/wmsBusinessType/component/editDialog.vue'
+import { pageWmsBusinessType, deleteWmsBusinessType } from '/@/api/main/WmsBase/wmsBusinessType';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+
+const getEnumMoveTypeData_Index = ref<any>([]);
+const getEnumIsDisabledData_Index = ref<any>([]);
+const getEnumUpDownShelvesTypeData_Index = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const showAdvanceQueryUI = ref(false);
+const printDialogRef = ref();
+const editDialogRef = ref();
+const loading = ref(false);
+const tableData = ref<any>([]);
+const queryParams = ref<any>({});
+const tableParams = ref({
+  page: 1,
+  pageSize: 10,
+  total: 0,
+  all: true
+});
+
+const printWmsBusinessTypeTitle = ref("");
+const editWmsBusinessTypeTitle = ref("");
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUI = () => {
+  showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+}
+
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+  loading.value = true;
+  var res = await pageWmsBusinessType(Object.assign(queryParams.value, tableParams.value));
+  tableData.value = res.data.result?.items ?? [];
+  tableParams.value.total = res.data.result?.total;
+  loading.value = false;
+
+};
+
+
+
+// 鍒楁帓搴�
+const sortChange = async (column: any) => {
+  queryParams.value.field = column.prop;
+  queryParams.value.order = column.order;
+  await handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddWmsBusinessType = () => {
+  editWmsBusinessTypeTitle.value = '娣诲姞涓氬姟绫诲瀷';
+  editDialogRef.value.openDialog({});
+};
+
+// 鎵撳紑鎵撳嵃椤甸潰
+const openPrintWmsBusinessType = async (row: any) => {
+  printWmsBusinessTypeTitle.value = '鎵撳嵃涓氬姟绫诲瀷';
+}
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditWmsBusinessType = (row: any) => {
+  editWmsBusinessTypeTitle.value = '缂栬緫涓氬姟绫诲瀷';
+  editDialogRef.value.openDialog(row);
+};
+
+// 鍒犻櫎
+const delWmsBusinessType = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      var res = await deleteWmsBusinessType(row);
+      if (res.data && res.data.code == 200) {
+        handleQuery();
+        ElMessage.success("鍒犻櫎鎴愬姛");
+      }
+    })
+    .catch(() => { });
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+  tableParams.value.pageSize = val;
+  handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+  tableParams.value.page = val;
+  handleQuery();
+};
+
+
+
+onMounted(async () => {
+  getEnumMoveTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('MoveTypeEnum')).data.result ?? [];
+  getEnumIsDisabledData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+  getEnumUpDownShelvesTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('UpDownShelvesTypeEnum')).data.result ?? [];
+  handleQuery();
+});
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+  width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainer/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainer/component/editDialog.vue
new file mode 100644
index 0000000..efd2a27
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainer/component/editDialog.vue
@@ -0,0 +1,213 @@
+锘�<template>
+	<div class="wmsContainer-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="缂栧彿" prop="containerCode">
+							<el-input v-model="ruleForm.containerCode" placeholder="璇疯緭鍏ョ紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍚嶇О" prop="containerName">
+							<el-input v-model="ruleForm.containerName" placeholder="璇疯緭鍏ュ悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹瑰櫒绫诲瀷" prop="containerTypeId">
+							<el-select clearable v-model="ruleForm.containerTypeId" placeholder="璇烽�夋嫨瀹瑰櫒绫诲瀷">
+								<el-option v-for="(item,index) in arr1"  :key="index" :value="item.id" :label="`[${item.code}] ${item.value}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="闀垮害" prop="specLength">
+							<el-input-number :min="1" :precision="3" v-model="ruleForm.specLength" placeholder="璇疯緭鍏ラ暱搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹藉害" prop="specWidth">
+							<el-input-number :min="1" :precision="3" v-model="ruleForm.specWidth" placeholder="璇疯緭鍏ュ搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="楂樺害" prop="specHeight">
+							<el-input-number :min="1" :precision="3" v-model="ruleForm.specHeight" placeholder="璇疯緭鍏ラ珮搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="闄愰暱" prop="limitLength">
+							<el-input-number :min="1" :precision="3" v-model="ruleForm.limitLength" placeholder="璇疯緭鍏ラ檺闀�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="闄愬" prop="limitWidth">
+							<el-input-number :min="1" :precision="3" v-model="ruleForm.limitWidth" placeholder="璇疯緭鍏ラ檺瀹�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="闄愰珮" prop="limitHeight">
+							<el-input-number :min="1" :precision="3" v-model="ruleForm.limitHeight" placeholder="璇疯緭鍏ラ檺楂�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="杞介噸涓婇檺" prop="maxWeight">
+							<el-input-number :min="1" :precision="3" v-model="ruleForm.maxWeight" placeholder="璇疯緭鍏ヨ浇閲嶄笂闄�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁铏氭嫙" prop="isVirtually">
+							<el-switch v-model="ruleForm.isVirtually" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col> 
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted, nextTick } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsContainer, updateWmsContainer, detailWmsContainer } from "/@/api/main/WmsBase/wmsContainer";
+import { handleSlectDatawmsContainerType } from "/@/utils/selectData";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		containerCode: [{required: true, message: '璇疯緭鍏ョ紪鍙凤紒', trigger: 'blur',},],
+		containerName: [{required: true, message: '璇疯緭鍏ュ悕绉帮紒', trigger: 'blur',},],
+		containerTypeId: [{required: true, message: '璇烽�夋嫨瀹瑰櫒绫诲瀷锛�', trigger: 'change',},],
+	});
+	let arr1:any =ref("") //涓嬫媺璇诲彇鎺ュ彛
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsContainer(rowData.id)).data.result;
+		else
+			{
+				ruleForm.value = rowData;
+				ruleForm.value.isVirtually=false;
+			}
+		isShowDialog.value = true;
+		nextTick(async () => {
+		arr1.value = await handleSlectDatawmsContainerType(); //涓嬫媺璇诲彇鎺ュ彛
+	});
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addWmsContainer(values);
+				} else {
+					await updateWmsContainer(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainer/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainer/index.vue
new file mode 100644
index 0000000..064bca8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainer/index.vue
@@ -0,0 +1,322 @@
+<template>
+  <div class="wmsContainer-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="缂栧彿,鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="缂栧彿">
+              <el-input v-model="queryParams.containerCode" clearable="" placeholder="璇疯緭鍏ョ紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍚嶇О">
+              <el-input v-model="queryParams.containerName" clearable="" placeholder="璇疯緭鍏ュ悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+          		  		    <el-form-item label="鏄惁绂佺敤">
+          		  		      <el-select clearable="" v-model="queryParams.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+          		  		        <el-option v-for="(item,index) in getIsDisabledData" :key="index" :value="item.value" :label="`${item.text}`" />
+          		  		        
+          		  		      </el-select>
+          		  		      
+          		  		    </el-form-item>
+          		  		  </el-col>
+                      <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+		  		    <el-form-item label="鏄惁铏氭嫙">
+		  		      <el-select clearable="" v-model="queryParams.isVirtually" placeholder="璇烽�夋嫨鏄惁铏氭嫙">
+		  		        <el-option v-for="(item,index) in getIsDisabledData" :key="index" :value="item.value" :label="`${item.text}`" />
+		  		        
+		  		      </el-select>
+		  		      
+		  		    </el-form-item>
+		  		  </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="瀹瑰櫒绫诲瀷">
+              <el-select clearable="" v-model="queryParams.containerTypeId" placeholder="璇烽�夋嫨瀹瑰櫒绫诲瀷">
+                <el-option v-for="(item,index) in arr1" :key="index" :value="item.id" :label="`[${item.code}] ${item.value}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" v-auth="'wmsContainer:page'"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsContainer" v-auth="'wmsContainer:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelWmsContainer"  v-auth="'wmsContainer:importExcel'" > 瀵煎叆 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsContainer"  v-auth="'wmsContainer:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+	    ref="tableRefWmsContainer"
+				:data="tableData"
+				style="width: 100%"
+				v-loading="loading"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="containerCode" label="缂栧彿"  width="200" show-overflow-tooltip="" />
+        <el-table-column prop="containerName" label="鍚嶇О"  width="200"  show-overflow-tooltip="" />
+          <!-- <el-table-column prop="containerTypeId" label="瀹瑰櫒绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{scope.row.containerTypeId }}
+            </template>
+          </el-table-column> -->
+        <el-table-column prop="containerTypeName" label="绫诲瀷鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="specLength" label="闀垮害"  show-overflow-tooltip="" />
+        <el-table-column prop="specWidth" label="瀹藉害"  show-overflow-tooltip="" />
+        <el-table-column prop="specHeight" label="楂樺害"  show-overflow-tooltip="" />
+        <el-table-column prop="limitLength" label="闄愰暱"  show-overflow-tooltip="" />
+        <el-table-column prop="limitWidth" label="闄愬"  show-overflow-tooltip="" />
+        <el-table-column prop="limitHeight" label="闄愰珮"  show-overflow-tooltip="" />
+        <el-table-column prop="maxWeight" label="杞介噸涓婇檺"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="parentContainerName" label="鐖跺鍣ㄥ悕绉�"  show-overflow-tooltip="" />
+        <el-table-column prop="parentContainerId" label="鐖跺鍣↖d"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="isVirtually" label="鏄惁铏氭嫙"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isVirtually"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip=""/>
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsContainer:update') || auth('wmsContainer:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsContainer(scope.row)" v-auth="'wmsContainer:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsContainer(scope.row)" v-auth="'wmsContainer:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialog
+        ref="printDialogRef"
+        :title="printWmsContainerTitle"
+        @reloadTable="handleQuery" />
+      <editDialog
+        ref="editDialogRef"
+        :title="editWmsContainerTitle"
+        @reloadTable="handleQuery"
+      />
+	  <importExcelDialog
+	    ref="importExcelDialogRefWmsContainer"
+	    :title="importExcelTitleWmsContainer"
+	    @parentUploadFun="handleImportExcelWmsContainer"
+	    @parentDownFun="handleDownExcelWmsContainer"
+	  />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsContainer">
+  import { nextTick, onMounted, ref } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate } from '/@/utils/formatTime';
+  import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢 //寮曞叆瀵煎叆缁勪欢
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+import { getAPI } from '/@/utils/axios-utils';
+  import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialog from '/@/views/main/WmsBase/wmsContainer/component/editDialog.vue'
+  import { pageWmsContainer, deleteWmsContainer,importExcelWmsContainer,downloadExcelTemplateWmsContainer } from '/@/api/main/WmsBase/wmsContainer';
+import { handleSlectDatawmsContainerType } from "/@/utils/selectData";
+import { SysEnumApi } from '/@/api-services/api';
+  const getEnumIsVirtuallyData_Index =ref<any>([]);
+  const getEnumIsDisabledData_Index =ref<any>([]);
+  const showAdvanceQueryUI = ref(false);
+  const printDialogRef = ref();
+  const editDialogRef = ref();
+  const loading = ref(false);
+  const tableData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+  const tableRefWmsContainer = ref(null);
+  const disabled_btnWmsContainer = ref(false);
+  const getIsDisabledData = [{
+	  "value":true,"text":"鏄�"
+  },{
+	  "value":false,"text":"鍚�"
+  }]
+  const printWmsContainerTitle = ref("");
+  const editWmsContainerTitle = ref("");
+const queryParamsWmsContainer = ref<any>({});
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI = () => {
+    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+  }
+  
+const importExcelTitleWmsContainer = ref("");
+const importExcelDialogRefWmsContainer = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsContainer = () => {
+    importExcelTitleWmsContainer.value = '瀵煎叆瀹瑰櫒淇℃伅琛�';
+    importExcelDialogRefWmsContainer.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsContainer = async (formData:Blob) => {
+   var result = await importExcelWmsContainer(formData);
+   importExcelDialogRefWmsContainer.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+   if(result.data.type=="success"){
+    handleQuery();
+   }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsContainer = async () => {
+   var result = await downloadExcelTemplateWmsContainer();
+   importExcelDialogRefWmsContainer.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsContainer = {
+      getEnumIsVirtuallyData_Index,
+      getEnumIsDisabledData_Index,
+      // formatDate_T_Date,
+      // formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsContainer = async (formData:Blob) => {
+    loading.value = true;
+    disabled_btnWmsContainer.value = true;
+    var new_tableParamsWmsContainer=JSON.parse(JSON.stringify(tableParams.value));
+    new_tableParamsWmsContainer.page = 1;
+    new_tableParamsWmsContainer.pageSize = 100000;
+    var res = await pageWmsContainer(Object.assign(queryParamsWmsContainer.value, new_tableParamsWmsContainer));
+    if(res.data.type=="success"){
+      exportExcelWmsContainer(res.data.result?.items ?? []);
+    }
+    loading.value = false;
+    disabled_btnWmsContainer.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsContainer  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsContainer,"瀹瑰櫒淇℃伅琛�",functionMapWmsContainer);
+};
+  // 鏌ヨ鎿嶄綔
+  const handleQuery = async () => {
+    loading.value = true;
+    var res = await pageWmsContainer(Object.assign(queryParams.value, tableParams.value));
+    tableData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+    loading.value = false;
+  };
+
+  // 鍒楁帓搴�
+  const sortChange = async (column: any) => {
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
+  };
+
+  // 鎵撳紑鏂板椤甸潰
+  const openAddWmsContainer = () => {
+    editWmsContainerTitle.value = '娣诲姞瀹瑰櫒淇℃伅';
+    editDialogRef.value.openDialog({});
+  };
+
+  // 鎵撳紑鎵撳嵃椤甸潰
+  const openPrintWmsContainer = async (row: any) => {
+    printWmsContainerTitle.value = '鎵撳嵃瀹瑰櫒淇℃伅';
+  }
+  
+  // 鎵撳紑缂栬緫椤甸潰
+  const openEditWmsContainer = (row: any) => {
+    editWmsContainerTitle.value = '缂栬緫瀹瑰櫒淇℃伅';
+    editDialogRef.value.openDialog(row);
+  };
+
+  // 鍒犻櫎
+  const delWmsContainer = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    var ret = await deleteWmsContainer(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+        handleQuery();
+	  }
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉椤甸潰瀹归噺
+  const handleSizeChange = (val: number) => {
+    tableParams.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉椤电爜搴忓彿
+  const handleCurrentChange = (val: number) => {
+    tableParams.value.page = val;
+    handleQuery();
+  };
+  handleQuery();
+  let arr1:any =ref("") //涓嬫媺璇诲彇鎺ュ彛
+  onMounted(async () => {
+	nextTick(async () => {
+		arr1.value = await handleSlectDatawmsContainerType(); //涓嬫媺璇诲彇鎺ュ彛
+	});
+	    getEnumIsVirtuallyData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+	    getEnumIsDisabledData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+});
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainerPackaging/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainerPackaging/component/editDialog.vue
new file mode 100644
index 0000000..b8b689a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainerPackaging/component/editDialog.vue
@@ -0,0 +1,153 @@
+锘�<template>
+	<div class="wmsContainerPackaging-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹瑰櫒绫诲瀷ID" prop="containerTypeId">
+							<el-select clearable v-model="ruleForm.containerTypeId" placeholder="璇烽�夋嫨瀹瑰櫒绫诲瀷ID">
+								<el-option v-for="(item,index) in arr1"  :key="index" :value="item.code" :label="`[${item.code}] ${item.value}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡绫诲瀷ID" prop="materialTypeId">
+							<el-select clearable v-model="ruleForm.materialTypeId" placeholder="璇烽�夋嫨鐗╂枡绫诲瀷ID">
+								<el-option v-for="(item,index) in arr2"  :key="index" :value="item.code" :label="`[${item.code}] ${item.value}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡瀹瑰櫒瀹归噺" prop="boxQty">
+							<el-input-number v-model="ruleForm.boxQty" placeholder="璇疯緭鍏ョ墿鏂欏鍣ㄥ閲�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted, nextTick } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsContainerPackaging, updateWmsContainerPackaging, detailWmsContainerPackaging } from "/@/api/main/WmsBase/wmsContainerPackaging";
+import { handleSlectDatawmsContainerType, handleSlectDataWmsMaterialType } from "/@/utils/selectData";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		containerTypeId: [{required: true, message: '璇烽�夋嫨瀹瑰櫒绫诲瀷ID锛�', trigger: 'change',},],
+		materialTypeId: [{required: true, message: '璇烽�夋嫨鐗╂枡绫诲瀷ID锛�', trigger: 'change',},],
+	});
+
+
+	let arr1:any =ref("") //涓嬫媺璇诲彇鎺ュ彛
+	let arr2:any =ref("") //涓嬫媺璇诲彇鎺ュ彛
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsContainerPackaging(rowData.id)).data.result;
+		else
+			ruleForm.value = rowData;
+		isShowDialog.value = true;
+		nextTick(async () => {
+		arr1.value = await handleSlectDatawmsContainerType(); //涓嬫媺璇诲彇鎺ュ彛
+		arr2.value = await handleSlectDataWmsMaterialType(); //涓嬫媺璇诲彇鎺ュ彛
+
+	});
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addWmsContainerPackaging(values);
+				} else {
+					await updateWmsContainerPackaging(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainerPackaging/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainerPackaging/index.vue
new file mode 100644
index 0000000..9d0bc98
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainerPackaging/index.vue
@@ -0,0 +1,202 @@
+锘�<template>
+  <div class="wmsContainerPackaging-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="瀹瑰櫒绫诲瀷ID">
+              <el-select clearable="" v-model="queryParams.containerTypeId" placeholder="璇烽�夋嫨瀹瑰櫒绫诲瀷ID">
+                <el-option v-for="(item,index) in dl('')" :key="index" :value="item.code" :label="`[${item.code}] ${item.value}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐗╂枡绫诲瀷ID">
+              <el-select clearable="" v-model="queryParams.materialTypeId" placeholder="璇烽�夋嫨鐗╂枡绫诲瀷ID">
+                <el-option v-for="(item,index) in dl('')" :key="index" :value="item.code" :label="`[${item.code}] ${item.value}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" v-auth="'wmsContainerPackaging:page'"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsContainerPackaging" v-auth="'wmsContainerPackaging:add'"> 鏂板 </el-button>
+                
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+				:data="tableData"
+				style="width: 100%"
+				v-loading="loading"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+          <el-table-column prop="containerTypeId" label="瀹瑰櫒绫诲瀷ID"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag :type="di('', scope.row.containerTypeId)?.tagType"> {{di("", scope.row.containerTypeId)?.value}} </el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="containerTypeName" label="瀹瑰櫒绫诲瀷鍚嶇О"  show-overflow-tooltip="" />
+          <el-table-column prop="materialTypeId" label="鐗╂枡绫诲瀷ID"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag :type="di('', scope.row.materialTypeId)?.tagType"> {{di("", scope.row.materialTypeId)?.value}} </el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="materialTypeCode" label="鐗╂枡绫诲瀷缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialTypeName" label="鐗╂枡绫诲瀷鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="boxQty" label="鐗╂枡瀹瑰櫒瀹归噺"  show-overflow-tooltip="" />
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip=""/>
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsContainerPackaging:update') || auth('wmsContainerPackaging:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsContainerPackaging(scope.row)" v-auth="'wmsContainerPackaging:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsContainerPackaging(scope.row)" v-auth="'wmsContainerPackaging:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialog
+        ref="printDialogRef"
+        :title="printWmsContainerPackagingTitle"
+        @reloadTable="handleQuery" />
+      <editDialog
+        ref="editDialogRef"
+        :title="editWmsContainerPackagingTitle"
+        @reloadTable="handleQuery"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsContainerPackaging">
+  import { ref } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate } from '/@/utils/formatTime';
+
+
+  import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialog from '/@/views/main/WmsBase/wmsContainerPackaging/component/editDialog.vue'
+  import { pageWmsContainerPackaging, deleteWmsContainerPackaging } from '/@/api/main/WmsBase/wmsContainerPackaging';
+
+
+  const showAdvanceQueryUI = ref(true);
+  const printDialogRef = ref();
+  const editDialogRef = ref();
+  const loading = ref(false);
+  const tableData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsContainerPackagingTitle = ref("");
+  const editWmsContainerPackagingTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI = () => {
+    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+  }
+  
+
+  // 鏌ヨ鎿嶄綔
+  const handleQuery = async () => {
+    loading.value = true;
+    var res = await pageWmsContainerPackaging(Object.assign(queryParams.value, tableParams.value));
+    tableData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+    loading.value = false;
+  };
+
+  // 鍒楁帓搴�
+  const sortChange = async (column: any) => {
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
+  };
+
+  // 鎵撳紑鏂板椤甸潰
+  const openAddWmsContainerPackaging = () => {
+    editWmsContainerPackagingTitle.value = '娣诲姞瀹瑰櫒鍏崇郴鍩虹';
+    editDialogRef.value.openDialog({});
+  };
+
+  // 鎵撳紑鎵撳嵃椤甸潰
+  const openPrintWmsContainerPackaging = async (row: any) => {
+    printWmsContainerPackagingTitle.value = '鎵撳嵃瀹瑰櫒鍏崇郴鍩虹';
+  }
+  
+  // 鎵撳紑缂栬緫椤甸潰
+  const openEditWmsContainerPackaging = (row: any) => {
+    editWmsContainerPackagingTitle.value = '缂栬緫瀹瑰櫒鍏崇郴鍩虹';
+    editDialogRef.value.openDialog(row);
+  };
+
+  // 鍒犻櫎
+  const delWmsContainerPackaging = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    var  ret = await deleteWmsContainerPackaging(row);
+    if(ret.data.type=="success"){
+      ElMessage.success("鍒犻櫎鎴愬姛");
+      handleQuery();
+    }
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉椤甸潰瀹归噺
+  const handleSizeChange = (val: number) => {
+    tableParams.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉椤电爜搴忓彿
+  const handleCurrentChange = (val: number) => {
+    tableParams.value.page = val;
+    handleQuery();
+  };
+
+  handleQuery();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainerType/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainerType/component/editDialog.vue
new file mode 100644
index 0000000..1e84719
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainerType/component/editDialog.vue
@@ -0,0 +1,158 @@
+锘�<template>
+	<div class="wmsContainerType-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绫诲瀷缂栧彿" prop="typeCode">
+							<el-input v-model="ruleForm.typeCode" placeholder="璇疯緭鍏ョ被鍨嬬紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绫诲瀷鍚嶇О" prop="typeName">
+							<el-input v-model="ruleForm.typeName" placeholder="璇疯緭鍏ョ被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁鍥炴敹" prop="isAllowReclaim">
+							<el-switch v-model="ruleForm.isAllowReclaim" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曚綅" prop="unit">
+							<el-input v-model="ruleForm.unit" placeholder="璇疯緭鍏ュ崟浣�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="浣跨敤鏈熼檺(娆�)" prop="usagePeriod">
+							<el-input-number :min="1" :precision="0" v-model="ruleForm.usagePeriod" placeholder="璇疯緭鍏ヤ娇鐢ㄦ湡闄�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsContainerType, updateWmsContainerType, detailWmsContainerType } from "/@/api/main/WmsBase/wmsContainerType";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		typeCode: [{required: true, message: '璇疯緭鍏ョ被鍨嬬紪鍙凤紒', trigger: 'blur',},],
+		typeName: [{required: true, message: '璇疯緭鍏ョ被鍨嬪悕绉帮紒', trigger: 'blur',},],
+	});
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsContainerType(rowData.id)).data.result;
+		else
+			ruleForm.value = rowData;
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addWmsContainerType(values);
+				} else {
+					await updateWmsContainerType(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainerType/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainerType/index.vue
new file mode 100644
index 0000000..54c5358
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsContainerType/index.vue
@@ -0,0 +1,227 @@
+锘�<template>
+  <div class="wmsContainerType-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="绫诲瀷缂栧彿,绫诲瀷鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="绫诲瀷缂栧彿">
+              <el-input v-model="queryParams.typeCode" clearable="" placeholder="璇疯緭鍏ョ被鍨嬬紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+		  <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+		  		    <el-form-item label="鏄惁绂佺敤">
+		  		      <el-select clearable="" v-model="queryParams.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+		  		        <el-option v-for="(item,index) in getIsDisabledData" :key="index" :value="item.value" :label="`${item.text}`" />
+		  		        
+		  		      </el-select>
+		  		      
+		  		    </el-form-item>
+		  		  </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="绫诲瀷鍚嶇О">
+              <el-input v-model="queryParams.typeName" clearable="" placeholder="璇疯緭鍏ョ被鍨嬪悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" v-auth="'wmsContainerType:page'"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsContainerType" v-auth="'wmsContainerType:add'"> 鏂板 </el-button>
+                
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+				:data="tableData"
+				style="width: 100%"
+				v-loading="loading"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="typeCode" label="绫诲瀷缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="typeName" label="绫诲瀷鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="isAllowReclaim" label="鏄惁鍥炴敹"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isAllowReclaim"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="unit" label="鍗曚綅"  show-overflow-tooltip="" />
+        <el-table-column prop="usagePeriod" min-width="99px" label="浣跨敤鏈熼檺(娆�)"  show-overflow-tooltip="" />
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip=""/>
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsContainerType:update') || auth('wmsContainerType:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsContainerType(scope.row)" v-auth="'wmsContainerType:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsContainerType(scope.row)" v-auth="'wmsContainerType:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialog
+        ref="printDialogRef"
+        :title="printWmsContainerTypeTitle"
+        @reloadTable="handleQuery" />
+      <editDialog
+        ref="editDialogRef"
+        :title="editWmsContainerTypeTitle"
+        @reloadTable="handleQuery"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsContainerType">
+  import { ref } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate } from '/@/utils/formatTime';
+
+
+  import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialog from '/@/views/main/WmsBase/wmsContainerType/component/editDialog.vue'
+  import { pageWmsContainerType, deleteWmsContainerType } from '/@/api/main/WmsBase/wmsContainerType';
+
+
+  const showAdvanceQueryUI = ref(false);
+  const printDialogRef = ref();
+  const editDialogRef = ref();
+  const loading = ref(false);
+  const tableData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+    const getIsDisabledData = [{
+  	  "value":true,"text":"鏄�"
+    },{
+  	  "value":false,"text":"鍚�"
+    }]
+  const printWmsContainerTypeTitle = ref("");
+  const editWmsContainerTypeTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI = () => {
+    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+  }
+  
+
+  // 鏌ヨ鎿嶄綔
+  const handleQuery = async () => {
+    loading.value = true;
+    var res = await pageWmsContainerType(Object.assign(queryParams.value, tableParams.value));
+    tableData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+    loading.value = false;
+  };
+
+  // 鍒楁帓搴�
+  const sortChange = async (column: any) => {
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
+  };
+
+  // 鎵撳紑鏂板椤甸潰
+  const openAddWmsContainerType = () => {
+    editWmsContainerTypeTitle.value = '娣诲姞瀹瑰櫒绫诲瀷';
+    editDialogRef.value.openDialog({});
+  };
+
+  // 鎵撳紑鎵撳嵃椤甸潰
+  const openPrintWmsContainerType = async (row: any) => {
+    printWmsContainerTypeTitle.value = '鎵撳嵃瀹瑰櫒绫诲瀷';
+  }
+  
+  // 鎵撳紑缂栬緫椤甸潰
+  const openEditWmsContainerType = (row: any) => {
+    editWmsContainerTypeTitle.value = '缂栬緫瀹瑰櫒绫诲瀷';
+    editDialogRef.value.openDialog(row);
+  };
+
+  // 鍒犻櫎
+  const delWmsContainerType = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    var  ret = await deleteWmsContainerType(row);
+    if(ret.data.type=="success"){
+      handleQuery();
+      ElMessage.success("鍒犻櫎鎴愬姛");
+    }
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉椤甸潰瀹归噺
+  const handleSizeChange = (val: number) => {
+    tableParams.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉椤电爜搴忓彿
+  const handleCurrentChange = (val: number) => {
+    tableParams.value.page = val;
+    handleQuery();
+  };
+
+  handleQuery();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsControlRuleDetail/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsControlRuleDetail/component/editDialog.vue
new file mode 100644
index 0000000..22edd31
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsControlRuleDetail/component/editDialog.vue
@@ -0,0 +1,184 @@
+锘�<template>
+	<div class="wmsControlRuleDetail-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瑙勫垯鍚嶇О" prop="ruleName">
+							<el-input v-model="ruleForm.ruleName" placeholder="璇疯緭鍏ヨ鍒欏悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏈�楂樺簱瀛�" prop="maxImumqty">
+							<el-input-number :min="0" :precision="3" v-model="ruleForm.maxImumqty" placeholder="璇疯緭鍏ユ渶楂樺簱瀛�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏈�浣庡簱瀛�" prop="minImumqty">
+							<el-input-number :min="0" :precision="3" v-model="ruleForm.minImumqty" placeholder="璇疯緭鍏ユ渶浣庡簱瀛�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹夊叏搴撳瓨" prop="safeImumqty">
+							<el-input-number :min="0" :precision="3" v-model="ruleForm.safeImumqty" placeholder="璇疯緭鍏ュ畨鍏ㄥ簱瀛�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏈�灏忓簱榫�" prop="minStorageAge">
+							<el-input-number :min="0" :precision="0" v-model="ruleForm.minStorageAge" placeholder="璇疯緭鍏ユ渶灏忓簱榫�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏈�澶у簱榫�" prop="maxStorageAge">
+							<el-input-number :min="0" :precision="0" v-model="ruleForm.maxStorageAge" placeholder="璇疯緭鍏ユ渶澶у簱榫�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁鍏嶆" prop="isNotChek">
+							<el-switch v-model="ruleForm.isNotChek" active-text="鏄�" inactive-text="鍚�" />
+						</el-form-item>
+					</el-col> -->
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁璐ㄦ" prop="isNotChek">
+							<el-switch v-model="ruleForm.isNotChek" active-text="鍚�" inactive-text="鏄�" />
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="淇濊川鏈熷ぉ鏁�" prop="shelfLifeDays">
+							<el-input-number :min="0" :precision="0" v-model="ruleForm.shelfLifeDays" placeholder="璇疯緭鍏ヤ繚璐ㄦ湡澶╂暟" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsControlRuleDetail, updateWmsControlRuleDetail, detailWmsControlRuleDetail } from "/@/api/main/WmsBase/wmsControlRuleDetail";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		ruleCode: [{required: true, message: '璇疯緭鍏ヨ鍒欑紪鍙凤紒', trigger: 'blur',},],
+		ruleName: [{required: true, message: '璇疯緭鍏ヨ鍒欏悕绉帮紒', trigger: 'blur',},],
+	});
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsControlRuleDetail(rowData.id)).data.result;
+		else
+			ruleForm.value = rowData;
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addWmsControlRuleDetail(values);
+				} else {
+					await updateWmsControlRuleDetail(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsControlRuleDetail/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsControlRuleDetail/index.vue
new file mode 100644
index 0000000..82d981f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsControlRuleDetail/index.vue
@@ -0,0 +1,230 @@
+锘�<template>
+  <div class="wmsControlRuleDetail-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="瑙勫垯缂栧彿,瑙勫垯鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="瑙勫垯缂栧彿">
+              <el-input v-model="queryParams.ruleCode" clearable="" placeholder="璇疯緭鍏ヨ鍒欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          
+		  <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+		  		  		    <el-form-item label="鏄惁绂佺敤">
+		  		  		      <el-select clearable="" v-model="queryParams.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+		  		  		        <el-option v-for="(item,index) in getIsDisabledData" :key="index" :value="item.value" :label="`${item.text}`" />
+		  		  		        
+		  		  		      </el-select>
+		  		  		      
+		  		  		    </el-form-item>
+		  		  		  </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" v-auth="'wmsControlRuleDetail:page'"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsControlRuleDetail" v-auth="'wmsControlRuleDetail:add'"> 鏂板 </el-button>
+                
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+				:data="tableData"
+				style="width: 100%"
+				v-loading="loading"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="ruleCode" label="瑙勫垯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="ruleName" label="瑙勫垯鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="maxImumqty" label="鏈�楂樺簱瀛�"  show-overflow-tooltip="" />
+        <el-table-column prop="minImumqty" label="鏈�浣庡簱瀛�"  show-overflow-tooltip="" />
+        <el-table-column prop="safeImumqty" label="瀹夊叏搴撳瓨"  show-overflow-tooltip="" />
+        <el-table-column prop="minStorageAge" label="鏈�灏忓簱榫�"  show-overflow-tooltip="" />
+        <el-table-column prop="maxStorageAge" label="鏈�澶у簱榫�"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="isNotChek" label="鏄惁鍏嶆"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isNotChek"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+          </template>
+        </el-table-column> -->
+
+        <el-table-column prop="isNotChek" label="鏄惁璐ㄦ"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag type="danger" v-if="scope.row.isNotChek"> 鍚� </el-tag>
+            <el-tag  v-else>  鏄�</el-tag>
+          </template>
+        </el-table-column>
+
+        <el-table-column prop="shelfLifeDays" label="淇濊川鏈熷ぉ鏁�"  show-overflow-tooltip="" />
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip=""/>
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsControlRuleDetail:update') || auth('wmsControlRuleDetail:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsControlRuleDetail(scope.row)" v-auth="'wmsControlRuleDetail:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsControlRuleDetail(scope.row)" v-auth="'wmsControlRuleDetail:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialog
+        ref="printDialogRef"
+        :title="printWmsControlRuleDetailTitle"
+        @reloadTable="handleQuery" />
+      <editDialog
+        ref="editDialogRef"
+        :title="editWmsControlRuleDetailTitle"
+        @reloadTable="handleQuery"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsControlRuleDetail">
+  import { ref } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate } from '/@/utils/formatTime';
+
+
+  import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialog from '/@/views/main/WmsBase/wmsControlRuleDetail/component/editDialog.vue'
+  import { pageWmsControlRuleDetail, deleteWmsControlRuleDetail } from '/@/api/main/WmsBase/wmsControlRuleDetail';
+
+
+  const showAdvanceQueryUI = ref(false);
+  const printDialogRef = ref();
+  const editDialogRef = ref();
+  const loading = ref(false);
+  const tableData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+  const getIsDisabledData = [{
+	  "value":true,"text":"鏄�"
+  },{
+	  "value":false,"text":"鍚�"
+  }]
+  const printWmsControlRuleDetailTitle = ref("");
+  const editWmsControlRuleDetailTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI = () => {
+    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+  }
+  
+
+  // 鏌ヨ鎿嶄綔
+  const handleQuery = async () => {
+    loading.value = true;
+    var res = await pageWmsControlRuleDetail(Object.assign(queryParams.value, tableParams.value));
+    tableData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+    loading.value = false;
+  };
+
+  // 鍒楁帓搴�
+  const sortChange = async (column: any) => {
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
+  };
+
+  // 鎵撳紑鏂板椤甸潰
+  const openAddWmsControlRuleDetail = () => {
+    editWmsControlRuleDetailTitle.value = '娣诲姞瑙勫垯鏄庣粏';
+    editDialogRef.value.openDialog({});
+  };
+
+  // 鎵撳紑鎵撳嵃椤甸潰
+  const openPrintWmsControlRuleDetail = async (row: any) => {
+    printWmsControlRuleDetailTitle.value = '鎵撳嵃瑙勫垯鏄庣粏';
+  }
+  
+  // 鎵撳紑缂栬緫椤甸潰
+  const openEditWmsControlRuleDetail = (row: any) => {
+    editWmsControlRuleDetailTitle.value = '缂栬緫瑙勫垯鏄庣粏';
+    editDialogRef.value.openDialog(row);
+  };
+
+  // 鍒犻櫎
+  const delWmsControlRuleDetail = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    var  ret = await deleteWmsControlRuleDetail(row);
+    if(ret.data.type=="success"){
+      handleQuery();
+      ElMessage.success("鍒犻櫎鎴愬姛");
+    }
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉椤甸潰瀹归噺
+  const handleSizeChange = (val: number) => {
+    tableParams.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉椤电爜搴忓彿
+  const handleCurrentChange = (val: number) => {
+    tableParams.value.page = val;
+    handleQuery();
+  };
+
+  handleQuery();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsFactory/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsFactory/component/editDialog.vue
new file mode 100644
index 0000000..05d2f16
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsFactory/component/editDialog.vue
@@ -0,0 +1,144 @@
+锘�<template>
+	<div class="wmsFactory-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="缂栧彿" prop="factoryCode">
+							<el-input v-model="ruleForm.factoryCode" placeholder="璇疯緭鍏ョ紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍚嶇О" prop="factoryName">
+							<el-input v-model="ruleForm.factoryName" placeholder="璇疯緭鍏ュ悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍦板潃" prop="factoryAddress">
+							<el-input v-model="ruleForm.factoryAddress" placeholder="璇疯緭鍏ュ湴鍧�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsFactory, updateWmsFactory, detailWmsFactory } from "/@/api/main/WmsBase/wmsFactory";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		factoryCode: [{required: true, message: '璇疯緭鍏ョ紪鍙凤紒', trigger: 'blur',},],
+		factoryName: [{required: true, message: '璇疯緭鍏ュ悕绉帮紒', trigger: 'blur',},],
+	});
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsFactory(rowData.id)).data.result;
+		else
+			ruleForm.value = rowData;
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addWmsFactory(values);
+				} else {
+					await updateWmsFactory(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsFactory/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsFactory/index.vue
new file mode 100644
index 0000000..1ea3011
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsFactory/index.vue
@@ -0,0 +1,205 @@
+锘�<template>
+  <div class="wmsFactory-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="缂栧彿,鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="缂栧彿">
+              <el-input v-model="queryParams.factoryCode" clearable="" placeholder="璇疯緭鍏ョ紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍚嶇О">
+              <el-input v-model="queryParams.factoryName" clearable="" placeholder="璇疯緭鍏ュ悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" v-auth="'wmsFactory:page'"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsFactory" v-auth="'wmsFactory:add'"> 鏂板 </el-button>
+                
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+				:data="tableData"
+				style="width: 100%"
+				v-loading="loading"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="factoryCode" label="缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="factoryName" label="鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="factoryAddress" label="鍦板潃"  show-overflow-tooltip="" />
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip=""/>
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsFactory:update') || auth('wmsFactory:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsFactory(scope.row)" v-auth="'wmsFactory:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsFactory(scope.row)" v-auth="'wmsFactory:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+
+
+
+
+      <printDialog
+        ref="printDialogRef"
+        :title="printWmsFactoryTitle"
+        @reloadTable="handleQuery" />
+      <editDialog
+        ref="editDialogRef"
+        :title="editWmsFactoryTitle"
+        @reloadTable="handleQuery"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsFactory">
+  import { ref } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate } from '/@/utils/formatTime';
+
+
+  import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialog from '/@/views/main/WmsBase/wmsFactory/component/editDialog.vue'
+  import { pageWmsFactory, deleteWmsFactory } from '/@/api/main/WmsBase/wmsFactory';
+
+
+  const showAdvanceQueryUI = ref(false);
+  const printDialogRef = ref();
+  const editDialogRef = ref();
+  const loading = ref(false);
+  const tableData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsFactoryTitle = ref("");
+  const editWmsFactoryTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI = () => {
+    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+  }
+  
+
+  // 鏌ヨ鎿嶄綔
+  const handleQuery = async () => {
+    loading.value = true;
+    var res = await pageWmsFactory(Object.assign(queryParams.value, tableParams.value));
+    tableData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+    loading.value = false;
+  };
+
+  // 鍒楁帓搴�
+  const sortChange = async (column: any) => {
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
+  };
+
+  // 鎵撳紑鏂板椤甸潰
+  const openAddWmsFactory = () => {
+    editWmsFactoryTitle.value = '娣诲姞宸ュ巶淇℃伅';
+    editDialogRef.value.openDialog({});
+  };
+
+  // 鎵撳紑鎵撳嵃椤甸潰
+  const openPrintWmsFactory = async (row: any) => {
+    printWmsFactoryTitle.value = '鎵撳嵃宸ュ巶淇℃伅';
+  }
+  
+  // 鎵撳紑缂栬緫椤甸潰
+  const openEditWmsFactory = (row: any) => {
+    editWmsFactoryTitle.value = '缂栬緫宸ュ巶淇℃伅';
+    editDialogRef.value.openDialog(row);
+  };
+
+  // 鍒犻櫎
+  const delWmsFactory = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    var res  = await deleteWmsFactory(row);
+    if(res.data.code==200){
+      handleQuery();
+      ElMessage.success("鍒犻櫎鎴愬姛");
+    }
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉椤甸潰瀹归噺
+  const handleSizeChange = (val: number) => {
+    tableParams.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉椤电爜搴忓彿
+  const handleCurrentChange = (val: number) => {
+    tableParams.value.page = val;
+    handleQuery();
+  };
+
+  handleQuery();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/batchProp.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/batchProp.vue
new file mode 100644
index 0000000..a127472
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/batchProp.vue
@@ -0,0 +1,356 @@
+<template>
+  <div class="baseCustomer-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="瑙勫垯缂栧彿">
+              <el-input v-model="queryParams.ruleCodeAccurate" clearable="" placeholder="璇疯緭鍏ユ煡璇㈣鍒欑紪鍙�" />
+
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="缂栧彿">
+              <el-input v-model="queryParams.custCode" clearable="" placeholder="璇疯緭鍏ョ紪鍙�" />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="涓枃鍚嶇О">
+              <el-input v-model="queryParams.custChinaName" clearable="" placeholder="璇疯緭鍏ヤ腑鏂囧悕绉�" />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鑻辨枃鍚嶇О">
+              <el-input v-model="queryParams.custEnglishName" clearable="" placeholder="璇疯緭鍏ヨ嫳鏂囧悕绉�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="绫诲瀷">
+              <el-select clearable="" v-model="queryParams.custType" placeholder="璇烽�夋嫨绫诲瀷">
+                <el-option v-for="(item, index) in dl('BaseCustomerTypeEnum')" :key="index" :value="item.code"
+                  :label="`[${item.code}] ${item.value}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐪佷唤">
+              <el-input v-model="queryParams.province" clearable="" placeholder="璇疯緭鍏ョ渷浠�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍩庡競">
+              <el-input v-model="queryParams.city" clearable="" placeholder="璇疯緭鍏ュ煄甯�" />
+
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary" icon="ele-Search" @click="handleQuery"> 鏌ヨ
+                </el-button>
+                <!-- <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button> -->
+                <!-- <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI"
+                  style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI"
+                  style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddBaseCustomer"
+                  v-auth="'baseCustomer:add'"> 鏂板 </el-button> -->
+
+              </el-button-group>
+            </el-form-item>
+
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table :data="tableData" style="width: 100%" height="400px" v-loading="loading" tooltip-effect="light"
+        row-key="id" @selection-change="handleSelectionChange" @sort-change="sortChange" border="">
+        <!-- <el-table-column align="center" width="60" type="selection" /> -->
+        <!-- 瀛愯〃 -->
+        <el-table-column fixed="left" type="expand">
+          <template #default="scope">
+            <br />
+            <el-table :data="scope.row.children" border style="width: 95%;margin: 0 auto;" default-expand-all
+              min-height="200" row-key="id">
+              <el-table-column type="index" label="搴忓彿" width="55" align="center" />
+
+              <el-table-column prop="ruleCode" label="瑙勫垯缂栧彿" show-overflow-tooltip="" />
+              <el-table-column prop="ruleName" label="瑙勫垯鍚嶇О" show-overflow-tooltip="" />
+              <el-table-column prop="batchRuleType" label="鎵规瑙勫垯" show-overflow-tooltip="">
+                <template #default="scope">
+                  {{ getEnumDesc(scope.row.batchRuleType, getEnumBatchRuleTypeData_Index) }}
+                </template>
+              </el-table-column>
+              <!-- <el-table-column prop="batchTag" label="鎵规鏍囩"  show-overflow-tooltip="" /> -->
+              <el-table-column prop="attrForamt" label="灞炴�ф牸寮�" show-overflow-tooltip="">
+                <template #default="scope">
+                  {{ getEnumDesc(scope.row.attrForamt, getEnumAttrForamtData_Index) }}
+                </template>
+              </el-table-column>
+              <el-table-column prop="attrOption" label="灞炴�ч�夐」" show-overflow-tooltip="">
+                <template #default="scope">
+                  {{ getEnumDesc(scope.row.attrOption, getEnumAttrOptionData_Index) }}
+                </template>
+              </el-table-column>
+              <el-table-column prop="inputControl" label="杈撳叆鎺у埗" show-overflow-tooltip="">
+                <template #default="scope">
+                  {{ getEnumDesc(scope.row.inputControl, getEnumInputControlData_Index) }}
+                </template>
+              </el-table-column>
+              <!-- <el-table-column prop="priority" label="浼樺厛绾�"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.priority, getEnumPriorityData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+              <el-table-column prop="priority" label="浼樺厛绾�" show-overflow-tooltip="" />
+
+              <!-- <el-table-column prop="rfTag" label="RF鏍囩"  show-overflow-tooltip="" />
+        <el-table-column prop="rfShow" label="RF鏄剧ず"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.rfShow"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column> -->
+              <!-- <el-table-column prop="keyAttr" label="鍏抽敭灞炴��"  show-overflow-tooltip="" />
+        <el-table-column prop="ruleDesc" label="瑙勫垯鎻忚堪"  show-overflow-tooltip="" />
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column> -->
+              <!-- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" /> -->
+              <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+              <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+
+            </el-table>
+            <br />
+          </template>
+        </el-table-column>
+
+        <el-table-column type="index" label="搴忓彿" width="55" align="center" />
+        <el-table-column prop="ruleCode" label="瑙勫垯缂栧彿" show-overflow-tooltip="" />
+        <el-table-column prop="ruleName" label="瑙勫垯鍚嶇О" show-overflow-tooltip="" />
+
+
+      </el-table>
+      <!-- <el-pagination v-model:currentPage="tableParams.page" v-model:page-size="tableParams.pageSize"
+        :total="tableParams.total" :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background=""
+        @size-change="handleSizeChange" @current-change="handleCurrentChange"
+        layout="total, sizes, prev, pager, next, jumper" /> -->
+      <printDialog ref="printDialogRef" :title="printBaseCustomerTitle" @reloadTable="handleQuery" />
+      <editDialog ref="editDialogRef" :title="editBaseCustomerTitle" @reloadTable="handleQuery" />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="baseCustomer">
+import { onMounted, ref } from "vue";
+import { ElMessageBox, ElMessage } from "element-plus";
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate } from '/@/utils/formatTime';
+const emits = defineEmits(['getTabelData'])
+
+import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+import editDialog from '/@/views/main/WmsBase/baseCustomer/component/editDialog.vue'
+import { pageBaseCustomer, deleteBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+import { pageWmsBatchRuleDetail } from "/@/api/main/WmsBase/wmsBatchRuleDetail";
+
+// 鏋氫妇---------
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+import { getAPI } from '/@/utils/axios-utils';
+const getEnumBatchRuleTypeData_Index = ref<any>([]);
+const getEnumAttrForamtData_Index = ref<any>([]);
+const getEnumAttrOptionData_Index = ref<any>([]);
+const getEnumInputControlData_Index = ref<any>([]);
+const getEnumPriorityData_Index = ref<any>([]);
+const getEnumRFShowData_Index = ref<any>([]);
+const getEnumIsDisabledData_Index = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+// 鏋氫妇---------
+const showAdvanceQueryUI = ref(false);
+const printDialogRef = ref();
+const editDialogRef = ref();
+const loading = ref(false);
+const tableData = ref<any>([]);
+const queryParams = ref<any>({
+  ruleCodeAccurate: "", //绮惧噯鏌ヨ
+  isDisabled: false
+});
+const tableParams = ref({
+  page: 1,
+  pageSize: 10000,
+  total: 0,
+});
+
+const printBaseCustomerTitle = ref("");
+const editBaseCustomerTitle = ref("");
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUI = () => {
+  showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+}
+
+
+// 閫夋嫨
+const checkRows = ref<{ id: number }[]>([]);
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+  debugger
+
+  console.log("鎵规瑙勫垯寮规")
+  if (!queryParams.value.ruleCodeAccurate) {
+    // ElMessage.warning('璇疯緭鍏ヨ鍒欑紪鍙凤紒');
+  
+    return
+  }
+  loading.value = true;
+
+  // 鏋氫妇---------
+  getEnumBatchRuleTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('BatchRuleEnum')).data.result ?? [];
+  getEnumAttrForamtData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AttrForamtEnum')).data.result ?? [];
+  getEnumAttrOptionData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AttrOptionEnum')).data.result ?? [];
+
+  setTimeout(async () => {
+    getEnumInputControlData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('InputControlEnum')).data.result ?? [];
+    getEnumPriorityData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PriorityEnum')).data.result ?? [];
+    getEnumRFShowData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+    getEnumIsDisabledData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+  }, 1000);
+  // 鏋氫妇---------
+
+
+
+  var res = await pageWmsBatchRuleDetail(Object.assign(queryParams.value, tableParams.value));
+  // var arr4 = res.data.result?.items;
+
+  // if(arr4.length>0){
+  //   var arr1 = arr4.value.filter(v => v.ruleCode == item.ruleCode);
+  //       if (arr1.length == 0) {
+  //         deltailList5.value.push(item);
+  //       }
+  // }
+  var items = res.data.result?.items ?? [];
+  if (items.length > 0) {
+    tableData.value = [
+      {
+        'ruleCode': items[0].ruleCode,
+        'ruleName': items[0].ruleName,
+        children: [...items]
+      }
+    ]
+    checkRows.value = tableData.value;
+  } else {
+    tableData.value = []
+    checkRows.value = [];
+  }
+  // tableParams.value.total = res.data.result?.total;
+  loading.value = false;
+
+
+
+
+};
+
+// 鍒楁帓搴�
+const sortChange = async (column: any) => {
+  queryParams.value.field = column.prop;
+  queryParams.value.order = column.order;
+  await handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddBaseCustomer = () => {
+  editBaseCustomerTitle.value = '娣诲姞寰�鏉ヤ紒涓�';
+  editDialogRef.value.openDialog({});
+};
+
+// 鎵撳紑鎵撳嵃椤甸潰
+const openPrintBaseCustomer = async (row: any) => {
+  printBaseCustomerTitle.value = '鎵撳嵃寰�鏉ヤ紒涓�';
+}
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditBaseCustomer = (row: any) => {
+  editBaseCustomerTitle.value = '缂栬緫寰�鏉ヤ紒涓�';
+  editDialogRef.value.openDialog(row);
+};
+
+// 鍒犻櫎
+const delBaseCustomer = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      await deleteBaseCustomer(row);
+      handleQuery();
+      ElMessage.success("鍒犻櫎鎴愬姛");
+    })
+    .catch(() => { });
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+  tableParams.value.pageSize = val;
+  handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+  tableParams.value.page = val;
+  handleQuery();
+};
+
+handleQuery();
+
+
+
+const handleSelectionChange = (val: any) => {
+  checkRows.value = val;
+}
+const openADialog = (param?: any, item?: any) => {
+  debugger
+  console.log("纭-杩斿洖閫夋嫨鏁扮粍")
+  if (checkRows.value.length <= 0) {
+    ElMessage.warning('璇疯緭鍏ヨ鏍肩紪鍙凤紒');
+    return
+  }
+  var resArr = checkRows.value;
+  queryParams.value.ruleCodeAccurate = "";
+  checkRows.value = [];
+  tableData.value =[];
+  return resArr
+}
+// 鏋氫妇---------
+onMounted(async () => {
+
+});
+// 鏋氫妇---------
+
+
+// 鏆撮湶鏂规硶
+defineExpose({ openADialog });
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+  width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/clientProp.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/clientProp.vue
new file mode 100644
index 0000000..da23247
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/clientProp.vue
@@ -0,0 +1,242 @@
+<template>
+  <div class="baseCustomer-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="璇疯緭鍏ユā绯婃煡璇㈠叧閿瓧" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="缂栧彿">
+              <el-input v-model="queryParams.custCode" clearable="" placeholder="璇疯緭鍏ョ紪鍙�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="涓枃鍚嶇О">
+              <el-input v-model="queryParams.custChinaName" clearable="" placeholder="璇疯緭鍏ヤ腑鏂囧悕绉�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鑻辨枃鍚嶇О">
+              <el-input v-model="queryParams.custEnglishName" clearable="" placeholder="璇疯緭鍏ヨ嫳鏂囧悕绉�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="绫诲瀷">
+              <el-select clearable="" v-model="queryParams.custType" placeholder="璇烽�夋嫨绫诲瀷">
+                <el-option v-for="(item, index) in dl('BaseCustomerTypeEnum')" :key="index" :value="item.code"
+                  :label="`[${item.code}] ${item.value}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐪佷唤">
+              <el-input v-model="queryParams.province" clearable="" placeholder="璇疯緭鍏ョ渷浠�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍩庡競">
+              <el-input v-model="queryParams.city" clearable="" placeholder="璇疯緭鍏ュ煄甯�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary" icon="ele-Search" @click="handleQuery" > 鏌ヨ
+                </el-button>
+                <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                <!-- <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI"
+                  style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI"
+                  style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddBaseCustomer"
+                  v-auth="'baseCustomer:add'"> 鏂板 </el-button> -->
+
+              </el-button-group>
+            </el-form-item>
+
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table :data="tableData" style="width: 100%"  height="400px" v-loading="loading" tooltip-effect="light" row-key="id" @selection-change="handleSelectionChange" 
+        @sort-change="sortChange" border="" >
+        <el-table-column align="center" width="60" type="selection" />
+        <el-table-column type="index" label="搴忓彿" width="55" align="center" />
+        <el-table-column prop="custCode" label="缂栧彿" show-overflow-tooltip="" min-width="110px"/>
+        <el-table-column prop="custChinaName" label="涓枃鍚嶇О" show-overflow-tooltip="" min-width="100px" />
+        <el-table-column prop="custEnglishName" label="鑻辨枃鍚嶇О" show-overflow-tooltip="" min-width="100px" />
+        <el-table-column prop="mnemonicCode" label="鍔╄鐮�" show-overflow-tooltip="" />
+        <!-- <el-table-column prop="custType" label="绫诲瀷" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag :type="di('BaseCustomerTypeEnum', scope.row.custType)?.tagType"> {{ di("BaseCustomerTypeEnum",
+              scope.row.custType)?.value }} </el-tag>
+          </template>
+        </el-table-column> -->
+        <el-table-column prop="custTypeName" label="绫诲瀷鍚嶇О" show-overflow-tooltip="" />
+        <el-table-column prop="linkMan" label="鑱旂郴浜�" show-overflow-tooltip="" />
+        <el-table-column prop="phone" label="鐢佃瘽" show-overflow-tooltip="" />
+        <el-table-column prop="email" label="鐢靛瓙閭欢" show-overflow-tooltip="" />
+        <el-table-column prop="zipCode" label="閭紪" show-overflow-tooltip="" />
+        <el-table-column prop="province" label="鐪佷唤" show-overflow-tooltip="" />
+        <el-table-column prop="city" label="鍩庡競" show-overflow-tooltip="" />
+        <el-table-column prop="address" label="鍦板潃" show-overflow-tooltip="" />
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+
+          </template>
+
+        </el-table-column>
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+      
+      </el-table>
+      <el-pagination v-model:currentPage="tableParams.page" v-model:page-size="tableParams.pageSize"
+        :total="tableParams.total" :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background=""
+        @size-change="handleSizeChange" @current-change="handleCurrentChange"
+        layout="total, sizes, prev, pager, next, jumper" />
+      <printDialog ref="printDialogRef" :title="printBaseCustomerTitle" @reloadTable="handleQuery" />
+      <editDialog ref="editDialogRef" :title="editBaseCustomerTitle" @reloadTable="handleQuery" />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="baseCustomer">
+import { ref } from "vue";
+import { ElMessageBox, ElMessage } from "element-plus";
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate } from '/@/utils/formatTime';
+const emits = defineEmits(['getTabelData'])
+
+import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+import editDialog from '/@/views/main/WmsBase/baseCustomer/component/editDialog.vue'
+import { pageBaseCustomer, deleteBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+
+
+const showAdvanceQueryUI = ref(false);
+const printDialogRef = ref();
+const editDialogRef = ref();
+const loading = ref(false);
+const tableData = ref<any>([]);
+const queryParams = ref<any>({});
+const tableParams = ref({
+  page: 1,
+  pageSize: 10,
+  total: 0,
+});
+
+const printBaseCustomerTitle = ref("");
+const editBaseCustomerTitle = ref("");
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUI = () => {
+  showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+}
+
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+  loading.value = true;
+  var res = await pageBaseCustomer(Object.assign(queryParams.value, tableParams.value));
+  tableData.value = res.data.result?.items ?? [];
+  tableParams.value.total = res.data.result?.total;
+  loading.value = false;
+};
+
+// 鍒楁帓搴�
+const sortChange = async (column: any) => {
+  queryParams.value.field = column.prop;
+  queryParams.value.order = column.order;
+  await handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddBaseCustomer = () => {
+  editBaseCustomerTitle.value = '娣诲姞寰�鏉ヤ紒涓�';
+  editDialogRef.value.openDialog({});
+};
+
+// 鎵撳紑鎵撳嵃椤甸潰
+const openPrintBaseCustomer = async (row: any) => {
+  printBaseCustomerTitle.value = '鎵撳嵃寰�鏉ヤ紒涓�';
+}
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditBaseCustomer = (row: any) => {
+  editBaseCustomerTitle.value = '缂栬緫寰�鏉ヤ紒涓�';
+  editDialogRef.value.openDialog(row);
+};
+
+// 鍒犻櫎
+const delBaseCustomer = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      await deleteBaseCustomer(row);
+      handleQuery();
+      ElMessage.success("鍒犻櫎鎴愬姛");
+    })
+    .catch(() => { });
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+  tableParams.value.pageSize = val;
+  handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+  tableParams.value.page = val;
+  handleQuery();
+};
+
+handleQuery();
+
+
+// 閫夋嫨
+const checkRows = ref<{ id: number }[]>([]);
+
+const handleSelectionChange = (val: any) => {
+  checkRows.value = val;
+}
+const openADialog = (param?: any, item?: any) => {
+  console.log("纭-杩斿洖閫夋嫨鏁扮粍")
+  if (checkRows.value.length <=0 ) {
+    ElMessage.warning('璇烽�夋嫨锛�');
+    return
+  }
+  return checkRows.value
+}
+
+// 鏆撮湶鏂规硶
+defineExpose({ openADialog });
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+  width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/component/editDialog.vue
new file mode 100644
index 0000000..c699b7e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/component/editDialog.vue
@@ -0,0 +1,245 @@
+锘�<template>
+	<div class="wmsMaterial-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="true" :close-on-click-modal="false" >
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP缂栧彿" prop="erpCode">
+							<el-input v-model="ruleForm.erpCode" placeholder="璇疯緭鍏RP缂栧彿" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡绫诲瀷" prop="materialType">
+							<el-select clearable v-model="ruleForm.materialType" placeholder="璇烽�夋嫨鐗╂枡绫诲瀷">
+								<el-option v-for="(item,index) in dl('MaterialTypeEnum')"  :key="index" :value="item.code" :label="`[${item.code}] ${item.value}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缁�" prop="materialGroup">
+							<el-input v-model="ruleForm.materialGroup" placeholder="璇疯緭鍏ョ墿鏂欑粍" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ABC鍒嗙被" prop="aBCClass">
+							<el-select clearable v-model="ruleForm.aBCClass" placeholder="璇烽�夋嫨ABC鍒嗙被">
+								<el-option v-for="(item,index) in dl('ABCClassEnum')"  :key="index" :value="item.code" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡瑙勬牸" prop="materialSpec">
+							<el-input v-model="ruleForm.materialSpec" placeholder="璇疯緭鍏ョ墿鏂欒鏍�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col> -->
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="榛樿鍏ュ簱搴撲綅" prop="inPlaceCode">
+							<el-input v-model="ruleForm.inPlaceCode" placeholder="璇疯緭鍏ラ粯璁ゅ叆搴撳簱浣�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳瓨鍗曚綅" prop="materialUnit">
+							<el-input v-model="ruleForm.materialUnit" placeholder="璇疯緭鍏ュ簱瀛樺崟浣�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閲囪喘鍗曚綅" prop="pOUnit">
+							<el-input v-model="ruleForm.pOUnit" placeholder="璇疯緭鍏ラ噰璐崟浣�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="棰滆壊" prop="color">
+							<el-input v-model="ruleForm.color" placeholder="璇疯緭鍏ラ鑹�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閲嶉噺" prop="weight">
+							<el-input v-model="ruleForm.weight" placeholder="璇疯緭鍏ラ噸閲�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏍囧寘鏁伴噺" prop="snp">
+							<el-input v-model="ruleForm.snp" placeholder="璇疯緭鍏ユ爣鍖呮暟閲�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎹㈢畻鐜�" prop="translateRate">
+							<el-input v-model="ruleForm.translateRate" placeholder="璇疯緭鍏ユ崲绠楃巼" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁璐ㄦ" prop="isCheck">
+							<el-switch v-model="ruleForm.isCheck" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鎻忚堪" prop="materialDesc">
+							<el-input v-model="ruleForm.materialDesc" placeholder="璇疯緭鍏ユ弿杩�" type="textarea" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsMaterial, updateWmsMaterial, detailWmsMaterial } from "/@/api/main/WmsBase/wmsMaterial";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		materialType: [{required: true, message: '璇烽�夋嫨鐗╂枡绫诲瀷锛�', trigger: 'change',},],
+		materialUnit: [{required: true, message: '璇疯緭鍏ュ簱瀛樺崟浣嶏紒', trigger: 'blur',},],
+		pOUnit: [{required: true, message: '璇疯緭鍏ラ噰璐崟浣嶏紒', trigger: 'blur',},],
+	});
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsMaterial(rowData.id)).data.result;
+		else
+			ruleForm.value = rowData;
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addWmsMaterial(values);
+				} else {
+					await updateWmsMaterial(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/controlProp.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/controlProp.vue
new file mode 100644
index 0000000..049f597
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/controlProp.vue
@@ -0,0 +1,223 @@
+<template>
+  <div class="wmsControlRuleDetail-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="璇疯緭鍏ユā绯婃煡璇㈠叧閿瓧" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="瑙勫垯缂栧彿">
+              <el-input v-model="queryParams.ruleCode" clearable="" placeholder="璇疯緭鍏ヨ鍒欑紪鍙�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="瑙勫垯鍚嶇О">
+              <el-input v-model="queryParams.ruleName" clearable="" placeholder="璇疯緭鍏ヨ鍒欏悕绉�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary" icon="ele-Search" @click="handleQuery"> 鏌ヨ </el-button>
+                <el-button icon="ele-Refresh" @click="() => queryParams = {}" style="margin-left:5px;"> 閲嶇疆 </el-button>
+                <!-- <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button> -->
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsControlRuleDetail"
+                  v-auth="'wmsControlRuleDetail:add'"> 鏂板 </el-button> -->
+
+              </el-button-group>
+            </el-form-item>
+
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table :data="tableData" style="width: 100%" v-loading="loading" tooltip-effect="light" row-key="id"
+        @sort-change="sortChange" @selection-change="handleSelectionChange" border="" height="400px">
+        <el-table-column align="center" width="60" type="selection" />
+        <el-table-column type="index" label="搴忓彿" width="55" align="center" />
+        <el-table-column prop="ruleCode" width="120" label="瑙勫垯缂栧彿" show-overflow-tooltip="" />
+        <el-table-column prop="ruleName" width="120" label="瑙勫垯鍚嶇О" show-overflow-tooltip="" />
+        <el-table-column prop="maxImumqty" label="鏈�楂樺簱瀛�" show-overflow-tooltip="" />
+        <el-table-column prop="minImumqty" label="鏈�浣庡簱瀛�" show-overflow-tooltip="" />
+        <el-table-column prop="safeImumqty" label="瀹夊叏搴撳瓨" show-overflow-tooltip="" />
+        <el-table-column prop="minStorageAge" label="鏈�灏忓簱榫�" show-overflow-tooltip="" />
+        <el-table-column prop="maxStorageAge" label="鏈�澶у簱榫�" show-overflow-tooltip="" />
+        <!-- <el-table-column prop="isNotChek" label="鏄惁鍏嶆" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isNotChek"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+          </template>
+        </el-table-column> -->
+        <el-table-column prop="isNotChek" label="鏄惁璐ㄦ"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag type="danger" v-if="scope.row.isNotChek"> 鍚� </el-tag>
+            <el-tag  v-else>  鏄�</el-tag>
+          </template>
+        </el-table-column>
+        <el-table-column prop="shelfLifeDays" label="淇濊川鏈熷ぉ鏁�" show-overflow-tooltip="" />
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+
+          </template>
+
+        </el-table-column>
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip=""
+          v-if="auth('wmsControlRuleDetail:update') || auth('wmsControlRuleDetail:delete')">
+          <template #default="scope">
+            <!-- <el-button icon="ele-Edit" size="small" text="" type="primary"
+              @click="openEditWmsControlRuleDetail(scope.row)" v-auth="'wmsControlRuleDetail:update'"> 缂栬緫 </el-button> -->
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsControlRuleDetail(scope.row)"
+              v-auth="'wmsControlRuleDetail:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination v-model:currentPage="tableParams.page" v-model:page-size="tableParams.pageSize"
+        :total="tableParams.total" :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background=""
+        @size-change="handleSizeChange" @current-change="handleCurrentChange"
+        layout="total, sizes, prev, pager, next, jumper" />
+      <printDialog ref="printDialogRef" :title="printWmsControlRuleDetailTitle" @reloadTable="handleQuery" />
+      <editDialog ref="editDialogRef" :title="editWmsControlRuleDetailTitle" @reloadTable="handleQuery" />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsControlRuleDetail">
+import { ref } from "vue";
+import { ElMessageBox, ElMessage } from "element-plus";
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate } from '/@/utils/formatTime';
+const emits = defineEmits(['getTabelData'])
+
+import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+import editDialog from '/@/views/main/WmsBase/wmsControlRuleDetail/component/editDialog.vue'
+import { pageWmsControlRuleDetail, deleteWmsControlRuleDetail } from '/@/api/main/WmsBase/wmsControlRuleDetail';
+
+
+const showAdvanceQueryUI = ref(false);
+const printDialogRef = ref();
+const editDialogRef = ref();
+const loading = ref(false);
+const tableData = ref<any>([]);
+const queryParams = ref<any>({});
+const tableParams = ref({
+  page: 1,
+  pageSize: 10,
+  total: 0,
+});
+
+const printWmsControlRuleDetailTitle = ref("");
+const editWmsControlRuleDetailTitle = ref("");
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUI = () => {
+  showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+}
+
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+  loading.value = true;
+  var res = await pageWmsControlRuleDetail(Object.assign(queryParams.value, tableParams.value));
+  tableData.value = res.data.result?.items ?? [];
+  tableParams.value.total = res.data.result?.total;
+  loading.value = false;
+};
+
+// 鍒楁帓搴�
+const sortChange = async (column: any) => {
+  queryParams.value.field = column.prop;
+  queryParams.value.order = column.order;
+  await handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddWmsControlRuleDetail = () => {
+  editWmsControlRuleDetailTitle.value = '娣诲姞瑙勫垯鏄庣粏';
+  editDialogRef.value.openDialog({});
+};
+
+// 鎵撳紑鎵撳嵃椤甸潰
+const openPrintWmsControlRuleDetail = async (row: any) => {
+  printWmsControlRuleDetailTitle.value = '鎵撳嵃瑙勫垯鏄庣粏';
+}
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditWmsControlRuleDetail = (row: any) => {
+  editWmsControlRuleDetailTitle.value = '缂栬緫瑙勫垯鏄庣粏';
+  editDialogRef.value.openDialog(row);
+};
+
+// 鍒犻櫎
+const delWmsControlRuleDetail = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      var  ret = await deleteWmsControlRuleDetail(row);
+      if(ret.data.type=="success"){
+        handleQuery();
+        ElMessage.success("鍒犻櫎鎴愬姛");
+      }
+    })
+    .catch(() => { });
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+  tableParams.value.pageSize = val;
+  handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+  tableParams.value.page = val;
+  handleQuery();
+};
+
+handleQuery();
+// 閫夋嫨
+const checkRows = ref<{ id: number }[]>([]);
+
+const handleSelectionChange = (val: any) => {
+  checkRows.value = val;
+}
+const openADialog = (param?: any, item?: any) => {
+  console.log("纭-杩斿洖閫夋嫨鏁扮粍")
+  if (checkRows.value.length != 1) {
+    ElMessage.warning('璇烽�夋嫨涓�椤癸紒');
+    return
+  }
+  return checkRows.value
+}
+
+// 鏆撮湶鏂规硶
+defineExpose({ openADialog });
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+  width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/index.vue
new file mode 100644
index 0000000..b3ded61
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/index.vue
@@ -0,0 +1,380 @@
+<template>
+  <div class="wmsMaterial-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="鐗╂枡缂栧彿,鐗╂枡鍚嶇О,ERP缂栧彿" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParams.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="ERP缂栧彿">
+              <el-input v-model="queryParams.erpCode" clearable="" placeholder="璇疯緭鍏RP缂栧彿" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐗╂枡绫诲瀷">
+              <el-select clearable="" v-model="queryParams.materialType" placeholder="璇烽�夋嫨鐗╂枡绫诲瀷">
+                <el-option v-for="(item, index) in arrW" :key="index" :value="item.id"
+                  :label="`${item.materialTypeName}`"></el-option>
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐗╂枡缁�">
+              <el-input v-model="queryParams.materialGroup" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑粍" />
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="ABC鍒嗙被">
+              <el-select clearable="" v-model="queryParams.aBCClass" placeholder="璇烽�夋嫨ABC鍒嗙被">
+                <el-option v-for="(item, index) in getEnumABCClassData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鏄惁璐ㄦ">
+              <el-select clearable="" v-model="queryParams.isCheck" placeholder="璇烽�夋嫨鏄惁璐ㄦ">
+                <el-option v-for="(item,index) in getEnumIsCheckData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+		  <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+		  		    <el-form-item label="鏄惁绂佺敤">
+		  		      <el-select clearable="" v-model="queryParams.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+		  		        <el-option v-for="(item,index) in getIsDisabledData" :key="index" :value="item.value" :label="`${item.text}`" />
+		  		        
+		  		      </el-select>
+		  		      
+		  		    </el-form-item>
+		  		  </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'wmsMaterial:page'"> 鏌ヨ
+                </el-button>
+                <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI"
+                  style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI"
+                  style="margin-left:5px;"> 闅愯棌 </el-button>
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsMaterial" v-auth="'wmsMaterial:add'"> 鏂板 </el-button> -->
+
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAccountDialog('鏂板')"
+                  v-auth="'wmsMaterial:add'"> 鏂板 </el-button>
+                  <!-- v-auth="'wmsMaterial:importExcel'" -->
+                  <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Upload"  > 瀵煎叆 </el-button> -->
+                  <!-- v-auth="'wmsMaterial:exportExcel'" -->
+                  <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Download"  > 瀵煎嚭 </el-button> -->
+				  <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelWmsMaterial"  v-auth="'wmsMaterial:importExcel'" > 瀵煎叆 </el-button>
+				  <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsMaterial"  v-auth="'wmsMaterial:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table ref="tableRefWmsMaterial":data="tableData" style="width: 100%" v-loading="loading" tooltip-effect="light" row-key="id"
+        @sort-change="sortChange" border="">
+        <el-table-column type="index" fixed="left" label="搴忓彿" width="55" align="center" />
+        <el-table-column prop="materialCode" fixed="left" width="150" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+        <el-table-column prop="materialName"  width="200"  label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+        <el-table-column prop="isCheck" label="鏄惁璐ㄦ" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isCheck"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+
+          </template>
+
+        </el-table-column>
+        <el-table-column prop="materialUnit" label="搴撳瓨鍗曚綅" show-overflow-tooltip="" />
+        <el-table-column prop="poUnit" label="閲囪喘鍗曚綅" show-overflow-tooltip="" />
+        <el-table-column prop="erpCode" label="ERP缂栧彿" show-overflow-tooltip="" />
+        <el-table-column prop="materialTypeName" label="鐗╂枡绫诲瀷" show-overflow-tooltip="">
+          <template #default="scope">
+            {{ scope.row.materialTypeName }}
+            <!-- <el-tag :type="di('MaterialTypeEnum', scope.row.materialType)?.tagType"> {{di("MaterialTypeEnum", scope.row.materialType)?.value}} </el-tag> -->
+          </template>
+        </el-table-column>
+
+        <!-- <el-table-column prop="materialGroup" label="鐗╂枡缁�" show-overflow-tooltip="" /> -->
+        <el-table-column prop="abcClassName" label="ABC鍒嗙被" show-overflow-tooltip="">
+          <template #default="scope">
+            {{ scope.row.abcClassName }}
+            <!-- <el-tag :type="di('ABCClassEnum', scope.row.aBCClass)?.tagType"> {{di("ABCClassEnum", scope.row.aBCClass)?.value}} </el-tag> -->
+          </template>
+        </el-table-column>
+        <!-- <el-table-column prop="materialSpec" label="鐗╂枡瑙勬牸" show-overflow-tooltip="" /> -->
+        <!-- <el-table-column prop="inPlaceCode" label="榛樿鍏ュ簱搴撲綅" width="110px" show-overflow-tooltip="" /> -->
+        <el-table-column prop="color" label="棰滆壊" show-overflow-tooltip="" />
+        <!-- <el-table-column prop="weight" label="閲嶉噺" show-overflow-tooltip="" /> -->
+        <el-table-column prop="snp" label="鏍囧寘鏁伴噺" show-overflow-tooltip="" />
+        <el-table-column prop="translateRate" label="鎹㈢畻鐜�" show-overflow-tooltip="" />
+
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+
+          </template>
+
+        </el-table-column>
+        <el-table-column prop="materialDesc" label="鎻忚堪" show-overflow-tooltip="" />
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="250" align="center" fixed="right" show-overflow-tooltip=""
+          v-if="auth('wmsMaterial:update') || auth('wmsMaterial:delete')|| auth('wmsMaterial:detail')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" 
+              v-auth="'wmsMaterial:update'" @click="openAccountDialog('澶嶅埗', scope.row)"> 澶嶅埗 </el-button>
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openAccountDialog('缂栬緫', scope.row)"
+              v-auth="'wmsMaterial:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-InfoFilled" size="small" text="" type="primary" @click="openAccountDialog('璇︽儏', scope.row)"
+              v-auth="'wmsMaterial:detail'"> 璇︽儏 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsMaterial(scope.row)"
+              v-auth="'wmsMaterial:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination v-model:currentPage="tableParams.page" v-model:page-size="tableParams.pageSize"
+        :total="tableParams.total" :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background=""
+        @size-change="handleSizeChange" @current-change="handleCurrentChange"
+        layout="total, sizes, prev, pager, next, jumper" />
+      <printDialog ref="printDialogRef" :title="printWmsMaterialTitle" @reloadTable="handleQuery" />
+      <editDialog ref="editDialogRef" :title="editWmsMaterialTitle" @reloadTable="handleQuery" />
+	  
+	  <importExcelDialog
+	    ref="importExcelDialogRefWmsMaterial"
+	    :title="importExcelTitleWmsMaterial"
+	    @parentUploadFun="handleImportExcelWmsMaterial"
+	    @parentDownFun="handleDownExcelWmsMaterial"
+	  />
+    </el-card>
+    <!-- 寮曞叆缁勪欢瑕佹斁鍦� div閲岄潰 鍚﹀垯椤甸潰鍔犺浇鍚庡鑷村叾浠栭〉闈㈢櫧灞� -->
+    <open-account ref="propAddRef" @getTabelData="handleQuery"></open-account>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsMaterial">
+import { getCurrentInstance, nextTick, onMounted, ref } from "vue";
+import { ElMessageBox, ElMessage } from "element-plus";
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate } from '/@/utils/formatTime';
+  import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢 //寮曞叆瀵煎叆缁勪欢
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+import editDialog from '/@/views/main/WmsBase/wmsMaterial/component/editDialog.vue'
+import { pageWmsMaterial, deleteWmsMaterial ,importExcelWmsMaterial,downloadExcelTemplateWmsMaterial } from '/@/api/main/WmsBase/wmsMaterial';
+import OpenAccount from './openAccount.vue';
+import { handleSlectDataWmsMaterialType } from "/@/utils/selectData";
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+
+
+const { proxy }: any = getCurrentInstance();// 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+  const getIsDisabledData = [{
+	  "value":true,"text":"鏄�"
+  },{
+	  "value":false,"text":"鍚�"
+  }]
+const showAdvanceQueryUI = ref(false);
+const printDialogRef = ref();
+const editDialogRef = ref();
+const loading = ref(false);
+const tableData = ref<any>([]);
+const queryParams = ref<any>({});
+const tableParams = ref({
+  page: 1,
+  pageSize: 10,
+  total: 0,
+});
+
+
+  const getEnumIsCheckData_Index = ref<any>([]);
+  const getEnumABCClassData_Index = ref<any>([]);
+  const getEnumIsDisabledData_Index = ref<any>([]);
+const printWmsMaterialTitle = ref("");
+const editWmsMaterialTitle = ref("");
+// const getMaterialType_Index = ref<any>([]);
+const tableRefWmsMaterial = ref(null);
+const disabled_btnWmsMaterial= ref(false);
+const new_tableParamsWmsMaterial = ref({
+  page: 1,
+  pageSize: 10,
+  total: 0,
+});
+const importExcelTitleWmsMaterial = ref("");
+const importExcelDialogRefWmsMaterial = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsMaterial = () => {
+    importExcelTitleWmsMaterial.value = '瀵煎叆鐗╂枡淇℃伅琛�';
+    importExcelDialogRefWmsMaterial.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsMaterial = async (formData:Blob) => {
+   var result = await importExcelWmsMaterial(formData);
+   importExcelDialogRefWmsMaterial.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+   if(result.data.type=="success"){
+    handleQuery();
+   }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsMaterial = async () => {
+   var result = await downloadExcelTemplateWmsMaterial();
+   importExcelDialogRefWmsMaterial.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+const functionMapWmsMaterial = {
+      getEnumABCClassData_Index,
+      getEnumIsDisabledData_Index,
+      getEnumIsCheckData_Index,
+	  // getMaterialType_Index
+      // formatDate_T_Date,
+      // formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsMaterial = async (formData:Blob) => {
+    loading.value = true;
+    disabled_btnWmsMaterial.value = true;
+    var new_tableParamsWmsMaterial=JSON.parse(JSON.stringify(tableParams.value));
+    new_tableParamsWmsMaterial.page = 1;
+    new_tableParamsWmsMaterial.pageSize = 100000;
+    var res = await pageWmsMaterial(Object.assign(tableParams.value, new_tableParamsWmsMaterial));
+    if(res.data.type=="success"){
+      exportExcelWmsMaterial(res.data.result?.items ?? []);
+    }
+    loading.value = false;
+    disabled_btnWmsMaterial.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsMaterial  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsMaterial,"鐗╂枡淇℃伅琛�",functionMapWmsMaterial);
+};
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUI = () => {
+  showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+}
+
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+  loading.value = true;
+  var res = await pageWmsMaterial(Object.assign(queryParams.value, tableParams.value));
+  tableData.value = res.data.result?.items ?? [];
+  tableParams.value.total = res.data.result?.total;
+  loading.value = false;
+  getEnumABCClassData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('ABCClassEnum')).data.result ?? [];
+  getEnumIsDisabledData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+  getEnumIsCheckData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+   // getMaterialType_Index.value = arrW.value;
+};
+
+// 鍒楁帓搴�
+const sortChange = async (column: any) => {
+  queryParams.value.field = column.prop;
+  queryParams.value.order = column.order;
+  await handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddWmsMaterial = () => {
+  editWmsMaterialTitle.value = '娣诲姞鐗╂枡淇℃伅';
+  editDialogRef.value.openDialog({});
+};
+
+// 鎵撳紑鎵撳嵃椤甸潰
+const openPrintWmsMaterial = async (row: any) => {
+  printWmsMaterialTitle.value = '鎵撳嵃鐗╂枡淇℃伅';
+}
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditWmsMaterial = (row: any) => {
+  editWmsMaterialTitle.value = '缂栬緫鐗╂枡淇℃伅';
+  editDialogRef.value.openDialog(row);
+};
+
+// 鍒犻櫎
+const delWmsMaterial = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      await deleteWmsMaterial(row);
+      handleQuery();
+      ElMessage.success("鍒犻櫎鎴愬姛");
+    })
+    .catch(() => { });
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+  tableParams.value.pageSize = val;
+  handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+  tableParams.value.page = val;
+  handleQuery();
+};
+
+handleQuery();
+
+
+let arrW: any = ref("") //涓嬫媺璇诲彇鎺ュ彛
+onMounted(() => {
+  nextTick(async () => {
+    getEnumIsCheckData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+    arrW.value = await handleSlectDataWmsMaterialType(); //涓嬫媺璇诲彇鎺ュ彛
+  });
+});
+  // 鐗╂枡淇℃伅琛ㄩ〉闈㈠姞杞芥椂
+  onMounted(async () => {
+    // getEnumABCClassData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('ABCClassEnum')).data.result ?? [];
+    // getEnumIsDisabledData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+    // getEnumIsCheckData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+  });
+const openAccountDialog = (param?: any, item?: any) => {
+  proxy.$refs['propAddRef'].openADialog(param, item);
+};
+
+
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+  width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/openAccount.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/openAccount.vue
new file mode 100644
index 0000000..c354830
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterial/openAccount.vue
@@ -0,0 +1,1133 @@
+<template>
+	<el-dialog :width="widthProp" v-model="dialogFormVisible" :close-on-click-modal="false">
+		<template #header>
+			<div style="color: #fff">
+				<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+				<span>{{ title }}</span>
+			</div>
+		</template>
+
+		<p v-if="activeName != 'first'">
+			<span style="margin-left: 10px">鐗╂枡缂栧彿:{{ ruleForm1.materialCode }} </span>
+			<span style="margin-left: 10%">鐗╂枡鍚嶇О:{{ ruleForm1.materialName }} </span>
+		</p>
+		<br />
+		<div class="msi-form tabBox100" style="margin: 0 10px">
+			<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
+				<el-tab-pane label="鍩烘湰淇℃伅" name="first"></el-tab-pane>
+				<el-tab-pane label="鎺у埗灞炴��" name="second"></el-tab-pane>
+				<el-tab-pane label="鎵规灞炴��" name="third"></el-tab-pane>
+				<el-tab-pane label="鏇夸唬鍝佺鐞�" name="four"></el-tab-pane>
+				<el-tab-pane label="寰�鏉ヤ紒涓�" name="five"></el-tab-pane>
+				<el-tab-pane label="瀹瑰櫒绫诲瀷" name="six"></el-tab-pane>
+			</el-tabs>
+		</div>
+		<!-- tab1 鍩烘湰淇℃伅 form-->
+		<div v-if="activeName == 'first'">
+			<el-form :model="ruleForm1" ref="ruleFormRef1" label-width="auto" :rules="rules1">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm1.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input :disabled="title != '鏂板' && title != '澶嶅埗'" v-model="ruleForm1.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input :disabled="title == '璇︽儏'" v-model="ruleForm1.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP缂栧彿" prop="erpCode">
+							<el-input :disabled="title == '璇︽儏'" v-model="ruleForm1.erpCode" placeholder="璇疯緭鍏RP缂栧彿" maxlength="255" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡绫诲瀷" prop="materialType">
+							<el-select :disabled="title == '璇︽儏'" clearable v-model="ruleForm1.materialType" placeholder="璇烽�夋嫨鐗╂枡绫诲瀷">
+								<el-option v-for="(item, index) in arrW" :key="index" :value="item.id" :label="`${item.materialTypeName}`"></el-option>
+							</el-select>
+
+							<!-- <el-select :disabled="title=='璇︽儏'" clearable v-model="ruleForm1.materialType" placeholder="璇烽�夋嫨鐗╂枡绫诲瀷">
+                <el-option v-for="(item, index) in dl('MaterialTypeEnum')" :key="index" :value="item.code"
+                  :label="`[${item.code}] ${item.value}`"></el-option>
+              </el-select> -->
+						</el-form-item>
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="鐗╂枡缁�" prop="materialGroup">
+              <el-input :disabled="title == '璇︽儏'" v-model="ruleForm1.materialGroup" placeholder="璇疯緭鍏ョ墿鏂欑粍" maxlength="50"
+                show-word-limit clearable />
+            </el-form-item>
+          </el-col> -->
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ABC鍒嗙被" prop="abcClass">
+							<el-select :disabled="title == '璇︽儏'" clearable v-model="ruleForm1.abcClass" placeholder="璇烽�夋嫨ABC鍒嗙被">
+								<el-option v-for="(item, index) in getEnumABCClassData_Index" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="鐗╂枡瑙勬牸" prop="materialSpec">
+              <el-input :disabled="title == '璇︽儏'" v-model="ruleForm1.materialSpec" placeholder="璇疯緭鍏ョ墿鏂欒鏍�" maxlength="255"
+                show-word-limit clearable />
+
+            </el-form-item>
+
+          </el-col> -->
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="榛樿鍏ュ簱搴撲綅" prop="inPlaceCode">
+              <el-input :disabled="title == '璇︽儏'" v-model="ruleForm1.inPlaceCode" placeholder="璇疯緭鍏ラ粯璁ゅ叆搴撳簱浣�" maxlength="50"
+                show-word-limit clearable />
+
+            </el-form-item>
+
+          </el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳瓨鍗曚綅" prop="materialUnit">
+							<!-- <el-input :disabled="title=='璇︽儏'" v-model="ruleForm1.materialUnit" placeholder="璇疯緭鍏ュ簱瀛樺崟浣�" maxlength="50" show-word-limit clearable /> -->
+
+							<el-select :disabled="title == '璇︽儏'" clearable v-model="ruleForm1.materialUnit" placeholder="璇烽�夋嫨搴撳瓨鍗曚綅">
+								<el-option v-for="(item, index) in arrDw" :key="index" :value="item.code" :label="`[${item.code}] ${item.value}`"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閲囪喘鍗曚綅" prop="poUnit">
+							<!-- <el-input :disabled="title=='璇︽儏'" v-model="ruleForm1.poUnit" placeholder="璇疯緭鍏ラ噰璐崟浣�" maxlength="50" show-word-limit clearable /> -->
+
+							<el-select :disabled="title == '璇︽儏'" clearable v-model="ruleForm1.poUnit" placeholder="璇烽�夋嫨閲囪喘鍗曚綅">
+								<el-option v-for="(item, index) in arrDw" :key="index" :value="item.code" :label="`[${item.code}] ${item.value}`"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎹㈢畻鐜�" prop="translateRate">
+							<el-input-number :min="0" :precision="0" :disabled="title == '璇︽儏'" v-model="ruleForm1.translateRate" placeholder="璇疯緭鍏ユ崲绠楃巼" maxlength="10" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="棰滆壊" prop="color">
+							<el-select :disabled="title == '璇︽儏'" clearable v-model="ruleForm1.color" placeholder="璇烽�夋嫨棰滆壊">
+								<el-option v-for="(item, index) in getEnumColorData_Index" :key="index" :value="item.name" :label="`${item.name}`"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="閲嶉噺" prop="weight">
+              <el-input-number :min="0" :precision="0" :disabled="title == '璇︽儏'" v-model="ruleForm1.weight"
+                placeholder="璇疯緭鍏ラ噸閲�" maxlength="50" show-word-limit clearable />
+
+            </el-form-item>
+
+          </el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏍囧寘鏁伴噺" prop="snp">
+							<el-input-number :min="0" :precision="0" :disabled="title == '璇︽儏'" v-model="ruleForm1.snp" placeholder="璇疯緭鍏ユ爣鍖呮暟閲�" maxlength="10" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm1.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鎻忚堪" prop="materialDesc">
+							<el-input :disabled="title == '璇︽儏'" v-model="ruleForm1.materialDesc" placeholder="璇疯緭鍏ユ弿杩�" type="textarea" maxlength="255" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</div>
+
+
+
+    <!-- tab2 鎺у埗灞炴�� form-->
+    <div v-if="activeName == 'second'">
+      <el-form :model="ruleForm2" label-width="120px" ref="dialogRef" :rules="formRules2">
+
+        <el-row :gutter="35">
+          <el-form-item v-show="false">
+            <el-input disabled v-model="ruleForm2.id" />
+          </el-form-item>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="鏈�楂樺簱瀛�" prop="maxImumqty">
+              <el-input-number  :disabled="title == '璇︽儏'" v-model="ruleForm2.maxImumqty" placeholder="璇疯緭鍏ユ渶楂樺簱瀛�" :min="0" :precision="0" maxlength="10" show-word-limit
+                clearable />
+
+            </el-form-item>
+
+          </el-col>
+		  <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="瀹夊叏搴撳瓨" prop="safeImumqty">
+              <el-input-number  :disabled="title == '璇︽儏'" v-model="ruleForm2.safeImumqty" placeholder="璇疯緭鍏ュ畨鍏ㄥ簱瀛�"  :min="0" :precision="0" maxlength="10" show-word-limit
+                clearable />
+
+            </el-form-item>
+
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="鏈�浣庡簱瀛�" prop="minImumqty">
+              <el-input-number  :disabled="title == '璇︽儏'" v-model="ruleForm2.minImumqty" placeholder="璇疯緭鍏ユ渶浣庡簱瀛�"  :min="0" :precision="0" maxlength="10" show-word-limit
+                clearable />
+
+            </el-form-item>
+
+          </el-col>
+    
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="鏈�灏忓簱榫�" prop="minStorageAge">
+              <el-input-number  :disabled="title == '璇︽儏'" v-model="ruleForm2.minStorageAge" placeholder="璇疯緭鍏ユ渶灏忓簱榫�"  :min="0" :precision="0" maxlength="10" show-word-limit
+                clearable />
+
+            </el-form-item>
+
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="鏈�澶у簱榫�" prop="maxStorageAge">
+              <el-input-number  :disabled="title == '璇︽儏'" v-model="ruleForm2.maxStorageAge" placeholder="璇疯緭鍏ユ渶澶у簱榫�"  :min="0" :precision="0" maxlength="10" show-word-limit
+                clearable />
+
+            </el-form-item>
+
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="鏄惁璐ㄦ" prop="isCheck">
+              <el-switch :disabled="title == '璇︽儏'" v-model="ruleForm2.isCheck" active-text="鏄�" inactive-text="鍚�" />
+            </el-form-item>
+          </el-col>
+		  
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="淇濊川鏈熷ぉ鏁�" prop="shelfLifeDays">
+              <el-input-number :disabled="title == '璇︽儏'" v-model="ruleForm2.shelfLifeDays" placeholder="璇疯緭鍏ヤ繚璐ㄦ湡澶╂暟"  :min="0" :precision="0" maxlength="10" show-word-limit
+                clearable />
+            </el-form-item>
+
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item disabled label="鏄惁绂佺敤" prop="isDisabled">
+              <el-switch :disabled="title == '璇︽儏'" v-model="ruleForm2.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+            </el-form-item>
+
+          </el-col> -->
+        </el-row>
+      </el-form>
+
+		</div>
+
+		<!-- tab3 鎵规灞炴�� -->
+		<div v-if="activeName == 'third'">
+			<el-table :data="deltailList3" border striped style="width: 99%; margin: 0 auto" @expand-change="getChildList3" height="400px" ref="tableRef3">
+				<!-- 瀛愯〃 -->
+				<el-table-column fixed="left" type="expand">
+					<template #default="scope">
+						<br />
+						<el-table :data="scope.row.children" border style="width: 95%; margin: 0 auto" default-expand-all min-height="200" row-key="id">
+							<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+
+							<el-table-column prop="ruleCode" label="瑙勫垯缂栧彿" show-overflow-tooltip="" />
+							<el-table-column prop="ruleName" label="瑙勫垯鍚嶇О" show-overflow-tooltip="" />
+							<el-table-column prop="batchRuleType" label="鎵规瑙勫垯" show-overflow-tooltip="">
+								<template #default="scope">
+									{{ getEnumDesc(scope.row.batchRuleType, getEnumBatchRuleTypeData_Index) }}
+								</template>
+							</el-table-column>
+							<!-- <el-table-column prop="batchTag" label="鎵规鏍囩"  show-overflow-tooltip="" /> -->
+							<el-table-column prop="attrForamt" label="灞炴�ф牸寮�" show-overflow-tooltip="">
+								<template #default="scope">
+									{{ getEnumDesc(scope.row.attrForamt, getEnumAttrForamtData_Index) }}
+								</template>
+							</el-table-column>
+							<el-table-column prop="attrOption" label="灞炴�ч�夐」" show-overflow-tooltip="">
+								<template #default="scope">
+									{{ getEnumDesc(scope.row.attrOption, getEnumAttrOptionData_Index) }}
+								</template>
+							</el-table-column>
+							<el-table-column prop="inputControl" label="杈撳叆鎺у埗" show-overflow-tooltip="">
+								<template #default="scope">
+									{{ getEnumDesc(scope.row.inputControl, getEnumInputControlData_Index) }}
+								</template>
+							</el-table-column>
+							<el-table-column prop="priority" label="浼樺厛绾�" show-overflow-tooltip="" />
+							<!-- <el-table-column prop="priority" label="浼樺厛绾�"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.priority, getEnumPriorityData_Index)}}
+            </template>
+          </el-table-column> -->
+							<!-- <el-table-column prop="rfTag" label="RF鏍囩" show-overflow-tooltip="" />
+              <el-table-column prop="rFShow" label="RF鏄剧ず" show-overflow-tooltip="">
+                <template #default="scope">
+                  <el-tag v-if="scope.row.rfShow"> 鏄� </el-tag>
+                  <el-tag type="danger" v-else> 鍚� </el-tag>
+
+                </template>
+
+              </el-table-column>
+              <el-table-column prop="keyAttr" label="鍏抽敭灞炴��" show-overflow-tooltip="" />
+              <el-table-column prop="ruleDesc" label="瑙勫垯鎻忚堪" show-overflow-tooltip="" />
+              <el-table-column prop="isDisabled" label="鏄惁绂佺敤" show-overflow-tooltip="">
+                <template #default="scope">
+                  <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+                  <el-tag type="danger" v-else> 鍚� </el-tag>
+
+                </template>
+
+              </el-table-column> -->
+							<!-- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" /> -->
+							<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+							<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+						</el-table>
+						<br />
+					</template>
+				</el-table-column>
+
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column prop="ruleCode" label="瑙勫垯缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="ruleName" label="瑙勫垯鍚嶇О" show-overflow-tooltip="" />
+
+				<!-- <el-table-column label="鎿嶄綔" width="150" align="center" fixed="right">
+          <template #default="scope">
+            <el-button type="info" plain size="small" @click="itemDelete3(scope.row, scope.index)">鍒犻櫎</el-button>
+          </template>
+        </el-table-column> -->
+			</el-table>
+			<br />
+			<el-button v-if="title != '璇︽儏'" icon="ele-Plus" text="" type="primary" @click="addLine('鎵规灞炴��')" v-auth="'wmsMaterial:update'">鏂板鎵规灞炴��</el-button>
+
+			<el-button v-if="title != '璇︽儏'" icon="el-icon-delete" text="" type="primary" @click="deleteLine('鎵规灞炴��')" v-auth="'wmsMaterial:update'">鍒犻櫎鎵规灞炴��</el-button>
+		</div>
+
+		<!-- tab4  鏇夸唬鍝佺鐞�-->
+		<div v-if="activeName == 'four'">
+			<el-table :data="deltailList4" border striped style="width: 99%; margin: 0 auto" @expand-change="getChildList" ref="tableRef" height="400px">
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column label="鏇夸唬鍝佺墿鏂欑紪鍙�" prop="substituteMaterialCode" align="center" min-width="140" show-overflow-tooltip />
+				<!-- <el-table-column label="鏇夸唬鍝佺墿鏂欏悕绉�" prop="substituteMaterialName" align="center" min-width="140"
+          show-overflow-tooltip /> -->
+				<el-table-column label="鏇夸唬娆″簭" prop="substituteIndex" align="center" min-width="130" show-overflow-tooltip />
+				<el-table-column label="鎿嶄綔" width="100" align="center" fixed="right">
+					<template #default="scope">
+						<el-button type="info" plain size="small" @click="itemDelete(scope.row, scope.index)">鍒犻櫎</el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<br />
+			<el-button v-if="title != '璇︽儏'" icon="ele-Plus" text="" type="primary" @click="addLine('鏇夸唬鍝�')" v-auth="'wmsMaterial:update'">鏂板鏇夸唬鍝�</el-button>
+		</div>
+
+		<!-- tab5  寰�鏉ヤ紒涓�-->
+		<div v-if="activeName == 'five'">
+			<el-table :data="deltailList5" border striped style="width: 99%; margin: 0 auto" @expand-change="getChildList" height="400px" ref="tableRef">
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column prop="custCode" label="缂栧彿" show-overflow-tooltip="" min-width="110px" />
+				<el-table-column prop="custChinaName" label="涓枃鍚嶇О" show-overflow-tooltip="" min-width="100px" />
+				<el-table-column prop="custEnglishName" label="鑻辨枃鍚嶇О" show-overflow-tooltip="" min-width="100px" />
+				<el-table-column prop="mnemonicCode" label="鍔╄鐮�" show-overflow-tooltip="" />
+				<el-table-column prop="custTypeName" label="绫诲瀷鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="linkMan" label="鑱旂郴浜�" show-overflow-tooltip="" />
+				<el-table-column prop="phone" label="鐢佃瘽" show-overflow-tooltip="" />
+				<el-table-column prop="email" label="鐢靛瓙閭欢" show-overflow-tooltip="" />
+				<el-table-column prop="zipCode" label="閭紪" show-overflow-tooltip="" />
+				<el-table-column prop="province" label="鐪佷唤" show-overflow-tooltip="" />
+				<el-table-column prop="city" label="鍩庡競" show-overflow-tooltip="" />
+				<el-table-column prop="address" label="鍦板潃" show-overflow-tooltip="" />
+				<el-table-column label="鎿嶄綔" width="150" align="center" fixed="right">
+					<template #default="scope">
+						<el-button type="info" plain size="small" @click="itemDelete(scope.row, scope.index)">鍒犻櫎</el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<br />
+			<el-button v-if="title != '璇︽儏'" icon="ele-Plus" text="" type="primary" @click="addLine('寰�鏉ヤ紒涓�')" v-auth="'wmsMaterial:update'">鏂板寰�鏉ヤ紒涓�</el-button>
+		</div>
+
+		<!-- tab6  瀹瑰櫒绫诲瀷-->
+		<div v-if="activeName == 'six'">
+			<div style="width: 400px; margin: 0 auto">
+				<el-form :model="ruleForm6" ref="ruleFormRef6" label-width="auto" :rules="rules6">
+					<el-row :gutter="35">
+						<el-form-item v-show="false">
+							<el-input v-model="ruleForm6.id" />
+						</el-form-item>
+						<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+							<el-form-item label="瀹瑰櫒绫诲瀷" prop="containerTypeId">
+								<el-select :disabled="title == '璇︽儏'" clearable v-model="ruleForm6.containerTypeId" placeholder="璇烽�夋嫨瀹瑰櫒绫诲瀷">
+									<el-option v-for="(item, index) in arrRqlx" :key="index" :value="item.id" :label="`[${item.code}] ${item.value}`"></el-option>
+								</el-select>
+							</el-form-item>
+						</el-col>
+						<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡绫诲瀷ID" prop="materialTypeId">
+							<el-select clearable v-model="ruleForm6.materialTypeId" placeholder="璇烽�夋嫨鐗╂枡绫诲瀷ID">
+								<el-option v-for="(item,index) in arr2"  :key="index" :value="item.code" :label="`[${item.code}] ${item.value}`"></el-option>
+								
+							</el-select>
+						</el-form-item>
+					</el-col> -->
+						<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+							<el-form-item label="鐗╂枡瀹瑰櫒瀹归噺" prop="boxQty">
+								<el-input-number min="1" :disabled="title == '璇︽儏'" v-model="ruleForm6.boxQty" :precision="0" placeholder="璇疯緭鍏ョ墿鏂欏鍣ㄥ閲�" clearable />
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-form>
+			</div>
+
+			<br />
+		</div>
+
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="closeDialog">鍙栨秷</el-button>
+				<el-button v-if="title != '璇︽儏'" type="primary" :disabled="loadingSub" @click="confirm"> 纭 </el-button>
+			</span>
+		</template>
+	</el-dialog>
+
+	<!--寮规 鏂板鐗╂枡-鏇夸唬鍝佺鐞� -->
+	<el-dialog v-model="dialogVisibleTdp" width="30%" @close="closeDialogTdp">
+		<template #header>
+			<div style="color: #fff">
+				<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+				<span>鏂板鐗╂枡-鏇夸唬鍝佺鐞�</span>
+			</div>
+		</template>
+
+		<el-form :model="addFormTdp" label-width="120px" ref="dialogRefTdp" :rules="formRulesTdp">
+			<el-row :gutter="35">
+				<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+					<el-form-item label="鏇夸唬鍝佺墿鏂欑紪鍙�" prop="substituteMaterialCode">
+						<!-- <el-select style="width:100%" clearable v-model="addFormTdp.substituteMaterialCode" placeholder="璇烽�夋嫨鏇夸唬鍝佺墿鏂欑紪鍙�">
+                <el-option v-for="(item, index) in arrTdp" :key="index" :value="item.materialCode"
+                  :label="`${item.materialCode}`"></el-option>
+              </el-select> -->
+
+						<el-select
+							v-model="addFormTdp.substituteMaterialCode"
+							filterable
+							remote
+							reserve-keyword
+							remote-show-suffix
+							:remote-method="remoteMethod"
+							:loading="loading"
+							placeholder="璇烽�夋嫨鏇夸唬鍝佺墿鏂欑紪鍙�"
+							clearable
+							style="width: 100%"
+							@change="changeXmbh(addFormTdp.substituteMaterialCode)"
+						>
+							<el-option v-for="(item, index) in arrTdp" :key="index" :value="item.materialCode" :label="`${item.materialCode}`"></el-option>
+						</el-select>
+					</el-form-item>
+				</el-col>
+				<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+					<el-form-item label="鏇夸唬娆″簭:" prop="substituteIndex">
+						<el-input v-model="addFormTdp.substituteIndex" clearable placeholder="璇疯緭鍏ユ浛浠f搴�" />
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="dialogVisibleTdp = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="confirmTdp">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+
+	<!--寮规 鎺у埗灞炴�� 瀹㈡埛鍒楄〃 -->
+	<el-dialog v-model="dialogVisiblePage" width="90%" @close="dialogVisiblePage == false">
+		<template #header>
+			<div style="color: #fff">
+				<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+				<span>鍒楄〃</span>
+			</div>
+		</template>
+
+		<!--  鎺у埗灞炴��-->
+		<div v-show="activeName == 'second'">
+			<ControlProp ref="controlRef"></ControlProp>
+		</div>
+
+		<!-- 寰�鏉ヤ紒涓� -->
+		<div v-show="activeName == 'five'">
+			<PageClient ref="clientRef"></PageClient>
+		</div>
+
+		<!-- 鎵规灞炴�� -->
+		<div v-show="activeName == 'third'">
+			<BatchProp ref="batchRef"></BatchProp>
+		</div>
+
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="dialogVisiblePage = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="confirmPage">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+</template>
+<script lang="ts" setup>
+import { reactive, ref, defineExpose, defineEmits, nextTick, computed, getCurrentInstance } from 'vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import type { TabsPaneContext } from 'element-plus';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import PageClient from './clientProp.vue';
+import BatchProp from './batchProp.vue';
+import ControlProp from './controlProp.vue';
+import { pageWmsMaterialType, deleteWmsMaterialType } from '/@/api/main/WmsBase/wmsMaterialType';
+import type { FormRules } from 'element-plus';
+import { pageWmsSubstituteGood } from '/@/api/main/WmsBase/wmsSubstituteGood';
+import { addWmsMaterial, detailWmsMaterial, pageWmsMaterial, updateWmsMaterial } from '/@/api/main/WmsBase/wmsMaterial';
+import { handleSlectDatawmsContainerType, handleSlectDatawmsUnit } from '/@/utils/selectData';
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+
+// 鏋氫妇---------
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+import { getAPI } from '/@/utils/axios-utils';
+const getEnumBatchRuleTypeData_Index = ref<any>([]);
+const getEnumAttrForamtData_Index = ref<any>([]);
+const getEnumAttrOptionData_Index = ref<any>([]);
+const getEnumInputControlData_Index = ref<any>([]);
+const getEnumPriorityData_Index = ref<any>([]);
+const getEnumRFShowData_Index = ref<any>([]);
+const getEnumIsDisabledData_Index = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+// 鏋氫妇---------
+
+const emits = defineEmits(['getTabelData']);
+const dialogFormVisible = ref(false);
+const widthProp = ref('90%');
+const isYuk = ref(false);
+const activeName = ref('first');
+//鐗╂枡鏄庣粏 - 璇︽儏鍒楄〃
+const deltailList3 = ref<any[]>([]);
+
+const deltailList4 = ref<any[]>([]);
+const deltailList5 = ref<any[]>([]);
+const title = ref('鏂板鍩虹鐗╂枡淇℃伅');
+const ruleForm1 = ref<any>({});
+const ruleForm2 = ref<any>({
+	id: '',
+	ruleName: '',
+	maxImumqty: '',
+	minImumqty: '',
+	safeImumqty: '',
+	minStorageAge: '',
+	maxStorageAge: '',
+	isNotChek: false,
+	shelfLifeDays: '',
+	isDisabled: false,
+});
+
+const ruleForm6 = ref<any>({});
+const rules6 = ref<FormRules>({
+	// containerTypeId: [
+	//   {required: true, message: '璇烽�夋嫨瀹瑰櫒绫诲瀷锛�', trigger: 'change',},],
+	// boxQty: [{required: true, message: '璇疯緭鍏ョ墿鏂欏鍣ㄥ閲忥紒', trigger: 'change',},],
+});
+
+//鑷娣诲姞鍏朵粬瑙勫垯
+const rules1 = ref<FormRules>({
+	materialName: [{ required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur' }],
+	materialCode: [{ required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur' }],
+	// erpCode: [{ required: true, message: '璇疯緭鍏RP缂栧彿锛�', trigger: 'blur', },],
+	materialType: [{ required: true, message: '璇烽�夋嫨鐗╂枡绫诲瀷锛�', trigger: 'change' }],
+	materialUnit: [{ required: true, message: '璇疯緭鍏ュ簱瀛樺崟浣嶏紒', trigger: 'blur' }],
+	poUnit: [{ required: true, message: '璇疯緭鍏ラ噰璐崟浣嶏紒', trigger: 'blur' }],
+	translateRate: [{ required: true, message: '璇疯緭鍏ユ崲绠楃巼锛�', trigger: 'blur' }],
+});
+
+//鏌ヨ
+const formModel = ref({
+	orderNo: '',
+	OrdersId: '',
+	isYuk: false,
+});
+const detailForm = ref({});
+
+const detailForm2 = ref({});
+const warehousOrderDetails = ref<any[]>([]);
+
+const dialogRef = ref();
+const loadingSub = ref(false);
+//娣诲姞鎻愪氦
+const confirm = async () => {
+	if (!ruleForm1.value.materialCode || !ruleForm1.value.materialName || !ruleForm1.value.materialType || !ruleForm1.value.materialUnit || !ruleForm1.value.poUnit) {
+		ElMessage.warning('璇锋鏌ュ繀濉」锛�');
+		return;
+	}
+	let SubstituteGoodList = deltailList4.value;
+
+
+	// SubstituteGoodList.forEach( (item:any) => {
+	//   item.materialName = this.form.getFieldValue('materialName')
+	//   item.materialCode = this.form.getFieldValue('materialCode')
+	// })
+	console.log('鏇夸唬鍝�');
+	let BaseCustomerList = deltailList5.value;
+	let a1: any = [];
+	BaseCustomerList.forEach((item: any) => {
+		a1.push(item.id);
+	});
+	console.log('寰�鏉ヤ紒涓氶泦鍚�');
+
+	var BatchRuleCode = ''; //鏂板鎵规灞炴��
+	if (deltailList3.value.length > 0) {
+		BatchRuleCode = deltailList3.value[0].ruleCode;
+	}
+	debugger;
+	// console.log( '鍖呰鍏崇郴')
+	// console.log(this.$refs.addFormContainerPackagingRef.list)
+	if (!ruleForm1.value.translateRate) {
+		ElMessage.warning('鎹㈢畻鐜囦笉鑳戒负绌轰笖澶т簬0锛�');
+		return;
+	}
+	var ContainerPackagingList:any = [];
+	// 瀹瑰櫒绫诲瀷
+	if (ruleForm6.value.containerTypeId) {
+		ContainerPackagingList = [
+			// 瀹瑰櫒绫诲瀷
+			{
+				containerTypeId: ruleForm6.value.containerTypeId||"",
+				boxQty: ruleForm6.value.boxQty,
+			},
+		];
+	}
+
+	if(ruleForm2.value.maxImumqty==0 ||  ruleForm2.value.safeImumqty==0 || ruleForm2.value.safeImumqty == 0){
+		ElMessage.warning('璇峰~鍐欏ぇ浜�0鐨勬暟閲忥紒');
+		return
+	}
+
+	if(ruleForm2.value.maxImumqty && ruleForm2.value.safeImumqty && ruleForm2.value.maxImumqty < ruleForm2.value.safeImumqty){
+		ElMessage.warning('鏈�楂樺簱瀛樺ぇ浜庡畨鍏ㄥ簱瀛橈紒');
+		return
+	}
+
+	if(ruleForm2.value.safeImumqty && ruleForm2.value.minImumqty && ruleForm2.value.safeImumqty < ruleForm2.value.minImumqty){
+		ElMessage.warning('瀹夊叏搴撳瓨澶т簬鏈�浣庡簱瀛橈紒');
+		return
+	}
+
+	if(ruleForm2.value.maxImumqty && ruleForm2.value.minImumqty && ruleForm2.value.maxImumqty < ruleForm2.value.minImumqty){
+		ElMessage.warning('鏈�楂樺簱瀛樺ぇ浜庢渶浣庡簱瀛橈紒');
+		return
+	}
+
+	if(ruleForm2.value.minStorageAge && ruleForm2.value.maxStorageAge && ruleForm2.value.minStorageAge > ruleForm2.value.maxStorageAge){
+		ElMessage.warning('鏈�灏忓簱榫勫皬浜庢渶澶у簱榫勶紒');
+		return
+	}
+
+	var param = {
+		MaterialInput: ruleForm1.value, //鍩烘湰淇℃伅
+		ControlRuleDetailInput:ruleForm2.value, //鎺у埗灞炴��
+		SubstituteGoodList: SubstituteGoodList, //鏇夸唬鍝�
+		BatchRuleCode: BatchRuleCode, //鏇夸唬鍝�
+		BaseCustomerList: a1, //寰�鏉ヤ紒涓氶泦鍚�
+		ContainerPackagingList: ContainerPackagingList,
+		// ContainerPackagingList: this.$refs.addFormContainerPackagingRef.list //鍖呰鍏崇郴
+	};
+
+
+	if (title.value == '鏂板') {
+		loadingSub.value = true;
+		let res = await addWmsMaterial(param);
+		if (res.data && res.data.code == 200) {
+			ElMessage.success('鏂板鎴愬姛');
+			dialogFormVisible.value = false;
+			closeDialog();
+			emits('getTabelData');
+		}
+		loadingSub.value = false;
+	} else if (title.value == '澶嶅埗') {
+		debugger;
+		loadingSub.value = true;
+		let res = await addWmsMaterial(param);
+		if (res.data && res.data.code == 200) {
+			ElMessage.success('澶嶅埗鎴愬姛');
+			dialogFormVisible.value = false;
+			closeDialog();
+			emits('getTabelData');
+		}
+		loadingSub.value = false;
+	} else {
+		// 缂栬緫鎴愬姛
+		loadingSub.value = true;
+		let res = await updateWmsMaterial(param);
+		if (res.data && res.data.code == 200) {
+			ElMessage.success('缂栬緫鎴愬姛');
+			dialogFormVisible.value = false;
+			closeDialog();
+			emits('getTabelData');
+		}
+		loadingSub.value = false;
+	}
+
+
+};
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+	warehousOrderDetails.value = [];
+};
+const closeDialog = () => {
+	dialogFormVisible.value = false;
+	deltailList3.value = [];
+	deltailList4.value = [];
+	deltailList5.value = [];
+	ruleForm1.value = {};
+	formModel.value = {
+		orderNo: '',
+		OrdersId: '',
+		isYuk: false,
+	};
+};
+
+const getChildList = (item?: any) => {
+	console.log('getChildList');
+};
+const getChildList3 = (item?: any) => {
+	console.log('getChildList');
+};
+const handleClick = (tab: TabsPaneContext, event: Event) => {
+	if (tab.props && tab.props.name && tab.props.name == 'second') {
+		// if (!detailForm.value.OrdersId) {
+		//   ElMessage.warning('鍗曟嵁id浼犲�煎け璐�');
+		//   return
+		// }
+		detailForm2.value.OrdersId = detailForm.value.OrdersId;
+		// getDetail2();
+	}
+};
+
+// 瀹㈡埛鍒楄〃
+const dialogVisiblePage = ref(false);
+
+const addLine = (param?: any) => {
+	if (param == '鎺у埗灞炴��') {
+		dialogVisiblePage.value = true;
+	}
+
+	if (param == '鏇夸唬鍝�') {
+		dialogVisibleTdp.value = true;
+	}
+
+	if (param == '寰�鏉ヤ紒涓�') {
+		dialogVisiblePage.value = true;
+	}
+
+	if (param == '鎵规灞炴��') {
+		dialogVisiblePage.value = true;
+	}
+};
+
+const deleteLine = (param?: any) => {
+	if (param == '鎵规灞炴��') {
+		deltailList3.value = [];
+	}
+	if (param == '瑙g粦閰嶇疆鎺у埗灞炴��') {
+		ruleForm2.value = {};
+		addForm2.value.id = '';
+	}
+};
+const confirmPage = async (param?: any) => {
+	// 鎺у埗灞炴��
+	if (activeName.value == 'second') {
+		let data2 = proxy.$refs['controlRef'].openADialog();
+		if (data2) {
+			var d2 = JSON.parse(JSON.stringify(data2))[0];
+
+			ruleForm2.value = d2;
+		}
+		addForm2.value = ruleForm2.value;
+	}
+
+	// 5寰�鏉ヤ紒涓�
+	if (activeName.value == 'five') {
+		let data5 = proxy.$refs['clientRef'].openADialog();
+		if (data5) {
+			data5 = JSON.parse(JSON.stringify(data5));
+			data5.forEach((item: any) => {
+				var arr1 = deltailList5.value.filter((v) => v.id == item.id);
+				if (arr1.length == 0) {
+					deltailList5.value.push(item);
+				}
+			});
+		}
+	}
+	// 3鎵规灞炴��
+	if (activeName.value == 'third') {
+		let data3 = proxy.$refs['batchRef'].openADialog();
+		debugger;
+		if (data3) {
+			data3 = JSON.parse(JSON.stringify(data3));
+			deltailList3.value = data3;
+		}
+		// 鏋氫妇---------
+		getEnumBatchRuleTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('BatchRuleEnum')).data.result ?? [];
+
+		getEnumAttrForamtData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AttrForamtEnum')).data.result ?? [];
+		getEnumAttrOptionData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AttrOptionEnum')).data.result ?? [];
+
+		setTimeout(async () => {
+			getEnumInputControlData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('InputControlEnum')).data.result ?? [];
+			getEnumPriorityData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PriorityEnum')).data.result ?? [];
+			getEnumRFShowData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+			getEnumIsDisabledData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+		}, 1000);
+		// 鏋氫妇---------
+	}
+
+	dialogVisiblePage.value = false;
+};
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm1 = ref({
+	createdTime: '',
+	updatedTime: '',
+	createdUserName: '',
+	createdUserId: '',
+	code: '',
+	quantity: 0,
+	Details: [],
+});
+
+//rules
+const formRules1 = {
+	// code: [{ required: true, message: "缂栧彿涓嶈兘涓虹┖", trigger: "blur" }]
+};
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm2 = ref({
+	createdTime: '',
+	updatedTime: '',
+	createdUserName: '',
+	createdUserId: '',
+	code: '',
+	quantity: 0,
+	Details: [],
+});
+
+//rules
+const formRules2 = {
+	// code: [{ required: true, message: "缂栧彿涓嶈兘涓虹┖", trigger: "blur" }]
+};
+
+//鎵归噺鍒犻櫎
+const itemDelete = (record: any, index: any) => {
+	const handleArr: number[] = [];
+	// checkRows.value.forEach(item => {
+	//   handleArr.push(item.id);
+	// })
+	const obj = { id: handleArr };
+	ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			if (activeName.value == 'five') {
+				var index = deltailList5.value.findIndex((v) => v.id == record.id);
+				deltailList5.value.splice(index, 1);
+			} else {
+				var index = deltailList4.value.findIndex((v) => v.substituteMaterialCode == record.substituteMaterialCode);
+				deltailList4.value.splice(index, 1);
+			}
+		})
+		.catch(() => {
+			ElMessage.info('宸插彇娑堝垹闄�');
+		});
+};
+
+//鎵规灞炴�� - 鎵归噺鍒犻櫎
+const itemDelete3 = (record: any, index: any) => {
+	const handleArr: number[] = [];
+	// checkRows.value.forEach(item => {
+	//   handleArr.push(item.id);
+	// })
+	const obj = { id: handleArr };
+	ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			var index = deltailList3.value.findIndex((v) => v.id == record.id);
+			deltailList5.value.splice(index, 1);
+
+			// if (activeName.value == 'five') {
+			//   var index = deltailList5.value.findIndex(v => v.id == record.id)
+			//   deltailList5.value.splice(index, 1)
+			// } else {
+			//   var index = deltailList4.value.findIndex(v => v.substituteMaterialCode == record.substituteMaterialCode)
+			//   deltailList4.value.splice(index, 1)
+			// }
+		})
+		.catch(() => {
+			ElMessage.info('宸插彇娑堝垹闄�');
+		});
+};
+
+//-----------------------------鏂板鐗╂枡-鏇夸唬鍝佺鐞�-------------------
+const dialogTypeTdp = ref('add');
+const dialogVisibleTdp = ref(false);
+const statusEnum_another: any[] = [
+	{
+		title: '姝e父',
+		value: 0,
+	},
+	{
+		title: '鍋滅敤',
+		value: 1,
+	},
+];
+
+//鎿嶄綔琛ㄥ崟ref
+const dialogRefTdp = ref();
+
+//娣诲姞/缂栬緫
+let addFormTdp = ref({
+	substituteMaterialCode: '',
+	substituteIndex: '',
+});
+
+//rules
+const formRulesTdp = {
+	substituteMaterialCode: [{ required: true, message: '璇烽�夋嫨鏇夸唬鍝佺墿鏂欑紪鍙凤紒', trigger: 'change' }],
+	substituteIndex: [{ required: true, message: '璇疯緭鍏ユ浛浠f搴忥紒', trigger: 'blur' }],
+};
+
+//鎿嶄綔鎻愪氦
+const confirmTdp = () => {
+	dialogRefTdp.value.validate((vali: any) => {
+		if (vali) {
+			if (addFormTdp.value.substituteMaterialCode == ruleForm1.value.materialCode) {
+				ElMessage.warning('涓嶈兘鏇夸唬鑷繁锛�');
+				return;
+			}
+			var idx = deltailList4.value.findIndex((v) => v.substituteMaterialCode == addFormTdp.value.substituteMaterialCode);
+			if (idx > -1) {
+				ElMessage.warning('鐗╂枡閲嶅锛�');
+				return;
+			}
+
+			var idxsubstituteIndex = deltailList4.value.findIndex((v) => v.substituteIndex == addFormTdp.value.substituteIndex);
+			if (idxsubstituteIndex > -1) {
+				ElMessage.warning('鏇夸唬娆″簭閲嶅锛�');
+				return;
+			}
+
+			//娣诲姞
+			deltailList4.value.push(addFormTdp.value);
+			dialogVisibleTdp.value = false;
+			if (dialogTypeTdp.value == 'add') {
+				// addWarsehouseType(addForm.value).then(res => {
+				//   if(res.code == 200) {
+				//     ElMessage.success('娣诲姞鎴愬姛');
+				//     getTabelData();
+				//     dialogVisible.value = false;
+				//   }else {
+				//
+				//   }
+				// }).catch(err => {
+				//   console.log(err)
+				// })
+			} else {
+				// editWarsehouseType(addForm.value).then(res => {
+				//   if(res.code == 200) {
+				//     ElMessage.success('缂栬緫鎴愬姛');
+				//     getTabelData();
+				//     dialogVisible.value = false;
+				//   }else {
+				//
+				//   }
+				// }).catch(err => {
+				//   console.log(err)
+				// })
+			}
+		} else {
+			ElMessage.warning('琛ㄥ崟楠岃瘉澶辫触');
+		}
+	});
+};
+
+//鍏抽棴绐楀彛
+const closeDialogTdp = () => {
+	addFormTdp.value = {
+		name: '',
+		remarks: '',
+		status: '',
+		id: '',
+	};
+};
+//----------------------------- end 鏂板鐗╂枡-鏇夸唬鍝佺鐞�-------------------
+const arrW = ref<any[]>([]);
+
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+	page: 1,
+	pageSize: 100000,
+	total: 0,
+	IsDisabled: false,
+});
+
+//鐗╂枡绫诲瀷
+const handleQueryW = async () => {
+	var res = await pageWmsMaterialType(Object.assign(queryParamsW.value, tableParamsW.value));
+
+	arrW.value = res.data.result?.items ?? [];
+	// tableData.value = res.data.result?.items ?? [];
+	// tableParams.value.total = res.data.result?.total;
+	// loading.value = false;
+};
+
+const getEnumColorData_Index = ref<any>([]); //涓嬫媺璇诲彇鎺ュ彛
+const getEnumABCClassData_Index = ref<any>([]);
+let arrDw: any = ref(''); //涓嬫媺璇诲彇鎺ュ彛
+let arrRqlx: any = ref(''); //涓嬫媺璇诲彇鎺ュ彛
+
+const openADialog = async (param?: any, item?: any) => {
+	getEnumColorData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('ColorEnum')).data.result ?? [];
+
+	getEnumABCClassData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('ABCClassEnum')).data.result ?? [];
+
+	handleQueryW(); //鐗╂枡绫诲瀷
+	title.value = param;
+	dialogFormVisible.value = true;
+	warehousOrderDetails.value = [];
+	deltailList4.value = [];
+	deltailList5.value = [];
+	ruleForm1.value = {};
+	ruleForm2.value = {};
+	ruleForm6.value = {};
+
+	// formModel.value.orderNo = item.orderNo
+	// formModel.value.OrdersId = item.id
+	if (param != '鏂板') {
+		let dataRes = (await detailWmsMaterial(item.id)).data.result;
+		if (dataRes) {
+			ruleForm1.value = dataRes.materialInfo;
+			if (dataRes.controlRuleDetailList && dataRes.controlRuleDetailList[0]) {
+				var d2 = dataRes.controlRuleDetailList[0];
+		
+				ruleForm2.value = d2;
+			}
+			deltailList5.value = dataRes.baseCustomerList;
+			deltailList4.value = dataRes.substituteGoodList;
+
+			var items = dataRes.batchRuleDetailList;
+			debugger;
+
+			if (items.length > 0) {
+				deltailList3.value = [
+					{
+						ruleCode: items[0].ruleCode,
+						ruleName: items[0].ruleName,
+						children: [...items],
+					},
+				];
+			} else {
+				deltailList3.value = [];
+			}
+
+			// 瀹瑰櫒绫诲瀷
+			if (dataRes.containerPackagingList && dataRes.containerPackagingList[0]) {
+				ruleForm6.value.containerTypeId = dataRes.containerPackagingList[0].containerTypeId;
+				ruleForm6.value.boxQty = dataRes.containerPackagingList[0].boxQty;
+			}
+
+			// 鏋氫妇---------
+			getEnumBatchRuleTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('BatchRuleEnum')).data.result ?? [];
+			getEnumAttrForamtData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AttrForamtEnum')).data.result ?? [];
+			getEnumAttrOptionData_Index.value = getEnumAttrForamtData_Index.value;
+			setTimeout(async () => {
+				getEnumInputControlData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('InputControlEnum')).data.result ?? [];
+				getEnumPriorityData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PriorityEnum')).data.result ?? [];
+				getEnumRFShowData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+				getEnumIsDisabledData_Index.value = getEnumRFShowData_Index.value;
+			}, 1000);
+			// 鏋氫妇---------
+		}
+	}
+
+	// getTabelData()
+	//娓呴櫎琛ㄥ崟鐨勬牎楠�
+	nextTick(async () => {
+		arrDw.value = await handleSlectDatawmsUnit(); //涓嬫媺璇诲彇鎺�
+		arrRqlx.value = await handleSlectDatawmsContainerType(); //涓嬫媺璇诲彇鎺�
+	});
+};
+
+//================
+const arrTdp = ref<any[]>([]);
+
+//鏇夸唬鍝�
+const handleQueryTdp = async () => {
+	var res = await pageWmsMaterial(Object.assign(queryParamsW.value, tableParamsW.value));
+	arrTdp.value = res.data.result?.items ?? [];
+	// tableData.value = res.data.result?.items ?? [];
+	// tableParams.value.total = res.data.result?.total;
+	// loading.value = false;
+};
+handleQueryTdp();
+
+const loading = ref(false);
+const changeXmbh = async (query?: any) => {
+	loading.value = true;
+	var res = await pageWmsMaterial({
+		page: 1,
+		pageSize: 200,
+		materialCode: query,
+	});
+	loading.value = false;
+	arrTdp.value = res.data.result?.items ?? [];
+};
+
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+
+const remoteMethod = async (query: string) => {
+	loading.value = true;
+	var res = await pageWmsMaterial({
+		page: 1,
+		pageSize: 200,
+		materialCode: query,
+	});
+	loading.value = false;
+	arrTdp.value = res.data.result?.items ?? [];
+};
+
+// 鏆撮湶鏂规硶
+defineExpose({ openADialog });
+</script>
+<style lang="less" scoped>
+.tipsWp {
+	margin: o auto;
+	margin-top: 3%;
+	margin-bottom: 3%;
+	display: block;
+	text-align: center;
+}
+
+.isYukBox {
+	margin: 10px;
+	text-align: right;
+}
+
+.el-dialog__title {
+	color: white !important;
+}
+
+.addHover {
+	cursor: pointer;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterialCustomer/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterialCustomer/component/editDialog.vue
new file mode 100644
index 0000000..afbc10b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterialCustomer/component/editDialog.vue
@@ -0,0 +1,120 @@
+锘�<template>
+	<div class="wmsMaterialCustomer-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsMaterialCustomer, updateWmsMaterialCustomer, detailWmsMaterialCustomer } from "/@/api/main/WmsBase/wmsMaterialCustomer";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		materialId: [{required: true, message: '璇疯緭鍏ョ墿鏂橧D锛�', trigger: 'blur',},],
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		custId: [{required: true, message: '璇疯緭鍏ュ鎴稩D锛�', trigger: 'blur',},],
+		custCode: [{required: true, message: '璇疯緭鍏ュ鎴风紪鍙凤紒', trigger: 'blur',},],
+		custChinaName: [{required: true, message: '璇疯緭鍏ヤ腑鏂囧悕绉帮紒', trigger: 'blur',},],
+	});
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsMaterialCustomer(rowData.id)).data.result;
+		else
+			ruleForm.value = rowData;
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addWmsMaterialCustomer(values);
+				} else {
+					await updateWmsMaterialCustomer(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterialCustomer/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterialCustomer/index.vue
new file mode 100644
index 0000000..9d14b86
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterialCustomer/index.vue
@@ -0,0 +1,214 @@
+锘�<template>
+  <div class="wmsMaterialCustomer-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="璇疯緭鍏ユā绯婃煡璇㈠叧閿瓧"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParams.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="瀹㈡埛缂栧彿">
+              <el-input v-model="queryParams.custCode" clearable="" placeholder="璇疯緭鍏ョ紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鑻辨枃鍚嶇О">
+              <el-input v-model="queryParams.custEnglishName" clearable="" placeholder="璇疯緭鍏ヨ嫳鏂囧悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="涓枃鍚嶇О">
+              <el-input v-model="queryParams.custChinaName" clearable="" placeholder="璇疯緭鍏ヤ腑鏂囧悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" v-auth="'wmsMaterialCustomer:page'"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsMaterialCustomer" v-auth="'wmsMaterialCustomer:add'"> 鏂板 </el-button>
+                
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+				:data="tableData"
+				style="width: 100%"
+				v-loading="loading"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="custCode" label="瀹㈡埛缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="custEnglishName" label="鑻辨枃鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="custChinaName" label="涓枃鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip=""/>
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsMaterialCustomer:update') || auth('wmsMaterialCustomer:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsMaterialCustomer(scope.row)" v-auth="'wmsMaterialCustomer:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsMaterialCustomer(scope.row)" v-auth="'wmsMaterialCustomer:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialog
+        ref="printDialogRef"
+        :title="printWmsMaterialCustomerTitle"
+        @reloadTable="handleQuery" />
+      <editDialog
+        ref="editDialogRef"
+        :title="editWmsMaterialCustomerTitle"
+        @reloadTable="handleQuery"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsMaterialCustomer">
+  import { ref } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate } from '/@/utils/formatTime';
+
+
+  import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialog from '/@/views/main/WmsBase/wmsMaterialCustomer/component/editDialog.vue'
+  import { pageWmsMaterialCustomer, deleteWmsMaterialCustomer } from '/@/api/main/WmsBase/wmsMaterialCustomer';
+
+
+  const showAdvanceQueryUI = ref(false);
+  const printDialogRef = ref();
+  const editDialogRef = ref();
+  const loading = ref(false);
+  const tableData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsMaterialCustomerTitle = ref("");
+  const editWmsMaterialCustomerTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI = () => {
+    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+  }
+  
+
+  // 鏌ヨ鎿嶄綔
+  const handleQuery = async () => {
+    loading.value = true;
+    var res = await pageWmsMaterialCustomer(Object.assign(queryParams.value, tableParams.value));
+    tableData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+    loading.value = false;
+  };
+
+  // 鍒楁帓搴�
+  const sortChange = async (column: any) => {
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
+  };
+
+  // 鎵撳紑鏂板椤甸潰
+  const openAddWmsMaterialCustomer = () => {
+    editWmsMaterialCustomerTitle.value = '娣诲姞鐗╂枡瀹㈡埛鍏崇郴';
+    editDialogRef.value.openDialog({});
+  };
+
+  // 鎵撳紑鎵撳嵃椤甸潰
+  const openPrintWmsMaterialCustomer = async (row: any) => {
+    printWmsMaterialCustomerTitle.value = '鎵撳嵃鐗╂枡瀹㈡埛鍏崇郴';
+  }
+  
+  // 鎵撳紑缂栬緫椤甸潰
+  const openEditWmsMaterialCustomer = (row: any) => {
+    editWmsMaterialCustomerTitle.value = '缂栬緫鐗╂枡瀹㈡埛鍏崇郴';
+    editDialogRef.value.openDialog(row);
+  };
+
+  // 鍒犻櫎
+  const delWmsMaterialCustomer = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    var  ret =  await deleteWmsMaterialCustomer(row);
+    if(ret.data.type=="success"){
+      handleQuery();
+      ElMessage.success("鍒犻櫎鎴愬姛");
+    }
+    
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉椤甸潰瀹归噺
+  const handleSizeChange = (val: number) => {
+    tableParams.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉椤电爜搴忓彿
+  const handleCurrentChange = (val: number) => {
+    tableParams.value.page = val;
+    handleQuery();
+  };
+
+  handleQuery();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterialType/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterialType/component/editDialog.vue
new file mode 100644
index 0000000..d307346
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterialType/component/editDialog.vue
@@ -0,0 +1,145 @@
+锘�<template>
+	<div class="wmsMaterialType-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绫诲瀷缂栧彿" prop="materialTypeCode">
+							<el-input v-model="ruleForm.materialTypeCode" placeholder="璇疯緭鍏ョ被鍨嬬紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绫诲瀷鍚嶇О" prop="materialTypeName">
+							<el-input v-model="ruleForm.materialTypeName" placeholder="璇疯緭鍏ョ被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="绫诲瀷鎻忚堪" prop="materialTypeDescr">
+							<el-input v-model="ruleForm.materialTypeDescr" placeholder="璇疯緭鍏ョ被鍨嬫弿杩�" type="textarea" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsMaterialType, updateWmsMaterialType, detailWmsMaterialType } from "/@/api/main/WmsBase/wmsMaterialType";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		materialTypeCode: [{required: true, message: '璇疯緭鍏ョ被鍨嬬紪鍙凤紒', trigger: 'blur',},],
+		materialTypeName: [{required: true, message: '璇疯緭鍏ョ被鍨嬪悕绉帮紒', trigger: 'blur',},],
+	});
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsMaterialType(rowData.id)).data.result;
+		else
+			ruleForm.value = rowData;
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addWmsMaterialType(values);
+				} else {
+					await updateWmsMaterialType(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterialType/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterialType/index.vue
new file mode 100644
index 0000000..3804890
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsMaterialType/index.vue
@@ -0,0 +1,214 @@
+<template>
+  <div class="wmsMaterialType-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="绫诲瀷缂栧彿,绫诲瀷鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="绫诲瀷缂栧彿">
+              <el-input v-model="queryParams.materialTypeCode" clearable="" placeholder="璇疯緭鍏ョ被鍨嬬紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+		  <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+		  		    <el-form-item label="鏄惁绂佺敤">
+		  		      <el-select clearable="" v-model="queryParams.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+		  		        <el-option v-for="(item,index) in getIsDisabledData" :key="index" :value="item.value" :label="`${item.text}`" />
+		  		        
+		  		      </el-select>
+		  		      
+		  		    </el-form-item>
+		  		  </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="绫诲瀷鍚嶇О">
+              <el-input v-model="queryParams.materialTypeName" clearable="" placeholder="璇疯緭鍏ョ被鍨嬪悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" v-auth="'wmsMaterialType:page'"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsMaterialType" v-auth="'wmsMaterialType:add'"> 鏂板 </el-button>
+                
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+				:data="tableData"
+				style="width: 100%"
+				v-loading="loading"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="materialTypeCode" label="绫诲瀷缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialTypeName" label="绫诲瀷鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="materialTypeDescr" label="绫诲瀷鎻忚堪"  show-overflow-tooltip="" />
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip=""/>
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsMaterialType:update') || auth('wmsMaterialType:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsMaterialType(scope.row)" v-auth="'wmsMaterialType:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsMaterialType(scope.row)" v-auth="'wmsMaterialType:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialog
+        ref="printDialogRef"
+        :title="printWmsMaterialTypeTitle"
+        @reloadTable="handleQuery" />
+      <editDialog
+        ref="editDialogRef"
+        :title="editWmsMaterialTypeTitle"
+        @reloadTable="handleQuery"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsMaterialType">
+  import { ref } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate } from '/@/utils/formatTime';
+
+
+  import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialog from '/@/views/main/WmsBase/wmsMaterialType/component/editDialog.vue'
+  import { pageWmsMaterialType, deleteWmsMaterialType } from '/@/api/main/WmsBase/wmsMaterialType';
+
+
+  const showAdvanceQueryUI = ref(false);
+  const printDialogRef = ref();
+  const editDialogRef = ref();
+  const loading = ref(false);
+  const tableData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+  const getIsDisabledData = [{
+	  "value":true,"text":"鏄�"
+  },{
+	  "value":false,"text":"鍚�"
+  }]
+  const printWmsMaterialTypeTitle = ref("");
+  const editWmsMaterialTypeTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI = () => {
+    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+  }
+  
+
+  // 鏌ヨ鎿嶄綔
+  const handleQuery = async () => {
+    loading.value = true;
+    var res = await pageWmsMaterialType(Object.assign(queryParams.value, tableParams.value));
+    tableData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+    loading.value = false;
+  };
+
+  // 鍒楁帓搴�
+  const sortChange = async (column: any) => {
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
+  };
+
+  // 鎵撳紑鏂板椤甸潰
+  const openAddWmsMaterialType = () => {
+    editWmsMaterialTypeTitle.value = '娣诲姞鐗╂枡绫诲瀷';
+    editDialogRef.value.openDialog({});
+  };
+
+  // 鎵撳紑鎵撳嵃椤甸潰
+  const openPrintWmsMaterialType = async (row: any) => {
+    printWmsMaterialTypeTitle.value = '鎵撳嵃鐗╂枡绫诲瀷';
+  }
+  
+  // 鎵撳紑缂栬緫椤甸潰
+  const openEditWmsMaterialType = (row: any) => {
+    editWmsMaterialTypeTitle.value = '缂栬緫鐗╂枡绫诲瀷';
+    editDialogRef.value.openDialog(row);
+  };
+
+  // 鍒犻櫎
+  const delWmsMaterialType = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+   var  ret = await deleteWmsMaterialType(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+        handleQuery();
+	  }
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉椤甸潰瀹归噺
+  const handleSizeChange = (val: number) => {
+    tableParams.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉椤电爜搴忓彿
+  const handleCurrentChange = (val: number) => {
+    tableParams.value.page = val;
+    handleQuery();
+  };
+
+  handleQuery();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsPlace/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsPlace/component/editDialog.vue
new file mode 100644
index 0000000..786416d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsPlace/component/editDialog.vue
@@ -0,0 +1,354 @@
+锘�<template>
+	<div class="wmsPlace-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅缂栧彿" prop="placeCode">
+							<el-input v-model="ruleForm.placeCode" :disabled="props.title=='缂栬緫搴撲綅淇℃伅'" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅鍚嶇О" prop="placeName">
+							<el-input v-model="ruleForm.placeName" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅鍒悕" prop="placeAlias">
+							<el-input v-model="ruleForm.placeAlias" placeholder="璇疯緭鍏ュ簱浣嶅埆鍚�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅绫诲瀷" prop="placeType">
+							<el-select clearable v-model="ruleForm.placeType" placeholder="璇烽�夋嫨搴撲綅绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumPlaceTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀛樻斁鍗曚綅" prop="stockUnit">
+							<el-select clearable v-model="ruleForm.stockUnit" placeholder="璇烽�夋嫨瀛樻斁鍗曚綅">
+								<el-option v-for="(item,index) in  getEnumStockUnitData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅灞炴��" prop="placeStatus">
+							<el-select clearable v-model="ruleForm.placeStatus" placeholder="璇烽�夋嫨搴撲綅灞炴��">
+								<el-option v-for="(item,index) in  getEnumPlaceStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁婵�娲讳笌浠诲姟璋冨害" prop="isActivateWCS">
+							<el-switch v-model="ruleForm.isActivateWCS" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col> -->
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳瓨鐜" prop="environment">
+							<el-input v-model="ruleForm.environment" placeholder="璇疯緭鍏ュ簱瀛樼幆澧�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵�鍦ㄥ簱鍖�" prop="areaId">
+							<el-select clearable v-model="ruleForm.areaId" placeholder="璇烽�夋嫨鎵�鍦ㄥ簱鍖�">
+								<el-option v-for="(item,index) in arr1"  :key="index" :value="item.id" :label="`[${item.code}] ${item.value}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="妫�楠岀爜" prop="verificationCode">
+							<el-input v-model="ruleForm.verificationCode" placeholder="璇疯緭鍏ユ楠岀爜" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col> -->
+						<!-- 鍘熸潗鏂欏簱娌℃湁娑夊強 鎺� 鍒� 灞� 宸烽亾 update by liuwq-->
+					 <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎺�" prop="rowNo">
+							<el-input-number :min="1" :precision="0" v-model="ruleForm.rowNo" placeholder="璇疯緭鍏ユ帓" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍒�" prop="columnNo">
+							<el-input-number :min="1" :precision="0" v-model="ruleForm.columnNo" placeholder="璇疯緭鍏ュ垪" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="灞�" prop="layerNo">
+							<el-input-number :min="1" :precision="0" v-model="ruleForm.layerNo" placeholder="璇疯緭鍏ュ眰" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸烽亾" prop="laneNo">
+							<el-input-number :min="1" :precision="0" v-model="ruleForm.laneNo" placeholder="璇疯緭鍏ュ贩閬�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅X鍧愭爣" prop="xzb">
+							<el-input v-model="ruleForm.xzb" placeholder="璇疯緭鍏ュ簱浣峏鍧愭爣" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅Y鍧愭爣" prop="yzb">
+							<el-input v-model="ruleForm.yzb" placeholder="璇疯緭鍏ュ簱浣峐鍧愭爣" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅Z鍧愭爣" prop="zzb">
+							<el-input  v-model="ruleForm.zzb" placeholder="璇疯緭鍏ュ簱浣峑鍧愭爣" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅闀垮害" prop="length">
+							<el-input-number :min="0" :precision="3" v-model="ruleForm.length" placeholder="璇疯緭鍏ュ簱浣嶉暱搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅瀹藉害" prop="width">
+							<el-input-number :min="0" :precision="3" v-model="ruleForm.width" placeholder="璇疯緭鍏ュ簱浣嶅搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅楂樺害" prop="height">
+							<el-input-number :min="0" :precision="3" v-model="ruleForm.height" placeholder="璇疯緭鍏ュ簱浣嶉珮搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏈�澶ф壙閲�" prop="maxWeight">
+							<el-input-number :min="0" :precision="3" v-model="ruleForm.maxWeight" placeholder="璇疯緭鍏ユ渶澶ф壙閲�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓婃灦椤哄簭" prop="inSequence">
+							<el-input-number :min="0" :precision="0" v-model="ruleForm.inSequence" placeholder="璇疯緭鍏ヤ笂鏋堕『搴�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓嬫灦椤哄簭" prop="outSequence">
+							<el-input-number :min="0" :precision="0" v-model="ruleForm.outSequence" placeholder="璇疯緭鍏ヤ笅鏋堕『搴�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="缁戝畾瀹瑰櫒鏁�" prop="bindContainerCount">
+							<el-input-number :min="0" :precision="0" v-model="ruleForm.bindContainerCount" placeholder="璇疯緭鍏ョ粦瀹氬鍣ㄦ暟" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁铏氭嫙" prop="isVirtually">
+							<el-switch v-model="ruleForm.isVirtually" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted, nextTick } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsPlace, updateWmsPlace, detailWmsPlace } from "/@/api/main/WmsBase/wmsPlace";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+	import { handleSlectDataWmsArea } from "/@/utils/selectData";
+
+	const getEnumPlaceTypeData = ref<any>([]);
+	const getEnumStockUnitData = ref<any>([]);
+	const getEnumPlaceStatusData = ref<any>([]);
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref({
+	
+	});
+	const isShowDialog = ref(false);
+	const isEditDialog = ref(false);//鏄惁鏄紪杈�
+	const ruleForm = ref<any>({
+
+		stockUnit:2//榛樿閫夋嫨 鎵樼洏
+	});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		placeCode: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鍙凤紒', trigger: 'blur',},],
+		placeName: [{required: true, message: '璇疯緭鍏ュ簱浣嶅悕绉帮紒', trigger: 'blur',},],
+		areaId: [{required: true, message: '璇烽�夋嫨鎵�鍦ㄥ簱鍖猴紒', trigger: 'change',},],
+		placeType: [{required: true, message: '璇烽�夋嫨搴撲綅绫诲瀷锛�', trigger: 'change',},],
+		// stockUnit: [{required: true, message: '璇烽�夋嫨瀛樻斁鍗曚綅锛�', trigger: 'change',},],
+		placeStatus: [{required: true, message: '璇烽�夋嫨搴撲綅灞炴�э紒', trigger: 'change',},],
+
+		// rowNo: [{required: true, message: '璇疯緭鍏ユ帓锛�', trigger: 'blur',},],
+		// columnNo: [{required: true, message: '璇疯緭鍏ュ垪锛�', trigger: 'blur',},],
+		// layerNo: [{required: true, message: '璇疯緭鍏ュ眰锛�', trigger: 'blur',},],
+		// laneNo: [{required: true, message: '璇疯緭鍏ュ贩閬擄紒', trigger: 'blur',},],
+		// length: [{required: true, message: '璇疯緭鍏ュ簱浣嶉暱搴︼紒', trigger: 'blur',},],
+		// width: [{required: true, message: '璇疯緭鍏ュ簱浣嶅搴︼紒', trigger: 'blur',},],
+		// height: [{required: true, message: '璇疯緭鍏ュ簱浣嶉珮搴︼紒', trigger: 'blur',},],
+		// maxWeight: [{required: true, message: '璇疯緭鍏ユ渶澶ф壙閲嶏紒', trigger: 'blur',},],
+	});
+	let arr1:any =ref("") //涓嬫媺璇诲彇鎺ュ彛
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		console.log('row',row)
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id){
+			isEditDialog.value = true;
+			ruleForm.value = (await detailWmsPlace(rowData.id)).data.result;
+		}
+		else{
+			ruleForm.value = rowData;
+			ruleForm.value.bindContainerCount = 1; 
+			isEditDialog.value = false;
+		}
+
+		isShowDialog.value = true;
+		ruleForm.value.stockUnit = 2 
+		nextTick(async () => {
+		arr1.value = await handleSlectDataWmsArea(); //涓嬫媺璇诲彇鎺ュ彛
+	});
+
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (props.title=='缂栬緫搴撲綅淇℃伅') {
+					await updateWmsPlace(values);
+				} else {
+					await addWmsPlace(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumPlaceTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceTypeEnum')).data.result ?? [];
+			getEnumStockUnitData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockUnitEnum')).data.result ?? [];
+			getEnumPlaceStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceStatusEnum')).data.result ?? [];
+		});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsPlace/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsPlace/index.vue
new file mode 100644
index 0000000..6b05a06
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsPlace/index.vue
@@ -0,0 +1,422 @@
+<template>
+  <div class="wmsPlace-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="搴撲綅缂栧彿,搴撲綅鍚嶇О,搴撲綅鍒悕"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="搴撲綅缂栧彿">
+              <el-input v-model="queryParams.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="搴撲綅鍚嶇О">
+              <el-input v-model="queryParams.placeName" clearable="" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="搴撲綅鍒悕">
+              <el-input v-model="queryParams.placeAlias" clearable="" placeholder="璇疯緭鍏ュ簱浣嶅埆鍚�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="搴撲綅绫诲瀷">
+              <el-select clearable="" v-model="queryParams.placeType" placeholder="璇烽�夋嫨搴撲綅绫诲瀷">
+                <el-option v-for="(item,index) in getEnumPlaceTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="瀛樻斁鍗曚綅">
+              <el-select clearable="" v-model="queryParams.stockUnit" placeholder="璇烽�夋嫨瀛樻斁鍗曚綅">
+                <el-option v-for="(item,index) in getEnumStockUnitData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="搴撲綅灞炴��">
+              <el-select clearable="" v-model="queryParams.placeStatus" placeholder="璇烽�夋嫨搴撲綅灞炴��">
+                <el-option v-for="(item,index) in getEnumPlaceStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鎵�鍦ㄥ簱鍖�">
+              <el-select clearable="" v-model="queryParams.areaId" placeholder="璇烽�夋嫨鎵�鍦ㄥ簱鍖�">
+                <el-option v-for="(item,index) in arr1" :key="index" :value="item.id" :label="`[${item.code}] ${item.value}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+		  <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+		  		    <el-form-item label="鏄惁绂佺敤">
+		  		      <el-select clearable="" v-model="queryParams.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+		  		        <el-option v-for="(item,index) in getIsDisabledData" :key="index" :value="item.value" :label="`${item.text}`" />
+		  		        
+		  		      </el-select>
+		  		      
+		  		    </el-form-item>
+		  		  </el-col>
+            <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+		  		    <el-form-item label="鏄惁铏氭嫙">
+		  		      <el-select clearable="" v-model="queryParams.isVirtually" placeholder="璇烽�夋嫨鏄惁铏氭嫙">
+		  		        <el-option v-for="(item,index) in getIsDisabledData" :key="index" :value="item.value" :label="`${item.text}`" />
+		  		        
+		  		      </el-select>
+		  		      
+		  		    </el-form-item>
+		  		  </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" v-auth="'wmsPlace:page'"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsPlace" v-auth="'wmsPlace:add'"> 鏂板 </el-button>
+            <!--   <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" > 瀵煎叆 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download"  > 瀵煎嚭 </el-button> -->
+				<el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelWmsPlace"  v-auth="'wmsPlace:importExcel'" > 瀵煎叆 </el-button>
+				<el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsPlace"  v-auth="'wmsPlace:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+	         ref="tableRefWmsPlace"
+				:data="tableData"
+				style="width: 100%"
+				v-loading="loading"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="placeCode"  width="200" label="搴撲綅缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="placeName"   width="200"label="搴撲綅鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="placeAlias"  width="120" label="搴撲綅鍒悕"  show-overflow-tooltip="" />
+          <el-table-column prop="placeType" label="搴撲綅绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.placeType, getEnumPlaceTypeData_Index)}}
+              <!-- <el-tag></el-tag> -->
+            </template>
+          </el-table-column>
+        <!-- <el-table-column prop="placeTypeName" label="搴撲綅绫诲瀷鍚嶇О"  show-overflow-tooltip="" /> -->
+          <!-- <el-table-column prop="stockUnit" label="瀛樻斁鍗曚綅"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.stockUnit, getEnumStockUnitData_Index)}}
+            </template>
+          </el-table-column> -->
+          <el-table-column prop="placeStatus" label="搴撲綅灞炴��"  show-overflow-tooltip="" >
+            
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.placeStatus, getEnumPlaceStatusData_Index)}}
+              <!-- <el-tag></el-tag> -->
+            </template>
+          </el-table-column>
+          <el-table-column prop="isVirtually" label="鏄惁铏氭嫙"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isVirtually"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <!-- <el-table-column prop="isActivateWCS" min-width="130px"  label="鏄惁婵�娲讳笌浠诲姟璋冨害"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isActivateWCS"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column> -->
+        <!-- <el-table-column prop="environment" label="搴撳瓨鐜"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="areaCode"  width="100"  label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+          <el-table-column prop="areaName" label="鎵�鍦ㄥ簱鍖�"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{  scope.row.areaName }}
+            </template>
+          </el-table-column>
+        <!-- <el-table-column prop="areaName" label="搴撳尯鍚嶇О"  show-overflow-tooltip="" /> -->
+        <!-- <el-table-column prop="verificationCode" label="妫�楠岀爜"  show-overflow-tooltip="" /> -->
+      <el-table-column prop="rowNo" label="鎺�"  show-overflow-tooltip="" />
+        <el-table-column prop="columnNo" label="鍒�"  show-overflow-tooltip="" />
+        <el-table-column prop="layerNo" label="灞�"  show-overflow-tooltip="" /> 
+        <el-table-column prop="laneNo" label="宸烽亾"  show-overflow-tooltip="" />
+        <el-table-column prop="xzb" label="搴撲綅X鍧愭爣"  show-overflow-tooltip="" />
+        <el-table-column prop="yzb" label="搴撲綅Y鍧愭爣"  show-overflow-tooltip="" />
+        <el-table-column prop="zzb" label="搴撲綅Z鍧愭爣"  show-overflow-tooltip="" />
+        <el-table-column prop="length" label="搴撲綅闀垮害"  show-overflow-tooltip="" />
+        <el-table-column prop="width" label="搴撲綅瀹藉害"  show-overflow-tooltip="" />
+        <el-table-column prop="height" label="搴撲綅楂樺害"  show-overflow-tooltip="" />
+        <el-table-column prop="maxWeight" label="鏈�澶ф壙閲�"  show-overflow-tooltip="" />
+        <el-table-column prop="inSequence" label="涓婃灦椤哄簭"  show-overflow-tooltip="" />
+        <el-table-column prop="outSequence" label="涓嬫灦椤哄簭"  show-overflow-tooltip="" />
+        <el-table-column prop="bindContainerCount" label="缁戝畾瀹瑰櫒鏁�"  show-overflow-tooltip="" />  
+        <el-table-column prop="bindContainerCount" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip=""/>
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="240" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsPlace:update') || auth('wmsPlace:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openAccountDialog(scope.row)"> 澶嶅埗 </el-button>
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsPlace(scope.row)" v-auth="'wmsPlace:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsPlace(scope.row)" v-auth="'wmsPlace:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialog
+        ref="printDialogRef"
+        :title="printWmsPlaceTitle"
+        @reloadTable="handleQuery" />
+      <editDialog
+        ref="editDialogRef"
+        :title="editWmsPlaceTitle"
+        @reloadTable="handleQuery"
+      />
+	  <importExcelDialog ref="importExcelDialogRefWmsPlace" :title="importExcelTitleWmsPlace"
+	    @parentUploadFun="handleImportExcelWmsPlace" @parentDownFun="handleDownExcelWmsPlace" />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsPlace">
+  import { nextTick, onMounted, ref ,getCurrentInstance} from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate } from '/@/utils/formatTime';
+  import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢 //寮曞叆瀵煎叆缁勪欢
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+  import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialog from '/@/views/main/WmsBase/wmsPlace/component/editDialog.vue'
+  
+  import { pageWmsPlace, deleteWmsPlace,importExcelWmsPlace,downloadExcelTemplateWmsPlace } from '/@/api/main/WmsBase/wmsPlace';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+// 璇诲彇涓嬫媺鏁版嵁鐨勫叕鍏辨柟娉�
+import { handleSlectDataWmsArea } from "/@/utils/selectData";
+  const getIsDisabledData = [{
+	  "value":true,"text":"鏄�"
+  },{
+	  "value":false,"text":"鍚�"
+  }]
+  const getEnumPlaceTypeData_Index = ref<any>([]);
+  const getEnumStockUnitData_Index = ref<any>([]);
+  const getEnumPlaceStatusData_Index = ref<any>([]);
+  const loadingWmsPlace = ref(false);
+	const { getEnumDesc } = commonFunction();
+  const showAdvanceQueryUI = ref(false);
+  const printDialogRef = ref();
+  const editDialogRef = ref();
+  const loading = ref(false);
+  const tableData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+const tableRefWmsPlace = ref(null);
+  const printWmsPlaceTitle = ref("");
+  const editWmsPlaceTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI = () => {
+    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+  };
+
+  
+  const getEnumIsVirtuallyData_Index = ref<any>([]);
+  const getEnumIsDisabledData_Index = ref<any>([]);
+  const importExcelTitleWmsPlace = ref("");
+  const importExcelDialogRefWmsPlace = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsPlace = () => {
+    importExcelTitleWmsPlace.value = '瀵煎叆搴撲綅琛�';
+    importExcelDialogRefWmsPlace.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsPlace = async (formData:Blob) => {
+   var result = await importExcelWmsPlace(formData);
+   importExcelDialogRefWmsPlace.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+   if(result.data.type=="success"){
+    handleQuery();
+   }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsPlace = async () => {
+   var result = await downloadExcelTemplateWmsPlace();
+   importExcelDialogRefWmsPlace.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+const disabled_btnWmsPlace= ref(false);
+const tableParamsWmsPlace = ref({
+  page: 1,
+  pageSize: 10,
+  total: 0,
+});
+const queryParamsWmsPlace = ref<any>({});
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsPlace = async (formData:Blob) => {
+    loadingWmsPlace.value = true;
+    disabled_btnWmsPlace.value = true;
+    var new_tableParamsWmsPlace=JSON.parse(JSON.stringify(tableParamsWmsPlace.value));
+    new_tableParamsWmsPlace.page = 1;
+    new_tableParamsWmsPlace.pageSize = 100000;
+    var res = await pageWmsPlace(Object.assign(queryParamsWmsPlace.value, new_tableParamsWmsPlace));
+    if(res.data.type=="success"){
+      exportExcelWmsPlace(res.data.result?.items ?? []);
+    }
+    loadingWmsPlace.value = false;
+    disabled_btnWmsPlace.value = false;
+};
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsPlace = {
+      getEnumPlaceTypeData_Index,
+      getEnumStockUnitData_Index,
+      getEnumPlaceStatusData_Index,
+	  getEnumIsVirtuallyData_Index,
+	  getEnumIsDisabledData_Index
+};
+//瀵煎嚭
+const exportExcelWmsPlace  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsPlace,"搴撲綅琛�",functionMapWmsPlace);
+};
+  // 鏌ヨ鎿嶄綔
+  const handleQuery = async () => {
+    loading.value = true;
+    var res = await pageWmsPlace(Object.assign(queryParams.value, tableParams.value));
+    tableData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+    loading.value = false;
+    getEnumPlaceTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceTypeEnum')).data.result ?? [];
+    getEnumStockUnitData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockUnitEnum')).data.result ?? [];
+    getEnumPlaceStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceStatusEnum')).data.result ?? [];
+	getEnumIsVirtuallyData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+	getEnumIsDisabledData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+  };
+
+  // 鍒楁帓搴�
+  const sortChange = async (column: any) => {
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
+  };
+
+  // 鎵撳紑鏂板椤甸潰
+  const openAddWmsPlace = () => {
+    editWmsPlaceTitle.value = '娣诲姞搴撲綅淇℃伅';
+    editDialogRef.value.openDialog({});
+  };
+
+  // 鎵撳紑鎵撳嵃椤甸潰
+  const openPrintWmsPlace = async (row: any) => {
+    printWmsPlaceTitle.value = '鎵撳嵃搴撲綅淇℃伅';
+  }
+  
+  // 鎵撳紑缂栬緫椤甸潰
+  const openEditWmsPlace = (row: any) => {
+    editWmsPlaceTitle.value = '缂栬緫搴撲綅淇℃伅';
+    editDialogRef.value.openDialog(row);
+  };
+
+  // 鍒犻櫎
+  const delWmsPlace = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    var  ret = await deleteWmsPlace(row);
+    if(ret.data.type=="success"){
+      handleQuery();
+      ElMessage.success("鍒犻櫎鎴愬姛");
+    }
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉椤甸潰瀹归噺
+  const handleSizeChange = (val: number) => {
+    tableParams.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉椤电爜搴忓彿
+  const handleCurrentChange = (val: number) => {
+    tableParams.value.page = val;
+    handleQuery();
+  };
+
+  handleQuery();
+
+  
+  let arr1:any =ref("") //涓嬫媺璇诲彇鎺ュ彛
+  // 椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    nextTick(async () => {
+      arr1.value = await handleSlectDataWmsArea(); //涓嬫媺璇诲彇鎺ュ彛
+    });
+  });
+  const openAccountDialog = (row: any) => {
+    editWmsPlaceTitle.value = '澶嶅埗搴撲綅淇℃伅';
+    editDialogRef.value.openDialog(row);
+  };
+
+
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue
new file mode 100644
index 0000000..15fdbf0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue
@@ -0,0 +1,120 @@
+锘�<template>
+	<div class="wmsSubstituteGood-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsSubstituteGood, updateWmsSubstituteGood, detailWmsSubstituteGood } from "/@/api/main/WmsBase/wmsSubstituteGood";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		substituteCode: [{required: true, message: '璇疯緭鍏ユ浛浠g紪鍙凤紒', trigger: 'blur',},],
+		materialCode: [{required: true, message: '璇烽�夋嫨鐗╂枡缂栧彿锛�', trigger: 'change',},],
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		substituteMaterialCode: [{required: true, message: '璇疯緭鍏ユ浛浠e搧鐗╂枡缂栧彿锛�', trigger: 'blur',},],
+		substituteMaterialName: [{required: true, message: '璇疯緭鍏ユ浛浠e搧鐗╂枡鍚嶇О锛�', trigger: 'blur',},],
+		substituteIndex: [{required: true, message: '璇疯緭鍏ユ浛浠f搴忥紒', trigger: 'blur',},],
+	});
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsSubstituteGood(rowData.id)).data.result;
+		else
+			ruleForm.value = rowData;
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addWmsSubstituteGood(values);
+				} else {
+					await updateWmsSubstituteGood(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsSubstituteGood/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsSubstituteGood/index.vue
new file mode 100644
index 0000000..2a322d8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsSubstituteGood/index.vue
@@ -0,0 +1,246 @@
+锘�<template>
+  <div class="wmsSubstituteGood-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="100">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="10" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="鐗╂枡缂栧彿,鐗╂枡鍚嶇О,鏇夸唬鍝佺墿鏂欑紪鍙�,鏇夸唬鍝佺墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-select clearable="" v-model="queryParams.materialCode" placeholder="璇烽�夋嫨鐗╂枡缂栧彿">
+                <el-option v-for="(item,index) in dl('')" :key="index" :value="item.code" :label="`[${item.code}] ${item.value}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParams.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鏇夸唬鍝佺墿鏂欑紪鍙�">
+              <el-input v-model="queryParams.substituteMaterialCode" clearable="" placeholder="璇疯緭鍏ユ浛浠e搧鐗╂枡缂栧彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鏇夸唬鍝佺墿鏂欏悕绉�">
+              <el-input v-model="queryParams.substituteMaterialName" clearable="" placeholder="璇疯緭鍏ユ浛浠e搧鐗╂枡鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col>
+		  <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+		  		  		    <el-form-item label="鏄惁绂佺敤">
+		  		  		      <el-select clearable="" v-model="queryParams.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+		  		  		        <el-option v-for="(item,index) in getIsDisabledData" :key="index" :value="item.value" :label="`${item.text}`" />
+		  		  		        
+		  		  		      </el-select>
+		  		  		      
+		  		  		    </el-form-item>
+		  		  		  </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" v-auth="'wmsSubstituteGood:page'"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsSubstituteGood" v-auth="'wmsSubstituteGood:add'"> 鏂板 </el-button> -->
+                
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+				:data="tableData"
+				style="width: 100%"
+				v-loading="loading"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="substituteCode" label="鏇夸唬缂栧彿" min-width="120px" show-overflow-tooltip="" />
+          <el-table-column prop="materialCode" label="鐗╂枡缂栧彿" min-width="120px" show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ scope.row.materialCode }}
+              <!-- <el-tag :type="di('', )?.tagType"> {{di("", scope.row.materialCode)?.value}} </el-tag> -->
+            </template>
+          </el-table-column>
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" min-width="120px"  show-overflow-tooltip="" />
+        <el-table-column prop="substituteMaterialCode" min-width="130px" label="鏇夸唬鍝佺墿鏂欑紪鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="substituteMaterialName" min-width="130px" label="鏇夸唬鍝佺墿鏂欏悕绉�"  show-overflow-tooltip="" />
+        <el-table-column prop="substituteIndex" label="鏇夸唬娆″簭"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="versionNO" label="鐗堟湰鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column> -->
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip=""/>
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <!-- <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsSubstituteGood:update') || auth('wmsSubstituteGood:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsSubstituteGood(scope.row)" v-auth="'wmsSubstituteGood:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsSubstituteGood(scope.row)" v-auth="'wmsSubstituteGood:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column> -->
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialog
+        ref="printDialogRef"
+        :title="printWmsSubstituteGoodTitle"
+        @reloadTable="handleQuery" />
+      <editDialog
+        ref="editDialogRef"
+        :title="editWmsSubstituteGoodTitle"
+        @reloadTable="handleQuery"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsSubstituteGood">
+  import { ref } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate } from '/@/utils/formatTime';
+
+
+  import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialog from '/@/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue'
+  import { pageWmsSubstituteGood, deleteWmsSubstituteGood } from '/@/api/main/WmsBase/wmsSubstituteGood';
+
+
+  const showAdvanceQueryUI = ref(false);
+  const printDialogRef = ref();
+  const editDialogRef = ref();
+  const loading = ref(false);
+  const tableData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+  const getIsDisabledData = [{
+	  "value":true,"text":"鏄�"
+  },{
+	  "value":false,"text":"鍚�"
+  }]
+  const printWmsSubstituteGoodTitle = ref("");
+  const editWmsSubstituteGoodTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI = () => {
+    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+  }
+  
+
+  // 鏌ヨ鎿嶄綔
+  const handleQuery = async () => {
+    loading.value = true;
+    var res = await pageWmsSubstituteGood(Object.assign(queryParams.value, tableParams.value));
+    tableData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+    loading.value = false;
+  };
+
+  // 鍒楁帓搴�
+  const sortChange = async (column: any) => {
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
+  };
+
+  // 鎵撳紑鏂板椤甸潰
+  const openAddWmsSubstituteGood = () => {
+    editWmsSubstituteGoodTitle.value = '娣诲姞鏇夸唬鍝佺鐞�';
+    editDialogRef.value.openDialog({});
+  };
+
+  // 鎵撳紑鎵撳嵃椤甸潰
+  const openPrintWmsSubstituteGood = async (row: any) => {
+    printWmsSubstituteGoodTitle.value = '鎵撳嵃鏇夸唬鍝佺鐞�';
+  }
+  
+  // 鎵撳紑缂栬緫椤甸潰
+  const openEditWmsSubstituteGood = (row: any) => {
+    editWmsSubstituteGoodTitle.value = '缂栬緫鏇夸唬鍝佺鐞�';
+    editDialogRef.value.openDialog(row);
+  };
+
+  // 鍒犻櫎
+  const delWmsSubstituteGood = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    var  ret =  await deleteWmsSubstituteGood(row);
+    if(ret.data.type=="success"){
+      handleQuery();
+      ElMessage.success("鍒犻櫎鎴愬姛");
+    }
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉椤甸潰瀹归噺
+  const handleSizeChange = (val: number) => {
+    tableParams.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉椤电爜搴忓彿
+  const handleCurrentChange = (val: number) => {
+    tableParams.value.page = val;
+    handleQuery();
+  };
+
+  handleQuery();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsUnit/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsUnit/component/editDialog.vue
new file mode 100644
index 0000000..eb4affe
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsUnit/component/editDialog.vue
@@ -0,0 +1,156 @@
+锘�<template>
+	<div class="wmsUnit-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="缂栧彿" prop="unitCode">
+							<el-input v-model="ruleForm.unitCode" placeholder="璇疯緭鍏ョ紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍚嶇О" prop="unitName">
+							<el-input v-model="ruleForm.unitName" placeholder="璇疯緭鍏ュ悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绮惧害" prop="decimalPrecision">
+							<el-input-number :min="1"  :precision="0" v-model="ruleForm.decimalPrecision"
+							 placeholder="璇疯緭鍏ュぇ浜�0鐨勬暣鏁�"  clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎻忚堪" prop="unitDesc">
+							<el-input v-model="ruleForm.unitDesc" placeholder="璇疯緭鍏ユ弿杩�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsUnit, updateWmsUnit, detailWmsUnit } from "/@/api/main/WmsBase/wmsUnit";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		unitCode: [{required: true, message: '璇疯緭鍏ョ紪鍙凤紒', trigger: 'blur',},],
+		unitName: [{required: true, message: '璇疯緭鍏ュ悕绉帮紒', trigger: 'blur',},],
+		decimalPrecision: [{required: true, message: '璇疯緭鍏ョ簿搴︼紒', trigger: 'change',},],
+	});
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsUnit(rowData.id)).data.result;
+		else{
+			ruleForm.value = rowData;
+			// ruleForm.value.decimalPrecision=3;//榛樿绮惧害 灏忔暟鐐瑰悗3浣�
+		}
+			
+		
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addWmsUnit(values);
+				} else {
+					await updateWmsUnit(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsUnit/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsUnit/index.vue
new file mode 100644
index 0000000..709578f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsUnit/index.vue
@@ -0,0 +1,217 @@
+锘�<template>
+  <div class="wmsUnit-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="缂栧彿,鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="缂栧彿">
+              <el-input v-model="queryParams.unitCode" clearable="" placeholder="璇疯緭鍏ョ紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍚嶇О">
+              <el-input v-model="queryParams.unitName" clearable="" placeholder="璇疯緭鍏ュ悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+		  <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+		  		  		    <el-form-item label="鏄惁绂佺敤">
+		  		  		      <el-select clearable="" v-model="queryParams.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+		  		  		        <el-option v-for="(item,index) in getIsDisabledData" :key="index" :value="item.value" :label="`${item.text}`" />
+		  		  		        
+		  		  		      </el-select>
+		  		  		      
+		  		  		    </el-form-item>
+		  		  		  </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" v-auth="'wmsUnit:page'"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsUnit" v-auth="'wmsUnit:add'"> 鏂板 </el-button>
+                
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+				:data="tableData"
+				style="width: 100%"
+				v-loading="loading"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="unitCode" label="缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="unitName" label="鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="decimalPrecision" label="绮惧害"  show-overflow-tooltip="" />
+        
+        <el-table-column prop="unitDesc" label="鎻忚堪"  show-overflow-tooltip="" />
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip=""/>
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsUnit:update') || auth('wmsUnit:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsUnit(scope.row)" v-auth="'wmsUnit:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsUnit(scope.row)" v-auth="'wmsUnit:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialog
+        ref="printDialogRef"
+        :title="printWmsUnitTitle"
+        @reloadTable="handleQuery" />
+      <editDialog
+        ref="editDialogRef"
+        :title="editWmsUnitTitle"
+        @reloadTable="handleQuery"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsUnit">
+  import { ref } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate } from '/@/utils/formatTime';
+
+
+  import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialog from '/@/views/main/WmsBase/wmsUnit/component/editDialog.vue'
+  import { pageWmsUnit, deleteWmsUnit } from '/@/api/main/WmsBase/wmsUnit';
+
+
+  const showAdvanceQueryUI = ref(false);
+  const printDialogRef = ref();
+  const editDialogRef = ref();
+  const loading = ref(false);
+  const tableData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+    all:true
+  });
+  const getIsDisabledData = [{
+	  "value":true,"text":"鏄�"
+  },{
+	  "value":false,"text":"鍚�"
+  }]
+  const printWmsUnitTitle = ref("");
+  const editWmsUnitTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI = () => {
+    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+  }
+  
+
+  // 鏌ヨ鎿嶄綔
+  const handleQuery = async () => {
+    loading.value = true;
+    var res = await pageWmsUnit(Object.assign(queryParams.value, tableParams.value));
+    tableData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+    loading.value = false;
+  };
+
+  // 鍒楁帓搴�
+  const sortChange = async (column: any) => {
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
+  };
+
+  // 鎵撳紑鏂板椤甸潰
+  const openAddWmsUnit = () => {
+    editWmsUnitTitle.value = '娣诲姞鍗曚綅鍩虹淇℃伅';
+    editDialogRef.value.openDialog({});
+  };
+
+  // 鎵撳紑鎵撳嵃椤甸潰
+  const openPrintWmsUnit = async (row: any) => {
+    printWmsUnitTitle.value = '鎵撳嵃鍗曚綅鍩虹淇℃伅';
+  }
+  
+  // 鎵撳紑缂栬緫椤甸潰
+  const openEditWmsUnit = (row: any) => {
+    editWmsUnitTitle.value = '缂栬緫鍗曚綅鍩虹淇℃伅';
+    editDialogRef.value.openDialog(row);
+  };
+
+  // 鍒犻櫎
+  const delWmsUnit = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    var  ret =  await deleteWmsUnit(row);
+    if(ret.data.type=="success"){
+      handleQuery();
+      ElMessage.success("鍒犻櫎鎴愬姛");
+    }
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉椤甸潰瀹归噺
+  const handleSizeChange = (val: number) => {
+    tableParams.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉椤电爜搴忓彿
+  const handleCurrentChange = (val: number) => {
+    tableParams.value.page = val;
+    handleQuery();
+  };
+
+  handleQuery();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsWarehouse/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsWarehouse/component/editDialog.vue
new file mode 100644
index 0000000..922f460
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsWarehouse/component/editDialog.vue
@@ -0,0 +1,224 @@
+锘�<template>
+	<div class="wmsWarehouse-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵�灞炲伐鍘�" prop="factoryCode">
+
+							<el-input v-model="ruleForm.factoryCode" placeholder="璇疯緭鍏ユ墍灞炲伐鍘�" maxlength="50" show-word-limit
+								clearable />
+<!-- 
+							<el-select clearable v-model="ruleForm.factoryId" placeholder="璇烽�夋嫨鎵�灞炲伐鍘�">
+								<el-option v-for="(item, index) in arr1" :key="index" :value="item.id"
+									:label="`[${item.code}] ${item.value}`"></el-option>
+							</el-select> -->
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="浠撳簱缂栧彿" prop="code">
+							<el-input v-model="ruleForm.code" :disabled="isEditDialog" placeholder="璇疯緭鍏ヤ粨搴撶紪鍙�" maxlength="50" show-word-limit
+								clearable />
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="浠撳簱鍚嶇О" prop="name">
+							<el-input v-model="ruleForm.name" placeholder="璇疯緭鍏ヤ粨搴撳悕绉�" maxlength="50" show-word-limit
+								clearable />
+
+						</el-form-item>
+
+					</el-col>
+
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="闀�" prop="length">
+							<el-input-number :min="0" :precision="0" v-model="ruleForm.length" placeholder="璇疯緭鍏ラ暱" maxlength="10" show-word-limit
+								clearable />
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹�" prop="width">
+							<el-input-number :min="0" :precision="0" v-model="ruleForm.width" placeholder="璇疯緭鍏ュ" maxlength="10" show-word-limit
+								clearable />
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="楂�" prop="height">
+							<el-input-number :min="0" :precision="0" v-model="ruleForm.height" placeholder="璇疯緭鍏ラ珮" maxlength="10" show-word-limit
+								clearable />
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍩烘湰鍗曞厓" prop="baseUnit">
+							<el-input v-model="ruleForm.baseUnit" placeholder="璇疯緭鍏ュ熀鏈崟鍏�" maxlength="255" show-word-limit
+								clearable />
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹氫綅" prop="position">
+							<el-input v-model="ruleForm.position" placeholder="璇疯緭鍏ュ畾浣�" maxlength="255" show-word-limit
+								clearable />
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="浠撳簱鍦板潃" prop="address">
+							<el-input v-model="ruleForm.address" placeholder="璇疯緭鍏ヤ粨搴撳湴鍧�" type="textarea" maxlength="255"
+								show-word-limit clearable />
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="澶囨敞" prop="remarks">
+							<el-input v-model="ruleForm.remarks" placeholder="璇疯緭鍏ュ娉�" type="textarea" maxlength="255"
+								show-word-limit clearable />
+
+						</el-form-item>
+
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+import { ref, onMounted, nextTick } from "vue";
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { ElMessage } from "element-plus";
+import type { FormRules } from "element-plus";
+import { addWmsWarehouse, updateWmsWarehouse, detailWmsWarehouse } from "/@/api/main/WmsBase/wmsWarehouse";
+// 璇诲彇涓嬫媺鏁版嵁鐨勫叕鍏辨柟娉�
+import { handleSlectDataWmsfactory } from "/@/utils/selectData";
+
+//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+var props = defineProps({
+	title: {
+		type: String,
+		default: "",
+	},
+});
+//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+const emit = defineEmits(["reloadTable"]);
+const ruleFormRef = ref();
+const isShowDialog = ref(false);
+const isEditDialog = ref(false);//鏄惁鏄紪杈�
+const ruleForm = ref<any>({});
+//鑷娣诲姞鍏朵粬瑙勫垯
+const rules = ref<FormRules>({
+	factoryCode: [{ required: true, message: '璇疯緭鍏ユ墍灞炲伐鍘傦紒', trigger: 'blur', },],
+	code: [{ required: true, message: '璇疯緭鍏ヤ粨搴撶紪鍙凤紒', trigger: 'blur', },],
+	name: [{ required: true, message: '璇疯緭鍏ヤ粨搴撳悕绉帮紒', trigger: 'blur', },],
+	factoryId: [{ required: true, message: '璇烽�夋嫨鎵�灞炲伐鍘傦紒', trigger: 'change', },],
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = async (row: any) => {
+	// ruleForm.value = JSON.parse(JSON.stringify(row));
+	// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+	let rowData = JSON.parse(JSON.stringify(row));
+	if (rowData.id){
+		ruleForm.value = (await detailWmsWarehouse(rowData.id)).data.result;
+		isEditDialog.value = true;
+	}else{
+		ruleForm.value = rowData;
+	}
+	
+	isShowDialog.value = true;
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emit("reloadTable");
+	isShowDialog.value = false;
+	isEditDialog.value = false;
+	ruleFormRef.value.resetFields();
+};
+
+// 鍙栨秷
+const cancel = () => {
+	isShowDialog.value = false;
+	isEditDialog.value = false;
+	ruleFormRef.value.resetFields();
+};
+
+// 鎻愪氦
+const submit = async () => {
+	ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+		if (isValid) {
+			let values = ruleForm.value;
+			if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+				await addWmsWarehouse(values);
+			} else {
+				await updateWmsWarehouse(values);
+			}
+			closeDialog();
+		} else {
+			ElMessage({
+				message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+				type: "error",
+			});
+		}
+	});
+};
+
+
+
+
+let arr1:any =ref("") //涓嬫媺璇诲彇鎺ュ彛
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+	nextTick(async () => {
+		arr1.value = await handleSlectDataWmsfactory(); //涓嬫媺璇诲彇鎺ュ彛
+	});
+});
+
+//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsWarehouse/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsWarehouse/index.vue
new file mode 100644
index 0000000..df27e87
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsBase/wmsWarehouse/index.vue
@@ -0,0 +1,250 @@
+锘�<template>
+  <div class="wmsWarehouse-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="浠撳簱缂栧彿,浠撳簱鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="浠撳簱缂栧彿">
+              <el-input v-model="queryParams.code" clearable="" placeholder="璇疯緭鍏ヤ粨搴撶紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="浠撳簱鍚嶇О">
+              <el-input v-model="queryParams.name" clearable="" placeholder="璇疯緭鍏ヤ粨搴撳悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鎵�灞炰粨搴�">
+              <el-select clearable="" v-model="queryParams.factoryId" placeholder="璇烽�夋嫨鎵�灞炰粨搴�">
+                <el-option v-for="(item,index) in getFactoryData_Index" :key="index" :value="item.id" :label="`[${item.code}] ${item.value}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+		  <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+		    <el-form-item label="鏄惁绂佺敤">
+		      <el-select clearable="" v-model="queryParams.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+		        <el-option v-for="(item,index) in getIsDisabledData" :key="index" :value="item.value" :label="`${item.text}`" />
+		        
+		      </el-select>
+		      
+		    </el-form-item>
+		  </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" v-auth="'wmsWarehouse:page'"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsWarehouse" v-auth="'wmsWarehouse:add'"> 鏂板 </el-button>
+                
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+				:data="tableData"
+				style="width: 100%"
+				v-loading="loading"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="factoryCode" label="鎵�灞炲伐鍘�"  show-overflow-tooltip="" />
+        <el-table-column prop="code" label="浠撳簱缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="name" label="浠撳簱鍚嶇О"  show-overflow-tooltip="" />
+
+          <!-- <el-table-column prop="factoryId" label="鎵�灞炲伐鍘�"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getFactoryNameById(scope.row.factoryId, getFactoryData_Index)}}
+            </template>
+          </el-table-column> -->
+          <el-table-column prop="address" label="浠撳簱鍦板潃"  show-overflow-tooltip="" />
+        <el-table-column prop="length" label="闀�"  show-overflow-tooltip="" />
+        <el-table-column prop="width" label="瀹�"  show-overflow-tooltip="" />
+        <el-table-column prop="height" label="楂�"  show-overflow-tooltip="" />
+        <el-table-column prop="baseUnit" label="鍩烘湰鍗曞厓"  show-overflow-tooltip="" />
+        <el-table-column prop="position" label="瀹氫綅"  show-overflow-tooltip="" />
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="remarks" label="澶囨敞"  show-overflow-tooltip="" />
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip=""/>
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsWarehouse:update') || auth('wmsWarehouse:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsWarehouse(scope.row)" v-auth="'wmsWarehouse:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsWarehouse(scope.row)" v-auth="'wmsWarehouse:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialog
+        ref="printDialogRef"
+        :title="printWmsWarehouseTitle"
+        @reloadTable="handleQuery" />
+      <editDialog
+        ref="editDialogRef"
+        :title="editWmsWarehouseTitle"
+        @reloadTable="handleQuery"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsWarehouse">
+  import { nextTick, onMounted, ref } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate } from '/@/utils/formatTime';
+  import { handleSlectDataWmsfactory } from "/@/utils/selectData";
+
+  import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialog from '/@/views/main/WmsBase/wmsWarehouse/component/editDialog.vue'
+  import { pageWmsWarehouse, deleteWmsWarehouse } from '/@/api/main/WmsBase/wmsWarehouse';
+
+  const getIsDisabledData = [{
+	  "value":true,"text":"鏄�"
+  },{
+	  "value":false,"text":"鍚�"
+  }]
+  const getFactoryData_Index = ref<any>([]);
+  const showAdvanceQueryUI = ref(false);
+  const printDialogRef = ref();
+  const editDialogRef = ref();
+  const loading = ref(false);
+  const tableData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  		// 鏍规嵁id鑾峰彇宸ュ巶鍚嶇О
+ const getFactoryNameById = (key: any, factoryLst: any) => {
+			return factoryLst.find((x: any) => x.id == key)?.factoryName;
+		};
+
+  const printWmsWarehouseTitle = ref("");
+  const editWmsWarehouseTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI = () => {
+    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+  }
+  
+
+  // 鏌ヨ鎿嶄綔
+  const handleQuery = async () => {
+    loading.value = true;
+    var res = await pageWmsWarehouse(Object.assign(queryParams.value, tableParams.value));
+    tableData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+    loading.value = false;
+  };
+
+  // 鍒楁帓搴�
+  const sortChange = async (column: any) => {
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
+  };
+
+  // 鎵撳紑鏂板椤甸潰
+  const openAddWmsWarehouse = () => {
+    editWmsWarehouseTitle.value = '娣诲姞浠撳簱';
+    editDialogRef.value.openDialog({});
+  };
+
+  // 鎵撳紑鎵撳嵃椤甸潰
+  const openPrintWmsWarehouse = async (row: any) => {
+    printWmsWarehouseTitle.value = '鎵撳嵃浠撳簱';
+  }
+  
+  // 鎵撳紑缂栬緫椤甸潰
+  const openEditWmsWarehouse = (row: any) => {
+    editWmsWarehouseTitle.value = '缂栬緫浠撳簱';
+    editDialogRef.value.openDialog(row);
+  };
+
+  // 鍒犻櫎
+  const delWmsWarehouse = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    var res = await deleteWmsWarehouse(row);
+    if(res.data && res.data.code==200){
+      handleQuery();
+      ElMessage.success("鍒犻櫎鎴愬姛");
+    }
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉椤甸潰瀹归噺
+  const handleSizeChange = (val: number) => {
+    tableParams.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉椤电爜搴忓彿
+  const handleCurrentChange = (val: number) => {
+    tableParams.value.page = val;
+    handleQuery();
+  };
+
+  handleQuery();
+
+  onMounted(async () => {
+	nextTick(async () => {
+		getFactoryData_Index.value = await handleSlectDataWmsfactory(); //涓嬫媺璇诲彇鎺ュ彛
+	});
+});
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/editDialog.vue
new file mode 100644
index 0000000..934cf54
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/editDialog.vue
@@ -0,0 +1,241 @@
+锘�<template>
+	<div class="wmsInventoryCheckOrder-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐩樼偣鍗曞彿" prop="orderNo">
+							<el-input v-model="ruleForm.orderNo" placeholder="璇疯緭鍏ョ洏鐐瑰崟鍙�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐩樼偣鏂瑰紡" prop="checkMode">
+							<el-select clearable v-model="ruleForm.checkMode" placeholder="璇烽�夋嫨鐩樼偣鏂瑰紡">
+								<el-option v-for="(item,index) in  getEnumCheckModeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐩樼偣鏂瑰紡鍚嶇О" prop="checkModeName">
+							<el-input v-model="ruleForm.checkModeName" placeholder="璇疯緭鍏ョ洏鐐规柟寮忓悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐩樼偣闃舵" prop="checkStage">
+							<el-select clearable v-model="ruleForm.checkStage" placeholder="璇烽�夋嫨鐩樼偣闃舵">
+								<el-option v-for="(item,index) in  getEnumCheckStageData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐩樼偣闃舵鍚嶇О" prop="checkStageName">
+							<el-input v-model="ruleForm.checkStageName" placeholder="璇疯緭鍏ョ洏鐐归樁娈靛悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯缂栧彿" prop="areaCode">
+							<el-input v-model="ruleForm.areaCode" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯鍚嶇О" prop="areaName">
+							<el-input v-model="ruleForm.areaName" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璁″垝寮�濮嬫椂闂�" prop="planStartDate">
+							<el-date-picker v-model="ruleForm.planStartDate" type="date" placeholder="璁″垝寮�濮嬫椂闂�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璁″垝缁撴潫鏃堕棿" prop="planEndDate">
+							<el-date-picker v-model="ruleForm.planEndDate" type="date" placeholder="璁″垝缁撴潫鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐩樼偣寮�濮嬫棩鏈�" prop="startCheckTime">
+							<el-date-picker v-model="ruleForm.startCheckTime" type="date" placeholder="鐩樼偣寮�濮嬫棩鏈�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐩樼偣缁撴潫鏃ユ湡" prop="endCheckTime">
+							<el-date-picker v-model="ruleForm.endCheckTime" type="date" placeholder="鐩樼偣缁撴潫鏃ユ湡" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="澶囨敞" prop="remarks">
+							<el-input v-model="ruleForm.remarks" placeholder="璇疯緭鍏ュ娉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁宸茶皟璐�" prop="isAudit">
+							<el-switch v-model="ruleForm.isAudit" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsInventoryCheckOrder, updateWmsInventoryCheckOrder, detailWmsInventoryCheckOrder } from "/@/api/main/WmsInventory/wmsInventoryCheckOrder";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumCheckModeData = ref<any>([]);
+	const getEnumCheckStageData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		orderNo: [{required: true, message: '璇疯緭鍏ョ洏鐐瑰崟鍙凤紒', trigger: 'blur',},],
+		checkMode: [{required: true, message: '璇烽�夋嫨鐩樼偣鏂瑰紡锛�', trigger: 'change',},],
+		checkModeName: [{required: true, message: '璇疯緭鍏ョ洏鐐规柟寮忓悕绉帮紒', trigger: 'blur',},],
+		checkStage: [{required: true, message: '璇烽�夋嫨鐩樼偣闃舵锛�', trigger: 'change',},],
+		checkStageName: [{required: true, message: '璇疯緭鍏ョ洏鐐归樁娈靛悕绉帮紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsInventoryCheckOrder(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsInventoryCheckOrder(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsInventoryCheckOrder(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			// getEnumCheckModeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckModeEnum')).data.result ?? [];
+			// getEnumCheckStageData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckStageEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/openDialogDetail.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/openDialogDetail.vue
new file mode 100644
index 0000000..e5d84fa
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/openDialogDetail.vue
@@ -0,0 +1,766 @@
+<template>
+  <!-- 寮�鍚鐩� -->
+  <el-dialog v-model="dialogVisible"  width="80%" @close="closeDialog">
+    <template #header>
+				<div style="color: #fff">
+					<span>寮�鍚鐩�</span>
+				</div>
+			</template>
+    <div class="msi-content" style="margin-top: 10px">
+      <el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+        @selection-change="detailsCheckChange" max-height="480">
+        <el-table-column align="center" width="60" type="selection" />
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column prop="orderNo" label="鐩樼偣鍗曞彿"  show-overflow-tooltip="" min-width="130px" />
+        <el-table-column prop="areaCode" label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="placeCode" label="搴撲綅缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="snCode" label="璺熻釜鐮�"  show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="containerCode" label="瀹瑰櫒缂栧彿"  show-overflow-tooltip="" />
+          <el-table-column prop="checkStatus" label="鐩樼偣鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag :type="getTypeStatus(1, scope.row.checkStatusName)"> {{ scope.row.checkStatusName }} </el-tag>
+              <!-- <el-tag>{{ getEnumDesc(scope.row.checkStatus, getEnumCheckStatusData_Index)}}</el-tag> -->
+            </template>
+          </el-table-column>
+          <el-table-column prop="checkResult" label="鐩樼偣缁撴灉"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ scope.row.checkResultName }}
+            </template>
+          </el-table-column>
+        <el-table-column prop="checkCount" label="鐩樼偣娆℃暟"  show-overflow-tooltip="" />
+          <el-table-column prop="checkOperatorClassify" label="鐩樼偣鍒嗙被"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ scope.row.checkOperatorClassifyName }}
+            </template>
+          </el-table-column>
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130"   show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+
+        <!-- <el-table-column label="鏁伴噺" align="center" min-width="180">
+          <template #default="scope">
+            <el-input-number :precision="3" min="0" v-model="scope.row.deliveryQuantity" size="small" />
+          </template>
+        </el-table-column> -->
+      </el-table>
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="dialogVisible = false">鍙栨秷</el-button>
+        <el-button type="primary" :disabled="load" @click="confirm">纭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+  <!-- 娣诲姞鐗╂枡 -->
+  <el-dialog v-model="addMaterialVisible" title="娣诲姞鐗╂枡璇︽儏" width="60%" @close="closeMaterialDialog">
+    <template #header>
+				<div style="color: #fff">
+					<span>娣诲姞鐗╂枡璇︽儏</span>
+				</div>
+			</template>
+
+    <div class="msi-form" style="padding-top: 0px">
+      <el-form :model="materialForm"  >
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="materialForm.Code" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-col :span="8">
+            <el-form-item label="鐗╂枡澶х被:">
+              <el-input v-model="materialForm.MaterialTypeId" placeholder="璇疯緭鍏ョ墿鏂欏ぇ绫�" clearable></el-input>
+            </el-form-item>
+          </el-col> -->
+
+          <el-col :span="8">
+            <el-form-item label-width="20px">
+              <el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+              <!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <div class="msi-content" style="padding-top: 0; margin-top: 10px">
+      <el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+        @selection-change="materialSelectionChange" :max-height="480">
+        <el-table-column align="center" width="60" type="selection"  />
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+        <el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+
+        <!-- <el-table-column label="鐗╂枡鎻忚堪" prop="describe" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" align="center" min-width="110" show-overflow-tooltip /> -->
+        <!-- <el-table-column label="鐗╂枡澶х被" prop="category" align="center" min-width="110" show-overflow-tooltip />
+        <el-table-column label="鐗╂枡灏忕被" prop="materialTypeId" align="center" min-width="110" show-overflow-tooltip /> -->
+        <!-- <el-table-column label="灏哄(mm)" align="center" min-width="110" show-overflow-tooltip>
+          <template #default="scope">
+            {{
+              `${scope.row.long ? scope.row.long : 0}*${scope.row.width ? scope.row.width : 0
+                }*${scope.row.high ? scope.row.high : 0}`
+            }}
+          </template>
+        </el-table-column> -->
+        <!-- <el-table-column label="閲嶉噺(kg)" prop="weight" align="center" min-width="110" show-overflow-tooltip /> -->
+        <!-- <el-table-column label="鍗曚綅" prop="unit" align="center" min-width="110" show-overflow-tooltip /> -->
+      </el-table>
+      <Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+        @pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+        <el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+  <!-- 鍗曡鎯� -->
+  <el-drawer v-model="drawerVisible"  direction="rtl" size="80%"
+    @close="handleDrawerClose">
+    <template #title>
+      <div class="slot_title">
+        <div class="title_orderNo">{{ title }}</div>
+        <div>璁㈠崟璇︽儏</div>
+      </div>
+    </template>
+
+    <div class="detailBoxWrap">
+      <!-- 璇︽儏缁勪欢 -->
+      <!-- <open-details ref="propDetailRef"></open-details> -->
+      <div class="msi-form">
+        <el-form :model="detailForm">
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="鐗╂枡缂栧彿">
+                <el-input v-model="detailForm.MaterialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+              </el-form-item>
+            </el-col>
+<!-- 
+  <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="搴撲綅缂栧彿">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.sNCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="瀹瑰櫒缂栧彿">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.containerCode" clearable="" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐩樼偣鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckOrderDetails.checkStatus" placeholder="璇烽�夋嫨鐩樼偣鐘舵��">
+                <el-option v-for="(item,index) in getEnumCheckStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐩樼偣缁撴灉">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckOrderDetails.checkResult" placeholder="璇烽�夋嫨鐩樼偣缁撴灉">
+                <el-option v-for="(item,index) in getEnumCheckResultData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐩樼偣鍒嗙被">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckOrderDetails.checkOperatorClassify" placeholder="璇烽�夋嫨鐩樼偣鍒嗙被">
+                <el-option v-for="(item,index) in getEnumCheckOperatorClassifyData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+ -->
+            <el-col :span="2">
+              <el-form-item label-width="20px">
+                <el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <div class="msi-content">
+        <el-table :data="drawerList" border striped  @expand-change="handleExpandChange" :row-key="getRowKeys" :expand-row-keys="expands">
+
+          <!-- 瀛愯〃 -->
+          <el-table-column fixed="left" type="expand">
+						<template #default="scope">
+							<br />
+							<el-table :data="scope.row.children" border style="width: 95%;margin: 0 auto;"
+								default-expand-all min-height="200" row-key="materialCode">
+								<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+						 <el-table-column prop="orderNo" label="鐩樼偣鍗曞彿" min-width="120px"  show-overflow-tooltip="" />
+        <el-table-column prop="areaCode" label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="placeCode" label="搴撲綅缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="snCode" label="璺熻釜鐮�"  show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="containerCode" label="瀹瑰櫒缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="quantity" label="搴撳瓨鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="checkQuantity" label="鐩樼偣鏁伴噺"  show-overflow-tooltip="" />
+          <el-table-column prop="checkStatus" label="鐩樼偣鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag :type="getTypeStatus(1, scope.row.checkStatusName)"> {{ scope.row.checkStatusName }} </el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column prop="checkResult" label="鐩樼偣缁撴灉"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ scope.row.checkResultName }}
+            </template>
+          </el-table-column>
+          <el-table-column prop="checkOperatorClassify" label="鐩樼偣鍒嗙被"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ scope.row.checkOperatorClassifyName }}
+            </template>
+          </el-table-column>
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+
+							</el-table>
+							<br />
+						</template>
+					</el-table-column>
+          <el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column fixed="left" prop="orderNo" label="鐩樼偣鍗曞彿"  show-overflow-tooltip="" min-width="160px" />
+        <el-table-column prop="areaCode" label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="placeCode" label="搴撲綅缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="snCode" label="璺熻釜鐮�" min-width="250px" show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规"  min-width="160px" show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿" min-width="140px" show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" min-width="140px" show-overflow-tooltip="" />
+        <el-table-column prop="containerCode" label="瀹瑰櫒缂栧彿"  show-overflow-tooltip="" />
+          <el-table-column prop="checkStatus" label="鐩樼偣鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag :type="getTypeStatus(1, scope.row.checkStatusName)"> {{ scope.row.checkStatusName }} </el-tag>
+              <!-- <el-tag>{{ getEnumDesc(scope.row.checkStatus, getEnumCheckStatusData_Index)}}</el-tag> -->
+            </template>
+          </el-table-column>
+          <el-table-column prop="checkResult" label="鐩樼偣缁撴灉"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ scope.row.checkResultName }}
+            </template>
+          </el-table-column>
+        <el-table-column prop="checkCount" label="鐩樼偣娆℃暟"  show-overflow-tooltip="" />
+          <el-table-column prop="checkOperatorClassify" label="鐩樼偣鍒嗙被"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ scope.row.checkOperatorClassifyName }}
+            </template>
+          </el-table-column>
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130"   show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        </el-table>
+        <Pagination :total="detailCount" v-model:page="detailForm.page" v-model:limit="detailForm.PageSize"
+          @pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+        <div>
+        </div>
+      </div>
+    </div>
+  </el-drawer>
+
+
+</template>
+<script lang="ts" setup>
+import Pagination from "/@/components/Pagination/index.vue";
+import { ElMessage, ElMessageBox } from "element-plus";
+import { ref, nextTick, computed, getCurrentInstance, watch, defineExpose, defineProps } from "vue";
+import { pageWmsMaterial } from "/@/api/main/WmsBase/wmsMaterial";
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+import {
+  getTypeStatus
+} from "/@/utils/formate";
+import { listWmsInventoryCheckOrderDetails, pageWmsInventoryCheckOrderDetails } from "/@/api/main/WmsInventory/wmsInventoryCheckOrderDetails";
+import { pageWmsInventoryCheckRecord } from "/@/api/main/WmsInventory/wmsInventoryCheckRecord";
+import { getCheckPlanOpen } from "/@/api/main/Check/checkOrder";
+const emits = defineEmits(['getTabelData']);
+const props = defineProps({
+  titleAuthor: {
+    type: Number,
+    required: true
+  },
+  hexiao: {
+    type: Number,
+    default: 1,
+    required: true
+  },
+})
+
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao)
+const loading = ref(false);
+
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+//鏌ヨ
+const formModel = ref({
+  MaterialCode: "",
+  WareMaterialName: "",
+});
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+  formModel.value = {
+    MaterialCode: "",
+    WareMaterialName: "",
+  };
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+  checkRows.value = val;
+};
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+  MaterialCode: "",
+  OrderId: "",
+  page: 1,
+  PageSize: 10
+});
+let title = ref("");
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref("drawerAll");
+// const
+//鍗曞彿
+const purchaseNo = ref("");
+
+//鎵撳紑鎶藉眽
+const openDrawer = (type: number, scope: any = {},entozhExcell?:any) => {
+  debugger
+  detailForm.value.page = 1; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+  detailForm.value.PageSize = 10; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+  if(scope.orderNo){
+    title.value = `${scope.orderNo}`;
+  }
+  drawerType.value = "drawerAll";
+  //褰撳墠鍏ュ簱鍗曞彿id
+  detailForm.value.OrderId = scope.id;
+  //鍏ュ簱鍗�
+  purchaseNo.value = scope.purchaseNo;
+  //鑾峰彇鐗╂枡鍒楄〃
+  getDetail();
+  drawerVisible.value = true;
+  // 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+  let scopetrans = JSON.parse(JSON.stringify(scope))
+  // scopetrans.totalQuantity = Number(scopetrans.totalQuantity).toFixed(3)
+  scopetrans.isAudit = scopetrans.isAudit?"鏄�":"鍚�";
+  nextTick(() => {
+    proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+  });
+
+};
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<any[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<any[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+  detailForm.value = {
+    MaterialCode: "",
+    OrderId: "",
+    page: 1,
+    PageSize: 10
+  };
+  deltailList.value = [];
+  detailCount.value = 0;
+  drawerList.value = [];
+};
+
+
+//鑾峰彇鍏ュ簱鍗曚笅鐗╂枡璇︽儏
+const loadingWmsInventoryCheckOrderDetails = ref(false);
+const disabled_btnWmsInventoryCheckOrderDetails = ref(false);
+
+const getDetail = async (callback?: any) => {
+    loadingWmsInventoryCheckOrderDetails.value = true;
+    disabled_btnWmsInventoryCheckOrderDetails.value = true;
+    var res = await pageWmsInventoryCheckOrderDetails({
+      ...detailForm.value
+    });
+    drawerList.value =[];
+
+    if(res.data.type=="success"){
+    setTimeout(() => {
+      drawerList.value = res.data.result?.items ?? [];
+      detailCount.value = res.data.result?.total;
+
+    }, (100));
+    }
+    loadingWmsInventoryCheckOrderDetails.value = false;
+    disabled_btnWmsInventoryCheckOrderDetails.value = false;
+
+};
+
+
+
+//鏄庣粏-浜岀骇
+const getRowKeys = (row:any) =>{
+  return row.id;
+}
+const expands = ref();
+
+//鏄庣粏-浜岀骇
+const handleExpandChange = async (row: any, rows: any) => {
+  // debugger
+  if (row.children) {
+    return
+  }
+  loadingWmsInventoryCheckOrderDetails.value = true;
+  disabled_btnWmsInventoryCheckOrderDetails.value = true;
+  var {page,PageSize,...rest} = detailForm.value
+  var res = await pageWmsInventoryCheckRecord({
+    ...rest,
+    page:1,
+    snCode:row.snCode,
+    PageSize:10000,
+    OrderNo:row.orderNo,
+  });
+  if(res.data.type=="success"){
+    row.children = res.data.result?.items ?? [];
+    // detailCount.value = res.data.result?.total;
+  }
+  loadingWmsInventoryCheckOrderDetails.value = false;
+  disabled_btnWmsInventoryCheckOrderDetails.value = false;
+
+}
+
+
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref("add");
+const dialogVisible = ref(false);
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+  createdTime: "",
+});
+//rules
+const formRules = {};
+const orderId = ref("");
+//鎵撳紑鏂板銆佺紪杈戠獥鍙�
+const openDialog = async (type: number, scope: any = {}) => {
+  if (type == 1) {
+    dialogType.value = "add";
+  } else {
+    //寮�鍚鐩�
+    dialogType.value = "edit";
+    if(!scope[0].id){
+      ElMessage.warning("ID浼犲叆閿欒");
+      return
+    }
+    orderId.value = scope[0].id;
+    var res = await listWmsInventoryCheckOrderDetails({
+     "orderId":scope[0].id || ""
+    });
+    if(res.data && res.data.result){
+      var arr = res.data.result.filter((v:any) => v.checkOperatorClassifyName=="鍒濈洏" && v.checkResultName!="鐩樺钩" )
+      warehousOrderDetails.value = arr ?? [];
+    }else{
+      warehousOrderDetails.value =  [];
+    }
+  }
+  dialogVisible.value = true;
+  //娓呴櫎閫変腑椤�
+  nextTick(() => {
+    if(dialogRef.value){
+      dialogRef.value.clearValidate();
+    }
+  });
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+  return row.id + row.ebelp;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+  load.value = false;
+  addForm.value = {
+    createdTime: "",
+  };
+  warehousOrderDetails.value = [];
+  checkedDetails.value = [];
+  deltailList.value = [];
+  detailCount.value = 0;
+  detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+  checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+  ElMessageBox.confirm("鏄惁纭鍒犻櫎锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning"
+  })
+    .then(() => {
+      let arr =[];
+      if(checkedDetails.value[0].diRelationID){
+        checkedDetails.value.forEach((item) => {
+          console.log(item)
+          let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.diRelationID == item.diRelationID);
+          if(index> -1){
+            warehousOrderDetails.value.splice(index, 1);
+          }
+        });
+      }else{
+        checkedDetails.value.forEach((item) => {
+          let index = warehousOrderDetails.value.findIndex(
+          (detail) => detail.code == item.code && detail.ebelp == item.ebelp
+        );
+            warehousOrderDetails.value.splice(index, 1);
+        });
+      }
+      arr = warehousOrderDetails.value
+      warehousOrderDetails.value = [];
+      //bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+      nextTick(() => {
+        warehousOrderDetails.value = arr;
+        checkedDetails.value = [];
+        detailRef.value.clearSelection();
+      });
+    })
+    .catch(() => ElMessage.info("宸插彇娑堝垹闄�"));
+};
+const load = ref(false);
+const confirm = async () => {
+  if(checkedDetails.value.length<=0){
+    ElMessage.warning("璇烽�夋嫨鑷冲皯涓�涓墿鏂欙紒");
+    return
+  }
+  const handleArr: number[] = [];
+	checkedDetails.value.forEach((item) => {
+		handleArr.push(item.id);
+	});
+  if(handleArr.length<=0){
+    ElMessage.warning("璇烽�夋嫨鑷冲皯涓�涓墿鏂欙紒");
+    return
+  }
+  load.value=true;
+  let res = await getCheckPlanOpen({
+    DetailsId: handleArr,
+    checkOperatorClassify:2, //澶嶇洏
+    orderId: orderId.value
+  });
+  if (res.data.type == 'success') {
+    ElMessage.success("寮�鍚鐩樻垚鍔�");
+    dialogVisible.value = false;
+    emits("getTabelData");
+  }
+  load.value=false;
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+  MaterialTypeId: "",
+  Code: "",
+  // MaterialType: 1,
+  Page: 1,
+  PageSize: 10
+});
+
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+
+  loading.value = true;
+  // var res = await pageWmsMaterial(Object.assign(queryParams.value, tableParams.value));
+  var res = await pageWmsMaterial(Object.assign(materialForm.value));
+
+  materialList.value = res.data.result?.items ?? [];
+  //tableParams.value.total = res.data.result?.total;
+  materialTotal.value = res.data.result?.total;
+  loading.value = false;
+
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+  materialForm.value = {
+    MaterialTypeId: "",
+    Code: "",
+    Page: 1,
+    // MaterialType: 1,
+    PageSize: 10
+  };
+  getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+  checkedMaterial.value = val;
+};
+
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = () => {
+  // if ( addForm.value.freeOrderType && isShowBomBtn.value ) {
+  //   ElMessage.warning("鍏嶈垂浠剁被鍨嬫槸PR2锛屽彧鑳芥柊澧濪I缁存姢鐨勭墿鏂欙紒");
+  //   return;
+  // }
+  getMaterialList();
+  addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+  //鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+  if (warehousOrderDetails.value.length == 0) {
+
+    // 鑷姩缁欒鍙峰鍊�
+    checkedMaterial.value.forEach((item, index) => {
+      if (!item.ebelp) {
+        item.ebelp = index + 1 + warehousOrderDetails.value.length
+      }
+    })
+
+    warehousOrderDetails.value.push(...checkedMaterial.value);
+  } else {
+    for (let i = 0; i < checkedMaterial.value.length; i++) {
+      let idx = warehousOrderDetails.value.findIndex(
+        (item: {
+ebelp: any; code: any 
+}) =>
+          item.code == checkedMaterial.value[i].code &&
+          item.ebelp == checkedMaterial.value[i].ebelp
+      );
+      if (idx > -1) {
+        return ElMessage.warning(
+          `鐗╂枡缂栧彿${checkedMaterial.value[i].code}锛岃鍙凤細${checkedMaterial.value[i].ebelp || ""
+          }鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦
+        );
+      }
+    }
+
+    // 鑷姩缁欒鍙峰鍊�
+    checkedMaterial.value.forEach((item, index) => {
+      if (!item.ebelp) {
+        item.ebelp = index + 1 + warehousOrderDetails.value.length
+      }
+    })
+    warehousOrderDetails.value.push(...checkedMaterial.value);
+  }
+
+  addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+  materialForm.value = {
+    MaterialTypeId: "",
+    Code: "",
+    Page: 1,
+    // MaterialType: 1,
+    PageSize: 10
+  };
+  materialList.value = [];
+  checkedMaterial.value = [];
+  materialRef.value.clearSelection();
+};
+
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog ,openDrawer});
+</script>
+<style lang="less" scoped>
+.detailBoxWrap{
+  margin: 10px;
+}
+.msi-form{
+  margin-top: 10px;
+}
+.msi-form{
+  margin-bottom: 10px
+}
+
+.slot_title {
+	display: flex;
+	align-items: center;
+
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #F18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/openDialogPd.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/openDialogPd.vue
new file mode 100644
index 0000000..2e10144
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/openDialogPd.vue
@@ -0,0 +1,1026 @@
+<template>
+  <div class="wmsRecordTrans-container">
+    <el-dialog v-model="dialogVisible" :title="dialogType == 'add'
+      ? '娣诲姞鐩樼偣鍗�'
+      : dialogType == 'edit'
+        ? '缂栬緫鐩樼偣鍗�'
+        : '鐩樼偣鍗曡鎯�'
+      " width="60%" @close="closeDialog">
+      <el-form :model="addForm" label-width="110px" ref="dialogRef" :rules="formRules">
+        <el-row>
+         
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="鐩樼偣鏂瑰紡" prop="checkMode">
+              <el-select :disabled="dialogType == 'detail'" v-model="addForm.checkMode" placeholder="璇烽�夋嫨鐩樼偣鏂瑰紡" style="width: 100%">
+                <el-option v-for="item in getEnumCheckModeData_Index" :key="item.value" :value="item.value" :label="`${item.describe}`" />
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="璁″垝鐩樼偣鏃堕棿" prop="CreateDate">
+              <el-date-picker :disabled="dialogType == 'detail'" v-model="addForm.CreateDate" type="datetimerange" range-separator="鑷�"
+                start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿" format="YYYY-MM-DD HH:mm:ss" :default-time="[
+                  new Date(2000, 1, 1, 0, 0, 0),
+                  new Date(2000, 1, 1, 23, 59, 59),
+                ]" value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="澶囨敞">
+              <el-input v-model="addForm.remarks" clearable :disabled="dialogType == 'detail'" placeholder="璇疯緭鍏ュ娉�" />
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+            <el-form-item label="閫夋嫨搴撳尯">
+              <el-select v-model="addForm.areaName" :disabled="dialogType == 'detail'"  clearable placeholder="璇烽�夋嫨闇�瑕佺洏鐐圭殑搴撳尯" multiple
+                collapse-tags style="width: 100%">
+                <el-option v-for="item in arrTdpArea" :key="item.value" :label="item.title" :value="item.value" />
+              </el-select>
+              <el-tag type="success" v-show="addForm.areaName && addForm.areaName.length > 0"
+							style="margin-top: 10px;">{{ addForm.areaName }}</el-tag>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <!-- 鐩樼偣鐗╂枡 -->
+      <div class="msi-content" style="margin-top: 0">
+        <div class="header">
+          <div>
+            <el-button type="primary" icon="el-icon-plus" @click="addMaterialDialog" v-if="dialogType != 'detail'">鏂板鐗╂枡</el-button>
+            <el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+              @click="delCheckedDetails" v-if="dialogType != 'detail'">鍒犻櫎閫変腑琛�</el-button>
+            <!-- <el-button icon="el-icon-download" plain @click="getMaterialTemplate"
+                >涓嬭浇瀵煎叆妯℃澘</el-button
+              >
+              <el-button icon="el-icon-upload2" plain @click="openUploadDialog"
+                >鎵归噺瀵煎叆</el-button
+              > -->
+          </div>
+          <br />
+        </div>
+        <el-table :data="warehousOrderDetails" border style="width: 100%" row-key="wareMaterialCode" ref="detailRef"
+          @selection-change="detailsCheckChange" max-height="480">
+          <el-table-column align="center" width="60" type="selection" />
+          <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+          <el-table-column label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center" show-overflow-tooltip />
+          <el-table-column label="鐗╂枡鍚嶇О" min-width="140" prop="materialName" align="center" show-overflow-tooltip />
+  
+          <!-- <el-table-column label="鏁伴噺" align="center" width="180">
+            <template #default="scope">
+              <el-input-number :precision="3" min="0" v-model="scope.row.quantity" size="small" />
+            </template>
+          </el-table-column> -->
+        </el-table>
+      </div>
+      <template #footer>
+        <span class="dialog-footer">
+          <!-- <el-button @click="planBl" v-if="addForm.CheckType == 0 && dialogType != 'detail'">璁$畻姣斾緥</el-button> -->
+          <el-button @click="dialogVisible = false">鍙栨秷</el-button>
+          <el-button v-if="dialogType != 'detail'" type="primary" :disabled="disabled_btn" @click="confirm">纭</el-button>
+        </span>
+      </template>
+    </el-dialog>
+    <!-- 娣诲姞鐗╂枡 -->
+    <el-dialog v-model="addMaterialVisible" title="娣诲姞鐗╂枡璇︽儏" width="60%" @close="closeMaterialDialog">
+      <div class="msi-form" style="padding-top: 0px">
+        <el-form :model="materialForm" label-width="90px">
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="鐗╂枡缂栧彿">
+                <el-input v-model="materialForm.MaterialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="8">
+              <el-form-item label="鐗╂枡鍚嶇О:">
+                <el-input v-model="materialForm.MaterialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" clearable></el-input>
+              </el-form-item>
+            </el-col>
+
+            <!-- <el-col :span="8">
+              <el-form-item label="鎵规:">
+                  <el-input v-model="materialForm.BatchNo" placeholder="璇疯緭鍏ョ墿鏂欐壒娆�" clearable></el-input>
+              </el-form-item>
+            </el-col> -->
+
+            <el-col :span="8">
+              <el-form-item>
+                <el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+                <!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm"
+                    >閲嶇疆</el-button
+                  > -->
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <br />
+      <div class="msi-content" style="padding-top: 0; margin-top: 0px">
+        <el-table :data="materialList" border style="width: 100%" row-key="wareMaterialCode" ref="materialRef"
+          @selection-change="materialSelectionChange">
+          <el-table-column align="center" width="60" type="selection" />
+          <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+          <el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+          <el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+          <el-table-column label="閲囪喘鍗曚綅" prop="poUnit" align="center" min-width="140" show-overflow-tooltip />
+        </el-table>
+        <Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+          @pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+      </div>
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+          <el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+        </span>
+      </template>
+    </el-dialog>
+    <!-- 鐩樼偣璁″垝鑼冨洿 -->
+    <el-drawer v-model="drawerVisible" title="璁″垝鑼冨洿" direction="rtl" size="80%" @close="handleDrawerClose">
+      <template #title>
+        <div class="slot_title">
+          <div class="title_orderNo">{{ orderNo }}</div>
+          <div>璁″垝鑼冨洿</div>
+        </div>
+      </template>
+      <el-table :data="deltailList" border striped style="width: 96%; margin: 10px auto">
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column label="鐗╂枡缂栧彿" prop="wareMaterialCode" align="center" />
+        <el-table-column label="鐗╂枡鍚嶇О" prop="wareMaterialName" align="center" />
+        <el-table-column label="鏁伴噺" prop="quantity" align="right" />
+        <el-table-column label="鍗曚环" prop="price" align="center">
+          <template #default="scope">
+            {{ amountFormat(scope.row.price + "", 2, false) }}
+          </template>
+        </el-table-column>
+        <el-table-column label="鎬讳环" align="center">
+          <template #default="scope">
+            {{ amountFormat(scope.row.price * scope.row.quantity + "", 2, false) }}
+          </template>
+        </el-table-column>
+        <el-table-column label="鎵规" prop="batchNo" align="center" />
+        <el-table-column label="浠撳簱" prop="wareStorehouseName" align="center" />
+        <el-table-column label="搴撳尯" prop="wareRegionName" align="center" />
+        <el-table-column label="搴撲綅鍚嶇О" prop="wareLocationName" align="center" />
+        <el-table-column label="瀹瑰櫒缂栧彿" prop="wareContainerCode" align="center" />
+      </el-table>
+      <Pagination :total="detailCount" v-model:page="detailForm.Page" v-model:limit="detailForm.PageSize"
+        @pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+    </el-drawer>
+
+  </div>
+</template>
+
+<script lang="ts" setup>
+import { ref, nextTick, computed, watch, onMounted } from "vue";
+import {
+  getCheckPlanPage,
+  getCheckPlanOrder,
+  addCheckPlan,
+  editCheckPlan,
+  deleteCheckPlan,
+  getMaterialPage,
+  getCheckPlanDetail,
+  getCheckPlanRange,
+  getCatList,
+  getTemplate,
+  passCheckTjPlan,
+  passCheckChPlan,
+  getCheckPlanBl,
+  getCheckPlanBlBj,
+  getCheckPlanTimeOrder,
+getCheckPlanOpen,
+} from "/@/api/main/Check/checkOrder";
+import { getCheckRulesOrder, getCheckRulesPage } from "/@/api/main/Check/checkRules";
+import { addWmsInventoryCheckPlan, updateWmsInventoryCheckPlan, detailWmsInventoryCheckPlan } from "/@/api/main/Check/wmsInventoryCheckPlan";
+// import { getAreaInfoList } from "/@/api/main/warehouse";
+import { ElMessage, ElMessageBox } from "element-plus";
+import { addWmsInventoryCheckOrder, updateWmsInventoryCheckOrder, detailWmsInventoryCheckOrder } from "/@/api/main/WmsInventory/wmsInventoryCheckOrder";
+
+import { pageWmsInventoryCheckRange, deleteWmsInventoryCheckRange,importExcelWmsInventoryCheckRange,downloadExcelTemplateWmsInventoryCheckRange,listWmsInventoryCheckRange } from '/@/api/main/WmsInventory/wmsInventoryCheckRange';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+import Pagination from "/@/components/Pagination/index.vue";
+const loading = ref(false);
+import {
+  addDate,
+  amountFormat,
+  formatUtcToData,
+  getTypeStatus,
+  formatDecimalData,
+} from "/@/utils/formate";
+import { pageWmsInventoryCheckPlan } from "/@/api/main/Check/wmsInventoryCheckPlan";
+
+import {
+  formatDate,
+  formatDate_T_Date,
+  formatDate_T_Time,
+  defaultTimeRange,
+} from "/@/utils/formatTime";
+import { pageWmsMaterial } from "/@/api/main/WmsBase/wmsMaterial";
+import { handleSlectDataWmsArea } from "/@/utils/selectData";
+import { pageWmsInventoryCheckPlanDetails } from "/@/api/main/Check/wmsInventoryCheckPlanDetails";
+
+
+const emits = defineEmits(["getTabelData"]);
+
+// import MsiUpload from "/@/common-ui/upLoad/MsiUpload.vue";
+// import { ExcellTableDataExport } from "/@/hooks/exportTableDataExcell";
+// import { expandMore } from "/@/hooks/expandMore";
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = () => {
+  uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+  getTabelData();
+};
+
+
+const getEnumCheckModeData_Index = ref<any>([]);
+
+
+const store = {
+  state: {
+    login: {
+      enums: {},
+    },
+  },
+};
+
+const checkTypeEnum100 = ref<any[]>([{ value: 2, title: "闈欐�佺洏鐐�" }]);
+
+//璁″垝绫诲瀷鏋氫妇
+const checkMarkEnum = computed(
+  () => {
+    [];
+  }
+
+  // store.state.login.enums.checkMarkEnum
+);
+
+//褰撲翰浠撳簱涓嬬殑搴撳尯鏋氫妇
+const wareRegionEnum = ref<{ value: string; title: string }[]>([]);
+
+//鑾峰彇鐗╂枡澶х被
+const catListEnum = ref<{ value: string; title: string }[]>([]);
+
+
+// --------------鏌ヨ-----------------------
+//鏌ヨ
+const formModel = ref({
+  OrderNo: "",
+  Status: "",
+  Page: 1,
+  PageSize: 10,
+  BeginDate: "",
+  checkType: "",
+  checkMark: "",
+  regionName: "",
+  ruleCheckTypeName: "",
+  checkTypeName: "",
+  EndDate: "",
+  IsQueryAll: false,
+  OrderMenuType: 43, //鐩樼偣璁″垝鍒涘缓
+  CreateTime: [],
+});
+
+//鐩樼偣璁″垝鍒楄〃
+let tableData = ref([]);
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+const tableRef = ref([]);
+
+const loadingWmsInventoryCheckPlan = ref(false);
+const disabled_btnWmsInventoryCheckPlan = ref(false);
+const tableDataWmsInventoryCheckPlan = ref<any>([]);
+const queryParamsWmsInventoryCheckPlan = ref<any>({});
+
+
+
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+  checkRows.value = val;
+};
+// ------------灏佽瀵煎嚭鍔熻兘1--鍓嶇瀵煎嚭--鏍规嵁鎼滅储鏉′欢瀵煎嚭---------------
+// const jsonExcellTableExport = {
+//   titleName: "", //瀵煎嚭琛ㄦ牸鍚嶇О
+//   interfaceListName: "", //瀵煎嚭鎺ュ彛鍚嶇О
+// };
+// const {
+//   getExportTitle,
+//   handleExportExcell,
+//   formExport,
+//   entozhExcell,
+// } = ExcellTableDataExport(jsonExcellTableExport);
+// --------------end 灏佽瀵煎嚭鍔熻兘1--鏍规嵁鎼滅储鏉′欢瀵煎嚭-----------------
+//瀵煎嚭
+const handExport = () => {
+  //瀵煎嚭璋冪敤鎺ュ彛
+  const { Page, PageSize, ...rest } = formModel.value;
+  getCheckPlanPage({ Page: 1, PageSize: 1000000, ...rest }).then((res) => {
+    if (res.code == 200) {
+      res.data.rows.forEach((item) => {
+        // item.orderStatus = getStatusStr(item.orderStatus)
+        item.checkMark = checkMarkEnum.value.filter(
+          (v: any) => v.value == item.checkMark
+        )[0]?.title;
+        item.ruleRate = item.ruleRate + "%";
+        // item.orderSortStatus = OrderSortStatusEnum_List.value.filter((v: any) => v.value == item.orderSortStatus)[0].title;
+      });
+      // exportExcel(
+      //   res.data.rows,
+      //   entozhExcell,
+      //   "xlsx",
+      //   `鐩樼偣璁″垝淇℃伅琛�${formatUtcToData(new Date().toString(), "YYYY-MM-DD hh:mm:ss")}`
+      // );
+    }
+  });
+};
+
+
+//-------------------------鐩樼偣璁″垝鑼冨洿-------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+  orderId: "",
+  CheckType: "",
+  Page: 1,
+  PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+
+//鍗曟嵁鍙�
+const orderNo = ref("");
+
+//鎵撳紑鎶藉眽
+const openDrawer = (scope: any = {}) => {
+  //褰撳墠鍏ュ簱鍗曞彿id
+  detailForm.value.orderId = scope.id;
+  detailForm.value.CheckType = scope.checkType;
+  //璁″垝鍙�
+  orderNo.value = scope.orderNo;
+  //鑾峰彇鐗╂枡鍒楄〃
+  getDetail();
+  drawerVisible.value = true;
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+  detailForm.value = {
+    orderId: "",
+    CheckType: "",
+    Page: 1,
+    PageSize: 10,
+  };
+
+  deltailList.value = [];
+  detailCount.value = 0;
+};
+
+//鐩樼偣璁″垝鑼冨洿鍒楄〃
+const deltailList = ref<any[]>([]);
+
+//鐩樼偣璁″垝鑼冨洿鏁版嵁鏉℃暟
+const detailCount = ref(0);
+
+//鐩樼偣璁″垝鑼冨洿
+const getDetail = () => {
+  getCheckPlanRange(detailForm.value)
+    .then((res) => {
+      if (res.code == 200) {
+        const { data } = res;
+        const result = data;
+        deltailList.value = result.rows;
+        detailCount.value = result.totalRows;
+      } else {
+        ElMessage.error(
+          JSON.stringify(`鑾峰彇璁″垝鑼冨洿澶辫触${res.code}:${JSON.stringify(res.message)}`)
+        );
+      }
+    })
+    .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+// ---------------娣诲姞缂栬緫閫昏緫-------------------------
+//鑾峰彇瑙勫垯鍗曞彿
+const getPlanOrder = () => {
+  getCheckPlanOrder()
+    .then((res) => {
+      if (res.code == 200) {
+        addForm.value.orderNo = res.data;
+      } else {
+        return ElMessage.error(`鑾峰彇鍗曠洏鐐硅鍒欏簭鍒楀彿澶辫触${res.code}:${res.message}`);
+      }
+    })
+    .catch((err) => ElMessage.error(`鑾峰彇鐩樼偣瑙勫垯鍗曞彿澶辫触${err}`));
+};
+
+//绐楀彛绫诲瀷
+const dialogType = ref("add");
+
+const dialogVisible = ref(false);
+
+//鎿嶄綔琛ㄥ崟ref
+const dialogRef = ref();
+
+const showAdvanceQueryUIWmsInventoryCheckPlanDetails = ref(false);
+const tableRefWmsInventoryCheckPlanDetails = ref(null);
+const printDialogRefWmsInventoryCheckPlanDetails = ref();
+const editDialogRefWmsInventoryCheckPlanDetails = ref();
+const loadingWmsInventoryCheckPlanDetails = ref(false);
+const disabled_btnWmsInventoryCheckPlanDetails = ref(false);
+const tableDataWmsInventoryCheckPlanDetails = ref<any>([]);
+const queryParamsWmsInventoryCheckPlanDetails = ref<any>({});
+const tableParamsWmsInventoryCheckPlanDetails = ref({
+  page: 1,
+  pageSize: 100000,
+  total: 0,
+});
+
+//鑾峰彇鐩樼偣璁″垝鏄庣粏
+const getPlanDetail = async (id: number, checkType: number) => {
+  loadingWmsInventoryCheckPlanDetails.value = true;
+  disabled_btnWmsInventoryCheckPlanDetails.value = true;
+  var res = await listWmsInventoryCheckRange({
+    orderId:id
+  });
+  if (res.data.type == "success") {
+    warehousOrderDetails.value = res.data.result ?? [];
+  }
+  loadingWmsInventoryCheckPlanDetails.value = false;
+  disabled_btnWmsInventoryCheckPlanDetails.value = false;
+
+};
+
+//鎵撳紑绐楀彛
+const openDialog = async (type: number, scope: any = {}) => {
+  dialogVisible.value = true;
+  debugger;
+  handleQueryTdpArea();
+
+  getEnumCheckModeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckModeEnum')).data.result ?? [];
+
+    
+  if (type == 1) {
+    // getPlanOrder();
+    // getRulesOrder();
+    dialogType.value = "add";
+  } else if (type == 2) {
+    dialogType.value = "edit";
+    addForm.value =JSON.parse(JSON.stringify(scope));
+    if(addForm.value.areaName){
+      debugger
+      addForm.value.areaName = addForm.value.areaName.split(",");
+      addForm.value.areaCode = addForm.value.areaCode.split(",");
+
+    }
+    addForm.value.CreateDate = [scope.planStartDate, scope.planEndDate];
+    getPlanDetail(scope.id, scope.checkType);
+
+  } else if (type == 3) {
+    dialogType.value = "detail";
+    addForm.value =JSON.parse(JSON.stringify(scope));
+    if(addForm.value.areaName){
+      debugger
+      addForm.value.areaName = addForm.value.areaName.split(",");
+      addForm.value.areaCode = addForm.value.areaCode.split(",");
+
+    }
+    addForm.value.CreateDate = [scope.planStartDate, scope.planEndDate];
+    getPlanDetail(scope.id, scope.checkType);
+  }
+
+  nextTick(() => {
+    if (dialogRef) {
+      dialogRef.value.clearValidate();
+    }
+  });
+};
+
+//娣诲姞/缂栬緫
+let addForm = ref({
+  checkMode: "",
+  planDate: "",
+  remarks: "",
+  areaName:[],
+  areaCode:[],
+  materials: [] as { wareMaterialCode: string; }[]
+});
+
+//鐩戣搴撳尯鐨勯�夋嫨鍙樺寲锛岃幏鍙栧綋鍓嶄粨搴撲笅鐨勫簱鍖哄垪琛�
+// watch(
+//   () => addForm.value.storehouse.wareStorehouseCode,
+//   (value) => {
+//     addForm.value.storehouse.wareRegionCode = [];
+//     if (value) {
+//       getwareRegion();
+//     } else {
+//       //濡傛灉娓呯┖浜嗗簱鍖�,搴撲綅淇℃伅涓虹┖
+//       wareRegionEnum.value = [];
+//     }
+//   }
+// );
+
+//鐩戣鐩樼偣缁村害鐨勫彉鍖栵紝濡傛灉閫夋嫨鐩樼偣鐗╂枡锛岄粯璁ゅ嬀閫変竴涓寚瀹氱殑鍏ㄧ洏
+// watch(
+//   () => addForm.value.checkType,
+//   (val) => {
+//     if (val == 1) {
+//       //鐩樼偣鐗╂枡
+//       addForm.value.ruleNo = "386109304414277";
+//       addForm.value.ruleName = "鐩樼偣鐗╂枡";
+//       addForm.value.rate = 100;
+//     } else {
+//       addForm.value.ruleNo = "";
+//       addForm.value.ruleName = "";
+//       getRulesOrder();
+//     }
+//   }
+// );
+
+//鏃堕棿閫夋嫨涓嶈兘澶т簬褰撳墠鏃堕棿
+const disabledDate = (time: Date) => {
+  return time.getTime() < Date.now();
+};
+
+//rules
+const formRules = {
+  checkMode: [{ required: true, message: "鐩樼偣鏂瑰紡涓嶈兘涓虹┖", trigger: "blur" }],
+  CreateDate: [{ required: true, message: "璁″垝鐩樼偣鏃堕棿涓嶈兘涓虹┖", trigger: "blur" }]
+};
+const disabled_btn = ref(false);
+//鎿嶄綔鎻愪氦
+const confirm = () => {
+  dialogRef.value.validate(async (vali: any) => {
+    if (vali) {
+      addForm.value.materials = warehousOrderDetails.value;
+
+      if (addForm.value.CreateDate && addForm.value.CreateDate.length > 0) {
+        addForm.value.PlanStartDate = addForm.value.CreateDate[0];
+        addForm.value.PlanEndDate = addForm.value.CreateDate[1]; //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+      } else {
+        // 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+        if (addForm.value.PlanStartDate || addForm.value.PlanEndDate) {
+          addForm.value.PlanStartDate = "";
+          addForm.value.PlanEndDate = "";
+        }
+      }
+
+
+      console.log(addForm.value);
+
+      var param = JSON.parse(JSON.stringify(addForm.value));
+
+      if(addForm.value.areaName && addForm.value.areaName.length>0){
+        addForm.value.areaCode = [];
+        arrTdpArea.value.forEach((item)=>{
+          let strArr = addForm.value.areaName.filter((v: any) => v == item.areaName)
+          if(strArr.length > 0){
+            addForm.value.areaCode.push(item.areaCode);
+          }
+        })
+        debugger
+        param.areaName = addForm.value.areaName.join(",");
+        param.areaCode = addForm.value.areaCode.join(",");
+      }else{
+        param.areaName = "";
+        param.areaCode = "";
+      }
+
+      debugger
+      //娣诲姞
+      if (dialogType.value == "add") {
+        disabled_btn.value = true;
+        loading.value = true;
+        let ret = {};
+        ret = await addWmsInventoryCheckOrder({
+          ...param
+        });
+        loading.value = false;
+        disabled_btn.value = false;
+        if (ret.data.type == "success") {
+          ElMessage.success("鏂板鎴愬姛");
+          emits('getTabelData');
+          dialogVisible.value = false;
+        }
+
+      } else if (dialogType.value == "edit") {
+
+        loading.value = true;
+        disabled_btn.value = true;
+        let ret = {};
+        ret = await updateWmsInventoryCheckOrder({
+          ...param
+        });
+        loading.value = false;
+        disabled_btn.value = false;
+        if (ret.data.type == "success") {
+          ElMessage.success("缂栬緫鎴愬姛");
+          emits('getTabelData');
+          dialogVisible.value = false;
+        }
+
+      } else {
+        dialogVisible.value = false;
+      }
+    } else {
+      ElMessage.warning("琛ㄥ崟楠岃瘉澶辫触");
+    }
+  });
+
+};
+
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+  addForm.value = {
+    checkMode: "",
+    planDate: "",
+    remarks: "",
+    areaName:[],
+    areaCode:[],
+    materials: [] as { wareMaterialCode: string; }[]
+  };
+  warehousOrderDetails.value = [];
+  checkedDetails.value = [];
+  disabled_btn.value = false;
+  detailRef.value.clearSelection();
+};
+
+// ---------------鏉愭枡鐩樼偣鍒楄〃-------------------------
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+  checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+  ElMessageBox.confirm("鏄惁纭鍒犻櫎锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(() => {
+      checkedDetails.value.forEach((item) => {
+        const index = warehousOrderDetails.value.findIndex(
+          (detail) => detail.wareMaterialCode == item.wareMaterialCode
+        );
+        warehousOrderDetails.value.splice(index, 1);
+      });
+    })
+    .catch(() => ElMessage.info("宸插彇娑堝垹闄�"));
+};
+
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+  WareMaterialCode: "",
+  WareMaterialName: "",
+  BatchNo: "",
+  Page: 1,
+  PageSize: 10,
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+  debugger;
+
+  loading.value = true;
+  // var res = await pageWmsMaterial(Object.assign(queryParams.value, tableParams.value));
+  var res = await pageWmsMaterial(Object.assign(materialForm.value));
+
+  materialList.value = res.data.result?.items ?? [];
+  //tableParams.value.total = res.data.result?.total;
+  materialTotal.value = res.data.result?.total;
+  loading.value = false;
+
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+  materialForm.value = {
+    WareMaterialCode: "",
+    WareMaterialName: "",
+    BatchNo: "",
+    Page: 1,
+    PageSize: 10,
+  };
+  getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+  checkedMaterial.value = val;
+};
+
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = () => {
+  getMaterialList();
+  addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+  //鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+  if (warehousOrderDetails.value.length == 0) {
+    warehousOrderDetails.value.push(...checkedMaterial.value);
+  } else {
+    for (let i = 0; i < checkedMaterial.value.length; i++) {
+      let idx = warehousOrderDetails.value.findIndex(
+        (item: any) =>
+          item.materialCode == checkedMaterial.value[i].materialCode
+      );
+      if (idx > -1) {
+        return ElMessage.warning(
+          `鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦
+        );
+      }
+    }
+    warehousOrderDetails.value.push(...checkedMaterial.value);
+  }
+
+  addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+  materialForm.value = {
+    WareMaterialCode: "",
+    WareMaterialName: "",
+    BatchNo: "",
+    Page: 1,
+    PageSize: 10,
+  };
+  materialList.value = [];
+  checkedMaterial.value = [];
+  materialRef.value.clearSelection();
+};
+
+//鎻愪氦
+const pass = (orderNo: string) => {
+  ElMessageBox.confirm("鏄惁纭鎻愪氦锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(() => {
+      passCheckTjPlan({ OrderNo: orderNo })
+        .then()
+        .then((res) => {
+          if (res.code == 200) {
+            ElMessage.success("鎻愪氦鎴愬姛");
+            getTabelData();
+            dialogVisible.value = false;
+          } else {
+            ElMessage.error(`澶辫触${res.code}:${JSON.stringify(res.message)}`);
+          }
+        })
+        .catch((err) => ElMessage.error(JSON.stringify(err)));
+    })
+    .catch(() => ElMessage.info("宸插彇娑�"));
+};
+//鎾ゅ洖
+const passCh = (orderNo: string) => {
+  ElMessageBox.confirm("鏄惁纭鎾ゅ洖锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(() => {
+      passCheckChPlan({ OrderNo: orderNo })
+        .then()
+        .then((res) => {
+          if (res.code == 200) {
+            ElMessage.success("鎾ゅ洖鎴愬姛");
+            getTabelData();
+            dialogVisible.value = false;
+          } else {
+            ElMessage.error(`澶辫触${res.code}:${JSON.stringify(res.message)}`);
+          }
+        })
+        .catch((err) => ElMessage.error(JSON.stringify(err)));
+    })
+    .catch(() => ElMessage.info("宸插彇娑�"));
+};
+
+// 璁″垝姣斾緥
+const planBl = (orderNo: string) => {
+  dialogRef.value.validate((vali: any) => {
+    if (vali) {
+      addForm.value.materials = warehousOrderDetails.value;
+      addForm.value.materials.map((item) => {
+        item.jsonData = JSON.stringify(item);
+        return item;
+      });
+      // if (addForm.value.checkType == 2) {
+      //   if (addForm.value.category.length == 0) {
+      //     return ElMessage.warning("璇烽�夋嫨闇�瑕佺洏鐐圭殑鐗╂枡澶х被");
+      //   }
+      addForm.value.categoryList = [];
+      addForm.value.category.forEach((item) => {
+        addForm.value.categoryList.push({ category: item });
+      });
+      // }
+
+      if (addForm.value.CreateDate && addForm.value.CreateDate.length > 0) {
+        addForm.value.CheckRuleStartDate = addForm.value.CreateDate[0];
+        addForm.value.CheckRuleEndDate = addForm.value.CreateDate[1]; //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+      } else {
+        // 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+        if (addForm.value.CheckRuleStartDate || addForm.value.CheckRuleEndDate) {
+          addForm.value.CheckRuleStartDate = "";
+          addForm.value.CheckRuleEndDate = "";
+        }
+      }
+      console.log(addForm.value);
+      if (dialogType.value == "add") {
+        getCheckPlanBl(addForm.value).then((res: any) => {
+          if (res.code == 200) {
+            if (res.data) {
+              addForm.value.totalCheckRateValue = res.data.totalCheckRateValue;
+              addForm.value.planCheckRateValue = res.data.planCheckRateValue;
+            }
+          } else {
+            ElMessage.error(`${res.code}:${JSON.stringify(res.message)}`);
+          }
+        });
+      }
+      if (dialogType.value == "edit") {
+        getCheckPlanBlBj(addForm.value).then((res: any) => {
+          if (res.code == 200) {
+            if (res.data) {
+              addForm.value.totalCheckRateValue = res.data.totalCheckRateValue;
+              addForm.value.planCheckRateValue = res.data.planCheckRateValue;
+            }
+          } else {
+            ElMessage.error(`${res.code}:${JSON.stringify(res.message)}`);
+          }
+        });
+      }
+    } else {
+      ElMessage.warning("琛ㄥ崟楠岃瘉澶辫触");
+    }
+  });
+};
+
+// 鏃堕棿鑼冨洿
+// const showName = ref(1);
+// watch(
+//   () => addForm.value.CheckType,
+//   (newVal) => {
+//     getTimeOrder(newVal);
+//     if (newVal == 2) {
+//       //鍏ㄧ洏
+//       showName.value = 0;
+//       addForm.value.timeFrame = "";
+//     } else {
+//       showName.value = 1;
+//       //addForm.value.timeFrame = 30
+//     }
+//   }
+// );
+
+//鑾峰彇瑙勫垯鍗曞彿
+const getRulesOrder = () => {
+  getCheckRulesOrder()
+    .then((res) => {
+      if (res.code == 200) {
+        console.log(res);
+        addForm.value.ruleNo = res.data;
+      } else {
+        return ElMessage.error(`鑾峰彇鍗曠洏鐐硅鍒欏簭鍒楀彿澶辫触${res.code}:${res.message}`);
+      }
+    })
+    .catch((err) => ElMessage.error(`鑾峰彇鐩樼偣瑙勫垯鍗曞彿澶辫触${err}`));
+};
+
+//鏃堕棿
+const detailTimeArr = ref([]);
+
+const showAdvanceQueryUI = ref(false);
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUI = () => {
+  showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+};
+
+//-----------------杩滅▼鎼滅储 搴撳尯缂栧彿----------------
+const arrTdpArea = ref<any[]>([]);
+const queryParamsWArea = ref<any>({});
+const tableParamsWArea = ref({
+  page: 1,
+  pageSize: 1000,
+  total: 0,
+  areaCode: "",
+});
+
+const handleQueryTdpArea = async () => {
+  var res = await handleSlectDataWmsArea(
+    Object.assign(queryParamsWArea.value, tableParamsWArea.value)
+  );
+  arrTdpArea.value = res ?? [];
+};
+
+const changeXmbhArea = async (query?: any) => {
+    loading.value = true;
+    var res = await handleSlectDataWmsArea({
+      page: 1,
+      pageSize: 200,
+      areaCode: query,
+    });
+    loading.value = false;
+    arrTdpArea.value = res ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethodArea = async (query: string) => {
+    loading.value = true;
+    var res = await handleSlectDataWmsArea({
+      page: 1,
+      pageSize: 200,
+      areaCode: query,
+    });
+    loading.value = false;
+    arrTdpArea.value = res ?? [];
+};
+
+
+  // 寮�鍚洏鐐�
+  // const openWmsWarehouse = (row: any) => {
+  //   ElMessageBox.confirm(`纭畾瑕佸紑鍚洏鐐瑰悧?`, "鎻愮ず", {
+  //   confirmButtonText: "纭畾",
+  //   cancelButtonText: "鍙栨秷",
+  //   type: "warning",
+  // })
+  // .then(async () => {
+  //   var res = await getCheckPlanOpen({
+  //     OrderNo:checkRows.value[0].orderNo
+  //   });
+  //   if(res.data && res.data.code==200){
+  //     getTabelData();
+  //     ElMessage.success("寮�鍚洏鐐规垚鍔�");
+  //   }
+  // })
+  // .catch(() => {});
+  // };
+
+
+  const getEnumCheckStageData_Index = ref<any>([]);
+  const getEnumIsAuditData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+
+  onMounted(async () => {
+   
+  });
+
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+
+
+</script>
+<style lang="less">
+.el-dialog__title {
+  color: white !important;
+  font-size: 14px;
+}
+
+.under_line {
+  color: #F18201;
+  text-decoration: underline;
+  cursor: pointer;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/index.vue
new file mode 100644
index 0000000..9fc1e97
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/index.vue
@@ -0,0 +1,539 @@
+锘�<template>
+	<div class="wmsInventoryCheckOrder-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="queryParamsWmsInventoryCheckOrder" ref="queryForm" labelWidth="90">
+				<el-row>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+						<el-form-item label="鍏抽敭瀛�">
+							<!-- ,澶囨敞,鍒涘缓浜�,淇敼浜� -->
+							<el-input v-model="queryParamsWmsInventoryCheckOrder.searchKey" clearable="" placeholder="鐩樼偣鍗曞彿,鐩樼偣鏂瑰紡,鐩樼偣闃舵,搴撳尯缂栫爜" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+						<el-form-item label="鐩樼偣鍗曞彿">
+							<el-input v-model="queryParamsWmsInventoryCheckOrder.orderNo" clearable="" placeholder="璇疯緭鍏ョ洏鐐瑰崟鍙�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+						<el-form-item label="鐩樼偣鏂瑰紡">
+							<el-select clearable="" v-model="queryParamsWmsInventoryCheckOrder.checkMode" placeholder="璇烽�夋嫨鐩樼偣鏂瑰紡">
+								<el-option v-for="(item, index) in getEnumCheckModeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="鐩樼偣鏂瑰紡鍚嶇О">
+              <el-input v-model="queryParamsWmsInventoryCheckOrder.checkModeName" clearable="" placeholder="璇疯緭鍏ョ洏鐐规柟寮忓悕绉�"/>
+              
+            </el-form-item>
+          </el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+						<el-form-item label="鐩樼偣闃舵">
+							<el-select clearable="" v-model="queryParamsWmsInventoryCheckOrder.checkStage" placeholder="璇烽�夋嫨鐩樼偣闃舵">
+								<el-option v-for="(item, index) in getEnumCheckStageData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="鐩樼偣闃舵鍚嶇О">
+              <el-input v-model="queryParamsWmsInventoryCheckOrder.checkStageName" clearable="" placeholder="璇疯緭鍏ョ洏鐐归樁娈靛悕绉�"/>
+            </el-form-item>
+          </el-col> -->
+
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsInventoryCheckOrder.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+            </el-form-item>
+          </el-col> -->
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+						<el-form-item label="搴撳尯鍚嶇О">
+							<!-- <el-input v-model="queryParamsWmsInventoryCheckOrder.areaName" clearable="" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"/> -->
+							<el-select v-model="queryParamsWmsInventoryCheckOrder.areaName" clearable placeholder="璇烽�夋嫨搴撳尯鍚嶇О" collapse-tags style="width: 100%">
+								<el-option v-for="item in arr1" :key="item.value" :label="item.value" :value="item.value" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="璁″垝寮�濮嬫椂闂�">
+              <el-date-picker placeholder="璇烽�夋嫨璁″垝寮�濮嬫椂闂�" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsInventoryCheckOrder.planStartDateRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="璁″垝缁撴潫鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsInventoryCheckOrder.planEndDateRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="鐩樼偣寮�濮嬫棩鏈�">
+              <el-date-picker placeholder="璇烽�夋嫨鐩樼偣寮�濮嬫棩鏈�" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsInventoryCheckOrder.startCheckTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="鐩樼偣缁撴潫鏃ユ湡">
+              <el-date-picker placeholder="璇烽�夋嫨鐩樼偣缁撴潫鏃ユ湡" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsInventoryCheckOrder.endCheckTimeRange" />
+              
+            </el-form-item>
+          </el-col> -->
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+            <el-form-item label="澶囨敞">
+              <el-input v-model="queryParamsWmsInventoryCheckOrder.remarks" clearable="" placeholder="璇疯緭鍏ュ娉�"/>
+              
+            </el-form-item>
+          </el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrder">
+						<el-form-item label="鏄惁宸茶皟璐�">
+							<el-select clearable="" v-model="queryParamsWmsInventoryCheckOrder.isAudit" placeholder="璇烽�夋嫨鏄惁宸茶皟璐�">
+								<el-option v-for="(item, index) in getEnumIsAuditData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+						<el-form-item>
+							<el-button-group style="display: flex; align-items: center">
+								<el-button type="primary" icon="ele-Search" @click="handleQueryWmsInventoryCheckOrder" v-auth="'wmsInventoryCheckOrder:page'" :disabled="disabled_btnWmsInventoryCheckOrder">
+									鏌ヨ
+								</el-button>
+								<el-button icon="ele-Refresh" @click="resetWmsInventoryCheckOrder"> 閲嶇疆 </el-button>
+								<el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsInventoryCheckOrder" v-if="!showAdvanceQueryUIWmsInventoryCheckOrder" style="margin-left: 5px"> 楂樼骇鏌ヨ </el-button>
+								<el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsInventoryCheckOrder" v-if="showAdvanceQueryUIWmsInventoryCheckOrder" style="margin-left: 5px"> 闅愯棌 </el-button>
+								<!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsInventoryCheckOrder" v-auth="'wmsInventoryCheckOrder:add'"> 鏂板 </el-button> -->
+
+								<el-button type="primary" style="margin-left: 5px" icon="ele-Plus" @click="showProp(1)" v-auth="'wmsInventoryCheckOrder:add'"> 鏂板 </el-button>
+
+								<el-button type="primary" style="margin-left: 5px" icon="ele-Finished" @click="openWmsWarehouse" :disabled="checkRows.length != 1">寮�鍚洏鐐�</el-button>
+								<el-button type="primary" style="margin-left: 5px" icon="ele-Finished" 
+								@click="showProp(checkRows,10)" :disabled="checkRows.length != 1">寮�鍚鐩�</el-button>
+
+								<!-- <el-button type="primary" style="margin-left: 5px" icon="ele-Upload" @click="openImportExcelWmsInventoryCheckOrder" v-auth="'wmsInventoryCheckOrder:importExcel'"> 瀵煎叆 </el-button>
+								<el-button type="primary" style="margin-left: 5px" icon="ele-Download" @click="handleExportExcelWmsInventoryCheckOrder" v-auth="'wmsInventoryCheckOrder:exportExcel'"> 瀵煎嚭 </el-button> -->
+							</el-button-group>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</el-card>
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table
+				@selection-change="handleSelectionChange"
+				ref="tableRefWmsInventoryCheckOrder"
+				:data="tableDataWmsInventoryCheckOrder"
+				style="width: 100%"
+				v-loading="loadingWmsInventoryCheckOrder"
+				tooltip-effect="light"
+				row-key="id"
+				@sort-change="sortChangeWmsInventoryCheckOrder"
+				border=""
+			>
+				<el-table-column align="center" width="60" type="selection" />
+				<el-table-column fixed="left" type="index" label="搴忓彿" width="55" align="center" />
+
+				<el-table-column fixed="left" label="鐩樼偣鍗曞彿" prop="orderNo" width="180" align="left" show-overflow-tooltip>
+					<template #default="scope">
+						<span class="under_line" @click="showProp(scope.row, 3)">
+							{{ scope.row.orderNo }}
+						</span>
+					</template>
+				</el-table-column>
+
+				<el-table-column prop="checkMode" label="鐩樼偣鏂瑰紡" show-overflow-tooltip="">
+					<template #default="scope">
+						{{ getEnumDesc(scope.row.checkMode, getEnumCheckModeData_Index) }}
+					</template>
+				</el-table-column>
+				<el-table-column prop="checkStage" label="鐩樼偣闃舵" width="110" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.checkStage, getEnumCheckStageData_Index))">{{ getEnumDesc(scope.row.checkStage, getEnumCheckStageData_Index) }}</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="areaCode" label="搴撳尯缂栧彿" width="110" show-overflow-tooltip="" />
+				<el-table-column prop="areaName" label="搴撳尯鍚嶇О" min-width="160" show-overflow-tooltip="" />
+				<el-table-column prop="planStartDate" label="璁″垝寮�濮嬫椂闂�" width="100" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+				<el-table-column prop="planEndDate" label="璁″垝缁撴潫鏃堕棿" width="100" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+				<el-table-column prop="startCheckTime" label="鐩樼偣寮�濮嬫棩鏈�" width="100" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+				<el-table-column prop="endCheckTime" label="鐩樼偣缁撴潫鏃ユ湡" width="100" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+				<el-table-column prop="remarks" label="澶囨敞" show-overflow-tooltip="" />
+				<el-table-column prop="isAudit" label="鏄惁宸茶皟璐�" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag v-if="scope.row.isAudit"> 鏄� </el-tag>
+						<el-tag type="danger" v-else> 鍚� </el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+				<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+				<el-table-column label="鎿嶄綔" width="290" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsInventoryCheckOrder:update') || auth('wmsInventoryCheckOrder:delete')">
+					<template #default="scope">
+						<el-button icon="ele-InfoFilled" size="small" text="" type="primary" @click="showProp(scope.row,8)" v-auth="'wmsInventoryCheckOrder:update'" :disabled="scope.row.checkStage == 0">
+							鐩樼偣鏄庣粏
+						</el-button>
+
+						<el-button icon="ele-Edit" size="small" text="" type="primary" @click="showProp(scope.row)" v-auth="'wmsInventoryCheckOrder:update'" :disabled="scope.row.checkStage != 0">
+							缂栬緫
+						</el-button>
+
+						<el-button
+							icon="ele-Delete"
+							size="small"
+							text=""
+							type="primary"
+							@click="delWmsInventoryCheckOrder(scope.row)"
+							v-auth="'wmsInventoryCheckOrder:delete'"
+							:disabled="scope.row.checkStage != 0"
+						>鍙栨秷</el-button>
+
+						<el-button icon="ele-Close" size="small" text="" type="primary" v-auth="'wmsOrderDeliver:delete'"
+              @click="tocloseWmsOrderCheck(scope.row)" :disabled="(scope.row.checkStage == 8 || scope.row.checkStage == 6)"> 鍏抽棴 </el-button>
+
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="tableParamsWmsInventoryCheckOrder.page"
+				v-model:page-size="tableParamsWmsInventoryCheckOrder.pageSize"
+				:total="tableParamsWmsInventoryCheckOrder.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsInventoryCheckOrder"
+				@current-change="handleCurrentChangeWmsInventoryCheckOrder"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+			<printDialogWmsInventoryCheckOrder ref="printDialogRefWmsInventoryCheckOrder" :title="printWmsInventoryCheckOrderTitle" @reloadTable="handleQueryWmsInventoryCheckOrder" />
+			<editDialogWmsInventoryCheckOrder ref="editDialogRefWmsInventoryCheckOrder" :title="editWmsInventoryCheckOrderTitle" @reloadTable="handleQueryWmsInventoryCheckOrder" />
+			<importExcelDialog
+				ref="importExcelDialogRefWmsInventoryCheckOrder"
+				:title="importExcelTitleWmsInventoryCheckOrder"
+				@parentUploadFun="handleImportExcelWmsInventoryCheckOrder"
+				@parentDownFun="handleDownExcelWmsInventoryCheckOrder"
+			/>
+		</el-card>
+
+		<!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 -->
+		<open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQueryWmsInventoryCheckOrder"></open-allprop>
+
+		<!-- 鍗曟嵁鏄庣粏 -->
+		<open-allprop-detail titleAuthor="1" hexiao="0" ref="openDialogDetail" @getTabelData="handleQueryWmsInventoryCheckOrder"></open-allprop-detail>
+
+	</div>
+</template>
+
+<script lang="ts" setup="" name="wmsInventoryCheckOrder">
+import { ref, onMounted, getCurrentInstance } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import importExcelDialog from '/@/components/importExcel/index.vue'; //寮曞叆瀵煎叆缁勪欢
+import { exportPageExcel } from '/@/utils/exportPageExcel'; //寮曞叆瀵煎嚭鏂规硶
+import { formatUtcToData, getTypeStatus } from '/@/utils/formate';
+// 璇诲彇涓嬫媺鏁版嵁鐨勫叕鍏辨柟娉�
+import { handleSlectDataWmsArea } from '/@/utils/selectData';
+import {
+	getCheckPlanOpen,
+} from '/@/api/main/Check/checkOrder';
+
+import printDialogWmsInventoryCheckOrder from '/@/views/system/print/component/hiprint/preview.vue';
+import editDialogWmsInventoryCheckOrder from '/@/views/main/WmsInventory/wmsInventoryCheckOrder/component/editDialog.vue';
+import {
+	pageWmsInventoryCheckOrder,
+	deleteWmsInventoryCheckOrder,
+	importExcelWmsInventoryCheckOrder,
+	downloadExcelTemplateWmsInventoryCheckOrder,
+closewmsInventoryCheckOrder,
+} from '/@/api/main/WmsInventory/wmsInventoryCheckOrder';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+//寮曞叆瀵煎嚭鏂规硶  
+import OpenAllprop from './component/openDialogPd.vue';
+import OpenAllpropDetail from './component/openDialogDetail.vue';
+import { ExcellTableDataExport } from '/@/hooks/exportTableDataExcell';
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+
+// ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
+const jsonExcellTableExport = {
+	titleName: '', //瀵煎嚭琛ㄦ牸鍚嶇О
+	interfaceListName: '', //瀵煎嚭鎺ュ彛鍚嶇О
+};
+const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport);
+// --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬-----------------
+// ---------------鏂板-----------------------
+const showProp = (item?: any, type?:any) => {
+	//鐩樼偣鏄庣粏
+	if(type==8){ 
+		proxy.$refs['openDialogDetail'].openDrawer(1, item, entozhExcell);
+		return;
+	}
+	
+	//寮�鍚鐩�
+	if(type==10){ 
+		if(item[0].checkStage != 3){
+			ElMessage.warning('鐩樼偣闃舵涓嶆槸鍒濈洏宸插畬鎴愶紒');
+			return
+		}
+		proxy.$refs['openDialogDetail'].openDialog(2, item);
+		return;
+	}
+
+	if(type==8){ 
+		proxy.$refs['openDialogDetail'].openDrawer(1, item, entozhExcell);
+		return;
+	}
+
+	if (item == 1) {
+		// 鏂板
+		proxy.$refs['propALlProp'].openDialog(1);
+	} else {
+		if (type == 3) {
+			//璇︽儏
+			proxy.$refs['propALlProp'].openDialog(3, item);
+		} else {
+			//缂栬緫
+			proxy.$refs['propALlProp'].openDialog(2, item);
+		}
+	}
+};
+// ---------------璇︽儏-----------------------
+const openDrawer = (type: number, item?: any) => {
+	proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell);
+};
+// ---------------end璇︽儏-----------------------
+
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+
+const getEnumCheckModeData_Index = ref<any>([]);
+const getEnumCheckStageData_Index = ref<any>([]);
+const getEnumIsAuditData_Index = ref<any>([]);
+
+const { getEnumDesc } = commonFunction();
+
+/***************************************************[鐩樼偣鍗曟嵁鎿嶄綔]寮�濮�***************************************************/
+const showAdvanceQueryUIWmsInventoryCheckOrder = ref(false);
+const tableRefWmsInventoryCheckOrder = ref(null);
+const printDialogRefWmsInventoryCheckOrder = ref();
+const editDialogRefWmsInventoryCheckOrder = ref();
+const loadingWmsInventoryCheckOrder = ref(false);
+const disabled_btnWmsInventoryCheckOrder = ref(false);
+const tableDataWmsInventoryCheckOrder = ref<any>([]);
+const queryParamsWmsInventoryCheckOrder = ref<any>({});
+const tableParamsWmsInventoryCheckOrder = ref({
+	page: 1,
+	pageSize: 10,
+	total: 0,
+});
+
+const printWmsInventoryCheckOrderTitle = ref('');
+const editWmsInventoryCheckOrderTitle = ref('');
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUIWmsInventoryCheckOrder = () => {
+	showAdvanceQueryUIWmsInventoryCheckOrder.value = !showAdvanceQueryUIWmsInventoryCheckOrder.value;
+};
+
+// 鏌ヨ鐩樼偣鍗曟嵁
+const handleQueryWmsInventoryCheckOrder = async () => {
+	loadingWmsInventoryCheckOrder.value = true;
+	disabled_btnWmsInventoryCheckOrder.value = true;
+	var res = await pageWmsInventoryCheckOrder(Object.assign(queryParamsWmsInventoryCheckOrder.value, tableParamsWmsInventoryCheckOrder.value));
+	if (res.data.type == 'success') {
+		tableDataWmsInventoryCheckOrder.value = res.data.result?.items ?? [];
+		tableParamsWmsInventoryCheckOrder.value.total = res.data.result?.total;
+	}
+	loadingWmsInventoryCheckOrder.value = false;
+	disabled_btnWmsInventoryCheckOrder.value = false;
+};
+
+// 閲嶇疆鐩樼偣鍗曟嵁鏌ヨ
+const resetWmsInventoryCheckOrder = async () => {
+	queryParamsWmsInventoryCheckOrder.value = {};
+};
+
+// 鐩樼偣鍗曟嵁鍒楁帓搴�
+const sortChangeWmsInventoryCheckOrder = async (column: any) => {
+	queryParamsWmsInventoryCheckOrder.value.field = column.prop;
+	queryParamsWmsInventoryCheckOrder.value.order = column.order;
+	await handleQueryWmsInventoryCheckOrder();
+};
+
+// 鎵撳紑鏂板鐩樼偣鍗曟嵁椤甸潰
+const openAddWmsInventoryCheckOrder = () => {
+	editWmsInventoryCheckOrderTitle.value = '娣诲姞鐩樼偣鍗曟嵁';
+	editDialogRefWmsInventoryCheckOrder.value.openDialog(1, {});
+};
+
+// 鎵撳紑鎵撳嵃鐩樼偣鍗曟嵁椤甸潰
+const openPrintWmsInventoryCheckOrder = async (row: any) => {
+	printWmsInventoryCheckOrderTitle.value = '鎵撳嵃鐩樼偣鍗曟嵁';
+};
+
+// 鎵撳紑缂栬緫鐩樼偣鍗曟嵁椤甸潰
+const openEditWmsInventoryCheckOrder = (row: any) => {
+	editWmsInventoryCheckOrderTitle.value = '缂栬緫鐩樼偣鍗曟嵁';
+	editDialogRefWmsInventoryCheckOrder.value.openDialog(2, row);
+};
+
+// 鍒犻櫎鐩樼偣鍗曟嵁
+const delWmsInventoryCheckOrder = (row: any) => {
+	ElMessageBox.confirm(`纭畾瑕佸彇娑堝悧?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			loadingWmsInventoryCheckOrder.value = true;
+			var ret = await deleteWmsInventoryCheckOrder(row);
+			if (ret.data.type == 'success') {
+				ElMessage.success('鍙栨秷鎴愬姛');
+			}
+			loadingWmsInventoryCheckOrder.value = false;
+			handleQueryWmsInventoryCheckOrder();
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉鐩樼偣鍗曟嵁椤甸潰瀹归噺
+const handleSizeChangeWmsInventoryCheckOrder = (val: number) => {
+	tableParamsWmsInventoryCheckOrder.value.pageSize = val;
+	handleQueryWmsInventoryCheckOrder();
+};
+
+// 鏀瑰彉鐩樼偣鍗曟嵁椤电爜搴忓彿
+const handleCurrentChangeWmsInventoryCheckOrder = (val: number) => {
+	tableParamsWmsInventoryCheckOrder.value.page = val;
+	handleQueryWmsInventoryCheckOrder();
+};
+
+/***************************************************[鐩樼偣鍗曟嵁鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[鐩樼偣鍗曟嵁瀵煎叆]寮�濮�***************************************************/
+const importExcelTitleWmsInventoryCheckOrder = ref('');
+const importExcelDialogRefWmsInventoryCheckOrder = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsInventoryCheckOrder = () => {
+	importExcelTitleWmsInventoryCheckOrder.value = '瀵煎叆鐩樼偣鍗曟嵁';
+	importExcelDialogRefWmsInventoryCheckOrder.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsInventoryCheckOrder = async (formData: Blob) => {
+	var result = await importExcelWmsInventoryCheckOrder(formData);
+	importExcelDialogRefWmsInventoryCheckOrder.value.callBackUploadFun(result.data); //鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+	if (result.data.type == 'success') {
+		handleQueryWmsInventoryCheckOrder();
+	}
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsInventoryCheckOrder = async () => {
+	var result = await downloadExcelTemplateWmsInventoryCheckOrder();
+	importExcelDialogRefWmsInventoryCheckOrder.value.callBackDownFun(result); //鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[鐩樼偣鍗曟嵁瀵煎叆]缁撴潫***************************************************/
+/***************************************************[鐩樼偣鍗曟嵁瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsInventoryCheckOrder = {
+	getEnumCheckModeData_Index,
+	getEnumCheckStageData_Index,
+	getEnumIsAuditData_Index,
+	formatDate_T_Date,
+	formatDate_T_Time,
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsInventoryCheckOrder = async (formData: Blob) => {
+	loadingWmsInventoryCheckOrder.value = true;
+	disabled_btnWmsInventoryCheckOrder.value = true;
+	var new_tableParamsWmsInventoryCheckOrder = JSON.parse(JSON.stringify(tableParamsWmsInventoryCheckOrder.value));
+	new_tableParamsWmsInventoryCheckOrder.page = 1;
+	new_tableParamsWmsInventoryCheckOrder.pageSize = 100000;
+	var res = await pageWmsInventoryCheckOrder(Object.assign(queryParamsWmsInventoryCheckOrder.value, new_tableParamsWmsInventoryCheckOrder));
+	if (res.data.type == 'success') {
+		exportExcelWmsInventoryCheckOrder(res.data.result?.items ?? []);
+	}
+	loadingWmsInventoryCheckOrder.value = false;
+	disabled_btnWmsInventoryCheckOrder.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsInventoryCheckOrder = async (exportDataList: Array) => {
+	exportPageExcel(exportDataList, tableRefWmsInventoryCheckOrder, '鐩樼偣鍗曟嵁', functionMapWmsInventoryCheckOrder);
+};
+/***************************************************[鐩樼偣鍗曟嵁瀵煎嚭]缁撴潫***************************************************/
+
+let arr1: any = ref(''); //涓嬫媺璇诲彇鎺ュ彛
+
+// 鐩樼偣鍗曟嵁椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+	getEnumCheckModeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckModeEnum')).data.result ?? [];
+	getEnumCheckStageData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckStageEnum')).data.result ?? [];
+	getEnumIsAuditData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+
+	arr1.value = await handleSlectDataWmsArea(); //涓嬫媺璇诲彇鎺ュ彛
+	debugger;
+});
+
+handleQueryWmsInventoryCheckOrder();
+
+// 寮�鍚洏鐐�
+const openWmsWarehouse = () => {
+	if(checkRows.value[0].checkStage != 0){
+		ElMessage.warning('鐩樼偣闃舵涓嶆槸鏂板缓');
+		return
+	}
+	ElMessageBox.confirm(`纭畾瑕佸紑鍚洏鐐瑰悧?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			var res = await getCheckPlanOpen({
+				OrderId: checkRows.value[0].id,
+				CheckOperatorClassify: 1 //鍒濈洏
+			});
+			if (res.data.type == 'success') {
+				handleQueryWmsInventoryCheckOrder();
+				ElMessage.success('寮�鍚洏鐐规垚鍔�');
+			}
+		})
+		.catch(() => {});
+};
+
+const loading = ref(false);
+
+// 鍏抽棴
+const tocloseWmsOrderCheck = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸叧闂悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      loading.value = true;
+      var ret = await closewmsInventoryCheckOrder(row);
+      if (ret.data.type == "success") {
+        ElMessage.success("鍏抽棴鎴愬姛");
+      }
+      loading.value = false;
+      handleQueryWmsInventoryCheckOrder();
+    })
+};
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+.under_line {
+	color: #f18201;
+	text-decoration: underline;
+	cursor: pointer;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrderDetails/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrderDetails/component/editDialog.vue
new file mode 100644
index 0000000..d3b967e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrderDetails/component/editDialog.vue
@@ -0,0 +1,141 @@
+锘�<template>
+	<div class="wmsInventoryCheckOrderDetails-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsInventoryCheckOrderDetails, updateWmsInventoryCheckOrderDetails, detailWmsInventoryCheckOrderDetails } from "/@/api/main/WmsInventory/wmsInventoryCheckOrderDetails";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumCheckStatusData = ref<any>([]);
+	const getEnumCheckResultData = ref<any>([]);
+	const getEnumCheckOperatorClassifyData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsInventoryCheckOrderDetails(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsInventoryCheckOrderDetails(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsInventoryCheckOrderDetails(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumCheckStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckStatusEnum')).data.result ?? [];
+			getEnumCheckResultData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckResultEnum')).data.result ?? [];
+			getEnumCheckOperatorClassifyData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckOperatorClassifyEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrderDetails/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrderDetails/index.vue
new file mode 100644
index 0000000..b566b16
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckOrderDetails/index.vue
@@ -0,0 +1,307 @@
+锘�<template>
+  <div class="wmsInventoryCheckOrderDetails-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsInventoryCheckOrderDetails" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.searchKey" clearable="" placeholder="鐩樼偣鍗曞彿,搴撳尯缂栫爜,搴撲綅缂栫爜,璺熻釜鐮�,鎵规,鐗╂枡缂栫爜,鐗╂枡鍚嶇О,瀹瑰櫒缂栫爜,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐩樼偣鍗曞彿">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.orderNo" clearable="" placeholder="璇疯緭鍏ョ洏鐐瑰崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="搴撲綅缂栧彿">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.sNCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐗╂枡缂栫爜">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="瀹瑰櫒缂栫爜">
+              <el-input v-model="queryParamsWmsInventoryCheckOrderDetails.containerCode" clearable="" placeholder="璇疯緭鍏ュ鍣ㄧ紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐩樼偣鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckOrderDetails.checkStatus" placeholder="璇烽�夋嫨鐩樼偣鐘舵��">
+                <el-option v-for="(item,index) in getEnumCheckStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐩樼偣缁撴灉">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckOrderDetails.checkResult" placeholder="璇烽�夋嫨鐩樼偣缁撴灉">
+                <el-option v-for="(item,index) in getEnumCheckResultData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails">
+            <el-form-item label="鐩樼偣鍒嗙被">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckOrderDetails.checkOperatorClassify" placeholder="璇烽�夋嫨鐩樼偣鍒嗙被">
+                <el-option v-for="(item,index) in getEnumCheckOperatorClassifyData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsInventoryCheckOrderDetails" v-auth="'wmsInventoryCheckOrderDetails:page'" :disabled="disabled_btnWmsInventoryCheckOrderDetails"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsInventoryCheckOrderDetails"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsInventoryCheckOrderDetails" v-if="!showAdvanceQueryUIWmsInventoryCheckOrderDetails" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsInventoryCheckOrderDetails" v-if="showAdvanceQueryUIWmsInventoryCheckOrderDetails" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsInventoryCheckOrderDetails" v-auth="'wmsInventoryCheckOrderDetails:add'"> 鏂板 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsInventoryCheckOrderDetails"
+				:data="tableDataWmsInventoryCheckOrderDetails"
+				style="width: 100%"
+				v-loading="loadingWmsInventoryCheckOrderDetails"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsInventoryCheckOrderDetails"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="orderNo" label="鐩樼偣鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="areaCode" label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="placeCode" label="搴撲綅缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="snCode" label="璺熻釜鐮�"  show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栫爜"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="containerCode" label="瀹瑰櫒缂栫爜"  show-overflow-tooltip="" />
+          <el-table-column prop="checkStatus" label="鐩樼偣鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.checkStatus, getEnumCheckStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column prop="quantity" label="搴撳瓨鏁伴噺"  show-overflow-tooltip="" />
+          <el-table-column prop="checkQuantity" label="鐩樼偣鏁伴噺"  show-overflow-tooltip="" />
+          <el-table-column prop="checkResult" label="鐩樼偣缁撴灉"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.checkResult, getEnumCheckResultData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="checkCount" label="鐩樼偣娆℃暟"  show-overflow-tooltip="" />
+          <el-table-column prop="checkOperatorClassify" label="鐩樼偣鍒嗙被"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.checkOperatorClassify, getEnumCheckOperatorClassifyData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsInventoryCheckOrderDetails:update') || auth('wmsInventoryCheckOrderDetails:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsInventoryCheckOrderDetails(scope.row)" v-auth="'wmsInventoryCheckOrderDetails:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsInventoryCheckOrderDetails(scope.row)" v-auth="'wmsInventoryCheckOrderDetails:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsInventoryCheckOrderDetails.page"
+				v-model:page-size="tableParamsWmsInventoryCheckOrderDetails.pageSize"
+				:total="tableParamsWmsInventoryCheckOrderDetails.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsInventoryCheckOrderDetails"
+				@current-change="handleCurrentChangeWmsInventoryCheckOrderDetails"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsInventoryCheckOrderDetails
+        ref="printDialogRefWmsInventoryCheckOrderDetails"
+        :title="printWmsInventoryCheckOrderDetailsTitle"
+        @reloadTable="handleQueryWmsInventoryCheckOrderDetails" />
+      <editDialogWmsInventoryCheckOrderDetails
+        ref="editDialogRefWmsInventoryCheckOrderDetails"
+        :title="editWmsInventoryCheckOrderDetailsTitle"
+        @reloadTable="handleQueryWmsInventoryCheckOrderDetails"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsInventoryCheckOrderDetails">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+
+
+  import printDialogWmsInventoryCheckOrderDetails from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pageWmsInventoryCheckOrderDetails, deleteWmsInventoryCheckOrderDetails,importExcelWmsInventoryCheckOrderDetails,downloadExcelTemplateWmsInventoryCheckOrderDetails } from '/@/api/main/WmsInventory/wmsInventoryCheckOrderDetails';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumCheckStatusData_Index = ref<any>([]);
+  const getEnumCheckResultData_Index = ref<any>([]);
+  const getEnumCheckOperatorClassifyData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[鐩樼偣鍗曟槑缁嗘搷浣淽寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsInventoryCheckOrderDetails = ref(false);
+  const tableRefWmsInventoryCheckOrderDetails = ref(null);
+  const printDialogRefWmsInventoryCheckOrderDetails = ref();
+  const editDialogRefWmsInventoryCheckOrderDetails = ref();
+  const loadingWmsInventoryCheckOrderDetails = ref(false);
+  const disabled_btnWmsInventoryCheckOrderDetails = ref(false);
+  const tableDataWmsInventoryCheckOrderDetails = ref<any>([]);
+  const queryParamsWmsInventoryCheckOrderDetails = ref<any>({});
+  const tableParamsWmsInventoryCheckOrderDetails = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsInventoryCheckOrderDetailsTitle = ref("");
+  const editWmsInventoryCheckOrderDetailsTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsInventoryCheckOrderDetails = () => {
+    showAdvanceQueryUIWmsInventoryCheckOrderDetails.value = !showAdvanceQueryUIWmsInventoryCheckOrderDetails.value;
+  }
+
+  // 鏌ヨ鐩樼偣鍗曟槑缁�
+  const handleQueryWmsInventoryCheckOrderDetails = async () => {
+    loadingWmsInventoryCheckOrderDetails.value = true;
+    disabled_btnWmsInventoryCheckOrderDetails.value = true;
+    var res = await pageWmsInventoryCheckOrderDetails(Object.assign(queryParamsWmsInventoryCheckOrderDetails.value, tableParamsWmsInventoryCheckOrderDetails.value));
+    if(res.data.type=="success"){
+      tableDataWmsInventoryCheckOrderDetails.value = res.data.result?.items ?? [];
+      tableParamsWmsInventoryCheckOrderDetails.value.total = res.data.result?.total;
+    }
+    loadingWmsInventoryCheckOrderDetails.value = false;
+    disabled_btnWmsInventoryCheckOrderDetails.value = false;
+  };
+
+  // 閲嶇疆鐩樼偣鍗曟槑缁嗘煡璇�
+  const resetWmsInventoryCheckOrderDetails = async () => {
+    queryParamsWmsInventoryCheckOrderDetails.value = {}
+  };
+
+  // 鐩樼偣鍗曟槑缁嗗垪鎺掑簭
+  const sortChangeWmsInventoryCheckOrderDetails = async (column: any) => {
+	queryParamsWmsInventoryCheckOrderDetails.value.field = column.prop;
+	queryParamsWmsInventoryCheckOrderDetails.value.order = column.order;
+	await handleQueryWmsInventoryCheckOrderDetails();
+  };
+
+  // 鎵撳紑鏂板鐩樼偣鍗曟槑缁嗛〉闈�
+  const openAddWmsInventoryCheckOrderDetails = () => {
+    editWmsInventoryCheckOrderDetailsTitle.value = '娣诲姞鐩樼偣鍗曟槑缁�';
+    editDialogRefWmsInventoryCheckOrderDetails.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃鐩樼偣鍗曟槑缁嗛〉闈�
+  const openPrintWmsInventoryCheckOrderDetails = async (row: any) => {
+    printWmsInventoryCheckOrderDetailsTitle.value = '鎵撳嵃鐩樼偣鍗曟槑缁�';
+  }
+  
+  // 鎵撳紑缂栬緫鐩樼偣鍗曟槑缁嗛〉闈�
+  const openEditWmsInventoryCheckOrderDetails = (row: any) => {
+    editWmsInventoryCheckOrderDetailsTitle.value = '缂栬緫鐩樼偣鍗曟槑缁�';
+    editDialogRefWmsInventoryCheckOrderDetails.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎鐩樼偣鍗曟槑缁�
+  const delWmsInventoryCheckOrderDetails = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsInventoryCheckOrderDetails.value = true;
+    var ret = await deleteWmsInventoryCheckOrderDetails(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsInventoryCheckOrderDetails.value = false;
+    handleQueryWmsInventoryCheckOrderDetails();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉鐩樼偣鍗曟槑缁嗛〉闈㈠閲�
+  const handleSizeChangeWmsInventoryCheckOrderDetails = (val: number) => {
+    tableParamsWmsInventoryCheckOrderDetails.value.pageSize = val;
+    handleQueryWmsInventoryCheckOrderDetails();
+  };
+
+  // 鏀瑰彉鐩樼偣鍗曟槑缁嗛〉鐮佸簭鍙�
+  const handleCurrentChangeWmsInventoryCheckOrderDetails = (val: number) => {
+    tableParamsWmsInventoryCheckOrderDetails.value.page = val;
+    handleQueryWmsInventoryCheckOrderDetails();
+  };
+
+/***************************************************[鐩樼偣鍗曟槑缁嗘搷浣淽缁撴潫***************************************************/
+  // 鐩樼偣鍗曟槑缁嗛〉闈㈠姞杞芥椂
+  onMounted(async () => {
+    getEnumCheckStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckStatusEnum')).data.result ?? [];
+    getEnumCheckResultData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckResultEnum')).data.result ?? [];
+    getEnumCheckOperatorClassifyData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckOperatorClassifyEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsInventoryCheckOrderDetails();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckRange/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckRange/component/editDialog.vue
new file mode 100644
index 0000000..915c779
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckRange/component/editDialog.vue
@@ -0,0 +1,177 @@
+锘�<template>
+	<div class="wmsInventoryCheckRange-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐩樼偣鍗旾D" prop="orderId">
+							<el-input v-model="ruleForm.orderId" placeholder="璇疯緭鍏ョ洏鐐瑰崟ID" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐩樼偣鍗曞彿" prop="orderNo">
+							<el-input v-model="ruleForm.orderNo" placeholder="璇疯緭鍏ョ洏鐐瑰崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯缂栧彿" prop="areaCode">
+							<el-input v-model="ruleForm.areaCode" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯鍚嶇О" prop="areaName">
+							<el-input v-model="ruleForm.areaName" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栫爜" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsInventoryCheckRange, updateWmsInventoryCheckRange, detailWmsInventoryCheckRange } from "/@/api/main/WmsInventory/wmsInventoryCheckRange";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		orderId: [{required: true, message: '璇疯緭鍏ョ洏鐐瑰崟ID锛�', trigger: 'blur',},],
+		orderNo: [{required: true, message: '璇疯緭鍏ョ洏鐐瑰崟鍙凤紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsInventoryCheckRange(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsInventoryCheckRange(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsInventoryCheckRange(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckRange/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckRange/index.vue
new file mode 100644
index 0000000..a6f7d8b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckRange/index.vue
@@ -0,0 +1,296 @@
+锘�<template>
+  <div class="wmsInventoryCheckRange-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsInventoryCheckRange" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsInventoryCheckRange.searchKey" clearable="" placeholder="鐩樼偣鍗曞彿,搴撳尯缂栫爜,搴撳尯鍚嶇О,鐗╂枡缂栫爜,鐗╂枡鍚嶇О,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckRange">
+            <el-form-item label="鐩樼偣鍗旾D">
+              <el-input v-model="queryParamsWmsInventoryCheckRange.orderId" clearable="" placeholder="璇疯緭鍏ョ洏鐐瑰崟ID"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckRange">
+            <el-form-item label="鐩樼偣鍗曞彿">
+              <el-input v-model="queryParamsWmsInventoryCheckRange.orderNo" clearable="" placeholder="璇疯緭鍏ョ洏鐐瑰崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckRange">
+            <el-form-item label="搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsInventoryCheckRange.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckRange">
+            <el-form-item label="搴撳尯鍚嶇О">
+              <el-input v-model="queryParamsWmsInventoryCheckRange.areaName" clearable="" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckRange">
+            <el-form-item label="鐗╂枡缂栫爜">
+              <el-input v-model="queryParamsWmsInventoryCheckRange.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckRange">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsInventoryCheckRange.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsInventoryCheckRange" v-auth="'wmsInventoryCheckRange:page'" :disabled="disabled_btnWmsInventoryCheckRange"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsInventoryCheckRange"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsInventoryCheckRange" v-if="!showAdvanceQueryUIWmsInventoryCheckRange" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsInventoryCheckRange" v-if="showAdvanceQueryUIWmsInventoryCheckRange" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsInventoryCheckRange" v-auth="'wmsInventoryCheckRange:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelWmsInventoryCheckRange"  v-auth="'wmsInventoryCheckRange:importExcel'" > 瀵煎叆 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsInventoryCheckRange"  v-auth="'wmsInventoryCheckRange:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsInventoryCheckRange"
+				:data="tableDataWmsInventoryCheckRange"
+				style="width: 100%"
+				v-loading="loadingWmsInventoryCheckRange"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsInventoryCheckRange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="orderId" label="鐩樼偣鍗旾D"  show-overflow-tooltip="" />
+        <el-table-column prop="orderNo" label="鐩樼偣鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="areaCode" label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="areaName" label="搴撳尯鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栫爜"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsInventoryCheckRange:update') || auth('wmsInventoryCheckRange:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsInventoryCheckRange(scope.row)" v-auth="'wmsInventoryCheckRange:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsInventoryCheckRange(scope.row)" v-auth="'wmsInventoryCheckRange:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsInventoryCheckRange.page"
+				v-model:page-size="tableParamsWmsInventoryCheckRange.pageSize"
+				:total="tableParamsWmsInventoryCheckRange.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsInventoryCheckRange"
+				@current-change="handleCurrentChangeWmsInventoryCheckRange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsInventoryCheckRange
+        ref="printDialogRefWmsInventoryCheckRange"
+        :title="printWmsInventoryCheckRangeTitle"
+        @reloadTable="handleQueryWmsInventoryCheckRange" />
+      <editDialogWmsInventoryCheckRange
+        ref="editDialogRefWmsInventoryCheckRange"
+        :title="editWmsInventoryCheckRangeTitle"
+        @reloadTable="handleQueryWmsInventoryCheckRange"
+      />
+      <importExcelDialog
+        ref="importExcelDialogRefWmsInventoryCheckRange"
+        :title="importExcelTitleWmsInventoryCheckRange"
+        @parentUploadFun="handleImportExcelWmsInventoryCheckRange"
+        @parentDownFun="handleDownExcelWmsInventoryCheckRange"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsInventoryCheckRange">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+  import printDialogWmsInventoryCheckRange from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogWmsInventoryCheckRange from '/@/views/main/WmsInventory/wmsInventoryCheckRange/component/editDialog.vue'
+  import { pageWmsInventoryCheckRange, deleteWmsInventoryCheckRange,importExcelWmsInventoryCheckRange,downloadExcelTemplateWmsInventoryCheckRange } from '/@/api/main/WmsInventory/wmsInventoryCheckRange';
+
+
+  
+  /***************************************************[鐩樼偣鑼冨洿琛ㄦ搷浣淽寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsInventoryCheckRange = ref(false);
+  const tableRefWmsInventoryCheckRange = ref(null);
+  const printDialogRefWmsInventoryCheckRange = ref();
+  const editDialogRefWmsInventoryCheckRange = ref();
+  const loadingWmsInventoryCheckRange = ref(false);
+  const disabled_btnWmsInventoryCheckRange = ref(false);
+  const tableDataWmsInventoryCheckRange = ref<any>([]);
+  const queryParamsWmsInventoryCheckRange = ref<any>({});
+  const tableParamsWmsInventoryCheckRange = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsInventoryCheckRangeTitle = ref("");
+  const editWmsInventoryCheckRangeTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsInventoryCheckRange = () => {
+    showAdvanceQueryUIWmsInventoryCheckRange.value = !showAdvanceQueryUIWmsInventoryCheckRange.value;
+  }
+
+  // 鏌ヨ鐩樼偣鑼冨洿琛�
+  const handleQueryWmsInventoryCheckRange = async () => {
+    loadingWmsInventoryCheckRange.value = true;
+    disabled_btnWmsInventoryCheckRange.value = true;
+    var res = await pageWmsInventoryCheckRange(Object.assign(queryParamsWmsInventoryCheckRange.value, tableParamsWmsInventoryCheckRange.value));
+    if(res.data.type=="success"){
+      tableDataWmsInventoryCheckRange.value = res.data.result?.items ?? [];
+      tableParamsWmsInventoryCheckRange.value.total = res.data.result?.total;
+    }
+    loadingWmsInventoryCheckRange.value = false;
+    disabled_btnWmsInventoryCheckRange.value = false;
+  };
+
+  // 閲嶇疆鐩樼偣鑼冨洿琛ㄦ煡璇�
+  const resetWmsInventoryCheckRange = async () => {
+    queryParamsWmsInventoryCheckRange.value = {}
+  };
+
+  // 鐩樼偣鑼冨洿琛ㄥ垪鎺掑簭
+  const sortChangeWmsInventoryCheckRange = async (column: any) => {
+	queryParamsWmsInventoryCheckRange.value.field = column.prop;
+	queryParamsWmsInventoryCheckRange.value.order = column.order;
+	await handleQueryWmsInventoryCheckRange();
+  };
+
+  // 鎵撳紑鏂板鐩樼偣鑼冨洿琛ㄩ〉闈�
+  const openAddWmsInventoryCheckRange = () => {
+    editWmsInventoryCheckRangeTitle.value = '娣诲姞鐩樼偣鑼冨洿琛�';
+    editDialogRefWmsInventoryCheckRange.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃鐩樼偣鑼冨洿琛ㄩ〉闈�
+  const openPrintWmsInventoryCheckRange = async (row: any) => {
+    printWmsInventoryCheckRangeTitle.value = '鎵撳嵃鐩樼偣鑼冨洿琛�';
+  }
+  
+  // 鎵撳紑缂栬緫鐩樼偣鑼冨洿琛ㄩ〉闈�
+  const openEditWmsInventoryCheckRange = (row: any) => {
+    editWmsInventoryCheckRangeTitle.value = '缂栬緫鐩樼偣鑼冨洿琛�';
+    editDialogRefWmsInventoryCheckRange.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎鐩樼偣鑼冨洿琛�
+  const delWmsInventoryCheckRange = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsInventoryCheckRange.value = true;
+    var ret = await deleteWmsInventoryCheckRange(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsInventoryCheckRange.value = false;
+    handleQueryWmsInventoryCheckRange();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉鐩樼偣鑼冨洿琛ㄩ〉闈㈠閲�
+  const handleSizeChangeWmsInventoryCheckRange = (val: number) => {
+    tableParamsWmsInventoryCheckRange.value.pageSize = val;
+    handleQueryWmsInventoryCheckRange();
+  };
+
+  // 鏀瑰彉鐩樼偣鑼冨洿琛ㄩ〉鐮佸簭鍙�
+  const handleCurrentChangeWmsInventoryCheckRange = (val: number) => {
+    tableParamsWmsInventoryCheckRange.value.page = val;
+    handleQueryWmsInventoryCheckRange();
+  };
+
+/***************************************************[鐩樼偣鑼冨洿琛ㄦ搷浣淽缁撴潫***************************************************/
+/***************************************************[鐩樼偣鑼冨洿琛ㄥ鍏寮�濮�***************************************************/
+const importExcelTitleWmsInventoryCheckRange = ref("");
+const importExcelDialogRefWmsInventoryCheckRange = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsInventoryCheckRange = () => {
+    importExcelTitleWmsInventoryCheckRange.value = '瀵煎叆鐩樼偣鑼冨洿琛�';
+    importExcelDialogRefWmsInventoryCheckRange.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsInventoryCheckRange = async (formData:Blob) => {
+   var result = await importExcelWmsInventoryCheckRange(formData);
+   importExcelDialogRefWmsInventoryCheckRange.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+   if(result.data.type=="success"){
+    handleQueryWmsInventoryCheckRange();
+   }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsInventoryCheckRange = async () => {
+   var result = await downloadExcelTemplateWmsInventoryCheckRange();
+   importExcelDialogRefWmsInventoryCheckRange.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[鐩樼偣鑼冨洿琛ㄥ鍏缁撴潫***************************************************/
+/***************************************************[鐩樼偣鑼冨洿琛ㄥ鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsInventoryCheckRange = {
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsInventoryCheckRange = async (formData:Blob) => {
+    loadingWmsInventoryCheckRange.value = true;
+    disabled_btnWmsInventoryCheckRange.value = true;
+    var new_tableParamsWmsInventoryCheckRange=JSON.parse(JSON.stringify(tableParamsWmsInventoryCheckRange.value));
+    new_tableParamsWmsInventoryCheckRange.page = 1;
+    new_tableParamsWmsInventoryCheckRange.pageSize = 100000;
+    var res = await pageWmsInventoryCheckRange(Object.assign(queryParamsWmsInventoryCheckRange.value, new_tableParamsWmsInventoryCheckRange));
+    if(res.data.type=="success"){
+      exportExcelWmsInventoryCheckRange(res.data.result?.items ?? []);
+    }
+    loadingWmsInventoryCheckRange.value = false;
+    disabled_btnWmsInventoryCheckRange.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsInventoryCheckRange  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsInventoryCheckRange,"鐩樼偣鑼冨洿琛�",functionMapWmsInventoryCheckRange);
+};
+/***************************************************[鐩樼偣鑼冨洿琛ㄥ鍑篯缁撴潫***************************************************/
+  // 鐩樼偣鑼冨洿琛ㄩ〉闈㈠姞杞芥椂
+  onMounted(async () => {
+  });
+
+  handleQueryWmsInventoryCheckRange();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckRecord/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckRecord/component/editDialog.vue
new file mode 100644
index 0000000..879fa73
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckRecord/component/editDialog.vue
@@ -0,0 +1,141 @@
+锘�<template>
+	<div class="wmsInventoryCheckRecord-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsInventoryCheckRecord, updateWmsInventoryCheckRecord, detailWmsInventoryCheckRecord } from "/@/api/main/WmsInventory/wmsInventoryCheckRecord";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumCheckStatusData = ref<any>([]);
+	const getEnumCheckResultData = ref<any>([]);
+	const getEnumCheckOperatorClassifyData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsInventoryCheckRecord(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsInventoryCheckRecord(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsInventoryCheckRecord(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumCheckStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckStatusEnum')).data.result ?? [];
+			getEnumCheckResultData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckResultEnum')).data.result ?? [];
+			getEnumCheckOperatorClassifyData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckOperatorClassifyEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckRecord/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckRecord/index.vue
new file mode 100644
index 0000000..fba296d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsInventory/wmsInventoryCheckRecord/index.vue
@@ -0,0 +1,306 @@
+锘�<template>
+  <div class="wmsInventoryCheckRecord-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsInventoryCheckRecord" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsInventoryCheckRecord.searchKey" clearable="" placeholder="鐩樼偣鍗曞彿,搴撳尯缂栫爜,搴撲綅缂栫爜,璺熻釜鐮�,鎵规,鐗╂枡缂栫爜,鐗╂枡鍚嶇О,瀹瑰櫒缂栫爜,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckRecord">
+            <el-form-item label="鐩樼偣鍗曞彿">
+              <el-input v-model="queryParamsWmsInventoryCheckRecord.orderNo" clearable="" placeholder="璇疯緭鍏ョ洏鐐瑰崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckRecord">
+            <el-form-item label="搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsInventoryCheckRecord.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckRecord">
+            <el-form-item label="搴撲綅缂栧彿">
+              <el-input v-model="queryParamsWmsInventoryCheckRecord.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckRecord">
+            <el-form-item label="璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsInventoryCheckRecord.snCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckRecord">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParamsWmsInventoryCheckRecord.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckRecord">
+            <el-form-item label="鐗╂枡缂栫爜">
+              <el-input v-model="queryParamsWmsInventoryCheckRecord.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckRecord">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsInventoryCheckRecord.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckRecord">
+            <el-form-item label="瀹瑰櫒缂栫爜">
+              <el-input v-model="queryParamsWmsInventoryCheckRecord.containerCode" clearable="" placeholder="璇疯緭鍏ュ鍣ㄧ紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckRecord">
+            <el-form-item label="鐩樼偣鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckRecord.checkStatus" placeholder="璇烽�夋嫨鐩樼偣鐘舵��">
+                <el-option v-for="(item,index) in getEnumCheckStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckRecord">
+            <el-form-item label="鐩樼偣缁撴灉">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckRecord.checkResult" placeholder="璇烽�夋嫨鐩樼偣缁撴灉">
+                <el-option v-for="(item,index) in getEnumCheckResultData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsInventoryCheckRecord">
+            <el-form-item label="鐩樼偣鍒嗙被">
+              <el-select clearable="" v-model="queryParamsWmsInventoryCheckRecord.checkOperatorClassify" placeholder="璇烽�夋嫨鐩樼偣鍒嗙被">
+                <el-option v-for="(item,index) in getEnumCheckOperatorClassifyData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsInventoryCheckRecord" v-auth="'wmsInventoryCheckRecord:page'" :disabled="disabled_btnWmsInventoryCheckRecord"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsInventoryCheckRecord"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsInventoryCheckRecord" v-if="!showAdvanceQueryUIWmsInventoryCheckRecord" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsInventoryCheckRecord" v-if="showAdvanceQueryUIWmsInventoryCheckRecord" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsInventoryCheckRecord" v-auth="'wmsInventoryCheckRecord:add'"> 鏂板 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsInventoryCheckRecord"
+				:data="tableDataWmsInventoryCheckRecord"
+				style="width: 100%"
+				v-loading="loadingWmsInventoryCheckRecord"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsInventoryCheckRecord"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="orderNo" label="鐩樼偣鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="areaCode" label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="placeCode" label="搴撲綅缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="snCode" label="璺熻釜鐮�"  show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栫爜"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="containerCode" label="瀹瑰櫒缂栫爜"  show-overflow-tooltip="" />
+        <el-table-column prop="quantity" label="搴撳瓨鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="checkQuantity" label="鐩樼偣鏁伴噺"  show-overflow-tooltip="" />
+          <el-table-column prop="checkStatus" label="鐩樼偣鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.checkStatus, getEnumCheckStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column prop="checkResult" label="鐩樼偣缁撴灉"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.checkResult, getEnumCheckResultData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column prop="checkOperatorClassify" label="鐩樼偣鍒嗙被"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.checkOperatorClassify, getEnumCheckOperatorClassifyData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsInventoryCheckRecord:update') || auth('wmsInventoryCheckRecord:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsInventoryCheckRecord(scope.row)" v-auth="'wmsInventoryCheckRecord:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsInventoryCheckRecord(scope.row)" v-auth="'wmsInventoryCheckRecord:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsInventoryCheckRecord.page"
+				v-model:page-size="tableParamsWmsInventoryCheckRecord.pageSize"
+				:total="tableParamsWmsInventoryCheckRecord.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsInventoryCheckRecord"
+				@current-change="handleCurrentChangeWmsInventoryCheckRecord"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsInventoryCheckRecord
+        ref="printDialogRefWmsInventoryCheckRecord"
+        :title="printWmsInventoryCheckRecordTitle"
+        @reloadTable="handleQueryWmsInventoryCheckRecord" />
+      <editDialogWmsInventoryCheckRecord
+        ref="editDialogRefWmsInventoryCheckRecord"
+        :title="editWmsInventoryCheckRecordTitle"
+        @reloadTable="handleQueryWmsInventoryCheckRecord"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsInventoryCheckRecord">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+
+
+  import printDialogWmsInventoryCheckRecord from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pageWmsInventoryCheckRecord, deleteWmsInventoryCheckRecord,importExcelWmsInventoryCheckRecord,downloadExcelTemplateWmsInventoryCheckRecord } from '/@/api/main/WmsInventory/wmsInventoryCheckRecord';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumCheckStatusData_Index = ref<any>([]);
+  const getEnumCheckResultData_Index = ref<any>([]);
+  const getEnumCheckOperatorClassifyData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[鐩樼偣璁板綍鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsInventoryCheckRecord = ref(false);
+  const tableRefWmsInventoryCheckRecord = ref(null);
+  const printDialogRefWmsInventoryCheckRecord = ref();
+  const editDialogRefWmsInventoryCheckRecord = ref();
+  const loadingWmsInventoryCheckRecord = ref(false);
+  const disabled_btnWmsInventoryCheckRecord = ref(false);
+  const tableDataWmsInventoryCheckRecord = ref<any>([]);
+  const queryParamsWmsInventoryCheckRecord = ref<any>({});
+  const tableParamsWmsInventoryCheckRecord = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsInventoryCheckRecordTitle = ref("");
+  const editWmsInventoryCheckRecordTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsInventoryCheckRecord = () => {
+    showAdvanceQueryUIWmsInventoryCheckRecord.value = !showAdvanceQueryUIWmsInventoryCheckRecord.value;
+  }
+
+  // 鏌ヨ鐩樼偣璁板綍
+  const handleQueryWmsInventoryCheckRecord = async () => {
+    loadingWmsInventoryCheckRecord.value = true;
+    disabled_btnWmsInventoryCheckRecord.value = true;
+    var res = await pageWmsInventoryCheckRecord(Object.assign(queryParamsWmsInventoryCheckRecord.value, tableParamsWmsInventoryCheckRecord.value));
+    if(res.data.type=="success"){
+      tableDataWmsInventoryCheckRecord.value = res.data.result?.items ?? [];
+      tableParamsWmsInventoryCheckRecord.value.total = res.data.result?.total;
+    }
+    loadingWmsInventoryCheckRecord.value = false;
+    disabled_btnWmsInventoryCheckRecord.value = false;
+  };
+
+  // 閲嶇疆鐩樼偣璁板綍鏌ヨ
+  const resetWmsInventoryCheckRecord = async () => {
+    queryParamsWmsInventoryCheckRecord.value = {}
+  };
+
+  // 鐩樼偣璁板綍鍒楁帓搴�
+  const sortChangeWmsInventoryCheckRecord = async (column: any) => {
+	queryParamsWmsInventoryCheckRecord.value.field = column.prop;
+	queryParamsWmsInventoryCheckRecord.value.order = column.order;
+	await handleQueryWmsInventoryCheckRecord();
+  };
+
+  // 鎵撳紑鏂板鐩樼偣璁板綍椤甸潰
+  const openAddWmsInventoryCheckRecord = () => {
+    editWmsInventoryCheckRecordTitle.value = '娣诲姞鐩樼偣璁板綍';
+    editDialogRefWmsInventoryCheckRecord.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃鐩樼偣璁板綍椤甸潰
+  const openPrintWmsInventoryCheckRecord = async (row: any) => {
+    printWmsInventoryCheckRecordTitle.value = '鎵撳嵃鐩樼偣璁板綍';
+  }
+  
+  // 鎵撳紑缂栬緫鐩樼偣璁板綍椤甸潰
+  const openEditWmsInventoryCheckRecord = (row: any) => {
+    editWmsInventoryCheckRecordTitle.value = '缂栬緫鐩樼偣璁板綍';
+    editDialogRefWmsInventoryCheckRecord.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎鐩樼偣璁板綍
+  const delWmsInventoryCheckRecord = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsInventoryCheckRecord.value = true;
+    var ret = await deleteWmsInventoryCheckRecord(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsInventoryCheckRecord.value = false;
+    handleQueryWmsInventoryCheckRecord();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉鐩樼偣璁板綍椤甸潰瀹归噺
+  const handleSizeChangeWmsInventoryCheckRecord = (val: number) => {
+    tableParamsWmsInventoryCheckRecord.value.pageSize = val;
+    handleQueryWmsInventoryCheckRecord();
+  };
+
+  // 鏀瑰彉鐩樼偣璁板綍椤电爜搴忓彿
+  const handleCurrentChangeWmsInventoryCheckRecord = (val: number) => {
+    tableParamsWmsInventoryCheckRecord.value.page = val;
+    handleQueryWmsInventoryCheckRecord();
+  };
+
+/***************************************************[鐩樼偣璁板綍鎿嶄綔]缁撴潫***************************************************/
+  // 鐩樼偣璁板綍椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    getEnumCheckStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckStatusEnum')).data.result ?? [];
+    getEnumCheckResultData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckResultEnum')).data.result ?? [];
+    getEnumCheckOperatorClassifyData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckOperatorClassifyEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsInventoryCheckRecord();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/component/editDialog.vue
new file mode 100644
index 0000000..5a79dad
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/component/editDialog.vue
@@ -0,0 +1,192 @@
+锘�<template>
+	<div class="wmsOrderAsn-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ASN鍗曞彿" prop="asnNo">
+							<el-input v-model="ruleForm.asnNo" placeholder="璇疯緭鍏SN鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁绫诲瀷" prop="asnType">
+							<el-select clearable v-model="ruleForm.asnType" placeholder="璇烽�夋嫨鍗曟嵁绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumAsnTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鐘舵��" prop="asnStatus">
+							<el-select clearable v-model="ruleForm.asnStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+								<el-option v-for="(item,index) in  getEnumAsnStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂祦鍗曞彿" prop="trackingNumber">
+							<el-input v-model="ruleForm.trackingNumber" placeholder="璇疯緭鍏ョ墿娴佸崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閲婃斁鐘舵��" prop="releaseStatus">
+							<el-input-number v-model="ruleForm.releaseStatus" placeholder="璇疯緭鍏ラ噴鏀剧姸鎬�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁鍐荤粨" prop="isFreeze">
+							<el-switch v-model="ruleForm.isFreeze" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍐荤粨鍘熷洜" prop="freezeReason">
+							<el-input v-model="ruleForm.freezeReason" placeholder="璇疯緭鍏ュ喕缁撳師鍥�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸ュ巶鍚嶇О" prop="factoryName">
+							<el-input v-model="ruleForm.factoryName" placeholder="璇疯緭鍏ュ伐鍘傚悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸ュ巶缂栧彿" prop="factoryCode">
+							<el-input v-model="ruleForm.factoryCode" placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsOrderAsn, updateWmsOrderAsn, detailWmsOrderAsn } from "/@/api/main/WmsOrder/wmsOrderAsn";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumAsnTypeData = ref<any>([]);
+	const getEnumAsnStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		asnNo: [{required: true, message: '璇疯緭鍏SN鍗曞彿锛�', trigger: 'blur',},],
+		asnType: [{required: true, message: '璇烽�夋嫨鍗曟嵁绫诲瀷锛�', trigger: 'change',},],
+		asnStatus: [{required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change',},],
+	});
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsOrderAsn(rowData.id)).data.result;
+		else
+			ruleForm.value = rowData;
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addWmsOrderAsn(values);
+				} else {
+					await updateWmsOrderAsn(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumAsnTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+			getEnumAsnStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/component/openAllpropAsn.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/component/openAllpropAsn.vue
new file mode 100644
index 0000000..0d79eff
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/component/openAllpropAsn.vue
@@ -0,0 +1,1774 @@
+<template>
+  <!-- 娣诲姞銆佺紪杈戙�� 鎵撳嵃-->
+  <el-dialog v-model="dialogVisible" width="95%" @close="closeDialog" :close-on-click-modal="false">
+    <template #header>
+      <div style="color: #fff">
+        <span v-if="dialogType == 'add'">
+          娣诲姞
+        </span>
+        <span v-if="dialogType == 'edit'">
+          缂栬緫
+        </span>
+        <span v-if="dialogType == 'print'">
+          鎵撳嵃
+        </span>
+      </div>
+    </template>
+
+    <!-- 娣诲姞  缂栬緫-->
+    <div v-if="dialogType != 'print'">
+      <el-form :model="addForm" ref="dialogRef" labelWidth="90" :rules="formRules" style="width: 60%">
+        <el-row>
+          <!-- 鍚庣榛樿鏄� ASN鍗� update by liuwq 2024-05-23 -->
+
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+					<el-form-item  label="璁㈠崟绫诲瀷" prop="asnType">
+						<el-select :disabled="dialogType != 'add'" clearable v-model="addForm.asnType" placeholder="璇烽�夋嫨璁㈠崟绫诲瀷">
+							<el-option v-for="(item, index) in getEnumOrderTypeData" :key="index" :value="item.value"
+								:label="`${item.describe}`"></el-option>
+						</el-select>
+					</el-form-item>
+				</el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="8" class="mb10">
+            <el-form-item label="涓氬姟绫诲瀷" prop="businessType">
+              <el-select clearable v-model="addForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷" :disabled="showYwlx">
+                <el-option v-for="(item, index) in getBusinessTypeData_Index" :key="index" :value="item.businessTypeValue"
+                  :label="`[${item.businessTypeValue}] ${item.businessTypeName}`"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+          <el-form-item label="鑷姩鐢熸垚鏉$爜">
+            <el-switch v-model="addForm.hasTMCode" active-text="鏄�" inactive-text="鍚�" />
+          </el-form-item>
+        </el-col>
+        <el-col
+          :xs="24"
+          :sm="12"
+          :md="12"
+          :lg="8"
+          :xl="4"
+          class="mb10"
+          v-show="addForm.hasTMCode"
+        >
+          <el-form-item label="鏉$爜绫诲瀷">
+            <el-switch
+              v-model="addForm.typeTMCode"
+              active-text="涓�缁�"
+              inactive-text="浜岀淮"
+            />
+          </el-form-item> 
+        </el-col> -->
+
+          <!-- 榛樿ERP搴撳瓨鍦� -->
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+          <el-form-item label="渚涘簲鍟嗙紪鍙�" prop="supplierCode">
+            <el-select
+              v-model="addForm.supplierCode"
+              filterable
+              remote
+              reserve-keyword
+              remote-show-suffix
+              :remote-method="remoteMethod"
+              :loading="loading"
+              placeholder="璇烽�夋嫨鏇夸唬鍝佺墿鏂欑紪鍙�"
+              clearable
+              style="width: 100%"
+              @change="changeXmbh(addForm.supplierCode)"
+            >
+              <el-option
+                v-for="(item, index) in arrTdp"
+                :key="index"
+                :value="item.custCode"
+                :label="`[${item.custCode}]${item.custChinaName}`"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col> -->
+
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+          <el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
+            <el-input
+              v-model="addForm.erpOrderNo"
+              placeholder="璇疯緭鍏RP鍗曞彿"
+              maxlength="50"
+              show-word-limit
+              clearable
+            />
+          </el-form-item>
+        </el-col> -->
+
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+					<el-form-item label="椤圭洰鍙�" prop="projectNo">
+						<el-input v-model="addForm.projectNo" placeholder="璇疯緭鍏ラ」鐩彿" maxlength="50" show-word-limit
+							clearable />
+					</el-form-item>
+				</el-col> -->
+        </el-row>
+      </el-form>
+      <div class="msi-content" style="margin-top: 10px">
+        <div class="header" style="margin-bottom: 10px">
+          <div>
+            <el-button v-show="isMaterialBox == true" type="primary" icon="el-icon-plus"
+              @click="addMaterialDialog">鏂板鐗╂枡</el-button>
+            <el-button v-show="isPoBox == true" type="primary" icon="el-icon-plus"
+              @click="addMaterialDialog('po')">鍏宠仈PO鍗�</el-button>
+
+            <el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+              @click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+          </div>
+        </div>
+        <el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+          v-loading="loading" @selection-change="detailsCheckChange" max-height="480">
+          <el-table-column align="center" width="60" type="selection" />
+          <el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+          <el-table-column fixed="left" label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center"
+            show-overflow-tooltip />
+          <el-table-column label="鐗╂枡鍚嶇О" min-width="100" prop="materialName" align="center" show-overflow-tooltip />
+          <el-table-column v-if="isPoBox == 1" label="PO鍗曞彿" min-width="130" prop="poNo" align="center"
+            show-overflow-tooltip />
+
+          <el-table-column v-if="isPoBox == 1" label="PO琛屽彿" prop="poLineNumber" align="center" min-width="120">
+            <template #default="scope">
+              {{ scope.row.poLineNumber }}
+            </template>
+          </el-table-column>
+
+          <el-table-column label="ASN琛屽彿" prop="asnLineNumber" align="center" v-if="dialogType != 'add'" min-width="120">
+            <template #default="scope">
+              {{ scope.row.asnLineNumber }}
+            </template>
+          </el-table-column>
+
+          <el-table-column label="鏁伴噺" align="center" min-width="150">
+            <template #default="scope">
+              <el-input-number :precision="3" min="0" v-model="scope.row.poQuantity" size="small" />
+            </template>
+          </el-table-column>
+
+          <el-table-column label="璁″垝寮�濮嬫椂闂�" align="center" min-width="180">
+            <template #default="scope">
+              <el-date-picker v-model="scope.row.plannedStartTime" type="datetime" :disabled-date="disabledDate"
+                value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨璁″垝寮�濮嬫椂闂�"
+                style="width: 100%" />
+            </template>
+          </el-table-column>
+          <el-table-column label="璁″垝缁撴潫鏃堕棿" align="center" min-width="180">
+            <template #default="scope">
+              <el-date-picker v-model="scope.row.plannedEndTime" type="datetime" :disabled-date="disabledDate"
+                value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿"
+                style="width: 100%" />
+            </template>
+          </el-table-column>
+
+          <el-table-column label="渚涘簲鍟�" align="center" min-width="180">
+            <template #default="scope">
+              <!--       @click="changeXmbh(scope.row.supplierCode,scope.row.materialCode,scope.row)"  
+                   :loading="loading"
+                placeholder="璇烽�夋嫨渚涘簲鍟�"
+                clearable
+                
+                :remote = "false"
+                :defaultActiveFirstOption="false"
+                reserve-keyword
+                remote-show-suffix      :remote-method="remoteMethod(scope.row.supplierCode,scope.row.materialName)"
+                
+                
+                        
+                :loading="loading"
+                placeholder="璇烽�夋嫨渚涘簲鍟�"
+                clearable
+                filterable
+                :defaultActiveFirstOption="false"
+                reserve-keyword
+                remote-show-suffix    
+                :remote-method="(val:any) => changeXmbh(val,scope.row.materialName)" 
+                
+                      -->
+              <el-select filterable v-model="scope.row.supplierCode" style="width: 100%"
+                @click.native="changeXmbh(scope.row.supplierCode, scope.row.materialCode, scope.row)">
+                <el-option v-for="(item, index) in scope.row.arrTdp" :key="index" :value="item.custCode"
+                  :label="`[${item.custCode}]${item.custChinaName}`"></el-option>
+              </el-select>
+            </template>
+          </el-table-column>
+          <el-table-column label="渚涘簲鍟嗘壒娆�" prop="supplierBatch" align="center" min-width="120">
+            <template #default="scope">
+              <el-input v-model.trim="scope.row.supplierBatch" clearable min-width="150" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规" />
+            </template>
+          </el-table-column>
+
+          <el-table-column label="ERP搴撳瓨鍦�" prop="erpCode" align="center" min-width="120">
+            <template #default="scope">
+              <el-input v-model.trim="scope.row.erpCode" clearable min-width="150" placeholder="璇疯緭鍏RP搴撳瓨鍦�" />
+            </template>
+          </el-table-column>
+
+          <el-table-column label="椤圭洰鍙�" prop="projectNo" align="center" min-width="120">
+            <template #default="scope">
+              <el-input v-model.trim="scope.row.projectNo" clearable min-width="150" placeholder="璇疯緭鍏ラ」鐩彿" />
+            </template>
+          </el-table-column>
+
+          <el-table-column label="鏀惰揣閬撳彛" prop="dock" align="center" min-width="120">
+            <template #default="scope">
+              <!-- <el-input v-model.trim="scope.row.dock" clearable min-width="150" placeholder="璇疯緭鍏ユ敹璐ч亾鍙�" /> -->
+
+              <el-select clearable v-model="scope.row.dock" placeholder="璇烽�夋嫨鏀惰揣閬撳彛">
+                <el-option v-for="(item, index) in getEnumDockData" :key="index" :value="item.value"
+                  :label="`${item.describe}`"></el-option>
+              </el-select>
+            </template>
+          </el-table-column>
+
+          <el-table-column label="鏄惁鍐荤粨" prop="isFreeze" align="center" min-width="120">
+            <template #default="scope">
+              <el-switch v-model="scope.row.isFreeze" active-text="鏄�" inactive-text="鍚�" />
+            </template>
+          </el-table-column>
+
+          <el-table-column label="鍐荤粨鍘熷洜" prop="freezeReason" align="center" min-width="120">
+            <template #default="scope">
+              <el-input v-model="scope.row.freezeReason" placeholder="璇疯緭鍏ュ喕缁撳師鍥�" maxlength="255" show-word-limit
+                clearable />
+            </template>
+          </el-table-column>
+
+          <el-table-column label="閲囪喘鍗曚綅" min-width="80" prop="poUnit" align="center" show-overflow-tooltip />
+          <el-table-column label="搴撳瓨鍗曚綅" min-width="80" prop="materialUnit" align="center" show-overflow-tooltip />
+        </el-table>
+      </div>
+    </div>
+    <!-- 鎵撳嵃 -->
+    <div v-if="dialogType == 'print'">
+      <el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+        @selection-change="detailsCheckChange" max-height="480">
+        <el-table-column align="center" width="60" type="selection" />
+        <el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column fixed="left" label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center"
+          show-overflow-tooltip />
+        <el-table-column label="鐗╂枡鍚嶇О" min-width="100" prop="materialName" align="center" show-overflow-tooltip />
+
+        <el-table-column label="ASN琛屽彿" prop="asnLineNumber" align="center" min-width="120">
+          <template #default="scope">
+            {{ scope.row.asnLineNumber }}
+          </template>
+        </el-table-column>
+        <el-table-column label="鏁伴噺" align="center" min-width="150">
+          <template #default="scope">
+            {{ scope.row.quantity }}
+          </template>
+        </el-table-column>
+
+        <el-table-column label="璁″垝寮�濮嬫椂闂�" align="center" min-width="180">
+          <template #default="scope">
+            {{ scope.row.plannedStartTime }}
+          </template>
+        </el-table-column>
+        <el-table-column label="璁″垝缁撴潫鏃堕棿" align="center" min-width="180">
+          <template #default="scope">
+            {{ scope.row.plannedEndTime }}
+          </template>
+        </el-table-column>
+
+        <el-table-column label="渚涘簲鍟�" align="center" min-width="180">
+          <template #default="scope">
+            {{ scope.row.supplierCode }}
+          </template>
+        </el-table-column>
+        <el-table-column label="渚涘簲鍟嗘壒娆�" prop="supplierBatch" align="center" min-width="120">
+          <template #default="scope">
+            {{ scope.row.supplierBatch }}
+          </template>
+        </el-table-column>
+        <el-table-column label="搴撳瓨鍗曚綅" min-width="80" prop="materialUnit" align="center" show-overflow-tooltip />
+
+        <el-table-column prop="sN_1d" min-width="120px" label="涓�缁存潯鐮�" show-overflow-tooltip="" />
+        <el-table-column prop="sN_2d" min-width="120px" label="浜岀淮鏉$爜" show-overflow-tooltip="" />
+
+      </el-table>
+
+    </div>
+
+
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="dialogVisible = false">鍙栨秷</el-button>
+        <el-button type="primary" :disabled="disabled_btn" @click="confirm">纭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+  <!-- 娣诲姞鐗╂枡 -->
+  <el-dialog v-model="addMaterialVisible" width="80%" @close="closeMaterialDialog">
+    <template #header>
+      <div style="color: #fff">
+        <span v-if="isMaterialBox == 1">娣诲姞鐗╂枡璇︽儏</span>
+        <span v-if="isPoBox == 1">鍏宠仈PO鍗曠墿鏂�</span>
+      </div>
+    </template>
+
+    <div class="msi-form" style="padding-top: 0px">
+      <el-form :model="materialForm" labelWidth="90">
+        <el-row>
+          <el-col :span="8" v-if="isMaterialBox == 1">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="materialForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+            </el-form-item>
+          </el-col>
+          <!-- 鍏宠仈PO鍗曞彿 -->
+
+          <el-col :span="6" v-if="isPoBox == 1">
+            <el-form-item label="PO鍗曞彿:">
+              <el-input v-model="materialForm.poNo" placeholder="璇疯緭鍏O鍗曞彿" clearable></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="6" v-if="isPoBox == 1">
+            <el-form-item label="椤圭洰鍙�" prop="projectNo">
+              <el-input v-model="materialForm.projectNo" placeholder="璇疯緭鍏ラ」鐩彿" maxlength="50" show-word-limit clearable />
+            </el-form-item>
+          </el-col>
+          <el-col :span="6" v-if="isPoBox == 1">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="materialForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6" v-if="isPoBox == 1" style="margin-bottom: 10px">
+            <el-form-item label="渚涘簲鍟�" prop="supplierCode">
+              <el-select v-model="materialForm.supplierCode" filterable remote reserve-keyword remote-show-suffix
+                :remote-method="remoteMethod2" :loading="loading" placeholder="璇烽�夋嫨渚涘簲鍟�" clearable style="width: 100%">
+                <el-option v-for="(item, index) in arrTdp2" :key="index" :value="item.custCode"
+                  :label="`[${item.custCode}]${item.custChinaName}`"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="6" v-if="isPoBox == 1">
+            <el-form-item label="璁″垝鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨璁″垝鏃堕棿" value-format="YYYY/MM/DD" type="daterange"
+                v-model="materialForm.plannedStartTimeRange" />
+            </el-form-item>
+          </el-col>
+
+          <!-- <el-form-item label="璁″垝鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨璁″垝鏃堕棿" value-format="YYYY/MM/DD" type="datetime" v-model="materialForm.plannedStartTimeRange" />
+            </el-form-item> -->
+
+          <!-- <el-col :span="6" v-if="isPoBox == 1">
+            <el-form-item label="璁″垝缁撴潫鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿" value-format="YYYY/MM/DD" type="datetime" v-model="materialForm.plannedEndTimeRange" />
+            </el-form-item>
+          </el-col> -->
+
+          <el-col :span="4">
+            <el-form-item label-width="20px">
+              <el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+              <!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
+    <div class="msi-content" style="padding-top: 0; margin-top: 10px">
+      <el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+        @selection-change="materialSelectionChange" :max-height="480" v-if="isMaterialBox == 1">
+        <el-table-column align="center" width="60" type="selection" />
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140px" show-overflow-tooltip />
+        <el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140px" show-overflow-tooltip />
+        <el-table-column prop="isCheck" label="鏄惁璐ㄦ" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isCheck"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+
+          </template>
+        </el-table-column>
+        <el-table-column label="閲囪喘鍗曚綅" prop="poUnit" align="center" show-overflow-tooltip />
+        <el-table-column label="搴撳瓨鍗曚綅" prop="materialUnit" align="center" show-overflow-tooltip />
+      </el-table>
+      <!-- PO鍗� -->
+      <el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+        @selection-change="materialSelectionChange" :max-height="480" v-if="isPoBox == 1">
+        <el-table-column align="center" width="60" type="selection" />
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column prop="poNo" label="PO鍗曞彿" min-width="160px" show-overflow-tooltip="" />
+        <el-table-column prop="poLineNumber" label="PO琛屽彿" show-overflow-tooltip="" />
+        <!-- <el-table-column prop="erpOrderNo" label="ERP鍗曞彿" show-overflow-tooltip="" /> -->
+        <!-- <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" /> -->
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿" min-width="120px" show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" min-width="120px" show-overflow-tooltip="" />
+        <el-table-column prop="poDetailStatusName" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag :type="getTypeStatus(1, scope.row.poDetailStatusName)">{{ scope.row.poDetailStatusName }} </el-tag>
+          </template>
+        </el-table-column>
+
+        <el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
+        <!-- <el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" /> -->
+        <el-table-column prop="createASNQuantity" min-width="110px" label="宸插垱寤篈SN鏁伴噺" show-overflow-tooltip="" />
+
+
+        <el-table-column prop="usedQty" label="鍓╀綑鍙敤鏁�" show-overflow-tooltip="">
+          <template #default="scope">
+            <span> {{ Number(scope.row.usedQty).toFixed(3).replace(/\.?0*$/, '') }} </span>
+          </template>
+        </el-table-column>
+
+
+        <el-table-column prop="snp" label="鏍囧寘鏁伴噺" show-overflow-tooltip="">
+          <template #default="scope">
+            <span> {{ scope.row.snp }} </span>
+          </template>
+        </el-table-column>
+
+        <!-- <el-table-column prop="printQuantity" label="鏉$爜鎵撳嵃鏁伴噺" show-overflow-tooltip="" /> -->
+
+        <!-- <el-table-column prop="poDetailStatus" label="鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						{{ scope.row.poDetailStatus }}
+						<el-tag>{{ getEnumDesc(scope.row.poDetailStatus, getEnumPoDetailStatusData_Index) }}</el-tag>
+					</template>
+				</el-table-column> -->
+        <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+        <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+        <el-table-column prop="plannedStartTime" label="璁″垝寮�濮嬫椂闂�" min-width="130px" show-overflow-tooltip="" />
+        <el-table-column prop="plannedEndTime" label="璁″垝缁撴潫鏃堕棿" min-width="130px" show-overflow-tooltip="" />
+        <el-table-column prop="projectNo" min-width="100px" label="椤圭洰鍙�" show-overflow-tooltip="" />
+
+        <!-- <el-table-column prop="dock" min-width="100px" label="鏀惰揣閬撳彛" show-overflow-tooltip="" /> -->
+
+        <!-- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+				<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" /> -->
+      </el-table>
+
+      <Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+        @pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+        <el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+  <!-- 鍗曡鎯� -->
+  <el-drawer v-model="drawerVisible" :title="`${detailForm.asnId}璁㈠崟璇︽儏`" direction="rtl" size="80%"
+    @close="handleDrawerClose">
+    <template #title>
+      <div class="slot_title">
+        <div class="title_orderNo">{{ title }}</div>
+        <div>璁㈠崟璇︽儏</div>
+      </div>
+    </template>
+
+    <div class="detailBoxWrap">
+      <!-- 璇︽儏缁勪欢 -->
+      <open-details ref="propDetailRef"></open-details>
+      <div class="msi-form">
+        <el-form :model="detailForm">
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="鐗╂枡缂栧彿">
+                <el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label-width="20px">
+                <el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+
+                <el-button type="primary" icon="ele-Finished" @click="goGenerateCode"
+                  :disabled="sccheckedDetails.length == 0">鐢熸垚鏉$爜</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <div class="msi-content">
+        <!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+        <el-table :data="drawerList" @selection-change="scdetailsCheckChange" border striped :max-height="480">
+
+          <el-table-column fixed="left" align="center" width="60" type="selection" />
+          <el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+          <!-- <el-table-column prop="asnNo" min-width="100px" label="ASN鍗曞彿" show-overflow-tooltip="" /> -->
+          <el-table-column prop="materialCode" fixed="left" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+          <el-table-column prop="materialName" min-width="130px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+
+          <el-table-column prop="asnLineNumber" min-width="100px" label="ASN琛屽彿" show-overflow-tooltip="" />
+          <el-table-column prop="asnStatus" min-width="100px" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+            <template #default="scope">
+              <el-tag :type="getTypeStatus(
+                1, scope.row.asnStatusName)
+                ">
+                {{ scope.row.asnStatusName }}
+              </el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column prop="poQuantity" min-width="100px" label="閲囪喘鏁伴噺" show-overflow-tooltip="" />
+          <el-table-column prop="quantity" min-width="100px" label="閫佽揣鏁伴噺" show-overflow-tooltip="" />
+          <el-table-column prop="goodsQuantity" min-width="100px" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+
+          <el-table-column prop="poNo" label="PO鍗曞彿" min-width="120px" show-overflow-tooltip="" />
+          <el-table-column prop="poLineNumber" min-width="100px" label="PO琛屽彿" show-overflow-tooltip="" />
+
+          <el-table-column prop="poUnit" min-width="100px" label="閲囪喘鍗曚綅" show-overflow-tooltip="" />
+          <el-table-column prop="materialUnit" min-width="100px" label="搴撳瓨鍗曚綅" show-overflow-tooltip="" />
+          <el-table-column prop="translateRate" min-width="100px" label="鎹㈢畻鐜�" show-overflow-tooltip="" />
+
+          <el-table-column prop="supplierCode" min-width="100px" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+          <el-table-column prop="supplierName" min-width="100px" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+          <el-table-column prop="supplierBatch" min-width="100px" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" />
+          <el-table-column prop="sN_1d" min-width="180px" label="涓�缁存潯鐮�" show-overflow-tooltip="" />
+          <el-table-column prop="sN_2d" min-width="180px" label="浜岀淮鏉$爜" show-overflow-tooltip="" />
+          <!-- <el-table-column prop="package" min-width="100px" label="鍖呰鍚嶇О" show-overflow-tooltip="" /> -->
+          <el-table-column prop="plannedStartTime" min-width="120px" label="璁″垝寮�濮嬫椂闂�" show-overflow-tooltip="" />
+          <el-table-column prop="plannedEndTime" min-width="120px" label="璁″垝缁撴潫鏃堕棿" show-overflow-tooltip="" />
+          <el-table-column label="鏄惁鍐荤粨" prop="isFreeze" align="center" min-width="120">
+            <template #default="scope">
+
+
+              <el-tag v-if="scope.row.isFreeze"> 鏄� </el-tag>
+              <el-tag type="danger" v-else> 鍚� </el-tag>
+
+            </template>
+          </el-table-column>
+          <el-table-column prop="projectNo" min-width="100px" label="椤圭洰鍙�" show-overflow-tooltip="" />
+          <!-- <el-table-column prop="factoryName" min-width="100px" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="factoryCode" min-width="100px" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+          <el-table-column prop="dock" min-width="100px" label="鏀惰揣閬撳彛" show-overflow-tooltip="" />
+
+          <!-- <el-table-column prop="batch" min-width="100px" label="鎵规" show-overflow-tooltip="" /> -->
+
+          <el-table-column prop="erpCode" min-width="100px" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
+          <el-table-column prop="erpOrderNo" min-width="100px" label="ERP鍗曞彿" show-overflow-tooltip="" />
+
+          <el-table-column prop="createTime" min-width="100px" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+            show-overflow-tooltip="" />
+          <el-table-column prop="updateTime" min-width="100px" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+            show-overflow-tooltip="" />
+          <el-table-column prop="createUserName" min-width="120px" label="鍒涘缓浜�" show-overflow-tooltip="" />
+          <el-table-column prop="updateUserName" min-width="120px" label="淇敼浜�" show-overflow-tooltip="" />
+        </el-table>
+        <Pagination :total="detailCount" v-model:page="detailForm.Page" v-model:limit="detailForm.PageSize"
+          @pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+        <div></div>
+      </div>
+    </div>
+  </el-drawer>
+
+  <el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+    <el-form :model="outerForm2" label-width="120px">
+      <el-row style="font-size: 16px">
+        <el-col :span="23">
+          <el-form-item label="鍗曞彿:" required>
+            <el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="outVisible2 = false">鍙栨秷</el-button>
+        <el-button type="primary" @click="getSapOrderPO">纭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+</template>
+<script lang="ts" setup>
+import Pagination from "/@/components/Pagination/index.vue";
+import { ElMessage, ElMessageBox } from "element-plus";
+import {
+  ref,
+  nextTick,
+  computed,
+  getCurrentInstance,
+  watch,
+  defineExpose,
+  defineProps,
+  onMounted,
+} from "vue";
+import {
+  removeTrailingZeros,
+  formatDate,
+  formatDate_T_Date,
+  formatDate_T_Time,
+  defaultTimeRange,
+} from "/@/utils/formatTime";
+
+import { formatDecimalData } from "/@/utils/formate";
+import { expandMore } from "/@/hooks/expandMore";
+import cache from "/@/utils/cache";
+import { pageWmsMaterial } from "/@/api/main/WmsBase/wmsMaterial";
+import { getTypeStatus } from "/@/utils/formate";
+import { getAPI } from "/@/utils/axios-utils";
+import { SysEnumApi } from "/@/api-services/api";
+import {
+  addWmsOrderPurchase,
+  updateWmsOrderPurchase,
+  detailWmsOrderPurchase,
+} from "/@/api/main/WmsOrder/wmsOrderPurchase";
+import OpenDetails from "/@/components/openDetails/openDetails.vue";
+import { pageBaseCustomer, pageBaseCustomerForOrders } from "/@/api/main/WmsBase/baseCustomer";
+import { pageWmsOrderPurchaseDetails, pageWmsOrderPurchaseDetailsForRelatedAsn } from "/@/api/main/WmsOrder/wmsOrderPurchaseDetails";
+import {
+  pageWmsOrderAsnDetails,
+  deleteWmsOrderAsnDetails,
+  updateWmsOrderAsnDetails,
+  updateWmsOrderAsnDetailsBarCode,
+} from "/@/api/main/WmsOrder/wmsOrderAsnDetails";
+import commonFunction from "/@/utils/commonFunction";
+import {
+  addWmsOrderAsn,
+  updateWmsOrderAsn,
+  detailWmsOrderAsn,
+} from "/@/api/main/WmsOrder/wmsOrderAsn";
+import { handleSlectDataWmsBusinessType } from "/@/utils/selectData";
+import { addWmsRecordSncodePrint } from "/@/api/main/PrintCenter/wmsRecordSncodePrint";
+const moveType = 10; //绉诲姩绫诲瀷 鍏ュ簱
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getBusinessTypeData_Index = ref<any>([]); //涓氬姟绫诲瀷 create by liuwq 2024-05-23
+const getEnumOrderTypeData = ref<any>([]);
+const getEnumPoStatusData = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(["getTabelData"]);
+const getEnumAsnStatusData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumDockData = ref<any>([]);
+const props = defineProps({
+  titleAuthor: {
+    type: Number,
+    required: true,
+  },
+  hexiao: {
+    type: Number,
+    default: 1,
+    required: true,
+  },
+});
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor);
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+// 鐧诲綍鐢ㄦ埛id
+// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
+
+// const EnumWriteOffState = computed(
+//   () => store.state.login.enums.enumWriteOffState
+// );
+
+let itemBtnArr = ["鎵归噺鍒犻櫎", "缂栬緫", "鏂板"];
+const boolEnum = ref([
+  {
+    title: "鏄�",
+    value: true,
+  },
+  {
+    title: "鍚�",
+    value: false,
+  },
+]);
+
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref("");
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+  return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+  orderDoRuType.value = param;
+  uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+  getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+  ElMessageBox.confirm("鏄惁纭鑾峰彇鏇存柊锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  }).then(() => {
+    // getSapRkPurchase().then((res) => {
+    //   if (res.code == 200) {
+    //     ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+    //   } else {
+    //     ElMessage.error(
+    //       `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+    //     );
+    //   }
+    // })
+  });
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+  purchaseNo: "",
+});
+const getSapOrderPO = (param?: number) => {
+  debugger
+  if (param && param == 1) {
+    outVisible2.value = true;
+    return;
+  }
+  if (outerForm2.value.purchaseNo == "") {
+    ElMessage.warning("璇疯緭鍏ュ崟鍙�");
+    return;
+  }
+  // getSapPurchasePO({
+  //   purchaseNo: outerForm2.value.purchaseNo
+  // })
+  //   .then((res) => {
+  //     if (res.code == 200) {
+  //       ElMessage.success("SAP鑾峰彇鎴愬姛");
+  //       outVisible2.value = false;
+  //     } else {
+  //       ElMessage.error(
+  //         `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+  //       );
+  //     }
+  //   })
+  //   .catch((err) => ElMessage.error(err));
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+  outerForm2.value.purchaseNo = "";
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+  WareMaterialCode: "",
+  WareMaterialName: "",
+  PurchaseNo: "",
+  CreatedUserName: "",
+  CreatedTimeBegin: "",
+  CreatedTimeEnd: "",
+  CreateDate: [],
+  IssueTimeBegin: "",
+  IssueTimeEnd: "",
+  IssueDate: [],
+  MaterialTypeStaus: "",
+  SourceBy: "",
+  WriteOffState: "",
+  signStatus: "",
+  status: "",
+  freeOrderType: "",
+  IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+  // LoginUserID: LoginUserID, //鐢ㄦ埛id
+  OrderMenuType: "", //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+  Page: 1,
+  PageSize: 10,
+  poApprovalStatus: "",
+  keyCode: "",
+  IsDisable: "", //鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+const tableRef = ref();
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache("enumList");
+console.log(enumList.inEnumOrderType);
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+  //鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+  if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+    formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+    formModel.value.CreatedTimeEnd = ""; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+  } else {
+    // 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+    if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+      formModel.value.CreatedTimeBegin = "";
+      formModel.value.CreatedTimeEnd = "";
+    }
+  }
+  //鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+  if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+    formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+    formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+  } else {
+    // 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+    if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+      formModel.value.IssueTimeBegin = "";
+      formModel.value.IssueTimeEnd = "";
+    }
+  }
+
+  //鍏跺畠鍏ュ簱鍏ュ彛
+  // if (titleAuthor.value == 1) { //鍏嶈垂鍏ュ簱鍗曠鐞�
+  // }
+
+  // if (titleAuthor.value == 2) { //璁㈠崟鍏ュ簱绠$悊
+  // }
+
+  // getPurchasePageForAllData(formModel.value)
+  //   .then((res) => {
+  //     if (res.code == 200) {
+  //       const { data } = res;
+  //       const result = data;
+  //       result.rows.map(
+  //         (item: { hasChildren: boolean }) => (item.hasChildren = true)
+  //       );
+  //       tableData.value = result.rows;
+  //       totalItems.value = result.totalRows;
+  //       orderType.value = formModel.value.MaterialTypeStaus;
+  //       // 娓呴櫎閫変腑
+  //       nextTick(() => {
+  //         if (tableRef.value && typeof tableRef.value.clearSelection === 'function') {
+  //           checkRows.value = [];
+  //           tableRef.value.clearSelection();
+  //         }
+  //       })
+  //     } else {
+  //       ;
+  //     }
+  //   })
+  //   .catch((err) => {
+  //     console.log(err);
+  //     ElMessage.error(JSON.stringify(err));
+  //   });
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+  formModel.value = {
+    WareMaterialCode: "",
+    WareMaterialName: "",
+    PurchaseNo: "",
+    CreatedUserName: "",
+    CreatedTimeBegin: "",
+    CreatedTimeEnd: "",
+    CreateDate: [],
+    IssueTimeBegin: "",
+    IssueTimeEnd: "",
+    IssueDate: [],
+    MaterialTypeStaus: "",
+    SourceBy: "",
+    WriteOffState: "",
+    signStatus: "",
+    status: "",
+    freeOrderType: "",
+    IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+    //  LoginUserID: LoginUserID, //鐢ㄦ埛id
+    OrderMenuType: "", //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+    Page: 1,
+    PageSize: 10,
+    poApprovalStatus: "",
+    keyCode: "",
+    IsDisable: "", //鏄惁浣滃簾
+  };
+  getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+  checkRows.value = val;
+};
+//瀵煎嚭PO鍗曡鎯�
+const handExport = () => {
+  // rkExport(formModel.value)
+  //   .then((res) => {
+  //     const link = document.createElement("a"); //鍒涘缓a鏍囩
+  //     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+  //     let objectUrl = URL.createObjectURL(blob);
+  //     link.href = objectUrl;
+  //     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+  //       new Date().toString(),
+  //       "YYYY-MM-DD hh:mm:ss"
+  //     )}`; // 鑷畾涔夋枃浠跺悕
+  //     link.click(); // 涓嬭浇鏂囦欢
+  //     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+  //   }).catch((err) => ElMessage.error(JSON.stringify(err)));
+  //瀵煎嚭璋冪敤鎺ュ彛
+  // let entozh = entozhExcell
+  //   const { Page, PageSize, ...rest } = formModel.value
+  //   getPurchasePage({ Page: 1, PageSize: 1000000, ...rest }).then(res => {
+  //     if(res.code==200){
+  //       res.data.rows.forEach((item)=>{
+  //         item.writeOffState = EnumWriteOffState.value.filter((v: any) => v.value == item.writeOffState)[0].title;
+  //         item.sourceBy =  sourceEnum.value.filter((v: any) => v.value == item.sourceBy)[0].title;
+  //       })
+  //       exportExcel(res.data.rows, entozh, "xlsx", `鍏ュ簱绠$悊琛�${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`);
+  //     }
+  //   })
+  // 鍚庣瀵煎嚭-瀛楁涓嶅叏
+  // if (checkRows.value.length <= 0) {
+  //   ElMessage.warning("璇烽�夋嫨涓�涓鍗曪紒");
+  //   return
+  // }
+  // const arr = checkRows.value.reduce((curr, item) => {
+  //   curr.push(item.purchaseNo);
+  //   return curr;
+  // }, []);
+  // puchaseExport({ PurchaseNo: arr })
+  //   .then((res) => {
+  //     const link = document.createElement("a"); //鍒涘缓a鏍囩
+  //     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+  //     let objectUrl = URL.createObjectURL(blob);
+  //     link.href = objectUrl;
+  //     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+  //       new Date().toString(),
+  //       "YYYY-MM-DD hh:mm:ss"
+  //     )}`; // 鑷畾涔夋枃浠跺悕
+  //     link.click(); // 涓嬭浇鏂囦欢
+  //     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+  //   })
+  //   .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+  materialCode: "",
+  asnId: "",
+  Page: 1,
+  PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref("drawerAll");
+// const
+//鍗曞彿
+const purchaseNo = ref("");
+
+const getEnumPoDetailStatusData_Index = ref<any>([]);
+
+//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+const getDetail = async () => {
+  loading.value = true;
+  var res = await pageWmsOrderAsnDetails(Object.assign(detailForm.value));
+  drawerList.value = res.data.result?.items ?? [];
+  detailCount.value = res.data.result?.total;
+  loading.value = false;
+
+};
+
+//----------------鐗╂枡鏄庣粏
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+  detailForm.value.Page = 1;
+  detailForm.value.PageSize = 10;
+  if (scope.asnNo) {
+    title.value = `${scope.asnNo}`;
+  }
+  drawerType.value = "drawerAll";
+  drawerVisible.value = true;
+  //褰撳墠鍏ュ簱鍗曞彿id
+  detailForm.value.asnId = scope.id;
+  //鍏ュ簱鍗�
+  purchaseNo.value = scope.purchaseNo;
+  detailForm.value.asnId = scope.id;
+  //鑾峰彇鐗╂枡鍒楄〃
+  if (detailForm.value.asnId == "") {
+    drawerList.value = [];
+    detailCount.value = 0;
+    return;
+  }
+  // 鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+  getDetail();
+
+  getEnumPoDetailStatusData_Index.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+    [];
+
+
+  getEnumOrderTypeData_Index.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderTypeEnum")).data.result ??
+    [];
+
+  // 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+  let scopetrans = JSON.parse(JSON.stringify(scope));
+  // scopetrans.totalquantity = Number(scopetrans.totalquantity).toFixed(3);
+  scopetrans.asnStatus = getEnumDesc(
+    scopetrans.asnStatus,
+    getEnumPoDetailStatusData_Index.value
+  );
+  scopetrans.asnType = getEnumDesc(scopetrans.asnType, getEnumOrderTypeData_Index.value);
+
+  nextTick(() => {
+    proxy.$refs["propDetailRef"].openADialog(scopetrans, entozhExcell);
+  });
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+  detailForm.value = {
+    materialCode: "",
+    asnId: "",
+    Page: 1,
+    PageSize: 10,
+  };
+  deltailList.value = [];
+  detailCount.value = 0;
+  drawerList.value = [];
+  drawerList.value = [];
+  detailCount.value = 0;
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+  id: number;
+  barCode: string;
+  wareMaterialCode: string;
+  name: string;
+  signStatus: string;
+  category: string;
+  materialTypeName: string;
+  specificationModel: string;
+  long: number;
+  width: number;
+  high: number;
+  weight: number;
+  unit: string;
+  createdTime: string;
+  purchaseNo: string;
+  quantity: number;
+  goodsquantity: number;
+  surplusquantity: number;
+  poLineNumber: string;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref("");
+
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref("add");
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+  hasTMCode: false,
+  typeTMCode: false, //false浜岀淮鐮� true 1缁寸爜
+  asnType: "",
+  dock: "",
+  projectNo: "",
+  OrderDetails: [] as any[],
+});
+
+// 鐗规畩瀛楃鐨勯獙璇�
+// 鍖呭惈鐗规畩瀛楃杩斿洖true锛屼笉鍖呭惈鐗规畩瀛楃杩斿洖false
+const checkEspcial = (rule: any, value: any, callback: any) => {
+  if (!value) {
+    callback();
+  } else {
+    const reg = /[@$%*^:;锛氾紱~+=!锛�#^{}><.,锛屻�俔/g;
+    if (!reg.test(value.trim())) {
+      callback();
+    } else {
+      return callback(new Error("涓嶈兘瀛樺湪鐗规畩绗﹀彿"));
+    }
+  }
+};
+
+// 楠岃瘉瑙掕壊缂栧彿
+var validatorCode = (rule: any, value: any, callback: any) => {
+  if (!value) {
+    callback();
+  } else {
+    const reg = /[\u4E00-\u9FA5]/g;
+    if (!reg.test(value)) {
+      callback();
+    } else {
+      return callback(new Error("鍗曞彿涓嶈兘瀛樺湪姹夊瓧"));
+    }
+  }
+};
+
+//rules
+const formRules = {
+  asnType: [{ required: true, message: "璇烽�夋嫨璁㈠崟绫诲瀷锛�", trigger: "change" }],
+  orderTypeName: [{ required: true, message: "璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒", trigger: "blur" }],
+  businessType: [{ required: true, message: "璇烽�夋嫨涓氬姟绫诲瀷锛�", trigger: "change" }],
+  businessTypeName: [
+    { required: true, message: "璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒", trigger: "blur" },
+  ],
+  orderSocure: [{ required: true, message: "璇疯緭鍏ュ崟鎹潵婧愶紒", trigger: "blur" }],
+  poStatus: [{ required: true, message: "璇烽�夋嫨鍗曟嵁鐘舵�侊紒", trigger: "change" }],
+  poStatusName: [{ required: true, message: "璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒", trigger: "blur" }],
+  supplierCode: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�", trigger: "blur" }],
+  supplierName: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�", trigger: "blur" }],
+  factoryId: [{ required: true, message: "璇疯緭鍏ュ伐鍘侷D锛�", trigger: "blur" }],
+  // purchaseNo: [
+  //   { required: true, message: "鍗曞彿涓嶈兘涓虹┖", trigger: "blur" },
+  //   { validator: validatorCode, trigger: "blur" },
+  //   { validator: checkEspcial, trigger: "blur" }
+  // ],
+};
+const materialCodeValue = ref("");
+//鎵撳紑鏂板銆佺紪杈戠獥鍙�
+const openDialog = async (type: number, scope: any = {}) => {
+  debugger
+  showYwlx.value = false;
+  // handleQueryTdp();
+  if (type == 1) {//鏂板
+    isPoBox.value = 1;
+    isMaterialBox.value = 1;
+    detailForm.value.PageSize = 10;
+
+    dialogType.value = "add";
+  }
+
+  if (type == 3) {  //鎵撳嵃
+    dialogType.value = "print";
+    detailForm.value.PageSize = 100000;
+    addForm.value = { ...scope };
+    detailForm.value.asnId = scope.id;
+    //------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+    loading.value = true;
+    var res = await pageWmsOrderAsnDetails(Object.assign(detailForm.value));
+
+    warehousOrderDetails.value = res.data.result?.items ?? [];
+    loading.value = false;
+    if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].poNo) {
+      isPoBox.value = 1;
+      isMaterialBox.value = 0;
+    } else {
+      isPoBox.value = 0;
+      isMaterialBox.value = 1;
+    }
+    addForm.value.hasTMCode = false;
+    addForm.value.typeTMCode = false;
+    if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].sN_1d) {
+      addForm.value.hasTMCode = true;
+      addForm.value.typeTMCode = true;
+    }
+    if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].sN_2d) {
+      addForm.value.hasTMCode = true;
+      addForm.value.typeTMCode = false;
+    }
+    //------------------------------
+
+  }
+
+  if (type == 2) {//缂栬緫
+    dialogType.value = "edit";
+    detailForm.value.PageSize = 100000;
+    addForm.value = { ...scope };
+    if (addForm.value.businessType == 1001) {
+      showYwlx.value = true //绂佺敤
+    } else {
+      showYwlx.value = false
+    }
+    console.log(addForm.value);
+    detailForm.value.asnId = scope.id;
+
+    //------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+    loading.value = true;
+    var res = await pageWmsOrderAsnDetails(Object.assign(detailForm.value));
+
+    warehousOrderDetails.value = res.data.result?.items ?? [];
+    loading.value = false;
+    if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].poNo) {
+      isPoBox.value = 1;
+      isMaterialBox.value = 0;
+    } else {
+      isPoBox.value = 0;
+      isMaterialBox.value = 1;
+    }
+    addForm.value.hasTMCode = false;
+    addForm.value.typeTMCode = false;
+    if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].sN_1d) {
+      addForm.value.hasTMCode = true;
+      addForm.value.typeTMCode = true;
+    }
+    if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].sN_2d) {
+      addForm.value.hasTMCode = true;
+      addForm.value.typeTMCode = false;
+    }
+    //----------------鐗╂枡鏄庣粏
+  }
+  dialogVisible.value = true;
+
+  //娓呴櫎閫変腑椤�
+  nextTick(() => {
+    if (dialogRef.value) {
+      dialogRef.value.clearValidate();
+    }
+  });
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+  return row.id + row.asnLineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+  disabled_btn.value = false;
+  addForm.value = {
+    hasTMCode: false,
+    typeTMCode: false, //false浜岀淮鐮� true 1缁寸爜
+    asnType: "",
+    dock: "",
+    projectNo: "",
+    OrderDetails: [] as any[],
+  };
+  warehousOrderDetails.value = [];
+  checkedDetails.value = [];
+  deltailList.value = [];
+  detailCount.value = 0;
+  detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+  checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+  debugger
+  ElMessageBox.confirm("鏄惁纭鍒犻櫎锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(() => {
+      let arr = [];
+      if (checkedDetails.value[0].asnLineNumber) {
+        checkedDetails.value.forEach((item) => {
+          console.log(item);
+          let index = warehousOrderDetails.value.findIndex(
+            (detail) =>
+              detail.materialCode == item.materialCode && detail.asnLineNumber == item.asnLineNumber
+          );
+          if (index > -1) {
+            warehousOrderDetails.value.splice(index, 1);
+          }
+        });
+      } else {
+        checkedDetails.value.forEach((item) => {
+          let index = warehousOrderDetails.value.findIndex(
+            (detail) =>
+              detail.materialCode == item.materialCode
+          );
+          warehousOrderDetails.value.splice(index, 1);
+        });
+      }
+      arr = warehousOrderDetails.value;
+      warehousOrderDetails.value = [];
+      //bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+      nextTick(() => {
+        warehousOrderDetails.value = arr;
+        checkedDetails.value = [];
+        detailRef.value.clearSelection();
+      });
+    })
+    .catch(() => ElMessage.info("宸插彇娑堝垹闄�"));
+};
+const disabled_btn = ref(false);
+//缂栬緫銆佹坊鍔犳彁浜�
+const confirm = async () => {
+  //鎵撳嵃
+  if (dialogType.value == "print") {
+    if (checkedDetails.value.length <= 0) {
+      ElMessage.warning("璇烽�変腑涓�鏉�");
+      return
+    }
+    checkedDetails.value.forEach((item) => {
+      // handleArr.push(item.id);
+      item.PrintSource = 2 //ASN鍗曡窡韪爜鎵撳嵃
+      item.PrintType = 1  //鐗╂枡璺熻釜鐮�
+      item.PrintSheetNum = 1
+      item.PrintNum = 1
+      item.PrintStatu = 1
+      item.IsAllowPrint = 1
+      if (item.sN_1d) {
+        item.snCode = item.sN_1d
+      }
+      if (item.sN_2d) {
+        item.snCode = item.sN_2d
+      }
+    });
+    disabled_btn.value = true;
+    loading.value = true;
+    var res = await addWmsRecordSncodePrint(checkedDetails.value);
+    if (res.data && res.data.code == 200) {
+      ElMessage.success("娣诲姞鎴愬姛");
+      dialogVisible.value = false;
+    }
+    loading.value = false;
+    disabled_btn.value = false;
+
+    return
+  }
+
+  //鏂板缂栬緫
+  dialogRef.value.validate(async (vali: any) => {
+    if (vali) {
+      console.log("纭");
+      if (warehousOrderDetails.value.length <= 0) {
+        ElMessage.warning("璇烽�夋嫨鐗╂枡");
+        return
+      }
+      let idx2 = warehousOrderDetails.value.findIndex(
+        (v) => v.poQuantity == "" || v.poQuantity == undefined || v.poQuantity <= 0
+      );
+      if (idx2 > -1) {
+        ElMessage.warning("鏁伴噺涓嶅悎瑙勮寖锛�");
+        return;
+      }
+
+      addForm.value.OrderDetails = [];
+      warehousOrderDetails.value.forEach((item) => {
+        const obj = {
+          ...item,
+          asnLineNumber: item.asnLineNumber
+        };
+        addForm.value.OrderDetails.push(obj);
+      });
+      debugger
+
+      //娣诲姞
+      if (dialogType.value == "add") {
+        disabled_btn.value = true;
+        let res = await addWmsOrderAsn(addForm.value);
+        if (res.data && res.data.code == 200) {
+          ElMessage.success("娣诲姞鎴愬姛");
+          dialogVisible.value = false;
+          emits("getTabelData");
+        }
+        disabled_btn.value = false;
+      } else {
+        disabled_btn.value = true;
+        let res = await updateWmsOrderAsn(addForm.value);
+        if (res.data && res.data.code == 200) {
+          ElMessage.success("缂栬緫鎴愬姛");
+          dialogVisible.value = false;
+          emits("getTabelData");
+        }
+        disabled_btn.value = false;
+      }
+    } else {
+      ElMessage.warning("琛ㄥ崟楠岃瘉澶辫触");
+    }
+  });
+  disabled_btn.value = false;
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+  materialCode: "",
+  projectNo: "",
+  supplierCode: "",
+  poNo: "",
+  Code: "",
+  Page: 1,
+  PageSize: 10,
+  filterOrderStauts: 1, //杩囨护鈥滄柊寤衡�濃�滃鐞嗕腑鈥濈殑PO鍗�
+  IsDisabled: false, //鏈鐢ㄧ殑
+  MaterialType: "546896760045637", //鐗╂枡绫诲瀷锛氬師鏉愭枡
+  plannedStartTimeRange: [],
+  plannedEndTimeRange: []
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+  debugger
+  // 鍒涘缓po
+  if (isPoBox.value == 1) {
+    loading.value = true;
+    materialForm.value.filterOrderStauts = 1;
+    // var res = await pageWmsOrderPurchaseDetails(Object.assign(materialForm.value));
+    var res = await pageWmsOrderPurchaseDetailsForRelatedAsn(Object.assign(materialForm.value));
+
+    if (res.data.result && res.data.result?.items.length > 0) {
+      res.data.result?.items.forEach((item: any) => {
+        //asn鏈粦鐨勫彲鐢╬o鍓╀綑鏁伴噺
+        item.usedQty = Number(Number(item.quantity) - Number(item.createASNQuantity)).toFixed(3);
+        //po鎬绘暟
+        item.quantityAll = item.quantity;
+        if (item.snp == 0) {
+          item.snp = "";
+        }
+        // item.quantity = Number(item.quantityAll - item.goodsQuantity).toFixed(3);
+      });
+    }
+
+    materialList.value = res.data.result?.items ?? [];
+    materialTotal.value = res.data.result?.total;
+    loading.value = false;
+  }
+  //鍒涘缓asn
+  if (isMaterialBox.value == 1) {
+    loading.value = true;
+    var res = await pageWmsMaterial(Object.assign(materialForm.value));
+    materialList.value = res.data.result?.items ?? [];
+    materialTotal.value = res.data.result?.total;
+    loading.value = false;
+  }
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+  materialForm.value = {
+    poNo: "",
+    Code: "",
+    Page: 1,
+    PageSize: 10,
+    filterOrderStauts: 1, //杩囨护鈥滄柊寤衡�濃�滃鐞嗕腑鈥濈殑PO鍗�
+    IsDisabled: false, //鏈鐢ㄧ殑
+    MaterialType: "546896760045637", //鐗╂枡绫诲瀷锛氬師鏉愭枡
+    plannedStartTimeRange: [],
+    plannedEndTimeRange: []
+  };
+  getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+const showYwlx = ref(false);
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+  checkedMaterial.value = val;
+};
+const isMaterialBox: any = ref(true);
+const isPoBox: any = ref(false);
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = (param?: any) => {
+  if (param && param == "po") {
+    isPoBox.value = 1;
+    isMaterialBox.value = 0;
+    addForm.value.businessType = 1001;
+    showYwlx.value = true
+  } else {
+    isPoBox.value = 0;
+    isMaterialBox.value = 1;
+    showYwlx.value = false;
+  }
+  getMaterialList();
+
+  // if ( addForm.value.freeOrderType && isShowBomBtn.value ) {
+  //   ElMessage.warning("鍏嶈垂浠剁被鍨嬫槸PR2锛屽彧鑳芥柊澧濪I缁存姢鐨勭墿鏂欙紒");
+  //   return;
+  // }
+  addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+
+  //鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+  // if (warehousOrderDetails.value.length == 0) {
+  //   // 鑷姩缁欒鍙峰鍊�
+  //   checkedMaterial.value.forEach((item, index) => {
+  //     item.unit = item.poUnit || item.unit;
+  //     // item.asnLineNumber = index + 1;
+  //     // if (!item.asnLineNumber) {
+  //     //   item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+  //     // }
+  //   });
+  //   warehousOrderDetails.value.push(...checkedMaterial.value);
+  // } else {
+  if (isPoBox.value == 1) { //PO
+    debugger
+    for (let i = 0; i < checkedMaterial.value.length; i++) {
+      let idx = warehousOrderDetails.value.findIndex(
+        (item: any) =>
+          item.materialCode == checkedMaterial.value[i].materialCode &&
+          item.poLineNumber == checkedMaterial.value[i].poLineNumber &&
+          item.poNo == checkedMaterial.value[i].poNo
+      );
+      if (idx > -1) {
+        return ElMessage.warning(
+          `PO鍙�${checkedMaterial.value[i].poNo},鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}锛孭O琛屽彿锛�${checkedMaterial.value[i].poLineNumber || ""}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦
+        );
+      }
+    }
+
+    //鍒涘缓ASN鍗曟椂锛岄�夋嫨PO鍗曟椂锛屽鏋滅墿鏂欐槸閰嶇疆鏍囧寘鏁伴噺鐨勮瘽锛岄渶瑕佹牴鎹� 鏍囧寘鏁伴噺杩涜鍒嗛厤锛屽苟鐢熸垚N鏉℃樉绀哄埌鐣岄潰涓�
+    var arrChaifen = []
+    checkedMaterial.value.forEach((item: any) => {
+      if (item.snp && item.snp > 0) { //鏍囧寘鏁� > 0
+        //-------鍓╀綑鍙敤鏁� > 0
+        if (Number(item.usedQty) > 0) {
+          // ----------- 鏍囧寘鏁� > 鍓╀綑鍙敤鏁�  ------- 鍑戜笉澶熶竴鍖� 灏卞垱寤轰笉瓒充竴鍖�
+          if (item.usedQty < item.snp) {
+            var { quantity, ...rest } = item;
+            arrChaifen.push({
+              ...rest,
+              poQuantity: item.usedQty, //鍓╀綑鍙敤鏁�
+              quantity: 0 //鍚庡彴澶勭悊杞崲鍚庣殑閫佽揣鏁伴噺
+            });
+            return
+          } else {
+            //----- 瀛樺湪鏍囧寘 鎷嗗垎 10/3 鎷嗘垚 3 3 3 1-----------
+            var numArr = []; // var num = [3,3,3,1];
+            var s1 = Math.floor(item.usedQty / item.snp);
+            var qtyYs = Number(item.usedQty) % Number(item.snp); //鍙栦綑鏁�
+            var numArr = Array.from({ length: s1 }, () => item.snp);//鍒涘缓鏁扮粍闀垮害s1,骞跺~鍏呮爣鍖呮暟
+            if (qtyYs > 0) {
+              numArr.push(qtyYs)
+            }
+            console.log("鎷嗗垎鐨勬暟缁勫唴瀹�")
+            console.log(numArr)
+            numArr.forEach((itemCf: any) => {
+              var { quantity, ...rest } = item;
+              var quantityNew = Number(itemCf);
+              arrChaifen.push({
+                ...rest,
+                poQuantity: quantityNew,
+                quantity: 0 //鍚庡彴澶勭悊杞崲鍚庣殑閫佽揣鏁伴噺
+              });
+            });
+          }
+        }
+      } else {
+        //-----------娌℃湁鏍囧寘鐨勭洿鎺ユ彃鍏�
+        var { quantity, ...rest } = item;
+        var quantitySy = item.usedQty || 0
+        arrChaifen.push({
+          ...rest,
+          poQuantity: quantitySy,//鍓╀綑鍙敤鏁�
+          quantity: 0 //鍚庡彴澶勭悊杞崲鍚庣殑閫佽揣鏁伴噺
+        });
+      }
+    });
+
+    warehousOrderDetails.value.push(...arrChaifen);
+
+  } else {
+    //鐩存帴娣诲姞鐗╂枡
+    for (let i = 0; i < checkedMaterial.value.length; i++) {
+      let idx = warehousOrderDetails.value.findIndex(
+        (item: { asnLineNumber: any; materialCode: any }) =>
+          item.materialCode == checkedMaterial.value[i].materialCode
+      );
+      if (idx > -1) {
+        return ElMessage.warning(
+          `鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦
+        );
+      }
+    }
+    warehousOrderDetails.value.push(...checkedMaterial.value);
+  }
+  // 鑷姩缁欒鍙峰鍊�
+  checkedMaterial.value.forEach((item, index) => {
+    item.unit = item.poUnit || item.unit;
+    // if (!item.asnLineNumber) {
+    //   item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+    // }
+  });
+  // }
+  addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+  materialForm.value = {
+    materialCode: "",
+    projectNo: "",
+    supplierCode: "",
+    poNo: "",
+    Code: "",
+    Page: 1,
+    PageSize: 10,
+    filterOrderStauts: 1, //杩囨护鈥滄柊寤衡�濃�滃鐞嗕腑鈥濈殑PO鍗�
+    IsDisabled: false, //鏈鐢ㄧ殑
+    MaterialType: "546896760045637", //鐗╂枡绫诲瀷锛氬師鏉愭枡
+    plannedStartTimeRange: [],
+    plannedEndTimeRange: []
+  };
+  materialList.value = [];
+  checkedMaterial.value = [];
+  materialRef.value.clearSelection();
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+  getEnumOrderTypeData.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderTypeEnum")).data.result ??
+    [];
+
+  getEnumPoStatusData.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+    [];
+  getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇涓氬姟绫诲瀷鎺ュ彛 create  by liuwq
+  getEnumDockData.value =
+    (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("DockEnum")).data.result ?? [];
+});
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+  page: 1,
+  pageSize: 1000,
+  total: 0,
+  custType: "渚涘簲鍟�"
+});
+
+//-----------------杩滅▼鎼滅储pageBaseCustomer  ----------------
+// const handleQueryTdp = async () => {
+//     var res = await pageBaseCustomerForOrders(Object.assign(queryParamsW.value, tableParamsW.value));
+//     arrTdp.value = res.data.result ?? [];
+// };
+
+const changeXmbh = async (query?: any, materialCode?: any, scope?: any) => {
+  loading.value = true;
+  var res = await pageBaseCustomerForOrders({
+    ...tableParamsW.value,
+    materialCode: materialCode,
+    //  custCode: query  //瀹㈡埛缂栧彿
+  });
+  loading.value = false;
+  scope.arrTdp = res.data.result ?? [];
+};
+
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+// const remoteMethod = async (query: any) => {
+//     loading.value = true;
+//     var res = await pageBaseCustomerForOrders({
+//       ...tableParamsW.value,
+//       custCode: query
+//     });
+//     loading.value = false;
+//     arrTdp.value = res.data.result ?? [];
+// };
+//-----------------杩滅▼鎼滅储----------------
+
+
+//--------------浜岀淮鐮佺敓鎴�
+const sccheckedDetails = ref<any[]>([]);
+const scdetailsCheckChange = (val: any) => {
+  sccheckedDetails.value = val;
+};
+const goGenerateCode = async () => {
+
+  const handleArr: number[] = [];
+  sccheckedDetails.value.forEach((item) => {
+    handleArr.push(item.id);
+  });
+  debugger
+  ElMessageBox.confirm("鏄惁纭鐢熸垚鏉$爜锛�", "鎻愮ず", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      const ret = await updateWmsOrderAsnDetailsBarCode({
+        ID: handleArr
+      });
+      if (ret.data.type == "success") {
+        ElMessage.success('鐢熸垚鏉$爜鎴愬姛锛�');
+        getDetail();
+      }
+    })
+    .catch(() => {
+      ElMessage.info("宸插彇娑堢敓鎴愭潯鐮�");
+    });
+}
+
+
+
+//-----------------杩滅▼鎼滅储 ----------------
+const arrTdp2 = ref<any[]>([]);
+const queryParamsW2 = ref<any>({});
+const tableParamsW2 = ref({
+  page: 1,
+  pageSize: 200,
+  total: 0,
+  custType: "渚涘簲鍟�"
+});
+
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod2 = async (query: any) => {
+  loading.value = true;
+  var res = await pageBaseCustomer({
+    ...tableParamsW2.value,
+    custCode: query
+  });
+  loading.value = false;
+  arrTdp2.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+  margin: 10px;
+}
+
+.msi-form {
+  margin-top: 10px;
+}
+
+.msi-form {
+  margin-bottom: 10px;
+}
+
+.slot_title {
+  display: flex;
+  align-items: center;
+
+  // margin-left: 20px;
+  .title_orderNo {
+    font-size: 18px;
+    color: #f18201;
+    font-weight: bold;
+    margin-right: 5px;
+  }
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue
new file mode 100644
index 0000000..9144030
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue
@@ -0,0 +1,426 @@
+锘�<template>
+  <div class="wmsOrderAsn-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="ASN鍗曞彿" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="ASN鍗曞彿">
+              <el-input v-model="queryParams.asnNo" clearable="" placeholder="璇疯緭鍏SN鍗曞彿" />
+
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍗曟嵁绫诲瀷">
+              <el-select clearable="" v-model="queryParams.asnType" placeholder="璇烽�夋嫨鍗曟嵁绫诲瀷">
+                <el-option v-for="(item,index) in getEnumAsnTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+              </el-select>
+            </el-form-item>
+          </el-col> -->
+ 
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="涓氬姟绫诲瀷">
+              <el-select clearable="" v-model="queryParams.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+                <el-option v-for="(item, index) in getBusinessTypeData_Index" :key="index" :value="item.businessTypeValue"
+                  :label="`[${item.businessTypeValue}] ${item.businessTypeName}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍗曟嵁鐘舵��">
+              <el-select clearable="" v-model="queryParams.asnStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+                <el-option v-for="(item, index) in getEnumAsnStatusData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍗曟嵁鐘舵�佸悕绉�">
+              <el-input v-model="queryParams.asnStatusName" clearable="" placeholder="璇疯緭鍏ュ崟鎹姸鎬佸悕绉�"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐗╂祦鍗曞彿">
+              <el-input v-model="queryParams.trackingNumber" clearable="" placeholder="璇疯緭鍏ョ墿娴佸崟鍙�" />
+
+            </el-form-item>
+          </el-col> -->
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="閲婃斁鐘舵��">
+              <el-input-number v-model="queryParams.releaseStatus"  clearable="" placeholder="璇疯緭鍏ラ噴鏀剧姸鎬�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="閲婃斁鐘舵�佸悕绉�">
+              <el-input v-model="queryParams.releaseStatusName" clearable="" placeholder="璇疯緭鍏ラ噴鏀剧姸鎬佸悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鏄惁鍐荤粨">
+              <el-select clearable="" v-model="queryParams.isFreeze" placeholder="璇烽�夋嫨鏄惁鍐荤粨">
+                <el-option v-for="(item,index) in getEnumIsFreezeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col> -->
+
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="棰勮鍒拌揪鏃ユ湡">
+              <el-date-picker placeholder="璇烽�夋嫨棰勮鍒拌揪鏃ユ湡" value-format="YYYY/MM/DD" type="daterange" v-model="queryParams.estimatedDateRange" />
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'wmsOrderAsn:page'"> 鏌ヨ
+                </el-button>
+                <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI"
+                  style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI"
+                  style="margin-left:5px;"> 闅愯棌 </el-button>
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsOrderAsn" v-auth="'wmsOrderAsn:add'"> 鏂板 </el-button> -->
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="showProp(1)"
+                  v-auth="'wmsOrderPurchase:add'"> 鏂板 </el-button>
+                  <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelWmsOrderDeliver"> 瀵煎叆 </el-button>
+                  <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handExport"> 瀵煎嚭</el-button>
+              </el-button-group>
+            </el-form-item>
+
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table :data="tableData" style="width: 100%" v-loading="loading" tooltip-effect="light" row-key="id"
+        @sort-change="sortChange" ref="tableRef" :summary-method="getExportTitle" show-summary border="">
+
+        <el-table-column type="index" label="搴忓彿" width="55" align="center" />
+        <!-- <el-table-column prop="purchaseNo" label="PO鍗曞彿"  show-overflow-tooltip="" /> -->
+
+        <el-table-column label="ASN鍗曞彿" prop="asnNo" width="160px" align="left" show-overflow-tooltip>
+          <template #default="scope">
+            <span class="under_line" @click="openDrawer(1, scope.row)">
+              {{ scope.row.asnNo }}
+            </span>
+          </template>
+        </el-table-column>
+
+        <!-- 
+          <el-table-column prop="asnType" min-width="100px" label="鍗曟嵁绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.asnType, getEnumAsnTypeData_Index)}}
+            </template>
+          </el-table-column> -->
+          <el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" show-overflow-tooltip="" min-width="90px">
+          <template #default="scope">
+            {{ scope.row.businessTypeName }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="asnStatus" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index))">
+              {{ getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index) }}
+            </el-tag>
+          </template>
+        </el-table-column>
+
+        <!-- <el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
+        <el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" /> -->
+
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+          show-overflow-tooltip="" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+          show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="280" align="center" fixed="right" show-overflow-tooltip=""
+          v-if="auth('wmsOrderAsn:update') || auth('wmsOrderAsn:delete')">
+          <template #default="scope">
+            <!-- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsOrderAsn(scope.row)" v-auth="'wmsOrderAsn:update'"> 缂栬緫 </el-button> -->
+
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="showProp(scope.row)"
+              v-auth="'wmsOrderPurchase:update'" :disabled="scope.row.asnStatus!=0"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsOrderAsn(scope.row)"
+              v-auth="'wmsOrderAsn:delete'" :disabled="scope.row.asnStatus!=0"> 鍙栨秷 </el-button>
+
+
+              <el-button icon="ele-Close" size="small" text="" type="primary" v-auth="'wmsOrderDeliver:delete'"
+              @click="tocloseWmsOrderAsn(scope.row)" :disabled="!(scope.row.asnStatus == 0 || scope.row.asnStatus == 1)"> 鍏抽棴</el-button>
+
+              <el-button icon="ele-Printer" size="small" text="" type="primary" @click="showProp(3,scope.row)"
+              v-auth="'wmsOrderAsn:update'" :disabled="scope.row.asnStatus!=0"> 鎵撳嵃 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination v-model:currentPage="tableParams.page" v-model:page-size="tableParams.pageSize"
+        :total="tableParams.total" :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background=""
+        @size-change="handleSizeChange" @current-change="handleCurrentChange"
+        layout="total, sizes, prev, pager, next, jumper" />
+      <printDialog ref="printDialogRef" :title="printWmsOrderAsnTitle" @reloadTable="handleQuery" />
+      <editDialog ref="editDialogRef" :title="editWmsOrderAsnTitle" @reloadTable="handleQuery" />
+    </el-card>
+
+    <editDialogWmsOrderDeliver ref="editDialogRefWmsOrderDeliver" :title="editWmsOrderDeliverTitle"
+        @reloadTable="handleQuery" />
+      <importExcelDialog ref="importExcelDialogRefWmsOrderDeliver" :title="importExcelTitleWmsOrderDeliver"
+        @parentUploadFun="handleImportExcelWmsOrderDeliver" @parentDownFun="handleDownExcelWmsOrderDeliver" />
+
+    <!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 -->
+    <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQuery"></open-allprop>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsOrderAsn">
+import { getCurrentInstance, nextTick, onMounted, ref } from "vue";
+import { ElMessageBox, ElMessage } from "element-plus";
+import { auth } from '/@/utils/authFunction';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+import editDialog from '/@/views/main/WmsOrder/wmsOrderAsn/component/editDialog.vue'
+import { pageWmsOrderAsn, deleteWmsOrderAsn, importExcelWmsOrderAsn, downloadExcelTemplateWmsOrderAsn, downloadExcelTemplateWmsOrderAsnAll, closeWmsOrderAsn } from '/@/api/main/WmsOrder/wmsOrderAsn';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
+import { handleSlectDataWmsBusinessType } from "/@/utils/selectData";
+import {
+formatUtcToData,
+  getTypeStatus
+} from "/@/utils/formate";
+
+import OpenAllprop from "./component/openAllpropAsn.vue";
+import { ExcellTableDataExport } from "/@/hooks/exportTableDataExcell";
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const  moveType=10;//绉诲姩绫诲瀷 鍏ュ簱
+// ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
+const jsonExcellTableExport = {
+  titleName: "", //瀵煎嚭琛ㄦ牸鍚嶇О
+  interfaceListName: '',//瀵煎嚭鎺ュ彛鍚嶇О
+}
+const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport)
+// --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬-----------------
+// ---------------鏂板-----------------------
+const showProp = (item?: any,itemAll?:any) => {
+  if (item == 1) { //鏂板
+    proxy.$refs['propALlProp'].openDialog(1);
+  } else if(item == 3){ //鎵撳嵃
+    proxy.$refs['propALlProp'].openDialog(3, itemAll);
+  } else{ //缂栬緫
+    proxy.$refs['propALlProp'].openDialog(2, item);
+  }
+}
+// ---------------璇︽儏-----------------------
+const openDrawer = (type: number, item?: any) => {
+  proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell);
+}
+// ---------------end璇︽儏-----------------------
+const getBusinessTypeData_Index = ref<any>([]);//涓氬姟绫诲瀷 create by liuwq
+const getEnumAsnTypeData_Index = ref<any>([]);
+const getEnumAsnStatusData_Index = ref<any>([]);
+const getEnumIsFreezeData_Index = ref<any>([]);
+
+
+
+const { getEnumDesc } = commonFunction();
+const showAdvanceQueryUI = ref(false);
+const printDialogRef = ref();
+const editDialogRef = ref();
+const loading = ref(false);
+const tableData = ref<any>([]);
+const queryParams = ref<any>({});
+const tableParams = ref({
+  page: 1,
+  pageSize: 10,
+  total: 0,
+});
+
+const printWmsOrderAsnTitle = ref("");
+const editWmsOrderAsnTitle = ref("");
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUI = () => {
+  showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+}
+
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+  loading.value = true;
+  debugger
+  var res = await pageWmsOrderAsn(Object.assign(queryParams.value, tableParams.value));
+  tableData.value = res.data.result?.items ?? [];
+  tableParams.value.total = res.data.result?.total;
+  loading.value = false;
+ 
+};
+
+// 鍒楁帓搴�
+const sortChange = async (column: any) => {
+  queryParams.value.field = column.prop;
+  queryParams.value.order = column.order;
+  await handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddWmsOrderAsn = () => {
+  editWmsOrderAsnTitle.value = '娣诲姞ASN涓�';
+  editDialogRef.value.openDialog({});
+};
+
+// 鎵撳紑鎵撳嵃椤甸潰
+const openPrintWmsOrderAsn = async (row: any) => {
+  printWmsOrderAsnTitle.value = '鎵撳嵃ASN涓�';
+}
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditWmsOrderAsn = (row: any) => {
+  editWmsOrderAsnTitle.value = '缂栬緫ASN涓�';
+  editDialogRef.value.openDialog(row);
+};
+
+// 鍒犻櫎
+const delWmsOrderAsn = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸彇娑堝悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      var res = await deleteWmsOrderAsn(row);
+      if (res.data.type == "success") {
+        handleQuery();
+        ElMessage.success("鍙栨秷鎴愬姛");
+      }
+    })
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+  tableParams.value.pageSize = val;
+  handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+  tableParams.value.page = val;
+  handleQuery();
+};
+// 鏍规嵁businessTypeValue鑾峰彇businessTypeName
+const getBusinessTypeByValue = (key: any, itemLst: any) => {
+
+return itemLst.find((x: any) => x.businessTypeValue == key)?.businessTypeName;
+};
+
+handleQuery();
+
+onMounted(async () => {
+  nextTick(async () => {
+    getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇鎺ュ彛
+    getEnumAsnTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+    getEnumAsnStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+    getEnumIsFreezeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+  });
+});
+
+
+
+
+/***************************************************[DO鍗曟搷浣淽缁撴潫***************************************************/
+/***************************************************[DO鍗曞鍏寮�濮�***************************************************/
+const printWmsOrderDeliverTitle = ref("");
+const editWmsOrderDeliverTitle = ref("");
+const importExcelTitleWmsOrderDeliver = ref("");
+const importExcelDialogRefWmsOrderDeliver = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsOrderDeliver = () => {
+  importExcelTitleWmsOrderDeliver.value = '瀵煎叆ASN鍗�';
+  importExcelDialogRefWmsOrderDeliver.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsOrderDeliver = async (formData: Blob) => {
+  var result = await importExcelWmsOrderAsn(formData);
+  importExcelDialogRefWmsOrderDeliver.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+  if (result.data.type == "success") {
+    handleQuery();
+  }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsOrderDeliver = async () => {
+  var result = await downloadExcelTemplateWmsOrderAsn();
+  importExcelDialogRefWmsOrderDeliver.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[DO鍗曞鍏缁撴潫***************************************************/
+/***************************************************[DO鍗曞鍑篯寮�濮�***************************************************/
+
+
+
+//瀵煎嚭
+const handExport = () => {
+  downloadExcelTemplateWmsOrderAsnAll(queryParams.value)
+    .then((res) => {
+      if(res.status == 200){
+        const link = document.createElement("a"); //鍒涘缓a鏍囩
+          let blob = new Blob([res.data], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+          let objectUrl = URL.createObjectURL(blob);
+          link.href = objectUrl;
+          link.download = `ASN鍗曞鍑�${formatUtcToData(
+            new Date().toString(),
+            "YYYY-MM-DD hh:mm:ss"
+          )}`; // 鑷畾涔夋枃浠跺悕
+          link.click(); // 涓嬭浇鏂囦欢
+          URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+      }
+    })
+};
+
+
+
+
+// 鍏抽棴Asn鍗�
+const tocloseWmsOrderAsn = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸叧闂悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      loading.value = true;
+      var ret = await closeWmsOrderAsn(row);
+      if (ret.data.type == "success") {
+        ElMessage.success("鍏抽棴鎴愬姛");
+      }
+      loading.value = false;
+      handleQuery();
+    })
+};
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+  width: 100%;
+}
+
+.under_line {
+  color: #F18201;
+  text-decoration: underline;
+  cursor: pointer;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsnDetails/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsnDetails/component/editDialog.vue
new file mode 100644
index 0000000..934a781
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsnDetails/component/editDialog.vue
@@ -0,0 +1,343 @@
+锘�<template>
+	<div class="wmsOrderAsnDetails-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="PO鍗旾D" prop="poId">
+							<el-input v-model="ruleForm.poId" placeholder="璇疯緭鍏O鍗旾D" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="PO鍗曞彿" prop="poNo">
+							<el-input v-model="ruleForm.poNo" placeholder="璇疯緭鍏O鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="PO鍗曟槑缁嗚鍙�" prop="poLineNumber">
+							<el-input v-model="ruleForm.poLineNumber" placeholder="璇疯緭鍏O鍗曟槑缁嗚鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閫佽揣鏁伴噺" prop="quantity">
+							<el-input v-model="ruleForm.quantity" placeholder="璇疯緭鍏ラ�佽揣鏁伴噺" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸叉敹鏁伴噺" prop="goodsQuantity">
+							<el-input v-model="ruleForm.goodQuantity" placeholder="璇疯緭鍏ュ凡鏀舵暟閲�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗙紪鍙�" prop="supplierCode">
+							<el-input v-model="ruleForm.supplierCode" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName">
+							<el-input v-model="ruleForm.supplierName" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曚綅" prop="unit">
+							<el-input v-model="ruleForm.unit" placeholder="璇疯緭鍏ュ崟浣�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鐘舵��" prop="asnStatus">
+							<el-select clearable v-model="ruleForm.asnStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+								<el-option v-for="(item,index) in  getEnumAsnStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鐘舵�佸悕绉�" prop="asnStatusName">
+							<el-input v-model="ruleForm.asnStatusName" placeholder="璇疯緭鍏ュ崟鎹姸鎬佸悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓�缁存潯鐮�" prop="sN_1d">
+							<el-input v-model="ruleForm.sN_1d" placeholder="璇疯緭鍏ヤ竴缁存潯鐮�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="浜岀淮鏉$爜" prop="sN_2d">
+							<el-input v-model="ruleForm.sN_2d" placeholder="璇疯緭鍏ヤ簩缁存潯鐮�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍖呰鍚嶇О" prop="package">
+							<el-input v-model="ruleForm.package" placeholder="璇疯緭鍏ュ寘瑁呭悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璁″垝寮�濮嬫椂闂�" prop="plannedStartTime">
+							<el-date-picker v-model="ruleForm.plannedStartTime" type="date" placeholder="璁″垝寮�濮嬫椂闂�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璁″垝缁撴潫鏃堕棿" prop="plannedEndTime">
+							<el-date-picker v-model="ruleForm.plannedEndTime" type="date" placeholder="璁″垝缁撴潫鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁鍐荤粨" prop="isFreeze">
+							<el-switch v-model="ruleForm.isFreeze" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍐荤粨鍘熷洜" prop="freezeReason">
+							<el-input v-model="ruleForm.freezeReason" placeholder="璇疯緭鍏ユ搷浣滃師鍥�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="椤圭洰鍙�" prop="projectNo">
+							<el-input v-model="ruleForm.projectNo" placeholder="璇疯緭鍏ラ」鐩彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸ュ巶ID" prop="factoryId">
+							<el-input v-model="ruleForm.factoryId" placeholder="璇疯緭鍏ュ伐鍘侷D" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸ュ巶鍚嶇О" prop="factoryName">
+							<el-input v-model="ruleForm.factoryName" placeholder="璇疯緭鍏ュ伐鍘傚悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸ュ巶缂栧彿" prop="factoryCode">
+							<el-input v-model="ruleForm.factoryCode" placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏀惰揣閬撳彛" prop="dock">
+							<el-input v-model="ruleForm.dock" placeholder="璇疯緭鍏ユ敹璐ч亾鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ASN鍗旾D" prop="asnId">
+							<el-input v-model="ruleForm.asnId" placeholder="璇疯緭鍏SN鍗旾D" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ASN鍗曞彿" prop="asnNo">
+							<el-input v-model="ruleForm.asnNo" placeholder="璇疯緭鍏SN鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵规" prop="supplierBatch">
+							<el-input v-model="ruleForm.supplierBatch" placeholder="璇疯緭鍏ユ壒娆�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗘壒娆�" prop="batch">
+							<el-input v-model="ruleForm.batch" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP搴撳瓨鍦�" prop="erpCode">
+							<el-input v-model="ruleForm.erpCode" placeholder="璇疯緭鍏RP搴撳瓨鍦�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
+							<el-input v-model="ruleForm.erpOrderNo" placeholder="璇疯緭鍏RP鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsOrderAsnDetails, updateWmsOrderAsnDetails, detailWmsOrderAsnDetails } from "/@/api/main/WmsOrder/wmsOrderAsnDetails";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumAsnStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		poLineNumber: [{required: true, message: '璇疯緭鍏O鍗曟槑缁嗚鍙凤紒', trigger: 'blur',},],
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		quantity: [{required: true, message: '璇疯緭鍏ラ�佽揣鏁伴噺锛�', trigger: 'blur',},],
+		goodQuantity: [{required: true, message: '璇疯緭鍏ュ凡鏀舵暟閲忥紒', trigger: 'blur',},],
+		supplierCode: [{required: true, message: '璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�', trigger: 'blur',},],
+		supplierName: [{required: true, message: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�', trigger: 'blur',},],
+		asnStatus: [{required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change',},],
+		asnStatusName: [{required: true, message: '璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒', trigger: 'blur',},],
+		factoryId: [{required: true, message: '璇疯緭鍏ュ伐鍘侷D锛�', trigger: 'blur',},],
+		asnId: [{required: true, message: '璇疯緭鍏SN鍗旾D锛�', trigger: 'blur',},],
+		asnNo: [{required: true, message: '璇疯緭鍏SN鍗曞彿锛�', trigger: 'blur',},],
+	});
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsOrderAsnDetails(rowData.id)).data.result;
+		else
+			ruleForm.value = rowData;
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addWmsOrderAsnDetails(values);
+				} else {
+					await updateWmsOrderAsnDetails(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumAsnStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsnDetails/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsnDetails/index.vue
new file mode 100644
index 0000000..af408f8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderAsnDetails/index.vue
@@ -0,0 +1,400 @@
+锘�<template>
+  <div class="wmsOrderAsnDetails-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="璇疯緭鍏ユā绯婃煡璇㈠叧閿瓧"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="PO鍗旾D">
+              <el-input v-model="queryParams.poId" clearable="" placeholder="璇疯緭鍏O鍗旾D"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="PO鍗曞彿">
+              <el-input v-model="queryParams.poNo" clearable="" placeholder="璇疯緭鍏O鍗曞彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="PO鍗曟槑缁嗚鍙�">
+              <el-input v-model="queryParams.poLineNumber" clearable="" placeholder="璇疯緭鍏O鍗曟槑缁嗚鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParams.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="閫佽揣鏁伴噺">
+              <el-input v-model="queryParams.quantity" clearable="" placeholder="璇疯緭鍏ラ�佽揣鏁伴噺"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="宸叉敹鏁伴噺">
+              <el-input v-model="queryParams.goodQuantity" clearable="" placeholder="璇疯緭鍏ュ凡鏀舵暟閲�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="渚涘簲鍟嗙紪鍙�">
+              <el-input v-model="queryParams.supplierCode" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="渚涘簲鍟嗗悕绉�">
+              <el-input v-model="queryParams.supplierName" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍗曚綅">
+              <el-input v-model="queryParams.unit" clearable="" placeholder="璇疯緭鍏ュ崟浣�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍗曟嵁鐘舵��">
+              <el-select clearable="" v-model="queryParams.asnStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+                <el-option v-for="(item,index) in getEnumAsnStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍗曟嵁鐘舵�佸悕绉�">
+              <el-input v-model="queryParams.asnStatusName" clearable="" placeholder="璇疯緭鍏ュ崟鎹姸鎬佸悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="涓�缁存潯鐮�">
+              <el-input v-model="queryParams.sN_1d" clearable="" placeholder="璇疯緭鍏ヤ竴缁存潯鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="浜岀淮鏉$爜">
+              <el-input v-model="queryParams.sN_2d" clearable="" placeholder="璇疯緭鍏ヤ簩缁存潯鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍖呰鍚嶇О">
+              <el-input v-model="queryParams.package" clearable="" placeholder="璇疯緭鍏ュ寘瑁呭悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="璁″垝寮�濮嬫椂闂�">
+              <el-date-picker placeholder="璇烽�夋嫨璁″垝寮�濮嬫椂闂�" value-format="YYYY/MM/DD" type="daterange" v-model="queryParams.plannedStartTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="璁″垝缁撴潫鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParams.plannedEndTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鏄惁鍐荤粨">
+              <el-select clearable="" v-model="queryParams.isFreeze" placeholder="璇烽�夋嫨鏄惁鍐荤粨">
+                <el-option v-for="(item,index) in getEnumIsFreezeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍐荤粨鍘熷洜">
+              <el-input v-model="queryParams.freezeReason" clearable="" placeholder="璇疯緭鍏ュ喕缁撳師鍥�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="椤圭洰鍙�">
+              <el-input v-model="queryParams.projectNo" clearable="" placeholder="璇疯緭鍏ラ」鐩彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="宸ュ巶ID">
+              <el-input v-model="queryParams.factoryId" clearable="" placeholder="璇疯緭鍏ュ伐鍘侷D"/>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="宸ュ巶鍚嶇О">
+              <el-input v-model="queryParams.factoryName" clearable="" placeholder="璇疯緭鍏ュ伐鍘傚悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="宸ュ巶缂栧彿">
+              <el-input v-model="queryParams.factoryCode" clearable="" placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鏀惰揣閬撳彛">
+              <el-input v-model="queryParams.dock" clearable="" placeholder="璇疯緭鍏ユ敹璐ч亾鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="ASN鍗旾D">
+              <el-input v-model="queryParams.asnId" clearable="" placeholder="璇疯緭鍏SN鍗旾D"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="ASN鍗曞彿">
+              <el-input v-model="queryParams.asnNo" clearable="" placeholder="璇疯緭鍏SN鍗曞彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParams.supplierBatch" clearable="" placeholder="璇疯緭鍏ユ壒娆�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="渚涘簲鍟嗘壒娆�">
+              <el-input v-model="queryParams.batch" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="ERP搴撳瓨鍦�">
+              <el-input v-model="queryParams.erpCode" clearable="" placeholder="璇疯緭鍏RP搴撳瓨鍦�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="ERP鍗曞彿">
+              <el-input v-model="queryParams.erpOrderNo" clearable="" placeholder="璇疯緭鍏RP鍗曞彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" v-auth="'wmsOrderAsnDetails:page'"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsOrderAsnDetails" v-auth="'wmsOrderAsnDetails:add'"> 鏂板 </el-button>
+                
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+				:data="tableData"
+				style="width: 100%"
+				v-loading="loading"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="poNo" label="PO鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="poLineNumber" label="PO鍗曟槑缁嗚鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="quantity" label="閫佽揣鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�"  show-overflow-tooltip="" />
+        <el-table-column prop="unit" label="鍗曚綅"  show-overflow-tooltip="" />
+          <el-table-column prop="asnStatus" label="鍗曟嵁鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="sN_1d" label="涓�缁存潯鐮�"  show-overflow-tooltip="" />
+        <el-table-column prop="sN_2d" label="浜岀淮鏉$爜"  show-overflow-tooltip="" />
+        <el-table-column prop="package" label="鍖呰鍚嶇О"  show-overflow-tooltip="" />
+         <el-table-column prop="plannedStartTime" label="璁″垝寮�濮嬫椂闂�" width="80" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+         <el-table-column prop="plannedEndTime" label="璁″垝缁撴潫鏃堕棿" width="80" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+        <el-table-column prop="projectNo" label="椤圭洰鍙�"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="factoryName" label="宸ュ巶鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="factoryCode" label="宸ュ巶缂栧彿"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="dock" label="鏀惰揣閬撳彛"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="asnNo" label="ASN鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierBatch" label="鎵规"  show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="渚涘簲鍟嗘壒娆�"  show-overflow-tooltip="" />
+        <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�"  show-overflow-tooltip="" />
+        <el-table-column prop="erpOrderNo" label="ERP鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsOrderAsnDetails:update') || auth('wmsOrderAsnDetails:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsOrderAsnDetails(scope.row)" v-auth="'wmsOrderAsnDetails:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsOrderAsnDetails(scope.row)" v-auth="'wmsOrderAsnDetails:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialog
+        ref="printDialogRef"
+        :title="printWmsOrderAsnDetailsTitle"
+        @reloadTable="handleQuery" />
+      <editDialog
+        ref="editDialogRef"
+        :title="editWmsOrderAsnDetailsTitle"
+        @reloadTable="handleQuery"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsOrderAsnDetails">
+  import { ref } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+
+
+  import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialog from '/@/views/main/WmsOrder/wmsOrderAsnDetails/component/editDialog.vue'
+  import { pageWmsOrderAsnDetails, deleteWmsOrderAsnDetails } from '/@/api/main/WmsOrder/wmsOrderAsnDetails';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumAsnStatusData_Index = ref<any>([]);
+  const getEnumIsFreezeData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  const showAdvanceQueryUI = ref(false);
+  const printDialogRef = ref();
+  const editDialogRef = ref();
+  const loading = ref(false);
+  const tableData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsOrderAsnDetailsTitle = ref("");
+  const editWmsOrderAsnDetailsTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI = () => {
+    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+  }
+  
+
+  // 鏌ヨ鎿嶄綔
+  const handleQuery = async () => {
+    loading.value = true;
+    var res = await pageWmsOrderAsnDetails(Object.assign(queryParams.value, tableParams.value));
+    tableData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+    loading.value = false;
+    getEnumAsnStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+    getEnumIsFreezeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+  };
+
+  // 鍒楁帓搴�
+  const sortChange = async (column: any) => {
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
+  };
+
+  // 鎵撳紑鏂板椤甸潰
+  const openAddWmsOrderAsnDetails = () => {
+    editWmsOrderAsnDetailsTitle.value = '娣诲姞ASN鏄庣粏';
+    editDialogRef.value.openDialog({});
+  };
+
+  // 鎵撳紑鎵撳嵃椤甸潰
+  const openPrintWmsOrderAsnDetails = async (row: any) => {
+    printWmsOrderAsnDetailsTitle.value = '鎵撳嵃ASN鏄庣粏';
+  }
+  
+  // 鎵撳紑缂栬緫椤甸潰
+  const openEditWmsOrderAsnDetails = (row: any) => {
+    editWmsOrderAsnDetailsTitle.value = '缂栬緫ASN鏄庣粏';
+    editDialogRef.value.openDialog(row);
+  };
+
+  // 鍒犻櫎
+  const delWmsOrderAsnDetails = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    var  ret = await deleteWmsOrderAsnDetails(row);
+    if(ret.data.type=="success"){
+      handleQuery();
+      ElMessage.success("鍒犻櫎鎴愬姛");
+    }
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉椤甸潰瀹归噺
+  const handleSizeChange = (val: number) => {
+    tableParams.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉椤电爜搴忓彿
+  const handleCurrentChange = (val: number) => {
+    tableParams.value.page = val;
+    handleQuery();
+  };
+
+  handleQuery();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovement/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovement/component/editDialog.vue
new file mode 100644
index 0000000..d690e23
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovement/component/editDialog.vue
@@ -0,0 +1,192 @@
+锘�<template>
+	<div class="wmsOrderMovement-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓婃灦鍗曞彿" prop="orderNo">
+							<el-input v-model="ruleForm.orderNo" placeholder="璇疯緭鍏ヤ笂鏋跺崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁绫诲瀷" prop="orderType">
+							<el-select clearable v-model="ruleForm.orderType" placeholder="璇烽�夋嫨鍗曟嵁绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumOrderTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷" prop="businessType">
+							<el-select clearable v-model="ruleForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumBusinessTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鏉ユ簮" prop="orderSocure">
+							<el-select clearable v-model="ruleForm.orderSocure" placeholder="璇烽�夋嫨鍗曟嵁鏉ユ簮">
+								<el-option v-for="(item,index) in  getEnumOrderSocureData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鐘舵��" prop="orderStatus">
+							<el-select clearable v-model="ruleForm.orderStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+								<el-option v-for="(item,index) in  getEnumOrderStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsOrderMovement, updateWmsOrderMovement, detailWmsOrderMovement } from "/@/api/main/WmsOrder/wmsOrderMovement";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumOrderTypeData = ref<any>([]);
+	const getEnumBusinessTypeData = ref<any>([]);
+	const getEnumOrderSocureData = ref<any>([]);
+	const getEnumOrderStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		orderNo: [{required: true, message: '璇疯緭鍏ヤ笂鏋跺崟鍙凤紒', trigger: 'blur',},],
+		orderType: [{required: true, message: '璇烽�夋嫨鍗曟嵁绫诲瀷锛�', trigger: 'change',},],
+		businessType: [{required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change',},],
+		orderSocure: [{required: true, message: '璇烽�夋嫨鍗曟嵁鏉ユ簮锛�', trigger: 'change',},],
+		orderStatus: [{required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsOrderMovement(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsOrderMovement(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsOrderMovement(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovement/component/openAllprop.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovement/component/openAllprop.vue
new file mode 100644
index 0000000..83dba0d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovement/component/openAllprop.vue
@@ -0,0 +1,1503 @@
+锘�<template>
+	<!-- 娣诲姞銆佺紪杈� -->
+	<el-dialog v-model="dialogVisible" width="95%" @close="closeDialog" :close-on-click-modal="false">
+		<template #header>
+			<div style="color: #fff">
+				<span>{{ dialogType == 'add' ? '娣诲姞' : '缂栬緫' }}</span>
+			</div>
+		</template>
+		<el-form :model="addForm" ref="dialogRef" labelWidth="100" :rules="formRules">
+			<el-row>
+
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="涓氬姟绫诲瀷" prop="businessType">
+						<el-select clearable v-model="addForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+					    	<el-option v-for="(item,index) in getBusinessTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+						</el-select>
+					</el-form-item>
+				</el-col>
+
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="瀹㈡埛" prop="custCode">
+						<el-select v-model="addForm.custCode" filterable remote reserve-keyword remote-show-suffix
+							:remote-method="remoteMethod" :loading="loading" placeholder="璇烽�夋嫨瀹㈡埛" clearable
+							style="width: 100%" @change="changeXmbh(addForm.custCode)">
+							<el-option v-for="(item, index) in arrTdp" :key="index" :value="item.custCode"
+								:label="`[${item.custCode}]${item.custChinaName}`"></el-option>
+						</el-select>
+					</el-form-item>
+				</el-col>
+
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="鐩爣搴撳尯" prop="toAreaCode">
+							<el-select
+								v-model="addForm.toAreaCode"
+								filterable
+								remote
+								reserve-keyword
+								remote-show-suffix
+								:remote-method="remoteMethodArea"
+								:loading="loading"
+								placeholder="璇烽�夋嫨鐩爣搴撳尯"
+								clearable
+								style="width: 100%"
+								@change="changeXmbhArea(addForm.toAreaCode)"
+								>
+								<el-option
+									v-for="(item, index) in arrTdpArea"
+									:key="index"
+									:value="item.areaCode"
+									:label="`[${item.areaCode}]${item.areaName}`"
+								></el-option>
+								</el-select>
+
+
+					</el-form-item>
+				</el-col>
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="鐩爣搴撲綅" prop="toPlaceCode">
+							<el-select
+								v-model="addForm.toPlaceCode"
+								filterable
+								remote
+								reserve-keyword
+								remote-show-suffix
+								:remote-method="remoteMethodPlace"
+								:loading="loading"
+								placeholder="璇烽�夋嫨鐩爣搴撲綅"
+								clearable
+								style="width: 100%"
+								@change="changeXmbhPlace(addForm.toPlaceCode)"
+								>
+								<el-option
+									v-for="(item, index) in arrTdpPlace"
+									:key="index"
+									:value="item.placeCode"
+									:label="`[${item.placeCode}]${item.placeName}`"
+								></el-option>
+								</el-select>
+
+
+					</el-form-item>
+				</el-col>
+
+
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="璁″垝鏃ユ湡" prop="plannedDate">
+						<el-date-picker v-model="addForm.plannedDate" type="date" placeholder="璁″垝鏃ユ湡" />
+					</el-form-item>
+				</el-col>
+
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
+						<el-input v-model="addForm.erpOrderNo" placeholder="璇疯緭鍏RP鍗曞彿" maxlength="255" show-word-limit clearable />
+					</el-form-item>
+				</el-col>
+
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="鎴愭湰涓績" prop="costCenter">
+						<el-input v-model="addForm.costCenter" placeholder="璇疯緭鍏ユ垚鏈腑蹇�" maxlength="255" show-word-limit
+							clearable />
+					</el-form-item>
+				</el-col>
+			
+
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="鍗曟嵁鍘熷洜" prop="orderReason">
+						<el-input v-model="addForm.orderReason" placeholder="璇疯緭鍏ュ崟鎹師鍥�" maxlength="255" show-word-limit
+							clearable />
+					</el-form-item>
+				</el-col>
+
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="瀹㈡埛鍙戝線鍦�" prop="deliveryAddress">
+						<el-input v-model="addForm.deliveryAddress" placeholder="璇疯緭鍏ュ鎴峰彂寰�鍦�" maxlength="255" show-word-limit
+							clearable />
+					</el-form-item>
+				</el-col> -->
+				
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="璐㈠姟绫诲瀷" prop="financialType">
+						<el-select clearable v-model="addForm.financialType" placeholder="璇烽�夋嫨璐㈠姟绫诲瀷">
+							<el-option v-for="(item, index) in  getEnumFinancialTypeData" :key="index" :value="item.value"
+								:label="`${item.describe}`"></el-option>
+						</el-select>
+					</el-form-item>
+
+				</el-col>
+
+
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="澶囨敞" prop="remarks">
+						<el-input v-model="addForm.remarks" placeholder="璇疯緭鍏ュ娉�" maxlength="255" show-word-limit clearable />
+					</el-form-item>
+				</el-col>
+
+
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="婧愪粨搴撶紪鍙�" prop="sourceWarehouseCode">
+						<el-input v-model="addForm.sourceWarehouseCode" placeholder="璇疯緭鍏ユ簮浠撳簱缂栧彿" maxlength="50"
+							show-word-limit clearable />
+					</el-form-item>
+				</el-col> -->
+
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="鐩爣浠撳簱缂栧彿" prop="toWarehouseCode">
+						<el-input v-model="addForm.toWarehouseCode" placeholder="璇疯緭鍏ョ洰鏍囦粨搴撶紪鍙�" maxlength="50" show-word-limit
+							clearable />
+
+					</el-form-item>
+				</el-col> -->
+
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="婧愬簱鍖虹紪鍙�" prop="sourceAreaCode">
+						<el-input v-model="addForm.sourceAreaCode" placeholder="璇疯緭鍏ユ簮搴撳尯缂栧彿" maxlength="50" show-word-limit
+							clearable />
+					</el-form-item>
+				</el-col>
+	
+
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="婧愬簱浣嶇紪鍙�" prop="sourceAreaCode">
+						<el-input v-model="addForm.sourcePlaceCode" placeholder="璇疯緭鍏ユ簮搴撲綅缂栧彿" maxlength="50" show-word-limit
+							clearable />
+					</el-form-item>
+				</el-col>
+		
+
+
+
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="浼樺厛绾�" prop="priority">
+						<el-input-number v-model="addForm.priority" placeholder="璇疯緭鍏ヤ紭鍏堢骇" clearable />
+					</el-form-item>
+				</el-col> -->
+		
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="澶囨敞" prop="remarks">
+						<el-input v-model="addForm.remarks" placeholder="璇疯緭鍏ュ娉�" maxlength="255" show-word-limit clearable />
+					</el-form-item>
+				</el-col>
+				 -->
+
+
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="鑷姩鐢熸垚鏉$爜">
+						<el-switch v-model="addForm.hasTMCode" active-text="鏄�" inactive-text="鍚�" />
+					</el-form-item>
+				</el-col>
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-show="addForm.hasTMCode">
+					<el-form-item label="鏉$爜绫诲瀷">
+						<el-switch v-model="addForm.typeTMCode" active-text="涓�缁�" inactive-text="浜岀淮" />
+					</el-form-item>
+				</el-col> -->
+
+			</el-row>
+		</el-form>
+		<div class="msi-content" style="margin-top: 10px">
+			<div class="header" style="margin-bottom: 10px">
+				<div>
+					<el-button v-show="isMaterialBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog">鏂板鐗╂枡</el-button>
+					<!-- <el-button v-show="isPoBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog('po')">鍏宠仈DO鍗�</el-button> -->
+
+					<el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+						@click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+				</div>
+			</div>
+			<el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+				@selection-change="detailsCheckChange" max-height="480">
+				<el-table-column align="center" width="60" type="selection" />
+				<el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column fixed="left" label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center"
+					show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" min-width="100" prop="materialName" align="center" show-overflow-tooltip />
+				<el-table-column v-if="isPoBox == 1" label="PO鍗曞彿" min-width="130" prop="poNo" align="center"
+					show-overflow-tooltip />
+
+				<!-- <el-table-column v-if="isPoBox == 1" label="PO琛屽彿" prop="poLineNumber" align="center" min-width="120">
+					<template #default="scope">
+						{{ scope.row.lineNumber }}
+					</template>
+				</el-table-column> -->
+				
+				<!-- v-if="dialogType != 'add'" -->
+				<el-table-column label="琛屽彿" prop="lineNumber" align="center" min-width="120" >
+					<template #default="scope">
+						<el-input v-model.trim="scope.row.lineNumber" clearable min-width="150" placeholder="璇疯緭鍏SN琛屽彿" />
+					</template>
+				</el-table-column>
+				<!-- :disabled="!!scope.row.boM_NO" -->
+				<el-table-column label="鏁伴噺" align="center" min-width="150">
+					<template #default="scope">
+						<el-input-number :precision="3" min="0" v-model="scope.row.quantity" size="small" />
+					</template>
+				</el-table-column>
+
+				<!-- <el-table-column label="璁″垝寮�濮嬫椂闂�" align="center" min-width="180">
+					<template #default="scope">
+						<el-date-picker v-model="scope.row.plannedStartTime" type="datetime" :disabled-date="disabledDate"
+							value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨璁″垝寮�濮嬫椂闂�"
+							style="width: 100%" />
+					</template>
+				</el-table-column>
+				<el-table-column label="璁″垝缁撴潫鏃堕棿" align="center" min-width="180">
+					<template #default="scope">
+						<el-date-picker v-model="scope.row.plannedEndTime" type="datetime" :disabled-date="disabledDate"
+							value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿"
+							style="width: 100%" />
+					</template>
+				</el-table-column> -->
+
+				<el-table-column label="渚涘簲鍟�" align="center" min-width="180">
+					<template #default="scope">
+						<el-select v-model="scope.row.supplierCode" filterable remote reserve-keyword remote-show-suffix
+							:remote-method="remoteMethod" :loading="loading" placeholder="璇烽�夋嫨渚涘簲鍟�" clearable
+							style="width: 100%" @change="changeXmbh(scope.row.supplierCode)">
+							<el-option v-for="(item, index) in arrTdp" :key="index" :value="item.custCode"
+								:label="`[${item.custCode}]${item.custChinaName}`"></el-option>
+						</el-select>
+					</template>
+				</el-table-column>
+
+
+				
+			</el-table>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" :disabled="warehousOrderDetails.length == 0" @click="confirm">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 娣诲姞鐗╂枡 -->
+	<el-dialog v-model="addMaterialVisible" width="70%" @close="closeMaterialDialog">
+		<template #header>
+			<div style="color: #fff">
+				<span>娣诲姞鐗╂枡璇︽儏</span>
+				<!-- <span v-if="isMaterialBox == 1">娣诲姞鐗╂枡璇︽儏</span>
+				<span v-if="isPoBox == 1">鍏宠仈PO鍗曠墿鏂�</span> -->
+			</div>
+		</template>
+
+		<div class="msi-form" style="padding-top: 0px">
+			<el-form :model="materialForm">
+				<el-row>
+					<el-col :span="8">
+						<el-form-item label="鐗╂枡缂栧彿">
+							<el-input v-model="materialForm.Code" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+						</el-form-item>
+					</el-col>
+					<!-- 
+					<el-col :span="8" v-if="isPoBox == 1">
+						<el-form-item label="鍏宠仈PO鍗曞彿:">
+							<el-input v-model="materialForm.poNo" placeholder="璇疯緭鍏ュ叧鑱擯O鍗曞彿" clearable></el-input>
+						</el-form-item>
+					</el-col> -->
+
+					<el-col :span="8">
+						<el-form-item label-width="20px">
+							<el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+							<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</div>
+		<div class="msi-content" style="padding-top: 0; margin-top: 10px">
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isMaterialBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="閲囪喘鍗曚綅" prop="poUnit" align="center" min-width="140" show-overflow-tooltip />
+			</el-table>
+			<!-- PO鍗� -->
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isPoBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column prop="poNo" label="PO鍗曞彿" show-overflow-tooltip="" />
+				<el-table-column prop="poLineNumber" label="PO琛屽彿" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="erpOrderNo" label="ERP鍗曞彿" show-overflow-tooltip="" /> -->
+				<!-- <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" /> -->
+				<el-table-column prop="materialCode" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+
+				<!-- <el-table-column prop="createASNQuantity" label="宸插垱寤篈SN鏁伴噺" min-width="110px" show-overflow-tooltip="" /> -->
+
+				<el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+				<el-table-column prop="plannedStartTime" label="璁″垝寮�濮嬫椂闂�" show-overflow-tooltip="" />
+				<el-table-column prop="plannedEndTime" label="璁″垝缁撴潫鏃堕棿" show-overflow-tooltip="" />
+
+				<!-- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+				<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" /> -->
+			</el-table>
+
+			<Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+				@pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 鍗曡鎯� -->
+	<el-drawer v-model="drawerVisible" :title="`${detailForm.moveNo}鍗曟嵁璇︽儏`" direction="rtl" size="80%"
+		@close="handleDrawerClose">
+		<template #title>
+			<div class="slot_title">
+				<div class="title_orderNo">{{ title }}</div>
+				<div>鍗曟嵁璇︽儏</div>
+			</div>
+		</template>
+
+		<div class="detailBoxWrap">
+			<!-- 璇︽儏缁勪欢 -->
+			<open-details ref="propDetailRef"></open-details>
+			<div class="msi-form">
+				<el-form :model="detailForm">
+					<el-row>
+						<el-col :span="4">
+							<el-form-item label="鐗╂枡缂栧彿">
+								<el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="1">
+
+						</el-col>
+						<!-- <el-col :span="4">
+							<el-form-item label="璺熻釜鐮�:">
+								<el-input v-model="detailForm.snCode" clearable placeholder="璇疯緭鍏ヨ窡韪爜" />
+							</el-form-item>
+						</el-col> -->
+						<el-col :span="2">
+							<el-form-item label-width="20px">
+								<el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-form>
+			</div>
+			<div class="msi-content">
+				<el-table :data="drawerList" border striped :max-height="480">
+					<el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+					<el-table-column fixed="left" prop="materialCode" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="lineNumber" label="琛屽彿" show-overflow-tooltip="" />
+					<el-table-column prop="orderStatus" min-width="80px" label="鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag :type="getTypeStatus(1, scope.row.orderStatusName)"> {{ scope.row.orderStatusName }}
+</el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column prop="containerCode" label="瀹瑰櫒缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="snCode" min-width="160px" label="璺熻釜鐮�" show-overflow-tooltip="" />
+					
+					<el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
+					<el-table-column prop="batch" min-width="130px" label="鎵规" show-overflow-tooltip="" />
+
+					<el-table-column prop="unit" label="搴撳瓨鍗曚綅" show-overflow-tooltip="" />
+					<el-table-column prop="erpOrderNo" label="ERP鍗曞彿" show-overflow-tooltip="" />
+					<el-table-column prop="erpCode" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
+					<el-table-column prop="supplierBatch" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" />
+				
+
+					<el-table-column prop="sourceWarehouseCode" label="婧愪粨搴撶紪鍙�" show-overflow-tooltip="" />
+
+					<el-table-column prop="sourceAreaCode" label="婧愬簱鍖虹紪鍙�" show-overflow-tooltip="" />
+					<el-table-column prop="toAreaCode" label="鐩爣搴撳尯缂栧彿" width="100" show-overflow-tooltip="" />
+
+					<el-table-column prop="sourcePlaceCode" label="婧愬簱浣嶇紪鍙�" show-overflow-tooltip="" />
+					<el-table-column prop="toPlaceCode" label="鐩爣搴撲綅缂栧彿" width="100" show-overflow-tooltip="" />
+					<!--
+
+					<el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" show-overflow-tooltip="" />
+					<el-table-column prop="relationNoLineNumber" label="鍏宠仈鍗曡鍙�" show-overflow-tooltip="" /> -->
+
+					<el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�"  show-overflow-tooltip="" /> -->
+
+					<!-- <el-table-column prop="batchRule" label="鎵规瑙勫垯" show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="actionRemark" label="鎿嶄綔澶囨敞" show-overflow-tooltip="" />
+
+					<el-table-column prop="actionTime" label="鎿嶄綔鏃堕棿" width="80" :formatter="formatDate_T_Date"
+						show-overflow-tooltip="" /> -->
+					<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+
+					<!-- <el-table-column prop="custType" min-width="120px" label="寰�鏉ヤ紒涓氱被鍨�" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{ getEnumDesc(scope.row.custType, getEnumCustTypeData_Index) }}</el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column prop="custCode" min-width="100px" label="寰�鏉ヤ紒涓氱紪鍙�" show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="custChinaName" min-width="120px" label="寰�鏉ヤ紒涓氫腑鏂囧悕绉�" show-overflow-tooltip="" />
+					<el-table-column prop="custEnglishName" min-width="120px" label="寰�鏉ヤ紒涓氳嫳鏂囧悕绉�" show-overflow-tooltip="" /> -->
+				</el-table>
+				<Pagination :total="detailCount" v-model:page="detailForm.PageNo" v-model:limit="detailForm.PageSize"
+					@pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+				<div></div>
+			</div>
+		</div>
+	</el-drawer>
+
+	<el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+		<el-form :model="outerForm2" label-width="120px">
+			<el-row style="font-size: 16px">
+				<el-col :span="23">
+					<el-form-item label="鍗曞彿:" required>
+						<el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="outVisible2 = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="getSapOrderPO">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+</template>
+<script lang="ts" setup>
+import Pagination from '/@/components/Pagination/index.vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import { ref, nextTick, computed, getCurrentInstance, watch, defineExpose, defineProps, onMounted } from 'vue';
+
+import { formatDecimalData } from '/@/utils/formate';
+
+import cache from '/@/utils/cache';
+import { pageWmsMaterial } from '/@/api/main/WmsBase/wmsMaterial';
+import {
+	getTypeStatus
+} from "/@/utils/formate";
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import { pageWmsOrderMovementDetails, deleteWmsOrderMovementDetails, importExcelWmsOrderMovementDetails, downloadExcelTemplateWmsOrderMovementDetails } from '/@/api/main/WmsOrder/wmsOrderMovementDetails';
+import { addWmsOrderMovementOff, updateWmsOrderMovement, detailWmsOrderMovement } from "/@/api/main/WmsOrder/wmsOrderMovement";
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+import commonFunction from '/@/utils/commonFunction';
+import { handleSlectDataWmsArea, handleSlectDataWmsBusinessType } from "/@/utils/selectData";
+import { pageWmsStockQuan } from '/@/api/main/ReportCenter/wmsStockQuan';
+import { pageWmsPlace } from '/@/api/main/WmsBase/wmsPlace';
+import { listWmsBusinessType } from '/@/api/main/WmsBase/wmsBusinessType';
+const moveType = 30;//绉诲姩绫诲瀷 绉诲簱
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getBusinessTypeData_Index = ref<any>([]);//涓氬姟绫诲瀷 create by liuwq 2024-05-23
+const getEnumOrderTypeData = ref<any>([]);
+const getEnumBusinessTypeData = ref<any>([]);
+const getEnumPoStatusData = ref<any>([]);
+const getEnumFinancialTypeData = ref<any>([]);
+
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(['getTabelData']);
+const getEnumOrderStatusData_Index = ref<any>([]);
+const getEnumCustTypeData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumDockData = ref<any>([]);
+const props = defineProps({
+	titleAuthor: {
+		type: Number,
+		required: true,
+	},
+	hexiao: {
+		type: Number,
+		default: 1,
+		required: true,
+	},
+});
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor);
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+// 鐧诲綍鐢ㄦ埛id
+// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
+
+// const EnumWriteOffState = computed(
+//   () => store.state.login.enums.enumWriteOffState
+// );
+
+let itemBtnArr = ['鎵归噺鍒犻櫎', '缂栬緫', '鏂板'];
+const boolEnum = ref([
+	{
+		title: '鏄�',
+		value: true,
+	},
+	{
+		title: '鍚�',
+		value: false,
+	},
+]);
+
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref('');
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+	return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+	orderDoRuType.value = param;
+	uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+	getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+	ElMessageBox.confirm('鏄惁纭鑾峰彇鏇存柊锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	}).then(() => {
+		// getSapRkPurchase().then((res) => {
+		//   if (res.code == 200) {
+		//     ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+		//   } else {
+		//     ElMessage.error(
+		//       `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+		//     );
+		//   }
+		// })
+	});
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+	purchaseNo: '',
+});
+const getSapOrderPO = (param?: number) => {
+	if (param && param == 1) {
+		outVisible2.value = true;
+		return;
+	}
+	if (outerForm2.value.purchaseNo == '') {
+		ElMessage.warning('璇疯緭鍏ュ崟鍙�');
+		return;
+	}
+	// getSapPurchasePO({
+	//   purchaseNo: outerForm2.value.purchaseNo
+	// })
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       ElMessage.success("SAP鑾峰彇鎴愬姛");
+	//       outVisible2.value = false;
+	//     } else {
+	//       ElMessage.error(
+	//         `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+	//       );
+	//     }
+	//   })
+	//   .catch((err) => ElMessage.error(err));
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+	outerForm2.value.purchaseNo = '';
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+	WareMaterialCode: '',
+	WareMaterialName: '',
+	PurchaseNo: '',
+	CreatedUserName: '',
+	CreatedTimeBegin: '',
+	CreatedTimeEnd: '',
+	CreateDate: [],
+	IssueTimeBegin: '',
+	IssueTimeEnd: '',
+	IssueDate: [],
+	MaterialTypeStaus: '',
+	SourceBy: '',
+	WriteOffState: '',
+	signStatus: '',
+	status: '',
+	freeOrderType: '',
+	IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+	// LoginUserID: LoginUserID, //鐢ㄦ埛id
+	OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+	Page: 1,
+	PageSize: 10,
+	poApprovalStatus: '',
+	keyCode: '',
+	IsDisable: '', //鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+const tableRef = ref();
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache('enumList');
+console.log(enumList.inEnumOrderType);
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+	//鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+		formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+		formModel.value.CreatedTimeEnd = ''; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+			formModel.value.CreatedTimeBegin = '';
+			formModel.value.CreatedTimeEnd = '';
+		}
+	}
+	//鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+		formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+		formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+			formModel.value.IssueTimeBegin = '';
+			formModel.value.IssueTimeEnd = '';
+		}
+	}
+
+	//鍏跺畠鍏ュ簱鍏ュ彛
+	// if (titleAuthor.value == 1) { //鍏嶈垂鍏ュ簱鍗曠鐞�
+	// }
+
+	// if (titleAuthor.value == 2) { //璁㈠崟鍏ュ簱绠$悊
+	// }
+
+	// getPurchasePageForAllData(formModel.value)
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       const { data } = res;
+	//       const result = data;
+	//       result.rows.map(
+	//         (item: { hasChildren: boolean }) => (item.hasChildren = true)
+	//       );
+	//       tableData.value = result.rows;
+	//       totalItems.value = result.totalRows;
+	//       orderType.value = formModel.value.MaterialTypeStaus;
+	//       // 娓呴櫎閫変腑
+	//       nextTick(() => {
+	//         if (tableRef.value && typeof tableRef.value.clearSelection === 'function') {
+	//           checkRows.value = [];
+	//           tableRef.value.clearSelection();
+	//         }
+	//       })
+	//     } else {
+	//       ;
+	//     }
+	//   })
+	//   .catch((err) => {
+	//     console.log(err);
+	//     ElMessage.error(JSON.stringify(err));
+	//   });
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+	formModel.value = {
+		WareMaterialCode: '',
+		WareMaterialName: '',
+		PurchaseNo: '',
+		CreatedUserName: '',
+		CreatedTimeBegin: '',
+		CreatedTimeEnd: '',
+		CreateDate: [],
+		IssueTimeBegin: '',
+		IssueTimeEnd: '',
+		IssueDate: [],
+		MaterialTypeStaus: '',
+		SourceBy: '',
+		WriteOffState: '',
+		signStatus: '',
+		status: '',
+		freeOrderType: '',
+		IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+		//  LoginUserID: LoginUserID, //鐢ㄦ埛id
+		OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+		Page: 1,
+		PageSize: 10,
+		poApprovalStatus: '',
+		keyCode: '',
+		IsDisable: '', //鏄惁浣滃簾
+	};
+	getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+//瀵煎嚭PO鍗曡鎯�
+const handExport = () => {
+	// rkExport(formModel.value)
+	//   .then((res) => {
+	//     const link = document.createElement("a"); //鍒涘缓a鏍囩
+	//     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+	//     let objectUrl = URL.createObjectURL(blob);
+	//     link.href = objectUrl;
+	//     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+	//       new Date().toString(),
+	//       "YYYY-MM-DD hh:mm:ss"
+	//     )}`; // 鑷畾涔夋枃浠跺悕
+	//     link.click(); // 涓嬭浇鏂囦欢
+	//     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+	//   }).catch((err) => ElMessage.error(JSON.stringify(err)));
+	//瀵煎嚭璋冪敤鎺ュ彛
+	// let entozh = entozhExcell
+	//   const { PageNo, PageSize, ...rest } = formModel.value
+	//   getPurchasePage({ Page: 1, PageSize: 1000000, ...rest }).then(res => {
+	//     if(res.code==200){
+	//       res.data.rows.forEach((item)=>{
+	//         item.writeOffState = EnumWriteOffState.value.filter((v: any) => v.value == item.writeOffState)[0].title;
+	//         item.sourceBy =  sourceEnum.value.filter((v: any) => v.value == item.sourceBy)[0].title;
+	//       })
+	//       exportExcel(res.data.rows, entozh, "xlsx", `鍏ュ簱绠$悊琛�${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`);
+	//     }
+	//   })
+	// 鍚庣瀵煎嚭-瀛楁涓嶅叏
+	// if (checkRows.value.length <= 0) {
+	//   ElMessage.warning("璇烽�夋嫨涓�涓鍗曪紒");
+	//   return
+	// }
+	// const arr = checkRows.value.reduce((curr, item) => {
+	//   curr.push(item.purchaseNo);
+	//   return curr;
+	// }, []);
+	// puchaseExport({ PurchaseNo: arr })
+	//   .then((res) => {
+	//     const link = document.createElement("a"); //鍒涘缓a鏍囩
+	//     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+	//     let objectUrl = URL.createObjectURL(blob);
+	//     link.href = objectUrl;
+	//     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+	//       new Date().toString(),
+	//       "YYYY-MM-DD hh:mm:ss"
+	//     )}`; // 鑷畾涔夋枃浠跺悕
+	//     link.click(); // 涓嬭浇鏂囦欢
+	//     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+	//   })
+	//   .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+	materialCode: '',
+	snCode: '',//璺熻釜鐮�
+	moveNo: '',//鍗曞彿
+	movementId: '',//绉诲姩鍗旾D
+	Page: 1,
+	PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref('drawerAll');
+// const
+//鍗曞彿
+const purchaseNo = ref('');
+const detailCount2 = ref(0);
+const detailForm2 = ref({
+	Page: 1,
+	PageSize: 10,
+	movementId: '',
+});
+const getEnummoveDetailStatusData_Index = ref<any>([]);
+const getEnumBusinessTypeData_Index = ref<any>([]);
+const getEnumOrderSocureData_Index = ref<any>([]);
+const drawerList2 = ref<DetailType[]>([]);
+//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+const getDetail = async () => {
+	loading.value = true;
+	var res = await pageWmsOrderMovementDetails(Object.assign(detailForm.value));
+	drawerList.value = res.data.result?.items ?? [];
+	detailCount.value = res.data.result?.total;
+	loading.value = false;
+	// getEnummoveDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+	// getEnumOrderStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+	// getEnumCustTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('BaseCustomerTypeEnum')).data.result ?? [];
+	// getEnumOrderSocureData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('BaseCustomerTypeEnum')).data.result ?? [];
+};
+
+//----------------鐗╂枡鏄庣粏
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+	detailForm.value.PageNo = 1;
+	detailForm.value.PageSize = 10;
+	if (scope.orderNo) {
+		title.value = `${scope.orderNo}`;
+	}
+	drawerType.value = 'drawerAll';
+	drawerVisible.value = true;
+	//褰撳墠绉诲姩鍗旾D
+	// detailForm.value.moveNo = scope.orderNo;
+	detailForm.value.movementId = scope.id;
+	//鍏ュ簱鍗�
+	purchaseNo.value = scope.purchaseNo;
+	detailForm2.value.movementId = scope.id;
+	//鑾峰彇鐗╂枡鍒楄〃
+	if (detailForm2.value.movementId == '') {
+		drawerList2.value = [];
+		detailCount2.value = 0;
+		return;
+	}
+	// 鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	getDetail();
+
+
+	debugger
+
+	getEnumOrderSocureData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('SourceByEnum')).data.result ?? [];
+
+
+	// 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+	let scopetrans = JSON.parse(JSON.stringify(scope));
+	scopetrans.orderSocure = getEnumDesc(scopetrans.orderSocure, getEnumOrderSocureData_Index.value)
+	nextTick(() => {
+		proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+	});
+
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+	detailForm.value = {
+		snCode: '',//璺熻釜鐮�
+		materialCode: '',
+		moveNo: '',//鍗曞彿
+		movementId: '',//绉诲姩鍗旾D
+		Page: 1,
+		PageSize: 10,
+	};
+	deltailList.value = [];
+	detailCount.value = 0;
+	drawerList.value = [];
+	drawerList2.value = [];
+	detailCount2.value = 0;
+	drawerList2.value = [];
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+	id: number;
+	barCode: string;
+	wareMaterialCode: string;
+	name: string;
+	signStatus: string;
+	category: string;
+	materialTypeName: string;
+	specificationModel: string;
+	long: number;
+	width: number;
+	high: number;
+	weight: number;
+	unit: string;
+	createdTime: string;
+	purchaseNo: string;
+	quantity: number;
+	goodsquantity: number;
+	surplusquantity: number;
+	poLineNumber: string;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref('');
+
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref('add');
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+	businessType: '',
+	hasTMCode: false,
+	typeTMCode: false,//false浜岀淮鐮� true 1缁寸爜
+	asnType: '',
+	dock: '',
+	projectNo: '',
+	OrderDetails: [] as any[],
+});
+
+// 鐗规畩瀛楃鐨勯獙璇�
+// 鍖呭惈鐗规畩瀛楃杩斿洖true锛屼笉鍖呭惈鐗规畩瀛楃杩斿洖false
+const checkEspcial = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[@$%*^:;锛氾紱~+=!锛�#^{}><.,锛屻�俔/g;
+		if (!reg.test(value.trim())) {
+			callback();
+		} else {
+			return callback(new Error('涓嶈兘瀛樺湪鐗规畩绗﹀彿'));
+		}
+	}
+};
+
+// 楠岃瘉瑙掕壊缂栧彿
+var validatorCode = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[\u4E00-\u9FA5]/g;
+		if (!reg.test(value)) {
+			callback();
+		} else {
+			return callback(new Error('鍗曞彿涓嶈兘瀛樺湪姹夊瓧'));
+		}
+	}
+};
+
+//rules
+const formRules = {
+	asnType: [{ required: true, message: '璇烽�夋嫨璁㈠崟绫诲瀷锛�', trigger: 'change' }],
+	orderTypeName: [{ required: true, message: '璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	businessType: [{ required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change' }],
+	businessTypeName: [{ required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	orderSocure: [{ required: true, message: '璇疯緭鍏ュ崟鎹潵婧愶紒', trigger: 'blur' }],
+	poStatus: [{ required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change' }],
+	poStatusName: [{ required: true, message: '璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒', trigger: 'blur' }],
+	supplierCode: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�', trigger: 'blur' }],
+	supplierName: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�', trigger: 'blur' }],
+
+
+};
+//鎵撳紑鏂板銆佺紪杈戠獥鍙�
+const openDialog = async (type: number, scope: any = {}) => {
+	handleQueryTdp();
+
+	  //涓氬姟绫诲瀷
+	  var res = await listWmsBusinessType();
+	  res = res.data;
+    if(res && res.code == 200){
+		getBusinessTypeData_Index.value  = res?.result ?? [];
+    }
+
+
+	getEnumFinancialTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('FinancialTypeEnum')).data.result ?? [];
+
+
+	if (type == 1) {
+		isPoBox.value = 1;
+		isMaterialBox.value = 1;
+		detailForm2.value.PageSize = 10;
+		dialogType.value = 'add';
+	} else {
+		dialogType.value = 'edit';
+		detailForm2.value.PageSize = 100000;
+		addForm.value = { ...scope };
+
+		console.log(addForm.value);
+		detailForm2.value.movementId = scope.id;
+
+		//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+		loading.value = true;
+		var res = await pageWmsOrderAsnDetails(Object.assign(detailForm2.value));
+
+		warehousOrderDetails.value = res.data.result?.items ?? [];
+		loading.value = false;
+		if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].poNo) {
+			isPoBox.value = 1;
+			isMaterialBox.value = 0;
+
+		} else {
+			isPoBox.value = 0;
+			isMaterialBox.value = 1;
+		}
+		addForm.value.hasTMCode = false;
+		addForm.value.typeTMCode = false
+		if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].sN_1d) {
+			addForm.value.hasTMCode = true;
+			addForm.value.typeTMCode = true
+		}
+		if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].sN_2d) {
+			addForm.value.hasTMCode = true;
+			addForm.value.typeTMCode = false
+		}
+		//----------------鐗╂枡鏄庣粏
+	}
+	dialogVisible.value = true;
+
+	//娓呴櫎閫変腑椤�
+	nextTick(() => {
+		dialogRef.value.clearValidate();
+	});
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+	return row.id + row.lineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+	addForm.value = {
+		businessType: '',
+		hasTMCode: false,
+		typeTMCode: false,//false浜岀淮鐮� true 1缁寸爜
+		asnType: '',
+		dock: '',
+		projectNo: '',
+		OrderDetails: [] as any[],
+	};
+	warehousOrderDetails.value = [];
+	checkedDetails.value = [];
+	deltailList.value = [];
+	detailCount.value = 0;
+	detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+	ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			let arr = [];
+			if (checkedDetails.value[0].diRelationID) {
+				checkedDetails.value.forEach((item) => {
+					console.log(item);
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.diRelationID == item.diRelationID);
+					if (index > -1) {
+						warehousOrderDetails.value.splice(index, 1);
+					}
+				});
+			} else {
+				checkedDetails.value.forEach((item) => {
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.lineNumber == item.lineNumber);
+					warehousOrderDetails.value.splice(index, 1);
+				});
+			}
+			arr = warehousOrderDetails.value;
+			warehousOrderDetails.value = [];
+			//bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+			nextTick(() => {
+				warehousOrderDetails.value = arr;
+				checkedDetails.value = [];
+				detailRef.value.clearSelection();
+			});
+		})
+		.catch(() => ElMessage.info('宸插彇娑堝垹闄�'));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const confirm = () => {
+	dialogRef.value.validate(async (vali: any) => {
+		if (vali) {
+			console.log('纭');
+			let idx = warehousOrderDetails.value.findIndex((v) => v.lineNumber == '' || v.lineNumber == undefined);
+			if (idx > -1) {
+				ElMessage.warning('璇疯緭鍏ヨ鍙�');
+				return;
+			}
+			let isNext = '';
+			warehousOrderDetails.value.forEach((item) => {
+				const arr: any = warehousOrderDetails.value.filter((detail) => detail.lineNumber == item.lineNumber);
+				if (arr.length > 1) {
+					isNext = `琛屽彿锛�${arr[0].lineNumber}涓嶈兘鐩稿悓`;
+					return;
+				}
+			});
+			if (isNext != '') {
+				ElMessage.warning(isNext);
+				return;
+			}
+
+			let idx2 = warehousOrderDetails.value.findIndex((v) => v.quantity == '' || v.quantity == undefined || v.quantity <= 0);
+			if (idx2 > -1) {
+				ElMessage.warning('鏁伴噺涓嶅悎瑙勮寖锛�');
+				return;
+			}
+			addForm.value.OrderDetails = [];
+			warehousOrderDetails.value.forEach((item) => {
+				var { sourceWarehouseCode, sourceAreaCode
+					, sourcePlaceCode, toPlaceCode, toAreaCode, ...rest } = item
+				const obj = {
+					...rest,
+					sourceWarehouseCode: addForm.value.sourceWarehouseCode,
+					sourceAreaCode: addForm.value.sourceAreaCode,
+					sourcePlaceCode: addForm.value.sourcePlaceCode,
+					toPlaceCode: addForm.value.toPlaceCode,
+					toAreaCode: addForm.value.toAreaCode
+				};
+				addForm.value.OrderDetails.push(obj);
+			});
+			//娣诲姞
+			if (dialogType.value == 'add') {
+				let res = await addWmsOrderMovementOff(addForm.value);
+				if (res.data && res.data.code == 200) {
+					ElMessage.success('娣诲姞鎴愬姛');
+					dialogVisible.value = false;
+					emits('getTabelData');
+				}
+			} else {
+				// let res = await updateWmsOrderAsn(addForm.value);
+				// if (res.data && res.data.code == 200) {
+				// 	ElMessage.success('缂栬緫鎴愬姛');
+				// 	dialogVisible.value = false;
+				// 	emits('getTabelData');
+				// } 
+			}
+		} else {
+			ElMessage.warning('琛ㄥ崟楠岃瘉澶辫触');
+		}
+	});
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+	moveNo: '',
+	Code: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+	if (isPoBox.value == 1) {
+		if (materialForm.value.moveNo) {
+			loading.value = true;
+			var res = await pageWmsOrderMovementDetails(Object.assign(materialForm.value));
+			materialList.value = res.data.result?.items ?? [];
+			materialTotal.value = res.data.result?.total;
+			loading.value = false;
+		}
+	}
+	if (isMaterialBox.value == 1) {
+		loading.value = true;
+		var res = await pageWmsMaterial(Object.assign(materialForm.value));
+		// var res = await pageWmsStockQuan(Object.assign(materialForm.value));
+		materialList.value = res.data.result?.items ?? [];
+		materialTotal.value = res.data.result?.total;
+		loading.value = false;
+	}
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+	materialForm.value = {
+		moveNo: '',
+		Code: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+	checkedMaterial.value = val;
+};
+const isMaterialBox: any = ref(true);
+const isPoBox: any = ref(true);
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = (param?: any) => {
+	if (param && param == 'po') {
+		isPoBox.value = 1;
+		isMaterialBox.value = 0;
+	} else {
+		isPoBox.value = 0;
+		isMaterialBox.value = 1;
+	}
+	getMaterialList();
+
+	// if ( addForm.value.freeOrderType && isShowBomBtn.value ) {
+	//   ElMessage.warning("鍏嶈垂浠剁被鍨嬫槸PR2锛屽彧鑳芥柊澧濪I缁存姢鐨勭墿鏂欙紒");
+	//   return;
+	// }
+	addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+	//鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+	if (warehousOrderDetails.value.length == 0) {
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			item.lineNumber = index + 1;
+			if (!item.lineNumber) {
+				item.lineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	} else {
+		for (let i = 0; i < checkedMaterial.value.length; i++) {
+			let idx = warehousOrderDetails.value.findIndex(
+				(item: { poLineNumber: any; code: any }) => item.code == checkedMaterial.value[i].materialCode && item.lineNumber == checkedMaterial.value[i].lineNumber
+			);
+			if (idx > -1) {
+				return ElMessage.warning(`鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}锛孉SN琛屽彿锛�${checkedMaterial.value[i].lineNumber || ''}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦);
+			}
+		}
+
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			if (!item.lineNumber) {
+				item.lineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	}
+
+	addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+	materialForm.value = {
+		moveNo: '',
+		Code: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	materialList.value = [];
+	checkedMaterial.value = [];
+	materialRef.value.clearSelection();
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+
+
+
+});
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	custType: '渚涘簲鍟�',
+});
+
+//-----------------杩滅▼鎼滅储----------------
+const handleQueryTdp = async () => {
+	var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+	arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: '渚涘簲鍟�',
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: '渚涘簲鍟�',
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+
+
+
+
+
+//-----------------杩滅▼鎼滅储 搴撳尯缂栧彿----------------
+const arrTdpArea = ref<any[]>([]);
+const queryParamsWArea = ref<any>({});
+const tableParamsWArea = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	areaCode: '',
+});
+
+const handleQueryTdpArea = async () => {
+	var res = await handleSlectDataWmsArea(Object.assign(queryParamsWArea.value, tableParamsWArea.value));
+	arrTdpArea.value = res ?? [];
+};
+const changeXmbhArea = async (query?: any) => {
+		loading.value = true;
+		var res = await handleSlectDataWmsArea({
+			page: 1,
+			pageSize: 200,
+			areaCode: query,
+		});
+		loading.value = false;
+		arrTdpArea.value = res?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethodArea = async (query: string) => {
+		loading.value = true;
+		var res = await handleSlectDataWmsArea({
+			page: 1,
+			pageSize: 200,
+			areaCode: query,
+		});
+		loading.value = false;
+		arrTdpArea.value = res ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+
+
+
+
+//-----------------杩滅▼鎼滅储 搴撲綅缂栧彿----------------
+const arrTdpPlace = ref<any[]>([]);
+const queryParamsWPlace = ref<any>({});
+const tableParamsWPlace = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	PlaceCode: '',
+});
+
+const handleQueryTdpPlace = async () => {
+	var res = await pageWmsPlace(Object.assign(queryParamsWPlace.value, tableParamsWPlace.value));
+	arrTdpPlace.value =res.data.result?.items ?? [];
+};
+const changeXmbhPlace = async (query?: any) => {
+		loading.value = true;
+		var res = await pageWmsPlace({
+			page: 1,
+			pageSize: 200,
+			PlaceCode: query,
+		});
+		loading.value = false;
+		arrTdpPlace.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethodPlace = async (query: string) => {
+		loading.value = true;
+		var res = await pageWmsPlace({
+			page: 1,
+			pageSize: 200,
+			PlaceCode: query,
+		});
+		loading.value = false;
+		arrTdpPlace.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+
+
+
+
+
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+	margin: 10px;
+}
+
+.msi-form {
+	margin-top: 10px;
+}
+
+.msi-form {
+	margin-bottom: 10px;
+}
+
+.slot_title {
+	display: flex;
+	align-items: center;
+
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #F18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}
+
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovement/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovement/index.vue
new file mode 100644
index 0000000..1507007
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovement/index.vue
@@ -0,0 +1,397 @@
+锘�<template>
+  <div class="wmsOrderMovement-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsOrderMovement" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsOrderMovement.searchKey" clearable="" placeholder="鍗曞彿,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovement">
+            <el-form-item label="鍗曞彿">
+              <el-input v-model="queryParamsWmsOrderMovement.orderNo" clearable="" placeholder="璇疯緭鍏ュ崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovement">
+            <el-form-item label="鍗曟嵁绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsOrderMovement.orderType" placeholder="璇烽�夋嫨鍗曟嵁绫诲瀷">
+                <el-option v-for="(item,index) in getEnumOrderTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovement">
+            <el-form-item label="涓氬姟绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsOrderMovement.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+                <el-option v-for="(item,index) in getEnumBusinessTypeData_Index" :key="index" :value="item.businessTypeValue" :label="`${item.businessTypeName}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovement">
+            <el-form-item label="鍗曟嵁鏉ユ簮">
+              <el-select clearable="" v-model="queryParamsWmsOrderMovement.orderSocure" placeholder="璇烽�夋嫨鍗曟嵁鏉ユ簮">
+                <el-option v-for="(item,index) in getEnumOrderSocureData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovement">
+            <el-form-item label="鍗曟嵁鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsOrderMovement.orderStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+                <el-option v-for="(item,index) in getEnumOrderStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsOrderMovement" v-auth="'wmsOrderMovement:page'" :disabled="disabled_btnWmsOrderMovement"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsOrderMovement"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsOrderMovement" v-if="!showAdvanceQueryUIWmsOrderMovement" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsOrderMovement" v-if="showAdvanceQueryUIWmsOrderMovement" style="margin-left:5px;"> 闅愯棌 </el-button>
+             <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="showProp(1)" v-auth="'wmsOrderMovement:add'"> 鏂板 </el-button>  -->
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelWmsOrderMovement"  v-auth="'wmsOrderMovement:importExcel'" > 瀵煎叆 </el-button> -->
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+				:data="tableDataWmsOrderMovement"
+				style="width: 100%"
+				v-loading="loadingWmsOrderMovement"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsOrderMovement"
+
+                ref="tableRef" :summary-method="getExportTitle" show-summary
+
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column label="鍗曞彿" prop="orderNo" width="180" align="left" show-overflow-tooltip>
+          <template #default="scope">
+            <span class="under_line" @click="openDrawer(1, scope.row)">
+              {{ scope.row.orderNo }}
+            </span>
+          </template>
+        </el-table-column>
+          <!-- <el-table-column prop="orderType" label="鍗曟嵁绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+            {{ scope.row.orderTypeName }}
+            </template>
+          </el-table-column> -->
+          <el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+            {{ scope.row.businessTypeName }}
+            </template>
+          </el-table-column>
+          <el-table-column prop="orderSocure" label="鍗曟嵁鏉ユ簮"  show-overflow-tooltip="" >
+            <template #default="scope">
+            {{ getEnumDesc(scope.row.orderSocure, getEnumOrderSocureData_Index) }}
+              <!-- <el-tag>{{ getEnumDesc(scope.row.orderSocure, getEnumOrderSocureData_Index)}}</el-tag> -->
+            </template>
+          </el-table-column>
+          <el-table-column prop="orderStatusName" label="鍗曟嵁鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag :type="getTypeStatus(1, scope.row.orderStatusName)">{{ scope.row.orderStatusName }}</el-tag>
+            </template>
+          </el-table-column>
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+       <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsOrderMovement:update') || auth('wmsOrderMovement:delete')">
+          <template #default="scope">
+            <!-- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsOrderMovement(scope.row)" v-auth="'wmsOrderMovement:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsOrderMovement(scope.row)" v-auth="'wmsOrderMovement:delete'"> 鍒犻櫎 </el-button> -->
+
+<!-- 鍙鏂板缓 澶勭悊涓� 鎵嶈兘鍏抽棴 -->
+<el-button icon="ele-Close" size="small" text="" type="primary" v-auth="'wmsOrderDeliver:delete'"
+              @click="tocloseWmsOrderSjdXjd(scope.row)" :disabled="!(scope.row.orderStatus == 0 || scope.row.orderStatus == 1)"> 鍏抽棴 </el-button>
+
+          </template>
+        </el-table-column> 
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsOrderMovement.page"
+				v-model:page-size="tableParamsWmsOrderMovement.pageSize"
+				:total="tableParamsWmsOrderMovement.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsOrderMovement"
+				@current-change="handleCurrentChangeWmsOrderMovement"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsOrderMovement
+        ref="printDialogRefWmsOrderMovement"
+        :title="printWmsOrderMovementTitle"
+        @reloadTable="handleQueryWmsOrderMovement" />
+      <editDialogWmsOrderMovement
+        ref="editDialogRefWmsOrderMovement"
+        :title="editWmsOrderMovementTitle"
+        @reloadTable="handleQueryWmsOrderMovement"
+      />
+      <importExcelDialog
+        ref="importExcelDialogRefWmsOrderMovement"
+        :title="importExcelTitleWmsOrderMovement"
+        @parentUploadFun="handleImportExcelWmsOrderMovement"
+        @parentDownFun="handleDownExcelWmsOrderMovement"
+      />
+    </el-card>
+
+        <!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 -->
+        <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQuery"></open-allprop>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsOrderMovement">
+  import { getCurrentInstance,nextTick,ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
+
+
+  import printDialogWmsOrderMovement from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogWmsOrderMovement from '/@/views/main/WmsOrder/wmsOrderMovement/component/editDialog.vue'
+  import { ExcellTableDataExport } from "/@/hooks/exportTableDataExcell";
+  import OpenAllprop from '/@/views/main/WmsOrder/wmsOrderMovement/component/openAllprop.vue';
+  import { pageWmsOrderMovement, deleteWmsOrderMovement,importExcelWmsOrderMovement,downloadExcelTemplateWmsOrderMovement, closeWmsOrderSjdXjd } from '/@/api/main/WmsOrder/wmsOrderMovement';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+  import {
+  getTypeStatus
+} from "/@/utils/formate";
+import { listWmsBusinessType } from "/@/api/main/WmsBase/wmsBusinessType";
+  const getEnumOrderTypeData_Index = ref<any>([]);
+  const getEnumBusinessTypeData_Index = ref<any>([]);
+  const getEnumOrderSocureData_Index = ref<any>([]);
+  const getEnumOrderStatusData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+
+  /***************************************************[绉诲姩鍗曟搷浣淽寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsOrderMovement = ref(false);
+  const printDialogRefWmsOrderMovement = ref();
+  const editDialogRefWmsOrderMovement = ref();
+  const loadingWmsOrderMovement = ref(false);
+  const disabled_btnWmsOrderMovement = ref(false);
+  const tableDataWmsOrderMovement = ref<any>([]);
+  const queryParamsWmsOrderMovement = ref<any>({});
+  const tableParamsWmsOrderMovement = ref({
+    OrderType:4,
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+  // ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
+const jsonExcellTableExport = {
+  titleName: "", //瀵煎嚭琛ㄦ牸鍚嶇О
+  interfaceListName: '',//瀵煎嚭鎺ュ彛鍚嶇О
+}
+const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport)
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+// --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬-----------------
+
+  // ---------------鏂板-----------------------
+const showProp = (item?: any) => {
+  if (item == 1) {
+    proxy.$refs['propALlProp'].openDialog(1);
+  } else {
+    proxy.$refs['propALlProp'].openDialog(2, item);
+  }
+}
+  // ---------------璇︽儏-----------------------
+  const openDrawer = (type: number, item?: any) => {
+  proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell);
+}
+
+  const printWmsOrderMovementTitle = ref("");
+  const editWmsOrderMovementTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsOrderMovement = () => {
+    showAdvanceQueryUIWmsOrderMovement.value = !showAdvanceQueryUIWmsOrderMovement.value;
+  }
+
+  // 鏌ヨ绉诲姩鍗�
+  const handleQueryWmsOrderMovement = async () => {
+    loadingWmsOrderMovement.value = true;
+    disabled_btnWmsOrderMovement.value = true;
+    var res = await pageWmsOrderMovement(Object.assign(queryParamsWmsOrderMovement.value, tableParamsWmsOrderMovement.value));
+    if(res.data.type=="success"){
+      tableDataWmsOrderMovement.value = res.data.result?.items ?? [];
+      tableParamsWmsOrderMovement.value.total = res.data.result?.total;
+    }
+    loadingWmsOrderMovement.value = false;
+    disabled_btnWmsOrderMovement.value = false;
+  };
+
+  // 閲嶇疆绉诲姩鍗曟煡璇�
+  const resetWmsOrderMovement = async () => {
+    queryParamsWmsOrderMovement.value = {}
+  };
+
+  // 绉诲姩鍗曞垪鎺掑簭
+  const sortChangeWmsOrderMovement = async (column: any) => {
+	queryParamsWmsOrderMovement.value.field = column.prop;
+	queryParamsWmsOrderMovement.value.order = column.order;
+	await handleQueryWmsOrderMovement();
+  };
+
+  // 鎵撳紑鏂板绉诲姩鍗曢〉闈�
+  const openAddWmsOrderMovement = () => {
+    editWmsOrderMovementTitle.value = '娣诲姞绉诲姩鍗�';
+    editDialogRefWmsOrderMovement.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃绉诲姩鍗曢〉闈�
+  const openPrintWmsOrderMovement = async (row: any) => {
+    printWmsOrderMovementTitle.value = '鎵撳嵃绉诲姩鍗�';
+  }
+  
+  // 鎵撳紑缂栬緫绉诲姩鍗曢〉闈�
+  const openEditWmsOrderMovement = (row: any) => {
+    editWmsOrderMovementTitle.value = '缂栬緫绉诲姩鍗�';
+    editDialogRefWmsOrderMovement.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎绉诲姩鍗�
+  const delWmsOrderMovement = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsOrderMovement.value = true;
+    var ret = await deleteWmsOrderMovement(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsOrderMovement.value = false;
+    handleQueryWmsOrderMovement();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉绉诲姩鍗曢〉闈㈠閲�
+  const handleSizeChangeWmsOrderMovement = (val: number) => {
+    tableParamsWmsOrderMovement.value.pageSize = val;
+    handleQueryWmsOrderMovement();
+  };
+
+  // 鏀瑰彉绉诲姩鍗曢〉鐮佸簭鍙�
+  const handleCurrentChangeWmsOrderMovement = (val: number) => {
+    tableParamsWmsOrderMovement.value.page = val;
+    handleQueryWmsOrderMovement();
+  };
+
+/***************************************************[绉诲姩鍗曟搷浣淽缁撴潫***************************************************/
+/***************************************************[绉诲姩鍗曞鍏寮�濮�***************************************************/
+const importExcelTitleWmsOrderMovement = ref("");
+const importExcelDialogRefWmsOrderMovement = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsOrderMovement = () => {
+    importExcelTitleWmsOrderMovement.value = '瀵煎叆绉诲姩鍗�';
+    importExcelDialogRefWmsOrderMovement.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsOrderMovement = async (formData:Blob) => {
+   var result = await importExcelWmsOrderMovement(formData);
+   importExcelDialogRefWmsOrderMovement.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+   if(result.data.type=="success"){
+    handleQueryWmsOrderMovement();
+   }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsOrderMovement = async () => {
+   var result = await downloadExcelTemplateWmsOrderMovement();
+   importExcelDialogRefWmsOrderMovement.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[绉诲姩鍗曞鍏缁撴潫***************************************************/
+  // 绉诲姩鍗曢〉闈㈠姞杞芥椂
+  onMounted(async () => {
+    getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+
+    getEnumOrderSocureData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('SourceByEnum')).data.result ?? [];
+    getEnumOrderStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+
+ //涓氬姟绫诲瀷
+ var res = await listWmsBusinessType();
+ res = res.data;
+    if(res && res.code == 200){
+      getEnumBusinessTypeData_Index.value  = res?.result ?? [];
+    }
+
+
+  });
+
+  handleQueryWmsOrderMovement();
+
+  const showAdvanceQueryUI = ref(false);
+const printDialogRef = ref();
+const editDialogRef = ref();
+const loading = ref(false);
+const tableData = ref<any>([]);
+const queryParams = ref<any>({});
+const tableParams = ref({
+  page: 1,
+  pageSize: 10,
+  total: 0,
+});
+  // 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+  // loading.value = true;
+  // var res = await pageWmsOrderAsn(Object.assign(queryParams.value, tableParams.value));
+  // tableData.value = res.data.result?.items ?? [];
+  // tableParams.value.total = res.data.result?.total;
+  // loading.value = false;
+ 
+};
+// 鍏抽棴涓婃灦鍗�
+const tocloseWmsOrderSjdXjd = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸叧闂悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      loading.value = true;
+      var ret = await closeWmsOrderSjdXjd(row);
+      if (ret.data.type == "success") {
+        ElMessage.success("鍏抽棴鎴愬姛");
+      }
+      loading.value = false;
+      handleQueryWmsOrderMovement();
+    })
+};
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+.under_line {
+  color: #F18201;
+  text-decoration: underline;
+  cursor: pointer;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovementDetails/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovementDetails/component/editDialog.vue
new file mode 100644
index 0000000..8263245
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovementDetails/component/editDialog.vue
@@ -0,0 +1,291 @@
+锘�<template>
+	<div class="wmsOrderMovementDetails-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鐘舵��" prop="orderStatus">
+							<el-select clearable v-model="ruleForm.orderStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+								<el-option v-for="(item,index) in  getEnumOrderStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璺熻釜鐮�" prop="snCode">
+							<el-input v-model="ruleForm.snCode" placeholder="璇疯緭鍏ヨ窡韪爜" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏁伴噺" prop="quantity">
+							<el-input v-model="ruleForm.quantity" placeholder="璇疯緭鍏ユ暟閲�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP搴撳瓨鍦�" prop="erpCode">
+							<el-input v-model="ruleForm.erpCode" placeholder="璇疯緭鍏RP搴撳瓨鍦�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗘壒娆�" prop="supplierBatch">
+							<el-input v-model="ruleForm.supplierBatch" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵规" prop="batch">
+							<el-input v-model="ruleForm.batch" placeholder="璇疯緭鍏ユ壒娆�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹瑰櫒缂栧彿" prop="containerCode">
+							<el-input v-model="ruleForm.containerCode" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹瑰櫒鍚嶇О" prop="containerName">
+							<el-input v-model="ruleForm.containerName" placeholder="璇疯緭鍏ュ鍣ㄥ悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="寰�鏉ヤ紒涓氱被鍨�" prop="custType">
+							<el-select clearable v-model="ruleForm.custType" placeholder="璇烽�夋嫨寰�鏉ヤ紒涓氱被鍨�">
+								<el-option v-for="(item,index) in  getEnumCustTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="寰�鏉ヤ紒涓氱紪鍙�" prop="custCode">
+							<el-input v-model="ruleForm.custCode" placeholder="璇疯緭鍏ュ線鏉ヤ紒涓氱紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="寰�鏉ヤ紒涓氫腑鏂囧悕绉�" prop="custChinaName">
+							<el-input v-model="ruleForm.custChinaName" placeholder="璇疯緭鍏ュ線鏉ヤ紒涓氫腑鏂囧悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="寰�鏉ヤ紒涓氳嫳鏂囧悕绉�" prop="custEnglishName">
+							<el-input v-model="ruleForm.custEnglishName" placeholder="璇疯緭鍏ュ線鏉ヤ紒涓氳嫳鏂囧悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="婧愬簱浣嶇紪鍙�" prop="sourcePlaceCode">
+							<el-input v-model="ruleForm.sourcePlaceCode" placeholder="璇疯緭鍏ユ簮搴撲綅缂栧彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="婧愬簱浣嶅悕绉�" prop="sourcePlaceName">
+							<el-input v-model="ruleForm.sourcePlaceName" placeholder="璇疯緭鍏ユ簮搴撲綅鍚嶇О" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐩爣搴撲綅缂栧彿" prop="toPlaceCode">
+							<el-input v-model="ruleForm.toPlaceCode" placeholder="璇疯緭鍏ョ洰鏍囧簱浣嶇紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐩爣搴撲綅鍚嶇О" prop="toPlaceName">
+							<el-input v-model="ruleForm.toPlaceName" placeholder="璇疯緭鍏ョ洰鏍囧簱浣嶅悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎿嶄綔澶囨敞" prop="actionRemark">
+							<el-input v-model="ruleForm.actionRemark" placeholder="璇疯緭鍏ユ搷浣滃娉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎿嶄綔鏃堕棿" prop="actionTime">
+							<el-date-picker v-model="ruleForm.actionTime" type="date" placeholder="鎿嶄綔鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsOrderMovementDetails, updateWmsOrderMovementDetails, detailWmsOrderMovementDetails } from "/@/api/main/WmsOrder/wmsOrderMovementDetails";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumOrderStatusData = ref<any>([]);
+	const getEnumCustTypeData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		snCode: [{required: true, message: '璇疯緭鍏ヨ窡韪爜锛�', trigger: 'blur',},],
+		quantity: [{required: true, message: '璇疯緭鍏ユ暟閲忥紒', trigger: 'blur',},],
+		containerCode: [{required: true, message: '璇疯緭鍏ュ鍣ㄧ紪鍙凤紒', trigger: 'blur',},],
+		custType: [{required: true, message: '璇烽�夋嫨寰�鏉ヤ紒涓氱被鍨嬶紒', trigger: 'change',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsOrderMovementDetails(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsOrderMovementDetails(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsOrderMovementDetails(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumOrderStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+			getEnumCustTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('BaseCustomerTypeEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovementDetails/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovementDetails/index.vue
new file mode 100644
index 0000000..a54e1d2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderMovementDetails/index.vue
@@ -0,0 +1,298 @@
+锘�<template>
+  <div class="wmsOrderMovementDetails-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsOrderMovementDetails" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsOrderMovementDetails.searchKey" clearable="" placeholder="鐗╂枡缂栧彿,鐗╂枡鍚嶇О,璺熻釜鐮�,ERP搴撳瓨鍦�,渚涘簲鍟嗘壒娆�,鎵规,瀹瑰櫒缂栧彿,瀹瑰櫒鍚嶇О,寰�鏉ヤ紒涓氱紪鍙�,寰�鏉ヤ紒涓氫腑鏂囧悕绉�,寰�鏉ヤ紒涓氳嫳鏂囧悕绉�,婧愬簱浣嶇紪鍙�,婧愬簱浣嶅悕绉�,鐩爣搴撲綅缂栧彿,鐩爣搴撲綅鍚嶇О,鎿嶄綔澶囨敞,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovementDetails">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParamsWmsOrderMovementDetails.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovementDetails">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsOrderMovementDetails.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovementDetails">
+            <el-form-item label="鍗曟嵁鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsOrderMovementDetails.orderStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+                <el-option v-for="(item,index) in getEnumOrderStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovementDetails">
+            <el-form-item label="璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsOrderMovementDetails.snCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovementDetails">
+            <el-form-item label="ERP搴撳瓨鍦�">
+              <el-input v-model="queryParamsWmsOrderMovementDetails.erpCode" clearable="" placeholder="璇疯緭鍏RP搴撳瓨鍦�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovementDetails">
+            <el-form-item label="渚涘簲鍟嗘壒娆�">
+              <el-input v-model="queryParamsWmsOrderMovementDetails.supplierBatch" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovementDetails">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParamsWmsOrderMovementDetails.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovementDetails">
+            <el-form-item label="瀹瑰櫒缂栧彿">
+              <el-input v-model="queryParamsWmsOrderMovementDetails.containerCode" clearable="" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovementDetails">
+            <el-form-item label="寰�鏉ヤ紒涓氱被鍨�">
+              <el-select clearable="" v-model="queryParamsWmsOrderMovementDetails.custType" placeholder="璇烽�夋嫨寰�鏉ヤ紒涓氱被鍨�">
+                <el-option v-for="(item,index) in getEnumCustTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovementDetails">
+            <el-form-item label="寰�鏉ヤ紒涓氱紪鍙�">
+              <el-input v-model="queryParamsWmsOrderMovementDetails.custCode" clearable="" placeholder="璇疯緭鍏ュ線鏉ヤ紒涓氱紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsOrderMovementDetails" v-auth="'wmsOrderMovementDetails:page'" :disabled="disabled_btnWmsOrderMovementDetails"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsOrderMovementDetails"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsOrderMovementDetails" v-if="!showAdvanceQueryUIWmsOrderMovementDetails" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsOrderMovementDetails" v-if="showAdvanceQueryUIWmsOrderMovementDetails" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsOrderMovementDetails" v-auth="'wmsOrderMovementDetails:add'"> 鏂板 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+				:data="tableDataWmsOrderMovementDetails"
+				style="width: 100%"
+				v-loading="loadingWmsOrderMovementDetails"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsOrderMovementDetails"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="lineNumber" label="琛屽彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+          <el-table-column prop="orderStatus" label="鍗曟嵁鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.orderStatus, getEnumOrderStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="snCode" label="璺熻釜鐮�"  show-overflow-tooltip="" />
+        <el-table-column prop="quantity" label="鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierBatch" label="渚涘簲鍟嗘壒娆�"  show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规"  show-overflow-tooltip="" />
+        <el-table-column prop="containerCode" label="瀹瑰櫒缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="containerName" label="瀹瑰櫒鍚嶇О"  show-overflow-tooltip="" />
+          <el-table-column prop="custType" label="寰�鏉ヤ紒涓氱被鍨�"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.custType, getEnumCustTypeData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="custCode" label="寰�鏉ヤ紒涓氱紪鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="custChinaName" label="寰�鏉ヤ紒涓氫腑鏂囧悕绉�"  show-overflow-tooltip="" />
+        <el-table-column prop="custEnglishName" label="寰�鏉ヤ紒涓氳嫳鏂囧悕绉�"  show-overflow-tooltip="" />
+        <el-table-column prop="sourcePlaceCode" label="婧愬簱浣嶇紪鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="sourcePlaceName" label="婧愬簱浣嶅悕绉�"  show-overflow-tooltip="" />
+        <el-table-column prop="toPlaceCode" label="鐩爣搴撲綅缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="toPlaceName" label="鐩爣搴撲綅鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="actionRemark" label="鎿嶄綔澶囨敞"  show-overflow-tooltip="" />
+         <el-table-column prop="actionTime" label="鎿嶄綔鏃堕棿" width="80" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <!-- <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsOrderMovementDetails:update') || auth('wmsOrderMovementDetails:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsOrderMovementDetails(scope.row)" v-auth="'wmsOrderMovementDetails:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsOrderMovementDetails(scope.row)" v-auth="'wmsOrderMovementDetails:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column> -->
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsOrderMovementDetails.page"
+				v-model:page-size="tableParamsWmsOrderMovementDetails.pageSize"
+				:total="tableParamsWmsOrderMovementDetails.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsOrderMovementDetails"
+				@current-change="handleCurrentChangeWmsOrderMovementDetails"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsOrderMovementDetails
+        ref="printDialogRefWmsOrderMovementDetails"
+        :title="printWmsOrderMovementDetailsTitle"
+        @reloadTable="handleQueryWmsOrderMovementDetails" />
+      <editDialogWmsOrderMovementDetails
+        ref="editDialogRefWmsOrderMovementDetails"
+        :title="editWmsOrderMovementDetailsTitle"
+        @reloadTable="handleQueryWmsOrderMovementDetails"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsOrderMovementDetails">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+
+
+  import printDialogWmsOrderMovementDetails from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogWmsOrderMovementDetails from '/@/views/main/WmsOrder/wmsOrderMovementDetails/component/editDialog.vue'
+  import { pageWmsOrderMovementDetails, deleteWmsOrderMovementDetails,importExcelWmsOrderMovementDetails,downloadExcelTemplateWmsOrderMovementDetails } from '/@/api/main/WmsOrder/wmsOrderMovementDetails';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumOrderStatusData_Index = ref<any>([]);
+  const getEnumCustTypeData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+
+  /***************************************************[绉诲姩鍗曟槑缁嗘搷浣淽寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsOrderMovementDetails = ref(false);
+  const printDialogRefWmsOrderMovementDetails = ref();
+  const editDialogRefWmsOrderMovementDetails = ref();
+  const loadingWmsOrderMovementDetails = ref(false);
+  const disabled_btnWmsOrderMovementDetails = ref(false);
+  const tableDataWmsOrderMovementDetails = ref<any>([]);
+  const queryParamsWmsOrderMovementDetails = ref<any>({});
+  const tableParamsWmsOrderMovementDetails = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsOrderMovementDetailsTitle = ref("");
+  const editWmsOrderMovementDetailsTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsOrderMovementDetails = () => {
+    showAdvanceQueryUIWmsOrderMovementDetails.value = !showAdvanceQueryUIWmsOrderMovementDetails.value;
+  }
+
+  // 鏌ヨ绉诲姩鍗曟槑缁�
+  const handleQueryWmsOrderMovementDetails = async () => {
+    loadingWmsOrderMovementDetails.value = true;
+    disabled_btnWmsOrderMovementDetails.value = true;
+    var res = await pageWmsOrderMovementDetails(Object.assign(queryParamsWmsOrderMovementDetails.value, tableParamsWmsOrderMovementDetails.value));
+    if(res.data.type=="success"){
+      tableDataWmsOrderMovementDetails.value = res.data.result?.items ?? [];
+      tableParamsWmsOrderMovementDetails.value.total = res.data.result?.total;
+    }
+    loadingWmsOrderMovementDetails.value = false;
+    disabled_btnWmsOrderMovementDetails.value = false;
+  };
+
+  // 閲嶇疆绉诲姩鍗曟槑缁嗘煡璇�
+  const resetWmsOrderMovementDetails = async () => {
+    queryParamsWmsOrderMovementDetails.value = {}
+  };
+
+  // 绉诲姩鍗曟槑缁嗗垪鎺掑簭
+  const sortChangeWmsOrderMovementDetails = async (column: any) => {
+	queryParamsWmsOrderMovementDetails.value.field = column.prop;
+	queryParamsWmsOrderMovementDetails.value.order = column.order;
+	await handleQueryWmsOrderMovementDetails();
+  };
+
+  // 鎵撳紑鏂板绉诲姩鍗曟槑缁嗛〉闈�
+  const openAddWmsOrderMovementDetails = () => {
+    editWmsOrderMovementDetailsTitle.value = '娣诲姞绉诲姩鍗曟槑缁�';
+    editDialogRefWmsOrderMovementDetails.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃绉诲姩鍗曟槑缁嗛〉闈�
+  const openPrintWmsOrderMovementDetails = async (row: any) => {
+    printWmsOrderMovementDetailsTitle.value = '鎵撳嵃绉诲姩鍗曟槑缁�';
+  }
+  
+  // 鎵撳紑缂栬緫绉诲姩鍗曟槑缁嗛〉闈�
+  const openEditWmsOrderMovementDetails = (row: any) => {
+    editWmsOrderMovementDetailsTitle.value = '缂栬緫绉诲姩鍗曟槑缁�';
+    editDialogRefWmsOrderMovementDetails.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎绉诲姩鍗曟槑缁�
+  const delWmsOrderMovementDetails = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsOrderMovementDetails.value = true;
+    var ret = await deleteWmsOrderMovementDetails(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsOrderMovementDetails.value = false;
+    handleQueryWmsOrderMovementDetails();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉绉诲姩鍗曟槑缁嗛〉闈㈠閲�
+  const handleSizeChangeWmsOrderMovementDetails = (val: number) => {
+    tableParamsWmsOrderMovementDetails.value.pageSize = val;
+    handleQueryWmsOrderMovementDetails();
+  };
+
+  // 鏀瑰彉绉诲姩鍗曟槑缁嗛〉鐮佸簭鍙�
+  const handleCurrentChangeWmsOrderMovementDetails = (val: number) => {
+    tableParamsWmsOrderMovementDetails.value.page = val;
+    handleQueryWmsOrderMovementDetails();
+  };
+
+/***************************************************[绉诲姩鍗曟槑缁嗘搷浣淽缁撴潫***************************************************/
+  // 绉诲姩鍗曟槑缁嗛〉闈㈠姞杞芥椂
+  onMounted(async () => {
+    getEnumOrderStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+    getEnumCustTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('BaseCustomerTypeEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsOrderMovementDetails();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/editDialog.vue
new file mode 100644
index 0000000..4c066c8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/editDialog.vue
@@ -0,0 +1,300 @@
+锘�<template>
+	<div class="wmsOrderPurchase-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="PO鍗曞彿" prop="purchaseNo">
+							<el-input v-model="ruleForm.purchaseNo" placeholder="璇疯緭鍏O鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璁㈠崟绫诲瀷" prop="orderType">
+							<el-select clearable v-model="ruleForm.orderType" placeholder="璇烽�夋嫨璁㈠崟绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumOrderTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璁㈠崟绫诲瀷鍚嶇О" prop="orderTypeName">
+							<el-input v-model="ruleForm.orderTypeName" placeholder="璇疯緭鍏ヨ鍗曠被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷" prop="businessType">
+							<el-select clearable v-model="ruleForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumBusinessTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷鍚嶇О" prop="businessTypeName">
+							<el-input v-model="ruleForm.businessTypeName" placeholder="璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鏉ユ簮" prop="orderSocure">
+							<el-input v-model="ruleForm.orderSocure" placeholder="璇疯緭鍏ュ崟鎹潵婧�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鐘舵��" prop="poStatus">
+							<el-select clearable v-model="ruleForm.poStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+								<el-option v-for="(item,index) in  getEnumPoStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鐘舵�佸悕绉�" prop="poStatusName">
+							<el-input v-model="ruleForm.poStatusName" placeholder="璇疯緭鍏ュ崟鎹姸鎬佸悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗙紪鍙�" prop="supplierCode">
+							<el-input v-model="ruleForm.supplierCode" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName">
+							<el-input v-model="ruleForm.supplierName" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏀惰揣閬撳彛" prop="dock">
+							<el-input v-model="ruleForm.dock" placeholder="璇疯緭鍏ユ敹璐ч亾鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
+							<el-input v-model="ruleForm.erpOrderNo" placeholder="璇疯緭鍏RP鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="椤圭洰ID" prop="projectId">
+							<el-input v-model="ruleForm.projectId" placeholder="璇疯緭鍏ラ」鐩甀D" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="椤圭洰鍙�" prop="projectNo">
+							<el-input v-model="ruleForm.projectNo" placeholder="璇疯緭鍏ラ」鐩彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="椤圭洰鍚嶇О" prop="projectName">
+							<el-input v-model="ruleForm.projectName" placeholder="璇疯緭鍏ラ」鐩悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="澶囨敞" prop="remark">
+							<el-input v-model="ruleForm.remark" placeholder="璇疯緭鍏ュ娉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP鍒涘缓浜�" prop="erp_CreatedUserName">
+							<el-input v-model="ruleForm.erp_CreatedUserName" placeholder="璇疯緭鍏RP鍒涘缓浜�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP淇敼浜�" prop="erp_UpdatedUserName">
+							<el-input v-model="ruleForm.erp_UpdatedUserName" placeholder="璇疯緭鍏RP淇敼浜�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸ュ巶ID" prop="factoryId">
+							<el-input v-model="ruleForm.factoryId" placeholder="璇疯緭鍏ュ伐鍘侷D" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸ュ巶鍚嶇О" prop="factoryName">
+							<el-input v-model="ruleForm.factoryName" placeholder="璇疯緭鍏ュ伐鍘傚悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸ュ巶缂栧彿" prop="factoryCode">
+							<el-input v-model="ruleForm.factoryCode" placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsOrderPurchase, updateWmsOrderPurchase, detailWmsOrderPurchase } from "/@/api/main/WmsOrder/wmsOrderPurchase";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+import { listWmsBusinessType } from "/@/api/main/WmsBase/wmsBusinessType";
+
+	const getEnumOrderTypeData = ref<any>([]);
+	const getEnumBusinessTypeData = ref<any>([]);
+	const getEnumPoStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		purchaseNo: [{required: true, message: '璇疯緭鍏O鍗曞彿锛�', trigger: 'blur',},],
+		orderType: [{required: true, message: '璇烽�夋嫨璁㈠崟绫诲瀷锛�', trigger: 'change',},],
+		orderTypeName: [{required: true, message: '璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒', trigger: 'blur',},],
+		businessType: [{required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change',},],
+		businessTypeName: [{required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒', trigger: 'blur',},],
+		orderSocure: [{required: true, message: '璇疯緭鍏ュ崟鎹潵婧愶紒', trigger: 'blur',},],
+		poStatus: [{required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change',},],
+		poStatusName: [{required: true, message: '璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒', trigger: 'blur',},],
+		supplierCode: [{required: true, message: '璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�', trigger: 'blur',},],
+		supplierName: [{required: true, message: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�', trigger: 'blur',},],
+		factoryId: [{required: true, message: '璇疯緭鍏ュ伐鍘侷D锛�', trigger: 'blur',},],
+	});
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsOrderPurchase(rowData.id)).data.result;
+		else
+			ruleForm.value = rowData;
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addWmsOrderPurchase(values);
+				} else {
+					await updateWmsOrderPurchase(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumOrderTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+
+
+			getEnumPoStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+
+ //涓氬姟绫诲瀷
+ var res = await listWmsBusinessType();
+ res = res.data;
+    if(res && res.code == 200){
+		getEnumBusinessTypeData.value  = res?.result ?? [];
+    }
+
+
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue
new file mode 100644
index 0000000..edd6923
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue
@@ -0,0 +1,1187 @@
+<template>
+	<div>
+		<!-- 娣诲姞銆佺紪杈� -->
+		<el-dialog v-model="dialogVisible" width="95%" @close="closeDialog" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<span>{{ dialogType == 'add' ? '娣诲姞' : '缂栬緫' }}</span>
+				</div>
+			</template>
+
+			<el-form :model="addForm" ref="dialogRef" labelWidth="90" :rules="formRules">
+				<el-row>
+					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷" prop="businessType">
+							<el-select clearable v-model="addForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+								<el-option v-for="(item, index) in getBusinessTypeData_Index" :key="index" :value="item.businessTypeValue" :label="`[${item.businessTypeValue}] ${item.businessTypeName}`"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20">
+						<el-form-item label="渚涘簲鍟�" prop="supplierCode">
+							<el-select
+								v-model="addForm.supplierCode"
+								filterable
+								remote
+								reserve-keyword
+								remote-show-suffix
+								:remote-method="remoteMethod"
+								:loading="loading"
+								placeholder="璇烽�夋嫨渚涘簲鍟�"
+								clearable
+								style="width: 100%"
+								@change="changeXmbh(addForm.supplierCode)"
+							>
+								<el-option v-for="(item, index) in arrTdp" :key="index" :value="item.custCode" :label="`[${item.custCode}]${item.custChinaName}`"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20">
+          <el-form-item label="鏀惰揣閬撳彛" prop="dock">
+            <el-select clearable v-model="addForm.dock" placeholder="璇烽�夋嫨鏀惰揣閬撳彛">
+              <el-option
+                v-for="(item, index) in getEnumDockData"
+                :key="index"
+                :value="item.value"
+                :label="`${item.describe}`"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col> -->
+
+					<!--<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20">
+          <el-form-item label="鏀惰揣閬撳彛" prop="dock">
+            <el-input
+              v-model="addForm.dock"
+              placeholder="璇疯緭鍏ユ敹璐ч亾鍙�"
+              maxlength="50"
+              show-word-limit
+              clearable
+            />
+          </el-form-item>
+        </el-col> -->
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20">
+						<el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
+							<el-input v-model="addForm.erpOrderNo" placeholder="璇疯緭鍏RP鍗曞彿" maxlength="50" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20">
+						<el-form-item label="椤圭洰鍙�" prop="projectNo">
+							<el-input v-model="addForm.projectNo" placeholder="璇疯緭鍏ラ」鐩彿" maxlength="50" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="dialogType == 'add'">
+          <el-form-item label="璁㈠崟绫诲瀷:" prop="materialType">
+            <el-select  v-model="addForm.materialType" placeholder="璇烽�夋嫨璁㈠崟绫诲瀷" @change="changDdlx"
+              style="width: 100%">
+              <el-option v-for="item in statusEnums" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8" v-if="dialogType == 'edit'">
+          <el-form-item label="璁㈠崟绫诲瀷:" prop="materialType">
+            <el-select v-model="addForm.materialType" disabled placeholder="璇烽�夋嫨璁㈠崟绫诲瀷"  style="width: 100%">
+              <el-option v-for="item in outInTypeEnum" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8" v-if="addForm.materialType == 5">
+          <el-form-item label="鍏嶈垂浠剁被鍨�:" prop="freeOrderType">
+            <el-select v-model="addForm.freeOrderType" placeholder="璇烽�夋嫨鍏嶈垂浠剁被鍨�"  style="width: 100%"
+              @change="changMfj" :disabled="dialogType == 'edit'">
+              <el-option v-for="item in statusEnumsMFj" :key="item.value" :label="item.title" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="鍗曞彿:" prop="purchaseNo">
+            <el-input v-model="addForm.purchaseNo" :disabled="dialogType == 'edit'" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+          </el-form-item>
+        </el-col>
+     
+        <el-col :span="8">
+          <el-form-item label="澶囨敞:">
+            <el-input v-model="addForm.remark" clearable placeholder="璇疯緭鍏ュ娉�" />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="棰勮鍒拌揪鏃堕棿:" prop="EstimatedDate">
+            <el-date-picker v-model="addForm.EstimatedDate" type="datetime" :disabled-date="disabledDate"
+              value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨棰勮鍒拌揪鏃堕棿"
+              style="width: 100%;" />
+          </el-form-item>
+        </el-col> -->
+				</el-row>
+			</el-form>
+			<div class="msi-content" style="margin-top: 10px">
+				<div class="header" style="margin-bottom: 10px">
+					<div>
+						<el-button type="primary" icon="el-icon-plus" @click="addMaterialDialog">鏂板鐗╂枡</el-button>
+
+						<el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0" @click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+					</div>
+				</div>
+
+				<el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef" @selection-change="detailsCheckChange" max-height="480">
+					<el-table-column align="center" width="60" type="selection" />
+					<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+					<el-table-column label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center" show-overflow-tooltip />
+					<el-table-column label="鐗╂枡鍚嶇О" min-width="140" prop="materialName" align="center" show-overflow-tooltip />
+
+					<!-- clientCode -->
+					<el-table-column label="瀹㈡埛缂栧彿" v-if="isShowBomBtn" prop="diCustomCode" align="center" min-width="110" />
+					<el-table-column label="瀹㈡埛涓枃鍚嶇О" v-if="isShowBomBtn" prop="diCustomChinaName" align="center" min-width="110" />
+
+					<el-table-column label="琛屽彿" prop="poLineNumber" align="center" min-width="120">
+						<template #default="scope">
+							<el-input v-model.trim="scope.row.poLineNumber" clearable min-width="150" placeholder="璇疯緭鍏ヨ鍙�" />
+						</template>
+					</el-table-column>
+
+					<el-table-column label="渚涘簲鍟嗘壒娆�" prop="supplierBatch" align="center" min-width="120">
+						<template #default="scope">
+							<el-input v-model.trim="scope.row.supplierBatch" clearable min-width="150" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规" />
+						</template>
+					</el-table-column>
+
+					<el-table-column label="ERP搴撳瓨鍦�" prop="erpCode" align="center" min-width="120">
+						<template #default="scope">
+							<el-input v-model.trim="scope.row.erpCode" clearable min-width="150" placeholder="璇疯緭鍏RP搴撳瓨鍦�" />
+						</template>
+					</el-table-column>
+
+					<el-table-column label="鏁伴噺" align="center" min-width="180">
+						<template #default="scope">
+							<el-input-number :precision="3" min="0" v-model="scope.row.quantity" size="small" />
+						</template>
+					</el-table-column>
+
+					<el-table-column label="璁″垝寮�濮嬫椂闂�" align="center" min-width="180">
+						<template #default="scope">
+							<el-date-picker
+								v-model="scope.row.plannedStartTime"
+								type="datetime"
+								:disabled-date="disabledDate"
+								value-format="YYYY-MM-DD HH:mm:ss"
+								format="YYYY-MM-DD HH:mm:ss"
+								placeholder="璇烽�夋嫨璁″垝寮�濮嬫椂闂�"
+								style="width: 100%"
+							/>
+						</template>
+					</el-table-column>
+					<el-table-column label="璁″垝缁撴潫鏃堕棿" align="center" min-width="180">
+						<template #default="scope">
+							<el-date-picker
+								v-model="scope.row.plannedEndTime"
+								type="datetime"
+								:disabled-date="disabledDate"
+								value-format="YYYY-MM-DD HH:mm:ss"
+								format="YYYY-MM-DD HH:mm:ss"
+								placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿"
+								style="width: 100%"
+							/>
+						</template>
+					</el-table-column>
+					<el-table-column label="閲囪喘鍗曚綅" prop="unit" align="center" min-width="80" />
+				</el-table>
+			</div>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+					<el-button type="primary" :disabled="load" @click="confirm">纭</el-button>
+				</span>
+			</template>
+		</el-dialog>
+		<!-- 娣诲姞鐗╂枡 -->
+		<el-dialog v-model="addMaterialVisible" title="娣诲姞鐗╂枡璇︽儏" width="60%" @close="closeMaterialDialog">
+			<template #header>
+				<div style="color: #fff">
+					<span>娣诲姞鐗╂枡璇︽儏</span>
+				</div>
+			</template>
+
+			<div class="msi-form" style="padding-top: 0px">
+				<el-form :model="materialForm">
+					<el-row>
+						<el-col :span="8">
+							<el-form-item label="鐗╂枡缂栧彿">
+								<el-input v-model="materialForm.MaterialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+							</el-form-item>
+						</el-col>
+
+						<!-- <el-col :span="8">
+            <el-form-item label="鐗╂枡澶х被:">
+              <el-input v-model="materialForm.MaterialTypeId" placeholder="璇疯緭鍏ョ墿鏂欏ぇ绫�" clearable></el-input>
+            </el-form-item>
+          </el-col> -->
+
+						<el-col :span="8">
+							<el-form-item label-width="20px">
+								<el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+								<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm"
+                >閲嶇疆</el-button
+              > -->
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-form>
+			</div>
+			<div class="msi-content" style="padding-top: 0; margin-top: 10px">
+				<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef" @selection-change="materialSelectionChange" :max-height="480">
+					<el-table-column align="center" width="60" type="selection" />
+					<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+					<el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+					<el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+					<el-table-column label="閲囪喘鍗曚綅" prop="poUnit" align="center" min-width="140" show-overflow-tooltip />
+				</el-table>
+				<Pagination
+					:total="materialTotal"
+					v-model:page="materialForm.Page"
+					v-model:limit="materialForm.PageSize"
+					@pagination="getMaterialList"
+					style="margin-top: 20px; text-align: center"
+				></Pagination>
+			</div>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+					<el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+				</span>
+			</template>
+		</el-dialog>
+		<!-- 鍗曡鎯� -->
+		<el-drawer v-model="drawerVisible" :title="`${detailForm.poId}璁㈠崟璇︽儏`" direction="rtl" size="80%" @close="handleDrawerClose">
+			<template #title>
+				<div class="slot_title">
+					<div class="title_orderNo">{{ title }}</div>
+					<div>璁㈠崟璇︽儏</div>
+				</div>
+			</template>
+
+			<div class="detailBoxWrap">
+				<!-- 璇︽儏缁勪欢 -->
+				<open-details ref="propDetailRef"></open-details>
+				<div class="msi-form">
+					<el-form :model="detailForm">
+						<el-row>
+							<el-col :span="6">
+								<el-form-item label="鐗╂枡缂栧彿">
+									<el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+								</el-form-item>
+							</el-col>
+							<el-col :span="4">
+								<el-form-item label-width="20px">
+									<el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+
+									<el-button type="primary" icon="ele-Printer" @click="getPrint">鎵撳嵃</el-button>
+								</el-form-item>
+							</el-col>
+						</el-row>
+					</el-form>
+				</div>
+				<div class="msi-content">
+					<!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+					<el-table :data="drawerList" border striped :max-height="480">
+						<el-table-column fixed="left" type="index" label="搴忓彿" width="55" align="center" />
+						<!-- <el-table-column prop="poId" label="PO鍗旾D" show-overflow-tooltip="" /> -->
+						<!-- <el-table-column prop="poNo" label="PO鍗曞彿" show-overflow-tooltip="" /> -->
+
+						<el-table-column prop="materialCode" label="鐗╂枡缂栧彿" fixed="left" show-overflow-tooltip="" />
+						<el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+						<el-table-column prop="poLineNumber" label="琛屽彿" show-overflow-tooltip="" />
+
+						<el-table-column prop="poDetailStatus" label="鐘舵��" show-overflow-tooltip="">
+							<template #default="scope">
+								<el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.poDetailStatus, getEnumPoDetailStatusData_Index))">{{
+									getEnumDesc(scope.row.poDetailStatus, getEnumPoDetailStatusData_Index)
+								}}</el-tag>
+							</template>
+						</el-table-column>
+
+						<el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
+						<el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+
+						<!-- <el-table-column
+            prop="createASNQuantity"
+            label="宸插垱寤篈SN鏁伴噺" min-width="110px"
+            show-overflow-tooltip=""
+          /> -->
+
+						<!-- <el-table-column
+            prop="snp"
+            label="鏍囧寘鏁伴噺"
+            show-overflow-tooltip=""
+          /> -->
+						<!-- <el-table-column prop="erpOrderNo" label="ERP鍗曞彿" show-overflow-tooltip="" /> -->
+						<el-table-column prop="erpCode" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
+
+						<!-- <el-table-column 
+            prop="printQuantity" min-width="110px"
+            label="鏉$爜鎵撳嵃鏁伴噺"
+            show-overflow-tooltip=""
+          /> -->
+
+						<!-- <el-table-column
+            prop="poDetailStatusName"
+            label="鐘舵�佸悕绉�"
+            show-overflow-tooltip=""
+          /> -->
+						<el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+						<el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+						<el-table-column prop="supplierBatch" min-width="100px" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" />
+						<!-- <el-table-column prop="batch" min-width="100px" label="鎵规" show-overflow-tooltip="" /> -->
+						<el-table-column prop="unit" min-width="100px" label="閲囪喘鍗曚綅" show-overflow-tooltip="" />
+
+						<el-table-column prop="plannedStartTime" label="璁″垝寮�濮嬫椂闂�" min-width="130px" show-overflow-tooltip="" />
+						<el-table-column prop="plannedEndTime" label="璁″垝缁撴潫鏃堕棿" min-width="130px" show-overflow-tooltip="" />
+
+						<el-table-column prop="projectNo" min-width="100px" label="椤圭洰鍙�" show-overflow-tooltip="" />
+
+						<!-- <el-table-column
+            prop="dock"
+            min-width="100px"
+            label="鏀惰揣閬撳彛"
+            show-overflow-tooltip=""
+          /> -->
+
+						<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+						<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+						<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+						<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+					</el-table>
+					<Pagination :total="detailCount" v-model:page="detailForm.Page" v-model:limit="detailForm.PageSize" @pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+					<div></div>
+				</div>
+			</div>
+		</el-drawer>
+
+		<el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+			<el-form :model="outerForm2" label-width="120px">
+				<el-row style="font-size: 16px">
+					<el-col :span="23">
+						<el-form-item label="鍗曞彿:" required>
+							<el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="outVisible2 = false">鍙栨秷</el-button>
+					<el-button type="primary" @click="getSapOrderPO">纭</el-button>
+				</span>
+			</template>
+		</el-dialog>
+
+		<printDialogTestStudent ref="printDialogRefTestStudent" :title="printTestStudentTitle" @reloadTable="handleQueryTestStudent" />
+	</div>
+</template>
+<script lang="ts" setup>
+import Pagination from '/@/components/Pagination/index.vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import { ref, nextTick, computed, getCurrentInstance, watch, defineExpose, defineProps, onMounted } from 'vue';
+import { getTypeStatus } from '/@/utils/formate';
+
+import { formatDecimalData } from '/@/utils/formate';
+import { expandMore } from '/@/hooks/expandMore';
+import cache from '/@/utils/cache';
+import { pageWmsMaterial } from '/@/api/main/WmsBase/wmsMaterial';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+
+import printDialogTestStudent from '/@/views/system/print/component/hiprint/preview.vue';
+
+import { addWmsOrderPurchase, updateWmsOrderPurchase, detailWmsOrderPurchase } from '/@/api/main/WmsOrder/wmsOrderPurchase';
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+import { listWmsOrderPurchaseDetails, pageWmsOrderPurchaseDetails } from '/@/api/main/WmsOrder/wmsOrderPurchaseDetails';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import commonFunction from '/@/utils/commonFunction';
+import { handleSlectDataWmsBusinessType } from '/@/utils/selectData';
+// 鎺ㄨ崘璁剧疆鎿嶄綔 width 涓� 200
+import { hiprint } from 'vue-plugin-hiprint';
+import { SysPrintApi } from '/@/api-services/api';
+import { SysPrint } from '/@/api-services/models';
+
+const moveType = 10; //绉诲姩绫诲瀷 鍏ュ簱
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getEnumOrderTypeData = ref<any>([]);
+
+const getEnumDockData = ref<any>([]);
+const getBusinessTypeData_Index = ref<any>([]); //涓氬姟绫诲瀷 create by liuwq
+// const getEnumBusinessTypeData = ref<any>([]); update by liuwq
+const getEnumPoStatusData = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(['getTabelData']);
+const getEnumPoDetailStatusData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = ref<any>([]);
+
+const props = defineProps({
+	titleAuthor: {
+		type: Number,
+		required: true,
+	},
+	hexiao: {
+		type: Number,
+		default: 1,
+		required: true,
+	},
+});
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor);
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+// 鐧诲綍鐢ㄦ埛id
+// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
+
+// const EnumWriteOffState = computed(
+//   () => store.state.login.enums.enumWriteOffState
+// );
+
+let itemBtnArr = ['鎵归噺鍒犻櫎', '缂栬緫', '鏂板'];
+const boolEnum = ref([
+	{
+		title: '鏄�',
+		value: true,
+	},
+	{
+		title: '鍚�',
+		value: false,
+	},
+]);
+
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref('');
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+	return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+	orderDoRuType.value = param;
+	uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+	getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+	ElMessageBox.confirm('鏄惁纭鑾峰彇鏇存柊锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	}).then(() => {
+		// getSapRkPurchase().then((res) => {
+		//   if (res.code == 200) {
+		//     ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+		//   } else {
+		//     ElMessage.error(
+		//       `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+		//     );
+		//   }
+		// })
+	});
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+	purchaseNo: '',
+});
+const getSapOrderPO = (param?: number) => {
+	if (param && param == 1) {
+		outVisible2.value = true;
+		return;
+	}
+	if (outerForm2.value.purchaseNo == '') {
+		ElMessage.warning('璇疯緭鍏ュ崟鍙�');
+		return;
+	}
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+	outerForm2.value.purchaseNo = '';
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+	WareMaterialCode: '',
+	WareMaterialName: '',
+	PurchaseNo: '',
+	CreatedUserName: '',
+	CreatedTimeBegin: '',
+	CreatedTimeEnd: '',
+	CreateDate: [],
+	IssueTimeBegin: '',
+	IssueTimeEnd: '',
+	IssueDate: [],
+	MaterialTypeStaus: '',
+	SourceBy: '',
+	WriteOffState: '',
+	signStatus: '',
+	status: '',
+	freeOrderType: '',
+	IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+	// LoginUserID: LoginUserID, //鐢ㄦ埛id
+	OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+	Page: 1,
+	PageSize: 10,
+	poApprovalStatus: '',
+	keyCode: '',
+	IsDisable: '', //鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+const tableRef = ref();
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache('enumList');
+console.log(enumList.inEnumOrderType);
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+	//鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+		formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+		formModel.value.CreatedTimeEnd = ''; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+			formModel.value.CreatedTimeBegin = '';
+			formModel.value.CreatedTimeEnd = '';
+		}
+	}
+	//鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+		formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+		formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+			formModel.value.IssueTimeBegin = '';
+			formModel.value.IssueTimeEnd = '';
+		}
+	}
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+	formModel.value = {
+		WareMaterialCode: '',
+		WareMaterialName: '',
+		PurchaseNo: '',
+		CreatedUserName: '',
+		CreatedTimeBegin: '',
+		CreatedTimeEnd: '',
+		CreateDate: [],
+		IssueTimeBegin: '',
+		IssueTimeEnd: '',
+		IssueDate: [],
+		MaterialTypeStaus: '',
+		SourceBy: '',
+		WriteOffState: '',
+		signStatus: '',
+		status: '',
+		freeOrderType: '',
+		IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+		//  LoginUserID: LoginUserID, //鐢ㄦ埛id
+		OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+		Page: 1,
+		PageSize: 10,
+		poApprovalStatus: '',
+		keyCode: '',
+		IsDisable: '', //鏄惁浣滃簾
+	};
+	getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+	poId: '',
+	materialCode: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref('drawerAll');
+// const
+//鍗曞彿
+const purchaseNo = ref('');
+
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+	detailForm.value.Page = 1; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+	detailForm.value.PageSize = 10; //bug:鐐圭紪杈�-鍐嶇偣璇︽儏
+	if (scope.purchaseNo) {
+		title.value = `${scope.purchaseNo}`;
+	}
+	if (scope.orderNo) {
+		title.value = `${scope.orderNo}`;
+	}
+	drawerType.value = 'drawerAll';
+	drawerVisible.value = true;
+	//褰撳墠鍏ュ簱鍗曞彿id
+	detailForm.value.poId = scope.id;
+	//鍏ュ簱鍗�
+	purchaseNo.value = scope.purchaseNo;
+	debugger;
+	detailForm.value.poId = scope.id;
+	//鑾峰彇鐗╂枡鍒楄〃
+	if (detailForm.value.poId == '') {
+		drawerList.value = [];
+		detailCount.value = 0;
+		return;
+	}
+	//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	getDetail();
+	//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+
+	getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇涓氬姟绫诲瀷鎺ュ彛 create  by liuwq
+
+	getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? [];
+
+	getEnumPoDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+	getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+	//----------------鐗╂枡鏄庣粏
+	// 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+	let scopetrans = JSON.parse(JSON.stringify(scope));
+	// scopetrans.totalquantity = Number(scopetrans.totalquantity).toFixed(3);
+	nextTick(() => {
+		scopetrans.poStatus = getEnumDesc(scopetrans.poStatus, getEnumPoDetailStatusData_Index.value);
+		scopetrans.businessType = getEnumDesc(scopetrans.businessType, getBusinessTypeData_Index.value);
+		scopetrans.orderType = getEnumDesc(scopetrans.orderType, getEnumOrderTypeData_Index.value);
+		proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+	});
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+	detailForm.value = {
+		poId: '',
+		materialCode: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	deltailList.value = [];
+	detailCount.value = 0;
+	drawerList.value = [];
+	detailCount.value = 0;
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+	id: number;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref('');
+//鑾峰彇鍏ュ簱鍗曚笅鐗╂枡璇︽儏
+const getDetail = async (callback?: any) => {
+	loading.value = true;
+
+	var res = await pageWmsOrderPurchaseDetails(Object.assign(detailForm.value));
+	if (callback == 1) {
+		//缂栬緫鍏ュ彛
+		warehousOrderDetails.value = res.data.result?.items ?? [];
+		detailCount.value = res.data.result?.total;
+	} else {
+		drawerList.value = res.data.result?.items ?? [];
+		detailCount.value = res.data.result?.total;
+	}
+	loading.value = false;
+};
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref('add');
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+	createdTime: '',
+	updatedTime: '',
+	createdUserName: '',
+	createdUserId: '',
+	purchaseNo: '',
+	purchaserUserId: 0,
+	basicExpressInfoCode: null,
+	materialType: '', //5
+	status: 0,
+	supplierCode: '',
+	supplierName: '',
+	remark: '',
+	deliveryType: 1,
+	EstimatedDate: '',
+	purchaseOrderDetails: [] as any[],
+	dI_NO: '',
+	sJ_NO: '',
+	machineToolTypeName: '',
+	machineToolNo: '',
+	freeOrderType: '',
+});
+
+//rules
+const formRules = {
+	businessType: [{ required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change' }],
+	supplierCode: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢锛�', trigger: 'blur' }],
+	purchaseNo: [{ required: true, message: '璇疯緭鍏O鍗曞彿锛�', trigger: 'blur' }],
+	orderTypeName: [{ required: true, message: '璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒', trigger: 'blur' }],
+};
+//鎵撳紑鏂板銆佺紪杈戠獥鍙�
+const openDialog = async (type: number, scope: any = {}) => {
+	handleQueryTdp();
+	getEnumOrderTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+	getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇涓氬姟绫诲瀷鎺ュ彛 create  by liuwq
+	getEnumPoStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+
+	getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? [];
+
+	if (type == 1) {
+		detailForm.value.PageSize = 10;
+		dialogType.value = 'add';
+	} else {
+		dialogType.value = 'edit';
+		detailForm.value.PageSize = 1000;
+		addForm.value = { ...scope };
+
+		console.log(addForm.value);
+		detailForm.value.poId = scope.id;
+		//鑾峰彇鐗╂枡 - 鍥炶皟鍑芥暟鏇挎崲瀹氭椂鍣�
+
+		//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+		getDetail(1);
+		//----------------鐗╂枡鏄庣粏
+	}
+	dialogVisible.value = true;
+	load.value = false;
+	//娓呴櫎閫変腑椤�
+	nextTick(() => {
+		if (dialogRef.value) {
+			dialogRef.value.clearValidate();
+		}
+	});
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+	return row.id + row.poLineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+	load.value = false;
+	addForm.value = {
+		createdTime: '',
+		updatedTime: '',
+		createdUserName: '',
+		createdUserId: '',
+		purchaseNo: '',
+		purchaserUserId: 0,
+		basicExpressInfoCode: null,
+		materialType: '', //5
+		status: 0,
+		supplierCode: '',
+		supplierName: '',
+		remark: '',
+		deliveryType: 1,
+		EstimatedDate: '',
+		purchaseOrderDetails: [] as any[],
+		dI_NO: '',
+		sJ_NO: '',
+		machineToolTypeName: '',
+		machineToolNo: '',
+		freeOrderType: '',
+	};
+	warehousOrderDetails.value = [];
+	checkedDetails.value = [];
+	deltailList.value = [];
+	detailCount.value = 0;
+	detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+	ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			let arr = [];
+			if (checkedDetails.value[0].diRelationID) {
+				checkedDetails.value.forEach((item) => {
+					console.log(item);
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.code == item.code && detail.diRelationID == item.diRelationID);
+					if (index > -1) {
+						warehousOrderDetails.value.splice(index, 1);
+					}
+				});
+			} else {
+				checkedDetails.value.forEach((item) => {
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.code == item.code && detail.poLineNumber == item.poLineNumber);
+					warehousOrderDetails.value.splice(index, 1);
+				});
+			}
+			arr = warehousOrderDetails.value;
+			warehousOrderDetails.value = [];
+			//bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+			nextTick(() => {
+				warehousOrderDetails.value = arr;
+				checkedDetails.value = [];
+				detailRef.value.clearSelection();
+			});
+		})
+		.catch(() => ElMessage.info('宸插彇娑堝垹闄�'));
+};
+
+const load = ref(false);
+//缂栬緫銆佹坊鍔犳彁浜�
+const confirm = () => {
+	dialogRef.value.validate(async (vali: any) => {
+		if (vali) {
+			console.log('纭');
+			if (warehousOrderDetails.value.length < 0) {
+				ElMessage.warning('璇烽�夋嫨鐗╂枡');
+				return;
+			}
+			let idx = warehousOrderDetails.value.findIndex((v) => v.poLineNumber == '' || v.poLineNumber == undefined);
+			if (idx > -1) {
+				ElMessage.warning('璇疯緭鍏ヨ鍙�');
+				return;
+			}
+			let isNext = '';
+			warehousOrderDetails.value.forEach((item) => {
+				const arr: any = warehousOrderDetails.value.filter((detail) => detail.poLineNumber == item.poLineNumber);
+				if (arr.length > 1) {
+					isNext = `琛屽彿锛�${arr[0].poLineNumber}涓嶈兘鐩稿悓`;
+					return;
+				}
+			});
+			if (isNext != '') {
+				ElMessage.warning(isNext);
+				return;
+			}
+
+			let idx2 = warehousOrderDetails.value.findIndex((v) => v.quantity == '' || v.quantity == undefined || v.quantity <= 0);
+			if (idx2 > -1) {
+				ElMessage.warning('鏁伴噺涓嶅悎瑙勮寖锛�');
+				return;
+			}
+			addForm.value.purchaseOrderDetails = [];
+			warehousOrderDetails.value.forEach((item) => {
+				const obj = {
+					poId: item.poId || 0,
+					materialCode: item.materialCode,
+					materialName: item.materialName,
+					id: item.id || '',
+					quantity: item.quantity,
+					barNo: item.barNo,
+					remark: addForm.value.remark,
+					poLineNumber: item.poLineNumber,
+					materialType: item.deliveryType,
+					clientCode: item.diCustomCode || '',
+					clientChinaName: item.diCustomChinaName || '',
+					plannedStartTime: item.plannedStartTime,
+					plannedEndTime: item.plannedEndTime,
+					projectNo: item.projectNo,
+					erpCode: item.erpCode,
+					supplierBatch: item.supplierBatch,
+					unit: item.unit,
+				};
+				addForm.value.purchaseOrderDetails.push(obj);
+			});
+			load.value = true;
+			//娣诲姞
+			if (dialogType.value == 'add') {
+				load.value = true;
+				let res = await addWmsOrderPurchase(addForm.value);
+				if (res.data && res.data.code == 200) {
+					ElMessage.success('娣诲姞鎴愬姛');
+					dialogVisible.value = false;
+					emits('getTabelData');
+				}
+				load.value = false;
+			} else {
+				load.value = true;
+				let res = await updateWmsOrderPurchase(addForm.value);
+				if (res.data && res.data.code == 200) {
+					ElMessage.success('缂栬緫鎴愬姛');
+					dialogVisible.value = false;
+					emits('getTabelData');
+				}
+				load.value = false;
+			}
+		} else {
+			ElMessage.warning('琛ㄥ崟楠岃瘉澶辫触');
+		}
+	});
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+	MaterialTypeId: '',
+	Code: '',
+	MaterialCode: '',
+	// MaterialType: 1,
+	Page: 1,
+	PageSize: 10,
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+	loading.value = true;
+	// var res = await pageWmsMaterial(Object.assign(queryParams.value, tableParams.value));
+	var res = await pageWmsMaterial(Object.assign(materialForm.value));
+
+	materialList.value = res.data.result?.items ?? [];
+	//tableParams.value.total = res.data.result?.total;
+	materialTotal.value = res.data.result?.total;
+	loading.value = false;
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+	materialForm.value = {
+		MaterialTypeId: '',
+		Code: '',
+		MaterialCode: '',
+		Page: 1,
+		// MaterialType: 1,
+		PageSize: 10,
+	};
+	getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+	checkedMaterial.value = val;
+};
+
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = () => {
+	// if ( addForm.value.freeOrderType && isShowBomBtn.value ) {
+	//   ElMessage.warning("鍏嶈垂浠剁被鍨嬫槸PR2锛屽彧鑳芥柊澧濪I缁存姢鐨勭墿鏂欙紒");
+	//   return;
+	// }
+	getMaterialList();
+	addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+	//鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+	if (warehousOrderDetails.value.length == 0) {
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit;
+			if (!item.poLineNumber) {
+				item.poLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	} else {
+		for (let i = 0; i < checkedMaterial.value.length; i++) {
+			let idx = warehousOrderDetails.value.findIndex(
+				(item: { poLineNumber: any; code: any }) => item.code == checkedMaterial.value[i].code && item.poLineNumber == checkedMaterial.value[i].poLineNumber
+			);
+			if (idx > -1) {
+				return ElMessage.warning(`鐗╂枡缂栧彿${checkedMaterial.value[i].code}锛岃鍙凤細${checkedMaterial.value[i].poLineNumber || ''}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦);
+			}
+		}
+
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit;
+			if (!item.poLineNumber) {
+				item.poLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	}
+
+	addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+	materialForm.value = {
+		MaterialTypeId: '',
+		Code: '',
+		Page: 1,
+		// MaterialType: 1,
+		PageSize: 10,
+	};
+	materialList.value = [];
+	checkedMaterial.value = [];
+	materialRef.value.clearSelection();
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {});
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	custType: '渚涘簲鍟�',
+});
+
+//-----------------杩滅▼鎼滅储----------------
+const handleQueryTdp = async () => {
+	var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+	arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+	loading.value = true;
+	var res = await pageBaseCustomer({
+		page: 1,
+		pageSize: 200,
+		custCode: query,
+		custType: '渚涘簲鍟�',
+	});
+	loading.value = false;
+	arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+	loading.value = true;
+	var res = await pageBaseCustomer({
+		page: 1,
+		pageSize: 200,
+		custCode: query,
+		custType: '渚涘簲鍟�',
+	});
+	loading.value = false;
+	arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+
+const printDialogRefTestStudent = ref();
+const printTestStudentTitle = ref('');
+//鎵撳嵃
+const getPrint = async (row?: any) => {
+	printTestStudentTitle.value = '鎵撳嵃';
+	var res = await getAPI(SysPrintApi).apiSysPrintPrintNameGet('娴嬭瘯鎵撳嵃妯$増');
+	var printTemplate = res.data.result as SysPrint;
+	var template = JSON.parse(printTemplate.template);
+	var resList = await listWmsOrderPurchaseDetails(detailForm.value);
+	var printData = resList.data.result || [];
+	printData.forEach((item: any, index?: any) => {
+		item.no = index + 1;
+	});
+	//鎵撳嵃鏁版嵁
+	var row: any = {
+		text1: title.value, //鍗曞彿
+		table: printData, //琛ㄦ牸鏁版嵁
+	};
+	printDialogRefTestStudent.value.showDialog(new hiprint.PrintTemplate({ template: template }), row, template.panels[0].width);
+};
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+	margin: 10px;
+}
+
+.msi-form {
+	margin-top: 10px;
+}
+.msi-form {
+	margin-bottom: 10px;
+}
+.slot_title {
+	display: flex;
+	align-items: center;
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #f18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/index.vue
new file mode 100644
index 0000000..092bab5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchase/index.vue
@@ -0,0 +1,486 @@
+<template>
+  <div class="wmsOrderPurchase-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="PO鍗曞彿,渚涘簲鍟嗙紪鍙�,渚涘簲鍟嗗悕绉�,ERP鍗曞彿,椤圭洰鍙�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="PO鍗曞彿">
+              <el-input v-model="queryParams.purchaseNo" clearable="" placeholder="璇疯緭鍏O鍗曞彿" />
+
+            </el-form-item>
+          </el-col>
+          
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="涓氬姟绫诲瀷">
+
+              <el-select clearable="" v-model="queryParams.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+                <el-option v-for="(item, index) in getBusinessTypeData_Index" :key="index" :value="item.businessTypeValue"
+                  :label="`[${item.businessTypeValue}] ${item.businessTypeName}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍗曟嵁鏉ユ簮">
+              <el-select clearable="" v-model="queryParams.orderSocure" placeholder="璇烽�夋嫨鍗曟嵁鏉ユ簮">
+                <el-option v-for="(item,index) in getEnumOrderSocureData_Index" :key="index" :value="item.describe" :label="`${item.describe}`" />
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍗曟嵁鐘舵��">
+              <el-select clearable="" v-model="queryParams.poStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+                <el-option v-for="(item, index) in getEnumPoStatusData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍗曟嵁鐘舵�佸悕绉�">
+              <el-input v-model="queryParams.poStatusName" clearable="" placeholder="璇疯緭鍏ュ崟鎹姸鎬佸悕绉�"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <!-- <el-form-item label="渚涘簲鍟嗙紪鍙�">
+              <el-input v-model="queryParams.supplierCode" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿" />
+            </el-form-item> -->
+
+
+            <el-form-item label="渚涘簲鍟�" prop="supplierCode">
+            <el-select
+              v-model="queryParams.supplierCode"
+              filterable
+              remote
+              reserve-keyword
+              remote-show-suffix
+              :remote-method="remoteMethod"
+              :loading="loading"
+              placeholder="璇烽�夋嫨渚涘簲鍟�"
+              clearable
+              style="width: 100%"
+              @change="changeXmbh(queryParams.supplierCode)"
+            >
+              <el-option
+                v-for="(item, index) in arrTdp"
+                :key="index"
+                :value="item.custCode"
+                :label="`[${item.custCode}]${item.custChinaName}`"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="渚涘簲鍟嗗悕绉�">
+              <el-input v-model="queryParams.supplierName" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鏀惰揣閬撳彛"> -->
+              <!-- <el-input v-model="queryParams.dock" clearable="" placeholder="璇疯緭鍏ユ敹璐ч亾鍙�" /> -->
+         <!--     <el-select clearable v-model="queryParams.dock" placeholder="璇烽�夋嫨鏀惰揣閬撳彛">
+              <el-option
+                v-for="(item, index) in getEnumDockData"
+                :key="index"
+                :value="item.value"
+                :label="`${item.describe}`"
+              ></el-option>
+            </el-select> -->
+         <!--   </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="ERP鍗曞彿">
+              <el-input v-model="queryParams.erpOrderNo" clearable="" placeholder="璇疯緭鍏RP鍗曞彿" />
+
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="椤圭洰ID">
+              <el-input v-model="queryParams.projectId" clearable="" placeholder="璇疯緭鍏ラ」鐩甀D"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="椤圭洰鍙�">
+              <el-input v-model="queryParams.projectNo" clearable="" placeholder="璇疯緭鍏ラ」鐩彿" />
+
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="椤圭洰鍚嶇О">
+              <el-input v-model="queryParams.projectName" clearable="" placeholder="璇疯緭鍏ラ」鐩悕绉�"/>
+              
+            </el-form-item>
+          </el-col> -->
+
+          
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'wmsOrderPurchase:page'"> 鏌ヨ
+                </el-button>
+                <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI"
+                  style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI"
+                  style="margin-left:5px;"> 闅愯棌 </el-button>
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsOrderPurchase" v-auth="'wmsOrderPurchase:add'"> 鏂板 </el-button> -->
+                <!-- 鏂板PO鍗�-ly -->
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="showProp(1)"
+                  v-auth="'wmsOrderPurchase:add'"> 鏂板 </el-button>
+                  <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelWmsOrderDeliver"> 瀵煎叆 </el-button> -->
+<!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handExport"> 瀵煎嚭 </el-button> -->
+              </el-button-group>
+            </el-form-item>
+
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table :data="tableData" style="width: 100%" v-loading="loading" tooltip-effect="light" ref="tableRef"
+        row-key="id" @sort-change="sortChange" :summary-method="getExportTitle" show-summary border="">
+        <el-table-column fixed="left" type="index" label="搴忓彿" width="55" align="center" />
+
+        <el-table-column fixed="left" label="PO鍗曞彿" prop="purchaseNo" width="150" align="left" show-overflow-tooltip>
+          <template #default="scope">
+            <span class="under_line" @click="openDrawer(1, scope.row)">
+              {{ scope.row.purchaseNo }}
+            </span>
+          </template>
+        </el-table-column>
+
+        <el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" show-overflow-tooltip="" min-width="90px">
+          <template #default="scope">
+            {{ scope.row.businessTypeName }}
+          </template>
+        </el-table-column>
+
+        <el-table-column prop="poStatus" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+          <template #default="scope">
+
+            <el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.poStatus, getEnumPoStatusData_Index))"> {{
+              getEnumDesc(scope.row.poStatus, getEnumPoStatusData_Index) }}</el-tag>
+          </template>
+        </el-table-column>
+     
+        <el-table-column prop="orderSocure" label="鍗曟嵁鏉ユ簮" show-overflow-tooltip="" />
+
+        <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+        <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+        <!-- <el-table-column prop="dock" label="鏀惰揣閬撳彛" show-overflow-tooltip="" /> -->
+        <el-table-column prop="erpOrderNo" label="ERP鍗曞彿" show-overflow-tooltip="" />
+        <el-table-column prop="projectNo" label="椤圭洰鍙�" show-overflow-tooltip="" />
+        <!-- <el-table-column prop="remark" label="澶囨敞" show-overflow-tooltip="" /> -->
+
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+          show-overflow-tooltip="" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+          show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip=""
+          v-if="auth('wmsOrderPurchase:update') || auth('wmsOrderPurchase:delete')">
+          <template #default="scope">
+            <!-- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsOrderPurchase(scope.row)" v-auth="'wmsOrderPurchase:update'"> 缂栬緫 </el-button> -->
+
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="showProp(scope.row)"
+              v-auth="'wmsOrderPurchase:update'" :disabled="scope.row.poStatus!=0"> 缂栬緫 </el-button>
+
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsOrderPurchase(scope.row)"
+              v-auth="'wmsOrderPurchase:delete'" :disabled="scope.row.poStatus!=0"> 鍙栨秷 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination v-model:currentPage="tableParams.page" v-model:page-size="tableParams.pageSize"
+        :total="tableParams.total" :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background=""
+        @size-change="handleSizeChange" @current-change="handleCurrentChange"
+        layout="total, sizes, prev, pager, next, jumper" />
+      <printDialog ref="printDialogRef" :title="printWmsOrderPurchaseTitle" @reloadTable="handleQuery" />
+      <editDialog ref="editDialogRef" :title="editWmsOrderPurchaseTitle" @reloadTable="handleQuery" />
+    </el-card>
+
+    <editDialogWmsOrderDeliver ref="editDialogRefWmsOrderDeliver" :title="editWmsOrderDeliverTitle"
+        @reloadTable="handleQuery" />
+      <importExcelDialog ref="importExcelDialogRefWmsOrderDeliver" :title="importExcelTitleWmsOrderDeliver"
+        @parentUploadFun="handleImportExcelWmsOrderDeliver" @parentDownFun="handleDownExcelWmsOrderDeliver" />
+    <!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 -->
+    <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQuery"></open-allprop>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsOrderPurchase">
+import { getCurrentInstance, nextTick, onMounted, ref } from "vue";
+import { ElMessageBox, ElMessage } from "element-plus";
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import { pageBaseCustomer } from "/@/api/main/WmsBase/baseCustomer";
+import {
+formatUtcToData,
+  getTypeStatus
+} from "/@/utils/formate";
+import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+import editDialog from '/@/views/main/WmsOrder/wmsOrderPurchase/component/editDialog.vue'
+import { pageWmsOrderPurchase, deleteWmsOrderPurchase, importExcelWmsOrderPurchase, downloadExcelTemplateWmsOrderPurchase, downloadExcelTemplateWmsOrderPurchaseAll } from '/@/api/main/WmsOrder/wmsOrderPurchase';
+import { handleSlectDataWmsBusinessType } from "/@/utils/selectData";
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
+import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+import OpenAllprop from "./component/openAllprop.vue";
+import { ExcellTableDataExport } from "/@/hooks/exportTableDataExcell";
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const moveType = 10;//绉诲姩绫诲瀷 鍏ュ簱
+// ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
+const jsonExcellTableExport = {
+  titleName: "", //瀵煎嚭琛ㄦ牸鍚嶇О
+  interfaceListName: '',//瀵煎嚭鎺ュ彛鍚嶇О
+}
+const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport)
+// --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬-----------------
+// ---------------鏂板-----------------------
+const showProp = (item?: any) => {
+  if (item == 1) {
+    proxy.$refs['propALlProp'].openDialog(1);
+  } else {
+    proxy.$refs['propALlProp'].openDialog(2, item);
+  }
+}
+// ---------------璇︽儏-----------------------
+const openDrawer = (type: number, item?: any) => {
+  proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell);
+}
+// ---------------end璇︽儏-----------------------
+
+
+const getBusinessTypeData_Index = ref<any>([]);//涓氬姟绫诲瀷 create by liuwq
+const getEnumOrderTypeData_Index = ref<any>([]);
+// const getEnumBusinessTypeData_Index = ref<any>([]); //update by liuwq
+const getEnumPoStatusData_Index = ref<any>([]);
+
+const { getEnumDesc } = commonFunction();
+
+const getEnumOrderSocureData_Index = ref<any>([]);
+
+const showAdvanceQueryUI = ref(false);
+const printDialogRef = ref();
+const editDialogRef = ref();
+const loading = ref(false);
+const tableData = ref<any>([]);
+const queryParams = ref<any>({});
+const tableParams = ref({
+  page: 1,
+  pageSize: 10,
+  total: 0,
+});
+
+const printWmsOrderPurchaseTitle = ref("");
+const editWmsOrderPurchaseTitle = ref("");
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUI = () => {
+  showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+}
+
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+  loading.value = true;
+  var res = await pageWmsOrderPurchase(Object.assign(queryParams.value, tableParams.value));
+  tableData.value = res.data.result?.items ?? [];
+  tableParams.value.total = res.data.result?.total;
+  loading.value = false;
+  getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+
+  getEnumPoStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+};
+
+// 鍒楁帓搴�
+const sortChange = async (column: any) => {
+  queryParams.value.field = column.prop;
+  queryParams.value.order = column.order;
+  await handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddWmsOrderPurchase = () => {
+  editWmsOrderPurchaseTitle.value = '娣诲姞PO鍗�';
+  editDialogRef.value.openDialog({});
+};
+
+// 鎵撳紑鎵撳嵃椤甸潰
+const openPrintWmsOrderPurchase = async (row: any) => {
+  printWmsOrderPurchaseTitle.value = '鎵撳嵃PO鍗�';
+}
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditWmsOrderPurchase = (row: any) => {
+  editWmsOrderPurchaseTitle.value = '缂栬緫PO鍗�';
+  editDialogRef.value.openDialog(row);
+};
+
+// 鍒犻櫎
+const delWmsOrderPurchase = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸彇娑堝悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      await deleteWmsOrderPurchase(row);
+      handleQuery();
+      ElMessage.success("鍙栨秷鎴愬姛");
+    })
+    .catch(() => { });
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+  tableParams.value.pageSize = val;
+  handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+  tableParams.value.page = val;
+  handleQuery();
+};
+
+// 鏍规嵁businessTypeValue鑾峰彇businessTypeName
+const getBusinessTypeByValue = (key: any, itemLst: any) => {
+
+  return itemLst.find((x: any) => x.businessTypeValue == key)?.businessTypeName;
+};
+
+handleQuery();
+
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+  page: 1,
+  pageSize: 200,
+  total: 0,
+  custType: "渚涘簲鍟�",
+});
+
+//-----------------杩滅▼鎼滅储----------------
+const handleQueryTdp = async () => {
+  var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+  arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+    loading.value = true;
+    var res = await pageBaseCustomer({
+      page: 1,
+      pageSize: 200,
+      custCode: query,
+      custType: "渚涘簲鍟�",
+    });
+    loading.value = false;
+    arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+    loading.value = true;
+    var res = await pageBaseCustomer({
+      page: 1,
+      pageSize: 200,
+      custCode: query,
+      custType: "渚涘簲鍟�",
+    });
+    loading.value = false;
+    arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+
+const getEnumDockData = ref<any>([]);
+
+onMounted(async () => {
+  nextTick(async () => {
+    getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇鎺ュ彛
+    getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? [];
+    getEnumOrderSocureData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('SourceByEnum')).data.result ?? [];
+  });
+});
+
+
+
+
+/***************************************************[DO鍗曟搷浣淽缁撴潫***************************************************/
+/***************************************************[DO鍗曞鍏寮�濮�***************************************************/
+const printWmsOrderDeliverTitle = ref("");
+const editWmsOrderDeliverTitle = ref("");
+const importExcelTitleWmsOrderDeliver = ref("");
+const importExcelDialogRefWmsOrderDeliver = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsOrderDeliver = () => {
+  importExcelTitleWmsOrderDeliver.value = '瀵煎叆PO鍗�';
+  importExcelDialogRefWmsOrderDeliver.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsOrderDeliver = async (formData: Blob) => {
+  var result = await importExcelWmsOrderPurchase(formData);
+  importExcelDialogRefWmsOrderDeliver.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+  if (result.data.type == "success") {
+    handleQuery();
+  }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsOrderDeliver = async () => {
+  var result = await downloadExcelTemplateWmsOrderPurchase();
+  importExcelDialogRefWmsOrderDeliver.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[DO鍗曞鍏缁撴潫***************************************************/
+/***************************************************[DO鍗曞鍑篯寮�濮�***************************************************/
+
+
+
+//瀵煎嚭
+const handExport = () => {
+  downloadExcelTemplateWmsOrderPurchaseAll(queryParams.value)
+    .then((res) => {
+      if(res.status == 200){
+        const link = document.createElement("a"); //鍒涘缓a鏍囩
+          let blob = new Blob([res.data], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+          let objectUrl = URL.createObjectURL(blob);
+          link.href = objectUrl;
+          link.download = `PO鍗曞鍑�${formatUtcToData(
+            new Date().toString(),
+            "YYYY-MM-DD hh:mm:ss"
+          )}`; // 鑷畾涔夋枃浠跺悕
+          link.click(); // 涓嬭浇鏂囦欢
+          URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+      }
+    })
+};
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+  width: 100%;
+}
+
+.under_line {
+  color: #F18201;
+  text-decoration: underline;
+  cursor: pointer;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchaseDetails/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchaseDetails/component/editDialog.vue
new file mode 100644
index 0000000..1fc1957
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchaseDetails/component/editDialog.vue
@@ -0,0 +1,223 @@
+锘�<template>
+	<div class="wmsOrderPurchaseDetails-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="PO鍗旾D" prop="poId">
+							<el-input v-model="ruleForm.poId" placeholder="璇疯緭鍏O鍗旾D" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="PO鍗曞彿" prop="poNo">
+							<el-input v-model="ruleForm.poNo" placeholder="璇疯緭鍏O鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="琛屽彿" prop="poLineNumber">
+							<el-input v-model="ruleForm.poLineNumber" placeholder="璇疯緭鍏ヨ鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
+							<el-input v-model="ruleForm.erpOrderNo" placeholder="璇疯緭鍏RP鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP搴撳瓨鍦�" prop="erpCode">
+							<el-input v-model="ruleForm.erpCode" placeholder="璇疯緭鍏RP搴撳瓨鍦�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏁伴噺" prop="quantity">
+							<el-input v-model="ruleForm.quantity" placeholder="璇疯緭鍏ユ暟閲�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸叉敹鏁伴噺" prop="goodsQuantity">
+							<el-input v-model="ruleForm.goodsQuantity" placeholder="璇疯緭鍏ュ凡鏀舵暟閲�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐘舵��" prop="poDetailStatus">
+							<el-select clearable v-model="ruleForm.poDetailStatus" placeholder="璇烽�夋嫨鐘舵��">
+								<el-option v-for="(item,index) in  getEnumPoDetailStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐘舵�佸悕绉�" prop="poDetailStatusName">
+							<el-input v-model="ruleForm.poDetailStatusName" placeholder="璇疯緭鍏ョ姸鎬佸悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗙紪鍙�" prop="supplierCode">
+							<el-input v-model="ruleForm.supplierCode" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName">
+							<el-input v-model="ruleForm.supplierName" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsOrderPurchaseDetails, updateWmsOrderPurchaseDetails, detailWmsOrderPurchaseDetails } from "/@/api/main/WmsOrder/wmsOrderPurchaseDetails";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumPoDetailStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		poId: [{required: true, message: '璇疯緭鍏O鍗旾D锛�', trigger: 'blur',},],
+		poNo: [{required: true, message: '璇疯緭鍏O鍗曞彿锛�', trigger: 'blur',},],
+		poLineNumber: [{required: true, message: '璇疯緭鍏ヨ鍙凤紒', trigger: 'blur',},],
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		quantity: [{required: true, message: '璇疯緭鍏ユ暟閲忥紒', trigger: 'blur',},],
+		goodsQuantity: [{required: true, message: '璇疯緭鍏ュ凡鏀舵暟閲忥紒', trigger: 'blur',},],
+		poDetailStatus: [{required: true, message: '璇烽�夋嫨鐘舵�侊紒', trigger: 'change',},],
+		poDetailStatusName: [{required: true, message: '璇疯緭鍏ョ姸鎬佸悕绉帮紒', trigger: 'blur',},],
+		supplierCode: [{required: true, message: '璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�', trigger: 'blur',},],
+		supplierName: [{required: true, message: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�', trigger: 'blur',},],
+	});
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsOrderPurchaseDetails(rowData.id)).data.result;
+		else
+			ruleForm.value = rowData;
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addWmsOrderPurchaseDetails(values);
+				} else {
+					await updateWmsOrderPurchaseDetails(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumPoDetailStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchaseDetails/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchaseDetails/index.vue
new file mode 100644
index 0000000..12f0f68
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsOrderPurchaseDetails/index.vue
@@ -0,0 +1,282 @@
+锘�<template>
+  <div class="wmsOrderPurchaseDetails-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="璇疯緭鍏ユā绯婃煡璇㈠叧閿瓧"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="PO鍗旾D">
+              <el-input v-model="queryParams.poId" clearable="" placeholder="璇疯緭鍏O鍗旾D"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="PO鍗曞彿">
+              <el-input v-model="queryParams.poNo" clearable="" placeholder="璇疯緭鍏O鍗曞彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="琛屽彿">
+              <el-input v-model="queryParams.poLineNumber" clearable="" placeholder="璇疯緭鍏ヨ鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="ERP鍗曞彿">
+              <el-input v-model="queryParams.erpOrderNo" clearable="" placeholder="璇疯緭鍏RP鍗曞彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="ERP搴撳瓨鍦�">
+              <el-input v-model="queryParams.erpCode" clearable="" placeholder="璇疯緭鍏RP搴撳瓨鍦�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParams.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鏁伴噺">
+              <el-input v-model="queryParams.quantity" clearable="" placeholder="璇疯緭鍏ユ暟閲�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="宸叉敹鏁伴噺">
+              <el-input v-model="queryParams.goodsQuantity" clearable="" placeholder="璇疯緭鍏ュ凡鏀舵暟閲�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐘舵��">
+              <el-select clearable="" v-model="queryParams.poDetailStatus" placeholder="璇烽�夋嫨鐘舵��">
+                <el-option v-for="(item,index) in getEnumPoDetailStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐘舵�佸悕绉�">
+              <el-input v-model="queryParams.poDetailStatusName" clearable="" placeholder="璇疯緭鍏ョ姸鎬佸悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="渚涘簲鍟嗙紪鍙�">
+              <el-input v-model="queryParams.supplierCode" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="渚涘簲鍟嗗悕绉�">
+              <el-input v-model="queryParams.supplierName" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" v-auth="'wmsOrderPurchaseDetails:page'"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsOrderPurchaseDetails" v-auth="'wmsOrderPurchaseDetails:add'"> 鏂板 </el-button>
+                
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+				:data="tableData"
+				style="width: 100%"
+				v-loading="loading"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="poId" label="PO鍗旾D"  show-overflow-tooltip="" />
+        <el-table-column prop="poNo" label="PO鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="poLineNumber" label="琛屽彿"  show-overflow-tooltip="" />
+        <el-table-column prop="erpOrderNo" label="ERP鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="quantity" label="鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺"  show-overflow-tooltip="" />
+          <el-table-column prop="poDetailStatus" label="鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.poDetailStatus, getEnumPoDetailStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="poDetailStatusName" label="鐘舵�佸悕绉�"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsOrderPurchaseDetails:update') || auth('wmsOrderPurchaseDetails:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsOrderPurchaseDetails(scope.row)" v-auth="'wmsOrderPurchaseDetails:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsOrderPurchaseDetails(scope.row)" v-auth="'wmsOrderPurchaseDetails:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialog
+        ref="printDialogRef"
+        :title="printWmsOrderPurchaseDetailsTitle"
+        @reloadTable="handleQuery" />
+      <editDialog
+        ref="editDialogRef"
+        :title="editWmsOrderPurchaseDetailsTitle"
+        @reloadTable="handleQuery"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsOrderPurchaseDetails">
+  import { ref } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+
+
+  import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialog from '/@/views/main/WmsOrder/wmsOrderPurchaseDetails/component/editDialog.vue'
+  import { pageWmsOrderPurchaseDetails, deleteWmsOrderPurchaseDetails } from '/@/api/main/WmsOrder/wmsOrderPurchaseDetails';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumPoDetailStatusData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  const showAdvanceQueryUI = ref(false);
+  const printDialogRef = ref();
+  const editDialogRef = ref();
+  const loading = ref(false);
+  const tableData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsOrderPurchaseDetailsTitle = ref("");
+  const editWmsOrderPurchaseDetailsTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI = () => {
+    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+  }
+  
+
+  // 鏌ヨ鎿嶄綔
+  const handleQuery = async () => {
+    loading.value = true;
+    var res = await pageWmsOrderPurchaseDetails(Object.assign(queryParams.value, tableParams.value));
+    tableData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+    loading.value = false;
+    getEnumPoDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+  };
+
+  // 鍒楁帓搴�
+  const sortChange = async (column: any) => {
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
+  };
+
+  // 鎵撳紑鏂板椤甸潰
+  const openAddWmsOrderPurchaseDetails = () => {
+    editWmsOrderPurchaseDetailsTitle.value = '娣诲姞PO鍗曟槑缁�';
+    editDialogRef.value.openDialog({});
+  };
+
+  // 鎵撳紑鎵撳嵃椤甸潰
+  const openPrintWmsOrderPurchaseDetails = async (row: any) => {
+    printWmsOrderPurchaseDetailsTitle.value = '鎵撳嵃PO鍗曟槑缁�';
+  }
+  
+  // 鎵撳紑缂栬緫椤甸潰
+  const openEditWmsOrderPurchaseDetails = (row: any) => {
+    editWmsOrderPurchaseDetailsTitle.value = '缂栬緫PO鍗曟槑缁�';
+    editDialogRef.value.openDialog(row);
+  };
+
+  // 鍒犻櫎
+  const delWmsOrderPurchaseDetails = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    var  ret =  await deleteWmsOrderPurchaseDetails(row);
+    if(ret.data.type=="success"){
+      handleQuery();
+      ElMessage.success("鍒犻櫎鎴愬姛");
+    }
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉椤甸潰瀹归噺
+  const handleSizeChange = (val: number) => {
+    tableParams.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉椤电爜搴忓彿
+  const handleCurrentChange = (val: number) => {
+    tableParams.value.page = val;
+    handleQuery();
+  };
+
+  handleQuery();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/component/editDialog.vue
new file mode 100644
index 0000000..920e646
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/component/editDialog.vue
@@ -0,0 +1,280 @@
+锘�<template>
+	<div class="wmsOrderDeliver-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="PO鍗曞彿" prop="deliverNo">
+							<el-input v-model="ruleForm.deliverNo" placeholder="璇疯緭鍏O鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁绫诲瀷" prop="orderType">
+							<el-select clearable v-model="ruleForm.orderType" placeholder="璇烽�夋嫨鍗曟嵁绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumOrderTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+		
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷" prop="businessType">
+							<el-select clearable v-model="ruleForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumBusinessTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷鍚嶇О" prop="businessTypeName">
+							<el-input v-model="ruleForm.businessTypeName" placeholder="璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鏉ユ簮" prop="orderSocure">
+							<el-select clearable v-model="ruleForm.orderSocure" placeholder="璇烽�夋嫨鍗曟嵁鏉ユ簮">
+								<el-option v-for="(item,index) in  getEnumOrderSocureData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鐘舵��" prop="doStatus">
+							<el-select clearable v-model="ruleForm.doStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+								<el-option v-for="(item,index) in  getEnumDoStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鐘舵�佸悕绉�" prop="doStatusName">
+							<el-input v-model="ruleForm.doStatusName" placeholder="璇疯緭鍏ュ崟鎹姸鎬佸悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹㈡埛缂栧彿" prop="custCode">
+							<el-input v-model="ruleForm.custCode" placeholder="璇疯緭鍏ュ鎴风紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹㈡埛涓枃鍚嶇О" prop="custName">
+							<el-input v-model="ruleForm.custName" placeholder="璇疯緭鍏ュ鎴蜂腑鏂囧悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
+							<el-input v-model="ruleForm.erpOrderNo" placeholder="璇疯緭鍏RP鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP鍒涘缓鏃堕棿" prop="erp_CreateTime">
+							<el-date-picker v-model="ruleForm.erp_CreateTime" type="date" placeholder="ERP鍒涘缓鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP鍒涘缓浜�" prop="erp_CreateUserName">
+							<el-input v-model="ruleForm.erp_CreateUserName" placeholder="璇疯緭鍏RP鍒涘缓浜�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP淇敼鏃堕棿" prop="erp_UpdateTime">
+							<el-date-picker v-model="ruleForm.erp_UpdateTime" type="date" placeholder="ERP淇敼鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP淇敼浜�" prop="erp_UpdateUserName">
+							<el-input v-model="ruleForm.erp_UpdateUserName" placeholder="璇疯緭鍏RP淇敼浜�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="澶囨敞" prop="remark">
+							<el-input v-model="ruleForm.remark" placeholder="璇疯緭鍏ュ娉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsOrderDeliver, updateWmsOrderDeliver, detailWmsOrderDeliver } from "/@/api/main/WmsOrderDo/wmsOrderDeliver";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+import { listWmsBusinessType } from "/@/api/main/WmsBase/wmsBusinessType";
+
+	const getEnumOrderTypeData = ref<any>([]);
+	const getEnumBusinessTypeData = ref<any>([]);
+	const getEnumOrderSocureData = ref<any>([]);
+	const getEnumDoStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		deliverNo: [{required: true, message: '璇疯緭鍏O鍗曞彿锛�', trigger: 'blur',},],
+		orderType: [{required: true, message: '璇烽�夋嫨鍗曟嵁绫诲瀷锛�', trigger: 'change',},],
+		orderTypeName: [{required: true, message: '璇疯緭鍏ュ崟鎹被鍨嬪悕绉帮紒', trigger: 'blur',},],
+		businessType: [{required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change',},],
+		businessTypeName: [{required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒', trigger: 'blur',},],
+		orderSocure: [{required: true, message: '璇烽�夋嫨鍗曟嵁鏉ユ簮锛�', trigger: 'change',},],
+		doStatus: [{required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change',},],
+		doStatusName: [{required: true, message: '璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒', trigger: 'blur',},],
+		custCode: [{required: true, message: '璇疯緭鍏ュ鎴风紪鍙凤紒', trigger: 'blur',},],
+		custName: [{required: true, message: '璇疯緭鍏ュ鎴蜂腑鏂囧悕绉帮紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsOrderDeliver(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsOrderDeliver(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsOrderDeliver(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumOrderTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+	
+			getEnumOrderSocureData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('SourceByEnum')).data.result ?? [];
+			getEnumDoStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+
+			 //涓氬姟绫诲瀷
+			 var res = await listWmsBusinessType();
+			 res = res.data;
+    if(res && res.code == 200){
+		getEnumBusinessTypeData.value  = res?.result ?? [];
+    }
+
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/component/openAllpropDo.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/component/openAllpropDo.vue
new file mode 100644
index 0000000..c7a1dd0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/component/openAllpropDo.vue
@@ -0,0 +1,1305 @@
+<template>
+	<!-- 娣诲姞銆佺紪杈� -->
+	<el-dialog v-model="dialogVisible" width="95%" @close="closeDialog" :close-on-click-modal="false">
+		<template #header>
+			<div style="color: #fff">
+				<span>{{ dialogType == 'add' ? '娣诲姞' : '缂栬緫' }}</span>
+			</div>
+		</template>
+		<el-form :model="addForm" ref="dialogRef" labelWidth="90" :rules="formRules" style="width:60%">
+			<el-row>
+				<!-- 鍚庣榛樿鏄� ASN鍗� update by liuwq 2024-05-23 -->
+
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+					<el-form-item  label="璁㈠崟绫诲瀷" prop="asnType">
+						<el-select :disabled="dialogType != 'add'" clearable v-model="addForm.asnType" placeholder="璇烽�夋嫨璁㈠崟绫诲瀷">
+							<el-option v-for="(item, index) in getEnumOrderTypeData" :key="index" :value="item.value"
+								:label="`${item.describe}`"></el-option>
+						</el-select>
+					</el-form-item>
+				</el-col> -->
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="涓氬姟绫诲瀷" prop="businessType">
+						<el-select clearable v-model="addForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+							<el-option v-for="(item, index) in  getBusinessTypeData_Index" :key="index"
+								:value="item.businessTypeValue"
+								:label="`[${item.businessTypeValue}] ${item.businessTypeName}`"></el-option>
+
+						</el-select>
+					</el-form-item>
+				</el-col>
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="鑷姩鐢熸垚鏉$爜">
+						<el-switch v-model="addForm.hasTMCode" active-text="鏄�" inactive-text="鍚�" />
+					</el-form-item>
+				</el-col>
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-show="addForm.hasTMCode">
+					<el-form-item label="鏉$爜绫诲瀷">
+						<el-switch v-model="addForm.typeTMCode" active-text="涓�缁�" inactive-text="浜岀淮" />
+					</el-form-item>
+				</el-col>
+				<!-- 榛樿ERP搴撳瓨鍦� -->
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+          <el-form-item label="渚涘簲鍟嗙紪鍙�" prop="supplierCode">
+            <el-select
+              v-model="addForm.supplierCode"
+              filterable
+              remote
+              reserve-keyword
+              remote-show-suffix
+              :remote-method="remoteMethod"
+              :loading="loading"
+              placeholder="璇烽�夋嫨鏇夸唬鍝佺墿鏂欑紪鍙�"
+              clearable
+              style="width: 100%"
+              @change="changeXmbh(addForm.supplierCode)"
+            >
+              <el-option
+                v-for="(item, index) in arrTdp"
+                :key="index"
+                :value="item.custCode"
+                :label="`[${item.custCode}]${item.custChinaName}`"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col> -->
+
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+          <el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
+            <el-input
+              v-model="addForm.erpOrderNo"
+              placeholder="璇疯緭鍏RP鍗曞彿"
+              maxlength="50"
+              show-word-limit
+              clearable
+            />
+          </el-form-item>
+        </el-col> -->
+
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+					<el-form-item label="椤圭洰鍙�" prop="projectNo">
+						<el-input v-model="addForm.projectNo" placeholder="璇疯緭鍏ラ」鐩彿" maxlength="50" show-word-limit
+							clearable />
+					</el-form-item>
+				</el-col> -->
+			</el-row>
+		</el-form>
+		<div class="msi-content" style="margin-top: 10px">
+			<div class="header" style="margin-bottom: 10px">
+				<div>
+					<el-button v-show="isMaterialBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog">鏂板鐗╂枡</el-button>
+					<el-button v-show="isPoBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog('po')">鍏宠仈PO鍗�</el-button>
+
+					<el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+						@click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+				</div>
+			</div>
+			<el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+				@selection-change="detailsCheckChange" max-height="480">
+				<el-table-column align="center" width="60" type="selection" />
+				<el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column fixed="left" label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center"
+					show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" min-width="100" prop="materialName" align="center" show-overflow-tooltip />
+				<el-table-column v-if="isPoBox == 1" label="PO鍗曞彿" min-width="130" prop="poNo" align="center"
+					show-overflow-tooltip />
+
+				<el-table-column v-if="isPoBox == 1" label="PO琛屽彿" prop="poLineNumber" align="center" min-width="120">
+					<template #default="scope">
+						{{ scope.row.asnLineNumber }}
+					</template>
+				</el-table-column>
+
+				<el-table-column label="ASN琛屽彿" prop="asnLineNumber" align="center" min-width="120">
+					<template #default="scope">
+						<el-input v-model.trim="scope.row.asnLineNumber" clearable min-width="150" placeholder="璇疯緭鍏SN琛屽彿" />
+					</template>
+				</el-table-column>
+				<!-- :disabled="!!scope.row.boM_NO" -->
+				<el-table-column label="鏁伴噺" align="center" min-width="150">
+					<template #default="scope">
+						<el-input-number :precision="3" min="0" v-model="scope.row.quantity" size="small" />
+					</template>
+				</el-table-column>
+
+				<el-table-column label="璁″垝寮�濮嬫椂闂�" align="center" min-width="180">
+					<template #default="scope">
+						<el-date-picker v-model="scope.row.plannedStartTime" type="datetime" :disabled-date="disabledDate"
+							value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨璁″垝寮�濮嬫椂闂�"
+							style="width: 100%" />
+					</template>
+				</el-table-column>
+				<el-table-column label="璁″垝缁撴潫鏃堕棿" align="center" min-width="180">
+					<template #default="scope">
+						<el-date-picker v-model="scope.row.plannedEndTime" type="datetime" :disabled-date="disabledDate"
+							value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿"
+							style="width: 100%" />
+					</template>
+				</el-table-column>
+
+				<el-table-column label="渚涘簲鍟嗙紪鍙�" align="center" min-width="180">
+					<template #default="scope">
+						<el-select v-model="scope.row.supplierCode" filterable remote reserve-keyword remote-show-suffix
+							:remote-method="remoteMethod" :loading="loading" placeholder="璇烽�夋嫨渚涘簲鍟�" clearable
+							style="width: 100%" @change="changeXmbh(scope.row.supplierCode)">
+							<el-option v-for="(item, index) in arrTdp" :key="index" :value="item.custCode"
+								:label="`[${item.custCode}]${item.custChinaName}`"></el-option>
+						</el-select>
+					</template>
+				</el-table-column>
+				<el-table-column label="渚涘簲鍟嗘壒娆�" prop="supplierBatch" align="center" min-width="120">
+					<template #default="scope">
+						<el-input v-model.trim="scope.row.supplierBatch" clearable min-width="150" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规" />
+					</template>
+				</el-table-column>
+
+
+				<el-table-column label="ERP搴撳瓨鍦�" prop="erpCode" align="center" min-width="120">
+					<template #default="scope">
+						<el-input v-model.trim="scope.row.erpCode" clearable min-width="150" placeholder="璇疯緭鍏RP搴撳瓨鍦�" />
+					</template>
+				</el-table-column>
+
+
+				<el-table-column label="椤圭洰鍙�" prop="projectNo" align="center" min-width="120">
+					<template #default="scope">
+						<el-input v-model.trim="scope.row.projectNo" clearable min-width="150" placeholder="璇疯緭鍏ラ」鐩彿" />
+					</template>
+				</el-table-column>
+
+
+				<el-table-column label="鏀惰揣閬撳彛" prop="dock" align="center" min-width="120">
+					<template #default="scope">
+						<!-- <el-input v-model.trim="scope.row.dock" clearable min-width="150" placeholder="璇疯緭鍏ユ敹璐ч亾鍙�" /> -->
+
+
+						<el-select clearable v-model="scope.row.dock" placeholder="璇烽�夋嫨鏀惰揣閬撳彛">
+							<el-option v-for="(item, index) in getEnumDockData" :key="index" :value="item.value"
+								:label="`${item.describe}`"></el-option>
+						</el-select>
+
+
+					</template>
+				</el-table-column>
+
+				<el-table-column label="鏄惁鍐荤粨" prop="isFreeze" align="center" min-width="120">
+					<template #default="scope">
+						<el-switch v-model="scope.row.isFreeze" active-text="鏄�" inactive-text="鍚�" />
+					</template>
+				</el-table-column>
+
+				<el-table-column label="鍐荤粨鍘熷洜" prop="freezeReason" align="center" min-width="120">
+					<template #default="scope">
+						<el-input v-model="scope.row.freezeReason" placeholder="璇疯緭鍏ュ喕缁撳師鍥�" maxlength="255" show-word-limit
+							clearable />
+					</template>
+				</el-table-column>
+
+				<el-table-column label="鍗曚綅" min-width="80" prop="unit" align="center" show-overflow-tooltip />
+			</el-table>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" :disabled="warehousOrderDetails.length == 0" @click="confirm">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 娣诲姞鐗╂枡 -->
+	<el-dialog v-model="addMaterialVisible" width="70%" @close="closeMaterialDialog">
+		<template #header>
+			<div style="color: #fff">
+				<span v-if="isMaterialBox == 1">娣诲姞鐗╂枡璇︽儏</span>
+				<span v-if="isPoBox == 1">鍏宠仈PO鍗曠墿鏂�</span>
+			</div>
+		</template>
+
+		<div class="msi-form" style="padding-top: 0px">
+			<el-form :model="materialForm">
+				<el-row>
+					<el-col :span="8" v-if="isMaterialBox == 1">
+						<el-form-item label="鐗╂枡缂栧彿">
+							<el-input v-model="materialForm.Code" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8" v-if="isPoBox == 1">
+						<el-form-item label="鍏宠仈PO鍗曞彿:">
+							<el-input v-model="materialForm.poNo" placeholder="璇疯緭鍏ュ叧鑱擯O鍗曞彿" clearable></el-input>
+						</el-form-item>
+					</el-col>
+
+					<el-col :span="8">
+						<el-form-item label-width="20px">
+							<el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+							<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</div>
+		<div class="msi-content" style="padding-top: 0; margin-top: 10px">
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isMaterialBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="鍗曚綅" prop="poUnit" align="center" min-width="140" show-overflow-tooltip />
+			</el-table>
+			<!-- PO鍗� -->
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isPoBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column prop="poNo" label="PO鍗曞彿" show-overflow-tooltip="" />
+				<el-table-column prop="poLineNumber" label="PO琛屽彿" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="erpOrderNo" label="ERP鍗曞彿" show-overflow-tooltip="" /> -->
+				<!-- <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" /> -->
+				<el-table-column prop="materialCode" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+
+				<!-- <el-table-column prop="createASNQuantity" label="宸插垱寤篈SN鏁伴噺" min-width="110px" show-overflow-tooltip="" /> -->
+
+				<!-- <el-table-column prop="snp" label="鏍囧寘鏁伴噺" show-overflow-tooltip="" /> -->
+
+				<!-- <el-table-column prop="printQuantity" label="鏉$爜鎵撳嵃鏁伴噺" show-overflow-tooltip="" /> -->
+
+				<!-- <el-table-column prop="poDetailStatus" label="鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						{{ scope.row.poDetailStatus }}
+						<el-tag>{{ getEnumDesc(scope.row.poDetailStatus, getEnumPoDetailStatusData_Index) }}</el-tag>
+					</template>
+				</el-table-column> -->
+				<el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+				<el-table-column prop="plannedStartTime" label="璁″垝寮�濮嬫椂闂�" show-overflow-tooltip="" />
+				<el-table-column prop="plannedEndTime" label="璁″垝缁撴潫鏃堕棿" show-overflow-tooltip="" />
+
+				<!-- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+				<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" /> -->
+			</el-table>
+
+			<Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+				@pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 鍗曡鎯� -->
+	<el-drawer v-model="drawerVisible" :title="`${detailForm.doId}璁㈠崟璇︽儏`" direction="rtl" size="80%"
+		@close="handleDrawerClose">
+		<template #title>
+			<div class="slot_title">
+				<div class="title_orderNo">{{ title }}</div>
+				<div>璁㈠崟璇︽儏</div>
+			</div>
+		</template>
+
+		<div class="detailBoxWrap">
+			<!-- 璇︽儏缁勪欢 -->
+			<open-details ref="propDetailRef"></open-details>
+			<div class="msi-form">
+				<el-form :model="detailForm">
+					<el-row>
+						<el-col :span="6">
+							<el-form-item label="鐗╂枡缂栧彿">
+								<el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="2">
+							<el-form-item label-width="20px">
+								<el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-form>
+			</div>
+			<div class="msi-content">
+				<!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+				<el-table :data="drawerList" border striped :max-height="480">
+					<el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+					
+
+        <el-table-column fixed="left" prop="materialCode" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+		<el-table-column prop="doLineNumber" label="琛屽彿"  show-overflow-tooltip="" />
+
+          <el-table-column prop="doDetailStatus" label="鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+			  <el-tag :type="getTypeStatus(1, scope.row.doDetailStatusName)">{{ scope.row.doDetailStatusName }}</el-tag>
+            </template>
+          </el-table-column>
+
+
+        <el-table-column prop="quantity" label="鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="deliverQuantity" label="宸插彂璐ф暟"  show-overflow-tooltip="" />
+        <el-table-column prop="createMovementQuantity" label="宸插垱寤烘尝娆℃暟"  show-overflow-tooltip="" min-width="100px"/>
+        <!-- <el-table-column prop="snp" label="鏍囧寘鏁伴噺"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="custCode" label="瀹㈡埛缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="custName" label="瀹㈡埛鍚嶇О"  show-overflow-tooltip="" />
+		<el-table-column prop="unit" label="鍗曚綅"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+
+				</el-table>
+				<Pagination :total="detailCount" v-model:page="detailForm.PageNo" v-model:limit="detailForm.PageSize"
+					@pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+				<div></div>
+			</div>
+		</div>
+	</el-drawer>
+
+	<el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+		<el-form :model="outerForm2" label-width="120px">
+			<el-row style="font-size: 16px">
+				<el-col :span="23">
+					<el-form-item label="鍗曞彿:" required>
+						<el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="outVisible2 = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="getSapOrderPO">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+</template>
+<script lang="ts" setup>
+import Pagination from '/@/components/Pagination/index.vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import { ref, nextTick, computed, getCurrentInstance, watch, defineExpose, defineProps, onMounted } from 'vue';
+import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+
+import { formatDecimalData } from '/@/utils/formate';
+
+import cache from '/@/utils/cache';
+import { pageWmsMaterial } from '/@/api/main/WmsBase/wmsMaterial';
+import {
+	getTypeStatus
+} from "/@/utils/formate";
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import { addWmsOrderPurchase, updateWmsOrderPurchase, detailWmsOrderPurchase } from '/@/api/main/WmsOrder/wmsOrderPurchase';
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+import { pageWmsOrderPurchaseDetails } from '/@/api/main/WmsOrder/wmsOrderPurchaseDetails';
+import commonFunction from '/@/utils/commonFunction';
+import { addWmsOrderAsn, updateWmsOrderAsn, detailWmsOrderAsn } from '/@/api/main/WmsOrder/wmsOrderAsn';
+import { handleSlectDataWmsBusinessType } from "/@/utils/selectData";
+import { pageWmsOrderDeliverDetails } from '/@/api/main/WmsOrderDo/wmsOrderDeliverDetails';
+const moveType = 10;//绉诲姩绫诲瀷 鍏ュ簱
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getBusinessTypeData_Index = ref<any>([]);//涓氬姟绫诲瀷 create by liuwq 2024-05-23
+const getEnumOrderTypeData = ref<any>([]);
+const getEnumBusinessTypeData = ref<any>([]);
+const getEnumPoStatusData = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(['getTabelData']);
+const getEnumAsnStatusData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumDockData = ref<any>([]);
+const getEnumOrderSocureData_Index = ref<any>([]);
+
+const props = defineProps({
+	titleAuthor: {
+		type: Number,
+		required: true,
+	},
+	hexiao: {
+		type: Number,
+		default: 1,
+		required: true,
+	},
+});
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor);
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+// 鐧诲綍鐢ㄦ埛id
+// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
+
+// const EnumWriteOffState = computed(
+//   () => store.state.login.enums.enumWriteOffState
+// );
+
+let itemBtnArr = ['鎵归噺鍒犻櫎', '缂栬緫', '鏂板'];
+const boolEnum = ref([
+	{
+		title: '鏄�',
+		value: true,
+	},
+	{
+		title: '鍚�',
+		value: false,
+	},
+]);
+
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref('');
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+	return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+	orderDoRuType.value = param;
+	uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+	getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+	ElMessageBox.confirm('鏄惁纭鑾峰彇鏇存柊锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	}).then(() => {
+		// getSapRkPurchase().then((res) => {
+		//   if (res.code == 200) {
+		//     ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+		//   } else {
+		//     ElMessage.error(
+		//       `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+		//     );
+		//   }
+		// })
+	});
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+	purchaseNo: '',
+});
+const getSapOrderPO = (param?: number) => {
+	if (param && param == 1) {
+		outVisible2.value = true;
+		return;
+	}
+	if (outerForm2.value.purchaseNo == '') {
+		ElMessage.warning('璇疯緭鍏ュ崟鍙�');
+		return;
+	}
+	// getSapPurchasePO({
+	//   purchaseNo: outerForm2.value.purchaseNo
+	// })
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       ElMessage.success("SAP鑾峰彇鎴愬姛");
+	//       outVisible2.value = false;
+	//     } else {
+	//       ElMessage.error(
+	//         `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+	//       );
+	//     }
+	//   })
+	//   .catch((err) => ElMessage.error(err));
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+	outerForm2.value.purchaseNo = '';
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+	WareMaterialCode: '',
+	WareMaterialName: '',
+	PurchaseNo: '',
+	CreatedUserName: '',
+	CreatedTimeBegin: '',
+	CreatedTimeEnd: '',
+	CreateDate: [],
+	IssueTimeBegin: '',
+	IssueTimeEnd: '',
+	IssueDate: [],
+	MaterialTypeStaus: '',
+	SourceBy: '',
+	WriteOffState: '',
+	signStatus: '',
+	status: '',
+	freeOrderType: '',
+	IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+	// LoginUserID: LoginUserID, //鐢ㄦ埛id
+	OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+	Page: 1,
+	PageSize: 10,
+	poApprovalStatus: '',
+	keyCode: '',
+	IsDisable: '', //鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+const tableRef = ref();
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache('enumList');
+console.log(enumList.inEnumOrderType);
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+	//鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+		formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+		formModel.value.CreatedTimeEnd = ''; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+			formModel.value.CreatedTimeBegin = '';
+			formModel.value.CreatedTimeEnd = '';
+		}
+	}
+	//鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+		formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+		formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+			formModel.value.IssueTimeBegin = '';
+			formModel.value.IssueTimeEnd = '';
+		}
+	}
+
+	//鍏跺畠鍏ュ簱鍏ュ彛
+	// if (titleAuthor.value == 1) { //鍏嶈垂鍏ュ簱鍗曠鐞�
+	// }
+
+	// if (titleAuthor.value == 2) { //璁㈠崟鍏ュ簱绠$悊
+	// }
+
+	// getPurchasePageForAllData(formModel.value)
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       const { data } = res;
+	//       const result = data;
+	//       result.rows.map(
+	//         (item: { hasChildren: boolean }) => (item.hasChildren = true)
+	//       );
+	//       tableData.value = result.rows;
+	//       totalItems.value = result.totalRows;
+	//       orderType.value = formModel.value.MaterialTypeStaus;
+	//       // 娓呴櫎閫変腑
+	//       nextTick(() => {
+	//         if (tableRef.value && typeof tableRef.value.clearSelection === 'function') {
+	//           checkRows.value = [];
+	//           tableRef.value.clearSelection();
+	//         }
+	//       })
+	//     } else {
+	//       ;
+	//     }
+	//   })
+	//   .catch((err) => {
+	//     console.log(err);
+	//     ElMessage.error(JSON.stringify(err));
+	//   });
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+	formModel.value = {
+		WareMaterialCode: '',
+		WareMaterialName: '',
+		PurchaseNo: '',
+		CreatedUserName: '',
+		CreatedTimeBegin: '',
+		CreatedTimeEnd: '',
+		CreateDate: [],
+		IssueTimeBegin: '',
+		IssueTimeEnd: '',
+		IssueDate: [],
+		MaterialTypeStaus: '',
+		SourceBy: '',
+		WriteOffState: '',
+		signStatus: '',
+		status: '',
+		freeOrderType: '',
+		IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+		//  LoginUserID: LoginUserID, //鐢ㄦ埛id
+		OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+		Page: 1,
+		PageSize: 10,
+		poApprovalStatus: '',
+		keyCode: '',
+		IsDisable: '', //鏄惁浣滃簾
+	};
+	getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+//瀵煎嚭PO鍗曡鎯�
+const handExport = () => {
+	// rkExport(formModel.value)
+	//   .then((res) => {
+	//     const link = document.createElement("a"); //鍒涘缓a鏍囩
+	//     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+	//     let objectUrl = URL.createObjectURL(blob);
+	//     link.href = objectUrl;
+	//     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+	//       new Date().toString(),
+	//       "YYYY-MM-DD hh:mm:ss"
+	//     )}`; // 鑷畾涔夋枃浠跺悕
+	//     link.click(); // 涓嬭浇鏂囦欢
+	//     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+	//   }).catch((err) => ElMessage.error(JSON.stringify(err)));
+	//瀵煎嚭璋冪敤鎺ュ彛
+	// let entozh = entozhExcell
+	//   const { PageNo, PageSize, ...rest } = formModel.value
+	//   getPurchasePage({ Page: 1, PageSize: 1000000, ...rest }).then(res => {
+	//     if(res.code==200){
+	//       res.data.rows.forEach((item)=>{
+	//         item.writeOffState = EnumWriteOffState.value.filter((v: any) => v.value == item.writeOffState)[0].title;
+	//         item.sourceBy =  sourceEnum.value.filter((v: any) => v.value == item.sourceBy)[0].title;
+	//       })
+	//       exportExcel(res.data.rows, entozh, "xlsx", `鍏ュ簱绠$悊琛�${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`);
+	//     }
+	//   })
+	// 鍚庣瀵煎嚭-瀛楁涓嶅叏
+	// if (checkRows.value.length <= 0) {
+	//   ElMessage.warning("璇烽�夋嫨涓�涓鍗曪紒");
+	//   return
+	// }
+	// const arr = checkRows.value.reduce((curr, item) => {
+	//   curr.push(item.purchaseNo);
+	//   return curr;
+	// }, []);
+	// puchaseExport({ PurchaseNo: arr })
+	//   .then((res) => {
+	//     const link = document.createElement("a"); //鍒涘缓a鏍囩
+	//     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+	//     let objectUrl = URL.createObjectURL(blob);
+	//     link.href = objectUrl;
+	//     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+	//       new Date().toString(),
+	//       "YYYY-MM-DD hh:mm:ss"
+	//     )}`; // 鑷畾涔夋枃浠跺悕
+	//     link.click(); // 涓嬭浇鏂囦欢
+	//     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+	//   })
+	//   .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+	materialCode: '',
+	doId: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref('drawerAll');
+// const
+//鍗曞彿
+const purchaseNo = ref('');
+const detailCount2 = ref(0);
+const detailForm2 = ref({
+	Page: 1,
+	PageSize: 10,
+	doId: '',
+});
+const getEnumPoDetailStatusData_Index = ref<any>([]);
+
+const drawerList2 = ref<DetailType[]>([]);
+//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+const getDetail = async () => {
+	loading.value = true;
+	var res = await pageWmsOrderDeliverDetails(Object.assign(detailForm.value));
+	drawerList.value = res.data.result?.items ?? [];
+	detailCount.value = res.data.result?.total;
+	loading.value = false;
+};
+
+//----------------鐗╂枡鏄庣粏
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+	detailForm.value.PageNo = 1;
+	detailForm.value.PageSize = 10;
+	if (scope.deliverNo) {
+		title.value = `${scope.deliverNo}`;
+	}
+	drawerType.value = 'drawerAll';
+	drawerVisible.value = true;
+	detailForm.value.doId = scope.id;
+	purchaseNo.value = scope.deliverNo;
+	detailForm2.value.doId = scope.id;
+	//鑾峰彇鐗╂枡鍒楄〃
+	if (detailForm2.value.doId == '') {
+		drawerList2.value = [];
+		detailCount2.value = 0;
+		return;
+	}
+	// 鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	getDetail();
+
+	getEnumPoDetailStatusData_Index.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+		[];
+
+	getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+	getEnumOrderSocureData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('SourceByEnum')).data.result ?? [];
+	// 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+	let scopetrans = JSON.parse(JSON.stringify(scope));
+	// scopetrans.totalquantity = Number(scopetrans.totalquantity).toFixed(3);
+	scopetrans.doStatus = getEnumDesc(scopetrans.doStatus, getEnumPoDetailStatusData_Index.value);
+	scopetrans.orderSocure = getEnumDesc(scopetrans.orderSocure, getEnumOrderSocureData_Index.value);
+
+	nextTick(() => {
+		proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+	});
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+	detailForm.value = {
+		materialCode: '',
+		doId: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	deltailList.value = [];
+	detailCount.value = 0;
+	drawerList.value = [];
+	drawerList2.value = [];
+	detailCount2.value = 0;
+	drawerList2.value = [];
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+	id: number;
+	barCode: string;
+	wareMaterialCode: string;
+	name: string;
+	signStatus: string;
+	category: string;
+	materialTypeName: string;
+	specificationModel: string;
+	long: number;
+	width: number;
+	high: number;
+	weight: number;
+	unit: string;
+	createdTime: string;
+	purchaseNo: string;
+	quantity: number;
+	goodsquantity: number;
+	surplusquantity: number;
+	poLineNumber: string;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref('');
+
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref('add');
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+	hasTMCode: false,
+	typeTMCode:false,//false浜岀淮鐮� true 1缁寸爜
+	asnType: '',
+	dock: '',
+	projectNo: '',
+	OrderDetails: [] as any[],
+});
+
+// 鐗规畩瀛楃鐨勯獙璇�
+// 鍖呭惈鐗规畩瀛楃杩斿洖true锛屼笉鍖呭惈鐗规畩瀛楃杩斿洖false
+const checkEspcial = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[@$%*^:;锛氾紱~+=!锛�#^{}><.,锛屻�俔/g;
+		if (!reg.test(value.trim())) {
+			callback();
+		} else {
+			return callback(new Error('涓嶈兘瀛樺湪鐗规畩绗﹀彿'));
+		}
+	}
+};
+
+// 楠岃瘉瑙掕壊缂栧彿
+var validatorCode = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[\u4E00-\u9FA5]/g;
+		if (!reg.test(value)) {
+			callback();
+		} else {
+			return callback(new Error('鍗曞彿涓嶈兘瀛樺湪姹夊瓧'));
+		}
+	}
+};
+
+//rules
+const formRules = {
+	asnType: [{ required: true, message: '璇烽�夋嫨璁㈠崟绫诲瀷锛�', trigger: 'change' }],
+	orderTypeName: [{ required: true, message: '璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	businessType: [{ required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change' }],
+	businessTypeName: [{ required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	orderSocure: [{ required: true, message: '璇疯緭鍏ュ崟鎹潵婧愶紒', trigger: 'blur' }],
+	poStatus: [{ required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change' }],
+	poStatusName: [{ required: true, message: '璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒', trigger: 'blur' }],
+	supplierCode: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�', trigger: 'blur' }],
+	supplierName: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�', trigger: 'blur' }],
+	factoryId: [{ required: true, message: '璇疯緭鍏ュ伐鍘侷D锛�', trigger: 'blur' }],
+	// purchaseNo: [
+	//   { required: true, message: "鍗曞彿涓嶈兘涓虹┖", trigger: "blur" },
+	//   { validator: validatorCode, trigger: "blur" },
+	//   { validator: checkEspcial, trigger: "blur" }
+	// ],
+};
+//鎵撳紑鏂板銆佺紪杈戠獥鍙�
+const openDialog = async (type: number, scope: any = {}) => {
+	handleQueryTdp();
+	if (type == 1) {
+		isPoBox.value = 1;
+		isMaterialBox.value = 1;
+		detailForm2.value.PageSize = 10;
+		dialogType.value = 'add';
+	} else {
+		dialogType.value = 'edit';
+		detailForm2.value.PageSize = 100000;
+		addForm.value = { ...scope };
+
+		console.log(addForm.value);
+		detailForm2.value.doId = scope.id;
+
+		//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+		loading.value = true;
+		var res = await pageWmsOrderDeliverDetails(Object.assign(detailForm2.value));
+
+		warehousOrderDetails.value = res.data.result?.items ?? [];
+		loading.value = false;
+		if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].poNo) {
+			isPoBox.value = 1;
+			isMaterialBox.value = 0;
+
+		} else {
+			isPoBox.value = 0;
+			isMaterialBox.value = 1;
+		}
+		addForm.value.hasTMCode = false;
+		addForm.value.typeTMCode = false
+		if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].sN_1d) {
+			addForm.value.hasTMCode = true;
+			addForm.value.typeTMCode = true
+		}
+		if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].sN_2d) {
+			addForm.value.hasTMCode = true;
+			addForm.value.typeTMCode = false
+		}
+		//----------------鐗╂枡鏄庣粏
+	}
+	dialogVisible.value = true;
+
+	//娓呴櫎閫変腑椤�
+	nextTick(() => {
+		dialogRef.value.clearValidate();
+	});
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+	return row.id + row.asnLineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+	addForm.value = {
+		hasTMCode: false,
+		asnType: '',
+		dock: '',
+		projectNo: '',
+		typeTMCode: '',
+		OrderDetails: [] as any[],
+	};
+	warehousOrderDetails.value = [];
+	checkedDetails.value = [];
+	deltailList.value = [];
+	detailCount.value = 0;
+	detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+	ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			let arr = [];
+			if (checkedDetails.value[0].diRelationID) {
+				checkedDetails.value.forEach((item) => {
+					console.log(item);
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.diRelationID == item.diRelationID);
+					if (index > -1) {
+						warehousOrderDetails.value.splice(index, 1);
+					}
+				});
+			} else {
+				checkedDetails.value.forEach((item) => {
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.asnLineNumber == item.asnLineNumber);
+					warehousOrderDetails.value.splice(index, 1);
+				});
+			}
+			arr = warehousOrderDetails.value;
+			warehousOrderDetails.value = [];
+			//bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+			nextTick(() => {
+				warehousOrderDetails.value = arr;
+				checkedDetails.value = [];
+				detailRef.value.clearSelection();
+			});
+		})
+		.catch(() => ElMessage.info('宸插彇娑堝垹闄�'));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const confirm = () => {
+	dialogRef.value.validate(async (vali: any) => {
+		if (vali) {
+			console.log('纭');
+			let idx = warehousOrderDetails.value.findIndex((v) => v.asnLineNumber == '' || v.asnLineNumber == undefined);
+			if (idx > -1) {
+				ElMessage.warning('璇疯緭鍏ヨ鍙�');
+				return;
+			}
+			let isNext = '';
+			warehousOrderDetails.value.forEach((item) => {
+				const arr: any = warehousOrderDetails.value.filter((detail) => detail.asnLineNumber == item.asnLineNumber);
+				if (arr.length > 1) {
+					isNext = `琛屽彿锛�${arr[0].asnLineNumber}涓嶈兘鐩稿悓`;
+					return;
+				}
+			});
+			if (isNext != '') {
+				ElMessage.warning(isNext);
+				return;
+			}
+
+			let idx2 = warehousOrderDetails.value.findIndex((v) => v.quantity == '' || v.quantity == undefined || v.quantity <= 0);
+			if (idx2 > -1) {
+				ElMessage.warning('鏁伴噺涓嶅悎瑙勮寖锛�');
+				return;
+			}
+			addForm.value.OrderDetails = [];
+			warehousOrderDetails.value.forEach((item) => {
+				const obj = {
+					...item,
+					asnLineNumber: item.asnLineNumber
+					// doId: item.doId || 0,
+					// materialCode: item.materialCode,
+					// materialName: item.materialName,
+					// id: item.id || "",
+					// quantity: item.quantity,
+					// barNo: item.barNo,
+					// remark: addForm.value.remark,
+					// poLineNumber: item.asnLineNumber,
+					// materialType: item.deliveryType,
+					// clientCode: item.diCustomCode || "",
+					// clientChinaName: item.diCustomChinaName || "",
+					// plannedStartTime:item.plannedStartTime,
+					// plannedEndTime:item.plannedEndTime,
+				};
+				addForm.value.OrderDetails.push(obj);
+			});
+			//娣诲姞
+			if (dialogType.value == 'add') {
+				let res = await addWmsOrderAsn(addForm.value);
+				if (res.data && res.data.code == 200) {
+					ElMessage.success('娣诲姞鎴愬姛');
+					dialogVisible.value = false;
+					emits('getTabelData');
+				} 
+			} else {
+				let res = await updateWmsOrderAsn(addForm.value);
+				if (res.data && res.data.code == 200) {
+					ElMessage.success('缂栬緫鎴愬姛');
+					dialogVisible.value = false;
+					emits('getTabelData');
+				} 
+			}
+		} else {
+			ElMessage.warning('琛ㄥ崟楠岃瘉澶辫触');
+		}
+	});
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+	poNo: '',
+	Code: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+	if (isPoBox.value == 1) {
+		if (materialForm.value.poNo) {
+			loading.value = true;
+			var res = await pageWmsOrderPurchaseDetails(Object.assign(materialForm.value));
+			materialList.value = res.data.result?.items ?? [];
+			materialTotal.value = res.data.result?.total;
+			loading.value = false;
+		}
+	}
+	if (isMaterialBox.value == 1) {
+		loading.value = true;
+		var res = await pageWmsMaterial(Object.assign(materialForm.value));
+		materialList.value = res.data.result?.items ?? [];
+		materialTotal.value = res.data.result?.total;
+		loading.value = false;
+	}
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+	materialForm.value = {
+		poNo: '',
+		Code: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+	checkedMaterial.value = val;
+};
+const isMaterialBox: any = ref(true);
+const isPoBox: any = ref(true);
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = (param?: any) => {
+	if (param && param == 'po') {
+		isPoBox.value = 1;
+		isMaterialBox.value = 0;
+	} else {
+		isPoBox.value = 0;
+		isMaterialBox.value = 1;
+	}
+	getMaterialList();
+
+	// if ( addForm.value.freeOrderType && isShowBomBtn.value ) {
+	//   ElMessage.warning("鍏嶈垂浠剁被鍨嬫槸PR2锛屽彧鑳芥柊澧濪I缁存姢鐨勭墿鏂欙紒");
+	//   return;
+	// }
+	addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+	//鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+	if (warehousOrderDetails.value.length == 0) {
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			item.asnLineNumber = index + 1;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	} else {
+		for (let i = 0; i < checkedMaterial.value.length; i++) {
+			let idx = warehousOrderDetails.value.findIndex(
+				(item: { poLineNumber: any; code: any }) => item.code == checkedMaterial.value[i].materialCode && item.asnLineNumber == checkedMaterial.value[i].asnLineNumber
+			);
+			if (idx > -1) {
+				return ElMessage.warning(`鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}锛孉SN琛屽彿锛�${checkedMaterial.value[i].asnLineNumber || ''}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦);
+			}
+		}
+
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	}
+
+	addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+	materialForm.value = {
+		Code: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	materialList.value = [];
+	checkedMaterial.value = [];
+	materialRef.value.clearSelection();
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+	// getEnumOrderTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+	// getEnumPoStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+	// getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); 
+	// getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? [];
+});
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	custType: '渚涘簲鍟�',
+});
+
+//-----------------杩滅▼鎼滅储----------------
+const handleQueryTdp = async () => {
+	var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+	arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: '渚涘簲鍟�',
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: '渚涘簲鍟�',
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+	margin: 10px;
+}
+
+.msi-form {
+	margin-top: 10px;
+}
+
+.msi-form {
+	margin-bottom: 10px;
+}
+
+.slot_title {
+	display: flex;
+	align-items: center;
+
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #F18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/index.vue
new file mode 100644
index 0000000..6d37dc6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/index.vue
@@ -0,0 +1,440 @@
+锘�<template>
+  <div class="wmsOrderDeliver-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+      <el-form :model="queryParamsWmsOrderDeliver" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsOrderDeliver.searchKey" clearable=""
+                placeholder="DO鍗曞彿,瀹㈡埛缂栧彿,瀹㈡埛涓枃鍚嶇О,ERP鍗曞彿" />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliver">
+            <el-form-item label="DO鍗曞彿">
+              <el-input v-model="queryParamsWmsOrderDeliver.deliverNo" clearable="" placeholder="璇疯緭鍏O鍗曞彿" />
+
+            </el-form-item>
+          </el-col>
+      
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliver">
+            <el-form-item label="鍗曟嵁鏉ユ簮">
+              <el-select clearable="" v-model="queryParamsWmsOrderDeliver.orderSocure" placeholder="璇烽�夋嫨鍗曟嵁鏉ユ簮">
+                <el-option v-for="(item, index) in getEnumOrderSocureData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliver">
+            <el-form-item label="鍗曟嵁鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsOrderDeliver.doStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+                <el-option v-for="(item, index) in getEnumDoStatusData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliver">
+            <el-form-item label="瀹㈡埛缂栧彿">
+              <el-input v-model="queryParamsWmsOrderDeliver.custCode" clearable="" placeholder="璇疯緭鍏ュ鎴风紪鍙�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliver">
+            <el-form-item label="瀹㈡埛涓枃鍚嶇О">
+              <el-input v-model="queryParamsWmsOrderDeliver.custName" clearable="" placeholder="璇疯緭鍏ュ鎴蜂腑鏂囧悕绉�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliver">
+            <el-form-item label="ERP鍗曞彿">
+              <el-input v-model="queryParamsWmsOrderDeliver.erpOrderNo" clearable="" placeholder="璇疯緭鍏RP鍗曞彿" />
+
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliver">
+            <el-form-item label="ERP鍒涘缓鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨ERP鍒涘缓鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsOrderDeliver.erp_CreateTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliver">
+            <el-form-item label="ERP鍒涘缓浜�">
+              <el-input v-model="queryParamsWmsOrderDeliver.erp_CreateUserName" clearable="" placeholder="璇疯緭鍏RP鍒涘缓浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliver">
+            <el-form-item label="ERP淇敼鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨ERP淇敼鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsOrderDeliver.erp_UpdateTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliver">
+            <el-form-item label="ERP淇敼浜�">
+              <el-input v-model="queryParamsWmsOrderDeliver.erp_UpdateUserName" clearable="" placeholder="璇疯緭鍏RP淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliver">
+            <el-form-item label="澶囨敞">
+              <el-input v-model="queryParamsWmsOrderDeliver.remark" clearable="" placeholder="璇疯緭鍏ュ娉�"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary" icon="ele-Search" @click="handleQueryWmsOrderDeliver"
+                  v-auth="'wmsOrderDeliver:page'" :disabled="disabled_btnWmsOrderDeliver"> 鏌ヨ </el-button>
+                <el-button icon="ele-Refresh" @click="resetWmsOrderDeliver"> 閲嶇疆 </el-button>
+                <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsOrderDeliver"
+                  v-if="!showAdvanceQueryUIWmsOrderDeliver" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsOrderDeliver"
+                  v-if="showAdvanceQueryUIWmsOrderDeliver" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsOrderDeliver" v-auth="'wmsOrderDeliver:add'"> 鏂板 </el-button> -->
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Upload"
+                  @click="openImportExcelWmsOrderDeliver" v-auth="'wmsOrderDeliver:importExcel'"> 瀵煎叆 </el-button>
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Download"
+                  @click="handleExportExcelWmsOrderDeliver" v-auth="'wmsOrderDeliver:exportExcel'"> 瀵煎嚭 </el-button> -->
+              </el-button-group>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table ref="tableRefWmsOrderDeliver" :data="tableDataWmsOrderDeliver" style="width: 100%"
+        v-loading="loadingWmsOrderDeliver" tooltip-effect="light" row-key="id" @sort-change="sortChangeWmsOrderDeliver"
+        :summary-method="getExportTitle" show-summary border="">
+        <el-table-column type="index" label="搴忓彿" fixed="left" width="55" align="center" />
+
+        <el-table-column fixed="left" label="DO鍗曞彿" prop="deliverNo" width="160" align="left" show-overflow-tooltip>
+          <template #default="scope">
+            <span class="under_line" @click="openDrawer(1, scope.row)">
+              {{ scope.row.deliverNo }}
+            </span>
+          </template>
+        </el-table-column>
+
+        <el-table-column prop="orderTypeName" label="鍗曟嵁绫诲瀷" show-overflow-tooltip="">
+          <template #default="scope">
+            {{ scope.row.orderTypeName }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="doStatus" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag :type="getTypeStatus(1, scope.row.doStatusName)">{{ scope.row.doStatusName }}</el-tag>
+          </template>
+        </el-table-column>
+        <el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" show-overflow-tooltip="">
+          <template #default="scope">
+            {{ scope.row.businessTypeName }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="orderSocure" label="鍗曟嵁鏉ユ簮" show-overflow-tooltip="">
+          <template #default="scope">
+            {{ getEnumDesc(scope.row.orderSocure, getEnumOrderSocureData_Index) }}
+          </template>
+        </el-table-column>
+
+        <el-table-column prop="custCode" label="瀹㈡埛缂栧彿" show-overflow-tooltip="" />
+        <el-table-column prop="custName" min-width="100px" label="瀹㈡埛涓枃鍚嶇О" show-overflow-tooltip="" />
+        <el-table-column prop="erpOrderNo" label="ERP鍗曞彿" show-overflow-tooltip="" />
+        <el-table-column prop="erp_CreateTime" min-width="100px" label="ERP鍒涘缓鏃堕棿" :formatter="formatDate_T_Date"
+          show-overflow-tooltip="" />
+        <el-table-column prop="erp_CreateUserName" label="ERP鍒涘缓浜�" show-overflow-tooltip="" />
+        <el-table-column prop="erp_UpdateTime" label="ERP淇敼鏃堕棿" min-width="100px" :formatter="formatDate_T_Date"
+          show-overflow-tooltip="" />
+        <el-table-column prop="erp_UpdateUserName" label="ERP淇敼浜�" show-overflow-tooltip="" />
+        <el-table-column prop="remark" label="澶囨敞" show-overflow-tooltip="" />
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+          show-overflow-tooltip="" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+          show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip=""
+          v-if="auth('wmsOrderDeliver:update') || auth('wmsOrderDeliver:delete')">
+          <template #default="scope">
+            <!-- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsOrderDeliver(scope.row)" v-auth="'wmsOrderDeliver:update'"> 缂栬緫 </el-button> -->
+            <el-button icon="ele-Delete" size="small" text="" :disabled="scope.row.doStatus != 0" type="primary"
+              @click="delWmsOrderDeliver(scope.row)" v-auth="'wmsOrderDeliver:delete'">鍙栨秷</el-button>
+              <!-- 鍙鏂板缓 澶勭悊涓� 鎵嶈兘鍏抽棴 -->
+            <el-button icon="ele-Close" size="small" text="" type="primary" v-auth="'wmsOrderDeliver:delete'"
+              @click="tocloseWmsOrderDeliver(scope.row)" :disabled="!(scope.row.doStatus == 0 || scope.row.doStatus == 1)"> 鍏抽棴 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination v-model:currentPage="tableParamsWmsOrderDeliver.page"
+        v-model:page-size="tableParamsWmsOrderDeliver.pageSize" :total="tableParamsWmsOrderDeliver.total"
+        :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background="" @size-change="handleSizeChangeWmsOrderDeliver"
+        @current-change="handleCurrentChangeWmsOrderDeliver" layout="total, sizes, prev, pager, next, jumper" />
+      <printDialogWmsOrderDeliver ref="printDialogRefWmsOrderDeliver" :title="printWmsOrderDeliverTitle"
+        @reloadTable="handleQueryWmsOrderDeliver" />
+      <editDialogWmsOrderDeliver ref="editDialogRefWmsOrderDeliver" :title="editWmsOrderDeliverTitle"
+        @reloadTable="handleQueryWmsOrderDeliver" />
+      <importExcelDialog ref="importExcelDialogRefWmsOrderDeliver" :title="importExcelTitleWmsOrderDeliver"
+        @parentUploadFun="handleImportExcelWmsOrderDeliver" @parentDownFun="handleDownExcelWmsOrderDeliver" />
+    </el-card>
+    <!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 -->
+    <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQuery"></open-allprop>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsOrderDeliver">
+import { ref, onMounted, getCurrentInstance } from "vue";
+import { ElMessageBox, ElMessage } from "element-plus";
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
+import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+import {
+  getTypeStatus
+} from "/@/utils/formate";
+
+import printDialogWmsOrderDeliver from '/@/views/system/print/component/hiprint/preview.vue'
+import editDialogWmsOrderDeliver from '/@/views/main/WmsOrderDo/wmsOrderDeliver/component/editDialog.vue'
+import { pageWmsOrderDeliver, deleteWmsOrderDeliver,importExcelWmsOrderDeliver, downloadExcelTemplateWmsOrderDeliver,closeWmsOrderDeliver} from '/@/api/main/WmsOrderDo/wmsOrderDeliver';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+import { ExcellTableDataExport } from "/@/hooks/exportTableDataExcell";
+import OpenAllprop from "./component/openAllpropDo.vue";
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumOrderSocureData_Index = ref<any>([]);
+const getEnumDoStatusData_Index = ref<any>([]);
+
+const { getEnumDesc } = commonFunction();
+
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+// ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
+const jsonExcellTableExport = {
+  titleName: "", //瀵煎嚭琛ㄦ牸鍚嶇О
+  interfaceListName: '',//瀵煎嚭鎺ュ彛鍚嶇О
+}
+const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport)
+// --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬-----------------
+// ---------------鏂板-----------------------
+const showProp = (item?: any) => {
+  if (item == 1) {
+    proxy.$refs['propALlProp'].openDialog(1);
+  } else {
+    proxy.$refs['propALlProp'].openDialog(2, item);
+  }
+}
+// ---------------璇︽儏-----------------------
+const openDrawer = (type: number, item?: any) => {
+  proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell);
+}
+// ---------------end璇︽儏-----------------------
+
+
+
+/***************************************************[DO鍗曟搷浣淽寮�濮�***************************************************/
+const showAdvanceQueryUIWmsOrderDeliver = ref(false);
+const tableRefWmsOrderDeliver = ref(null);
+const printDialogRefWmsOrderDeliver = ref();
+const editDialogRefWmsOrderDeliver = ref();
+const loadingWmsOrderDeliver = ref(false);
+const disabled_btnWmsOrderDeliver = ref(false);
+const tableDataWmsOrderDeliver = ref<any>([]);
+const queryParamsWmsOrderDeliver = ref<any>({});
+const tableParamsWmsOrderDeliver = ref({
+  page: 1,
+  pageSize: 10,
+  total: 0,
+});
+
+const printWmsOrderDeliverTitle = ref("");
+const editWmsOrderDeliverTitle = ref("");
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUIWmsOrderDeliver = () => {
+  showAdvanceQueryUIWmsOrderDeliver.value = !showAdvanceQueryUIWmsOrderDeliver.value;
+}
+
+// 鏌ヨDO鍗�
+const handleQueryWmsOrderDeliver = async () => {
+  loadingWmsOrderDeliver.value = true;
+  disabled_btnWmsOrderDeliver.value = true;
+  var res = await pageWmsOrderDeliver(Object.assign(queryParamsWmsOrderDeliver.value, tableParamsWmsOrderDeliver.value));
+  if (res.data.type == "success") {
+    tableDataWmsOrderDeliver.value = res.data.result?.items ?? [];
+    tableParamsWmsOrderDeliver.value.total = res.data.result?.total;
+  }
+  loadingWmsOrderDeliver.value = false;
+  disabled_btnWmsOrderDeliver.value = false;
+};
+
+// 閲嶇疆DO鍗曟煡璇�
+const resetWmsOrderDeliver = async () => {
+  queryParamsWmsOrderDeliver.value = {}
+};
+
+// DO鍗曞垪鎺掑簭
+const sortChangeWmsOrderDeliver = async (column: any) => {
+  queryParamsWmsOrderDeliver.value.field = column.prop;
+  queryParamsWmsOrderDeliver.value.order = column.order;
+  await handleQueryWmsOrderDeliver();
+};
+
+// 鎵撳紑鏂板DO鍗曢〉闈�
+const openAddWmsOrderDeliver = () => {
+  editWmsOrderDeliverTitle.value = '娣诲姞DO鍗�';
+  editDialogRefWmsOrderDeliver.value.openDialog(1, {});
+};
+
+// 鎵撳紑鎵撳嵃DO鍗曢〉闈�
+const openPrintWmsOrderDeliver = async (row: any) => {
+  printWmsOrderDeliverTitle.value = '鎵撳嵃DO鍗�';
+}
+
+// 鎵撳紑缂栬緫DO鍗曢〉闈�
+const openEditWmsOrderDeliver = (row: any) => {
+  editWmsOrderDeliverTitle.value = '缂栬緫DO鍗�';
+  editDialogRefWmsOrderDeliver.value.openDialog(2, row);
+};
+
+// 鍙栨秷DO鍗�
+const delWmsOrderDeliver = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸彇娑堝悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      loadingWmsOrderDeliver.value = true;
+      var ret = await deleteWmsOrderDeliver(row);
+      if (ret.data.type == "success") {
+        ElMessage.success("鍙栨秷鎴愬姛");
+      }
+      loadingWmsOrderDeliver.value = false;
+      handleQueryWmsOrderDeliver();
+    })
+};
+
+
+// 鍏抽棴DO鍗�
+const tocloseWmsOrderDeliver = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸叧闂悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      loadingWmsOrderDeliver.value = true;
+      var ret = await closeWmsOrderDeliver(row);
+      if (ret.data.type == "success") {
+        ElMessage.success("鍏抽棴鎴愬姛");
+      }
+      loadingWmsOrderDeliver.value = false;
+      handleQueryWmsOrderDeliver();
+    })
+};
+
+// 鏀瑰彉DO鍗曢〉闈㈠閲�
+const handleSizeChangeWmsOrderDeliver = (val: number) => {
+  tableParamsWmsOrderDeliver.value.pageSize = val;
+  handleQueryWmsOrderDeliver();
+};
+
+// 鏀瑰彉DO鍗曢〉鐮佸簭鍙�
+const handleCurrentChangeWmsOrderDeliver = (val: number) => {
+  tableParamsWmsOrderDeliver.value.page = val;
+  handleQueryWmsOrderDeliver();
+};
+
+/***************************************************[DO鍗曟搷浣淽缁撴潫***************************************************/
+/***************************************************[DO鍗曞鍏寮�濮�***************************************************/
+const importExcelTitleWmsOrderDeliver = ref("");
+const importExcelDialogRefWmsOrderDeliver = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsOrderDeliver = () => {
+  importExcelTitleWmsOrderDeliver.value = '瀵煎叆DO鍗�';
+  importExcelDialogRefWmsOrderDeliver.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsOrderDeliver = async (formData: Blob) => {
+  var result = await importExcelWmsOrderDeliver(formData);
+  importExcelDialogRefWmsOrderDeliver.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+  if (result.data.type == "success") {
+    handleQueryWmsOrderDeliver();
+  }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsOrderDeliver = async () => {
+  var result = await downloadExcelTemplateWmsOrderDeliver();
+  importExcelDialogRefWmsOrderDeliver.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[DO鍗曞鍏缁撴潫***************************************************/
+/***************************************************[DO鍗曞鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsOrderDeliver = {
+  getEnumOrderTypeData_Index,
+  getEnumOrderSocureData_Index,
+  getEnumDoStatusData_Index,
+  formatDate_T_Date,
+  formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsOrderDeliver = async (formData: Blob) => {
+  loadingWmsOrderDeliver.value = true;
+  disabled_btnWmsOrderDeliver.value = true;
+  var new_tableParamsWmsOrderDeliver = JSON.parse(JSON.stringify(tableParamsWmsOrderDeliver.value));
+  new_tableParamsWmsOrderDeliver.page = 1;
+  new_tableParamsWmsOrderDeliver.pageSize = 100000;
+  var res = await pageWmsOrderDeliver(Object.assign(queryParamsWmsOrderDeliver.value, new_tableParamsWmsOrderDeliver));
+  if (res.data.type == "success") {
+    exportExcelWmsOrderDeliver(res.data.result?.items ?? []);
+  }
+  loadingWmsOrderDeliver.value = false;
+  disabled_btnWmsOrderDeliver.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsOrderDeliver = async (exportDataList: Array) => {
+  exportPageExcel(exportDataList, tableRefWmsOrderDeliver, "DO鍗�", functionMapWmsOrderDeliver);
+};
+/***************************************************[DO鍗曞鍑篯缁撴潫***************************************************/
+// DO鍗曢〉闈㈠姞杞芥椂
+onMounted(async () => {
+  getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+
+  getEnumOrderSocureData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('SourceByEnum')).data.result ?? [];
+  getEnumDoStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+});
+
+handleQueryWmsOrderDeliver();
+
+
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+  // loading.value = true;
+  // var res = await pageWmsOrderAsn(Object.assign(queryParams.value, tableParams.value));
+  // tableData.value = res.data.result?.items ?? [];
+  // tableParams.value.total = res.data.result?.total;
+  // loading.value = false;
+
+};
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+  width: 100%;
+}
+
+.under_line {
+  color: #F18201;
+  text-decoration: underline;
+  cursor: pointer;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliverDetails/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliverDetails/component/editDialog.vue
new file mode 100644
index 0000000..af5cfa8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliverDetails/component/editDialog.vue
@@ -0,0 +1,241 @@
+锘�<template>
+	<div class="wmsOrderDeliverDetails-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="DO鍗旾D" prop="doId">
+							<el-input v-model="ruleForm.doId" placeholder="璇疯緭鍏O鍗旾D" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="DO鍗曞彿" prop="doNo">
+							<el-input v-model="ruleForm.doNo" placeholder="璇疯緭鍏O鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐘舵��" prop="doDetailStatus">
+							<el-select clearable v-model="ruleForm.doDetailStatus" placeholder="璇烽�夋嫨鐘舵��">
+								<el-option v-for="(item,index) in  getEnumDoDetailStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="琛屽彿" prop="doLineNumber">
+							<el-input v-model="ruleForm.doLineNumber" placeholder="璇疯緭鍏ヨ鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曚綅" prop="unit">
+							<el-input v-model="ruleForm.unit" placeholder="璇疯緭鍏ュ崟浣�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏁伴噺" prop="quantity">
+							<el-input v-model="ruleForm.quantity" placeholder="璇疯緭鍏ユ暟閲�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸插彂璐ф暟" prop="deliverQuantity">
+							<el-input v-model="ruleForm.deliverQuantity" placeholder="璇疯緭鍏ュ凡鍙戣揣鏁�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸插垱寤烘尝娆℃暟" prop="createMovementQuantity">
+							<el-input v-model="ruleForm.createMovementQuantity" placeholder="璇疯緭鍏ュ凡鍒涘缓娉㈡鏁�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏍囧噯鍖呰" prop="snp">
+							<el-input v-model="ruleForm.snp" placeholder="璇疯緭鍏ユ爣鍑嗗寘瑁�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹㈡埛缂栧彿" prop="custCode">
+							<el-input v-model="ruleForm.custCode" placeholder="璇疯緭鍏ュ鎴风紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹㈡埛鍚嶇О" prop="custName">
+							<el-input v-model="ruleForm.custName" placeholder="璇疯緭鍏ュ鎴峰悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsOrderDeliverDetails, updateWmsOrderDeliverDetails, detailWmsOrderDeliverDetails } from "/@/api/main/WmsOrderDo/wmsOrderDeliverDetails";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumDoDetailStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		doId: [{required: true, message: '璇疯緭鍏O鍗旾D锛�', trigger: 'blur',},],
+		doNo: [{required: true, message: '璇疯緭鍏O鍗曞彿锛�', trigger: 'blur',},],
+		doDetailStatus: [{required: true, message: '璇烽�夋嫨鐘舵�侊紒', trigger: 'change',},],
+		doLineNumber: [{required: true, message: '璇疯緭鍏ヨ鍙凤紒', trigger: 'blur',},],
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		quantity: [{required: true, message: '璇疯緭鍏ユ暟閲忥紒', trigger: 'blur',},],
+		deliverQuantity: [{required: true, message: '璇疯緭鍏ュ凡鍙戣揣鏁帮紒', trigger: 'blur',},],
+		createMovementQuantity: [{required: true, message: '璇疯緭鍏ュ凡鍒涘缓娉㈡鏁帮紒', trigger: 'blur',},],
+		snp: [{required: true, message: '璇疯緭鍏ユ爣鍑嗗寘瑁咃紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsOrderDeliverDetails(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsOrderDeliverDetails(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsOrderDeliverDetails(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumDoDetailStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliverDetails/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliverDetails/index.vue
new file mode 100644
index 0000000..13a8827
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderDeliverDetails/index.vue
@@ -0,0 +1,306 @@
+锘�<template>
+  <div class="wmsOrderDeliverDetails-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsOrderDeliverDetails" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsOrderDeliverDetails.searchKey" clearable="" placeholder="DO鍗曞彿,琛屽彿,鐗╂枡缂栧彿,鐗╂枡鍚嶇О,鍗曚綅,瀹㈡埛缂栧彿,瀹㈡埛鍚嶇О,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliverDetails">
+            <el-form-item label="DO鍗旾D">
+              <el-input v-model="queryParamsWmsOrderDeliverDetails.doId" clearable="" placeholder="璇疯緭鍏O鍗旾D"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliverDetails">
+            <el-form-item label="DO鍗曞彿">
+              <el-input v-model="queryParamsWmsOrderDeliverDetails.doNo" clearable="" placeholder="璇疯緭鍏O鍗曞彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliverDetails">
+            <el-form-item label="鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsOrderDeliverDetails.doDetailStatus" placeholder="璇烽�夋嫨鐘舵��">
+                <el-option v-for="(item,index) in getEnumDoDetailStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliverDetails">
+            <el-form-item label="鐘舵�佸悕绉�">
+              <el-input v-model="queryParamsWmsOrderDeliverDetails.doDetailStatusName" clearable="" placeholder="璇疯緭鍏ョ姸鎬佸悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliverDetails">
+            <el-form-item label="琛屽彿">
+              <el-input v-model="queryParamsWmsOrderDeliverDetails.doLineNumber" clearable="" placeholder="璇疯緭鍏ヨ鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliverDetails">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParamsWmsOrderDeliverDetails.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliverDetails">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsOrderDeliverDetails.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliverDetails">
+            <el-form-item label="鍗曚綅">
+              <el-input v-model="queryParamsWmsOrderDeliverDetails.unit" clearable="" placeholder="璇疯緭鍏ュ崟浣�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliverDetails">
+            <el-form-item label="鏁伴噺">
+              <el-input v-model="queryParamsWmsOrderDeliverDetails.quantity" clearable="" placeholder="璇疯緭鍏ユ暟閲�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliverDetails">
+            <el-form-item label="宸插彂璐ф暟">
+              <el-input v-model="queryParamsWmsOrderDeliverDetails.deliverQuantity" clearable="" placeholder="璇疯緭鍏ュ凡鍙戣揣鏁�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliverDetails">
+            <el-form-item label="宸插垱寤烘尝娆℃暟">
+              <el-input v-model="queryParamsWmsOrderDeliverDetails.createMovementQuantity" clearable="" placeholder="璇疯緭鍏ュ凡鍒涘缓娉㈡鏁�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliverDetails">
+            <el-form-item label="鏍囧噯鍖呰">
+              <el-input v-model="queryParamsWmsOrderDeliverDetails.snp" clearable="" placeholder="璇疯緭鍏ユ爣鍑嗗寘瑁�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliverDetails">
+            <el-form-item label="瀹㈡埛缂栧彿">
+              <el-input v-model="queryParamsWmsOrderDeliverDetails.custCode" clearable="" placeholder="璇疯緭鍏ュ鎴风紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderDeliverDetails">
+            <el-form-item label="瀹㈡埛鍚嶇О">
+              <el-input v-model="queryParamsWmsOrderDeliverDetails.custName" clearable="" placeholder="璇疯緭鍏ュ鎴峰悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsOrderDeliverDetails" v-auth="'wmsOrderDeliverDetails:page'" :disabled="disabled_btnWmsOrderDeliverDetails"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsOrderDeliverDetails"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsOrderDeliverDetails" v-if="!showAdvanceQueryUIWmsOrderDeliverDetails" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsOrderDeliverDetails" v-if="showAdvanceQueryUIWmsOrderDeliverDetails" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsOrderDeliverDetails" v-auth="'wmsOrderDeliverDetails:add'"> 鏂板 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsOrderDeliverDetails"
+				:data="tableDataWmsOrderDeliverDetails"
+				style="width: 100%"
+				v-loading="loadingWmsOrderDeliverDetails"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsOrderDeliverDetails"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="doNo" label="DO鍗曞彿"  show-overflow-tooltip="" />
+          <el-table-column prop="doDetailStatus" label="鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.doDetailStatus, getEnumDoDetailStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="doLineNumber" label="琛屽彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="unit" label="鍗曚綅"  show-overflow-tooltip="" />
+        <el-table-column prop="quantity" label="鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="deliverQuantity" label="宸插彂璐ф暟"  show-overflow-tooltip="" />
+        <el-table-column prop="createMovementQuantity" label="宸插垱寤烘尝娆℃暟"  show-overflow-tooltip="" />
+        <el-table-column prop="snp" label="鏍囧噯鍖呰"  show-overflow-tooltip="" />
+        <el-table-column prop="custCode" label="瀹㈡埛缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="custName" label="瀹㈡埛鍚嶇О"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsOrderDeliverDetails:update') || auth('wmsOrderDeliverDetails:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsOrderDeliverDetails(scope.row)" v-auth="'wmsOrderDeliverDetails:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsOrderDeliverDetails(scope.row)" v-auth="'wmsOrderDeliverDetails:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsOrderDeliverDetails.page"
+				v-model:page-size="tableParamsWmsOrderDeliverDetails.pageSize"
+				:total="tableParamsWmsOrderDeliverDetails.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsOrderDeliverDetails"
+				@current-change="handleCurrentChangeWmsOrderDeliverDetails"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsOrderDeliverDetails
+        ref="printDialogRefWmsOrderDeliverDetails"
+        :title="printWmsOrderDeliverDetailsTitle"
+        @reloadTable="handleQueryWmsOrderDeliverDetails" />
+      <editDialogWmsOrderDeliverDetails
+        ref="editDialogRefWmsOrderDeliverDetails"
+        :title="editWmsOrderDeliverDetailsTitle"
+        @reloadTable="handleQueryWmsOrderDeliverDetails"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsOrderDeliverDetails">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+
+
+  import printDialogWmsOrderDeliverDetails from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogWmsOrderDeliverDetails from '/@/views/main/WmsOrderDo/wmsOrderDeliverDetails/component/editDialog.vue'
+  import { pageWmsOrderDeliverDetails, deleteWmsOrderDeliverDetails,importExcelWmsOrderDeliverDetails,downloadExcelTemplateWmsOrderDeliverDetails } from '/@/api/main/WmsOrderDo/wmsOrderDeliverDetails';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumDoDetailStatusData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[DO鍗曟槑缁嗘搷浣淽寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsOrderDeliverDetails = ref(false);
+  const tableRefWmsOrderDeliverDetails = ref(null);
+  const printDialogRefWmsOrderDeliverDetails = ref();
+  const editDialogRefWmsOrderDeliverDetails = ref();
+  const loadingWmsOrderDeliverDetails = ref(false);
+  const disabled_btnWmsOrderDeliverDetails = ref(false);
+  const tableDataWmsOrderDeliverDetails = ref<any>([]);
+  const queryParamsWmsOrderDeliverDetails = ref<any>({});
+  const tableParamsWmsOrderDeliverDetails = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsOrderDeliverDetailsTitle = ref("");
+  const editWmsOrderDeliverDetailsTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsOrderDeliverDetails = () => {
+    showAdvanceQueryUIWmsOrderDeliverDetails.value = !showAdvanceQueryUIWmsOrderDeliverDetails.value;
+  }
+
+  // 鏌ヨDO鍗曟槑缁�
+  const handleQueryWmsOrderDeliverDetails = async () => {
+    loadingWmsOrderDeliverDetails.value = true;
+    disabled_btnWmsOrderDeliverDetails.value = true;
+    var res = await pageWmsOrderDeliverDetails(Object.assign(queryParamsWmsOrderDeliverDetails.value, tableParamsWmsOrderDeliverDetails.value));
+    if(res.data.type=="success"){
+      tableDataWmsOrderDeliverDetails.value = res.data.result?.items ?? [];
+      tableParamsWmsOrderDeliverDetails.value.total = res.data.result?.total;
+    }
+    loadingWmsOrderDeliverDetails.value = false;
+    disabled_btnWmsOrderDeliverDetails.value = false;
+  };
+
+  // 閲嶇疆DO鍗曟槑缁嗘煡璇�
+  const resetWmsOrderDeliverDetails = async () => {
+    queryParamsWmsOrderDeliverDetails.value = {}
+  };
+
+  // DO鍗曟槑缁嗗垪鎺掑簭
+  const sortChangeWmsOrderDeliverDetails = async (column: any) => {
+	queryParamsWmsOrderDeliverDetails.value.field = column.prop;
+	queryParamsWmsOrderDeliverDetails.value.order = column.order;
+	await handleQueryWmsOrderDeliverDetails();
+  };
+
+  // 鎵撳紑鏂板DO鍗曟槑缁嗛〉闈�
+  const openAddWmsOrderDeliverDetails = () => {
+    editWmsOrderDeliverDetailsTitle.value = '娣诲姞DO鍗曟槑缁�';
+    editDialogRefWmsOrderDeliverDetails.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃DO鍗曟槑缁嗛〉闈�
+  const openPrintWmsOrderDeliverDetails = async (row: any) => {
+    printWmsOrderDeliverDetailsTitle.value = '鎵撳嵃DO鍗曟槑缁�';
+  }
+  
+  // 鎵撳紑缂栬緫DO鍗曟槑缁嗛〉闈�
+  const openEditWmsOrderDeliverDetails = (row: any) => {
+    editWmsOrderDeliverDetailsTitle.value = '缂栬緫DO鍗曟槑缁�';
+    editDialogRefWmsOrderDeliverDetails.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎DO鍗曟槑缁�
+  const delWmsOrderDeliverDetails = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsOrderDeliverDetails.value = true;
+    var ret = await deleteWmsOrderDeliverDetails(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsOrderDeliverDetails.value = false;
+    handleQueryWmsOrderDeliverDetails();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉DO鍗曟槑缁嗛〉闈㈠閲�
+  const handleSizeChangeWmsOrderDeliverDetails = (val: number) => {
+    tableParamsWmsOrderDeliverDetails.value.pageSize = val;
+    handleQueryWmsOrderDeliverDetails();
+  };
+
+  // 鏀瑰彉DO鍗曟槑缁嗛〉鐮佸簭鍙�
+  const handleCurrentChangeWmsOrderDeliverDetails = (val: number) => {
+    tableParamsWmsOrderDeliverDetails.value.page = val;
+    handleQueryWmsOrderDeliverDetails();
+  };
+
+/***************************************************[DO鍗曟槑缁嗘搷浣淽缁撴潫***************************************************/
+  // DO鍗曟槑缁嗛〉闈㈠姞杞芥椂
+  onMounted(async () => {
+    getEnumDoDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsOrderDeliverDetails();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/applyCardProp.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/applyCardProp.vue
new file mode 100644
index 0000000..c205458
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/applyCardProp.vue
@@ -0,0 +1,178 @@
+锘�<template>
+	<div class="wmsOrderMovement-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>鏂板鐪嬫澘鍗�</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="24" class="mb20">
+						<el-form-item label="鐪嬫澘鍗″彿" prop="orderNo">
+							<el-input v-model="ruleForm.orderNo" placeholder="璇疯緭鍏ョ湅鏉垮崱鍙�" maxlength="50" show-word-limit clearable />							
+						</el-form-item>						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="24" class="mb20">
+						<el-form-item label="鏉ユ簮搴撳尯" prop="orderType">
+							<el-select clearable v-model="ruleForm.orderType" placeholder="璇烽�夋嫨鏉ユ簮搴撳尯">
+								<el-option v-for="(item,index) in  getEnumOrderTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>								
+							</el-select>							
+						</el-form-item>						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="24" class="mb20">
+						<el-form-item label="鐩爣搴撳尯" prop="businessType">
+							<el-select clearable v-model="ruleForm.businessType" placeholder="璇烽�夋嫨鐩爣搴撳尯">
+								<el-option v-for="(item,index) in  getEnumBusinessTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>								
+							</el-select>							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="24" class="mb20">
+						<el-form-item label="鐩爣鐐逛綅" prop="orderSocure">
+							<el-select clearable v-model="ruleForm.orderSocure" placeholder="璇烽�夋嫨鐩爣鐐逛綅">
+								<el-option v-for="(item,index) in  getEnumOrderSocureData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>								
+							</el-select>							
+						</el-form-item>						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="24" class="mb20">
+						<el-form-item label="鐗╂枡缂栫爜" prop="orderNo">
+							<el-input v-model="ruleForm.orderNo" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�" maxlength="50" show-word-limit clearable />							
+						</el-form-item>						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="24" class="mb20">
+						<el-form-item label="鏁伴噺" prop="orderNo">
+							<el-input v-model="ruleForm.orderNo" placeholder="璇疯緭鍏ユ暟閲�" maxlength="50" show-word-limit clearable />							
+						</el-form-item>						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="24" class="mb20">
+						<el-form-item label="渚涘簲鍟嗕唬鐮�" prop="orderStatus">
+							<el-select clearable v-model="ruleForm.orderStatus" placeholder="璇烽�夋嫨渚涘簲鍟嗕唬鐮�">
+								<el-option v-for="(item,index) in  getEnumOrderStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>								
+							</el-select>							
+						</el-form-item>						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsOrderMovement, updateWmsOrderMovement, detailWmsOrderMovement } from "/@/api/main/WmsOrder/wmsOrderMovement";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumOrderTypeData = ref<any>([]);
+	const getEnumBusinessTypeData = ref<any>([]);
+	const getEnumOrderSocureData = ref<any>([]);
+	const getEnumOrderStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		orderNo: [{required: true, message: '璇疯緭鍏ョ湅鏉垮崱鍙凤紒', trigger: 'blur',},],
+		orderType: [{required: true, message: '璇烽�夋嫨鏉ユ簮搴撳尯锛�', trigger: 'change',},],
+		businessType: [{required: true, message: '璇烽�夋嫨鐩爣搴撳尯锛�', trigger: 'change',},],
+		orderSocure: [{required: true, message: '璇烽�夋嫨鐩爣鐐逛綅锛�', trigger: 'change',},],
+		orderStatus: [{required: true, message: '璇烽�夋嫨渚涘簲鍟嗕唬鐮侊紒', trigger: 'change',},],
+		isDelete: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鐮侊紒', trigger: 'change',},],
+		sss: [{required: true, message: '璇疯緭鍏ユ暟閲忥紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async () => {
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsOrderMovement(values);
+				} 
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success('鐪嬫澘鍗℃柊澧炴垚鍔�');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/editDialog.vue
new file mode 100644
index 0000000..d690e23
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/editDialog.vue
@@ -0,0 +1,192 @@
+锘�<template>
+	<div class="wmsOrderMovement-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓婃灦鍗曞彿" prop="orderNo">
+							<el-input v-model="ruleForm.orderNo" placeholder="璇疯緭鍏ヤ笂鏋跺崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁绫诲瀷" prop="orderType">
+							<el-select clearable v-model="ruleForm.orderType" placeholder="璇烽�夋嫨鍗曟嵁绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumOrderTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷" prop="businessType">
+							<el-select clearable v-model="ruleForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumBusinessTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鏉ユ簮" prop="orderSocure">
+							<el-select clearable v-model="ruleForm.orderSocure" placeholder="璇烽�夋嫨鍗曟嵁鏉ユ簮">
+								<el-option v-for="(item,index) in  getEnumOrderSocureData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鐘舵��" prop="orderStatus">
+							<el-select clearable v-model="ruleForm.orderStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+								<el-option v-for="(item,index) in  getEnumOrderStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsOrderMovement, updateWmsOrderMovement, detailWmsOrderMovement } from "/@/api/main/WmsOrder/wmsOrderMovement";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumOrderTypeData = ref<any>([]);
+	const getEnumBusinessTypeData = ref<any>([]);
+	const getEnumOrderSocureData = ref<any>([]);
+	const getEnumOrderStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		orderNo: [{required: true, message: '璇疯緭鍏ヤ笂鏋跺崟鍙凤紒', trigger: 'blur',},],
+		orderType: [{required: true, message: '璇烽�夋嫨鍗曟嵁绫诲瀷锛�', trigger: 'change',},],
+		businessType: [{required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change',},],
+		orderSocure: [{required: true, message: '璇烽�夋嫨鍗曟嵁鏉ユ簮锛�', trigger: 'change',},],
+		orderStatus: [{required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsOrderMovement(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsOrderMovement(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsOrderMovement(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropCjbc.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropCjbc.vue
new file mode 100644
index 0000000..b9277ac
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropCjbc.vue
@@ -0,0 +1,1292 @@
+<template>
+	<!-- 鍒涘缓娉㈡ -->
+	<el-dialog v-model="dialogVisible" width="95%" @close="closeDialog" :close-on-click-modal="false">
+		<template #header>
+			<div style="color: #fff">
+				<span>涓嬫灦鍗�-鍒涘缓娉㈡</span>
+			</div>
+		</template>
+
+		<el-form :model="materialForm" label-width="70px">
+			<el-row>
+				<el-col :span="5">
+					<el-form-item label="鐗╂枡缂栧彿">
+						<el-input v-model="materialForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+					</el-form-item>
+				</el-col>
+
+				<el-col :span="5">
+					<el-form-item label="涓嬫灦鍗曞彿" prop="movementNo">
+						<el-input v-model="materialForm.movementNo" placeholder="璇疯緭鍏ヤ笅鏋跺崟鍙�" maxlength="255" show-word-limit
+							clearable />
+					</el-form-item>
+				</el-col>
+
+				<el-col :span="8">
+					<el-form-item label-width="20px">
+						<el-button type="primary" icon="el-icon-search" @click="getOrderMaterialList">鏌ヨ</el-button>
+						<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+
+		<div class="msi-content" style="margin-top: 10px">
+			<!-- <div class="header" style="margin-bottom: 10px">
+				<div>
+					<el-button v-show="isPoBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog('po')">鍏宠仈ASN鍗�</el-button>
+
+					<el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+						@click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+				</div>
+			</div> -->
+			<el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+				@selection-change="detailsCheckChange" max-height="480" @expand-change="getChildList">
+				<el-table-column align="center" width="60" type="selection" />
+
+				<el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column fixed="left" prop="movementNo" min-width="160px" label="涓嬫灦鍗曞彿" show-overflow-tooltip="" />
+				<el-table-column fixed="left" prop="materialCode" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="lineNumber" label="琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="asnStatus" min-width="80px" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						{{ scope.row.orderStatusName }}
+					</template>
+				</el-table-column>
+
+				<el-table-column prop="dispenseQuantity" label="鍒嗛厤鏁�" show-overflow-tooltip="" />
+				<el-table-column prop="predetermineQuantity" label="棰勯厤鏁�" show-overflow-tooltip="" />
+
+				<el-table-column prop="pickQuantity" label="鎷h揣鏁�" show-overflow-tooltip="" />
+				<el-table-column prop="offShelvesQuantity" label="涓嬫灦鏁�" show-overflow-tooltip="" />
+
+				<el-table-column prop="quantityTotal" label="璁㈠崟鏁�" show-overflow-tooltip="" />
+				<el-table-column prop="createWaveQuantity" label="娉㈡鏁�" show-overflow-tooltip="" />
+				<el-table-column label="闇�姹傛暟" align="center" width="140">
+					<template #default="scope">
+						<el-input-number min="0" v-model="scope.row.quantity" size="small" />
+					</template>
+				</el-table-column>
+<!-- 
+				<el-table-column label="寰�鏉ヤ紒涓�" align="center" min-width="180">
+					<template #default="scope">
+						<el-select v-model="scope.row.custCode" filterable remote reserve-keyword remote-show-suffix
+							:remote-method="remoteMethod" :loading="loading" placeholder="璇烽�夋嫨寰�鏉ヤ紒涓�" clearable
+							style="width: 100%" @change="changeXmbh(scope.row.custCode)">
+							<el-option v-for="(item, index) in arrTdp" :key="index" :value="item.custCode"
+								:label="`[${item.custCode}]${item.custChinaName}`"></el-option>
+						</el-select>
+					</template>
+				</el-table-column> -->
+
+				<el-table-column label="浼樺厛绾�" align="center" min-width="110px">
+					<template #default="scope">
+						<el-input-number :precision="0" min="0" v-model="scope.row.priority" size="small" />
+					</template>
+				</el-table-column>
+				<el-table-column prop="relationNo" label="DO鍗曞彿" min-width="160px" show-overflow-tooltip="" />
+				<el-table-column prop="relationNoLineNumber" label="DO琛屽彿" min-width="110px" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="poUnit" label="閲囪喘鍗曚綅" min-width="80px" show-overflow-tooltip="" /> -->
+				<el-table-column prop="unit" label="搴撳瓨鍗曚綅" min-width="80px" show-overflow-tooltip="" />
+
+			</el-table>
+
+			<Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+				@pagination="getOrderMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" :disabled="warehousOrderDetails.length == 0" @click="confirm">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 娣诲姞鐗╂枡 -->
+	<el-dialog v-model="addMaterialVisible" width="70%" @close="closeMaterialDialog">
+		<template #header>
+			<div style="color: #fff">
+				<span v-if="isMaterialBox == 1">娣诲姞鐗╂枡璇︽儏</span>
+				<span v-if="isPoBox == 1">鍏宠仈ASN鍗曠墿鏂�</span>
+			</div>
+		</template>
+
+		<div class="msi-form" style="padding-top: 0px">
+			<el-form :model="materialForm">
+				<el-row>
+					<el-col :span="8" v-if="isMaterialBox == 1">
+						<el-form-item label="鐗╂枡缂栧彿">
+							<el-input v-model="materialForm.Code" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8" v-if="isPoBox == 1">
+						<el-form-item label="鍏宠仈ASN鍗曞彿:">
+							<el-input v-model="materialForm.poNo" placeholder="璇疯緭鍏ュ叧鑱擜SN鍗曞彿" clearable></el-input>
+						</el-form-item>
+					</el-col>
+
+					<el-col :span="8">
+						<el-form-item label-width="20px">
+							<el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+							<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</div>
+		<div class="msi-content" style="padding-top: 0; margin-top: 10px">
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isMaterialBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+
+				<el-table-column label="鍗曚綅" prop="poUnit" align="center" min-width="140" show-overflow-tooltip />
+			</el-table>
+			<!-- ASN鍗� -->
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isPoBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column prop="poNo" label="PO鍗曞彿" min-width="120px" show-overflow-tooltip="" />
+				<el-table-column prop="poLineNumber" min-width="100px" label="PO琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="asnLineNumber" min-width="100px" label="ASN琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" min-width="130px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="asnStatus" min-width="100px" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag :type="getTypeStatus(
+							1,
+							getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index)
+						)
+							">
+							{{ getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index) }}
+						</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="quantity" min-width="100px" label="閫佽揣鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="goodsQuantity" min-width="100px" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="supplierCode" min-width="100px" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierName" min-width="100px" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierBatch" min-width="100px" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" />
+				<el-table-column prop="unit" min-width="100px" label="鍗曚綅" show-overflow-tooltip="" />
+
+				<el-table-column prop="sN_1d" min-width="120px" label="涓�缁存潯鐮�" show-overflow-tooltip="" />
+				<el-table-column prop="sN_2d" min-width="120px" label="浜岀淮鏉$爜" show-overflow-tooltip="" />
+				<el-table-column prop="package" min-width="100px" label="鍖呰鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="plannedStartTime" min-width="120px" label="璁″垝寮�濮嬫椂闂�" :formatter="formatDate_T_Date"
+					show-overflow-tooltip="" />
+				<el-table-column prop="plannedEndTime" min-width="120px" label="璁″垝缁撴潫鏃堕棿" :formatter="formatDate_T_Date"
+					show-overflow-tooltip="" />
+				<el-table-column prop="projectNo" min-width="100px" label="椤圭洰鍙�" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="factoryName" min-width="100px" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="factoryCode" min-width="100px" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+				<el-table-column prop="dock" min-width="100px" label="鏀惰揣閬撳彛" show-overflow-tooltip="" />
+
+				<el-table-column prop="batch" min-width="100px" label="鎵规" show-overflow-tooltip="" />
+
+				<el-table-column prop="erpCode" min-width="100px" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
+				<el-table-column prop="erpOrderNo" min-width="100px" label="ERP鍗曞彿" show-overflow-tooltip="" />
+
+				<!-- <el-table-column prop="createTime" min-width="100px" label="鍒涘缓鏃堕棿" width="130"
+						:formatter="formatDate_T_Time" show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" min-width="100px" label="淇敼鏃堕棿" width="130"
+						:formatter="formatDate_T_Time" show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" min-width="120px" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" min-width="120px" label="淇敼浜�" show-overflow-tooltip="" /> -->
+			</el-table>
+
+			<Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+				@pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 鍗曡鎯� -->
+	<el-drawer v-model="drawerVisible" :title="`${detailForm.asnId}璁㈠崟璇︽儏`" direction="rtl" size="80%"
+		@close="handleDrawerClose">
+		<template #title>
+			<div class="slot_title">
+				<div class="title_orderNo">{{ title }}</div>
+				<div>璁㈠崟璇︽儏</div>
+			</div>
+		</template>
+
+		<div class="detailBoxWrap">
+			<!-- 璇︽儏缁勪欢 -->
+			<open-details ref="propDetailRef"></open-details>
+			<div class="msi-form">
+				<el-form :model="detailForm">
+					<el-row>
+						<el-col :span="6">
+							<el-form-item label="鐗╂枡缂栧彿">
+								<el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="2">
+							<el-form-item label-width="20px">
+								<el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-form>
+			</div>
+			<div class="msi-content">
+				<!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+				<el-table :data="drawerList" border striped :max-height="480">
+					<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+
+					<!-- <el-table-column prop="qCOrderId" label="璐ㄦ鍗旾D"  show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="businessType" label="涓氬姟绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.businessType, getEnumBusinessTypeData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+
+					<el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="materialName" min-width="110px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="qcQuantity" label="瀹炴鏁伴噺" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="qCStatus" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+					<el-table-column prop="qcStatus" label="璐ㄦ鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{
+								getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)
+							}}</el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column prop="passQuantity" label="鍚堟牸鏁伴噺" show-overflow-tooltip="" />
+					<el-table-column prop="rejectQuantity" label="涓嶅悎鏍兼暟閲�" show-overflow-tooltip="" />
+					<el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+
+					<el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" show-overflow-tooltip="" />
+					<el-table-column prop="qCOrderStatus" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{
+								getEnumDesc(scope.row.qcOrderStatus, getEnumAsnStatusData_Index)
+							}}</el-tag>
+						</template>
+					</el-table-column>
+					<!-- <el-table-column prop="qcOrderStatusName" label="鍗曟嵁鐘舵��"  show-overflow-tooltip="" /> -->
+
+					<el-table-column prop="unit" label="鍗曚綅" show-overflow-tooltip="" />
+					<el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+					<el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+					<el-table-column prop="custCode" label="瀹㈡埛缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="custChinaName" min-width="110px" label="瀹㈡埛涓枃鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="custEnglishName" min-width="110px" label="瀹㈡埛鑻辨枃鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="relationOrderType" label="鍏宠仈鍗曟嵁绫诲瀷"  show-overflow-tooltip="" /> -->
+					<el-table-column prop="relationOrderTypeName" min-width="110px" label="鍏宠仈鍗曟嵁绫诲瀷"
+						show-overflow-tooltip="" />
+					<!-- <el-table-column prop="factoryId" label="宸ュ巶ID"  show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="factoryName" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="factoryCode" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+					<el-table-column prop="remarks" label="澶囨敞" show-overflow-tooltip="" />
+					<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+				</el-table>
+				<Pagination :total="detailCount" v-model:page="detailForm.PageNo" v-model:limit="detailForm.PageSize"
+					@pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+				<div></div>
+			</div>
+		</div>
+	</el-drawer>
+
+	<el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+		<el-form :model="outerForm2" label-width="120px">
+			<el-row style="font-size: 16px">
+				<el-col :span="23">
+					<el-form-item label="鍗曞彿:" required>
+						<el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="outVisible2 = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="getSapOrderPO">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+</template>
+<script lang="ts" setup>
+import Pagination from "/@/components/Pagination/index.vue";
+import { ElMessage, ElMessageBox } from "element-plus";
+import {
+	ref,
+	nextTick,
+	computed,
+	getCurrentInstance,
+	watch,
+	defineExpose,
+	defineProps,
+	onMounted,
+} from "vue";
+
+import { formatDecimalData } from "/@/utils/formate";
+
+import cache from "/@/utils/cache";
+import { pageWmsMaterial } from "/@/api/main/WmsBase/wmsMaterial";
+import { getTypeStatus } from "/@/utils/formate";
+import { getAPI } from "/@/utils/axios-utils";
+import { SysEnumApi } from "/@/api-services/api";
+import {
+	addWmsOrderPurchase,
+	updateWmsOrderPurchase,
+	detailWmsOrderPurchase,
+} from "/@/api/main/WmsOrder/wmsOrderPurchase";
+import OpenDetails from "/@/components/openDetails/openDetails.vue";
+import { pageBaseCustomer } from "/@/api/main/WmsBase/baseCustomer";
+import { pageWmsOrderPurchaseDetails } from "/@/api/main/WmsOrder/wmsOrderPurchaseDetails";
+import {
+	pageWmsOrderAsnDetails,
+	deleteWmsOrderAsnDetails,
+} from "/@/api/main/WmsOrder/wmsOrderAsnDetails";
+import commonFunction from "/@/utils/commonFunction";
+import {
+	addWmsOrderAsn,
+	updateWmsOrderAsn,
+	detailWmsOrderAsn,
+} from "/@/api/main/WmsOrder/wmsOrderAsn";
+
+import {
+	addWmsQc,
+	updateWmsQc,
+	detailWmsQc,
+	confirmWmsQc,
+} from "/@/api/main/WmsQC/wmsOrderQc";
+import { pageWmsQcDetails } from "/@/api/main/WmsQC/wmsOrderQcDetails";
+import { pageWmsOrderMovementDetails } from "/@/api/main/WmsOrder/wmsOrderMovementDetails";
+import { addWmsOrderSort, pageWmsOrderSort } from "/@/api/main/WmsOrderDo/wmsOrderSort";
+import { addWmsOrderSortDetails } from "/@/api/main/WmsOrderDo/wmsOrderSortDetails";
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getEnumOrderTypeData = ref<any>([]);
+const getEnumBusinessTypeData = ref<any>([]);
+const getEnumPoStatusData = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(["getTabelData"]);
+const getEnumAsnStatusData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumQCStatusData_Index = ref<any>([]);
+
+const getEnumDockData = ref<any>([]);
+const props = defineProps({
+	titleAuthor: {
+		type: Number,
+		required: true,
+	},
+	hexiao: {
+		type: Number,
+		default: 1,
+		required: true,
+	},
+});
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor);
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+// 鐧诲綍鐢ㄦ埛id
+// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
+
+// const EnumWriteOffState = computed(
+//   () => store.state.login.enums.enumWriteOffState
+// );
+
+let itemBtnArr = ["鎵归噺鍒犻櫎", "缂栬緫", "鏂板"];
+const boolEnum = ref([
+	{
+		title: "鏄�",
+		value: true,
+	},
+	{
+		title: "鍚�",
+		value: false,
+	},
+]);
+
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref("");
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+	return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+	orderDoRuType.value = param;
+	uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+	getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+	ElMessageBox.confirm("鏄惁纭鑾峰彇鏇存柊锛�", "鎻愮ず", {
+		confirmButtonText: "纭",
+		cancelButtonText: "鍙栨秷",
+		type: "warning",
+	}).then(() => {
+		// getSapRkPurchase().then((res) => {
+		//   if (res.code == 200) {
+		//     ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+		//   } else {
+		//     ElMessage.error(
+		//       `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+		//     );
+		//   }
+		// })
+	});
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+	purchaseNo: "",
+});
+const getSapOrderPO = (param?: number) => {
+	if (param && param == 1) {
+		outVisible2.value = true;
+		return;
+	}
+	if (outerForm2.value.purchaseNo == "") {
+		ElMessage.warning("璇疯緭鍏ュ崟鍙�");
+		return;
+	}
+	// getSapPurchasePO({
+	//   purchaseNo: outerForm2.value.purchaseNo
+	// })
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       ElMessage.success("SAP鑾峰彇鎴愬姛");
+	//       outVisible2.value = false;
+	//     } else {
+	//       ElMessage.error(
+	//         `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+	//       );
+	//     }
+	//   })
+	//   .catch((err) => ElMessage.error(err));
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+	outerForm2.value.purchaseNo = "";
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+	WareMaterialCode: "",
+	WareMaterialName: "",
+	PurchaseNo: "",
+	CreatedUserName: "",
+	CreatedTimeBegin: "",
+	CreatedTimeEnd: "",
+	CreateDate: [],
+	IssueTimeBegin: "",
+	IssueTimeEnd: "",
+	IssueDate: [],
+	MaterialTypeStaus: "",
+	SourceBy: "",
+	WriteOffState: "",
+	signStatus: "",
+	status: "",
+	freeOrderType: "",
+	IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+	// LoginUserID: LoginUserID, //鐢ㄦ埛id
+	OrderMenuType: "", //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+	Page: 1,
+	PageSize: 10,
+	poApprovalStatus: "",
+	keyCode: "",
+	IsDisable: "", //鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+const tableRef = ref();
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache("enumList");
+console.log(enumList.inEnumOrderType);
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+	//鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+		formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+		formModel.value.CreatedTimeEnd = ""; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+			formModel.value.CreatedTimeBegin = "";
+			formModel.value.CreatedTimeEnd = "";
+		}
+	}
+	//鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+		formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+		formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+			formModel.value.IssueTimeBegin = "";
+			formModel.value.IssueTimeEnd = "";
+		}
+	}
+
+	//鍏跺畠鍏ュ簱鍏ュ彛
+	// if (titleAuthor.value == 1) { //鍏嶈垂鍏ュ簱鍗曠鐞�
+	// }
+
+	// if (titleAuthor.value == 2) { //璁㈠崟鍏ュ簱绠$悊
+	// }
+
+	// getPurchasePageForAllData(formModel.value)
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       const { data } = res;
+	//       const result = data;
+	//       result.rows.map(
+	//         (item: { hasChildren: boolean }) => (item.hasChildren = true)
+	//       );
+	//       tableData.value = result.rows;
+	//       totalItems.value = result.totalRows;
+	//       orderType.value = formModel.value.MaterialTypeStaus;
+	//       // 娓呴櫎閫変腑
+	//       nextTick(() => {
+	//         if (tableRef.value && typeof tableRef.value.clearSelection === 'function') {
+	//           checkRows.value = [];
+	//           tableRef.value.clearSelection();
+	//         }
+	//       })
+	//     } else {
+	//       ;
+	//     }
+	//   })
+	//   .catch((err) => {
+	//     console.log(err);
+	//     ElMessage.error(JSON.stringify(err));
+	//   });
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+	formModel.value = {
+		WareMaterialCode: "",
+		WareMaterialName: "",
+		PurchaseNo: "",
+		CreatedUserName: "",
+		CreatedTimeBegin: "",
+		CreatedTimeEnd: "",
+		CreateDate: [],
+		IssueTimeBegin: "",
+		IssueTimeEnd: "",
+		IssueDate: [],
+		MaterialTypeStaus: "",
+		SourceBy: "",
+		WriteOffState: "",
+		signStatus: "",
+		status: "",
+		freeOrderType: "",
+		IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+		//  LoginUserID: LoginUserID, //鐢ㄦ埛id
+		OrderMenuType: "", //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+		Page: 1,
+		PageSize: 10,
+		poApprovalStatus: "",
+		keyCode: "",
+		IsDisable: "", //鏄惁浣滃簾
+	};
+	getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+//瀵煎嚭PO鍗曡鎯�
+const handExport = () => {
+	// rkExport(formModel.value)
+	//   .then((res) => {
+	//     const link = document.createElement("a"); //鍒涘缓a鏍囩
+	//     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+	//     let objectUrl = URL.createObjectURL(blob);
+	//     link.href = objectUrl;
+	//     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+	//       new Date().toString(),
+	//       "YYYY-MM-DD hh:mm:ss"
+	//     )}`; // 鑷畾涔夋枃浠跺悕
+	//     link.click(); // 涓嬭浇鏂囦欢
+	//     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+	//   }).catch((err) => ElMessage.error(JSON.stringify(err)));
+	//瀵煎嚭璋冪敤鎺ュ彛
+	// let entozh = entozhExcell
+	//   const { PageNo, PageSize, ...rest } = formModel.value
+	//   getPurchasePage({ Page: 1, PageSize: 1000000, ...rest }).then(res => {
+	//     if(res.code==200){
+	//       res.data.rows.forEach((item)=>{
+	//         item.writeOffState = EnumWriteOffState.value.filter((v: any) => v.value == item.writeOffState)[0].title;
+	//         item.sourceBy =  sourceEnum.value.filter((v: any) => v.value == item.sourceBy)[0].title;
+	//       })
+	//       exportExcel(res.data.rows, entozh, "xlsx", `鍏ュ簱绠$悊琛�${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`);
+	//     }
+	//   })
+	// 鍚庣瀵煎嚭-瀛楁涓嶅叏
+	// if (checkRows.value.length <= 0) {
+	//   ElMessage.warning("璇烽�夋嫨涓�涓鍗曪紒");
+	//   return
+	// }
+	// const arr = checkRows.value.reduce((curr, item) => {
+	//   curr.push(item.purchaseNo);
+	//   return curr;
+	// }, []);
+	// puchaseExport({ PurchaseNo: arr })
+	//   .then((res) => {
+	//     const link = document.createElement("a"); //鍒涘缓a鏍囩
+	//     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+	//     let objectUrl = URL.createObjectURL(blob);
+	//     link.href = objectUrl;
+	//     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+	//       new Date().toString(),
+	//       "YYYY-MM-DD hh:mm:ss"
+	//     )}`; // 鑷畾涔夋枃浠跺悕
+	//     link.click(); // 涓嬭浇鏂囦欢
+	//     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+	//   })
+	//   .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+	materialCode: "",
+	Page: 1,
+	PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref("drawerAll");
+// const
+//鍗曞彿
+const purchaseNo = ref("");
+const detailCount2 = ref(0);
+const detailForm2 = ref({
+	Page: 1,
+	PageSize: 10,
+	qcOrderId: "",
+});
+const getEnumPoDetailStatusData_Index = ref<any>([]);
+
+const drawerList2 = ref<DetailType[]>([]);
+//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+const getDetail = async () => {
+	loading.value = true;
+	var res = await pageWmsOrderMovementDetails(Object.assign(detailForm.value));
+	var listD = res.data.result?.items ?? [];
+	drawerList.value = listD;
+	detailCount.value = res.data.result?.total;
+	loading.value = false;
+	getEnumPoDetailStatusData_Index.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+		[];
+
+	getEnumAsnStatusData_Index.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+		[];
+};
+
+//----------------鐗╂枡鏄庣粏
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+	detailForm.value.PageNo = 1;
+	detailForm.value.PageSize = 10;
+	if (scope.asnNo) {
+		title.value = `${scope.asnNo}`;
+	}
+	drawerType.value = "drawerAll";
+	drawerVisible.value = true;
+	//褰撳墠鍏ュ簱鍗曞彿id
+	detailForm.value.asnId = scope.id;
+	//鍏ュ簱鍗�
+	purchaseNo.value = scope.purchaseNo;
+	detailForm2.value.asnId = scope.id;
+	//鑾峰彇鐗╂枡鍒楄〃
+	if (detailForm2.value.asnId == "") {
+		drawerList2.value = [];
+		detailCount2.value = 0;
+		return;
+	}
+	// 鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	getDetail();
+
+	getEnumPoDetailStatusData_Index.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+		[];
+	const getEnumBusinessTypeData_Index = ref<any>([]);
+	getEnumBusinessTypeData_Index.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("BusinessTypeEnum")).data
+			.result ?? [];
+
+	// 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+	let scopetrans = JSON.parse(JSON.stringify(scope));
+	// scopetrans.totalquantity = Number(scopetrans.totalquantity).toFixed(3);
+	// scopetrans.quantity = Number(scopetrans.quantity).toFixed(3);
+	// scopetrans.goodsquantity = Number(scopetrans.goodsquantity).toFixed(3);
+	// scopetrans.surplusquantity = Number(scopetrans.surplusquantity).toFixed(3);
+	scopetrans.qcOrderStatus = getEnumDesc(
+		scopetrans.qcOrderStatus,
+		getEnumPoDetailStatusData_Index.value
+	);
+	scopetrans.businessType = getEnumDesc(
+		scopetrans.businessType,
+		getEnumBusinessTypeData_Index.value
+	);
+	nextTick(() => {
+		proxy.$refs["propDetailRef"].openADialog(scopetrans, entozhExcell);
+	});
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+	detailForm.value = {
+		materialCode: "",
+		asnId: "",
+		Page: 1,
+		PageSize: 10,
+	};
+	deltailList.value = [];
+	detailCount.value = 0;
+	drawerList.value = [];
+	drawerList2.value = [];
+	detailCount2.value = 0;
+	drawerList2.value = [];
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+	id: number;
+	barCode: string;
+	wareMaterialCode: string;
+	name: string;
+	signStatus: string;
+	category: string;
+	materialTypeName: string;
+	specificationModel: string;
+	long: number;
+	width: number;
+	high: number;
+	weight: number;
+	unit: string;
+	createdTime: string;
+	purchaseNo: string;
+	quantity: number;
+	goodsquantity: number;
+	surplusquantity: number;
+	poLineNumber: string;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref("");
+
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref("add");
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+	hasTMCode: false,
+	asnType: "",
+	dock: "",
+	projectNo: "",
+	OrderDetails: [] as any[],
+});
+
+// 鐗规畩瀛楃鐨勯獙璇�
+// 鍖呭惈鐗规畩瀛楃杩斿洖true锛屼笉鍖呭惈鐗规畩瀛楃杩斿洖false
+const checkEspcial = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[@$%*^:;锛氾紱~+=!锛�#^{}><.,锛屻�俔/g;
+		if (!reg.test(value.trim())) {
+			callback();
+		} else {
+			return callback(new Error("涓嶈兘瀛樺湪鐗规畩绗﹀彿"));
+		}
+	}
+};
+
+// 楠岃瘉瑙掕壊缂栧彿
+var validatorCode = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[\u4E00-\u9FA5]/g;
+		if (!reg.test(value)) {
+			callback();
+		} else {
+			return callback(new Error("鍗曞彿涓嶈兘瀛樺湪姹夊瓧"));
+		}
+	}
+};
+
+//rules
+const formRules = {
+	// businessType: [{ required: true, message: '璇烽�夋嫨璁㈠崟绫诲瀷锛�', trigger: 'change' }],
+	orderTypeName: [{ required: true, message: "璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒", trigger: "blur" }],
+	businessType: [{ required: true, message: "璇烽�夋嫨涓氬姟绫诲瀷锛�", trigger: "change" }],
+	businessTypeName: [
+		{ required: true, message: "璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒", trigger: "blur" },
+	],
+	orderSocure: [{ required: true, message: "璇疯緭鍏ュ崟鎹潵婧愶紒", trigger: "blur" }],
+	poStatus: [{ required: true, message: "璇烽�夋嫨鍗曟嵁鐘舵�侊紒", trigger: "change" }],
+	poStatusName: [{ required: true, message: "璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒", trigger: "blur" }],
+	supplierCode: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�", trigger: "blur" }],
+	supplierName: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�", trigger: "blur" }],
+	factoryId: [{ required: true, message: "璇疯緭鍏ュ伐鍘侷D锛�", trigger: "blur" }],
+	// purchaseNo: [
+	//   { required: true, message: "鍗曞彿涓嶈兘涓虹┖", trigger: "blur" },
+	//   { validator: validatorCode, trigger: "blur" },
+	//   { validator: checkEspcial, trigger: "blur" }
+	// ],
+};
+//鎵撳紑
+const openDialog = async (type: number, scope: any = {}) => {
+	materialForm.value.PageSize = 10;
+	// addForm.value = { ...scope };
+	materialForm.value.OrdersId = scope.join(",");
+	materialForm.value.OrderStatusForSort = 1; //浼�1 鏌ユ柊寤� 鎵ц涓殑鐗╂枡
+	debugger;
+	getOrderMaterialList();
+	//----------------鐗╂枡鏄庣粏
+	dialogVisible.value = true;
+	//娓呴櫎閫変腑椤�
+	// nextTick(() => {
+	// 	dialogRef.value.clearValidate();
+	// });
+};
+
+// ---------------- 鏄庣粏 ------------------
+const getOrderMaterialList = async () => {
+	loading.value = true;
+	var res = await pageWmsOrderMovementDetails(Object.assign(materialForm.value));
+	var listD = res.data.result?.items ?? [];
+
+	listD = listD.filter((v:any)=>  v.quantity > v.createWaveQuantity); //鍙樉绀洪渶姹傛暟澶т簬0鐨�
+	if (listD.length > 0) {
+		listD.forEach((item: any) => {
+			item.priority = 0;
+			item.quantityTotal = item.quantity;
+			item.quantity = Number(
+				Number(item.quantityTotal) - Number(item.createWaveQuantity)
+			).toFixed(3);
+		});
+	}
+	warehousOrderDetails.value = listD;
+	var lengthSame = listD.filter((detail:any) => detail.movementNo == listD[0].movementNo);
+	debugger
+	if (listD.length == lengthSame.length) {//鎼滅储鍒板悓涓�涓崟鍙蜂笅闈㈢殑鏃跺�� 鍏ㄩ儴閫変腑
+		nextTick(() => {
+			detailRef.value.toggleAllSelection();
+		});
+	}
+	loading.value = false;
+
+	
+
+	// if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].poNo) {
+	// 	isPoBox.value = 1;
+	// 	isMaterialBox.value = 0;
+	// } else {
+	// 	isPoBox.value = 0;
+	// 	isMaterialBox.value = 1;
+	// }
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+	return row.id + row.asnLineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+	addForm.value = {
+		hasTMCode: false,
+		asnType: "",
+		dock: "",
+		projectNo: "",
+		OrderDetails: [] as any[],
+	};
+	warehousOrderDetails.value = [];
+	checkedDetails.value = [];
+	deltailList.value = [];
+	detailCount.value = 0;
+	detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+	ElMessageBox.confirm("鏄惁纭鍒犻櫎锛�", "鎻愮ず", {
+		confirmButtonText: "纭",
+		cancelButtonText: "鍙栨秷",
+		type: "warning",
+	})
+		.then(() => {
+			let arr = [];
+			if (checkedDetails.value[0].diRelationID) {
+				checkedDetails.value.forEach((item) => {
+					console.log(item);
+					let index = warehousOrderDetails.value.findIndex(
+						(detail) =>
+							detail.code == item.code && detail.diRelationID == item.diRelationID
+					);
+					if (index > -1) {
+						warehousOrderDetails.value.splice(index, 1);
+					}
+				});
+			} else {
+				checkedDetails.value.forEach((item) => {
+					let index = warehousOrderDetails.value.findIndex(
+						(detail) =>
+							detail.code == item.code && detail.asnLineNumber == item.asnLineNumber
+					);
+					warehousOrderDetails.value.splice(index, 1);
+				});
+			}
+			arr = warehousOrderDetails.value;
+			warehousOrderDetails.value = [];
+			//bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+			nextTick(() => {
+				warehousOrderDetails.value = arr;
+				checkedDetails.value = [];
+				detailRef.value.clearSelection();
+			});
+		})
+		.catch(() => ElMessage.info("宸插彇娑堝垹闄�"));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const confirm = async () => {
+	console.log("纭");
+	// let idx = warehousOrderDetails.value.findIndex((v) => v.asnLineNumber == '' || v.asnLineNumber == undefined);
+	// if (idx > -1) {
+	// 	ElMessage.warning('璇疯緭鍏ヨ鍙�');
+	// 	return;
+	// }
+	// let isNext = '';
+	// warehousOrderDetails.value.forEach((item) => {
+	// 	const arr: any = warehousOrderDetails.value.filter((detail) => detail.asnLineNumber == item.asnLineNumber);
+	// 	if (arr.length > 1) {
+	// 		isNext = `琛屽彿锛�${arr[0].asnLineNumber}涓嶈兘鐩稿悓`;
+	// 		return;
+	// 	}
+	// });
+	// if (isNext != '') {
+	// 	ElMessage.warning(isNext);
+	// 	return;
+	// }
+
+	// let idx2 = warehousOrderDetails.value.findIndex((v) => v.passQuantity == '' || v.passQuantity == undefined);
+	// de
+	// if (idx2 > -1) {
+	// 	ElMessage.warning('鍚堟牸鏁伴噺涓嶅悎瑙勮寖锛�');
+	// 	return;
+	// }
+	// addForm.value.OrderDetails = [];
+	// warehousOrderDetails.value.forEach((item) => {
+	// 	const obj = {
+	// 		...item,
+	// 		relationNo :item.movementNo
+	// 	};
+	// 	addForm.value.OrderDetails.push(obj);
+	// });
+	if (checkedDetails.value.length <= 0) {
+		ElMessage.warning("璇烽�夋嫨闇�瑕佸垱寤烘尝娆$殑鐗╂枡锛�");
+		return;
+	}
+
+	var notAl = false;
+	checkedDetails.value.forEach((item) => {
+		if (
+			item.quantity >
+			Number(Number(item.quantityTotal) - Number(item.createWaveQuantity)).toFixed(3)
+		) {
+			notAl = true;
+		}
+		// item.relationNo = item.movementNo;//鍏宠仈鍗曞彿 == 绉诲姩鍗曞彿
+	});
+	debugger;
+	if (notAl) {
+		ElMessage.warning("闇�姹傛暟涓嶈兘澶т簬璁㈠崟鏁板拰娉㈡鏁颁箣宸紒");
+		return;
+	}
+	let res = await addWmsOrderSortDetails(checkedDetails.value);
+	if (res.data && res.data.code == 200) {
+		ElMessage.success("鍒涘缓娉㈡鎴愬姛锛�");
+		dialogVisible.value = false;
+		emits("getTabelData");
+	}
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+	materialCode: "",
+	orderNo: "",
+	Page: 1,
+	PageSize: 10,
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+	if (isPoBox.value == 1) {
+		if (materialForm.value.poNo) {
+			loading.value = true;
+			var res = await pageWmsOrderAsnDetails(Object.assign(materialForm.value));
+			materialList.value = res.data.result?.items ?? [];
+			materialTotal.value = res.data.result?.total;
+			loading.value = false;
+		}
+	}
+	if (isMaterialBox.value == 1) {
+		loading.value = true;
+		var res = await pageWmsMaterial(Object.assign(materialForm.value));
+		materialList.value = res.data.result?.items ?? [];
+		materialTotal.value = res.data.result?.total;
+		loading.value = false;
+	}
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+	materialForm.value = {
+		materialCode: "",
+		orderNo: "",
+		Page: 1,
+		PageSize: 10,
+	};
+	getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+	checkedMaterial.value = val;
+};
+const isMaterialBox: any = ref(true);
+const isPoBox: any = ref(true);
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = (param?: any) => {
+	if (param && param == "po") {
+		isPoBox.value = 1;
+		isMaterialBox.value = 0;
+	} else {
+		isPoBox.value = 0;
+		isMaterialBox.value = 1;
+	}
+	getMaterialList();
+	addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+	//鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+	if (warehousOrderDetails.value.length == 0) {
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			item.asnLineNumber = index + 1;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	} else {
+		for (let i = 0; i < checkedMaterial.value.length; i++) {
+			let idx = warehousOrderDetails.value.findIndex(
+				(item: { poLineNumber: any; code: any }) =>
+					item.code == checkedMaterial.value[i].materialCode &&
+					item.asnLineNumber == checkedMaterial.value[i].asnLineNumber
+			);
+			if (idx > -1) {
+				return ElMessage.warning(
+					`鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}锛孉SN琛屽彿锛�${checkedMaterial.value[i].asnLineNumber || ""
+					}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦
+				);
+			}
+		}
+
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	}
+
+	addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+	materialForm.value = {
+		materialCode: "",
+		orderNo: "",
+		Page: 1,
+		PageSize: 10,
+	};
+	materialList.value = [];
+	checkedMaterial.value = [];
+	materialRef.value.clearSelection();
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => { });
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	custType: "",
+});
+
+//-----------------杩滅▼鎼滅储----------------
+const handleQueryTdp = async () => {
+	var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+	arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: "",
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: "",
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+const getChildList = (item?: any) => {
+	// console.log("4")
+};
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+	margin: 10px;
+}
+
+.msi-form {
+	margin-top: 10px;
+}
+
+.msi-form {
+	margin-bottom: 10px;
+}
+
+.slot_title {
+	display: flex;
+	align-items: center;
+
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #f18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropOff.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropOff.vue
new file mode 100644
index 0000000..8157065
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropOff.vue
@@ -0,0 +1,1506 @@
+<template>
+	<!-- 娣诲姞銆佺紪杈� -->
+	<el-dialog v-model="dialogVisible" width="95%" @close="closeDialog" :close-on-click-modal="false">
+		<template #header>
+			<div style="color: #fff">
+				<span>{{ dialogType == 'add' ? '娣诲姞' : '缂栬緫' }}</span>
+			</div>
+		</template>
+		<el-form :model="addForm" ref="dialogRef" labelWidth="100" :rules="formRules">
+			<el-row>
+
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="涓氬姟绫诲瀷" prop="businessType">
+						<el-select clearable v-model="addForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+							<el-option v-for="(item, index) in getEnumBusinessTypeData_IndexForAdd" :key="index"
+								:value="item.businessTypeValue"
+								:label="`[${item.businessTypeValue}] ${item.businessTypeName}`"></el-option>
+
+						</el-select>
+					</el-form-item>
+				</el-col>
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="璁″垝/浜よ揣鏃ユ湡" prop="plannedDate">
+						<el-date-picker v-model="addForm.plannedDate" type="date" placeholder="璁″垝/浜よ揣鏃ユ湡" />
+
+					</el-form-item>
+
+				</el-col>
+
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="鎴愭湰涓績" prop="costCenter">
+						<el-input v-model="addForm.costCenter" placeholder="璇疯緭鍏ユ垚鏈腑蹇�" maxlength="255" show-word-limit
+							clearable />
+
+					</el-form-item>
+
+				</el-col>
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="瀹㈡埛" prop="custCode">
+
+						<el-select v-model="addForm.custCode" filterable remote reserve-keyword remote-show-suffix
+							:remote-method="remoteMethod" :loading="loading" placeholder="璇烽�夋嫨瀹㈡埛" clearable
+							style="width: 100%" @change="changeXmbh(addForm.custCode)">
+							<el-option v-for="(item, index) in arrTdp" :key="index" :value="item.custCode"
+								:label="`[${item.custCode}]${item.custChinaName}`"></el-option>
+						</el-select>
+
+
+					</el-form-item>
+				</el-col>
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="瀹㈡埛鍙戝線鍦�" prop="deliveryAddress">
+						<el-input v-model="addForm.deliveryAddress" placeholder="璇疯緭鍏ュ鎴峰彂寰�鍦�" maxlength="255" show-word-limit
+							clearable />
+
+					</el-form-item>
+
+				</el-col>
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="璐㈠姟绫诲瀷" prop="financialType">
+						<el-select clearable v-model="addForm.financialType" placeholder="璇烽�夋嫨璐㈠姟绫诲瀷">
+							<el-option v-for="(item, index) in  getEnumFinancialTypeData" :key="index" :value="item.value"
+								:label="`${item.describe}`"></el-option>
+						</el-select>
+					</el-form-item>
+
+				</el-col> -->
+
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="鐩爣搴撳尯" prop="toAreaCode">
+						<el-select v-model="addForm.toAreaCode" filterable remote reserve-keyword remote-show-suffix
+							:remote-method="remoteMethodArea" :loading="loading" placeholder="璇烽�夋嫨鐩爣搴撳尯" clearable
+							style="width: 100%" @change="changeXmbhArea(addForm.toAreaCode)">
+							<el-option v-for="(item, index) in arrTdpArea" :key="index" :value="item.areaCode"
+								:label="`[${item.areaCode}]${item.areaName}`"></el-option>
+						</el-select>
+
+
+					</el-form-item>
+				</el-col>
+
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="鐩爣搴撲綅" prop="toPlaceCode">
+						<el-select v-model="addForm.toPlaceCode" filterable remote reserve-keyword remote-show-suffix
+							:remote-method="remoteMethodPlace" :loading="loading" placeholder="璇烽�夋嫨鐩爣搴撲綅" clearable
+							style="width: 100%" @change="changeXmbhPlace(addForm.toPlaceCode)">
+							<el-option v-for="(item, index) in arrTdpPlace" :key="index" :value="item.placeCode"
+								:label="`[${item.placeCode}]${item.placeName}`"></el-option>
+						</el-select>
+
+					</el-form-item>
+				</el-col>
+
+
+
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="浼樺厛绾�" prop="priority">
+						<el-input-number v-model="addForm.priority" placeholder="璇疯緭鍏ヤ紭鍏堢骇" clearable />
+					</el-form-item>
+				</el-col>
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="鍗曟嵁鍘熷洜" prop="orderReason">
+						<el-input v-model="addForm.orderReason" placeholder="璇疯緭鍏ュ崟鎹師鍥�" maxlength="255" show-word-limit
+							clearable />
+
+					</el-form-item>
+
+				</el-col>
+			
+
+			</el-row>
+		</el-form>
+		<div class="msi-content" style="margin-top: 10px">
+			<div class="header" style="margin-bottom: 10px">
+				<div>
+					<el-button v-show="isMaterialBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog">鏂板鐗╂枡</el-button>
+					<el-button v-show="isDoBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog('do')">鍏宠仈DO鍗�</el-button>
+					<el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+						@click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+				</div>
+			</div>
+			<el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+				@selection-change="detailsCheckChange" max-height="280">
+				<el-table-column align="center" width="60" type="selection" />
+				<el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column fixed="left" label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center"
+					show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" min-width="100" prop="materialName" align="center" show-overflow-tooltip />
+				<el-table-column v-if="isDoBox == 1" label="DO鍗曞彿" min-width="160" prop="doNo" align="center"
+					show-overflow-tooltip />
+
+				<el-table-column v-if="isDoBox == 1" label="DO琛屽彿" prop="doLineNumber" align="center" min-width="120">
+					<template #default="scope">
+						{{ scope.row.doLineNumber }}
+					</template>
+				</el-table-column>
+				<el-table-column label="琛屽彿" prop="lineNumber" align="center" min-width="120" v-if="dialogType != 'add'">
+					<template #default="scope">
+						{{ scope.row.lineNumber }}
+					</template>
+				</el-table-column>
+				<el-table-column v-if="dialogType == 'add' && isDoBox == 1" prop="totalCount" label="璁㈠崟鏁�" show-overflow-tooltip="" />
+		
+				<el-table-column v-if="dialogType == 'add' && isDoBox == 1" prop="createXjdQuantity" label="宸插垱寤轰笅鏋跺崟鏁�" show-overflow-tooltip=""
+					min-width="100px" />
+
+				<!-- <el-table-column v-if="dialogType == 'add' && isDoBox != 1" label="鍙敤鏁伴噺" min-width="100" prop="useQty" align="center"
+					show-overflow-tooltip /> -->
+
+				<el-table-column label="鏁伴噺" align="center" min-width="150">
+					<template #default="scope">
+						<el-input-number :precision="3" min="0" v-model="scope.row.quantity" size="small" />
+					</template>
+				</el-table-column>
+
+				<el-table-column label="搴撳瓨鍗曚綅" align="center" min-width="180">
+					<template #default="scope">
+						{{  scope.row.materialUnit || scope.row.unit }}
+						
+					</template>
+				</el-table-column>
+
+			</el-table>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" :disabled="loadingCmf" @click="confirm">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 娣诲姞鐗╂枡 -->
+	<el-dialog v-model="addMaterialVisible" width="70%" @close="closeMaterialDialog">
+		<template #header>
+			<div style="color: #fff">
+				<span v-if="isMaterialBox == 1">娣诲姞鐗╂枡璇︽儏</span>
+				<span v-if="isDoBox == 1">鍏宠仈DO鍗曠墿鏂�</span>
+			</div>
+		</template>
+
+		<div class="msi-form" style="padding-top: 0px">
+			<el-form :model="materialForm" labelWidth="100">
+				<el-row>
+					<el-col :span="8">
+						<el-form-item label="鐗╂枡缂栧彿">
+							<el-input v-model="materialForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+						</el-form-item>
+					</el-col>
+
+					<el-col :span="8" v-if="isDoBox == 1">
+						<el-form-item label="DO鍗曞彿:">
+							<el-input v-model="materialForm.doNo" placeholder="璇疯緭鍏ュ叧鑱擠O鍗曞彿" clearable></el-input>
+						</el-form-item>
+					</el-col>
+
+					<el-col :span="8">
+						<el-form-item label-width="20px">
+							<el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+							<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</div>
+		<div class="msi-content" style="padding-top: 0; margin-top: 10px">
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isMaterialBox == 1">
+				<el-table-column align="center" width="60" type="selection" />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="160" show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+
+				<!-- <el-table-column prop="quantity" label="鎬诲簱瀛�" show-overflow-tooltip="" />
+				<el-table-column prop="useQty" label="鍙敤搴撳瓨" show-overflow-tooltip="" />
+				<el-table-column prop="predetermineLockedQty" label="棰勯厤鏁�" show-overflow-tooltip="" />
+				<el-table-column prop="otherLockQty" label="鍏朵粬涓嶅彲鐢ㄥ簱瀛�" min-width="110px"  show-overflow-tooltip="" /> -->
+
+				<el-table-column label="搴撳瓨鍗曚綅" prop="materialUnit" align="center" min-width="140" show-overflow-tooltip />
+				<!-- <el-table-column label="渚涘簲鍟嗙紪鍙�" prop="supplierCode" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="搴撳尯缂栧彿" prop="areaCode" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="搴撲綅缂栧彿" prop="placeCode" align="center" min-width="140" show-overflow-tooltip /> -->
+
+				<!-- <el-table-column  label="瀹瑰櫒鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.containerIsDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+          </template>
+        </el-table-column>  -->
+			</el-table>
+			<!-- DO鍗� -->
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isDoBox == 1">
+				<el-table-column align="center" width="60" type="selection" />
+				<el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column fixed="left" prop="doNo" label="DO鍗曞彿" min-width="160px" show-overflow-tooltip="" />
+				<el-table-column prop="materialCode" label="鐗╂枡缂栧彿" min-width="110px" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" label="鐗╂枡鍚嶇О" min-width="110px" show-overflow-tooltip="" />
+				<el-table-column prop="doLineNumber" label="DO琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="doDetailStatus" label="鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag :type="getTypeStatus(1, scope.row.doDetailStatusName)">{{ scope.row.doDetailStatusName }}
+						</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="createXjdQuantity" label="宸插垱寤轰笅鏋跺崟鏁�" min-width="110px" show-overflow-tooltip="" />
+
+				<!-- <el-table-column prop="deliverQuantity" label="宸插彂璐ф暟" show-overflow-tooltip="" /> -->
+				<!-- <el-table-column prop="createMovementQuantity"  label="宸插垱寤烘尝娆℃暟" show-overflow-tooltip="" min-width="100px" /> -->
+
+				<!-- <el-table-column prop="snp" label="鏍囧寘鏁伴噺" show-overflow-tooltip="" /> -->
+				<el-table-column prop="custCode" label="瀹㈡埛缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="custName" label="瀹㈡埛鍚嶇О" min-width="110px" show-overflow-tooltip="" />
+				<el-table-column prop="unit" label="搴撳瓨鍗曚綅" show-overflow-tooltip="" />
+				<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+					show-overflow-tooltip="" />
+				<!-- <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" /> -->
+				<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" /> -->
+
+
+			</el-table>
+
+			<Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+				@pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 鍗曡鎯� -->
+	<el-drawer v-model="drawerVisible" :title="`${detailForm.moveNo}鍗曟嵁璇︽儏`" direction="rtl" size="80%"
+		@close="handleDrawerClose">
+		<template #title>
+			<div class="slot_title">
+				<div class="title_orderNo">{{ title }}</div>
+				<div>鍗曟嵁璇︽儏</div>
+			</div>
+		</template>
+
+		<div class="detailBoxWrap">
+			<!-- 璇︽儏缁勪欢 -->
+			<open-details ref="propDetailRef"></open-details>
+			<div class="msi-form">
+				<el-form :model="detailForm">
+					<el-row>
+						<el-col :span="4">
+							<el-form-item label="鐗╂枡缂栧彿">
+								<el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="1">
+
+						</el-col>
+						<!-- <el-col :span="4">
+							<el-form-item label="璺熻釜鐮�:">
+								<el-input v-model="detailForm.snCode" clearable placeholder="璇疯緭鍏ヨ窡韪爜" />
+							</el-form-item>
+						</el-col> -->
+						<el-col :span="2">
+							<el-form-item label-width="20px">
+								<el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-form>
+			</div>
+			<div class="msi-content">
+				<el-table :data="drawerList" border striped :max-height="480">
+					<el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+					<el-table-column fixed="left" prop="materialCode" min-width="120px" label="鐗╂枡缂栧彿"
+						show-overflow-tooltip="" />
+					<el-table-column prop="materialName" min-width="120px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="lineNumber" label="琛屽彿" show-overflow-tooltip="" />
+					<el-table-column prop="orderStatus" min-width="80px" label="鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag :type="getTypeStatus(1, scope.row.orderStatusName)"> {{ scope.row.orderStatusName }}
+							</el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
+					<el-table-column prop="dispenseQuantity" label="鍒嗛厤鏁�" show-overflow-tooltip="" />
+					<el-table-column prop="predetermineQuantity" label="棰勯厤鏁�" show-overflow-tooltip="" />
+					<el-table-column prop="createWaveQuantity" label="娉㈡鏁�" show-overflow-tooltip="" />
+					<el-table-column prop="pickQuantity" label="鎷h揣鏁�" show-overflow-tooltip="" />
+					<el-table-column prop="offShelvesQuantity" label="涓嬫灦鏁�" show-overflow-tooltip="" />
+
+					<el-table-column prop="unit" label="搴撳瓨鍗曚綅" show-overflow-tooltip="" />
+					<el-table-column prop="erpOrderNo" label="ERP鍗曞彿" show-overflow-tooltip="" />
+					<el-table-column prop="erpCode" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="supplierBatch" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="batch" label="鎵规" min-width="140px" show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="containerCode" label="瀹瑰櫒缂栧彿" show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="containerName" label="瀹瑰櫒鍚嶇О"  show-overflow-tooltip="" /> -->
+
+
+					<el-table-column prop="relationNo" label="DO鍗曞彿" show-overflow-tooltip="" min-width="160px" />
+					<el-table-column prop="relationNoLineNumber" label="DO琛屽彿" show-overflow-tooltip="" />
+
+					<el-table-column prop="custCode" label="瀹㈡埛缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="toAreaCode" label="鐩爣搴撳尯缂栧彿" width="100" show-overflow-tooltip="" />
+					<el-table-column prop="toPlaceCode" label="鐩爣搴撲綅缂栧彿" width="100" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" /> -->
+					<el-table-column prop="containerCode" label="瀹瑰櫒缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="snCode" label="璺熻釜鐮�" show-overflow-tooltip="" />
+					<el-table-column prop="actionRemark" label="鎿嶄綔澶囨敞" show-overflow-tooltip="" />
+
+					<el-table-column prop="actionTime" label="鎿嶄綔鏃堕棿" width="80" :formatter="formatDate_T_Date"
+						show-overflow-tooltip="" />
+					<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+
+					<!-- <el-table-column prop="custType" min-width="120px" label="寰�鏉ヤ紒涓氱被鍨�" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{ getEnumDesc(scope.row.custType, getEnumCustTypeData_Index) }}</el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column prop="custCode" min-width="100px" label="寰�鏉ヤ紒涓氱紪鍙�" show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="custChinaName" min-width="120px" label="寰�鏉ヤ紒涓氫腑鏂囧悕绉�" show-overflow-tooltip="" />
+					<el-table-column prop="custEnglishName" min-width="120px" label="寰�鏉ヤ紒涓氳嫳鏂囧悕绉�" show-overflow-tooltip="" /> -->
+				</el-table>
+				<Pagination :total="detailCount" v-model:page="detailForm.page" v-model:limit="detailForm.PageSize"
+					@pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+				<div></div>
+			</div>
+		</div>
+	</el-drawer>
+
+	<el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+		<el-form :model="outerForm2" label-width="120px">
+			<el-row style="font-size: 16px">
+				<el-col :span="23">
+					<el-form-item label="鍗曞彿:" required>
+						<el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="outVisible2 = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="getSapOrderPO">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+</template>
+<script lang="ts" setup>
+import Pagination from '/@/components/Pagination/index.vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import { ref, nextTick, computed, getCurrentInstance, watch, defineExpose, defineProps, onMounted } from 'vue';
+
+import { formatDecimalData } from '/@/utils/formate';
+
+import cache from '/@/utils/cache';
+import { pageWmsMaterial } from '/@/api/main/WmsBase/wmsMaterial';
+import {
+	getTypeStatus
+} from "/@/utils/formate";
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import { pageWmsOrderMovementDetails, deleteWmsOrderMovementDetails, importExcelWmsOrderMovementDetails, downloadExcelTemplateWmsOrderMovementDetails } from '/@/api/main/WmsOrder/wmsOrderMovementDetails';
+import { addWmsOrderMovementOff, updateWmsOrderMovement, detailWmsOrderMovement } from "/@/api/main/WmsOrder/wmsOrderMovement";
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+import commonFunction from '/@/utils/commonFunction';
+import { handleSlectDataWmsArea, handleSlectDataWmsBusinessType } from "/@/utils/selectData";
+import { pageStockQuanForUse, pageStockQuanForXjd } from '/@/api/main/ReportCenter/wmsStockQuan';
+import { pageWmsPlace } from '/@/api/main/WmsBase/wmsPlace';
+import { pageWmsWarehouse } from '/@/api/main/WmsBase/wmsWarehouse';
+import { pageWmsOrderDeliver } from '/@/api/main/WmsOrderDo/wmsOrderDeliver';
+import { pageWmsOrderDeliverDetails, pageWmsOrderDeliverDetailsWithXjd } from '/@/api/main/WmsOrderDo/wmsOrderDeliverDetails';
+import { pageWmsOrderAsnDetails } from '/@/api/main/WmsOrder/wmsOrderAsnDetails';
+const moveType = "";//绉诲姩绫诲瀷 
+const UpDownShelvesType = "2";//涓婁笅鏋剁被鍨�
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getBusinessTypeData_Index = ref<any>([]);//涓氬姟绫诲瀷 create by liuwq 2024-05-23
+const getEnumBusinessTypeData_IndexForAdd = ref<any>([]);
+const getEnumOrderTypeData = ref<any>([]);
+const getEnumBusinessTypeData = ref<any>([]);
+const getEnumPoStatusData = ref<any>([]);
+const getEnumFinancialTypeData = ref<any>([]);
+
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(['getTabelData']);
+const getEnumOrderStatusData_Index = ref<any>([]);
+const getEnumCustTypeData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumDockData = ref<any>([]);
+const props = defineProps({
+	titleAuthor: {
+		type: Number,
+		required: true,
+	},
+	hexiao: {
+		type: Number,
+		default: 1,
+		required: true,
+	},
+});
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor);
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+// 鐧诲綍鐢ㄦ埛id
+// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
+
+// const EnumWriteOffState = computed(
+//   () => store.state.login.enums.enumWriteOffState
+// );
+
+let itemBtnArr = ['鎵归噺鍒犻櫎', '缂栬緫', '鏂板'];
+const boolEnum = ref([
+	{
+		title: '鏄�',
+		value: true,
+	},
+	{
+		title: '鍚�',
+		value: false,
+	},
+]);
+
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref('');
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+	return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+	orderDoRuType.value = param;
+	uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+	getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+	ElMessageBox.confirm('鏄惁纭鑾峰彇鏇存柊锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	}).then(() => {
+		// getSapRkPurchase().then((res) => {
+		//   if (res.code == 200) {
+		//     ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+		//   } else {
+		//     ElMessage.error(
+		//       `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+		//     );
+		//   }
+		// })
+	});
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+	purchaseNo: '',
+});
+const getSapOrderPO = (param?: number) => {
+	if (param && param == 1) {
+		outVisible2.value = true;
+		return;
+	}
+	if (outerForm2.value.purchaseNo == '') {
+		ElMessage.warning('璇疯緭鍏ュ崟鍙�');
+		return;
+	}
+	// getSapPurchasePO({
+	//   purchaseNo: outerForm2.value.purchaseNo
+	// })
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       ElMessage.success("SAP鑾峰彇鎴愬姛");
+	//       outVisible2.value = false;
+	//     } else {
+	//       ElMessage.error(
+	//         `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+	//       );
+	//     }
+	//   })
+	//   .catch((err) => ElMessage.error(err));
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+	outerForm2.value.purchaseNo = '';
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+	WareMaterialCode: '',
+	WareMaterialName: '',
+	PurchaseNo: '',
+	CreatedUserName: '',
+	CreatedTimeBegin: '',
+	CreatedTimeEnd: '',
+	CreateDate: [],
+	IssueTimeBegin: '',
+	IssueTimeEnd: '',
+	IssueDate: [],
+	MaterialTypeStaus: '',
+	SourceBy: '',
+	WriteOffState: '',
+	signStatus: '',
+	status: '',
+	freeOrderType: '',
+	IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+	// LoginUserID: LoginUserID, //鐢ㄦ埛id
+	OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+	Page: 1,
+	PageSize: 10,
+	poApprovalStatus: '',
+	keyCode: '',
+	IsDisable: '', //鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+const tableRef = ref();
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache('enumList');
+console.log(enumList.inEnumOrderType);
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+	//鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+		formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+		formModel.value.CreatedTimeEnd = ''; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+			formModel.value.CreatedTimeBegin = '';
+			formModel.value.CreatedTimeEnd = '';
+		}
+	}
+	//鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+		formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+		formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+			formModel.value.IssueTimeBegin = '';
+			formModel.value.IssueTimeEnd = '';
+		}
+	}
+
+	//鍏跺畠鍏ュ簱鍏ュ彛
+	// if (titleAuthor.value == 1) { //鍏嶈垂鍏ュ簱鍗曠鐞�
+	// }
+
+	// if (titleAuthor.value == 2) { //璁㈠崟鍏ュ簱绠$悊
+	// }
+
+	// getPurchasePageForAllData(formModel.value)
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       const { data } = res;
+	//       const result = data;
+	//       result.rows.map(
+	//         (item: { hasChildren: boolean }) => (item.hasChildren = true)
+	//       );
+	//       tableData.value = result.rows;
+	//       totalItems.value = result.totalRows;
+	//       orderType.value = formModel.value.MaterialTypeStaus;
+	//       // 娓呴櫎閫変腑
+	//       nextTick(() => {
+	//         if (tableRef.value && typeof tableRef.value.clearSelection === 'function') {
+	//           checkRows.value = [];
+	//           tableRef.value.clearSelection();
+	//         }
+	//       })
+	//     } else {
+	//       ;
+	//     }
+	//   })
+	//   .catch((err) => {
+	//     console.log(err);
+	//     ElMessage.error(JSON.stringify(err));
+	//   });
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+	formModel.value = {
+		WareMaterialCode: '',
+		WareMaterialName: '',
+		PurchaseNo: '',
+		CreatedUserName: '',
+		CreatedTimeBegin: '',
+		CreatedTimeEnd: '',
+		CreateDate: [],
+		IssueTimeBegin: '',
+		IssueTimeEnd: '',
+		IssueDate: [],
+		MaterialTypeStaus: '',
+		SourceBy: '',
+		WriteOffState: '',
+		signStatus: '',
+		status: '',
+		freeOrderType: '',
+		IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+		//  LoginUserID: LoginUserID, //鐢ㄦ埛id
+		OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+		Page: 1,
+		PageSize: 10,
+		poApprovalStatus: '',
+		keyCode: '',
+		IsDisable: '', //鏄惁浣滃簾
+	};
+	getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+//瀵煎嚭PO鍗曡鎯�
+const handExport = () => {
+	// rkExport(formModel.value)
+	//   .then((res) => {
+	//     const link = document.createElement("a"); //鍒涘缓a鏍囩
+	//     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+	//     let objectUrl = URL.createObjectURL(blob);
+	//     link.href = objectUrl;
+	//     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+	//       new Date().toString(),
+	//       "YYYY-MM-DD hh:mm:ss"
+	//     )}`; // 鑷畾涔夋枃浠跺悕
+	//     link.click(); // 涓嬭浇鏂囦欢
+	//     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+	//   }).catch((err) => ElMessage.error(JSON.stringify(err)));
+	//瀵煎嚭璋冪敤鎺ュ彛
+	// let entozh = entozhExcell
+	//   const { page, PageSize, ...rest } = formModel.value
+	//   getPurchasePage({ Page: 1, PageSize: 1000000, ...rest }).then(res => {
+	//     if(res.code==200){
+	//       res.data.rows.forEach((item)=>{
+	//         item.writeOffState = EnumWriteOffState.value.filter((v: any) => v.value == item.writeOffState)[0].title;
+	//         item.sourceBy =  sourceEnum.value.filter((v: any) => v.value == item.sourceBy)[0].title;
+	//       })
+	//       exportExcel(res.data.rows, entozh, "xlsx", `鍏ュ簱绠$悊琛�${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`);
+	//     }
+	//   })
+	// 鍚庣瀵煎嚭-瀛楁涓嶅叏
+	// if (checkRows.value.length <= 0) {
+	//   ElMessage.warning("璇烽�夋嫨涓�涓鍗曪紒");
+	//   return
+	// }
+	// const arr = checkRows.value.reduce((curr, item) => {
+	//   curr.push(item.purchaseNo);
+	//   return curr;
+	// }, []);
+	// puchaseExport({ PurchaseNo: arr })
+	//   .then((res) => {
+	//     const link = document.createElement("a"); //鍒涘缓a鏍囩
+	//     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+	//     let objectUrl = URL.createObjectURL(blob);
+	//     link.href = objectUrl;
+	//     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+	//       new Date().toString(),
+	//       "YYYY-MM-DD hh:mm:ss"
+	//     )}`; // 鑷畾涔夋枃浠跺悕
+	//     link.click(); // 涓嬭浇鏂囦欢
+	//     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+	//   })
+	//   .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+	materialCode: '',
+	snCode: '',//璺熻釜鐮�
+	moveNo: '',//鍗曞彿
+	movementId: '',//绉诲姩鍗旾D
+	Page: 1,
+	PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref('drawerAll');
+// const
+//鍗曞彿
+const purchaseNo = ref('');
+const detailCount2 = ref(0);
+const detailForm2 = ref({
+	Page: 1,
+	PageSize: 10,
+	movementId: '',
+});
+const getEnummoveDetailStatusData_Index = ref<any>([]);
+const getEnumBusinessTypeData_Index = ref<any>([]);
+const getEnumOrderSocureData_Index = ref<any>([]);
+const drawerList2 = ref<DetailType[]>([]);
+//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+const getDetail = async () => {
+	loading.value = true;
+	var res = await pageWmsOrderMovementDetails(Object.assign(detailForm.value));
+	drawerList.value = res.data.result?.items ?? [];
+	detailCount.value = res.data.result?.total;
+	loading.value = false;
+	// getEnummoveDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+	// getEnumOrderStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+	// getEnumCustTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('BaseCustomerTypeEnum')).data.result ?? [];
+	// getEnumOrderSocureData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('BaseCustomerTypeEnum')).data.result ?? [];
+};
+
+//----------------鐗╂枡鏄庣粏
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+	debugger
+	detailForm.value.page = 1;
+	detailForm.value.PageSize = 10;
+	if (scope.orderNo) {
+		title.value = `${scope.orderNo}`;
+	}
+	drawerType.value = 'drawerAll';
+	drawerVisible.value = true;
+	//褰撳墠绉诲姩鍗旾D
+	// detailForm.value.moveNo = scope.orderNo;
+	detailForm.value.movementId = scope.id;
+	//鍏ュ簱鍗�
+	purchaseNo.value = scope.purchaseNo;
+	detailForm2.value.movementId = scope.id;
+	//鑾峰彇鐗╂枡鍒楄〃
+	if (detailForm2.value.movementId == '') {
+		drawerList2.value = [];
+		detailCount2.value = 0;
+		return;
+	}
+	// 鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	getDetail();
+
+
+	getEnumOrderSocureData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('SourceByEnum')).data.result ?? [];
+
+	// 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+	let scopetrans = JSON.parse(JSON.stringify(scope));
+	// scopetrans.orderStatus = getEnumDesc(scopetrans.orderStatus, getEnummoveDetailStatusData_Index.value);
+
+	scopetrans.orderSocure = getEnumDesc(scopetrans.orderSocure, getEnumOrderSocureData_Index.value)
+	nextTick(() => {
+		proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+	});
+
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+	detailForm.value = {
+		snCode: '',//璺熻釜鐮�
+		materialCode: '',
+		moveNo: '',//鍗曞彿
+		movementId: '',//绉诲姩鍗旾D
+		Page: 1,
+		PageSize: 10,
+	};
+	deltailList.value = [];
+	detailCount.value = 0;
+	drawerList.value = [];
+	drawerList2.value = [];
+	detailCount2.value = 0;
+	drawerList2.value = [];
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+	id: number;
+	barCode: string;
+	wareMaterialCode: string;
+	name: string;
+	signStatus: string;
+	category: string;
+	materialTypeName: string;
+	specificationModel: string;
+	long: number;
+	width: number;
+	high: number;
+	weight: number;
+	unit: string;
+	createdTime: string;
+	purchaseNo: string;
+	quantity: number;
+	goodsquantity: number;
+	surplusquantity: number;
+	poLineNumber: string;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref('');
+
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref('add');
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+	businessType: '',
+	hasTMCode: false,
+	typeTMCode: false,//false浜岀淮鐮� true 1缁寸爜
+	asnType: '',
+	dock: '',
+	projectNo: '',
+	OrderDetails: [] as any[],
+});
+
+// 鐗规畩瀛楃鐨勯獙璇�
+// 鍖呭惈鐗规畩瀛楃杩斿洖true锛屼笉鍖呭惈鐗规畩瀛楃杩斿洖false
+const checkEspcial = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[@$%*^:;锛氾紱~+=!锛�#^{}><.,锛屻�俔/g;
+		if (!reg.test(value.trim())) {
+			callback();
+		} else {
+			return callback(new Error('涓嶈兘瀛樺湪鐗规畩绗﹀彿'));
+		}
+	}
+};
+
+// 楠岃瘉瑙掕壊缂栧彿
+var validatorCode = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[\u4E00-\u9FA5]/g;
+		if (!reg.test(value)) {
+			callback();
+		} else {
+			return callback(new Error('鍗曞彿涓嶈兘瀛樺湪姹夊瓧'));
+		}
+	}
+};
+
+//rules
+const formRules = {
+	asnType: [{ required: true, message: '璇烽�夋嫨璁㈠崟绫诲瀷锛�', trigger: 'change' }],
+	orderTypeName: [{ required: true, message: '璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	businessType: [{ required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change' }],
+	businessTypeName: [{ required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	orderSocure: [{ required: true, message: '璇疯緭鍏ュ崟鎹潵婧愶紒', trigger: 'blur' }],
+	poStatus: [{ required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change' }],
+	poStatusName: [{ required: true, message: '璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒', trigger: 'blur' }],
+	supplierCode: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�', trigger: 'blur' }],
+	supplierName: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�', trigger: 'blur' }],
+
+
+};
+//鎵撳紑鏂板銆佺紪杈戠獥鍙�
+const openDialog = async (type: number, scope: any = {}) => {
+	debugger
+	handleQueryTdp();
+	handleQueryTdpArea();
+	// handleQueryTdpPlace();
+
+	getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType, UpDownShelvesType); //涓嬫媺璇诲彇涓氬姟绫诲瀷鎺ュ彛 
+
+	getEnumFinancialTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('FinancialTypeEnum')).data.result ?? [];
+
+	if (type == 1) {
+		isDoBox.value = 1;
+		isMaterialBox.value = 1;
+		detailForm2.value.PageSize = 10;
+		dialogType.value = 'add';
+	} else {
+		dialogType.value = 'edit';
+		detailForm2.value.PageSize = 100000;
+		addForm.value = { ...scope };
+	
+		detailForm2.value.movementId = scope.id;
+		//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+		loading.value = true;
+		var res = await pageWmsOrderMovementDetails(Object.assign(detailForm2.value));
+		var list = res.data.result?.items;
+		list.forEach((item:any)=>{
+			item.doNo = item.relationNo || "";
+			item.doLineNumber = item.relationNoLineNumber || "";
+		})
+		warehousOrderDetails.value = list ?? [];
+		debugger
+		if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].relationNo) {
+			isDoBox.value = true;
+		} else {
+			isDoBox.value = false;
+		}
+		loading.value = false;
+		//----------------鐗╂枡鏄庣粏
+	}
+	dialogVisible.value = true;
+
+	//娓呴櫎閫変腑椤�
+	nextTick(() => {
+		//绛涢�変笉闇�瑕佺殑涓氬姟绫诲瀷
+		getEnumBusinessTypeData_IndexForAdd.value = getBusinessTypeData_Index.value;
+
+		// getEnumBusinessTypeData_IndexForAdd.value =[];
+		// getBusinessTypeData_Index.value.forEach((item:any)=>{
+		// 	var ArrbusinessTypeValue =String(item.businessTypeValue).split("");
+		// 	if(ArrbusinessTypeValue[0]==2){
+		// 		getEnumBusinessTypeData_IndexForAdd.value.push(item) 
+		// 	}
+		// })
+		dialogRef.value.clearValidate();
+	});
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+	return row.id + row.lineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+	loadingCmf.value = false;
+	addForm.value = {
+		businessType: '',
+		hasTMCode: false,
+		typeTMCode: false,//false浜岀淮鐮� true 1缁寸爜
+		asnType: '',
+		dock: '',
+		projectNo: '',
+		OrderDetails: [] as any[],
+	};
+	warehousOrderDetails.value = [];
+	checkedDetails.value = [];
+	deltailList.value = [];
+	detailCount.value = 0;
+	detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+	ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			let arr = [];
+			if (checkedDetails.value[0].diRelationID) {
+				checkedDetails.value.forEach((item) => {
+					console.log(item);
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode == item.materialCode && detail.diRelationID == item.diRelationID);
+					if (index > -1) {
+						warehousOrderDetails.value.splice(index, 1);
+					}
+				});
+			} else {
+				checkedDetails.value.forEach((item) => {
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode == item.materialCode && detail.lineNumber == item.lineNumber);
+					warehousOrderDetails.value.splice(index, 1);
+				});
+			}
+			arr = warehousOrderDetails.value;
+			warehousOrderDetails.value = [];
+			//bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+			nextTick(() => {
+				warehousOrderDetails.value = arr;
+				checkedDetails.value = [];
+				detailRef.value.clearSelection();
+			});
+		})
+		.catch(() => ElMessage.info('宸插彇娑堝垹闄�'));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const loadingCmf: any = ref(0);
+const confirm = () => {
+	dialogRef.value.validate(async (vali: any) => {
+		if (vali) {
+			if (warehousOrderDetails.value.length <= 0) {
+				ElMessage.warning("璇锋坊鍔犵墿鏂欙紒");
+				return;
+			}
+
+			let idx2 = warehousOrderDetails.value.findIndex((v) => v.quantity == '' || v.quantity == undefined || v.quantity <= 0);
+			if (idx2 > -1) {
+				ElMessage.warning('鏁伴噺涓嶅悎瑙勮寖锛�');
+				return;
+			}
+			if (dialogType.value == 'add') {
+				let idx3 = warehousOrderDetails.value.findIndex((v) => Number(v.quantity) > v.useQty);
+				if (idx3 > -1) {
+					ElMessage.warning('闇�姹傛暟澶т簬鍙敤鏁伴噺锛�');
+					return;
+				}
+			}
+
+			addForm.value.OrderDetails = [];
+			warehousOrderDetails.value.forEach((item) => {
+				var { sourceWarehouseCode, sourceAreaCode
+					, sourcePlaceCode, toPlaceCode, toAreaCode, ...rest } = item;
+				const obj = {
+					...rest,
+					sourceWarehouseCode: addForm.value.sourceWarehouseCode,
+					sourceAreaCode: item.areaCode || "",
+					sourceAreaCodeName: item.areaCodeName || "",
+					sourcePlaceCode: item.placeCode || "",
+					sourcePlaceCodeName: item.placeCodeName || "",
+					toPlaceCode: addForm.value.toPlaceCode,
+					toAreaCode: addForm.value.toAreaCode,
+					RelationNo: item.doNo,
+					RelationNoLineNumber: item.doLineNumber,
+					quantity: item.quantity,
+					unit:item.materialUnit || item.unit
+				};
+				addForm.value.OrderDetails.push(obj);
+			});
+			loadingCmf.value = true;
+			//娣诲姞
+			if (dialogType.value == 'add') {
+
+				let res = await addWmsOrderMovementOff(addForm.value);
+				if (res.data && res.data.code == 200) {
+					ElMessage.success('娣诲姞鎴愬姛');
+					dialogVisible.value = false;
+					emits('getTabelData');
+				}
+			} else {
+				let res = await updateWmsOrderMovement(addForm.value);
+				if (res.data && res.data.code == 200) {
+					ElMessage.success('缂栬緫鎴愬姛');
+					dialogVisible.value = false;
+					emits('getTabelData');
+				}
+			}
+			loadingCmf.value = false;
+		} else {
+			ElMessage.warning('琛ㄥ崟楠岃瘉澶辫触');
+			loadingCmf.value = false;
+		}
+	});
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+	moveNo: '',
+	materialName: '',
+	Code: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+	debugger
+	if (isDoBox.value == 1) { //DO鍗曟槑缁�
+		loading.value = true;
+		// var res = await pageWmsOrderDeliverDetails(Object.assign({
+		// 	...materialForm.value,
+		// 	'forDoAndXjd': true //绛涢�夋柊寤哄拰澶勭悊涓殑鏁版嵁
+		// }));
+
+		var res = await pageWmsOrderDeliverDetailsWithXjd(Object.assign({
+			...materialForm.value,
+			'forDoAndXjd': true //绛涢�夋柊寤哄拰澶勭悊涓殑鏁版嵁
+		}));
+
+		materialList.value = res.data.result?.items ?? [];
+		materialTotal.value = res.data.result?.total;
+		loading.value = false;
+	} else {
+		loading.value = true;
+		var res = await pageWmsMaterial(Object.assign(materialForm.value));
+
+		//鑾峰彇搴撳瓨鍙敤鐗╂枡
+		// var res = await pageStockQuanForXjd(Object.assign(materialForm.value));
+		// var res = await pageStockQuanForUse(Object.assign(materialForm.value));
+		// var res = await pageWmsStockQuan(Object.assign(materialForm.value));
+		materialList.value = res.data.result?.items ?? [];
+		materialTotal.value = res.data.result?.total;
+		loading.value = false;
+	}
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+	materialForm.value = {
+		moveNo: '',
+		materialName: '',
+		Code: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+	checkedMaterial.value = val;
+};
+const isMaterialBox: any = ref(true);
+const isDoBox: any = ref(true);
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = (param?: any) => {
+	if (param && param == 'do') {
+		isDoBox.value = 1;
+		isMaterialBox.value = 0;
+	} else {
+		isDoBox.value = 0;
+		isMaterialBox.value = 1;
+	}
+	getMaterialList();
+
+	// if ( addForm.value.freeOrderType && isShowBomBtn.value ) {
+	//   ElMessage.warning("鍏嶈垂浠剁被鍨嬫槸PR2锛屽彧鑳芥柊澧濪I缁存姢鐨勭墿鏂欙紒");
+	//   return;
+	// }
+	addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+
+	if (isDoBox.value == 1) {//DO鍗曞彿
+		//-------------------------DO鍗曞彿鐗╂枡鐨勬坊鍔�-------------------
+		//鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+		if (warehousOrderDetails.value.length == 0) {
+			// 鑷姩缁欒鍙峰鍊�
+			checkedMaterial.value.forEach((item, index) => {
+				item.unit = item.poUnit || item.unit;
+				item.supplierCode = item.custCode || "";
+				// item.lineNumber = index + 1;
+				item.totalCount = item.quantity;//璁㈠崟鏁�
+				item.quantity = Number(item.quantity - item.createXjdQuantity).toFixed(3);
+
+				// if (!item.lineNumber) {
+				// 	item.lineNumber = index + 1 + warehousOrderDetails.value.length;
+				// }
+			});
+			warehousOrderDetails.value.push(...checkedMaterial.value);
+		} else {
+			for (let i = 0; i < checkedMaterial.value.length; i++) {
+				let idx = warehousOrderDetails.value.findIndex(
+					(item: any) => item.materialCode == checkedMaterial.value[i].materialCode && item.doLineNumber == checkedMaterial.value[i].doLineNumber && item.doNo == checkedMaterial.value[i].doNo
+				);
+				if (idx > -1) {
+					return ElMessage.warning(`
+				鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}锛�
+				DO琛屽彿锛�${checkedMaterial.value[i].doLineNumber || ''}锛�
+				DO鍗曞彿锛�${checkedMaterial.value[i].doNo || ''}
+				鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦);
+				}
+			}
+			// 鑷姩缁欒鍙峰鍊�
+			checkedMaterial.value.forEach((item, index) => {
+				item.unit = item.poUnit || item.unit;
+				item.supplierCode = item.custCode || "";
+				item.totalCount = item.quantity;//璁㈠崟鏁�
+				// if (!item.lineNumber) {
+				// 	item.lineNumber = index + 1 + warehousOrderDetails.value.length;
+				// }
+			});
+			warehousOrderDetails.value.push(...checkedMaterial.value);
+		}
+
+	} else {
+		//-------------------------鐗╂枡鐨勬坊鍔�-------------------
+
+		//鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+		if (warehousOrderDetails.value.length == 0) {
+			// 鑷姩缁欒鍙峰鍊�
+			checkedMaterial.value.forEach((item, index) => {
+				item.unit = item.poUnit || item.unit;
+				item.quantity = item.useQty
+				//item.lineNumber = index + 1;
+				// if (!item.lineNumber) {
+				// 	item.lineNumber = index + 1 + warehousOrderDetails.value.length;
+				// }
+			});
+
+			warehousOrderDetails.value.push(...checkedMaterial.value);
+		} else {
+			for (let i = 0; i < checkedMaterial.value.length; i++) {
+				let idx = warehousOrderDetails.value.findIndex(
+					(item: any) => item.materialCode == checkedMaterial.value[i].materialCode && item.id == checkedMaterial.value[i].id
+				);
+				if (idx > -1) {
+					return ElMessage.warning(`鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦);
+				}
+			}
+
+			// 鑷姩缁欒鍙峰鍊�
+			checkedMaterial.value.forEach((item, index) => {
+				item.unit = item.poUnit || item.unit;
+				item.quantity = item.useQty
+				// if (!item.lineNumber) {
+				// 	item.lineNumber = index + 1 + warehousOrderDetails.value.length;
+				// }
+			});
+			warehousOrderDetails.value.push(...checkedMaterial.value);
+		}
+
+	}
+
+	addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+	materialForm.value = {
+		moveNo: '',
+		materialName: '',
+		Code: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	materialList.value = [];
+	checkedMaterial.value = [];
+	materialRef.value.clearSelection();
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+
+
+
+});
+
+//================
+
+//-----------------杩滅▼鎼滅储----------------
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	custType: '璐т富',
+});
+
+const handleQueryTdp = async () => {
+	var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+	arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+	loading.value = true;
+	var res = await pageBaseCustomer({
+		page: 1,
+		pageSize: 200,
+		custCode: query,
+		custType: '璐т富',
+	});
+	loading.value = false;
+	arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+	loading.value = true;
+	var res = await pageBaseCustomer({
+		page: 1,
+		pageSize: 200,
+		custCode: query,
+		custType: '璐т富',
+	});
+	loading.value = false;
+	arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+
+
+
+
+
+//-----------------杩滅▼鎼滅储 搴撳尯缂栧彿----------------
+const arrTdpArea = ref<any[]>([]);
+const queryParamsWArea = ref<any>({});
+const tableParamsWArea = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	areaCode: '',
+});
+
+const handleQueryTdpArea = async () => {
+	var res = await handleSlectDataWmsArea(Object.assign(queryParamsWArea.value, tableParamsWArea.value));
+	arrTdpArea.value = res ?? [];
+};
+const changeXmbhArea = async (query?: any) => {
+	loading.value = true;
+	var res = await handleSlectDataWmsArea({
+		page: 1,
+		pageSize: 200,
+		areaCode: query,
+	});
+	loading.value = false;
+	arrTdpArea.value = res ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethodArea = async (query: string) => {
+	loading.value = true;
+	var res = await handleSlectDataWmsArea({
+		page: 1,
+		pageSize: 200,
+		areaCode: query,
+	});
+	loading.value = false;
+	arrTdpArea.value = res ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+
+
+
+
+//-----------------杩滅▼鎼滅储 搴撲綅缂栧彿----------------
+const arrTdpPlace = ref<any[]>([]);
+const queryParamsWPlace = ref<any>({});
+const tableParamsWPlace = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	PlaceCodeForpda: '',
+});
+
+const handleQueryTdpPlace = async () => {
+	var res = await pageWmsPlace(Object.assign(queryParamsWPlace.value, tableParamsWPlace.value));
+	arrTdpPlace.value = res.data.result?.items ?? [];
+};
+const changeXmbhPlace = async (query?: any) => {
+	debugger
+	if (!addForm.value.toAreaCode) {
+		ElMessage.warning('璇峰厛杈撳叆鐩爣搴撳尯');
+		return
+	}
+	loading.value = true;
+	var res = await pageWmsPlace({
+		page: 1,
+		pageSize: 200,
+		PlaceCodeForpda: query,
+		AreaCode: addForm.value.toAreaCode,
+	});
+	loading.value = false;
+	arrTdpPlace.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethodPlace = async (query: string) => {
+	if (!addForm.value.toAreaCode) {
+		ElMessage.warning('璇峰厛杈撳叆鐩爣搴撳尯');
+		return
+	}
+	loading.value = true;
+	var res = await pageWmsPlace({
+		page: 1,
+		pageSize: 200,
+		PlaceCodeForpda: query,
+		AreaCode: addForm.value.toAreaCode
+	});
+	loading.value = false;
+	arrTdpPlace.value = res.data.result?.items ?? [];
+};
+
+//-----------------杩滅▼鎼滅储----------------
+
+
+
+
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+	margin: 10px;
+}
+
+.msi-form {
+	margin-top: 10px;
+}
+
+.msi-form {
+	margin-bottom: 10px;
+}
+
+.slot_title {
+	display: flex;
+	align-items: center;
+
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #F18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropXiafa.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropXiafa.vue
new file mode 100644
index 0000000..c3fc92b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropXiafa.vue
@@ -0,0 +1,1286 @@
+<template>
+	<!-- 涓嬪彂 -->
+	<el-dialog v-model="dialogVisible" width="95%" @close="closeDialog" :close-on-click-modal="false">
+		<template #header>
+			<div style="color: #fff">
+				<span>涓嬫灦鍗�-涓嬪彂</span>
+			</div>
+		</template>
+
+		<el-form :model="materialForm" label-width="70px">
+			<el-row>
+				<el-col :span="5">
+					<el-form-item label="鐗╂枡缂栧彿">
+						<el-input v-model="materialForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+					</el-form-item>
+				</el-col>
+
+				<el-col :span="5">
+					<el-form-item label="涓嬫灦鍗曞彿" prop="movementNo">
+						<el-input v-model="materialForm.movementNo" placeholder="璇疯緭鍏ヤ笅鏋跺崟鍙�" maxlength="255" show-word-limit
+							clearable />
+					</el-form-item>
+				</el-col>
+
+				<el-col :span="8">
+					<el-form-item label-width="20px">
+						<el-button type="primary" icon="el-icon-search" @click="getOrderMaterialList">鏌ヨ</el-button>
+						<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+
+		<div class="msi-content" style="margin-top: 10px">
+			<!-- <div class="header" style="margin-bottom: 10px">
+				<div>
+					<el-button v-show="isPoBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog('po')">鍏宠仈ASN鍗�</el-button>
+
+					<el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+						@click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+				</div>
+			</div> -->
+			<el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+				@selection-change="detailsCheckChange" max-height="480" @expand-change="getChildList">
+				<el-table-column align="center" width="60" type="selection" />
+
+				<el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column fixed="left" prop="movementNo" min-width="110px" label="涓嬫灦鍗曞彿" show-overflow-tooltip="" />
+				<el-table-column fixed="left" prop="materialCode" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="lineNumber" label="琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="asnStatus" min-width="80px" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						{{ scope.row.orderStatusName }}
+					</template>
+				</el-table-column>
+
+				<el-table-column prop="dispenseQuantity" label="鍒嗛厤鏁�" show-overflow-tooltip="" />
+				<el-table-column prop="predetermineQuantity" label="棰勯厤鏁�" show-overflow-tooltip="" />
+
+				<el-table-column prop="pickQuantity" label="鎷h揣鏁�" show-overflow-tooltip="" />
+				<el-table-column prop="offShelvesQuantity" label="涓嬫灦鏁�" show-overflow-tooltip="" />
+
+				<el-table-column prop="quantityTotal" label="璁㈠崟鏁�" show-overflow-tooltip="" />
+				<el-table-column prop="createWaveQuantity" label="娉㈡鏁�" show-overflow-tooltip="" />
+				<el-table-column label="闇�姹傛暟" align="center" width="140">
+					<template #default="scope">
+						<el-input-number min="0" v-model="scope.row.quantity" size="small" />
+					</template>
+				</el-table-column>
+<!-- 
+				<el-table-column label="寰�鏉ヤ紒涓�" align="center" min-width="180">
+					<template #default="scope">
+						<el-select v-model="scope.row.custCode" filterable remote reserve-keyword remote-show-suffix
+							:remote-method="remoteMethod" :loading="loading" placeholder="璇烽�夋嫨寰�鏉ヤ紒涓�" clearable
+							style="width: 100%" @change="changeXmbh(scope.row.custCode)">
+							<el-option v-for="(item, index) in arrTdp" :key="index" :value="item.custCode"
+								:label="`[${item.custCode}]${item.custChinaName}`"></el-option>
+						</el-select>
+					</template>
+				</el-table-column> -->
+
+				<el-table-column label="浼樺厛绾�" align="center" min-width="110px">
+					<template #default="scope">
+						<el-input-number :precision="0" min="0" v-model="scope.row.priority" size="small" />
+					</template>
+				</el-table-column>
+				<el-table-column prop="relationNo" label="DO鍗曞彿" min-width="110px" show-overflow-tooltip="" />
+				<el-table-column prop="relationNoLineNumber" label="DO琛屽彿" min-width="110px" show-overflow-tooltip="" />
+				<el-table-column prop="unit" label="搴撳瓨鍗曚綅" min-width="80px" show-overflow-tooltip="" />
+
+			</el-table>
+
+			<Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+				@pagination="getOrderMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" :disabled="warehousOrderDetails.length == 0" @click="confirm">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 娣诲姞鐗╂枡 -->
+	<el-dialog v-model="addMaterialVisible" width="70%" @close="closeMaterialDialog">
+		<template #header>
+			<div style="color: #fff">
+				<span v-if="isMaterialBox == 1">娣诲姞鐗╂枡璇︽儏</span>
+				<span v-if="isPoBox == 1">鍏宠仈ASN鍗曠墿鏂�</span>
+			</div>
+		</template>
+
+		<div class="msi-form" style="padding-top: 0px">
+			<el-form :model="materialForm">
+				<el-row>
+					<el-col :span="8" v-if="isMaterialBox == 1">
+						<el-form-item label="鐗╂枡缂栧彿">
+							<el-input v-model="materialForm.Code" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8" v-if="isPoBox == 1">
+						<el-form-item label="鍏宠仈ASN鍗曞彿:">
+							<el-input v-model="materialForm.poNo" placeholder="璇疯緭鍏ュ叧鑱擜SN鍗曞彿" clearable></el-input>
+						</el-form-item>
+					</el-col>
+
+					<el-col :span="8">
+						<el-form-item label-width="20px">
+							<el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+							<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</div>
+		<div class="msi-content" style="padding-top: 0; margin-top: 10px">
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isMaterialBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+
+				<el-table-column label="閲囪喘鍗曚綅" prop="poUnit" align="center" min-width="140" show-overflow-tooltip />
+			</el-table>
+			<!-- ASN鍗� -->
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isPoBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column prop="poNo" label="PO鍗曞彿" min-width="120px" show-overflow-tooltip="" />
+				<el-table-column prop="poLineNumber" min-width="100px" label="PO琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="asnLineNumber" min-width="100px" label="ASN琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" min-width="130px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="asnStatus" min-width="100px" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag :type="getTypeStatus(
+							1,
+							getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index)
+						)
+							">
+							{{ getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index) }}
+						</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="quantity" min-width="100px" label="閫佽揣鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="goodsQuantity" min-width="100px" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="supplierCode" min-width="100px" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierName" min-width="100px" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierBatch" min-width="100px" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" />
+				<el-table-column prop="unit" min-width="100px" label="鍗曚綅" show-overflow-tooltip="" />
+
+				<el-table-column prop="sN_1d" min-width="120px" label="涓�缁存潯鐮�" show-overflow-tooltip="" />
+				<el-table-column prop="sN_2d" min-width="120px" label="浜岀淮鏉$爜" show-overflow-tooltip="" />
+				<el-table-column prop="package" min-width="100px" label="鍖呰鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="plannedStartTime" min-width="120px" label="璁″垝寮�濮嬫椂闂�" :formatter="formatDate_T_Date"
+					show-overflow-tooltip="" />
+				<el-table-column prop="plannedEndTime" min-width="120px" label="璁″垝缁撴潫鏃堕棿" :formatter="formatDate_T_Date"
+					show-overflow-tooltip="" />
+				<el-table-column prop="projectNo" min-width="100px" label="椤圭洰鍙�" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="factoryName" min-width="100px" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="factoryCode" min-width="100px" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+				<el-table-column prop="dock" min-width="100px" label="鏀惰揣閬撳彛" show-overflow-tooltip="" />
+
+				<el-table-column prop="batch" min-width="100px" label="鎵规" show-overflow-tooltip="" />
+
+				<el-table-column prop="erpCode" min-width="100px" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
+				<el-table-column prop="erpOrderNo" min-width="100px" label="ERP鍗曞彿" show-overflow-tooltip="" />
+
+				<!-- <el-table-column prop="createTime" min-width="100px" label="鍒涘缓鏃堕棿" width="130"
+						:formatter="formatDate_T_Time" show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" min-width="100px" label="淇敼鏃堕棿" width="130"
+						:formatter="formatDate_T_Time" show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" min-width="120px" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" min-width="120px" label="淇敼浜�" show-overflow-tooltip="" /> -->
+			</el-table>
+
+			<Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+				@pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 鍗曡鎯� -->
+	<el-drawer v-model="drawerVisible" :title="`${detailForm.asnId}璁㈠崟璇︽儏`" direction="rtl" size="80%"
+		@close="handleDrawerClose">
+		<template #title>
+			<div class="slot_title">
+				<div class="title_orderNo">{{ title }}</div>
+				<div>璁㈠崟璇︽儏</div>
+			</div>
+		</template>
+
+		<div class="detailBoxWrap">
+			<!-- 璇︽儏缁勪欢 -->
+			<open-details ref="propDetailRef"></open-details>
+			<div class="msi-form">
+				<el-form :model="detailForm">
+					<el-row>
+						<el-col :span="6">
+							<el-form-item label="鐗╂枡缂栧彿">
+								<el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="2">
+							<el-form-item label-width="20px">
+								<el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-form>
+			</div>
+			<div class="msi-content">
+				<!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+				<el-table :data="drawerList" border striped :max-height="480">
+					<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+
+					<!-- <el-table-column prop="qCOrderId" label="璐ㄦ鍗旾D"  show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="businessType" label="涓氬姟绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.businessType, getEnumBusinessTypeData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+
+					<el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="materialName" min-width="110px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="qcQuantity" label="瀹炴鏁伴噺" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="qCStatus" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+					<el-table-column prop="qcStatus" label="璐ㄦ鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{
+								getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)
+							}}</el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column prop="passQuantity" label="鍚堟牸鏁伴噺" show-overflow-tooltip="" />
+					<el-table-column prop="rejectQuantity" label="涓嶅悎鏍兼暟閲�" show-overflow-tooltip="" />
+					<el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+
+					<el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" show-overflow-tooltip="" />
+					<el-table-column prop="qCOrderStatus" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{
+								getEnumDesc(scope.row.qcOrderStatus, getEnumAsnStatusData_Index)
+							}}</el-tag>
+						</template>
+					</el-table-column>
+					<!-- <el-table-column prop="qcOrderStatusName" label="鍗曟嵁鐘舵��"  show-overflow-tooltip="" /> -->
+
+					<el-table-column prop="unit" label="鍗曚綅" show-overflow-tooltip="" />
+					<el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+					<el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+					<el-table-column prop="custCode" label="瀹㈡埛缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="custChinaName" min-width="110px" label="瀹㈡埛涓枃鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="custEnglishName" min-width="110px" label="瀹㈡埛鑻辨枃鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="relationOrderType" label="鍏宠仈鍗曟嵁绫诲瀷"  show-overflow-tooltip="" /> -->
+					<el-table-column prop="relationOrderTypeName" min-width="110px" label="鍏宠仈鍗曟嵁绫诲瀷"
+						show-overflow-tooltip="" />
+					<!-- <el-table-column prop="factoryId" label="宸ュ巶ID"  show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="factoryName" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="factoryCode" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+					<el-table-column prop="remarks" label="澶囨敞" show-overflow-tooltip="" />
+					<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+				</el-table>
+				<Pagination :total="detailCount" v-model:page="detailForm.PageNo" v-model:limit="detailForm.PageSize"
+					@pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+				<div></div>
+			</div>
+		</div>
+	</el-drawer>
+
+	<el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+		<el-form :model="outerForm2" label-width="120px">
+			<el-row style="font-size: 16px">
+				<el-col :span="23">
+					<el-form-item label="鍗曞彿:" required>
+						<el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="outVisible2 = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="getSapOrderPO">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+</template>
+<script lang="ts" setup>
+import Pagination from "/@/components/Pagination/index.vue";
+import { ElMessage, ElMessageBox } from "element-plus";
+import {
+	ref,
+	nextTick,
+	computed,
+	getCurrentInstance,
+	watch,
+	defineExpose,
+	defineProps,
+	onMounted,
+} from "vue";
+
+import { formatDecimalData } from "/@/utils/formate";
+
+import cache from "/@/utils/cache";
+import { pageWmsMaterial } from "/@/api/main/WmsBase/wmsMaterial";
+import { getTypeStatus } from "/@/utils/formate";
+import { getAPI } from "/@/utils/axios-utils";
+import { SysEnumApi } from "/@/api-services/api";
+import {
+	addWmsOrderPurchase,
+	updateWmsOrderPurchase,
+	detailWmsOrderPurchase,
+} from "/@/api/main/WmsOrder/wmsOrderPurchase";
+import OpenDetails from "/@/components/openDetails/openDetails.vue";
+import { pageBaseCustomer } from "/@/api/main/WmsBase/baseCustomer";
+import { pageWmsOrderPurchaseDetails } from "/@/api/main/WmsOrder/wmsOrderPurchaseDetails";
+import {
+	pageWmsOrderAsnDetails,
+	deleteWmsOrderAsnDetails,
+} from "/@/api/main/WmsOrder/wmsOrderAsnDetails";
+import commonFunction from "/@/utils/commonFunction";
+import {
+	addWmsOrderAsn,
+	updateWmsOrderAsn,
+	detailWmsOrderAsn,
+} from "/@/api/main/WmsOrder/wmsOrderAsn";
+
+import {
+	addWmsQc,
+	updateWmsQc,
+	detailWmsQc,
+	confirmWmsQc,
+} from "/@/api/main/WmsQC/wmsOrderQc";
+import { pageWmsQcDetails } from "/@/api/main/WmsQC/wmsOrderQcDetails";
+import { pageWmsOrderMovementDetails } from "/@/api/main/WmsOrder/wmsOrderMovementDetails";
+import { addWmsOrderSort, pageWmsOrderSort } from "/@/api/main/WmsOrderDo/wmsOrderSort";
+import { addWmsOrderSortDetails, addWmsYjxfDetails } from "/@/api/main/WmsOrderDo/wmsOrderSortDetails";
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getEnumOrderTypeData = ref<any>([]);
+const getEnumBusinessTypeData = ref<any>([]);
+const getEnumPoStatusData = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(["getTabelData"]);
+const getEnumAsnStatusData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumQCStatusData_Index = ref<any>([]);
+
+const getEnumDockData = ref<any>([]);
+const props = defineProps({
+	titleAuthor: {
+		type: Number,
+		required: true,
+	},
+	hexiao: {
+		type: Number,
+		default: 1,
+		required: true,
+	},
+});
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor);
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+// 鐧诲綍鐢ㄦ埛id
+// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
+
+// const EnumWriteOffState = computed(
+//   () => store.state.login.enums.enumWriteOffState
+// );
+
+let itemBtnArr = ["鎵归噺鍒犻櫎", "缂栬緫", "鏂板"];
+const boolEnum = ref([
+	{
+		title: "鏄�",
+		value: true,
+	},
+	{
+		title: "鍚�",
+		value: false,
+	},
+]);
+
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref("");
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+	return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+	orderDoRuType.value = param;
+	uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+	getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+	ElMessageBox.confirm("鏄惁纭鑾峰彇鏇存柊锛�", "鎻愮ず", {
+		confirmButtonText: "纭",
+		cancelButtonText: "鍙栨秷",
+		type: "warning",
+	}).then(() => {
+		// getSapRkPurchase().then((res) => {
+		//   if (res.code == 200) {
+		//     ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+		//   } else {
+		//     ElMessage.error(
+		//       `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+		//     );
+		//   }
+		// })
+	});
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+	purchaseNo: "",
+});
+const getSapOrderPO = (param?: number) => {
+	if (param && param == 1) {
+		outVisible2.value = true;
+		return;
+	}
+	if (outerForm2.value.purchaseNo == "") {
+		ElMessage.warning("璇疯緭鍏ュ崟鍙�");
+		return;
+	}
+	// getSapPurchasePO({
+	//   purchaseNo: outerForm2.value.purchaseNo
+	// })
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       ElMessage.success("SAP鑾峰彇鎴愬姛");
+	//       outVisible2.value = false;
+	//     } else {
+	//       ElMessage.error(
+	//         `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+	//       );
+	//     }
+	//   })
+	//   .catch((err) => ElMessage.error(err));
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+	outerForm2.value.purchaseNo = "";
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+	WareMaterialCode: "",
+	WareMaterialName: "",
+	PurchaseNo: "",
+	CreatedUserName: "",
+	CreatedTimeBegin: "",
+	CreatedTimeEnd: "",
+	CreateDate: [],
+	IssueTimeBegin: "",
+	IssueTimeEnd: "",
+	IssueDate: [],
+	MaterialTypeStaus: "",
+	SourceBy: "",
+	WriteOffState: "",
+	signStatus: "",
+	status: "",
+	freeOrderType: "",
+	IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+	// LoginUserID: LoginUserID, //鐢ㄦ埛id
+	OrderMenuType: "", //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+	Page: 1,
+	PageSize: 10,
+	poApprovalStatus: "",
+	keyCode: "",
+	IsDisable: "", //鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+const tableRef = ref();
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache("enumList");
+console.log(enumList.inEnumOrderType);
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+	//鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+		formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+		formModel.value.CreatedTimeEnd = ""; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+			formModel.value.CreatedTimeBegin = "";
+			formModel.value.CreatedTimeEnd = "";
+		}
+	}
+	//鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+		formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+		formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+			formModel.value.IssueTimeBegin = "";
+			formModel.value.IssueTimeEnd = "";
+		}
+	}
+
+	//鍏跺畠鍏ュ簱鍏ュ彛
+	// if (titleAuthor.value == 1) { //鍏嶈垂鍏ュ簱鍗曠鐞�
+	// }
+
+	// if (titleAuthor.value == 2) { //璁㈠崟鍏ュ簱绠$悊
+	// }
+
+	// getPurchasePageForAllData(formModel.value)
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       const { data } = res;
+	//       const result = data;
+	//       result.rows.map(
+	//         (item: { hasChildren: boolean }) => (item.hasChildren = true)
+	//       );
+	//       tableData.value = result.rows;
+	//       totalItems.value = result.totalRows;
+	//       orderType.value = formModel.value.MaterialTypeStaus;
+	//       // 娓呴櫎閫変腑
+	//       nextTick(() => {
+	//         if (tableRef.value && typeof tableRef.value.clearSelection === 'function') {
+	//           checkRows.value = [];
+	//           tableRef.value.clearSelection();
+	//         }
+	//       })
+	//     } else {
+	//       ;
+	//     }
+	//   })
+	//   .catch((err) => {
+	//     console.log(err);
+	//     ElMessage.error(JSON.stringify(err));
+	//   });
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+	formModel.value = {
+		WareMaterialCode: "",
+		WareMaterialName: "",
+		PurchaseNo: "",
+		CreatedUserName: "",
+		CreatedTimeBegin: "",
+		CreatedTimeEnd: "",
+		CreateDate: [],
+		IssueTimeBegin: "",
+		IssueTimeEnd: "",
+		IssueDate: [],
+		MaterialTypeStaus: "",
+		SourceBy: "",
+		WriteOffState: "",
+		signStatus: "",
+		status: "",
+		freeOrderType: "",
+		IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+		//  LoginUserID: LoginUserID, //鐢ㄦ埛id
+		OrderMenuType: "", //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+		Page: 1,
+		PageSize: 10,
+		poApprovalStatus: "",
+		keyCode: "",
+		IsDisable: "", //鏄惁浣滃簾
+	};
+	getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+//瀵煎嚭PO鍗曡鎯�
+const handExport = () => {
+	// rkExport(formModel.value)
+	//   .then((res) => {
+	//     const link = document.createElement("a"); //鍒涘缓a鏍囩
+	//     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+	//     let objectUrl = URL.createObjectURL(blob);
+	//     link.href = objectUrl;
+	//     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+	//       new Date().toString(),
+	//       "YYYY-MM-DD hh:mm:ss"
+	//     )}`; // 鑷畾涔夋枃浠跺悕
+	//     link.click(); // 涓嬭浇鏂囦欢
+	//     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+	//   }).catch((err) => ElMessage.error(JSON.stringify(err)));
+	//瀵煎嚭璋冪敤鎺ュ彛
+	// let entozh = entozhExcell
+	//   const { PageNo, PageSize, ...rest } = formModel.value
+	//   getPurchasePage({ Page: 1, PageSize: 1000000, ...rest }).then(res => {
+	//     if(res.code==200){
+	//       res.data.rows.forEach((item)=>{
+	//         item.writeOffState = EnumWriteOffState.value.filter((v: any) => v.value == item.writeOffState)[0].title;
+	//         item.sourceBy =  sourceEnum.value.filter((v: any) => v.value == item.sourceBy)[0].title;
+	//       })
+	//       exportExcel(res.data.rows, entozh, "xlsx", `鍏ュ簱绠$悊琛�${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`);
+	//     }
+	//   })
+	// 鍚庣瀵煎嚭-瀛楁涓嶅叏
+	// if (checkRows.value.length <= 0) {
+	//   ElMessage.warning("璇烽�夋嫨涓�涓鍗曪紒");
+	//   return
+	// }
+	// const arr = checkRows.value.reduce((curr, item) => {
+	//   curr.push(item.purchaseNo);
+	//   return curr;
+	// }, []);
+	// puchaseExport({ PurchaseNo: arr })
+	//   .then((res) => {
+	//     const link = document.createElement("a"); //鍒涘缓a鏍囩
+	//     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+	//     let objectUrl = URL.createObjectURL(blob);
+	//     link.href = objectUrl;
+	//     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+	//       new Date().toString(),
+	//       "YYYY-MM-DD hh:mm:ss"
+	//     )}`; // 鑷畾涔夋枃浠跺悕
+	//     link.click(); // 涓嬭浇鏂囦欢
+	//     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+	//   })
+	//   .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+	materialCode: "",
+	Page: 1,
+	PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref("drawerAll");
+// const
+//鍗曞彿
+const purchaseNo = ref("");
+const detailCount2 = ref(0);
+const detailForm2 = ref({
+	Page: 1,
+	PageSize: 10,
+	qcOrderId: "",
+});
+const getEnumPoDetailStatusData_Index = ref<any>([]);
+
+const drawerList2 = ref<DetailType[]>([]);
+//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+const getDetail = async () => {
+	loading.value = true;
+	var res = await pageWmsOrderMovementDetails(Object.assign(detailForm.value));
+	var listD = res.data.result?.items ?? [];
+	drawerList.value = listD;
+	detailCount.value = res.data.result?.total;
+	loading.value = false;
+	getEnumPoDetailStatusData_Index.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+		[];
+
+	getEnumAsnStatusData_Index.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+		[];
+};
+
+//----------------鐗╂枡鏄庣粏
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+	detailForm.value.PageNo = 1;
+	detailForm.value.PageSize = 10;
+	if (scope.asnNo) {
+		title.value = `${scope.asnNo}`;
+	}
+	drawerType.value = "drawerAll";
+	drawerVisible.value = true;
+	//褰撳墠鍏ュ簱鍗曞彿id
+	detailForm.value.asnId = scope.id;
+	//鍏ュ簱鍗�
+	purchaseNo.value = scope.purchaseNo;
+	detailForm2.value.asnId = scope.id;
+	//鑾峰彇鐗╂枡鍒楄〃
+	if (detailForm2.value.asnId == "") {
+		drawerList2.value = [];
+		detailCount2.value = 0;
+		return;
+	}
+	// 鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	getDetail();
+
+	getEnumPoDetailStatusData_Index.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+		[];
+	const getEnumBusinessTypeData_Index = ref<any>([]);
+	getEnumBusinessTypeData_Index.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("BusinessTypeEnum")).data
+			.result ?? [];
+
+	// 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+	let scopetrans = JSON.parse(JSON.stringify(scope));
+	// scopetrans.totalquantity = Number(scopetrans.totalquantity).toFixed(3);
+	// scopetrans.quantity = Number(scopetrans.quantity).toFixed(3);
+	// scopetrans.goodsquantity = Number(scopetrans.goodsquantity).toFixed(3);
+	// scopetrans.surplusquantity = Number(scopetrans.surplusquantity).toFixed(3);
+	scopetrans.qcOrderStatus = getEnumDesc(
+		scopetrans.qcOrderStatus,
+		getEnumPoDetailStatusData_Index.value
+	);
+	scopetrans.businessType = getEnumDesc(
+		scopetrans.businessType,
+		getEnumBusinessTypeData_Index.value
+	);
+	nextTick(() => {
+		proxy.$refs["propDetailRef"].openADialog(scopetrans, entozhExcell);
+	});
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+	detailForm.value = {
+		materialCode: "",
+		asnId: "",
+		Page: 1,
+		PageSize: 10,
+	};
+	deltailList.value = [];
+	detailCount.value = 0;
+	drawerList.value = [];
+	drawerList2.value = [];
+	detailCount2.value = 0;
+	drawerList2.value = [];
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+	id: number;
+	barCode: string;
+	wareMaterialCode: string;
+	name: string;
+	signStatus: string;
+	category: string;
+	materialTypeName: string;
+	specificationModel: string;
+	long: number;
+	width: number;
+	high: number;
+	weight: number;
+	unit: string;
+	createdTime: string;
+	purchaseNo: string;
+	quantity: number;
+	goodsquantity: number;
+	surplusquantity: number;
+	poLineNumber: string;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref("");
+
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref("add");
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+	hasTMCode: false,
+	asnType: "",
+	dock: "",
+	projectNo: "",
+	OrderDetails: [] as any[],
+});
+
+// 鐗规畩瀛楃鐨勯獙璇�
+// 鍖呭惈鐗规畩瀛楃杩斿洖true锛屼笉鍖呭惈鐗规畩瀛楃杩斿洖false
+const checkEspcial = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[@$%*^:;锛氾紱~+=!锛�#^{}><.,锛屻�俔/g;
+		if (!reg.test(value.trim())) {
+			callback();
+		} else {
+			return callback(new Error("涓嶈兘瀛樺湪鐗规畩绗﹀彿"));
+		}
+	}
+};
+
+// 楠岃瘉瑙掕壊缂栧彿
+var validatorCode = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[\u4E00-\u9FA5]/g;
+		if (!reg.test(value)) {
+			callback();
+		} else {
+			return callback(new Error("鍗曞彿涓嶈兘瀛樺湪姹夊瓧"));
+		}
+	}
+};
+
+//rules
+const formRules = {
+	// businessType: [{ required: true, message: '璇烽�夋嫨璁㈠崟绫诲瀷锛�', trigger: 'change' }],
+	orderTypeName: [{ required: true, message: "璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒", trigger: "blur" }],
+	businessType: [{ required: true, message: "璇烽�夋嫨涓氬姟绫诲瀷锛�", trigger: "change" }],
+	businessTypeName: [
+		{ required: true, message: "璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒", trigger: "blur" },
+	],
+	orderSocure: [{ required: true, message: "璇疯緭鍏ュ崟鎹潵婧愶紒", trigger: "blur" }],
+	poStatus: [{ required: true, message: "璇烽�夋嫨鍗曟嵁鐘舵�侊紒", trigger: "change" }],
+	poStatusName: [{ required: true, message: "璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒", trigger: "blur" }],
+	supplierCode: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�", trigger: "blur" }],
+	supplierName: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�", trigger: "blur" }],
+	factoryId: [{ required: true, message: "璇疯緭鍏ュ伐鍘侷D锛�", trigger: "blur" }],
+	// purchaseNo: [
+	//   { required: true, message: "鍗曞彿涓嶈兘涓虹┖", trigger: "blur" },
+	//   { validator: validatorCode, trigger: "blur" },
+	//   { validator: checkEspcial, trigger: "blur" }
+	// ],
+};
+//鎵撳紑
+const openDialog = async (type: number, scope: any = {}) => {
+	materialForm.value.PageSize = 10;
+	// addForm.value = { ...scope };
+	materialForm.value.OrdersId = scope.join(",");
+	materialForm.value.OrderStatusForSort = 1; //浼�1 鏌ユ柊寤� 鎵ц涓殑鐗╂枡
+	debugger;
+	getOrderMaterialList();
+	//----------------鐗╂枡鏄庣粏
+	dialogVisible.value = true;
+	//娓呴櫎閫変腑椤�
+	// nextTick(() => {
+	// 	dialogRef.value.clearValidate();
+	// });
+};
+
+// ---------------- 鏄庣粏 ------------------
+const getOrderMaterialList = async () => {
+	loading.value = true;
+	var res = await pageWmsOrderMovementDetails(Object.assign(materialForm.value));
+	var listD = res.data.result?.items ?? [];
+	debugger;
+	if (listD.length > 0) {
+		listD.forEach((item: any) => {
+			item.priority = 0;
+			item.quantityTotal = item.quantity;
+			item.quantity = Number(
+				Number(item.quantityTotal) - Number(item.createWaveQuantity)
+			).toFixed(3);
+		});
+	}
+	warehousOrderDetails.value = listD;
+	if (listD.length == 1) {
+		//鎼滅储鍒颁竴鏉$殑鏃跺�� 鍏ㄩ儴閫変腑
+		nextTick(() => {
+			detailRef.value.toggleAllSelection();
+		});
+	}
+	loading.value = false;
+	if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].poNo) {
+		isPoBox.value = 1;
+		isMaterialBox.value = 0;
+	} else {
+		isPoBox.value = 0;
+		isMaterialBox.value = 1;
+	}
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+	return row.id + row.asnLineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+	addForm.value = {
+		hasTMCode: false,
+		asnType: "",
+		dock: "",
+		projectNo: "",
+		OrderDetails: [] as any[],
+	};
+	warehousOrderDetails.value = [];
+	checkedDetails.value = [];
+	deltailList.value = [];
+	detailCount.value = 0;
+	detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+	ElMessageBox.confirm("鏄惁纭鍒犻櫎锛�", "鎻愮ず", {
+		confirmButtonText: "纭",
+		cancelButtonText: "鍙栨秷",
+		type: "warning",
+	})
+		.then(() => {
+			let arr = [];
+			if (checkedDetails.value[0].diRelationID) {
+				checkedDetails.value.forEach((item) => {
+					console.log(item);
+					let index = warehousOrderDetails.value.findIndex(
+						(detail) =>
+							detail.code == item.code && detail.diRelationID == item.diRelationID
+					);
+					if (index > -1) {
+						warehousOrderDetails.value.splice(index, 1);
+					}
+				});
+			} else {
+				checkedDetails.value.forEach((item) => {
+					let index = warehousOrderDetails.value.findIndex(
+						(detail) =>
+							detail.code == item.code && detail.asnLineNumber == item.asnLineNumber
+					);
+					warehousOrderDetails.value.splice(index, 1);
+				});
+			}
+			arr = warehousOrderDetails.value;
+			warehousOrderDetails.value = [];
+			//bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+			nextTick(() => {
+				warehousOrderDetails.value = arr;
+				checkedDetails.value = [];
+				detailRef.value.clearSelection();
+			});
+		})
+		.catch(() => ElMessage.info("宸插彇娑堝垹闄�"));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const confirm = async () => {
+	console.log("纭");
+	// let idx = warehousOrderDetails.value.findIndex((v) => v.asnLineNumber == '' || v.asnLineNumber == undefined);
+	// if (idx > -1) {
+	// 	ElMessage.warning('璇疯緭鍏ヨ鍙�');
+	// 	return;
+	// }
+	// let isNext = '';
+	// warehousOrderDetails.value.forEach((item) => {
+	// 	const arr: any = warehousOrderDetails.value.filter((detail) => detail.asnLineNumber == item.asnLineNumber);
+	// 	if (arr.length > 1) {
+	// 		isNext = `琛屽彿锛�${arr[0].asnLineNumber}涓嶈兘鐩稿悓`;
+	// 		return;
+	// 	}
+	// });
+	// if (isNext != '') {
+	// 	ElMessage.warning(isNext);
+	// 	return;
+	// }
+
+	// let idx2 = warehousOrderDetails.value.findIndex((v) => v.passQuantity == '' || v.passQuantity == undefined);
+	// de
+	// if (idx2 > -1) {
+	// 	ElMessage.warning('鍚堟牸鏁伴噺涓嶅悎瑙勮寖锛�');
+	// 	return;
+	// }
+	// addForm.value.OrderDetails = [];
+	// warehousOrderDetails.value.forEach((item) => {
+	// 	const obj = {
+	// 		...item,
+	// 		relationNo :item.movementNo
+	// 	};
+	// 	addForm.value.OrderDetails.push(obj);
+	// });
+	if (checkedDetails.value.length <= 0) {
+		ElMessage.warning("璇烽�夋嫨闇�瑕佷笅鍙戠殑鐗╂枡锛�");
+		return;
+	}
+
+	var notAl = false;
+	checkedDetails.value.forEach((item) => {
+		if (
+			item.quantity >
+			Number(Number(item.quantityTotal) - Number(item.createWaveQuantity)).toFixed(3)
+		) {
+			notAl = true;
+		}
+		// item.relationNo = item.movementNo;//鍏宠仈鍗曞彿 == 绉诲姩鍗曞彿
+	});
+	debugger;
+	if (notAl) {
+		ElMessage.warning("闇�姹傛暟涓嶈兘澶т簬璁㈠崟鏁板拰娉㈡鏁颁箣宸紒");
+		return;
+	}
+	let res = await addWmsYjxfDetails(checkedDetails.value);
+	if (res.data && res.data.code == 200) {
+		ElMessage.success("涓嬪彂鎴愬姛锛�");
+		dialogVisible.value = false;
+		emits("getTabelData");
+	}
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+	materialCode: "",
+	orderNo: "",
+	Page: 1,
+	PageSize: 10,
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+	if (isPoBox.value == 1) {
+		if (materialForm.value.poNo) {
+			loading.value = true;
+			var res = await pageWmsOrderAsnDetails(Object.assign(materialForm.value));
+			materialList.value = res.data.result?.items ?? [];
+			materialTotal.value = res.data.result?.total;
+			loading.value = false;
+		}
+	}
+	if (isMaterialBox.value == 1) {
+		loading.value = true;
+		var res = await pageWmsMaterial(Object.assign(materialForm.value));
+		materialList.value = res.data.result?.items ?? [];
+		materialTotal.value = res.data.result?.total;
+		loading.value = false;
+	}
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+	materialForm.value = {
+		materialCode: "",
+		orderNo: "",
+		Page: 1,
+		PageSize: 10,
+	};
+	getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+	checkedMaterial.value = val;
+};
+const isMaterialBox: any = ref(true);
+const isPoBox: any = ref(true);
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = (param?: any) => {
+	if (param && param == "po") {
+		isPoBox.value = 1;
+		isMaterialBox.value = 0;
+	} else {
+		isPoBox.value = 0;
+		isMaterialBox.value = 1;
+	}
+	getMaterialList();
+	addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+	//鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+	if (warehousOrderDetails.value.length == 0) {
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			item.asnLineNumber = index + 1;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	} else {
+		for (let i = 0; i < checkedMaterial.value.length; i++) {
+			let idx = warehousOrderDetails.value.findIndex(
+				(item: { poLineNumber: any; code: any }) =>
+					item.code == checkedMaterial.value[i].materialCode &&
+					item.asnLineNumber == checkedMaterial.value[i].asnLineNumber
+			);
+			if (idx > -1) {
+				return ElMessage.warning(
+					`鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}锛孉SN琛屽彿锛�${checkedMaterial.value[i].asnLineNumber || ""
+					}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦
+				);
+			}
+		}
+
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	}
+
+	addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+	materialForm.value = {
+		materialCode: "",
+		orderNo: "",
+		Page: 1,
+		PageSize: 10,
+	};
+	materialList.value = [];
+	checkedMaterial.value = [];
+	materialRef.value.clearSelection();
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => { });
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	custType: "",
+});
+
+//-----------------杩滅▼鎼滅储----------------
+const handleQueryTdp = async () => {
+	var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+	arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: "",
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: "",
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+const getChildList = (item?: any) => {
+	// console.log("4")
+};
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+	margin: 10px;
+}
+
+.msi-form {
+	margin-top: 10px;
+}
+
+.msi-form {
+	margin-bottom: 10px;
+}
+
+.slot_title {
+	display: flex;
+	align-items: center;
+
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #f18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/index.vue
new file mode 100644
index 0000000..9f52943
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/index.vue
@@ -0,0 +1,602 @@
+锘�<template>
+  <div class="wmsOrderMovement-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsOrderMovement" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsOrderMovement.searchKey" clearable="" placeholder="鍗曞彿,鍒涘缓浜�,淇敼浜�"/>
+            
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovement">
+            <el-form-item label="鍗曞彿">
+              <el-input v-model="queryParamsWmsOrderMovement.orderNo" clearable="" placeholder="璇疯緭鍏ュ崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovement">
+            <el-form-item label="鍗曟嵁绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsOrderMovement.orderType" placeholder="璇烽�夋嫨鍗曟嵁绫诲瀷">
+                <el-option v-for="(item,index) in getEnumOrderTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovement">
+            <el-form-item label="涓氬姟绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsOrderMovement.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+                <el-option
+                v-for="(item, index) in getEnumBusinessTypeData_IndexForAdd"
+                :key="index"
+                :value="item.businessTypeValue"
+                :label="`[${item.businessTypeValue}] ${item.businessTypeName}`"
+              ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovement">
+            <el-form-item label="鍗曟嵁鏉ユ簮">
+              <el-select clearable="" v-model="queryParamsWmsOrderMovement.orderSocure" placeholder="璇烽�夋嫨鍗曟嵁鏉ユ簮">
+                <el-option v-for="(item,index) in getEnumOrderSocureData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderMovement">
+            <el-form-item label="鍗曟嵁鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsOrderMovement.orderStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+                <el-option v-for="(item,index) in getEnumOrderStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb10">
+            <el-form-item labelWidth="10">
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsOrderMovement" v-auth="'wmsOrderMovement:page'" :disabled="disabled_btnWmsOrderMovement"> 鏌ヨ </el-button>
+                <el-button icon="ele-Refresh" @click="resetWmsOrderMovement"> 閲嶇疆 </el-button>
+                <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsOrderMovement" v-if="!showAdvanceQueryUIWmsOrderMovement" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsOrderMovement" v-if="showAdvanceQueryUIWmsOrderMovement" style="margin-left:5px;"> 闅愯棌 </el-button>
+               <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsOrderMovement" v-auth="'wmsOrderMovement:add'"> 鏂板 </el-button>  -->
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="showProp(1)"  v-auth="'wmsOrderMovement:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Finished" @click="showPropZj(1,checkedDetails)"   v-auth="'wmsOrderMovement:add'"> 鍒涘缓娉㈡ </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Finished" @click="showPropZj(8,checkedDetails)"   v-auth="'wmsOrderMovement:add'"> 涓嬪彂 </el-button> 
+                <el-button icon="ele-Finished"  type="primary" @click="showPropZj(2,checkedDetails)" v-auth="'wmsOrderSort:delete'" style="margin-left:5px;"> 棰勯厤 </el-button>
+                <el-button icon="ele-Finished"  type="primary" @click="showPropZj(3,checkedDetails)" v-auth="'wmsOrderSort:delete'" style="margin-left:5px;"> 鍒嗛厤 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelWmsOrderDeliver"> 瀵煎叆</el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handExport"> 瀵煎嚭</el-button>
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="addapplyCard">鏂板鐪嬫澘鍗�</el-button> -->
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelWmsOrderMovement"  v-auth="'wmsOrderMovement:importExcel'" > 瀵煎叆 </el-button> -->
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+
+
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+				:data="tableDataWmsOrderMovement"
+				style="width: 100%"
+				v-loading="loadingWmsOrderMovement"
+				tooltip-effect="light"
+        row-key="id"
+        @sort-change="sortChangeWmsOrderMovement"
+        ref="tableRef" :summary-method="getExportTitle" show-summary
+        @selection-change="detailsCheckChange"
+				border="">
+        <el-table-column align="center" width="60" type="selection"/>
+        <el-table-column fixed="left" type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column fixed="left" label="鍗曞彿" sortable  prop="orderNo" min-width="160" align="left" show-overflow-tooltip>
+          <template #default="scope">
+            <span class="under_line" @click="openDrawer(1, scope.row)">
+              {{ scope.row.orderNo }}
+            </span>
+          </template>
+        </el-table-column>
+          <!-- <el-table-column prop="orderType" label="鍗曟嵁绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.orderType, getEnumOrderTypeData_Index)}}
+            </template>
+          </el-table-column> -->
+          <el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ scope.row.businessTypeName }}
+            </template>
+          </el-table-column>
+      
+          <el-table-column prop="orderStatusName" label="鍗曟嵁鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag :type="getTypeStatus(1, scope.row.orderStatusName)"> {{ scope.row.orderStatusName }}
+              </el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column prop="orderSocure" label="鍗曟嵁鏉ユ簮"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.orderSocure, getEnumOrderSocureData_Index)}}
+            </template>
+          </el-table-column>
+          <el-table-column prop="plannedDate" label="璁″垝/浜よ揣鏃ユ湡" width="100" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+        <el-table-column prop="costCenter" label="鎴愭湰涓績"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="erpOrderNo" label="ERP鍗曞彿"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="deliveryAddress" label="瀹㈡埛鍙戝線鍦�"  show-overflow-tooltip="" />    
+        <el-table-column prop="sourceWarehouseCode" label="婧愪粨搴撶紪鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="toAreaCode" label="鐩爣搴撳尯缂栧彿"  width="100" show-overflow-tooltip="" />
+        <el-table-column prop="toPlaceCode" label="鐩爣搴撲綅缂栧彿" width="100" show-overflow-tooltip="" />
+        <el-table-column prop="custCode" label="瀹㈡埛缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="priority" label="浼樺厛绾�"  show-overflow-tooltip="" />
+        <el-table-column prop="orderReason" label="鍗曟嵁鍘熷洜"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" min-width="450" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsOrderMovement:update') || auth('wmsOrderMovement:delete')">
+          <template #default="scope">
+          <!-- v-auth="'wmsOrderMovement:update'" @click="openEditWmsOrderMovement(scope.row)"-->
+            <el-button icon="ele-Finished" size="small" text="" type="primary" @click="showPropZj(4,scope.row)">鍙栨秷棰勯厤 </el-button>
+            <el-button icon="ele-InfoFilled" size="small" text="" type="primary" @click="showPropZj(10,scope.row)">棰勯厤璇︽儏</el-button>
+            <!-- <el-button icon="ele-Finished" size="small" text="" type="primary" @click="showPropZj(5,scope.row)"> 鍙栨秷鍒嗛厤 </el-button> -->
+            <el-button icon="ele-InfoFilled" size="small" text type="primary"  @click="showPropZj(6,scope.row)"> 鍒嗛厤璇︽儏 </el-button>
+            <!--  @click="openEditWmsOrderMovement(scope.row)" -->
+            <el-button icon="ele-Edit" size="small" text="" type="primary" v-auth="'wmsOrderMovement:update'" @click="showProp(scope.row)" :disabled="scope.row.orderStatus!=0"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsOrderMovement(scope.row)" v-auth="'wmsOrderMovement:delete'" :disabled="scope.row.orderStatus!=0"> 鍙栨秷 </el-button> 
+
+            <!-- 鍙鏂板缓鎵嶈兘鍏抽棴 -->
+            <el-button icon="ele-Close" size="small" text="" type="primary" v-auth="'wmsOrderDeliver:delete'"
+              @click="tocloseWmsOrderSjdXjd(scope.row)" :disabled="!(scope.row.orderStatus == 0 || scope.row.orderStatus == 1)"> 鍏抽棴 </el-button>
+
+          </template>
+        </el-table-column> 
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsOrderMovement.page"
+				v-model:page-size="tableParamsWmsOrderMovement.pageSize"
+				:total="tableParamsWmsOrderMovement.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsOrderMovement"
+				@current-change="handleCurrentChangeWmsOrderMovement"
+				layout="total, sizes, prev, pager, next, jumper"
+	    />
+      <printDialogWmsOrderMovement
+        ref="printDialogRefWmsOrderMovement"
+        :title="printWmsOrderMovementTitle"
+        @reloadTable="handleQueryWmsOrderMovement" />
+      <editDialogWmsOrderMovement
+        ref="editDialogRefWmsOrderMovement"
+        :title="editWmsOrderMovementTitle"
+        @reloadTable="handleQueryWmsOrderMovement"
+      />
+      <importExcelDialog
+        ref="importExcelDialogRefWmsOrderMovement"
+        :title="importExcelTitleWmsOrderMovement"
+        @parentUploadFun="handleImportExcelWmsOrderMovement"
+        @parentDownFun="handleDownExcelWmsOrderMovement"
+      />
+    </el-card>
+
+
+
+    <editDialogWmsOrderDeliver ref="editDialogRefWmsOrderDeliver" :title="editWmsOrderDeliverTitle"
+        @reloadTable="handleQuery" />
+    <importExcelDialog ref="importExcelDialogRefWmsOrderDeliver" :title="importExcelTitleWmsOrderDeliver"
+      @parentUploadFun="handleImportExcelWmsOrderDeliver" @parentDownFun="handleDownExcelWmsOrderDeliver" />
+
+
+    <!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 -->
+    <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQueryWmsOrderMovement"></open-allprop>
+
+    <!--鍒涘缓娉㈡ -->
+    <cjbc-open-allprop titleAuthor="1" hexiao="0" ref="WczjpropALlProp" @getTabelData="handleQueryWmsOrderMovement"></cjbc-open-allprop>
+
+    <!--涓嬪彂 -->
+    <xiafa-open-allprop titleAuthor="1" hexiao="0" ref="xiafapropALlProp" @getTabelData="handleQueryWmsOrderMovement"></xiafa-open-allprop>
+
+    <!--棰勯厤 -->
+    <yuconfig-open-allprop titleAuthor="1" hexiao="0" ref="YppropALlProp" @getTabelData="handleQueryWmsOrderMovement"></yuconfig-open-allprop>
+
+    <!--鍒嗛厤 -->
+    <fenconfig-open-allprop titleAuthor="1" hexiao="0" ref="FpjpropALlProp" @getTabelData="handleQueryWmsOrderMovement"></fenconfig-open-allprop>
+
+    <!-- 鍙栨秷棰勯厤 鍙栨秷鍒嗛厤 -->
+    <cancelconfig-open-allprop :titleAuthor="titleAuthorCancel" hexiao="0" ref="cancelconfigOpenAllprop" @getTabelData="handleQueryWmsOrderMovement"></cancelconfig-open-allprop>
+
+
+    <!-- 鍒嗛厤璇︽儏 -->
+    <detailconfig-open-allprop titleAuthor="1" hexiao="0" ref="detailconfigOpenAllpropRef" @getTabelData="handleQueryWmsOrderMovement"></detailconfig-open-allprop>
+
+     <!-- 鏂板鐪嬫澘鍗� -->
+     <apply-card ref="addCardProp" @getTabelData="handleQueryWmsOrderMovement"></apply-card>
+
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsOrderMovementOff">
+  import { getCurrentInstance,nextTick,ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
+
+  import {
+formatUtcToData,
+  getTypeStatus
+} from "/@/utils/formate";
+  import printDialogWmsOrderMovement from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogWmsOrderMovement from '/@/views/main/WmsOrder/wmsOrderMovement/component/editDialog.vue'
+  import { ExcellTableDataExport } from "/@/hooks/exportTableDataExcell";
+  import OpenAllprop from './component/openAllpropOff.vue';
+  import applyCard from './component/applyCardProp.vue';
+  import CjbcOpenAllprop from "./component/openAllpropCjbc.vue";
+  import XiafaOpenAllprop from "./component/openAllpropXiafa.vue";
+  import { pageWmsOrderMovement, deleteWmsOrderMovement,importExcelWmsOrderMovement,downloadExcelTemplateWmsOrderMovement, downloadExcelTemplateWmsOrderXjdAll, importExcelWmsOrderXjd, downloadExcelTemplateWmsOrderXjd, closeWmsOrderSjdXjd } from '/@/api/main/WmsOrder/wmsOrderMovement';
+  import YuconfigOpenAllprop from '/@/components/bcProp/yuconfigOpenAllprop.vue';
+  import FenconfigOpenAllprop from '/@/components/bcProp/fenconfigOpenAllprop.vue';
+  import CancelconfigOpenAllprop from '/@/components/bcProp/cancelconfigOpenAllprop.vue';
+  import DetailconfigOpenAllprop from '/@/components/bcProp/detailconfigOpenAllprop.vue';
+import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+import { handleSlectDataWmsBusinessType } from "/@/utils/selectData";
+
+  const getEnumOrderTypeData_Index = ref<any>([]);
+  const getEnumBusinessTypeData_Index = ref<any>([]);
+    const getEnumBusinessTypeData_IndexForAdd = ref<any>([]);
+
+  const getEnumOrderSocureData_Index = ref<any>([]);
+  const getEnumOrderStatusData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+
+  /***************************************************[绉诲姩鍗曟搷浣淽寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsOrderMovement = ref(false);
+  const printDialogRefWmsOrderMovement = ref();
+  const editDialogRefWmsOrderMovement = ref();
+  const loadingWmsOrderMovement = ref(false);
+  const disabled_btnWmsOrderMovement = ref(false);
+  const titleAuthorCancel = ref(1)
+  const tableDataWmsOrderMovement = ref<any>([]);
+  const queryParamsWmsOrderMovement = ref<any>({});
+    const getEnumFinancialTypeData_Index = ref<any>([]);
+
+  const tableParamsWmsOrderMovement = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+    OrderType:5 //涓嬫灦鍗�
+  });
+  // ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
+const jsonExcellTableExport = {
+  titleName: "", //瀵煎嚭琛ㄦ牸鍚嶇О
+  interfaceListName: '',//瀵煎嚭鎺ュ彛鍚嶇О
+}
+const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport)
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+// --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬-----------------
+
+  // ---------------鏂板-----------------------
+const showProp = (item?: any) => {
+  if (item == 1) {
+    proxy.$refs['propALlProp'].openDialog(1);
+  } else {
+    proxy.$refs['propALlProp'].openDialog(2, item);
+  }
+}
+  // ---------------璇︽儏-----------------------
+  const openDrawer = (type: number, item?: any) => {
+  proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell);
+}
+
+// 鍒涘缓娉㈡
+const showPropZj = (type:number,item?:any)=>{
+  // if(item[0].qcOrderStatus==2||item[0].qcOrderStatus==3 ||item[0].qcOrderStatus==4){
+	// 	  ElMessage.warning(`鍗曟嵁鐘舵�佷笉鍏佽鎿嶄綔锛乣);
+  //     return;
+  // }
+
+    // 鍙栨秷棰勯厤
+    if(type == 4){
+      titleAuthorCancel.value = 1
+    proxy.$refs['cancelconfigOpenAllprop'].openDialog(1,item);
+  return
+  }
+   // 棰勯厤璇︽儏
+   if(type == 10){
+      titleAuthorCancel.value = 10
+    proxy.$refs['cancelconfigOpenAllprop'].openDialog(10,item);
+  return
+  }
+  // 鍙栨秷鍒嗛厤
+  if(type == 5){
+    titleAuthorCancel.value = 2
+    proxy.$refs['cancelconfigOpenAllprop'].openDialog(2,item);
+  return
+
+  }
+
+  // 鍒嗛厤璇︽儏
+  if(type == 6){
+    proxy.$refs['detailconfigOpenAllpropRef'].openDialog(1,item);
+    return
+  }
+
+
+  const handleArr: number[] = [];
+  item.forEach((v:any) => {
+    handleArr.push(v.id);
+  })
+
+   //鍒涘缓娉㈡
+   if(type == 1){
+    proxy.$refs['WczjpropALlProp'].openDialog(type,handleArr);
+  }
+     //涓�閿笅鍙�
+  if(type == 8){
+    proxy.$refs['xiafapropALlProp'].openDialog(1,handleArr);
+  }
+  //棰勯厤
+  if(type == 2){
+    proxy.$refs['YppropALlProp'].openDialog(type,handleArr);
+  }
+  // 鍒嗛厤
+  if(type == 3){
+    debugger
+    proxy.$refs['FpjpropALlProp'].openDialog(type,handleArr);
+  }
+
+}
+  // ---------------鏂板鐪嬫澘鍗�-----------------------
+  const addapplyCard = () => {
+      proxy.$refs['addCardProp'].openDialog();
+  }
+  const printWmsOrderMovementTitle = ref("");
+  const editWmsOrderMovementTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsOrderMovement = () => {
+    showAdvanceQueryUIWmsOrderMovement.value = !showAdvanceQueryUIWmsOrderMovement.value;
+  }
+
+  // 鏌ヨ绉诲姩鍗�
+  const handleQueryWmsOrderMovement = async () => {
+    loadingWmsOrderMovement.value = true;
+    disabled_btnWmsOrderMovement.value = true;
+    var res = await pageWmsOrderMovement(Object.assign(queryParamsWmsOrderMovement.value, tableParamsWmsOrderMovement.value));
+    if(res.data.type=="success"){
+      tableDataWmsOrderMovement.value = res.data.result?.items ?? [];
+      tableParamsWmsOrderMovement.value.total = res.data.result?.total;
+    }
+    loadingWmsOrderMovement.value = false;
+    disabled_btnWmsOrderMovement.value = false;
+  };
+
+  // 閲嶇疆绉诲姩鍗曟煡璇�
+  const resetWmsOrderMovement = async () => {
+    queryParamsWmsOrderMovement.value = {}
+  };
+
+  // 绉诲姩鍗曞垪鎺掑簭
+  const sortChangeWmsOrderMovement = async (column: any) => {
+	queryParamsWmsOrderMovement.value.field = column.prop;
+	queryParamsWmsOrderMovement.value.order = column.order;
+	await handleQueryWmsOrderMovement();
+  };
+
+  // 鎵撳紑鏂板绉诲姩鍗曢〉闈�
+  const openAddWmsOrderMovement = () => {
+    editWmsOrderMovementTitle.value = '娣诲姞绉诲姩鍗�';
+    editDialogRefWmsOrderMovement.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃绉诲姩鍗曢〉闈�
+  const openPrintWmsOrderMovement = async (row: any) => {
+    printWmsOrderMovementTitle.value = '鎵撳嵃绉诲姩鍗�';
+  }
+  
+  // 鎵撳紑缂栬緫绉诲姩鍗曢〉闈�
+  const openEditWmsOrderMovement = (row: any) => {
+    editWmsOrderMovementTitle.value = '缂栬緫绉诲姩鍗�';
+    editDialogRefWmsOrderMovement.value.openDialog(2,row);
+  };
+
+  // 鍙栨秷绉诲姩鍗�
+  const delWmsOrderMovement = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸彇娑堝悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsOrderMovement.value = true;
+    var ret = await deleteWmsOrderMovement(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍙栨秷鎴愬姛");
+	}
+    loadingWmsOrderMovement.value = false;
+    handleQueryWmsOrderMovement();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉绉诲姩鍗曢〉闈㈠閲�
+  const handleSizeChangeWmsOrderMovement = (val: number) => {
+    tableParamsWmsOrderMovement.value.pageSize = val;
+    handleQueryWmsOrderMovement();
+  };
+
+  // 鏀瑰彉绉诲姩鍗曢〉鐮佸簭鍙�
+  const handleCurrentChangeWmsOrderMovement = (val: number) => {
+    tableParamsWmsOrderMovement.value.page = val;
+    handleQueryWmsOrderMovement();
+  };
+
+/***************************************************[绉诲姩鍗曟搷浣淽缁撴潫***************************************************/
+/***************************************************[绉诲姩鍗曞鍏寮�濮�***************************************************/
+const importExcelTitleWmsOrderMovement = ref("");
+const importExcelDialogRefWmsOrderMovement = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsOrderMovement = () => {
+    importExcelTitleWmsOrderMovement.value = '瀵煎叆绉诲姩鍗�';
+    importExcelDialogRefWmsOrderMovement.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsOrderMovement = async (formData:Blob) => {
+   var result = await importExcelWmsOrderMovement(formData);
+   importExcelDialogRefWmsOrderMovement.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+   if(result.data.type=="success"){
+    handleQueryWmsOrderMovement();
+   }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsOrderMovement = async () => {
+   var result = await downloadExcelTemplateWmsOrderMovement();
+   importExcelDialogRefWmsOrderMovement.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+const UpDownShelvesType = "2";//涓婁笅鏋剁被鍨�
+/***************************************************[绉诲姩鍗曞鍏缁撴潫***************************************************/
+  // 绉诲姩鍗曢〉闈㈠姞杞芥椂
+  onMounted(async () => {
+    getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+
+    const moveType = "";
+    getEnumBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType,UpDownShelvesType); //涓嬫媺璇诲彇涓氬姟绫诲瀷鎺ュ彛 
+
+    //绛涢�変笉闇�瑕佺殑涓氬姟绫诲瀷
+    getEnumBusinessTypeData_IndexForAdd.value =getEnumBusinessTypeData_Index.value;
+    // getEnumBusinessTypeData_Index.value.forEach((item:any)=>{
+		// 	var ArrbusinessTypeValue =String(item.businessTypeValue).split("");
+		// 	if(ArrbusinessTypeValue[0]==2){
+		// 		getEnumBusinessTypeData_IndexForAdd.value.push(item) 
+		// 	}
+		// })
+    getEnumOrderSocureData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('SourceByEnum')).data.result ?? [];
+    getEnumOrderStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+
+
+  });
+
+  handleQueryWmsOrderMovement();
+
+  const showAdvanceQueryUI = ref(false);
+const printDialogRef = ref();
+const editDialogRef = ref();
+const loading = ref(false);
+const tableData = ref<any>([]);
+const queryParams = ref<any>({});
+const tableParams = ref({
+  page: 1,
+  pageSize: 10,
+  total: 0,
+});
+  // 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+  // loading.value = true;
+  // var res = await pageWmsOrderAsn(Object.assign(queryParams.value, tableParams.value));
+  // tableData.value = res.data.result?.items ?? [];
+  // tableParams.value.total = res.data.result?.total;
+  // loading.value = false;
+ 
+};
+  //鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+  const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+
+
+
+//瀵煎嚭
+const handExport = () => {
+  downloadExcelTemplateWmsOrderXjdAll(queryParams.value)
+    .then((res) => {
+      if(res.status == 200){
+        const link = document.createElement("a"); //鍒涘缓a鏍囩
+          let blob = new Blob([res.data], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+          let objectUrl = URL.createObjectURL(blob);
+          link.href = objectUrl;
+          link.download = `涓嬫灦鍗曞鍑�${formatUtcToData(
+            new Date().toString(),
+            "YYYY-MM-DD hh:mm:ss"
+          )}`; // 鑷畾涔夋枃浠跺悕
+          link.click(); // 涓嬭浇鏂囦欢
+          URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+      }
+    })
+};
+
+
+
+
+
+/***************************************************[DO鍗曟搷浣淽缁撴潫***************************************************/
+/***************************************************[DO鍗曞鍏寮�濮�***************************************************/
+const printWmsOrderDeliverTitle = ref("");
+const editWmsOrderDeliverTitle = ref("");
+const importExcelTitleWmsOrderDeliver = ref("");
+const importExcelDialogRefWmsOrderDeliver = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsOrderDeliver = () => {
+  importExcelTitleWmsOrderDeliver.value = '瀵煎叆涓嬫灦鍗�';
+  importExcelDialogRefWmsOrderDeliver.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsOrderDeliver = async (formData: Blob) => {
+  var result = await importExcelWmsOrderXjd(formData);
+  importExcelDialogRefWmsOrderDeliver.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+  if (result.data.type == "success") {
+    handleQuery();
+  }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsOrderDeliver = async () => {
+  var result = await downloadExcelTemplateWmsOrderXjd();
+  importExcelDialogRefWmsOrderDeliver.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[DO鍗曞鍏缁撴潫***************************************************/
+/***************************************************[DO鍗曞鍑篯寮�濮�***************************************************/
+
+
+// 鍏抽棴
+const tocloseWmsOrderSjdXjd = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸叧闂悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      loading.value = true;
+      var ret = await closeWmsOrderSjdXjd(row);
+      if (ret.data.type == "success") {
+        ElMessage.success("鍏抽棴鎴愬姛");
+        handleQueryWmsOrderMovement();
+      }
+      loading.value = false;
+ 
+    })
+};
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+.under_line {
+  color: #F18201;
+  text-decoration: underline;
+  cursor: pointer;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/editDialog.vue
new file mode 100644
index 0000000..28c1418
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/editDialog.vue
@@ -0,0 +1,242 @@
+锘�<template>
+	<div class="wmsOrderSort-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="娉㈡鍗曞彿" prop="sortNo">
+							<el-input v-model="ruleForm.sortNo" placeholder="璇疯緭鍏ユ尝娆″崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁绫诲瀷" prop="orderType">
+							<el-select clearable v-model="ruleForm.orderType" placeholder="璇烽�夋嫨鍗曟嵁绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumOrderTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+			
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷" prop="businessType">
+							<el-select clearable v-model="ruleForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumBusinessTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷鍚嶇О" prop="businessTypeName">
+							<el-input v-model="ruleForm.businessTypeName" placeholder="璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鏉ユ簮" prop="orderSocure">
+							<el-select clearable v-model="ruleForm.orderSocure" placeholder="璇烽�夋嫨鍗曟嵁鏉ユ簮">
+								<el-option v-for="(item,index) in  getEnumOrderSocureData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鐘舵��" prop="sortStatus">
+							<el-select clearable v-model="ruleForm.sortStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+								<el-option v-for="(item,index) in  getEnumSortStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鐘舵�佸悕绉�" prop="sortStatusName">
+							<el-input v-model="ruleForm.sortStatusName" placeholder="璇疯緭鍏ュ崟鎹姸鎬佸悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
+							<el-input v-model="ruleForm.erpOrderNo" placeholder="璇疯緭鍏RP鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曞彿" prop="relationNo">
+							<el-input v-model="ruleForm.relationNo" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="澶囨敞" prop="remarks">
+							<el-input v-model="ruleForm.remarks" placeholder="璇疯緭鍏ュ娉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsOrderSort, updateWmsOrderSort, detailWmsOrderSort } from "/@/api/main/WmsOrderDo/wmsOrderSort";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+import { listWmsBusinessType } from "/@/api/main/WmsBase/wmsBusinessType";
+
+	const getEnumOrderTypeData = ref<any>([]);
+	const getEnumBusinessTypeData = ref<any>([]);
+	const getEnumOrderSocureData = ref<any>([]);
+	const getEnumSortStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		sortNo: [{required: true, message: '璇疯緭鍏ユ尝娆″崟鍙凤紒', trigger: 'blur',},],
+		orderType: [{required: true, message: '璇烽�夋嫨鍗曟嵁绫诲瀷锛�', trigger: 'change',},],
+		orderTypeName: [{required: true, message: '璇疯緭鍏ュ崟鎹被鍨嬪悕绉帮紒', trigger: 'blur',},],
+		businessType: [{required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change',},],
+		businessTypeName: [{required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒', trigger: 'blur',},],
+		orderSocure: [{required: true, message: '璇烽�夋嫨鍗曟嵁鏉ユ簮锛�', trigger: 'change',},],
+		sortStatus: [{required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change',},],
+		sortStatusName: [{required: true, message: '璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsOrderSort(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsOrderSort(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsOrderSort(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumOrderTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+	
+			getEnumOrderSocureData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('SourceByEnum')).data.result ?? [];
+			getEnumSortStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+
+			 //涓氬姟绫诲瀷
+			 var res = await listWmsBusinessType();
+			 res = res.data;
+    if(res && res.code == 200){
+		getEnumBusinessTypeData.value  = res?.result ?? [];
+    }
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/openAllpropSend.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/openAllpropSend.vue
new file mode 100644
index 0000000..3c3f0e4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/openAllpropSend.vue
@@ -0,0 +1,1066 @@
+<template>
+	<!-- 涓嬪彂 -->
+	<el-dialog v-model="dialogVisible" width="95%" @close="closeDialog" :close-on-click-modal="false">
+		<template #header>
+			<div style="color: #fff">
+				<span>娉㈡鍗�-涓嬪彂</span>
+			</div>
+		</template>
+
+
+		<div class="msi-content" style="margin-top: 10px">
+			<!-- <div class="header" style="margin-bottom: 10px">
+				<div>
+					<el-button v-show="isPoBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog('po')">鍏宠仈ASN鍗�</el-button>
+
+					<el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+						@click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+				</div>
+			</div> -->
+			<el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+				@selection-change="detailsCheckChange" max-height="480" @expand-change="getChildList">
+				<!-- <el-table-column align="center" width="60" type="selection" /> -->
+
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column prop="sortNo" label="鍗曞彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialCode" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="lineNumber" label="琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="orderStatus" min-width="60px" label="鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag :type="getTypeStatus(1, scope.row.sortDetailStatusName)">{{ scope.row.sortDetailStatusName
+						}}</el-tag>
+					</template>
+				</el-table-column>
+
+				<el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="issueQuantity" label="涓嬪彂鏁�" show-overflow-tooltip="" />
+				<el-table-column label="涓嬪彂" align="center" width="200">
+					<template #default="scope">
+						<el-input-number :min="0" :precision="3" v-model="scope.row.sendQuantity" size="small" />
+					</template>
+				</el-table-column>
+
+				
+				<el-table-column prop="unit" label="搴撳瓨鍗曚綅" show-overflow-tooltip="" />
+			</el-table>
+
+
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" :disabled="warehousOrderDetails.length == 0" @click="confirm">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 娣诲姞鐗╂枡 -->
+	<el-dialog v-model="addMaterialVisible" width="70%" @close="closeMaterialDialog">
+		<template #header>
+			<div style="color: #fff">
+				<span v-if="isMaterialBox == 1">娣诲姞鐗╂枡璇︽儏</span>
+				<span v-if="isPoBox == 1">鍏宠仈ASN鍗曠墿鏂�</span>
+			</div>
+		</template>
+
+		<div class="msi-form" style="padding-top: 0px">
+			<el-form :model="materialForm">
+				<el-row>
+					<el-col :span="8" v-if="isMaterialBox == 1">
+						<el-form-item label="鐗╂枡缂栧彿">
+							<el-input v-model="materialForm.Code" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8" v-if="isPoBox == 1">
+						<el-form-item label="鍏宠仈ASN鍗曞彿:">
+							<el-input v-model="materialForm.poNo" placeholder="璇疯緭鍏ュ叧鑱擜SN鍗曞彿" clearable></el-input>
+						</el-form-item>
+					</el-col>
+
+					<el-col :span="8">
+						<el-form-item label-width="20px">
+							<el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+							<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</div>
+		<div class="msi-content" style="padding-top: 0; margin-top: 10px">
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isMaterialBox == 1">
+				<el-table-column align="center" width="60" type="selection" />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+
+				<el-table-column label="鍗曚綅" prop="poUnit" align="center" min-width="140" show-overflow-tooltip />
+			</el-table>
+			<!-- ASN鍗� -->
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isPoBox == 1">
+				<el-table-column align="center" width="60" type="selection" />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column prop="poNo" label="PO鍗曞彿" min-width="120px" show-overflow-tooltip="" />
+				<el-table-column prop="poLineNumber" min-width="100px" label="PO琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="asnLineNumber" min-width="100px" label="ASN琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" min-width="130px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="asnStatus" min-width="100px" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index))">
+							{{ getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index) }}
+						</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="quantity" min-width="100px" label="閫佽揣鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="goodsQuantity" min-width="100px" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="supplierCode" min-width="100px" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierName" min-width="100px" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierBatch" min-width="100px" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" />
+				<el-table-column prop="unit" min-width="100px" label="鍗曚綅" show-overflow-tooltip="" />
+
+				<el-table-column prop="sN_1d" min-width="120px" label="涓�缁存潯鐮�" show-overflow-tooltip="" />
+				<el-table-column prop="sN_2d" min-width="120px" label="浜岀淮鏉$爜" show-overflow-tooltip="" />
+				<el-table-column prop="package" min-width="100px" label="鍖呰鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="plannedStartTime" min-width="120px" label="璁″垝寮�濮嬫椂闂�" :formatter="formatDate_T_Date"
+					show-overflow-tooltip="" />
+				<el-table-column prop="plannedEndTime" min-width="120px" label="璁″垝缁撴潫鏃堕棿" :formatter="formatDate_T_Date"
+					show-overflow-tooltip="" />
+				<el-table-column prop="projectNo" min-width="100px" label="椤圭洰鍙�" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="factoryName" min-width="100px" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="factoryCode" min-width="100px" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+				<el-table-column prop="dock" min-width="100px" label="鏀惰揣閬撳彛" show-overflow-tooltip="" />
+
+
+				<el-table-column prop="batch" min-width="100px" label="鎵规" show-overflow-tooltip="" />
+
+				<el-table-column prop="erpCode" min-width="100px" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
+				<el-table-column prop="erpOrderNo" min-width="100px" label="ERP鍗曞彿" show-overflow-tooltip="" />
+
+				<!-- <el-table-column prop="createTime" min-width="100px" label="鍒涘缓鏃堕棿" width="130"
+						:formatter="formatDate_T_Time" show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" min-width="100px" label="淇敼鏃堕棿" width="130"
+						:formatter="formatDate_T_Time" show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" min-width="120px" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" min-width="120px" label="淇敼浜�" show-overflow-tooltip="" /> -->
+			</el-table>
+
+			<Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+				@pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 鍗曡鎯� -->
+	<el-drawer v-model="drawerVisible" :title="`${detailForm.asnId}璁㈠崟璇︽儏`" direction="rtl" size="80%"
+		@close="handleDrawerClose">
+		<template #title>
+			<div class="slot_title">
+				<div class="title_orderNo">{{ title }}</div>
+				<div>璁㈠崟璇︽儏</div>
+			</div>
+		</template>
+
+		<div class="detailBoxWrap">
+			<!-- 璇︽儏缁勪欢 -->
+			<open-details ref="propDetailRef"></open-details>
+			<div class="msi-form">
+				<el-form :model="detailForm">
+					<el-row>
+						<el-col :span="6">
+							<el-form-item label="鐗╂枡缂栧彿">
+								<el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="2">
+							<el-form-item label-width="20px">
+								<el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-form>
+			</div>
+			<div class="msi-content">
+				<!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+				<el-table :data="drawerList" border striped :max-height="480">
+					<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+
+
+					<el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="materialName" min-width="110px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="qcQuantity" label="瀹炴鏁伴噺" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="qCStatus" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+					<el-table-column prop="qcStatus" label="璐ㄦ鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index) }}</el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column prop="passQuantity" label="鍚堟牸鏁伴噺" show-overflow-tooltip="" />
+					<el-table-column prop="rejectQuantity" label="涓嶅悎鏍兼暟閲�" show-overflow-tooltip="" />
+					<el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+
+					<el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" show-overflow-tooltip="" />
+					<el-table-column prop="qCOrderStatus" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{ getEnumDesc(scope.row.qcOrderStatus, getEnumAsnStatusData_Index) }}</el-tag>
+						</template>
+					</el-table-column>
+					<!-- <el-table-column prop="qcOrderStatusName" label="鍗曟嵁鐘舵��"  show-overflow-tooltip="" /> -->
+
+					<el-table-column prop="unit" label="鍗曚綅" show-overflow-tooltip="" />
+					<el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+					<el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+					<el-table-column prop="custCode" label="瀹㈡埛缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="custChinaName" min-width="110px" label="瀹㈡埛涓枃鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="custEnglishName" min-width="110px" label="瀹㈡埛鑻辨枃鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="relationOrderType" label="鍏宠仈鍗曟嵁绫诲瀷"  show-overflow-tooltip="" /> -->
+					<el-table-column prop="relationOrderTypeName" min-width="110px" label="鍏宠仈鍗曟嵁绫诲瀷"
+						show-overflow-tooltip="" />
+					<!-- <el-table-column prop="factoryId" label="宸ュ巶ID"  show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="factoryName" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="factoryCode" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+					<el-table-column prop="remarks" label="澶囨敞" show-overflow-tooltip="" />
+					<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+
+				</el-table>
+				<Pagination :total="detailCount" v-model:page="detailForm.PageNo" v-model:limit="detailForm.PageSize"
+					@pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+				<div></div>
+			</div>
+		</div>
+	</el-drawer>
+
+	<el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+		<el-form :model="outerForm2" label-width="120px">
+			<el-row style="font-size: 16px">
+				<el-col :span="23">
+					<el-form-item label="鍗曞彿:" required>
+						<el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="outVisible2 = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="getSapOrderPO">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+</template>
+<script lang="ts" setup>
+import Pagination from '/@/components/Pagination/index.vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import { ref, nextTick, computed, getCurrentInstance, watch, defineExpose, defineProps, onMounted } from 'vue';
+
+import { formatDecimalData } from '/@/utils/formate';
+
+import cache from '/@/utils/cache';
+import { pageWmsMaterial } from '/@/api/main/WmsBase/wmsMaterial';
+import {
+	getTypeStatus
+} from "/@/utils/formate";
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import { addWmsOrderPurchase, updateWmsOrderPurchase, detailWmsOrderPurchase } from '/@/api/main/WmsOrder/wmsOrderPurchase';
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+import { pageWmsOrderPurchaseDetails } from '/@/api/main/WmsOrder/wmsOrderPurchaseDetails';
+import { pageWmsOrderAsnDetails, deleteWmsOrderAsnDetails } from '/@/api/main/WmsOrder/wmsOrderAsnDetails';
+import commonFunction from '/@/utils/commonFunction';
+
+import { pageWmsOrderSortDetails, deleteWmsOrderSortDetails, importExcelWmsOrderSortDetails, downloadExcelTemplateWmsOrderSortDetails } from '/@/api/main/WmsOrderDo/wmsOrderSortDetails';
+
+import { pageWmsQcDetails } from '/@/api/main/WmsQC/wmsOrderQcDetails';
+import { pageWmsOrderMovementDetails } from '/@/api/main/WmsOrder/wmsOrderMovementDetails';
+import { addWmsOrderSort, pageWmsOrderSort } from '/@/api/main/WmsOrderDo/wmsOrderSort';
+import { addWmsOrderSortXiafaDetails } from '/@/api/main/WmsOrderDo/wmsOrderSortDetails';
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getEnumOrderTypeData = ref<any>([]);
+const getEnumBusinessTypeData = ref<any>([]);
+const getEnumPoStatusData = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(['getTabelData']);
+const getEnumAsnStatusData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumQCStatusData_Index = ref<any>([]);
+
+const getEnumDockData = ref<any>([]);
+const props = defineProps({
+	titleAuthor: {
+		type: Number,
+		required: true,
+	},
+	hexiao: {
+		type: Number,
+		default: 1,
+		required: true,
+	},
+});
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor);
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+// 鐧诲綍鐢ㄦ埛id
+// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
+
+// const EnumWriteOffState = computed(
+//   () => store.state.login.enums.enumWriteOffState
+// );
+
+let itemBtnArr = ['鎵归噺鍒犻櫎', '缂栬緫', '鏂板'];
+const boolEnum = ref([
+	{
+		title: '鏄�',
+		value: true,
+	},
+	{
+		title: '鍚�',
+		value: false,
+	},
+]);
+
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref('');
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+	return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+	orderDoRuType.value = param;
+	uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+	getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+	ElMessageBox.confirm('鏄惁纭鑾峰彇鏇存柊锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	}).then(() => {
+		// getSapRkPurchase().then((res) => {
+		//   if (res.code == 200) {
+		//     ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+		//   } else {
+		//     ElMessage.error(
+		//       `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+		//     );
+		//   }
+		// })
+	});
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+	purchaseNo: '',
+});
+const getSapOrderPO = (param?: number) => {
+	if (param && param == 1) {
+		outVisible2.value = true;
+		return;
+	}
+	if (outerForm2.value.purchaseNo == '') {
+		ElMessage.warning('璇疯緭鍏ュ崟鍙�');
+		return;
+	}
+	// getSapPurchasePO({
+	//   purchaseNo: outerForm2.value.purchaseNo
+	// })
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       ElMessage.success("SAP鑾峰彇鎴愬姛");
+	//       outVisible2.value = false;
+	//     } else {
+	//       ElMessage.error(
+	//         `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+	//       );
+	//     }
+	//   })
+	//   .catch((err) => ElMessage.error(err));
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+	outerForm2.value.purchaseNo = '';
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+	WareMaterialCode: '',
+	WareMaterialName: '',
+	PurchaseNo: '',
+	CreatedUserName: '',
+	CreatedTimeBegin: '',
+	CreatedTimeEnd: '',
+	CreateDate: [],
+	IssueTimeBegin: '',
+	IssueTimeEnd: '',
+	IssueDate: [],
+	MaterialTypeStaus: '',
+	SourceBy: '',
+	WriteOffState: '',
+	signStatus: '',
+	status: '',
+	freeOrderType: '',
+	IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+	// LoginUserID: LoginUserID, //鐢ㄦ埛id
+	OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+	Page: 1,
+	PageSize: 10,
+	poApprovalStatus: '',
+	keyCode: '',
+	IsDisable: '', //鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+const tableRef = ref();
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache('enumList');
+console.log(enumList.inEnumOrderType);
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+	//鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+		formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+		formModel.value.CreatedTimeEnd = ''; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+			formModel.value.CreatedTimeBegin = '';
+			formModel.value.CreatedTimeEnd = '';
+		}
+	}
+	//鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+		formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+		formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+			formModel.value.IssueTimeBegin = '';
+			formModel.value.IssueTimeEnd = '';
+		}
+	}
+
+	//鍏跺畠鍏ュ簱鍏ュ彛
+	// if (titleAuthor.value == 1) { //鍏嶈垂鍏ュ簱鍗曠鐞�
+	// }
+
+	// if (titleAuthor.value == 2) { //璁㈠崟鍏ュ簱绠$悊
+	// }
+
+	// getPurchasePageForAllData(formModel.value)
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       const { data } = res;
+	//       const result = data;
+	//       result.rows.map(
+	//         (item: { hasChildren: boolean }) => (item.hasChildren = true)
+	//       );
+	//       tableData.value = result.rows;
+	//       totalItems.value = result.totalRows;
+	//       orderType.value = formModel.value.MaterialTypeStaus;
+	//       // 娓呴櫎閫変腑
+	//       nextTick(() => {
+	//         if (tableRef.value && typeof tableRef.value.clearSelection === 'function') {
+	//           checkRows.value = [];
+	//           tableRef.value.clearSelection();
+	//         }
+	//       })
+	//     } else {
+	//       ;
+	//     }
+	//   })
+	//   .catch((err) => {
+	//     console.log(err);
+	//     ElMessage.error(JSON.stringify(err));
+	//   });
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+	formModel.value = {
+		WareMaterialCode: '',
+		WareMaterialName: '',
+		PurchaseNo: '',
+		CreatedUserName: '',
+		CreatedTimeBegin: '',
+		CreatedTimeEnd: '',
+		CreateDate: [],
+		IssueTimeBegin: '',
+		IssueTimeEnd: '',
+		IssueDate: [],
+		MaterialTypeStaus: '',
+		SourceBy: '',
+		WriteOffState: '',
+		signStatus: '',
+		status: '',
+		freeOrderType: '',
+		IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+		//  LoginUserID: LoginUserID, //鐢ㄦ埛id
+		OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+		Page: 1,
+		PageSize: 10,
+		poApprovalStatus: '',
+		keyCode: '',
+		IsDisable: '', //鏄惁浣滃簾
+	};
+	getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+
+
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+	materialCode: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref('drawerAll');
+// const
+//鍗曞彿
+const purchaseNo = ref('');
+const detailCount2 = ref(0);
+const detailForm2 = ref({
+	Page: 1,
+	PageSize: 10,
+	qcOrderId: '',
+});
+const getEnumPoDetailStatusData_Index = ref<any>([]);
+
+const drawerList2 = ref<DetailType[]>([]);
+//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+const getDetail = async () => {
+	loading.value = true;
+	var res = await pageWmsOrderMovementDetails(Object.assign(detailForm.value));
+	var listD = res.data.result?.items ?? [];
+	drawerList.value = listD;
+	detailCount.value = res.data.result?.total;
+	loading.value = false;
+	getEnumPoDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+
+	getEnumAsnStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+};
+
+//----------------鐗╂枡鏄庣粏
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+	detailForm.value.PageNo = 1;
+	detailForm.value.PageSize = 10;
+	if (scope.asnNo) {
+		title.value = `${scope.asnNo}`;
+	}
+	drawerType.value = 'drawerAll';
+	drawerVisible.value = true;
+	//褰撳墠鍏ュ簱鍗曞彿id
+	detailForm.value.asnId = scope.id;
+	//鍏ュ簱鍗�
+	purchaseNo.value = scope.purchaseNo;
+	detailForm2.value.asnId = scope.id;
+	//鑾峰彇鐗╂枡鍒楄〃
+	if (detailForm2.value.asnId == '') {
+		drawerList2.value = [];
+		detailCount2.value = 0;
+		return;
+	}
+	// 鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	getDetail();
+
+	getEnumPoDetailStatusData_Index.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+		[];
+
+	// 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+	let scopetrans = JSON.parse(JSON.stringify(scope));
+	// scopetrans.totalquantity = Number(scopetrans.totalquantity).toFixed(3);\
+	scopetrans.qcOrderStatus = getEnumDesc(scopetrans.qcOrderStatus, getEnumPoDetailStatusData_Index.value);
+	nextTick(() => {
+		proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+	});
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+	detailForm.value = {
+		materialCode: '',
+		asnId: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	deltailList.value = [];
+	detailCount.value = 0;
+	drawerList.value = [];
+	drawerList2.value = [];
+	detailCount2.value = 0;
+	drawerList2.value = [];
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+	id: number;
+	barCode: string;
+	wareMaterialCode: string;
+	name: string;
+	signStatus: string;
+	category: string;
+	materialTypeName: string;
+	specificationModel: string;
+	long: number;
+	width: number;
+	high: number;
+	weight: number;
+	unit: string;
+	createdTime: string;
+	purchaseNo: string;
+	quantity: number;
+	goodsquantity: number;
+	surplusquantity: number;
+	poLineNumber: string;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref('');
+
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref('add');
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+	hasTMCode: false,
+	asnType: '',
+	dock: '',
+	projectNo: '',
+	OrderDetails: [] as any[],
+});
+
+// 鐗规畩瀛楃鐨勯獙璇�
+// 鍖呭惈鐗规畩瀛楃杩斿洖true锛屼笉鍖呭惈鐗规畩瀛楃杩斿洖false
+const checkEspcial = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[@$%*^:;锛氾紱~+=!锛�#^{}><.,锛屻�俔/g;
+		if (!reg.test(value.trim())) {
+			callback();
+		} else {
+			return callback(new Error('涓嶈兘瀛樺湪鐗规畩绗﹀彿'));
+		}
+	}
+};
+
+// 楠岃瘉瑙掕壊缂栧彿
+var validatorCode = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[\u4E00-\u9FA5]/g;
+		if (!reg.test(value)) {
+			callback();
+		} else {
+			return callback(new Error('鍗曞彿涓嶈兘瀛樺湪姹夊瓧'));
+		}
+	}
+};
+
+//rules
+const formRules = {
+	// businessType: [{ required: true, message: '璇烽�夋嫨璁㈠崟绫诲瀷锛�', trigger: 'change' }],
+	orderTypeName: [{ required: true, message: '璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	businessType: [{ required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change' }],
+	businessTypeName: [{ required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	orderSocure: [{ required: true, message: '璇疯緭鍏ュ崟鎹潵婧愶紒', trigger: 'blur' }],
+	poStatus: [{ required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change' }],
+	poStatusName: [{ required: true, message: '璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒', trigger: 'blur' }],
+	supplierCode: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�', trigger: 'blur' }],
+	supplierName: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�', trigger: 'blur' }],
+	factoryId: [{ required: true, message: '璇疯緭鍏ュ伐鍘侷D锛�', trigger: 'blur' }]
+};
+//鎵撳紑
+const openDialog = async (type: number, scope: any = {}) => {
+	materialForm.value.PageSize = 100000;
+	materialForm.value.ableSendForMateriral = true;
+	materialForm.value.ordersId = scope.join(",");
+	// materialForm.value.sortDetailStatus = 1;//鎵ц涓�
+	getOrderMaterialList();
+	//----------------鐗╂枡鏄庣粏
+	dialogVisible.value = true;
+	//娓呴櫎閫変腑椤�
+	// nextTick(() => {
+	// 	dialogRef.value.clearValidate();
+	// });
+};
+
+// ---------------- 鏄庣粏 ------------------
+const getOrderMaterialList = async () => {
+	loading.value = true;
+	var res = await pageWmsOrderSortDetails(Object.assign(materialForm.value));
+	var listD = res.data.result?.items ?? [];
+	listD.forEach((item) => {
+		item.sendQuantity = Number(Number(item.quantity) - Number(item.issueQuantity)).toFixed(3);
+	})
+	warehousOrderDetails.value = listD;
+	loading.value = false;
+	// if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].poNo) {
+	// 	isPoBox.value = 1;
+	// 	isMaterialBox.value = 0;
+
+	// } else {
+	// 	isPoBox.value = 0;
+	// 	isMaterialBox.value = 1;
+	// }
+}
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+	return row.id + row.asnLineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+	addForm.value = {
+		hasTMCode: false,
+		asnType: '',
+		dock: '',
+		projectNo: '',
+		OrderDetails: [] as any[],
+	};
+	warehousOrderDetails.value = [];
+	checkedDetails.value = [];
+	deltailList.value = [];
+	detailCount.value = 0;
+	detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+	ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			let arr = [];
+			if (checkedDetails.value[0].diRelationID) {
+				checkedDetails.value.forEach((item) => {
+					console.log(item);
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode == item.materialCode && detail.diRelationID == item.diRelationID);
+					if (index > -1) {
+						warehousOrderDetails.value.splice(index, 1);
+					}
+				});
+			} else {
+				checkedDetails.value.forEach((item) => {
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode == item.materialCode && detail.asnLineNumber == item.asnLineNumber);
+					warehousOrderDetails.value.splice(index, 1);
+				});
+			}
+			arr = warehousOrderDetails.value;
+			warehousOrderDetails.value = [];
+			//bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+			nextTick(() => {
+				warehousOrderDetails.value = arr;
+				checkedDetails.value = [];
+				detailRef.value.clearSelection();
+			});
+		})
+		.catch(() => ElMessage.info('宸插彇娑堝垹闄�'));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const confirm = async () => {
+	console.log('纭');
+	let idx2 = warehousOrderDetails.value.findIndex((v) => v.sendQuantity == '' || v.sendQuantity == undefined || v.sendQuantity <= 0);
+	if (idx2 > -1) {
+		ElMessage.warning('鏁伴噺闇�瑕佸ぇ浜�0锛�');
+		return;
+	}
+
+	warehousOrderDetails.value.forEach((item) => {
+		item.sortDetailsId = item.id
+	});
+
+	let res = await addWmsOrderSortXiafaDetails(warehousOrderDetails.value);
+	if (res.data && res.data.code == 200) {
+		ElMessage.success('涓嬪彂鎴愬姛锛�');
+		dialogVisible.value = false;
+		emits('getTabelData');
+	}
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+	materialCode: '',
+	orderNo: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+	if (isPoBox.value == 1) {
+		if (materialForm.value.poNo) {
+			loading.value = true;
+			var res = await pageWmsOrderAsnDetails(Object.assign(materialForm.value));
+			materialList.value = res.data.result?.items ?? [];
+			materialTotal.value = res.data.result?.total;
+			loading.value = false;
+		}
+	}
+	if (isMaterialBox.value == 1) {
+		loading.value = true;
+		var res = await pageWmsMaterial(Object.assign(materialForm.value));
+		materialList.value = res.data.result?.items ?? [];
+		materialTotal.value = res.data.result?.total;
+		loading.value = false;
+	}
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+	materialForm.value = {
+		materialCode: '',
+		orderNo: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+	checkedMaterial.value = val;
+};
+const isMaterialBox: any = ref(true);
+const isPoBox: any = ref(true);
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = (param?: any) => {
+	if (param && param == 'po') {
+		isPoBox.value = 1;
+		isMaterialBox.value = 0;
+	} else {
+		isPoBox.value = 0;
+		isMaterialBox.value = 1;
+	}
+	getMaterialList();
+	addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+	//鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+	if (warehousOrderDetails.value.length == 0) {
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			item.asnLineNumber = index + 1;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	} else {
+		for (let i = 0; i < checkedMaterial.value.length; i++) {
+			let idx = warehousOrderDetails.value.findIndex(
+				(item: { poLineNumber: any; code: any }) => item.code == checkedMaterial.value[i].materialCode && item.asnLineNumber == checkedMaterial.value[i].asnLineNumber
+			);
+			if (idx > -1) {
+				return ElMessage.warning(`鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}锛孉SN琛屽彿锛�${checkedMaterial.value[i].asnLineNumber || ''}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦);
+			}
+		}
+
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	}
+
+	addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+	materialForm.value = {
+		materialCode: '',
+		orderNo: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	materialList.value = [];
+	checkedMaterial.value = [];
+	materialRef.value.clearSelection();
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+});
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	custType: '渚涘簲鍟�',
+});
+
+//-----------------杩滅▼鎼滅储----------------
+const handleQueryTdp = async () => {
+	var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+	arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+	loading.value = true;
+	var res = await pageBaseCustomer({
+		page: 1,
+		pageSize: 200,
+		custCode: query,
+		custType: '渚涘簲鍟�',
+	});
+	loading.value = false;
+	arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+	loading.value = true;
+	var res = await pageBaseCustomer({
+		page: 1,
+		pageSize: 200,
+		custCode: query,
+		custType: '渚涘簲鍟�',
+	});
+	loading.value = false;
+	arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+const getChildList = (item?: any) => {
+	// console.log("4")
+}
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+	margin: 10px;
+}
+
+.msi-form {
+	margin-top: 10px;
+}
+
+.msi-form {
+	margin-bottom: 10px;
+}
+
+.slot_title {
+	display: flex;
+	align-items: center;
+
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #F18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/openAllpropSort.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/openAllpropSort.vue
new file mode 100644
index 0000000..9ad1f46
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/openAllpropSort.vue
@@ -0,0 +1,1299 @@
+<template>
+	<!-- 娣诲姞銆佺紪杈� -->
+	<el-dialog v-model="dialogVisible" width="95%" @close="closeDialog" :close-on-click-modal="false">
+		<template #header>
+			<div style="color: #fff">
+				<span>{{ dialogType == 'add' ? '娣诲姞' : '缂栬緫' }}</span>
+			</div>
+		</template>
+		<el-form :model="addForm" ref="dialogRef" labelWidth="90" :rules="formRules" style="width:60%">
+			<el-row>
+				<!-- 鍚庣榛樿鏄� ASN鍗� update by liuwq 2024-05-23 -->
+
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+					<el-form-item  label="璁㈠崟绫诲瀷" prop="asnType">
+						<el-select :disabled="dialogType != 'add'" clearable v-model="addForm.asnType" placeholder="璇烽�夋嫨璁㈠崟绫诲瀷">
+							<el-option v-for="(item, index) in getEnumOrderTypeData" :key="index" :value="item.value"
+								:label="`${item.describe}`"></el-option>
+						</el-select>
+					</el-form-item>
+				</el-col> -->
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="涓氬姟绫诲瀷" prop="businessType">
+						<el-select clearable v-model="addForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+							<el-option v-for="(item, index) in  getBusinessTypeData_Index" :key="index"
+								:value="item.businessTypeValue"
+								:label="`[${item.businessTypeValue}] ${item.businessTypeName}`"></el-option>
+
+						</el-select>
+					</el-form-item>
+				</el-col>
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="鑷姩鐢熸垚鏉$爜">
+						<el-switch v-model="addForm.hasTMCode" active-text="鏄�" inactive-text="鍚�" />
+					</el-form-item>
+				</el-col>
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-show="addForm.hasTMCode">
+					<el-form-item label="鏉$爜绫诲瀷">
+						<el-switch v-model="addForm.typeTMCode" active-text="涓�缁�" inactive-text="浜岀淮" />
+					</el-form-item>
+				</el-col>
+				<!-- 榛樿ERP搴撳瓨鍦� -->
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+          <el-form-item label="渚涘簲鍟嗙紪鍙�" prop="supplierCode">
+            <el-select
+              v-model="addForm.supplierCode"
+              filterable
+              remote
+              reserve-keyword
+              remote-show-suffix
+              :remote-method="remoteMethod"
+              :loading="loading"
+              placeholder="璇烽�夋嫨鏇夸唬鍝佺墿鏂欑紪鍙�"
+              clearable
+              style="width: 100%"
+              @change="changeXmbh(addForm.supplierCode)"
+            >
+              <el-option
+                v-for="(item, index) in arrTdp"
+                :key="index"
+                :value="item.custCode"
+                :label="`[${item.custCode}]${item.custChinaName}`"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col> -->
+
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+          <el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
+            <el-input
+              v-model="addForm.erpOrderNo"
+              placeholder="璇疯緭鍏RP鍗曞彿"
+              maxlength="50"
+              show-word-limit
+              clearable
+            />
+          </el-form-item>
+        </el-col> -->
+
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+					<el-form-item label="椤圭洰鍙�" prop="projectNo">
+						<el-input v-model="addForm.projectNo" placeholder="璇疯緭鍏ラ」鐩彿" maxlength="50" show-word-limit
+							clearable />
+					</el-form-item>
+				</el-col> -->
+			</el-row>
+		</el-form>
+		<div class="msi-content" style="margin-top: 10px">
+			<div class="header" style="margin-bottom: 10px">
+				<div>
+					<el-button v-show="isMaterialBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog">鏂板鐗╂枡</el-button>
+					<el-button v-show="isPoBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog('po')">鍏宠仈PO鍗�</el-button>
+
+					<el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+						@click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+				</div>
+			</div>
+			<el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+				@selection-change="detailsCheckChange" max-height="480">
+				<el-table-column align="center" width="60" type="selection" />
+				<el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column fixed="left" label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center"
+					show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" min-width="100" prop="materialName" align="center" show-overflow-tooltip />
+				<el-table-column v-if="isPoBox == 1" label="PO鍗曞彿" min-width="130" prop="poNo" align="center"
+					show-overflow-tooltip />
+
+				<el-table-column v-if="isPoBox == 1" label="PO琛屽彿" prop="poLineNumber" align="center" min-width="120">
+					<template #default="scope">
+						{{ scope.row.asnLineNumber }}
+					</template>
+				</el-table-column>
+
+				<el-table-column label="ASN琛屽彿" prop="asnLineNumber" align="center" min-width="120">
+					<template #default="scope">
+						<el-input v-model.trim="scope.row.asnLineNumber" clearable min-width="150" placeholder="璇疯緭鍏SN琛屽彿" />
+					</template>
+				</el-table-column>
+				<!-- :disabled="!!scope.row.boM_NO" -->
+				<el-table-column label="鏁伴噺" align="center" min-width="150">
+					<template #default="scope">
+						<el-input-number :precision="3" min="0" v-model="scope.row.quantity" size="small" />
+					</template>
+				</el-table-column>
+
+				<el-table-column label="璁″垝寮�濮嬫椂闂�" align="center" min-width="180">
+					<template #default="scope">
+						<el-date-picker v-model="scope.row.plannedStartTime" type="datetime" :disabled-date="disabledDate"
+							value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨璁″垝寮�濮嬫椂闂�"
+							style="width: 100%" />
+					</template>
+				</el-table-column>
+				<el-table-column label="璁″垝缁撴潫鏃堕棿" align="center" min-width="180">
+					<template #default="scope">
+						<el-date-picker v-model="scope.row.plannedEndTime" type="datetime" :disabled-date="disabledDate"
+							value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿"
+							style="width: 100%" />
+					</template>
+				</el-table-column>
+
+				<el-table-column label="渚涘簲鍟�" align="center" min-width="180">
+					<template #default="scope">
+						<el-select v-model="scope.row.supplierCode" filterable remote reserve-keyword remote-show-suffix
+							:remote-method="remoteMethod" :loading="loading" placeholder="璇烽�夋嫨渚涘簲鍟�" clearable
+							style="width: 100%" @change="changeXmbh(scope.row.supplierCode)">
+							<el-option v-for="(item, index) in arrTdp" :key="index" :value="item.custCode"
+								:label="`[${item.custCode}]${item.custChinaName}`"></el-option>
+						</el-select>
+					</template>
+				</el-table-column>
+				<el-table-column label="渚涘簲鍟嗘壒娆�" prop="supplierBatch" align="center" min-width="120">
+					<template #default="scope">
+						<el-input v-model.trim="scope.row.supplierBatch" clearable min-width="150" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规" />
+					</template>
+				</el-table-column>
+
+
+				<el-table-column label="ERP搴撳瓨鍦�" prop="erpCode" align="center" min-width="120">
+					<template #default="scope">
+						<el-input v-model.trim="scope.row.erpCode" clearable min-width="150" placeholder="璇疯緭鍏RP搴撳瓨鍦�" />
+					</template>
+				</el-table-column>
+
+
+				<el-table-column label="椤圭洰鍙�" prop="projectNo" align="center" min-width="120">
+					<template #default="scope">
+						<el-input v-model.trim="scope.row.projectNo" clearable min-width="150" placeholder="璇疯緭鍏ラ」鐩彿" />
+					</template>
+				</el-table-column>
+
+
+				<el-table-column label="鏀惰揣閬撳彛" prop="dock" align="center" min-width="120">
+					<template #default="scope">
+						<!-- <el-input v-model.trim="scope.row.dock" clearable min-width="150" placeholder="璇疯緭鍏ユ敹璐ч亾鍙�" /> -->
+
+
+						<el-select clearable v-model="scope.row.dock" placeholder="璇烽�夋嫨鏀惰揣閬撳彛">
+							<el-option v-for="(item, index) in getEnumDockData" :key="index" :value="item.value"
+								:label="`${item.describe}`"></el-option>
+						</el-select>
+
+
+					</template>
+				</el-table-column>
+
+				<el-table-column label="鏄惁鍐荤粨" prop="isFreeze" align="center" min-width="120">
+					<template #default="scope">
+						<el-switch v-model="scope.row.isFreeze" active-text="鏄�" inactive-text="鍚�" />
+					</template>
+				</el-table-column>
+
+				<el-table-column label="鍐荤粨鍘熷洜" prop="freezeReason" align="center" min-width="120">
+					<template #default="scope">
+						<el-input v-model="scope.row.freezeReason" placeholder="璇疯緭鍏ュ喕缁撳師鍥�" maxlength="255" show-word-limit
+							clearable />
+					</template>
+				</el-table-column>
+
+				<el-table-column label="鍗曚綅" min-width="80" prop="unit" align="center" show-overflow-tooltip />
+			</el-table>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" :disabled="warehousOrderDetails.length == 0" @click="confirm">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 娣诲姞鐗╂枡 -->
+	<el-dialog v-model="addMaterialVisible" width="70%" @close="closeMaterialDialog">
+		<template #header>
+			<div style="color: #fff">
+				<span v-if="isMaterialBox == 1">娣诲姞鐗╂枡璇︽儏</span>
+				<span v-if="isPoBox == 1">鍏宠仈PO鍗曠墿鏂�</span>
+			</div>
+		</template>
+
+		<div class="msi-form" style="padding-top: 0px">
+			<el-form :model="materialForm">
+				<el-row>
+					<el-col :span="8" v-if="isMaterialBox == 1">
+						<el-form-item label="鐗╂枡缂栧彿">
+							<el-input v-model="materialForm.Code" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8" v-if="isPoBox == 1">
+						<el-form-item label="鍏宠仈PO鍗曞彿:">
+							<el-input v-model="materialForm.poNo" placeholder="璇疯緭鍏ュ叧鑱擯O鍗曞彿" clearable></el-input>
+						</el-form-item>
+					</el-col>
+
+					<el-col :span="8">
+						<el-form-item label-width="20px">
+							<el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+							<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</div>
+		<div class="msi-content" style="padding-top: 0; margin-top: 10px">
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isMaterialBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="鍗曚綅" prop="poUnit" align="center" min-width="140" show-overflow-tooltip />
+			</el-table>
+			<!-- PO鍗� -->
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isPoBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column prop="poNo" label="PO鍗曞彿" show-overflow-tooltip="" />
+				<el-table-column prop="poLineNumber" label="PO琛屽彿" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="erpOrderNo" label="ERP鍗曞彿" show-overflow-tooltip="" /> -->
+				<!-- <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" /> -->
+				<el-table-column prop="materialCode" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+
+				<!-- <el-table-column prop="createASNQuantity" label="宸插垱寤篈SN鏁伴噺" min-width="110px" show-overflow-tooltip="" /> -->
+
+				<!-- <el-table-column prop="snp" label="鏍囧寘鏁伴噺" show-overflow-tooltip="" /> -->
+
+				<!-- <el-table-column prop="printQuantity" label="鏉$爜鎵撳嵃鏁伴噺" show-overflow-tooltip="" /> -->
+
+				<!-- <el-table-column prop="poDetailStatus" label="鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						{{ scope.row.poDetailStatus }}
+						<el-tag>{{ getEnumDesc(scope.row.poDetailStatus, getEnumPoDetailStatusData_Index) }}</el-tag>
+					</template>
+				</el-table-column> -->
+				<el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+				<el-table-column prop="plannedStartTime" label="璁″垝寮�濮嬫椂闂�" show-overflow-tooltip="" />
+				<el-table-column prop="plannedEndTime" label="璁″垝缁撴潫鏃堕棿" show-overflow-tooltip="" />
+
+				<!-- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+				<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" /> -->
+			</el-table>
+
+			<Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+				@pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 鍗曡鎯� -->
+	<el-drawer v-model="drawerVisible" :title="`${detailForm.sortId}璁㈠崟璇︽儏`" direction="rtl" size="80%"
+		@close="handleDrawerClose">
+		<template #title>
+			<div class="slot_title">
+				<div class="title_orderNo">{{ title }}</div>
+				<div>璁㈠崟璇︽儏</div>
+			</div>
+		</template>
+
+		<div class="detailBoxWrap">
+			<!-- 璇︽儏缁勪欢 -->
+			<open-details ref="propDetailRef"></open-details>
+			<div class="msi-form">
+				<el-form :model="detailForm">
+					<el-row>
+						<el-col :span="6">
+							<el-form-item label="鐗╂枡缂栧彿">
+								<el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="2">
+							<el-form-item label-width="20px">
+								<el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-form>
+			</div>
+			<div class="msi-content">
+				<!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+				<el-table :data="drawerList" border striped :max-height="480">
+					<el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+					<!-- <el-table-column prop="asnNo" min-width="100px" label="ASN鍗曞彿" show-overflow-tooltip="" /> -->
+
+					<el-table-column fixed="left" min-width="120px" prop="materialCode" label="鐗╂枡缂栧彿"
+						show-overflow-tooltip="" />
+					<el-table-column prop="materialName" min-width="120px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="lineNumber" label="琛屽彿" show-overflow-tooltip="" />
+					<el-table-column prop="relationNoLineNumber" label="鍏宠仈鍗曡鍙�" show-overflow-tooltip="" />
+
+					<el-table-column prop="sortDetailStatusName" label="鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag :type="getTypeStatus(1, scope.row.sortDetailStatusName)"> {{ scope.row.sortDetailStatusName }}
+</el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column prop="sortNo" label="娉㈡鍗曞彿" min-width="150px" show-overflow-tooltip="" />
+					<el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" min-width="160px" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="snCode" label="璺熻釜鐮�"  show-overflow-tooltip="" /> -->
+					<el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
+					<el-table-column prop="offShelvesQuantity" label="涓嬫灦鏁�" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="deliverQuantity" label="鍙戣揣鏁�" show-overflow-tooltip="" /> -->
+					<el-table-column prop="pickQuantity" label="鎷h揣鏁�" show-overflow-tooltip="" />
+					<el-table-column prop="issueQuantity" label="涓嬪彂鏁�" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="batchRule" label="鎵规瑙勫垯" show-overflow-tooltip="" /> -->
+
+					<el-table-column prop="custCode" label="瀹㈡埛缂栧彿" show-overflow-tooltip="" />
+
+					<el-table-column prop="priority" label="浼樺厛绾�" show-overflow-tooltip="" />
+
+					<el-table-column prop="batch" min-width="140px" label="鎵规" show-overflow-tooltip="" />
+					<el-table-column prop="erpOrderNo" label="ERP鍗曞彿" show-overflow-tooltip="" />
+					<el-table-column prop="erpCode" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
+					<el-table-column prop="unit" label="鍗曚綅" show-overflow-tooltip="" />
+
+					<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+
+
+
+
+				</el-table>
+				<Pagination :total="detailCount" v-model:page="detailForm.PageNo" v-model:limit="detailForm.PageSize"
+					@pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+				<div></div>
+			</div>
+		</div>
+	</el-drawer>
+
+	<el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+		<el-form :model="outerForm2" label-width="120px">
+			<el-row style="font-size: 16px">
+				<el-col :span="23">
+					<el-form-item label="鍗曞彿:" required>
+						<el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="outVisible2 = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="getSapOrderPO">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+</template>
+<script lang="ts" setup>
+import Pagination from '/@/components/Pagination/index.vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import { ref, nextTick, computed, getCurrentInstance, watch, defineExpose, defineProps, onMounted } from 'vue';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+
+import { formatDecimalData } from '/@/utils/formate';
+
+import cache from '/@/utils/cache';
+import { pageWmsMaterial } from '/@/api/main/WmsBase/wmsMaterial';
+import {
+	getTypeStatus
+} from "/@/utils/formate";
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import { addWmsOrderPurchase, updateWmsOrderPurchase, detailWmsOrderPurchase } from '/@/api/main/WmsOrder/wmsOrderPurchase';
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+import { pageWmsOrderPurchaseDetails } from '/@/api/main/WmsOrder/wmsOrderPurchaseDetails';
+import { pageWmsOrderAsnDetails, deleteWmsOrderAsnDetails } from '/@/api/main/WmsOrder/wmsOrderAsnDetails';
+import commonFunction from '/@/utils/commonFunction';
+import { addWmsOrderAsn, updateWmsOrderAsn, detailWmsOrderAsn } from '/@/api/main/WmsOrder/wmsOrderAsn';
+import { pageWmsOrderSortDetails, deleteWmsOrderSortDetails, importExcelWmsOrderSortDetails, downloadExcelTemplateWmsOrderSortDetails } from '/@/api/main/WmsOrderDo/wmsOrderSortDetails';
+import { handleSlectDataWmsBusinessType } from "/@/utils/selectData";
+const moveType = 10;//绉诲姩绫诲瀷 鍏ュ簱
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getBusinessTypeData_Index = ref<any>([]);//涓氬姟绫诲瀷 create by liuwq 2024-05-23
+const getEnumOrderTypeData = ref<any>([]);
+const getEnumBusinessTypeData = ref<any>([]);
+const getEnumPoStatusData = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(['getTabelData']);
+const getEnumAsnStatusData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumOrderSocureData_Index = ref<any>([]);
+
+
+const getEnumDockData = ref<any>([]);
+const props = defineProps({
+	titleAuthor: {
+		type: Number,
+		required: true,
+	},
+	hexiao: {
+		type: Number,
+		default: 1,
+		required: true,
+	},
+});
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor);
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+// 鐧诲綍鐢ㄦ埛id
+// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
+
+// const EnumWriteOffState = computed(
+//   () => store.state.login.enums.enumWriteOffState
+// );
+
+
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref('');
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+	return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+	orderDoRuType.value = param;
+	uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+	getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+	ElMessageBox.confirm('鏄惁纭鑾峰彇鏇存柊锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	}).then(() => {
+		// getSapRkPurchase().then((res) => {
+		//   if (res.code == 200) {
+		//     ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+		//   } else {
+		//     ElMessage.error(
+		//       `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+		//     );
+		//   }
+		// })
+	});
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+	purchaseNo: '',
+});
+const getSapOrderPO = (param?: number) => {
+	if (param && param == 1) {
+		outVisible2.value = true;
+		return;
+	}
+	if (outerForm2.value.purchaseNo == '') {
+		ElMessage.warning('璇疯緭鍏ュ崟鍙�');
+		return;
+	}
+	// getSapPurchasePO({
+	//   purchaseNo: outerForm2.value.purchaseNo
+	// })
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       ElMessage.success("SAP鑾峰彇鎴愬姛");
+	//       outVisible2.value = false;
+	//     } else {
+	//       ElMessage.error(
+	//         `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+	//       );
+	//     }
+	//   })
+	//   .catch((err) => ElMessage.error(err));
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+	outerForm2.value.purchaseNo = '';
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+	WareMaterialCode: '',
+	WareMaterialName: '',
+	PurchaseNo: '',
+	CreatedUserName: '',
+	CreatedTimeBegin: '',
+	CreatedTimeEnd: '',
+	CreateDate: [],
+	IssueTimeBegin: '',
+	IssueTimeEnd: '',
+	IssueDate: [],
+	MaterialTypeStaus: '',
+	SourceBy: '',
+	WriteOffState: '',
+	signStatus: '',
+	status: '',
+	freeOrderType: '',
+	IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+	// LoginUserID: LoginUserID, //鐢ㄦ埛id
+	OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+	Page: 1,
+	PageSize: 10,
+	poApprovalStatus: '',
+	keyCode: '',
+	IsDisable: '', //鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+const tableRef = ref();
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache('enumList');
+console.log(enumList.inEnumOrderType);
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+	//鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+		formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+		formModel.value.CreatedTimeEnd = ''; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+			formModel.value.CreatedTimeBegin = '';
+			formModel.value.CreatedTimeEnd = '';
+		}
+	}
+	//鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+		formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+		formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+			formModel.value.IssueTimeBegin = '';
+			formModel.value.IssueTimeEnd = '';
+		}
+	}
+
+	//鍏跺畠鍏ュ簱鍏ュ彛
+	// if (titleAuthor.value == 1) { //鍏嶈垂鍏ュ簱鍗曠鐞�
+	// }
+
+	// if (titleAuthor.value == 2) { //璁㈠崟鍏ュ簱绠$悊
+	// }
+
+	// getPurchasePageForAllData(formModel.value)
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       const { data } = res;
+	//       const result = data;
+	//       result.rows.map(
+	//         (item: { hasChildren: boolean }) => (item.hasChildren = true)
+	//       );
+	//       tableData.value = result.rows;
+	//       totalItems.value = result.totalRows;
+	//       orderType.value = formModel.value.MaterialTypeStaus;
+	//       // 娓呴櫎閫変腑
+	//       nextTick(() => {
+	//         if (tableRef.value && typeof tableRef.value.clearSelection === 'function') {
+	//           checkRows.value = [];
+	//           tableRef.value.clearSelection();
+	//         }
+	//       })
+	//     } else {
+	//       ;
+	//     }
+	//   })
+	//   .catch((err) => {
+	//     console.log(err);
+	//     ElMessage.error(JSON.stringify(err));
+	//   });
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+	formModel.value = {
+		WareMaterialCode: '',
+		WareMaterialName: '',
+		PurchaseNo: '',
+		CreatedUserName: '',
+		CreatedTimeBegin: '',
+		CreatedTimeEnd: '',
+		CreateDate: [],
+		IssueTimeBegin: '',
+		IssueTimeEnd: '',
+		IssueDate: [],
+		MaterialTypeStaus: '',
+		SourceBy: '',
+		WriteOffState: '',
+		signStatus: '',
+		status: '',
+		freeOrderType: '',
+		IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+		//  LoginUserID: LoginUserID, //鐢ㄦ埛id
+		OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+		Page: 1,
+		PageSize: 10,
+		poApprovalStatus: '',
+		keyCode: '',
+		IsDisable: '', //鏄惁浣滃簾
+	};
+	getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+//瀵煎嚭PO鍗曡鎯�
+const handExport = () => {
+	// rkExport(formModel.value)
+	//   .then((res) => {
+	//     const link = document.createElement("a"); //鍒涘缓a鏍囩
+	//     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+	//     let objectUrl = URL.createObjectURL(blob);
+	//     link.href = objectUrl;
+	//     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+	//       new Date().toString(),
+	//       "YYYY-MM-DD hh:mm:ss"
+	//     )}`; // 鑷畾涔夋枃浠跺悕
+	//     link.click(); // 涓嬭浇鏂囦欢
+	//     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+	//   }).catch((err) => ElMessage.error(JSON.stringify(err)));
+	//瀵煎嚭璋冪敤鎺ュ彛
+	// let entozh = entozhExcell
+	//   const { PageNo, PageSize, ...rest } = formModel.value
+	//   getPurchasePage({ Page: 1, PageSize: 1000000, ...rest }).then(res => {
+	//     if(res.code==200){
+	//       res.data.rows.forEach((item)=>{
+	//         item.writeOffState = EnumWriteOffState.value.filter((v: any) => v.value == item.writeOffState)[0].title;
+	//         item.sourceBy =  sourceEnum.value.filter((v: any) => v.value == item.sourceBy)[0].title;
+	//       })
+	//       exportExcel(res.data.rows, entozh, "xlsx", `鍏ュ簱绠$悊琛�${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`);
+	//     }
+	//   })
+	// 鍚庣瀵煎嚭-瀛楁涓嶅叏
+	// if (checkRows.value.length <= 0) {
+	//   ElMessage.warning("璇烽�夋嫨涓�涓鍗曪紒");
+	//   return
+	// }
+	// const arr = checkRows.value.reduce((curr, item) => {
+	//   curr.push(item.purchaseNo);
+	//   return curr;
+	// }, []);
+	// puchaseExport({ PurchaseNo: arr })
+	//   .then((res) => {
+	//     const link = document.createElement("a"); //鍒涘缓a鏍囩
+	//     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+	//     let objectUrl = URL.createObjectURL(blob);
+	//     link.href = objectUrl;
+	//     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+	//       new Date().toString(),
+	//       "YYYY-MM-DD hh:mm:ss"
+	//     )}`; // 鑷畾涔夋枃浠跺悕
+	//     link.click(); // 涓嬭浇鏂囦欢
+	//     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+	//   })
+	//   .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+	materialCode: '',
+	sortId: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref('drawerAll');
+// const
+//鍗曞彿
+const purchaseNo = ref('');
+const detailCount2 = ref(0);
+const detailForm2 = ref({
+	Page: 1,
+	PageSize: 10,
+	sortId: '',
+});
+const getEnumPoDetailStatusData_Index = ref<any>([]);
+
+const drawerList2 = ref<DetailType[]>([]);
+//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+const getDetail = async () => {
+	loading.value = true;
+	var res = await pageWmsOrderSortDetails(Object.assign(detailForm.value));
+	drawerList.value = res.data.result?.items ?? [];
+	detailCount.value = res.data.result?.total;
+	loading.value = false;
+
+};
+
+//----------------鐗╂枡鏄庣粏
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+	detailForm.value.PageNo = 1;
+	detailForm.value.PageSize = 10;
+	if (scope.sortNo) {
+		title.value = `${scope.sortNo}`;
+	}
+	drawerType.value = 'drawerAll';
+	drawerVisible.value = true;
+	//褰撳墠鍏ュ簱鍗曞彿id
+	detailForm.value.sortId = scope.id;
+	//鍏ュ簱鍗�
+	purchaseNo.value = scope.purchaseNo;
+	detailForm2.value.sortId = scope.id;
+	//鑾峰彇鐗╂枡鍒楄〃
+	if (detailForm2.value.sortId == '') {
+		drawerList2.value = [];
+		detailCount2.value = 0;
+		return;
+	}
+	// 鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	getDetail();
+
+	getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+	getEnumOrderSocureData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('SourceByEnum')).data.result ?? [];
+	// 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+	let scopetrans = JSON.parse(JSON.stringify(scope));
+	// scopetrans.totalquantity = Number(scopetrans.totalquantity).toFixed(3);
+	scopetrans.orderSocure = getEnumDesc(scopetrans.orderSocure, getEnumOrderSocureData_Index.value);
+	scopetrans.orderType = getEnumDesc(scopetrans.orderType, getEnumOrderTypeData_Index.value);
+	nextTick(() => {
+		proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+	});
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+	detailForm.value = {
+		materialCode: '',
+		sortId: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	deltailList.value = [];
+	detailCount.value = 0;
+	drawerList.value = [];
+	drawerList2.value = [];
+	detailCount2.value = 0;
+	drawerList2.value = [];
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+	id: number;
+	barCode: string;
+	wareMaterialCode: string;
+	name: string;
+	signStatus: string;
+	category: string;
+	materialTypeName: string;
+	specificationModel: string;
+	long: number;
+	width: number;
+	high: number;
+	weight: number;
+	unit: string;
+	createdTime: string;
+	purchaseNo: string;
+	quantity: number;
+	goodsquantity: number;
+	surplusquantity: number;
+	poLineNumber: string;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref('');
+
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref('add');
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+	hasTMCode: false,
+	typeTMCode: false,//false浜岀淮鐮� true 1缁寸爜
+	asnType: '',
+	dock: '',
+	projectNo: '',
+	OrderDetails: [] as any[],
+});
+
+// 鐗规畩瀛楃鐨勯獙璇�
+// 鍖呭惈鐗规畩瀛楃杩斿洖true锛屼笉鍖呭惈鐗规畩瀛楃杩斿洖false
+const checkEspcial = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[@$%*^:;锛氾紱~+=!锛�#^{}><.,锛屻�俔/g;
+		if (!reg.test(value.trim())) {
+			callback();
+		} else {
+			return callback(new Error('涓嶈兘瀛樺湪鐗规畩绗﹀彿'));
+		}
+	}
+};
+
+// 楠岃瘉瑙掕壊缂栧彿
+var validatorCode = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[\u4E00-\u9FA5]/g;
+		if (!reg.test(value)) {
+			callback();
+		} else {
+			return callback(new Error('鍗曞彿涓嶈兘瀛樺湪姹夊瓧'));
+		}
+	}
+};
+
+//rules
+const formRules = {
+	asnType: [{ required: true, message: '璇烽�夋嫨璁㈠崟绫诲瀷锛�', trigger: 'change' }],
+	orderTypeName: [{ required: true, message: '璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	businessType: [{ required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change' }],
+	businessTypeName: [{ required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	orderSocure: [{ required: true, message: '璇疯緭鍏ュ崟鎹潵婧愶紒', trigger: 'blur' }],
+	poStatus: [{ required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change' }],
+	poStatusName: [{ required: true, message: '璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒', trigger: 'blur' }],
+	supplierCode: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�', trigger: 'blur' }],
+	supplierName: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�', trigger: 'blur' }],
+	factoryId: [{ required: true, message: '璇疯緭鍏ュ伐鍘侷D锛�', trigger: 'blur' }],
+	// purchaseNo: [
+	//   { required: true, message: "鍗曞彿涓嶈兘涓虹┖", trigger: "blur" },
+	//   { validator: validatorCode, trigger: "blur" },
+	//   { validator: checkEspcial, trigger: "blur" }
+	// ],
+};
+//鎵撳紑鏂板銆佺紪杈戠獥鍙�
+const openDialog = async (type: number, scope: any = {}) => {
+	handleQueryTdp();
+	if (type == 1) {
+		isPoBox.value = 1;
+		isMaterialBox.value = 1;
+		detailForm2.value.PageSize = 10;
+		dialogType.value = 'add';
+	} else {
+		dialogType.value = 'edit';
+		detailForm2.value.PageSize = 100000;
+		addForm.value = { ...scope };
+
+		console.log(addForm.value);
+		detailForm2.value.sortId = scope.id;
+
+		//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+		loading.value = true;
+		var res = await pageWmsOrderAsnDetails(Object.assign(detailForm2.value));
+
+		warehousOrderDetails.value = res.data.result?.items ?? [];
+		loading.value = false;
+		if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].poNo) {
+			isPoBox.value = 1;
+			isMaterialBox.value = 0;
+
+		} else {
+			isPoBox.value = 0;
+			isMaterialBox.value = 1;
+		}
+		addForm.value.hasTMCode = false;
+		addForm.value.typeTMCode = false
+		if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].sN_1d) {
+			addForm.value.hasTMCode = true;
+			addForm.value.typeTMCode = true
+		}
+		if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].sN_2d) {
+			addForm.value.hasTMCode = true;
+			addForm.value.typeTMCode = false
+		}
+		//----------------鐗╂枡鏄庣粏
+	}
+	dialogVisible.value = true;
+
+	//娓呴櫎閫変腑椤�
+	nextTick(() => {
+		dialogRef.value.clearValidate();
+	});
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+	return row.id + row.asnLineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+	addForm.value = {
+		hasTMCode: false,
+		asnType: '',
+		dock: '',
+		projectNo: '',
+		typeTMCode: '',
+		OrderDetails: [] as any[],
+	};
+	warehousOrderDetails.value = [];
+	checkedDetails.value = [];
+	deltailList.value = [];
+	detailCount.value = 0;
+	detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+	ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			let arr = [];
+			if (checkedDetails.value[0].diRelationID) {
+				checkedDetails.value.forEach((item) => {
+					console.log(item);
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.diRelationID == item.diRelationID);
+					if (index > -1) {
+						warehousOrderDetails.value.splice(index, 1);
+					}
+				});
+			} else {
+				checkedDetails.value.forEach((item) => {
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.asnLineNumber == item.asnLineNumber);
+					warehousOrderDetails.value.splice(index, 1);
+				});
+			}
+			arr = warehousOrderDetails.value;
+			warehousOrderDetails.value = [];
+			//bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+			nextTick(() => {
+				warehousOrderDetails.value = arr;
+				checkedDetails.value = [];
+				detailRef.value.clearSelection();
+			});
+		})
+		.catch(() => ElMessage.info('宸插彇娑堝垹闄�'));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const confirm = () => {
+	dialogRef.value.validate(async (vali: any) => {
+		if (vali) {
+			console.log('纭');
+			let idx = warehousOrderDetails.value.findIndex((v) => v.asnLineNumber == '' || v.asnLineNumber == undefined);
+			if (idx > -1) {
+				ElMessage.warning('璇疯緭鍏ヨ鍙�');
+				return;
+			}
+			let isNext = '';
+			warehousOrderDetails.value.forEach((item) => {
+				const arr: any = warehousOrderDetails.value.filter((detail) => detail.asnLineNumber == item.asnLineNumber);
+				if (arr.length > 1) {
+					isNext = `琛屽彿锛�${arr[0].asnLineNumber}涓嶈兘鐩稿悓`;
+					return;
+				}
+			});
+			if (isNext != '') {
+				ElMessage.warning(isNext);
+				return;
+			}
+
+			let idx2 = warehousOrderDetails.value.findIndex((v) => v.quantity == '' || v.quantity == undefined || v.quantity <= 0);
+			if (idx2 > -1) {
+				ElMessage.warning('鏁伴噺涓嶅悎瑙勮寖锛�');
+				return;
+			}
+			addForm.value.OrderDetails = [];
+			warehousOrderDetails.value.forEach((item) => {
+				const obj = {
+					...item,
+					asnLineNumber: item.asnLineNumber
+				};
+				addForm.value.OrderDetails.push(obj);
+			});
+			//娣诲姞
+			if (dialogType.value == 'add') {
+				let res = await addWmsOrderAsn(addForm.value);
+				if (res.data && res.data.code == 200) {
+					ElMessage.success('娣诲姞鎴愬姛');
+					dialogVisible.value = false;
+					emits('getTabelData');
+				} 
+			} else {
+				let res = await updateWmsOrderAsn(addForm.value);
+				if (res.data && res.data.code == 200) {
+					ElMessage.success('缂栬緫鎴愬姛');
+					dialogVisible.value = false;
+					emits('getTabelData');
+				}
+			}
+		} else {
+			ElMessage.warning('琛ㄥ崟楠岃瘉澶辫触');
+		}
+	});
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+	poNo: '',
+	Code: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+	if (isPoBox.value == 1) {
+		if (materialForm.value.poNo) {
+			loading.value = true;
+			var res = await pageWmsOrderPurchaseDetails(Object.assign(materialForm.value));
+			materialList.value = res.data.result?.items ?? [];
+			materialTotal.value = res.data.result?.total;
+			loading.value = false;
+		}
+	}
+	if (isMaterialBox.value == 1) {
+		loading.value = true;
+		var res = await pageWmsMaterial(Object.assign(materialForm.value));
+		materialList.value = res.data.result?.items ?? [];
+		materialTotal.value = res.data.result?.total;
+		loading.value = false;
+	}
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+	materialForm.value = {
+		poNo: '',
+		Code: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+	checkedMaterial.value = val;
+};
+const isMaterialBox: any = ref(true);
+const isPoBox: any = ref(true);
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = (param?: any) => {
+	if (param && param == 'po') {
+		isPoBox.value = 1;
+		isMaterialBox.value = 0;
+	} else {
+		isPoBox.value = 0;
+		isMaterialBox.value = 1;
+	}
+	getMaterialList();
+
+	// if ( addForm.value.freeOrderType && isShowBomBtn.value ) {
+	//   ElMessage.warning("鍏嶈垂浠剁被鍨嬫槸PR2锛屽彧鑳芥柊澧濪I缁存姢鐨勭墿鏂欙紒");
+	//   return;
+	// }
+	addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+	//鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+	if (warehousOrderDetails.value.length == 0) {
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			item.asnLineNumber = index + 1;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	} else {
+		for (let i = 0; i < checkedMaterial.value.length; i++) {
+			let idx = warehousOrderDetails.value.findIndex(
+				(item: { poLineNumber: any; code: any }) => item.code == checkedMaterial.value[i].materialCode && item.asnLineNumber == checkedMaterial.value[i].asnLineNumber
+			);
+			if (idx > -1) {
+				return ElMessage.warning(`鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}锛孉SN琛屽彿锛�${checkedMaterial.value[i].asnLineNumber || ''}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦);
+			}
+		}
+
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	}
+
+	addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+	materialForm.value = {
+		MaterialTypeId: '',
+		Code: '',
+		Page: 1,
+		// MaterialType: 1,
+		PageSize: 10,
+	};
+	materialList.value = [];
+	checkedMaterial.value = [];
+	materialRef.value.clearSelection();
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+
+});
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	custType: '渚涘簲鍟�',
+});
+
+//-----------------杩滅▼鎼滅储----------------
+const handleQueryTdp = async () => {
+	var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+	arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: '渚涘簲鍟�',
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: '渚涘簲鍟�',
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+	margin: 10px;
+}
+
+.msi-form {
+	margin-top: 10px;
+}
+
+.msi-form {
+	margin-bottom: 10px;
+}
+
+.slot_title {
+	display: flex;
+	align-items: center;
+
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #F18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSort/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSort/index.vue
new file mode 100644
index 0000000..24abefc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSort/index.vue
@@ -0,0 +1,447 @@
+锘�<template>
+  <div class="wmsOrderSort-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+      <el-form :model="queryParamsWmsOrderSort" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsOrderSort.searchKey" clearable="" placeholder="娉㈡鍗曞彿,鍒涘缓浜�,淇敼浜�" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSort">
+            <el-form-item label="娉㈡鍗曞彿">
+              <el-input v-model="queryParamsWmsOrderSort.sortNo" clearable="" placeholder="璇疯緭鍏ユ尝娆″崟鍙�" />
+
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSort">
+            <el-form-item label="鍗曟嵁绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsOrderSort.orderType" placeholder="璇烽�夋嫨鍗曟嵁绫诲瀷">
+                <el-option v-for="(item, index) in getEnumOrderTypeData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+              </el-select>
+            </el-form-item>
+          </el-col> -->
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSort">
+            <el-form-item label="涓氬姟绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsOrderSort.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+                <el-option v-for="(item, index) in getEnumBusinessTypeData_Index" :key="index" :value="item.businessTypeValue"
+                  :label="`${item.businessTypeName}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSort">
+            <el-form-item label="鍗曟嵁鏉ユ簮">
+              <el-select clearable="" v-model="queryParamsWmsOrderSort.orderSocure" placeholder="璇烽�夋嫨鍗曟嵁鏉ユ簮">
+                <el-option v-for="(item, index) in getEnumOrderSocureData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSort">
+            <el-form-item label="鍗曟嵁鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsOrderSort.sortStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+                <el-option v-for="(item, index) in getEnumSortStatusData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSort">
+            <el-form-item label="ERP鍗曞彿">
+              <el-input v-model="queryParamsWmsOrderSort.erpOrderNo" clearable="" placeholder="璇疯緭鍏RP鍗曞彿" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSort">
+            <el-form-item label="鍏宠仈鍗曞彿">
+              <el-input v-model="queryParamsWmsOrderSort.relationNo" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�" />
+
+            </el-form-item>
+          </el-col>
+    
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary" icon="ele-Search" @click="handleQueryWmsOrderSort" v-auth="'wmsOrderSort:page'"
+                  :disabled="disabled_btnWmsOrderSort"> 鏌ヨ </el-button>
+                <el-button icon="ele-Refresh" @click="resetWmsOrderSort"> 閲嶇疆 </el-button>
+                <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsOrderSort"
+                  v-if="!showAdvanceQueryUIWmsOrderSort" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsOrderSort"
+                  v-if="showAdvanceQueryUIWmsOrderSort" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button icon="ele-Finished" type="primary" @click="showPropZj(1, checkedDetails)"
+                  v-auth="'wmsOrderSort:delete'" style="margin-left:5px;"> 涓嬪彂 </el-button>
+               
+                     <!-- 娉㈡鐨勫垎閰嶆病鏈夊畬鎴� -->
+                <!-- <el-button icon="ele-Finished" type="primary" @click="showPropZj(3, checkedDetails)"
+                  v-auth="'wmsOrderSort:delete'" style="margin-left:5px;"> 鍒嗛厤 </el-button> -->
+
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsOrderSort" v-auth="'wmsOrderSort:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsOrderSort"  v-auth="'wmsOrderSort:exportExcel'" > 瀵煎嚭 </el-button> -->
+              </el-button-group>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table ref="tableRefWmsOrderSort" :data="tableDataWmsOrderSort" style="width: 100%"
+        v-loading="loadingWmsOrderSort" tooltip-effect="light" row-key="id" @sort-change="sortChangeWmsOrderSort"
+        @selection-change="detailsCheckChange" :summary-method="getExportTitle" show-summary border="">
+        <el-table-column align="center" width="60" type="selection" />
+
+        <el-table-column type="index" fixed="left" label="搴忓彿" width="55" align="center" />
+
+        <el-table-column label="娉㈡鍗曞彿" fixed="left" prop="sortNo" width="150" align="left" show-overflow-tooltip>
+          <template #default="scope">
+            <span class="under_line" @click="openDrawer(1, scope.row)">
+              {{ scope.row.sortNo }}
+            </span>
+          </template>
+        </el-table-column>
+
+        <el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" min-width="100px" show-overflow-tooltip="" />
+        <el-table-column prop="sortStatusName" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag :type="getTypeStatus(1, scope.row.sortStatusName)">{{ scope.row.sortStatusName }}</el-tag>
+          </template>
+        </el-table-column>
+        <el-table-column prop="orderSocure" label="鍗曟嵁鏉ユ簮" show-overflow-tooltip="">
+          <template #default="scope">
+            {{ getEnumDesc(scope.row.orderSocure, getEnumOrderSocureData_Index) }}
+          </template>
+        </el-table-column>
+
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+          show-overflow-tooltip="" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+          show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" min-width="100" align="center" fixed="right" show-overflow-tooltip=""
+          v-if="auth('wmsOrderSort:update') || auth('wmsOrderSort:delete')">
+          <template #default="scope">
+            <!-- <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsOrderSort(scope.row)" v-auth="'wmsOrderSort:update'"> 缂栬緫 </el-button> -->
+          <!-- 娉㈡鐨勫垎閰嶆病鏈夊畬鎴� -->
+            <!-- <el-button icon="ele-Finished" size="small" text="" type="primary" @click="showPropZj(5, scope.row)"> 鍙栨秷鍒嗛厤
+            </el-button> -->
+
+            <el-button style="margin-left:5px;" icon="ele-Close" size="small" text="" type="primary"
+              @click="delWmsOrderSort(scope.row)" v-auth="'wmsOrderSort:delete'"> 鍙栨秷娉㈡ </el-button>
+              <!-- 娉㈡鐨勫垎閰嶆病鏈夊畬鎴� -->
+              <!-- <el-button icon="ele-InfoFilled" size="small" text type="primary" @click="showPropZj(6,scope.row)"> 鍒嗛厤璇︽儏 </el-button> -->
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination v-model:currentPage="tableParamsWmsOrderSort.page"
+        v-model:page-size="tableParamsWmsOrderSort.pageSize" :total="tableParamsWmsOrderSort.total"
+        :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background="" @size-change="handleSizeChangeWmsOrderSort"
+        @current-change="handleCurrentChangeWmsOrderSort" layout="total, sizes, prev, pager, next, jumper" />
+      <printDialogWmsOrderSort ref="printDialogRefWmsOrderSort" :title="printWmsOrderSortTitle"
+        @reloadTable="handleQueryWmsOrderSort" />
+      <editDialogWmsOrderSort ref="editDialogRefWmsOrderSort" :title="editWmsOrderSortTitle"
+        @reloadTable="handleQueryWmsOrderSort" />
+    </el-card>
+
+    <!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 -->
+    <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQueryWmsOrderSort"></open-allprop>
+
+    <!--涓嬪彂 -->
+    <send-open-allprop titleAuthor="1" hexiao="0" ref="SendpropALlProp"
+      @getTabelData="handleQueryWmsOrderSort"></send-open-allprop>
+
+    <!--棰勯厤 -->
+    <yuconfig-open-allprop titleAuthor="2" hexiao="0" ref="YppropALlProp"
+      @getTabelData="handleQueryWmsOrderSort"></yuconfig-open-allprop>
+
+    <!--鍒嗛厤 -->
+    <fenconfig-open-allprop titleAuthor="2" hexiao="0" ref="FpjpropALlProp"
+      @getTabelData="handleQueryWmsOrderSort"></fenconfig-open-allprop>
+
+
+    <!-- 鍙栨秷鍒嗛厤 -->
+    <cancelconfig-open-allprop titleAuthor="3" hexiao="0" ref="cancelconfigOpenAllprop"
+      @getTabelData="handleQueryWmsOrderSort"></cancelconfig-open-allprop>
+
+
+ <!-- 鍒嗛厤璇︽儏-->
+ <detailconfig-open-allprop titleAuthor="2" hexiao="0" ref="detailconfigOpenAllpropRef" @getTabelData="handleQueryWmsOrderSort"></detailconfig-open-allprop>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsOrderSort">
+import { ref, onMounted, getCurrentInstance } from "vue";
+import { ElMessageBox, ElMessage } from "element-plus";
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+import OpenAllprop from "./component/openAllpropSort.vue";
+import printDialogWmsOrderSort from '/@/views/system/print/component/hiprint/preview.vue'
+import editDialogWmsOrderSort from '/@/views/main/WmsOrderDo/wmsOrderSort/component/editDialog.vue'
+import DetailconfigOpenAllprop from '/@/components/bcProp/detailconfigOpenAllprop.vue';
+import CancelconfigOpenAllprop from '/@/components/bcProp/cancelconfigOpenAllprop.vue';
+import { pageWmsOrderSort, deleteWmsOrderSort, importExcelWmsOrderSort, downloadExcelTemplateWmsOrderSort } from '/@/api/main/WmsOrderDo/wmsOrderSort';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+import {
+  getTypeStatus
+} from "/@/utils/formate";
+import { ExcellTableDataExport } from "/@/hooks/exportTableDataExcell";
+import SendOpenAllprop from "./component/openAllpropSend.vue";
+
+import YuconfigOpenAllprop from '/@/components/bcProp/yuconfigOpenAllprop.vue';
+import FenconfigOpenAllprop from '/@/components/bcProp/fenconfigOpenAllprop.vue';
+import { listWmsBusinessType } from "/@/api/main/WmsBase/wmsBusinessType";
+import { handleSlectDataWmsBusinessType } from "/@/utils/selectData";
+
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const moveType = 10;//绉诲姩绫诲瀷 鍏ュ簱
+// ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
+const jsonExcellTableExport = {
+  titleName: "", //瀵煎嚭琛ㄦ牸鍚嶇О
+  interfaceListName: '',//瀵煎嚭鎺ュ彛鍚嶇О
+}
+const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport)
+// --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬-----------------
+// ---------------鏂板-----------------------
+const showProp = (item?: any) => {
+  if (item == 1) {
+    proxy.$refs['propALlProp'].openDialog(1);
+  } else {
+    proxy.$refs['propALlProp'].openDialog(2, item);
+  }
+}
+// ---------------璇︽儏-----------------------
+const openDrawer = (type: number, item?: any) => {
+  proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell);
+}
+// ---------------end璇︽儏-----------------------
+
+// 涓嬪彂
+const showPropZj = (type: number, item?: any) => {
+  // if(item[0].qcOrderStatus==2||item[0].qcOrderStatus==3 ||item[0].qcOrderStatus==4){
+  // 	  ElMessage.warning(`鍗曟嵁鐘舵�佷笉鍏佽鎿嶄綔锛乣);
+  //     return;
+  // }
+if(item.length > 1){
+	ElMessage.warning(`鍗曟嵁涓嬪彂鏁伴噺瓒呰繃1锛乣);
+	return;
+}
+  
+  // 鍙栨秷鍒嗛厤
+  if (type == 5) {
+    proxy.$refs['cancelconfigOpenAllprop'].openDialog(3, item);
+    return
+
+  }
+  // 鍒嗛厤璇︽儏
+  if(type == 6){
+    proxy.$refs['detailconfigOpenAllpropRef'].openDialog(1,item);
+    return
+  }
+
+
+  const handleArr: number[] = [];
+  item.forEach((v: any) => {
+    handleArr.push(v.id);
+  })
+  //涓嬪彂
+  if (type == 1) {
+    proxy.$refs['SendpropALlProp'].openDialog(type, handleArr);
+  }
+  //棰勯厤
+  if (type == 2) {
+    proxy.$refs['YppropALlProp'].openDialog(type, handleArr);
+  }
+  // 鍒嗛厤
+  if (type == 3) {
+    proxy.$refs['FpjpropALlProp'].openDialog(type, handleArr);
+  }
+
+}
+
+
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumBusinessTypeData_Index = ref<any>([]);
+const getEnumOrderSocureData_Index = ref<any>([]);
+const getEnumSortStatusData_Index = ref<any>([]);
+
+const { getEnumDesc } = commonFunction();
+
+/***************************************************[娉㈡鍗曟搷浣淽寮�濮�***************************************************/
+const showAdvanceQueryUIWmsOrderSort = ref(false);
+const tableRefWmsOrderSort = ref(null);
+const printDialogRefWmsOrderSort = ref();
+const editDialogRefWmsOrderSort = ref();
+const loadingWmsOrderSort = ref(false);
+const disabled_btnWmsOrderSort = ref(false);
+const tableDataWmsOrderSort = ref<any>([]);
+const queryParamsWmsOrderSort = ref<any>({});
+const tableParamsWmsOrderSort = ref({
+  page: 1,
+  pageSize: 10,
+  total: 0,
+});
+
+const printWmsOrderSortTitle = ref("");
+const editWmsOrderSortTitle = ref("");
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUIWmsOrderSort = () => {
+  showAdvanceQueryUIWmsOrderSort.value = !showAdvanceQueryUIWmsOrderSort.value;
+}
+
+// 鏌ヨ娉㈡鍗�
+const handleQueryWmsOrderSort = async () => {
+  loadingWmsOrderSort.value = true;
+  disabled_btnWmsOrderSort.value = true;
+  var res = await pageWmsOrderSort(Object.assign(queryParamsWmsOrderSort.value, tableParamsWmsOrderSort.value));
+  if (res.data.type == "success") {
+    tableDataWmsOrderSort.value = res.data.result?.items ?? [];
+    tableParamsWmsOrderSort.value.total = res.data.result?.total;
+  }
+  loadingWmsOrderSort.value = false;
+  disabled_btnWmsOrderSort.value = false;
+};
+
+// 閲嶇疆娉㈡鍗曟煡璇�
+const resetWmsOrderSort = async () => {
+  queryParamsWmsOrderSort.value = {}
+};
+
+// 娉㈡鍗曞垪鎺掑簭
+const sortChangeWmsOrderSort = async (column: any) => {
+  queryParamsWmsOrderSort.value.field = column.prop;
+  queryParamsWmsOrderSort.value.order = column.order;
+  await handleQueryWmsOrderSort();
+};
+
+// 鎵撳紑鏂板娉㈡鍗曢〉闈�
+const openAddWmsOrderSort = () => {
+  editWmsOrderSortTitle.value = '娣诲姞娉㈡鍗�';
+  editDialogRefWmsOrderSort.value.openDialog(1, {});
+};
+
+// 鎵撳紑鎵撳嵃娉㈡鍗曢〉闈�
+const openPrintWmsOrderSort = async (row: any) => {
+  printWmsOrderSortTitle.value = '鎵撳嵃娉㈡鍗�';
+}
+
+// 鎵撳紑缂栬緫娉㈡鍗曢〉闈�
+const openEditWmsOrderSort = (row: any) => {
+  editWmsOrderSortTitle.value = '缂栬緫娉㈡鍗�';
+  editDialogRefWmsOrderSort.value.openDialog(2, row);
+};
+
+// 鍒犻櫎娉㈡鍗�
+const delWmsOrderSort = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸彇娑堟尝娆″悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+      loadingWmsOrderSort.value = true;
+      var ret = await deleteWmsOrderSort(row);
+      if (ret.data.type == "success") {
+        ElMessage.success("鍙栨秷娉㈡鎴愬姛");
+      }
+      loadingWmsOrderSort.value = false;
+      handleQueryWmsOrderSort();
+    })
+    .catch(() => { });
+};
+
+// 鏀瑰彉娉㈡鍗曢〉闈㈠閲�
+const handleSizeChangeWmsOrderSort = (val: number) => {
+  tableParamsWmsOrderSort.value.pageSize = val;
+  handleQueryWmsOrderSort();
+};
+
+// 鏀瑰彉娉㈡鍗曢〉鐮佸簭鍙�
+const handleCurrentChangeWmsOrderSort = (val: number) => {
+  tableParamsWmsOrderSort.value.page = val;
+  handleQueryWmsOrderSort();
+};
+
+/***************************************************[娉㈡鍗曟搷浣淽缁撴潫***************************************************/
+/***************************************************[娉㈡鍗曞鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsOrderSort = {
+  getEnumOrderTypeData_Index,
+  getEnumBusinessTypeData_Index,
+  getEnumOrderSocureData_Index,
+  getEnumSortStatusData_Index,
+  formatDate_T_Date,
+  formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsOrderSort = async (formData: Blob) => {
+  loadingWmsOrderSort.value = true;
+  disabled_btnWmsOrderSort.value = true;
+  var new_tableParamsWmsOrderSort = JSON.parse(JSON.stringify(tableParamsWmsOrderSort.value));
+  new_tableParamsWmsOrderSort.page = 1;
+  new_tableParamsWmsOrderSort.pageSize = 100000;
+  var res = await pageWmsOrderSort(Object.assign(queryParamsWmsOrderSort.value, new_tableParamsWmsOrderSort));
+  if (res.data.type == "success") {
+    exportExcelWmsOrderSort(res.data.result?.items ?? []);
+  }
+  loadingWmsOrderSort.value = false;
+  disabled_btnWmsOrderSort.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsOrderSort = async (exportDataList: Array) => {
+  exportPageExcel(exportDataList, tableRefWmsOrderSort, "娉㈡鍗�", functionMapWmsOrderSort);
+};
+/***************************************************[娉㈡鍗曞鍑篯缁撴潫***************************************************/
+// 娉㈡鍗曢〉闈㈠姞杞芥椂
+onMounted(async () => {
+  getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+
+  getEnumSortStatusData_Index.value = 	(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+		[];
+
+  getEnumOrderSocureData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('SourceByEnum')).data.result ?? [];
+ //涓氬姟绫诲瀷
+const  moveType=30;//绉诲姩绫诲瀷 鍏ュ簱
+ getEnumBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇鎺ュ彛
+
+});
+
+handleQueryWmsOrderSort();
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+  checkedDetails.value = val;
+};
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+  width: 100%;
+}
+
+.under_line {
+  color: #F18201;
+  text-decoration: underline;
+  cursor: pointer;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSortDetails/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSortDetails/component/editDialog.vue
new file mode 100644
index 0000000..86e51cc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSortDetails/component/editDialog.vue
@@ -0,0 +1,296 @@
+锘�<template>
+	<div class="wmsOrderSortDetails-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="娉㈡鍗旾D" prop="sortId">
+							<el-input v-model="ruleForm.sortId" placeholder="璇疯緭鍏ユ尝娆″崟ID" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="娉㈡鍗曞彿" prop="sortNo">
+							<el-input v-model="ruleForm.sortNo" placeholder="璇疯緭鍏ユ尝娆″崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐘舵��" prop="sortDetailStatus">
+							<el-select clearable v-model="ruleForm.sortDetailStatus" placeholder="璇烽�夋嫨鐘舵��">
+								<el-option v-for="(item,index) in  getEnumSortDetailStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐘舵�佸悕绉�" prop="sortDetailStatusName">
+							<el-input v-model="ruleForm.sortDetailStatusName" placeholder="璇疯緭鍏ョ姸鎬佸悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="琛屽彿" prop="lineNumber">
+							<el-input v-model="ruleForm.lineNumber" placeholder="璇疯緭鍏ヨ鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曞彿" prop="relationNo">
+							<el-input v-model="ruleForm.relationNo" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曡鍙�" prop="relationNoLineNumber">
+							<el-input v-model="ruleForm.relationNoLineNumber" placeholder="璇疯緭鍏ュ叧鑱斿崟琛屽彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璺熻釜鐮�" prop="snCode">
+							<el-input v-model="ruleForm.snCode" placeholder="璇疯緭鍏ヨ窡韪爜" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曚綅" prop="unit">
+							<el-input v-model="ruleForm.unit" placeholder="璇疯緭鍏ュ崟浣�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏁伴噺" prop="quantity">
+							<el-input v-model="ruleForm.quantity" placeholder="璇疯緭鍏ユ暟閲�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍒嗛厤鏁�" prop="dispenseQuantity">
+							<el-input v-model="ruleForm.dispenseQuantity" placeholder="璇疯緭鍏ュ垎閰嶆暟" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓嬫灦鏁�" prop="offShelvesQuantity">
+							<el-input v-model="ruleForm.offShelvesQuantity" placeholder="璇疯緭鍏ヤ笅鏋舵暟" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍙戣揣鏁�" prop="deliverQuantity">
+							<el-input v-model="ruleForm.deliverQuantity" placeholder="璇疯緭鍏ュ彂璐ф暟" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎷h揣鏁�" prop="pickQuantity">
+							<el-input v-model="ruleForm.pickQuantity" placeholder="璇疯緭鍏ユ嫞璐ф暟" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓嬪彂鏁�" prop="issueQuantity">
+							<el-input v-model="ruleForm.issueQuantity" placeholder="璇疯緭鍏ヤ笅鍙戞暟" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵规瑙勫垯" prop="batchRule">
+							<el-input v-model="ruleForm.batchRule" placeholder="璇疯緭鍏ユ壒娆¤鍒�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵规" prop="batch">
+							<el-input v-model="ruleForm.batch" placeholder="璇疯緭鍏ユ壒娆�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
+							<el-input v-model="ruleForm.erpOrderNo" placeholder="璇疯緭鍏RP鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP搴撳瓨鍦�" prop="erpCode">
+							<el-input v-model="ruleForm.erpCode" placeholder="璇疯緭鍏RP搴撳瓨鍦�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsOrderSortDetails, updateWmsOrderSortDetails, detailWmsOrderSortDetails } from "/@/api/main/WmsOrderDo/wmsOrderSortDetails";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumSortDetailStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		sortId: [{required: true, message: '璇疯緭鍏ユ尝娆″崟ID锛�', trigger: 'blur',},],
+		sortNo: [{required: true, message: '璇疯緭鍏ユ尝娆″崟鍙凤紒', trigger: 'blur',},],
+		sortDetailStatus: [{required: true, message: '璇烽�夋嫨鐘舵�侊紒', trigger: 'change',},],
+		sortDetailStatusName: [{required: true, message: '璇疯緭鍏ョ姸鎬佸悕绉帮紒', trigger: 'blur',},],
+		lineNumber: [{required: true, message: '璇疯緭鍏ヨ鍙凤紒', trigger: 'blur',},],
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		snCode: [{required: true, message: '璇疯緭鍏ヨ窡韪爜锛�', trigger: 'blur',},],
+		quantity: [{required: true, message: '璇疯緭鍏ユ暟閲忥紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsOrderSortDetails(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsOrderSortDetails(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsOrderSortDetails(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumSortDetailStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSortDetails/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSortDetails/index.vue
new file mode 100644
index 0000000..af20698
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSortDetails/index.vue
@@ -0,0 +1,415 @@
+锘�<template>
+  <div class="wmsOrderSortDetails-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsOrderSortDetails" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsOrderSortDetails.searchKey" clearable="" placeholder="娉㈡鍗曞彿,鐘舵�佸悕绉�,琛屽彿,鐗╂枡缂栧彿,鐗╂枡鍚嶇О,鍏宠仈鍗曞彿,鍏宠仈鍗曡鍙�,璺熻釜鐮�,鍗曚綅,涓嬪彂鏁�,鎵规瑙勫垯,鎵规,ERP鍗曞彿,ERP搴撳瓨鍦�,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="娉㈡鍗旾D">
+              <el-input v-model="queryParamsWmsOrderSortDetails.sortId" clearable="" placeholder="璇疯緭鍏ユ尝娆″崟ID"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="娉㈡鍗曞彿">
+              <el-input v-model="queryParamsWmsOrderSortDetails.sortNo" clearable="" placeholder="璇疯緭鍏ユ尝娆″崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="鐘舵��">
+              <el-select clearable="" v-model="queryParamsWmsOrderSortDetails.sortDetailStatus" placeholder="璇烽�夋嫨鐘舵��">
+                <el-option v-for="(item,index) in getEnumSortDetailStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="鐘舵�佸悕绉�">
+              <el-input v-model="queryParamsWmsOrderSortDetails.sortDetailStatusName" clearable="" placeholder="璇疯緭鍏ョ姸鎬佸悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="琛屽彿">
+              <el-input v-model="queryParamsWmsOrderSortDetails.lineNumber" clearable="" placeholder="璇疯緭鍏ヨ鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParamsWmsOrderSortDetails.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsOrderSortDetails.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="鍏宠仈鍗曞彿">
+              <el-input v-model="queryParamsWmsOrderSortDetails.relationNo" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="鍏宠仈鍗曡鍙�">
+              <el-input v-model="queryParamsWmsOrderSortDetails.relationNoLineNumber" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟琛屽彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsOrderSortDetails.snCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="鍗曚綅">
+              <el-input v-model="queryParamsWmsOrderSortDetails.unit" clearable="" placeholder="璇疯緭鍏ュ崟浣�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="鏁伴噺">
+              <el-input v-model="queryParamsWmsOrderSortDetails.quantity" clearable="" placeholder="璇疯緭鍏ユ暟閲�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="鍒嗛厤鏁�">
+              <el-input v-model="queryParamsWmsOrderSortDetails.dispenseQuantity" clearable="" placeholder="璇疯緭鍏ュ垎閰嶆暟"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="涓嬫灦鏁�">
+              <el-input v-model="queryParamsWmsOrderSortDetails.offShelvesQuantity" clearable="" placeholder="璇疯緭鍏ヤ笅鏋舵暟"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="鍙戣揣鏁�">
+              <el-input v-model="queryParamsWmsOrderSortDetails.deliverQuantity" clearable="" placeholder="璇疯緭鍏ュ彂璐ф暟"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="鎷h揣鏁�">
+              <el-input v-model="queryParamsWmsOrderSortDetails.pickQuantity" clearable="" placeholder="璇疯緭鍏ユ嫞璐ф暟"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="涓嬪彂鏁�">
+              <el-input v-model="queryParamsWmsOrderSortDetails.issueQuantity" clearable="" placeholder="璇疯緭鍏ヤ笅鍙戞暟"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="鎵规瑙勫垯">
+              <el-input v-model="queryParamsWmsOrderSortDetails.batchRule" clearable="" placeholder="璇疯緭鍏ユ壒娆¤鍒�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParamsWmsOrderSortDetails.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="ERP鍗曞彿">
+              <el-input v-model="queryParamsWmsOrderSortDetails.erpOrderNo" clearable="" placeholder="璇疯緭鍏RP鍗曞彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortDetails">
+            <el-form-item label="ERP搴撳瓨鍦�">
+              <el-input v-model="queryParamsWmsOrderSortDetails.erpCode" clearable="" placeholder="璇疯緭鍏RP搴撳瓨鍦�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsOrderSortDetails" v-auth="'wmsOrderSortDetails:page'" :disabled="disabled_btnWmsOrderSortDetails"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsOrderSortDetails"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsOrderSortDetails" v-if="!showAdvanceQueryUIWmsOrderSortDetails" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsOrderSortDetails" v-if="showAdvanceQueryUIWmsOrderSortDetails" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsOrderSortDetails" v-auth="'wmsOrderSortDetails:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelWmsOrderSortDetails"  v-auth="'wmsOrderSortDetails:importExcel'" > 瀵煎叆 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsOrderSortDetails"  v-auth="'wmsOrderSortDetails:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsOrderSortDetails"
+				:data="tableDataWmsOrderSortDetails"
+				style="width: 100%"
+				v-loading="loadingWmsOrderSortDetails"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsOrderSortDetails"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="sortId" label="娉㈡鍗旾D"  show-overflow-tooltip="" />
+        <el-table-column prop="sortNo" label="娉㈡鍗曞彿"  show-overflow-tooltip="" />
+          <el-table-column prop="sortDetailStatus" label="鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.sortDetailStatus, getEnumSortDetailStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="sortDetailStatusName" label="鐘舵�佸悕绉�"  show-overflow-tooltip="" />
+        <el-table-column prop="lineNumber" label="琛屽彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="relationNo" label="鍏宠仈鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="relationNoLineNumber" label="鍏宠仈鍗曡鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="snCode" label="璺熻釜鐮�"  show-overflow-tooltip="" />
+        <el-table-column prop="unit" label="鍗曚綅"  show-overflow-tooltip="" />
+        <el-table-column prop="quantity" label="鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="dispenseQuantity" label="鍒嗛厤鏁�"  show-overflow-tooltip="" />
+        <el-table-column prop="offShelvesQuantity" label="涓嬫灦鏁�"  show-overflow-tooltip="" />
+        <el-table-column prop="deliverQuantity" label="鍙戣揣鏁�"  show-overflow-tooltip="" />
+        <el-table-column prop="pickQuantity" label="鎷h揣鏁�"  show-overflow-tooltip="" />
+        <el-table-column prop="issueQuantity" label="涓嬪彂鏁�"  show-overflow-tooltip="" />
+        <el-table-column prop="batchRule" label="鎵规瑙勫垯"  show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规"  show-overflow-tooltip="" />
+        <el-table-column prop="erpOrderNo" label="ERP鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsOrderSortDetails:update') || auth('wmsOrderSortDetails:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsOrderSortDetails(scope.row)" v-auth="'wmsOrderSortDetails:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsOrderSortDetails(scope.row)" v-auth="'wmsOrderSortDetails:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsOrderSortDetails.page"
+				v-model:page-size="tableParamsWmsOrderSortDetails.pageSize"
+				:total="tableParamsWmsOrderSortDetails.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsOrderSortDetails"
+				@current-change="handleCurrentChangeWmsOrderSortDetails"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsOrderSortDetails
+        ref="printDialogRefWmsOrderSortDetails"
+        :title="printWmsOrderSortDetailsTitle"
+        @reloadTable="handleQueryWmsOrderSortDetails" />
+      <editDialogWmsOrderSortDetails
+        ref="editDialogRefWmsOrderSortDetails"
+        :title="editWmsOrderSortDetailsTitle"
+        @reloadTable="handleQueryWmsOrderSortDetails"
+      />
+      <importExcelDialog
+        ref="importExcelDialogRefWmsOrderSortDetails"
+        :title="importExcelTitleWmsOrderSortDetails"
+        @parentUploadFun="handleImportExcelWmsOrderSortDetails"
+        @parentDownFun="handleDownExcelWmsOrderSortDetails"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsOrderSortDetails">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+  import printDialogWmsOrderSortDetails from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogWmsOrderSortDetails from '/@/views/main/WmsOrderDo/wmsOrderSortDetails/component/editDialog.vue'
+  import { pageWmsOrderSortDetails, deleteWmsOrderSortDetails,importExcelWmsOrderSortDetails,downloadExcelTemplateWmsOrderSortDetails } from '/@/api/main/WmsOrderDo/wmsOrderSortDetails';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumSortDetailStatusData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[娉㈡鍗曟槑缁嗘搷浣淽寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsOrderSortDetails = ref(false);
+  const tableRefWmsOrderSortDetails = ref(null);
+  const printDialogRefWmsOrderSortDetails = ref();
+  const editDialogRefWmsOrderSortDetails = ref();
+  const loadingWmsOrderSortDetails = ref(false);
+  const disabled_btnWmsOrderSortDetails = ref(false);
+  const tableDataWmsOrderSortDetails = ref<any>([]);
+  const queryParamsWmsOrderSortDetails = ref<any>({});
+  const tableParamsWmsOrderSortDetails = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsOrderSortDetailsTitle = ref("");
+  const editWmsOrderSortDetailsTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsOrderSortDetails = () => {
+    showAdvanceQueryUIWmsOrderSortDetails.value = !showAdvanceQueryUIWmsOrderSortDetails.value;
+  }
+
+  // 鏌ヨ娉㈡鍗曟槑缁�
+  const handleQueryWmsOrderSortDetails = async () => {
+    loadingWmsOrderSortDetails.value = true;
+    disabled_btnWmsOrderSortDetails.value = true;
+    var res = await pageWmsOrderSortDetails(Object.assign(queryParamsWmsOrderSortDetails.value, tableParamsWmsOrderSortDetails.value));
+    if(res.data.type=="success"){
+      tableDataWmsOrderSortDetails.value = res.data.result?.items ?? [];
+      tableParamsWmsOrderSortDetails.value.total = res.data.result?.total;
+    }
+    loadingWmsOrderSortDetails.value = false;
+    disabled_btnWmsOrderSortDetails.value = false;
+  };
+
+  // 閲嶇疆娉㈡鍗曟槑缁嗘煡璇�
+  const resetWmsOrderSortDetails = async () => {
+    queryParamsWmsOrderSortDetails.value = {}
+  };
+
+  // 娉㈡鍗曟槑缁嗗垪鎺掑簭
+  const sortChangeWmsOrderSortDetails = async (column: any) => {
+	queryParamsWmsOrderSortDetails.value.field = column.prop;
+	queryParamsWmsOrderSortDetails.value.order = column.order;
+	await handleQueryWmsOrderSortDetails();
+  };
+
+  // 鎵撳紑鏂板娉㈡鍗曟槑缁嗛〉闈�
+  const openAddWmsOrderSortDetails = () => {
+    editWmsOrderSortDetailsTitle.value = '娣诲姞娉㈡鍗曟槑缁�';
+    editDialogRefWmsOrderSortDetails.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃娉㈡鍗曟槑缁嗛〉闈�
+  const openPrintWmsOrderSortDetails = async (row: any) => {
+    printWmsOrderSortDetailsTitle.value = '鎵撳嵃娉㈡鍗曟槑缁�';
+  }
+  
+  // 鎵撳紑缂栬緫娉㈡鍗曟槑缁嗛〉闈�
+  const openEditWmsOrderSortDetails = (row: any) => {
+    editWmsOrderSortDetailsTitle.value = '缂栬緫娉㈡鍗曟槑缁�';
+    editDialogRefWmsOrderSortDetails.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎娉㈡鍗曟槑缁�
+  const delWmsOrderSortDetails = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsOrderSortDetails.value = true;
+    var ret = await deleteWmsOrderSortDetails(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsOrderSortDetails.value = false;
+    handleQueryWmsOrderSortDetails();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉娉㈡鍗曟槑缁嗛〉闈㈠閲�
+  const handleSizeChangeWmsOrderSortDetails = (val: number) => {
+    tableParamsWmsOrderSortDetails.value.pageSize = val;
+    handleQueryWmsOrderSortDetails();
+  };
+
+  // 鏀瑰彉娉㈡鍗曟槑缁嗛〉鐮佸簭鍙�
+  const handleCurrentChangeWmsOrderSortDetails = (val: number) => {
+    tableParamsWmsOrderSortDetails.value.page = val;
+    handleQueryWmsOrderSortDetails();
+  };
+
+/***************************************************[娉㈡鍗曟槑缁嗘搷浣淽缁撴潫***************************************************/
+/***************************************************[娉㈡鍗曟槑缁嗗鍏寮�濮�***************************************************/
+const importExcelTitleWmsOrderSortDetails = ref("");
+const importExcelDialogRefWmsOrderSortDetails = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsOrderSortDetails = () => {
+    importExcelTitleWmsOrderSortDetails.value = '瀵煎叆娉㈡鍗曟槑缁�';
+    importExcelDialogRefWmsOrderSortDetails.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsOrderSortDetails = async (formData:Blob) => {
+   var result = await importExcelWmsOrderSortDetails(formData);
+   importExcelDialogRefWmsOrderSortDetails.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+   if(result.data.type=="success"){
+    handleQueryWmsOrderSortDetails();
+   }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsOrderSortDetails = async () => {
+   var result = await downloadExcelTemplateWmsOrderSortDetails();
+   importExcelDialogRefWmsOrderSortDetails.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[娉㈡鍗曟槑缁嗗鍏缁撴潫***************************************************/
+/***************************************************[娉㈡鍗曟槑缁嗗鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsOrderSortDetails = {
+      getEnumSortDetailStatusData_Index,
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsOrderSortDetails = async (formData:Blob) => {
+    loadingWmsOrderSortDetails.value = true;
+    disabled_btnWmsOrderSortDetails.value = true;
+    var new_tableParamsWmsOrderSortDetails=JSON.parse(JSON.stringify(tableParamsWmsOrderSortDetails.value));
+    new_tableParamsWmsOrderSortDetails.page = 1;
+    new_tableParamsWmsOrderSortDetails.pageSize = 100000;
+    var res = await pageWmsOrderSortDetails(Object.assign(queryParamsWmsOrderSortDetails.value, new_tableParamsWmsOrderSortDetails));
+    if(res.data.type=="success"){
+      exportExcelWmsOrderSortDetails(res.data.result?.items ?? []);
+    }
+    loadingWmsOrderSortDetails.value = false;
+    disabled_btnWmsOrderSortDetails.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsOrderSortDetails  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsOrderSortDetails,"娉㈡鍗曟槑缁�",functionMapWmsOrderSortDetails);
+};
+/***************************************************[娉㈡鍗曟槑缁嗗鍑篯缁撴潫***************************************************/
+  // 娉㈡鍗曟槑缁嗛〉闈㈠姞杞芥椂
+  onMounted(async () => {
+    getEnumSortDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsOrderSortDetails();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSortTrans/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSortTrans/component/editDialog.vue
new file mode 100644
index 0000000..7578a5c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSortTrans/component/editDialog.vue
@@ -0,0 +1,214 @@
+锘�<template>
+	<div class="wmsOrderSortTrans-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璺熻釜鐮�" prop="snCode">
+							<el-input v-model="ruleForm.snCode" placeholder="璇疯緭鍏ヨ窡韪爜" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="闇�姹傛暟" prop="quantity">
+							<el-input v-model="ruleForm.quantity" placeholder="璇疯緭鍏ラ渶姹傛暟" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹為檯鍒嗘嫞鏁�" prop="occQuantity">
+							<el-input v-model="ruleForm.occQuantity" placeholder="璇疯緭鍏ュ疄闄呭垎鎷f暟" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵规" prop="batch">
+							<el-input v-model="ruleForm.batch" placeholder="璇疯緭鍏ユ壒娆�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP搴撳瓨鍦�" prop="erpCode">
+							<el-input v-model="ruleForm.erpCode" placeholder="璇疯緭鍏RP搴撳瓨鍦�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="娉㈡鍗曞彿" prop="sortNo">
+							<el-input v-model="ruleForm.sortNo" placeholder="璇疯緭鍏ユ尝娆″崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曞彿" prop="relationNo">
+							<el-input v-model="ruleForm.relationNo" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曟槑缁咺D" prop="relationDetailsId">
+							<el-input v-model="ruleForm.relationDetailsId" placeholder="璇疯緭鍏ュ叧鑱斿崟鏄庣粏ID" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="娉㈡鍗曟槑缁咺D" prop="sortDetailsId">
+							<el-input v-model="ruleForm.sortDetailsId" placeholder="璇疯緭鍏ユ尝娆″崟鏄庣粏ID" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsOrderSortTrans, updateWmsOrderSortTrans, detailWmsOrderSortTrans } from "/@/api/main/WmsOrderDo/wmsOrderSortTrans";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		snCode: [{required: true, message: '璇疯緭鍏ヨ窡韪爜锛�', trigger: 'blur',},],
+		quantity: [{required: true, message: '璇疯緭鍏ラ渶姹傛暟锛�', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsOrderSortTrans(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsOrderSortTrans(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsOrderSortTrans(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSortTrans/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSortTrans/index.vue
new file mode 100644
index 0000000..87832cd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrderDo/wmsOrderSortTrans/index.vue
@@ -0,0 +1,274 @@
+锘�<template>
+  <div class="wmsOrderSortTrans-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsOrderSortTrans" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsOrderSortTrans.searchKey" clearable="" placeholder="鐗╂枡缂栧彿,鐗╂枡鍚嶇О,璺熻釜鐮�,鎵规,ERP搴撳瓨鍦�,娉㈡鍗曞彿,鍏宠仈鍗曞彿,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortTrans">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParamsWmsOrderSortTrans.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortTrans">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsOrderSortTrans.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortTrans">
+            <el-form-item label="璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsOrderSortTrans.snCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortTrans">
+            <el-form-item label="闇�姹傛暟">
+              <el-input v-model="queryParamsWmsOrderSortTrans.quantity" clearable="" placeholder="璇疯緭鍏ラ渶姹傛暟"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortTrans">
+            <el-form-item label="瀹為檯鍒嗘嫞鏁�">
+              <el-input v-model="queryParamsWmsOrderSortTrans.occQuantity" clearable="" placeholder="璇疯緭鍏ュ疄闄呭垎鎷f暟"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortTrans">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParamsWmsOrderSortTrans.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortTrans">
+            <el-form-item label="ERP搴撳瓨鍦�">
+              <el-input v-model="queryParamsWmsOrderSortTrans.erpCode" clearable="" placeholder="璇疯緭鍏RP搴撳瓨鍦�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortTrans">
+            <el-form-item label="娉㈡鍗曞彿">
+              <el-input v-model="queryParamsWmsOrderSortTrans.sortNo" clearable="" placeholder="璇疯緭鍏ユ尝娆″崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortTrans">
+            <el-form-item label="鍏宠仈鍗曞彿">
+              <el-input v-model="queryParamsWmsOrderSortTrans.relationNo" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortTrans">
+            <el-form-item label="鍏宠仈鍗曟槑缁咺D">
+              <el-input v-model="queryParamsWmsOrderSortTrans.relationDetailsId" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鏄庣粏ID"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsOrderSortTrans">
+            <el-form-item label="娉㈡鍗曟槑缁咺D">
+              <el-input v-model="queryParamsWmsOrderSortTrans.sortDetailsId" clearable="" placeholder="璇疯緭鍏ユ尝娆″崟鏄庣粏ID"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsOrderSortTrans" v-auth="'wmsOrderSortTrans:page'" :disabled="disabled_btnWmsOrderSortTrans"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsOrderSortTrans"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsOrderSortTrans" v-if="!showAdvanceQueryUIWmsOrderSortTrans" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsOrderSortTrans" v-if="showAdvanceQueryUIWmsOrderSortTrans" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsOrderSortTrans" v-auth="'wmsOrderSortTrans:add'"> 鏂板 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsOrderSortTrans"
+				:data="tableDataWmsOrderSortTrans"
+				style="width: 100%"
+				v-loading="loadingWmsOrderSortTrans"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsOrderSortTrans"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="snCode" label="璺熻釜鐮�"  show-overflow-tooltip="" />
+        <el-table-column prop="quantity" label="闇�姹傛暟"  show-overflow-tooltip="" />
+        <el-table-column prop="occQuantity" label="瀹為檯鍒嗘嫞鏁�"  show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规"  show-overflow-tooltip="" />
+        <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�"  show-overflow-tooltip="" />
+        <el-table-column prop="sortNo" label="娉㈡鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="relationNo" label="鍏宠仈鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="relationDetailsId" label="鍏宠仈鍗曟槑缁咺D"  show-overflow-tooltip="" />
+        <el-table-column prop="sortDetailsId" label="娉㈡鍗曟槑缁咺D"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsOrderSortTrans:update') || auth('wmsOrderSortTrans:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsOrderSortTrans(scope.row)" v-auth="'wmsOrderSortTrans:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsOrderSortTrans(scope.row)" v-auth="'wmsOrderSortTrans:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsOrderSortTrans.page"
+				v-model:page-size="tableParamsWmsOrderSortTrans.pageSize"
+				:total="tableParamsWmsOrderSortTrans.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsOrderSortTrans"
+				@current-change="handleCurrentChangeWmsOrderSortTrans"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsOrderSortTrans
+        ref="printDialogRefWmsOrderSortTrans"
+        :title="printWmsOrderSortTransTitle"
+        @reloadTable="handleQueryWmsOrderSortTrans" />
+      <editDialogWmsOrderSortTrans
+        ref="editDialogRefWmsOrderSortTrans"
+        :title="editWmsOrderSortTransTitle"
+        @reloadTable="handleQueryWmsOrderSortTrans"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsOrderSortTrans">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+
+
+  import printDialogWmsOrderSortTrans from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogWmsOrderSortTrans from '/@/views/main/WmsOrderDo/wmsOrderSortTrans/component/editDialog.vue'
+  import { pageWmsOrderSortTrans, deleteWmsOrderSortTrans,importExcelWmsOrderSortTrans,downloadExcelTemplateWmsOrderSortTrans } from '/@/api/main/WmsOrderDo/wmsOrderSortTrans';
+
+
+  
+  /***************************************************[娉㈡鍗曟搷浣滄槑缁嗘搷浣淽寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsOrderSortTrans = ref(false);
+  const tableRefWmsOrderSortTrans = ref(null);
+  const printDialogRefWmsOrderSortTrans = ref();
+  const editDialogRefWmsOrderSortTrans = ref();
+  const loadingWmsOrderSortTrans = ref(false);
+  const disabled_btnWmsOrderSortTrans = ref(false);
+  const tableDataWmsOrderSortTrans = ref<any>([]);
+  const queryParamsWmsOrderSortTrans = ref<any>({});
+  const tableParamsWmsOrderSortTrans = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsOrderSortTransTitle = ref("");
+  const editWmsOrderSortTransTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsOrderSortTrans = () => {
+    showAdvanceQueryUIWmsOrderSortTrans.value = !showAdvanceQueryUIWmsOrderSortTrans.value;
+  }
+
+  // 鏌ヨ娉㈡鍗曟搷浣滄槑缁�
+  const handleQueryWmsOrderSortTrans = async () => {
+    loadingWmsOrderSortTrans.value = true;
+    disabled_btnWmsOrderSortTrans.value = true;
+    var res = await pageWmsOrderSortTrans(Object.assign(queryParamsWmsOrderSortTrans.value, tableParamsWmsOrderSortTrans.value));
+    if(res.data.type=="success"){
+      tableDataWmsOrderSortTrans.value = res.data.result?.items ?? [];
+      tableParamsWmsOrderSortTrans.value.total = res.data.result?.total;
+    }
+    loadingWmsOrderSortTrans.value = false;
+    disabled_btnWmsOrderSortTrans.value = false;
+  };
+
+  // 閲嶇疆娉㈡鍗曟搷浣滄槑缁嗘煡璇�
+  const resetWmsOrderSortTrans = async () => {
+    queryParamsWmsOrderSortTrans.value = {}
+  };
+
+  // 娉㈡鍗曟搷浣滄槑缁嗗垪鎺掑簭
+  const sortChangeWmsOrderSortTrans = async (column: any) => {
+	queryParamsWmsOrderSortTrans.value.field = column.prop;
+	queryParamsWmsOrderSortTrans.value.order = column.order;
+	await handleQueryWmsOrderSortTrans();
+  };
+
+  // 鎵撳紑鏂板娉㈡鍗曟搷浣滄槑缁嗛〉闈�
+  const openAddWmsOrderSortTrans = () => {
+    editWmsOrderSortTransTitle.value = '娣诲姞娉㈡鍗曟搷浣滄槑缁�';
+    editDialogRefWmsOrderSortTrans.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃娉㈡鍗曟搷浣滄槑缁嗛〉闈�
+  const openPrintWmsOrderSortTrans = async (row: any) => {
+    printWmsOrderSortTransTitle.value = '鎵撳嵃娉㈡鍗曟搷浣滄槑缁�';
+  }
+  
+  // 鎵撳紑缂栬緫娉㈡鍗曟搷浣滄槑缁嗛〉闈�
+  const openEditWmsOrderSortTrans = (row: any) => {
+    editWmsOrderSortTransTitle.value = '缂栬緫娉㈡鍗曟搷浣滄槑缁�';
+    editDialogRefWmsOrderSortTrans.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎娉㈡鍗曟搷浣滄槑缁�
+  const delWmsOrderSortTrans = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsOrderSortTrans.value = true;
+    var ret = await deleteWmsOrderSortTrans(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsOrderSortTrans.value = false;
+    handleQueryWmsOrderSortTrans();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉娉㈡鍗曟搷浣滄槑缁嗛〉闈㈠閲�
+  const handleSizeChangeWmsOrderSortTrans = (val: number) => {
+    tableParamsWmsOrderSortTrans.value.pageSize = val;
+    handleQueryWmsOrderSortTrans();
+  };
+
+  // 鏀瑰彉娉㈡鍗曟搷浣滄槑缁嗛〉鐮佸簭鍙�
+  const handleCurrentChangeWmsOrderSortTrans = (val: number) => {
+    tableParamsWmsOrderSortTrans.value.page = val;
+    handleQueryWmsOrderSortTrans();
+  };
+
+/***************************************************[娉㈡鍗曟搷浣滄槑缁嗘搷浣淽缁撴潫***************************************************/
+  // 娉㈡鍗曟搷浣滄槑缁嗛〉闈㈠姞杞芥椂
+  onMounted(async () => {
+  });
+
+  handleQueryWmsOrderSortTrans();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQc/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQc/component/editDialog.vue
new file mode 100644
index 0000000..1bc6722
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQc/component/editDialog.vue
@@ -0,0 +1,261 @@
+锘�<template>
+	<div class="wmsQc-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璐ㄦ鍗曞彿" prop="qCNo">
+							<el-input v-model="ruleForm.qCNo" placeholder="璇疯緭鍏ヨ川妫�鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷" prop="businessType">
+							<el-select clearable v-model="ruleForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumBusinessTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷鍚嶇О" prop="businessTypeName">
+							<el-input v-model="ruleForm.businessTypeName" placeholder="璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鐘舵��" prop="qCOrderStatus">
+							<el-select clearable v-model="ruleForm.qCOrderStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+								<el-option v-for="(item,index) in  getEnumQCOrderStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鐘舵�佸悕绉�" prop="qCOrderStatusName">
+							<el-input v-model="ruleForm.qCOrderStatusName" placeholder="璇疯緭鍏ュ崟鎹姸鎬佸悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName">
+							<el-input v-model="ruleForm.supplierName" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗙紪鍙�" prop="supplierCode">
+							<el-input v-model="ruleForm.supplierCode" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹㈡埛缂栧彿" prop="custCode">
+							<el-input v-model="ruleForm.custCode" placeholder="璇疯緭鍏ュ鎴风紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹㈡埛涓枃鍚嶇О" prop="custChinaName">
+							<el-input v-model="ruleForm.custChinaName" placeholder="璇疯緭鍏ュ鎴蜂腑鏂囧悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹㈡埛鑻辨枃鍚嶇О" prop="custEnglishName">
+							<el-input v-model="ruleForm.custEnglishName" placeholder="璇疯緭鍏ュ鎴疯嫳鏂囧悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曞彿" prop="relationNo">
+							<el-input v-model="ruleForm.relationNo" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曟嵁绫诲瀷" prop="relationOrderType">
+							<el-input-number v-model="ruleForm.relationOrderType" placeholder="璇疯緭鍏ュ叧鑱斿崟鎹被鍨�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曟嵁绫诲瀷鍚嶇О" prop="relationOrderTypeName">
+							<el-input v-model="ruleForm.relationOrderTypeName" placeholder="璇疯緭鍏ュ叧鑱斿崟鎹被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="澶囨敞" prop="remarks">
+							<el-input v-model="ruleForm.remarks" placeholder="璇疯緭鍏ュ娉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗堟湰" prop="version">
+							<el-input v-model="ruleForm.version" placeholder="璇疯緭鍏ョ増鏈�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸ュ巶鍚嶇О" prop="factoryName">
+							<el-input v-model="ruleForm.factoryName" placeholder="璇疯緭鍏ュ伐鍘傚悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸ュ巶缂栧彿" prop="factoryCode">
+							<el-input v-model="ruleForm.factoryCode" placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsQc, updateWmsQc, detailWmsQc } from "/@/api/main/WmsQC/wmsOrderQc";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+import { listWmsBusinessType } from "/@/api/main/WmsBase/wmsBusinessType";
+
+	const getEnumBusinessTypeData = ref<any>([]);
+	const getEnumQCOrderStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		qCNo: [{required: true, message: '璇疯緭鍏ヨ川妫�鍗曞彿锛�', trigger: 'blur',},],
+		businessType: [{required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change',},],
+		businessTypeName: [{required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒', trigger: 'blur',},],
+		qCOrderStatus: [{required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change',},],
+		qCOrderStatusName: [{required: true, message: '璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒', trigger: 'blur',},],
+		supplierName: [{required: true, message: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�', trigger: 'blur',},],
+		supplierCode: [{required: true, message: '璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�', trigger: 'blur',},],
+	});
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsQc(rowData.id)).data.result;
+		else
+			ruleForm.value = rowData;
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addWmsQc(values);
+				} else {
+					await updateWmsQc(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+
+			getEnumQCOrderStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+
+			 //涓氬姟绫诲瀷
+			 var res = await listWmsBusinessType();
+			 res = res.data;
+    if(res && res.code == 200){
+		getEnumBusinessTypeData.value  = res?.result ?? [];
+    }
+
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQc/component/openAllpropQc.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQc/component/openAllpropQc.vue
new file mode 100644
index 0000000..b531b9c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQc/component/openAllpropQc.vue
@@ -0,0 +1,1256 @@
+<template>
+	<!-- 娣诲姞銆佺紪杈� -->
+	<el-dialog v-model="dialogVisible" width="95%" @close="closeDialog" :close-on-click-modal="false">
+		<template #header>
+			<div style="color: #fff">
+				<span>璐ㄦ</span>
+				<!-- <span>{{ dialogType == 'add' ? '娣诲姞' : '缂栬緫' }}</span> -->
+			</div>
+		</template>
+		<el-form :model="addForm" ref="dialogRef" labelWidth="90" :rules="formRules">
+			<el-row>
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+					<el-form-item label="涓氬姟绫诲瀷" prop="businessType">
+						<el-select clearable v-model="addForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+							<el-option v-for="(item, index) in  getBusinessTypeData_Index" :key="index"
+								:value="item.businessTypeValue"
+								:label="`[${item.businessTypeValue}] ${item.businessTypeName}`"></el-option>
+
+						</el-select>
+					</el-form-item>
+				</el-col> -->
+
+				<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="闇�瑕佸叏閮ㄥ悎鏍�">
+						<el-radio-group v-model="addForm.isAllPass">
+							<el-radio label="鏄�" />
+							<el-radio label="鍚�" />
+						</el-radio-group>
+					</el-form-item>
+
+
+				</el-col>
+
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+					<el-form-item label="鑷姩鐢熸垚鏉$爜">
+						<el-switch v-model="addForm.hasTMCode" active-text="鏄�" inactive-text="鍚�" />
+					
+					</el-form-item>
+				</el-col> -->
+
+				<!-- 榛樿ERP搴撳瓨鍦� -->
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+          <el-form-item label="渚涘簲鍟嗙紪鍙�" prop="supplierCode">
+            <el-select
+              v-model="addForm.supplierCode"
+              filterable
+              remote
+              reserve-keyword
+              remote-show-suffix
+              :remote-method="remoteMethod"
+              :loading="loading"
+              placeholder="璇烽�夋嫨鏇夸唬鍝佺墿鏂欑紪鍙�"
+              clearable
+              style="width: 100%"
+              @change="changeXmbh(addForm.supplierCode)"
+            >
+              <el-option
+                v-for="(item, index) in arrTdp"
+                :key="index"
+                :value="item.custCode"
+                :label="`[${item.custCode}]${item.custChinaName}`"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col> -->
+
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+          <el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
+            <el-input
+              v-model="addForm.erpOrderNo"
+              placeholder="璇疯緭鍏RP鍗曞彿"
+              maxlength="50"
+              show-word-limit
+              clearable
+            />
+          </el-form-item>
+        </el-col> -->
+
+				<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+					<el-form-item label="椤圭洰鍙�" prop="projectNo">
+						<el-input v-model="addForm.projectNo" placeholder="璇疯緭鍏ラ」鐩彿" maxlength="50" show-word-limit
+							clearable />
+					</el-form-item>
+				</el-col> -->
+			</el-row>
+		</el-form>
+		<div class="msi-content" style="margin-top: 10px">
+			<div class="header" style="margin-bottom: 10px">
+				<div>
+					<!-- <el-button v-show="isMaterialBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog">鏂板鐗╂枡</el-button> -->
+					<!-- <el-button v-show="isPoBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog('po')">鍏宠仈ASN鍗�</el-button>
+
+					<el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+						@click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button> -->
+				</div>
+			</div>
+			<el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+				@selection-change="detailsCheckChange" max-height="480">
+				<!-- <el-table-column align="center" width="60" type="selection" /> -->
+				<el-table-column fixed="left" label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column fixed="left" label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center"
+					show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" min-width="140" prop="materialName" align="center" show-overflow-tooltip />
+				<!-- <el-table-column v-if="isPoBox == 1" label="PO琛屽彿" prop="poLineNumber" align="center" min-width="120">
+					<template #default="scope">
+						{{ scope.row.asnLineNumber }}
+					</template>
+				</el-table-column> -->
+				<el-table-column prop="snCode" min-width="150px" label="璺熻釜鐮�" show-overflow-tooltip="" />
+				<!-- <el-table-column label="瀹炴鏁伴噺" align="center" min-width="150">
+					<template #default="scope">
+						{{ Number(scope.row.goodsQuantity - scope.row.qcQuantity).toFixed(3) }}
+					</template>
+				</el-table-column> -->
+
+				<el-table-column prop="qcStatus" min-width="110px" label="璐ㄦ鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag :type="getTypeStatus(1, scope.row.qcStatusName)">{{ scope.row.qcStatusName }}</el-tag>
+						</template>
+					</el-table-column>
+
+				<el-table-column label="宸叉敹鏁伴噺" align="center" min-width="150">
+					<template #default="scope">
+						{{ Number(scope.row.goodsQuantity).toFixed(3) }}
+					</template>
+				</el-table-column>
+				<!-- <el-table-column prop="passQuantity" label="鍚堟牸鏁伴噺" show-overflow-tooltip="" /> -->
+				<!-- <el-table-column prop="rejectQuantity" label="涓嶅悎鏍兼暟閲�" show-overflow-tooltip="" /> -->
+				<el-table-column label="涓嶅悎鏍兼暟閲�" align="center" min-width="150">
+					<template #default="scope">
+						{{ Number(scope.row.goodsQuantity - scope.row.passQuantity).toFixed(3) }}
+					</template>
+				</el-table-column>
+
+				<el-table-column label="鍚堟牸鏁伴噺" align="center" min-width="150">
+					<template #default="scope">
+						<el-input-number :precision="3" min="0" v-model="scope.row.passQuantity" size="small" />
+					</template>
+				</el-table-column>
+
+				
+			</el-table>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" :disabled="disabled_btn" @click="confirm">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 娣诲姞鐗╂枡 -->
+	<el-dialog v-model="addMaterialVisible" width="70%" @close="closeMaterialDialog">
+		<template #header>
+			<div style="color: #fff">
+				<span v-if="isMaterialBox == 1">娣诲姞鐗╂枡璇︽儏</span>
+				<span v-if="isPoBox == 1">鍏宠仈ASN鍗曠墿鏂�</span>
+			</div>
+		</template>
+
+		<div class="msi-form" style="padding-top: 0px">
+			<el-form :model="materialForm">
+				<el-row>
+					<el-col :span="8" v-if="isMaterialBox == 1">
+						<el-form-item label="鐗╂枡缂栧彿">
+							<el-input v-model="materialForm.Code" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8" v-if="isPoBox == 1">
+						<el-form-item label="鍏宠仈ASN鍗曞彿:">
+							<el-input v-model="materialForm.asnNo" placeholder="璇疯緭鍏ュ叧鑱擜SN鍗曞彿" clearable></el-input>
+						</el-form-item>
+					</el-col>
+
+					<el-col :span="8">
+						<el-form-item label-width="20px">
+							<el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+							<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</div>
+		<div class="msi-content" style="padding-top: 0; margin-top: 10px">
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isMaterialBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+
+				<el-table-column label="鍗曚綅" prop="poUnit" align="center" min-width="140" show-overflow-tooltip />
+			</el-table>
+			<!-- ASN鍗� -->
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isPoBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column prop="asnNo" label="ASN鍗曞彿" min-width="120px" show-overflow-tooltip="" />
+				<el-table-column prop="poNo" label="PO鍗曞彿" min-width="120px" show-overflow-tooltip="" />
+				<el-table-column prop="poLineNumber" min-width="100px" label="PO琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="asnLineNumber" min-width="100px" label="ASN琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" min-width="130px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="asnStatus" min-width="100px" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index))">
+							{{ getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index) }}
+						</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="quantity" min-width="100px" label="閫佽揣鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="goodsQuantity" min-width="100px" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="supplierCode" min-width="100px" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierName" min-width="100px" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierBatch" min-width="100px" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" />
+				<el-table-column prop="unit" min-width="100px" label="鍗曚綅" show-overflow-tooltip="" />
+
+				<el-table-column prop="sN_1d" min-width="120px" label="涓�缁存潯鐮�" show-overflow-tooltip="" />
+				<el-table-column prop="sN_2d" min-width="120px" label="浜岀淮鏉$爜" show-overflow-tooltip="" />
+				<el-table-column prop="package" min-width="100px" label="鍖呰鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="plannedStartTime" min-width="120px" label="璁″垝寮�濮嬫椂闂�" :formatter="formatDate_T_Date"
+					show-overflow-tooltip="" />
+				<el-table-column prop="plannedEndTime" min-width="120px" label="璁″垝缁撴潫鏃堕棿" :formatter="formatDate_T_Date"
+					show-overflow-tooltip="" />
+				<el-table-column prop="projectNo" min-width="100px" label="椤圭洰鍙�" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="factoryName" min-width="100px" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="factoryCode" min-width="100px" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+				<el-table-column prop="dock" min-width="100px" label="鏀惰揣閬撳彛" show-overflow-tooltip="" />
+
+
+				<el-table-column prop="batch" min-width="100px" label="鎵规" show-overflow-tooltip="" />
+
+				<el-table-column prop="erpCode" min-width="100px" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
+				<el-table-column prop="erpOrderNo" min-width="100px" label="ERP鍗曞彿" show-overflow-tooltip="" />
+
+				<!-- <el-table-column prop="createTime" min-width="100px" label="鍒涘缓鏃堕棿" width="130"
+						 show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" min-width="100px" label="淇敼鏃堕棿" width="130"
+						 show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" min-width="120px" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" min-width="120px" label="淇敼浜�" show-overflow-tooltip="" /> -->
+			</el-table>
+
+			<Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+				@pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 鍗曡鎯� -->
+	<el-drawer v-model="drawerVisible" :title="`璁㈠崟璇︽儏`" direction="rtl" size="80%" @close="handleDrawerClose">
+		<template #title>
+			<div class="slot_title">
+				<div class="title_orderNo">{{ title }}</div>
+				<div>璁㈠崟璇︽儏</div>
+			</div>
+		</template>
+
+		<div class="detailBoxWrap">
+			<!-- 璇︽儏缁勪欢 -->
+			<open-details ref="propDetailRef"></open-details>
+			<div class="msi-form">
+				<el-form :model="detailForm">
+					<el-row>
+						<el-col :span="6">
+							<el-form-item label="鐗╂枡缂栧彿">
+								<el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="2">
+							<el-form-item label-width="20px">
+								<el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-form>
+			</div>
+			<div class="msi-content">
+				<!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+				<el-table :data="drawerList" border striped :max-height="480" @expand-change="getChildList" ref="tableRef">
+					<!-- 瀛愯〃 -->
+					<el-table-column fixed="left" type="expand">
+						<template #default="scope">
+							<br />
+							<el-table :data="scope.row.children" border style="width: 95%;margin: 0 auto;"
+								default-expand-all min-height="200" row-key="wareMaterialCode">
+								<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+								<el-table-column label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center"
+									show-overflow-tooltip />
+								<el-table-column prop="materialName" min-width="110px" label="鐗╂枡鍚嶇О"
+									show-overflow-tooltip="" />
+								<el-table-column prop="snCode" min-width="110px" label="璺熻釜鐮�" show-overflow-tooltip="" />
+								<!-- <el-table-column prop="qcStatus" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+								<el-table-column prop="passQuantity" label="鍚堟牸鏁伴噺" show-overflow-tooltip="" />
+								<el-table-column prop="rejectQuantity" label="涓嶅悎鏍兼暟閲�" show-overflow-tooltip="" />
+
+							</el-table>
+							<br />
+						</template>
+					</el-table-column>
+
+					<el-table-column label="搴忓彿" fixed="left" align="center" width="60" type="index" />
+
+					<!-- <el-table-column prop="qCOrderId" label="璐ㄦ鍗旾D"  show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="businessType" label="涓氬姟绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.businessType, getEnumBusinessTypeData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+
+					<el-table-column prop="materialCode" fixed="left" min-width="130px" label="鐗╂枡缂栧彿"
+						show-overflow-tooltip="" />
+					<el-table-column prop="materialName" min-width="110px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="materialUnit" label="搴撳瓨鍗曚綅" show-overflow-tooltip="" />
+					<el-table-column prop="poUnit" label="閲囪喘鍗曚綅" show-overflow-tooltip="" />
+					<el-table-column prop="poQuantity" label="閲囨敹鏁�" show-overflow-tooltip="" />
+					<el-table-column prop="receiveQuantity" label="鏀惰揣鏁�" show-overflow-tooltip="" />
+					<el-table-column prop="qCOrderStatus" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag
+								:type="getTypeStatus(1, scope.row.qcOrderStatusName)">{{
+									scope.row.qcOrderStatusName }}</el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column prop="qcStatus" min-width="110px" label="璐ㄦ鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag :type="getTypeStatus(1, scope.row.qcStatusName)">{{ scope.row.qcStatusName }}</el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column prop="qcQuantity" label="瀹炴鏁伴噺" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="qCStatus" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+		 
+					<el-table-column prop="passQuantity" label="鍚堟牸鏁伴噺" show-overflow-tooltip="" />
+					<el-table-column prop="rejectQuantity" label="涓嶅悎鏍兼暟閲�" show-overflow-tooltip="" />
+					<el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+					<el-table-column prop="poNo" label="PO鍗曞彿" min-width="160px" show-overflow-tooltip="" />
+		  <el-table-column prop="poLineNumber" label="PO鍗曟槑缁嗚鍙�" show-overflow-tooltip="" min-width="100px"/>
+		  <el-table-column prop="asnNo" label="ASN鍗曞彿" show-overflow-tooltip="" min-width="160px"/>
+		  <el-table-column prop="asnLineNumber" label="ASN鍗曟槑缁嗚鍙�" show-overflow-tooltip="" min-width="110px"/>
+					<el-table-column prop="snCode" min-width="150px" label="璺熻釜鐮�" show-overflow-tooltip="" />
+
+					<el-table-column prop="erpVoucher" min-width="150px" label="ERP鍑瘉" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" show-overflow-tooltip="" /> -->
+
+					<!-- <el-table-column prop="qcOrderStatusName" label="鍗曟嵁鐘舵��"  show-overflow-tooltip="" /> -->
+
+					<el-table-column prop="unit" label="搴撳瓨鍗曚綅" show-overflow-tooltip="" />
+					<el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+					<el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="custCode" label="瀹㈡埛缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="custChinaName" min-width="110px" label="瀹㈡埛涓枃鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="custEnglishName" min-width="110px" label="瀹㈡埛鑻辨枃鍚嶇О" show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="remarks" label="澶囨敞" show-overflow-tooltip="" /> -->
+					<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" 
+						show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" 
+						show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+
+				</el-table>
+				<Pagination :total="detailCount" v-model:page="detailForm.PageNo" v-model:limit="detailForm.PageSize"
+					@pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+				<div></div>
+			</div>
+		</div>
+	</el-drawer>
+
+	<el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+		<el-form :model="outerForm2" label-width="120px">
+			<el-row style="font-size: 16px">
+				<el-col :span="23">
+					<el-form-item label="鍗曞彿:" required>
+						<el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="outVisible2 = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="getSapOrderPO">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+</template>
+<script lang="ts" setup>
+import Pagination from '/@/components/Pagination/index.vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import { ref, nextTick, computed, getCurrentInstance, watch, defineExpose, defineProps, onMounted } from 'vue';
+
+import { formatDecimalData } from '/@/utils/formate';
+
+import cache from '/@/utils/cache';
+import { pageWmsMaterial } from '/@/api/main/WmsBase/wmsMaterial';
+import {
+	getTypeStatus
+} from "/@/utils/formate";
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import { addWmsOrderPurchase, updateWmsOrderPurchase, detailWmsOrderPurchase } from '/@/api/main/WmsOrder/wmsOrderPurchase';
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+import { pageWmsOrderPurchaseDetails } from '/@/api/main/WmsOrder/wmsOrderPurchaseDetails';
+import { pageWmsOrderAsnDetails, deleteWmsOrderAsnDetails } from '/@/api/main/WmsOrder/wmsOrderAsnDetails';
+import commonFunction from '/@/utils/commonFunction';
+import { addWmsOrderAsn, updateWmsOrderAsn, detailWmsOrderAsn } from '/@/api/main/WmsOrder/wmsOrderAsn';
+
+import { addWmsQc, updateWmsQc, detailWmsQc, handleConfirmQc } from "/@/api/main/WmsQC/wmsOrderQc";
+import { pageWmsQcDetails, pageWmsQcTransDetail } from '/@/api/main/WmsQC/wmsOrderQcDetails';
+import { handleSlectDataWmsBusinessType } from "/@/utils/selectData";
+const moveType = 80;//绉诲姩绫诲瀷 璐ㄦ
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getEnumOrderTypeData = ref<any>([]);
+// const getEnumBusinessTypeData = ref<any>([]);
+const getEnumPoStatusData = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(['getTabelData']);
+const getEnumAsnStatusData_Index = ref<any>([]);
+const getBusinessTypeData_Index = ref<any>([]);//涓氬姟绫诲瀷 create by liuwq
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumQCStatusData_Index = ref<any>([]);
+
+const getEnumDockData = ref<any>([]);
+const props = defineProps({
+	titleAuthor: {
+		type: Number,
+		required: true,
+	},
+	hexiao: {
+		type: Number,
+		default: 1,
+		required: true,
+	},
+});
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor);
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+// 鐧诲綍鐢ㄦ埛id
+// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
+
+// const EnumWriteOffState = computed(
+//   () => store.state.login.enums.enumWriteOffState
+// );
+
+let itemBtnArr = ['鎵归噺鍒犻櫎', '缂栬緫', '鏂板'];
+const boolEnum = ref([
+	{
+		title: '鏄�',
+		value: true,
+	},
+	{
+		title: '鍚�',
+		value: false,
+	},
+]);
+
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref('');
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+	return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+	orderDoRuType.value = param;
+	uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+	getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+	ElMessageBox.confirm('鏄惁纭鑾峰彇鏇存柊锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	}).then(() => {
+		// getSapRkPurchase().then((res) => {
+		//   if (res.code == 200) {
+		//     ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+		//   } else {
+		//     ElMessage.error(
+		//       `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+		//     );
+		//   }
+		// })
+	});
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+	purchaseNo: '',
+});
+const getSapOrderPO = (param?: number) => {
+	if (param && param == 1) {
+		outVisible2.value = true;
+		return;
+	}
+	if (outerForm2.value.purchaseNo == '') {
+		ElMessage.warning('璇疯緭鍏ュ崟鍙�');
+		return;
+	}
+	// getSapPurchasePO({
+	//   purchaseNo: outerForm2.value.purchaseNo
+	// })
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       ElMessage.success("SAP鑾峰彇鎴愬姛");
+	//       outVisible2.value = false;
+	//     } else {
+	//       ElMessage.error(
+	//         `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+	//       );
+	//     }
+	//   })
+	//   .catch((err) => ElMessage.error(err));
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+	outerForm2.value.purchaseNo = '';
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+	WareMaterialCode: '',
+	WareMaterialName: '',
+	PurchaseNo: '',
+	CreatedUserName: '',
+	CreatedTimeBegin: '',
+	CreatedTimeEnd: '',
+	CreateDate: [],
+	IssueTimeBegin: '',
+	IssueTimeEnd: '',
+	IssueDate: [],
+	MaterialTypeStaus: '',
+	SourceBy: '',
+	WriteOffState: '',
+	signStatus: '',
+	status: '',
+	freeOrderType: '',
+	IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+	// LoginUserID: LoginUserID, //鐢ㄦ埛id
+	OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+	Page: 1,
+	PageSize: 10,
+	poApprovalStatus: '',
+	keyCode: '',
+	IsDisable: '', //鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+const tableRef = ref();
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache('enumList');
+console.log(enumList.inEnumOrderType);
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+	//鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+		formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+		formModel.value.CreatedTimeEnd = ''; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+			formModel.value.CreatedTimeBegin = '';
+			formModel.value.CreatedTimeEnd = '';
+		}
+	}
+	//鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+		formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+		formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+			formModel.value.IssueTimeBegin = '';
+			formModel.value.IssueTimeEnd = '';
+		}
+	}
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+	formModel.value = {
+		WareMaterialCode: '',
+		WareMaterialName: '',
+		PurchaseNo: '',
+		CreatedUserName: '',
+		CreatedTimeBegin: '',
+		CreatedTimeEnd: '',
+		CreateDate: [],
+		IssueTimeBegin: '',
+		IssueTimeEnd: '',
+		IssueDate: [],
+		MaterialTypeStaus: '',
+		SourceBy: '',
+		WriteOffState: '',
+		signStatus: '',
+		status: '',
+		freeOrderType: '',
+		IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+		//  LoginUserID: LoginUserID, //鐢ㄦ埛id
+		OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+		Page: 1,
+		PageSize: 10,
+		poApprovalStatus: '',
+		keyCode: '',
+		IsDisable: '', //鏄惁浣滃簾
+	};
+	getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+
+
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+	materialCode: '',
+	qcOrderId: '',
+	snCode: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref('drawerAll');
+// const
+//鍗曞彿
+const purchaseNo = ref('');
+const detailCount2 = ref(0);
+const detailForm2 = ref({
+	Page: 1,
+	PageSize: 10,
+	qcOrderId: '',
+});
+const getEnumPoDetailStatusData_Index = ref<any>([]);
+
+const drawerList2 = ref<DetailType[]>([]);
+//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+const getDetail = async () => {
+	loading.value = true;
+	var res = await pageWmsQcDetails(Object.assign(detailForm.value));
+	var listD = res.data.result?.items ?? [];
+	drawerList.value = listD ?? [];
+	detailCount.value = res.data.result?.total;
+	loading.value = false;
+};
+
+//----------------鐗╂枡鏄庣粏
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+	detailForm.value.PageNo = 1;
+	detailForm.value.PageSize = 10;
+	if (scope.qcNo) {
+		title.value = `${scope.qcNo}`;
+	}
+	drawerType.value = 'drawerAll';
+	drawerVisible.value = true;
+	detailForm.value.qcOrderId = scope.id;
+	detailForm2.value.qcOrderId = scope.id;
+	//鑾峰彇鐗╂枡鍒楄〃
+	if (detailForm2.value.qcOrderId == '') {
+		drawerList2.value = [];
+		detailCount2.value = 0;
+		return;
+	}
+	// 鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	getDetail();
+
+	getEnumPoDetailStatusData_Index.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+		[];
+
+	// 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+	let scopetrans = JSON.parse(JSON.stringify(scope));
+	// scopetrans.totalquantity = Number(scopetrans.totalquantity).toFixed(3);
+	scopetrans.qcOrderStatus = getEnumDesc(scopetrans.qcOrderStatus, getEnumPoDetailStatusData_Index.value);
+
+	scopetrans.relationOrderType = getEnumDesc(scopetrans.relationOrderType, getEnumOrderTypeData.value);
+	
+	scopetrans.businessType = getBusinessTypeByValue(scopetrans.businessType, getBusinessTypeData_Index.value);
+	nextTick(() => {
+		proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+	});
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+	detailForm.value = {
+		materialCode: '',
+		qcOrderId: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	deltailList.value = [];
+	detailCount.value = 0;
+	drawerList.value = [];
+	drawerList2.value = [];
+	detailCount2.value = 0;
+	drawerList2.value = [];
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+	id: number;
+	barCode: string;
+	wareMaterialCode: string;
+	name: string;
+	signStatus: string;
+	category: string;
+	materialTypeName: string;
+	specificationModel: string;
+	long: number;
+	width: number;
+	high: number;
+	weight: number;
+	unit: string;
+	createdTime: string;
+	purchaseNo: string;
+	quantity: number;
+	goodsquantity: number;
+	surplusquantity: number;
+	poLineNumber: string;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref('');
+
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref('add');
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+	isAllPass: "",
+	asnType: '',
+	dock: '',
+	projectNo: '',
+	OrderDetails: [] as any[],
+});
+
+// 鐗规畩瀛楃鐨勯獙璇�
+// 鍖呭惈鐗规畩瀛楃杩斿洖true锛屼笉鍖呭惈鐗规畩瀛楃杩斿洖false
+const checkEspcial = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[@$%*^:;锛氾紱~+=!锛�#^{}><.,锛屻�俔/g;
+		if (!reg.test(value.trim())) {
+			callback();
+		} else {
+			return callback(new Error('涓嶈兘瀛樺湪鐗规畩绗﹀彿'));
+		}
+	}
+};
+
+// 楠岃瘉瑙掕壊缂栧彿
+var validatorCode = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[\u4E00-\u9FA5]/g;
+		if (!reg.test(value)) {
+			callback();
+		} else {
+			return callback(new Error('鍗曞彿涓嶈兘瀛樺湪姹夊瓧'));
+		}
+	}
+};
+
+//rules
+const formRules = {
+	// businessType: [{ required: true, message: '璇烽�夋嫨璁㈠崟绫诲瀷锛�', trigger: 'change' }],
+	orderTypeName: [{ required: true, message: '璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	businessType: [{ required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change' }],
+	businessTypeName: [{ required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	orderSocure: [{ required: true, message: '璇疯緭鍏ュ崟鎹潵婧愶紒', trigger: 'blur' }],
+	poStatus: [{ required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change' }],
+	poStatusName: [{ required: true, message: '璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒', trigger: 'blur' }],
+	supplierCode: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�', trigger: 'blur' }],
+	supplierName: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�', trigger: 'blur' }],
+	factoryId: [{ required: true, message: '璇疯緭鍏ュ伐鍘侷D锛�', trigger: 'blur' }],
+	// purchaseNo: [
+	//   { required: true, message: "鍗曞彿涓嶈兘涓虹┖", trigger: "blur" },
+	//   { validator: validatorCode, trigger: "blur" },
+	//   { validator: checkEspcial, trigger: "blur" }
+	// ],
+};
+//鎵撳紑鏂板銆佺紪杈戠獥鍙�
+const openDialog = async (type: number, scope: any = {}) => {
+	handleQueryTdp();
+	if (type == 1) {
+		isPoBox.value = 1;
+		isMaterialBox.value = 1;
+		detailForm2.value.PageSize = 10;
+		dialogType.value = 'add';
+	} else {
+		dialogType.value = 'edit';
+		detailForm2.value.PageSize = 100000;
+		addForm.value = { ...scope };
+
+		console.log(addForm.value);
+		detailForm2.value.qcOrderId = scope.id;
+
+		//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+		loading.value = true;
+		var res = await pageWmsQcDetails(Object.assign(detailForm2.value));
+
+		warehousOrderDetails.value = res.data.result?.items ?? [];
+		loading.value = false;
+		if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].asnNo) {
+			isPoBox.value = 1;
+			isMaterialBox.value = 0;
+
+		} else {
+			isPoBox.value = 0;
+			isMaterialBox.value = 1;
+		}
+
+		//----------------鐗╂枡鏄庣粏
+	}
+	dialogVisible.value = true;
+
+	//娓呴櫎閫変腑椤�
+	nextTick(() => {
+		dialogRef.value.clearValidate();
+	});
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+	return row.id + row.asnLineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+	disabled_btn.value = false; 
+	addForm.value = {
+		hasTMCode: false,
+		asnType: '',
+		dock: '',
+		projectNo: '',
+		OrderDetails: [] as any[],
+	};
+	warehousOrderDetails.value = [];
+	checkedDetails.value = [];
+	deltailList.value = [];
+	detailCount.value = 0;
+	detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+	ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			let arr = [];
+			if (checkedDetails.value[0].diRelationID) {
+				checkedDetails.value.forEach((item) => {
+					console.log(item);
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.diRelationID == item.diRelationID);
+					if (index > -1) {
+						warehousOrderDetails.value.splice(index, 1);
+					}
+				});
+			} else {
+				checkedDetails.value.forEach((item) => {
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.asnLineNumber == item.asnLineNumber);
+					warehousOrderDetails.value.splice(index, 1);
+				});
+			}
+			arr = warehousOrderDetails.value;
+			warehousOrderDetails.value = [];
+			//bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+			nextTick(() => {
+				warehousOrderDetails.value = arr;
+				checkedDetails.value = [];
+				detailRef.value.clearSelection();
+			});
+		})
+		.catch(() => ElMessage.info('宸插彇娑堝垹闄�'));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const disabled_btn = ref(false);
+const confirm = () => {
+	dialogRef.value.validate(async (vali: any) => {
+		if (vali) {
+			console.log('纭');
+			if(warehousOrderDetails.value.length <= 0){
+				ElMessage.warning('娌℃湁闇�瑕佽川妫�鐨勭墿鏂欙紒');
+				return
+			}
+			addForm.value.OrderDetails = [];
+			warehousOrderDetails.value.forEach((item) => {
+				let {rejectQuantity,...rest} = item;
+				const obj = {
+					...rest,
+					rejectQuantity:Number(item.goodsQuantity - item.passQuantity).toFixed(3)
+				};
+				addForm.value.OrderDetails.push(obj);
+			});
+			disabled_btn.value = true; 
+			let res = await handleConfirmQc(addForm.value);
+			if (res.data.code && res.data.code == 200) {
+				ElMessage.success('璐ㄦ鎴愬姛锛�');
+				dialogVisible.value = false;
+				emits('getTabelData');
+			} 
+			disabled_btn.value = false; 
+
+		} else {
+			ElMessage.warning('琛ㄥ崟楠岃瘉澶辫触');
+		}
+	});
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+	asnNo: '',
+	// asnStatus:0,
+	Code: '',
+	Page: 1,
+	PageSize: 10,
+
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+	if (isPoBox.value == 1) {
+		if (materialForm.value.asnNo) {
+			loading.value = true;
+			var res = await pageWmsOrderAsnDetails(Object.assign(materialForm.value));
+			materialList.value = res.data.result?.items ?? [];
+			materialTotal.value = res.data.result?.total;
+			loading.value = false;
+		}
+	}
+	if (isMaterialBox.value == 1) {
+		loading.value = true;
+		var res = await pageWmsMaterial(Object.assign(materialForm.value));
+		materialList.value = res.data.result?.items ?? [];
+		materialTotal.value = res.data.result?.total;
+		loading.value = false;
+	}
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+	materialForm.value = {
+		asnNo: '',
+		asnStatus: 0,
+		Code: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+	checkedMaterial.value = val;
+};
+const isMaterialBox: any = ref(true);
+const isPoBox: any = ref(true);
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = (param?: any) => {
+	if (param && param == 'po') {
+		isPoBox.value = 1;
+		isMaterialBox.value = 0;
+	} else {
+		isPoBox.value = 0;
+		isMaterialBox.value = 1;
+	}
+	getMaterialList();
+
+	// if ( addForm.value.freeOrderType && isShowBomBtn.value ) {
+	//   ElMessage.warning("鍏嶈垂浠剁被鍨嬫槸PR2锛屽彧鑳芥柊澧濪I缁存姢鐨勭墿鏂欙紒");
+	//   return;
+	// }
+	addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+	//鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+	if (warehousOrderDetails.value.length == 0) {
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			item.asnLineNumber = index + 1;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	} else {
+		for (let i = 0; i < checkedMaterial.value.length; i++) {
+			let idx = warehousOrderDetails.value.findIndex(
+				(item: { poLineNumber: any; code: any }) => item.code == checkedMaterial.value[i].materialCode && item.asnLineNumber == checkedMaterial.value[i].asnLineNumber
+			);
+			if (idx > -1) {
+				return ElMessage.warning(`鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}锛孉SN琛屽彿锛�${checkedMaterial.value[i].asnLineNumber || ''}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦);
+			}
+		}
+
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	}
+
+	addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+	materialForm.value = {
+		MaterialTypeId: '',
+		Code: '',
+		Page: 1,
+		// MaterialType: 1,
+		PageSize: 10,
+	};
+	materialList.value = [];
+	checkedMaterial.value = [];
+	disabled_btn.value = false; 
+	materialRef.value.clearSelection();
+};
+
+// 鏍规嵁businessTypeValue鑾峰彇businessTypeName
+const getBusinessTypeByValue = (key: any, itemLst: any) => {
+
+	return itemLst.find((x: any) => x.businessTypeValue == key)?.businessTypeName;
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+	getEnumOrderTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+
+	getEnumPoStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+
+	getEnumDockData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('DockEnum')).data.result ?? [];
+	getEnumAsnStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+
+	getEnumQCStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('QcStatusEnum')).data.result ?? [];
+
+	getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇涓氬姟绫诲瀷鎺ュ彛
+});
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	custType: '渚涘簲鍟�',
+});
+
+//-----------------杩滅▼鎼滅储----------------
+const handleQueryTdp = async () => {
+	var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+	arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: '渚涘簲鍟�',
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: '渚涘簲鍟�',
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+//3绾т笅鎷�
+const getChildList = async (item?: any) => {
+	console.log("3绾т笅鎷�")
+	if (item.children) {
+		return
+	}
+	var res = await pageWmsQcTransDetail(Object.assign({
+		"QCOrderDetailsId": item.id
+	}));
+	item.children = res.data.result || [];
+	nextTick(() => {
+		tableRef.value!.toggleRowExpansion(item, true);// 灞曞紑瀛愰泦
+	});
+}
+
+
+
+//鐩戣闇�瑕佸叏閮ㄥ悎鏍�
+watch(
+  () => addForm.value.isAllPass,
+  (value) => {
+    if (value) { 
+		if(value=='鏄�'){ //鏄�
+			warehousOrderDetails.value.forEach((item)=>{
+				item.passQuantity = item.goodsQuantity;
+				item.rejectQuantity =0;
+			});
+		}
+		if(value=='鍚�'){
+			warehousOrderDetails.value.forEach((item)=>{
+				item.passQuantity = 0;
+				item.rejectQuantity = item.goodsQuantity;
+			});	
+		}
+    } 
+  }
+);
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+
+
+
+
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+	margin: 10px;
+}
+
+.msi-form {
+	margin-top: 10px;
+}
+
+.msi-form {
+	margin-bottom: 10px;
+}
+
+.slot_title {
+	display: flex;
+	align-items: center;
+
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #F18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQc/component/openAllpropWczj.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQc/component/openAllpropWczj.vue
new file mode 100644
index 0000000..9fcde38
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQc/component/openAllpropWczj.vue
@@ -0,0 +1,1202 @@
+<template>
+	<!-- 娣诲姞銆佺紪杈� -->
+	<el-dialog v-model="dialogVisible" width="95%" @close="closeDialog" :close-on-click-modal="false">
+		<template #header>
+			<div style="color: #fff">
+				<span>瀹屾垚璐ㄦ</span>
+			</div>
+		</template>
+		<!-- <el-form :model="addForm" ref="dialogRef" labelWidth="90" :rules="formRules">
+			<el-row>
+				<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+					<el-form-item  label="涓氬姟绫诲瀷" prop="businessType">
+						<el-select clearable v-model="addForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumBusinessTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form> -->
+		<div class="msi-content" style="margin-top: 10px">
+			<!-- <div class="header" style="margin-bottom: 10px">
+				<div>
+					<el-button v-show="isPoBox == true" type="primary" icon="el-icon-plus"
+						@click="addMaterialDialog('po')">鍏宠仈ASN鍗�</el-button>
+
+					<el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0"
+						@click="delCheckedDetails">鍒犻櫎閫変腑琛�</el-button>
+				</div>
+			</div> -->
+			<el-table :data="warehousOrderDetails" border style="width: 100%" row-key="setRowKey" ref="detailRef"
+				@selection-change="detailsCheckChange" max-height="480" @expand-change="getChildList">
+				<!-- 瀛愯〃 -->
+				<el-table-column type="expand">
+					<template #default="scope">
+						<br />
+						<el-table :data="scope.row.children" border style="width: 95%;margin: 0 auto;" default-expand-all
+							min-height="200" row-key="wareMaterialCode">
+							<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+							<el-table-column label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center"
+								show-overflow-tooltip />
+							<el-table-column prop="materialName" min-width="110px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+							<el-table-column prop="snCode" min-width="110px" label="璺熻釜鐮�" show-overflow-tooltip="" />
+							<!-- <el-table-column prop="qcStatus" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+							<el-table-column prop="quantityKc" label="鏁伴噺" show-overflow-tooltip="" />
+						</el-table>
+						<br />
+					</template>
+				</el-table-column>
+				<!-- <el-table-column align="center" width="60" type="selection" /> -->
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center" show-overflow-tooltip />
+				<el-table-column prop="materialName" min-width="110px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="snCode" min-width="110px" label="璺熻釜鐮�" show-overflow-tooltip="" />
+				<el-table-column prop="qcQuantity" label="瀹炴鏁伴噺" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="qCStatus" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+				<el-table-column prop="qcStatus" label="璐ㄦ鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						{{ scope.row.qcStatusName }}
+						<!-- <el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index) }}</el-tag> -->
+					</template>
+				</el-table-column>
+				<!-- <el-table-column prop="passQuantity" label="鍚堟牸鏁伴噺"  show-overflow-tooltip="" /> -->
+				<!-- <el-table-column prop="rejectQuantity" label="涓嶅悎鏍兼暟閲�"  show-overflow-tooltip="" /> -->
+				<!-- <el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" /> -->
+
+				<el-table-column prop="rejectQuantity" label="涓嶅悎鏍兼暟閲�" show-overflow-tooltip="" />
+				<el-table-column prop="passQuantity" label="鍚堟牸鏁伴噺" show-overflow-tooltip="" />
+
+				<!-- <el-table-column label="鍚堟牸鏁伴噺" align="center" min-width="150">
+					<template #default="scope">
+						<el-input-number :precision="3" min="0" v-model="scope.row.passQuantity" size="small" />
+					</template>
+				</el-table-column> -->
+
+			</el-table>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" :disabled="disabled_btn" @click="confirm">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 娣诲姞鐗╂枡 -->
+	<el-dialog v-model="addMaterialVisible" width="70%" @close="closeMaterialDialog">
+		<template #header>
+			<div style="color: #fff">
+				<span v-if="isMaterialBox == 1">娣诲姞鐗╂枡璇︽儏</span>
+				<span v-if="isPoBox == 1">鍏宠仈ASN鍗曠墿鏂�</span>
+			</div>
+		</template>
+
+		<div class="msi-form" style="padding-top: 0px">
+			<el-form :model="materialForm">
+				<el-row>
+					<el-col :span="8" v-if="isMaterialBox == 1">
+						<el-form-item label="鐗╂枡缂栧彿">
+							<el-input v-model="materialForm.Code" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :span="8" v-if="isPoBox == 1">
+						<el-form-item label="鍏宠仈ASN鍗曞彿:">
+							<el-input v-model="materialForm.poNo" placeholder="璇疯緭鍏ュ叧鑱擜SN鍗曞彿" clearable></el-input>
+						</el-form-item>
+					</el-col>
+
+					<el-col :span="8">
+						<el-form-item label-width="20px">
+							<el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+							<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm">閲嶇疆</el-button> -->
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</div>
+		<div class="msi-content" style="padding-top: 0; margin-top: 10px">
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isMaterialBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+				<el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+
+				<el-table-column label="鍗曚綅" prop="poUnit" align="center" min-width="140" show-overflow-tooltip />
+			</el-table>
+			<!-- ASN鍗� -->
+			<el-table :data="materialList" border style="width: 100%" row-key="id" ref="materialRef"
+				@selection-change="materialSelectionChange" :max-height="480" v-if="isPoBox == 1">
+				<el-table-column align="center" width="60" type="selection"  />
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+				<el-table-column prop="poNo" label="PO鍗曞彿" min-width="120px" show-overflow-tooltip="" />
+				<el-table-column prop="poLineNumber" min-width="100px" label="PO琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="asnLineNumber" min-width="100px" label="ASN琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" min-width="130px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="asnStatus" min-width="100px" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index))">
+							{{ getEnumDesc(scope.row.asnStatus, getEnumAsnStatusData_Index) }}
+						</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="quantity" min-width="100px" label="閫佽揣鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="goodsQuantity" min-width="100px" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+				<el-table-column prop="supplierCode" min-width="100px" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierName" min-width="100px" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+				<el-table-column prop="supplierBatch" min-width="100px" label="渚涘簲鍟嗘壒娆�" show-overflow-tooltip="" />
+				<el-table-column prop="unit" min-width="100px" label="鍗曚綅" show-overflow-tooltip="" />
+
+				<el-table-column prop="sN_1d" min-width="120px" label="涓�缁存潯鐮�" show-overflow-tooltip="" />
+				<el-table-column prop="sN_2d" min-width="120px" label="浜岀淮鏉$爜" show-overflow-tooltip="" />
+				<el-table-column prop="package" min-width="100px" label="鍖呰鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="plannedStartTime" min-width="120px" label="璁″垝寮�濮嬫椂闂�" :formatter="formatDate_T_Date"
+					show-overflow-tooltip="" />
+				<el-table-column prop="plannedEndTime" min-width="120px" label="璁″垝缁撴潫鏃堕棿" :formatter="formatDate_T_Date"
+					show-overflow-tooltip="" />
+				<el-table-column prop="projectNo" min-width="100px" label="椤圭洰鍙�" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="factoryName" min-width="100px" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="factoryCode" min-width="100px" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+				<el-table-column prop="dock" min-width="100px" label="鏀惰揣閬撳彛" show-overflow-tooltip="" />
+
+
+				<el-table-column prop="batch" min-width="100px" label="鎵规" show-overflow-tooltip="" />
+
+				<el-table-column prop="erpCode" min-width="100px" label="ERP搴撳瓨鍦�" show-overflow-tooltip="" />
+				<el-table-column prop="erpOrderNo" min-width="100px" label="ERP鍗曞彿" show-overflow-tooltip="" />
+
+				<!-- <el-table-column prop="createTime" min-width="100px" label="鍒涘缓鏃堕棿" width="130"
+						:formatter="formatDate_T_Time" show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" min-width="100px" label="淇敼鏃堕棿" width="130"
+						:formatter="formatDate_T_Time" show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" min-width="120px" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" min-width="120px" label="淇敼浜�" show-overflow-tooltip="" /> -->
+			</el-table>
+
+			<Pagination :total="materialTotal" v-model:page="materialForm.Page" v-model:limit="materialForm.PageSize"
+				@pagination="getMaterialList" style="margin-top: 20px; text-align: center"></Pagination>
+		</div>
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+	<!-- 鍗曡鎯� -->
+	<el-drawer v-model="drawerVisible" :title="`${detailForm.asnId}璁㈠崟璇︽儏`" direction="rtl" size="80%"
+		@close="handleDrawerClose">
+		<template #title>
+			<div class="slot_title">
+				<div class="title_orderNo">{{ title }}</div>
+				<div>璁㈠崟璇︽儏</div>
+			</div>
+		</template>
+
+		<div class="detailBoxWrap">
+			<!-- 璇︽儏缁勪欢 -->
+			<open-details ref="propDetailRef"></open-details>
+			<div class="msi-form">
+				<el-form :model="detailForm">
+					<el-row>
+						<el-col :span="6">
+							<el-form-item label="鐗╂枡缂栧彿">
+								<el-input v-model="detailForm.materialCode" clearable placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="2">
+							<el-form-item label-width="20px">
+								<el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button>
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-form>
+			</div>
+			<div class="msi-content">
+				<!-- <p style="margin-bottom: 10px">鐗╂枡鏄庣粏</p> -->
+				<el-table :data="drawerList" border striped :max-height="480">
+					<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+
+
+					<el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="materialName" min-width="110px" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="qcQuantity" label="瀹炴鏁伴噺" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="qCStatus" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+					<el-table-column prop="qcStatus" label="璐ㄦ鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index) }}</el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column prop="passQuantity" label="鍚堟牸鏁伴噺" show-overflow-tooltip="" />
+					<el-table-column prop="rejectQuantity" label="涓嶅悎鏍兼暟閲�" show-overflow-tooltip="" />
+					<el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺" show-overflow-tooltip="" />
+
+					<el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷" show-overflow-tooltip="" />
+					<el-table-column prop="qCOrderStatus" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+						<template #default="scope">
+							<el-tag>{{ getEnumDesc(scope.row.qcOrderStatus, getEnumAsnStatusData_Index) }}</el-tag>
+						</template>
+					</el-table-column>
+					<!-- <el-table-column prop="qcOrderStatusName" label="鍗曟嵁鐘舵��"  show-overflow-tooltip="" /> -->
+
+					<el-table-column prop="unit" label="鍗曚綅" show-overflow-tooltip="" />
+					<el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" />
+					<el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+					<el-table-column prop="custCode" label="瀹㈡埛缂栧彿" show-overflow-tooltip="" />
+					<el-table-column prop="custChinaName" min-width="110px" label="瀹㈡埛涓枃鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="custEnglishName" min-width="110px" label="瀹㈡埛鑻辨枃鍚嶇О" show-overflow-tooltip="" />
+					<el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" show-overflow-tooltip="" />
+					<!-- <el-table-column prop="relationOrderType" label="鍏宠仈鍗曟嵁绫诲瀷"  show-overflow-tooltip="" /> -->
+					<el-table-column prop="relationOrderTypeName" min-width="110px" label="鍏宠仈鍗曟嵁绫诲瀷"
+						show-overflow-tooltip="" />
+					<!-- <el-table-column prop="factoryId" label="宸ュ巶ID"  show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="factoryName" label="宸ュ巶鍚嶇О" show-overflow-tooltip="" /> -->
+					<!-- <el-table-column prop="factoryCode" label="宸ュ巶缂栧彿" show-overflow-tooltip="" /> -->
+					<el-table-column prop="remarks" label="澶囨敞" show-overflow-tooltip="" />
+					<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+						show-overflow-tooltip="" />
+					<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+					<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+
+				</el-table>
+				<Pagination :total="detailCount" v-model:page="detailForm.PageNo" v-model:limit="detailForm.PageSize"
+					@pagination="getDetail" style="margin-top: 20px; text-align: center"></Pagination>
+
+				<div></div>
+			</div>
+		</div>
+	</el-drawer>
+
+	<el-dialog v-model="outVisible2" title="SPA鑾峰彇" width="20%" @close="closeOutDialog2">
+		<el-form :model="outerForm2" label-width="120px">
+			<el-row style="font-size: 16px">
+				<el-col :span="23">
+					<el-form-item label="鍗曞彿:" required>
+						<el-input v-model="outerForm2.purchaseNo" clearable placeholder="璇疯緭鍏ュ崟鍙�" />
+					</el-form-item>
+				</el-col>
+			</el-row>
+		</el-form>
+
+		<template #footer>
+			<span class="dialog-footer">
+				<el-button @click="outVisible2 = false">鍙栨秷</el-button>
+				<el-button type="primary" @click="getSapOrderPO">纭</el-button>
+			</span>
+		</template>
+	</el-dialog>
+</template>
+<script lang="ts" setup>
+import Pagination from '/@/components/Pagination/index.vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import { ref, nextTick, computed, getCurrentInstance, watch, defineExpose, defineProps, onMounted } from 'vue';
+
+import { formatDecimalData } from '/@/utils/formate';
+
+import cache from '/@/utils/cache';
+import { pageWmsMaterial } from '/@/api/main/WmsBase/wmsMaterial';
+import {
+	getTypeStatus
+} from "/@/utils/formate";
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import { addWmsOrderPurchase, updateWmsOrderPurchase, detailWmsOrderPurchase } from '/@/api/main/WmsOrder/wmsOrderPurchase';
+import OpenDetails from '/@/components/openDetails/openDetails.vue';
+import { pageBaseCustomer } from '/@/api/main/WmsBase/baseCustomer';
+import { pageWmsOrderPurchaseDetails } from '/@/api/main/WmsOrder/wmsOrderPurchaseDetails';
+import { pageWmsOrderAsnDetails, deleteWmsOrderAsnDetails } from '/@/api/main/WmsOrder/wmsOrderAsnDetails';
+import commonFunction from '/@/utils/commonFunction';
+import { addWmsOrderAsn, updateWmsOrderAsn, detailWmsOrderAsn } from '/@/api/main/WmsOrder/wmsOrderAsn';
+
+import { addWmsQc, updateWmsQc, detailWmsQc, confirmWmsQc } from "/@/api/main/WmsQC/wmsOrderQc";
+import { pageWmsQcDetails } from '/@/api/main/WmsQC/wmsOrderQcDetails';
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getEnumOrderTypeData = ref<any>([]);
+const getEnumBusinessTypeData = ref<any>([]);
+const getEnumPoStatusData = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(['getTabelData']);
+const getEnumAsnStatusData_Index = ref<any>([]);
+const getEnumOrderTypeData_Index = ref<any>([]);
+const getEnumQCStatusData_Index = ref<any>([]);
+
+const getEnumDockData = ref<any>([]);
+const props = defineProps({
+	titleAuthor: {
+		type: Number,
+		required: true,
+	},
+	hexiao: {
+		type: Number,
+		default: 1,
+		required: true,
+	},
+});
+//鎺у埗璁㈠崟绫诲瀷 - 涓嬫媺鑿滃崟
+const titleAuthor = computed(() => props.titleAuthor);
+// 鏄惁鏄剧ず鏍搁攢鎸夐挳
+const hexiao = computed(() => props.hexiao);
+const loading = ref(false);
+
+// 鐧诲綍鐢ㄦ埛id
+// const LoginUserID = computed(() => store.state.login.userInfo.id || localCache.getCache("LoginUserID"))
+
+// const EnumWriteOffState = computed(
+//   () => store.state.login.enums.enumWriteOffState
+// );
+
+let itemBtnArr = ['鎵归噺鍒犻櫎', '缂栬緫', '鏂板'];
+const boolEnum = ref([
+	{
+		title: '鏄�',
+		value: true,
+	},
+	{
+		title: '鍚�',
+		value: false,
+	},
+]);
+
+// form琛ㄥ崟灞曞紑
+
+const orderType = ref('');
+const orderDoRuType = ref(); // 鐢ㄤ簬瀵煎叆鐨勫彉閲�
+const itemBtn = ref(1);
+// 鎺у埗bom鐗╂枡鏉冮檺
+const isShowBomBtn = ref(0);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+	return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+// 涓婁紶绐楀彛
+const uploadVisible = ref(false);
+//鎵撳紑瀵煎叆绐楀彛
+const openUploadDialog = (param: any) => {
+	orderDoRuType.value = param;
+	uploadVisible.value = true;
+};
+//鍏抽棴绐楀彛
+const closeUploadDialog = () => {
+	getTabelData();
+};
+//sap鑾峰彇
+const getSapOrder = () => {
+	ElMessageBox.confirm('鏄惁纭鑾峰彇鏇存柊锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	}).then(() => {
+		// getSapRkPurchase().then((res) => {
+		//   if (res.code == 200) {
+		//     ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+		//   } else {
+		//     ElMessage.error(
+		//       `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+		//     );
+		//   }
+		// })
+	});
+};
+
+//------------sap鑾峰彇PO鍗�
+const outVisible2 = ref(false);
+const outerForm2 = ref({
+	purchaseNo: '',
+});
+const getSapOrderPO = (param?: number) => {
+	if (param && param == 1) {
+		outVisible2.value = true;
+		return;
+	}
+	if (outerForm2.value.purchaseNo == '') {
+		ElMessage.warning('璇疯緭鍏ュ崟鍙�');
+		return;
+	}
+	// getSapPurchasePO({
+	//   purchaseNo: outerForm2.value.purchaseNo
+	// })
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       ElMessage.success("SAP鑾峰彇鎴愬姛");
+	//       outVisible2.value = false;
+	//     } else {
+	//       ElMessage.error(
+	//         `sap鑾峰彇澶辫触${res.code}:${JSON.stringify(res.message)}`
+	//       );
+	//     }
+	//   })
+	//   .catch((err) => ElMessage.error(err));
+};
+//鍏抽棴鍑哄簱绐楀彛鐨勫洖璋�
+const closeOutDialog2 = () => {
+	outerForm2.value.purchaseNo = '';
+};
+
+//------------sap鑾峰彇PO鍗�
+
+// --------------------PO鍗曞垪琛�-----------------------------------
+//鏌ヨ
+const formModel = ref({
+	WareMaterialCode: '',
+	WareMaterialName: '',
+	PurchaseNo: '',
+	CreatedUserName: '',
+	CreatedTimeBegin: '',
+	CreatedTimeEnd: '',
+	CreateDate: [],
+	IssueTimeBegin: '',
+	IssueTimeEnd: '',
+	IssueDate: [],
+	MaterialTypeStaus: '',
+	SourceBy: '',
+	WriteOffState: '',
+	signStatus: '',
+	status: '',
+	freeOrderType: '',
+	IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+	// LoginUserID: LoginUserID, //鐢ㄦ埛id
+	OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+	Page: 1,
+	PageSize: 10,
+	poApprovalStatus: '',
+	keyCode: '',
+	IsDisable: '', //鏄惁浣滃簾
+});
+
+//鍏ュ簱鍗曞垪琛ㄦ暟鎹�
+let tableData = ref([]);
+const tableRef = ref();
+
+//鍒楄〃鐨勬暟鎹潯鏁�
+const totalItems = ref<number>(0);
+
+//缂撳瓨鏋氫妇
+const enumList: any = cache.getCache('enumList');
+console.log(enumList.inEnumOrderType);
+
+// .inEnumOrderType
+
+//鑾峰彇PO鍗曞垪琛�
+const getTabelData = () => {
+	//鍒ゆ柇鍒涘缓鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.CreateDate && formModel.value.CreateDate.length > 0) {
+		formModel.value.CreatedTimeBegin = formModel.value.CreateDate[0];
+		formModel.value.CreatedTimeEnd = ''; //addDate(formModel.value.CreateDate[1], 1); //鏃ユ湡鏌ヨ 缁撴潫鏃堕棿 闇�瑕佸姞涓�澶�
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.CreatedTimeBegin || formModel.value.CreatedTimeEnd) {
+			formModel.value.CreatedTimeBegin = '';
+			formModel.value.CreatedTimeEnd = '';
+		}
+	}
+	//鍒ゆ柇涓嬪彂鏃堕棿鏄惁鏈夐�夋嫨
+	if (formModel.value.IssueDate && formModel.value.IssueDate.length > 0) {
+		formModel.value.IssueTimeBegin = formModel.value.IssueDate[0];
+		formModel.value.IssueTimeEnd = formModel.value.IssueDate[1];
+	} else {
+		// 鏃ュ巻娓呯┖ 鍐嶆煡璇ug
+		if (formModel.value.IssueTimeBegin || formModel.value.IssueTimeEnd) {
+			formModel.value.IssueTimeBegin = '';
+			formModel.value.IssueTimeEnd = '';
+		}
+	}
+
+	//鍏跺畠鍏ュ簱鍏ュ彛
+	// if (titleAuthor.value == 1) { //鍏嶈垂鍏ュ簱鍗曠鐞�
+	// }
+
+	// if (titleAuthor.value == 2) { //璁㈠崟鍏ュ簱绠$悊
+	// }
+
+	// getPurchasePageForAllData(formModel.value)
+	//   .then((res) => {
+	//     if (res.code == 200) {
+	//       const { data } = res;
+	//       const result = data;
+	//       result.rows.map(
+	//         (item: { hasChildren: boolean }) => (item.hasChildren = true)
+	//       );
+	//       tableData.value = result.rows;
+	//       totalItems.value = result.totalRows;
+	//       orderType.value = formModel.value.MaterialTypeStaus;
+	//       // 娓呴櫎閫変腑
+	//       nextTick(() => {
+	//         if (tableRef.value && typeof tableRef.value.clearSelection === 'function') {
+	//           checkRows.value = [];
+	//           tableRef.value.clearSelection();
+	//         }
+	//       })
+	//     } else {
+	//       ;
+	//     }
+	//   })
+	//   .catch((err) => {
+	//     console.log(err);
+	//     ElMessage.error(JSON.stringify(err));
+	//   });
+};
+getTabelData();
+
+//閲嶇疆鎼滅储
+const resetForm = () => {
+	formModel.value = {
+		WareMaterialCode: '',
+		WareMaterialName: '',
+		PurchaseNo: '',
+		CreatedUserName: '',
+		CreatedTimeBegin: '',
+		CreatedTimeEnd: '',
+		CreateDate: [],
+		IssueTimeBegin: '',
+		IssueTimeEnd: '',
+		IssueDate: [],
+		MaterialTypeStaus: '',
+		SourceBy: '',
+		WriteOffState: '',
+		signStatus: '',
+		status: '',
+		freeOrderType: '',
+		IsQueryAll: false, //鏄惁鏄剧ず鍏ㄩ儴鏁版嵁
+		//  LoginUserID: LoginUserID, //鐢ㄦ埛id
+		OrderMenuType: '', //鍒ゆ柇鏄摢涓彍鍗曞叆搴�
+		Page: 1,
+		PageSize: 10,
+		poApprovalStatus: '',
+		keyCode: '',
+		IsDisable: '', //鏄惁浣滃簾
+	};
+	getTabelData();
+};
+// -----------------鍒犻櫎銆佸鍑烘搷浣�--------------------------
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+//瀵煎嚭PO鍗曡鎯�
+const handExport = () => {
+	// rkExport(formModel.value)
+	//   .then((res) => {
+	//     const link = document.createElement("a"); //鍒涘缓a鏍囩
+	//     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+	//     let objectUrl = URL.createObjectURL(blob);
+	//     link.href = objectUrl;
+	//     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+	//       new Date().toString(),
+	//       "YYYY-MM-DD hh:mm:ss"
+	//     )}`; // 鑷畾涔夋枃浠跺悕
+	//     link.click(); // 涓嬭浇鏂囦欢
+	//     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+	//   }).catch((err) => ElMessage.error(JSON.stringify(err)));
+	//瀵煎嚭璋冪敤鎺ュ彛
+	// let entozh = entozhExcell
+	//   const { PageNo, PageSize, ...rest } = formModel.value
+	//   getPurchasePage({ Page: 1, PageSize: 1000000, ...rest }).then(res => {
+	//     if(res.code==200){
+	//       res.data.rows.forEach((item)=>{
+	//         item.writeOffState = EnumWriteOffState.value.filter((v: any) => v.value == item.writeOffState)[0].title;
+	//         item.sourceBy =  sourceEnum.value.filter((v: any) => v.value == item.sourceBy)[0].title;
+	//       })
+	//       exportExcel(res.data.rows, entozh, "xlsx", `鍏ュ簱绠$悊琛�${formatUtcToData(new Date().toString(), 'YYYY-MM-DD hh:mm:ss')}`);
+	//     }
+	//   })
+	// 鍚庣瀵煎嚭-瀛楁涓嶅叏
+	// if (checkRows.value.length <= 0) {
+	//   ElMessage.warning("璇烽�夋嫨涓�涓鍗曪紒");
+	//   return
+	// }
+	// const arr = checkRows.value.reduce((curr, item) => {
+	//   curr.push(item.purchaseNo);
+	//   return curr;
+	// }, []);
+	// puchaseExport({ PurchaseNo: arr })
+	//   .then((res) => {
+	//     const link = document.createElement("a"); //鍒涘缓a鏍囩
+	//     let blob = new Blob([res], { type: "application/vnd.ms-excel" }); // response灏辨槸鎺ュ彛杩斿洖鐨勬枃浠舵祦
+	//     let objectUrl = URL.createObjectURL(blob);
+	//     link.href = objectUrl;
+	//     link.download = `鍏ュ簱绠$悊瀵煎嚭${formatUtcToData(
+	//       new Date().toString(),
+	//       "YYYY-MM-DD hh:mm:ss"
+	//     )}`; // 鑷畾涔夋枃浠跺悕
+	//     link.click(); // 涓嬭浇鏂囦欢
+	//     URL.revokeObjectURL(objectUrl); // 閲婃斁鍐呭瓨
+	//   })
+	//   .catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+
+// -------------------鑾峰彇PO鍗曚笅鐗╂枡璇︽儏-----------------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+	materialCode: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+const drawerType = ref('drawerAll');
+// const
+//鍗曞彿
+const purchaseNo = ref('');
+const detailCount2 = ref(0);
+const detailForm2 = ref({
+	Page: 1,
+	PageSize: 10,
+	qcOrderId: '',
+	IsConfirmQC: true, //璐ㄦ鍗曠‘璁や紶鍙傦細1璐ㄦ鐘舵�佷笉鏄緟妫�楠�  2鍗曟嵁鐘舵�佹槸鏂板缓
+});
+const getEnumPoDetailStatusData_Index = ref<any>([]);
+
+const drawerList2 = ref<DetailType[]>([]);
+//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+const getDetail = async () => {
+	loading.value = true;
+	var res = await pageWmsQcDetails(Object.assign(detailForm.value));
+	var listD = res.data.result?.items ?? [];
+	drawerList.value = listD;
+	detailCount.value = res.data.result?.total;
+	loading.value = false;
+	getEnumPoDetailStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+
+	getEnumAsnStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+};
+
+//----------------鐗╂枡鏄庣粏
+//鎵撳紑鎶藉眽
+const openDrawer = async (type: number, scope: any = {}, entozhExcell?: any) => {
+	detailForm.value.PageNo = 1;
+	detailForm.value.PageSize = 10;
+	if (scope.asnNo) {
+		title.value = `${scope.asnNo}`;
+	}
+	drawerType.value = 'drawerAll';
+	drawerVisible.value = true;
+	//褰撳墠鍏ュ簱鍗曞彿id
+	detailForm.value.asnId = scope.id;
+	//鍏ュ簱鍗�
+	purchaseNo.value = scope.purchaseNo;
+	detailForm2.value.asnId = scope.id;
+	//鑾峰彇鐗╂枡鍒楄〃
+	if (detailForm2.value.asnId == '') {
+		drawerList2.value = [];
+		detailCount2.value = 0;
+		return;
+	}
+	// 鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	getDetail();
+
+	getEnumPoDetailStatusData_Index.value =
+		(await getAPI(SysEnumApi).apiSysEnumEnumDataListGet("OrderStatusEnum")).data.result ??
+		[];
+
+
+	// 鏍规嵁鐘舵�佽浆涓枃 淇濈暀3浣嶅皬鏁�
+	let scopetrans = JSON.parse(JSON.stringify(scope));
+	// scopetrans.totalquantity = Number(scopetrans.totalquantity).toFixed(3);
+	scopetrans.qcOrderStatus = getEnumDesc(scopetrans.qcOrderStatus, getEnumPoDetailStatusData_Index.value);
+	
+	nextTick(() => {
+		proxy.$refs['propDetailRef'].openADialog(scopetrans, entozhExcell);
+	});
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+	detailForm.value = {
+		materialCode: '',
+		asnId: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	deltailList.value = [];
+	detailCount.value = 0;
+	drawerList.value = [];
+	drawerList2.value = [];
+	detailCount2.value = 0;
+	drawerList2.value = [];
+};
+
+//鐗╂枡璇︽儏绫诲瀷
+interface DetailType {
+	id: number;
+	barCode: string;
+	wareMaterialCode: string;
+	name: string;
+	signStatus: string;
+	category: string;
+	materialTypeName: string;
+	specificationModel: string;
+	long: number;
+	width: number;
+	high: number;
+	weight: number;
+	unit: string;
+	createdTime: string;
+	purchaseNo: string;
+	quantity: number;
+	goodsquantity: number;
+	surplusquantity: number;
+	poLineNumber: string;
+}
+
+//鍏ュ簱鍗曡鎯呭垪琛�
+const deltailList = ref<DetailType[]>([]);
+//寮瑰嚭灞傛暟鎹�
+const drawerList = ref<DetailType[]>([]);
+
+//鍏ュ簱鍗曡鎯呭垪琛ㄦ暟鎹潯鏁�
+const detailCount = ref(0);
+
+//寮瑰嚭灞傛爣棰�
+let title = ref('');
+
+// ----------------鏂板銆佺紪杈�-------------------------------
+//绐楀彛绫诲瀷
+const dialogType = ref('add');
+
+const dialogVisible = ref(false);
+
+//娣诲姞缂栬緫琛ㄥ崟ref
+const dialogRef = ref();
+
+//娣诲姞/缂栬緫鍙傛暟
+let addForm = ref({
+	hasTMCode: false,
+	asnType: '',
+	dock: '',
+	projectNo: '',
+	OrderDetails: [] as any[],
+});
+
+// 鐗规畩瀛楃鐨勯獙璇�
+// 鍖呭惈鐗规畩瀛楃杩斿洖true锛屼笉鍖呭惈鐗规畩瀛楃杩斿洖false
+const checkEspcial = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[@$%*^:;锛氾紱~+=!锛�#^{}><.,锛屻�俔/g;
+		if (!reg.test(value.trim())) {
+			callback();
+		} else {
+			return callback(new Error('涓嶈兘瀛樺湪鐗规畩绗﹀彿'));
+		}
+	}
+};
+
+// 楠岃瘉瑙掕壊缂栧彿
+var validatorCode = (rule: any, value: any, callback: any) => {
+	if (!value) {
+		callback();
+	} else {
+		const reg = /[\u4E00-\u9FA5]/g;
+		if (!reg.test(value)) {
+			callback();
+		} else {
+			return callback(new Error('鍗曞彿涓嶈兘瀛樺湪姹夊瓧'));
+		}
+	}
+};
+
+//rules
+const formRules = {
+	// businessType: [{ required: true, message: '璇烽�夋嫨璁㈠崟绫诲瀷锛�', trigger: 'change' }],
+	orderTypeName: [{ required: true, message: '璇疯緭鍏ヨ鍗曠被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	businessType: [{ required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change' }],
+	businessTypeName: [{ required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒', trigger: 'blur' }],
+	orderSocure: [{ required: true, message: '璇疯緭鍏ュ崟鎹潵婧愶紒', trigger: 'blur' }],
+	poStatus: [{ required: true, message: '璇烽�夋嫨鍗曟嵁鐘舵�侊紒', trigger: 'change' }],
+	poStatusName: [{ required: true, message: '璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒', trigger: 'blur' }],
+	supplierCode: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�', trigger: 'blur' }],
+	supplierName: [{ required: true, message: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�', trigger: 'blur' }],
+	factoryId: [{ required: true, message: '璇疯緭鍏ュ伐鍘侷D锛�', trigger: 'blur' }],
+	// purchaseNo: [
+	//   { required: true, message: "鍗曞彿涓嶈兘涓虹┖", trigger: "blur" },
+	//   { validator: validatorCode, trigger: "blur" },
+	//   { validator: checkEspcial, trigger: "blur" }
+	// ],
+};
+//鎵撳紑
+const openDialog = async (type: number, scope: any = {}) => {
+	detailForm2.value.PageSize = 100000;
+	addForm.value = { ...scope };
+
+	console.log(addForm.value);
+	detailForm2.value.qcOrderId = scope.id;
+
+	//------------------鑾峰彇鐗╂枡鍒楄〃鐗╂枡鏄庣粏
+	loading.value = true;
+	var res = await pageWmsQcDetails(Object.assign(detailForm2.value));
+	var listD = res.data.result?.items ?? [];
+	listD.forEach((item: any) => {
+		item.children = []
+	});
+	listD.forEach((item: any) => {
+		if (item.passQuantity > 0) {
+			//瀹炴 == 鍚堟牸鏁�
+			if (item.qcQuantity == item.passQuantity) {
+				item.children.push({
+					materialCode: item.materialCode,
+					materialName: item.materialName,
+					quantityKc: item.passQuantity,
+					snCode: item.snCode || item.id
+				})
+			} else {
+				//瀹炴 > 鍚堟牸鏁�
+				var qYes = Number(item.passQuantity).toFixed(3);
+				var qNo = Number(item.qcQuantity - item.passQuantity).toFixed(3);
+				item.children.push({
+					// ...item,
+					materialCode: item.materialCode,
+					materialName: item.materialName,
+					quantityKc: qYes,
+					snCode: item.snCode
+				})
+				item.children.push({
+					// ...item,
+					materialCode: item.materialCode,
+					materialName: item.materialName,
+					quantityKc: qNo,
+					snCode: item.snCode + "_1"
+				})
+			}
+		}
+		//涓嶅悎鏍�
+		if (item.passQuantity == 0) {
+			item.children.push({
+				materialCode: item.materialCode,
+				materialName: item.materialName,
+				quantityKc: item.qcQuantity,
+				snCode: item.snCode
+			})
+		}
+	});
+	warehousOrderDetails.value = listD;
+	loading.value = false;
+	if (warehousOrderDetails.value.length > 0 && warehousOrderDetails.value[0].poNo) {
+		isPoBox.value = 1;
+		isMaterialBox.value = 0;
+
+	} else {
+		isPoBox.value = 0;
+		isMaterialBox.value = 1;
+	}
+
+	//----------------鐗╂枡鏄庣粏
+	dialogVisible.value = true;
+	disabled_btn.value = false;
+	//娓呴櫎閫変腑椤�
+	// nextTick(() => {
+	// 	dialogRef.value.clearValidate();
+	// });
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+const setRowKey = (row: any) => {
+	return row.id + row.asnLineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+	addForm.value = {
+		hasTMCode: false,
+		asnType: '',
+		dock: '',
+		projectNo: '',
+		OrderDetails: [] as any[],
+	};
+	warehousOrderDetails.value = [];
+	checkedDetails.value = [];
+	deltailList.value = [];
+	detailCount.value = 0;
+	disabled_btn.value = false;
+	detailRef.value.clearSelection();
+};
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+	ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			let arr = [];
+			if (checkedDetails.value[0].diRelationID) {
+				checkedDetails.value.forEach((item) => {
+					console.log(item);
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.diRelationID == item.diRelationID);
+					if (index > -1) {
+						warehousOrderDetails.value.splice(index, 1);
+					}
+				});
+			} else {
+				checkedDetails.value.forEach((item) => {
+					let index = warehousOrderDetails.value.findIndex((detail) => detail.materialCode== item.materialCode && detail.asnLineNumber == item.asnLineNumber);
+					warehousOrderDetails.value.splice(index, 1);
+				});
+			}
+			arr = warehousOrderDetails.value;
+			warehousOrderDetails.value = [];
+			//bug 鐩稿悓鐗╂枡 涓嶅悓Bom
+			nextTick(() => {
+				warehousOrderDetails.value = arr;
+				checkedDetails.value = [];
+				detailRef.value.clearSelection();
+			});
+		})
+		.catch(() => ElMessage.info('宸插彇娑堝垹闄�'));
+};
+//缂栬緫銆佹坊鍔犳彁浜�
+const disabled_btn = ref(false);
+const confirm = async () => {
+	console.log('纭');
+	if(warehousOrderDetails.value.length <= 0){
+		ElMessage.warning('娌℃湁闇�瑕佸畬鎴愯川妫�鐨勭墿鏂欙紒');
+		return
+	}
+	addForm.value.OrderDetails = [];
+	warehousOrderDetails.value.forEach((item) => {
+		const obj = {
+			...item,
+			QCQuantity: item.quantity,
+			asnLineNumber: item.asnLineNumber,
+		};
+		addForm.value.OrderDetails.push(obj);
+	});
+	disabled_btn.value = true; 
+	let res = await confirmWmsQc(addForm.value);
+	if (res.data && res.data.code == 200) {
+		ElMessage.success('瀹屾垚璐ㄦ鎴愬姛');
+		dialogVisible.value = false;
+		emits('getTabelData');
+	} 
+	disabled_btn.value = false; 
+};
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+	poNo: '',
+	Code: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+	if (isPoBox.value == 1) {
+		if (materialForm.value.poNo) {
+			loading.value = true;
+			var res = await pageWmsOrderAsnDetails(Object.assign(materialForm.value));
+			materialList.value = res.data.result?.items ?? [];
+			materialTotal.value = res.data.result?.total;
+			loading.value = false;
+		}
+	}
+	if (isMaterialBox.value == 1) {
+		loading.value = true;
+		var res = await pageWmsMaterial(Object.assign(materialForm.value));
+		materialList.value = res.data.result?.items ?? [];
+		materialTotal.value = res.data.result?.total;
+		loading.value = false;
+	}
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+	materialForm.value = {
+		poNo: '',
+		Code: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+	checkedMaterial.value = val;
+};
+const isMaterialBox: any = ref(true);
+const isPoBox: any = ref(true);
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = (param?: any) => {
+	if (param && param == 'po') {
+		isPoBox.value = 1;
+		isMaterialBox.value = 0;
+	} else {
+		isPoBox.value = 0;
+		isMaterialBox.value = 1;
+	}
+	getMaterialList();
+	addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+	//鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+	if (warehousOrderDetails.value.length == 0) {
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			item.asnLineNumber = index + 1;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	} else {
+		for (let i = 0; i < checkedMaterial.value.length; i++) {
+			let idx = warehousOrderDetails.value.findIndex(
+				(item: { poLineNumber: any; code: any }) => item.code == checkedMaterial.value[i].materialCode && item.asnLineNumber == checkedMaterial.value[i].asnLineNumber
+			);
+			if (idx > -1) {
+				return ElMessage.warning(`鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}锛孉SN琛屽彿锛�${checkedMaterial.value[i].asnLineNumber || ''}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦);
+			}
+		}
+
+		// 鑷姩缁欒鍙峰鍊�
+		checkedMaterial.value.forEach((item, index) => {
+			item.unit = item.poUnit || item.unit;
+			if (!item.asnLineNumber) {
+				item.asnLineNumber = index + 1 + warehousOrderDetails.value.length;
+			}
+		});
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	}
+
+	addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+	materialForm.value = {
+		poNo: '',
+		Code: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	materialList.value = [];
+	checkedMaterial.value = [];
+	materialRef.value.clearSelection();
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+});
+
+//================
+const arrTdp = ref<any[]>([]);
+const queryParamsW = ref<any>({});
+const tableParamsW = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	custType: '渚涘簲鍟�',
+});
+
+//-----------------杩滅▼鎼滅储----------------
+const handleQueryTdp = async () => {
+	var res = await pageBaseCustomer(Object.assign(queryParamsW.value, tableParamsW.value));
+	arrTdp.value = res.data.result?.items ?? [];
+};
+const changeXmbh = async (query?: any) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: '渚涘簲鍟�',
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethod = async (query: string) => {
+		loading.value = true;
+		var res = await pageBaseCustomer({
+			page: 1,
+			pageSize: 200,
+			custCode: query,
+			custType: '渚涘簲鍟�',
+		});
+		loading.value = false;
+		arrTdp.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+const getChildList = (item?: any) => {
+	// console.log("4")
+}
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+	margin: 10px;
+}
+
+.msi-form {
+	margin-top: 10px;
+}
+
+.msi-form {
+	margin-bottom: 10px;
+}
+
+.slot_title {
+	display: flex;
+	align-items: center;
+
+	// margin-left: 20px;
+	.title_orderNo {
+		font-size: 18px;
+		color: #F18201;
+		font-weight: bold;
+		margin-right: 5px;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQc/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQc/index.vue
new file mode 100644
index 0000000..c1ac6cc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQc/index.vue
@@ -0,0 +1,372 @@
+锘�<template>
+  <div class="wmsQc-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="6" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="璐ㄦ鍗曞彿,渚涘簲鍟嗗悕绉�,渚涘簲鍟嗙紪鍙�,鍏宠仈鍗曞彿" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="璐ㄦ鍗曞彿">
+              <el-input v-model="queryParams.qcNo" clearable="" placeholder="璇疯緭鍏ヨ川妫�鍗曞彿" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="涓氬姟绫诲瀷">
+              <el-select clearable="" v-model="queryParams.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+                <el-option v-for="(item, index) in getBusinessTypeData_Index" :key="index" :value="item.businessTypeValue"
+                  :label="`[${item.businessTypeValue}] ${item.businessTypeName}`" />
+
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍗曟嵁鐘舵��">
+              <el-select clearable="" v-model="queryParams.qcOrderStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+                <el-option v-for="(item, index) in getEnumqcOrderStatusData_Index" :key="index" :value="item.value"
+                  :label="`${item.describe}`" />
+
+              </el-select>
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="渚涘簲鍟嗗悕绉�">
+              <el-input v-model="queryParams.supplierName" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" />
+
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="渚涘簲鍟嗙紪鍙�">
+              <el-input v-model="queryParams.supplierCode" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿" />
+
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="瀹㈡埛缂栧彿">
+              <el-input v-model="queryParams.custCode" clearable="" placeholder="璇疯緭鍏ュ鎴风紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="瀹㈡埛涓枃鍚嶇О">
+              <el-input v-model="queryParams.custChinaName" clearable="" placeholder="璇疯緭鍏ュ鎴蜂腑鏂囧悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="瀹㈡埛鑻辨枃鍚嶇О">
+              <el-input v-model="queryParams.custEnglishName" clearable="" placeholder="璇疯緭鍏ュ鎴疯嫳鏂囧悕绉�"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍏宠仈鍗曞彿">
+              <el-input v-model="queryParams.relationNo" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�" />
+
+            </el-form-item>
+          </el-col>
+
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="ERP鍑瘉">
+              <el-input v-model="queryParams.erpVoucher" clearable="" placeholder="ERP鍑瘉" />
+
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'wmsOrderQc:page'"> 鏌ヨ
+                </el-button>
+                <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI"
+                  style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI"
+                  style="margin-left:5px;"> 闅愯棌 </el-button>
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsQc" v-auth="'wmsQc:add'"> 鏂板 </el-button>  -->
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="showProp(1)" v-auth="'wmsOrderPurchase:add'"> 鏂板 </el-button>  -->
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Finished"
+                  @click="showPropZj(1, checkedDetails)" :disabled="checkedDetails.length != 1"
+                  v-auth="'wmsOrderPurchase:add'"> 瀹屾垚璐ㄦ </el-button>
+
+                <!-- 
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Refresh" 
+                v-auth="'wmsOrderPurchase:add'"> ERP鑾峰彇 </el-button> -->
+
+              </el-button-group>
+            </el-form-item>
+
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table :data="tableData" style="width: 100%" v-loading="loading" tooltip-effect="light" row-key="id"
+        @sort-change="sortChange" ref="tableRef" :summary-method="getExportTitle" show-summary
+        @selection-change="detailsCheckChange" border="">
+        <el-table-column fixed="left" align="center" width="60" type="selection" />
+        <el-table-column fixed="left" type="index" label="搴忓彿" width="55" align="center" />
+        <!-- <el-table-column prop="qcNo" label="璐ㄦ鍗曞彿"  show-overflow-tooltip="" /> -->
+        <el-table-column fixed="left" label="璐ㄦ鍗曞彿" prop="qcNo" width="160" align="left" show-overflow-tooltip>
+          <template #default="scope">
+            <span class="under_line" @click="openDrawer(1, scope.row)">
+              {{ scope.row.qcNo }}
+            </span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="businessType" min-width="90px" label="涓氬姟绫诲瀷" show-overflow-tooltip="">
+          <template #default="scope">
+          {{ scope.row.businessTypeName }}
+            <!-- <el-tag></el-tag> -->
+          </template>
+        </el-table-column>
+        <el-table-column prop="qcOrderStatus" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.qcOrderStatus, getEnumqcOrderStatusData_Index))">{{
+              getEnumDesc(scope.row.qcOrderStatus, getEnumqcOrderStatusData_Index) }}</el-tag>
+          </template>
+        </el-table-column>
+
+        <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�" show-overflow-tooltip="" min-width="110px"/>
+        <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�" show-overflow-tooltip="" />
+        <!-- <el-table-column prop="custCode" label="瀹㈡埛缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="custChinaName" label="瀹㈡埛涓枃鍚嶇О"  min-width="90px"  show-overflow-tooltip="" />
+        <el-table-column prop="custEnglishName" label="瀹㈡埛鑻辨枃鍚嶇О"   min-width="90px" show-overflow-tooltip="" /> -->
+        <el-table-column prop="relationNo" label="鍏宠仈鍗曞彿" show-overflow-tooltip="" min-width="150px"/>
+        <!-- <el-table-column prop="relationOrderType" label="鍏宠仈鍗曟嵁绫诲瀷" min-width="90px" show-overflow-tooltip="" /> -->
+		<el-table-column prop="relationOrderType" label="鍏宠仈鍗曟嵁绫诲瀷" show-overflow-tooltip="" min-width="90px">
+		  <template #default="scope">
+        {{ getEnumDesc(scope.row.relationOrderType, getEnumrelationOrderType_Index) }}
+		    <!-- <el-tag :type="getTypeStatus(1, getEnumDesc(scope.row.relationOrderType, getEnumrelationOrderType_Index))">{{
+		      getEnumDesc(scope.row.relationOrderType, getEnumrelationOrderType_Index) }}</el-tag> -->
+		  </template>
+		</el-table-column>
+        <!-- <el-table-column prop="relationOrderTypeName" label="鍏宠仈鍗曟嵁绫诲瀷鍚嶇О"  show-overflow-tooltip="" /> -->
+        <!-- <el-table-column prop="factoryName" label="宸ュ巶鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="factoryCode" label="宸ュ巶缂栧彿"  show-overflow-tooltip="" /> -->
+        <!-- <el-table-column prop="remarks" label="澶囨敞" show-overflow-tooltip="" />
+        <el-table-column prop="erpVoucher" label="ERP鍑瘉" show-overflow-tooltip="" /> -->
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"
+          show-overflow-tooltip="" />
+        <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"
+          show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="110" align="center" fixed="right" show-overflow-tooltip=""
+          v-if="auth('wmsOrderQc:update') || auth('wmsOrderQc:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Finished" size="small" text="" type="primary" @click="showProp(scope.row)"
+              v-auth="'wmsOrderQc:delete'" :disabled="scope.row.qcOrderStatus != 0"> 璐ㄦ </el-button>
+            <!-- <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsQc(scope.row)"
+              v-auth="'wmsOrderQc:delete'" :disabled="scope.row.qcOrderStatus != 0"> 鍒犻櫎 </el-button> -->
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination v-model:currentPage="tableParams.page" v-model:page-size="tableParams.pageSize"
+        :total="tableParams.total" :page-sizes="[10, 20, 50, 100, 200, 500]" small="" background=""
+        @size-change="handleSizeChange" @current-change="handleCurrentChange"
+        layout="total, sizes, prev, pager, next, jumper" />
+      <printDialog ref="printDialogRef" :title="printWmsQcTitle" @reloadTable="handleQuery" />
+      <editDialog ref="editDialogRef" :title="editWmsQcTitle" @reloadTable="handleQuery" />
+    </el-card>
+
+    <!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 -->
+    <open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQuery"></open-allprop>
+
+
+    <!--瀹屾垚璐ㄦ -->
+    <wczj-open-allprop titleAuthor="1" hexiao="0" ref="WczjpropALlProp" @getTabelData="handleQuery"></wczj-open-allprop>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsQc">
+import { getCurrentInstance, nextTick, onMounted, ref } from "vue";
+import { ElMessageBox, ElMessage } from "element-plus";
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+
+
+import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+import editDialog from '/@/views/main/WmsQC/wmsOrderQc/component/editDialog.vue'
+import { pageWmsQc, deleteWmsQc } from '/@/api/main/WmsQC/wmsOrderQc';
+import { handleSlectDataWmsBusinessType } from "/@/utils/selectData";
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+
+import OpenAllprop from "./component/openAllpropQc.vue";
+import WczjOpenAllprop from "./component/openAllpropWczj.vue";
+import {
+  getTypeStatus
+} from "/@/utils/formate";
+import { ExcellTableDataExport } from "/@/hooks/exportTableDataExcell";
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+
+const moveType = "80";//绉诲姩绫诲瀷 璐ㄦ
+// ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
+const jsonExcellTableExport = {
+  titleName: "", //瀵煎嚭琛ㄦ牸鍚嶇О
+  interfaceListName: '',//瀵煎嚭鎺ュ彛鍚嶇О
+}
+const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport)
+// --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬-----------------
+// ---------------鏂板-----------------------
+const showProp = (item?: any) => {
+  if (item == 1) {
+    proxy.$refs['propALlProp'].openDialog(1);
+  } else {
+    proxy.$refs['propALlProp'].openDialog(2, item);
+  }
+}
+// ---------------璇︽儏-----------------------
+const openDrawer = (type: number, item?: any) => {
+  proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell);
+}
+// ---------------end璇︽儏-----------------------
+// 瀹屾垚璐ㄦ
+const showPropZj = (type: number, item?: any) => {
+  // if(item[0].qcOrderStatus==2||item[0].qcOrderStatus==3 ||item[0].qcOrderStatus==4){
+  // 	  ElMessage.warning(`鍗曟嵁鐘舵�佷笉鍏佽鎿嶄綔锛乣);
+  //     return;
+  // }
+  proxy.$refs['WczjpropALlProp'].openDialog(type, item[0]);
+}
+
+const getBusinessTypeData_Index = ref<any>([]);//涓氬姟绫诲瀷 create by liuwq
+// const getEnumBusinessTypeData_Index = ref<any>([]); //update by liuwq
+const getEnumqcOrderStatusData_Index = ref<any>([]);
+const getEnumrelationOrderType_Index =  ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const showAdvanceQueryUI = ref(false);
+const printDialogRef = ref();
+const editDialogRef = ref();
+const loading = ref(false);
+const tableData = ref<any>([]);
+const queryParams = ref<any>({});
+const tableParams = ref({
+  page: 1,
+  pageSize: 10,
+  total: 0,
+});
+
+const printWmsQcTitle = ref("");
+const editWmsQcTitle = ref("");
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUI = () => {
+  showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+}
+
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+  loading.value = true;
+  var res = await pageWmsQc(Object.assign(queryParams.value, tableParams.value));
+  tableData.value = res.data.result?.items ?? [];
+  tableParams.value.total = res.data.result?.total;
+  loading.value = false;
+
+  getEnumqcOrderStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+  getEnumrelationOrderType_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+};
+
+// 鍒楁帓搴�
+const sortChange = async (column: any) => {
+  queryParams.value.field = column.prop;
+  queryParams.value.order = column.order;
+  await handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddWmsQc = () => {
+  editWmsQcTitle.value = '娣诲姞璐ㄦ鍗�';
+  editDialogRef.value.openDialog({});
+};
+
+// 鎵撳紑鎵撳嵃椤甸潰
+const openPrintWmsQc = async (row: any) => {
+  printWmsQcTitle.value = '鎵撳嵃璐ㄦ鍗�';
+}
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditWmsQc = (row: any) => {
+  editWmsQcTitle.value = '缂栬緫璐ㄦ鍗�';
+  editDialogRef.value.openDialog(row);
+};
+
+// 鍒犻櫎
+const delWmsQc = (row: any) => {
+  ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(async () => {
+       var  ret =  await deleteWmsQc(row);
+       if(ret.data.type=="success"){
+        handleQuery();
+        ElMessage.success("鍒犻櫎鎴愬姛");
+       }
+    })
+    .catch(() => { });
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+  tableParams.value.pageSize = val;
+  handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+  tableParams.value.page = val;
+  handleQuery();
+};
+
+handleQuery();
+
+
+// 鏍规嵁businessTypeValue鑾峰彇businessTypeName
+const getBusinessTypeByValue = (key: any, itemLst: any) => {
+
+  return itemLst.find((x: any) => x.businessTypeValue == key)?.businessTypeName;
+};
+
+
+
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+  checkedDetails.value = val;
+};
+
+onMounted(async () => {
+  nextTick(async () => {
+    getBusinessTypeData_Index.value = await handleSlectDataWmsBusinessType(moveType); //涓嬫媺璇诲彇涓氬姟绫诲瀷鎺ュ彛
+  });
+});
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+  width: 100%;
+}
+
+.under_line {
+  color: #F18201;
+  text-decoration: underline;
+  cursor: pointer;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQcDetails/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQcDetails/component/editDialog.vue
new file mode 100644
index 0000000..48ab2a0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQcDetails/component/editDialog.vue
@@ -0,0 +1,337 @@
+锘�<template>
+	<div class="wmsQcDetails-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璐ㄦ鍗旾D" prop="qCOrderId">
+							<el-input v-model="ruleForm.qCOrderId" placeholder="璇疯緭鍏ヨ川妫�鍗旾D" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷" prop="businessType">
+							<el-select clearable v-model="ruleForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumBusinessTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷鍚嶇О" prop="businessTypeName">
+							<el-input v-model="ruleForm.businessTypeName" placeholder="璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鐘舵��" prop="qCOrderStatus">
+							<el-select clearable v-model="ruleForm.qCOrderStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+								<el-option v-for="(item,index) in  getEnumQCOrderStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁鐘舵�佸悕绉�" prop="qCOrderStatusName">
+							<el-input v-model="ruleForm.qCOrderStatusName" placeholder="璇疯緭鍏ュ崟鎹姸鎬佸悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹炴鏁伴噺" prop="qCQuantity">
+							<el-input v-model="ruleForm.qCQuantity" placeholder="璇疯緭鍏ュ疄妫�鏁伴噺" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璐ㄦ鐘舵��" prop="qCStatus">
+							<el-select clearable v-model="ruleForm.qCStatus" placeholder="璇烽�夋嫨璐ㄦ鐘舵��">
+								<el-option v-for="(item,index) in  getEnumQCStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璐ㄦ鐘舵�佸悕绉�" prop="qCStatusName">
+							<el-input v-model="ruleForm.qCStatusName" placeholder="璇疯緭鍏ヨ川妫�鐘舵�佸悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍚堟牸鏁伴噺" prop="passQuantity">
+							<el-input v-model="ruleForm.passQuantity" placeholder="璇疯緭鍏ュ悎鏍兼暟閲�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓嶅悎鏍兼暟閲�" prop="rejectQuantity">
+							<el-input v-model="ruleForm.rejectQuantity" placeholder="璇疯緭鍏ヤ笉鍚堟牸鏁伴噺" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曚綅" prop="unit">
+							<el-input v-model="ruleForm.unit" placeholder="璇疯緭鍏ュ崟浣�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName">
+							<el-input v-model="ruleForm.supplierName" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗙紪鍙�" prop="supplierCode">
+							<el-input v-model="ruleForm.supplierCode" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹㈡埛缂栧彿" prop="custCode">
+							<el-input v-model="ruleForm.custCode" placeholder="璇疯緭鍏ュ鎴风紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹㈡埛涓枃鍚嶇О" prop="custChinaName">
+							<el-input v-model="ruleForm.custChinaName" placeholder="璇疯緭鍏ュ鎴蜂腑鏂囧悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹㈡埛鑻辨枃鍚嶇О" prop="custEnglishName">
+							<el-input v-model="ruleForm.custEnglishName" placeholder="璇疯緭鍏ュ鎴疯嫳鏂囧悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曞彿" prop="relationNo">
+							<el-input v-model="ruleForm.relationNo" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曟嵁绫诲瀷" prop="relationOrderType">
+							<el-input-number v-model="ruleForm.relationOrderType" placeholder="璇疯緭鍏ュ叧鑱斿崟鎹被鍨�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曟嵁绫诲瀷鍚嶇О" prop="relationOrderTypeName">
+							<el-input v-model="ruleForm.relationOrderTypeName" placeholder="璇疯緭鍏ュ叧鑱斿崟鎹被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸ュ巶ID" prop="factoryId">
+							<el-input v-model="ruleForm.factoryId" placeholder="璇疯緭鍏ュ伐鍘侷D" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸ュ巶鍚嶇О" prop="factoryName">
+							<el-input v-model="ruleForm.factoryName" placeholder="璇疯緭鍏ュ伐鍘傚悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸ュ巶缂栧彿" prop="factoryCode">
+							<el-input v-model="ruleForm.factoryCode" placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="澶囨敞" prop="remarks">
+							<el-input v-model="ruleForm.remarks" placeholder="璇疯緭鍏ュ娉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="宸叉敹鏁伴噺" prop="goodsQuantity">
+							<el-input v-model="ruleForm.goodsQuantity" placeholder="璇疯緭鍏ュ凡鏀舵暟閲�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsQcDetails, updateWmsQcDetails, detailWmsQcDetails } from "/@/api/main/WmsQC/wmsOrderQcDetails";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+import { listWmsBusinessType } from "/@/api/main/WmsBase/wmsBusinessType";
+
+	const getEnumBusinessTypeData = ref<any>([]);
+	const getEnumQCOrderStatusData = ref<any>([]);
+	const getEnumQCStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		qCOrderId: [{required: true, message: '璇疯緭鍏ヨ川妫�鍗旾D锛�', trigger: 'blur',},],
+		businessType: [{required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change',},],
+		businessTypeName: [{required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉帮紒', trigger: 'blur',},],
+		qCOrderStatusName: [{required: true, message: '璇疯緭鍏ュ崟鎹姸鎬佸悕绉帮紒', trigger: 'blur',},],
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		qCQuantity: [{required: true, message: '璇疯緭鍏ュ疄妫�鏁伴噺锛�', trigger: 'blur',},],
+		qCStatusName: [{required: true, message: '璇疯緭鍏ヨ川妫�鐘舵�佸悕绉帮紒', trigger: 'blur',},],
+		passQuantity: [{required: true, message: '璇疯緭鍏ュ悎鏍兼暟閲忥紒', trigger: 'blur',},],
+		rejectQuantity: [{required: true, message: '璇疯緭鍏ヤ笉鍚堟牸鏁伴噺锛�', trigger: 'blur',},],
+		unit: [{required: true, message: '璇疯緭鍏ュ崟浣嶏紒', trigger: 'blur',},],
+		supplierName: [{required: true, message: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О锛�', trigger: 'blur',},],
+		supplierCode: [{required: true, message: '璇疯緭鍏ヤ緵搴斿晢缂栧彿锛�', trigger: 'blur',},],
+		factoryId: [{required: true, message: '璇疯緭鍏ュ伐鍘侷D锛�', trigger: 'blur',},],
+		goodsQuantity: [{required: true, message: '璇疯緭鍏ュ凡鏀舵暟閲忥紒', trigger: 'blur',},],
+	});
+
+	// 鎵撳紑寮圭獥
+	const openDialog = async (row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsQcDetails(rowData.id)).data.result;
+		else
+			ruleForm.value = rowData;
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+				let values = ruleForm.value;
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					await addWmsQcDetails(values);
+				} else {
+					await updateWmsQcDetails(values);
+				}
+				closeDialog();
+			} else {
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+		
+			getEnumQCOrderStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+			getEnumQCStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('QcStatusEnum')).data.result ?? [];
+
+			 //涓氬姟绫诲瀷
+			 var res = await listWmsBusinessType();
+			 res = res.data;
+    if(res && res.code == 200){
+		getEnumBusinessTypeData.value  = res?.result ?? [];
+    }
+
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQcDetails/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQcDetails/index.vue
new file mode 100644
index 0000000..7a90fde
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsQC/wmsOrderQcDetails/index.vue
@@ -0,0 +1,402 @@
+锘�<template>
+  <div class="wmsQcDetails-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="涓氬姟绫诲瀷鍚嶇О,鍗曟嵁鐘舵�佸悕绉�,鐗╂枡缂栧彿,鐗╂枡鍚嶇О,璐ㄦ鐘舵�佸悕绉�,鍗曚綅,渚涘簲鍟嗗悕绉�,渚涘簲鍟嗙紪鍙�,瀹㈡埛缂栧彿,瀹㈡埛涓枃鍚嶇О,瀹㈡埛鑻辨枃鍚嶇О,鍏宠仈鍗曞彿,鍏宠仈鍗曟嵁绫诲瀷鍚嶇О,澶囨敞,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="璐ㄦ鍗旾D">
+              <el-input v-model="queryParams.qCOrderId" clearable="" placeholder="璇疯緭鍏ヨ川妫�鍗旾D"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="涓氬姟绫诲瀷">
+              <el-select clearable="" v-model="queryParams.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+                <el-option v-for="(item,index) in getEnumBusinessTypeData_Index" :key="index" :value="item.businessTypeValue" :label="`${item.businessTypeName}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="涓氬姟绫诲瀷鍚嶇О">
+              <el-input v-model="queryParams.businessTypeName" clearable="" placeholder="璇疯緭鍏ヤ笟鍔$被鍨嬪悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍗曟嵁鐘舵��">
+              <el-select clearable="" v-model="queryParams.qCOrderStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+                <el-option v-for="(item,index) in getEnumQCOrderStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍗曟嵁鐘舵�佸悕绉�">
+              <el-input v-model="queryParams.qcOrderStatusName" clearable="" placeholder="璇疯緭鍏ュ崟鎹姸鎬佸悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParams.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="瀹炴鏁伴噺">
+              <el-input v-model="queryParams.qcQuantity" clearable="" placeholder="璇疯緭鍏ュ疄妫�鏁伴噺"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="璐ㄦ鐘舵��">
+              <el-select clearable="" v-model="queryParams.qCStatus" placeholder="璇烽�夋嫨璐ㄦ鐘舵��">
+                <el-option v-for="(item,index) in getEnumQCStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="璐ㄦ鐘舵�佸悕绉�">
+              <el-input v-model="queryParams.qCStatusName" clearable="" placeholder="璇疯緭鍏ヨ川妫�鐘舵�佸悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍚堟牸鏁伴噺">
+              <el-input v-model="queryParams.passQuantity" clearable="" placeholder="璇疯緭鍏ュ悎鏍兼暟閲�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="涓嶅悎鏍兼暟閲�">
+              <el-input v-model="queryParams.rejectQuantity" clearable="" placeholder="璇疯緭鍏ヤ笉鍚堟牸鏁伴噺"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍗曚綅">
+              <el-input v-model="queryParams.unit" clearable="" placeholder="璇疯緭鍏ュ崟浣�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="渚涘簲鍟嗗悕绉�">
+              <el-input v-model="queryParams.supplierName" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="渚涘簲鍟嗙紪鍙�">
+              <el-input v-model="queryParams.supplierCode" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="瀹㈡埛缂栧彿">
+              <el-input v-model="queryParams.custCode" clearable="" placeholder="璇疯緭鍏ュ鎴风紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="瀹㈡埛涓枃鍚嶇О">
+              <el-input v-model="queryParams.custChinaName" clearable="" placeholder="璇疯緭鍏ュ鎴蜂腑鏂囧悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="瀹㈡埛鑻辨枃鍚嶇О">
+              <el-input v-model="queryParams.custEnglishName" clearable="" placeholder="璇疯緭鍏ュ鎴疯嫳鏂囧悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍏宠仈鍗曞彿">
+              <el-input v-model="queryParams.relationNo" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍏宠仈鍗曟嵁绫诲瀷">
+              <el-input-number v-model="queryParams.relationOrderType"  clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鎹被鍨�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="鍏宠仈鍗曟嵁绫诲瀷鍚嶇О">
+              <el-input v-model="queryParams.relationOrderTypeName" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鎹被鍨嬪悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="宸ュ巶ID">
+              <el-input v-model="queryParams.factoryId" clearable="" placeholder="璇疯緭鍏ュ伐鍘侷D"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="宸ュ巶鍚嶇О">
+              <el-input v-model="queryParams.factoryName" clearable="" placeholder="璇疯緭鍏ュ伐鍘傚悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="宸ュ巶缂栧彿">
+              <el-input v-model="queryParams.factoryCode" clearable="" placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="澶囨敞">
+              <el-input v-model="queryParams.remarks" clearable="" placeholder="璇疯緭鍏ュ娉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+            <el-form-item label="宸叉敹鏁伴噺">
+              <el-input v-model="queryParams.goodsQuantity" clearable="" placeholder="璇疯緭鍏ュ凡鏀舵暟閲�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" v-auth="'wmsQcDetails:page'"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="() => queryParams = {}"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsQcDetails" v-auth="'wmsQcDetails:add'"> 鏂板 </el-button>
+                
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+				:data="tableData"
+				style="width: 100%"
+				v-loading="loading"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChange"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+    
+        <el-table-column prop="materialCode" min-width="130px" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" min-width="110px" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="qcQuantity" label="瀹炴鏁伴噺"  show-overflow-tooltip="" />
+          <!-- <el-table-column prop="qCStatus" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.qCStatus, getEnumQCStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+        <el-table-column prop="qCStatusName" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" />
+        <el-table-column prop="passQuantity" label="鍚堟牸鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="rejectQuantity" label="涓嶅悎鏍兼暟閲�"  show-overflow-tooltip="" />
+        <el-table-column prop="goodsQuantity" label="宸叉敹鏁伴噺"  show-overflow-tooltip="" />
+
+        <el-table-column prop="businessTypeName" label="涓氬姟绫诲瀷"  show-overflow-tooltip="" />
+          <!-- <el-table-column prop="qCOrderStatus" label="鍗曟嵁鐘舵��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.qcOrderStatus, getEnumQCOrderStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column> -->
+        <el-table-column prop="qcOrderStatusName" label="鍗曟嵁鐘舵��"  show-overflow-tooltip="" />
+        
+        <el-table-column prop="unit" label="鍗曚綅"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="custCode" label="瀹㈡埛缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="custChinaName" min-width="110px" label="瀹㈡埛涓枃鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="custEnglishName" min-width="110px" label="瀹㈡埛鑻辨枃鍚嶇О"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="relationNo" label="鍏宠仈鍗曞彿"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="relationOrderType" label="鍏宠仈鍗曟嵁绫诲瀷"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="relationOrderTypeName" min-width="110px" label="鍏宠仈鍗曟嵁绫诲瀷"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="factoryId" label="宸ュ巶ID"  show-overflow-tooltip="" /> -->
+        <!-- <el-table-column prop="factoryName" label="宸ュ巶鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="factoryCode" label="宸ュ巶缂栧彿"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="remarks" label="澶囨敞"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+  
+
+
+
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsQcDetails:update') || auth('wmsQcDetails:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsQcDetails(scope.row)" v-auth="'wmsQcDetails:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsQcDetails(scope.row)" v-auth="'wmsQcDetails:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams.page"
+				v-model:page-size="tableParams.pageSize"
+				:total="tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialog
+        ref="printDialogRef"
+        :title="printWmsQcDetailsTitle"
+        @reloadTable="handleQuery" />
+      <editDialog
+        ref="editDialogRef"
+        :title="editWmsQcDetailsTitle"
+        @reloadTable="handleQuery"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsQcDetails">
+  import { ref } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+
+
+  import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialog from '/@/views/main/WmsQC/wmsOrderQcDetails/component/editDialog.vue'
+  import { pageWmsQcDetails, deleteWmsQcDetails } from '/@/api/main/WmsQC/wmsOrderQcDetails';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+import { listWmsBusinessType } from "/@/api/main/WmsBase/wmsBusinessType";
+
+  const getEnumBusinessTypeData_Index = ref<any>([]);
+  const getEnumQCOrderStatusData_Index = ref<any>([]);
+  const getEnumQCStatusData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  const showAdvanceQueryUI = ref(false);
+  const printDialogRef = ref();
+  const editDialogRef = ref();
+  const loading = ref(false);
+  const tableData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParams = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsQcDetailsTitle = ref("");
+  const editWmsQcDetailsTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI = () => {
+    showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+  }
+  
+
+  // 鏌ヨ鎿嶄綔
+  const handleQuery = async () => {
+    loading.value = true;
+    var res = await pageWmsQcDetails(Object.assign(queryParams.value, tableParams.value));
+    tableData.value = res.data.result?.items ?? [];
+    tableParams.value.total = res.data.result?.total;
+    loading.value = false;
+    
+    getEnumQCOrderStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+    getEnumQCStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('QcStatusEnum')).data.result ?? [];
+
+
+     //涓氬姟绫诲瀷
+     var res = await listWmsBusinessType();
+     res = res.data;
+    if(res && res.code == 200){
+      getEnumBusinessTypeData_Index.value  = res?.result ?? [];
+    }
+
+  };
+
+  // 鍒楁帓搴�
+  const sortChange = async (column: any) => {
+	queryParams.value.field = column.prop;
+	queryParams.value.order = column.order;
+	await handleQuery();
+  };
+
+  // 鎵撳紑鏂板椤甸潰
+  const openAddWmsQcDetails = () => {
+    editWmsQcDetailsTitle.value = '娣诲姞璐ㄦ鍗曟槑缁�';
+    editDialogRef.value.openDialog({});
+  };
+
+  // 鎵撳紑鎵撳嵃椤甸潰
+  const openPrintWmsQcDetails = async (row: any) => {
+    printWmsQcDetailsTitle.value = '鎵撳嵃璐ㄦ鍗曟槑缁�';
+  }
+  
+  // 鎵撳紑缂栬緫椤甸潰
+  const openEditWmsQcDetails = (row: any) => {
+    editWmsQcDetailsTitle.value = '缂栬緫璐ㄦ鍗曟槑缁�';
+    editDialogRef.value.openDialog(row);
+  };
+
+  // 鍒犻櫎
+  const delWmsQcDetails = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    var  ret = await deleteWmsQcDetails(row);
+    if(ret.data.type=="success"){
+      handleQuery();
+      ElMessage.success("鍒犻櫎鎴愬姛");
+    }
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉椤甸潰瀹归噺
+  const handleSizeChange = (val: number) => {
+    tableParams.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉椤电爜搴忓彿
+  const handleCurrentChange = (val: number) => {
+    tableParams.value.page = val;
+    handleQuery();
+  };
+
+  handleQuery();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsStockQuan/wmsContainerPlace/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsStockQuan/wmsContainerPlace/component/editDialog.vue
new file mode 100644
index 0000000..0233673
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsStockQuan/wmsContainerPlace/component/editDialog.vue
@@ -0,0 +1,165 @@
+锘�<template>
+	<div class="wmsContainerPlace-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅缂栧彿" prop="placeCode">
+							<el-input v-model="ruleForm.placeCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹瑰櫒缂栫爜" prop="containerCode">
+							<el-input v-model="ruleForm.containerCode" placeholder="璇疯緭鍏ュ鍣ㄧ紪鐮�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅鍚嶇О" prop="placeName">
+							<el-input v-model="ruleForm.placeName" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹瑰櫒鍚嶇О" prop="containerName">
+							<el-input v-model="ruleForm.containerName" placeholder="璇疯緭鍏ュ鍣ㄥ悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsContainerPlace, updateWmsContainerPlace, detailWmsContainerPlace } from "/@/api/main/WmsStockQuan/wmsContainerPlace";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		placeCode: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鐮侊紒', trigger: 'blur',},],
+		containerCode: [{required: true, message: '璇疯緭鍏ュ鍣ㄧ紪鐮侊紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+		placeName: [{required: true, message: '璇疯緭鍏ュ簱浣嶅悕绉帮紒', trigger: 'blur',},],
+		containerName: [{required: true, message: '璇疯緭鍏ュ鍣ㄥ悕绉帮紒', trigger: 'blur',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsContainerPlace(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsContainerPlace(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsContainerPlace(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsStockQuan/wmsContainerPlace/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsStockQuan/wmsContainerPlace/index.vue
new file mode 100644
index 0000000..9d76bb0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsStockQuan/wmsContainerPlace/index.vue
@@ -0,0 +1,232 @@
+锘�<template>
+  <div class="wmsContainerPlace-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsContainerPlace" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsContainerPlace.searchKey" clearable="" placeholder="搴撲綅缂栫爜,瀹瑰櫒缂栫爜,鍒涘缓浜�,淇敼浜�,搴撲綅鍚嶇О,瀹瑰櫒鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerPlace">
+            <el-form-item label="搴撲綅缂栧彿">
+              <el-input v-model="queryParamsWmsContainerPlace.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerPlace">
+            <el-form-item label="瀹瑰櫒缂栫爜">
+              <el-input v-model="queryParamsWmsContainerPlace.containerCode" clearable="" placeholder="璇疯緭鍏ュ鍣ㄧ紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerPlace">
+            <el-form-item label="搴撲綅鍚嶇О">
+              <el-input v-model="queryParamsWmsContainerPlace.placeName" clearable="" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerPlace">
+            <el-form-item label="瀹瑰櫒鍚嶇О">
+              <el-input v-model="queryParamsWmsContainerPlace.containerName" clearable="" placeholder="璇疯緭鍏ュ鍣ㄥ悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsContainerPlace">
+            <el-form-item label="鍒涘缓鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨鍒涘缓鏃堕棿" value-format="YYYY/MM/DD  HH:mm:ss" type="datetimerange" :default-time="defaultTimeRange" v-model="queryParamsWmsContainerPlace.createTimeRange" />
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsContainerPlace" v-auth="'wmsContainerPlace:page'" :disabled="disabled_btnWmsContainerPlace"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsContainerPlace"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsContainerPlace" v-if="!showAdvanceQueryUIWmsContainerPlace" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsContainerPlace" v-if="showAdvanceQueryUIWmsContainerPlace" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsContainerPlace" v-auth="'wmsContainerPlace:add'"> 鏂板 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsContainerPlace"
+				:data="tableDataWmsContainerPlace"
+				style="width: 100%"
+				v-loading="loadingWmsContainerPlace"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsContainerPlace"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="placeCode" label="搴撲綅缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="containerCode" label="瀹瑰櫒缂栫爜"  show-overflow-tooltip="" />
+
+        <el-table-column prop="placeName" label="搴撲綅鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="containerName" label="瀹瑰櫒鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsContainerPlace:update') || auth('wmsContainerPlace:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsContainerPlace(scope.row)" v-auth="'wmsContainerPlace:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsContainerPlace(scope.row)" v-auth="'wmsContainerPlace:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsContainerPlace.page"
+				v-model:page-size="tableParamsWmsContainerPlace.pageSize"
+				:total="tableParamsWmsContainerPlace.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsContainerPlace"
+				@current-change="handleCurrentChangeWmsContainerPlace"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsContainerPlace
+        ref="printDialogRefWmsContainerPlace"
+        :title="printWmsContainerPlaceTitle"
+        @reloadTable="handleQueryWmsContainerPlace" />
+      <editDialogWmsContainerPlace
+        ref="editDialogRefWmsContainerPlace"
+        :title="editWmsContainerPlaceTitle"
+        @reloadTable="handleQueryWmsContainerPlace"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsContainerPlace">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+
+
+  import printDialogWmsContainerPlace from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pageWmsContainerPlace, deleteWmsContainerPlace,importExcelWmsContainerPlace,downloadExcelTemplateWmsContainerPlace } from '/@/api/main/WmsStockQuan/wmsContainerPlace';
+
+
+  
+  /***************************************************[瀹瑰櫒搴撲綅鍏崇郴鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsContainerPlace = ref(false);
+  const tableRefWmsContainerPlace = ref(null);
+  const printDialogRefWmsContainerPlace = ref();
+  const editDialogRefWmsContainerPlace = ref();
+  const loadingWmsContainerPlace = ref(false);
+  const disabled_btnWmsContainerPlace = ref(false);
+  const tableDataWmsContainerPlace = ref<any>([]);
+  const queryParamsWmsContainerPlace = ref<any>({});
+  const tableParamsWmsContainerPlace = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsContainerPlaceTitle = ref("");
+  const editWmsContainerPlaceTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsContainerPlace = () => {
+    showAdvanceQueryUIWmsContainerPlace.value = !showAdvanceQueryUIWmsContainerPlace.value;
+  }
+
+  // 鏌ヨ瀹瑰櫒搴撲綅鍏崇郴
+  const handleQueryWmsContainerPlace = async () => {
+    loadingWmsContainerPlace.value = true;
+    disabled_btnWmsContainerPlace.value = true;
+    var res = await pageWmsContainerPlace(Object.assign(queryParamsWmsContainerPlace.value, tableParamsWmsContainerPlace.value));
+    if(res.data.type=="success"){
+      tableDataWmsContainerPlace.value = res.data.result?.items ?? [];
+      tableParamsWmsContainerPlace.value.total = res.data.result?.total;
+    }
+    loadingWmsContainerPlace.value = false;
+    disabled_btnWmsContainerPlace.value = false;
+  };
+
+  // 閲嶇疆瀹瑰櫒搴撲綅鍏崇郴鏌ヨ
+  const resetWmsContainerPlace = async () => {
+    queryParamsWmsContainerPlace.value = {}
+  };
+
+  // 瀹瑰櫒搴撲綅鍏崇郴鍒楁帓搴�
+  const sortChangeWmsContainerPlace = async (column: any) => {
+	queryParamsWmsContainerPlace.value.field = column.prop;
+	queryParamsWmsContainerPlace.value.order = column.order;
+	await handleQueryWmsContainerPlace();
+  };
+
+  // 鎵撳紑鏂板瀹瑰櫒搴撲綅鍏崇郴椤甸潰
+  const openAddWmsContainerPlace = () => {
+    editWmsContainerPlaceTitle.value = '娣诲姞瀹瑰櫒搴撲綅鍏崇郴';
+    editDialogRefWmsContainerPlace.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃瀹瑰櫒搴撲綅鍏崇郴椤甸潰
+  const openPrintWmsContainerPlace = async (row: any) => {
+    printWmsContainerPlaceTitle.value = '鎵撳嵃瀹瑰櫒搴撲綅鍏崇郴';
+  }
+  
+  // 鎵撳紑缂栬緫瀹瑰櫒搴撲綅鍏崇郴椤甸潰
+  const openEditWmsContainerPlace = (row: any) => {
+    editWmsContainerPlaceTitle.value = '缂栬緫瀹瑰櫒搴撲綅鍏崇郴';
+    editDialogRefWmsContainerPlace.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎瀹瑰櫒搴撲綅鍏崇郴
+  const delWmsContainerPlace = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsContainerPlace.value = true;
+    var ret = await deleteWmsContainerPlace(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsContainerPlace.value = false;
+    handleQueryWmsContainerPlace();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉瀹瑰櫒搴撲綅鍏崇郴椤甸潰瀹归噺
+  const handleSizeChangeWmsContainerPlace = (val: number) => {
+    tableParamsWmsContainerPlace.value.pageSize = val;
+    handleQueryWmsContainerPlace();
+  };
+
+  // 鏀瑰彉瀹瑰櫒搴撲綅鍏崇郴椤电爜搴忓彿
+  const handleCurrentChangeWmsContainerPlace = (val: number) => {
+    tableParamsWmsContainerPlace.value.page = val;
+    handleQueryWmsContainerPlace();
+  };
+
+/***************************************************[瀹瑰櫒搴撲綅鍏崇郴鎿嶄綔]缁撴潫***************************************************/
+  // 瀹瑰櫒搴撲綅鍏崇郴椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+  });
+
+  handleQueryWmsContainerPlace();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails/component/editDialog.vue
new file mode 100644
index 0000000..a64527a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails/component/editDialog.vue
@@ -0,0 +1,422 @@
+锘�<template>
+	<div class="wmsStockSnapshotDetails-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="蹇収ID" prop="snapshotId">
+							<el-input v-model="ruleForm.snapshotId" placeholder="璇疯緭鍏ュ揩鐓D" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹瑰櫒Id" prop="containerId">
+							<el-input v-model="ruleForm.containerId" placeholder="璇疯緭鍏ュ鍣↖d" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹瑰櫒缂栫爜" prop="containerCode">
+							<el-input v-model="ruleForm.containerCode" placeholder="璇疯緭鍏ュ鍣ㄧ紪鐮�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏宠仈鍗曞彿" prop="relationNo">
+							<el-input v-model="ruleForm.relationNo" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗙紪鍙�" prop="supplierCode">
+							<el-input v-model="ruleForm.supplierCode" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName">
+							<el-input v-model="ruleForm.supplierName" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏀惰揣鏃堕棿" prop="recordInsertTime">
+							<el-date-picker v-model="ruleForm.recordInsertTime" type="date" placeholder="鏀惰揣鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓婃灦鏃堕棿" prop="onShelvesTime">
+							<el-date-picker v-model="ruleForm.onShelvesTime" type="date" placeholder="涓婃灦鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓嬫灦鏃堕棿" prop="offShelvesTime">
+							<el-date-picker v-model="ruleForm.offShelvesTime" type="date" placeholder="涓嬫灦鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栫爜" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳瓨鍗曚綅" prop="materialUnit">
+							<el-input v-model="ruleForm.materialUnit" placeholder="璇疯緭鍏ュ簱瀛樺崟浣�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏁伴噺" prop="quantity">
+							<el-input v-model="ruleForm.quantity" placeholder="璇疯緭鍏ユ暟閲�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳瓨鐘舵��" prop="stockStatus">
+							<el-input-number v-model="ruleForm.stockStatus" placeholder="璇疯緭鍏ュ簱瀛樼姸鎬�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳瓨鐘舵�佸悕绉�" prop="stockStatusName">
+							<el-input v-model="ruleForm.stockStatusName" placeholder="璇疯緭鍏ュ簱瀛樼姸鎬佸悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍘嗗彶搴撳瓨鐘舵��" prop="oldStockStatus">
+							<el-input-number v-model="ruleForm.oldStockStatus" placeholder="璇疯緭鍏ュ巻鍙插簱瀛樼姸鎬�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍘嗗彶搴撳瓨鐘舵�佸悕绉�" prop="oldStockStatusName">
+							<el-input v-model="ruleForm.oldStockStatusName" placeholder="璇疯緭鍏ュ巻鍙插簱瀛樼姸鎬佸悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閿佸畾鐘舵��" prop="lockStatus">
+							<el-input-number v-model="ruleForm.lockStatus" placeholder="璇疯緭鍏ラ攣瀹氱姸鎬�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎿嶄綔鍘熷洜" prop="operReason">
+							<el-input v-model="ruleForm.operReason" placeholder="璇疯緭鍏ユ搷浣滃師鍥�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎿嶄綔浜�" prop="operUser">
+							<el-input v-model="ruleForm.operUser" placeholder="璇疯緭鍏ユ搷浣滀汉" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎿嶄綔鏃堕棿" prop="operTime">
+							<el-date-picker v-model="ruleForm.operTime" type="date" placeholder="鎿嶄綔鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓�缁存潯鐮�" prop="sN_1d">
+							<el-input v-model="ruleForm.sN_1d" placeholder="璇疯緭鍏ヤ竴缁存潯鐮�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="浜岀淮鏉$爜" prop="sN_2d">
+							<el-input v-model="ruleForm.sN_2d" placeholder="璇疯緭鍏ヤ簩缁存潯鐮�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璺熻釜鐮�" prop="sNCode">
+							<el-input v-model="ruleForm.sNCode" placeholder="璇疯緭鍏ヨ窡韪爜" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="婧愯窡韪爜" prop="sourceSNCode">
+							<el-input v-model="ruleForm.sourceSNCode" placeholder="璇疯緭鍏ユ簮璺熻釜鐮�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璺熻釜鐮佹渶澶х储寮�" prop="maxIndex">
+							<el-input-number v-model="ruleForm.maxIndex" placeholder="璇疯緭鍏ヨ窡韪爜鏈�澶х储寮�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP鍑瘉" prop="erpVoucher">
+							<el-input v-model="ruleForm.erpVoucher" placeholder="璇疯緭鍏RP鍑瘉" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
+							<el-input v-model="ruleForm.erpOrderNo" placeholder="璇疯緭鍏RP鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP搴撳瓨鍦�" prop="erpCode">
+							<el-input v-model="ruleForm.erpCode" placeholder="璇疯緭鍏RP搴撳瓨鍦�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗘壒娆�" prop="supplierBatch">
+							<el-input v-model="ruleForm.supplierBatch" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵规" prop="batch">
+							<el-input v-model="ruleForm.batch" placeholder="璇疯緭鍏ユ壒娆�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璐ㄦ鐘舵��" prop="qCStatus">
+							<el-input-number v-model="ruleForm.qCStatus" placeholder="璇疯緭鍏ヨ川妫�鐘舵��" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璐ㄦ鐘舵�佸悕绉�" prop="qCStatusName">
+							<el-input v-model="ruleForm.qCStatusName" placeholder="璇疯緭鍏ヨ川妫�鐘舵�佸悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="浠撳簱缂栧彿" prop="warehouseCode">
+							<el-input v-model="ruleForm.warehouseCode" placeholder="璇疯緭鍏ヤ粨搴撶紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="浠撳簱鍚嶇О" prop="warehouseName">
+							<el-input v-model="ruleForm.warehouseName" placeholder="璇疯緭鍏ヤ粨搴撳悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯缂栧彿" prop="areaCode">
+							<el-input v-model="ruleForm.areaCode" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯鍚嶇О" prop="areaName">
+							<el-input v-model="ruleForm.areaName" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅缂栧彿" prop="placeCode">
+							<el-input v-model="ruleForm.placeCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅鍚嶇О" prop="placeName">
+							<el-input v-model="ruleForm.placeName" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="澶囨敞" prop="remarks">
+							<el-input v-model="ruleForm.remarks" placeholder="璇疯緭鍏ュ娉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsStockSnapshotDetails, updateWmsStockSnapshotDetails, detailWmsStockSnapshotDetails } from "/@/api/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		snapshotId: [{required: true, message: '璇疯緭鍏ュ揩鐓D锛�', trigger: 'blur',},],
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鐮侊紒', trigger: 'blur',},],
+		quantity: [{required: true, message: '璇疯緭鍏ユ暟閲忥紒', trigger: 'blur',},],
+		stockStatus: [{required: true, message: '璇疯緭鍏ュ簱瀛樼姸鎬侊紒', trigger: 'blur',},],
+		stockStatusName: [{required: true, message: '璇疯緭鍏ュ簱瀛樼姸鎬佸悕绉帮紒', trigger: 'blur',},],
+		lockStatus: [{required: true, message: '璇疯緭鍏ラ攣瀹氱姸鎬侊紒', trigger: 'blur',},],
+		sNCode: [{required: true, message: '璇疯緭鍏ヨ窡韪爜锛�', trigger: 'blur',},],
+		sourceSNCode: [{required: true, message: '璇疯緭鍏ユ簮璺熻釜鐮侊紒', trigger: 'blur',},],
+		maxIndex: [{required: true, message: '璇疯緭鍏ヨ窡韪爜鏈�澶х储寮曪紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsStockSnapshotDetails(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsStockSnapshotDetails(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsStockSnapshotDetails(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails/index.vue
new file mode 100644
index 0000000..6e2f5ea
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails/index.vue
@@ -0,0 +1,475 @@
+锘�<template>
+  <div class="wmsStockSnapshotDetails-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsStockSnapshotDetails" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.searchKey" clearable="" placeholder="瀹瑰櫒缂栫爜,鍏宠仈鍗曞彿,渚涘簲鍟嗙紪鍙�,渚涘簲鍟嗗悕绉�,鐗╂枡缂栫爜,鐗╂枡鍚嶇О,搴撳瓨鍗曚綅,搴撳瓨鐘舵�佸悕绉�,鍘嗗彶搴撳瓨鐘舵�佸悕绉�,鎿嶄綔鍘熷洜,鎿嶄綔浜�,涓�缁存潯鐮�,浜岀淮鏉$爜,璺熻釜鐮�,婧愯窡韪爜,ERP鍑瘉,ERP鍗曞彿,ERP搴撳瓨鍦�,渚涘簲鍟嗘壒娆�,鎵规,璐ㄦ鐘舵�佸悕绉�,浠撳簱缂栧彿,浠撳簱鍚嶇О,搴撳尯缂栧彿,搴撳尯鍚嶇О,搴撲綅缂栧彿,搴撲綅鍚嶇О,澶囨敞,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="蹇収ID">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.snapshotId" clearable="" placeholder="璇疯緭鍏ュ揩鐓D"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="瀹瑰櫒Id">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.containerId" clearable="" placeholder="璇疯緭鍏ュ鍣↖d"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="瀹瑰櫒缂栫爜">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.containerCode" clearable="" placeholder="璇疯緭鍏ュ鍣ㄧ紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="鍏宠仈鍗曞彿">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.relationNo" clearable="" placeholder="璇疯緭鍏ュ叧鑱斿崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="渚涘簲鍟嗙紪鍙�">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.supplierCode" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢缂栧彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="渚涘簲鍟嗗悕绉�">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.supplierName" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="鏀惰揣鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨鏀惰揣鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsStockSnapshotDetails.recordInsertTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="涓婃灦鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨涓婃灦鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsStockSnapshotDetails.onShelvesTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="涓嬫灦鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨涓嬫灦鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsStockSnapshotDetails.offShelvesTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="鐗╂枡缂栫爜">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="鐗╂枡鍚嶇О">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="搴撳瓨鍗曚綅">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.materialUnit" clearable="" placeholder="璇疯緭鍏ュ簱瀛樺崟浣�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="鏁伴噺">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.quantity" clearable="" placeholder="璇疯緭鍏ユ暟閲�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="搴撳瓨鐘舵��">
+              <el-input-number v-model="queryParamsWmsStockSnapshotDetails.stockStatus"  clearable="" placeholder="璇疯緭鍏ュ簱瀛樼姸鎬�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="搴撳瓨鐘舵�佸悕绉�">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.stockStatusName" clearable="" placeholder="璇疯緭鍏ュ簱瀛樼姸鎬佸悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="鍘嗗彶搴撳瓨鐘舵��">
+              <el-input-number v-model="queryParamsWmsStockSnapshotDetails.oldStockStatus"  clearable="" placeholder="璇疯緭鍏ュ巻鍙插簱瀛樼姸鎬�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="鍘嗗彶搴撳瓨鐘舵�佸悕绉�">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.oldStockStatusName" clearable="" placeholder="璇疯緭鍏ュ巻鍙插簱瀛樼姸鎬佸悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="閿佸畾鐘舵��">
+              <el-input-number v-model="queryParamsWmsStockSnapshotDetails.lockStatus"  clearable="" placeholder="璇疯緭鍏ラ攣瀹氱姸鎬�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="鎿嶄綔鍘熷洜">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.operReason" clearable="" placeholder="璇疯緭鍏ユ搷浣滃師鍥�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="鎿嶄綔浜�">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.operUser" clearable="" placeholder="璇疯緭鍏ユ搷浣滀汉"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="鎿嶄綔鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨鎿嶄綔鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsStockSnapshotDetails.operTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="涓�缁存潯鐮�">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.sN_1d" clearable="" placeholder="璇疯緭鍏ヤ竴缁存潯鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="浜岀淮鏉$爜">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.sN_2d" clearable="" placeholder="璇疯緭鍏ヤ簩缁存潯鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="璺熻釜鐮�">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.sNCode" clearable="" placeholder="璇疯緭鍏ヨ窡韪爜"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="婧愯窡韪爜">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.sourceSNCode" clearable="" placeholder="璇疯緭鍏ユ簮璺熻釜鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="璺熻釜鐮佹渶澶х储寮�">
+              <el-input-number v-model="queryParamsWmsStockSnapshotDetails.maxIndex"  clearable="" placeholder="璇疯緭鍏ヨ窡韪爜鏈�澶х储寮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="ERP鍑瘉">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.erpVoucher" clearable="" placeholder="璇疯緭鍏RP鍑瘉"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="ERP鍗曞彿">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.erpOrderNo" clearable="" placeholder="璇疯緭鍏RP鍗曞彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="ERP搴撳瓨鍦�">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.erpCode" clearable="" placeholder="璇疯緭鍏RP搴撳瓨鍦�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="渚涘簲鍟嗘壒娆�">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.supplierBatch" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="鎵规">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.batch" clearable="" placeholder="璇疯緭鍏ユ壒娆�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="璐ㄦ鐘舵��">
+              <el-input-number v-model="queryParamsWmsStockSnapshotDetails.qCStatus"  clearable="" placeholder="璇疯緭鍏ヨ川妫�鐘舵��"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="璐ㄦ鐘舵�佸悕绉�">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.qCStatusName" clearable="" placeholder="璇疯緭鍏ヨ川妫�鐘舵�佸悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="浠撳簱缂栧彿">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.warehouseCode" clearable="" placeholder="璇疯緭鍏ヤ粨搴撶紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="浠撳簱鍚嶇О">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.warehouseName" clearable="" placeholder="璇疯緭鍏ヤ粨搴撳悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="搴撳尯鍚嶇О">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.areaName" clearable="" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="搴撲綅缂栧彿">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="搴撲綅鍚嶇О">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.placeName" clearable="" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsStockSnapshotDetails">
+            <el-form-item label="澶囨敞">
+              <el-input v-model="queryParamsWmsStockSnapshotDetails.remarks" clearable="" placeholder="璇疯緭鍏ュ娉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsStockSnapshotDetails" v-auth="'wmsStockSnapshotDetails:page'" :disabled="disabled_btnWmsStockSnapshotDetails"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsStockSnapshotDetails"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsStockSnapshotDetails" v-if="!showAdvanceQueryUIWmsStockSnapshotDetails" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsStockSnapshotDetails" v-if="showAdvanceQueryUIWmsStockSnapshotDetails" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsStockSnapshotDetails" v-auth="'wmsStockSnapshotDetails:add'"> 鏂板 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsStockSnapshotDetails"
+				:data="tableDataWmsStockSnapshotDetails"
+				style="width: 100%"
+				v-loading="loadingWmsStockSnapshotDetails"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsStockSnapshotDetails"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="snapshotId" label="蹇収ID" min-width="130px" show-overflow-tooltip="" />
+        <!-- <el-table-column prop="containerId" label="瀹瑰櫒Id"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="containerCode" label="瀹瑰櫒缂栫爜"  show-overflow-tooltip="" />
+        <el-table-column prop="relationNo" label="鍏宠仈鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierCode" label="渚涘簲鍟嗙紪鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�"  show-overflow-tooltip="" />
+         <el-table-column prop="recordInsertTime" label="鏀惰揣鏃堕棿" width="80" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+         <el-table-column prop="onShelvesTime" label="涓婃灦鏃堕棿" width="80" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+         <el-table-column prop="offShelvesTime" label="涓嬫灦鏃堕棿" width="80" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栫爜"  show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="materialUnit" label="搴撳瓨鍗曚綅"  show-overflow-tooltip="" />
+        <el-table-column prop="quantity" label="鏁伴噺"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="stockStatus" label="搴撳瓨鐘舵��" min-width="100px" show-overflow-tooltip="" /> -->
+        <el-table-column prop="stockStatusName" label="搴撳瓨鐘舵�佸悕绉�" min-width="100px" show-overflow-tooltip="" />
+        <!-- <el-table-column prop="oldStockStatus" label="鍘嗗彶搴撳瓨鐘舵��"  show-overflow-tooltip="" /> -->
+        <!-- <el-table-column prop="oldStockStatusName" label="鍘嗗彶搴撳瓨鐘舵�佸悕绉�"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="lockStatus" label="閿佸畾鐘舵��"  show-overflow-tooltip="" />
+        <el-table-column prop="operReason" label="鎿嶄綔鍘熷洜"  show-overflow-tooltip="" />
+        <el-table-column prop="operUser" label="鎿嶄綔浜�"  show-overflow-tooltip="" />
+         <el-table-column prop="operTime" label="鎿嶄綔鏃堕棿" width="80" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+        <el-table-column prop="sN_1d" label="涓�缁存潯鐮�"  show-overflow-tooltip="" />
+        <el-table-column prop="sN_2d" label="浜岀淮鏉$爜" min-width="120px" show-overflow-tooltip="" />
+        <el-table-column prop="sNCode" label="璺熻釜鐮�"  show-overflow-tooltip="" />
+        <el-table-column prop="sourceSNCode" label="婧愯窡韪爜"  show-overflow-tooltip="" />
+        <el-table-column prop="maxIndex" label="璺熻釜鐮佹渶澶х储寮�" min-width="120px" show-overflow-tooltip="" />
+        <el-table-column prop="erpVoucher" label="ERP鍑瘉"  show-overflow-tooltip="" />
+        <el-table-column prop="erpOrderNo" label="ERP鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="erpCode" label="ERP搴撳瓨鍦�"  show-overflow-tooltip="" />
+        <el-table-column prop="supplierBatch" label="渚涘簲鍟嗘壒娆�"  show-overflow-tooltip="" />
+        <el-table-column prop="batch" label="鎵规"  show-overflow-tooltip="" />
+        <el-table-column prop="qCStatusName" label="璐ㄦ鐘舵��"  show-overflow-tooltip="" />
+        <el-table-column prop="warehouseCode" label="浠撳簱缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="warehouseName" label="浠撳簱鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="areaCode" label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="areaName" label="搴撳尯鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="placeCode" label="搴撲綅缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="placeName" label="搴撲綅鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="remarks" label="澶囨敞"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsStockSnapshotDetails:update') || auth('wmsStockSnapshotDetails:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsStockSnapshotDetails(scope.row)" v-auth="'wmsStockSnapshotDetails:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsStockSnapshotDetails(scope.row)" v-auth="'wmsStockSnapshotDetails:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsStockSnapshotDetails.page"
+				v-model:page-size="tableParamsWmsStockSnapshotDetails.pageSize"
+				:total="tableParamsWmsStockSnapshotDetails.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsStockSnapshotDetails"
+				@current-change="handleCurrentChangeWmsStockSnapshotDetails"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsStockSnapshotDetails
+        ref="printDialogRefWmsStockSnapshotDetails"
+        :title="printWmsStockSnapshotDetailsTitle"
+        @reloadTable="handleQueryWmsStockSnapshotDetails" />
+      <editDialogWmsStockSnapshotDetails
+        ref="editDialogRefWmsStockSnapshotDetails"
+        :title="editWmsStockSnapshotDetailsTitle"
+        @reloadTable="handleQueryWmsStockSnapshotDetails"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsStockSnapshotDetails">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+
+
+  import printDialogWmsStockSnapshotDetails from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pageWmsStockSnapshotDetails, deleteWmsStockSnapshotDetails,importExcelWmsStockSnapshotDetails,downloadExcelTemplateWmsStockSnapshotDetails } from '/@/api/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails';
+
+
+  
+  /***************************************************[搴撳瓨蹇収鏄庣鐞嗘搷浣淽寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsStockSnapshotDetails = ref(false);
+  const tableRefWmsStockSnapshotDetails = ref(null);
+  const printDialogRefWmsStockSnapshotDetails = ref();
+  const editDialogRefWmsStockSnapshotDetails = ref();
+  const loadingWmsStockSnapshotDetails = ref(false);
+  const disabled_btnWmsStockSnapshotDetails = ref(false);
+  const tableDataWmsStockSnapshotDetails = ref<any>([]);
+  const queryParamsWmsStockSnapshotDetails = ref<any>({});
+  const tableParamsWmsStockSnapshotDetails = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsStockSnapshotDetailsTitle = ref("");
+  const editWmsStockSnapshotDetailsTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsStockSnapshotDetails = () => {
+    showAdvanceQueryUIWmsStockSnapshotDetails.value = !showAdvanceQueryUIWmsStockSnapshotDetails.value;
+  }
+
+  // 鏌ヨ搴撳瓨蹇収鏄庣鐞�
+  const handleQueryWmsStockSnapshotDetails = async () => {
+    loadingWmsStockSnapshotDetails.value = true;
+    disabled_btnWmsStockSnapshotDetails.value = true;
+    var res = await pageWmsStockSnapshotDetails(Object.assign(queryParamsWmsStockSnapshotDetails.value, tableParamsWmsStockSnapshotDetails.value));
+    if(res.data.type=="success"){
+      tableDataWmsStockSnapshotDetails.value = res.data.result?.items ?? [];
+      tableParamsWmsStockSnapshotDetails.value.total = res.data.result?.total;
+    }
+    loadingWmsStockSnapshotDetails.value = false;
+    disabled_btnWmsStockSnapshotDetails.value = false;
+  };
+
+  // 閲嶇疆搴撳瓨蹇収鏄庣鐞嗘煡璇�
+  const resetWmsStockSnapshotDetails = async () => {
+    queryParamsWmsStockSnapshotDetails.value = {}
+  };
+
+  // 搴撳瓨蹇収鏄庣鐞嗗垪鎺掑簭
+  const sortChangeWmsStockSnapshotDetails = async (column: any) => {
+	queryParamsWmsStockSnapshotDetails.value.field = column.prop;
+	queryParamsWmsStockSnapshotDetails.value.order = column.order;
+	await handleQueryWmsStockSnapshotDetails();
+  };
+
+  // 鎵撳紑鏂板搴撳瓨蹇収鏄庣鐞嗛〉闈�
+  const openAddWmsStockSnapshotDetails = () => {
+    editWmsStockSnapshotDetailsTitle.value = '娣诲姞搴撳瓨蹇収鏄庣鐞�';
+    editDialogRefWmsStockSnapshotDetails.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃搴撳瓨蹇収鏄庣鐞嗛〉闈�
+  const openPrintWmsStockSnapshotDetails = async (row: any) => {
+    printWmsStockSnapshotDetailsTitle.value = '鎵撳嵃搴撳瓨蹇収鏄庣鐞�';
+  }
+  
+  // 鎵撳紑缂栬緫搴撳瓨蹇収鏄庣鐞嗛〉闈�
+  const openEditWmsStockSnapshotDetails = (row: any) => {
+    editWmsStockSnapshotDetailsTitle.value = '缂栬緫搴撳瓨蹇収鏄庣鐞�';
+    editDialogRefWmsStockSnapshotDetails.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎搴撳瓨蹇収鏄庣鐞�
+  const delWmsStockSnapshotDetails = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsStockSnapshotDetails.value = true;
+    var ret = await deleteWmsStockSnapshotDetails(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsStockSnapshotDetails.value = false;
+    handleQueryWmsStockSnapshotDetails();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉搴撳瓨蹇収鏄庣鐞嗛〉闈㈠閲�
+  const handleSizeChangeWmsStockSnapshotDetails = (val: number) => {
+    tableParamsWmsStockSnapshotDetails.value.pageSize = val;
+    handleQueryWmsStockSnapshotDetails();
+  };
+
+  // 鏀瑰彉搴撳瓨蹇収鏄庣鐞嗛〉鐮佸簭鍙�
+  const handleCurrentChangeWmsStockSnapshotDetails = (val: number) => {
+    tableParamsWmsStockSnapshotDetails.value.page = val;
+    handleQueryWmsStockSnapshotDetails();
+  };
+
+/***************************************************[搴撳瓨蹇収鏄庣鐞嗘搷浣淽缁撴潫***************************************************/
+  // 搴撳瓨蹇収鏄庣鐞嗛〉闈㈠姞杞芥椂
+  onMounted(async () => {
+  });
+
+  handleQueryWmsStockSnapshotDetails();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysHelpDoc/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysHelpDoc/component/editDialog.vue
new file mode 100644
index 0000000..4e143db
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysHelpDoc/component/editDialog.vue
@@ -0,0 +1,148 @@
+锘�<template>
+	<div class="wmsSysHelpDoc-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="甯姪鏍囪ID" prop="helpFlagId">
+							<el-input v-model="ruleForm.helpFlagId" placeholder="璇疯緭鍏ュ府鍔╂爣璁癐D" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="甯姪鏂囨。鍐呭" prop="helpContext">
+							<el-input v-model="ruleForm.helpContext" placeholder="璇疯緭鍏ュ府鍔╂枃妗e唴瀹�" maxlength="-1" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsSysHelpDoc, updateWmsSysHelpDoc, detailWmsSysHelpDoc } from "/@/api/main/WmsSystem/wmsSysHelpDoc";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		helpFlagId: [{required: true, message: '璇疯緭鍏ュ府鍔╂爣璁癐D锛�', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsSysHelpDoc(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsSysHelpDoc(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsSysHelpDoc(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysHelpDoc/component/helpTree.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysHelpDoc/component/helpTree.vue
new file mode 100644
index 0000000..71586fe
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysHelpDoc/component/helpTree.vue
@@ -0,0 +1,151 @@
+<template>
+	<el-card class="box-card" shadow="hover" style="height: 100%" body-style="height:100%; overflow:auto">
+		<template #header>
+			<div class="card-header">
+				<div class="tree-h-flex">
+					<div class="tree-h-left">
+						<el-input :prefix-icon="Search" v-model="filterText" placeholder="甯姪鏂囨。鍚嶇О" />
+					</div>
+					<div class="tree-h-right">
+						<el-dropdown @command="handleCommand">
+							<el-button style="margin-left: 8px; width: 34px">
+								<el-icon class="el-icon--center">
+									<more-filled />
+								</el-icon>
+							</el-button>
+							<template #dropdown>
+								<el-dropdown-menu>
+									<el-dropdown-item command="expandAll">鍏ㄩ儴灞曞紑</el-dropdown-item>
+									<el-dropdown-item command="collapseAll">鍏ㄩ儴鎶樺彔</el-dropdown-item>
+									<el-dropdown-item command="rootNode">鏍硅妭鐐�</el-dropdown-item>
+									<el-dropdown-item command="refresh">鍒锋柊</el-dropdown-item>
+								</el-dropdown-menu>
+							</template>
+						</el-dropdown>
+					</div>
+				</div>
+			</div>
+		</template>
+		<div style="margin-bottom: 45px" v-loading="state.loading">
+			<el-tree
+				ref="treeRef"
+				class="filter-tree"
+				:data="state.orgData"
+				node-key="id"
+				:props="{ children: 'children', label: 'title' }"
+				:filter-node-method="filterNode"
+				@node-click="nodeClick"
+				:show-checkbox="state.isShowCheckbox"
+				:default-checked-keys="state.ownOrgData"
+				highlight-current
+				check-strictly
+			>
+				<template #default="{ node }">
+					<el-icon v-if="node.level == 1" size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-School /></el-icon>
+					<el-icon v-else-if="node.level == 2" size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-PriceTag /></el-icon>
+					<el-icon v-else size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-CollectionTag /></el-icon>
+					{{ node.label }}
+				</template>
+			</el-tree>
+		</div>
+	</el-card>
+</template>
+
+<script lang="ts" setup>
+import { onMounted, reactive, ref, watch } from 'vue';
+import type { ElTree } from 'element-plus';
+import { Search, MoreFilled } from '@element-plus/icons-vue';
+import { helpDocRoleMenu } from '/@/api/main/sysPadPower';
+
+const filterText = ref('');
+const treeRef = ref<InstanceType<typeof ElTree>>();
+const state = reactive({
+	loading: false,
+	orgData: [] as Array<SysOrg>,
+	isShowCheckbox: false,
+	ownOrgData: [],
+});
+
+watch(filterText, (val) => {
+	treeRef.value!.filter(val);
+});
+//鍒濆鍖栬彍鍗曟爲
+const initTreeData = async () => {
+	state.loading = true;
+	var res = await helpDocRoleMenu({
+		IshelpDoc: true,
+	});
+	debugger;
+	if (res.data.type == 'success') {
+		state.orgData = res.data.result ?? [];
+		state.loading = false;
+	}
+};
+
+// 璁剧疆榛樿閫夋嫨
+const setCheckedKeys = (orgData: any) => {
+	state.isShowCheckbox = true;
+	treeRef.value!.setCheckedKeys([]);
+	state.ownOrgData = orgData;
+};
+
+// 鑾峰彇宸茬粡閫夋嫨
+const getCheckedKeys = () => {
+	return treeRef.value!.getCheckedKeys();
+};
+
+const filterNode = (value: string, data: any) => {
+	if (!value) return true;
+	return data.title.includes(value);
+};
+
+const handleCommand = async (command: string | number | object) => {
+	if ('expandAll' == command) {
+		for (let i = 0; i < treeRef.value!.store._getAllNodes().length; i++) {
+			treeRef.value!.store._getAllNodes()[i].expanded = true;
+		}
+	} else if ('collapseAll' == command) {
+		for (let i = 0; i < treeRef.value!.store._getAllNodes().length; i++) {
+			treeRef.value!.store._getAllNodes()[i].expanded = false;
+		}
+	} else if ('refresh' == command) {
+		initTreeData();
+	} else if ('rootNode' == command) {
+		emits('node-click', { id: 0, name: '' });
+	}
+};
+
+// 涓庣埗缁勪欢鐨勪氦浜掗�昏緫
+const emits = defineEmits(['node-click']);
+const nodeClick = (node: any) => {
+	console.log('鐐瑰嚮鑿滃崟浜�');
+	var { name, ...rest } = node;
+	emits('node-click', {
+		id: node.id,
+		name: node.title,
+		...rest,
+	});
+};
+
+onMounted(() => {
+	initTreeData();
+});
+// 瀵煎嚭瀵硅薄
+defineExpose({ initTreeData, setCheckedKeys, getCheckedKeys });
+</script>
+
+<style lang="scss" scoped>
+.tree-h-flex {
+	display: flex;
+}
+
+.tree-h-left {
+	flex: 1;
+	width: 100%;
+}
+
+.tree-h-right {
+	width: 42px;
+	min-width: 42px;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysHelpDoc/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysHelpDoc/index.vue
new file mode 100644
index 0000000..9336af7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysHelpDoc/index.vue
@@ -0,0 +1,224 @@
+锘�<template>
+	<div class="sys-org-container">
+		<el-row :gutter="5" style="width: 100%; flex: 1">
+			<el-col :span="4" :xs="24">
+				<OrgTree ref="orgTreeRef" @node-click="nodeClick" />
+			</el-col>
+			<el-col :span="20" :xs="24" style="display: flex; flex-direction: column">
+				<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+					<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+						<el-form-item label="甯姪鏂囨。鍚嶇О">
+							<el-input disabled="" v-model="state.queryParams.name" placeholder="甯姪鏂囨。鍚嶇О" clearable />
+						</el-form-item>
+						<el-form-item>
+							<el-button-group>
+								<el-button type="primary" icon="ele-Collection" @click="submit" v-auth="'wmsSysHelpDoc:add'"> 淇濆瓨 </el-button>
+								<!-- <el-button type="primary" icon="ele-Search" @click="handleQuery"> 鏌ヨ </el-button> -->
+								<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+							</el-button-group>
+						</el-form-item>
+						<el-form-item> </el-form-item>
+					</el-form>
+				</el-card>
+				<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+					<Toolbar style="border-bottom: 1px solid #ccc" :editor="editorRef" :defaultConfig="toolbarConfig" :mode="mode" />
+					<Editor style="height: 500px; overflow-y: hidden" v-model="valueHtml" :defaultConfig="editorConfig" :mode="mode" @onCreated="handleCreated" />
+				</el-card>
+			</el-col>
+		</el-row>
+	</div>
+</template>
+
+<script lang="ts" setup name="wmsSysHelpDoc">
+import { onMounted, reactive, ref, onBeforeUnmount, shallowRef } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import OrgTree from './component/helpTree.vue';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysOrgApi, SysDictDataApi } from '/@/api-services/api';
+import { SysOrg } from '/@/api-services/models';
+import '@wangeditor/editor/dist/css/style.css'; // 寮曞叆 css
+//缂栬緫鍣�
+import { Editor, Toolbar } from '@wangeditor/editor-for-vue';
+import { addWmsSysHelpDoc, pageWmsSysHelpDoc, updateWmsSysHelpDoc } from '/@/api/main/WmsSystem/wmsSysHelpDoc';
+import { SysFileApi } from '/@/api-services/api';
+
+// 缂栬緫鍣ㄥ疄渚嬶紝蹇呴』鐢� shallowRef
+const editorRef = shallowRef();
+
+const mode = ref('default');
+// 鍐呭 HTML
+const valueHtml = ref('');
+
+const toolbarConfig = {};
+const editorConfig = {
+	placeholder: '璇疯緭鍏ュ唴瀹�...',
+	// 鑿滃崟閰嶇疆
+	MENU_CONF: {
+		uploadImage: {
+			fieldName: 'file',
+			customUpload(file: any, insertFn: any) {
+				// console.log('customUpload', file);
+				const uploadFun = async () => {
+					const rps = await getAPI(SysFileApi).apiSysFileUploadFilePostForm(file);
+					if (rps.data.type == 'success' && rps.data.result != null) {
+						insertFn(rps.data.result.url, rps.data.result.name, rps.data.result.url);
+					} else {
+						ElMessage.error('涓婁紶澶辫触锛�');
+					}
+				};
+				uploadFun();
+			},
+		},
+		insertImage: {
+			checkImage(src: string, alt: string, href: string): boolean | string | undefined {
+				if (src.indexOf('http') !== 0) {
+					return '鍥剧墖缃戝潃蹇呴』浠� http/https 寮�澶�';
+				}
+				return true;
+			},
+		},
+	},
+};
+
+// 缁勪欢閿�姣佹椂锛屼篃鍙婃椂閿�姣佺紪杈戝櫒
+onBeforeUnmount(() => {
+	const editor = editorRef.value;
+	if (editor == null) return;
+	editor.destroy();
+});
+
+const handleCreated = (editor: any) => {
+	editorRef.value = editor; // 璁板綍 editor 瀹炰緥锛岄噸瑕侊紒
+};
+
+const loading = ref(false);
+const disabled_btn = ref(false);
+
+// 鎻愪氦
+const submit = async () => {
+	if (!state.queryParams.name) {
+		ElMessage.warning('璇烽�夋嫨宸︿晶甯姪鏂囨。鑿滃崟锛�');
+		return;
+	}
+	debugger
+	if (state.queryParams.menuType != 2) {
+		ElMessage.warning('甯姪鏂囨。鍚嶇О涓嶆槸鑿滃崟锛�');
+		return;
+	}
+	if (!state.queryParams.keyId) {
+		//---------------------鏂板
+		disabled_btn.value = true;
+		loading.value = true;
+		let values = {
+			helpContext: valueHtml.value,
+			helpFlagId: state.queryParams.helpFlagId
+		};
+		debugger;
+		let ret = await addWmsSysHelpDoc(values);
+		loading.value = false;
+		if (ret.data.type == 'success') {
+			ElMessage.success('淇濆瓨鎴愬姛');
+			state.queryParams.name = ""
+			valueHtml.value =""
+		}
+		disabled_btn.value = false;
+		// ElMessage.warning('鑿滃崟璺敱helpFlagId娌℃湁锛�');
+	} else {
+		//------------------------缂栬緫
+		if (!state.queryParams.helpFlagId) { //helpFlagId
+			ElMessage.warning('鑿滃崟璺敱helpFlagId娌℃湁锛�');
+			return;
+		}
+		if (!valueHtml.value) {
+			ElMessage.warning('璇峰~鍐欏府鍔╂枃妗e唴瀹癸紒');
+			return;
+		}
+		disabled_btn.value = true;
+		loading.value = true;
+		let values = {
+			helpContext: valueHtml.value,
+			helpFlagId: state.queryParams.helpFlagId,
+			id: state.queryParams.keyId,
+		};
+		debugger;
+		let ret = await updateWmsSysHelpDoc(values);
+		loading.value = false;
+		if (ret.data.type == 'success') {
+			ElMessage.success('淇濆瓨鎴愬姛');
+			state.queryParams.name = ""
+			valueHtml.value =""
+		}
+		disabled_btn.value = false;
+	}
+};
+
+const orgTreeRef = ref<InstanceType<typeof OrgTree>>();
+const state = reactive({
+	loading: false,
+	orgData: [] as Array<SysOrg>, // 鍒楄〃鏁版嵁
+	orgTreeData: [] as Array<SysOrg>, // 鏍戞墍鏈夋暟鎹�
+	queryParams: {
+		helpFlagId: '', //鑿滃崟璺敱涓婇潰鐨刬d
+		keyId: '', //鏁版嵁鐨勫敮涓�鍊糹d
+		name: '',
+		code: '',
+		type: '',
+		menuType: '', //鑿滃崟绫诲瀷锛�1鐩綍 2鑿滃崟 3鎸夐挳锛�
+	},
+	editOrgTitle: '',
+	orgTypeList: [] as any,
+});
+
+onMounted(async () => {
+
+});
+
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	valueHtml.value = '';
+	state.queryParams.name = '';
+	state.queryParams.helpFlagId = '';
+	state.queryParams.menuType = '';
+	state.queryParams.keyId = '';
+};
+
+
+// 鏍戠粍浠剁偣鍑�
+const nodeClick = async (node: any) => {
+	if (node.type != 2) {
+		//涓嶆槸鑿滃崟 鏄洰褰曟垨鑰呮寜閽�
+		valueHtml.value = '';
+		state.queryParams.keyId = '';
+		return;
+	}
+	state.queryParams.name = node.name; //鏂板鐢�
+	state.queryParams.menuType = node.type; ////鏂板鐢� 鑿滃崟绫诲瀷锛�1鐩綍 2鑿滃崟 3鎸夐挳锛�
+	// var helpFlagId = node.path.split('?')[1]?.split('=')[1]; ///doc/element2/ypchild1?helpFlagId=1"
+	var helpFlagId = node.id;
+	debugger;
+	if (!helpFlagId) {
+		return;
+	}
+	state.queryParams.helpFlagId = helpFlagId; //鏂板鐢�
+	var res = await pageWmsSysHelpDoc({
+		helpFlagId: helpFlagId,
+		pageSize: 1,
+	});
+	if (res.data.type == 'success') {
+		var arr = res.data.result?.items;
+		if (arr.length > 0 && arr.length == 1) {
+			state.queryParams.name = node.name;
+			state.queryParams.menuType = node.type; 
+			valueHtml.value = arr[0].helpContext; // valueHtml.value = '<p>璁剧疆鍐呭</p>';
+			state.queryParams.keyId = arr[0].id;
+			state.queryParams.helpFlagId = arr[0].helpFlagId;
+		} else {
+			valueHtml.value = '';
+			state.queryParams.keyId = '';
+		}
+	}
+};
+
+
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysHelpMenu/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysHelpMenu/index.vue
new file mode 100644
index 0000000..556eee3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysHelpMenu/index.vue
@@ -0,0 +1,70 @@
+锘�<template>
+	<div class="sys-dict-container">
+		<el-row :gutter="8" style="width: 100%; height: 100%; flex: 1">
+			<el-col :span="24" :xs="24" style="display: flex; height: 100%; flex: 1">
+				<el-card class="full-table" shadow="hover" :body-style="{ height: 'calc(100% - 51px)' }">
+					<template #header>
+						<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-Collection /></el-icon>甯姪鏂囨。鍐呭
+						<span v-show="docTitle">: {{ docTitle }}</span>
+					</template>
+					<div class="boxView">
+						<div v-html="valueHtml"></div>
+					</div>
+				</el-card>
+			</el-col>
+		</el-row>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysDict">
+import { onMounted, reactive, ref, watch } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { pageWmsSysHelpDoc } from '/@/api/main/WmsSystem/wmsSysHelpDoc';
+import { useRoute } from 'vue-router';
+const route = useRoute();
+const state = reactive({
+	loading: false,
+});
+
+console.log(route);
+console.log(route.meta);
+console.log(route.meta.idMenu);
+const docTitle = ref("");
+docTitle.value = route.meta.title || "";
+const valueHtml = ref('');
+// 鏌ヨ瀛楀吀鎿嶄綔
+const handleDictTypeQuery = async () => {
+	if (!route.meta.idMenu) {
+		debugger;
+		console.log('璺敱id鏈壘鍒�');
+		return;
+	}
+	state.loading = true;
+	var res = await pageWmsSysHelpDoc({
+		helpFlagId: route.meta.idMenu,
+		pageSize: 1,
+	});
+	if (res.data.type == 'success') {
+		var arr = res.data.result?.items;
+		if (arr.length > 0 && arr.length == 1) {
+			valueHtml.value = arr[0].helpContext;
+		} else {
+			valueHtml.value = '';
+		}
+	}
+	state.loading = false;
+};
+
+onMounted(async () => {
+	handleDictTypeQuery();
+});
+</script>
+<style>
+img{
+	max-width: 100% !important;
+}
+.boxView{
+	height: calc(100vh - 200px);
+	overflow-y: auto;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysPdaMenu/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysPdaMenu/component/editDialog.vue
new file mode 100644
index 0000000..f00e15d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysPdaMenu/component/editDialog.vue
@@ -0,0 +1,180 @@
+锘�<template>
+	<div class="wmsSysPdaMenu-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍚嶇О" prop="name">
+							<el-input v-model="ruleForm.name" placeholder="璇疯緭鍏ュ悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="缂栫爜" prop="code">
+							<el-input v-model="ruleForm.code" placeholder="璇疯緭鍏ョ紪鐮�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍥炬爣" prop="icon">
+							<el-input v-model="ruleForm.icon" placeholder="璇疯緭鍏ュ浘鏍�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="棰滆壊" prop="color">
+							<el-input v-model="ruleForm.color" placeholder="璇疯緭鍏ラ鑹�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鑿滃崟绫诲埆" prop="menuType">
+							<el-select clearable v-model="ruleForm.menuType" placeholder="璇烽�夋嫨鑿滃崟绫诲埆">
+								<el-option v-for="(item,index) in  getEnumMenuTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsSysPdaMenu, updateWmsSysPdaMenu, detailWmsSysPdaMenu } from "/@/api/main/WmsSystem/wmsSysPdaMenu";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumMenuTypeData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		name: [{required: true, message: '璇疯緭鍏ュ悕绉帮紒', trigger: 'blur',},],
+		code: [{required: true, message: '璇疯緭鍏ョ紪鐮侊紒', trigger: 'blur',},],
+		icon: [{required: true, message: '璇疯緭鍏ュ浘鏍囷紒', trigger: 'blur',},],
+		color: [{required: true, message: '璇疯緭鍏ラ鑹诧紒', trigger: 'blur',},],
+		menuType: [{required: true, message: '璇烽�夋嫨鑿滃崟绫诲埆锛�', trigger: 'change',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsSysPdaMenu(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsSysPdaMenu(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsSysPdaMenu(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumMenuTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PdaMenuTypeEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysPdaMenu/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysPdaMenu/index.vue
new file mode 100644
index 0000000..02327d9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystem/wmsSysPdaMenu/index.vue
@@ -0,0 +1,246 @@
+锘�<template>
+  <div class="wmsSysPdaMenu-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsSysPdaMenu" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsSysPdaMenu.searchKey" clearable="" placeholder="鍚嶇О,缂栫爜,鍥炬爣,棰滆壊,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsSysPdaMenu">
+            <el-form-item label="鍚嶇О">
+              <el-input v-model="queryParamsWmsSysPdaMenu.name" clearable="" placeholder="璇疯緭鍏ュ悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsSysPdaMenu">
+            <el-form-item label="缂栫爜">
+              <el-input v-model="queryParamsWmsSysPdaMenu.code" clearable="" placeholder="璇疯緭鍏ョ紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsSysPdaMenu">
+            <el-form-item label="鍥炬爣">
+              <el-input v-model="queryParamsWmsSysPdaMenu.icon" clearable="" placeholder="璇疯緭鍏ュ浘鏍�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsSysPdaMenu">
+            <el-form-item label="棰滆壊">
+              <el-input v-model="queryParamsWmsSysPdaMenu.color" clearable="" placeholder="璇疯緭鍏ラ鑹�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsSysPdaMenu">
+            <el-form-item label="鑿滃崟绫诲埆">
+              <el-select clearable="" v-model="queryParamsWmsSysPdaMenu.menuType" placeholder="璇烽�夋嫨鑿滃崟绫诲埆">
+                <el-option v-for="(item,index) in getEnumMenuTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsSysPdaMenu" v-auth="'wmsSysPdaMenu:page'" :disabled="disabled_btnWmsSysPdaMenu"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsSysPdaMenu"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsSysPdaMenu" v-if="!showAdvanceQueryUIWmsSysPdaMenu" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsSysPdaMenu" v-if="showAdvanceQueryUIWmsSysPdaMenu" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsSysPdaMenu" v-auth="'wmsSysPdaMenu:add'"> 鏂板 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsSysPdaMenu"
+				:data="tableDataWmsSysPdaMenu"
+				style="width: 100%"
+				v-loading="loadingWmsSysPdaMenu"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsSysPdaMenu"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="name" label="鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="code" label="缂栫爜"  show-overflow-tooltip="" />
+        <el-table-column prop="icon" label="鍥炬爣"  show-overflow-tooltip="" />
+        <el-table-column prop="color" label="棰滆壊"  show-overflow-tooltip="" />
+          <el-table-column prop="menuType" label="鑿滃崟绫诲埆"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.menuType, getEnumMenuTypeData_Index)}}
+              <!-- <el-tag></el-tag> -->
+            </template>
+          </el-table-column>
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsSysPdaMenu:update') || auth('wmsSysPdaMenu:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsSysPdaMenu(scope.row)" v-auth="'wmsSysPdaMenu:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsSysPdaMenu(scope.row)" v-auth="'wmsSysPdaMenu:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsSysPdaMenu.page"
+				v-model:page-size="tableParamsWmsSysPdaMenu.pageSize"
+				:total="tableParamsWmsSysPdaMenu.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsSysPdaMenu"
+				@current-change="handleCurrentChangeWmsSysPdaMenu"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsSysPdaMenu
+        ref="printDialogRefWmsSysPdaMenu"
+        :title="printWmsSysPdaMenuTitle"
+        @reloadTable="handleQueryWmsSysPdaMenu" />
+      <editDialogWmsSysPdaMenu
+        ref="editDialogRefWmsSysPdaMenu"
+        :title="editWmsSysPdaMenuTitle"
+        @reloadTable="handleQueryWmsSysPdaMenu"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsSysPdaMenu">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+
+
+  import printDialogWmsSysPdaMenu from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogWmsSysPdaMenu from '/@/views/main/WmsSystem/wmsSysPdaMenu/component/editDialog.vue'
+  import { pageWmsSysPdaMenu, deleteWmsSysPdaMenu,importExcelWmsSysPdaMenu,downloadExcelTemplateWmsSysPdaMenu } from '/@/api/main/WmsSystem/wmsSysPdaMenu';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumMenuTypeData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[Pda鑿滃崟绠$悊鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsSysPdaMenu = ref(false);
+  const tableRefWmsSysPdaMenu = ref(null);
+  const printDialogRefWmsSysPdaMenu = ref();
+  const editDialogRefWmsSysPdaMenu = ref();
+  const loadingWmsSysPdaMenu = ref(false);
+  const disabled_btnWmsSysPdaMenu = ref(false);
+  const tableDataWmsSysPdaMenu = ref<any>([]);
+  const queryParamsWmsSysPdaMenu = ref<any>({});
+  const tableParamsWmsSysPdaMenu = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsSysPdaMenuTitle = ref("");
+  const editWmsSysPdaMenuTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsSysPdaMenu = () => {
+    showAdvanceQueryUIWmsSysPdaMenu.value = !showAdvanceQueryUIWmsSysPdaMenu.value;
+  }
+
+  // 鏌ヨPda鑿滃崟绠$悊
+  const handleQueryWmsSysPdaMenu = async () => {
+    loadingWmsSysPdaMenu.value = true;
+    disabled_btnWmsSysPdaMenu.value = true;
+    var res = await pageWmsSysPdaMenu(Object.assign(queryParamsWmsSysPdaMenu.value, tableParamsWmsSysPdaMenu.value));
+    if(res.data.type=="success"){
+      tableDataWmsSysPdaMenu.value = res.data.result?.items ?? [];
+      tableParamsWmsSysPdaMenu.value.total = res.data.result?.total;
+    }
+    loadingWmsSysPdaMenu.value = false;
+    disabled_btnWmsSysPdaMenu.value = false;
+  };
+
+  // 閲嶇疆Pda鑿滃崟绠$悊鏌ヨ
+  const resetWmsSysPdaMenu = async () => {
+    queryParamsWmsSysPdaMenu.value = {}
+  };
+
+  // Pda鑿滃崟绠$悊鍒楁帓搴�
+  const sortChangeWmsSysPdaMenu = async (column: any) => {
+	queryParamsWmsSysPdaMenu.value.field = column.prop;
+	queryParamsWmsSysPdaMenu.value.order = column.order;
+	await handleQueryWmsSysPdaMenu();
+  };
+
+  // 鎵撳紑鏂板Pda鑿滃崟绠$悊椤甸潰
+  const openAddWmsSysPdaMenu = () => {
+    editWmsSysPdaMenuTitle.value = '娣诲姞Pda鑿滃崟绠$悊';
+    editDialogRefWmsSysPdaMenu.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃Pda鑿滃崟绠$悊椤甸潰
+  const openPrintWmsSysPdaMenu = async (row: any) => {
+    printWmsSysPdaMenuTitle.value = '鎵撳嵃Pda鑿滃崟绠$悊';
+  }
+  
+  // 鎵撳紑缂栬緫Pda鑿滃崟绠$悊椤甸潰
+  const openEditWmsSysPdaMenu = (row: any) => {
+    editWmsSysPdaMenuTitle.value = '缂栬緫Pda鑿滃崟绠$悊';
+    editDialogRefWmsSysPdaMenu.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎Pda鑿滃崟绠$悊
+  const delWmsSysPdaMenu = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsSysPdaMenu.value = true;
+    var ret = await deleteWmsSysPdaMenu(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsSysPdaMenu.value = false;
+    handleQueryWmsSysPdaMenu();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉Pda鑿滃崟绠$悊椤甸潰瀹归噺
+  const handleSizeChangeWmsSysPdaMenu = (val: number) => {
+    tableParamsWmsSysPdaMenu.value.pageSize = val;
+    handleQueryWmsSysPdaMenu();
+  };
+
+  // 鏀瑰彉Pda鑿滃崟绠$悊椤电爜搴忓彿
+  const handleCurrentChangeWmsSysPdaMenu = (val: number) => {
+    tableParamsWmsSysPdaMenu.value.page = val;
+    handleQueryWmsSysPdaMenu();
+  };
+
+/***************************************************[Pda鑿滃崟绠$悊鎿嶄綔]缁撴潫***************************************************/
+  // Pda鑿滃崟绠$悊椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    getEnumMenuTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PdaMenuTypeEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsSysPdaMenu();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigKbcard/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigKbcard/component/editDialog.vue
new file mode 100644
index 0000000..9f68d0b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigKbcard/component/editDialog.vue
@@ -0,0 +1,217 @@
+锘�<template>
+	<div class="wmsConfigKbcard-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐪嬫澘鍗″彿" prop="kanBanCardNo">
+							<el-input v-model="ruleForm.kanBanCardNo" placeholder="璇疯緭鍏ョ湅鏉垮崱鍙�" maxlength="50" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+						</el-form-item>
+					</el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏁伴噺" prop="quantity">
+							<el-input v-model="ruleForm.quantity" placeholder="璇疯緭鍏ユ暟閲�" maxlength="10" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹㈡埛鍚嶇О" prop="SupplierCode">
+							<el-select clearable="" v-model="ruleForm.supplierCode" placeholder="璇烽�夋嫨瀹㈡埛鍚嶇О" @change="supplierNameChange">
+								<el-option v-for="(item, index) in arrSupper" :key="index" :value="item.custCode" :label="`${item.value}`"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="婧愬簱鍖�" prop="sourceAreaCode">
+							<el-select clearable="" v-model="ruleForm.sourceAreaCode" placeholder="璇烽�夋嫨婧愬簱鍖�" @change="sourceAreaChange">
+								<el-option v-for="(item, index) in arrW" :key="index" :value="item.areaCode" :label="`[${item.areaCode}]${item.areaName}`"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐩爣搴撳尯" prop="toAreaCode">
+							<el-select clearable="" v-model="ruleForm.toAreaCode" placeholder="璇烽�夋嫨鐩爣搴撳尯" @change="handleSelectChange">
+								<el-option v-for="(item, index) in arrW" :key="index" :value="item.areaCode" :label="`[${item.areaCode}]${item.areaName}`"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐩爣搴撲綅" prop="toPlaceCode">
+							<el-select clearable="" v-model="ruleForm.toPlaceCode" placeholder="璇烽�夋嫨鐩爣搴撲綅" @change="toPlaceChange">
+								<el-option v-for="(item, index) in arrPlace" :key="index" :value="item.placeCode" :label="`[${item.placeCode}]${item.placeName}`"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+import { ref, onMounted, nextTick } from 'vue';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { ElMessage } from 'element-plus';
+import type { FormRules } from 'element-plus';
+import { addWmsConfigKbcard, updateWmsConfigKbcard, detailWmsConfigKbcard, getPlaceByAreaCode } from '/@/api/main/WmsSystemConfig/wmsConfigKbcard';
+import { handleSlectDataSupplier, handleSlectDataWmsArea } from '/@/utils/selectData';
+
+//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+var props = defineProps({
+	title: {
+		type: String,
+		default: '',
+	},
+});
+//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+const emit = defineEmits(['reloadTable']);
+const ruleFormRef = ref();
+const isShowDialog = ref(false);
+const loading = ref(false);
+const disabled_btn = ref(false);
+const ruleForm = ref<any>({});
+//鑷娣诲姞鍏朵粬瑙勫垯
+const rules = ref<FormRules>({
+	toAreaCode: [{ required: true, message: '璇烽�夋嫨鐩爣搴撳尯锛�', trigger: 'blur' }],
+	toPlaceCode: [{ required: true, message: '璇烽�夋嫨鐩爣搴撲綅锛�', trigger: 'blur' }],
+	kanBanCardNo: [{ required: true, message: '璇疯緭鍏ョ湅鏉垮崱鍙凤紒', trigger: 'blur' }],
+	materialCode: [{ required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur' }],
+	quantity: [{ required: true, message: '璇疯緭鍏ユ暟閲忥紒', trigger: 'blur' }],
+	materialName: [{ required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur' }],
+});
+
+
+const arrW: any = ref([]); //搴撳尯涓嬫媺璇诲彇鎺ュ彛
+const arrSupper: any = ref([]); //瀹㈡埛涓嬫媺璇诲彇鎺ュ彛
+/*
+ * 鎵撳紑寮圭獥
+ * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+ * @param row  琛屾暟鎹�
+ */
+const openDialog = async (flag: number, row: any) => {
+
+	arrW.value = await handleSlectDataWmsArea(); //涓嬫媺璇诲彇鎺ュ彛
+	arrSupper.value = await handleSlectDataSupplier(
+		{
+			custType:"璐т富"
+		}
+	); //涓嬫媺璇诲彇鎺ュ彛
+
+	// ruleForm.value = JSON.parse(JSON.stringify(row));
+	// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+	let rowData = JSON.parse(JSON.stringify(row));
+	if (rowData.id) ruleForm.value = (await detailWmsConfigKbcard(rowData.id)).data.result;
+	else {
+		ruleForm.value = rowData;
+	}
+	isShowDialog.value = true;
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emit('reloadTable');
+	isShowDialog.value = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	isShowDialog.value = false;
+};
+//婧愬簱鍖洪�夋嫨
+const sourceAreaChange = async (value: any) => {
+	ruleForm.value.sourceAreaName = '';
+	ruleForm.value.sourceAreaName = arrW.value.find((item: { value: any }) => item.areaCode == value).areaName;
+};
+//瀹㈡埛閫夋嫨
+const supplierNameChange = async (value: any) => {
+	ruleForm.value.supplierName = '';
+	ruleForm.value.supplierName = arrSupper.value.find((item: { value: any }) => item.custCode == value).custChinaName;
+};
+let arr: any = ref([]);
+//搴撲綅鏌ヨ锛岀洰鏍囧簱鍖洪�夋嫨
+const arrPlace: any = ref([]); //涓嬫媺璇诲彇鎺ュ彛
+const handleSelectChange = async (value: any) => {
+	ruleForm.value.toAreaName = '';
+	ruleForm.value.toPlaceName = '';
+	ruleForm.value.toPlaceCode = '';
+	ruleForm.value.toAreaName = arrW.value.find((item: { value: any }) => item.areaCode == value).areaName;
+	arr = await getPlaceByAreaCode(value);
+	arrPlace.value = arr.data.result;
+};
+//搴撲綅閫夋嫨
+const toPlaceChange = async (value: any) => {
+	ruleForm.value.toPlaceName = arrPlace.value.find((item: { value: any }) => item.placeCode == value).placeName;
+};
+
+// 鎻愪氦
+const submit = async () => {
+	disabled_btn.value = true;
+	ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+		if (isValid) {
+			loading.value = true;
+			let values = ruleForm.value;
+			let ret = {};
+			let title = '鏂板';
+			// console.log('values',values)
+			if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == '' || ruleForm.value.id == 0) {
+				ret = await addWmsConfigKbcard(values);
+			} else {
+				title = '缂栬緫';
+				ret = await updateWmsConfigKbcard(values);
+			}
+			loading.value = false;
+			disabled_btn.value = false;
+			if (ret.data.type == 'success') {
+				ElMessage.success(title + '鎴愬姛');
+				closeDialog();
+			}
+		} else {
+			disabled_btn.value = false;
+			ElMessage({
+				message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+				type: 'error',
+			});
+		}
+	});
+};
+
+// 椤甸潰鍔犺浇鏃�
+
+onMounted(() => {
+
+});
+
+//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigKbcard/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigKbcard/index.vue
new file mode 100644
index 0000000..f73fba8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigKbcard/index.vue
@@ -0,0 +1,384 @@
+锘�<template>
+	<div class="wmsConfigKbcard-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="queryParamsWmsConfigKbcard" ref="queryForm" labelWidth="90">
+				<el-row>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+						<el-form-item label="鍏抽敭瀛�">
+							<el-input v-model="queryParamsWmsConfigKbcard.searchKey" clearable="" placeholder="鐪嬫澘鍗″彿,鐗╂枡缂栧彿,鐗╂枡鍚嶇О,瀹㈡埛缂栧彿,婧愬簱鍖虹紪鍙�,鐩爣搴撳尯缂栧彿,鐩爣搴撲綅缂栧彿" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigKbcard">
+						<el-form-item label="鐪嬫澘鍗″彿">
+							<el-input v-model="queryParamsWmsConfigKbcard.kanBanCardNo" clearable="" placeholder="璇疯緭鍏ョ湅鏉垮崱鍙�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigKbcard">
+						<el-form-item label="鐗╂枡缂栧彿">
+							<el-input v-model="queryParamsWmsConfigKbcard.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigKbcard">
+						<el-form-item label="鐗╂枡鍚嶇О">
+							<el-input v-model="queryParamsWmsConfigKbcard.materialName" clearable="" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" />
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigKbcard">
+						<el-form-item label="瀹㈡埛鍚嶇О">
+							<el-select clearable="" v-model="queryParamsWmsConfigKbcard.supplierCode" placeholder="璇烽�夋嫨瀹㈡埛鍚嶇О">
+								<el-option v-for="(item, index) in arrSupper" :key="index" :value="item.custCode" :label="`${item.value}`"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigKbcard">
+						<el-form-item label="婧愬簱鍖�">
+              <el-select clearable="" v-model="queryParamsWmsConfigKbcard.sourceAreaCode" placeholder="璇烽�夋嫨婧愬簱鍖�">
+								<el-option v-for="(item, index) in arrW" :key="index" :value="item.areaCode" :label="`[${item.areaCode}]${item.areaName}`"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigKbcard">
+						<el-form-item label="鐩爣搴撳尯">
+              <el-select clearable="" v-model="queryParamsWmsConfigKbcard.toAreaCode" placeholder="璇烽�夋嫨鐩爣搴撳尯">
+								<el-option v-for="(item, index) in arrW" :key="index" :value="item.areaCode" :label="`[${item.areaCode}]${item.areaName}`"></el-option>
+							</el-select>
+
+
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigKbcard">
+						<el-form-item label="鐩爣搴撲綅">
+
+              <el-select
+								v-model="queryParamsWmsConfigKbcard.toPlaceCode"
+								filterable
+								remote
+								reserve-keyword
+								remote-show-suffix
+								:remote-method="remoteMethodPlace"
+								:loading="loading"
+								placeholder="璇烽�夋嫨鐩爣搴撲綅"
+								clearable
+								style="width: 100%"
+								@change="changeXmbhPlace(showAdvanceQueryUIWmsConfigKbcard.toPlaceCode)"
+								>
+								<el-option
+									v-for="(item, index) in arrTdpPlace"
+									:key="index"
+									:value="item.placeCode"
+									:label="`[${item.placeCode}]${item.placeName}`"
+								></el-option>
+								</el-select>
+
+						</el-form-item>
+					</el-col>
+
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigKbcard">
+            <el-form-item label="鎿嶄綔澶囨敞">
+              <el-input v-model="queryParamsWmsConfigKbcard.actionRemark" clearable="" placeholder="璇疯緭鍏ユ搷浣滃娉�"/>              
+            </el-form-item>
+          </el-col> -->
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigKbcard">
+            <el-form-item label="鎿嶄綔鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨鎿嶄綔鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsConfigKbcard.actionTimeRange" />              
+            </el-form-item>
+          </el-col> -->
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigKbcard">
+            <el-form-item label="鍒涘缓鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨鍒涘缓鏃堕棿" value-format="YYYY/MM/DD  HH:mm:ss" type="datetimerange" :default-time="defaultTimeRange" v-model="queryParamsWmsConfigKbcard.createTimeRange" />              
+            </el-form-item>
+          </el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+						<el-form-item>
+							<el-button-group style="display: flex; align-items: center">
+								<el-button type="primary" icon="ele-Search" @click="handleQueryWmsConfigKbcard" v-auth="'wmsConfigKbcard:page'" :disabled="disabled_btnWmsConfigKbcard"> 鏌ヨ </el-button>
+								<el-button icon="ele-Refresh" @click="resetWmsConfigKbcard"> 閲嶇疆 </el-button>
+								<el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsConfigKbcard" v-if="!showAdvanceQueryUIWmsConfigKbcard" style="margin-left: 5px"> 楂樼骇鏌ヨ </el-button>
+								<el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsConfigKbcard" v-if="showAdvanceQueryUIWmsConfigKbcard" style="margin-left: 5px"> 闅愯棌 </el-button>
+								<el-button type="primary" style="margin-left: 5px" icon="ele-Plus" @click="openAddWmsConfigKbcard" v-auth="'wmsConfigKbcard:add'"> 鏂板 </el-button>
+								<el-button type="primary" style="margin-left: 5px" icon="ele-Download" @click="handleExportExcelWmsConfigKbcard" v-auth="'wmsConfigKbcard:exportExcel'"> 瀵煎嚭 </el-button>
+							</el-button-group>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</el-card>
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table
+				ref="tableRefWmsConfigKbcard"
+				:data="tableDataWmsConfigKbcard"
+				style="width: 100%"
+				v-loading="loadingWmsConfigKbcard"
+				tooltip-effect="light"
+				row-key="id"
+				@sort-change="sortChangeWmsConfigKbcard"
+				border=""
+			>
+				<el-table-column type="index" fixed="left" label="搴忓彿" width="55" align="center" />
+				<el-table-column prop="kanBanCardNo" fixed="left" label="鐪嬫澘鍗″彿" width="120" show-overflow-tooltip="" />
+				<el-table-column prop="materialCode" label="鐗╂枡缂栧彿" width="120" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" label="鐗╂枡鍚嶇О" width="120" show-overflow-tooltip="" />
+				<el-table-column prop="quantity" label="鏁伴噺" width="120" show-overflow-tooltip="" />
+				<el-table-column prop="supplierCode" label="瀹㈡埛缂栧彿" width="120" show-overflow-tooltip="" />
+				<el-table-column prop="supplierName" label="瀹㈡埛鍚嶇О" width="120" show-overflow-tooltip="" />
+				<el-table-column prop="sourceAreaCode" label="婧愬簱鍖虹紪鍙�" width="120" show-overflow-tooltip="" />
+				<el-table-column prop="sourceAreaName" label="婧愬簱鍖哄悕绉�" width="120" show-overflow-tooltip="" />
+				<el-table-column prop="toAreaCode" label="鐩爣搴撳尯缂栧彿" width="120" show-overflow-tooltip="" />
+				<el-table-column prop="toAreaName" label="鐩爣搴撳尯鍚嶇О" width="120" show-overflow-tooltip="" />
+				<el-table-column prop="toPlaceCode" label="鐩爣搴撲綅缂栧彿" width="120" show-overflow-tooltip="" />
+				<el-table-column prop="toPlaceName" label="鐩爣搴撲綅鍚嶇О" width="120" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="actionRemark" label="鎿嶄綔澶囨敞" width="120" show-overflow-tooltip="" /> -->
+				<el-table-column prop="createUserName" label="鍒涘缓浜�" width="120" show-overflow-tooltip="" />
+				<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="updateUserName" label="淇敼浜�" width="120" show-overflow-tooltip="" />
+				<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="170" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column label="鎿嶄綔" width="240" align="center" fixed="right" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsConfigKbcard(scope.row)" v-auth="'wmsConfigKbcard:update'"> 缂栬緫 </el-button>
+						<el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsConfigKbcard(scope.row)" v-auth="'wmsConfigKbcard:delete'"> 鍒犻櫎 </el-button>
+						<el-button icon="ele-Printer" size="small" text="" type="primary" @click="openPrintWmsStockQuan(scope.row)"> 鎵撳嵃 </el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="tableParamsWmsConfigKbcard.page"
+				v-model:page-size="tableParamsWmsConfigKbcard.pageSize"
+				:total="tableParamsWmsConfigKbcard.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsConfigKbcard"
+				@current-change="handleCurrentChangeWmsConfigKbcard"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+			<printDialogWmsConfigKbcard ref="printDialogRefWmsConfigKbcard" :title="printWmsConfigKbcardTitle" @reloadTable="handleQueryWmsConfigKbcard" />
+			<editDialogWmsConfigKbcard ref="editDialogRefWmsConfigKbcard" :title="editWmsConfigKbcardTitle" @reloadTable="handleQueryWmsConfigKbcard" />
+		</el-card>
+	</div>
+</template>
+
+<script lang="ts" setup="" name="wmsConfigKbcard">
+import { ref, onMounted } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+import { exportPageExcel } from '/@/utils/exportPageExcel'; //寮曞叆瀵煎嚭鏂规硶
+
+import printDialogWmsConfigKbcard from '/@/views/system/print/component/hiprint/preview.vue';
+import editDialogWmsConfigKbcard from '/@/views/main/WmsSystemConfig/wmsConfigKbcard/component/editDialog.vue';
+import { pageWmsConfigKbcard, deleteWmsConfigKbcard, importExcelWmsConfigKbcard, downloadExcelTemplateWmsConfigKbcard, getPlaceByAreaCode } from '/@/api/main/WmsSystemConfig/wmsConfigKbcard';
+import { addWmsRecordSncodePrint } from '/@/api/main/PrintCenter/wmsRecordSncodePrint';
+import { handleSlectDataSupplier, handleSlectDataWmsArea } from '/@/utils/selectData';
+import { pageWmsPlace } from '/@/api/main/WmsBase/wmsPlace';
+
+/***************************************************[鐪嬫澘鍗¢厤缃搷浣淽寮�濮�***************************************************/
+const showAdvanceQueryUIWmsConfigKbcard = ref(false);
+const tableRefWmsConfigKbcard = ref(null);
+const printDialogRefWmsConfigKbcard = ref();
+const editDialogRefWmsConfigKbcard = ref();
+const loadingWmsConfigKbcard = ref(false);
+const disabled_btnWmsConfigKbcard = ref(false);
+const tableDataWmsConfigKbcard = ref<any>([]);
+const queryParamsWmsConfigKbcard = ref<any>({});
+const tableParamsWmsConfigKbcard = ref({
+	page: 1,
+	pageSize: 10,
+	total: 0,
+});
+
+const printWmsConfigKbcardTitle = ref('');
+const editWmsConfigKbcardTitle = ref('');
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUIWmsConfigKbcard = () => {
+	showAdvanceQueryUIWmsConfigKbcard.value = !showAdvanceQueryUIWmsConfigKbcard.value;
+};
+
+// 鏌ヨ鐪嬫澘鍗¢厤缃�
+const handleQueryWmsConfigKbcard = async () => {
+	loadingWmsConfigKbcard.value = true;
+	disabled_btnWmsConfigKbcard.value = true;
+	var res = await pageWmsConfigKbcard(Object.assign(queryParamsWmsConfigKbcard.value, tableParamsWmsConfigKbcard.value));
+	if (res.data.type == 'success') {
+		tableDataWmsConfigKbcard.value = res.data.result?.items ?? [];
+		tableParamsWmsConfigKbcard.value.total = res.data.result?.total;
+	}
+	loadingWmsConfigKbcard.value = false;
+	disabled_btnWmsConfigKbcard.value = false;
+};
+
+// 閲嶇疆鐪嬫澘鍗¢厤缃煡璇�
+const resetWmsConfigKbcard = async () => {
+	queryParamsWmsConfigKbcard.value = {};
+};
+
+// 鐪嬫澘鍗¢厤缃垪鎺掑簭
+const sortChangeWmsConfigKbcard = async (column: any) => {
+	queryParamsWmsConfigKbcard.value.field = column.prop;
+	queryParamsWmsConfigKbcard.value.order = column.order;
+	await handleQueryWmsConfigKbcard();
+};
+
+// 鎵撳紑鏂板鐪嬫澘鍗¢厤缃〉闈�
+const openAddWmsConfigKbcard = () => {
+	editWmsConfigKbcardTitle.value = '娣诲姞鐪嬫澘鍗¢厤缃�';
+	editDialogRefWmsConfigKbcard.value.openDialog(1, {});
+};
+
+// 鎵撳紑鎵撳嵃鐪嬫澘鍗¢厤缃〉闈�
+const openPrintWmsConfigKbcard = async (row: any) => {
+	printWmsConfigKbcardTitle.value = '鎵撳嵃鐪嬫澘鍗¢厤缃�';
+};
+
+// 鎵撳紑缂栬緫鐪嬫澘鍗¢厤缃〉闈�
+const openEditWmsConfigKbcard = (row: any) => {
+	editWmsConfigKbcardTitle.value = '缂栬緫鐪嬫澘鍗¢厤缃�';
+	editDialogRefWmsConfigKbcard.value.openDialog(2, row);
+};
+
+// 鍒犻櫎鐪嬫澘鍗¢厤缃�
+const delWmsConfigKbcard = (row: any) => {
+	ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			loadingWmsConfigKbcard.value = true;
+			var ret = await deleteWmsConfigKbcard(row);
+			if (ret.data.type == 'success') {
+				ElMessage.success('鍒犻櫎鎴愬姛');
+			}
+			loadingWmsConfigKbcard.value = false;
+			handleQueryWmsConfigKbcard();
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉鐪嬫澘鍗¢厤缃〉闈㈠閲�
+const handleSizeChangeWmsConfigKbcard = (val: number) => {
+	tableParamsWmsConfigKbcard.value.pageSize = val;
+	handleQueryWmsConfigKbcard();
+};
+
+// 鏀瑰彉鐪嬫澘鍗¢厤缃〉鐮佸簭鍙�
+const handleCurrentChangeWmsConfigKbcard = (val: number) => {
+	tableParamsWmsConfigKbcard.value.page = val;
+	handleQueryWmsConfigKbcard();
+};
+
+// 鎵撳紑鎵撳嵃瀹炴椂搴撳瓨椤甸潰
+const openPrintWmsStockQuan = async (row: any) => {
+	ElMessageBox.confirm('鏄惁纭鎵撳嵃锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			row.PrintType = 2; // 鐪嬫澘鍗�
+			row.PrintSource = 6; //鐪嬫澘鍗℃墦鍗�
+			var res = await addWmsRecordSncodePrint([row]);
+			if (res.data && res.data.code == 200) {
+				ElMessage.success('娣诲姞鎴愬姛');
+			}
+		})
+		.catch(() => {
+			ElMessage.info('宸插彇娑堝垹闄�');
+		});
+};
+
+/***************************************************[鐪嬫澘鍗¢厤缃搷浣淽缁撴潫***************************************************/
+/***************************************************[鐪嬫澘鍗¢厤缃鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsConfigKbcard = {
+	formatDate_T_Date,
+	formatDate_T_Time,
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsConfigKbcard = async (formData: Blob) => {
+	loadingWmsConfigKbcard.value = true;
+	disabled_btnWmsConfigKbcard.value = true;
+	var new_tableParamsWmsConfigKbcard = JSON.parse(JSON.stringify(tableParamsWmsConfigKbcard.value));
+	new_tableParamsWmsConfigKbcard.page = 1;
+	new_tableParamsWmsConfigKbcard.pageSize = 100000;
+	var res = await pageWmsConfigKbcard(Object.assign(queryParamsWmsConfigKbcard.value, new_tableParamsWmsConfigKbcard));
+	if (res.data.type == 'success') {
+		exportExcelWmsConfigKbcard(res.data.result?.items ?? []);
+	}
+	loadingWmsConfigKbcard.value = false;
+	disabled_btnWmsConfigKbcard.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsConfigKbcard = async (exportDataList: Array) => {
+	exportPageExcel(exportDataList, tableRefWmsConfigKbcard, '鐪嬫澘鍗¢厤缃�', functionMapWmsConfigKbcard);
+};
+/***************************************************[鐪嬫澘鍗¢厤缃鍑篯缁撴潫***************************************************/
+
+const arrW: any = ref([]); //搴撳尯涓嬫媺璇诲彇鎺ュ彛
+const arrSupper: any = ref([]); //瀹㈡埛涓嬫媺璇诲彇鎺ュ彛
+const arrPlace: any = ref([]); //涓嬫媺璇诲彇鎺ュ彛
+// 鐪嬫澘鍗¢厤缃〉闈㈠姞杞芥椂
+onMounted(async () => {
+	arrW.value = await handleSlectDataWmsArea(); //涓嬫媺璇诲彇鎺ュ彛
+	arrSupper.value = await handleSlectDataSupplier({
+		custType: '璐т富',
+	}); //涓嬫媺璇诲彇鎺ュ彛
+
+
+  
+});
+
+
+//-----------------杩滅▼鎼滅储 搴撲綅缂栧彿----------------
+const arrTdpPlace = ref<any[]>([]);
+const queryParamsWPlace = ref<any>({});
+const tableParamsWPlace = ref({
+	page: 1,
+	pageSize: 200,
+	total: 0,
+	PlaceCode: '',
+});
+const loading = ref(false);
+const handleQueryTdpPlace = async () => {
+	var res = await pageWmsPlace(Object.assign(queryParamsWPlace.value, tableParamsWPlace.value));
+	arrTdpPlace.value =res.data.result?.items ?? [];
+};
+const changeXmbhPlace = async (query?: any) => {
+		loading.value = true;
+		var res = await pageWmsPlace({
+			page: 1,
+			pageSize: 200,
+			PlaceCode: query,
+		});
+		loading.value = false;
+		arrTdpPlace.value = res.data.result?.items ?? [];
+};
+// 杩滅▼鎼滅储  杈撳叆鍏抽敭瀛椾互浠庤繙绋嬫湇鍔″櫒涓煡鎵炬暟鎹��
+const remoteMethodPlace = async (query: string) => {
+		loading.value = true;
+		var res = await pageWmsPlace({
+			page: 1,
+			pageSize: 200,
+			PlaceCode: query,
+		});
+		loading.value = false;
+		arrTdpPlace.value = res.data.result?.items ?? [];
+};
+//-----------------杩滅▼鎼滅储----------------
+
+
+
+handleQueryWmsConfigKbcard();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/component/editDialog.vue
new file mode 100644
index 0000000..ee64fc4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/component/editDialog.vue
@@ -0,0 +1,182 @@
+锘�<template>
+	<div class="wmsConfigPrint-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵撳嵃鍒嗙被" prop="printClassify">
+							<el-select clearable v-model="ruleForm.printClassify" placeholder="璇烽�夋嫨鎵撳嵃鍒嗙被">
+								<el-option v-for="(item,index) in  getEnumPrintClassifyData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵撳嵃妯℃澘鍚�" prop="printTemplate">
+							<el-input v-model="ruleForm.printTemplate" placeholder="璇疯緭鍏ユ墦鍗版ā鏉垮悕" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵撳嵃妯℃澘鍦板潃" prop="printTemplateAddr">
+							<el-input v-model="ruleForm.printTemplateAddr" placeholder="璇疯緭鍏ユ墦鍗版ā鏉垮湴鍧�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵撳嵃鏈哄垪琛�" prop="printerListList">
+							<el-select clearable v-model="ruleForm.printerListList" placeholder="璇烽�夋嫨鎵撳嵃鏈哄垪琛�" multiple >
+								<el-option v-for="(item,index) in dl('PrinterList')"  :key="index" :value="item.name" :label="`[${item.code}] ${item.name}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="澶囨敞" prop="remark">
+							<el-input v-model="ruleForm.remark" placeholder="璇疯緭鍏ュ娉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsConfigPrint, updateWmsConfigPrint, detailWmsConfigPrint } from "/@/api/main/WmsSystemConfig/wmsConfigPrint";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumPrintClassifyData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		printClassify: [{required: true, message: '璇烽�夋嫨鎵撳嵃鍒嗙被锛�', trigger: 'change',},],
+		printTemplate: [{required: true, message: '璇疯緭鍏ユ墦鍗版ā鏉垮悕锛�', trigger: 'blur',},],
+		printTemplateAddr: [{required: true, message: '璇疯緭鍏ユ墦鍗版ā鏉垮湴鍧�锛�', trigger: 'blur',},],
+		printerList: [{required: true, message: '璇烽�夋嫨鎵撳嵃鏈哄垪琛紒', trigger: 'change',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsConfigPrint(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsConfigPrint(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsConfigPrint(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumPrintClassifyData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintClassifyEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/index.vue
new file mode 100644
index 0000000..9fcd5b1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/index.vue
@@ -0,0 +1,281 @@
+锘�<template>
+  <div class="wmsConfigPrint-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsConfigPrint" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsConfigPrint.searchKey" clearable="" placeholder="鎵撳嵃妯℃澘鍚�,鎵撳嵃妯℃澘鍦板潃,鎵撳嵃鏈哄垪琛�,澶囨敞,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+            <el-form-item label="鎵撳嵃鍒嗙被">
+              <el-select clearable="" v-model="queryParamsWmsConfigPrint.printClassify" placeholder="璇烽�夋嫨鎵撳嵃鍒嗙被">
+                <el-option v-for="(item,index) in getEnumPrintClassifyData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+            <el-form-item label="鎵撳嵃妯℃澘鍚�">
+              <el-input v-model="queryParamsWmsConfigPrint.printTemplate" clearable="" placeholder="璇疯緭鍏ユ墦鍗版ā鏉垮悕"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+            <el-form-item label="鎵撳嵃妯℃澘鍦板潃">
+              <el-input v-model="queryParamsWmsConfigPrint.printTemplateAddr" clearable="" placeholder="璇疯緭鍏ユ墦鍗版ā鏉垮湴鍧�"/>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+            <el-form-item label="鎵撳嵃鏈哄垪琛�">
+              <el-select clearable="" v-model="queryParamsWmsConfigPrint.printerList" placeholder="璇烽�夋嫨鎵撳嵃鏈哄垪琛�">
+                <el-option v-for="(item,index) in dl('PrinterList')" :key="index" :value="item.code" :label="`[${item.code}] ${item.name}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col> -->
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigPrint">
+            <el-form-item label="澶囨敞">
+              <el-input v-model="queryParamsWmsConfigPrint.remark" clearable="" placeholder="璇疯緭鍏ュ娉�"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsConfigPrint" v-auth="'wmsConfigPrint:page'" :disabled="disabled_btnWmsConfigPrint"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsConfigPrint"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsConfigPrint" v-if="!showAdvanceQueryUIWmsConfigPrint" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsConfigPrint" v-if="showAdvanceQueryUIWmsConfigPrint" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsConfigPrint" v-auth="'wmsConfigPrint:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsConfigPrint"  v-auth="'wmsConfigPrint:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsConfigPrint"
+				:data="tableDataWmsConfigPrint"
+				style="width: 100%"
+				v-loading="loadingWmsConfigPrint"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsConfigPrint"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+          <el-table-column prop="printClassify" label="鎵撳嵃鍒嗙被"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.printClassify, getEnumPrintClassifyData_Index)}}
+            </template>
+          </el-table-column>
+        <el-table-column prop="printTemplate" label="鎵撳嵃妯℃澘鍚�"  show-overflow-tooltip="" />
+        <el-table-column prop="printTemplateAddr" label="鎵撳嵃妯℃澘鍦板潃"  show-overflow-tooltip="" />
+        <el-table-column prop="printerList" label="鎵撳嵃鏈哄垪琛�"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="printerList" label="鎵撳嵃鏈哄垪琛�"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag :type="diValue('PrinterList', scope.row.printerList)?.tagType"> {{diValue("PrinterList", scope.row.printerList)?.name}} </el-tag>
+            </template>
+          </el-table-column> -->
+        <el-table-column prop="remark" label="澶囨敞"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsConfigPrint:update') || auth('wmsConfigPrint:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsConfigPrint(scope.row)" v-auth="'wmsConfigPrint:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsConfigPrint(scope.row)" v-auth="'wmsConfigPrint:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsConfigPrint.page"
+				v-model:page-size="tableParamsWmsConfigPrint.pageSize"
+				:total="tableParamsWmsConfigPrint.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsConfigPrint"
+				@current-change="handleCurrentChangeWmsConfigPrint"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsConfigPrint
+        ref="printDialogRefWmsConfigPrint"
+        :title="printWmsConfigPrintTitle"
+        @reloadTable="handleQueryWmsConfigPrint" />
+      <editDialogWmsConfigPrint
+        ref="editDialogRefWmsConfigPrint"
+        :title="editWmsConfigPrintTitle"
+        @reloadTable="handleQueryWmsConfigPrint"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsConfigPrint">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItemByValue as diValue, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+  import printDialogWmsConfigPrint from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogWmsConfigPrint from '/@/views/main/WmsSystemConfig/wmsConfigPrint/component/editDialog.vue'
+  import { pageWmsConfigPrint, deleteWmsConfigPrint,importExcelWmsConfigPrint,downloadExcelTemplateWmsConfigPrint } from '/@/api/main/WmsSystemConfig/wmsConfigPrint';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumPrintClassifyData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[鎵撳嵃閰嶇疆琛ㄦ搷浣淽寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsConfigPrint = ref(false);
+  const tableRefWmsConfigPrint = ref(null);
+  const printDialogRefWmsConfigPrint = ref();
+  const editDialogRefWmsConfigPrint = ref();
+  const loadingWmsConfigPrint = ref(false);
+  const disabled_btnWmsConfigPrint = ref(false);
+  const tableDataWmsConfigPrint = ref<any>([]);
+  const queryParamsWmsConfigPrint = ref<any>({});
+  const tableParamsWmsConfigPrint = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsConfigPrintTitle = ref("");
+  const editWmsConfigPrintTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsConfigPrint = () => {
+    showAdvanceQueryUIWmsConfigPrint.value = !showAdvanceQueryUIWmsConfigPrint.value;
+  }
+
+  // 鏌ヨ鎵撳嵃閰嶇疆琛�
+  const handleQueryWmsConfigPrint = async () => {
+    loadingWmsConfigPrint.value = true;
+    disabled_btnWmsConfigPrint.value = true;
+    var res = await pageWmsConfigPrint(Object.assign(queryParamsWmsConfigPrint.value, tableParamsWmsConfigPrint.value));
+    if(res.data.type=="success"){
+      tableDataWmsConfigPrint.value = res.data.result?.items ?? [];
+      tableParamsWmsConfigPrint.value.total = res.data.result?.total;
+    }
+    loadingWmsConfigPrint.value = false;
+    disabled_btnWmsConfigPrint.value = false;
+  };
+
+  // 閲嶇疆鎵撳嵃閰嶇疆琛ㄦ煡璇�
+  const resetWmsConfigPrint = async () => {
+    queryParamsWmsConfigPrint.value = {}
+  };
+
+  // 鎵撳嵃閰嶇疆琛ㄥ垪鎺掑簭
+  const sortChangeWmsConfigPrint = async (column: any) => {
+	queryParamsWmsConfigPrint.value.field = column.prop;
+	queryParamsWmsConfigPrint.value.order = column.order;
+	await handleQueryWmsConfigPrint();
+  };
+
+  // 鎵撳紑鏂板鎵撳嵃閰嶇疆琛ㄩ〉闈�
+  const openAddWmsConfigPrint = () => {
+    editWmsConfigPrintTitle.value = '娣诲姞鎵撳嵃閰嶇疆琛�';
+    editDialogRefWmsConfigPrint.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃鎵撳嵃閰嶇疆琛ㄩ〉闈�
+  const openPrintWmsConfigPrint = async (row: any) => {
+    printWmsConfigPrintTitle.value = '鎵撳嵃鎵撳嵃閰嶇疆琛�';
+  }
+  
+  // 鎵撳紑缂栬緫鎵撳嵃閰嶇疆琛ㄩ〉闈�
+  const openEditWmsConfigPrint = (row: any) => {
+    editWmsConfigPrintTitle.value = '缂栬緫鎵撳嵃閰嶇疆琛�';
+    editDialogRefWmsConfigPrint.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎鎵撳嵃閰嶇疆琛�
+  const delWmsConfigPrint = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsConfigPrint.value = true;
+    var ret = await deleteWmsConfigPrint(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsConfigPrint.value = false;
+    handleQueryWmsConfigPrint();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉鎵撳嵃閰嶇疆琛ㄩ〉闈㈠閲�
+  const handleSizeChangeWmsConfigPrint = (val: number) => {
+    tableParamsWmsConfigPrint.value.pageSize = val;
+    handleQueryWmsConfigPrint();
+  };
+
+  // 鏀瑰彉鎵撳嵃閰嶇疆琛ㄩ〉鐮佸簭鍙�
+  const handleCurrentChangeWmsConfigPrint = (val: number) => {
+    tableParamsWmsConfigPrint.value.page = val;
+    handleQueryWmsConfigPrint();
+  };
+
+/***************************************************[鎵撳嵃閰嶇疆琛ㄦ搷浣淽缁撴潫***************************************************/
+/***************************************************[鎵撳嵃閰嶇疆琛ㄥ鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsConfigPrint = {
+      getEnumPrintClassifyData_Index,
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsConfigPrint = async (formData:Blob) => {
+    loadingWmsConfigPrint.value = true;
+    disabled_btnWmsConfigPrint.value = true;
+    var new_tableParamsWmsConfigPrint=JSON.parse(JSON.stringify(tableParamsWmsConfigPrint.value));
+    new_tableParamsWmsConfigPrint.page = 1;
+    new_tableParamsWmsConfigPrint.pageSize = 100000;
+    var res = await pageWmsConfigPrint(Object.assign(queryParamsWmsConfigPrint.value, new_tableParamsWmsConfigPrint));
+    if(res.data.type=="success"){
+      exportExcelWmsConfigPrint(res.data.result?.items ?? []);
+    }
+    loadingWmsConfigPrint.value = false;
+    disabled_btnWmsConfigPrint.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsConfigPrint  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsConfigPrint,"鎵撳嵃閰嶇疆琛�",functionMapWmsConfigPrint);
+};
+/***************************************************[鎵撳嵃閰嶇疆琛ㄥ鍑篯缁撴潫***************************************************/
+  // 鎵撳嵃閰嶇疆琛ㄩ〉闈㈠姞杞芥椂
+  onMounted(async () => {
+    getEnumPrintClassifyData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PrintClassifyEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsConfigPrint();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component/editDialog.vue
new file mode 100644
index 0000000..b912d61
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component/editDialog.vue
@@ -0,0 +1,172 @@
+锘�<template>
+	<div class="wmsConfigUnshelveStrategy-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绛栫暐浠g爜" prop="strategyCode">
+							<el-input v-model="ruleForm.strategyCode" placeholder="璇疯緭鍏ョ瓥鐣ヤ唬鐮�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绛栫暐鍚嶇О" prop="strategyName">
+							<el-input v-model="ruleForm.strategyName" placeholder="璇疯緭鍏ョ瓥鐣ュ悕绉�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绛栫暐鐢熸晥鏃堕棿" prop="startTime">
+							<el-date-picker v-model="ruleForm.startTime" type="date" placeholder="绛栫暐鐢熸晥鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绛栫暐澶辨晥鏃堕棿" prop="endTime">
+							<el-date-picker v-model="ruleForm.endTime" type="date" placeholder="绛栫暐澶辨晥鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsConfigUnshelveStrategy, updateWmsConfigUnshelveStrategy, detailWmsConfigUnshelveStrategy } from "/@/api/main/WmsSystemConfig/wmsConfigUnshelveStrategy";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		strategyCode: [{required: true, message: '璇疯緭鍏ョ瓥鐣ヤ唬鐮侊紒', trigger: 'blur',},],
+		strategyName: [{required: true, message: '璇疯緭鍏ョ瓥鐣ュ悕绉帮紒', trigger: 'blur',},],
+		isDisabled: [{required: true, message: '璇烽�夋嫨鏄惁绂佺敤锛�', trigger: 'change',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsConfigUnshelveStrategy(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+			ruleForm.value.isDisabled = false;//蹇呭~锛岃祴鍊奸粯璁ゅ��
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsConfigUnshelveStrategy(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsConfigUnshelveStrategy(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component/openDialogCl.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component/openDialogCl.vue
new file mode 100644
index 0000000..810aa60
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component/openDialogCl.vue
@@ -0,0 +1,635 @@
+<template>
+	<div class="wmsRecordTrans-container">
+		<el-dialog v-model="dialogVisible" :title="dialogType == 'add' ? '娣诲姞' : dialogType == 'edit' ? '缂栬緫' : '璇︽儏'" width="60%" @close="closeDialog">
+			<el-form :model="addForm" label-width="110px" ref="dialogRef" :rules="formRules">
+				<el-row>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绛栫暐浠g爜" prop="strategyCode">
+							<el-input :disabled="dialogType != 'add'" v-model="addForm.strategyCode" placeholder="璇疯緭鍏ョ瓥鐣ヤ唬鐮�" maxlength="50" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绛栫暐鍚嶇О" prop="strategyName">
+							<el-input :disabled="dialogType == 'detail'" v-model="addForm.strategyName" placeholder="璇疯緭鍏ョ瓥鐣ュ悕绉�" maxlength="255" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item   label="绛栫暐鐢熸晥鏃堕棿" prop="startTime">
+							<el-date-picker :disabled="dialogType == 'detail'" v-model="addForm.startTime" type="date" placeholder="绛栫暐鐢熸晥鏃堕棿" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item   label="绛栫暐澶辨晥鏃堕棿" prop="endTime">
+							<el-date-picker :disabled="dialogType == 'detail'" v-model="addForm.endTime" type="date" placeholder="绛栫暐澶辨晥鏃堕棿" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item  :disabled="dialogType == 'detail'" label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch :disabled="dialogType == 'detail'" v-model="addForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+						</el-form-item>
+					</el-col>
+
+				</el-row>
+			</el-form>
+			<!-- 鐩樼偣鐗╂枡 -->
+			<div class="msi-content" style="margin-top: 0">
+				<!-- 绛栫暐閫夋嫨 -->
+				<!-- <open-allprop titleAuthor="1" warehousOrderDetails.sync="WmsConfigUnshelveStrategyChoose"   ref="propALlProp" @getTabelData="handleQuerySelect"></open-allprop> -->
+
+				<div class="header">
+					<div>
+						<el-button type="primary" icon="el-icon-plus" @click="confirmAddMaterial2" v-if="dialogType != 'detail'">鏂板绛栫暐</el-button>
+						<el-button icon="el-icon-delete" plain :disabled="checkedDetails2.length == 0" @click="delCheckedDetails2" v-if="dialogType != 'detail'">鍒犻櫎閫変腑琛�</el-button>
+					</div>
+				</div>
+				<br />
+
+				<el-table :data="warehousOrderDetails2" border style="width: 100%" row-key="id" ref="detailRef" @selection-change="detailsCheckChange2" :max-height="280">
+					<el-table-column align="center" width="60" type="selection" />
+					<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+
+					<el-table-column label="绛栫暐閫夐」" align="center" min-width="100">
+						<template #default="scope">
+							<el-select :disabled="dialogType == 'detail'"  v-model="scope.row.strategyOption" placeholder="璇烽�夋嫨绛栫暐閫夐」">
+								<el-option  v-for="(item, index) in getEnumInputControlData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+							</el-select>
+						</template>
+					</el-table-column>
+
+					<el-table-column label="浼樺厛绾�" align="center" min-width="110">
+						<template #default="scope">
+							<el-select :disabled="dialogType == 'detail'"  v-model="scope.row.priority" placeholder="璇烽�夋嫨浼樺厛绾�">
+								<el-option v-for="(item, index) in getEnumPriorityData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+							</el-select>
+						</template>
+					</el-table-column>
+
+				</el-table>
+				<br />
+
+				<div class="header">
+					<div>
+						<el-button type="primary" icon="el-icon-plus" @click="addMaterialDialog" v-if="dialogType != 'detail'">鏂板鐗╂枡</el-button>
+						<el-button icon="el-icon-delete" plain :disabled="checkedDetails.length == 0" @click="delCheckedDetails" v-if="dialogType != 'detail'">鍒犻櫎閫変腑琛�</el-button>
+						<!-- <el-button icon="el-icon-download" plain @click="getMaterialTemplate"
+                >涓嬭浇瀵煎叆妯℃澘</el-button
+              >
+              <el-button icon="el-icon-upload2" plain @click="openUploadDialog"
+                >鎵归噺瀵煎叆</el-button
+              > -->
+					</div>
+					<br />
+				</div>
+				<el-table :data="warehousOrderDetails" border style="width: 100%" row-key="wareMaterialCode" ref="detailRef" @selection-change="detailsCheckChange" max-height="480">
+					<el-table-column align="center" width="60" type="selection" />
+					<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+					<el-table-column label="鐗╂枡缂栧彿" min-width="140" prop="materialCode" align="center" show-overflow-tooltip />
+					<el-table-column label="鐗╂枡鍚嶇О" min-width="140" prop="materialName" align="center" show-overflow-tooltip />
+
+					<!-- <el-table-column label="閲囪喘鍗曚綅" prop="poUnit" align="center" min-width="140" show-overflow-tooltip /> -->
+					<!-- <el-table-column label="鏁伴噺" align="center" width="180">
+            <template #default="scope">
+              <el-input-number :precision="3" min="0" v-model="scope.row.quantity" size="small" />
+            </template>
+          </el-table-column> -->
+				</el-table>
+			</div>
+			<template #footer>
+				<span class="dialog-footer">
+					<!-- <el-button @click="planBl" v-if="addForm.CheckType == 0 && dialogType != 'detail'">璁$畻姣斾緥</el-button> -->
+					<el-button @click="dialogVisible = false">鍙栨秷</el-button>
+					<el-button v-if="dialogType != 'detail'" type="primary" :disabled="disabled_btn" @click="confirm">纭</el-button>
+				</span>
+			</template>
+		</el-dialog>
+		<!-- 娣诲姞鐗╂枡 -->
+		<el-dialog v-model="addMaterialVisible" title="娣诲姞鐗╂枡璇︽儏" width="60%" @close="closeMaterialDialog">
+			<div class="msi-form" style="padding-top: 0px">
+				<el-form :model="materialForm" label-width="90px">
+					<el-row>
+						<el-col :span="8">
+							<el-form-item label="鐗╂枡缂栧彿">
+								<el-input v-model="materialForm.MaterialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+							</el-form-item>
+						</el-col>
+
+						<el-col :span="8">
+							<el-form-item label="鐗╂枡鍚嶇О:">
+								<el-input v-model="materialForm.MaterialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" clearable></el-input>
+							</el-form-item>
+						</el-col>
+
+						<!-- <el-col :span="8">
+              <el-form-item label="鎵规:">
+                  <el-input v-model="materialForm.BatchNo" placeholder="璇疯緭鍏ョ墿鏂欐壒娆�" clearable></el-input>
+              </el-form-item>
+            </el-col> -->
+
+						<el-col :span="8">
+							<el-form-item>
+								<el-button type="primary" icon="el-icon-search" @click="getMaterialList">鏌ヨ</el-button>
+								<!-- <el-button icon="el-icon-refresh-right" @click="resetMaterialForm"
+                    >閲嶇疆</el-button
+                  > -->
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-form>
+			</div>
+			<br />
+			<div class="msi-content" style="padding-top: 0; margin-top: 0px">
+				<el-table :data="materialList" border style="width: 100%" row-key="wareMaterialCode" ref="materialRef" @selection-change="materialSelectionChange">
+					<el-table-column align="center" width="60" type="selection" />
+					<el-table-column label="搴忓彿" align="center" width="60" type="index" />
+					<el-table-column label="鐗╂枡缂栧彿" prop="materialCode" align="center" min-width="140" show-overflow-tooltip />
+					<el-table-column label="鐗╂枡鍚嶇О" prop="materialName" align="center" min-width="140" show-overflow-tooltip />
+					<el-table-column label="閲囪喘鍗曚綅" prop="poUnit" align="center" min-width="140" show-overflow-tooltip />
+				</el-table>
+				<Pagination
+					:total="materialTotal"
+					v-model:page="materialForm.Page"
+					v-model:limit="materialForm.PageSize"
+					@pagination="getMaterialList"
+					style="margin-top: 20px; text-align: center"
+				></Pagination>
+			</div>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="addMaterialVisible = false">鍙栨秷</el-button>
+					<el-button type="primary" @click="confirmAddMaterial">纭</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup>
+import { ref, nextTick, computed, watch, onMounted, getCurrentInstance } from 'vue';
+import { getCheckPlanRange, passCheckTjPlan, passCheckChPlan } from '/@/api/main/Check/checkOrder';
+
+import { ElMessage, ElMessageBox } from 'element-plus';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+import Pagination from '/@/components/Pagination/index.vue';
+const loading = ref(false);
+
+import { pageWmsMaterial } from '/@/api/main/WmsBase/wmsMaterial';
+
+import { addWmsConfigUnshelveStrategy, detailWmsConfigUnshelveStrategy, updateWmsConfigUnshelveStrategy } from '/@/api/main/WmsSystemConfig/wmsConfigUnshelveStrategy';
+
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜v
+const emits = defineEmits(['getTabelData']);
+
+const getEnumCheckModeData_Index = ref<any>([]);
+
+//閫変腑鐨勮
+const checkRows = ref<{ id: number }[]>([]);
+
+// 閫夋嫨
+const handleSelectionChange = (val: any) => {
+	checkRows.value = val;
+};
+
+//-------------------------鐩樼偣璁″垝鑼冨洿-------------------------
+//鍏ュ簱鍗曚笅鐗╂枡璇︽儏璇锋眰
+const detailForm = ref({
+	orderId: '',
+	CheckType: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+// 鐗╂枡璇︽儏鎶藉眽
+const drawerVisible = ref(false);
+
+//鍗曟嵁鍙�
+const orderNo = ref('');
+
+//鎵撳紑鎶藉眽
+const openDrawer = (scope: any = {}) => {
+	//褰撳墠鍏ュ簱鍗曞彿id
+	detailForm.value.orderId = scope.id;
+	detailForm.value.CheckType = scope.checkType;
+	//璁″垝鍙�
+	orderNo.value = scope.orderNo;
+	//鑾峰彇鐗╂枡鍒楄〃
+	getDetail();
+	drawerVisible.value = true;
+};
+
+//鍏抽棴鎶藉眽
+const handleDrawerClose = () => {
+	detailForm.value = {
+		orderId: '',
+		CheckType: '',
+		Page: 1,
+		PageSize: 10,
+	};
+
+	deltailList.value = [];
+	detailCount.value = 0;
+};
+
+//鐩樼偣璁″垝鑼冨洿鍒楄〃
+const deltailList = ref<any[]>([]);
+
+//鐩樼偣璁″垝鑼冨洿鏁版嵁鏉℃暟
+const detailCount = ref(0);
+
+const getDetail = () => {
+	getCheckPlanRange(detailForm.value)
+		.then((res) => {
+			if (res.code == 200) {
+				const { data } = res;
+				const result = data;
+				deltailList.value = result.rows;
+				detailCount.value = result.totalRows;
+			} else {
+				ElMessage.error(JSON.stringify(`鑾峰彇璁″垝鑼冨洿澶辫触${res.code}:${JSON.stringify(res.message)}`));
+			}
+		})
+		.catch((err) => ElMessage.error(JSON.stringify(err)));
+};
+
+//绐楀彛绫诲瀷
+const dialogType = ref('add');
+
+const dialogVisible = ref(false);
+
+//鎿嶄綔琛ㄥ崟ref
+const dialogRef = ref();
+
+const loadingWmsInventoryCheckPlanDetails = ref(false);
+const disabled_btnWmsInventoryCheckPlanDetails = ref(false);
+
+const getPlanDetail = async (id: number, checkType: number) => {
+	loadingWmsInventoryCheckPlanDetails.value = true;
+	disabled_btnWmsInventoryCheckPlanDetails.value = true;
+	var res = await detailWmsConfigUnshelveStrategy({
+		StrategyId: id,
+	});
+	if (res.data.type == 'success') {
+		warehousOrderDetails2.value = res.data.result.wmsConfigUnshelveStrategyChooseList ?? [];
+		warehousOrderDetails.value = res.data.result.wmsConfigUnshelveStrategyRangeList ?? [];
+	}
+	loadingWmsInventoryCheckPlanDetails.value = false;
+	disabled_btnWmsInventoryCheckPlanDetails.value = false;
+};
+
+const getEnumInputControlData = ref<any>([]);
+const getEnumPriorityData = ref<any>([]);
+//鎵撳紑绐楀彛
+const openDialog = async (type: number, scope: any = {}) => {
+	dialogVisible.value = true;
+	getEnumInputControlData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StrategyOptionEnum')).data.result ?? [];
+	getEnumPriorityData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PriorityEnum')).data.result ?? [];
+	warehousOrderDetails2.value = [];
+	warehousOrderDetails.value = []
+
+	debugger;
+	if (type == 1) {
+		dialogType.value = 'add';
+	} else if (type == 2) {
+		dialogType.value = 'edit';
+		addForm.value = JSON.parse(JSON.stringify(scope));
+		// addForm.value.CreateDate = [scope.planStartDate, scope.planEndDate];
+		getPlanDetail(scope.id, scope.checkType);
+	} else if (type == 3) {
+		dialogType.value = 'detail';
+		addForm.value = JSON.parse(JSON.stringify(scope));
+		// addForm.value.CreateDate = [scope.planStartDate, scope.planEndDate];
+		getPlanDetail(scope.id, scope.checkType);
+	}
+
+	nextTick(() => {
+		if (dialogRef) {
+			dialogRef.value.clearValidate();
+		}
+	});
+};
+
+//娣诲姞/缂栬緫
+let addForm = ref({
+	checkMode: '',
+	planDate: '',
+	remarks: '',
+	areaName: [],
+	areaCode: [],
+	materials: [] as { wareMaterialCode: string }[],
+});
+//鏃堕棿閫夋嫨涓嶈兘澶т簬褰撳墠鏃堕棿
+const disabledDate = (time: Date) => {
+	return time.getTime() < Date.now();
+};
+
+//rules
+const formRules = {
+	strategyCode: [{ required: true, message: '璇疯緭鍏ョ瓥鐣ヤ唬鐮侊紒', trigger: 'blur' }],
+	strategyName: [{ required: true, message: '璇疯緭鍏ョ瓥鐣ュ悕绉帮紒', trigger: 'blur' }],
+	// isDisabled: [{required: true, message: '璇烽�夋嫨鏄惁绂佺敤锛�', trigger: 'change',},],
+	// isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+};
+const disabled_btn = ref(false);
+const WmsConfigUnshelveStrategyChoose = ref([]);
+//鎿嶄綔鎻愪氦
+const confirm = () => {
+	dialogRef.value.validate(async (vali: any) => {
+		if (vali) {
+			// addForm.value.materials = warehousOrderDetails.value;
+			var param = JSON.parse(JSON.stringify(addForm.value));
+			var WmsConfigUnshelveStrategyRange = warehousOrderDetails.value || [];
+			var WmsConfigUnshelveStrategyChoose = warehousOrderDetails2.value || [];
+			var pram = {
+				...param,
+				WmsConfigUnshelveStrategyChoose: WmsConfigUnshelveStrategyChoose,
+				WmsConfigUnshelveStrategyRange: WmsConfigUnshelveStrategyRange,
+			};
+			//娣诲姞
+			if (dialogType.value == 'add') {
+				disabled_btn.value = true;
+				loading.value = true;
+				let ret = {};
+				ret = await addWmsConfigUnshelveStrategy(pram);
+				loading.value = false;
+				disabled_btn.value = false;
+				if (ret.data.type == 'success') {
+					ElMessage.success('鏂板鎴愬姛');
+					emits('getTabelData');
+					dialogVisible.value = false;
+				}
+			} else if (dialogType.value == 'edit') {
+				loading.value = true;
+				disabled_btn.value = true;
+				let ret = {};
+				ret = await updateWmsConfigUnshelveStrategy(pram);
+				loading.value = false;
+				disabled_btn.value = false;
+				if (ret.data.type == 'success') {
+					ElMessage.success('缂栬緫鎴愬姛');
+					emits('getTabelData');
+					dialogVisible.value = false;
+				}
+			} else {
+				dialogVisible.value = false;
+			}
+		} else {
+			ElMessage.warning('琛ㄥ崟楠岃瘉澶辫触');
+		}
+	});
+};
+
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+	addForm.value = {
+		checkMode: '',
+		planDate: '',
+		remarks: '',
+		areaName: [],
+		areaCode: [],
+		materials: [] as { wareMaterialCode: string }[],
+	};
+	warehousOrderDetails.value = [];
+	checkedDetails.value = [];
+	disabled_btn.value = false;
+	detailRef.value.clearSelection();
+};
+
+// ---------------鏉愭枡鐩樼偣鍒楄〃-------------------------
+//鐗╂枡璇︽儏鐨則able ref
+const detailRef = ref();
+
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃閫変腑鐨勭墿鏂�
+const checkedDetails = ref<any[]>([]);
+
+//鐗╂枡璇︽儏鍒楄〃涓嬀閫変簨浠�
+const detailsCheckChange = (val: any) => {
+	checkedDetails.value = val;
+};
+const detailsCheckChange2 = (val: any) => {
+	checkedDetails2.value = val;
+};
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails = () => {
+	ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			checkedDetails.value.forEach((item) => {
+				const index = warehousOrderDetails.value.findIndex((detail) => detail.wareMaterialCode == item.wareMaterialCode);
+				warehousOrderDetails.value.splice(index, 1);
+			});
+		})
+		.catch(() => ElMessage.info('宸插彇娑堝垹闄�'));
+};
+
+// -----------------娣诲姞鐗╂枡鎿嶄綔-------------------------
+//鐗╂枡鍩虹鏁版嵁绐楀彛
+const addMaterialVisible = ref(false);
+
+//鐗╂枡鍩虹鏁版嵁鍒楄〃
+const materialList = ref([]);
+
+//鐗╂枡鍩虹鏁版嵁鏉℃暟
+const materialTotal = ref(0);
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+	WareMaterialCode: '',
+	WareMaterialName: '',
+	BatchNo: '',
+	Page: 1,
+	PageSize: 10,
+});
+
+//鑾峰彇鐗╂枡鍩虹鍒楄〃
+const getMaterialList = async () => {
+	debugger;
+
+	loading.value = true;
+	// var res = await pageWmsMaterial(Object.assign(queryParams.value, tableParams.value));
+	var res = await pageWmsMaterial(Object.assign(materialForm.value));
+
+	materialList.value = res.data.result?.items ?? [];
+	//tableParams.value.total = res.data.result?.total;
+	materialTotal.value = res.data.result?.total;
+	loading.value = false;
+};
+
+//閲嶇疆鐗╂枡
+const resetMaterialForm = () => {
+	materialForm.value = {
+		WareMaterialCode: '',
+		WareMaterialName: '',
+		BatchNo: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	getMaterialList();
+};
+
+//閫変腑鐨勫熀纭�鐗╂枡鏁版嵁
+const checkedMaterial = ref<any[]>([]);
+
+//鐗╂枡鍩虹鏁版嵁鍕鹃��
+const materialSelectionChange = (val: any) => {
+	checkedMaterial.value = val;
+};
+
+//鎵撳紑鏂板鐗╂枡绐楀彛
+const addMaterialDialog = () => {
+	getMaterialList();
+	addMaterialVisible.value = true;
+};
+
+//鍩虹鐗╂枡table鐨剅ef瀵硅薄
+const materialRef = ref();
+
+//纭娣诲姞鏉愭枡
+const confirmAddMaterial = () => {
+	//鐗╂枡鍒楄〃娌℃暟鎹紝鐩存帴娣诲姞
+	if (warehousOrderDetails.value.length == 0) {
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	} else {
+		for (let i = 0; i < checkedMaterial.value.length; i++) {
+			let idx = warehousOrderDetails.value.findIndex((item: any) => item.materialCode == checkedMaterial.value[i].materialCode);
+			if (idx > -1) {
+				return ElMessage.warning(`鐗╂枡缂栧彿${checkedMaterial.value[i].materialCode}鍦ㄧ墿鏂欏垪琛ㄤ腑宸插瓨鍦�,璇峰幓闄ゅ嬀閫塦);
+			}
+		}
+		warehousOrderDetails.value.push(...checkedMaterial.value);
+	}
+
+	addMaterialVisible.value = false;
+};
+
+//鍏抽棴鏂板鐗╂枡绐楀彛
+const closeMaterialDialog = () => {
+	materialForm.value = {
+		WareMaterialCode: '',
+		WareMaterialName: '',
+		BatchNo: '',
+		Page: 1,
+		PageSize: 10,
+	};
+	materialList.value = [];
+	checkedMaterial.value = [];
+	materialRef.value.clearSelection();
+};
+
+//鎻愪氦
+const pass = (orderNo: string) => {
+	ElMessageBox.confirm('鏄惁纭鎻愪氦锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			passCheckTjPlan({ OrderNo: orderNo })
+				.then()
+				.then((res) => {
+					if (res.code == 200) {
+						ElMessage.success('鎻愪氦鎴愬姛');
+						getTabelData();
+						dialogVisible.value = false;
+					} else {
+						ElMessage.error(`澶辫触${res.code}:${JSON.stringify(res.message)}`);
+					}
+				})
+				.catch((err) => ElMessage.error(JSON.stringify(err)));
+		})
+		.catch(() => ElMessage.info('宸插彇娑�'));
+};
+//鎾ゅ洖
+const passCh = (orderNo: string) => {
+	ElMessageBox.confirm('鏄惁纭鎾ゅ洖锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			passCheckChPlan({ OrderNo: orderNo })
+				.then()
+				.then((res) => {
+					if (res.code == 200) {
+						ElMessage.success('鎾ゅ洖鎴愬姛');
+						getTabelData();
+						dialogVisible.value = false;
+					} else {
+						ElMessage.error(`澶辫触${res.code}:${JSON.stringify(res.message)}`);
+					}
+				})
+				.catch((err) => ElMessage.error(JSON.stringify(err)));
+		})
+		.catch(() => ElMessage.info('宸插彇娑�'));
+};
+
+//鏃堕棿
+const detailTimeArr = ref([]);
+
+const showAdvanceQueryUI = ref(false);
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUI = () => {
+	showAdvanceQueryUI.value = !showAdvanceQueryUI.value;
+};
+
+const handleQuerySelect = () => {
+};
+
+const getEnumCheckStageData_Index = ref<any>([]);
+const getEnumIsAuditData_Index = ref<any>([]);
+
+const { getEnumDesc } = commonFunction();
+
+onMounted(async () => {
+	getEnumCheckModeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckModeEnum')).data.result ?? [];
+	getEnumCheckStageData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CheckStageEnum')).data.result ?? [];
+	getEnumIsAuditData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+});
+
+const warehousOrderDetails2 = ref<any[]>([]);
+const confirmAddMaterial2 = () => {
+	warehousOrderDetails2.value.push({
+		id: warehousOrderDetails2.value.length + 1,
+	});
+};
+const checkedDetails2 = ref<any[]>([]);
+//鍒犻櫎閫変腑鐨勭墿鏂欒鎯�
+const delCheckedDetails2 = () => {
+	ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			checkedDetails2.value.forEach((item) => {
+				const index = warehousOrderDetails2.value.findIndex((detail) => detail.id == item.id);
+				warehousOrderDetails2.value.splice(index, 1);
+			});
+			checkedDetails2.value = [];
+			// detailRef.value.clearSelection();
+		})
+		.catch(() => ElMessage.info('宸插彇娑堝垹闄�'));
+};
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog, openDrawer });
+</script>
+<style lang="less">
+.el-dialog__title {
+	color: white !important;
+	font-size: 14px;
+}
+
+.under_line {
+	color: #f18201;
+	text-decoration: underline;
+	cursor: pointer;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/index.vue
new file mode 100644
index 0000000..433c0e8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/index.vue
@@ -0,0 +1,291 @@
+锘�<template>
+	<div class="wmsConfigUnshelveStrategy-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="queryParamsWmsConfigUnshelveStrategy" ref="queryForm" labelWidth="90">
+				<el-row>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+						<el-form-item label="鍏抽敭瀛�">
+							<el-input v-model="queryParamsWmsConfigUnshelveStrategy.searchKey" clearable="" placeholder="绛栫暐浠g爜,绛栫暐鍚嶇О,鍒涘缓浜�,淇敼浜�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigUnshelveStrategy">
+						<el-form-item label="绛栫暐浠g爜">
+							<el-input v-model="queryParamsWmsConfigUnshelveStrategy.strategyCode" clearable="" placeholder="璇疯緭鍏ョ瓥鐣ヤ唬鐮�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigUnshelveStrategy">
+						<el-form-item label="绛栫暐鍚嶇О">
+							<el-input v-model="queryParamsWmsConfigUnshelveStrategy.strategyName" clearable="" placeholder="璇疯緭鍏ョ瓥鐣ュ悕绉�" />
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigUnshelveStrategy">
+						<el-form-item label="鐗╂枡缂栧彿">
+							<el-input v-model="queryParamsWmsConfigUnshelveStrategy.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigUnshelveStrategy">
+						<el-form-item label="绛栫暐鐢熸晥鏃堕棿">
+							<el-date-picker placeholder="璇烽�夋嫨绛栫暐鐢熸晥鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsConfigUnshelveStrategy.startTimeRange" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigUnshelveStrategy">
+						<el-form-item label="绛栫暐澶辨晥鏃堕棿">
+							<el-date-picker placeholder="璇烽�夋嫨绛栫暐澶辨晥鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsConfigUnshelveStrategy.endTimeRange" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsConfigUnshelveStrategy">
+						<el-form-item label="鏄惁绂佺敤">
+							<el-select clearable="" v-model="queryParamsWmsConfigUnshelveStrategy.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+								<el-option v-for="(item, index) in getEnumIsDisabledData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+						<el-form-item>
+							<el-button-group style="display: flex; align-items: center">
+								<el-button type="primary" icon="ele-Search" @click="handleQueryWmsConfigUnshelveStrategy" v-auth="'wmsConfigUnshelveStrategy:page'" :disabled="disabled_btnWmsConfigUnshelveStrategy">
+									鏌ヨ
+								</el-button>
+								<el-button icon="ele-Refresh" @click="resetWmsConfigUnshelveStrategy"> 閲嶇疆 </el-button>
+								<el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsConfigUnshelveStrategy" v-if="!showAdvanceQueryUIWmsConfigUnshelveStrategy" style="margin-left: 5px"> 楂樼骇鏌ヨ </el-button>
+								<el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsConfigUnshelveStrategy" v-if="showAdvanceQueryUIWmsConfigUnshelveStrategy" style="margin-left: 5px"> 闅愯棌 </el-button>
+								<!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsConfigUnshelveStrategy" v-auth="'wmsConfigUnshelveStrategy:add'"> 鏂板 </el-button> -->
+								<el-button type="primary" style="margin-left: 5px" icon="ele-Plus" @click="showProp(1)" v-auth="'wmsConfigUnshelveStrategy:add'"> 鏂板 </el-button>
+							</el-button-group>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</el-card>
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table
+				ref="tableRefWmsConfigUnshelveStrategy"
+				:data="tableDataWmsConfigUnshelveStrategy"
+				style="width: 100%"
+				:summary-method="getExportTitle"
+				show-summary
+				v-loading="loadingWmsConfigUnshelveStrategy"
+				tooltip-effect="light"
+				row-key="id"
+				@sort-change="sortChangeWmsConfigUnshelveStrategy"
+				border=""
+			>
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+
+				<el-table-column label="绛栫暐浠g爜" prop="strategyCode" width="150" align="left" show-overflow-tooltip>
+					<template #default="scope">
+						<span class="under_line" @click="showProp(scope.row,3)">
+							{{ scope.row.strategyCode }}
+						</span>
+					</template>
+				</el-table-column>
+
+				<el-table-column prop="strategyName" label="绛栫暐鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="startTime" label="绛栫暐鐢熸晥鏃堕棿" min-width="110px" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+				<el-table-column prop="endTime" label="绛栫暐澶辨晥鏃堕棿" min-width="110px" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+				<el-table-column prop="isDisabled" label="鏄惁绂佺敤" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+						<el-tag type="danger" v-else> 鍚� </el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+				<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+				<el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+				<el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsConfigUnshelveStrategy:update') || auth('wmsConfigUnshelveStrategy:delete')">
+					<template #default="scope">
+						<el-button icon="ele-Edit" size="small" text="" type="primary" @click="showProp(scope.row, 2)" v-auth="'wmsConfigUnshelveStrategy:update'"> 缂栬緫 </el-button>
+						<el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsConfigUnshelveStrategy(scope.row)" v-auth="'wmsConfigUnshelveStrategy:delete'"> 鍒犻櫎 </el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="tableParamsWmsConfigUnshelveStrategy.page"
+				v-model:page-size="tableParamsWmsConfigUnshelveStrategy.pageSize"
+				:total="tableParamsWmsConfigUnshelveStrategy.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsConfigUnshelveStrategy"
+				@current-change="handleCurrentChangeWmsConfigUnshelveStrategy"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+			<printDialogWmsConfigUnshelveStrategy ref="printDialogRefWmsConfigUnshelveStrategy" :title="printWmsConfigUnshelveStrategyTitle" @reloadTable="handleQueryWmsConfigUnshelveStrategy" />
+			<editDialogWmsConfigUnshelveStrategy ref="editDialogRefWmsConfigUnshelveStrategy" :title="editWmsConfigUnshelveStrategyTitle" @reloadTable="handleQueryWmsConfigUnshelveStrategy" />
+		</el-card>
+
+		<!-- 鎵�鏈夊脊妗� 锛氭柊澧� 缂栬緫 璇︽儏 -->
+		<open-allprop titleAuthor="1" hexiao="0" ref="propALlProp" @getTabelData="handleQueryWmsConfigUnshelveStrategy"></open-allprop>
+	</div>
+</template>
+
+<script lang="ts" setup="" name="wmsConfigUnshelveStrategy">
+import { ref, onMounted, getCurrentInstance } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { auth } from '/@/utils/authFunction';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+
+import OpenAllprop from './component/openDialogCl.vue';
+
+import printDialogWmsConfigUnshelveStrategy from '/@/views/system/print/component/hiprint/preview.vue';
+import editDialogWmsConfigUnshelveStrategy from '/@/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component/editDialog.vue';
+import {
+	pageWmsConfigUnshelveStrategy,
+	deleteWmsConfigUnshelveStrategy,
+	importExcelWmsConfigUnshelveStrategy,
+	downloadExcelTemplateWmsConfigUnshelveStrategy,
+} from '/@/api/main/WmsSystemConfig/wmsConfigUnshelveStrategy';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import commonFunction from '/@/utils/commonFunction';
+
+const getEnumIsDisabledData_Index = ref<any>([]);
+
+/***************************************************[涓嬫灦绛栫暐鎿嶄綔]寮�濮�***************************************************/
+
+import { ExcellTableDataExport } from '/@/hooks/exportTableDataExcell';
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+
+// ------------灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬---------------
+const jsonExcellTableExport = {
+	titleName: '', //瀵煎嚭琛ㄦ牸鍚嶇О
+	interfaceListName: '', //瀵煎嚭鎺ュ彛鍚嶇О
+};
+const { getExportTitle, handleExportExcell, formExport, entozhExcell } = ExcellTableDataExport(jsonExcellTableExport);
+// --------------end 灏佽瀵煎嚭鍔熻兘--鍓嶇瀵煎嚭+琛ㄦ牸鏍囬-----------------
+// ---------------鏂板-----------------------
+const showProp = (item?: any, type?: any) => {
+	debugger;
+	if (item == 1) {
+		// 鏂板
+		proxy.$refs['propALlProp'].openDialog(1);
+	}
+	if (type == 2) {
+		//缂栬緫
+		proxy.$refs['propALlProp'].openDialog(2, item);
+	}
+  if (type == 3) {
+		//璇︽儏
+		proxy.$refs['propALlProp'].openDialog(3, item);
+	}
+};
+// ---------------璇︽儏-----------------------
+const openDrawer = (type: number, item?: any) => {
+	proxy.$refs['propALlProp'].openDrawer(type, item, entozhExcell);
+};
+// ---------------end璇︽儏-----------------------
+
+const showAdvanceQueryUIWmsConfigUnshelveStrategy = ref(false);
+const tableRefWmsConfigUnshelveStrategy = ref(null);
+const printDialogRefWmsConfigUnshelveStrategy = ref();
+const editDialogRefWmsConfigUnshelveStrategy = ref();
+const loadingWmsConfigUnshelveStrategy = ref(false);
+const disabled_btnWmsConfigUnshelveStrategy = ref(false);
+const tableDataWmsConfigUnshelveStrategy = ref<any>([]);
+const queryParamsWmsConfigUnshelveStrategy = ref<any>({});
+const tableParamsWmsConfigUnshelveStrategy = ref({
+	page: 1,
+	pageSize: 10,
+	total: 0,
+});
+
+const printWmsConfigUnshelveStrategyTitle = ref('');
+const editWmsConfigUnshelveStrategyTitle = ref('');
+
+// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+const changeAdvanceQueryUIWmsConfigUnshelveStrategy = () => {
+	showAdvanceQueryUIWmsConfigUnshelveStrategy.value = !showAdvanceQueryUIWmsConfigUnshelveStrategy.value;
+};
+
+// 鏌ヨ涓嬫灦绛栫暐
+const handleQueryWmsConfigUnshelveStrategy = async () => {
+	loadingWmsConfigUnshelveStrategy.value = true;
+	disabled_btnWmsConfigUnshelveStrategy.value = true;
+	var res = await pageWmsConfigUnshelveStrategy(Object.assign(queryParamsWmsConfigUnshelveStrategy.value, tableParamsWmsConfigUnshelveStrategy.value));
+	if (res.data.type == 'success') {
+		tableDataWmsConfigUnshelveStrategy.value = res.data.result?.items ?? [];
+		tableParamsWmsConfigUnshelveStrategy.value.total = res.data.result?.total;
+	}
+	loadingWmsConfigUnshelveStrategy.value = false;
+	disabled_btnWmsConfigUnshelveStrategy.value = false;
+};
+
+// 閲嶇疆涓嬫灦绛栫暐鏌ヨ
+const resetWmsConfigUnshelveStrategy = async () => {
+	queryParamsWmsConfigUnshelveStrategy.value = {};
+};
+
+// 涓嬫灦绛栫暐鍒楁帓搴�
+const sortChangeWmsConfigUnshelveStrategy = async (column: any) => {
+	queryParamsWmsConfigUnshelveStrategy.value.field = column.prop;
+	queryParamsWmsConfigUnshelveStrategy.value.order = column.order;
+	await handleQueryWmsConfigUnshelveStrategy();
+};
+
+// 鎵撳紑鏂板涓嬫灦绛栫暐椤甸潰
+const openAddWmsConfigUnshelveStrategy = () => {
+	editWmsConfigUnshelveStrategyTitle.value = '娣诲姞涓嬫灦绛栫暐';
+	editDialogRefWmsConfigUnshelveStrategy.value.openDialog(1, {});
+};
+
+// 鎵撳紑鎵撳嵃涓嬫灦绛栫暐椤甸潰
+const openPrintWmsConfigUnshelveStrategy = async (row: any) => {
+	printWmsConfigUnshelveStrategyTitle.value = '鎵撳嵃涓嬫灦绛栫暐';
+};
+
+// 鎵撳紑缂栬緫涓嬫灦绛栫暐椤甸潰
+const openEditWmsConfigUnshelveStrategy = (row: any) => {
+	editWmsConfigUnshelveStrategyTitle.value = '缂栬緫涓嬫灦绛栫暐';
+	editDialogRefWmsConfigUnshelveStrategy.value.openDialog(2, row);
+};
+
+// 鍒犻櫎涓嬫灦绛栫暐
+const delWmsConfigUnshelveStrategy = (row: any) => {
+	ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			loadingWmsConfigUnshelveStrategy.value = true;
+			var ret = await deleteWmsConfigUnshelveStrategy(row);
+			if (ret.data.type == 'success') {
+				ElMessage.success('鍒犻櫎鎴愬姛');
+			}
+			loadingWmsConfigUnshelveStrategy.value = false;
+			handleQueryWmsConfigUnshelveStrategy();
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉涓嬫灦绛栫暐椤甸潰瀹归噺
+const handleSizeChangeWmsConfigUnshelveStrategy = (val: number) => {
+	tableParamsWmsConfigUnshelveStrategy.value.pageSize = val;
+	handleQueryWmsConfigUnshelveStrategy();
+};
+
+// 鏀瑰彉涓嬫灦绛栫暐椤电爜搴忓彿
+const handleCurrentChangeWmsConfigUnshelveStrategy = (val: number) => {
+	tableParamsWmsConfigUnshelveStrategy.value.page = val;
+	handleQueryWmsConfigUnshelveStrategy();
+};
+
+/***************************************************[涓嬫灦绛栫暐鎿嶄綔]缁撴潫***************************************************/
+// 涓嬫灦绛栫暐椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+	getEnumIsDisabledData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+});
+
+handleQueryWmsConfigUnshelveStrategy();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsNoCreateRule/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsNoCreateRule/component/editDialog.vue
new file mode 100644
index 0000000..1f2ae63
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsNoCreateRule/component/editDialog.vue
@@ -0,0 +1,195 @@
+锘�<template>
+	<div class="wmsNoCreateRule-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瑙勫垯缂栧彿" prop="ruleCode">
+							<el-input v-model="ruleForm.ruleCode" placeholder="璇疯緭鍏ヨ鍒欑紪鍙�" maxlength="255" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瑙勫垯鍚嶇О" prop="ruleName">
+							<el-input v-model="ruleForm.ruleName" placeholder="璇疯緭鍏ヨ鍒欏悕绉�" maxlength="255" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曞彿瑙勫垯" prop="noRule">
+							<el-input v-model="ruleForm.noRule" placeholder="璇疯緭鍏ュ崟鍙疯鍒�" maxlength="255" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍗曟嵁绫诲瀷" prop="orderType">
+							<el-select clearable v-model="ruleForm.orderType" placeholder="璇烽�夋嫨鍗曟嵁绫诲瀷">
+								<el-option v-for="(item, index) in getEnumOrderTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓氬姟绫诲瀷" prop="businessType">
+							<el-select clearable v-model="ruleForm.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+								<el-option v-for="(item, index) in getEnumBusinessTypeData" :key="index" :value="item.businessTypeValue" :label="`[${item.businessTypeValue}] ${item.businessTypeName}`"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="娴佹按鍙锋闀�" prop="serialNoStepSize">
+							<el-input-number :precision="0" min="1" v-model="ruleForm.serialNoStepSize" placeholder="璇疯緭鍏ユ祦姘村彿姝ラ暱" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="娴佹按鍙烽暱搴�" prop="serialNoLength">
+							<el-input-number :precision="0" min="1" v-model="ruleForm.serialNoLength" placeholder="璇疯緭鍏ユ祦姘村彿闀垮害" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏉$爜瑙勫垯鎻忚堪" prop="ruleDesc">
+							<el-input v-model="ruleForm.ruleDesc" placeholder="璇疯緭鍏ユ潯鐮佽鍒欐弿杩�" maxlength="255" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col> -->
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+import { ref, onMounted } from 'vue';
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { ElMessage } from 'element-plus';
+import type { FormRules } from 'element-plus';
+import { addWmsNoCreateRule, updateWmsNoCreateRule, detailWmsNoCreateRule } from '/@/api/main/WmsSystemConfig/wmsNoCreateRule';
+import { handleSlectDataWmsBusinessType } from '/@/utils/selectData';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+import { listWmsBusinessType } from '/@/api/main/WmsBase/wmsBusinessType';
+
+const getEnumOrderTypeData = ref<any>([]);
+const getEnumBusinessTypeData = ref<any>([]);
+//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+var props = defineProps({
+	title: {
+		type: String,
+		default: '',
+	},
+});
+//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+const emit = defineEmits(['reloadTable']);
+const ruleFormRef = ref();
+const isShowDialog = ref(false);
+const loading = ref(false);
+const disabled_btn = ref(false);
+const ruleForm = ref<any>({});
+//鑷娣诲姞鍏朵粬瑙勫垯
+const rules = ref<FormRules>({
+	ruleCode: [{ required: true, message: '璇疯緭鍏ヨ鍒欑紪鍙凤紒', trigger: 'blur' }],
+	ruleName: [{ required: true, message: '璇疯緭鍏ヨ鍒欏悕绉帮紒', trigger: 'blur' }],
+	noRule: [{ required: true, message: '璇疯緭鍏ュ崟鍙疯鍒欙紒', trigger: 'blur' }],
+	orderType: [{ required: true, message: '璇烽�夋嫨鍗曟嵁绫诲瀷锛�', trigger: 'change' }],
+	businessType: [{ required: true, message: '璇烽�夋嫨涓氬姟绫诲瀷锛�', trigger: 'change' }],
+	serialNoStepSize: [{ required: true, message: '璇疯緭鍏ユ祦姘村彿姝ラ暱锛�', trigger: 'blur' }],
+	serialNoLength: [{ required: true, message: '璇疯緭鍏ユ祦姘村彿闀垮害锛�', trigger: 'blur' }],
+	isDisabled: [{ required: true, message: '璇烽�夋嫨鏄惁绂佺敤锛�', trigger: 'change' }],
+	isDelete: [{ required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change' }],
+});
+
+/*
+ * 鎵撳紑寮圭獥
+ * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+ * @param row  琛屾暟鎹�
+ */
+const openDialog = async (flag: number, row: any) => {
+	// ruleForm.value = JSON.parse(JSON.stringify(row));
+	// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+	//涓氬姟绫诲瀷
+	var res = await listWmsBusinessType();
+	res = res.data;
+	if (res && res.code == 200) {
+		getEnumBusinessTypeData.value = res?.result ?? [];
+	}
+	getEnumOrderTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+
+	let rowData = JSON.parse(JSON.stringify(row));
+	if (rowData.id) ruleForm.value = (await detailWmsNoCreateRule(rowData.id)).data.result;
+	else {
+		ruleForm.value = rowData;
+		ruleForm.value.isDisabled = false; //蹇呭~锛岃祴鍊奸粯璁ゅ��
+	}
+	isShowDialog.value = true;
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emit('reloadTable');
+	isShowDialog.value = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	isShowDialog.value = false;
+};
+
+// 鎻愪氦
+const submit = async () => {
+	disabled_btn.value = true;
+	ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+		if (isValid) {
+			loading.value = true;
+			let values = ruleForm.value;
+			let ret = {};
+			let title = '鏂板';
+			if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == '' || ruleForm.value.id == 0) {
+				ret = await addWmsNoCreateRule(values);
+			} else {
+				title = '缂栬緫';
+				ret = await updateWmsNoCreateRule(values);
+			}
+			loading.value = false;
+			disabled_btn.value = false;
+			if (ret.data.type == 'success') {
+				ElMessage.success(title + '鎴愬姛');
+				closeDialog();
+			}
+		} else {
+			disabled_btn.value = false;
+			ElMessage({
+				message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+				type: 'error',
+			});
+		}
+	});
+};
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {});
+
+//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsNoCreateRule/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsNoCreateRule/index.vue
new file mode 100644
index 0000000..96122d6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsNoCreateRule/index.vue
@@ -0,0 +1,336 @@
+锘�<template>
+  <div class="wmsNoCreateRule-container">
+  <!-- 鍗曞彿鐢熸垚瑙勫垯 -->
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsNoCreateRule" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <!-- <el-input v-model="queryParamsWmsNoCreateRule.searchKey" clearable="" placeholder="瑙勫垯缂栧彿,瑙勫垯鍚嶇О,鍗曞彿瑙勫垯,鏉$爜瑙勫垯鎻忚堪,鍒涘缓浜�,淇敼浜�"/> -->
+              <el-input v-model="queryParamsWmsNoCreateRule.searchKey" clearable="" placeholder="瑙勫垯缂栧彿,瑙勫垯鍚嶇О,鍗曞彿瑙勫垯,鏉$爜瑙勫垯鎻忚堪"/>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsNoCreateRule">
+            <el-form-item label="瑙勫垯缂栧彿">
+              <el-input v-model="queryParamsWmsNoCreateRule.ruleCode" clearable="" placeholder="璇疯緭鍏ヨ鍒欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsNoCreateRule">
+            <el-form-item label="瑙勫垯鍚嶇О">
+              <el-input v-model="queryParamsWmsNoCreateRule.ruleName" clearable="" placeholder="璇疯緭鍏ヨ鍒欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsNoCreateRule">
+            <el-form-item label="鍗曞彿瑙勫垯">
+              <el-input v-model="queryParamsWmsNoCreateRule.noRule" clearable="" placeholder="璇疯緭鍏ュ崟鍙疯鍒�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsNoCreateRule">
+            <el-form-item label="鍗曟嵁绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsNoCreateRule.orderType" placeholder="璇烽�夋嫨鍗曟嵁绫诲瀷">
+                <el-option v-for="(item,index) in getEnumOrderTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsNoCreateRule">
+            <el-form-item label="涓氬姟绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsNoCreateRule.businessType" placeholder="璇烽�夋嫨涓氬姟绫诲瀷">
+                <el-option v-for="(item,index) in getEnumBusinessTypeData_Index" :key="index" :value="item.businessTypeValue" :label="`${item.businessTypeName}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsNoCreateRule">
+            <el-form-item label="娴佹按鍙锋闀�">
+              <el-input-number v-model="queryParamsWmsNoCreateRule.serialNoStepSize"  clearable="" placeholder="璇疯緭鍏ユ祦姘村彿姝ラ暱"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsNoCreateRule">
+            <el-form-item label="娴佹按鍙烽暱搴�">
+              <el-input-number v-model="queryParamsWmsNoCreateRule.serialNoLength"  clearable="" placeholder="璇疯緭鍏ユ祦姘村彿闀垮害"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsNoCreateRule">
+            <el-form-item label="鏉$爜瑙勫垯鎻忚堪">
+              <el-input v-model="queryParamsWmsNoCreateRule.ruleDesc" clearable="" placeholder="璇疯緭鍏ユ潯鐮佽鍒欐弿杩�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsNoCreateRule">
+            <el-form-item label="鏄惁绂佺敤">
+              <el-select clearable="" v-model="queryParamsWmsNoCreateRule.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+                <el-option v-for="(item,index) in getEnumIsDisabledData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsNoCreateRule" v-auth="'wmsNoCreateRule:page'" :disabled="disabled_btnWmsNoCreateRule"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsNoCreateRule"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsNoCreateRule" v-if="!showAdvanceQueryUIWmsNoCreateRule" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsNoCreateRule" v-if="showAdvanceQueryUIWmsNoCreateRule" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsNoCreateRule" v-auth="'wmsNoCreateRule:add'"> 鏂板 </el-button>
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsNoCreateRule"  v-auth="'wmsNoCreateRule:exportExcel'" > 瀵煎嚭 </el-button> -->
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsNoCreateRule"
+				:data="tableDataWmsNoCreateRule"
+				style="width: 100%"
+				v-loading="loadingWmsNoCreateRule"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsNoCreateRule"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="ruleCode" label="瑙勫垯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="ruleName" label="瑙勫垯鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="noRule" min-width="220px" label="鍗曞彿瑙勫垯"  show-overflow-tooltip="" />
+          <el-table-column prop="orderType"  label="鍗曟嵁绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.orderType, getEnumOrderTypeData_Index)}}
+              <!-- <el-tag></el-tag> -->
+            </template>
+          </el-table-column>
+          <el-table-column prop="businessType" label="涓氬姟绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+            {{ scope.row.businessType }}
+              <!-- {{ getEnumDesc(scope.row.businessType, getEnumBusinessTypeData_Index)}} -->
+              <!-- <el-tag></el-tag> -->
+            </template>
+          </el-table-column>
+        <el-table-column prop="serialNoStepSize" label="娴佹按鍙锋闀�"  show-overflow-tooltip="" />
+        <el-table-column prop="serialNoLength" label="娴佹按鍙烽暱搴�"  show-overflow-tooltip="" />
+        <el-table-column prop="ruleDesc" label="鏉$爜瑙勫垯鎻忚堪" min-width="100px" show-overflow-tooltip="" />
+        <!-- <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column> -->
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsNoCreateRule:update') || auth('wmsNoCreateRule:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsNoCreateRule(scope.row)" v-auth="'wmsNoCreateRule:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsNoCreateRule(scope.row)" v-auth="'wmsNoCreateRule:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsNoCreateRule.page"
+				v-model:page-size="tableParamsWmsNoCreateRule.pageSize"
+				:total="tableParamsWmsNoCreateRule.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsNoCreateRule"
+				@current-change="handleCurrentChangeWmsNoCreateRule"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsNoCreateRule
+        ref="printDialogRefWmsNoCreateRule"
+        :title="printWmsNoCreateRuleTitle"
+        @reloadTable="handleQueryWmsNoCreateRule" />
+      <editDialogWmsNoCreateRule
+        ref="editDialogRefWmsNoCreateRule"
+        :title="editWmsNoCreateRuleTitle"
+        @reloadTable="handleQueryWmsNoCreateRule"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsNoCreateRule">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+  import printDialogWmsNoCreateRule from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogWmsNoCreateRule from '/@/views/main/WmsSystemConfig/wmsNoCreateRule/component/editDialog.vue'
+  import { pageWmsNoCreateRule, deleteWmsNoCreateRule,importExcelWmsNoCreateRule,downloadExcelTemplateWmsNoCreateRule } from '/@/api/main/WmsSystemConfig/wmsNoCreateRule';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+import { pageWmsBusinessType } from "/@/api/main/WmsBase/wmsBusinessType";
+
+  const getEnumOrderTypeData_Index = ref<any>([]);
+  const getEnumBusinessTypeData_Index = ref<any>([]);
+  const getEnumIsDisabledData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[鍗曞彿鐢熸垚瑙勫垯鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsNoCreateRule = ref(false);
+  const tableRefWmsNoCreateRule = ref(null);
+  const printDialogRefWmsNoCreateRule = ref();
+  const editDialogRefWmsNoCreateRule = ref();
+  const loadingWmsNoCreateRule = ref(false);
+  const disabled_btnWmsNoCreateRule = ref(false);
+  const tableDataWmsNoCreateRule = ref<any>([]);
+  const queryParamsWmsNoCreateRule = ref<any>({});
+  const tableParamsWmsNoCreateRule = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsNoCreateRuleTitle = ref("");
+  const editWmsNoCreateRuleTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsNoCreateRule = () => {
+    showAdvanceQueryUIWmsNoCreateRule.value = !showAdvanceQueryUIWmsNoCreateRule.value;
+  }
+
+  // 鏌ヨ鍗曞彿鐢熸垚瑙勫垯
+  const handleQueryWmsNoCreateRule = async () => {
+    loadingWmsNoCreateRule.value = true;
+    disabled_btnWmsNoCreateRule.value = true;
+    var res = await pageWmsNoCreateRule(Object.assign(queryParamsWmsNoCreateRule.value, tableParamsWmsNoCreateRule.value));
+    if(res.data.type=="success"){
+      tableDataWmsNoCreateRule.value = res.data.result?.items ?? [];
+      tableParamsWmsNoCreateRule.value.total = res.data.result?.total;
+    }
+    loadingWmsNoCreateRule.value = false;
+    disabled_btnWmsNoCreateRule.value = false;
+  };
+
+  // 閲嶇疆鍗曞彿鐢熸垚瑙勫垯鏌ヨ
+  const resetWmsNoCreateRule = async () => {
+    queryParamsWmsNoCreateRule.value = {}
+  };
+
+  // 鍗曞彿鐢熸垚瑙勫垯鍒楁帓搴�
+  const sortChangeWmsNoCreateRule = async (column: any) => {
+	queryParamsWmsNoCreateRule.value.field = column.prop;
+	queryParamsWmsNoCreateRule.value.order = column.order;
+	await handleQueryWmsNoCreateRule();
+  };
+
+  // 鎵撳紑鏂板鍗曞彿鐢熸垚瑙勫垯椤甸潰
+  const openAddWmsNoCreateRule = () => {
+    editWmsNoCreateRuleTitle.value = '娣诲姞鍗曞彿鐢熸垚瑙勫垯';
+    editDialogRefWmsNoCreateRule.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃鍗曞彿鐢熸垚瑙勫垯椤甸潰
+  const openPrintWmsNoCreateRule = async (row: any) => {
+    printWmsNoCreateRuleTitle.value = '鎵撳嵃鍗曞彿鐢熸垚瑙勫垯';
+  }
+  
+  // 鎵撳紑缂栬緫鍗曞彿鐢熸垚瑙勫垯椤甸潰
+  const openEditWmsNoCreateRule = (row: any) => {
+    editWmsNoCreateRuleTitle.value = '缂栬緫鍗曞彿鐢熸垚瑙勫垯';
+    editDialogRefWmsNoCreateRule.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎鍗曞彿鐢熸垚瑙勫垯
+  const delWmsNoCreateRule = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsNoCreateRule.value = true;
+    var ret = await deleteWmsNoCreateRule(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsNoCreateRule.value = false;
+    handleQueryWmsNoCreateRule();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉鍗曞彿鐢熸垚瑙勫垯椤甸潰瀹归噺
+  const handleSizeChangeWmsNoCreateRule = (val: number) => {
+    tableParamsWmsNoCreateRule.value.pageSize = val;
+    handleQueryWmsNoCreateRule();
+  };
+
+  // 鏀瑰彉鍗曞彿鐢熸垚瑙勫垯椤电爜搴忓彿
+  const handleCurrentChangeWmsNoCreateRule = (val: number) => {
+    tableParamsWmsNoCreateRule.value.page = val;
+    handleQueryWmsNoCreateRule();
+  };
+
+/***************************************************[鍗曞彿鐢熸垚瑙勫垯鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[鍗曞彿鐢熸垚瑙勫垯瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsNoCreateRule = {
+      getEnumOrderTypeData_Index,
+      getEnumBusinessTypeData_Index,
+      getEnumIsDisabledData_Index,
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsNoCreateRule = async (formData:Blob) => {
+    loadingWmsNoCreateRule.value = true;
+    disabled_btnWmsNoCreateRule.value = true;
+    var new_tableParamsWmsNoCreateRule=JSON.parse(JSON.stringify(tableParamsWmsNoCreateRule.value));
+    new_tableParamsWmsNoCreateRule.page = 1;
+    new_tableParamsWmsNoCreateRule.pageSize = 100000;
+    var res = await pageWmsNoCreateRule(Object.assign(queryParamsWmsNoCreateRule.value, new_tableParamsWmsNoCreateRule));
+    if(res.data.type=="success"){
+      exportExcelWmsNoCreateRule(res.data.result?.items ?? []);
+    }
+    loadingWmsNoCreateRule.value = false;
+    disabled_btnWmsNoCreateRule.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsNoCreateRule  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsNoCreateRule,"鍗曞彿鐢熸垚瑙勫垯",functionMapWmsNoCreateRule);
+};
+/***************************************************[鍗曞彿鐢熸垚瑙勫垯瀵煎嚭]缁撴潫***************************************************/
+  // 鍗曞彿鐢熸垚瑙勫垯椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? [];
+   
+    var res = await pageWmsBusinessType({
+      pageNo:1,
+      pageSize:1000
+    });
+    debugger
+    getEnumBusinessTypeData_Index.value  = res.data.result?.items ?? [];
+
+    getEnumIsDisabledData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsNoCreateRule();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsSncodeCreateRule/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsSncodeCreateRule/component/editDialog.vue
new file mode 100644
index 0000000..8bb68d3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsSncodeCreateRule/component/editDialog.vue
@@ -0,0 +1,261 @@
+锘�<template>
+	<div class="wmsSncodeCreateRule-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瑙勫垯缂栧彿" prop="ruleCode">
+							<el-input v-model="ruleForm.ruleCode" placeholder="璇疯緭鍏ヨ鍒欑紪鍙�" maxlength="255" show-word-limit
+								clearable />
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瑙勫垯鍚嶇О" prop="ruleName">
+							<el-input v-model="ruleForm.ruleName" placeholder="璇疯緭鍏ヨ鍒欏悕绉�" maxlength="255" show-word-limit
+								clearable />
+
+						</el-form-item>
+
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏁版嵁婧�" prop="dataSource">
+							<el-input v-model="ruleForm.dataSource" placeholder="璇疯緭鍏ユ暟鎹簮" maxlength="50" show-word-limit
+								clearable />
+						</el-form-item>
+					</el-col> -->
+
+
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏉$爜鍒嗛殧绗�" prop="delimiter">
+							<el-input v-model="ruleForm.delimiter" placeholder="璇疯緭鍏ユ潯鐮佸垎闅旂" maxlength="255" show-word-limit
+								clearable />
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏉$爜瑙勫垯鎻忚堪" prop="ruleDesc">
+							<el-input v-model="ruleForm.ruleDesc" placeholder="璇疯緭鍏ユ潯鐮佽鍒欐弿杩�" maxlength="255" show-word-limit
+								clearable />
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏉$爜绫诲瀷" prop="createCodeType">
+							<el-select clearable v-model="ruleForm.createCodeType" placeholder="璇烽�夋嫨鏉$爜绫诲瀷">
+								<el-option v-for="(item, index) in  getEnumCreateCodeTypeData" :key="index"
+									:value="item.value" :label="`${item.describe}`"></el-option>
+
+							</el-select>
+
+						</el-form-item>
+
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鏁版嵁婧�" prop="dataSource">
+							<el-select v-model="ruleForm.dataSource" @change="tableChanged" value-key="value" filterable
+								clearable class="w100">
+								<!-- <el-option v-for="item in getAllTableData" :key="item.entityName" :label="item.entityName + ' ( ' + item.tableName + ' ) [' + item.tableComment + ']'" :value="item.tableName" /> -->
+
+								<el-option v-for="item in getAllTableData" :key="item.entityName"
+									:label="item.tableName + '  [' + item.busName + ']'" :value="item.tableName" />
+
+							</el-select>
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鏉$爜瑙勫垯" prop="snCodeRule">
+							<!-- <el-input v-model="ruleForm.snCodeRule" placeholder="璇疯緭鍏ユ潯鐮佽鍒�" maxlength="255" show-word-limit
+								clearable /> -->
+							<el-select multiple collapse-tags v-model="ruleForm.snCodeRule" value-key="value" filterable
+								allow-create clearable class="w100">
+								<el-option v-for="item in TableDataFiles" :key="item.entityName" :label="item.columnName"
+									:value="item.columnName" />
+							</el-select>
+
+						</el-form-item>
+						<el-tag type="success" v-show="ruleForm.snCodeRule && ruleForm.snCodeRule.length > 0"
+							style="margin-left: 10%;margin-top: 10px;">{{ ruleForm.snCodeRule }}</el-tag>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+import { ref, onMounted } from "vue";
+import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+import { ElMessage } from "element-plus";
+import type { FormRules } from "element-plus";
+import { addWmsSncodeCreateRule, updateWmsSncodeCreateRule, detailWmsSncodeCreateRule, pageTableFields, getAllTables } from "/@/api/main/WmsSystemConfig/wmsSncodeCreateRule";
+import { getAPI } from '/@/utils/axios-utils';
+import { SysEnumApi } from '/@/api-services/api';
+
+// D:\projectLy\4.23鏍囧噯鍖栧師鏉愭枡搴揬iWare_RawMaterialWarehouse_Web\src\utils\cache.ts
+
+const getAllTableData = ref<any>([]);
+const TableDataFiles = ref<any>([]);
+
+const getEnumCreateCodeTypeData = ref<any>([]);
+//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+var props = defineProps({
+	title: {
+		type: String,
+		default: "",
+	},
+});
+//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+const emit = defineEmits(["reloadTable"]);
+const ruleFormRef = ref();
+const isShowDialog = ref(false);
+const loading = ref(false);
+const disabled_btn = ref(false);
+const ruleForm = ref<any>({
+	snCodeRule: []
+});
+//鑷娣诲姞鍏朵粬瑙勫垯
+const rules = ref<FormRules>({
+	ruleCode: [{ required: true, message: '璇疯緭鍏ヨ鍒欑紪鍙凤紒', trigger: 'blur', },],
+	ruleName: [{ required: true, message: '璇疯緭鍏ヨ鍒欏悕绉帮紒', trigger: 'blur', },],
+	dataSource: [{ required: true, message: '璇疯緭鍏ユ暟鎹簮锛�', trigger: 'blur', },],
+	snCodeRule: [{ required: true, message: '璇疯緭鍏ユ潯鐮佽鍒欙紒', trigger: 'blur', },],
+	delimiter: [{ required: true, message: '璇疯緭鍏ユ潯鐮佸垎闅旂锛�', trigger: 'blur', },],
+	isDisabled: [{ required: true, message: '璇烽�夋嫨鏄惁绂佺敤锛�', trigger: 'change', },],
+	isDelete: [{ required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change', },],
+});
+
+
+const tableChanged = async (value: any) => {
+	debugger
+	if (!value) {
+		return
+	}
+	var id = getAllTableData.value.filter((v: any) => v.tableName == value)[0]?.id || '';
+	debugger
+	if (!id) {
+		return
+	}
+	var res = await pageTableFields({
+		CodeGenId: id
+	});
+	if (res.data.type == "success") {
+		TableDataFiles.value = res.data.result ?? [];
+	}
+}
+
+
+/*
+ * 鎵撳紑寮圭獥
+ * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+ * @param row  琛屾暟鎹�
+ */
+const openDialog = async (flag: number, row: any) => {
+	debugger
+	// ruleForm.value = JSON.parse(JSON.stringify(row));
+	// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+	let rowData = JSON.parse(JSON.stringify(row));
+	getAllTableData.value = (await getAllTables()).data.result.items;
+	if (rowData.id) {
+		ruleForm.value = (await detailWmsSncodeCreateRule(rowData.id)).data.result;
+		ruleForm.value.snCodeRule = rowData.snCodeRule.split(",");
+		tableChanged(rowData.dataSource)
+	}
+	else {
+		ruleForm.value = rowData;
+		ruleForm.value.isDisabled = false;//蹇呭~锛岃祴鍊奸粯璁ゅ��
+
+	}
+	isShowDialog.value = true;
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emit("reloadTable");
+	isShowDialog.value = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	isShowDialog.value = false;
+};
+
+// 鎻愪氦
+const submit = async () => {
+	disabled_btn.value = true;
+	ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+		if (isValid) {
+			loading.value = true;
+			let values = ruleForm.value;
+			let ret = {};
+			let title = '鏂板';
+			ruleForm.value.snCodeRule = ruleForm.value.snCodeRule.join(",");
+			if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+				ret = await addWmsSncodeCreateRule(values);
+			} else {
+				title = '缂栬緫';
+				ret = await updateWmsSncodeCreateRule(values);
+			}
+			loading.value = false;
+			disabled_btn.value = false;
+			if (ret.data.type == "success") {
+				ElMessage.success(title + '鎴愬姛');
+				closeDialog();
+			}
+		} else {
+			disabled_btn.value = false;
+			ElMessage({
+				message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+				type: "error",
+			});
+		}
+	});
+};
+
+
+
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {
+	getEnumCreateCodeTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CreateCodeTypeEnum')).data.result ?? [];
+});
+
+//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsSncodeCreateRule/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsSncodeCreateRule/index.vue
new file mode 100644
index 0000000..2cad88d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsSystemConfig/wmsSncodeCreateRule/index.vue
@@ -0,0 +1,341 @@
+锘�<template>
+  <div class="wmsSncodeCreateRule-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsSncodeCreateRule" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+            <!-- ,鏉$爜鍒嗛殧绗�,鏉$爜瑙勫垯鎻忚堪,鍒涘缓浜�,淇敼浜� -->
+              <el-input v-model="queryParamsWmsSncodeCreateRule.searchKey" clearable="" placeholder="瑙勫垯缂栧彿,瑙勫垯鍚嶇О,鏁版嵁婧�,鏉$爜瑙勫垯"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsSncodeCreateRule">
+            <el-form-item label="瑙勫垯缂栧彿">
+              <el-input v-model="queryParamsWmsSncodeCreateRule.ruleCode" clearable="" placeholder="璇疯緭鍏ヨ鍒欑紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsSncodeCreateRule">
+            <el-form-item label="瑙勫垯鍚嶇О">
+              <el-input v-model="queryParamsWmsSncodeCreateRule.ruleName" clearable="" placeholder="璇疯緭鍏ヨ鍒欏悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsSncodeCreateRule">
+            <el-form-item label="鏁版嵁婧�">
+              <el-input v-model="queryParamsWmsSncodeCreateRule.dataSource" clearable="" placeholder="璇疯緭鍏ユ暟鎹簮"/>
+
+
+            </el-form-item>
+          </el-col> -->
+
+
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsSncodeCreateRule">
+            <el-form-item label="鏉$爜瑙勫垯">
+              <el-input v-model="queryParamsWmsSncodeCreateRule.snCodeRule" clearable="" placeholder="璇疯緭鍏ユ潯鐮佽鍒�"/>
+              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsSncodeCreateRule">
+            <el-form-item label="鏉$爜鍒嗛殧绗�">
+              <el-input v-model="queryParamsWmsSncodeCreateRule.delimiter" clearable="" placeholder="璇疯緭鍏ユ潯鐮佸垎闅旂"/>
+              
+            </el-form-item>
+          </el-col> -->
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsSncodeCreateRule">
+            <el-form-item label="鏉$爜瑙勫垯鎻忚堪">
+              <el-input v-model="queryParamsWmsSncodeCreateRule.ruleDesc" clearable="" placeholder="璇疯緭鍏ユ潯鐮佽鍒欐弿杩�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsSncodeCreateRule">
+            <el-form-item label="鏄惁绂佺敤">
+              <el-select clearable="" v-model="queryParamsWmsSncodeCreateRule.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+                <el-option v-for="(item,index) in getEnumIsDisabledData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col> -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsSncodeCreateRule">
+            <el-form-item label="鏉$爜绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsSncodeCreateRule.createCodeType" placeholder="璇烽�夋嫨鏉$爜绫诲瀷">
+                <el-option v-for="(item,index) in getEnumCreateCodeTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsSncodeCreateRule" v-auth="'wmsSncodeCreateRule:page'" :disabled="disabled_btnWmsSncodeCreateRule"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsSncodeCreateRule"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsSncodeCreateRule" v-if="!showAdvanceQueryUIWmsSncodeCreateRule" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsSncodeCreateRule" v-if="showAdvanceQueryUIWmsSncodeCreateRule" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsSncodeCreateRule" v-auth="'wmsSncodeCreateRule:add'"> 鏂板 </el-button>
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelWmsSncodeCreateRule"  v-auth="'wmsSncodeCreateRule:importExcel'" > 瀵煎叆 </el-button> -->
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsSncodeCreateRule"  v-auth="'wmsSncodeCreateRule:exportExcel'" > 瀵煎嚭 </el-button> -->
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsSncodeCreateRule"
+				:data="tableDataWmsSncodeCreateRule"
+				style="width: 100%"
+				v-loading="loadingWmsSncodeCreateRule"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsSncodeCreateRule"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="ruleCode" label="瑙勫垯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="ruleName" label="瑙勫垯鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="dataSource" label="鏁版嵁婧�" min-width="120px"  show-overflow-tooltip="" />
+        <el-table-column prop="snCodeRule" label="鏉$爜瑙勫垯"  min-width="120px"  show-overflow-tooltip="" />
+        <el-table-column prop="delimiter" label="鏉$爜鍒嗛殧绗�" width="80px" show-overflow-tooltip="" />
+        <el-table-column prop="ruleDesc" label="鎻忚堪"  show-overflow-tooltip="" />
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+        </el-table-column>
+        <el-table-column prop="createCodeType" label="鏉$爜绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              {{ getEnumDesc(scope.row.createCodeType, getEnumCreateCodeTypeData_Index)}}
+            </template>
+          </el-table-column>
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+      
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsSncodeCreateRule:update') || auth('wmsSncodeCreateRule:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsSncodeCreateRule(scope.row)" v-auth="'wmsSncodeCreateRule:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsSncodeCreateRule(scope.row)" v-auth="'wmsSncodeCreateRule:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsSncodeCreateRule.page"
+				v-model:page-size="tableParamsWmsSncodeCreateRule.pageSize"
+				:total="tableParamsWmsSncodeCreateRule.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsSncodeCreateRule"
+				@current-change="handleCurrentChangeWmsSncodeCreateRule"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsSncodeCreateRule
+        ref="printDialogRefWmsSncodeCreateRule"
+        :title="printWmsSncodeCreateRuleTitle"
+        @reloadTable="handleQueryWmsSncodeCreateRule" />
+      <editDialogWmsSncodeCreateRule
+        ref="editDialogRefWmsSncodeCreateRule"
+        :title="editWmsSncodeCreateRuleTitle"
+        @reloadTable="handleQueryWmsSncodeCreateRule"
+      />
+      <importExcelDialog
+        ref="importExcelDialogRefWmsSncodeCreateRule"
+        :title="importExcelTitleWmsSncodeCreateRule"
+        @parentUploadFun="handleImportExcelWmsSncodeCreateRule"
+        @parentDownFun="handleDownExcelWmsSncodeCreateRule"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsSncodeCreateRule">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+  import printDialogWmsSncodeCreateRule from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogWmsSncodeCreateRule from '/@/views/main/WmsSystemConfig/wmsSncodeCreateRule/component/editDialog.vue'
+  import { pageWmsSncodeCreateRule, deleteWmsSncodeCreateRule,importExcelWmsSncodeCreateRule,downloadExcelTemplateWmsSncodeCreateRule } from '/@/api/main/WmsSystemConfig/wmsSncodeCreateRule';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumIsDisabledData_Index = ref<any>([]);
+  const getEnumCreateCodeTypeData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[鏉$爜鐢熸垚瑙勫垯鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsSncodeCreateRule = ref(false);
+  const tableRefWmsSncodeCreateRule = ref(null);
+  const printDialogRefWmsSncodeCreateRule = ref();
+  const editDialogRefWmsSncodeCreateRule = ref();
+  const loadingWmsSncodeCreateRule = ref(false);
+  const disabled_btnWmsSncodeCreateRule = ref(false);
+  const tableDataWmsSncodeCreateRule = ref<any>([]);
+  const queryParamsWmsSncodeCreateRule = ref<any>({});
+  const tableParamsWmsSncodeCreateRule = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsSncodeCreateRuleTitle = ref("");
+  const editWmsSncodeCreateRuleTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsSncodeCreateRule = () => {
+    showAdvanceQueryUIWmsSncodeCreateRule.value = !showAdvanceQueryUIWmsSncodeCreateRule.value;
+  }
+
+  // 鏌ヨ鏉$爜鐢熸垚瑙勫垯
+  const handleQueryWmsSncodeCreateRule = async () => {
+    loadingWmsSncodeCreateRule.value = true;
+    disabled_btnWmsSncodeCreateRule.value = true;
+    var res = await pageWmsSncodeCreateRule(Object.assign(queryParamsWmsSncodeCreateRule.value, tableParamsWmsSncodeCreateRule.value));
+    if(res.data.type=="success"){
+      tableDataWmsSncodeCreateRule.value = res.data.result?.items ?? [];
+      tableParamsWmsSncodeCreateRule.value.total = res.data.result?.total;
+    }
+    loadingWmsSncodeCreateRule.value = false;
+    disabled_btnWmsSncodeCreateRule.value = false;
+  };
+
+  // 閲嶇疆鏉$爜鐢熸垚瑙勫垯鏌ヨ
+  const resetWmsSncodeCreateRule = async () => {
+    queryParamsWmsSncodeCreateRule.value = {}
+  };
+
+  // 鏉$爜鐢熸垚瑙勫垯鍒楁帓搴�
+  const sortChangeWmsSncodeCreateRule = async (column: any) => {
+	queryParamsWmsSncodeCreateRule.value.field = column.prop;
+	queryParamsWmsSncodeCreateRule.value.order = column.order;
+	await handleQueryWmsSncodeCreateRule();
+  };
+
+  // 鎵撳紑鏂板鏉$爜鐢熸垚瑙勫垯椤甸潰
+  const openAddWmsSncodeCreateRule = () => {
+    editWmsSncodeCreateRuleTitle.value = '娣诲姞鏉$爜鐢熸垚瑙勫垯';
+    editDialogRefWmsSncodeCreateRule.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃鏉$爜鐢熸垚瑙勫垯椤甸潰
+  const openPrintWmsSncodeCreateRule = async (row: any) => {
+    printWmsSncodeCreateRuleTitle.value = '鎵撳嵃鏉$爜鐢熸垚瑙勫垯';
+  }
+  
+  // 鎵撳紑缂栬緫鏉$爜鐢熸垚瑙勫垯椤甸潰
+  const openEditWmsSncodeCreateRule = (row: any) => {
+    editWmsSncodeCreateRuleTitle.value = '缂栬緫鏉$爜鐢熸垚瑙勫垯';
+    editDialogRefWmsSncodeCreateRule.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎鏉$爜鐢熸垚瑙勫垯
+  const delWmsSncodeCreateRule = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsSncodeCreateRule.value = true;
+    var ret = await deleteWmsSncodeCreateRule(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsSncodeCreateRule.value = false;
+    handleQueryWmsSncodeCreateRule();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉鏉$爜鐢熸垚瑙勫垯椤甸潰瀹归噺
+  const handleSizeChangeWmsSncodeCreateRule = (val: number) => {
+    tableParamsWmsSncodeCreateRule.value.pageSize = val;
+    handleQueryWmsSncodeCreateRule();
+  };
+
+  // 鏀瑰彉鏉$爜鐢熸垚瑙勫垯椤电爜搴忓彿
+  const handleCurrentChangeWmsSncodeCreateRule = (val: number) => {
+    tableParamsWmsSncodeCreateRule.value.page = val;
+    handleQueryWmsSncodeCreateRule();
+  };
+
+/***************************************************[鏉$爜鐢熸垚瑙勫垯鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[鏉$爜鐢熸垚瑙勫垯瀵煎叆]寮�濮�***************************************************/
+const importExcelTitleWmsSncodeCreateRule = ref("");
+const importExcelDialogRefWmsSncodeCreateRule = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsSncodeCreateRule = () => {
+    importExcelTitleWmsSncodeCreateRule.value = '瀵煎叆鏉$爜鐢熸垚瑙勫垯';
+    importExcelDialogRefWmsSncodeCreateRule.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsSncodeCreateRule = async (formData:Blob) => {
+   var result = await importExcelWmsSncodeCreateRule(formData);
+   importExcelDialogRefWmsSncodeCreateRule.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+   if(result.data.type=="success"){
+    handleQueryWmsSncodeCreateRule();
+   }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsSncodeCreateRule = async () => {
+   var result = await downloadExcelTemplateWmsSncodeCreateRule();
+   importExcelDialogRefWmsSncodeCreateRule.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[鏉$爜鐢熸垚瑙勫垯瀵煎叆]缁撴潫***************************************************/
+/***************************************************[鏉$爜鐢熸垚瑙勫垯瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsSncodeCreateRule = {
+      getEnumIsDisabledData_Index,
+      getEnumCreateCodeTypeData_Index,
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsSncodeCreateRule = async (formData:Blob) => {
+    loadingWmsSncodeCreateRule.value = true;
+    disabled_btnWmsSncodeCreateRule.value = true;
+    var new_tableParamsWmsSncodeCreateRule=JSON.parse(JSON.stringify(tableParamsWmsSncodeCreateRule.value));
+    new_tableParamsWmsSncodeCreateRule.page = 1;
+    new_tableParamsWmsSncodeCreateRule.pageSize = 100000;
+    var res = await pageWmsSncodeCreateRule(Object.assign(queryParamsWmsSncodeCreateRule.value, new_tableParamsWmsSncodeCreateRule));
+    if(res.data.type=="success"){
+      exportExcelWmsSncodeCreateRule(res.data.result?.items ?? []);
+    }
+    loadingWmsSncodeCreateRule.value = false;
+    disabled_btnWmsSncodeCreateRule.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsSncodeCreateRule  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsSncodeCreateRule,"鏉$爜鐢熸垚瑙勫垯",functionMapWmsSncodeCreateRule);
+};
+/***************************************************[鏉$爜鐢熸垚瑙勫垯瀵煎嚭]缁撴潫***************************************************/
+  // 鏉$爜鐢熸垚瑙勫垯椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    getEnumIsDisabledData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+    getEnumCreateCodeTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('CreateCodeTypeEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsSncodeCreateRule();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryHistory/component/CountView.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryHistory/component/CountView.vue
new file mode 100644
index 0000000..e23f476
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryHistory/component/CountView.vue
@@ -0,0 +1,112 @@
+<template>
+	<div class="count">
+		 <!-- /*<div style="margin-bottom: 10px">
+        <el-button color="#fcd3d3" :dark="true">浣庝簬瀹夊叏搴撳瓨</el-button>
+        <el-button type="danger">浣庝簬瀹夊叏搴撳瓨</el-button>
+        <el-button color="#f0f9eb" :dark="true">姝e父搴撳瓨</el-button>
+        <el-button type="success">姝e父搴撳瓨</el-button>view
+        <el-button color="#faecd8" :dark="true">楂樹簬瀹夊叏搴撳瓨</el-button> 
+        <el-button type="warning">楂樹簬瀹夊叏搴撳瓨</el-button>
+      </div>*/ -->
+		<div class="count_item" v-for="(item,index) in  countList" :key="index">
+			<div class="square" :style="{background: setBgColor(item.type)}"></div>
+			<span>{{item.title}}</span>
+			<!-- <span class="count_num">{{item.count}}</span> -->
+		</div>
+	</div>
+</template>
+<script lang="ts" setup>
+import {  ref,defineProps, computed } from 'vue'
+const props = defineProps({
+	countData: {
+		type: Array,
+		required: true
+	}
+})
+//const countList: Record<any, any> = computed(() => props.countData)
+//缁熻鐨勬暟鎹�
+const countList = ref([
+  {
+    type: 0,
+    title: '浣庝簬瀹夊叏搴撳瓨',
+    // count: 0
+  },
+  {
+    type: 1,
+    title: '姝e父搴撳瓨',
+    // count: 0
+  },
+  {
+    type: 2,
+    title: '楂樹簬瀹夊叏搴撳瓨',
+    // count: 0
+  },
+  // {
+  //   type: 3,
+  //   title: '閿佸畾搴撲綅:',
+  //   count: 0
+  // },
+  // {
+  //   type: 4,
+  //   title: '绂佺敤搴撲綅:',
+  //   count: 0
+  // }
+]);
+//璁剧疆鑳屾櫙
+const setBgColor = (type: number): string => {
+	let color = ''
+	switch (type) {
+		case 0:
+			color = '#F56C6C';
+			// color = '#fcd3d3';
+			break;
+		case 1:
+			color = '#67C23A';
+			// color = '#f0f9eb';
+			break;
+		case 2:
+			color = '#E6A23C';
+			// color = '#faecd8';
+			break;
+		case 3:
+			color = '#FFFF00';
+
+			break;
+		case 4:
+			color = '#FF0000';
+			break;
+	}
+	return color;
+}
+
+</script>
+<style lang="less" scoped>
+.count {
+	width: 100%;
+	display: flex;
+	box-sizing: border-box;
+	justify-content: flex-start;
+	margin-bottom: 10px;
+	font-size: 15px;
+	flex-wrap: wrap;
+	.count_item {
+		display: flex;
+		justify-content: flex-start;
+		align-items: center;
+		margin-right: 20px;
+		margin-bottom: 10px;
+		.square {
+			width: 20px;
+			height: 20px;
+			border-radius: 4px;
+			margin-right: 10px;
+		}
+
+		.count_num {
+			margin-left: 10px;
+			font-weight: bold;
+			font-size: 16px;
+		}
+	}
+}
+</style>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryHistory/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryHistory/component/editDialog.vue
new file mode 100644
index 0000000..2f6e32b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryHistory/component/editDialog.vue
@@ -0,0 +1,185 @@
+锘�<template>
+	<div class="wareAgeWarm-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅缂栧彿" prop="placeCode">
+							<el-input v-model="ruleForm.placeCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="棰勮搴撻緞" prop="qualityAssurance">
+							<el-input v-model="ruleForm.qualityAssurance" placeholder="璇疯緭鍏ラ璀﹀簱榫�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撻緞" prop="wareAge">
+							<el-input-number v-model="ruleForm.wareAge" placeholder="璇疯緭鍏ュ簱榫�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瓒呮湡澶╂暟" prop="overDueDays">
+							<el-input v-model="ruleForm.overDueDays" placeholder="璇疯緭鍏ヨ秴鏈熷ぉ鏁�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏ュ簱鏃堕棿" prop="recordInsertTime">
+							<el-date-picker v-model="ruleForm.recordInsertTime" type="date" placeholder="鍏ュ簱鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWareAgeWarm, updateWareAgeWarm, detailWareAgeWarm } from "/@/api/main/WareAgeWarm/wareAgeWarm";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		placeCode: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鍙凤紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWareAgeWarm(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWareAgeWarm(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWareAgeWarm(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryHistory/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryHistory/index.vue
new file mode 100644
index 0000000..e739851
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryHistory/index.vue
@@ -0,0 +1,241 @@
+锘�<template>
+	<div class="wareAgeWarm-container">
+	<!--  鍘嗗彶搴撳瓨 -->
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="queryParams" ref="queryForm" labelWidth="90">
+				<el-row>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+						<el-form-item label="鍏抽敭瀛�">
+							<el-input v-model="queryParams.searchKey" clearable="" placeholder="搴撳尯缂栫爜,鐗╂枡缂栧彿" />
+						</el-form-item>
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="瀛樺偍鍖虹紪鐮�">
+              <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏ュ瓨鍌ㄥ尯缂栫爜"/>              
+            </el-form-item>
+          </el-col>      
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="ERP瀛樺偍鍦�">
+              <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏RP瀛樺偍鍦�"/>              
+            </el-form-item>
+          </el-col>   -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"
+						v-if="showAdvanceQueryUIWareAgeWarm">
+						<el-form-item label="鐗╂枡缂栧彿">
+							<el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" />
+						</el-form-item>
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="椤圭洰缂栧彿">
+              <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏ラ」鐩紪鍙�"/>              
+            </el-form-item>
+          </el-col>    
+              -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"
+						v-if="showAdvanceQueryUIWareAgeWarm">
+						<el-form-item label="鎵�鍦ㄥ簱鍖�" prop="areaCode">
+							<el-select v-model="queryParams.areaCode" placeholder="璇烽�夋嫨鎵�鍦ㄥ簱鍖�">
+								<el-option v-for="(item,index) in arr1" :key="index" :value="item.code"
+									:label="`[${item.code}] ${item.value}`"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+						<el-form-item label="鏃堕棿" prop="begineTime">
+							<!-- <el-input v-model="queryParams.BegineTime" clearable="" placeholder="璇疯緭鍏ユ椂闂�"/>   -->
+							<!-- <el-date-picker v-model="queryParams.begineTime" value-format="YYYY-MM-DD HH:mm:ss"
+								format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿">
+							</el-date-picker> -->
+							<el-date-picker v-model="queryParams.begineTime" type="datetime" placeholder="缁撴潫鏃堕棿"
+								style="width: 100%" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+						<el-form-item>
+							<el-button-group style="display: flex; align-items: center;">
+								<el-button type="primary" icon="ele-Search" @click="handleQueryWareAgeWarm"
+									v-auth="'inventoryWarning:page'" :disabled="disabled_btnWareAgeWarm"> 鏌ヨ
+								</el-button>
+								<el-button icon="ele-Refresh" @click="resetWareAgeWarm"> 閲嶇疆 </el-button>
+								<el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWareAgeWarm"
+									v-if="!showAdvanceQueryUIWareAgeWarm" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+								<el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWareAgeWarm"
+									v-if="showAdvanceQueryUIWareAgeWarm" style="margin-left:5px;"> 闅愯棌 </el-button>
+								<el-button type="primary" style="margin-left:5px;" icon="ele-Download"
+									@click="handleExportExcelWareAgeWarm" v-auth="'inventoryWarning:exportExcel'"> 瀵煎嚭
+								</el-button>
+							</el-button-group>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</el-card>
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+
+			<el-table ref="tableRefWareAgeWarm" :data="tableDataWareAgeWarm" style="width: 100%"
+				v-loading="loadingWareAgeWarm" tooltip-effect="dark" row-key="id" @sort-change="sortChangeWareAgeWarm"
+				border="">
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+				<!-- <el-table-column prop="materialTypeName" label="宸ュ巶浠g爜"  show-overflow-tooltip="" /> -->
+				<!-- <el-table-column prop="materialTypeName" label="瀛樺偍鍖虹紪鐮�"  show-overflow-tooltip="" /> -->
+				<!-- <el-table-column prop="safeImumqty" label="ERP瀛樺偍鍦�"  show-overflow-tooltip="" /> -->
+				<el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="materialCode" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialUnit" label="鍗曚綅" show-overflow-tooltip="" />
+				<el-table-column prop="areaCode" label="搴撳尯缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="areaName" label="搴撳尯鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="quantity" label="鏁伴噺" show-overflow-tooltip="" />
+				<!-- <el-table-column prop="unit" label="蹇収鏃堕棿"  show-overflow-tooltip="" /> -->
+
+			</el-table>
+			<el-pagination v-model:currentPage="tableParamsWareAgeWarm.page"
+				v-model:page-size="tableParamsWareAgeWarm.pageSize" :total="tableParamsWareAgeWarm.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]" small="" background=""
+				@size-change="handleSizeChangeWareAgeWarm" @current-change="handleCurrentChangeWareAgeWarm"
+				layout="total, sizes, prev, pager, next, jumper" />
+		</el-card>
+	</div>
+</template>
+
+<script lang="ts" setup="" name="wareAgeWarm">
+	import { ref, onMounted, nextTick } from "vue";
+	import { ElMessageBox, ElMessage } from "element-plus";
+	import { auth } from '/@/utils/authFunction';
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { formatDate, formatDate_T_Date, formatDate_T_Time, defaultTimeRange } from '/@/utils/formatTime';
+	import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶  
+
+	import { wmsStockWarning, historialStockPage } from '/@/api/main/inventoryWarning/inventoryWarning';
+	import { handleSlectDataWmsMaterialType } from "/@/utils/selectData";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+	import commonFunction from '/@/utils/commonFunction';
+	const { getEnumDesc } = commonFunction();
+	import { getStatus } from '/@/utils/switchCase';
+	import { handleSlectDataWmsArea } from '/@/utils/selectData';
+	/***************************************************[搴撻緞鎶ヨ〃鎿嶄綔]寮�濮�***************************************************/
+	const showAdvanceQueryUIWareAgeWarm = ref(false);
+	const tableRefWareAgeWarm = ref(null);
+	const loadingWareAgeWarm = ref(false);
+	const disabled_btnWareAgeWarm = ref(false);
+	const tableDataWareAgeWarm = ref<any>([]);
+	const warningTypeData = ref<any>([]);
+	const queryParams = ref<any>({});
+	const tableParamsWareAgeWarm = ref({
+		page: 1,
+		pageSize: 10,
+		total: 0,
+	});
+
+	// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+	const changeAdvanceQueryUIWareAgeWarm = () => {
+		showAdvanceQueryUIWareAgeWarm.value = !showAdvanceQueryUIWareAgeWarm.value;
+	}
+
+	// 鏌ヨ搴撻緞鎶ヨ〃
+	const handleQueryWareAgeWarm = async () => {
+		if(queryParams.value.begineTime==null){
+			ElMessage.warning("璇烽�夋嫨鏃堕棿");
+			return;
+		}
+		loadingWareAgeWarm.value = true;
+		disabled_btnWareAgeWarm.value = true;
+		var res = await historialStockPage(Object.assign(queryParams.value, tableParamsWareAgeWarm.value));
+		if (res.data.type == "success") {
+			tableDataWareAgeWarm.value = res.data.result.items ?? [];
+			tableParamsWareAgeWarm.value.total = res.data.result?.total;
+		}
+		loadingWareAgeWarm.value = false;
+		disabled_btnWareAgeWarm.value = false;
+	};
+
+	// 閲嶇疆搴撻緞鎶ヨ〃鏌ヨ
+	const resetWareAgeWarm = async () => {
+		queryParams.value = {}
+	};
+
+	// 搴撻緞鎶ヨ〃鍒楁帓搴�
+	const sortChangeWareAgeWarm = async (column : any) => {
+		queryParams.value.field = column.prop;
+		queryParams.value.order = column.order;
+		await handleQueryWareAgeWarm();
+	};
+
+	// 鏀瑰彉搴撻緞鎶ヨ〃椤甸潰瀹归噺
+	const handleSizeChangeWareAgeWarm = (val : number) => {
+		tableParamsWareAgeWarm.value.pageSize = val;
+		handleQueryWareAgeWarm();
+	};
+
+	// 鏀瑰彉搴撻緞鎶ヨ〃椤电爜搴忓彿
+	const handleCurrentChangeWareAgeWarm = (val : number) => {
+		tableParamsWareAgeWarm.value.page = val;
+		handleQueryWareAgeWarm();
+	};
+
+	/***************************************************[搴撻緞鎶ヨ〃鎿嶄綔]缁撴潫***************************************************/
+	/***************************************************[搴撻緞鎶ヨ〃瀵煎嚭]寮�濮�***************************************************/
+	//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+	const functionMapWareAgeWarm = {
+		formatDate_T_Date,
+		formatDate_T_Time
+	};
+	//鐐瑰嚮瀵煎嚭鎸夐挳
+	const handleExportExcelWareAgeWarm = async (formData : Blob) => {
+		loadingWareAgeWarm.value = true;
+		disabled_btnWareAgeWarm.value = true;
+		var new_tableParamsWareAgeWarm = JSON.parse(JSON.stringify(tableParamsWareAgeWarm.value));
+		new_tableParamsWareAgeWarm.page = 1;
+		new_tableParamsWareAgeWarm.pageSize = 100000;
+		var res = await historialStockPage(Object.assign(queryParams.value, new_tableParamsWareAgeWarm));
+		if (res.data.type == "success") {
+			let array = res.data.result?.items ?? []
+			// array.forEach((item:any)=>{
+			//   item.stockAlarm = getEnumDesc(item.stockAlarm,  warningTypeData.value)
+			// });
+			exportExcelWareAgeWarm(array);
+		}
+		loadingWareAgeWarm.value = false;
+		disabled_btnWareAgeWarm.value = false;
+	};
+	//瀵煎嚭
+	const exportExcelWareAgeWarm = async (exportDataList : Array) => {
+		exportPageExcel(exportDataList, tableRefWareAgeWarm, "鍘嗗彶搴撳瓨鎶ヨ〃", functionMapWareAgeWarm);
+	};
+	/***************************************************[搴撻緞鎶ヨ〃瀵煎嚭]缁撴潫***************************************************/
+	let arr1 : any = ref("") //涓嬫媺璇诲彇鎺ュ彛
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+		nextTick(async () => {
+			arr1.value = await handleSlectDataWmsArea({
+				// page: 1,
+				// pageSize: 1000,
+				// total: 0,
+				// IsDisabled:false,
+				// isVirtually:false,
+				// areaType:1 //绔嬩綋搴�
+			}); //涓嬫媺璇诲彇鎺ュ彛
+		});
+	});
+
+	handleQueryWareAgeWarm();
+</script>
+<style scoped>
+	:deep(.el-input),
+	:deep(.el-select),
+	:deep(.el-input-number) {
+		width: 100%;
+	}
+
+	:deep(.el-table .danger-row) {
+		background: #F56C6C !important;
+	}
+
+	:deep(.el-table .success-row) {
+		background: #67C23A !important;
+	}
+
+	:deep(.el-table .warning-row) {
+		background: #E6A23C !important;
+	}
+</style>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventorySnapshot/component/CountView.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventorySnapshot/component/CountView.vue
new file mode 100644
index 0000000..e23f476
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventorySnapshot/component/CountView.vue
@@ -0,0 +1,112 @@
+<template>
+	<div class="count">
+		 <!-- /*<div style="margin-bottom: 10px">
+        <el-button color="#fcd3d3" :dark="true">浣庝簬瀹夊叏搴撳瓨</el-button>
+        <el-button type="danger">浣庝簬瀹夊叏搴撳瓨</el-button>
+        <el-button color="#f0f9eb" :dark="true">姝e父搴撳瓨</el-button>
+        <el-button type="success">姝e父搴撳瓨</el-button>view
+        <el-button color="#faecd8" :dark="true">楂樹簬瀹夊叏搴撳瓨</el-button> 
+        <el-button type="warning">楂樹簬瀹夊叏搴撳瓨</el-button>
+      </div>*/ -->
+		<div class="count_item" v-for="(item,index) in  countList" :key="index">
+			<div class="square" :style="{background: setBgColor(item.type)}"></div>
+			<span>{{item.title}}</span>
+			<!-- <span class="count_num">{{item.count}}</span> -->
+		</div>
+	</div>
+</template>
+<script lang="ts" setup>
+import {  ref,defineProps, computed } from 'vue'
+const props = defineProps({
+	countData: {
+		type: Array,
+		required: true
+	}
+})
+//const countList: Record<any, any> = computed(() => props.countData)
+//缁熻鐨勬暟鎹�
+const countList = ref([
+  {
+    type: 0,
+    title: '浣庝簬瀹夊叏搴撳瓨',
+    // count: 0
+  },
+  {
+    type: 1,
+    title: '姝e父搴撳瓨',
+    // count: 0
+  },
+  {
+    type: 2,
+    title: '楂樹簬瀹夊叏搴撳瓨',
+    // count: 0
+  },
+  // {
+  //   type: 3,
+  //   title: '閿佸畾搴撲綅:',
+  //   count: 0
+  // },
+  // {
+  //   type: 4,
+  //   title: '绂佺敤搴撲綅:',
+  //   count: 0
+  // }
+]);
+//璁剧疆鑳屾櫙
+const setBgColor = (type: number): string => {
+	let color = ''
+	switch (type) {
+		case 0:
+			color = '#F56C6C';
+			// color = '#fcd3d3';
+			break;
+		case 1:
+			color = '#67C23A';
+			// color = '#f0f9eb';
+			break;
+		case 2:
+			color = '#E6A23C';
+			// color = '#faecd8';
+			break;
+		case 3:
+			color = '#FFFF00';
+
+			break;
+		case 4:
+			color = '#FF0000';
+			break;
+	}
+	return color;
+}
+
+</script>
+<style lang="less" scoped>
+.count {
+	width: 100%;
+	display: flex;
+	box-sizing: border-box;
+	justify-content: flex-start;
+	margin-bottom: 10px;
+	font-size: 15px;
+	flex-wrap: wrap;
+	.count_item {
+		display: flex;
+		justify-content: flex-start;
+		align-items: center;
+		margin-right: 20px;
+		margin-bottom: 10px;
+		.square {
+			width: 20px;
+			height: 20px;
+			border-radius: 4px;
+			margin-right: 10px;
+		}
+
+		.count_num {
+			margin-left: 10px;
+			font-weight: bold;
+			font-size: 16px;
+		}
+	}
+}
+</style>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventorySnapshot/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventorySnapshot/component/editDialog.vue
new file mode 100644
index 0000000..2f6e32b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventorySnapshot/component/editDialog.vue
@@ -0,0 +1,185 @@
+锘�<template>
+	<div class="wareAgeWarm-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅缂栧彿" prop="placeCode">
+							<el-input v-model="ruleForm.placeCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="棰勮搴撻緞" prop="qualityAssurance">
+							<el-input v-model="ruleForm.qualityAssurance" placeholder="璇疯緭鍏ラ璀﹀簱榫�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撻緞" prop="wareAge">
+							<el-input-number v-model="ruleForm.wareAge" placeholder="璇疯緭鍏ュ簱榫�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瓒呮湡澶╂暟" prop="overDueDays">
+							<el-input v-model="ruleForm.overDueDays" placeholder="璇疯緭鍏ヨ秴鏈熷ぉ鏁�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏ュ簱鏃堕棿" prop="recordInsertTime">
+							<el-date-picker v-model="ruleForm.recordInsertTime" type="date" placeholder="鍏ュ簱鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWareAgeWarm, updateWareAgeWarm, detailWareAgeWarm } from "/@/api/main/WareAgeWarm/wareAgeWarm";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		placeCode: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鍙凤紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWareAgeWarm(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWareAgeWarm(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWareAgeWarm(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventorySnapshot/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventorySnapshot/index.vue
new file mode 100644
index 0000000..1f990f0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventorySnapshot/index.vue
@@ -0,0 +1,220 @@
+锘�<template>
+  <div class="wareAgeWarm-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="搴撳尯缂栫爜,鐗╂枡缂栧彿"/>              
+            </el-form-item>
+          </el-col>
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="瀛樺偍鍖虹紪鐮�">
+              <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏ュ瓨鍌ㄥ尯缂栫爜"/>              
+            </el-form-item>
+          </el-col>      
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="ERP瀛樺偍鍦�">
+              <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏RP瀛樺偍鍦�"/>              
+            </el-form-item>
+          </el-col>   -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>              
+            </el-form-item>
+          </el-col>  
+          <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="椤圭洰缂栧彿">
+              <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏ラ」鐩紪鍙�"/>              
+            </el-form-item>
+          </el-col>    
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="蹇収鏃堕棿">
+              <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>              
+            </el-form-item>
+          </el-col>        -->
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWareAgeWarm" v-auth="'inventoryWarning:page'" :disabled="disabled_btnWareAgeWarm"> 鏌ヨ </el-button>
+                <el-button icon="ele-Refresh" @click="resetWareAgeWarm"> 閲嶇疆 </el-button>
+                <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWareAgeWarm" v-if="!showAdvanceQueryUIWareAgeWarm" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWareAgeWarm" v-if="showAdvanceQueryUIWareAgeWarm" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWareAgeWarm"  v-auth="'inventoryWarning:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+
+      <el-table
+        ref="tableRefWareAgeWarm"
+				:data="tableDataWareAgeWarm"
+				style="width: 100%"
+				v-loading="loadingWareAgeWarm"
+				tooltip-effect="dark"
+        row-key="id"
+        @sort-change="sortChangeWareAgeWarm"
+				border=""
+      >
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <!-- <el-table-column prop="materialTypeName" label="宸ュ巶浠g爜"  show-overflow-tooltip="" /> -->
+        <!-- <el-table-column prop="materialTypeName" label="瀛樺偍鍖虹紪鐮�"  show-overflow-tooltip="" /> -->
+        <!-- <el-table-column prop="safeImumqty" label="ERP瀛樺偍鍦�"  show-overflow-tooltip="" /> -->
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialUnit" label="鍗曚綅"  show-overflow-tooltip="" />
+        <el-table-column prop="areaCode" label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="areaName" label="搴撳尯鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="quantity" label="鏁伴噺"  show-overflow-tooltip="" />
+        <!-- <el-table-column prop="unit" label="蹇収鏃堕棿"  show-overflow-tooltip="" /> -->
+       
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWareAgeWarm.page"
+				v-model:page-size="tableParamsWareAgeWarm.pageSize"
+				:total="tableParamsWareAgeWarm.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWareAgeWarm"
+				@current-change="handleCurrentChangeWareAgeWarm"
+				layout="total, sizes, prev, pager, next, jumper"
+	    />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wareAgeWarm">
+  import { ref,onMounted,nextTick } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶  
+  
+  import { wmsStockWarning,historialStockPage } from '/@/api/main/inventoryWarning/inventoryWarning';
+  import { handleSlectDataWmsMaterialType } from "/@/utils/selectData";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+  const { getEnumDesc } = commonFunction();
+  import { getStatus } from '/@/utils/switchCase';
+  
+  /***************************************************[搴撻緞鎶ヨ〃鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWareAgeWarm = ref(false);
+  const tableRefWareAgeWarm = ref(null);
+  const loadingWareAgeWarm = ref(false);
+  const disabled_btnWareAgeWarm = ref(false);
+  const tableDataWareAgeWarm = ref<any>([]);
+  const warningTypeData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParamsWareAgeWarm = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWareAgeWarm = () => {
+    showAdvanceQueryUIWareAgeWarm.value = !showAdvanceQueryUIWareAgeWarm.value;
+  }
+
+  // 鏌ヨ搴撻緞鎶ヨ〃
+  const handleQueryWareAgeWarm = async () => {
+    loadingWareAgeWarm.value = true;
+    disabled_btnWareAgeWarm.value = true;
+    var res = await historialStockPage(Object.assign(queryParams.value, tableParamsWareAgeWarm.value));
+    if(res.data.type=="success"){
+      tableDataWareAgeWarm.value = res.data.result ?? [];
+      tableParamsWareAgeWarm.value.total = res.data.result?.total;
+    }
+    loadingWareAgeWarm.value = false;
+    disabled_btnWareAgeWarm.value = false;
+  };
+
+  // 閲嶇疆搴撻緞鎶ヨ〃鏌ヨ
+  const resetWareAgeWarm = async () => {
+    queryParams.value = {}
+  };
+
+  // 搴撻緞鎶ヨ〃鍒楁帓搴�
+  const sortChangeWareAgeWarm = async (column: any) => {
+    queryParams.value.field = column.prop;
+    queryParams.value.order = column.order;
+	  await handleQueryWareAgeWarm();
+  };
+
+  // 鏀瑰彉搴撻緞鎶ヨ〃椤甸潰瀹归噺
+  const handleSizeChangeWareAgeWarm = (val: number) => {
+    tableParamsWareAgeWarm.value.pageSize = val;
+    handleQueryWareAgeWarm();
+  };
+
+  // 鏀瑰彉搴撻緞鎶ヨ〃椤电爜搴忓彿
+  const handleCurrentChangeWareAgeWarm = (val: number) => {
+    tableParamsWareAgeWarm.value.page = val;
+    handleQueryWareAgeWarm();
+  };
+
+/***************************************************[搴撻緞鎶ヨ〃鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[搴撻緞鎶ヨ〃瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWareAgeWarm = {
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWareAgeWarm = async (formData:Blob) => {
+    loadingWareAgeWarm.value = true;
+    disabled_btnWareAgeWarm.value = true;
+    var new_tableParamsWareAgeWarm=JSON.parse(JSON.stringify(tableParamsWareAgeWarm.value));
+    new_tableParamsWareAgeWarm.page = 1;
+    new_tableParamsWareAgeWarm.pageSize = 100000;
+    var res = await historialStockPage(Object.assign(queryParams.value, new_tableParamsWareAgeWarm));
+    if(res.data.type=="success"){
+      let array = res.data.result?.items ?? []
+      // array.forEach((item:any)=>{
+      //   item.stockAlarm = getEnumDesc(item.stockAlarm,  warningTypeData.value)
+      // });
+      exportExcelWareAgeWarm(array);
+    }
+    loadingWareAgeWarm.value = false;
+    disabled_btnWareAgeWarm.value = false;
+};
+//瀵煎嚭
+const exportExcelWareAgeWarm  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWareAgeWarm,"搴撳瓨棰勮鎶ヨ〃",functionMapWareAgeWarm);
+};
+/***************************************************[搴撻緞鎶ヨ〃瀵煎嚭]缁撴潫***************************************************/
+  // 搴撻緞鎶ヨ〃椤甸潰鍔犺浇鏃�
+  let arrW: any = ref("") //涓嬫媺璇诲彇鎺ュ彛
+onMounted(() => {
+  nextTick(async () => {
+    warningTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('WarningTypeEnum')).data.result ?? [];
+    arrW.value = await handleSlectDataWmsMaterialType(); //涓嬫媺璇诲彇鎺ュ彛
+  });
+});
+
+  handleQueryWareAgeWarm();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+:deep(.el-table .danger-row){
+  background: #F56C6C !important;
+}
+:deep(.el-table .success-row){
+  background: #67C23A !important;
+}
+:deep(.el-table .warning-row){
+  background: #E6A23C !important;
+}
+
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryWarning/component/CountView.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryWarning/component/CountView.vue
new file mode 100644
index 0000000..f5d8ac1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryWarning/component/CountView.vue
@@ -0,0 +1,86 @@
+<template>
+	<div class="count">
+		<!-- /*<div style="margin-bottom: 10px">
+        <el-button color="#fcd3d3" :dark="true">浣庝簬瀹夊叏搴撳瓨</el-button>
+        <el-button type="danger">浣庝簬瀹夊叏搴撳瓨</el-button>
+        <el-button color="#f0f9eb" :dark="true">姝e父搴撳瓨</el-button>
+        <el-button type="success">姝e父搴撳瓨</el-button>view
+        <el-button color="#faecd8" :dark="true">楂樹簬瀹夊叏搴撳瓨</el-button> 
+        <el-button type="warning">楂樹簬瀹夊叏搴撳瓨</el-button>
+      </div>*/ -->
+		<div class="count_item" v-for="(item, index) in countList" :key="index">
+			<div class="square" :style="{ background: setBgColor(item.value) }"></div>
+			<span>{{ item.name }}</span>
+			<!-- <span class="count_num">{{item.count}}</span> -->
+		</div>
+	</div>
+</template>
+<script lang="ts" setup>
+import { ref, defineProps, computed } from 'vue';
+const props = defineProps({
+	warningTypeData: {
+		type: Array,
+		required: true,
+	},
+});
+
+//缁熻鐨勬暟鎹�
+// const countList = computed(() => props.warningTypeData);
+const countList = ref([]);
+const openADialog = async (param?: any) => {
+	countList.value = param;
+};
+
+//璁剧疆鑳屾櫙  鏈�楂樺簱瀛樹笌瀹夊叏搴撳瓨涔嬮棿 = 1(榛勮壊)锛涙甯稿簱瀛� = 2(缁胯壊)锛涢珮浜庢渶楂樺簱瀛� = 3(绾㈣壊) 浣庝簬鏈�浣庡簱瀛� = 4(鐏拌壊)
+const setBgColor = (type: number): string => {
+	let color = '';
+	switch (type) {
+		case 1:
+			color = '#E6A23C'; //榛勮壊
+			break;
+		case 2:
+			color = '#67C23A'; //缁胯壊
+			break;
+		case 3:
+			color = '#F56C6C'; //绾㈣壊
+			break;
+		case 4:
+			color = '#909399'; //鐏拌壊
+			break;
+	}
+	return color;
+};
+
+// 鏆撮湶鏂规硶
+defineExpose({ openADialog });
+</script>
+<style lang="less" scoped>
+.count {
+	width: 100%;
+	display: flex;
+	box-sizing: border-box;
+	justify-content: flex-start;
+	margin-bottom: 10px;
+	font-size: 15px;
+	flex-wrap: wrap;
+	.count_item {
+		display: flex;
+		justify-content: flex-start;
+		align-items: center;
+		margin-right: 20px;
+		margin-bottom: 10px;
+		.square {
+			width: 20px;
+			height: 20px;
+			border-radius: 4px;
+			margin-right: 10px;
+		}
+
+		.count_num {
+			margin-left: 10px;
+			font-weight: bold;
+			font-size: 16px;
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryWarning/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryWarning/component/editDialog.vue
new file mode 100644
index 0000000..2f6e32b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryWarning/component/editDialog.vue
@@ -0,0 +1,185 @@
+锘�<template>
+	<div class="wareAgeWarm-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅缂栧彿" prop="placeCode">
+							<el-input v-model="ruleForm.placeCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="棰勮搴撻緞" prop="qualityAssurance">
+							<el-input v-model="ruleForm.qualityAssurance" placeholder="璇疯緭鍏ラ璀﹀簱榫�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撻緞" prop="wareAge">
+							<el-input-number v-model="ruleForm.wareAge" placeholder="璇疯緭鍏ュ簱榫�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瓒呮湡澶╂暟" prop="overDueDays">
+							<el-input v-model="ruleForm.overDueDays" placeholder="璇疯緭鍏ヨ秴鏈熷ぉ鏁�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏ュ簱鏃堕棿" prop="recordInsertTime">
+							<el-date-picker v-model="ruleForm.recordInsertTime" type="date" placeholder="鍏ュ簱鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWareAgeWarm, updateWareAgeWarm, detailWareAgeWarm } from "/@/api/main/WareAgeWarm/wareAgeWarm";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		placeCode: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鍙凤紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWareAgeWarm(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWareAgeWarm(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWareAgeWarm(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryWarning/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryWarning/index.vue
new file mode 100644
index 0000000..8ec382f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/inventoryWarning/index.vue
@@ -0,0 +1,237 @@
+<template>
+  <div class="wareAgeWarm-container">
+  <!-- 搴撳瓨棰勮 -->
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="鐗╂枡鍚嶇О,鐗╂枡缂栧彿"/>              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>              
+            </el-form-item>
+          </el-col>      
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="鐗╂枡绫诲瀷">
+              <el-select clearable="" v-model="queryParams.materialTypeName" placeholder="璇烽�夋嫨鐗╂枡绫诲瀷">
+                <el-option v-for="(item, index) in arrW" :key="index" :value="item.value"
+                  :label="`${item.value}`"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="棰勮绫诲瀷">
+              <el-select clearable v-model="queryParams.stockAlarm" placeholder="璇烽�夋嫨棰勮绫诲瀷">
+                <el-option v-for="(item, index) in warningTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>         
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWareAgeWarm" v-auth="'inventoryWarning:page'" :disabled="disabled_btnWareAgeWarm"> 鏌ヨ </el-button>
+                <el-button icon="ele-Refresh" @click="resetWareAgeWarm"> 閲嶇疆 </el-button>
+                <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWareAgeWarm" v-if="!showAdvanceQueryUIWareAgeWarm" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWareAgeWarm" v-if="showAdvanceQueryUIWareAgeWarm" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWareAgeWarm" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <!-- 缁熻鍖哄煙 -->
+      <count-view ref="countColor"></count-view>
+      <el-table
+        ref="tableRefWareAgeWarm"
+				:data="tableDataWareAgeWarm"
+				style="width: 100%"
+				v-loading="loadingWareAgeWarm"
+				tooltip-effect="dark"
+        row-key="id"
+        @sort-change="sortChangeWareAgeWarm"
+        :row-class-name="tableRowClassName"
+				border=""
+      >
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="materialTypeName" label="鐗╂枡绫诲瀷"  show-overflow-tooltip="" />
+        <el-table-column prop="stockAlarm" label="棰勮绫诲瀷"  show-overflow-tooltip="" >
+          <template #default="scope">
+            {{ getEnumDesc(scope.row.stockAlarm, warningTypeData)}}
+
+            <!-- <el-tag :color="getStatus(scope.row.stockAlarm)" effect="dark" style="border:none;min-width: 48px;cursor: pointer;">
+              {{ getEnumDesc(scope.row.stockAlarm, warningTypeData)}}
+            </el-tag> -->
+          </template>
+        </el-table-column>
+        <el-table-column prop="safeImumqty" label="瀹夊叏搴撳瓨"  show-overflow-tooltip="" />
+        <el-table-column prop="maxImumqty" label="鏈�楂樺簱瀛�"  show-overflow-tooltip="" />
+        <el-table-column prop="minImumqty" label="鏈�浣庡簱瀛�"  show-overflow-tooltip="" />
+        <el-table-column prop="realAvailableQty" label="鏁伴噺"  show-overflow-tooltip="" />
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWareAgeWarm.page"
+				v-model:page-size="tableParamsWareAgeWarm.pageSize"
+				:total="tableParamsWareAgeWarm.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWareAgeWarm"
+				@current-change="handleCurrentChangeWareAgeWarm"
+				layout="total, sizes, prev, pager, next, jumper"
+	    />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wareAgeWarm">
+  import { ref,onMounted,nextTick, getCurrentInstance } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+  import CountView from './component/CountView.vue'
+  
+  import { wmsStockWarning, } from '/@/api/main/inventoryWarning/inventoryWarning';
+  import { handleSlectDataWmsMaterialType } from "/@/utils/selectData";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+  const { getEnumDesc } = commonFunction();
+  import { getStatus } from '/@/utils/switchCase';
+  const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+
+  /***************************************************[搴撻緞鎶ヨ〃鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWareAgeWarm = ref(false);
+  const tableRefWareAgeWarm = ref(null);
+  const loadingWareAgeWarm = ref(false);
+  const disabled_btnWareAgeWarm = ref(false);
+  const tableDataWareAgeWarm = ref<any>([]);
+  const warningTypeData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParamsWareAgeWarm = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+  //table琛岀殑棰滆壊-鏈�楂樺簱瀛樹笌瀹夊叏搴撳瓨涔嬮棿 = 1(榛勮壊)锛涙甯稿簱瀛� = 2(缁胯壊)锛涢珮浜庢渶楂樺簱瀛� = 3(绾㈣壊) 浣庝簬鏈�浣庡簱瀛� = 4(鐏拌壊)
+  const tableRowClassName = ({row}: {	row: any}) => {
+    return row.stockAlarm == 1 ? 'warning-row' : row.stockAlarm == 3 ?'danger-row' : row.stockAlarm == 4 ?'low-row':'success-row';   
+  };
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWareAgeWarm = () => {
+    showAdvanceQueryUIWareAgeWarm.value = !showAdvanceQueryUIWareAgeWarm.value;
+  }
+
+  // 鏌ヨ搴撻緞鎶ヨ〃
+  const handleQueryWareAgeWarm = async () => {
+    loadingWareAgeWarm.value = true;
+    disabled_btnWareAgeWarm.value = true;
+    var res = await wmsStockWarning(Object.assign(queryParams.value, tableParamsWareAgeWarm.value));
+    if(res.data.type=="success"){
+      tableDataWareAgeWarm.value = res.data.result?.items ?? [];
+      tableParamsWareAgeWarm.value.total = res.data.result?.total;
+    }
+    loadingWareAgeWarm.value = false;
+    disabled_btnWareAgeWarm.value = false;
+  };
+
+  // 閲嶇疆搴撻緞鎶ヨ〃鏌ヨ
+  const resetWareAgeWarm = async () => {
+    queryParams.value = {}
+  };
+
+  // 搴撻緞鎶ヨ〃鍒楁帓搴�
+  const sortChangeWareAgeWarm = async (column: any) => {
+    queryParams.value.field = column.prop;
+    queryParams.value.order = column.order;
+	  await handleQueryWareAgeWarm();
+  };
+
+  // 鏀瑰彉搴撻緞鎶ヨ〃椤甸潰瀹归噺
+  const handleSizeChangeWareAgeWarm = (val: number) => {
+    tableParamsWareAgeWarm.value.pageSize = val;
+    handleQueryWareAgeWarm();
+  };
+
+  // 鏀瑰彉搴撻緞鎶ヨ〃椤电爜搴忓彿
+  const handleCurrentChangeWareAgeWarm = (val: number) => {
+    tableParamsWareAgeWarm.value.page = val;
+    handleQueryWareAgeWarm();
+  };
+
+/***************************************************[搴撻緞鎶ヨ〃鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[搴撻緞鎶ヨ〃瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWareAgeWarm = {
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWareAgeWarm = async (formData:Blob) => {
+    loadingWareAgeWarm.value = true;
+    disabled_btnWareAgeWarm.value = true;
+    var new_tableParamsWareAgeWarm=JSON.parse(JSON.stringify(tableParamsWareAgeWarm.value));
+    new_tableParamsWareAgeWarm.page = 1;
+    new_tableParamsWareAgeWarm.pageSize = 100000;
+    var res = await wmsStockWarning(Object.assign(queryParams.value, new_tableParamsWareAgeWarm));
+    if(res.data.type=="success"){
+      let array = res.data.result?.items ?? []
+      array.forEach((item:any)=>{
+        item.stockAlarm = getEnumDesc(item.stockAlarm,  warningTypeData.value)
+      });
+      exportExcelWareAgeWarm(array);
+    }
+    loadingWareAgeWarm.value = false;
+    disabled_btnWareAgeWarm.value = false;
+};
+//瀵煎嚭
+const exportExcelWareAgeWarm  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWareAgeWarm,"搴撳瓨棰勮鎶ヨ〃",functionMapWareAgeWarm);
+};
+/***************************************************[搴撻緞鎶ヨ〃瀵煎嚭]缁撴潫***************************************************/
+// 搴撻緞鎶ヨ〃椤甸潰鍔犺浇鏃�
+let arrW: any = ref("") //涓嬫媺璇诲彇鎺ュ彛
+onMounted(() => {
+  nextTick(async () => {
+    warningTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('WarningTypeEnum')).data.result ?? [];
+    arrW.value = await handleSlectDataWmsMaterialType(); //涓嬫媺璇诲彇鎺ュ彛
+    console.log('arrW',arrW)
+    nextTick(() => {
+      proxy.$refs['countColor'].openADialog(warningTypeData.value);
+    })
+
+  });
+});
+
+  handleQueryWareAgeWarm();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+:deep(.el-table .danger-row){
+  background: #F56C6C !important;
+}
+:deep(.el-table .success-row){
+  background: #67C23A !important;
+}
+:deep(.el-table .warning-row){
+  background: #E6A23C !important;
+}
+:deep(.el-table .low-row){
+  background: #909399 !important;
+}
+
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/preconfiguration/component/CountView.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/preconfiguration/component/CountView.vue
new file mode 100644
index 0000000..e23f476
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/preconfiguration/component/CountView.vue
@@ -0,0 +1,112 @@
+<template>
+	<div class="count">
+		 <!-- /*<div style="margin-bottom: 10px">
+        <el-button color="#fcd3d3" :dark="true">浣庝簬瀹夊叏搴撳瓨</el-button>
+        <el-button type="danger">浣庝簬瀹夊叏搴撳瓨</el-button>
+        <el-button color="#f0f9eb" :dark="true">姝e父搴撳瓨</el-button>
+        <el-button type="success">姝e父搴撳瓨</el-button>view
+        <el-button color="#faecd8" :dark="true">楂樹簬瀹夊叏搴撳瓨</el-button> 
+        <el-button type="warning">楂樹簬瀹夊叏搴撳瓨</el-button>
+      </div>*/ -->
+		<div class="count_item" v-for="(item,index) in  countList" :key="index">
+			<div class="square" :style="{background: setBgColor(item.type)}"></div>
+			<span>{{item.title}}</span>
+			<!-- <span class="count_num">{{item.count}}</span> -->
+		</div>
+	</div>
+</template>
+<script lang="ts" setup>
+import {  ref,defineProps, computed } from 'vue'
+const props = defineProps({
+	countData: {
+		type: Array,
+		required: true
+	}
+})
+//const countList: Record<any, any> = computed(() => props.countData)
+//缁熻鐨勬暟鎹�
+const countList = ref([
+  {
+    type: 0,
+    title: '浣庝簬瀹夊叏搴撳瓨',
+    // count: 0
+  },
+  {
+    type: 1,
+    title: '姝e父搴撳瓨',
+    // count: 0
+  },
+  {
+    type: 2,
+    title: '楂樹簬瀹夊叏搴撳瓨',
+    // count: 0
+  },
+  // {
+  //   type: 3,
+  //   title: '閿佸畾搴撲綅:',
+  //   count: 0
+  // },
+  // {
+  //   type: 4,
+  //   title: '绂佺敤搴撲綅:',
+  //   count: 0
+  // }
+]);
+//璁剧疆鑳屾櫙
+const setBgColor = (type: number): string => {
+	let color = ''
+	switch (type) {
+		case 0:
+			color = '#F56C6C';
+			// color = '#fcd3d3';
+			break;
+		case 1:
+			color = '#67C23A';
+			// color = '#f0f9eb';
+			break;
+		case 2:
+			color = '#E6A23C';
+			// color = '#faecd8';
+			break;
+		case 3:
+			color = '#FFFF00';
+
+			break;
+		case 4:
+			color = '#FF0000';
+			break;
+	}
+	return color;
+}
+
+</script>
+<style lang="less" scoped>
+.count {
+	width: 100%;
+	display: flex;
+	box-sizing: border-box;
+	justify-content: flex-start;
+	margin-bottom: 10px;
+	font-size: 15px;
+	flex-wrap: wrap;
+	.count_item {
+		display: flex;
+		justify-content: flex-start;
+		align-items: center;
+		margin-right: 20px;
+		margin-bottom: 10px;
+		.square {
+			width: 20px;
+			height: 20px;
+			border-radius: 4px;
+			margin-right: 10px;
+		}
+
+		.count_num {
+			margin-left: 10px;
+			font-weight: bold;
+			font-size: 16px;
+		}
+	}
+}
+</style>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/preconfiguration/component/DetailConfig.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/preconfiguration/component/DetailConfig.vue
new file mode 100644
index 0000000..bc780ee
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/preconfiguration/component/DetailConfig.vue
@@ -0,0 +1,190 @@
+<template>
+  <el-dialog  v-model="dialogVisible" width="95%"  @close="closeDialog"  :close-on-click-modal="false">
+    <template #header>
+      <div style="color: #fff">
+        <span> 鍒嗛厤璇︽儏 </span>
+      </div>
+    </template>
+    <el-form :model="materialForm" label-width="70px">
+      <el-row>
+        <!-- <el-col :span="4">
+          <el-form-item label="鍗曞彿">
+            <el-input v-model="materialForm.movementNo" placeholder="璇疯緭鍏ュ崟鍙�" disabled clearable></el-input>
+          </el-form-item>
+        </el-col> -->
+        <el-col :span="4">
+          <el-form-item label="鐗╂枡缂栧彿">
+            <el-input v-model="materialForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" clearable></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label-width="20px">
+            <el-button type="primary" icon="el-icon-search" @click="getOrderMaterialList1">鏌ヨ</el-button>
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+    <div class="msi-content" style="margin-top: 10px">
+      <el-table
+        :data="warehousOrderDetails"  border
+        style="width: 100%"
+        row-key="setRowKey"
+        ref="tableRef"
+       
+        max-height="480"
+      >
+        <el-table-column label="搴忓彿" align="center" width="60" type="index" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+        <el-table-column prop="movementLineNumber" label="琛屽彿" show-overflow-tooltip="" />
+        <el-table-column prop="pdRecordStatusName" min-width="60px" label="鐘舵��" show-overflow-tooltip="" >
+          <template #default="scope">
+            {{ scope.row.pdRecordStatusName }}
+          </template>
+        </el-table-column>
+        <!-- <el-table-column prop="unit" label="鍗曚綅" show-overflow-tooltip="" />
+        <el-table-column label="瀹㈡埛缂栧彿" prop="custCode" align="center" min-width="110" /> -->
+        <!-- <el-table-column prop="quantity1" label="宸插嚭搴撴暟" show-overflow-tooltip="" /> -->
+        <!-- <el-table-column prop="quantity" label="璁㈠崟鏁�" show-overflow-tooltip="" />
+        <el-table-column prop="predetermineQuantity" label="宸查閰嶆暟" show-overflow-tooltip="" /> -->
+        <el-table-column prop="quantity" label="宸插垎閰嶆暟" show-overflow-tooltip="" />
+      </el-table>
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="dialogVisible = false">鍙栨秷</el-button>
+        <!-- <el-button type="primary" :disabled="warehousOrderDetails.length == 0" @click="confirm">鎸囧畾鍒嗛厤</el-button> -->
+      </span>
+    </template>
+  </el-dialog>
+
+
+</template>
+<script lang="ts" setup>
+import Pagination from "/@/components/Pagination/index.vue";
+import { ElMessage, ElMessageBox } from "element-plus";
+import {  ref,  nextTick,  computed,  getCurrentInstance,  watch,  defineExpose,  defineProps,  onMounted,} from "vue";
+
+import { getAPI } from "/@/utils/axios-utils";
+import { SysEnumApi } from "/@/api-services/api";
+import commonFunction from "/@/utils/commonFunction";
+
+import {  pageFpWmsOrderMovementDetails,} from "/@/api/main/WmsOrder/wmsOrderMovementDetails";
+import { handleSlectDataWmsArea } from "/@/utils/selectData";
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const getEnumBusinessTypeData = ref<any>([]);
+const { getEnumDesc } = commonFunction();
+const emits = defineEmits(["getTabelData"]);
+
+const getEnumDockData = ref<any>([]);
+const props = defineProps({
+  hexiao: {
+    type: Number,
+    default: 1,
+    required: true,
+  },
+});
+const loading = ref(false);
+const dialogVisible = ref(false);
+
+// 绂佹涔嬪墠鐨勬棩鏈�
+const disabledDate = (time: Date) => {
+  return time.getTime() + 3600 * 1000 * 24 < Date.now();
+};
+
+//鐗╂枡鍩虹鏁版嵁form
+const materialForm = ref({
+	materialCode: '',
+  PDRecordType:1,
+  PDRecordStatus: 2, // 鍙煡璇� 鐘舵�佹槸鈥滃凡鍒嗛厤鈥濈殑鏁版嵁 銆怑ditby shaocx,2024-07-11銆�
+  MovementNo:'',
+	// page: 1,
+	// pageSize: 10000,
+});
+//娣诲姞缂栬緫绐楀彛鐗╂枡鍒楄〃
+const warehousOrderDetails = ref<any[]>([]);
+//鎵撳紑
+const openDialog = async (type?: number, scope?: any = {}) => {
+  //debugger
+  console.log('scope',scope)
+  materialForm.value.materialCode = scope.materialCode;
+  materialForm.value.MovementNo = scope.movementNo;
+  getOrderMaterialList1();
+  dialogVisible.value = true;
+};
+
+const getOrderMaterialList1 = async () => {
+
+    //涓嬫灦鍗曞叆鍙�-鍒嗛厤-涓嬫灦鍗曟槑缁�
+    loading.value = true;
+    var res = await pageFpWmsOrderMovementDetails(
+      Object.assign(materialForm.value)
+    );
+
+    var listD = res.data.result?? [];
+    listD.forEach((item: any) => {
+      item.sendQuantity = Number(item.quantity - item.dispenseQuantity).toFixed(3); //璁㈠崟鏁�-宸插垎閰�
+    });
+    warehousOrderDetails.value = listD;
+    loading.value = false;
+
+};
+
+//鐗╂枡璇︽儏鐨則able ref
+const tableRef = ref();
+const setRowKey = (row: any) => {
+  return row.id + row.asnLineNumber;
+};
+//鍏抽棴绐楀彛
+const closeDialog = () => {
+  materialForm.value = {
+    materialCode: '',
+    PDRecordType:1,
+    PDRecordStatus: 2, // 鍙煡璇� 鐘舵�佹槸鈥滃凡鍒嗛厤鈥濈殑鏁版嵁 銆怑ditby shaocx,2024-07-11銆�
+    // 绉诲姩鍗曞彿
+    page: 1,
+    pageSize: 10000,
+  };
+  dialogVisible.value = false
+  warehousOrderDetails.value = [];
+  tableRef.value.clearSelection();
+};
+
+
+
+
+
+// 椤甸潰鍔犺浇鏃�
+onMounted(async () => {});
+
+//================
+
+// 鏆撮湶鏂规硶
+defineExpose({ openDialog });
+</script>
+<style lang="less" scoped>
+.detailBoxWrap {
+  margin: 10px;
+}
+
+.msi-form {
+  margin-top: 10px;
+}
+
+.msi-form {
+  margin-bottom: 10px;
+}
+
+.slot_title {
+  display: flex;
+  align-items: center;
+
+  // margin-left: 20px;
+  .title_orderNo {
+    font-size: 18px;
+    color: #f18201;
+    font-weight: bold;
+    margin-right: 5px;
+  }
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/preconfiguration/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/preconfiguration/component/editDialog.vue
new file mode 100644
index 0000000..2f6e32b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/preconfiguration/component/editDialog.vue
@@ -0,0 +1,185 @@
+锘�<template>
+	<div class="wareAgeWarm-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅缂栧彿" prop="placeCode">
+							<el-input v-model="ruleForm.placeCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="棰勮搴撻緞" prop="qualityAssurance">
+							<el-input v-model="ruleForm.qualityAssurance" placeholder="璇疯緭鍏ラ璀﹀簱榫�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撻緞" prop="wareAge">
+							<el-input-number v-model="ruleForm.wareAge" placeholder="璇疯緭鍏ュ簱榫�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瓒呮湡澶╂暟" prop="overDueDays">
+							<el-input v-model="ruleForm.overDueDays" placeholder="璇疯緭鍏ヨ秴鏈熷ぉ鏁�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏ュ簱鏃堕棿" prop="recordInsertTime">
+							<el-date-picker v-model="ruleForm.recordInsertTime" type="date" placeholder="鍏ュ簱鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWareAgeWarm, updateWareAgeWarm, detailWareAgeWarm } from "/@/api/main/WareAgeWarm/wareAgeWarm";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		placeCode: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鍙凤紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWareAgeWarm(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWareAgeWarm(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWareAgeWarm(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/preconfiguration/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/preconfiguration/index.vue
new file mode 100644
index 0000000..f6fe29e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/preconfiguration/index.vue
@@ -0,0 +1,193 @@
+锘�<template>
+  <div class="wareAgeWarm-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="鐗╂枡缂栧彿"/>            
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="鍗曟嵁鐘舵��">
+              <el-select clearable="" v-model="queryParams.orderStatus" placeholder="璇烽�夋嫨鍗曟嵁鐘舵��">
+                <el-option v-for="(item,index) in getEnumOrderStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />                
+              </el-select>              
+            </el-form-item>
+          </el-col>   
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQuery" :disabled="disabled_btnWareAgeWarm"> 鏌ヨ </el-button>
+                <el-button icon="ele-Refresh" @click="resetWareAgeWarm"> 閲嶇疆 </el-button>
+                <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWareAgeWarm" v-if="!showAdvanceQueryUIWareAgeWarm" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWareAgeWarm" v-if="showAdvanceQueryUIWareAgeWarm" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWareAgeWarm"  v-auth="'inventoryWarning:exportExcel'" > 瀵煎嚭 </el-button> -->
+              </el-button-group>
+            </el-form-item>            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+        ref="tableRefWareAgeWarm"
+				:data="tableDataWareAgeWarm"
+				style="width: 100%"
+				v-loading="loadingWareAgeWarm"
+				tooltip-effect="dark"
+        row-key="id"
+        @sort-change="sortChangeWareAgeWarm"
+				border=""
+      >
+				<el-table-column label="搴忓彿" align="center" width="60" type="index" />		
+				<el-table-column prop="movementNo" width="160" label="绉诲姩鍗曞彿" show-overflow-tooltip="" />
+        <el-table-column prop="lineNumber" label="琛屽彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialCode" label="鐗╂枡缂栧彿" show-overflow-tooltip="" />
+				<el-table-column prop="materialName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+				<el-table-column prop="orderStatus" min-width="" label="鍗曟嵁鐘舵��" show-overflow-tooltip="">
+					<template #default="scope">
+						{{ scope.row.orderStatusName || scope.row.sortDetailStatusName}}
+					</template>
+				</el-table-column>
+				<el-table-column prop="unit" label="鍗曚綅" show-overflow-tooltip="" />
+				<el-table-column prop="quantity" label="璁㈠崟鏁�" show-overflow-tooltip="" />
+				<el-table-column label="棰勯厤鏁�" align="center" width="200">
+					<template #default="scope">
+					{{ scope.row.predetermineQuantity }}
+					</template>
+				</el-table-column>
+				<el-table-column label="鍒嗛厤鏁�" align="center" width="200">
+					<template #default="scope">
+					{{ scope.row.dispenseQuantity }}
+					</template>
+				</el-table-column>
+        <el-table-column label="鎿嶄綔" min-width="" align="center" fixed="right" show-overflow-tooltip="">
+          <template #default="scope">
+            <el-button icon="ele-InfoFilled" size="small" text type="primary"  @click="showPropZj(6,scope.row)"> 鍒嗛厤璇︽儏 </el-button>
+          </template>
+        </el-table-column>        
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWareAgeWarm.page"
+				v-model:page-size="tableParamsWareAgeWarm.pageSize"
+				:total="tableParamsWareAgeWarm.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWareAgeWarm"
+				@current-change="handleCurrentChangeWareAgeWarm"
+				layout="total, sizes, prev, pager, next, jumper"
+	    />    
+    </el-card>
+    <!-- 鍒嗛厤璇︽儏 -->
+    <detail-config titleAuthor="1" hexiao="0" ref="detailconfigOpenAllpropRef" @getTabelData="handleQuery"></detail-config>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wareAgeWarm">
+  import { ref,onMounted,getCurrentInstance,nextTick } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶  
+  import { pageWmsOrderMovementDetails } from '/@/api/main/WmsOrder/wmsOrderMovementDetails';
+  import DetailConfig from './component/DetailConfig.vue';
+  import { handleSlectDataWmsMaterialType } from "/@/utils/selectData";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+  const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[搴撻緞鎶ヨ〃鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWareAgeWarm = ref(false);
+  const tableRefWareAgeWarm = ref(null);
+  const loadingWareAgeWarm = ref(false);
+  const disabled_btnWareAgeWarm = ref(false);
+  const tableDataWareAgeWarm = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParamsWareAgeWarm = ref({
+    page: 1,
+    pageSize: 10,
+    PageFlag: 1,  //鏌ヨ瑕佸彇娑堥閰嶇殑鏁版嵁
+    total: 0,
+  });
+
+  const getEnumOrderStatusData_Index = ref<any>([]);
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWareAgeWarm = () => {
+    showAdvanceQueryUIWareAgeWarm.value = !showAdvanceQueryUIWareAgeWarm.value;
+  }
+
+  // 鏌ヨ棰勯厤璇︽儏
+  const handleQuery = async () => {
+    loadingWareAgeWarm.value = true;
+    disabled_btnWareAgeWarm.value = true;
+    var res = await pageWmsOrderMovementDetails(Object.assign(queryParams.value, tableParamsWareAgeWarm.value));
+    if(res.data.type=="success"){
+      tableDataWareAgeWarm.value = res.data.result?.items ?? [];
+      tableParamsWareAgeWarm.value.total = res.data.result?.total;
+    }
+    loadingWareAgeWarm.value = false;
+    disabled_btnWareAgeWarm.value = false;
+  };
+
+  // 閲嶇疆搴撻緞鎶ヨ〃鏌ヨ
+  const resetWareAgeWarm = async () => {
+    queryParams.value = {}
+  };
+
+  // 搴撻緞鎶ヨ〃鍒楁帓搴�
+  const sortChangeWareAgeWarm = async (column: any) => {
+    queryParams.value.field = column.prop;
+    queryParams.value.order = column.order;
+	  await handleQuery();
+  };
+
+  // 鏀瑰彉搴撻緞鎶ヨ〃椤甸潰瀹归噺
+  const handleSizeChangeWareAgeWarm = (val: number) => {
+    tableParamsWareAgeWarm.value.pageSize = val;
+    handleQuery();
+  };
+
+  // 鏀瑰彉搴撻緞鎶ヨ〃椤电爜搴忓彿
+  const handleCurrentChangeWareAgeWarm = (val: number) => {
+    tableParamsWareAgeWarm.value.page = val;
+    handleQuery();
+  };
+
+/***************************************************[搴撻緞鎶ヨ〃鎿嶄綔]缁撴潫***************************************************/
+
+// 鍒涘缓娉㈡
+const { proxy }: any = getCurrentInstance(); // 璁块棶瀹炰緥涓婁笅鏂� proxy鍚屾椂鏀寔寮�鍙� 绾夸笂鐜
+const showPropZj = (type:number,item?:any)=>{
+  // 鍒嗛厤璇︽儏
+    proxy.$refs['detailconfigOpenAllpropRef'].openDialog(1,item);
+    return
+}
+
+/***************************************************[搴撻緞鎶ヨ〃瀵煎嚭]缁撴潫***************************************************/
+// 搴撻緞鎶ヨ〃椤甸潰鍔犺浇鏃�
+onMounted(() => {
+  nextTick(async () => {
+    getEnumOrderStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? [];
+  });
+});
+
+handleQuery();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/receiptCompletion/component/CountView.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/receiptCompletion/component/CountView.vue
new file mode 100644
index 0000000..f830ca4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/receiptCompletion/component/CountView.vue
@@ -0,0 +1,124 @@
+<template>
+	<div class="count">
+		<div class="count_item" v-for="(item,index) in  countList" :key="index">
+			<div class="square" :style="{background: setBgColor(item.type)}"></div>
+			<span>{{item.title}}</span>
+			<!-- <span class="count_num">{{item.count}}</span> -->
+		</div>
+		<div class="page-count_item">
+			<slot></slot>
+		</div>
+	</div>
+</template>
+<script lang="ts" setup>
+import {  ref,defineProps, computed } from 'vue'
+const props = defineProps({
+	countData: {
+		type: Array,
+		required: true
+	}
+})
+//const countList: Record<any, any> = computed(() => props.countData)
+//缁熻鐨勬暟鎹�
+const countList = ref([
+  {
+    type: 0,
+    title: '寰呮敹璐�',
+    // count: 0
+  },
+  {
+    type: 1,
+    title: '寤惰繜鏈敹璐�',
+    // count: 0
+  },
+  {
+    type: 2,
+    title: '鏀惰揣涓�',
+    // count: 0
+  },
+  {
+    type: 3,
+    title: '鏀惰揣瀹屾垚',
+    // count: 0
+  },
+  {
+    type: 4,
+    title: '宸插彇娑�',
+    // count: 0
+  },
+  {
+    type: 5,
+    title: '宸插叧闂�',
+    // count: 0
+  }
+]);
+//璁剧疆鑳屾櫙
+const setBgColor = (type: number): string => {
+	let color = ''
+	switch (type) {
+		case 0:
+			color = '#E6A23C';
+			// color = '#fcd3d3';
+			break;
+		case 1:
+			color = '#F56C6C';
+			// color = '#f0f9eb';
+			break;
+		case 2:
+			color = '#67C23A';
+			// color = '#faecd8';
+			break;
+		case 3:
+			color = '#409EFF';
+
+			break;
+		case 4:
+			color = '#909399';
+			break;
+		case 5:
+		    color ='#800080';
+			break;
+	}
+	return color;
+}
+
+</script>
+<style lang="less" scoped>
+.count {
+	width: 100%;
+	display: flex;
+	box-sizing: border-box;
+	justify-content: space-around;
+	margin-bottom: 10px;
+	font-size: 15px;
+	flex-wrap: wrap;
+	.count_item {
+		// width: 10%;
+		display: flex;
+		justify-content: flex-start;
+		align-items: center;
+		margin-right: 20px;
+		margin-bottom: 10px;
+		.square {
+			width: 20px;
+			height: 20px;
+			border-radius: 4px;
+			margin-right: 10px;
+		}
+
+		.count_num {
+			margin-left: 10px;
+			font-weight: bold;
+			font-size: 16px;
+		}
+	}
+	.page-count_item{
+		width: 55%;
+		display: flex;
+		justify-content: flex-end;
+		align-items: center;
+		margin-right: 20px;
+		margin-bottom: 10px;
+	}
+}
+</style>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/receiptCompletion/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/receiptCompletion/component/editDialog.vue
new file mode 100644
index 0000000..2f6e32b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/receiptCompletion/component/editDialog.vue
@@ -0,0 +1,185 @@
+锘�<template>
+	<div class="wareAgeWarm-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅缂栧彿" prop="placeCode">
+							<el-input v-model="ruleForm.placeCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="棰勮搴撻緞" prop="qualityAssurance">
+							<el-input v-model="ruleForm.qualityAssurance" placeholder="璇疯緭鍏ラ璀﹀簱榫�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撻緞" prop="wareAge">
+							<el-input-number v-model="ruleForm.wareAge" placeholder="璇疯緭鍏ュ簱榫�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瓒呮湡澶╂暟" prop="overDueDays">
+							<el-input v-model="ruleForm.overDueDays" placeholder="璇疯緭鍏ヨ秴鏈熷ぉ鏁�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏ュ簱鏃堕棿" prop="recordInsertTime">
+							<el-date-picker v-model="ruleForm.recordInsertTime" type="date" placeholder="鍏ュ簱鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWareAgeWarm, updateWareAgeWarm, detailWareAgeWarm } from "/@/api/main/WareAgeWarm/wareAgeWarm";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},],
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		placeCode: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鍙凤紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWareAgeWarm(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWareAgeWarm(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWareAgeWarm(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/receiptCompletion/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/receiptCompletion/index.vue
new file mode 100644
index 0000000..4f6c92f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/receiptCompletion/index.vue
@@ -0,0 +1,296 @@
+<template>
+  <div class="wareAgeWarm-container">
+    <!-- <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParams" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParams.searchKey" clearable="" placeholder="渚涘簲鍟嗗悕绉�,鐗╂枡缂栧彿,ASN鍗曞彿"/>              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="渚涘簲鍟嗗悕绉�">
+              <el-input v-model="queryParams.supplierName" clearable="" placeholder="璇疯緭鍏ヤ緵搴斿晢鍚嶇О"/>              
+            </el-form-item>
+          </el-col>      
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="鐗╂枡缂栧彿">
+              <el-input v-model="queryParams.materialCode" clearable="" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�"/>              
+            </el-form-item>
+          </el-col>  
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="ASN鍗曞彿">
+              <el-input v-model="queryParams.asnNo" clearable="" placeholder="璇疯緭鍏SN鍗曞彿"/>              
+            </el-form-item>
+          </el-col> 
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWareAgeWarm">
+            <el-form-item label="鏀惰揣鐘舵��">
+              <el-select clearable v-model="queryParams.asnStatus" placeholder="璇烽�夋嫨鏀惰揣鐘舵��">
+                <el-option v-for="(item, index) in reciveTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>         
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWareAgeWarm" v-auth="'inventoryWarning:page'" :disabled="disabled_btnWareAgeWarm"> 鏌ヨ </el-button>
+                <el-button icon="ele-Refresh" @click="resetWareAgeWarm"> 閲嶇疆 </el-button>
+                <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWareAgeWarm" v-if="!showAdvanceQueryUIWareAgeWarm" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWareAgeWarm" v-if="showAdvanceQueryUIWareAgeWarm" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWareAgeWarm"  v-auth="'inventoryWarning:exportExcel'" > 瀵煎嚭 </el-button> 
+              </el-button-group>
+            </el-form-item>            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card> -->
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <!-- 缁熻鍖哄煙 -->
+        <count-view ref="countColor">
+          <div >
+            <div class="head-right" style="text-align: right;margin-bottom: 10px;">{{state.ymdTime}}</div>
+            <div><span>姣� </span><el-input-number v-model="timeSet" :min="1" style="width:200px"/><span> 绉掑埛鏂�</span></div>
+          </div>
+        </count-view>
+      <el-table
+        ref="tableRefWareAgeWarm"
+				:data="tableDataWareAgeWarm"
+				style="width: 100%"
+				v-loading="loadingWareAgeWarm"
+				tooltip-effect="dark"
+        row-key="id"
+        @sort-change="sortChangeWareAgeWarm"
+        :row-class-name="tableRowClassName"
+				border=""
+      >
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="supplierName" label="渚涘簲鍟嗗悕绉�"  show-overflow-tooltip="" />
+        <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="asnNo" label="ASN鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="asnStatus" label="鏀惰揣鐘舵��"  show-overflow-tooltip="" >
+          <template #default="scope">
+            <el-tag :color="getReciveStatus(scope.row.asnStatus)" effect="dark" style="border:none;width: 48px;cursor: pointer;">
+              {{ getEnumDesc(scope.row.asnStatus, reciveTypeData)}}
+            </el-tag>
+          </template>
+        </el-table-column>
+        <el-table-column prop="projectNo" label="椤圭洰缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="asnBeginTime" label="鏀惰揣寮�濮嬫椂闂�"  show-overflow-tooltip="" />
+        <el-table-column prop="asnEndTime" label="鏀惰揣缁撴潫鏃堕棿"  show-overflow-tooltip="" />
+        <el-table-column prop="allQty" label="鍒拌揣鏁伴噺"  show-overflow-tooltip="" />
+        <el-table-column prop="asnNumber" label="鏀惰揣鏁伴噺"  show-overflow-tooltip="" />
+      </el-table>
+      <!-- <el-pagination
+				v-model:currentPage="tableParamsWareAgeWarm.page"
+				v-model:page-size="tableParamsWareAgeWarm.pageSize"
+				:total="tableParamsWareAgeWarm.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWareAgeWarm"
+				@current-change="handleCurrentChangeWareAgeWarm"
+				layout="total, sizes, prev, pager, next, jumper"
+	    /> -->
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wareAgeWarm">
+  import { ref,reactive,onMounted,watch,nextTick } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+  import CountView from './component/CountView.vue'
+  
+  import { wmsTakeGoodStats, } from '/@/api/main/inventoryWarning/inventoryWarning';
+  import { handleSlectDataWmsMaterialType } from "/@/utils/selectData";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+  const { getEnumDesc } = commonFunction();
+  import { getReciveStatus } from '/@/utils/switchCase';
+  
+  /***************************************************[搴撻緞鎶ヨ〃鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWareAgeWarm = ref(false);
+  const tableRefWareAgeWarm = ref(null);
+  const loadingWareAgeWarm = ref(false);
+  const disabled_btnWareAgeWarm = ref(false);
+  const tableDataWareAgeWarm = ref<any>([]);
+  const reciveTypeData = ref<any>([]);
+  const queryParams = ref<any>({});
+  const tableParamsWareAgeWarm = ref({
+    page: 1,
+    pageSize: 200,
+    total: 0,
+  });
+  const tableRowClassName = ({row}: {	row: any}) => {
+    return row.asnStatus == 1 ? 'warning-row' : row.asnStatus == 2 ?'danger-row': row.asnStatus == 3 ?'success-row':row.asnStatus == 4 ?'bule-row':row.asnStatus == 6 ?'close-row':'info-row';   
+  };
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWareAgeWarm = () => {
+    showAdvanceQueryUIWareAgeWarm.value = !showAdvanceQueryUIWareAgeWarm.value;
+  }
+
+  // 鏌ヨ搴撻緞鎶ヨ〃
+  const handleQueryWareAgeWarm = async () => {
+    loadingWareAgeWarm.value = true;
+    disabled_btnWareAgeWarm.value = true;
+    var res = await wmsTakeGoodStats(Object.assign(queryParams.value, tableParamsWareAgeWarm.value));
+    if(res.data.type=="success"){
+      tableDataWareAgeWarm.value = res.data.result?.items ?? [];
+      tableParamsWareAgeWarm.value.total = res.data.result?.total;
+    }
+    loadingWareAgeWarm.value = false;
+    disabled_btnWareAgeWarm.value = false;
+  };
+
+  // 閲嶇疆搴撻緞鎶ヨ〃鏌ヨ
+  const resetWareAgeWarm = async () => {
+    queryParams.value = {}
+  };
+
+  // 搴撻緞鎶ヨ〃鍒楁帓搴�
+  const sortChangeWareAgeWarm = async (column: any) => {
+    queryParams.value.field = column.prop;
+    queryParams.value.order = column.order;
+	  await handleQueryWareAgeWarm();
+  };
+
+  // 鏀瑰彉搴撻緞鎶ヨ〃椤甸潰瀹归噺
+  const handleSizeChangeWareAgeWarm = (val: number) => {
+    tableParamsWareAgeWarm.value.pageSize = val;
+    handleQueryWareAgeWarm();
+  };
+
+  // 鏀瑰彉搴撻緞鎶ヨ〃椤电爜搴忓彿
+  const handleCurrentChangeWareAgeWarm = (val: number) => {
+    tableParamsWareAgeWarm.value.page = val;
+    handleQueryWareAgeWarm();
+  };
+
+/***************************************************[搴撻緞鎶ヨ〃鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[搴撻緞鎶ヨ〃瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWareAgeWarm = {
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWareAgeWarm = async (formData:Blob) => {
+    loadingWareAgeWarm.value = true;
+    disabled_btnWareAgeWarm.value = true;
+    var new_tableParamsWareAgeWarm=JSON.parse(JSON.stringify(tableParamsWareAgeWarm.value));
+    new_tableParamsWareAgeWarm.page = 1;
+    new_tableParamsWareAgeWarm.pageSize = 100000;
+    var res = await wmsTakeGoodStats(Object.assign(queryParams.value, new_tableParamsWareAgeWarm));
+    if(res.data.type=="success"){
+      let array = res.data.result?.items ?? []
+      array.forEach((item:any)=>{
+        item.asnStatus = getEnumDesc(item.stockAlarm,  reciveTypeData.value)
+      });
+      exportExcelWareAgeWarm(array);
+    }
+    loadingWareAgeWarm.value = false;
+    disabled_btnWareAgeWarm.value = false;
+};
+//瀵煎嚭
+const exportExcelWareAgeWarm  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWareAgeWarm,"搴撳瓨棰勮鎶ヨ〃",functionMapWareAgeWarm);
+};
+/***************************************************[搴撻緞鎶ヨ〃瀵煎嚭]缁撴潫***************************************************/
+// 搴撻緞鎶ヨ〃椤甸潰鍔犺浇鏃�
+let arrW: any = ref("") //涓嬫媺璇诲彇鎺ュ彛
+onMounted(() => {
+  handleQueryWareAgeWarm()
+  initSetTime();
+	initLockScreen();
+  nextTick(async () => {
+    reciveTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('ReceiptStatusEnum')).data.result ?? [];
+    arrW.value = await handleSlectDataWmsMaterialType(); //涓嬫媺璇诲彇鎺ュ彛
+  });
+});
+const timeSet = ref(15) // 鍒锋柊鏃堕棿
+watch(
+	() => timeSet.value,  
+	() => {
+		nextTick(() => {      
+			initLockScreen();
+		});
+	},
+	{
+		deep: true,
+	}
+);
+
+ // 鏃堕棿鍒濆鍖�
+ const state = reactive({	
+	ymdTime:'',
+	setIntervalTime: 0,
+	isShowLockScreenIntervalTime: 0,
+});
+const initTime = () => {
+	state.ymdTime = formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS');
+};
+// 鏃堕棿鍒濆鍖栧畾鏃跺櫒
+const initSetTime = () => {
+	initTime();
+	state.setIntervalTime = window.setInterval(() => {
+		initTime();
+	}, 1000);
+};
+// 鏃堕棿瀹氭椂鍣�
+const initLockScreen = () => {
+	if (timeSet.value) {
+    clearInterval(state.isShowLockScreenIntervalTime);
+		state.isShowLockScreenIntervalTime = window.setInterval(() => {
+			// 鏃堕棿涓簄ull閲嶇疆涓�300绉掞紝闃叉鐧藉睆
+			if (timeSet.value == null) {
+				timeSet.value = 300;				
+				return false;
+			}
+      handleQueryWareAgeWarm();
+		}, timeSet.value*1000);
+	} else {
+		clearInterval(state.isShowLockScreenIntervalTime);
+	}
+};
+
+
+
+
+
+
+
+
+
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+:deep(.el-table .danger-row){
+  background: #F56C6C !important;
+}
+:deep(.el-table .success-row){
+  background: #67C23A !important;
+}
+:deep(.el-table .warning-row){
+  background: #E6A23C !important;
+}
+:deep(.el-table .bule-row){
+  background: #409EFF !important;
+}
+:deep(.el-table .info-row){
+  background: #909399 !important;
+}
+:deep(.el-table .close-row){
+  background: #800080 !important;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/transitionChart/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/transitionChart/component/editDialog.vue
new file mode 100644
index 0000000..f33eb9c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/transitionChart/component/editDialog.vue
@@ -0,0 +1,304 @@
+锘�<template>
+	<div class="wmsStockBoardabc-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ABC鍒嗙被鍚嶇О" prop="aBCClassName">
+							<el-input v-model="ruleForm.aBCClassName" placeholder="璇疯緭鍏BC鍒嗙被鍚嶇О" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ABC鍒嗙被" prop="aBCClass">
+							<el-select clearable v-model="ruleForm.aBCClass" placeholder="璇烽�夋嫨ABC鍒嗙被">
+								<el-option v-for="(item,index) in  getEnumABCClassData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡缂栧彿" prop="materialCode">
+							<el-input v-model="ruleForm.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+							<el-input v-model="ruleForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璺熻釜鐮�" prop="snCode">
+							<el-input v-model="ruleForm.snCode" placeholder="璇疯緭鍏ヨ窡韪爜" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹瑰櫒Id" prop="containerId">
+							<el-input v-model="ruleForm.containerId" placeholder="璇疯緭鍏ュ鍣↖d" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀹瑰櫒缂栧彿" prop="containerCode">
+							<el-input v-model="ruleForm.containerCode" placeholder="璇疯緭鍏ュ鍣ㄧ紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏀惰揣鏃堕棿" prop="recordInsertTime">
+							<el-date-picker v-model="ruleForm.recordInsertTime" type="date" placeholder="鏀惰揣鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎿嶄綔鏃堕棿" prop="actionTime">
+							<el-date-picker v-model="ruleForm.actionTime" type="date" placeholder="鎿嶄綔鏃堕棿" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏁伴噺" prop="quantity">
+							<el-input v-model="ruleForm.quantity" placeholder="璇疯緭鍏ユ暟閲�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳瓨鐘舵��" prop="stockStatus">
+							<el-select clearable v-model="ruleForm.stockStatus" placeholder="璇烽�夋嫨搴撳瓨鐘舵��">
+								<el-option v-for="(item,index) in  getEnumStockStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳瓨鐘舵�佸悕绉�" prop="stockStatusName">
+							<el-input v-model="ruleForm.stockStatusName" placeholder="璇疯緭鍏ュ簱瀛樼姸鎬佸悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓�缁存潯鐮�" prop="sN_1d">
+							<el-input v-model="ruleForm.sN_1d" placeholder="璇疯緭鍏ヤ竴缁存潯鐮�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="浜岀淮鏉$爜" prop="sN_2d">
+							<el-input v-model="ruleForm.sN_2d" placeholder="璇疯緭鍏ヤ簩缁存潯鐮�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP鍑瘉" prop="erpVoucher">
+							<el-input v-model="ruleForm.erpVoucher" placeholder="璇疯緭鍏RP鍑瘉" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP鍗曞彿" prop="erpOrderNo">
+							<el-input v-model="ruleForm.erpOrderNo" placeholder="璇疯緭鍏RP鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="ERP搴撳瓨鍦�" prop="erpCode">
+							<el-input v-model="ruleForm.erpCode" placeholder="璇疯緭鍏RP搴撳瓨鍦�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="渚涘簲鍟嗘壒娆�" prop="supplierBatch">
+							<el-input v-model="ruleForm.supplierBatch" placeholder="璇疯緭鍏ヤ緵搴斿晢鎵规" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵规" prop="batch">
+							<el-input v-model="ruleForm.batch" placeholder="璇疯緭鍏ユ壒娆�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璐ㄦ鐘舵��" prop="qCStatus">
+							<el-select clearable v-model="ruleForm.qCStatus" placeholder="璇烽�夋嫨璐ㄦ鐘舵��">
+								<el-option v-for="(item,index) in  getEnumQCStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璐ㄦ鐘舵�佸悕绉�" prop="qCStatusName">
+							<el-input v-model="ruleForm.qCStatusName" placeholder="璇疯緭鍏ヨ川妫�鐘舵�佸悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addwmsStockBoardabc, updatewmsStockBoardabc, detailwmsStockBoardabc } from "/@/api/main/ReportCenter/wmsStockBoardabc";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumABCClassData = ref<any>([]);
+	const getEnumStockStatusData = ref<any>([]);
+	const getEnumQCStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		materialCode: [{required: true, message: '璇疯緭鍏ョ墿鏂欑紪鍙凤紒', trigger: 'blur',},],
+		snCode: [{required: true, message: '璇疯緭鍏ヨ窡韪爜锛�', trigger: 'blur',},],
+		containerId: [{required: true, message: '璇疯緭鍏ュ鍣↖d锛�', trigger: 'blur',},],
+		containerCode: [{required: true, message: '璇疯緭鍏ュ鍣ㄧ紪鍙凤紒', trigger: 'blur',},],
+		quantity: [{required: true, message: '璇疯緭鍏ユ暟閲忥紒', trigger: 'blur',},],
+		stockStatus: [{required: true, message: '璇烽�夋嫨搴撳瓨鐘舵�侊紒', trigger: 'change',},],
+		stockStatusName: [{required: true, message: '璇疯緭鍏ュ簱瀛樼姸鎬佸悕绉帮紒', trigger: 'blur',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailwmsStockBoardabc(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addwmsStockBoardabc(values);
+				} else {
+					title='缂栬緫';
+					ret = await updatewmsStockBoardabc(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumABCClassData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('ABCClassEnum')).data.result ?? [];
+			getEnumStockStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('StockStatusEnum')).data.result ?? [];
+			getEnumQCStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('QcStatusEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/transitionChart/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/transitionChart/index.vue
new file mode 100644
index 0000000..57f6cd9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/inventoryWarning/transitionChart/index.vue
@@ -0,0 +1,318 @@
+锘�<template>
+  <div class="wmsStockBoardabc-container">   
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+		<el-tabs v-model="activeName" @tab-click="handleClick" :lazy="true"  class="task_echrts">	
+			<!-- <el-tab-pane
+				v-for="item in editableTabs"
+				:key="item.name"
+				:label="item.title"
+				:name="item.name"
+				>
+				<div class="home-card-item" >					
+					<div style="height: 100%" ref="homeBarRef" id="homeBarRef"></div>
+				</div>
+			</el-tab-pane>			 -->
+			<el-tab-pane label="鏃�" name="1">
+				<div class="task_echrts" ref="inOutLine" id="inOutLine" v-if="activeName=='1'"></div>
+			</el-tab-pane>
+			<el-tab-pane label="鍛�" name="2">
+				<div class="task_echrts" ref="inOutLine" id="inOutLine" v-if="activeName=='2'"></div>
+			</el-tab-pane>
+			<el-tab-pane label="鏈�" name="3">
+				<div class="task_echrts" ref="inOutLine" id="inOutLine" v-if="activeName=='3'"></div>
+			</el-tab-pane>
+		</el-tabs>
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsStockBoardabc">
+  import { ref,onMounted, nextTick, reactive, onUnmounted ,markRaw,onActivated,watch} from "vue";
+  import * as echarts from 'echarts';
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { wmsStockPassMap, } from '/@/api/main/inventoryWarning/inventoryWarning';
+	import type { TabsPaneContext } from 'element-plus'
+  
+  /***************************************************[鍑哄叆搴撳簱瀛樻帹绉诲浘鎿嶄綔]寮�濮�***************************************************/
+
+  const loadingwmsStockBoardabc = ref(false);
+  const disabled_btnwmsStockBoardabc = ref(false);
+  
+  import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
+  import { storeToRefs } from 'pinia';
+  const storesTagsViewRoutes = useTagsViewRoutes();
+  const { isTagsViewCurrenFull } = storeToRefs(storesTagsViewRoutes); 
+
+/***************************************************[鍑哄叆搴撳簱瀛樻帹绉诲浘]寮�濮�***************************************************/
+const activeName = ref('1')
+const handleClick = (tab: TabsPaneContext, event: Event) => {
+	handleQuerywmsStockBoardabc(tab.props.name);
+}
+// 鏌ヨ鍑哄叆搴撳簱瀛樻帹绉诲浘
+const handleQuerywmsStockBoardabc = async (val:any) => {
+    loadingwmsStockBoardabc.value = true;
+    disabled_btnwmsStockBoardabc.value = true;
+	let para = {DayOrWeekOrMonth:Number(val)}
+    var res = await wmsStockPassMap(para);
+    if(res.data.type=="success"){		
+		let arr1: any[] = [];
+		let arr2: any = [];
+		let arr3: any = [];
+		let arr4: any[] = [];
+		let arr5: any[] = [];
+		let result = res.data.result || [];
+		result.forEach((item:any) => {
+			arr1.push({value:item.inWare,stationName:'s'+item.time})
+			arr2.push({value:item.outWare,stationName:'s'+item.time})
+			arr3.push({value:item.stockNum,stationName:'s'+item.time})
+			arr4.push({value:item.aveStockNum,stationName:'s'+item.time})			
+			arr5.push(item.date)		
+		})
+		nextTick(() => {
+			setTimeout(() => {
+				initBarChart(arr1,arr2,arr3,arr4,arr5);
+			}, 500);
+		});
+	}
+    loadingwmsStockBoardabc.value = false;
+    disabled_btnwmsStockBoardabc.value = false;
+  };
+  handleQuerywmsStockBoardabc('1');
+
+// 鎶樼嚎鍥�
+const state = reactive({
+	global: {
+		homeChartOne: null,
+		dispose: [null, '', undefined],
+	} as any,
+	myCharts: [] as EmptyArrayType,
+	charts: {
+		theme: '',
+		bgColor: '',
+		color: '#303133',
+	},
+});
+const inOutLine = ref();
+// tab椤�
+const editableTabs = ref([
+  {
+    title: '鏃�',
+    name: 1,
+    content: 'Tab 1 content',
+  },
+  {
+    title: '鍛�',
+    name: 2,
+    content: 'Tab 2 content',
+  },
+  {
+    title: '鏈�',
+    name: 3,
+    content: 'Tab 2 content',
+  },
+])
+
+const initBarChart = (arr1:any,arr2:any,arr3:any,arr4:any,arr5:any) => {	
+	if(arr1==null||arr2==null||arr3==null||arr4==null||arr5==null) return false
+	if (!state.global.dispose.some((b: any) => b === state.global.homeChartOne)) state.global.homeChartOne.dispose();
+	state.global.homeChartOne = markRaw(echarts.init(inOutLine.value, state.charts.theme));
+	const option = {
+		backgroundColor: state.charts.bgColor,
+		title: {
+			text: '涓婁笅鏋舵帹绉诲浘',
+			x: 'left',
+			textStyle: { fontSize: '12', color: state.charts.color },
+		},
+		tooltip: { trigger: 'axis' },
+		//legend: { data: ['涓婃灦','涓嬫灦', '搴撳瓨', '骞冲潎'], right: 0 },
+		legend: { data: ['涓婃灦','涓嬫灦'], right: 0 },
+		grid: { top: 50, right: 80, bottom: 100, left: 60 },
+		// grid: { top: 70, right: 80, bottom: 30, left: 80 },
+		xAxis: [
+			{
+				type: 'category',
+				// data: ['1鏈�', '2鏈�', '3鏈�', '4鏈�', '5鏈�', '6鏈�', '7鏈�', '8鏈�', '9鏈�', '10鏈�', '11鏈�', '12鏈�'],
+				data: arr5,
+				boundaryGap: true,
+				axisTick: { show: false },
+			},
+		],
+		yAxis: [
+			{
+				name: '鍗曚綅',
+				nameLocation: 'middle',
+				nameTextStyle: { padding: [3, 4, 50, 6] },
+				splitLine: { show: true, lineStyle: { type: 'dashed', color: '#f5f5f5' } },
+				axisLine: { show: false },
+				axisTick: { show: false },
+				axisLabel: { color: state.charts.color, formatter: '{value} ' },
+			},
+			// {
+			// 	name: '骞冲潎',
+			// 	nameLocation: 'middle',
+			// 	nameTextStyle: { padding: [50, 4, 5, 6] },
+			// 	splitLine: { show: false },
+			// 	axisLine: { show: false },
+			// 	axisTick: { show: false },
+			// 	axisLabel: { color: state.charts.color, formatter: '{value} ' },
+			// },
+		],
+		series: [
+			{
+				name: '涓婃灦',
+				type: 'line',
+				smooth: true,
+				showSymbol: true,
+				// 鐭㈤噺鐢讳簲瑙掓槦
+				symbol: 'path://M150 0 L80 175 L250 75 L50 75 L220 175 Z',
+				symbolSize: 12,
+				yAxisIndex: 0,
+				areaStyle: {
+					color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+						{ offset: 0, color: 'rgba(250,180,101,0.3)' },
+						{ offset: 1, color: 'rgba(250,180,101,0)' },
+					]),
+					shadowColor: 'rgba(250,180,101,0.2)',
+					shadowBlur: 20,
+				},
+				itemStyle: { color: '#FF8000' },
+				// data涓彲浠ヤ娇鐢ㄥ璞★紝value浠h〃鐩稿簲鐨勫�硷紝鍙﹀鍙姞鍏ヨ嚜瀹氫箟鐨勫睘鎬�
+				// data: [
+				// 	{ value: 1, stationName: 's1' },
+				// 	{ value: 3, stationName: 's2' },
+				// 	{ value: 4, stationName: 's3' },
+				// 	{ value: 9, stationName: 's4' },
+				// 	{ value: 3, stationName: 's5' },
+				// 	{ value: 2, stationName: 's6' },
+				// ],
+				data:arr1
+			},
+			{
+				name: '涓嬫灦',
+				type: 'line',
+				smooth: true,
+				showSymbol: true,
+				symbol: 'emptyCircle',
+				symbolSize: 12,
+				yAxisIndex: 0,
+				areaStyle: {
+					color: new echarts.graphic.LinearGradient(
+						0,
+						0,
+						0,
+						1,
+						[
+							{ offset: 0, color: 'rgba(199, 237, 250,0.5)' },
+							{ offset: 1, color: 'rgba(199, 237, 250,0.2)' },
+						],
+						false
+					),
+				},
+				itemStyle: {
+					color: '#3bbc86',
+				},
+				data:arr2
+			},
+			// {
+			// 	name: '骞冲潎',
+			// 	type: 'bar',
+			// 	barWidth: 30,
+			// 	yAxisIndex: 1,
+			// 	itemStyle: {
+			// 		color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+			// 			{ offset: 0, color: 'rgba(108,80,243,0.3)' },
+			// 			{ offset: 1, color: 'rgba(108,80,243,0)' },
+			// 		]),
+			// 		//鏌辩姸鍥惧渾瑙�
+			// 		borderRadius: [30, 30, 0, 0],
+			// 	},
+			// 	data:arr3
+			// },
+			// {
+			// 	name: '搴撳瓨',
+			// 	type: 'line',
+			// 	smooth: true,
+			// 	showSymbol: true,
+			// 	symbol: 'emptyCircle',
+			// 	symbolSize: 12,
+			// 	yAxisIndex: 0,
+			// 	// fe9a8b
+			// 	lineStyle: { color: '#51A3FC' },
+			// 	itemStyle: { color: '#51A3FC', borderColor: '#51A3FC' },
+			// 	areaStyle: {
+			// 		color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+			// 			{ offset: 0, color: '#51A3FCb3' },
+			// 			{ offset: 1, color: '#51A3FC03' },
+			// 		]),
+			// 	},
+			// 	data:arr4
+			// },
+		],
+	};
+	state.global.homeChartOne.setOption(option);
+	state.myCharts.push(state.global.homeChartOne);
+};
+// 鎵归噺璁剧疆 echarts resize
+const initEchartsResizeFun = () => {
+	nextTick(() => {
+		for (let i = 0; i < state.myCharts.length; i++) {
+			setTimeout(() => {
+				state.myCharts[i].resize();
+			}, i * 1000);
+		}
+	});
+};
+// 鎵归噺璁剧疆 echarts resize
+const initEchartsResize = () => {
+	window.addEventListener('resize', initEchartsResizeFun);
+};
+
+// 瀹氭椂鍣�
+let timeInter: any = null;
+// 椤甸潰鍔犺浇鏃�
+onMounted(() => {
+	initEchartsResize();
+
+	timeInter = setInterval(() => {
+		nextTick(() => {
+			handleQuerywmsStockBoardabc('1');
+		});
+	}, 15000); //璋冪敤棰戠巼鏀逛负 15绉掍竴娆℃煡璇€��
+});
+
+
+onUnmounted(() => {
+  clearInterval(timeInter); //閿�姣�
+  timeInter = null;
+});
+
+
+// 鐢变簬椤甸潰缂撳瓨鍘熷洜锛宬eep-alive
+onActivated(() => {
+	initEchartsResizeFun();
+});
+
+
+// 鐩戝惉 pinia 涓殑 tagsview 寮�鍚叏灞忓彉鍖栵紝閲嶆柊 resize 鍥捐〃锛岄槻姝笉鍑虹幇/澶у皬涓嶅彉绛�
+watch(
+	() => isTagsViewCurrenFull.value,
+	() => {
+		initEchartsResizeFun();
+	}
+);
+
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+.task_echrts {
+        width: 100%;
+        height: 700px;
+        background: #fff;
+        border-radius: 10px;
+      }
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/cache/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/cache/index.vue
new file mode 100644
index 0000000..437c68e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/cache/index.vue
@@ -0,0 +1,155 @@
+<template>
+	<div class="sys-cache-container">
+		<NoticeBar text="绯荤粺缂撳瓨鏁版嵁绠$悊锛岃鎱庨噸鎿嶄綔锛�" leftIcon="iconfont icon-tongzhi2" background="var(--el-color-primary-light-9)" color="var(--el-color-primary)" />
+		<el-row :gutter="8" style="width: 100%">
+			<el-col :span="8" :xs="24">
+				<el-card shadow="hover" header="缂撳瓨鍒楄〃" v-loading="state.loading" class="mt8">
+					<template #header>
+						<div class="card-header">
+							<span>缂撳瓨鍒楄〃</span>
+							<el-button icon="ele-Refresh" size="small" circle text @click="handleQuery" v-auth="'sysCache:keyList'" />
+						</div>
+					</template>
+					<el-tree
+						ref="treeRef"
+						class="filter-tree"
+						:data="state.cacheData"
+						node-key="id"
+						:props="{ children: 'children', label: 'name' }"
+						@node-click="nodeClick"
+						:default-checked-keys="state.cacheData"
+						highlight-current
+						check-strictly
+						default-expand-all
+						accordion
+					/>
+				</el-card>
+			</el-col>
+			<el-col :span="16" :xs="24">
+				<el-card shadow="hover" header="缂撳瓨鏁版嵁" v-loading="state.loading1" class="mt8">
+					<template #header>
+						<div class="card-header">
+							<span>{{ `缂撳瓨鏁版嵁${state.cacheKey ? `銆�${state.cacheKey}銆慲 : ''}` }}</span>
+							<el-button icon="ele-Delete" size="small" type="danger" @click="delCache" v-auth="'sysCache:delete'"> 鍒犻櫎缂撳瓨 </el-button>
+						</div>
+					</template>
+					<vue-json-pretty :data="state.cacheValue" showLength showIcon showLineNumber showSelectController />
+				</el-card>
+			</el-col>
+		</el-row>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysCache">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage, ElTree } from 'element-plus';
+import NoticeBar from '/@/components/noticeBar/index.vue';
+import VueJsonPretty from 'vue-json-pretty';
+import 'vue-json-pretty/lib/styles.css';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysCacheApi } from '/@/api-services';
+
+const treeRef = ref<InstanceType<typeof ElTree>>();
+const currentNode = ref<any>({});
+const state = reactive({
+	loading: false,
+	loading1: false,
+	cacheData: [] as any,
+	cacheValue: undefined as any,
+	cacheKey: undefined,
+});
+
+onMounted(async () => {
+	handleQuery();
+});
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.cacheData = [];
+	state.cacheValue = undefined;
+	state.cacheKey = undefined;
+
+	state.loading = true;
+	var res = await getAPI(SysCacheApi).apiSysCacheKeyListGet();
+	let keyList: any = res.data.result;
+
+	// 鏋勯�犳爲锛堜互鍒嗗彿鍒嗗壊锛�
+	for (let i = 0; i < keyList.length; i++) {
+		let keyNames = keyList[i].split(':');
+		let pName = keyNames[0];
+		if (state.cacheData.filter((x: any) => x.name == pName).length === 0) {
+			state.cacheData.push({
+				id: keyNames.length > 1 ? 0 : keyList[i],
+				name: pName,
+				children: [],
+			});
+		}
+		if (keyNames.length > 1) {
+			let pNode = state.cacheData.filter((x: any) => x.name == pName)[0] || {};
+			pNode.children.push({
+				id: keyList[i],
+				name: keyList[i].substr(pName.length + 1),
+			});
+		}
+	}
+	state.loading = false;
+};
+
+// 鍒犻櫎
+const delCache = () => {
+	if (currentNode.value.id == 0) {
+		ElMessage.warning('绂佹鍒犻櫎椤跺眰缂撳瓨');
+		return;
+	}
+	ElMessageBox.confirm(`纭畾鍒犻櫎缂撳瓨锛氥��${currentNode.value.id}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysCacheApi).apiSysCacheDeleteKeyPost(currentNode.value.id);
+			handleQuery();
+			state.cacheValue = undefined;
+			state.cacheKey = undefined;
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鏍戠偣鍑�
+const nodeClick = async (node: any) => {
+	if (node.id == 0) return;
+
+	currentNode.value = node;
+	state.loading1 = true;
+	var res = await getAPI(SysCacheApi).apiSysCacheValueKeyGet(node.id);
+	// state.cacheValue = JSON.parse(res.data.result);
+	var result = res.data.result;
+	if (typeof result == 'string') {
+		try {
+			var obj = JSON.parse(result);
+			if (typeof obj == 'object') {
+				state.cacheValue = obj;
+			} else {
+				state.cacheValue = result;
+			}
+		} catch (e) {
+			state.cacheValue = result;
+		}
+	} else {
+		state.cacheValue = result;
+	}
+
+	state.cacheKey = node.id;
+	state.loading1 = false;
+};
+</script>
+
+<style lang="scss" scoped>
+.card-header {
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/codeGen/component/editCodeGenDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/system/codeGen/component/editCodeGenDialog.vue
new file mode 100644
index 0000000..2089b12
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/codeGen/component/editCodeGenDialog.vue
@@ -0,0 +1,243 @@
+<template>
+	<div class="sys-editCodeGen-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> {{ props.title }} </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳畾浣嶅櫒" prop="configId">
+							<el-select v-model="state.ruleForm.configId" placeholder="搴撳悕" filterable @change="dbChanged()" class="w100">
+								<el-option v-for="item in state.dbData" :key="item.configId" :label="item.configId" :value="item.configId" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撶被鍨�" prop="dbType" :rules="[{ required: true, message: '搴撶被鍨嬩笉鑳戒负绌�', trigger: 'blur' }]">
+							<el-select v-model="state.ruleForm.dbType" placeholder="鏁版嵁搴撶被鍨�" clearable disabled class="w100">
+								<el-option label="MySql" :value="'0'" />
+								<el-option label="SqlServer" :value="'1'" />
+								<el-option label="Sqlite" :value="'2'" />
+								<el-option label="Oracle" :value="'3'" />
+								<el-option label="PostgreSQL" :value="'4'" />
+								<el-option label="Dm" :value="'5'" />
+								<el-option label="Kdbndp" :value="'6'" />
+								<el-option label="Oscar" :value="'7'" />
+								<el-option label="MySqlConnector" :value="'8'" />
+								<el-option label="Access" :value="'9'" />
+								<el-option label="OpenGauss" :value="'10'" />
+								<el-option label="QuestDB" :value="'11'" />
+								<el-option label="HG" :value="'12'" />
+								<el-option label="ClickHouse" :value="'13'" />
+								<el-option label="GBase" :value="'14'" />
+								<el-option label="Custom" :value="'900'" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="搴撳湴鍧�" prop="connectionString">
+							<el-input v-model="state.ruleForm.connectionString" disabled clearable type="textarea" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐢熸垚琛�" prop="tableName" :rules="[{ required: true, message: '鐢熸垚琛ㄤ笉鑳戒负绌�', trigger: 'blur' }]">
+							<el-select v-model="state.ruleForm.tableName" @change="tableChanged" value-key="value" filterable clearable class="w100">
+								<el-option v-for="item in state.tableData" :key="item.entityName" :label="item.entityName + ' ( ' + item.tableName + ' ) [' + item.tableComment + ']'" :value="item" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓氬姟鍚�" prop="busName">
+							<el-input v-model="state.ruleForm.busName" placeholder="璇疯緭鍏�" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐖剁骇鑿滃崟" prop="menuPid">
+							<el-cascader
+								:options="state.menuData"
+								:props="{ checkStrictly: true, emitPath: false, value: 'id', label: 'title' }"
+								placeholder="璇烽�夋嫨涓婄骇鑿滃崟"
+								clearable
+								class="w100"
+								v-model="state.ruleForm.menuPid"
+							>
+								<template #default="{ node, data }">
+									<span>{{ data.title }}</span>
+									<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
+								</template>
+							</el-cascader>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍛藉悕绌洪棿" prop="nameSpace" :rules="[{ required: true, message: '璇烽�夋嫨鍛藉悕绌洪棿', trigger: 'blur' }]">
+							<!-- <el-input v-model="state.ruleForm.nameSpace" clearable placeholder="璇疯緭鍏�" /> -->
+							<el-select v-model="state.ruleForm.nameSpace" filterable clearable class="w100" placeholder="鍛藉悕绌洪棿">
+								<el-option v-for="(item, index) in props.applicationNamespaces" :key="index" :label="item" :value="item" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="浣滆�呭鍚�" prop="authorName">
+							<el-input v-model="state.ruleForm.authorName" clearable placeholder="璇疯緭鍏�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="妯″潡鍚�" prop="moduleName" :rules="[{ required: true, message: '璇疯緭鍏ユā鍧楀悕', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.moduleName" clearable placeholder="璇疯緭鍏�" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐢熸垚鏂瑰紡" prop="generateType">
+							<el-select v-model="state.ruleForm.generateType" filterable class="w100">
+								<el-option v-for="item in state.codeGenTypeList" :key="item.value" :label="item.value" :value="item.code" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="琛ㄧ被鍨�" prop="tableType" :rules="[{ required: true, message: '璇烽�夋嫨琛ㄧ被鍨�', trigger: 'blur' }]">
+							<el-select v-model="state.ruleForm.tableType" filterable class="w100">
+								<el-option v-for="item in state.tableTypeList" :key="item.value" :label="item.value" :value="item.code" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="琛ㄦ寜閽�" prop="buttonsList" :rules="[{ required: true, message: '璇烽�夋嫨琛ㄦ寜閽�', trigger: 'blur' }]">
+							<el-select v-model="state.ruleForm.buttonsList" filterable class="w100" multiple >
+								<el-option v-for="item in state.buttonsList" :key="item.value" :label="item.value" :value="item.code" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏀寔鎵撳嵃" prop="printType">
+							<el-select v-model="state.ruleForm.printType" filterable class="w100">
+								<el-option v-for="item in state.printTypeList" :key="item.value" :label="item.value" :value="item.code" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" v-if="state.ruleForm.printType == 'custom'">
+						<el-form-item label="鎵撳嵃妯$増" prop="printName">
+							<el-select v-model="state.ruleForm.printName" filterable class="w100">
+								<el-option v-for="item in state.printList" :key="item.id" :label="item.name" :value="item.name" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditCodeGen">
+import { onMounted, reactive, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysCodeGenApi, SysDictDataApi, SysMenuApi, SysPrintApi } from '/@/api-services/api';
+import { UpdateCodeGenInput, AddCodeGenInput, SysMenu, SysPrint } from '/@/api-services/models';
+
+const props = defineProps({
+	title: String,
+	applicationNamespaces: Array<String>,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as UpdateCodeGenInput,
+	tableData: [] as any,
+	dbData: [] as any,
+	menuData: [] as Array<SysMenu>,
+	codeGenTypeList: [] as any,
+	tableTypeList: [] as any,
+	buttonsList: [] as any,
+	printTypeList: [] as any,
+	printList: [] as Array<SysPrint>,
+});
+
+onMounted(async () => {
+	var resDb = await getAPI(SysCodeGenApi).apiSysCodeGenDatabaseListGet();
+	state.dbData = resDb.data.result;
+
+	let resMenu = await getAPI(SysMenuApi).apiSysMenuListGet();
+	state.menuData = resMenu.data.result ?? [];
+
+	let resDicData = await getAPI(SysDictDataApi).apiSysDictDataDataListCodeGet('code_gen_create_type');
+	state.codeGenTypeList = resDicData.data.result;
+
+	let resDicData_tableTypeList = await getAPI(SysDictDataApi).apiSysDictDataDataListCodeGet('code_gen_table_type');
+	state.tableTypeList = resDicData_tableTypeList.data.result;
+
+	let resDicData_buttonsList = await getAPI(SysDictDataApi).apiSysDictDataDataListCodeGet('code_gen_table_button');
+	state.buttonsList = resDicData_buttonsList.data.result;
+
+	let printTypeResDicData = await getAPI(SysDictDataApi).apiSysDictDataDataListCodeGet('code_gen_print_type');
+	state.printTypeList = printTypeResDicData.data.result;
+
+	let resPrintIdData = await getAPI(SysPrintApi).apiSysPrintPagePost();
+	state.printList = resPrintIdData.data.result?.items ?? [];
+
+	// 榛樿浣跨敤绗竴涓簱
+	//state.ruleForm.configId = state.dbData[0].configId;
+	//await dbChanged();
+});
+
+// db鏀瑰彉
+const dbChanged = async () => {
+	if (state.ruleForm.configId === '') return;
+	let res = await getAPI(SysCodeGenApi).apiSysCodeGenTableListConfigIdGet(state.ruleForm.configId as string);
+	state.tableData = res.data.result ?? [];
+
+	let db = state.dbData.filter((u: any) => u.configId == state.ruleForm.configId);
+	state.ruleForm.connectionString = db[0].connectionString;
+	state.ruleForm.dbType = db[0].dbType.toString();
+};
+
+// table鏀瑰彉
+const tableChanged = (item: any) => {
+	state.ruleForm.tableName = item.entityName;
+	state.ruleForm.busName = item.tableComment;
+};
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysCodeGenApi).apiSysCodeGenUpdatePost(state.ruleForm as UpdateCodeGenInput);
+		} else {
+			await getAPI(SysCodeGenApi).apiSysCodeGenAddPost(state.ruleForm as AddCodeGenInput);
+		}
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/codeGen/component/fkDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/system/codeGen/component/fkDialog.vue
new file mode 100644
index 0000000..0c9c03b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/codeGen/component/fkDialog.vue
@@ -0,0 +1,140 @@
+<template>
+	<div class="sys-codeGenFk-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px" destroy-on-close>
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> 澶栭敭閰嶇疆</span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="搴撳畾浣嶅櫒" prop="configId">
+							<el-select clearable v-model="state.ruleForm.configId" placeholder="搴撳悕" filterable @change="DbChanged()" class="w100">
+								<el-option v-for="item in state.dbData" :key="item.configId" :label="item.configId" :value="item.configId" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鏁版嵁搴撹〃" prop="tableName">
+							<el-select v-model="state.ruleForm.tableName" filterable clearable @change="TableChanged()" class="w100">
+								<el-option v-for="item in state.tableData" :key="item.entityName" :label="item.entityName + ' ( ' + item.tableName + ' )[' + item.tableComment + ']'" :value="item.tableName" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鏄剧ず瀛楁" prop="columnName">
+							<el-select v-model="state.ruleForm.columnName" class="w100">
+								<el-option v-for="item in state.columnData" :key="item.columnName" :label="item.columnName + ' [' + item.columnComment + ']'" :value="item.columnName" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="璧嬪�煎瓧娈�" prop="setValueColumnName">
+							<el-select v-model="state.ruleForm.setValueColumnName" class="w100">
+								<el-option v-for="item in state.columnData" :key="item.columnName" :label="item.columnName + ' [' + item.columnComment + ']'" :value="item.columnName" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysCodeGenFk">
+import { onMounted, reactive, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysCodeGenApi } from '/@/api-services/api';
+
+var rowdata = {} as any;
+const emits = defineEmits(['submitRefreshFk']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as any,
+	dbData: [] as any,
+	tableData: [] as any,
+	columnData: [] as any,
+});
+
+onMounted(async () => {
+	await getDbList();
+
+	// 榛樿浣跨敤绗竴涓簱
+	//state.ruleForm.configId = state.dbData[0].configId;
+	//await DbChanged();
+});
+
+const DbChanged = async () => {
+	state.tableData = [];
+	state.columnData = [];
+	await getTableInfoList();
+};
+
+const TableChanged = async () => {
+	state.columnData = [];
+	await getColumnInfoList();
+};
+
+const getDbList = async () => {
+	var res = await getAPI(SysCodeGenApi).apiSysCodeGenDatabaseListGet();
+	state.dbData = res.data.result;
+};
+
+const getTableInfoList = async () => {
+	if (state.ruleForm.configId == '') return;
+	var res = await getAPI(SysCodeGenApi).apiSysCodeGenTableListConfigIdGet(state.ruleForm.configId);
+	state.tableData = res.data.result;
+};
+
+const getColumnInfoList = async () => {
+	if (state.ruleForm.configId == '' || state.ruleForm.tableName == '') return;
+	console.log(state.ruleForm.configId, state.ruleForm.tableName);
+	var res = await getAPI(SysCodeGenApi).apiSysCodeGenColumnListByTableNameTableNameConfigIdGet(state.ruleForm.tableName, state.ruleForm.configId);
+	state.columnData = res.data.result;
+};
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	rowdata = row;
+	state.isShowDialog = true;
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	rowdata.fkTableName = state.ruleForm.tableName;
+	let tableData = state.tableData.filter((x) => x.tableName == state.ruleForm.tableName);
+	rowdata.fkEntityName = tableData.length == 0 ? '' : tableData[0].entityName;
+	rowdata.fkColumnName = state.ruleForm.columnName;
+	rowdata.fkSetValueColumnName = state.ruleForm.setValueColumnName;
+	let columnData = state.columnData.filter((x) => x.columnName == state.ruleForm.columnName);
+	rowdata.fkColumnNetType = columnData.length == 0 ? '' : columnData[0].netType;
+	emits('submitRefreshFk', rowdata);
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/codeGen/component/genConfigDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/system/codeGen/component/genConfigDialog.vue
new file mode 100644
index 0000000..4b43da9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/codeGen/component/genConfigDialog.vue
@@ -0,0 +1,330 @@
+<template>
+	<div class="sys-codeGenConfig-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="1700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> 鐢熸垚閰嶇疆 </span>
+				</div>
+			</template>
+			<el-table :data="state.tableData" style="width: 100%" v-loading="state.loading" border>
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+				<el-table-column prop="propertyName" label="瀹炰綋灞炴��" width="180" show-overflow-tooltip />
+				<el-table-column prop="columnComment" label="鎻忚堪" width="180" show-overflow-tooltip>
+					<template #default="scope">
+						<el-input v-model="scope.row.columnComment" autocomplete="off" />
+					</template>
+				</el-table-column>
+				<el-table-column prop="netType" label="鏁版嵁绫诲瀷" min-width="90" show-overflow-tooltip />
+				<el-table-column prop="effectType" label="浣滅敤绫诲瀷" width="140" show-overflow-tooltip>
+					<template #default="scope">
+						<el-select v-model="scope.row.effectType" class="m-2" placeholder="Select" :disabled="judgeColumns(scope.row)" @change="effectTypeChange(scope.row, scope.$index)">
+							<el-option v-for="item in state.effectTypeList" :key="item.code" :label="item.value" :value="item.code" />
+						</el-select>
+					</template>
+				</el-table-column>
+				<el-table-column prop="dictTypeCode" label="瀛楀吀" width="180" show-overflow-tooltip>
+					<template #default="scope">
+						<el-select v-model="scope.row.dictTypeCode" class="m-2" :disabled="effectTypeEnable(scope.row)">
+							<el-option v-for="item in state.dictTypeCodeList" :key="item.code" :label="item.name" :value="item.code" />
+						</el-select>
+					</template>
+				</el-table-column>
+				<el-table-column prop="netType" label="浣滅敤绫诲瀷澶囨敞" min-width="90" show-overflow-tooltip>
+					<template #default="scope">
+						{{showFkMsg(scope.row)}}
+					</template>
+				</el-table-column>
+				<el-table-column prop="whetherTable" label="鍒楄〃鏄剧ず" width="85" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-checkbox v-model="scope.row.whetherTable" />
+					</template>
+				</el-table-column>
+				<el-table-column prop="whetherKeyQuery" label="鍏抽敭瀛楁煡璇�" width="85" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-checkbox v-model="scope.row.whetherKeyQuery" />
+					</template>
+				</el-table-column>
+				<el-table-column prop="whetherAddUpdate" label="澧炴敼" width="80" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-checkbox v-model="scope.row.whetherAddUpdate" :disabled="judgeColumns(scope.row)" />
+					</template>
+				</el-table-column>
+				<el-table-column prop="whetherRequired" label="蹇呭~" width="80" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-checkbox v-model="scope.row.whetherRequired" :disabled="judgeColumns(scope.row)" />
+					</template>
+				</el-table-column>
+				<el-table-column prop="repCheckType" label="閲嶅鎬ф牎楠屾柟寮�" min-width="90" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-select v-model="scope.row.repCheckType" class="m-2" placeholder="璇烽�夋嫨" clearable >
+							<el-option v-for="item in state.repCheckTypeList" :key="item.code" :label="item.value" :value="item.code" />
+						</el-select>
+					</template>
+				</el-table-column>
+				<el-table-column prop="whetherSortable" label="鍙帓搴�" width="80" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-checkbox v-model="scope.row.whetherSortable" />
+					</template>
+				</el-table-column>
+				<el-table-column prop="queryWhether" label="鏄惁鏄煡璇�" min-width="80" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-switch v-model="scope.row.queryWhether" :active-value="true" :inactive-value="false" />
+					</template>
+				</el-table-column>
+				<el-table-column prop="queryType" label="鏌ヨ鏂瑰紡" min-width="120" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-select v-model="scope.row.queryType" class="m-2" placeholder="Select" :disabled="!scope.row.queryWhether">
+							<el-option v-for="item in state.queryTypeList" :key="item.code" :label="item.value" :value="item.code" />
+						</el-select>
+					</template>
+				</el-table-column>
+				<el-table-column prop="orderNo" label="鎺掑簭" width="100" show-overflow-tooltip>
+					<template #default="scope">
+						<el-input v-model="scope.row.orderNo" autocomplete="off" type="number" />
+					</template>
+				</el-table-column>
+			</el-table>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+
+		<fkDialog ref="fkDialogRef" @submitRefreshFk="submitRefreshFk" />
+		<treeDialog ref="treeDialogRef" @submitRefreshFk="submitRefreshFk" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysCodeGenConfig">
+import { onMounted, onUnmounted, reactive, ref } from 'vue';
+import mittBus from '/@/utils/mitt';
+import fkDialog from '/@/views/system/codeGen/component/fkDialog.vue';
+import treeDialog from '/@/views/system/codeGen/component/treeDialog.vue';
+import { ElMessage } from 'element-plus';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysCodeGenConfigApi, SysConstApi, SysDictDataApi, SysDictTypeApi, SysEnumApi } from '/@/api-services/api';
+import { CodeGenConfig } from '/@/api-services/models/code-gen-config';
+
+const emits = defineEmits(['handleQuery']);
+const fkDialogRef = ref();
+const treeDialogRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	loading: false,
+	tableData: [] as CodeGenConfig[],
+	dbData: [] as any,
+	effectTypeList: [] as any,
+	dictTypeCodeList: [] as any,
+	dictDataAll: [] as any,
+	queryTypeList: [] as any,
+	repCheckTypeList: [] as any,
+	allConstSelector: [] as any,
+	allEnumSelector: [] as any,
+});
+
+onMounted(async () => {
+	var res = await getAPI(SysDictDataApi).apiSysDictDataDataListCodeGet('code_gen_effect_type');
+	state.effectTypeList = res.data.result;
+
+	var res1 = await getAPI(SysDictTypeApi).apiSysDictTypeListGet();
+	state.dictTypeCodeList = res1.data.result;
+	state.dictDataAll = res1.data.result;
+
+	var res2 = await getAPI(SysDictDataApi).apiSysDictDataDataListCodeGet('code_gen_query_type');
+	state.queryTypeList = res2.data.result;
+
+	var res_repCheckType = await getAPI(SysDictDataApi).apiSysDictDataDataListCodeGet('rep_check_type');
+	state.repCheckTypeList = res_repCheckType.data.result;
+
+	var res3 = await getAPI(SysConstApi).apiSysConstListGet();
+	state.allConstSelector = res3.data.result;
+
+	let resEnum = await getAPI(SysEnumApi).apiSysEnumEnumTypeListGet();
+	state.allEnumSelector = resEnum.data.result?.map((item) => ({ ...item, name: `${item.typeDescribe} [${item.typeName?.replace('Enum', '')}]`, code: item.typeName }));
+
+	mittBus.on('submitRefreshFk', (data: any) => {
+		state.tableData[data.index] = data;
+	});
+});
+
+// 鏇存柊涓婚敭
+const submitRefreshFk = (data: any) => {
+	state.tableData[data.index] = data;
+};
+
+onUnmounted(() => {
+	mittBus.off('submitRefresh', () => {});
+	mittBus.off('submitRefreshFk', () => {});
+});
+// 鎺т欢绫诲瀷鏀瑰彉
+const effectTypeChange = (data: any, index: number) => {
+	let value = data.effectType;
+	if (value === 'fk') {
+		openFkDialog(data, index);
+	} else if (value === 'ApiTreeSelect') {
+		openTreeDialog(data, index);
+	} else if (value === 'Select') {
+		data.dictTypeCode = '';
+		state.dictTypeCodeList = state.dictDataAll;
+	} else if (value === 'ConstSelector') {
+		data.dictTypeCode = '';
+		state.dictTypeCodeList = state.allConstSelector;
+	} else if (value == 'EnumSelector') {
+		data.dictTypeCode = '';
+		state.dictTypeCodeList = state.allEnumSelector;
+	}
+};
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async (row: any) => {
+	state.loading = true;
+	var res = await getAPI(SysCodeGenConfigApi).apiSysCodeGenConfigListGet(undefined, row.id);
+	var data = res.data.result ?? [];
+	let lstWhetherColumn = ['whetherTable','whetherKeyQuery', 'whetherAddUpdate', 'whetherRequired', 'whetherSortable']; //鍒楄〃鏄剧ず鐨刢heckbox
+	data.forEach((item: any) => {
+		for (const key in item) {
+			if (item[key] === 'Y') {
+				item[key] = true;
+			}
+			if (item[key] === 'N' || (lstWhetherColumn.includes(key) && item[key] === null)) {
+				item[key] = false;
+			}
+		}
+	});
+	state.tableData = data;
+	state.loading = false;
+};
+
+// 鍒ゆ柇鏄惁锛堢敤浜庢槸鍚﹁兘閫夋嫨鎴栬緭鍏ョ瓑锛�
+function judgeColumns(data: any) {
+	return data.whetherCommon == true || data.columnKey === 'True';
+}
+
+function effectTypeEnable(data: any) {
+	var lst = ['Radio', 'Select', 'Checkbox', 'ConstSelector', 'EnumSelector'];
+	return lst.indexOf(data.effectType) === -1;
+}
+
+function showFkMsg(data: any) {
+	if(data.effectType=="fk"){
+		return '瀹炰綋:'+data.fkEntityName+',琛�:'+data.fkTableName+',鏄剧ず鍒楀悕:'+data.fkColumnName+',璧嬪�煎垪鍚�:'+data.fkSetValueColumnName+',绫诲瀷:'+data.fkColumnNetType;
+	}else if(data.effectType=="ApiTreeSelect"){
+		return '瀹炰綋:'+data.fkEntityName+',琛�:'+data.fkTableName+',鏄剧ず鍒楀悕:'+data.displayColumn+',璧嬪�煎垪鍚�:'+data.valueColumn+',鐖剁骇:'+data.pidColumn+',绫诲瀷:'+data.fkColumnNetType;
+	}
+	return '';
+}
+
+// 鎵撳紑寮圭獥
+const openDialog = (addRow: any) => {
+	handleQuery(addRow);
+	state.isShowDialog = true;
+};
+
+// 鎵撳紑寮圭獥
+const openFkDialog = (addRow: any, index: number) => {
+	addRow.index = index;
+	fkDialogRef.value.openDialog(addRow);
+};
+
+const openTreeDialog = (addRow: any, index: number) => {
+	addRow.index = index;
+	treeDialogRef.value.openDialog(addRow);
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = async () => {
+	state.loading = true;
+	var lst = state.tableData;
+	//杞崲瀵硅薄 [Editby shaocx,2024-05-23]
+	var new_lst=JSON.parse(JSON.stringify(lst));
+	new_lst.forEach((item: CodeGenConfig) => {
+		// 蹇呭~閭d竴椤硅浆鎹�
+		for (var key in item) {
+			if (item[key] === true) {
+				item[key] = 'Y';
+			}
+			if (item[key] === false) {
+				item[key] = 'N';
+			}
+		}
+	});
+	var resut = await getAPI(SysCodeGenConfigApi).apiSysCodeGenConfigUpdatePost(new_lst);
+	//鍒ゆ柇 [Editby shaocx,2024-05-23]
+	state.loading = false;
+	if(resut.data.type==="success"){
+		ElMessage.success('淇濆瓨鎴愬姛!');
+		closeDialog();
+	}
+};
+
+const convertDbType = (dbType: number) => {
+	let result = '';
+	switch (dbType) {
+		case 0:
+			result = 'MySql';
+			break;
+		case 1:
+			result = 'SqlServer';
+			break;
+		case 2:
+			result = 'Sqlite';
+			break;
+		case 3:
+			result = 'Oracle';
+			break;
+		case 4:
+			result = 'PostgreSql';
+			break;
+		case 5:
+			result = 'Dm';
+			break;
+		case 6:
+			result = 'Kdbndp';
+			break;
+		case 7:
+			result = 'Oscar';
+			break;
+		case 8:
+			result = 'MySqlConnector';
+			break;
+		case 9:
+			result = 'Access';
+			break;
+		default:
+			result = 'Custom';
+			break;
+	}
+	return result;
+};
+
+const isOrNotSelect = () => {
+	return [
+		{
+			label: '鏄�',
+			value: 1,
+		},
+		{
+			label: '鍚�',
+			value: 0,
+		},
+	];
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/codeGen/component/treeDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/system/codeGen/component/treeDialog.vue
new file mode 100644
index 0000000..852b908
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/codeGen/component/treeDialog.vue
@@ -0,0 +1,151 @@
+<template>
+	<div class="sys-codeGenTree-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> 鏍戦�夋嫨閰嶇疆 </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="搴撳畾浣嶅櫒" prop="configId">
+							<el-select clearable v-model="state.ruleForm.configId" placeholder="搴撳悕" filterable @change="DbChanged()" class="w100">
+								<el-option v-for="item in state.dbData" :key="item.configId" :label="item.configId" :value="item.configId" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鏁版嵁搴撹〃" prop="tableName">
+							<el-select v-model="state.ruleForm.tableName" class="w100" filterable clearable @change="TableChanged()">
+								<el-option v-for="item in state.tableData" :key="item.entityName" :label="item.tableName + ' [' + item.tableComment + ']'" :value="item.tableName" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鏄剧ず瀛楁" prop="displayColumn">
+							<el-select v-model="state.ruleForm.displayColumn" class="w100">
+								<el-option v-for="item in state.columnData" :key="item.columnName" :label="item.columnName + ' [' + item.columnComment + ']'" :value="item.columnName" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="閫夋嫨鍊煎瓧娈�" prop="valueColumn">
+							<el-select v-model="state.ruleForm.valueColumn" class="w100">
+								<el-option v-for="item in state.columnData" :key="item.columnName" :label="item.columnName + ' [' + item.columnComment + ']'" :value="item.columnName" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鐖剁骇瀛楁" prop="pidColumn">
+							<el-select v-model="state.ruleForm.pidColumn" class="w100">
+								<el-option v-for="item in state.columnData" :key="item.columnName" :label="item.columnName + ' [' + item.columnComment + ']'" :value="item.columnName" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysCodeGenTree">
+import { onMounted, reactive, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysCodeGenApi } from '/@/api-services/api';
+
+var rowdata = {} as any;
+const emits = defineEmits(['submitRefreshFk']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as any,
+	dbData: [] as any,
+	tableData: [] as any,
+	columnData: [] as any,
+});
+
+onMounted(async () => {
+	await getDbList();
+
+	// 榛樿浣跨敤绗竴涓簱
+	//state.ruleForm.configId = state.dbData[0].configId;
+	//await DbChanged();
+});
+
+const DbChanged = async () => {
+	state.tableData = [];
+	state.columnData = [];
+	await getTableInfoList();
+};
+
+const TableChanged = async () => {
+	state.columnData = [];
+	await getColumnInfoList();
+};
+
+const getDbList = async () => {
+	var res = await getAPI(SysCodeGenApi).apiSysCodeGenDatabaseListGet();
+	state.dbData = res.data.result;
+};
+
+const getTableInfoList = async () => {
+	if (state.ruleForm.configId == '') return;
+	var res = await getAPI(SysCodeGenApi).apiSysCodeGenTableListConfigIdGet(state.ruleForm.configId);
+	state.tableData = res.data.result;
+};
+
+const getColumnInfoList = async () => {
+	if (state.ruleForm.configId == '' || state.ruleForm.tableName == '') return;
+	var res = await getAPI(SysCodeGenApi).apiSysCodeGenColumnListByTableNameTableNameConfigIdGet(state.ruleForm.tableName, state.ruleForm.configId);
+	state.columnData = res.data.result;
+};
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	rowdata = row;
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	rowdata.fkTableName = state.ruleForm.tableName;
+	// rowdata.fkEntityName = state.ruleForm.entityName;
+	// 杩欓噷涓�瀹氳璁剧疆 fkEntityName,鍥犱负妯℃澘鏂囦欢鐢ㄥ埌浜�
+	let tableData = state.tableData.filter((x) => x.tableName == state.ruleForm.tableName);
+	rowdata.fkEntityName = tableData.length == 0 ? '' : tableData[0].entityName;
+	// rowdata.fkColumnName = state.ruleForm.columnName;
+	// rowdata.fkColumnNetType = state.ruleForm.columnNetType;
+	rowdata.displayColumn = state.ruleForm.displayColumn;
+	rowdata.valueColumn = state.ruleForm.valueColumn;
+	rowdata.pidColumn = state.ruleForm.pidColumn;
+	emits('submitRefreshFk', rowdata);
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/codeGen/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/codeGen/index.vue
new file mode 100644
index 0000000..57c92c9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/codeGen/index.vue
@@ -0,0 +1,205 @@
+<template>
+	<div class="sys-codeGen-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+				<el-form-item label="涓氬姟鍚�">
+					<el-input placeholder="涓氬姟鍚�" clearable @keyup.enter="handleQuery" v-model="state.queryParams.busName" />
+				</el-form-item>
+				<el-form-item label="鏁版嵁搴撹〃鍚�">
+					<el-input placeholder="鏁版嵁搴撹〃鍚�" clearable @keyup.enter="handleQuery" v-model="state.queryParams.tableName" />
+				</el-form-item>
+				<el-form-item>
+					<el-button-group>
+						<el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'sysMenu:list'"> 鏌ヨ </el-button>
+						<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+					</el-button-group>
+				</el-form-item>
+				<el-form-item>
+					<el-button type="primary" icon="ele-Plus" @click="openAddDialog"> 澧炲姞 </el-button>
+				</el-form-item>
+			</el-form>
+		</el-card>
+
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table :data="state.tableData" style="width: 100%" v-loading="state.loading" border>
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+				<el-table-column prop="configId" label="搴撳畾浣嶅櫒" align="center" show-overflow-tooltip />
+				<el-table-column prop="tableName" label="琛ㄥ悕绉�" align="center" show-overflow-tooltip />
+				<el-table-column prop="busName" label="涓氬姟鍚�" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="nameSpace" label="鍛藉悕绌洪棿" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="moduleName" label="妯″潡鍚�" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="tableType" label="琛ㄧ被鍨�" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="buttons" label="琛ㄦ寜閽�" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="authorName" label="浣滆�呭鍚�" align="center" show-overflow-tooltip />
+				<el-table-column prop="generateType" label="鐢熸垚鏂瑰紡" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag v-if="scope.row.generateType == 100"> 涓嬭浇鍘嬬缉鍖� </el-tag>
+						<el-tag v-else-if="scope.row.generateType == 111"> 涓嬭浇鍘嬬缉鍖�(鍓嶇) </el-tag>
+						<el-tag v-else-if="scope.row.generateType == 121"> 涓嬭浇鍘嬬缉鍖�(鍚庣) </el-tag>
+						<el-tag v-else-if="scope.row.generateType == 211"> 鐢熸垚鍒版湰椤圭洰(鍓嶇) </el-tag>
+						<el-tag v-else-if="scope.row.generateType == 221"> 鐢熸垚鍒版湰椤圭洰(鍚庣) </el-tag>
+						<el-tag type="danger" v-else> 鐢熸垚鍒版湰椤圭洰 </el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="createTime" label="鍒涘缓鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+                <el-table-column prop="updateTime" label="淇敼鏃堕棿"  show-overflow-tooltip=""  width="130px" />
+				<el-table-column label="鎿嶄綔" width="250" fixed="right" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-button size="small" text type="primary" @click="handleGenerate(scope.row)">寮�濮嬬敓鎴�</el-button>
+						<el-button size="small" text type="primary" @click="openConfigDialog(scope.row)">閰嶇疆</el-button>
+						<el-button size="small" text type="primary" @click="refreshConfig(scope.row)">閲嶇疆閰嶇疆</el-button>
+						<el-button size="small" text type="primary" @click="openEditDialog(scope.row)">缂栬緫</el-button>
+						<el-button size="small" text type="primary" @click="deleConfig(scope.row)">鍒犻櫎</el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="state.tableParams.page"
+				v-model:page-size="state.tableParams.pageSize"
+				:total="state.tableParams.total"
+				:page-sizes="[10, 20, 50, 100]"
+				small
+				background
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+		</el-card>
+
+		<EditCodeGenDialog :title="state.editMenuTitle" ref="EditCodeGenRef" @handleQuery="handleQuery" :application-namespaces="state.applicationNamespaces" />
+		<CodeConfigDialog ref="CodeConfigRef" @handleQuery="handleQuery" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysCodeGen">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import EditCodeGenDialog from './component/editCodeGenDialog.vue';
+import CodeConfigDialog from './component/genConfigDialog.vue';
+import { downloadByUrl } from '/@/utils/download';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysCodeGenApi } from '/@/api-services/api';
+import { SysCodeGen } from '/@/api-services/models';
+
+const EditCodeGenRef = ref<InstanceType<typeof EditCodeGenDialog>>();
+const CodeConfigRef = ref<InstanceType<typeof CodeConfigDialog>>();
+const state = reactive({
+	loading: false,
+	loading1: false,
+	dbData: [] as any,
+	configId: '',
+	tableData: [] as Array<SysCodeGen>,
+	tableName: '',
+	queryParams: {
+		name: undefined,
+		code: undefined,
+		tableName: undefined,
+		busName: undefined,
+	},
+	tableParams: {
+		page: 1,
+		pageSize: 10,
+		total: 0 as any,
+	},
+	editMenuTitle: '',
+	applicationNamespaces: [] as Array<string>,
+});
+
+onMounted(async () => {
+	handleQuery();
+
+	let res = await getAPI(SysCodeGenApi).apiSysCodeGenApplicationNamespacesGet();
+	state.applicationNamespaces = res.data.result as Array<string>;
+});
+
+const openConfigDialog = (row: any) => {
+	CodeConfigRef.value?.openDialog(row);
+};
+
+// 琛ㄦ煡璇㈡搷浣�
+const handleQuery = async () => {
+	state.loading = true;
+	let params = Object.assign(state.queryParams, state.tableParams);
+	let res = await getAPI(SysCodeGenApi).apiSysCodeGenPagePost(params);
+	state.tableData = res.data.result?.items ?? [];
+	state.tableParams.total = res.data.result?.total;
+	state.loading = false;
+};
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.busName = undefined;
+	state.queryParams.tableName = undefined;
+	handleQuery();
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+	state.tableParams.pageSize = val;
+	handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+	state.tableParams.page = val;
+	handleQuery();
+};
+
+// 鎵撳紑琛ㄥ鍔犻〉闈�
+const openAddDialog = () => {
+	state.editMenuTitle = '澧炲姞';
+	EditCodeGenRef.value?.openDialog({ authorName: 'Admin.NET', generateType: '200', nameSpace: state.applicationNamespaces[0] });
+};
+
+// 鎵撳紑琛ㄧ紪杈戦〉闈�
+const openEditDialog = (row: any) => {
+	state.editMenuTitle = '缂栬緫';
+	EditCodeGenRef.value?.openDialog(row);
+};
+
+// 閲嶇疆閰嶇疆
+const refreshConfig = (row: any) => {
+	ElMessageBox.confirm(`纭畾閲嶇疆閰嶇疆鍚�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysCodeGenApi).apiSysCodeGenDeletePost([{ id: row.id,delFlag:2 }]);
+			handleQuery();
+			ElMessage.success('鎿嶄綔鎴愬姛');
+		})
+		.catch(() => {});
+};
+// 鍒犻櫎琛�
+const deleConfig = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎鍚�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysCodeGenApi).apiSysCodeGenDeletePost([{ id: row.id }]);
+			handleQuery();
+			ElMessage.success('鎿嶄綔鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 寮�濮嬬敓鎴愪唬鐮�
+const handleGenerate = (row: any) => {
+	ElMessageBox.confirm(`纭畾瑕佺敓鎴愬悧?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			var res = await getAPI(SysCodeGenApi).apiSysCodeGenRunLocalPost(row);
+			if (res.data.result != null && res.data.result.url != null) downloadByUrl({ url: res.data.result.url });
+			handleQuery();
+			ElMessage.success('鎿嶄綔鎴愬姛');
+		})
+		.catch(() => {});
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/config/component/editConfig.vue b/LA24030_LuLiPackageLine_Web/src/views/system/config/component/editConfig.vue
new file mode 100644
index 0000000..9287fee
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/config/component/editConfig.vue
@@ -0,0 +1,134 @@
+<template>
+	<div class="sys-config-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> {{ props.title }} </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="閰嶇疆鍚嶇О" prop="name" :rules="[{ required: true, message: '閰嶇疆鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.name" placeholder="閰嶇疆鍚嶇О" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="閰嶇疆缂栧彿" prop="code" :rules="[{ required: true, message: '閰嶇疆缂栧彿涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.code" placeholder="閰嶇疆缂栧彿" clearable :disabled="state.ruleForm.sysFlag == 1" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鍊�" prop="value" :rules="[{ required: true, message: '鍊间笉鑳戒负绌�', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.value" placeholder="鍊�">
+								<template #append>
+									<el-space :size="10" spacer="|">
+										<el-dropdown
+											style="color: inherit"
+											trigger="click"
+											@command="
+												(value: string) => {
+													state.ruleForm.value = value;
+												}
+											"
+										>
+											<el-button style="margin: 0px -20px; color: inherit"> 閫夐」 </el-button>
+											<template #dropdown>
+												<el-dropdown-menu>
+													<el-dropdown-item command="True"> True </el-dropdown-item>
+													<el-dropdown-item command="False"> False </el-dropdown-item>
+												</el-dropdown-menu>
+											</template>
+										</el-dropdown>
+									</el-space>
+								</template>
+							</el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鍐呯疆鍙傛暟" prop="sysFlag" :rules="[{ required: true, message: '鍐呯疆鍙傛暟涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-radio-group v-model="state.ruleForm.sysFlag" :disabled="state.ruleForm.sysFlag == 1 && state.ruleForm.id != undefined">
+								<el-radio :value="1">鏄�</el-radio>
+								<el-radio :value="2">鍚�</el-radio>
+							</el-radio-group>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍒嗙粍缂栧彿">
+							<el-input v-model="state.ruleForm.groupCode" placeholder="鍒嗙粍缂栧彿" clearable :disabled="state.ruleForm.sysFlag == 1" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎺掑簭">
+							<el-input-number v-model="state.ruleForm.orderNo" placeholder="鎺掑簭" class="w100" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="澶囨敞">
+							<el-input v-model="state.ruleForm.remark" placeholder="璇疯緭鍏ュ娉ㄥ唴瀹�" clearable type="textarea" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditConfig">
+import { reactive, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysConfigApi } from '/@/api-services/api';
+import { UpdateConfigInput } from '/@/api-services/models';
+
+const props = defineProps({
+	title: String,
+});
+const emits = defineEmits(['updateData']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as UpdateConfigInput,
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('updateData');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysConfigApi).apiSysConfigUpdatePost(state.ruleForm);
+		} else {
+			await getAPI(SysConfigApi).apiSysConfigAddPost(state.ruleForm);
+		}
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/config/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/config/index.vue
new file mode 100644
index 0000000..21ffeaa
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/config/index.vue
@@ -0,0 +1,199 @@
+<template>
+	<div class="sys-config-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<TableSearch :search="tb.tableData.search" @search="onSearch" />
+		</el-card>
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<Table ref="tableRef" v-bind="tb.tableData" :getData="getData" :exportChangeData="exportChangeData" @sortHeader="onSortHeader" @selectionChange="tableSelection" border>
+				<template #command>
+					<el-button type="primary" icon="ele-Plus" @click="openAddConfig" v-auth="'sysConfig:add'"> 鏂板 </el-button>
+
+					<el-button v-if="state.selectlist.length > 0" type="danger" icon="ele-Delete" @click="bacthDelete" v-auth="'sysConfig:batchDelete'"> 鎵归噺鍒犻櫎 </el-button>
+				</template>
+				<template #sysFlag="scope">
+					<el-tag v-if="scope.row.sysFlag === 1"> 鏄� </el-tag>
+					<el-tag type="danger" v-else> 鍚� </el-tag>
+				</template>
+				<template #remark="scope">
+					<ModifyRecord :data="scope.row" />
+				</template>
+				<template #action="scope">
+					<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditConfig(scope.row)" v-auth="'sysConfig:update'"> 缂栬緫 </el-button>
+					<el-button icon="ele-Delete" size="small" text type="danger" @click="delConfig(scope.row)" v-auth="'sysConfig:delete'"> 鍒犻櫎 </el-button>
+				</template>
+			</Table>
+		</el-card>
+
+		<EditConfig ref="editConfigRef" :title="state.editConfigTitle" :groupList="state.groupList" @updateData="updateData" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysConfig">
+import { onMounted, onUnmounted, reactive, ref, defineAsyncComponent, nextTick } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import EditConfig from '/@/views/system/config/component/editConfig.vue';
+import ModifyRecord from '/@/components/table/modifyRecord.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysConfigApi } from '/@/api-services/api';
+import { auth } from '/@/utils/authFunction';
+
+// 寮曞叆缁勪欢
+const Table = defineAsyncComponent(() => import('/@/components/table/index.vue'));
+const TableSearch = defineAsyncComponent(() => import('/@/components/table/search.vue'));
+const editConfigRef = ref<InstanceType<typeof EditConfig>>();
+const tableRef = ref<RefType>();
+
+const state = reactive({
+	editConfigTitle: '',
+	selectlist: [] as EmptyObjectType[],
+	groupList: [] as Array<String>,
+});
+
+const tb = reactive<TableDemoState>({
+	tableData: {
+		// 琛ㄥご鍐呭锛堝繀浼狅紝娉ㄦ剰鏍煎紡锛�
+		columns: [
+			{ prop: 'name', minWidth: 150, label: '閰嶇疆鍚嶇О', headerAlign: 'center', sortable: 'custom', isCheck: true, hideCheck: true },
+			{ prop: 'code', minWidth: 150, label: '閰嶇疆缂栧彿', headerAlign: 'center', toolTip: true, sortable: 'custom', isCheck: true },
+			{ prop: 'value', minWidth: 150, label: '灞炴�у��', headerAlign: 'center', isCheck: true },
+			{ prop: 'sysFlag', width: 100, label: '鍐呯疆鍙傛暟', align: 'center', isCheck: true },
+			{ prop: 'groupCode', width: 120, label: '鍒嗙粍缂栧彿', align: 'center', sortable: 'custom', isCheck: true },
+			{ prop: 'orderNo', width: 80, label: '鎺掑簭', align: 'center', sortable: 'custom', isCheck: true },
+			{ prop: 'remark', width: 100, label: '淇敼璁板綍', align: 'center', headerAlign: 'center', showOverflowTooltip: true, isCheck: true },
+			{ prop: 'action', width: 140, label: '鎿嶄綔', type: 'action', align: 'center', isCheck: true, fixed: 'right', hideCheck: true },
+		],
+		// 閰嶇疆椤癸紙蹇呬紶锛�
+		config: {
+			isStripe: true, // 鏄惁鏄剧ず琛ㄦ牸鏂戦┈绾�
+			isBorder: false, // 鏄惁鏄剧ず琛ㄦ牸杈规
+			isSerialNo: true, // 鏄惁鏄剧ず琛ㄦ牸搴忓彿
+			isSelection: true, // 鏄惁鍕鹃�夎〃鏍煎閫�
+			showSelection: auth('sysConfig:batchDelete'), //鏄惁鏄剧ず琛ㄦ牸澶氶��
+			pageSize: 200, // 姣忛〉鏉℃暟
+			hideExport: false, //鏄惁闅愯棌瀵煎嚭鎸夐挳
+			exportFileName: '绯荤粺鍙傛暟', //瀵煎嚭鎶ヨ〃鐨勬枃浠跺悕锛屼笉濉啓鍙栧簲鐢ㄥ悕绉�
+		},
+		// 鎼滅储琛ㄥ崟锛屽姩鎬佺敓鎴愶紙浼犵┖鏁扮粍鏃讹紝灏嗕笉鏄剧ず鎼滅储锛宼ype鏈�3绉嶇被鍨嬶細input,date,select锛�
+		search: [
+			{ label: '閰嶇疆鍚嶇О', prop: 'name', placeholder: '鎼滅储閰嶇疆鍚嶇О', required: false, type: 'input' },
+			{ label: '閰嶇疆缂栧彿', prop: 'code', placeholder: '鎼滅储閰嶇疆缂栧彿', required: false, type: 'input' },
+			// { label: '鍒涘缓鏃堕棿', prop: 'time', placeholder: '璇烽�夋嫨', required: false, type: 'date' },
+		],
+		param: {},
+		defaultSort: {
+			prop: 'orderNo',
+			order: 'ascending',
+		},
+	},
+});
+const getData = (param: any) => {
+	return getAPI(SysConfigApi)
+		.apiSysConfigPagePost(param)
+		.then((res) => {
+			return res.data;
+		});
+};
+const exportChangeData = (data: Array<EmptyObjectType>) => {
+	data.forEach((item) => {
+		item.sysFlag = item.sysFlag == 1 ? '鏄�' : '鍚�';
+	});
+	return data;
+};
+// 鎷栧姩鏄剧ず鍒楁帓搴忓洖璋�
+const onSortHeader = (data: object[]) => {
+	tb.tableData.columns = data;
+};
+// 鎼滅储鐐瑰嚮鏃惰〃鍗曞洖璋�
+const onSearch = (data: EmptyObjectType) => {
+	tb.tableData.param = Object.assign({}, tb.tableData.param, { ...data });
+	nextTick(() => {
+		tableRef.value.pageReset();
+	});
+};
+
+const getGroupList = async () => {
+	const res = await getAPI(SysConfigApi).apiSysConfigGroupListGet();
+	const groupSearch = {
+		label: '鍒嗙粍缂栧彿',
+		prop: 'groupCode',
+		placeholder: '璇烽�夋嫨',
+		required: false,
+		type: 'select',
+		options: [],
+	} as TableSearchType;
+	state.groupList = res.data.result ?? [];
+	res.data.result?.forEach((item) => {
+		groupSearch.options?.push({ label: item, value: item });
+	});
+	let group = tb.tableData.search.filter((item) => {
+		return item.prop == 'groupCode';
+	});
+	if (group.length == 0) {
+		tb.tableData.search.push(groupSearch);
+	} else {
+		group[0] = groupSearch;
+	}
+};
+
+//琛ㄦ牸澶氶�変簨浠�
+const tableSelection = (data: EmptyObjectType[]) => {
+	state.selectlist = data;
+};
+
+onMounted(async () => {
+	getGroupList();
+});
+
+// 鏇存柊鏁版嵁
+const updateData = () => {
+	tableRef.value.handleList();
+	getGroupList();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddConfig = () => {
+	state.editConfigTitle = '娣诲姞閰嶇疆';
+	editConfigRef.value?.openDialog({ sysFlag: 2, orderNo: 100 });
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditConfig = (row: any) => {
+	state.editConfigTitle = '缂栬緫閰嶇疆';
+	editConfigRef.value?.openDialog(row);
+};
+
+// 鍒犻櫎
+const delConfig = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎閰嶇疆锛氥��${row.name}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysConfigApi).apiSysConfigDeletePost({ id: row.id });
+			tableRef.value.handleList();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+//鎵归噺鍒犻櫎
+const bacthDelete = () => {
+	if (state.selectlist.length == 0) return false;
+	ElMessageBox.confirm(`纭畾鎵归噺鍒犻櫎銆�${state.selectlist[0].name}銆戠瓑${state.selectlist.length}涓厤缃�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			const ids = state.selectlist.map((item) => {
+				return item.id;
+			});
+			var res = await getAPI(SysConfigApi).apiSysConfigBatchDeletePost(ids);
+			tableRef.value.pageReset();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/database/component/addColumn.vue b/LA24030_LuLiPackageLine_Web/src/views/system/database/component/addColumn.vue
new file mode 100644
index 0000000..69c773e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/database/component/addColumn.vue
@@ -0,0 +1,116 @@
+<template>
+	<div class="sys-dbColumn-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> 澧炲姞鍒� </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鍒楀悕" prop="dbColumnName" :rules="[{ required: true, message: '鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.dbColumnName" placeholder="鍒楀悕绉�" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鎻忚堪" prop="columnDescription" :rules="[{ required: true, message: '鎻忚堪涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.columnDescription" placeholder="鎻忚堪" clearable type="textarea" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓婚敭">
+							<el-select v-model="state.ruleForm.isPrimarykey" class="w100">
+								<el-option v-for="item in yesNoSelect" :key="item.value" :label="item.label" :value="item.value" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鑷">
+							<el-select v-model="state.ruleForm.isIdentity" class="w100">
+								<el-option v-for="item in yesNoSelect" :key="item.value" :label="item.label" :value="item.value" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绫诲瀷">
+							<el-select v-model="state.ruleForm.dataType" class="w100">
+								<el-option v-for="item in dataTypeList" :key="item.value" :label="item.value" :value="item.value" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍙┖">
+							<el-select v-model="state.ruleForm.isNullable" class="w100">
+								<el-option v-for="item in yesNoSelect" :key="item.value" :label="item.label" :value="item.value" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="闀垮害">
+							<el-input-number v-model="state.ruleForm.length" class="w100" controls-position="right" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="灏忔暟浣�">
+							<el-input-number v-model="state.ruleForm.decimalDigits" class="w100" controls-position="right" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysAddColumn">
+import { reactive, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysDatabaseApi } from '/@/api-services/api';
+import { DbColumnInput } from '/@/api-services/models';
+import { dataTypeList, yesNoSelect } from '../database';
+
+const emits = defineEmits(['handleQueryColumn']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as DbColumnInput,
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (addRow: DbColumnInput) => {
+	state.ruleForm = addRow;
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQueryColumn');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		await getAPI(SysDatabaseApi).apiSysDatabaseAddColumnPost(state.ruleForm);
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/database/component/addTable.vue b/LA24030_LuLiPackageLine_Web/src/views/system/database/component/addTable.vue
new file mode 100644
index 0000000..53c53ef
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/database/component/addTable.vue
@@ -0,0 +1,311 @@
+<template>
+	<div class="sys-dbTable-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="1400px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> 澧炲姞琛� </span>
+				</div>
+			</template>
+			<el-divider content-position="left">鏁版嵁琛ㄤ俊鎭�</el-divider>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="琛ㄥ悕绉�" prop="tableName" :rules="[{ required: true, message: '鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.tableName" placeholder="琛ㄥ悕绉�" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鎻忚堪" prop="description" :rules="[{ required: true, message: '鎻忚堪涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.description" placeholder="鎻忚堪" clearable type="textarea" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<el-divider content-position="left">鏁版嵁鍒椾俊鎭�</el-divider>
+			<el-table :data="state.tableData" style="width: 100%" max-height="400">
+				<el-table-column prop="dbColumnName" label="瀛楁鍚�" width="220" fixed>
+					<template #default="scope">
+						<el-input v-model="scope.row.dbColumnName" autocomplete="off" />
+					</template>
+				</el-table-column>
+				<el-table-column prop="columnDescription" label="鎻忚堪" width="220">
+					<template #default="scope">
+						<el-input v-model="scope.row.columnDescription" autocomplete="off" />
+					</template>
+				</el-table-column>
+				<el-table-column prop="isPrimarykey" label="涓婚敭" width="100">
+					<template #default="scope">
+						<el-select v-model="scope.row.isPrimarykey" class="m-2" placeholder="Select">
+							<el-option v-for="item in yesNoSelect" :key="item.value" :label="item.label" :value="item.value" />
+						</el-select>
+					</template>
+				</el-table-column>
+				<el-table-column prop="isIdentity" label="鑷" width="100">
+					<template #default="scope">
+						<el-select v-model="scope.row.isIdentity" class="m-2" placeholder="Select">
+							<el-option v-for="item in yesNoSelect" :key="item.value" :label="item.label" :value="item.value" />
+						</el-select>
+					</template>
+				</el-table-column>
+				<el-table-column prop="dataType" label="绫诲瀷" width="150">
+					<template #default="scope">
+						<el-select v-model="scope.row.dataType" class="m-2" placeholder="Select">
+							<el-option v-for="item in dataTypeList" :key="item.value" :label="item.value" :value="item.value" />
+						</el-select>
+					</template>
+				</el-table-column>
+				<el-table-column prop="isNullable" label="鍙┖" width="100">
+					<template #default="scope">
+						<el-select v-model="scope.row.isNullable" class="m-2" placeholder="Select">
+							<el-option v-for="item in yesNoSelect" :key="item.value" :label="item.label" :value="item.value" />
+						</el-select>
+					</template>
+				</el-table-column>
+				<el-table-column prop="length" label="闀垮害" width="100">
+					<template #default="scope">
+						<el-input-number v-model="scope.row.length" controls-position="right" class="w100" />
+					</template>
+				</el-table-column>
+				<el-table-column prop="decimalDigits" label="灏忔暟浣�" width="100">
+					<template #default="scope">
+						<el-input-number v-model="scope.row.decimalDigits" controls-position="right" class="w100" />
+					</template>
+				</el-table-column>
+				<el-table-column label="鎿嶄綔" min-width="200" align="center" fixed="right">
+					<template #default="scope">
+						<el-button link type="primary" icon="el-icon-delete" @click.prevent="handleColDelete(scope.$index)">鍒犻櫎</el-button>
+						<el-button v-if="state.tableData.length > 1" link type="primary" icon="ele-Top" @click.prevent="handleColUp(scope.row, scope.$index)">涓婄Щ</el-button>
+						<el-button v-if="state.tableData.length > 1" link type="primary" icon="ele-Bottom" @click.prevent="handleColDown(scope.row, scope.$index)">涓嬬Щ</el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<div style="text-align: left; margin-top: 10px">
+				<el-button icon="ele-Plus" @click="addPrimaryColumn">鏂板涓婚敭瀛楁</el-button>
+				<el-button icon="ele-Plus" @click="addColumn">鏂板鏅�氬瓧娈�</el-button>
+				<el-button icon="ele-Plus" @click="addTenantColumn">鏂板绉熸埛瀛楁</el-button>
+				<el-button icon="ele-Plus" @click="addBaseColumn">鏂板鍩虹瀛楁</el-button>
+			</div>
+
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysAddTable">
+import { reactive, ref } from 'vue';
+import { ElMessage } from 'element-plus';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysDatabaseApi } from '/@/api-services/api';
+import { UpdateDbTableInput } from '/@/api-services/models';
+import { dataTypeList, EditRecordRow, yesNoSelect } from '../database';
+
+var colIndex = 0;
+const emits = defineEmits(['addTableSubmitted']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as UpdateDbTableInput,
+	tableData: [] as any,
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = row;
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('addTableSubmitted', state.ruleForm.tableName ?? '');
+	state.tableData = [];
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		if (state.tableData.length === 0) {
+			ElMessage({
+				type: 'error',
+				message: `璇锋坊鍔犲垪!`,
+			});
+			return;
+		}
+		const params: any = {
+			dbColumnInfoList: state.tableData,
+			...state.ruleForm,
+		};
+		await getAPI(SysDatabaseApi).apiSysDatabaseAddTablePost(params);
+		closeDialog();
+	});
+};
+
+// 澧炲姞涓婚敭鍒�
+function addPrimaryColumn() {
+	state.tableData.push({
+		columnDescription: '涓婚敭Id',
+		dataType: 'bigint',
+		dbColumnName: 'Id',
+		decimalDigits: 0,
+		isIdentity: 0,
+		isNullable: 0,
+		isPrimarykey: 1,
+		length: 0,
+		key: colIndex,
+		editable: true,
+		isNew: true,
+	});
+	colIndex++;
+}
+
+// 澧炲姞鏅�氬垪
+function addColumn() {
+	state.tableData.push({
+		columnDescription: '',
+		dataType: 'varchar',
+		dbColumnName: '',
+		decimalDigits: 0,
+		isIdentity: 0,
+		isNullable: 1,
+		isPrimarykey: 0,
+		length: 32,
+		key: colIndex,
+		editable: true,
+		isNew: true,
+	});
+	colIndex++;
+}
+
+// 澧炲姞绉熸埛鍒�
+function addTenantColumn() {
+	state.tableData.push({
+		columnDescription: '绉熸埛Id',
+		dataType: 'bigint',
+		dbColumnName: 'TenantId',
+		decimalDigits: 0,
+		isIdentity: 0,
+		isNullable: 1,
+		isPrimarykey: 0,
+		length: 0,
+		key: colIndex,
+		editable: true,
+		isNew: true,
+	});
+	colIndex++;
+}
+
+// 澧炲姞閫氱敤鍩虹鍒�
+function addBaseColumn() {
+	const fileds = [
+		{
+			dataType: 'datetime',
+			name: 'CreateTime',
+			desc: '鍒涘缓鏃堕棿',
+		},
+		{
+			dataType: 'datetime',
+			name: 'UpdateTime',
+			desc: '淇敼鏃堕棿',
+		},
+		{
+			dataType: 'bigint',
+			name: 'CreateUserId',
+			desc: '鍒涘缓鑰匢d',
+		},
+		{
+			dataType: 'varchar',
+			name: 'CreateUserName',
+			desc: '鍒涘缓浜�',
+			length: 64,
+		},
+		{
+			dataType: 'bigint',
+			name: 'UpdateUserId',
+			desc: '淇敼鑰匢d',
+		},
+		{
+			dataType: 'varchar',
+			name: 'UpdateUserName',
+			desc: '淇敼浜�',
+			length: 64,
+		},
+		{
+			dataType: 'bigint',
+			name: 'CreateOrgId',
+			desc: '鍒涘缓鑰呴儴闂↖d',
+		},
+		{
+			dataType: 'varchar',
+			name: 'CreateOrgName',
+			desc: '鍒涘缓鑰呴儴闂ㄥ悕绉�',
+			length: 64,
+		},
+		{
+			dataType: 'bit',
+			name: 'IsDelete',
+			desc: '杞垹闄�',
+			isNullable: 0,
+		},
+	];
+
+	fileds.forEach((m: any) => {
+		state.tableData.push({
+			columnDescription: m.desc,
+			dataType: m.dataType,
+			dbColumnName: m.name,
+			decimalDigits: 0,
+			isIdentity: 0,
+			isNullable: m.isNullable === 0 ? 0 : 1,
+			isPrimarykey: 0,
+			length: m.length || 0,
+			key: colIndex,
+			editable: true,
+			isNew: true,
+		});
+		colIndex++;
+	});
+}
+
+function handleColDelete(index: number) {
+	state.tableData.splice(index, 1);
+}
+
+// 涓婄Щ
+function handleColUp(record: EditRecordRow, index: number) {
+	if (record.isNew) {
+		var data1 = ChangeExForArray(index, index - 1, state.tableData);
+		return data1;
+	}
+}
+
+// 涓嬬Щ
+function handleColDown(record: EditRecordRow, index: number) {
+	if (record.isNew) {
+		return ChangeExForArray(index, index + 1, state.tableData);
+	}
+}
+
+function ChangeExForArray(index1: number, index2: number, array: Array<EditRecordRow>) {
+	let temp = array[index1];
+	array[index1] = array[index2];
+	array[index2] = temp;
+	return array;
+}
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/database/component/editColumn.vue b/LA24030_LuLiPackageLine_Web/src/views/system/database/component/editColumn.vue
new file mode 100644
index 0000000..7fc96cc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/database/component/editColumn.vue
@@ -0,0 +1,77 @@
+<template>
+	<div class="sys-dbColumn-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> 鍒楃紪杈� </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鍒楀悕绉�" prop="columnName" :rules="[{ required: true, message: '鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.columnName" placeholder="鍒楀悕绉�" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鎻忚堪" prop="description" :rules="[{ required: true, message: '鎻忚堪涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.description" placeholder="鎻忚堪" clearable type="textarea" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditColumn">
+import { reactive, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysDatabaseApi } from '/@/api-services/api';
+import { UpdateDbColumnInput } from '/@/api-services/models';
+
+const emits = defineEmits(['handleQueryColumn']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as UpdateDbColumnInput,
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQueryColumn');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		await getAPI(SysDatabaseApi).apiSysDatabaseUpdateColumnPost(state.ruleForm);
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/database/component/editTable.vue b/LA24030_LuLiPackageLine_Web/src/views/system/database/component/editTable.vue
new file mode 100644
index 0000000..29bb605
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/database/component/editTable.vue
@@ -0,0 +1,77 @@
+<template>
+	<div class="sys-dbTable-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> 琛ㄧ紪杈� </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="琛ㄥ悕绉�" prop="tableName" :rules="[{ required: true, message: '鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.tableName" placeholder="琛ㄥ悕绉�" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鎻忚堪" prop="description" :rules="[{ required: true, message: '鎻忚堪涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.description" placeholder="鎻忚堪" clearable type="textarea" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditTable">
+import { reactive, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysDatabaseApi } from '/@/api-services/api';
+import { UpdateDbTableInput } from '/@/api-services/models';
+
+const emits = defineEmits(['handleQueryTable']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as UpdateDbTableInput,
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQueryTable');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		await getAPI(SysDatabaseApi).apiSysDatabaseUpdateTablePost(state.ruleForm);
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/database/component/genEntity.vue b/LA24030_LuLiPackageLine_Web/src/views/system/database/component/genEntity.vue
new file mode 100644
index 0000000..87c8f2b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/database/component/genEntity.vue
@@ -0,0 +1,104 @@
+<template>
+	<div class="sys-dbEntity-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Cpu /> </el-icon>
+					<span> 鐢熸垚瀹炰綋 </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="琛ㄥ悕" prop="tableName" :rules="[{ required: true, message: '琛ㄥ悕涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input disabled v-model="state.ruleForm.tableName" placeholder="琛ㄥ悕" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="瀹炰綋鍚嶇О" prop="entityName" :rules="[{ required: false, message: '瀹炰綋鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.entityName" placeholder="瀹炰綋鍚嶇О" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鍩虹被" prop="baseClassName">
+							<el-select v-model="state.ruleForm.baseClassName" clearable class="w100">
+								<el-option v-for="item in state.codeGenBaseClassName" :key="item.code" :label="item.value" :value="item.code" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="瀛樻斁浣嶇疆" prop="position">
+							<!-- <el-input v-model="state.ruleForm.position" placeholder="瀛樻斁浣嶇疆" clearable>Admin.NET.Application</el-input> -->
+							<el-select v-model="state.ruleForm.position" filterable clearable class="w100" placeholder="瀛樻斁浣嶇疆">
+								<el-option v-for="(item, index) in props.applicationNamespaces" :key="index" :label="item" :value="item" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysGenEntity">
+import { onMounted, reactive, ref } from 'vue';
+import { camelCase, upperFirst } from 'lodash-es';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysDatabaseApi, SysDictTypeApi } from '/@/api-services/api';
+
+const emits = defineEmits(['handleQueryColumn']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as any,
+	codeGenBaseClassName: [] as any,
+});
+
+const props = defineProps({
+	applicationNamespaces: { type: Array },
+});
+
+onMounted(async () => {
+	let resDicData = await getAPI(SysDictTypeApi).apiSysDictTypeDataListGet('code_gen_base_class');
+	state.codeGenBaseClassName = resDicData.data.result;
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm.configId = row.configId;
+	state.ruleForm.tableName = row.tableName;
+	state.ruleForm.entityName = upperFirst(camelCase(row.tableName));
+	state.ruleForm.baseClassName = 'EntityBase';
+	state.ruleForm.position = row.position;
+	state.isShowDialog = true;
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQueryColumn');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		await getAPI(SysDatabaseApi).apiSysDatabaseCreateEntityPost(state.ruleForm);
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/database/component/genSeedData.vue b/LA24030_LuLiPackageLine_Web/src/views/system/database/component/genSeedData.vue
new file mode 100644
index 0000000..b8ec2c2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/database/component/genSeedData.vue
@@ -0,0 +1,97 @@
+<template>
+	<div class="sys-dbEntity-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Cpu /> </el-icon>
+					<span> 鐢熸垚绉嶅瓙鏁版嵁 </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto" :rules="state.rules">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="琛ㄥ悕" prop="tableName" :rules="[{ required: true, message: '琛ㄥ悕涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input disabled v-model="state.ruleForm.tableName" placeholder="琛ㄥ悕" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鍚庣紑" prop="suffix">
+							<el-input v-model="state.ruleForm.suffix" placeholder="鍚庣紑" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="瀛樻斁浣嶇疆" prop="position">
+							<!-- <el-input v-model="state.ruleForm.position" placeholder="瀛樻斁浣嶇疆" clearable >Admin.NET.Core</el-input> -->
+							<el-select v-model="state.ruleForm.position" filterable clearable class="w100" placeholder="瀛樻斁浣嶇疆">
+								<el-option v-for="(item, index) in props.applicationNamespaces" :key="index" :label="item" :value="item" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysGenEntity">
+import { onMounted, reactive, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysDatabaseApi, SysDictTypeApi } from '/@/api-services/api';
+
+const emits = defineEmits(['handleQueryColumn']);
+
+const props = defineProps({
+	applicationNamespaces: { type: Array },
+});
+
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as any,
+	codeGenBaseClassName: [] as any,
+	rules: { position: [{ required: true, message: '璇烽�夋嫨瀛樻斁浣嶇疆', trigger: 'blur' }] },
+});
+
+onMounted(async () => {
+	let resDicData = await getAPI(SysDictTypeApi).apiSysDictTypeDataListGet('code_gen_base_class');
+	state.codeGenBaseClassName = resDicData.data.result;
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm.configId = row.configId;
+	state.ruleForm.tableName = row.tableName;
+	state.ruleForm.position = row.position;
+	state.isShowDialog = true;
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQueryColumn');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		await getAPI(SysDatabaseApi).apiSysDatabaseCreateSeedDataPost(state.ruleForm);
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/database/component/visualTable.vue b/LA24030_LuLiPackageLine_Web/src/views/system/database/component/visualTable.vue
new file mode 100644
index 0000000..0376cc3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/database/component/visualTable.vue
@@ -0,0 +1,170 @@
+<template>
+	<div class="sys-databaseVisual-container" style="height: calc(100vh - 60px)">
+		<RelationGraph ref="graphRef" :options="graphOptions" :on-node-click="onNodeClick" :on-line-click="onLineClick">
+			<template #graph-plug>
+				<div
+					style="
+						z-index: 300;
+						position: absolute;
+						left: 10px;
+						top: calc(100% - 50px);
+						font-size: 12px;
+						background-color: #ffffff;
+						border: #efefef solid 1px;
+						border-radius: 10px;
+						width: 260px;
+						height: 40px;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+					"
+				>
+					鍥句緥锛�
+					<div>
+						涓�瀵瑰
+						<div style="height: 5px; width: 80px; background-color: rgba(0, 255, 0, 0.5)"></div>
+					</div>
+					<div style="margin-left: 10px">
+						涓�瀵逛竴
+						<div style="height: 5px; width: 80px; background-color: rgba(255, 0, 0, 0.5)"></div>
+					</div>
+				</div>
+			</template>
+
+			<template #canvas-plug>
+				<!--- You can put some elements that are not allowed to be dragged here --->
+			</template>
+
+			<template #node="{ node }">
+				<div style="width: 500px; background-color: #f39930">
+					<div style="height: 30px; display: flex; align-items: center; justify-content: center">{{ node.text }} - 銆恵{ node.data.columns.length }}鍒椼��</div>
+					<table class="c-data-table">
+						<tr>
+							<th>鍒楀悕</th>
+							<th>绫诲瀷</th>
+							<th>闀垮害</th>
+							<th>鎻忚堪</th>
+						</tr>
+						<template v-for="column of node.data.columns" :key="column.columnName">
+							<tr>
+								<td>
+									<div :id="`${node.id}-${column.columnName}`">{{ column.columnName }}</div>
+								</td>
+								<td>{{ column.dataType }}</td>
+								<td>{{ column.dataLength }}</td>
+								<td>{{ column.columnDescription }}</td>
+							</tr>
+						</template>
+					</table>
+				</div>
+			</template>
+		</RelationGraph>
+	</div>
+</template>
+
+<script lang="ts" setup name="databaseVisual">
+import { onMounted, reactive, ref } from 'vue';
+import { useRoute } from 'vue-router';
+
+import RelationGraph from 'relation-graph/vue3';
+import type { RGOptions, RGNode, RGLine, RGLink, RGUserEvent, RGJsonData, RelationGraphComponent } from 'relation-graph/vue3';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysDatabaseApi } from '/@/api-services/api';
+
+const route = useRoute();
+const state = reactive({
+	loading: false,
+	configId: '' as any,
+});
+
+const graphRef = ref<RelationGraphComponent | null>(null);
+const graphOptions: RGOptions = {
+	defaultJunctionPoint: 'border',
+};
+
+onMounted(async () => {
+	state.configId = route.query.configId;
+	showGraph();
+});
+
+// 鑾峰彇鍙鍖栬〃鍜屽瓧娈�
+const showGraph = async () => {
+	var res = await getAPI(SysDatabaseApi).apiSysDatabaseVisualDbTableGet();
+	const visualTableList: any = res.data.result?.visualTableList;
+	const visualColumnList: any = res.data.result?.visualColumnList;
+	const columnRelationList: any = res.data.result?.columnRelationList;
+
+	const graphNodes = visualTableList.map((table: any) => {
+		const { tableName, tableComents, x, y } = table;
+		return {
+			id: tableName,
+			text: tableComents,
+			x,
+			y,
+			nodeShape: 1,
+			data: {
+				columns: visualColumnList.filter((col: any) => col.tableName === table.tableName),
+			},
+		};
+	});
+	const graphLines = columnRelationList.map((relation: any) => {
+		return {
+			from: relation.sourceTableName + '-' + relation.sourceColumnName, // HtmlElement id
+			to: relation.targetTableName + '-' + relation.targetColumnName, // HtmlElement id
+			color: relation.type === 'ONE_TO_ONE' ? 'rgba(255,0,0,0.5)' : 'rgba(0,255,0,0.5)',
+			text: '',
+			fromJunctionPoint: 'left',
+			toJunctionPoint: 'lr',
+			lineShape: 6,
+			lineWidth: 3,
+		};
+	});
+	const graphJsonData: RGJsonData = {
+		nodes: graphNodes,
+		lines: [],
+		elementLines: graphLines,
+	};
+	const graphInstance = graphRef.value?.getInstance();
+	if (graphInstance) {
+		await graphInstance.setJsonData(graphJsonData);
+		await graphInstance.moveToCenter();
+		await graphInstance.zoomToFit();
+	}
+};
+
+const onNodeClick = (nodeObject: RGNode, $event: RGUserEvent) => {
+	console.log('onNodeClick:', nodeObject);
+};
+
+const onLineClick = (lineObject: RGLine, linkObject: RGLink, $event: RGUserEvent) => {
+	console.log('onLineClick:', lineObject);
+};
+</script>
+
+<style lang="scss" scoped>
+::v-deep(.relation-graph) {
+	.rel-node-shape-1 {
+		overflow: hidden;
+	}
+}
+.c-data-table {
+	background-color: #ffffff;
+	border-collapse: collapse;
+	width: 100%;
+}
+.c-data-table td,
+.c-data-table th {
+	border: 1px solid #f39930;
+	color: #333333;
+	padding: 5px;
+	padding-left: 20px;
+	padding-right: 20px;
+}
+.c-data-table td div,
+.c-data-table th div {
+	background-color: var(--el-color-primary-light-3);
+	color: #ffffff;
+	border-radius: 5px;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/database/database.ts b/LA24030_LuLiPackageLine_Web/src/views/system/database/database.ts
new file mode 100644
index 0000000..c99a0bd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/database/database.ts
@@ -0,0 +1,107 @@
+export interface EditRecordRow {
+	columnDescription?: string | null;
+	dataType?: string | null;
+	dbColumnName?: string | null;
+	decimalDigits: number;
+	isIdentity: number;
+	isNullable: number;
+	isPrimarykey: number;
+	length: number;
+	key?: number;
+	editable?: boolean;
+	isNew: boolean;
+}
+
+export const yesNoSelect = [
+	{
+		label: '鏄�',
+		value: 1,
+	},
+	{
+		label: '鍚�',
+		value: 0,
+	},
+];
+
+export const dataTypeList = [
+	{
+		value: 'text',
+		hasLength: false,
+		hasDecimalDigits: false,
+	},
+	{
+		value: 'varchar',
+		hasLength: true,
+		hasDecimalDigits: false,
+	},
+	{
+		value: 'nvarchar',
+		hasLength: true,
+		hasDecimalDigits: false,
+	},
+	{
+		value: 'char',
+		hasLength: true,
+		hasDecimalDigits: false,
+	},
+	{
+		value: 'nchar',
+		hasLength: true,
+		hasDecimalDigits: false,
+	},
+	{
+		value: 'timestamp',
+		hasLength: false,
+		hasDecimalDigits: false,
+	},
+	{
+		value: 'int',
+		hasLength: false,
+		hasDecimalDigits: false,
+	},
+	{
+		value: 'smallint',
+		hasLength: false,
+		hasDecimalDigits: false,
+	},
+	{
+		value: 'tinyint',
+		hasLength: false,
+		hasDecimalDigits: false,
+	},
+	{
+		value: 'bigint',
+		hasLength: false,
+		hasDecimalDigits: false,
+	},
+	{
+		value: 'bit',
+		hasLength: false,
+		hasDecimalDigits: false,
+	},
+	{
+		value: 'decimal',
+		hasLength: true,
+		hasDecimalDigits: true,
+	},
+	{
+		value: 'datetime',
+		hasLength: false,
+		hasDecimalDigits: false,
+	},
+	{
+		value: 'date',
+		hasLength: false,
+		hasDecimalDigits: false,
+	},
+	{
+		value: 'blob',
+		hasLength: false,
+		hasDecimalDigits: false,
+	},
+	{
+		value: 'clob',
+		hasLength: false,
+		hasDecimalDigits: false,
+	},
+];
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/database/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/database/index.vue
new file mode 100644
index 0000000..e469454
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/database/index.vue
@@ -0,0 +1,320 @@
+<template>
+	<div class="sys-database-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="state.queryParams" ref="queryForm" :inline="true" v-loading="state.loading">
+				<el-form-item label="搴撳悕">
+					<el-select v-model="state.configId" placeholder="搴撳悕" filterable @change="handleQueryTable">
+						<el-option v-for="item in state.dbData" :key="item" :label="item" :value="item" />
+					</el-select>
+				</el-form-item>
+				<el-form-item label="琛ㄥ悕">
+					<el-select v-model="state.tableName" placeholder="琛ㄥ悕" filterable clearable @change="handleQueryColumn">
+						<el-option v-for="item in state.tableData" :key="item.name" :label="item.name + '[' + item.description + ']'" :value="item.name" />
+					</el-select>
+				</el-form-item>
+				<el-form-item>
+					<el-button-group>
+						<el-button icon="ele-Plus" type="primary" @click="openAddTable"> 澧炲姞琛� </el-button>
+						<el-button icon="ele-Edit" @click="openEditTable"> 缂栬緫琛� </el-button>
+						<el-button icon="ele-Delete" type="danger" @click="delTable" disabled> 鍒犻櫎琛� </el-button>
+						<el-button icon="ele-View" @click="visualTable"> 鍙鍖� </el-button>
+					</el-button-group>
+					<el-button-group style="padding-left: 10px">
+						<el-button icon="ele-Plus" @click="openAddColumn"> 澧炲姞鍒� </el-button>
+						<el-button icon="ele-Plus" @click="openGenDialog"> 鐢熸垚瀹炰綋 </el-button>
+						<el-button icon="ele-Plus" @click="openGenSeedDataDialog"> 鐢熸垚绉嶅瓙 </el-button>
+					</el-button-group>
+				</el-form-item>
+			</el-form>
+		</el-card>
+
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table :data="state.columnData" style="width: 100%" v-loading="state.loading1" border>
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+				<el-table-column prop="dbColumnName" label="瀛楁鍚�" align="center" show-overflow-tooltip />
+				<el-table-column prop="dataType" label="鏁版嵁绫诲瀷" align="center" show-overflow-tooltip />
+				<el-table-column prop="isPrimarykey" label="涓婚敭" width="70" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag type="success" v-if="scope.row.isPrimarykey === true">鏄�</el-tag>
+						<el-tag type="info" v-else>鍚�</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="isIdentity" label="鑷" width="70" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag type="success" v-if="scope.row.isIdentity === true">鏄�</el-tag>
+						<el-tag type="info" v-else>鍚�</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="isNullable" label="鍙┖" width="70" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag v-if="scope.row.isNullable === true">鏄�</el-tag>
+						<el-tag type="info" v-else>鍚�</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="length" label="闀垮害" width="70" align="center" show-overflow-tooltip />
+				<el-table-column prop="decimalDigits" label="绮惧害" width="70" align="center" show-overflow-tooltip />
+				<el-table-column prop="defaultValue" label="榛樿鍊�" align="center" show-overflow-tooltip />
+				<el-table-column prop="columnDescription" label="鎻忚堪" header-align="center" show-overflow-tooltip />
+				<el-table-column label="鎿嶄綔" width="145" fixed="right" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditColumn(scope.row)"> 缂栬緫 </el-button>
+						<el-button icon="ele-Delete" size="small" text type="danger" @click="delColumn(scope.row)"> 鍒犻櫎 </el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+		</el-card>
+
+		<EditTable ref="editTableRef" @handleQueryTable="handleQueryTable" />
+		<EditColumn ref="editColumnRef" @handleQueryColumn="handleQueryColumn" />
+		<AddTable ref="addTableRef" @addTableSubmitted="addTableSubmitted" />
+		<AddColumn ref="addColumnRef" @handleQueryColumn="handleQueryColumn" />
+		<GenEntity ref="genEntityRef" @handleQueryColumn="handleQueryColumn" :application-namespaces="state.appNamespaces" />
+		<GenSeedData ref="genSeedDataRef" :application-namespaces="state.appNamespaces" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysDatabase">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { useRouter } from 'vue-router';
+import EditTable from '/@/views/system/database/component/editTable.vue';
+import EditColumn from '/@/views/system/database/component/editColumn.vue';
+import AddTable from '/@/views/system/database/component/addTable.vue';
+import AddColumn from '/@/views/system/database/component/addColumn.vue';
+import GenEntity from '/@/views/system/database/component/genEntity.vue';
+import GenSeedData from '/@/views/system/database/component/genSeedData.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysDatabaseApi, SysCodeGenApi } from '/@/api-services/api';
+import { DbColumnOutput, DbTableInfo, DbColumnInput, DeleteDbTableInput, DeleteDbColumnInput } from '/@/api-services/models';
+
+const editTableRef = ref<InstanceType<typeof EditTable>>();
+const editColumnRef = ref<InstanceType<typeof EditColumn>>();
+const addTableRef = ref<InstanceType<typeof AddTable>>();
+const addColumnRef = ref<InstanceType<typeof AddColumn>>();
+const genEntityRef = ref<InstanceType<typeof GenEntity>>();
+const genSeedDataRef = ref<InstanceType<typeof GenSeedData>>();
+const router = useRouter();
+const state = reactive({
+	loading: false,
+	loading1: false,
+	dbData: [] as any,
+	configId: '',
+	tableData: [] as Array<DbTableInfo>,
+	tableName: '',
+	columnData: [] as Array<DbColumnOutput>,
+	queryParams: {
+		name: undefined,
+		code: undefined,
+	},
+	appNamespaces: [] as Array<String>, // 瀛樺偍浣嶇疆
+});
+
+onMounted(async () => {
+	state.loading = true;
+	var res = await getAPI(SysDatabaseApi).apiSysDatabaseListGet();
+	state.dbData = res.data.result;
+	state.loading = false;
+
+	let appNamesRes = await getAPI(SysCodeGenApi).apiSysCodeGenApplicationNamespacesGet();
+	state.appNamespaces = appNamesRes.data.result as Array<string>;
+});
+
+// 澧炲姞琛�
+const addTableSubmitted = (e: any) => {
+	handleQueryTable();
+	state.tableName = e;
+	handleQueryColumn();
+};
+
+// 琛ㄦ煡璇㈡搷浣�
+const handleQueryTable = async () => {
+	state.tableName = '';
+	state.columnData = [];
+	state.loading = true;
+
+	var res = await getAPI(SysDatabaseApi).apiSysDatabaseTableListConfigIdGet(state.configId);
+	state.tableData = res.data.result ?? [];
+	state.loading = false;
+};
+
+// 鍒楁煡璇㈡搷浣�
+const handleQueryColumn = async () => {
+	state.columnData = [];
+	if (state.tableName == '') return;
+
+	state.loading1 = true;
+	var res = await getAPI(SysDatabaseApi).apiSysDatabaseColumnListTableNameConfigIdGet(state.tableName, state.configId);
+	state.columnData = res.data.result ?? [];
+	state.loading1 = false;
+};
+
+// 鎵撳紑琛ㄧ紪杈戦〉闈�
+const openEditTable = () => {
+	if (state.configId == '' || state.tableName == '') {
+		ElMessage({
+			type: 'error',
+			message: `璇烽�夋嫨搴撳悕鍜岃〃鍚�!`,
+		});
+		return;
+	}
+	var res = state.tableData.filter((u: any) => u.name == state.tableName);
+	var table: any = {
+		configId: state.configId,
+		tableName: state.tableName,
+		oldTableName: state.tableName,
+		description: res[0].description,
+	};
+	editTableRef.value?.openDialog(table);
+};
+
+// 鎵撳紑瀹炰綋鐢熸垚椤甸潰
+const openGenDialog = () => {
+	if (state.configId == '' || state.tableName == '') {
+		ElMessage({
+			type: 'error',
+			message: `璇烽�夋嫨搴撳悕鍜岃〃鍚�!`,
+		});
+		return;
+	}
+	// var res = state.tableData.filter((u: any) => u.name == state.tableName);
+	var table: any = {
+		configId: state.configId,
+		tableName: state.tableName,
+		position: state.appNamespaces[0],
+	};
+	genEntityRef.value?.openDialog(table);
+};
+
+// 鐢熸垚绉嶅瓙鏁版嵁椤甸潰
+const openGenSeedDataDialog = () => {
+	if (state.configId == '' || state.tableName == '') {
+		ElMessage({
+			type: 'error',
+			message: `璇烽�夋嫨搴撳悕鍜岃〃鍚�!`,
+		});
+		return;
+	}
+	var table: any = {
+		configId: state.configId,
+		tableName: state.tableName,
+		position: state.appNamespaces[0],
+	};
+	genSeedDataRef.value?.openDialog(table);
+};
+
+// 鎵撳紑琛ㄥ鍔犻〉闈�
+const openAddTable = () => {
+	if (state.configId == '') {
+		ElMessage({
+			type: 'error',
+			message: `璇烽�夋嫨搴撳悕!`,
+		});
+		return;
+	}
+	var table: any = {
+		configId: state.configId,
+		tableName: '',
+		oldTableName: '',
+		description: '',
+	};
+	addTableRef.value?.openDialog(table);
+};
+
+// 鎵撳紑鍒楃紪杈戦〉闈�
+const openEditColumn = (row: any) => {
+	var column: any = {
+		configId: state.configId,
+		tableName: row.tableName,
+		columnName: row.dbColumnName,
+		oldColumnName: row.dbColumnName,
+		description: row.columnDescription,
+	};
+	editColumnRef.value?.openDialog(column);
+};
+
+// 鎵撳紑鍒楀鍔犻〉闈�
+const openAddColumn = () => {
+	if (state.configId == '' || state.tableName == '') {
+		ElMessage({
+			type: 'error',
+			message: `璇烽�夋嫨搴撳悕鍜岃〃鍚�!`,
+		});
+		return;
+	}
+	const addRow: DbColumnInput = {
+		configId: state.configId,
+		tableName: state.tableName,
+		columnDescription: '',
+		dataType: '',
+		dbColumnName: '',
+		decimalDigits: 0,
+		isIdentity: 0,
+		isNullable: 0,
+		isPrimarykey: 0,
+		length: 0,
+		// key: 0,
+		// editable: true,
+		// isNew: true,
+	};
+	addColumnRef.value?.openDialog(addRow);
+};
+
+// 鍒犻櫎琛�
+const delTable = () => {
+	if (state.tableName == '') {
+		ElMessage({
+			type: 'error',
+			message: `璇烽�夋嫨琛ㄥ悕!`,
+		});
+		return;
+	}
+	ElMessageBox.confirm(`纭畾鍒犻櫎琛細銆�${state.tableName}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			const deleteDbTableInput: DeleteDbTableInput = {
+				configId: state.configId,
+				tableName: state.tableName,
+			};
+			await getAPI(SysDatabaseApi).apiSysDatabaseDeleteTablePost(deleteDbTableInput);
+			handleQueryTable();
+			ElMessage.success('琛ㄥ垹闄ゆ垚鍔�');
+		})
+		.catch(() => {});
+};
+
+// 鍒犻櫎鍒�
+const delColumn = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎鍒楋細銆�${row.dbColumnName}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			const eleteDbColumnInput: DeleteDbColumnInput = {
+				configId: state.configId,
+				tableName: state.tableName,
+				dbColumnName: row.dbColumnName,
+			};
+			await getAPI(SysDatabaseApi).apiSysDatabaseDeleteColumnPost(eleteDbColumnInput);
+			handleQueryTable();
+			ElMessage.success('鍒楀垹闄ゆ垚鍔�');
+		})
+		.catch(() => {});
+};
+
+// 鍙鍖栬〃
+const visualTable = () => {
+	if (state.configId == '') {
+		ElMessage({
+			type: 'error',
+			message: `璇烽�夋嫨搴撳悕!`,
+		});
+		return;
+	}
+	router.push(`/develop/database/visual?configId=${state.configId}`);
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/dict/component/editDictData.vue b/LA24030_LuLiPackageLine_Web/src/views/system/dict/component/editDictData.vue
new file mode 100644
index 0000000..9f2b340
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/dict/component/editDictData.vue
@@ -0,0 +1,138 @@
+<template>
+	<div class="sys-dictData-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> {{ props.title }} </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀛楀吀鍊�" prop="value" :rules="[{ required: true, message: '瀛楀吀鍊间笉鑳戒负绌�', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.value" placeholder="瀛楀吀鍊�" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="缂栧彿" prop="code" :rules="[{ required: true, message: '缂栧彿涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.code" placeholder="缂栧彿" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍚嶇О" prop="name" :rules="[{ required: true, message: '鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.name" placeholder="鍚嶇О" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鏍囩绫诲瀷">
+							<el-radio-group v-model="state.ruleForm.tagType">
+								<el-radio value="primary"><el-tag type="primary">涓婚鑹�</el-tag></el-radio>
+								<el-radio value="success"><el-tag type="success">success</el-tag></el-radio>
+								<el-radio value="info"><el-tag type="info">info</el-tag></el-radio>
+								<el-radio value="warning"><el-tag type="warning">warning</el-tag></el-radio>
+								<el-radio value="danger"><el-tag type="danger" style="font:">danger</el-tag></el-radio>
+							</el-radio-group>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鏍峰紡(Style)" prop="styleSetting">
+							<el-input v-model="state.ruleForm.styleSetting" placeholder="鏍峰紡(Style)" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鏍峰紡(Class)" prop="classSetting">
+							<el-input v-model="state.ruleForm.classSetting" placeholder="鏍峰紡(Class)" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐘舵��">
+							<el-radio-group v-model="state.ruleForm.status">
+								<el-radio :value="1">鍚敤</el-radio>
+								<el-radio :value="2">绂佺敤</el-radio>
+							</el-radio-group>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎺掑簭">
+							<el-input-number v-model="state.ruleForm.orderNo" placeholder="鎺掑簭" class="w100" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="澶囨敞">
+							<el-input v-model="state.ruleForm.remark" placeholder="璇疯緭鍏ュ娉ㄥ唴瀹�" clearable type="textarea" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鎷撳睍鏁版嵁">
+							<el-input v-model="state.ruleForm.extData" placeholder="璇疯緭鍏ユ嫇灞曟暟鎹�" clearable type="textarea" rows="6" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditDictData">
+import { reactive, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysDictDataApi } from '/@/api-services/api';
+import { UpdateDictDataInput } from '/@/api-services/models';
+
+const props = defineProps({
+	title: String,
+	dictTypeId: Number,
+});
+const emits = defineEmits(['handleQuery', 'handleUpdate']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as UpdateDictDataInput,
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	if (JSON.stringify(row) == '{}') {
+		state.ruleForm.dictTypeId = props.dictTypeId;
+	}
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysDictDataApi).apiSysDictDataUpdatePost(state.ruleForm);
+		} else {
+			await getAPI(SysDictDataApi).apiSysDictDataAddPost(state.ruleForm);
+		}
+		emits('handleUpdate');
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/dict/component/editDictType.vue b/LA24030_LuLiPackageLine_Web/src/views/system/dict/component/editDictType.vue
new file mode 100644
index 0000000..ed2a22d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/dict/component/editDictType.vue
@@ -0,0 +1,103 @@
+<template>
+	<div class="sys-dictType-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> {{ props.title }} </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="瀛楀吀鍚嶇О" prop="name" :rules="[{ required: true, message: '瀛楀吀鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.name" placeholder="瀛楀吀鍚嶇О" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="瀛楀吀缂栧彿" prop="code" :rules="[{ required: true, message: '瀛楀吀缂栧彿涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.code" placeholder="瀛楀吀缂栧彿" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐘舵��">
+							<el-radio-group v-model="state.ruleForm.status">
+								<el-radio :value="1">鍚敤</el-radio>
+								<el-radio :value="2">绂佺敤</el-radio>
+							</el-radio-group>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎺掑簭">
+							<el-input-number v-model="state.ruleForm.orderNo" placeholder="鎺掑簭" class="w100" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="澶囨敞">
+							<el-input v-model="state.ruleForm.remark" placeholder="璇疯緭鍏ュ娉ㄥ唴瀹�" clearable type="textarea" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditDictType">
+import { reactive, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysDictTypeApi } from '/@/api-services/api';
+import { UpdateDictTypeInput } from '/@/api-services/models';
+
+const props = defineProps({
+	title: String,
+});
+const emits = defineEmits(['handleQuery', 'handleUpdate']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as UpdateDictTypeInput,
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysDictTypeApi).apiSysDictTypeUpdatePost(state.ruleForm);
+		} else {
+			await getAPI(SysDictTypeApi).apiSysDictTypeAddPost(state.ruleForm);
+		}
+		emits('handleUpdate');
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/dict/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/dict/index.vue
new file mode 100644
index 0000000..84b9cd0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/dict/index.vue
@@ -0,0 +1,338 @@
+<template>
+	<div class="sys-dict-container">
+		<el-row :gutter="8" style="width: 100%; height: 100%; flex: 1">
+			<el-col :span="12" :xs="24" style="display: flex; height: 100%; flex: 1">
+				<el-card class="full-table" shadow="hover" :body-style="{ height: 'calc(100% - 51px)' }">
+					<template #header>
+						<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-Collection /></el-icon>瀛楀吀
+					</template>
+					<el-form :model="state.queryDictTypeParams" ref="queryForm" :inline="true">
+						<el-form-item label="鍚嶇О">
+							<el-input v-model="state.queryDictTypeParams.name" placeholder="瀛楀吀鍚嶇О" clearable />
+						</el-form-item>
+						<!-- <el-form-item label="瀛楀吀缂栧彿">
+							<el-input v-model="state.queryDictTypeParams.code" placeholder="瀛楀吀缂栧彿" clearable />
+						</el-form-item> -->
+						<el-form-item>
+							<el-button-group>
+								<el-button type="primary" icon="ele-Search" @click="handleDictTypeQuery" v-auth="'sysDictType:page'"> 鏌ヨ </el-button>
+								<el-button icon="ele-Refresh" @click="resetDictTypeQuery"> 閲嶇疆 </el-button>
+							</el-button-group>
+						</el-form-item>
+						<el-form-item>
+							<el-button type="primary" icon="ele-Plus" @click="openAddDictType" v-auth="'sysDictType:add'"> 鏂板 </el-button>
+						</el-form-item>
+					</el-form>
+
+					<el-table :data="state.dictTypeData" style="width: 100%" v-loading="state.loading" @row-click="handleDictType" highlight-current-row border>
+						<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+						<el-table-column prop="name" label="瀛楀吀鍚嶇О" min-width="120" header-align="center" show-overflow-tooltip />
+						<el-table-column prop="code" label="瀛楀吀缂栧彿" min-width="140" header-align="center" show-overflow-tooltip />
+						<el-table-column prop="status" label="鐘舵��" width="70" align="center" show-overflow-tooltip>
+							<template #default="scope">
+								<el-tag type="success" v-if="scope.row.status === 1">鍚敤</el-tag>
+								<el-tag type="danger" v-else>绂佺敤</el-tag>
+							</template>
+						</el-table-column>
+						<el-table-column prop="orderNo" label="鎺掑簭" width="60" align="center" show-overflow-tooltip />
+						<el-table-column label="淇敼璁板綍" width="100" align="center" show-overflow-tooltip>
+							<template #default="scope">
+								<ModifyRecord :data="scope.row" />
+							</template>
+						</el-table-column>
+						<el-table-column label="鎿嶄綔" width="110" fixed="right" align="center">
+							<template #default="scope">
+								<el-tooltip content="瀛楀吀鍊�">
+									<el-button icon="ele-Memo" size="small" text type="primary" @click="openDictDataDialog(scope.row)" v-auth="'sysDictType:page'"> </el-button>
+								</el-tooltip>
+								<el-tooltip content="缂栬緫">
+									<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditDictType(scope.row)" v-auth="'sysDictType:update'"> </el-button>
+								</el-tooltip>
+								<el-tooltip content="鍒犻櫎">
+									<el-button icon="ele-Delete" size="small" text type="danger" @click="delDictType(scope.row)" v-auth="'sysDictType:delete'"> </el-button>
+								</el-tooltip>
+							</template>
+						</el-table-column>
+					</el-table>
+					<el-pagination
+						v-model:currentPage="state.tableDictTypeParams.page"
+						v-model:page-size="state.tableDictTypeParams.pageSize"
+						:total="state.tableDictTypeParams.total"
+						:page-sizes="[10, 20, 50, 100]"
+						small
+						background
+						@size-change="handleDictTypeSizeChange"
+						@current-change="handleDictTypeCurrentChange"
+						layout="total, sizes, prev, pager, next, jumper"
+					/>
+				</el-card>
+			</el-col>
+
+			<el-col :span="12" :xs="24" style="display: flex; height: 100%; flex: 1">
+				<el-card class="full-table" shadow="hover" :body-style="{ height: 'calc(100% - 51px)' }">
+					<template #header>
+						<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-Collection /></el-icon>瀛楀吀鍊笺�恵{ state.editDictTypeName }}銆�
+					</template>
+					<el-form :model="state.queryDictDataParams" ref="queryForm" :inline="true">
+						<!-- <el-form-item label="瀛楀吀鍊�">
+							<el-input v-model="state.queryDictDataParams.value" placeholder="瀛楀吀鍊�" />
+						</el-form-item> -->
+						<el-form-item label="缂栧彿">
+							<el-input v-model="state.queryDictDataParams.code" placeholder="缂栧彿" />
+						</el-form-item>
+						<el-form-item>
+							<el-button-group>
+								<el-button type="primary" icon="ele-Search" @click="handleDictDataQuery"> 鏌ヨ </el-button>
+								<el-button icon="ele-Refresh" @click="resetDictDataQuery"> 閲嶇疆 </el-button>
+							</el-button-group>
+						</el-form-item>
+						<el-form-item>
+							<el-button type="primary" icon="ele-Plus" @click="openAddDictData"> 鏂板 </el-button>
+						</el-form-item>
+					</el-form>
+
+					<el-table :data="state.dictDataData" style="width: 100%" v-loading="state.loading" border>
+						<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+						<el-table-column prop="value" label="瀛楀吀鍊�" header-align="center" min-width="120" show-overflow-tooltip>
+							<template #default="scope">
+								<el-tag :type="scope.row.tagType" :style="scope.row.styleSetting" :class="scope.row.classSetting">{{ scope.row.value }}</el-tag>
+							</template>
+						</el-table-column>
+						<el-table-column prop="code" label="缂栧彿" header-align="center" min-width="120" show-overflow-tooltip />
+						<el-table-column prop="name" label="鍚嶇О" header-align="center" min-width="120" show-overflow-tooltip />
+						<el-table-column prop="extData" label="鎷撳睍鏁版嵁" width="90" align="center">
+							<template #default="scope">
+								<el-tag type="warning" v-if="scope.row.extData == null || scope.row.extData == ''">绌�</el-tag>
+								<el-tag type="success" v-else>鏈夊��</el-tag>
+							</template>
+						</el-table-column>
+						<el-table-column prop="status" label="鐘舵��" width="70" align="center" show-overflow-tooltip>
+							<template #default="scope">
+								<el-tag type="success" v-if="scope.row.status === 1">鍚敤</el-tag>
+								<el-tag type="danger" v-else>绂佺敤</el-tag>
+							</template>
+						</el-table-column>
+						<el-table-column prop="orderNo" label="鎺掑簭" width="60" align="center" show-overflow-tooltip />
+						<el-table-column label="淇敼璁板綍" width="100" align="center" show-overflow-tooltip>
+							<template #default="scope">
+								<ModifyRecord :data="scope.row" />
+							</template>
+						</el-table-column>
+						<el-table-column label="鎿嶄綔" width="80" fixed="right" align="center" show-overflow-tooltip>
+							<template #default="scope">
+								<el-tooltip content="缂栬緫">
+									<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditDictData(scope.row)"> </el-button>
+								</el-tooltip>
+								<el-tooltip content="鍒犻櫎">
+									<el-button icon="ele-Delete" size="small" text type="danger" @click="delDictData(scope.row)"> </el-button>
+								</el-tooltip>
+							</template>
+						</el-table-column>
+					</el-table>
+					<el-pagination
+						v-model:currentPage="state.tableDictDataParams.page"
+						v-model:page-size="state.tableDictDataParams.pageSize"
+						:total="state.tableDictDataParams.total"
+						:page-sizes="[10, 20, 50, 100]"
+						small
+						background
+						@size-change="handleDictDataSizeChange"
+						@current-change="handleDictDataCurrentChange"
+						layout="total, sizes, prev, pager, next, jumper"
+					/>
+				</el-card>
+			</el-col>
+		</el-row>
+
+		<EditDictType ref="editDictTypeRef" :title="state.editDictTypeTitle" @handleQuery="handleDictTypeQuery" @handleUpdate="updateDictSession" />
+		<EditDictData ref="editDictDataRef" :title="state.editDictDataTitle" @handleQuery="handleDictDataQuery" @handleUpdate="updateDictSession" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysDict">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import EditDictType from '/@/views/system/dict/component/editDictType.vue';
+import EditDictData from '/@/views/system/dict/component/editDictData.vue';
+import ModifyRecord from '/@/components/table/modifyRecord.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { Session } from '/@/utils/storage';
+import { useUserInfo } from '/@/stores/userInfo';
+import { SysDictTypeApi, SysDictDataApi } from '/@/api-services/api';
+import { SysDictType, SysDictData } from '/@/api-services/models';
+
+const editDictTypeRef = ref<InstanceType<typeof EditDictType>>();
+const editDictDataRef = ref<InstanceType<typeof EditDictData>>();
+const state = reactive({
+	loading: false,
+	dictTypeData: [] as Array<SysDictType>,
+	dictDataData: [] as Array<SysDictData>,
+	queryDictTypeParams: {
+		name: undefined,
+		code: undefined,
+	},
+	tableDictTypeParams: {
+		page: 1,
+		pageSize: 200,
+		total: 0 as any,
+	},
+	queryDictDataParams: {
+		value: undefined,
+		code: undefined,
+		dictTypeId: 0, // 瀛楀吀绫诲瀷Id
+	},
+	tableDictDataParams: {
+		page: 1,
+		pageSize: 200,
+		total: 0 as any,
+	},
+	editDictTypeTitle: '',
+	editDictDataTitle: '',
+	editDictTypeName: '',
+});
+
+onMounted(async () => {
+	handleDictTypeQuery();
+});
+
+// 鏌ヨ瀛楀吀鎿嶄綔
+const handleDictTypeQuery = async () => {
+	state.loading = true;
+	let params = Object.assign(state.queryDictTypeParams, state.tableDictTypeParams);
+	var res = await getAPI(SysDictTypeApi).apiSysDictTypePagePost(params);
+	state.dictTypeData = res.data.result?.items ?? [];
+	state.tableDictTypeParams.total = res.data.result?.total;
+	state.loading = false;
+};
+
+// 鏌ヨ瀛楀吀鍊兼搷浣�
+const handleDictDataQuery = async () => {
+	state.loading = true;
+	let params = Object.assign(state.queryDictDataParams, state.tableDictDataParams);
+	var res = await getAPI(SysDictDataApi).apiSysDictDataPagePost(params);
+	state.dictDataData = res.data.result?.items ?? [];
+	state.tableDictDataParams.total = res.data.result?.total;
+	state.loading = false;
+};
+
+// 鐐瑰嚮琛ㄦ牸
+const handleDictType = (row: any, event: any, column: any) => {
+	openDictDataDialog(row);
+};
+
+// 閲嶇疆瀛楀吀鎿嶄綔
+const resetDictTypeQuery = () => {
+	state.queryDictTypeParams.name = undefined;
+	state.queryDictTypeParams.code = undefined;
+	handleDictTypeQuery();
+};
+
+// 閲嶇疆瀛楀吀鍊兼搷浣�
+const resetDictDataQuery = () => {
+	state.queryDictDataParams.value = undefined;
+	state.queryDictDataParams.code = undefined;
+	handleDictDataQuery();
+};
+
+// 鎵撳紑鏂板瀛楀吀椤甸潰
+const openAddDictType = () => {
+	state.editDictTypeTitle = '娣诲姞瀛楀吀';
+	editDictTypeRef.value?.openDialog({ status: 1, orderNo: 100 });
+};
+
+// 鎵撳紑鏂板瀛楀吀鍊奸〉闈�
+const openAddDictData = () => {
+	if (!state.queryDictDataParams.dictTypeId) {
+		ElMessage.warning('璇烽�夋嫨瀛楀吀');
+		return;
+	}
+
+	state.editDictDataTitle = '娣诲姞瀛楀吀鍊�';
+	editDictDataRef.value?.openDialog({ status: 1, orderNo: 100, dictTypeId: state.queryDictDataParams.dictTypeId });
+};
+
+// 鎵撳紑缂栬緫瀛楀吀椤甸潰
+const openEditDictType = (row: any) => {
+	state.editDictTypeTitle = '缂栬緫瀛楀吀';
+	editDictTypeRef.value?.openDialog(row);
+};
+
+// 鎵撳紑缂栬緫瀛楀吀鍊奸〉闈�
+const openEditDictData = (row: any) => {
+	state.editDictDataTitle = '缂栬緫瀛楀吀鍊�';
+	editDictDataRef.value?.openDialog(row);
+};
+
+// 鎵撳紑瀛楀吀鍊奸〉闈�
+const openDictDataDialog = (row: any) => {
+	state.editDictTypeName = row.name;
+	state.queryDictDataParams.dictTypeId = row.id;
+	handleDictDataQuery();
+};
+
+// 鍒犻櫎瀛楀吀
+const delDictType = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎瀛楀吀锛氥��${row.name}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysDictTypeApi).apiSysDictTypeDeletePost({ id: row.id });
+			handleDictTypeQuery();
+			updateDictSession();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鍒犻櫎瀛楀吀鍊�
+const delDictData = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎瀛楀吀鍊硷細銆�${row.value}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysDictDataApi).apiSysDictDataDeletePost({ id: row.id });
+			handleDictDataQuery();
+			updateDictSession();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉瀛楀吀椤甸潰瀹归噺
+const handleDictTypeSizeChange = (val: number) => {
+	state.tableDictTypeParams.pageSize = val;
+	handleDictTypeQuery();
+};
+
+// 鏀瑰彉瀛楀吀椤电爜搴忓彿
+const handleDictTypeCurrentChange = (val: number) => {
+	state.tableDictTypeParams.page = val;
+	handleDictTypeQuery();
+};
+
+// 鏀瑰彉瀛楀吀鍊奸〉闈㈠閲�
+const handleDictDataSizeChange = (val: number) => {
+	state.tableDictDataParams.pageSize = val;
+	handleDictDataQuery();
+};
+
+// 鏀瑰彉瀛楀吀鍊奸〉鐮佸簭鍙�
+const handleDictDataCurrentChange = (val: number) => {
+	state.tableDictDataParams.page = val;
+	handleDictDataQuery();
+};
+
+// 鏇存柊鍓嶇瀛楀吀缂撳瓨
+const updateDictSession = async () => {
+	if (Session.get('dictList')) {
+		const dictList = await useUserInfo().getAllDictList();
+		Session.set('dictList', dictList);
+	}
+	await useUserInfo().setDictList();
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/file/component/editSysfile.vue b/LA24030_LuLiPackageLine_Web/src/views/system/file/component/editSysfile.vue
new file mode 100644
index 0000000..b0b94be
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/file/component/editSysfile.vue
@@ -0,0 +1,87 @@
+<template>
+	<div class="sys-file-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="500px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> {{ props.title }} </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鏂囦欢鍚嶇О" prop="fileName" :rules="[{ required: true, message: '鏂囦欢鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.fileName" placeholder="鏂囦欢鍚嶇О" clearable />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditFile">
+import { reactive, ref } from 'vue';
+import { ElMessage } from 'element-plus';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysFileApi } from '/@/api-services/api';
+import { FileInput } from '/@/api-services/models';
+
+const props = defineProps({
+	title: String,
+	sysFileId: Number,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as FileInput,
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysFileApi)
+				.apiSysFileUpdatePost(state.ruleForm)
+				.then((rsp: any) => {
+					if (rsp.data.code == 200) {
+						ElMessage.success('淇敼鏂囦欢淇℃伅鎴愬姛锛�');
+					} else {
+						ElMessage.error('淇敼鏂囦欢淇℃伅澶辫触锛�' + rsp.data.message);
+					}
+				});
+		}
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/file/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/file/index.vue
new file mode 100644
index 0000000..98b09ca
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/file/index.vue
@@ -0,0 +1,290 @@
+<template>
+	<div class="sys-file-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+				<el-form-item label="鏂囦欢鍚嶇О" prop="fileName">
+					<el-input v-model="state.queryParams.fileName" placeholder="鏂囦欢鍚嶇О" clearable />
+				</el-form-item>
+				<el-form-item label="寮�濮嬫椂闂�" prop="name">
+					<el-date-picker v-model="state.queryParams.startTime" type="datetime" placeholder="寮�濮嬫椂闂�" value-format="YYYY-MM-DD HH:mm:ss" />
+				</el-form-item>
+				<el-form-item label="缁撴潫鏃堕棿" prop="code">
+					<el-date-picker v-model="state.queryParams.endTime" type="datetime" placeholder="缁撴潫鏃堕棿" value-format="YYYY-MM-DD HH:mm:ss" />
+				</el-form-item>
+				<el-form-item>
+					<el-button-group>
+						<el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'sysFile:page'"> 鏌ヨ </el-button>
+						<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+					</el-button-group>
+				</el-form-item>
+				<el-form-item>
+					<el-button type="primary" icon="ele-Plus" @click="openUploadDialog" v-auth="'sysFile:uploadFile'"> 涓婁紶 </el-button>
+				</el-form-item>
+			</el-form>
+		</el-card>
+
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table :data="state.fileData" style="width: 100%" v-loading="state.loading" border>
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+				<el-table-column prop="fileName" label="鍚嶇О" min-width="150" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="suffix" label="鍚庣紑" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag round>{{ scope.row.suffix }}</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="sizeKb" label="澶у皬kb" align="center" show-overflow-tooltip />
+				<el-table-column prop="url" label="棰勮" align="center">
+					<template #default="scope">
+						<el-image
+							style="width: 60px; height: 60px"
+							:src="getFileUrl(scope.row)"
+							alt="鏃犳硶棰勮"
+							:lazy="true"
+							:hide-on-click-modal="true"
+							:preview-src-list="[getFileUrl(scope.row)]"
+							:initial-index="0"
+							fit="scale-down"
+							preview-teleported
+						>
+							<template #error> </template>
+						</el-image>
+					</template>
+				</el-table-column>
+				<el-table-column prop="bucketName" label="瀛樺偍浣嶇疆" align="center" show-overflow-tooltip />
+				<el-table-column prop="id" label="瀛樺偍鏍囪瘑" align="center" show-overflow-tooltip />
+				<el-table-column label="淇敼璁板綍" width="100" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<ModifyRecord :data="scope.row" />
+					</template>
+				</el-table-column>
+				<el-table-column label="鎿嶄綔" width="260" fixed="right" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-button icon="ele-View" size="small" text type="primary" @click="openFilePreviewDialog(scope.row)" v-auth="'sysFile:delete'"> 棰勮 </el-button>
+						<el-button icon="ele-Download" size="small" text type="primary" @click="downloadFile(scope.row)" v-auth="'sysFile:downloadFile'"> 涓嬭浇 </el-button>
+						<el-button icon="ele-Delete" size="small" text type="danger" @click="delFile(scope.row)" v-auth="'sysFile:delete'"> 鍒犻櫎 </el-button>
+						<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditSysFile(scope.row)" v-auth="'sysFile:update'"> 缂栬緫 </el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="state.tableParams.page"
+				v-model:page-size="state.tableParams.pageSize"
+				:total="state.tableParams.total"
+				:page-sizes="[10, 20, 50, 100]"
+				small
+				background
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+		</el-card>
+
+		<el-dialog v-model="state.dialogUploadVisible" :lock-scroll="false" draggable width="400px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-UploadFilled /> </el-icon>
+					<span> 涓婁紶鏂囦欢 </span>
+				</div>
+			</template>
+			<div>
+				<el-upload ref="uploadRef" drag :auto-upload="false" :limit="1" :file-list="state.fileList" action="" :on-change="handleChange" accept=".jpg,.png,.bmp,.gif,.txt,.pdf,.xlsx,.docx">
+					<el-icon class="el-icon--upload">
+						<ele-UploadFilled />
+					</el-icon>
+					<div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
+					<template #tip>
+						<div class="el-upload__tip">璇蜂笂浼犲ぇ灏忎笉瓒呰繃 10MB 鐨勬枃浠�</div>
+					</template>
+				</el-upload>
+			</div>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="state.dialogUploadVisible = false">鍙栨秷</el-button>
+					<el-button type="primary" @click="uploadFile">纭畾</el-button>
+				</span>
+			</template>
+		</el-dialog>
+
+		<el-drawer :title="state.fileName" v-model="state.dialogDocxVisible" size="50%" destroy-on-close>
+			<vue-office-docx :src="state.docxUrl" style="height: 100vh" @rendered="renderedHandler" @error="errorHandler" />
+		</el-drawer>
+		<el-drawer :title="state.fileName" v-model="state.dialogXlsxVisible" size="50%" destroy-on-close>
+			<vue-office-excel :src="state.excelUrl" style="height: 100vh" @rendered="renderedHandler" @error="errorHandler" />
+		</el-drawer>
+		<el-drawer :title="state.fileName" v-model="state.dialogPdfVisible" size="50%" destroy-on-close>
+			<vue-office-pdf :src="state.pdfUrl" style="height: 100vh" @rendered="renderedHandler" @error="errorHandler" />
+		</el-drawer>
+		<el-image-viewer v-if="state.showViewer" :url-list="state.previewList" @close="state.showViewer = false"></el-image-viewer>
+		<EditSysFile ref="editSysFileRef" title="缂栬緫鏂囦欢" @handleQuery="handleQuery" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysFile">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage, UploadInstance } from 'element-plus';
+import VueOfficeDocx from '@vue-office/docx';
+import VueOfficeExcel from '@vue-office/excel';
+import VueOfficePdf from '@vue-office/pdf';
+import '@vue-office/docx/lib/index.css';
+import '@vue-office/excel/lib/index.css';
+
+import EditSysFile from '/@/views/system/file/component/editSysfile.vue';
+import ModifyRecord from '/@/components/table/modifyRecord.vue';
+
+import { downloadByUrl } from '/@/utils/download';
+import { getAPI } from '/@/utils/axios-utils';
+import { SysFileApi } from '/@/api-services/api';
+import { SysFile } from '/@/api-services/models';
+
+// const baseUrl = window.__env__.VITE_API_URL;
+const uploadRef = ref<UploadInstance>();
+const editSysFileRef = ref<InstanceType<typeof EditSysFile>>();
+const state = reactive({
+	loading: false,
+	fileData: [] as Array<SysFile>,
+	queryParams: {
+		fileName: undefined,
+		startTime: undefined,
+		endTime: undefined,
+	},
+	tableParams: {
+		page: 1,
+		pageSize: 10,
+		total: 0 as any,
+	},
+	dialogUploadVisible: false,
+	diaglogEditFile: false,
+	fileList: [] as any,
+	dialogDocxVisible: false,
+	dialogXlsxVisible: false,
+	dialogPdfVisible: false,
+	showViewer: false,
+	docxUrl: '',
+	excelUrl: '',
+	pdfUrl: '',
+	fileName: '',
+	previewList: [] as string[],
+});
+
+onMounted(async () => {
+	handleQuery();
+});
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	if (state.queryParams.startTime == null) state.queryParams.startTime = undefined;
+	if (state.queryParams.endTime == null) state.queryParams.endTime = undefined;
+
+	state.loading = true;
+	let params = Object.assign(state.queryParams, state.tableParams);
+	var res = await getAPI(SysFileApi).apiSysFilePagePost(params);
+	state.fileData = res.data.result?.items ?? [];
+	state.tableParams.total = res.data.result?.total;
+	state.loading = false;
+};
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.fileName = undefined;
+	state.queryParams.startTime = undefined;
+	state.queryParams.endTime = undefined;
+	handleQuery();
+};
+
+// 鎵撳紑涓婁紶椤甸潰
+const openUploadDialog = () => {
+	state.fileList = [];
+	state.dialogUploadVisible = true;
+};
+
+// 閫氳繃onChanne鏂规硶鑾峰緱鏂囦欢鍒楄〃
+const handleChange = (file: any, fileList: []) => {
+	state.fileList = fileList;
+};
+
+// 涓婁紶
+const uploadFile = async () => {
+	if (state.fileList.length < 1) return;
+	await getAPI(SysFileApi).apiSysFileUploadFilePostForm(state.fileList[0].raw);
+	handleQuery();
+	ElMessage.success('涓婁紶鎴愬姛');
+	state.dialogUploadVisible = false;
+};
+
+// 涓嬭浇
+const downloadFile = async (row: any) => {
+	// var res = await getAPI(SysFileApi).sysFileDownloadPost({ id: row.id });
+	var fileUrl = getFileUrl(row);
+	downloadByUrl({ url: fileUrl });
+};
+
+// 鍒犻櫎
+const delFile = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎鏂囦欢锛氥��${row.fileName}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysFileApi).apiSysFileDeletePost({ id: row.id });
+			handleQuery();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鎵撳紑鏂囦欢棰勮椤甸潰
+const openFilePreviewDialog = async (row: any) => {
+	if (row.suffix == '.pdf') {
+		state.fileName = `銆�${row.fileName}${row.suffix}銆慲;
+		state.pdfUrl = getFileUrl(row);
+		state.dialogPdfVisible = true;
+	} else if (row.suffix == '.docx') {
+		state.fileName = `銆�${row.fileName}${row.suffix}銆慲;
+		state.docxUrl = getFileUrl(row);
+		state.dialogDocxVisible = true;
+	} else if (row.suffix == '.xlsx') {
+		state.fileName = `銆�${row.fileName}${row.suffix}銆慲;
+		state.excelUrl = getFileUrl(row);
+		state.dialogXlsxVisible = true;
+	} else if (['.jpg', '.png', '.jpeg', '.bmp'].findIndex((e) => e == row.suffix) > -1) {
+		state.previewList = [getFileUrl(row)];
+		state.showViewer = true;
+	} else {
+		ElMessage.error('姝ゆ枃浠舵牸寮忎笉鏀寔棰勮');
+	}
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+	state.tableParams.pageSize = val;
+	handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+	state.tableParams.page = val;
+	handleQuery();
+};
+
+// 鑾峰彇鏂囦欢鍦板潃
+const getFileUrl = (row: SysFile): string => {
+	// 淇敼涓婁紶鏂囦欢鎵句笉鍒版枃浠剁殑闂 銆怑ditby shaocx,2024-05-22銆�
+	return row.url!;
+	// if (row.bucketName == 'Local') {
+	// 	return `/${row.filePath}/${row.id}${row.suffix}`;
+	// } else {
+	// 	return row.url!;
+	// }
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditSysFile = (row: any) => {
+	editSysFileRef.value?.openDialog(row);
+};
+
+// 鏂囦欢娓叉煋瀹屾垚
+const renderedHandler = () => {};
+// 鏂囦欢娓叉煋澶辫触
+const errorHandler = () => {};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/formDes/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/formDes/index.vue
new file mode 100644
index 0000000..dccacf6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/formDes/index.vue
@@ -0,0 +1,21 @@
+<template>
+	<div class="sys-formDes-container">
+		<v-form-designer class="form-designer" ref="vFormDesignRef"></v-form-designer>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysFormDes">
+import { ref } from 'vue';
+
+const vFormDesignRef = ref(null);
+</script>
+
+<style lang="scss" scoped>
+body {
+	margin: 0; // 鍘婚櫎椤甸潰鍨傜洿婊氬姩鏉�
+}
+
+.form-designer {
+	overflow: unset !important;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/job/component/JobScriptCode.ts b/LA24030_LuLiPackageLine_Web/src/views/system/job/component/JobScriptCode.ts
new file mode 100644
index 0000000..fc79984
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/job/component/JobScriptCode.ts
@@ -0,0 +1,48 @@
+export const JobScriptCode = `#region using
+
+using Furion;
+using Furion.Logging;
+using Furion.RemoteRequest.Extensions;
+using Furion.Schedule;
+using Microsoft.Extensions.DependencyInjection;
+using System;
+using System.Data;
+using System.Linq.Dynamic.Core;
+using System.Linq.Expressions;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using Yitter.IdGenerator;
+
+#endregion
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鍔ㄦ�佷綔涓氫换鍔�
+/// </summary>
+[JobDetail("浣犵殑浣滀笟缂栧彿")]
+public class DynamicJob : IJob
+{
+    private readonly IServiceProvider _serviceProvider;
+
+    public DynamicJob(IServiceProvider serviceProvider)
+    {
+        _serviceProvider = serviceProvider;
+    }
+
+    public async Task ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken)
+    {
+        using var serviceScope = _serviceProvider.CreateScope();
+        
+        // 鑾峰彇鐢ㄦ埛浠撳偍
+        // var rep = serviceScope.ServiceProvider.GetService<SqlSugarRepository<SysUser>>();
+
+        // 璇锋眰缃戝潃
+        // var result = await "http://www.baidu.com".GetAsStringAsync();
+        // Console.WriteLine(result);
+
+        // 鏃ュ織
+        // Log.Information("鏃ュ織娑堟伅");
+    }
+}`;
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/job/component/editJobDetail.vue b/LA24030_LuLiPackageLine_Web/src/views/system/job/component/editJobDetail.vue
new file mode 100644
index 0000000..adafe92
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/job/component/editJobDetail.vue
@@ -0,0 +1,261 @@
+<template>
+	<div class="sys-jobDetail-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="900px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> {{ props.title }} </span>
+				</div>
+			</template>
+			<el-tabs v-model="state.selectedTabName">
+				<el-tab-pane label="浣滀笟淇℃伅">
+					<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto" style="height: 500px">
+						<el-row :gutter="35">
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="浣滀笟缂栧彿" prop="jobId" :rules="[{ required: true, message: '浣滀笟缂栧彿涓嶈兘涓虹┖', trigger: 'blur' }]">
+									<el-input v-model="state.ruleForm.jobId" placeholder="浣滀笟缂栧彿" :disabled="isEdit" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="缁勫悕绉�" prop="groupName" :rules="[{ required: true, message: '缁勫悕绉颁笉鑳戒负绌�', trigger: 'blur' }]">
+									<el-input v-model="state.ruleForm.groupName" placeholder="缁勫悕绉�" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+								<el-form-item label="鍒涘缓绫诲瀷">
+									<el-radio-group v-model="state.ruleForm.createType" :disabled="isEdit">
+										<el-radio :value="JobCreateTypeEnum.NUMBER_0" v-show="isEdit">鍐呯疆</el-radio>
+										<el-radio :value="JobCreateTypeEnum.NUMBER_1">鑴氭湰</el-radio>
+										<el-radio :value="JobCreateTypeEnum.NUMBER_2">Http璇锋眰</el-radio>
+									</el-radio-group>
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鎵ц鏂瑰紡">
+									<el-radio-group v-model="state.ruleForm.concurrent">
+										<el-radio :value="true">骞惰</el-radio>
+										<el-radio :value="false">涓茶</el-radio>
+									</el-radio-group>
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" v-show="!isEdit && !isHttpCreateType">
+								<el-form-item prop="includeAnnotations">
+									<template v-slot:label>
+										<div>
+											鎵弿瑙﹀彂鍣�
+											<el-tooltip raw-content content="姝ゅ弬鏁板彧鍦ㄦ柊澧炰綔涓氭椂鐢熸晥<br/>鎵弿瀹氫箟鍦ㄤ綔涓氫笂鐨勮Е鍙戝櫒" placement="top">
+												<SvgIcon name="fa fa-question-circle-o" :size="16" style="vertical-align: middle" />
+											</el-tooltip>
+										</div>
+									</template>
+									<el-radio-group v-model="state.ruleForm.includeAnnotations">
+										<el-radio :value="true">鏄�</el-radio>
+										<el-radio :value="false">鍚�</el-radio>
+									</el-radio-group>
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+								<el-form-item label="鎻忚堪淇℃伅">
+									<el-input v-model="state.ruleForm.description" placeholder="鎻忚堪淇℃伅" clearable type="textarea" :autosize="{ minRows: 1, maxRows: 3 }" />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-if="!isHttpCreateType">
+								<el-form-item label="棰濆鏁版嵁">
+									<el-input v-model="state.ruleForm.properties" placeholder="棰濆鏁版嵁" clearable type="textarea" :autosize="{ minRows: 3, maxRows: 6 }" />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-if="isHttpCreateType">
+								<el-form-item label="璇锋眰鍦板潃">
+									<el-input v-model="state.httpJobMessage.requestUri" placeholder="璇锋眰鍦板潃" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-if="isHttpCreateType">
+								<el-form-item label="璇锋眰鏂规硶">
+									<el-radio-group v-model="state.httpJobMessage.httpMethod">
+										<el-radio :value="httpMethodDef.get">Get</el-radio>
+										<el-radio :value="httpMethodDef.post">Post</el-radio>
+										<el-radio :value="httpMethodDef.put">Put</el-radio>
+										<el-radio :value="httpMethodDef.delete">Delete</el-radio>
+									</el-radio-group>
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-if="isHttpCreateType">
+								<el-form-item label="璇锋眰鎶ユ枃浣�">
+									<el-input v-model="state.httpJobMessage.body" placeholder="璇锋眰鎶ユ枃浣�" clearable type="textarea" :autosize="{ minRows: 3, maxRows: 6 }" />
+								</el-form-item>
+							</el-col>
+						</el-row>
+					</el-form>
+				</el-tab-pane>
+				<el-tab-pane label="鑴氭湰浠g爜" :disabled="!isScriptCreateType">
+					<div ref="monacoEditorRef" style="width: 100%; height: 500px"></div>
+				</el-tab-pane>
+			</el-tabs>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditJobDetail">
+import { reactive, ref, computed } from 'vue';
+import * as monaco from 'monaco-editor';
+import { JobScriptCode } from './JobScriptCode';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysJobApi } from '/@/api-services/api';
+import { JobCreateTypeEnum, UpdateJobDetailInput } from '/@/api-services/models';
+
+// HttpMethod 瀹氫箟锛屾潵婧愬悗绔� HttpMethod 瀵硅薄鐨勫簭鍒楀寲
+// 涓嬮潰瀹氫箟鍐呭銆愪笉瑕併�戝姞绌烘牸锛屽惁鍒� getHttpJobMessage 涓� JSON.stringify(httpJobMessageNet.HttpMethod) 鍚庢棤娉曞尮閰�
+const httpMethodDef = {
+	get: '{"Method":"GET"}',
+	post: '{"Method":"POST"}',
+	put: '{"Method":"PUT"}',
+	delete: '{"Method":"DELETE"}',
+};
+
+const props = defineProps({
+	title: String,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const monacoEditorRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	selectedTabName: '0', // 閫変腑鐨� tab 椤�
+	ruleForm: {} as UpdateJobDetailInput,
+	httpJobMessage: { requestUri: '', httpMethod: httpMethodDef.get, body: '' } as HttpJobMessage,
+});
+
+// 鏄惁缂栬緫鐘舵��
+const isEdit = computed(() => {
+	return state.ruleForm.id != undefined && state.ruleForm.id > 0;
+});
+
+// 鏄惁鑴氭湰鍒涘缓绫诲瀷
+const isScriptCreateType = computed(() => {
+	return state.ruleForm.createType === JobCreateTypeEnum.NUMBER_1;
+});
+
+// 鏄惁Http璇锋眰鍒涘缓绫诲瀷
+const isHttpCreateType = computed(() => {
+	return state.ruleForm.createType === JobCreateTypeEnum.NUMBER_2;
+});
+
+// 鍒濆鍖杕onacoEditor瀵硅薄
+var monacoEditor: any = null;
+const initMonacoEditor = () => {
+	monacoEditor = monaco.editor.create(monacoEditorRef.value, {
+		theme: 'vs-dark', // 涓婚 vs vs-dark hc-black
+		value: '', // 榛樿鏄剧ず鐨勫��
+		language: 'csharp',
+		formatOnPaste: true,
+		wordWrap: 'on', //鑷姩鎹㈣锛屾敞鎰忓ぇ灏忓啓
+		wrappingIndent: 'indent',
+		folding: true, // 鏄惁鎶樺彔
+		foldingHighlight: true, // 鎶樺彔绛夐珮绾�
+		foldingStrategy: 'indentation', // 鎶樺彔鏂瑰紡  auto | indentation
+		showFoldingControls: 'always', // 鏄惁涓�鐩存樉绀烘姌鍙� always | mouSEOver
+		disableLayerHinting: true, // 绛夊浼樺寲
+		emptySelectionClipboard: false, // 绌洪�夋嫨鍓垏鏉�
+		selectionClipboard: false, // 閫夋嫨鍓垏鏉�
+		automaticLayout: true, // 鑷姩甯冨眬
+		codeLens: false, // 浠g爜闀滃ご
+		scrollBeyondLastLine: false, // 婊氬姩瀹屾渶鍚庝竴琛屽悗鍐嶆粴鍔ㄤ竴灞忓箷
+		colorDecorators: true, // 棰滆壊瑁呴グ鍣�
+		accessibilitySupport: 'auto', // 杈呭姪鍔熻兘鏀寔  "auto" | "off" | "on"
+		lineNumbers: 'on', // 琛屽彿 鍙栧�硷細 "on" | "off" | "relative" | "interval" | function
+		lineNumbersMinChars: 5, // 琛屽彿鏈�灏忓瓧绗�   number
+		//enableSplitViewResizing: false,
+		readOnly: false, //鏄惁鍙  鍙栧�� true | false
+	});
+};
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.selectedTabName = '0'; // 閲嶇疆涓虹涓�涓� tab 椤�
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+
+	// Http璇锋眰
+	if (row.id && state.ruleForm.createType === JobCreateTypeEnum.NUMBER_2) {
+		state.httpJobMessage = getHttpJobMessage(state.ruleForm.properties);
+	}
+
+	// 寤惰繜鎷垮�奸槻姝㈠彇涓嶅埌
+	setTimeout(() => {
+		if (monacoEditor == null) initMonacoEditor();
+		monacoEditor.setValue(row.id == undefined ? JobScriptCode : state.ruleForm.scriptCode);
+	}, 1);
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+
+		// 鑴氭湰鍒涘缓绫诲瀷
+		if (state.ruleForm.createType === JobCreateTypeEnum.NUMBER_1) {
+			state.ruleForm.scriptCode = monacoEditor.getValue();
+		} else {
+			state.ruleForm.scriptCode = '';
+		}
+
+		// Http璇锋眰鍒涘缓绫诲瀷
+		if (state.ruleForm.createType === JobCreateTypeEnum.NUMBER_2) {
+			// 灏� httpJobMessage 閲嶆柊灏佽锛屾寜鍚庣 HttpJob 搴忓垪鍖栬姹傦紝瀛楁瑕佸ぇ鍐欏紑澶�
+			// HttpJob 绾﹀畾璇诲彇灞炴�т负鈥淗ttpJob鈥濈殑鍊�
+			const httpJobPropValue = JSON.stringify({
+				RequestUri: state.httpJobMessage.requestUri,
+				HttpMethod: JSON.parse(state.httpJobMessage.httpMethod + ''),
+				Body: state.httpJobMessage.body,
+				ClientName: 'HttpJob',
+				EnsureSuccessStatusCode: true,
+			});
+			const prop = { HttpJob: httpJobPropValue };
+			state.ruleForm.properties = JSON.stringify(prop);
+		}
+
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysJobApi).apiSysJobUpdateJobDetailPost(state.ruleForm);
+		} else {
+			await getAPI(SysJobApi).apiSysJobAddJobDetailPost(state.ruleForm);
+		}
+		closeDialog();
+	});
+};
+
+// 鏍规嵁浠诲姟灞炴�ц幏鍙� HttpJobMessage
+const getHttpJobMessage = (properties: string | undefined | null): HttpJobMessage => {
+	if (properties === undefined || properties === null || properties === '') return {};
+
+	const propData = JSON.parse(properties);
+	const httpJobMessageNet = JSON.parse(propData['HttpJob']); // 鍚庣澶у啓寮�澶寸殑 HttpJobMessage
+
+	return {
+		requestUri: httpJobMessageNet.RequestUri,
+		httpMethod: JSON.stringify(httpJobMessageNet.HttpMethod),
+		body: httpJobMessageNet.Body,
+	};
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ httpMethodDef, openDialog, getHttpJobMessage });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/job/component/editJobTrigger.vue b/LA24030_LuLiPackageLine_Web/src/views/system/job/component/editJobTrigger.vue
new file mode 100644
index 0000000..5a3fd4b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/job/component/editJobTrigger.vue
@@ -0,0 +1,288 @@
+<template>
+	<div class="sys-jobTrigger-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> {{ props.title }} </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瑙﹀彂鍣ㄧ紪鍙�" prop="triggerId" :rules="[{ required: true, message: '瑙﹀彂鍣ㄧ紪鍙蜂笉鑳戒负绌�', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.triggerId" placeholder="瑙﹀彂鍣ㄧ紪鍙�" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瑙﹀彂鍣ㄧ被鍨�">
+							<el-select v-model="state.ruleForm.triggerType" style="width: 100%">
+								<el-option value="Furion.Schedule.PeriodTrigger" label="闂撮殧"></el-option>
+								<el-option value="Furion.Schedule.CronTrigger" label="Cron琛ㄨ揪寮�"></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" v-if="state.ruleForm.triggerType == 'Furion.Schedule.PeriodTrigger'">
+						<el-form-item label="闂撮殧鏃堕棿(ms)">
+							<el-input-number v-model="periodValue" placeholder="闂撮殧" :min="1000" :step="1000" class="w100" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-else>
+						<el-form-item label="Cron琛ㄨ揪寮�">
+							<el-input v-model="cronValue" placeholder="Cron琛ㄨ揪寮�">
+								<template #append>
+									<el-space :size="10" spacer="|">
+										<el-dropdown style="color: inherit" trigger="click" @command="macroDropDownCommand">
+											<el-button style="margin: 0px -10px 0px -20px; color: inherit"> Macro </el-button>
+											<template #dropdown>
+												<el-dropdown-menu>
+													<el-dropdown-item v-for="(item, index) in macroData" :key="index" :command="item">
+														<el-row style="width: 240px">
+															<el-col :span="9">{{ item.key }}</el-col>
+															<el-col :span="15">{{ item.description }}</el-col>
+														</el-row>
+													</el-dropdown-item>
+												</el-dropdown-menu>
+											</template>
+										</el-dropdown>
+										<el-button style="margin: 0px -20px 0px -10px; font-size: 14px" @click="state.showCronDialog = true">Cron琛ㄨ揪寮�</el-button>
+									</el-space>
+								</template>
+							</el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璧峰鏃堕棿">
+							<el-date-picker v-model="state.ruleForm.startTime" type="datetime" placeholder="璧峰鏃堕棿" style="width: 100%" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="缁撴潫鏃堕棿">
+							<el-date-picker v-model="state.ruleForm.endTime" type="datetime" placeholder="缁撴潫鏃堕棿" style="width: 100%" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏈�澶цЕ鍙戞鏁�">
+							<el-input-number v-model="state.ruleForm.maxNumberOfRuns" placeholder="鏈�澶цЕ鍙戞鏁�" class="w100" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏈�澶у嚭閿欐鏁�">
+							<el-input-number v-model="state.ruleForm.maxNumberOfErrors" placeholder="鏈�澶у嚭閿欐鏁�" class="w100" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閲嶈瘯娆℃暟">
+							<el-input-number v-model="state.ruleForm.numRetries" placeholder="閲嶈瘯娆℃暟" class="w100" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閲嶈瘯闂撮殧(ms)">
+							<el-input-number v-model="state.ruleForm.retryTimeout" placeholder="閲嶈瘯闂撮殧ms" class="w100" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绔嬪嵆鍚姩">
+							<el-radio-group v-model="state.ruleForm.startNow">
+								<el-radio :value="true">鏄�</el-radio>
+								<el-radio :value="false">鍚�</el-radio>
+							</el-radio-group>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍚姩鏃舵墽琛屼竴娆�">
+							<el-radio-group v-model="state.ruleForm.runOnStart">
+								<el-radio :value="true">鏄�</el-radio>
+								<el-radio :value="false">鍚�</el-radio>
+							</el-radio-group>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item>
+							<template v-slot:label>
+								<div>
+									閲嶇疆瑙﹀彂娆℃暟
+									<el-tooltip raw-content content="鏄惁鍦ㄥ惎鍔ㄦ椂閲嶇疆鏈�澶цЕ鍙戞鏁扮瓑浜庝竴娆$殑浣滀笟<br/>瑙e喅鍥犳寔涔呭寲鏁版嵁宸插畬鎴愪竴娆¤Е鍙戜絾鍚姩鏃朵笉鍐嶆墽琛岀殑闂" placement="top">
+										<SvgIcon name="fa fa-question-circle-o" :size="16" style="vertical-align: middle" />
+									</el-tooltip>
+								</div>
+							</template>
+							<el-radio-group v-model="state.ruleForm.resetOnlyOnce">
+								<el-radio :value="true">鏄�</el-radio>
+								<el-radio :value="false">鍚�</el-radio>
+							</el-radio-group>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鎻忚堪淇℃伅" prop="description">
+							<el-input v-model="state.ruleForm.description" placeholder="鎻忚堪淇℃伅" clearable type="textarea" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+
+		<el-dialog v-model="state.showCronDialog" draggable :close-on-click-modal="false" class="scrollbar">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> Cron琛ㄨ揪寮忕敓鎴愬櫒 </span>
+				</div>
+			</template>
+			<vcrontab @hide="state.showCronDialog = false" @fill="crontabFill" :expression="cronValue"></vcrontab>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditJobTrigger">
+import { reactive, ref, computed } from 'vue';
+import type { WritableComputedRef } from 'vue';
+import { ElMessage } from 'element-plus';
+
+import vcrontab from 'vcrontab-3';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysJobApi } from '/@/api-services/api';
+import { UpdateJobTriggerInput } from '/@/api-services/models';
+
+// Macro 鏍囪瘑绗︽暟鎹粨鏋�
+interface MacroData {
+	key: string;
+	description: string;
+}
+
+const props = defineProps({
+	title: String,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as UpdateJobTriggerInput,
+	showCronDialog: false,
+});
+
+const macroData: MacroData[] = reactive([
+	{ key: '@secondly', description: '姣忕 .0000000' },
+	{ key: '@minutely', description: '姣忓垎閽� 00' },
+	{ key: '@hourly', description: '姣忓皬鏃� 00:00' },
+	{ key: '@daily', description: '姣忓ぉ 00:00:00' },
+	{ key: '@monthly', description: '姣忔湀 1 鍙� 00:00:00' },
+	{ key: '@weekly', description: '姣忓懆鏃� 00:00:00' },
+	{ key: '@yearly', description: '姣忓勾 1 鏈� 1 鍙� 00:00:00' },
+	{ key: '@workday', description: '姣忓懆涓�鑷冲懆浜� 00:00:00' },
+]);
+
+// 闂撮殧鍛ㄦ湡鍊�
+const periodValue: WritableComputedRef<number | undefined> = computed({
+	get() {
+		const defaultValue: number | undefined = undefined;
+		// 瑙﹀彂鍣ㄥ懆鏈熶笉鏄懆鏈燂紝杩斿洖榛樿鍊�
+		if (state.ruleForm.triggerType != 'Furion.Schedule.PeriodTrigger') return defaultValue;
+		if (!state.ruleForm.args) return defaultValue;
+
+		const value: number | undefined = Number(state.ruleForm.args);
+		if (Number.isNaN(value)) return defaultValue;
+
+		return value;
+	},
+	set(value: number | undefined) {
+		state.ruleForm.args = String(value);
+	},
+});
+
+// cron 琛ㄨ揪寮忓��
+const cronValue: WritableComputedRef<string> = computed({
+	get() {
+		const defaultValue = '';
+		// 瑙﹀彂鍣ㄥ懆鏈熶笉鏄懆鏈燂紝杩斿洖榛樿鍊�
+		if (state.ruleForm.triggerType != 'Furion.Schedule.CronTrigger') return defaultValue;
+		if (!state.ruleForm.args) return defaultValue;
+		// Furion 鐨� cron 琛ㄨ揪寮忔湁2涓叆鍙�
+		const value = String(state.ruleForm.args);
+		const parameters = value.split(',');
+		if (parameters.length < 2) return defaultValue;
+		else if (parameters.length == 2) {
+			const cron = parameters[0].replace(new RegExp('"', 'gm'), '').trim();
+			return cron;
+		} else {
+			const temp = value.substring(0, value.lastIndexOf(','));
+			const cron = temp.replace(new RegExp('"', 'gm'), '').trim();
+			return cron;
+		}
+	},
+	set(value: string) {
+		if (state.ruleForm.args == value) return;
+		const newValue = value.trim();
+		// 绗簩涓弬鏁板�煎弬闃� https://furion.baiqian.ltd/docs/cron#2624-cronstringformat-%E6%A0%BC%E5%BC%8F%E5%8C%96
+		let cronStringFormatValue = -1;
+		// 濡傛灉鏄� Macro 鏍囪瘑绗︼紝浣跨敤榛樿鏍煎紡
+		if (newValue.startsWith('@'))
+			cronStringFormatValue = 0; // 榛樿鏍煎紡锛屼功鍐欓『搴忥細鍒� 鏃� 澶� 鏈� 鍛�
+		else {
+			if (newValue.split(' ').length == 6)
+				cronStringFormatValue = 2; // 甯︾鏍煎紡锛屼功鍐欓『搴忥細绉� 鍒� 鏃� 澶� 鏈� 鍛�
+			else cronStringFormatValue = 3; // 甯︾鍜屽勾鏍煎紡锛屼功鍐欓『搴忥細绉� 鍒� 鏃� 澶� 鏈� 鍛� 骞�
+		}
+		state.ruleForm.args = `"${newValue}",${cronStringFormatValue}`;
+	},
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		if (state.ruleForm.triggerType == 'Furion.Schedule.PeriodTrigger' && !periodValue.value) {
+			ElMessage.warning('闂撮殧鏃堕棿涓嶈兘涓虹┖');
+			return;
+		} else if (state.ruleForm.triggerType == 'Furion.Schedule.CronTrigger' && !cronValue.value) {
+			ElMessage.warning('Cron琛ㄨ揪寮忎笉鑳戒负绌�');
+			return;
+		}
+
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysJobApi).apiSysJobUpdateJobTriggerPost(state.ruleForm);
+		} else {
+			await getAPI(SysJobApi).apiSysJobAddJobTriggerPost(state.ruleForm);
+		}
+		closeDialog();
+	});
+};
+
+// cron绐椾綋纭畾鍚庡��
+const crontabFill = (value: string | null | undefined) => {
+	cronValue.value = value == null || value == undefined ? '' : value;
+};
+
+// macro 涓嬫媺閫変腑鍥炶皟
+const macroDropDownCommand = (item: MacroData) => {
+	cronValue.value = item.key;
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/job/component/jobCluster.vue b/LA24030_LuLiPackageLine_Web/src/views/system/job/component/jobCluster.vue
new file mode 100644
index 0000000..4dd8dba
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/job/component/jobCluster.vue
@@ -0,0 +1,53 @@
+<template>
+	<div class="sys-jobCluster-container">
+		<el-drawer v-model="state.isVisible" title="浣滀笟闆嗙兢" size="40%">
+			<el-table :data="state.jobClusterList" style="width: 100%; margin: 8px" v-loading="state.loading" border>
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+				<el-table-column prop="clusterId" label="闆嗙兢缂栧彿" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="status" label="鐘舵��" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag v-if="scope.row.status == 0"> 瀹曟満 </el-tag>
+						<el-tag v-if="scope.row.status == 1"> 宸ヤ綔涓� </el-tag>
+						<el-tag v-if="scope.row.status == 2"> 绛夊緟琚敜閱� </el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="description" label="鎻忚堪" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="updatedTime " label="淇敼鏃堕棿" align="center" show-overflow-tooltip />
+			</el-table>
+		</el-drawer>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysJobCluster">
+import { onMounted, reactive } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysJobApi } from '/@/api-services/api';
+import { SysJobCluster } from '/@/api-services/models';
+
+const state = reactive({
+	loading: false,
+	isVisible: false,
+	jobClusterList: [] as Array<SysJobCluster>,
+});
+
+onMounted(async () => {
+	handleQuery();
+});
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.loading = true;
+	var res = await getAPI(SysJobApi).apiSysJobJobClusterListGet();
+	state.jobClusterList = res.data.result ?? [];
+	state.loading = false;
+};
+
+// 鎵撳紑椤甸潰
+const openDrawer = () => {
+	state.isVisible = true;
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDrawer });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/job/dashboard.vue b/LA24030_LuLiPackageLine_Web/src/views/system/job/dashboard.vue
new file mode 100644
index 0000000..b8a593e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/job/dashboard.vue
@@ -0,0 +1,11 @@
+<template>
+	<div class="layout-padding"></div>
+</template>
+
+<script setup lang="ts" name="jobDashboard"></script>
+
+<style lang="scss" scoped>
+.layout-padding {
+	margin: 8px;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/job/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/job/index.vue
new file mode 100644
index 0000000..e276dc0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/job/index.vue
@@ -0,0 +1,534 @@
+<template>
+	<div class="sys-job-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+				<el-form-item label="浣滀笟缂栧彿">
+					<el-input v-model="state.queryParams.jobId" placeholder="浣滀笟缂栧彿" clearable />
+				</el-form-item>
+				<el-form-item label="鎻忚堪淇℃伅">
+					<el-input v-model="state.queryParams.description" placeholder="鎻忚堪淇℃伅" clearable />
+				</el-form-item>
+				<el-form-item>
+					<el-button-group>
+						<el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'sysJob:pageJobDetail'"> 鏌ヨ </el-button>
+						<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+					</el-button-group>
+				</el-form-item>
+				<el-form-item>
+					<el-button-group style="margin: 0px 12px">
+						<el-tooltip content="澧炲姞浣滀笟">
+							<el-button icon="ele-CirclePlus" @click="openAddJobDetail" v-auth="'sysJob:addJobDetail'"> </el-button>
+						</el-tooltip>
+						<el-tooltip content="鍚姩鎵�鏈変綔涓�">
+							<el-button icon="ele-VideoPlay" @click="startAllJob" />
+						</el-tooltip>
+						<el-tooltip content="鏆傚仠鎵�鏈変綔涓�">
+							<el-button icon="ele-VideoPause" @click="pauseAllJob" />
+						</el-tooltip>
+					</el-button-group>
+					<el-button-group style="margin: 0px 12px 0px 0px">
+						<el-tooltip content="寮哄埗鍞ら啋浣滀笟璋冨害鍣�">
+							<el-button icon="ele-AlarmClock" @click="cancelSleep" />
+						</el-tooltip>
+						<el-tooltip content="寮哄埗瑙﹀彂鎵�鏈変綔涓氭寔涔呭寲">
+							<el-button icon="ele-Connection" @click="persistAll" />
+						</el-tooltip>
+					</el-button-group>
+					<el-button icon="ele-Coin" @click="openJobCluster" plain> 闆嗙兢鎺у埗 </el-button>
+					<el-button icon="ele-Grid" @click="openJobDashboard" plain> 浠诲姟鐪嬫澘 </el-button>
+				</el-form-item>
+			</el-form>
+		</el-card>
+
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table :data="state.jobData" style="width: 100%" v-loading="state.loading" border>
+				<el-table-column type="expand" fixed>
+					<template #default="scope">
+						<el-table style="margin-left: 48px; width: calc(100% - 48px)" :data="(scope.row as JobDetailOutput).jobTriggers" border size="small">
+							<el-table-column type="index" label="搴忓彿" width="55" align="center" fixed />
+							<el-table-column prop="triggerId" label="瑙﹀彂鍣ㄧ紪鍙�" width="180" header-align="center" fixed show-overflow-tooltip />
+							<el-table-column prop="triggerType" label="绫诲瀷" width="200" header-align="center" show-overflow-tooltip />
+							<!-- <el-table-column prop="assemblyName" label="绋嬪簭闆�" show-overflow-tooltip /> -->
+							<el-table-column prop="args" label="鍙傛暟" header-align="center" show-overflow-tooltip />
+							<el-table-column prop="description" label="鎻忚堪" width="120" header-align="center" show-overflow-tooltip />
+							<el-table-column prop="status" label="鐘舵��" width="120" align="center" show-overflow-tooltip>
+								<template #default="scope">
+									<el-tag type="warning" effect="plain" v-if="(scope.row as SysJobTrigger).status == 0"> 绉帇 </el-tag>
+									<el-tag type="" effect="plain" v-if="(scope.row as SysJobTrigger).status == 1"> 灏辩华 </el-tag>
+									<el-tag type="success" effect="plain" v-if="(scope.row as SysJobTrigger).status == 2"> 姝e湪杩愯 </el-tag>
+									<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 3"> 鏆傚仠 </el-tag>
+									<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 4"> 闃诲 </el-tag>
+									<el-tag type="" effect="plain" v-if="(scope.row as SysJobTrigger).status == 5"> 鐢卞け璐ヨ繘鍏ュ氨缁� </el-tag>
+									<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 6"> 褰掓。 </el-tag>
+									<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 7"> 宕╂簝 </el-tag>
+									<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 8"> 瓒呴檺 </el-tag>
+									<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 9"> 鏃犺Е鍙戞椂闂� </el-tag>
+									<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 10"> 鏈惎鍔� </el-tag>
+									<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 11"> 鏈煡浣滀笟瑙﹀彂鍣� </el-tag>
+									<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 12"> 鏈煡浣滀笟澶勭悊绋嬪簭 </el-tag>
+								</template>
+							</el-table-column>
+							<el-table-column prop="startTime" label="璧峰鏃堕棿" width="100" align="center" show-overflow-tooltip />
+							<el-table-column prop="endTime" label="缁撴潫鏃堕棿" width="100" align="center" show-overflow-tooltip />
+							<el-table-column prop="lastRunTime" label="鏈�杩戣繍琛屾椂闂�" width="130" align="center" show-overflow-tooltip />
+							<el-table-column prop="nextRunTime" label="涓嬩竴娆¤繍琛屾椂闂�" width="130" align="center" show-overflow-tooltip />
+							<el-table-column prop="numberOfRuns" label="瑙﹀彂娆℃暟" width="100" align="center" show-overflow-tooltip />
+							<el-table-column prop="maxNumberOfRuns" label="鏈�澶цЕ鍙戞鏁�" width="120" align="center" show-overflow-tooltip />
+							<el-table-column prop="numberOfErrors" label="鍑洪敊娆℃暟" width="100" align="center" show-overflow-tooltip />
+							<el-table-column prop="maxNumberOfErrors" label="鏈�澶у嚭閿欐鏁�" width="120" align="center" show-overflow-tooltip />
+							<el-table-column prop="numRetries" label="閲嶈瘯娆℃暟" width="100" align="center" show-overflow-tooltip />
+							<el-table-column prop="retryTimeout" label="閲嶈瘯闂撮殧ms" width="100" align="center" show-overflow-tooltip />
+							<el-table-column prop="startNow" label="鏄惁绔嬪嵆鍚姩" width="100" align="center" show-overflow-tooltip>
+								<template #default="scope">
+									<el-tag v-if="(scope.row as SysJobTrigger).startNow == true"> 鏄� </el-tag>
+									<el-tag type="info" v-else> 鍚� </el-tag>
+								</template>
+							</el-table-column>
+							<el-table-column prop="runOnStart" label="鏄惁鍚姩鏃舵墽琛屼竴娆�" width="150" align="center" show-overflow-tooltip>
+								<template #default="scope">
+									<el-tag v-if="(scope.row as SysJobTrigger).runOnStart == true"> 鏄� </el-tag>
+									<el-tag type="info" v-else> 鍚� </el-tag>
+								</template>
+							</el-table-column>
+							<el-table-column prop="resetOnlyOnce" label="鏄惁閲嶇疆瑙﹀彂娆℃暟" width="120" align="center" show-overflow-tooltip>
+								<template #default="scope">
+									<el-tag v-if="(scope.row as SysJobTrigger).resetOnlyOnce == true"> 鏄� </el-tag>
+									<el-tag type="info" v-else> 鍚� </el-tag>
+								</template>
+							</el-table-column>
+							<el-table-column prop="updatedTime" label="淇敼鏃堕棿" width="130" align="center" show-overflow-tooltip />
+							<el-table-column label="鎿嶄綔" width="140" align="center" show-overflow-tooltip fixed="right">
+								<template #default="scope">
+									<el-tooltip content="鍚姩瑙﹀彂鍣�">
+										<el-button size="small" type="primary" icon="ele-VideoPlay" text @click="startTrigger(scope.row)" />
+									</el-tooltip>
+									<el-tooltip content="鏆傚仠瑙﹀彂鍣�">
+										<el-button size="small" type="primary" icon="ele-VideoPause" text @click="pauseTrigger(scope.row)" />
+									</el-tooltip>
+									<el-tooltip content="缂栬緫瑙﹀彂鍣�">
+										<el-button size="small" type="primary" icon="ele-Edit" text @click="openEditJobTrigger(scope.row)"> </el-button>
+									</el-tooltip>
+									<el-tooltip content="鍒犻櫎瑙﹀彂鍣�">
+										<el-button size="small" type="danger" icon="ele-Delete" text @click="delJobTrigger(scope.row)"> </el-button>
+									</el-tooltip>
+								</template>
+							</el-table-column>
+						</el-table>
+					</template>
+				</el-table-column>
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" fixed />
+				<el-table-column prop="jobDetail.jobId" label="浣滀笟缂栧彿" width="180" header-align="center" fixed>
+					<template #default="scope">
+						<div style="display: flex; align-items: center">
+							<el-icon><timer /></el-icon>
+							<span style="margin-left: 5px">{{ (scope.row as JobDetailOutput).jobDetail?.jobId }}</span>
+						</div>
+					</template>
+				</el-table-column>
+				<el-table-column prop="jobDetail.groupName" label="缁勫悕绉�" width="100" align="center" show-overflow-tooltip />
+				<el-table-column prop="jobDetail.jobType" label="绫诲瀷" width="200" header-align="center" show-overflow-tooltip />
+				<!-- <el-table-column prop="jobDetail.assemblyName" label="绋嬪簭闆�" show-overflow-tooltip /> -->
+				<el-table-column prop="jobDetail.description" label="鎻忚堪" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="jobDetail.concurrent" label="鎵ц鏂瑰紡" width="90" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag type="success" v-if="(scope.row as JobDetailOutput).jobDetail?.concurrent == true"> 骞惰 </el-tag>
+						<el-tag type="warning" v-else> 涓茶 </el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="jobDetail.createType" label="浣滀笟鍒涘缓绫诲瀷" width="110" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag type="info" v-if="(scope.row as JobDetailOutput).jobDetail?.createType == JobCreateTypeEnum.NUMBER_0"> 鍐呯疆 </el-tag>
+						<el-tag type="warning" v-if="(scope.row as JobDetailOutput).jobDetail?.createType == JobCreateTypeEnum.NUMBER_1"> 鑴氭湰 </el-tag>
+						<el-tag type="success" v-if="(scope.row as JobDetailOutput).jobDetail?.createType == JobCreateTypeEnum.NUMBER_2"> HTTP璇锋眰 </el-tag>
+					</template>
+				</el-table-column>
+				<!-- <el-table-column prop="jobDetail.includeAnnotations" label="鎵弿鐗规�цЕ鍙戝櫒" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag v-if="(scope.row as JobDetailOutput).jobDetail?.includeAnnotations == true"> 鏄� </el-tag>
+						<el-tag v-else> 鍚� </el-tag>
+					</template>
+				</el-table-column> -->
+				<el-table-column prop="jobDetail.updatedTime" label="淇敼鏃堕棿" width="130" align="center" show-overflow-tooltip />
+				<el-table-column prop="jobDetail.properties" label="棰濆鏁版嵁" header-align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<span v-if="(scope.row as JobDetailOutput).jobDetail?.createType != JobCreateTypeEnum.NUMBER_2"> {{ (scope.row as JobDetailOutput).jobDetail?.properties }} </span>
+						<div v-else style="text-align: center">
+							<el-popover placement="left" :width="400" trigger="hover">
+								<template #reference>
+									<el-tag effect="plain" type="info"> 璇锋眰鍙傛暟 </el-tag>
+								</template>
+								<el-descriptions title="Http 璇锋眰鍙傛暟" :column="1" size="small" :border="true">
+									<el-descriptions-item label="璇锋眰鍦板潃" label-align="right" label-class-name="job-index-descriptions-label-style">
+										{{ getHttpJobMessage((scope.row as JobDetailOutput).jobDetail?.properties).requestUri }}
+									</el-descriptions-item>
+									<el-descriptions-item label="璇锋眰鏂规硶" label-align="right" label-class-name="job-index-descriptions-label-style">
+										{{ getHttpMethodDesc(getHttpJobMessage((scope.row as JobDetailOutput).jobDetail?.properties).httpMethod) }}
+									</el-descriptions-item>
+									<el-descriptions-item label="璇锋眰鎶ユ枃浣�" label-align="right" label-class-name="job-index-descriptions-label-style">
+										{{ getHttpJobMessage((scope.row as JobDetailOutput).jobDetail?.properties).body }}
+									</el-descriptions-item>
+								</el-descriptions>
+							</el-popover>
+						</div>
+					</template>
+				</el-table-column>
+				<el-table-column label="鎿嶄綔" width="270" fixed="right" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tooltip content="鎵ц璁板綍">
+							<el-button size="small" type="primary" icon="ele-Timer" text @click="openJobTriggerRecord(scope.row)"> </el-button>
+						</el-tooltip>
+						<el-tooltip content="澧炲姞瑙﹀彂鍣�">
+							<el-button size="small" type="primary" icon="ele-CirclePlus" text @click="openAddJobTrigger(scope.row)"> </el-button>
+						</el-tooltip>
+						<el-tooltip content="鎵ц浣滀笟">
+							<el-button size="small" type="primary" icon="ele-CircleCheck" text @click="runJob(scope.row)" />
+						</el-tooltip>
+						<el-tooltip content="鍚姩浣滀笟">
+							<el-button size="small" type="primary" icon="ele-VideoPlay" text @click="startJob(scope.row)" />
+						</el-tooltip>
+						<el-tooltip content="鏆傚仠浣滀笟">
+							<el-button size="small" type="primary" icon="ele-VideoPause" text @click="pauseJob(scope.row)" />
+						</el-tooltip>
+						<el-tooltip content="鍙栨秷浣滀笟">
+							<el-button size="small" type="primary" icon="ele-CircleClose" text @click="cancelJob(scope.row)" />
+						</el-tooltip>
+						<el-tooltip content="缂栬緫浣滀笟">
+							<el-button size="small" type="primary" icon="ele-Edit" text @click="openEditJobDetail(scope.row)" v-auth="'sysJob:updateJobDetail'"> </el-button>
+						</el-tooltip>
+						<el-tooltip content="鍒犻櫎浣滀笟">
+							<el-button size="small" type="danger" icon="ele-Delete" text @click="delJobDetail(scope.row)" v-auth="'sysJob:deleteJobDetail'"> </el-button>
+						</el-tooltip>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="state.tableParams.page"
+				v-model:page-size="state.tableParams.pageSize"
+				:total="state.tableParams.total"
+				:page-sizes="[10, 20, 50, 100]"
+				small
+				background
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+		</el-card>
+
+		<el-drawer v-model="state.isVisibleDrawer" title="浣滀笟瑙﹀彂鍣ㄨ繍琛岃褰�" size="45%">
+			<el-card shadow="hover" style="margin: 8px; padding-bottom: 15px">
+				<el-table :data="state.triggerRecordData" style="width: 100%" v-loading="state.loading2" border>
+					<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+					<el-table-column prop="jobId" label="浣滀笟缂栧彿" min-width="120" header-align="center" show-overflow-tooltip />
+					<el-table-column prop="triggerId" label="瑙﹀彂鍣ㄧ紪鍙�" min-width="120" header-align="center" show-overflow-tooltip />
+					<el-table-column prop="numberOfRuns" label="褰撳墠杩愯娆℃暟" min-width="100" align="center" show-overflow-tooltip />
+					<el-table-column prop="lastRunTime" label="鏈�杩戣繍琛屾椂闂�" min-width="130" header-align="center" show-overflow-tooltip />
+					<el-table-column prop="nextRunTime" label="涓嬩竴娆¤繍琛屾椂闂�" min-width="130" header-align="center" show-overflow-tooltip />
+					<el-table-column prop="status" label="瑙﹀彂鍣ㄧ姸鎬�" align="center" show-overflow-tooltip>
+						<template #default="scope">
+							<el-tag type="warning" effect="plain" v-if="(scope.row as SysJobTrigger).status == 0"> 绉帇 </el-tag>
+							<el-tag type="" effect="plain" v-if="(scope.row as SysJobTrigger).status == 1"> 灏辩华 </el-tag>
+							<el-tag type="success" effect="plain" v-if="(scope.row as SysJobTrigger).status == 2"> 姝e湪杩愯 </el-tag>
+							<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 3"> 鏆傚仠 </el-tag>
+							<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 4"> 闃诲 </el-tag>
+							<el-tag type="" effect="plain" v-if="(scope.row as SysJobTrigger).status == 5"> 鐢卞け璐ヨ繘鍏ュ氨缁� </el-tag>
+							<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 6"> 褰掓。 </el-tag>
+							<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 7"> 宕╂簝 </el-tag>
+							<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 8"> 瓒呴檺 </el-tag>
+							<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 9"> 鏃犺Е鍙戞椂闂� </el-tag>
+							<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 10"> 鏈惎鍔� </el-tag>
+							<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 11"> 鏈煡浣滀笟瑙﹀彂鍣� </el-tag>
+							<el-tag type="danger" effect="plain" v-if="(scope.row as SysJobTrigger).status == 12"> 鏈煡浣滀笟澶勭悊绋嬪簭 </el-tag>
+						</template>
+					</el-table-column>
+					<el-table-column prop="result" label="鎵ц缁撴灉" header-align="center" show-overflow-tooltip />
+					<el-table-column prop="elapsedTime" label="鑰楁椂" min-width="80" align="center" show-overflow-tooltip />
+					<el-table-column prop="createdTime" label="鍒涘缓鏃堕棿" min-width="130" align="center" show-overflow-tooltip />
+				</el-table>
+				<el-pagination
+					v-model:currentPage="state.tableParams2.page"
+					v-model:page-size="state.tableParams2.pageSize"
+					:total="state.tableParams2.total"
+					:page-sizes="[10, 20, 50, 100]"
+					small
+					background
+					@size-change="handleSizeChange2"
+					@current-change="handleCurrentChange2"
+					layout="total, sizes, prev, pager, next, jumper"
+				/>
+			</el-card>
+		</el-drawer>
+
+		<EditJobDetail ref="editJobDetailRef" :title="state.editJobDetailTitle" @handleQuery="handleQuery" />
+		<EditJobTrigger ref="editJobTriggerRef" :title="state.editJobTriggerTitle" @handleQuery="handleQuery" />
+		<JobCluster ref="editJobClusterRef" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysJob">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { useRouter } from 'vue-router';
+import { Timer } from '@element-plus/icons-vue';
+import EditJobDetail from '/@/views/system/job/component/editJobDetail.vue';
+import EditJobTrigger from '/@/views/system/job/component/editJobTrigger.vue';
+import JobCluster from '/@/views/system/job/component/jobCluster.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysJobApi } from '/@/api-services/api';
+import { JobCreateTypeEnum, JobDetailOutput, SysJobTrigger } from '/@/api-services/models';
+
+const router = useRouter();
+const editJobDetailRef = ref<InstanceType<typeof EditJobDetail>>();
+const editJobTriggerRef = ref<InstanceType<typeof EditJobTrigger>>();
+const editJobClusterRef = ref<InstanceType<typeof JobCluster>>();
+const state = reactive({
+	loading: false,
+	jobData: [] as Array<JobDetailOutput>,
+	queryParams: {
+		jobId: undefined,
+		description: undefined,
+	},
+	tableParams: {
+		page: 1,
+		pageSize: 200,
+		total: 0 as any,
+	},
+	tableParams2: {
+		page: 1,
+		pageSize: 200,
+		total: 0 as any,
+	},
+	editJobDetailTitle: '',
+	editJobTriggerTitle: '',
+	loading2: false,
+	isVisibleDrawer: false,
+	triggerRecordData: [] as any,
+	currentJob: {} as any,
+});
+
+onMounted(async () => {
+	handleQuery();
+});
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.loading = true;
+	let params = Object.assign(state.queryParams, state.tableParams);
+	var res = await getAPI(SysJobApi).apiSysJobPageJobDetailPost(params);
+	state.jobData = res.data.result?.items ?? [];
+	state.tableParams.total = res.data.result?.total;
+	state.loading = false;
+};
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.jobId = undefined;
+	state.queryParams.description = undefined;
+	handleQuery();
+};
+
+// 鎵撳紑鏂板浣滀笟椤甸潰
+const openAddJobDetail = () => {
+	state.editJobDetailTitle = '娣诲姞浣滀笟';
+	editJobDetailRef.value?.openDialog({ concurrent: true, includeAnnotations: true, groupName: 'default', createType: JobCreateTypeEnum.NUMBER_2 });
+};
+
+// 鎵撳紑缂栬緫浣滀笟椤甸潰
+const openEditJobDetail = (row: JobDetailOutput) => {
+	state.editJobDetailTitle = '缂栬緫浣滀笟';
+	editJobDetailRef.value?.openDialog(row.jobDetail);
+};
+
+// 鍒犻櫎浣滀笟
+const delJobDetail = (row: JobDetailOutput) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎浣滀笟锛氥��${row.jobDetail?.jobId}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysJobApi).apiSysJobDeleteJobDetailPost({ jobId: row.jobDetail?.jobId });
+			handleQuery();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鎵撳紑鏂板瑙﹀彂鍣ㄩ〉闈�
+const openAddJobTrigger = (row: JobDetailOutput) => {
+	state.editJobTriggerTitle = '娣诲姞瑙﹀彂鍣�';
+	editJobTriggerRef.value?.openDialog({
+		jobId: row.jobDetail?.jobId,
+		retryTimeout: 1000,
+		startNow: true,
+		runOnStart: true,
+		resetOnlyOnce: true,
+		triggerType: 'Furion.Schedule.PeriodTrigger',
+	});
+};
+
+// 鎵撳紑缂栬緫瑙﹀彂鍣ㄩ〉闈�
+const openEditJobTrigger = (row: SysJobTrigger) => {
+	state.editJobTriggerTitle = '缂栬緫瑙﹀彂鍣�';
+	editJobTriggerRef.value?.openDialog(row);
+};
+
+// 鍒犻櫎瑙﹀彂鍣�
+const delJobTrigger = (row: SysJobTrigger) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎瑙﹀彂鍣細銆�${row.triggerId}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysJobApi).apiSysJobDeleteJobTriggerPost({ jobId: row.jobId, triggerId: row.triggerId });
+			handleQuery();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+	state.tableParams.pageSize = val;
+	handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+	state.tableParams.page = val;
+	handleQuery();
+};
+
+// 鍚姩鎵�鏈変綔涓�
+const startAllJob = async () => {
+	await getAPI(SysJobApi).apiSysJobStartAllJobPost();
+	ElMessage.success('鍚姩鎵�鏈変綔涓�');
+};
+
+// 鏆傚仠鎵�鏈変綔涓�
+const pauseAllJob = async () => {
+	await getAPI(SysJobApi).apiSysJobPauseAllJobPost();
+	ElMessage.success('鏆傚仠鎵�鏈変綔涓�');
+};
+
+// 鎵ц鏌愪釜浣滀笟
+const runJob = async (row: JobDetailOutput) => {
+	await getAPI(SysJobApi).apiSysJobRunJobPost({ jobId: row.jobDetail?.jobId });
+	ElMessage.success('鎵ц浣滀笟');
+};
+
+// 鍚姩鏌愪釜浣滀笟
+const startJob = async (row: JobDetailOutput) => {
+	await getAPI(SysJobApi).apiSysJobStartJobPost({ jobId: row.jobDetail?.jobId });
+	ElMessage.success('鍚姩浣滀笟');
+};
+
+// 鏆傚仠鏌愪釜浣滀笟
+const pauseJob = async (row: JobDetailOutput) => {
+	await getAPI(SysJobApi).apiSysJobPauseJobPost({ jobId: row.jobDetail?.jobId });
+	ElMessage.success('鏆傚仠浣滀笟');
+};
+
+// 鍙栨秷鏌愪釜浣滀笟
+const cancelJob = async (row: JobDetailOutput) => {
+	await getAPI(SysJobApi).apiSysJobCancelJobPost({ jobId: row.jobDetail?.jobId });
+	ElMessage.success('鍙栨秷浣滀笟');
+};
+
+// 鍚姩瑙﹀彂鍣�
+const startTrigger = async (row: SysJobTrigger) => {
+	await getAPI(SysJobApi).apiSysJobStartTriggerPost({ jobId: row.jobId, triggerId: row.triggerId });
+	ElMessage.success('鍚姩瑙﹀彂鍣�');
+};
+
+// 鏆傚仠瑙﹀彂鍣�
+const pauseTrigger = async (row: SysJobTrigger) => {
+	await getAPI(SysJobApi).apiSysJobPauseTriggerPost({ jobId: row.jobId, triggerId: row.triggerId });
+	ElMessage.success('鏆傚仠瑙﹀彂鍣�');
+};
+
+// 寮哄埗鍞ら啋浣滀笟璋冨害鍣�
+const cancelSleep = async () => {
+	await getAPI(SysJobApi).apiSysJobCancelSleepPost();
+	ElMessage.success('寮哄埗鍞ら啋浣滀笟璋冨害鍣�');
+};
+
+// 寮哄埗瑙﹀彂鎵�鏈変綔涓氭寔涔呭寲
+const persistAll = async () => {
+	await getAPI(SysJobApi).apiSysJobPersistAllPost();
+	ElMessage.success('寮哄埗瑙﹀彂鎵�鏈変綔涓氭寔涔呭寲');
+};
+
+// 鎵撳紑闆嗙兢鎺у埗椤甸潰
+const openJobCluster = () => {
+	editJobClusterRef.value?.openDrawer();
+};
+
+// 鎵撳紑浠诲姟鐪嬫澘
+const openJobDashboard = () => {
+	router.push({
+		path: '/platform/job/dashboard',
+	});
+};
+
+// 鏍规嵁浠诲姟灞炴�ц幏鍙� HttpJobMessage
+const getHttpJobMessage = (properties: string | undefined | null): HttpJobMessage => {
+	if (properties === undefined || properties === null || properties === '') return {};
+
+	const propData = JSON.parse(properties);
+	const httpJobMessageNet = JSON.parse(propData['HttpJob']); // 鍚庣澶у啓寮�澶寸殑 HttpJobMessage
+
+	return {
+		requestUri: httpJobMessageNet.RequestUri,
+		httpMethod: JSON.stringify(httpJobMessageNet.HttpMethod),
+		body: httpJobMessageNet.Body,
+	};
+};
+
+// 鑾峰彇璇锋眰鏂规硶鐨勫搴旀弿杩�
+const getHttpMethodDesc = (httpMethodStr: string | undefined | null): string => {
+	if (httpMethodStr === undefined || httpMethodStr === null || httpMethodStr === '') return '';
+
+	for (const key in editJobDetailRef.value?.httpMethodDef) {
+		if (editJobDetailRef.value?.httpMethodDef[key] === httpMethodStr) return key;
+	}
+	return '';
+};
+
+// 鎵撳紑浣滀笟瑙﹀彂鍣ㄨ繍琛岃褰�
+const openJobTriggerRecord = (row: any) => {
+	state.currentJob = row;
+	state.isVisibleDrawer = true;
+	handleQuery2();
+};
+
+// 浣滀笟瑙﹀彂鍣ㄨ繍琛岃褰曟煡璇㈡搷浣�
+const handleQuery2 = async () => {
+	state.loading2 = true;
+	let params = Object.assign({ jobId: state.currentJob.jobDetail.jobId }, state.tableParams2); //state.currentJob.jobTriggers[0].triggerId
+	var res = await getAPI(SysJobApi).apiSysJobPageJobTriggerRecordPost(params);
+	state.triggerRecordData = res.data.result?.items ?? [];
+	state.tableParams2.total = res.data.result?.total;
+	state.loading2 = false;
+};
+
+// 浣滀笟瑙﹀彂鍣ㄨ繍琛岃褰�-鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange2 = (val: number) => {
+	state.tableParams2.pageSize = val;
+	handleQuery2();
+};
+
+// 浣滀笟瑙﹀彂鍣ㄨ繍琛岃褰�-鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange2 = (val: number) => {
+	state.tableParams2.page = val;
+	handleQuery2();
+};
+</script>
+
+<style>
+/* 姝ゆ牱寮忎笉鑳戒负 scoped */
+.job-index-descriptions-label-style {
+	width: 80px;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/ldap/component/editLdap.vue b/LA24030_LuLiPackageLine_Web/src/views/system/ldap/component/editLdap.vue
new file mode 100644
index 0000000..682092a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/ldap/component/editLdap.vue
@@ -0,0 +1,143 @@
+锘�<template>
+	<div class="sysLdap-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="900px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> {{ props.title }} </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="涓绘満" prop="host">
+							<el-input v-model="state.ruleForm.host" placeholder="璇疯緭鍏ヤ富鏈�" maxlength="128" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绔彛" prop="port">
+							<el-input v-model="state.ruleForm.port" type="number" placeholder="璇疯緭鍏ョ鍙�" maxlength="5" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎼滅储鍩哄噯" prop="baseDn">
+							<el-input v-model="state.ruleForm.baseDn" placeholder="璇疯緭鍏ョ敤鎴锋悳绱㈠熀鍑�" maxlength="128" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="杩囨护瑙勫垯" prop="authFilter">
+							<el-input v-model="state.ruleForm.authFilter" placeholder="璇疯緭鍏ョ敤鎴疯繃婊よ鍒�" maxlength="128" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="缁戝畾DN" prop="bindDn">
+							<el-input v-model="state.ruleForm.bindDn" placeholder="璇疯緭鍏ユ湁鍩熺鐞嗘潈闄愮殑璐︽埛" maxlength="32" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="缁戝畾瀵嗙爜" prop="bindPass">
+							<el-input v-model="state.ruleForm.bindPass" placeholder="璇疯緭鍏ユ湁鍩熺鐞嗘潈闄愮殑瀵嗙爜" maxlength="512" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀛楁灞炴��" prop="bindAttrAccount">
+							<el-input v-model="state.ruleForm.bindAttrAccount" placeholder="璇疯緭鍏ュ煙璐﹀彿瀛楁灞炴�у��" maxlength="24" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐢ㄦ埛灞炴��" prop="bindAttrEmployeeId">
+							<el-input v-model="state.ruleForm.bindAttrEmployeeId" placeholder="璇疯緭鍏ョ粦瀹氱敤鎴稥mployeeId灞炴�э紒" maxlength="24" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="缁戝畾Code灞炴��" prop="bindAttrCode">
+							<el-input v-model="state.ruleForm.bindAttrCode" placeholder="璇疯緭鍏ョ粦瀹欳ode灞炴�э紒" maxlength="64" show-word-limit clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="Ldap鐗堟湰" prop="version">
+							<el-input v-model="state.ruleForm.version" type="number" placeholder="璇疯緭鍏dap鐗堟湰" maxlength="4" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐘舵��" prop="status">
+							<el-switch v-model="state.ruleForm.status" active-text="鏄�" inactive-text="鍚�" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup>
+import { ref, reactive } from 'vue';
+import type { FormRules } from 'element-plus';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysLdapApi } from '/@/api-services/api';
+
+const props = defineProps({
+	title: String,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as any,
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysLdapApi).apiSysLdapUpdatePost(state.ruleForm);
+		} else {
+			await getAPI(SysLdapApi).apiSysLdapAddPost(state.ruleForm);
+		}
+		closeDialog();
+	});
+};
+
+// 楠岃瘉瑙勫垯
+const rules = ref<FormRules>({
+	host: [{ required: true, message: '璇疯緭鍏ヤ富鏈猴紒', trigger: 'blur' }],
+	port: [{ required: true, message: '璇疯緭鍏ョ鍙o紒', trigger: 'blur' }],
+	baseDn: [{ required: true, message: '璇疯緭鍏ョ敤鎴锋悳绱㈠熀鍑嗭紒', trigger: 'blur' }],
+	bindDn: [{ required: true, message: '璇疯緭鍏ョ粦瀹欴N锛�', trigger: 'blur' }],
+	bindPass: [{ required: true, message: '璇疯緭鍏ョ粦瀹氬瘑鐮侊紒', trigger: 'blur' }],
+	authFilter: [{ required: true, message: '璇疯緭鍏ョ敤鎴疯繃婊よ鍒欙紒', trigger: 'blur' }],
+	version: [{ required: true, message: '璇疯緭鍏dap鐗堟湰锛�', trigger: 'blur' }],
+	bindAttrAccount: [{ required: true, message: '璇疯緭鍏ヨ处鍙风粦瀹氬瓧娈碉紒', trigger: 'blur' }],
+	bindAttrEmployeeId: [{ required: true, message: '缁戝畾鐢ㄦ埛EmployeeId灞炴�э紒', trigger: 'blur' }],
+	bindAttrCode: [{ required: true, message: '缁戝畾Code灞炴�э紒', trigger: 'blur' }],
+});
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/ldap/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/ldap/index.vue
new file mode 100644
index 0000000..cc0da7f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/ldap/index.vue
@@ -0,0 +1,185 @@
+锘�<template>
+	<div class="sysLdap-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+				<el-form-item label="鍏抽敭瀛�">
+					<el-input v-model="state.queryParams.searchKey" clearable="" placeholder="璇疯緭鍏ユā绯婃煡璇㈠叧閿瓧" />
+				</el-form-item>
+				<el-form-item label="涓绘満">
+					<el-input v-model="state.queryParams.host" clearable="" placeholder="璇疯緭鍏ヤ富鏈�" />
+				</el-form-item>
+				<el-form-item>
+					<el-button-group>
+						<el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'sysLdap:page'"> 鏌ヨ </el-button>
+						<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+					</el-button-group>
+				</el-form-item>
+				<el-form-item>
+					<el-button type="primary" icon="ele-Plus" @click="openAddSysLdap" v-auth="'sysLdap:add'"> 鏂板 </el-button>
+				</el-form-item>
+			</el-form>
+		</el-card>
+
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table :data="state.tableData" style="width: 100%" v-loading="state.loading" border="">
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+				<el-table-column prop="host" label="涓绘満" min-width="150" show-overflow-tooltip="" />
+				<el-table-column prop="port" label="绔彛" show-overflow-tooltip="" />
+				<el-table-column prop="baseDn" label="鐢ㄦ埛鎼滅储鍩哄噯" show-overflow-tooltip="" />
+				<el-table-column prop="bindDn" label="缁戝畾DN" show-overflow-tooltip="" />
+				<el-table-column prop="bindPass" label="缁戝畾瀵嗙爜" min-width="200" show-overflow-tooltip="" />
+				<el-table-column prop="authFilter" label="鐢ㄦ埛杩囨护瑙勫垯" show-overflow-tooltip="" />
+				<el-table-column prop="version" label="Ldap鐗堟湰" show-overflow-tooltip="" />
+				<el-table-column prop="status" label="鐘舵��" width="80" align="center" show-overflow-tooltip="">
+					<template #default="scope">
+						<el-tag v-if="scope.row.status"> 鏄� </el-tag>
+						<el-tag type="danger" v-else> 鍚� </el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column label="淇敼璁板綍" width="100" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<ModifyRecord :data="scope.row" />
+					</template>
+				</el-table-column>
+				<el-table-column label="鎿嶄綔" width="300" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('sysLdap:update') || auth('sysLdap:delete') || auth('sysLdap:syncUser') || auth('sysLdap:syncOrg')">
+					<template #default="scope">
+						<el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditSysLdap(scope.row)" v-auth="'sysLdap:update'"> 缂栬緫 </el-button>
+						<el-button icon="ele-Delete" size="small" text type="danger" @click="delSysLdap(scope.row)" v-auth="'sysLdap:delete'"> 鍒犻櫎 </el-button>
+						<el-button icon="ele-Refresh" size="small" text type="primary" @click="syncDomainUser(scope.row)" v-auth="'sysLdap:syncUser'"> 鍚屾鍩熻处鎴� </el-button>
+						<el-button icon="ele-Refresh" size="small" text type="primary" @click="syncDomainOrg(scope.row)" v-auth="'sysLdap:syncOrg'"> 鍚屾鍩熺粍缁� </el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="state.tableParams.page"
+				v-model:page-size="state.tableParams.pageSize"
+				:total="state.tableParams.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+		</el-card>
+
+		<EditLdap ref="editLdapRef" :title="state.dialogTitle" @handleQuery="handleQuery" />
+	</div>
+</template>
+
+<script lang="ts" setup="" name="sysLdap">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { auth } from '/@/utils/authFunction';
+import ModifyRecord from '/@/components/table/modifyRecord.vue';
+import EditLdap from './component/editLdap.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysLdapApi } from '/@/api-services/api';
+
+const editLdapRef = ref<InstanceType<typeof EditLdap>>();
+const state = reactive({
+	loading: false,
+	tableData: [] as any,
+	queryParams: {
+		searchKey: undefined,
+		host: undefined,
+	},
+	tableParams: {
+		page: 1,
+		pageSize: 200,
+		total: 0 as any,
+	},
+	dialogTitle: '',
+});
+
+onMounted(async () => {
+	handleQuery();
+});
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.loading = true;
+	let params = Object.assign(state.queryParams, state.tableParams);
+	var res = await getAPI(SysLdapApi).apiSysLdapPagePost(params);
+	state.tableData = res.data.result?.items ?? [];
+	state.tableParams.total = res.data.result?.total;
+	state.loading = false;
+};
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.searchKey = undefined;
+	state.queryParams.host = undefined;
+	handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddSysLdap = () => {
+	state.dialogTitle = '娣诲姞绯荤粺鍩熺櫥褰曚俊鎭厤缃�';
+	editLdapRef.value?.openDialog({});
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditSysLdap = (row: any) => {
+	state.dialogTitle = '缂栬緫绯荤粺鍩熺櫥褰曚俊鎭厤缃�';
+	editLdapRef.value?.openDialog(row);
+};
+
+// 鍒犻櫎
+const delSysLdap = (row: any) => {
+	ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ煙鐧诲綍淇℃伅閰嶇疆锛氥��${row.host}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysLdapApi).apiSysLdapDeletePost({ id: row.id });
+			handleQuery();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+	state.tableParams.pageSize = val;
+	handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+	state.tableParams.page = val;
+	handleQuery();
+};
+
+// 鍚屾鍩熻处鎴�
+const syncDomainUser = (row: any) => {
+	ElMessageBox.confirm(`纭畾瑕佸悓姝ュ煙璐︽埛鍚�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysLdapApi).apiSysLdapSyncUserPost({ id: row.id });
+			handleQuery();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鍚屾鍩熺粍缁�
+const syncDomainOrg = (row: any) => {
+	ElMessageBox.confirm(`纭畾瑕佸悓姝ュ煙缁勭粐鏋舵瀯鍚�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysLdapApi).apiSysLdapSyncOrgPost({ id: row.id });
+			handleQuery();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/menu/component/editMenu.vue b/LA24030_LuLiPackageLine_Web/src/views/system/menu/component/editMenu.vue
new file mode 100644
index 0000000..dbb2048
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/menu/component/editMenu.vue
@@ -0,0 +1,257 @@
+<template>
+	<div class="sys-menu-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> {{ props.title }} </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="涓婄骇鑿滃崟">
+							<el-cascader
+								:options="props.menuData"
+								:props="{ checkStrictly: true, emitPath: false, value: 'id', label: 'title' }"
+								placeholder="璇烽�夋嫨涓婄骇鑿滃崟"
+								clearable
+								class="w100"
+								v-model="state.ruleForm.pid"
+							>
+								<template #default="{ node, data }">
+									<span>{{ data.title }}</span>
+									<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
+								</template>
+							</el-cascader>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鑿滃崟绫诲瀷" prop="type" :rules="[{ required: true, message: '鑿滃崟绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-radio-group v-model="state.ruleForm.type">
+								<el-radio :value="1">鐩綍</el-radio>
+								<el-radio :value="2">鑿滃崟</el-radio>
+								<el-radio :value="3">鎸夐挳</el-radio>
+							</el-radio-group>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鑿滃崟鍚嶇О" prop="title" :rules="[{ required: true, message: '鑿滃崟鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.title" placeholder="鑿滃崟鍚嶇О" clearable />
+						</el-form-item>
+					</el-col>
+					<template v-if="state.ruleForm.type === 1 || state.ruleForm.type === 2">
+						<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+							<el-form-item label="璺敱鍚嶇О">
+								<el-input v-model="state.ruleForm.name" placeholder="璺敱鍚嶇О" clearable />
+							</el-form-item>
+						</el-col>
+						<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+							<el-form-item label="璺敱璺緞">
+								<el-input v-model="state.ruleForm.path" placeholder="璺敱璺緞" clearable />
+							</el-form-item>
+						</el-col>
+						<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+							<el-form-item label="缁勪欢璺緞">
+								<el-input :disabled="disabledCompUrl" v-model="state.ruleForm.component" placeholder="缁勪欢璺緞" clearable />
+							</el-form-item>
+						</el-col>
+						<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+							<el-form-item label="鑿滃崟鍥炬爣">
+								<IconSelector v-model="state.ruleForm.icon" :size="getGlobalComponentSize" placeholder="鑿滃崟鍥炬爣" type="all" />
+							</el-form-item>
+						</el-col>
+						<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+							<el-form-item label="閲嶅畾鍚�">
+								<el-input v-model="state.ruleForm.redirect" placeholder="閲嶅畾鍚戝湴鍧�" clearable />
+							</el-form-item>
+						</el-col>
+						<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+							<el-form-item label="閾炬帴鍦板潃">
+								<el-input v-model="state.ruleForm.outLink" placeholder="澶栭摼/鍐呭祵鏃堕摼鎺ュ湴鍧�" clearable />
+							</el-form-item>
+						</el-col>
+						<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+							<el-form-item label="鑿滃崟鎺掑簭">
+								<el-input-number v-model="state.ruleForm.orderNo" placeholder="鎺掑簭" class="w100" />
+							</el-form-item>
+						</el-col>
+						<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+							<el-form-item label="鏄惁闅愯棌">
+								<el-radio-group v-model="state.ruleForm.isHide">
+									<el-radio :value="true">闅愯棌</el-radio>
+									<el-radio :value="false">涓嶉殣钘�</el-radio>
+								</el-radio-group>
+							</el-form-item>
+						</el-col>
+						<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+							<el-form-item label="鏄惁缂撳瓨">
+								<el-radio-group v-model="state.ruleForm.isKeepAlive">
+									<el-radio :value="true">缂撳瓨</el-radio>
+									<el-radio :value="false">涓嶇紦瀛�</el-radio>
+								</el-radio-group>
+							</el-form-item>
+						</el-col>
+						<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+							<el-form-item label="鏄惁鍥哄畾">
+								<el-radio-group v-model="state.ruleForm.isAffix">
+									<el-radio :value="true">鍥哄畾</el-radio>
+									<el-radio :value="false">涓嶅浐瀹�</el-radio>
+								</el-radio-group>
+							</el-form-item>
+						</el-col>
+						<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+							<el-form-item label="鏄惁鍐呭祵">
+								<el-radio-group v-model="state.ruleForm.isIframe">
+									<el-radio :value="true">鍐呭祵</el-radio>
+									<el-radio :value="false">涓嶅唴宓�</el-radio>
+								</el-radio-group>
+							</el-form-item>
+						</el-col>
+					</template>
+					<template v-if="state.ruleForm.type === 3">
+						<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+							<el-form-item label="鏉冮檺鏍囪瘑">
+								<el-input v-model="state.ruleForm.permission" placeholder="鏉冮檺鏍囪瘑" clearable />
+							</el-form-item>
+						</el-col>
+						<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+							<el-form-item label="鑿滃崟鎺掑簭">
+								<el-input-number v-model="state.ruleForm.orderNo" placeholder="鎺掑簭" class="w100" />
+							</el-form-item>
+						</el-col>
+					</template>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁鍚敤">
+							<el-radio-group v-model="state.ruleForm.status">
+								<el-radio :value="1">鍚敤</el-radio>
+								<el-radio :value="2">涓嶅惎鐢�</el-radio>
+							</el-radio-group>
+						</el-form-item>
+					</el-col>
+
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"  v-if="state.ruleForm.type === 1 || state.ruleForm.type === 2">
+						<el-form-item label="甯姪鏂囨。鑿滃崟">
+							<el-radio-group v-model="state.ruleForm.ishelpDoc">
+								<el-radio :value="true">鏄�</el-radio>
+								<el-radio :value="false">鍚�</el-radio>
+							</el-radio-group>
+						</el-form-item>
+					</el-col>
+
+
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="澶囨敞">
+							<el-input v-model="state.ruleForm.remark" placeholder="璇疯緭鍏ュ娉ㄥ唴瀹�" clearable type="textarea" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditMenu">
+import { computed, reactive, ref, watch } from 'vue';
+import IconSelector from '/@/components/iconSelector/index.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import other from '/@/utils/other';
+import { SysMenuApi } from '/@/api-services/api';
+import { SysMenu, UpdateMenuInput } from '/@/api-services/models';
+
+const props = defineProps({
+	title: String,
+	menuData: Array<SysMenu>,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as UpdateMenuInput,
+});
+
+// 鑾峰彇鍏ㄥ眬缁勪欢澶у皬
+const getGlobalComponentSize = computed(() => {
+	return other.globalComponentSize();
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	debugger
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+
+		if(state.ruleForm.ishelpDoc===true && state.ruleForm.type==2){ //鏄彍鍗� 骞朵笖 閫変腑
+			state.ruleForm.component ="/main/WmsSystem/wmsSysHelpMenu/index";
+		    disabledCompUrl.value  = true
+		}
+		
+		if(state.ruleForm.ishelpDoc===true && state.ruleForm.type==1){ //鏄洰褰� 骞朵笖 閫変腑
+			state.ruleForm.component ="Layout";
+		    disabledCompUrl.value  = true
+		}
+
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysMenuApi).apiSysMenuUpdatePost(state.ruleForm);
+		} else {
+			await getAPI(SysMenuApi).apiSysMenuAddPost(state.ruleForm);
+		}
+		closeDialog();
+	});
+};
+
+const disabledCompUrl = ref(false)
+
+
+//鐩戝惉閫夋嫨-甯姪鏂囨。鑿滃崟   
+watch(
+	() => state.ruleForm.ishelpDoc,
+	(valNew,valOld) => {
+		console.log(valNew)
+		if(valNew===true && state.ruleForm.type==2){ //鏄彍鍗� 骞朵笖 閫変腑
+			state.ruleForm.component ="/main/WmsSystem/wmsSysHelpMenu/index";
+		    disabledCompUrl.value  = true
+		}else if(valNew===true && state.ruleForm.type==1){ //鏄洰褰� 骞朵笖 閫変腑
+			state.ruleForm.component ="Layout";
+		    disabledCompUrl.value  = true
+		}else{
+			if(state.ruleForm.component=="/main/WmsSystem/wmsSysHelpMenu/index"){
+				state.ruleForm.component ="";
+			}
+			state.ruleForm.component = state.ruleForm.component || "";
+		    disabledCompUrl.value  = false
+		}
+	},
+	{
+		deep: true,
+	}
+);
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/menu/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/menu/index.vue
new file mode 100644
index 0000000..c7313eb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/menu/index.vue
@@ -0,0 +1,136 @@
+<template>
+	<div class="sys-menu-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+				<el-form-item label="鑿滃崟鍚嶇О">
+					<el-input v-model="state.queryParams.title" placeholder="鑿滃崟鍚嶇О" clearable />
+				</el-form-item>
+				<el-form-item label="绫诲瀷">
+					<el-select v-model="state.queryParams.type" placeholder="绫诲瀷" clearable>
+						<el-option label="鐩綍" :value="1" />
+						<el-option label="鑿滃崟" :value="2" />
+						<el-option label="鎸夐挳" :value="3" />
+					</el-select>
+				</el-form-item>
+				<el-form-item>
+					<el-button-group>
+						<el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'sysMenu:list'"> 鏌ヨ </el-button>
+						<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+					</el-button-group>
+				</el-form-item>
+				<el-form-item>
+					<el-button type="primary" icon="ele-Plus" @click="openAddMenu" v-auth="'sysMenu:add'"> 鏂板 </el-button>
+				</el-form-item>
+			</el-form>
+		</el-card>
+
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table :data="state.menuData" v-loading="state.loading" row-key="id" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" border>
+				<el-table-column label="鑿滃崟鍚嶇О" header-align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<SvgIcon :name="scope.row.icon" />
+						<span class="ml10">{{ $t(scope.row.title) }}</span>
+					</template>
+				</el-table-column>
+				<el-table-column label="绫诲瀷" width="70" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag type="warning" v-if="scope.row.type === 1">鐩綍</el-tag>
+						<el-tag v-else-if="scope.row.type === 2">鑿滃崟</el-tag>
+						<el-tag type="info" v-else>鎸夐挳</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="path" label="璺敱璺緞" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="component" label="缁勪欢璺緞" align="center" show-overflow-tooltip />
+				<el-table-column prop="permission" label="鏉冮檺鏍囪瘑" align="center" show-overflow-tooltip />
+				<el-table-column prop="orderNo" label="鎺掑簭" width="70" align="center" show-overflow-tooltip />
+				<el-table-column label="鐘舵��" width="80" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag type="success" v-if="scope.row.status === 1">鍚敤</el-tag>
+						<el-tag type="danger" v-else>绂佺敤</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column label="淇敼璁板綍" width="100" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<ModifyRecord :data="scope.row" />
+					</template>
+				</el-table-column>
+				<el-table-column label="鎿嶄綔" width="140" fixed="right" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditMenu(scope.row)" v-auth="'sysMenu:update'"> 缂栬緫 </el-button>
+						<el-button icon="ele-Delete" size="small" text type="danger" @click="delMenu(scope.row)" v-auth="'sysMenu:delete'"> 鍒犻櫎 </el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+		</el-card>
+
+		<EditMenu ref="editMenuRef" :title="state.editMenuTitle" :menuData="state.menuData" @handleQuery="handleQuery" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysMenu">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import EditMenu from '/@/views/system/menu/component/editMenu.vue';
+import ModifyRecord from '/@/components/table/modifyRecord.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysMenuApi } from '/@/api-services/api';
+import { SysMenu } from '/@/api-services/models';
+
+const editMenuRef = ref<InstanceType<typeof EditMenu>>();
+const state = reactive({
+	loading: false,
+	menuData: [] as Array<SysMenu>,
+	queryParams: {
+		title: undefined,
+		type: undefined,
+	},
+	editMenuTitle: '',
+});
+
+onMounted(async () => {
+	handleQuery();
+});
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.loading = true;
+	var res = await getAPI(SysMenuApi).apiSysMenuListGet(state.queryParams.title, state.queryParams.type);
+	state.menuData = res.data.result ?? [];
+	state.loading = false;
+};
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.title = undefined;
+	state.queryParams.type = undefined;
+	handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddMenu = () => {
+	state.editMenuTitle = '娣诲姞鑿滃崟';
+	editMenuRef.value?.openDialog({ type: 2, isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, status: 1, orderNo: 100 });
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditMenu = (row: any) => {
+	state.editMenuTitle = '缂栬緫鑿滃崟';
+	editMenuRef.value?.openDialog(row);
+};
+
+// 鍒犻櫎褰撳墠琛�
+const delMenu = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎鑿滃崟锛氥��${row.title}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysMenuApi).apiSysMenuDeletePost({ id: row.id });
+			handleQuery();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/notice/component/editNotice.vue b/LA24030_LuLiPackageLine_Web/src/views/system/notice/component/editNotice.vue
new file mode 100644
index 0000000..c9a64a5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/notice/component/editNotice.vue
@@ -0,0 +1,93 @@
+<template>
+	<div class="sys-notice-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="900px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> {{ props.title }} </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏍囬" prop="title" :rules="[{ required: true, message: '鏍囬涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.title" placeholder="鏍囬" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绫诲瀷" prop="type" :rules="[{ required: true, message: '绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-select v-model="state.ruleForm.type" placeholder="绫诲瀷" filterable allow-create default-first-option style="width: 100%">
+								<el-option label="閫氱煡" :value="1" />
+								<el-option label="鍏憡" :value="2" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鍐呭" prop="content" :rules="[{ required: true, message: '鍐呭涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<Editor v-model:get-html="state.ruleForm.content" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysNoticeEdit">
+import { reactive, ref } from 'vue';
+import Editor from '/@/components/editor/index.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysNoticeApi } from '/@/api-services/api';
+import { UpdateNoticeInput } from '/@/api-services/models';
+
+const props = defineProps({
+	title: String,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as UpdateNoticeInput,
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysNoticeApi).apiSysNoticeUpdatePost(state.ruleForm);
+		} else {
+			await getAPI(SysNoticeApi).apiSysNoticeAddPost(state.ruleForm);
+		}
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/notice/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/notice/index.vue
new file mode 100644
index 0000000..b7c8db4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/notice/index.vue
@@ -0,0 +1,174 @@
+<template>
+	<div class="sys-notice-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+				<el-form-item label="鏍囬">
+					<el-input v-model="state.queryParams.title" placeholder="鏍囬" clearable />
+				</el-form-item>
+				<el-form-item label="绫诲瀷">
+					<el-select v-model="state.queryParams.type" placeholder="绫诲瀷" clearable>
+						<el-option label="閫氱煡" :value="1" />
+						<el-option label="鍏憡" :value="2" />
+					</el-select>
+				</el-form-item>
+				<el-form-item>
+					<el-button-group>
+						<el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'sysNotice:page'"> 鏌ヨ </el-button>
+						<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+					</el-button-group>
+				</el-form-item>
+				<el-form-item>
+					<el-button type="primary" icon="ele-Plus" @click="openAddNotice" v-auth="'sysNotice:add'"> 鏂板 </el-button>
+				</el-form-item>
+			</el-form>
+		</el-card>
+
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table :data="state.noticeData" v-loading="state.loading" border>
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+				<el-table-column prop="title" label="鏍囬" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="content" label="鍐呭" header-align="center" show-overflow-tooltip>
+					<template #default="scope"> {{ removeHtml(scope.row.content) }} </template>
+				</el-table-column>
+				<el-table-column prop="type" label="绫诲瀷" width="100" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag v-if="scope.row.type === 1"> 閫氱煡 </el-tag>
+						<el-tag type="warning" v-else> 鍏憡 </el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" align="center" show-overflow-tooltip />
+				<el-table-column prop="status" label="鐘舵��" width="100" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag type="info" v-if="scope.row.status === 1"> 宸插彂甯� </el-tag>
+						<el-tag type="warning" v-else> 鏈彂甯� </el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="publicUserName" label="鍙戝竷鑰�" align="center" show-overflow-tooltip />
+				<el-table-column prop="publicTime" label="鍙戝竷鏃堕棿" align="center" show-overflow-tooltip />
+				<el-table-column label="鎿嶄綔" width="200" fixed="right" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-button icon="ele-Position" size="small" text type="primary" @click="publicNotice(scope.row)" v-auth="'sysNotice:public'" :disabled="scope.row.status === 1"> 鍙戝竷 </el-button>
+						<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditNotice(scope.row)" v-auth="'sysNotice:update'" :disabled="scope.row.status === 1"> 缂栬緫 </el-button>
+						<el-button icon="ele-Delete" size="small" text type="danger" @click="delNotice(scope.row)" v-auth="'sysNotice:delete'" :disabled="scope.row.status === 1"> 鍒犻櫎 </el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="state.tableParams.page"
+				v-model:page-size="state.tableParams.pageSize"
+				:total="state.tableParams.total"
+				:page-sizes="[10, 20, 50, 100]"
+				small
+				background
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+		</el-card>
+
+		<EditNotice ref="editNoticeRef" :title="state.editNoticeTitle" @handleQuery="handleQuery" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysNotice">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import commonFunction from '/@/utils/commonFunction';
+import EditNotice from '/@/views/system/notice/component/editNotice.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysNoticeApi } from '/@/api-services/api';
+import { SysNotice } from '/@/api-services/models';
+
+const editNoticeRef = ref<InstanceType<typeof EditNotice>>();
+const { removeHtml } = commonFunction();
+const state = reactive({
+	loading: false,
+	noticeData: [] as Array<SysNotice>,
+	queryParams: {
+		title: undefined,
+		type: undefined,
+	},
+	tableParams: {
+		page: 1,
+		pageSize: 200,
+		total: 0 as any,
+	},
+	editNoticeTitle: '',
+});
+
+onMounted(async () => {
+	handleQuery();
+});
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.loading = true;
+	let params = Object.assign(state.queryParams, state.tableParams);
+	var res = await getAPI(SysNoticeApi).apiSysNoticePagePost(params);
+	state.noticeData = res.data.result?.items ?? [];
+	state.tableParams.total = res.data.result?.total;
+	state.loading = false;
+};
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.title = undefined;
+	state.queryParams.type = undefined;
+	handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddNotice = () => {
+	state.editNoticeTitle = '娣诲姞閫氱煡鍏憡';
+	editNoticeRef.value?.openDialog({ type: 1 });
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditNotice = (row: any) => {
+	state.editNoticeTitle = '缂栬緫閫氱煡鍏憡';
+	editNoticeRef.value?.openDialog(row);
+};
+
+// 鍒犻櫎
+const delNotice = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎閫氱煡鍏憡锛氥��${row.title}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysNoticeApi).apiSysNoticeDeletePost({ id: row.id });
+			handleQuery();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鍙戝竷
+const publicNotice = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍙戝竷閫氱煡鍏憡锛氥��${row.title}銆戯紝涓嶅彲鎾ら攢?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysNoticeApi).apiSysNoticePublicPost({ id: row.id });
+			handleQuery();
+			ElMessage.success('鍙戝竷鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+	state.tableParams.pageSize = val;
+	handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+	state.tableParams.page = val;
+	handleQuery();
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/onlineUser/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/onlineUser/index.vue
new file mode 100644
index 0000000..cf7dcef
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/onlineUser/index.vue
@@ -0,0 +1,173 @@
+<template>
+	<div class="sys-onlineUser-container">
+		<el-drawer v-model="state.isVisible" title="鍦ㄧ嚎鐢ㄦ埛鍒楄〃" size="45%">
+			<el-card shadow="hover" :body-style="{ paddingBottom: '0' }" style="margin: 8px">
+				<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+					<el-form-item label="璐﹀彿" prop="userName">
+						<el-input placeholder="璐﹀彿" clearable @keyup.enter="handleQuery" v-model="state.queryParams.userName" />
+					</el-form-item>
+					<el-form-item label="濮撳悕" prop="realName">
+						<el-input placeholder="濮撳悕" clearable @keyup.enter="handleQuery" v-model="state.queryParams.realName" />
+					</el-form-item>
+					<el-form-item>
+						<el-button-group>
+							<el-button type="primary" icon="ele-Search" @click="handleQuery"> 鏌ヨ </el-button>
+							<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+						</el-button-group>
+					</el-form-item>
+				</el-form>
+			</el-card>
+
+			<el-card shadow="hover" style="margin: 8px; padding-bottom: 15px">
+				<el-table :data="state.onlineUserList" style="width: 100%" v-loading="state.loading" border>
+					<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+					<el-table-column prop="userName" label="璐﹀彿" header-align="center" show-overflow-tooltip />
+					<el-table-column prop="realName" label="濮撳悕" header-align="center" show-overflow-tooltip />
+					<el-table-column prop="ip" label="IP鍦板潃" min-width="100" header-align="center" show-overflow-tooltip />
+					<el-table-column prop="browser" label="娴忚鍣�" header-align="center" show-overflow-tooltip />
+					<!-- <el-table-column prop="connectionId" label="杩炴帴Id" show-overflow-tooltip></el-table-column> -->
+					<el-table-column prop="time" label="鐧诲綍鏃堕棿" min-width="120" header-align="center" show-overflow-tooltip />
+					<el-table-column label="鎿嶄綔" width="81" fixed="right" align="center" show-overflow-tooltip>
+						<template #default="scope">
+							<el-button icon="ele-CircleCloseFilled" size="small" text type="danger" v-auth="'sysOnlineUser:forceOffline'" @click="forceOffline(scope.row)"> 涓嬬嚎 </el-button>
+						</template>
+					</el-table-column>
+				</el-table>
+				<el-pagination
+					v-model:currentPage="state.tableParams.page"
+					v-model:page-size="state.tableParams.pageSize"
+					:total="state.tableParams.total"
+					:page-sizes="[10, 20, 50, 100]"
+					small
+					background
+					@size-change="handleSizeChange"
+					@current-change="handleCurrentChange"
+					layout="total, sizes, prev, pager, next, jumper"
+				/>
+			</el-card>
+		</el-drawer>
+	</div>
+</template>
+
+<script lang="ts" setup>
+import { onMounted, reactive } from 'vue';
+import { ElMessageBox, ElNotification } from 'element-plus';
+import { throttle } from 'lodash-es';
+
+import { getAPI, clearAccessTokens } from '/@/utils/axios-utils';
+import { SysOnlineUserApi, SysAuthApi } from '/@/api-services/api';
+import { SysOnlineUser } from '/@/api-services/models';
+
+import { signalR } from './signalR';
+
+const state = reactive({
+	loading: false,
+	isVisible: false,
+	queryParams: {
+		userName: undefined,
+		realName: undefined,
+	},
+	tableParams: {
+		page: 1,
+		pageSize: 10,
+		total: 1 as any,
+	},
+	onlineUserList: [] as Array<SysOnlineUser>, // 鍦ㄧ嚎鐢ㄦ埛鍒楄〃
+	lastUserState: {
+		online: false,
+		realName: '',
+	}, // 鏈�鍚庢帴鏀剁殑鐢ㄦ埛鍙樻洿鐘舵�佷俊鎭�
+});
+
+onMounted(async () => {
+	// 鍦ㄧ嚎鐢ㄦ埛鍒楄〃
+	signalR.off('OnlineUserList');
+	signalR.on('OnlineUserList', (data: any) => {
+		state.onlineUserList = data.userList;
+		state.lastUserState = {
+			online: data.online,
+			realName: data.realName,
+		};
+		notificationThrottle();
+	});
+	// 寮哄埗涓嬬嚎
+	signalR.off('ForceOffline');
+	signalR.on('ForceOffline', async (data: any) => {
+		console.log('寮哄埗涓嬬嚎', data);
+		await signalR.stop();
+
+		await getAPI(SysAuthApi).apiSysAuthLogoutPost();
+		clearAccessTokens();
+	});
+});
+
+// 閫氱煡鎻愮ず鑺傛祦
+const notificationThrottle = throttle(
+	function () {
+		ElNotification({
+			title: '鎻愮ず',
+			message: `${state.lastUserState.online ? `銆�${state.lastUserState.realName}銆戜笂绾夸簡` : `銆�${state.lastUserState.realName}銆戠寮�浜哷}`,
+			type: `${state.lastUserState.online ? 'info' : 'error'}`,
+			position: 'bottom-right',
+		});
+	},
+	3000,
+	{
+		leading: true,
+		trailing: false,
+	}
+);
+
+// 鎵撳紑椤甸潰
+const openDrawer = () => {
+	state.isVisible = true;
+	handleQuery();
+};
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.loading = true;
+	let params = Object.assign(state.queryParams, state.tableParams);
+	var res = await getAPI(SysOnlineUserApi).apiSysOnlineUserPagePost(params);
+	state.onlineUserList = res.data.result?.items ?? [];
+	state.tableParams.total = res.data.result?.total;
+	state.loading = false;
+};
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.userName = undefined;
+	state.queryParams.realName = undefined;
+	handleQuery();
+};
+
+// 寮哄埗涓嬬嚎
+const forceOffline = async (row: any) => {
+	ElMessageBox.confirm(`纭畾韪㈡帀璐﹀彿锛氥��${row.realName}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await signalR.send('ForceOffline', { connectionId: row.connectionId }).catch(function (err: any) {
+				console.log(err);
+			});
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+	state.tableParams.pageSize = val;
+	handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+	state.tableParams.page = val;
+	handleQuery();
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDrawer });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/onlineUser/signalR.ts b/LA24030_LuLiPackageLine_Web/src/views/system/onlineUser/signalR.ts
new file mode 100644
index 0000000..0227cd6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/onlineUser/signalR.ts
@@ -0,0 +1,43 @@
+import * as SignalR from '@microsoft/signalr';
+import { ElNotification } from 'element-plus';
+import { getToken } from '/@/utils/axios-utils';
+
+// 鍒濆鍖朣ignalR瀵硅薄
+const connection = new SignalR.HubConnectionBuilder()
+	.configureLogging(SignalR.LogLevel.Information)
+	.withUrl(`${window.__env__.VITE_API_URL}/hubs/onlineUser?access_token=${getToken()}`, { transport: SignalR.HttpTransportType.WebSockets, skipNegotiation: true })
+	.withAutomaticReconnect({
+		nextRetryDelayInMilliseconds: () => {
+			return 5000; // 姣�5绉掗噸杩炰竴娆�
+		},
+	})
+	.build();
+
+connection.keepAliveIntervalInMilliseconds = 15 * 1000; // 蹇冭烦妫�娴�15s
+connection.serverTimeoutInMilliseconds = 30 * 60 * 1000; // 瓒呮椂鏃堕棿30m
+
+// 鍚姩杩炴帴
+connection.start().then(() => {
+	console.log('鍚姩杩炴帴');
+});
+// 鏂紑杩炴帴
+connection.onclose(async () => {
+	console.log('鏂紑杩炴帴');
+});
+// 閲嶈繛涓�
+connection.onreconnecting(() => {
+	ElNotification({
+		title: '鎻愮ず',
+		message: '鏈嶅姟鍣ㄥ凡鏂嚎...',
+		type: 'error',
+		position: 'bottom-right',
+	});
+});
+// 閲嶈繛鎴愬姛
+connection.onreconnected(() => {
+	console.log('閲嶈繛鎴愬姛');
+});
+
+connection.on('OnlineUserList', () => {});
+
+export { connection as signalR };
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/openAccess/component/editOpenAccess.vue b/LA24030_LuLiPackageLine_Web/src/views/system/openAccess/component/editOpenAccess.vue
new file mode 100644
index 0000000..0827550
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/openAccess/component/editOpenAccess.vue
@@ -0,0 +1,129 @@
+<template>
+	<div class="sys-open-access-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="600px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> {{ props.title }} </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="韬唤鏍囪瘑" prop="accessKey" :rules="[{ required: true, message: '韬唤鏍囪瘑涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.accessKey" placeholder="韬唤鏍囪瘑" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="瀵嗛挜" prop="accessSecret" :rules="[{ required: true, message: '瀵嗛挜涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.accessSecret" placeholder="瀵嗛挜" clearable>
+								<template #append>
+									<el-button @click="createSecret">鐢熸垚瀵嗛挜</el-button>
+								</template>
+							</el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="缁戝畾绉熸埛" prop="bindTenantId" :rules="[{ required: true, message: '缁戝畾绉熸埛涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-select v-model="state.ruleForm.bindTenantId" placeholder="缁戝畾绉熸埛" filterable default-first-option style="width: 100%" @change="tenantChange">
+								<el-option v-for="item in state.tenantData" :key="item.id" :label="item.name" :value="item.id" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="缁戝畾鐢ㄦ埛" prop="bindUserId" :rules="[{ required: true, message: '缁戝畾鐢ㄦ埛涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-select v-model="state.ruleForm.bindUserId" placeholder="缁戝畾鐢ㄦ埛" filterable default-first-option style="width: 100%">
+								<el-option v-for="item in state.userData" :key="item.id" :label="`${item.account}(${item.realName})`" :value="item.id" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysOpenAccessEdit">
+import { onMounted, reactive, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysOpenAccessApi, SysTenantApi } from '/@/api-services/api';
+import { SysUser, TenantOutput, UpdateOpenAccessInput } from '/@/api-services/models';
+
+const props = defineProps({
+	title: String,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as UpdateOpenAccessInput,
+	tenantData: [] as Array<TenantOutput>, // 绉熸埛鏁版嵁
+	userData: [] as Array<SysUser>, // 鐢ㄦ埛鏁版嵁
+});
+
+onMounted(async () => {
+	var res = await getAPI(SysTenantApi).apiSysTenantPagePost({ page: 1, pageSize: 10000 });
+	state.tenantData = res.data.result?.items ?? [];
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+
+	tenantChange(false);
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysOpenAccessApi).apiSysOpenAccessUpdatePost(state.ruleForm);
+		} else {
+			await getAPI(SysOpenAccessApi).apiSysOpenAccessAddPost(state.ruleForm);
+		}
+		closeDialog();
+	});
+};
+
+/**
+ * 绉熸埛鍊煎彉鏇�
+ * @param clearBindUserId 鏄惁娓呯┖缁戝畾鐢ㄦ埛
+ */
+const tenantChange = async (clearBindUserId: boolean = true) => {
+	var res = await getAPI(SysTenantApi).apiSysTenantUserListPost({ tenantId: state.ruleForm.bindTenantId ?? 0 });
+	state.userData = res.data.result ?? [];
+	if (clearBindUserId) {
+		state.ruleForm.bindUserId = undefined!;
+	}
+};
+
+/** 鐢熸垚瀵嗛挜 */
+const createSecret = async () => {
+	var res = await getAPI(SysOpenAccessApi).apiSysOpenAccessSecretPost();
+	state.ruleForm.accessSecret = res.data.result!;
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/openAccess/component/generateSign.vue b/LA24030_LuLiPackageLine_Web/src/views/system/openAccess/component/generateSign.vue
new file mode 100644
index 0000000..014c8e7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/openAccess/component/generateSign.vue
@@ -0,0 +1,153 @@
+<template>
+	<div class="sys-open-access-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="600px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Key /> </el-icon>
+					<span> 鐢熸垚绛惧悕 </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="韬唤鏍囪瘑" prop="accessKey">
+							<el-input v-model="state.ruleForm.accessKey" placeholder="韬唤鏍囪瘑" readonly />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="瀵嗛挜" prop="accessSecret">
+							<el-input v-model="state.ruleForm.accessSecret" placeholder="瀵嗛挜" readonly> </el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鎺ュ彛璇锋眰鍦板潃" prop="url">
+							<el-input v-model="state.ruleForm.url" placeholder="鎺ュ彛璇锋眰鍦板潃" class="input-with-select" clearable>
+								<template #prepend>
+									<el-select v-model="state.ruleForm.method" placeholder="璇锋眰鏂规硶" style="width: 100px">
+										<el-option label="Get" :value="HttpMethodEnum.NUMBER_0" />
+										<el-option label="Post" :value="HttpMethodEnum.NUMBER_1" />
+										<el-option label="Put" :value="HttpMethodEnum.NUMBER_2" />
+										<el-option label="Delete" :value="HttpMethodEnum.NUMBER_3" />
+										<el-option label="Patch" :value="HttpMethodEnum.NUMBER_4" />
+										<el-option label="Head" :value="HttpMethodEnum.NUMBER_5" />
+										<el-option label="Options" :value="HttpMethodEnum.NUMBER_6" />
+										<el-option label="Trace" :value="HttpMethodEnum.NUMBER_7" />
+										<el-option label="Connect" :value="HttpMethodEnum.NUMBER_8" />
+									</el-select>
+								</template>
+							</el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鏃堕棿鎴�" prop="timestamp">
+							<el-input v-model="state.ruleForm.timestamp" placeholder="杈撳叆鎴栬幏鍙栨椂闂存埑" clearable>
+								<template #append>
+									<el-button @click="getTimeStamp">鑾峰彇</el-button>
+								</template>
+							</el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="闅忔満鏁�" prop="nonce">
+							<el-input v-model="state.ruleForm.nonce" placeholder="杈撳叆鎴栬幏鍙栭殢鏈烘暟" clearable>
+								<template #append>
+									<el-button @click="getNonce">鑾峰彇</el-button>
+								</template>
+							</el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="绛惧悕" prop="sign">
+							<el-input v-model="state.sign" placeholder="濉啓淇℃伅鍚庤嚜鍔ㄧ敓鎴�" readonly> </el-input>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysOpenAccessEdit">
+import { reactive, ref, watch } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysOpenAccessApi } from '/@/api-services/api';
+import { GenerateSignatureInput, HttpMethodEnum } from '/@/api-services/models';
+
+const props = defineProps({
+	title: String,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as GenerateSignatureInput,
+	sign: '', // 鐢熸垚鐨勭鍚�
+});
+
+watch([() => state.ruleForm.method, () => state.ruleForm.url, () => state.ruleForm.timestamp, () => state.ruleForm.nonce], () => {
+	if (
+		state.ruleForm.method == undefined ||
+		state.ruleForm.method == null ||
+		!state.ruleForm.url ||
+		!state.ruleForm.timestamp ||
+		!state.ruleForm.nonce ||
+		/^\d+$/.test(state.ruleForm.timestamp as unknown as string) == false // 鏃堕棿鎴冲繀椤讳负鏁板瓧
+	) {
+		state.sign = '';
+		return;
+	}
+
+	generateSign();
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = {
+		accessKey: row?.accessKey,
+		accessSecret: row?.accessSecret,
+		method: HttpMethodEnum.NUMBER_0,
+		url: '',
+	};
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+/** 鐢熸垚瀵嗛挜 */
+const createSecret = async () => {
+	var res = await getAPI(SysOpenAccessApi).apiSysOpenAccessSecretPost();
+	state.ruleForm.accessSecret = res.data.result!;
+};
+
+/** 鑾峰彇褰撳墠鏃堕棿鎴筹紙绮剧‘鍒扮锛� */
+const getTimeStamp = () => {
+	const timestamp = Math.floor(Date.now() / 1000);
+	state.ruleForm.timestamp = timestamp;
+};
+
+/** 鑾峰彇闅忔満鏁� */
+const getNonce = () => {
+	var nonce = '';
+	for (var i = 0; i < 6; i++) {
+		nonce += Math.floor(Math.random() * 10);
+	}
+	state.ruleForm.nonce = nonce;
+};
+
+/** 鐢熸垚绛惧悕 */
+const generateSign = async () => {
+	var res = await getAPI(SysOpenAccessApi).apiSysOpenAccessGenerateSignaturePost(state.ruleForm);
+	state.sign = res.data.result!;
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
+
+<style lang="scss" scoped>
+:deep(.input-with-select) {
+	.el-input-group__prepend {
+		background-color: var(--el-fill-color-blank);
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/openAccess/component/helpView.vue b/LA24030_LuLiPackageLine_Web/src/views/system/openAccess/component/helpView.vue
new file mode 100644
index 0000000..5ff1334
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/openAccess/component/helpView.vue
@@ -0,0 +1,102 @@
+<template>
+	<div class="sys-open-access-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="900px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-QuestionFilled /> </el-icon>
+					<span> 璇存槑 </span>
+				</div>
+			</template>
+			<div class="text-content">
+				<h2>OpenAPI 浣跨敤</h2>
+				<ul>
+					<li>
+						鍦ㄩ渶瑕佷娇鐢� Signature 韬唤楠岃瘉鐨� Api 涓创涓�
+						<p><el-tag>[Authorize(AuthenticationSchemes = SignatureAuthenticationDefaults.AuthenticationScheme)]</el-tag></p>
+					</li>
+					<li>
+						濡傛灉 Api 闇�瑕佷繚鐣� Jwt 鏂瑰紡鐨勮韩浠介獙璇侊紝鍙创涓�
+						<p><el-tag>[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme + "," + SignatureAuthenticationDefaults.AuthenticationScheme)]</el-tag></p>
+					</li>
+					<li>
+						閫氳繃瀵硅姹傜殑绛惧悕锛屽彲浠ヨ揪鍒颁互涓嬬洰鐨勶細
+						<ul>
+							<li>鍏嶇櫥褰曡瘑鍒闂帴鍙g敤鎴风殑韬唤</li>
+							<li>闃叉娼滃湪鐨勯噸鏀炬敾鍑�</li>
+						</ul>
+					</li>
+				</ul>
+				<el-divider />
+				<h2>OpenAPI 绛惧悕娴佺▼</h2>
+				瀹㈡埛绔湪璇锋眰鏃讹紝闇�瑕佹寜鐓у涓嬫楠ょ敓鎴愮鍚� Signature锛屽苟娣诲姞鍏叡鍙傛暟锛�
+				<h3>鍏叡璇锋眰鍙傛暟</h3>
+				<p>鍦ㄥ師濮嬭姹傜殑鍩虹涓婃坊鍔� Header 璇锋眰鍙傛暟</p>
+				<ul>
+					<li><el-tag effect="plain">accessKey</el-tag>锛氳韩浠芥爣璇�</li>
+					<li><el-tag effect="plain">timestamp</el-tag>锛氭椂闂存埑锛岀簿纭埌绉�</li>
+					<li><el-tag effect="plain">nonce</el-tag>锛氬敮涓�闅忔満鏁帮紝寤鸿涓轰竴涓�6浣嶇殑闅忔満鏁�</li>
+					<li><el-tag effect="plain">sign</el-tag>锛氱鍚嶆暟鎹紙瑙佲�滆绠楃鍚嶁�濋儴鍒嗭級</li>
+				</ul>
+				<h3>璁$畻绛惧悕</h3>
+				<ul>
+					<li>
+						鎸夌収濡備笅椤哄簭瀵硅姹備腑鐨勫弬鏁拌繘琛屾帓搴忥紝鍚勪釜鍙傛暟閫氳繃&杩涜鎷兼帴锛堜腑闂翠笉鍚┖鏍硷級锛�
+						<p><el-tag>method & url & accessKey & timestamp & nonce</el-tag></p>
+						<ul>
+							<li><el-tag effect="plain">method</el-tag> 闇�瑕佸ぇ鍐欙紝濡傦細GET</li>
+							<li><el-tag effect="plain">url</el-tag> 鍘婚櫎鍗忚銆佸煙鍚嶃�佸弬鏁帮紝浠� / 寮�澶达紝濡傦細/api/demo/helloWord</li>
+						</ul>
+					</li>
+					<li>浣跨敤 HMAC-SHA256 鍗忚鍒涘缓鍩轰簬鍝堝笇鐨勬秷鎭韩浠介獙璇佷唬鐮� (HMAC)锛屼互 <el-tag effect="plain">accessSecret</el-tag> 浣滀负瀵嗛挜锛屽涓婇潰鎷兼帴鐨勫弬鏁拌繘琛岃绠楃鍚嶏紝鎵�寰楃鍚嶈繘琛� Base-64 缂栧彿</li>
+				</ul>
+			</div>
+			<div class="el-alert el-alert--info is-light">
+				HMAC-SHA256 鍦ㄧ嚎璁$畻锛�
+				<el-link href="https://1024tools.com/hmac" target="_blank" type="primary">https://1024tools.com/hmac</el-link>
+			</div>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysOpenAccessHelpView">
+import { reactive } from 'vue';
+
+const state = reactive({
+	isShowDialog: false,
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = () => {
+	state.isShowDialog = true;
+};
+
+// // 鍏抽棴
+// const close = () => {
+// 	state.isShowDialog = false;
+// };
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
+<style scoped lang="scss">
+.text-content {
+	h1 {
+		margin: 8px 0;
+	}
+	h2 {
+		margin: 8px 0;
+	}
+	h3 {
+		margin: 8px 0;
+	}
+	p {
+		margin: 8px 0;
+	}
+	ul {
+		padding: 0 0 0 30px;
+		li {
+			margin: 8px 0;
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/openAccess/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/openAccess/index.vue
new file mode 100644
index 0000000..3114bca
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/openAccess/index.vue
@@ -0,0 +1,157 @@
+<template>
+	<div class="sys-open-access-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+				<el-form-item label="韬唤鏍囪瘑">
+					<el-input v-model="state.queryParams.accessKey" placeholder="韬唤鏍囪瘑" clearable />
+				</el-form-item>
+				<el-form-item>
+					<el-button-group>
+						<el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'sysOpenAccess:page'"> 鏌ヨ </el-button>
+						<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+					</el-button-group>
+				</el-form-item>
+				<el-form-item>
+					<el-button type="primary" icon="ele-Plus" @click="openAddOpenAccess" v-auth="'sysOpenAccess:add'"> 鏂板 </el-button>
+					<el-button icon="ele-QuestionFilled" @click="openHelp"> 璇存槑 </el-button>
+				</el-form-item>
+			</el-form>
+		</el-card>
+
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table :data="state.openAccessData" style="width: 100%" v-loading="state.loading" border>
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+				<el-table-column prop="accessKey" label="韬唤鏍囪瘑" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="accessSecret" label="瀵嗛挜" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="bindUserAccount" label="缁戝畾鐢ㄦ埛璐﹀彿" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="bindTenantName" label="缁戝畾绉熸埛鍚嶇О" header-align="center" show-overflow-tooltip />
+				<el-table-column label="淇敼璁板綍" width="100" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<ModifyRecord :data="scope.row" />
+					</template>
+				</el-table-column>
+				<el-table-column label="鎿嶄綔" width="200" fixed="right" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditOpenAccess(scope.row)" v-auth="'sysOpenAccess:update'" :disabled="scope.row.status === 1"> 缂栬緫 </el-button>
+						<el-button icon="ele-Delete" size="small" text type="danger" @click="delOpenAccess(scope.row)" v-auth="'sysOpenAccess:delete'" :disabled="scope.row.status === 1"> 鍒犻櫎 </el-button>
+						<el-button size="small" text @click="openGenerateSign(scope.row)"> 鐢熸垚绛惧悕 </el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="state.tableParams.page"
+				v-model:page-size="state.tableParams.pageSize"
+				:total="state.tableParams.total"
+				:page-sizes="[10, 20, 50, 100]"
+				small
+				background
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+		</el-card>
+
+		<EditOpenAccess ref="editOpenAccessRef" :title="state.editOpenAccessTitle" @handleQuery="handleQuery" />
+		<HelpView ref="helpViewRef" />
+		<GenerateSign ref="generateSignRef" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysOpenAccess">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import EditOpenAccess from '/@/views/system/openAccess/component/editOpenAccess.vue';
+import HelpView from '/@/views/system/openAccess/component/helpView.vue';
+import ModifyRecord from '/@/components/table/modifyRecord.vue';
+import GenerateSign from '/@/views/system/openAccess/component/generateSign.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysOpenAccessApi } from '/@/api-services/api';
+import { OpenAccessOutput } from '/@/api-services/models';
+
+const editOpenAccessRef = ref<InstanceType<typeof EditOpenAccess>>();
+const helpViewRef = ref<InstanceType<typeof HelpView>>();
+const generateSignRef = ref<InstanceType<typeof GenerateSign>>();
+const state = reactive({
+	loading: false,
+	openAccessData: [] as Array<OpenAccessOutput>,
+	queryParams: {
+		accessKey: undefined,
+	},
+	tableParams: {
+		page: 1,
+		pageSize: 200,
+		total: 0 as any,
+	},
+	editOpenAccessTitle: '',
+});
+
+onMounted(async () => {
+	handleQuery();
+});
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.loading = true;
+	let params = Object.assign(state.queryParams, state.tableParams);
+	var res = await getAPI(SysOpenAccessApi).apiSysOpenAccessPagePost(params);
+	state.openAccessData = res.data.result?.items ?? [];
+	state.tableParams.total = res.data.result?.total;
+	state.loading = false;
+};
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.accessKey = undefined;
+	handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddOpenAccess = () => {
+	state.editOpenAccessTitle = '娣诲姞寮�鏀炬帴鍙h韩浠�';
+	editOpenAccessRef.value?.openDialog({ type: 1 });
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditOpenAccess = (row: any) => {
+	state.editOpenAccessTitle = '缂栬緫寮�鏀炬帴鍙h韩浠�';
+	editOpenAccessRef.value?.openDialog(row);
+};
+
+// 鍒犻櫎
+const delOpenAccess = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎寮�鏀炬帴鍙h韩浠斤細銆�${row.accessKey}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysOpenAccessApi).apiSysOpenAccessDeletePost({ id: row.id });
+			handleQuery();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+	state.tableParams.pageSize = val;
+	handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+	state.tableParams.page = val;
+	handleQuery();
+};
+
+// 鎵撳紑璇存槑椤甸潰
+const openHelp = () => {
+	helpViewRef.value?.openDialog();
+};
+
+// 鎵撳紑鐢熸垚绛惧悕
+const openGenerateSign = (row: any) => {
+	generateSignRef.value?.openDialog(row);
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/org/component/editOrg.vue b/LA24030_LuLiPackageLine_Web/src/views/system/org/component/editOrg.vue
new file mode 100644
index 0000000..c213718
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/org/component/editOrg.vue
@@ -0,0 +1,138 @@
+<template>
+	<div class="sys-org-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> {{ props.title }} </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="涓婄骇鏈烘瀯">
+							<el-cascader
+								:options="props.orgData"
+								:props="{ checkStrictly: true, emitPath: false, value: 'id', label: 'name' }"
+								placeholder="璇烽�夋嫨涓婄骇鏈烘瀯"
+								clearable
+								class="w100"
+								v-model="state.ruleForm.pid"
+							>
+								<template #default="{ node, data }">
+									<span>{{ data.name }}</span>
+									<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
+								</template>
+							</el-cascader>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鏈烘瀯鍚嶇О" prop="name" :rules="[{ required: true, message: '鏈烘瀯鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.name" placeholder="鏈烘瀯鍚嶇О" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏈烘瀯缂栧彿" prop="code" :rules="[{ required: true, message: '鏈烘瀯缂栧彿涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.code" placeholder="鏈烘瀯缂栧彿" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绾у埆">
+							<el-input-number v-model="state.ruleForm.level" placeholder="绾у埆" class="w100" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鏈烘瀯绫诲瀷">
+							<el-select v-model="state.ruleForm.type" filterable clearable class="w100">
+								<el-option v-for="item in state.orgTypeList" :key="item.value" :label="item.value" :value="item.code" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎺掑簭">
+							<el-input-number v-model="state.ruleForm.orderNo" placeholder="鎺掑簭" class="w100" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐘舵��">
+							<el-radio-group v-model="state.ruleForm.status">
+								<el-radio :value="1">鍚敤</el-radio>
+								<el-radio :value="2">绂佺敤</el-radio>
+							</el-radio-group>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="澶囨敞">
+							<el-input v-model="state.ruleForm.remark" placeholder="璇疯緭鍏ュ娉ㄥ唴瀹�" clearable type="textarea" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditOrg">
+import { onMounted, reactive, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysOrgApi, SysDictDataApi } from '/@/api-services/api';
+import { SysOrg, UpdateOrgInput } from '/@/api-services/models';
+
+const props = defineProps({
+	title: String,
+	orgData: Array<SysOrg>,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as UpdateOrgInput,
+	orgTypeList: [] as any,
+});
+
+onMounted(async () => {
+	let resDicData = await getAPI(SysDictDataApi).apiSysDictDataDataListCodeGet('org_type');
+	state.orgTypeList = resDicData.data.result;
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery', true);
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysOrgApi).apiSysOrgUpdatePost(state.ruleForm);
+		} else {
+			await getAPI(SysOrgApi).apiSysOrgAddPost(state.ruleForm);
+		}
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/org/component/orgTree.vue b/LA24030_LuLiPackageLine_Web/src/views/system/org/component/orgTree.vue
new file mode 100644
index 0000000..77b126c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/org/component/orgTree.vue
@@ -0,0 +1,144 @@
+<template>
+	<el-card class="box-card" shadow="hover" style="height: 100%" body-style="height:100%; overflow:auto">
+		<template #header>
+			<div class="card-header">
+				<div class="tree-h-flex">
+					<div class="tree-h-left">
+						<el-input :prefix-icon="Search" v-model="filterText" placeholder="鏈烘瀯鍚嶇О" />
+					</div>
+					<div class="tree-h-right">
+						<el-dropdown @command="handleCommand">
+							<el-button style="margin-left: 8px; width: 34px">
+								<el-icon class="el-icon--center">
+									<more-filled />
+								</el-icon>
+							</el-button>
+							<template #dropdown>
+								<el-dropdown-menu>
+									<el-dropdown-item command="expandAll">鍏ㄩ儴灞曞紑</el-dropdown-item>
+									<el-dropdown-item command="collapseAll">鍏ㄩ儴鎶樺彔</el-dropdown-item>
+									<el-dropdown-item command="rootNode">鏍硅妭鐐�</el-dropdown-item>
+									<el-dropdown-item command="refresh">鍒锋柊</el-dropdown-item>
+								</el-dropdown-menu>
+							</template>
+						</el-dropdown>
+					</div>
+				</div>
+			</div>
+		</template>
+		<div style="margin-bottom: 45px" v-loading="state.loading">
+			<el-tree
+				ref="treeRef"
+				class="filter-tree"
+				:data="state.orgData"
+				node-key="id"
+				:props="{ children: 'children', label: 'name' }"
+				:filter-node-method="filterNode"
+				@node-click="nodeClick"
+				:show-checkbox="state.isShowCheckbox"
+				:default-checked-keys="state.ownOrgData"
+				highlight-current
+				check-strictly
+			>
+				<template #default="{ node }">
+					<el-icon v-if="node.level == 1" size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-School /></el-icon>
+					<el-icon v-else-if="node.level == 2" size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-PriceTag /></el-icon>
+					<el-icon v-else size="16" style="margin-right: 3px; display: inline; vertical-align: middle"><ele-CollectionTag /></el-icon>
+					{{ node.label }}
+				</template>
+			</el-tree>
+		</div>
+	</el-card>
+</template>
+
+<script lang="ts" setup>
+import { onMounted, reactive, ref, watch } from 'vue';
+import type { ElTree } from 'element-plus';
+import { Search, MoreFilled } from '@element-plus/icons-vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysOrgApi } from '/@/api-services/api';
+import { SysOrg } from '/@/api-services/models';
+
+const filterText = ref('');
+const treeRef = ref<InstanceType<typeof ElTree>>();
+const state = reactive({
+	loading: false,
+	orgData: [] as Array<SysOrg>,
+	isShowCheckbox: false,
+	ownOrgData: [],
+});
+
+onMounted(() => {
+	initTreeData();
+});
+
+watch(filterText, (val) => {
+	treeRef.value!.filter(val);
+});
+
+const initTreeData = async () => {
+	state.loading = true;
+	var res = await getAPI(SysOrgApi).apiSysOrgListGet(0);
+	state.orgData = res.data.result ?? [];
+	state.loading = false;
+};
+
+// 璁剧疆榛樿閫夋嫨
+const setCheckedKeys = (orgData: any) => {
+	state.isShowCheckbox = true;
+	treeRef.value!.setCheckedKeys([]);
+	state.ownOrgData = orgData;
+};
+
+// 鑾峰彇宸茬粡閫夋嫨
+const getCheckedKeys = () => {
+	return treeRef.value!.getCheckedKeys();
+};
+
+const filterNode = (value: string, data: any) => {
+	if (!value) return true;
+	return data.name.includes(value);
+};
+
+const handleCommand = async (command: string | number | object) => {
+	if ('expandAll' == command) {
+		for (let i = 0; i < treeRef.value!.store._getAllNodes().length; i++) {
+			treeRef.value!.store._getAllNodes()[i].expanded = true;
+		}
+	} else if ('collapseAll' == command) {
+		for (let i = 0; i < treeRef.value!.store._getAllNodes().length; i++) {
+			treeRef.value!.store._getAllNodes()[i].expanded = false;
+		}
+	} else if ('refresh' == command) {
+		initTreeData();
+	} else if ('rootNode' == command) {
+		emits('node-click', { id: 0, name: '' });
+	}
+};
+
+// 涓庣埗缁勪欢鐨勪氦浜掗�昏緫
+const emits = defineEmits(['node-click']);
+const nodeClick = (node: any) => {
+	emits('node-click', { id: node.id, name: node.name });
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ initTreeData, setCheckedKeys, getCheckedKeys });
+</script>
+
+<style lang="scss" scoped>
+.tree-h-flex {
+	display: flex;
+}
+
+.tree-h-left {
+	flex: 1;
+	width: 100%;
+}
+
+.tree-h-right {
+	width: 42px;
+	min-width: 42px;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/org/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/org/index.vue
new file mode 100644
index 0000000..c271903
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/org/index.vue
@@ -0,0 +1,165 @@
+<template>
+	<div class="sys-org-container">
+		<el-row :gutter="5" style="width: 100%; flex: 1">
+			<el-col :span="4" :xs="24">
+				<OrgTree ref="orgTreeRef" @node-click="nodeClick" />
+			</el-col>
+
+			<el-col :span="20" :xs="24" style="display: flex; flex-direction: column">
+				<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+					<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+						<el-form-item label="鏈烘瀯鍚嶇О">
+							<el-input v-model="state.queryParams.name" placeholder="鏈烘瀯鍚嶇О" clearable />
+						</el-form-item>
+						<!-- <el-form-item label="鏈烘瀯缂栧彿">
+							<el-input v-model="state.queryParams.code" placeholder="鏈烘瀯缂栧彿" clearable />
+						</el-form-item> -->
+						<el-form-item label="鏈烘瀯绫诲瀷">
+							<el-select v-model="state.queryParams.type" filterable clearable>
+								<el-option v-for="item in state.orgTypeList" :key="item.value" :label="item.value" :value="item.code" />
+							</el-select>
+						</el-form-item>
+						<el-form-item>
+							<el-button-group>
+								<el-button type="primary" icon="ele-Search" @click="handleQuery"> 鏌ヨ </el-button>
+								<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+							</el-button-group>
+						</el-form-item>
+						<el-form-item>
+							<el-button type="primary" icon="ele-Plus" @click="openAddOrg" v-auth="'sysOrg:add'"> 鏂板 </el-button>
+						</el-form-item>
+					</el-form>
+				</el-card>
+
+				<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+					<el-table :data="state.orgData" style="width: 100%" v-loading="state.loading" row-key="id" default-expand-all :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" border>
+						<el-table-column prop="name" label="鏈烘瀯鍚嶇О" min-width="160" header-align="center" show-overflow-tooltip />
+						<el-table-column prop="code" label="鏈烘瀯缂栧彿" align="center" show-overflow-tooltip />
+						<el-table-column prop="level" label="绾у埆" width="70" align="center" show-overflow-tooltip />
+						<el-table-column prop="type" label="鏈烘瀯绫诲瀷" align="center" :formatter="dictFormatter" show-overflow-tooltip />
+						<el-table-column prop="orderNo" label="鎺掑簭" width="70" align="center" show-overflow-tooltip />
+						<el-table-column label="鐘舵��" width="70" align="center" show-overflow-tooltip>
+							<template #default="scope">
+								<el-tag type="success" v-if="scope.row.status === 1">鍚敤</el-tag>
+								<el-tag type="danger" v-else>绂佺敤</el-tag>
+							</template>
+						</el-table-column>
+						<el-table-column label="淇敼璁板綍" width="100" align="center" show-overflow-tooltip>
+							<template #default="scope">
+								<ModifyRecord :data="scope.row" />
+							</template>
+						</el-table-column>
+						<el-table-column label="鎿嶄綔" width="140" fixed="right" align="center" show-overflow-tooltip>
+							<template #default="scope">
+								<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditOrg(scope.row)" v-auth="'sysOrg:update'"> 缂栬緫 </el-button>
+								<el-button icon="ele-Delete" size="small" text type="danger" @click="delOrg(scope.row)" v-auth="'sysOrg:delete'"> 鍒犻櫎 </el-button>
+							</template>
+						</el-table-column>
+					</el-table>
+				</el-card>
+			</el-col>
+		</el-row>
+
+		<EditOrg ref="editOrgRef" :title="state.editOrgTitle" :orgData="state.orgTreeData" @handleQuery="handleQuery" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysOrg">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import OrgTree from '/@/views/system/org/component/orgTree.vue';
+import EditOrg from '/@/views/system/org/component/editOrg.vue';
+import ModifyRecord from '/@/components/table/modifyRecord.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysOrgApi, SysDictDataApi } from '/@/api-services/api';
+import { SysOrg } from '/@/api-services/models';
+
+const editOrgRef = ref<InstanceType<typeof EditOrg>>();
+const orgTreeRef = ref<InstanceType<typeof OrgTree>>();
+const state = reactive({
+	loading: false,
+	orgData: [] as Array<SysOrg>, // 鏈烘瀯鍒楄〃鏁版嵁
+	orgTreeData: [] as Array<SysOrg>, // 鏈烘瀯鏍戞墍鏈夋暟鎹�
+	queryParams: {
+		id: 0,
+		name: undefined,
+		code: undefined,
+		type: undefined,
+	},
+	editOrgTitle: '',
+	orgTypeList: [] as any,
+});
+
+onMounted(async () => {
+	handleQuery();
+
+	let resDicData = await getAPI(SysDictDataApi).apiSysDictDataDataListCodeGet('org_type');
+	state.orgTypeList = resDicData.data.result;
+});
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async (updateTree: boolean = false) => {
+	state.loading = true;
+	var res = await getAPI(SysOrgApi).apiSysOrgListGet(state.queryParams.id, state.queryParams.name, state.queryParams.code, state.queryParams.type);
+	state.orgData = res.data.result ?? [];
+	state.loading = false;
+	// 鏄惁鏇存柊宸︿晶鏈烘瀯鍒楄〃鏍�
+	if (updateTree == true) {
+		orgTreeRef.value?.initTreeData();
+	}
+
+	// 鑻ユ棤閫夋嫨鑺傜偣骞朵笖鏌ヨ鏉′欢涓虹┖鏃讹紝鏇存柊缂栬緫椤甸潰鏈烘瀯鍒楄〃鏍�
+	if (state.queryParams.id == 0 && state.queryParams.name == undefined && state.queryParams.code == undefined && state.queryParams.type == undefined) state.orgTreeData = state.orgData;
+};
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.id = 0;
+	state.queryParams.name = undefined;
+	state.queryParams.code = undefined;
+	state.queryParams.type = undefined;
+	handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddOrg = () => {
+	state.editOrgTitle = '娣诲姞鏈烘瀯';
+	editOrgRef.value?.openDialog({ status: 1, orderNo: 100 });
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditOrg = (row: any) => {
+	state.editOrgTitle = '缂栬緫鏈烘瀯';
+	editOrgRef.value?.openDialog(row);
+};
+
+// 鍒犻櫎
+const delOrg = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎鏈烘瀯锛氥��${row.name}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysOrgApi).apiSysOrgDeletePost({ id: row.id });
+			ElMessage.success('鍒犻櫎鎴愬姛');
+			handleQuery(true);
+		})
+		.catch(() => {});
+};
+
+// 鏍戠粍浠剁偣鍑�
+const nodeClick = async (node: any) => {
+	state.queryParams.id = node.id;
+	state.queryParams.name = undefined;
+	state.queryParams.code = undefined;
+	state.queryParams.type = undefined;
+	handleQuery();
+};
+
+// 瀛楀吀杞崲
+const dictFormatter = (row: any, column: any, cellValue: any) => {
+	return state.orgTypeList.find((u: any) => u.code == cellValue)?.value;
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/plugin/component/editPlugin.vue b/LA24030_LuLiPackageLine_Web/src/views/system/plugin/component/editPlugin.vue
new file mode 100644
index 0000000..b8e4d4d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/plugin/component/editPlugin.vue
@@ -0,0 +1,153 @@
+<template>
+	<div class="sys-plugin-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="900px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> {{ props.title }} </span>
+				</div>
+			</template>
+			<el-tabs v-model="state.selectedTabName">
+				<el-tab-pane label="鎻掍欢淇℃伅">
+					<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto" style="height: 500px">
+						<el-row :gutter="35">
+							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+								<el-form-item label="鍔熻兘鍚嶇О" prop="name" :rules="[{ required: true, message: '鍔熻兘鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+									<el-input v-model="state.ruleForm.name" placeholder="鍔熻兘鍚嶇О" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+								<el-form-item label="绋嬪簭闆嗗悕绉�">
+									<el-input v-model="state.ruleForm.assemblyName" placeholder="绋嬪簭闆嗗悕绉�" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鎺掑簭">
+									<el-input-number v-model="state.ruleForm.orderNo" placeholder="鎺掑簭" class="w100" />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鐘舵��">
+									<el-radio-group v-model="state.ruleForm.status">
+										<el-radio :value="1">鍚敤</el-radio>
+										<el-radio :value="2">绂佺敤</el-radio>
+									</el-radio-group>
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+								<el-form-item label="澶囨敞">
+									<el-input v-model="state.ruleForm.remark" placeholder="璇疯緭鍏ュ娉ㄥ唴瀹�" clearable type="textarea" />
+								</el-form-item>
+							</el-col>
+						</el-row>
+					</el-form>
+				</el-tab-pane>
+				<el-tab-pane label="C# 浠g爜">
+					<div ref="monacoEditorRef" style="width: 100%; height: 500px"></div>
+				</el-tab-pane>
+			</el-tabs>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditPlugin">
+import { reactive, ref } from 'vue';
+import { ElMessage } from 'element-plus';
+import * as monaco from 'monaco-editor';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysPluginApi } from '/@/api-services/api';
+import { UpdatePluginInput } from '/@/api-services/models';
+
+const props = defineProps({
+	title: String,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const monacoEditorRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as UpdatePluginInput,
+	selectedTabName: '0', // 閫変腑鐨� tab
+});
+
+// 鍒濆鍖杕onacoEditor瀵硅薄
+var monacoEditor: any = null;
+const initMonacoEditor = () => {
+	monacoEditor = monaco.editor.create(monacoEditorRef.value, {
+		theme: 'vs-dark', // 涓婚 vs vs-dark hc-black
+		value: '', // 榛樿鏄剧ず鐨勫��
+		language: 'csharp',
+		formatOnPaste: true,
+		wordWrap: 'on', //鑷姩鎹㈣锛屾敞鎰忓ぇ灏忓啓
+		wrappingIndent: 'indent',
+		folding: true, // 鏄惁鎶樺彔
+		foldingHighlight: true, // 鎶樺彔绛夐珮绾�
+		foldingStrategy: 'indentation', // 鎶樺彔鏂瑰紡  auto | indentation
+		showFoldingControls: 'always', // 鏄惁涓�鐩存樉绀烘姌鍙� always | mouSEOver
+		disableLayerHinting: true, // 绛夊浼樺寲
+		emptySelectionClipboard: false, // 绌洪�夋嫨鍓垏鏉�
+		selectionClipboard: false, // 閫夋嫨鍓垏鏉�
+		automaticLayout: true, // 鑷姩甯冨眬
+		codeLens: false, // 浠g爜闀滃ご
+		scrollBeyondLastLine: false, // 婊氬姩瀹屾渶鍚庝竴琛屽悗鍐嶆粴鍔ㄤ竴灞忓箷
+		colorDecorators: true, // 棰滆壊瑁呴グ鍣�
+		accessibilitySupport: 'auto', // 杈呭姪鍔熻兘鏀寔  "auto" | "off" | "on"
+		lineNumbers: 'on', // 琛屽彿 鍙栧�硷細 "on" | "off" | "relative" | "interval" | function
+		lineNumbersMinChars: 5, // 琛屽彿鏈�灏忓瓧绗�   number
+		//enableSplitViewResizing: false,
+		readOnly: false, //鏄惁鍙  鍙栧�� true | false
+	});
+};
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+
+	// 寤惰繜鎷垮�奸槻姝㈠彇涓嶅埌
+	setTimeout(() => {
+		if (monacoEditor == null) initMonacoEditor();
+	}, 1);
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+
+		state.ruleForm.csharpCode = monacoEditor.getValue();
+		if (state.ruleForm.csharpCode.length < 100) {
+			ElMessage.warning('璇锋纭紪鍐� C# 浠g爜');
+			return;
+		}
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysPluginApi).apiSysPluginUpdatePost(state.ruleForm);
+		} else {
+			await getAPI(SysPluginApi).apiSysPluginAddPost(state.ruleForm);
+		}
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/plugin/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/plugin/index.vue
new file mode 100644
index 0000000..1d97c15
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/plugin/index.vue
@@ -0,0 +1,144 @@
+<template>
+	<div class="sys-plugin-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+				<el-form-item label="鍔熻兘鍚嶇О">
+					<el-input v-model="state.queryParams.name" placeholder="鍔熻兘鍚嶇О" clearable />
+				</el-form-item>
+				<el-form-item>
+					<el-button-group>
+						<el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'sysPlugin:page'"> 鏌ヨ </el-button>
+						<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+					</el-button-group>
+				</el-form-item>
+				<el-form-item>
+					<el-button type="primary" icon="ele-Plus" @click="openAddPlugin" v-auth="'sysPlugin:add'"> 鏂板 </el-button>
+				</el-form-item>
+			</el-form>
+		</el-card>
+
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table :data="state.pluginData" style="width: 100%" v-loading="state.loading" border>
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" fixed />
+				<el-table-column prop="name" label="鍔熻兘鍚嶇О" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="assemblyName" label="绋嬪簭闆嗗悕绉�" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="orderNo" label="鎺掑簭" width="70" align="center" show-overflow-tooltip />
+				<el-table-column label="鐘舵��" width="70" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag type="success" v-if="scope.row.status === 1">鍚敤</el-tag>
+						<el-tag type="danger" v-else>绂佺敤</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column label="淇敼璁板綍" width="100" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<ModifyRecord :data="scope.row" />
+					</template>
+				</el-table-column>
+				<el-table-column label="鎿嶄綔" width="140" fixed="right" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditPlugin(scope.row)" v-auth="'sysPlugin:update'"> 缂栬緫 </el-button>
+						<el-button icon="ele-Delete" size="small" text type="danger" @click="delPlugin(scope.row)" v-auth="'sysPlugin:delete'"> 鍒犻櫎 </el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="state.tableParams.page"
+				v-model:page-size="state.tableParams.pageSize"
+				:total="state.tableParams.total"
+				:page-sizes="[10, 20, 50, 100]"
+				small
+				background
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+		</el-card>
+
+		<EditPlugin ref="editPluginRef" :title="state.editPluginTitle" @handleQuery="handleQuery" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysPlugin">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import EditPlugin from '/@/views/system/plugin/component/editPlugin.vue';
+import ModifyRecord from '/@/components/table/modifyRecord.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysPluginApi } from '/@/api-services/api';
+import { SysPlugin } from '/@/api-services/models';
+
+const editPluginRef = ref<InstanceType<typeof EditPlugin>>();
+const state = reactive({
+	loading: false,
+	pluginData: [] as Array<SysPlugin>,
+	queryParams: {
+		name: undefined,
+	},
+	tableParams: {
+		page: 1,
+		pageSize: 200,
+		total: 0 as any,
+	},
+	editPluginTitle: '',
+});
+
+onMounted(async () => {
+	handleQuery();
+});
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.loading = true;
+	let params = Object.assign(state.queryParams, state.tableParams);
+	var res = await getAPI(SysPluginApi).apiSysPluginPagePost(params);
+	state.pluginData = res.data.result?.items ?? [];
+	state.tableParams.total = res.data.result?.total;
+	state.loading = false;
+};
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.name = undefined;
+	handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddPlugin = () => {
+	state.editPluginTitle = '娣诲姞鍔ㄦ�佹彃浠�';
+	editPluginRef.value?.openDialog({ orderNo: 100, status: 1 });
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditPlugin = (row: any) => {
+	state.editPluginTitle = '缂栬緫鍔ㄦ�佹彃浠�';
+	editPluginRef.value?.openDialog(row);
+};
+
+// 鍒犻櫎褰撳墠琛�
+const delPlugin = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎鍔ㄦ�佹彃浠讹細銆�${row.name}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysPluginApi).apiSysPluginDeletePost({ id: row.id });
+			handleQuery();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+	state.tableParams.pageSize = val;
+	handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+	state.tableParams.page = val;
+	handleQuery();
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/pos/component/editPos.vue b/LA24030_LuLiPackageLine_Web/src/views/system/pos/component/editPos.vue
new file mode 100644
index 0000000..0e55fd5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/pos/component/editPos.vue
@@ -0,0 +1,102 @@
+<template>
+	<div class="sys-pos-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> {{ props.title }} </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鑱屼綅鍚嶇О" prop="name" :rules="[{ required: true, message: '鑱屼綅鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.name" placeholder="鑱屼綅鍚嶇О" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鑱屼綅缂栧彿" prop="code" :rules="[{ required: true, message: '鑱屼綅缂栧彿涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.code" placeholder="鑱屼綅缂栧彿" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎺掑簭">
+							<el-input-number v-model="state.ruleForm.orderNo" placeholder="鎺掑簭" class="w100" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐘舵��">
+							<el-radio-group v-model="state.ruleForm.status">
+								<el-radio :value="1">鍚敤</el-radio>
+								<el-radio :value="2">绂佺敤</el-radio>
+							</el-radio-group>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="澶囨敞">
+							<el-input v-model="state.ruleForm.remark" placeholder="璇疯緭鍏ュ娉ㄥ唴瀹�" clearable type="textarea" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditPos">
+import { reactive, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysPosApi } from '/@/api-services/api';
+import { UpdatePosInput } from '/@/api-services/models';
+
+const props = defineProps({
+	title: String,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as UpdatePosInput,
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysPosApi).apiSysPosUpdatePost(state.ruleForm);
+		} else {
+			await getAPI(SysPosApi).apiSysPosAddPost(state.ruleForm);
+		}
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/pos/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/pos/index.vue
new file mode 100644
index 0000000..66e8c6a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/pos/index.vue
@@ -0,0 +1,119 @@
+<template>
+	<div class="sys-pos-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+				<el-form-item label="鑱屼綅鍚嶇О">
+					<el-input v-model="state.queryParams.name" placeholder="鑱屼綅鍚嶇О" clearable />
+				</el-form-item>
+				<el-form-item label="鑱屼綅缂栧彿">
+					<el-input v-model="state.queryParams.code" placeholder="鑱屼綅缂栧彿" clearable />
+				</el-form-item>
+				<el-form-item>
+					<el-button-group>
+						<el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'sysPos:list'"> 鏌ヨ </el-button>
+						<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+					</el-button-group>
+				</el-form-item>
+				<el-form-item>
+					<el-button type="primary" icon="ele-Plus" @click="openAddPos" v-auth="'sysPos:add'"> 鏂板 </el-button>
+				</el-form-item>
+			</el-form>
+		</el-card>
+
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table :data="state.posData" style="width: 100%" v-loading="state.loading" border>
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+				<el-table-column prop="name" label="鑱屼綅鍚嶇О" align="center" show-overflow-tooltip />
+				<el-table-column prop="code" label="鑱屼綅缂栧彿" align="center" show-overflow-tooltip />
+				<el-table-column prop="orderNo" label="鎺掑簭" width="70" align="center" show-overflow-tooltip />
+				<el-table-column label="鐘舵��" width="70" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag type="success" v-if="scope.row.status === 1">鍚敤</el-tag>
+						<el-tag type="danger" v-else>绂佺敤</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column label="淇敼璁板綍" width="100" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<ModifyRecord :data="scope.row" />
+					</template>
+				</el-table-column>
+				<el-table-column label="鎿嶄綔" width="140" fixed="right" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditPos(scope.row)" v-auth="'sysPos:update'"> 缂栬緫 </el-button>
+						<el-button icon="ele-Delete" size="small" text type="danger" @click="delPos(scope.row)" v-auth="'sysPos:delete'"> 鍒犻櫎 </el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+		</el-card>
+
+		<EditPos ref="editPosRef" :title="state.editPosTitle" @handleQuery="handleQuery" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysPos">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import EditPos from '/@/views/system/pos/component/editPos.vue';
+import ModifyRecord from '/@/components/table/modifyRecord.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysPosApi } from '/@/api-services/api';
+import { SysPos } from '/@/api-services/models';
+
+const editPosRef = ref<InstanceType<typeof EditPos>>();
+const state = reactive({
+	loading: false,
+	posData: [] as Array<SysPos>,
+	queryParams: {
+		name: undefined,
+		code: undefined,
+	},
+	editPosTitle: '',
+});
+
+onMounted(async () => {
+	handleQuery();
+});
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.loading = true;
+	var res = await getAPI(SysPosApi).apiSysPosListGet(state.queryParams.name, state.queryParams.code);
+	state.posData = res.data.result ?? [];
+	state.loading = false;
+};
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.name = undefined;
+	state.queryParams.code = undefined;
+	handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddPos = () => {
+	state.editPosTitle = '娣诲姞鑱屼綅';
+	editPosRef.value?.openDialog({ status: 1, orderNo: 100 });
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditPos = (row: any) => {
+	state.editPosTitle = '缂栬緫鑱屼綅';
+	editPosRef.value?.openDialog(row);
+};
+
+// 鍒犻櫎
+const delPos = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎鑱屼綅锛氥��${row.name}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysPosApi).apiSysPosDeletePost({ id: row.id });
+			handleQuery();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/print/component/editPrint.vue b/LA24030_LuLiPackageLine_Web/src/views/system/print/component/editPrint.vue
new file mode 100644
index 0000000..9fa42e0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/print/component/editPrint.vue
@@ -0,0 +1,154 @@
+<template>
+	<div class="sys-print-container">
+		<div class="printDialog">
+			<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" fullscreen>
+				<template #header>
+					<div style="color: #fff">
+						<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+						<span> {{ props.title }} </span>
+					</div>
+				</template>
+				<div style="margin: -16px 0px 0px 0px">
+					<HiprintDesign ref="hiprintDesignRef" />
+				</div>
+				<template #footer>
+					<span class="dialog-footer" style="margin-top: 10px">
+						<el-button @click="cancel">鍙� 娑�</el-button>
+						<el-button type="primary" @click="submit">淇濆瓨妯℃澘</el-button>
+					</span>
+				</template>
+			</el-dialog>
+		</div>
+
+		<el-dialog v-model="state.showDialog2" draggable :close-on-click-modal="false" width="600px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="妯℃澘鍚嶇О" prop="name" :rules="[{ required: true, message: '妯℃澘鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.name" placeholder="妯℃澘鍚嶇О" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎺掑簭">
+							<el-input-number v-model="state.ruleForm.orderNo" placeholder="鎺掑簭" class="w100" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐘舵��">
+							<el-radio-group v-model="state.ruleForm.status">
+								<el-radio :value="1">鍚敤</el-radio>
+								<el-radio :value="2">绂佺敤</el-radio>
+							</el-radio-group>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="澶囨敞">
+							<el-input v-model="state.ruleForm.remark" placeholder="璇疯緭鍏ュ娉ㄥ唴瀹�" clearable type="textarea" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="templateCancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="templateSubmit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditPrint">
+import { onMounted, reactive, ref, nextTick } from 'vue';
+import HiprintDesign from '/@/views/system/print/component/hiprint/index.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysPrintApi } from '/@/api-services/api';
+import { UpdatePrintInput } from '/@/api-services/models';
+
+const hiprintDesignRef = ref<InstanceType<typeof HiprintDesign>>();
+
+const props = defineProps({
+	title: String,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as UpdatePrintInput,
+	showDialog2: false,
+});
+
+onMounted(async () => {});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+
+	nextTick(() => {
+		loadTemplate();
+	});
+};
+
+// 鍔犺浇妯℃澘
+const loadTemplate = () => {
+	hiprintDesignRef.value?.hiprintTemplate.clear();
+	if (JSON.stringify(state.ruleForm) !== '{}') {
+		hiprintDesignRef.value?.hiprintTemplate.update(JSON.parse(state.ruleForm.template));
+	}
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = async () => {
+	state.showDialog2 = true;
+	if (state.ruleForm.orderNo == undefined) state.ruleForm.orderNo = 100;
+	if (state.ruleForm.status == undefined) state.ruleForm.status = 1;
+};
+
+// 妯℃澘璁剧疆鍙栨秷
+const templateCancel = () => {
+	state.showDialog2 = false;
+};
+
+// 妯℃澘璁剧疆鎻愪氦
+const templateSubmit = async () => {
+	state.ruleForm.template = JSON.stringify(hiprintDesignRef.value?.hiprintTemplate.getJson());
+	if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+		await getAPI(SysPrintApi).apiSysPrintUpdatePost(state.ruleForm);
+	} else {
+		await getAPI(SysPrintApi).apiSysPrintAddPost(state.ruleForm);
+	}
+	cancel();
+	templateCancel();
+	emits('handleQuery');
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
+
+<style lang="scss" scoped>
+.printDialog {
+	:deep(.el-dialog) {
+		.el-dialog__header {
+			display: none !important;
+		}
+		.el-dialog__body {
+			max-height: calc(100vh - 45px) !important;
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/print/component/hiprint/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/print/component/hiprint/index.vue
new file mode 100644
index 0000000..aa50208
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/print/component/hiprint/index.vue
@@ -0,0 +1,367 @@
+<template>
+	<el-row :gutter="8" style="margin-bottom: 5px">
+		<el-col :span="4">
+			<!-- 娴佺▼涓嬫媺 妯℃澘閫夋嫨 -->
+			<el-select v-model="state.mode" showSearch @change="changeMode" :defaultValue="0" option-label-prop="label" class="w100">
+				<el-option v-for="(opt, idx) in state.modeList" :key="idx" :label="opt.name" :value="idx">
+					{{ opt.name }}
+				</el-option>
+			</el-select>
+		</el-col>
+
+		<el-col :span="20">
+			<!-- 绾稿紶璁剧疆 -->
+			<el-button-group style="margin: 0 2px">
+				<el-button v-for="(value, type) in state.paperTypes" :type="curPaperType === type ? 'primary' : ''" @click="setPaper(type, value)" :key="type">
+					{{ type }}
+				</el-button>
+				<el-popover v-model="state.paperPopVisible" placement="bottom" width="300" title="璁剧疆绾稿紶瀹介珮(mm)">
+					<div style="display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px">
+						<el-input type="number" v-model="state.paperWidth" style="width: 100px; text-align: center" place="瀹斤紙mm锛�"></el-input>~
+						<el-input type="number" v-model="state.paperHeight" style="width: 100px; text-align: center" place="楂橈紙mm锛�"></el-input>
+					</div>
+					<div>
+						<el-button type="primary" style="width: 100%" @click="otherPaper">纭畾</el-button>
+					</div>
+					<template #reference>
+						<el-button :type="'other' == curPaperType ? 'primary' : ''" style="margin: 0 10px">鑷畾涔夊楂�</el-button>
+					</template>
+				</el-popover>
+			</el-button-group>
+			<el-input-number style="margin-right: 8px" :value="state.scaleValue" :precision="2" :step="0.1" :min="state.scaleMin" :max="state.scaleMax" @change="changeScale"></el-input-number>
+
+			<el-button-group>
+				<el-tooltip content="宸﹀榻�" placement="bottom">
+					<el-button icon="ele-Back" @click="setElsAlign('left')"> </el-button>
+				</el-tooltip>
+				<el-tooltip content="灞呬腑" placement="bottom">
+					<el-button icon="ele-FullScreen" @click="setElsAlign('vertical')"> </el-button>
+				</el-tooltip>
+				<el-tooltip content="鍙冲榻�" placement="bottom">
+					<el-button icon="ele-Right" @click="setElsAlign('right')"> </el-button>
+				</el-tooltip>
+				<el-tooltip content="椤跺榻�" placement="bottom">
+					<el-button icon="ele-Top" @click="setElsAlign('top')"> </el-button>
+				</el-tooltip>
+				<el-tooltip content="鍨傜洿灞呬腑" placement="bottom">
+					<el-button icon="ele-DCaret" @click="setElsAlign('horizontal')"> </el-button>
+				</el-tooltip>
+				<el-tooltip content="搴曞榻�" placement="bottom">
+					<el-button icon="ele-Bottom" @click="setElsAlign('bottom')"> </el-button>
+				</el-tooltip>
+				<el-tooltip content="妯悜鍒嗘暎" placement="bottom">
+					<el-button icon="ele-Sort" @click="setElsAlign('distributeHor')"> </el-button>
+				</el-tooltip>
+				<el-tooltip content="绾靛悜鍒嗘暎" placement="bottom">
+					<el-button icon="ele-Switch" @click="setElsAlign('distributeVer')"> </el-button>
+				</el-tooltip>
+			</el-button-group>
+
+			<!-- 棰勮/鎵撳嵃 -->
+			<el-button-group style="margin-left: 8px">
+				<el-button type="primary" icon="ele-RefreshRight" @click="rotatePaper"> 鏃嬭浆 </el-button>
+				<el-button type="primary" icon="ele-View" @click="preView"> 棰勮 </el-button>
+				<el-button type="primary" icon="ele-Printer" @click="print"> 鐩存帴鎵撳嵃 </el-button>
+				<el-button type="primary" icon="ele-CircleCheck" @click="viewJson"> 妯℃澘JSON </el-button>
+				<el-button type="danger" icon="ele-Delete" @click="clearPaper"> 娓呯┖妯℃澘 </el-button>
+			</el-button-group>
+		</el-col>
+	</el-row>
+
+	<el-row :gutter="8">
+		<el-col :span="4">
+			<el-card style="height: 100%" shadow="never">
+				<el-row>
+					<el-col :span="24" id="hiprintEpContainer" class="rect-printElement-types hiprintEpContainer"> </el-col>
+				</el-row>
+			</el-card>
+		</el-col>
+		<el-col :span="14">
+			<el-card shadow="never" class="card-design">
+				<div id="hiprint-printTemplate" class="hiprint-printTemplate"></div>
+			</el-card>
+		</el-col>
+		<el-col :span="6" class="params_setting_container">
+			<el-card shadow="never">
+				<el-row class="hinnn-layout-sider">
+					<div id="PrintElementOptionSetting"></div>
+				</el-row>
+			</el-card>
+		</el-col>
+	</el-row>
+
+	<el-drawer title="鎵撳嵃妯℃澘" v-model="state.templateDialogVisible">
+		<vue-json-pretty :data="state.templateContent" showLength showIcon showLineNumber showSelectController />
+	</el-drawer>
+
+	<!-- 棰勮 -->
+	<PrintPreview ref="preViewRef" />
+</template>
+
+<script lang="ts" setup name="hiprintDesign">
+import { computed, onMounted, ref, reactive } from 'vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import VueJsonPretty from 'vue-json-pretty';
+import 'vue-json-pretty/lib/styles.css';
+
+import { hiprint } from 'vue-plugin-hiprint';
+import providers from './providers';
+import PrintPreview from './preview.vue';
+import printData from './print-data';
+
+let hiprintTemplate = ref();
+
+const preViewRef = ref();
+const state = reactive({
+	// 妯℃澘閫夋嫨
+	mode: 0,
+	modeList: [] as any,
+	// 褰撳墠绾稿紶
+	curPaper: {
+		type: 'A4',
+		width: 220,
+		height: 296.6,
+	},
+	// 绾稿紶绫诲瀷
+	paperTypes: {
+		A3: {
+			width: 420,
+			height: 296.6,
+		},
+		A4: {
+			width: 210,
+			height: 296.6,
+		},
+		A5: {
+			width: 210,
+			height: 147.6,
+		},
+		B3: {
+			width: 500,
+			height: 352.6,
+		},
+		B4: {
+			width: 250,
+			height: 352.6,
+		},
+		B5: {
+			width: 250,
+			height: 175.6,
+		},
+	},
+	scaleValue: 1,
+	scaleMax: 5,
+	scaleMin: 0.5,
+	// 鑷畾涔夌焊寮�
+	paperPopVisible: false,
+	paperWidth: 220,
+	paperHeight: 80,
+
+	templateDialogVisible: false,
+	templateContent: '',
+});
+
+// 璁$畻褰撳墠绾稿紶绫诲瀷
+const curPaperType = computed(() => {
+	let type = 'other';
+	let types: any = state.paperTypes;
+	for (const key in types) {
+		let item = types[key];
+		let { width, height } = state.curPaper;
+		if (item.width === width && item.height === height) {
+			type = key;
+		}
+	}
+	return type;
+});
+
+// 閫夋嫨妯℃澘
+const changeMode = () => {
+	let provider = providers[state.mode];
+	hiprint.init({
+		providers: [provider.f],
+	});
+
+	// 娓叉煋鑷畾涔夐�夐」
+	const hiprintEpContainerEl = document.getElementById('hiprintEpContainer');
+	if (hiprintEpContainerEl) {
+		hiprintEpContainerEl.innerHTML = '';
+	}
+	hiprint.PrintElementTypeManager.build('.hiprintEpContainer', provider.value);
+
+	// 娓叉煋缁樼敾妯℃澘
+	const hiprintPrintTemplate = document.getElementById('hiprint-printTemplate');
+	if (hiprintPrintTemplate) {
+		hiprintPrintTemplate.innerHTML = '';
+	}
+	// 鍒濆鍖栨墦鍗版ā鏉胯璁″櫒
+	let template = {};
+	hiprintTemplate.value = new hiprint.PrintTemplate({
+		template: template,
+		settingContainer: '#PrintElementOptionSetting',
+		paginationContainer: '.hiprint-printPagination',
+		fontList: [
+			{ title: '寰蒋闆呴粦', value: 'Microsoft YaHei' },
+			{ title: '榛戜綋', value: 'STHeitiSC-Light' },
+			{ title: 'Arial', value: 'Arial' },
+			{ title: '瀹嬩綋', value: 'SimSun' },
+			{ title: '鍗庝负妤蜂綋', value: 'STKaiti' },
+			{ title: 'cursive', value: 'cursive' },
+			{ title: 'Vector', value: 'Vector' },
+		],
+	});
+	hiprintTemplate.value.design('#hiprint-printTemplate');
+	// 鑾峰彇褰撳墠鏀惧ぇ姣斾緥, 褰搝oom鏃朵紶true鎵嶄細鏈�
+	state.scaleValue = hiprintTemplate.value.editingPanel.scale || 1;
+};
+
+/**
+ * 璁剧疆绾稿紶澶у皬
+ * @param type [A3, A4, A5, B3, B4, B5, other]
+ * @param value {width,height} mm
+ */
+const setPaper = (type: string, value: { width: number; height: number }) => {
+	try {
+		if (Object.keys(state.paperTypes).includes(type)) {
+			state.curPaper = { type: type, width: value.width, height: value.height };
+			hiprintTemplate.value.setPaper(value.width, value.height);
+		} else {
+			state.curPaper = { type: 'other', width: value.width, height: value.height };
+			hiprintTemplate.value.setPaper(value.width, value.height);
+		}
+	} catch (error) {
+		ElMessage.error(`鎿嶄綔澶辫触: ${error}`);
+	}
+};
+
+// 鏀瑰彉缂╂斁姣斾緥
+const changeScale = (currentValue: number, oldValue: number) => {
+	let big = false;
+	currentValue <= oldValue ? (big = false) : (big = true);
+
+	let scaleVal = state.scaleValue;
+	if (big) {
+		scaleVal += 0.1;
+		if (scaleVal > state.scaleMax) scaleVal = 5;
+	} else {
+		scaleVal -= 0.1;
+		if (scaleVal < state.scaleMin) scaleVal = 0.5;
+	}
+	if (hiprintTemplate.value) {
+		// scaleVal: 鏀惧ぇ缂╁皬鍊�, false: 涓嶄繚瀛�(涓嶄紶涔熶竴鏍�), 濡傛灉浼� true, 鎵撳嵃鏃朵篃浼氭斁澶�
+		hiprintTemplate.value.zoom(scaleVal);
+		state.scaleValue = scaleVal;
+	}
+};
+
+// 鏃嬭浆妯℃澘
+const rotatePaper = () => {
+	if (hiprintTemplate.value) {
+		hiprintTemplate.value.rotatePaper();
+	}
+};
+
+// 瀵归綈妯℃澘
+const setElsAlign = (e: any) => {
+	hiprintTemplate.value.setElsAlign(e);
+};
+
+// 娓呯┖妯℃澘
+const clearPaper = () => {
+	ElMessageBox.confirm('鏄惁纭娓呯┖妯℃澘淇℃伅?', '璀﹀憡', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			try {
+				hiprintTemplate.value.clear();
+			} catch (error) {
+				ElMessage.error(`鎿嶄綔澶辫触: ${error}`);
+			}
+		})
+		.catch((err) => {
+			console.log(err);
+		});
+};
+
+// 鑷畾涔夌焊寮�
+const otherPaper = () => {
+	let value = {
+		width: 0,
+		height: 0,
+	};
+	value.width = state.paperWidth;
+	value.height = state.paperHeight;
+	state.paperPopVisible = false;
+	setPaper('other', value);
+};
+
+// 棰勮
+const preView = () => {
+	let { width } = state.curPaper;
+	preViewRef.value.showDialog(hiprintTemplate.value, printData, width);
+};
+// 鐩存帴鎵撳嵃
+const print = () => {
+	console.log('鐩存帴鎵撳嵃');
+};
+
+// 鏌ョ湅妯℃澘JSON
+const viewJson = () => {
+	if (hiprintTemplate.value) {
+		var templateJson = JSON.stringify(hiprintTemplate.value.getJson() || {});
+		state.templateContent = JSON.parse(templateJson);
+		state.templateDialogVisible = true;
+	}
+};
+
+onMounted(() => {
+	state.modeList = providers.map((e) => {
+		return { type: e.type, name: e.name, value: e.value };
+	});
+	changeMode();
+	// otherPaper(); // 榛樿绾稿紶
+});
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ hiprintTemplate });
+</script>
+
+<style lang="scss" scoped>
+:deep(.rect-printElement-types .hiprint-printElement-type > li > ul > li > a) {
+	// padding: 4px 4px;
+	//color: #1296db;
+	// line-height: 1;
+	height: auto;
+	text-overflow: ellipsis;
+	color: var(--el-color-primary);
+	box-shadow: none !important;
+	border: 1px dashed var(--el-color-primary);
+}
+
+// 榛樿鍥剧墖
+:deep(.hiprint-printElement-image-content) {
+	img {
+		content: url('~@/assets/logo.png');
+	}
+}
+
+// 璁捐瀹瑰櫒
+.card-design {
+	overflow: hidden;
+	overflow-x: auto;
+	overflow-y: auto;
+}
+
+:deep(.hiprint-option-item-submitBtn) {
+	background: var(--el-color-primary);
+}
+:deep(.hiprint-option-item-deleteBtn) {
+	background: var(--el-color-danger);
+}
+:deep(.prop-tabs .prop-tab-items li.active) {
+	color: var(--el-color-primary);
+	border-bottom: 2px solid var(--el-color-primary);
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/print/component/hiprint/preview.vue b/LA24030_LuLiPackageLine_Web/src/views/system/print/component/hiprint/preview.vue
new file mode 100644
index 0000000..bb481e8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/print/component/hiprint/preview.vue
@@ -0,0 +1,83 @@
+<template>
+	<el-dialog v-model="state.dialogVisible" draggable :close-on-click-modal="false" :width="state.width + 8 + 'mm'">
+	    <template #header>
+				<div style="color: #fff">
+					<span>鎵撳嵃</span>
+				</div>
+			</template>
+		<div id="preview_content" ref="previewContentRef"></div>
+		<template #footer>
+			<el-button :loading="state.waitShowPrinter" type="primary" icon="ele-Printer" @click.stop="print">鐩存帴鎵撳嵃</el-button>
+			<!-- <el-button type="primary" icon="ele-Printer" @click.stop="toPdf">瀵煎嚭PDF</el-button> -->
+			<el-button key="close" @click="hideDialog"> 鍏抽棴 </el-button>
+		</template>
+	</el-dialog>
+</template>
+
+<script lang="ts" setup>
+import { nextTick, reactive, ref } from 'vue';
+
+const state = reactive({
+	dialogVisible: false,
+	waitShowPrinter: false,
+	width: 0, // 绾稿紶瀹� mm
+	printData: {}, // 鎵撳嵃鏁版嵁
+	hiprintTemplate: {} as any,
+});
+
+const previewContentRef = ref();
+
+const showDialog = (hiprintTemplate: any, printData: {}, width = 210) => {
+	//debugger
+	state.dialogVisible = true;
+	state.width = width;
+	state.hiprintTemplate = hiprintTemplate;
+	state.printData = printData;
+	nextTick(() => {
+		while (previewContentRef.value?.firstChild) {
+			previewContentRef.value.removeChild(previewContentRef.value.firstChild);
+		}
+		const newHtml = hiprintTemplate.getHtml(printData);
+		previewContentRef.value.appendChild(newHtml[0]);
+	});
+};
+
+const print = () => {
+	console.log("鐩存帴鎵撳嵃")
+	state.waitShowPrinter = true;
+	state.hiprintTemplate.print(
+		state.printData,
+		{},
+		{
+			callback: () => {
+				state.waitShowPrinter = false;
+			},
+		}
+	);
+};
+
+const toPdf = () => {
+	state.hiprintTemplate.toPdf({}, 'PDF鏂囦欢');
+};
+
+const hideDialog = () => {
+	state.dialogVisible = false;
+};
+
+defineExpose({ showDialog });
+</script>
+
+<style lang="less" scoped>
+:deep(.ant-modal-body) {
+	padding: 0px;
+}
+
+:deep(.ant-modal-content) {
+	margin-bottom: 24px;
+}
+
+:deep(.el-dialog__title) {
+	color: white !important;
+}
+
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/print/component/hiprint/print-data.ts b/LA24030_LuLiPackageLine_Web/src/views/system/print/component/hiprint/print-data.ts
new file mode 100644
index 0000000..c9bac8c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/print/component/hiprint/print-data.ts
@@ -0,0 +1,70 @@
+// 鎵撳嵃鏁版嵁
+import logoImg from '/@/assets/logo.png';
+export default {
+	barCode: 'Admin.NET',
+	qrCode: '浜岀淮鐮�',
+	longText: '闀挎枃鏈�',
+	imageUrl: logoImg,
+	text1:"do1233",
+	table: [
+		{ NAME: '娴嬭瘯鍟嗗搧01', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6', NO: 1 },
+		{ NAME: '娴嬭瘯鍟嗗搧02', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧03', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧04', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧05', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧06', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧07', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧08', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧09', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧10', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧11', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧12', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧13', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧14', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧15', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧16', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧17', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧18', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧19', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧20', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧21', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧22', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧23', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧24', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧25', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧26', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧27', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧28', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧29', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+		{ NAME: '娴嬭瘯鍟嗗搧30', SL: 2, GG: '1*24g', TM: '2O22010100110', DJ: '6.8', JE: '13.6' , NO: 1},
+	],
+};
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/print/component/hiprint/providers.ts b/LA24030_LuLiPackageLine_Web/src/views/system/print/component/hiprint/providers.ts
new file mode 100644
index 0000000..a6e420e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/print/component/hiprint/providers.ts
@@ -0,0 +1,445 @@
+/* eslint-disable */
+import { hiprint } from 'vue-plugin-hiprint';
+import logoImg from '/@/assets/logo.png';
+
+// 鑷畾涔夎璁″厓绱�1
+export const aProvider = function () {
+	var addElementTypes = function (context: any) {
+		context.removePrintElementTypes('aProviderModule');
+		context.addPrintElementTypes('aProviderModule', [
+			new hiprint.PrintElementTypeGroup('銆愬叕鍏辩粍浠躲��', [
+				{
+					tid: 'aProviderModule.barcode',
+					title: '鏉″舰鐮�',
+					data: '18012345678',
+					type: 'text',
+					options: {
+						field: 'barCode',
+						testData: 'Z18012345678',
+						height: 32,
+						fontSize: 12,
+						lineHeight: 18,
+						fontWeight: '700',
+						textAlign: 'left',
+						textContentVerticalAlign: 'middle',
+						textType: 'barcode',
+					},
+				},
+				{
+					tid: 'aProviderModule.qrcode',
+					title: '浜岀淮鐮�',
+					data: 'Z18012345678',
+					type: 'text',
+					options: {
+						field: 'qrCode',
+						testData: 'Z18012345678',
+						height: 64,
+						width: 64,
+						fontSize: 12,
+						lineHeight: 18,
+						fontWeight: '700',
+						textAlign: 'left',
+						textContentVerticalAlign: 'middle',
+						textType: 'qrcode',
+					},
+				},
+				{
+					tid: 'aProviderModule.table',
+					title: '琛ㄦ牸',
+					type: 'table',
+					options: {
+						field: 'table',
+						tableHeaderRepeat: 'first',
+						tableFooterRepeat: 'last',
+						fields: [
+							{ text: '鍚嶇О', field: 'NAME' },
+							{ text: '鏁伴噺', field: 'SL' },
+							{ text: '瑙勬牸', field: 'GG' },
+							{ text: '鏉$爜', field: 'TM' },
+							{ text: '鍗曚环', field: 'DJ' },
+							{ text: '閲戦', field: 'JE' },
+						],
+					},
+					editable: true,
+					columnDisplayEditable: true, //鍒楁樉绀烘槸鍚﹁兘缂栬緫
+					columnDisplayIndexEditable: true, //鍒楅『搴忔樉绀烘槸鍚﹁兘缂栬緫
+					columnTitleEditable: true, //鍒楁爣棰樻槸鍚﹁兘缂栬緫
+					columnResizable: true, //鍒楀鏄惁鑳借皟鏁�
+					columnAlignEditable: true, //鍒楀榻愭槸鍚﹁皟鏁�
+					isEnableEditField: true, //缂栬緫瀛楁
+					isEnableContextMenu: true, //寮�鍚彸閿彍鍗� 榛樿true
+					isEnableInsertRow: true, //鎻掑叆琛�
+					isEnableDeleteRow: true, //鍒犻櫎琛�
+					isEnableInsertColumn: true, //鎻掑叆鍒�
+					isEnableDeleteColumn: true, //鍒犻櫎鍒�
+					isEnableMergeCell: true, //鍚堝苟鍗曞厓鏍�
+					//ly0805 鑷畾涔夎〃鏍煎垪锛屾湁鏂板瓧娈靛湪杩欓噷娣诲姞 搴忓彿闇�瑕乯s鑷繁閬嶅巻璧嬪��
+					columns: [
+						[
+							{ title: '搴忓彿', align: 'center', field: 'no', width: 150 },
+							{ title: '鐗╂枡缂栧彿', align: 'center', field: 'materialCode', width: 150 },
+							{ title: '鏁伴噺', align: 'center', field: 'quantity', width: 80 },
+							{ title: '鍗曚綅', align: 'center', field: 'unit', width: 80 },
+							{ title: '閲囪喘鍗曚綅', align: 'center', field: 'poUnit', width: 80 },
+							{ title: '搴撳瓨鍗曚綅', align: 'center', field: 'materialUnit', width: 80 },
+
+							{ title: '鍚嶇О', align: 'center', field: 'NAME', width: 150 },
+							// { title: '鏁伴噺', align: 'center', field: 'SL', width: 80 },
+							{ title: '瑙勬牸', align: 'center', field: 'GG', width: 80, checked: false },
+							{ title: '鏉$爜', align: 'center', field: 'TM', width: 100, checked: false },
+							{ title: '鍗曚环', align: 'center', field: 'DJ', width: 100 },
+							{ title: '閲戦', align: 'center', field: 'JE', width: 100, checked: false },
+						],
+					],
+					// footerFormatter: function (options: unknown, rows: unknown, data: any, currentPageGridRowsData: unknown) {
+					//   if (data && data['totalCap']) {
+					//     return `<td style="padding:0 10px" colspan="100">${'搴旀敹閲戦澶у啓: ' + data['totalCap']}</td>`
+					//   }
+					//   return '<td style="padding:0 10px" colspan="100">搴旀敹閲戦澶у啓: </td>'
+					// },
+				},
+				{
+					tid: 'aProviderModule.customText',
+					title: '鏂囨湰',
+					customText: '鑷畾涔夋枃鏈�',
+					custom: true,
+					type: 'text',
+					options: {
+						width: 200,
+						testData: '闀挎枃鏈垎椤�/涓嶅垎椤垫祴璇�',
+					},
+				},
+				{
+					tid: 'aProviderModule.longText',
+					title: '闀挎枃鏈�',
+					type: 'longText',
+					options: {
+						field: 'test.longText',
+						width: 200,
+						testData: '闀挎枃鏈垎椤�/涓嶅垎椤垫祴璇�',
+					},
+				},
+				{ tid: 'aProviderModule.logo', title: 'Logo', data: logoImg, type: 'image', options: { field: 'imageUrl' } },
+				{ tid: 'aProviderModule.hline', title: '妯嚎', type: 'hline' },
+				{ tid: 'aProviderModule.vline', title: '绔栫嚎', type: 'vline' },
+				{ tid: 'aProviderModule.rect', title: '鐭╁舰', type: 'rect' },
+				{ tid: 'aProviderModule.oval', title: '妞渾', type: 'oval' },
+			]),
+			new hiprint.PrintElementTypeGroup('銆愯鍥惧瓧娈点��', [
+				{
+					tid: 'aProviderModule.creater',
+					title: '鍒惰〃浜�',
+					data: 'Admin.NET',
+					type: 'text',
+					options: {
+						field: 'creater',
+						testData: 'Admin.NET',
+						height: 16,
+						fontSize: 6.75,
+						fontWeight: '700',
+						textAlign: 'left',
+						textContentVerticalAlign: 'middle',
+					},
+				},
+				{
+					tid: 'aProviderModule.printDate',
+					title: '鎵撳嵃鏃堕棿',
+					data: '2023-07-20 09:00',
+					type: 'text',
+					options: {
+						field: 'printDate',
+						testData: '2023-07-20 09:00',
+						height: 16,
+						fontSize: 6.75,
+						fontWeight: '700',
+						textAlign: 'left',
+						textContentVerticalAlign: 'middle',
+					},
+				},
+				{
+					tid: 'aProviderModule.signer',
+					title: '搴撶绛惧瓧',
+					data: 'Admin.NET',
+					type: 'text',
+					options: {
+						field: 'signer',
+						testData: 'Admin.NET',
+						height: 16,
+						fontSize: 6.75,
+						fontWeight: '700',
+						textAlign: 'left',
+						textContentVerticalAlign: 'middle',
+					},
+				},
+				{
+					tid: 'aProviderModule.director',
+					title: '缁忕悊绛惧瓧',
+					data: 'Admin.NET',
+					type: 'text',
+					options: {
+						field: 'director',
+						testData: 'Admin.NET',
+						height: 16,
+						fontSize: 6.75,
+						fontWeight: '700',
+						textAlign: 'left',
+						textContentVerticalAlign: 'middle',
+					},
+				},
+			]),
+		]);
+	};
+	return {
+		addElementTypes: addElementTypes,
+	};
+};
+
+// 鑷畾涔夎璁″厓绱�2
+export const bProvider = function () {
+	var addElementTypes = function (context: any) {
+		context.removePrintElementTypes('bProviderModule');
+		context.addPrintElementTypes('bProviderModule', [
+			new hiprint.PrintElementTypeGroup('銆愬父瑙勩��', [
+				{
+					tid: 'bProviderModule.header',
+					title: '鍗曟嵁琛ㄥご',
+					data: '鍗曟嵁琛ㄥご',
+					type: 'text',
+					options: {
+						testData: '鍗曟嵁琛ㄥご',
+						height: 17,
+						fontSize: 16.5,
+						fontWeight: '700',
+						textAlign: 'center',
+						hideTitle: true,
+					},
+				},
+				{
+					tid: 'bProviderModule.type',
+					title: '鍗曟嵁绫诲瀷',
+					data: '鍗曟嵁绫诲瀷',
+					type: 'text',
+					options: {
+						testData: '鍗曟嵁绫诲瀷',
+						height: 16,
+						fontSize: 15,
+						fontWeight: '700',
+						textAlign: 'center',
+						hideTitle: true,
+					},
+				},
+				{
+					tid: 'bProviderModule.order',
+					title: '璁㈠崟缂栧彿',
+					data: 'Z18012345678',
+					type: 'text',
+					options: {
+						field: 'orderId',
+						testData: 'Z18012345678',
+						height: 16,
+						fontSize: 6.75,
+						fontWeight: '700',
+						textAlign: 'left',
+						textContentVerticalAlign: 'middle',
+					},
+				},
+				{
+					tid: 'bProviderModule.date',
+					title: '涓氬姟鏃ユ湡',
+					data: '2023-07-20',
+					type: 'text',
+					options: {
+						field: 'date',
+						testData: '2023-07-20',
+						height: 16,
+						fontSize: 6.75,
+						fontWeight: '700',
+						textAlign: 'left',
+						textContentVerticalAlign: 'middle',
+					},
+				},
+				{
+					tid: 'bProviderModule.barcode',
+					title: '鏉″舰鐮�',
+					data: '18012345678',
+					type: 'text',
+					options: {
+						testData: 'Z18012345678',
+						height: 32,
+						fontSize: 12,
+						lineHeight: 18,
+						fontWeight: '700',
+						textAlign: 'left',
+						textContentVerticalAlign: 'middle',
+						textType: 'barcode',
+					},
+				},
+				{
+					tid: 'bProviderModule.qrcode',
+					title: '浜岀淮鐮�',
+					data: 'Z18012345678',
+					type: 'text',
+					options: {
+						testData: 'Z18012345678',
+						height: 64,
+						width: 64,
+						fontSize: 12,
+						lineHeight: 18,
+						fontWeight: '700',
+						textAlign: 'left',
+						textContentVerticalAlign: 'middle',
+						textType: 'qrcode',
+					},
+				},
+				{
+					tid: 'bProviderModule.platform',
+					title: '骞冲彴鍚嶇О',
+					data: '骞冲彴鍚嶇О',
+					type: 'text',
+					options: {
+						testData: '骞冲彴鍚嶇О',
+						height: 17,
+						fontSize: 16.5,
+						fontWeight: '700',
+						textAlign: 'center',
+						hideTitle: true,
+					},
+				},
+				{ tid: 'bProviderModule.image', title: 'Logo', data: logoImg, type: 'image' },
+			]),
+			new hiprint.PrintElementTypeGroup('銆愬鎴枫��', [
+				{
+					tid: 'bProviderModule.khname',
+					title: '瀹㈡埛鍚嶇О',
+					data: '楂樼骇瀹㈡埛',
+					type: 'text',
+					options: {
+						field: 'name',
+						testData: '楂樼骇瀹㈡埛',
+						height: 16,
+						fontSize: 6.75,
+						fontWeight: '700',
+						textAlign: 'left',
+						textContentVerticalAlign: 'middle',
+					},
+				},
+				{
+					tid: 'bProviderModule.tel',
+					title: '瀹㈡埛鐢佃瘽',
+					data: '18012345678',
+					type: 'text',
+					options: {
+						field: 'tel',
+						testData: '18012345678',
+						height: 16,
+						fontSize: 6.75,
+						fontWeight: '700',
+						textAlign: 'left',
+						textContentVerticalAlign: 'middle',
+					},
+				},
+			]),
+			new hiprint.PrintElementTypeGroup('銆愯〃鏍�/鍏朵粬銆�', [
+				{
+					tid: 'bProviderModule.table',
+					title: '璁㈠崟鏁版嵁',
+					type: 'table',
+					options: {
+						field: 'table',
+						fields: [
+							{ text: '鍚嶇О', field: 'NAME' },
+							{ text: '鏁伴噺', field: 'SL' },
+							{ text: '瑙勬牸', field: 'GG' },
+							{ text: '鏉$爜', field: 'TM' },
+							{ text: '鍗曚环', field: 'DJ' },
+							{ text: '閲戦', field: 'JE' },
+							{ text: '澶囨敞', field: 'DETAIL' },
+						],
+					},
+					editable: true,
+					columnDisplayEditable: true, //鍒楁樉绀烘槸鍚﹁兘缂栬緫
+					columnDisplayIndexEditable: true, //鍒楅『搴忔樉绀烘槸鍚﹁兘缂栬緫
+					columnTitleEditable: true, //鍒楁爣棰樻槸鍚﹁兘缂栬緫
+					columnResizable: true, //鍒楀鏄惁鑳借皟鏁�
+					columnAlignEditable: true, //鍒楀榻愭槸鍚﹁皟鏁�
+					isEnableEditField: true, //缂栬緫瀛楁
+					isEnableContextMenu: true, //寮�鍚彸閿彍鍗� 榛樿true
+					isEnableInsertRow: true, //鎻掑叆琛�
+					isEnableDeleteRow: true, //鍒犻櫎琛�
+					isEnableInsertColumn: true, //鎻掑叆鍒�
+					isEnableDeleteColumn: true, //鍒犻櫎鍒�
+					isEnableMergeCell: true, //鍚堝苟鍗曞厓鏍�
+					columns: [
+						[
+							{ title: '鍚嶇О', align: 'center', field: 'NAME', width: 100 },
+							{ title: '鏁伴噺', align: 'center', field: 'SL', width: 100 },
+							{ title: '鏉$爜', align: 'center', field: 'TM', width: 100 },
+							{ title: '瑙勬牸', align: 'center', field: 'GG', width: 100 },
+							{ title: '鍗曚环', align: 'center', field: 'DJ', width: 100 },
+							{ title: '閲戦', align: 'center', field: 'JE', width: 100 },
+							{ title: '澶囨敞', align: 'center', field: 'DETAIL', width: 100 },
+						],
+					],
+					// footerFormatter: function (options: unknown, rows: unknown, data: any, currentPageGridRowsData: unknown) {
+					//   if (data && data['totalCap']) {
+					//     return `<td style="padding:0 10px" colspan="100">${'搴旀敹閲戦澶у啓: ' + data['totalCap']}</td>`
+					//   }
+					//   return '<td style="padding:0 10px" colspan="100">搴旀敹閲戦澶у啓: </td>'
+					// },
+				},
+				{ tid: 'bProviderModule.customText', title: '鏂囨湰', customText: '鑷畾涔夋枃鏈�', custom: true, type: 'text' },
+				{
+					tid: 'bProviderModule.longText',
+					title: '闀挎枃鏈�',
+					type: 'longText',
+					options: {
+						field: 'test.longText',
+						width: 200,
+						testData: '闀挎枃鏈垎椤�/涓嶅垎椤垫祴璇�',
+					},
+				},
+			]),
+			new hiprint.PrintElementTypeGroup('銆愯緟鍔┿��', [
+				{
+					tid: 'bProviderModule.hline',
+					title: '妯嚎',
+					type: 'hline',
+				},
+				{
+					tid: 'bProviderModule.vline',
+					title: '绔栫嚎',
+					type: 'vline',
+				},
+				{
+					tid: 'bProviderModule.rect',
+					title: '鐭╁舰',
+					type: 'rect',
+				},
+				{
+					tid: 'bProviderModule.oval',
+					title: '妞渾',
+					type: 'oval',
+				},
+			]),
+		]);
+	};
+	return {
+		addElementTypes: addElementTypes,
+	};
+};
+
+// type: 1渚涜揣鍟� 2缁忛攢鍟�
+export default [
+	{
+		name: 'A璁捐',
+		value: 'aProviderModule',
+		type: 1,
+		f: aProvider(),
+	},
+	{
+		name: 'B璁捐',
+		value: 'bProviderModule',
+		type: 2,
+		f: bProvider(),
+	},
+];
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/print/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/print/index.vue
new file mode 100644
index 0000000..63e1e30
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/print/index.vue
@@ -0,0 +1,144 @@
+<template>
+	<div class="sys-print-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+				<el-form-item label="妯℃澘鍚嶇О">
+					<el-input v-model="state.queryParams.name" placeholder="妯℃澘鍚嶇О" clearable />
+				</el-form-item>
+				<el-form-item>
+					<el-button-group>
+						<el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'sysPrint:page'"> 鏌ヨ </el-button>
+						<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+					</el-button-group>
+				</el-form-item>
+				<el-form-item>
+					<el-button type="primary" icon="ele-Plus" @click="openAddPrint" v-auth="'sysPrint:add'"> 鏂板 </el-button>
+				</el-form-item>
+			</el-form>
+		</el-card>
+
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table :data="state.printData" style="width: 100%" v-loading="state.loading" border>
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" fixed />
+				<el-table-column prop="name" label="鍚嶇О" header-align="center" show-overflow-tooltip />
+				<!-- <el-table-column prop="template" label="妯℃澘" show-overflow-tooltip /> -->
+				<el-table-column prop="orderNo" label="鎺掑簭" align="center" show-overflow-tooltip />
+				<el-table-column label="鐘舵��" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag type="success" v-if="scope.row.status === 1">鍚敤</el-tag>
+						<el-tag type="danger" v-else>绂佺敤</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column label="淇敼璁板綍" width="100" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<ModifyRecord :data="scope.row" />
+					</template>
+				</el-table-column>
+				<el-table-column label="鎿嶄綔" width="140" fixed="right" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditPrint(scope.row)" v-auth="'sysPrint:update'"> 缂栬緫 </el-button>
+						<el-button icon="ele-Delete" size="small" text type="danger" @click="delPrint(scope.row)" v-auth="'sysPrint:delete'"> 鍒犻櫎 </el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="state.tableParams.page"
+				v-model:page-size="state.tableParams.pageSize"
+				:total="state.tableParams.total"
+				:page-sizes="[10, 20, 50, 100]"
+				small
+				background
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+		</el-card>
+
+		<EditPrint ref="editPrintRef" :title="state.editPrintTitle" @handleQuery="handleQuery" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysPrint">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import EditPrint from '/@/views/system/print/component/editPrint.vue';
+import ModifyRecord from '/@/components/table/modifyRecord.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysPrintApi } from '/@/api-services/api';
+import { SysPrint } from '/@/api-services/models';
+
+const editPrintRef = ref<InstanceType<typeof EditPrint>>();
+const state = reactive({
+	loading: false,
+	printData: [] as Array<SysPrint>,
+	queryParams: {
+		name: undefined,
+	},
+	tableParams: {
+		page: 1,
+		pageSize: 10,
+		total: 0 as any,
+	},
+	editPrintTitle: '',
+});
+
+onMounted(async () => {
+	handleQuery();
+});
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.loading = true;
+	let params = Object.assign(state.queryParams, state.tableParams);
+	var res = await getAPI(SysPrintApi).apiSysPrintPagePost(params);
+	state.printData = res.data.result?.items ?? [];
+	state.tableParams.total = res.data.result?.total;
+	state.loading = false;
+};
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.name = undefined;
+	handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddPrint = () => {
+	state.editPrintTitle = '娣诲姞鎵撳嵃妯℃澘';
+	editPrintRef.value?.openDialog({});
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditPrint = (row: any) => {
+	state.editPrintTitle = '缂栬緫鎵撳嵃妯℃澘';
+	editPrintRef.value?.openDialog(row);
+};
+
+// 鍒犻櫎褰撳墠琛�
+const delPrint = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎鎵撳嵃妯℃澘锛氥��${row.name}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysPrintApi).apiSysPrintDeletePost({ id: row.id });
+			handleQuery();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+	state.tableParams.pageSize = val;
+	handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+	state.tableParams.page = val;
+	handleQuery();
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/region/component/editRegion.vue b/LA24030_LuLiPackageLine_Web/src/views/system/region/component/editRegion.vue
new file mode 100644
index 0000000..a89977f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/region/component/editRegion.vue
@@ -0,0 +1,121 @@
+<template>
+	<div class="sys-region-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> {{ props.title }} </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="涓婄骇鍚嶇О">
+							<el-cascader
+								:options="regionData"
+								:props="{ checkStrictly: true, emitPath: false, value: 'id', label: 'name' }"
+								placeholder="璇烽�夋嫨涓婄骇鍚嶇О"
+								clearable
+								class="w100"
+								v-model="ruleForm.pid"
+							>
+								<template #default="{ node, data }">
+									<span>{{ data.name }}</span>
+									<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
+								</template>
+							</el-cascader>
+						</el-form-item>
+					</el-col> -->
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="涓婄骇琛屾斂Id" prop="pid" :rules="[{ required: true, message: '涓婄骇琛屾斂Id涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.pid" placeholder="涓婄骇琛屾斂Id鎴栦笂绾ц鏀夸唬鐮佹垨榛樿0" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="琛屾斂鍚嶇О" prop="name" :rules="[{ required: true, message: '琛屾斂鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.name" placeholder="琛屾斂鍚嶇О" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="琛屾斂浠g爜" prop="code" :rules="[{ required: true, message: '琛屾斂浠g爜涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.code" placeholder="琛屾斂浠g爜" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鍖哄彿" prop="cityCode">
+							<el-input v-model="state.ruleForm.cityCode" placeholder="鍖哄彿" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鎺掑簭">
+							<el-input-number v-model="state.ruleForm.orderNo" placeholder="鎺掑簭" class="w100" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="澶囨敞">
+							<el-input v-model="state.ruleForm.remark" placeholder="璇疯緭鍏ュ娉ㄥ唴瀹�" clearable type="textarea" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditRegion">
+import { reactive, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysRegionApi } from '/@/api-services/api';
+import { UpdateRegionInput } from '/@/api-services/models';
+
+const props = defineProps({
+	title: String,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as UpdateRegionInput,
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysRegionApi).apiSysRegionUpdatePost(state.ruleForm);
+		} else {
+			await getAPI(SysRegionApi).apiSysRegionAddPost(state.ruleForm);
+		}
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/region/component/regionTree.vue b/LA24030_LuLiPackageLine_Web/src/views/system/region/component/regionTree.vue
new file mode 100644
index 0000000..94af692
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/region/component/regionTree.vue
@@ -0,0 +1,139 @@
+<template>
+	<el-card class="box-card" shadow="hover" style="height: 100%" body-style="height:100%; overflow:auto">
+		<template #header>
+			<div class="card-header">
+				<div class="tree-h-flex">
+					<div class="tree-h-left">
+						<el-input :prefix-icon="Search" v-model="filterText" placeholder="琛屾斂鍖哄煙鍚嶇О" />
+					</div>
+					<div class="tree-h-right">
+						<el-dropdown @command="handleCommand">
+							<el-button style="margin-left: 8px; width: 34px">
+								<el-icon class="el-icon--center">
+									<more-filled />
+								</el-icon>
+							</el-button>
+							<template #dropdown>
+								<el-dropdown-menu>
+									<el-dropdown-item command="expandAll">鍏ㄩ儴灞曞紑</el-dropdown-item>
+									<el-dropdown-item command="collapseAll">鍏ㄩ儴鎶樺彔</el-dropdown-item>
+									<el-dropdown-item command="rootNode">鏍硅妭鐐�</el-dropdown-item>
+									<el-dropdown-item command="refresh">鍒锋柊</el-dropdown-item>
+								</el-dropdown-menu>
+							</template>
+						</el-dropdown>
+					</div>
+				</div>
+			</div>
+		</template>
+		<div style="margin-bottom: 45px" v-loading="state.loading">
+			<el-tree
+				ref="treeRef"
+				class="filter-tree"
+				:data="state.regionData"
+				node-key="id"
+				:props="{ children: 'children', label: 'name' }"
+				:filter-node-method="filterNode"
+				@node-click="nodeClick"
+				highlight-current
+				check-strictly
+				accordion
+				lazy
+				:load="loadNode"
+			/>
+		</div>
+	</el-card>
+</template>
+
+<script lang="ts" setup>
+import { onMounted, reactive, ref, watch } from 'vue';
+import type { ElTree } from 'element-plus';
+import { Search, MoreFilled } from '@element-plus/icons-vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysRegionApi } from '/@/api-services/api';
+import { SysRegion } from '/@/api-services/models';
+
+const filterText = ref('');
+const treeRef = ref<InstanceType<typeof ElTree>>();
+const state = reactive({
+	loading: false,
+	regionData: [] as Array<SysRegion>,
+});
+
+onMounted(() => {
+	initTreeData();
+});
+
+watch(filterText, (val) => {
+	treeRef.value!.filter(val);
+});
+
+const initTreeData = async () => {
+	state.loading = true;
+	var res = await getAPI(SysRegionApi).apiSysRegionListGet(0);
+	state.regionData = res.data.result ?? [];
+	state.loading = false;
+};
+
+const loadNode = async (node: any, resolve: any) => {
+	if (node.data == undefined || Array.isArray(node.data)) return;
+
+	state.loading = true;
+	var res = await getAPI(SysRegionApi).apiSysRegionListGet(node.data.id);
+	var data = res.data.result ?? [];
+	state.loading = false;
+	resolve(data);
+};
+
+// 鑾峰彇宸茬粡閫夋嫨
+const getCheckedKeys = () => {
+	return treeRef.value!.getCheckedKeys();
+};
+
+const filterNode = (value: string, data: any) => {
+	if (!value) return true;
+	return data.name.includes(value);
+};
+
+const handleCommand = async (command: string | number | object) => {
+	if ('expandAll' == command) {
+		for (let i = 0; i < treeRef.value!.store._getAllNodes().length; i++) {
+			treeRef.value!.store._getAllNodes()[i].expanded = true;
+		}
+	} else if ('collapseAll' == command) {
+		for (let i = 0; i < treeRef.value!.store._getAllNodes().length; i++) {
+			treeRef.value!.store._getAllNodes()[i].expanded = false;
+		}
+	} else if ('refresh' == command) {
+		initTreeData();
+	} else if ('rootNode' == command) {
+		emits('node-click', { id: 0, name: '' });
+	}
+};
+
+// 涓庣埗缁勪欢鐨勪氦浜掗�昏緫
+const emits = defineEmits(['node-click']);
+const nodeClick = (node: any) => {
+	emits('node-click', { id: node.id, name: node.name });
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ initTreeData, getCheckedKeys });
+</script>
+
+<style lang="scss" scoped>
+.tree-h-flex {
+	display: flex;
+}
+
+.tree-h-left {
+	flex: 1;
+	width: 100%;
+}
+
+.tree-h-right {
+	width: 42px;
+	min-width: 42px;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/region/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/region/index.vue
new file mode 100644
index 0000000..67738f0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/region/index.vue
@@ -0,0 +1,182 @@
+<template>
+	<div class="sys-region-container">
+		<el-row :gutter="8" style="width: 100%; flex: 1">
+			<el-col :span="6" :xs="24">
+				<RegionTree ref="regionTreeRef" @node-click="nodeClick" />
+			</el-col>
+
+			<el-col :span="18" :xs="24" style="display: flex; flex-direction: column">
+				<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+					<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+						<el-form-item label="琛屾斂鍚嶇О">
+							<el-input v-model="state.queryParams.name" placeholder="琛屾斂鍚嶇О" clearable />
+						</el-form-item>
+						<el-form-item label="琛屾斂浠g爜">
+							<el-input v-model="state.queryParams.code" placeholder="琛屾斂浠g爜" clearable />
+						</el-form-item>
+						<el-form-item>
+							<el-button-group>
+								<el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'sysRegion:page'"> 鏌ヨ </el-button>
+								<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+							</el-button-group>
+						</el-form-item>
+						<el-form-item>
+							<el-button type="primary" icon="ele-Plus" @click="openAddRegion" v-auth="'sysRegion:add'"> 鏂板 </el-button>
+							<el-button type="danger" icon="ele-Lightning" @click="handlSync" v-auth="'sysRegion:sync'"> 鍚屾缁熻灞� </el-button>
+						</el-form-item>
+					</el-form>
+				</el-card>
+
+				<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+					<el-table :data="state.regionData" style="width: 100%" v-loading="state.loading" row-key="id" default-expand-all :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" border>
+						<el-table-column prop="name" label="琛屾斂鍚嶇О" align="center" show-overflow-tooltip />
+						<el-table-column prop="code" label="琛屾斂浠g爜" align="center" show-overflow-tooltip />
+						<el-table-column prop="cityCode" label="鍖哄彿" align="center" show-overflow-tooltip />
+						<el-table-column prop="orderNo" label="鎺掑簭" width="70" align="center" show-overflow-tooltip />
+						<el-table-column prop="remark" label="澶囨敞" header-align="center" show-overflow-tooltip />
+						<el-table-column label="鎿嶄綔" width="140" fixed="right" align="center" show-overflow-tooltip>
+							<template #default="scope">
+								<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditRegion(scope.row)" v-auth="'sysRegion:update'"> 缂栬緫 </el-button>
+								<el-button icon="ele-Delete" size="small" text type="danger" @click="delRegion(scope.row)" v-auth="'sysRegion:delete'"> 鍒犻櫎 </el-button>
+							</template>
+						</el-table-column>
+					</el-table>
+					<el-pagination
+						v-model:currentPage="state.tableParams.page"
+						v-model:page-size="state.tableParams.pageSize"
+						:total="state.tableParams.total"
+						:page-sizes="[10, 20, 50, 100]"
+						small
+						background
+						@size-change="handleSizeChange"
+						@current-change="handleCurrentChange"
+						layout="total, sizes, prev, pager, next, jumper"
+					/>
+				</el-card>
+			</el-col>
+		</el-row>
+
+		<EditRegion ref="editRegionRef" :title="state.editRegionTitle" @handleQuery="handleQuery" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysRegion">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage, ElNotification } from 'element-plus';
+import RegionTree from '/@/views/system/region/component/regionTree.vue';
+import EditRegion from '/@/views/system/region/component/editRegion.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysRegionApi } from '/@/api-services/api';
+import { SysRegion } from '/@/api-services/models';
+
+const editRegionRef = ref<InstanceType<typeof EditRegion>>();
+const regionTreeRef = ref<InstanceType<typeof RegionTree>>();
+const state = reactive({
+	loading: false,
+	regionData: [] as Array<SysRegion>, // 鍒楄〃鏁版嵁
+	queryParams: {
+		id: -1,
+		pid: undefined,
+		name: undefined,
+		code: undefined,
+	},
+	tableParams: {
+		page: 1,
+		pageSize: 200,
+		total: 0 as any,
+	},
+	editRegionTitle: '',
+});
+
+onMounted(() => {
+	handleQuery();
+});
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.loading = true;
+	let params = Object.assign(state.queryParams, state.tableParams);
+	var res = await getAPI(SysRegionApi).apiSysRegionPagePost(params);
+	state.regionData = res.data.result?.items ?? [];
+	state.tableParams.total = res.data.result?.total;
+	state.loading = false;
+};
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.id = -1;
+	state.queryParams.pid = undefined;
+	state.queryParams.name = undefined;
+	state.queryParams.code = undefined;
+	handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddRegion = () => {
+	state.editRegionTitle = '娣诲姞琛屾斂鍖哄煙';
+	editRegionRef.value?.openDialog({ orderNo: 100 });
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditRegion = (row: any) => {
+	state.editRegionTitle = '缂栬緫琛屾斂鍖哄煙';
+	editRegionRef.value?.openDialog(row);
+};
+
+// 鍒犻櫎
+const delRegion = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎琛屾斂鍖哄煙锛氥��${row.name}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysRegionApi).apiSysRegionDeletePost({ id: row.id });
+			handleQuery();
+			// 缂栬緫鍒犻櫎鍚庢洿鏂版満鏋勬暟鎹�
+			regionTreeRef.value?.initTreeData();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鏍戠粍浠剁偣鍑�
+const nodeClick = async (node: any) => {
+	state.queryParams.pid = node.id;
+	state.queryParams.name = undefined;
+	state.queryParams.code = undefined;
+	handleQuery();
+};
+
+// 鍚屾鍥藉缁熻灞�鎿嶄綔
+const handlSync = async () => {
+	ElMessageBox.confirm('纭鍚屾鍥藉缁熻灞�琛屾斂鍖哄煙鏁版嵁锛�', '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			ElNotification({
+				title: '鎻愮ず',
+				message: '鍚庡彴鍔姏鍚屾涓�...',
+				type: 'success',
+				position: 'bottom-right',
+			});
+			await getAPI(SysRegionApi).apiSysRegionSyncPost({ timeout: 1000 * 60 * 30 });
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+	state.tableParams.pageSize = val;
+	handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+	state.tableParams.page = val;
+	handleQuery();
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/role/component/editRole.vue b/LA24030_LuLiPackageLine_Web/src/views/system/role/component/editRole.vue
new file mode 100644
index 0000000..343f938
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/role/component/editRole.vue
@@ -0,0 +1,182 @@
+<template>
+	<div class="sys-role-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="瑙掕壊鍚嶇О" prop="name" :rules="[{ required: true, message: '瑙掕壊鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.name" placeholder="瑙掕壊鍚嶇О" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="瑙掕壊缂栧彿" prop="code" :rules="[{ required: true, message: '瑙掕壊缂栧彿涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.code" placeholder="瑙掕壊缂栧彿" clearable :disabled="state.ruleForm.code == 'sys_admin' && state.ruleForm.id != undefined" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎺掑簭">
+							<el-input-number v-model="state.ruleForm.orderNo" placeholder="鎺掑簭" class="w100" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐘舵��">
+							<el-radio-group v-model="state.ruleForm.status">
+								<el-radio :value="1">鍚敤</el-radio>
+								<el-radio :value="2">绂佺敤</el-radio>
+							</el-radio-group>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="澶囨敞">
+							<el-input v-model="state.ruleForm.remark" placeholder="璇疯緭鍏ュ娉ㄥ唴瀹�" clearable type="textarea" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鑿滃崟鏉冮檺" v-loading="state.loading">
+							<el-tree
+								ref="treeRef"
+								:data="state.menuData"
+								node-key="id"
+								show-checkbox
+								:props="{ children: 'children', label: 'title', class: treeNodeClass }"
+								icon="ele-Menu"
+								highlight-current
+								default-expand-all
+								style="height: 600px;overflow-y: auto;"
+							/>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditRole">
+import { onMounted, reactive, ref } from 'vue';
+import type { ElTree } from 'element-plus';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysMenuApi, SysRoleApi } from '/@/api-services/api';
+import { SysMenu, UpdateRoleInput } from '/@/api-services/models';
+
+const props = defineProps({
+	title: String,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const treeRef = ref<InstanceType<typeof ElTree>>();
+const state = reactive({
+	loading: false,
+	isShowDialog: false,
+	ruleForm: {} as UpdateRoleInput,
+	menuData: [] as Array<SysMenu>, // 鑿滃崟鏁版嵁
+});
+
+onMounted(async () => {
+	state.loading = true;
+	var res = await getAPI(SysMenuApi).apiSysMenuListGet();
+	state.menuData = res.data.result ?? [];
+	state.loading = false;
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = async (row: any) => {
+	ruleFormRef.value?.resetFields();
+	treeRef.value?.setCheckedKeys([]); // 娓呯┖閫変腑鍊�
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	if (row.id != undefined) {
+		var res = await getAPI(SysRoleApi).apiSysRoleOwnMenuListGet(row.id);
+		setTimeout(() => {
+			treeRef.value?.setCheckedKeys(res.data.result ?? []);
+		}, 100);
+	}
+	state.isShowDialog = true;
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		state.ruleForm.menuIdList = treeRef.value?.getCheckedKeys() as Array<number>; //.concat(treeRef.value?.getHalfCheckedKeys());
+			console.log("66666666666")
+			console.log(state.ruleForm.menuIdList)
+			debugger
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysRoleApi).apiSysRoleUpdatePost(state.ruleForm);
+		} else {
+			await getAPI(SysRoleApi).apiSysRoleAddPost(state.ruleForm);
+		}
+		closeDialog();
+	});
+};
+
+// 鍙跺瓙鑺傜偣鍚岃鏄剧ず鏍峰紡
+const treeNodeClass = (node: SysMenu) => {
+	let addClass = true; // 娣诲姞鍙跺瓙鑺傜偣鍚岃鏄剧ず鏍峰紡
+	for (var key in node.children) {
+		// 濡傛灉瀛樺湪瀛愯妭鐐归潪鍙跺瓙鑺傜偣锛屼笉娣诲姞鏍峰紡
+		if (node.children[key].children?.length ?? 0 > 0) {
+			addClass = false;
+			break;
+		}
+	}
+	return addClass ? 'penultimate-node' : '';
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
+
+<style lang="scss" scoped>
+.menu-data-tree {
+	width: 100%;
+	border: 1px solid var(--el-border-color);
+	border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
+	padding: 5px;
+}
+
+:deep(.penultimate-node) {
+	.el-tree-node__children {
+		padding-left: 40px;
+		white-space: pre-wrap;
+		line-height: 100%;
+
+		.el-tree-node {
+			display: inline-block;
+		}
+
+		.el-tree-node__content {
+			padding-left: 5px !important;
+			padding-right: 5px;
+
+			// .el-tree-node__expand-icon {
+			// 	display: none;
+			// }
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/role/component/grantData.vue b/LA24030_LuLiPackageLine_Web/src/views/system/role/component/grantData.vue
new file mode 100644
index 0000000..8b069be
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/role/component/grantData.vue
@@ -0,0 +1,88 @@
+<template>
+	<div class="sys-grantData-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="450px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> 鎺堟潈鏁版嵁鑼冨洿 </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" label-position="top">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl1="24" class="mb20">
+						<el-form-item label="鏁版嵁鑼冨洿锛�">
+							<el-select v-model="state.ruleForm.dataScope" placeholder="鏁版嵁鑼冨洿" style="width: 100%">
+								<el-option v-for="d in state.dataScopeType" :key="d.value" :label="d.label" :value="d.value" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl1="24" v-show="state.ruleForm.dataScope === 5">
+						<el-form-item label="鏈烘瀯鍒楄〃锛�">
+							<OrgTree ref="orgTreeRef" class="w100" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysGrantData">
+import { reactive, ref } from 'vue';
+import OrgTree from '/@/views/system/org/component/orgTree.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysRoleApi } from '/@/api-services/api';
+import { RoleOrgInput } from '/@/api-services/models';
+
+const emits = defineEmits(['handleQuery']);
+const orgTreeRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as RoleOrgInput,
+	dataScopeType: [
+		{ value: 1, label: '鍏ㄩ儴鏁版嵁' },
+		{ value: 2, label: '鏈儴闂ㄥ強浠ヤ笅鏁版嵁' },
+		{ value: 3, label: '鏈儴闂ㄦ暟鎹�' },
+		{ value: 4, label: '浠呮湰浜烘暟鎹�' },
+		{ value: 5, label: '鑷畾涔夋暟鎹�' },
+	],
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = async (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	var res = await getAPI(SysRoleApi).apiSysRoleOwnOrgListGet(row.id);
+	setTimeout(() => {
+		orgTreeRef.value?.setCheckedKeys(res.data.result);
+	}, 100);
+	state.isShowDialog = true;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = async () => {
+	if (state.ruleForm.dataScope === 5) state.ruleForm.orgIdList = orgTreeRef.value?.getCheckedKeys();
+	await getAPI(SysRoleApi).apiSysRoleGrantDataScopePost(state.ruleForm);
+	closeDialog();
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/role/component/pdaMenu.vue b/LA24030_LuLiPackageLine_Web/src/views/system/role/component/pdaMenu.vue
new file mode 100644
index 0000000..43c9982
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/role/component/pdaMenu.vue
@@ -0,0 +1,165 @@
+<template>
+	<div class="sys-role-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span>PDA鑿滃崟鏉冮檺鍒嗛厤</span>
+				</div>
+			</template>
+			<el-row :gutter="35">
+				<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+					<el-tree
+						ref="treeRef"
+						:data="state.menuData"
+						node-key="id"
+						show-checkbox
+						:props="{ children: 'wmsPdaRoleMenuOutput', label: 'name', class: treeNodeClass }"
+						icon="ele-Menu"
+						highlight-current
+						default-expand-all
+					/>
+				</el-col>
+			</el-row>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button :loading="state.loading" type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditRole">
+import { onMounted, reactive, ref } from 'vue';
+import type { ElTree } from 'element-plus';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysMenuApi, SysRoleApi } from '/@/api-services/api';
+import { SysMenu, UpdateRoleInput } from '/@/api-services/models';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { listSysPadPowerByRoleId, bindRolePdaMenu } from '/@/api/main/sysPadPower';
+
+const emits = defineEmits(['handleQuery']);
+const treeRef = ref<InstanceType<typeof ElTree>>();
+const state = reactive({
+	loading: false,
+	isShowDialog: false,
+	id: 0,
+	menuData: [], // 鑿滃崟鏁版嵁
+});
+
+// onMounted(async () => {
+// 	state.loading = true;
+// 	state.loading = false;
+// });
+
+// 鑾峰彇pda鑿滃崟鏁版嵁
+const getPdaMenuList = async (id:number) => {
+	try {
+		let res = await listSysPadPowerByRoleId({id});
+		state.menuData = res?.data?.result ?? [];
+		debugger
+		console.log(state.menuData, 'state.menuData');
+	} catch (error) {
+		console.log(error);
+	}
+};
+
+// 鎵撳紑寮圭獥
+const openDialog = async (row: any) => {
+	treeRef.value?.setCheckedKeys([]); // 娓呯┖閫変腑鍊�
+	if (row.id != undefined && row.id != '' && row.id != null) {
+		state.id = row.id;
+		await getPdaMenuList(state.id);
+		setTimeout(() => {
+			let checkData: any = [];
+			state.menuData.forEach((item1: any) => {
+				if(item1.wmsPdaRoleMenuOutput.length > 0){
+					checkData = [...item1.wmsPdaRoleMenuOutput?.filter((item2: any) => item2.isCheck), ...checkData];
+				}
+			});
+			checkData=checkData.map((item:{id:number,[propName:string]:any})=>item.id)
+			
+			treeRef.value?.setCheckedKeys(checkData ?? []);
+		}, 100);
+	}
+	state.isShowDialog = true;
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = async () => {
+	var menuIdList = treeRef.value?.getCheckedKeys() as Array<number>; //.concat(treeRef.value?.getHalfCheckedKeys());
+	menuIdList=menuIdList.filter((item:number)=>item)
+	debugger
+	if (state.id != undefined && state.id > 0) {
+		var data = {
+			id: state.id,
+			grantMenuIdList: menuIdList,
+		};
+		state.loading = true;	
+		await bindRolePdaMenu(data);
+		state.loading = false;
+		ElMessage.success('鎻愪氦鎴愬姛');
+	}
+	closeDialog();
+};
+
+// 鍙跺瓙鑺傜偣鍚岃鏄剧ず鏍峰紡
+const treeNodeClass = (node: SysMenu) => {
+	let addClass = true; // 娣诲姞鍙跺瓙鑺傜偣鍚岃鏄剧ず鏍峰紡
+	for (var key in node.children) {
+		// 濡傛灉瀛樺湪瀛愯妭鐐归潪鍙跺瓙鑺傜偣锛屼笉娣诲姞鏍峰紡
+		if (node.children[key].children?.length ?? 0 > 0) {
+			addClass = false;
+			break;
+		}
+	}
+	return addClass ? 'penultimate-node' : '';
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
+
+<style lang="scss" scoped>
+.menu-data-tree {
+	width: 100%;
+	border: 1px solid var(--el-border-color);
+	border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
+	padding: 5px;
+}
+
+:deep(.penultimate-node) {
+	.el-tree-node__children {
+		padding-left: 40px;
+		white-space: pre-wrap;
+		line-height: 100%;
+
+		.el-tree-node {
+			display: inline-block;
+		}
+
+		.el-tree-node__content {
+			padding-left: 5px !important;
+			padding-right: 5px;
+
+			// .el-tree-node__expand-icon {
+			// 	display: none;
+			// }
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/role/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/role/index.vue
new file mode 100644
index 0000000..83301c6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/role/index.vue
@@ -0,0 +1,180 @@
+<template>
+	<div class="sys-role-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+				<el-form-item label="瑙掕壊鍚嶇О">
+					<el-input v-model="state.queryParams.name" placeholder="瑙掕壊鍚嶇О" clearable />
+				</el-form-item>
+				<el-form-item label="瑙掕壊缂栧彿">
+					<el-input v-model="state.queryParams.code" placeholder="瑙掕壊缂栧彿" clearable />
+				</el-form-item>
+				<el-form-item>
+					<el-button-group>
+						<el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'sysRole:page'"> 鏌ヨ </el-button>
+						<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+					</el-button-group>
+				</el-form-item>
+				<el-form-item>
+					<el-button type="primary" icon="ele-Plus" @click="openAddRole" v-auth="'sysRole:add'"> 鏂板 </el-button>
+				</el-form-item>
+			</el-form>
+		</el-card>
+
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table :data="state.roleData" style="width: 100%" v-loading="state.loading" border>
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" fixed />
+				<el-table-column prop="name" label="瑙掕壊鍚嶇О" align="center" show-overflow-tooltip />
+				<el-table-column prop="code" label="瑙掕壊缂栧彿" align="center" show-overflow-tooltip />
+				<el-table-column label="鏁版嵁鑼冨洿" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag effect="plain" v-if="scope.row.dataScope === 1">鍏ㄩ儴鏁版嵁</el-tag>
+						<el-tag effect="plain" v-else-if="scope.row.dataScope === 2">鏈儴闂ㄥ強浠ヤ笅鏁版嵁</el-tag>
+						<el-tag effect="plain" v-else-if="scope.row.dataScope === 3">鏈儴闂ㄦ暟鎹�</el-tag>
+						<el-tag effect="plain" v-else-if="scope.row.dataScope === 4">浠呮湰浜烘暟鎹�</el-tag>
+						<el-tag effect="plain" v-else-if="scope.row.dataScope === 5">鑷畾涔夋暟鎹�</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="orderNo" label="鎺掑簭" width="70" align="center" show-overflow-tooltip />
+				<el-table-column label="鐘舵��" width="70" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag type="success" v-if="scope.row.status === 1">鍚敤</el-tag>
+						<el-tag type="danger" v-else>绂佺敤</el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column label="淇敼璁板綍" width="100" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<ModifyRecord :data="scope.row" />
+					</template>
+				</el-table-column>
+				<el-table-column label="鎿嶄綔" width="320" fixed="right" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-button icon="ele-OfficeBuilding" size="small" text type="danger" v-auth="'sysRole:delete'"  @click="openPdaMenu(scope.row)"> PDA鑿滃崟鎺堟潈 </el-button>
+						<el-button icon="ele-OfficeBuilding" size="small" text type="primary" @click="openGrantData(scope.row)" v-auth="'sysRole:grantDataScope'"> 鏁版嵁鑼冨洿 </el-button>
+						<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditRole(scope.row)" v-auth="'sysRole:update'"> 缂栬緫 </el-button>
+						<el-button icon="ele-Delete" size="small" text type="danger" @click="delRole(scope.row)" v-auth="'sysRole:delete'"> 鍒犻櫎 </el-button>
+						<!-- :disabled="!auth('sysRole:grantDataScope')" -->
+						
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="state.tableParams.page"
+				v-model:page-size="state.tableParams.pageSize"
+				:total="state.tableParams.total"
+				:page-sizes="[10, 20, 50, 100]"
+				small
+				background
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+		</el-card>
+
+		<EditRole ref="editRoleRef" :title="state.editRoleTitle" @handleQuery="handleQuery" />
+		<GrantData ref="grantDataRef" @handleQuery="handleQuery" />
+
+		<pdaMenu ref="pdaMenuRef" @handleQuery="handleQuery"/>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysRole">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { auth } from '/@/utils/authFunction';
+import EditRole from '/@/views/system/role/component/editRole.vue';
+import GrantData from '/@/views/system/role/component/grantData.vue';
+import ModifyRecord from '/@/components/table/modifyRecord.vue';
+import PdaMenu from '/@/views/system/role/component/pdaMenu.vue';
+
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysRoleApi } from '/@/api-services/api';
+import { SysRole } from '/@/api-services/models';
+
+const editRoleRef = ref<InstanceType<typeof EditRole>>();
+const grantDataRef = ref<InstanceType<typeof GrantData>>();
+const state = reactive({
+	loading: false,
+	roleData: [] as Array<SysRole>,
+	queryParams: {
+		name: undefined,
+		code: undefined,
+	},
+	tableParams: {
+		page: 1,
+		pageSize: 200,
+		total: 0 as any,
+	},
+	editRoleTitle: '',
+});
+
+onMounted(async () => {
+	handleQuery();
+});
+const pdaMenuRef = ref();
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.loading = true;
+	let params = Object.assign(state.queryParams, state.tableParams);
+	var res = await getAPI(SysRoleApi).apiSysRolePagePost(params);
+	state.roleData = res.data.result?.items ?? [];
+	state.tableParams.total = res.data.result?.total;
+	state.loading = false;
+};
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.name = undefined;
+	state.queryParams.code = undefined;
+	handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddRole = () => {
+	state.editRoleTitle = '娣诲姞瑙掕壊';
+	editRoleRef.value?.openDialog({ id: undefined, status: 1, orderNo: 100 });
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditRole = async (row: any) => {
+	state.editRoleTitle = '缂栬緫瑙掕壊';
+	editRoleRef.value?.openDialog(row);
+};
+
+// 鎵撳紑鎺堟潈鏁版嵁鑼冨洿椤甸潰
+const openGrantData = (row: any) => {
+	grantDataRef.value?.openDialog(row);
+};
+
+// 鍒犻櫎
+const delRole = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犺鑹诧細銆�${row.name}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysRoleApi).apiSysRoleDeletePost({ id: row.id });
+			handleQuery();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+	state.tableParams.pageSize = val;
+	handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+	state.tableParams.page = val;
+	handleQuery();
+};
+
+// 鎵撳紑pda鑿滃崟鎺堟潈椤甸潰
+const openPdaMenu = async (row: any) => {
+	pdaMenuRef.value?.openDialog(row);
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/server/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/server/index.vue
new file mode 100644
index 0000000..c9fe471
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/server/index.vue
@@ -0,0 +1,224 @@
+<template>
+	<div class="sys-server-container">
+		<el-row :gutter="8">
+			<el-col :md="12" :sm="24">
+				<el-card shadow="hover" header="绯荤粺淇℃伅">
+					<table class="sysInfo_table">
+						<tr>
+							<td class="sysInfo_td">涓绘満鍚嶇О锛�</td>
+							<td class="sysInfo_td">{{ state.machineBaseInfo.hostName }}</td>
+						</tr>
+						<tr>
+							<td class="sysInfo_td">鎿嶄綔绯荤粺锛�</td>
+							<td class="sysInfo_td">{{ state.machineBaseInfo.systemOs }}</td>
+						</tr>
+						<tr>
+							<td class="sysInfo_td">绯荤粺鏋舵瀯锛�</td>
+							<td class="sysInfo_td">{{ state.machineBaseInfo.osArchitecture }}</td>
+						</tr>
+						<tr>
+							<td class="sysInfo_td">CPU鏍告暟锛�</td>
+							<td class="sysInfo_td">{{ state.machineBaseInfo.processorCount }}</td>
+						</tr>
+						<tr>
+							<td class="sysInfo_td">杩愯鏃堕暱锛�</td>
+							<td class="sysInfo_td">{{ state.machineBaseInfo.sysRunTime }}</td>
+						</tr>
+						<tr>
+							<td class="sysInfo_td">澶栫綉鍦板潃锛�</td>
+							<td class="sysInfo_td">{{ state.machineBaseInfo.remoteIp }}</td>
+						</tr>
+						<tr>
+							<td class="sysInfo_td">鍐呯綉鍦板潃锛�</td>
+							<td class="sysInfo_td">{{ state.machineBaseInfo.localIp }}</td>
+						</tr>
+						<tr>
+							<td class="sysInfo_td">杩愯妗嗘灦锛�</td>
+							<td class="sysInfo_td">{{ state.machineBaseInfo.frameworkDescription }}</td>
+						</tr>
+					</table>
+				</el-card>
+			</el-col>
+			<el-col :md="12" :sm="24">
+				<el-card shadow="hover" header="浣跨敤淇℃伅">
+					<el-row>
+						<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12" style="text-align: center">
+							<el-progress
+								type="dashboard"
+								:percentage="parseInt(state.machineUseInfo.ramRate == undefined ? 0 : state.machineUseInfo.ramRate.substr(0, state.machineUseInfo.ramRate.length - 1))"
+								:color="'var(--el-color-primary)'"
+							>
+								<template #default>
+									<span>{{ state.machineUseInfo.ramRate }}<br /></span>
+									<span style="font-size: 10px">
+										宸茬敤:{{ state.machineUseInfo.usedRam }}<br />
+										鍓╀綑:{{ state.machineUseInfo.freeRam }}<br />
+										鍐呭瓨浣跨敤鐜�
+									</span>
+								</template>
+							</el-progress>
+						</el-col>
+						<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12" style="text-align: center">
+							<el-progress
+								type="dashboard"
+								:percentage="parseInt(state.machineUseInfo.cpuRate == undefined ? 0 : state.machineUseInfo.cpuRate.substr(0, state.machineUseInfo.cpuRate.length - 1))"
+								:color="'var(--el-color-primary)'"
+							>
+								<template #default>
+									<span>{{ state.machineUseInfo.cpuRate }}<br /></span>
+									<span style="font-size: 10px"> CPU浣跨敤鐜� </span>
+								</template>
+							</el-progress>
+						</el-col>
+					</el-row>
+
+					<el-row>
+						<table class="sysInfo_table">
+							<tr>
+								<td class="sysInfo_td">鍚姩鏃堕棿锛�</td>
+								<td class="sysInfo_td">{{ state.machineUseInfo.startTime }}</td>
+							</tr>
+							<tr>
+								<td class="sysInfo_td">杩愯鏃堕暱锛�</td>
+								<td class="sysInfo_td">{{ state.machineUseInfo.runTime }}</td>
+							</tr>
+							<tr>
+								<td class="sysInfo_td">缃戠珯鐩綍锛�</td>
+								<td class="sysInfo_td">{{ state.machineBaseInfo.wwwroot }}</td>
+							</tr>
+							<tr>
+								<td class="sysInfo_td">寮�鍙戠幆澧冿細</td>
+								<td class="sysInfo_td">{{ state.machineBaseInfo.environment }}</td>
+							</tr>
+							<tr>
+								<td class="sysInfo_td">鐜鍙橀噺锛�</td>
+								<td class="sysInfo_td">{{ state.machineBaseInfo.stage }}</td>
+							</tr>
+						</table>
+					</el-row>
+				</el-card>
+			</el-col>
+		</el-row>
+
+		<el-row :gutter="8">
+			<el-col :md="24" :sm="24">
+				<el-card shadow="hover" header="绋嬪簭闆嗕俊鎭�" style="margin-top: 5px; --el-card-padding: 10px">
+					<div v-for="d in state.assemblyInfo" :key="d.name" style="display: inline-block; margin: 4px; text-align: left">
+						<el-tag round>
+							<div style="display: inline-flex">
+								<div style="">{{ d.name }}</div>
+								<div style="color: black; font-size: 9px; margin-left: 3px">v{{ d.version }}</div>
+							</div>
+						</el-tag>
+					</div>
+				</el-card>
+			</el-col>
+		</el-row>
+
+		<el-row :gutter="8">
+			<el-col :md="24" :sm="24">
+				<el-card shadow="hover" header="纾佺洏淇℃伅" style="margin-top: 5px">
+					<el-row>
+						<el-col
+							:span="4"
+							:xs="(24 / state.machineDiskInfo.length) * 2"
+							:sm="24 / state.machineDiskInfo.length"
+							:md="24 / state.machineDiskInfo.length"
+							:lg="24 / state.machineDiskInfo.length"
+							:xl="24 / state.machineDiskInfo.length"
+							v-for="d in state.machineDiskInfo"
+							:key="d.diskName"
+							style="text-align: center"
+						>
+							<el-progress type="circle" :percentage="d.availablePercent" :color="'var(--el-color-primary)'">
+								<template #default>
+									<span>{{ d.availablePercent }}%<br /></span>
+									<span style="font-size: 10px">
+										宸茬敤:{{ d.used }}GB<br />
+										鍓╀綑:{{ d.availableFreeSpace }}GB<br />
+										{{ d.diskName }}
+									</span>
+								</template>
+							</el-progress>
+						</el-col>
+					</el-row>
+				</el-card>
+			</el-col>
+		</el-row>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysServer">
+import { onActivated, onDeactivated, onMounted, reactive } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysServerApi } from '/@/api-services';
+
+const state = reactive({
+	machineBaseInfo: [] as any,
+	machineUseInfo: [] as any,
+	machineDiskInfo: [] as any,
+	assemblyInfo: [] as any,
+	timer: null as any,
+});
+
+onMounted(async () => {
+	loadMachineBaseInfo();
+	loadMachineUseInfo();
+	loadMachineDiskInfo();
+	loadAssemblyInfo();
+});
+
+// 鏈嶅姟鍣ㄩ厤缃俊鎭�
+const loadMachineBaseInfo = async () => {
+	var res = await getAPI(SysServerApi).apiSysServerServerBaseGet();
+	state.machineBaseInfo = res.data.result;
+};
+
+// 鏈嶅姟鍣ㄥ唴瀛樹俊鎭�
+const loadMachineUseInfo = async () => {
+	var res = await getAPI(SysServerApi).apiSysServerServerUsedGet();
+	state.machineUseInfo = res.data.result;
+};
+
+// 鏈嶅姟鍣ㄧ鐩樹俊鎭�
+const loadMachineDiskInfo = async () => {
+	var res = await getAPI(SysServerApi).apiSysServerServerDiskGet();
+	state.machineDiskInfo = res.data.result;
+};
+
+// 妗嗘灦绋嬪簭闆嗕俊鎭�
+const loadAssemblyInfo = async () => {
+	var res = await getAPI(SysServerApi).apiSysServerAssemblyListGet();
+	state.assemblyInfo = res.data.result;
+};
+
+// 瀹炴椂鍒锋柊鍐呭瓨
+const refreshData = () => {
+	loadMachineUseInfo();
+};
+
+onActivated(() => {
+	state.timer = setInterval(() => {
+		refreshData();
+	}, 10000);
+});
+
+onDeactivated(() => {
+	clearInterval(state.timer);
+});
+</script>
+
+<style lang="scss" scoped>
+.sysInfo_table {
+	width: 100%;
+	min-height: 40px;
+	line-height: 40px;
+	text-align: center;
+}
+
+.sysInfo_td {
+	border-bottom: 1px solid #e8e8e8;
+	min-width: 100px;
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/tenant/component/editTenant.vue b/LA24030_LuLiPackageLine_Web/src/views/system/tenant/component/editTenant.vue
new file mode 100644
index 0000000..bdf9f88
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/tenant/component/editTenant.vue
@@ -0,0 +1,160 @@
+<template>
+	<div class="sys-tenant-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> {{ props.title }} </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绉熸埛绫诲瀷" :rules="[{ required: true, message: '绉熸埛绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-radio-group v-model="state.ruleForm.tenantType" :disabled="state.ruleForm.id != undefined">
+								<el-radio :value="0">ID闅旂</el-radio>
+								<el-radio :value="1">搴撻殧绂�</el-radio>
+							</el-radio-group>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绉熸埛鍚嶇О" prop="name" :rules="[{ required: true, message: '绉熸埛鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.name" placeholder="绉熸埛鍚嶇О" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="绉熺璐﹀彿" prop="adminAccount" :rules="[{ required: true, message: '绉熺璐﹀彿涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.adminAccount" placeholder="绉熺璐﹀彿" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐢佃瘽" prop="phone" :rules="[{ required: true, message: '鐢佃瘽鍙风爜涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.phone" placeholder="鐢佃瘽" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閭">
+							<el-input v-model="state.ruleForm.email" placeholder="閭" clearable />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎺掑簭">
+							<el-input-number v-model="state.ruleForm.orderNo" placeholder="鎺掑簭" class="w100" />
+						</el-form-item>
+					</el-col>
+					<!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="涓绘満">
+							<el-input v-model="ruleForm.host" placeholder="涓绘満" clearable />
+						</el-form-item>
+					</el-col> -->
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏁版嵁搴撶被鍨�">
+							<el-select v-model="state.ruleForm.dbType" placeholder="鏁版嵁搴撶被鍨�" clearable class="w100" :disabled="state.ruleForm.tenantType == 0 && state.ruleForm.tenantType != undefined">
+								<el-option label="MySql" :value="0" />
+								<el-option label="SqlServer" :value="1" />
+								<el-option label="Sqlite" :value="2" />
+								<el-option label="Oracle" :value="3" />
+								<el-option label="PostgreSQL" :value="4" />
+								<el-option label="Dm" :value="5" />
+								<el-option label="Kdbndp" :value="6" />
+								<el-option label="Oscar" :value="7" />
+								<el-option label="MySqlConnector" :value="8" />
+								<el-option label="Access" :value="9" />
+								<el-option label="OpenGauss" :value="10" />
+								<el-option label="QuestDB" :value="11" />
+								<el-option label="HG" :value="12" />
+								<el-option label="ClickHouse" :value="13" />
+								<el-option label="GBase" :value="14" />
+								<el-option label="Custom" :value="900" />
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏁版嵁搴撴爣璇�">
+							<el-input v-model="ruleForm.configId" placeholder="鏁版嵁搴撴爣璇�" clearable :disabled="ruleForm.tenantType == 0 && ruleForm.tenantType != undefined" />
+						</el-form-item>
+					</el-col> -->
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="杩炴帴瀛楃涓�">
+							<el-input v-model="state.ruleForm.connection" placeholder="杩炴帴瀛楃涓�" clearable type="textarea" :disabled="state.ruleForm.tenantType == 0 && state.ruleForm.tenantType != undefined" />
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="浠庡簱杩炴帴涓�">
+							<el-input
+								v-model="state.ruleForm.slaveConnections"
+								placeholder="鏍煎紡锛歔{'HitRate':10, 'ConnectionString':'xxx'},{'HitRate':10, 'ConnectionString':'xxx'}]"
+								clearable
+								type="textarea"
+								:disabled="state.ruleForm.tenantType == 0 && state.ruleForm.tenantType != undefined"
+							/>
+						</el-form-item>
+					</el-col>
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="澶囨敞">
+							<el-input v-model="state.ruleForm.remark" placeholder="璇疯緭鍏ュ娉ㄥ唴瀹�" clearable type="textarea" />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditTenant">
+import { reactive, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysTenantApi } from '/@/api-services/api';
+import { UpdateTenantInput } from '/@/api-services/models';
+
+const props = defineProps({
+	title: String,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as UpdateTenantInput,
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysTenantApi).apiSysTenantUpdatePost(state.ruleForm);
+		} else {
+			await getAPI(SysTenantApi).apiSysTenantAddPost(state.ruleForm);
+		}
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/tenant/component/grantMenu.vue b/LA24030_LuLiPackageLine_Web/src/views/system/tenant/component/grantMenu.vue
new file mode 100644
index 0000000..ae07c4c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/tenant/component/grantMenu.vue
@@ -0,0 +1,126 @@
+<template>
+	<div class="sys-grantMenu-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="769px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> 鎺堟潈绉熸埛鑿滃崟 </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" v-loading="state.loading">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl1="24">
+						<el-form-item prop="orgIdList" label="">
+							<el-tree
+								ref="treeRef"
+								:data="state.menuData"
+								node-key="id"
+								show-checkbox
+								:props="{ children: 'children', label: 'title', class: treeNodeClass }"
+								icon="ele-Menu"
+								highlight-current
+								default-expand-all
+							/>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysGrantMenu">
+import { onMounted, reactive, ref } from 'vue';
+import type { ElTree } from 'element-plus';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysMenuApi, SysTenantApi } from '/@/api-services/api';
+import { SysMenu } from '/@/api-services/models';
+
+const treeRef = ref<InstanceType<typeof ElTree>>();
+const state = reactive({
+	loading: false,
+	isShowDialog: false,
+	ruleForm: {
+		id: 0,
+		menuIdList: [] as any, // 鑿滃崟闆嗗悎
+	},
+	menuData: [] as any, // 鑿滃崟鏁版嵁
+});
+
+onMounted(async () => {
+	state.loading = true;
+	var res = await getAPI(SysMenuApi).apiSysMenuListGet();
+	state.menuData = res.data.result;
+	state.loading = false;
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = async (row: any) => {
+	treeRef.value?.setCheckedKeys([]); // 鍏堟竻绌哄凡閫夋嫨鑺傜偣
+	state.ruleForm = row;
+	var res = await getAPI(SysTenantApi).apiSysTenantOwnMenuListGet(row.userId);
+	setTimeout(() => {
+		// 寤惰繜浼犻�掓暟鎹�
+		treeRef.value?.setCheckedKeys(res.data.result);
+	}, 100);
+	state.isShowDialog = true;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = async () => {
+	state.ruleForm.menuIdList = treeRef.value?.getCheckedKeys() as Array<number>;
+	await getAPI(SysTenantApi).apiSysTenantGrantMenuPost(state.ruleForm);
+	state.isShowDialog = false;
+};
+
+// 鍙跺瓙鑺傜偣鍚岃鏄剧ず鏍峰紡
+const treeNodeClass = (node: SysMenu) => {
+	let addClass = true; // 娣诲姞鍙跺瓙鑺傜偣鍚岃鏄剧ず鏍峰紡
+	for (const key in node.children) {
+		// 濡傛灉瀛樺湪瀛愯妭鐐归潪鍙跺瓙鑺傜偣锛屼笉娣诲姞鏍峰紡
+		if (node.children[key].children?.length ?? 0 > 0) {
+			addClass = false;
+			break;
+		}
+	}
+	return addClass ? 'penultimate-node' : '';
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
+
+<style lang="scss" scoped>
+:deep(.penultimate-node) {
+	.el-tree-node__children {
+		padding-left: 40px;
+		white-space: pre-wrap;
+		line-height: 100%;
+
+		.el-tree-node {
+			display: inline-block;
+		}
+
+		.el-tree-node__content {
+			padding-left: 5px !important;
+			padding-right: 5px;
+
+			// .el-tree-node__expand-icon {
+			// 	display: none;
+			// }
+		}
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/tenant/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/tenant/index.vue
new file mode 100644
index 0000000..5f1ea10
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/tenant/index.vue
@@ -0,0 +1,241 @@
+<template>
+	<div class="sys-tenant-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+				<el-form-item label="绉熸埛鍚嶇О">
+					<el-input v-model="state.queryParams.name" placeholder="绉熸埛鍚嶇О" clearable />
+				</el-form-item>
+				<el-form-item label="鑱旂郴鐢佃瘽">
+					<el-input v-model="state.queryParams.phone" placeholder="鑱旂郴鐢佃瘽" clearable />
+				</el-form-item>
+				<el-form-item>
+					<el-button-group>
+						<el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'sysTenant:page'"> 鏌ヨ </el-button>
+						<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+					</el-button-group>
+				</el-form-item>
+				<el-form-item>
+					<el-button type="primary" icon="ele-Plus" @click="openAddTenant" v-auth="'sysTenant:add'"> 鏂板 </el-button>
+				</el-form-item>
+			</el-form>
+		</el-card>
+
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table :data="state.tenantData" style="width: 100%" v-loading="state.loading" border>
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" fixed />
+				<el-table-column prop="name" label="绉熸埛鍚嶇О" width="160" align="center" show-overflow-tooltip />
+				<el-table-column prop="adminAccount" label="绉熺璐﹀彿" align="center" width="120" show-overflow-tooltip />
+				<el-table-column prop="phone" label="鐢佃瘽" width="120" align="center" show-overflow-tooltip />
+				<!-- <el-table-column prop="host" label="涓绘満" show-overflow-tooltip /> -->
+				<!-- <el-table-column prop="email" label="閭" show-overflow-tooltip /> -->
+				<el-table-column prop="tenantType" label="绉熸埛绫诲瀷" width="100" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag v-if="scope.row.tenantType === 0"> ID闅旂 </el-tag>
+						<el-tag type="danger" v-else> 搴撻殧绂� </el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column label="鐘舵��" width="70" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-switch v-model="scope.row.status" :active-value="1" :inactive-value="2" size="small" @change="changeStatus(scope.row)" :disabled="scope.row.id == 123456780000000" />
+					</template>
+				</el-table-column>
+				<el-table-column prop="dbType" label="鏁版嵁搴撶被鍨�" width="120" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag v-if="scope.row.dbType === 0"> MySql </el-tag>
+						<el-tag v-else-if="scope.row.dbType === 1"> SqlServer </el-tag>
+						<el-tag v-if="scope.row.dbType === 2"> Sqlite </el-tag>
+						<el-tag v-else-if="scope.row.dbType === 3"> Oracle </el-tag>
+						<el-tag v-if="scope.row.dbType === 4"> PostgreSQL </el-tag>
+						<el-tag v-else-if="scope.row.dbType === 5"> Dm </el-tag>
+						<el-tag v-if="scope.row.dbType === 6"> Kdbndp </el-tag>
+						<el-tag v-else-if="scope.row.dbType === 7"> Oscar </el-tag>
+						<el-tag v-if="scope.row.dbType === 8"> MySqlConnector </el-tag>
+						<el-tag v-else-if="scope.row.dbType === 9"> Access </el-tag>
+						<el-tag v-if="scope.row.dbType === 10"> OpenGauss </el-tag>
+						<el-tag v-else-if="scope.row.dbType === 11"> QuestDB </el-tag>
+						<el-tag v-else-if="scope.row.dbType === 12"> HG </el-tag>
+						<el-tag v-else-if="scope.row.dbType === 13"> ClickHouse </el-tag>
+						<el-tag v-else-if="scope.row.dbType === 14"> GBase </el-tag>
+						<el-tag v-else-if="scope.row.dbType === 900"> Custom </el-tag>
+					</template>
+				</el-table-column>
+				<!-- <el-table-column prop="configId" label="鏁版嵁搴撴爣璇�" show-overflow-tooltip /> -->
+				<el-table-column prop="connection" label="鏁版嵁搴撹繛鎺�" min-width="300" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="slaveConnections" label="浠庡簱杩炴帴" min-width="300" header-align="center" show-overflow-tooltip />
+				<el-table-column prop="orderNo" label="鎺掑簭" width="70" align="center" show-overflow-tooltip />
+				<el-table-column label="淇敼璁板綍" width="100" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<ModifyRecord :data="scope.row" />
+					</template>
+				</el-table-column>
+				<el-table-column label="鎿嶄綔" width="200" fixed="right" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-button icon="ele-Coin" size="small" text type="danger" @click="createTenant(scope.row)" v-auth="'sysTenant:createDb'" :disabled="scope.row.tenantType == 0"> 鍒涘缓搴� </el-button>
+						<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditTenant(scope.row)" v-auth="'sysTenant:update'"> 缂栬緫 </el-button>
+						<el-dropdown>
+							<el-button icon="ele-MoreFilled" size="small" text type="primary" style="padding-left: 12px" />
+							<template #dropdown>
+								<el-dropdown-menu>
+									<el-dropdown-item icon="ele-OfficeBuilding" @click="openGrantMenu(scope.row)" :v-auth="'sysTenant:grantMenu'"> 鎺堟潈鑿滃崟 </el-dropdown-item>
+									<el-dropdown-item icon="ele-RefreshLeft" @click="resetTenantPwd(scope.row)" :v-auth="'sysTenant:resetPwd'"> 閲嶇疆瀵嗙爜 </el-dropdown-item>
+									<el-dropdown-item icon="ele-Delete" @click="delTenant(scope.row)" :v-auth="'sysTenant:delete'"> 鍒犻櫎绉熸埛 </el-dropdown-item>
+								</el-dropdown-menu>
+							</template>
+						</el-dropdown>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="state.tableParams.page"
+				v-model:page-size="state.tableParams.pageSize"
+				:total="state.tableParams.total"
+				:page-sizes="[10, 20, 50, 100]"
+				small
+				background
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+		</el-card>
+
+		<EditTenant ref="editTenantRef" :title="state.editTenantTitle" @handleQuery="handleQuery" />
+		<GrantMenu ref="grantMenuRef" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysTenant">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import EditTenant from '/@/views/system/tenant/component/editTenant.vue';
+import GrantMenu from '/@/views/system/tenant/component/grantMenu.vue';
+import ModifyRecord from '/@/components/table/modifyRecord.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysTenantApi } from '/@/api-services/api';
+import { TenantOutput } from '/@/api-services/models';
+
+const editTenantRef = ref<InstanceType<typeof EditTenant>>();
+const grantMenuRef = ref<InstanceType<typeof GrantMenu>>();
+const state = reactive({
+	loading: false,
+	tenantData: [] as Array<TenantOutput>,
+	queryParams: {
+		name: undefined,
+		phone: undefined,
+	},
+	tableParams: {
+		page: 1,
+		pageSize: 10,
+		total: 0 as any,
+	},
+	editTenantTitle: '',
+});
+
+onMounted(async () => {
+	handleQuery();
+});
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.loading = true;
+	let params = Object.assign(state.queryParams, state.tableParams);
+	var res = await getAPI(SysTenantApi).apiSysTenantPagePost(params);
+	state.tenantData = res.data.result?.items ?? [];
+	state.tableParams.total = res.data.result?.total;
+	state.loading = false;
+};
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.name = undefined;
+	state.queryParams.phone = undefined;
+	handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddTenant = () => {
+	state.editTenantTitle = '娣诲姞绉熸埛';
+	editTenantRef.value?.openDialog({ tenantType: 0, orderNo: 100 });
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditTenant = (row: any) => {
+	state.editTenantTitle = '缂栬緫绉熸埛';
+	editTenantRef.value?.openDialog(row);
+};
+
+// 鎵撳紑鎺堟潈鑿滃崟椤甸潰
+const openGrantMenu = async (row: any) => {
+	grantMenuRef.value?.openDialog(row);
+};
+
+// 閲嶇疆瀵嗙爜
+const resetTenantPwd = async (row: any) => {
+	ElMessageBox.confirm(`纭畾閲嶇疆瀵嗙爜锛氥��${row.name}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysTenantApi)
+				.apiSysTenantResetPwdPost({ userId: row.userId })
+				.then((res) => {
+					ElMessage.success(`瀵嗙爜閲嶇疆鎴愬姛涓猴細${res.data.result}`);
+				});
+		})
+		.catch(() => {});
+};
+
+// 鍒犻櫎
+const delTenant = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎绉熸埛锛氥��${row.name}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysTenantApi).apiSysTenantDeletePost({ id: row.id });
+			handleQuery();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+	state.tableParams.pageSize = val;
+	handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+	state.tableParams.page = val;
+	handleQuery();
+};
+
+// 鍒涘缓绉熸埛搴�
+const createTenant = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒涘缓/鏇存柊绉熸埛鏁版嵁搴擄細銆�${row.name}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysTenantApi).apiSysTenantCreateDbPost({ id: row.id });
+			ElMessage.success('鍒涘缓/鏇存柊绉熸埛鏁版嵁搴撴垚鍔�');
+		})
+		.catch(() => {});
+};
+
+// 淇敼鐘舵��
+const changeStatus = (row: any) => {
+	getAPI(SysTenantApi)
+		.apiSysTenantSetStatusPost({ id: row.id, status: row.status })
+		.then(() => {
+			ElMessage.success('绉熸埛鐘舵�佽缃垚鍔�');
+		})
+		.catch(() => {
+			row.status = row.status == 1 ? 2 : 1;
+		});
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/user/component/editUser.vue b/LA24030_LuLiPackageLine_Web/src/views/system/user/component/editUser.vue
new file mode 100644
index 0000000..c50cb9f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/user/component/editUser.vue
@@ -0,0 +1,349 @@
+<template>
+	<div class="sys-user-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-tabs v-loading="state.loading" v-model="state.selectedTabName">
+				<el-tab-pane label="鍩虹淇℃伅" style="height: 550px">
+					<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+						<el-row :gutter="35">
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="璐﹀彿鍚嶇О" prop="account" :rules="[{ required: true, message: '璐﹀彿鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+									<el-input v-model="state.ruleForm.account" placeholder="璐﹀彿鍚嶇О" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鏄电О">
+									<el-input v-model="state.ruleForm.nickName" placeholder="鏄电О" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鎵嬫満鍙风爜" prop="phone" :rules="[{ required: true, message: '鎵嬫満鍙风爜涓嶈兘涓虹┖', trigger: 'blur' }]">
+									<el-input v-model="state.ruleForm.phone" placeholder="鎵嬫満鍙风爜" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鐪熷疄濮撳悕" prop="realName" :rules="[{ required: true, message: '鐪熷疄濮撳悕涓嶈兘涓虹┖', trigger: 'blur' }]">
+									<el-input v-model="state.ruleForm.realName" placeholder="鐪熷疄濮撳悕" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="瑙掕壊闆嗗悎" prop="roleIdList" :rules="[{ required: true, message: '瑙掕壊闆嗗悎涓嶈兘涓虹┖', trigger: 'blur' }]">
+									<el-select v-model="state.ruleForm.roleIdList" multiple value-key="id" clearable placeholder="瑙掕壊闆嗗悎" collapse-tags collapse-tags-tooltip class="w100" filterable>
+										<el-option v-for="item in state.roleData" :key="item.id" :label="item.name" :value="item.id" />
+									</el-select>
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="璐﹀彿绫诲瀷" prop="accountType" :rules="[{ required: true, message: '璐﹀彿绫诲瀷涓嶈兘涓虹┖', trigger: 'blur' }]">
+									<el-select v-model="state.ruleForm.accountType" placeholder="璐﹀彿绫诲瀷" collapse-tags collapse-tags-tooltip class="w100">
+										<el-option label="绯荤粺绠$悊鍛�" :value="888" :disabled="userInfos.accountType != 888 && userInfos.accountType != 999" />
+										<el-option label="鏅�氳处鍙�" :value="777" />
+										<el-option label="浼氬憳" :value="666" />
+									</el-select>
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="閭">
+									<el-input v-model="state.ruleForm.email" placeholder="閭" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb5">
+								<el-form-item label="鎺掑簭">
+									<el-input-number v-model="state.ruleForm.orderNo" placeholder="鎺掑簭" class="w100" />
+								</el-form-item>
+							</el-col>
+							<el-divider border-style="dashed" content-position="center">
+								<div style="color: #b1b3b8">鏈烘瀯缁勭粐</div>
+							</el-divider>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鎵�灞炴満鏋�" prop="orgId" :rules="[{ required: true, message: '鎵�灞炴満鏋勪笉鑳戒负绌�', trigger: 'blur' }]">
+									<el-cascader
+										:options="props.orgData"
+										:props="{ checkStrictly: true, emitPath: false, value: 'id', label: 'name', expandTrigger: 'hover' }"
+										placeholder="鎵�灞炴満鏋�"
+										clearable
+										class="w100"
+										v-model="state.ruleForm.orgId"
+									>
+										<template #default="{ node, data }">
+											<span>{{ data.name }}</span>
+											<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
+										</template>
+									</el-cascader>
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鑱屼綅" prop="posId" :rules="[{ required: true, message: '鑱屼綅鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' }]">
+									<el-select v-model="state.ruleForm.posId" placeholder="鑱屼綅" class="w100">
+										<el-option v-for="d in state.posData" :key="d.id" :label="d.name" :value="d.id" />
+									</el-select>
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="宸ュ彿">
+									<el-input v-model="state.ruleForm.jobNum" placeholder="宸ュ彿" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鍩熻处鍙�">
+									<el-input v-model="state.ruleForm.domainAccount" placeholder="鍩熻处鍙�" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鍏ヨ亴鏃ユ湡">
+									<el-date-picker v-model="state.ruleForm.joinDate" type="date" placeholder="鍏ヨ亴鏃ユ湡" format="YYYY-MM-DD" value-format="YYYY-MM-DD" class="w100" />
+								</el-form-item>
+							</el-col>
+							<el-divider border-style="dashed" content-position="center">
+								<div style="color: #b1b3b8">闄勫睘鏈烘瀯</div>
+							</el-divider>
+							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+								<el-button icon="ele-Plus" type="primary" plain @click="addExtOrgRow"> 澧炲姞闄勫睘鏈烘瀯 </el-button>
+								<span style="font-size: 12px; color: gray; padding-left: 5px"> 鍏锋湁鐩稿簲缁勭粐鏈烘瀯鐨勬暟鎹潈闄� </span>
+							</el-col>
+							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+								<template v-if="state.ruleForm.extOrgIdList != undefined && state.ruleForm.extOrgIdList.length > 0">
+									<el-row :gutter="35" v-for="(v, k) in state.ruleForm.extOrgIdList" :key="k">
+										<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+											<el-form-item label="鏈烘瀯" :prop="`extOrgIdList[${k}].orgId`" :rules="[{ required: true, message: `鏈烘瀯涓嶈兘涓虹┖`, trigger: 'blur' }]">
+												<template #label>
+													<el-button icon="ele-Delete" type="danger" circle plain size="small" @click="deleteExtOrgRow(k)" />
+													<span class="ml5">鏈烘瀯</span>
+												</template>
+												<el-cascader
+													:options="props.orgData"
+													:props="{ checkStrictly: true, emitPath: false, value: 'id', label: 'name', expandTrigger: 'hover' }"
+													placeholder="鏈烘瀯缁勭粐"
+													clearable
+													class="w100"
+													v-model="state.ruleForm.extOrgIdList[k].orgId"
+												>
+													<template #default="{ node, data }">
+														<span>{{ data.name }}</span>
+														<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
+													</template>
+												</el-cascader>
+											</el-form-item>
+										</el-col>
+										<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+											<el-form-item label="鑱屼綅" :prop="`extOrgIdList[${k}].posId`" :rules="[{ required: true, message: `鑱屼綅涓嶈兘涓虹┖`, trigger: 'blur' }]">
+												<el-select v-model="state.ruleForm.extOrgIdList[k].posId" placeholder="鑱屼綅鍚嶇О" class="w100">
+													<el-option v-for="d in state.posData" :key="d.id" :label="d.name" :value="d.id" />
+												</el-select>
+											</el-form-item>
+										</el-col>
+									</el-row>
+								</template>
+								<el-empty :image-size="50" description="绌烘暟鎹�" v-else></el-empty>
+							</el-col>
+						</el-row>
+					</el-form>
+				</el-tab-pane>
+				<el-tab-pane label="妗f淇℃伅" style="height: 550px">
+					<el-form :model="state.ruleForm" label-width="auto">
+						<el-row :gutter="35">
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="璇佷欢绫诲瀷" prop="cardType">
+									<el-select v-model="state.ruleForm.cardType" placeholder="璇佷欢绫诲瀷" class="w100">
+										<el-option label="韬唤璇�" :value="0" />
+										<el-option label="鎶ょ収" :value="1" />
+										<el-option label="鍑虹敓璇�" :value="2" />
+										<el-option label="娓境鍙伴�氳璇�" :value="3" />
+										<el-option label="澶栧浗浜哄眳鐣欒瘉" :value="4" />
+									</el-select>
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="璇佷欢鍙风爜">
+									<el-input v-model="state.ruleForm.idCardNum" placeholder="璇佷欢鍙风爜" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鍑虹敓鏃ユ湡" prop="birthday">
+									<el-date-picker v-model="state.ruleForm.birthday" type="date" placeholder="鍑虹敓鏃ユ湡" format="YYYY-MM-DD" value-format="YYYY-MM-DD" class="w100" />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鎬у埆">
+									<el-radio-group v-model="state.ruleForm.sex">
+										<el-radio :value="1">鐢�</el-radio>
+										<el-radio :value="2">濂�</el-radio>
+										<el-radio :value="3">鍏朵粬</el-radio>
+									</el-radio-group>
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb5">
+								<el-form-item label="骞撮緞">
+									<el-input-number v-model="state.ruleForm.age" placeholder="骞撮緞" class="w100" />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="姘戞棌">
+									<el-input v-model="state.ruleForm.nation" placeholder="姘戞棌" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+								<el-form-item label="鍦板潃">
+									<el-input v-model="state.ruleForm.address" placeholder="鍦板潃" clearable type="textarea" />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="姣曚笟瀛︽牎">
+									<el-input v-model="state.ruleForm.college" placeholder="姣曚笟瀛︽牎" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鏂囧寲绋嬪害">
+									<el-select v-model="state.ruleForm.cultureLevel" placeholder="鏂囧寲绋嬪害" class="w100">
+										<el-option label="鍏朵粬" :value="0" />
+										<el-option label="灏忓" :value="1" />
+										<el-option label="鍒濅腑" :value="2" />
+										<el-option label="鏅�氶珮涓�" :value="3" />
+										<el-option label="鎶�宸ュ鏍�" :value="4" />
+										<el-option label="鑱屼笟鏁欒偛" :value="5" />
+										<el-option label="鑱屼笟楂樹腑" :value="6" />
+										<el-option label="涓瓑涓撶" :value="7" />
+										<el-option label="澶у涓撶" :value="8" />
+										<el-option label="澶у鏈" :value="9" />
+										<el-option label="纭曞+鐮旂┒鐢�" :value="10" />
+										<el-option label="鍗氬+鐮旂┒鐢�" :value="11" />
+									</el-select>
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鏀挎不闈㈣矊">
+									<el-input v-model="state.ruleForm.politicalOutlook" placeholder="鏀挎不闈㈣矊" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鍔炲叕鐢佃瘽">
+									<el-input v-model="state.ruleForm.officePhone" placeholder="鍔炲叕鐢佃瘽" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="绱ф�ヨ仈绯讳汉">
+									<el-input v-model="state.ruleForm.emergencyContact" placeholder="绱ф�ヨ仈绯讳汉" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="鑱旂郴浜虹數璇�">
+									<el-input v-model="state.ruleForm.emergencyPhone" placeholder="鑱旂郴浜虹數璇�" clearable />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+								<el-form-item label="鑱旂郴浜哄湴鍧�">
+									<el-input v-model="state.ruleForm.emergencyAddress" placeholder="绱ф�ヨ仈绯讳汉" clearable type="textarea" />
+								</el-form-item>
+							</el-col>
+							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+								<el-form-item label="澶囨敞">
+									<el-input v-model="state.ruleForm.remark" placeholder="澶囨敞" clearable type="textarea" />
+								</el-form-item>
+							</el-col>
+						</el-row>
+					</el-form>
+				</el-tab-pane>
+			</el-tabs>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditUser">
+import { onMounted, reactive, ref } from 'vue';
+import { storeToRefs } from 'pinia';
+import { useUserInfo } from '/@/stores/userInfo';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysPosApi, SysRoleApi, SysUserApi } from '/@/api-services/api';
+import { RoleOutput, SysOrg, SysPos, UpdateUserInput } from '/@/api-services/models';
+
+const props = defineProps({
+	title: String,
+	orgData: Array<SysOrg>,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const storesUserInfo = useUserInfo();
+const { userInfos } = storeToRefs(storesUserInfo);
+const state = reactive({
+	loading: false,
+	isShowDialog: false,
+	selectedTabName: '0', // 閫変腑鐨� tab 椤�
+	ruleForm: {} as UpdateUserInput,
+	posData: [] as Array<SysPos>, // 鑱屼綅鏁版嵁
+	roleData: [] as Array<RoleOutput>, // 瑙掕壊鏁版嵁
+});
+
+onMounted(async () => {
+	state.loading = true;
+	var res = await getAPI(SysPosApi).apiSysPosListGet();
+	state.posData = res.data.result ?? [];
+	var res1 = await getAPI(SysRoleApi).apiSysRoleListGet();
+	state.roleData = res1.data.result ?? [];
+	state.loading = false;
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = async (row: any) => {
+	ruleFormRef.value?.resetFields();
+
+	state.selectedTabName = '0'; // 閲嶇疆涓虹涓�涓� tab 椤�
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	if (row.id != undefined) {
+		var resRole = await getAPI(SysUserApi).apiSysUserOwnRoleListUserIdGet(row.id);
+		state.ruleForm.roleIdList = resRole.data.result;
+		var resExtOrg = await getAPI(SysUserApi).apiSysUserOwnExtOrgListUserIdGet(row.id);
+		state.ruleForm.extOrgIdList = resExtOrg.data.result;
+	} else state.ruleForm.accountType = 777; // 榛樿鏅�氳处鍙风被鍨�
+	state.isShowDialog = true;
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysUserApi).apiSysUserUpdatePost(state.ruleForm);
+		} else {
+			await getAPI(SysUserApi).apiSysUserAddPost(state.ruleForm);
+		}
+		closeDialog();
+	});
+};
+
+// 澧炲姞闄勫睘鏈烘瀯琛�
+const addExtOrgRow = () => {
+	if (state.ruleForm.extOrgIdList == undefined) state.ruleForm.extOrgIdList = [];
+	state.ruleForm.extOrgIdList?.push({});
+};
+
+// 鍒犻櫎闄勫睘鏈烘瀯琛�
+const deleteExtOrgRow = (k: number) => {
+	state.ruleForm.extOrgIdList?.splice(k, 1);
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/user/component/orgTree.vue b/LA24030_LuLiPackageLine_Web/src/views/system/user/component/orgTree.vue
new file mode 100644
index 0000000..372fb15
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/user/component/orgTree.vue
@@ -0,0 +1,96 @@
+<template>
+	<div v-loading="state.loading">
+		<div style="text-align: right">
+			<div style="margin-right: 10px"><el-switch v-model="state.horizontal"></el-switch> 妯悜/绾靛悜</div>
+		</div>
+		<div style="height: 500px">
+			<vue3-tree-org
+				:data="state.orgData"
+				:props="{ id: 'id', pid: 'pid', label: 'name', expand: 'expand', children: 'children' }"
+				:label-style="state.style"
+				:default-expand-level="100"
+				:horizontal="state.horizontal"
+				:collapsable="state.collapsable"
+				:only-one-node="state.onlyOneNode"
+				:clone-node-drag="state.cloneNodeDrag"
+				:node-draggable="state.nodeDraggable"
+				style="background-color: var(--el-bg-color)"
+			>
+				<template v-slot="{ node }">
+					<div class="tree-org-node__text node-label">
+						<div class="node-title">{{ node.label }}</div>
+						<div class="node-id">缂栧彿锛歿{ node.id }}</div>
+					</div>
+				</template>
+				<template v-slot:expand="{ node }">
+					<div>{{ node.children.length }}</div>
+				</template>
+			</vue3-tree-org>
+		</div>
+	</div>
+</template>
+
+<script lang="ts" setup name="orgTree">
+import { onMounted, reactive } from 'vue';
+import { storeToRefs } from 'pinia';
+import { useUserInfo } from '/@/stores/userInfo';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysOrgApi } from '/@/api-services/api';
+
+const stores = useUserInfo();
+const { userInfos } = storeToRefs(stores);
+const currentNodeStyle = { color: '#FFFFFF', background: '#3B3B3B' };
+const state = reactive({
+	loading: false,
+	orgData: [] as any,
+	horizontal: false,
+	collapsable: true,
+	onlyOneNode: false,
+	cloneNodeDrag: false,
+	nodeDraggable: false,
+	style: {
+		background: 'var(--el-color-primary)', //'#FF5C00',
+		color: '#FFFFFF',
+	},
+});
+
+onMounted(async () => {
+	state.loading = true;
+	var res = await getAPI(SysOrgApi).apiSysOrgListGet(0);
+	var d = res.data.result ?? [];
+	state.orgData = d[0] ?? []; // 榛樿绗竴涓爲鍒嗘敮
+	if (state.orgData.id == userInfos.value.orgId) state.orgData.style = currentNodeStyle;
+	else InitOrg(state.orgData.children, userInfos.value.orgId);
+	state.loading = false;
+});
+
+// 閫掑綊閬嶅巻
+const InitOrg = (orgData: any, id: any) => {
+	if (orgData && orgData.length > 0) {
+		orgData.forEach(function (u: any) {
+			if (u.id == id) {
+				u.style = currentNodeStyle;
+				return;
+			} else {
+				InitOrg(u.children, id);
+			}
+		});
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.tree-org-node__text {
+	// text-align: left;
+	font-size: 14px;
+	.node-title {
+		padding-bottom: 8px;
+		margin-bottom: 8px;
+		border-bottom: 1px solid currentColor;
+	}
+	.node-id {
+		font-size: 10px;
+	}
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/user/component/userCenter.vue b/LA24030_LuLiPackageLine_Web/src/views/system/user/component/userCenter.vue
new file mode 100644
index 0000000..9eac2a0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/user/component/userCenter.vue
@@ -0,0 +1,393 @@
+<template>
+	<div class="sys-userCenter-container">
+		<el-row :gutter="5" style="width: 100%">
+			<el-col :span="8" :xs="24">
+				<el-card shadow="hover">
+					<div class="account-center-avatarHolder">
+						<!-- <el-upload class="h100" ref="uploadAvatarRef" action="" :limit="1" :show-file-list="false" :auto-upload="false" :on-change="uploadAvatarFile" accept=".jpg,.png,.bmp,.gif">
+							<el-avatar :size="100" :src="userInfos.avatar" />
+						</el-upload> -->
+						<el-avatar
+							:size="100"
+							:src="userInfos.avatar"
+							@click="openCropperDialog"
+							v-loading="state.avatarLoading"
+							element-loading-spinner="el-icon-Upload"
+							element-loading-background="rgba(0, 0, 0, 0.2)"
+							@mouseenter="mouseEnterAvatar"
+							@mouseleave="mouseLeaveAvatar"
+						/>
+						<div class="username">{{ userInfos.realName }}</div>
+					</div>
+					<div class="account-center-org">
+						<p>
+							<el-icon><ele-School /></el-icon> <span>{{ userInfos.orgName ?? '瓒呯骇绠$悊鍛�' }}</span>
+						</p>
+						<p>
+							<el-icon><ele-Mug /></el-icon> <span>{{ userInfos.posName ?? '瓒呯骇绠$悊鍛�' }}</span>
+						</p>
+						<p>
+							<el-icon><ele-LocationInformation /></el-icon> <span>{{ userInfos.address ?? '瀹跺涵浣忓潃' }}</span>
+						</p>
+					</div>
+					<div class="image-signature">
+						<el-image :src="userInfos.signature" fit="contain" alt="鐢靛瓙绛惧悕" loading="lazy" style="width: 100%; height: 100%"> </el-image>
+					</div>
+					<el-button icon="ele-Edit" type="primary" @click="openSignDialog" v-auth="'sysFile:uploadSignature'"> 鐢靛瓙绛惧悕 </el-button>
+					<el-upload
+						ref="uploadSignRef"
+						action=""
+						accept=".png"
+						:limit="1"
+						:show-file-list="false"
+						:auto-upload="false"
+						:on-change="uploadSignFile"
+						:on-exceed="uploadSignFileExceed"
+						style="display: inline-block; margin-left: 12px; position: absolute"
+					>
+						<el-button icon="ele-UploadFilled" v-auth="'sysFile:uploadSignature'">涓婁紶鎵嬪啓绛惧悕</el-button>
+					</el-upload>
+				</el-card>
+			</el-col>
+
+			<el-col :span="16" :xs="24">
+				<el-card shadow="hover">
+					<el-tabs>
+						<el-tab-pane label="鍩虹淇℃伅" v-loading="state.loading">
+							<el-form :model="state.ruleFormBase" ref="ruleFormBaseRef" label-width="auto">
+								<el-row :gutter="35">
+									<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+										<el-form-item label="鐪熷疄濮撳悕" prop="realName" :rules="[{ required: true, message: '鐪熷疄濮撳悕涓嶈兘涓虹┖', trigger: 'blur' }]">
+											<el-input v-model="state.ruleFormBase.realName" placeholder="鐪熷疄濮撳悕" clearable />
+										</el-form-item>
+									</el-col>
+									<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+										<el-form-item label="鏄电О">
+											<el-input v-model="state.ruleFormBase.nickName" placeholder="鏄电О" clearable />
+										</el-form-item>
+									</el-col>
+									<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+										<el-form-item label="鎵嬫満鍙风爜" prop="phone" :rules="[{ required: true, message: '鎵嬫満鍙风爜涓嶈兘涓虹┖', trigger: 'blur' }]">
+											<el-input v-model="state.ruleFormBase.phone" placeholder="鎵嬫満鍙风爜" clearable />
+										</el-form-item>
+									</el-col>
+									<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+										<el-form-item label="閭">
+											<el-input v-model="state.ruleFormBase.email" placeholder="閭" clearable />
+										</el-form-item>
+									</el-col>
+									<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+										<el-form-item label="鍑虹敓鏃ユ湡" prop="birthday" :rules="[{ required: true, message: '鍑虹敓鏃ユ湡涓嶈兘涓虹┖', trigger: 'blur' }]">
+											<el-date-picker v-model="state.ruleFormBase.birthday" type="date" placeholder="鍑虹敓鏃ユ湡" format="YYYY-MM-DD" value-format="YYYY-MM-DD" class="w100" />
+										</el-form-item>
+									</el-col>
+									<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+										<el-form-item label="鎬у埆">
+											<el-radio-group v-model="state.ruleFormBase.sex">
+												<el-radio :value="1">鐢�</el-radio>
+												<el-radio :value="2">濂�</el-radio>
+											</el-radio-group>
+										</el-form-item>
+									</el-col>
+									<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+										<el-form-item label="鍦板潃">
+											<el-input v-model="state.ruleFormBase.address" placeholder="鍦板潃" clearable type="textarea" />
+										</el-form-item>
+									</el-col>
+									<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+										<el-form-item label="澶囨敞">
+											<el-input v-model="state.ruleFormBase.remark" placeholder="澶囨敞" clearable type="textarea" />
+										</el-form-item>
+									</el-col>
+									<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+										<el-form-item>
+											<el-button icon="ele-SuccessFilled" type="primary" @click="submitUserBase" v-auth="'sysUser:baseInfo'"> 淇濆瓨鍩烘湰淇℃伅 </el-button>
+										</el-form-item>
+									</el-col>
+								</el-row>
+							</el-form>
+						</el-tab-pane>
+						<el-tab-pane label="缁勭粐鏈烘瀯">
+							<OrgTree ref="orgTreeRef" />
+						</el-tab-pane>
+						<el-tab-pane label="淇敼瀵嗙爜">
+							<el-form ref="ruleFormPasswordRef" :model="state.ruleFormPassword" label-width="auto">
+								<el-form-item label="褰撳墠瀵嗙爜" prop="passwordOld" :rules="[{ required: true, message: '褰撳墠瀵嗙爜涓嶈兘涓虹┖', trigger: 'blur' }]">
+									<el-input v-model="state.ruleFormPassword.passwordOld" type="password" autocomplete="off" />
+								</el-form-item>
+								<el-form-item label="鏂板瘑鐮�" prop="passwordNew" :rules="[{ required: true, message: '鏂板瘑鐮佷笉鑳戒负绌�', trigger: 'blur' }]">
+									<el-input v-model="state.ruleFormPassword.passwordNew" type="password" autocomplete="off" />
+								</el-form-item>
+								<el-form-item label="纭瀵嗙爜" prop="passwordNew2" :rules="[{ validator: validatePassword, required: true, trigger: 'blur' }]">
+									<el-input v-model="state.passwordNew2" type="password" autocomplete="off" />
+								</el-form-item>
+								<el-form-item>
+									<el-button icon="ele-Refresh" @click="resetPassword">閲� 缃�</el-button>
+									<el-button icon="ele-SuccessFilled" type="primary" @click="submitPassword" v-auth="'sysUser:changePwd'">纭� 瀹�</el-button>
+								</el-form-item>
+							</el-form>
+						</el-tab-pane>
+					</el-tabs>
+				</el-card>
+			</el-col>
+		</el-row>
+
+		<el-dialog v-model="state.signDialogVisible" draggable width="600px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-EditPen /> </el-icon>
+					<span> 鐢靛瓙绛惧悕 </span>
+				</div>
+			</template>
+			<div style="border: 1px dashed gray; width: 100%; height: 250px">
+				<VueSignaturePad ref="signaturePadRef" :options="state.signOptions" style="background-color: #fff" />
+			</div>
+			<div style="margin-top: 10px">
+				<div style="display: inline">鐢荤瑪绮楃粏锛�<el-input-number v-model="state.signOptions.minWidth" :min="0.5" :max="2.5" :step="0.1" size="small" /></div>
+				<div style="display: inline; margin-left: 30px">鐢荤瑪棰滆壊锛�<el-color-picker v-model="state.signOptions.penColor" color-format="hex" size="default"> </el-color-picker></div>
+			</div>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="unDoSign">鎾ら攢</el-button>
+					<el-button @click="clearSign">娓呭睆</el-button>
+					<el-button type="primary" @click="saveUploadSign">淇濆瓨</el-button>
+				</span>
+			</template>
+		</el-dialog>
+
+		<CropperDialog ref="cropperDialogRef" :title="state.cropperTitle" @uploadCropperImg="uploadCropperImg" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysUserCenter">
+import { onMounted, watch, reactive, ref } from 'vue';
+import { storeToRefs } from 'pinia';
+import { ElForm, ElMessageBox, genFileId } from 'element-plus';
+import type { UploadInstance, UploadProps, UploadRawFile } from 'element-plus';
+import { useUserInfo } from '/@/stores/userInfo';
+import { base64ToFile } from '/@/utils/base64Conver';
+import OrgTree from '/@/views/system/user/component/orgTree.vue';
+import CropperDialog from '/@/components/cropper/index.vue';
+import VueGridLayout from 'vue-grid-layout';
+import { sm2 } from 'sm-crypto-v2';
+import { clearAccessTokens, getAPI } from '/@/utils/axios-utils';
+import { SysFileApi, SysUserApi } from '/@/api-services/api';
+import { ChangePwdInput, SysUser, SysFile } from '/@/api-services/models';
+
+const stores = useUserInfo();
+const { userInfos } = storeToRefs(stores);
+const uploadSignRef = ref<UploadInstance>();
+//const uploadAvatarRef = ref<UploadInstance>();
+const signaturePadRef = ref<InstanceType<typeof VueGridLayout>>();
+const ruleFormBaseRef = ref<InstanceType<typeof ElForm>>();
+const ruleFormPasswordRef = ref<InstanceType<typeof ElForm>>();
+const cropperDialogRef = ref<InstanceType<typeof CropperDialog>>();
+const state = reactive({
+	loading: false,
+	avatarLoading: false,
+	signDialogVisible: false,
+	ruleFormBase: {} as SysUser,
+	ruleFormPassword: {} as ChangePwdInput,
+	signOptions: {
+		penColor: '#000000',
+		minWidth: 1.0,
+		onBegin: () => {
+			signaturePadRef.value.resizeCanvas();
+		},
+	},
+	signFileList: [] as any,
+	passwordNew2: '',
+	cropperTitle: '',
+});
+
+onMounted(async () => {
+	state.loading = true;
+	var res = await getAPI(SysUserApi).apiSysUserBaseInfoGet();
+	state.ruleFormBase = res.data.result ?? { account: '' };
+	state.loading = false;
+});
+
+watch(state.signOptions, () => {
+	signaturePadRef.value.signaturePad.penColor = state.signOptions.penColor;
+	signaturePadRef.value.signaturePad.minWidth = state.signOptions.minWidth;
+});
+
+// 涓婁紶澶村儚鍥剧墖
+const uploadCropperImg = async (e: any) => {
+	var res = await getAPI(SysFileApi).apiSysFileUploadAvatarPostForm(e.img);
+	userInfos.value.avatar = getFileUrl(res.data.result!);
+};
+
+// 鎵撳紑鐢靛瓙绛惧悕椤甸潰
+const openSignDialog = () => {
+	state.signDialogVisible = true;
+};
+
+// 淇濆瓨骞朵笂浼犵數瀛愮鍚�
+const saveUploadSign = async () => {
+	const { isEmpty, data } = signaturePadRef.value.saveSignature();
+	if (isEmpty) return;
+
+	var res = await getAPI(SysFileApi).apiSysFileUploadSignaturePostForm(base64ToFile(data, userInfos.value.account + '.png'));
+	userInfos.value.signature = getFileUrl(res.data.result!);
+
+	clearSign();
+	state.signDialogVisible = false;
+};
+
+// 鎾ら攢鐢靛瓙绛惧悕
+const unDoSign = () => {
+	signaturePadRef.value.undoSignature();
+};
+
+// 娓呯┖鐢靛瓙绛惧悕
+const clearSign = () => {
+	signaturePadRef.value.clearSignature();
+};
+
+// 涓婁紶鎵嬪啓鐢靛瓙绛惧悕
+const uploadSignFile = async (file: any) => {
+	var res = await getAPI(SysFileApi).apiSysFileUploadSignaturePostForm(file.raw);
+	userInfos.value.signature = res.data.result?.url;
+};
+
+// 鑾峰緱鐢靛瓙绛惧悕鏂囦欢鍒楄〃
+const handleChangeSignFile = (_file: any, fileList: []) => {
+	state.signFileList = fileList;
+};
+
+// 淇敼涓汉淇℃伅
+const submitUserBase = () => {
+	ruleFormBaseRef.value?.validate(async (valid: boolean) => {
+		if (!valid) return;
+		ElMessageBox.confirm('纭畾淇敼涓汉鍩虹淇℃伅锛�', '鎻愮ず', {
+			confirmButtonText: '纭畾',
+			cancelButtonText: '鍙栨秷',
+			type: 'warning',
+		}).then(async () => {
+			await getAPI(SysUserApi).apiSysUserBaseInfoPost(state.ruleFormBase);
+		});
+	});
+};
+
+// 瀵嗙爜楠岃瘉
+const validatePassword = (_rule: any, value: any, callback: any) => {
+	if (state.passwordNew2 != state.ruleFormPassword.passwordNew) {
+		callback(new Error('涓ゆ瀵嗙爜涓嶄竴鑷达紒'));
+	} else {
+		callback();
+	}
+};
+
+// 瀵嗙爜閲嶇疆
+const resetPassword = () => {
+	state.ruleFormPassword.passwordOld = '';
+	state.ruleFormPassword.passwordNew = '';
+	state.passwordNew2 = '';
+};
+
+// 瀵嗙爜鎻愪氦
+const submitPassword = () => {
+	ruleFormPasswordRef.value?.validate(async (valid: boolean) => {
+		if (!valid) return;
+
+		// SM2鍔犲瘑瀵嗙爜
+		const cpwd: ChangePwdInput = { passwordOld: '', passwordNew: '' };
+		const publicKey = window.__env__.VITE_SM_PUBLIC_KEY;
+		cpwd.passwordOld = sm2.doEncrypt(state.ruleFormPassword.passwordOld, publicKey, 1);
+		cpwd.passwordNew = sm2.doEncrypt(state.ruleFormPassword.passwordNew, publicKey, 1);
+		await getAPI(SysUserApi).apiSysUserChangePwdPost(cpwd);
+
+		// 閫�鍑虹郴缁�
+		ElMessageBox.confirm('瀵嗙爜宸蹭慨鏀癸紝鏄惁閲嶆柊鐧诲綍绯荤粺锛�', '鎻愮ず', {
+			confirmButtonText: '纭畾',
+			cancelButtonText: '鍙栨秷',
+			type: 'warning',
+		}).then(async () => {
+			clearAccessTokens();
+		});
+	});
+};
+
+// 鎵撳紑瑁佸壀寮圭獥
+const openCropperDialog = () => {
+	state.cropperTitle = '鏇存崲澶村儚';
+	cropperDialogRef.value?.openDialog(userInfos.value.avatar);
+};
+
+// 榧犳爣杩涘叆鍜岀寮�澶村儚鏃�
+const mouseEnterAvatar = () => {
+	state.avatarLoading = true;
+};
+
+const mouseLeaveAvatar = () => {
+	state.avatarLoading = false;
+};
+
+// 涓婁紶绛惧悕瓒呭嚭鏁伴噺闄愬埗鏃舵墽琛�
+const uploadSignFileExceed: UploadProps['onExceed'] = (files) => {
+	uploadSignRef.value!.clearFiles();
+	const file = files[0] as UploadRawFile;
+	file.uid = genFileId();
+	uploadSignRef.value!.handleStart(file);
+};
+
+// 鑾峰彇鏂囦欢鍦板潃
+const getFileUrl = (row: SysFile): string => {
+	if (row.bucketName == 'Local') {
+		return `/${row.filePath}/${row.id}${row.suffix}`;
+	} else {
+		return row.url!;
+	}
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ handleChangeSignFile });
+</script>
+
+<style lang="scss" scoped>
+.account-center-avatarHolder {
+	text-align: center;
+	margin-bottom: 24px;
+
+	.username {
+		font-size: 20px;
+		line-height: 28px;
+		font-weight: 500;
+		margin-bottom: 4px;
+	}
+}
+.account-center-org {
+	margin-bottom: 8px;
+	position: relative;
+	p {
+		margin-top: 10px;
+	}
+	span {
+		padding-left: 10px;
+	}
+}
+.avatar {
+	margin: 0 auto;
+	width: 104px;
+	height: 104px;
+	margin-bottom: 20px;
+	border-radius: 50%;
+	overflow: hidden;
+	img {
+		height: 100%;
+		width: 100%;
+	}
+}
+
+.image-signature {
+	margin-top: 20px;
+	margin-bottom: 10px;
+	width: 100%;
+	height: 150px;
+	background-color: #fff;
+	text-align: center;
+	vertical-align: middle;
+	border: solid 1px var(--el-border-color);
+}
+</style>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/user/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/user/index.vue
new file mode 100644
index 0000000..125c62e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/user/index.vue
@@ -0,0 +1,271 @@
+<template>
+	<div class="sys-user-container">
+		<el-row :gutter="5" style="width: 100%; flex: 1">
+			<el-col :span="4" :xs="24">
+				<OrgTree ref="orgTreeRef" @node-click="nodeClick" />
+			</el-col>
+
+			<el-col :span="20" :xs="24" style="display: flex; flex-direction: column">
+				<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+					<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+						<el-form-item label="璐﹀彿">
+							<el-input v-model="state.queryParams.account" placeholder="璐﹀彿" clearable />
+						</el-form-item>
+						<!-- <el-form-item label="濮撳悕">
+							<el-input v-model="state.queryParams.realName" placeholder="濮撳悕" clearable  />
+						</el-form-item> -->
+						<el-form-item label="鎵嬫満鍙风爜">
+							<el-input v-model="state.queryParams.phone" placeholder="鎵嬫満鍙风爜" clearable />
+						</el-form-item>
+						<el-form-item>
+							<el-button-group>
+								<el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'sysUser:page'"> 鏌ヨ </el-button>
+								<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+							</el-button-group>
+						</el-form-item>
+						<el-form-item>
+							<el-button type="primary" icon="ele-Plus" @click="openAddUser" v-auth="'sysUser:add'"> 鏂板 </el-button>
+						</el-form-item>
+					</el-form>
+				</el-card>
+
+				<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+					<el-table :data="state.userData" style="width: 100%" v-loading="state.loading" border>
+						<el-table-column type="index" label="搴忓彿" width="55" align="center" fixed />
+						<el-table-column label="澶村儚" width="80" align="center" show-overflow-tooltip>
+							<template #default="scope">
+								<el-avatar :src="scope.row.avatar" size="small">{{ scope.row.nickName?.slice(0, 1) ?? scope.row.realName?.slice(0, 1) }} </el-avatar>
+							</template>
+						</el-table-column>
+						<el-table-column prop="account" label="璐﹀彿" width="120" align="center" show-overflow-tooltip />
+						<!-- <el-table-column prop="nickName" label="鏄电О" width="120" align="center" show-overflow-tooltip /> -->
+						<el-table-column prop="realName" label="濮撳悕" width="120" align="center" show-overflow-tooltip />
+						<el-table-column prop="phone" label="鎵嬫満鍙风爜" width="120" align="center" show-overflow-tooltip />
+						<!-- <el-table-column label="鍑虹敓鏃ユ湡" width="100" align="center" show-overflow-tooltip>
+							<template #default="scope">
+								{{ formatDate(new Date(scope.row.birthday), 'YYYY-mm-dd') }}
+							</template>
+						</el-table-column>
+						<el-table-column label="鎬у埆" width="70" align="center" show-overflow-tooltip>
+							<template #default="scope">
+								<el-tag type="success" v-if="scope.row.sex === 1"> 鐢� </el-tag>
+								<el-tag type="danger" v-else-if="scope.row.sex === 2"> 濂� </el-tag>
+								<el-tag type="info" v-else> 鍏朵粬 </el-tag>
+							</template>
+						</el-table-column> -->
+						<el-table-column label="璐﹀彿绫诲瀷" width="110" align="center" show-overflow-tooltip>
+							<template #default="scope">
+								<el-tag v-if="scope.row.accountType === 888"> 绯荤粺绠$悊鍛� </el-tag>
+								<el-tag v-else-if="scope.row.accountType === 777"> 鏅�氳处鍙� </el-tag>
+								<el-tag v-else-if="scope.row.accountType === 666"> 浼氬憳 </el-tag>
+								<el-tag v-else> 鍏朵粬 </el-tag>
+							</template>
+						</el-table-column>
+						<el-table-column prop="roleName" label="瑙掕壊闆嗗悎" min-width="150" align="center" show-overflow-tooltip />
+						<el-table-column prop="orgName" label="鎵�灞炴満鏋�" min-width="120" align="center" show-overflow-tooltip />
+						<el-table-column prop="posName" label="鑱屼綅鍚嶇О" min-width="120" align="center" show-overflow-tooltip />
+						<el-table-column label="鐘舵��" width="70" align="center" show-overflow-tooltip>
+							<template #default="scope">
+								<el-switch v-model="scope.row.status" :active-value="1" :inactive-value="2" size="small" @change="changeStatus(scope.row)" v-auth="'sysUser:setStatus'" />
+							</template>
+						</el-table-column>
+						<el-table-column prop="orderNo" label="鎺掑簭" width="70" align="center" show-overflow-tooltip />
+						<el-table-column label="淇敼璁板綍" width="100" align="center" show-overflow-tooltip>
+							<template #default="scope">
+								<ModifyRecord :data="scope.row" />
+							</template>
+						</el-table-column>
+						<el-table-column label="鎿嶄綔" width="130" align="center" fixed="right" show-overflow-tooltip>
+							<template #default="scope">
+								<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditUser(scope.row)" v-auth="'sysUser:update'"> 缂栬緫 </el-button>
+								<el-dropdown>
+									<el-button icon="ele-MoreFilled" size="small" text type="primary" style="padding-left: 12px" />
+									<template #dropdown>
+										<el-dropdown-menu>
+											<el-dropdown-item icon="ele-RefreshLeft" @click="resetUserPwd(scope.row)" :disabled="!auth('sysUser:resetPwd')"> 閲嶇疆瀵嗙爜 </el-dropdown-item>
+											<el-dropdown-item icon="ele-Unlock" @click="unlockLogin(scope.row)" divided :disabled="!auth('sysUser:unlockLogin')"> 瑙i櫎閿佸畾 </el-dropdown-item>
+											<el-dropdown-item icon="ele-Delete" @click="delUser(scope.row)" divided :disabled="!auth('sysUser:delete')"> 鍒犻櫎璐﹀彿 </el-dropdown-item>
+										</el-dropdown-menu>
+									</template>
+								</el-dropdown>
+							</template>
+						</el-table-column>
+					</el-table>
+					<el-pagination
+						v-model:currentPage="state.tableParams.page"
+						v-model:page-size="state.tableParams.pageSize"
+						:total="state.tableParams.total"
+						:page-sizes="[10, 20, 50, 100]"
+						small
+						background
+						@size-change="handleSizeChange"
+						@current-change="handleCurrentChange"
+						layout="total, sizes, prev, pager, next, jumper"
+					/>
+				</el-card>
+			</el-col>
+		</el-row>
+
+		<EditUser ref="editUserRef" :title="state.editUserTitle" :orgData="state.orgTreeData" @handleQuery="handleQuery" />
+	</div>
+</template>
+
+<script lang="ts" setup name="sysUser">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+// import { formatDate } from '/@/utils/formatTime';
+import { auth } from '/@/utils/authFunction';
+import OrgTree from '/@/views/system/org/component/orgTree.vue';
+import EditUser from '/@/views/system/user/component/editUser.vue';
+import ModifyRecord from '/@/components/table/modifyRecord.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysUserApi, SysOrgApi } from '/@/api-services/api';
+import { SysUser, SysOrg } from '/@/api-services/models';
+
+const orgTreeRef = ref<InstanceType<typeof OrgTree>>();
+const editUserRef = ref<InstanceType<typeof EditUser>>();
+const state = reactive({
+	loading: false,
+	userData: [] as Array<SysUser>,
+	orgTreeData: [] as Array<SysOrg>,
+	queryParams: {
+		orgId: -1,
+		account: undefined,
+		realName: undefined,
+		phone: undefined,
+	},
+	tableParams: {
+		page: 1,
+		pageSize: 200,
+		total: 0 as any,
+	},
+	editUserTitle: '',
+});
+
+onMounted(async () => {
+	loadOrgData();
+	handleQuery();
+});
+
+// 鏌ヨ鏈烘瀯鏁版嵁
+const loadOrgData = async () => {
+	state.loading = true;
+	var res = await getAPI(SysOrgApi).apiSysOrgListGet(0);
+	state.orgTreeData = res.data.result ?? [];
+	state.loading = false;
+};
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.loading = true;
+	let params = Object.assign(state.queryParams, state.tableParams);
+	var res = await getAPI(SysUserApi).apiSysUserPagePost(params);
+	state.userData = res.data.result?.items ?? [];
+	state.tableParams.total = res.data.result?.total;
+	state.loading = false;
+};
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.orgId = -1;
+	state.queryParams.account = undefined;
+	state.queryParams.realName = undefined;
+	state.queryParams.phone = undefined;
+	handleQuery();
+};
+
+// 鎵撳紑鏂板椤甸潰
+const openAddUser = () => {
+	state.editUserTitle = '娣诲姞璐﹀彿';
+	editUserRef.value?.openDialog({ id: undefined, birthday: '2000-01-01', sex: 1, orderNo: 100, cardType: 0, cultureLevel: 5 });
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditUser = (row: any) => {
+	state.editUserTitle = '缂栬緫璐﹀彿';
+	editUserRef.value?.openDialog(row);
+};
+
+// 鍒犻櫎
+const delUser = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎璐﹀彿锛氥��${row.account}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysUserApi).apiSysUserDeletePost({ id: row.id });
+			handleQuery();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+	state.tableParams.pageSize = val;
+	handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+	state.tableParams.page = val;
+	handleQuery();
+};
+
+// 淇敼鐘舵��
+const changeStatus = (row: any) => {
+	getAPI(SysUserApi)
+		.apiSysUserSetStatusPost({ id: row.id, status: row.status })
+		.then(() => {
+			ElMessage.success('璐﹀彿鐘舵�佽缃垚鍔�');
+		})
+		.catch(() => {
+			row.status = row.status == 1 ? 2 : 1;
+		});
+};
+
+// 閲嶇疆瀵嗙爜
+const resetUserPwd = async (row: any) => {
+	ElMessageBox.confirm(`纭畾閲嶇疆瀵嗙爜锛氥��${row.account}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysUserApi)
+				.apiSysUserResetPwdPost({ id: row.id })
+				.then((res) => {
+					ElMessage.success(`瀵嗙爜閲嶇疆鎴愬姛涓猴細${res.data.result}`);
+				});
+		})
+		.catch(() => {});
+};
+
+// 瑙i櫎鐧诲綍閿佸畾
+const unlockLogin = async (row: any) => {
+	ElMessageBox.confirm(`纭畾瑙i櫎鐧诲綍閿佸畾锛氥��${row.account}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysUserApi)
+				.apiSysUserUnlockLoginPost({ id: row.id })
+				.then(() => {
+					ElMessage.success('瑙i櫎鐧诲綍閿佸畾鎴愬姛');
+				});
+		})
+		.catch(() => {});
+};
+
+// 鏍戠粍浠剁偣鍑�
+const nodeClick = async (node: any) => {
+	state.queryParams.orgId = node.id;
+	state.queryParams.account = undefined;
+	state.queryParams.realName = undefined;
+	state.queryParams.phone = undefined;
+	handleQuery();
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/weChatUser/component/editWeChatUser.vue b/LA24030_LuLiPackageLine_Web/src/views/system/weChatUser/component/editWeChatUser.vue
new file mode 100644
index 0000000..b005838
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/weChatUser/component/editWeChatUser.vue
@@ -0,0 +1,79 @@
+<template>
+	<div class="weChatUser-container">
+		<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
+			<template #header>
+				<div style="color: #fff">
+					<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>
+					<span> {{ props.title }} </span>
+				</div>
+			</template>
+			<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
+				<el-row :gutter="35">
+					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="鏄电О" prop="nickName" :rules="[{ required: true, message: '鏄电О涓嶈兘涓虹┖', trigger: 'blur' }]">
+							<el-input v-model="state.ruleForm.nickName" placeholder="鏄电О" clearable />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+
+<script lang="ts" setup name="sysEditWeChatUser">
+import { reactive, ref } from 'vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysWechatUserApi } from '/@/api-services/api';
+import { SysWechatUser } from '/@/api-services/models';
+
+const props = defineProps({
+	title: String,
+});
+const emits = defineEmits(['handleQuery']);
+const ruleFormRef = ref();
+const state = reactive({
+	isShowDialog: false,
+	ruleForm: {} as SysWechatUser,
+});
+
+// 鎵撳紑寮圭獥
+const openDialog = (row: any) => {
+	state.ruleForm = JSON.parse(JSON.stringify(row));
+	state.isShowDialog = true;
+	ruleFormRef.value?.resetFields();
+};
+
+// 鍏抽棴寮圭獥
+const closeDialog = () => {
+	emits('handleQuery');
+	state.isShowDialog = false;
+};
+
+// 鍙栨秷
+const cancel = () => {
+	state.isShowDialog = false;
+};
+
+// 鎻愪氦
+const submit = () => {
+	ruleFormRef.value.validate(async (valid: boolean) => {
+		if (!valid) return;
+		if (state.ruleForm.id != undefined && state.ruleForm.id > 0) {
+			await getAPI(SysWechatUserApi).apiSysWechatUserUpdatePost(state.ruleForm);
+		} else {
+			await getAPI(SysWechatUserApi).apiSysWechatUserAddPost(state.ruleForm);
+		}
+		closeDialog();
+	});
+};
+
+// 瀵煎嚭瀵硅薄
+defineExpose({ openDialog });
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/src/views/system/weChatUser/index.vue b/LA24030_LuLiPackageLine_Web/src/views/system/weChatUser/index.vue
new file mode 100644
index 0000000..2b64a49
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/system/weChatUser/index.vue
@@ -0,0 +1,153 @@
+<template>
+	<div class="weChatUser-container">
+		<el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+			<el-form :model="state.queryParams" ref="queryForm" :inline="true">
+				<el-form-item label="寰俊鏄电О">
+					<el-input v-model="state.queryParams.nickName" placeholder="寰俊鏄电О" clearable />
+				</el-form-item>
+				<el-form-item label="鎵嬫満鍙风爜">
+					<el-input v-model="state.queryParams.mobile" placeholder="鎵嬫満鍙风爜" clearable />
+				</el-form-item>
+				<el-form-item>
+					<el-button-group>
+						<el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'sysWechatUser:page'"> 鏌ヨ </el-button>
+						<el-button icon="ele-Refresh" @click="resetQuery"> 閲嶇疆 </el-button>
+					</el-button-group>
+				</el-form-item>
+			</el-form>
+		</el-card>
+
+		<el-card class="full-table" shadow="hover" style="margin-top: 5px">
+			<el-table :data="state.weChatUserData" style="width: 100%" v-loading="state.loading" border>
+				<el-table-column type="index" label="搴忓彿" width="55" align="center" />
+				<el-table-column prop="openId" label="OpenId" align="center" show-overflow-tooltip />
+				<el-table-column prop="unionId" label="UnionId" align="center" show-overflow-tooltip />
+				<el-table-column prop="platformType" label="骞冲彴绫诲瀷" width="110" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag v-if="scope.row.platformType === 1"> 寰俊鍏紬鍙� </el-tag>
+						<el-tag v-else-if="scope.row.platformType === 2"> 寰俊灏忕▼搴� </el-tag>
+						<el-tag v-else-if="scope.row.platformType === 3"> QQ </el-tag>
+						<el-tag v-else-if="scope.row.platformType === 4"> Alipay </el-tag>
+						<el-tag v-else-if="scope.row.platformType === 5"> Gitee </el-tag>
+						<el-tag v-else> 鏈煡 </el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="nickName" label="鏄电О" align="center" show-overflow-tooltip />
+				<el-table-column prop="avatar" label="澶村儚" width="70" align="center">
+					<template #default="scope">
+						<el-avatar :src="scope.row.avatar" :size="24" style="vertical-align: middle" />
+					</template>
+				</el-table-column>
+				<el-table-column prop="mobile" label="鎵嬫満鍙风爜" align="center" show-overflow-tooltip />
+				<el-table-column prop="sex" label="鎬у埆" width="60" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-tag v-if="scope.row.sex === 0"> 鐢� </el-tag>
+						<el-tag type="danger" v-else> 濂� </el-tag>
+					</template>
+				</el-table-column>
+				<el-table-column prop="city" label="鍩庡競" align="center" show-overflow-tooltip />
+				<el-table-column prop="province" label="鐪�" align="center" show-overflow-tooltip />
+				<el-table-column prop="country" label="鍥藉" align="center" show-overflow-tooltip />
+				<el-table-column label="鎿嶄綔" width="140" fixed="right" align="center" show-overflow-tooltip>
+					<template #default="scope">
+						<el-button icon="ele-Edit" size="small" text type="primary" @click="openEditWeChatUser(scope.row)" v-auth="'sysWechatUser:update'"> 缂栬緫 </el-button>
+						<el-button icon="ele-Delete" size="small" text type="danger" @click="delWeChatUser(scope.row)" v-auth="'sysWechatUser:delete'"> 鍒犻櫎 </el-button>
+					</template>
+				</el-table-column>
+			</el-table>
+			<el-pagination
+				v-model:currentPage="state.tableParams.page"
+				v-model:page-size="state.tableParams.pageSize"
+				:total="state.tableParams.total"
+				:page-sizes="[10, 20, 50, 100]"
+				small
+				background
+				@size-change="handleSizeChange"
+				@current-change="handleCurrentChange"
+				layout="total, sizes, prev, pager, next, jumper"
+			/>
+		</el-card>
+
+		<EditWeChatUser ref="editWeChatUserRef" :title="state.editWeChatUserTitle" @handleQuery="handleQuery" />
+	</div>
+</template>
+
+<script lang="ts" setup name="weChatUser">
+import { onMounted, reactive, ref } from 'vue';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import EditWeChatUser from '/@/views/system/weChatUser/component/editWeChatUser.vue';
+
+import { getAPI } from '/@/utils/axios-utils';
+import { SysWechatUserApi } from '/@/api-services/api';
+import { SysWechatUser } from '/@/api-services/models';
+
+const editWeChatUserRef = ref<InstanceType<typeof EditWeChatUser>>();
+const state = reactive({
+	loading: false,
+	weChatUserData: [] as Array<SysWechatUser>,
+	queryParams: {
+		nickName: undefined,
+		mobile: undefined,
+	},
+	tableParams: {
+		page: 1,
+		pageSize: 200,
+		total: 0 as any,
+	},
+	editWeChatUserTitle: '',
+});
+
+onMounted(async () => {
+	handleQuery();
+});
+
+// 鏌ヨ鎿嶄綔
+const handleQuery = async () => {
+	state.loading = true;
+	let params = Object.assign(state.queryParams, state.tableParams);
+	var res = await getAPI(SysWechatUserApi).apiSysWechatUserPagePost(params);
+	state.weChatUserData = res.data.result?.items ?? [];
+	state.tableParams.total = res.data.result?.total;
+	state.loading = false;
+};
+
+// 閲嶇疆鎿嶄綔
+const resetQuery = () => {
+	state.queryParams.nickName = undefined;
+	state.queryParams.mobile = undefined;
+	handleQuery();
+};
+
+// 鎵撳紑缂栬緫椤甸潰
+const openEditWeChatUser = (row: any) => {
+	state.editWeChatUserTitle = '缂栬緫寰俊璐﹀彿';
+	editWeChatUserRef.value?.openDialog(row);
+};
+
+// 鍒犻櫎
+const delWeChatUser = (row: any) => {
+	ElMessageBox.confirm(`纭畾鍒犻櫎寰俊璐﹀彿锛氥��${row.nickName}銆�?`, '鎻愮ず', {
+		confirmButtonText: '纭畾',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(async () => {
+			await getAPI(SysWechatUserApi).apiSysWechatUserDeletePost({ id: row.id });
+			handleQuery();
+			ElMessage.success('鍒犻櫎鎴愬姛');
+		})
+		.catch(() => {});
+};
+
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+	state.tableParams.pageSize = val;
+	handleQuery();
+};
+
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+	state.tableParams.page = val;
+	handleQuery();
+};
+</script>
diff --git a/LA24030_LuLiPackageLine_Web/stats.html b/LA24030_LuLiPackageLine_Web/stats.html
new file mode 100644
index 0000000..9d4a419
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/stats.html
@@ -0,0 +1,4842 @@
+
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <meta http-equiv="X-UA-Compatible" content="ie=edge" />
+  <title>Rollup Visualizer</title>
+  <style>
+:root {
+  --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,
+    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+  --background-color: #2b2d42;
+  --text-color: #edf2f4;
+}
+
+html {
+  box-sizing: border-box;
+}
+
+*,
+*:before,
+*:after {
+  box-sizing: inherit;
+}
+
+html {
+  background-color: var(--background-color);
+  color: var(--text-color);
+  font-family: var(--font-family);
+}
+
+body {
+  padding: 0;
+  margin: 0;
+}
+
+html,
+body {
+  height: 100%;
+  width: 100%;
+  overflow: hidden;
+}
+
+body {
+  display: flex;
+  flex-direction: column;
+}
+
+svg {
+  vertical-align: middle;
+  width: 100%;
+  height: 100%;
+  max-height: 100vh;
+}
+
+main {
+  flex-grow: 1;
+  height: 100vh;
+  padding: 20px;
+}
+
+.tooltip {
+  position: absolute;
+  z-index: 1070;
+  border: 2px solid;
+  border-radius: 5px;
+  padding: 5px;
+  white-space: nowrap;
+  font-size: 0.875rem;
+  background-color: var(--background-color);
+  color: var(--text-color);
+}
+
+.tooltip-hidden {
+  visibility: hidden;
+  opacity: 0;
+}
+
+.sidebar {
+  position: fixed;
+  top: 0;
+  left: 0;
+  right: 0;
+  display: flex;
+  flex-direction: row;
+  font-size: 0.7rem;
+  align-items: center;
+  margin: 0 50px;
+  height: 20px;
+}
+
+.size-selectors {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+}
+
+.size-selector {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+  margin-right: 1rem;
+}
+.size-selector input {
+  margin: 0 0.3rem 0 0;
+}
+
+.filters {
+  flex: 1;
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+}
+
+.module-filters {
+  display: flex;
+  flex-grow: 1;
+}
+
+.module-filter {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+  flex: 1;
+}
+.module-filter input {
+  flex: 1;
+  height: 1rem;
+  padding: 0.01rem;
+  font-size: 0.7rem;
+  margin-left: 0.3rem;
+}
+.module-filter + .module-filter {
+  margin-left: 0.5rem;
+}
+
+.node {
+  cursor: pointer;
+}
+  </style>
+</head>
+<body>
+  <main></main>
+  <script>
+  /*<!--*/
+var drawChart = (function (exports) {
+  'use strict';
+
+  var n,l$1,u$2,i$1,o$1,r$1,f$2,e$1,c$1={},s$1=[],a$1=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,h$1=Array.isArray;function v$1(n,l){for(var u in l)n[u]=l[u];return n}function p$1(n){var l=n.parentNode;l&&l.removeChild(n);}function y$1(l,u,t){var i,o,r,f={};for(r in u)"key"==r?i=u[r]:"ref"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),"function"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return d$1(l,f,i,o,null)}function d$1(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++u$2:r,__i:-1,__u:0};return null==r&&null!=l$1.vnode&&l$1.vnode(f),f}function g$1(n){return n.children}function b$1(n,l){this.props=n,this.context=l;}function m$1(n,l){if(null==l)return n.__?m$1(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return "function"==typeof n.type?m$1(n):null}function k$1(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return k$1(n)}}function w$1(n){(!n.__d&&(n.__d=!0)&&i$1.push(n)&&!x.__r++||o$1!==l$1.debounceRendering)&&((o$1=l$1.debounceRendering)||r$1)(x);}function x(){var n,u,t,o,r,e,c,s,a;for(i$1.sort(f$2);n=i$1.shift();)n.__d&&(u=i$1.length,o=void 0,e=(r=(t=n).__v).__e,s=[],a=[],(c=t.__P)&&((o=v$1({},r)).__v=r.__v+1,l$1.vnode&&l$1.vnode(o),L(c,o,r,t.__n,void 0!==c.ownerSVGElement,32&r.__u?[e]:null,s,null==e?m$1(r):e,!!(32&r.__u),a),o.__.__k[o.__i]=o,M(s,o,a),o.__e!=e&&k$1(o)),i$1.length>u&&i$1.sort(f$2));x.__r=0;}function C(n,l,u,t,i,o,r,f,e,a,h){var v,p,y,d,_,g=t&&t.__k||s$1,b=l.length;for(u.__d=e,P(u,l,g),e=u.__d,v=0;v<b;v++)null!=(y=u.__k[v])&&"boolean"!=typeof y&&"function"!=typeof y&&(p=-1===y.__i?c$1:g[y.__i]||c$1,y.__i=v,L(n,y,p,i,o,r,f,e,a,h),d=y.__e,y.ref&&p.ref!=y.ref&&(p.ref&&z$1(p.ref,null,y),h.push(y.ref,y.__c||d,y)),null==_&&null!=d&&(_=d),65536&y.__u||p.__k===y.__k?e=S(y,e,n):"function"==typeof y.type&&void 0!==y.__d?e=y.__d:d&&(e=d.nextSibling),y.__d=void 0,y.__u&=-196609);u.__d=e,u.__e=_;}function P(n,l,u){var t,i,o,r,f,e=l.length,c=u.length,s=c,a=0;for(n.__k=[],t=0;t<e;t++)null!=(i=n.__k[t]=null==(i=l[t])||"boolean"==typeof i||"function"==typeof i?null:"string"==typeof i||"number"==typeof i||"bigint"==typeof i||i.constructor==String?d$1(null,i,null,null,i):h$1(i)?d$1(g$1,{children:i},null,null,null):void 0===i.constructor&&i.__b>0?d$1(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)?(i.__=n,i.__b=n.__b+1,f=H(i,u,r=t+a,s),i.__i=f,o=null,-1!==f&&(s--,(o=u[f])&&(o.__u|=131072)),null==o||null===o.__v?(-1==f&&a--,"function"!=typeof i.type&&(i.__u|=65536)):f!==r&&(f===r+1?a++:f>r?s>e-r?a+=f-r:a--:a=f<r&&f==r-1?f-r:0,f!==t+a&&(i.__u|=65536))):(o=u[t])&&null==o.key&&o.__e&&(o.__e==n.__d&&(n.__d=m$1(o)),N(o,o,!1),u[t]=null,s--);if(s)for(t=0;t<c;t++)null!=(o=u[t])&&0==(131072&o.__u)&&(o.__e==n.__d&&(n.__d=m$1(o)),N(o,o));}function S(n,l,u){var t,i;if("function"==typeof n.type){for(t=n.__k,i=0;t&&i<t.length;i++)t[i]&&(t[i].__=n,l=S(t[i],l,u));return l}return n.__e!=l&&(u.insertBefore(n.__e,l||null),l=n.__e),l&&l.nextSibling}function H(n,l,u,t){var i=n.key,o=n.type,r=u-1,f=u+1,e=l[u];if(null===e||e&&i==e.key&&o===e.type)return u;if(t>(null!=e&&0==(131072&e.__u)?1:0))for(;r>=0||f<l.length;){if(r>=0){if((e=l[r])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return r;r--;}if(f<l.length){if((e=l[f])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return f;f++;}}return -1}function I(n,l,u){"-"===l[0]?n.setProperty(l,null==u?"":u):n[l]=null==u?"":"number"!=typeof u||a$1.test(l)?u:u+"px";}function T$1(n,l,u,t,i){var o;n:if("style"===l)if("string"==typeof u)n.style.cssText=u;else {if("string"==typeof t&&(n.style.cssText=t=""),t)for(l in t)u&&l in u||I(n.style,l,"");if(u)for(l in u)t&&u[l]===t[l]||I(n.style,l,u[l]);}else if("o"===l[0]&&"n"===l[1])o=l!==(l=l.replace(/(PointerCapture)$|Capture$/,"$1")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?t?u.u=t.u:(u.u=Date.now(),n.addEventListener(l,o?D:A,o)):n.removeEventListener(l,o?D:A,o);else {if(i)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!==l&&"height"!==l&&"href"!==l&&"list"!==l&&"form"!==l&&"tabIndex"!==l&&"download"!==l&&"rowSpan"!==l&&"colSpan"!==l&&"role"!==l&&l in n)try{n[l]=null==u?"":u;break n}catch(n){}"function"==typeof u||(null==u||!1===u&&"-"!==l[4]?n.removeAttribute(l):n.setAttribute(l,u));}}function A(n){var u=this.l[n.type+!1];if(n.t){if(n.t<=u.u)return}else n.t=Date.now();return u(l$1.event?l$1.event(n):n)}function D(n){return this.l[n.type+!0](l$1.event?l$1.event(n):n)}function L(n,u,t,i,o,r,f,e,c,s){var a,p,y,d,_,m,k,w,x,P,S,$,H,I,T,A=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),r=[e=u.__e=t.__e]),(a=l$1.__b)&&a(u);n:if("function"==typeof A)try{if(w=u.props,x=(a=A.contextType)&&i[a.__c],P=a?x?x.props.value:a.__:i,t.__c?k=(p=u.__c=t.__c).__=p.__E:("prototype"in A&&A.prototype.render?u.__c=p=new A(w,P):(u.__c=p=new b$1(w,P),p.constructor=A,p.render=O),x&&x.sub(p),p.props=w,p.state||(p.state={}),p.context=P,p.__n=i,y=p.__d=!0,p.__h=[],p._sb=[]),null==p.__s&&(p.__s=p.state),null!=A.getDerivedStateFromProps&&(p.__s==p.state&&(p.__s=v$1({},p.__s)),v$1(p.__s,A.getDerivedStateFromProps(w,p.__s))),d=p.props,_=p.state,p.__v=u,y)null==A.getDerivedStateFromProps&&null!=p.componentWillMount&&p.componentWillMount(),null!=p.componentDidMount&&p.__h.push(p.componentDidMount);else {if(null==A.getDerivedStateFromProps&&w!==d&&null!=p.componentWillReceiveProps&&p.componentWillReceiveProps(w,P),!p.__e&&(null!=p.shouldComponentUpdate&&!1===p.shouldComponentUpdate(w,p.__s,P)||u.__v===t.__v)){for(u.__v!==t.__v&&(p.props=w,p.state=p.__s,p.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.forEach(function(n){n&&(n.__=u);}),S=0;S<p._sb.length;S++)p.__h.push(p._sb[S]);p._sb=[],p.__h.length&&f.push(p);break n}null!=p.componentWillUpdate&&p.componentWillUpdate(w,p.__s,P),null!=p.componentDidUpdate&&p.__h.push(function(){p.componentDidUpdate(d,_,m);});}if(p.context=P,p.props=w,p.__P=n,p.__e=!1,$=l$1.__r,H=0,"prototype"in A&&A.prototype.render){for(p.state=p.__s,p.__d=!1,$&&$(u),a=p.render(p.props,p.state,p.context),I=0;I<p._sb.length;I++)p.__h.push(p._sb[I]);p._sb=[];}else do{p.__d=!1,$&&$(u),a=p.render(p.props,p.state,p.context),p.state=p.__s;}while(p.__d&&++H<25);p.state=p.__s,null!=p.getChildContext&&(i=v$1(v$1({},i),p.getChildContext())),y||null==p.getSnapshotBeforeUpdate||(m=p.getSnapshotBeforeUpdate(d,_)),C(n,h$1(T=null!=a&&a.type===g$1&&null==a.key?a.props.children:a)?T:[T],u,t,i,o,r,f,e,c,s),p.base=u.__e,u.__u&=-161,p.__h.length&&f.push(p),k&&(p.__E=p.__=null);}catch(n){u.__v=null,c||null!=r?(u.__e=e,u.__u|=c?160:32,r[r.indexOf(e)]=null):(u.__e=t.__e,u.__k=t.__k),l$1.__e(n,u,t);}else null==r&&u.__v===t.__v?(u.__k=t.__k,u.__e=t.__e):u.__e=j$1(t.__e,u,t,i,o,r,f,c,s);(a=l$1.diffed)&&a(u);}function M(n,u,t){u.__d=void 0;for(var i=0;i<t.length;i++)z$1(t[i],t[++i],t[++i]);l$1.__c&&l$1.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u);});}catch(n){l$1.__e(n,u.__v);}});}function j$1(l,u,t,i,o,r,f,e,s){var a,v,y,d,_,g,b,k=t.props,w=u.props,x=u.type;if("svg"===x&&(o=!0),null!=r)for(a=0;a<r.length;a++)if((_=r[a])&&"setAttribute"in _==!!x&&(x?_.localName===x:3===_.nodeType)){l=_,r[a]=null;break}if(null==l){if(null===x)return document.createTextNode(w);l=o?document.createElementNS("http://www.w3.org/2000/svg",x):document.createElement(x,w.is&&w),r=null,e=!1;}if(null===x)k===w||e&&l.data===w||(l.data=w);else {if(r=r&&n.call(l.childNodes),k=t.props||c$1,!e&&null!=r)for(k={},a=0;a<l.attributes.length;a++)k[(_=l.attributes[a]).name]=_.value;for(a in k)_=k[a],"children"==a||("dangerouslySetInnerHTML"==a?y=_:"key"===a||a in w||T$1(l,a,null,_,o));for(a in w)_=w[a],"children"==a?d=_:"dangerouslySetInnerHTML"==a?v=_:"value"==a?g=_:"checked"==a?b=_:"key"===a||e&&"function"!=typeof _||k[a]===_||T$1(l,a,_,k[a],o);if(v)e||y&&(v.__html===y.__html||v.__html===l.innerHTML)||(l.innerHTML=v.__html),u.__k=[];else if(y&&(l.innerHTML=""),C(l,h$1(d)?d:[d],u,t,i,o&&"foreignObject"!==x,r,f,r?r[0]:t.__k&&m$1(t,0),e,s),null!=r)for(a=r.length;a--;)null!=r[a]&&p$1(r[a]);e||(a="value",void 0!==g&&(g!==l[a]||"progress"===x&&!g||"option"===x&&g!==k[a])&&T$1(l,a,g,k[a],!1),a="checked",void 0!==b&&b!==l[a]&&T$1(l,a,b,k[a],!1));}return l}function z$1(n,u,t){try{"function"==typeof n?n(u):n.current=u;}catch(n){l$1.__e(n,t);}}function N(n,u,t){var i,o;if(l$1.unmount&&l$1.unmount(n),(i=n.ref)&&(i.current&&i.current!==n.__e||z$1(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount();}catch(n){l$1.__e(n,u);}i.base=i.__P=null,n.__c=void 0;}if(i=n.__k)for(o=0;o<i.length;o++)i[o]&&N(i[o],u,t||"function"!=typeof n.type);t||null==n.__e||p$1(n.__e),n.__=n.__e=n.__d=void 0;}function O(n,l,u){return this.constructor(n,u)}function q$1(u,t,i){var o,r,f,e;l$1.__&&l$1.__(u,t),r=(o="function"==typeof i)?null:i&&i.__k||t.__k,f=[],e=[],L(t,u=(!o&&i||t).__k=y$1(g$1,null,[u]),r||c$1,c$1,void 0!==t.ownerSVGElement,!o&&i?[i]:r?null:t.firstChild?n.call(t.childNodes):null,f,!o&&i?i:r?r.__e:t.firstChild,o,e),M(f,u,e);}function F$1(n,l){var u={__c:l="__cC"+e$1++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,w$1(n);});},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n);};}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=s$1.slice,l$1={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l;}throw n}},u$2=0,b$1.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=v$1({},this.state),"function"==typeof n&&(n=n(v$1({},u),this.props)),n&&v$1(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),w$1(this));},b$1.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),w$1(this));},b$1.prototype.render=g$1,i$1=[],r$1="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f$2=function(n,l){return n.__v.__b-l.__v.__b},x.__r=0,e$1=0;
+
+  var f$1=0;function u$1(e,t,n,o,i,u){var a,c,p={};for(c in t)"ref"==c?a=t[c]:p[c]=t[c];var l={type:e,props:p,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:--f$1,__i:-1,__u:0,__source:i,__self:u};if("function"==typeof e&&(a=e.defaultProps))for(c in a)void 0===p[c]&&(p[c]=a[c]);return l$1.vnode&&l$1.vnode(l),l}
+
+  function count$1(node) {
+    var sum = 0,
+        children = node.children,
+        i = children && children.length;
+    if (!i) sum = 1;
+    else while (--i >= 0) sum += children[i].value;
+    node.value = sum;
+  }
+
+  function node_count() {
+    return this.eachAfter(count$1);
+  }
+
+  function node_each(callback, that) {
+    let index = -1;
+    for (const node of this) {
+      callback.call(that, node, ++index, this);
+    }
+    return this;
+  }
+
+  function node_eachBefore(callback, that) {
+    var node = this, nodes = [node], children, i, index = -1;
+    while (node = nodes.pop()) {
+      callback.call(that, node, ++index, this);
+      if (children = node.children) {
+        for (i = children.length - 1; i >= 0; --i) {
+          nodes.push(children[i]);
+        }
+      }
+    }
+    return this;
+  }
+
+  function node_eachAfter(callback, that) {
+    var node = this, nodes = [node], next = [], children, i, n, index = -1;
+    while (node = nodes.pop()) {
+      next.push(node);
+      if (children = node.children) {
+        for (i = 0, n = children.length; i < n; ++i) {
+          nodes.push(children[i]);
+        }
+      }
+    }
+    while (node = next.pop()) {
+      callback.call(that, node, ++index, this);
+    }
+    return this;
+  }
+
+  function node_find(callback, that) {
+    let index = -1;
+    for (const node of this) {
+      if (callback.call(that, node, ++index, this)) {
+        return node;
+      }
+    }
+  }
+
+  function node_sum(value) {
+    return this.eachAfter(function(node) {
+      var sum = +value(node.data) || 0,
+          children = node.children,
+          i = children && children.length;
+      while (--i >= 0) sum += children[i].value;
+      node.value = sum;
+    });
+  }
+
+  function node_sort(compare) {
+    return this.eachBefore(function(node) {
+      if (node.children) {
+        node.children.sort(compare);
+      }
+    });
+  }
+
+  function node_path(end) {
+    var start = this,
+        ancestor = leastCommonAncestor(start, end),
+        nodes = [start];
+    while (start !== ancestor) {
+      start = start.parent;
+      nodes.push(start);
+    }
+    var k = nodes.length;
+    while (end !== ancestor) {
+      nodes.splice(k, 0, end);
+      end = end.parent;
+    }
+    return nodes;
+  }
+
+  function leastCommonAncestor(a, b) {
+    if (a === b) return a;
+    var aNodes = a.ancestors(),
+        bNodes = b.ancestors(),
+        c = null;
+    a = aNodes.pop();
+    b = bNodes.pop();
+    while (a === b) {
+      c = a;
+      a = aNodes.pop();
+      b = bNodes.pop();
+    }
+    return c;
+  }
+
+  function node_ancestors() {
+    var node = this, nodes = [node];
+    while (node = node.parent) {
+      nodes.push(node);
+    }
+    return nodes;
+  }
+
+  function node_descendants() {
+    return Array.from(this);
+  }
+
+  function node_leaves() {
+    var leaves = [];
+    this.eachBefore(function(node) {
+      if (!node.children) {
+        leaves.push(node);
+      }
+    });
+    return leaves;
+  }
+
+  function node_links() {
+    var root = this, links = [];
+    root.each(function(node) {
+      if (node !== root) { // Don鈥檛 include the root鈥檚 parent, if any.
+        links.push({source: node.parent, target: node});
+      }
+    });
+    return links;
+  }
+
+  function* node_iterator() {
+    var node = this, current, next = [node], children, i, n;
+    do {
+      current = next.reverse(), next = [];
+      while (node = current.pop()) {
+        yield node;
+        if (children = node.children) {
+          for (i = 0, n = children.length; i < n; ++i) {
+            next.push(children[i]);
+          }
+        }
+      }
+    } while (next.length);
+  }
+
+  function hierarchy(data, children) {
+    if (data instanceof Map) {
+      data = [undefined, data];
+      if (children === undefined) children = mapChildren;
+    } else if (children === undefined) {
+      children = objectChildren;
+    }
+
+    var root = new Node$1(data),
+        node,
+        nodes = [root],
+        child,
+        childs,
+        i,
+        n;
+
+    while (node = nodes.pop()) {
+      if ((childs = children(node.data)) && (n = (childs = Array.from(childs)).length)) {
+        node.children = childs;
+        for (i = n - 1; i >= 0; --i) {
+          nodes.push(child = childs[i] = new Node$1(childs[i]));
+          child.parent = node;
+          child.depth = node.depth + 1;
+        }
+      }
+    }
+
+    return root.eachBefore(computeHeight);
+  }
+
+  function node_copy() {
+    return hierarchy(this).eachBefore(copyData);
+  }
+
+  function objectChildren(d) {
+    return d.children;
+  }
+
+  function mapChildren(d) {
+    return Array.isArray(d) ? d[1] : null;
+  }
+
+  function copyData(node) {
+    if (node.data.value !== undefined) node.value = node.data.value;
+    node.data = node.data.data;
+  }
+
+  function computeHeight(node) {
+    var height = 0;
+    do node.height = height;
+    while ((node = node.parent) && (node.height < ++height));
+  }
+
+  function Node$1(data) {
+    this.data = data;
+    this.depth =
+    this.height = 0;
+    this.parent = null;
+  }
+
+  Node$1.prototype = hierarchy.prototype = {
+    constructor: Node$1,
+    count: node_count,
+    each: node_each,
+    eachAfter: node_eachAfter,
+    eachBefore: node_eachBefore,
+    find: node_find,
+    sum: node_sum,
+    sort: node_sort,
+    path: node_path,
+    ancestors: node_ancestors,
+    descendants: node_descendants,
+    leaves: node_leaves,
+    links: node_links,
+    copy: node_copy,
+    [Symbol.iterator]: node_iterator
+  };
+
+  function required(f) {
+    if (typeof f !== "function") throw new Error;
+    return f;
+  }
+
+  function constantZero() {
+    return 0;
+  }
+
+  function constant$1(x) {
+    return function() {
+      return x;
+    };
+  }
+
+  function roundNode(node) {
+    node.x0 = Math.round(node.x0);
+    node.y0 = Math.round(node.y0);
+    node.x1 = Math.round(node.x1);
+    node.y1 = Math.round(node.y1);
+  }
+
+  function treemapDice(parent, x0, y0, x1, y1) {
+    var nodes = parent.children,
+        node,
+        i = -1,
+        n = nodes.length,
+        k = parent.value && (x1 - x0) / parent.value;
+
+    while (++i < n) {
+      node = nodes[i], node.y0 = y0, node.y1 = y1;
+      node.x0 = x0, node.x1 = x0 += node.value * k;
+    }
+  }
+
+  function treemapSlice(parent, x0, y0, x1, y1) {
+    var nodes = parent.children,
+        node,
+        i = -1,
+        n = nodes.length,
+        k = parent.value && (y1 - y0) / parent.value;
+
+    while (++i < n) {
+      node = nodes[i], node.x0 = x0, node.x1 = x1;
+      node.y0 = y0, node.y1 = y0 += node.value * k;
+    }
+  }
+
+  var phi = (1 + Math.sqrt(5)) / 2;
+
+  function squarifyRatio(ratio, parent, x0, y0, x1, y1) {
+    var rows = [],
+        nodes = parent.children,
+        row,
+        nodeValue,
+        i0 = 0,
+        i1 = 0,
+        n = nodes.length,
+        dx, dy,
+        value = parent.value,
+        sumValue,
+        minValue,
+        maxValue,
+        newRatio,
+        minRatio,
+        alpha,
+        beta;
+
+    while (i0 < n) {
+      dx = x1 - x0, dy = y1 - y0;
+
+      // Find the next non-empty node.
+      do sumValue = nodes[i1++].value; while (!sumValue && i1 < n);
+      minValue = maxValue = sumValue;
+      alpha = Math.max(dy / dx, dx / dy) / (value * ratio);
+      beta = sumValue * sumValue * alpha;
+      minRatio = Math.max(maxValue / beta, beta / minValue);
+
+      // Keep adding nodes while the aspect ratio maintains or improves.
+      for (; i1 < n; ++i1) {
+        sumValue += nodeValue = nodes[i1].value;
+        if (nodeValue < minValue) minValue = nodeValue;
+        if (nodeValue > maxValue) maxValue = nodeValue;
+        beta = sumValue * sumValue * alpha;
+        newRatio = Math.max(maxValue / beta, beta / minValue);
+        if (newRatio > minRatio) { sumValue -= nodeValue; break; }
+        minRatio = newRatio;
+      }
+
+      // Position and record the row orientation.
+      rows.push(row = {value: sumValue, dice: dx < dy, children: nodes.slice(i0, i1)});
+      if (row.dice) treemapDice(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1);
+      else treemapSlice(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1);
+      value -= sumValue, i0 = i1;
+    }
+
+    return rows;
+  }
+
+  var squarify = (function custom(ratio) {
+
+    function squarify(parent, x0, y0, x1, y1) {
+      squarifyRatio(ratio, parent, x0, y0, x1, y1);
+    }
+
+    squarify.ratio = function(x) {
+      return custom((x = +x) > 1 ? x : 1);
+    };
+
+    return squarify;
+  })(phi);
+
+  function treemap() {
+    var tile = squarify,
+        round = false,
+        dx = 1,
+        dy = 1,
+        paddingStack = [0],
+        paddingInner = constantZero,
+        paddingTop = constantZero,
+        paddingRight = constantZero,
+        paddingBottom = constantZero,
+        paddingLeft = constantZero;
+
+    function treemap(root) {
+      root.x0 =
+      root.y0 = 0;
+      root.x1 = dx;
+      root.y1 = dy;
+      root.eachBefore(positionNode);
+      paddingStack = [0];
+      if (round) root.eachBefore(roundNode);
+      return root;
+    }
+
+    function positionNode(node) {
+      var p = paddingStack[node.depth],
+          x0 = node.x0 + p,
+          y0 = node.y0 + p,
+          x1 = node.x1 - p,
+          y1 = node.y1 - p;
+      if (x1 < x0) x0 = x1 = (x0 + x1) / 2;
+      if (y1 < y0) y0 = y1 = (y0 + y1) / 2;
+      node.x0 = x0;
+      node.y0 = y0;
+      node.x1 = x1;
+      node.y1 = y1;
+      if (node.children) {
+        p = paddingStack[node.depth + 1] = paddingInner(node) / 2;
+        x0 += paddingLeft(node) - p;
+        y0 += paddingTop(node) - p;
+        x1 -= paddingRight(node) - p;
+        y1 -= paddingBottom(node) - p;
+        if (x1 < x0) x0 = x1 = (x0 + x1) / 2;
+        if (y1 < y0) y0 = y1 = (y0 + y1) / 2;
+        tile(node, x0, y0, x1, y1);
+      }
+    }
+
+    treemap.round = function(x) {
+      return arguments.length ? (round = !!x, treemap) : round;
+    };
+
+    treemap.size = function(x) {
+      return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [dx, dy];
+    };
+
+    treemap.tile = function(x) {
+      return arguments.length ? (tile = required(x), treemap) : tile;
+    };
+
+    treemap.padding = function(x) {
+      return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner();
+    };
+
+    treemap.paddingInner = function(x) {
+      return arguments.length ? (paddingInner = typeof x === "function" ? x : constant$1(+x), treemap) : paddingInner;
+    };
+
+    treemap.paddingOuter = function(x) {
+      return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop();
+    };
+
+    treemap.paddingTop = function(x) {
+      return arguments.length ? (paddingTop = typeof x === "function" ? x : constant$1(+x), treemap) : paddingTop;
+    };
+
+    treemap.paddingRight = function(x) {
+      return arguments.length ? (paddingRight = typeof x === "function" ? x : constant$1(+x), treemap) : paddingRight;
+    };
+
+    treemap.paddingBottom = function(x) {
+      return arguments.length ? (paddingBottom = typeof x === "function" ? x : constant$1(+x), treemap) : paddingBottom;
+    };
+
+    treemap.paddingLeft = function(x) {
+      return arguments.length ? (paddingLeft = typeof x === "function" ? x : constant$1(+x), treemap) : paddingLeft;
+    };
+
+    return treemap;
+  }
+
+  var treemapResquarify = (function custom(ratio) {
+
+    function resquarify(parent, x0, y0, x1, y1) {
+      if ((rows = parent._squarify) && (rows.ratio === ratio)) {
+        var rows,
+            row,
+            nodes,
+            i,
+            j = -1,
+            n,
+            m = rows.length,
+            value = parent.value;
+
+        while (++j < m) {
+          row = rows[j], nodes = row.children;
+          for (i = row.value = 0, n = nodes.length; i < n; ++i) row.value += nodes[i].value;
+          if (row.dice) treemapDice(row, x0, y0, x1, value ? y0 += (y1 - y0) * row.value / value : y1);
+          else treemapSlice(row, x0, y0, value ? x0 += (x1 - x0) * row.value / value : x1, y1);
+          value -= row.value;
+        }
+      } else {
+        parent._squarify = rows = squarifyRatio(ratio, parent, x0, y0, x1, y1);
+        rows.ratio = ratio;
+      }
+    }
+
+    resquarify.ratio = function(x) {
+      return custom((x = +x) > 1 ? x : 1);
+    };
+
+    return resquarify;
+  })(phi);
+
+  const isModuleTree = (mod) => "children" in mod;
+
+  let count = 0;
+  class Id {
+      constructor(id) {
+          this._id = id;
+          const url = new URL(window.location.href);
+          url.hash = id;
+          this._href = url.toString();
+      }
+      get id() {
+          return this._id;
+      }
+      get href() {
+          return this._href;
+      }
+      toString() {
+          return `url(${this.href})`;
+      }
+  }
+  function generateUniqueId(name) {
+      count += 1;
+      const id = ["O", name, count].filter(Boolean).join("-");
+      return new Id(id);
+  }
+
+  const LABELS = {
+      renderedLength: "Rendered",
+      gzipLength: "Gzip",
+      brotliLength: "Brotli",
+  };
+  const getAvailableSizeOptions = (options) => {
+      const availableSizeProperties = ["renderedLength"];
+      if (options.gzip) {
+          availableSizeProperties.push("gzipLength");
+      }
+      if (options.brotli) {
+          availableSizeProperties.push("brotliLength");
+      }
+      return availableSizeProperties;
+  };
+
+  var t,r,u,i,o=0,f=[],c=[],e=l$1.__b,a=l$1.__r,v=l$1.diffed,l=l$1.__c,m=l$1.unmount;function d(t,u){l$1.__h&&l$1.__h(r,t,o||u),o=0;var i=r.__H||(r.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({__V:c}),i.__[t]}function h(n){return o=1,s(B,n)}function s(n,u,i){var o=d(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):B(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}));}],o.__c=r,!r.u)){var f=function(n,t,r){if(!o.__c.__H)return !0;var u=o.__c.__H.__.filter(function(n){return n.__c});if(u.every(function(n){return !n.__N}))return !c||c.call(this,n,t,r);var i=!1;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0);}}),!(!i&&o.__c.props===n)&&(!c||c.call(this,n,t,r))};r.u=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u;}e&&e.call(this,n,t,r);},r.shouldComponentUpdate=f;}return o.__N||o.__}function p(u,i){var o=d(t++,3);!l$1.__s&&z(o.__H,i)&&(o.__=u,o.i=i,r.__H.__h.push(o));}function y(u,i){var o=d(t++,4);!l$1.__s&&z(o.__H,i)&&(o.__=u,o.i=i,r.__h.push(o));}function _(n){return o=5,F(function(){return {current:n}},[])}function F(n,r){var u=d(t++,7);return z(u.__H,r)?(u.__V=n(),u.i=r,u.__h=n,u.__V):u.__}function T(n,t){return o=8,F(function(){return n},t)}function q(n){var u=r.context[n.__c],i=d(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function b(){for(var t;t=f.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(k),t.__H.__h.forEach(w),t.__H.__h=[];}catch(r){t.__H.__h=[],l$1.__e(r,t.__v);}}l$1.__b=function(n){r=null,e&&e(n);},l$1.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=c,n.__N=n.i=void 0;})):(i.__h.forEach(k),i.__h.forEach(w),i.__h=[],t=0)),u=r;},l$1.diffed=function(t){v&&v(t);var o=t.__c;o&&o.__H&&(o.__H.__h.length&&(1!==f.push(o)&&i===l$1.requestAnimationFrame||((i=l$1.requestAnimationFrame)||j)(b)),o.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==c&&(n.__=n.__V),n.i=void 0,n.__V=c;})),u=r=null;},l$1.__c=function(t,r){r.some(function(t){try{t.__h.forEach(k),t.__h=t.__h.filter(function(n){return !n.__||w(n)});}catch(u){r.some(function(n){n.__h&&(n.__h=[]);}),r=[],l$1.__e(u,t.__v);}}),l&&l(t,r);},l$1.unmount=function(t){m&&m(t);var r,u=t.__c;u&&u.__H&&(u.__H.__.forEach(function(n){try{k(n);}catch(n){r=n;}}),u.__H=void 0,r&&l$1.__e(r,u.__v));};var g="function"==typeof requestAnimationFrame;function j(n){var t,r=function(){clearTimeout(u),g&&cancelAnimationFrame(t),setTimeout(n);},u=setTimeout(r,100);g&&(t=requestAnimationFrame(r));}function k(n){var t=r,u=n.__c;"function"==typeof u&&(n.__c=void 0,u()),r=t;}function w(n){var t=r;n.__c=n.__(),r=t;}function z(n,t){return !n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function B(n,t){return "function"==typeof t?t(n):t}
+
+  const PLACEHOLDER = "*/**/file.js";
+  const SideBar = ({ availableSizeProperties, sizeProperty, setSizeProperty, onExcludeChange, onIncludeChange, }) => {
+      const [includeValue, setIncludeValue] = h("");
+      const [excludeValue, setExcludeValue] = h("");
+      const handleSizePropertyChange = (sizeProp) => () => {
+          if (sizeProp !== sizeProperty) {
+              setSizeProperty(sizeProp);
+          }
+      };
+      const handleIncludeChange = (event) => {
+          const value = event.currentTarget.value;
+          setIncludeValue(value);
+          onIncludeChange(value);
+      };
+      const handleExcludeChange = (event) => {
+          const value = event.currentTarget.value;
+          setExcludeValue(value);
+          onExcludeChange(value);
+      };
+      return (u$1("aside", { className: "sidebar", children: [u$1("div", { className: "size-selectors", children: availableSizeProperties.length > 1 &&
+                      availableSizeProperties.map((sizeProp) => {
+                          const id = `selector-${sizeProp}`;
+                          return (u$1("div", { className: "size-selector", children: [u$1("input", { type: "radio", id: id, checked: sizeProp === sizeProperty, onChange: handleSizePropertyChange(sizeProp) }), u$1("label", { htmlFor: id, children: LABELS[sizeProp] })] }, sizeProp));
+                      }) }), u$1("div", { className: "module-filters", children: [u$1("div", { className: "module-filter", children: [u$1("label", { htmlFor: "module-filter-exclude", children: "Exclude" }), u$1("input", { type: "text", id: "module-filter-exclude", value: excludeValue, onInput: handleExcludeChange, placeholder: PLACEHOLDER })] }), u$1("div", { className: "module-filter", children: [u$1("label", { htmlFor: "module-filter-include", children: "Include" }), u$1("input", { type: "text", id: "module-filter-include", value: includeValue, onInput: handleIncludeChange, placeholder: PLACEHOLDER })] })] })] }));
+  };
+
+  function getDefaultExportFromCjs (x) {
+  	return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
+  }
+
+  var utils$3 = {};
+
+  const WIN_SLASH = '\\\\/';
+  const WIN_NO_SLASH = `[^${WIN_SLASH}]`;
+
+  /**
+   * Posix glob regex
+   */
+
+  const DOT_LITERAL = '\\.';
+  const PLUS_LITERAL = '\\+';
+  const QMARK_LITERAL = '\\?';
+  const SLASH_LITERAL = '\\/';
+  const ONE_CHAR = '(?=.)';
+  const QMARK = '[^/]';
+  const END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;
+  const START_ANCHOR = `(?:^|${SLASH_LITERAL})`;
+  const DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;
+  const NO_DOT = `(?!${DOT_LITERAL})`;
+  const NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;
+  const NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;
+  const NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;
+  const QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;
+  const STAR = `${QMARK}*?`;
+  const SEP = '/';
+
+  const POSIX_CHARS = {
+    DOT_LITERAL,
+    PLUS_LITERAL,
+    QMARK_LITERAL,
+    SLASH_LITERAL,
+    ONE_CHAR,
+    QMARK,
+    END_ANCHOR,
+    DOTS_SLASH,
+    NO_DOT,
+    NO_DOTS,
+    NO_DOT_SLASH,
+    NO_DOTS_SLASH,
+    QMARK_NO_DOT,
+    STAR,
+    START_ANCHOR,
+    SEP
+  };
+
+  /**
+   * Windows glob regex
+   */
+
+  const WINDOWS_CHARS = {
+    ...POSIX_CHARS,
+
+    SLASH_LITERAL: `[${WIN_SLASH}]`,
+    QMARK: WIN_NO_SLASH,
+    STAR: `${WIN_NO_SLASH}*?`,
+    DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,
+    NO_DOT: `(?!${DOT_LITERAL})`,
+    NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
+    NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,
+    NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
+    QMARK_NO_DOT: `[^.${WIN_SLASH}]`,
+    START_ANCHOR: `(?:^|[${WIN_SLASH}])`,
+    END_ANCHOR: `(?:[${WIN_SLASH}]|$)`,
+    SEP: '\\'
+  };
+
+  /**
+   * POSIX Bracket Regex
+   */
+
+  const POSIX_REGEX_SOURCE$1 = {
+    alnum: 'a-zA-Z0-9',
+    alpha: 'a-zA-Z',
+    ascii: '\\x00-\\x7F',
+    blank: ' \\t',
+    cntrl: '\\x00-\\x1F\\x7F',
+    digit: '0-9',
+    graph: '\\x21-\\x7E',
+    lower: 'a-z',
+    print: '\\x20-\\x7E ',
+    punct: '\\-!"#$%&\'()\\*+,./:;<=>?@[\\]^_`{|}~',
+    space: ' \\t\\r\\n\\v\\f',
+    upper: 'A-Z',
+    word: 'A-Za-z0-9_',
+    xdigit: 'A-Fa-f0-9'
+  };
+
+  var constants$3 = {
+    MAX_LENGTH: 1024 * 64,
+    POSIX_REGEX_SOURCE: POSIX_REGEX_SOURCE$1,
+
+    // regular expressions
+    REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
+    REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
+    REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
+    REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
+    REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
+    REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
+
+    // Replace globs with equivalent patterns to reduce parsing time.
+    REPLACEMENTS: {
+      '***': '*',
+      '**/**': '**',
+      '**/**/**': '**'
+    },
+
+    // Digits
+    CHAR_0: 48, /* 0 */
+    CHAR_9: 57, /* 9 */
+
+    // Alphabet chars.
+    CHAR_UPPERCASE_A: 65, /* A */
+    CHAR_LOWERCASE_A: 97, /* a */
+    CHAR_UPPERCASE_Z: 90, /* Z */
+    CHAR_LOWERCASE_Z: 122, /* z */
+
+    CHAR_LEFT_PARENTHESES: 40, /* ( */
+    CHAR_RIGHT_PARENTHESES: 41, /* ) */
+
+    CHAR_ASTERISK: 42, /* * */
+
+    // Non-alphabetic chars.
+    CHAR_AMPERSAND: 38, /* & */
+    CHAR_AT: 64, /* @ */
+    CHAR_BACKWARD_SLASH: 92, /* \ */
+    CHAR_CARRIAGE_RETURN: 13, /* \r */
+    CHAR_CIRCUMFLEX_ACCENT: 94, /* ^ */
+    CHAR_COLON: 58, /* : */
+    CHAR_COMMA: 44, /* , */
+    CHAR_DOT: 46, /* . */
+    CHAR_DOUBLE_QUOTE: 34, /* " */
+    CHAR_EQUAL: 61, /* = */
+    CHAR_EXCLAMATION_MARK: 33, /* ! */
+    CHAR_FORM_FEED: 12, /* \f */
+    CHAR_FORWARD_SLASH: 47, /* / */
+    CHAR_GRAVE_ACCENT: 96, /* ` */
+    CHAR_HASH: 35, /* # */
+    CHAR_HYPHEN_MINUS: 45, /* - */
+    CHAR_LEFT_ANGLE_BRACKET: 60, /* < */
+    CHAR_LEFT_CURLY_BRACE: 123, /* { */
+    CHAR_LEFT_SQUARE_BRACKET: 91, /* [ */
+    CHAR_LINE_FEED: 10, /* \n */
+    CHAR_NO_BREAK_SPACE: 160, /* \u00A0 */
+    CHAR_PERCENT: 37, /* % */
+    CHAR_PLUS: 43, /* + */
+    CHAR_QUESTION_MARK: 63, /* ? */
+    CHAR_RIGHT_ANGLE_BRACKET: 62, /* > */
+    CHAR_RIGHT_CURLY_BRACE: 125, /* } */
+    CHAR_RIGHT_SQUARE_BRACKET: 93, /* ] */
+    CHAR_SEMICOLON: 59, /* ; */
+    CHAR_SINGLE_QUOTE: 39, /* ' */
+    CHAR_SPACE: 32, /*   */
+    CHAR_TAB: 9, /* \t */
+    CHAR_UNDERSCORE: 95, /* _ */
+    CHAR_VERTICAL_LINE: 124, /* | */
+    CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, /* \uFEFF */
+
+    /**
+     * Create EXTGLOB_CHARS
+     */
+
+    extglobChars(chars) {
+      return {
+        '!': { type: 'negate', open: '(?:(?!(?:', close: `))${chars.STAR})` },
+        '?': { type: 'qmark', open: '(?:', close: ')?' },
+        '+': { type: 'plus', open: '(?:', close: ')+' },
+        '*': { type: 'star', open: '(?:', close: ')*' },
+        '@': { type: 'at', open: '(?:', close: ')' }
+      };
+    },
+
+    /**
+     * Create GLOB_CHARS
+     */
+
+    globChars(win32) {
+      return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;
+    }
+  };
+
+  (function (exports) {
+
+  	const {
+  	  REGEX_BACKSLASH,
+  	  REGEX_REMOVE_BACKSLASH,
+  	  REGEX_SPECIAL_CHARS,
+  	  REGEX_SPECIAL_CHARS_GLOBAL
+  	} = constants$3;
+
+  	exports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val);
+  	exports.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str);
+  	exports.isRegexChar = str => str.length === 1 && exports.hasRegexChars(str);
+  	exports.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\$1');
+  	exports.toPosixSlashes = str => str.replace(REGEX_BACKSLASH, '/');
+
+  	exports.removeBackslashes = str => {
+  	  return str.replace(REGEX_REMOVE_BACKSLASH, match => {
+  	    return match === '\\' ? '' : match;
+  	  });
+  	};
+
+  	exports.supportsLookbehinds = () => {
+  	  const segs = process.version.slice(1).split('.').map(Number);
+  	  if (segs.length === 3 && segs[0] >= 9 || (segs[0] === 8 && segs[1] >= 10)) {
+  	    return true;
+  	  }
+  	  return false;
+  	};
+
+  	exports.escapeLast = (input, char, lastIdx) => {
+  	  const idx = input.lastIndexOf(char, lastIdx);
+  	  if (idx === -1) return input;
+  	  if (input[idx - 1] === '\\') return exports.escapeLast(input, char, idx - 1);
+  	  return `${input.slice(0, idx)}\\${input.slice(idx)}`;
+  	};
+
+  	exports.removePrefix = (input, state = {}) => {
+  	  let output = input;
+  	  if (output.startsWith('./')) {
+  	    output = output.slice(2);
+  	    state.prefix = './';
+  	  }
+  	  return output;
+  	};
+
+  	exports.wrapOutput = (input, state = {}, options = {}) => {
+  	  const prepend = options.contains ? '' : '^';
+  	  const append = options.contains ? '' : '$';
+
+  	  let output = `${prepend}(?:${input})${append}`;
+  	  if (state.negated === true) {
+  	    output = `(?:^(?!${output}).*$)`;
+  	  }
+  	  return output;
+  	};
+
+  	exports.basename = (path, { windows } = {}) => {
+  	  if (windows) {
+  	    return path.replace(/[\\/]$/, '').replace(/.*[\\/]/, '');
+  	  } else {
+  	    return path.replace(/\/$/, '').replace(/.*\//, '');
+  	  }
+  	}; 
+  } (utils$3));
+
+  const utils$2 = utils$3;
+  const {
+    CHAR_ASTERISK,             /* * */
+    CHAR_AT,                   /* @ */
+    CHAR_BACKWARD_SLASH,       /* \ */
+    CHAR_COMMA,                /* , */
+    CHAR_DOT,                  /* . */
+    CHAR_EXCLAMATION_MARK,     /* ! */
+    CHAR_FORWARD_SLASH,        /* / */
+    CHAR_LEFT_CURLY_BRACE,     /* { */
+    CHAR_LEFT_PARENTHESES,     /* ( */
+    CHAR_LEFT_SQUARE_BRACKET,  /* [ */
+    CHAR_PLUS,                 /* + */
+    CHAR_QUESTION_MARK,        /* ? */
+    CHAR_RIGHT_CURLY_BRACE,    /* } */
+    CHAR_RIGHT_PARENTHESES,    /* ) */
+    CHAR_RIGHT_SQUARE_BRACKET  /* ] */
+  } = constants$3;
+
+  const isPathSeparator = code => {
+    return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;
+  };
+
+  const depth = token => {
+    if (token.isPrefix !== true) {
+      token.depth = token.isGlobstar ? Infinity : 1;
+    }
+  };
+
+  /**
+   * Quickly scans a glob pattern and returns an object with a handful of
+   * useful properties, like `isGlob`, `path` (the leading non-glob, if it exists),
+   * `glob` (the actual pattern), and `negated` (true if the path starts with `!`).
+   *
+   * ```js
+   * const pm = require('picomatch');
+   * console.log(pm.scan('foo/bar/*.js'));
+   * { isGlob: true, input: 'foo/bar/*.js', base: 'foo/bar', glob: '*.js' }
+   * ```
+   * @param {String} `str`
+   * @param {Object} `options`
+   * @return {Object} Returns an object with tokens and regex source string.
+   * @api public
+   */
+
+  const scan$1 = (input, options) => {
+    const opts = options || {};
+
+    const length = input.length - 1;
+    const scanToEnd = opts.parts === true || opts.scanToEnd === true;
+    const slashes = [];
+    const tokens = [];
+    const parts = [];
+
+    let str = input;
+    let index = -1;
+    let start = 0;
+    let lastIndex = 0;
+    let isBrace = false;
+    let isBracket = false;
+    let isGlob = false;
+    let isExtglob = false;
+    let isGlobstar = false;
+    let braceEscaped = false;
+    let backslashes = false;
+    let negated = false;
+    let finished = false;
+    let braces = 0;
+    let prev;
+    let code;
+    let token = { value: '', depth: 0, isGlob: false };
+
+    const eos = () => index >= length;
+    const peek = () => str.charCodeAt(index + 1);
+    const advance = () => {
+      prev = code;
+      return str.charCodeAt(++index);
+    };
+
+    while (index < length) {
+      code = advance();
+      let next;
+
+      if (code === CHAR_BACKWARD_SLASH) {
+        backslashes = token.backslashes = true;
+        code = advance();
+
+        if (code === CHAR_LEFT_CURLY_BRACE) {
+          braceEscaped = true;
+        }
+        continue;
+      }
+
+      if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {
+        braces++;
+
+        while (eos() !== true && (code = advance())) {
+          if (code === CHAR_BACKWARD_SLASH) {
+            backslashes = token.backslashes = true;
+            advance();
+            continue;
+          }
+
+          if (code === CHAR_LEFT_CURLY_BRACE) {
+            braces++;
+            continue;
+          }
+
+          if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {
+            isBrace = token.isBrace = true;
+            isGlob = token.isGlob = true;
+            finished = true;
+
+            if (scanToEnd === true) {
+              continue;
+            }
+
+            break;
+          }
+
+          if (braceEscaped !== true && code === CHAR_COMMA) {
+            isBrace = token.isBrace = true;
+            isGlob = token.isGlob = true;
+            finished = true;
+
+            if (scanToEnd === true) {
+              continue;
+            }
+
+            break;
+          }
+
+          if (code === CHAR_RIGHT_CURLY_BRACE) {
+            braces--;
+
+            if (braces === 0) {
+              braceEscaped = false;
+              isBrace = token.isBrace = true;
+              finished = true;
+              break;
+            }
+          }
+        }
+
+        if (scanToEnd === true) {
+          continue;
+        }
+
+        break;
+      }
+
+      if (code === CHAR_FORWARD_SLASH) {
+        slashes.push(index);
+        tokens.push(token);
+        token = { value: '', depth: 0, isGlob: false };
+
+        if (finished === true) continue;
+        if (prev === CHAR_DOT && index === (start + 1)) {
+          start += 2;
+          continue;
+        }
+
+        lastIndex = index + 1;
+        continue;
+      }
+
+      if (opts.noext !== true) {
+        const isExtglobChar = code === CHAR_PLUS
+          || code === CHAR_AT
+          || code === CHAR_ASTERISK
+          || code === CHAR_QUESTION_MARK
+          || code === CHAR_EXCLAMATION_MARK;
+
+        if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {
+          isGlob = token.isGlob = true;
+          isExtglob = token.isExtglob = true;
+          finished = true;
+
+          if (scanToEnd === true) {
+            while (eos() !== true && (code = advance())) {
+              if (code === CHAR_BACKWARD_SLASH) {
+                backslashes = token.backslashes = true;
+                code = advance();
+                continue;
+              }
+
+              if (code === CHAR_RIGHT_PARENTHESES) {
+                isGlob = token.isGlob = true;
+                finished = true;
+                break;
+              }
+            }
+            continue;
+          }
+          break;
+        }
+      }
+
+      if (code === CHAR_ASTERISK) {
+        if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true;
+        isGlob = token.isGlob = true;
+        finished = true;
+
+        if (scanToEnd === true) {
+          continue;
+        }
+        break;
+      }
+
+      if (code === CHAR_QUESTION_MARK) {
+        isGlob = token.isGlob = true;
+        finished = true;
+
+        if (scanToEnd === true) {
+          continue;
+        }
+        break;
+      }
+
+      if (code === CHAR_LEFT_SQUARE_BRACKET) {
+        while (eos() !== true && (next = advance())) {
+          if (next === CHAR_BACKWARD_SLASH) {
+            backslashes = token.backslashes = true;
+            advance();
+            continue;
+          }
+
+          if (next === CHAR_RIGHT_SQUARE_BRACKET) {
+            isBracket = token.isBracket = true;
+            isGlob = token.isGlob = true;
+            finished = true;
+
+            if (scanToEnd === true) {
+              continue;
+            }
+            break;
+          }
+        }
+      }
+
+      if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) {
+        negated = token.negated = true;
+        start++;
+        continue;
+      }
+
+      if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {
+        isGlob = token.isGlob = true;
+
+        if (scanToEnd === true) {
+          while (eos() !== true && (code = advance())) {
+            if (code === CHAR_LEFT_PARENTHESES) {
+              backslashes = token.backslashes = true;
+              code = advance();
+              continue;
+            }
+
+            if (code === CHAR_RIGHT_PARENTHESES) {
+              finished = true;
+              break;
+            }
+          }
+          continue;
+        }
+        break;
+      }
+
+      if (isGlob === true) {
+        finished = true;
+
+        if (scanToEnd === true) {
+          continue;
+        }
+
+        break;
+      }
+    }
+
+    if (opts.noext === true) {
+      isExtglob = false;
+      isGlob = false;
+    }
+
+    let base = str;
+    let prefix = '';
+    let glob = '';
+
+    if (start > 0) {
+      prefix = str.slice(0, start);
+      str = str.slice(start);
+      lastIndex -= start;
+    }
+
+    if (base && isGlob === true && lastIndex > 0) {
+      base = str.slice(0, lastIndex);
+      glob = str.slice(lastIndex);
+    } else if (isGlob === true) {
+      base = '';
+      glob = str;
+    } else {
+      base = str;
+    }
+
+    if (base && base !== '' && base !== '/' && base !== str) {
+      if (isPathSeparator(base.charCodeAt(base.length - 1))) {
+        base = base.slice(0, -1);
+      }
+    }
+
+    if (opts.unescape === true) {
+      if (glob) glob = utils$2.removeBackslashes(glob);
+
+      if (base && backslashes === true) {
+        base = utils$2.removeBackslashes(base);
+      }
+    }
+
+    const state = {
+      prefix,
+      input,
+      start,
+      base,
+      glob,
+      isBrace,
+      isBracket,
+      isGlob,
+      isExtglob,
+      isGlobstar,
+      negated
+    };
+
+    if (opts.tokens === true) {
+      state.maxDepth = 0;
+      if (!isPathSeparator(code)) {
+        tokens.push(token);
+      }
+      state.tokens = tokens;
+    }
+
+    if (opts.parts === true || opts.tokens === true) {
+      let prevIndex;
+
+      for (let idx = 0; idx < slashes.length; idx++) {
+        const n = prevIndex ? prevIndex + 1 : start;
+        const i = slashes[idx];
+        const value = input.slice(n, i);
+        if (opts.tokens) {
+          if (idx === 0 && start !== 0) {
+            tokens[idx].isPrefix = true;
+            tokens[idx].value = prefix;
+          } else {
+            tokens[idx].value = value;
+          }
+          depth(tokens[idx]);
+          state.maxDepth += tokens[idx].depth;
+        }
+        if (idx !== 0 || value !== '') {
+          parts.push(value);
+        }
+        prevIndex = i;
+      }
+
+      if (prevIndex && prevIndex + 1 < input.length) {
+        const value = input.slice(prevIndex + 1);
+        parts.push(value);
+
+        if (opts.tokens) {
+          tokens[tokens.length - 1].value = value;
+          depth(tokens[tokens.length - 1]);
+          state.maxDepth += tokens[tokens.length - 1].depth;
+        }
+      }
+
+      state.slashes = slashes;
+      state.parts = parts;
+    }
+
+    return state;
+  };
+
+  var scan_1 = scan$1;
+
+  const constants$2 = constants$3;
+  const utils$1 = utils$3;
+
+  /**
+   * Constants
+   */
+
+  const {
+    MAX_LENGTH,
+    POSIX_REGEX_SOURCE,
+    REGEX_NON_SPECIAL_CHARS,
+    REGEX_SPECIAL_CHARS_BACKREF,
+    REPLACEMENTS
+  } = constants$2;
+
+  /**
+   * Helpers
+   */
+
+  const expandRange = (args, options) => {
+    if (typeof options.expandRange === 'function') {
+      return options.expandRange(...args, options);
+    }
+
+    args.sort();
+    const value = `[${args.join('-')}]`;
+
+    try {
+      /* eslint-disable-next-line no-new */
+      new RegExp(value);
+    } catch (ex) {
+      return args.map(v => utils$1.escapeRegex(v)).join('..');
+    }
+
+    return value;
+  };
+
+  /**
+   * Create the message for a syntax error
+   */
+
+  const syntaxError = (type, char) => {
+    return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`;
+  };
+
+  /**
+   * Parse the given input string.
+   * @param {String} input
+   * @param {Object} options
+   * @return {Object}
+   */
+
+  const parse$2 = (input, options) => {
+    if (typeof input !== 'string') {
+      throw new TypeError('Expected a string');
+    }
+
+    input = REPLACEMENTS[input] || input;
+
+    const opts = { ...options };
+    const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
+
+    let len = input.length;
+    if (len > max) {
+      throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
+    }
+
+    const bos = { type: 'bos', value: '', output: opts.prepend || '' };
+    const tokens = [bos];
+
+    const capture = opts.capture ? '' : '?:';
+
+    // create constants based on platform, for windows or posix
+    const PLATFORM_CHARS = constants$2.globChars(opts.windows);
+    const EXTGLOB_CHARS = constants$2.extglobChars(PLATFORM_CHARS);
+
+    const {
+      DOT_LITERAL,
+      PLUS_LITERAL,
+      SLASH_LITERAL,
+      ONE_CHAR,
+      DOTS_SLASH,
+      NO_DOT,
+      NO_DOT_SLASH,
+      NO_DOTS_SLASH,
+      QMARK,
+      QMARK_NO_DOT,
+      STAR,
+      START_ANCHOR
+    } = PLATFORM_CHARS;
+
+    const globstar = (opts) => {
+      return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
+    };
+
+    const nodot = opts.dot ? '' : NO_DOT;
+    const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT;
+    let star = opts.bash === true ? globstar(opts) : STAR;
+
+    if (opts.capture) {
+      star = `(${star})`;
+    }
+
+    // minimatch options support
+    if (typeof opts.noext === 'boolean') {
+      opts.noextglob = opts.noext;
+    }
+
+    const state = {
+      input,
+      index: -1,
+      start: 0,
+      dot: opts.dot === true,
+      consumed: '',
+      output: '',
+      prefix: '',
+      backtrack: false,
+      negated: false,
+      brackets: 0,
+      braces: 0,
+      parens: 0,
+      quotes: 0,
+      globstar: false,
+      tokens
+    };
+
+    input = utils$1.removePrefix(input, state);
+    len = input.length;
+
+    const extglobs = [];
+    const braces = [];
+    const stack = [];
+    let prev = bos;
+    let value;
+
+    /**
+     * Tokenizing helpers
+     */
+
+    const eos = () => state.index === len - 1;
+    const peek = state.peek = (n = 1) => input[state.index + n];
+    const advance = state.advance = () => input[++state.index];
+    const remaining = () => input.slice(state.index + 1);
+    const consume = (value = '', num = 0) => {
+      state.consumed += value;
+      state.index += num;
+    };
+    const append = token => {
+      state.output += token.output != null ? token.output : token.value;
+      consume(token.value);
+    };
+
+    const negate = () => {
+      let count = 1;
+
+      while (peek() === '!' && (peek(2) !== '(' || peek(3) === '?')) {
+        advance();
+        state.start++;
+        count++;
+      }
+
+      if (count % 2 === 0) {
+        return false;
+      }
+
+      state.negated = true;
+      state.start++;
+      return true;
+    };
+
+    const increment = type => {
+      state[type]++;
+      stack.push(type);
+    };
+
+    const decrement = type => {
+      state[type]--;
+      stack.pop();
+    };
+
+    /**
+     * Push tokens onto the tokens array. This helper speeds up
+     * tokenizing by 1) helping us avoid backtracking as much as possible,
+     * and 2) helping us avoid creating extra tokens when consecutive
+     * characters are plain text. This improves performance and simplifies
+     * lookbehinds.
+     */
+
+    const push = tok => {
+      if (prev.type === 'globstar') {
+        const isBrace = state.braces > 0 && (tok.type === 'comma' || tok.type === 'brace');
+        const isExtglob = tok.extglob === true || (extglobs.length && (tok.type === 'pipe' || tok.type === 'paren'));
+
+        if (tok.type !== 'slash' && tok.type !== 'paren' && !isBrace && !isExtglob) {
+          state.output = state.output.slice(0, -prev.output.length);
+          prev.type = 'star';
+          prev.value = '*';
+          prev.output = star;
+          state.output += prev.output;
+        }
+      }
+
+      if (extglobs.length && tok.type !== 'paren' && !EXTGLOB_CHARS[tok.value]) {
+        extglobs[extglobs.length - 1].inner += tok.value;
+      }
+
+      if (tok.value || tok.output) append(tok);
+      if (prev && prev.type === 'text' && tok.type === 'text') {
+        prev.value += tok.value;
+        prev.output = (prev.output || '') + tok.value;
+        return;
+      }
+
+      tok.prev = prev;
+      tokens.push(tok);
+      prev = tok;
+    };
+
+    const extglobOpen = (type, value) => {
+      const token = { ...EXTGLOB_CHARS[value], conditions: 1, inner: '' };
+
+      token.prev = prev;
+      token.parens = state.parens;
+      token.output = state.output;
+      const output = (opts.capture ? '(' : '') + token.open;
+
+      increment('parens');
+      push({ type, value, output: state.output ? '' : ONE_CHAR });
+      push({ type: 'paren', extglob: true, value: advance(), output });
+      extglobs.push(token);
+    };
+
+    const extglobClose = token => {
+      let output = token.close + (opts.capture ? ')' : '');
+
+      if (token.type === 'negate') {
+        let extglobStar = star;
+
+        if (token.inner && token.inner.length > 1 && token.inner.includes('/')) {
+          extglobStar = globstar(opts);
+        }
+
+        if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) {
+          output = token.close = `)$))${extglobStar}`;
+        }
+
+        if (token.prev.type === 'bos' && eos()) {
+          state.negatedExtglob = true;
+        }
+      }
+
+      push({ type: 'paren', extglob: true, value, output });
+      decrement('parens');
+    };
+
+    /**
+     * Fast paths
+     */
+
+    if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) {
+      let backslashes = false;
+
+      let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => {
+        if (first === '\\') {
+          backslashes = true;
+          return m;
+        }
+
+        if (first === '?') {
+          if (esc) {
+            return esc + first + (rest ? QMARK.repeat(rest.length) : '');
+          }
+          if (index === 0) {
+            return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : '');
+          }
+          return QMARK.repeat(chars.length);
+        }
+
+        if (first === '.') {
+          return DOT_LITERAL.repeat(chars.length);
+        }
+
+        if (first === '*') {
+          if (esc) {
+            return esc + first + (rest ? star : '');
+          }
+          return star;
+        }
+        return esc ? m : `\\${m}`;
+      });
+
+      if (backslashes === true) {
+        if (opts.unescape === true) {
+          output = output.replace(/\\/g, '');
+        } else {
+          output = output.replace(/\\+/g, m => {
+            return m.length % 2 === 0 ? '\\\\' : (m ? '\\' : '');
+          });
+        }
+      }
+
+      if (output === input && opts.contains === true) {
+        state.output = input;
+        return state;
+      }
+
+      state.output = utils$1.wrapOutput(output, state, options);
+      return state;
+    }
+
+    /**
+     * Tokenize input until we reach end-of-string
+     */
+
+    while (!eos()) {
+      value = advance();
+
+      if (value === '\u0000') {
+        continue;
+      }
+
+      /**
+       * Escaped characters
+       */
+
+      if (value === '\\') {
+        const next = peek();
+
+        if (next === '/' && opts.bash !== true) {
+          continue;
+        }
+
+        if (next === '.' || next === ';') {
+          continue;
+        }
+
+        if (!next) {
+          value += '\\';
+          push({ type: 'text', value });
+          continue;
+        }
+
+        // collapse slashes to reduce potential for exploits
+        const match = /^\\+/.exec(remaining());
+        let slashes = 0;
+
+        if (match && match[0].length > 2) {
+          slashes = match[0].length;
+          state.index += slashes;
+          if (slashes % 2 !== 0) {
+            value += '\\';
+          }
+        }
+
+        if (opts.unescape === true) {
+          value = advance() || '';
+        } else {
+          value += advance() || '';
+        }
+
+        if (state.brackets === 0) {
+          push({ type: 'text', value });
+          continue;
+        }
+      }
+
+      /**
+       * If we're inside a regex character class, continue
+       * until we reach the closing bracket.
+       */
+
+      if (state.brackets > 0 && (value !== ']' || prev.value === '[' || prev.value === '[^')) {
+        if (opts.posix !== false && value === ':') {
+          const inner = prev.value.slice(1);
+          if (inner.includes('[')) {
+            prev.posix = true;
+
+            if (inner.includes(':')) {
+              const idx = prev.value.lastIndexOf('[');
+              const pre = prev.value.slice(0, idx);
+              const rest = prev.value.slice(idx + 2);
+              const posix = POSIX_REGEX_SOURCE[rest];
+              if (posix) {
+                prev.value = pre + posix;
+                state.backtrack = true;
+                advance();
+
+                if (!bos.output && tokens.indexOf(prev) === 1) {
+                  bos.output = ONE_CHAR;
+                }
+                continue;
+              }
+            }
+          }
+        }
+
+        if ((value === '[' && peek() !== ':') || (value === '-' && peek() === ']')) {
+          value = `\\${value}`;
+        }
+
+        if (value === ']' && (prev.value === '[' || prev.value === '[^')) {
+          value = `\\${value}`;
+        }
+
+        if (opts.posix === true && value === '!' && prev.value === '[') {
+          value = '^';
+        }
+
+        prev.value += value;
+        append({ value });
+        continue;
+      }
+
+      /**
+       * If we're inside a quoted string, continue
+       * until we reach the closing double quote.
+       */
+
+      if (state.quotes === 1 && value !== '"') {
+        value = utils$1.escapeRegex(value);
+        prev.value += value;
+        append({ value });
+        continue;
+      }
+
+      /**
+       * Double quotes
+       */
+
+      if (value === '"') {
+        state.quotes = state.quotes === 1 ? 0 : 1;
+        if (opts.keepQuotes === true) {
+          push({ type: 'text', value });
+        }
+        continue;
+      }
+
+      /**
+       * Parentheses
+       */
+
+      if (value === '(') {
+        increment('parens');
+        push({ type: 'paren', value });
+        continue;
+      }
+
+      if (value === ')') {
+        if (state.parens === 0 && opts.strictBrackets === true) {
+          throw new SyntaxError(syntaxError('opening', '('));
+        }
+
+        const extglob = extglobs[extglobs.length - 1];
+        if (extglob && state.parens === extglob.parens + 1) {
+          extglobClose(extglobs.pop());
+          continue;
+        }
+
+        push({ type: 'paren', value, output: state.parens ? ')' : '\\)' });
+        decrement('parens');
+        continue;
+      }
+
+      /**
+       * Square brackets
+       */
+
+      if (value === '[') {
+        if (opts.nobracket === true || !remaining().includes(']')) {
+          if (opts.nobracket !== true && opts.strictBrackets === true) {
+            throw new SyntaxError(syntaxError('closing', ']'));
+          }
+
+          value = `\\${value}`;
+        } else {
+          increment('brackets');
+        }
+
+        push({ type: 'bracket', value });
+        continue;
+      }
+
+      if (value === ']') {
+        if (opts.nobracket === true || (prev && prev.type === 'bracket' && prev.value.length === 1)) {
+          push({ type: 'text', value, output: `\\${value}` });
+          continue;
+        }
+
+        if (state.brackets === 0) {
+          if (opts.strictBrackets === true) {
+            throw new SyntaxError(syntaxError('opening', '['));
+          }
+
+          push({ type: 'text', value, output: `\\${value}` });
+          continue;
+        }
+
+        decrement('brackets');
+
+        const prevValue = prev.value.slice(1);
+        if (prev.posix !== true && prevValue[0] === '^' && !prevValue.includes('/')) {
+          value = `/${value}`;
+        }
+
+        prev.value += value;
+        append({ value });
+
+        // when literal brackets are explicitly disabled
+        // assume we should match with a regex character class
+        if (opts.literalBrackets === false || utils$1.hasRegexChars(prevValue)) {
+          continue;
+        }
+
+        const escaped = utils$1.escapeRegex(prev.value);
+        state.output = state.output.slice(0, -prev.value.length);
+
+        // when literal brackets are explicitly enabled
+        // assume we should escape the brackets to match literal characters
+        if (opts.literalBrackets === true) {
+          state.output += escaped;
+          prev.value = escaped;
+          continue;
+        }
+
+        // when the user specifies nothing, try to match both
+        prev.value = `(${capture}${escaped}|${prev.value})`;
+        state.output += prev.value;
+        continue;
+      }
+
+      /**
+       * Braces
+       */
+
+      if (value === '{' && opts.nobrace !== true) {
+        increment('braces');
+
+        const open = {
+          type: 'brace',
+          value,
+          output: '(',
+          outputIndex: state.output.length,
+          tokensIndex: state.tokens.length
+        };
+
+        braces.push(open);
+        push(open);
+        continue;
+      }
+
+      if (value === '}') {
+        const brace = braces[braces.length - 1];
+
+        if (opts.nobrace === true || !brace) {
+          push({ type: 'text', value, output: value });
+          continue;
+        }
+
+        let output = ')';
+
+        if (brace.dots === true) {
+          const arr = tokens.slice();
+          const range = [];
+
+          for (let i = arr.length - 1; i >= 0; i--) {
+            tokens.pop();
+            if (arr[i].type === 'brace') {
+              break;
+            }
+            if (arr[i].type !== 'dots') {
+              range.unshift(arr[i].value);
+            }
+          }
+
+          output = expandRange(range, opts);
+          state.backtrack = true;
+        }
+
+        if (brace.comma !== true && brace.dots !== true) {
+          const out = state.output.slice(0, brace.outputIndex);
+          const toks = state.tokens.slice(brace.tokensIndex);
+          brace.value = brace.output = '\\{';
+          value = output = '\\}';
+          state.output = out;
+          for (const t of toks) {
+            state.output += (t.output || t.value);
+          }
+        }
+
+        push({ type: 'brace', value, output });
+        decrement('braces');
+        braces.pop();
+        continue;
+      }
+
+      /**
+       * Pipes
+       */
+
+      if (value === '|') {
+        if (extglobs.length > 0) {
+          extglobs[extglobs.length - 1].conditions++;
+        }
+        push({ type: 'text', value });
+        continue;
+      }
+
+      /**
+       * Commas
+       */
+
+      if (value === ',') {
+        let output = value;
+
+        const brace = braces[braces.length - 1];
+        if (brace && stack[stack.length - 1] === 'braces') {
+          brace.comma = true;
+          output = '|';
+        }
+
+        push({ type: 'comma', value, output });
+        continue;
+      }
+
+      /**
+       * Slashes
+       */
+
+      if (value === '/') {
+        // if the beginning of the glob is "./", advance the start
+        // to the current index, and don't add the "./" characters
+        // to the state. This greatly simplifies lookbehinds when
+        // checking for BOS characters like "!" and "." (not "./")
+        if (prev.type === 'dot' && state.index === state.start + 1) {
+          state.start = state.index + 1;
+          state.consumed = '';
+          state.output = '';
+          tokens.pop();
+          prev = bos; // reset "prev" to the first token
+          continue;
+        }
+
+        push({ type: 'slash', value, output: SLASH_LITERAL });
+        continue;
+      }
+
+      /**
+       * Dots
+       */
+
+      if (value === '.') {
+        if (state.braces > 0 && prev.type === 'dot') {
+          if (prev.value === '.') prev.output = DOT_LITERAL;
+          const brace = braces[braces.length - 1];
+          prev.type = 'dots';
+          prev.output += value;
+          prev.value += value;
+          brace.dots = true;
+          continue;
+        }
+
+        if ((state.braces + state.parens) === 0 && prev.type !== 'bos' && prev.type !== 'slash') {
+          push({ type: 'text', value, output: DOT_LITERAL });
+          continue;
+        }
+
+        push({ type: 'dot', value, output: DOT_LITERAL });
+        continue;
+      }
+
+      /**
+       * Question marks
+       */
+
+      if (value === '?') {
+        const isGroup = prev && prev.value === '(';
+        if (!isGroup && opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {
+          extglobOpen('qmark', value);
+          continue;
+        }
+
+        if (prev && prev.type === 'paren') {
+          const next = peek();
+          let output = value;
+
+          if (next === '<' && !utils$1.supportsLookbehinds()) {
+            throw new Error('Node.js v10 or higher is required for regex lookbehinds');
+          }
+
+          if ((prev.value === '(' && !/[!=<:]/.test(next)) || (next === '<' && !/<([!=]|\w+>)/.test(remaining()))) {
+            output = `\\${value}`;
+          }
+
+          push({ type: 'text', value, output });
+          continue;
+        }
+
+        if (opts.dot !== true && (prev.type === 'slash' || prev.type === 'bos')) {
+          push({ type: 'qmark', value, output: QMARK_NO_DOT });
+          continue;
+        }
+
+        push({ type: 'qmark', value, output: QMARK });
+        continue;
+      }
+
+      /**
+       * Exclamation
+       */
+
+      if (value === '!') {
+        if (opts.noextglob !== true && peek() === '(') {
+          if (peek(2) !== '?' || !/[!=<:]/.test(peek(3))) {
+            extglobOpen('negate', value);
+            continue;
+          }
+        }
+
+        if (opts.nonegate !== true && state.index === 0) {
+          negate();
+          continue;
+        }
+      }
+
+      /**
+       * Plus
+       */
+
+      if (value === '+') {
+        if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {
+          extglobOpen('plus', value);
+          continue;
+        }
+
+        if ((prev && prev.value === '(') || opts.regex === false) {
+          push({ type: 'plus', value, output: PLUS_LITERAL });
+          continue;
+        }
+
+        if ((prev && (prev.type === 'bracket' || prev.type === 'paren' || prev.type === 'brace')) || state.parens > 0) {
+          push({ type: 'plus', value });
+          continue;
+        }
+
+        push({ type: 'plus', value: PLUS_LITERAL });
+        continue;
+      }
+
+      /**
+       * Plain text
+       */
+
+      if (value === '@') {
+        if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {
+          push({ type: 'at', extglob: true, value, output: '' });
+          continue;
+        }
+
+        push({ type: 'text', value });
+        continue;
+      }
+
+      /**
+       * Plain text
+       */
+
+      if (value !== '*') {
+        if (value === '$' || value === '^') {
+          value = `\\${value}`;
+        }
+
+        const match = REGEX_NON_SPECIAL_CHARS.exec(remaining());
+        if (match) {
+          value += match[0];
+          state.index += match[0].length;
+        }
+
+        push({ type: 'text', value });
+        continue;
+      }
+
+      /**
+       * Stars
+       */
+
+      if (prev && (prev.type === 'globstar' || prev.star === true)) {
+        prev.type = 'star';
+        prev.star = true;
+        prev.value += value;
+        prev.output = star;
+        state.backtrack = true;
+        state.globstar = true;
+        consume(value);
+        continue;
+      }
+
+      let rest = remaining();
+      if (opts.noextglob !== true && /^\([^?]/.test(rest)) {
+        extglobOpen('star', value);
+        continue;
+      }
+
+      if (prev.type === 'star') {
+        if (opts.noglobstar === true) {
+          consume(value);
+          continue;
+        }
+
+        const prior = prev.prev;
+        const before = prior.prev;
+        const isStart = prior.type === 'slash' || prior.type === 'bos';
+        const afterStar = before && (before.type === 'star' || before.type === 'globstar');
+
+        if (opts.bash === true && (!isStart || (rest[0] && rest[0] !== '/'))) {
+          push({ type: 'star', value, output: '' });
+          continue;
+        }
+
+        const isBrace = state.braces > 0 && (prior.type === 'comma' || prior.type === 'brace');
+        const isExtglob = extglobs.length && (prior.type === 'pipe' || prior.type === 'paren');
+        if (!isStart && prior.type !== 'paren' && !isBrace && !isExtglob) {
+          push({ type: 'star', value, output: '' });
+          continue;
+        }
+
+        // strip consecutive `/**/`
+        while (rest.slice(0, 3) === '/**') {
+          const after = input[state.index + 4];
+          if (after && after !== '/') {
+            break;
+          }
+          rest = rest.slice(3);
+          consume('/**', 3);
+        }
+
+        if (prior.type === 'bos' && eos()) {
+          prev.type = 'globstar';
+          prev.value += value;
+          prev.output = globstar(opts);
+          state.output = prev.output;
+          state.globstar = true;
+          consume(value);
+          continue;
+        }
+
+        if (prior.type === 'slash' && prior.prev.type !== 'bos' && !afterStar && eos()) {
+          state.output = state.output.slice(0, -(prior.output + prev.output).length);
+          prior.output = `(?:${prior.output}`;
+
+          prev.type = 'globstar';
+          prev.output = globstar(opts) + (opts.strictSlashes ? ')' : '|$)');
+          prev.value += value;
+          state.globstar = true;
+          state.output += prior.output + prev.output;
+          consume(value);
+          continue;
+        }
+
+        if (prior.type === 'slash' && prior.prev.type !== 'bos' && rest[0] === '/') {
+          const end = rest[1] !== void 0 ? '|$' : '';
+
+          state.output = state.output.slice(0, -(prior.output + prev.output).length);
+          prior.output = `(?:${prior.output}`;
+
+          prev.type = 'globstar';
+          prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;
+          prev.value += value;
+
+          state.output += prior.output + prev.output;
+          state.globstar = true;
+
+          consume(value + advance());
+
+          push({ type: 'slash', value: '/', output: '' });
+          continue;
+        }
+
+        if (prior.type === 'bos' && rest[0] === '/') {
+          prev.type = 'globstar';
+          prev.value += value;
+          prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`;
+          state.output = prev.output;
+          state.globstar = true;
+          consume(value + advance());
+          push({ type: 'slash', value: '/', output: '' });
+          continue;
+        }
+
+        // remove single star from output
+        state.output = state.output.slice(0, -prev.output.length);
+
+        // reset previous token to globstar
+        prev.type = 'globstar';
+        prev.output = globstar(opts);
+        prev.value += value;
+
+        // reset output with globstar
+        state.output += prev.output;
+        state.globstar = true;
+        consume(value);
+        continue;
+      }
+
+      const token = { type: 'star', value, output: star };
+
+      if (opts.bash === true) {
+        token.output = '.*?';
+        if (prev.type === 'bos' || prev.type === 'slash') {
+          token.output = nodot + token.output;
+        }
+        push(token);
+        continue;
+      }
+
+      if (prev && (prev.type === 'bracket' || prev.type === 'paren') && opts.regex === true) {
+        token.output = value;
+        push(token);
+        continue;
+      }
+
+      if (state.index === state.start || prev.type === 'slash' || prev.type === 'dot') {
+        if (prev.type === 'dot') {
+          state.output += NO_DOT_SLASH;
+          prev.output += NO_DOT_SLASH;
+
+        } else if (opts.dot === true) {
+          state.output += NO_DOTS_SLASH;
+          prev.output += NO_DOTS_SLASH;
+
+        } else {
+          state.output += nodot;
+          prev.output += nodot;
+        }
+
+        if (peek() !== '*') {
+          state.output += ONE_CHAR;
+          prev.output += ONE_CHAR;
+        }
+      }
+
+      push(token);
+    }
+
+    while (state.brackets > 0) {
+      if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ']'));
+      state.output = utils$1.escapeLast(state.output, '[');
+      decrement('brackets');
+    }
+
+    while (state.parens > 0) {
+      if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ')'));
+      state.output = utils$1.escapeLast(state.output, '(');
+      decrement('parens');
+    }
+
+    while (state.braces > 0) {
+      if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', '}'));
+      state.output = utils$1.escapeLast(state.output, '{');
+      decrement('braces');
+    }
+
+    if (opts.strictSlashes !== true && (prev.type === 'star' || prev.type === 'bracket')) {
+      push({ type: 'maybe_slash', value: '', output: `${SLASH_LITERAL}?` });
+    }
+
+    // rebuild the output if we had to backtrack at any point
+    if (state.backtrack === true) {
+      state.output = '';
+
+      for (const token of state.tokens) {
+        state.output += token.output != null ? token.output : token.value;
+
+        if (token.suffix) {
+          state.output += token.suffix;
+        }
+      }
+    }
+
+    return state;
+  };
+
+  /**
+   * Fast paths for creating regular expressions for common glob patterns.
+   * This can significantly speed up processing and has very little downside
+   * impact when none of the fast paths match.
+   */
+
+  parse$2.fastpaths = (input, options) => {
+    const opts = { ...options };
+    const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
+    const len = input.length;
+    if (len > max) {
+      throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
+    }
+
+    input = REPLACEMENTS[input] || input;
+
+    // create constants based on platform, for windows or posix
+    const {
+      DOT_LITERAL,
+      SLASH_LITERAL,
+      ONE_CHAR,
+      DOTS_SLASH,
+      NO_DOT,
+      NO_DOTS,
+      NO_DOTS_SLASH,
+      STAR,
+      START_ANCHOR
+    } = constants$2.globChars(opts.windows);
+
+    const nodot = opts.dot ? NO_DOTS : NO_DOT;
+    const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT;
+    const capture = opts.capture ? '' : '?:';
+    const state = { negated: false, prefix: '' };
+    let star = opts.bash === true ? '.*?' : STAR;
+
+    if (opts.capture) {
+      star = `(${star})`;
+    }
+
+    const globstar = (opts) => {
+      if (opts.noglobstar === true) return star;
+      return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
+    };
+
+    const create = str => {
+      switch (str) {
+        case '*':
+          return `${nodot}${ONE_CHAR}${star}`;
+
+        case '.*':
+          return `${DOT_LITERAL}${ONE_CHAR}${star}`;
+
+        case '*.*':
+          return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
+
+        case '*/*':
+          return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;
+
+        case '**':
+          return nodot + globstar(opts);
+
+        case '**/*':
+          return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;
+
+        case '**/*.*':
+          return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
+
+        case '**/.*':
+          return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
+
+        default: {
+          const match = /^(.*?)\.(\w+)$/.exec(str);
+          if (!match) return;
+
+          const source = create(match[1]);
+          if (!source) return;
+
+          return source + DOT_LITERAL + match[2];
+        }
+      }
+    };
+
+    const output = utils$1.removePrefix(input, state);
+    let source = create(output);
+
+    if (source && opts.strictSlashes !== true) {
+      source += `${SLASH_LITERAL}?`;
+    }
+
+    return source;
+  };
+
+  var parse_1 = parse$2;
+
+  const scan = scan_1;
+  const parse$1 = parse_1;
+  const utils = utils$3;
+  const constants$1 = constants$3;
+  const isObject = val => val && typeof val === 'object' && !Array.isArray(val);
+
+  /**
+   * Creates a matcher function from one or more glob patterns. The
+   * returned function takes a string to match as its first argument,
+   * and returns true if the string is a match. The returned matcher
+   * function also takes a boolean as the second argument that, when true,
+   * returns an object with additional information.
+   *
+   * ```js
+   * const picomatch = require('picomatch');
+   * // picomatch(glob[, options]);
+   *
+   * const isMatch = picomatch('*.!(*a)');
+   * console.log(isMatch('a.a')); //=> false
+   * console.log(isMatch('a.b')); //=> true
+   * ```
+   * @name picomatch
+   * @param {String|Array} `globs` One or more glob patterns.
+   * @param {Object=} `options`
+   * @return {Function=} Returns a matcher function.
+   * @api public
+   */
+
+  const picomatch = (glob, options, returnState = false) => {
+    if (Array.isArray(glob)) {
+      const fns = glob.map(input => picomatch(input, options, returnState));
+      const arrayMatcher = str => {
+        for (const isMatch of fns) {
+          const state = isMatch(str);
+          if (state) return state;
+        }
+        return false;
+      };
+      return arrayMatcher;
+    }
+
+    const isState = isObject(glob) && glob.tokens && glob.input;
+
+    if (glob === '' || (typeof glob !== 'string' && !isState)) {
+      throw new TypeError('Expected pattern to be a non-empty string');
+    }
+
+    const opts = options || {};
+    const posix = opts.windows;
+    const regex = isState
+      ? picomatch.compileRe(glob, options)
+      : picomatch.makeRe(glob, options, false, true);
+
+    const state = regex.state;
+    delete regex.state;
+
+    let isIgnored = () => false;
+    if (opts.ignore) {
+      const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null };
+      isIgnored = picomatch(opts.ignore, ignoreOpts, returnState);
+    }
+
+    const matcher = (input, returnObject = false) => {
+      const { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix });
+      const result = { glob, state, regex, posix, input, output, match, isMatch };
+
+      if (typeof opts.onResult === 'function') {
+        opts.onResult(result);
+      }
+
+      if (isMatch === false) {
+        result.isMatch = false;
+        return returnObject ? result : false;
+      }
+
+      if (isIgnored(input)) {
+        if (typeof opts.onIgnore === 'function') {
+          opts.onIgnore(result);
+        }
+        result.isMatch = false;
+        return returnObject ? result : false;
+      }
+
+      if (typeof opts.onMatch === 'function') {
+        opts.onMatch(result);
+      }
+      return returnObject ? result : true;
+    };
+
+    if (returnState) {
+      matcher.state = state;
+    }
+
+    return matcher;
+  };
+
+  /**
+   * Test `input` with the given `regex`. This is used by the main
+   * `picomatch()` function to test the input string.
+   *
+   * ```js
+   * const picomatch = require('picomatch');
+   * // picomatch.test(input, regex[, options]);
+   *
+   * console.log(picomatch.test('foo/bar', /^(?:([^/]*?)\/([^/]*?))$/));
+   * // { isMatch: true, match: [ 'foo/', 'foo', 'bar' ], output: 'foo/bar' }
+   * ```
+   * @param {String} `input` String to test.
+   * @param {RegExp} `regex`
+   * @return {Object} Returns an object with matching info.
+   * @api public
+   */
+
+  picomatch.test = (input, regex, options, { glob, posix } = {}) => {
+    if (typeof input !== 'string') {
+      throw new TypeError('Expected input to be a string');
+    }
+
+    if (input === '') {
+      return { isMatch: false, output: '' };
+    }
+
+    const opts = options || {};
+    const format = opts.format || (posix ? utils.toPosixSlashes : null);
+    let match = input === glob;
+    let output = (match && format) ? format(input) : input;
+
+    if (match === false) {
+      output = format ? format(input) : input;
+      match = output === glob;
+    }
+
+    if (match === false || opts.capture === true) {
+      if (opts.matchBase === true || opts.basename === true) {
+        match = picomatch.matchBase(input, regex, options, posix);
+      } else {
+        match = regex.exec(output);
+      }
+    }
+
+    return { isMatch: Boolean(match), match, output };
+  };
+
+  /**
+   * Match the basename of a filepath.
+   *
+   * ```js
+   * const picomatch = require('picomatch');
+   * // picomatch.matchBase(input, glob[, options]);
+   * console.log(picomatch.matchBase('foo/bar.js', '*.js'); // true
+   * ```
+   * @param {String} `input` String to test.
+   * @param {RegExp|String} `glob` Glob pattern or regex created by [.makeRe](#makeRe).
+   * @return {Boolean}
+   * @api public
+   */
+
+  picomatch.matchBase = (input, glob, options) => {
+    const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options);
+    return regex.test(utils.basename(input));
+  };
+
+  /**
+   * Returns true if **any** of the given glob `patterns` match the specified `string`.
+   *
+   * ```js
+   * const picomatch = require('picomatch');
+   * // picomatch.isMatch(string, patterns[, options]);
+   *
+   * console.log(picomatch.isMatch('a.a', ['b.*', '*.a'])); //=> true
+   * console.log(picomatch.isMatch('a.a', 'b.*')); //=> false
+   * ```
+   * @param {String|Array} str The string to test.
+   * @param {String|Array} patterns One or more glob patterns to use for matching.
+   * @param {Object} [options] See available [options](#options).
+   * @return {Boolean} Returns true if any patterns match `str`
+   * @api public
+   */
+
+  picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
+
+  /**
+   * Parse a glob pattern to create the source string for a regular
+   * expression.
+   *
+   * ```js
+   * const picomatch = require('picomatch');
+   * const result = picomatch.parse(pattern[, options]);
+   * ```
+   * @param {String} `pattern`
+   * @param {Object} `options`
+   * @return {Object} Returns an object with useful properties and output to be used as a regex source string.
+   * @api public
+   */
+
+  picomatch.parse = (pattern, options) => {
+    if (Array.isArray(pattern)) return pattern.map(p => picomatch.parse(p, options));
+    return parse$1(pattern, { ...options, fastpaths: false });
+  };
+
+  /**
+   * Scan a glob pattern to separate the pattern into segments.
+   *
+   * ```js
+   * const picomatch = require('picomatch');
+   * // picomatch.scan(input[, options]);
+   *
+   * const result = picomatch.scan('!./foo/*.js');
+   * console.log(result);
+   * { prefix: '!./',
+   *   input: '!./foo/*.js',
+   *   start: 3,
+   *   base: 'foo',
+   *   glob: '*.js',
+   *   isBrace: false,
+   *   isBracket: false,
+   *   isGlob: true,
+   *   isExtglob: false,
+   *   isGlobstar: false,
+   *   negated: true }
+   * ```
+   * @param {String} `input` Glob pattern to scan.
+   * @param {Object} `options`
+   * @return {Object} Returns an object with
+   * @api public
+   */
+
+  picomatch.scan = (input, options) => scan(input, options);
+
+  /**
+   * Create a regular expression from a parsed glob pattern.
+   *
+   * ```js
+   * const picomatch = require('picomatch');
+   * const state = picomatch.parse('*.js');
+   * // picomatch.compileRe(state[, options]);
+   *
+   * console.log(picomatch.compileRe(state));
+   * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/
+   * ```
+   * @param {String} `state` The object returned from the `.parse` method.
+   * @param {Object} `options`
+   * @return {RegExp} Returns a regex created from the given pattern.
+   * @api public
+   */
+
+  picomatch.compileRe = (parsed, options, returnOutput = false, returnState = false) => {
+    if (returnOutput === true) {
+      return parsed.output;
+    }
+
+    const opts = options || {};
+    const prepend = opts.contains ? '' : '^';
+    const append = opts.contains ? '' : '$';
+
+    let source = `${prepend}(?:${parsed.output})${append}`;
+    if (parsed && parsed.negated === true) {
+      source = `^(?!${source}).*$`;
+    }
+
+    const regex = picomatch.toRegex(source, options);
+    if (returnState === true) {
+      regex.state = parsed;
+    }
+
+    return regex;
+  };
+
+  picomatch.makeRe = (input, options, returnOutput = false, returnState = false) => {
+    if (!input || typeof input !== 'string') {
+      throw new TypeError('Expected a non-empty string');
+    }
+
+    const opts = options || {};
+    let parsed = { negated: false, fastpaths: true };
+    let prefix = '';
+    let output;
+
+    if (input.startsWith('./')) {
+      input = input.slice(2);
+      prefix = parsed.prefix = './';
+    }
+
+    if (opts.fastpaths !== false && (input[0] === '.' || input[0] === '*')) {
+      output = parse$1.fastpaths(input, options);
+    }
+
+    if (output === undefined) {
+      parsed = parse$1(input, options);
+      parsed.prefix = prefix + (parsed.prefix || '');
+    } else {
+      parsed.output = output;
+    }
+
+    return picomatch.compileRe(parsed, options, returnOutput, returnState);
+  };
+
+  /**
+   * Create a regular expression from the given regex source string.
+   *
+   * ```js
+   * const picomatch = require('picomatch');
+   * // picomatch.toRegex(source[, options]);
+   *
+   * const { output } = picomatch.parse('*.js');
+   * console.log(picomatch.toRegex(output));
+   * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/
+   * ```
+   * @param {String} `source` Regular expression source string.
+   * @param {Object} `options`
+   * @return {RegExp}
+   * @api public
+   */
+
+  picomatch.toRegex = (source, options) => {
+    try {
+      const opts = options || {};
+      return new RegExp(source, opts.flags || (opts.nocase ? 'i' : ''));
+    } catch (err) {
+      if (options && options.debug === true) throw err;
+      return /$^/;
+    }
+  };
+
+  /**
+   * Picomatch constants.
+   * @return {Object}
+   */
+
+  picomatch.constants = constants$1;
+
+  /**
+   * Expose "picomatch"
+   */
+
+  var picomatch_1 = picomatch;
+
+  var picomatchBrowser = picomatch_1;
+
+  var pm = /*@__PURE__*/getDefaultExportFromCjs(picomatchBrowser);
+
+  function isArray(arg) {
+      return Array.isArray(arg);
+  }
+  function ensureArray(thing) {
+      if (isArray(thing))
+          return thing;
+      if (thing == null)
+          return [];
+      return [thing];
+  }
+  const globToTest = (glob) => {
+      const pattern = glob;
+      const fn = pm(pattern, { dot: true });
+      return {
+          test: (what) => {
+              const result = fn(what);
+              return result;
+          },
+      };
+  };
+  const testTrue = {
+      test: () => true,
+  };
+  const getMatcher = (filter) => {
+      const bundleTest = "bundle" in filter && filter.bundle != null ? globToTest(filter.bundle) : testTrue;
+      const fileTest = "file" in filter && filter.file != null ? globToTest(filter.file) : testTrue;
+      return { bundleTest, fileTest };
+  };
+  const createFilter = (include, exclude) => {
+      const includeMatchers = ensureArray(include).map(getMatcher);
+      const excludeMatchers = ensureArray(exclude).map(getMatcher);
+      return (bundleId, id) => {
+          for (let i = 0; i < excludeMatchers.length; ++i) {
+              const { bundleTest, fileTest } = excludeMatchers[i];
+              if (bundleTest.test(bundleId) && fileTest.test(id))
+                  return false;
+          }
+          for (let i = 0; i < includeMatchers.length; ++i) {
+              const { bundleTest, fileTest } = includeMatchers[i];
+              if (bundleTest.test(bundleId) && fileTest.test(id))
+                  return true;
+          }
+          return !includeMatchers.length;
+      };
+  };
+
+  const throttleFilter = (callback, limit) => {
+      let waiting = false;
+      return (val) => {
+          if (!waiting) {
+              callback(val);
+              waiting = true;
+              setTimeout(() => {
+                  waiting = false;
+              }, limit);
+          }
+      };
+  };
+  const prepareFilter = (filt) => {
+      if (filt === "")
+          return [];
+      return (filt
+          .split(",")
+          // remove spaces before and after
+          .map((entry) => entry.trim())
+          // unquote "
+          .map((entry) => entry.startsWith('"') && entry.endsWith('"') ? entry.substring(1, entry.length - 1) : entry)
+          // unquote '
+          .map((entry) => entry.startsWith("'") && entry.endsWith("'") ? entry.substring(1, entry.length - 1) : entry)
+          // remove empty strings
+          .filter((entry) => entry)
+          // parse bundle:file
+          .map((entry) => entry.split(":"))
+          // normalize entry just in case
+          .flatMap((entry) => {
+          if (entry.length === 0)
+              return [];
+          let bundle = null;
+          let file = null;
+          if (entry.length === 1 && entry[0]) {
+              file = entry[0];
+              return [{ file, bundle }];
+          }
+          bundle = entry[0] || null;
+          file = entry.slice(1).join(":") || null;
+          return [{ bundle, file }];
+      }));
+  };
+  const useFilter = () => {
+      const [includeFilter, setIncludeFilter] = h("");
+      const [excludeFilter, setExcludeFilter] = h("");
+      const setIncludeFilterTrottled = F(() => throttleFilter(setIncludeFilter, 200), []);
+      const setExcludeFilterTrottled = F(() => throttleFilter(setExcludeFilter, 200), []);
+      const isIncluded = F(() => createFilter(prepareFilter(includeFilter), prepareFilter(excludeFilter)), [includeFilter, excludeFilter]);
+      const getModuleFilterMultiplier = T((bundleId, data) => {
+          return isIncluded(bundleId, data.id) ? 1 : 0;
+      }, [isIncluded]);
+      return {
+          getModuleFilterMultiplier,
+          includeFilter,
+          excludeFilter,
+          setExcludeFilter: setExcludeFilterTrottled,
+          setIncludeFilter: setIncludeFilterTrottled,
+      };
+  };
+
+  function ascending(a, b) {
+    return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
+  }
+
+  function descending(a, b) {
+    return a == null || b == null ? NaN
+      : b < a ? -1
+      : b > a ? 1
+      : b >= a ? 0
+      : NaN;
+  }
+
+  function bisector(f) {
+    let compare1, compare2, delta;
+
+    // If an accessor is specified, promote it to a comparator. In this case we
+    // can test whether the search value is (self-) comparable. We can鈥檛 do this
+    // for a comparator (except for specific, known comparators) because we can鈥檛
+    // tell if the comparator is symmetric, and an asymmetric comparator can鈥檛 be
+    // used to test whether a single value is comparable.
+    if (f.length !== 2) {
+      compare1 = ascending;
+      compare2 = (d, x) => ascending(f(d), x);
+      delta = (d, x) => f(d) - x;
+    } else {
+      compare1 = f === ascending || f === descending ? f : zero$1;
+      compare2 = f;
+      delta = f;
+    }
+
+    function left(a, x, lo = 0, hi = a.length) {
+      if (lo < hi) {
+        if (compare1(x, x) !== 0) return hi;
+        do {
+          const mid = (lo + hi) >>> 1;
+          if (compare2(a[mid], x) < 0) lo = mid + 1;
+          else hi = mid;
+        } while (lo < hi);
+      }
+      return lo;
+    }
+
+    function right(a, x, lo = 0, hi = a.length) {
+      if (lo < hi) {
+        if (compare1(x, x) !== 0) return hi;
+        do {
+          const mid = (lo + hi) >>> 1;
+          if (compare2(a[mid], x) <= 0) lo = mid + 1;
+          else hi = mid;
+        } while (lo < hi);
+      }
+      return lo;
+    }
+
+    function center(a, x, lo = 0, hi = a.length) {
+      const i = left(a, x, lo, hi - 1);
+      return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;
+    }
+
+    return {left, center, right};
+  }
+
+  function zero$1() {
+    return 0;
+  }
+
+  function number$1(x) {
+    return x === null ? NaN : +x;
+  }
+
+  const ascendingBisect = bisector(ascending);
+  const bisectRight = ascendingBisect.right;
+  bisector(number$1).center;
+  var bisect = bisectRight;
+
+  class InternMap extends Map {
+    constructor(entries, key = keyof) {
+      super();
+      Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});
+      if (entries != null) for (const [key, value] of entries) this.set(key, value);
+    }
+    get(key) {
+      return super.get(intern_get(this, key));
+    }
+    has(key) {
+      return super.has(intern_get(this, key));
+    }
+    set(key, value) {
+      return super.set(intern_set(this, key), value);
+    }
+    delete(key) {
+      return super.delete(intern_delete(this, key));
+    }
+  }
+
+  function intern_get({_intern, _key}, value) {
+    const key = _key(value);
+    return _intern.has(key) ? _intern.get(key) : value;
+  }
+
+  function intern_set({_intern, _key}, value) {
+    const key = _key(value);
+    if (_intern.has(key)) return _intern.get(key);
+    _intern.set(key, value);
+    return value;
+  }
+
+  function intern_delete({_intern, _key}, value) {
+    const key = _key(value);
+    if (_intern.has(key)) {
+      value = _intern.get(key);
+      _intern.delete(key);
+    }
+    return value;
+  }
+
+  function keyof(value) {
+    return value !== null && typeof value === "object" ? value.valueOf() : value;
+  }
+
+  function identity$2(x) {
+    return x;
+  }
+
+  function group(values, ...keys) {
+    return nest(values, identity$2, identity$2, keys);
+  }
+
+  function nest(values, map, reduce, keys) {
+    return (function regroup(values, i) {
+      if (i >= keys.length) return reduce(values);
+      const groups = new InternMap();
+      const keyof = keys[i++];
+      let index = -1;
+      for (const value of values) {
+        const key = keyof(value, ++index, values);
+        const group = groups.get(key);
+        if (group) group.push(value);
+        else groups.set(key, [value]);
+      }
+      for (const [key, values] of groups) {
+        groups.set(key, regroup(values, i));
+      }
+      return map(groups);
+    })(values, 0);
+  }
+
+  const e10 = Math.sqrt(50),
+      e5 = Math.sqrt(10),
+      e2 = Math.sqrt(2);
+
+  function tickSpec(start, stop, count) {
+    const step = (stop - start) / Math.max(0, count),
+        power = Math.floor(Math.log10(step)),
+        error = step / Math.pow(10, power),
+        factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;
+    let i1, i2, inc;
+    if (power < 0) {
+      inc = Math.pow(10, -power) / factor;
+      i1 = Math.round(start * inc);
+      i2 = Math.round(stop * inc);
+      if (i1 / inc < start) ++i1;
+      if (i2 / inc > stop) --i2;
+      inc = -inc;
+    } else {
+      inc = Math.pow(10, power) * factor;
+      i1 = Math.round(start / inc);
+      i2 = Math.round(stop / inc);
+      if (i1 * inc < start) ++i1;
+      if (i2 * inc > stop) --i2;
+    }
+    if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);
+    return [i1, i2, inc];
+  }
+
+  function ticks(start, stop, count) {
+    stop = +stop, start = +start, count = +count;
+    if (!(count > 0)) return [];
+    if (start === stop) return [start];
+    const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);
+    if (!(i2 >= i1)) return [];
+    const n = i2 - i1 + 1, ticks = new Array(n);
+    if (reverse) {
+      if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;
+      else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;
+    } else {
+      if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;
+      else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;
+    }
+    return ticks;
+  }
+
+  function tickIncrement(start, stop, count) {
+    stop = +stop, start = +start, count = +count;
+    return tickSpec(start, stop, count)[2];
+  }
+
+  function tickStep(start, stop, count) {
+    stop = +stop, start = +start, count = +count;
+    const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);
+    return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);
+  }
+
+  const TOP_PADDING = 20;
+  const PADDING = 2;
+
+  const Node = ({ node, onMouseOver, onClick, selected }) => {
+      const { getModuleColor } = q(StaticContext);
+      const { backgroundColor, fontColor } = getModuleColor(node);
+      const { x0, x1, y1, y0, data, children = null } = node;
+      const textRef = _(null);
+      const textRectRef = _();
+      const width = x1 - x0;
+      const height = y1 - y0;
+      const textProps = {
+          "font-size": "0.7em",
+          "dominant-baseline": "middle",
+          "text-anchor": "middle",
+          x: width / 2,
+      };
+      if (children != null) {
+          textProps.y = (TOP_PADDING + PADDING) / 2;
+      }
+      else {
+          textProps.y = height / 2;
+      }
+      y(() => {
+          if (width == 0 || height == 0 || !textRef.current) {
+              return;
+          }
+          if (textRectRef.current == null) {
+              textRectRef.current = textRef.current.getBoundingClientRect();
+          }
+          let scale = 1;
+          if (children != null) {
+              scale = Math.min((width * 0.9) / textRectRef.current.width, Math.min(height, TOP_PADDING + PADDING) / textRectRef.current.height);
+              scale = Math.min(1, scale);
+              textRef.current.setAttribute("y", String(Math.min(TOP_PADDING + PADDING, height) / 2 / scale));
+              textRef.current.setAttribute("x", String(width / 2 / scale));
+          }
+          else {
+              scale = Math.min((width * 0.9) / textRectRef.current.width, (height * 0.9) / textRectRef.current.height);
+              scale = Math.min(1, scale);
+              textRef.current.setAttribute("y", String(height / 2 / scale));
+              textRef.current.setAttribute("x", String(width / 2 / scale));
+          }
+          textRef.current.setAttribute("transform", `scale(${scale.toFixed(2)})`);
+      }, [children, height, width]);
+      if (width == 0 || height == 0) {
+          return null;
+      }
+      return (u$1("g", { className: "node", transform: `translate(${x0},${y0})`, onClick: (event) => {
+              event.stopPropagation();
+              onClick(node);
+          }, onMouseOver: (event) => {
+              event.stopPropagation();
+              onMouseOver(node);
+          }, children: [u$1("rect", { fill: backgroundColor, rx: 2, ry: 2, width: x1 - x0, height: y1 - y0, stroke: selected ? "#fff" : undefined, "stroke-width": selected ? 2 : undefined }), u$1("text", Object.assign({ ref: textRef, fill: fontColor, onClick: (event) => {
+                      var _a;
+                      if (((_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.toString()) !== "") {
+                          event.stopPropagation();
+                      }
+                  } }, textProps, { children: data.name }))] }));
+  };
+
+  const TreeMap = ({ root, onNodeHover, selectedNode, onNodeClick, }) => {
+      const { width, height, getModuleIds } = q(StaticContext);
+      console.time("layering");
+      // this will make groups by height
+      const nestedData = F(() => {
+          const nestedDataMap = group(root.descendants(), (d) => d.height);
+          const nestedData = Array.from(nestedDataMap, ([key, values]) => ({
+              key,
+              values,
+          }));
+          nestedData.sort((a, b) => b.key - a.key);
+          return nestedData;
+      }, [root]);
+      console.timeEnd("layering");
+      return (u$1("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: `0 0 ${width} ${height}`, children: nestedData.map(({ key, values }) => {
+              return (u$1("g", { className: "layer", children: values.map((node) => {
+                      return (u$1(Node, { node: node, onMouseOver: onNodeHover, selected: selectedNode === node, onClick: onNodeClick }, getModuleIds(node.data).nodeUid.id));
+                  }) }, key));
+          }) }));
+  };
+
+  var bytes$1 = {exports: {}};
+
+  /*!
+   * bytes
+   * Copyright(c) 2012-2014 TJ Holowaychuk
+   * Copyright(c) 2015 Jed Watson
+   * MIT Licensed
+   */
+
+  /**
+   * Module exports.
+   * @public
+   */
+
+  bytes$1.exports = bytes;
+  var format_1 = bytes$1.exports.format = format$1;
+  bytes$1.exports.parse = parse;
+
+  /**
+   * Module variables.
+   * @private
+   */
+
+  var formatThousandsRegExp = /\B(?=(\d{3})+(?!\d))/g;
+
+  var formatDecimalsRegExp = /(?:\.0*|(\.[^0]+)0+)$/;
+
+  var map$1 = {
+    b:  1,
+    kb: 1 << 10,
+    mb: 1 << 20,
+    gb: 1 << 30,
+    tb: Math.pow(1024, 4),
+    pb: Math.pow(1024, 5),
+  };
+
+  var parseRegExp = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i;
+
+  /**
+   * Convert the given value in bytes into a string or parse to string to an integer in bytes.
+   *
+   * @param {string|number} value
+   * @param {{
+   *  case: [string],
+   *  decimalPlaces: [number]
+   *  fixedDecimals: [boolean]
+   *  thousandsSeparator: [string]
+   *  unitSeparator: [string]
+   *  }} [options] bytes options.
+   *
+   * @returns {string|number|null}
+   */
+
+  function bytes(value, options) {
+    if (typeof value === 'string') {
+      return parse(value);
+    }
+
+    if (typeof value === 'number') {
+      return format$1(value, options);
+    }
+
+    return null;
+  }
+
+  /**
+   * Format the given value in bytes into a string.
+   *
+   * If the value is negative, it is kept as such. If it is a float,
+   * it is rounded.
+   *
+   * @param {number} value
+   * @param {object} [options]
+   * @param {number} [options.decimalPlaces=2]
+   * @param {number} [options.fixedDecimals=false]
+   * @param {string} [options.thousandsSeparator=]
+   * @param {string} [options.unit=]
+   * @param {string} [options.unitSeparator=]
+   *
+   * @returns {string|null}
+   * @public
+   */
+
+  function format$1(value, options) {
+    if (!Number.isFinite(value)) {
+      return null;
+    }
+
+    var mag = Math.abs(value);
+    var thousandsSeparator = (options && options.thousandsSeparator) || '';
+    var unitSeparator = (options && options.unitSeparator) || '';
+    var decimalPlaces = (options && options.decimalPlaces !== undefined) ? options.decimalPlaces : 2;
+    var fixedDecimals = Boolean(options && options.fixedDecimals);
+    var unit = (options && options.unit) || '';
+
+    if (!unit || !map$1[unit.toLowerCase()]) {
+      if (mag >= map$1.pb) {
+        unit = 'PB';
+      } else if (mag >= map$1.tb) {
+        unit = 'TB';
+      } else if (mag >= map$1.gb) {
+        unit = 'GB';
+      } else if (mag >= map$1.mb) {
+        unit = 'MB';
+      } else if (mag >= map$1.kb) {
+        unit = 'KB';
+      } else {
+        unit = 'B';
+      }
+    }
+
+    var val = value / map$1[unit.toLowerCase()];
+    var str = val.toFixed(decimalPlaces);
+
+    if (!fixedDecimals) {
+      str = str.replace(formatDecimalsRegExp, '$1');
+    }
+
+    if (thousandsSeparator) {
+      str = str.split('.').map(function (s, i) {
+        return i === 0
+          ? s.replace(formatThousandsRegExp, thousandsSeparator)
+          : s
+      }).join('.');
+    }
+
+    return str + unitSeparator + unit;
+  }
+
+  /**
+   * Parse the string value into an integer in bytes.
+   *
+   * If no unit is given, it is assumed the value is in bytes.
+   *
+   * @param {number|string} val
+   *
+   * @returns {number|null}
+   * @public
+   */
+
+  function parse(val) {
+    if (typeof val === 'number' && !isNaN(val)) {
+      return val;
+    }
+
+    if (typeof val !== 'string') {
+      return null;
+    }
+
+    // Test if the string passed is valid
+    var results = parseRegExp.exec(val);
+    var floatValue;
+    var unit = 'b';
+
+    if (!results) {
+      // Nothing could be extracted from the given string
+      floatValue = parseInt(val, 10);
+      unit = 'b';
+    } else {
+      // Retrieve the value and the unit
+      floatValue = parseFloat(results[1]);
+      unit = results[4].toLowerCase();
+    }
+
+    if (isNaN(floatValue)) {
+      return null;
+    }
+
+    return Math.floor(map$1[unit] * floatValue);
+  }
+
+  const Tooltip_marginX = 10;
+  const Tooltip_marginY = 30;
+  const SOURCEMAP_RENDERED = (u$1("span", { children: [" ", u$1("b", { children: LABELS.renderedLength }), " is a number of characters in the file after individual and ", u$1("br", {}), " ", "whole bundle transformations according to sourcemap."] }));
+  const RENDRED = (u$1("span", { children: [u$1("b", { children: LABELS.renderedLength }), " is a byte size of individual file after transformations and treeshake."] }));
+  const COMPRESSED = (u$1("span", { children: [u$1("b", { children: LABELS.gzipLength }), " and ", u$1("b", { children: LABELS.brotliLength }), " is a byte size of individual file after individual transformations,", u$1("br", {}), " treeshake and compression."] }));
+  const Tooltip = ({ node, visible, root, sizeProperty, }) => {
+      const { availableSizeProperties, getModuleSize, data } = q(StaticContext);
+      const ref = _(null);
+      const [style, setStyle] = h({});
+      const content = F(() => {
+          if (!node)
+              return null;
+          const mainSize = getModuleSize(node.data, sizeProperty);
+          const percentageNum = (100 * mainSize) / getModuleSize(root.data, sizeProperty);
+          const percentage = percentageNum.toFixed(2);
+          const percentageString = percentage + "%";
+          const path = node
+              .ancestors()
+              .reverse()
+              .map((d) => d.data.name)
+              .join("/");
+          let dataNode = null;
+          if (!isModuleTree(node.data)) {
+              const mainUid = data.nodeParts[node.data.uid].metaUid;
+              dataNode = data.nodeMetas[mainUid];
+          }
+          return (u$1(g$1, { children: [u$1("div", { children: path }), availableSizeProperties.map((sizeProp) => {
+                      if (sizeProp === sizeProperty) {
+                          return (u$1("div", { children: [u$1("b", { children: [LABELS[sizeProp], ": ", format_1(mainSize)] }), " ", "(", percentageString, ")"] }, sizeProp));
+                      }
+                      else {
+                          return (u$1("div", { children: [LABELS[sizeProp], ": ", format_1(getModuleSize(node.data, sizeProp))] }, sizeProp));
+                      }
+                  }), u$1("br", {}), dataNode && dataNode.importedBy.length > 0 && (u$1("div", { children: [u$1("div", { children: [u$1("b", { children: "Imported By" }), ":"] }), dataNode.importedBy.map(({ uid }) => {
+                              const id = data.nodeMetas[uid].id;
+                              return u$1("div", { children: id }, id);
+                          })] })), u$1("br", {}), u$1("small", { children: data.options.sourcemap ? SOURCEMAP_RENDERED : RENDRED }), (data.options.gzip || data.options.brotli) && (u$1(g$1, { children: [u$1("br", {}), u$1("small", { children: COMPRESSED })] }))] }));
+      }, [availableSizeProperties, data, getModuleSize, node, root.data, sizeProperty]);
+      const updatePosition = (mouseCoords) => {
+          if (!ref.current)
+              return;
+          const pos = {
+              left: mouseCoords.x + Tooltip_marginX,
+              top: mouseCoords.y + Tooltip_marginY,
+          };
+          const boundingRect = ref.current.getBoundingClientRect();
+          if (pos.left + boundingRect.width > window.innerWidth) {
+              // Shifting horizontally
+              pos.left = window.innerWidth - boundingRect.width;
+          }
+          if (pos.top + boundingRect.height > window.innerHeight) {
+              // Flipping vertically
+              pos.top = mouseCoords.y - Tooltip_marginY - boundingRect.height;
+          }
+          setStyle(pos);
+      };
+      p(() => {
+          const handleMouseMove = (event) => {
+              updatePosition({
+                  x: event.pageX,
+                  y: event.pageY,
+              });
+          };
+          document.addEventListener("mousemove", handleMouseMove, true);
+          return () => {
+              document.removeEventListener("mousemove", handleMouseMove, true);
+          };
+      }, []);
+      return (u$1("div", { className: `tooltip ${visible ? "" : "tooltip-hidden"}`, ref: ref, style: style, children: content }));
+  };
+
+  const Chart = ({ root, sizeProperty, selectedNode, setSelectedNode, }) => {
+      const [showTooltip, setShowTooltip] = h(false);
+      const [tooltipNode, setTooltipNode] = h(undefined);
+      p(() => {
+          const handleMouseOut = () => {
+              setShowTooltip(false);
+          };
+          document.addEventListener("mouseover", handleMouseOut);
+          return () => {
+              document.removeEventListener("mouseover", handleMouseOut);
+          };
+      }, []);
+      return (u$1(g$1, { children: [u$1(TreeMap, { root: root, onNodeHover: (node) => {
+                      setTooltipNode(node);
+                      setShowTooltip(true);
+                  }, selectedNode: selectedNode, onNodeClick: (node) => {
+                      setSelectedNode(selectedNode === node ? undefined : node);
+                  } }), u$1(Tooltip, { visible: showTooltip, node: tooltipNode, root: root, sizeProperty: sizeProperty })] }));
+  };
+
+  const Main = () => {
+      const { availableSizeProperties, rawHierarchy, getModuleSize, layout, data } = q(StaticContext);
+      const [sizeProperty, setSizeProperty] = h(availableSizeProperties[0]);
+      const [selectedNode, setSelectedNode] = h(undefined);
+      const { getModuleFilterMultiplier, setExcludeFilter, setIncludeFilter } = useFilter();
+      console.time("getNodeSizeMultiplier");
+      const getNodeSizeMultiplier = F(() => {
+          const selectedMultiplier = 1; // selectedSize < rootSize * increaseFactor ? (rootSize * increaseFactor) / selectedSize : rootSize / selectedSize;
+          const nonSelectedMultiplier = 0; // 1 / selectedMultiplier
+          if (selectedNode === undefined) {
+              return () => 1;
+          }
+          else if (isModuleTree(selectedNode.data)) {
+              const leaves = new Set(selectedNode.leaves().map((d) => d.data));
+              return (node) => {
+                  if (leaves.has(node)) {
+                      return selectedMultiplier;
+                  }
+                  return nonSelectedMultiplier;
+              };
+          }
+          else {
+              return (node) => {
+                  if (node === selectedNode.data) {
+                      return selectedMultiplier;
+                  }
+                  return nonSelectedMultiplier;
+              };
+          }
+      }, [getModuleSize, rawHierarchy.data, selectedNode, sizeProperty]);
+      console.timeEnd("getNodeSizeMultiplier");
+      console.time("root hierarchy compute");
+      // root here always be the same as rawHierarchy even after layouting
+      const root = F(() => {
+          const rootWithSizesAndSorted = rawHierarchy
+              .sum((node) => {
+              var _a;
+              if (isModuleTree(node))
+                  return 0;
+              const meta = data.nodeMetas[data.nodeParts[node.uid].metaUid];
+              const bundleId = (_a = Object.entries(meta.moduleParts).find(([bundleId, uid]) => uid == node.uid)) === null || _a === void 0 ? void 0 : _a[0];
+              const ownSize = getModuleSize(node, sizeProperty);
+              const zoomMultiplier = getNodeSizeMultiplier(node);
+              const filterMultiplier = getModuleFilterMultiplier(bundleId, meta);
+              return ownSize * zoomMultiplier * filterMultiplier;
+          })
+              .sort((a, b) => getModuleSize(a.data, sizeProperty) - getModuleSize(b.data, sizeProperty));
+          return layout(rootWithSizesAndSorted);
+      }, [
+          data,
+          getModuleFilterMultiplier,
+          getModuleSize,
+          getNodeSizeMultiplier,
+          layout,
+          rawHierarchy,
+          sizeProperty,
+      ]);
+      console.timeEnd("root hierarchy compute");
+      return (u$1(g$1, { children: [u$1(SideBar, { sizeProperty: sizeProperty, availableSizeProperties: availableSizeProperties, setSizeProperty: setSizeProperty, onExcludeChange: setExcludeFilter, onIncludeChange: setIncludeFilter }), u$1(Chart, { root: root, sizeProperty: sizeProperty, selectedNode: selectedNode, setSelectedNode: setSelectedNode })] }));
+  };
+
+  function initRange(domain, range) {
+    switch (arguments.length) {
+      case 0: break;
+      case 1: this.range(domain); break;
+      default: this.range(range).domain(domain); break;
+    }
+    return this;
+  }
+
+  function initInterpolator(domain, interpolator) {
+    switch (arguments.length) {
+      case 0: break;
+      case 1: {
+        if (typeof domain === "function") this.interpolator(domain);
+        else this.range(domain);
+        break;
+      }
+      default: {
+        this.domain(domain);
+        if (typeof interpolator === "function") this.interpolator(interpolator);
+        else this.range(interpolator);
+        break;
+      }
+    }
+    return this;
+  }
+
+  function define(constructor, factory, prototype) {
+    constructor.prototype = factory.prototype = prototype;
+    prototype.constructor = constructor;
+  }
+
+  function extend(parent, definition) {
+    var prototype = Object.create(parent.prototype);
+    for (var key in definition) prototype[key] = definition[key];
+    return prototype;
+  }
+
+  function Color() {}
+
+  var darker = 0.7;
+  var brighter = 1 / darker;
+
+  var reI = "\\s*([+-]?\\d+)\\s*",
+      reN = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",
+      reP = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",
+      reHex = /^#([0-9a-f]{3,8})$/,
+      reRgbInteger = new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`),
+      reRgbPercent = new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`),
+      reRgbaInteger = new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`),
+      reRgbaPercent = new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`),
+      reHslPercent = new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`),
+      reHslaPercent = new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`);
+
+  var named = {
+    aliceblue: 0xf0f8ff,
+    antiquewhite: 0xfaebd7,
+    aqua: 0x00ffff,
+    aquamarine: 0x7fffd4,
+    azure: 0xf0ffff,
+    beige: 0xf5f5dc,
+    bisque: 0xffe4c4,
+    black: 0x000000,
+    blanchedalmond: 0xffebcd,
+    blue: 0x0000ff,
+    blueviolet: 0x8a2be2,
+    brown: 0xa52a2a,
+    burlywood: 0xdeb887,
+    cadetblue: 0x5f9ea0,
+    chartreuse: 0x7fff00,
+    chocolate: 0xd2691e,
+    coral: 0xff7f50,
+    cornflowerblue: 0x6495ed,
+    cornsilk: 0xfff8dc,
+    crimson: 0xdc143c,
+    cyan: 0x00ffff,
+    darkblue: 0x00008b,
+    darkcyan: 0x008b8b,
+    darkgoldenrod: 0xb8860b,
+    darkgray: 0xa9a9a9,
+    darkgreen: 0x006400,
+    darkgrey: 0xa9a9a9,
+    darkkhaki: 0xbdb76b,
+    darkmagenta: 0x8b008b,
+    darkolivegreen: 0x556b2f,
+    darkorange: 0xff8c00,
+    darkorchid: 0x9932cc,
+    darkred: 0x8b0000,
+    darksalmon: 0xe9967a,
+    darkseagreen: 0x8fbc8f,
+    darkslateblue: 0x483d8b,
+    darkslategray: 0x2f4f4f,
+    darkslategrey: 0x2f4f4f,
+    darkturquoise: 0x00ced1,
+    darkviolet: 0x9400d3,
+    deeppink: 0xff1493,
+    deepskyblue: 0x00bfff,
+    dimgray: 0x696969,
+    dimgrey: 0x696969,
+    dodgerblue: 0x1e90ff,
+    firebrick: 0xb22222,
+    floralwhite: 0xfffaf0,
+    forestgreen: 0x228b22,
+    fuchsia: 0xff00ff,
+    gainsboro: 0xdcdcdc,
+    ghostwhite: 0xf8f8ff,
+    gold: 0xffd700,
+    goldenrod: 0xdaa520,
+    gray: 0x808080,
+    green: 0x008000,
+    greenyellow: 0xadff2f,
+    grey: 0x808080,
+    honeydew: 0xf0fff0,
+    hotpink: 0xff69b4,
+    indianred: 0xcd5c5c,
+    indigo: 0x4b0082,
+    ivory: 0xfffff0,
+    khaki: 0xf0e68c,
+    lavender: 0xe6e6fa,
+    lavenderblush: 0xfff0f5,
+    lawngreen: 0x7cfc00,
+    lemonchiffon: 0xfffacd,
+    lightblue: 0xadd8e6,
+    lightcoral: 0xf08080,
+    lightcyan: 0xe0ffff,
+    lightgoldenrodyellow: 0xfafad2,
+    lightgray: 0xd3d3d3,
+    lightgreen: 0x90ee90,
+    lightgrey: 0xd3d3d3,
+    lightpink: 0xffb6c1,
+    lightsalmon: 0xffa07a,
+    lightseagreen: 0x20b2aa,
+    lightskyblue: 0x87cefa,
+    lightslategray: 0x778899,
+    lightslategrey: 0x778899,
+    lightsteelblue: 0xb0c4de,
+    lightyellow: 0xffffe0,
+    lime: 0x00ff00,
+    limegreen: 0x32cd32,
+    linen: 0xfaf0e6,
+    magenta: 0xff00ff,
+    maroon: 0x800000,
+    mediumaquamarine: 0x66cdaa,
+    mediumblue: 0x0000cd,
+    mediumorchid: 0xba55d3,
+    mediumpurple: 0x9370db,
+    mediumseagreen: 0x3cb371,
+    mediumslateblue: 0x7b68ee,
+    mediumspringgreen: 0x00fa9a,
+    mediumturquoise: 0x48d1cc,
+    mediumvioletred: 0xc71585,
+    midnightblue: 0x191970,
+    mintcream: 0xf5fffa,
+    mistyrose: 0xffe4e1,
+    moccasin: 0xffe4b5,
+    navajowhite: 0xffdead,
+    navy: 0x000080,
+    oldlace: 0xfdf5e6,
+    olive: 0x808000,
+    olivedrab: 0x6b8e23,
+    orange: 0xffa500,
+    orangered: 0xff4500,
+    orchid: 0xda70d6,
+    palegoldenrod: 0xeee8aa,
+    palegreen: 0x98fb98,
+    paleturquoise: 0xafeeee,
+    palevioletred: 0xdb7093,
+    papayawhip: 0xffefd5,
+    peachpuff: 0xffdab9,
+    peru: 0xcd853f,
+    pink: 0xffc0cb,
+    plum: 0xdda0dd,
+    powderblue: 0xb0e0e6,
+    purple: 0x800080,
+    rebeccapurple: 0x663399,
+    red: 0xff0000,
+    rosybrown: 0xbc8f8f,
+    royalblue: 0x4169e1,
+    saddlebrown: 0x8b4513,
+    salmon: 0xfa8072,
+    sandybrown: 0xf4a460,
+    seagreen: 0x2e8b57,
+    seashell: 0xfff5ee,
+    sienna: 0xa0522d,
+    silver: 0xc0c0c0,
+    skyblue: 0x87ceeb,
+    slateblue: 0x6a5acd,
+    slategray: 0x708090,
+    slategrey: 0x708090,
+    snow: 0xfffafa,
+    springgreen: 0x00ff7f,
+    steelblue: 0x4682b4,
+    tan: 0xd2b48c,
+    teal: 0x008080,
+    thistle: 0xd8bfd8,
+    tomato: 0xff6347,
+    turquoise: 0x40e0d0,
+    violet: 0xee82ee,
+    wheat: 0xf5deb3,
+    white: 0xffffff,
+    whitesmoke: 0xf5f5f5,
+    yellow: 0xffff00,
+    yellowgreen: 0x9acd32
+  };
+
+  define(Color, color, {
+    copy(channels) {
+      return Object.assign(new this.constructor, this, channels);
+    },
+    displayable() {
+      return this.rgb().displayable();
+    },
+    hex: color_formatHex, // Deprecated! Use color.formatHex.
+    formatHex: color_formatHex,
+    formatHex8: color_formatHex8,
+    formatHsl: color_formatHsl,
+    formatRgb: color_formatRgb,
+    toString: color_formatRgb
+  });
+
+  function color_formatHex() {
+    return this.rgb().formatHex();
+  }
+
+  function color_formatHex8() {
+    return this.rgb().formatHex8();
+  }
+
+  function color_formatHsl() {
+    return hslConvert(this).formatHsl();
+  }
+
+  function color_formatRgb() {
+    return this.rgb().formatRgb();
+  }
+
+  function color(format) {
+    var m, l;
+    format = (format + "").trim().toLowerCase();
+    return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000
+        : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00
+        : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000
+        : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000
+        : null) // invalid hex
+        : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)
+        : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)
+        : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)
+        : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)
+        : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)
+        : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)
+        : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins
+        : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0)
+        : null;
+  }
+
+  function rgbn(n) {
+    return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);
+  }
+
+  function rgba(r, g, b, a) {
+    if (a <= 0) r = g = b = NaN;
+    return new Rgb(r, g, b, a);
+  }
+
+  function rgbConvert(o) {
+    if (!(o instanceof Color)) o = color(o);
+    if (!o) return new Rgb;
+    o = o.rgb();
+    return new Rgb(o.r, o.g, o.b, o.opacity);
+  }
+
+  function rgb$1(r, g, b, opacity) {
+    return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);
+  }
+
+  function Rgb(r, g, b, opacity) {
+    this.r = +r;
+    this.g = +g;
+    this.b = +b;
+    this.opacity = +opacity;
+  }
+
+  define(Rgb, rgb$1, extend(Color, {
+    brighter(k) {
+      k = k == null ? brighter : Math.pow(brighter, k);
+      return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
+    },
+    darker(k) {
+      k = k == null ? darker : Math.pow(darker, k);
+      return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
+    },
+    rgb() {
+      return this;
+    },
+    clamp() {
+      return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));
+    },
+    displayable() {
+      return (-0.5 <= this.r && this.r < 255.5)
+          && (-0.5 <= this.g && this.g < 255.5)
+          && (-0.5 <= this.b && this.b < 255.5)
+          && (0 <= this.opacity && this.opacity <= 1);
+    },
+    hex: rgb_formatHex, // Deprecated! Use color.formatHex.
+    formatHex: rgb_formatHex,
+    formatHex8: rgb_formatHex8,
+    formatRgb: rgb_formatRgb,
+    toString: rgb_formatRgb
+  }));
+
+  function rgb_formatHex() {
+    return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;
+  }
+
+  function rgb_formatHex8() {
+    return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;
+  }
+
+  function rgb_formatRgb() {
+    const a = clampa(this.opacity);
+    return `${a === 1 ? "rgb(" : "rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? ")" : `, ${a})`}`;
+  }
+
+  function clampa(opacity) {
+    return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));
+  }
+
+  function clampi(value) {
+    return Math.max(0, Math.min(255, Math.round(value) || 0));
+  }
+
+  function hex(value) {
+    value = clampi(value);
+    return (value < 16 ? "0" : "") + value.toString(16);
+  }
+
+  function hsla(h, s, l, a) {
+    if (a <= 0) h = s = l = NaN;
+    else if (l <= 0 || l >= 1) h = s = NaN;
+    else if (s <= 0) h = NaN;
+    return new Hsl(h, s, l, a);
+  }
+
+  function hslConvert(o) {
+    if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);
+    if (!(o instanceof Color)) o = color(o);
+    if (!o) return new Hsl;
+    if (o instanceof Hsl) return o;
+    o = o.rgb();
+    var r = o.r / 255,
+        g = o.g / 255,
+        b = o.b / 255,
+        min = Math.min(r, g, b),
+        max = Math.max(r, g, b),
+        h = NaN,
+        s = max - min,
+        l = (max + min) / 2;
+    if (s) {
+      if (r === max) h = (g - b) / s + (g < b) * 6;
+      else if (g === max) h = (b - r) / s + 2;
+      else h = (r - g) / s + 4;
+      s /= l < 0.5 ? max + min : 2 - max - min;
+      h *= 60;
+    } else {
+      s = l > 0 && l < 1 ? 0 : h;
+    }
+    return new Hsl(h, s, l, o.opacity);
+  }
+
+  function hsl(h, s, l, opacity) {
+    return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);
+  }
+
+  function Hsl(h, s, l, opacity) {
+    this.h = +h;
+    this.s = +s;
+    this.l = +l;
+    this.opacity = +opacity;
+  }
+
+  define(Hsl, hsl, extend(Color, {
+    brighter(k) {
+      k = k == null ? brighter : Math.pow(brighter, k);
+      return new Hsl(this.h, this.s, this.l * k, this.opacity);
+    },
+    darker(k) {
+      k = k == null ? darker : Math.pow(darker, k);
+      return new Hsl(this.h, this.s, this.l * k, this.opacity);
+    },
+    rgb() {
+      var h = this.h % 360 + (this.h < 0) * 360,
+          s = isNaN(h) || isNaN(this.s) ? 0 : this.s,
+          l = this.l,
+          m2 = l + (l < 0.5 ? l : 1 - l) * s,
+          m1 = 2 * l - m2;
+      return new Rgb(
+        hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),
+        hsl2rgb(h, m1, m2),
+        hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),
+        this.opacity
+      );
+    },
+    clamp() {
+      return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));
+    },
+    displayable() {
+      return (0 <= this.s && this.s <= 1 || isNaN(this.s))
+          && (0 <= this.l && this.l <= 1)
+          && (0 <= this.opacity && this.opacity <= 1);
+    },
+    formatHsl() {
+      const a = clampa(this.opacity);
+      return `${a === 1 ? "hsl(" : "hsla("}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? ")" : `, ${a})`}`;
+    }
+  }));
+
+  function clamph(value) {
+    value = (value || 0) % 360;
+    return value < 0 ? value + 360 : value;
+  }
+
+  function clampt(value) {
+    return Math.max(0, Math.min(1, value || 0));
+  }
+
+  /* From FvD 13.37, CSS Color Module Level 3 */
+  function hsl2rgb(h, m1, m2) {
+    return (h < 60 ? m1 + (m2 - m1) * h / 60
+        : h < 180 ? m2
+        : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60
+        : m1) * 255;
+  }
+
+  var constant = x => () => x;
+
+  function linear$1(a, d) {
+    return function(t) {
+      return a + t * d;
+    };
+  }
+
+  function exponential(a, b, y) {
+    return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {
+      return Math.pow(a + t * b, y);
+    };
+  }
+
+  function gamma(y) {
+    return (y = +y) === 1 ? nogamma : function(a, b) {
+      return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);
+    };
+  }
+
+  function nogamma(a, b) {
+    var d = b - a;
+    return d ? linear$1(a, d) : constant(isNaN(a) ? b : a);
+  }
+
+  var rgb = (function rgbGamma(y) {
+    var color = gamma(y);
+
+    function rgb(start, end) {
+      var r = color((start = rgb$1(start)).r, (end = rgb$1(end)).r),
+          g = color(start.g, end.g),
+          b = color(start.b, end.b),
+          opacity = nogamma(start.opacity, end.opacity);
+      return function(t) {
+        start.r = r(t);
+        start.g = g(t);
+        start.b = b(t);
+        start.opacity = opacity(t);
+        return start + "";
+      };
+    }
+
+    rgb.gamma = rgbGamma;
+
+    return rgb;
+  })(1);
+
+  function numberArray(a, b) {
+    if (!b) b = [];
+    var n = a ? Math.min(b.length, a.length) : 0,
+        c = b.slice(),
+        i;
+    return function(t) {
+      for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;
+      return c;
+    };
+  }
+
+  function isNumberArray(x) {
+    return ArrayBuffer.isView(x) && !(x instanceof DataView);
+  }
+
+  function genericArray(a, b) {
+    var nb = b ? b.length : 0,
+        na = a ? Math.min(nb, a.length) : 0,
+        x = new Array(na),
+        c = new Array(nb),
+        i;
+
+    for (i = 0; i < na; ++i) x[i] = interpolate(a[i], b[i]);
+    for (; i < nb; ++i) c[i] = b[i];
+
+    return function(t) {
+      for (i = 0; i < na; ++i) c[i] = x[i](t);
+      return c;
+    };
+  }
+
+  function date(a, b) {
+    var d = new Date;
+    return a = +a, b = +b, function(t) {
+      return d.setTime(a * (1 - t) + b * t), d;
+    };
+  }
+
+  function interpolateNumber(a, b) {
+    return a = +a, b = +b, function(t) {
+      return a * (1 - t) + b * t;
+    };
+  }
+
+  function object(a, b) {
+    var i = {},
+        c = {},
+        k;
+
+    if (a === null || typeof a !== "object") a = {};
+    if (b === null || typeof b !== "object") b = {};
+
+    for (k in b) {
+      if (k in a) {
+        i[k] = interpolate(a[k], b[k]);
+      } else {
+        c[k] = b[k];
+      }
+    }
+
+    return function(t) {
+      for (k in i) c[k] = i[k](t);
+      return c;
+    };
+  }
+
+  var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,
+      reB = new RegExp(reA.source, "g");
+
+  function zero(b) {
+    return function() {
+      return b;
+    };
+  }
+
+  function one(b) {
+    return function(t) {
+      return b(t) + "";
+    };
+  }
+
+  function string(a, b) {
+    var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b
+        am, // current match in a
+        bm, // current match in b
+        bs, // string preceding current number in b, if any
+        i = -1, // index in s
+        s = [], // string constants and placeholders
+        q = []; // number interpolators
+
+    // Coerce inputs to strings.
+    a = a + "", b = b + "";
+
+    // Interpolate pairs of numbers in a & b.
+    while ((am = reA.exec(a))
+        && (bm = reB.exec(b))) {
+      if ((bs = bm.index) > bi) { // a string precedes the next number in b
+        bs = b.slice(bi, bs);
+        if (s[i]) s[i] += bs; // coalesce with previous string
+        else s[++i] = bs;
+      }
+      if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match
+        if (s[i]) s[i] += bm; // coalesce with previous string
+        else s[++i] = bm;
+      } else { // interpolate non-matching numbers
+        s[++i] = null;
+        q.push({i: i, x: interpolateNumber(am, bm)});
+      }
+      bi = reB.lastIndex;
+    }
+
+    // Add remains of b.
+    if (bi < b.length) {
+      bs = b.slice(bi);
+      if (s[i]) s[i] += bs; // coalesce with previous string
+      else s[++i] = bs;
+    }
+
+    // Special optimization for only a single match.
+    // Otherwise, interpolate each of the numbers and rejoin the string.
+    return s.length < 2 ? (q[0]
+        ? one(q[0].x)
+        : zero(b))
+        : (b = q.length, function(t) {
+            for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);
+            return s.join("");
+          });
+  }
+
+  function interpolate(a, b) {
+    var t = typeof b, c;
+    return b == null || t === "boolean" ? constant(b)
+        : (t === "number" ? interpolateNumber
+        : t === "string" ? ((c = color(b)) ? (b = c, rgb) : string)
+        : b instanceof color ? rgb
+        : b instanceof Date ? date
+        : isNumberArray(b) ? numberArray
+        : Array.isArray(b) ? genericArray
+        : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? object
+        : interpolateNumber)(a, b);
+  }
+
+  function interpolateRound(a, b) {
+    return a = +a, b = +b, function(t) {
+      return Math.round(a * (1 - t) + b * t);
+    };
+  }
+
+  function constants(x) {
+    return function() {
+      return x;
+    };
+  }
+
+  function number(x) {
+    return +x;
+  }
+
+  var unit = [0, 1];
+
+  function identity$1(x) {
+    return x;
+  }
+
+  function normalize(a, b) {
+    return (b -= (a = +a))
+        ? function(x) { return (x - a) / b; }
+        : constants(isNaN(b) ? NaN : 0.5);
+  }
+
+  function clamper(a, b) {
+    var t;
+    if (a > b) t = a, a = b, b = t;
+    return function(x) { return Math.max(a, Math.min(b, x)); };
+  }
+
+  // normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].
+  // interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].
+  function bimap(domain, range, interpolate) {
+    var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];
+    if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);
+    else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);
+    return function(x) { return r0(d0(x)); };
+  }
+
+  function polymap(domain, range, interpolate) {
+    var j = Math.min(domain.length, range.length) - 1,
+        d = new Array(j),
+        r = new Array(j),
+        i = -1;
+
+    // Reverse descending domains.
+    if (domain[j] < domain[0]) {
+      domain = domain.slice().reverse();
+      range = range.slice().reverse();
+    }
+
+    while (++i < j) {
+      d[i] = normalize(domain[i], domain[i + 1]);
+      r[i] = interpolate(range[i], range[i + 1]);
+    }
+
+    return function(x) {
+      var i = bisect(domain, x, 1, j) - 1;
+      return r[i](d[i](x));
+    };
+  }
+
+  function copy$1(source, target) {
+    return target
+        .domain(source.domain())
+        .range(source.range())
+        .interpolate(source.interpolate())
+        .clamp(source.clamp())
+        .unknown(source.unknown());
+  }
+
+  function transformer$1() {
+    var domain = unit,
+        range = unit,
+        interpolate$1 = interpolate,
+        transform,
+        untransform,
+        unknown,
+        clamp = identity$1,
+        piecewise,
+        output,
+        input;
+
+    function rescale() {
+      var n = Math.min(domain.length, range.length);
+      if (clamp !== identity$1) clamp = clamper(domain[0], domain[n - 1]);
+      piecewise = n > 2 ? polymap : bimap;
+      output = input = null;
+      return scale;
+    }
+
+    function scale(x) {
+      return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate$1)))(transform(clamp(x)));
+    }
+
+    scale.invert = function(y) {
+      return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));
+    };
+
+    scale.domain = function(_) {
+      return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();
+    };
+
+    scale.range = function(_) {
+      return arguments.length ? (range = Array.from(_), rescale()) : range.slice();
+    };
+
+    scale.rangeRound = function(_) {
+      return range = Array.from(_), interpolate$1 = interpolateRound, rescale();
+    };
+
+    scale.clamp = function(_) {
+      return arguments.length ? (clamp = _ ? true : identity$1, rescale()) : clamp !== identity$1;
+    };
+
+    scale.interpolate = function(_) {
+      return arguments.length ? (interpolate$1 = _, rescale()) : interpolate$1;
+    };
+
+    scale.unknown = function(_) {
+      return arguments.length ? (unknown = _, scale) : unknown;
+    };
+
+    return function(t, u) {
+      transform = t, untransform = u;
+      return rescale();
+    };
+  }
+
+  function continuous() {
+    return transformer$1()(identity$1, identity$1);
+  }
+
+  function formatDecimal(x) {
+    return Math.abs(x = Math.round(x)) >= 1e21
+        ? x.toLocaleString("en").replace(/,/g, "")
+        : x.toString(10);
+  }
+
+  // Computes the decimal coefficient and exponent of the specified number x with
+  // significant digits p, where x is positive and p is in [1, 21] or undefined.
+  // For example, formatDecimalParts(1.23) returns ["123", 0].
+  function formatDecimalParts(x, p) {
+    if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; // NaN, 卤Infinity
+    var i, coefficient = x.slice(0, i);
+
+    // The string returned by toExponential either has the form \d\.\d+e[-+]\d+
+    // (e.g., 1.2e+3) or the form \de[-+]\d+ (e.g., 1e+3).
+    return [
+      coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,
+      +x.slice(i + 1)
+    ];
+  }
+
+  function exponent(x) {
+    return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;
+  }
+
+  function formatGroup(grouping, thousands) {
+    return function(value, width) {
+      var i = value.length,
+          t = [],
+          j = 0,
+          g = grouping[0],
+          length = 0;
+
+      while (i > 0 && g > 0) {
+        if (length + g + 1 > width) g = Math.max(1, width - length);
+        t.push(value.substring(i -= g, i + g));
+        if ((length += g + 1) > width) break;
+        g = grouping[j = (j + 1) % grouping.length];
+      }
+
+      return t.reverse().join(thousands);
+    };
+  }
+
+  function formatNumerals(numerals) {
+    return function(value) {
+      return value.replace(/[0-9]/g, function(i) {
+        return numerals[+i];
+      });
+    };
+  }
+
+  // [[fill]align][sign][symbol][0][width][,][.precision][~][type]
+  var re = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
+
+  function formatSpecifier(specifier) {
+    if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier);
+    var match;
+    return new FormatSpecifier({
+      fill: match[1],
+      align: match[2],
+      sign: match[3],
+      symbol: match[4],
+      zero: match[5],
+      width: match[6],
+      comma: match[7],
+      precision: match[8] && match[8].slice(1),
+      trim: match[9],
+      type: match[10]
+    });
+  }
+
+  formatSpecifier.prototype = FormatSpecifier.prototype; // instanceof
+
+  function FormatSpecifier(specifier) {
+    this.fill = specifier.fill === undefined ? " " : specifier.fill + "";
+    this.align = specifier.align === undefined ? ">" : specifier.align + "";
+    this.sign = specifier.sign === undefined ? "-" : specifier.sign + "";
+    this.symbol = specifier.symbol === undefined ? "" : specifier.symbol + "";
+    this.zero = !!specifier.zero;
+    this.width = specifier.width === undefined ? undefined : +specifier.width;
+    this.comma = !!specifier.comma;
+    this.precision = specifier.precision === undefined ? undefined : +specifier.precision;
+    this.trim = !!specifier.trim;
+    this.type = specifier.type === undefined ? "" : specifier.type + "";
+  }
+
+  FormatSpecifier.prototype.toString = function() {
+    return this.fill
+        + this.align
+        + this.sign
+        + this.symbol
+        + (this.zero ? "0" : "")
+        + (this.width === undefined ? "" : Math.max(1, this.width | 0))
+        + (this.comma ? "," : "")
+        + (this.precision === undefined ? "" : "." + Math.max(0, this.precision | 0))
+        + (this.trim ? "~" : "")
+        + this.type;
+  };
+
+  // Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.
+  function formatTrim(s) {
+    out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {
+      switch (s[i]) {
+        case ".": i0 = i1 = i; break;
+        case "0": if (i0 === 0) i0 = i; i1 = i; break;
+        default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;
+      }
+    }
+    return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;
+  }
+
+  var prefixExponent;
+
+  function formatPrefixAuto(x, p) {
+    var d = formatDecimalParts(x, p);
+    if (!d) return x + "";
+    var coefficient = d[0],
+        exponent = d[1],
+        i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,
+        n = coefficient.length;
+    return i === n ? coefficient
+        : i > n ? coefficient + new Array(i - n + 1).join("0")
+        : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i)
+        : "0." + new Array(1 - i).join("0") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!
+  }
+
+  function formatRounded(x, p) {
+    var d = formatDecimalParts(x, p);
+    if (!d) return x + "";
+    var coefficient = d[0],
+        exponent = d[1];
+    return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient
+        : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1)
+        : coefficient + new Array(exponent - coefficient.length + 2).join("0");
+  }
+
+  var formatTypes = {
+    "%": (x, p) => (x * 100).toFixed(p),
+    "b": (x) => Math.round(x).toString(2),
+    "c": (x) => x + "",
+    "d": formatDecimal,
+    "e": (x, p) => x.toExponential(p),
+    "f": (x, p) => x.toFixed(p),
+    "g": (x, p) => x.toPrecision(p),
+    "o": (x) => Math.round(x).toString(8),
+    "p": (x, p) => formatRounded(x * 100, p),
+    "r": formatRounded,
+    "s": formatPrefixAuto,
+    "X": (x) => Math.round(x).toString(16).toUpperCase(),
+    "x": (x) => Math.round(x).toString(16)
+  };
+
+  function identity(x) {
+    return x;
+  }
+
+  var map = Array.prototype.map,
+      prefixes = ["y","z","a","f","p","n","碌","m","","k","M","G","T","P","E","Z","Y"];
+
+  function formatLocale(locale) {
+    var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + ""),
+        currencyPrefix = locale.currency === undefined ? "" : locale.currency[0] + "",
+        currencySuffix = locale.currency === undefined ? "" : locale.currency[1] + "",
+        decimal = locale.decimal === undefined ? "." : locale.decimal + "",
+        numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),
+        percent = locale.percent === undefined ? "%" : locale.percent + "",
+        minus = locale.minus === undefined ? "鈭�" : locale.minus + "",
+        nan = locale.nan === undefined ? "NaN" : locale.nan + "";
+
+    function newFormat(specifier) {
+      specifier = formatSpecifier(specifier);
+
+      var fill = specifier.fill,
+          align = specifier.align,
+          sign = specifier.sign,
+          symbol = specifier.symbol,
+          zero = specifier.zero,
+          width = specifier.width,
+          comma = specifier.comma,
+          precision = specifier.precision,
+          trim = specifier.trim,
+          type = specifier.type;
+
+      // The "n" type is an alias for ",g".
+      if (type === "n") comma = true, type = "g";
+
+      // The "" type, and any invalid type, is an alias for ".12~g".
+      else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = "g";
+
+      // If zero fill is specified, padding goes after sign and before digits.
+      if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "=";
+
+      // Compute the prefix and suffix.
+      // For SI-prefix, the suffix is lazily computed.
+      var prefix = symbol === "$" ? currencyPrefix : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "",
+          suffix = symbol === "$" ? currencySuffix : /[%p]/.test(type) ? percent : "";
+
+      // What format function should we use?
+      // Is this an integer type?
+      // Can this type generate exponential notation?
+      var formatType = formatTypes[type],
+          maybeSuffix = /[defgprs%]/.test(type);
+
+      // Set the default precision if not specified,
+      // or clamp the specified precision to the supported range.
+      // For significant precision, it must be in [1, 21].
+      // For fixed precision, it must be in [0, 20].
+      precision = precision === undefined ? 6
+          : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))
+          : Math.max(0, Math.min(20, precision));
+
+      function format(value) {
+        var valuePrefix = prefix,
+            valueSuffix = suffix,
+            i, n, c;
+
+        if (type === "c") {
+          valueSuffix = formatType(value) + valueSuffix;
+          value = "";
+        } else {
+          value = +value;
+
+          // Determine the sign. -0 is not less than 0, but 1 / -0 is!
+          var valueNegative = value < 0 || 1 / value < 0;
+
+          // Perform the initial formatting.
+          value = isNaN(value) ? nan : formatType(Math.abs(value), precision);
+
+          // Trim insignificant zeros.
+          if (trim) value = formatTrim(value);
+
+          // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.
+          if (valueNegative && +value === 0 && sign !== "+") valueNegative = false;
+
+          // Compute the prefix and suffix.
+          valuePrefix = (valueNegative ? (sign === "(" ? sign : minus) : sign === "-" || sign === "(" ? "" : sign) + valuePrefix;
+          valueSuffix = (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + valueSuffix + (valueNegative && sign === "(" ? ")" : "");
+
+          // Break the formatted value into the integer 鈥渧alue鈥� part that can be
+          // grouped, and fractional or exponential 鈥渟uffix鈥� part that is not.
+          if (maybeSuffix) {
+            i = -1, n = value.length;
+            while (++i < n) {
+              if (c = value.charCodeAt(i), 48 > c || c > 57) {
+                valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;
+                value = value.slice(0, i);
+                break;
+              }
+            }
+          }
+        }
+
+        // If the fill character is not "0", grouping is applied before padding.
+        if (comma && !zero) value = group(value, Infinity);
+
+        // Compute the padding.
+        var length = valuePrefix.length + value.length + valueSuffix.length,
+            padding = length < width ? new Array(width - length + 1).join(fill) : "";
+
+        // If the fill character is "0", grouping is applied after padding.
+        if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = "";
+
+        // Reconstruct the final output based on the desired alignment.
+        switch (align) {
+          case "<": value = valuePrefix + value + valueSuffix + padding; break;
+          case "=": value = valuePrefix + padding + value + valueSuffix; break;
+          case "^": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;
+          default: value = padding + valuePrefix + value + valueSuffix; break;
+        }
+
+        return numerals(value);
+      }
+
+      format.toString = function() {
+        return specifier + "";
+      };
+
+      return format;
+    }
+
+    function formatPrefix(specifier, value) {
+      var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)),
+          e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,
+          k = Math.pow(10, -e),
+          prefix = prefixes[8 + e / 3];
+      return function(value) {
+        return f(k * value) + prefix;
+      };
+    }
+
+    return {
+      format: newFormat,
+      formatPrefix: formatPrefix
+    };
+  }
+
+  var locale;
+  var format;
+  var formatPrefix;
+
+  defaultLocale({
+    thousands: ",",
+    grouping: [3],
+    currency: ["$", ""]
+  });
+
+  function defaultLocale(definition) {
+    locale = formatLocale(definition);
+    format = locale.format;
+    formatPrefix = locale.formatPrefix;
+    return locale;
+  }
+
+  function precisionFixed(step) {
+    return Math.max(0, -exponent(Math.abs(step)));
+  }
+
+  function precisionPrefix(step, value) {
+    return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));
+  }
+
+  function precisionRound(step, max) {
+    step = Math.abs(step), max = Math.abs(max) - step;
+    return Math.max(0, exponent(max) - exponent(step)) + 1;
+  }
+
+  function tickFormat(start, stop, count, specifier) {
+    var step = tickStep(start, stop, count),
+        precision;
+    specifier = formatSpecifier(specifier == null ? ",f" : specifier);
+    switch (specifier.type) {
+      case "s": {
+        var value = Math.max(Math.abs(start), Math.abs(stop));
+        if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;
+        return formatPrefix(specifier, value);
+      }
+      case "":
+      case "e":
+      case "g":
+      case "p":
+      case "r": {
+        if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e");
+        break;
+      }
+      case "f":
+      case "%": {
+        if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === "%") * 2;
+        break;
+      }
+    }
+    return format(specifier);
+  }
+
+  function linearish(scale) {
+    var domain = scale.domain;
+
+    scale.ticks = function(count) {
+      var d = domain();
+      return ticks(d[0], d[d.length - 1], count == null ? 10 : count);
+    };
+
+    scale.tickFormat = function(count, specifier) {
+      var d = domain();
+      return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);
+    };
+
+    scale.nice = function(count) {
+      if (count == null) count = 10;
+
+      var d = domain();
+      var i0 = 0;
+      var i1 = d.length - 1;
+      var start = d[i0];
+      var stop = d[i1];
+      var prestep;
+      var step;
+      var maxIter = 10;
+
+      if (stop < start) {
+        step = start, start = stop, stop = step;
+        step = i0, i0 = i1, i1 = step;
+      }
+      
+      while (maxIter-- > 0) {
+        step = tickIncrement(start, stop, count);
+        if (step === prestep) {
+          d[i0] = start;
+          d[i1] = stop;
+          return domain(d);
+        } else if (step > 0) {
+          start = Math.floor(start / step) * step;
+          stop = Math.ceil(stop / step) * step;
+        } else if (step < 0) {
+          start = Math.ceil(start * step) / step;
+          stop = Math.floor(stop * step) / step;
+        } else {
+          break;
+        }
+        prestep = step;
+      }
+
+      return scale;
+    };
+
+    return scale;
+  }
+
+  function linear() {
+    var scale = continuous();
+
+    scale.copy = function() {
+      return copy$1(scale, linear());
+    };
+
+    initRange.apply(scale, arguments);
+
+    return linearish(scale);
+  }
+
+  function transformer() {
+    var x0 = 0,
+        x1 = 1,
+        t0,
+        t1,
+        k10,
+        transform,
+        interpolator = identity$1,
+        clamp = false,
+        unknown;
+
+    function scale(x) {
+      return x == null || isNaN(x = +x) ? unknown : interpolator(k10 === 0 ? 0.5 : (x = (transform(x) - t0) * k10, clamp ? Math.max(0, Math.min(1, x)) : x));
+    }
+
+    scale.domain = function(_) {
+      return arguments.length ? ([x0, x1] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0), scale) : [x0, x1];
+    };
+
+    scale.clamp = function(_) {
+      return arguments.length ? (clamp = !!_, scale) : clamp;
+    };
+
+    scale.interpolator = function(_) {
+      return arguments.length ? (interpolator = _, scale) : interpolator;
+    };
+
+    function range(interpolate) {
+      return function(_) {
+        var r0, r1;
+        return arguments.length ? ([r0, r1] = _, interpolator = interpolate(r0, r1), scale) : [interpolator(0), interpolator(1)];
+      };
+    }
+
+    scale.range = range(interpolate);
+
+    scale.rangeRound = range(interpolateRound);
+
+    scale.unknown = function(_) {
+      return arguments.length ? (unknown = _, scale) : unknown;
+    };
+
+    return function(t) {
+      transform = t, t0 = t(x0), t1 = t(x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0);
+      return scale;
+    };
+  }
+
+  function copy(source, target) {
+    return target
+        .domain(source.domain())
+        .interpolator(source.interpolator())
+        .clamp(source.clamp())
+        .unknown(source.unknown());
+  }
+
+  function sequential() {
+    var scale = linearish(transformer()(identity$1));
+
+    scale.copy = function() {
+      return copy(scale, sequential());
+    };
+
+    return initInterpolator.apply(scale, arguments);
+  }
+
+  const COLOR_BASE = "#cecece";
+
+  // https://www.w3.org/TR/WCAG20/#relativeluminancedef
+  const rc = 0.2126;
+  const gc = 0.7152;
+  const bc = 0.0722;
+  // low-gamma adjust coefficient
+  const lowc = 1 / 12.92;
+  function adjustGamma(p) {
+      return Math.pow((p + 0.055) / 1.055, 2.4);
+  }
+  function relativeLuminance(o) {
+      const rsrgb = o.r / 255;
+      const gsrgb = o.g / 255;
+      const bsrgb = o.b / 255;
+      const r = rsrgb <= 0.03928 ? rsrgb * lowc : adjustGamma(rsrgb);
+      const g = gsrgb <= 0.03928 ? gsrgb * lowc : adjustGamma(gsrgb);
+      const b = bsrgb <= 0.03928 ? bsrgb * lowc : adjustGamma(bsrgb);
+      return r * rc + g * gc + b * bc;
+  }
+  const createRainbowColor = (root) => {
+      const colorParentMap = new Map();
+      colorParentMap.set(root, COLOR_BASE);
+      if (root.children != null) {
+          const colorScale = sequential([0, root.children.length], (n) => hsl(360 * n, 0.3, 0.85));
+          root.children.forEach((c, id) => {
+              colorParentMap.set(c, colorScale(id).toString());
+          });
+      }
+      const colorMap = new Map();
+      const lightScale = linear().domain([0, root.height]).range([0.9, 0.3]);
+      const getBackgroundColor = (node) => {
+          const parents = node.ancestors();
+          const colorStr = parents.length === 1
+              ? colorParentMap.get(parents[0])
+              : colorParentMap.get(parents[parents.length - 2]);
+          const hslColor = hsl(colorStr);
+          hslColor.l = lightScale(node.depth);
+          return hslColor;
+      };
+      return (node) => {
+          if (!colorMap.has(node)) {
+              const backgroundColor = getBackgroundColor(node);
+              const l = relativeLuminance(backgroundColor.rgb());
+              const fontColor = l > 0.19 ? "#000" : "#fff";
+              colorMap.set(node, {
+                  backgroundColor: backgroundColor.toString(),
+                  fontColor,
+              });
+          }
+          return colorMap.get(node);
+      };
+  };
+
+  const StaticContext = F$1({});
+  const drawChart = (parentNode, data, width, height) => {
+      const availableSizeProperties = getAvailableSizeOptions(data.options);
+      console.time("layout create");
+      const layout = treemap()
+          .size([width, height])
+          .paddingOuter(PADDING)
+          .paddingTop(TOP_PADDING)
+          .paddingInner(PADDING)
+          .round(true)
+          .tile(treemapResquarify);
+      console.timeEnd("layout create");
+      console.time("rawHierarchy create");
+      const rawHierarchy = hierarchy(data.tree);
+      console.timeEnd("rawHierarchy create");
+      const nodeSizesCache = new Map();
+      const nodeIdsCache = new Map();
+      const getModuleSize = (node, sizeKey) => { var _a, _b; return (_b = (_a = nodeSizesCache.get(node)) === null || _a === void 0 ? void 0 : _a[sizeKey]) !== null && _b !== void 0 ? _b : 0; };
+      console.time("rawHierarchy eachAfter cache");
+      rawHierarchy.eachAfter((node) => {
+          var _a;
+          const nodeData = node.data;
+          nodeIdsCache.set(nodeData, {
+              nodeUid: generateUniqueId("node"),
+              clipUid: generateUniqueId("clip"),
+          });
+          const sizes = { renderedLength: 0, gzipLength: 0, brotliLength: 0 };
+          if (isModuleTree(nodeData)) {
+              for (const sizeKey of availableSizeProperties) {
+                  sizes[sizeKey] = nodeData.children.reduce((acc, child) => getModuleSize(child, sizeKey) + acc, 0);
+              }
+          }
+          else {
+              for (const sizeKey of availableSizeProperties) {
+                  sizes[sizeKey] = (_a = data.nodeParts[nodeData.uid][sizeKey]) !== null && _a !== void 0 ? _a : 0;
+              }
+          }
+          nodeSizesCache.set(nodeData, sizes);
+      });
+      console.timeEnd("rawHierarchy eachAfter cache");
+      const getModuleIds = (node) => nodeIdsCache.get(node);
+      console.time("color");
+      const getModuleColor = createRainbowColor(rawHierarchy);
+      console.timeEnd("color");
+      q$1(u$1(StaticContext.Provider, { value: {
+              data,
+              availableSizeProperties,
+              width,
+              height,
+              getModuleSize,
+              getModuleIds,
+              getModuleColor,
+              rawHierarchy,
+              layout,
+          }, children: u$1(Main, {}) }), parentNode);
+  };
+
+  exports.StaticContext = StaticContext;
+  exports.default = drawChart;
+
+  Object.defineProperty(exports, '__esModule', { value: true });
+
+  return exports;
+
+})({});
+
+  /*-->*/
+  </script>
+  <script>
+    /*<!--*/
+    const data = {"version":2,"tree":{"name":"root","children":[{"name":"assets/js/memoize-one-Ds0C_khL.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/memoize-one/dist/memoize-one.esm.js","uid":"c5e49757-1"}]},{"name":"assets/js/lodash-unified-l0sNRNKZ.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-unified/import.js","uid":"c5e49757-3"}]},{"name":"assets/js/index-BAwgtKgZ.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout","children":[{"uid":"c5e49757-5","name":"index.vue?vue&type=script&setup=true&name=layout&lang.ts"},{"uid":"c5e49757-7","name":"index.vue"}]}]},{"name":"assets/js/@socket.io-CN-0vtim.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@socket.io/component-emitter/lib/esm/index.js","uid":"c5e49757-9"},{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@socket.io/component-emitter/lib/esm/index.js?commonjs-proxy","uid":"c5e49757-11"}]},{"name":"assets/js/genEntity-ByF3ixTr.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/genEntity.vue","uid":"c5e49757-13"}]},{"name":"assets/js/mitt-CNZ6avp8.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/mitt/dist/mitt.mjs","uid":"c5e49757-15"}]},{"name":"assets/js/index-NBd9dBIr.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/svgIcon","children":[{"uid":"c5e49757-17","name":"index.vue?vue&type=script&setup=true&name=svgIcon&lang.ts"},{"uid":"c5e49757-19","name":"index.vue"}]}]},{"name":"assets/js/merge-images-Cwm9rL5U.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/merge-images/dist/index.es2015.js","uid":"c5e49757-21"}]},{"name":"assets/js/vue-signature-pad-CUMYeXIB.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-signature-pad/dist/vue-signature-pad.esm.js","uid":"c5e49757-23"}]},{"name":"assets/js/engine.io-parser-Cgy_UybQ.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-parser/build/cjs","children":[{"uid":"c5e49757-25","name":"index.js?commonjs-exports"},{"uid":"c5e49757-27","name":"encodePacket.browser.js?commonjs-exports"},{"uid":"c5e49757-29","name":"commons.js?commonjs-exports"},{"uid":"c5e49757-35","name":"decodePacket.browser.js?commonjs-exports"},{"name":"contrib/base64-arraybuffer.js?commonjs-exports","uid":"c5e49757-37"}]},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-parser/build/cjs","children":[{"uid":"c5e49757-31","name":"commons.js"},{"uid":"c5e49757-33","name":"encodePacket.browser.js"},{"name":"contrib/base64-arraybuffer.js","uid":"c5e49757-39"},{"uid":"c5e49757-41","name":"decodePacket.browser.js"},{"uid":"c5e49757-43","name":"index.js"}]}]},{"name":"assets/js/debug-CmirTkX5.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/debug/src/browser.js?commonjs-module","uid":"c5e49757-45"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/debug/src","children":[{"uid":"c5e49757-47","name":"common.js"},{"uid":"c5e49757-49","name":"browser.js"}]}]},{"name":"assets/js/pinia-53j_tKJ8.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/pinia/dist/pinia.mjs","uid":"c5e49757-51"}]},{"name":"assets/js/iframes-Dca78714.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/routerView","children":[{"uid":"c5e49757-53","name":"iframes.vue?vue&type=script&setup=true&name=layoutIframeView&lang.ts"},{"uid":"c5e49757-55","name":"iframes.vue"}]}]},{"name":"assets/js/index-CKMp7PoG.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/Check/checkRules/index.ts","uid":"c5e49757-57"}]},{"name":"assets/js/_plugin-vue_export-helper-BCo6x5W8.js","children":[{"uid":"c5e49757-59","name":"\u0000plugin-vue:export-helper"}]},{"name":"assets/js/PanelDataDialog-BTTlfATX.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelDataDialog.vue","uid":"c5e49757-61"}]},{"name":"assets/js/fflate-B3Xb404m.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/fflate/esm/browser.js","uid":"c5e49757-63"}]},{"name":"assets/js/formatTime-Dr3o0oBQ.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/formatTime.ts","uid":"c5e49757-65"}]},{"name":"assets/js/editTenant-BV1lprJJ.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/tenant/component/editTenant.vue","uid":"c5e49757-67"}]},{"name":"assets/js/parent-BdXM3D8i.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/routerView","children":[{"uid":"c5e49757-69","name":"parent.vue?vue&type=script&setup=true&name=layoutParentView&lang.ts"},{"uid":"c5e49757-71","name":"parent.vue"}]}]},{"name":"assets/js/index-BHzxpNta.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/weChatUser","children":[{"uid":"c5e49757-73","name":"index.vue?vue&type=script&setup=true&name=weChatUser&lang.ts"},{"uid":"c5e49757-75","name":"index.vue"}]}]},{"name":"assets/js/genConfigDialog-Cnx8CeTe.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen/component/genConfigDialog.vue","uid":"c5e49757-77"}]},{"name":"assets/js/async-validator-Cuo4gI4y.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/async-validator/dist-web/index.js","uid":"c5e49757-79"}]},{"name":"assets/js/editConfig-BjnrRmeD.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/config/component/editConfig.vue","uid":"c5e49757-81"}]},{"name":"assets/js/database-C0sKHJk0.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/database.ts","uid":"c5e49757-83"}]},{"name":"assets/js/addTable-BH9Zg67A.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/addTable.vue","uid":"c5e49757-85"}]},{"name":"assets/js/treeDialog-D5J_zRbd.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen/component/treeDialog.vue","uid":"c5e49757-87"}]},{"name":"assets/js/treeDialog.vue_vue_type_script_setup_true_name_sysCodeGenTree_lang-CSgTFgG2.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen/component/treeDialog.vue?vue&type=script&setup=true&name=sysCodeGenTree&lang.ts","uid":"c5e49757-89"}]},{"name":"assets/js/PropertyCommon-CQNMPjCU.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Property/PropertyCommon.vue","uid":"c5e49757-91"}]},{"name":"assets/js/editTenant.vue_vue_type_script_setup_true_name_sysEditTenant_lang-Dwn4l-36.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/tenant/component/editTenant.vue?vue&type=script&setup=true&name=sysEditTenant&lang.ts","uid":"c5e49757-93"}]},{"name":"assets/js/performance-now-CKihEpp9.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/performance-now/lib/performance-now.js?commonjs-module","uid":"c5e49757-95"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/performance-now/lib/performance-now.js","uid":"c5e49757-97"}]},{"name":"assets/js/@popperjs-D3lHDW-0.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@popperjs/core/dist/index.mjs","uid":"c5e49757-99"}]},{"name":"assets/js/index-BNwVJdX9.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/role","children":[{"uid":"c5e49757-101","name":"index.vue?vue&type=script&setup=true&name=sysRole&lang.ts"},{"uid":"c5e49757-103","name":"index.vue"}]}]},{"name":"assets/js/ms-CufoL-nS.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/ms/index.js","uid":"c5e49757-105"}]},{"name":"assets/js/PanelDataDialog.vue_vue_type_script_setup_true_lang-BwJsJUkv.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelDataDialog.vue?vue&type=script&setup=true&lang.ts","uid":"c5e49757-107"}]},{"name":"assets/js/js-cookie-BXEMiIsG.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/js-cookie/dist/js.cookie.mjs","uid":"c5e49757-109"}]},{"name":"assets/js/columns-Df2LT49W.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/main","children":[{"uid":"c5e49757-111","name":"columns.vue?vue&type=script&setup=true&name=layoutColumns&lang.ts"},{"uid":"c5e49757-113","name":"columns.vue"}]}]},{"name":"assets/js/approval-flow-api-BB1FVaNd.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/_approvalFlow/apis/approval-flow-api.ts","uid":"c5e49757-115"}]},{"name":"assets/js/@floating-ui-pMauM7H8.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@floating-ui","children":[{"name":"utils/dist","children":[{"uid":"c5e49757-117","name":"floating-ui.utils.mjs"},{"uid":"c5e49757-121","name":"floating-ui.utils.dom.mjs"}]},{"name":"core/dist/floating-ui.core.mjs","uid":"c5e49757-119"},{"name":"dom/dist/floating-ui.dom.mjs","uid":"c5e49757-123"}]}]},{"name":"assets/js/aside-DEGukOon.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/component","children":[{"uid":"c5e49757-125","name":"aside.vue?vue&type=script&setup=true&name=layoutAside&lang.ts"},{"uid":"c5e49757-127","name":"aside.vue"}]}]},{"name":"assets/js/subItem-D1VJRoG3.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navMenu","children":[{"uid":"c5e49757-129","name":"subItem.vue?vue&type=script&setup=true&name=navMenuSubItem&lang.ts"},{"uid":"c5e49757-131","name":"subItem.vue"}]}]},{"name":"assets/js/index-jsdX4Y9f.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkAuditXf","children":[{"uid":"c5e49757-133","name":"index.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-135","name":"index.vue"}]}]},{"name":"assets/js/axios-nHV3UVRH.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios","children":[{"name":"lib","children":[{"name":"helpers","children":[{"uid":"c5e49757-137","name":"bind.js"},{"uid":"c5e49757-143","name":"null.js"},{"uid":"c5e49757-145","name":"toFormData.js"},{"uid":"c5e49757-147","name":"AxiosURLSearchParams.js"},{"uid":"c5e49757-149","name":"buildURL.js"},{"uid":"c5e49757-167","name":"toURLEncodedForm.js"},{"uid":"c5e49757-169","name":"formDataToJSON.js"},{"uid":"c5e49757-173","name":"parseHeaders.js"},{"uid":"c5e49757-185","name":"cookies.js"},{"uid":"c5e49757-187","name":"isAbsoluteURL.js"},{"uid":"c5e49757-189","name":"combineURLs.js"},{"uid":"c5e49757-193","name":"isURLSameOrigin.js"},{"uid":"c5e49757-195","name":"parseProtocol.js"},{"uid":"c5e49757-197","name":"speedometer.js"},{"uid":"c5e49757-209","name":"validator.js"},{"uid":"c5e49757-215","name":"spread.js"},{"uid":"c5e49757-217","name":"isAxiosError.js"},{"uid":"c5e49757-219","name":"HttpStatusCode.js"}]},{"uid":"c5e49757-139","name":"utils.js"},{"name":"core","children":[{"uid":"c5e49757-141","name":"AxiosError.js"},{"uid":"c5e49757-151","name":"InterceptorManager.js"},{"uid":"c5e49757-175","name":"AxiosHeaders.js"},{"uid":"c5e49757-177","name":"transformData.js"},{"uid":"c5e49757-183","name":"settle.js"},{"uid":"c5e49757-191","name":"buildFullPath.js"},{"uid":"c5e49757-203","name":"dispatchRequest.js"},{"uid":"c5e49757-205","name":"mergeConfig.js"},{"uid":"c5e49757-211","name":"Axios.js"}]},{"name":"defaults","children":[{"uid":"c5e49757-153","name":"transitional.js"},{"uid":"c5e49757-171","name":"index.js"}]},{"name":"platform","children":[{"name":"browser","children":[{"name":"classes","children":[{"uid":"c5e49757-155","name":"URLSearchParams.js"},{"uid":"c5e49757-157","name":"FormData.js"},{"uid":"c5e49757-159","name":"Blob.js"}]},{"uid":"c5e49757-161","name":"index.js"}]},{"name":"common/utils.js","uid":"c5e49757-163"},{"uid":"c5e49757-165","name":"index.js"}]},{"name":"cancel","children":[{"uid":"c5e49757-179","name":"isCancel.js"},{"uid":"c5e49757-181","name":"CanceledError.js"},{"uid":"c5e49757-213","name":"CancelToken.js"}]},{"name":"adapters","children":[{"uid":"c5e49757-199","name":"xhr.js"},{"uid":"c5e49757-201","name":"adapters.js"}]},{"name":"env/data.js","uid":"c5e49757-207"},{"uid":"c5e49757-221","name":"axios.js"}]},{"uid":"c5e49757-223","name":"index.js"}]}]},{"name":"assets/js/index-BicoXsJV.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkAudit","children":[{"uid":"c5e49757-225","name":"index.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-227","name":"index.vue"}]}]},{"name":"assets/js/editTable-C83JFkrB.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/editTable.vue","uid":"c5e49757-229"}]},{"name":"assets/js/commonFunction-BC2UadfH.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/commonFunction.ts","uid":"c5e49757-231"}]},{"name":"assets/js/editLdap-DPfVxuqN.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/ldap/component/editLdap.vue","uid":"c5e49757-233"}]},{"name":"assets/js/screenfull-B2HNrVEE.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/screenfull/index.js","uid":"c5e49757-235"}]},{"name":"assets/js/editPos.vue_vue_type_script_setup_true_name_sysEditPos_lang-C_B3Kl7N.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/pos/component/editPos.vue?vue&type=script&setup=true&name=sysEditPos&lang.ts","uid":"c5e49757-237"}]},{"name":"assets/js/addTable.vue_vue_type_script_setup_true_name_sysAddTable_lang-3-MWjxF4.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/addTable.vue?vue&type=script&setup=true&name=sysAddTable&lang.ts","uid":"c5e49757-239"}]},{"name":"assets/js/defaults-Cc7hTyCe.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/main","children":[{"uid":"c5e49757-241","name":"defaults.vue?vue&type=script&setup=true&name=layoutDefaults&lang.ts"},{"uid":"c5e49757-243","name":"defaults.vue"}]}]},{"name":"assets/js/wmsOrderMovementDetails-DLSYoD0a.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ WmsOrder/wmsOrderMovementDetails.ts","uid":"c5e49757-245"}]},{"name":"assets/js/preact-zJOe333J.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/preact/dist/preact.module.js","uid":"c5e49757-247"}]},{"name":"assets/js/editOrg.vue_vue_type_script_setup_true_name_sysEditOrg_lang-CfEYnnIB.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/org/component/editOrg.vue?vue&type=script&setup=true&name=sysEditOrg&lang.ts","uid":"c5e49757-249"}]},{"name":"assets/js/wmsTask-CG4ZsrZB.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsTask.ts","uid":"c5e49757-251"}]},{"name":"assets/js/index-CaWk3N9e.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/print","children":[{"uid":"c5e49757-253","name":"index.vue?vue&type=script&setup=true&name=sysPrint&lang.ts"},{"uid":"c5e49757-255","name":"index.vue"}]}]},{"name":"assets/js/editUser-BQKN9u7g.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/user/component/editUser.vue","uid":"c5e49757-257"}]},{"name":"assets/js/editDictType.vue_vue_type_script_setup_true_name_sysEditDictType_lang-BISiqxeW.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/dict/component/editDictType.vue?vue&type=script&setup=true&name=sysEditDictType&lang.ts","uid":"c5e49757-259"}]},{"name":"assets/js/index-CcNOE0jC.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/tenant","children":[{"uid":"c5e49757-261","name":"index.vue?vue&type=script&setup=true&name=sysTenant&lang.ts"},{"uid":"c5e49757-263","name":"index.vue"}]}]},{"name":"assets/js/signature_pad-edH0THtw.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/signature_pad/dist/signature_pad.js","uid":"c5e49757-265"}]},{"name":"assets/js/dict-utils-DHByxiIK.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/dict-utils.ts","uid":"c5e49757-267"}]},{"name":"assets/js/vertical-BABJGU3J.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navMenu","children":[{"uid":"c5e49757-269","name":"vertical.vue?vue&type=script&setup=true&name=navMenuVertical&lang.ts"},{"uid":"c5e49757-271","name":"vertical.vue"}]}]},{"name":"assets/js/editDictData.vue_vue_type_script_setup_true_name_sysEditDictData_lang-CYpsA2rt.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/dict/component/editDictData.vue?vue&type=script&setup=true&name=sysEditDictData&lang.ts","uid":"c5e49757-273"}]},{"name":"assets/js/push.js-BoCOY6Sz.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/push.js/bin/push.min.js?commonjs-module","uid":"c5e49757-275"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/push.js/bin/push.min.js","uid":"c5e49757-277"}]},{"name":"assets/js/editTable.vue_vue_type_script_setup_true_name_sysEditTable_lang-DAF8KMR7.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/editTable.vue?vue&type=script&setup=true&name=sysEditTable&lang.ts","uid":"c5e49757-279"}]},{"name":"assets/js/grantData.vue_vue_type_script_setup_true_name_sysGrantData_lang-XnKSiMlc.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/role/component/grantData.vue?vue&type=script&setup=true&name=sysGrantData&lang.ts","uid":"c5e49757-281"}]},{"name":"assets/js/index-CdubCDCK.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/pos","children":[{"uid":"c5e49757-283","name":"index.vue?vue&type=script&setup=true&name=sysPos&lang.ts"},{"uid":"c5e49757-285","name":"index.vue"}]}]},{"name":"assets/js/index-frIgMpzM.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/file","children":[{"uid":"c5e49757-287","name":"index.vue?vue&type=script&setup=true&name=sysFile&lang.ts"},{"uid":"c5e49757-289","name":"index.vue"}]}]},{"name":"assets/js/wmsContainerSortPrint-D-7V2Hhu.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/PrintCenter/wmsContainerSortPrint.ts","uid":"c5e49757-291"}]},{"name":"assets/js/wareAgeWarm-D_ACPVQd.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WareAgeWarm/wareAgeWarm.ts","uid":"c5e49757-293"}]},{"name":"assets/js/sys-role-api-BV6D96uT.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-role-api.ts","uid":"c5e49757-295"}]},{"name":"assets/js/exportPageExcel-Be_cbzy7.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils","children":[{"uid":"c5e49757-297","name":"exportExcel2.ts"},{"uid":"c5e49757-299","name":"exportPageExcel.ts"}]}]},{"name":"assets/js/grantData-BVk1kYwN.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/role/component/grantData.vue","uid":"c5e49757-301"}]},{"name":"assets/js/wmsOrderMovement-xoxBRoT3.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsOrder/wmsOrderMovement.ts","uid":"c5e49757-303"}]},{"name":"assets/js/wmsContainerPlace-Bxk3foPN.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsStockQuan/wmsContainerPlace.ts","uid":"c5e49757-305"}]},{"name":"assets/js/editColumn-BcQFKu0b.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/editColumn.vue","uid":"c5e49757-307"}]},{"name":"assets/js/editWeChatUser-BBKVpXqy.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/weChatUser/component/editWeChatUser.vue","uid":"c5e49757-309"}]},{"name":"assets/js/dayjs-DXmmCYrX.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs","children":[{"uid":"c5e49757-311","name":"dayjs.min.js?commonjs-module"},{"name":"plugin","children":[{"uid":"c5e49757-315","name":"customParseFormat.js?commonjs-module"},{"uid":"c5e49757-319","name":"localeData.js?commonjs-module"},{"uid":"c5e49757-323","name":"advancedFormat.js?commonjs-module"},{"uid":"c5e49757-327","name":"weekOfYear.js?commonjs-module"},{"uid":"c5e49757-331","name":"weekYear.js?commonjs-module"},{"uid":"c5e49757-335","name":"dayOfYear.js?commonjs-module"},{"uid":"c5e49757-339","name":"isSameOrAfter.js?commonjs-module"},{"uid":"c5e49757-343","name":"isSameOrBefore.js?commonjs-module"}]}]},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs","children":[{"uid":"c5e49757-313","name":"dayjs.min.js"},{"name":"plugin","children":[{"uid":"c5e49757-317","name":"customParseFormat.js"},{"uid":"c5e49757-321","name":"localeData.js"},{"uid":"c5e49757-325","name":"advancedFormat.js"},{"uid":"c5e49757-329","name":"weekOfYear.js"},{"uid":"c5e49757-333","name":"weekYear.js"},{"uid":"c5e49757-337","name":"dayOfYear.js"},{"uid":"c5e49757-341","name":"isSameOrAfter.js"},{"uid":"c5e49757-345","name":"isSameOrBefore.js"}]}]}]},{"name":"assets/js/logo-mini-B9GLrPTn.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/assets/logo-mini.png","uid":"c5e49757-347"}]},{"name":"assets/js/vue-router-C6U6DAR-.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-router/dist/vue-router.mjs","uid":"c5e49757-349"}]},{"name":"assets/js/@babel-0VnhfHKX.js","children":[{"uid":"c5e49757-351","name":"\u0000commonjsHelpers.js"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime","children":[{"name":"helpers","children":[{"name":"esm/typeof.js","uid":"c5e49757-353"},{"uid":"c5e49757-359","name":"typeof.js"},{"uid":"c5e49757-361","name":"regeneratorRuntime.js"},{"uid":"c5e49757-367","name":"asyncToGenerator.js"},{"uid":"c5e49757-373","name":"arrayWithHoles.js"},{"uid":"c5e49757-377","name":"iterableToArrayLimit.js"},{"uid":"c5e49757-383","name":"arrayLikeToArray.js"},{"uid":"c5e49757-385","name":"unsupportedIterableToArray.js"},{"uid":"c5e49757-389","name":"nonIterableRest.js"},{"uid":"c5e49757-391","name":"slicedToArray.js"},{"uid":"c5e49757-399","name":"toPrimitive.js"},{"uid":"c5e49757-401","name":"toPropertyKey.js"},{"uid":"c5e49757-403","name":"defineProperty.js"},{"uid":"c5e49757-407","name":"classCallCheck.js"},{"uid":"c5e49757-411","name":"createClass.js"},{"uid":"c5e49757-417","name":"setPrototypeOf.js"},{"uid":"c5e49757-419","name":"inherits.js"},{"uid":"c5e49757-425","name":"assertThisInitialized.js"},{"uid":"c5e49757-427","name":"possibleConstructorReturn.js"},{"uid":"c5e49757-431","name":"getPrototypeOf.js"},{"uid":"c5e49757-437","name":"arrayWithoutHoles.js"},{"uid":"c5e49757-441","name":"iterableToArray.js"},{"uid":"c5e49757-445","name":"nonIterableSpread.js"},{"uid":"c5e49757-447","name":"toConsumableArray.js"},{"uid":"c5e49757-453","name":"superPropBase.js"},{"uid":"c5e49757-455","name":"get.js"}]},{"name":"regenerator/index.js","uid":"c5e49757-363"}]},{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers","children":[{"uid":"c5e49757-355","name":"regeneratorRuntime.js?commonjs-module"},{"uid":"c5e49757-357","name":"typeof.js?commonjs-module"},{"uid":"c5e49757-365","name":"asyncToGenerator.js?commonjs-module"},{"uid":"c5e49757-369","name":"slicedToArray.js?commonjs-module"},{"uid":"c5e49757-371","name":"arrayWithHoles.js?commonjs-module"},{"uid":"c5e49757-375","name":"iterableToArrayLimit.js?commonjs-module"},{"uid":"c5e49757-379","name":"unsupportedIterableToArray.js?commonjs-module"},{"uid":"c5e49757-381","name":"arrayLikeToArray.js?commonjs-module"},{"uid":"c5e49757-387","name":"nonIterableRest.js?commonjs-module"},{"uid":"c5e49757-393","name":"defineProperty.js?commonjs-module"},{"uid":"c5e49757-395","name":"toPropertyKey.js?commonjs-module"},{"uid":"c5e49757-397","name":"toPrimitive.js?commonjs-module"},{"uid":"c5e49757-405","name":"classCallCheck.js?commonjs-module"},{"uid":"c5e49757-409","name":"createClass.js?commonjs-module"},{"uid":"c5e49757-413","name":"inherits.js?commonjs-module"},{"uid":"c5e49757-415","name":"setPrototypeOf.js?commonjs-module"},{"uid":"c5e49757-421","name":"possibleConstructorReturn.js?commonjs-module"},{"uid":"c5e49757-423","name":"assertThisInitialized.js?commonjs-module"},{"uid":"c5e49757-429","name":"getPrototypeOf.js?commonjs-module"},{"uid":"c5e49757-433","name":"toConsumableArray.js?commonjs-module"},{"uid":"c5e49757-435","name":"arrayWithoutHoles.js?commonjs-module"},{"uid":"c5e49757-439","name":"iterableToArray.js?commonjs-module"},{"uid":"c5e49757-443","name":"nonIterableSpread.js?commonjs-module"},{"uid":"c5e49757-449","name":"get.js?commonjs-module"},{"uid":"c5e49757-451","name":"superPropBase.js?commonjs-module"}]}]},{"name":"assets/js/clipboard-WJsvpfw-.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/clipboard/dist/clipboard.js?commonjs-module","uid":"c5e49757-457"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/clipboard/dist/clipboard.js","uid":"c5e49757-459"}]},{"name":"assets/js/wmsOrderPurchase-hI9k5WZ0.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts","uid":"c5e49757-461"}]},{"name":"assets/js/genConfigDialog.vue_vue_type_script_setup_true_name_sysCodeGenConfig_lang-Df0Ozt3G.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api-services/apis/sys-code-gen-config-api.ts","uid":"c5e49757-463"},{"name":"views/system/codeGen/component/genConfigDialog.vue?vue&type=script&setup=true&name=sysCodeGenConfig&lang.ts","uid":"c5e49757-465"}]}]},{"name":"assets/js/sys-user-api-CK9CsSj1.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-user-api.ts","uid":"c5e49757-467"}]},{"name":"assets/js/wmsOrderPurchaseDetails-Bf9i8ydp.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsOrder/wmsOrderPurchaseDetails.ts","uid":"c5e49757-469"}]},{"name":"assets/js/wmsLogAction-YIwFj3rp.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsLogAction.ts","uid":"c5e49757-471"}]},{"name":"assets/js/classic-C4tna7RO.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/main","children":[{"uid":"c5e49757-473","name":"classic.vue?vue&type=script&setup=true&name=layoutClassic&lang.ts"},{"uid":"c5e49757-475","name":"classic.vue"}]}]},{"name":"assets/js/transverse-BNaqklCA.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/main","children":[{"uid":"c5e49757-477","name":"transverse.vue?vue&type=script&setup=true&name=layoutTransverse&lang.ts"},{"uid":"c5e49757-479","name":"transverse.vue"}]}]},{"name":"assets/js/editWeChatUser.vue_vue_type_script_setup_true_name_sysEditWeChatUser_lang-Bk28fkoX.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api-services/apis/sys-wechat-user-api.ts","uid":"c5e49757-481"},{"name":"views/system/weChatUser/component/editWeChatUser.vue?vue&type=script&setup=true&name=sysEditWeChatUser&lang.ts","uid":"c5e49757-483"}]}]},{"name":"assets/js/index-bc0dPZhF.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api-services/apis/sys-online-user-api.ts","uid":"c5e49757-485"},{"name":"views/system/onlineUser","children":[{"uid":"c5e49757-487","name":"index.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-489","name":"index.vue"}]}]}]},{"name":"assets/js/genEntity.vue_vue_type_script_setup_true_name_sysGenEntity_lang-BwZ5cM_r.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/genEntity.vue?vue&type=script&setup=true&name=sysGenEntity&lang.ts","uid":"c5e49757-491"}]},{"name":"assets/js/sys-print-api-DCHOZgnk.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-print-api.ts","uid":"c5e49757-493"}]},{"name":"assets/js/editJobDetail-p3hDV9vx.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job/component/editJobDetail.vue","uid":"c5e49757-495"}]},{"name":"assets/js/@intlify-CISkddgl.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@intlify","children":[{"name":"shared/dist/shared.esm-browser.js","uid":"c5e49757-497"},{"name":"core-base/dist/core-base.esm-browser.js","uid":"c5e49757-501"}]},{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@intlify","children":[{"name":"shared/dist/shared.esm-browser.js?commonjs-proxy","uid":"c5e49757-499"},{"name":"core-base/dist/core-base.esm-browser.js?commonjs-proxy","uid":"c5e49757-503"}]}]},{"name":"assets/js/genSeedData.vue_vue_type_script_setup_true_name_sysGenEntity_lang-CyafkQYk.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/genSeedData.vue?vue&type=script&setup=true&name=sysGenEntity&lang.ts","uid":"c5e49757-505"}]},{"name":"assets/js/editSysfile-Db01WYGz.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/file/component/editSysfile.vue","uid":"c5e49757-507"}]},{"name":"assets/js/editMenu-Byq3aeLe.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/menu/component/editMenu.vue","uid":"c5e49757-509"}]},{"name":"assets/js/wmsRecordPredDispHistory-vTHxLKzT.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsRecordPredDispHistory.ts","uid":"c5e49757-511"}]},{"name":"assets/js/jobCluster.vue_vue_type_script_setup_true_name_sysJobCluster_lang-TPyDczJw.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job/component/jobCluster.vue?vue&type=script&setup=true&name=sysJobCluster&lang.ts","uid":"c5e49757-513"}]},{"name":"assets/js/editUser.vue_vue_type_script_setup_true_name_sysEditUser_lang-14AFtfjP.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/user/component/editUser.vue?vue&type=script&setup=true&name=sysEditUser&lang.ts","uid":"c5e49757-515"}]},{"name":"assets/js/wmsContainerSort-DePNGV-e.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsContainerSort.ts","uid":"c5e49757-517"}]},{"name":"assets/js/addColumn-DSM6k-cc.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/addColumn.vue","uid":"c5e49757-519"}]},{"name":"assets/js/index-BxbFVdjY.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database","children":[{"uid":"c5e49757-521","name":"index.vue?vue&type=script&setup=true&name=sysDatabase&lang.ts"},{"uid":"c5e49757-523","name":"index.vue"}]}]},{"name":"assets/js/index-BUnn-tkt.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/ldap","children":[{"uid":"c5e49757-525","name":"index.vue?vue&type=script&setup=true&name=sysLdap&lang.ts"},{"uid":"c5e49757-527","name":"index.vue"}]}]},{"name":"assets/js/editJobDetail.vue_vue_type_script_setup_true_name_sysEditJobDetail_lang-DafRubNL.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api-services/models/job-create-type-enum.ts","uid":"c5e49757-529"},{"name":"views/system/job/component","children":[{"uid":"c5e49757-531","name":"JobScriptCode.ts"},{"uid":"c5e49757-533","name":"editJobDetail.vue?vue&type=script&setup=true&name=sysEditJobDetail&lang.ts"}]}]}]},{"name":"assets/js/genSeedData-C8DhSaKU.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/genSeedData.vue","uid":"c5e49757-535"}]},{"name":"assets/js/index-juzUwMYr.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api-services/apis/sys-log-vis-api.ts","uid":"c5e49757-537"},{"name":"views/system/log/vislog","children":[{"uid":"c5e49757-539","name":"index.vue?vue&type=script&setup=true&name=sysVisLog&lang.ts"},{"uid":"c5e49757-541","name":"index.vue"}]}]}]},{"name":"assets/js/sys-job-api-B8loXjiS.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-job-api.ts","uid":"c5e49757-543"}]},{"name":"assets/js/jobCluster-Cp3OjqOh.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job/component/jobCluster.vue","uid":"c5e49757-545"}]},{"name":"assets/js/editDictType-3qkeGmqP.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/dict/component/editDictType.vue","uid":"c5e49757-547"}]},{"name":"assets/js/openDialogCl-CdkcyO1c.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component/openDialogCl.vue","uid":"c5e49757-549"}]},{"name":"assets/js/editJobTrigger-DxPElxvd.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job/component/editJobTrigger.vue","uid":"c5e49757-551"}]},{"name":"assets/js/wmsInventoryCheckRange-DHMbIOHY.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsInventory/wmsInventoryCheckRange.ts","uid":"c5e49757-553"}]},{"name":"assets/js/main-gfRHIV0F.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/component","children":[{"uid":"c5e49757-555","name":"main.vue?vue&type=script&setup=true&name=layoutMain&lang.ts"},{"uid":"c5e49757-557","name":"main.vue"}]}]},{"name":"assets/js/index-b_aBFdcG.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/config","children":[{"uid":"c5e49757-559","name":"index.vue?vue&type=script&setup=true&name=sysConfig&lang.ts"},{"uid":"c5e49757-561","name":"index.vue"}]}]},{"name":"assets/js/wmsInventoryCheckRecord-Cc1MtgKf.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsInventory/wmsInventoryCheckRecord.ts","uid":"c5e49757-563"}]},{"name":"assets/js/wmsBatchRuleDetail-BH_Orm4i.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsBatchRuleDetail.ts","uid":"c5e49757-565"}]},{"name":"assets/js/propDetail-Dj6mlYPZ.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/component/propDetail.vue","uid":"c5e49757-567"}]},{"name":"assets/js/switchCase-Du1rXsYk.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/switchCase.ts","uid":"c5e49757-569"}]},{"name":"assets/js/editCodeGenDialog-B3nNRiu1.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen/component/editCodeGenDialog.vue","uid":"c5e49757-571"}]},{"name":"assets/js/index-uR4DJE0-.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/plugin","children":[{"uid":"c5e49757-573","name":"index.vue?vue&type=script&setup=true&name=sysPlugin&lang.ts"},{"uid":"c5e49757-575","name":"index.vue"}]}]},{"name":"assets/js/PropertyCommon.vue_vue_type_script_setup_true_lang-RTQVuq3S.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Property/PropertyCommon.vue?vue&type=script&setup=true&lang.ts","uid":"c5e49757-577"}]},{"name":"assets/js/editOrg-aNWvoEmS.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/org/component/editOrg.vue","uid":"c5e49757-579"}]},{"name":"assets/js/editDictData-lSa-9IsC.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/dict/component/editDictData.vue","uid":"c5e49757-581"}]},{"name":"assets/js/editOpenAccess.vue_vue_type_script_setup_true_name_sysOpenAccessEdit_lang-2-PI5kBp.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/openAccess/component/editOpenAccess.vue?vue&type=script&setup=true&name=sysOpenAccessEdit&lang.ts","uid":"c5e49757-583"}]},{"name":"assets/js/wmsPlace-Dzb8U5iy.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsPlace.ts","uid":"c5e49757-585"}]},{"name":"assets/js/index-D4N4Hz9G.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen","children":[{"uid":"c5e49757-587","name":"index.vue?vue&type=script&setup=true&name=sysCodeGen&lang.ts"},{"uid":"c5e49757-589","name":"index.vue"}]}]},{"name":"assets/js/editJobTrigger.vue_vue_type_script_setup_true_name_sysEditJobTrigger_lang-Bqpr5yIT.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job/component/editJobTrigger.vue?vue&type=script&setup=true&name=sysEditJobTrigger&lang.ts","uid":"c5e49757-591"}]},{"name":"assets/js/index-D7cLAIbK.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/region","children":[{"uid":"c5e49757-593","name":"index.vue?vue&type=script&setup=true&name=sysRegion&lang.ts"},{"uid":"c5e49757-595","name":"index.vue"}]}]},{"name":"assets/js/download-8-Ly9gws.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/download.ts","uid":"c5e49757-597"}]},{"name":"assets/js/editRegion.vue_vue_type_script_setup_true_name_sysEditRegion_lang-D7CHFxUj.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/region/component/editRegion.vue?vue&type=script&setup=true&name=sysEditRegion&lang.ts","uid":"c5e49757-599"}]},{"name":"assets/js/wmsConfigUnshelveStrategy-D3Upz_Sw.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsSystemConfig/wmsConfigUnshelveStrategy.ts","uid":"c5e49757-601"}]},{"name":"assets/js/addColumn.vue_vue_type_script_setup_true_name_sysAddColumn_lang-CULfBYa2.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/addColumn.vue?vue&type=script&setup=true&name=sysAddColumn&lang.ts","uid":"c5e49757-603"}]},{"name":"assets/js/index--dmmgdfF.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/notice","children":[{"uid":"c5e49757-605","name":"index.vue?vue&type=script&setup=true&name=sysNotice&lang.ts"},{"uid":"c5e49757-607","name":"index.vue"}]}]},{"name":"assets/js/editOpenAccess-_aIVNR0n.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/openAccess/component/editOpenAccess.vue","uid":"c5e49757-609"}]},{"name":"assets/js/wmsOrderSortDetails-Bq0fYr62.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsOrderDo/wmsOrderSortDetails.ts","uid":"c5e49757-611"}]},{"name":"assets/js/wmsStockSnapshotDetails-CBwqv1nc.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails.ts","uid":"c5e49757-613"}]},{"name":"assets/js/index-DPe4cTV6.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/home/notice","children":[{"uid":"c5e49757-615","name":"index.vue?vue&type=script&setup=true&name=notice&lang.ts"},{"uid":"c5e49757-617","name":"index.vue?vue&type=style&index=0&lang.scss"},{"uid":"c5e49757-619","name":"index.vue"}]}]},{"name":"assets/js/wmsOrderAsnDetails-CDV3tQmz.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsOrder/wmsOrderAsnDetails.ts","uid":"c5e49757-621"}]},{"name":"assets/js/editNotice-Dkxzx5CH.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/notice/component/editNotice.vue","uid":"c5e49757-623"}]},{"name":"assets/js/sys-region-api-C8xgzERd.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-region-api.ts","uid":"c5e49757-625"}]},{"name":"assets/js/vue-DVVEMS_x.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue/dist/vue.runtime.esm-bundler.js","uid":"c5e49757-627"},{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue/dist/vue.runtime.esm-bundler.js?commonjs-proxy","uid":"c5e49757-629"}]},{"name":"assets/js/sys-enum-api-DZDqYtO_.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-enum-api.ts","uid":"c5e49757-631"}]},{"name":"assets/js/adapterCategories-LvojZCSh.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/SoftwareAdapterService/adapterCategories.ts","uid":"c5e49757-633"}]},{"name":"assets/js/sys-tenant-api-F8yDFRl3.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-tenant-api.ts","uid":"c5e49757-635"}]},{"name":"assets/js/sys-org-api-CkqyBUCq.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-org-api.ts","uid":"c5e49757-637"}]},{"name":"assets/js/index-BFhxWgFT.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/openAccess","children":[{"uid":"c5e49757-639","name":"index.vue?vue&type=script&setup=true&name=sysOpenAccess&lang.ts"},{"uid":"c5e49757-641","name":"index.vue"}]}]},{"name":"assets/js/editPlugin-Cl9qFVaT.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/plugin/component/editPlugin.vue","uid":"c5e49757-643"}]},{"name":"assets/js/sys-pos-api-PY-lbpNX.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-pos-api.ts","uid":"c5e49757-645"}]},{"name":"assets/js/vcrontab-3-DwUnqh_K.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vcrontab-3/dist/vcrontab.umd.cjs?commonjs-module","uid":"c5e49757-647"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vcrontab-3/dist/vcrontab.umd.cjs","uid":"c5e49757-649"}]},{"name":"assets/js/openDialogPd-BY5n8tPm.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/openDialogPd.vue","uid":"c5e49757-651"}]},{"name":"assets/js/index-C5n61gjH.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/org","children":[{"uid":"c5e49757-653","name":"index.vue?vue&type=script&setup=true&name=sysOrg&lang.ts"},{"uid":"c5e49757-655","name":"index.vue"}]}]},{"name":"assets/js/wmsOrderAsn-B7345uRI.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsOrder/wmsOrderAsn.ts","uid":"c5e49757-657"}]},{"name":"assets/js/sys-open-access-api-CeL_QS4F.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-open-access-api.ts","uid":"c5e49757-659"}]},{"name":"assets/js/wmsStockQuanOut-Cswai33k.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsStockQuanOut.ts","uid":"c5e49757-661"}]},{"name":"assets/js/editRegion-Biu-cKDN.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/region/component/editRegion.vue","uid":"c5e49757-663"}]},{"name":"assets/js/editPlugin.vue_vue_type_script_setup_true_name_sysEditPlugin_lang-vPFEAgfN.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api-services/apis/sys-plugin-api.ts","uid":"c5e49757-665"},{"name":"views/system/plugin/component/editPlugin.vue?vue&type=script&setup=true&name=sysEditPlugin&lang.ts","uid":"c5e49757-667"}]}]},{"name":"assets/js/header-MEKEG6iz.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/component","children":[{"uid":"c5e49757-669","name":"header.vue?vue&type=script&setup=true&name=layoutHeader&lang.ts"},{"uid":"c5e49757-671","name":"header.vue"}]}]},{"name":"assets/js/editPos-CrSmuSdY.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/pos/component/editPos.vue","uid":"c5e49757-673"}]},{"name":"assets/js/index-ByHBnrLd.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/dict","children":[{"uid":"c5e49757-675","name":"index.vue?vue&type=script&setup=true&name=sysDict&lang.ts"},{"uid":"c5e49757-677","name":"index.vue"}]}]},{"name":"assets/js/editSysfile.vue_vue_type_script_setup_true_name_sysEditFile_lang-LA8wXhyI.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/file/component/editSysfile.vue?vue&type=script&setup=true&name=sysEditFile&lang.ts","uid":"c5e49757-679"}]},{"name":"assets/js/editColumn.vue_vue_type_script_setup_true_name_sysEditColumn_lang-eABttnIQ.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/editColumn.vue?vue&type=script&setup=true&name=sysEditColumn&lang.ts","uid":"c5e49757-681"}]},{"name":"assets/js/@ctrl-D2oWfImC.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@ctrl/tinycolor/dist/module","children":[{"uid":"c5e49757-683","name":"util.js"},{"uid":"c5e49757-685","name":"conversion.js"},{"uid":"c5e49757-687","name":"css-color-names.js"},{"uid":"c5e49757-689","name":"format-input.js"},{"uid":"c5e49757-691","name":"index.js"},{"uid":"c5e49757-693","name":"readability.js"},{"uid":"c5e49757-695","name":"to-ms-filter.js"},{"uid":"c5e49757-697","name":"from-ratio.js"},{"uid":"c5e49757-699","name":"random.js"},{"uid":"c5e49757-701","name":"interfaces.js"},{"uid":"c5e49757-703","name":"public_api.js"}]}]},{"name":"assets/js/fkDialog-CupajmSs.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen/component/fkDialog.vue","uid":"c5e49757-705"}]},{"name":"assets/js/wmsStockBoardabc-D8BHIJEZ.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsStockBoardabc.ts","uid":"c5e49757-707"}]},{"name":"assets/js/vue-demi-B6isqbHW.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-demi/lib/index.mjs","uid":"c5e49757-709"},{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-demi/lib/index.mjs?commonjs-proxy","uid":"c5e49757-711"}]},{"name":"assets/js/signalR-D_LSMuX4.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/onlineUser/signalR.ts","uid":"c5e49757-713"}]},{"name":"assets/js/editCodeGenDialog.vue_vue_type_script_setup_true_name_sysEditCodeGen_lang-CDXKM77r.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen/component/editCodeGenDialog.vue?vue&type=script&setup=true&name=sysEditCodeGen&lang.ts","uid":"c5e49757-715"}]},{"name":"assets/js/wmsRecordReceivingDelivery-DAhvjKnY.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsRecordReceivingDelivery.ts","uid":"c5e49757-717"}]},{"name":"assets/js/index-G1Zqj6_F.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/user","children":[{"uid":"c5e49757-719","name":"index.vue?vue&type=script&setup=true&name=sysUser&lang.ts"},{"uid":"c5e49757-721","name":"index.vue"}]}]},{"name":"assets/js/wmsRecordPredetermineDispense-Br7HoPIS.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsRecordPredetermineDispense.ts","uid":"c5e49757-723"}]},{"name":"assets/js/editConfig.vue_vue_type_script_setup_true_name_sysEditConfig_lang-m8dZsGmP.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api-services/apis/sys-config-api.ts","uid":"c5e49757-725"},{"name":"views/system/config/component/editConfig.vue?vue&type=script&setup=true&name=sysEditConfig&lang.ts","uid":"c5e49757-727"}]}]},{"name":"assets/js/wmsOrderQcDetails-DpFEhIPQ.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsQC/wmsOrderQcDetails.ts","uid":"c5e49757-729"}]},{"name":"assets/js/lodash-es-Bx2dc0Qf.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es","children":[{"uid":"c5e49757-731","name":"_freeGlobal.js"},{"uid":"c5e49757-733","name":"_root.js"},{"uid":"c5e49757-735","name":"_Symbol.js"},{"uid":"c5e49757-737","name":"_getRawTag.js"},{"uid":"c5e49757-739","name":"_objectToString.js"},{"uid":"c5e49757-741","name":"_baseGetTag.js"},{"uid":"c5e49757-743","name":"isObjectLike.js"},{"uid":"c5e49757-745","name":"isSymbol.js"},{"uid":"c5e49757-747","name":"_baseToNumber.js"},{"uid":"c5e49757-749","name":"_arrayMap.js"},{"uid":"c5e49757-751","name":"isArray.js"},{"uid":"c5e49757-753","name":"_baseToString.js"},{"uid":"c5e49757-755","name":"_createMathOperation.js"},{"uid":"c5e49757-757","name":"add.js"},{"uid":"c5e49757-759","name":"_trimmedEndIndex.js"},{"uid":"c5e49757-761","name":"_baseTrim.js"},{"uid":"c5e49757-763","name":"isObject.js"},{"uid":"c5e49757-765","name":"toNumber.js"},{"uid":"c5e49757-767","name":"toFinite.js"},{"uid":"c5e49757-769","name":"toInteger.js"},{"uid":"c5e49757-771","name":"after.js"},{"uid":"c5e49757-773","name":"identity.js"},{"uid":"c5e49757-775","name":"isFunction.js"},{"uid":"c5e49757-777","name":"_coreJsData.js"},{"uid":"c5e49757-779","name":"_isMasked.js"},{"uid":"c5e49757-781","name":"_toSource.js"},{"uid":"c5e49757-783","name":"_baseIsNative.js"},{"uid":"c5e49757-785","name":"_getValue.js"},{"uid":"c5e49757-787","name":"_getNative.js"},{"uid":"c5e49757-789","name":"_WeakMap.js"},{"uid":"c5e49757-791","name":"_metaMap.js"},{"uid":"c5e49757-793","name":"_baseSetData.js"},{"uid":"c5e49757-795","name":"_baseCreate.js"},{"uid":"c5e49757-797","name":"_createCtor.js"},{"uid":"c5e49757-799","name":"_createBind.js"},{"uid":"c5e49757-801","name":"_apply.js"},{"uid":"c5e49757-803","name":"_composeArgs.js"},{"uid":"c5e49757-805","name":"_composeArgsRight.js"},{"uid":"c5e49757-807","name":"_countHolders.js"},{"uid":"c5e49757-809","name":"_baseLodash.js"},{"uid":"c5e49757-811","name":"_LazyWrapper.js"},{"uid":"c5e49757-813","name":"noop.js"},{"uid":"c5e49757-815","name":"_getData.js"},{"uid":"c5e49757-817","name":"_realNames.js"},{"uid":"c5e49757-819","name":"_getFuncName.js"},{"uid":"c5e49757-821","name":"_LodashWrapper.js"},{"uid":"c5e49757-823","name":"_copyArray.js"},{"uid":"c5e49757-825","name":"_wrapperClone.js"},{"uid":"c5e49757-827","name":"wrapperLodash.js"},{"uid":"c5e49757-829","name":"_isLaziable.js"},{"uid":"c5e49757-831","name":"_shortOut.js"},{"uid":"c5e49757-833","name":"_setData.js"},{"uid":"c5e49757-835","name":"_getWrapDetails.js"},{"uid":"c5e49757-837","name":"_insertWrapDetails.js"},{"uid":"c5e49757-839","name":"constant.js"},{"uid":"c5e49757-841","name":"_defineProperty.js"},{"uid":"c5e49757-843","name":"_baseSetToString.js"},{"uid":"c5e49757-845","name":"_setToString.js"},{"uid":"c5e49757-847","name":"_arrayEach.js"},{"uid":"c5e49757-849","name":"_baseFindIndex.js"},{"uid":"c5e49757-851","name":"_baseIsNaN.js"},{"uid":"c5e49757-853","name":"_strictIndexOf.js"},{"uid":"c5e49757-855","name":"_baseIndexOf.js"},{"uid":"c5e49757-857","name":"_arrayIncludes.js"},{"uid":"c5e49757-859","name":"_updateWrapDetails.js"},{"uid":"c5e49757-861","name":"_setWrapToString.js"},{"uid":"c5e49757-863","name":"_createRecurry.js"},{"uid":"c5e49757-865","name":"_getHolder.js"},{"uid":"c5e49757-867","name":"_isIndex.js"},{"uid":"c5e49757-869","name":"_reorder.js"},{"uid":"c5e49757-871","name":"_replaceHolders.js"},{"uid":"c5e49757-873","name":"_createHybrid.js"},{"uid":"c5e49757-875","name":"_createCurry.js"},{"uid":"c5e49757-877","name":"_createPartial.js"},{"uid":"c5e49757-879","name":"_mergeData.js"},{"uid":"c5e49757-881","name":"_createWrap.js"},{"uid":"c5e49757-883","name":"ary.js"},{"uid":"c5e49757-885","name":"_baseAssignValue.js"},{"uid":"c5e49757-887","name":"eq.js"},{"uid":"c5e49757-889","name":"_assignValue.js"},{"uid":"c5e49757-891","name":"_copyObject.js"},{"uid":"c5e49757-893","name":"_overRest.js"},{"uid":"c5e49757-895","name":"_baseRest.js"},{"uid":"c5e49757-897","name":"isLength.js"},{"uid":"c5e49757-899","name":"isArrayLike.js"},{"uid":"c5e49757-901","name":"_isIterateeCall.js"},{"uid":"c5e49757-903","name":"_createAssigner.js"},{"uid":"c5e49757-905","name":"_isPrototype.js"},{"uid":"c5e49757-907","name":"_baseTimes.js"},{"uid":"c5e49757-909","name":"_baseIsArguments.js"},{"uid":"c5e49757-911","name":"isArguments.js"},{"uid":"c5e49757-913","name":"stubFalse.js"},{"uid":"c5e49757-915","name":"isBuffer.js"},{"uid":"c5e49757-917","name":"_baseIsTypedArray.js"},{"uid":"c5e49757-919","name":"_baseUnary.js"},{"uid":"c5e49757-921","name":"_nodeUtil.js"},{"uid":"c5e49757-923","name":"isTypedArray.js"},{"uid":"c5e49757-925","name":"_arrayLikeKeys.js"},{"uid":"c5e49757-927","name":"_overArg.js"},{"uid":"c5e49757-929","name":"_nativeKeys.js"},{"uid":"c5e49757-931","name":"_baseKeys.js"},{"uid":"c5e49757-933","name":"keys.js"},{"uid":"c5e49757-935","name":"assign.js"},{"uid":"c5e49757-937","name":"_nativeKeysIn.js"},{"uid":"c5e49757-939","name":"_baseKeysIn.js"},{"uid":"c5e49757-941","name":"keysIn.js"},{"uid":"c5e49757-943","name":"assignIn.js"},{"uid":"c5e49757-945","name":"assignInWith.js"},{"uid":"c5e49757-947","name":"assignWith.js"},{"uid":"c5e49757-949","name":"_isKey.js"},{"uid":"c5e49757-951","name":"_nativeCreate.js"},{"uid":"c5e49757-953","name":"_hashClear.js"},{"uid":"c5e49757-955","name":"_hashDelete.js"},{"uid":"c5e49757-957","name":"_hashGet.js"},{"uid":"c5e49757-959","name":"_hashHas.js"},{"uid":"c5e49757-961","name":"_hashSet.js"},{"uid":"c5e49757-963","name":"_Hash.js"},{"uid":"c5e49757-965","name":"_listCacheClear.js"},{"uid":"c5e49757-967","name":"_assocIndexOf.js"},{"uid":"c5e49757-969","name":"_listCacheDelete.js"},{"uid":"c5e49757-971","name":"_listCacheGet.js"},{"uid":"c5e49757-973","name":"_listCacheHas.js"},{"uid":"c5e49757-975","name":"_listCacheSet.js"},{"uid":"c5e49757-977","name":"_ListCache.js"},{"uid":"c5e49757-979","name":"_Map.js"},{"uid":"c5e49757-981","name":"_mapCacheClear.js"},{"uid":"c5e49757-983","name":"_isKeyable.js"},{"uid":"c5e49757-985","name":"_getMapData.js"},{"uid":"c5e49757-987","name":"_mapCacheDelete.js"},{"uid":"c5e49757-989","name":"_mapCacheGet.js"},{"uid":"c5e49757-991","name":"_mapCacheHas.js"},{"uid":"c5e49757-993","name":"_mapCacheSet.js"},{"uid":"c5e49757-995","name":"_MapCache.js"},{"uid":"c5e49757-997","name":"memoize.js"},{"uid":"c5e49757-999","name":"_memoizeCapped.js"},{"uid":"c5e49757-1001","name":"_stringToPath.js"},{"uid":"c5e49757-1003","name":"toString.js"},{"uid":"c5e49757-1005","name":"_castPath.js"},{"uid":"c5e49757-1007","name":"_toKey.js"},{"uid":"c5e49757-1009","name":"_baseGet.js"},{"uid":"c5e49757-1011","name":"get.js"},{"uid":"c5e49757-1013","name":"_baseAt.js"},{"uid":"c5e49757-1015","name":"_arrayPush.js"},{"uid":"c5e49757-1017","name":"_isFlattenable.js"},{"uid":"c5e49757-1019","name":"_baseFlatten.js"},{"uid":"c5e49757-1021","name":"flatten.js"},{"uid":"c5e49757-1023","name":"_flatRest.js"},{"uid":"c5e49757-1025","name":"at.js"},{"uid":"c5e49757-1027","name":"_getPrototype.js"},{"uid":"c5e49757-1029","name":"isPlainObject.js"},{"uid":"c5e49757-1031","name":"isError.js"},{"uid":"c5e49757-1033","name":"attempt.js"},{"uid":"c5e49757-1035","name":"before.js"},{"uid":"c5e49757-1037","name":"bind.js"},{"uid":"c5e49757-1039","name":"bindAll.js"},{"uid":"c5e49757-1041","name":"bindKey.js"},{"uid":"c5e49757-1043","name":"_baseSlice.js"},{"uid":"c5e49757-1045","name":"_castSlice.js"},{"uid":"c5e49757-1047","name":"_hasUnicode.js"},{"uid":"c5e49757-1049","name":"_asciiToArray.js"},{"uid":"c5e49757-1051","name":"_unicodeToArray.js"},{"uid":"c5e49757-1053","name":"_stringToArray.js"},{"uid":"c5e49757-1055","name":"_createCaseFirst.js"},{"uid":"c5e49757-1057","name":"upperFirst.js"},{"uid":"c5e49757-1059","name":"capitalize.js"},{"uid":"c5e49757-1061","name":"_arrayReduce.js"},{"uid":"c5e49757-1063","name":"_basePropertyOf.js"},{"uid":"c5e49757-1065","name":"_deburrLetter.js"},{"uid":"c5e49757-1067","name":"deburr.js"},{"uid":"c5e49757-1069","name":"_asciiWords.js"},{"uid":"c5e49757-1071","name":"_hasUnicodeWord.js"},{"uid":"c5e49757-1073","name":"_unicodeWords.js"},{"uid":"c5e49757-1075","name":"words.js"},{"uid":"c5e49757-1077","name":"_createCompounder.js"},{"uid":"c5e49757-1079","name":"camelCase.js"},{"uid":"c5e49757-1081","name":"castArray.js"},{"uid":"c5e49757-1083","name":"_createRound.js"},{"uid":"c5e49757-1085","name":"ceil.js"},{"uid":"c5e49757-1087","name":"chain.js"},{"uid":"c5e49757-1089","name":"chunk.js"},{"uid":"c5e49757-1091","name":"_baseClamp.js"},{"uid":"c5e49757-1093","name":"clamp.js"},{"uid":"c5e49757-1095","name":"_stackClear.js"},{"uid":"c5e49757-1097","name":"_stackDelete.js"},{"uid":"c5e49757-1099","name":"_stackGet.js"},{"uid":"c5e49757-1101","name":"_stackHas.js"},{"uid":"c5e49757-1103","name":"_stackSet.js"},{"uid":"c5e49757-1105","name":"_Stack.js"},{"uid":"c5e49757-1107","name":"_baseAssign.js"},{"uid":"c5e49757-1109","name":"_baseAssignIn.js"},{"uid":"c5e49757-1111","name":"_cloneBuffer.js"},{"uid":"c5e49757-1113","name":"_arrayFilter.js"},{"uid":"c5e49757-1115","name":"stubArray.js"},{"uid":"c5e49757-1117","name":"_getSymbols.js"},{"uid":"c5e49757-1119","name":"_copySymbols.js"},{"uid":"c5e49757-1121","name":"_getSymbolsIn.js"},{"uid":"c5e49757-1123","name":"_copySymbolsIn.js"},{"uid":"c5e49757-1125","name":"_baseGetAllKeys.js"},{"uid":"c5e49757-1127","name":"_getAllKeys.js"},{"uid":"c5e49757-1129","name":"_getAllKeysIn.js"},{"uid":"c5e49757-1131","name":"_DataView.js"},{"uid":"c5e49757-1133","name":"_Promise.js"},{"uid":"c5e49757-1135","name":"_Set.js"},{"uid":"c5e49757-1137","name":"_getTag.js"},{"uid":"c5e49757-1139","name":"_initCloneArray.js"},{"uid":"c5e49757-1141","name":"_Uint8Array.js"},{"uid":"c5e49757-1143","name":"_cloneArrayBuffer.js"},{"uid":"c5e49757-1145","name":"_cloneDataView.js"},{"uid":"c5e49757-1147","name":"_cloneRegExp.js"},{"uid":"c5e49757-1149","name":"_cloneSymbol.js"},{"uid":"c5e49757-1151","name":"_cloneTypedArray.js"},{"uid":"c5e49757-1153","name":"_initCloneByTag.js"},{"uid":"c5e49757-1155","name":"_initCloneObject.js"},{"uid":"c5e49757-1157","name":"_baseIsMap.js"},{"uid":"c5e49757-1159","name":"isMap.js"},{"uid":"c5e49757-1161","name":"_baseIsSet.js"},{"uid":"c5e49757-1163","name":"isSet.js"},{"uid":"c5e49757-1165","name":"_baseClone.js"},{"uid":"c5e49757-1167","name":"clone.js"},{"uid":"c5e49757-1169","name":"cloneDeep.js"},{"uid":"c5e49757-1171","name":"cloneDeepWith.js"},{"uid":"c5e49757-1173","name":"cloneWith.js"},{"uid":"c5e49757-1175","name":"commit.js"},{"uid":"c5e49757-1177","name":"compact.js"},{"uid":"c5e49757-1179","name":"concat.js"},{"uid":"c5e49757-1181","name":"_setCacheAdd.js"},{"uid":"c5e49757-1183","name":"_setCacheHas.js"},{"uid":"c5e49757-1185","name":"_SetCache.js"},{"uid":"c5e49757-1187","name":"_arraySome.js"},{"uid":"c5e49757-1189","name":"_cacheHas.js"},{"uid":"c5e49757-1191","name":"_equalArrays.js"},{"uid":"c5e49757-1193","name":"_mapToArray.js"},{"uid":"c5e49757-1195","name":"_setToArray.js"},{"uid":"c5e49757-1197","name":"_equalByTag.js"},{"uid":"c5e49757-1199","name":"_equalObjects.js"},{"uid":"c5e49757-1201","name":"_baseIsEqualDeep.js"},{"uid":"c5e49757-1203","name":"_baseIsEqual.js"},{"uid":"c5e49757-1205","name":"_baseIsMatch.js"},{"uid":"c5e49757-1207","name":"_isStrictComparable.js"},{"uid":"c5e49757-1209","name":"_getMatchData.js"},{"uid":"c5e49757-1211","name":"_matchesStrictComparable.js"},{"uid":"c5e49757-1213","name":"_baseMatches.js"},{"uid":"c5e49757-1215","name":"_baseHasIn.js"},{"uid":"c5e49757-1217","name":"_hasPath.js"},{"uid":"c5e49757-1219","name":"hasIn.js"},{"uid":"c5e49757-1221","name":"_baseMatchesProperty.js"},{"uid":"c5e49757-1223","name":"_baseProperty.js"},{"uid":"c5e49757-1225","name":"_basePropertyDeep.js"},{"uid":"c5e49757-1227","name":"property.js"},{"uid":"c5e49757-1229","name":"_baseIteratee.js"},{"uid":"c5e49757-1231","name":"cond.js"},{"uid":"c5e49757-1233","name":"_baseConformsTo.js"},{"uid":"c5e49757-1235","name":"_baseConforms.js"},{"uid":"c5e49757-1237","name":"conforms.js"},{"uid":"c5e49757-1239","name":"conformsTo.js"},{"uid":"c5e49757-1241","name":"_arrayAggregator.js"},{"uid":"c5e49757-1243","name":"_createBaseFor.js"},{"uid":"c5e49757-1245","name":"_baseFor.js"},{"uid":"c5e49757-1247","name":"_baseForOwn.js"},{"uid":"c5e49757-1249","name":"_createBaseEach.js"},{"uid":"c5e49757-1251","name":"_baseEach.js"},{"uid":"c5e49757-1253","name":"_baseAggregator.js"},{"uid":"c5e49757-1255","name":"_createAggregator.js"},{"uid":"c5e49757-1257","name":"countBy.js"},{"uid":"c5e49757-1259","name":"create.js"},{"uid":"c5e49757-1261","name":"curry.js"},{"uid":"c5e49757-1263","name":"curryRight.js"},{"uid":"c5e49757-1265","name":"now.js"},{"uid":"c5e49757-1267","name":"debounce.js"},{"uid":"c5e49757-1269","name":"defaultTo.js"},{"uid":"c5e49757-1271","name":"defaults.js"},{"uid":"c5e49757-1273","name":"_assignMergeValue.js"},{"uid":"c5e49757-1275","name":"isArrayLikeObject.js"},{"uid":"c5e49757-1277","name":"_safeGet.js"},{"uid":"c5e49757-1279","name":"toPlainObject.js"},{"uid":"c5e49757-1281","name":"_baseMergeDeep.js"},{"uid":"c5e49757-1283","name":"_baseMerge.js"},{"uid":"c5e49757-1285","name":"_customDefaultsMerge.js"},{"uid":"c5e49757-1287","name":"mergeWith.js"},{"uid":"c5e49757-1289","name":"defaultsDeep.js"},{"uid":"c5e49757-1291","name":"_baseDelay.js"},{"uid":"c5e49757-1293","name":"defer.js"},{"uid":"c5e49757-1295","name":"delay.js"},{"uid":"c5e49757-1297","name":"_arrayIncludesWith.js"},{"uid":"c5e49757-1299","name":"_baseDifference.js"},{"uid":"c5e49757-1301","name":"difference.js"},{"uid":"c5e49757-1303","name":"last.js"},{"uid":"c5e49757-1305","name":"differenceBy.js"},{"uid":"c5e49757-1307","name":"differenceWith.js"},{"uid":"c5e49757-1309","name":"divide.js"},{"uid":"c5e49757-1311","name":"drop.js"},{"uid":"c5e49757-1313","name":"dropRight.js"},{"uid":"c5e49757-1315","name":"_baseWhile.js"},{"uid":"c5e49757-1317","name":"dropRightWhile.js"},{"uid":"c5e49757-1319","name":"dropWhile.js"},{"uid":"c5e49757-1321","name":"_castFunction.js"},{"uid":"c5e49757-1323","name":"forEach.js"},{"uid":"c5e49757-1325","name":"each.js"},{"uid":"c5e49757-1327","name":"_arrayEachRight.js"},{"uid":"c5e49757-1329","name":"_baseForRight.js"},{"uid":"c5e49757-1331","name":"_baseForOwnRight.js"},{"uid":"c5e49757-1333","name":"_baseEachRight.js"},{"uid":"c5e49757-1335","name":"forEachRight.js"},{"uid":"c5e49757-1337","name":"eachRight.js"},{"uid":"c5e49757-1339","name":"endsWith.js"},{"uid":"c5e49757-1341","name":"_baseToPairs.js"},{"uid":"c5e49757-1343","name":"_setToPairs.js"},{"uid":"c5e49757-1345","name":"_createToPairs.js"},{"uid":"c5e49757-1347","name":"toPairs.js"},{"uid":"c5e49757-1349","name":"entries.js"},{"uid":"c5e49757-1351","name":"toPairsIn.js"},{"uid":"c5e49757-1353","name":"entriesIn.js"},{"uid":"c5e49757-1355","name":"_escapeHtmlChar.js"},{"uid":"c5e49757-1357","name":"escape.js"},{"uid":"c5e49757-1359","name":"escapeRegExp.js"},{"uid":"c5e49757-1361","name":"_arrayEvery.js"},{"uid":"c5e49757-1363","name":"_baseEvery.js"},{"uid":"c5e49757-1365","name":"every.js"},{"uid":"c5e49757-1367","name":"extend.js"},{"uid":"c5e49757-1369","name":"extendWith.js"},{"uid":"c5e49757-1371","name":"toLength.js"},{"uid":"c5e49757-1373","name":"_baseFill.js"},{"uid":"c5e49757-1375","name":"fill.js"},{"uid":"c5e49757-1377","name":"_baseFilter.js"},{"uid":"c5e49757-1379","name":"filter.js"},{"uid":"c5e49757-1381","name":"_createFind.js"},{"uid":"c5e49757-1383","name":"findIndex.js"},{"uid":"c5e49757-1385","name":"find.js"},{"uid":"c5e49757-1387","name":"_baseFindKey.js"},{"uid":"c5e49757-1389","name":"findKey.js"},{"uid":"c5e49757-1391","name":"findLastIndex.js"},{"uid":"c5e49757-1393","name":"findLast.js"},{"uid":"c5e49757-1395","name":"findLastKey.js"},{"uid":"c5e49757-1397","name":"head.js"},{"uid":"c5e49757-1399","name":"first.js"},{"uid":"c5e49757-1401","name":"_baseMap.js"},{"uid":"c5e49757-1403","name":"map.js"},{"uid":"c5e49757-1405","name":"flatMap.js"},{"uid":"c5e49757-1407","name":"flatMapDeep.js"},{"uid":"c5e49757-1409","name":"flatMapDepth.js"},{"uid":"c5e49757-1411","name":"flattenDeep.js"},{"uid":"c5e49757-1413","name":"flattenDepth.js"},{"uid":"c5e49757-1415","name":"flip.js"},{"uid":"c5e49757-1417","name":"floor.js"},{"uid":"c5e49757-1419","name":"_createFlow.js"},{"uid":"c5e49757-1421","name":"flow.js"},{"uid":"c5e49757-1423","name":"flowRight.js"},{"uid":"c5e49757-1425","name":"forIn.js"},{"uid":"c5e49757-1427","name":"forInRight.js"},{"uid":"c5e49757-1429","name":"forOwn.js"},{"uid":"c5e49757-1431","name":"forOwnRight.js"},{"uid":"c5e49757-1433","name":"fromPairs.js"},{"uid":"c5e49757-1435","name":"_baseFunctions.js"},{"uid":"c5e49757-1437","name":"functions.js"},{"uid":"c5e49757-1439","name":"functionsIn.js"},{"uid":"c5e49757-1441","name":"groupBy.js"},{"uid":"c5e49757-1443","name":"_baseGt.js"},{"uid":"c5e49757-1445","name":"_createRelationalOperation.js"},{"uid":"c5e49757-1447","name":"gt.js"},{"uid":"c5e49757-1449","name":"gte.js"},{"uid":"c5e49757-1451","name":"_baseHas.js"},{"uid":"c5e49757-1453","name":"has.js"},{"uid":"c5e49757-1455","name":"_baseInRange.js"},{"uid":"c5e49757-1457","name":"inRange.js"},{"uid":"c5e49757-1459","name":"isString.js"},{"uid":"c5e49757-1461","name":"_baseValues.js"},{"uid":"c5e49757-1463","name":"values.js"},{"uid":"c5e49757-1465","name":"includes.js"},{"uid":"c5e49757-1467","name":"indexOf.js"},{"uid":"c5e49757-1469","name":"initial.js"},{"uid":"c5e49757-1471","name":"_baseIntersection.js"},{"uid":"c5e49757-1473","name":"_castArrayLikeObject.js"},{"uid":"c5e49757-1475","name":"intersection.js"},{"uid":"c5e49757-1477","name":"intersectionBy.js"},{"uid":"c5e49757-1479","name":"intersectionWith.js"},{"uid":"c5e49757-1481","name":"_baseInverter.js"},{"uid":"c5e49757-1483","name":"_createInverter.js"},{"uid":"c5e49757-1485","name":"invert.js"},{"uid":"c5e49757-1487","name":"invertBy.js"},{"uid":"c5e49757-1489","name":"_parent.js"},{"uid":"c5e49757-1491","name":"_baseInvoke.js"},{"uid":"c5e49757-1493","name":"invoke.js"},{"uid":"c5e49757-1495","name":"invokeMap.js"},{"uid":"c5e49757-1497","name":"_baseIsArrayBuffer.js"},{"uid":"c5e49757-1499","name":"isArrayBuffer.js"},{"uid":"c5e49757-1501","name":"isBoolean.js"},{"uid":"c5e49757-1503","name":"_baseIsDate.js"},{"uid":"c5e49757-1505","name":"isDate.js"},{"uid":"c5e49757-1507","name":"isElement.js"},{"uid":"c5e49757-1509","name":"isEmpty.js"},{"uid":"c5e49757-1511","name":"isEqual.js"},{"uid":"c5e49757-1513","name":"isEqualWith.js"},{"uid":"c5e49757-1515","name":"isFinite.js"},{"uid":"c5e49757-1517","name":"isInteger.js"},{"uid":"c5e49757-1519","name":"isMatch.js"},{"uid":"c5e49757-1521","name":"isMatchWith.js"},{"uid":"c5e49757-1523","name":"isNumber.js"},{"uid":"c5e49757-1525","name":"isNaN.js"},{"uid":"c5e49757-1527","name":"_isMaskable.js"},{"uid":"c5e49757-1529","name":"isNative.js"},{"uid":"c5e49757-1531","name":"isNil.js"},{"uid":"c5e49757-1533","name":"isNull.js"},{"uid":"c5e49757-1535","name":"_baseIsRegExp.js"},{"uid":"c5e49757-1537","name":"isRegExp.js"},{"uid":"c5e49757-1539","name":"isSafeInteger.js"},{"uid":"c5e49757-1541","name":"isUndefined.js"},{"uid":"c5e49757-1543","name":"isWeakMap.js"},{"uid":"c5e49757-1545","name":"isWeakSet.js"},{"uid":"c5e49757-1547","name":"iteratee.js"},{"uid":"c5e49757-1549","name":"join.js"},{"uid":"c5e49757-1551","name":"kebabCase.js"},{"uid":"c5e49757-1553","name":"keyBy.js"},{"uid":"c5e49757-1555","name":"_strictLastIndexOf.js"},{"uid":"c5e49757-1557","name":"lastIndexOf.js"},{"uid":"c5e49757-1559","name":"lowerCase.js"},{"uid":"c5e49757-1561","name":"lowerFirst.js"},{"uid":"c5e49757-1563","name":"_baseLt.js"},{"uid":"c5e49757-1565","name":"lt.js"},{"uid":"c5e49757-1567","name":"lte.js"},{"uid":"c5e49757-1569","name":"mapKeys.js"},{"uid":"c5e49757-1571","name":"mapValues.js"},{"uid":"c5e49757-1573","name":"matches.js"},{"uid":"c5e49757-1575","name":"matchesProperty.js"},{"uid":"c5e49757-1577","name":"_baseExtremum.js"},{"uid":"c5e49757-1579","name":"max.js"},{"uid":"c5e49757-1581","name":"maxBy.js"},{"uid":"c5e49757-1583","name":"_baseSum.js"},{"uid":"c5e49757-1585","name":"_baseMean.js"},{"uid":"c5e49757-1587","name":"mean.js"},{"uid":"c5e49757-1589","name":"meanBy.js"},{"uid":"c5e49757-1591","name":"merge.js"},{"uid":"c5e49757-1593","name":"method.js"},{"uid":"c5e49757-1595","name":"methodOf.js"},{"uid":"c5e49757-1597","name":"min.js"},{"uid":"c5e49757-1599","name":"minBy.js"},{"uid":"c5e49757-1601","name":"mixin.js"},{"uid":"c5e49757-1603","name":"multiply.js"},{"uid":"c5e49757-1605","name":"negate.js"},{"uid":"c5e49757-1607","name":"_iteratorToArray.js"},{"uid":"c5e49757-1609","name":"toArray.js"},{"uid":"c5e49757-1611","name":"next.js"},{"uid":"c5e49757-1613","name":"_baseNth.js"},{"uid":"c5e49757-1615","name":"nth.js"},{"uid":"c5e49757-1617","name":"nthArg.js"},{"uid":"c5e49757-1619","name":"_baseUnset.js"},{"uid":"c5e49757-1621","name":"_customOmitClone.js"},{"uid":"c5e49757-1623","name":"omit.js"},{"uid":"c5e49757-1625","name":"_baseSet.js"},{"uid":"c5e49757-1627","name":"_basePickBy.js"},{"uid":"c5e49757-1629","name":"pickBy.js"},{"uid":"c5e49757-1631","name":"omitBy.js"},{"uid":"c5e49757-1633","name":"once.js"},{"uid":"c5e49757-1635","name":"_baseSortBy.js"},{"uid":"c5e49757-1637","name":"_compareAscending.js"},{"uid":"c5e49757-1639","name":"_compareMultiple.js"},{"uid":"c5e49757-1641","name":"_baseOrderBy.js"},{"uid":"c5e49757-1643","name":"orderBy.js"},{"uid":"c5e49757-1645","name":"_createOver.js"},{"uid":"c5e49757-1647","name":"over.js"},{"uid":"c5e49757-1649","name":"_castRest.js"},{"uid":"c5e49757-1651","name":"overArgs.js"},{"uid":"c5e49757-1653","name":"overEvery.js"},{"uid":"c5e49757-1655","name":"overSome.js"},{"uid":"c5e49757-1657","name":"_baseRepeat.js"},{"uid":"c5e49757-1659","name":"_asciiSize.js"},{"uid":"c5e49757-1661","name":"_unicodeSize.js"},{"uid":"c5e49757-1663","name":"_stringSize.js"},{"uid":"c5e49757-1665","name":"_createPadding.js"},{"uid":"c5e49757-1667","name":"pad.js"},{"uid":"c5e49757-1669","name":"padEnd.js"},{"uid":"c5e49757-1671","name":"padStart.js"},{"uid":"c5e49757-1673","name":"parseInt.js"},{"uid":"c5e49757-1675","name":"partial.js"},{"uid":"c5e49757-1677","name":"partialRight.js"},{"uid":"c5e49757-1679","name":"partition.js"},{"uid":"c5e49757-1681","name":"_basePick.js"},{"uid":"c5e49757-1683","name":"pick.js"},{"uid":"c5e49757-1685","name":"plant.js"},{"uid":"c5e49757-1687","name":"propertyOf.js"},{"uid":"c5e49757-1689","name":"_baseIndexOfWith.js"},{"uid":"c5e49757-1691","name":"_basePullAll.js"},{"uid":"c5e49757-1693","name":"pullAll.js"},{"uid":"c5e49757-1695","name":"pull.js"},{"uid":"c5e49757-1697","name":"pullAllBy.js"},{"uid":"c5e49757-1699","name":"pullAllWith.js"},{"uid":"c5e49757-1701","name":"_basePullAt.js"},{"uid":"c5e49757-1703","name":"pullAt.js"},{"uid":"c5e49757-1705","name":"_baseRandom.js"},{"uid":"c5e49757-1707","name":"random.js"},{"uid":"c5e49757-1709","name":"_baseRange.js"},{"uid":"c5e49757-1711","name":"_createRange.js"},{"uid":"c5e49757-1713","name":"range.js"},{"uid":"c5e49757-1715","name":"rangeRight.js"},{"uid":"c5e49757-1717","name":"rearg.js"},{"uid":"c5e49757-1719","name":"_baseReduce.js"},{"uid":"c5e49757-1721","name":"reduce.js"},{"uid":"c5e49757-1723","name":"_arrayReduceRight.js"},{"uid":"c5e49757-1725","name":"reduceRight.js"},{"uid":"c5e49757-1727","name":"reject.js"},{"uid":"c5e49757-1729","name":"remove.js"},{"uid":"c5e49757-1731","name":"repeat.js"},{"uid":"c5e49757-1733","name":"replace.js"},{"uid":"c5e49757-1735","name":"rest.js"},{"uid":"c5e49757-1737","name":"result.js"},{"uid":"c5e49757-1739","name":"reverse.js"},{"uid":"c5e49757-1741","name":"round.js"},{"uid":"c5e49757-1743","name":"_arraySample.js"},{"uid":"c5e49757-1745","name":"_baseSample.js"},{"uid":"c5e49757-1747","name":"sample.js"},{"uid":"c5e49757-1749","name":"_shuffleSelf.js"},{"uid":"c5e49757-1751","name":"_arraySampleSize.js"},{"uid":"c5e49757-1753","name":"_baseSampleSize.js"},{"uid":"c5e49757-1755","name":"sampleSize.js"},{"uid":"c5e49757-1757","name":"set.js"},{"uid":"c5e49757-1759","name":"setWith.js"},{"uid":"c5e49757-1761","name":"_arrayShuffle.js"},{"uid":"c5e49757-1763","name":"_baseShuffle.js"},{"uid":"c5e49757-1765","name":"shuffle.js"},{"uid":"c5e49757-1767","name":"size.js"},{"uid":"c5e49757-1769","name":"slice.js"},{"uid":"c5e49757-1771","name":"snakeCase.js"},{"uid":"c5e49757-1773","name":"_baseSome.js"},{"uid":"c5e49757-1775","name":"some.js"},{"uid":"c5e49757-1777","name":"sortBy.js"},{"uid":"c5e49757-1779","name":"_baseSortedIndexBy.js"},{"uid":"c5e49757-1781","name":"_baseSortedIndex.js"},{"uid":"c5e49757-1783","name":"sortedIndex.js"},{"uid":"c5e49757-1785","name":"sortedIndexBy.js"},{"uid":"c5e49757-1787","name":"sortedIndexOf.js"},{"uid":"c5e49757-1789","name":"sortedLastIndex.js"},{"uid":"c5e49757-1791","name":"sortedLastIndexBy.js"},{"uid":"c5e49757-1793","name":"sortedLastIndexOf.js"},{"uid":"c5e49757-1795","name":"_baseSortedUniq.js"},{"uid":"c5e49757-1797","name":"sortedUniq.js"},{"uid":"c5e49757-1799","name":"sortedUniqBy.js"},{"uid":"c5e49757-1801","name":"split.js"},{"uid":"c5e49757-1803","name":"spread.js"},{"uid":"c5e49757-1805","name":"startCase.js"},{"uid":"c5e49757-1807","name":"startsWith.js"},{"uid":"c5e49757-1809","name":"stubObject.js"},{"uid":"c5e49757-1811","name":"stubString.js"},{"uid":"c5e49757-1813","name":"stubTrue.js"},{"uid":"c5e49757-1815","name":"subtract.js"},{"uid":"c5e49757-1817","name":"sum.js"},{"uid":"c5e49757-1819","name":"sumBy.js"},{"uid":"c5e49757-1821","name":"tail.js"},{"uid":"c5e49757-1823","name":"take.js"},{"uid":"c5e49757-1825","name":"takeRight.js"},{"uid":"c5e49757-1827","name":"takeRightWhile.js"},{"uid":"c5e49757-1829","name":"takeWhile.js"},{"uid":"c5e49757-1831","name":"tap.js"},{"uid":"c5e49757-1833","name":"_customDefaultsAssignIn.js"},{"uid":"c5e49757-1835","name":"_escapeStringChar.js"},{"uid":"c5e49757-1837","name":"_reInterpolate.js"},{"uid":"c5e49757-1839","name":"_reEscape.js"},{"uid":"c5e49757-1841","name":"_reEvaluate.js"},{"uid":"c5e49757-1843","name":"templateSettings.js"},{"uid":"c5e49757-1845","name":"template.js"},{"uid":"c5e49757-1847","name":"throttle.js"},{"uid":"c5e49757-1849","name":"thru.js"},{"uid":"c5e49757-1851","name":"times.js"},{"uid":"c5e49757-1853","name":"toIterator.js"},{"uid":"c5e49757-1855","name":"_baseWrapperValue.js"},{"uid":"c5e49757-1857","name":"wrapperValue.js"},{"uid":"c5e49757-1859","name":"toJSON.js"},{"uid":"c5e49757-1861","name":"toLower.js"},{"uid":"c5e49757-1863","name":"toPath.js"},{"uid":"c5e49757-1865","name":"toSafeInteger.js"},{"uid":"c5e49757-1867","name":"toUpper.js"},{"uid":"c5e49757-1869","name":"transform.js"},{"uid":"c5e49757-1871","name":"_charsEndIndex.js"},{"uid":"c5e49757-1873","name":"_charsStartIndex.js"},{"uid":"c5e49757-1875","name":"trim.js"},{"uid":"c5e49757-1877","name":"trimEnd.js"},{"uid":"c5e49757-1879","name":"trimStart.js"},{"uid":"c5e49757-1881","name":"truncate.js"},{"uid":"c5e49757-1883","name":"unary.js"},{"uid":"c5e49757-1885","name":"_unescapeHtmlChar.js"},{"uid":"c5e49757-1887","name":"unescape.js"},{"uid":"c5e49757-1889","name":"_createSet.js"},{"uid":"c5e49757-1891","name":"_baseUniq.js"},{"uid":"c5e49757-1893","name":"union.js"},{"uid":"c5e49757-1895","name":"unionBy.js"},{"uid":"c5e49757-1897","name":"unionWith.js"},{"uid":"c5e49757-1899","name":"uniq.js"},{"uid":"c5e49757-1901","name":"uniqBy.js"},{"uid":"c5e49757-1903","name":"uniqWith.js"},{"uid":"c5e49757-1905","name":"uniqueId.js"},{"uid":"c5e49757-1907","name":"unset.js"},{"uid":"c5e49757-1909","name":"unzip.js"},{"uid":"c5e49757-1911","name":"unzipWith.js"},{"uid":"c5e49757-1913","name":"_baseUpdate.js"},{"uid":"c5e49757-1915","name":"update.js"},{"uid":"c5e49757-1917","name":"updateWith.js"},{"uid":"c5e49757-1919","name":"upperCase.js"},{"uid":"c5e49757-1921","name":"value.js"},{"uid":"c5e49757-1923","name":"valueOf.js"},{"uid":"c5e49757-1925","name":"valuesIn.js"},{"uid":"c5e49757-1927","name":"without.js"},{"uid":"c5e49757-1929","name":"wrap.js"},{"uid":"c5e49757-1931","name":"wrapperAt.js"},{"uid":"c5e49757-1933","name":"wrapperChain.js"},{"uid":"c5e49757-1935","name":"wrapperReverse.js"},{"uid":"c5e49757-1937","name":"_baseXor.js"},{"uid":"c5e49757-1939","name":"xor.js"},{"uid":"c5e49757-1941","name":"xorBy.js"},{"uid":"c5e49757-1943","name":"xorWith.js"},{"uid":"c5e49757-1945","name":"zip.js"},{"uid":"c5e49757-1947","name":"_baseZipObject.js"},{"uid":"c5e49757-1949","name":"zipObject.js"},{"uid":"c5e49757-1951","name":"zipObjectDeep.js"},{"uid":"c5e49757-1953","name":"zipWith.js"},{"uid":"c5e49757-1955","name":"array.default.js"},{"uid":"c5e49757-1957","name":"array.js"},{"uid":"c5e49757-1959","name":"collection.default.js"},{"uid":"c5e49757-1961","name":"collection.js"},{"uid":"c5e49757-1963","name":"date.default.js"},{"uid":"c5e49757-1965","name":"date.js"},{"uid":"c5e49757-1967","name":"function.default.js"},{"uid":"c5e49757-1969","name":"function.js"},{"uid":"c5e49757-1971","name":"lang.default.js"},{"uid":"c5e49757-1973","name":"lang.js"},{"uid":"c5e49757-1975","name":"math.default.js"},{"uid":"c5e49757-1977","name":"math.js"},{"uid":"c5e49757-1979","name":"number.default.js"},{"uid":"c5e49757-1981","name":"number.js"},{"uid":"c5e49757-1983","name":"object.default.js"},{"uid":"c5e49757-1985","name":"object.js"},{"uid":"c5e49757-1987","name":"seq.default.js"},{"uid":"c5e49757-1989","name":"seq.js"},{"uid":"c5e49757-1991","name":"string.default.js"},{"uid":"c5e49757-1993","name":"string.js"},{"uid":"c5e49757-1995","name":"util.default.js"},{"uid":"c5e49757-1997","name":"util.js"},{"uid":"c5e49757-1999","name":"_lazyClone.js"},{"uid":"c5e49757-2001","name":"_lazyReverse.js"},{"uid":"c5e49757-2003","name":"_getView.js"},{"uid":"c5e49757-2005","name":"_lazyValue.js"},{"uid":"c5e49757-2007","name":"lodash.default.js"},{"uid":"c5e49757-2009","name":"lodash.js"}]}]},{"name":"assets/js/request-B5tUmhxE.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/request.ts","uid":"c5e49757-2011"}]},{"name":"assets/js/wmsInventoryCheckOrderDetails-EHi8j7tN.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsInventory/wmsInventoryCheckOrderDetails.ts","uid":"c5e49757-2013"}]},{"name":"assets/js/@microsoft-bC71ecZ7.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm","children":[{"uid":"c5e49757-2015","name":"Errors.js"},{"uid":"c5e49757-2017","name":"HttpClient.js"},{"uid":"c5e49757-2019","name":"ILogger.js"},{"uid":"c5e49757-2021","name":"Loggers.js"},{"uid":"c5e49757-2023","name":"Utils.js"},{"uid":"c5e49757-2025","name":"DynamicImports.js"},{"uid":"c5e49757-2027","name":"FetchHttpClient.js"},{"uid":"c5e49757-2029","name":"XhrHttpClient.js"},{"uid":"c5e49757-2031","name":"DefaultHttpClient.js"},{"uid":"c5e49757-2033","name":"TextMessageFormat.js"},{"uid":"c5e49757-2035","name":"HandshakeProtocol.js"},{"uid":"c5e49757-2037","name":"IHubProtocol.js"},{"uid":"c5e49757-2039","name":"Subject.js"},{"uid":"c5e49757-2041","name":"MessageBuffer.js"},{"uid":"c5e49757-2043","name":"HubConnection.js"},{"uid":"c5e49757-2045","name":"DefaultReconnectPolicy.js"},{"uid":"c5e49757-2047","name":"HeaderNames.js"},{"uid":"c5e49757-2049","name":"AccessTokenHttpClient.js"},{"uid":"c5e49757-2051","name":"ITransport.js"},{"uid":"c5e49757-2053","name":"AbortController.js"},{"uid":"c5e49757-2055","name":"LongPollingTransport.js"},{"uid":"c5e49757-2057","name":"ServerSentEventsTransport.js"},{"uid":"c5e49757-2059","name":"WebSocketTransport.js"},{"uid":"c5e49757-2061","name":"HttpConnection.js"},{"uid":"c5e49757-2063","name":"JsonHubProtocol.js"},{"uid":"c5e49757-2065","name":"HubConnectionBuilder.js"},{"uid":"c5e49757-2067","name":"index.js"}]}]},{"name":"assets/js/dompurify-DDJW9fQy.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dompurify/dist/purify.es.js","uid":"c5e49757-2069"}]},{"name":"assets/js/engine.io-client-l6RmLiA3.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs","children":[{"uid":"c5e49757-2071","name":"index.js?commonjs-exports"},{"uid":"c5e49757-2073","name":"socket.js?commonjs-exports"},{"name":"transports","children":[{"uid":"c5e49757-2075","name":"index.js?commonjs-exports"},{"uid":"c5e49757-2077","name":"polling.js?commonjs-exports"},{"uid":"c5e49757-2099","name":"xmlhttprequest.browser.js?commonjs-exports"},{"uid":"c5e49757-2109","name":"websocket.js?commonjs-exports"},{"uid":"c5e49757-2111","name":"websocket-constructor.browser.js?commonjs-exports"},{"uid":"c5e49757-2117","name":"webtransport.js?commonjs-exports"}]},{"uid":"c5e49757-2079","name":"transport.js?commonjs-exports"},{"uid":"c5e49757-2081","name":"util.js?commonjs-exports"},{"uid":"c5e49757-2083","name":"globalThis.browser.js?commonjs-exports"},{"name":"contrib","children":[{"uid":"c5e49757-2089","name":"parseqs.js?commonjs-exports"},{"uid":"c5e49757-2095","name":"yeast.js?commonjs-exports"},{"uid":"c5e49757-2101","name":"has-cors.js?commonjs-exports"},{"uid":"c5e49757-2123","name":"parseuri.js?commonjs-exports"}]}]},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs","children":[{"uid":"c5e49757-2085","name":"globalThis.browser.js"},{"uid":"c5e49757-2087","name":"util.js"},{"name":"contrib","children":[{"uid":"c5e49757-2091","name":"parseqs.js"},{"uid":"c5e49757-2097","name":"yeast.js"},{"uid":"c5e49757-2103","name":"has-cors.js"},{"uid":"c5e49757-2125","name":"parseuri.js"}]},{"uid":"c5e49757-2093","name":"transport.js"},{"name":"transports","children":[{"uid":"c5e49757-2105","name":"xmlhttprequest.browser.js"},{"uid":"c5e49757-2107","name":"polling.js"},{"uid":"c5e49757-2113","name":"websocket-constructor.browser.js"},{"uid":"c5e49757-2115","name":"websocket.js"},{"uid":"c5e49757-2119","name":"webtransport.js"},{"uid":"c5e49757-2121","name":"index.js"}]},{"uid":"c5e49757-2127","name":"socket.js"},{"uid":"c5e49757-2129","name":"index.js"}]}]},{"name":"assets/js/sys-code-gen-api-IM4Y0C90.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-code-gen-api.ts","uid":"c5e49757-2131"}]},{"name":"assets/js/socket.io-parser-Ba73oGJ8.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-parser/build/cjs","children":[{"uid":"c5e49757-2133","name":"index.js?commonjs-exports"},{"uid":"c5e49757-2135","name":"binary.js?commonjs-exports"},{"uid":"c5e49757-2137","name":"is-binary.js?commonjs-exports"}]},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-parser/build/cjs","children":[{"uid":"c5e49757-2139","name":"is-binary.js"},{"uid":"c5e49757-2141","name":"binary.js"},{"uid":"c5e49757-2143","name":"index.js"}]}]},{"name":"assets/js/@noble-DPz6ZhRw.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@noble/curves/esm/abstract","children":[{"uid":"c5e49757-2145","name":"utils.js"},{"uid":"c5e49757-2147","name":"modular.js"},{"uid":"c5e49757-2149","name":"curve.js"},{"uid":"c5e49757-2151","name":"weierstrass.js"}]}]},{"name":"assets/js/wmsOrderQc-DBU9qhUr.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsQC/wmsOrderQc.ts","uid":"c5e49757-2153"}]},{"name":"assets/js/wmsFactory-B0zYWe3V.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsFactory.ts","uid":"c5e49757-2155"}]},{"name":"assets/js/sys-database-api-DmcKwmy9.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-database-api.ts","uid":"c5e49757-2157"}]},{"name":"assets/js/stackblur-canvas-BZEFsJiX.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/stackblur-canvas/dist/stackblur-es.js","uid":"c5e49757-2159"},{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/stackblur-canvas/dist/stackblur-es.js?commonjs-proxy","uid":"c5e49757-2161"}]},{"name":"assets/js/sm-crypto-v2-DLb6OVo0.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/sm-crypto-v2/dist/index.mjs","uid":"c5e49757-2163"}]},{"name":"assets/js/jsbarcode-0XFUYmA_.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin","children":[{"name":"barcodes","children":[{"uid":"c5e49757-2165","name":"index.js?commonjs-exports"},{"name":"CODE39/index.js?commonjs-exports","uid":"c5e49757-2167"},{"uid":"c5e49757-2169","name":"Barcode.js?commonjs-exports"},{"name":"CODE128","children":[{"uid":"c5e49757-2175","name":"index.js?commonjs-exports"},{"uid":"c5e49757-2177","name":"CODE128_AUTO.js?commonjs-exports"},{"uid":"c5e49757-2179","name":"CODE128.js?commonjs-exports"},{"uid":"c5e49757-2181","name":"constants.js?commonjs-exports"},{"uid":"c5e49757-2187","name":"auto.js?commonjs-exports"},{"uid":"c5e49757-2193","name":"CODE128A.js?commonjs-exports"},{"uid":"c5e49757-2197","name":"CODE128B.js?commonjs-exports"},{"uid":"c5e49757-2201","name":"CODE128C.js?commonjs-exports"}]},{"name":"EAN_UPC","children":[{"uid":"c5e49757-2207","name":"index.js?commonjs-exports"},{"uid":"c5e49757-2209","name":"EAN13.js?commonjs-exports"},{"uid":"c5e49757-2211","name":"constants.js?commonjs-exports"},{"uid":"c5e49757-2215","name":"EAN.js?commonjs-exports"},{"uid":"c5e49757-2217","name":"encoder.js?commonjs-exports"},{"uid":"c5e49757-2225","name":"EAN8.js?commonjs-exports"},{"uid":"c5e49757-2229","name":"EAN5.js?commonjs-exports"},{"uid":"c5e49757-2233","name":"EAN2.js?commonjs-exports"},{"uid":"c5e49757-2237","name":"UPC.js?commonjs-exports"},{"uid":"c5e49757-2241","name":"UPCE.js?commonjs-exports"}]},{"name":"ITF","children":[{"uid":"c5e49757-2247","name":"index.js?commonjs-exports"},{"uid":"c5e49757-2249","name":"ITF.js?commonjs-exports"},{"uid":"c5e49757-2251","name":"constants.js?commonjs-exports"},{"uid":"c5e49757-2257","name":"ITF14.js?commonjs-exports"}]},{"name":"MSI","children":[{"uid":"c5e49757-2263","name":"index.js?commonjs-exports"},{"uid":"c5e49757-2265","name":"MSI.js?commonjs-exports"},{"uid":"c5e49757-2269","name":"MSI10.js?commonjs-exports"},{"uid":"c5e49757-2271","name":"checksums.js?commonjs-exports"},{"uid":"c5e49757-2277","name":"MSI11.js?commonjs-exports"},{"uid":"c5e49757-2281","name":"MSI1010.js?commonjs-exports"},{"uid":"c5e49757-2285","name":"MSI1110.js?commonjs-exports"}]},{"name":"pharmacode/index.js?commonjs-exports","uid":"c5e49757-2291"},{"name":"codabar/index.js?commonjs-exports","uid":"c5e49757-2295"},{"name":"GenericBarcode/index.js?commonjs-exports","uid":"c5e49757-2299"}]},{"name":"help","children":[{"uid":"c5e49757-2305","name":"merge.js?commonjs-exports"},{"uid":"c5e49757-2309","name":"linearizeEncodings.js?commonjs-exports"},{"uid":"c5e49757-2313","name":"fixOptions.js?commonjs-exports"},{"uid":"c5e49757-2317","name":"getRenderProperties.js?commonjs-exports"},{"uid":"c5e49757-2319","name":"getOptionsFromElement.js?commonjs-exports"},{"uid":"c5e49757-2321","name":"optionsFromStrings.js?commonjs-exports"}]},{"name":"options/defaults.js?commonjs-exports","uid":"c5e49757-2325"},{"name":"renderers","children":[{"uid":"c5e49757-2331","name":"index.js?commonjs-exports"},{"uid":"c5e49757-2333","name":"canvas.js?commonjs-exports"},{"uid":"c5e49757-2335","name":"shared.js?commonjs-exports"},{"uid":"c5e49757-2341","name":"svg.js?commonjs-exports"},{"uid":"c5e49757-2345","name":"object.js?commonjs-exports"}]},{"name":"exceptions","children":[{"uid":"c5e49757-2351","name":"exceptions.js?commonjs-exports"},{"uid":"c5e49757-2357","name":"ErrorHandler.js?commonjs-exports"}]}]},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin","children":[{"name":"barcodes","children":[{"uid":"c5e49757-2171","name":"Barcode.js"},{"name":"CODE39/index.js","uid":"c5e49757-2173"},{"name":"CODE128","children":[{"uid":"c5e49757-2183","name":"constants.js"},{"uid":"c5e49757-2185","name":"CODE128.js"},{"uid":"c5e49757-2189","name":"auto.js"},{"uid":"c5e49757-2191","name":"CODE128_AUTO.js"},{"uid":"c5e49757-2195","name":"CODE128A.js"},{"uid":"c5e49757-2199","name":"CODE128B.js"},{"uid":"c5e49757-2203","name":"CODE128C.js"},{"uid":"c5e49757-2205","name":"index.js"}]},{"name":"EAN_UPC","children":[{"uid":"c5e49757-2213","name":"constants.js"},{"uid":"c5e49757-2219","name":"encoder.js"},{"uid":"c5e49757-2221","name":"EAN.js"},{"uid":"c5e49757-2223","name":"EAN13.js"},{"uid":"c5e49757-2227","name":"EAN8.js"},{"uid":"c5e49757-2231","name":"EAN5.js"},{"uid":"c5e49757-2235","name":"EAN2.js"},{"uid":"c5e49757-2239","name":"UPC.js"},{"uid":"c5e49757-2243","name":"UPCE.js"},{"uid":"c5e49757-2245","name":"index.js"}]},{"name":"ITF","children":[{"uid":"c5e49757-2253","name":"constants.js"},{"uid":"c5e49757-2255","name":"ITF.js"},{"uid":"c5e49757-2259","name":"ITF14.js"},{"uid":"c5e49757-2261","name":"index.js"}]},{"name":"MSI","children":[{"uid":"c5e49757-2267","name":"MSI.js"},{"uid":"c5e49757-2273","name":"checksums.js"},{"uid":"c5e49757-2275","name":"MSI10.js"},{"uid":"c5e49757-2279","name":"MSI11.js"},{"uid":"c5e49757-2283","name":"MSI1010.js"},{"uid":"c5e49757-2287","name":"MSI1110.js"},{"uid":"c5e49757-2289","name":"index.js"}]},{"name":"pharmacode/index.js","uid":"c5e49757-2293"},{"name":"codabar/index.js","uid":"c5e49757-2297"},{"name":"GenericBarcode/index.js","uid":"c5e49757-2301"},{"uid":"c5e49757-2303","name":"index.js"}]},{"name":"help","children":[{"uid":"c5e49757-2307","name":"merge.js"},{"uid":"c5e49757-2311","name":"linearizeEncodings.js"},{"uid":"c5e49757-2315","name":"fixOptions.js"},{"uid":"c5e49757-2323","name":"optionsFromStrings.js"},{"uid":"c5e49757-2329","name":"getOptionsFromElement.js"},{"uid":"c5e49757-2355","name":"getRenderProperties.js"}]},{"name":"options/defaults.js","uid":"c5e49757-2327"},{"name":"renderers","children":[{"uid":"c5e49757-2337","name":"shared.js"},{"uid":"c5e49757-2339","name":"canvas.js"},{"uid":"c5e49757-2343","name":"svg.js"},{"uid":"c5e49757-2347","name":"object.js"},{"uid":"c5e49757-2349","name":"index.js"}]},{"name":"exceptions","children":[{"uid":"c5e49757-2353","name":"exceptions.js"},{"uid":"c5e49757-2359","name":"ErrorHandler.js"}]},{"uid":"c5e49757-2361","name":"JsBarcode.js"}]}]},{"name":"assets/js/@element-plus-Cl5AH-8w.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@element-plus/icons-vue/dist/index.js","uid":"c5e49757-2363"}]},{"name":"assets/js/editLdap.vue_vue_type_script_setup_true_lang-L1bMBKm_.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api-services/apis/sys-ldap-api.ts","uid":"c5e49757-2365"},{"name":"views/system/ldap/component/editLdap.vue?vue&type=script&setup=true&lang.ts","uid":"c5e49757-2367"}]}]},{"name":"assets/js/normalize-wheel-es-Vn5vHDCm.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/normalize-wheel-es/dist/index.mjs","uid":"c5e49757-2369"}]},{"name":"assets/js/tslib-ZseNXxlj.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/tslib/tslib.es6.js","uid":"c5e49757-2371"}]},{"name":"assets/js/vue-i18n-D4kTt_M-.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-i18n/dist","children":[{"uid":"c5e49757-2373","name":"vue-i18n.cjs?commonjs-exports"},{"uid":"c5e49757-2377","name":"vue-i18n.cjs?commonjs-proxy"}]},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-i18n/dist","children":[{"uid":"c5e49757-2375","name":"vue-i18n.cjs"},{"uid":"c5e49757-2379","name":"vue-i18n.cjs.js"}]}]},{"name":"assets/js/svg-pathdata-Bja4ukkc.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/svg-pathdata/lib/SVGPathData.cjs?commonjs-module","uid":"c5e49757-2381"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/svg-pathdata/lib/SVGPathData.cjs","uid":"c5e49757-2383"}]},{"name":"assets/js/wmsInventoryCheckOrder-DcrH-Wgp.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsInventory/wmsInventoryCheckOrder.ts","uid":"c5e49757-2385"}]},{"name":"assets/js/raf-WEcgLGM5.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/raf/index.js?commonjs-module","uid":"c5e49757-2387"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/raf/index.js","uid":"c5e49757-2389"}]},{"name":"assets/js/vue-clipboard3-0FGcY_a2.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-clipboard3/dist/esm/index.js","uid":"c5e49757-2391"}]},{"name":"assets/js/sys-file-api-D-nIgZGR.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-file-api.ts","uid":"c5e49757-2393"}]},{"name":"assets/js/html2canvas-DIQSJSdx.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/html2canvas/dist/html2canvas.esm.js","uid":"c5e49757-2395"}]},{"name":"assets/js/animate.css-BTpSc8gs.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/animate.css/animate.css","uid":"c5e49757-2397"}]},{"name":"assets/js/baseCustomer-DTQXG9n0.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/baseCustomer.ts","uid":"c5e49757-2399"}]},{"name":"assets/js/qrcodejs2-fixes-BsQHHdF0.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/qrcodejs2-fixes/qrcode.js?commonjs-module","uid":"c5e49757-2401"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/qrcodejs2-fixes/qrcode.js","uid":"c5e49757-2403"}]},{"name":"assets/js/print-js-C3E_HArK.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/print-js/dist/print.js?commonjs-module","uid":"c5e49757-2405"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/print-js/dist/print.js","uid":"c5e49757-2407"}]},{"name":"assets/js/rgbcolor-t7ataybn.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/rgbcolor/index.js","uid":"c5e49757-2409"}]},{"name":"assets/js/jquery-BNkrSPIR.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jquery/dist/jquery.js?commonjs-module","uid":"c5e49757-2411"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jquery/dist/jquery.js","uid":"c5e49757-2413"}]},{"name":"assets/js/wmsUnit-oo72uf4m.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsUnit.ts","uid":"c5e49757-2415"}]},{"name":"assets/js/wmsContainerType-Infv6FIE.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsContainerType.ts","uid":"c5e49757-2417"}]},{"name":"assets/js/inventoryWarning-CTFalyCT.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/inventoryWarning/inventoryWarning.ts","uid":"c5e49757-2419"}]},{"name":"assets/js/wmsRecordTrans-sPt-wSgr.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsRecordTrans.ts","uid":"c5e49757-2421"}]},{"name":"assets/js/fkDialog.vue_vue_type_script_setup_true_name_sysCodeGenFk_lang-Dcm1951Z.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen/component/fkDialog.vue?vue&type=script&setup=true&name=sysCodeGenFk&lang.ts","uid":"c5e49757-2423"}]},{"name":"assets/js/wmsMaterial-J_l1xoPq.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsMaterial.ts","uid":"c5e49757-2425"}]},{"name":"assets/js/index-BxtTuhKN.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/menu","children":[{"uid":"c5e49757-2427","name":"index.vue?vue&type=script&setup=true&name=sysMenu&lang.ts"},{"uid":"c5e49757-2429","name":"index.vue"}]}]},{"name":"assets/js/exportTableDataExcell-BY_5yl_Y.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"utils/exportExcelForDetail.ts","uid":"c5e49757-2431"},{"name":"hooks/exportTableDataExcell.ts","uid":"c5e49757-2433"}]}]},{"name":"assets/js/cache-CIf8gBrN.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/cache.ts","uid":"c5e49757-2435"}]},{"name":"assets/js/authFunction-BOpW1uA_.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/authFunction.ts","uid":"c5e49757-2437"}]},{"name":"assets/js/index-2TLxm6pR.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/Check/checkOrder/index.ts","uid":"c5e49757-2439"}]},{"name":"assets/js/propDetail.vue_vue_type_script_setup_true_lang-D37lDMo-.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/component/propDetail.vue?vue&type=script&setup=true&lang.ts","uid":"c5e49757-2441"}]},{"name":"assets/js/wmsStockQuan-DNCKjC8O.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsStockQuan.ts","uid":"c5e49757-2443"}]},{"name":"assets/js/wmsOrderDeliverDetails-D7-L7OZD.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsOrderDo/wmsOrderDeliverDetails.ts","uid":"c5e49757-2445"}]},{"name":"assets/js/wmsRecordSncodePrint-DITxh-0L.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/PrintCenter/wmsRecordSncodePrint.ts","uid":"c5e49757-2447"}]},{"name":"assets/js/sys-dict-data-api-Dhx9JaOV.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-dict-data-api.ts","uid":"c5e49757-2449"}]},{"name":"assets/js/wmsBusinessType-J1AhQWnv.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsBusinessType.ts","uid":"c5e49757-2451"}]},{"name":"assets/js/formate-WB4pYA1a.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/formate.ts","uid":"c5e49757-2453"}]},{"name":"assets/js/sys-notice-api-BKWMaQ0c.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-notice-api.ts","uid":"c5e49757-2455"}]},{"name":"assets/js/editNotice.vue_vue_type_script_setup_true_name_sysNoticeEdit_lang-BTKquPYi.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"components/editor/index.vue?vue&type=script&setup=true&name=wngEditor&lang.ts","uid":"c5e49757-2457"},{"name":"views/system/notice/component/editNotice.vue?vue&type=script&setup=true&name=sysNoticeEdit&lang.ts","uid":"c5e49757-2459"}]}]},{"name":"assets/js/zrender-CpbH5vNn.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib","children":[{"name":"core","children":[{"uid":"c5e49757-2461","name":"env.js"},{"uid":"c5e49757-2463","name":"platform.js"},{"uid":"c5e49757-2465","name":"util.js"},{"uid":"c5e49757-2467","name":"vector.js"},{"uid":"c5e49757-2471","name":"Eventful.js"},{"uid":"c5e49757-2473","name":"fourPointsTransform.js"},{"uid":"c5e49757-2475","name":"dom.js"},{"uid":"c5e49757-2477","name":"event.js"},{"uid":"c5e49757-2479","name":"GestureMgr.js"},{"uid":"c5e49757-2481","name":"matrix.js"},{"uid":"c5e49757-2483","name":"Point.js"},{"uid":"c5e49757-2485","name":"BoundingRect.js"},{"uid":"c5e49757-2489","name":"timsort.js"},{"uid":"c5e49757-2499","name":"curve.js"},{"uid":"c5e49757-2505","name":"LRU.js"},{"uid":"c5e49757-2519","name":"Transformable.js"},{"uid":"c5e49757-2535","name":"bbox.js"},{"uid":"c5e49757-2537","name":"PathProxy.js"},{"uid":"c5e49757-2603","name":"OrientedBoundingRect.js"},{"uid":"c5e49757-2607","name":"WeakMap.js"}]},{"name":"mixin/Draggable.js","uid":"c5e49757-2469"},{"uid":"c5e49757-2487","name":"Handler.js"},{"name":"graphic","children":[{"uid":"c5e49757-2491","name":"constants.js"},{"uid":"c5e49757-2525","name":"Group.js"},{"name":"helper","children":[{"uid":"c5e49757-2529","name":"image.js"},{"uid":"c5e49757-2531","name":"parseText.js"},{"uid":"c5e49757-2559","name":"roundRect.js"},{"uid":"c5e49757-2561","name":"subPixelOptimize.js"},{"uid":"c5e49757-2575","name":"roundSector.js"},{"uid":"c5e49757-2581","name":"smoothBezier.js"},{"uid":"c5e49757-2583","name":"poly.js"}]},{"uid":"c5e49757-2533","name":"Displayable.js"},{"uid":"c5e49757-2553","name":"Path.js"},{"uid":"c5e49757-2555","name":"TSpan.js"},{"uid":"c5e49757-2557","name":"Image.js"},{"name":"shape","children":[{"uid":"c5e49757-2563","name":"Rect.js"},{"uid":"c5e49757-2571","name":"Circle.js"},{"uid":"c5e49757-2573","name":"Ellipse.js"},{"uid":"c5e49757-2577","name":"Sector.js"},{"uid":"c5e49757-2579","name":"Ring.js"},{"uid":"c5e49757-2585","name":"Polygon.js"},{"uid":"c5e49757-2587","name":"Polyline.js"},{"uid":"c5e49757-2589","name":"Line.js"},{"uid":"c5e49757-2591","name":"BezierCurve.js"},{"uid":"c5e49757-2593","name":"Arc.js"}]},{"uid":"c5e49757-2565","name":"Text.js"},{"uid":"c5e49757-2595","name":"CompoundPath.js"},{"uid":"c5e49757-2597","name":"Gradient.js"},{"uid":"c5e49757-2599","name":"LinearGradient.js"},{"uid":"c5e49757-2601","name":"RadialGradient.js"},{"uid":"c5e49757-2605","name":"IncrementalDisplayable.js"}]},{"uid":"c5e49757-2493","name":"Storage.js"},{"name":"animation","children":[{"uid":"c5e49757-2495","name":"requestAnimationFrame.js"},{"uid":"c5e49757-2497","name":"easing.js"},{"uid":"c5e49757-2501","name":"cubicEasing.js"},{"uid":"c5e49757-2503","name":"Clip.js"},{"uid":"c5e49757-2511","name":"Animator.js"},{"uid":"c5e49757-2513","name":"Animation.js"}]},{"name":"tool","children":[{"uid":"c5e49757-2507","name":"color.js"},{"uid":"c5e49757-2567","name":"transformPath.js"},{"uid":"c5e49757-2569","name":"path.js"},{"uid":"c5e49757-2641","name":"parseXML.js"},{"uid":"c5e49757-2643","name":"parseSVG.js"},{"uid":"c5e49757-2645","name":"convertPath.js"},{"uid":"c5e49757-2647","name":"dividePath.js"},{"uid":"c5e49757-2649","name":"morphPath.js"}]},{"name":"svg","children":[{"uid":"c5e49757-2509","name":"helper.js"},{"uid":"c5e49757-2617","name":"SVGPathRebuilder.js"},{"uid":"c5e49757-2619","name":"mapStyleToAttrs.js"},{"uid":"c5e49757-2621","name":"core.js"},{"uid":"c5e49757-2623","name":"cssClassId.js"},{"uid":"c5e49757-2625","name":"cssAnimation.js"},{"uid":"c5e49757-2627","name":"cssEmphasis.js"},{"uid":"c5e49757-2629","name":"graphic.js"},{"uid":"c5e49757-2631","name":"domapi.js"},{"uid":"c5e49757-2633","name":"patch.js"},{"uid":"c5e49757-2635","name":"Painter.js"}]},{"name":"dom/HandlerProxy.js","uid":"c5e49757-2515"},{"uid":"c5e49757-2517","name":"config.js"},{"name":"contain","children":[{"uid":"c5e49757-2521","name":"text.js"},{"uid":"c5e49757-2539","name":"line.js"},{"uid":"c5e49757-2541","name":"cubic.js"},{"uid":"c5e49757-2543","name":"quadratic.js"},{"uid":"c5e49757-2545","name":"util.js"},{"uid":"c5e49757-2547","name":"arc.js"},{"uid":"c5e49757-2549","name":"windingLine.js"},{"uid":"c5e49757-2551","name":"path.js"},{"uid":"c5e49757-2615","name":"polygon.js"}]},{"uid":"c5e49757-2523","name":"Element.js"},{"uid":"c5e49757-2527","name":"zrender.js"},{"name":"canvas","children":[{"uid":"c5e49757-2609","name":"helper.js"},{"uid":"c5e49757-2611","name":"dashStyle.js"},{"uid":"c5e49757-2613","name":"graphic.js"},{"uid":"c5e49757-2637","name":"Layer.js"},{"uid":"c5e49757-2639","name":"Painter.js"}]}]}]},{"name":"assets/js/core-js-DrjUESwt.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js","children":[{"name":"modules","children":[{"uid":"c5e49757-2651","name":"es.object.to-string.js?commonjs-exports"},{"uid":"c5e49757-2761","name":"es.promise.js?commonjs-exports"},{"uid":"c5e49757-2763","name":"es.promise.constructor.js?commonjs-exports"},{"uid":"c5e49757-2877","name":"es.promise.all.js?commonjs-exports"},{"uid":"c5e49757-2897","name":"es.promise.catch.js?commonjs-exports"},{"uid":"c5e49757-2901","name":"es.promise.race.js?commonjs-exports"},{"uid":"c5e49757-2905","name":"es.promise.reject.js?commonjs-exports"},{"uid":"c5e49757-2909","name":"es.promise.resolve.js?commonjs-exports"},{"uid":"c5e49757-2917","name":"es.reflect.delete-property.js?commonjs-exports"},{"uid":"c5e49757-2921","name":"es.array.map.js?commonjs-exports"},{"uid":"c5e49757-2935","name":"es.parse-float.js?commonjs-exports"},{"uid":"c5e49757-2947","name":"es.regexp.exec.js?commonjs-exports"},{"uid":"c5e49757-2969","name":"es.string.match.js?commonjs-exports"},{"uid":"c5e49757-2981","name":"es.string.replace.js?commonjs-exports"},{"uid":"c5e49757-2987","name":"es.string.starts-with.js?commonjs-exports"},{"uid":"c5e49757-2997","name":"es.array.join.js?commonjs-exports"},{"uid":"c5e49757-3003","name":"es.array.concat.js?commonjs-exports"},{"uid":"c5e49757-3011","name":"es.array.every.js?commonjs-exports"},{"uid":"c5e49757-3015","name":"es.array.reduce.js?commonjs-exports"},{"uid":"c5e49757-3021","name":"es.string.ends-with.js?commonjs-exports"},{"uid":"c5e49757-3025","name":"es.string.split.js?commonjs-exports"},{"uid":"c5e49757-3029","name":"es.function.name.js?commonjs-exports"},{"uid":"c5e49757-3033","name":"es.string.trim.js?commonjs-exports"},{"uid":"c5e49757-3039","name":"es.array.for-each.js?commonjs-exports"},{"uid":"c5e49757-3045","name":"web.dom-collections.for-each.js?commonjs-exports"},{"uid":"c5e49757-3053","name":"es.array.from.js?commonjs-exports"},{"uid":"c5e49757-3061","name":"es.array.includes.js?commonjs-exports"},{"uid":"c5e49757-3067","name":"es.array.index-of.js?commonjs-exports"},{"uid":"c5e49757-3071","name":"es.array.some.js?commonjs-exports"},{"uid":"c5e49757-3075","name":"es.string.includes.js?commonjs-exports"},{"uid":"c5e49757-3079","name":"es.string.iterator.js?commonjs-exports"},{"uid":"c5e49757-3095","name":"es.array.reverse.js?commonjs-exports"},{"uid":"c5e49757-3099","name":"es.number.constructor.js?commonjs-exports"},{"uid":"c5e49757-3109","name":"es.array.fill.js?commonjs-exports"},{"uid":"c5e49757-3115","name":"es.regexp.to-string.js?commonjs-exports"},{"uid":"c5e49757-3123","name":"web.dom-collections.iterator.js?commonjs-exports"},{"uid":"c5e49757-3127","name":"es.map.js?commonjs-exports"},{"uid":"c5e49757-3129","name":"es.map.constructor.js?commonjs-exports"},{"uid":"c5e49757-3155","name":"es.reflect.apply.js?commonjs-exports"},{"uid":"c5e49757-3159","name":"es.reflect.get-prototype-of.js?commonjs-exports"}]},{"name":"internals","children":[{"uid":"c5e49757-2655","name":"shared-store.js?commonjs-module"},{"uid":"c5e49757-2695","name":"object-define-property.js?commonjs-exports"},{"uid":"c5e49757-2731","name":"make-built-in.js?commonjs-module"},{"uid":"c5e49757-2765","name":"object-get-own-property-descriptor.js?commonjs-exports"},{"uid":"c5e49757-2767","name":"object-property-is-enumerable.js?commonjs-exports"},{"uid":"c5e49757-2777","name":"object-get-own-property-names.js?commonjs-exports"},{"uid":"c5e49757-2797","name":"object-get-own-property-symbols.js?commonjs-exports"},{"uid":"c5e49757-2871","name":"new-promise-capability.js?commonjs-exports"},{"uid":"c5e49757-2953","name":"object-define-properties.js?commonjs-exports"},{"uid":"c5e49757-3131","name":"internal-metadata.js?commonjs-module"},{"uid":"c5e49757-3133","name":"object-get-own-property-names-external.js?commonjs-exports"}]}]},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js","children":[{"name":"internals","children":[{"uid":"c5e49757-2653","name":"global.js"},{"uid":"c5e49757-2657","name":"is-pure.js"},{"uid":"c5e49757-2659","name":"define-global-property.js"},{"uid":"c5e49757-2661","name":"shared-store.js"},{"uid":"c5e49757-2663","name":"shared.js"},{"uid":"c5e49757-2665","name":"fails.js"},{"uid":"c5e49757-2667","name":"function-bind-native.js"},{"uid":"c5e49757-2669","name":"function-uncurry-this.js"},{"uid":"c5e49757-2671","name":"is-null-or-undefined.js"},{"uid":"c5e49757-2673","name":"require-object-coercible.js"},{"uid":"c5e49757-2675","name":"to-object.js"},{"uid":"c5e49757-2677","name":"has-own-property.js"},{"uid":"c5e49757-2679","name":"uid.js"},{"uid":"c5e49757-2681","name":"engine-user-agent.js"},{"uid":"c5e49757-2683","name":"engine-v8-version.js"},{"uid":"c5e49757-2685","name":"symbol-constructor-detection.js"},{"uid":"c5e49757-2687","name":"use-symbol-as-uid.js"},{"uid":"c5e49757-2689","name":"well-known-symbol.js"},{"uid":"c5e49757-2691","name":"to-string-tag-support.js"},{"uid":"c5e49757-2693","name":"is-callable.js"},{"uid":"c5e49757-2697","name":"descriptors.js"},{"uid":"c5e49757-2699","name":"is-object.js"},{"uid":"c5e49757-2701","name":"document-create-element.js"},{"uid":"c5e49757-2703","name":"ie8-dom-define.js"},{"uid":"c5e49757-2705","name":"v8-prototype-define-bug.js"},{"uid":"c5e49757-2707","name":"an-object.js"},{"uid":"c5e49757-2709","name":"function-call.js"},{"uid":"c5e49757-2711","name":"get-built-in.js"},{"uid":"c5e49757-2713","name":"object-is-prototype-of.js"},{"uid":"c5e49757-2715","name":"is-symbol.js"},{"uid":"c5e49757-2717","name":"try-to-string.js"},{"uid":"c5e49757-2719","name":"a-callable.js"},{"uid":"c5e49757-2721","name":"get-method.js"},{"uid":"c5e49757-2723","name":"ordinary-to-primitive.js"},{"uid":"c5e49757-2725","name":"to-primitive.js"},{"uid":"c5e49757-2727","name":"to-property-key.js"},{"uid":"c5e49757-2729","name":"object-define-property.js"},{"uid":"c5e49757-2733","name":"function-name.js"},{"uid":"c5e49757-2735","name":"inspect-source.js"},{"uid":"c5e49757-2737","name":"weak-map-basic-detection.js"},{"uid":"c5e49757-2739","name":"create-property-descriptor.js"},{"uid":"c5e49757-2741","name":"create-non-enumerable-property.js"},{"uid":"c5e49757-2743","name":"shared-key.js"},{"uid":"c5e49757-2745","name":"hidden-keys.js"},{"uid":"c5e49757-2747","name":"internal-state.js"},{"uid":"c5e49757-2749","name":"make-built-in.js"},{"uid":"c5e49757-2751","name":"define-built-in.js"},{"uid":"c5e49757-2753","name":"classof-raw.js"},{"uid":"c5e49757-2755","name":"classof.js"},{"uid":"c5e49757-2757","name":"object-to-string.js"},{"uid":"c5e49757-2769","name":"object-property-is-enumerable.js"},{"uid":"c5e49757-2771","name":"indexed-object.js"},{"uid":"c5e49757-2773","name":"to-indexed-object.js"},{"uid":"c5e49757-2775","name":"object-get-own-property-descriptor.js"},{"uid":"c5e49757-2779","name":"math-trunc.js"},{"uid":"c5e49757-2781","name":"to-integer-or-infinity.js"},{"uid":"c5e49757-2783","name":"to-absolute-index.js"},{"uid":"c5e49757-2785","name":"to-length.js"},{"uid":"c5e49757-2787","name":"length-of-array-like.js"},{"uid":"c5e49757-2789","name":"array-includes.js"},{"uid":"c5e49757-2791","name":"object-keys-internal.js"},{"uid":"c5e49757-2793","name":"enum-bug-keys.js"},{"uid":"c5e49757-2795","name":"object-get-own-property-names.js"},{"uid":"c5e49757-2799","name":"object-get-own-property-symbols.js"},{"uid":"c5e49757-2801","name":"own-keys.js"},{"uid":"c5e49757-2803","name":"copy-constructor-properties.js"},{"uid":"c5e49757-2805","name":"is-forced.js"},{"uid":"c5e49757-2807","name":"export.js"},{"uid":"c5e49757-2809","name":"engine-is-node.js"},{"uid":"c5e49757-2811","name":"function-uncurry-this-accessor.js"},{"uid":"c5e49757-2813","name":"is-possible-prototype.js"},{"uid":"c5e49757-2815","name":"a-possible-prototype.js"},{"uid":"c5e49757-2817","name":"object-set-prototype-of.js"},{"uid":"c5e49757-2819","name":"set-to-string-tag.js"},{"uid":"c5e49757-2821","name":"define-built-in-accessor.js"},{"uid":"c5e49757-2823","name":"set-species.js"},{"uid":"c5e49757-2825","name":"an-instance.js"},{"uid":"c5e49757-2827","name":"is-constructor.js"},{"uid":"c5e49757-2829","name":"a-constructor.js"},{"uid":"c5e49757-2831","name":"species-constructor.js"},{"uid":"c5e49757-2833","name":"function-apply.js"},{"uid":"c5e49757-2835","name":"function-uncurry-this-clause.js"},{"uid":"c5e49757-2837","name":"function-bind-context.js"},{"uid":"c5e49757-2839","name":"html.js"},{"uid":"c5e49757-2841","name":"array-slice.js"},{"uid":"c5e49757-2843","name":"validate-arguments-length.js"},{"uid":"c5e49757-2845","name":"engine-is-ios.js"},{"uid":"c5e49757-2847","name":"task.js"},{"uid":"c5e49757-2849","name":"safe-get-built-in.js"},{"uid":"c5e49757-2851","name":"queue.js"},{"uid":"c5e49757-2853","name":"engine-is-ios-pebble.js"},{"uid":"c5e49757-2855","name":"engine-is-webos-webkit.js"},{"uid":"c5e49757-2857","name":"microtask.js"},{"uid":"c5e49757-2859","name":"host-report-errors.js"},{"uid":"c5e49757-2861","name":"perform.js"},{"uid":"c5e49757-2863","name":"promise-native-constructor.js"},{"uid":"c5e49757-2865","name":"engine-is-deno.js"},{"uid":"c5e49757-2867","name":"engine-is-browser.js"},{"uid":"c5e49757-2869","name":"promise-constructor-detection.js"},{"uid":"c5e49757-2873","name":"new-promise-capability.js"},{"uid":"c5e49757-2879","name":"iterators.js"},{"uid":"c5e49757-2881","name":"is-array-iterator-method.js"},{"uid":"c5e49757-2883","name":"get-iterator-method.js"},{"uid":"c5e49757-2885","name":"get-iterator.js"},{"uid":"c5e49757-2887","name":"iterator-close.js"},{"uid":"c5e49757-2889","name":"iterate.js"},{"uid":"c5e49757-2891","name":"check-correctness-of-iteration.js"},{"uid":"c5e49757-2893","name":"promise-statics-incorrect-iteration.js"},{"uid":"c5e49757-2911","name":"promise-resolve.js"},{"uid":"c5e49757-2923","name":"is-array.js"},{"uid":"c5e49757-2925","name":"array-species-constructor.js"},{"uid":"c5e49757-2927","name":"array-species-create.js"},{"uid":"c5e49757-2929","name":"array-iteration.js"},{"uid":"c5e49757-2931","name":"array-method-has-species-support.js"},{"uid":"c5e49757-2937","name":"to-string.js"},{"uid":"c5e49757-2939","name":"whitespaces.js"},{"uid":"c5e49757-2941","name":"string-trim.js"},{"uid":"c5e49757-2943","name":"number-parse-float.js"},{"uid":"c5e49757-2949","name":"regexp-flags.js"},{"uid":"c5e49757-2951","name":"regexp-sticky-helpers.js"},{"uid":"c5e49757-2955","name":"object-keys.js"},{"uid":"c5e49757-2957","name":"object-define-properties.js"},{"uid":"c5e49757-2959","name":"object-create.js"},{"uid":"c5e49757-2961","name":"regexp-unsupported-dot-all.js"},{"uid":"c5e49757-2963","name":"regexp-unsupported-ncg.js"},{"uid":"c5e49757-2965","name":"regexp-exec.js"},{"uid":"c5e49757-2971","name":"fix-regexp-well-known-symbol-logic.js"},{"uid":"c5e49757-2973","name":"string-multibyte.js"},{"uid":"c5e49757-2975","name":"advance-string-index.js"},{"uid":"c5e49757-2977","name":"regexp-exec-abstract.js"},{"uid":"c5e49757-2983","name":"get-substitution.js"},{"uid":"c5e49757-2989","name":"is-regexp.js"},{"uid":"c5e49757-2991","name":"not-a-regexp.js"},{"uid":"c5e49757-2993","name":"correct-is-regexp-logic.js"},{"uid":"c5e49757-2999","name":"array-method-is-strict.js"},{"uid":"c5e49757-3005","name":"does-not-exceed-safe-integer.js"},{"uid":"c5e49757-3007","name":"create-property.js"},{"uid":"c5e49757-3017","name":"array-reduce.js"},{"uid":"c5e49757-3035","name":"string-trim-forced.js"},{"uid":"c5e49757-3041","name":"array-for-each.js"},{"uid":"c5e49757-3047","name":"dom-iterables.js"},{"uid":"c5e49757-3049","name":"dom-token-list-prototype.js"},{"uid":"c5e49757-3055","name":"call-with-safe-iteration-closing.js"},{"uid":"c5e49757-3057","name":"array-from.js"},{"uid":"c5e49757-3063","name":"add-to-unscopables.js"},{"uid":"c5e49757-3081","name":"correct-prototype-getter.js"},{"uid":"c5e49757-3083","name":"object-get-prototype-of.js"},{"uid":"c5e49757-3085","name":"iterators-core.js"},{"uid":"c5e49757-3087","name":"iterator-create-constructor.js"},{"uid":"c5e49757-3089","name":"iterator-define.js"},{"uid":"c5e49757-3091","name":"create-iter-result-object.js"},{"uid":"c5e49757-3101","name":"path.js"},{"uid":"c5e49757-3103","name":"inherit-if-required.js"},{"uid":"c5e49757-3105","name":"this-number-value.js"},{"uid":"c5e49757-3111","name":"array-fill.js"},{"uid":"c5e49757-3117","name":"regexp-get-flags.js"},{"uid":"c5e49757-3135","name":"object-get-own-property-names-external.js"},{"uid":"c5e49757-3137","name":"array-buffer-non-extensible.js"},{"uid":"c5e49757-3139","name":"object-is-extensible.js"},{"uid":"c5e49757-3141","name":"freezing.js"},{"uid":"c5e49757-3143","name":"internal-metadata.js"},{"uid":"c5e49757-3145","name":"collection.js"},{"uid":"c5e49757-3147","name":"define-built-ins.js"},{"uid":"c5e49757-3149","name":"collection-strong.js"}]},{"name":"modules","children":[{"uid":"c5e49757-2759","name":"es.object.to-string.js"},{"uid":"c5e49757-2875","name":"es.promise.constructor.js"},{"uid":"c5e49757-2895","name":"es.promise.all.js"},{"uid":"c5e49757-2899","name":"es.promise.catch.js"},{"uid":"c5e49757-2903","name":"es.promise.race.js"},{"uid":"c5e49757-2907","name":"es.promise.reject.js"},{"uid":"c5e49757-2913","name":"es.promise.resolve.js"},{"uid":"c5e49757-2915","name":"es.promise.js"},{"uid":"c5e49757-2919","name":"es.reflect.delete-property.js"},{"uid":"c5e49757-2933","name":"es.array.map.js"},{"uid":"c5e49757-2945","name":"es.parse-float.js"},{"uid":"c5e49757-2967","name":"es.regexp.exec.js"},{"uid":"c5e49757-2979","name":"es.string.match.js"},{"uid":"c5e49757-2985","name":"es.string.replace.js"},{"uid":"c5e49757-2995","name":"es.string.starts-with.js"},{"uid":"c5e49757-3001","name":"es.array.join.js"},{"uid":"c5e49757-3009","name":"es.array.concat.js"},{"uid":"c5e49757-3013","name":"es.array.every.js"},{"uid":"c5e49757-3019","name":"es.array.reduce.js"},{"uid":"c5e49757-3023","name":"es.string.ends-with.js"},{"uid":"c5e49757-3027","name":"es.string.split.js"},{"uid":"c5e49757-3031","name":"es.function.name.js"},{"uid":"c5e49757-3037","name":"es.string.trim.js"},{"uid":"c5e49757-3043","name":"es.array.for-each.js"},{"uid":"c5e49757-3051","name":"web.dom-collections.for-each.js"},{"uid":"c5e49757-3059","name":"es.array.from.js"},{"uid":"c5e49757-3065","name":"es.array.includes.js"},{"uid":"c5e49757-3069","name":"es.array.index-of.js"},{"uid":"c5e49757-3073","name":"es.array.some.js"},{"uid":"c5e49757-3077","name":"es.string.includes.js"},{"uid":"c5e49757-3093","name":"es.string.iterator.js"},{"uid":"c5e49757-3097","name":"es.array.reverse.js"},{"uid":"c5e49757-3107","name":"es.number.constructor.js"},{"uid":"c5e49757-3113","name":"es.array.fill.js"},{"uid":"c5e49757-3119","name":"es.regexp.to-string.js"},{"uid":"c5e49757-3121","name":"es.array.iterator.js"},{"uid":"c5e49757-3125","name":"web.dom-collections.iterator.js"},{"uid":"c5e49757-3151","name":"es.map.constructor.js"},{"uid":"c5e49757-3153","name":"es.map.js"},{"uid":"c5e49757-3157","name":"es.reflect.apply.js"},{"uid":"c5e49757-3161","name":"es.reflect.get-prototype-of.js"}]}]}]},{"name":"assets/js/vue-grid-layout-iOrZdED0.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-grid-layout/dist/vue-grid-layout.common.js?commonjs-module","uid":"c5e49757-3163"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-grid-layout/dist/vue-grid-layout.common.js","uid":"c5e49757-3165"}]},{"name":"assets/js/sortablejs-CG_H93Kl.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/sortablejs/modular/sortable.esm.js","uid":"c5e49757-3167"}]},{"name":"assets/js/selectData-BvxPa4o6.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/WmsBase","children":[{"uid":"c5e49757-3169","name":"wmsArea.ts"},{"uid":"c5e49757-3171","name":"wmsWarehouse.ts"}]},{"name":"utils/selectData.ts","uid":"c5e49757-3173"}]}]},{"name":"assets/js/modifyRecord.vue_vue_type_script_setup_true_lang-rAORkTGS.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/table/modifyRecord.vue?vue&type=script&setup=true&lang.ts","uid":"c5e49757-3175"}]},{"name":"assets/js/wmsMaterialType-ierQBQZ9.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsMaterialType.ts","uid":"c5e49757-3177"}]},{"name":"assets/js/relation-graph-BeOmvV1C.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/relation-graph/node_modules/screenfull/dist/screenfull.js?commonjs-module","uid":"c5e49757-3179"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/relation-graph","children":[{"name":"node_modules/screenfull/dist/screenfull.js","uid":"c5e49757-3181"},{"name":"lib/vue3/relation-graph.mjs","uid":"c5e49757-3183"}]}]},{"name":"assets/js/editDialog-CF_aYJC4.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component","children":[{"uid":"c5e49757-3185","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3187","name":"editDialog.vue?vue&type=style&index=0&scoped=d70dc763&lang.scss"},{"uid":"c5e49757-3189","name":"editDialog.vue"}]}]},{"name":"assets/js/index-B6IiOPRs.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"utils/download2.ts","uid":"c5e49757-3191"},{"name":"components/importExcel","children":[{"uid":"c5e49757-3193","name":"index.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3195","name":"index.vue?vue&type=style&index=0&scoped=5a936ecf&lang.css"},{"uid":"c5e49757-3197","name":"index.vue"}]}]}]},{"name":"assets/js/visualTable-DPFs6mXa.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component","children":[{"uid":"c5e49757-3199","name":"visualTable.vue?vue&type=script&setup=true&name=databaseVisual&lang.ts"},{"uid":"c5e49757-3201","name":"visualTable.vue?vue&type=style&index=0&scoped=0cc80c30&lang.scss"},{"uid":"c5e49757-3203","name":"visualTable.vue"}]}]},{"name":"assets/js/canvg-C_HgrQEq.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/canvg/lib","children":[{"uid":"c5e49757-3205","name":"index.cjs?commonjs-exports"},{"uid":"c5e49757-3209","name":"index.cjs?commonjs-es-import"}]},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/canvg/lib/index.cjs","uid":"c5e49757-3207"}]},{"name":"assets/js/nprogress-FDdY5xze.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/nprogress/nprogress.js?commonjs-module","uid":"c5e49757-3211"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/nprogress","children":[{"uid":"c5e49757-3213","name":"nprogress.js"},{"uid":"c5e49757-3215","name":"nprogress.css"}]}]},{"name":"assets/js/404-BHZYcixX.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/error","children":[{"uid":"c5e49757-3217","name":"404.vue?vue&type=script&setup=true&name=notFound&lang.ts"},{"uid":"c5e49757-3219","name":"404.vue?vue&type=style&index=0&scoped=e79611c3&lang.scss"},{"uid":"c5e49757-3221","name":"404.vue"}]}]},{"name":"assets/js/socket.io-client-DBC_NmfQ.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-client/build/cjs","children":[{"uid":"c5e49757-3223","name":"index.js?commonjs-module"},{"uid":"c5e49757-3225","name":"url.js?commonjs-exports"},{"uid":"c5e49757-3229","name":"manager.js?commonjs-exports"},{"uid":"c5e49757-3231","name":"socket.js?commonjs-exports"},{"uid":"c5e49757-3233","name":"on.js?commonjs-exports"},{"name":"contrib/backo2.js?commonjs-exports","uid":"c5e49757-3239"}]},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-client/build/cjs","children":[{"uid":"c5e49757-3227","name":"url.js"},{"uid":"c5e49757-3235","name":"on.js"},{"uid":"c5e49757-3237","name":"socket.js"},{"name":"contrib/backo2.js","uid":"c5e49757-3241"},{"uid":"c5e49757-3243","name":"manager.js"},{"uid":"c5e49757-3245","name":"index.js"}]}]},{"name":"assets/js/dashboard-D-XIxDl9.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job","children":[{"uid":"c5e49757-3247","name":"dashboard.vue?vue&type=style&index=0&scoped=bddfeb40&lang.scss"},{"uid":"c5e49757-3249","name":"dashboard.vue"}]}]},{"name":"assets/js/link-DACEk8Ze.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/routerView","children":[{"uid":"c5e49757-3251","name":"link.vue?vue&type=script&setup=true&name=layoutLinkView&lang.ts"},{"uid":"c5e49757-3253","name":"link.vue?vue&type=style&index=0&scoped=6c4f31f3&lang.scss"},{"uid":"c5e49757-3255","name":"link.vue"}]}]},{"name":"assets/js/401-dleJhR1d.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/error","children":[{"uid":"c5e49757-3257","name":"401.vue?vue&type=script&setup=true&name=noPower&lang.ts"},{"uid":"c5e49757-3259","name":"401.vue?vue&type=style&index=0&scoped=f5388989&lang.scss"},{"uid":"c5e49757-3261","name":"401.vue"}]}]},{"name":"assets/js/index-DBaKmBat.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"assets","children":[{"uid":"c5e49757-3263","name":"login-icon-two.svg"},{"uid":"c5e49757-3265","name":"login-icon-two1.svg"},{"uid":"c5e49757-3267","name":"login-icon-two2.svg"}]},{"name":"views/login","children":[{"uid":"c5e49757-3269","name":"index.vue?vue&type=script&setup=true&name=loginIndex&lang.ts"},{"uid":"c5e49757-3271","name":"index.vue?vue&type=style&index=0&scoped=1219576d&lang.scss"},{"uid":"c5e49757-3273","name":"index.vue"}]}]}]},{"name":"assets/js/PropertyDialog-VcWtrd5Y.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Property","children":[{"uid":"c5e49757-3275","name":"PropertyDialog.vue?vue&type=style&index=0&scoped=2ed6c3c7&lang.scss"},{"uid":"c5e49757-3277","name":"PropertyDialog.vue"}]}]},{"name":"assets/js/detailDialog-Di1SPBLr.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component","children":[{"uid":"c5e49757-3279","name":"detailDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3281","name":"detailDialog.vue?vue&type=style&index=0&scoped=cc643cb3&lang.scss"},{"uid":"c5e49757-3283","name":"detailDialog.vue"}]}]},{"name":"assets/js/index-DT95CnMo.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow","children":[{"uid":"c5e49757-3285","name":"index.vue?vue&type=script&setup=true&name=approvalFlow&lang.ts"},{"uid":"c5e49757-3287","name":"index.vue?vue&type=style&index=0&scoped=680790bf&lang.css"},{"uid":"c5e49757-3289","name":"index.vue"}]}]},{"name":"assets/js/account-BY1ffgXg.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/login/component","children":[{"uid":"c5e49757-3291","name":"account.vue?vue&type=script&setup=true&name=loginAccount&lang.ts"},{"uid":"c5e49757-3293","name":"account.vue?vue&type=style&index=0&scoped=5181ed34&lang.scss"},{"uid":"c5e49757-3295","name":"account.vue"}]}]},{"name":"assets/js/openDialogDiff-bZz9m0FI.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkDifference/component","children":[{"uid":"c5e49757-3297","name":"openDialogDiff.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3299","name":"openDialogDiff.vue?vue&type=style&index=0&scoped=5e0caee6&lang.less"},{"uid":"c5e49757-3301","name":"openDialogDiff.vue"}]}]},{"name":"assets/js/editFlowDialog--NOW1YiN.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component","children":[{"name":"LogicFlow/Register","children":[{"name":"Edges/EdgeSql.ts","uid":"c5e49757-3303"},{"uid":"c5e49757-3305","name":"RegisterEdge.ts"},{"name":"Nodes","children":[{"uid":"c5e49757-3307","name":"NodeStart.ts"},{"uid":"c5e49757-3309","name":"NodeEnd.ts"},{"uid":"c5e49757-3311","name":"NodeTask.ts"},{"uid":"c5e49757-3313","name":"NodeUser.ts"},{"uid":"c5e49757-3315","name":"NodeSql.ts"}]},{"uid":"c5e49757-3317","name":"RegisterNode.ts"}]},{"uid":"c5e49757-3319","name":"editFlowDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3321","name":"editFlowDialog.vue?vue&type=style&index=0&scoped=d77993bf&lang.scss"},{"uid":"c5e49757-3323","name":"editFlowDialog.vue"}]}]},{"name":"assets/js/cropperjs-Dcck23_9.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/cropperjs/dist","children":[{"uid":"c5e49757-3325","name":"cropper.esm.js"},{"uid":"c5e49757-3327","name":"cropper.css"}]}]},{"name":"assets/js/openDetails-C-izIHKV.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/openDetails","children":[{"uid":"c5e49757-3329","name":"openDetails.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3331","name":"openDetails.vue?vue&type=style&index=0&scoped=cf5cb916&lang.less"},{"uid":"c5e49757-3333","name":"openDetails.vue"}]}]},{"name":"assets/js/scan-DOEv--Qw.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/login/component","children":[{"uid":"c5e49757-3335","name":"scan.vue?vue&type=script&setup=true&name=loginScan&lang.ts"},{"uid":"c5e49757-3337","name":"scan.vue?vue&type=style&index=0&scoped=0f43e3e0&lang.scss"},{"uid":"c5e49757-3339","name":"scan.vue"}]}]},{"name":"assets/js/editFormDialog-VyYygnpH.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component","children":[{"uid":"c5e49757-3341","name":"editFormDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3343","name":"editFormDialog.vue?vue&type=style&index=0&scoped=f01f177b&lang.scss"},{"uid":"c5e49757-3345","name":"editFormDialog.vue"}]}]},{"name":"assets/js/@vue-Ds_J_5va.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue","children":[{"name":"shared/dist/shared.esm-bundler.js","uid":"c5e49757-3347"},{"name":"reactivity/dist/reactivity.esm-bundler.js","uid":"c5e49757-3349"},{"name":"runtime-core/dist/runtime-core.esm-bundler.js","uid":"c5e49757-3351"},{"name":"runtime-dom/dist/runtime-dom.esm-bundler.js","uid":"c5e49757-3353"},{"name":"devtools-api/lib/esm","children":[{"uid":"c5e49757-3355","name":"env.js"},{"uid":"c5e49757-3357","name":"const.js"},{"uid":"c5e49757-3359","name":"time.js"},{"uid":"c5e49757-3361","name":"proxy.js"},{"name":"api","children":[{"uid":"c5e49757-3363","name":"api.js"},{"uid":"c5e49757-3365","name":"app.js"},{"uid":"c5e49757-3367","name":"component.js"},{"uid":"c5e49757-3369","name":"context.js"},{"uid":"c5e49757-3371","name":"hooks.js"},{"uid":"c5e49757-3373","name":"util.js"},{"uid":"c5e49757-3375","name":"index.js"}]},{"uid":"c5e49757-3377","name":"plugin.js"},{"uid":"c5e49757-3379","name":"index.js"}]}]}]},{"name":"assets/js/preview-C86Jqv3-.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/print/component/hiprint","children":[{"uid":"c5e49757-3381","name":"preview.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3383","name":"preview.vue?vue&type=style&index=0&scoped=663976c8&lang.less"},{"uid":"c5e49757-3385","name":"preview.vue"}]}]},{"name":"assets/js/editDialog-DWd02C3f.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsRecordSncodePrint/component","children":[{"uid":"c5e49757-3387","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3389","name":"editDialog.vue?vue&type=style&index=0&scoped=33842ed2&lang.css"},{"uid":"c5e49757-3391","name":"editDialog.vue"}]}]},{"name":"assets/js/index-yEi7Rp_N.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkDifference","children":[{"uid":"c5e49757-3393","name":"index.vue?vue&type=script&setup=true&name=checkDifference&lang.ts"},{"uid":"c5e49757-3395","name":"index.vue?vue&type=style&index=0&scoped=367158b2&lang.css"},{"uid":"c5e49757-3397","name":"index.vue"}]}]},{"name":"assets/js/editDialog-BIpDIT6Y.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsStockQuanPrint/component","children":[{"uid":"c5e49757-3399","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3401","name":"editDialog.vue?vue&type=style&index=0&scoped=8ba54297&lang.css"},{"uid":"c5e49757-3403","name":"editDialog.vue"}]}]},{"name":"assets/js/mobile-BAL5EffU.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api-services/apis/sys-sms-api.ts","uid":"c5e49757-3405"},{"name":"views/login/component","children":[{"uid":"c5e49757-3407","name":"mobile.vue?vue&type=script&setup=true&name=loginMobile&lang.ts"},{"uid":"c5e49757-3409","name":"mobile.vue?vue&type=style&index=0&scoped=61ca782a&lang.scss"},{"uid":"c5e49757-3411","name":"mobile.vue"}]}]}]},{"name":"assets/js/index-Ch9EsQzM.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsRecordSncodePrint","children":[{"uid":"c5e49757-3413","name":"index.vue?vue&type=script&setup=true&name=wmsRecordSncodePrint&lang.ts"},{"uid":"c5e49757-3415","name":"index.vue?vue&type=style&index=0&scoped=7b9ddc91&lang.css"},{"uid":"c5e49757-3417","name":"index.vue"}]}]},{"name":"assets/js/index-B-rMSlxA.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/Pagination","children":[{"uid":"c5e49757-3419","name":"index.vue?vue&type=script&lang.ts"},{"uid":"c5e49757-3421","name":"index.vue?vue&type=style&index=0&scoped=12fff834&lang.css"},{"uid":"c5e49757-3423","name":"index.vue"}]}]},{"name":"assets/js/index-BBZlL3kK.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsStockQuanPrint","children":[{"uid":"c5e49757-3425","name":"index.vue?vue&type=script&setup=true&name=wmsStockQuan&lang.ts"},{"uid":"c5e49757-3427","name":"index.vue?vue&type=style&index=0&scoped=0c4b4d03&lang.css"},{"uid":"c5e49757-3429","name":"index.vue"}]}]},{"name":"assets/js/editDialog-CgEyZYvm.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordTrans/component","children":[{"uid":"c5e49757-3431","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3433","name":"editDialog.vue?vue&type=style&index=0&scoped=c1f13001&lang.css"},{"uid":"c5e49757-3435","name":"editDialog.vue"}]}]},{"name":"assets/js/editDialog-ClET6whI.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsLogAction/component","children":[{"uid":"c5e49757-3437","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3439","name":"editDialog.vue?vue&type=style&index=0&scoped=d6f1f162&lang.css"},{"uid":"c5e49757-3441","name":"editDialog.vue"}]}]},{"name":"assets/js/index-CL4-JMth.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wareInventorySummary","children":[{"uid":"c5e49757-3443","name":"index.vue?vue&type=script&setup=true&name=wareAgeWarm&lang.ts"},{"uid":"c5e49757-3445","name":"index.vue?vue&type=style&index=0&scoped=843f35ff&lang.css"},{"uid":"c5e49757-3447","name":"index.vue"}]}]},{"name":"assets/js/index-Zff7tzgX.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/home","children":[{"uid":"c5e49757-3449","name":"index.vue?vue&type=script&setup=true&name=home&lang.ts"},{"uid":"c5e49757-3451","name":"index.vue?vue&type=style&index=0&scoped=b2802d43&lang.scss"},{"uid":"c5e49757-3453","name":"index.vue"}]}]},{"name":"assets/js/index-AhhiMJrr.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsContainerSort","children":[{"uid":"c5e49757-3455","name":"index.vue?vue&type=script&setup=true&name=wmsContainerSort&lang.ts"},{"uid":"c5e49757-3457","name":"index.vue?vue&type=style&index=0&scoped=73e316bd&lang.css"},{"uid":"c5e49757-3459","name":"index.vue"}]}]},{"name":"assets/js/index-ppqr_2lk.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsTask","children":[{"uid":"c5e49757-3461","name":"index.vue?vue&type=script&setup=true&name=wmsTask&lang.ts"},{"uid":"c5e49757-3463","name":"index.vue?vue&type=style&index=0&scoped=09f1d42c&lang.css"},{"uid":"c5e49757-3465","name":"index.vue"}]}]},{"name":"assets/js/PanelControl-D6UFGT3Q.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Panel","children":[{"uid":"c5e49757-3467","name":"PanelControl.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3469","name":"PanelControl.vue?vue&type=style&index=0&scoped=3ed79d77&lang.scss"},{"uid":"c5e49757-3471","name":"PanelControl.vue"}]}]},{"name":"assets/js/vue3-tree-org-ZvzDyseZ.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue3-tree-org/lib","children":[{"uid":"c5e49757-3473","name":"index.esm.js"},{"uid":"c5e49757-3475","name":"vue3-tree-org.css"}]}]},{"name":"assets/js/editDialog-DEenvSuj.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component","children":[{"uid":"c5e49757-3477","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3479","name":"editDialog.vue?vue&type=style&index=0&scoped=915b0bd0&lang.css"},{"uid":"c5e49757-3481","name":"editDialog.vue"}]}]},{"name":"assets/js/index-DHtuhmqW.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsContainerSortPrint","children":[{"uid":"c5e49757-3483","name":"index.vue?vue&type=script&setup=true&name=wmsContainerSortPrint&lang.ts"},{"uid":"c5e49757-3485","name":"index.vue?vue&type=style&index=0&scoped=ba88cd18&lang.css"},{"uid":"c5e49757-3487","name":"index.vue"}]}]},{"name":"assets/js/setings-CtpDjPxX.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"utils/theme.ts","uid":"c5e49757-3489"},{"name":"layout/navBars/topBar","children":[{"uid":"c5e49757-3491","name":"setings.vue?vue&type=script&setup=true&name=layoutBreadcrumbSeting&lang.ts"},{"uid":"c5e49757-3493","name":"setings.vue?vue&type=style&index=0&scoped=e50d79ea&lang.scss"},{"uid":"c5e49757-3495","name":"setings.vue"}]}]}]},{"name":"assets/js/editDialog-914brrEd.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockBoardabc/component","children":[{"uid":"c5e49757-3497","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3499","name":"editDialog.vue?vue&type=style&index=0&scoped=d7cb5518&lang.css"},{"uid":"c5e49757-3501","name":"editDialog.vue"}]}]},{"name":"assets/js/index-WmVs7USk.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/lockScreen","children":[{"uid":"c5e49757-3503","name":"index.vue?vue&type=script&setup=true&name=layoutLockScreen&lang.ts"},{"uid":"c5e49757-3505","name":"index.vue?vue&type=style&index=0&scoped=879786ed&lang.scss"},{"uid":"c5e49757-3507","name":"index.vue"}]}]},{"name":"assets/js/editDialog-CuFbYmGR.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsTask/component","children":[{"uid":"c5e49757-3509","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3511","name":"editDialog.vue?vue&type=style&index=0&scoped=9b877aa8&lang.css"},{"uid":"c5e49757-3513","name":"editDialog.vue"}]}]},{"name":"assets/js/closeFull-eXhmkRoD.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar","children":[{"uid":"c5e49757-3515","name":"closeFull.vue?vue&type=script&setup=true&name=layoutCloseFull&lang.ts"},{"uid":"c5e49757-3517","name":"closeFull.vue?vue&type=style&index=0&scoped=0680ba04&lang.scss"},{"uid":"c5e49757-3519","name":"closeFull.vue"}]}]},{"name":"assets/js/CountView-Dm8smkik.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/component","children":[{"uid":"c5e49757-3521","name":"CountView.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3523","name":"CountView.vue?vue&type=style&index=0&scoped=02e62381&lang.less"},{"uid":"c5e49757-3525","name":"CountView.vue"}]}]},{"name":"assets/js/editDialog-BzbsF7OO.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsContainerSort/component","children":[{"uid":"c5e49757-3527","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3529","name":"editDialog.vue?vue&type=style&index=0&scoped=509e9180&lang.css"},{"uid":"c5e49757-3531","name":"editDialog.vue"}]}]},{"name":"assets/js/vue-json-pretty-yMcEctBP.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-json-pretty","children":[{"name":"esm/vue-json-pretty.js","uid":"c5e49757-3533"},{"name":"lib/styles.css","uid":"c5e49757-3535"}]}]},{"name":"assets/js/index-BZIPhdZn.js","children":[{"name":"\u0000vite/modulepreload-polyfill.js","uid":"c5e49757-3537"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web","children":[{"name":"src","children":[{"name":"stores","children":[{"uid":"c5e49757-3539","name":"index.ts"},{"uid":"c5e49757-3543","name":"tagsViewRoutes.ts"},{"uid":"c5e49757-3545","name":"themeConfig.ts"},{"uid":"c5e49757-3547","name":"keepAliveNames.ts"},{"uid":"c5e49757-3549","name":"routesList.ts"},{"uid":"c5e49757-3569","name":"userInfo.ts"},{"uid":"c5e49757-3577","name":"requestOldRoutes.ts"}]},{"name":"utils","children":[{"uid":"c5e49757-3541","name":"storage.ts"},{"uid":"c5e49757-3553","name":"watermark.ts"},{"uid":"c5e49757-3567","name":"axios-utils.ts"},{"uid":"c5e49757-3573","name":"loading.ts"},{"uid":"c5e49757-3603","name":"toolsValidate.ts"},{"uid":"c5e49757-3605","name":"other.ts"},{"uid":"c5e49757-3607","name":"mitt.ts"},{"uid":"c5e49757-3609","name":"setIconfont.ts"},{"uid":"c5e49757-3615","name":"arrayOperation.ts"}]},{"name":"router","children":[{"uid":"c5e49757-3551","name":"route.ts"},{"uid":"c5e49757-3575","name":"frontEnd.ts"},{"uid":"c5e49757-3579","name":"backEnd.ts"},{"uid":"c5e49757-3581","name":"index.ts"}]},{"name":"api-services","children":[{"uid":"c5e49757-3555","name":"base.ts"},{"name":"apis","children":[{"uid":"c5e49757-3557","name":"sys-auth-api.ts"},{"uid":"c5e49757-3559","name":"sys-const-api.ts"},{"uid":"c5e49757-3561","name":"sys-dict-type-api.ts"},{"uid":"c5e49757-3563","name":"sys-menu-api.ts"}]},{"uid":"c5e49757-3565","name":"configuration.ts"}]},{"name":"theme","children":[{"uid":"c5e49757-3571","name":"loading.scss"},{"uid":"c5e49757-3623","name":"index.scss"}]},{"name":"i18n","children":[{"name":"lang","children":[{"uid":"c5e49757-3583","name":"en.ts"},{"uid":"c5e49757-3585","name":"zh-cn.ts"},{"uid":"c5e49757-3587","name":"zh-tw.ts"}]},{"name":"pages","children":[{"name":"formI18n","children":[{"uid":"c5e49757-3589","name":"en.ts"},{"uid":"c5e49757-3591","name":"zh-cn.ts"},{"uid":"c5e49757-3593","name":"zh-tw.ts"}]},{"name":"login","children":[{"uid":"c5e49757-3595","name":"en.ts"},{"uid":"c5e49757-3597","name":"zh-cn.ts"},{"uid":"c5e49757-3599","name":"zh-tw.ts"}]}]},{"uid":"c5e49757-3601","name":"index.ts"}]},{"uid":"c5e49757-3611","name":"App.vue?vue&type=script&setup=true&name=app&lang.ts"},{"uid":"c5e49757-3613","name":"App.vue?vue&type=style&index=0&lang.scss"},{"name":"directive","children":[{"uid":"c5e49757-3617","name":"authDirective.ts"},{"uid":"c5e49757-3619","name":"customDirective.ts"},{"uid":"c5e49757-3621","name":"index.ts"}]},{"uid":"c5e49757-3625","name":"main.ts"}]},{"uid":"c5e49757-3627","name":"index.html"}]}]},{"name":"assets/js/editDialog-BN2Bt2ew.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockQuanOut/component","children":[{"uid":"c5e49757-3629","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3631","name":"editDialog.vue?vue&type=style&index=0&scoped=b71c3b43&lang.css"},{"uid":"c5e49757-3633","name":"editDialog.vue"}]}]},{"name":"assets/js/editDialog-DfD5dB2f.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordReceivingDelivery/component","children":[{"uid":"c5e49757-3635","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3637","name":"editDialog.vue?vue&type=style&index=0&scoped=e7286c47&lang.css"},{"uid":"c5e49757-3639","name":"editDialog.vue"}]}]},{"name":"assets/js/editDialog-CjRxYCoF.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockQuan/component","children":[{"uid":"c5e49757-3641","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3643","name":"editDialog.vue?vue&type=style&index=0&scoped=724f9e3b&lang.css"},{"uid":"c5e49757-3645","name":"editDialog.vue"}]}]},{"name":"assets/js/ContentView-DR-dVbfh.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/component","children":[{"uid":"c5e49757-3647","name":"ContentView.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3649","name":"ContentView.vue?vue&type=style&index=0&scoped=ef985374&lang.less"},{"uid":"c5e49757-3651","name":"ContentView.vue"}]}]},{"name":"assets/js/index-D04O0DrK.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordPredDispHistory","children":[{"uid":"c5e49757-3653","name":"index.vue?vue&type=script&setup=true&name=wmsRecordPredDispHistory&lang.ts"},{"uid":"c5e49757-3655","name":"index.vue?vue&type=style&index=0&scoped=2a5c8d9f&lang.css"},{"uid":"c5e49757-3657","name":"index.vue"}]}]},{"name":"assets/js/index-DV_ImfLB.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/ReportCenter/storageView.ts","uid":"c5e49757-3659"},{"name":"views/main/ReportCenter/storageView","children":[{"uid":"c5e49757-3661","name":"index.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3663","name":"index.vue?vue&type=style&index=0&scoped=238f1cea&lang.less"},{"uid":"c5e49757-3665","name":"index.vue"}]}]}]},{"name":"assets/js/index-CkELV9dH.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/ReportCenter/wmsAvailabilityOfPlace.ts","uid":"c5e49757-3667"},{"name":"views/main/ReportCenter/wmsAvailabilityOfPlace","children":[{"uid":"c5e49757-3669","name":"index.vue?vue&type=script&setup=true&name=wmsTask&lang.ts"},{"uid":"c5e49757-3671","name":"index.vue?vue&type=style&index=0&scoped=0e3f364c&lang.css"},{"uid":"c5e49757-3673","name":"index.vue"}]}]}]},{"name":"assets/js/editDialog-DO6zLAya.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsContainerSortPrint/component","children":[{"uid":"c5e49757-3675","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3677","name":"editDialog.vue?vue&type=style&index=0&scoped=71451b01&lang.css"},{"uid":"c5e49757-3679","name":"editDialog.vue"}]}]},{"name":"assets/js/editDialog-BwHmSMp-.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterCategories/component","children":[{"uid":"c5e49757-3681","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3683","name":"editDialog.vue?vue&type=style&index=0&scoped=bf23a482&lang.css"},{"uid":"c5e49757-3685","name":"editDialog.vue"}]}]},{"name":"assets/js/openAllproptwo-uwFxd9FF.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wareInventorySummary/component","children":[{"uid":"c5e49757-3687","name":"openAllproptwo.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3689","name":"openAllproptwo.vue?vue&type=style&index=0&scoped=c61edb3f&lang.less"},{"uid":"c5e49757-3691","name":"openAllproptwo.vue"}]}]},{"name":"assets/js/index-Cv3jDqoO.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsLogAction","children":[{"uid":"c5e49757-3693","name":"index.vue?vue&type=script&setup=true&name=wmsLogAction&lang.ts"},{"uid":"c5e49757-3695","name":"index.vue?vue&type=style&index=0&scoped=c12979ec&lang.css"},{"uid":"c5e49757-3697","name":"index.vue"}]}]},{"name":"assets/js/editDialog-BM3zcUP2.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wareInventorySummary/component","children":[{"uid":"c5e49757-3699","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3701","name":"editDialog.vue?vue&type=style&index=0&scoped=341ff78d&lang.css"},{"uid":"c5e49757-3703","name":"editDialog.vue"}]}]},{"name":"assets/js/openAllpropDetail-B3FTyP7s.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockBoardabc/component","children":[{"uid":"c5e49757-3705","name":"openAllpropDetail.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3707","name":"openAllpropDetail.vue?vue&type=style&index=0&scoped=4bc4ec98&lang.less"},{"uid":"c5e49757-3709","name":"openAllpropDetail.vue"}]}]},{"name":"assets/js/index-Tt8KB0eq.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockQuanOut","children":[{"uid":"c5e49757-3711","name":"index.vue?vue&type=script&setup=true&name=wmsStockQuanOut&lang.ts"},{"uid":"c5e49757-3713","name":"index.vue?vue&type=style&index=0&scoped=31c6d3f4&lang.css"},{"uid":"c5e49757-3715","name":"index.vue"}]}]},{"name":"assets/js/editDialog-5uoxBGAr.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsAvailabilityOfPlace/component","children":[{"uid":"c5e49757-3717","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3719","name":"editDialog.vue?vue&type=style&index=0&scoped=135098f6&lang.css"},{"uid":"c5e49757-3721","name":"editDialog.vue"}]}]},{"name":"assets/js/ContentItem-CzT5p8mB.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/component","children":[{"uid":"c5e49757-3723","name":"ContentItem.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3725","name":"ContentItem.vue?vue&type=style&index=0&scoped=3090e557&lang.less"},{"uid":"c5e49757-3727","name":"ContentItem.vue"}]}]},{"name":"assets/js/index-W9gVm43O.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordReceivingDelivery","children":[{"uid":"c5e49757-3729","name":"index.vue?vue&type=script&setup=true&name=wmsRecordReceivingDelivery&lang.ts"},{"uid":"c5e49757-3731","name":"index.vue?vue&type=style&index=0&scoped=1016a04d&lang.css"},{"uid":"c5e49757-3733","name":"index.vue"}]}]},{"name":"assets/js/editDialog-ClPzVBMR.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordPredetermineDispense/component","children":[{"uid":"c5e49757-3735","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3737","name":"editDialog.vue?vue&type=style&index=0&scoped=40099f9f&lang.css"},{"uid":"c5e49757-3739","name":"editDialog.vue"}]}]},{"name":"assets/js/openAllprop-ClitCkah.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wareInventorySummary/component","children":[{"uid":"c5e49757-3741","name":"openAllprop.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3743","name":"openAllprop.vue?vue&type=style&index=0&scoped=bbf74cfc&lang.less"},{"uid":"c5e49757-3745","name":"openAllprop.vue"}]}]},{"name":"assets/js/index-DGMOem4G.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkDifferenceCfm","children":[{"uid":"c5e49757-3747","name":"index.vue?vue&type=script&setup=true&name=checkDifferenceCfm&lang.ts"},{"uid":"c5e49757-3749","name":"index.vue?vue&type=style&index=0&scoped=d33eda0f&lang.css"},{"uid":"c5e49757-3751","name":"index.vue"}]}]},{"name":"assets/js/index-uyjzx2ho.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockBoardabc","children":[{"uid":"c5e49757-3753","name":"index.vue?vue&type=script&setup=true&name=wmsStockBoardabc&lang.ts"},{"uid":"c5e49757-3755","name":"index.vue?vue&type=style&index=0&scoped=6c29bb0c&lang.css"},{"uid":"c5e49757-3757","name":"index.vue"}]}]},{"name":"assets/js/editDialog-CryldWhF.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordPredDispHistory/component","children":[{"uid":"c5e49757-3759","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3761","name":"editDialog.vue?vue&type=style&index=0&scoped=a9b98f05&lang.css"},{"uid":"c5e49757-3763","name":"editDialog.vue"}]}]},{"name":"assets/js/PanelNode-DIBr52kP.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Panel","children":[{"uid":"c5e49757-3765","name":"PanelNode.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3767","name":"PanelNode.vue?vue&type=style&index=0&scoped=a9c9b9d2&lang.scss"},{"uid":"c5e49757-3769","name":"PanelNode.vue"}]}]},{"name":"assets/js/index-CCZ-OCdz.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordPredetermineDispense","children":[{"uid":"c5e49757-3771","name":"index.vue?vue&type=script&setup=true&name=wmsRecordPredetermineDispense&lang.ts"},{"uid":"c5e49757-3773","name":"index.vue?vue&type=style&index=0&scoped=7597ab75&lang.css"},{"uid":"c5e49757-3775","name":"index.vue"}]}]},{"name":"assets/js/index-Bb5F3cff.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockQuan","children":[{"uid":"c5e49757-3777","name":"index.vue?vue&type=script&setup=true&name=wmsStockQuan&lang.ts"},{"uid":"c5e49757-3779","name":"index.vue?vue&type=style&index=0&scoped=8a171bc0&lang.css"},{"uid":"c5e49757-3781","name":"index.vue"}]}]},{"name":"assets/js/index-DVIXcR0V.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordTrans","children":[{"uid":"c5e49757-3783","name":"index.vue?vue&type=script&setup=true&name=wmsRecordTrans&lang.ts"},{"uid":"c5e49757-3785","name":"index.vue?vue&type=style&index=0&scoped=41623156&lang.css"},{"uid":"c5e49757-3787","name":"index.vue"}]}]},{"name":"assets/js/editDialog-DQ6Q4m0r.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/transitionChart/component","children":[{"uid":"c5e49757-3789","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3791","name":"editDialog.vue?vue&type=style&index=0&scoped=6463ecc9&lang.css"},{"uid":"c5e49757-3793","name":"editDialog.vue"}]}]},{"name":"assets/js/openDialogDiffCfm-CD-FqR9c.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkDifferenceCfm/component","children":[{"uid":"c5e49757-3795","name":"openDialogDiffCfm.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3797","name":"openDialogDiffCfm.vue?vue&type=style&index=0&scoped=2893d0cc&lang.less"},{"uid":"c5e49757-3799","name":"openDialogDiffCfm.vue"}]}]},{"name":"assets/js/clientProp-DFS_MDmE.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial","children":[{"uid":"c5e49757-3801","name":"clientProp.vue?vue&type=script&setup=true&name=baseCustomer&lang.ts"},{"uid":"c5e49757-3803","name":"clientProp.vue?vue&type=style&index=0&scoped=37b2e8d4&lang.css"},{"uid":"c5e49757-3805","name":"clientProp.vue"}]}]},{"name":"assets/js/jspdf-DB7YWl8q.js","children":[{"name":"\u0000vite/preload-helper.js","uid":"c5e49757-3807"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jspdf/dist/jspdf.es.min.js","uid":"c5e49757-3809"},{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jspdf/dist/jspdf.es.min.js?commonjs-proxy","uid":"c5e49757-3811"}]},{"name":"assets/js/index-lN_TCJAz.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars","children":[{"uid":"c5e49757-3813","name":"index.vue?vue&type=script&setup=true&name=layoutNavBars&lang.ts"},{"uid":"c5e49757-3815","name":"index.vue?vue&type=style&index=0&scoped=b9eeb2b2&lang.scss"},{"uid":"c5e49757-3817","name":"index.vue"}]}]},{"name":"assets/js/index-sWDU9IJw.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterialCustomer","children":[{"uid":"c5e49757-3819","name":"index.vue?vue&type=script&setup=true&name=wmsMaterialCustomer&lang.ts"},{"uid":"c5e49757-3821","name":"index.vue?vue&type=style&index=0&scoped=7dad02a0&lang.css"},{"uid":"c5e49757-3823","name":"index.vue"}]}]},{"name":"assets/js/index-DS7TMjau.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/footer","children":[{"uid":"c5e49757-3825","name":"index.vue?vue&type=script&setup=true&name=layoutFooter&lang.ts"},{"uid":"c5e49757-3827","name":"index.vue?vue&type=style&index=0&scoped=4d684997&lang.scss"},{"uid":"c5e49757-3829","name":"index.vue"}]}]},{"name":"assets/js/editDialog-BURGJjWt.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterialType/component","children":[{"uid":"c5e49757-3831","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3833","name":"editDialog.vue?vue&type=style&index=0&scoped=7a7336b3&lang.css"},{"uid":"c5e49757-3835","name":"editDialog.vue"}]}]},{"name":"assets/js/index-BibDNUH0.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar","children":[{"uid":"c5e49757-3837","name":"index.vue?vue&type=script&setup=true&name=layoutBreadcrumbIndex&lang.ts"},{"uid":"c5e49757-3839","name":"index.vue?vue&type=style&index=0&scoped=68f9c372&lang.scss"},{"uid":"c5e49757-3841","name":"index.vue"}]}]},{"name":"assets/js/search-D_fP_8yN.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar","children":[{"uid":"c5e49757-3843","name":"search.vue?vue&type=script&setup=true&name=layoutBreadcrumbSearch&lang.ts"},{"uid":"c5e49757-3845","name":"search.vue?vue&type=style&index=0&scoped=0648dc94&lang.scss"},{"uid":"c5e49757-3847","name":"search.vue"}]}]},{"name":"assets/js/index-VhOvpZpj.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/logo","children":[{"uid":"c5e49757-3849","name":"index.vue?vue&type=script&setup=true&name=layoutLogo&lang.ts"},{"uid":"c5e49757-3851","name":"index.vue?vue&type=style&index=0&scoped=95a60e2b&lang.scss"},{"uid":"c5e49757-3853","name":"index.vue"}]}]},{"name":"assets/js/pdaMenu-agKvUI-1.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/sysPadPower.ts","uid":"c5e49757-3855"},{"name":"views/system/role/component","children":[{"uid":"c5e49757-3857","name":"pdaMenu.vue?vue&type=script&setup=true&name=sysEditRole&lang.ts"},{"uid":"c5e49757-3859","name":"pdaMenu.vue?vue&type=style&index=0&scoped=dea479ae&lang.scss"},{"uid":"c5e49757-3861","name":"pdaMenu.vue"}]}]}]},{"name":"assets/js/contextmenu-C38MXak2.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/tagsView","children":[{"uid":"c5e49757-3863","name":"contextmenu.vue?vue&type=script&setup=true&name=layoutTagsViewContextmenu&lang.ts"},{"uid":"c5e49757-3865","name":"contextmenu.vue?vue&type=style&index=0&scoped=525acb34&lang.scss"},{"uid":"c5e49757-3867","name":"contextmenu.vue"}]}]},{"name":"assets/js/editRole-DVVbnB7C.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/role/component","children":[{"uid":"c5e49757-3869","name":"editRole.vue?vue&type=script&setup=true&name=sysEditRole&lang.ts"},{"uid":"c5e49757-3871","name":"editRole.vue?vue&type=style&index=0&scoped=551b46f7&lang.scss"},{"uid":"c5e49757-3873","name":"editRole.vue"}]}]},{"name":"assets/js/index-7N2Eaadu.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsSubstituteGood","children":[{"uid":"c5e49757-3875","name":"index.vue?vue&type=script&setup=true&name=wmsSubstituteGood&lang.ts"},{"uid":"c5e49757-3877","name":"index.vue?vue&type=style&index=0&scoped=bc6214f4&lang.css"},{"uid":"c5e49757-3879","name":"index.vue"}]}]},{"name":"assets/js/index-CVjWCri0.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/formDes","children":[{"uid":"c5e49757-3881","name":"index.vue?vue&type=script&setup=true&name=sysFormDes&lang.ts"},{"uid":"c5e49757-3883","name":"index.vue?vue&type=style&index=0&scoped=53bddc0c&lang.scss"},{"uid":"c5e49757-3885","name":"index.vue"}]}]},{"name":"assets/js/editDialog-DUCvbDHJ.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/WmsSystemConfig/wmsConfigKbcard.ts","uid":"c5e49757-3887"},{"name":"views/main/WmsSystemConfig/wmsConfigKbcard/component","children":[{"uid":"c5e49757-3889","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3891","name":"editDialog.vue?vue&type=style&index=0&scoped=4704afb9&lang.css"},{"uid":"c5e49757-3893","name":"editDialog.vue"}]}]}]},{"name":"assets/js/editDialog-DU4z6YRg.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/receiptCompletion/component","children":[{"uid":"c5e49757-3895","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3897","name":"editDialog.vue?vue&type=style&index=0&scoped=bcf86ba4&lang.css"},{"uid":"c5e49757-3899","name":"editDialog.vue"}]}]},{"name":"assets/js/editDialog-CzGqq5cS.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrderDetails/component","children":[{"uid":"c5e49757-3901","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3903","name":"editDialog.vue?vue&type=style&index=0&scoped=44e736c1&lang.css"},{"uid":"c5e49757-3905","name":"editDialog.vue"}]}]},{"name":"assets/js/batchProp-CZIPoloM.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial","children":[{"uid":"c5e49757-3907","name":"batchProp.vue?vue&type=script&setup=true&name=baseCustomer&lang.ts"},{"uid":"c5e49757-3909","name":"batchProp.vue?vue&type=style&index=0&scoped=c54795fe&lang.css"},{"uid":"c5e49757-3911","name":"batchProp.vue"}]}]},{"name":"assets/js/index-BHME_TUP.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovement","children":[{"uid":"c5e49757-3913","name":"index.vue?vue&type=script&setup=true&name=wmsOrderMovement&lang.ts"},{"uid":"c5e49757-3915","name":"index.vue?vue&type=style&index=0&scoped=6b183f32&lang.css"},{"uid":"c5e49757-3917","name":"index.vue"}]}]},{"name":"assets/js/index-ZfLKwN1E.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/transitionChart","children":[{"uid":"c5e49757-3919","name":"index.vue?vue&type=script&setup=true&name=wmsStockBoardabc&lang.ts"},{"uid":"c5e49757-3921","name":"index.vue?vue&type=style&index=0&scoped=9c729f1a&lang.css"},{"uid":"c5e49757-3923","name":"index.vue"}]}]},{"name":"assets/js/index-DMkrWjBN.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrderDetails","children":[{"uid":"c5e49757-3925","name":"index.vue?vue&type=script&setup=true&name=wmsInventoryCheckOrderDetails&lang.ts"},{"uid":"c5e49757-3927","name":"index.vue?vue&type=style&index=0&scoped=7fe30e21&lang.css"},{"uid":"c5e49757-3929","name":"index.vue"}]}]},{"name":"assets/js/editDialog-DRyt2DIg.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/SoftwareAdapterService/adapterManagement.ts","uid":"c5e49757-3931"},{"name":"views/main/SoftwareAdapterService/adapterManagement/component","children":[{"uid":"c5e49757-3933","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3935","name":"editDialog.vue?vue&type=style&index=0&scoped=11cf8c0a&lang.css"},{"uid":"c5e49757-3937","name":"editDialog.vue"}]}]}]},{"name":"assets/js/DetailConfig-C-Ky3QZK.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/preconfiguration/component","children":[{"uid":"c5e49757-3939","name":"DetailConfig.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3941","name":"DetailConfig.vue?vue&type=style&index=0&scoped=b70eaf80&lang.less"},{"uid":"c5e49757-3943","name":"DetailConfig.vue"}]}]},{"name":"assets/js/editDialog-BR5aVkc9.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/TestDemo/testTeacher.ts","uid":"c5e49757-3945"},{"name":"views/main/TestDemo/testTeacher/component","children":[{"uid":"c5e49757-3947","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3949","name":"editDialog.vue?vue&type=style&index=0&scoped=d28b300e&lang.css"},{"uid":"c5e49757-3951","name":"editDialog.vue"}]}]}]},{"name":"assets/js/index-D_nPVOrg.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testTeacher","children":[{"uid":"c5e49757-3953","name":"index.vue?vue&type=script&setup=true&name=testTeacher&lang.ts"},{"uid":"c5e49757-3955","name":"index.vue?vue&type=style&index=0&scoped=c1a8e500&lang.css"},{"uid":"c5e49757-3957","name":"index.vue"}]}]},{"name":"assets/js/index-DqvYEBau.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigPrint","children":[{"uid":"c5e49757-3959","name":"index.vue?vue&type=script&setup=true&name=wmsConfigPrint&lang.ts"},{"uid":"c5e49757-3961","name":"index.vue?vue&type=style&index=0&scoped=019c4406&lang.css"},{"uid":"c5e49757-3963","name":"index.vue"}]}]},{"name":"assets/js/index-BpCDPuaJ.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api-services/apis/sys-log-ex-api.ts","uid":"c5e49757-3965"},{"name":"views/system/log/exlog","children":[{"uid":"c5e49757-3967","name":"index.vue?vue&type=script&setup=true&name=sysExLog&lang.ts"},{"uid":"c5e49757-3969","name":"index.vue?vue&type=style&index=0&scoped=50d58028&lang.scss"},{"uid":"c5e49757-3971","name":"index.vue"}]}]}]},{"name":"assets/js/index-DCFlvq9j.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/TestDemo/v_students.ts","uid":"c5e49757-3973"},{"name":"views/main/TestDemo/v_students","children":[{"uid":"c5e49757-3975","name":"index.vue?vue&type=script&setup=true&name=v_students&lang.ts"},{"uid":"c5e49757-3977","name":"index.vue?vue&type=style&index=0&scoped=8f90ddfc&lang.css"},{"uid":"c5e49757-3979","name":"index.vue"}]}]}]},{"name":"assets/js/userCenter-avEDrweo.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"utils/base64Conver.ts","uid":"c5e49757-3981"},{"name":"components/cropper","children":[{"uid":"c5e49757-3983","name":"index.vue?vue&type=script&setup=true&name=cropper&lang.ts"},{"uid":"c5e49757-3985","name":"index.vue?vue&type=style&index=0&scoped=ade34b15&lang.scss"},{"uid":"c5e49757-3987","name":"index.vue"}]},{"name":"views/system/user/component","children":[{"uid":"c5e49757-3989","name":"userCenter.vue?vue&type=script&setup=true&name=sysUserCenter&lang.ts"},{"uid":"c5e49757-3991","name":"userCenter.vue?vue&type=style&index=0&scoped=555ff843&lang.scss"},{"uid":"c5e49757-3993","name":"userCenter.vue"}]}]}]},{"name":"assets/js/editDialog-U_3PPY_y.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsFactory/component","children":[{"uid":"c5e49757-3995","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-3997","name":"editDialog.vue?vue&type=style&index=0&scoped=d3f31f37&lang.css"},{"uid":"c5e49757-3999","name":"editDialog.vue"}]}]},{"name":"assets/js/index-DTH6hY6N.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSort","children":[{"uid":"c5e49757-4001","name":"index.vue?vue&type=script&setup=true&name=wmsOrderSort&lang.ts"},{"uid":"c5e49757-4003","name":"index.vue?vue&type=style&index=0&scoped=73ff51f9&lang.css"},{"uid":"c5e49757-4005","name":"index.vue"}]}]},{"name":"assets/js/user-XM_oz8MT.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar","children":[{"uid":"c5e49757-4007","name":"user.vue?vue&type=script&setup=true&name=layoutBreadcrumbUser&lang.ts"},{"uid":"c5e49757-4009","name":"user.vue?vue&type=style&index=0&scoped=40de9ec7&lang.scss"},{"uid":"c5e49757-4011","name":"user.vue"}]}]},{"name":"assets/js/CountView-Cj6yJiiH.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryHistory/component","children":[{"uid":"c5e49757-4013","name":"CountView.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4015","name":"CountView.vue?vue&type=style&index=0&scoped=ef4f04f4&lang.less"},{"uid":"c5e49757-4017","name":"CountView.vue"}]}]},{"name":"assets/js/index-CYUHiBdn.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryHistory","children":[{"uid":"c5e49757-4019","name":"index.vue?vue&type=script&setup=true&name=wareAgeWarm&lang.ts"},{"uid":"c5e49757-4021","name":"index.vue?vue&type=style&index=0&scoped=c5f3d41c&lang.css"},{"uid":"c5e49757-4023","name":"index.vue"}]}]},{"name":"assets/js/CountView-BGnbedlS.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventorySnapshot/component","children":[{"uid":"c5e49757-4025","name":"CountView.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4027","name":"CountView.vue?vue&type=style&index=0&scoped=efa00034&lang.less"},{"uid":"c5e49757-4029","name":"CountView.vue"}]}]},{"name":"assets/js/index-J27MN-R-.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventorySnapshot","children":[{"uid":"c5e49757-4031","name":"index.vue?vue&type=script&setup=true&name=wareAgeWarm&lang.ts"},{"uid":"c5e49757-4033","name":"index.vue?vue&type=style&index=0&scoped=3ca64c59&lang.css"},{"uid":"c5e49757-4035","name":"index.vue"}]}]},{"name":"assets/js/openDialogCl.vue_vue_type_style_index_0_lang-k5QdHR7U.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component","children":[{"uid":"c5e49757-4037","name":"openDialogCl.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4039","name":"openDialogCl.vue?vue&type=style&index=0&lang.less"}]}]},{"name":"assets/js/index-B9rwyrOR.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails","children":[{"uid":"c5e49757-4041","name":"index.vue?vue&type=script&setup=true&name=wmsStockSnapshotDetails&lang.ts"},{"uid":"c5e49757-4043","name":"index.vue?vue&type=style&index=0&scoped=7ff031fe&lang.css"},{"uid":"c5e49757-4045","name":"index.vue"}]}]},{"name":"assets/js/CountView-DAAe3UW9.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryWarning/component","children":[{"uid":"c5e49757-4047","name":"CountView.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4049","name":"CountView.vue?vue&type=style&index=0&scoped=de85e018&lang.less"},{"uid":"c5e49757-4051","name":"CountView.vue"}]}]},{"name":"assets/js/applyCardProp-CPpcSqIe.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component","children":[{"uid":"c5e49757-4053","name":"applyCardProp.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4055","name":"applyCardProp.vue?vue&type=style&index=0&scoped=3a9943e2&lang.css"},{"uid":"c5e49757-4057","name":"applyCardProp.vue"}]}]},{"name":"assets/js/editDialog-CSAmqjBv.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsWarehouse/component","children":[{"uid":"c5e49757-4059","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4061","name":"editDialog.vue?vue&type=style&index=0&scoped=552504b7&lang.css"},{"uid":"c5e49757-4063","name":"editDialog.vue"}]}]},{"name":"assets/js/editDialog-DmYcjQI1.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryWarning/component","children":[{"uid":"c5e49757-4065","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4067","name":"editDialog.vue?vue&type=style&index=0&scoped=b5c66950&lang.css"},{"uid":"c5e49757-4069","name":"editDialog.vue"}]}]},{"name":"assets/js/index-yoZnTuwl.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchase","children":[{"uid":"c5e49757-4071","name":"index.vue?vue&type=script&setup=true&name=wmsOrderPurchase&lang.ts"},{"uid":"c5e49757-4073","name":"index.vue?vue&type=style&index=0&scoped=14e95a5e&lang.css"},{"uid":"c5e49757-4075","name":"index.vue"}]}]},{"name":"assets/js/orgTree-5YmWEyW_.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/user/component","children":[{"uid":"c5e49757-4077","name":"orgTree.vue?vue&type=script&setup=true&name=orgTree&lang.ts"},{"uid":"c5e49757-4079","name":"orgTree.vue?vue&type=style&index=0&scoped=90d4c77d&lang.scss"},{"uid":"c5e49757-4081","name":"orgTree.vue"}]}]},{"name":"assets/js/openAllprop-DPpOCzmw.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterCategories/component","children":[{"uid":"c5e49757-4083","name":"openAllprop.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4085","name":"openAllprop.vue?vue&type=style&index=0&scoped=e5edbf81&lang.less"},{"uid":"c5e49757-4087","name":"openAllprop.vue"}]}]},{"name":"assets/js/index-BHsDTFOj.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testStudent","children":[{"uid":"c5e49757-4089","name":"index.vue?vue&type=script&setup=true&name=testStudent&lang.ts"},{"uid":"c5e49757-4091","name":"index.vue?vue&type=style&index=0&scoped=52edfe22&lang.css"},{"uid":"c5e49757-4093","name":"index.vue"}]}]},{"name":"assets/js/editDialog-CkETX2zT.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/preconfiguration/component","children":[{"uid":"c5e49757-4095","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4097","name":"editDialog.vue?vue&type=style&index=0&scoped=50f6da66&lang.css"},{"uid":"c5e49757-4099","name":"editDialog.vue"}]}]},{"name":"assets/js/generateSign-DTmQHTBI.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api-services/models/http-method-enum.ts","uid":"c5e49757-4101"},{"name":"views/system/openAccess/component","children":[{"uid":"c5e49757-4103","name":"generateSign.vue?vue&type=script&setup=true&name=sysOpenAccessEdit&lang.ts"},{"uid":"c5e49757-4105","name":"generateSign.vue?vue&type=style&index=0&scoped=35dc020e&lang.scss"},{"uid":"c5e49757-4107","name":"generateSign.vue"}]}]}]},{"name":"assets/js/editDialog-BjelN6up.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsUnit/component","children":[{"uid":"c5e49757-4109","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4111","name":"editDialog.vue?vue&type=style&index=0&scoped=7abe7c68&lang.css"},{"uid":"c5e49757-4113","name":"editDialog.vue"}]}]},{"name":"assets/js/index-BsNQnQyB.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsWarehouse","children":[{"uid":"c5e49757-4115","name":"index.vue?vue&type=script&setup=true&name=wmsWarehouse&lang.ts"},{"uid":"c5e49757-4117","name":"index.vue?vue&type=style&index=0&scoped=624daa79&lang.css"},{"uid":"c5e49757-4119","name":"index.vue"}]}]},{"name":"assets/js/index-BTusFdgf.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsUnit","children":[{"uid":"c5e49757-4121","name":"index.vue?vue&type=script&setup=true&name=wmsUnit&lang.ts"},{"uid":"c5e49757-4123","name":"index.vue?vue&type=style&index=0&scoped=2cd90479&lang.css"},{"uid":"c5e49757-4125","name":"index.vue"}]}]},{"name":"assets/js/index-CRkGbxEe.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff","children":[{"uid":"c5e49757-4127","name":"index.vue?vue&type=script&setup=true&name=wmsOrderMovementOff&lang.ts"},{"uid":"c5e49757-4129","name":"index.vue?vue&type=style&index=0&scoped=164d5f09&lang.css"},{"uid":"c5e49757-4131","name":"index.vue"}]}]},{"name":"assets/js/index-CdPUMZjA.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterManagement","children":[{"uid":"c5e49757-4133","name":"index.vue?vue&type=script&setup=true&name=adapterManagement&lang.ts"},{"uid":"c5e49757-4135","name":"index.vue?vue&type=style&index=0&scoped=889c324d&lang.css"},{"uid":"c5e49757-4137","name":"index.vue"}]}]},{"name":"assets/js/index-BV-BTZT0.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/recordAdapter","children":[{"uid":"c5e49757-4139","name":"index.vue?vue&type=script&setup=true&name=recordAdapter&lang.ts"},{"uid":"c5e49757-4141","name":"index.vue?vue&type=style&index=0&scoped=45798e26&lang.css"},{"uid":"c5e49757-4143","name":"index.vue"}]}]},{"name":"assets/js/editMenu.vue_vue_type_script_setup_true_name_sysEditMenu_lang-uuvBdO0L.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"theme","children":[{"name":"iconfont/font_2298093_rnp72ifj3ba.ts","uid":"c5e49757-4145"},{"name":"font-awesome/font-awesome.ts","uid":"c5e49757-4147"},{"uid":"c5e49757-4151","name":"iconSelector.scss"}]},{"name":"utils/getStyleSheets.ts","uid":"c5e49757-4149"},{"name":"components/iconSelector/index.vue?vue&type=script&setup=true&name=iconSelector&lang.ts","uid":"c5e49757-4153"},{"name":"views/system/menu/component/editMenu.vue?vue&type=script&setup=true&name=sysEditMenu&lang.ts","uid":"c5e49757-4155"}]}]},{"name":"assets/js/editDialog-bzw7L-h9.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/WmsOrderDo/wmsOrderSort.ts","uid":"c5e49757-4157"},{"name":"views/main/WmsOrderDo/wmsOrderSort/component","children":[{"uid":"c5e49757-4159","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4161","name":"editDialog.vue?vue&type=style&index=0&scoped=67c44e7e&lang.css"},{"uid":"c5e49757-4163","name":"editDialog.vue"}]}]}]},{"name":"assets/js/index-EVU4j6En.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WareAgeWarm/wareAgeWarm","children":[{"uid":"c5e49757-4165","name":"index.vue?vue&type=script&setup=true&name=wareAgeWarm&lang.ts"},{"uid":"c5e49757-4167","name":"index.vue?vue&type=style&index=0&scoped=b96b16cf&lang.css"},{"uid":"c5e49757-4169","name":"index.vue"}]}]},{"name":"assets/js/controlProp-D0OKRWZO.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial","children":[{"uid":"c5e49757-4171","name":"controlProp.vue?vue&type=script&setup=true&name=wmsControlRuleDetail&lang.ts"},{"uid":"c5e49757-4173","name":"controlProp.vue?vue&type=style&index=0&scoped=7157fa4d&lang.css"},{"uid":"c5e49757-4175","name":"controlProp.vue"}]}]},{"name":"assets/js/orgTree-CFR3gh5A.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/org/component","children":[{"uid":"c5e49757-4177","name":"orgTree.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4179","name":"orgTree.vue?vue&type=style&index=0&scoped=860a8d6a&lang.scss"},{"uid":"c5e49757-4181","name":"orgTree.vue"}]}]},{"name":"assets/js/openAllprop-ZqMOi6d4.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovement/component","children":[{"uid":"c5e49757-4183","name":"openAllprop.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4185","name":"openAllprop.vue?vue&type=style&index=0&scoped=b80daa68&lang.less"},{"uid":"c5e49757-4187","name":"openAllprop.vue"}]}]},{"name":"assets/js/editDialog-D3HUyi_4.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component","children":[{"uid":"c5e49757-4189","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4191","name":"editDialog.vue?vue&type=style&index=0&scoped=427c87c2&lang.css"},{"uid":"c5e49757-4193","name":"editDialog.vue"}]}]},{"name":"assets/js/index-EfuJSrN1.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"utils/exportExcel.ts","uid":"c5e49757-4195"},{"name":"components/table","children":[{"uid":"c5e49757-4197","name":"formatter.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4199","name":"index.vue?vue&type=script&setup=true&name=netxTable&lang.ts"},{"uid":"c5e49757-4201","name":"index.vue?vue&type=style&index=0&scoped=5f3da910&lang.scss"},{"uid":"c5e49757-4203","name":"index.vue"}]}]}]},{"name":"assets/js/index-GAAtfge3.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsSncodeCreateRule","children":[{"uid":"c5e49757-4205","name":"index.vue?vue&type=script&setup=true&name=wmsSncodeCreateRule&lang.ts"},{"uid":"c5e49757-4207","name":"index.vue?vue&type=style&index=0&scoped=30a9dac6&lang.css"},{"uid":"c5e49757-4209","name":"index.vue"}]}]},{"name":"assets/js/grantMenu-5EcxQb5X.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/tenant/component","children":[{"uid":"c5e49757-4211","name":"grantMenu.vue?vue&type=script&setup=true&name=sysGrantMenu&lang.ts"},{"uid":"c5e49757-4213","name":"grantMenu.vue?vue&type=style&index=0&scoped=da837307&lang.scss"},{"uid":"c5e49757-4215","name":"grantMenu.vue"}]}]},{"name":"assets/js/index-u3plU8CA.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliverDetails","children":[{"uid":"c5e49757-4217","name":"index.vue?vue&type=script&setup=true&name=wmsOrderDeliverDetails&lang.ts"},{"uid":"c5e49757-4219","name":"index.vue?vue&type=style&index=0&scoped=feed88a9&lang.css"},{"uid":"c5e49757-4221","name":"index.vue"}]}]},{"name":"assets/js/index-DntCqCjI.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy","children":[{"uid":"c5e49757-4223","name":"index.vue?vue&type=script&setup=true&name=wmsConfigUnshelveStrategy&lang.ts"},{"uid":"c5e49757-4225","name":"index.vue?vue&type=style&index=0&scoped=80c2975b&lang.css"},{"uid":"c5e49757-4227","name":"index.vue"}]}]},{"name":"assets/js/editDialog-B5Li9YFP.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WareAgeWarm/wareAgeWarm/component","children":[{"uid":"c5e49757-4229","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4231","name":"editDialog.vue?vue&type=style&index=0&scoped=32a99475&lang.css"},{"uid":"c5e49757-4233","name":"editDialog.vue"}]}]},{"name":"assets/js/dragVerifyImgRotate-B8sCofSt.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/dragVerify","children":[{"uid":"c5e49757-4235","name":"dragVerifyImgRotate.vue?vue&type=script&lang.ts"},{"uid":"c5e49757-4237","name":"dragVerifyImgRotate.vue?vue&type=style&index=0&scoped=355dae2c&lang.css"},{"uid":"c5e49757-4239","name":"dragVerifyImgRotate.vue?vue&type=style&index=1&lang.css"},{"uid":"c5e49757-4241","name":"dragVerifyImgRotate.vue"}]}]},{"name":"assets/js/editDialog-CEanDBXj.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQc/component","children":[{"uid":"c5e49757-4243","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4245","name":"editDialog.vue?vue&type=style&index=0&scoped=2744b8d7&lang.css"},{"uid":"c5e49757-4247","name":"editDialog.vue"}]}]},{"name":"assets/js/index-j6lN53qH.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/receiptCompletion","children":[{"uid":"c5e49757-4249","name":"index.vue?vue&type=script&setup=true&name=wareAgeWarm&lang.ts"},{"uid":"c5e49757-4251","name":"index.vue?vue&type=style&index=0&scoped=a866b0d7&lang.css"},{"uid":"c5e49757-4253","name":"index.vue"}]}]},{"name":"assets/js/index-Dy8XDKju.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQc","children":[{"uid":"c5e49757-4255","name":"index.vue?vue&type=script&setup=true&name=wmsQc&lang.ts"},{"uid":"c5e49757-4257","name":"index.vue?vue&type=style&index=0&scoped=2faf9ad7&lang.css"},{"uid":"c5e49757-4259","name":"index.vue"}]}]},{"name":"assets/js/index-BMAZM3W-.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterialType","children":[{"uid":"c5e49757-4261","name":"index.vue?vue&type=script&setup=true&name=wmsMaterialType&lang.ts"},{"uid":"c5e49757-4263","name":"index.vue?vue&type=style&index=0&scoped=900b0112&lang.css"},{"uid":"c5e49757-4265","name":"index.vue"}]}]},{"name":"assets/js/openAccount-D2YjOCYL.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial","children":[{"uid":"c5e49757-4267","name":"openAccount.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4269","name":"openAccount.vue?vue&type=style&index=0&scoped=c6c9053a&lang.less"},{"uid":"c5e49757-4271","name":"openAccount.vue"}]}]},{"name":"assets/js/index-B0_sJ8Cd.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsControlRuleDetail","children":[{"uid":"c5e49757-4273","name":"index.vue?vue&type=script&setup=true&name=wmsControlRuleDetail&lang.ts"},{"uid":"c5e49757-4275","name":"index.vue?vue&type=style&index=0&scoped=63fdb574&lang.css"},{"uid":"c5e49757-4277","name":"index.vue"}]}]},{"name":"assets/js/index-BkjALj5A.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsStockQuan/wmsContainerPlace","children":[{"uid":"c5e49757-4279","name":"index.vue?vue&type=script&setup=true&name=wmsContainerPlace&lang.ts"},{"uid":"c5e49757-4281","name":"index.vue?vue&type=style&index=0&scoped=2ed812f6&lang.css"},{"uid":"c5e49757-4283","name":"index.vue"}]}]},{"name":"assets/js/editDialog-D2uvwh6V.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/SoftwareAdapterService/recordAdapter.ts","uid":"c5e49757-4285"},{"name":"views/main/SoftwareAdapterService/recordAdapter/component","children":[{"uid":"c5e49757-4287","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4289","name":"editDialog.vue?vue&type=style&index=0&scoped=dc54b41d&lang.css"},{"uid":"c5e49757-4291","name":"editDialog.vue"}]}]}]},{"name":"assets/js/columnsAside-Di4692aZ.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/component","children":[{"uid":"c5e49757-4293","name":"columnsAside.vue?vue&type=script&setup=true&name=layoutColumnsAside&lang.ts"},{"uid":"c5e49757-4295","name":"columnsAside.vue?vue&type=style&index=0&scoped=6cdbb74e&lang.scss"},{"uid":"c5e49757-4297","name":"columnsAside.vue"}]}]},{"name":"assets/js/index-DSumZK8a.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQcDetails","children":[{"uid":"c5e49757-4299","name":"index.vue?vue&type=script&setup=true&name=wmsQcDetails&lang.ts"},{"uid":"c5e49757-4301","name":"index.vue?vue&type=style&index=0&scoped=eb3e5157&lang.css"},{"uid":"c5e49757-4303","name":"index.vue"}]}]},{"name":"assets/js/index-B4mQKa3k.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsFactory","children":[{"uid":"c5e49757-4305","name":"index.vue?vue&type=script&setup=true&name=wmsFactory&lang.ts"},{"uid":"c5e49757-4307","name":"index.vue?vue&type=style&index=0&scoped=7c08eb5e&lang.css"},{"uid":"c5e49757-4309","name":"index.vue"}]}]},{"name":"assets/js/search-CB1L-EQT.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"utils/saulVModel.ts","uid":"c5e49757-4311"},{"name":"components/table","children":[{"uid":"c5e49757-4313","name":"search.vue?vue&type=script&setup=true&name=makeTableDemoSearch&lang.ts"},{"uid":"c5e49757-4315","name":"search.vue?vue&type=style&index=0&scoped=68d08c51&lang.scss"},{"uid":"c5e49757-4317","name":"search.vue"}]}]}]},{"name":"assets/js/editDialog-CdjAnyrA.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/WmsBase/wmsControlRuleDetail.ts","uid":"c5e49757-4319"},{"name":"views/main/WmsBase/wmsControlRuleDetail/component","children":[{"uid":"c5e49757-4321","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4323","name":"editDialog.vue?vue&type=style&index=0&scoped=5bd56850&lang.css"},{"uid":"c5e49757-4325","name":"editDialog.vue"}]}]}]},{"name":"assets/js/index-BzKRlwA7.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job","children":[{"uid":"c5e49757-4327","name":"index.vue?vue&type=script&setup=true&name=sysJob&lang.ts"},{"uid":"c5e49757-4329","name":"index.vue?vue&type=style&index=0&lang.css"},{"uid":"c5e49757-4331","name":"index.vue"}]}]},{"name":"assets/js/editDialog-us50TE4I.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/TestDemo/testStudent.ts","uid":"c5e49757-4333"},{"name":"views/main/TestDemo/testStudent/component","children":[{"uid":"c5e49757-4335","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4337","name":"editDialog.vue?vue&type=style&index=0&scoped=29aa69f7&lang.css"},{"uid":"c5e49757-4339","name":"editDialog.vue"}]}]}]},{"name":"assets/js/editDialog-CdtGi1j_.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovementDetails/component","children":[{"uid":"c5e49757-4341","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4343","name":"editDialog.vue?vue&type=style&index=0&scoped=857f8271&lang.css"},{"uid":"c5e49757-4345","name":"editDialog.vue"}]}]},{"name":"assets/js/editDialog-BnF2qnjG.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/WmsBase/wmsContainer.ts","uid":"c5e49757-4347"},{"name":"views/main/WmsBase/wmsContainer/component","children":[{"uid":"c5e49757-4349","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4351","name":"editDialog.vue?vue&type=style&index=0&scoped=2ad4c074&lang.css"},{"uid":"c5e49757-4353","name":"editDialog.vue"}]}]}]},{"name":"assets/js/detailconfigOpenAllprop-Zax7xJP0.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/bcProp","children":[{"uid":"c5e49757-4355","name":"yuconfigOpenAllprop.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4357","name":"yuconfigOpenAllprop.vue?vue&type=style&index=0&scoped=ea65f793&lang.less"},{"uid":"c5e49757-4359","name":"yuconfigOpenAllprop.vue"},{"uid":"c5e49757-4361","name":"fenconfigOpenAllprop.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4363","name":"fenconfigOpenAllprop.vue?vue&type=style&index=0&scoped=32e614a8&lang.less"},{"uid":"c5e49757-4365","name":"fenconfigOpenAllprop.vue"},{"uid":"c5e49757-4367","name":"cancelconfigOpenAllprop.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4369","name":"cancelconfigOpenAllprop.vue?vue&type=style&index=0&scoped=b72563a0&lang.less"},{"uid":"c5e49757-4371","name":"cancelconfigOpenAllprop.vue"},{"uid":"c5e49757-4373","name":"detailconfigOpenAllprop.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4375","name":"detailconfigOpenAllprop.vue?vue&type=style&index=0&scoped=0160cc2b&lang.less"},{"uid":"c5e49757-4377","name":"detailconfigOpenAllprop.vue"}]}]},{"name":"assets/js/index-BPP3UB35.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSortDetails","children":[{"uid":"c5e49757-4379","name":"index.vue?vue&type=script&setup=true&name=wmsOrderSortDetails&lang.ts"},{"uid":"c5e49757-4381","name":"index.vue?vue&type=style&index=0&scoped=68601c4d&lang.css"},{"uid":"c5e49757-4383","name":"index.vue"}]}]},{"name":"assets/js/index-CSFjvzyv.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainerType","children":[{"uid":"c5e49757-4385","name":"index.vue?vue&type=script&setup=true&name=wmsContainerType&lang.ts"},{"uid":"c5e49757-4387","name":"index.vue?vue&type=style&index=0&scoped=8b047594&lang.css"},{"uid":"c5e49757-4389","name":"index.vue"}]}]},{"name":"assets/js/index-u3UBuAr2.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainerPackaging","children":[{"uid":"c5e49757-4391","name":"index.vue?vue&type=script&setup=true&name=wmsContainerPackaging&lang.ts"},{"uid":"c5e49757-4393","name":"index.vue?vue&type=style&index=0&scoped=b5dee132&lang.css"},{"uid":"c5e49757-4395","name":"index.vue"}]}]},{"name":"assets/js/openAllprop-CAtl3jPK.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testStudent/component","children":[{"uid":"c5e49757-4397","name":"openAllprop.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4399","name":"openAllprop.vue?vue&type=style&index=0&scoped=0cf7412a&lang.less"},{"uid":"c5e49757-4401","name":"openAllprop.vue"}]}]},{"name":"assets/js/editDialog-DypJt2Vy.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckRecord/component","children":[{"uid":"c5e49757-4403","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4405","name":"editDialog.vue?vue&type=style&index=0&scoped=3eb1b6b3&lang.css"},{"uid":"c5e49757-4407","name":"editDialog.vue"}]}]},{"name":"assets/js/index-Bm3ENhR7.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsNoCreateRule","children":[{"uid":"c5e49757-4409","name":"index.vue?vue&type=script&setup=true&name=wmsNoCreateRule&lang.ts"},{"uid":"c5e49757-4411","name":"index.vue?vue&type=style&index=0&scoped=56557b8c&lang.css"},{"uid":"c5e49757-4413","name":"index.vue"}]}]},{"name":"assets/js/index-7UIBjBm7.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsPlace","children":[{"uid":"c5e49757-4415","name":"index.vue?vue&type=script&setup=true&name=wmsPlace&lang.ts"},{"uid":"c5e49757-4417","name":"index.vue?vue&type=style&index=0&scoped=fd654f14&lang.css"},{"uid":"c5e49757-4419","name":"index.vue"}]}]},{"name":"assets/js/index-BqFlMUi6.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api-services/apis/sys-cache-api.ts","uid":"c5e49757-4421"},{"name":"components/noticeBar","children":[{"uid":"c5e49757-4423","name":"index.vue?vue&type=script&setup=true&name=noticeBar&lang.ts"},{"uid":"c5e49757-4425","name":"index.vue?vue&type=style&index=0&scoped=8d2d1eb4&lang.scss"},{"uid":"c5e49757-4427","name":"index.vue"}]},{"name":"views/system/cache","children":[{"uid":"c5e49757-4429","name":"index.vue?vue&type=script&setup=true&name=sysCache&lang.ts"},{"uid":"c5e49757-4431","name":"index.vue?vue&type=style&index=0&scoped=ba1df66b&lang.scss"},{"uid":"c5e49757-4433","name":"index.vue"}]}]}]},{"name":"assets/js/editDialog-BXMEk7vb.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsStockQuan/wmsContainerPlace/component","children":[{"uid":"c5e49757-4435","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4437","name":"editDialog.vue?vue&type=style&index=0&scoped=25eac1ba&lang.css"},{"uid":"c5e49757-4439","name":"editDialog.vue"}]}]},{"name":"assets/js/editDialog-CNhvuckz.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/component","children":[{"uid":"c5e49757-4441","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4443","name":"editDialog.vue?vue&type=style&index=0&scoped=7a4ed74a&lang.css"},{"uid":"c5e49757-4445","name":"editDialog.vue"}]}]},{"name":"assets/js/editDialog-CC9nTKLF.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsn/component","children":[{"uid":"c5e49757-4447","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4449","name":"editDialog.vue?vue&type=style&index=0&scoped=4b390049&lang.css"},{"uid":"c5e49757-4451","name":"editDialog.vue"}]}]},{"name":"assets/js/index-ByqnqUSu.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckRange","children":[{"uid":"c5e49757-4453","name":"index.vue?vue&type=script&setup=true&name=wmsInventoryCheckRange&lang.ts"},{"uid":"c5e49757-4455","name":"index.vue?vue&type=style&index=0&scoped=28dcd32d&lang.css"},{"uid":"c5e49757-4457","name":"index.vue"}]}]},{"name":"assets/js/editDialog-DdaLplms.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/WmsBase/wmsSubstituteGood.ts","uid":"c5e49757-4459"},{"name":"views/main/WmsBase/wmsSubstituteGood/component","children":[{"uid":"c5e49757-4461","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4463","name":"editDialog.vue?vue&type=style&index=0&scoped=587d8dcc&lang.css"},{"uid":"c5e49757-4465","name":"editDialog.vue"}]}]}]},{"name":"assets/js/openDialogPd.vue_vue_type_style_index_0_lang-B3E8pXoE.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component","children":[{"uid":"c5e49757-4467","name":"openDialogPd.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4469","name":"openDialogPd.vue?vue&type=style&index=0&lang.less"}]}]},{"name":"assets/js/regionTree-kQh2HjhR.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/region/component","children":[{"uid":"c5e49757-4471","name":"regionTree.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4473","name":"regionTree.vue?vue&type=style&index=0&scoped=e16f46e7&lang.scss"},{"uid":"c5e49757-4475","name":"regionTree.vue"}]}]},{"name":"assets/js/index-Cl1x_X_Y.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api-services/apis/sys-server-api.ts","uid":"c5e49757-4477"},{"name":"views/system/server","children":[{"uid":"c5e49757-4479","name":"index.vue?vue&type=script&setup=true&name=sysServer&lang.ts"},{"uid":"c5e49757-4481","name":"index.vue?vue&type=style&index=0&scoped=3a4ad0c5&lang.scss"},{"uid":"c5e49757-4483","name":"index.vue"}]}]}]},{"name":"assets/js/tagsView-BdVxfNUs.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/tagsView","children":[{"uid":"c5e49757-4485","name":"tagsView.vue?vue&type=script&setup=true&name=layoutTagsView&lang.ts"},{"uid":"c5e49757-4487","name":"tagsView.vue?vue&type=style&index=0&scoped=d2c4fee4&lang.scss"},{"uid":"c5e49757-4489","name":"tagsView.vue"}]}]},{"name":"assets/js/index-DTuAkWy8.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterCategories","children":[{"uid":"c5e49757-4491","name":"index.vue?vue&type=script&setup=true&name=adapterCategories&lang.ts"},{"uid":"c5e49757-4493","name":"index.vue?vue&type=style&index=0&scoped=24e030e7&lang.css"},{"uid":"c5e49757-4495","name":"index.vue"}]}]},{"name":"assets/js/openAllpropQc-0U0s7dy5.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQc/component","children":[{"uid":"c5e49757-4497","name":"openAllpropQc.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4499","name":"openAllpropQc.vue?vue&type=style&index=0&scoped=b1ff1340&lang.less"},{"uid":"c5e49757-4501","name":"openAllpropQc.vue"}]}]},{"name":"assets/js/list-CJkFUIrl.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/iconSelector","children":[{"uid":"c5e49757-4503","name":"list.vue?vue&type=script&setup=true&name=iconSelectorList&lang.ts"},{"uid":"c5e49757-4505","name":"list.vue?vue&type=style&index=0&scoped=e4865837&lang.scss"},{"uid":"c5e49757-4507","name":"list.vue"}]}]},{"name":"assets/js/index-DC5_ICyI.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSortTrans","children":[{"uid":"c5e49757-4509","name":"index.vue?vue&type=script&setup=true&name=wmsOrderSortTrans&lang.ts"},{"uid":"c5e49757-4511","name":"index.vue?vue&type=style&index=0&scoped=7fba7fec&lang.css"},{"uid":"c5e49757-4513","name":"index.vue"}]}]},{"name":"assets/js/openDialogDetail-DHX4eOR0.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component","children":[{"uid":"c5e49757-4515","name":"openDialogDetail.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4517","name":"openDialogDetail.vue?vue&type=style&index=0&scoped=d45d4b1f&lang.less"},{"uid":"c5e49757-4519","name":"openDialogDetail.vue"}]}]},{"name":"assets/js/openAllpropAsn-bPgjvvD3.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsn/component","children":[{"uid":"c5e49757-4521","name":"openAllpropAsn.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4523","name":"openAllpropAsn.vue?vue&type=style&index=0&scoped=3fc56d41&lang.less"},{"uid":"c5e49757-4525","name":"openAllpropAsn.vue"}]}]},{"name":"assets/js/xlsx-js-style-DqOWmxvl.js","children":[{"uid":"c5e49757-4527","name":"\u0000commonjs-dynamic-modules"},{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/xlsx-js-style/dist","children":[{"uid":"c5e49757-4529","name":"xlsx.min.js?commonjs-module"},{"uid":"c5e49757-4531","name":"cpexcel.js?commonjs-module"}]},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/xlsx-js-style/dist","children":[{"uid":"c5e49757-4533","name":"cpexcel.js"},{"uid":"c5e49757-4539","name":"xlsx.min.js"}]},{"uid":"c5e49757-4535","name":"__vite-browser-external"},{"uid":"c5e49757-4537","name":"\u0000__vite-browser-external?commonjs-proxy"}]},{"name":"assets/js/editDialog-EHG1PBPx.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQcDetails/component","children":[{"uid":"c5e49757-4541","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4543","name":"editDialog.vue?vue&type=style&index=0&scoped=b8b95a1c&lang.css"},{"uid":"c5e49757-4545","name":"editDialog.vue"}]}]},{"name":"assets/js/index-DsjoiIpI.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBatchRuleDetail","children":[{"uid":"c5e49757-4547","name":"index.vue?vue&type=script&setup=true&name=wmsBatchRuleDetail&lang.ts"},{"uid":"c5e49757-4549","name":"index.vue?vue&type=style&index=0&scoped=d9c8a785&lang.css"},{"uid":"c5e49757-4551","name":"index.vue"}]}]},{"name":"assets/js/index-Bvn3XwJB.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/baseCustomer","children":[{"uid":"c5e49757-4553","name":"index.vue?vue&type=script&setup=true&name=baseCustomer&lang.ts"},{"uid":"c5e49757-4555","name":"index.vue?vue&type=style&index=0&scoped=a6194d02&lang.css"},{"uid":"c5e49757-4557","name":"index.vue"}]}]},{"name":"assets/js/editDialog-DDXy4Awt.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/WmsOrderDo/wmsOrderDeliver.ts","uid":"c5e49757-4559"},{"name":"views/main/WmsOrderDo/wmsOrderDeliver/component","children":[{"uid":"c5e49757-4561","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4563","name":"editDialog.vue?vue&type=style&index=0&scoped=8f3a6d2a&lang.css"},{"uid":"c5e49757-4565","name":"editDialog.vue"}]}]}]},{"name":"assets/js/openAllpropOff-Csky87fd.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component","children":[{"uid":"c5e49757-4567","name":"openAllpropOff.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4569","name":"openAllpropOff.vue?vue&type=style&index=0&scoped=55f77cfd&lang.less"},{"uid":"c5e49757-4571","name":"openAllpropOff.vue"}]}]},{"name":"assets/js/editDialog-DCOdD0LK.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSortDetails/component","children":[{"uid":"c5e49757-4573","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4575","name":"editDialog.vue?vue&type=style&index=0&scoped=4f480c26&lang.css"},{"uid":"c5e49757-4577","name":"editDialog.vue"}]}]},{"name":"assets/js/editDialog-UmqiOqRo.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/WmsSystemConfig/wmsConfigPrint.ts","uid":"c5e49757-4579"},{"name":"views/main/WmsSystemConfig/wmsConfigPrint/component","children":[{"uid":"c5e49757-4581","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4583","name":"editDialog.vue?vue&type=style&index=0&scoped=8c496ac6&lang.css"},{"uid":"c5e49757-4585","name":"editDialog.vue"}]}]}]},{"name":"assets/js/editDialog-DIYCpJAB.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchase/component","children":[{"uid":"c5e49757-4587","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4589","name":"editDialog.vue?vue&type=style&index=0&scoped=2fcc9cd6&lang.css"},{"uid":"c5e49757-4591","name":"editDialog.vue"}]}]},{"name":"assets/js/index-DkvjHfWn.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBusinessType","children":[{"uid":"c5e49757-4593","name":"index.vue?vue&type=script&setup=true&name=wmsBusinessType&lang.ts"},{"uid":"c5e49757-4595","name":"index.vue?vue&type=style&index=0&scoped=714061c4&lang.css"},{"uid":"c5e49757-4597","name":"index.vue"}]}]},{"name":"assets/js/index-DHbtS3NI.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder","children":[{"uid":"c5e49757-4599","name":"index.vue?vue&type=script&setup=true&name=wmsInventoryCheckOrder&lang.ts"},{"uid":"c5e49757-4601","name":"index.vue?vue&type=style&index=0&scoped=b377bc87&lang.css"},{"uid":"c5e49757-4603","name":"index.vue"}]}]},{"name":"assets/js/index-BqqkaIOu.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigKbcard","children":[{"uid":"c5e49757-4605","name":"index.vue?vue&type=script&setup=true&name=wmsConfigKbcard&lang.ts"},{"uid":"c5e49757-4607","name":"index.vue?vue&type=style&index=0&scoped=bf23c1e2&lang.css"},{"uid":"c5e49757-4609","name":"index.vue"}]}]},{"name":"assets/js/editDialog-8xkt6IsU.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsPlace/component","children":[{"uid":"c5e49757-4611","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4613","name":"editDialog.vue?vue&type=style&index=0&scoped=4640995d&lang.css"},{"uid":"c5e49757-4615","name":"editDialog.vue"}]}]},{"name":"assets/js/index-ClNwQpyx.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryWarning","children":[{"uid":"c5e49757-4617","name":"index.vue?vue&type=script&setup=true&name=wareAgeWarm&lang.ts"},{"uid":"c5e49757-4619","name":"index.vue?vue&type=style&index=0&scoped=ed3dadff&lang.css"},{"uid":"c5e49757-4621","name":"index.vue"}]}]},{"name":"assets/js/editDialog-D3lIk238.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/WmsSystemConfig/wmsNoCreateRule.ts","uid":"c5e49757-4623"},{"name":"views/main/WmsSystemConfig/wmsNoCreateRule/component","children":[{"uid":"c5e49757-4625","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4627","name":"editDialog.vue?vue&type=style&index=0&scoped=da1946ee&lang.css"},{"uid":"c5e49757-4629","name":"editDialog.vue"}]}]}]},{"name":"assets/js/helpView-Dmv9I3nq.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/openAccess/component","children":[{"uid":"c5e49757-4631","name":"helpView.vue?vue&type=script&setup=true&name=sysOpenAccessHelpView&lang.ts"},{"uid":"c5e49757-4633","name":"helpView.vue?vue&type=style&index=0&scoped=58ec16d7&lang.scss"},{"uid":"c5e49757-4635","name":"helpView.vue"}]}]},{"name":"assets/js/index-cxd1pGfQ.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api-services/apis/sys-log-diff-api.ts","uid":"c5e49757-4637"},{"name":"views/system/log/difflog","children":[{"uid":"c5e49757-4639","name":"index.vue?vue&type=script&setup=true&name=sysDiffLog&lang.ts"},{"uid":"c5e49757-4641","name":"index.vue?vue&type=style&index=0&scoped=c2a62b7d&lang.scss"},{"uid":"c5e49757-4643","name":"index.vue"}]}]}]},{"name":"assets/js/editDialog-DQ6pg_kd.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBatchRuleDetail/component","children":[{"uid":"c5e49757-4645","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4647","name":"editDialog.vue?vue&type=style&index=0&scoped=84ea66ac&lang.css"},{"uid":"c5e49757-4649","name":"editDialog.vue"}]}]},{"name":"assets/js/editDialog-DdT1XG_j.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/WmsOrderDo/wmsOrderSortTrans.ts","uid":"c5e49757-4651"},{"name":"views/main/WmsOrderDo/wmsOrderSortTrans/component","children":[{"uid":"c5e49757-4653","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4655","name":"editDialog.vue?vue&type=style&index=0&scoped=4e7cb500&lang.css"},{"uid":"c5e49757-4657","name":"editDialog.vue"}]}]}]},{"name":"assets/js/editDialog-GNcScvtz.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/WmsSystemConfig/wmsSncodeCreateRule.ts","uid":"c5e49757-4659"},{"name":"views/main/WmsSystemConfig/wmsSncodeCreateRule/component","children":[{"uid":"c5e49757-4661","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4663","name":"editDialog.vue?vue&type=style&index=0&scoped=4be825a6&lang.css"},{"uid":"c5e49757-4665","name":"editDialog.vue"}]}]}]},{"name":"assets/js/openAllpropCjbc-BHPG2gdq.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component","children":[{"uid":"c5e49757-4667","name":"openAllpropCjbc.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4669","name":"openAllpropCjbc.vue?vue&type=style&index=0&scoped=82fb0475&lang.less"},{"uid":"c5e49757-4671","name":"openAllpropCjbc.vue"}]}]},{"name":"assets/js/index-M4vkSGEU.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsArea","children":[{"uid":"c5e49757-4673","name":"index.vue?vue&type=script&setup=true&name=wmsArea&lang.ts"},{"uid":"c5e49757-4675","name":"index.vue?vue&type=style&index=0&scoped=ddcef0c9&lang.css"},{"uid":"c5e49757-4677","name":"index.vue"}]}]},{"name":"assets/js/editDialog-BZuhszCx.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"utils/enum.ts","uid":"c5e49757-4679"},{"name":"views/main/WmsBase/baseCustomer/component","children":[{"uid":"c5e49757-4681","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4683","name":"editDialog.vue?vue&type=style&index=0&scoped=582251b1&lang.css"},{"uid":"c5e49757-4685","name":"editDialog.vue"}]}]}]},{"name":"assets/js/index-uhaBWau4.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainer","children":[{"uid":"c5e49757-4687","name":"index.vue?vue&type=script&setup=true&name=wmsContainer&lang.ts"},{"uid":"c5e49757-4689","name":"index.vue?vue&type=style&index=0&scoped=383b1be5&lang.css"},{"uid":"c5e49757-4691","name":"index.vue"}]}]},{"name":"assets/js/editDialog-Cn4N-dtv.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/WmsSystem/wmsSysPdaMenu.ts","uid":"c5e49757-4693"},{"name":"views/main/WmsSystem/wmsSysPdaMenu/component","children":[{"uid":"c5e49757-4695","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4697","name":"editDialog.vue?vue&type=style&index=0&scoped=c2e559c1&lang.css"},{"uid":"c5e49757-4699","name":"editDialog.vue"}]}]}]},{"name":"assets/js/index-B2IIkTAI.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystem/wmsSysPdaMenu","children":[{"uid":"c5e49757-4701","name":"index.vue?vue&type=script&setup=true&name=wmsSysPdaMenu&lang.ts"},{"uid":"c5e49757-4703","name":"index.vue?vue&type=style&index=0&scoped=f22b69b8&lang.css"},{"uid":"c5e49757-4705","name":"index.vue"}]}]},{"name":"assets/js/editDialog-D8te6LCO.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails/component","children":[{"uid":"c5e49757-4707","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4709","name":"editDialog.vue?vue&type=style&index=0&scoped=22592c9a&lang.css"},{"uid":"c5e49757-4711","name":"editDialog.vue"}]}]},{"name":"assets/js/CountView-CXXRL9Qb.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/receiptCompletion/component","children":[{"uid":"c5e49757-4713","name":"CountView.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4715","name":"CountView.vue?vue&type=style&index=0&scoped=e50d30c4&lang.less"},{"uid":"c5e49757-4717","name":"CountView.vue"}]}]},{"name":"assets/js/editPrint-DGCKGCqX.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/print/component","children":[{"uid":"c5e49757-4719","name":"editPrint.vue?vue&type=script&setup=true&name=sysEditPrint&lang.ts"},{"uid":"c5e49757-4721","name":"editPrint.vue?vue&type=style&index=0&scoped=91ed1de8&lang.scss"},{"uid":"c5e49757-4723","name":"editPrint.vue"}]}]},{"name":"assets/js/CountView-D24nnP-1.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/preconfiguration/component","children":[{"uid":"c5e49757-4725","name":"CountView.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4727","name":"CountView.vue?vue&type=style&index=0&scoped=0569e03c&lang.less"},{"uid":"c5e49757-4729","name":"CountView.vue"}]}]},{"name":"assets/js/editDialog-0zApDxM1.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainerType/component","children":[{"uid":"c5e49757-4731","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4733","name":"editDialog.vue?vue&type=style&index=0&scoped=3bdef5ae&lang.css"},{"uid":"c5e49757-4735","name":"editDialog.vue"}]}]},{"name":"assets/js/editDialog-DYXpeIl5.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBusinessType/component","children":[{"uid":"c5e49757-4737","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4739","name":"editDialog.vue?vue&type=style&index=0&scoped=cd86fe09&lang.css"},{"uid":"c5e49757-4741","name":"editDialog.vue"}]}]},{"name":"assets/js/index-Bcsow22L.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/preconfiguration","children":[{"uid":"c5e49757-4743","name":"index.vue?vue&type=script&setup=true&name=wareAgeWarm&lang.ts"},{"uid":"c5e49757-4745","name":"index.vue?vue&type=style&index=0&scoped=feadb943&lang.css"},{"uid":"c5e49757-4747","name":"index.vue"}]}]},{"name":"assets/js/index-B4OglkXU.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsnDetails","children":[{"uid":"c5e49757-4749","name":"index.vue?vue&type=script&setup=true&name=wmsOrderAsnDetails&lang.ts"},{"uid":"c5e49757-4751","name":"index.vue?vue&type=style&index=0&scoped=ca656b94&lang.css"},{"uid":"c5e49757-4753","name":"index.vue"}]}]},{"name":"assets/js/index-vmJnNaZk.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovementDetails","children":[{"uid":"c5e49757-4755","name":"index.vue?vue&type=script&setup=true&name=wmsOrderMovementDetails&lang.ts"},{"uid":"c5e49757-4757","name":"index.vue?vue&type=style&index=0&scoped=d6d64c93&lang.css"},{"uid":"c5e49757-4759","name":"index.vue"}]}]},{"name":"assets/js/editDialog-B3egYijg.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/WmsBase/wmsMaterialCustomer.ts","uid":"c5e49757-4761"},{"name":"views/main/WmsBase/wmsMaterialCustomer/component","children":[{"uid":"c5e49757-4763","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4765","name":"editDialog.vue?vue&type=style&index=0&scoped=d8ae2db5&lang.css"},{"uid":"c5e49757-4767","name":"editDialog.vue"}]}]}]},{"name":"assets/js/openAllpropWczj-B0zqcbDH.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQc/component","children":[{"uid":"c5e49757-4769","name":"openAllpropWczj.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4771","name":"openAllpropWczj.vue?vue&type=style&index=0&scoped=ccb13cfb&lang.less"},{"uid":"c5e49757-4773","name":"openAllpropWczj.vue"}]}]},{"name":"assets/js/editDialog-CLx9QuYI.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api/main/WmsBase/wmsContainerPackaging.ts","uid":"c5e49757-4775"},{"name":"views/main/WmsBase/wmsContainerPackaging/component","children":[{"uid":"c5e49757-4777","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4779","name":"editDialog.vue?vue&type=style&index=0&scoped=ebb12489&lang.css"},{"uid":"c5e49757-4781","name":"editDialog.vue"}]}]}]},{"name":"assets/js/openAllpropSort-BqS_T5Bx.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSort/component","children":[{"uid":"c5e49757-4783","name":"openAllpropSort.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4785","name":"openAllpropSort.vue?vue&type=style&index=0&scoped=c16ac314&lang.less"},{"uid":"c5e49757-4787","name":"openAllpropSort.vue"}]}]},{"name":"assets/js/index-Benc6rI_.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial","children":[{"uid":"c5e49757-4789","name":"index.vue?vue&type=script&setup=true&name=wmsMaterial&lang.ts"},{"uid":"c5e49757-4791","name":"index.vue?vue&type=style&index=0&scoped=fd73d67c&lang.css"},{"uid":"c5e49757-4793","name":"index.vue"}]}]},{"name":"assets/js/editDialog-C0M5oRhu.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsArea/component","children":[{"uid":"c5e49757-4795","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4797","name":"editDialog.vue?vue&type=style&index=0&scoped=78d87c4f&lang.css"},{"uid":"c5e49757-4799","name":"editDialog.vue"}]}]},{"name":"assets/js/editDialog-BZRKtSTq.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckRange/component","children":[{"uid":"c5e49757-4801","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4803","name":"editDialog.vue?vue&type=style&index=0&scoped=c20695c7&lang.css"},{"uid":"c5e49757-4805","name":"editDialog.vue"}]}]},{"name":"assets/js/editDialog-zCBtbtt7.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventorySnapshot/component","children":[{"uid":"c5e49757-4807","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4809","name":"editDialog.vue?vue&type=style&index=0&scoped=04bbcc4c&lang.css"},{"uid":"c5e49757-4811","name":"editDialog.vue"}]}]},{"name":"assets/js/openAllprop-Bd3KNNuO.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchase/component","children":[{"uid":"c5e49757-4813","name":"openAllprop.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4815","name":"openAllprop.vue?vue&type=style&index=0&scoped=4f110585&lang.less"},{"uid":"c5e49757-4817","name":"openAllprop.vue"}]}]},{"name":"assets/js/editDialog-By8z6Nki.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchaseDetails/component","children":[{"uid":"c5e49757-4819","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4821","name":"editDialog.vue?vue&type=style&index=0&scoped=20d0865d&lang.css"},{"uid":"c5e49757-4823","name":"editDialog.vue"}]}]},{"name":"assets/js/openAllpropSend-Dgku8M7n.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSort/component","children":[{"uid":"c5e49757-4825","name":"openAllpropSend.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4827","name":"openAllpropSend.vue?vue&type=style&index=0&scoped=b8a057bf&lang.less"},{"uid":"c5e49757-4829","name":"openAllpropSend.vue"}]}]},{"name":"assets/js/editDialog-DKYoueoO.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovement/component","children":[{"uid":"c5e49757-4831","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4833","name":"editDialog.vue?vue&type=style&index=0&scoped=ae561b6d&lang.css"},{"uid":"c5e49757-4835","name":"editDialog.vue"}]}]},{"name":"assets/js/editDialog-Bvb3-S9e.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsnDetails/component","children":[{"uid":"c5e49757-4837","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4839","name":"editDialog.vue?vue&type=style&index=0&scoped=bfb1e561&lang.css"},{"uid":"c5e49757-4841","name":"editDialog.vue"}]}]},{"name":"assets/js/userNews-DUGflrH1.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar","children":[{"uid":"c5e49757-4843","name":"userNews.vue?vue&type=script&setup=true&name=layoutBreadcrumbUserNews&lang.ts"},{"uid":"c5e49757-4845","name":"userNews.vue?vue&type=style&index=0&scoped=5270b9b6&lang.scss"},{"uid":"c5e49757-4847","name":"userNews.vue"}]}]},{"name":"assets/js/editDialog-BgiTYJv2.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component","children":[{"uid":"c5e49757-4849","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4851","name":"editDialog.vue?vue&type=style&index=0&scoped=f38af85d&lang.css"},{"uid":"c5e49757-4853","name":"editDialog.vue"}]}]},{"name":"assets/js/horizontal-DQKw326w.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navMenu","children":[{"uid":"c5e49757-4855","name":"horizontal.vue?vue&type=script&setup=true&name=navMenuHorizontal&lang.ts"},{"uid":"c5e49757-4857","name":"horizontal.vue?vue&type=style&index=0&scoped=bfa3ac3f&lang.scss"},{"uid":"c5e49757-4859","name":"horizontal.vue"}]}]},{"name":"assets/js/editDialog-DIlbdO4y.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryHistory/component","children":[{"uid":"c5e49757-4861","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4863","name":"editDialog.vue?vue&type=style&index=0&scoped=48d8b849&lang.css"},{"uid":"c5e49757-4865","name":"editDialog.vue"}]}]},{"name":"assets/js/index-BIzY7-T3.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"api-services/apis/sys-log-op-api.ts","uid":"c5e49757-4867"},{"name":"views/system/log/oplog","children":[{"uid":"c5e49757-4869","name":"index.vue?vue&type=script&setup=true&name=sysOpLog&lang.ts"},{"uid":"c5e49757-4871","name":"index.vue?vue&type=style&index=0&scoped=98a3a584&lang.scss"},{"uid":"c5e49757-4873","name":"index.vue"}]}]}]},{"name":"assets/js/index-Ke8-XU_p.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckRecord","children":[{"uid":"c5e49757-4875","name":"index.vue?vue&type=script&setup=true&name=wmsInventoryCheckRecord&lang.ts"},{"uid":"c5e49757-4877","name":"index.vue?vue&type=style&index=0&scoped=030dd6db&lang.css"},{"uid":"c5e49757-4879","name":"index.vue"}]}]},{"name":"assets/js/index-rjMgHm3I.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src","children":[{"name":"assets/logo.png","uid":"c5e49757-4881"},{"name":"views/system/print/component/hiprint","children":[{"uid":"c5e49757-4883","name":"providers.ts"},{"uid":"c5e49757-4885","name":"print-data.ts"},{"uid":"c5e49757-4887","name":"index.vue?vue&type=script&setup=true&name=hiprintDesign&lang.ts"},{"uid":"c5e49757-4889","name":"index.vue?vue&type=style&index=0&scoped=cf8b505e&lang.scss"},{"uid":"c5e49757-4891","name":"index.vue"}]}]}]},{"name":"assets/js/editDialog-DTl-UbIk.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliverDetails/component","children":[{"uid":"c5e49757-4893","name":"editDialog.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4895","name":"editDialog.vue?vue&type=style&index=0&scoped=4e350335&lang.css"},{"uid":"c5e49757-4897","name":"editDialog.vue"}]}]},{"name":"assets/js/index-D0hWhkLM.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchaseDetails","children":[{"uid":"c5e49757-4899","name":"index.vue?vue&type=script&setup=true&name=wmsOrderPurchaseDetails&lang.ts"},{"uid":"c5e49757-4901","name":"index.vue?vue&type=style&index=0&scoped=48545fba&lang.css"},{"uid":"c5e49757-4903","name":"index.vue"}]}]},{"name":"assets/js/breadcrumb-DYWBII6B.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar","children":[{"uid":"c5e49757-4905","name":"breadcrumb.vue?vue&type=script&setup=true&name=layoutBreadcrumb&lang.ts"},{"uid":"c5e49757-4907","name":"breadcrumb.vue?vue&type=style&index=0&scoped=90809e9c&lang.scss"},{"uid":"c5e49757-4909","name":"breadcrumb.vue"}]}]},{"name":"assets/js/openAllpropXiafa-Bvft63u6.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component","children":[{"uid":"c5e49757-4911","name":"openAllpropXiafa.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4913","name":"openAllpropXiafa.vue?vue&type=style&index=0&scoped=64bff038&lang.less"},{"uid":"c5e49757-4915","name":"openAllpropXiafa.vue"}]}]},{"name":"assets/js/index-CEZsSLdA.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsn","children":[{"uid":"c5e49757-4917","name":"index.vue?vue&type=script&setup=true&name=wmsOrderAsn&lang.ts"},{"uid":"c5e49757-4919","name":"index.vue?vue&type=style&index=0&scoped=bb0a40a4&lang.css"},{"uid":"c5e49757-4921","name":"index.vue"}]}]},{"name":"assets/js/index-DO-hrZCZ.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliver","children":[{"uid":"c5e49757-4923","name":"index.vue?vue&type=script&setup=true&name=wmsOrderDeliver&lang.ts"},{"uid":"c5e49757-4925","name":"index.vue?vue&type=style&index=0&scoped=6cbff077&lang.css"},{"uid":"c5e49757-4927","name":"index.vue"}]}]},{"name":"assets/js/openAllpropDo-BIWc9iHE.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/component","children":[{"uid":"c5e49757-4929","name":"openAllpropDo.vue?vue&type=script&setup=true&lang.ts"},{"uid":"c5e49757-4931","name":"openAllpropDo.vue?vue&type=style&index=0&scoped=fcc88f17&lang.less"},{"uid":"c5e49757-4933","name":"openAllpropDo.vue"}]}]},{"name":"assets/js/element-plus-B77ZVEG3.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus","children":[{"name":"es","children":[{"name":"utils","children":[{"name":"dom","children":[{"uid":"c5e49757-4935","name":"aria.mjs"},{"uid":"c5e49757-4937","name":"event.mjs"},{"uid":"c5e49757-4945","name":"position.mjs"},{"uid":"c5e49757-4959","name":"style.mjs"},{"uid":"c5e49757-4961","name":"scroll.mjs"},{"uid":"c5e49757-4963","name":"element.mjs"},{"uid":"c5e49757-4965","name":"index.mjs"}]},{"uid":"c5e49757-4943","name":"browser.mjs"},{"uid":"c5e49757-4947","name":"easings.mjs"},{"uid":"c5e49757-4949","name":"types.mjs"},{"uid":"c5e49757-4951","name":"raf.mjs"},{"uid":"c5e49757-4953","name":"strings.mjs"},{"uid":"c5e49757-4955","name":"objects.mjs"},{"uid":"c5e49757-4957","name":"error.mjs"},{"name":"vue","children":[{"uid":"c5e49757-4967","name":"global-node.mjs"},{"name":"props","children":[{"uid":"c5e49757-4969","name":"util.mjs"},{"uid":"c5e49757-4971","name":"types.mjs"},{"uid":"c5e49757-4973","name":"runtime.mjs"},{"uid":"c5e49757-4975","name":"index.mjs"}]},{"uid":"c5e49757-4977","name":"icon.mjs"},{"uid":"c5e49757-4979","name":"install.mjs"},{"uid":"c5e49757-4981","name":"refs.mjs"},{"uid":"c5e49757-4995","name":"size.mjs"},{"uid":"c5e49757-4997","name":"typescript.mjs"},{"uid":"c5e49757-4999","name":"validator.mjs"},{"uid":"c5e49757-5001","name":"vnode.mjs"},{"uid":"c5e49757-5003","name":"index.mjs"}]},{"uid":"c5e49757-5005","name":"arrays.mjs"},{"uid":"c5e49757-5007","name":"functions.mjs"},{"uid":"c5e49757-5009","name":"i18n.mjs"},{"uid":"c5e49757-5011","name":"rand.mjs"},{"uid":"c5e49757-5013","name":"typescript.mjs"},{"uid":"c5e49757-5015","name":"throttleByRaf.mjs"},{"uid":"c5e49757-5017","name":"index.mjs"}]},{"name":"constants","children":[{"uid":"c5e49757-4983","name":"aria.mjs"},{"uid":"c5e49757-4985","name":"date.mjs"},{"uid":"c5e49757-4987","name":"event.mjs"},{"uid":"c5e49757-4989","name":"key.mjs"},{"uid":"c5e49757-4991","name":"size.mjs"},{"uid":"c5e49757-4993","name":"index.mjs"}]},{"name":"hooks","children":[{"name":"use-attrs/index.mjs","uid":"c5e49757-5019"},{"name":"use-deprecated/index.mjs","uid":"c5e49757-5021"},{"name":"use-draggable/index.mjs","uid":"c5e49757-5023"},{"name":"use-focus/index.mjs","uid":"c5e49757-5025"},{"name":"use-locale/index.mjs","uid":"c5e49757-5029"},{"name":"use-namespace/index.mjs","uid":"c5e49757-5031"},{"name":"use-lockscreen/index.mjs","uid":"c5e49757-5033"},{"name":"use-modal/index.mjs","uid":"c5e49757-5035"},{"name":"use-model-toggle/index.mjs","uid":"c5e49757-5037"},{"name":"use-prevent-global/index.mjs","uid":"c5e49757-5039"},{"name":"use-prop/index.mjs","uid":"c5e49757-5041"},{"name":"use-popper/index.mjs","uid":"c5e49757-5043"},{"name":"use-same-target/index.mjs","uid":"c5e49757-5045"},{"name":"use-teleport/index.mjs","uid":"c5e49757-5047"},{"name":"use-throttle-render/index.mjs","uid":"c5e49757-5049"},{"name":"use-timeout/index.mjs","uid":"c5e49757-5051"},{"name":"use-transition-fallthrough/index.mjs","uid":"c5e49757-5053"},{"name":"use-id/index.mjs","uid":"c5e49757-5055"},{"name":"use-escape-keydown/index.mjs","uid":"c5e49757-5057"},{"name":"use-popper-container/index.mjs","uid":"c5e49757-5059"},{"name":"use-intermediate-render/index.mjs","uid":"c5e49757-5061"},{"name":"use-delayed-toggle/index.mjs","uid":"c5e49757-5063"},{"name":"use-forward-ref/index.mjs","uid":"c5e49757-5065"},{"name":"use-z-index/index.mjs","uid":"c5e49757-5067"},{"name":"use-floating/index.mjs","uid":"c5e49757-5069"},{"name":"use-cursor/index.mjs","uid":"c5e49757-5071"},{"name":"use-ordered-children/index.mjs","uid":"c5e49757-5073"},{"name":"use-size/index.mjs","uid":"c5e49757-5075"},{"name":"use-focus-controller/index.mjs","uid":"c5e49757-5077"},{"name":"use-empty-values/index.mjs","uid":"c5e49757-5079"},{"name":"use-aria/index.mjs","uid":"c5e49757-5081"},{"uid":"c5e49757-5083","name":"index.mjs"}]},{"name":"locale/lang","children":[{"uid":"c5e49757-5027","name":"en.mjs"},{"uid":"c5e49757-6361","name":"zh-cn.mjs"},{"uid":"c5e49757-6363","name":"zh-tw.mjs"}]},{"name":"components","children":[{"name":"config-provider","children":[{"name":"src","children":[{"uid":"c5e49757-5085","name":"constants.mjs"},{"name":"hooks/use-global-config.mjs","uid":"c5e49757-5087"},{"uid":"c5e49757-5089","name":"config-provider-props.mjs"},{"uid":"c5e49757-5091","name":"config-provider.mjs"}]},{"uid":"c5e49757-5093","name":"index.mjs"}]},{"name":"affix","children":[{"name":"src","children":[{"uid":"c5e49757-5099","name":"affix.mjs"},{"uid":"c5e49757-5103","name":"affix2.mjs"}]},{"uid":"c5e49757-5105","name":"index.mjs"}]},{"name":"icon","children":[{"name":"src","children":[{"uid":"c5e49757-5107","name":"icon.mjs"},{"uid":"c5e49757-5109","name":"icon2.mjs"}]},{"uid":"c5e49757-5111","name":"index.mjs"}]},{"name":"alert","children":[{"name":"src","children":[{"uid":"c5e49757-5113","name":"alert.mjs"},{"uid":"c5e49757-5115","name":"alert2.mjs"}]},{"uid":"c5e49757-5117","name":"index.mjs"}]},{"name":"form","children":[{"name":"src","children":[{"uid":"c5e49757-5119","name":"constants.mjs"},{"name":"hooks","children":[{"uid":"c5e49757-5121","name":"use-form-common-props.mjs"},{"uid":"c5e49757-5123","name":"use-form-item.mjs"},{"uid":"c5e49757-5125","name":"index.mjs"}]},{"uid":"c5e49757-5127","name":"form.mjs"},{"uid":"c5e49757-5129","name":"utils.mjs"},{"uid":"c5e49757-5131","name":"form2.mjs"},{"uid":"c5e49757-5133","name":"form-item.mjs"},{"uid":"c5e49757-5135","name":"form-label-wrap.mjs"},{"uid":"c5e49757-5137","name":"form-item2.mjs"},{"uid":"c5e49757-5139","name":"types.mjs"}]},{"uid":"c5e49757-5141","name":"index.mjs"}]},{"name":"input","children":[{"name":"src","children":[{"uid":"c5e49757-5143","name":"utils.mjs"},{"uid":"c5e49757-5145","name":"input.mjs"},{"uid":"c5e49757-5147","name":"input2.mjs"}]},{"uid":"c5e49757-5149","name":"index.mjs"}]},{"name":"scrollbar","children":[{"name":"src","children":[{"uid":"c5e49757-5151","name":"util.mjs"},{"uid":"c5e49757-5153","name":"constants.mjs"},{"uid":"c5e49757-5155","name":"thumb.mjs"},{"uid":"c5e49757-5157","name":"thumb2.mjs"},{"uid":"c5e49757-5159","name":"bar.mjs"},{"uid":"c5e49757-5161","name":"bar2.mjs"},{"uid":"c5e49757-5163","name":"scrollbar.mjs"},{"uid":"c5e49757-5165","name":"scrollbar2.mjs"}]},{"uid":"c5e49757-5167","name":"index.mjs"}]},{"name":"popper","children":[{"name":"src","children":[{"uid":"c5e49757-5169","name":"constants.mjs"},{"uid":"c5e49757-5171","name":"popper.mjs"},{"uid":"c5e49757-5173","name":"popper2.mjs"},{"uid":"c5e49757-5175","name":"arrow.mjs"},{"uid":"c5e49757-5177","name":"arrow2.mjs"},{"uid":"c5e49757-5183","name":"trigger.mjs"},{"uid":"c5e49757-5185","name":"trigger2.mjs"},{"uid":"c5e49757-5195","name":"content.mjs"},{"uid":"c5e49757-5197","name":"utils.mjs"},{"name":"composables","children":[{"uid":"c5e49757-5199","name":"use-content.mjs"},{"uid":"c5e49757-5201","name":"use-content-dom.mjs"},{"uid":"c5e49757-5203","name":"use-focus-trap.mjs"},{"uid":"c5e49757-5205","name":"index.mjs"}]},{"uid":"c5e49757-5207","name":"content2.mjs"}]},{"uid":"c5e49757-5209","name":"index.mjs"}]},{"name":"slot","children":[{"name":"src/only-child.mjs","uid":"c5e49757-5179"},{"uid":"c5e49757-5181","name":"index.mjs"}]},{"name":"focus-trap","children":[{"name":"src","children":[{"uid":"c5e49757-5187","name":"tokens.mjs"},{"uid":"c5e49757-5189","name":"utils.mjs"},{"uid":"c5e49757-5191","name":"focus-trap.mjs"}]},{"uid":"c5e49757-5193","name":"index.mjs"}]},{"name":"tooltip","children":[{"name":"src","children":[{"uid":"c5e49757-5211","name":"constants.mjs"},{"uid":"c5e49757-5213","name":"content.mjs"},{"uid":"c5e49757-5215","name":"trigger.mjs"},{"uid":"c5e49757-5217","name":"tooltip.mjs"},{"uid":"c5e49757-5219","name":"utils.mjs"},{"uid":"c5e49757-5221","name":"trigger2.mjs"},{"uid":"c5e49757-5223","name":"content2.mjs"},{"uid":"c5e49757-5225","name":"tooltip2.mjs"}]},{"uid":"c5e49757-5227","name":"index.mjs"}]},{"name":"autocomplete","children":[{"name":"src","children":[{"uid":"c5e49757-5229","name":"autocomplete.mjs"},{"uid":"c5e49757-5231","name":"autocomplete2.mjs"}]},{"uid":"c5e49757-5233","name":"index.mjs"}]},{"name":"avatar","children":[{"name":"src","children":[{"uid":"c5e49757-5235","name":"avatar.mjs"},{"uid":"c5e49757-5237","name":"avatar2.mjs"}]},{"uid":"c5e49757-5239","name":"index.mjs"}]},{"name":"backtop","children":[{"name":"src","children":[{"uid":"c5e49757-5241","name":"backtop.mjs"},{"uid":"c5e49757-5243","name":"use-backtop.mjs"},{"uid":"c5e49757-5245","name":"backtop2.mjs"}]},{"uid":"c5e49757-5247","name":"index.mjs"}]},{"name":"badge","children":[{"name":"src","children":[{"uid":"c5e49757-5249","name":"badge.mjs"},{"uid":"c5e49757-5251","name":"badge2.mjs"}]},{"uid":"c5e49757-5253","name":"index.mjs"}]},{"name":"breadcrumb","children":[{"name":"src","children":[{"uid":"c5e49757-5255","name":"constants.mjs"},{"uid":"c5e49757-5257","name":"breadcrumb.mjs"},{"uid":"c5e49757-5259","name":"breadcrumb2.mjs"},{"uid":"c5e49757-5261","name":"breadcrumb-item.mjs"},{"uid":"c5e49757-5263","name":"breadcrumb-item2.mjs"}]},{"uid":"c5e49757-5265","name":"index.mjs"}]},{"name":"button","children":[{"name":"src","children":[{"uid":"c5e49757-5267","name":"constants.mjs"},{"uid":"c5e49757-5269","name":"use-button.mjs"},{"uid":"c5e49757-5271","name":"button.mjs"},{"uid":"c5e49757-5273","name":"button-custom.mjs"},{"uid":"c5e49757-5275","name":"button2.mjs"},{"uid":"c5e49757-5277","name":"button-group.mjs"},{"uid":"c5e49757-5279","name":"button-group2.mjs"}]},{"uid":"c5e49757-5281","name":"index.mjs"}]},{"name":"time-picker","children":[{"name":"src","children":[{"uid":"c5e49757-5283","name":"constants.mjs"},{"uid":"c5e49757-5285","name":"utils.mjs"},{"name":"props","children":[{"uid":"c5e49757-5287","name":"shared.mjs"},{"uid":"c5e49757-5293","name":"panel-time-picker.mjs"},{"uid":"c5e49757-5309","name":"basic-time-spinner.mjs"},{"uid":"c5e49757-5315","name":"panel-time-range.mjs"}]},{"name":"common","children":[{"uid":"c5e49757-5289","name":"props.mjs"},{"uid":"c5e49757-5291","name":"picker.mjs"}]},{"name":"composables","children":[{"uid":"c5e49757-5295","name":"use-time-panel.mjs"},{"uid":"c5e49757-5297","name":"use-time-picker.mjs"}]},{"name":"time-picker-com","children":[{"uid":"c5e49757-5311","name":"basic-time-spinner.mjs"},{"uid":"c5e49757-5313","name":"panel-time-pick.mjs"},{"uid":"c5e49757-5317","name":"panel-time-range.mjs"}]},{"uid":"c5e49757-5319","name":"time-picker.mjs"}]},{"uid":"c5e49757-5321","name":"index.mjs"}]},{"name":"calendar","children":[{"name":"src","children":[{"uid":"c5e49757-5323","name":"date-table.mjs"},{"uid":"c5e49757-5325","name":"use-date-table.mjs"},{"uid":"c5e49757-5327","name":"date-table2.mjs"},{"uid":"c5e49757-5329","name":"use-calendar.mjs"},{"uid":"c5e49757-5331","name":"calendar.mjs"},{"uid":"c5e49757-5333","name":"calendar2.mjs"}]},{"uid":"c5e49757-5335","name":"index.mjs"}]},{"name":"card","children":[{"name":"src","children":[{"uid":"c5e49757-5337","name":"card.mjs"},{"uid":"c5e49757-5339","name":"card2.mjs"}]},{"uid":"c5e49757-5341","name":"index.mjs"}]},{"name":"carousel","children":[{"name":"src","children":[{"uid":"c5e49757-5343","name":"carousel.mjs"},{"uid":"c5e49757-5345","name":"constants.mjs"},{"uid":"c5e49757-5347","name":"use-carousel.mjs"},{"uid":"c5e49757-5349","name":"carousel2.mjs"},{"uid":"c5e49757-5351","name":"carousel-item2.mjs"},{"uid":"c5e49757-5353","name":"use-carousel-item.mjs"},{"uid":"c5e49757-5355","name":"carousel-item.mjs"}]},{"uid":"c5e49757-5357","name":"index.mjs"}]},{"name":"checkbox","children":[{"name":"src","children":[{"uid":"c5e49757-5359","name":"checkbox.mjs"},{"uid":"c5e49757-5361","name":"constants.mjs"},{"name":"composables","children":[{"uid":"c5e49757-5363","name":"use-checkbox-disabled.mjs"},{"uid":"c5e49757-5365","name":"use-checkbox-event.mjs"},{"uid":"c5e49757-5367","name":"use-checkbox-model.mjs"},{"uid":"c5e49757-5369","name":"use-checkbox-status.mjs"},{"uid":"c5e49757-5371","name":"use-checkbox.mjs"},{"uid":"c5e49757-5373","name":"index.mjs"}]},{"uid":"c5e49757-5375","name":"checkbox2.mjs"},{"uid":"c5e49757-5377","name":"checkbox-button.mjs"},{"uid":"c5e49757-5379","name":"checkbox-group.mjs"},{"uid":"c5e49757-5381","name":"checkbox-group2.mjs"}]},{"uid":"c5e49757-5383","name":"index.mjs"}]},{"name":"radio","children":[{"name":"src","children":[{"uid":"c5e49757-5385","name":"radio.mjs"},{"uid":"c5e49757-5387","name":"constants.mjs"},{"uid":"c5e49757-5389","name":"use-radio.mjs"},{"uid":"c5e49757-5391","name":"radio2.mjs"},{"uid":"c5e49757-5393","name":"radio-button.mjs"},{"uid":"c5e49757-5395","name":"radio-button2.mjs"},{"uid":"c5e49757-5397","name":"radio-group.mjs"},{"uid":"c5e49757-5399","name":"radio-group2.mjs"}]},{"uid":"c5e49757-5401","name":"index.mjs"}]},{"name":"cascader-panel","children":[{"name":"src","children":[{"uid":"c5e49757-5403","name":"node-content.mjs"},{"uid":"c5e49757-5405","name":"types.mjs"},{"uid":"c5e49757-5407","name":"node.mjs"},{"uid":"c5e49757-5409","name":"menu.mjs"},{"uid":"c5e49757-5411","name":"node2.mjs"},{"uid":"c5e49757-5413","name":"store.mjs"},{"uid":"c5e49757-5415","name":"config.mjs"},{"uid":"c5e49757-5417","name":"utils.mjs"},{"uid":"c5e49757-5419","name":"index.mjs"},{"uid":"c5e49757-5421","name":"instance.mjs"}]},{"uid":"c5e49757-5423","name":"index.mjs"}]},{"name":"tag","children":[{"name":"src","children":[{"uid":"c5e49757-5425","name":"tag.mjs"},{"uid":"c5e49757-5427","name":"tag2.mjs"}]},{"uid":"c5e49757-5429","name":"index.mjs"}]},{"name":"cascader","children":[{"name":"src","children":[{"uid":"c5e49757-5431","name":"cascader.mjs"},{"uid":"c5e49757-5433","name":"cascader2.mjs"},{"uid":"c5e49757-5435","name":"instances.mjs"}]},{"uid":"c5e49757-5437","name":"index.mjs"}]},{"name":"check-tag","children":[{"name":"src","children":[{"uid":"c5e49757-5439","name":"check-tag.mjs"},{"uid":"c5e49757-5441","name":"check-tag2.mjs"}]},{"uid":"c5e49757-5443","name":"index.mjs"}]},{"name":"row","children":[{"name":"src","children":[{"uid":"c5e49757-5445","name":"constants.mjs"},{"uid":"c5e49757-5447","name":"row.mjs"},{"uid":"c5e49757-5449","name":"row2.mjs"}]},{"uid":"c5e49757-5451","name":"index.mjs"}]},{"name":"col","children":[{"name":"src","children":[{"uid":"c5e49757-5453","name":"col.mjs"},{"uid":"c5e49757-5455","name":"col2.mjs"}]},{"uid":"c5e49757-5457","name":"index.mjs"}]},{"name":"collapse","children":[{"name":"src","children":[{"uid":"c5e49757-5459","name":"collapse2.mjs"},{"uid":"c5e49757-5461","name":"constants.mjs"},{"uid":"c5e49757-5463","name":"use-collapse.mjs"},{"uid":"c5e49757-5465","name":"collapse.mjs"},{"uid":"c5e49757-5471","name":"collapse-item.mjs"},{"uid":"c5e49757-5473","name":"use-collapse-item.mjs"},{"uid":"c5e49757-5475","name":"collapse-item2.mjs"}]},{"uid":"c5e49757-5477","name":"index.mjs"}]},{"name":"collapse-transition","children":[{"name":"src/collapse-transition.mjs","uid":"c5e49757-5467"},{"uid":"c5e49757-5469","name":"index.mjs"}]},{"name":"color-picker","children":[{"name":"src","children":[{"name":"props/alpha-slider.mjs","uid":"c5e49757-5479"},{"name":"utils","children":[{"uid":"c5e49757-5481","name":"draggable.mjs"},{"uid":"c5e49757-5491","name":"color.mjs"}]},{"name":"composables/use-alpha-slider.mjs","uid":"c5e49757-5483"},{"name":"components","children":[{"uid":"c5e49757-5485","name":"alpha-slider.mjs"},{"uid":"c5e49757-5487","name":"hue-slider.mjs"},{"uid":"c5e49757-5493","name":"predefine.mjs"},{"uid":"c5e49757-5495","name":"sv-panel.mjs"}]},{"uid":"c5e49757-5489","name":"color-picker.mjs"},{"uid":"c5e49757-5497","name":"color-picker2.mjs"}]},{"uid":"c5e49757-5499","name":"index.mjs"}]},{"name":"container","children":[{"name":"src","children":[{"uid":"c5e49757-5501","name":"container.mjs"},{"uid":"c5e49757-5503","name":"aside.mjs"},{"uid":"c5e49757-5505","name":"footer.mjs"},{"uid":"c5e49757-5507","name":"header.mjs"},{"uid":"c5e49757-5509","name":"main.mjs"}]},{"uid":"c5e49757-5511","name":"index.mjs"}]},{"name":"date-picker","children":[{"name":"src","children":[{"uid":"c5e49757-5513","name":"constants.mjs"},{"name":"props","children":[{"uid":"c5e49757-5515","name":"date-picker.mjs"},{"uid":"c5e49757-5517","name":"shared.mjs"},{"uid":"c5e49757-5519","name":"panel-date-pick.mjs"},{"uid":"c5e49757-5521","name":"basic-date-table.mjs"},{"uid":"c5e49757-5527","name":"basic-cell.mjs"},{"uid":"c5e49757-5533","name":"basic-month-table.mjs"},{"uid":"c5e49757-5537","name":"basic-year-table.mjs"},{"uid":"c5e49757-5543","name":"panel-date-range.mjs"},{"uid":"c5e49757-5551","name":"panel-month-range.mjs"}]},{"uid":"c5e49757-5523","name":"utils.mjs"},{"name":"composables","children":[{"uid":"c5e49757-5525","name":"use-basic-date-table.mjs"},{"uid":"c5e49757-5545","name":"use-shortcut.mjs"},{"uid":"c5e49757-5547","name":"use-range-picker.mjs"},{"uid":"c5e49757-5553","name":"use-month-range-header.mjs"}]},{"name":"date-picker-com","children":[{"uid":"c5e49757-5529","name":"basic-cell-render.mjs"},{"uid":"c5e49757-5531","name":"basic-date-table.mjs"},{"uid":"c5e49757-5535","name":"basic-month-table.mjs"},{"uid":"c5e49757-5539","name":"basic-year-table.mjs"},{"uid":"c5e49757-5541","name":"panel-date-pick.mjs"},{"uid":"c5e49757-5549","name":"panel-date-range.mjs"},{"uid":"c5e49757-5555","name":"panel-month-range.mjs"}]},{"uid":"c5e49757-5557","name":"panel-utils.mjs"},{"uid":"c5e49757-5559","name":"date-picker.mjs"}]},{"uid":"c5e49757-5561","name":"index.mjs"}]},{"name":"descriptions","children":[{"name":"src","children":[{"uid":"c5e49757-5563","name":"token.mjs"},{"uid":"c5e49757-5565","name":"descriptions-cell.mjs"},{"uid":"c5e49757-5567","name":"descriptions-row.mjs"},{"uid":"c5e49757-5569","name":"descriptions-row2.mjs"},{"uid":"c5e49757-5571","name":"description.mjs"},{"uid":"c5e49757-5573","name":"description2.mjs"},{"uid":"c5e49757-5575","name":"description-item.mjs"}]},{"uid":"c5e49757-5577","name":"index.mjs"}]},{"name":"overlay","children":[{"name":"src/overlay.mjs","uid":"c5e49757-5579"},{"uid":"c5e49757-5581","name":"index.mjs"}]},{"name":"dialog","children":[{"name":"src","children":[{"uid":"c5e49757-5583","name":"constants.mjs"},{"uid":"c5e49757-5585","name":"dialog-content.mjs"},{"uid":"c5e49757-5587","name":"dialog-content2.mjs"},{"uid":"c5e49757-5589","name":"dialog.mjs"},{"uid":"c5e49757-5591","name":"use-dialog.mjs"},{"uid":"c5e49757-5593","name":"dialog2.mjs"}]},{"uid":"c5e49757-5595","name":"index.mjs"}]},{"name":"divider","children":[{"name":"src","children":[{"uid":"c5e49757-5597","name":"divider.mjs"},{"uid":"c5e49757-5599","name":"divider2.mjs"}]},{"uid":"c5e49757-5601","name":"index.mjs"}]},{"name":"drawer","children":[{"name":"src","children":[{"uid":"c5e49757-5603","name":"drawer.mjs"},{"uid":"c5e49757-5605","name":"drawer2.mjs"}]},{"uid":"c5e49757-5607","name":"index.mjs"}]},{"name":"collection","children":[{"name":"src","children":[{"uid":"c5e49757-5609","name":"collection2.mjs"},{"uid":"c5e49757-5611","name":"collection-item.mjs"},{"uid":"c5e49757-5613","name":"collection.mjs"},{"uid":"c5e49757-5615","name":"tokens.mjs"}]},{"uid":"c5e49757-5617","name":"index.mjs"}]},{"name":"roving-focus-group","children":[{"name":"src","children":[{"uid":"c5e49757-5619","name":"roving-focus-group.mjs"},{"uid":"c5e49757-5621","name":"tokens.mjs"},{"uid":"c5e49757-5623","name":"utils.mjs"},{"uid":"c5e49757-5625","name":"roving-focus-group-impl.mjs"},{"uid":"c5e49757-5627","name":"roving-focus-group2.mjs"},{"uid":"c5e49757-5629","name":"roving-focus-item.mjs"}]},{"uid":"c5e49757-5631","name":"index.mjs"}]},{"name":"dropdown","children":[{"name":"src","children":[{"uid":"c5e49757-5633","name":"dropdown.mjs"},{"uid":"c5e49757-5635","name":"tokens.mjs"},{"uid":"c5e49757-5637","name":"dropdown2.mjs"},{"uid":"c5e49757-5639","name":"dropdown-item-impl.mjs"},{"uid":"c5e49757-5641","name":"useDropdown.mjs"},{"uid":"c5e49757-5643","name":"dropdown-item.mjs"},{"uid":"c5e49757-5645","name":"dropdown-menu.mjs"},{"uid":"c5e49757-5647","name":"instance.mjs"}]},{"uid":"c5e49757-5649","name":"index.mjs"}]},{"name":"empty","children":[{"name":"src","children":[{"uid":"c5e49757-5651","name":"img-empty.mjs"},{"uid":"c5e49757-5653","name":"empty.mjs"},{"uid":"c5e49757-5655","name":"empty2.mjs"}]},{"uid":"c5e49757-5657","name":"index.mjs"}]},{"name":"image-viewer","children":[{"name":"src","children":[{"uid":"c5e49757-5659","name":"image-viewer.mjs"},{"uid":"c5e49757-5661","name":"image-viewer2.mjs"}]},{"uid":"c5e49757-5663","name":"index.mjs"}]},{"name":"image","children":[{"name":"src","children":[{"uid":"c5e49757-5665","name":"image.mjs"},{"uid":"c5e49757-5667","name":"image2.mjs"}]},{"uid":"c5e49757-5669","name":"index.mjs"}]},{"name":"input-number","children":[{"name":"src","children":[{"uid":"c5e49757-5671","name":"input-number.mjs"},{"uid":"c5e49757-5673","name":"input-number2.mjs"}]},{"uid":"c5e49757-5675","name":"index.mjs"}]},{"name":"link","children":[{"name":"src","children":[{"uid":"c5e49757-5677","name":"link.mjs"},{"uid":"c5e49757-5679","name":"link2.mjs"}]},{"uid":"c5e49757-5681","name":"index.mjs"}]},{"name":"menu","children":[{"name":"src","children":[{"name":"utils","children":[{"uid":"c5e49757-5683","name":"submenu.mjs"},{"uid":"c5e49757-5685","name":"menu-item.mjs"},{"uid":"c5e49757-5687","name":"menu-bar.mjs"}]},{"uid":"c5e49757-5689","name":"menu-collapse-transition.mjs"},{"uid":"c5e49757-5691","name":"use-menu.mjs"},{"uid":"c5e49757-5693","name":"use-menu-color.mjs"},{"uid":"c5e49757-5695","name":"use-menu-css-var.mjs"},{"uid":"c5e49757-5697","name":"sub-menu.mjs"},{"uid":"c5e49757-5699","name":"menu.mjs"},{"uid":"c5e49757-5701","name":"menu-item.mjs"},{"uid":"c5e49757-5703","name":"menu-item2.mjs"},{"uid":"c5e49757-5705","name":"menu-item-group.mjs"},{"uid":"c5e49757-5707","name":"menu-item-group2.mjs"},{"uid":"c5e49757-5709","name":"types.mjs"},{"uid":"c5e49757-5711","name":"instance.mjs"}]},{"uid":"c5e49757-5713","name":"index.mjs"}]},{"name":"page-header","children":[{"name":"src","children":[{"uid":"c5e49757-5715","name":"page-header.mjs"},{"uid":"c5e49757-5717","name":"page-header2.mjs"}]},{"uid":"c5e49757-5719","name":"index.mjs"}]},{"name":"pagination","children":[{"name":"src","children":[{"uid":"c5e49757-5721","name":"constants.mjs"},{"name":"components","children":[{"uid":"c5e49757-5723","name":"prev.mjs"},{"uid":"c5e49757-5725","name":"prev2.mjs"},{"uid":"c5e49757-5727","name":"next.mjs"},{"uid":"c5e49757-5729","name":"next2.mjs"},{"uid":"c5e49757-5755","name":"sizes.mjs"},{"uid":"c5e49757-5757","name":"sizes2.mjs"},{"uid":"c5e49757-5759","name":"jumper.mjs"},{"uid":"c5e49757-5761","name":"jumper2.mjs"},{"uid":"c5e49757-5763","name":"total.mjs"},{"uid":"c5e49757-5765","name":"total2.mjs"},{"uid":"c5e49757-5767","name":"pager.mjs"},{"uid":"c5e49757-5769","name":"pager2.mjs"}]},{"uid":"c5e49757-5753","name":"usePagination.mjs"},{"uid":"c5e49757-5771","name":"pagination.mjs"}]},{"uid":"c5e49757-5773","name":"index.mjs"}]},{"name":"select","children":[{"name":"src","children":[{"uid":"c5e49757-5731","name":"token.mjs"},{"uid":"c5e49757-5733","name":"useOption.mjs"},{"uid":"c5e49757-5735","name":"option.mjs"},{"uid":"c5e49757-5737","name":"select-dropdown.mjs"},{"uid":"c5e49757-5741","name":"useSelect.mjs"},{"uid":"c5e49757-5743","name":"options.mjs"},{"uid":"c5e49757-5745","name":"select.mjs"},{"uid":"c5e49757-5747","name":"select2.mjs"},{"uid":"c5e49757-5749","name":"option-group.mjs"}]},{"uid":"c5e49757-5751","name":"index.mjs"}]},{"name":"select-v2","children":[{"name":"src","children":[{"uid":"c5e49757-5739","name":"useInput.mjs"},{"uid":"c5e49757-5837","name":"group-item.mjs"},{"uid":"c5e49757-5839","name":"useOption.mjs"},{"uid":"c5e49757-5841","name":"useProps.mjs"},{"uid":"c5e49757-5843","name":"defaults.mjs"},{"uid":"c5e49757-5845","name":"token.mjs"},{"uid":"c5e49757-5847","name":"option-item.mjs"},{"uid":"c5e49757-5849","name":"select-dropdown.mjs"},{"uid":"c5e49757-5851","name":"useAllowCreate.mjs"},{"uid":"c5e49757-5853","name":"useSelect.mjs"},{"uid":"c5e49757-5855","name":"select.mjs"}]},{"uid":"c5e49757-5857","name":"index.mjs"}]},{"name":"popconfirm","children":[{"name":"src","children":[{"uid":"c5e49757-5775","name":"popconfirm.mjs"},{"uid":"c5e49757-5777","name":"popconfirm2.mjs"}]},{"uid":"c5e49757-5779","name":"index.mjs"}]},{"name":"popover","children":[{"name":"src","children":[{"uid":"c5e49757-5781","name":"popover.mjs"},{"uid":"c5e49757-5783","name":"popover2.mjs"},{"uid":"c5e49757-5785","name":"directive.mjs"}]},{"uid":"c5e49757-5787","name":"index.mjs"}]},{"name":"progress","children":[{"name":"src","children":[{"uid":"c5e49757-5789","name":"progress.mjs"},{"uid":"c5e49757-5791","name":"progress2.mjs"}]},{"uid":"c5e49757-5793","name":"index.mjs"}]},{"name":"rate","children":[{"name":"src","children":[{"uid":"c5e49757-5795","name":"rate.mjs"},{"uid":"c5e49757-5797","name":"rate2.mjs"}]},{"uid":"c5e49757-5799","name":"index.mjs"}]},{"name":"result","children":[{"name":"src","children":[{"uid":"c5e49757-5801","name":"result.mjs"},{"uid":"c5e49757-5803","name":"result2.mjs"}]},{"uid":"c5e49757-5805","name":"index.mjs"}]},{"name":"virtual-list","children":[{"name":"src","children":[{"name":"hooks","children":[{"uid":"c5e49757-5807","name":"use-cache.mjs"},{"uid":"c5e49757-5811","name":"use-wheel.mjs"},{"uid":"c5e49757-5825","name":"use-grid-wheel.mjs"}]},{"uid":"c5e49757-5809","name":"defaults.mjs"},{"uid":"c5e49757-5813","name":"props.mjs"},{"uid":"c5e49757-5815","name":"utils.mjs"},{"name":"components","children":[{"uid":"c5e49757-5817","name":"scrollbar.mjs"},{"uid":"c5e49757-5821","name":"fixed-size-list.mjs"},{"uid":"c5e49757-5823","name":"dynamic-size-list.mjs"},{"uid":"c5e49757-5829","name":"fixed-size-grid.mjs"},{"uid":"c5e49757-5831","name":"dynamic-size-grid.mjs"}]},{"name":"builders","children":[{"uid":"c5e49757-5819","name":"build-list.mjs"},{"uid":"c5e49757-5827","name":"build-grid.mjs"}]},{"uid":"c5e49757-5833","name":"types.mjs"}]},{"uid":"c5e49757-5835","name":"index.mjs"}]},{"name":"skeleton","children":[{"name":"src","children":[{"uid":"c5e49757-5859","name":"skeleton.mjs"},{"uid":"c5e49757-5861","name":"skeleton-item.mjs"},{"uid":"c5e49757-5863","name":"skeleton-item2.mjs"},{"uid":"c5e49757-5865","name":"skeleton2.mjs"}]},{"uid":"c5e49757-5867","name":"index.mjs"}]},{"name":"slider","children":[{"name":"src","children":[{"uid":"c5e49757-5869","name":"constants.mjs"},{"uid":"c5e49757-5871","name":"slider.mjs"},{"name":"composables","children":[{"uid":"c5e49757-5873","name":"use-lifecycle.mjs"},{"uid":"c5e49757-5875","name":"use-marks.mjs"},{"uid":"c5e49757-5877","name":"use-slide.mjs"},{"uid":"c5e49757-5879","name":"use-slider-button.mjs"},{"uid":"c5e49757-5881","name":"use-stops.mjs"},{"uid":"c5e49757-5883","name":"use-watch.mjs"},{"uid":"c5e49757-5885","name":"index.mjs"}]},{"uid":"c5e49757-5887","name":"button.mjs"},{"uid":"c5e49757-5889","name":"button2.mjs"},{"uid":"c5e49757-5891","name":"marker.mjs"},{"uid":"c5e49757-5893","name":"slider2.mjs"}]},{"uid":"c5e49757-5895","name":"index.mjs"}]},{"name":"space","children":[{"name":"src","children":[{"uid":"c5e49757-5897","name":"item.mjs"},{"uid":"c5e49757-5899","name":"use-space.mjs"},{"uid":"c5e49757-5901","name":"space.mjs"}]},{"uid":"c5e49757-5903","name":"index.mjs"}]},{"name":"statistic","children":[{"name":"src","children":[{"uid":"c5e49757-5905","name":"statistic.mjs"},{"uid":"c5e49757-5907","name":"statistic2.mjs"}]},{"uid":"c5e49757-5909","name":"index.mjs"}]},{"name":"countdown","children":[{"name":"src","children":[{"uid":"c5e49757-5911","name":"countdown.mjs"},{"uid":"c5e49757-5913","name":"utils.mjs"},{"uid":"c5e49757-5915","name":"countdown2.mjs"}]},{"uid":"c5e49757-5917","name":"index.mjs"}]},{"name":"steps","children":[{"name":"src","children":[{"uid":"c5e49757-5919","name":"steps.mjs"},{"uid":"c5e49757-5921","name":"steps2.mjs"},{"uid":"c5e49757-5923","name":"item.mjs"},{"uid":"c5e49757-5925","name":"item2.mjs"}]},{"uid":"c5e49757-5927","name":"index.mjs"}]},{"name":"switch","children":[{"name":"src","children":[{"uid":"c5e49757-5929","name":"switch.mjs"},{"uid":"c5e49757-5931","name":"switch2.mjs"}]},{"uid":"c5e49757-5933","name":"index.mjs"}]},{"name":"table","children":[{"name":"src","children":[{"uid":"c5e49757-5935","name":"util.mjs"},{"name":"store","children":[{"uid":"c5e49757-5937","name":"expand.mjs"},{"uid":"c5e49757-5939","name":"current.mjs"},{"uid":"c5e49757-5941","name":"tree.mjs"},{"uid":"c5e49757-5943","name":"watcher.mjs"},{"uid":"c5e49757-5945","name":"index.mjs"},{"uid":"c5e49757-5947","name":"helper.mjs"}]},{"uid":"c5e49757-5949","name":"table-layout.mjs"},{"uid":"c5e49757-5951","name":"filter-panel.mjs"},{"uid":"c5e49757-5953","name":"layout-observer.mjs"},{"uid":"c5e49757-5955","name":"tokens.mjs"},{"name":"table-header","children":[{"uid":"c5e49757-5957","name":"event-helper.mjs"},{"uid":"c5e49757-5959","name":"style.helper.mjs"},{"uid":"c5e49757-5961","name":"utils-helper.mjs"},{"uid":"c5e49757-5963","name":"index.mjs"}]},{"name":"table-body","children":[{"uid":"c5e49757-5965","name":"events-helper.mjs"},{"uid":"c5e49757-5967","name":"styles-helper.mjs"},{"uid":"c5e49757-5969","name":"render-helper.mjs"},{"uid":"c5e49757-5971","name":"defaults.mjs"},{"uid":"c5e49757-5973","name":"index.mjs"}]},{"name":"table-footer","children":[{"uid":"c5e49757-5975","name":"mapState-helper.mjs"},{"uid":"c5e49757-5977","name":"style-helper.mjs"},{"uid":"c5e49757-5979","name":"index.mjs"}]},{"name":"table","children":[{"uid":"c5e49757-5981","name":"utils-helper.mjs"},{"uid":"c5e49757-5983","name":"style-helper.mjs"},{"uid":"c5e49757-5985","name":"key-render-helper.mjs"},{"uid":"c5e49757-5987","name":"defaults.mjs"}]},{"uid":"c5e49757-5989","name":"h-helper.mjs"},{"name":"composables/use-scrollbar.mjs","uid":"c5e49757-5991"},{"uid":"c5e49757-5993","name":"table.mjs"},{"uid":"c5e49757-5995","name":"config.mjs"},{"name":"table-column","children":[{"uid":"c5e49757-5997","name":"watcher-helper.mjs"},{"uid":"c5e49757-5999","name":"render-helper.mjs"},{"uid":"c5e49757-6001","name":"defaults.mjs"},{"uid":"c5e49757-6003","name":"index.mjs"}]},{"uid":"c5e49757-6005","name":"tableColumn.mjs"}]},{"uid":"c5e49757-6007","name":"index.mjs"}]},{"name":"table-v2","children":[{"name":"src","children":[{"uid":"c5e49757-6009","name":"constants.mjs"},{"uid":"c5e49757-6011","name":"private.mjs"},{"name":"composables","children":[{"uid":"c5e49757-6013","name":"utils.mjs"},{"uid":"c5e49757-6015","name":"use-columns.mjs"},{"uid":"c5e49757-6017","name":"use-scrollbar.mjs"},{"uid":"c5e49757-6019","name":"use-row.mjs"},{"uid":"c5e49757-6021","name":"use-data.mjs"},{"uid":"c5e49757-6025","name":"use-styles.mjs"},{"uid":"c5e49757-6027","name":"use-auto-resize.mjs"},{"uid":"c5e49757-6029","name":"index.mjs"}]},{"uid":"c5e49757-6023","name":"utils.mjs"},{"uid":"c5e49757-6031","name":"use-table.mjs"},{"uid":"c5e49757-6033","name":"tokens.mjs"},{"uid":"c5e49757-6035","name":"common.mjs"},{"uid":"c5e49757-6037","name":"row.mjs"},{"uid":"c5e49757-6039","name":"header.mjs"},{"uid":"c5e49757-6041","name":"grid.mjs"},{"uid":"c5e49757-6043","name":"table.mjs"},{"name":"components","children":[{"uid":"c5e49757-6045","name":"cell.mjs"},{"uid":"c5e49757-6047","name":"header-cell.mjs"},{"uid":"c5e49757-6051","name":"header-row.mjs"},{"uid":"c5e49757-6053","name":"header.mjs"},{"uid":"c5e49757-6055","name":"row.mjs"},{"uid":"c5e49757-6057","name":"sort-icon.mjs"},{"uid":"c5e49757-6059","name":"expand-icon.mjs"},{"uid":"c5e49757-6061","name":"index.mjs"},{"uid":"c5e49757-6089","name":"auto-resizer.mjs"}]},{"uid":"c5e49757-6049","name":"header-row.mjs"},{"uid":"c5e49757-6063","name":"table-grid.mjs"},{"name":"renderers","children":[{"uid":"c5e49757-6065","name":"main-table.mjs"},{"uid":"c5e49757-6067","name":"left-table.mjs"},{"uid":"c5e49757-6069","name":"right-table.mjs"},{"uid":"c5e49757-6071","name":"row.mjs"},{"uid":"c5e49757-6073","name":"cell.mjs"},{"uid":"c5e49757-6075","name":"header.mjs"},{"uid":"c5e49757-6077","name":"header-cell.mjs"},{"uid":"c5e49757-6079","name":"footer.mjs"},{"uid":"c5e49757-6081","name":"empty.mjs"},{"uid":"c5e49757-6083","name":"overlay.mjs"}]},{"uid":"c5e49757-6085","name":"table-v2.mjs"},{"uid":"c5e49757-6087","name":"auto-resizer.mjs"}]},{"uid":"c5e49757-6091","name":"index.mjs"}]},{"name":"tabs","children":[{"name":"src","children":[{"uid":"c5e49757-6093","name":"constants.mjs"},{"uid":"c5e49757-6095","name":"tab-bar.mjs"},{"uid":"c5e49757-6097","name":"tab-bar2.mjs"},{"uid":"c5e49757-6099","name":"tab-nav.mjs"},{"uid":"c5e49757-6101","name":"tabs.mjs"},{"uid":"c5e49757-6103","name":"tab-pane.mjs"},{"uid":"c5e49757-6105","name":"tab-pane2.mjs"}]},{"uid":"c5e49757-6107","name":"index.mjs"}]},{"name":"text","children":[{"name":"src","children":[{"uid":"c5e49757-6109","name":"text.mjs"},{"uid":"c5e49757-6111","name":"text2.mjs"}]},{"uid":"c5e49757-6113","name":"index.mjs"}]},{"name":"time-select","children":[{"name":"src","children":[{"uid":"c5e49757-6115","name":"time-select.mjs"},{"uid":"c5e49757-6117","name":"utils.mjs"},{"uid":"c5e49757-6119","name":"time-select2.mjs"}]},{"uid":"c5e49757-6121","name":"index.mjs"}]},{"name":"timeline","children":[{"name":"src","children":[{"uid":"c5e49757-6123","name":"timeline.mjs"},{"uid":"c5e49757-6125","name":"timeline-item.mjs"},{"uid":"c5e49757-6127","name":"timeline-item2.mjs"}]},{"uid":"c5e49757-6129","name":"index.mjs"}]},{"name":"tooltip-v2","children":[{"name":"src","children":[{"uid":"c5e49757-6131","name":"common.mjs"},{"uid":"c5e49757-6133","name":"arrow.mjs"},{"uid":"c5e49757-6135","name":"content.mjs"},{"uid":"c5e49757-6137","name":"root.mjs"},{"uid":"c5e49757-6139","name":"trigger.mjs"},{"uid":"c5e49757-6141","name":"tooltip.mjs"},{"uid":"c5e49757-6143","name":"constants.mjs"},{"uid":"c5e49757-6145","name":"root2.mjs"},{"uid":"c5e49757-6147","name":"arrow2.mjs"},{"uid":"c5e49757-6155","name":"content2.mjs"},{"uid":"c5e49757-6157","name":"forward-ref.mjs"},{"uid":"c5e49757-6159","name":"trigger2.mjs"},{"uid":"c5e49757-6161","name":"tooltip2.mjs"}]},{"uid":"c5e49757-6163","name":"index.mjs"}]},{"name":"visual-hidden","children":[{"name":"src","children":[{"uid":"c5e49757-6149","name":"visual-hidden.mjs"},{"uid":"c5e49757-6151","name":"visual-hidden2.mjs"}]},{"uid":"c5e49757-6153","name":"index.mjs"}]},{"name":"transfer","children":[{"name":"src","children":[{"uid":"c5e49757-6165","name":"transfer.mjs"},{"uid":"c5e49757-6167","name":"transfer-panel.mjs"},{"name":"composables","children":[{"uid":"c5e49757-6169","name":"use-props-alias.mjs"},{"uid":"c5e49757-6171","name":"use-check.mjs"},{"uid":"c5e49757-6173","name":"use-checked-change.mjs"},{"uid":"c5e49757-6175","name":"use-computed-data.mjs"},{"uid":"c5e49757-6177","name":"use-move.mjs"},{"uid":"c5e49757-6179","name":"index.mjs"}]},{"uid":"c5e49757-6181","name":"transfer-panel2.mjs"},{"uid":"c5e49757-6183","name":"transfer2.mjs"}]},{"uid":"c5e49757-6185","name":"index.mjs"}]},{"name":"tree","children":[{"name":"src","children":[{"name":"model","children":[{"uid":"c5e49757-6187","name":"util.mjs"},{"uid":"c5e49757-6189","name":"node.mjs"},{"uid":"c5e49757-6191","name":"tree-store.mjs"},{"uid":"c5e49757-6195","name":"useNodeExpandEventBroadcast.mjs"},{"uid":"c5e49757-6197","name":"useDragNode.mjs"},{"uid":"c5e49757-6201","name":"useKeydown.mjs"}]},{"uid":"c5e49757-6193","name":"tree-node-content.mjs"},{"uid":"c5e49757-6199","name":"tree-node.mjs"},{"uid":"c5e49757-6203","name":"tree.mjs"}]},{"uid":"c5e49757-6205","name":"index.mjs"}]},{"name":"tree-select","children":[{"name":"src","children":[{"uid":"c5e49757-6207","name":"select.mjs"},{"uid":"c5e49757-6209","name":"tree-select-option.mjs"},{"uid":"c5e49757-6211","name":"utils.mjs"},{"uid":"c5e49757-6213","name":"tree.mjs"},{"uid":"c5e49757-6215","name":"cache-options.mjs"},{"uid":"c5e49757-6217","name":"tree-select.mjs"}]},{"uid":"c5e49757-6219","name":"index.mjs"}]},{"name":"tree-v2","children":[{"name":"src","children":[{"uid":"c5e49757-6221","name":"virtual-tree.mjs"},{"name":"composables","children":[{"uid":"c5e49757-6223","name":"useCheck.mjs"},{"uid":"c5e49757-6225","name":"useFilter.mjs"},{"uid":"c5e49757-6227","name":"useTree.mjs"}]},{"uid":"c5e49757-6229","name":"tree-node-content.mjs"},{"uid":"c5e49757-6231","name":"tree-node.mjs"},{"uid":"c5e49757-6233","name":"tree.mjs"}]},{"uid":"c5e49757-6235","name":"index.mjs"}]},{"name":"upload","children":[{"name":"src","children":[{"uid":"c5e49757-6237","name":"constants.mjs"},{"uid":"c5e49757-6239","name":"ajax.mjs"},{"uid":"c5e49757-6241","name":"upload.mjs"},{"uid":"c5e49757-6243","name":"upload-list.mjs"},{"uid":"c5e49757-6245","name":"upload-list2.mjs"},{"uid":"c5e49757-6247","name":"upload-dragger.mjs"},{"uid":"c5e49757-6249","name":"upload-dragger2.mjs"},{"uid":"c5e49757-6251","name":"upload-content.mjs"},{"uid":"c5e49757-6253","name":"upload-content2.mjs"},{"uid":"c5e49757-6255","name":"use-handlers.mjs"},{"uid":"c5e49757-6257","name":"upload2.mjs"}]},{"uid":"c5e49757-6259","name":"index.mjs"}]},{"name":"watermark","children":[{"name":"src","children":[{"uid":"c5e49757-6261","name":"watermark.mjs"},{"uid":"c5e49757-6263","name":"utils.mjs"},{"uid":"c5e49757-6265","name":"useClips.mjs"},{"uid":"c5e49757-6267","name":"watermark2.mjs"}]},{"uid":"c5e49757-6269","name":"index.mjs"}]},{"name":"tour","children":[{"name":"src","children":[{"uid":"c5e49757-6271","name":"mask.mjs"},{"uid":"c5e49757-6273","name":"helper.mjs"},{"uid":"c5e49757-6275","name":"mask2.mjs"},{"uid":"c5e49757-6277","name":"content.mjs"},{"uid":"c5e49757-6279","name":"content2.mjs"},{"uid":"c5e49757-6281","name":"steps.mjs"},{"uid":"c5e49757-6283","name":"tour.mjs"},{"uid":"c5e49757-6285","name":"tour2.mjs"},{"uid":"c5e49757-6287","name":"step.mjs"},{"uid":"c5e49757-6289","name":"step2.mjs"}]},{"uid":"c5e49757-6291","name":"index.mjs"}]},{"name":"anchor","children":[{"name":"src","children":[{"uid":"c5e49757-6293","name":"anchor.mjs"},{"uid":"c5e49757-6295","name":"constants.mjs"},{"uid":"c5e49757-6297","name":"anchor2.mjs"},{"uid":"c5e49757-6299","name":"anchor-link.mjs"},{"uid":"c5e49757-6301","name":"anchor-link2.mjs"}]},{"uid":"c5e49757-6303","name":"index.mjs"}]},{"name":"segmented","children":[{"name":"src","children":[{"uid":"c5e49757-6305","name":"segmented.mjs"},{"uid":"c5e49757-6307","name":"segmented2.mjs"}]},{"uid":"c5e49757-6309","name":"index.mjs"}]},{"name":"infinite-scroll","children":[{"name":"src/index.mjs","uid":"c5e49757-6313"},{"uid":"c5e49757-6315","name":"index.mjs"}]},{"name":"loading","children":[{"name":"src","children":[{"uid":"c5e49757-6317","name":"loading.mjs"},{"uid":"c5e49757-6319","name":"service.mjs"},{"uid":"c5e49757-6321","name":"directive.mjs"},{"uid":"c5e49757-6323","name":"types.mjs"}]},{"uid":"c5e49757-6325","name":"index.mjs"}]},{"name":"message","children":[{"name":"src","children":[{"uid":"c5e49757-6327","name":"message.mjs"},{"uid":"c5e49757-6329","name":"instance.mjs"},{"uid":"c5e49757-6331","name":"message2.mjs"},{"uid":"c5e49757-6333","name":"method.mjs"}]},{"uid":"c5e49757-6335","name":"index.mjs"}]},{"name":"message-box","children":[{"name":"src","children":[{"uid":"c5e49757-6337","name":"index.mjs"},{"uid":"c5e49757-6339","name":"messageBox.mjs"},{"uid":"c5e49757-6341","name":"message-box.type.mjs"}]},{"uid":"c5e49757-6343","name":"index.mjs"}]},{"name":"notification","children":[{"name":"src","children":[{"uid":"c5e49757-6345","name":"notification.mjs"},{"uid":"c5e49757-6347","name":"notification2.mjs"},{"uid":"c5e49757-6349","name":"notify.mjs"}]},{"uid":"c5e49757-6351","name":"index.mjs"}]},{"uid":"c5e49757-6357","name":"index.mjs"}]},{"uid":"c5e49757-5095","name":"version.mjs"},{"uid":"c5e49757-5097","name":"make-installer.mjs"},{"name":"_virtual/plugin-vue_export-helper.mjs","uid":"c5e49757-5101"},{"name":"directives","children":[{"name":"click-outside/index.mjs","uid":"c5e49757-5299"},{"name":"repeat-click/index.mjs","uid":"c5e49757-5301"},{"name":"trap-focus/index.mjs","uid":"c5e49757-5303"},{"name":"mousewheel/index.mjs","uid":"c5e49757-5305"},{"uid":"c5e49757-5307","name":"index.mjs"}]},{"uid":"c5e49757-6311","name":"component.mjs"},{"uid":"c5e49757-6353","name":"plugin.mjs"},{"uid":"c5e49757-6355","name":"defaults.mjs"},{"uid":"c5e49757-6359","name":"index.mjs"}]},{"name":"node_modules/@vueuse","children":[{"name":"shared/index.mjs","uid":"c5e49757-4939"},{"name":"core/index.mjs","uid":"c5e49757-4941"}]}]}]},{"name":"assets/js/@wangeditor-CAsrsU-T.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@wangeditor","children":[{"name":"editor/dist","children":[{"name":"css/style.css","uid":"c5e49757-6365"},{"uid":"c5e49757-6367","name":"index.esm.js"}]},{"name":"editor-for-vue/dist/index.esm.js","uid":"c5e49757-6369"}]}]},{"name":"assets/js/echarts-DakzMd13.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts","children":[{"name":"lib","children":[{"name":"util","children":[{"uid":"c5e49757-6371","name":"number.js"},{"uid":"c5e49757-6373","name":"log.js"},{"uid":"c5e49757-6375","name":"model.js"},{"uid":"c5e49757-6377","name":"clazz.js"},{"uid":"c5e49757-6383","name":"innerStore.js"},{"uid":"c5e49757-6385","name":"states.js"},{"uid":"c5e49757-6389","name":"graphic.js"},{"uid":"c5e49757-6401","name":"component.js"},{"uid":"c5e49757-6409","name":"time.js"},{"uid":"c5e49757-6413","name":"format.js"},{"uid":"c5e49757-6415","name":"layout.js"},{"uid":"c5e49757-6421","name":"types.js"},{"uid":"c5e49757-6471","name":"throttle.js"},{"uid":"c5e49757-6483","name":"ECEventProcessor.js"},{"uid":"c5e49757-6491","name":"event.js"},{"uid":"c5e49757-6493","name":"symbol.js"},{"uid":"c5e49757-6495","name":"decal.js"},{"uid":"c5e49757-6535","name":"vendor.js"},{"name":"shape/sausage.js","uid":"c5e49757-6617"},{"uid":"c5e49757-6783","name":"animation.js"},{"uid":"c5e49757-6997","name":"styleCompat.js"},{"uid":"c5e49757-7269","name":"conditionalExpression.js"}]},{"name":"model","children":[{"name":"mixin","children":[{"uid":"c5e49757-6379","name":"makeStyleMapper.js"},{"uid":"c5e49757-6381","name":"areaStyle.js"},{"uid":"c5e49757-6393","name":"textStyle.js"},{"uid":"c5e49757-6395","name":"lineStyle.js"},{"uid":"c5e49757-6397","name":"itemStyle.js"},{"uid":"c5e49757-6427","name":"palette.js"},{"uid":"c5e49757-6447","name":"dataFormat.js"}]},{"uid":"c5e49757-6399","name":"Model.js"},{"uid":"c5e49757-6417","name":"Component.js"},{"uid":"c5e49757-6419","name":"globalDefault.js"},{"uid":"c5e49757-6425","name":"internalComponentCreator.js"},{"uid":"c5e49757-6429","name":"Global.js"},{"uid":"c5e49757-6435","name":"OptionManager.js"},{"uid":"c5e49757-6463","name":"Series.js"},{"uid":"c5e49757-6519","name":"referHelper.js"}]},{"name":"animation","children":[{"uid":"c5e49757-6387","name":"basicTransition.js"},{"uid":"c5e49757-6999","name":"customGraphicTransition.js"},{"uid":"c5e49757-7001","name":"customGraphicKeyframeAnimation.js"},{"uid":"c5e49757-7281","name":"morphTransitionHelper.js"},{"uid":"c5e49757-7283","name":"universalTransition.js"}]},{"name":"label","children":[{"uid":"c5e49757-6391","name":"labelStyle.js"},{"uid":"c5e49757-6571","name":"labelGuideHelper.js"},{"uid":"c5e49757-6573","name":"labelLayoutHelper.js"},{"uid":"c5e49757-6575","name":"LabelManager.js"},{"uid":"c5e49757-6577","name":"installLabelLayout.js"},{"uid":"c5e49757-6619","name":"sectorLabel.js"}]},{"name":"i18n","children":[{"uid":"c5e49757-6403","name":"langEN.js"},{"uid":"c5e49757-6405","name":"langZH.js"}]},{"name":"core","children":[{"uid":"c5e49757-6407","name":"locale.js"},{"uid":"c5e49757-6431","name":"ExtensionAPI.js"},{"uid":"c5e49757-6433","name":"CoordinateSystem.js"},{"uid":"c5e49757-6449","name":"task.js"},{"uid":"c5e49757-6477","name":"Scheduler.js"},{"uid":"c5e49757-6499","name":"lifecycle.js"},{"uid":"c5e49757-6501","name":"impl.js"},{"uid":"c5e49757-6503","name":"echarts.js"}]},{"name":"legacy","children":[{"uid":"c5e49757-6411","name":"getTextRect.js"},{"uid":"c5e49757-6489","name":"dataSelectAction.js"}]},{"name":"data","children":[{"name":"helper","children":[{"uid":"c5e49757-6423","name":"sourceHelper.js"},{"uid":"c5e49757-6445","name":"dataProvider.js"},{"uid":"c5e49757-6451","name":"dataValueHelper.js"},{"uid":"c5e49757-6453","name":"transform.js"},{"uid":"c5e49757-6457","name":"sourceManager.js"},{"uid":"c5e49757-6509","name":"dimensionHelper.js"},{"uid":"c5e49757-6513","name":"SeriesDataSchema.js"},{"uid":"c5e49757-6517","name":"createDimensions.js"},{"uid":"c5e49757-6521","name":"dataStackHelper.js"},{"uid":"c5e49757-6757","name":"linkSeriesData.js"}]},{"uid":"c5e49757-6443","name":"Source.js"},{"uid":"c5e49757-6455","name":"DataStore.js"},{"uid":"c5e49757-6507","name":"DataDiffer.js"},{"uid":"c5e49757-6511","name":"SeriesDimensionDefine.js"},{"uid":"c5e49757-6515","name":"SeriesData.js"},{"uid":"c5e49757-6527","name":"OrdinalMeta.js"},{"uid":"c5e49757-6759","name":"Tree.js"},{"uid":"c5e49757-6829","name":"Graph.js"}]},{"name":"preprocessor","children":[{"name":"helper/compatStyle.js","uid":"c5e49757-6437"},{"uid":"c5e49757-6439","name":"backwardCompat.js"}]},{"name":"processor","children":[{"uid":"c5e49757-6441","name":"dataStack.js"},{"uid":"c5e49757-6609","name":"dataSample.js"},{"uid":"c5e49757-6629","name":"dataFilter.js"},{"uid":"c5e49757-6641","name":"negativeDataFilter.js"}]},{"name":"component","children":[{"name":"tooltip","children":[{"uid":"c5e49757-6459","name":"tooltipMarkup.js"},{"uid":"c5e49757-6461","name":"seriesFormatTooltip.js"},{"uid":"c5e49757-7125","name":"TooltipModel.js"},{"uid":"c5e49757-7127","name":"helper.js"},{"uid":"c5e49757-7129","name":"TooltipHTMLContent.js"},{"uid":"c5e49757-7131","name":"TooltipRichContent.js"},{"uid":"c5e49757-7133","name":"TooltipView.js"},{"uid":"c5e49757-7135","name":"install.js"}]},{"name":"axis","children":[{"uid":"c5e49757-6673","name":"AxisBuilder.js"},{"uid":"c5e49757-6677","name":"AxisView.js"},{"uid":"c5e49757-6679","name":"axisSplitHelper.js"},{"uid":"c5e49757-6681","name":"CartesianAxisView.js"},{"uid":"c5e49757-6879","name":"ParallelAxisView.js"},{"uid":"c5e49757-6881","name":"parallelAxisAction.js"},{"uid":"c5e49757-7043","name":"AngleAxisView.js"},{"uid":"c5e49757-7045","name":"RadiusAxisView.js"},{"uid":"c5e49757-7053","name":"SingleAxisView.js"}]},{"name":"axisPointer","children":[{"uid":"c5e49757-6675","name":"modelHelper.js"},{"uid":"c5e49757-7009","name":"BaseAxisPointer.js"},{"uid":"c5e49757-7011","name":"viewHelper.js"},{"uid":"c5e49757-7013","name":"CartesianAxisPointer.js"},{"uid":"c5e49757-7015","name":"AxisPointerModel.js"},{"uid":"c5e49757-7017","name":"globalListener.js"},{"uid":"c5e49757-7019","name":"AxisPointerView.js"},{"uid":"c5e49757-7021","name":"findPointFromSeries.js"},{"uid":"c5e49757-7023","name":"axisTrigger.js"},{"uid":"c5e49757-7025","name":"install.js"},{"uid":"c5e49757-7029","name":"PolarAxisPointer.js"},{"uid":"c5e49757-7063","name":"SingleAxisPointer.js"}]},{"name":"grid","children":[{"uid":"c5e49757-6683","name":"installSimple.js"},{"uid":"c5e49757-7027","name":"install.js"}]},{"name":"radar","children":[{"uid":"c5e49757-6697","name":"RadarView.js"},{"uid":"c5e49757-6703","name":"install.js"}]},{"name":"helper","children":[{"uid":"c5e49757-6707","name":"interactionMutex.js"},{"uid":"c5e49757-6709","name":"RoamController.js"},{"uid":"c5e49757-6711","name":"roamHelper.js"},{"uid":"c5e49757-6713","name":"cursorHelper.js"},{"uid":"c5e49757-6727","name":"MapDraw.js"},{"uid":"c5e49757-6867","name":"sliderMove.js"},{"uid":"c5e49757-6875","name":"BrushController.js"},{"uid":"c5e49757-6877","name":"brushHelper.js"},{"uid":"c5e49757-7105","name":"listComponent.js"},{"uid":"c5e49757-7119","name":"BrushTargetManager.js"}]},{"name":"geo","children":[{"uid":"c5e49757-6747","name":"GeoView.js"},{"uid":"c5e49757-6749","name":"install.js"}]},{"name":"parallel","children":[{"uid":"c5e49757-6861","name":"ParallelView.js"},{"uid":"c5e49757-6883","name":"install.js"}]},{"name":"polar/install.js","uid":"c5e49757-7049"},{"name":"singleAxis/install.js","uid":"c5e49757-7065"},{"name":"calendar","children":[{"uid":"c5e49757-7069","name":"CalendarView.js"},{"uid":"c5e49757-7073","name":"install.js"}]},{"name":"graphic","children":[{"uid":"c5e49757-7075","name":"GraphicModel.js"},{"uid":"c5e49757-7077","name":"GraphicView.js"},{"uid":"c5e49757-7079","name":"install.js"}]},{"name":"dataZoom","children":[{"uid":"c5e49757-7081","name":"helper.js"},{"uid":"c5e49757-7083","name":"DataZoomModel.js"},{"uid":"c5e49757-7085","name":"SelectZoomModel.js"},{"uid":"c5e49757-7087","name":"DataZoomView.js"},{"uid":"c5e49757-7089","name":"SelectZoomView.js"},{"uid":"c5e49757-7091","name":"AxisProxy.js"},{"uid":"c5e49757-7093","name":"dataZoomProcessor.js"},{"uid":"c5e49757-7095","name":"dataZoomAction.js"},{"uid":"c5e49757-7097","name":"installCommon.js"},{"uid":"c5e49757-7099","name":"installDataZoomSelect.js"},{"uid":"c5e49757-7115","name":"history.js"},{"uid":"c5e49757-7217","name":"InsideZoomModel.js"},{"uid":"c5e49757-7219","name":"roams.js"},{"uid":"c5e49757-7221","name":"InsideZoomView.js"},{"uid":"c5e49757-7223","name":"installDataZoomInside.js"},{"uid":"c5e49757-7225","name":"SliderZoomModel.js"},{"uid":"c5e49757-7227","name":"SliderZoomView.js"},{"uid":"c5e49757-7229","name":"installDataZoomSlider.js"},{"uid":"c5e49757-7231","name":"install.js"}]},{"name":"toolbox","children":[{"uid":"c5e49757-7101","name":"featureManager.js"},{"uid":"c5e49757-7103","name":"ToolboxModel.js"},{"uid":"c5e49757-7107","name":"ToolboxView.js"},{"name":"feature","children":[{"uid":"c5e49757-7109","name":"SaveAsImage.js"},{"uid":"c5e49757-7111","name":"MagicType.js"},{"uid":"c5e49757-7113","name":"DataView.js"},{"uid":"c5e49757-7117","name":"Restore.js"},{"uid":"c5e49757-7121","name":"DataZoom.js"},{"uid":"c5e49757-7149","name":"Brush.js"}]},{"uid":"c5e49757-7123","name":"install.js"}]},{"name":"brush","children":[{"uid":"c5e49757-7137","name":"preprocessor.js"},{"uid":"c5e49757-7141","name":"selector.js"},{"uid":"c5e49757-7143","name":"visualEncoding.js"},{"uid":"c5e49757-7145","name":"BrushView.js"},{"uid":"c5e49757-7147","name":"BrushModel.js"},{"uid":"c5e49757-7151","name":"install.js"}]},{"name":"title/install.js","uid":"c5e49757-7153"},{"name":"timeline","children":[{"uid":"c5e49757-7155","name":"TimelineModel.js"},{"uid":"c5e49757-7157","name":"SliderTimelineModel.js"},{"uid":"c5e49757-7159","name":"TimelineView.js"},{"uid":"c5e49757-7161","name":"TimelineAxis.js"},{"uid":"c5e49757-7163","name":"SliderTimelineView.js"},{"uid":"c5e49757-7165","name":"timelineAction.js"},{"uid":"c5e49757-7167","name":"preprocessor.js"},{"uid":"c5e49757-7169","name":"install.js"}]},{"name":"marker","children":[{"uid":"c5e49757-7171","name":"checkMarkerInSeries.js"},{"uid":"c5e49757-7173","name":"MarkerModel.js"},{"uid":"c5e49757-7175","name":"MarkPointModel.js"},{"uid":"c5e49757-7177","name":"markerHelper.js"},{"uid":"c5e49757-7179","name":"MarkerView.js"},{"uid":"c5e49757-7181","name":"MarkPointView.js"},{"uid":"c5e49757-7183","name":"installMarkPoint.js"},{"uid":"c5e49757-7185","name":"MarkLineModel.js"},{"uid":"c5e49757-7187","name":"MarkLineView.js"},{"uid":"c5e49757-7189","name":"installMarkLine.js"},{"uid":"c5e49757-7191","name":"MarkAreaModel.js"},{"uid":"c5e49757-7193","name":"MarkAreaView.js"},{"uid":"c5e49757-7195","name":"installMarkArea.js"}]},{"name":"legend","children":[{"uid":"c5e49757-7197","name":"LegendModel.js"},{"uid":"c5e49757-7199","name":"LegendView.js"},{"uid":"c5e49757-7201","name":"legendFilter.js"},{"uid":"c5e49757-7203","name":"legendAction.js"},{"uid":"c5e49757-7205","name":"installLegendPlain.js"},{"uid":"c5e49757-7207","name":"ScrollableLegendModel.js"},{"uid":"c5e49757-7209","name":"ScrollableLegendView.js"},{"uid":"c5e49757-7211","name":"scrollableLegendAction.js"},{"uid":"c5e49757-7213","name":"installLegendScroll.js"},{"uid":"c5e49757-7215","name":"install.js"}]},{"name":"visualMap","children":[{"uid":"c5e49757-7235","name":"VisualMapModel.js"},{"uid":"c5e49757-7237","name":"ContinuousModel.js"},{"uid":"c5e49757-7239","name":"VisualMapView.js"},{"uid":"c5e49757-7241","name":"helper.js"},{"uid":"c5e49757-7243","name":"ContinuousView.js"},{"uid":"c5e49757-7245","name":"visualMapAction.js"},{"uid":"c5e49757-7247","name":"visualEncoding.js"},{"uid":"c5e49757-7249","name":"preprocessor.js"},{"uid":"c5e49757-7251","name":"installCommon.js"},{"uid":"c5e49757-7253","name":"installVisualMapContinuous.js"},{"uid":"c5e49757-7255","name":"PiecewiseModel.js"},{"uid":"c5e49757-7257","name":"PiecewiseView.js"},{"uid":"c5e49757-7259","name":"installVisualMapPiecewise.js"},{"uid":"c5e49757-7261","name":"install.js"}]},{"name":"aria","children":[{"uid":"c5e49757-7265","name":"preprocessor.js"},{"uid":"c5e49757-7267","name":"install.js"}]},{"name":"transform","children":[{"uid":"c5e49757-7271","name":"filterTransform.js"},{"uid":"c5e49757-7273","name":"sortTransform.js"},{"uid":"c5e49757-7275","name":"install.js"}]},{"name":"dataset/install.js","uid":"c5e49757-7277"}]},{"name":"view","children":[{"uid":"c5e49757-6465","name":"Component.js"},{"uid":"c5e49757-6469","name":"Chart.js"}]},{"name":"chart","children":[{"name":"helper","children":[{"uid":"c5e49757-6467","name":"createRenderPlanner.js"},{"uid":"c5e49757-6523","name":"createSeriesData.js"},{"uid":"c5e49757-6589","name":"labelHelper.js"},{"uid":"c5e49757-6591","name":"Symbol.js"},{"uid":"c5e49757-6593","name":"SymbolDraw.js"},{"uid":"c5e49757-6601","name":"createClipPathFromCoordSys.js"},{"uid":"c5e49757-6621","name":"sectorHelper.js"},{"uid":"c5e49757-6635","name":"createSeriesDataSimply.js"},{"uid":"c5e49757-6647","name":"LargeSymbolDraw.js"},{"uid":"c5e49757-6761","name":"treeHelper.js"},{"uid":"c5e49757-6777","name":"enableAriaDecalForTree.js"},{"uid":"c5e49757-6801","name":"multipleGraphEdgeHelper.js"},{"uid":"c5e49757-6819","name":"LinePath.js"},{"uid":"c5e49757-6821","name":"Line.js"},{"uid":"c5e49757-6823","name":"LineDraw.js"},{"uid":"c5e49757-6831","name":"createGraphFromNodeEdge.js"},{"uid":"c5e49757-6897","name":"whiskerBoxCommon.js"},{"uid":"c5e49757-6923","name":"EffectSymbol.js"},{"uid":"c5e49757-6931","name":"EffectLine.js"},{"uid":"c5e49757-6933","name":"Polyline.js"},{"uid":"c5e49757-6935","name":"EffectPolyline.js"},{"uid":"c5e49757-6937","name":"LargeLineDraw.js"}]},{"name":"line","children":[{"uid":"c5e49757-6587","name":"LineSeries.js"},{"uid":"c5e49757-6595","name":"helper.js"},{"uid":"c5e49757-6597","name":"lineAnimationDiff.js"},{"uid":"c5e49757-6599","name":"poly.js"},{"uid":"c5e49757-6605","name":"LineView.js"},{"uid":"c5e49757-6611","name":"install.js"}]},{"name":"bar","children":[{"uid":"c5e49757-6613","name":"BaseBarSeries.js"},{"uid":"c5e49757-6615","name":"BarSeries.js"},{"uid":"c5e49757-6623","name":"BarView.js"},{"uid":"c5e49757-6625","name":"install.js"},{"uid":"c5e49757-6957","name":"PictorialBarView.js"},{"uid":"c5e49757-6959","name":"PictorialBarSeries.js"},{"uid":"c5e49757-6961","name":"installPictorialBar.js"}]},{"name":"pie","children":[{"uid":"c5e49757-6627","name":"pieLayout.js"},{"uid":"c5e49757-6631","name":"labelLayout.js"},{"uid":"c5e49757-6633","name":"PieView.js"},{"uid":"c5e49757-6639","name":"PieSeries.js"},{"uid":"c5e49757-6643","name":"install.js"}]},{"name":"scatter","children":[{"uid":"c5e49757-6645","name":"ScatterSeries.js"},{"uid":"c5e49757-6649","name":"ScatterView.js"},{"uid":"c5e49757-6685","name":"install.js"}]},{"name":"radar","children":[{"uid":"c5e49757-6687","name":"radarLayout.js"},{"uid":"c5e49757-6689","name":"backwardCompat.js"},{"uid":"c5e49757-6691","name":"RadarView.js"},{"uid":"c5e49757-6693","name":"RadarSeries.js"},{"uid":"c5e49757-6705","name":"install.js"}]},{"name":"map","children":[{"uid":"c5e49757-6729","name":"MapView.js"},{"uid":"c5e49757-6731","name":"MapSeries.js"},{"uid":"c5e49757-6733","name":"mapDataStatistic.js"},{"uid":"c5e49757-6735","name":"mapSymbolLayout.js"},{"uid":"c5e49757-6751","name":"install.js"}]},{"name":"tree","children":[{"uid":"c5e49757-6753","name":"layoutHelper.js"},{"uid":"c5e49757-6755","name":"TreeView.js"},{"uid":"c5e49757-6763","name":"TreeSeries.js"},{"uid":"c5e49757-6765","name":"traversalHelper.js"},{"uid":"c5e49757-6767","name":"treeLayout.js"},{"uid":"c5e49757-6769","name":"treeVisual.js"},{"uid":"c5e49757-6771","name":"treeAction.js"},{"uid":"c5e49757-6773","name":"install.js"}]},{"name":"treemap","children":[{"uid":"c5e49757-6775","name":"treemapAction.js"},{"uid":"c5e49757-6779","name":"TreemapSeries.js"},{"uid":"c5e49757-6781","name":"Breadcrumb.js"},{"uid":"c5e49757-6785","name":"TreemapView.js"},{"uid":"c5e49757-6789","name":"treemapVisual.js"},{"uid":"c5e49757-6791","name":"treemapLayout.js"},{"uid":"c5e49757-6793","name":"install.js"}]},{"name":"graph","children":[{"uid":"c5e49757-6795","name":"categoryFilter.js"},{"uid":"c5e49757-6797","name":"categoryVisual.js"},{"uid":"c5e49757-6799","name":"edgeVisual.js"},{"uid":"c5e49757-6803","name":"simpleLayoutHelper.js"},{"uid":"c5e49757-6805","name":"simpleLayout.js"},{"uid":"c5e49757-6807","name":"graphHelper.js"},{"uid":"c5e49757-6809","name":"circularLayoutHelper.js"},{"uid":"c5e49757-6811","name":"circularLayout.js"},{"uid":"c5e49757-6813","name":"forceHelper.js"},{"uid":"c5e49757-6815","name":"forceLayout.js"},{"uid":"c5e49757-6817","name":"createView.js"},{"uid":"c5e49757-6825","name":"adjustEdge.js"},{"uid":"c5e49757-6827","name":"GraphView.js"},{"uid":"c5e49757-6833","name":"GraphSeries.js"},{"uid":"c5e49757-6835","name":"install.js"}]},{"name":"gauge","children":[{"uid":"c5e49757-6837","name":"PointerPath.js"},{"uid":"c5e49757-6839","name":"GaugeView.js"},{"uid":"c5e49757-6841","name":"GaugeSeries.js"},{"uid":"c5e49757-6843","name":"install.js"}]},{"name":"funnel","children":[{"uid":"c5e49757-6845","name":"FunnelView.js"},{"uid":"c5e49757-6847","name":"FunnelSeries.js"},{"uid":"c5e49757-6849","name":"funnelLayout.js"},{"uid":"c5e49757-6851","name":"install.js"}]},{"name":"parallel","children":[{"uid":"c5e49757-6853","name":"ParallelView.js"},{"uid":"c5e49757-6855","name":"ParallelSeries.js"},{"uid":"c5e49757-6857","name":"parallelVisual.js"},{"uid":"c5e49757-6885","name":"install.js"}]},{"name":"sankey","children":[{"uid":"c5e49757-6887","name":"SankeyView.js"},{"uid":"c5e49757-6889","name":"SankeySeries.js"},{"uid":"c5e49757-6891","name":"sankeyLayout.js"},{"uid":"c5e49757-6893","name":"sankeyVisual.js"},{"uid":"c5e49757-6895","name":"install.js"}]},{"name":"boxplot","children":[{"uid":"c5e49757-6899","name":"BoxplotSeries.js"},{"uid":"c5e49757-6901","name":"BoxplotView.js"},{"uid":"c5e49757-6903","name":"boxplotLayout.js"},{"uid":"c5e49757-6905","name":"prepareBoxplotData.js"},{"uid":"c5e49757-6907","name":"boxplotTransform.js"},{"uid":"c5e49757-6909","name":"install.js"}]},{"name":"candlestick","children":[{"uid":"c5e49757-6911","name":"CandlestickView.js"},{"uid":"c5e49757-6913","name":"CandlestickSeries.js"},{"uid":"c5e49757-6915","name":"preprocessor.js"},{"uid":"c5e49757-6917","name":"candlestickVisual.js"},{"uid":"c5e49757-6919","name":"candlestickLayout.js"},{"uid":"c5e49757-6921","name":"install.js"}]},{"name":"effectScatter","children":[{"uid":"c5e49757-6925","name":"EffectScatterView.js"},{"uid":"c5e49757-6927","name":"EffectScatterSeries.js"},{"uid":"c5e49757-6929","name":"install.js"}]},{"name":"lines","children":[{"uid":"c5e49757-6939","name":"linesLayout.js"},{"uid":"c5e49757-6941","name":"LinesView.js"},{"uid":"c5e49757-6943","name":"LinesSeries.js"},{"uid":"c5e49757-6945","name":"linesVisual.js"},{"uid":"c5e49757-6947","name":"install.js"}]},{"name":"heatmap","children":[{"uid":"c5e49757-6949","name":"HeatmapLayer.js"},{"uid":"c5e49757-6951","name":"HeatmapView.js"},{"uid":"c5e49757-6953","name":"HeatmapSeries.js"},{"uid":"c5e49757-6955","name":"install.js"}]},{"name":"themeRiver","children":[{"uid":"c5e49757-6963","name":"ThemeRiverView.js"},{"uid":"c5e49757-6965","name":"ThemeRiverSeries.js"},{"uid":"c5e49757-6967","name":"themeRiverLayout.js"},{"uid":"c5e49757-6969","name":"install.js"}]},{"name":"sunburst","children":[{"uid":"c5e49757-6971","name":"SunburstPiece.js"},{"uid":"c5e49757-6973","name":"sunburstAction.js"},{"uid":"c5e49757-6975","name":"SunburstView.js"},{"uid":"c5e49757-6977","name":"SunburstSeries.js"},{"uid":"c5e49757-6979","name":"sunburstLayout.js"},{"uid":"c5e49757-6981","name":"sunburstVisual.js"},{"uid":"c5e49757-6983","name":"install.js"}]},{"name":"custom","children":[{"uid":"c5e49757-6985","name":"CustomSeries.js"},{"uid":"c5e49757-7003","name":"CustomView.js"},{"uid":"c5e49757-7005","name":"install.js"}]}]},{"name":"visual","children":[{"uid":"c5e49757-6473","name":"style.js"},{"uid":"c5e49757-6485","name":"symbol.js"},{"uid":"c5e49757-6487","name":"helper.js"},{"uid":"c5e49757-6497","name":"decal.js"},{"uid":"c5e49757-6637","name":"LegendVisualProvider.js"},{"uid":"c5e49757-6787","name":"VisualMapping.js"},{"uid":"c5e49757-7139","name":"visualSolution.js"},{"uid":"c5e49757-7233","name":"visualDefault.js"},{"uid":"c5e49757-7263","name":"aria.js"}]},{"name":"loading/default.js","uid":"c5e49757-6475"},{"name":"theme","children":[{"uid":"c5e49757-6479","name":"light.js"},{"uid":"c5e49757-6481","name":"dark.js"}]},{"uid":"c5e49757-6505","name":"extension.js"},{"name":"scale","children":[{"uid":"c5e49757-6525","name":"Scale.js"},{"uid":"c5e49757-6529","name":"helper.js"},{"uid":"c5e49757-6531","name":"Ordinal.js"},{"uid":"c5e49757-6533","name":"Interval.js"},{"uid":"c5e49757-6539","name":"Time.js"},{"uid":"c5e49757-6541","name":"Log.js"}]},{"name":"layout","children":[{"uid":"c5e49757-6537","name":"barGrid.js"},{"uid":"c5e49757-6607","name":"points.js"},{"uid":"c5e49757-7047","name":"barPolar.js"}]},{"name":"coord","children":[{"uid":"c5e49757-6543","name":"scaleRawExtentInfo.js"},{"uid":"c5e49757-6545","name":"axisHelper.js"},{"uid":"c5e49757-6547","name":"axisModelCommonMixin.js"},{"name":"geo","children":[{"uid":"c5e49757-6551","name":"Region.js"},{"uid":"c5e49757-6553","name":"parseGeoJson.js"},{"uid":"c5e49757-6715","name":"GeoSVGResource.js"},{"name":"fix","children":[{"uid":"c5e49757-6717","name":"nanhai.js"},{"uid":"c5e49757-6719","name":"textCoord.js"},{"uid":"c5e49757-6721","name":"diaoyuIsland.js"}]},{"uid":"c5e49757-6723","name":"GeoJSONResource.js"},{"uid":"c5e49757-6725","name":"geoSourceManager.js"},{"uid":"c5e49757-6739","name":"Geo.js"},{"uid":"c5e49757-6741","name":"geoCreator.js"},{"uid":"c5e49757-6743","name":"GeoModel.js"},{"uid":"c5e49757-6989","name":"prepareCustom.js"}]},{"uid":"c5e49757-6565","name":"axisTickLabelBuilder.js"},{"uid":"c5e49757-6567","name":"Axis.js"},{"uid":"c5e49757-6603","name":"CoordinateSystem.js"},{"name":"cartesian","children":[{"uid":"c5e49757-6651","name":"GridModel.js"},{"uid":"c5e49757-6653","name":"AxisModel.js"},{"uid":"c5e49757-6661","name":"Cartesian.js"},{"uid":"c5e49757-6663","name":"Cartesian2D.js"},{"uid":"c5e49757-6665","name":"Axis2D.js"},{"uid":"c5e49757-6667","name":"cartesianAxisHelper.js"},{"uid":"c5e49757-6671","name":"Grid.js"},{"uid":"c5e49757-6987","name":"prepareCustom.js"}]},{"uid":"c5e49757-6655","name":"axisDefault.js"},{"uid":"c5e49757-6657","name":"axisCommonTypes.js"},{"uid":"c5e49757-6659","name":"axisModelCreator.js"},{"uid":"c5e49757-6669","name":"axisAlignTicks.js"},{"name":"radar","children":[{"uid":"c5e49757-6695","name":"RadarModel.js"},{"uid":"c5e49757-6699","name":"IndicatorAxis.js"},{"uid":"c5e49757-6701","name":"Radar.js"}]},{"uid":"c5e49757-6737","name":"View.js"},{"name":"parallel","children":[{"uid":"c5e49757-6859","name":"parallelPreprocessor.js"},{"uid":"c5e49757-6863","name":"ParallelModel.js"},{"uid":"c5e49757-6865","name":"ParallelAxis.js"},{"uid":"c5e49757-6869","name":"Parallel.js"},{"uid":"c5e49757-6871","name":"parallelCreator.js"},{"uid":"c5e49757-6873","name":"AxisModel.js"}]},{"name":"single","children":[{"uid":"c5e49757-6991","name":"prepareCustom.js"},{"uid":"c5e49757-7051","name":"singleAxisHelper.js"},{"uid":"c5e49757-7055","name":"AxisModel.js"},{"uid":"c5e49757-7057","name":"SingleAxis.js"},{"uid":"c5e49757-7059","name":"Single.js"},{"uid":"c5e49757-7061","name":"singleCreator.js"}]},{"name":"polar","children":[{"uid":"c5e49757-6993","name":"prepareCustom.js"},{"uid":"c5e49757-7031","name":"PolarModel.js"},{"uid":"c5e49757-7033","name":"AxisModel.js"},{"uid":"c5e49757-7035","name":"RadiusAxis.js"},{"uid":"c5e49757-7037","name":"AngleAxis.js"},{"uid":"c5e49757-7039","name":"Polar.js"},{"uid":"c5e49757-7041","name":"polarCreator.js"}]},{"name":"calendar","children":[{"uid":"c5e49757-6995","name":"prepareCustom.js"},{"uid":"c5e49757-7067","name":"CalendarModel.js"},{"uid":"c5e49757-7071","name":"Calendar.js"}]}]},{"name":"export","children":[{"name":"api","children":[{"uid":"c5e49757-6549","name":"helper.js"},{"uid":"c5e49757-6555","name":"number.js"},{"uid":"c5e49757-6557","name":"time.js"},{"uid":"c5e49757-6559","name":"graphic.js"},{"uid":"c5e49757-6561","name":"format.js"},{"uid":"c5e49757-6563","name":"util.js"}]},{"uid":"c5e49757-6569","name":"api.js"},{"uid":"c5e49757-6579","name":"core.js"},{"uid":"c5e49757-6585","name":"renderers.js"},{"uid":"c5e49757-7007","name":"charts.js"},{"uid":"c5e49757-7279","name":"components.js"},{"uid":"c5e49757-7285","name":"features.js"}]},{"name":"renderer","children":[{"uid":"c5e49757-6581","name":"installSVGRenderer.js"},{"uid":"c5e49757-6583","name":"installCanvasRenderer.js"}]},{"name":"action/roamHelper.js","uid":"c5e49757-6745"}]},{"uid":"c5e49757-7287","name":"index.js"}]}]},{"name":"assets/js/vform3-builds-DPnGd9DT.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vform3-builds/dist/designer.umd.js?commonjs-module","uid":"c5e49757-7289"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vform3-builds/dist","children":[{"uid":"c5e49757-7291","name":"designer.umd.js"},{"uid":"c5e49757-7293","name":"designer.style.css"}]}]},{"name":"assets/js/@logicflow-CeBN9O-e.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/core/dist/logic-flow.js?commonjs-module","uid":"c5e49757-7295"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow","children":[{"name":"core/dist","children":[{"uid":"c5e49757-7297","name":"logic-flow.js"},{"name":"style/index.css","uid":"c5e49757-7419"}]},{"name":"extension","children":[{"name":"es","children":[{"name":"bpmn","children":[{"uid":"c5e49757-7299","name":"getBpmnId.js"},{"name":"events","children":[{"uid":"c5e49757-7301","name":"StartEvent.js"},{"uid":"c5e49757-7303","name":"EndEvent.js"}]},{"name":"gateways/ExclusiveGateway.js","uid":"c5e49757-7305"},{"name":"tasks","children":[{"uid":"c5e49757-7307","name":"UserTask.js"},{"uid":"c5e49757-7309","name":"ServiceTask.js"}]},{"name":"flow/SequenceFlow.js","uid":"c5e49757-7311"},{"uid":"c5e49757-7313","name":"constant.js"},{"uid":"c5e49757-7315","name":"index.js"}]},{"name":"bpmn-adapter","children":[{"uid":"c5e49757-7317","name":"bpmnIds.js"},{"uid":"c5e49757-7319","name":"json2xml.js"},{"uid":"c5e49757-7321","name":"xml2json.js"},{"uid":"c5e49757-7323","name":"index.js"}]},{"name":"bpmn-elements","children":[{"uid":"c5e49757-7325","name":"utils.js"},{"name":"presets","children":[{"name":"Event","children":[{"uid":"c5e49757-7327","name":"EndEventFactory.js"},{"uid":"c5e49757-7329","name":"IntermediateCatchEvent.js"},{"uid":"c5e49757-7331","name":"StartEventFactory.js"},{"uid":"c5e49757-7333","name":"boundaryEventFactory.js"},{"uid":"c5e49757-7335","name":"IntermediateThrowEvent.js"},{"uid":"c5e49757-7337","name":"index.js"}]},{"uid":"c5e49757-7339","name":"icons.js"},{"name":"Gateway","children":[{"uid":"c5e49757-7341","name":"gateway.js"},{"uid":"c5e49757-7343","name":"index.js"}]},{"name":"Task","children":[{"uid":"c5e49757-7345","name":"task.js"},{"uid":"c5e49757-7371","name":"subProcess.js"},{"uid":"c5e49757-7373","name":"index.js"}]},{"name":"Flow","children":[{"uid":"c5e49757-7375","name":"sequenceFlow.js"},{"uid":"c5e49757-7377","name":"index.js"}]}]},{"uid":"c5e49757-7379","name":"index.js"}]},{"name":"NodeResize","children":[{"name":"BasicShape","children":[{"uid":"c5e49757-7347","name":"Rect.js"},{"uid":"c5e49757-7359","name":"Polygon.js"}]},{"name":"Control","children":[{"uid":"c5e49757-7349","name":"Util.js"},{"uid":"c5e49757-7351","name":"Control.js"},{"uid":"c5e49757-7353","name":"ControlGroup.js"}]},{"name":"Node","children":[{"uid":"c5e49757-7355","name":"RectResize.js"},{"uid":"c5e49757-7357","name":"EllipseResize.js"},{"uid":"c5e49757-7361","name":"DiamondResize.js"},{"uid":"c5e49757-7363","name":"HtmlResize.js"}]},{"uid":"c5e49757-7365","name":"index.js"}]},{"name":"materials","children":[{"name":"group","children":[{"uid":"c5e49757-7367","name":"GroupNode.js"},{"uid":"c5e49757-7369","name":"index.js"}]},{"name":"curved-edge/index.js","uid":"c5e49757-7409"}]},{"name":"bpmn-elements-adapter","children":[{"uid":"c5e49757-7381","name":"constant.js"},{"uid":"c5e49757-7383","name":"xml2json.js"},{"uid":"c5e49757-7385","name":"json2xml.js"},{"uid":"c5e49757-7387","name":"index.js"}]},{"name":"tools","children":[{"name":"snapshot/index.js","uid":"c5e49757-7389"},{"name":"flow-path/index.js","uid":"c5e49757-7411"},{"name":"auto-layout/index.js","uid":"c5e49757-7413"}]},{"name":"turbo-adapter/index.js","uid":"c5e49757-7391"},{"name":"insert-node-in-polyline","children":[{"uid":"c5e49757-7393","name":"edge.js"},{"uid":"c5e49757-7395","name":"index.js"}]},{"name":"components","children":[{"name":"control/index.js","uid":"c5e49757-7397"},{"name":"menu/index.js","uid":"c5e49757-7399"},{"name":"context-menu/index.js","uid":"c5e49757-7401"},{"name":"dnd-panel/index.js","uid":"c5e49757-7403"},{"name":"selection-select/index.js","uid":"c5e49757-7405"},{"name":"mini-map/index.js","uid":"c5e49757-7407"},{"name":"highlight/index.js","uid":"c5e49757-7415"}]},{"uid":"c5e49757-7417","name":"index.js"}]},{"name":"lib/style/index.css","uid":"c5e49757-7421"}]}]}]},{"name":"assets/js/vue-plugin-hiprint-Bl8S8i7X.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-plugin-hiprint/dist/vue-plugin-hiprint.js?commonjs-module","uid":"c5e49757-7423"},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-plugin-hiprint/dist/vue-plugin-hiprint.js","uid":"c5e49757-7425"}]},{"name":"assets/js/monaco-editor-DYoTa2kr.js","children":[{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs","children":[{"name":"base","children":[{"name":"common","children":[{"uid":"c5e49757-7427","name":"arrays.js"},{"uid":"c5e49757-7429","name":"types.js"},{"uid":"c5e49757-7431","name":"objects.js"},{"uid":"c5e49757-7435","name":"platform.js"},{"uid":"c5e49757-7439","name":"iterator.js"},{"uid":"c5e49757-7441","name":"linkedList.js"},{"uid":"c5e49757-7447","name":"errors.js"},{"uid":"c5e49757-7449","name":"functional.js"},{"uid":"c5e49757-7451","name":"lifecycle.js"},{"uid":"c5e49757-7453","name":"stopwatch.js"},{"uid":"c5e49757-7455","name":"event.js"},{"uid":"c5e49757-7457","name":"cancellation.js"},{"uid":"c5e49757-7459","name":"keyCodes.js"},{"uid":"c5e49757-7461","name":"process.js"},{"uid":"c5e49757-7463","name":"path.js"},{"uid":"c5e49757-7465","name":"uri.js"},{"uid":"c5e49757-7473","name":"codiconsUtil.js"},{"uid":"c5e49757-7475","name":"codiconsLibrary.js"},{"uid":"c5e49757-7477","name":"codicons.js"},{"uid":"c5e49757-7489","name":"cache.js"},{"uid":"c5e49757-7491","name":"lazy.js"},{"uid":"c5e49757-7493","name":"strings.js"},{"uid":"c5e49757-7501","name":"keybindings.js"},{"uid":"c5e49757-7509","name":"symbols.js"},{"uid":"c5e49757-7511","name":"async.js"},{"uid":"c5e49757-7515","name":"network.js"},{"uid":"c5e49757-7517","name":"hash.js"},{"uid":"c5e49757-7543","name":"actions.js"},{"uid":"c5e49757-7545","name":"themables.js"},{"uid":"c5e49757-7553","name":"assert.js"},{"name":"worker/simpleWorker.js","uid":"c5e49757-7567"},{"uid":"c5e49757-7579","name":"buffer.js"},{"uid":"c5e49757-7599","name":"mime.js"},{"name":"diff","children":[{"uid":"c5e49757-7611","name":"diffChange.js"},{"uid":"c5e49757-7613","name":"diff.js"}]},{"uid":"c5e49757-7615","name":"uint.js"},{"uid":"c5e49757-7627","name":"map.js"},{"uid":"c5e49757-7641","name":"arraysFind.js"},{"uid":"c5e49757-7669","name":"color.js"},{"uid":"c5e49757-7775","name":"decorators.js"},{"uid":"c5e49757-7793","name":"scrollable.js"},{"uid":"c5e49757-7829","name":"ime.js"},{"uid":"c5e49757-8023","name":"extpath.js"},{"uid":"c5e49757-8025","name":"resources.js"},{"uid":"c5e49757-8093","name":"severity.js"},{"uid":"c5e49757-8111","name":"numbers.js"},{"uid":"c5e49757-8125","name":"glob.js"},{"name":"naturalLanguage/korean.js","uid":"c5e49757-8149"},{"uid":"c5e49757-8151","name":"filters.js"},{"uid":"c5e49757-8153","name":"iconLabels.js"},{"uid":"c5e49757-8155","name":"htmlContent.js"},{"uid":"c5e49757-8157","name":"idGenerator.js"},{"name":"marked/marked.js","uid":"c5e49757-8159"},{"uid":"c5e49757-8161","name":"marshalling.js"},{"uid":"c5e49757-8171","name":"range.js"},{"uid":"c5e49757-8197","name":"keybindingLabels.js"},{"uid":"c5e49757-8207","name":"ternarySearchTree.js"},{"name":"observableInternal","children":[{"uid":"c5e49757-8239","name":"debugName.js"},{"uid":"c5e49757-8241","name":"logging.js"},{"uid":"c5e49757-8243","name":"base.js"},{"uid":"c5e49757-8245","name":"derived.js"},{"uid":"c5e49757-8247","name":"autorun.js"},{"uid":"c5e49757-8249","name":"utils.js"},{"uid":"c5e49757-8251","name":"promise.js"}]},{"uid":"c5e49757-8253","name":"observable.js"},{"uid":"c5e49757-8305","name":"collections.js"},{"uid":"c5e49757-8325","name":"linkedText.js"},{"uid":"c5e49757-8345","name":"navigator.js"},{"uid":"c5e49757-8347","name":"history.js"},{"uid":"c5e49757-8389","name":"comparers.js"},{"uid":"c5e49757-8457","name":"hotReload.js"},{"uid":"c5e49757-8739","name":"uuid.js"},{"uid":"c5e49757-8741","name":"dataTransfer.js"},{"uid":"c5e49757-8743","name":"hierarchicalKind.js"},{"uid":"c5e49757-8939","name":"search.js"},{"uid":"c5e49757-9009","name":"labels.js"},{"uid":"c5e49757-9233","name":"fuzzyScorer.js"},{"uid":"c5e49757-9239","name":"errorMessage.js"},{"uid":"c5e49757-9241","name":"tfIdf.js"}]},{"name":"browser","children":[{"uid":"c5e49757-7487","name":"window.js"},{"uid":"c5e49757-7497","name":"browser.js"},{"uid":"c5e49757-7499","name":"canIUse.js"},{"uid":"c5e49757-7503","name":"keyboardEvent.js"},{"uid":"c5e49757-7505","name":"iframe.js"},{"uid":"c5e49757-7507","name":"mouseEvent.js"},{"name":"dompurify/dompurify.js","uid":"c5e49757-7513"},{"uid":"c5e49757-7519","name":"dom.js"},{"uid":"c5e49757-7521","name":"pixelRatio.js"},{"uid":"c5e49757-7523","name":"fastDomNode.js"},{"uid":"c5e49757-7569","name":"trustedTypes.js"},{"uid":"c5e49757-7571","name":"defaultWorkerFactory.js"},{"name":"ui","children":[{"name":"aria","children":[{"uid":"c5e49757-7707","name":"aria.css"},{"uid":"c5e49757-7709","name":"aria.js"}]},{"uid":"c5e49757-7779","name":"widget.js"},{"name":"scrollbar","children":[{"uid":"c5e49757-7781","name":"scrollbarArrow.js"},{"uid":"c5e49757-7783","name":"scrollbarVisibilityController.js"},{"uid":"c5e49757-7785","name":"abstractScrollbar.js"},{"uid":"c5e49757-7787","name":"scrollbarState.js"},{"uid":"c5e49757-7789","name":"horizontalScrollbar.js"},{"uid":"c5e49757-7791","name":"verticalScrollbar.js"},{"name":"media/scrollbars.css","uid":"c5e49757-7795"},{"uid":"c5e49757-7797","name":"scrollableElement.js"}]},{"name":"mouseCursor","children":[{"uid":"c5e49757-7825","name":"mouseCursor.css"},{"uid":"c5e49757-7827","name":"mouseCursor.js"}]},{"name":"hover","children":[{"uid":"c5e49757-8139","name":"hoverWidget.css"},{"uid":"c5e49757-8141","name":"hoverWidget.js"},{"uid":"c5e49757-8223","name":"hoverDelegateFactory.js"},{"uid":"c5e49757-8225","name":"updatableHoverWidget.js"}]},{"name":"iconLabel","children":[{"uid":"c5e49757-8147","name":"iconLabels.js"},{"uid":"c5e49757-8379","name":"iconlabel.css"},{"uid":"c5e49757-8383","name":"iconLabel.js"}]},{"name":"contextview","children":[{"uid":"c5e49757-8173","name":"contextview.css"},{"uid":"c5e49757-8175","name":"contextview.js"}]},{"name":"list","children":[{"uid":"c5e49757-8227","name":"splice.js"},{"uid":"c5e49757-8229","name":"list.css"},{"uid":"c5e49757-8231","name":"list.js"},{"uid":"c5e49757-8233","name":"rangeMap.js"},{"uid":"c5e49757-8235","name":"rowCache.js"},{"uid":"c5e49757-8237","name":"listView.js"},{"uid":"c5e49757-8255","name":"listWidget.js"},{"uid":"c5e49757-8329","name":"listPaging.js"}]},{"name":"selectBox","children":[{"uid":"c5e49757-8257","name":"selectBoxCustom.css"},{"uid":"c5e49757-8259","name":"selectBoxCustom.js"},{"uid":"c5e49757-8261","name":"selectBoxNative.js"},{"uid":"c5e49757-8263","name":"selectBox.css"},{"uid":"c5e49757-8265","name":"selectBox.js"}]},{"name":"actionbar","children":[{"uid":"c5e49757-8267","name":"actionbar.css"},{"uid":"c5e49757-8269","name":"actionViewItems.js"},{"uid":"c5e49757-8289","name":"actionbar.js"}]},{"name":"dropdown","children":[{"uid":"c5e49757-8271","name":"dropdown.css"},{"uid":"c5e49757-8273","name":"dropdown.js"},{"uid":"c5e49757-8275","name":"dropdownActionViewItem.js"}]},{"name":"menu/menu.js","uid":"c5e49757-8291"},{"name":"toggle","children":[{"uid":"c5e49757-8319","name":"toggle.css"},{"uid":"c5e49757-8321","name":"toggle.js"}]},{"name":"sash","children":[{"uid":"c5e49757-8331","name":"sash.css"},{"uid":"c5e49757-8333","name":"sash.js"}]},{"name":"splitview","children":[{"uid":"c5e49757-8335","name":"splitview.css"},{"uid":"c5e49757-8337","name":"splitview.js"}]},{"name":"table","children":[{"uid":"c5e49757-8339","name":"table.css"},{"uid":"c5e49757-8341","name":"tableWidget.js"}]},{"name":"findinput","children":[{"uid":"c5e49757-8343","name":"findInputToggles.js"},{"uid":"c5e49757-8353","name":"findInput.css"},{"uid":"c5e49757-8355","name":"findInput.js"},{"uid":"c5e49757-8953","name":"replaceInput.js"}]},{"name":"inputbox","children":[{"uid":"c5e49757-8349","name":"inputBox.css"},{"uid":"c5e49757-8351","name":"inputBox.js"}]},{"name":"tree","children":[{"uid":"c5e49757-8357","name":"tree.js"},{"uid":"c5e49757-8359","name":"indexTreeModel.js"},{"name":"media/tree.css","uid":"c5e49757-8361"},{"uid":"c5e49757-8363","name":"abstractTree.js"},{"uid":"c5e49757-8365","name":"objectTreeModel.js"},{"uid":"c5e49757-8367","name":"compressedObjectTreeModel.js"},{"uid":"c5e49757-8369","name":"objectTree.js"},{"uid":"c5e49757-8371","name":"asyncDataTree.js"},{"uid":"c5e49757-8373","name":"dataTree.js"}]},{"name":"highlightedlabel/highlightedLabel.js","uid":"c5e49757-8381"},{"name":"keybindingLabel","children":[{"uid":"c5e49757-8385","name":"keybindingLabel.css"},{"uid":"c5e49757-8387","name":"keybindingLabel.js"}]},{"name":"button","children":[{"uid":"c5e49757-8395","name":"button.css"},{"uid":"c5e49757-8397","name":"button.js"}]},{"name":"countBadge","children":[{"uid":"c5e49757-8399","name":"countBadge.css"},{"uid":"c5e49757-8401","name":"countBadge.js"}]},{"name":"progressbar","children":[{"uid":"c5e49757-8403","name":"progressbar.css"},{"uid":"c5e49757-8405","name":"progressbar.js"}]},{"name":"toolbar","children":[{"uid":"c5e49757-8505","name":"toolbar.css"},{"uid":"c5e49757-8507","name":"toolbar.js"}]},{"name":"codicons","children":[{"name":"codicon","children":[{"uid":"c5e49757-8777","name":"codicon.css"},{"uid":"c5e49757-8779","name":"codicon-modifiers.css"}]},{"uid":"c5e49757-8781","name":"codiconStyles.js"}]},{"name":"resizable/resizable.js","uid":"c5e49757-8867"}]},{"uid":"c5e49757-7727","name":"performance.js"},{"uid":"c5e49757-7729","name":"globalPointerMoveMonitor.js"},{"uid":"c5e49757-7777","name":"touch.js"},{"uid":"c5e49757-7801","name":"event.js"},{"uid":"c5e49757-7933","name":"fonts.js"},{"uid":"c5e49757-8145","name":"formattedTextRenderer.js"},{"uid":"c5e49757-8163","name":"markdownRenderer.js"},{"uid":"c5e49757-8221","name":"dnd.js"}]},{"name":"parts/storage/common/storage.js","uid":"c5e49757-8281"}]},{"uid":"c5e49757-7433","name":"nls.js"},{"name":"editor","children":[{"name":"common","children":[{"name":"core","children":[{"uid":"c5e49757-7437","name":"textModelDefaults.js"},{"uid":"c5e49757-7443","name":"wordHelper.js"},{"uid":"c5e49757-7467","name":"position.js"},{"uid":"c5e49757-7469","name":"range.js"},{"uid":"c5e49757-7471","name":"selection.js"},{"uid":"c5e49757-7581","name":"stringBuilder.js"},{"uid":"c5e49757-7621","name":"characterClassifier.js"},{"uid":"c5e49757-7629","name":"wordCharacterClassifier.js"},{"uid":"c5e49757-7639","name":"offsetRange.js"},{"uid":"c5e49757-7643","name":"lineRange.js"},{"uid":"c5e49757-7769","name":"cursorColumns.js"},{"uid":"c5e49757-7817","name":"editorColorRegistry.js"},{"uid":"c5e49757-7835","name":"indentation.js"},{"uid":"c5e49757-7921","name":"rgba.js"},{"uid":"c5e49757-7989","name":"eolCounter.js"},{"uid":"c5e49757-7993","name":"textLength.js"},{"uid":"c5e49757-8021","name":"textChange.js"},{"uid":"c5e49757-8187","name":"editOperation.js"},{"uid":"c5e49757-8499","name":"positionToOffset.js"},{"uid":"c5e49757-8501","name":"textEdit.js"}]},{"name":"config","children":[{"uid":"c5e49757-7445","name":"editorOptions.js"},{"uid":"c5e49757-7529","name":"editorZoom.js"},{"uid":"c5e49757-7531","name":"fontInfo.js"},{"uid":"c5e49757-8183","name":"diffEditor.js"},{"uid":"c5e49757-8185","name":"editorConfigurationSchema.js"}]},{"uid":"c5e49757-7479","name":"tokenizationRegistry.js"},{"uid":"c5e49757-7481","name":"languages.js"},{"name":"standalone/standaloneEnums.js","uid":"c5e49757-7483"},{"name":"services","children":[{"uid":"c5e49757-7485","name":"editorBaseApi.js"},{"uid":"c5e49757-7539","name":"model.js"},{"uid":"c5e49757-7541","name":"resolverService.js"},{"uid":"c5e49757-7635","name":"unicodeTextModelHighlighter.js"},{"uid":"c5e49757-7673","name":"findSectionHeaders.js"},{"uid":"c5e49757-7675","name":"editorSimpleWorker.js"},{"uid":"c5e49757-7677","name":"textResourceConfiguration.js"},{"uid":"c5e49757-7679","name":"languageFeatures.js"},{"uid":"c5e49757-7711","name":"markerDecorations.js"},{"uid":"c5e49757-8115","name":"languageFeatureDebounce.js"},{"uid":"c5e49757-8119","name":"semanticTokensProviderStyling.js"},{"uid":"c5e49757-8121","name":"semanticTokensStyling.js"},{"uid":"c5e49757-8123","name":"semanticTokensStylingService.js"},{"uid":"c5e49757-8131","name":"languageFeaturesService.js"},{"uid":"c5e49757-8215","name":"languagesAssociations.js"},{"uid":"c5e49757-8217","name":"languagesRegistry.js"},{"uid":"c5e49757-8219","name":"languageService.js"},{"uid":"c5e49757-8301","name":"editorWorker.js"},{"uid":"c5e49757-8307","name":"markerDecorationsService.js"},{"uid":"c5e49757-8309","name":"modelService.js"},{"uid":"c5e49757-8927","name":"treeViewsDnd.js"},{"uid":"c5e49757-8929","name":"treeViewsDndService.js"},{"uid":"c5e49757-9045","name":"getIconClasses.js"},{"uid":"c5e49757-9151","name":"semanticTokensDto.js"}]},{"name":"languages","children":[{"uid":"c5e49757-7573","name":"languageConfiguration.js"},{"uid":"c5e49757-7575","name":"supports.js"},{"name":"supports","children":[{"uid":"c5e49757-7577","name":"characterPair.js"},{"uid":"c5e49757-7583","name":"richEditBrackets.js"},{"uid":"c5e49757-7585","name":"electricCharacter.js"},{"uid":"c5e49757-7587","name":"indentRules.js"},{"uid":"c5e49757-7589","name":"onEnter.js"},{"uid":"c5e49757-7607","name":"languageBracketsConfiguration.js"},{"uid":"c5e49757-7625","name":"inplaceReplaceSupport.js"},{"uid":"c5e49757-8415","name":"tokenization.js"}]},{"uid":"c5e49757-7593","name":"language.js"},{"uid":"c5e49757-7605","name":"modesRegistry.js"},{"uid":"c5e49757-7609","name":"languageConfigurationRegistry.js"},{"uid":"c5e49757-7623","name":"linkComputer.js"},{"uid":"c5e49757-7671","name":"defaultDocumentColorsComputer.js"},{"uid":"c5e49757-7687","name":"nullTokenize.js"},{"uid":"c5e49757-7851","name":"enterAction.js"},{"uid":"c5e49757-7857","name":"autoIndent.js"},{"uid":"c5e49757-8075","name":"textToHtmlTokenizer.js"}]},{"name":"model","children":[{"uid":"c5e49757-7617","name":"prefixSumComputer.js"},{"uid":"c5e49757-7619","name":"mirrorTextModel.js"},{"uid":"c5e49757-7633","name":"textModelSearch.js"},{"uid":"c5e49757-7895","name":"textModelPart.js"},{"uid":"c5e49757-7897","name":"utils.js"},{"uid":"c5e49757-7901","name":"guidesTextModelPart.js"},{"name":"bracketPairsTextModelPart","children":[{"name":"bracketPairsTree","children":[{"uid":"c5e49757-7995","name":"length.js"},{"uid":"c5e49757-7997","name":"beforeEditPositionMapper.js"},{"uid":"c5e49757-7999","name":"smallImmutableSet.js"},{"uid":"c5e49757-8001","name":"ast.js"},{"uid":"c5e49757-8003","name":"tokenizer.js"},{"uid":"c5e49757-8005","name":"brackets.js"},{"uid":"c5e49757-8007","name":"concat23Trees.js"},{"uid":"c5e49757-8009","name":"nodeReader.js"},{"uid":"c5e49757-8011","name":"parser.js"},{"uid":"c5e49757-8013","name":"combineTextEditInfos.js"},{"uid":"c5e49757-8015","name":"bracketPairsTree.js"}]},{"uid":"c5e49757-8017","name":"bracketPairsImpl.js"},{"uid":"c5e49757-8019","name":"colorizedBracketPairsDecorationProvider.js"},{"uid":"c5e49757-8997","name":"fixBrackets.js"}]},{"uid":"c5e49757-8027","name":"editStack.js"},{"uid":"c5e49757-8029","name":"indentationGuesser.js"},{"uid":"c5e49757-8031","name":"intervalTree.js"},{"name":"pieceTreeTextBuffer","children":[{"uid":"c5e49757-8033","name":"rbTreeBase.js"},{"uid":"c5e49757-8035","name":"pieceTreeBase.js"},{"uid":"c5e49757-8037","name":"pieceTreeTextBuffer.js"},{"uid":"c5e49757-8039","name":"pieceTreeTextBufferBuilder.js"}]},{"uid":"c5e49757-8041","name":"fixedArray.js"},{"uid":"c5e49757-8047","name":"textModelTokens.js"},{"uid":"c5e49757-8055","name":"tokenizationTextModelPart.js"},{"uid":"c5e49757-8059","name":"textModel.js"},{"uid":"c5e49757-8503","name":"textModelText.js"}]},{"uid":"c5e49757-7631","name":"model.js"},{"name":"diff","children":[{"uid":"c5e49757-7637","name":"linesDiffComputer.js"},{"uid":"c5e49757-7645","name":"rangeMapping.js"},{"uid":"c5e49757-7647","name":"legacyLinesDiffComputer.js"},{"name":"defaultLinesDiffComputer","children":[{"name":"algorithms","children":[{"uid":"c5e49757-7649","name":"diffAlgorithm.js"},{"uid":"c5e49757-7653","name":"dynamicProgrammingDiffing.js"},{"uid":"c5e49757-7655","name":"myersDiffAlgorithm.js"}]},{"uid":"c5e49757-7651","name":"utils.js"},{"uid":"c5e49757-7657","name":"linesSliceCharSequence.js"},{"uid":"c5e49757-7659","name":"computeMovedLines.js"},{"uid":"c5e49757-7661","name":"heuristicSequenceOptimizations.js"},{"uid":"c5e49757-7663","name":"lineSequence.js"},{"uid":"c5e49757-7665","name":"defaultLinesDiffComputer.js"}]},{"uid":"c5e49757-7667","name":"linesDiffComputers.js"}]},{"uid":"c5e49757-7685","name":"editorCommon.js"},{"uid":"c5e49757-7689","name":"encodedTokenAttributes.js"},{"name":"tokens","children":[{"uid":"c5e49757-7691","name":"lineTokens.js"},{"uid":"c5e49757-8043","name":"contiguousMultilineTokens.js"},{"uid":"c5e49757-8045","name":"contiguousMultilineTokensBuilder.js"},{"uid":"c5e49757-8049","name":"contiguousTokensEditing.js"},{"uid":"c5e49757-8051","name":"contiguousTokensStore.js"},{"uid":"c5e49757-8053","name":"sparseTokensStore.js"},{"uid":"c5e49757-8117","name":"sparseMultilineTokens.js"}]},{"name":"viewLayout","children":[{"uid":"c5e49757-7693","name":"lineDecorations.js"},{"uid":"c5e49757-7695","name":"linePart.js"},{"uid":"c5e49757-7697","name":"viewLineRenderer.js"},{"uid":"c5e49757-7971","name":"viewLinesViewportData.js"},{"uid":"c5e49757-8077","name":"linesLayout.js"},{"uid":"c5e49757-8079","name":"viewLayout.js"}]},{"uid":"c5e49757-7699","name":"viewModel.js"},{"uid":"c5e49757-7757","name":"viewEventHandler.js"},{"name":"cursor","children":[{"uid":"c5e49757-7771","name":"cursorAtomicMoveOperations.js"},{"uid":"c5e49757-7839","name":"cursorColumnSelection.js"},{"uid":"c5e49757-7843","name":"cursorMoveOperations.js"},{"uid":"c5e49757-7845","name":"cursorDeleteOperations.js"},{"uid":"c5e49757-7847","name":"cursorWordOperations.js"},{"uid":"c5e49757-7849","name":"cursorMoveCommands.js"},{"uid":"c5e49757-7859","name":"cursorTypeOperations.js"},{"uid":"c5e49757-8063","name":"oneCursor.js"},{"uid":"c5e49757-8065","name":"cursorCollection.js"},{"uid":"c5e49757-8067","name":"cursorContext.js"},{"uid":"c5e49757-8073","name":"cursor.js"}]},{"uid":"c5e49757-7837","name":"cursorCommon.js"},{"name":"commands","children":[{"uid":"c5e49757-7841","name":"replaceCommand.js"},{"uid":"c5e49757-7853","name":"shiftCommand.js"},{"uid":"c5e49757-7855","name":"surroundSelectionCommand.js"},{"uid":"c5e49757-9087","name":"trimTrailingWhitespaceCommand.js"}]},{"uid":"c5e49757-7861","name":"editorContextKeys.js"},{"uid":"c5e49757-7899","name":"textModelGuides.js"},{"name":"viewModel","children":[{"uid":"c5e49757-7923","name":"minimapTokensColorTracker.js"},{"uid":"c5e49757-7943","name":"overviewZoneManager.js"},{"uid":"c5e49757-7975","name":"viewContext.js"},{"uid":"c5e49757-8061","name":"monospaceLineBreaksComputer.js"},{"uid":"c5e49757-8081","name":"viewModelDecorations.js"},{"uid":"c5e49757-8083","name":"modelLineProjection.js"},{"uid":"c5e49757-8085","name":"viewModelLines.js"},{"uid":"c5e49757-8087","name":"glyphLanesModel.js"},{"uid":"c5e49757-8089","name":"viewModelImpl.js"}]},{"uid":"c5e49757-7973","name":"editorTheme.js"},{"uid":"c5e49757-7979","name":"modelLineProjectionData.js"},{"uid":"c5e49757-7981","name":"textModelEvents.js"},{"uid":"c5e49757-7987","name":"editorAction.js"},{"uid":"c5e49757-7991","name":"textModelBracketPairs.js"},{"uid":"c5e49757-8069","name":"viewEvents.js"},{"uid":"c5e49757-8071","name":"viewModelEventDispatcher.js"},{"uid":"c5e49757-8127","name":"languageSelector.js"},{"uid":"c5e49757-8129","name":"languageFeatureRegistry.js"},{"uid":"c5e49757-8211","name":"standaloneStrings.js"},{"uid":"c5e49757-8449","name":"editorFeatures.js"}]},{"name":"standalone","children":[{"name":"browser","children":[{"uid":"c5e49757-7495","name":"standalone-tokens.css"},{"uid":"c5e49757-7705","name":"colorizer.js"},{"uid":"c5e49757-8101","name":"standaloneCodeEditorService.js"},{"uid":"c5e49757-8105","name":"standaloneLayoutService.js"},{"name":"quickInput","children":[{"uid":"c5e49757-8311","name":"standaloneQuickInput.css"},{"uid":"c5e49757-8413","name":"standaloneQuickInputService.js"}]},{"uid":"c5e49757-8423","name":"standaloneThemeService.js"},{"uid":"c5e49757-8451","name":"standaloneServices.js"},{"uid":"c5e49757-8515","name":"standaloneCodeEditor.js"},{"uid":"c5e49757-8529","name":"standaloneEditor.js"},{"uid":"c5e49757-8533","name":"standaloneLanguages.js"},{"name":"iPadShowKeyboard","children":[{"uid":"c5e49757-9215","name":"iPadShowKeyboard.css"},{"uid":"c5e49757-9217","name":"iPadShowKeyboard.js"}]},{"name":"inspectTokens","children":[{"uid":"c5e49757-9219","name":"inspectTokens.css"},{"uid":"c5e49757-9221","name":"inspectTokens.js"}]},{"name":"quickAccess","children":[{"uid":"c5e49757-9225","name":"standaloneHelpQuickAccess.js"},{"uid":"c5e49757-9231","name":"standaloneGotoLineQuickAccess.js"},{"uid":"c5e49757-9237","name":"standaloneGotoSymbolQuickAccess.js"},{"uid":"c5e49757-9249","name":"standaloneCommandsQuickAccess.js"}]},{"name":"referenceSearch/standaloneReferenceSearch.js","uid":"c5e49757-9251"},{"name":"toggleHighContrast/toggleHighContrast.js","uid":"c5e49757-9253"}]},{"name":"common","children":[{"name":"monarch","children":[{"uid":"c5e49757-7701","name":"monarchCommon.js"},{"uid":"c5e49757-7703","name":"monarchLexer.js"},{"uid":"c5e49757-8531","name":"monarchCompile.js"}]},{"uid":"c5e49757-8417","name":"themes.js"},{"uid":"c5e49757-8425","name":"standaloneTheme.js"}]}]},{"name":"browser","children":[{"name":"config","children":[{"uid":"c5e49757-7525","name":"domFontInfo.js"},{"uid":"c5e49757-7527","name":"charWidthReader.js"},{"uid":"c5e49757-7533","name":"fontMeasurements.js"},{"uid":"c5e49757-7717","name":"elementSizeObserver.js"},{"uid":"c5e49757-7719","name":"migrateOptions.js"},{"uid":"c5e49757-7721","name":"tabFocus.js"},{"uid":"c5e49757-7725","name":"editorConfiguration.js"}]},{"name":"services","children":[{"uid":"c5e49757-7537","name":"codeEditorService.js"},{"uid":"c5e49757-7681","name":"editorWorkerService.js"},{"uid":"c5e49757-7683","name":"webWorker.js"},{"uid":"c5e49757-7713","name":"markerDecorations.js"},{"uid":"c5e49757-8099","name":"abstractCodeEditorService.js"},{"name":"hoverService","children":[{"uid":"c5e49757-8137","name":"hover.css"},{"uid":"c5e49757-8169","name":"hoverWidget.js"},{"uid":"c5e49757-8179","name":"hoverService.js"}]},{"uid":"c5e49757-8181","name":"bulkEditService.js"},{"uid":"c5e49757-8299","name":"openerService.js"}]},{"uid":"c5e49757-7565","name":"editorExtensions.js"},{"name":"widget","children":[{"name":"codeEditor","children":[{"uid":"c5e49757-7715","name":"editor.css"},{"uid":"c5e49757-7985","name":"codeEditorContributions.js"},{"uid":"c5e49757-8097","name":"codeEditorWidget.js"},{"uid":"c5e49757-8837","name":"embeddedCodeEditorWidget.js"}]},{"name":"markdownRenderer/browser","children":[{"uid":"c5e49757-8165","name":"renderedMarkdown.css"},{"uid":"c5e49757-8167","name":"markdownRenderer.js"}]},{"name":"diffEditor","children":[{"uid":"c5e49757-8453","name":"style.css"},{"uid":"c5e49757-8459","name":"utils.js"},{"name":"components","children":[{"uid":"c5e49757-8461","name":"accessibleDiffViewer.css"},{"uid":"c5e49757-8463","name":"accessibleDiffViewer.js"},{"uid":"c5e49757-8469","name":"diffEditorDecorations.js"},{"uid":"c5e49757-8471","name":"diffEditorSash.js"},{"name":"diffEditorViewZones","children":[{"uid":"c5e49757-8477","name":"inlineDiffDeletedCodeMargin.js"},{"uid":"c5e49757-8479","name":"renderLines.js"},{"uid":"c5e49757-8481","name":"diffEditorViewZones.js"}]},{"uid":"c5e49757-8489","name":"diffEditorEditors.js"}]},{"name":"features","children":[{"uid":"c5e49757-8465","name":"movedBlocksLinesFeature.js"},{"uid":"c5e49757-8483","name":"hideUnchangedRegionsFeature.js"},{"uid":"c5e49757-8485","name":"overviewRulerFeature.js"},{"uid":"c5e49757-8487","name":"revertButtonsFeature.js"},{"uid":"c5e49757-8511","name":"gutterFeature.js"}]},{"uid":"c5e49757-8467","name":"registrations.contribution.js"},{"uid":"c5e49757-8473","name":"diffProviderFactoryService.js"},{"uid":"c5e49757-8475","name":"diffEditorViewModel.js"},{"uid":"c5e49757-8491","name":"delegatingEditorImpl.js"},{"uid":"c5e49757-8493","name":"diffEditorOptions.js"},{"name":"utils/editorGutter.js","uid":"c5e49757-8495"},{"uid":"c5e49757-8513","name":"diffEditorWidget.js"},{"uid":"c5e49757-8721","name":"commands.js"},{"uid":"c5e49757-8723","name":"diffEditor.contribution.js"}]},{"name":"multiDiffEditor","children":[{"uid":"c5e49757-8497","name":"utils.js"},{"uid":"c5e49757-8517","name":"style.css"},{"uid":"c5e49757-8519","name":"diffEditorItemTemplate.js"},{"uid":"c5e49757-8521","name":"objectPool.js"},{"uid":"c5e49757-8523","name":"multiDiffEditorWidgetImpl.js"},{"uid":"c5e49757-8525","name":"colors.js"},{"uid":"c5e49757-8527","name":"multiDiffEditorWidget.js"}]}]},{"uid":"c5e49757-7755","name":"editorDom.js"},{"name":"view","children":[{"uid":"c5e49757-7759","name":"viewPart.js"},{"uid":"c5e49757-7761","name":"renderingContext.js"},{"uid":"c5e49757-7813","name":"dynamicViewOverlay.js"},{"uid":"c5e49757-7865","name":"viewController.js"},{"uid":"c5e49757-7867","name":"viewLayer.js"},{"uid":"c5e49757-7869","name":"viewOverlays.js"},{"uid":"c5e49757-7871","name":"viewUserInputEvents.js"},{"uid":"c5e49757-7983","name":"domLineBreaksComputer.js"}]},{"name":"viewParts","children":[{"name":"lines","children":[{"uid":"c5e49757-7763","name":"rangeUtil.js"},{"uid":"c5e49757-7767","name":"viewLine.js"},{"uid":"c5e49757-7905","name":"viewLines.css"},{"uid":"c5e49757-7907","name":"domReadingContext.js"},{"uid":"c5e49757-7909","name":"viewLines.js"}]},{"name":"lineNumbers","children":[{"uid":"c5e49757-7811","name":"lineNumbers.css"},{"uid":"c5e49757-7819","name":"lineNumbers.js"}]},{"name":"margin","children":[{"uid":"c5e49757-7821","name":"margin.css"},{"uid":"c5e49757-7823","name":"margin.js"}]},{"name":"blockDecorations","children":[{"uid":"c5e49757-7873","name":"blockDecorations.css"},{"uid":"c5e49757-7875","name":"blockDecorations.js"}]},{"name":"contentWidgets/contentWidgets.js","uid":"c5e49757-7877"},{"name":"currentLineHighlight","children":[{"uid":"c5e49757-7879","name":"currentLineHighlight.css"},{"uid":"c5e49757-7881","name":"currentLineHighlight.js"}]},{"name":"decorations","children":[{"uid":"c5e49757-7883","name":"decorations.css"},{"uid":"c5e49757-7885","name":"decorations.js"}]},{"name":"editorScrollbar/editorScrollbar.js","uid":"c5e49757-7887"},{"name":"glyphMargin","children":[{"uid":"c5e49757-7889","name":"glyphMargin.css"},{"uid":"c5e49757-7891","name":"glyphMargin.js"}]},{"name":"indentGuides","children":[{"uid":"c5e49757-7893","name":"indentGuides.css"},{"uid":"c5e49757-7903","name":"indentGuides.js"}]},{"name":"linesDecorations","children":[{"uid":"c5e49757-7911","name":"linesDecorations.css"},{"uid":"c5e49757-7913","name":"linesDecorations.js"}]},{"name":"marginDecorations","children":[{"uid":"c5e49757-7915","name":"marginDecorations.css"},{"uid":"c5e49757-7917","name":"marginDecorations.js"}]},{"name":"minimap","children":[{"uid":"c5e49757-7919","name":"minimap.css"},{"uid":"c5e49757-7925","name":"minimapCharSheet.js"},{"uid":"c5e49757-7927","name":"minimapCharRenderer.js"},{"uid":"c5e49757-7929","name":"minimapPreBaked.js"},{"uid":"c5e49757-7931","name":"minimapCharRendererFactory.js"},{"uid":"c5e49757-7935","name":"minimap.js"}]},{"name":"overlayWidgets","children":[{"uid":"c5e49757-7937","name":"overlayWidgets.css"},{"uid":"c5e49757-7939","name":"overlayWidgets.js"}]},{"name":"overviewRuler","children":[{"uid":"c5e49757-7941","name":"decorationsOverviewRuler.js"},{"uid":"c5e49757-7945","name":"overviewRuler.js"}]},{"name":"rulers","children":[{"uid":"c5e49757-7947","name":"rulers.css"},{"uid":"c5e49757-7949","name":"rulers.js"}]},{"name":"scrollDecoration","children":[{"uid":"c5e49757-7951","name":"scrollDecoration.css"},{"uid":"c5e49757-7953","name":"scrollDecoration.js"}]},{"name":"selections","children":[{"uid":"c5e49757-7955","name":"selections.css"},{"uid":"c5e49757-7957","name":"selections.js"}]},{"name":"viewCursors","children":[{"uid":"c5e49757-7959","name":"viewCursors.css"},{"uid":"c5e49757-7961","name":"viewCursor.js"},{"uid":"c5e49757-7963","name":"viewCursors.js"}]},{"name":"viewZones/viewZones.js","uid":"c5e49757-7965"},{"name":"whitespace","children":[{"uid":"c5e49757-7967","name":"whitespace.css"},{"uid":"c5e49757-7969","name":"whitespace.js"}]}]},{"name":"controller","children":[{"uid":"c5e49757-7773","name":"mouseTarget.js"},{"uid":"c5e49757-7799","name":"mouseHandler.js"},{"uid":"c5e49757-7803","name":"textAreaState.js"},{"uid":"c5e49757-7805","name":"textAreaInput.js"},{"uid":"c5e49757-7807","name":"pointerHandler.js"},{"uid":"c5e49757-7809","name":"textAreaHandler.css"},{"uid":"c5e49757-7833","name":"textAreaHandler.js"}]},{"uid":"c5e49757-7863","name":"coreCommands.js"},{"uid":"c5e49757-7977","name":"view.js"},{"uid":"c5e49757-8455","name":"stableEditorScroll.js"},{"uid":"c5e49757-8539","name":"editorBrowser.js"},{"uid":"c5e49757-8747","name":"dnd.js"}]},{"name":"contrib","children":[{"name":"editorState/browser","children":[{"uid":"c5e49757-8535","name":"keybindingCancellation.js"},{"uid":"c5e49757-8537","name":"editorState.js"}]},{"name":"format/browser","children":[{"uid":"c5e49757-8541","name":"formattingEdit.js"},{"uid":"c5e49757-8545","name":"format.js"},{"uid":"c5e49757-8981","name":"formatActions.js"}]},{"name":"anchorSelect/browser","children":[{"uid":"c5e49757-8725","name":"anchorSelect.css"},{"uid":"c5e49757-8727","name":"anchorSelect.js"}]},{"name":"bracketMatching/browser","children":[{"uid":"c5e49757-8729","name":"bracketMatching.css"},{"uid":"c5e49757-8731","name":"bracketMatching.js"}]},{"name":"caretOperations/browser","children":[{"uid":"c5e49757-8733","name":"moveCaretCommand.js"},{"uid":"c5e49757-8735","name":"caretOperations.js"},{"uid":"c5e49757-8737","name":"transpose.js"}]},{"name":"dropOrPasteInto/browser","children":[{"uid":"c5e49757-8749","name":"defaultProviders.js"},{"uid":"c5e49757-8753","name":"edit.js"},{"uid":"c5e49757-8763","name":"postEditWidget.css"},{"uid":"c5e49757-8765","name":"postEditWidget.js"},{"uid":"c5e49757-8767","name":"copyPasteController.js"},{"uid":"c5e49757-8925","name":"copyPasteContribution.js"},{"uid":"c5e49757-8931","name":"dropIntoEditorController.js"},{"uid":"c5e49757-8933","name":"dropIntoEditorContribution.js"}]},{"name":"snippet/browser","children":[{"uid":"c5e49757-8751","name":"snippetParser.js"},{"uid":"c5e49757-9007","name":"snippetSession.css"},{"uid":"c5e49757-9011","name":"snippetVariables.js"},{"uid":"c5e49757-9013","name":"snippetSession.js"},{"uid":"c5e49757-9015","name":"snippetController2.js"}]},{"name":"inlineProgress/browser","children":[{"uid":"c5e49757-8755","name":"inlineProgressWidget.css"},{"uid":"c5e49757-8757","name":"inlineProgress.js"}]},{"name":"message/browser","children":[{"uid":"c5e49757-8759","name":"messageController.css"},{"uid":"c5e49757-8761","name":"messageController.js"}]},{"name":"clipboard/browser/clipboard.js","uid":"c5e49757-8769"},{"name":"codeAction","children":[{"name":"common/types.js","uid":"c5e49757-8771"},{"name":"browser","children":[{"uid":"c5e49757-8773","name":"codeAction.js"},{"uid":"c5e49757-8775","name":"codeActionKeybindingResolver.js"},{"uid":"c5e49757-8787","name":"codeActionMenu.js"},{"uid":"c5e49757-8789","name":"lightBulbWidget.css"},{"uid":"c5e49757-8791","name":"lightBulbWidget.js"},{"uid":"c5e49757-8799","name":"codeActionModel.js"},{"uid":"c5e49757-8801","name":"codeActionController.js"},{"uid":"c5e49757-8803","name":"codeActionCommands.js"},{"uid":"c5e49757-8805","name":"codeActionContributions.js"}]}]},{"name":"symbolIcons/browser","children":[{"uid":"c5e49757-8783","name":"symbolIcons.css"},{"uid":"c5e49757-8785","name":"symbolIcons.js"}]},{"name":"codelens/browser","children":[{"uid":"c5e49757-8807","name":"codelens.js"},{"uid":"c5e49757-8809","name":"codeLensCache.js"},{"uid":"c5e49757-8811","name":"codelensWidget.css"},{"uid":"c5e49757-8813","name":"codelensWidget.js"},{"uid":"c5e49757-8815","name":"codelensController.js"}]},{"name":"colorPicker/browser","children":[{"uid":"c5e49757-8817","name":"defaultDocumentColorProvider.js"},{"uid":"c5e49757-8819","name":"color.js"},{"uid":"c5e49757-8821","name":"colorDetector.js"},{"uid":"c5e49757-8823","name":"colorPickerModel.js"},{"uid":"c5e49757-8825","name":"colorPicker.css"},{"uid":"c5e49757-8827","name":"colorPickerWidget.js"},{"uid":"c5e49757-8829","name":"colorHoverParticipant.js"},{"uid":"c5e49757-8903","name":"colorContributions.js"},{"uid":"c5e49757-8905","name":"standaloneColorPickerWidget.js"},{"uid":"c5e49757-8907","name":"standaloneColorPickerActions.js"}]},{"name":"gotoSymbol/browser","children":[{"name":"link","children":[{"uid":"c5e49757-8831","name":"goToDefinitionAtPosition.css"},{"uid":"c5e49757-8833","name":"clickLinkGesture.js"},{"uid":"c5e49757-8861","name":"goToDefinitionAtPosition.js"}]},{"uid":"c5e49757-8845","name":"referencesModel.js"},{"name":"peek","children":[{"uid":"c5e49757-8847","name":"referencesWidget.css"},{"uid":"c5e49757-8849","name":"referencesTree.js"},{"uid":"c5e49757-8851","name":"referencesWidget.js"},{"uid":"c5e49757-8853","name":"referencesController.js"}]},{"uid":"c5e49757-8855","name":"symbolNavigation.js"},{"uid":"c5e49757-8857","name":"goToSymbol.js"},{"uid":"c5e49757-8859","name":"goToCommands.js"}]},{"name":"peekView/browser","children":[{"name":"media/peekViewWidget.css","uid":"c5e49757-8835"},{"uid":"c5e49757-8843","name":"peekView.js"}]},{"name":"zoneWidget/browser","children":[{"uid":"c5e49757-8839","name":"zoneWidget.css"},{"uid":"c5e49757-8841","name":"zoneWidget.js"}]},{"name":"hover/browser","children":[{"uid":"c5e49757-8863","name":"hoverOperation.js"},{"uid":"c5e49757-8865","name":"hoverTypes.js"},{"uid":"c5e49757-8869","name":"resizableContentWidget.js"},{"uid":"c5e49757-8871","name":"contentHover.js"},{"uid":"c5e49757-8873","name":"marginHover.js"},{"uid":"c5e49757-8875","name":"getHover.js"},{"uid":"c5e49757-8877","name":"markdownHoverParticipant.js"},{"uid":"c5e49757-8891","name":"markerHoverParticipant.js"},{"uid":"c5e49757-8899","name":"hover.css"},{"uid":"c5e49757-8901","name":"hover.js"}]},{"name":"gotoError/browser","children":[{"uid":"c5e49757-8879","name":"markerNavigationService.js"},{"name":"media/gotoErrorWidget.css","uid":"c5e49757-8881"},{"uid":"c5e49757-8887","name":"gotoErrorWidget.js"},{"uid":"c5e49757-8889","name":"gotoError.js"}]},{"name":"inlineCompletions/browser","children":[{"uid":"c5e49757-8893","name":"inlineCompletionsHintsWidget.css"},{"uid":"c5e49757-8895","name":"commandIds.js"},{"uid":"c5e49757-8897","name":"inlineCompletionsHintsWidget.js"},{"uid":"c5e49757-8987","name":"inlineCompletionContextKeys.js"},{"uid":"c5e49757-8989","name":"ghostText.css"},{"uid":"c5e49757-8991","name":"ghostText.js"},{"uid":"c5e49757-8993","name":"utils.js"},{"uid":"c5e49757-8995","name":"ghostTextWidget.js"},{"uid":"c5e49757-8999","name":"provideInlineCompletions.js"},{"uid":"c5e49757-9001","name":"singleTextEdit.js"},{"uid":"c5e49757-9003","name":"inlineCompletionsSource.js"},{"uid":"c5e49757-9017","name":"inlineCompletionsModel.js"},{"uid":"c5e49757-9053","name":"suggestWidgetInlineCompletionProvider.js"},{"uid":"c5e49757-9055","name":"inlineCompletionsController.js"},{"uid":"c5e49757-9057","name":"commands.js"},{"uid":"c5e49757-9059","name":"hoverParticipant.js"},{"uid":"c5e49757-9061","name":"inlineCompletions.contribution.js"}]},{"name":"comment/browser","children":[{"uid":"c5e49757-8909","name":"blockCommentCommand.js"},{"uid":"c5e49757-8911","name":"lineCommentCommand.js"},{"uid":"c5e49757-8913","name":"comment.js"}]},{"name":"contextmenu/browser/contextmenu.js","uid":"c5e49757-8915"},{"name":"cursorUndo/browser/cursorUndo.js","uid":"c5e49757-8917"},{"name":"dnd/browser","children":[{"uid":"c5e49757-8919","name":"dnd.css"},{"uid":"c5e49757-8921","name":"dragAndDropCommand.js"},{"uid":"c5e49757-8923","name":"dnd.js"}]},{"name":"find/browser","children":[{"uid":"c5e49757-8935","name":"findDecorations.js"},{"uid":"c5e49757-8937","name":"replaceAllCommand.js"},{"uid":"c5e49757-8941","name":"replacePattern.js"},{"uid":"c5e49757-8943","name":"findModel.js"},{"uid":"c5e49757-8945","name":"findOptionsWidget.css"},{"uid":"c5e49757-8947","name":"findOptionsWidget.js"},{"uid":"c5e49757-8949","name":"findState.js"},{"uid":"c5e49757-8951","name":"findWidget.css"},{"uid":"c5e49757-8959","name":"findWidget.js"},{"uid":"c5e49757-8961","name":"findController.js"}]},{"name":"folding/browser","children":[{"uid":"c5e49757-8963","name":"folding.css"},{"uid":"c5e49757-8965","name":"foldingRanges.js"},{"uid":"c5e49757-8967","name":"foldingModel.js"},{"uid":"c5e49757-8969","name":"hiddenRangeModel.js"},{"uid":"c5e49757-8971","name":"indentRangeProvider.js"},{"uid":"c5e49757-8973","name":"foldingDecorations.js"},{"uid":"c5e49757-8975","name":"syntaxRangeProvider.js"},{"uid":"c5e49757-8977","name":"folding.js"}]},{"name":"fontZoom/browser/fontZoom.js","uid":"c5e49757-8979"},{"name":"documentSymbols/browser","children":[{"uid":"c5e49757-8983","name":"outlineModel.js"},{"uid":"c5e49757-8985","name":"documentSymbols.js"}]},{"name":"suggest/browser","children":[{"uid":"c5e49757-9005","name":"suggest.js"},{"uid":"c5e49757-9019","name":"suggestMemory.js"},{"uid":"c5e49757-9021","name":"wordContextKey.js"},{"uid":"c5e49757-9023","name":"suggestAlternatives.js"},{"uid":"c5e49757-9025","name":"suggestCommitCharacters.js"},{"uid":"c5e49757-9029","name":"wordDistance.js"},{"uid":"c5e49757-9031","name":"completionModel.js"},{"uid":"c5e49757-9033","name":"suggestModel.js"},{"uid":"c5e49757-9035","name":"suggestOvertypingCapturer.js"},{"name":"media/suggest.css","uid":"c5e49757-9037"},{"uid":"c5e49757-9039","name":"suggestWidgetStatus.js"},{"uid":"c5e49757-9041","name":"suggestWidgetDetails.js"},{"uid":"c5e49757-9047","name":"suggestWidgetRenderer.js"},{"uid":"c5e49757-9049","name":"suggestWidget.js"},{"uid":"c5e49757-9051","name":"suggestController.js"},{"uid":"c5e49757-9183","name":"suggestInlineCompletions.js"}]},{"name":"smartSelect/browser","children":[{"uid":"c5e49757-9027","name":"bracketSelections.js"},{"uid":"c5e49757-9161","name":"wordSelections.js"},{"uid":"c5e49757-9163","name":"smartSelect.js"}]},{"name":"indentation","children":[{"name":"common","children":[{"uid":"c5e49757-9063","name":"indentUtils.js"},{"uid":"c5e49757-9065","name":"indentation.js"}]},{"name":"browser/indentation.js","uid":"c5e49757-9067"}]},{"name":"inlayHints/browser","children":[{"uid":"c5e49757-9069","name":"inlayHints.js"},{"uid":"c5e49757-9071","name":"inlayHintsLocations.js"},{"uid":"c5e49757-9073","name":"inlayHintsController.js"},{"uid":"c5e49757-9075","name":"inlayHintsHover.js"},{"uid":"c5e49757-9077","name":"inlayHintsContribution.js"}]},{"name":"inPlaceReplace/browser","children":[{"uid":"c5e49757-9079","name":"inPlaceReplaceCommand.js"},{"uid":"c5e49757-9081","name":"inPlaceReplace.css"},{"uid":"c5e49757-9083","name":"inPlaceReplace.js"}]},{"name":"lineSelection/browser/lineSelection.js","uid":"c5e49757-9085"},{"name":"linesOperations/browser","children":[{"uid":"c5e49757-9089","name":"copyLinesCommand.js"},{"uid":"c5e49757-9091","name":"moveLinesCommand.js"},{"uid":"c5e49757-9093","name":"sortLinesCommand.js"},{"uid":"c5e49757-9095","name":"linesOperations.js"}]},{"name":"linkedEditing/browser","children":[{"uid":"c5e49757-9097","name":"linkedEditing.css"},{"uid":"c5e49757-9099","name":"linkedEditing.js"}]},{"name":"links/browser","children":[{"uid":"c5e49757-9101","name":"links.css"},{"uid":"c5e49757-9103","name":"getLinks.js"},{"uid":"c5e49757-9105","name":"links.js"}]},{"name":"longLinesHelper/browser/longLinesHelper.js","uid":"c5e49757-9107"},{"name":"wordHighlighter/browser","children":[{"uid":"c5e49757-9109","name":"highlightDecorations.css"},{"uid":"c5e49757-9111","name":"highlightDecorations.js"},{"uid":"c5e49757-9203","name":"wordHighlighter.js"}]},{"name":"multicursor/browser/multicursor.js","uid":"c5e49757-9113"},{"name":"inlineEdit/browser","children":[{"uid":"c5e49757-9115","name":"commandIds.js"},{"uid":"c5e49757-9117","name":"inlineEdit.css"},{"uid":"c5e49757-9119","name":"ghostTextWidget.js"},{"uid":"c5e49757-9121","name":"inlineEditHintsWidget.css"},{"uid":"c5e49757-9123","name":"inlineEditHintsWidget.js"},{"uid":"c5e49757-9125","name":"inlineEditController.js"},{"uid":"c5e49757-9127","name":"commands.js"},{"uid":"c5e49757-9129","name":"hoverParticipant.js"},{"uid":"c5e49757-9131","name":"inlineEdit.contribution.js"}]},{"name":"parameterHints/browser","children":[{"uid":"c5e49757-9133","name":"provideSignatureHelp.js"},{"uid":"c5e49757-9135","name":"parameterHintsModel.js"},{"uid":"c5e49757-9137","name":"parameterHints.css"},{"uid":"c5e49757-9139","name":"parameterHintsWidget.js"},{"uid":"c5e49757-9141","name":"parameterHints.js"}]},{"name":"rename/browser","children":[{"uid":"c5e49757-9143","name":"renameWidget.css"},{"uid":"c5e49757-9145","name":"renameWidget.js"},{"uid":"c5e49757-9147","name":"rename.js"}]},{"name":"sectionHeaders/browser/sectionHeaders.js","uid":"c5e49757-9149"},{"name":"semanticTokens","children":[{"name":"common","children":[{"uid":"c5e49757-9153","name":"getSemanticTokens.js"},{"uid":"c5e49757-9155","name":"semanticTokensConfig.js"}]},{"name":"browser","children":[{"uid":"c5e49757-9157","name":"documentSemanticTokens.js"},{"uid":"c5e49757-9159","name":"viewportSemanticTokens.js"}]}]},{"name":"stickyScroll/browser","children":[{"uid":"c5e49757-9167","name":"stickyScroll.css"},{"uid":"c5e49757-9169","name":"stickyScrollWidget.js"},{"uid":"c5e49757-9171","name":"stickyScrollElement.js"},{"uid":"c5e49757-9173","name":"stickyScrollModelProvider.js"},{"uid":"c5e49757-9175","name":"stickyScrollProvider.js"},{"uid":"c5e49757-9177","name":"stickyScrollController.js"},{"uid":"c5e49757-9179","name":"stickyScrollActions.js"},{"uid":"c5e49757-9181","name":"stickyScrollContribution.js"}]},{"name":"tokenization/browser/tokenization.js","uid":"c5e49757-9185"},{"name":"toggleTabFocusMode/browser/toggleTabFocusMode.js","uid":"c5e49757-9187"},{"name":"unicodeHighlighter/browser","children":[{"uid":"c5e49757-9189","name":"unicodeHighlighter.css"},{"uid":"c5e49757-9191","name":"bannerController.css"},{"uid":"c5e49757-9197","name":"bannerController.js"},{"uid":"c5e49757-9199","name":"unicodeHighlighter.js"}]},{"name":"unusualLineTerminators/browser/unusualLineTerminators.js","uid":"c5e49757-9201"},{"name":"wordOperations/browser/wordOperations.js","uid":"c5e49757-9205"},{"name":"wordPartOperations/browser/wordPartOperations.js","uid":"c5e49757-9207"},{"name":"readOnlyMessage/browser/contribution.js","uid":"c5e49757-9209"},{"name":"diffEditorBreadcrumbs/browser/contribution.js","uid":"c5e49757-9211"},{"name":"quickAccess/browser","children":[{"uid":"c5e49757-9227","name":"editorNavigationQuickAccess.js"},{"uid":"c5e49757-9229","name":"gotoLineQuickAccess.js"},{"uid":"c5e49757-9235","name":"gotoSymbolQuickAccess.js"},{"uid":"c5e49757-9247","name":"commandsQuickAccess.js"}]}]},{"uid":"c5e49757-8547","name":"editor.api.js"},{"uid":"c5e49757-9213","name":"editor.all.js"},{"uid":"c5e49757-9255","name":"edcore.main.js"},{"uid":"c5e49757-9257","name":"editor.main.js"}]},{"name":"platform","children":[{"name":"instantiation/common","children":[{"uid":"c5e49757-7535","name":"instantiation.js"},{"uid":"c5e49757-7595","name":"descriptors.js"},{"uid":"c5e49757-7597","name":"extensions.js"},{"uid":"c5e49757-8091","name":"serviceCollection.js"},{"uid":"c5e49757-8437","name":"graph.js"},{"uid":"c5e49757-8439","name":"instantiationService.js"}]},{"name":"commands/common/commands.js","uid":"c5e49757-7547"},{"name":"contextkey","children":[{"name":"common","children":[{"uid":"c5e49757-7549","name":"scanner.js"},{"uid":"c5e49757-7551","name":"contextkey.js"},{"uid":"c5e49757-8375","name":"contextkeys.js"}]},{"name":"browser/contextKeyService.js","uid":"c5e49757-8435"}]},{"name":"registry/common/platform.js","uid":"c5e49757-7555"},{"name":"keybinding/common","children":[{"uid":"c5e49757-7557","name":"keybindingsRegistry.js"},{"uid":"c5e49757-7831","name":"keybinding.js"},{"uid":"c5e49757-8191","name":"keybindingResolver.js"},{"uid":"c5e49757-8193","name":"abstractKeybindingService.js"},{"uid":"c5e49757-8195","name":"resolvedKeybindingItem.js"},{"uid":"c5e49757-8199","name":"baseResolvedKeybinding.js"},{"uid":"c5e49757-8201","name":"usLayoutResolvedKeybinding.js"}]},{"name":"actions","children":[{"name":"common","children":[{"uid":"c5e49757-7559","name":"actions.js"},{"uid":"c5e49757-8429","name":"menuService.js"}]},{"name":"browser","children":[{"uid":"c5e49757-8277","name":"menuEntryActionViewItem.css"},{"uid":"c5e49757-8287","name":"menuEntryActionViewItem.js"},{"uid":"c5e49757-8509","name":"toolbar.js"}]}]},{"name":"telemetry/common/telemetry.js","uid":"c5e49757-7561"},{"name":"log/common","children":[{"uid":"c5e49757-7563","name":"log.js"},{"uid":"c5e49757-8447","name":"logService.js"}]},{"name":"configuration/common","children":[{"uid":"c5e49757-7591","name":"configuration.js"},{"uid":"c5e49757-7603","name":"configurationRegistry.js"},{"uid":"c5e49757-8189","name":"configurationModels.js"},{"uid":"c5e49757-8443","name":"configurations.js"}]},{"name":"jsonschemas/common/jsonContributionRegistry.js","uid":"c5e49757-7601"},{"name":"accessibility","children":[{"name":"common/accessibility.js","uid":"c5e49757-7723"},{"name":"browser/accessibilityService.js","uid":"c5e49757-8427"}]},{"name":"theme","children":[{"name":"common","children":[{"uid":"c5e49757-7731","name":"colorUtils.js"},{"name":"colors","children":[{"uid":"c5e49757-7733","name":"baseColors.js"},{"uid":"c5e49757-7735","name":"miscColors.js"},{"uid":"c5e49757-7737","name":"editorColors.js"},{"uid":"c5e49757-7739","name":"minimapColors.js"},{"uid":"c5e49757-7741","name":"chartsColors.js"},{"uid":"c5e49757-7743","name":"inputColors.js"},{"uid":"c5e49757-7745","name":"listColors.js"},{"uid":"c5e49757-7747","name":"menuColors.js"},{"uid":"c5e49757-7749","name":"quickpickColors.js"},{"uid":"c5e49757-7751","name":"searchColors.js"}]},{"uid":"c5e49757-7753","name":"colorRegistry.js"},{"uid":"c5e49757-7765","name":"theme.js"},{"uid":"c5e49757-7815","name":"themeService.js"},{"uid":"c5e49757-8419","name":"iconRegistry.js"}]},{"name":"browser","children":[{"uid":"c5e49757-8285","name":"defaultStyles.js"},{"uid":"c5e49757-8421","name":"iconsStyleSheet.js"}]}]},{"name":"undoRedo/common","children":[{"uid":"c5e49757-8057","name":"undoRedo.js"},{"uid":"c5e49757-8109","name":"undoRedoService.js"}]},{"name":"notification/common/notification.js","uid":"c5e49757-8095"},{"name":"layout/browser/layoutService.js","uid":"c5e49757-8103"},{"name":"dialogs/common/dialogs.js","uid":"c5e49757-8107"},{"name":"environment/common/environment.js","uid":"c5e49757-8113"},{"name":"hover/browser/hover.js","uid":"c5e49757-8133"},{"name":"contextview/browser","children":[{"uid":"c5e49757-8135","name":"contextView.js"},{"uid":"c5e49757-8177","name":"contextViewService.js"},{"uid":"c5e49757-8293","name":"contextMenuHandler.js"},{"uid":"c5e49757-8295","name":"contextMenuService.js"}]},{"name":"opener","children":[{"name":"common/opener.js","uid":"c5e49757-8143"},{"name":"browser","children":[{"uid":"c5e49757-9193","name":"link.css"},{"uid":"c5e49757-9195","name":"link.js"}]}]},{"name":"label/common/label.js","uid":"c5e49757-8203"},{"name":"progress/common/progress.js","uid":"c5e49757-8205"},{"name":"workspace/common","children":[{"uid":"c5e49757-8209","name":"workspace.js"},{"uid":"c5e49757-8213","name":"workspaceTrust.js"}]},{"name":"action/common","children":[{"uid":"c5e49757-8279","name":"action.js"},{"uid":"c5e49757-9165","name":"actionCommonCategories.js"}]},{"name":"storage/common/storage.js","uid":"c5e49757-8283"},{"name":"editor/common/editor.js","uid":"c5e49757-8297"},{"name":"markers/common","children":[{"uid":"c5e49757-8303","name":"markers.js"},{"uid":"c5e49757-8441","name":"markerService.js"}]},{"name":"quickinput","children":[{"name":"common","children":[{"uid":"c5e49757-8313","name":"quickAccess.js"},{"uid":"c5e49757-8315","name":"quickInput.js"}]},{"name":"browser","children":[{"uid":"c5e49757-8317","name":"quickAccess.js"},{"name":"media/quickInput.css","uid":"c5e49757-8323"},{"uid":"c5e49757-8327","name":"quickInputUtils.js"},{"uid":"c5e49757-8391","name":"quickInputTree.js"},{"uid":"c5e49757-8393","name":"quickInput.js"},{"uid":"c5e49757-8407","name":"quickInputBox.js"},{"uid":"c5e49757-8409","name":"quickInputController.js"},{"uid":"c5e49757-8411","name":"quickInputService.js"},{"uid":"c5e49757-9223","name":"helpQuickAccess.js"},{"uid":"c5e49757-9243","name":"pickerQuickAccess.js"},{"uid":"c5e49757-9245","name":"commandsQuickAccess.js"}]}]},{"name":"list/browser/listService.js","uid":"c5e49757-8377"},{"name":"clipboard","children":[{"name":"browser/clipboardService.js","uid":"c5e49757-8431"},{"name":"common/clipboardService.js","uid":"c5e49757-8433"}]},{"name":"accessibilitySignal/browser/accessibilitySignalService.js","uid":"c5e49757-8445"},{"name":"extensions/common/extensions.js","uid":"c5e49757-8543"},{"name":"dnd/browser/dnd.js","uid":"c5e49757-8745"},{"name":"actionWidget/browser","children":[{"uid":"c5e49757-8793","name":"actionWidget.css"},{"uid":"c5e49757-8795","name":"actionList.js"},{"uid":"c5e49757-8797","name":"actionWidget.js"}]},{"name":"severityIcon/browser","children":[{"name":"media/severityIcon.css","uid":"c5e49757-8883"},{"uid":"c5e49757-8885","name":"severityIcon.js"}]},{"name":"history/browser","children":[{"uid":"c5e49757-8955","name":"contextScopedHistoryWidget.js"},{"uid":"c5e49757-8957","name":"historyWidgetKeybindingHint.js"}]},{"name":"files/common/files.js","uid":"c5e49757-9043"}]},{"name":"basic-languages","children":[{"uid":"c5e49757-8549","name":"_.contribution.js"},{"name":"abap","children":[{"uid":"c5e49757-8551","name":"abap.contribution.js"},{"uid":"c5e49757-9259","name":"abap.js"}]},{"name":"apex","children":[{"uid":"c5e49757-8553","name":"apex.contribution.js"},{"uid":"c5e49757-9261","name":"apex.js"}]},{"name":"azcli","children":[{"uid":"c5e49757-8555","name":"azcli.contribution.js"},{"uid":"c5e49757-9263","name":"azcli.js"}]},{"name":"bat","children":[{"uid":"c5e49757-8557","name":"bat.contribution.js"},{"uid":"c5e49757-9265","name":"bat.js"}]},{"name":"bicep","children":[{"uid":"c5e49757-8559","name":"bicep.contribution.js"},{"uid":"c5e49757-9267","name":"bicep.js"}]},{"name":"cameligo","children":[{"uid":"c5e49757-8561","name":"cameligo.contribution.js"},{"uid":"c5e49757-9269","name":"cameligo.js"}]},{"name":"clojure","children":[{"uid":"c5e49757-8563","name":"clojure.contribution.js"},{"uid":"c5e49757-9271","name":"clojure.js"}]},{"name":"coffee","children":[{"uid":"c5e49757-8565","name":"coffee.contribution.js"},{"uid":"c5e49757-9273","name":"coffee.js"}]},{"name":"cpp","children":[{"uid":"c5e49757-8567","name":"cpp.contribution.js"},{"uid":"c5e49757-9275","name":"cpp.js"}]},{"name":"csharp","children":[{"uid":"c5e49757-8569","name":"csharp.contribution.js"},{"uid":"c5e49757-9277","name":"csharp.js"}]},{"name":"csp","children":[{"uid":"c5e49757-8571","name":"csp.contribution.js"},{"uid":"c5e49757-9279","name":"csp.js"}]},{"name":"css","children":[{"uid":"c5e49757-8573","name":"css.contribution.js"},{"uid":"c5e49757-9281","name":"css.js"}]},{"name":"cypher","children":[{"uid":"c5e49757-8575","name":"cypher.contribution.js"},{"uid":"c5e49757-9283","name":"cypher.js"}]},{"name":"dart","children":[{"uid":"c5e49757-8577","name":"dart.contribution.js"},{"uid":"c5e49757-9285","name":"dart.js"}]},{"name":"dockerfile","children":[{"uid":"c5e49757-8579","name":"dockerfile.contribution.js"},{"uid":"c5e49757-9287","name":"dockerfile.js"}]},{"name":"ecl","children":[{"uid":"c5e49757-8581","name":"ecl.contribution.js"},{"uid":"c5e49757-9289","name":"ecl.js"}]},{"name":"elixir","children":[{"uid":"c5e49757-8583","name":"elixir.contribution.js"},{"uid":"c5e49757-9291","name":"elixir.js"}]},{"name":"flow9","children":[{"uid":"c5e49757-8585","name":"flow9.contribution.js"},{"uid":"c5e49757-9293","name":"flow9.js"}]},{"name":"fsharp","children":[{"uid":"c5e49757-8587","name":"fsharp.contribution.js"},{"uid":"c5e49757-9295","name":"fsharp.js"}]},{"name":"freemarker2","children":[{"uid":"c5e49757-8589","name":"freemarker2.contribution.js"},{"uid":"c5e49757-9297","name":"freemarker2.js"}]},{"name":"go","children":[{"uid":"c5e49757-8591","name":"go.contribution.js"},{"uid":"c5e49757-9299","name":"go.js"}]},{"name":"graphql","children":[{"uid":"c5e49757-8593","name":"graphql.contribution.js"},{"uid":"c5e49757-9301","name":"graphql.js"}]},{"name":"handlebars","children":[{"uid":"c5e49757-8595","name":"handlebars.contribution.js"},{"uid":"c5e49757-9303","name":"handlebars.js"}]},{"name":"hcl","children":[{"uid":"c5e49757-8597","name":"hcl.contribution.js"},{"uid":"c5e49757-9305","name":"hcl.js"}]},{"name":"html","children":[{"uid":"c5e49757-8599","name":"html.contribution.js"},{"uid":"c5e49757-9307","name":"html.js"}]},{"name":"ini","children":[{"uid":"c5e49757-8601","name":"ini.contribution.js"},{"uid":"c5e49757-9309","name":"ini.js"}]},{"name":"java","children":[{"uid":"c5e49757-8603","name":"java.contribution.js"},{"uid":"c5e49757-9311","name":"java.js"}]},{"name":"javascript","children":[{"uid":"c5e49757-8605","name":"javascript.contribution.js"},{"uid":"c5e49757-9315","name":"javascript.js"}]},{"name":"julia","children":[{"uid":"c5e49757-8607","name":"julia.contribution.js"},{"uid":"c5e49757-9317","name":"julia.js"}]},{"name":"kotlin","children":[{"uid":"c5e49757-8609","name":"kotlin.contribution.js"},{"uid":"c5e49757-9319","name":"kotlin.js"}]},{"name":"less","children":[{"uid":"c5e49757-8611","name":"less.contribution.js"},{"uid":"c5e49757-9321","name":"less.js"}]},{"name":"lexon","children":[{"uid":"c5e49757-8613","name":"lexon.contribution.js"},{"uid":"c5e49757-9323","name":"lexon.js"}]},{"name":"lua","children":[{"uid":"c5e49757-8615","name":"lua.contribution.js"},{"uid":"c5e49757-9325","name":"lua.js"}]},{"name":"liquid","children":[{"uid":"c5e49757-8617","name":"liquid.contribution.js"},{"uid":"c5e49757-9327","name":"liquid.js"}]},{"name":"m3","children":[{"uid":"c5e49757-8619","name":"m3.contribution.js"},{"uid":"c5e49757-9329","name":"m3.js"}]},{"name":"markdown","children":[{"uid":"c5e49757-8621","name":"markdown.contribution.js"},{"uid":"c5e49757-9331","name":"markdown.js"}]},{"name":"mdx","children":[{"uid":"c5e49757-8623","name":"mdx.contribution.js"},{"uid":"c5e49757-9333","name":"mdx.js"}]},{"name":"mips","children":[{"uid":"c5e49757-8625","name":"mips.contribution.js"},{"uid":"c5e49757-9335","name":"mips.js"}]},{"name":"msdax","children":[{"uid":"c5e49757-8627","name":"msdax.contribution.js"},{"uid":"c5e49757-9337","name":"msdax.js"}]},{"name":"mysql","children":[{"uid":"c5e49757-8629","name":"mysql.contribution.js"},{"uid":"c5e49757-9339","name":"mysql.js"}]},{"name":"objective-c","children":[{"uid":"c5e49757-8631","name":"objective-c.contribution.js"},{"uid":"c5e49757-9341","name":"objective-c.js"}]},{"name":"pascal","children":[{"uid":"c5e49757-8633","name":"pascal.contribution.js"},{"uid":"c5e49757-9343","name":"pascal.js"}]},{"name":"pascaligo","children":[{"uid":"c5e49757-8635","name":"pascaligo.contribution.js"},{"uid":"c5e49757-9345","name":"pascaligo.js"}]},{"name":"perl","children":[{"uid":"c5e49757-8637","name":"perl.contribution.js"},{"uid":"c5e49757-9347","name":"perl.js"}]},{"name":"pgsql","children":[{"uid":"c5e49757-8639","name":"pgsql.contribution.js"},{"uid":"c5e49757-9349","name":"pgsql.js"}]},{"name":"php","children":[{"uid":"c5e49757-8641","name":"php.contribution.js"},{"uid":"c5e49757-9351","name":"php.js"}]},{"name":"pla","children":[{"uid":"c5e49757-8643","name":"pla.contribution.js"},{"uid":"c5e49757-9353","name":"pla.js"}]},{"name":"postiats","children":[{"uid":"c5e49757-8645","name":"postiats.contribution.js"},{"uid":"c5e49757-9355","name":"postiats.js"}]},{"name":"powerquery","children":[{"uid":"c5e49757-8647","name":"powerquery.contribution.js"},{"uid":"c5e49757-9357","name":"powerquery.js"}]},{"name":"powershell","children":[{"uid":"c5e49757-8649","name":"powershell.contribution.js"},{"uid":"c5e49757-9359","name":"powershell.js"}]},{"name":"protobuf","children":[{"uid":"c5e49757-8651","name":"protobuf.contribution.js"},{"uid":"c5e49757-9361","name":"protobuf.js"}]},{"name":"pug","children":[{"uid":"c5e49757-8653","name":"pug.contribution.js"},{"uid":"c5e49757-9363","name":"pug.js"}]},{"name":"python","children":[{"uid":"c5e49757-8655","name":"python.contribution.js"},{"uid":"c5e49757-9365","name":"python.js"}]},{"name":"qsharp","children":[{"uid":"c5e49757-8657","name":"qsharp.contribution.js"},{"uid":"c5e49757-9367","name":"qsharp.js"}]},{"name":"r","children":[{"uid":"c5e49757-8659","name":"r.contribution.js"},{"uid":"c5e49757-9369","name":"r.js"}]},{"name":"razor","children":[{"uid":"c5e49757-8661","name":"razor.contribution.js"},{"uid":"c5e49757-9371","name":"razor.js"}]},{"name":"redis","children":[{"uid":"c5e49757-8663","name":"redis.contribution.js"},{"uid":"c5e49757-9373","name":"redis.js"}]},{"name":"redshift","children":[{"uid":"c5e49757-8665","name":"redshift.contribution.js"},{"uid":"c5e49757-9375","name":"redshift.js"}]},{"name":"restructuredtext","children":[{"uid":"c5e49757-8667","name":"restructuredtext.contribution.js"},{"uid":"c5e49757-9377","name":"restructuredtext.js"}]},{"name":"ruby","children":[{"uid":"c5e49757-8669","name":"ruby.contribution.js"},{"uid":"c5e49757-9379","name":"ruby.js"}]},{"name":"rust","children":[{"uid":"c5e49757-8671","name":"rust.contribution.js"},{"uid":"c5e49757-9381","name":"rust.js"}]},{"name":"sb","children":[{"uid":"c5e49757-8673","name":"sb.contribution.js"},{"uid":"c5e49757-9383","name":"sb.js"}]},{"name":"scala","children":[{"uid":"c5e49757-8675","name":"scala.contribution.js"},{"uid":"c5e49757-9385","name":"scala.js"}]},{"name":"scheme","children":[{"uid":"c5e49757-8677","name":"scheme.contribution.js"},{"uid":"c5e49757-9387","name":"scheme.js"}]},{"name":"scss","children":[{"uid":"c5e49757-8679","name":"scss.contribution.js"},{"uid":"c5e49757-9389","name":"scss.js"}]},{"name":"shell","children":[{"uid":"c5e49757-8681","name":"shell.contribution.js"},{"uid":"c5e49757-9391","name":"shell.js"}]},{"name":"solidity","children":[{"uid":"c5e49757-8683","name":"solidity.contribution.js"},{"uid":"c5e49757-9393","name":"solidity.js"}]},{"name":"sophia","children":[{"uid":"c5e49757-8685","name":"sophia.contribution.js"},{"uid":"c5e49757-9395","name":"sophia.js"}]},{"name":"sparql","children":[{"uid":"c5e49757-8687","name":"sparql.contribution.js"},{"uid":"c5e49757-9397","name":"sparql.js"}]},{"name":"sql","children":[{"uid":"c5e49757-8689","name":"sql.contribution.js"},{"uid":"c5e49757-9399","name":"sql.js"}]},{"name":"st","children":[{"uid":"c5e49757-8691","name":"st.contribution.js"},{"uid":"c5e49757-9401","name":"st.js"}]},{"name":"swift","children":[{"uid":"c5e49757-8693","name":"swift.contribution.js"},{"uid":"c5e49757-9403","name":"swift.js"}]},{"name":"systemverilog","children":[{"uid":"c5e49757-8695","name":"systemverilog.contribution.js"},{"uid":"c5e49757-9405","name":"systemverilog.js"}]},{"name":"tcl","children":[{"uid":"c5e49757-8697","name":"tcl.contribution.js"},{"uid":"c5e49757-9407","name":"tcl.js"}]},{"name":"twig","children":[{"uid":"c5e49757-8699","name":"twig.contribution.js"},{"uid":"c5e49757-9409","name":"twig.js"}]},{"name":"typescript","children":[{"uid":"c5e49757-8701","name":"typescript.contribution.js"},{"uid":"c5e49757-9313","name":"typescript.js"}]},{"name":"vb","children":[{"uid":"c5e49757-8703","name":"vb.contribution.js"},{"uid":"c5e49757-9411","name":"vb.js"}]},{"name":"wgsl","children":[{"uid":"c5e49757-8705","name":"wgsl.contribution.js"},{"uid":"c5e49757-9413","name":"wgsl.js"}]},{"name":"xml","children":[{"uid":"c5e49757-8707","name":"xml.contribution.js"},{"uid":"c5e49757-9415","name":"xml.js"}]},{"name":"yaml","children":[{"uid":"c5e49757-8709","name":"yaml.contribution.js"},{"uid":"c5e49757-9417","name":"yaml.js"}]},{"uid":"c5e49757-8711","name":"monaco.contribution.js"}]},{"name":"language","children":[{"name":"css","children":[{"uid":"c5e49757-8713","name":"monaco.contribution.js"},{"uid":"c5e49757-9419","name":"cssMode.js"}]},{"name":"html","children":[{"uid":"c5e49757-8715","name":"monaco.contribution.js"},{"uid":"c5e49757-9421","name":"htmlMode.js"}]},{"name":"json","children":[{"uid":"c5e49757-8717","name":"monaco.contribution.js"},{"uid":"c5e49757-9423","name":"jsonMode.js"}]},{"name":"typescript","children":[{"uid":"c5e49757-8719","name":"monaco.contribution.js"},{"uid":"c5e49757-9425","name":"tsMode.js"}]}]}]}]},{"name":"assets/js/@vue-office-CRq9PLsQ.js","children":[{"name":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue-office","children":[{"name":"docx/lib/index.js?commonjs-module","uid":"c5e49757-9427"},{"name":"excel/lib/index.js?commonjs-module","uid":"c5e49757-9431"},{"name":"pdf/lib/index.js?commonjs-module","uid":"c5e49757-9435"}]},{"name":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue-office","children":[{"name":"docx/lib","children":[{"uid":"c5e49757-9429","name":"index.js"},{"uid":"c5e49757-9439","name":"index.css"}]},{"name":"excel/lib","children":[{"uid":"c5e49757-9433","name":"index.js"},{"uid":"c5e49757-9441","name":"index.css"}]},{"name":"pdf/lib/index.js","uid":"c5e49757-9437"}]}]}],"isRoot":true},"nodeParts":{"c5e49757-1":{"renderedLength":1322,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-0"},"c5e49757-3":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2"},"c5e49757-5":{"renderedLength":1990,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4"},"c5e49757-7":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6"},"c5e49757-9":{"renderedLength":3303,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8"},"c5e49757-11":{"renderedLength":59,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-10"},"c5e49757-13":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-12"},"c5e49757-15":{"renderedLength":310,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-14"},"c5e49757-17":{"renderedLength":2313,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-16"},"c5e49757-19":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-18"},"c5e49757-21":{"renderedLength":2267,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-20"},"c5e49757-23":{"renderedLength":5899,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-22"},"c5e49757-25":{"renderedLength":13,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-24"},"c5e49757-27":{"renderedLength":30,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-26"},"c5e49757-29":{"renderedLength":17,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-28"},"c5e49757-31":{"renderedLength":912,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-30"},"c5e49757-33":{"renderedLength":2804,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-32"},"c5e49757-35":{"renderedLength":30,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-34"},"c5e49757-37":{"renderedLength":27,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-36"},"c5e49757-39":{"renderedLength":2251,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-38"},"c5e49757-41":{"renderedLength":2427,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-40"},"c5e49757-43":{"renderedLength":7639,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-42"},"c5e49757-45":{"renderedLength":28,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-44"},"c5e49757-47":{"renderedLength":6653,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-46"},"c5e49757-49":{"renderedLength":4504,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-48"},"c5e49757-51":{"renderedLength":10211,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-50"},"c5e49757-53":{"renderedLength":3612,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-52"},"c5e49757-55":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-54"},"c5e49757-57":{"renderedLength":133,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-56"},"c5e49757-59":{"renderedLength":159,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-58"},"c5e49757-61":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-60"},"c5e49757-63":{"renderedLength":26468,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-62"},"c5e49757-65":{"renderedLength":2913,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-64"},"c5e49757-67":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-66"},"c5e49757-69":{"renderedLength":4184,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-68"},"c5e49757-71":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-70"},"c5e49757-73":{"renderedLength":14275,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-72"},"c5e49757-75":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-74"},"c5e49757-77":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-76"},"c5e49757-79":{"renderedLength":35269,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-78"},"c5e49757-81":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-80"},"c5e49757-83":{"renderedLength":1397,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-82"},"c5e49757-85":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-84"},"c5e49757-87":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-86"},"c5e49757-89":{"renderedLength":14543,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-88"},"c5e49757-91":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-90"},"c5e49757-93":{"renderedLength":20218,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-92"},"c5e49757-95":{"renderedLength":35,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-94"},"c5e49757-97":{"renderedLength":1289,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-96"},"c5e49757-99":{"renderedLength":19817,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-98"},"c5e49757-101":{"renderedLength":15914,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-100"},"c5e49757-103":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-102"},"c5e49757-105":{"renderedLength":3275,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-104"},"c5e49757-107":{"renderedLength":372,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-106"},"c5e49757-109":{"renderedLength":3419,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-108"},"c5e49757-111":{"renderedLength":3068,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-110"},"c5e49757-113":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-112"},"c5e49757-115":{"renderedLength":22560,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-114"},"c5e49757-117":{"renderedLength":3481,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-116"},"c5e49757-119":{"renderedLength":18416,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-118"},"c5e49757-121":{"renderedLength":4706,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-120"},"c5e49757-123":{"renderedLength":22215,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-122"},"c5e49757-125":{"renderedLength":6496,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-124"},"c5e49757-127":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-126"},"c5e49757-129":{"renderedLength":2666,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-128"},"c5e49757-131":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-130"},"c5e49757-133":{"renderedLength":45802,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-132"},"c5e49757-135":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-134"},"c5e49757-137":{"renderedLength":103,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-136"},"c5e49757-139":{"renderedLength":17465,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-138"},"c5e49757-141":{"renderedLength":2466,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-140"},"c5e49757-143":{"renderedLength":60,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-142"},"c5e49757-145":{"renderedLength":5791,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-144"},"c5e49757-147":{"renderedLength":1348,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-146"},"c5e49757-149":{"renderedLength":1425,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-148"},"c5e49757-151":{"renderedLength":1483,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-150"},"c5e49757-153":{"renderedLength":116,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-152"},"c5e49757-155":{"renderedLength":106,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-154"},"c5e49757-157":{"renderedLength":69,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-156"},"c5e49757-159":{"renderedLength":57,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-158"},"c5e49757-161":{"renderedLength":205,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-160"},"c5e49757-163":{"renderedLength":1376,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-162"},"c5e49757-165":{"renderedLength":49,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-164"},"c5e49757-167":{"renderedLength":398,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-166"},"c5e49757-169":{"renderedLength":2098,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-168"},"c5e49757-171":{"renderedLength":3974,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-170"},"c5e49757-173":{"renderedLength":1338,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-172"},"c5e49757-175":{"renderedLength":6801,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-174"},"c5e49757-177":{"renderedLength":616,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-176"},"c5e49757-179":{"renderedLength":68,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-178"},"c5e49757-181":{"renderedLength":570,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-180"},"c5e49757-183":{"renderedLength":762,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-182"},"c5e49757-185":{"renderedLength":969,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-184"},"c5e49757-187":{"renderedLength":530,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-186"},"c5e49757-189":{"renderedLength":351,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-188"},"c5e49757-191":{"renderedLength":553,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-190"},"c5e49757-193":{"renderedLength":2181,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-192"},"c5e49757-195":{"renderedLength":120,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-194"},"c5e49757-197":{"renderedLength":1047,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-196"},"c5e49757-199":{"renderedLength":8173,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-198"},"c5e49757-201":{"renderedLength":1763,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-200"},"c5e49757-203":{"renderedLength":1860,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-202"},"c5e49757-205":{"renderedLength":3291,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-204"},"c5e49757-207":{"renderedLength":24,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-206"},"c5e49757-209":{"renderedLength":2475,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-208"},"c5e49757-211":{"renderedLength":5849,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-210"},"c5e49757-213":{"renderedLength":2431,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-212"},"c5e49757-215":{"renderedLength":533,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-214"},"c5e49757-217":{"renderedLength":308,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-216"},"c5e49757-219":{"renderedLength":1567,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-218"},"c5e49757-221":{"renderedLength":1670,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-220"},"c5e49757-223":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-222"},"c5e49757-225":{"renderedLength":45151,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-224"},"c5e49757-227":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-226"},"c5e49757-229":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-228"},"c5e49757-231":{"renderedLength":1916,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-230"},"c5e49757-233":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-232"},"c5e49757-235":{"renderedLength":3520,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-234"},"c5e49757-237":{"renderedLength":10500,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-236"},"c5e49757-239":{"renderedLength":21960,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-238"},"c5e49757-241":{"renderedLength":2834,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-240"},"c5e49757-243":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-242"},"c5e49757-245":{"renderedLength":1295,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-244"},"c5e49757-247":{"renderedLength":9777,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-246"},"c5e49757-249":{"renderedLength":15377,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-248"},"c5e49757-251":{"renderedLength":634,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-250"},"c5e49757-253":{"renderedLength":11079,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-252"},"c5e49757-255":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-254"},"c5e49757-257":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-256"},"c5e49757-259":{"renderedLength":10577,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-258"},"c5e49757-261":{"renderedLength":22917,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-260"},"c5e49757-263":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-262"},"c5e49757-265":{"renderedLength":18231,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-264"},"c5e49757-267":{"renderedLength":658,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-266"},"c5e49757-269":{"renderedLength":4699,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-268"},"c5e49757-271":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-270"},"c5e49757-273":{"renderedLength":19575,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-272"},"c5e49757-275":{"renderedLength":29,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-274"},"c5e49757-277":{"renderedLength":12943,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-276"},"c5e49757-279":{"renderedLength":6366,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-278"},"c5e49757-281":{"renderedLength":6902,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-280"},"c5e49757-283":{"renderedLength":10686,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-282"},"c5e49757-285":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-284"},"c5e49757-287":{"renderedLength":22777,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-286"},"c5e49757-289":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-288"},"c5e49757-291":{"renderedLength":844,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-290"},"c5e49757-293":{"renderedLength":872,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-292"},"c5e49757-295":{"renderedLength":29662,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-294"},"c5e49757-297":{"renderedLength":2123,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-296"},"c5e49757-299":{"renderedLength":1664,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-298"},"c5e49757-301":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-300"},"c5e49757-303":{"renderedLength":2375,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-302"},"c5e49757-305":{"renderedLength":784,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-304"},"c5e49757-307":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-306"},"c5e49757-309":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-308"},"c5e49757-311":{"renderedLength":30,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-310"},"c5e49757-313":{"renderedLength":7170,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-312"},"c5e49757-315":{"renderedLength":40,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-314"},"c5e49757-317":{"renderedLength":3783,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-316"},"c5e49757-319":{"renderedLength":33,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-318"},"c5e49757-321":{"renderedLength":2075,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-320"},"c5e49757-323":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-322"},"c5e49757-325":{"renderedLength":1106,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-324"},"c5e49757-327":{"renderedLength":33,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-326"},"c5e49757-329":{"renderedLength":765,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-328"},"c5e49757-331":{"renderedLength":31,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-330"},"c5e49757-333":{"renderedLength":377,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-332"},"c5e49757-335":{"renderedLength":32,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-334"},"c5e49757-337":{"renderedLength":407,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-336"},"c5e49757-339":{"renderedLength":36,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-338"},"c5e49757-341":{"renderedLength":362,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-340"},"c5e49757-343":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-342"},"c5e49757-345":{"renderedLength":369,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-344"},"c5e49757-347":{"renderedLength":44,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-346"},"c5e49757-349":{"renderedLength":62066,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-348"},"c5e49757-351":{"renderedLength":943,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-350"},"c5e49757-353":{"renderedLength":341,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-352"},"c5e49757-355":{"renderedLength":41,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-354"},"c5e49757-357":{"renderedLength":28,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-356"},"c5e49757-359":{"renderedLength":747,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-358"},"c5e49757-361":{"renderedLength":11740,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-360"},"c5e49757-363":{"renderedLength":624,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-362"},"c5e49757-365":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-364"},"c5e49757-367":{"renderedLength":1197,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-366"},"c5e49757-369":{"renderedLength":34,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-368"},"c5e49757-371":{"renderedLength":35,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-370"},"c5e49757-373":{"renderedLength":433,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-372"},"c5e49757-375":{"renderedLength":41,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-374"},"c5e49757-377":{"renderedLength":1130,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-376"},"c5e49757-379":{"renderedLength":47,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-378"},"c5e49757-381":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-380"},"c5e49757-383":{"renderedLength":567,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-382"},"c5e49757-385":{"renderedLength":946,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-384"},"c5e49757-387":{"renderedLength":36,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-386"},"c5e49757-389":{"renderedLength":565,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-388"},"c5e49757-391":{"renderedLength":740,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-390"},"c5e49757-393":{"renderedLength":35,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-392"},"c5e49757-395":{"renderedLength":34,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-394"},"c5e49757-397":{"renderedLength":32,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-396"},"c5e49757-399":{"renderedLength":733,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-398"},"c5e49757-401":{"renderedLength":553,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-400"},"c5e49757-403":{"renderedLength":711,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-402"},"c5e49757-405":{"renderedLength":35,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-404"},"c5e49757-407":{"renderedLength":527,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-406"},"c5e49757-409":{"renderedLength":32,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-408"},"c5e49757-411":{"renderedLength":1068,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-410"},"c5e49757-413":{"renderedLength":29,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-412"},"c5e49757-415":{"renderedLength":35,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-414"},"c5e49757-417":{"renderedLength":679,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-416"},"c5e49757-419":{"renderedLength":887,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-418"},"c5e49757-421":{"renderedLength":46,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-420"},"c5e49757-423":{"renderedLength":42,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-422"},"c5e49757-425":{"renderedLength":600,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-424"},"c5e49757-427":{"renderedLength":870,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-426"},"c5e49757-429":{"renderedLength":35,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-428"},"c5e49757-431":{"renderedLength":685,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-430"},"c5e49757-433":{"renderedLength":38,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-432"},"c5e49757-435":{"renderedLength":38,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-434"},"c5e49757-437":{"renderedLength":530,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-436"},"c5e49757-439":{"renderedLength":36,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-438"},"c5e49757-441":{"renderedLength":530,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-440"},"c5e49757-443":{"renderedLength":38,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-442"},"c5e49757-445":{"renderedLength":578,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-444"},"c5e49757-447":{"renderedLength":767,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-446"},"c5e49757-449":{"renderedLength":24,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-448"},"c5e49757-451":{"renderedLength":34,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-450"},"c5e49757-453":{"renderedLength":613,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-452"},"c5e49757-455":{"renderedLength":1024,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-454"},"c5e49757-457":{"renderedLength":30,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-456"},"c5e49757-459":{"renderedLength":27124,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-458"},"c5e49757-461":{"renderedLength":1168,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-460"},"c5e49757-463":{"renderedLength":29991,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-462"},"c5e49757-465":{"renderedLength":20796,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-464"},"c5e49757-467":{"renderedLength":38165,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-466"},"c5e49757-469":{"renderedLength":1086,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-468"},"c5e49757-471":{"renderedLength":709,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-470"},"c5e49757-473":{"renderedLength":2759,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-472"},"c5e49757-475":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-474"},"c5e49757-477":{"renderedLength":1816,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-476"},"c5e49757-479":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-478"},"c5e49757-481":{"renderedLength":12221,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-480"},"c5e49757-483":{"renderedLength":5283,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-482"},"c5e49757-485":{"renderedLength":6261,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-484"},"c5e49757-487":{"renderedLength":11774,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-486"},"c5e49757-489":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-488"},"c5e49757-491":{"renderedLength":10615,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-490"},"c5e49757-493":{"renderedLength":14919,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-492"},"c5e49757-495":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-494"},"c5e49757-497":{"renderedLength":8149,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-496"},"c5e49757-499":{"renderedLength":73,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-498"},"c5e49757-501":{"renderedLength":124962,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-500"},"c5e49757-503":{"renderedLength":75,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-502"},"c5e49757-505":{"renderedLength":8741,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-504"},"c5e49757-507":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-506"},"c5e49757-509":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-508"},"c5e49757-511":{"renderedLength":707,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-510"},"c5e49757-513":{"renderedLength":4132,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-512"},"c5e49757-515":{"renderedLength":63208,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-514"},"c5e49757-517":{"renderedLength":760,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-516"},"c5e49757-519":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-518"},"c5e49757-521":{"renderedLength":21137,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-520"},"c5e49757-523":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-522"},"c5e49757-525":{"renderedLength":14991,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-524"},"c5e49757-527":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-526"},"c5e49757-529":{"renderedLength":337,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-528"},"c5e49757-531":{"renderedLength":1216,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-530"},"c5e49757-533":{"renderedLength":29711,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-532"},"c5e49757-535":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-534"},"c5e49757-537":{"renderedLength":5664,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-536"},"c5e49757-539":{"renderedLength":12812,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-538"},"c5e49757-541":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-540"},"c5e49757-543":{"renderedLength":57255,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-542"},"c5e49757-545":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-544"},"c5e49757-547":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-546"},"c5e49757-549":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-548"},"c5e49757-551":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-550"},"c5e49757-553":{"renderedLength":1463,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-552"},"c5e49757-555":{"renderedLength":2894,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-554"},"c5e49757-557":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-556"},"c5e49757-559":{"renderedLength":10526,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-558"},"c5e49757-561":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-560"},"c5e49757-563":{"renderedLength":874,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-562"},"c5e49757-565":{"renderedLength":980,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-564"},"c5e49757-567":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-566"},"c5e49757-569":{"renderedLength":695,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-568"},"c5e49757-571":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-570"},"c5e49757-573":{"renderedLength":11455,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-572"},"c5e49757-575":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-574"},"c5e49757-577":{"renderedLength":5219,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-576"},"c5e49757-579":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-578"},"c5e49757-581":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-580"},"c5e49757-583":{"renderedLength":12003,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-582"},"c5e49757-585":{"renderedLength":1000,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-584"},"c5e49757-587":{"renderedLength":17068,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-586"},"c5e49757-589":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-588"},"c5e49757-591":{"renderedLength":32686,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-590"},"c5e49757-593":{"renderedLength":14929,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-592"},"c5e49757-595":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-594"},"c5e49757-597":{"renderedLength":2098,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-596"},"c5e49757-599":{"renderedLength":11045,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-598"},"c5e49757-601":{"renderedLength":967,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-600"},"c5e49757-603":{"renderedLength":15105,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-602"},"c5e49757-605":{"renderedLength":15036,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-604"},"c5e49757-607":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-606"},"c5e49757-609":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-608"},"c5e49757-611":{"renderedLength":2404,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-610"},"c5e49757-613":{"renderedLength":874,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-612"},"c5e49757-615":{"renderedLength":12944,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-614"},"c5e49757-617":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-616"},"c5e49757-619":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-618"},"c5e49757-621":{"renderedLength":984,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-620"},"c5e49757-623":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-622"},"c5e49757-625":{"renderedLength":17439,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-624"},"c5e49757-627":{"renderedLength":119,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-626"},"c5e49757-629":{"renderedLength":78,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-628"},"c5e49757-631":{"renderedLength":5777,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-630"},"c5e49757-633":{"renderedLength":1537,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-632"},"c5e49757-635":{"renderedLength":29881,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-634"},"c5e49757-637":{"renderedLength":12427,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-636"},"c5e49757-639":{"renderedLength":12127,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-638"},"c5e49757-641":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-640"},"c5e49757-643":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-642"},"c5e49757-645":{"renderedLength":11818,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-644"},"c5e49757-647":{"renderedLength":33,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-646"},"c5e49757-649":{"renderedLength":46764,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-648"},"c5e49757-651":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-650"},"c5e49757-653":{"renderedLength":15723,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-652"},"c5e49757-655":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-654"},"c5e49757-657":{"renderedLength":1423,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-656"},"c5e49757-659":{"renderedLength":17926,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-658"},"c5e49757-661":{"renderedLength":754,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-660"},"c5e49757-663":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-662"},"c5e49757-665":{"renderedLength":18569,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-664"},"c5e49757-667":{"renderedLength":14567,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-666"},"c5e49757-669":{"renderedLength":838,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-668"},"c5e49757-671":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-670"},"c5e49757-673":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-672"},"c5e49757-675":{"renderedLength":31288,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-674"},"c5e49757-677":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-676"},"c5e49757-679":{"renderedLength":5444,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-678"},"c5e49757-681":{"renderedLength":6374,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-680"},"c5e49757-683":{"renderedLength":2130,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-682"},"c5e49757-685":{"renderedLength":5818,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-684"},"c5e49757-687":{"renderedLength":3954,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-686"},"c5e49757-689":{"renderedLength":6544,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-688"},"c5e49757-691":{"renderedLength":17925,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-690"},"c5e49757-693":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-692"},"c5e49757-695":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-694"},"c5e49757-697":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-696"},"c5e49757-699":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-698"},"c5e49757-701":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-700"},"c5e49757-703":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-702"},"c5e49757-705":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-704"},"c5e49757-707":{"renderedLength":765,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-706"},"c5e49757-709":{"renderedLength":411,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-708"},"c5e49757-711":{"renderedLength":59,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-710"},"c5e49757-713":{"renderedLength":862,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-712"},"c5e49757-715":{"renderedLength":32461,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-714"},"c5e49757-717":{"renderedLength":919,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-716"},"c5e49757-719":{"renderedLength":23124,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-718"},"c5e49757-721":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-720"},"c5e49757-723":{"renderedLength":964,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-722"},"c5e49757-725":{"renderedLength":22987,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-724"},"c5e49757-727":{"renderedLength":16229,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-726"},"c5e49757-729":{"renderedLength":896,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-728"},"c5e49757-731":{"renderedLength":142,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-730"},"c5e49757-733":{"renderedLength":231,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-732"},"c5e49757-735":{"renderedLength":61,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-734"},"c5e49757-737":{"renderedLength":1103,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-736"},"c5e49757-739":{"renderedLength":538,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-738"},"c5e49757-741":{"renderedLength":637,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-740"},"c5e49757-743":{"renderedLength":581,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-742"},"c5e49757-745":{"renderedLength":567,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-744"},"c5e49757-747":{"renderedLength":471,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-746"},"c5e49757-749":{"renderedLength":527,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-748"},"c5e49757-751":{"renderedLength":460,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-750"},"c5e49757-753":{"renderedLength":986,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-752"},"c5e49757-755":{"renderedLength":969,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-754"},"c5e49757-757":{"renderedLength":383,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-756"},"c5e49757-759":{"renderedLength":479,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-758"},"c5e49757-761":{"renderedLength":365,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-760"},"c5e49757-763":{"renderedLength":704,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-762"},"c5e49757-765":{"renderedLength":1380,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-764"},"c5e49757-767":{"renderedLength":806,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-766"},"c5e49757-769":{"renderedLength":691,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-768"},"c5e49757-771":{"renderedLength":997,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-770"},"c5e49757-773":{"renderedLength":341,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-772"},"c5e49757-775":{"renderedLength":888,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-774"},"c5e49757-777":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-776"},"c5e49757-779":{"renderedLength":491,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-778"},"c5e49757-781":{"renderedLength":535,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-780"},"c5e49757-783":{"renderedLength":1245,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-782"},"c5e49757-785":{"renderedLength":296,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-784"},"c5e49757-787":{"renderedLength":366,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-786"},"c5e49757-789":{"renderedLength":106,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-788"},"c5e49757-791":{"renderedLength":77,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-790"},"c5e49757-793":{"renderedLength":348,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-792"},"c5e49757-795":{"renderedLength":616,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-794"},"c5e49757-797":{"renderedLength":1369,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-796"},"c5e49757-799":{"renderedLength":751,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-798"},"c5e49757-801":{"renderedLength":688,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-800"},"c5e49757-803":{"renderedLength":1295,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-802"},"c5e49757-805":{"renderedLength":1355,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-804"},"c5e49757-807":{"renderedLength":436,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-806"},"c5e49757-809":{"renderedLength":147,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-808"},"c5e49757-811":{"renderedLength":658,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-810"},"c5e49757-813":{"renderedLength":225,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-812"},"c5e49757-815":{"renderedLength":229,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-814"},"c5e49757-817":{"renderedLength":68,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-816"},"c5e49757-819":{"renderedLength":690,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-818"},"c5e49757-821":{"renderedLength":490,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-820"},"c5e49757-823":{"renderedLength":424,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-822"},"c5e49757-825":{"renderedLength":489,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-824"},"c5e49757-827":{"renderedLength":6656,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-826"},"c5e49757-829":{"renderedLength":512,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-828"},"c5e49757-831":{"renderedLength":912,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-830"},"c5e49757-833":{"renderedLength":532,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-832"},"c5e49757-835":{"renderedLength":444,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-834"},"c5e49757-837":{"renderedLength":710,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-836"},"c5e49757-839":{"renderedLength":499,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-838"},"c5e49757-841":{"renderedLength":156,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-840"},"c5e49757-843":{"renderedLength":477,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-842"},"c5e49757-845":{"renderedLength":267,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-844"},"c5e49757-847":{"renderedLength":507,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-846"},"c5e49757-849":{"renderedLength":732,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-848"},"c5e49757-851":{"renderedLength":266,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-850"},"c5e49757-853":{"renderedLength":566,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-852"},"c5e49757-855":{"renderedLength":487,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-854"},"c5e49757-857":{"renderedLength":446,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-856"},"c5e49757-859":{"renderedLength":1217,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-858"},"c5e49757-861":{"renderedLength":600,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-860"},"c5e49757-863":{"renderedLength":1977,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-862"},"c5e49757-865":{"renderedLength":250,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-864"},"c5e49757-867":{"renderedLength":735,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-866"},"c5e49757-869":{"renderedLength":797,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-868"},"c5e49757-871":{"renderedLength":756,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-870"},"c5e49757-873":{"renderedLength":2843,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-872"},"c5e49757-875":{"renderedLength":1119,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-874"},"c5e49757-877":{"renderedLength":1244,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-876"},"c5e49757-879":{"renderedLength":2993,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-878"},"c5e49757-881":{"renderedLength":3295,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-880"},"c5e49757-883":{"renderedLength":793,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-882"},"c5e49757-885":{"renderedLength":537,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-884"},"c5e49757-887":{"renderedLength":776,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-886"},"c5e49757-889":{"renderedLength":795,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-888"},"c5e49757-891":{"renderedLength":914,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-890"},"c5e49757-893":{"renderedLength":1039,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-892"},"c5e49757-895":{"renderedLength":407,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-894"},"c5e49757-897":{"renderedLength":777,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-896"},"c5e49757-899":{"renderedLength":717,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-898"},"c5e49757-901":{"renderedLength":696,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-900"},"c5e49757-903":{"renderedLength":916,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-902"},"c5e49757-905":{"renderedLength":452,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-904"},"c5e49757-907":{"renderedLength":474,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-906"},"c5e49757-909":{"renderedLength":366,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-908"},"c5e49757-911":{"renderedLength":908,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-910"},"c5e49757-913":{"renderedLength":250,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-912"},"c5e49757-915":{"renderedLength":1035,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-914"},"c5e49757-917":{"renderedLength":2153,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-916"},"c5e49757-919":{"renderedLength":302,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-918"},"c5e49757-921":{"renderedLength":944,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-920"},"c5e49757-923":{"renderedLength":526,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-922"},"c5e49757-925":{"renderedLength":1509,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-924"},"c5e49757-927":{"renderedLength":354,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-926"},"c5e49757-929":{"renderedLength":135,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-928"},"c5e49757-931":{"renderedLength":666,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-930"},"c5e49757-933":{"renderedLength":726,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-932"},"c5e49757-935":{"renderedLength":1288,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-934"},"c5e49757-937":{"renderedLength":457,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-936"},"c5e49757-939":{"renderedLength":716,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-938"},"c5e49757-941":{"renderedLength":614,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-940"},"c5e49757-943":{"renderedLength":748,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-942"},"c5e49757-945":{"renderedLength":1094,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-944"},"c5e49757-947":{"renderedLength":1067,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-946"},"c5e49757-949":{"renderedLength":779,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-948"},"c5e49757-951":{"renderedLength":112,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-950"},"c5e49757-953":{"renderedLength":203,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-952"},"c5e49757-955":{"renderedLength":414,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-954"},"c5e49757-957":{"renderedLength":708,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-956"},"c5e49757-959":{"renderedLength":558,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-958"},"c5e49757-961":{"renderedLength":526,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-960"},"c5e49757-963":{"renderedLength":526,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-962"},"c5e49757-965":{"renderedLength":183,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-964"},"c5e49757-967":{"renderedLength":427,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-966"},"c5e49757-969":{"renderedLength":699,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-968"},"c5e49757-971":{"renderedLength":339,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-970"},"c5e49757-973":{"renderedLength":322,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-972"},"c5e49757-975":{"renderedLength":472,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-974"},"c5e49757-977":{"renderedLength":593,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-976"},"c5e49757-979":{"renderedLength":98,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-978"},"c5e49757-981":{"renderedLength":257,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-980"},"c5e49757-983":{"renderedLength":400,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-982"},"c5e49757-985":{"renderedLength":327,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-984"},"c5e49757-987":{"renderedLength":371,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-986"},"c5e49757-989":{"renderedLength":254,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-988"},"c5e49757-991":{"renderedLength":306,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-990"},"c5e49757-993":{"renderedLength":413,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-992"},"c5e49757-995":{"renderedLength":604,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-994"},"c5e49757-997":{"renderedLength":2160,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-996"},"c5e49757-999":{"renderedLength":562,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-998"},"c5e49757-1001":{"renderedLength":757,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1000"},"c5e49757-1003":{"renderedLength":503,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1002"},"c5e49757-1005":{"renderedLength":385,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1004"},"c5e49757-1007":{"renderedLength":462,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1006"},"c5e49757-1009":{"renderedLength":515,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1008"},"c5e49757-1011":{"renderedLength":822,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1010"},"c5e49757-1013":{"renderedLength":513,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1012"},"c5e49757-1015":{"renderedLength":407,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1014"},"c5e49757-1017":{"renderedLength":462,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1016"},"c5e49757-1019":{"renderedLength":1078,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1018"},"c5e49757-1021":{"renderedLength":415,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1020"},"c5e49757-1023":{"renderedLength":307,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1022"},"c5e49757-1025":{"renderedLength":461,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1024"},"c5e49757-1027":{"renderedLength":92,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1026"},"c5e49757-1029":{"renderedLength":1491,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1028"},"c5e49757-1031":{"renderedLength":799,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1030"},"c5e49757-1033":{"renderedLength":794,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1032"},"c5e49757-1035":{"renderedLength":1026,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1034"},"c5e49757-1037":{"renderedLength":1502,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1036"},"c5e49757-1039":{"renderedLength":900,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1038"},"c5e49757-1041":{"renderedLength":1876,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1040"},"c5e49757-1043":{"renderedLength":726,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1042"},"c5e49757-1045":{"renderedLength":445,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1044"},"c5e49757-1047":{"renderedLength":946,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1046"},"c5e49757-1049":{"renderedLength":224,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1048"},"c5e49757-1051":{"renderedLength":1653,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1050"},"c5e49757-1053":{"renderedLength":274,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1052"},"c5e49757-1055":{"renderedLength":603,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1054"},"c5e49757-1057":{"renderedLength":385,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1056"},"c5e49757-1059":{"renderedLength":417,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1058"},"c5e49757-1061":{"renderedLength":755,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1060"},"c5e49757-1063":{"renderedLength":323,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1062"},"c5e49757-1065":{"renderedLength":3326,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1064"},"c5e49757-1067":{"renderedLength":1524,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1066"},"c5e49757-1069":{"renderedLength":373,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1068"},"c5e49757-1071":{"renderedLength":456,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1070"},"c5e49757-1073":{"renderedLength":3111,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1072"},"c5e49757-1075":{"renderedLength":825,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1074"},"c5e49757-1077":{"renderedLength":486,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1076"},"c5e49757-1079":{"renderedLength":573,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1078"},"c5e49757-1081":{"renderedLength":701,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1080"},"c5e49757-1083":{"renderedLength":1021,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1082"},"c5e49757-1085":{"renderedLength":436,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1084"},"c5e49757-1087":{"renderedLength":783,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1086"},"c5e49757-1089":{"renderedLength":1260,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1088"},"c5e49757-1091":{"renderedLength":541,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1090"},"c5e49757-1093":{"renderedLength":784,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1092"},"c5e49757-1095":{"renderedLength":181,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1094"},"c5e49757-1097":{"renderedLength":373,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1096"},"c5e49757-1099":{"renderedLength":242,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1098"},"c5e49757-1101":{"renderedLength":294,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1100"},"c5e49757-1103":{"renderedLength":718,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1102"},"c5e49757-1105":{"renderedLength":461,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1104"},"c5e49757-1107":{"renderedLength":365,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1106"},"c5e49757-1109":{"renderedLength":371,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1108"},"c5e49757-1111":{"renderedLength":992,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1110"},"c5e49757-1113":{"renderedLength":600,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1112"},"c5e49757-1115":{"renderedLength":360,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1114"},"c5e49757-1117":{"renderedLength":779,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1116"},"c5e49757-1119":{"renderedLength":327,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1118"},"c5e49757-1121":{"renderedLength":549,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1120"},"c5e49757-1123":{"renderedLength":345,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1122"},"c5e49757-1125":{"renderedLength":626,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1124"},"c5e49757-1127":{"renderedLength":299,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1126"},"c5e49757-1129":{"renderedLength":322,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1128"},"c5e49757-1131":{"renderedLength":108,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1130"},"c5e49757-1133":{"renderedLength":108,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1132"},"c5e49757-1135":{"renderedLength":98,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1134"},"c5e49757-1137":{"renderedLength":1591,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1136"},"c5e49757-1139":{"renderedLength":665,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1138"},"c5e49757-1141":{"renderedLength":67,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1140"},"c5e49757-1143":{"renderedLength":368,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1142"},"c5e49757-1145":{"renderedLength":417,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1144"},"c5e49757-1147":{"renderedLength":411,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1146"},"c5e49757-1149":{"renderedLength":472,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1148"},"c5e49757-1151":{"renderedLength":435,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1150"},"c5e49757-1153":{"renderedLength":2054,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1152"},"c5e49757-1155":{"renderedLength":314,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1154"},"c5e49757-1157":{"renderedLength":370,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1156"},"c5e49757-1159":{"renderedLength":465,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1158"},"c5e49757-1161":{"renderedLength":370,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1160"},"c5e49757-1163":{"renderedLength":465,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1162"},"c5e49757-1165":{"renderedLength":4745,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1164"},"c5e49757-1167":{"renderedLength":1001,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1166"},"c5e49757-1169":{"renderedLength":615,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1168"},"c5e49757-1171":{"renderedLength":978,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1170"},"c5e49757-1173":{"renderedLength":1126,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1172"},"c5e49757-1175":{"renderedLength":557,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1174"},"c5e49757-1177":{"renderedLength":653,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1176"},"c5e49757-1179":{"renderedLength":816,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1178"},"c5e49757-1181":{"renderedLength":392,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1180"},"c5e49757-1183":{"renderedLength":284,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1182"},"c5e49757-1185":{"renderedLength":473,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1184"},"c5e49757-1187":{"renderedLength":564,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1186"},"c5e49757-1189":{"renderedLength":308,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1188"},"c5e49757-1191":{"renderedLength":2518,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1190"},"c5e49757-1193":{"renderedLength":332,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1192"},"c5e49757-1195":{"renderedLength":314,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1194"},"c5e49757-1197":{"renderedLength":3523,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1196"},"c5e49757-1199":{"renderedLength":2906,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1198"},"c5e49757-1201":{"renderedLength":2664,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1200"},"c5e49757-1203":{"renderedLength":887,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1202"},"c5e49757-1205":{"renderedLength":1662,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1204"},"c5e49757-1207":{"renderedLength":336,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1206"},"c5e49757-1209":{"renderedLength":450,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1208"},"c5e49757-1211":{"renderedLength":530,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1210"},"c5e49757-1213":{"renderedLength":516,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1212"},"c5e49757-1215":{"renderedLength":344,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1214"},"c5e49757-1217":{"renderedLength":829,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1216"},"c5e49757-1219":{"renderedLength":648,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1218"},"c5e49757-1221":{"renderedLength":789,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1220"},"c5e49757-1223":{"renderedLength":327,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1222"},"c5e49757-1225":{"renderedLength":316,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1224"},"c5e49757-1227":{"renderedLength":595,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1226"},"c5e49757-1229":{"renderedLength":643,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1228"},"c5e49757-1231":{"renderedLength":1433,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1230"},"c5e49757-1233":{"renderedLength":683,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1232"},"c5e49757-1235":{"renderedLength":369,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1234"},"c5e49757-1237":{"renderedLength":864,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1236"},"c5e49757-1239":{"renderedLength":841,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1238"},"c5e49757-1241":{"renderedLength":648,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1240"},"c5e49757-1243":{"renderedLength":614,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1242"},"c5e49757-1245":{"renderedLength":515,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1244"},"c5e49757-1247":{"renderedLength":357,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1246"},"c5e49757-1249":{"renderedLength":806,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1248"},"c5e49757-1251":{"renderedLength":331,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1250"},"c5e49757-1253":{"renderedLength":671,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1252"},"c5e49757-1255":{"renderedLength":561,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1254"},"c5e49757-1257":{"renderedLength":1133,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1256"},"c5e49757-1259":{"renderedLength":918,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1258"},"c5e49757-1261":{"renderedLength":1578,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1260"},"c5e49757-1263":{"renderedLength":1424,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1262"},"c5e49757-1265":{"renderedLength":464,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1264"},"c5e49757-1267":{"renderedLength":5978,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1266"},"c5e49757-1269":{"renderedLength":578,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1268"},"c5e49757-1271":{"renderedLength":1584,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1270"},"c5e49757-1273":{"renderedLength":465,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1272"},"c5e49757-1275":{"renderedLength":613,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1274"},"c5e49757-1277":{"renderedLength":428,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1276"},"c5e49757-1279":{"renderedLength":632,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1278"},"c5e49757-1281":{"renderedLength":2354,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1280"},"c5e49757-1283":{"renderedLength":1014,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1282"},"c5e49757-1285":{"renderedLength":929,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1284"},"c5e49757-1287":{"renderedLength":1124,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1286"},"c5e49757-1289":{"renderedLength":632,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1288"},"c5e49757-1291":{"renderedLength":646,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1290"},"c5e49757-1293":{"renderedLength":586,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1292"},"c5e49757-1295":{"renderedLength":650,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1294"},"c5e49757-1297":{"renderedLength":577,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1296"},"c5e49757-1299":{"renderedLength":1621,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1298"},"c5e49757-1301":{"renderedLength":840,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1300"},"c5e49757-1303":{"renderedLength":376,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1302"},"c5e49757-1305":{"renderedLength":1222,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1304"},"c5e49757-1307":{"renderedLength":1138,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1306"},"c5e49757-1309":{"renderedLength":402,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1308"},"c5e49757-1311":{"renderedLength":783,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1310"},"c5e49757-1313":{"renderedLength":815,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1312"},"c5e49757-1315":{"renderedLength":861,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1314"},"c5e49757-1317":{"renderedLength":1285,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1316"},"c5e49757-1319":{"renderedLength":1262,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1318"},"c5e49757-1321":{"renderedLength":254,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1320"},"c5e49757-1323":{"renderedLength":1163,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1322"},"c5e49757-1325":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1324"},"c5e49757-1327":{"renderedLength":493,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1326"},"c5e49757-1329":{"renderedLength":394,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1328"},"c5e49757-1331":{"renderedLength":372,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1330"},"c5e49757-1333":{"renderedLength":352,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1332"},"c5e49757-1335":{"renderedLength":707,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1334"},"c5e49757-1337":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1336"},"c5e49757-1339":{"renderedLength":902,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1338"},"c5e49757-1341":{"renderedLength":465,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1340"},"c5e49757-1343":{"renderedLength":333,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1342"},"c5e49757-1345":{"renderedLength":596,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1344"},"c5e49757-1347":{"renderedLength":591,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1346"},"c5e49757-1349":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1348"},"c5e49757-1351":{"renderedLength":623,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1350"},"c5e49757-1353":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1352"},"c5e49757-1355":{"renderedLength":392,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1354"},"c5e49757-1357":{"renderedLength":1327,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1356"},"c5e49757-1359":{"renderedLength":799,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1358"},"c5e49757-1361":{"renderedLength":566,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1360"},"c5e49757-1363":{"renderedLength":555,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1362"},"c5e49757-1365":{"renderedLength":1621,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1364"},"c5e49757-1367":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1366"},"c5e49757-1369":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1368"},"c5e49757-1371":{"renderedLength":761,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1370"},"c5e49757-1373":{"renderedLength":735,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1372"},"c5e49757-1375":{"renderedLength":965,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1374"},"c5e49757-1377":{"renderedLength":519,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1376"},"c5e49757-1379":{"renderedLength":1481,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1378"},"c5e49757-1381":{"renderedLength":697,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1380"},"c5e49757-1383":{"renderedLength":1488,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1382"},"c5e49757-1385":{"renderedLength":1195,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1384"},"c5e49757-1387":{"renderedLength":715,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1386"},"c5e49757-1389":{"renderedLength":1162,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1388"},"c5e49757-1391":{"renderedLength":1595,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1390"},"c5e49757-1393":{"renderedLength":609,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1392"},"c5e49757-1395":{"renderedLength":1165,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1394"},"c5e49757-1397":{"renderedLength":390,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1396"},"c5e49757-1399":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1398"},"c5e49757-1401":{"renderedLength":556,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1400"},"c5e49757-1403":{"renderedLength":1434,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1402"},"c5e49757-1405":{"renderedLength":710,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1404"},"c5e49757-1407":{"renderedLength":694,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1406"},"c5e49757-1409":{"renderedLength":754,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1408"},"c5e49757-1411":{"renderedLength":503,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1410"},"c5e49757-1413":{"renderedLength":668,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1412"},"c5e49757-1415":{"renderedLength":567,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1414"},"c5e49757-1417":{"renderedLength":449,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1416"},"c5e49757-1419":{"renderedLength":1980,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1418"},"c5e49757-1421":{"renderedLength":597,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1420"},"c5e49757-1423":{"renderedLength":516,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1422"},"c5e49757-1425":{"renderedLength":920,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1424"},"c5e49757-1427":{"renderedLength":769,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1426"},"c5e49757-1429":{"renderedLength":874,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1428"},"c5e49757-1431":{"renderedLength":733,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1430"},"c5e49757-1433":{"renderedLength":566,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1432"},"c5e49757-1435":{"renderedLength":430,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1434"},"c5e49757-1437":{"renderedLength":575,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1436"},"c5e49757-1439":{"renderedLength":598,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1438"},"c5e49757-1441":{"renderedLength":1270,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1440"},"c5e49757-1443":{"renderedLength":330,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1442"},"c5e49757-1445":{"renderedLength":493,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1444"},"c5e49757-1447":{"renderedLength":464,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1446"},"c5e49757-1449":{"renderedLength":537,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1448"},"c5e49757-1451":{"renderedLength":539,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1450"},"c5e49757-1453":{"renderedLength":658,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1452"},"c5e49757-1455":{"renderedLength":588,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1454"},"c5e49757-1457":{"renderedLength":1095,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1456"},"c5e49757-1459":{"renderedLength":568,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1458"},"c5e49757-1461":{"renderedLength":463,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1460"},"c5e49757-1463":{"renderedLength":632,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1462"},"c5e49757-1465":{"renderedLength":1545,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1464"},"c5e49757-1467":{"renderedLength":1130,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1466"},"c5e49757-1469":{"renderedLength":391,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1468"},"c5e49757-1471":{"renderedLength":1964,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1470"},"c5e49757-1473":{"renderedLength":284,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1472"},"c5e49757-1475":{"renderedLength":725,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1474"},"c5e49757-1477":{"renderedLength":1157,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1476"},"c5e49757-1479":{"renderedLength":1126,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1478"},"c5e49757-1481":{"renderedLength":659,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1480"},"c5e49757-1483":{"renderedLength":414,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1482"},"c5e49757-1485":{"renderedLength":981,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1484"},"c5e49757-1487":{"renderedLength":1533,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1486"},"c5e49757-1489":{"renderedLength":330,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1488"},"c5e49757-1491":{"renderedLength":587,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1490"},"c5e49757-1493":{"renderedLength":524,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1492"},"c5e49757-1495":{"renderedLength":1211,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1494"},"c5e49757-1497":{"renderedLength":376,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1496"},"c5e49757-1499":{"renderedLength":560,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1498"},"c5e49757-1501":{"renderedLength":561,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1500"},"c5e49757-1503":{"renderedLength":383,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1502"},"c5e49757-1505":{"renderedLength":491,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1504"},"c5e49757-1507":{"renderedLength":449,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1506"},"c5e49757-1509":{"renderedLength":1660,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1508"},"c5e49757-1511":{"renderedLength":912,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1510"},"c5e49757-1513":{"renderedLength":1274,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1512"},"c5e49757-1515":{"renderedLength":732,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1514"},"c5e49757-1517":{"renderedLength":598,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1516"},"c5e49757-1519":{"renderedLength":957,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1518"},"c5e49757-1521":{"renderedLength":1204,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1520"},"c5e49757-1523":{"renderedLength":767,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1522"},"c5e49757-1525":{"renderedLength":846,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1524"},"c5e49757-1527":{"renderedLength":238,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1526"},"c5e49757-1529":{"renderedLength":1101,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1528"},"c5e49757-1531":{"renderedLength":400,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1530"},"c5e49757-1533":{"renderedLength":354,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1532"},"c5e49757-1535":{"renderedLength":388,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1534"},"c5e49757-1537":{"renderedLength":489,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1536"},"c5e49757-1539":{"renderedLength":880,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1538"},"c5e49757-1541":{"renderedLength":384,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1540"},"c5e49757-1543":{"renderedLength":519,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1542"},"c5e49757-1545":{"renderedLength":523,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1544"},"c5e49757-1547":{"renderedLength":1586,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1546"},"c5e49757-1549":{"renderedLength":672,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1548"},"c5e49757-1551":{"renderedLength":573,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1550"},"c5e49757-1553":{"renderedLength":1059,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1552"},"c5e49757-1555":{"renderedLength":538,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1554"},"c5e49757-1557":{"renderedLength":1146,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1556"},"c5e49757-1559":{"renderedLength":536,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1558"},"c5e49757-1561":{"renderedLength":385,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1560"},"c5e49757-1563":{"renderedLength":327,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1562"},"c5e49757-1565":{"renderedLength":458,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1564"},"c5e49757-1567":{"renderedLength":531,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1566"},"c5e49757-1569":{"renderedLength":922,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1568"},"c5e49757-1571":{"renderedLength":1161,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1570"},"c5e49757-1573":{"renderedLength":1330,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1572"},"c5e49757-1575":{"renderedLength":1319,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1574"},"c5e49757-1577":{"renderedLength":825,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1576"},"c5e49757-1579":{"renderedLength":469,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1578"},"c5e49757-1581":{"renderedLength":832,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1580"},"c5e49757-1583":{"renderedLength":572,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1582"},"c5e49757-1585":{"renderedLength":501,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1584"},"c5e49757-1587":{"renderedLength":319,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1586"},"c5e49757-1589":{"renderedLength":762,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1588"},"c5e49757-1591":{"renderedLength":1101,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1590"},"c5e49757-1593":{"renderedLength":750,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1592"},"c5e49757-1595":{"renderedLength":800,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1594"},"c5e49757-1597":{"renderedLength":469,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1596"},"c5e49757-1599":{"renderedLength":832,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1598"},"c5e49757-1601":{"renderedLength":1929,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1600"},"c5e49757-1603":{"renderedLength":439,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1602"},"c5e49757-1605":{"renderedLength":1056,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1604"},"c5e49757-1607":{"renderedLength":324,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1606"},"c5e49757-1609":{"renderedLength":982,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1608"},"c5e49757-1611":{"renderedLength":767,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1610"},"c5e49757-1613":{"renderedLength":417,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1612"},"c5e49757-1615":{"renderedLength":569,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1614"},"c5e49757-1617":{"renderedLength":586,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1616"},"c5e49757-1619":{"renderedLength":412,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1618"},"c5e49757-1621":{"renderedLength":390,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1620"},"c5e49757-1623":{"renderedLength":1261,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1622"},"c5e49757-1625":{"renderedLength":1164,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1624"},"c5e49757-1627":{"renderedLength":646,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1626"},"c5e49757-1629":{"renderedLength":828,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1628"},"c5e49757-1631":{"renderedLength":711,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1630"},"c5e49757-1633":{"renderedLength":605,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1632"},"c5e49757-1635":{"renderedLength":512,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1634"},"c5e49757-1637":{"renderedLength":1267,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1636"},"c5e49757-1639":{"renderedLength":1507,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1638"},"c5e49757-1641":{"renderedLength":1154,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1640"},"c5e49757-1643":{"renderedLength":1510,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1642"},"c5e49757-1645":{"renderedLength":510,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1644"},"c5e49757-1647":{"renderedLength":450,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1646"},"c5e49757-1649":{"renderedLength":279,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1648"},"c5e49757-1651":{"renderedLength":1275,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1650"},"c5e49757-1653":{"renderedLength":803,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1652"},"c5e49757-1655":{"renderedLength":922,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1654"},"c5e49757-1657":{"renderedLength":929,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1656"},"c5e49757-1659":{"renderedLength":193,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1658"},"c5e49757-1661":{"renderedLength":1610,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1660"},"c5e49757-1663":{"renderedLength":271,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1662"},"c5e49757-1665":{"renderedLength":856,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1664"},"c5e49757-1667":{"renderedLength":1102,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1666"},"c5e49757-1669":{"renderedLength":819,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1668"},"c5e49757-1671":{"renderedLength":826,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1670"},"c5e49757-1673":{"renderedLength":1163,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1672"},"c5e49757-1675":{"renderedLength":1363,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1674"},"c5e49757-1677":{"renderedLength":1344,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1676"},"c5e49757-1679":{"renderedLength":1432,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1678"},"c5e49757-1681":{"renderedLength":396,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1680"},"c5e49757-1683":{"renderedLength":525,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1682"},"c5e49757-1685":{"renderedLength":892,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1684"},"c5e49757-1687":{"renderedLength":663,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1686"},"c5e49757-1689":{"renderedLength":624,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1688"},"c5e49757-1691":{"renderedLength":1217,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1690"},"c5e49757-1693":{"renderedLength":636,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1692"},"c5e49757-1695":{"renderedLength":657,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1694"},"c5e49757-1697":{"renderedLength":945,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1696"},"c5e49757-1699":{"renderedLength":951,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1698"},"c5e49757-1701":{"renderedLength":833,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1700"},"c5e49757-1703":{"renderedLength":906,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1702"},"c5e49757-1705":{"renderedLength":518,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1704"},"c5e49757-1707":{"renderedLength":2215,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1706"},"c5e49757-1709":{"renderedLength":824,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1708"},"c5e49757-1711":{"renderedLength":701,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1710"},"c5e49757-1713":{"renderedLength":1079,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1712"},"c5e49757-1715":{"renderedLength":785,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1714"},"c5e49757-1717":{"renderedLength":914,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1716"},"c5e49757-1719":{"renderedLength":878,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1718"},"c5e49757-1721":{"renderedLength":1565,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1720"},"c5e49757-1723":{"renderedLength":740,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1722"},"c5e49757-1725":{"renderedLength":890,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1724"},"c5e49757-1727":{"renderedLength":1181,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1726"},"c5e49757-1729":{"renderedLength":1211,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1728"},"c5e49757-1731":{"renderedLength":693,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1730"},"c5e49757-1733":{"renderedLength":687,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1732"},"c5e49757-1735":{"renderedLength":1081,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1734"},"c5e49757-1737":{"renderedLength":1322,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1736"},"c5e49757-1739":{"renderedLength":820,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1738"},"c5e49757-1741":{"renderedLength":429,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1740"},"c5e49757-1743":{"renderedLength":287,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1742"},"c5e49757-1745":{"renderedLength":248,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1744"},"c5e49757-1747":{"renderedLength":399,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1746"},"c5e49757-1749":{"renderedLength":613,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1748"},"c5e49757-1751":{"renderedLength":336,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1750"},"c5e49757-1753":{"renderedLength":392,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1752"},"c5e49757-1755":{"renderedLength":805,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1754"},"c5e49757-1757":{"renderedLength":898,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1756"},"c5e49757-1759":{"renderedLength":989,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1758"},"c5e49757-1761":{"renderedLength":245,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1760"},"c5e49757-1763":{"renderedLength":259,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1762"},"c5e49757-1765":{"renderedLength":521,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1764"},"c5e49757-1767":{"renderedLength":912,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1766"},"c5e49757-1769":{"renderedLength":873,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1768"},"c5e49757-1771":{"renderedLength":552,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1770"},"c5e49757-1773":{"renderedLength":550,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1772"},"c5e49757-1775":{"renderedLength":1365,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1774"},"c5e49757-1777":{"renderedLength":1460,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1776"},"c5e49757-1779":{"renderedLength":2190,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1778"},"c5e49757-1781":{"renderedLength":1263,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1780"},"c5e49757-1783":{"renderedLength":540,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1782"},"c5e49757-1785":{"renderedLength":918,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1784"},"c5e49757-1787":{"renderedLength":648,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1786"},"c5e49757-1789":{"renderedLength":589,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1788"},"c5e49757-1791":{"renderedLength":940,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1790"},"c5e49757-1793":{"renderedLength":652,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1792"},"c5e49757-1795":{"renderedLength":696,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1794"},"c5e49757-1797":{"renderedLength":430,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1796"},"c5e49757-1799":{"renderedLength":563,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1798"},"c5e49757-1801":{"renderedLength":1220,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1800"},"c5e49757-1803":{"renderedLength":1520,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1802"},"c5e49757-1805":{"renderedLength":586,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1804"},"c5e49757-1807":{"renderedLength":819,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1806"},"c5e49757-1809":{"renderedLength":369,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1808"},"c5e49757-1811":{"renderedLength":259,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1810"},"c5e49757-1813":{"renderedLength":243,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1812"},"c5e49757-1815":{"renderedLength":420,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1814"},"c5e49757-1817":{"renderedLength":353,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1816"},"c5e49757-1819":{"renderedLength":794,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1818"},"c5e49757-1821":{"renderedLength":390,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1820"},"c5e49757-1823":{"renderedLength":744,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1822"},"c5e49757-1825":{"renderedLength":818,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1824"},"c5e49757-1827":{"renderedLength":1249,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1826"},"c5e49757-1829":{"renderedLength":1213,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1828"},"c5e49757-1831":{"renderedLength":679,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1830"},"c5e49757-1833":{"renderedLength":874,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1832"},"c5e49757-1835":{"renderedLength":484,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1834"},"c5e49757-1837":{"renderedLength":81,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1836"},"c5e49757-1839":{"renderedLength":76,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1838"},"c5e49757-1841":{"renderedLength":77,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1840"},"c5e49757-1843":{"renderedLength":1208,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1842"},"c5e49757-1845":{"renderedLength":9916,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1844"},"c5e49757-1847":{"renderedLength":2603,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1846"},"c5e49757-1849":{"renderedLength":649,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1848"},"c5e49757-1851":{"renderedLength":1228,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1850"},"c5e49757-1853":{"renderedLength":365,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1852"},"c5e49757-1855":{"renderedLength":688,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1854"},"c5e49757-1857":{"renderedLength":366,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1856"},"c5e49757-1859":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1858"},"c5e49757-1861":{"renderedLength":525,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1860"},"c5e49757-1863":{"renderedLength":504,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1862"},"c5e49757-1865":{"renderedLength":720,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1864"},"c5e49757-1867":{"renderedLength":525,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1866"},"c5e49757-1869":{"renderedLength":1825,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1868"},"c5e49757-1871":{"renderedLength":520,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1870"},"c5e49757-1873":{"renderedLength":554,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1872"},"c5e49757-1875":{"renderedLength":1039,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1874"},"c5e49757-1877":{"renderedLength":910,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1876"},"c5e49757-1879":{"renderedLength":969,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1878"},"c5e49757-1881":{"renderedLength":2950,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1880"},"c5e49757-1883":{"renderedLength":414,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1882"},"c5e49757-1885":{"renderedLength":404,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1884"},"c5e49757-1887":{"renderedLength":933,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1886"},"c5e49757-1889":{"renderedLength":368,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1888"},"c5e49757-1891":{"renderedLength":1611,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1890"},"c5e49757-1893":{"renderedLength":543,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1892"},"c5e49757-1895":{"renderedLength":1032,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1894"},"c5e49757-1897":{"renderedLength":1015,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1896"},"c5e49757-1899":{"renderedLength":623,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1898"},"c5e49757-1901":{"renderedLength":896,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1900"},"c5e49757-1903":{"renderedLength":889,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1902"},"c5e49757-1905":{"renderedLength":494,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1904"},"c5e49757-1907":{"renderedLength":736,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1906"},"c5e49757-1909":{"renderedLength":1031,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1908"},"c5e49757-1911":{"renderedLength":914,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1910"},"c5e49757-1913":{"renderedLength":499,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1912"},"c5e49757-1915":{"renderedLength":958,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1914"},"c5e49757-1917":{"renderedLength":1065,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1916"},"c5e49757-1919":{"renderedLength":534,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1918"},"c5e49757-1921":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1920"},"c5e49757-1923":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1922"},"c5e49757-1925":{"renderedLength":616,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1924"},"c5e49757-1927":{"renderedLength":683,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1926"},"c5e49757-1929":{"renderedLength":762,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1928"},"c5e49757-1931":{"renderedLength":1075,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1930"},"c5e49757-1933":{"renderedLength":640,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1932"},"c5e49757-1935":{"renderedLength":823,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1934"},"c5e49757-1937":{"renderedLength":935,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1936"},"c5e49757-1939":{"renderedLength":609,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1938"},"c5e49757-1941":{"renderedLength":1017,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1940"},"c5e49757-1943":{"renderedLength":986,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1942"},"c5e49757-1945":{"renderedLength":513,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1944"},"c5e49757-1947":{"renderedLength":626,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1946"},"c5e49757-1949":{"renderedLength":539,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1948"},"c5e49757-1951":{"renderedLength":522,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1950"},"c5e49757-1953":{"renderedLength":852,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1952"},"c5e49757-1955":{"renderedLength":731,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1954"},"c5e49757-1957":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1956"},"c5e49757-1959":{"renderedLength":313,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1958"},"c5e49757-1961":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1960"},"c5e49757-1963":{"renderedLength":23,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1962"},"c5e49757-1965":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1964"},"c5e49757-1967":{"renderedLength":210,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1966"},"c5e49757-1969":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1968"},"c5e49757-1971":{"renderedLength":622,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1970"},"c5e49757-1973":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1972"},"c5e49757-1975":{"renderedLength":125,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1974"},"c5e49757-1977":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1976"},"c5e49757-1979":{"renderedLength":44,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1978"},"c5e49757-1981":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1980"},"c5e49757-1983":{"renderedLength":509,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1982"},"c5e49757-1985":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1984"},"c5e49757-1987":{"renderedLength":261,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1986"},"c5e49757-1989":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1988"},"c5e49757-1991":{"renderedLength":354,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1990"},"c5e49757-1993":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1992"},"c5e49757-1995":{"renderedLength":345,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1994"},"c5e49757-1997":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1996"},"c5e49757-1999":{"renderedLength":540,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-1998"},"c5e49757-2001":{"renderedLength":413,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2000"},"c5e49757-2003":{"renderedLength":1004,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2002"},"c5e49757-2005":{"renderedLength":1639,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2004"},"c5e49757-2007":{"renderedLength":19279,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2006"},"c5e49757-2009":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2008"},"c5e49757-2011":{"renderedLength":4182,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2010"},"c5e49757-2013":{"renderedLength":1154,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2012"},"c5e49757-2015":{"renderedLength":5800,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2014"},"c5e49757-2017":{"renderedLength":1322,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2016"},"c5e49757-2019":{"renderedLength":1429,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2018"},"c5e49757-2021":{"renderedLength":466,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2020"},"c5e49757-2023":{"renderedLength":8126,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2022"},"c5e49757-2025":{"renderedLength":1832,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2024"},"c5e49757-2027":{"renderedLength":4945,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2026"},"c5e49757-2029":{"renderedLength":3281,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2028"},"c5e49757-2031":{"renderedLength":1429,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2030"},"c5e49757-2033":{"renderedLength":760,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2032"},"c5e49757-2035":{"renderedLength":2453,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2034"},"c5e49757-2037":{"renderedLength":1761,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2036"},"c5e49757-2039":{"renderedLength":878,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2038"},"c5e49757-2041":{"renderedLength":8418,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2040"},"c5e49757-2043":{"renderedLength":45927,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2042"},"c5e49757-2045":{"renderedLength":608,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2044"},"c5e49757-2047":{"renderedLength":239,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2046"},"c5e49757-2049":{"renderedLength":1905,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2048"},"c5e49757-2051":{"renderedLength":1334,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2050"},"c5e49757-2053":{"renderedLength":836,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2052"},"c5e49757-2055":{"renderedLength":8699,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2054"},"c5e49757-2057":{"renderedLength":4443,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2056"},"c5e49757-2059":{"renderedLength":6954,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2058"},"c5e49757-2061":{"renderedLength":29379,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2060"},"c5e49757-2063":{"renderedLength":4866,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2062"},"c5e49757-2065":{"renderedLength":6039,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2064"},"c5e49757-2067":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2066"},"c5e49757-2069":{"renderedLength":65646,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2068"},"c5e49757-2071":{"renderedLength":13,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2070"},"c5e49757-2073":{"renderedLength":16,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2072"},"c5e49757-2075":{"renderedLength":20,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2074"},"c5e49757-2077":{"renderedLength":17,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2076"},"c5e49757-2079":{"renderedLength":19,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2078"},"c5e49757-2081":{"renderedLength":14,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2080"},"c5e49757-2083":{"renderedLength":28,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2082"},"c5e49757-2085":{"renderedLength":586,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2084"},"c5e49757-2087":{"renderedLength":2185,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2086"},"c5e49757-2089":{"renderedLength":17,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2088"},"c5e49757-2091":{"renderedLength":1128,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2090"},"c5e49757-2093":{"renderedLength":4400,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2092"},"c5e49757-2095":{"renderedLength":15,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2094"},"c5e49757-2097":{"renderedLength":1599,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2096"},"c5e49757-2099":{"renderedLength":32,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2098"},"c5e49757-2101":{"renderedLength":17,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2100"},"c5e49757-2103":{"renderedLength":559,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2102"},"c5e49757-2105":{"renderedLength":1131,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2104"},"c5e49757-2107":{"renderedLength":13201,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2106"},"c5e49757-2109":{"renderedLength":19,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2108"},"c5e49757-2111":{"renderedLength":38,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2110"},"c5e49757-2113":{"renderedLength":1180,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2112"},"c5e49757-2115":{"renderedLength":6353,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2114"},"c5e49757-2117":{"renderedLength":22,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2116"},"c5e49757-2119":{"renderedLength":3711,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2118"},"c5e49757-2121":{"renderedLength":533,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2120"},"c5e49757-2123":{"renderedLength":18,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2122"},"c5e49757-2125":{"renderedLength":2828,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2124"},"c5e49757-2127":{"renderedLength":22545,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2126"},"c5e49757-2129":{"renderedLength":1600,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2128"},"c5e49757-2131":{"renderedLength":29865,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2130"},"c5e49757-2133":{"renderedLength":13,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2132"},"c5e49757-2135":{"renderedLength":16,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2134"},"c5e49757-2137":{"renderedLength":18,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2136"},"c5e49757-2139":{"renderedLength":1941,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2138"},"c5e49757-2141":{"renderedLength":3183,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2140"},"c5e49757-2143":{"renderedLength":11248,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2142"},"c5e49757-2145":{"renderedLength":10242,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2144"},"c5e49757-2147":{"renderedLength":13346,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2146"},"c5e49757-2149":{"renderedLength":6809,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2148"},"c5e49757-2151":{"renderedLength":39413,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2150"},"c5e49757-2153":{"renderedLength":781,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2152"},"c5e49757-2155":{"renderedLength":679,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2154"},"c5e49757-2157":{"renderedLength":41505,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2156"},"c5e49757-2159":{"renderedLength":19340,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2158"},"c5e49757-2161":{"renderedLength":68,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2160"},"c5e49757-2163":{"renderedLength":37215,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2162"},"c5e49757-2165":{"renderedLength":18,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2164"},"c5e49757-2167":{"renderedLength":16,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2166"},"c5e49757-2169":{"renderedLength":17,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2168"},"c5e49757-2171":{"renderedLength":566,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2170"},"c5e49757-2173":{"renderedLength":4434,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2172"},"c5e49757-2175":{"renderedLength":19,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2174"},"c5e49757-2177":{"renderedLength":22,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2176"},"c5e49757-2179":{"renderedLength":17,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2178"},"c5e49757-2181":{"renderedLength":21,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2180"},"c5e49757-2183":{"renderedLength":3470,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2182"},"c5e49757-2185":{"renderedLength":5919,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2184"},"c5e49757-2187":{"renderedLength":14,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2186"},"c5e49757-2189":{"renderedLength":2369,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2188"},"c5e49757-2191":{"renderedLength":2078,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2190"},"c5e49757-2193":{"renderedLength":18,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2192"},"c5e49757-2195":{"renderedLength":2433,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2194"},"c5e49757-2197":{"renderedLength":18,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2196"},"c5e49757-2199":{"renderedLength":2433,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2198"},"c5e49757-2201":{"renderedLength":18,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2200"},"c5e49757-2203":{"renderedLength":2433,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2202"},"c5e49757-2205":{"renderedLength":958,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2204"},"c5e49757-2207":{"renderedLength":17,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2206"},"c5e49757-2209":{"renderedLength":15,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2208"},"c5e49757-2211":{"renderedLength":21,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2210"},"c5e49757-2213":{"renderedLength":1544,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2212"},"c5e49757-2215":{"renderedLength":13,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2214"},"c5e49757-2217":{"renderedLength":17,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2216"},"c5e49757-2219":{"renderedLength":725,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2218"},"c5e49757-2221":{"renderedLength":4072,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2220"},"c5e49757-2223":{"renderedLength":5287,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2222"},"c5e49757-2225":{"renderedLength":14,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2224"},"c5e49757-2227":{"renderedLength":4105,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2226"},"c5e49757-2229":{"renderedLength":14,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2228"},"c5e49757-2231":{"renderedLength":2958,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2230"},"c5e49757-2233":{"renderedLength":14,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2232"},"c5e49757-2235":{"renderedLength":2853,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2234"},"c5e49757-2237":{"renderedLength":13,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2236"},"c5e49757-2239":{"renderedLength":5357,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2238"},"c5e49757-2241":{"renderedLength":14,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2240"},"c5e49757-2243":{"renderedLength":6426,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2242"},"c5e49757-2245":{"renderedLength":1036,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2244"},"c5e49757-2247":{"renderedLength":15,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2246"},"c5e49757-2249":{"renderedLength":13,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2248"},"c5e49757-2251":{"renderedLength":19,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2250"},"c5e49757-2253":{"renderedLength":396,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2252"},"c5e49757-2255":{"renderedLength":2991,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2254"},"c5e49757-2257":{"renderedLength":15,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2256"},"c5e49757-2259":{"renderedLength":2737,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2258"},"c5e49757-2261":{"renderedLength":528,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2260"},"c5e49757-2263":{"renderedLength":15,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2262"},"c5e49757-2265":{"renderedLength":13,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2264"},"c5e49757-2267":{"renderedLength":3076,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2266"},"c5e49757-2269":{"renderedLength":15,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2268"},"c5e49757-2271":{"renderedLength":19,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2270"},"c5e49757-2273":{"renderedLength":801,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2272"},"c5e49757-2275":{"renderedLength":1647,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2274"},"c5e49757-2277":{"renderedLength":15,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2276"},"c5e49757-2279":{"renderedLength":1647,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2278"},"c5e49757-2281":{"renderedLength":17,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2280"},"c5e49757-2283":{"renderedLength":1729,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2282"},"c5e49757-2285":{"renderedLength":17,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2284"},"c5e49757-2287":{"renderedLength":1729,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2286"},"c5e49757-2289":{"renderedLength":899,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2288"},"c5e49757-2291":{"renderedLength":20,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2290"},"c5e49757-2293":{"renderedLength":3152,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2292"},"c5e49757-2295":{"renderedLength":17,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2294"},"c5e49757-2297":{"renderedLength":3656,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2296"},"c5e49757-2299":{"renderedLength":24,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2298"},"c5e49757-2301":{"renderedLength":2810,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2300"},"c5e49757-2303":{"renderedLength":1033,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2302"},"c5e49757-2305":{"renderedLength":15,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2304"},"c5e49757-2307":{"renderedLength":545,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2306"},"c5e49757-2309":{"renderedLength":28,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2308"},"c5e49757-2311":{"renderedLength":843,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2310"},"c5e49757-2313":{"renderedLength":20,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2312"},"c5e49757-2315":{"renderedLength":590,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2314"},"c5e49757-2317":{"renderedLength":29,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2316"},"c5e49757-2319":{"renderedLength":31,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2318"},"c5e49757-2321":{"renderedLength":28,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2320"},"c5e49757-2323":{"renderedLength":967,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2322"},"c5e49757-2325":{"renderedLength":18,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2324"},"c5e49757-2327":{"renderedLength":672,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2326"},"c5e49757-2329":{"renderedLength":1461,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2328"},"c5e49757-2331":{"renderedLength":19,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2330"},"c5e49757-2333":{"renderedLength":16,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2332"},"c5e49757-2335":{"renderedLength":16,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2334"},"c5e49757-2337":{"renderedLength":3395,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2336"},"c5e49757-2339":{"renderedLength":5072,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2338"},"c5e49757-2341":{"renderedLength":13,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2340"},"c5e49757-2343":{"renderedLength":6164,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2342"},"c5e49757-2345":{"renderedLength":16,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2344"},"c5e49757-2347":{"renderedLength":1351,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2346"},"c5e49757-2349":{"renderedLength":678,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2348"},"c5e49757-2351":{"renderedLength":20,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2350"},"c5e49757-2353":{"renderedLength":2862,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2352"},"c5e49757-2355":{"renderedLength":4053,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2354"},"c5e49757-2357":{"renderedLength":22,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2356"},"c5e49757-2359":{"renderedLength":1929,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2358"},"c5e49757-2361":{"renderedLength":7223,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2360"},"c5e49757-2363":{"renderedLength":273512,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2362"},"c5e49757-2365":{"renderedLength":23429,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2364"},"c5e49757-2367":{"renderedLength":18586,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2366"},"c5e49757-2369":{"renderedLength":3272,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2368"},"c5e49757-2371":{"renderedLength":1514,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2370"},"c5e49757-2373":{"renderedLength":17,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2372"},"c5e49757-2375":{"renderedLength":89986,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2374"},"c5e49757-2377":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2376"},"c5e49757-2379":{"renderedLength":26,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2378"},"c5e49757-2381":{"renderedLength":32,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2380"},"c5e49757-2383":{"renderedLength":19903,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2382"},"c5e49757-2385":{"renderedLength":1694,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2384"},"c5e49757-2387":{"renderedLength":24,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2386"},"c5e49757-2389":{"renderedLength":2164,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2388"},"c5e49757-2391":{"renderedLength":1099,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2390"},"c5e49757-2393":{"renderedLength":29964,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2392"},"c5e49757-2395":{"renderedLength":410336,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2394"},"c5e49757-2397":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2396"},"c5e49757-2399":{"renderedLength":1400,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2398"},"c5e49757-2401":{"renderedLength":27,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2400"},"c5e49757-2403":{"renderedLength":33442,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2402"},"c5e49757-2405":{"renderedLength":26,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2404"},"c5e49757-2407":{"renderedLength":38895,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2406"},"c5e49757-2409":{"renderedLength":9937,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2408"},"c5e49757-2411":{"renderedLength":27,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2410"},"c5e49757-2413":{"renderedLength":301332,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2412"},"c5e49757-2415":{"renderedLength":718,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2414"},"c5e49757-2417":{"renderedLength":769,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2416"},"c5e49757-2419":{"renderedLength":1066,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2418"},"c5e49757-2421":{"renderedLength":587,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2420"},"c5e49757-2423":{"renderedLength":13020,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2422"},"c5e49757-2425":{"renderedLength":1063,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2424"},"c5e49757-2427":{"renderedLength":13625,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2426"},"c5e49757-2429":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2428"},"c5e49757-2431":{"renderedLength":2123,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2430"},"c5e49757-2433":{"renderedLength":1266,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2432"},"c5e49757-2435":{"renderedLength":523,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2434"},"c5e49757-2437":{"renderedLength":120,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2436"},"c5e49757-2439":{"renderedLength":1275,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2438"},"c5e49757-2441":{"renderedLength":4660,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2440"},"c5e49757-2443":{"renderedLength":1518,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2442"},"c5e49757-2445":{"renderedLength":1056,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2444"},"c5e49757-2447":{"renderedLength":659,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2446"},"c5e49757-2449":{"renderedLength":27548,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2448"},"c5e49757-2451":{"renderedLength":1094,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2450"},"c5e49757-2453":{"renderedLength":3605,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2452"},"c5e49757-2455":{"renderedLength":24975,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2454"},"c5e49757-2457":{"renderedLength":3503,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2456"},"c5e49757-2459":{"renderedLength":8408,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2458"},"c5e49757-2461":{"renderedLength":2566,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2460"},"c5e49757-2463":{"renderedLength":2262,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2462"},"c5e49757-2465":{"renderedLength":14420,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2464"},"c5e49757-2467":{"renderedLength":1945,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2466"},"c5e49757-2469":{"renderedLength":2567,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2468"},"c5e49757-2471":{"renderedLength":5324,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2470"},"c5e49757-2473":{"renderedLength":2315,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2472"},"c5e49757-2475":{"renderedLength":3056,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2474"},"c5e49757-2477":{"renderedLength":2988,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2476"},"c5e49757-2479":{"renderedLength":2517,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2478"},"c5e49757-2481":{"renderedLength":2262,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2480"},"c5e49757-2483":{"renderedLength":3539,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2482"},"c5e49757-2485":{"renderedLength":6701,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2484"},"c5e49757-2487":{"renderedLength":10512,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2486"},"c5e49757-2489":{"renderedLength":15973,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2488"},"c5e49757-2491":{"renderedLength":73,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2490"},"c5e49757-2493":{"renderedLength":5033,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2492"},"c5e49757-2495":{"renderedLength":394,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2494"},"c5e49757-2497":{"renderedLength":5051,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2496"},"c5e49757-2499":{"renderedLength":9439,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2498"},"c5e49757-2501":{"renderedLength":682,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2500"},"c5e49757-2503":{"renderedLength":1927,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2502"},"c5e49757-2505":{"renderedLength":2852,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2504"},"c5e49757-2507":{"renderedLength":15518,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2506"},"c5e49757-2509":{"renderedLength":3407,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2508"},"c5e49757-2511":{"renderedLength":25238,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2510"},"c5e49757-2513":{"renderedLength":4074,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2512"},"c5e49757-2515":{"renderedLength":10378,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2514"},"c5e49757-2517":{"renderedLength":341,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2516"},"c5e49757-2519":{"renderedLength":7928,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2518"},"c5e49757-2521":{"renderedLength":5123,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2520"},"c5e49757-2523":{"renderedLength":31081,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2522"},"c5e49757-2525":{"renderedLength":4692,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2524"},"c5e49757-2527":{"renderedLength":7815,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2526"},"c5e49757-2529":{"renderedLength":1759,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2528"},"c5e49757-2531":{"renderedLength":17318,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2530"},"c5e49757-2533":{"renderedLength":11574,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2532"},"c5e49757-2535":{"renderedLength":3793,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2534"},"c5e49757-2537":{"renderedLength":24279,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2536"},"c5e49757-2539":{"renderedLength":635,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2538"},"c5e49757-2541":{"renderedLength":563,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2540"},"c5e49757-2543":{"renderedLength":491,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2542"},"c5e49757-2545":{"renderedLength":149,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2544"},"c5e49757-2547":{"renderedLength":953,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2546"},"c5e49757-2549":{"renderedLength":389,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2548"},"c5e49757-2551":{"renderedLength":9528,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2550"},"c5e49757-2553":{"renderedLength":13414,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2552"},"c5e49757-2555":{"renderedLength":1792,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2554"},"c5e49757-2557":{"renderedLength":2032,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2556"},"c5e49757-2559":{"renderedLength":1880,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2558"},"c5e49757-2561":{"renderedLength":1990,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2560"},"c5e49757-2563":{"renderedLength":1412,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2562"},"c5e49757-2565":{"renderedLength":19193,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2564"},"c5e49757-2567":{"renderedLength":2109,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2566"},"c5e49757-2569":{"renderedLength":12197,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2568"},"c5e49757-2571":{"renderedLength":639,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2570"},"c5e49757-2573":{"renderedLength":1063,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2572"},"c5e49757-2575":{"renderedLength":8559,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2574"},"c5e49757-2577":{"renderedLength":872,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2576"},"c5e49757-2579":{"renderedLength":774,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2578"},"c5e49757-2581":{"renderedLength":1715,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2580"},"c5e49757-2583":{"renderedLength":925,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2582"},"c5e49757-2585":{"renderedLength":605,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2584"},"c5e49757-2587":{"renderedLength":785,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2586"},"c5e49757-2589":{"renderedLength":1714,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2588"},"c5e49757-2591":{"renderedLength":2914,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2590"},"c5e49757-2593":{"renderedLength":1131,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2592"},"c5e49757-2595":{"renderedLength":1669,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2594"},"c5e49757-2597":{"renderedLength":310,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2596"},"c5e49757-2599":{"renderedLength":507,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2598"},"c5e49757-2601":{"renderedLength":506,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2600"},"c5e49757-2603":{"renderedLength":4206,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2602"},"c5e49757-2605":{"renderedLength":4249,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2604"},"c5e49757-2607":{"renderedLength":1238,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2606"},"c5e49757-2609":{"renderedLength":2685,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2608"},"c5e49757-2611":{"renderedLength":966,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2610"},"c5e49757-2613":{"renderedLength":18407,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2612"},"c5e49757-2615":{"renderedLength":537,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2614"},"c5e49757-2617":{"renderedLength":3576,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2616"},"c5e49757-2619":{"renderedLength":2628,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2618"},"c5e49757-2621":{"renderedLength":3547,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2620"},"c5e49757-2623":{"renderedLength":72,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2622"},"c5e49757-2625":{"renderedLength":9837,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2624"},"c5e49757-2627":{"renderedLength":2085,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2626"},"c5e49757-2629":{"renderedLength":14000,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2628"},"c5e49757-2631":{"renderedLength":511,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2630"},"c5e49757-2633":{"renderedLength":6695,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2632"},"c5e49757-2635":{"renderedLength":8092,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2634"},"c5e49757-2637":{"renderedLength":11028,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2636"},"c5e49757-2639":{"renderedLength":18737,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2638"},"c5e49757-2641":{"renderedLength":397,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2640"},"c5e49757-2643":{"renderedLength":20783,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2642"},"c5e49757-2645":{"renderedLength":6829,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2644"},"c5e49757-2647":{"renderedLength":10359,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2646"},"c5e49757-2649":{"renderedLength":20261,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2648"},"c5e49757-2651":{"renderedLength":28,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2650"},"c5e49757-2653":{"renderedLength":821,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2652"},"c5e49757-2655":{"renderedLength":32,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2654"},"c5e49757-2657":{"renderedLength":161,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2656"},"c5e49757-2659":{"renderedLength":600,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2658"},"c5e49757-2661":{"renderedLength":729,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2660"},"c5e49757-2663":{"renderedLength":270,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2662"},"c5e49757-2665":{"renderedLength":243,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2664"},"c5e49757-2667":{"renderedLength":561,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2666"},"c5e49757-2669":{"renderedLength":597,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2668"},"c5e49757-2671":{"renderedLength":438,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2670"},"c5e49757-2673":{"renderedLength":586,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2672"},"c5e49757-2675":{"renderedLength":413,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2674"},"c5e49757-2677":{"renderedLength":604,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2676"},"c5e49757-2679":{"renderedLength":380,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2678"},"c5e49757-2681":{"renderedLength":296,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2680"},"c5e49757-2683":{"renderedLength":1049,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2682"},"c5e49757-2685":{"renderedLength":1190,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2684"},"c5e49757-2687":{"renderedLength":411,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2686"},"c5e49757-2689":{"renderedLength":904,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2688"},"c5e49757-2691":{"renderedLength":430,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2690"},"c5e49757-2693":{"renderedLength":697,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2692"},"c5e49757-2695":{"renderedLength":30,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2694"},"c5e49757-2697":{"renderedLength":476,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2696"},"c5e49757-2699":{"renderedLength":294,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2698"},"c5e49757-2701":{"renderedLength":573,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2700"},"c5e49757-2703":{"renderedLength":610,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2702"},"c5e49757-2705":{"renderedLength":674,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2704"},"c5e49757-2707":{"renderedLength":434,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2706"},"c5e49757-2709":{"renderedLength":378,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2708"},"c5e49757-2711":{"renderedLength":503,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2710"},"c5e49757-2713":{"renderedLength":339,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2712"},"c5e49757-2715":{"renderedLength":587,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2714"},"c5e49757-2717":{"renderedLength":332,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2716"},"c5e49757-2719":{"renderedLength":475,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2718"},"c5e49757-2721":{"renderedLength":454,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2720"},"c5e49757-2723":{"renderedLength":914,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2722"},"c5e49757-2725":{"renderedLength":1106,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2724"},"c5e49757-2727":{"renderedLength":487,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2726"},"c5e49757-2729":{"renderedLength":2068,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2728"},"c5e49757-2731":{"renderedLength":32,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2730"},"c5e49757-2733":{"renderedLength":877,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2732"},"c5e49757-2735":{"renderedLength":619,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2734"},"c5e49757-2737":{"renderedLength":437,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2736"},"c5e49757-2739":{"renderedLength":461,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2738"},"c5e49757-2741":{"renderedLength":702,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2740"},"c5e49757-2743":{"renderedLength":332,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2742"},"c5e49757-2745":{"renderedLength":190,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2744"},"c5e49757-2747":{"renderedLength":2200,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2746"},"c5e49757-2749":{"renderedLength":2704,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2748"},"c5e49757-2751":{"renderedLength":1116,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2750"},"c5e49757-2753":{"renderedLength":385,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2752"},"c5e49757-2755":{"renderedLength":1182,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2754"},"c5e49757-2757":{"renderedLength":531,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2756"},"c5e49757-2759":{"renderedLength":557,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2758"},"c5e49757-2761":{"renderedLength":20,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2760"},"c5e49757-2763":{"renderedLength":32,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2762"},"c5e49757-2765":{"renderedLength":40,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2764"},"c5e49757-2767":{"renderedLength":36,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2766"},"c5e49757-2769":{"renderedLength":910,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2768"},"c5e49757-2771":{"renderedLength":767,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2770"},"c5e49757-2773":{"renderedLength":466,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2772"},"c5e49757-2775":{"renderedLength":1309,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2774"},"c5e49757-2777":{"renderedLength":35,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2776"},"c5e49757-2779":{"renderedLength":439,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2778"},"c5e49757-2781":{"renderedLength":568,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2780"},"c5e49757-2783":{"renderedLength":671,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2782"},"c5e49757-2785":{"renderedLength":483,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2784"},"c5e49757-2787":{"renderedLength":425,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2786"},"c5e49757-2789":{"renderedLength":1539,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2788"},"c5e49757-2791":{"renderedLength":875,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2790"},"c5e49757-2793":{"renderedLength":364,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2792"},"c5e49757-2795":{"renderedLength":719,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2794"},"c5e49757-2797":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2796"},"c5e49757-2799":{"renderedLength":393,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2798"},"c5e49757-2801":{"renderedLength":788,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2800"},"c5e49757-2803":{"renderedLength":939,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2802"},"c5e49757-2805":{"renderedLength":766,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2804"},"c5e49757-2807":{"renderedLength":2757,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2806"},"c5e49757-2809":{"renderedLength":309,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2808"},"c5e49757-2811":{"renderedLength":659,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2810"},"c5e49757-2813":{"renderedLength":371,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2812"},"c5e49757-2815":{"renderedLength":521,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2814"},"c5e49757-2817":{"renderedLength":1319,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2816"},"c5e49757-2819":{"renderedLength":642,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2818"},"c5e49757-2821":{"renderedLength":617,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2820"},"c5e49757-2823":{"renderedLength":702,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2822"},"c5e49757-2825":{"renderedLength":396,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2824"},"c5e49757-2827":{"renderedLength":1924,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2826"},"c5e49757-2829":{"renderedLength":514,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2828"},"c5e49757-2831":{"renderedLength":769,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2830"},"c5e49757-2833":{"renderedLength":570,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2832"},"c5e49757-2835":{"renderedLength":608,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2834"},"c5e49757-2837":{"renderedLength":664,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2836"},"c5e49757-2839":{"renderedLength":221,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2838"},"c5e49757-2841":{"renderedLength":259,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2840"},"c5e49757-2843":{"renderedLength":444,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2842"},"c5e49757-2845":{"renderedLength":349,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2844"},"c5e49757-2847":{"renderedLength":3463,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2846"},"c5e49757-2849":{"renderedLength":636,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2848"},"c5e49757-2851":{"renderedLength":636,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2850"},"c5e49757-2853":{"renderedLength":355,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2852"},"c5e49757-2855":{"renderedLength":340,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2854"},"c5e49757-2857":{"renderedLength":2694,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2856"},"c5e49757-2859":{"renderedLength":422,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2858"},"c5e49757-2861":{"renderedLength":307,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2860"},"c5e49757-2863":{"renderedLength":346,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2862"},"c5e49757-2865":{"renderedLength":302,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2864"},"c5e49757-2867":{"renderedLength":391,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2866"},"c5e49757-2869":{"renderedLength":2780,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2868"},"c5e49757-2871":{"renderedLength":30,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2870"},"c5e49757-2873":{"renderedLength":827,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2872"},"c5e49757-2875":{"renderedLength":9880,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2874"},"c5e49757-2877":{"renderedLength":24,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2876"},"c5e49757-2879":{"renderedLength":182,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2878"},"c5e49757-2881":{"renderedLength":593,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2880"},"c5e49757-2883":{"renderedLength":648,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2882"},"c5e49757-2885":{"renderedLength":711,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2884"},"c5e49757-2887":{"renderedLength":809,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2886"},"c5e49757-2889":{"renderedLength":2583,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2888"},"c5e49757-2891":{"renderedLength":1389,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2890"},"c5e49757-2893":{"renderedLength":761,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2892"},"c5e49757-2895":{"renderedLength":1518,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2894"},"c5e49757-2897":{"renderedLength":26,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2896"},"c5e49757-2899":{"renderedLength":1257,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2898"},"c5e49757-2901":{"renderedLength":25,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2900"},"c5e49757-2903":{"renderedLength":1127,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2902"},"c5e49757-2905":{"renderedLength":27,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2904"},"c5e49757-2907":{"renderedLength":732,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2906"},"c5e49757-2909":{"renderedLength":28,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2908"},"c5e49757-2911":{"renderedLength":589,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2910"},"c5e49757-2913":{"renderedLength":946,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2912"},"c5e49757-2915":{"renderedLength":417,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2914"},"c5e49757-2917":{"renderedLength":35,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2916"},"c5e49757-2919":{"renderedLength":760,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2918"},"c5e49757-2921":{"renderedLength":22,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2920"},"c5e49757-2923":{"renderedLength":421,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2922"},"c5e49757-2925":{"renderedLength":986,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2924"},"c5e49757-2927":{"renderedLength":534,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2926"},"c5e49757-2929":{"renderedLength":3085,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2928"},"c5e49757-2931":{"renderedLength":953,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2930"},"c5e49757-2933":{"renderedLength":715,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2932"},"c5e49757-2935":{"renderedLength":23,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2934"},"c5e49757-2937":{"renderedLength":388,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2936"},"c5e49757-2939":{"renderedLength":402,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2938"},"c5e49757-2941":{"renderedLength":1317,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2940"},"c5e49757-2943":{"renderedLength":1088,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2942"},"c5e49757-2945":{"renderedLength":414,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2944"},"c5e49757-2947":{"renderedLength":24,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2946"},"c5e49757-2949":{"renderedLength":724,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2948"},"c5e49757-2951":{"renderedLength":1069,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2950"},"c5e49757-2953":{"renderedLength":32,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2952"},"c5e49757-2955":{"renderedLength":492,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2954"},"c5e49757-2957":{"renderedLength":1074,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2956"},"c5e49757-2959":{"renderedLength":3216,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2958"},"c5e49757-2961":{"renderedLength":599,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2960"},"c5e49757-2963":{"renderedLength":615,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2962"},"c5e49757-2965":{"renderedLength":4125,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2964"},"c5e49757-2967":{"renderedLength":417,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2966"},"c5e49757-2969":{"renderedLength":25,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2968"},"c5e49757-2971":{"renderedLength":2948,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2970"},"c5e49757-2973":{"renderedLength":1574,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2972"},"c5e49757-2975":{"renderedLength":488,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2974"},"c5e49757-2977":{"renderedLength":856,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2976"},"c5e49757-2979":{"renderedLength":1903,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2978"},"c5e49757-2981":{"renderedLength":27,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2980"},"c5e49757-2983":{"renderedLength":1841,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2982"},"c5e49757-2985":{"renderedLength":5692,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2984"},"c5e49757-2987":{"renderedLength":30,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2986"},"c5e49757-2989":{"renderedLength":550,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2988"},"c5e49757-2991":{"renderedLength":387,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2990"},"c5e49757-2993":{"renderedLength":610,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2992"},"c5e49757-2995":{"renderedLength":1602,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2994"},"c5e49757-2997":{"renderedLength":23,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2996"},"c5e49757-2999":{"renderedLength":548,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-2998"},"c5e49757-3001":{"renderedLength":832,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3000"},"c5e49757-3003":{"renderedLength":25,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3002"},"c5e49757-3005":{"renderedLength":521,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3004"},"c5e49757-3007":{"renderedLength":544,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3006"},"c5e49757-3009":{"renderedLength":2327,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3008"},"c5e49757-3011":{"renderedLength":24,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3010"},"c5e49757-3013":{"renderedLength":667,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3012"},"c5e49757-3015":{"renderedLength":25,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3014"},"c5e49757-3017":{"renderedLength":1649,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3016"},"c5e49757-3019":{"renderedLength":977,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3018"},"c5e49757-3021":{"renderedLength":28,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3020"},"c5e49757-3023":{"renderedLength":1659,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3022"},"c5e49757-3025":{"renderedLength":25,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3024"},"c5e49757-3027":{"renderedLength":4689,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3026"},"c5e49757-3029":{"renderedLength":26,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3028"},"c5e49757-3031":{"renderedLength":1049,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3030"},"c5e49757-3033":{"renderedLength":24,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3032"},"c5e49757-3035":{"renderedLength":718,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3034"},"c5e49757-3037":{"renderedLength":536,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3036"},"c5e49757-3039":{"renderedLength":26,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3038"},"c5e49757-3041":{"renderedLength":707,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3040"},"c5e49757-3043":{"renderedLength":515,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3042"},"c5e49757-3045":{"renderedLength":36,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3044"},"c5e49757-3047":{"renderedLength":972,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3046"},"c5e49757-3049":{"renderedLength":667,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3048"},"c5e49757-3051":{"renderedLength":1074,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3050"},"c5e49757-3053":{"renderedLength":23,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3052"},"c5e49757-3055":{"renderedLength":669,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3054"},"c5e49757-3057":{"renderedLength":2117,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3056"},"c5e49757-3059":{"renderedLength":642,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3058"},"c5e49757-3061":{"renderedLength":27,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3060"},"c5e49757-3063":{"renderedLength":838,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3062"},"c5e49757-3065":{"renderedLength":934,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3064"},"c5e49757-3067":{"renderedLength":26,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3066"},"c5e49757-3069":{"renderedLength":1104,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3068"},"c5e49757-3071":{"renderedLength":23,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3070"},"c5e49757-3073":{"renderedLength":653,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3072"},"c5e49757-3075":{"renderedLength":28,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3074"},"c5e49757-3077":{"renderedLength":966,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3076"},"c5e49757-3079":{"renderedLength":28,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3078"},"c5e49757-3081":{"renderedLength":546,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3080"},"c5e49757-3083":{"renderedLength":1107,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3082"},"c5e49757-3085":{"renderedLength":1888,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3084"},"c5e49757-3087":{"renderedLength":984,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3086"},"c5e49757-3089":{"renderedLength":4558,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3088"},"c5e49757-3091":{"renderedLength":455,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3090"},"c5e49757-3093":{"renderedLength":1320,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3092"},"c5e49757-3095":{"renderedLength":26,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3094"},"c5e49757-3097":{"renderedLength":819,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3096"},"c5e49757-3099":{"renderedLength":31,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3098"},"c5e49757-3101":{"renderedLength":178,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3100"},"c5e49757-3103":{"renderedLength":927,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3102"},"c5e49757-3105":{"renderedLength":392,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3104"},"c5e49757-3107":{"renderedLength":4626,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3106"},"c5e49757-3109":{"renderedLength":23,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3108"},"c5e49757-3111":{"renderedLength":870,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3110"},"c5e49757-3113":{"renderedLength":522,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3112"},"c5e49757-3115":{"renderedLength":28,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3114"},"c5e49757-3117":{"renderedLength":630,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3116"},"c5e49757-3119":{"renderedLength":1200,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3118"},"c5e49757-3121":{"renderedLength":2731,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3120"},"c5e49757-3123":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3122"},"c5e49757-3125":{"renderedLength":1876,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3124"},"c5e49757-3127":{"renderedLength":16,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3126"},"c5e49757-3129":{"renderedLength":28,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3128"},"c5e49757-3131":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3130"},"c5e49757-3133":{"renderedLength":43,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3132"},"c5e49757-3135":{"renderedLength":1115,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3134"},"c5e49757-3137":{"renderedLength":714,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3136"},"c5e49757-3139":{"renderedLength":938,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3138"},"c5e49757-3141":{"renderedLength":400,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3140"},"c5e49757-3143":{"renderedLength":2936,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3142"},"c5e49757-3145":{"renderedLength":4589,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3144"},"c5e49757-3147":{"renderedLength":391,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3146"},"c5e49757-3149":{"renderedLength":8201,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3148"},"c5e49757-3151":{"renderedLength":516,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3150"},"c5e49757-3153":{"renderedLength":244,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3152"},"c5e49757-3155":{"renderedLength":26,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3154"},"c5e49757-3157":{"renderedLength":893,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3156"},"c5e49757-3159":{"renderedLength":35,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3158"},"c5e49757-3161":{"renderedLength":713,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3160"},"c5e49757-3163":{"renderedLength":41,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3162"},"c5e49757-3165":{"renderedLength":355126,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3164"},"c5e49757-3167":{"renderedLength":92975,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3166"},"c5e49757-3169":{"renderedLength":634,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3168"},"c5e49757-3171":{"renderedLength":709,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3170"},"c5e49757-3173":{"renderedLength":2981,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3172"},"c5e49757-3175":{"renderedLength":6566,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3174"},"c5e49757-3177":{"renderedLength":754,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3176"},"c5e49757-3179":{"renderedLength":31,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3178"},"c5e49757-3181":{"renderedLength":4163,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3180"},"c5e49757-3183":{"renderedLength":291202,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3182"},"c5e49757-3185":{"renderedLength":15662,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3184"},"c5e49757-3187":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3186"},"c5e49757-3189":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3188"},"c5e49757-3191":{"renderedLength":742,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3190"},"c5e49757-3193":{"renderedLength":6358,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3192"},"c5e49757-3195":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3194"},"c5e49757-3197":{"renderedLength":101,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3196"},"c5e49757-3199":{"renderedLength":5749,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3198"},"c5e49757-3201":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3200"},"c5e49757-3203":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3202"},"c5e49757-3205":{"renderedLength":13,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3204"},"c5e49757-3207":{"renderedLength":291551,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3206"},"c5e49757-3209":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3208"},"c5e49757-3211":{"renderedLength":30,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3210"},"c5e49757-3213":{"renderedLength":11955,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3212"},"c5e49757-3215":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3214"},"c5e49757-3217":{"renderedLength":2385,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3216"},"c5e49757-3219":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3218"},"c5e49757-3221":{"renderedLength":88,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3220"},"c5e49757-3223":{"renderedLength":24,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3222"},"c5e49757-3225":{"renderedLength":13,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3224"},"c5e49757-3227":{"renderedLength":2381,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3226"},"c5e49757-3229":{"renderedLength":17,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3228"},"c5e49757-3231":{"renderedLength":16,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3230"},"c5e49757-3233":{"renderedLength":12,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3232"},"c5e49757-3235":{"renderedLength":323,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3234"},"c5e49757-3237":{"renderedLength":28351,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3236"},"c5e49757-3239":{"renderedLength":16,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3238"},"c5e49757-3241":{"renderedLength":1691,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3240"},"c5e49757-3243":{"renderedLength":13023,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3242"},"c5e49757-3245":{"renderedLength":2712,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3244"},"c5e49757-3247":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3246"},"c5e49757-3249":{"renderedLength":284,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3248"},"c5e49757-3251":{"renderedLength":2228,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3250"},"c5e49757-3253":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3252"},"c5e49757-3255":{"renderedLength":88,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3254"},"c5e49757-3257":{"renderedLength":2388,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3256"},"c5e49757-3259":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3258"},"c5e49757-3261":{"renderedLength":88,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3260"},"c5e49757-3263":{"renderedLength":48,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3262"},"c5e49757-3265":{"renderedLength":49,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3264"},"c5e49757-3267":{"renderedLength":49,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3266"},"c5e49757-3269":{"renderedLength":4650,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3268"},"c5e49757-3271":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3270"},"c5e49757-3273":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3272"},"c5e49757-3275":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3274"},"c5e49757-3277":{"renderedLength":603,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3276"},"c5e49757-3279":{"renderedLength":4612,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3278"},"c5e49757-3281":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3280"},"c5e49757-3283":{"renderedLength":96,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3282"},"c5e49757-3285":{"renderedLength":18944,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3284"},"c5e49757-3287":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3286"},"c5e49757-3289":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3288"},"c5e49757-3291":{"renderedLength":14241,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3290"},"c5e49757-3293":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3292"},"c5e49757-3295":{"renderedLength":91,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3294"},"c5e49757-3297":{"renderedLength":50120,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3296"},"c5e49757-3299":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3298"},"c5e49757-3301":{"renderedLength":99,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3300"},"c5e49757-3303":{"renderedLength":1385,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3302"},"c5e49757-3305":{"renderedLength":102,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3304"},"c5e49757-3307":{"renderedLength":1700,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3306"},"c5e49757-3309":{"renderedLength":2005,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3308"},"c5e49757-3311":{"renderedLength":568,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3310"},"c5e49757-3313":{"renderedLength":3672,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3312"},"c5e49757-3315":{"renderedLength":4016,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3314"},"c5e49757-3317":{"renderedLength":188,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3316"},"c5e49757-3319":{"renderedLength":8101,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3318"},"c5e49757-3321":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3320"},"c5e49757-3323":{"renderedLength":98,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3322"},"c5e49757-3325":{"renderedLength":107273,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3324"},"c5e49757-3327":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3326"},"c5e49757-3329":{"renderedLength":1196,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3328"},"c5e49757-3331":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3330"},"c5e49757-3333":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3332"},"c5e49757-3335":{"renderedLength":1305,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3334"},"c5e49757-3337":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3336"},"c5e49757-3339":{"renderedLength":88,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3338"},"c5e49757-3341":{"renderedLength":10534,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3340"},"c5e49757-3343":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3342"},"c5e49757-3345":{"renderedLength":98,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3344"},"c5e49757-3347":{"renderedLength":8267,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3346"},"c5e49757-3349":{"renderedLength":29592,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3348"},"c5e49757-3351":{"renderedLength":183820,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3350"},"c5e49757-3353":{"renderedLength":44029,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3352"},"c5e49757-3355":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3354"},"c5e49757-3357":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3356"},"c5e49757-3359":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3358"},"c5e49757-3361":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3360"},"c5e49757-3363":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3362"},"c5e49757-3365":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3364"},"c5e49757-3367":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3366"},"c5e49757-3369":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3368"},"c5e49757-3371":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3370"},"c5e49757-3373":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3372"},"c5e49757-3375":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3374"},"c5e49757-3377":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3376"},"c5e49757-3379":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3378"},"c5e49757-3381":{"renderedLength":3019,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3380"},"c5e49757-3383":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3382"},"c5e49757-3385":{"renderedLength":96,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3384"},"c5e49757-3387":{"renderedLength":28499,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3386"},"c5e49757-3389":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3388"},"c5e49757-3391":{"renderedLength":114,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3390"},"c5e49757-3393":{"renderedLength":30963,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3392"},"c5e49757-3395":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3394"},"c5e49757-3397":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3396"},"c5e49757-3399":{"renderedLength":5604,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3398"},"c5e49757-3401":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3400"},"c5e49757-3403":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3402"},"c5e49757-3405":{"renderedLength":3165,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3404"},"c5e49757-3407":{"renderedLength":5835,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3406"},"c5e49757-3409":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3408"},"c5e49757-3411":{"renderedLength":90,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3410"},"c5e49757-3413":{"renderedLength":40287,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3412"},"c5e49757-3415":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3414"},"c5e49757-3417":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3416"},"c5e49757-3419":{"renderedLength":1074,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3418"},"c5e49757-3421":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3420"},"c5e49757-3423":{"renderedLength":940,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3422"},"c5e49757-3425":{"renderedLength":41218,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3424"},"c5e49757-3427":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3426"},"c5e49757-3429":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3428"},"c5e49757-3431":{"renderedLength":5780,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3430"},"c5e49757-3433":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3432"},"c5e49757-3435":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3434"},"c5e49757-3437":{"renderedLength":5264,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3436"},"c5e49757-3439":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3438"},"c5e49757-3441":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3440"},"c5e49757-3443":{"renderedLength":38955,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3442"},"c5e49757-3445":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3444"},"c5e49757-3447":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3446"},"c5e49757-3449":{"renderedLength":39804,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3448"},"c5e49757-3451":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3450"},"c5e49757-3453":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3452"},"c5e49757-3455":{"renderedLength":39078,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3454"},"c5e49757-3457":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3456"},"c5e49757-3459":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3458"},"c5e49757-3461":{"renderedLength":41937,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3460"},"c5e49757-3463":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3462"},"c5e49757-3465":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3464"},"c5e49757-3467":{"renderedLength":4596,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3466"},"c5e49757-3469":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3468"},"c5e49757-3471":{"renderedLength":96,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3470"},"c5e49757-3473":{"renderedLength":46123,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3472"},"c5e49757-3475":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3474"},"c5e49757-3477":{"renderedLength":23026,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3476"},"c5e49757-3479":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3478"},"c5e49757-3481":{"renderedLength":116,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3480"},"c5e49757-3483":{"renderedLength":50216,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3482"},"c5e49757-3485":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3484"},"c5e49757-3487":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3486"},"c5e49757-3489":{"renderedLength":1617,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3488"},"c5e49757-3491":{"renderedLength":62337,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3490"},"c5e49757-3493":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3492"},"c5e49757-3495":{"renderedLength":91,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3494"},"c5e49757-3497":{"renderedLength":34243,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3496"},"c5e49757-3499":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3498"},"c5e49757-3501":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3500"},"c5e49757-3503":{"renderedLength":11902,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3502"},"c5e49757-3505":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3504"},"c5e49757-3507":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3506"},"c5e49757-3509":{"renderedLength":5589,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3508"},"c5e49757-3511":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3510"},"c5e49757-3513":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3512"},"c5e49757-3515":{"renderedLength":989,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3514"},"c5e49757-3517":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3516"},"c5e49757-3519":{"renderedLength":93,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3518"},"c5e49757-3521":{"renderedLength":1474,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3520"},"c5e49757-3523":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3522"},"c5e49757-3525":{"renderedLength":93,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3524"},"c5e49757-3527":{"renderedLength":5632,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3526"},"c5e49757-3529":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3528"},"c5e49757-3531":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3530"},"c5e49757-3533":{"renderedLength":16001,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3532"},"c5e49757-3535":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3534"},"c5e49757-3537":{"renderedLength":1548,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3536"},"c5e49757-3539":{"renderedLength":28,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3538"},"c5e49757-3541":{"renderedLength":1208,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3540"},"c5e49757-3543":{"renderedLength":362,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3542"},"c5e49757-3545":{"renderedLength":5031,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3544"},"c5e49757-3547":{"renderedLength":717,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3546"},"c5e49757-3549":{"renderedLength":406,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3548"},"c5e49757-3551":{"renderedLength":2479,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3550"},"c5e49757-3553":{"renderedLength":1328,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3552"},"c5e49757-3555":{"renderedLength":479,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3554"},"c5e49757-3557":{"renderedLength":30425,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3556"},"c5e49757-3559":{"renderedLength":5642,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3558"},"c5e49757-3561":{"renderedLength":26390,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3560"},"c5e49757-3563":{"renderedLength":17135,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3562"},"c5e49757-3565":{"renderedLength":998,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3564"},"c5e49757-3567":{"renderedLength":3265,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3566"},"c5e49757-3569":{"renderedLength":3277,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3568"},"c5e49757-3571":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3570"},"c5e49757-3573":{"renderedLength":1099,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3572"},"c5e49757-3575":{"renderedLength":2216,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3574"},"c5e49757-3577":{"renderedLength":215,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3576"},"c5e49757-3579":{"renderedLength":51345,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3578"},"c5e49757-3581":{"renderedLength":2728,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3580"},"c5e49757-3583":{"renderedLength":6532,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3582"},"c5e49757-3585":{"renderedLength":6626,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3584"},"c5e49757-3587":{"renderedLength":6648,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3586"},"c5e49757-3589":{"renderedLength":272,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3588"},"c5e49757-3591":{"renderedLength":271,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3590"},"c5e49757-3593":{"renderedLength":271,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3592"},"c5e49757-3595":{"renderedLength":819,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3594"},"c5e49757-3597":{"renderedLength":767,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3596"},"c5e49757-3599":{"renderedLength":763,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3598"},"c5e49757-3601":{"renderedLength":1342,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3600"},"c5e49757-3603":{"renderedLength":807,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3602"},"c5e49757-3605":{"renderedLength":3781,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3604"},"c5e49757-3607":{"renderedLength":23,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3606"},"c5e49757-3609":{"renderedLength":891,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3608"},"c5e49757-3611":{"renderedLength":3176,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3610"},"c5e49757-3613":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3612"},"c5e49757-3615":{"renderedLength":1057,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3614"},"c5e49757-3617":{"renderedLength":827,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3616"},"c5e49757-3619":{"renderedLength":1908,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3618"},"c5e49757-3621":{"renderedLength":97,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3620"},"c5e49757-3623":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3622"},"c5e49757-3625":{"renderedLength":228,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3624"},"c5e49757-3627":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3626"},"c5e49757-3629":{"renderedLength":47707,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3628"},"c5e49757-3631":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3630"},"c5e49757-3633":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3632"},"c5e49757-3635":{"renderedLength":5649,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3634"},"c5e49757-3637":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3636"},"c5e49757-3639":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3638"},"c5e49757-3641":{"renderedLength":5828,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3640"},"c5e49757-3643":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3642"},"c5e49757-3645":{"renderedLength":106,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3644"},"c5e49757-3647":{"renderedLength":4042,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3646"},"c5e49757-3649":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3648"},"c5e49757-3651":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3650"},"c5e49757-3653":{"renderedLength":43349,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3652"},"c5e49757-3655":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3654"},"c5e49757-3657":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3656"},"c5e49757-3659":{"renderedLength":141,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3658"},"c5e49757-3661":{"renderedLength":15995,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3660"},"c5e49757-3663":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3662"},"c5e49757-3665":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3664"},"c5e49757-3667":{"renderedLength":178,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3666"},"c5e49757-3669":{"renderedLength":18913,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3668"},"c5e49757-3671":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3670"},"c5e49757-3673":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3672"},"c5e49757-3675":{"renderedLength":32985,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3674"},"c5e49757-3677":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3676"},"c5e49757-3679":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3678"},"c5e49757-3681":{"renderedLength":8047,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3680"},"c5e49757-3683":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3682"},"c5e49757-3685":{"renderedLength":111,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3684"},"c5e49757-3687":{"renderedLength":13945,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3686"},"c5e49757-3689":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3688"},"c5e49757-3691":{"renderedLength":98,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3690"},"c5e49757-3693":{"renderedLength":18806,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3692"},"c5e49757-3695":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3694"},"c5e49757-3697":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3696"},"c5e49757-3699":{"renderedLength":5604,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3698"},"c5e49757-3701":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3700"},"c5e49757-3703":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3702"},"c5e49757-3705":{"renderedLength":37651,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3704"},"c5e49757-3707":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3706"},"c5e49757-3709":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3708"},"c5e49757-3711":{"renderedLength":52585,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3710"},"c5e49757-3713":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3712"},"c5e49757-3715":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3714"},"c5e49757-3717":{"renderedLength":5576,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3716"},"c5e49757-3719":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3718"},"c5e49757-3721":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3720"},"c5e49757-3723":{"renderedLength":3704,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3722"},"c5e49757-3725":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3724"},"c5e49757-3727":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3726"},"c5e49757-3729":{"renderedLength":50371,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3728"},"c5e49757-3731":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3730"},"c5e49757-3733":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3732"},"c5e49757-3735":{"renderedLength":5688,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3734"},"c5e49757-3737":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3736"},"c5e49757-3739":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3738"},"c5e49757-3741":{"renderedLength":13942,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3740"},"c5e49757-3743":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3742"},"c5e49757-3745":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3744"},"c5e49757-3747":{"renderedLength":30663,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3746"},"c5e49757-3749":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3748"},"c5e49757-3751":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3750"},"c5e49757-3753":{"renderedLength":12267,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3752"},"c5e49757-3755":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3754"},"c5e49757-3757":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3756"},"c5e49757-3759":{"renderedLength":34098,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3758"},"c5e49757-3761":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3760"},"c5e49757-3763":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3762"},"c5e49757-3765":{"renderedLength":1881,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3764"},"c5e49757-3767":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3766"},"c5e49757-3769":{"renderedLength":93,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3768"},"c5e49757-3771":{"renderedLength":39084,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3770"},"c5e49757-3773":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3772"},"c5e49757-3775":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3774"},"c5e49757-3777":{"renderedLength":57177,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3776"},"c5e49757-3779":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3778"},"c5e49757-3781":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3780"},"c5e49757-3783":{"renderedLength":46855,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3782"},"c5e49757-3785":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3784"},"c5e49757-3787":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3786"},"c5e49757-3789":{"renderedLength":34243,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3788"},"c5e49757-3791":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3790"},"c5e49757-3793":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3792"},"c5e49757-3795":{"renderedLength":50663,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3794"},"c5e49757-3797":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3796"},"c5e49757-3799":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3798"},"c5e49757-3801":{"renderedLength":20683,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3800"},"c5e49757-3803":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3802"},"c5e49757-3805":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3804"},"c5e49757-3807":{"renderedLength":3313,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3806"},"c5e49757-3809":{"renderedLength":349936,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3808"},"c5e49757-3811":{"renderedLength":68,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3810"},"c5e49757-3813":{"renderedLength":1096,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3812"},"c5e49757-3815":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3814"},"c5e49757-3817":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3816"},"c5e49757-3819":{"renderedLength":20596,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3818"},"c5e49757-3821":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3820"},"c5e49757-3823":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3822"},"c5e49757-3825":{"renderedLength":731,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3824"},"c5e49757-3827":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3826"},"c5e49757-3829":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3828"},"c5e49757-3831":{"renderedLength":9788,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3830"},"c5e49757-3833":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3832"},"c5e49757-3835":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3834"},"c5e49757-3837":{"renderedLength":3677,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3836"},"c5e49757-3839":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3838"},"c5e49757-3841":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3840"},"c5e49757-3843":{"renderedLength":4055,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3842"},"c5e49757-3845":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3844"},"c5e49757-3847":{"renderedLength":90,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3846"},"c5e49757-3849":{"renderedLength":1790,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3848"},"c5e49757-3851":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3850"},"c5e49757-3853":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3852"},"c5e49757-3855":{"renderedLength":304,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3854"},"c5e49757-3857":{"renderedLength":5854,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3856"},"c5e49757-3859":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3858"},"c5e49757-3861":{"renderedLength":91,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3860"},"c5e49757-3863":{"renderedLength":4406,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3862"},"c5e49757-3865":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3864"},"c5e49757-3867":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3866"},"c5e49757-3869":{"renderedLength":13185,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3868"},"c5e49757-3871":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3870"},"c5e49757-3873":{"renderedLength":92,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3872"},"c5e49757-3875":{"renderedLength":17240,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3874"},"c5e49757-3877":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3876"},"c5e49757-3879":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3878"},"c5e49757-3881":{"renderedLength":617,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3880"},"c5e49757-3883":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3882"},"c5e49757-3885":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3884"},"c5e49757-3887":{"renderedLength":921,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3886"},"c5e49757-3889":{"renderedLength":19315,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3888"},"c5e49757-3891":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3890"},"c5e49757-3893":{"renderedLength":109,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3892"},"c5e49757-3895":{"renderedLength":14276,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3894"},"c5e49757-3897":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3896"},"c5e49757-3899":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3898"},"c5e49757-3901":{"renderedLength":5878,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3900"},"c5e49757-3903":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3902"},"c5e49757-3905":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3904"},"c5e49757-3907":{"renderedLength":14131,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3906"},"c5e49757-3909":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3908"},"c5e49757-3911":{"renderedLength":93,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3910"},"c5e49757-3913":{"renderedLength":25629,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3912"},"c5e49757-3915":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3914"},"c5e49757-3917":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3916"},"c5e49757-3919":{"renderedLength":10635,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3918"},"c5e49757-3921":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3920"},"c5e49757-3923":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3922"},"c5e49757-3925":{"renderedLength":37454,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3924"},"c5e49757-3927":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3926"},"c5e49757-3929":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3928"},"c5e49757-3931":{"renderedLength":1189,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3930"},"c5e49757-3933":{"renderedLength":18815,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3932"},"c5e49757-3935":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3934"},"c5e49757-3937":{"renderedLength":111,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3936"},"c5e49757-3939":{"renderedLength":7803,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3938"},"c5e49757-3941":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3940"},"c5e49757-3943":{"renderedLength":96,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3942"},"c5e49757-3945":{"renderedLength":1063,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3944"},"c5e49757-3947":{"renderedLength":10407,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3946"},"c5e49757-3949":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3948"},"c5e49757-3951":{"renderedLength":105,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3950"},"c5e49757-3953":{"renderedLength":24006,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3952"},"c5e49757-3955":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3954"},"c5e49757-3957":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3956"},"c5e49757-3959":{"renderedLength":22978,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3958"},"c5e49757-3961":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3960"},"c5e49757-3963":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3962"},"c5e49757-3965":{"renderedLength":8584,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3964"},"c5e49757-3967":{"renderedLength":20140,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3966"},"c5e49757-3969":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3968"},"c5e49757-3971":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3970"},"c5e49757-3973":{"renderedLength":273,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3972"},"c5e49757-3975":{"renderedLength":43143,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3974"},"c5e49757-3977":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3976"},"c5e49757-3979":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3978"},"c5e49757-3981":{"renderedLength":360,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3980"},"c5e49757-3983":{"renderedLength":7343,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3982"},"c5e49757-3985":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3984"},"c5e49757-3987":{"renderedLength":99,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3986"},"c5e49757-3989":{"renderedLength":37745,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3988"},"c5e49757-3991":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3990"},"c5e49757-3993":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3992"},"c5e49757-3995":{"renderedLength":9624,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3994"},"c5e49757-3997":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3996"},"c5e49757-3999":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-3998"},"c5e49757-4001":{"renderedLength":28897,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4000"},"c5e49757-4003":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4002"},"c5e49757-4005":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4004"},"c5e49757-4007":{"renderedLength":16546,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4006"},"c5e49757-4009":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4008"},"c5e49757-4011":{"renderedLength":88,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4010"},"c5e49757-4013":{"renderedLength":1762,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4012"},"c5e49757-4015":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4014"},"c5e49757-4017":{"renderedLength":93,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4016"},"c5e49757-4019":{"renderedLength":17702,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4018"},"c5e49757-4021":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4020"},"c5e49757-4023":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4022"},"c5e49757-4025":{"renderedLength":1762,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4024"},"c5e49757-4027":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4026"},"c5e49757-4029":{"renderedLength":93,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4028"},"c5e49757-4031":{"renderedLength":14143,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4030"},"c5e49757-4033":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4032"},"c5e49757-4035":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4034"},"c5e49757-4037":{"renderedLength":34037,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4036"},"c5e49757-4039":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4038"},"c5e49757-4041":{"renderedLength":73772,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4040"},"c5e49757-4043":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4042"},"c5e49757-4045":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4044"},"c5e49757-4047":{"renderedLength":1832,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4046"},"c5e49757-4049":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4048"},"c5e49757-4051":{"renderedLength":93,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4050"},"c5e49757-4053":{"renderedLength":16863,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4052"},"c5e49757-4055":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4054"},"c5e49757-4057":{"renderedLength":93,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4056"},"c5e49757-4059":{"renderedLength":19217,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4058"},"c5e49757-4061":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4060"},"c5e49757-4063":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4062"},"c5e49757-4065":{"renderedLength":14276,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4064"},"c5e49757-4067":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4066"},"c5e49757-4069":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4068"},"c5e49757-4071":{"renderedLength":33362,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4070"},"c5e49757-4073":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4072"},"c5e49757-4075":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4074"},"c5e49757-4077":{"renderedLength":3668,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4076"},"c5e49757-4079":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4078"},"c5e49757-4081":{"renderedLength":91,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4080"},"c5e49757-4083":{"renderedLength":63183,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4082"},"c5e49757-4085":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4084"},"c5e49757-4087":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4086"},"c5e49757-4089":{"renderedLength":48397,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4088"},"c5e49757-4091":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4090"},"c5e49757-4093":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4092"},"c5e49757-4095":{"renderedLength":14276,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4094"},"c5e49757-4097":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4096"},"c5e49757-4099":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4098"},"c5e49757-4101":{"renderedLength":697,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4100"},"c5e49757-4103":{"renderedLength":15024,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4102"},"c5e49757-4105":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4104"},"c5e49757-4107":{"renderedLength":96,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4106"},"c5e49757-4109":{"renderedLength":10998,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4108"},"c5e49757-4111":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4110"},"c5e49757-4113":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4112"},"c5e49757-4115":{"renderedLength":22875,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4114"},"c5e49757-4117":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4116"},"c5e49757-4119":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4118"},"c5e49757-4121":{"renderedLength":19604,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4120"},"c5e49757-4123":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4122"},"c5e49757-4125":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4124"},"c5e49757-4127":{"renderedLength":41725,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4126"},"c5e49757-4129":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4128"},"c5e49757-4131":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4130"},"c5e49757-4133":{"renderedLength":35410,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4132"},"c5e49757-4135":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4134"},"c5e49757-4137":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4136"},"c5e49757-4139":{"renderedLength":43288,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4138"},"c5e49757-4141":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4140"},"c5e49757-4143":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4142"},"c5e49757-4145":{"renderedLength":2240,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4144"},"c5e49757-4147":{"renderedLength":14323,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4146"},"c5e49757-4149":{"renderedLength":3101,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4148"},"c5e49757-4151":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4150"},"c5e49757-4153":{"renderedLength":9690,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4152"},"c5e49757-4155":{"renderedLength":29744,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4154"},"c5e49757-4157":{"renderedLength":709,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4156"},"c5e49757-4159":{"renderedLength":21644,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4158"},"c5e49757-4161":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4160"},"c5e49757-4163":{"renderedLength":106,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4162"},"c5e49757-4165":{"renderedLength":25794,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4164"},"c5e49757-4167":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4166"},"c5e49757-4169":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4168"},"c5e49757-4171":{"renderedLength":17573,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4170"},"c5e49757-4173":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4172"},"c5e49757-4175":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4174"},"c5e49757-4177":{"renderedLength":8220,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4176"},"c5e49757-4179":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4178"},"c5e49757-4181":{"renderedLength":91,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4180"},"c5e49757-4183":{"renderedLength":67379,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4182"},"c5e49757-4185":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4184"},"c5e49757-4187":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4186"},"c5e49757-4189":{"renderedLength":11765,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4188"},"c5e49757-4191":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4190"},"c5e49757-4193":{"renderedLength":119,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4192"},"c5e49757-4195":{"renderedLength":7515,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4194"},"c5e49757-4197":{"renderedLength":545,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4196"},"c5e49757-4199":{"renderedLength":23565,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4198"},"c5e49757-4201":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4200"},"c5e49757-4203":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4202"},"c5e49757-4205":{"renderedLength":25577,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4204"},"c5e49757-4207":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4206"},"c5e49757-4209":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4208"},"c5e49757-4211":{"renderedLength":5907,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4210"},"c5e49757-4213":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4212"},"c5e49757-4215":{"renderedLength":93,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4214"},"c5e49757-4217":{"renderedLength":37001,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4216"},"c5e49757-4219":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4218"},"c5e49757-4221":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4220"},"c5e49757-4223":{"renderedLength":27844,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4222"},"c5e49757-4225":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4224"},"c5e49757-4227":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4226"},"c5e49757-4229":{"renderedLength":14276,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4228"},"c5e49757-4231":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4230"},"c5e49757-4233":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4232"},"c5e49757-4235":{"renderedLength":6721,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4234"},"c5e49757-4237":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4236"},"c5e49757-4239":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4238"},"c5e49757-4241":{"renderedLength":3211,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4240"},"c5e49757-4243":{"renderedLength":28146,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4242"},"c5e49757-4245":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4244"},"c5e49757-4247":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4246"},"c5e49757-4249":{"renderedLength":8301,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4248"},"c5e49757-4251":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4250"},"c5e49757-4253":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4252"},"c5e49757-4255":{"renderedLength":27728,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4254"},"c5e49757-4257":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4256"},"c5e49757-4259":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4258"},"c5e49757-4261":{"renderedLength":19659,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4260"},"c5e49757-4263":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4262"},"c5e49757-4265":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4264"},"c5e49757-4267":{"renderedLength":83687,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4266"},"c5e49757-4269":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4268"},"c5e49757-4271":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4270"},"c5e49757-4273":{"renderedLength":20861,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4272"},"c5e49757-4275":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4274"},"c5e49757-4277":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4276"},"c5e49757-4279":{"renderedLength":22766,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4278"},"c5e49757-4281":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4280"},"c5e49757-4283":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4282"},"c5e49757-4285":{"renderedLength":1417,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4284"},"c5e49757-4287":{"renderedLength":24435,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4286"},"c5e49757-4289":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4288"},"c5e49757-4291":{"renderedLength":107,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4290"},"c5e49757-4293":{"renderedLength":9103,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4292"},"c5e49757-4295":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4294"},"c5e49757-4297":{"renderedLength":96,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4296"},"c5e49757-4299":{"renderedLength":46779,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4298"},"c5e49757-4301":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4300"},"c5e49757-4303":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4302"},"c5e49757-4305":{"renderedLength":17411,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4304"},"c5e49757-4307":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4306"},"c5e49757-4309":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4308"},"c5e49757-4311":{"renderedLength":448,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4310"},"c5e49757-4313":{"renderedLength":12378,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4312"},"c5e49757-4315":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4314"},"c5e49757-4317":{"renderedLength":90,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4316"},"c5e49757-4319":{"renderedLength":829,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4318"},"c5e49757-4321":{"renderedLength":16427,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4320"},"c5e49757-4323":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4322"},"c5e49757-4325":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4324"},"c5e49757-4327":{"renderedLength":61753,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4326"},"c5e49757-4329":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4328"},"c5e49757-4331":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4330"},"c5e49757-4333":{"renderedLength":1063,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4332"},"c5e49757-4335":{"renderedLength":26969,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4334"},"c5e49757-4337":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4336"},"c5e49757-4339":{"renderedLength":105,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4338"},"c5e49757-4341":{"renderedLength":32483,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4340"},"c5e49757-4343":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4342"},"c5e49757-4345":{"renderedLength":117,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4344"},"c5e49757-4347":{"renderedLength":1084,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4346"},"c5e49757-4349":{"renderedLength":19948,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4348"},"c5e49757-4351":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4350"},"c5e49757-4353":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4352"},"c5e49757-4355":{"renderedLength":51036,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4354"},"c5e49757-4357":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4356"},"c5e49757-4359":{"renderedLength":105,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4358"},"c5e49757-4361":{"renderedLength":51273,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4360"},"c5e49757-4363":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4362"},"c5e49757-4365":{"renderedLength":106,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4364"},"c5e49757-4367":{"renderedLength":50552,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4366"},"c5e49757-4369":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4368"},"c5e49757-4371":{"renderedLength":109,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4370"},"c5e49757-4373":{"renderedLength":55919,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4372"},"c5e49757-4375":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4374"},"c5e49757-4377":{"renderedLength":107,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4376"},"c5e49757-4379":{"renderedLength":50864,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4378"},"c5e49757-4381":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4380"},"c5e49757-4383":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4382"},"c5e49757-4385":{"renderedLength":21504,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4384"},"c5e49757-4387":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4386"},"c5e49757-4389":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4388"},"c5e49757-4391":{"renderedLength":17543,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4390"},"c5e49757-4393":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4392"},"c5e49757-4395":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4394"},"c5e49757-4397":{"renderedLength":60849,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4396"},"c5e49757-4399":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4398"},"c5e49757-4401":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4400"},"c5e49757-4403":{"renderedLength":5854,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4402"},"c5e49757-4405":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4404"},"c5e49757-4407":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4406"},"c5e49757-4409":{"renderedLength":28683,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4408"},"c5e49757-4411":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4410"},"c5e49757-4413":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4412"},"c5e49757-4415":{"renderedLength":39461,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4414"},"c5e49757-4417":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4416"},"c5e49757-4419":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4418"},"c5e49757-4421":{"renderedLength":14587,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4420"},"c5e49757-4423":{"renderedLength":5070,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4422"},"c5e49757-4425":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4424"},"c5e49757-4427":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4426"},"c5e49757-4429":{"renderedLength":7504,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4428"},"c5e49757-4431":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4430"},"c5e49757-4433":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4432"},"c5e49757-4435":{"renderedLength":10700,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4434"},"c5e49757-4437":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4436"},"c5e49757-4439":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4438"},"c5e49757-4441":{"renderedLength":22282,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4440"},"c5e49757-4443":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4442"},"c5e49757-4445":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4444"},"c5e49757-4447":{"renderedLength":17506,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4446"},"c5e49757-4449":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4448"},"c5e49757-4451":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4450"},"c5e49757-4453":{"renderedLength":28445,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4452"},"c5e49757-4455":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4454"},"c5e49757-4457":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4456"},"c5e49757-4459":{"renderedLength":623,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4458"},"c5e49757-4461":{"renderedLength":5127,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4460"},"c5e49757-4463":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4462"},"c5e49757-4465":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4464"},"c5e49757-4467":{"renderedLength":35107,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4466"},"c5e49757-4469":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4468"},"c5e49757-4471":{"renderedLength":6661,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4470"},"c5e49757-4473":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4472"},"c5e49757-4475":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4474"},"c5e49757-4477":{"renderedLength":10367,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4476"},"c5e49757-4479":{"renderedLength":17955,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4478"},"c5e49757-4481":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4480"},"c5e49757-4483":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4482"},"c5e49757-4485":{"renderedLength":21812,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4484"},"c5e49757-4487":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4486"},"c5e49757-4489":{"renderedLength":92,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4488"},"c5e49757-4491":{"renderedLength":23684,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4490"},"c5e49757-4493":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4492"},"c5e49757-4495":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4494"},"c5e49757-4497":{"renderedLength":56609,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4496"},"c5e49757-4499":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4498"},"c5e49757-4501":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4500"},"c5e49757-4503":{"renderedLength":2711,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4502"},"c5e49757-4505":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4504"},"c5e49757-4507":{"renderedLength":88,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4506"},"c5e49757-4509":{"renderedLength":31062,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4508"},"c5e49757-4511":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4510"},"c5e49757-4513":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4512"},"c5e49757-4515":{"renderedLength":38724,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4514"},"c5e49757-4517":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4516"},"c5e49757-4519":{"renderedLength":101,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4518"},"c5e49757-4521":{"renderedLength":86953,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4520"},"c5e49757-4523":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4522"},"c5e49757-4525":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4524"},"c5e49757-4527":{"renderedLength":252,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4526"},"c5e49757-4529":{"renderedLength":29,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4528"},"c5e49757-4531":{"renderedLength":28,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4530"},"c5e49757-4533":{"renderedLength":474800,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4532"},"c5e49757-4535":{"renderedLength":33,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4534"},"c5e49757-4537":{"renderedLength":79,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4536"},"c5e49757-4539":{"renderedLength":424945,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4538"},"c5e49757-4541":{"renderedLength":40890,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4540"},"c5e49757-4543":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4542"},"c5e49757-4545":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4544"},"c5e49757-4547":{"renderedLength":25648,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4546"},"c5e49757-4549":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4548"},"c5e49757-4551":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4550"},"c5e49757-4553":{"renderedLength":33093,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4552"},"c5e49757-4555":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4554"},"c5e49757-4557":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4556"},"c5e49757-4559":{"renderedLength":1304,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4558"},"c5e49757-4561":{"renderedLength":27989,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4560"},"c5e49757-4563":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4562"},"c5e49757-4565":{"renderedLength":109,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4564"},"c5e49757-4567":{"renderedLength":72955,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4566"},"c5e49757-4569":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4568"},"c5e49757-4571":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4570"},"c5e49757-4573":{"renderedLength":33132,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4572"},"c5e49757-4575":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4574"},"c5e49757-4577":{"renderedLength":113,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4576"},"c5e49757-4579":{"renderedLength":739,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4578"},"c5e49757-4581":{"renderedLength":13497,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4580"},"c5e49757-4583":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4582"},"c5e49757-4585":{"renderedLength":108,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4584"},"c5e49757-4587":{"renderedLength":34149,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4586"},"c5e49757-4589":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4588"},"c5e49757-4591":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4590"},"c5e49757-4593":{"renderedLength":30446,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4592"},"c5e49757-4595":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4594"},"c5e49757-4597":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4596"},"c5e49757-4599":{"renderedLength":37270,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4598"},"c5e49757-4601":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4600"},"c5e49757-4603":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4602"},"c5e49757-4605":{"renderedLength":39706,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4604"},"c5e49757-4607":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4606"},"c5e49757-4609":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4608"},"c5e49757-4611":{"renderedLength":35905,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4610"},"c5e49757-4613":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4612"},"c5e49757-4615":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4614"},"c5e49757-4617":{"renderedLength":19394,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4616"},"c5e49757-4619":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4618"},"c5e49757-4621":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4620"},"c5e49757-4623":{"renderedLength":754,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4622"},"c5e49757-4625":{"renderedLength":17553,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4624"},"c5e49757-4627":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4626"},"c5e49757-4629":{"renderedLength":109,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4628"},"c5e49757-4631":{"renderedLength":9017,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4630"},"c5e49757-4633":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4632"},"c5e49757-4635":{"renderedLength":92,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4634"},"c5e49757-4637":{"renderedLength":5685,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4636"},"c5e49757-4639":{"renderedLength":10534,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4638"},"c5e49757-4641":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4640"},"c5e49757-4643":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4642"},"c5e49757-4645":{"renderedLength":19108,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4644"},"c5e49757-4647":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4646"},"c5e49757-4649":{"renderedLength":112,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4648"},"c5e49757-4651":{"renderedLength":784,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4650"},"c5e49757-4653":{"renderedLength":19364,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4652"},"c5e49757-4655":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4654"},"c5e49757-4657":{"renderedLength":111,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4656"},"c5e49757-4659":{"renderedLength":1485,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4658"},"c5e49757-4661":{"renderedLength":19679,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4660"},"c5e49757-4663":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4662"},"c5e49757-4665":{"renderedLength":113,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4664"},"c5e49757-4667":{"renderedLength":52895,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4666"},"c5e49757-4669":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4668"},"c5e49757-4671":{"renderedLength":99,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4670"},"c5e49757-4673":{"renderedLength":30876,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4672"},"c5e49757-4675":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4674"},"c5e49757-4677":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4676"},"c5e49757-4679":{"renderedLength":311380,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4678"},"c5e49757-4681":{"renderedLength":24822,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4680"},"c5e49757-4683":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4682"},"c5e49757-4685":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4684"},"c5e49757-4687":{"renderedLength":30168,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4686"},"c5e49757-4689":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4688"},"c5e49757-4691":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4690"},"c5e49757-4693":{"renderedLength":724,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4692"},"c5e49757-4695":{"renderedLength":12691,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4694"},"c5e49757-4697":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4696"},"c5e49757-4699":{"renderedLength":107,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4698"},"c5e49757-4701":{"renderedLength":23253,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4700"},"c5e49757-4703":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4702"},"c5e49757-4705":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4704"},"c5e49757-4707":{"renderedLength":55300,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4706"},"c5e49757-4709":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4708"},"c5e49757-4711":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4710"},"c5e49757-4713":{"renderedLength":2029,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4712"},"c5e49757-4715":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4714"},"c5e49757-4717":{"renderedLength":93,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4716"},"c5e49757-4719":{"renderedLength":12111,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4718"},"c5e49757-4721":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4720"},"c5e49757-4723":{"renderedLength":93,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4722"},"c5e49757-4725":{"renderedLength":1762,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4724"},"c5e49757-4727":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4726"},"c5e49757-4729":{"renderedLength":93,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4728"},"c5e49757-4731":{"renderedLength":12191,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4730"},"c5e49757-4733":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4732"},"c5e49757-4735":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4734"},"c5e49757-4737":{"renderedLength":15262,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4736"},"c5e49757-4739":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4738"},"c5e49757-4741":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4740"},"c5e49757-4743":{"renderedLength":16673,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4742"},"c5e49757-4745":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4744"},"c5e49757-4747":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4746"},"c5e49757-4749":{"renderedLength":53414,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4748"},"c5e49757-4751":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4750"},"c5e49757-4753":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4752"},"c5e49757-4755":{"renderedLength":32972,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4754"},"c5e49757-4757":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4756"},"c5e49757-4759":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4758"},"c5e49757-4761":{"renderedLength":814,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4760"},"c5e49757-4763":{"renderedLength":5071,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4762"},"c5e49757-4765":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4764"},"c5e49757-4767":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4766"},"c5e49757-4769":{"renderedLength":48843,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4768"},"c5e49757-4771":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4770"},"c5e49757-4773":{"renderedLength":99,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4772"},"c5e49757-4775":{"renderedLength":844,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4774"},"c5e49757-4777":{"renderedLength":9982,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4776"},"c5e49757-4779":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4778"},"c5e49757-4781":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4780"},"c5e49757-4783":{"renderedLength":63265,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4782"},"c5e49757-4785":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4784"},"c5e49757-4787":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4786"},"c5e49757-4789":{"renderedLength":35091,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4788"},"c5e49757-4791":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4790"},"c5e49757-4793":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4792"},"c5e49757-4795":{"renderedLength":16552,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4794"},"c5e49757-4797":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4796"},"c5e49757-4799":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4798"},"c5e49757-4801":{"renderedLength":12971,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4800"},"c5e49757-4803":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4802"},"c5e49757-4805":{"renderedLength":116,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4804"},"c5e49757-4807":{"renderedLength":14276,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4806"},"c5e49757-4809":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4808"},"c5e49757-4811":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4810"},"c5e49757-4813":{"renderedLength":56322,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4812"},"c5e49757-4815":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4814"},"c5e49757-4817":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4816"},"c5e49757-4819":{"renderedLength":22610,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4818"},"c5e49757-4821":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4820"},"c5e49757-4823":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4822"},"c5e49757-4825":{"renderedLength":45875,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4824"},"c5e49757-4827":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4826"},"c5e49757-4829":{"renderedLength":99,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4828"},"c5e49757-4831":{"renderedLength":14573,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4830"},"c5e49757-4833":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4832"},"c5e49757-4835":{"renderedLength":110,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4834"},"c5e49757-4837":{"renderedLength":43569,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4836"},"c5e49757-4839":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4838"},"c5e49757-4841":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4840"},"c5e49757-4843":{"renderedLength":5980,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4842"},"c5e49757-4845":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4844"},"c5e49757-4847":{"renderedLength":92,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4846"},"c5e49757-4849":{"renderedLength":14573,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4848"},"c5e49757-4851":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4850"},"c5e49757-4853":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4852"},"c5e49757-4855":{"renderedLength":5519,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4854"},"c5e49757-4857":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4856"},"c5e49757-4859":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4858"},"c5e49757-4861":{"renderedLength":14276,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4860"},"c5e49757-4863":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4862"},"c5e49757-4865":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4864"},"c5e49757-4867":{"renderedLength":8584,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4866"},"c5e49757-4869":{"renderedLength":19886,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4868"},"c5e49757-4871":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4870"},"c5e49757-4873":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4872"},"c5e49757-4875":{"renderedLength":36495,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4874"},"c5e49757-4877":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4876"},"c5e49757-4879":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4878"},"c5e49757-4881":{"renderedLength":43,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4880"},"c5e49757-4883":{"renderedLength":14776,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4882"},"c5e49757-4885":{"renderedLength":6225,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4884"},"c5e49757-4887":{"renderedLength":21738,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4886"},"c5e49757-4889":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4888"},"c5e49757-4891":{"renderedLength":97,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4890"},"c5e49757-4893":{"renderedLength":23243,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4892"},"c5e49757-4895":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4894"},"c5e49757-4897":{"renderedLength":116,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4896"},"c5e49757-4899":{"renderedLength":33154,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4898"},"c5e49757-4901":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4900"},"c5e49757-4903":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4902"},"c5e49757-4905":{"renderedLength":5543,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4904"},"c5e49757-4907":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4906"},"c5e49757-4909":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4908"},"c5e49757-4911":{"renderedLength":52934,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4910"},"c5e49757-4913":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4912"},"c5e49757-4915":{"renderedLength":100,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4914"},"c5e49757-4917":{"renderedLength":27472,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4916"},"c5e49757-4919":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4918"},"c5e49757-4921":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4920"},"c5e49757-4923":{"renderedLength":31489,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4922"},"c5e49757-4925":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4924"},"c5e49757-4927":{"renderedLength":89,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4926"},"c5e49757-4929":{"renderedLength":62213,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4928"},"c5e49757-4931":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4930"},"c5e49757-4933":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4932"},"c5e49757-4935":{"renderedLength":1925,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4934"},"c5e49757-4937":{"renderedLength":485,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4936"},"c5e49757-4939":{"renderedLength":6533,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4938"},"c5e49757-4941":{"renderedLength":13899,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4940"},"c5e49757-4943":{"renderedLength":80,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4942"},"c5e49757-4945":{"renderedLength":1286,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4944"},"c5e49757-4947":{"renderedLength":173,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4946"},"c5e49757-4949":{"renderedLength":626,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4948"},"c5e49757-4951":{"renderedLength":180,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4950"},"c5e49757-4953":{"renderedLength":160,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4952"},"c5e49757-4955":{"renderedLength":277,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4954"},"c5e49757-4957":{"renderedLength":235,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4956"},"c5e49757-4959":{"renderedLength":1212,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4958"},"c5e49757-4961":{"renderedLength":3163,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4960"},"c5e49757-4963":{"renderedLength":233,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4962"},"c5e49757-4965":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4964"},"c5e49757-4967":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4966"},"c5e49757-4969":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4968"},"c5e49757-4971":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4970"},"c5e49757-4973":{"renderedLength":1337,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4972"},"c5e49757-4975":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4974"},"c5e49757-4977":{"renderedLength":638,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4976"},"c5e49757-4979":{"renderedLength":724,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4978"},"c5e49757-4981":{"renderedLength":192,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4980"},"c5e49757-4983":{"renderedLength":321,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4982"},"c5e49757-4985":{"renderedLength":237,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4984"},"c5e49757-4987":{"renderedLength":107,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4986"},"c5e49757-4989":{"renderedLength":46,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4988"},"c5e49757-4991":{"renderedLength":57,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4990"},"c5e49757-4993":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4992"},"c5e49757-4995":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4994"},"c5e49757-4997":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4996"},"c5e49757-4999":{"renderedLength":76,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-4998"},"c5e49757-5001":{"renderedLength":2351,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5000"},"c5e49757-5003":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5002"},"c5e49757-5005":{"renderedLength":157,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5004"},"c5e49757-5007":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5006"},"c5e49757-5009":{"renderedLength":74,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5008"},"c5e49757-5011":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5010"},"c5e49757-5013":{"renderedLength":29,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5012"},"c5e49757-5015":{"renderedLength":278,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5014"},"c5e49757-5017":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5016"},"c5e49757-5019":{"renderedLength":669,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5018"},"c5e49757-5021":{"renderedLength":175,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5020"},"c5e49757-5023":{"renderedLength":2150,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5022"},"c5e49757-5025":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5024"},"c5e49757-5027":{"renderedLength":4278,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5026"},"c5e49757-5029":{"renderedLength":766,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5028"},"c5e49757-5031":{"renderedLength":2508,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5030"},"c5e49757-5033":{"renderedLength":1404,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5032"},"c5e49757-5035":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5034"},"c5e49757-5037":{"renderedLength":3157,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5036"},"c5e49757-5039":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5038"},"c5e49757-5041":{"renderedLength":227,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5040"},"c5e49757-5043":{"renderedLength":2412,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5042"},"c5e49757-5045":{"renderedLength":562,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5044"},"c5e49757-5047":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5046"},"c5e49757-5049":{"renderedLength":557,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5048"},"c5e49757-5051":{"renderedLength":330,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5050"},"c5e49757-5053":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5052"},"c5e49757-5055":{"renderedLength":542,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5054"},"c5e49757-5057":{"renderedLength":752,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5056"},"c5e49757-5059":{"renderedLength":833,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5058"},"c5e49757-5061":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5060"},"c5e49757-5063":{"renderedLength":955,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5062"},"c5e49757-5065":{"renderedLength":451,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5064"},"c5e49757-5067":{"renderedLength":997,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5066"},"c5e49757-5069":{"renderedLength":1488,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5068"},"c5e49757-5071":{"renderedLength":1339,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5070"},"c5e49757-5073":{"renderedLength":882,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5072"},"c5e49757-5075":{"renderedLength":301,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5074"},"c5e49757-5077":{"renderedLength":1099,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5076"},"c5e49757-5079":{"renderedLength":1242,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5078"},"c5e49757-5081":{"renderedLength":244,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5080"},"c5e49757-5083":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5082"},"c5e49757-5085":{"renderedLength":42,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5084"},"c5e49757-5087":{"renderedLength":2356,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5086"},"c5e49757-5089":{"renderedLength":497,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5088"},"c5e49757-5091":{"renderedLength":449,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5090"},"c5e49757-5093":{"renderedLength":53,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5092"},"c5e49757-5095":{"renderedLength":24,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5094"},"c5e49757-5097":{"renderedLength":311,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5096"},"c5e49757-5099":{"renderedLength":447,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5098"},"c5e49757-5101":{"renderedLength":157,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5100"},"c5e49757-5103":{"renderedLength":3853,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5102"},"c5e49757-5105":{"renderedLength":35,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5104"},"c5e49757-5107":{"renderedLength":124,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5106"},"c5e49757-5109":{"renderedLength":829,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5108"},"c5e49757-5111":{"renderedLength":33,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5110"},"c5e49757-5113":{"renderedLength":572,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5112"},"c5e49757-5115":{"renderedLength":3602,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5114"},"c5e49757-5117":{"renderedLength":35,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5116"},"c5e49757-5119":{"renderedLength":105,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5118"},"c5e49757-5121":{"renderedLength":791,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5120"},"c5e49757-5123":{"renderedLength":1630,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5122"},"c5e49757-5125":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5124"},"c5e49757-5127":{"renderedLength":1021,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5126"},"c5e49757-5129":{"renderedLength":1166,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5128"},"c5e49757-5131":{"renderedLength":4022,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5130"},"c5e49757-5133":{"renderedLength":671,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5132"},"c5e49757-5135":{"renderedLength":2914,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5134"},"c5e49757-5137":{"renderedLength":11300,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5136"},"c5e49757-5139":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5138"},"c5e49757-5141":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5140"},"c5e49757-5143":{"renderedLength":2605,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5142"},"c5e49757-5145":{"renderedLength":2119,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5144"},"c5e49757-5147":{"renderedLength":18576,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5146"},"c5e49757-5149":{"renderedLength":35,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5148"},"c5e49757-5151":{"renderedLength":576,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5150"},"c5e49757-5153":{"renderedLength":58,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5152"},"c5e49757-5155":{"renderedLength":159,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5154"},"c5e49757-5157":{"renderedLength":5057,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5156"},"c5e49757-5159":{"renderedLength":141,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5158"},"c5e49757-5161":{"renderedLength":2242,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5160"},"c5e49757-5163":{"renderedLength":847,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5162"},"c5e49757-5165":{"renderedLength":4480,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5164"},"c5e49757-5167":{"renderedLength":43,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5166"},"c5e49757-5169":{"renderedLength":108,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5168"},"c5e49757-5171":{"renderedLength":231,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5170"},"c5e49757-5173":{"renderedLength":802,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5172"},"c5e49757-5175":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5174"},"c5e49757-5177":{"renderedLength":972,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5176"},"c5e49757-5179":{"renderedLength":1451,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5178"},"c5e49757-5181":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5180"},"c5e49757-5183":{"renderedLength":545,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5182"},"c5e49757-5185":{"renderedLength":3580,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5184"},"c5e49757-5187":{"renderedLength":488,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5186"},"c5e49757-5189":{"renderedLength":4202,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5188"},"c5e49757-5191":{"renderedLength":8349,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5190"},"c5e49757-5193":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5192"},"c5e49757-5195":{"renderedLength":1699,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5194"},"c5e49757-5197":{"renderedLength":1213,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5196"},"c5e49757-5199":{"renderedLength":1557,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5198"},"c5e49757-5201":{"renderedLength":999,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5200"},"c5e49757-5203":{"renderedLength":1036,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5202"},"c5e49757-5205":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5204"},"c5e49757-5207":{"renderedLength":4354,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5206"},"c5e49757-5209":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5208"},"c5e49757-5211":{"renderedLength":50,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5210"},"c5e49757-5213":{"renderedLength":501,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5212"},"c5e49757-5215":{"renderedLength":285,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5214"},"c5e49757-5217":{"renderedLength":555,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5216"},"c5e49757-5219":{"renderedLength":268,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5218"},"c5e49757-5221":{"renderedLength":2609,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5220"},"c5e49757-5223":{"renderedLength":5542,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5222"},"c5e49757-5225":{"renderedLength":5815,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5224"},"c5e49757-5227":{"renderedLength":39,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5226"},"c5e49757-5229":{"renderedLength":1431,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5228"},"c5e49757-5231":{"renderedLength":12508,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5230"},"c5e49757-5233":{"renderedLength":49,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5232"},"c5e49757-5235":{"renderedLength":503,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5234"},"c5e49757-5237":{"renderedLength":1987,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5236"},"c5e49757-5239":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5238"},"c5e49757-5241":{"renderedLength":308,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5240"},"c5e49757-5243":{"renderedLength":998,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5242"},"c5e49757-5245":{"renderedLength":1615,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5244"},"c5e49757-5247":{"renderedLength":39,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5246"},"c5e49757-5249":{"renderedLength":656,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5248"},"c5e49757-5251":{"renderedLength":2737,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5250"},"c5e49757-5253":{"renderedLength":35,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5252"},"c5e49757-5255":{"renderedLength":46,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5254"},"c5e49757-5257":{"renderedLength":141,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5256"},"c5e49757-5259":{"renderedLength":1060,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5258"},"c5e49757-5261":{"renderedLength":172,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5260"},"c5e49757-5263":{"renderedLength":1859,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5262"},"c5e49757-5265":{"renderedLength":125,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5264"},"c5e49757-5267":{"renderedLength":62,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5266"},"c5e49757-5269":{"renderedLength":1981,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5268"},"c5e49757-5271":{"renderedLength":927,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5270"},"c5e49757-5273":{"renderedLength":2541,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5272"},"c5e49757-5275":{"renderedLength":2649,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5274"},"c5e49757-5277":{"renderedLength":80,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5276"},"c5e49757-5279":{"renderedLength":697,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5278"},"c5e49757-5281":{"renderedLength":110,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5280"},"c5e49757-5283":{"renderedLength":501,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5282"},"c5e49757-5285":{"renderedLength":1729,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5284"},"c5e49757-5287":{"renderedLength":406,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5286"},"c5e49757-5289":{"renderedLength":1687,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5288"},"c5e49757-5291":{"renderedLength":23241,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5290"},"c5e49757-5293":{"renderedLength":150,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5292"},"c5e49757-5295":{"renderedLength":1425,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5294"},"c5e49757-5297":{"renderedLength":1819,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5296"},"c5e49757-5299":{"renderedLength":2270,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5298"},"c5e49757-5301":{"renderedLength":929,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5300"},"c5e49757-5303":{"renderedLength":1402,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5302"},"c5e49757-5305":{"renderedLength":399,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5304"},"c5e49757-5307":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5306"},"c5e49757-5309":{"renderedLength":354,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5308"},"c5e49757-5311":{"renderedLength":11476,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5310"},"c5e49757-5313":{"renderedLength":6131,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5312"},"c5e49757-5315":{"renderedLength":124,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5314"},"c5e49757-5317":{"renderedLength":11178,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5316"},"c5e49757-5319":{"renderedLength":1434,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5318"},"c5e49757-5321":{"renderedLength":149,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5320"},"c5e49757-5323":{"renderedLength":772,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5322"},"c5e49757-5325":{"renderedLength":2641,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5324"},"c5e49757-5327":{"renderedLength":3037,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5326"},"c5e49757-5329":{"renderedLength":3906,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5328"},"c5e49757-5331":{"renderedLength":382,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5330"},"c5e49757-5333":{"renderedLength":4748,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5332"},"c5e49757-5335":{"renderedLength":41,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5334"},"c5e49757-5337":{"renderedLength":342,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5336"},"c5e49757-5339":{"renderedLength":1434,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5338"},"c5e49757-5341":{"renderedLength":33,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5340"},"c5e49757-5343":{"renderedLength":977,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5342"},"c5e49757-5345":{"renderedLength":56,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5344"},"c5e49757-5347":{"renderedLength":7673,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5346"},"c5e49757-5349":{"renderedLength":7939,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5348"},"c5e49757-5351":{"renderedLength":140,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5350"},"c5e49757-5353":{"renderedLength":3662,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5352"},"c5e49757-5355":{"renderedLength":2047,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5354"},"c5e49757-5357":{"renderedLength":115,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5356"},"c5e49757-5359":{"renderedLength":1117,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5358"},"c5e49757-5361":{"renderedLength":66,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5360"},"c5e49757-5363":{"renderedLength":742,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5362"},"c5e49757-5365":{"renderedLength":1674,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5364"},"c5e49757-5367":{"renderedLength":1174,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5366"},"c5e49757-5369":{"renderedLength":1412,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5368"},"c5e49757-5371":{"renderedLength":2295,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5370"},"c5e49757-5373":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5372"},"c5e49757-5375":{"renderedLength":4964,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5374"},"c5e49757-5377":{"renderedLength":4193,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5376"},"c5e49757-5379":{"renderedLength":501,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5378"},"c5e49757-5381":{"renderedLength":2172,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5380"},"c5e49757-5383":{"renderedLength":196,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5382"},"c5e49757-5385":{"renderedLength":619,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5384"},"c5e49757-5387":{"renderedLength":46,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5386"},"c5e49757-5389":{"renderedLength":1406,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5388"},"c5e49757-5391":{"renderedLength":2688,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5390"},"c5e49757-5393":{"renderedLength":61,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5392"},"c5e49757-5395":{"renderedLength":2634,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5394"},"c5e49757-5397":{"renderedLength":551,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5396"},"c5e49757-5399":{"renderedLength":2208,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5398"},"c5e49757-5401":{"renderedLength":170,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5400"},"c5e49757-5403":{"renderedLength":414,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5402"},"c5e49757-5405":{"renderedLength":46,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5404"},"c5e49757-5407":{"renderedLength":7148,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5406"},"c5e49757-5409":{"renderedLength":4555,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5408"},"c5e49757-5411":{"renderedLength":3906,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5410"},"c5e49757-5413":{"renderedLength":1529,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5412"},"c5e49757-5415":{"renderedLength":637,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5414"},"c5e49757-5417":{"renderedLength":747,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5416"},"c5e49757-5419":{"renderedLength":9746,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5418"},"c5e49757-5421":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5420"},"c5e49757-5423":{"renderedLength":167,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5422"},"c5e49757-5425":{"renderedLength":523,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5424"},"c5e49757-5427":{"renderedLength":2787,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5426"},"c5e49757-5429":{"renderedLength":31,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5428"},"c5e49757-5431":{"renderedLength":1219,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5430"},"c5e49757-5433":{"renderedLength":24442,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5432"},"c5e49757-5435":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5434"},"c5e49757-5437":{"renderedLength":132,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5436"},"c5e49757-5439":{"renderedLength":336,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5438"},"c5e49757-5441":{"renderedLength":917,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5440"},"c5e49757-5443":{"renderedLength":41,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5442"},"c5e49757-5445":{"renderedLength":46,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5444"},"c5e49757-5447":{"renderedLength":425,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5446"},"c5e49757-5449":{"renderedLength":1169,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5448"},"c5e49757-5451":{"renderedLength":31,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5450"},"c5e49757-5453":{"renderedLength":718,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5452"},"c5e49757-5455":{"renderedLength":1898,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5454"},"c5e49757-5457":{"renderedLength":31,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5456"},"c5e49757-5459":{"renderedLength":346,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5458"},"c5e49757-5461":{"renderedLength":56,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5460"},"c5e49757-5463":{"renderedLength":1119,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5462"},"c5e49757-5465":{"renderedLength":727,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5464"},"c5e49757-5467":{"renderedLength":2635,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5466"},"c5e49757-5469":{"renderedLength":202,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5468"},"c5e49757-5471":{"renderedLength":191,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5470"},"c5e49757-5473":{"renderedLength":2083,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5472"},"c5e49757-5475":{"renderedLength":3031,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5474"},"c5e49757-5477":{"renderedLength":115,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5476"},"c5e49757-5479":{"renderedLength":166,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5478"},"c5e49757-5481":{"renderedLength":1223,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5480"},"c5e49757-5483":{"renderedLength":3295,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5482"},"c5e49757-5485":{"renderedLength":1334,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5484"},"c5e49757-5487":{"renderedLength":3587,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5486"},"c5e49757-5489":{"renderedLength":898,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5488"},"c5e49757-5491":{"renderedLength":8447,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5490"},"c5e49757-5493":{"renderedLength":2167,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5492"},"c5e49757-5495":{"renderedLength":2820,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5494"},"c5e49757-5497":{"renderedLength":13371,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5496"},"c5e49757-5499":{"renderedLength":47,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5498"},"c5e49757-5501":{"renderedLength":1138,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5500"},"c5e49757-5503":{"renderedLength":731,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5502"},"c5e49757-5505":{"renderedLength":742,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5504"},"c5e49757-5507":{"renderedLength":776,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5506"},"c5e49757-5509":{"renderedLength":484,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5508"},"c5e49757-5511":{"renderedLength":258,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5510"},"c5e49757-5513":{"renderedLength":43,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5512"},"c5e49757-5515":{"renderedLength":137,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5514"},"c5e49757-5517":{"renderedLength":999,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5516"},"c5e49757-5519":{"renderedLength":216,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5518"},"c5e49757-5521":{"renderedLength":271,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5520"},"c5e49757-5523":{"renderedLength":2537,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5522"},"c5e49757-5525":{"renderedLength":10785,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5524"},"c5e49757-5527":{"renderedLength":86,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5526"},"c5e49757-5529":{"renderedLength":537,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5528"},"c5e49757-5531":{"renderedLength":3710,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5530"},"c5e49757-5533":{"renderedLength":124,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5532"},"c5e49757-5535":{"renderedLength":7918,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5534"},"c5e49757-5537":{"renderedLength":200,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5536"},"c5e49757-5539":{"renderedLength":4868,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5538"},"c5e49757-5541":{"renderedLength":26285,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5540"},"c5e49757-5543":{"renderedLength":94,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5542"},"c5e49757-5545":{"renderedLength":601,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5544"},"c5e49757-5547":{"renderedLength":1891,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5546"},"c5e49757-5549":{"renderedLength":28160,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5548"},"c5e49757-5551":{"renderedLength":159,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5550"},"c5e49757-5553":{"renderedLength":1269,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5552"},"c5e49757-5555":{"renderedLength":8688,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5554"},"c5e49757-5557":{"renderedLength":261,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5556"},"c5e49757-5559":{"renderedLength":1732,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5558"},"c5e49757-5561":{"renderedLength":149,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5560"},"c5e49757-5563":{"renderedLength":49,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5562"},"c5e49757-5565":{"renderedLength":2617,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5564"},"c5e49757-5567":{"renderedLength":113,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5566"},"c5e49757-5569":{"renderedLength":2310,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5568"},"c5e49757-5571":{"renderedLength":370,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5570"},"c5e49757-5573":{"renderedLength":3529,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5572"},"c5e49757-5575":{"renderedLength":593,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5574"},"c5e49757-5577":{"renderedLength":151,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5576"},"c5e49757-5579":{"renderedLength":1398,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5578"},"c5e49757-5581":{"renderedLength":28,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5580"},"c5e49757-5583":{"renderedLength":56,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5582"},"c5e49757-5585":{"renderedLength":408,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5584"},"c5e49757-5587":{"renderedLength":3114,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5586"},"c5e49757-5589":{"renderedLength":1084,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5588"},"c5e49757-5591":{"renderedLength":3938,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5590"},"c5e49757-5593":{"renderedLength":6073,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5592"},"c5e49757-5595":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5594"},"c5e49757-5597":{"renderedLength":324,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5596"},"c5e49757-5599":{"renderedLength":1061,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5598"},"c5e49757-5601":{"renderedLength":39,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5600"},"c5e49757-5603":{"renderedLength":423,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5602"},"c5e49757-5605":{"renderedLength":7259,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5604"},"c5e49757-5607":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5606"},"c5e49757-5609":{"renderedLength":318,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5608"},"c5e49757-5611":{"renderedLength":355,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5610"},"c5e49757-5613":{"renderedLength":1885,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5612"},"c5e49757-5615":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5614"},"c5e49757-5617":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5616"},"c5e49757-5619":{"renderedLength":661,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5618"},"c5e49757-5621":{"renderedLength":150,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5620"},"c5e49757-5623":{"renderedLength":763,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5622"},"c5e49757-5625":{"renderedLength":3383,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5624"},"c5e49757-5627":{"renderedLength":918,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5626"},"c5e49757-5629":{"renderedLength":3010,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5628"},"c5e49757-5631":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5630"},"c5e49757-5633":{"renderedLength":1769,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5632"},"c5e49757-5635":{"renderedLength":52,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5634"},"c5e49757-5637":{"renderedLength":10444,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5636"},"c5e49757-5639":{"renderedLength":3411,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5638"},"c5e49757-5641":{"renderedLength":226,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5640"},"c5e49757-5643":{"renderedLength":3564,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5642"},"c5e49757-5645":{"renderedLength":3126,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5644"},"c5e49757-5647":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5646"},"c5e49757-5649":{"renderedLength":185,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5648"},"c5e49757-5651":{"renderedLength":7151,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5650"},"c5e49757-5653":{"renderedLength":161,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5652"},"c5e49757-5655":{"renderedLength":1786,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5654"},"c5e49757-5657":{"renderedLength":35,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5656"},"c5e49757-5659":{"renderedLength":723,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5658"},"c5e49757-5661":{"renderedLength":13126,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5660"},"c5e49757-5663":{"renderedLength":47,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5662"},"c5e49757-5665":{"renderedLength":1102,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5664"},"c5e49757-5667":{"renderedLength":7510,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5666"},"c5e49757-5669":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5668"},"c5e49757-5671":{"renderedLength":1232,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5670"},"c5e49757-5673":{"renderedLength":11771,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5672"},"c5e49757-5675":{"renderedLength":47,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5674"},"c5e49757-5677":{"renderedLength":469,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5676"},"c5e49757-5679":{"renderedLength":1638,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5678"},"c5e49757-5681":{"renderedLength":33,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5680"},"c5e49757-5683":{"renderedLength":1467,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5682"},"c5e49757-5685":{"renderedLength":1348,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5684"},"c5e49757-5687":{"renderedLength":338,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5686"},"c5e49757-5689":{"renderedLength":1754,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5688"},"c5e49757-5691":{"renderedLength":594,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5690"},"c5e49757-5693":{"renderedLength":252,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5692"},"c5e49757-5695":{"renderedLength":418,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5694"},"c5e49757-5697":{"renderedLength":9728,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5696"},"c5e49757-5699":{"renderedLength":10266,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5698"},"c5e49757-5701":{"renderedLength":295,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5700"},"c5e49757-5703":{"renderedLength":2857,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5702"},"c5e49757-5705":{"renderedLength":47,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5704"},"c5e49757-5707":{"renderedLength":919,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5706"},"c5e49757-5709":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5708"},"c5e49757-5711":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5710"},"c5e49757-5713":{"renderedLength":223,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5712"},"c5e49757-5715":{"renderedLength":227,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5714"},"c5e49757-5717":{"renderedLength":3570,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5716"},"c5e49757-5719":{"renderedLength":45,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5718"},"c5e49757-5721":{"renderedLength":50,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5720"},"c5e49757-5723":{"renderedLength":274,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5722"},"c5e49757-5725":{"renderedLength":1313,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5724"},"c5e49757-5727":{"renderedLength":251,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5726"},"c5e49757-5729":{"renderedLength":1343,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5728"},"c5e49757-5731":{"renderedLength":85,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5730"},"c5e49757-5733":{"renderedLength":2481,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5732"},"c5e49757-5735":{"renderedLength":2776,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5734"},"c5e49757-5737":{"renderedLength":1775,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5736"},"c5e49757-5739":{"renderedLength":628,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5738"},"c5e49757-5741":{"renderedLength":20218,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5740"},"c5e49757-5743":{"renderedLength":1386,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5742"},"c5e49757-5745":{"renderedLength":1822,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5744"},"c5e49757-5747":{"renderedLength":17807,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5746"},"c5e49757-5749":{"renderedLength":2290,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5748"},"c5e49757-5751":{"renderedLength":162,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5750"},"c5e49757-5753":{"renderedLength":56,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5752"},"c5e49757-5755":{"renderedLength":350,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5754"},"c5e49757-5757":{"renderedLength":2184,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5756"},"c5e49757-5759":{"renderedLength":105,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5758"},"c5e49757-5761":{"renderedLength":2000,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5760"},"c5e49757-5763":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5762"},"c5e49757-5765":{"renderedLength":730,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5764"},"c5e49757-5767":{"renderedLength":231,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5766"},"c5e49757-5769":{"renderedLength":8521,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5768"},"c5e49757-5771":{"renderedLength":8320,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5770"},"c5e49757-5773":{"renderedLength":45,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5772"},"c5e49757-5775":{"renderedLength":821,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5774"},"c5e49757-5777":{"renderedLength":3829,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5776"},"c5e49757-5779":{"renderedLength":45,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5778"},"c5e49757-5781":{"renderedLength":1334,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5780"},"c5e49757-5783":{"renderedLength":3591,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5782"},"c5e49757-5785":{"renderedLength":405,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5784"},"c5e49757-5787":{"renderedLength":153,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5786"},"c5e49757-5789":{"renderedLength":1007,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5788"},"c5e49757-5791":{"renderedLength":8010,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5790"},"c5e49757-5793":{"renderedLength":41,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5792"},"c5e49757-5795":{"renderedLength":1494,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5794"},"c5e49757-5797":{"renderedLength":10355,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5796"},"c5e49757-5799":{"renderedLength":33,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5798"},"c5e49757-5801":{"renderedLength":573,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5800"},"c5e49757-5803":{"renderedLength":2269,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5802"},"c5e49757-5805":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5804"},"c5e49757-5807":{"renderedLength":270,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5806"},"c5e49757-5809":{"renderedLength":669,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5808"},"c5e49757-5811":{"renderedLength":748,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5810"},"c5e49757-5813":{"renderedLength":2552,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5812"},"c5e49757-5815":{"renderedLength":1526,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5814"},"c5e49757-5817":{"renderedLength":5218,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5816"},"c5e49757-5819":{"renderedLength":11866,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5818"},"c5e49757-5821":{"renderedLength":2193,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5820"},"c5e49757-5823":{"renderedLength":4964,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5822"},"c5e49757-5825":{"renderedLength":983,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5824"},"c5e49757-5827":{"renderedLength":16142,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5826"},"c5e49757-5829":{"renderedLength":4309,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5828"},"c5e49757-5831":{"renderedLength":7991,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5830"},"c5e49757-5833":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5832"},"c5e49757-5835":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5834"},"c5e49757-5837":{"renderedLength":1028,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5836"},"c5e49757-5839":{"renderedLength":281,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5838"},"c5e49757-5841":{"renderedLength":589,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5840"},"c5e49757-5843":{"renderedLength":2297,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5842"},"c5e49757-5845":{"renderedLength":59,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5844"},"c5e49757-5847":{"renderedLength":1520,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5846"},"c5e49757-5849":{"renderedLength":5909,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5848"},"c5e49757-5851":{"renderedLength":2376,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5850"},"c5e49757-5853":{"renderedLength":21375,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5852"},"c5e49757-5855":{"renderedLength":16548,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5854"},"c5e49757-5857":{"renderedLength":120,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5856"},"c5e49757-5859":{"renderedLength":282,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5858"},"c5e49757-5861":{"renderedLength":244,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5860"},"c5e49757-5863":{"renderedLength":670,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5862"},"c5e49757-5865":{"renderedLength":1799,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5864"},"c5e49757-5867":{"renderedLength":115,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5866"},"c5e49757-5869":{"renderedLength":52,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5868"},"c5e49757-5871":{"renderedLength":1501,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5870"},"c5e49757-5873":{"renderedLength":938,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5872"},"c5e49757-5875":{"renderedLength":425,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5874"},"c5e49757-5877":{"renderedLength":4548,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5876"},"c5e49757-5879":{"renderedLength":6469,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5878"},"c5e49757-5881":{"renderedLength":976,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5880"},"c5e49757-5883":{"renderedLength":2346,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5882"},"c5e49757-5885":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5884"},"c5e49757-5887":{"renderedLength":295,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5886"},"c5e49757-5889":{"renderedLength":3200,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5888"},"c5e49757-5891":{"renderedLength":580,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5890"},"c5e49757-5893":{"renderedLength":9717,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5892"},"c5e49757-5895":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5894"},"c5e49757-5897":{"renderedLength":390,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5896"},"c5e49757-5899":{"renderedLength":1522,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5898"},"c5e49757-5901":{"renderedLength":3549,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5900"},"c5e49757-5903":{"renderedLength":35,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5902"},"c5e49757-5905":{"renderedLength":435,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5904"},"c5e49757-5907":{"renderedLength":2540,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5906"},"c5e49757-5909":{"renderedLength":43,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5908"},"c5e49757-5911":{"renderedLength":391,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5910"},"c5e49757-5913":{"renderedLength":854,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5912"},"c5e49757-5915":{"renderedLength":1899,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5914"},"c5e49757-5917":{"renderedLength":43,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5916"},"c5e49757-5919":{"renderedLength":672,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5918"},"c5e49757-5921":{"renderedLength":1061,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5920"},"c5e49757-5923":{"renderedLength":295,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5922"},"c5e49757-5925":{"renderedLength":7010,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5924"},"c5e49757-5927":{"renderedLength":85,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5926"},"c5e49757-5929":{"renderedLength":1458,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5928"},"c5e49757-5931":{"renderedLength":8937,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5930"},"c5e49757-5933":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5932"},"c5e49757-5935":{"renderedLength":9889,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5934"},"c5e49757-5937":{"renderedLength":1780,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5936"},"c5e49757-5939":{"renderedLength":1975,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5938"},"c5e49757-5941":{"renderedLength":6380,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5940"},"c5e49757-5943":{"renderedLength":13203,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5942"},"c5e49757-5945":{"renderedLength":5856,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5944"},"c5e49757-5947":{"renderedLength":1493,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5946"},"c5e49757-5949":{"renderedLength":6247,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5948"},"c5e49757-5951":{"renderedLength":9006,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5950"},"c5e49757-5953":{"renderedLength":2013,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5952"},"c5e49757-5955":{"renderedLength":46,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5954"},"c5e49757-5957":{"renderedLength":5868,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5956"},"c5e49757-5959":{"renderedLength":2475,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5958"},"c5e49757-5961":{"renderedLength":1893,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5960"},"c5e49757-5963":{"renderedLength":4346,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5962"},"c5e49757-5965":{"renderedLength":4691,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5964"},"c5e49757-5967":{"renderedLength":3417,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5966"},"c5e49757-5969":{"renderedLength":7199,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5968"},"c5e49757-5971":{"renderedLength":365,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5970"},"c5e49757-5973":{"renderedLength":2930,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5972"},"c5e49757-5975":{"renderedLength":794,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5974"},"c5e49757-5977":{"renderedLength":860,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5976"},"c5e49757-5979":{"renderedLength":2328,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5978"},"c5e49757-5981":{"renderedLength":986,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5980"},"c5e49757-5983":{"renderedLength":9293,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5982"},"c5e49757-5985":{"renderedLength":608,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5984"},"c5e49757-5987":{"renderedLength":1546,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5986"},"c5e49757-5989":{"renderedLength":672,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5988"},"c5e49757-5991":{"renderedLength":669,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5990"},"c5e49757-5993":{"renderedLength":11786,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5992"},"c5e49757-5995":{"renderedLength":4382,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5994"},"c5e49757-5997":{"renderedLength":1926,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5996"},"c5e49757-5999":{"renderedLength":4969,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-5998"},"c5e49757-6001":{"renderedLength":1201,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6000"},"c5e49757-6003":{"renderedLength":4663,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6002"},"c5e49757-6005":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6004"},"c5e49757-6007":{"renderedLength":127,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6006"},"c5e49757-6009":{"renderedLength":573,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6008"},"c5e49757-6011":{"renderedLength":46,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6010"},"c5e49757-6013":{"renderedLength":581,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6012"},"c5e49757-6015":{"renderedLength":2408,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6014"},"c5e49757-6017":{"renderedLength":1608,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6016"},"c5e49757-6019":{"renderedLength":4008,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6018"},"c5e49757-6021":{"renderedLength":1269,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6020"},"c5e49757-6023":{"renderedLength":569,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6022"},"c5e49757-6025":{"renderedLength":2711,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6024"},"c5e49757-6027":{"renderedLength":1013,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6026"},"c5e49757-6029":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6028"},"c5e49757-6031":{"renderedLength":3283,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6030"},"c5e49757-6033":{"renderedLength":46,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6032"},"c5e49757-6035":{"renderedLength":527,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6034"},"c5e49757-6037":{"renderedLength":723,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6036"},"c5e49757-6039":{"renderedLength":493,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6038"},"c5e49757-6041":{"renderedLength":882,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6040"},"c5e49757-6043":{"renderedLength":1980,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6042"},"c5e49757-6045":{"renderedLength":505,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6044"},"c5e49757-6047":{"renderedLength":361,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6046"},"c5e49757-6049":{"renderedLength":216,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6048"},"c5e49757-6051":{"renderedLength":934,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6050"},"c5e49757-6053":{"renderedLength":2396,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6052"},"c5e49757-6055":{"renderedLength":4667,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6054"},"c5e49757-6057":{"renderedLength":291,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6056"},"c5e49757-6059":{"renderedLength":415,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6058"},"c5e49757-6061":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6060"},"c5e49757-6063":{"renderedLength":5519,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6062"},"c5e49757-6065":{"renderedLength":376,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6064"},"c5e49757-6067":{"renderedLength":419,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6066"},"c5e49757-6069":{"renderedLength":419,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6068"},"c5e49757-6071":{"renderedLength":2091,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6070"},"c5e49757-6073":{"renderedLength":2367,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6072"},"c5e49757-6075":{"renderedLength":699,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6074"},"c5e49757-6077":{"renderedLength":1759,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6076"},"c5e49757-6079":{"renderedLength":242,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6078"},"c5e49757-6081":{"renderedLength":282,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6080"},"c5e49757-6083":{"renderedLength":241,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6082"},"c5e49757-6085":{"renderedLength":7301,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6084"},"c5e49757-6087":{"renderedLength":145,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6086"},"c5e49757-6089":{"renderedLength":606,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6088"},"c5e49757-6091":{"renderedLength":87,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6090"},"c5e49757-6093":{"renderedLength":56,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6092"},"c5e49757-6095":{"renderedLength":114,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6094"},"c5e49757-6097":{"renderedLength":2372,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6096"},"c5e49757-6099":{"renderedLength":9517,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6098"},"c5e49757-6101":{"renderedLength":4202,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6100"},"c5e49757-6103":{"renderedLength":187,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6102"},"c5e49757-6105":{"renderedLength":2059,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6104"},"c5e49757-6107":{"renderedLength":92,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6106"},"c5e49757-6109":{"renderedLength":365,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6108"},"c5e49757-6111":{"renderedLength":950,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6110"},"c5e49757-6113":{"renderedLength":33,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6112"},"c5e49757-6115":{"renderedLength":795,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6114"},"c5e49757-6117":{"renderedLength":1435,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6116"},"c5e49757-6119":{"renderedLength":4222,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6118"},"c5e49757-6121":{"renderedLength":146,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6120"},"c5e49757-6123":{"renderedLength":262,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6122"},"c5e49757-6125":{"renderedLength":648,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6124"},"c5e49757-6127":{"renderedLength":2640,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6126"},"c5e49757-6129":{"renderedLength":115,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6128"},"c5e49757-6131":{"renderedLength":378,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6130"},"c5e49757-6133":{"renderedLength":359,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6132"},"c5e49757-6135":{"renderedLength":874,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6134"},"c5e49757-6137":{"renderedLength":298,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6136"},"c5e49757-6139":{"renderedLength":267,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6138"},"c5e49757-6141":{"renderedLength":361,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6140"},"c5e49757-6143":{"renderedLength":144,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6142"},"c5e49757-6145":{"renderedLength":2083,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6144"},"c5e49757-6147":{"renderedLength":1196,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6146"},"c5e49757-6149":{"renderedLength":132,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6148"},"c5e49757-6151":{"renderedLength":915,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6150"},"c5e49757-6153":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6152"},"c5e49757-6155":{"renderedLength":3448,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6154"},"c5e49757-6157":{"renderedLength":748,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6156"},"c5e49757-6159":{"renderedLength":2618,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6158"},"c5e49757-6161":{"renderedLength":2945,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6160"},"c5e49757-6163":{"renderedLength":43,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6162"},"c5e49757-6165":{"renderedLength":1616,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6164"},"c5e49757-6167":{"renderedLength":478,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6166"},"c5e49757-6169":{"renderedLength":196,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6168"},"c5e49757-6171":{"renderedLength":3129,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6170"},"c5e49757-6173":{"renderedLength":484,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6172"},"c5e49757-6175":{"renderedLength":748,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6174"},"c5e49757-6177":{"renderedLength":1324,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6176"},"c5e49757-6179":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6178"},"c5e49757-6181":{"renderedLength":4949,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6180"},"c5e49757-6183":{"renderedLength":5721,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6182"},"c5e49757-6185":{"renderedLength":41,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6184"},"c5e49757-6187":{"renderedLength":663,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6186"},"c5e49757-6189":{"renderedLength":11973,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6188"},"c5e49757-6191":{"renderedLength":8852,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6190"},"c5e49757-6193":{"renderedLength":753,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6192"},"c5e49757-6195":{"renderedLength":584,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6194"},"c5e49757-6197":{"renderedLength":5892,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6196"},"c5e49757-6199":{"renderedLength":10862,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6198"},"c5e49757-6201":{"renderedLength":2987,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6200"},"c5e49757-6203":{"renderedLength":9581,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6202"},"c5e49757-6205":{"renderedLength":104,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6204"},"c5e49757-6207":{"renderedLength":1061,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6206"},"c5e49757-6209":{"renderedLength":462,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6208"},"c5e49757-6211":{"renderedLength":1079,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6210"},"c5e49757-6213":{"renderedLength":5601,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6212"},"c5e49757-6215":{"renderedLength":679,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6214"},"c5e49757-6217":{"renderedLength":1711,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6216"},"c5e49757-6219":{"renderedLength":146,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6218"},"c5e49757-6221":{"renderedLength":3428,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6220"},"c5e49757-6223":{"renderedLength":5267,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6222"},"c5e49757-6225":{"renderedLength":1957,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6224"},"c5e49757-6227":{"renderedLength":6706,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6226"},"c5e49757-6229":{"renderedLength":484,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6228"},"c5e49757-6231":{"renderedLength":3909,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6230"},"c5e49757-6233":{"renderedLength":3713,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6232"},"c5e49757-6235":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6234"},"c5e49757-6237":{"renderedLength":52,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6236"},"c5e49757-6239":{"renderedLength":2315,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6238"},"c5e49757-6241":{"renderedLength":1833,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6240"},"c5e49757-6243":{"renderedLength":451,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6242"},"c5e49757-6245":{"renderedLength":8277,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6244"},"c5e49757-6247":{"renderedLength":163,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6246"},"c5e49757-6249":{"renderedLength":1515,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6248"},"c5e49757-6251":{"renderedLength":580,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6250"},"c5e49757-6253":{"renderedLength":5398,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6252"},"c5e49757-6255":{"renderedLength":3822,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6254"},"c5e49757-6257":{"renderedLength":4123,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6256"},"c5e49757-6259":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6258"},"c5e49757-6261":{"renderedLength":455,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6260"},"c5e49757-6263":{"renderedLength":621,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6262"},"c5e49757-6265":{"renderedLength":3372,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6264"},"c5e49757-6267":{"renderedLength":7078,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6266"},"c5e49757-6269":{"renderedLength":43,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6268"},"c5e49757-6271":{"renderedLength":284,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6270"},"c5e49757-6273":{"renderedLength":5766,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6272"},"c5e49757-6275":{"renderedLength":2501,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6274"},"c5e49757-6277":{"renderedLength":736,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6276"},"c5e49757-6279":{"renderedLength":2230,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6278"},"c5e49757-6281":{"renderedLength":1095,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6280"},"c5e49757-6283":{"renderedLength":1211,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6282"},"c5e49757-6285":{"renderedLength":5089,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6284"},"c5e49757-6287":{"renderedLength":797,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6286"},"c5e49757-6289":{"renderedLength":5708,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6288"},"c5e49757-6291":{"renderedLength":95,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6290"},"c5e49757-6293":{"renderedLength":626,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6292"},"c5e49757-6295":{"renderedLength":35,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6294"},"c5e49757-6297":{"renderedLength":5556,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6296"},"c5e49757-6299":{"renderedLength":72,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6298"},"c5e49757-6301":{"renderedLength":2083,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6300"},"c5e49757-6303":{"renderedLength":105,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6302"},"c5e49757-6305":{"renderedLength":529,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6304"},"c5e49757-6307":{"renderedLength":5321,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6306"},"c5e49757-6309":{"renderedLength":43,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6308"},"c5e49757-6311":{"renderedLength":1481,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6310"},"c5e49757-6313":{"renderedLength":3573,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6312"},"c5e49757-6315":{"renderedLength":173,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6314"},"c5e49757-6317":{"renderedLength":3244,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6316"},"c5e49757-6319":{"renderedLength":3590,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6318"},"c5e49757-6321":{"renderedLength":2096,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6320"},"c5e49757-6323":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6322"},"c5e49757-6325":{"renderedLength":178,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6324"},"c5e49757-6327":{"renderedLength":1724,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6326"},"c5e49757-6329":{"renderedLength":550,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6328"},"c5e49757-6331":{"renderedLength":5169,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6330"},"c5e49757-6333":{"renderedLength":2888,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6332"},"c5e49757-6335":{"renderedLength":59,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6334"},"c5e49757-6337":{"renderedLength":18128,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6336"},"c5e49757-6339":{"renderedLength":3478,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6338"},"c5e49757-6341":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6340"},"c5e49757-6343":{"renderedLength":430,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6342"},"c5e49757-6345":{"renderedLength":1067,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6344"},"c5e49757-6347":{"renderedLength":5148,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6346"},"c5e49757-6349":{"renderedLength":2990,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6348"},"c5e49757-6351":{"renderedLength":62,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6350"},"c5e49757-6353":{"renderedLength":119,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6352"},"c5e49757-6355":{"renderedLength":59,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6354"},"c5e49757-6357":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6356"},"c5e49757-6359":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6358"},"c5e49757-6361":{"renderedLength":4171,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6360"},"c5e49757-6363":{"renderedLength":5643,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6362"},"c5e49757-6365":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6364"},"c5e49757-6367":{"renderedLength":818663,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6366"},"c5e49757-6369":{"renderedLength":6128,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6368"},"c5e49757-6371":{"renderedLength":15168,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6370"},"c5e49757-6373":{"renderedLength":451,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6372"},"c5e49757-6375":{"renderedLength":14943,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6374"},"c5e49757-6377":{"renderedLength":4519,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6376"},"c5e49757-6379":{"renderedLength":713,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6378"},"c5e49757-6381":{"renderedLength":539,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6380"},"c5e49757-6383":{"renderedLength":720,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6382"},"c5e49757-6385":{"renderedLength":17644,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6384"},"c5e49757-6387":{"renderedLength":6792,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6386"},"c5e49757-6389":{"renderedLength":13424,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6388"},"c5e49757-6391":{"renderedLength":13270,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6390"},"c5e49757-6393":{"renderedLength":1456,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6392"},"c5e49757-6395":{"renderedLength":659,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6394"},"c5e49757-6397":{"renderedLength":754,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6396"},"c5e49757-6399":{"renderedLength":3959,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6398"},"c5e49757-6401":{"renderedLength":3555,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6400"},"c5e49757-6403":{"renderedLength":4574,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6402"},"c5e49757-6405":{"renderedLength":4601,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6404"},"c5e49757-6407":{"renderedLength":1334,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6406"},"c5e49757-6409":{"renderedLength":7985,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6408"},"c5e49757-6411":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6410"},"c5e49757-6413":{"renderedLength":4164,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6412"},"c5e49757-6415":{"renderedLength":13736,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6414"},"c5e49757-6417":{"renderedLength":6188,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6416"},"c5e49757-6419":{"renderedLength":4308,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6418"},"c5e49757-6421":{"renderedLength":471,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6420"},"c5e49757-6423":{"renderedLength":11585,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6422"},"c5e49757-6425":{"renderedLength":606,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6424"},"c5e49757-6427":{"renderedLength":2330,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6426"},"c5e49757-6429":{"renderedLength":17671,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6428"},"c5e49757-6431":{"renderedLength":549,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6430"},"c5e49757-6433":{"renderedLength":1080,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6432"},"c5e49757-6435":{"renderedLength":5699,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6434"},"c5e49757-6437":{"renderedLength":7970,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6436"},"c5e49757-6439":{"renderedLength":5302,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6438"},"c5e49757-6441":{"renderedLength":4186,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6440"},"c5e49757-6443":{"renderedLength":6465,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6442"},"c5e49757-6445":{"renderedLength":8345,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6444"},"c5e49757-6447":{"renderedLength":3732,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6446"},"c5e49757-6449":{"renderedLength":5438,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6448"},"c5e49757-6451":{"renderedLength":3599,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6450"},"c5e49757-6453":{"renderedLength":7470,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6452"},"c5e49757-6455":{"renderedLength":25922,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6454"},"c5e49757-6457":{"renderedLength":8173,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6456"},"c5e49757-6459":{"renderedLength":9306,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6458"},"c5e49757-6461":{"renderedLength":3750,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6460"},"c5e49757-6463":{"renderedLength":12879,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6462"},"c5e49757-6465":{"renderedLength":1312,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6464"},"c5e49757-6467":{"renderedLength":857,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6466"},"c5e49757-6469":{"renderedLength":4089,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6468"},"c5e49757-6471":{"renderedLength":5230,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6470"},"c5e49757-6473":{"renderedLength":6669,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6472"},"c5e49757-6475":{"renderedLength":2823,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6474"},"c5e49757-6477":{"renderedLength":13064,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6476"},"c5e49757-6479":{"renderedLength":2063,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6478"},"c5e49757-6481":{"renderedLength":4850,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6480"},"c5e49757-6483":{"renderedLength":3835,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6482"},"c5e49757-6485":{"renderedLength":2644,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6484"},"c5e49757-6487":{"renderedLength":1245,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6486"},"c5e49757-6489":{"renderedLength":2566,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6488"},"c5e49757-6491":{"renderedLength":1902,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6490"},"c5e49757-6493":{"renderedLength":7267,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6492"},"c5e49757-6495":{"renderedLength":8022,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6494"},"c5e49757-6497":{"renderedLength":678,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6496"},"c5e49757-6499":{"renderedLength":31,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6498"},"c5e49757-6501":{"renderedLength":139,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6500"},"c5e49757-6503":{"renderedLength":60394,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6502"},"c5e49757-6505":{"renderedLength":1805,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6504"},"c5e49757-6507":{"renderedLength":9239,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6506"},"c5e49757-6509":{"renderedLength":3262,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6508"},"c5e49757-6511":{"renderedLength":1168,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6510"},"c5e49757-6513":{"renderedLength":6878,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6512"},"c5e49757-6515":{"renderedLength":23524,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6514"},"c5e49757-6517":{"renderedLength":10619,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6516"},"c5e49757-6519":{"renderedLength":3350,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6518"},"c5e49757-6521":{"renderedLength":5496,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6520"},"c5e49757-6523":{"renderedLength":4246,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6522"},"c5e49757-6525":{"renderedLength":1770,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6524"},"c5e49757-6527":{"renderedLength":2712,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6526"},"c5e49757-6529":{"renderedLength":2407,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6528"},"c5e49757-6531":{"renderedLength":5733,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6530"},"c5e49757-6533":{"renderedLength":7399,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6532"},"c5e49757-6535":{"renderedLength":396,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6534"},"c5e49757-6537":{"renderedLength":16671,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6536"},"c5e49757-6539":{"renderedLength":12351,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6538"},"c5e49757-6541":{"renderedLength":4608,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6540"},"c5e49757-6543":{"renderedLength":4502,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6542"},"c5e49757-6545":{"renderedLength":11377,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6544"},"c5e49757-6547":{"renderedLength":2139,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6546"},"c5e49757-6549":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6548"},"c5e49757-6551":{"renderedLength":7226,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6550"},"c5e49757-6553":{"renderedLength":3282,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6552"},"c5e49757-6555":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6554"},"c5e49757-6557":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6556"},"c5e49757-6559":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6558"},"c5e49757-6561":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6560"},"c5e49757-6563":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6562"},"c5e49757-6565":{"renderedLength":10555,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6564"},"c5e49757-6567":{"renderedLength":7700,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6566"},"c5e49757-6569":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6568"},"c5e49757-6571":{"renderedLength":15917,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6570"},"c5e49757-6573":{"renderedLength":8077,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6572"},"c5e49757-6575":{"renderedLength":14386,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6574"},"c5e49757-6577":{"renderedLength":847,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6576"},"c5e49757-6579":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6578"},"c5e49757-6581":{"renderedLength":81,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6580"},"c5e49757-6583":{"renderedLength":87,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6582"},"c5e49757-6585":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6584"},"c5e49757-6587":{"renderedLength":3293,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6586"},"c5e49757-6589":{"renderedLength":1008,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6588"},"c5e49757-6591":{"renderedLength":10007,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6590"},"c5e49757-6593":{"renderedLength":5729,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6592"},"c5e49757-6595":{"renderedLength":2449,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6594"},"c5e49757-6597":{"renderedLength":4603,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6596"},"c5e49757-6599":{"renderedLength":9549,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6598"},"c5e49757-6601":{"renderedLength":2748,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6600"},"c5e49757-6603":{"renderedLength":1716,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6602"},"c5e49757-6605":{"renderedLength":33818,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6604"},"c5e49757-6607":{"renderedLength":2138,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6606"},"c5e49757-6609":{"renderedLength":3106,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6608"},"c5e49757-6611":{"renderedLength":792,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6610"},"c5e49757-6613":{"renderedLength":4404,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6612"},"c5e49757-6615":{"renderedLength":1953,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6614"},"c5e49757-6617":{"renderedLength":2003,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6616"},"c5e49757-6619":{"renderedLength":5603,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6618"},"c5e49757-6621":{"renderedLength":484,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6620"},"c5e49757-6623":{"renderedLength":27915,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6622"},"c5e49757-6625":{"renderedLength":1182,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6624"},"c5e49757-6627":{"renderedLength":6506,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6626"},"c5e49757-6629":{"renderedLength":2338,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6628"},"c5e49757-6631":{"renderedLength":15597,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6630"},"c5e49757-6633":{"renderedLength":8091,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6632"},"c5e49757-6635":{"renderedLength":579,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6634"},"c5e49757-6637":{"renderedLength":3307,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6636"},"c5e49757-6639":{"renderedLength":5250,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6638"},"c5e49757-6641":{"renderedLength":494,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6640"},"c5e49757-6643":{"renderedLength":352,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6642"},"c5e49757-6645":{"renderedLength":2236,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6644"},"c5e49757-6647":{"renderedLength":8445,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6646"},"c5e49757-6649":{"renderedLength":3194,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6648"},"c5e49757-6651":{"renderedLength":696,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6650"},"c5e49757-6653":{"renderedLength":494,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6652"},"c5e49757-6655":{"renderedLength":3368,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6654"},"c5e49757-6657":{"renderedLength":1700,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6656"},"c5e49757-6659":{"renderedLength":2388,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6658"},"c5e49757-6661":{"renderedLength":776,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6660"},"c5e49757-6663":{"renderedLength":5084,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6662"},"c5e49757-6665":{"renderedLength":1467,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6664"},"c5e49757-6667":{"renderedLength":2308,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6666"},"c5e49757-6669":{"renderedLength":2731,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6668"},"c5e49757-6671":{"renderedLength":13479,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6670"},"c5e49757-6673":{"renderedLength":19700,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6672"},"c5e49757-6675":{"renderedLength":10544,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6674"},"c5e49757-6677":{"renderedLength":1891,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6676"},"c5e49757-6679":{"renderedLength":2456,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6678"},"c5e49757-6681":{"renderedLength":6415,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6680"},"c5e49757-6683":{"renderedLength":1364,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6682"},"c5e49757-6685":{"renderedLength":257,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6684"},"c5e49757-6687":{"renderedLength":1447,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6686"},"c5e49757-6689":{"renderedLength":851,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6688"},"c5e49757-6691":{"renderedLength":6582,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6690"},"c5e49757-6693":{"renderedLength":2823,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6692"},"c5e49757-6695":{"renderedLength":3649,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6694"},"c5e49757-6697":{"renderedLength":5688,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6696"},"c5e49757-6699":{"renderedLength":333,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6698"},"c5e49757-6701":{"renderedLength":5388,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6700"},"c5e49757-6703":{"renderedLength":562,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6702"},"c5e49757-6705":{"renderedLength":296,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6704"},"c5e49757-6707":{"renderedLength":739,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6706"},"c5e49757-6709":{"renderedLength":7164,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6708"},"c5e49757-6711":{"renderedLength":2548,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6710"},"c5e49757-6713":{"renderedLength":2220,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6712"},"c5e49757-6715":{"renderedLength":11683,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6714"},"c5e49757-6717":{"renderedLength":1542,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6716"},"c5e49757-6719":{"renderedLength":2103,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6718"},"c5e49757-6721":{"renderedLength":2186,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6720"},"c5e49757-6723":{"renderedLength":3258,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6722"},"c5e49757-6725":{"renderedLength":1834,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6724"},"c5e49757-6727":{"renderedLength":25337,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6726"},"c5e49757-6729":{"renderedLength":5037,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6728"},"c5e49757-6731":{"renderedLength":6390,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6730"},"c5e49757-6733":{"renderedLength":2121,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6732"},"c5e49757-6735":{"renderedLength":1611,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6734"},"c5e49757-6737":{"renderedLength":6759,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6736"},"c5e49757-6739":{"renderedLength":4651,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6738"},"c5e49757-6741":{"renderedLength":5832,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6740"},"c5e49757-6743":{"renderedLength":4635,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6742"},"c5e49757-6745":{"renderedLength":2930,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6744"},"c5e49757-6747":{"renderedLength":2023,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6746"},"c5e49757-6749":{"renderedLength":3078,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6748"},"c5e49757-6751":{"renderedLength":334,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6750"},"c5e49757-6753":{"renderedLength":8571,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6752"},"c5e49757-6755":{"renderedLength":18727,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6754"},"c5e49757-6757":{"renderedLength":3160,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6756"},"c5e49757-6759":{"renderedLength":8455,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6758"},"c5e49757-6761":{"renderedLength":1348,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6760"},"c5e49757-6763":{"renderedLength":4501,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6762"},"c5e49757-6765":{"renderedLength":2599,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6764"},"c5e49757-6767":{"renderedLength":3219,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6766"},"c5e49757-6769":{"renderedLength":438,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6768"},"c5e49757-6771":{"renderedLength":1334,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6770"},"c5e49757-6773":{"renderedLength":236,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6772"},"c5e49757-6775":{"renderedLength":974,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6774"},"c5e49757-6777":{"renderedLength":473,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6776"},"c5e49757-6779":{"renderedLength":9866,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6778"},"c5e49757-6781":{"renderedLength":4993,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6780"},"c5e49757-6783":{"renderedLength":3648,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6782"},"c5e49757-6785":{"renderedLength":29463,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6784"},"c5e49757-6787":{"renderedLength":12566,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6786"},"c5e49757-6789":{"renderedLength":6115,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6788"},"c5e49757-6791":{"renderedLength":16275,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6790"},"c5e49757-6793":{"renderedLength":251,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6792"},"c5e49757-6795":{"renderedLength":949,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6794"},"c5e49757-6797":{"renderedLength":1946,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6796"},"c5e49757-6799":{"renderedLength":2090,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6798"},"c5e49757-6801":{"renderedLength":6134,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6800"},"c5e49757-6803":{"renderedLength":888,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6802"},"c5e49757-6805":{"renderedLength":1223,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6804"},"c5e49757-6807":{"renderedLength":2225,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6806"},"c5e49757-6809":{"renderedLength":5185,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6808"},"c5e49757-6811":{"renderedLength":215,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6810"},"c5e49757-6813":{"renderedLength":3964,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6812"},"c5e49757-6815":{"renderedLength":4536,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6814"},"c5e49757-6817":{"renderedLength":1983,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6816"},"c5e49757-6819":{"renderedLength":1771,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6818"},"c5e49757-6821":{"renderedLength":13892,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6820"},"c5e49757-6823":{"renderedLength":4118,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6822"},"c5e49757-6825":{"renderedLength":4184,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6824"},"c5e49757-6827":{"renderedLength":7303,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6826"},"c5e49757-6829":{"renderedLength":11448,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6828"},"c5e49757-6831":{"renderedLength":2102,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6830"},"c5e49757-6833":{"renderedLength":7110,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6832"},"c5e49757-6835":{"renderedLength":1461,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6834"},"c5e49757-6837":{"renderedLength":1218,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6836"},"c5e49757-6839":{"renderedLength":20356,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6838"},"c5e49757-6841":{"renderedLength":3306,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6840"},"c5e49757-6843":{"renderedLength":126,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6842"},"c5e49757-6845":{"renderedLength":4700,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6844"},"c5e49757-6847":{"renderedLength":2969,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6846"},"c5e49757-6849":{"renderedLength":9176,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6848"},"c5e49757-6851":{"renderedLength":225,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6850"},"c5e49757-6853":{"renderedLength":5749,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6852"},"c5e49757-6855":{"renderedLength":2506,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6854"},"c5e49757-6857":{"renderedLength":2590,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6856"},"c5e49757-6859":{"renderedLength":1062,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6858"},"c5e49757-6861":{"renderedLength":3161,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6860"},"c5e49757-6863":{"renderedLength":2675,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6862"},"c5e49757-6865":{"renderedLength":486,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6864"},"c5e49757-6867":{"renderedLength":4811,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6866"},"c5e49757-6869":{"renderedLength":13614,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6868"},"c5e49757-6871":{"renderedLength":839,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6870"},"c5e49757-6873":{"renderedLength":2295,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6872"},"c5e49757-6875":{"renderedLength":20821,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6874"},"c5e49757-6877":{"renderedLength":869,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6876"},"c5e49757-6879":{"renderedLength":4803,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6878"},"c5e49757-6881":{"renderedLength":2333,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6880"},"c5e49757-6883":{"renderedLength":710,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6882"},"c5e49757-6885":{"renderedLength":229,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6884"},"c5e49757-6887":{"renderedLength":10020,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6886"},"c5e49757-6889":{"renderedLength":4804,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6888"},"c5e49757-6891":{"renderedLength":14132,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6890"},"c5e49757-6893":{"renderedLength":1467,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6892"},"c5e49757-6895":{"renderedLength":654,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6894"},"c5e49757-6897":{"renderedLength":3202,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6896"},"c5e49757-6899":{"renderedLength":1577,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6898"},"c5e49757-6901":{"renderedLength":3940,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6900"},"c5e49757-6903":{"renderedLength":4469,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6902"},"c5e49757-6905":{"renderedLength":1804,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6904"},"c5e49757-6907":{"renderedLength":479,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6906"},"c5e49757-6909":{"renderedLength":222,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6908"},"c5e49757-6911":{"renderedLength":9250,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6910"},"c5e49757-6913":{"renderedLength":1978,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6912"},"c5e49757-6915":{"renderedLength":303,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6914"},"c5e49757-6917":{"renderedLength":1513,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6916"},"c5e49757-6919":{"renderedLength":6365,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6918"},"c5e49757-6921":{"renderedLength":291,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6920"},"c5e49757-6923":{"renderedLength":5756,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6922"},"c5e49757-6925":{"renderedLength":1839,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6924"},"c5e49757-6927":{"renderedLength":1846,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6926"},"c5e49757-6929":{"renderedLength":201,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6928"},"c5e49757-6931":{"renderedLength":5976,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6930"},"c5e49757-6933":{"renderedLength":2188,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6932"},"c5e49757-6935":{"renderedLength":2497,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6934"},"c5e49757-6937":{"renderedLength":7241,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6936"},"c5e49757-6939":{"renderedLength":2285,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6938"},"c5e49757-6941":{"renderedLength":4357,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6940"},"c5e49757-6943":{"renderedLength":8171,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6942"},"c5e49757-6945":{"renderedLength":2840,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6944"},"c5e49757-6947":{"renderedLength":208,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6946"},"c5e49757-6949":{"renderedLength":4335,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6948"},"c5e49757-6951":{"renderedLength":9264,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6950"},"c5e49757-6953":{"renderedLength":1290,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6952"},"c5e49757-6955":{"renderedLength":130,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6954"},"c5e49757-6957":{"renderedLength":23217,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6956"},"c5e49757-6959":{"renderedLength":1648,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6958"},"c5e49757-6961":{"renderedLength":431,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6960"},"c5e49757-6963":{"renderedLength":4272,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6962"},"c5e49757-6965":{"renderedLength":6475,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6964"},"c5e49757-6967":{"renderedLength":3374,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6966"},"c5e49757-6969":{"renderedLength":241,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6968"},"c5e49757-6971":{"renderedLength":7160,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6970"},"c5e49757-6973":{"renderedLength":1647,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6972"},"c5e49757-6975":{"renderedLength":5012,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6974"},"c5e49757-6977":{"renderedLength":4785,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6976"},"c5e49757-6979":{"renderedLength":5498,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6978"},"c5e49757-6981":{"renderedLength":1084,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6980"},"c5e49757-6983":{"renderedLength":343,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6982"},"c5e49757-6985":{"renderedLength":1825,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6984"},"c5e49757-6987":{"renderedLength":930,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6986"},"c5e49757-6989":{"renderedLength":998,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6988"},"c5e49757-6991":{"renderedLength":805,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6990"},"c5e49757-6993":{"renderedLength":1362,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6992"},"c5e49757-6995":{"renderedLength":2254,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6994"},"c5e49757-6997":{"renderedLength":7165,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6996"},"c5e49757-6999":{"renderedLength":10991,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-6998"},"c5e49757-7001":{"renderedLength":2474,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7000"},"c5e49757-7003":{"renderedLength":24599,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7002"},"c5e49757-7005":{"renderedLength":133,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7004"},"c5e49757-7007":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7006"},"c5e49757-7009":{"renderedLength":11428,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7008"},"c5e49757-7011":{"renderedLength":5042,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7010"},"c5e49757-7013":{"renderedLength":3726,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7012"},"c5e49757-7015":{"renderedLength":1935,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7014"},"c5e49757-7017":{"renderedLength":2625,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7016"},"c5e49757-7019":{"renderedLength":1383,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7018"},"c5e49757-7021":{"renderedLength":1876,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7020"},"c5e49757-7023":{"renderedLength":12745,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7022"},"c5e49757-7025":{"renderedLength":1620,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7024"},"c5e49757-7027":{"renderedLength":69,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7026"},"c5e49757-7029":{"renderedLength":3629,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7028"},"c5e49757-7031":{"renderedLength":791,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7030"},"c5e49757-7033":{"renderedLength":1140,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7032"},"c5e49757-7035":{"renderedLength":506,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7034"},"c5e49757-7037":{"renderedLength":2642,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7036"},"c5e49757-7039":{"renderedLength":5669,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7038"},"c5e49757-7041":{"renderedLength":3496,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7040"},"c5e49757-7043":{"renderedLength":10629,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7042"},"c5e49757-7045":{"renderedLength":5696,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7044"},"c5e49757-7047":{"renderedLength":8261,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7046"},"c5e49757-7049":{"renderedLength":1122,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7048"},"c5e49757-7051":{"renderedLength":1422,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7050"},"c5e49757-7053":{"renderedLength":3347,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7052"},"c5e49757-7055":{"renderedLength":1287,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7054"},"c5e49757-7057":{"renderedLength":670,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7056"},"c5e49757-7059":{"renderedLength":5163,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7058"},"c5e49757-7061":{"renderedLength":801,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7060"},"c5e49757-7063":{"renderedLength":3586,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7062"},"c5e49757-7065":{"renderedLength":749,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7064"},"c5e49757-7067":{"renderedLength":2884,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7066"},"c5e49757-7069":{"renderedLength":11950,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7068"},"c5e49757-7071":{"renderedLength":9707,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7070"},"c5e49757-7073":{"renderedLength":193,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7072"},"c5e49757-7075":{"renderedLength":5521,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7074"},"c5e49757-7077":{"renderedLength":10757,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7076"},"c5e49757-7079":{"renderedLength":959,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7078"},"c5e49757-7081":{"renderedLength":2580,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7080"},"c5e49757-7083":{"renderedLength":10686,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7082"},"c5e49757-7085":{"renderedLength":370,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7084"},"c5e49757-7087":{"renderedLength":498,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7086"},"c5e49757-7089":{"renderedLength":363,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7088"},"c5e49757-7091":{"renderedLength":12854,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7090"},"c5e49757-7093":{"renderedLength":3826,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7092"},"c5e49757-7095":{"renderedLength":423,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7094"},"c5e49757-7097":{"renderedLength":384,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7096"},"c5e49757-7099":{"renderedLength":175,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7098"},"c5e49757-7101":{"renderedLength":1089,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7100"},"c5e49757-7103":{"renderedLength":1462,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7102"},"c5e49757-7105":{"renderedLength":1500,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7104"},"c5e49757-7107":{"renderedLength":9983,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7106"},"c5e49757-7109":{"renderedLength":3917,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7108"},"c5e49757-7111":{"renderedLength":5722,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7110"},"c5e49757-7113":{"renderedLength":11847,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7112"},"c5e49757-7115":{"renderedLength":1965,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7114"},"c5e49757-7117":{"renderedLength":1018,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7116"},"c5e49757-7119":{"renderedLength":9907,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7118"},"c5e49757-7121":{"renderedLength":7283,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7120"},"c5e49757-7123":{"renderedLength":373,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7122"},"c5e49757-7125":{"renderedLength":2607,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7124"},"c5e49757-7127":{"renderedLength":1260,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7126"},"c5e49757-7129":{"renderedLength":14379,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7128"},"c5e49757-7131":{"renderedLength":5117,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7130"},"c5e49757-7133":{"renderedLength":30891,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7132"},"c5e49757-7135":{"renderedLength":573,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7134"},"c5e49757-7137":{"renderedLength":1297,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7136"},"c5e49757-7139":{"renderedLength":5072,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7138"},"c5e49757-7141":{"renderedLength":2626,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7140"},"c5e49757-7143":{"renderedLength":8812,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7142"},"c5e49757-7145":{"renderedLength":2686,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7144"},"c5e49757-7147":{"renderedLength":2089,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7146"},"c5e49757-7149":{"renderedLength":4200,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7148"},"c5e49757-7151":{"renderedLength":1306,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7150"},"c5e49757-7153":{"renderedLength":5403,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7152"},"c5e49757-7155":{"renderedLength":3581,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7154"},"c5e49757-7157":{"renderedLength":3836,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7156"},"c5e49757-7159":{"renderedLength":321,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7158"},"c5e49757-7161":{"renderedLength":623,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7160"},"c5e49757-7163":{"renderedLength":22355,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7162"},"c5e49757-7165":{"renderedLength":1319,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7164"},"c5e49757-7167":{"renderedLength":1941,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7166"},"c5e49757-7169":{"renderedLength":351,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7168"},"c5e49757-7171":{"renderedLength":334,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7170"},"c5e49757-7173":{"renderedLength":3380,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7172"},"c5e49757-7175":{"renderedLength":890,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7174"},"c5e49757-7177":{"renderedLength":5838,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7176"},"c5e49757-7179":{"renderedLength":1559,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7178"},"c5e49757-7181":{"renderedLength":5274,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7180"},"c5e49757-7183":{"renderedLength":346,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7182"},"c5e49757-7185":{"renderedLength":1002,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7184"},"c5e49757-7187":{"renderedLength":10539,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7186"},"c5e49757-7189":{"renderedLength":340,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7188"},"c5e49757-7191":{"renderedLength":1018,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7190"},"c5e49757-7193":{"renderedLength":11406,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7192"},"c5e49757-7195":{"renderedLength":340,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7194"},"c5e49757-7197":{"renderedLength":8002,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7196"},"c5e49757-7199":{"renderedLength":16718,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7198"},"c5e49757-7201":{"renderedLength":2167,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7200"},"c5e49757-7203":{"renderedLength":2753,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7202"},"c5e49757-7205":{"renderedLength":339,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7204"},"c5e49757-7207":{"renderedLength":1957,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7206"},"c5e49757-7209":{"renderedLength":14915,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7208"},"c5e49757-7211":{"renderedLength":2194,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7210"},"c5e49757-7213":{"renderedLength":211,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7212"},"c5e49757-7215":{"renderedLength":69,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7214"},"c5e49757-7217":{"renderedLength":598,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7216"},"c5e49757-7219":{"renderedLength":6950,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7218"},"c5e49757-7221":{"renderedLength":6132,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7220"},"c5e49757-7223":{"renderedLength":210,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7222"},"c5e49757-7225":{"renderedLength":2376,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7224"},"c5e49757-7227":{"renderedLength":27578,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7226"},"c5e49757-7229":{"renderedLength":167,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7228"},"c5e49757-7231":{"renderedLength":155,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7230"},"c5e49757-7233":{"renderedLength":836,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7232"},"c5e49757-7235":{"renderedLength":12915,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7234"},"c5e49757-7237":{"renderedLength":6944,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7236"},"c5e49757-7239":{"renderedLength":3416,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7238"},"c5e49757-7241":{"renderedLength":1647,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7240"},"c5e49757-7243":{"renderedLength":25595,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7242"},"c5e49757-7245":{"renderedLength":1982,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7244"},"c5e49757-7247":{"renderedLength":2328,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7246"},"c5e49757-7249":{"renderedLength":892,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7248"},"c5e49757-7251":{"renderedLength":701,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7250"},"c5e49757-7253":{"renderedLength":165,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7252"},"c5e49757-7255":{"renderedLength":11372,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7254"},"c5e49757-7257":{"renderedLength":6104,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7256"},"c5e49757-7259":{"renderedLength":172,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7258"},"c5e49757-7261":{"renderedLength":155,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7260"},"c5e49757-7263":{"renderedLength":7037,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7262"},"c5e49757-7265":{"renderedLength":491,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7264"},"c5e49757-7267":{"renderedLength":157,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7266"},"c5e49757-7269":{"renderedLength":6124,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7268"},"c5e49757-7271":{"renderedLength":1120,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7270"},"c5e49757-7273":{"renderedLength":2284,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7272"},"c5e49757-7275":{"renderedLength":127,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7274"},"c5e49757-7277":{"renderedLength":1438,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7276"},"c5e49757-7279":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7278"},"c5e49757-7281":{"renderedLength":5153,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7280"},"c5e49757-7283":{"renderedLength":16566,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7282"},"c5e49757-7285":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7284"},"c5e49757-7287":{"renderedLength":4928,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7286"},"c5e49757-7289":{"renderedLength":33,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7288"},"c5e49757-7291":{"renderedLength":1377299,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7290"},"c5e49757-7293":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7292"},"c5e49757-7295":{"renderedLength":30,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7294"},"c5e49757-7297":{"renderedLength":596675,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7296"},"c5e49757-7299":{"renderedLength":823,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7298"},"c5e49757-7301":{"renderedLength":2312,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7300"},"c5e49757-7303":{"renderedLength":3083,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7302"},"c5e49757-7305":{"renderedLength":3327,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7304"},"c5e49757-7307":{"renderedLength":3272,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7306"},"c5e49757-7309":{"renderedLength":7385,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7308"},"c5e49757-7311":{"renderedLength":1516,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7310"},"c5e49757-7313":{"renderedLength":845,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7312"},"c5e49757-7315":{"renderedLength":625,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7314"},"c5e49757-7317":{"renderedLength":821,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7316"},"c5e49757-7319":{"renderedLength":2605,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7318"},"c5e49757-7321":{"renderedLength":16905,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7320"},"c5e49757-7323":{"renderedLength":20090,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7322"},"c5e49757-7325":{"renderedLength":845,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7324"},"c5e49757-7327":{"renderedLength":1645,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7326"},"c5e49757-7329":{"renderedLength":1645,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7328"},"c5e49757-7331":{"renderedLength":1645,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7330"},"c5e49757-7333":{"renderedLength":1645,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7332"},"c5e49757-7335":{"renderedLength":1645,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7334"},"c5e49757-7337":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7336"},"c5e49757-7339":{"renderedLength":3746,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7338"},"c5e49757-7341":{"renderedLength":978,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7340"},"c5e49757-7343":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7342"},"c5e49757-7345":{"renderedLength":1645,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7344"},"c5e49757-7347":{"renderedLength":1127,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7346"},"c5e49757-7349":{"renderedLength":625,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7348"},"c5e49757-7351":{"renderedLength":19434,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7350"},"c5e49757-7353":{"renderedLength":2936,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7352"},"c5e49757-7355":{"renderedLength":4319,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7354"},"c5e49757-7357":{"renderedLength":4072,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7356"},"c5e49757-7359":{"renderedLength":1192,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7358"},"c5e49757-7361":{"renderedLength":4702,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7360"},"c5e49757-7363":{"renderedLength":4045,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7362"},"c5e49757-7365":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7364"},"c5e49757-7367":{"renderedLength":17679,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7366"},"c5e49757-7369":{"renderedLength":1553,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7368"},"c5e49757-7371":{"renderedLength":978,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7370"},"c5e49757-7373":{"renderedLength":455,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7372"},"c5e49757-7375":{"renderedLength":2679,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7374"},"c5e49757-7377":{"renderedLength":22,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7376"},"c5e49757-7379":{"renderedLength":486,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7378"},"c5e49757-7381":{"renderedLength":621,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7380"},"c5e49757-7383":{"renderedLength":17237,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7382"},"c5e49757-7385":{"renderedLength":2582,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7384"},"c5e49757-7387":{"renderedLength":42406,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7386"},"c5e49757-7389":{"renderedLength":11139,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7388"},"c5e49757-7391":{"renderedLength":885,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7390"},"c5e49757-7393":{"renderedLength":4226,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7392"},"c5e49757-7395":{"renderedLength":6852,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7394"},"c5e49757-7397":{"renderedLength":666,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7396"},"c5e49757-7399":{"renderedLength":15047,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7398"},"c5e49757-7401":{"renderedLength":486,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7400"},"c5e49757-7403":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7402"},"c5e49757-7405":{"renderedLength":6222,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7404"},"c5e49757-7407":{"renderedLength":18352,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7406"},"c5e49757-7409":{"renderedLength":6504,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7408"},"c5e49757-7411":{"renderedLength":784,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7410"},"c5e49757-7413":{"renderedLength":465,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7412"},"c5e49757-7415":{"renderedLength":1055,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7414"},"c5e49757-7417":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7416"},"c5e49757-7419":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7418"},"c5e49757-7421":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7420"},"c5e49757-7423":{"renderedLength":37,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7422"},"c5e49757-7425":{"renderedLength":2051952,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7424"},"c5e49757-7427":{"renderedLength":16164,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7426"},"c5e49757-7429":{"renderedLength":3875,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7428"},"c5e49757-7431":{"renderedLength":5214,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7430"},"c5e49757-7433":{"renderedLength":1756,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7432"},"c5e49757-7435":{"renderedLength":6215,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7434"},"c5e49757-7437":{"renderedLength":657,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7436"},"c5e49757-7439":{"renderedLength":4232,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7438"},"c5e49757-7441":{"renderedLength":3652,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7440"},"c5e49757-7443":{"renderedLength":4341,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7442"},"c5e49757-7445":{"renderedLength":175680,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7444"},"c5e49757-7447":{"renderedLength":4480,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7446"},"c5e49757-7449":{"renderedLength":773,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7448"},"c5e49757-7451":{"renderedLength":7686,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7450"},"c5e49757-7453":{"renderedLength":1120,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7452"},"c5e49757-7455":{"renderedLength":41104,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7454"},"c5e49757-7457":{"renderedLength":3631,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7456"},"c5e49757-7459":{"renderedLength":31216,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7458"},"c5e49757-7461":{"renderedLength":1203,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7460"},"c5e49757-7463":{"renderedLength":30358,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7462"},"c5e49757-7465":{"renderedLength":22422,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7464"},"c5e49757-7467":{"renderedLength":4035,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7466"},"c5e49757-7469":{"renderedLength":15013,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7468"},"c5e49757-7471":{"renderedLength":5390,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7470"},"c5e49757-7473":{"renderedLength":544,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7472"},"c5e49757-7475":{"renderedLength":30018,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7474"},"c5e49757-7477":{"renderedLength":2445,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7476"},"c5e49757-7479":{"renderedLength":4114,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7478"},"c5e49757-7481":{"renderedLength":15558,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7480"},"c5e49757-7483":{"renderedLength":46354,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7482"},"c5e49757-7485":{"renderedLength":1247,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7484"},"c5e49757-7487":{"renderedLength":704,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7486"},"c5e49757-7489":{"renderedLength":1009,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7488"},"c5e49757-7491":{"renderedLength":1222,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7490"},"c5e49757-7493":{"renderedLength":81378,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7492"},"c5e49757-7495":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7494"},"c5e49757-7497":{"renderedLength":2431,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7496"},"c5e49757-7499":{"renderedLength":1503,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7498"},"c5e49757-7501":{"renderedLength":3930,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7500"},"c5e49757-7503":{"renderedLength":4868,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7502"},"c5e49757-7505":{"renderedLength":3506,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7504"},"c5e49757-7507":{"renderedLength":6280,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7506"},"c5e49757-7509":{"renderedLength":471,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7508"},"c5e49757-7511":{"renderedLength":26821,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7510"},"c5e49757-7513":{"renderedLength":57647,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7512"},"c5e49757-7515":{"renderedLength":8386,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7514"},"c5e49757-7517":{"renderedLength":9887,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7516"},"c5e49757-7519":{"renderedLength":52444,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7518"},"c5e49757-7521":{"renderedLength":3787,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7520"},"c5e49757-7523":{"renderedLength":7850,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7522"},"c5e49757-7525":{"renderedLength":1349,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7524"},"c5e49757-7527":{"renderedLength":3935,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7526"},"c5e49757-7529":{"renderedLength":888,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7528"},"c5e49757-7531":{"renderedLength":6384,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7530"},"c5e49757-7533":{"renderedLength":9873,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7532"},"c5e49757-7535":{"renderedLength":1608,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7534"},"c5e49757-7537":{"renderedLength":416,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7536"},"c5e49757-7539":{"renderedLength":406,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7538"},"c5e49757-7541":{"renderedLength":62,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7540"},"c5e49757-7543":{"renderedLength":4727,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7542"},"c5e49757-7545":{"renderedLength":3262,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7544"},"c5e49757-7547":{"renderedLength":2958,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7546"},"c5e49757-7549":{"renderedLength":11742,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7548"},"c5e49757-7551":{"renderedLength":53521,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7550"},"c5e49757-7553":{"renderedLength":1844,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7552"},"c5e49757-7555":{"renderedLength":722,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7554"},"c5e49757-7557":{"renderedLength":3699,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7556"},"c5e49757-7559":{"renderedLength":21366,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7558"},"c5e49757-7561":{"renderedLength":414,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7560"},"c5e49757-7563":{"renderedLength":4323,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7562"},"c5e49757-7565":{"renderedLength":16812,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7564"},"c5e49757-7567":{"renderedLength":12201,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7566"},"c5e49757-7569":{"renderedLength":1055,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7568"},"c5e49757-7571":{"renderedLength":5747,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7570"},"c5e49757-7573":{"renderedLength":5279,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7572"},"c5e49757-7575":{"renderedLength":2426,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7574"},"c5e49757-7577":{"renderedLength":2134,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7576"},"c5e49757-7579":{"renderedLength":2461,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7578"},"c5e49757-7581":{"renderedLength":4089,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7580"},"c5e49757-7583":{"renderedLength":12871,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7582"},"c5e49757-7585":{"renderedLength":2115,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7584"},"c5e49757-7587":{"renderedLength":2558,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7586"},"c5e49757-7589":{"renderedLength":4043,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7588"},"c5e49757-7591":{"renderedLength":3175,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7590"},"c5e49757-7593":{"renderedLength":412,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7592"},"c5e49757-7595":{"renderedLength":614,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7594"},"c5e49757-7597":{"renderedLength":739,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7596"},"c5e49757-7599":{"renderedLength":219,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7598"},"c5e49757-7601":{"renderedLength":1112,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7600"},"c5e49757-7603":{"renderedLength":14691,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7602"},"c5e49757-7605":{"renderedLength":1854,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7604"},"c5e49757-7607":{"renderedLength":4961,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7606"},"c5e49757-7609":{"renderedLength":14531,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7608"},"c5e49757-7611":{"renderedLength":1303,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7610"},"c5e49757-7613":{"renderedLength":50840,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7612"},"c5e49757-7615":{"renderedLength":732,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7614"},"c5e49757-7617":{"renderedLength":7576,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7616"},"c5e49757-7619":{"renderedLength":4828,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7618"},"c5e49757-7621":{"renderedLength":1782,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7620"},"c5e49757-7623":{"renderedLength":13304,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7622"},"c5e49757-7625":{"renderedLength":2947,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7624"},"c5e49757-7627":{"renderedLength":15494,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7626"},"c5e49757-7629":{"renderedLength":3089,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7628"},"c5e49757-7631":{"renderedLength":4610,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7630"},"c5e49757-7633":{"renderedLength":20425,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7632"},"c5e49757-7635":{"renderedLength":8579,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7634"},"c5e49757-7637":{"renderedLength":1022,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7636"},"c5e49757-7639":{"renderedLength":6702,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7638"},"c5e49757-7641":{"renderedLength":5990,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7640"},"c5e49757-7643":{"renderedLength":12331,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7642"},"c5e49757-7645":{"renderedLength":3932,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7644"},"c5e49757-7647":{"renderedLength":24548,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7646"},"c5e49757-7649":{"renderedLength":4552,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7648"},"c5e49757-7651":{"renderedLength":2316,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7650"},"c5e49757-7653":{"renderedLength":4339,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7652"},"c5e49757-7655":{"renderedLength":5805,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7654"},"c5e49757-7657":{"renderedLength":7893,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7656"},"c5e49757-7659":{"renderedLength":12462,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7658"},"c5e49757-7661":{"renderedLength":16796,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7660"},"c5e49757-7663":{"renderedLength":1336,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7662"},"c5e49757-7665":{"renderedLength":12393,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7664"},"c5e49757-7667":{"renderedLength":489,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7666"},"c5e49757-7669":{"renderedLength":17532,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7668"},"c5e49757-7671":{"renderedLength":5965,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7670"},"c5e49757-7673":{"renderedLength":3384,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7672"},"c5e49757-7675":{"renderedLength":20313,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7674"},"c5e49757-7677":{"renderedLength":183,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7676"},"c5e49757-7679":{"renderedLength":429,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7678"},"c5e49757-7681":{"renderedLength":19144,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7680"},"c5e49757-7683":{"renderedLength":3074,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7682"},"c5e49757-7685":{"renderedLength":496,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7684"},"c5e49757-7687":{"renderedLength":1233,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7686"},"c5e49757-7689":{"renderedLength":3297,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7688"},"c5e49757-7691":{"renderedLength":9237,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7690"},"c5e49757-7693":{"renderedLength":8104,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7692"},"c5e49757-7695":{"renderedLength":923,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7694"},"c5e49757-7697":{"renderedLength":42768,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7696"},"c5e49757-7699":{"renderedLength":4321,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7698"},"c5e49757-7701":{"renderedLength":4275,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7700"},"c5e49757-7703":{"renderedLength":32938,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7702"},"c5e49757-7705":{"renderedLength":6121,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7704"},"c5e49757-7707":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7706"},"c5e49757-7709":{"renderedLength":2915,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7708"},"c5e49757-7711":{"renderedLength":430,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7710"},"c5e49757-7713":{"renderedLength":1811,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7712"},"c5e49757-7715":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7714"},"c5e49757-7717":{"renderedLength":4052,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7716"},"c5e49757-7719":{"renderedLength":8350,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7718"},"c5e49757-7721":{"renderedLength":1002,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7720"},"c5e49757-7723":{"renderedLength":519,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7722"},"c5e49757-7725":{"renderedLength":10903,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7724"},"c5e49757-7727":{"renderedLength":9814,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7726"},"c5e49757-7729":{"renderedLength":3379,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7728"},"c5e49757-7731":{"renderedLength":7891,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7730"},"c5e49757-7733":{"renderedLength":4445,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7732"},"c5e49757-7735":{"renderedLength":2738,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7734"},"c5e49757-7737":{"renderedLength":26898,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7736"},"c5e49757-7739":{"renderedLength":3552,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7738"},"c5e49757-7741":{"renderedLength":2069,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7740"},"c5e49757-7743":{"renderedLength":10331,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7742"},"c5e49757-7745":{"renderedLength":9920,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7744"},"c5e49757-7747":{"renderedLength":2118,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7746"},"c5e49757-7749":{"renderedLength":3257,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7748"},"c5e49757-7751":{"renderedLength":1362,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7750"},"c5e49757-7753":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7752"},"c5e49757-7755":{"renderedLength":10806,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7754"},"c5e49757-7757":{"renderedLength":6223,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7756"},"c5e49757-7759":{"renderedLength":1519,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7758"},"c5e49757-7761":{"renderedLength":3746,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7760"},"c5e49757-7763":{"renderedLength":5520,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7762"},"c5e49757-7765":{"renderedLength":914,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7764"},"c5e49757-7767":{"renderedLength":25526,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7766"},"c5e49757-7769":{"renderedLength":4517,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7768"},"c5e49757-7771":{"renderedLength":6458,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7770"},"c5e49757-7773":{"renderedLength":46467,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7772"},"c5e49757-7775":{"renderedLength":909,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7774"},"c5e49757-7777":{"renderedLength":11771,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7776"},"c5e49757-7779":{"renderedLength":1923,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7778"},"c5e49757-7781":{"renderedLength":3271,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7780"},"c5e49757-7783":{"renderedLength":3214,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7782"},"c5e49757-7785":{"renderedLength":8741,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7784"},"c5e49757-7787":{"renderedLength":7158,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7786"},"c5e49757-7789":{"renderedLength":4067,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7788"},"c5e49757-7791":{"renderedLength":4081,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7790"},"c5e49757-7793":{"renderedLength":13334,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7792"},"c5e49757-7795":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7794"},"c5e49757-7797":{"renderedLength":24577,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7796"},"c5e49757-7799":{"renderedLength":30394,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7798"},"c5e49757-7801":{"renderedLength":818,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7800"},"c5e49757-7803":{"renderedLength":11236,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7802"},"c5e49757-7805":{"renderedLength":30091,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7804"},"c5e49757-7807":{"renderedLength":6067,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7806"},"c5e49757-7809":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7808"},"c5e49757-7811":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7810"},"c5e49757-7813":{"renderedLength":405,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7812"},"c5e49757-7815":{"renderedLength":1861,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7814"},"c5e49757-7817":{"renderedLength":21121,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7816"},"c5e49757-7819":{"renderedLength":7659,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7818"},"c5e49757-7821":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7820"},"c5e49757-7823":{"renderedLength":2856,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7822"},"c5e49757-7825":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7824"},"c5e49757-7827":{"renderedLength":420,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7826"},"c5e49757-7829":{"renderedLength":846,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7828"},"c5e49757-7831":{"renderedLength":416,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7830"},"c5e49757-7833":{"renderedLength":42207,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7832"},"c5e49757-7835":{"renderedLength":1400,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7834"},"c5e49757-7837":{"renderedLength":11960,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7836"},"c5e49757-7839":{"renderedLength":5500,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7838"},"c5e49757-7841":{"renderedLength":3460,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7840"},"c5e49757-7843":{"renderedLength":14947,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7842"},"c5e49757-7845":{"renderedLength":10526,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7844"},"c5e49757-7847":{"renderedLength":34818,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7846"},"c5e49757-7849":{"renderedLength":33800,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7848"},"c5e49757-7851":{"renderedLength":2985,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7850"},"c5e49757-7853":{"renderedLength":12827,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7852"},"c5e49757-7855":{"renderedLength":2298,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7854"},"c5e49757-7857":{"renderedLength":17062,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7856"},"c5e49757-7859":{"renderedLength":48287,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7858"},"c5e49757-7861":{"renderedLength":10844,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7860"},"c5e49757-7863":{"renderedLength":73856,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7862"},"c5e49757-7865":{"renderedLength":10627,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7864"},"c5e49757-7867":{"renderedLength":19105,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7866"},"c5e49757-7869":{"renderedLength":6981,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7868"},"c5e49757-7871":{"renderedLength":4284,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7870"},"c5e49757-7873":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7872"},"c5e49757-7875":{"renderedLength":3864,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7874"},"c5e49757-7877":{"renderedLength":20560,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7876"},"c5e49757-7879":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7878"},"c5e49757-7881":{"renderedLength":8799,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7880"},"c5e49757-7883":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7882"},"c5e49757-7885":{"renderedLength":8707,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7884"},"c5e49757-7887":{"renderedLength":7278,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7886"},"c5e49757-7889":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7888"},"c5e49757-7891":{"renderedLength":17251,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7890"},"c5e49757-7893":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7892"},"c5e49757-7895":{"renderedLength":696,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7894"},"c5e49757-7897":{"renderedLength":1011,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7896"},"c5e49757-7899":{"renderedLength":1720,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7898"},"c5e49757-7901":{"renderedLength":19788,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7900"},"c5e49757-7903":{"renderedLength":13940,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7902"},"c5e49757-7905":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7904"},"c5e49757-7907":{"renderedLength":1429,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7906"},"c5e49757-7909":{"renderedLength":34281,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7908"},"c5e49757-7911":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7910"},"c5e49757-7913":{"renderedLength":4217,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7912"},"c5e49757-7915":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7914"},"c5e49757-7917":{"renderedLength":2782,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7916"},"c5e49757-7919":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7918"},"c5e49757-7921":{"renderedLength":1046,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7920"},"c5e49757-7923":{"renderedLength":2055,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7922"},"c5e49757-7925":{"renderedLength":1060,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7924"},"c5e49757-7927":{"renderedLength":4269,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7926"},"c5e49757-7929":{"renderedLength":3311,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7928"},"c5e49757-7931":{"renderedLength":6936,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7930"},"c5e49757-7933":{"renderedLength":863,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7932"},"c5e49757-7935":{"renderedLength":79042,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7934"},"c5e49757-7937":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7936"},"c5e49757-7939":{"renderedLength":6541,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7938"},"c5e49757-7941":{"renderedLength":18410,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7940"},"c5e49757-7943":{"renderedLength":5941,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7942"},"c5e49757-7945":{"renderedLength":5174,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7944"},"c5e49757-7947":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7946"},"c5e49757-7949":{"renderedLength":3029,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7948"},"c5e49757-7951":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7950"},"c5e49757-7953":{"renderedLength":2456,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7952"},"c5e49757-7955":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7954"},"c5e49757-7957":{"renderedLength":16107,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7956"},"c5e49757-7959":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7958"},"c5e49757-7961":{"renderedLength":9211,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7960"},"c5e49757-7963":{"renderedLength":13189,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7962"},"c5e49757-7965":{"renderedLength":13695,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7964"},"c5e49757-7967":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7966"},"c5e49757-7969":{"renderedLength":12666,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7968"},"c5e49757-7971":{"renderedLength":1434,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7970"},"c5e49757-7973":{"renderedLength":668,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7972"},"c5e49757-7975":{"renderedLength":797,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7974"},"c5e49757-7977":{"renderedLength":26632,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7976"},"c5e49757-7979":{"renderedLength":12881,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7978"},"c5e49757-7981":{"renderedLength":6237,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7980"},"c5e49757-7983":{"renderedLength":13400,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7982"},"c5e49757-7985":{"renderedLength":5804,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7984"},"c5e49757-7987":{"renderedLength":963,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7986"},"c5e49757-7989":{"renderedLength":1556,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7988"},"c5e49757-7991":{"renderedLength":1880,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7990"},"c5e49757-7993":{"renderedLength":1717,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7992"},"c5e49757-7995":{"renderedLength":3903,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7994"},"c5e49757-7997":{"renderedLength":5005,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7996"},"c5e49757-7999":{"renderedLength":3718,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-7998"},"c5e49757-8001":{"renderedLength":16170,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8000"},"c5e49757-8003":{"renderedLength":13225,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8002"},"c5e49757-8005":{"renderedLength":4408,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8004"},"c5e49757-8007":{"renderedLength":7020,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8006"},"c5e49757-8009":{"renderedLength":5041,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8008"},"c5e49757-8011":{"renderedLength":5167,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8010"},"c5e49757-8013":{"renderedLength":4874,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8012"},"c5e49757-8015":{"renderedLength":16484,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8014"},"c5e49757-8017":{"renderedLength":36898,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8016"},"c5e49757-8019":{"renderedLength":3959,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8018"},"c5e49757-8021":{"renderedLength":9482,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8020"},"c5e49757-8023":{"renderedLength":5303,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8022"},"c5e49757-8025":{"renderedLength":9251,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8024"},"c5e49757-8027":{"renderedLength":13934,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8026"},"c5e49757-8029":{"renderedLength":7759,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8028"},"c5e49757-8031":{"renderedLength":35573,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8030"},"c5e49757-8033":{"renderedLength":10922,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8032"},"c5e49757-8035":{"renderedLength":62897,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8034"},"c5e49757-8037":{"renderedLength":20509,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8036"},"c5e49757-8039":{"renderedLength":5475,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8038"},"c5e49757-8041":{"renderedLength":2135,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8040"},"c5e49757-8043":{"renderedLength":773,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8042"},"c5e49757-8045":{"renderedLength":556,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8044"},"c5e49757-8047":{"renderedLength":18003,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8046"},"c5e49757-8049":{"renderedLength":5041,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8048"},"c5e49757-8051":{"renderedLength":8651,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8050"},"c5e49757-8053":{"renderedLength":8399,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8052"},"c5e49757-8055":{"renderedLength":24164,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8054"},"c5e49757-8057":{"renderedLength":1149,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8056"},"c5e49757-8059":{"renderedLength":90303,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8058"},"c5e49757-8061":{"renderedLength":22695,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8060"},"c5e49757-8063":{"renderedLength":6940,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8062"},"c5e49757-8065":{"renderedLength":8570,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8064"},"c5e49757-8067":{"renderedLength":663,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8066"},"c5e49757-8069":{"renderedLength":5398,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8068"},"c5e49757-8071":{"renderedLength":11463,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8070"},"c5e49757-8073":{"renderedLength":40639,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8072"},"c5e49757-8075":{"renderedLength":5457,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8074"},"c5e49757-8077":{"renderedLength":31507,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8076"},"c5e49757-8079":{"renderedLength":15681,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8078"},"c5e49757-8081":{"renderedLength":8926,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8080"},"c5e49757-8083":{"renderedLength":14697,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8082"},"c5e49757-8085":{"renderedLength":50426,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8084"},"c5e49757-8087":{"renderedLength":2081,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8086"},"c5e49757-8089":{"renderedLength":53305,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8088"},"c5e49757-8091":{"renderedLength":764,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8090"},"c5e49757-8093":{"renderedLength":1747,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8092"},"c5e49757-8095":{"renderedLength":122,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8094"},"c5e49757-8097":{"renderedLength":82720,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8096"},"c5e49757-8099":{"renderedLength":4721,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8098"},"c5e49757-8101":{"renderedLength":3956,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8100"},"c5e49757-8103":{"renderedLength":408,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8102"},"c5e49757-8105":{"renderedLength":3519,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8104"},"c5e49757-8107":{"renderedLength":56,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8106"},"c5e49757-8109":{"renderedLength":47363,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8108"},"c5e49757-8111":{"renderedLength":1416,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8110"},"c5e49757-8113":{"renderedLength":66,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8112"},"c5e49757-8115":{"renderedLength":5306,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8114"},"c5e49757-8117":{"renderedLength":23782,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8116"},"c5e49757-8119":{"renderedLength":14642,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8118"},"c5e49757-8121":{"renderedLength":438,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8120"},"c5e49757-8123":{"renderedLength":2166,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8122"},"c5e49757-8125":{"renderedLength":22334,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8124"},"c5e49757-8127":{"renderedLength":3753,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8126"},"c5e49757-8129":{"renderedLength":5836,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8128"},"c5e49757-8131":{"renderedLength":3392,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8130"},"c5e49757-8133":{"renderedLength":3911,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8132"},"c5e49757-8135":{"renderedLength":485,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8134"},"c5e49757-8137":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8136"},"c5e49757-8139":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8138"},"c5e49757-8141":{"renderedLength":3352,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8140"},"c5e49757-8143":{"renderedLength":1206,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8142"},"c5e49757-8145":{"renderedLength":5817,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8144"},"c5e49757-8147":{"renderedLength":1264,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8146"},"c5e49757-8149":{"renderedLength":12360,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8148"},"c5e49757-8151":{"renderedLength":28478,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8150"},"c5e49757-8153":{"renderedLength":3802,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8152"},"c5e49757-8155":{"renderedLength":5891,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8154"},"c5e49757-8157":{"renderedLength":580,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8156"},"c5e49757-8159":{"renderedLength":99244,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8158"},"c5e49757-8161":{"renderedLength":1725,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8160"},"c5e49757-8163":{"renderedLength":25806,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8162"},"c5e49757-8165":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8164"},"c5e49757-8167":{"renderedLength":5357,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8166"},"c5e49757-8169":{"renderedLength":28545,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8168"},"c5e49757-8171":{"renderedLength":1679,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8170"},"c5e49757-8173":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8172"},"c5e49757-8175":{"renderedLength":14859,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8174"},"c5e49757-8177":{"renderedLength":3028,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8176"},"c5e49757-8179":{"renderedLength":9916,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8178"},"c5e49757-8181":{"renderedLength":2380,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8180"},"c5e49757-8183":{"renderedLength":1228,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8182"},"c5e49757-8185":{"renderedLength":15087,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8184"},"c5e49757-8187":{"renderedLength":996,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8186"},"c5e49757-8189":{"renderedLength":27196,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8188"},"c5e49757-8191":{"renderedLength":11578,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8190"},"c5e49757-8193":{"renderedLength":14482,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8192"},"c5e49757-8195":{"renderedLength":1591,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8194"},"c5e49757-8197":{"renderedLength":5852,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8196"},"c5e49757-8199":{"renderedLength":2223,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8198"},"c5e49757-8201":{"renderedLength":7914,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8200"},"c5e49757-8203":{"renderedLength":54,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8202"},"c5e49757-8205":{"renderedLength":358,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8204"},"c5e49757-8207":{"renderedLength":19993,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8206"},"c5e49757-8209":{"renderedLength":3011,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8208"},"c5e49757-8211":{"renderedLength":2409,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8210"},"c5e49757-8213":{"renderedLength":444,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8212"},"c5e49757-8215":{"renderedLength":8181,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8214"},"c5e49757-8217":{"renderedLength":9012,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8216"},"c5e49757-8219":{"renderedLength":4798,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8218"},"c5e49757-8221":{"renderedLength":666,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8220"},"c5e49757-8223":{"renderedLength":1317,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8222"},"c5e49757-8225":{"renderedLength":9412,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8224"},"c5e49757-8227":{"renderedLength":585,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8226"},"c5e49757-8229":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8228"},"c5e49757-8231":{"renderedLength":473,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8230"},"c5e49757-8233":{"renderedLength":4969,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8232"},"c5e49757-8235":{"renderedLength":3907,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8234"},"c5e49757-8237":{"renderedLength":50378,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8236"},"c5e49757-8239":{"renderedLength":3342,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8238"},"c5e49757-8241":{"renderedLength":439,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8240"},"c5e49757-8243":{"renderedLength":7698,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8242"},"c5e49757-8245":{"renderedLength":11968,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8244"},"c5e49757-8247":{"renderedLength":7056,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8246"},"c5e49757-8249":{"renderedLength":9014,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8248"},"c5e49757-8251":{"renderedLength":1516,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8250"},"c5e49757-8253":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8252"},"c5e49757-8255":{"renderedLength":63200,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8254"},"c5e49757-8257":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8256"},"c5e49757-8259":{"renderedLength":43142,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8258"},"c5e49757-8261":{"renderedLength":5518,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8260"},"c5e49757-8263":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8262"},"c5e49757-8265":{"renderedLength":1616,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8264"},"c5e49757-8267":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8266"},"c5e49757-8269":{"renderedLength":12997,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8268"},"c5e49757-8271":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8270"},"c5e49757-8273":{"renderedLength":5267,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8272"},"c5e49757-8275":{"renderedLength":4512,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8274"},"c5e49757-8277":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8276"},"c5e49757-8279":{"renderedLength":456,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8278"},"c5e49757-8281":{"renderedLength":7123,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8280"},"c5e49757-8283":{"renderedLength":7624,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8282"},"c5e49757-8285":{"renderedLength":8593,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8284"},"c5e49757-8287":{"renderedLength":20746,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8286"},"c5e49757-8289":{"renderedLength":18089,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8288"},"c5e49757-8291":{"renderedLength":43640,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8290"},"c5e49757-8293":{"renderedLength":6194,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8292"},"c5e49757-8295":{"renderedLength":4314,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8294"},"c5e49757-8297":{"renderedLength":799,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8296"},"c5e49757-8299":{"renderedLength":8815,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8298"},"c5e49757-8301":{"renderedLength":420,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8300"},"c5e49757-8303":{"renderedLength":4537,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8302"},"c5e49757-8305":{"renderedLength":1106,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8304"},"c5e49757-8307":{"renderedLength":9868,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8306"},"c5e49757-8309":{"renderedLength":21247,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8308"},"c5e49757-8311":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8310"},"c5e49757-8313":{"renderedLength":2241,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8312"},"c5e49757-8315":{"renderedLength":1645,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8314"},"c5e49757-8317":{"renderedLength":10964,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8316"},"c5e49757-8319":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8318"},"c5e49757-8321":{"renderedLength":3601,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8320"},"c5e49757-8323":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8322"},"c5e49757-8325":{"renderedLength":1917,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8324"},"c5e49757-8327":{"renderedLength":3293,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8326"},"c5e49757-8329":{"renderedLength":4332,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8328"},"c5e49757-8331":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8330"},"c5e49757-8333":{"renderedLength":19040,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8332"},"c5e49757-8335":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8334"},"c5e49757-8337":{"renderedLength":37593,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8336"},"c5e49757-8339":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8338"},"c5e49757-8341":{"renderedLength":7720,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8340"},"c5e49757-8343":{"renderedLength":2395,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8342"},"c5e49757-8345":{"renderedLength":1126,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8344"},"c5e49757-8347":{"renderedLength":2272,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8346"},"c5e49757-8349":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8348"},"c5e49757-8351":{"renderedLength":21091,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8350"},"c5e49757-8353":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8352"},"c5e49757-8355":{"renderedLength":12668,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8354"},"c5e49757-8357":{"renderedLength":1994,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8356"},"c5e49757-8359":{"renderedLength":23144,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8358"},"c5e49757-8361":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8360"},"c5e49757-8363":{"renderedLength":84438,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8362"},"c5e49757-8365":{"renderedLength":8086,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8364"},"c5e49757-8367":{"renderedLength":14545,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8366"},"c5e49757-8369":{"renderedLength":8984,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8368"},"c5e49757-8371":{"renderedLength":35668,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8370"},"c5e49757-8373":{"renderedLength":765,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8372"},"c5e49757-8375":{"renderedLength":1505,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8374"},"c5e49757-8377":{"renderedLength":55667,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8376"},"c5e49757-8379":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8378"},"c5e49757-8381":{"renderedLength":4911,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8380"},"c5e49757-8383":{"renderedLength":11613,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8382"},"c5e49757-8385":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8384"},"c5e49757-8387":{"renderedLength":5213,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8386"},"c5e49757-8389":{"renderedLength":3060,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8388"},"c5e49757-8391":{"renderedLength":60583,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8390"},"c5e49757-8393":{"renderedLength":37727,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8392"},"c5e49757-8395":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8394"},"c5e49757-8397":{"renderedLength":8124,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8396"},"c5e49757-8399":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8398"},"c5e49757-8401":{"renderedLength":1467,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8400"},"c5e49757-8403":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8402"},"c5e49757-8405":{"renderedLength":3696,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8404"},"c5e49757-8407":{"renderedLength":3651,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8406"},"c5e49757-8409":{"renderedLength":29350,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8408"},"c5e49757-8411":{"renderedLength":7103,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8410"},"c5e49757-8413":{"renderedLength":6251,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8412"},"c5e49757-8415":{"renderedLength":10298,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8414"},"c5e49757-8417":{"renderedLength":11444,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8416"},"c5e49757-8419":{"renderedLength":7494,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8418"},"c5e49757-8421":{"renderedLength":3076,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8420"},"c5e49757-8423":{"renderedLength":12803,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8422"},"c5e49757-8425":{"renderedLength":416,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8424"},"c5e49757-8427":{"renderedLength":4464,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8426"},"c5e49757-8429":{"renderedLength":15929,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8428"},"c5e49757-8431":{"renderedLength":8506,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8430"},"c5e49757-8433":{"renderedLength":414,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8432"},"c5e49757-8435":{"renderedLength":14792,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8434"},"c5e49757-8437":{"renderedLength":2745,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8436"},"c5e49757-8439":{"renderedLength":15169,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8438"},"c5e49757-8441":{"renderedLength":10179,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8440"},"c5e49757-8443":{"renderedLength":1408,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8442"},"c5e49757-8445":{"renderedLength":14355,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8444"},"c5e49757-8447":{"renderedLength":1247,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8446"},"c5e49757-8449":{"renderedLength":660,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8448"},"c5e49757-8451":{"renderedLength":29058,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8450"},"c5e49757-8453":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8452"},"c5e49757-8455":{"renderedLength":3040,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8454"},"c5e49757-8457":{"renderedLength":3059,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8456"},"c5e49757-8459":{"renderedLength":12602,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8458"},"c5e49757-8461":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8460"},"c5e49757-8463":{"renderedLength":28100,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8462"},"c5e49757-8465":{"renderedLength":14953,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8464"},"c5e49757-8467":{"renderedLength":3341,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8466"},"c5e49757-8469":{"renderedLength":6020,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8468"},"c5e49757-8471":{"renderedLength":3329,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8470"},"c5e49757-8473":{"renderedLength":6456,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8472"},"c5e49757-8475":{"renderedLength":31700,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8474"},"c5e49757-8477":{"renderedLength":7567,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8476"},"c5e49757-8479":{"renderedLength":6053,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8478"},"c5e49757-8481":{"renderedLength":30298,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8480"},"c5e49757-8483":{"renderedLength":20977,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8482"},"c5e49757-8485":{"renderedLength":9576,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8484"},"c5e49757-8487":{"renderedLength":5911,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8486"},"c5e49757-8489":{"renderedLength":9621,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8488"},"c5e49757-8491":{"renderedLength":5080,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8490"},"c5e49757-8493":{"renderedLength":9252,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8492"},"c5e49757-8495":{"renderedLength":5738,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8494"},"c5e49757-8497":{"renderedLength":625,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8496"},"c5e49757-8499":{"renderedLength":823,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8498"},"c5e49757-8501":{"renderedLength":3114,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8500"},"c5e49757-8503":{"renderedLength":804,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8502"},"c5e49757-8505":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8504"},"c5e49757-8507":{"renderedLength":6796,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8506"},"c5e49757-8509":{"renderedLength":11812,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8508"},"c5e49757-8511":{"renderedLength":11551,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8510"},"c5e49757-8513":{"renderedLength":29623,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8512"},"c5e49757-8515":{"renderedLength":14224,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8514"},"c5e49757-8517":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8516"},"c5e49757-8519":{"renderedLength":12076,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8518"},"c5e49757-8521":{"renderedLength":1294,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8520"},"c5e49757-8523":{"renderedLength":14432,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8522"},"c5e49757-8525":{"renderedLength":1125,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8524"},"c5e49757-8527":{"renderedLength":2117,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8526"},"c5e49757-8529":{"renderedLength":16857,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8528"},"c5e49757-8531":{"renderedLength":20530,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8530"},"c5e49757-8533":{"renderedLength":25522,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8532"},"c5e49757-8535":{"renderedLength":2666,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8534"},"c5e49757-8537":{"renderedLength":4172,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8536"},"c5e49757-8539":{"renderedLength":1309,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8538"},"c5e49757-8541":{"renderedLength":2157,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8540"},"c5e49757-8543":{"renderedLength":1518,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8542"},"c5e49757-8545":{"renderedLength":16401,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8544"},"c5e49757-8547":{"renderedLength":2354,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8546"},"c5e49757-8549":{"renderedLength":2821,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8548"},"c5e49757-8551":{"renderedLength":255,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8550"},"c5e49757-8553":{"renderedLength":306,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8552"},"c5e49757-8555":{"renderedLength":264,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8554"},"c5e49757-8557":{"renderedLength":260,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8556"},"c5e49757-8559":{"renderedLength":251,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8558"},"c5e49757-8561":{"renderedLength":260,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8560"},"c5e49757-8563":{"renderedLength":292,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8562"},"c5e49757-8565":{"renderedLength":352,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8564"},"c5e49757-8567":{"renderedLength":544,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8566"},"c5e49757-8569":{"renderedLength":274,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8568"},"c5e49757-8571":{"renderedLength":244,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8570"},"c5e49757-8573":{"renderedLength":277,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8572"},"c5e49757-8575":{"renderedLength":277,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8574"},"c5e49757-8577":{"renderedLength":307,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8576"},"c5e49757-8579":{"renderedLength":300,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8578"},"c5e49757-8581":{"renderedLength":257,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8580"},"c5e49757-8583":{"renderedLength":275,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8582"},"c5e49757-8585":{"renderedLength":275,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8584"},"c5e49757-8587":{"renderedLength":311,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8586"},"c5e49757-8589":{"renderedLength":2589,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8588"},"c5e49757-8591":{"renderedLength":239,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8590"},"c5e49757-8593":{"renderedLength":323,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8592"},"c5e49757-8595":{"renderedLength":345,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8594"},"c5e49757-8597":{"renderedLength":287,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8596"},"c5e49757-8599":{"renderedLength":424,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8598"},"c5e49757-8601":{"renderedLength":353,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8600"},"c5e49757-8603":{"renderedLength":315,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8602"},"c5e49757-8605":{"renderedLength":405,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8604"},"c5e49757-8607":{"renderedLength":257,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8606"},"c5e49757-8609":{"renderedLength":325,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8608"},"c5e49757-8611":{"renderedLength":298,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8610"},"c5e49757-8613":{"renderedLength":249,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8612"},"c5e49757-8615":{"renderedLength":250,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8614"},"c5e49757-8617":{"renderedLength":318,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8616"},"c5e49757-8619":{"renderedLength":294,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8618"},"c5e49757-8621":{"renderedLength":339,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8620"},"c5e49757-8623":{"renderedLength":250,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8622"},"c5e49757-8625":{"renderedLength":315,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8624"},"c5e49757-8627":{"renderedLength":266,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8626"},"c5e49757-8629":{"renderedLength":252,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8628"},"c5e49757-8631":{"renderedLength":264,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8630"},"c5e49757-8633":{"renderedLength":328,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8632"},"c5e49757-8635":{"renderedLength":270,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8634"},"c5e49757-8637":{"renderedLength":258,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8636"},"c5e49757-8639":{"renderedLength":277,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8638"},"c5e49757-8641":{"renderedLength":322,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8640"},"c5e49757-8643":{"renderedLength":223,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8642"},"c5e49757-8645":{"renderedLength":288,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8644"},"c5e49757-8647":{"renderedLength":300,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8646"},"c5e49757-8649":{"renderedLength":309,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8648"},"c5e49757-8651":{"renderedLength":277,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8650"},"c5e49757-8653":{"renderedLength":268,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8652"},"c5e49757-8655":{"renderedLength":341,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8654"},"c5e49757-8657":{"renderedLength":257,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8656"},"c5e49757-8659":{"renderedLength":281,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8658"},"c5e49757-8661":{"renderedLength":293,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8660"},"c5e49757-8663":{"renderedLength":251,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8662"},"c5e49757-8665":{"renderedLength":264,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8664"},"c5e49757-8667":{"renderedLength":302,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8666"},"c5e49757-8669":{"renderedLength":324,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8668"},"c5e49757-8671":{"renderedLength":262,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8670"},"c5e49757-8673":{"renderedLength":254,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8672"},"c5e49757-8675":{"renderedLength":398,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8674"},"c5e49757-8677":{"renderedLength":285,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8676"},"c5e49757-8679":{"renderedLength":306,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8678"},"c5e49757-8681":{"renderedLength":263,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8680"},"c5e49757-8683":{"renderedLength":272,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8682"},"c5e49757-8685":{"renderedLength":266,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8684"},"c5e49757-8687":{"renderedLength":261,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8686"},"c5e49757-8689":{"renderedLength":243,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8688"},"c5e49757-8691":{"renderedLength":336,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8690"},"c5e49757-8693":{"renderedLength":289,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8692"},"c5e49757-8695":{"renderedLength":597,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8694"},"c5e49757-8697":{"renderedLength":288,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8696"},"c5e49757-8699":{"renderedLength":285,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8698"},"c5e49757-8701":{"renderedLength":341,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8700"},"c5e49757-8703":{"renderedLength":255,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8702"},"c5e49757-8705":{"renderedLength":282,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8704"},"c5e49757-8707":{"renderedLength":621,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8706"},"c5e49757-8709":{"renderedLength":329,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8708"},"c5e49757-8711":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8710"},"c5e49757-8713":{"renderedLength":4456,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8712"},"c5e49757-8715":{"renderedLength":4906,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8714"},"c5e49757-8717":{"renderedLength":2102,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8716"},"c5e49757-8719":{"renderedLength":9648,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8718"},"c5e49757-8721":{"renderedLength":9156,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8720"},"c5e49757-8723":{"renderedLength":3386,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8722"},"c5e49757-8725":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8724"},"c5e49757-8727":{"renderedLength":7228,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8726"},"c5e49757-8729":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8728"},"c5e49757-8731":{"renderedLength":15045,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8730"},"c5e49757-8733":{"renderedLength":2236,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8732"},"c5e49757-8735":{"renderedLength":1674,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8734"},"c5e49757-8737":{"renderedLength":2827,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8736"},"c5e49757-8739":{"renderedLength":1805,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8738"},"c5e49757-8741":{"renderedLength":3896,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8740"},"c5e49757-8743":{"renderedLength":1056,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8742"},"c5e49757-8745":{"renderedLength":961,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8744"},"c5e49757-8747":{"renderedLength":2945,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8746"},"c5e49757-8749":{"renderedLength":8906,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8748"},"c5e49757-8751":{"renderedLength":30103,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8750"},"c5e49757-8753":{"renderedLength":3081,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8752"},"c5e49757-8755":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8754"},"c5e49757-8757":{"renderedLength":5267,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8756"},"c5e49757-8759":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8758"},"c5e49757-8761":{"renderedLength":8110,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8760"},"c5e49757-8763":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8762"},"c5e49757-8765":{"renderedLength":7480,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8764"},"c5e49757-8767":{"renderedLength":23388,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8766"},"c5e49757-8769":{"renderedLength":11368,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8768"},"c5e49757-8771":{"renderedLength":5692,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8770"},"c5e49757-8773":{"renderedLength":11638,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8772"},"c5e49757-8775":{"renderedLength":3992,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8774"},"c5e49757-8777":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8776"},"c5e49757-8779":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8778"},"c5e49757-8781":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8780"},"c5e49757-8783":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8782"},"c5e49757-8785":{"renderedLength":10250,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8784"},"c5e49757-8787":{"renderedLength":3356,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8786"},"c5e49757-8789":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8788"},"c5e49757-8791":{"renderedLength":9600,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8790"},"c5e49757-8793":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8792"},"c5e49757-8795":{"renderedLength":11634,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8794"},"c5e49757-8797":{"renderedLength":9891,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8796"},"c5e49757-8799":{"renderedLength":17131,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8798"},"c5e49757-8801":{"renderedLength":17079,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8800"},"c5e49757-8803":{"renderedLength":11463,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8802"},"c5e49757-8805":{"renderedLength":1784,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8804"},"c5e49757-8807":{"renderedLength":3645,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8806"},"c5e49757-8809":{"renderedLength":4451,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8808"},"c5e49757-8811":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8810"},"c5e49757-8813":{"renderedLength":9808,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8812"},"c5e49757-8815":{"renderedLength":22034,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8814"},"c5e49757-8817":{"renderedLength":3149,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8816"},"c5e49757-8819":{"renderedLength":4826,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8818"},"c5e49757-8821":{"renderedLength":10575,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8820"},"c5e49757-8823":{"renderedLength":3016,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8822"},"c5e49757-8825":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8824"},"c5e49757-8827":{"renderedLength":15455,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8826"},"c5e49757-8829":{"renderedLength":10017,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8828"},"c5e49757-8831":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8830"},"c5e49757-8833":{"renderedLength":7630,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8832"},"c5e49757-8835":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8834"},"c5e49757-8837":{"renderedLength":2912,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8836"},"c5e49757-8839":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8838"},"c5e49757-8841":{"renderedLength":14722,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8840"},"c5e49757-8843":{"renderedLength":12603,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8842"},"c5e49757-8845":{"renderedLength":8855,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8844"},"c5e49757-8847":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8846"},"c5e49757-8849":{"renderedLength":7157,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8848"},"c5e49757-8851":{"renderedLength":18822,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8850"},"c5e49757-8853":{"renderedLength":16721,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8852"},"c5e49757-8855":{"renderedLength":7391,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8854"},"c5e49757-8857":{"renderedLength":4498,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8856"},"c5e49757-8859":{"renderedLength":31020,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8858"},"c5e49757-8861":{"renderedLength":12982,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8860"},"c5e49757-8863":{"renderedLength":6039,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8862"},"c5e49757-8865":{"renderedLength":1991,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8864"},"c5e49757-8867":{"renderedLength":6811,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8866"},"c5e49757-8869":{"renderedLength":4109,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8868"},"c5e49757-8871":{"renderedLength":40988,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8870"},"c5e49757-8873":{"renderedLength":6736,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8872"},"c5e49757-8875":{"renderedLength":1880,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8874"},"c5e49757-8877":{"renderedLength":7372,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8876"},"c5e49757-8879":{"renderedLength":7401,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8878"},"c5e49757-8881":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8880"},"c5e49757-8883":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8882"},"c5e49757-8885":{"renderedLength":1011,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8884"},"c5e49757-8887":{"renderedLength":17319,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8886"},"c5e49757-8889":{"renderedLength":11797,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8888"},"c5e49757-8891":{"renderedLength":11596,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8890"},"c5e49757-8893":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8892"},"c5e49757-8895":{"renderedLength":589,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8894"},"c5e49757-8897":{"renderedLength":15321,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8896"},"c5e49757-8899":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8898"},"c5e49757-8901":{"renderedLength":29654,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8900"},"c5e49757-8903":{"renderedLength":2041,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8902"},"c5e49757-8905":{"renderedLength":12404,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8904"},"c5e49757-8907":{"renderedLength":3051,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8906"},"c5e49757-8909":{"renderedLength":7682,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8908"},"c5e49757-8911":{"renderedLength":16151,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8910"},"c5e49757-8913":{"renderedLength":6103,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8912"},"c5e49757-8915":{"renderedLength":15360,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8914"},"c5e49757-8917":{"renderedLength":4978,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8916"},"c5e49757-8919":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8918"},"c5e49757-8921":{"renderedLength":4364,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8920"},"c5e49757-8923":{"renderedLength":8312,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8922"},"c5e49757-8925":{"renderedLength":3720,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8924"},"c5e49757-8927":{"renderedLength":837,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8926"},"c5e49757-8929":{"renderedLength":517,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8928"},"c5e49757-8931":{"renderedLength":7855,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8930"},"c5e49757-8933":{"renderedLength":2171,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8932"},"c5e49757-8935":{"renderedLength":13315,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8934"},"c5e49757-8937":{"renderedLength":2267,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8936"},"c5e49757-8939":{"renderedLength":2510,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8938"},"c5e49757-8941":{"renderedLength":11006,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8940"},"c5e49757-8943":{"renderedLength":22512,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8942"},"c5e49757-8945":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8944"},"c5e49757-8947":{"renderedLength":5106,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8946"},"c5e49757-8949":{"renderedLength":10134,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8948"},"c5e49757-8951":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8950"},"c5e49757-8953":{"renderedLength":6997,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8952"},"c5e49757-8955":{"renderedLength":5559,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8954"},"c5e49757-8957":{"renderedLength":722,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8956"},"c5e49757-8959":{"renderedLength":51097,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8958"},"c5e49757-8961":{"renderedLength":40068,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8960"},"c5e49757-8963":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8962"},"c5e49757-8965":{"renderedLength":13964,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8964"},"c5e49757-8967":{"renderedLength":23982,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8966"},"c5e49757-8969":{"renderedLength":4926,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8968"},"c5e49757-8971":{"renderedLength":7118,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8970"},"c5e49757-8973":{"renderedLength":8551,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8972"},"c5e49757-8975":{"renderedLength":6854,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8974"},"c5e49757-8977":{"renderedLength":48695,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8976"},"c5e49757-8979":{"renderedLength":1689,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8978"},"c5e49757-8981":{"renderedLength":11231,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8980"},"c5e49757-8983":{"renderedLength":10015,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8982"},"c5e49757-8985":{"renderedLength":914,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8984"},"c5e49757-8987":{"renderedLength":4747,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8986"},"c5e49757-8989":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8988"},"c5e49757-8991":{"renderedLength":3468,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8990"},"c5e49757-8993":{"renderedLength":1908,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8992"},"c5e49757-8995":{"renderedLength":11991,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8994"},"c5e49757-8997":{"renderedLength":2784,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8996"},"c5e49757-8999":{"renderedLength":10150,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-8998"},"c5e49757-9001":{"renderedLength":9284,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9000"},"c5e49757-9003":{"renderedLength":13962,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9002"},"c5e49757-9005":{"renderedLength":15588,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9004"},"c5e49757-9007":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9006"},"c5e49757-9009":{"renderedLength":193,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9008"},"c5e49757-9011":{"renderedLength":13934,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9010"},"c5e49757-9013":{"renderedLength":34046,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9012"},"c5e49757-9015":{"renderedLength":12705,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9014"},"c5e49757-9017":{"renderedLength":25111,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9016"},"c5e49757-9019":{"renderedLength":9184,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9018"},"c5e49757-9021":{"renderedLength":3162,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9020"},"c5e49757-9023":{"renderedLength":3642,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9022"},"c5e49757-9025":{"renderedLength":2242,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9024"},"c5e49757-9027":{"renderedLength":6256,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9026"},"c5e49757-9029":{"renderedLength":2546,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9028"},"c5e49757-9031":{"renderedLength":9412,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9030"},"c5e49757-9033":{"renderedLength":30360,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9032"},"c5e49757-9035":{"renderedLength":2379,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9034"},"c5e49757-9037":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9036"},"c5e49757-9039":{"renderedLength":3826,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9038"},"c5e49757-9041":{"renderedLength":16826,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9040"},"c5e49757-9043":{"renderedLength":268,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9042"},"c5e49757-9045":{"renderedLength":4192,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9044"},"c5e49757-9047":{"renderedLength":10066,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9046"},"c5e49757-9049":{"renderedLength":39020,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9048"},"c5e49757-9051":{"renderedLength":41594,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9050"},"c5e49757-9053":{"renderedLength":8314,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9052"},"c5e49757-9055":{"renderedLength":15854,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9054"},"c5e49757-9057":{"renderedLength":8760,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9056"},"c5e49757-9059":{"renderedLength":7160,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9058"},"c5e49757-9061":{"renderedLength":987,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9060"},"c5e49757-9063":{"renderedLength":1047,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9062"},"c5e49757-9065":{"renderedLength":4639,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9064"},"c5e49757-9067":{"renderedLength":22078,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9066"},"c5e49757-9069":{"renderedLength":6202,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9068"},"c5e49757-9071":{"renderedLength":4201,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9070"},"c5e49757-9073":{"renderedLength":26229,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9072"},"c5e49757-9075":{"renderedLength":7055,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9074"},"c5e49757-9077":{"renderedLength":536,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9076"},"c5e49757-9079":{"renderedLength":1336,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9078"},"c5e49757-9081":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9080"},"c5e49757-9083":{"renderedLength":6657,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9082"},"c5e49757-9085":{"renderedLength":1385,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9084"},"c5e49757-9087":{"renderedLength":4160,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9086"},"c5e49757-9089":{"renderedLength":3239,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9088"},"c5e49757-9091":{"renderedLength":19874,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9090"},"c5e49757-9093":{"renderedLength":2894,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9092"},"c5e49757-9095":{"renderedLength":45782,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9094"},"c5e49757-9097":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9096"},"c5e49757-9099":{"renderedLength":16637,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9098"},"c5e49757-9101":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9100"},"c5e49757-9103":{"renderedLength":4708,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9102"},"c5e49757-9105":{"renderedLength":15260,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9104"},"c5e49757-9107":{"renderedLength":1131,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9106"},"c5e49757-9109":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9108"},"c5e49757-9111":{"renderedLength":6523,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9110"},"c5e49757-9113":{"renderedLength":43069,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9112"},"c5e49757-9115":{"renderedLength":603,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9114"},"c5e49757-9117":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9116"},"c5e49757-9119":{"renderedLength":10220,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9118"},"c5e49757-9121":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9120"},"c5e49757-9123":{"renderedLength":9568,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9122"},"c5e49757-9125":{"renderedLength":15236,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9124"},"c5e49757-9127":{"renderedLength":5471,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9126"},"c5e49757-9129":{"renderedLength":4534,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9128"},"c5e49757-9131":{"renderedLength":744,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9130"},"c5e49757-9133":{"renderedLength":1961,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9132"},"c5e49757-9135":{"renderedLength":10238,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9134"},"c5e49757-9137":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9136"},"c5e49757-9139":{"renderedLength":13568,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9138"},"c5e49757-9141":{"renderedLength":5459,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9140"},"c5e49757-9143":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9142"},"c5e49757-9145":{"renderedLength":28242,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9144"},"c5e49757-9147":{"renderedLength":20365,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9146"},"c5e49757-9149":{"renderedLength":8331,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9148"},"c5e49757-9151":{"renderedLength":2646,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9150"},"c5e49757-9153":{"renderedLength":7941,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9152"},"c5e49757-9155":{"renderedLength":857,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9154"},"c5e49757-9157":{"renderedLength":16784,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9156"},"c5e49757-9159":{"renderedLength":6097,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9158"},"c5e49757-9161":{"renderedLength":3063,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9160"},"c5e49757-9163":{"renderedLength":12608,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9162"},"c5e49757-9165":{"renderedLength":735,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9164"},"c5e49757-9167":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9166"},"c5e49757-9169":{"renderedLength":20743,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9168"},"c5e49757-9171":{"renderedLength":1114,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9170"},"c5e49757-9173":{"renderedLength":14912,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9172"},"c5e49757-9175":{"renderedLength":7834,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9174"},"c5e49757-9177":{"renderedLength":25028,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9176"},"c5e49757-9179":{"renderedLength":4973,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9178"},"c5e49757-9181":{"renderedLength":725,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9180"},"c5e49757-9183":{"renderedLength":9888,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9182"},"c5e49757-9185":{"renderedLength":1085,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9184"},"c5e49757-9187":{"renderedLength":1565,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9186"},"c5e49757-9189":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9188"},"c5e49757-9191":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9190"},"c5e49757-9193":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9192"},"c5e49757-9195":{"renderedLength":3879,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9194"},"c5e49757-9197":{"renderedLength":4352,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9196"},"c5e49757-9199":{"renderedLength":30309,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9198"},"c5e49757-9201":{"renderedLength":5322,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9200"},"c5e49757-9203":{"renderedLength":33964,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9202"},"c5e49757-9205":{"renderedLength":17704,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9204"},"c5e49757-9207":{"renderedLength":5572,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9206"},"c5e49757-9209":{"renderedLength":1549,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9208"},"c5e49757-9211":{"renderedLength":3251,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9210"},"c5e49757-9213":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9212"},"c5e49757-9215":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9214"},"c5e49757-9217":{"renderedLength":2310,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9216"},"c5e49757-9219":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9218"},"c5e49757-9221":{"renderedLength":10886,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9220"},"c5e49757-9223":{"renderedLength":3689,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9222"},"c5e49757-9225":{"renderedLength":550,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9224"},"c5e49757-9227":{"renderedLength":6775,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9226"},"c5e49757-9229":{"renderedLength":5691,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9228"},"c5e49757-9231":{"renderedLength":2798,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9230"},"c5e49757-9233":{"renderedLength":5428,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9232"},"c5e49757-9235":{"renderedLength":19561,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9234"},"c5e49757-9237":{"renderedLength":3314,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9236"},"c5e49757-9239":{"renderedLength":2871,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9238"},"c5e49757-9241":{"renderedLength":6979,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9240"},"c5e49757-9243":{"renderedLength":12617,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9242"},"c5e49757-9245":{"renderedLength":18039,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9244"},"c5e49757-9247":{"renderedLength":1257,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9246"},"c5e49757-9249":{"renderedLength":3307,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9248"},"c5e49757-9251":{"renderedLength":1927,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9250"},"c5e49757-9253":{"renderedLength":1427,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9252"},"c5e49757-9255":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9254"},"c5e49757-9257":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9256"},"c5e49757-9259":{"renderedLength":23369,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9258"},"c5e49757-9261":{"renderedLength":6785,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9260"},"c5e49757-9263":{"renderedLength":1701,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9262"},"c5e49757-9265":{"renderedLength":3048,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9264"},"c5e49757-9267":{"renderedLength":3856,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9266"},"c5e49757-9269":{"renderedLength":3914,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9268"},"c5e49757-9271":{"renderedLength":14345,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9270"},"c5e49757-9273":{"renderedLength":5911,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9272"},"c5e49757-9275":{"renderedLength":8609,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9274"},"c5e49757-9277":{"renderedLength":7379,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9276"},"c5e49757-9279":{"renderedLength":2097,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9278"},"c5e49757-9281":{"renderedLength":6496,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9280"},"c5e49757-9283":{"renderedLength":5553,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9282"},"c5e49757-9285":{"renderedLength":6878,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9284"},"c5e49757-9287":{"renderedLength":3426,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9286"},"c5e49757-9289":{"renderedLength":8331,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9288"},"c5e49757-9291":{"renderedLength":19133,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9290"},"c5e49757-9293":{"renderedLength":3155,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9292"},"c5e49757-9295":{"renderedLength":4908,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9294"},"c5e49757-9297":{"renderedLength":43213,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9296"},"c5e49757-9299":{"renderedLength":4881,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9298"},"c5e49757-9301":{"renderedLength":4168,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9300"},"c5e49757-9303":{"renderedLength":11586,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9302"},"c5e49757-9305":{"renderedLength":5597,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9304"},"c5e49757-9307":{"renderedLength":8792,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9306"},"c5e49757-9309":{"renderedLength":2059,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9308"},"c5e49757-9311":{"renderedLength":5552,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9310"},"c5e49757-9313":{"renderedLength":9142,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9312"},"c5e49757-9315":{"renderedLength":1547,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9314"},"c5e49757-9317":{"renderedLength":11016,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9316"},"c5e49757-9319":{"renderedLength":5641,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9318"},"c5e49757-9321":{"renderedLength":5394,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9320"},"c5e49757-9323":{"renderedLength":4205,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9322"},"c5e49757-9325":{"renderedLength":3822,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9324"},"c5e49757-9327":{"renderedLength":6319,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9326"},"c5e49757-9329":{"renderedLength":4541,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9328"},"c5e49757-9331":{"renderedLength":7050,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9330"},"c5e49757-9333":{"renderedLength":7176,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9332"},"c5e49757-9335":{"renderedLength":4530,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9334"},"c5e49757-9337":{"renderedLength":7342,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9336"},"c5e49757-9339":{"renderedLength":16551,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9338"},"c5e49757-9341":{"renderedLength":3888,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9340"},"c5e49757-9343":{"renderedLength":5109,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9342"},"c5e49757-9345":{"renderedLength":3652,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9344"},"c5e49757-9347":{"renderedLength":13211,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9346"},"c5e49757-9349":{"renderedLength":18641,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9348"},"c5e49757-9351":{"renderedLength":12873,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9350"},"c5e49757-9353":{"renderedLength":3265,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9352"},"c5e49757-9355":{"renderedLength":19704,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9354"},"c5e49757-9357":{"renderedLength":22050,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9356"},"c5e49757-9359":{"renderedLength":5793,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9358"},"c5e49757-9361":{"renderedLength":13080,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9360"},"c5e49757-9363":{"renderedLength":8654,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9362"},"c5e49757-9365":{"renderedLength":6754,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9364"},"c5e49757-9367":{"renderedLength":5144,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9366"},"c5e49757-9369":{"renderedLength":5188,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9368"},"c5e49757-9371":{"renderedLength":14498,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9370"},"c5e49757-9373":{"renderedLength":5645,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9372"},"c5e49757-9375":{"renderedLength":16728,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9374"},"c5e49757-9377":{"renderedLength":5743,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9376"},"c5e49757-9379":{"renderedLength":15707,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9378"},"c5e49757-9381":{"renderedLength":6665,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9380"},"c5e49757-9383":{"renderedLength":3201,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9382"},"c5e49757-9385":{"renderedLength":11095,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9384"},"c5e49757-9387":{"renderedLength":2752,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9386"},"c5e49757-9389":{"renderedLength":9461,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9388"},"c5e49757-9391":{"renderedLength":4877,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9390"},"c5e49757-9393":{"renderedLength":26426,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9392"},"c5e49757-9395":{"renderedLength":4668,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9394"},"c5e49757-9397":{"renderedLength":4332,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9396"},"c5e49757-9399":{"renderedLength":15949,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9398"},"c5e49757-9401":{"renderedLength":10541,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9400"},"c5e49757-9403":{"renderedLength":7572,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9402"},"c5e49757-9405":{"renderedLength":12039,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9404"},"c5e49757-9407":{"renderedLength":5439,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9406"},"c5e49757-9409":{"renderedLength":10650,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9408"},"c5e49757-9411":{"renderedLength":8717,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9410"},"c5e49757-9413":{"renderedLength":10131,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9412"},"c5e49757-9415":{"renderedLength":3980,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9414"},"c5e49757-9417":{"renderedLength":7011,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9416"},"c5e49757-9419":{"renderedLength":72401,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9418"},"c5e49757-9421":{"renderedLength":73433,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9420"},"c5e49757-9423":{"renderedLength":86275,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9422"},"c5e49757-9425":{"renderedLength":42481,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9424"},"c5e49757-9427":{"renderedLength":26,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9426"},"c5e49757-9429":{"renderedLength":169413,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9428"},"c5e49757-9431":{"renderedLength":26,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9430"},"c5e49757-9433":{"renderedLength":1683665,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9432"},"c5e49757-9435":{"renderedLength":24,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9434"},"c5e49757-9437":{"renderedLength":2067851,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9436"},"c5e49757-9439":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9438"},"c5e49757-9441":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"c5e49757-9440"}},"nodeMetas":{"c5e49757-0":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/memoize-one/dist/memoize-one.esm.js","moduleParts":{"assets/js/memoize-one-Ds0C_khL.js":"c5e49757-1"},"imported":[],"importedBy":[{"uid":"c5e49757-5806"}]},"c5e49757-2":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-unified/import.js","moduleParts":{"assets/js/lodash-unified-l0sNRNKZ.js":"c5e49757-3"},"imported":[{"uid":"c5e49757-2008"}],"importedBy":[{"uid":"c5e49757-5488"},{"uid":"c5e49757-5590"},{"uid":"c5e49757-5670"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5184"},{"uid":"c5e49757-5206"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-6164"},{"uid":"c5e49757-5018"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5042"},{"uid":"c5e49757-5068"},{"uid":"c5e49757-5080"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4954"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5418"},{"uid":"c5e49757-5380"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5136"},{"uid":"c5e49757-5660"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5756"},{"uid":"c5e49757-5198"},{"uid":"c5e49757-5190"},{"uid":"c5e49757-5748"},{"uid":"c5e49757-5992"},{"uid":"c5e49757-6072"},{"uid":"c5e49757-5310"},{"uid":"c5e49757-6216"},{"uid":"c5e49757-6238"},{"uid":"c5e49757-6288"},{"uid":"c5e49757-6312"},{"uid":"c5e49757-5004"},{"uid":"c5e49757-5346"},{"uid":"c5e49757-5412"},{"uid":"c5e49757-5462"},{"uid":"c5e49757-5128"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5742"},{"uid":"c5e49757-5732"},{"uid":"c5e49757-5848"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5946"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-6018"},{"uid":"c5e49757-5316"},{"uid":"c5e49757-6206"},{"uid":"c5e49757-6212"},{"uid":"c5e49757-6252"},{"uid":"c5e49757-6254"},{"uid":"c5e49757-5806"},{"uid":"c5e49757-6160"},{"uid":"c5e49757-5368"},{"uid":"c5e49757-5564"},{"uid":"c5e49757-5840"},{"uid":"c5e49757-5878"},{"uid":"c5e49757-5968"},{"uid":"c5e49757-6052"},{"uid":"c5e49757-5964"},{"uid":"c5e49757-5524"}]},"c5e49757-4":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/index.vue?vue&type=script&setup=true&name=layout&lang.ts","moduleParts":{"assets/js/index-BAwgtKgZ.js":"c5e49757-5"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3540"},{"uid":"c5e49757-3606"},{"uid":"c5e49757-242","dynamic":true},{"uid":"c5e49757-474","dynamic":true},{"uid":"c5e49757-478","dynamic":true},{"uid":"c5e49757-112","dynamic":true}],"importedBy":[{"uid":"c5e49757-6"}]},"c5e49757-6":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/index.vue","moduleParts":{"assets/js/index-BAwgtKgZ.js":"c5e49757-7"},"imported":[{"uid":"c5e49757-4"}],"importedBy":[{"uid":"c5e49757-3550"}]},"c5e49757-8":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@socket.io/component-emitter/lib/esm/index.js","moduleParts":{"assets/js/@socket.io-CN-0vtim.js":"c5e49757-9"},"imported":[],"importedBy":[{"uid":"c5e49757-10"}]},"c5e49757-10":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@socket.io/component-emitter/lib/esm/index.js?commonjs-proxy","moduleParts":{"assets/js/@socket.io-CN-0vtim.js":"c5e49757-11"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-8"}],"importedBy":[{"uid":"c5e49757-3242"},{"uid":"c5e49757-3236"},{"uid":"c5e49757-2142"},{"uid":"c5e49757-2126"},{"uid":"c5e49757-2092"},{"uid":"c5e49757-2106"}]},"c5e49757-12":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/genEntity.vue","moduleParts":{"assets/js/genEntity-ByF3ixTr.js":"c5e49757-13"},"imported":[{"uid":"c5e49757-490"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-520"}]},"c5e49757-14":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/mitt/dist/mitt.mjs","moduleParts":{"assets/js/mitt-CNZ6avp8.js":"c5e49757-15"},"imported":[],"importedBy":[{"uid":"c5e49757-3606"}]},"c5e49757-16":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/svgIcon/index.vue?vue&type=script&setup=true&name=svgIcon&lang.ts","moduleParts":{"assets/js/index-NBd9dBIr.js":"c5e49757-17"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-18"}]},"c5e49757-18":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/svgIcon/index.vue","moduleParts":{"assets/js/index-NBd9dBIr.js":"c5e49757-19"},"imported":[{"uid":"c5e49757-16"}],"importedBy":[{"uid":"c5e49757-3604"}]},"c5e49757-20":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/merge-images/dist/index.es2015.js","moduleParts":{"assets/js/merge-images-Cwm9rL5U.js":"c5e49757-21"},"imported":[],"importedBy":[{"uid":"c5e49757-22"}]},"c5e49757-22":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-signature-pad/dist/vue-signature-pad.esm.js","moduleParts":{"assets/js/vue-signature-pad-CUMYeXIB.js":"c5e49757-23"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-264"},{"uid":"c5e49757-20"}],"importedBy":[{"uid":"c5e49757-3624"}]},"c5e49757-24":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-parser/build/cjs/index.js?commonjs-exports","moduleParts":{"assets/js/engine.io-parser-Cgy_UybQ.js":"c5e49757-25"},"imported":[],"importedBy":[{"uid":"c5e49757-42"}]},"c5e49757-26":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-parser/build/cjs/encodePacket.browser.js?commonjs-exports","moduleParts":{"assets/js/engine.io-parser-Cgy_UybQ.js":"c5e49757-27"},"imported":[],"importedBy":[{"uid":"c5e49757-32"}]},"c5e49757-28":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-parser/build/cjs/commons.js?commonjs-exports","moduleParts":{"assets/js/engine.io-parser-Cgy_UybQ.js":"c5e49757-29"},"imported":[],"importedBy":[{"uid":"c5e49757-30"}]},"c5e49757-30":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-parser/build/cjs/commons.js","moduleParts":{"assets/js/engine.io-parser-Cgy_UybQ.js":"c5e49757-31"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-28"}],"importedBy":[{"uid":"c5e49757-42"},{"uid":"c5e49757-32"},{"uid":"c5e49757-40"}]},"c5e49757-32":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-parser/build/cjs/encodePacket.browser.js","moduleParts":{"assets/js/engine.io-parser-Cgy_UybQ.js":"c5e49757-33"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-26"},{"uid":"c5e49757-30"}],"importedBy":[{"uid":"c5e49757-42"}]},"c5e49757-34":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-parser/build/cjs/decodePacket.browser.js?commonjs-exports","moduleParts":{"assets/js/engine.io-parser-Cgy_UybQ.js":"c5e49757-35"},"imported":[],"importedBy":[{"uid":"c5e49757-40"}]},"c5e49757-36":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-parser/build/cjs/contrib/base64-arraybuffer.js?commonjs-exports","moduleParts":{"assets/js/engine.io-parser-Cgy_UybQ.js":"c5e49757-37"},"imported":[],"importedBy":[{"uid":"c5e49757-38"}]},"c5e49757-38":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-parser/build/cjs/contrib/base64-arraybuffer.js","moduleParts":{"assets/js/engine.io-parser-Cgy_UybQ.js":"c5e49757-39"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-36"}],"importedBy":[{"uid":"c5e49757-40"}]},"c5e49757-40":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-parser/build/cjs/decodePacket.browser.js","moduleParts":{"assets/js/engine.io-parser-Cgy_UybQ.js":"c5e49757-41"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-34"},{"uid":"c5e49757-30"},{"uid":"c5e49757-38"}],"importedBy":[{"uid":"c5e49757-42"}]},"c5e49757-42":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-parser/build/cjs/index.js","moduleParts":{"assets/js/engine.io-parser-Cgy_UybQ.js":"c5e49757-43"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-24"},{"uid":"c5e49757-32"},{"uid":"c5e49757-40"},{"uid":"c5e49757-30"}],"importedBy":[{"uid":"c5e49757-2126"},{"uid":"c5e49757-2092"},{"uid":"c5e49757-2106"},{"uid":"c5e49757-2114"},{"uid":"c5e49757-2118"}]},"c5e49757-44":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/debug/src/browser.js?commonjs-module","moduleParts":{"assets/js/debug-CmirTkX5.js":"c5e49757-45"},"imported":[],"importedBy":[{"uid":"c5e49757-48"}]},"c5e49757-46":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/debug/src/common.js","moduleParts":{"assets/js/debug-CmirTkX5.js":"c5e49757-47"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-104"}],"importedBy":[{"uid":"c5e49757-48"}]},"c5e49757-48":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/debug/src/browser.js","moduleParts":{"assets/js/debug-CmirTkX5.js":"c5e49757-49"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-44"},{"uid":"c5e49757-46"}],"importedBy":[{"uid":"c5e49757-3244"},{"uid":"c5e49757-3226"},{"uid":"c5e49757-3242"},{"uid":"c5e49757-3236"},{"uid":"c5e49757-2142"},{"uid":"c5e49757-2126"},{"uid":"c5e49757-2092"},{"uid":"c5e49757-2106"},{"uid":"c5e49757-2114"},{"uid":"c5e49757-2118"}]},"c5e49757-50":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/pinia/dist/pinia.mjs","moduleParts":{"assets/js/pinia-53j_tKJ8.js":"c5e49757-51"},"imported":[{"uid":"c5e49757-708"},{"uid":"c5e49757-3378"}],"importedBy":[{"uid":"c5e49757-4"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-240"},{"uid":"c5e49757-472"},{"uid":"c5e49757-476"},{"uid":"c5e49757-110"},{"uid":"c5e49757-124"},{"uid":"c5e49757-668"},{"uid":"c5e49757-554"},{"uid":"c5e49757-4484"},{"uid":"c5e49757-4292"},{"uid":"c5e49757-3548"},{"uid":"c5e49757-3542"},{"uid":"c5e49757-3546"},{"uid":"c5e49757-3604"},{"uid":"c5e49757-3848"},{"uid":"c5e49757-268"},{"uid":"c5e49757-3812"},{"uid":"c5e49757-68"},{"uid":"c5e49757-3824"},{"uid":"c5e49757-3580"},{"uid":"c5e49757-3538"},{"uid":"c5e49757-3600"},{"uid":"c5e49757-3574"},{"uid":"c5e49757-3836"},{"uid":"c5e49757-3568"},{"uid":"c5e49757-3576"},{"uid":"c5e49757-3268"},{"uid":"c5e49757-3448"},{"uid":"c5e49757-3918"},{"uid":"c5e49757-514"},{"uid":"c5e49757-4076"},{"uid":"c5e49757-3988"},{"uid":"c5e49757-4904"},{"uid":"c5e49757-4006"},{"uid":"c5e49757-4854"},{"uid":"c5e49757-266"},{"uid":"c5e49757-4198"},{"uid":"c5e49757-3842"},{"uid":"c5e49757-3490"},{"uid":"c5e49757-3502"},{"uid":"c5e49757-3514"},{"uid":"c5e49757-3610"}]},"c5e49757-52":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/routerView/iframes.vue?vue&type=script&setup=true&name=layoutIframeView&lang.ts","moduleParts":{"assets/js/iframes-Dca78714.js":"c5e49757-53"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-3566"}],"importedBy":[{"uid":"c5e49757-54"}]},"c5e49757-54":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/routerView/iframes.vue","moduleParts":{"assets/js/iframes-Dca78714.js":"c5e49757-55"},"imported":[{"uid":"c5e49757-52"}],"importedBy":[{"uid":"c5e49757-68"},{"uid":"c5e49757-3578"}]},"c5e49757-56":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/Check/checkRules/index.ts","moduleParts":{"assets/js/index-CKMp7PoG.js":"c5e49757-57"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-224"},{"uid":"c5e49757-132"},{"uid":"c5e49757-4466"}]},"c5e49757-58":{"id":"\u0000plugin-vue:export-helper","moduleParts":{"assets/js/_plugin-vue_export-helper-BCo6x5W8.js":"c5e49757-59"},"imported":[],"importedBy":[{"uid":"c5e49757-4488"},{"uid":"c5e49757-4296"},{"uid":"c5e49757-3852"},{"uid":"c5e49757-3816"},{"uid":"c5e49757-3828"},{"uid":"c5e49757-3866"},{"uid":"c5e49757-3840"},{"uid":"c5e49757-3248"},{"uid":"c5e49757-3202"},{"uid":"c5e49757-3220"},{"uid":"c5e49757-3260"},{"uid":"c5e49757-3272"},{"uid":"c5e49757-3254"},{"uid":"c5e49757-3470"},{"uid":"c5e49757-3768"},{"uid":"c5e49757-3276"},{"uid":"c5e49757-3282"},{"uid":"c5e49757-3188"},{"uid":"c5e49757-3322"},{"uid":"c5e49757-3344"},{"uid":"c5e49757-3288"},{"uid":"c5e49757-3452"},{"uid":"c5e49757-3294"},{"uid":"c5e49757-3410"},{"uid":"c5e49757-3338"},{"uid":"c5e49757-3300"},{"uid":"c5e49757-3396"},{"uid":"c5e49757-3798"},{"uid":"c5e49757-3750"},{"uid":"c5e49757-3678"},{"uid":"c5e49757-3486"},{"uid":"c5e49757-3390"},{"uid":"c5e49757-3416"},{"uid":"c5e49757-3402"},{"uid":"c5e49757-3428"},{"uid":"c5e49757-3726"},{"uid":"c5e49757-3650"},{"uid":"c5e49757-3524"},{"uid":"c5e49757-3664"},{"uid":"c5e49757-3702"},{"uid":"c5e49757-3744"},{"uid":"c5e49757-3690"},{"uid":"c5e49757-3446"},{"uid":"c5e49757-3720"},{"uid":"c5e49757-3672"},{"uid":"c5e49757-3530"},{"uid":"c5e49757-3458"},{"uid":"c5e49757-3440"},{"uid":"c5e49757-3696"},{"uid":"c5e49757-3762"},{"uid":"c5e49757-3656"},{"uid":"c5e49757-3738"},{"uid":"c5e49757-3774"},{"uid":"c5e49757-3638"},{"uid":"c5e49757-3732"},{"uid":"c5e49757-3434"},{"uid":"c5e49757-3786"},{"uid":"c5e49757-3500"},{"uid":"c5e49757-3708"},{"uid":"c5e49757-3756"},{"uid":"c5e49757-3644"},{"uid":"c5e49757-3780"},{"uid":"c5e49757-3632"},{"uid":"c5e49757-3714"},{"uid":"c5e49757-3512"},{"uid":"c5e49757-3464"},{"uid":"c5e49757-3684"},{"uid":"c5e49757-4086"},{"uid":"c5e49757-4494"},{"uid":"c5e49757-3936"},{"uid":"c5e49757-4136"},{"uid":"c5e49757-4290"},{"uid":"c5e49757-4142"},{"uid":"c5e49757-4338"},{"uid":"c5e49757-4400"},{"uid":"c5e49757-4092"},{"uid":"c5e49757-3950"},{"uid":"c5e49757-3956"},{"uid":"c5e49757-3978"},{"uid":"c5e49757-4232"},{"uid":"c5e49757-4168"},{"uid":"c5e49757-4684"},{"uid":"c5e49757-4556"},{"uid":"c5e49757-4798"},{"uid":"c5e49757-4676"},{"uid":"c5e49757-4648"},{"uid":"c5e49757-4550"},{"uid":"c5e49757-4740"},{"uid":"c5e49757-4596"},{"uid":"c5e49757-4352"},{"uid":"c5e49757-4690"},{"uid":"c5e49757-4780"},{"uid":"c5e49757-4394"},{"uid":"c5e49757-4734"},{"uid":"c5e49757-4388"},{"uid":"c5e49757-4324"},{"uid":"c5e49757-4276"},{"uid":"c5e49757-3998"},{"uid":"c5e49757-4308"},{"uid":"c5e49757-3910"},{"uid":"c5e49757-3804"},{"uid":"c5e49757-4444"},{"uid":"c5e49757-4174"},{"uid":"c5e49757-4792"},{"uid":"c5e49757-4270"},{"uid":"c5e49757-4766"},{"uid":"c5e49757-3822"},{"uid":"c5e49757-3834"},{"uid":"c5e49757-4264"},{"uid":"c5e49757-4614"},{"uid":"c5e49757-4418"},{"uid":"c5e49757-4464"},{"uid":"c5e49757-3878"},{"uid":"c5e49757-4112"},{"uid":"c5e49757-4124"},{"uid":"c5e49757-4062"},{"uid":"c5e49757-4118"},{"uid":"c5e49757-3480"},{"uid":"c5e49757-4518"},{"uid":"c5e49757-4602"},{"uid":"c5e49757-3904"},{"uid":"c5e49757-3928"},{"uid":"c5e49757-4804"},{"uid":"c5e49757-4456"},{"uid":"c5e49757-4406"},{"uid":"c5e49757-4878"},{"uid":"c5e49757-4450"},{"uid":"c5e49757-4524"},{"uid":"c5e49757-4920"},{"uid":"c5e49757-4840"},{"uid":"c5e49757-4752"},{"uid":"c5e49757-4834"},{"uid":"c5e49757-4186"},{"uid":"c5e49757-3916"},{"uid":"c5e49757-4344"},{"uid":"c5e49757-4758"},{"uid":"c5e49757-4590"},{"uid":"c5e49757-4816"},{"uid":"c5e49757-4074"},{"uid":"c5e49757-4822"},{"uid":"c5e49757-4902"},{"uid":"c5e49757-4564"},{"uid":"c5e49757-4932"},{"uid":"c5e49757-4926"},{"uid":"c5e49757-4896"},{"uid":"c5e49757-4220"},{"uid":"c5e49757-4056"},{"uid":"c5e49757-4852"},{"uid":"c5e49757-4670"},{"uid":"c5e49757-4570"},{"uid":"c5e49757-4914"},{"uid":"c5e49757-4130"},{"uid":"c5e49757-4162"},{"uid":"c5e49757-4828"},{"uid":"c5e49757-4786"},{"uid":"c5e49757-4004"},{"uid":"c5e49757-4576"},{"uid":"c5e49757-4382"},{"uid":"c5e49757-4656"},{"uid":"c5e49757-4512"},{"uid":"c5e49757-4246"},{"uid":"c5e49757-4500"},{"uid":"c5e49757-4772"},{"uid":"c5e49757-4258"},{"uid":"c5e49757-4544"},{"uid":"c5e49757-4302"},{"uid":"c5e49757-4438"},{"uid":"c5e49757-4282"},{"uid":"c5e49757-4710"},{"uid":"c5e49757-4044"},{"uid":"c5e49757-4698"},{"uid":"c5e49757-4704"},{"uid":"c5e49757-3892"},{"uid":"c5e49757-4608"},{"uid":"c5e49757-4584"},{"uid":"c5e49757-3962"},{"uid":"c5e49757-4192"},{"uid":"c5e49757-4226"},{"uid":"c5e49757-4628"},{"uid":"c5e49757-4412"},{"uid":"c5e49757-4664"},{"uid":"c5e49757-4208"},{"uid":"c5e49757-4016"},{"uid":"c5e49757-4864"},{"uid":"c5e49757-4022"},{"uid":"c5e49757-4028"},{"uid":"c5e49757-4810"},{"uid":"c5e49757-4034"},{"uid":"c5e49757-4050"},{"uid":"c5e49757-4068"},{"uid":"c5e49757-4620"},{"uid":"c5e49757-4728"},{"uid":"c5e49757-3942"},{"uid":"c5e49757-4098"},{"uid":"c5e49757-4746"},{"uid":"c5e49757-4716"},{"uid":"c5e49757-3898"},{"uid":"c5e49757-4252"},{"uid":"c5e49757-3792"},{"uid":"c5e49757-3922"},{"uid":"c5e49757-4432"},{"uid":"c5e49757-3884"},{"uid":"c5e49757-4642"},{"uid":"c5e49757-3970"},{"uid":"c5e49757-4872"},{"uid":"c5e49757-4106"},{"uid":"c5e49757-4634"},{"uid":"c5e49757-4180"},{"uid":"c5e49757-4722"},{"uid":"c5e49757-4890"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4474"},{"uid":"c5e49757-3872"},{"uid":"c5e49757-3860"},{"uid":"c5e49757-4482"},{"uid":"c5e49757-4214"},{"uid":"c5e49757-4080"},{"uid":"c5e49757-3992"},{"uid":"c5e49757-4908"},{"uid":"c5e49757-4010"},{"uid":"c5e49757-4858"},{"uid":"c5e49757-4240"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-4358"},{"uid":"c5e49757-4364"},{"uid":"c5e49757-4370"},{"uid":"c5e49757-4376"},{"uid":"c5e49757-4426"},{"uid":"c5e49757-4202"},{"uid":"c5e49757-4316"},{"uid":"c5e49757-3986"},{"uid":"c5e49757-4846"},{"uid":"c5e49757-3846"},{"uid":"c5e49757-4506"},{"uid":"c5e49757-3494"},{"uid":"c5e49757-3506"},{"uid":"c5e49757-3518"}]},"c5e49757-60":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelDataDialog.vue","moduleParts":{"assets/js/PanelDataDialog-BTTlfATX.js":"c5e49757-61"},"imported":[{"uid":"c5e49757-106"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3318"}]},"c5e49757-62":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/fflate/esm/browser.js","moduleParts":{"assets/js/fflate-B3Xb404m.js":"c5e49757-63"},"imported":[],"importedBy":[{"uid":"c5e49757-3808"}]},"c5e49757-64":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/formatTime.ts","moduleParts":{"assets/js/formatTime-Dr3o0oBQ.js":"c5e49757-65"},"imported":[],"importedBy":[{"uid":"c5e49757-3290"},{"uid":"c5e49757-3392"},{"uid":"c5e49757-3746"},{"uid":"c5e49757-3482"},{"uid":"c5e49757-3412"},{"uid":"c5e49757-3424"},{"uid":"c5e49757-3740"},{"uid":"c5e49757-3686"},{"uid":"c5e49757-3442"},{"uid":"c5e49757-3454"},{"uid":"c5e49757-3692"},{"uid":"c5e49757-3652"},{"uid":"c5e49757-3770"},{"uid":"c5e49757-3728"},{"uid":"c5e49757-3782"},{"uid":"c5e49757-3752"},{"uid":"c5e49757-3776"},{"uid":"c5e49757-3710"},{"uid":"c5e49757-3460"},{"uid":"c5e49757-4490"},{"uid":"c5e49757-4132"},{"uid":"c5e49757-4138"},{"uid":"c5e49757-4088"},{"uid":"c5e49757-3952"},{"uid":"c5e49757-3974"},{"uid":"c5e49757-4164"},{"uid":"c5e49757-4546"},{"uid":"c5e49757-4592"},{"uid":"c5e49757-4598"},{"uid":"c5e49757-3924"},{"uid":"c5e49757-4452"},{"uid":"c5e49757-4874"},{"uid":"c5e49757-4520"},{"uid":"c5e49757-4916"},{"uid":"c5e49757-4748"},{"uid":"c5e49757-4182"},{"uid":"c5e49757-3912"},{"uid":"c5e49757-4754"},{"uid":"c5e49757-4812"},{"uid":"c5e49757-4070"},{"uid":"c5e49757-4898"},{"uid":"c5e49757-4928"},{"uid":"c5e49757-4922"},{"uid":"c5e49757-4216"},{"uid":"c5e49757-4566"},{"uid":"c5e49757-4126"},{"uid":"c5e49757-4782"},{"uid":"c5e49757-4000"},{"uid":"c5e49757-4378"},{"uid":"c5e49757-4508"},{"uid":"c5e49757-4254"},{"uid":"c5e49757-4298"},{"uid":"c5e49757-4278"},{"uid":"c5e49757-4040"},{"uid":"c5e49757-4700"},{"uid":"c5e49757-4604"},{"uid":"c5e49757-3958"},{"uid":"c5e49757-4222"},{"uid":"c5e49757-4408"},{"uid":"c5e49757-4204"},{"uid":"c5e49757-4018"},{"uid":"c5e49757-4030"},{"uid":"c5e49757-4616"},{"uid":"c5e49757-4248"},{"uid":"c5e49757-230"},{"uid":"c5e49757-298"},{"uid":"c5e49757-4372"},{"uid":"c5e49757-3502"}]},"c5e49757-66":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/tenant/component/editTenant.vue","moduleParts":{"assets/js/editTenant-BV1lprJJ.js":"c5e49757-67"},"imported":[{"uid":"c5e49757-92"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-260"}]},"c5e49757-68":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/routerView/parent.vue?vue&type=script&setup=true&name=layoutParentView&lang.ts","moduleParts":{"assets/js/parent-BdXM3D8i.js":"c5e49757-69"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3546"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3540"},{"uid":"c5e49757-3606"},{"uid":"c5e49757-54","dynamic":true}],"importedBy":[{"uid":"c5e49757-70"}]},"c5e49757-70":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/routerView/parent.vue","moduleParts":{"assets/js/parent-BdXM3D8i.js":"c5e49757-71"},"imported":[{"uid":"c5e49757-68"}],"importedBy":[{"uid":"c5e49757-554"},{"uid":"c5e49757-3578"}]},"c5e49757-72":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/weChatUser/index.vue?vue&type=script&setup=true&name=weChatUser&lang.ts","moduleParts":{"assets/js/index-BHzxpNta.js":"c5e49757-73"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-308"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-74"}]},"c5e49757-74":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/weChatUser/index.vue","moduleParts":{"assets/js/index-BHzxpNta.js":"c5e49757-75"},"imported":[{"uid":"c5e49757-72"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-76":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen/component/genConfigDialog.vue","moduleParts":{"assets/js/genConfigDialog-Cnx8CeTe.js":"c5e49757-77"},"imported":[{"uid":"c5e49757-464"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-586"}]},"c5e49757-78":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/async-validator/dist-web/index.js","moduleParts":{"assets/js/async-validator-Cuo4gI4y.js":"c5e49757-79"},"imported":[],"importedBy":[{"uid":"c5e49757-5136"}]},"c5e49757-80":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/config/component/editConfig.vue","moduleParts":{"assets/js/editConfig-BjnrRmeD.js":"c5e49757-81"},"imported":[{"uid":"c5e49757-726"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-558"}]},"c5e49757-82":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/database.ts","moduleParts":{"assets/js/database-C0sKHJk0.js":"c5e49757-83"},"imported":[],"importedBy":[{"uid":"c5e49757-602"},{"uid":"c5e49757-238"}]},"c5e49757-84":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/addTable.vue","moduleParts":{"assets/js/addTable-BH9Zg67A.js":"c5e49757-85"},"imported":[{"uid":"c5e49757-238"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-520"}]},"c5e49757-86":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen/component/treeDialog.vue","moduleParts":{"assets/js/treeDialog-D5J_zRbd.js":"c5e49757-87"},"imported":[{"uid":"c5e49757-88"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-464"}]},"c5e49757-88":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen/component/treeDialog.vue?vue&type=script&setup=true&name=sysCodeGenTree&lang.ts","moduleParts":{"assets/js/treeDialog.vue_vue_type_script_setup_true_name_sysCodeGenTree_lang-CSgTFgG2.js":"c5e49757-89"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-86"}]},"c5e49757-90":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Property/PropertyCommon.vue","moduleParts":{"assets/js/PropertyCommon-CQNMPjCU.js":"c5e49757-91"},"imported":[{"uid":"c5e49757-576"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3276"}]},"c5e49757-92":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/tenant/component/editTenant.vue?vue&type=script&setup=true&name=sysEditTenant&lang.ts","moduleParts":{"assets/js/editTenant.vue_vue_type_script_setup_true_name_sysEditTenant_lang-Dwn4l-36.js":"c5e49757-93"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-66"}]},"c5e49757-94":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/performance-now/lib/performance-now.js?commonjs-module","moduleParts":{"assets/js/performance-now-CKihEpp9.js":"c5e49757-95"},"imported":[],"importedBy":[{"uid":"c5e49757-96"}]},"c5e49757-96":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/performance-now/lib/performance-now.js","moduleParts":{"assets/js/performance-now-CKihEpp9.js":"c5e49757-97"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-94"}],"importedBy":[{"uid":"c5e49757-2388"}]},"c5e49757-98":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@popperjs/core/dist/index.mjs","moduleParts":{"assets/js/@popperjs-D3lHDW-0.js":"c5e49757-99"},"imported":[],"importedBy":[{"uid":"c5e49757-5194"},{"uid":"c5e49757-5870"},{"uid":"c5e49757-5042"},{"uid":"c5e49757-5744"},{"uid":"c5e49757-5842"},{"uid":"c5e49757-5886"}]},"c5e49757-100":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/role/index.vue?vue&type=script&setup=true&name=sysRole&lang.ts","moduleParts":{"assets/js/index-BNwVJdX9.js":"c5e49757-101"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3872"},{"uid":"c5e49757-300"},{"uid":"c5e49757-9454"},{"uid":"c5e49757-3860"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-102"}]},"c5e49757-102":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/role/index.vue","moduleParts":{"assets/js/index-BNwVJdX9.js":"c5e49757-103"},"imported":[{"uid":"c5e49757-100"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-104":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/ms/index.js","moduleParts":{"assets/js/ms-CufoL-nS.js":"c5e49757-105"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-46"}]},"c5e49757-106":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelDataDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/PanelDataDialog.vue_vue_type_script_setup_true_lang-BwJsJUkv.js":"c5e49757-107"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3532"},{"uid":"c5e49757-3534"}],"importedBy":[{"uid":"c5e49757-60"}]},"c5e49757-108":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/js-cookie/dist/js.cookie.mjs","moduleParts":{"assets/js/js-cookie-BXEMiIsG.js":"c5e49757-109"},"imported":[],"importedBy":[{"uid":"c5e49757-3540"}]},"c5e49757-110":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/main/columns.vue?vue&type=script&setup=true&name=layoutColumns&lang.ts","moduleParts":{"assets/js/columns-Df2LT49W.js":"c5e49757-111"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-126","dynamic":true},{"uid":"c5e49757-670","dynamic":true},{"uid":"c5e49757-556","dynamic":true},{"uid":"c5e49757-4296","dynamic":true}],"importedBy":[{"uid":"c5e49757-112"}]},"c5e49757-112":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/main/columns.vue","moduleParts":{"assets/js/columns-Df2LT49W.js":"c5e49757-113"},"imported":[{"uid":"c5e49757-110"}],"importedBy":[{"uid":"c5e49757-4"}]},"c5e49757-114":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/_approvalFlow/apis/approval-flow-api.ts","moduleParts":{"assets/js/approval-flow-api-BB1FVaNd.js":"c5e49757-115"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9453"}]},"c5e49757-116":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","moduleParts":{"assets/js/@floating-ui-pMauM7H8.js":"c5e49757-117"},"imported":[],"importedBy":[{"uid":"c5e49757-122"},{"uid":"c5e49757-118"}]},"c5e49757-118":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@floating-ui/core/dist/floating-ui.core.mjs","moduleParts":{"assets/js/@floating-ui-pMauM7H8.js":"c5e49757-119"},"imported":[{"uid":"c5e49757-116"}],"importedBy":[{"uid":"c5e49757-122"}]},"c5e49757-120":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","moduleParts":{"assets/js/@floating-ui-pMauM7H8.js":"c5e49757-121"},"imported":[],"importedBy":[{"uid":"c5e49757-122"}]},"c5e49757-122":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","moduleParts":{"assets/js/@floating-ui-pMauM7H8.js":"c5e49757-123"},"imported":[{"uid":"c5e49757-118"},{"uid":"c5e49757-116"},{"uid":"c5e49757-120"}],"importedBy":[{"uid":"c5e49757-5068"},{"uid":"c5e49757-6272"},{"uid":"c5e49757-6154"}]},"c5e49757-124":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/component/aside.vue?vue&type=script&setup=true&name=layoutAside&lang.ts","moduleParts":{"assets/js/aside-DEGukOon.js":"c5e49757-125"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3548"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3542"},{"uid":"c5e49757-3606"},{"uid":"c5e49757-3852","dynamic":true},{"uid":"c5e49757-270","dynamic":true}],"importedBy":[{"uid":"c5e49757-126"}]},"c5e49757-126":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/component/aside.vue","moduleParts":{"assets/js/aside-DEGukOon.js":"c5e49757-127"},"imported":[{"uid":"c5e49757-124"}],"importedBy":[{"uid":"c5e49757-240"},{"uid":"c5e49757-472"},{"uid":"c5e49757-110"}]},"c5e49757-128":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navMenu/subItem.vue?vue&type=script&setup=true&name=navMenuSubItem&lang.ts","moduleParts":{"assets/js/subItem-D1VJRoG3.js":"c5e49757-129"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3604"}],"importedBy":[{"uid":"c5e49757-130"}]},"c5e49757-130":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navMenu/subItem.vue","moduleParts":{"assets/js/subItem-D1VJRoG3.js":"c5e49757-131"},"imported":[{"uid":"c5e49757-128"}],"importedBy":[{"uid":"c5e49757-268"},{"uid":"c5e49757-4854"}]},"c5e49757-132":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkAuditXf/index.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/index-jsdX4Y9f.js":"c5e49757-133"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2438"},{"uid":"c5e49757-56"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-2452"}],"importedBy":[{"uid":"c5e49757-134"}]},"c5e49757-134":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkAuditXf/index.vue","moduleParts":{"assets/js/index-jsdX4Y9f.js":"c5e49757-135"},"imported":[{"uid":"c5e49757-132"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-136":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/bind.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-137"},"imported":[],"importedBy":[{"uid":"c5e49757-220"},{"uid":"c5e49757-138"}]},"c5e49757-138":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/utils.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-139"},"imported":[{"uid":"c5e49757-136"}],"importedBy":[{"uid":"c5e49757-220"},{"uid":"c5e49757-210"},{"uid":"c5e49757-204"},{"uid":"c5e49757-170"},{"uid":"c5e49757-168"},{"uid":"c5e49757-180"},{"uid":"c5e49757-144"},{"uid":"c5e49757-140"},{"uid":"c5e49757-216"},{"uid":"c5e49757-174"},{"uid":"c5e49757-200"},{"uid":"c5e49757-148"},{"uid":"c5e49757-150"},{"uid":"c5e49757-166"},{"uid":"c5e49757-172"},{"uid":"c5e49757-198"},{"uid":"c5e49757-176"},{"uid":"c5e49757-184"},{"uid":"c5e49757-192"}]},"c5e49757-140":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/core/AxiosError.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-141"},"imported":[{"uid":"c5e49757-138"}],"importedBy":[{"uid":"c5e49757-220"},{"uid":"c5e49757-170"},{"uid":"c5e49757-180"},{"uid":"c5e49757-144"},{"uid":"c5e49757-200"},{"uid":"c5e49757-208"},{"uid":"c5e49757-198"},{"uid":"c5e49757-182"}]},"c5e49757-142":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/null.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-143"},"imported":[],"importedBy":[{"uid":"c5e49757-144"},{"uid":"c5e49757-200"}]},"c5e49757-144":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/toFormData.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-145"},"imported":[{"uid":"c5e49757-138"},{"uid":"c5e49757-140"},{"uid":"c5e49757-142"}],"importedBy":[{"uid":"c5e49757-220"},{"uid":"c5e49757-170"},{"uid":"c5e49757-166"},{"uid":"c5e49757-146"}]},"c5e49757-146":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-147"},"imported":[{"uid":"c5e49757-144"}],"importedBy":[{"uid":"c5e49757-148"},{"uid":"c5e49757-154"}]},"c5e49757-148":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/buildURL.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-149"},"imported":[{"uid":"c5e49757-138"},{"uid":"c5e49757-146"}],"importedBy":[{"uid":"c5e49757-210"},{"uid":"c5e49757-198"}]},"c5e49757-150":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/core/InterceptorManager.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-151"},"imported":[{"uid":"c5e49757-138"}],"importedBy":[{"uid":"c5e49757-210"}]},"c5e49757-152":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/defaults/transitional.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-153"},"imported":[],"importedBy":[{"uid":"c5e49757-170"},{"uid":"c5e49757-198"}]},"c5e49757-154":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-155"},"imported":[{"uid":"c5e49757-146"}],"importedBy":[{"uid":"c5e49757-160"}]},"c5e49757-156":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/platform/browser/classes/FormData.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-157"},"imported":[],"importedBy":[{"uid":"c5e49757-160"}]},"c5e49757-158":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/platform/browser/classes/Blob.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-159"},"imported":[],"importedBy":[{"uid":"c5e49757-160"}]},"c5e49757-160":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/platform/browser/index.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-161"},"imported":[{"uid":"c5e49757-154"},{"uid":"c5e49757-156"},{"uid":"c5e49757-158"}],"importedBy":[{"uid":"c5e49757-164"}]},"c5e49757-162":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/platform/common/utils.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-163"},"imported":[],"importedBy":[{"uid":"c5e49757-164"}]},"c5e49757-164":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/platform/index.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-165"},"imported":[{"uid":"c5e49757-160"},{"uid":"c5e49757-162"}],"importedBy":[{"uid":"c5e49757-170"},{"uid":"c5e49757-166"},{"uid":"c5e49757-198"},{"uid":"c5e49757-184"},{"uid":"c5e49757-192"}]},"c5e49757-166":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/toURLEncodedForm.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-167"},"imported":[{"uid":"c5e49757-138"},{"uid":"c5e49757-144"},{"uid":"c5e49757-164"}],"importedBy":[{"uid":"c5e49757-170"}]},"c5e49757-168":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/formDataToJSON.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-169"},"imported":[{"uid":"c5e49757-138"}],"importedBy":[{"uid":"c5e49757-220"},{"uid":"c5e49757-170"}]},"c5e49757-170":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/defaults/index.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-171"},"imported":[{"uid":"c5e49757-138"},{"uid":"c5e49757-140"},{"uid":"c5e49757-152"},{"uid":"c5e49757-144"},{"uid":"c5e49757-166"},{"uid":"c5e49757-164"},{"uid":"c5e49757-168"}],"importedBy":[{"uid":"c5e49757-220"},{"uid":"c5e49757-202"},{"uid":"c5e49757-176"}]},"c5e49757-172":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/parseHeaders.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-173"},"imported":[{"uid":"c5e49757-138"}],"importedBy":[{"uid":"c5e49757-174"}]},"c5e49757-174":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/core/AxiosHeaders.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-175"},"imported":[{"uid":"c5e49757-138"},{"uid":"c5e49757-172"}],"importedBy":[{"uid":"c5e49757-220"},{"uid":"c5e49757-210"},{"uid":"c5e49757-204"},{"uid":"c5e49757-202"},{"uid":"c5e49757-198"},{"uid":"c5e49757-176"}]},"c5e49757-176":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/core/transformData.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-177"},"imported":[{"uid":"c5e49757-138"},{"uid":"c5e49757-170"},{"uid":"c5e49757-174"}],"importedBy":[{"uid":"c5e49757-202"}]},"c5e49757-178":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/cancel/isCancel.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-179"},"imported":[],"importedBy":[{"uid":"c5e49757-220"},{"uid":"c5e49757-202"}]},"c5e49757-180":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/cancel/CanceledError.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-181"},"imported":[{"uid":"c5e49757-140"},{"uid":"c5e49757-138"}],"importedBy":[{"uid":"c5e49757-220"},{"uid":"c5e49757-212"},{"uid":"c5e49757-202"},{"uid":"c5e49757-198"}]},"c5e49757-182":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/core/settle.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-183"},"imported":[{"uid":"c5e49757-140"}],"importedBy":[{"uid":"c5e49757-198"}]},"c5e49757-184":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/cookies.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-185"},"imported":[{"uid":"c5e49757-138"},{"uid":"c5e49757-164"}],"importedBy":[{"uid":"c5e49757-198"}]},"c5e49757-186":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/isAbsoluteURL.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-187"},"imported":[],"importedBy":[{"uid":"c5e49757-190"}]},"c5e49757-188":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/combineURLs.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-189"},"imported":[],"importedBy":[{"uid":"c5e49757-190"}]},"c5e49757-190":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/core/buildFullPath.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-191"},"imported":[{"uid":"c5e49757-186"},{"uid":"c5e49757-188"}],"importedBy":[{"uid":"c5e49757-210"},{"uid":"c5e49757-198"}]},"c5e49757-192":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/isURLSameOrigin.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-193"},"imported":[{"uid":"c5e49757-138"},{"uid":"c5e49757-164"}],"importedBy":[{"uid":"c5e49757-198"}]},"c5e49757-194":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/parseProtocol.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-195"},"imported":[],"importedBy":[{"uid":"c5e49757-198"}]},"c5e49757-196":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/speedometer.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-197"},"imported":[],"importedBy":[{"uid":"c5e49757-198"}]},"c5e49757-198":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/adapters/xhr.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-199"},"imported":[{"uid":"c5e49757-138"},{"uid":"c5e49757-182"},{"uid":"c5e49757-184"},{"uid":"c5e49757-148"},{"uid":"c5e49757-190"},{"uid":"c5e49757-192"},{"uid":"c5e49757-152"},{"uid":"c5e49757-140"},{"uid":"c5e49757-180"},{"uid":"c5e49757-194"},{"uid":"c5e49757-164"},{"uid":"c5e49757-174"},{"uid":"c5e49757-196"}],"importedBy":[{"uid":"c5e49757-200"}]},"c5e49757-200":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/adapters/adapters.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-201"},"imported":[{"uid":"c5e49757-138"},{"uid":"c5e49757-142"},{"uid":"c5e49757-198"},{"uid":"c5e49757-140"}],"importedBy":[{"uid":"c5e49757-220"},{"uid":"c5e49757-202"}]},"c5e49757-202":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/core/dispatchRequest.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-203"},"imported":[{"uid":"c5e49757-176"},{"uid":"c5e49757-178"},{"uid":"c5e49757-170"},{"uid":"c5e49757-180"},{"uid":"c5e49757-174"},{"uid":"c5e49757-200"}],"importedBy":[{"uid":"c5e49757-210"}]},"c5e49757-204":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/core/mergeConfig.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-205"},"imported":[{"uid":"c5e49757-138"},{"uid":"c5e49757-174"}],"importedBy":[{"uid":"c5e49757-220"},{"uid":"c5e49757-210"}]},"c5e49757-206":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/env/data.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-207"},"imported":[],"importedBy":[{"uid":"c5e49757-220"},{"uid":"c5e49757-208"}]},"c5e49757-208":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/validator.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-209"},"imported":[{"uid":"c5e49757-206"},{"uid":"c5e49757-140"}],"importedBy":[{"uid":"c5e49757-210"}]},"c5e49757-210":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/core/Axios.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-211"},"imported":[{"uid":"c5e49757-138"},{"uid":"c5e49757-148"},{"uid":"c5e49757-150"},{"uid":"c5e49757-202"},{"uid":"c5e49757-204"},{"uid":"c5e49757-190"},{"uid":"c5e49757-208"},{"uid":"c5e49757-174"}],"importedBy":[{"uid":"c5e49757-220"}]},"c5e49757-212":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/cancel/CancelToken.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-213"},"imported":[{"uid":"c5e49757-180"}],"importedBy":[{"uid":"c5e49757-220"}]},"c5e49757-214":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/spread.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-215"},"imported":[],"importedBy":[{"uid":"c5e49757-220"}]},"c5e49757-216":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/isAxiosError.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-217"},"imported":[{"uid":"c5e49757-138"}],"importedBy":[{"uid":"c5e49757-220"}]},"c5e49757-218":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/helpers/HttpStatusCode.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-219"},"imported":[],"importedBy":[{"uid":"c5e49757-220"}]},"c5e49757-220":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/lib/axios.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-221"},"imported":[{"uid":"c5e49757-138"},{"uid":"c5e49757-136"},{"uid":"c5e49757-210"},{"uid":"c5e49757-204"},{"uid":"c5e49757-170"},{"uid":"c5e49757-168"},{"uid":"c5e49757-180"},{"uid":"c5e49757-212"},{"uid":"c5e49757-178"},{"uid":"c5e49757-206"},{"uid":"c5e49757-144"},{"uid":"c5e49757-140"},{"uid":"c5e49757-214"},{"uid":"c5e49757-216"},{"uid":"c5e49757-174"},{"uid":"c5e49757-200"},{"uid":"c5e49757-218"}],"importedBy":[{"uid":"c5e49757-222"}]},"c5e49757-222":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/axios/index.js","moduleParts":{"assets/js/axios-nHV3UVRH.js":"c5e49757-223"},"imported":[{"uid":"c5e49757-220"}],"importedBy":[{"uid":"c5e49757-3566"},{"uid":"c5e49757-3554"},{"uid":"c5e49757-9444"},{"uid":"c5e49757-3556"},{"uid":"c5e49757-4420"},{"uid":"c5e49757-2130"},{"uid":"c5e49757-462"},{"uid":"c5e49757-9445"},{"uid":"c5e49757-724"},{"uid":"c5e49757-3558"},{"uid":"c5e49757-2156"},{"uid":"c5e49757-2448"},{"uid":"c5e49757-3560"},{"uid":"c5e49757-9446"},{"uid":"c5e49757-630"},{"uid":"c5e49757-2392"},{"uid":"c5e49757-542"},{"uid":"c5e49757-2364"},{"uid":"c5e49757-4636"},{"uid":"c5e49757-3964"},{"uid":"c5e49757-4866"},{"uid":"c5e49757-536"},{"uid":"c5e49757-3562"},{"uid":"c5e49757-9447"},{"uid":"c5e49757-2454"},{"uid":"c5e49757-9448"},{"uid":"c5e49757-484"},{"uid":"c5e49757-658"},{"uid":"c5e49757-636"},{"uid":"c5e49757-664"},{"uid":"c5e49757-644"},{"uid":"c5e49757-492"},{"uid":"c5e49757-624"},{"uid":"c5e49757-294"},{"uid":"c5e49757-4476"},{"uid":"c5e49757-3404"},{"uid":"c5e49757-634"},{"uid":"c5e49757-466"},{"uid":"c5e49757-9449"},{"uid":"c5e49757-9450"},{"uid":"c5e49757-480"},{"uid":"c5e49757-9451"},{"uid":"c5e49757-114"},{"uid":"c5e49757-2010"}]},"c5e49757-224":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkAudit/index.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/index-BicoXsJV.js":"c5e49757-225"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2438"},{"uid":"c5e49757-56"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-2452"}],"importedBy":[{"uid":"c5e49757-226"}]},"c5e49757-226":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkAudit/index.vue","moduleParts":{"assets/js/index-BicoXsJV.js":"c5e49757-227"},"imported":[{"uid":"c5e49757-224"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-228":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/editTable.vue","moduleParts":{"assets/js/editTable-C83JFkrB.js":"c5e49757-229"},"imported":[{"uid":"c5e49757-278"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-520"}]},"c5e49757-230":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/commonFunction.ts","moduleParts":{"assets/js/commonFunction-BC2UadfH.js":"c5e49757-231"},"imported":[{"uid":"c5e49757-2390"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-64"},{"uid":"c5e49757-2378"}],"importedBy":[{"uid":"c5e49757-614"},{"uid":"c5e49757-3392"},{"uid":"c5e49757-3746"},{"uid":"c5e49757-3482"},{"uid":"c5e49757-3412"},{"uid":"c5e49757-3424"},{"uid":"c5e49757-3740"},{"uid":"c5e49757-3686"},{"uid":"c5e49757-3668"},{"uid":"c5e49757-3454"},{"uid":"c5e49757-3652"},{"uid":"c5e49757-3770"},{"uid":"c5e49757-3728"},{"uid":"c5e49757-3782"},{"uid":"c5e49757-3704"},{"uid":"c5e49757-3752"},{"uid":"c5e49757-3776"},{"uid":"c5e49757-3710"},{"uid":"c5e49757-3460"},{"uid":"c5e49757-4082"},{"uid":"c5e49757-4132"},{"uid":"c5e49757-4138"},{"uid":"c5e49757-4088"},{"uid":"c5e49757-3974"},{"uid":"c5e49757-4672"},{"uid":"c5e49757-4546"},{"uid":"c5e49757-4592"},{"uid":"c5e49757-3906"},{"uid":"c5e49757-4266"},{"uid":"c5e49757-4414"},{"uid":"c5e49757-4466"},{"uid":"c5e49757-4598"},{"uid":"c5e49757-3924"},{"uid":"c5e49757-4874"},{"uid":"c5e49757-4520"},{"uid":"c5e49757-4916"},{"uid":"c5e49757-4748"},{"uid":"c5e49757-4182"},{"uid":"c5e49757-3912"},{"uid":"c5e49757-4754"},{"uid":"c5e49757-4812"},{"uid":"c5e49757-4070"},{"uid":"c5e49757-4898"},{"uid":"c5e49757-4928"},{"uid":"c5e49757-4922"},{"uid":"c5e49757-4216"},{"uid":"c5e49757-4666"},{"uid":"c5e49757-4566"},{"uid":"c5e49757-4910"},{"uid":"c5e49757-4126"},{"uid":"c5e49757-4824"},{"uid":"c5e49757-4782"},{"uid":"c5e49757-4000"},{"uid":"c5e49757-4378"},{"uid":"c5e49757-4496"},{"uid":"c5e49757-4768"},{"uid":"c5e49757-4254"},{"uid":"c5e49757-4298"},{"uid":"c5e49757-4700"},{"uid":"c5e49757-3958"},{"uid":"c5e49757-4036"},{"uid":"c5e49757-4408"},{"uid":"c5e49757-4204"},{"uid":"c5e49757-4018"},{"uid":"c5e49757-4030"},{"uid":"c5e49757-4616"},{"uid":"c5e49757-3938"},{"uid":"c5e49757-4742"},{"uid":"c5e49757-4248"},{"uid":"c5e49757-604"},{"uid":"c5e49757-4354"},{"uid":"c5e49757-4360"},{"uid":"c5e49757-4366"},{"uid":"c5e49757-4372"},{"uid":"c5e49757-4842"},{"uid":"c5e49757-3490"}]},"c5e49757-232":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/ldap/component/editLdap.vue","moduleParts":{"assets/js/editLdap-DPfVxuqN.js":"c5e49757-233"},"imported":[{"uid":"c5e49757-2366"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-524"}]},"c5e49757-234":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/screenfull/index.js","moduleParts":{"assets/js/screenfull-B2HNrVEE.js":"c5e49757-235"},"imported":[],"importedBy":[{"uid":"c5e49757-4006"}]},"c5e49757-236":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/pos/component/editPos.vue?vue&type=script&setup=true&name=sysEditPos&lang.ts","moduleParts":{"assets/js/editPos.vue_vue_type_script_setup_true_name_sysEditPos_lang-C_B3Kl7N.js":"c5e49757-237"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-672"}]},"c5e49757-238":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/addTable.vue?vue&type=script&setup=true&name=sysAddTable&lang.ts","moduleParts":{"assets/js/addTable.vue_vue_type_script_setup_true_name_sysAddTable_lang-3-MWjxF4.js":"c5e49757-239"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-82"}],"importedBy":[{"uid":"c5e49757-84"}]},"c5e49757-240":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/main/defaults.vue?vue&type=script&setup=true&name=layoutDefaults&lang.ts","moduleParts":{"assets/js/defaults-Cc7hTyCe.js":"c5e49757-241"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3572"},{"uid":"c5e49757-126","dynamic":true},{"uid":"c5e49757-670","dynamic":true},{"uid":"c5e49757-556","dynamic":true}],"importedBy":[{"uid":"c5e49757-242"}]},"c5e49757-242":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/main/defaults.vue","moduleParts":{"assets/js/defaults-Cc7hTyCe.js":"c5e49757-243"},"imported":[{"uid":"c5e49757-240"}],"importedBy":[{"uid":"c5e49757-4"}]},"c5e49757-244":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ WmsOrder/wmsOrderMovementDetails.ts","moduleParts":{"assets/js/wmsOrderMovementDetails-DLSYoD0a.js":"c5e49757-245"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4182"},{"uid":"c5e49757-4340"},{"uid":"c5e49757-4754"},{"uid":"c5e49757-4666"},{"uid":"c5e49757-4566"},{"uid":"c5e49757-4910"},{"uid":"c5e49757-4824"},{"uid":"c5e49757-3938"},{"uid":"c5e49757-4742"},{"uid":"c5e49757-4354"},{"uid":"c5e49757-4360"},{"uid":"c5e49757-4366"},{"uid":"c5e49757-4372"}]},"c5e49757-246":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/preact/dist/preact.module.js","moduleParts":{"assets/js/preact-zJOe333J.js":"c5e49757-247"},"imported":[],"importedBy":[{"uid":"c5e49757-7352"},{"uid":"c5e49757-7350"}]},"c5e49757-248":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/org/component/editOrg.vue?vue&type=script&setup=true&name=sysEditOrg&lang.ts","moduleParts":{"assets/js/editOrg.vue_vue_type_script_setup_true_name_sysEditOrg_lang-CfEYnnIB.js":"c5e49757-249"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-578"}]},"c5e49757-250":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsTask.ts","moduleParts":{"assets/js/wmsTask-CG4ZsrZB.js":"c5e49757-251"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3716"},{"uid":"c5e49757-3668"},{"uid":"c5e49757-3508"},{"uid":"c5e49757-3460"}]},"c5e49757-252":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/print/index.vue?vue&type=script&setup=true&name=sysPrint&lang.ts","moduleParts":{"assets/js/index-CaWk3N9e.js":"c5e49757-253"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4722"},{"uid":"c5e49757-9454"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-254"}]},"c5e49757-254":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/print/index.vue","moduleParts":{"assets/js/index-CaWk3N9e.js":"c5e49757-255"},"imported":[{"uid":"c5e49757-252"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-256":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/user/component/editUser.vue","moduleParts":{"assets/js/editUser-BQKN9u7g.js":"c5e49757-257"},"imported":[{"uid":"c5e49757-514"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-718"}]},"c5e49757-258":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/dict/component/editDictType.vue?vue&type=script&setup=true&name=sysEditDictType&lang.ts","moduleParts":{"assets/js/editDictType.vue_vue_type_script_setup_true_name_sysEditDictType_lang-BISiqxeW.js":"c5e49757-259"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-546"}]},"c5e49757-260":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/tenant/index.vue?vue&type=script&setup=true&name=sysTenant&lang.ts","moduleParts":{"assets/js/index-CcNOE0jC.js":"c5e49757-261"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-66"},{"uid":"c5e49757-4214"},{"uid":"c5e49757-9454"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-262"}]},"c5e49757-262":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/tenant/index.vue","moduleParts":{"assets/js/index-CcNOE0jC.js":"c5e49757-263"},"imported":[{"uid":"c5e49757-260"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-264":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/signature_pad/dist/signature_pad.js","moduleParts":{"assets/js/signature_pad-edH0THtw.js":"c5e49757-265"},"imported":[],"importedBy":[{"uid":"c5e49757-22"}]},"c5e49757-266":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/dict-utils.ts","moduleParts":{"assets/js/dict-utils-DHByxiIK.js":"c5e49757-267"},"imported":[{"uid":"c5e49757-50"},{"uid":"c5e49757-3568"}],"importedBy":[{"uid":"c5e49757-4680"},{"uid":"c5e49757-4552"},{"uid":"c5e49757-4390"},{"uid":"c5e49757-3800"},{"uid":"c5e49757-4440"},{"uid":"c5e49757-4580"}]},"c5e49757-268":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navMenu/vertical.vue?vue&type=script&setup=true&name=navMenuVertical&lang.ts","moduleParts":{"assets/js/vertical-BABJGU3J.js":"c5e49757-269"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3604"},{"uid":"c5e49757-130","dynamic":true}],"importedBy":[{"uid":"c5e49757-270"}]},"c5e49757-270":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navMenu/vertical.vue","moduleParts":{"assets/js/vertical-BABJGU3J.js":"c5e49757-271"},"imported":[{"uid":"c5e49757-268"}],"importedBy":[{"uid":"c5e49757-124"}]},"c5e49757-272":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/dict/component/editDictData.vue?vue&type=script&setup=true&name=sysEditDictData&lang.ts","moduleParts":{"assets/js/editDictData.vue_vue_type_script_setup_true_name_sysEditDictData_lang-CYpsA2rt.js":"c5e49757-273"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-580"}]},"c5e49757-274":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/push.js/bin/push.min.js?commonjs-module","moduleParts":{"assets/js/push.js-BoCOY6Sz.js":"c5e49757-275"},"imported":[],"importedBy":[{"uid":"c5e49757-276"}]},"c5e49757-276":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/push.js/bin/push.min.js","moduleParts":{"assets/js/push.js-BoCOY6Sz.js":"c5e49757-277"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-274"}],"importedBy":[{"uid":"c5e49757-4006"}]},"c5e49757-278":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/editTable.vue?vue&type=script&setup=true&name=sysEditTable&lang.ts","moduleParts":{"assets/js/editTable.vue_vue_type_script_setup_true_name_sysEditTable_lang-DAF8KMR7.js":"c5e49757-279"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-228"}]},"c5e49757-280":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/role/component/grantData.vue?vue&type=script&setup=true&name=sysGrantData&lang.ts","moduleParts":{"assets/js/grantData.vue_vue_type_script_setup_true_name_sysGrantData_lang-XnKSiMlc.js":"c5e49757-281"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4180"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-300"}]},"c5e49757-282":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/pos/index.vue?vue&type=script&setup=true&name=sysPos&lang.ts","moduleParts":{"assets/js/index-CdubCDCK.js":"c5e49757-283"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-672"},{"uid":"c5e49757-9454"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-284"}]},"c5e49757-284":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/pos/index.vue","moduleParts":{"assets/js/index-CdubCDCK.js":"c5e49757-285"},"imported":[{"uid":"c5e49757-282"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-286":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/file/index.vue?vue&type=script&setup=true&name=sysFile&lang.ts","moduleParts":{"assets/js/index-frIgMpzM.js":"c5e49757-287"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-9428"},{"uid":"c5e49757-9432"},{"uid":"c5e49757-9436"},{"uid":"c5e49757-9438"},{"uid":"c5e49757-9440"},{"uid":"c5e49757-506"},{"uid":"c5e49757-9454"},{"uid":"c5e49757-596"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-288"}]},"c5e49757-288":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/file/index.vue","moduleParts":{"assets/js/index-frIgMpzM.js":"c5e49757-289"},"imported":[{"uid":"c5e49757-286"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-290":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/PrintCenter/wmsContainerSortPrint.ts","moduleParts":{"assets/js/wmsContainerSortPrint-D-7V2Hhu.js":"c5e49757-291"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3674"},{"uid":"c5e49757-3482"}]},"c5e49757-292":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WareAgeWarm/wareAgeWarm.ts","moduleParts":{"assets/js/wareAgeWarm-D_ACPVQd.js":"c5e49757-293"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3442"},{"uid":"c5e49757-4228"},{"uid":"c5e49757-4164"},{"uid":"c5e49757-4860"},{"uid":"c5e49757-4806"},{"uid":"c5e49757-4064"},{"uid":"c5e49757-4094"},{"uid":"c5e49757-3894"}]},"c5e49757-294":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-role-api.ts","moduleParts":{"assets/js/sys-role-api-BV6D96uT.js":"c5e49757-295"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-296":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/exportExcel2.ts","moduleParts":{"assets/js/exportPageExcel-Be_cbzy7.js":"c5e49757-297"},"imported":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-4538"}],"importedBy":[{"uid":"c5e49757-298"}]},"c5e49757-298":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/exportPageExcel.ts","moduleParts":{"assets/js/exportPageExcel-Be_cbzy7.js":"c5e49757-299"},"imported":[{"uid":"c5e49757-296"},{"uid":"c5e49757-64"}],"importedBy":[{"uid":"c5e49757-3392"},{"uid":"c5e49757-3746"},{"uid":"c5e49757-3482"},{"uid":"c5e49757-3412"},{"uid":"c5e49757-3424"},{"uid":"c5e49757-3442"},{"uid":"c5e49757-3668"},{"uid":"c5e49757-3692"},{"uid":"c5e49757-3652"},{"uid":"c5e49757-3728"},{"uid":"c5e49757-3782"},{"uid":"c5e49757-3752"},{"uid":"c5e49757-3776"},{"uid":"c5e49757-3710"},{"uid":"c5e49757-4490"},{"uid":"c5e49757-4132"},{"uid":"c5e49757-4138"},{"uid":"c5e49757-4088"},{"uid":"c5e49757-3952"},{"uid":"c5e49757-4164"},{"uid":"c5e49757-4552"},{"uid":"c5e49757-4546"},{"uid":"c5e49757-4686"},{"uid":"c5e49757-4788"},{"uid":"c5e49757-4414"},{"uid":"c5e49757-4598"},{"uid":"c5e49757-4452"},{"uid":"c5e49757-4922"},{"uid":"c5e49757-4000"},{"uid":"c5e49757-4378"},{"uid":"c5e49757-4604"},{"uid":"c5e49757-3958"},{"uid":"c5e49757-4408"},{"uid":"c5e49757-4204"},{"uid":"c5e49757-4018"},{"uid":"c5e49757-4030"},{"uid":"c5e49757-4616"},{"uid":"c5e49757-4248"}]},"c5e49757-300":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/role/component/grantData.vue","moduleParts":{"assets/js/grantData-BVk1kYwN.js":"c5e49757-301"},"imported":[{"uid":"c5e49757-280"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-100"}]},"c5e49757-302":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsOrder/wmsOrderMovement.ts","moduleParts":{"assets/js/wmsOrderMovement-xoxBRoT3.js":"c5e49757-303"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4830"},{"uid":"c5e49757-4182"},{"uid":"c5e49757-3912"},{"uid":"c5e49757-4052"},{"uid":"c5e49757-4848"},{"uid":"c5e49757-4566"},{"uid":"c5e49757-4126"},{"uid":"c5e49757-4372"}]},"c5e49757-304":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsStockQuan/wmsContainerPlace.ts","moduleParts":{"assets/js/wmsContainerPlace-Bxk3foPN.js":"c5e49757-305"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4434"},{"uid":"c5e49757-4278"}]},"c5e49757-306":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/editColumn.vue","moduleParts":{"assets/js/editColumn-BcQFKu0b.js":"c5e49757-307"},"imported":[{"uid":"c5e49757-680"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-520"}]},"c5e49757-308":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/weChatUser/component/editWeChatUser.vue","moduleParts":{"assets/js/editWeChatUser-BBKVpXqy.js":"c5e49757-309"},"imported":[{"uid":"c5e49757-482"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-72"}]},"c5e49757-310":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/dayjs.min.js?commonjs-module","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-311"},"imported":[],"importedBy":[{"uid":"c5e49757-312"}]},"c5e49757-312":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/dayjs.min.js","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-313"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-310"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5284"},{"uid":"c5e49757-5312"},{"uid":"c5e49757-5558"},{"uid":"c5e49757-5318"},{"uid":"c5e49757-6118"},{"uid":"c5e49757-5328"},{"uid":"c5e49757-5316"},{"uid":"c5e49757-5324"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"},{"uid":"c5e49757-5554"},{"uid":"c5e49757-5534"},{"uid":"c5e49757-5538"},{"uid":"c5e49757-5522"},{"uid":"c5e49757-5524"},{"uid":"c5e49757-5544"}]},"c5e49757-314":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/plugin/customParseFormat.js?commonjs-module","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-315"},"imported":[],"importedBy":[{"uid":"c5e49757-316"}]},"c5e49757-316":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/plugin/customParseFormat.js","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-317"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-314"}],"importedBy":[{"uid":"c5e49757-5558"},{"uid":"c5e49757-5318"},{"uid":"c5e49757-6118"}]},"c5e49757-318":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/plugin/localeData.js?commonjs-module","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-319"},"imported":[],"importedBy":[{"uid":"c5e49757-320"}]},"c5e49757-320":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/plugin/localeData.js","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-321"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-318"}],"importedBy":[{"uid":"c5e49757-5558"},{"uid":"c5e49757-5324"}]},"c5e49757-322":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/plugin/advancedFormat.js?commonjs-module","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-323"},"imported":[],"importedBy":[{"uid":"c5e49757-324"}]},"c5e49757-324":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/plugin/advancedFormat.js","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-325"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-322"}],"importedBy":[{"uid":"c5e49757-5558"}]},"c5e49757-326":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/plugin/weekOfYear.js?commonjs-module","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-327"},"imported":[],"importedBy":[{"uid":"c5e49757-328"}]},"c5e49757-328":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/plugin/weekOfYear.js","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-329"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-326"}],"importedBy":[{"uid":"c5e49757-5558"}]},"c5e49757-330":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/plugin/weekYear.js?commonjs-module","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-331"},"imported":[],"importedBy":[{"uid":"c5e49757-332"}]},"c5e49757-332":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/plugin/weekYear.js","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-333"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-330"}],"importedBy":[{"uid":"c5e49757-5558"}]},"c5e49757-334":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/plugin/dayOfYear.js?commonjs-module","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-335"},"imported":[],"importedBy":[{"uid":"c5e49757-336"}]},"c5e49757-336":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/plugin/dayOfYear.js","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-337"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-334"}],"importedBy":[{"uid":"c5e49757-5558"}]},"c5e49757-338":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/plugin/isSameOrAfter.js?commonjs-module","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-339"},"imported":[],"importedBy":[{"uid":"c5e49757-340"}]},"c5e49757-340":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/plugin/isSameOrAfter.js","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-341"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-338"}],"importedBy":[{"uid":"c5e49757-5558"}]},"c5e49757-342":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/plugin/isSameOrBefore.js?commonjs-module","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-343"},"imported":[],"importedBy":[{"uid":"c5e49757-344"}]},"c5e49757-344":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dayjs/plugin/isSameOrBefore.js","moduleParts":{"assets/js/dayjs-DXmmCYrX.js":"c5e49757-345"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-342"}],"importedBy":[{"uid":"c5e49757-5558"}]},"c5e49757-346":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/assets/logo-mini.png","moduleParts":{"assets/js/logo-mini-B9GLrPTn.js":"c5e49757-347"},"imported":[],"importedBy":[{"uid":"c5e49757-4292"},{"uid":"c5e49757-3848"},{"uid":"c5e49757-3268"},{"uid":"c5e49757-3290"}]},"c5e49757-348":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-router/dist/vue-router.mjs","moduleParts":{"assets/js/vue-router-C6U6DAR-.js":"c5e49757-349"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3378"}],"importedBy":[{"uid":"c5e49757-240"},{"uid":"c5e49757-472"},{"uid":"c5e49757-476"},{"uid":"c5e49757-110"},{"uid":"c5e49757-554"},{"uid":"c5e49757-4484"},{"uid":"c5e49757-4292"},{"uid":"c5e49757-268"},{"uid":"c5e49757-68"},{"uid":"c5e49757-3580"},{"uid":"c5e49757-3836"},{"uid":"c5e49757-52"},{"uid":"c5e49757-3198"},{"uid":"c5e49757-3216"},{"uid":"c5e49757-3250"},{"uid":"c5e49757-3448"},{"uid":"c5e49757-3290"},{"uid":"c5e49757-520"},{"uid":"c5e49757-4326"},{"uid":"c5e49757-4904"},{"uid":"c5e49757-4006"},{"uid":"c5e49757-4854"},{"uid":"c5e49757-3842"},{"uid":"c5e49757-3610"}]},"c5e49757-350":{"id":"\u0000commonjsHelpers.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-351"},"imported":[],"importedBy":[{"uid":"c5e49757-312"},{"uid":"c5e49757-3212"},{"uid":"c5e49757-2378"},{"uid":"c5e49757-316"},{"uid":"c5e49757-324"},{"uid":"c5e49757-320"},{"uid":"c5e49757-328"},{"uid":"c5e49757-332"},{"uid":"c5e49757-336"},{"uid":"c5e49757-340"},{"uid":"c5e49757-344"},{"uid":"c5e49757-2374"},{"uid":"c5e49757-7296"},{"uid":"c5e49757-2402"},{"uid":"c5e49757-7424"},{"uid":"c5e49757-9428"},{"uid":"c5e49757-9432"},{"uid":"c5e49757-9436"},{"uid":"c5e49757-648"},{"uid":"c5e49757-498"},{"uid":"c5e49757-502"},{"uid":"c5e49757-628"},{"uid":"c5e49757-276"},{"uid":"c5e49757-3180"},{"uid":"c5e49757-2412"},{"uid":"c5e49757-2360"},{"uid":"c5e49757-3244"},{"uid":"c5e49757-3810"},{"uid":"c5e49757-3206"},{"uid":"c5e49757-710"},{"uid":"c5e49757-458"},{"uid":"c5e49757-4538"},{"uid":"c5e49757-2302"},{"uid":"c5e49757-2306"},{"uid":"c5e49757-2310"},{"uid":"c5e49757-2314"},{"uid":"c5e49757-2354"},{"uid":"c5e49757-2322"},{"uid":"c5e49757-2358"},{"uid":"c5e49757-2352"},{"uid":"c5e49757-2326"},{"uid":"c5e49757-3226"},{"uid":"c5e49757-3242"},{"uid":"c5e49757-3236"},{"uid":"c5e49757-48"},{"uid":"c5e49757-2142"},{"uid":"c5e49757-2758"},{"uid":"c5e49757-2914"},{"uid":"c5e49757-2918"},{"uid":"c5e49757-362"},{"uid":"c5e49757-366"},{"uid":"c5e49757-2932"},{"uid":"c5e49757-2944"},{"uid":"c5e49757-2966"},{"uid":"c5e49757-2978"},{"uid":"c5e49757-2984"},{"uid":"c5e49757-2994"},{"uid":"c5e49757-3000"},{"uid":"c5e49757-390"},{"uid":"c5e49757-402"},{"uid":"c5e49757-406"},{"uid":"c5e49757-410"},{"uid":"c5e49757-3008"},{"uid":"c5e49757-3012"},{"uid":"c5e49757-3018"},{"uid":"c5e49757-3022"},{"uid":"c5e49757-3026"},{"uid":"c5e49757-2388"},{"uid":"c5e49757-3030"},{"uid":"c5e49757-3036"},{"uid":"c5e49757-2408"},{"uid":"c5e49757-3042"},{"uid":"c5e49757-3050"},{"uid":"c5e49757-418"},{"uid":"c5e49757-426"},{"uid":"c5e49757-430"},{"uid":"c5e49757-3058"},{"uid":"c5e49757-3064"},{"uid":"c5e49757-3068"},{"uid":"c5e49757-3072"},{"uid":"c5e49757-3076"},{"uid":"c5e49757-3092"},{"uid":"c5e49757-446"},{"uid":"c5e49757-3096"},{"uid":"c5e49757-3106"},{"uid":"c5e49757-454"},{"uid":"c5e49757-3112"},{"uid":"c5e49757-2382"},{"uid":"c5e49757-3118"},{"uid":"c5e49757-424"},{"uid":"c5e49757-3120"},{"uid":"c5e49757-3124"},{"uid":"c5e49757-3152"},{"uid":"c5e49757-3156"},{"uid":"c5e49757-3160"},{"uid":"c5e49757-2160"},{"uid":"c5e49757-2406"},{"uid":"c5e49757-4532"},{"uid":"c5e49757-4536"},{"uid":"c5e49757-2172"},{"uid":"c5e49757-2204"},{"uid":"c5e49757-2244"},{"uid":"c5e49757-2260"},{"uid":"c5e49757-2288"},{"uid":"c5e49757-2292"},{"uid":"c5e49757-2296"},{"uid":"c5e49757-2300"},{"uid":"c5e49757-2328"},{"uid":"c5e49757-2348"},{"uid":"c5e49757-2128"},{"uid":"c5e49757-3234"},{"uid":"c5e49757-3240"},{"uid":"c5e49757-10"},{"uid":"c5e49757-46"},{"uid":"c5e49757-2140"},{"uid":"c5e49757-2138"},{"uid":"c5e49757-3208"},{"uid":"c5e49757-2690"},{"uid":"c5e49757-2750"},{"uid":"c5e49757-2756"},{"uid":"c5e49757-2874"},{"uid":"c5e49757-2894"},{"uid":"c5e49757-2898"},{"uid":"c5e49757-2902"},{"uid":"c5e49757-2906"},{"uid":"c5e49757-2912"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2774"},{"uid":"c5e49757-360"},{"uid":"c5e49757-2928"},{"uid":"c5e49757-2930"},{"uid":"c5e49757-2942"},{"uid":"c5e49757-2964"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2970"},{"uid":"c5e49757-2670"},{"uid":"c5e49757-2784"},{"uid":"c5e49757-2936"},{"uid":"c5e49757-2672"},{"uid":"c5e49757-2720"},{"uid":"c5e49757-2974"},{"uid":"c5e49757-2976"},{"uid":"c5e49757-2832"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2780"},{"uid":"c5e49757-2982"},{"uid":"c5e49757-2688"},{"uid":"c5e49757-2834"},{"uid":"c5e49757-2990"},{"uid":"c5e49757-2992"},{"uid":"c5e49757-2656"},{"uid":"c5e49757-2770"},{"uid":"c5e49757-2772"},{"uid":"c5e49757-2998"},{"uid":"c5e49757-372"},{"uid":"c5e49757-376"},{"uid":"c5e49757-384"},{"uid":"c5e49757-388"},{"uid":"c5e49757-400"},{"uid":"c5e49757-2922"},{"uid":"c5e49757-2698"},{"uid":"c5e49757-2674"},{"uid":"c5e49757-2786"},{"uid":"c5e49757-3004"},{"uid":"c5e49757-3006"},{"uid":"c5e49757-2926"},{"uid":"c5e49757-2682"},{"uid":"c5e49757-3016"},{"uid":"c5e49757-2808"},{"uid":"c5e49757-2830"},{"uid":"c5e49757-2950"},{"uid":"c5e49757-96"},{"uid":"c5e49757-2696"},{"uid":"c5e49757-2732"},{"uid":"c5e49757-2820"},{"uid":"c5e49757-2940"},{"uid":"c5e49757-3034"},{"uid":"c5e49757-3040"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-3046"},{"uid":"c5e49757-3048"},{"uid":"c5e49757-2740"},{"uid":"c5e49757-416"},{"uid":"c5e49757-358"},{"uid":"c5e49757-3056"},{"uid":"c5e49757-2890"},{"uid":"c5e49757-2788"},{"uid":"c5e49757-3062"},{"uid":"c5e49757-2972"},{"uid":"c5e49757-2746"},{"uid":"c5e49757-3088"},{"uid":"c5e49757-3090"},{"uid":"c5e49757-436"},{"uid":"c5e49757-440"},{"uid":"c5e49757-444"},{"uid":"c5e49757-3100"},{"uid":"c5e49757-2804"},{"uid":"c5e49757-2676"},{"uid":"c5e49757-3102"},{"uid":"c5e49757-2712"},{"uid":"c5e49757-2714"},{"uid":"c5e49757-2724"},{"uid":"c5e49757-2794"},{"uid":"c5e49757-2728"},{"uid":"c5e49757-3104"},{"uid":"c5e49757-452"},{"uid":"c5e49757-3110"},{"uid":"c5e49757-3116"},{"uid":"c5e49757-2878"},{"uid":"c5e49757-2818"},{"uid":"c5e49757-3150"},{"uid":"c5e49757-2718"},{"uid":"c5e49757-3082"},{"uid":"c5e49757-3080"},{"uid":"c5e49757-2170"},{"uid":"c5e49757-2190"},{"uid":"c5e49757-2194"},{"uid":"c5e49757-2198"},{"uid":"c5e49757-2202"},{"uid":"c5e49757-2222"},{"uid":"c5e49757-2226"},{"uid":"c5e49757-2230"},{"uid":"c5e49757-2234"},{"uid":"c5e49757-2238"},{"uid":"c5e49757-2242"},{"uid":"c5e49757-2254"},{"uid":"c5e49757-2258"},{"uid":"c5e49757-2266"},{"uid":"c5e49757-2274"},{"uid":"c5e49757-2278"},{"uid":"c5e49757-2282"},{"uid":"c5e49757-2286"},{"uid":"c5e49757-2338"},{"uid":"c5e49757-2342"},{"uid":"c5e49757-2346"},{"uid":"c5e49757-2126"},{"uid":"c5e49757-2092"},{"uid":"c5e49757-2120"},{"uid":"c5e49757-2086"},{"uid":"c5e49757-2124"},{"uid":"c5e49757-2112"},{"uid":"c5e49757-104"},{"uid":"c5e49757-2748"},{"uid":"c5e49757-2658"},{"uid":"c5e49757-2754"},{"uid":"c5e49757-2816"},{"uid":"c5e49757-2822"},{"uid":"c5e49757-2824"},{"uid":"c5e49757-2846"},{"uid":"c5e49757-2856"},{"uid":"c5e49757-2858"},{"uid":"c5e49757-2860"},{"uid":"c5e49757-2850"},{"uid":"c5e49757-2862"},{"uid":"c5e49757-2868"},{"uid":"c5e49757-2872"},{"uid":"c5e49757-2888"},{"uid":"c5e49757-2892"},{"uid":"c5e49757-2710"},{"uid":"c5e49757-2910"},{"uid":"c5e49757-2802"},{"uid":"c5e49757-2768"},{"uid":"c5e49757-2738"},{"uid":"c5e49757-2726"},{"uid":"c5e49757-2702"},{"uid":"c5e49757-2836"},{"uid":"c5e49757-2938"},{"uid":"c5e49757-2948"},{"uid":"c5e49757-2662"},{"uid":"c5e49757-2958"},{"uid":"c5e49757-2960"},{"uid":"c5e49757-2962"},{"uid":"c5e49757-2666"},{"uid":"c5e49757-2752"},{"uid":"c5e49757-2778"},{"uid":"c5e49757-2678"},{"uid":"c5e49757-2684"},{"uid":"c5e49757-2686"},{"uid":"c5e49757-2988"},{"uid":"c5e49757-382"},{"uid":"c5e49757-398"},{"uid":"c5e49757-2924"},{"uid":"c5e49757-2680"},{"uid":"c5e49757-2828"},{"uid":"c5e49757-2700"},{"uid":"c5e49757-3054"},{"uid":"c5e49757-2880"},{"uid":"c5e49757-2826"},{"uid":"c5e49757-2884"},{"uid":"c5e49757-2882"},{"uid":"c5e49757-2782"},{"uid":"c5e49757-2736"},{"uid":"c5e49757-2660"},{"uid":"c5e49757-2742"},{"uid":"c5e49757-2744"},{"uid":"c5e49757-3086"},{"uid":"c5e49757-3084"},{"uid":"c5e49757-2722"},{"uid":"c5e49757-2790"},{"uid":"c5e49757-2792"},{"uid":"c5e49757-2704"},{"uid":"c5e49757-3144"},{"uid":"c5e49757-3148"},{"uid":"c5e49757-2716"},{"uid":"c5e49757-2184"},{"uid":"c5e49757-2188"},{"uid":"c5e49757-2182"},{"uid":"c5e49757-2212"},{"uid":"c5e49757-2220"},{"uid":"c5e49757-2218"},{"uid":"c5e49757-2252"},{"uid":"c5e49757-2272"},{"uid":"c5e49757-2336"},{"uid":"c5e49757-2090"},{"uid":"c5e49757-42"},{"uid":"c5e49757-2106"},{"uid":"c5e49757-2114"},{"uid":"c5e49757-2118"},{"uid":"c5e49757-2084"},{"uid":"c5e49757-2734"},{"uid":"c5e49757-2810"},{"uid":"c5e49757-2814"},{"uid":"c5e49757-2838"},{"uid":"c5e49757-2840"},{"uid":"c5e49757-2842"},{"uid":"c5e49757-2844"},{"uid":"c5e49757-2848"},{"uid":"c5e49757-2852"},{"uid":"c5e49757-2854"},{"uid":"c5e49757-2866"},{"uid":"c5e49757-2864"},{"uid":"c5e49757-2886"},{"uid":"c5e49757-2800"},{"uid":"c5e49757-2956"},{"uid":"c5e49757-3142"},{"uid":"c5e49757-3146"},{"uid":"c5e49757-32"},{"uid":"c5e49757-40"},{"uid":"c5e49757-30"},{"uid":"c5e49757-2096"},{"uid":"c5e49757-2104"},{"uid":"c5e49757-2812"},{"uid":"c5e49757-2798"},{"uid":"c5e49757-2954"},{"uid":"c5e49757-3134"},{"uid":"c5e49757-3138"},{"uid":"c5e49757-3140"},{"uid":"c5e49757-38"},{"uid":"c5e49757-2102"},{"uid":"c5e49757-3136"},{"uid":"c5e49757-3164"},{"uid":"c5e49757-7290"}]},"c5e49757-352":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/esm/typeof.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-353"},"imported":[],"importedBy":[{"uid":"c5e49757-3808"}]},"c5e49757-354":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/regeneratorRuntime.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-355"},"imported":[],"importedBy":[{"uid":"c5e49757-360"}]},"c5e49757-356":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/typeof.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-357"},"imported":[],"importedBy":[{"uid":"c5e49757-358"}]},"c5e49757-358":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/typeof.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-359"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-356"}],"importedBy":[{"uid":"c5e49757-426"},{"uid":"c5e49757-360"},{"uid":"c5e49757-400"},{"uid":"c5e49757-398"}]},"c5e49757-360":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/regeneratorRuntime.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-361"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-354"},{"uid":"c5e49757-358"}],"importedBy":[{"uid":"c5e49757-362"}]},"c5e49757-362":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/regenerator/index.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-363"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-360"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-364":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/asyncToGenerator.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-365"},"imported":[],"importedBy":[{"uid":"c5e49757-366"}]},"c5e49757-366":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/asyncToGenerator.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-367"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-364"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-368":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/slicedToArray.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-369"},"imported":[],"importedBy":[{"uid":"c5e49757-390"}]},"c5e49757-370":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/arrayWithHoles.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-371"},"imported":[],"importedBy":[{"uid":"c5e49757-372"}]},"c5e49757-372":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/arrayWithHoles.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-373"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-370"}],"importedBy":[{"uid":"c5e49757-390"}]},"c5e49757-374":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-375"},"imported":[],"importedBy":[{"uid":"c5e49757-376"}]},"c5e49757-376":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-377"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-374"}],"importedBy":[{"uid":"c5e49757-390"}]},"c5e49757-378":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-379"},"imported":[],"importedBy":[{"uid":"c5e49757-384"}]},"c5e49757-380":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/arrayLikeToArray.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-381"},"imported":[],"importedBy":[{"uid":"c5e49757-382"}]},"c5e49757-382":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-383"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-380"}],"importedBy":[{"uid":"c5e49757-384"},{"uid":"c5e49757-436"}]},"c5e49757-384":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-385"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-378"},{"uid":"c5e49757-382"}],"importedBy":[{"uid":"c5e49757-390"},{"uid":"c5e49757-446"}]},"c5e49757-386":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/nonIterableRest.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-387"},"imported":[],"importedBy":[{"uid":"c5e49757-388"}]},"c5e49757-388":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/nonIterableRest.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-389"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-386"}],"importedBy":[{"uid":"c5e49757-390"}]},"c5e49757-390":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/slicedToArray.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-391"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-368"},{"uid":"c5e49757-372"},{"uid":"c5e49757-376"},{"uid":"c5e49757-384"},{"uid":"c5e49757-388"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-392":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/defineProperty.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-393"},"imported":[],"importedBy":[{"uid":"c5e49757-402"}]},"c5e49757-394":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/toPropertyKey.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-395"},"imported":[],"importedBy":[{"uid":"c5e49757-400"}]},"c5e49757-396":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/toPrimitive.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-397"},"imported":[],"importedBy":[{"uid":"c5e49757-398"}]},"c5e49757-398":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/toPrimitive.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-399"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-396"},{"uid":"c5e49757-358"}],"importedBy":[{"uid":"c5e49757-400"}]},"c5e49757-400":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/toPropertyKey.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-401"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-394"},{"uid":"c5e49757-358"},{"uid":"c5e49757-398"}],"importedBy":[{"uid":"c5e49757-402"},{"uid":"c5e49757-410"}]},"c5e49757-402":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/defineProperty.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-403"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-392"},{"uid":"c5e49757-400"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-404":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/classCallCheck.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-405"},"imported":[],"importedBy":[{"uid":"c5e49757-406"}]},"c5e49757-406":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/classCallCheck.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-407"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-404"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-408":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/createClass.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-409"},"imported":[],"importedBy":[{"uid":"c5e49757-410"}]},"c5e49757-410":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/createClass.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-411"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-408"},{"uid":"c5e49757-400"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-412":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/inherits.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-413"},"imported":[],"importedBy":[{"uid":"c5e49757-418"}]},"c5e49757-414":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/setPrototypeOf.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-415"},"imported":[],"importedBy":[{"uid":"c5e49757-416"}]},"c5e49757-416":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/setPrototypeOf.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-417"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-414"}],"importedBy":[{"uid":"c5e49757-418"}]},"c5e49757-418":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/inherits.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-419"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-412"},{"uid":"c5e49757-416"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-420":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-421"},"imported":[],"importedBy":[{"uid":"c5e49757-426"}]},"c5e49757-422":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/assertThisInitialized.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-423"},"imported":[],"importedBy":[{"uid":"c5e49757-424"}]},"c5e49757-424":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/assertThisInitialized.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-425"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-422"}],"importedBy":[{"uid":"c5e49757-3206"},{"uid":"c5e49757-426"}]},"c5e49757-426":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-427"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-420"},{"uid":"c5e49757-358"},{"uid":"c5e49757-424"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-428":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/getPrototypeOf.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-429"},"imported":[],"importedBy":[{"uid":"c5e49757-430"}]},"c5e49757-430":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/getPrototypeOf.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-431"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-428"}],"importedBy":[{"uid":"c5e49757-3206"},{"uid":"c5e49757-452"}]},"c5e49757-432":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/toConsumableArray.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-433"},"imported":[],"importedBy":[{"uid":"c5e49757-446"}]},"c5e49757-434":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-435"},"imported":[],"importedBy":[{"uid":"c5e49757-436"}]},"c5e49757-436":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-437"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-434"},{"uid":"c5e49757-382"}],"importedBy":[{"uid":"c5e49757-446"}]},"c5e49757-438":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/iterableToArray.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-439"},"imported":[],"importedBy":[{"uid":"c5e49757-440"}]},"c5e49757-440":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/iterableToArray.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-441"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-438"}],"importedBy":[{"uid":"c5e49757-446"}]},"c5e49757-442":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/nonIterableSpread.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-443"},"imported":[],"importedBy":[{"uid":"c5e49757-444"}]},"c5e49757-444":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/nonIterableSpread.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-445"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-442"}],"importedBy":[{"uid":"c5e49757-446"}]},"c5e49757-446":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/toConsumableArray.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-447"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-432"},{"uid":"c5e49757-436"},{"uid":"c5e49757-440"},{"uid":"c5e49757-384"},{"uid":"c5e49757-444"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-448":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/get.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-449"},"imported":[],"importedBy":[{"uid":"c5e49757-454"}]},"c5e49757-450":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/superPropBase.js?commonjs-module","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-451"},"imported":[],"importedBy":[{"uid":"c5e49757-452"}]},"c5e49757-452":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/superPropBase.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-453"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-450"},{"uid":"c5e49757-430"}],"importedBy":[{"uid":"c5e49757-454"}]},"c5e49757-454":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@babel/runtime/helpers/get.js","moduleParts":{"assets/js/@babel-0VnhfHKX.js":"c5e49757-455"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-448"},{"uid":"c5e49757-452"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-456":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/clipboard/dist/clipboard.js?commonjs-module","moduleParts":{"assets/js/clipboard-WJsvpfw-.js":"c5e49757-457"},"imported":[],"importedBy":[{"uid":"c5e49757-458"}]},"c5e49757-458":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/clipboard/dist/clipboard.js","moduleParts":{"assets/js/clipboard-WJsvpfw-.js":"c5e49757-459"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-456"}],"importedBy":[{"uid":"c5e49757-2390"}]},"c5e49757-460":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts","moduleParts":{"assets/js/wmsOrderPurchase-hI9k5WZ0.js":"c5e49757-461"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4082"},{"uid":"c5e49757-4586"},{"uid":"c5e49757-4812"},{"uid":"c5e49757-4070"}]},"c5e49757-462":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-code-gen-config-api.ts","moduleParts":{"assets/js/genConfigDialog.vue_vue_type_script_setup_true_name_sysCodeGenConfig_lang-Df0Ozt3G.js":"c5e49757-463"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-464":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen/component/genConfigDialog.vue?vue&type=script&setup=true&name=sysCodeGenConfig&lang.ts","moduleParts":{"assets/js/genConfigDialog.vue_vue_type_script_setup_true_name_sysCodeGenConfig_lang-Df0Ozt3G.js":"c5e49757-465"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3606"},{"uid":"c5e49757-704"},{"uid":"c5e49757-86"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-76"}]},"c5e49757-466":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-user-api.ts","moduleParts":{"assets/js/sys-user-api-CK9CsSj1.js":"c5e49757-467"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-468":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsOrder/wmsOrderPurchaseDetails.ts","moduleParts":{"assets/js/wmsOrderPurchaseDetails-Bf9i8ydp.js":"c5e49757-469"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4082"},{"uid":"c5e49757-4520"},{"uid":"c5e49757-4812"},{"uid":"c5e49757-4818"},{"uid":"c5e49757-4898"},{"uid":"c5e49757-4928"},{"uid":"c5e49757-4782"}]},"c5e49757-470":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsLogAction.ts","moduleParts":{"assets/js/wmsLogAction-YIwFj3rp.js":"c5e49757-471"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3436"},{"uid":"c5e49757-3692"}]},"c5e49757-472":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/main/classic.vue?vue&type=script&setup=true&name=layoutClassic&lang.ts","moduleParts":{"assets/js/classic-C4tna7RO.js":"c5e49757-473"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-126","dynamic":true},{"uid":"c5e49757-670","dynamic":true},{"uid":"c5e49757-556","dynamic":true},{"uid":"c5e49757-4488","dynamic":true}],"importedBy":[{"uid":"c5e49757-474"}]},"c5e49757-474":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/main/classic.vue","moduleParts":{"assets/js/classic-C4tna7RO.js":"c5e49757-475"},"imported":[{"uid":"c5e49757-472"}],"importedBy":[{"uid":"c5e49757-4"}]},"c5e49757-476":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/main/transverse.vue?vue&type=script&setup=true&name=layoutTransverse&lang.ts","moduleParts":{"assets/js/transverse-BNaqklCA.js":"c5e49757-477"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-670","dynamic":true},{"uid":"c5e49757-556","dynamic":true}],"importedBy":[{"uid":"c5e49757-478"}]},"c5e49757-478":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/main/transverse.vue","moduleParts":{"assets/js/transverse-BNaqklCA.js":"c5e49757-479"},"imported":[{"uid":"c5e49757-476"}],"importedBy":[{"uid":"c5e49757-4"}]},"c5e49757-480":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-wechat-user-api.ts","moduleParts":{"assets/js/editWeChatUser.vue_vue_type_script_setup_true_name_sysEditWeChatUser_lang-Bk28fkoX.js":"c5e49757-481"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-482":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/weChatUser/component/editWeChatUser.vue?vue&type=script&setup=true&name=sysEditWeChatUser&lang.ts","moduleParts":{"assets/js/editWeChatUser.vue_vue_type_script_setup_true_name_sysEditWeChatUser_lang-Bk28fkoX.js":"c5e49757-483"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-308"}]},"c5e49757-484":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-online-user-api.ts","moduleParts":{"assets/js/index-bc0dPZhF.js":"c5e49757-485"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-486":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/onlineUser/index.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/index-bc0dPZhF.js":"c5e49757-487"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2008"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-712"}],"importedBy":[{"uid":"c5e49757-488"}]},"c5e49757-488":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/onlineUser/index.vue","moduleParts":{"assets/js/index-bc0dPZhF.js":"c5e49757-489"},"imported":[{"uid":"c5e49757-486"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4006"}]},"c5e49757-490":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/genEntity.vue?vue&type=script&setup=true&name=sysGenEntity&lang.ts","moduleParts":{"assets/js/genEntity.vue_vue_type_script_setup_true_name_sysGenEntity_lang-BwZ5cM_r.js":"c5e49757-491"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2008"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-12"}]},"c5e49757-492":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-print-api.ts","moduleParts":{"assets/js/sys-print-api-DCHOZgnk.js":"c5e49757-493"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-494":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job/component/editJobDetail.vue","moduleParts":{"assets/js/editJobDetail-p3hDV9vx.js":"c5e49757-495"},"imported":[{"uid":"c5e49757-532"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4326"}]},"c5e49757-496":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@intlify/shared/dist/shared.esm-browser.js","moduleParts":{"assets/js/@intlify-CISkddgl.js":"c5e49757-497"},"imported":[],"importedBy":[{"uid":"c5e49757-498"}]},"c5e49757-498":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@intlify/shared/dist/shared.esm-browser.js?commonjs-proxy","moduleParts":{"assets/js/@intlify-CISkddgl.js":"c5e49757-499"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-496"}],"importedBy":[{"uid":"c5e49757-2374"}]},"c5e49757-500":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@intlify/core-base/dist/core-base.esm-browser.js","moduleParts":{"assets/js/@intlify-CISkddgl.js":"c5e49757-501"},"imported":[],"importedBy":[{"uid":"c5e49757-502"}]},"c5e49757-502":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@intlify/core-base/dist/core-base.esm-browser.js?commonjs-proxy","moduleParts":{"assets/js/@intlify-CISkddgl.js":"c5e49757-503"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-500"}],"importedBy":[{"uid":"c5e49757-2374"}]},"c5e49757-504":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/genSeedData.vue?vue&type=script&setup=true&name=sysGenEntity&lang.ts","moduleParts":{"assets/js/genSeedData.vue_vue_type_script_setup_true_name_sysGenEntity_lang-CyafkQYk.js":"c5e49757-505"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-534"}]},"c5e49757-506":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/file/component/editSysfile.vue","moduleParts":{"assets/js/editSysfile-Db01WYGz.js":"c5e49757-507"},"imported":[{"uid":"c5e49757-678"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-286"}]},"c5e49757-508":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/menu/component/editMenu.vue","moduleParts":{"assets/js/editMenu-Byq3aeLe.js":"c5e49757-509"},"imported":[{"uid":"c5e49757-4154"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-2426"}]},"c5e49757-510":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsRecordPredDispHistory.ts","moduleParts":{"assets/js/wmsRecordPredDispHistory-vTHxLKzT.js":"c5e49757-511"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3758"},{"uid":"c5e49757-3652"}]},"c5e49757-512":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job/component/jobCluster.vue?vue&type=script&setup=true&name=sysJobCluster&lang.ts","moduleParts":{"assets/js/jobCluster.vue_vue_type_script_setup_true_name_sysJobCluster_lang-TPyDczJw.js":"c5e49757-513"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-544"}]},"c5e49757-514":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/user/component/editUser.vue?vue&type=script&setup=true&name=sysEditUser&lang.ts","moduleParts":{"assets/js/editUser.vue_vue_type_script_setup_true_name_sysEditUser_lang-14AFtfjP.js":"c5e49757-515"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3568"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-256"}]},"c5e49757-516":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsContainerSort.ts","moduleParts":{"assets/js/wmsContainerSort-DePNGV-e.js":"c5e49757-517"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3526"},{"uid":"c5e49757-3454"}]},"c5e49757-518":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/addColumn.vue","moduleParts":{"assets/js/addColumn-DSM6k-cc.js":"c5e49757-519"},"imported":[{"uid":"c5e49757-602"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-520"}]},"c5e49757-520":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/index.vue?vue&type=script&setup=true&name=sysDatabase&lang.ts","moduleParts":{"assets/js/index-BxbFVdjY.js":"c5e49757-521"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-348"},{"uid":"c5e49757-228"},{"uid":"c5e49757-306"},{"uid":"c5e49757-84"},{"uid":"c5e49757-518"},{"uid":"c5e49757-12"},{"uid":"c5e49757-534"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-522"}]},"c5e49757-522":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/index.vue","moduleParts":{"assets/js/index-BxbFVdjY.js":"c5e49757-523"},"imported":[{"uid":"c5e49757-520"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-524":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/ldap/index.vue?vue&type=script&setup=true&name=sysLdap&lang.ts","moduleParts":{"assets/js/index-BUnn-tkt.js":"c5e49757-525"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-9454"},{"uid":"c5e49757-232"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-526"}]},"c5e49757-526":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/ldap/index.vue","moduleParts":{"assets/js/index-BUnn-tkt.js":"c5e49757-527"},"imported":[{"uid":"c5e49757-524"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-528":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/job-create-type-enum.ts","moduleParts":{"assets/js/editJobDetail.vue_vue_type_script_setup_true_name_sysEditJobDetail_lang-DafRubNL.js":"c5e49757-529"},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-530":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job/component/JobScriptCode.ts","moduleParts":{"assets/js/editJobDetail.vue_vue_type_script_setup_true_name_sysEditJobDetail_lang-DafRubNL.js":"c5e49757-531"},"imported":[],"importedBy":[{"uid":"c5e49757-532"}]},"c5e49757-532":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job/component/editJobDetail.vue?vue&type=script&setup=true&name=sysEditJobDetail&lang.ts","moduleParts":{"assets/js/editJobDetail.vue_vue_type_script_setup_true_name_sysEditJobDetail_lang-DafRubNL.js":"c5e49757-533"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-9256"},{"uid":"c5e49757-530"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-9452"}],"importedBy":[{"uid":"c5e49757-494"}]},"c5e49757-534":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/genSeedData.vue","moduleParts":{"assets/js/genSeedData-C8DhSaKU.js":"c5e49757-535"},"imported":[{"uid":"c5e49757-504"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-520"}]},"c5e49757-536":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-log-vis-api.ts","moduleParts":{"assets/js/index-juzUwMYr.js":"c5e49757-537"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-538":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/log/vislog/index.vue?vue&type=script&setup=true&name=sysVisLog&lang.ts","moduleParts":{"assets/js/index-juzUwMYr.js":"c5e49757-539"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-540"}]},"c5e49757-540":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/log/vislog/index.vue","moduleParts":{"assets/js/index-juzUwMYr.js":"c5e49757-541"},"imported":[{"uid":"c5e49757-538"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-542":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-job-api.ts","moduleParts":{"assets/js/sys-job-api-B8loXjiS.js":"c5e49757-543"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-544":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job/component/jobCluster.vue","moduleParts":{"assets/js/jobCluster-Cp3OjqOh.js":"c5e49757-545"},"imported":[{"uid":"c5e49757-512"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4326"}]},"c5e49757-546":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/dict/component/editDictType.vue","moduleParts":{"assets/js/editDictType-3qkeGmqP.js":"c5e49757-547"},"imported":[{"uid":"c5e49757-258"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-674"}]},"c5e49757-548":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component/openDialogCl.vue","moduleParts":{"assets/js/openDialogCl-CdkcyO1c.js":"c5e49757-549"},"imported":[{"uid":"c5e49757-4036"},{"uid":"c5e49757-4038"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4222"}]},"c5e49757-550":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job/component/editJobTrigger.vue","moduleParts":{"assets/js/editJobTrigger-DxPElxvd.js":"c5e49757-551"},"imported":[{"uid":"c5e49757-590"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4326"}]},"c5e49757-552":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsInventory/wmsInventoryCheckRange.ts","moduleParts":{"assets/js/wmsInventoryCheckRange-DHMbIOHY.js":"c5e49757-553"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4466"},{"uid":"c5e49757-4800"},{"uid":"c5e49757-4452"}]},"c5e49757-554":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/component/main.vue?vue&type=script&setup=true&name=layoutMain&lang.ts","moduleParts":{"assets/js/main-gfRHIV0F.js":"c5e49757-555"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3542"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3572"},{"uid":"c5e49757-70","dynamic":true},{"uid":"c5e49757-3828","dynamic":true}],"importedBy":[{"uid":"c5e49757-556"}]},"c5e49757-556":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/component/main.vue","moduleParts":{"assets/js/main-gfRHIV0F.js":"c5e49757-557"},"imported":[{"uid":"c5e49757-554"}],"importedBy":[{"uid":"c5e49757-240"},{"uid":"c5e49757-472"},{"uid":"c5e49757-476"},{"uid":"c5e49757-110"}]},"c5e49757-558":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/config/index.vue?vue&type=script&setup=true&name=sysConfig&lang.ts","moduleParts":{"assets/js/index-b_aBFdcG.js":"c5e49757-559"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-80"},{"uid":"c5e49757-9454"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-4202","dynamic":true},{"uid":"c5e49757-4316","dynamic":true}],"importedBy":[{"uid":"c5e49757-560"}]},"c5e49757-560":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/config/index.vue","moduleParts":{"assets/js/index-b_aBFdcG.js":"c5e49757-561"},"imported":[{"uid":"c5e49757-558"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-562":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsInventory/wmsInventoryCheckRecord.ts","moduleParts":{"assets/js/wmsInventoryCheckRecord-Cc1MtgKf.js":"c5e49757-563"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4514"},{"uid":"c5e49757-4402"},{"uid":"c5e49757-4874"}]},"c5e49757-564":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsBatchRuleDetail.ts","moduleParts":{"assets/js/wmsBatchRuleDetail-BH_Orm4i.js":"c5e49757-565"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4644"},{"uid":"c5e49757-4546"},{"uid":"c5e49757-3906"}]},"c5e49757-566":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/component/propDetail.vue","moduleParts":{"assets/js/propDetail-Dj6mlYPZ.js":"c5e49757-567"},"imported":[{"uid":"c5e49757-2440"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3646"}]},"c5e49757-568":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/switchCase.ts","moduleParts":{"assets/js/switchCase-Du1rXsYk.js":"c5e49757-569"},"imported":[],"importedBy":[{"uid":"c5e49757-4616"},{"uid":"c5e49757-4248"}]},"c5e49757-570":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen/component/editCodeGenDialog.vue","moduleParts":{"assets/js/editCodeGenDialog-B3nNRiu1.js":"c5e49757-571"},"imported":[{"uid":"c5e49757-714"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-586"}]},"c5e49757-572":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/plugin/index.vue?vue&type=script&setup=true&name=sysPlugin&lang.ts","moduleParts":{"assets/js/index-uR4DJE0-.js":"c5e49757-573"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-642"},{"uid":"c5e49757-9454"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-574"}]},"c5e49757-574":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/plugin/index.vue","moduleParts":{"assets/js/index-uR4DJE0-.js":"c5e49757-575"},"imported":[{"uid":"c5e49757-572"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-576":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Property/PropertyCommon.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/PropertyCommon.vue_vue_type_script_setup_true_lang-RTQVuq3S.js":"c5e49757-577"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-90"}]},"c5e49757-578":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/org/component/editOrg.vue","moduleParts":{"assets/js/editOrg-aNWvoEmS.js":"c5e49757-579"},"imported":[{"uid":"c5e49757-248"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-652"}]},"c5e49757-580":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/dict/component/editDictData.vue","moduleParts":{"assets/js/editDictData-lSa-9IsC.js":"c5e49757-581"},"imported":[{"uid":"c5e49757-272"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-674"}]},"c5e49757-582":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/openAccess/component/editOpenAccess.vue?vue&type=script&setup=true&name=sysOpenAccessEdit&lang.ts","moduleParts":{"assets/js/editOpenAccess.vue_vue_type_script_setup_true_name_sysOpenAccessEdit_lang-2-PI5kBp.js":"c5e49757-583"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-608"}]},"c5e49757-584":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsPlace.ts","moduleParts":{"assets/js/wmsPlace-Dzb8U5iy.js":"c5e49757-585"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4610"},{"uid":"c5e49757-4414"},{"uid":"c5e49757-4182"},{"uid":"c5e49757-4566"},{"uid":"c5e49757-4372"}]},"c5e49757-586":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen/index.vue?vue&type=script&setup=true&name=sysCodeGen&lang.ts","moduleParts":{"assets/js/index-D4N4Hz9G.js":"c5e49757-587"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-570"},{"uid":"c5e49757-76"},{"uid":"c5e49757-596"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-588"}]},"c5e49757-588":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen/index.vue","moduleParts":{"assets/js/index-D4N4Hz9G.js":"c5e49757-589"},"imported":[{"uid":"c5e49757-586"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-590":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job/component/editJobTrigger.vue?vue&type=script&setup=true&name=sysEditJobTrigger&lang.ts","moduleParts":{"assets/js/editJobTrigger.vue_vue_type_script_setup_true_name_sysEditJobTrigger_lang-Bqpr5yIT.js":"c5e49757-591"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-648"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-550"}]},"c5e49757-592":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/region/index.vue?vue&type=script&setup=true&name=sysRegion&lang.ts","moduleParts":{"assets/js/index-D7cLAIbK.js":"c5e49757-593"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4474"},{"uid":"c5e49757-662"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-594"}]},"c5e49757-594":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/region/index.vue","moduleParts":{"assets/js/index-D7cLAIbK.js":"c5e49757-595"},"imported":[{"uid":"c5e49757-592"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-596":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/download.ts","moduleParts":{"assets/js/download-8-Ly9gws.js":"c5e49757-597"},"imported":[{"uid":"c5e49757-3980"}],"importedBy":[{"uid":"c5e49757-586"},{"uid":"c5e49757-286"},{"uid":"c5e49757-3966"},{"uid":"c5e49757-4868"}]},"c5e49757-598":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/region/component/editRegion.vue?vue&type=script&setup=true&name=sysEditRegion&lang.ts","moduleParts":{"assets/js/editRegion.vue_vue_type_script_setup_true_name_sysEditRegion_lang-D7CHFxUj.js":"c5e49757-599"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-662"}]},"c5e49757-600":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsSystemConfig/wmsConfigUnshelveStrategy.ts","moduleParts":{"assets/js/wmsConfigUnshelveStrategy-D3Upz_Sw.js":"c5e49757-601"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4188"},{"uid":"c5e49757-4036"},{"uid":"c5e49757-4222"}]},"c5e49757-602":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/addColumn.vue?vue&type=script&setup=true&name=sysAddColumn&lang.ts","moduleParts":{"assets/js/addColumn.vue_vue_type_script_setup_true_name_sysAddColumn_lang-CULfBYa2.js":"c5e49757-603"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-82"}],"importedBy":[{"uid":"c5e49757-518"}]},"c5e49757-604":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/notice/index.vue?vue&type=script&setup=true&name=sysNotice&lang.ts","moduleParts":{"assets/js/index--dmmgdfF.js":"c5e49757-605"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-230"},{"uid":"c5e49757-622"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-606"}]},"c5e49757-606":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/notice/index.vue","moduleParts":{"assets/js/index--dmmgdfF.js":"c5e49757-607"},"imported":[{"uid":"c5e49757-604"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-608":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/openAccess/component/editOpenAccess.vue","moduleParts":{"assets/js/editOpenAccess-_aIVNR0n.js":"c5e49757-609"},"imported":[{"uid":"c5e49757-582"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-638"}]},"c5e49757-610":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsOrderDo/wmsOrderSortDetails.ts","moduleParts":{"assets/js/wmsOrderSortDetails-Bq0fYr62.js":"c5e49757-611"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4666"},{"uid":"c5e49757-4910"},{"uid":"c5e49757-4824"},{"uid":"c5e49757-4782"},{"uid":"c5e49757-4572"},{"uid":"c5e49757-4378"},{"uid":"c5e49757-4354"},{"uid":"c5e49757-4360"},{"uid":"c5e49757-4366"},{"uid":"c5e49757-4372"}]},"c5e49757-612":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails.ts","moduleParts":{"assets/js/wmsStockSnapshotDetails-CBwqv1nc.js":"c5e49757-613"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4706"},{"uid":"c5e49757-4040"}]},"c5e49757-614":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/home/notice/index.vue?vue&type=script&setup=true&name=notice&lang.ts","moduleParts":{"assets/js/index-DPe4cTV6.js":"c5e49757-615"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-618"}]},"c5e49757-616":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/home/notice/index.vue?vue&type=style&index=0&lang.scss","moduleParts":{"assets/js/index-DPe4cTV6.js":"c5e49757-617"},"imported":[],"importedBy":[{"uid":"c5e49757-618"}]},"c5e49757-618":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/home/notice/index.vue","moduleParts":{"assets/js/index-DPe4cTV6.js":"c5e49757-619"},"imported":[{"uid":"c5e49757-614"},{"uid":"c5e49757-616"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-620":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsOrder/wmsOrderAsnDetails.ts","moduleParts":{"assets/js/wmsOrderAsnDetails-CDV3tQmz.js":"c5e49757-621"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4520"},{"uid":"c5e49757-4836"},{"uid":"c5e49757-4748"},{"uid":"c5e49757-4666"},{"uid":"c5e49757-4910"},{"uid":"c5e49757-4824"},{"uid":"c5e49757-4782"},{"uid":"c5e49757-4496"},{"uid":"c5e49757-4768"},{"uid":"c5e49757-4354"},{"uid":"c5e49757-4360"},{"uid":"c5e49757-4366"}]},"c5e49757-622":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/notice/component/editNotice.vue","moduleParts":{"assets/js/editNotice-Dkxzx5CH.js":"c5e49757-623"},"imported":[{"uid":"c5e49757-2458"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-604"}]},"c5e49757-624":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-region-api.ts","moduleParts":{"assets/js/sys-region-api-C8xgzERd.js":"c5e49757-625"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-626":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue/dist/vue.runtime.esm-bundler.js","moduleParts":{"assets/js/vue-DVVEMS_x.js":"c5e49757-627"},"imported":[{"uid":"c5e49757-3352"}],"importedBy":[{"uid":"c5e49757-4"},{"uid":"c5e49757-708"},{"uid":"c5e49757-240"},{"uid":"c5e49757-472"},{"uid":"c5e49757-476"},{"uid":"c5e49757-110"},{"uid":"c5e49757-348"},{"uid":"c5e49757-3572"},{"uid":"c5e49757-124"},{"uid":"c5e49757-668"},{"uid":"c5e49757-554"},{"uid":"c5e49757-4484"},{"uid":"c5e49757-4292"},{"uid":"c5e49757-3604"},{"uid":"c5e49757-3848"},{"uid":"c5e49757-268"},{"uid":"c5e49757-3812"},{"uid":"c5e49757-68"},{"uid":"c5e49757-3824"},{"uid":"c5e49757-5414"},{"uid":"c5e49757-5090"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-5574"},{"uid":"c5e49757-5590"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5696"},{"uid":"c5e49757-5578"},{"uid":"c5e49757-5770"},{"uid":"c5e49757-5176"},{"uid":"c5e49757-5184"},{"uid":"c5e49757-5206"},{"uid":"c5e49757-5900"},{"uid":"c5e49757-5896"},{"uid":"c5e49757-5898"},{"uid":"c5e49757-6084"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-6098"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5312"},{"uid":"c5e49757-6320"},{"uid":"c5e49757-6318"},{"uid":"c5e49757-5302"},{"uid":"c5e49757-5018"},{"uid":"c5e49757-5020"},{"uid":"c5e49757-5022"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5032"},{"uid":"c5e49757-5034"},{"uid":"c5e49757-5036"},{"uid":"c5e49757-5038"},{"uid":"c5e49757-5040"},{"uid":"c5e49757-5042"},{"uid":"c5e49757-5046"},{"uid":"c5e49757-5048"},{"uid":"c5e49757-5052"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-5056"},{"uid":"c5e49757-5058"},{"uid":"c5e49757-5060"},{"uid":"c5e49757-5062"},{"uid":"c5e49757-5064"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5066"},{"uid":"c5e49757-5068"},{"uid":"c5e49757-5070"},{"uid":"c5e49757-5072"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5076"},{"uid":"c5e49757-5078"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-3862"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-5102"},{"uid":"c5e49757-5114"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5236"},{"uid":"c5e49757-5244"},{"uid":"c5e49757-5250"},{"uid":"c5e49757-5258"},{"uid":"c5e49757-5262"},{"uid":"c5e49757-5274"},{"uid":"c5e49757-5278"},{"uid":"c5e49757-5332"},{"uid":"c5e49757-5338"},{"uid":"c5e49757-5348"},{"uid":"c5e49757-5354"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5418"},{"uid":"c5e49757-5440"},{"uid":"c5e49757-5374"},{"uid":"c5e49757-5376"},{"uid":"c5e49757-5380"},{"uid":"c5e49757-5454"},{"uid":"c5e49757-5464"},{"uid":"c5e49757-5474"},{"uid":"c5e49757-5466"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5500"},{"uid":"c5e49757-5502"},{"uid":"c5e49757-5504"},{"uid":"c5e49757-5506"},{"uid":"c5e49757-5508"},{"uid":"c5e49757-5914"},{"uid":"c5e49757-5558"},{"uid":"c5e49757-5572"},{"uid":"c5e49757-5592"},{"uid":"c5e49757-5598"},{"uid":"c5e49757-5604"},{"uid":"c5e49757-5612"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5642"},{"uid":"c5e49757-5644"},{"uid":"c5e49757-5654"},{"uid":"c5e49757-5130"},{"uid":"c5e49757-5136"},{"uid":"c5e49757-5108"},{"uid":"c5e49757-5666"},{"uid":"c5e49757-5660"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5678"},{"uid":"c5e49757-5688"},{"uid":"c5e49757-5694"},{"uid":"c5e49757-5000"},{"uid":"c5e49757-5690"},{"uid":"c5e49757-5702"},{"uid":"c5e49757-5706"},{"uid":"c5e49757-5716"},{"uid":"c5e49757-5724"},{"uid":"c5e49757-5728"},{"uid":"c5e49757-5756"},{"uid":"c5e49757-5760"},{"uid":"c5e49757-5764"},{"uid":"c5e49757-5768"},{"uid":"c5e49757-5776"},{"uid":"c5e49757-5178"},{"uid":"c5e49757-5202"},{"uid":"c5e49757-5198"},{"uid":"c5e49757-5200"},{"uid":"c5e49757-5190"},{"uid":"c5e49757-5172"},{"uid":"c5e49757-5790"},{"uid":"c5e49757-5390"},{"uid":"c5e49757-5394"},{"uid":"c5e49757-5398"},{"uid":"c5e49757-5796"},{"uid":"c5e49757-5802"},{"uid":"c5e49757-5448"},{"uid":"c5e49757-5164"},{"uid":"c5e49757-5746"},{"uid":"c5e49757-5734"},{"uid":"c5e49757-5748"},{"uid":"c5e49757-5854"},{"uid":"c5e49757-5864"},{"uid":"c5e49757-5862"},{"uid":"c5e49757-5892"},{"uid":"c5e49757-5906"},{"uid":"c5e49757-5920"},{"uid":"c5e49757-5924"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-5992"},{"uid":"c5e49757-6002"},{"uid":"c5e49757-6030"},{"uid":"c5e49757-6064"},{"uid":"c5e49757-6066"},{"uid":"c5e49757-6068"},{"uid":"c5e49757-6070"},{"uid":"c5e49757-6072"},{"uid":"c5e49757-6074"},{"uid":"c5e49757-6076"},{"uid":"c5e49757-6078"},{"uid":"c5e49757-6080"},{"uid":"c5e49757-6082"},{"uid":"c5e49757-6088"},{"uid":"c5e49757-6096"},{"uid":"c5e49757-6104"},{"uid":"c5e49757-5426"},{"uid":"c5e49757-6110"},{"uid":"c5e49757-5296"},{"uid":"c5e49757-5310"},{"uid":"c5e49757-5318"},{"uid":"c5e49757-6118"},{"uid":"c5e49757-6122"},{"uid":"c5e49757-6126"},{"uid":"c5e49757-5224"},{"uid":"c5e49757-6182"},{"uid":"c5e49757-6202"},{"uid":"c5e49757-6216"},{"uid":"c5e49757-6232"},{"uid":"c5e49757-6256"},{"uid":"c5e49757-5818"},{"uid":"c5e49757-5826"},{"uid":"c5e49757-6266"},{"uid":"c5e49757-6284"},{"uid":"c5e49757-6288"},{"uid":"c5e49757-6296"},{"uid":"c5e49757-6300"},{"uid":"c5e49757-6306"},{"uid":"c5e49757-6312"},{"uid":"c5e49757-6316"},{"uid":"c5e49757-6332"},{"uid":"c5e49757-6338"},{"uid":"c5e49757-6348"},{"uid":"c5e49757-5782"},{"uid":"c5e49757-16"},{"uid":"c5e49757-128"},{"uid":"c5e49757-3836"},{"uid":"c5e49757-52"},{"uid":"c5e49757-5242"},{"uid":"c5e49757-5268"},{"uid":"c5e49757-5272"},{"uid":"c5e49757-5326"},{"uid":"c5e49757-5328"},{"uid":"c5e49757-5346"},{"uid":"c5e49757-5352"},{"uid":"c5e49757-5408"},{"uid":"c5e49757-5370"},{"uid":"c5e49757-5462"},{"uid":"c5e49757-5472"},{"uid":"c5e49757-5484"},{"uid":"c5e49757-5486"},{"uid":"c5e49757-5492"},{"uid":"c5e49757-5494"},{"uid":"c5e49757-5568"},{"uid":"c5e49757-5586"},{"uid":"c5e49757-5608"},{"uid":"c5e49757-5610"},{"uid":"c5e49757-5626"},{"uid":"c5e49757-5638"},{"uid":"c5e49757-5640"},{"uid":"c5e49757-5628"},{"uid":"c5e49757-5650"},{"uid":"c5e49757-5128"},{"uid":"c5e49757-5134"},{"uid":"c5e49757-5692"},{"uid":"c5e49757-5752"},{"uid":"c5e49757-5188"},{"uid":"c5e49757-5388"},{"uid":"c5e49757-5160"},{"uid":"c5e49757-5736"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5742"},{"uid":"c5e49757-5732"},{"uid":"c5e49757-5848"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5888"},{"uid":"c5e49757-5890"},{"uid":"c5e49757-5876"},{"uid":"c5e49757-5880"},{"uid":"c5e49757-5874"},{"uid":"c5e49757-5882"},{"uid":"c5e49757-5872"},{"uid":"c5e49757-5946"},{"uid":"c5e49757-5948"},{"uid":"c5e49757-5962"},{"uid":"c5e49757-5972"},{"uid":"c5e49757-5978"},{"uid":"c5e49757-5982"},{"uid":"c5e49757-5984"},{"uid":"c5e49757-5988"},{"uid":"c5e49757-5990"},{"uid":"c5e49757-5994"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-5996"},{"uid":"c5e49757-5998"},{"uid":"c5e49757-6014"},{"uid":"c5e49757-6016"},{"uid":"c5e49757-6018"},{"uid":"c5e49757-6020"},{"uid":"c5e49757-6024"},{"uid":"c5e49757-6062"},{"uid":"c5e49757-6022"},{"uid":"c5e49757-6054"},{"uid":"c5e49757-6044"},{"uid":"c5e49757-6058"},{"uid":"c5e49757-6050"},{"uid":"c5e49757-6046"},{"uid":"c5e49757-6056"},{"uid":"c5e49757-6026"},{"uid":"c5e49757-5316"},{"uid":"c5e49757-5220"},{"uid":"c5e49757-5222"},{"uid":"c5e49757-6180"},{"uid":"c5e49757-6168"},{"uid":"c5e49757-6174"},{"uid":"c5e49757-6198"},{"uid":"c5e49757-6194"},{"uid":"c5e49757-6196"},{"uid":"c5e49757-6200"},{"uid":"c5e49757-6206"},{"uid":"c5e49757-6212"},{"uid":"c5e49757-6214"},{"uid":"c5e49757-6226"},{"uid":"c5e49757-6230"},{"uid":"c5e49757-6244"},{"uid":"c5e49757-6252"},{"uid":"c5e49757-6254"},{"uid":"c5e49757-5806"},{"uid":"c5e49757-5816"},{"uid":"c5e49757-6274"},{"uid":"c5e49757-6278"},{"uid":"c5e49757-6280"},{"uid":"c5e49757-6272"},{"uid":"c5e49757-6330"},{"uid":"c5e49757-6328"},{"uid":"c5e49757-6336"},{"uid":"c5e49757-6346"},{"uid":"c5e49757-3248"},{"uid":"c5e49757-3276"},{"uid":"c5e49757-6160"},{"uid":"c5e49757-5324"},{"uid":"c5e49757-5406"},{"uid":"c5e49757-5362"},{"uid":"c5e49757-5364"},{"uid":"c5e49757-5366"},{"uid":"c5e49757-5368"},{"uid":"c5e49757-5482"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"},{"uid":"c5e49757-5554"},{"uid":"c5e49757-5564"},{"uid":"c5e49757-5624"},{"uid":"c5e49757-5156"},{"uid":"c5e49757-5738"},{"uid":"c5e49757-5836"},{"uid":"c5e49757-5846"},{"uid":"c5e49757-5840"},{"uid":"c5e49757-5850"},{"uid":"c5e49757-5878"},{"uid":"c5e49757-5944"},{"uid":"c5e49757-5950"},{"uid":"c5e49757-5952"},{"uid":"c5e49757-5956"},{"uid":"c5e49757-5958"},{"uid":"c5e49757-5960"},{"uid":"c5e49757-5968"},{"uid":"c5e49757-6052"},{"uid":"c5e49757-5218"},{"uid":"c5e49757-6170"},{"uid":"c5e49757-6188"},{"uid":"c5e49757-6192"},{"uid":"c5e49757-6208"},{"uid":"c5e49757-6222"},{"uid":"c5e49757-6224"},{"uid":"c5e49757-6228"},{"uid":"c5e49757-6248"},{"uid":"c5e49757-3198"},{"uid":"c5e49757-3216"},{"uid":"c5e49757-3256"},{"uid":"c5e49757-3268"},{"uid":"c5e49757-3250"},{"uid":"c5e49757-3466"},{"uid":"c5e49757-106"},{"uid":"c5e49757-3764"},{"uid":"c5e49757-576"},{"uid":"c5e49757-3278"},{"uid":"c5e49757-3184"},{"uid":"c5e49757-3318"},{"uid":"c5e49757-3340"},{"uid":"c5e49757-3284"},{"uid":"c5e49757-3448"},{"uid":"c5e49757-614"},{"uid":"c5e49757-3290"},{"uid":"c5e49757-3406"},{"uid":"c5e49757-3334"},{"uid":"c5e49757-224"},{"uid":"c5e49757-132"},{"uid":"c5e49757-3296"},{"uid":"c5e49757-3392"},{"uid":"c5e49757-3794"},{"uid":"c5e49757-3746"},{"uid":"c5e49757-3674"},{"uid":"c5e49757-3482"},{"uid":"c5e49757-3386"},{"uid":"c5e49757-3412"},{"uid":"c5e49757-3398"},{"uid":"c5e49757-3424"},{"uid":"c5e49757-3722"},{"uid":"c5e49757-3646"},{"uid":"c5e49757-3520"},{"uid":"c5e49757-2440"},{"uid":"c5e49757-3660"},{"uid":"c5e49757-3698"},{"uid":"c5e49757-3740"},{"uid":"c5e49757-3686"},{"uid":"c5e49757-3442"},{"uid":"c5e49757-3716"},{"uid":"c5e49757-3668"},{"uid":"c5e49757-3526"},{"uid":"c5e49757-3454"},{"uid":"c5e49757-3436"},{"uid":"c5e49757-3692"},{"uid":"c5e49757-3758"},{"uid":"c5e49757-3652"},{"uid":"c5e49757-3734"},{"uid":"c5e49757-3770"},{"uid":"c5e49757-3634"},{"uid":"c5e49757-3728"},{"uid":"c5e49757-3430"},{"uid":"c5e49757-3782"},{"uid":"c5e49757-3496"},{"uid":"c5e49757-3704"},{"uid":"c5e49757-3752"},{"uid":"c5e49757-3640"},{"uid":"c5e49757-3776"},{"uid":"c5e49757-3628"},{"uid":"c5e49757-3710"},{"uid":"c5e49757-3508"},{"uid":"c5e49757-3460"},{"uid":"c5e49757-3680"},{"uid":"c5e49757-4082"},{"uid":"c5e49757-4490"},{"uid":"c5e49757-3932"},{"uid":"c5e49757-4132"},{"uid":"c5e49757-4286"},{"uid":"c5e49757-4138"},{"uid":"c5e49757-4334"},{"uid":"c5e49757-4396"},{"uid":"c5e49757-4088"},{"uid":"c5e49757-3946"},{"uid":"c5e49757-3952"},{"uid":"c5e49757-3974"},{"uid":"c5e49757-4228"},{"uid":"c5e49757-4164"},{"uid":"c5e49757-4680"},{"uid":"c5e49757-4552"},{"uid":"c5e49757-4794"},{"uid":"c5e49757-4672"},{"uid":"c5e49757-4644"},{"uid":"c5e49757-4546"},{"uid":"c5e49757-4736"},{"uid":"c5e49757-4592"},{"uid":"c5e49757-4348"},{"uid":"c5e49757-4686"},{"uid":"c5e49757-4776"},{"uid":"c5e49757-4390"},{"uid":"c5e49757-4730"},{"uid":"c5e49757-4384"},{"uid":"c5e49757-4320"},{"uid":"c5e49757-4272"},{"uid":"c5e49757-3994"},{"uid":"c5e49757-4304"},{"uid":"c5e49757-3906"},{"uid":"c5e49757-3800"},{"uid":"c5e49757-4440"},{"uid":"c5e49757-4170"},{"uid":"c5e49757-4788"},{"uid":"c5e49757-4266"},{"uid":"c5e49757-4762"},{"uid":"c5e49757-3818"},{"uid":"c5e49757-3830"},{"uid":"c5e49757-4260"},{"uid":"c5e49757-4610"},{"uid":"c5e49757-4414"},{"uid":"c5e49757-4460"},{"uid":"c5e49757-3874"},{"uid":"c5e49757-4108"},{"uid":"c5e49757-4120"},{"uid":"c5e49757-4058"},{"uid":"c5e49757-4114"},{"uid":"c5e49757-3476"},{"uid":"c5e49757-4514"},{"uid":"c5e49757-4466"},{"uid":"c5e49757-4598"},{"uid":"c5e49757-3900"},{"uid":"c5e49757-3924"},{"uid":"c5e49757-4800"},{"uid":"c5e49757-4452"},{"uid":"c5e49757-4402"},{"uid":"c5e49757-4874"},{"uid":"c5e49757-4446"},{"uid":"c5e49757-4520"},{"uid":"c5e49757-4916"},{"uid":"c5e49757-4836"},{"uid":"c5e49757-4748"},{"uid":"c5e49757-4830"},{"uid":"c5e49757-4182"},{"uid":"c5e49757-3912"},{"uid":"c5e49757-4340"},{"uid":"c5e49757-4754"},{"uid":"c5e49757-4586"},{"uid":"c5e49757-4812"},{"uid":"c5e49757-4070"},{"uid":"c5e49757-4818"},{"uid":"c5e49757-4898"},{"uid":"c5e49757-4560"},{"uid":"c5e49757-4928"},{"uid":"c5e49757-4922"},{"uid":"c5e49757-4892"},{"uid":"c5e49757-4216"},{"uid":"c5e49757-4052"},{"uid":"c5e49757-4848"},{"uid":"c5e49757-4666"},{"uid":"c5e49757-4566"},{"uid":"c5e49757-4910"},{"uid":"c5e49757-4126"},{"uid":"c5e49757-4158"},{"uid":"c5e49757-4824"},{"uid":"c5e49757-4782"},{"uid":"c5e49757-4000"},{"uid":"c5e49757-4572"},{"uid":"c5e49757-4378"},{"uid":"c5e49757-4652"},{"uid":"c5e49757-4508"},{"uid":"c5e49757-4242"},{"uid":"c5e49757-4496"},{"uid":"c5e49757-4768"},{"uid":"c5e49757-4254"},{"uid":"c5e49757-4540"},{"uid":"c5e49757-4298"},{"uid":"c5e49757-4434"},{"uid":"c5e49757-4278"},{"uid":"c5e49757-4706"},{"uid":"c5e49757-4040"},{"uid":"c5e49757-4694"},{"uid":"c5e49757-4700"},{"uid":"c5e49757-3888"},{"uid":"c5e49757-4604"},{"uid":"c5e49757-4580"},{"uid":"c5e49757-3958"},{"uid":"c5e49757-4188"},{"uid":"c5e49757-4036"},{"uid":"c5e49757-4222"},{"uid":"c5e49757-4624"},{"uid":"c5e49757-4408"},{"uid":"c5e49757-4660"},{"uid":"c5e49757-4204"},{"uid":"c5e49757-4012"},{"uid":"c5e49757-4860"},{"uid":"c5e49757-4018"},{"uid":"c5e49757-4024"},{"uid":"c5e49757-4806"},{"uid":"c5e49757-4030"},{"uid":"c5e49757-4046"},{"uid":"c5e49757-4064"},{"uid":"c5e49757-4616"},{"uid":"c5e49757-4724"},{"uid":"c5e49757-3938"},{"uid":"c5e49757-4094"},{"uid":"c5e49757-4742"},{"uid":"c5e49757-4712"},{"uid":"c5e49757-3894"},{"uid":"c5e49757-4248"},{"uid":"c5e49757-3788"},{"uid":"c5e49757-3918"},{"uid":"c5e49757-4428"},{"uid":"c5e49757-714"},{"uid":"c5e49757-2422"},{"uid":"c5e49757-464"},{"uid":"c5e49757-88"},{"uid":"c5e49757-586"},{"uid":"c5e49757-726"},{"uid":"c5e49757-558"},{"uid":"c5e49757-602"},{"uid":"c5e49757-238"},{"uid":"c5e49757-680"},{"uid":"c5e49757-278"},{"uid":"c5e49757-490"},{"uid":"c5e49757-504"},{"uid":"c5e49757-520"},{"uid":"c5e49757-272"},{"uid":"c5e49757-258"},{"uid":"c5e49757-674"},{"uid":"c5e49757-678"},{"uid":"c5e49757-286"},{"uid":"c5e49757-3880"},{"uid":"c5e49757-532"},{"uid":"c5e49757-590"},{"uid":"c5e49757-512"},{"uid":"c5e49757-4326"},{"uid":"c5e49757-2366"},{"uid":"c5e49757-524"},{"uid":"c5e49757-4638"},{"uid":"c5e49757-3966"},{"uid":"c5e49757-4868"},{"uid":"c5e49757-538"},{"uid":"c5e49757-4154"},{"uid":"c5e49757-2426"},{"uid":"c5e49757-2458"},{"uid":"c5e49757-604"},{"uid":"c5e49757-486"},{"uid":"c5e49757-582"},{"uid":"c5e49757-4102"},{"uid":"c5e49757-4630"},{"uid":"c5e49757-638"},{"uid":"c5e49757-248"},{"uid":"c5e49757-4176"},{"uid":"c5e49757-652"},{"uid":"c5e49757-666"},{"uid":"c5e49757-572"},{"uid":"c5e49757-236"},{"uid":"c5e49757-282"},{"uid":"c5e49757-4718"},{"uid":"c5e49757-4886"},{"uid":"c5e49757-3380"},{"uid":"c5e49757-252"},{"uid":"c5e49757-598"},{"uid":"c5e49757-4470"},{"uid":"c5e49757-592"},{"uid":"c5e49757-3868"},{"uid":"c5e49757-280"},{"uid":"c5e49757-3856"},{"uid":"c5e49757-100"},{"uid":"c5e49757-4478"},{"uid":"c5e49757-92"},{"uid":"c5e49757-4210"},{"uid":"c5e49757-260"},{"uid":"c5e49757-514"},{"uid":"c5e49757-4076"},{"uid":"c5e49757-3988"},{"uid":"c5e49757-718"},{"uid":"c5e49757-482"},{"uid":"c5e49757-72"},{"uid":"c5e49757-4904"},{"uid":"c5e49757-4006"},{"uid":"c5e49757-4854"},{"uid":"c5e49757-6144"},{"uid":"c5e49757-6146"},{"uid":"c5e49757-6154"},{"uid":"c5e49757-6158"},{"uid":"c5e49757-5402"},{"uid":"c5e49757-5530"},{"uid":"c5e49757-5534"},{"uid":"c5e49757-5538"},{"uid":"c5e49757-5546"},{"uid":"c5e49757-5552"},{"uid":"c5e49757-5942"},{"uid":"c5e49757-5964"},{"uid":"c5e49757-5966"},{"uid":"c5e49757-5974"},{"uid":"c5e49757-3182"},{"uid":"c5e49757-3532"},{"uid":"c5e49757-4240"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-2432"},{"uid":"c5e49757-628"},{"uid":"c5e49757-6150"},{"uid":"c5e49757-6156"},{"uid":"c5e49757-5524"},{"uid":"c5e49757-5528"},{"uid":"c5e49757-5544"},{"uid":"c5e49757-5936"},{"uid":"c5e49757-5938"},{"uid":"c5e49757-5940"},{"uid":"c5e49757-3174"},{"uid":"c5e49757-3418"},{"uid":"c5e49757-3328"},{"uid":"c5e49757-3192"},{"uid":"c5e49757-4354"},{"uid":"c5e49757-4360"},{"uid":"c5e49757-4366"},{"uid":"c5e49757-4372"},{"uid":"c5e49757-4422"},{"uid":"c5e49757-4198"},{"uid":"c5e49757-4312"},{"uid":"c5e49757-4152"},{"uid":"c5e49757-2456"},{"uid":"c5e49757-3982"},{"uid":"c5e49757-4842"},{"uid":"c5e49757-3842"},{"uid":"c5e49757-4310"},{"uid":"c5e49757-4148"},{"uid":"c5e49757-6368"},{"uid":"c5e49757-4196"},{"uid":"c5e49757-4502"},{"uid":"c5e49757-3490"},{"uid":"c5e49757-3502"},{"uid":"c5e49757-3514"},{"uid":"c5e49757-3624"},{"uid":"c5e49757-22"},{"uid":"c5e49757-3472"},{"uid":"c5e49757-3610"}]},"c5e49757-628":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue/dist/vue.runtime.esm-bundler.js?commonjs-proxy","moduleParts":{"assets/js/vue-DVVEMS_x.js":"c5e49757-629"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-2374"},{"uid":"c5e49757-9428"},{"uid":"c5e49757-9432"},{"uid":"c5e49757-9436"},{"uid":"c5e49757-648"},{"uid":"c5e49757-3164"},{"uid":"c5e49757-7290"}]},"c5e49757-630":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-enum-api.ts","moduleParts":{"assets/js/sys-enum-api-DZDqYtO_.js":"c5e49757-631"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-632":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/SoftwareAdapterService/adapterCategories.ts","moduleParts":{"assets/js/adapterCategories-LvojZCSh.js":"c5e49757-633"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3680"},{"uid":"c5e49757-4082"},{"uid":"c5e49757-4490"},{"uid":"c5e49757-3932"},{"uid":"c5e49757-4286"}]},"c5e49757-634":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-tenant-api.ts","moduleParts":{"assets/js/sys-tenant-api-F8yDFRl3.js":"c5e49757-635"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-636":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-org-api.ts","moduleParts":{"assets/js/sys-org-api-CkqyBUCq.js":"c5e49757-637"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-638":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/openAccess/index.vue?vue&type=script&setup=true&name=sysOpenAccess&lang.ts","moduleParts":{"assets/js/index-BFhxWgFT.js":"c5e49757-639"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-608"},{"uid":"c5e49757-4634"},{"uid":"c5e49757-9454"},{"uid":"c5e49757-4106"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-640"}]},"c5e49757-640":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/openAccess/index.vue","moduleParts":{"assets/js/index-BFhxWgFT.js":"c5e49757-641"},"imported":[{"uid":"c5e49757-638"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-642":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/plugin/component/editPlugin.vue","moduleParts":{"assets/js/editPlugin-Cl9qFVaT.js":"c5e49757-643"},"imported":[{"uid":"c5e49757-666"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-572"}]},"c5e49757-644":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-pos-api.ts","moduleParts":{"assets/js/sys-pos-api-PY-lbpNX.js":"c5e49757-645"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-646":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vcrontab-3/dist/vcrontab.umd.cjs?commonjs-module","moduleParts":{"assets/js/vcrontab-3-DwUnqh_K.js":"c5e49757-647"},"imported":[],"importedBy":[{"uid":"c5e49757-648"}]},"c5e49757-648":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vcrontab-3/dist/vcrontab.umd.cjs","moduleParts":{"assets/js/vcrontab-3-DwUnqh_K.js":"c5e49757-649"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-646"},{"uid":"c5e49757-628"}],"importedBy":[{"uid":"c5e49757-590"}]},"c5e49757-650":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/openDialogPd.vue","moduleParts":{"assets/js/openDialogPd-BY5n8tPm.js":"c5e49757-651"},"imported":[{"uid":"c5e49757-4466"},{"uid":"c5e49757-4468"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4598"}]},"c5e49757-652":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/org/index.vue?vue&type=script&setup=true&name=sysOrg&lang.ts","moduleParts":{"assets/js/index-C5n61gjH.js":"c5e49757-653"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4180"},{"uid":"c5e49757-578"},{"uid":"c5e49757-9454"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-654"}]},"c5e49757-654":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/org/index.vue","moduleParts":{"assets/js/index-C5n61gjH.js":"c5e49757-655"},"imported":[{"uid":"c5e49757-652"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-656":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsOrder/wmsOrderAsn.ts","moduleParts":{"assets/js/wmsOrderAsn-B7345uRI.js":"c5e49757-657"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4446"},{"uid":"c5e49757-4520"},{"uid":"c5e49757-4916"},{"uid":"c5e49757-4928"},{"uid":"c5e49757-4782"}]},"c5e49757-658":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-open-access-api.ts","moduleParts":{"assets/js/sys-open-access-api-CeL_QS4F.js":"c5e49757-659"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-660":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsStockQuanOut.ts","moduleParts":{"assets/js/wmsStockQuanOut-Cswai33k.js":"c5e49757-661"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3628"},{"uid":"c5e49757-3710"}]},"c5e49757-662":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/region/component/editRegion.vue","moduleParts":{"assets/js/editRegion-Biu-cKDN.js":"c5e49757-663"},"imported":[{"uid":"c5e49757-598"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-592"}]},"c5e49757-664":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-plugin-api.ts","moduleParts":{"assets/js/editPlugin.vue_vue_type_script_setup_true_name_sysEditPlugin_lang-vPFEAgfN.js":"c5e49757-665"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-666":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/plugin/component/editPlugin.vue?vue&type=script&setup=true&name=sysEditPlugin&lang.ts","moduleParts":{"assets/js/editPlugin.vue_vue_type_script_setup_true_name_sysEditPlugin_lang-vPFEAgfN.js":"c5e49757-667"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-9256"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-642"}]},"c5e49757-668":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/component/header.vue?vue&type=script&setup=true&name=layoutHeader&lang.ts","moduleParts":{"assets/js/header-MEKEG6iz.js":"c5e49757-669"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3542"},{"uid":"c5e49757-3816","dynamic":true}],"importedBy":[{"uid":"c5e49757-670"}]},"c5e49757-670":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/component/header.vue","moduleParts":{"assets/js/header-MEKEG6iz.js":"c5e49757-671"},"imported":[{"uid":"c5e49757-668"}],"importedBy":[{"uid":"c5e49757-240"},{"uid":"c5e49757-472"},{"uid":"c5e49757-476"},{"uid":"c5e49757-110"}]},"c5e49757-672":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/pos/component/editPos.vue","moduleParts":{"assets/js/editPos-CrSmuSdY.js":"c5e49757-673"},"imported":[{"uid":"c5e49757-236"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-282"}]},"c5e49757-674":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/dict/index.vue?vue&type=script&setup=true&name=sysDict&lang.ts","moduleParts":{"assets/js/index-ByHBnrLd.js":"c5e49757-675"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-546"},{"uid":"c5e49757-580"},{"uid":"c5e49757-9454"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-3540"},{"uid":"c5e49757-3568"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-676"}]},"c5e49757-676":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/dict/index.vue","moduleParts":{"assets/js/index-ByHBnrLd.js":"c5e49757-677"},"imported":[{"uid":"c5e49757-674"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-678":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/file/component/editSysfile.vue?vue&type=script&setup=true&name=sysEditFile&lang.ts","moduleParts":{"assets/js/editSysfile.vue_vue_type_script_setup_true_name_sysEditFile_lang-LA8wXhyI.js":"c5e49757-679"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-506"}]},"c5e49757-680":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/editColumn.vue?vue&type=script&setup=true&name=sysEditColumn&lang.ts","moduleParts":{"assets/js/editColumn.vue_vue_type_script_setup_true_name_sysEditColumn_lang-eABttnIQ.js":"c5e49757-681"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-306"}]},"c5e49757-682":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@ctrl/tinycolor/dist/module/util.js","moduleParts":{"assets/js/@ctrl-D2oWfImC.js":"c5e49757-683"},"imported":[],"importedBy":[{"uid":"c5e49757-690"},{"uid":"c5e49757-696"},{"uid":"c5e49757-688"},{"uid":"c5e49757-684"}]},"c5e49757-684":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@ctrl/tinycolor/dist/module/conversion.js","moduleParts":{"assets/js/@ctrl-D2oWfImC.js":"c5e49757-685"},"imported":[{"uid":"c5e49757-682"}],"importedBy":[{"uid":"c5e49757-702"},{"uid":"c5e49757-690"},{"uid":"c5e49757-694"},{"uid":"c5e49757-688"}]},"c5e49757-686":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","moduleParts":{"assets/js/@ctrl-D2oWfImC.js":"c5e49757-687"},"imported":[],"importedBy":[{"uid":"c5e49757-702"},{"uid":"c5e49757-690"},{"uid":"c5e49757-688"}]},"c5e49757-688":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@ctrl/tinycolor/dist/module/format-input.js","moduleParts":{"assets/js/@ctrl-D2oWfImC.js":"c5e49757-689"},"imported":[{"uid":"c5e49757-684"},{"uid":"c5e49757-686"},{"uid":"c5e49757-682"}],"importedBy":[{"uid":"c5e49757-702"},{"uid":"c5e49757-690"}]},"c5e49757-690":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@ctrl/tinycolor/dist/module/index.js","moduleParts":{"assets/js/@ctrl-D2oWfImC.js":"c5e49757-691"},"imported":[{"uid":"c5e49757-684"},{"uid":"c5e49757-686"},{"uid":"c5e49757-688"},{"uid":"c5e49757-682"}],"importedBy":[{"uid":"c5e49757-702"},{"uid":"c5e49757-692"},{"uid":"c5e49757-694"},{"uid":"c5e49757-696"},{"uid":"c5e49757-698"}]},"c5e49757-692":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@ctrl/tinycolor/dist/module/readability.js","moduleParts":{"assets/js/@ctrl-D2oWfImC.js":"c5e49757-693"},"imported":[{"uid":"c5e49757-690"}],"importedBy":[{"uid":"c5e49757-702"}]},"c5e49757-694":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@ctrl/tinycolor/dist/module/to-ms-filter.js","moduleParts":{"assets/js/@ctrl-D2oWfImC.js":"c5e49757-695"},"imported":[{"uid":"c5e49757-684"},{"uid":"c5e49757-690"}],"importedBy":[{"uid":"c5e49757-702"}]},"c5e49757-696":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@ctrl/tinycolor/dist/module/from-ratio.js","moduleParts":{"assets/js/@ctrl-D2oWfImC.js":"c5e49757-697"},"imported":[{"uid":"c5e49757-690"},{"uid":"c5e49757-682"}],"importedBy":[{"uid":"c5e49757-702"}]},"c5e49757-698":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@ctrl/tinycolor/dist/module/random.js","moduleParts":{"assets/js/@ctrl-D2oWfImC.js":"c5e49757-699"},"imported":[{"uid":"c5e49757-690"}],"importedBy":[{"uid":"c5e49757-702"}]},"c5e49757-700":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@ctrl/tinycolor/dist/module/interfaces.js","moduleParts":{"assets/js/@ctrl-D2oWfImC.js":"c5e49757-701"},"imported":[],"importedBy":[{"uid":"c5e49757-702"}]},"c5e49757-702":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@ctrl/tinycolor/dist/module/public_api.js","moduleParts":{"assets/js/@ctrl-D2oWfImC.js":"c5e49757-703"},"imported":[{"uid":"c5e49757-690"},{"uid":"c5e49757-686"},{"uid":"c5e49757-692"},{"uid":"c5e49757-694"},{"uid":"c5e49757-696"},{"uid":"c5e49757-688"},{"uid":"c5e49757-698"},{"uid":"c5e49757-700"},{"uid":"c5e49757-684"}],"importedBy":[{"uid":"c5e49757-5272"},{"uid":"c5e49757-5692"}]},"c5e49757-704":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen/component/fkDialog.vue","moduleParts":{"assets/js/fkDialog-CupajmSs.js":"c5e49757-705"},"imported":[{"uid":"c5e49757-2422"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-464"}]},"c5e49757-706":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsStockBoardabc.ts","moduleParts":{"assets/js/wmsStockBoardabc-D8BHIJEZ.js":"c5e49757-707"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3496"},{"uid":"c5e49757-3704"},{"uid":"c5e49757-3752"},{"uid":"c5e49757-3788"}]},"c5e49757-708":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-demi/lib/index.mjs","moduleParts":{"assets/js/vue-demi-B6isqbHW.js":"c5e49757-709"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-50"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-4938"},{"uid":"c5e49757-710"}]},"c5e49757-710":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-demi/lib/index.mjs?commonjs-proxy","moduleParts":{"assets/js/vue-demi-B6isqbHW.js":"c5e49757-711"},"imported":[{"uid":"c5e49757-708"},{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-9428"},{"uid":"c5e49757-9432"},{"uid":"c5e49757-9436"}]},"c5e49757-712":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/onlineUser/signalR.ts","moduleParts":{"assets/js/signalR-D_LSMuX4.js":"c5e49757-713"},"imported":[{"uid":"c5e49757-2066"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3566"}],"importedBy":[{"uid":"c5e49757-486"},{"uid":"c5e49757-4006"}]},"c5e49757-714":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen/component/editCodeGenDialog.vue?vue&type=script&setup=true&name=sysEditCodeGen&lang.ts","moduleParts":{"assets/js/editCodeGenDialog.vue_vue_type_script_setup_true_name_sysEditCodeGen_lang-CDXKM77r.js":"c5e49757-715"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-570"}]},"c5e49757-716":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsRecordReceivingDelivery.ts","moduleParts":{"assets/js/wmsRecordReceivingDelivery-DAhvjKnY.js":"c5e49757-717"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3634"},{"uid":"c5e49757-3728"}]},"c5e49757-718":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/user/index.vue?vue&type=script&setup=true&name=sysUser&lang.ts","moduleParts":{"assets/js/index-G1Zqj6_F.js":"c5e49757-719"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-4180"},{"uid":"c5e49757-256"},{"uid":"c5e49757-9454"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-720"}]},"c5e49757-720":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/user/index.vue","moduleParts":{"assets/js/index-G1Zqj6_F.js":"c5e49757-721"},"imported":[{"uid":"c5e49757-718"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-722":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsRecordPredetermineDispense.ts","moduleParts":{"assets/js/wmsRecordPredetermineDispense-Br7HoPIS.js":"c5e49757-723"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3734"},{"uid":"c5e49757-3770"}]},"c5e49757-724":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-config-api.ts","moduleParts":{"assets/js/editConfig.vue_vue_type_script_setup_true_name_sysEditConfig_lang-m8dZsGmP.js":"c5e49757-725"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-726":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/config/component/editConfig.vue?vue&type=script&setup=true&name=sysEditConfig&lang.ts","moduleParts":{"assets/js/editConfig.vue_vue_type_script_setup_true_name_sysEditConfig_lang-m8dZsGmP.js":"c5e49757-727"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-80"}]},"c5e49757-728":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsQC/wmsOrderQcDetails.ts","moduleParts":{"assets/js/wmsOrderQcDetails-DpFEhIPQ.js":"c5e49757-729"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3704"},{"uid":"c5e49757-4496"},{"uid":"c5e49757-4768"},{"uid":"c5e49757-4540"},{"uid":"c5e49757-4298"}]},"c5e49757-730":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_freeGlobal.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-731"},"imported":[],"importedBy":[{"uid":"c5e49757-920"},{"uid":"c5e49757-732"}]},"c5e49757-732":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_root.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-733"},"imported":[{"uid":"c5e49757-730"}],"importedBy":[{"uid":"c5e49757-914"},{"uid":"c5e49757-1514"},{"uid":"c5e49757-1264"},{"uid":"c5e49757-1672"},{"uid":"c5e49757-1082"},{"uid":"c5e49757-734"},{"uid":"c5e49757-872"},{"uid":"c5e49757-798"},{"uid":"c5e49757-874"},{"uid":"c5e49757-876"},{"uid":"c5e49757-1110"},{"uid":"c5e49757-1130"},{"uid":"c5e49757-978"},{"uid":"c5e49757-1132"},{"uid":"c5e49757-1134"},{"uid":"c5e49757-788"},{"uid":"c5e49757-776"},{"uid":"c5e49757-1140"}]},"c5e49757-734":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_Symbol.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-735"},"imported":[{"uid":"c5e49757-732"}],"importedBy":[{"uid":"c5e49757-1608"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-752"},{"uid":"c5e49757-740"},{"uid":"c5e49757-1016"},{"uid":"c5e49757-736"},{"uid":"c5e49757-1148"},{"uid":"c5e49757-1196"}]},"c5e49757-736":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_getRawTag.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-737"},"imported":[{"uid":"c5e49757-734"}],"importedBy":[{"uid":"c5e49757-740"}]},"c5e49757-738":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_objectToString.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-739"},"imported":[],"importedBy":[{"uid":"c5e49757-740"}]},"c5e49757-740":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseGetTag.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-741"},"imported":[{"uid":"c5e49757-734"},{"uid":"c5e49757-736"},{"uid":"c5e49757-738"}],"importedBy":[{"uid":"c5e49757-1500"},{"uid":"c5e49757-1030"},{"uid":"c5e49757-774"},{"uid":"c5e49757-1522"},{"uid":"c5e49757-1028"},{"uid":"c5e49757-1458"},{"uid":"c5e49757-744"},{"uid":"c5e49757-1544"},{"uid":"c5e49757-908"},{"uid":"c5e49757-1496"},{"uid":"c5e49757-1502"},{"uid":"c5e49757-1136"},{"uid":"c5e49757-1534"},{"uid":"c5e49757-916"}]},"c5e49757-742":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isObjectLike.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-743"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-910"},{"uid":"c5e49757-1274"},{"uid":"c5e49757-1500"},{"uid":"c5e49757-1506"},{"uid":"c5e49757-1030"},{"uid":"c5e49757-1522"},{"uid":"c5e49757-1028"},{"uid":"c5e49757-1458"},{"uid":"c5e49757-744"},{"uid":"c5e49757-1542"},{"uid":"c5e49757-1544"},{"uid":"c5e49757-826"},{"uid":"c5e49757-908"},{"uid":"c5e49757-1496"},{"uid":"c5e49757-1502"},{"uid":"c5e49757-1202"},{"uid":"c5e49757-1156"},{"uid":"c5e49757-1534"},{"uid":"c5e49757-1160"},{"uid":"c5e49757-916"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-744":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isSymbol.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-745"},"imported":[{"uid":"c5e49757-740"},{"uid":"c5e49757-742"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-764"},{"uid":"c5e49757-1862"},{"uid":"c5e49757-1006"},{"uid":"c5e49757-752"},{"uid":"c5e49757-1576"},{"uid":"c5e49757-948"},{"uid":"c5e49757-1636"},{"uid":"c5e49757-1780"},{"uid":"c5e49757-1778"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-746"},{"uid":"c5e49757-1970"}]},"c5e49757-746":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseToNumber.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-747"},"imported":[{"uid":"c5e49757-744"}],"importedBy":[{"uid":"c5e49757-754"}]},"c5e49757-748":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_arrayMap.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-749"},"imported":[],"importedBy":[{"uid":"c5e49757-1230"},{"uid":"c5e49757-1474"},{"uid":"c5e49757-1476"},{"uid":"c5e49757-1478"},{"uid":"c5e49757-1402"},{"uid":"c5e49757-1622"},{"uid":"c5e49757-1646"},{"uid":"c5e49757-1650"},{"uid":"c5e49757-1628"},{"uid":"c5e49757-1702"},{"uid":"c5e49757-1862"},{"uid":"c5e49757-1908"},{"uid":"c5e49757-1910"},{"uid":"c5e49757-1298"},{"uid":"c5e49757-752"},{"uid":"c5e49757-1470"},{"uid":"c5e49757-1640"},{"uid":"c5e49757-1644"},{"uid":"c5e49757-1690"},{"uid":"c5e49757-1460"},{"uid":"c5e49757-1340"}]},"c5e49757-750":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isArray.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-751"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1080"},{"uid":"c5e49757-1178"},{"uid":"c5e49757-1364"},{"uid":"c5e49757-1378"},{"uid":"c5e49757-1322"},{"uid":"c5e49757-1334"},{"uid":"c5e49757-1508"},{"uid":"c5e49757-1458"},{"uid":"c5e49757-826"},{"uid":"c5e49757-1402"},{"uid":"c5e49757-1642"},{"uid":"c5e49757-1650"},{"uid":"c5e49757-1720"},{"uid":"c5e49757-1724"},{"uid":"c5e49757-1726"},{"uid":"c5e49757-1746"},{"uid":"c5e49757-1754"},{"uid":"c5e49757-1764"},{"uid":"c5e49757-1774"},{"uid":"c5e49757-1862"},{"uid":"c5e49757-1868"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-1164"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-1254"},{"uid":"c5e49757-752"},{"uid":"c5e49757-1418"},{"uid":"c5e49757-1216"},{"uid":"c5e49757-924"},{"uid":"c5e49757-1004"},{"uid":"c5e49757-1640"},{"uid":"c5e49757-948"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-2004"},{"uid":"c5e49757-1016"},{"uid":"c5e49757-1200"},{"uid":"c5e49757-1280"},{"uid":"c5e49757-1124"},{"uid":"c5e49757-1970"}]},"c5e49757-752":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseToString.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-753"},"imported":[{"uid":"c5e49757-734"},{"uid":"c5e49757-748"},{"uid":"c5e49757-750"},{"uid":"c5e49757-744"}],"importedBy":[{"uid":"c5e49757-1338"},{"uid":"c5e49757-1800"},{"uid":"c5e49757-1806"},{"uid":"c5e49757-1002"},{"uid":"c5e49757-1874"},{"uid":"c5e49757-1876"},{"uid":"c5e49757-1878"},{"uid":"c5e49757-1880"},{"uid":"c5e49757-754"},{"uid":"c5e49757-1664"}]},"c5e49757-754":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createMathOperation.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-755"},"imported":[{"uid":"c5e49757-746"},{"uid":"c5e49757-752"}],"importedBy":[{"uid":"c5e49757-756"},{"uid":"c5e49757-1308"},{"uid":"c5e49757-1602"},{"uid":"c5e49757-1814"}]},"c5e49757-756":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/add.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-757"},"imported":[{"uid":"c5e49757-754"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1976"},{"uid":"c5e49757-1974"}]},"c5e49757-758":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_trimmedEndIndex.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-759"},"imported":[],"importedBy":[{"uid":"c5e49757-1876"},{"uid":"c5e49757-760"}]},"c5e49757-760":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseTrim.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-761"},"imported":[{"uid":"c5e49757-758"}],"importedBy":[{"uid":"c5e49757-764"},{"uid":"c5e49757-1874"}]},"c5e49757-762":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isObject.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-763"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1266"},{"uid":"c5e49757-774"},{"uid":"c5e49757-1600"},{"uid":"c5e49757-1846"},{"uid":"c5e49757-764"},{"uid":"c5e49757-1868"},{"uid":"c5e49757-1880"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-900"},{"uid":"c5e49757-1164"},{"uid":"c5e49757-794"},{"uid":"c5e49757-1284"},{"uid":"c5e49757-782"},{"uid":"c5e49757-938"},{"uid":"c5e49757-1282"},{"uid":"c5e49757-1624"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1206"},{"uid":"c5e49757-1280"},{"uid":"c5e49757-1970"},{"uid":"c5e49757-796"}]},"c5e49757-764":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/toNumber.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-765"},"imported":[{"uid":"c5e49757-760"},{"uid":"c5e49757-762"},{"uid":"c5e49757-744"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1092"},{"uid":"c5e49757-1266"},{"uid":"c5e49757-1294"},{"uid":"c5e49757-1456"},{"uid":"c5e49757-766"},{"uid":"c5e49757-1082"},{"uid":"c5e49757-1444"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-766":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/toFinite.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-767"},"imported":[{"uid":"c5e49757-764"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1456"},{"uid":"c5e49757-1706"},{"uid":"c5e49757-768"},{"uid":"c5e49757-1710"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-768":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/toInteger.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-769"},"imported":[{"uid":"c5e49757-766"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-770"},{"uid":"c5e49757-1034"},{"uid":"c5e49757-1088"},{"uid":"c5e49757-1310"},{"uid":"c5e49757-1312"},{"uid":"c5e49757-1338"},{"uid":"c5e49757-1382"},{"uid":"c5e49757-1390"},{"uid":"c5e49757-1408"},{"uid":"c5e49757-1412"},{"uid":"c5e49757-1464"},{"uid":"c5e49757-1466"},{"uid":"c5e49757-1516"},{"uid":"c5e49757-1556"},{"uid":"c5e49757-1614"},{"uid":"c5e49757-1616"},{"uid":"c5e49757-1666"},{"uid":"c5e49757-1668"},{"uid":"c5e49757-1670"},{"uid":"c5e49757-1730"},{"uid":"c5e49757-1734"},{"uid":"c5e49757-1754"},{"uid":"c5e49757-1768"},{"uid":"c5e49757-1802"},{"uid":"c5e49757-1806"},{"uid":"c5e49757-1822"},{"uid":"c5e49757-1824"},{"uid":"c5e49757-1850"},{"uid":"c5e49757-1370"},{"uid":"c5e49757-1864"},{"uid":"c5e49757-1880"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-880"},{"uid":"c5e49757-1082"},{"uid":"c5e49757-1372"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-770":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/after.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-771"},"imported":[{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-772":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/identity.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-773"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1484"},{"uid":"c5e49757-1578"},{"uid":"c5e49757-1586"},{"uid":"c5e49757-1596"},{"uid":"c5e49757-1816"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-894"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-1320"},{"uid":"c5e49757-1640"},{"uid":"c5e49757-1780"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-792"},{"uid":"c5e49757-1994"},{"uid":"c5e49757-842"}]},"c5e49757-774":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isFunction.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-775"},"imported":[{"uid":"c5e49757-740"},{"uid":"c5e49757-762"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-898"},{"uid":"c5e49757-1600"},{"uid":"c5e49757-1736"},{"uid":"c5e49757-1868"},{"uid":"c5e49757-1434"},{"uid":"c5e49757-782"},{"uid":"c5e49757-1526"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1280"},{"uid":"c5e49757-1970"}]},"c5e49757-776":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_coreJsData.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-777"},"imported":[{"uid":"c5e49757-732"}],"importedBy":[{"uid":"c5e49757-1526"},{"uid":"c5e49757-778"}]},"c5e49757-778":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_isMasked.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-779"},"imported":[{"uid":"c5e49757-776"}],"importedBy":[{"uid":"c5e49757-782"}]},"c5e49757-780":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_toSource.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-781"},"imported":[],"importedBy":[{"uid":"c5e49757-1136"},{"uid":"c5e49757-782"}]},"c5e49757-782":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseIsNative.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-783"},"imported":[{"uid":"c5e49757-774"},{"uid":"c5e49757-778"},{"uid":"c5e49757-762"},{"uid":"c5e49757-780"}],"importedBy":[{"uid":"c5e49757-1528"},{"uid":"c5e49757-786"}]},"c5e49757-784":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_getValue.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-785"},"imported":[],"importedBy":[{"uid":"c5e49757-786"}]},"c5e49757-786":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_getNative.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-787"},"imported":[{"uid":"c5e49757-782"},{"uid":"c5e49757-784"}],"importedBy":[{"uid":"c5e49757-840"},{"uid":"c5e49757-1130"},{"uid":"c5e49757-978"},{"uid":"c5e49757-1132"},{"uid":"c5e49757-1134"},{"uid":"c5e49757-788"},{"uid":"c5e49757-950"}]},"c5e49757-788":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_WeakMap.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-789"},"imported":[{"uid":"c5e49757-786"},{"uid":"c5e49757-732"}],"importedBy":[{"uid":"c5e49757-1136"},{"uid":"c5e49757-790"}]},"c5e49757-790":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_metaMap.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-791"},"imported":[{"uid":"c5e49757-788"}],"importedBy":[{"uid":"c5e49757-792"},{"uid":"c5e49757-814"}]},"c5e49757-792":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseSetData.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-793"},"imported":[{"uid":"c5e49757-772"},{"uid":"c5e49757-790"}],"importedBy":[{"uid":"c5e49757-880"},{"uid":"c5e49757-832"}]},"c5e49757-794":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseCreate.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-795"},"imported":[{"uid":"c5e49757-762"}],"importedBy":[{"uid":"c5e49757-1258"},{"uid":"c5e49757-1868"},{"uid":"c5e49757-820"},{"uid":"c5e49757-810"},{"uid":"c5e49757-1154"},{"uid":"c5e49757-796"}]},"c5e49757-796":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createCtor.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-797"},"imported":[{"uid":"c5e49757-794"},{"uid":"c5e49757-762"}],"importedBy":[{"uid":"c5e49757-872"},{"uid":"c5e49757-798"},{"uid":"c5e49757-874"},{"uid":"c5e49757-876"}]},"c5e49757-798":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createBind.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-799"},"imported":[{"uid":"c5e49757-796"},{"uid":"c5e49757-732"}],"importedBy":[{"uid":"c5e49757-880"}]},"c5e49757-800":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_apply.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-801"},"imported":[],"importedBy":[{"uid":"c5e49757-1032"},{"uid":"c5e49757-1230"},{"uid":"c5e49757-1288"},{"uid":"c5e49757-1494"},{"uid":"c5e49757-1650"},{"uid":"c5e49757-1802"},{"uid":"c5e49757-1910"},{"uid":"c5e49757-1490"},{"uid":"c5e49757-1644"},{"uid":"c5e49757-874"},{"uid":"c5e49757-876"},{"uid":"c5e49757-892"}]},"c5e49757-802":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_composeArgs.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-803"},"imported":[],"importedBy":[{"uid":"c5e49757-872"},{"uid":"c5e49757-878"}]},"c5e49757-804":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_composeArgsRight.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-805"},"imported":[],"importedBy":[{"uid":"c5e49757-872"},{"uid":"c5e49757-878"}]},"c5e49757-806":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_countHolders.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-807"},"imported":[],"importedBy":[{"uid":"c5e49757-872"}]},"c5e49757-808":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseLodash.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-809"},"imported":[],"importedBy":[{"uid":"c5e49757-826"},{"uid":"c5e49757-1684"},{"uid":"c5e49757-820"},{"uid":"c5e49757-810"}]},"c5e49757-810":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_LazyWrapper.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-811"},"imported":[{"uid":"c5e49757-794"},{"uid":"c5e49757-808"}],"importedBy":[{"uid":"c5e49757-826"},{"uid":"c5e49757-1930"},{"uid":"c5e49757-1934"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-824"},{"uid":"c5e49757-1854"},{"uid":"c5e49757-1998"},{"uid":"c5e49757-2000"},{"uid":"c5e49757-828"}]},"c5e49757-812":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/noop.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-813"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-814"},{"uid":"c5e49757-1888"},{"uid":"c5e49757-1994"}]},"c5e49757-814":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_getData.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-815"},"imported":[{"uid":"c5e49757-790"},{"uid":"c5e49757-812"}],"importedBy":[{"uid":"c5e49757-880"},{"uid":"c5e49757-1418"},{"uid":"c5e49757-828"}]},"c5e49757-816":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_realNames.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-817"},"imported":[],"importedBy":[{"uid":"c5e49757-2006"},{"uid":"c5e49757-818"}]},"c5e49757-818":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_getFuncName.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-819"},"imported":[{"uid":"c5e49757-816"}],"importedBy":[{"uid":"c5e49757-1418"},{"uid":"c5e49757-828"}]},"c5e49757-820":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_LodashWrapper.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-821"},"imported":[{"uid":"c5e49757-794"},{"uid":"c5e49757-808"}],"importedBy":[{"uid":"c5e49757-1174"},{"uid":"c5e49757-826"},{"uid":"c5e49757-1930"},{"uid":"c5e49757-1934"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-1418"},{"uid":"c5e49757-824"}]},"c5e49757-822":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_copyArray.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-823"},"imported":[],"importedBy":[{"uid":"c5e49757-1178"},{"uid":"c5e49757-1600"},{"uid":"c5e49757-1608"},{"uid":"c5e49757-1862"},{"uid":"c5e49757-1164"},{"uid":"c5e49757-824"},{"uid":"c5e49757-1690"},{"uid":"c5e49757-1750"},{"uid":"c5e49757-1760"},{"uid":"c5e49757-1998"},{"uid":"c5e49757-1280"},{"uid":"c5e49757-868"}]},"c5e49757-824":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_wrapperClone.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-825"},"imported":[{"uid":"c5e49757-810"},{"uid":"c5e49757-820"},{"uid":"c5e49757-822"}],"importedBy":[{"uid":"c5e49757-826"},{"uid":"c5e49757-1684"}]},"c5e49757-826":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/wrapperLodash.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-827"},"imported":[{"uid":"c5e49757-810"},{"uid":"c5e49757-820"},{"uid":"c5e49757-808"},{"uid":"c5e49757-750"},{"uid":"c5e49757-742"},{"uid":"c5e49757-824"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1086"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-1988"},{"uid":"c5e49757-828"},{"uid":"c5e49757-1986"}]},"c5e49757-828":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_isLaziable.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-829"},"imported":[{"uid":"c5e49757-810"},{"uid":"c5e49757-814"},{"uid":"c5e49757-818"},{"uid":"c5e49757-826"}],"importedBy":[{"uid":"c5e49757-1418"},{"uid":"c5e49757-862"}]},"c5e49757-830":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_shortOut.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-831"},"imported":[],"importedBy":[{"uid":"c5e49757-832"},{"uid":"c5e49757-844"}]},"c5e49757-832":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_setData.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-833"},"imported":[{"uid":"c5e49757-792"},{"uid":"c5e49757-830"}],"importedBy":[{"uid":"c5e49757-880"},{"uid":"c5e49757-862"}]},"c5e49757-834":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_getWrapDetails.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-835"},"imported":[],"importedBy":[{"uid":"c5e49757-860"}]},"c5e49757-836":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_insertWrapDetails.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-837"},"imported":[],"importedBy":[{"uid":"c5e49757-860"}]},"c5e49757-838":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/constant.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-839"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1484"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"},{"uid":"c5e49757-842"}]},"c5e49757-840":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_defineProperty.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-841"},"imported":[{"uid":"c5e49757-786"}],"importedBy":[{"uid":"c5e49757-884"},{"uid":"c5e49757-842"}]},"c5e49757-842":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseSetToString.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-843"},"imported":[{"uid":"c5e49757-838"},{"uid":"c5e49757-840"},{"uid":"c5e49757-772"}],"importedBy":[{"uid":"c5e49757-844"}]},"c5e49757-844":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_setToString.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-845"},"imported":[{"uid":"c5e49757-842"},{"uid":"c5e49757-830"}],"importedBy":[{"uid":"c5e49757-1022"},{"uid":"c5e49757-894"},{"uid":"c5e49757-860"}]},"c5e49757-846":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_arrayEach.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-847"},"imported":[],"importedBy":[{"uid":"c5e49757-1038"},{"uid":"c5e49757-1322"},{"uid":"c5e49757-1600"},{"uid":"c5e49757-1868"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-1164"},{"uid":"c5e49757-858"}]},"c5e49757-848":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseFindIndex.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-849"},"imported":[],"importedBy":[{"uid":"c5e49757-1382"},{"uid":"c5e49757-1390"},{"uid":"c5e49757-1556"},{"uid":"c5e49757-854"}]},"c5e49757-850":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseIsNaN.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-851"},"imported":[],"importedBy":[{"uid":"c5e49757-1556"},{"uid":"c5e49757-854"}]},"c5e49757-852":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_strictIndexOf.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-853"},"imported":[],"importedBy":[{"uid":"c5e49757-854"}]},"c5e49757-854":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseIndexOf.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-855"},"imported":[{"uid":"c5e49757-848"},{"uid":"c5e49757-850"},{"uid":"c5e49757-852"}],"importedBy":[{"uid":"c5e49757-1464"},{"uid":"c5e49757-1466"},{"uid":"c5e49757-1690"},{"uid":"c5e49757-1870"},{"uid":"c5e49757-1872"},{"uid":"c5e49757-856"}]},"c5e49757-856":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_arrayIncludes.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-857"},"imported":[{"uid":"c5e49757-854"}],"importedBy":[{"uid":"c5e49757-1298"},{"uid":"c5e49757-1470"},{"uid":"c5e49757-1890"},{"uid":"c5e49757-858"}]},"c5e49757-858":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_updateWrapDetails.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-859"},"imported":[{"uid":"c5e49757-846"},{"uid":"c5e49757-856"}],"importedBy":[{"uid":"c5e49757-860"}]},"c5e49757-860":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_setWrapToString.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-861"},"imported":[{"uid":"c5e49757-834"},{"uid":"c5e49757-836"},{"uid":"c5e49757-844"},{"uid":"c5e49757-858"}],"importedBy":[{"uid":"c5e49757-880"},{"uid":"c5e49757-862"}]},"c5e49757-862":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createRecurry.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-863"},"imported":[{"uid":"c5e49757-828"},{"uid":"c5e49757-832"},{"uid":"c5e49757-860"}],"importedBy":[{"uid":"c5e49757-872"},{"uid":"c5e49757-874"}]},"c5e49757-864":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_getHolder.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-865"},"imported":[],"importedBy":[{"uid":"c5e49757-1036"},{"uid":"c5e49757-1040"},{"uid":"c5e49757-1674"},{"uid":"c5e49757-1676"},{"uid":"c5e49757-872"},{"uid":"c5e49757-874"}]},"c5e49757-866":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_isIndex.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-867"},"imported":[],"importedBy":[{"uid":"c5e49757-1702"},{"uid":"c5e49757-1930"},{"uid":"c5e49757-900"},{"uid":"c5e49757-1216"},{"uid":"c5e49757-924"},{"uid":"c5e49757-1612"},{"uid":"c5e49757-1700"},{"uid":"c5e49757-1624"},{"uid":"c5e49757-868"}]},"c5e49757-868":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_reorder.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-869"},"imported":[{"uid":"c5e49757-822"},{"uid":"c5e49757-866"}],"importedBy":[{"uid":"c5e49757-872"}]},"c5e49757-870":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_replaceHolders.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-871"},"imported":[],"importedBy":[{"uid":"c5e49757-1036"},{"uid":"c5e49757-1040"},{"uid":"c5e49757-1674"},{"uid":"c5e49757-1676"},{"uid":"c5e49757-872"},{"uid":"c5e49757-874"},{"uid":"c5e49757-878"}]},"c5e49757-872":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createHybrid.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-873"},"imported":[{"uid":"c5e49757-802"},{"uid":"c5e49757-804"},{"uid":"c5e49757-806"},{"uid":"c5e49757-796"},{"uid":"c5e49757-862"},{"uid":"c5e49757-864"},{"uid":"c5e49757-868"},{"uid":"c5e49757-870"},{"uid":"c5e49757-732"}],"importedBy":[{"uid":"c5e49757-2006"},{"uid":"c5e49757-880"},{"uid":"c5e49757-874"}]},"c5e49757-874":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createCurry.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-875"},"imported":[{"uid":"c5e49757-800"},{"uid":"c5e49757-796"},{"uid":"c5e49757-872"},{"uid":"c5e49757-862"},{"uid":"c5e49757-864"},{"uid":"c5e49757-870"},{"uid":"c5e49757-732"}],"importedBy":[{"uid":"c5e49757-880"}]},"c5e49757-876":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createPartial.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-877"},"imported":[{"uid":"c5e49757-800"},{"uid":"c5e49757-796"},{"uid":"c5e49757-732"}],"importedBy":[{"uid":"c5e49757-880"}]},"c5e49757-878":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_mergeData.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-879"},"imported":[{"uid":"c5e49757-802"},{"uid":"c5e49757-804"},{"uid":"c5e49757-870"}],"importedBy":[{"uid":"c5e49757-880"}]},"c5e49757-880":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createWrap.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-881"},"imported":[{"uid":"c5e49757-792"},{"uid":"c5e49757-798"},{"uid":"c5e49757-874"},{"uid":"c5e49757-872"},{"uid":"c5e49757-876"},{"uid":"c5e49757-814"},{"uid":"c5e49757-878"},{"uid":"c5e49757-832"},{"uid":"c5e49757-860"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-882"},{"uid":"c5e49757-1036"},{"uid":"c5e49757-1040"},{"uid":"c5e49757-1260"},{"uid":"c5e49757-1262"},{"uid":"c5e49757-1414"},{"uid":"c5e49757-1674"},{"uid":"c5e49757-1676"},{"uid":"c5e49757-1716"}]},"c5e49757-882":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/ary.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-883"},"imported":[{"uid":"c5e49757-880"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1882"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-884":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseAssignValue.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-885"},"imported":[{"uid":"c5e49757-840"}],"importedBy":[{"uid":"c5e49757-1038"},{"uid":"c5e49757-1256"},{"uid":"c5e49757-1440"},{"uid":"c5e49757-1552"},{"uid":"c5e49757-1568"},{"uid":"c5e49757-1570"},{"uid":"c5e49757-888"},{"uid":"c5e49757-890"},{"uid":"c5e49757-1272"}]},"c5e49757-886":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/eq.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-887"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1270"},{"uid":"c5e49757-1786"},{"uid":"c5e49757-1792"},{"uid":"c5e49757-888"},{"uid":"c5e49757-900"},{"uid":"c5e49757-1794"},{"uid":"c5e49757-1832"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1272"},{"uid":"c5e49757-1970"},{"uid":"c5e49757-1196"},{"uid":"c5e49757-966"}]},"c5e49757-888":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_assignValue.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-889"},"imported":[{"uid":"c5e49757-884"},{"uid":"c5e49757-886"}],"importedBy":[{"uid":"c5e49757-934"},{"uid":"c5e49757-1948"},{"uid":"c5e49757-890"},{"uid":"c5e49757-1164"},{"uid":"c5e49757-1624"}]},"c5e49757-890":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_copyObject.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-891"},"imported":[{"uid":"c5e49757-888"},{"uid":"c5e49757-884"}],"importedBy":[{"uid":"c5e49757-934"},{"uid":"c5e49757-942"},{"uid":"c5e49757-944"},{"uid":"c5e49757-946"},{"uid":"c5e49757-1622"},{"uid":"c5e49757-1278"},{"uid":"c5e49757-1106"},{"uid":"c5e49757-1108"},{"uid":"c5e49757-1118"},{"uid":"c5e49757-1122"}]},"c5e49757-892":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_overRest.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-893"},"imported":[{"uid":"c5e49757-800"}],"importedBy":[{"uid":"c5e49757-1022"},{"uid":"c5e49757-894"}]},"c5e49757-894":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseRest.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-895"},"imported":[{"uid":"c5e49757-772"},{"uid":"c5e49757-892"},{"uid":"c5e49757-844"}],"importedBy":[{"uid":"c5e49757-1032"},{"uid":"c5e49757-1036"},{"uid":"c5e49757-1040"},{"uid":"c5e49757-1230"},{"uid":"c5e49757-1270"},{"uid":"c5e49757-1288"},{"uid":"c5e49757-1292"},{"uid":"c5e49757-1294"},{"uid":"c5e49757-1300"},{"uid":"c5e49757-1304"},{"uid":"c5e49757-1306"},{"uid":"c5e49757-1474"},{"uid":"c5e49757-1476"},{"uid":"c5e49757-1478"},{"uid":"c5e49757-1492"},{"uid":"c5e49757-1494"},{"uid":"c5e49757-1592"},{"uid":"c5e49757-1594"},{"uid":"c5e49757-1616"},{"uid":"c5e49757-1650"},{"uid":"c5e49757-1674"},{"uid":"c5e49757-1676"},{"uid":"c5e49757-1694"},{"uid":"c5e49757-1734"},{"uid":"c5e49757-1776"},{"uid":"c5e49757-1802"},{"uid":"c5e49757-1892"},{"uid":"c5e49757-1894"},{"uid":"c5e49757-1896"},{"uid":"c5e49757-1926"},{"uid":"c5e49757-1938"},{"uid":"c5e49757-1940"},{"uid":"c5e49757-1942"},{"uid":"c5e49757-1944"},{"uid":"c5e49757-1952"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-902"},{"uid":"c5e49757-1644"},{"uid":"c5e49757-1648"}]},"c5e49757-896":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isLength.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-897"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-898"},{"uid":"c5e49757-1216"},{"uid":"c5e49757-916"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-898":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isArrayLike.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-899"},"imported":[{"uid":"c5e49757-774"},{"uid":"c5e49757-896"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-934"},{"uid":"c5e49757-1464"},{"uid":"c5e49757-1494"},{"uid":"c5e49757-1274"},{"uid":"c5e49757-1508"},{"uid":"c5e49757-932"},{"uid":"c5e49757-940"},{"uid":"c5e49757-1766"},{"uid":"c5e49757-1608"},{"uid":"c5e49757-900"},{"uid":"c5e49757-1380"},{"uid":"c5e49757-1400"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1248"},{"uid":"c5e49757-1970"}]},"c5e49757-900":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_isIterateeCall.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-901"},"imported":[{"uid":"c5e49757-886"},{"uid":"c5e49757-898"},{"uid":"c5e49757-866"},{"uid":"c5e49757-762"}],"importedBy":[{"uid":"c5e49757-1088"},{"uid":"c5e49757-1270"},{"uid":"c5e49757-1364"},{"uid":"c5e49757-1374"},{"uid":"c5e49757-1706"},{"uid":"c5e49757-1730"},{"uid":"c5e49757-1754"},{"uid":"c5e49757-1768"},{"uid":"c5e49757-1774"},{"uid":"c5e49757-1776"},{"uid":"c5e49757-1800"},{"uid":"c5e49757-1844"},{"uid":"c5e49757-902"},{"uid":"c5e49757-1710"}]},"c5e49757-902":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createAssigner.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-903"},"imported":[{"uid":"c5e49757-894"},{"uid":"c5e49757-900"}],"importedBy":[{"uid":"c5e49757-934"},{"uid":"c5e49757-942"},{"uid":"c5e49757-944"},{"uid":"c5e49757-946"},{"uid":"c5e49757-1590"},{"uid":"c5e49757-1286"}]},"c5e49757-904":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_isPrototype.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-905"},"imported":[],"importedBy":[{"uid":"c5e49757-934"},{"uid":"c5e49757-1508"},{"uid":"c5e49757-930"},{"uid":"c5e49757-938"},{"uid":"c5e49757-1154"}]},"c5e49757-906":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseTimes.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-907"},"imported":[],"importedBy":[{"uid":"c5e49757-1850"},{"uid":"c5e49757-1908"},{"uid":"c5e49757-924"}]},"c5e49757-908":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseIsArguments.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-909"},"imported":[{"uid":"c5e49757-740"},{"uid":"c5e49757-742"}],"importedBy":[{"uid":"c5e49757-910"}]},"c5e49757-910":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isArguments.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-911"},"imported":[{"uid":"c5e49757-908"},{"uid":"c5e49757-742"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1508"},{"uid":"c5e49757-1216"},{"uid":"c5e49757-924"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1016"},{"uid":"c5e49757-1280"},{"uid":"c5e49757-1970"}]},"c5e49757-912":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/stubFalse.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-913"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-914"},{"uid":"c5e49757-1526"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-914":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isBuffer.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-915"},"imported":[{"uid":"c5e49757-732"},{"uid":"c5e49757-912"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1508"},{"uid":"c5e49757-1868"},{"uid":"c5e49757-1164"},{"uid":"c5e49757-924"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1200"},{"uid":"c5e49757-1280"},{"uid":"c5e49757-1970"}]},"c5e49757-916":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseIsTypedArray.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-917"},"imported":[{"uid":"c5e49757-740"},{"uid":"c5e49757-896"},{"uid":"c5e49757-742"}],"importedBy":[{"uid":"c5e49757-922"}]},"c5e49757-918":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseUnary.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-919"},"imported":[],"importedBy":[{"uid":"c5e49757-1498"},{"uid":"c5e49757-1504"},{"uid":"c5e49757-1158"},{"uid":"c5e49757-1536"},{"uid":"c5e49757-1162"},{"uid":"c5e49757-922"},{"uid":"c5e49757-1650"},{"uid":"c5e49757-1298"},{"uid":"c5e49757-1470"},{"uid":"c5e49757-1640"},{"uid":"c5e49757-1644"},{"uid":"c5e49757-1690"}]},"c5e49757-920":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_nodeUtil.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-921"},"imported":[{"uid":"c5e49757-730"}],"importedBy":[{"uid":"c5e49757-1498"},{"uid":"c5e49757-1504"},{"uid":"c5e49757-1158"},{"uid":"c5e49757-1536"},{"uid":"c5e49757-1162"},{"uid":"c5e49757-922"}]},"c5e49757-922":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isTypedArray.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-923"},"imported":[{"uid":"c5e49757-916"},{"uid":"c5e49757-918"},{"uid":"c5e49757-920"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1508"},{"uid":"c5e49757-1868"},{"uid":"c5e49757-924"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1200"},{"uid":"c5e49757-1280"},{"uid":"c5e49757-1970"}]},"c5e49757-924":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_arrayLikeKeys.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-925"},"imported":[{"uid":"c5e49757-906"},{"uid":"c5e49757-910"},{"uid":"c5e49757-750"},{"uid":"c5e49757-914"},{"uid":"c5e49757-866"},{"uid":"c5e49757-922"}],"importedBy":[{"uid":"c5e49757-932"},{"uid":"c5e49757-940"}]},"c5e49757-926":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_overArg.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-927"},"imported":[],"importedBy":[{"uid":"c5e49757-1026"},{"uid":"c5e49757-928"}]},"c5e49757-928":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_nativeKeys.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-929"},"imported":[{"uid":"c5e49757-926"}],"importedBy":[{"uid":"c5e49757-930"}]},"c5e49757-930":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseKeys.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-931"},"imported":[{"uid":"c5e49757-904"},{"uid":"c5e49757-928"}],"importedBy":[{"uid":"c5e49757-1508"},{"uid":"c5e49757-932"},{"uid":"c5e49757-1766"}]},"c5e49757-932":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/keys.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-933"},"imported":[{"uid":"c5e49757-924"},{"uid":"c5e49757-930"},{"uid":"c5e49757-898"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-934"},{"uid":"c5e49757-946"},{"uid":"c5e49757-1238"},{"uid":"c5e49757-1436"},{"uid":"c5e49757-1600"},{"uid":"c5e49757-1844"},{"uid":"c5e49757-1346"},{"uid":"c5e49757-1462"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-1164"},{"uid":"c5e49757-1234"},{"uid":"c5e49757-1106"},{"uid":"c5e49757-1380"},{"uid":"c5e49757-1246"},{"uid":"c5e49757-1330"},{"uid":"c5e49757-1208"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1126"},{"uid":"c5e49757-1982"}]},"c5e49757-934":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/assign.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-935"},"imported":[{"uid":"c5e49757-888"},{"uid":"c5e49757-890"},{"uid":"c5e49757-902"},{"uid":"c5e49757-898"},{"uid":"c5e49757-904"},{"uid":"c5e49757-932"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-936":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_nativeKeysIn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-937"},"imported":[],"importedBy":[{"uid":"c5e49757-938"}]},"c5e49757-938":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseKeysIn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-939"},"imported":[{"uid":"c5e49757-762"},{"uid":"c5e49757-904"},{"uid":"c5e49757-936"}],"importedBy":[{"uid":"c5e49757-940"}]},"c5e49757-940":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/keysIn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-941"},"imported":[{"uid":"c5e49757-924"},{"uid":"c5e49757-938"},{"uid":"c5e49757-898"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-942"},{"uid":"c5e49757-944"},{"uid":"c5e49757-1270"},{"uid":"c5e49757-1424"},{"uid":"c5e49757-1426"},{"uid":"c5e49757-1438"},{"uid":"c5e49757-1350"},{"uid":"c5e49757-1278"},{"uid":"c5e49757-1924"},{"uid":"c5e49757-1164"},{"uid":"c5e49757-1282"},{"uid":"c5e49757-1128"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1108"},{"uid":"c5e49757-1982"}]},"c5e49757-942":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/assignIn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-943"},"imported":[{"uid":"c5e49757-890"},{"uid":"c5e49757-902"},{"uid":"c5e49757-940"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1366"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-944":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/assignInWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-945"},"imported":[{"uid":"c5e49757-890"},{"uid":"c5e49757-902"},{"uid":"c5e49757-940"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1368"},{"uid":"c5e49757-1844"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-946":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/assignWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-947"},"imported":[{"uid":"c5e49757-890"},{"uid":"c5e49757-902"},{"uid":"c5e49757-932"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-948":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_isKey.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-949"},"imported":[{"uid":"c5e49757-750"},{"uid":"c5e49757-744"}],"importedBy":[{"uid":"c5e49757-1226"},{"uid":"c5e49757-1220"},{"uid":"c5e49757-1004"}]},"c5e49757-950":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_nativeCreate.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-951"},"imported":[{"uid":"c5e49757-786"}],"importedBy":[{"uid":"c5e49757-952"},{"uid":"c5e49757-956"},{"uid":"c5e49757-958"},{"uid":"c5e49757-960"}]},"c5e49757-952":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_hashClear.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-953"},"imported":[{"uid":"c5e49757-950"}],"importedBy":[{"uid":"c5e49757-962"}]},"c5e49757-954":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_hashDelete.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-955"},"imported":[],"importedBy":[{"uid":"c5e49757-962"}]},"c5e49757-956":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_hashGet.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-957"},"imported":[{"uid":"c5e49757-950"}],"importedBy":[{"uid":"c5e49757-962"}]},"c5e49757-958":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_hashHas.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-959"},"imported":[{"uid":"c5e49757-950"}],"importedBy":[{"uid":"c5e49757-962"}]},"c5e49757-960":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_hashSet.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-961"},"imported":[{"uid":"c5e49757-950"}],"importedBy":[{"uid":"c5e49757-962"}]},"c5e49757-962":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_Hash.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-963"},"imported":[{"uid":"c5e49757-952"},{"uid":"c5e49757-954"},{"uid":"c5e49757-956"},{"uid":"c5e49757-958"},{"uid":"c5e49757-960"}],"importedBy":[{"uid":"c5e49757-980"}]},"c5e49757-964":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_listCacheClear.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-965"},"imported":[],"importedBy":[{"uid":"c5e49757-976"}]},"c5e49757-966":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_assocIndexOf.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-967"},"imported":[{"uid":"c5e49757-886"}],"importedBy":[{"uid":"c5e49757-968"},{"uid":"c5e49757-970"},{"uid":"c5e49757-972"},{"uid":"c5e49757-974"}]},"c5e49757-968":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_listCacheDelete.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-969"},"imported":[{"uid":"c5e49757-966"}],"importedBy":[{"uid":"c5e49757-976"}]},"c5e49757-970":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_listCacheGet.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-971"},"imported":[{"uid":"c5e49757-966"}],"importedBy":[{"uid":"c5e49757-976"}]},"c5e49757-972":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_listCacheHas.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-973"},"imported":[{"uid":"c5e49757-966"}],"importedBy":[{"uid":"c5e49757-976"}]},"c5e49757-974":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_listCacheSet.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-975"},"imported":[{"uid":"c5e49757-966"}],"importedBy":[{"uid":"c5e49757-976"}]},"c5e49757-976":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_ListCache.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-977"},"imported":[{"uid":"c5e49757-964"},{"uid":"c5e49757-968"},{"uid":"c5e49757-970"},{"uid":"c5e49757-972"},{"uid":"c5e49757-974"}],"importedBy":[{"uid":"c5e49757-1104"},{"uid":"c5e49757-980"},{"uid":"c5e49757-1094"},{"uid":"c5e49757-1102"}]},"c5e49757-978":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_Map.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-979"},"imported":[{"uid":"c5e49757-786"},{"uid":"c5e49757-732"}],"importedBy":[{"uid":"c5e49757-1136"},{"uid":"c5e49757-980"},{"uid":"c5e49757-1102"}]},"c5e49757-980":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_mapCacheClear.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-981"},"imported":[{"uid":"c5e49757-962"},{"uid":"c5e49757-976"},{"uid":"c5e49757-978"}],"importedBy":[{"uid":"c5e49757-994"}]},"c5e49757-982":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_isKeyable.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-983"},"imported":[],"importedBy":[{"uid":"c5e49757-984"}]},"c5e49757-984":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_getMapData.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-985"},"imported":[{"uid":"c5e49757-982"}],"importedBy":[{"uid":"c5e49757-986"},{"uid":"c5e49757-988"},{"uid":"c5e49757-990"},{"uid":"c5e49757-992"}]},"c5e49757-986":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_mapCacheDelete.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-987"},"imported":[{"uid":"c5e49757-984"}],"importedBy":[{"uid":"c5e49757-994"}]},"c5e49757-988":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_mapCacheGet.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-989"},"imported":[{"uid":"c5e49757-984"}],"importedBy":[{"uid":"c5e49757-994"}]},"c5e49757-990":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_mapCacheHas.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-991"},"imported":[{"uid":"c5e49757-984"}],"importedBy":[{"uid":"c5e49757-994"}]},"c5e49757-992":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_mapCacheSet.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-993"},"imported":[{"uid":"c5e49757-984"}],"importedBy":[{"uid":"c5e49757-994"}]},"c5e49757-994":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_MapCache.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-995"},"imported":[{"uid":"c5e49757-980"},{"uid":"c5e49757-986"},{"uid":"c5e49757-988"},{"uid":"c5e49757-990"},{"uid":"c5e49757-992"}],"importedBy":[{"uid":"c5e49757-996"},{"uid":"c5e49757-1184"},{"uid":"c5e49757-1102"}]},"c5e49757-996":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/memoize.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-997"},"imported":[{"uid":"c5e49757-994"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-998"},{"uid":"c5e49757-1966"}]},"c5e49757-998":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_memoizeCapped.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-999"},"imported":[{"uid":"c5e49757-996"}],"importedBy":[{"uid":"c5e49757-1000"}]},"c5e49757-1000":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_stringToPath.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1001"},"imported":[{"uid":"c5e49757-998"}],"importedBy":[{"uid":"c5e49757-1862"},{"uid":"c5e49757-1004"}]},"c5e49757-1002":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/toString.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1003"},"imported":[{"uid":"c5e49757-752"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1058"},{"uid":"c5e49757-1066"},{"uid":"c5e49757-1338"},{"uid":"c5e49757-1356"},{"uid":"c5e49757-1358"},{"uid":"c5e49757-1666"},{"uid":"c5e49757-1668"},{"uid":"c5e49757-1670"},{"uid":"c5e49757-1672"},{"uid":"c5e49757-1730"},{"uid":"c5e49757-1732"},{"uid":"c5e49757-1800"},{"uid":"c5e49757-1806"},{"uid":"c5e49757-1844"},{"uid":"c5e49757-1860"},{"uid":"c5e49757-1862"},{"uid":"c5e49757-1866"},{"uid":"c5e49757-1874"},{"uid":"c5e49757-1876"},{"uid":"c5e49757-1878"},{"uid":"c5e49757-1880"},{"uid":"c5e49757-1886"},{"uid":"c5e49757-1904"},{"uid":"c5e49757-1074"},{"uid":"c5e49757-1082"},{"uid":"c5e49757-1054"},{"uid":"c5e49757-1004"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1004":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_castPath.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1005"},"imported":[{"uid":"c5e49757-750"},{"uid":"c5e49757-948"},{"uid":"c5e49757-1000"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-1622"},{"uid":"c5e49757-1736"},{"uid":"c5e49757-1008"},{"uid":"c5e49757-1216"},{"uid":"c5e49757-1490"},{"uid":"c5e49757-1618"},{"uid":"c5e49757-1626"},{"uid":"c5e49757-1624"}]},"c5e49757-1006":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_toKey.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1007"},"imported":[{"uid":"c5e49757-744"}],"importedBy":[{"uid":"c5e49757-1038"},{"uid":"c5e49757-1226"},{"uid":"c5e49757-1736"},{"uid":"c5e49757-1862"},{"uid":"c5e49757-1008"},{"uid":"c5e49757-1216"},{"uid":"c5e49757-1490"},{"uid":"c5e49757-1220"},{"uid":"c5e49757-1618"},{"uid":"c5e49757-1624"}]},"c5e49757-1008":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseGet.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1009"},"imported":[{"uid":"c5e49757-1004"},{"uid":"c5e49757-1006"}],"importedBy":[{"uid":"c5e49757-1010"},{"uid":"c5e49757-1686"},{"uid":"c5e49757-1640"},{"uid":"c5e49757-1626"},{"uid":"c5e49757-1224"},{"uid":"c5e49757-1912"},{"uid":"c5e49757-1488"}]},"c5e49757-1010":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/get.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1011"},"imported":[{"uid":"c5e49757-1008"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1012"},{"uid":"c5e49757-1220"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1012":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseAt.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1013"},"imported":[{"uid":"c5e49757-1010"}],"importedBy":[{"uid":"c5e49757-1024"},{"uid":"c5e49757-1702"},{"uid":"c5e49757-1930"}]},"c5e49757-1014":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_arrayPush.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1015"},"imported":[],"importedBy":[{"uid":"c5e49757-1178"},{"uid":"c5e49757-1600"},{"uid":"c5e49757-1802"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-1018"},{"uid":"c5e49757-1854"},{"uid":"c5e49757-1124"},{"uid":"c5e49757-1120"}]},"c5e49757-1016":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_isFlattenable.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1017"},"imported":[{"uid":"c5e49757-734"},{"uid":"c5e49757-910"},{"uid":"c5e49757-750"}],"importedBy":[{"uid":"c5e49757-1018"}]},"c5e49757-1018":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseFlatten.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1019"},"imported":[{"uid":"c5e49757-1014"},{"uid":"c5e49757-1016"}],"importedBy":[{"uid":"c5e49757-1178"},{"uid":"c5e49757-1300"},{"uid":"c5e49757-1304"},{"uid":"c5e49757-1306"},{"uid":"c5e49757-1404"},{"uid":"c5e49757-1406"},{"uid":"c5e49757-1408"},{"uid":"c5e49757-1020"},{"uid":"c5e49757-1410"},{"uid":"c5e49757-1412"},{"uid":"c5e49757-1650"},{"uid":"c5e49757-1776"},{"uid":"c5e49757-1892"},{"uid":"c5e49757-1894"},{"uid":"c5e49757-1896"},{"uid":"c5e49757-1936"}]},"c5e49757-1020":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/flatten.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1021"},"imported":[{"uid":"c5e49757-1018"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1022"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1022":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_flatRest.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1023"},"imported":[{"uid":"c5e49757-1020"},{"uid":"c5e49757-892"},{"uid":"c5e49757-844"}],"importedBy":[{"uid":"c5e49757-1024"},{"uid":"c5e49757-1038"},{"uid":"c5e49757-1622"},{"uid":"c5e49757-1682"},{"uid":"c5e49757-1702"},{"uid":"c5e49757-1716"},{"uid":"c5e49757-1930"},{"uid":"c5e49757-1418"},{"uid":"c5e49757-1644"}]},"c5e49757-1024":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/at.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1025"},"imported":[{"uid":"c5e49757-1012"},{"uid":"c5e49757-1022"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1026":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_getPrototype.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1027"},"imported":[{"uid":"c5e49757-926"}],"importedBy":[{"uid":"c5e49757-1028"},{"uid":"c5e49757-1868"},{"uid":"c5e49757-1154"},{"uid":"c5e49757-1120"}]},"c5e49757-1028":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isPlainObject.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1029"},"imported":[{"uid":"c5e49757-740"},{"uid":"c5e49757-1026"},{"uid":"c5e49757-742"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1506"},{"uid":"c5e49757-1030"},{"uid":"c5e49757-1620"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1280"},{"uid":"c5e49757-1970"}]},"c5e49757-1030":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isError.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1031"},"imported":[{"uid":"c5e49757-740"},{"uid":"c5e49757-742"},{"uid":"c5e49757-1028"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1032"},{"uid":"c5e49757-1844"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1032":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/attempt.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1033"},"imported":[{"uid":"c5e49757-800"},{"uid":"c5e49757-894"},{"uid":"c5e49757-1030"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1844"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1034":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/before.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1035"},"imported":[{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1632"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1036":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/bind.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1037"},"imported":[{"uid":"c5e49757-894"},{"uid":"c5e49757-880"},{"uid":"c5e49757-864"},{"uid":"c5e49757-870"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1038"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1038":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/bindAll.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1039"},"imported":[{"uid":"c5e49757-846"},{"uid":"c5e49757-884"},{"uid":"c5e49757-1036"},{"uid":"c5e49757-1022"},{"uid":"c5e49757-1006"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1040":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/bindKey.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1041"},"imported":[{"uid":"c5e49757-894"},{"uid":"c5e49757-880"},{"uid":"c5e49757-864"},{"uid":"c5e49757-870"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1042":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseSlice.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1043"},"imported":[],"importedBy":[{"uid":"c5e49757-1088"},{"uid":"c5e49757-1310"},{"uid":"c5e49757-1312"},{"uid":"c5e49757-1468"},{"uid":"c5e49757-1768"},{"uid":"c5e49757-1820"},{"uid":"c5e49757-1822"},{"uid":"c5e49757-1824"},{"uid":"c5e49757-1314"},{"uid":"c5e49757-1044"},{"uid":"c5e49757-1488"}]},"c5e49757-1044":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_castSlice.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1045"},"imported":[{"uid":"c5e49757-1042"}],"importedBy":[{"uid":"c5e49757-1800"},{"uid":"c5e49757-1802"},{"uid":"c5e49757-1874"},{"uid":"c5e49757-1876"},{"uid":"c5e49757-1878"},{"uid":"c5e49757-1880"},{"uid":"c5e49757-1054"},{"uid":"c5e49757-1664"}]},"c5e49757-1046":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_hasUnicode.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1047"},"imported":[],"importedBy":[{"uid":"c5e49757-1800"},{"uid":"c5e49757-1880"},{"uid":"c5e49757-1054"},{"uid":"c5e49757-1664"},{"uid":"c5e49757-1662"},{"uid":"c5e49757-1052"}]},"c5e49757-1048":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_asciiToArray.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1049"},"imported":[],"importedBy":[{"uid":"c5e49757-1052"}]},"c5e49757-1050":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_unicodeToArray.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1051"},"imported":[],"importedBy":[{"uid":"c5e49757-1052"}]},"c5e49757-1052":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_stringToArray.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1053"},"imported":[{"uid":"c5e49757-1048"},{"uid":"c5e49757-1046"},{"uid":"c5e49757-1050"}],"importedBy":[{"uid":"c5e49757-1800"},{"uid":"c5e49757-1608"},{"uid":"c5e49757-1874"},{"uid":"c5e49757-1876"},{"uid":"c5e49757-1878"},{"uid":"c5e49757-1880"},{"uid":"c5e49757-1054"},{"uid":"c5e49757-1664"}]},"c5e49757-1054":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createCaseFirst.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1055"},"imported":[{"uid":"c5e49757-1044"},{"uid":"c5e49757-1046"},{"uid":"c5e49757-1052"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-1560"},{"uid":"c5e49757-1056"}]},"c5e49757-1056":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/upperFirst.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1057"},"imported":[{"uid":"c5e49757-1054"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1058"},{"uid":"c5e49757-1804"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1058":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/capitalize.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1059"},"imported":[{"uid":"c5e49757-1002"},{"uid":"c5e49757-1056"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1078"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1060":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_arrayReduce.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1061"},"imported":[],"importedBy":[{"uid":"c5e49757-1720"},{"uid":"c5e49757-1076"},{"uid":"c5e49757-1854"}]},"c5e49757-1062":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_basePropertyOf.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1063"},"imported":[],"importedBy":[{"uid":"c5e49757-1064"},{"uid":"c5e49757-1354"},{"uid":"c5e49757-1884"}]},"c5e49757-1064":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_deburrLetter.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1065"},"imported":[{"uid":"c5e49757-1062"}],"importedBy":[{"uid":"c5e49757-1066"}]},"c5e49757-1066":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/deburr.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1067"},"imported":[{"uid":"c5e49757-1064"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1076"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1068":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_asciiWords.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1069"},"imported":[],"importedBy":[{"uid":"c5e49757-1074"}]},"c5e49757-1070":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_hasUnicodeWord.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1071"},"imported":[],"importedBy":[{"uid":"c5e49757-1074"}]},"c5e49757-1072":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_unicodeWords.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1073"},"imported":[],"importedBy":[{"uid":"c5e49757-1074"}]},"c5e49757-1074":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/words.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1075"},"imported":[{"uid":"c5e49757-1068"},{"uid":"c5e49757-1070"},{"uid":"c5e49757-1002"},{"uid":"c5e49757-1072"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1076"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1076":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createCompounder.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1077"},"imported":[{"uid":"c5e49757-1060"},{"uid":"c5e49757-1066"},{"uid":"c5e49757-1074"}],"importedBy":[{"uid":"c5e49757-1078"},{"uid":"c5e49757-1550"},{"uid":"c5e49757-1558"},{"uid":"c5e49757-1770"},{"uid":"c5e49757-1804"},{"uid":"c5e49757-1918"}]},"c5e49757-1078":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/camelCase.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1079"},"imported":[{"uid":"c5e49757-1058"},{"uid":"c5e49757-1076"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1080":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/castArray.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1081"},"imported":[{"uid":"c5e49757-750"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1082":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createRound.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1083"},"imported":[{"uid":"c5e49757-732"},{"uid":"c5e49757-768"},{"uid":"c5e49757-764"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-1084"},{"uid":"c5e49757-1416"},{"uid":"c5e49757-1740"}]},"c5e49757-1084":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/ceil.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1085"},"imported":[{"uid":"c5e49757-1082"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1976"},{"uid":"c5e49757-1974"}]},"c5e49757-1086":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/chain.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1087"},"imported":[{"uid":"c5e49757-826"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1932"},{"uid":"c5e49757-1988"},{"uid":"c5e49757-1986"}]},"c5e49757-1088":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/chunk.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1089"},"imported":[{"uid":"c5e49757-1042"},{"uid":"c5e49757-900"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1090":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseClamp.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1091"},"imported":[],"importedBy":[{"uid":"c5e49757-1092"},{"uid":"c5e49757-1338"},{"uid":"c5e49757-1806"},{"uid":"c5e49757-1370"},{"uid":"c5e49757-1864"},{"uid":"c5e49757-1750"},{"uid":"c5e49757-1752"}]},"c5e49757-1092":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/clamp.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1093"},"imported":[{"uid":"c5e49757-1090"},{"uid":"c5e49757-764"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1980"},{"uid":"c5e49757-1978"}]},"c5e49757-1094":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_stackClear.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1095"},"imported":[{"uid":"c5e49757-976"}],"importedBy":[{"uid":"c5e49757-1104"}]},"c5e49757-1096":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_stackDelete.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1097"},"imported":[],"importedBy":[{"uid":"c5e49757-1104"}]},"c5e49757-1098":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_stackGet.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1099"},"imported":[],"importedBy":[{"uid":"c5e49757-1104"}]},"c5e49757-1100":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_stackHas.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1101"},"imported":[],"importedBy":[{"uid":"c5e49757-1104"}]},"c5e49757-1102":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_stackSet.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1103"},"imported":[{"uid":"c5e49757-976"},{"uid":"c5e49757-978"},{"uid":"c5e49757-994"}],"importedBy":[{"uid":"c5e49757-1104"}]},"c5e49757-1104":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_Stack.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1105"},"imported":[{"uid":"c5e49757-976"},{"uid":"c5e49757-1094"},{"uid":"c5e49757-1096"},{"uid":"c5e49757-1098"},{"uid":"c5e49757-1100"},{"uid":"c5e49757-1102"}],"importedBy":[{"uid":"c5e49757-1164"},{"uid":"c5e49757-1204"},{"uid":"c5e49757-1282"},{"uid":"c5e49757-1200"}]},"c5e49757-1106":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseAssign.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1107"},"imported":[{"uid":"c5e49757-890"},{"uid":"c5e49757-932"}],"importedBy":[{"uid":"c5e49757-1258"},{"uid":"c5e49757-1164"}]},"c5e49757-1108":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseAssignIn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1109"},"imported":[{"uid":"c5e49757-890"},{"uid":"c5e49757-940"}],"importedBy":[{"uid":"c5e49757-1164"}]},"c5e49757-1110":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_cloneBuffer.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1111"},"imported":[{"uid":"c5e49757-732"}],"importedBy":[{"uid":"c5e49757-1164"},{"uid":"c5e49757-1280"}]},"c5e49757-1112":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_arrayFilter.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1113"},"imported":[],"importedBy":[{"uid":"c5e49757-1378"},{"uid":"c5e49757-1726"},{"uid":"c5e49757-1908"},{"uid":"c5e49757-1938"},{"uid":"c5e49757-1940"},{"uid":"c5e49757-1942"},{"uid":"c5e49757-1434"},{"uid":"c5e49757-1116"}]},"c5e49757-1114":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/stubArray.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1115"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1120"},{"uid":"c5e49757-1994"},{"uid":"c5e49757-1116"}]},"c5e49757-1116":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_getSymbols.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1117"},"imported":[{"uid":"c5e49757-1112"},{"uid":"c5e49757-1114"}],"importedBy":[{"uid":"c5e49757-1118"},{"uid":"c5e49757-1126"},{"uid":"c5e49757-1120"}]},"c5e49757-1118":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_copySymbols.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1119"},"imported":[{"uid":"c5e49757-890"},{"uid":"c5e49757-1116"}],"importedBy":[{"uid":"c5e49757-1164"}]},"c5e49757-1120":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_getSymbolsIn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1121"},"imported":[{"uid":"c5e49757-1014"},{"uid":"c5e49757-1026"},{"uid":"c5e49757-1116"},{"uid":"c5e49757-1114"}],"importedBy":[{"uid":"c5e49757-1128"},{"uid":"c5e49757-1122"}]},"c5e49757-1122":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_copySymbolsIn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1123"},"imported":[{"uid":"c5e49757-890"},{"uid":"c5e49757-1120"}],"importedBy":[{"uid":"c5e49757-1164"}]},"c5e49757-1124":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseGetAllKeys.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1125"},"imported":[{"uid":"c5e49757-1014"},{"uid":"c5e49757-750"}],"importedBy":[{"uid":"c5e49757-1128"},{"uid":"c5e49757-1126"}]},"c5e49757-1126":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_getAllKeys.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1127"},"imported":[{"uid":"c5e49757-1124"},{"uid":"c5e49757-1116"},{"uid":"c5e49757-932"}],"importedBy":[{"uid":"c5e49757-1164"},{"uid":"c5e49757-1198"}]},"c5e49757-1128":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_getAllKeysIn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1129"},"imported":[{"uid":"c5e49757-1124"},{"uid":"c5e49757-1120"},{"uid":"c5e49757-940"}],"importedBy":[{"uid":"c5e49757-1622"},{"uid":"c5e49757-1628"},{"uid":"c5e49757-1164"}]},"c5e49757-1130":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_DataView.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1131"},"imported":[{"uid":"c5e49757-786"},{"uid":"c5e49757-732"}],"importedBy":[{"uid":"c5e49757-1136"}]},"c5e49757-1132":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_Promise.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1133"},"imported":[{"uid":"c5e49757-786"},{"uid":"c5e49757-732"}],"importedBy":[{"uid":"c5e49757-1136"}]},"c5e49757-1134":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_Set.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1135"},"imported":[{"uid":"c5e49757-786"},{"uid":"c5e49757-732"}],"importedBy":[{"uid":"c5e49757-1136"},{"uid":"c5e49757-1888"}]},"c5e49757-1136":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_getTag.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1137"},"imported":[{"uid":"c5e49757-1130"},{"uid":"c5e49757-978"},{"uid":"c5e49757-1132"},{"uid":"c5e49757-1134"},{"uid":"c5e49757-788"},{"uid":"c5e49757-740"},{"uid":"c5e49757-780"}],"importedBy":[{"uid":"c5e49757-1508"},{"uid":"c5e49757-1542"},{"uid":"c5e49757-1766"},{"uid":"c5e49757-1608"},{"uid":"c5e49757-1164"},{"uid":"c5e49757-1156"},{"uid":"c5e49757-1160"},{"uid":"c5e49757-1344"},{"uid":"c5e49757-1200"}]},"c5e49757-1138":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_initCloneArray.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1139"},"imported":[],"importedBy":[{"uid":"c5e49757-1164"}]},"c5e49757-1140":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_Uint8Array.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1141"},"imported":[{"uid":"c5e49757-732"}],"importedBy":[{"uid":"c5e49757-1142"},{"uid":"c5e49757-1196"}]},"c5e49757-1142":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_cloneArrayBuffer.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1143"},"imported":[{"uid":"c5e49757-1140"}],"importedBy":[{"uid":"c5e49757-1152"},{"uid":"c5e49757-1144"},{"uid":"c5e49757-1150"}]},"c5e49757-1144":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_cloneDataView.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1145"},"imported":[{"uid":"c5e49757-1142"}],"importedBy":[{"uid":"c5e49757-1152"}]},"c5e49757-1146":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_cloneRegExp.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1147"},"imported":[],"importedBy":[{"uid":"c5e49757-1152"}]},"c5e49757-1148":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_cloneSymbol.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1149"},"imported":[{"uid":"c5e49757-734"}],"importedBy":[{"uid":"c5e49757-1152"}]},"c5e49757-1150":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_cloneTypedArray.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1151"},"imported":[{"uid":"c5e49757-1142"}],"importedBy":[{"uid":"c5e49757-1152"},{"uid":"c5e49757-1280"}]},"c5e49757-1152":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_initCloneByTag.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1153"},"imported":[{"uid":"c5e49757-1142"},{"uid":"c5e49757-1144"},{"uid":"c5e49757-1146"},{"uid":"c5e49757-1148"},{"uid":"c5e49757-1150"}],"importedBy":[{"uid":"c5e49757-1164"}]},"c5e49757-1154":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_initCloneObject.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1155"},"imported":[{"uid":"c5e49757-794"},{"uid":"c5e49757-1026"},{"uid":"c5e49757-904"}],"importedBy":[{"uid":"c5e49757-1164"},{"uid":"c5e49757-1280"}]},"c5e49757-1156":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseIsMap.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1157"},"imported":[{"uid":"c5e49757-1136"},{"uid":"c5e49757-742"}],"importedBy":[{"uid":"c5e49757-1158"}]},"c5e49757-1158":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isMap.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1159"},"imported":[{"uid":"c5e49757-1156"},{"uid":"c5e49757-918"},{"uid":"c5e49757-920"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1164"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1160":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseIsSet.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1161"},"imported":[{"uid":"c5e49757-1136"},{"uid":"c5e49757-742"}],"importedBy":[{"uid":"c5e49757-1162"}]},"c5e49757-1162":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isSet.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1163"},"imported":[{"uid":"c5e49757-1160"},{"uid":"c5e49757-918"},{"uid":"c5e49757-920"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1164"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1164":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseClone.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1165"},"imported":[{"uid":"c5e49757-1104"},{"uid":"c5e49757-846"},{"uid":"c5e49757-888"},{"uid":"c5e49757-1106"},{"uid":"c5e49757-1108"},{"uid":"c5e49757-1110"},{"uid":"c5e49757-822"},{"uid":"c5e49757-1118"},{"uid":"c5e49757-1122"},{"uid":"c5e49757-1126"},{"uid":"c5e49757-1128"},{"uid":"c5e49757-1136"},{"uid":"c5e49757-1138"},{"uid":"c5e49757-1152"},{"uid":"c5e49757-1154"},{"uid":"c5e49757-750"},{"uid":"c5e49757-914"},{"uid":"c5e49757-1158"},{"uid":"c5e49757-762"},{"uid":"c5e49757-1162"},{"uid":"c5e49757-932"},{"uid":"c5e49757-940"}],"importedBy":[{"uid":"c5e49757-1166"},{"uid":"c5e49757-1168"},{"uid":"c5e49757-1170"},{"uid":"c5e49757-1172"},{"uid":"c5e49757-1236"},{"uid":"c5e49757-1546"},{"uid":"c5e49757-1572"},{"uid":"c5e49757-1574"},{"uid":"c5e49757-1622"}]},"c5e49757-1166":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/clone.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1167"},"imported":[{"uid":"c5e49757-1164"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1168":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/cloneDeep.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1169"},"imported":[{"uid":"c5e49757-1164"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1170":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/cloneDeepWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1171"},"imported":[{"uid":"c5e49757-1164"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1172":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/cloneWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1173"},"imported":[{"uid":"c5e49757-1164"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1174":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/commit.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1175"},"imported":[{"uid":"c5e49757-820"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1988"},{"uid":"c5e49757-1986"}]},"c5e49757-1176":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/compact.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1177"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1178":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/concat.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1179"},"imported":[{"uid":"c5e49757-1014"},{"uid":"c5e49757-1018"},{"uid":"c5e49757-822"},{"uid":"c5e49757-750"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1180":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_setCacheAdd.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1181"},"imported":[],"importedBy":[{"uid":"c5e49757-1184"}]},"c5e49757-1182":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_setCacheHas.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1183"},"imported":[],"importedBy":[{"uid":"c5e49757-1184"}]},"c5e49757-1184":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_SetCache.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1185"},"imported":[{"uid":"c5e49757-994"},{"uid":"c5e49757-1180"},{"uid":"c5e49757-1182"}],"importedBy":[{"uid":"c5e49757-1298"},{"uid":"c5e49757-1470"},{"uid":"c5e49757-1890"},{"uid":"c5e49757-1190"}]},"c5e49757-1186":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_arraySome.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1187"},"imported":[],"importedBy":[{"uid":"c5e49757-1654"},{"uid":"c5e49757-1774"},{"uid":"c5e49757-1190"}]},"c5e49757-1188":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_cacheHas.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1189"},"imported":[],"importedBy":[{"uid":"c5e49757-1298"},{"uid":"c5e49757-1470"},{"uid":"c5e49757-1890"},{"uid":"c5e49757-1190"}]},"c5e49757-1190":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_equalArrays.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1191"},"imported":[{"uid":"c5e49757-1184"},{"uid":"c5e49757-1186"},{"uid":"c5e49757-1188"}],"importedBy":[{"uid":"c5e49757-1200"},{"uid":"c5e49757-1196"}]},"c5e49757-1192":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_mapToArray.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1193"},"imported":[],"importedBy":[{"uid":"c5e49757-1608"},{"uid":"c5e49757-1344"},{"uid":"c5e49757-1196"}]},"c5e49757-1194":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_setToArray.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1195"},"imported":[],"importedBy":[{"uid":"c5e49757-1608"},{"uid":"c5e49757-1890"},{"uid":"c5e49757-1888"},{"uid":"c5e49757-1196"}]},"c5e49757-1196":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_equalByTag.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1197"},"imported":[{"uid":"c5e49757-734"},{"uid":"c5e49757-1140"},{"uid":"c5e49757-886"},{"uid":"c5e49757-1190"},{"uid":"c5e49757-1192"},{"uid":"c5e49757-1194"}],"importedBy":[{"uid":"c5e49757-1200"}]},"c5e49757-1198":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_equalObjects.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1199"},"imported":[{"uid":"c5e49757-1126"}],"importedBy":[{"uid":"c5e49757-1200"}]},"c5e49757-1200":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseIsEqualDeep.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1201"},"imported":[{"uid":"c5e49757-1104"},{"uid":"c5e49757-1190"},{"uid":"c5e49757-1196"},{"uid":"c5e49757-1198"},{"uid":"c5e49757-1136"},{"uid":"c5e49757-750"},{"uid":"c5e49757-914"},{"uid":"c5e49757-922"}],"importedBy":[{"uid":"c5e49757-1202"}]},"c5e49757-1202":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseIsEqual.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1203"},"imported":[{"uid":"c5e49757-1200"},{"uid":"c5e49757-742"}],"importedBy":[{"uid":"c5e49757-1510"},{"uid":"c5e49757-1512"},{"uid":"c5e49757-1204"},{"uid":"c5e49757-1220"}]},"c5e49757-1204":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseIsMatch.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1205"},"imported":[{"uid":"c5e49757-1104"},{"uid":"c5e49757-1202"}],"importedBy":[{"uid":"c5e49757-1518"},{"uid":"c5e49757-1520"},{"uid":"c5e49757-1212"}]},"c5e49757-1206":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_isStrictComparable.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1207"},"imported":[{"uid":"c5e49757-762"}],"importedBy":[{"uid":"c5e49757-1208"},{"uid":"c5e49757-1220"}]},"c5e49757-1208":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_getMatchData.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1209"},"imported":[{"uid":"c5e49757-1206"},{"uid":"c5e49757-932"}],"importedBy":[{"uid":"c5e49757-1518"},{"uid":"c5e49757-1520"},{"uid":"c5e49757-1212"}]},"c5e49757-1210":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_matchesStrictComparable.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1211"},"imported":[],"importedBy":[{"uid":"c5e49757-1212"},{"uid":"c5e49757-1220"}]},"c5e49757-1212":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseMatches.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1213"},"imported":[{"uid":"c5e49757-1204"},{"uid":"c5e49757-1208"},{"uid":"c5e49757-1210"}],"importedBy":[{"uid":"c5e49757-1572"},{"uid":"c5e49757-1228"}]},"c5e49757-1214":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseHasIn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1215"},"imported":[],"importedBy":[{"uid":"c5e49757-1218"}]},"c5e49757-1216":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_hasPath.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1217"},"imported":[{"uid":"c5e49757-1004"},{"uid":"c5e49757-910"},{"uid":"c5e49757-750"},{"uid":"c5e49757-866"},{"uid":"c5e49757-896"},{"uid":"c5e49757-1006"}],"importedBy":[{"uid":"c5e49757-1452"},{"uid":"c5e49757-1218"}]},"c5e49757-1218":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/hasIn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1219"},"imported":[{"uid":"c5e49757-1214"},{"uid":"c5e49757-1216"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1220"},{"uid":"c5e49757-1680"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1220":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseMatchesProperty.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1221"},"imported":[{"uid":"c5e49757-1202"},{"uid":"c5e49757-1010"},{"uid":"c5e49757-1218"},{"uid":"c5e49757-948"},{"uid":"c5e49757-1206"},{"uid":"c5e49757-1210"},{"uid":"c5e49757-1006"}],"importedBy":[{"uid":"c5e49757-1574"},{"uid":"c5e49757-1228"}]},"c5e49757-1222":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseProperty.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1223"},"imported":[],"importedBy":[{"uid":"c5e49757-1226"},{"uid":"c5e49757-1908"},{"uid":"c5e49757-1658"}]},"c5e49757-1224":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_basePropertyDeep.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1225"},"imported":[{"uid":"c5e49757-1008"}],"importedBy":[{"uid":"c5e49757-1226"}]},"c5e49757-1226":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/property.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1227"},"imported":[{"uid":"c5e49757-1222"},{"uid":"c5e49757-1224"},{"uid":"c5e49757-948"},{"uid":"c5e49757-1006"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1228":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseIteratee.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1229"},"imported":[{"uid":"c5e49757-1212"},{"uid":"c5e49757-1220"},{"uid":"c5e49757-772"},{"uid":"c5e49757-750"},{"uid":"c5e49757-1226"}],"importedBy":[{"uid":"c5e49757-1230"},{"uid":"c5e49757-1304"},{"uid":"c5e49757-1316"},{"uid":"c5e49757-1318"},{"uid":"c5e49757-1364"},{"uid":"c5e49757-1378"},{"uid":"c5e49757-1382"},{"uid":"c5e49757-1388"},{"uid":"c5e49757-1390"},{"uid":"c5e49757-1394"},{"uid":"c5e49757-1476"},{"uid":"c5e49757-1486"},{"uid":"c5e49757-1546"},{"uid":"c5e49757-1402"},{"uid":"c5e49757-1568"},{"uid":"c5e49757-1570"},{"uid":"c5e49757-1580"},{"uid":"c5e49757-1588"},{"uid":"c5e49757-1598"},{"uid":"c5e49757-1630"},{"uid":"c5e49757-1650"},{"uid":"c5e49757-1628"},{"uid":"c5e49757-1696"},{"uid":"c5e49757-1720"},{"uid":"c5e49757-1724"},{"uid":"c5e49757-1726"},{"uid":"c5e49757-1728"},{"uid":"c5e49757-1774"},{"uid":"c5e49757-1784"},{"uid":"c5e49757-1790"},{"uid":"c5e49757-1798"},{"uid":"c5e49757-1818"},{"uid":"c5e49757-1826"},{"uid":"c5e49757-1828"},{"uid":"c5e49757-1868"},{"uid":"c5e49757-1894"},{"uid":"c5e49757-1900"},{"uid":"c5e49757-1940"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-1254"},{"uid":"c5e49757-1380"},{"uid":"c5e49757-1640"},{"uid":"c5e49757-1644"}]},"c5e49757-1230":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/cond.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1231"},"imported":[{"uid":"c5e49757-800"},{"uid":"c5e49757-748"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-894"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1232":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseConformsTo.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1233"},"imported":[],"importedBy":[{"uid":"c5e49757-1238"},{"uid":"c5e49757-1234"}]},"c5e49757-1234":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseConforms.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1235"},"imported":[{"uid":"c5e49757-1232"},{"uid":"c5e49757-932"}],"importedBy":[{"uid":"c5e49757-1236"}]},"c5e49757-1236":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/conforms.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1237"},"imported":[{"uid":"c5e49757-1164"},{"uid":"c5e49757-1234"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1238":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/conformsTo.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1239"},"imported":[{"uid":"c5e49757-1232"},{"uid":"c5e49757-932"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1240":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_arrayAggregator.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1241"},"imported":[],"importedBy":[{"uid":"c5e49757-1254"}]},"c5e49757-1242":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createBaseFor.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1243"},"imported":[],"importedBy":[{"uid":"c5e49757-1244"},{"uid":"c5e49757-1328"}]},"c5e49757-1244":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseFor.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1245"},"imported":[{"uid":"c5e49757-1242"}],"importedBy":[{"uid":"c5e49757-1424"},{"uid":"c5e49757-1246"},{"uid":"c5e49757-1282"}]},"c5e49757-1246":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseForOwn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1247"},"imported":[{"uid":"c5e49757-1244"},{"uid":"c5e49757-932"}],"importedBy":[{"uid":"c5e49757-1388"},{"uid":"c5e49757-1428"},{"uid":"c5e49757-1568"},{"uid":"c5e49757-1570"},{"uid":"c5e49757-1868"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-1250"},{"uid":"c5e49757-1480"}]},"c5e49757-1248":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createBaseEach.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1249"},"imported":[{"uid":"c5e49757-898"}],"importedBy":[{"uid":"c5e49757-1250"},{"uid":"c5e49757-1332"}]},"c5e49757-1250":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseEach.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1251"},"imported":[{"uid":"c5e49757-1246"},{"uid":"c5e49757-1248"}],"importedBy":[{"uid":"c5e49757-1322"},{"uid":"c5e49757-1494"},{"uid":"c5e49757-1720"},{"uid":"c5e49757-1362"},{"uid":"c5e49757-1376"},{"uid":"c5e49757-1400"},{"uid":"c5e49757-1772"},{"uid":"c5e49757-1252"}]},"c5e49757-1252":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseAggregator.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1253"},"imported":[{"uid":"c5e49757-1250"}],"importedBy":[{"uid":"c5e49757-1254"}]},"c5e49757-1254":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createAggregator.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1255"},"imported":[{"uid":"c5e49757-1240"},{"uid":"c5e49757-1252"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-750"}],"importedBy":[{"uid":"c5e49757-1256"},{"uid":"c5e49757-1440"},{"uid":"c5e49757-1552"},{"uid":"c5e49757-1678"}]},"c5e49757-1256":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/countBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1257"},"imported":[{"uid":"c5e49757-884"},{"uid":"c5e49757-1254"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1258":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/create.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1259"},"imported":[{"uid":"c5e49757-1106"},{"uid":"c5e49757-794"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1260":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/curry.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1261"},"imported":[{"uid":"c5e49757-880"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1262":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/curryRight.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1263"},"imported":[{"uid":"c5e49757-880"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1264":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/now.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1265"},"imported":[{"uid":"c5e49757-732"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1266"},{"uid":"c5e49757-1964"},{"uid":"c5e49757-1962"}]},"c5e49757-1266":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/debounce.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1267"},"imported":[{"uid":"c5e49757-762"},{"uid":"c5e49757-1264"},{"uid":"c5e49757-764"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1846"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1268":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/defaultTo.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1269"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1270":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/defaults.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1271"},"imported":[{"uid":"c5e49757-894"},{"uid":"c5e49757-886"},{"uid":"c5e49757-900"},{"uid":"c5e49757-940"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1272":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_assignMergeValue.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1273"},"imported":[{"uid":"c5e49757-884"},{"uid":"c5e49757-886"}],"importedBy":[{"uid":"c5e49757-1282"},{"uid":"c5e49757-1280"}]},"c5e49757-1274":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isArrayLikeObject.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1275"},"imported":[{"uid":"c5e49757-898"},{"uid":"c5e49757-742"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1300"},{"uid":"c5e49757-1304"},{"uid":"c5e49757-1306"},{"uid":"c5e49757-1892"},{"uid":"c5e49757-1894"},{"uid":"c5e49757-1896"},{"uid":"c5e49757-1908"},{"uid":"c5e49757-1926"},{"uid":"c5e49757-1938"},{"uid":"c5e49757-1940"},{"uid":"c5e49757-1942"},{"uid":"c5e49757-1472"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1280"},{"uid":"c5e49757-1970"}]},"c5e49757-1276":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_safeGet.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1277"},"imported":[],"importedBy":[{"uid":"c5e49757-1282"},{"uid":"c5e49757-1280"}]},"c5e49757-1278":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/toPlainObject.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1279"},"imported":[{"uid":"c5e49757-890"},{"uid":"c5e49757-940"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1280"},{"uid":"c5e49757-1970"}]},"c5e49757-1280":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseMergeDeep.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1281"},"imported":[{"uid":"c5e49757-1272"},{"uid":"c5e49757-1110"},{"uid":"c5e49757-1150"},{"uid":"c5e49757-822"},{"uid":"c5e49757-1154"},{"uid":"c5e49757-910"},{"uid":"c5e49757-750"},{"uid":"c5e49757-1274"},{"uid":"c5e49757-914"},{"uid":"c5e49757-774"},{"uid":"c5e49757-762"},{"uid":"c5e49757-1028"},{"uid":"c5e49757-922"},{"uid":"c5e49757-1276"},{"uid":"c5e49757-1278"}],"importedBy":[{"uid":"c5e49757-1282"}]},"c5e49757-1282":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseMerge.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1283"},"imported":[{"uid":"c5e49757-1104"},{"uid":"c5e49757-1272"},{"uid":"c5e49757-1244"},{"uid":"c5e49757-1280"},{"uid":"c5e49757-762"},{"uid":"c5e49757-940"},{"uid":"c5e49757-1276"}],"importedBy":[{"uid":"c5e49757-1590"},{"uid":"c5e49757-1286"},{"uid":"c5e49757-1284"}]},"c5e49757-1284":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_customDefaultsMerge.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1285"},"imported":[{"uid":"c5e49757-1282"},{"uid":"c5e49757-762"}],"importedBy":[{"uid":"c5e49757-1288"}]},"c5e49757-1286":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/mergeWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1287"},"imported":[{"uid":"c5e49757-1282"},{"uid":"c5e49757-902"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1288"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1288":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/defaultsDeep.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1289"},"imported":[{"uid":"c5e49757-800"},{"uid":"c5e49757-894"},{"uid":"c5e49757-1284"},{"uid":"c5e49757-1286"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1290":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseDelay.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1291"},"imported":[],"importedBy":[{"uid":"c5e49757-1292"},{"uid":"c5e49757-1294"}]},"c5e49757-1292":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/defer.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1293"},"imported":[{"uid":"c5e49757-1290"},{"uid":"c5e49757-894"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1294":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/delay.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1295"},"imported":[{"uid":"c5e49757-1290"},{"uid":"c5e49757-894"},{"uid":"c5e49757-764"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1296":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_arrayIncludesWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1297"},"imported":[],"importedBy":[{"uid":"c5e49757-1298"},{"uid":"c5e49757-1470"},{"uid":"c5e49757-1890"}]},"c5e49757-1298":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseDifference.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1299"},"imported":[{"uid":"c5e49757-1184"},{"uid":"c5e49757-856"},{"uid":"c5e49757-1296"},{"uid":"c5e49757-748"},{"uid":"c5e49757-918"},{"uid":"c5e49757-1188"}],"importedBy":[{"uid":"c5e49757-1300"},{"uid":"c5e49757-1304"},{"uid":"c5e49757-1306"},{"uid":"c5e49757-1926"},{"uid":"c5e49757-1936"}]},"c5e49757-1300":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/difference.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1301"},"imported":[{"uid":"c5e49757-1298"},{"uid":"c5e49757-1018"},{"uid":"c5e49757-894"},{"uid":"c5e49757-1274"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1302":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/last.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1303"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1304"},{"uid":"c5e49757-1306"},{"uid":"c5e49757-1476"},{"uid":"c5e49757-1478"},{"uid":"c5e49757-1894"},{"uid":"c5e49757-1896"},{"uid":"c5e49757-1940"},{"uid":"c5e49757-1942"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-1490"},{"uid":"c5e49757-1618"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1304":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/differenceBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1305"},"imported":[{"uid":"c5e49757-1298"},{"uid":"c5e49757-1018"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-894"},{"uid":"c5e49757-1274"},{"uid":"c5e49757-1302"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1306":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/differenceWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1307"},"imported":[{"uid":"c5e49757-1298"},{"uid":"c5e49757-1018"},{"uid":"c5e49757-894"},{"uid":"c5e49757-1274"},{"uid":"c5e49757-1302"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1308":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/divide.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1309"},"imported":[{"uid":"c5e49757-754"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1976"},{"uid":"c5e49757-1974"}]},"c5e49757-1310":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/drop.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1311"},"imported":[{"uid":"c5e49757-1042"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1312":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/dropRight.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1313"},"imported":[{"uid":"c5e49757-1042"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1314":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseWhile.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1315"},"imported":[{"uid":"c5e49757-1042"}],"importedBy":[{"uid":"c5e49757-1316"},{"uid":"c5e49757-1318"},{"uid":"c5e49757-1826"},{"uid":"c5e49757-1828"}]},"c5e49757-1316":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/dropRightWhile.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1317"},"imported":[{"uid":"c5e49757-1228"},{"uid":"c5e49757-1314"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1318":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/dropWhile.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1319"},"imported":[{"uid":"c5e49757-1228"},{"uid":"c5e49757-1314"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1320":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_castFunction.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1321"},"imported":[{"uid":"c5e49757-772"}],"importedBy":[{"uid":"c5e49757-1322"},{"uid":"c5e49757-1334"},{"uid":"c5e49757-1424"},{"uid":"c5e49757-1426"},{"uid":"c5e49757-1428"},{"uid":"c5e49757-1430"},{"uid":"c5e49757-1850"},{"uid":"c5e49757-1914"},{"uid":"c5e49757-1916"},{"uid":"c5e49757-1928"}]},"c5e49757-1322":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/forEach.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1323"},"imported":[{"uid":"c5e49757-846"},{"uid":"c5e49757-1250"},{"uid":"c5e49757-1320"},{"uid":"c5e49757-750"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1324"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1324":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/each.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1325"},"imported":[{"uid":"c5e49757-1322"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1326":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_arrayEachRight.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1327"},"imported":[],"importedBy":[{"uid":"c5e49757-1334"}]},"c5e49757-1328":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseForRight.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1329"},"imported":[{"uid":"c5e49757-1242"}],"importedBy":[{"uid":"c5e49757-1426"},{"uid":"c5e49757-1330"}]},"c5e49757-1330":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseForOwnRight.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1331"},"imported":[{"uid":"c5e49757-1328"},{"uid":"c5e49757-932"}],"importedBy":[{"uid":"c5e49757-1394"},{"uid":"c5e49757-1430"},{"uid":"c5e49757-1332"}]},"c5e49757-1332":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseEachRight.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1333"},"imported":[{"uid":"c5e49757-1330"},{"uid":"c5e49757-1248"}],"importedBy":[{"uid":"c5e49757-1334"},{"uid":"c5e49757-1724"}]},"c5e49757-1334":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/forEachRight.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1335"},"imported":[{"uid":"c5e49757-1326"},{"uid":"c5e49757-1332"},{"uid":"c5e49757-1320"},{"uid":"c5e49757-750"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1336"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1336":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/eachRight.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1337"},"imported":[{"uid":"c5e49757-1334"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1338":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/endsWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1339"},"imported":[{"uid":"c5e49757-1090"},{"uid":"c5e49757-752"},{"uid":"c5e49757-768"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1340":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseToPairs.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1341"},"imported":[{"uid":"c5e49757-748"}],"importedBy":[{"uid":"c5e49757-1344"}]},"c5e49757-1342":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_setToPairs.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1343"},"imported":[],"importedBy":[{"uid":"c5e49757-1344"}]},"c5e49757-1344":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createToPairs.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1345"},"imported":[{"uid":"c5e49757-1340"},{"uid":"c5e49757-1136"},{"uid":"c5e49757-1192"},{"uid":"c5e49757-1342"}],"importedBy":[{"uid":"c5e49757-1346"},{"uid":"c5e49757-1350"}]},"c5e49757-1346":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/toPairs.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1347"},"imported":[{"uid":"c5e49757-1344"},{"uid":"c5e49757-932"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1348"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1348":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/entries.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1349"},"imported":[{"uid":"c5e49757-1346"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1350":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/toPairsIn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1351"},"imported":[{"uid":"c5e49757-1344"},{"uid":"c5e49757-940"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1352"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1352":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/entriesIn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1353"},"imported":[{"uid":"c5e49757-1350"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1354":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_escapeHtmlChar.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1355"},"imported":[{"uid":"c5e49757-1062"}],"importedBy":[{"uid":"c5e49757-1356"}]},"c5e49757-1356":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/escape.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1357"},"imported":[{"uid":"c5e49757-1354"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1842"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1358":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/escapeRegExp.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1359"},"imported":[{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1360":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_arrayEvery.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1361"},"imported":[],"importedBy":[{"uid":"c5e49757-1364"},{"uid":"c5e49757-1652"}]},"c5e49757-1362":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseEvery.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1363"},"imported":[{"uid":"c5e49757-1250"}],"importedBy":[{"uid":"c5e49757-1364"}]},"c5e49757-1364":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/every.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1365"},"imported":[{"uid":"c5e49757-1360"},{"uid":"c5e49757-1362"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-750"},{"uid":"c5e49757-900"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1366":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/extend.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1367"},"imported":[{"uid":"c5e49757-942"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1368":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/extendWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1369"},"imported":[{"uid":"c5e49757-944"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1370":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/toLength.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1371"},"imported":[{"uid":"c5e49757-1090"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1372"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1372":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseFill.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1373"},"imported":[{"uid":"c5e49757-768"},{"uid":"c5e49757-1370"}],"importedBy":[{"uid":"c5e49757-1374"}]},"c5e49757-1374":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/fill.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1375"},"imported":[{"uid":"c5e49757-1372"},{"uid":"c5e49757-900"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1376":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseFilter.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1377"},"imported":[{"uid":"c5e49757-1250"}],"importedBy":[{"uid":"c5e49757-1378"},{"uid":"c5e49757-1726"}]},"c5e49757-1378":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/filter.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1379"},"imported":[{"uid":"c5e49757-1112"},{"uid":"c5e49757-1376"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-750"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1380":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createFind.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1381"},"imported":[{"uid":"c5e49757-1228"},{"uid":"c5e49757-898"},{"uid":"c5e49757-932"}],"importedBy":[{"uid":"c5e49757-1384"},{"uid":"c5e49757-1392"}]},"c5e49757-1382":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/findIndex.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1383"},"imported":[{"uid":"c5e49757-848"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1384"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1384":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/find.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1385"},"imported":[{"uid":"c5e49757-1380"},{"uid":"c5e49757-1382"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1386":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseFindKey.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1387"},"imported":[],"importedBy":[{"uid":"c5e49757-1388"},{"uid":"c5e49757-1394"}]},"c5e49757-1388":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/findKey.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1389"},"imported":[{"uid":"c5e49757-1386"},{"uid":"c5e49757-1246"},{"uid":"c5e49757-1228"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1390":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/findLastIndex.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1391"},"imported":[{"uid":"c5e49757-848"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1392"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1392":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/findLast.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1393"},"imported":[{"uid":"c5e49757-1380"},{"uid":"c5e49757-1390"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1394":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/findLastKey.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1395"},"imported":[{"uid":"c5e49757-1386"},{"uid":"c5e49757-1330"},{"uid":"c5e49757-1228"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1396":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/head.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1397"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1398"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1398":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/first.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1399"},"imported":[{"uid":"c5e49757-1396"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1400":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseMap.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1401"},"imported":[{"uid":"c5e49757-1250"},{"uid":"c5e49757-898"}],"importedBy":[{"uid":"c5e49757-1402"},{"uid":"c5e49757-1640"}]},"c5e49757-1402":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/map.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1403"},"imported":[{"uid":"c5e49757-748"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-1400"},{"uid":"c5e49757-750"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1404"},{"uid":"c5e49757-1406"},{"uid":"c5e49757-1408"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1404":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/flatMap.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1405"},"imported":[{"uid":"c5e49757-1018"},{"uid":"c5e49757-1402"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1406":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/flatMapDeep.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1407"},"imported":[{"uid":"c5e49757-1018"},{"uid":"c5e49757-1402"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1408":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/flatMapDepth.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1409"},"imported":[{"uid":"c5e49757-1018"},{"uid":"c5e49757-1402"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1410":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/flattenDeep.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1411"},"imported":[{"uid":"c5e49757-1018"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1412":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/flattenDepth.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1413"},"imported":[{"uid":"c5e49757-1018"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1414":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/flip.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1415"},"imported":[{"uid":"c5e49757-880"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1416":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/floor.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1417"},"imported":[{"uid":"c5e49757-1082"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1976"},{"uid":"c5e49757-1974"}]},"c5e49757-1418":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createFlow.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1419"},"imported":[{"uid":"c5e49757-820"},{"uid":"c5e49757-1022"},{"uid":"c5e49757-814"},{"uid":"c5e49757-818"},{"uid":"c5e49757-750"},{"uid":"c5e49757-828"}],"importedBy":[{"uid":"c5e49757-1420"},{"uid":"c5e49757-1422"}]},"c5e49757-1420":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/flow.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1421"},"imported":[{"uid":"c5e49757-1418"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1422":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/flowRight.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1423"},"imported":[{"uid":"c5e49757-1418"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1424":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/forIn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1425"},"imported":[{"uid":"c5e49757-1244"},{"uid":"c5e49757-1320"},{"uid":"c5e49757-940"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1426":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/forInRight.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1427"},"imported":[{"uid":"c5e49757-1328"},{"uid":"c5e49757-1320"},{"uid":"c5e49757-940"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1428":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/forOwn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1429"},"imported":[{"uid":"c5e49757-1246"},{"uid":"c5e49757-1320"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1430":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/forOwnRight.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1431"},"imported":[{"uid":"c5e49757-1330"},{"uid":"c5e49757-1320"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1432":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/fromPairs.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1433"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1434":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseFunctions.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1435"},"imported":[{"uid":"c5e49757-1112"},{"uid":"c5e49757-774"}],"importedBy":[{"uid":"c5e49757-1436"},{"uid":"c5e49757-1438"},{"uid":"c5e49757-1600"},{"uid":"c5e49757-2006"}]},"c5e49757-1436":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/functions.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1437"},"imported":[{"uid":"c5e49757-1434"},{"uid":"c5e49757-932"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1438":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/functionsIn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1439"},"imported":[{"uid":"c5e49757-1434"},{"uid":"c5e49757-940"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1440":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/groupBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1441"},"imported":[{"uid":"c5e49757-884"},{"uid":"c5e49757-1254"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1442":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseGt.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1443"},"imported":[],"importedBy":[{"uid":"c5e49757-1446"},{"uid":"c5e49757-1578"},{"uid":"c5e49757-1580"}]},"c5e49757-1444":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createRelationalOperation.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1445"},"imported":[{"uid":"c5e49757-764"}],"importedBy":[{"uid":"c5e49757-1446"},{"uid":"c5e49757-1448"},{"uid":"c5e49757-1564"},{"uid":"c5e49757-1566"}]},"c5e49757-1446":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/gt.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1447"},"imported":[{"uid":"c5e49757-1442"},{"uid":"c5e49757-1444"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1448":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/gte.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1449"},"imported":[{"uid":"c5e49757-1444"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1450":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseHas.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1451"},"imported":[],"importedBy":[{"uid":"c5e49757-1452"}]},"c5e49757-1452":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/has.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1453"},"imported":[{"uid":"c5e49757-1450"},{"uid":"c5e49757-1216"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1454":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseInRange.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1455"},"imported":[],"importedBy":[{"uid":"c5e49757-1456"}]},"c5e49757-1456":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/inRange.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1457"},"imported":[{"uid":"c5e49757-1454"},{"uid":"c5e49757-766"},{"uid":"c5e49757-764"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1980"},{"uid":"c5e49757-1978"}]},"c5e49757-1458":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isString.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1459"},"imported":[{"uid":"c5e49757-740"},{"uid":"c5e49757-750"},{"uid":"c5e49757-742"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1464"},{"uid":"c5e49757-1766"},{"uid":"c5e49757-1608"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1460":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseValues.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1461"},"imported":[{"uid":"c5e49757-748"}],"importedBy":[{"uid":"c5e49757-1844"},{"uid":"c5e49757-1462"},{"uid":"c5e49757-1924"}]},"c5e49757-1462":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/values.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1463"},"imported":[{"uid":"c5e49757-1460"},{"uid":"c5e49757-932"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1464"},{"uid":"c5e49757-1608"},{"uid":"c5e49757-1744"},{"uid":"c5e49757-1752"},{"uid":"c5e49757-1762"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1464":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/includes.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1465"},"imported":[{"uid":"c5e49757-854"},{"uid":"c5e49757-898"},{"uid":"c5e49757-1458"},{"uid":"c5e49757-768"},{"uid":"c5e49757-1462"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1466":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/indexOf.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1467"},"imported":[{"uid":"c5e49757-854"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1468":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/initial.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1469"},"imported":[{"uid":"c5e49757-1042"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1470":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseIntersection.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1471"},"imported":[{"uid":"c5e49757-1184"},{"uid":"c5e49757-856"},{"uid":"c5e49757-1296"},{"uid":"c5e49757-748"},{"uid":"c5e49757-918"},{"uid":"c5e49757-1188"}],"importedBy":[{"uid":"c5e49757-1474"},{"uid":"c5e49757-1476"},{"uid":"c5e49757-1478"}]},"c5e49757-1472":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_castArrayLikeObject.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1473"},"imported":[{"uid":"c5e49757-1274"}],"importedBy":[{"uid":"c5e49757-1474"},{"uid":"c5e49757-1476"},{"uid":"c5e49757-1478"}]},"c5e49757-1474":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/intersection.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1475"},"imported":[{"uid":"c5e49757-748"},{"uid":"c5e49757-1470"},{"uid":"c5e49757-894"},{"uid":"c5e49757-1472"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1476":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/intersectionBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1477"},"imported":[{"uid":"c5e49757-748"},{"uid":"c5e49757-1470"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-894"},{"uid":"c5e49757-1472"},{"uid":"c5e49757-1302"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1478":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/intersectionWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1479"},"imported":[{"uid":"c5e49757-748"},{"uid":"c5e49757-1470"},{"uid":"c5e49757-894"},{"uid":"c5e49757-1472"},{"uid":"c5e49757-1302"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1480":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseInverter.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1481"},"imported":[{"uid":"c5e49757-1246"}],"importedBy":[{"uid":"c5e49757-1482"}]},"c5e49757-1482":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createInverter.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1483"},"imported":[{"uid":"c5e49757-1480"}],"importedBy":[{"uid":"c5e49757-1484"},{"uid":"c5e49757-1486"}]},"c5e49757-1484":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/invert.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1485"},"imported":[{"uid":"c5e49757-838"},{"uid":"c5e49757-1482"},{"uid":"c5e49757-772"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1486":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/invertBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1487"},"imported":[{"uid":"c5e49757-1228"},{"uid":"c5e49757-1482"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1488":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_parent.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1489"},"imported":[{"uid":"c5e49757-1008"},{"uid":"c5e49757-1042"}],"importedBy":[{"uid":"c5e49757-1490"},{"uid":"c5e49757-1618"}]},"c5e49757-1490":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseInvoke.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1491"},"imported":[{"uid":"c5e49757-800"},{"uid":"c5e49757-1004"},{"uid":"c5e49757-1302"},{"uid":"c5e49757-1488"},{"uid":"c5e49757-1006"}],"importedBy":[{"uid":"c5e49757-1492"},{"uid":"c5e49757-1494"},{"uid":"c5e49757-1592"},{"uid":"c5e49757-1594"},{"uid":"c5e49757-2006"}]},"c5e49757-1492":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/invoke.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1493"},"imported":[{"uid":"c5e49757-1490"},{"uid":"c5e49757-894"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1494":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/invokeMap.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1495"},"imported":[{"uid":"c5e49757-800"},{"uid":"c5e49757-1250"},{"uid":"c5e49757-1490"},{"uid":"c5e49757-894"},{"uid":"c5e49757-898"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1496":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseIsArrayBuffer.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1497"},"imported":[{"uid":"c5e49757-740"},{"uid":"c5e49757-742"}],"importedBy":[{"uid":"c5e49757-1498"}]},"c5e49757-1498":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isArrayBuffer.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1499"},"imported":[{"uid":"c5e49757-1496"},{"uid":"c5e49757-918"},{"uid":"c5e49757-920"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1500":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isBoolean.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1501"},"imported":[{"uid":"c5e49757-740"},{"uid":"c5e49757-742"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1502":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseIsDate.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1503"},"imported":[{"uid":"c5e49757-740"},{"uid":"c5e49757-742"}],"importedBy":[{"uid":"c5e49757-1504"}]},"c5e49757-1504":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isDate.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1505"},"imported":[{"uid":"c5e49757-1502"},{"uid":"c5e49757-918"},{"uid":"c5e49757-920"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1506":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isElement.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1507"},"imported":[{"uid":"c5e49757-742"},{"uid":"c5e49757-1028"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1508":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isEmpty.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1509"},"imported":[{"uid":"c5e49757-930"},{"uid":"c5e49757-1136"},{"uid":"c5e49757-910"},{"uid":"c5e49757-750"},{"uid":"c5e49757-898"},{"uid":"c5e49757-914"},{"uid":"c5e49757-904"},{"uid":"c5e49757-922"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1510":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isEqual.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1511"},"imported":[{"uid":"c5e49757-1202"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1512":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isEqualWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1513"},"imported":[{"uid":"c5e49757-1202"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1514":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isFinite.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1515"},"imported":[{"uid":"c5e49757-732"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1516":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isInteger.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1517"},"imported":[{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1538"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1518":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isMatch.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1519"},"imported":[{"uid":"c5e49757-1204"},{"uid":"c5e49757-1208"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1520":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isMatchWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1521"},"imported":[{"uid":"c5e49757-1204"},{"uid":"c5e49757-1208"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1522":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isNumber.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1523"},"imported":[{"uid":"c5e49757-740"},{"uid":"c5e49757-742"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1524"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1524":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isNaN.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1525"},"imported":[{"uid":"c5e49757-1522"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1526":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_isMaskable.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1527"},"imported":[{"uid":"c5e49757-776"},{"uid":"c5e49757-774"},{"uid":"c5e49757-912"}],"importedBy":[{"uid":"c5e49757-1528"}]},"c5e49757-1528":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isNative.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1529"},"imported":[{"uid":"c5e49757-782"},{"uid":"c5e49757-1526"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1530":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isNil.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1531"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1532":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isNull.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1533"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1534":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseIsRegExp.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1535"},"imported":[{"uid":"c5e49757-740"},{"uid":"c5e49757-742"}],"importedBy":[{"uid":"c5e49757-1536"}]},"c5e49757-1536":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isRegExp.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1537"},"imported":[{"uid":"c5e49757-1534"},{"uid":"c5e49757-918"},{"uid":"c5e49757-920"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1800"},{"uid":"c5e49757-1880"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1538":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isSafeInteger.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1539"},"imported":[{"uid":"c5e49757-1516"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1540":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isUndefined.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1541"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1542":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isWeakMap.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1543"},"imported":[{"uid":"c5e49757-1136"},{"uid":"c5e49757-742"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1544":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/isWeakSet.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1545"},"imported":[{"uid":"c5e49757-740"},{"uid":"c5e49757-742"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1546":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/iteratee.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1547"},"imported":[{"uid":"c5e49757-1164"},{"uid":"c5e49757-1228"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1548":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/join.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1549"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1550":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/kebabCase.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1551"},"imported":[{"uid":"c5e49757-1076"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1552":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/keyBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1553"},"imported":[{"uid":"c5e49757-884"},{"uid":"c5e49757-1254"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1554":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_strictLastIndexOf.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1555"},"imported":[],"importedBy":[{"uid":"c5e49757-1556"}]},"c5e49757-1556":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/lastIndexOf.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1557"},"imported":[{"uid":"c5e49757-848"},{"uid":"c5e49757-850"},{"uid":"c5e49757-1554"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1558":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/lowerCase.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1559"},"imported":[{"uid":"c5e49757-1076"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1560":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/lowerFirst.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1561"},"imported":[{"uid":"c5e49757-1054"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1562":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseLt.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1563"},"imported":[],"importedBy":[{"uid":"c5e49757-1564"},{"uid":"c5e49757-1596"},{"uid":"c5e49757-1598"}]},"c5e49757-1564":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/lt.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1565"},"imported":[{"uid":"c5e49757-1562"},{"uid":"c5e49757-1444"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1566":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/lte.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1567"},"imported":[{"uid":"c5e49757-1444"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1568":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/mapKeys.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1569"},"imported":[{"uid":"c5e49757-884"},{"uid":"c5e49757-1246"},{"uid":"c5e49757-1228"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1570":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/mapValues.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1571"},"imported":[{"uid":"c5e49757-884"},{"uid":"c5e49757-1246"},{"uid":"c5e49757-1228"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1572":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/matches.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1573"},"imported":[{"uid":"c5e49757-1164"},{"uid":"c5e49757-1212"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1574":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/matchesProperty.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1575"},"imported":[{"uid":"c5e49757-1164"},{"uid":"c5e49757-1220"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1576":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseExtremum.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1577"},"imported":[{"uid":"c5e49757-744"}],"importedBy":[{"uid":"c5e49757-1578"},{"uid":"c5e49757-1580"},{"uid":"c5e49757-1596"},{"uid":"c5e49757-1598"}]},"c5e49757-1578":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/max.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1579"},"imported":[{"uid":"c5e49757-1576"},{"uid":"c5e49757-1442"},{"uid":"c5e49757-772"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1976"},{"uid":"c5e49757-1974"}]},"c5e49757-1580":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/maxBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1581"},"imported":[{"uid":"c5e49757-1576"},{"uid":"c5e49757-1442"},{"uid":"c5e49757-1228"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1976"},{"uid":"c5e49757-1974"}]},"c5e49757-1582":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseSum.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1583"},"imported":[],"importedBy":[{"uid":"c5e49757-1816"},{"uid":"c5e49757-1818"},{"uid":"c5e49757-1584"}]},"c5e49757-1584":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseMean.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1585"},"imported":[{"uid":"c5e49757-1582"}],"importedBy":[{"uid":"c5e49757-1586"},{"uid":"c5e49757-1588"}]},"c5e49757-1586":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/mean.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1587"},"imported":[{"uid":"c5e49757-1584"},{"uid":"c5e49757-772"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1976"},{"uid":"c5e49757-1974"}]},"c5e49757-1588":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/meanBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1589"},"imported":[{"uid":"c5e49757-1228"},{"uid":"c5e49757-1584"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1976"},{"uid":"c5e49757-1974"}]},"c5e49757-1590":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/merge.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1591"},"imported":[{"uid":"c5e49757-1282"},{"uid":"c5e49757-902"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1592":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/method.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1593"},"imported":[{"uid":"c5e49757-1490"},{"uid":"c5e49757-894"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1594":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/methodOf.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1595"},"imported":[{"uid":"c5e49757-1490"},{"uid":"c5e49757-894"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1596":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/min.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1597"},"imported":[{"uid":"c5e49757-1576"},{"uid":"c5e49757-1562"},{"uid":"c5e49757-772"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1976"},{"uid":"c5e49757-1974"}]},"c5e49757-1598":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/minBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1599"},"imported":[{"uid":"c5e49757-1576"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-1562"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1976"},{"uid":"c5e49757-1974"}]},"c5e49757-1600":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/mixin.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1601"},"imported":[{"uid":"c5e49757-846"},{"uid":"c5e49757-1014"},{"uid":"c5e49757-1434"},{"uid":"c5e49757-822"},{"uid":"c5e49757-774"},{"uid":"c5e49757-762"},{"uid":"c5e49757-932"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1602":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/multiply.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1603"},"imported":[{"uid":"c5e49757-754"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1976"},{"uid":"c5e49757-1974"}]},"c5e49757-1604":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/negate.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1605"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1630"},{"uid":"c5e49757-1726"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1606":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_iteratorToArray.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1607"},"imported":[],"importedBy":[{"uid":"c5e49757-1608"}]},"c5e49757-1608":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/toArray.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1609"},"imported":[{"uid":"c5e49757-734"},{"uid":"c5e49757-822"},{"uid":"c5e49757-1136"},{"uid":"c5e49757-898"},{"uid":"c5e49757-1458"},{"uid":"c5e49757-1606"},{"uid":"c5e49757-1192"},{"uid":"c5e49757-1194"},{"uid":"c5e49757-1052"},{"uid":"c5e49757-1462"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1610"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1610":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/next.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1611"},"imported":[{"uid":"c5e49757-1608"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1988"},{"uid":"c5e49757-1986"}]},"c5e49757-1612":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseNth.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1613"},"imported":[{"uid":"c5e49757-866"}],"importedBy":[{"uid":"c5e49757-1614"},{"uid":"c5e49757-1616"}]},"c5e49757-1614":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/nth.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1615"},"imported":[{"uid":"c5e49757-1612"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1616":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/nthArg.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1617"},"imported":[{"uid":"c5e49757-1612"},{"uid":"c5e49757-894"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1618":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseUnset.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1619"},"imported":[{"uid":"c5e49757-1004"},{"uid":"c5e49757-1302"},{"uid":"c5e49757-1488"},{"uid":"c5e49757-1006"}],"importedBy":[{"uid":"c5e49757-1622"},{"uid":"c5e49757-1906"},{"uid":"c5e49757-1700"}]},"c5e49757-1620":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_customOmitClone.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1621"},"imported":[{"uid":"c5e49757-1028"}],"importedBy":[{"uid":"c5e49757-1622"}]},"c5e49757-1622":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/omit.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1623"},"imported":[{"uid":"c5e49757-748"},{"uid":"c5e49757-1164"},{"uid":"c5e49757-1618"},{"uid":"c5e49757-1004"},{"uid":"c5e49757-890"},{"uid":"c5e49757-1620"},{"uid":"c5e49757-1022"},{"uid":"c5e49757-1128"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1624":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseSet.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1625"},"imported":[{"uid":"c5e49757-888"},{"uid":"c5e49757-1004"},{"uid":"c5e49757-866"},{"uid":"c5e49757-762"},{"uid":"c5e49757-1006"}],"importedBy":[{"uid":"c5e49757-1756"},{"uid":"c5e49757-1758"},{"uid":"c5e49757-1950"},{"uid":"c5e49757-1626"},{"uid":"c5e49757-1912"}]},"c5e49757-1626":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_basePickBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1627"},"imported":[{"uid":"c5e49757-1008"},{"uid":"c5e49757-1624"},{"uid":"c5e49757-1004"}],"importedBy":[{"uid":"c5e49757-1628"},{"uid":"c5e49757-1680"}]},"c5e49757-1628":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/pickBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1629"},"imported":[{"uid":"c5e49757-748"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-1626"},{"uid":"c5e49757-1128"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1630"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1630":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/omitBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1631"},"imported":[{"uid":"c5e49757-1228"},{"uid":"c5e49757-1604"},{"uid":"c5e49757-1628"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1632":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/once.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1633"},"imported":[{"uid":"c5e49757-1034"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1634":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseSortBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1635"},"imported":[],"importedBy":[{"uid":"c5e49757-1640"}]},"c5e49757-1636":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_compareAscending.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1637"},"imported":[{"uid":"c5e49757-744"}],"importedBy":[{"uid":"c5e49757-1702"},{"uid":"c5e49757-1638"}]},"c5e49757-1638":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_compareMultiple.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1639"},"imported":[{"uid":"c5e49757-1636"}],"importedBy":[{"uid":"c5e49757-1640"}]},"c5e49757-1640":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseOrderBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1641"},"imported":[{"uid":"c5e49757-748"},{"uid":"c5e49757-1008"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-1400"},{"uid":"c5e49757-1634"},{"uid":"c5e49757-918"},{"uid":"c5e49757-1638"},{"uid":"c5e49757-772"},{"uid":"c5e49757-750"}],"importedBy":[{"uid":"c5e49757-1642"},{"uid":"c5e49757-1776"}]},"c5e49757-1642":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/orderBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1643"},"imported":[{"uid":"c5e49757-1640"},{"uid":"c5e49757-750"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1644":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createOver.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1645"},"imported":[{"uid":"c5e49757-800"},{"uid":"c5e49757-748"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-894"},{"uid":"c5e49757-918"},{"uid":"c5e49757-1022"}],"importedBy":[{"uid":"c5e49757-1646"},{"uid":"c5e49757-1652"},{"uid":"c5e49757-1654"}]},"c5e49757-1646":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/over.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1647"},"imported":[{"uid":"c5e49757-748"},{"uid":"c5e49757-1644"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1648":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_castRest.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1649"},"imported":[{"uid":"c5e49757-894"}],"importedBy":[{"uid":"c5e49757-1650"}]},"c5e49757-1650":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/overArgs.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1651"},"imported":[{"uid":"c5e49757-800"},{"uid":"c5e49757-748"},{"uid":"c5e49757-1018"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-894"},{"uid":"c5e49757-918"},{"uid":"c5e49757-1648"},{"uid":"c5e49757-750"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1652":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/overEvery.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1653"},"imported":[{"uid":"c5e49757-1360"},{"uid":"c5e49757-1644"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1654":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/overSome.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1655"},"imported":[{"uid":"c5e49757-1186"},{"uid":"c5e49757-1644"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1656":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseRepeat.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1657"},"imported":[],"importedBy":[{"uid":"c5e49757-1730"},{"uid":"c5e49757-1664"}]},"c5e49757-1658":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_asciiSize.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1659"},"imported":[{"uid":"c5e49757-1222"}],"importedBy":[{"uid":"c5e49757-1662"}]},"c5e49757-1660":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_unicodeSize.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1661"},"imported":[],"importedBy":[{"uid":"c5e49757-1662"}]},"c5e49757-1662":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_stringSize.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1663"},"imported":[{"uid":"c5e49757-1658"},{"uid":"c5e49757-1046"},{"uid":"c5e49757-1660"}],"importedBy":[{"uid":"c5e49757-1666"},{"uid":"c5e49757-1668"},{"uid":"c5e49757-1670"},{"uid":"c5e49757-1766"},{"uid":"c5e49757-1880"},{"uid":"c5e49757-1664"}]},"c5e49757-1664":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createPadding.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1665"},"imported":[{"uid":"c5e49757-1656"},{"uid":"c5e49757-752"},{"uid":"c5e49757-1044"},{"uid":"c5e49757-1046"},{"uid":"c5e49757-1662"},{"uid":"c5e49757-1052"}],"importedBy":[{"uid":"c5e49757-1666"},{"uid":"c5e49757-1668"},{"uid":"c5e49757-1670"}]},"c5e49757-1666":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/pad.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1667"},"imported":[{"uid":"c5e49757-1664"},{"uid":"c5e49757-1662"},{"uid":"c5e49757-768"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1668":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/padEnd.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1669"},"imported":[{"uid":"c5e49757-1664"},{"uid":"c5e49757-1662"},{"uid":"c5e49757-768"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1670":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/padStart.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1671"},"imported":[{"uid":"c5e49757-1664"},{"uid":"c5e49757-1662"},{"uid":"c5e49757-768"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1672":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/parseInt.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1673"},"imported":[{"uid":"c5e49757-732"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1674":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/partial.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1675"},"imported":[{"uid":"c5e49757-894"},{"uid":"c5e49757-880"},{"uid":"c5e49757-864"},{"uid":"c5e49757-870"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1928"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1676":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/partialRight.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1677"},"imported":[{"uid":"c5e49757-894"},{"uid":"c5e49757-880"},{"uid":"c5e49757-864"},{"uid":"c5e49757-870"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1678":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/partition.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1679"},"imported":[{"uid":"c5e49757-1254"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1680":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_basePick.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1681"},"imported":[{"uid":"c5e49757-1626"},{"uid":"c5e49757-1218"}],"importedBy":[{"uid":"c5e49757-1682"}]},"c5e49757-1682":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/pick.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1683"},"imported":[{"uid":"c5e49757-1680"},{"uid":"c5e49757-1022"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1684":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/plant.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1685"},"imported":[{"uid":"c5e49757-808"},{"uid":"c5e49757-824"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1988"},{"uid":"c5e49757-1986"}]},"c5e49757-1686":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/propertyOf.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1687"},"imported":[{"uid":"c5e49757-1008"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1688":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseIndexOfWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1689"},"imported":[],"importedBy":[{"uid":"c5e49757-1690"}]},"c5e49757-1690":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_basePullAll.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1691"},"imported":[{"uid":"c5e49757-748"},{"uid":"c5e49757-854"},{"uid":"c5e49757-1688"},{"uid":"c5e49757-918"},{"uid":"c5e49757-822"}],"importedBy":[{"uid":"c5e49757-1692"},{"uid":"c5e49757-1696"},{"uid":"c5e49757-1698"}]},"c5e49757-1692":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/pullAll.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1693"},"imported":[{"uid":"c5e49757-1690"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1694"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1694":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/pull.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1695"},"imported":[{"uid":"c5e49757-894"},{"uid":"c5e49757-1692"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1696":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/pullAllBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1697"},"imported":[{"uid":"c5e49757-1228"},{"uid":"c5e49757-1690"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1698":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/pullAllWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1699"},"imported":[{"uid":"c5e49757-1690"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1700":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_basePullAt.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1701"},"imported":[{"uid":"c5e49757-1618"},{"uid":"c5e49757-866"}],"importedBy":[{"uid":"c5e49757-1702"},{"uid":"c5e49757-1728"}]},"c5e49757-1702":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/pullAt.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1703"},"imported":[{"uid":"c5e49757-748"},{"uid":"c5e49757-1012"},{"uid":"c5e49757-1700"},{"uid":"c5e49757-1636"},{"uid":"c5e49757-1022"},{"uid":"c5e49757-866"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1704":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseRandom.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1705"},"imported":[],"importedBy":[{"uid":"c5e49757-1706"},{"uid":"c5e49757-1742"},{"uid":"c5e49757-1748"}]},"c5e49757-1706":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/random.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1707"},"imported":[{"uid":"c5e49757-1704"},{"uid":"c5e49757-900"},{"uid":"c5e49757-766"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1980"},{"uid":"c5e49757-1978"}]},"c5e49757-1708":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseRange.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1709"},"imported":[],"importedBy":[{"uid":"c5e49757-1710"}]},"c5e49757-1710":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createRange.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1711"},"imported":[{"uid":"c5e49757-1708"},{"uid":"c5e49757-900"},{"uid":"c5e49757-766"}],"importedBy":[{"uid":"c5e49757-1712"},{"uid":"c5e49757-1714"}]},"c5e49757-1712":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/range.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1713"},"imported":[{"uid":"c5e49757-1710"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1714":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/rangeRight.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1715"},"imported":[{"uid":"c5e49757-1710"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1716":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/rearg.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1717"},"imported":[{"uid":"c5e49757-880"},{"uid":"c5e49757-1022"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1718":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseReduce.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1719"},"imported":[],"importedBy":[{"uid":"c5e49757-1720"},{"uid":"c5e49757-1724"}]},"c5e49757-1720":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/reduce.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1721"},"imported":[{"uid":"c5e49757-1060"},{"uid":"c5e49757-1250"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-1718"},{"uid":"c5e49757-750"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1722":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_arrayReduceRight.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1723"},"imported":[],"importedBy":[{"uid":"c5e49757-1724"}]},"c5e49757-1724":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/reduceRight.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1725"},"imported":[{"uid":"c5e49757-1722"},{"uid":"c5e49757-1332"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-1718"},{"uid":"c5e49757-750"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1726":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/reject.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1727"},"imported":[{"uid":"c5e49757-1112"},{"uid":"c5e49757-1376"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-750"},{"uid":"c5e49757-1604"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1728":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/remove.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1729"},"imported":[{"uid":"c5e49757-1228"},{"uid":"c5e49757-1700"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1730":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/repeat.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1731"},"imported":[{"uid":"c5e49757-1656"},{"uid":"c5e49757-900"},{"uid":"c5e49757-768"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1732":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/replace.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1733"},"imported":[{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1734":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/rest.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1735"},"imported":[{"uid":"c5e49757-894"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1736":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/result.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1737"},"imported":[{"uid":"c5e49757-1004"},{"uid":"c5e49757-774"},{"uid":"c5e49757-1006"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1738":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/reverse.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1739"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1934"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1740":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/round.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1741"},"imported":[{"uid":"c5e49757-1082"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1976"},{"uid":"c5e49757-1974"}]},"c5e49757-1742":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_arraySample.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1743"},"imported":[{"uid":"c5e49757-1704"}],"importedBy":[{"uid":"c5e49757-1746"},{"uid":"c5e49757-1744"}]},"c5e49757-1744":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseSample.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1745"},"imported":[{"uid":"c5e49757-1742"},{"uid":"c5e49757-1462"}],"importedBy":[{"uid":"c5e49757-1746"}]},"c5e49757-1746":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/sample.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1747"},"imported":[{"uid":"c5e49757-1742"},{"uid":"c5e49757-1744"},{"uid":"c5e49757-750"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1748":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_shuffleSelf.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1749"},"imported":[{"uid":"c5e49757-1704"}],"importedBy":[{"uid":"c5e49757-1750"},{"uid":"c5e49757-1752"},{"uid":"c5e49757-1760"},{"uid":"c5e49757-1762"}]},"c5e49757-1750":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_arraySampleSize.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1751"},"imported":[{"uid":"c5e49757-1090"},{"uid":"c5e49757-822"},{"uid":"c5e49757-1748"}],"importedBy":[{"uid":"c5e49757-1754"}]},"c5e49757-1752":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseSampleSize.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1753"},"imported":[{"uid":"c5e49757-1090"},{"uid":"c5e49757-1748"},{"uid":"c5e49757-1462"}],"importedBy":[{"uid":"c5e49757-1754"}]},"c5e49757-1754":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/sampleSize.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1755"},"imported":[{"uid":"c5e49757-1750"},{"uid":"c5e49757-1752"},{"uid":"c5e49757-750"},{"uid":"c5e49757-900"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1756":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/set.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1757"},"imported":[{"uid":"c5e49757-1624"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1758":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/setWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1759"},"imported":[{"uid":"c5e49757-1624"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1760":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_arrayShuffle.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1761"},"imported":[{"uid":"c5e49757-822"},{"uid":"c5e49757-1748"}],"importedBy":[{"uid":"c5e49757-1764"}]},"c5e49757-1762":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseShuffle.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1763"},"imported":[{"uid":"c5e49757-1748"},{"uid":"c5e49757-1462"}],"importedBy":[{"uid":"c5e49757-1764"}]},"c5e49757-1764":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/shuffle.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1765"},"imported":[{"uid":"c5e49757-1760"},{"uid":"c5e49757-1762"},{"uid":"c5e49757-750"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1766":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/size.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1767"},"imported":[{"uid":"c5e49757-930"},{"uid":"c5e49757-1136"},{"uid":"c5e49757-898"},{"uid":"c5e49757-1458"},{"uid":"c5e49757-1662"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1768":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/slice.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1769"},"imported":[{"uid":"c5e49757-1042"},{"uid":"c5e49757-900"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1770":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/snakeCase.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1771"},"imported":[{"uid":"c5e49757-1076"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1772":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseSome.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1773"},"imported":[{"uid":"c5e49757-1250"}],"importedBy":[{"uid":"c5e49757-1774"}]},"c5e49757-1774":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/some.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1775"},"imported":[{"uid":"c5e49757-1186"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-1772"},{"uid":"c5e49757-750"},{"uid":"c5e49757-900"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1776":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/sortBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1777"},"imported":[{"uid":"c5e49757-1018"},{"uid":"c5e49757-1640"},{"uid":"c5e49757-894"},{"uid":"c5e49757-900"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1958"}]},"c5e49757-1778":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseSortedIndexBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1779"},"imported":[{"uid":"c5e49757-744"}],"importedBy":[{"uid":"c5e49757-1784"},{"uid":"c5e49757-1790"},{"uid":"c5e49757-1780"}]},"c5e49757-1780":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseSortedIndex.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1781"},"imported":[{"uid":"c5e49757-1778"},{"uid":"c5e49757-772"},{"uid":"c5e49757-744"}],"importedBy":[{"uid":"c5e49757-1782"},{"uid":"c5e49757-1786"},{"uid":"c5e49757-1788"},{"uid":"c5e49757-1792"}]},"c5e49757-1782":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/sortedIndex.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1783"},"imported":[{"uid":"c5e49757-1780"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1784":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/sortedIndexBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1785"},"imported":[{"uid":"c5e49757-1228"},{"uid":"c5e49757-1778"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1786":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/sortedIndexOf.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1787"},"imported":[{"uid":"c5e49757-1780"},{"uid":"c5e49757-886"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1788":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/sortedLastIndex.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1789"},"imported":[{"uid":"c5e49757-1780"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1790":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/sortedLastIndexBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1791"},"imported":[{"uid":"c5e49757-1228"},{"uid":"c5e49757-1778"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1792":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/sortedLastIndexOf.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1793"},"imported":[{"uid":"c5e49757-1780"},{"uid":"c5e49757-886"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1794":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseSortedUniq.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1795"},"imported":[{"uid":"c5e49757-886"}],"importedBy":[{"uid":"c5e49757-1796"},{"uid":"c5e49757-1798"}]},"c5e49757-1796":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/sortedUniq.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1797"},"imported":[{"uid":"c5e49757-1794"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1798":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/sortedUniqBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1799"},"imported":[{"uid":"c5e49757-1228"},{"uid":"c5e49757-1794"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1800":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/split.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1801"},"imported":[{"uid":"c5e49757-752"},{"uid":"c5e49757-1044"},{"uid":"c5e49757-1046"},{"uid":"c5e49757-900"},{"uid":"c5e49757-1536"},{"uid":"c5e49757-1052"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1802":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/spread.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1803"},"imported":[{"uid":"c5e49757-800"},{"uid":"c5e49757-1014"},{"uid":"c5e49757-894"},{"uid":"c5e49757-1044"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1804":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/startCase.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1805"},"imported":[{"uid":"c5e49757-1076"},{"uid":"c5e49757-1056"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1806":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/startsWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1807"},"imported":[{"uid":"c5e49757-1090"},{"uid":"c5e49757-752"},{"uid":"c5e49757-768"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1808":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/stubObject.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1809"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1810":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/stubString.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1811"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1812":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/stubTrue.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1813"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1814":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/subtract.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1815"},"imported":[{"uid":"c5e49757-754"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1976"},{"uid":"c5e49757-1974"}]},"c5e49757-1816":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/sum.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1817"},"imported":[{"uid":"c5e49757-1582"},{"uid":"c5e49757-772"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1976"},{"uid":"c5e49757-1974"}]},"c5e49757-1818":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/sumBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1819"},"imported":[{"uid":"c5e49757-1228"},{"uid":"c5e49757-1582"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1976"},{"uid":"c5e49757-1974"}]},"c5e49757-1820":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/tail.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1821"},"imported":[{"uid":"c5e49757-1042"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1822":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/take.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1823"},"imported":[{"uid":"c5e49757-1042"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1824":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/takeRight.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1825"},"imported":[{"uid":"c5e49757-1042"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1826":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/takeRightWhile.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1827"},"imported":[{"uid":"c5e49757-1228"},{"uid":"c5e49757-1314"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1828":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/takeWhile.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1829"},"imported":[{"uid":"c5e49757-1228"},{"uid":"c5e49757-1314"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1830":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/tap.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1831"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1988"},{"uid":"c5e49757-1986"}]},"c5e49757-1832":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_customDefaultsAssignIn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1833"},"imported":[{"uid":"c5e49757-886"}],"importedBy":[{"uid":"c5e49757-1844"}]},"c5e49757-1834":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_escapeStringChar.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1835"},"imported":[],"importedBy":[{"uid":"c5e49757-1844"}]},"c5e49757-1836":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_reInterpolate.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1837"},"imported":[],"importedBy":[{"uid":"c5e49757-1844"},{"uid":"c5e49757-1842"}]},"c5e49757-1838":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_reEscape.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1839"},"imported":[],"importedBy":[{"uid":"c5e49757-1842"}]},"c5e49757-1840":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_reEvaluate.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1841"},"imported":[],"importedBy":[{"uid":"c5e49757-1842"}]},"c5e49757-1842":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/templateSettings.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1843"},"imported":[{"uid":"c5e49757-1356"},{"uid":"c5e49757-1838"},{"uid":"c5e49757-1840"},{"uid":"c5e49757-1836"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1844"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1844":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/template.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1845"},"imported":[{"uid":"c5e49757-944"},{"uid":"c5e49757-1032"},{"uid":"c5e49757-1460"},{"uid":"c5e49757-1832"},{"uid":"c5e49757-1834"},{"uid":"c5e49757-1030"},{"uid":"c5e49757-900"},{"uid":"c5e49757-932"},{"uid":"c5e49757-1836"},{"uid":"c5e49757-1842"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1846":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/throttle.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1847"},"imported":[{"uid":"c5e49757-1266"},{"uid":"c5e49757-762"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1848":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/thru.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1849"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1930"},{"uid":"c5e49757-1934"},{"uid":"c5e49757-2006"},{"uid":"c5e49757-1988"},{"uid":"c5e49757-1986"}]},"c5e49757-1850":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/times.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1851"},"imported":[{"uid":"c5e49757-906"},{"uid":"c5e49757-1320"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1852":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/toIterator.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1853"},"imported":[],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1988"},{"uid":"c5e49757-1986"}]},"c5e49757-1854":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseWrapperValue.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1855"},"imported":[{"uid":"c5e49757-810"},{"uid":"c5e49757-1014"},{"uid":"c5e49757-1060"}],"importedBy":[{"uid":"c5e49757-1856"},{"uid":"c5e49757-2004"}]},"c5e49757-1856":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/wrapperValue.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1857"},"imported":[{"uid":"c5e49757-1854"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1858"},{"uid":"c5e49757-1920"},{"uid":"c5e49757-1922"},{"uid":"c5e49757-1988"},{"uid":"c5e49757-1986"}]},"c5e49757-1858":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/toJSON.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1859"},"imported":[{"uid":"c5e49757-1856"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1988"},{"uid":"c5e49757-1986"}]},"c5e49757-1860":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/toLower.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1861"},"imported":[{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1862":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/toPath.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1863"},"imported":[{"uid":"c5e49757-748"},{"uid":"c5e49757-822"},{"uid":"c5e49757-750"},{"uid":"c5e49757-744"},{"uid":"c5e49757-1000"},{"uid":"c5e49757-1006"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1864":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/toSafeInteger.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1865"},"imported":[{"uid":"c5e49757-1090"},{"uid":"c5e49757-768"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1970"}]},"c5e49757-1866":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/toUpper.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1867"},"imported":[{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1868":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/transform.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1869"},"imported":[{"uid":"c5e49757-846"},{"uid":"c5e49757-794"},{"uid":"c5e49757-1246"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-1026"},{"uid":"c5e49757-750"},{"uid":"c5e49757-914"},{"uid":"c5e49757-774"},{"uid":"c5e49757-762"},{"uid":"c5e49757-922"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1870":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_charsEndIndex.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1871"},"imported":[{"uid":"c5e49757-854"}],"importedBy":[{"uid":"c5e49757-1874"},{"uid":"c5e49757-1876"}]},"c5e49757-1872":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_charsStartIndex.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1873"},"imported":[{"uid":"c5e49757-854"}],"importedBy":[{"uid":"c5e49757-1874"},{"uid":"c5e49757-1878"}]},"c5e49757-1874":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/trim.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1875"},"imported":[{"uid":"c5e49757-752"},{"uid":"c5e49757-760"},{"uid":"c5e49757-1044"},{"uid":"c5e49757-1870"},{"uid":"c5e49757-1872"},{"uid":"c5e49757-1052"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1876":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/trimEnd.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1877"},"imported":[{"uid":"c5e49757-752"},{"uid":"c5e49757-1044"},{"uid":"c5e49757-1870"},{"uid":"c5e49757-1052"},{"uid":"c5e49757-1002"},{"uid":"c5e49757-758"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1878":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/trimStart.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1879"},"imported":[{"uid":"c5e49757-752"},{"uid":"c5e49757-1044"},{"uid":"c5e49757-1872"},{"uid":"c5e49757-1052"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1880":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/truncate.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1881"},"imported":[{"uid":"c5e49757-752"},{"uid":"c5e49757-1044"},{"uid":"c5e49757-1046"},{"uid":"c5e49757-762"},{"uid":"c5e49757-1536"},{"uid":"c5e49757-1662"},{"uid":"c5e49757-1052"},{"uid":"c5e49757-768"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1882":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/unary.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1883"},"imported":[{"uid":"c5e49757-882"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1884":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_unescapeHtmlChar.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1885"},"imported":[{"uid":"c5e49757-1062"}],"importedBy":[{"uid":"c5e49757-1886"}]},"c5e49757-1886":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/unescape.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1887"},"imported":[{"uid":"c5e49757-1002"},{"uid":"c5e49757-1884"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1888":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_createSet.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1889"},"imported":[{"uid":"c5e49757-1134"},{"uid":"c5e49757-812"},{"uid":"c5e49757-1194"}],"importedBy":[{"uid":"c5e49757-1890"}]},"c5e49757-1890":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseUniq.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1891"},"imported":[{"uid":"c5e49757-1184"},{"uid":"c5e49757-856"},{"uid":"c5e49757-1296"},{"uid":"c5e49757-1188"},{"uid":"c5e49757-1888"},{"uid":"c5e49757-1194"}],"importedBy":[{"uid":"c5e49757-1892"},{"uid":"c5e49757-1894"},{"uid":"c5e49757-1896"},{"uid":"c5e49757-1898"},{"uid":"c5e49757-1900"},{"uid":"c5e49757-1902"},{"uid":"c5e49757-1936"}]},"c5e49757-1892":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/union.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1893"},"imported":[{"uid":"c5e49757-1018"},{"uid":"c5e49757-894"},{"uid":"c5e49757-1890"},{"uid":"c5e49757-1274"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1894":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/unionBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1895"},"imported":[{"uid":"c5e49757-1018"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-894"},{"uid":"c5e49757-1890"},{"uid":"c5e49757-1274"},{"uid":"c5e49757-1302"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1896":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/unionWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1897"},"imported":[{"uid":"c5e49757-1018"},{"uid":"c5e49757-894"},{"uid":"c5e49757-1890"},{"uid":"c5e49757-1274"},{"uid":"c5e49757-1302"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1898":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/uniq.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1899"},"imported":[{"uid":"c5e49757-1890"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1900":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/uniqBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1901"},"imported":[{"uid":"c5e49757-1228"},{"uid":"c5e49757-1890"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1902":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/uniqWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1903"},"imported":[{"uid":"c5e49757-1890"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1904":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/uniqueId.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1905"},"imported":[{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-1994"}]},"c5e49757-1906":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/unset.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1907"},"imported":[{"uid":"c5e49757-1618"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1908":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/unzip.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1909"},"imported":[{"uid":"c5e49757-1112"},{"uid":"c5e49757-748"},{"uid":"c5e49757-1222"},{"uid":"c5e49757-906"},{"uid":"c5e49757-1274"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1910"},{"uid":"c5e49757-1944"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1910":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/unzipWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1911"},"imported":[{"uid":"c5e49757-800"},{"uid":"c5e49757-748"},{"uid":"c5e49757-1908"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1952"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1912":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseUpdate.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1913"},"imported":[{"uid":"c5e49757-1008"},{"uid":"c5e49757-1624"}],"importedBy":[{"uid":"c5e49757-1914"},{"uid":"c5e49757-1916"}]},"c5e49757-1914":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/update.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1915"},"imported":[{"uid":"c5e49757-1912"},{"uid":"c5e49757-1320"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1916":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/updateWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1917"},"imported":[{"uid":"c5e49757-1912"},{"uid":"c5e49757-1320"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1918":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/upperCase.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1919"},"imported":[{"uid":"c5e49757-1076"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1990"}]},"c5e49757-1920":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/value.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1921"},"imported":[{"uid":"c5e49757-1856"}],"importedBy":[{"uid":"c5e49757-2008"}]},"c5e49757-1922":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/valueOf.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1923"},"imported":[{"uid":"c5e49757-1856"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1988"},{"uid":"c5e49757-1986"}]},"c5e49757-1924":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/valuesIn.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1925"},"imported":[{"uid":"c5e49757-1460"},{"uid":"c5e49757-940"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1982"}]},"c5e49757-1926":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/without.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1927"},"imported":[{"uid":"c5e49757-1298"},{"uid":"c5e49757-894"},{"uid":"c5e49757-1274"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1928":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/wrap.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1929"},"imported":[{"uid":"c5e49757-1320"},{"uid":"c5e49757-1674"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1966"}]},"c5e49757-1930":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/wrapperAt.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1931"},"imported":[{"uid":"c5e49757-810"},{"uid":"c5e49757-820"},{"uid":"c5e49757-1012"},{"uid":"c5e49757-1022"},{"uid":"c5e49757-866"},{"uid":"c5e49757-1848"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1988"},{"uid":"c5e49757-1986"}]},"c5e49757-1932":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/wrapperChain.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1933"},"imported":[{"uid":"c5e49757-1086"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1988"},{"uid":"c5e49757-1986"}]},"c5e49757-1934":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/wrapperReverse.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1935"},"imported":[{"uid":"c5e49757-810"},{"uid":"c5e49757-820"},{"uid":"c5e49757-1738"},{"uid":"c5e49757-1848"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1988"},{"uid":"c5e49757-1986"}]},"c5e49757-1936":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseXor.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1937"},"imported":[{"uid":"c5e49757-1298"},{"uid":"c5e49757-1018"},{"uid":"c5e49757-1890"}],"importedBy":[{"uid":"c5e49757-1938"},{"uid":"c5e49757-1940"},{"uid":"c5e49757-1942"}]},"c5e49757-1938":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/xor.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1939"},"imported":[{"uid":"c5e49757-1112"},{"uid":"c5e49757-894"},{"uid":"c5e49757-1936"},{"uid":"c5e49757-1274"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1940":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/xorBy.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1941"},"imported":[{"uid":"c5e49757-1112"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-894"},{"uid":"c5e49757-1936"},{"uid":"c5e49757-1274"},{"uid":"c5e49757-1302"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1942":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/xorWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1943"},"imported":[{"uid":"c5e49757-1112"},{"uid":"c5e49757-894"},{"uid":"c5e49757-1936"},{"uid":"c5e49757-1274"},{"uid":"c5e49757-1302"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1944":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/zip.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1945"},"imported":[{"uid":"c5e49757-894"},{"uid":"c5e49757-1908"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1946":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_baseZipObject.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1947"},"imported":[],"importedBy":[{"uid":"c5e49757-1948"},{"uid":"c5e49757-1950"}]},"c5e49757-1948":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/zipObject.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1949"},"imported":[{"uid":"c5e49757-888"},{"uid":"c5e49757-1946"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1950":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/zipObjectDeep.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1951"},"imported":[{"uid":"c5e49757-1624"},{"uid":"c5e49757-1946"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1952":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/zipWith.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1953"},"imported":[{"uid":"c5e49757-894"},{"uid":"c5e49757-1910"}],"importedBy":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-1956"},{"uid":"c5e49757-1954"}]},"c5e49757-1954":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/array.default.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1955"},"imported":[{"uid":"c5e49757-1088"},{"uid":"c5e49757-1176"},{"uid":"c5e49757-1178"},{"uid":"c5e49757-1300"},{"uid":"c5e49757-1304"},{"uid":"c5e49757-1306"},{"uid":"c5e49757-1310"},{"uid":"c5e49757-1312"},{"uid":"c5e49757-1316"},{"uid":"c5e49757-1318"},{"uid":"c5e49757-1374"},{"uid":"c5e49757-1382"},{"uid":"c5e49757-1390"},{"uid":"c5e49757-1398"},{"uid":"c5e49757-1020"},{"uid":"c5e49757-1410"},{"uid":"c5e49757-1412"},{"uid":"c5e49757-1432"},{"uid":"c5e49757-1396"},{"uid":"c5e49757-1466"},{"uid":"c5e49757-1468"},{"uid":"c5e49757-1474"},{"uid":"c5e49757-1476"},{"uid":"c5e49757-1478"},{"uid":"c5e49757-1548"},{"uid":"c5e49757-1302"},{"uid":"c5e49757-1556"},{"uid":"c5e49757-1614"},{"uid":"c5e49757-1694"},{"uid":"c5e49757-1692"},{"uid":"c5e49757-1696"},{"uid":"c5e49757-1698"},{"uid":"c5e49757-1702"},{"uid":"c5e49757-1728"},{"uid":"c5e49757-1738"},{"uid":"c5e49757-1768"},{"uid":"c5e49757-1782"},{"uid":"c5e49757-1784"},{"uid":"c5e49757-1786"},{"uid":"c5e49757-1788"},{"uid":"c5e49757-1790"},{"uid":"c5e49757-1792"},{"uid":"c5e49757-1796"},{"uid":"c5e49757-1798"},{"uid":"c5e49757-1820"},{"uid":"c5e49757-1822"},{"uid":"c5e49757-1824"},{"uid":"c5e49757-1826"},{"uid":"c5e49757-1828"},{"uid":"c5e49757-1892"},{"uid":"c5e49757-1894"},{"uid":"c5e49757-1896"},{"uid":"c5e49757-1898"},{"uid":"c5e49757-1900"},{"uid":"c5e49757-1902"},{"uid":"c5e49757-1908"},{"uid":"c5e49757-1910"},{"uid":"c5e49757-1926"},{"uid":"c5e49757-1938"},{"uid":"c5e49757-1940"},{"uid":"c5e49757-1942"},{"uid":"c5e49757-1944"},{"uid":"c5e49757-1948"},{"uid":"c5e49757-1950"},{"uid":"c5e49757-1952"}],"importedBy":[{"uid":"c5e49757-1956"}]},"c5e49757-1956":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/array.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1957"},"imported":[{"uid":"c5e49757-1088"},{"uid":"c5e49757-1176"},{"uid":"c5e49757-1178"},{"uid":"c5e49757-1300"},{"uid":"c5e49757-1304"},{"uid":"c5e49757-1306"},{"uid":"c5e49757-1310"},{"uid":"c5e49757-1312"},{"uid":"c5e49757-1316"},{"uid":"c5e49757-1318"},{"uid":"c5e49757-1374"},{"uid":"c5e49757-1382"},{"uid":"c5e49757-1390"},{"uid":"c5e49757-1398"},{"uid":"c5e49757-1020"},{"uid":"c5e49757-1410"},{"uid":"c5e49757-1412"},{"uid":"c5e49757-1432"},{"uid":"c5e49757-1396"},{"uid":"c5e49757-1466"},{"uid":"c5e49757-1468"},{"uid":"c5e49757-1474"},{"uid":"c5e49757-1476"},{"uid":"c5e49757-1478"},{"uid":"c5e49757-1548"},{"uid":"c5e49757-1302"},{"uid":"c5e49757-1556"},{"uid":"c5e49757-1614"},{"uid":"c5e49757-1694"},{"uid":"c5e49757-1692"},{"uid":"c5e49757-1696"},{"uid":"c5e49757-1698"},{"uid":"c5e49757-1702"},{"uid":"c5e49757-1728"},{"uid":"c5e49757-1738"},{"uid":"c5e49757-1768"},{"uid":"c5e49757-1782"},{"uid":"c5e49757-1784"},{"uid":"c5e49757-1786"},{"uid":"c5e49757-1788"},{"uid":"c5e49757-1790"},{"uid":"c5e49757-1792"},{"uid":"c5e49757-1796"},{"uid":"c5e49757-1798"},{"uid":"c5e49757-1820"},{"uid":"c5e49757-1822"},{"uid":"c5e49757-1824"},{"uid":"c5e49757-1826"},{"uid":"c5e49757-1828"},{"uid":"c5e49757-1892"},{"uid":"c5e49757-1894"},{"uid":"c5e49757-1896"},{"uid":"c5e49757-1898"},{"uid":"c5e49757-1900"},{"uid":"c5e49757-1902"},{"uid":"c5e49757-1908"},{"uid":"c5e49757-1910"},{"uid":"c5e49757-1926"},{"uid":"c5e49757-1938"},{"uid":"c5e49757-1940"},{"uid":"c5e49757-1942"},{"uid":"c5e49757-1944"},{"uid":"c5e49757-1948"},{"uid":"c5e49757-1950"},{"uid":"c5e49757-1952"},{"uid":"c5e49757-1954"}],"importedBy":[{"uid":"c5e49757-2006"}]},"c5e49757-1958":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/collection.default.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1959"},"imported":[{"uid":"c5e49757-1256"},{"uid":"c5e49757-1324"},{"uid":"c5e49757-1336"},{"uid":"c5e49757-1364"},{"uid":"c5e49757-1378"},{"uid":"c5e49757-1384"},{"uid":"c5e49757-1392"},{"uid":"c5e49757-1404"},{"uid":"c5e49757-1406"},{"uid":"c5e49757-1408"},{"uid":"c5e49757-1322"},{"uid":"c5e49757-1334"},{"uid":"c5e49757-1440"},{"uid":"c5e49757-1464"},{"uid":"c5e49757-1494"},{"uid":"c5e49757-1552"},{"uid":"c5e49757-1402"},{"uid":"c5e49757-1642"},{"uid":"c5e49757-1678"},{"uid":"c5e49757-1720"},{"uid":"c5e49757-1724"},{"uid":"c5e49757-1726"},{"uid":"c5e49757-1746"},{"uid":"c5e49757-1754"},{"uid":"c5e49757-1764"},{"uid":"c5e49757-1766"},{"uid":"c5e49757-1774"},{"uid":"c5e49757-1776"}],"importedBy":[{"uid":"c5e49757-1960"}]},"c5e49757-1960":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/collection.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1961"},"imported":[{"uid":"c5e49757-1256"},{"uid":"c5e49757-1324"},{"uid":"c5e49757-1336"},{"uid":"c5e49757-1364"},{"uid":"c5e49757-1378"},{"uid":"c5e49757-1384"},{"uid":"c5e49757-1392"},{"uid":"c5e49757-1404"},{"uid":"c5e49757-1406"},{"uid":"c5e49757-1408"},{"uid":"c5e49757-1322"},{"uid":"c5e49757-1334"},{"uid":"c5e49757-1440"},{"uid":"c5e49757-1464"},{"uid":"c5e49757-1494"},{"uid":"c5e49757-1552"},{"uid":"c5e49757-1402"},{"uid":"c5e49757-1642"},{"uid":"c5e49757-1678"},{"uid":"c5e49757-1720"},{"uid":"c5e49757-1724"},{"uid":"c5e49757-1726"},{"uid":"c5e49757-1746"},{"uid":"c5e49757-1754"},{"uid":"c5e49757-1764"},{"uid":"c5e49757-1766"},{"uid":"c5e49757-1774"},{"uid":"c5e49757-1776"},{"uid":"c5e49757-1958"}],"importedBy":[{"uid":"c5e49757-2006"}]},"c5e49757-1962":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/date.default.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1963"},"imported":[{"uid":"c5e49757-1264"}],"importedBy":[{"uid":"c5e49757-1964"}]},"c5e49757-1964":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/date.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1965"},"imported":[{"uid":"c5e49757-1264"},{"uid":"c5e49757-1962"}],"importedBy":[{"uid":"c5e49757-2006"}]},"c5e49757-1966":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/function.default.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1967"},"imported":[{"uid":"c5e49757-770"},{"uid":"c5e49757-882"},{"uid":"c5e49757-1034"},{"uid":"c5e49757-1036"},{"uid":"c5e49757-1040"},{"uid":"c5e49757-1260"},{"uid":"c5e49757-1262"},{"uid":"c5e49757-1266"},{"uid":"c5e49757-1292"},{"uid":"c5e49757-1294"},{"uid":"c5e49757-1414"},{"uid":"c5e49757-996"},{"uid":"c5e49757-1604"},{"uid":"c5e49757-1632"},{"uid":"c5e49757-1650"},{"uid":"c5e49757-1674"},{"uid":"c5e49757-1676"},{"uid":"c5e49757-1716"},{"uid":"c5e49757-1734"},{"uid":"c5e49757-1802"},{"uid":"c5e49757-1846"},{"uid":"c5e49757-1882"},{"uid":"c5e49757-1928"}],"importedBy":[{"uid":"c5e49757-1968"}]},"c5e49757-1968":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/function.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1969"},"imported":[{"uid":"c5e49757-770"},{"uid":"c5e49757-882"},{"uid":"c5e49757-1034"},{"uid":"c5e49757-1036"},{"uid":"c5e49757-1040"},{"uid":"c5e49757-1260"},{"uid":"c5e49757-1262"},{"uid":"c5e49757-1266"},{"uid":"c5e49757-1292"},{"uid":"c5e49757-1294"},{"uid":"c5e49757-1414"},{"uid":"c5e49757-996"},{"uid":"c5e49757-1604"},{"uid":"c5e49757-1632"},{"uid":"c5e49757-1650"},{"uid":"c5e49757-1674"},{"uid":"c5e49757-1676"},{"uid":"c5e49757-1716"},{"uid":"c5e49757-1734"},{"uid":"c5e49757-1802"},{"uid":"c5e49757-1846"},{"uid":"c5e49757-1882"},{"uid":"c5e49757-1928"},{"uid":"c5e49757-1966"}],"importedBy":[{"uid":"c5e49757-2006"}]},"c5e49757-1970":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/lang.default.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1971"},"imported":[{"uid":"c5e49757-1080"},{"uid":"c5e49757-1166"},{"uid":"c5e49757-1168"},{"uid":"c5e49757-1170"},{"uid":"c5e49757-1172"},{"uid":"c5e49757-1238"},{"uid":"c5e49757-886"},{"uid":"c5e49757-1446"},{"uid":"c5e49757-1448"},{"uid":"c5e49757-910"},{"uid":"c5e49757-750"},{"uid":"c5e49757-1498"},{"uid":"c5e49757-898"},{"uid":"c5e49757-1274"},{"uid":"c5e49757-1500"},{"uid":"c5e49757-914"},{"uid":"c5e49757-1504"},{"uid":"c5e49757-1506"},{"uid":"c5e49757-1508"},{"uid":"c5e49757-1510"},{"uid":"c5e49757-1512"},{"uid":"c5e49757-1030"},{"uid":"c5e49757-1514"},{"uid":"c5e49757-774"},{"uid":"c5e49757-1516"},{"uid":"c5e49757-896"},{"uid":"c5e49757-1158"},{"uid":"c5e49757-1518"},{"uid":"c5e49757-1520"},{"uid":"c5e49757-1524"},{"uid":"c5e49757-1528"},{"uid":"c5e49757-1530"},{"uid":"c5e49757-1532"},{"uid":"c5e49757-1522"},{"uid":"c5e49757-762"},{"uid":"c5e49757-742"},{"uid":"c5e49757-1028"},{"uid":"c5e49757-1536"},{"uid":"c5e49757-1538"},{"uid":"c5e49757-1162"},{"uid":"c5e49757-1458"},{"uid":"c5e49757-744"},{"uid":"c5e49757-922"},{"uid":"c5e49757-1540"},{"uid":"c5e49757-1542"},{"uid":"c5e49757-1544"},{"uid":"c5e49757-1564"},{"uid":"c5e49757-1566"},{"uid":"c5e49757-1608"},{"uid":"c5e49757-766"},{"uid":"c5e49757-768"},{"uid":"c5e49757-1370"},{"uid":"c5e49757-764"},{"uid":"c5e49757-1278"},{"uid":"c5e49757-1864"},{"uid":"c5e49757-1002"}],"importedBy":[{"uid":"c5e49757-1972"}]},"c5e49757-1972":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/lang.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1973"},"imported":[{"uid":"c5e49757-1080"},{"uid":"c5e49757-1166"},{"uid":"c5e49757-1168"},{"uid":"c5e49757-1170"},{"uid":"c5e49757-1172"},{"uid":"c5e49757-1238"},{"uid":"c5e49757-886"},{"uid":"c5e49757-1446"},{"uid":"c5e49757-1448"},{"uid":"c5e49757-910"},{"uid":"c5e49757-750"},{"uid":"c5e49757-1498"},{"uid":"c5e49757-898"},{"uid":"c5e49757-1274"},{"uid":"c5e49757-1500"},{"uid":"c5e49757-914"},{"uid":"c5e49757-1504"},{"uid":"c5e49757-1506"},{"uid":"c5e49757-1508"},{"uid":"c5e49757-1510"},{"uid":"c5e49757-1512"},{"uid":"c5e49757-1030"},{"uid":"c5e49757-1514"},{"uid":"c5e49757-774"},{"uid":"c5e49757-1516"},{"uid":"c5e49757-896"},{"uid":"c5e49757-1158"},{"uid":"c5e49757-1518"},{"uid":"c5e49757-1520"},{"uid":"c5e49757-1524"},{"uid":"c5e49757-1528"},{"uid":"c5e49757-1530"},{"uid":"c5e49757-1532"},{"uid":"c5e49757-1522"},{"uid":"c5e49757-762"},{"uid":"c5e49757-742"},{"uid":"c5e49757-1028"},{"uid":"c5e49757-1536"},{"uid":"c5e49757-1538"},{"uid":"c5e49757-1162"},{"uid":"c5e49757-1458"},{"uid":"c5e49757-744"},{"uid":"c5e49757-922"},{"uid":"c5e49757-1540"},{"uid":"c5e49757-1542"},{"uid":"c5e49757-1544"},{"uid":"c5e49757-1564"},{"uid":"c5e49757-1566"},{"uid":"c5e49757-1608"},{"uid":"c5e49757-766"},{"uid":"c5e49757-768"},{"uid":"c5e49757-1370"},{"uid":"c5e49757-764"},{"uid":"c5e49757-1278"},{"uid":"c5e49757-1864"},{"uid":"c5e49757-1002"},{"uid":"c5e49757-1970"}],"importedBy":[{"uid":"c5e49757-2006"}]},"c5e49757-1974":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/math.default.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1975"},"imported":[{"uid":"c5e49757-756"},{"uid":"c5e49757-1084"},{"uid":"c5e49757-1308"},{"uid":"c5e49757-1416"},{"uid":"c5e49757-1578"},{"uid":"c5e49757-1580"},{"uid":"c5e49757-1586"},{"uid":"c5e49757-1588"},{"uid":"c5e49757-1596"},{"uid":"c5e49757-1598"},{"uid":"c5e49757-1602"},{"uid":"c5e49757-1740"},{"uid":"c5e49757-1814"},{"uid":"c5e49757-1816"},{"uid":"c5e49757-1818"}],"importedBy":[{"uid":"c5e49757-1976"}]},"c5e49757-1976":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/math.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1977"},"imported":[{"uid":"c5e49757-756"},{"uid":"c5e49757-1084"},{"uid":"c5e49757-1308"},{"uid":"c5e49757-1416"},{"uid":"c5e49757-1578"},{"uid":"c5e49757-1580"},{"uid":"c5e49757-1586"},{"uid":"c5e49757-1588"},{"uid":"c5e49757-1596"},{"uid":"c5e49757-1598"},{"uid":"c5e49757-1602"},{"uid":"c5e49757-1740"},{"uid":"c5e49757-1814"},{"uid":"c5e49757-1816"},{"uid":"c5e49757-1818"},{"uid":"c5e49757-1974"}],"importedBy":[{"uid":"c5e49757-2006"}]},"c5e49757-1978":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/number.default.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1979"},"imported":[{"uid":"c5e49757-1092"},{"uid":"c5e49757-1456"},{"uid":"c5e49757-1706"}],"importedBy":[{"uid":"c5e49757-1980"}]},"c5e49757-1980":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/number.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1981"},"imported":[{"uid":"c5e49757-1092"},{"uid":"c5e49757-1456"},{"uid":"c5e49757-1706"},{"uid":"c5e49757-1978"}],"importedBy":[{"uid":"c5e49757-2006"}]},"c5e49757-1982":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/object.default.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1983"},"imported":[{"uid":"c5e49757-934"},{"uid":"c5e49757-942"},{"uid":"c5e49757-944"},{"uid":"c5e49757-946"},{"uid":"c5e49757-1024"},{"uid":"c5e49757-1258"},{"uid":"c5e49757-1270"},{"uid":"c5e49757-1288"},{"uid":"c5e49757-1348"},{"uid":"c5e49757-1352"},{"uid":"c5e49757-1366"},{"uid":"c5e49757-1368"},{"uid":"c5e49757-1388"},{"uid":"c5e49757-1394"},{"uid":"c5e49757-1424"},{"uid":"c5e49757-1426"},{"uid":"c5e49757-1428"},{"uid":"c5e49757-1430"},{"uid":"c5e49757-1436"},{"uid":"c5e49757-1438"},{"uid":"c5e49757-1010"},{"uid":"c5e49757-1452"},{"uid":"c5e49757-1218"},{"uid":"c5e49757-1484"},{"uid":"c5e49757-1486"},{"uid":"c5e49757-1492"},{"uid":"c5e49757-932"},{"uid":"c5e49757-940"},{"uid":"c5e49757-1568"},{"uid":"c5e49757-1570"},{"uid":"c5e49757-1590"},{"uid":"c5e49757-1286"},{"uid":"c5e49757-1622"},{"uid":"c5e49757-1630"},{"uid":"c5e49757-1682"},{"uid":"c5e49757-1628"},{"uid":"c5e49757-1736"},{"uid":"c5e49757-1756"},{"uid":"c5e49757-1758"},{"uid":"c5e49757-1346"},{"uid":"c5e49757-1350"},{"uid":"c5e49757-1868"},{"uid":"c5e49757-1906"},{"uid":"c5e49757-1914"},{"uid":"c5e49757-1916"},{"uid":"c5e49757-1462"},{"uid":"c5e49757-1924"}],"importedBy":[{"uid":"c5e49757-1984"}]},"c5e49757-1984":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/object.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1985"},"imported":[{"uid":"c5e49757-934"},{"uid":"c5e49757-942"},{"uid":"c5e49757-944"},{"uid":"c5e49757-946"},{"uid":"c5e49757-1024"},{"uid":"c5e49757-1258"},{"uid":"c5e49757-1270"},{"uid":"c5e49757-1288"},{"uid":"c5e49757-1348"},{"uid":"c5e49757-1352"},{"uid":"c5e49757-1366"},{"uid":"c5e49757-1368"},{"uid":"c5e49757-1388"},{"uid":"c5e49757-1394"},{"uid":"c5e49757-1424"},{"uid":"c5e49757-1426"},{"uid":"c5e49757-1428"},{"uid":"c5e49757-1430"},{"uid":"c5e49757-1436"},{"uid":"c5e49757-1438"},{"uid":"c5e49757-1010"},{"uid":"c5e49757-1452"},{"uid":"c5e49757-1218"},{"uid":"c5e49757-1484"},{"uid":"c5e49757-1486"},{"uid":"c5e49757-1492"},{"uid":"c5e49757-932"},{"uid":"c5e49757-940"},{"uid":"c5e49757-1568"},{"uid":"c5e49757-1570"},{"uid":"c5e49757-1590"},{"uid":"c5e49757-1286"},{"uid":"c5e49757-1622"},{"uid":"c5e49757-1630"},{"uid":"c5e49757-1682"},{"uid":"c5e49757-1628"},{"uid":"c5e49757-1736"},{"uid":"c5e49757-1756"},{"uid":"c5e49757-1758"},{"uid":"c5e49757-1346"},{"uid":"c5e49757-1350"},{"uid":"c5e49757-1868"},{"uid":"c5e49757-1906"},{"uid":"c5e49757-1914"},{"uid":"c5e49757-1916"},{"uid":"c5e49757-1462"},{"uid":"c5e49757-1924"},{"uid":"c5e49757-1982"}],"importedBy":[{"uid":"c5e49757-2006"}]},"c5e49757-1986":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/seq.default.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1987"},"imported":[{"uid":"c5e49757-1930"},{"uid":"c5e49757-1086"},{"uid":"c5e49757-1174"},{"uid":"c5e49757-826"},{"uid":"c5e49757-1610"},{"uid":"c5e49757-1684"},{"uid":"c5e49757-1934"},{"uid":"c5e49757-1830"},{"uid":"c5e49757-1848"},{"uid":"c5e49757-1852"},{"uid":"c5e49757-1858"},{"uid":"c5e49757-1856"},{"uid":"c5e49757-1922"},{"uid":"c5e49757-1932"}],"importedBy":[{"uid":"c5e49757-1988"}]},"c5e49757-1988":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/seq.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1989"},"imported":[{"uid":"c5e49757-1930"},{"uid":"c5e49757-1086"},{"uid":"c5e49757-1174"},{"uid":"c5e49757-826"},{"uid":"c5e49757-1610"},{"uid":"c5e49757-1684"},{"uid":"c5e49757-1934"},{"uid":"c5e49757-1830"},{"uid":"c5e49757-1848"},{"uid":"c5e49757-1852"},{"uid":"c5e49757-1858"},{"uid":"c5e49757-1856"},{"uid":"c5e49757-1922"},{"uid":"c5e49757-1932"},{"uid":"c5e49757-1986"}],"importedBy":[{"uid":"c5e49757-2006"}]},"c5e49757-1990":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/string.default.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1991"},"imported":[{"uid":"c5e49757-1078"},{"uid":"c5e49757-1058"},{"uid":"c5e49757-1066"},{"uid":"c5e49757-1338"},{"uid":"c5e49757-1356"},{"uid":"c5e49757-1358"},{"uid":"c5e49757-1550"},{"uid":"c5e49757-1558"},{"uid":"c5e49757-1560"},{"uid":"c5e49757-1666"},{"uid":"c5e49757-1668"},{"uid":"c5e49757-1670"},{"uid":"c5e49757-1672"},{"uid":"c5e49757-1730"},{"uid":"c5e49757-1732"},{"uid":"c5e49757-1770"},{"uid":"c5e49757-1800"},{"uid":"c5e49757-1804"},{"uid":"c5e49757-1806"},{"uid":"c5e49757-1844"},{"uid":"c5e49757-1842"},{"uid":"c5e49757-1860"},{"uid":"c5e49757-1866"},{"uid":"c5e49757-1874"},{"uid":"c5e49757-1876"},{"uid":"c5e49757-1878"},{"uid":"c5e49757-1880"},{"uid":"c5e49757-1886"},{"uid":"c5e49757-1918"},{"uid":"c5e49757-1056"},{"uid":"c5e49757-1074"}],"importedBy":[{"uid":"c5e49757-1992"}]},"c5e49757-1992":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/string.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1993"},"imported":[{"uid":"c5e49757-1078"},{"uid":"c5e49757-1058"},{"uid":"c5e49757-1066"},{"uid":"c5e49757-1338"},{"uid":"c5e49757-1356"},{"uid":"c5e49757-1358"},{"uid":"c5e49757-1550"},{"uid":"c5e49757-1558"},{"uid":"c5e49757-1560"},{"uid":"c5e49757-1666"},{"uid":"c5e49757-1668"},{"uid":"c5e49757-1670"},{"uid":"c5e49757-1672"},{"uid":"c5e49757-1730"},{"uid":"c5e49757-1732"},{"uid":"c5e49757-1770"},{"uid":"c5e49757-1800"},{"uid":"c5e49757-1804"},{"uid":"c5e49757-1806"},{"uid":"c5e49757-1844"},{"uid":"c5e49757-1842"},{"uid":"c5e49757-1860"},{"uid":"c5e49757-1866"},{"uid":"c5e49757-1874"},{"uid":"c5e49757-1876"},{"uid":"c5e49757-1878"},{"uid":"c5e49757-1880"},{"uid":"c5e49757-1886"},{"uid":"c5e49757-1918"},{"uid":"c5e49757-1056"},{"uid":"c5e49757-1074"},{"uid":"c5e49757-1990"}],"importedBy":[{"uid":"c5e49757-2006"}]},"c5e49757-1994":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/util.default.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1995"},"imported":[{"uid":"c5e49757-1032"},{"uid":"c5e49757-1038"},{"uid":"c5e49757-1230"},{"uid":"c5e49757-1236"},{"uid":"c5e49757-838"},{"uid":"c5e49757-1268"},{"uid":"c5e49757-1420"},{"uid":"c5e49757-1422"},{"uid":"c5e49757-772"},{"uid":"c5e49757-1546"},{"uid":"c5e49757-1572"},{"uid":"c5e49757-1574"},{"uid":"c5e49757-1592"},{"uid":"c5e49757-1594"},{"uid":"c5e49757-1600"},{"uid":"c5e49757-812"},{"uid":"c5e49757-1616"},{"uid":"c5e49757-1646"},{"uid":"c5e49757-1652"},{"uid":"c5e49757-1654"},{"uid":"c5e49757-1226"},{"uid":"c5e49757-1686"},{"uid":"c5e49757-1712"},{"uid":"c5e49757-1714"},{"uid":"c5e49757-1114"},{"uid":"c5e49757-912"},{"uid":"c5e49757-1808"},{"uid":"c5e49757-1810"},{"uid":"c5e49757-1812"},{"uid":"c5e49757-1850"},{"uid":"c5e49757-1862"},{"uid":"c5e49757-1904"}],"importedBy":[{"uid":"c5e49757-1996"}]},"c5e49757-1996":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/util.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1997"},"imported":[{"uid":"c5e49757-1032"},{"uid":"c5e49757-1038"},{"uid":"c5e49757-1230"},{"uid":"c5e49757-1236"},{"uid":"c5e49757-838"},{"uid":"c5e49757-1268"},{"uid":"c5e49757-1420"},{"uid":"c5e49757-1422"},{"uid":"c5e49757-772"},{"uid":"c5e49757-1546"},{"uid":"c5e49757-1572"},{"uid":"c5e49757-1574"},{"uid":"c5e49757-1592"},{"uid":"c5e49757-1594"},{"uid":"c5e49757-1600"},{"uid":"c5e49757-812"},{"uid":"c5e49757-1616"},{"uid":"c5e49757-1646"},{"uid":"c5e49757-1652"},{"uid":"c5e49757-1654"},{"uid":"c5e49757-1226"},{"uid":"c5e49757-1686"},{"uid":"c5e49757-1712"},{"uid":"c5e49757-1714"},{"uid":"c5e49757-1114"},{"uid":"c5e49757-912"},{"uid":"c5e49757-1808"},{"uid":"c5e49757-1810"},{"uid":"c5e49757-1812"},{"uid":"c5e49757-1850"},{"uid":"c5e49757-1862"},{"uid":"c5e49757-1904"},{"uid":"c5e49757-1994"}],"importedBy":[{"uid":"c5e49757-2006"}]},"c5e49757-1998":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_lazyClone.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-1999"},"imported":[{"uid":"c5e49757-810"},{"uid":"c5e49757-822"}],"importedBy":[{"uid":"c5e49757-2006"}]},"c5e49757-2000":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_lazyReverse.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-2001"},"imported":[{"uid":"c5e49757-810"}],"importedBy":[{"uid":"c5e49757-2006"}]},"c5e49757-2002":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_getView.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-2003"},"imported":[],"importedBy":[{"uid":"c5e49757-2004"}]},"c5e49757-2004":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/_lazyValue.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-2005"},"imported":[{"uid":"c5e49757-1854"},{"uid":"c5e49757-2002"},{"uid":"c5e49757-750"}],"importedBy":[{"uid":"c5e49757-2006"}]},"c5e49757-2006":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/lodash.default.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-2007"},"imported":[{"uid":"c5e49757-1956"},{"uid":"c5e49757-1960"},{"uid":"c5e49757-1964"},{"uid":"c5e49757-1968"},{"uid":"c5e49757-1972"},{"uid":"c5e49757-1976"},{"uid":"c5e49757-1980"},{"uid":"c5e49757-1984"},{"uid":"c5e49757-1988"},{"uid":"c5e49757-1992"},{"uid":"c5e49757-1996"},{"uid":"c5e49757-810"},{"uid":"c5e49757-820"},{"uid":"c5e49757-734"},{"uid":"c5e49757-846"},{"uid":"c5e49757-1014"},{"uid":"c5e49757-1246"},{"uid":"c5e49757-1434"},{"uid":"c5e49757-1490"},{"uid":"c5e49757-1228"},{"uid":"c5e49757-894"},{"uid":"c5e49757-872"},{"uid":"c5e49757-772"},{"uid":"c5e49757-750"},{"uid":"c5e49757-762"},{"uid":"c5e49757-932"},{"uid":"c5e49757-1302"},{"uid":"c5e49757-1998"},{"uid":"c5e49757-2000"},{"uid":"c5e49757-2004"},{"uid":"c5e49757-1600"},{"uid":"c5e49757-1604"},{"uid":"c5e49757-816"},{"uid":"c5e49757-1848"},{"uid":"c5e49757-768"},{"uid":"c5e49757-826"}],"importedBy":[{"uid":"c5e49757-2008"}]},"c5e49757-2008":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/lodash-es/lodash.js","moduleParts":{"assets/js/lodash-es-Bx2dc0Qf.js":"c5e49757-2009"},"imported":[{"uid":"c5e49757-756"},{"uid":"c5e49757-770"},{"uid":"c5e49757-882"},{"uid":"c5e49757-934"},{"uid":"c5e49757-942"},{"uid":"c5e49757-944"},{"uid":"c5e49757-946"},{"uid":"c5e49757-1024"},{"uid":"c5e49757-1032"},{"uid":"c5e49757-1034"},{"uid":"c5e49757-1036"},{"uid":"c5e49757-1038"},{"uid":"c5e49757-1040"},{"uid":"c5e49757-1078"},{"uid":"c5e49757-1058"},{"uid":"c5e49757-1080"},{"uid":"c5e49757-1084"},{"uid":"c5e49757-1086"},{"uid":"c5e49757-1088"},{"uid":"c5e49757-1092"},{"uid":"c5e49757-1166"},{"uid":"c5e49757-1168"},{"uid":"c5e49757-1170"},{"uid":"c5e49757-1172"},{"uid":"c5e49757-1174"},{"uid":"c5e49757-1176"},{"uid":"c5e49757-1178"},{"uid":"c5e49757-1230"},{"uid":"c5e49757-1236"},{"uid":"c5e49757-1238"},{"uid":"c5e49757-838"},{"uid":"c5e49757-1256"},{"uid":"c5e49757-1258"},{"uid":"c5e49757-1260"},{"uid":"c5e49757-1262"},{"uid":"c5e49757-1266"},{"uid":"c5e49757-1066"},{"uid":"c5e49757-1268"},{"uid":"c5e49757-1270"},{"uid":"c5e49757-1288"},{"uid":"c5e49757-1292"},{"uid":"c5e49757-1294"},{"uid":"c5e49757-1300"},{"uid":"c5e49757-1304"},{"uid":"c5e49757-1306"},{"uid":"c5e49757-1308"},{"uid":"c5e49757-1310"},{"uid":"c5e49757-1312"},{"uid":"c5e49757-1316"},{"uid":"c5e49757-1318"},{"uid":"c5e49757-1324"},{"uid":"c5e49757-1336"},{"uid":"c5e49757-1338"},{"uid":"c5e49757-1348"},{"uid":"c5e49757-1352"},{"uid":"c5e49757-886"},{"uid":"c5e49757-1356"},{"uid":"c5e49757-1358"},{"uid":"c5e49757-1364"},{"uid":"c5e49757-1366"},{"uid":"c5e49757-1368"},{"uid":"c5e49757-1374"},{"uid":"c5e49757-1378"},{"uid":"c5e49757-1384"},{"uid":"c5e49757-1382"},{"uid":"c5e49757-1388"},{"uid":"c5e49757-1392"},{"uid":"c5e49757-1390"},{"uid":"c5e49757-1394"},{"uid":"c5e49757-1398"},{"uid":"c5e49757-1404"},{"uid":"c5e49757-1406"},{"uid":"c5e49757-1408"},{"uid":"c5e49757-1020"},{"uid":"c5e49757-1410"},{"uid":"c5e49757-1412"},{"uid":"c5e49757-1414"},{"uid":"c5e49757-1416"},{"uid":"c5e49757-1420"},{"uid":"c5e49757-1422"},{"uid":"c5e49757-1322"},{"uid":"c5e49757-1334"},{"uid":"c5e49757-1424"},{"uid":"c5e49757-1426"},{"uid":"c5e49757-1428"},{"uid":"c5e49757-1430"},{"uid":"c5e49757-1432"},{"uid":"c5e49757-1436"},{"uid":"c5e49757-1438"},{"uid":"c5e49757-1010"},{"uid":"c5e49757-1440"},{"uid":"c5e49757-1446"},{"uid":"c5e49757-1448"},{"uid":"c5e49757-1452"},{"uid":"c5e49757-1218"},{"uid":"c5e49757-1396"},{"uid":"c5e49757-772"},{"uid":"c5e49757-1456"},{"uid":"c5e49757-1464"},{"uid":"c5e49757-1466"},{"uid":"c5e49757-1468"},{"uid":"c5e49757-1474"},{"uid":"c5e49757-1476"},{"uid":"c5e49757-1478"},{"uid":"c5e49757-1484"},{"uid":"c5e49757-1486"},{"uid":"c5e49757-1492"},{"uid":"c5e49757-1494"},{"uid":"c5e49757-910"},{"uid":"c5e49757-750"},{"uid":"c5e49757-1498"},{"uid":"c5e49757-898"},{"uid":"c5e49757-1274"},{"uid":"c5e49757-1500"},{"uid":"c5e49757-914"},{"uid":"c5e49757-1504"},{"uid":"c5e49757-1506"},{"uid":"c5e49757-1508"},{"uid":"c5e49757-1510"},{"uid":"c5e49757-1512"},{"uid":"c5e49757-1030"},{"uid":"c5e49757-1514"},{"uid":"c5e49757-774"},{"uid":"c5e49757-1516"},{"uid":"c5e49757-896"},{"uid":"c5e49757-1158"},{"uid":"c5e49757-1518"},{"uid":"c5e49757-1520"},{"uid":"c5e49757-1524"},{"uid":"c5e49757-1528"},{"uid":"c5e49757-1530"},{"uid":"c5e49757-1532"},{"uid":"c5e49757-1522"},{"uid":"c5e49757-762"},{"uid":"c5e49757-742"},{"uid":"c5e49757-1028"},{"uid":"c5e49757-1536"},{"uid":"c5e49757-1538"},{"uid":"c5e49757-1162"},{"uid":"c5e49757-1458"},{"uid":"c5e49757-744"},{"uid":"c5e49757-922"},{"uid":"c5e49757-1540"},{"uid":"c5e49757-1542"},{"uid":"c5e49757-1544"},{"uid":"c5e49757-1546"},{"uid":"c5e49757-1548"},{"uid":"c5e49757-1550"},{"uid":"c5e49757-1552"},{"uid":"c5e49757-932"},{"uid":"c5e49757-940"},{"uid":"c5e49757-1302"},{"uid":"c5e49757-1556"},{"uid":"c5e49757-826"},{"uid":"c5e49757-1558"},{"uid":"c5e49757-1560"},{"uid":"c5e49757-1564"},{"uid":"c5e49757-1566"},{"uid":"c5e49757-1402"},{"uid":"c5e49757-1568"},{"uid":"c5e49757-1570"},{"uid":"c5e49757-1572"},{"uid":"c5e49757-1574"},{"uid":"c5e49757-1578"},{"uid":"c5e49757-1580"},{"uid":"c5e49757-1586"},{"uid":"c5e49757-1588"},{"uid":"c5e49757-996"},{"uid":"c5e49757-1590"},{"uid":"c5e49757-1286"},{"uid":"c5e49757-1592"},{"uid":"c5e49757-1594"},{"uid":"c5e49757-1596"},{"uid":"c5e49757-1598"},{"uid":"c5e49757-1600"},{"uid":"c5e49757-1602"},{"uid":"c5e49757-1604"},{"uid":"c5e49757-1610"},{"uid":"c5e49757-812"},{"uid":"c5e49757-1264"},{"uid":"c5e49757-1614"},{"uid":"c5e49757-1616"},{"uid":"c5e49757-1622"},{"uid":"c5e49757-1630"},{"uid":"c5e49757-1632"},{"uid":"c5e49757-1642"},{"uid":"c5e49757-1646"},{"uid":"c5e49757-1650"},{"uid":"c5e49757-1652"},{"uid":"c5e49757-1654"},{"uid":"c5e49757-1666"},{"uid":"c5e49757-1668"},{"uid":"c5e49757-1670"},{"uid":"c5e49757-1672"},{"uid":"c5e49757-1674"},{"uid":"c5e49757-1676"},{"uid":"c5e49757-1678"},{"uid":"c5e49757-1682"},{"uid":"c5e49757-1628"},{"uid":"c5e49757-1684"},{"uid":"c5e49757-1226"},{"uid":"c5e49757-1686"},{"uid":"c5e49757-1694"},{"uid":"c5e49757-1692"},{"uid":"c5e49757-1696"},{"uid":"c5e49757-1698"},{"uid":"c5e49757-1702"},{"uid":"c5e49757-1706"},{"uid":"c5e49757-1712"},{"uid":"c5e49757-1714"},{"uid":"c5e49757-1716"},{"uid":"c5e49757-1720"},{"uid":"c5e49757-1724"},{"uid":"c5e49757-1726"},{"uid":"c5e49757-1728"},{"uid":"c5e49757-1730"},{"uid":"c5e49757-1732"},{"uid":"c5e49757-1734"},{"uid":"c5e49757-1736"},{"uid":"c5e49757-1738"},{"uid":"c5e49757-1740"},{"uid":"c5e49757-1746"},{"uid":"c5e49757-1754"},{"uid":"c5e49757-1756"},{"uid":"c5e49757-1758"},{"uid":"c5e49757-1764"},{"uid":"c5e49757-1766"},{"uid":"c5e49757-1768"},{"uid":"c5e49757-1770"},{"uid":"c5e49757-1774"},{"uid":"c5e49757-1776"},{"uid":"c5e49757-1782"},{"uid":"c5e49757-1784"},{"uid":"c5e49757-1786"},{"uid":"c5e49757-1788"},{"uid":"c5e49757-1790"},{"uid":"c5e49757-1792"},{"uid":"c5e49757-1796"},{"uid":"c5e49757-1798"},{"uid":"c5e49757-1800"},{"uid":"c5e49757-1802"},{"uid":"c5e49757-1804"},{"uid":"c5e49757-1806"},{"uid":"c5e49757-1114"},{"uid":"c5e49757-912"},{"uid":"c5e49757-1808"},{"uid":"c5e49757-1810"},{"uid":"c5e49757-1812"},{"uid":"c5e49757-1814"},{"uid":"c5e49757-1816"},{"uid":"c5e49757-1818"},{"uid":"c5e49757-1820"},{"uid":"c5e49757-1822"},{"uid":"c5e49757-1824"},{"uid":"c5e49757-1826"},{"uid":"c5e49757-1828"},{"uid":"c5e49757-1830"},{"uid":"c5e49757-1844"},{"uid":"c5e49757-1842"},{"uid":"c5e49757-1846"},{"uid":"c5e49757-1848"},{"uid":"c5e49757-1850"},{"uid":"c5e49757-1608"},{"uid":"c5e49757-766"},{"uid":"c5e49757-768"},{"uid":"c5e49757-1852"},{"uid":"c5e49757-1858"},{"uid":"c5e49757-1370"},{"uid":"c5e49757-1860"},{"uid":"c5e49757-764"},{"uid":"c5e49757-1346"},{"uid":"c5e49757-1350"},{"uid":"c5e49757-1862"},{"uid":"c5e49757-1278"},{"uid":"c5e49757-1864"},{"uid":"c5e49757-1002"},{"uid":"c5e49757-1866"},{"uid":"c5e49757-1868"},{"uid":"c5e49757-1874"},{"uid":"c5e49757-1876"},{"uid":"c5e49757-1878"},{"uid":"c5e49757-1880"},{"uid":"c5e49757-1882"},{"uid":"c5e49757-1886"},{"uid":"c5e49757-1892"},{"uid":"c5e49757-1894"},{"uid":"c5e49757-1896"},{"uid":"c5e49757-1898"},{"uid":"c5e49757-1900"},{"uid":"c5e49757-1902"},{"uid":"c5e49757-1904"},{"uid":"c5e49757-1906"},{"uid":"c5e49757-1908"},{"uid":"c5e49757-1910"},{"uid":"c5e49757-1914"},{"uid":"c5e49757-1916"},{"uid":"c5e49757-1918"},{"uid":"c5e49757-1056"},{"uid":"c5e49757-1920"},{"uid":"c5e49757-1922"},{"uid":"c5e49757-1462"},{"uid":"c5e49757-1924"},{"uid":"c5e49757-1926"},{"uid":"c5e49757-1074"},{"uid":"c5e49757-1928"},{"uid":"c5e49757-1930"},{"uid":"c5e49757-1932"},{"uid":"c5e49757-1934"},{"uid":"c5e49757-1856"},{"uid":"c5e49757-1938"},{"uid":"c5e49757-1940"},{"uid":"c5e49757-1942"},{"uid":"c5e49757-1944"},{"uid":"c5e49757-1948"},{"uid":"c5e49757-1950"},{"uid":"c5e49757-1952"},{"uid":"c5e49757-2006"}],"importedBy":[{"uid":"c5e49757-2"},{"uid":"c5e49757-490"},{"uid":"c5e49757-486"},{"uid":"c5e49757-7386"},{"uid":"c5e49757-7394"},{"uid":"c5e49757-7406"}]},"c5e49757-2010":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/request.ts","moduleParts":{"assets/js/request-B5tUmhxE.js":"c5e49757-2011"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3540"}],"importedBy":[{"uid":"c5e49757-2418"},{"uid":"c5e49757-2438"},{"uid":"c5e49757-56"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-2012"},{"uid":"c5e49757-2384"},{"uid":"c5e49757-290"},{"uid":"c5e49757-2446"},{"uid":"c5e49757-2442"},{"uid":"c5e49757-3658"},{"uid":"c5e49757-292"},{"uid":"c5e49757-250"},{"uid":"c5e49757-3666"},{"uid":"c5e49757-516"},{"uid":"c5e49757-470"},{"uid":"c5e49757-510"},{"uid":"c5e49757-722"},{"uid":"c5e49757-716"},{"uid":"c5e49757-2450"},{"uid":"c5e49757-2420"},{"uid":"c5e49757-706"},{"uid":"c5e49757-2152"},{"uid":"c5e49757-728"},{"uid":"c5e49757-660"},{"uid":"c5e49757-632"},{"uid":"c5e49757-460"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-468"},{"uid":"c5e49757-3930"},{"uid":"c5e49757-4284"},{"uid":"c5e49757-4332"},{"uid":"c5e49757-3944"},{"uid":"c5e49757-3972"},{"uid":"c5e49757-3168"},{"uid":"c5e49757-564"},{"uid":"c5e49757-4346"},{"uid":"c5e49757-4774"},{"uid":"c5e49757-2416"},{"uid":"c5e49757-4318"},{"uid":"c5e49757-2154"},{"uid":"c5e49757-3176"},{"uid":"c5e49757-4760"},{"uid":"c5e49757-584"},{"uid":"c5e49757-4458"},{"uid":"c5e49757-2414"},{"uid":"c5e49757-3170"},{"uid":"c5e49757-562"},{"uid":"c5e49757-552"},{"uid":"c5e49757-656"},{"uid":"c5e49757-620"},{"uid":"c5e49757-302"},{"uid":"c5e49757-244"},{"uid":"c5e49757-4558"},{"uid":"c5e49757-2444"},{"uid":"c5e49757-610"},{"uid":"c5e49757-4156"},{"uid":"c5e49757-4650"},{"uid":"c5e49757-304"},{"uid":"c5e49757-612"},{"uid":"c5e49757-4692"},{"uid":"c5e49757-3886"},{"uid":"c5e49757-4578"},{"uid":"c5e49757-600"},{"uid":"c5e49757-4622"},{"uid":"c5e49757-4658"},{"uid":"c5e49757-3854"}]},"c5e49757-2012":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsInventory/wmsInventoryCheckOrderDetails.ts","moduleParts":{"assets/js/wmsInventoryCheckOrderDetails-EHi8j7tN.js":"c5e49757-2013"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3296"},{"uid":"c5e49757-3794"},{"uid":"c5e49757-4514"},{"uid":"c5e49757-3900"},{"uid":"c5e49757-3924"}]},"c5e49757-2014":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/Errors.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2015"},"imported":[],"importedBy":[{"uid":"c5e49757-2066"},{"uid":"c5e49757-2030"},{"uid":"c5e49757-2042"},{"uid":"c5e49757-2026"},{"uid":"c5e49757-2028"},{"uid":"c5e49757-2060"},{"uid":"c5e49757-2054"}]},"c5e49757-2016":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/HttpClient.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2017"},"imported":[],"importedBy":[{"uid":"c5e49757-2066"},{"uid":"c5e49757-2030"},{"uid":"c5e49757-2026"},{"uid":"c5e49757-2028"},{"uid":"c5e49757-2048"}]},"c5e49757-2018":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/ILogger.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2019"},"imported":[],"importedBy":[{"uid":"c5e49757-2066"},{"uid":"c5e49757-2042"},{"uid":"c5e49757-2064"},{"uid":"c5e49757-2062"},{"uid":"c5e49757-2022"},{"uid":"c5e49757-2026"},{"uid":"c5e49757-2028"},{"uid":"c5e49757-2060"},{"uid":"c5e49757-2054"},{"uid":"c5e49757-2056"},{"uid":"c5e49757-2058"}]},"c5e49757-2020":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/Loggers.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2021"},"imported":[],"importedBy":[{"uid":"c5e49757-2066"},{"uid":"c5e49757-2064"},{"uid":"c5e49757-2062"},{"uid":"c5e49757-2022"}]},"c5e49757-2022":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/Utils.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2023"},"imported":[{"uid":"c5e49757-2018"},{"uid":"c5e49757-2020"}],"importedBy":[{"uid":"c5e49757-2066"},{"uid":"c5e49757-2030"},{"uid":"c5e49757-2042"},{"uid":"c5e49757-2064"},{"uid":"c5e49757-2038"},{"uid":"c5e49757-2026"},{"uid":"c5e49757-2028"},{"uid":"c5e49757-2034"},{"uid":"c5e49757-2040"},{"uid":"c5e49757-2060"},{"uid":"c5e49757-2024"},{"uid":"c5e49757-2054"},{"uid":"c5e49757-2056"},{"uid":"c5e49757-2058"}]},"c5e49757-2024":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/DynamicImports.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2025"},"imported":[{"uid":"c5e49757-2022"}],"importedBy":[{"uid":"c5e49757-2026"},{"uid":"c5e49757-2060"}]},"c5e49757-2026":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2027"},"imported":[{"uid":"c5e49757-2014"},{"uid":"c5e49757-2016"},{"uid":"c5e49757-2018"},{"uid":"c5e49757-2022"},{"uid":"c5e49757-2024"}],"importedBy":[{"uid":"c5e49757-2030"}]},"c5e49757-2028":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2029"},"imported":[{"uid":"c5e49757-2014"},{"uid":"c5e49757-2016"},{"uid":"c5e49757-2018"},{"uid":"c5e49757-2022"}],"importedBy":[{"uid":"c5e49757-2030"}]},"c5e49757-2030":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2031"},"imported":[{"uid":"c5e49757-2014"},{"uid":"c5e49757-2026"},{"uid":"c5e49757-2016"},{"uid":"c5e49757-2022"},{"uid":"c5e49757-2028"}],"importedBy":[{"uid":"c5e49757-2066"},{"uid":"c5e49757-2060"}]},"c5e49757-2032":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2033"},"imported":[],"importedBy":[{"uid":"c5e49757-2062"},{"uid":"c5e49757-2034"}]},"c5e49757-2034":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2035"},"imported":[{"uid":"c5e49757-2032"},{"uid":"c5e49757-2022"}],"importedBy":[{"uid":"c5e49757-2042"}]},"c5e49757-2036":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2037"},"imported":[],"importedBy":[{"uid":"c5e49757-2066"},{"uid":"c5e49757-2042"},{"uid":"c5e49757-2062"},{"uid":"c5e49757-2040"}]},"c5e49757-2038":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/Subject.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2039"},"imported":[{"uid":"c5e49757-2022"}],"importedBy":[{"uid":"c5e49757-2066"},{"uid":"c5e49757-2042"}]},"c5e49757-2040":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/MessageBuffer.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2041"},"imported":[{"uid":"c5e49757-2036"},{"uid":"c5e49757-2022"}],"importedBy":[{"uid":"c5e49757-2042"}]},"c5e49757-2042":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/HubConnection.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2043"},"imported":[{"uid":"c5e49757-2034"},{"uid":"c5e49757-2014"},{"uid":"c5e49757-2036"},{"uid":"c5e49757-2018"},{"uid":"c5e49757-2038"},{"uid":"c5e49757-2022"},{"uid":"c5e49757-2040"}],"importedBy":[{"uid":"c5e49757-2066"},{"uid":"c5e49757-2064"}]},"c5e49757-2044":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2045"},"imported":[],"importedBy":[{"uid":"c5e49757-2064"}]},"c5e49757-2046":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/HeaderNames.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2047"},"imported":[],"importedBy":[{"uid":"c5e49757-2048"},{"uid":"c5e49757-2058"}]},"c5e49757-2048":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/AccessTokenHttpClient.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2049"},"imported":[{"uid":"c5e49757-2046"},{"uid":"c5e49757-2016"}],"importedBy":[{"uid":"c5e49757-2060"}]},"c5e49757-2050":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/ITransport.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2051"},"imported":[],"importedBy":[{"uid":"c5e49757-2066"},{"uid":"c5e49757-2062"},{"uid":"c5e49757-2060"},{"uid":"c5e49757-2054"},{"uid":"c5e49757-2056"},{"uid":"c5e49757-2058"}]},"c5e49757-2052":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/AbortController.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2053"},"imported":[],"importedBy":[{"uid":"c5e49757-2054"}]},"c5e49757-2054":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2055"},"imported":[{"uid":"c5e49757-2052"},{"uid":"c5e49757-2014"},{"uid":"c5e49757-2018"},{"uid":"c5e49757-2050"},{"uid":"c5e49757-2022"}],"importedBy":[{"uid":"c5e49757-2060"}]},"c5e49757-2056":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2057"},"imported":[{"uid":"c5e49757-2018"},{"uid":"c5e49757-2050"},{"uid":"c5e49757-2022"}],"importedBy":[{"uid":"c5e49757-2060"}]},"c5e49757-2058":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2059"},"imported":[{"uid":"c5e49757-2046"},{"uid":"c5e49757-2018"},{"uid":"c5e49757-2050"},{"uid":"c5e49757-2022"}],"importedBy":[{"uid":"c5e49757-2060"}]},"c5e49757-2060":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/HttpConnection.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2061"},"imported":[{"uid":"c5e49757-2048"},{"uid":"c5e49757-2030"},{"uid":"c5e49757-2024"},{"uid":"c5e49757-2014"},{"uid":"c5e49757-2018"},{"uid":"c5e49757-2050"},{"uid":"c5e49757-2054"},{"uid":"c5e49757-2056"},{"uid":"c5e49757-2022"},{"uid":"c5e49757-2058"}],"importedBy":[{"uid":"c5e49757-2064"}]},"c5e49757-2062":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2063"},"imported":[{"uid":"c5e49757-2036"},{"uid":"c5e49757-2018"},{"uid":"c5e49757-2050"},{"uid":"c5e49757-2020"},{"uid":"c5e49757-2032"}],"importedBy":[{"uid":"c5e49757-2066"},{"uid":"c5e49757-2064"}]},"c5e49757-2064":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2065"},"imported":[{"uid":"c5e49757-2044"},{"uid":"c5e49757-2060"},{"uid":"c5e49757-2042"},{"uid":"c5e49757-2018"},{"uid":"c5e49757-2062"},{"uid":"c5e49757-2020"},{"uid":"c5e49757-2022"}],"importedBy":[{"uid":"c5e49757-2066"}]},"c5e49757-2066":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@microsoft/signalr/dist/esm/index.js","moduleParts":{"assets/js/@microsoft-bC71ecZ7.js":"c5e49757-2067"},"imported":[{"uid":"c5e49757-2014"},{"uid":"c5e49757-2016"},{"uid":"c5e49757-2030"},{"uid":"c5e49757-2042"},{"uid":"c5e49757-2064"},{"uid":"c5e49757-2036"},{"uid":"c5e49757-2018"},{"uid":"c5e49757-2050"},{"uid":"c5e49757-2020"},{"uid":"c5e49757-2062"},{"uid":"c5e49757-2038"},{"uid":"c5e49757-2022"}],"importedBy":[{"uid":"c5e49757-712"}]},"c5e49757-2068":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/dompurify/dist/purify.es.js","moduleParts":{"assets/js/dompurify-DDJW9fQy.js":"c5e49757-2069"},"imported":[],"importedBy":[{"uid":"c5e49757-3808"}]},"c5e49757-2070":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/index.js?commonjs-exports","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2071"},"imported":[],"importedBy":[{"uid":"c5e49757-2128"}]},"c5e49757-2072":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/socket.js?commonjs-exports","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2073"},"imported":[],"importedBy":[{"uid":"c5e49757-2126"}]},"c5e49757-2074":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/transports/index.js?commonjs-exports","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2075"},"imported":[],"importedBy":[{"uid":"c5e49757-2120"}]},"c5e49757-2076":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/transports/polling.js?commonjs-exports","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2077"},"imported":[],"importedBy":[{"uid":"c5e49757-2106"}]},"c5e49757-2078":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/transport.js?commonjs-exports","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2079"},"imported":[],"importedBy":[{"uid":"c5e49757-2092"}]},"c5e49757-2080":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/util.js?commonjs-exports","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2081"},"imported":[],"importedBy":[{"uid":"c5e49757-2086"}]},"c5e49757-2082":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/globalThis.browser.js?commonjs-exports","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2083"},"imported":[],"importedBy":[{"uid":"c5e49757-2084"}]},"c5e49757-2084":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/globalThis.browser.js","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2085"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2082"}],"importedBy":[{"uid":"c5e49757-2086"},{"uid":"c5e49757-2112"},{"uid":"c5e49757-2106"},{"uid":"c5e49757-2104"}]},"c5e49757-2086":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/util.js","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2087"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2080"},{"uid":"c5e49757-2084"}],"importedBy":[{"uid":"c5e49757-2128"},{"uid":"c5e49757-2126"},{"uid":"c5e49757-2092"},{"uid":"c5e49757-2106"},{"uid":"c5e49757-2114"}]},"c5e49757-2088":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/contrib/parseqs.js?commonjs-exports","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2089"},"imported":[],"importedBy":[{"uid":"c5e49757-2090"}]},"c5e49757-2090":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/contrib/parseqs.js","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2091"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2088"}],"importedBy":[{"uid":"c5e49757-2126"},{"uid":"c5e49757-2092"}]},"c5e49757-2092":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/transport.js","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2093"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2078"},{"uid":"c5e49757-42"},{"uid":"c5e49757-10"},{"uid":"c5e49757-2086"},{"uid":"c5e49757-48"},{"uid":"c5e49757-2090"}],"importedBy":[{"uid":"c5e49757-2128"},{"uid":"c5e49757-2106"},{"uid":"c5e49757-2114"},{"uid":"c5e49757-2118"}]},"c5e49757-2094":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/contrib/yeast.js?commonjs-exports","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2095"},"imported":[],"importedBy":[{"uid":"c5e49757-2096"}]},"c5e49757-2096":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/contrib/yeast.js","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2097"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2094"}],"importedBy":[{"uid":"c5e49757-2106"},{"uid":"c5e49757-2114"}]},"c5e49757-2098":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/transports/xmlhttprequest.browser.js?commonjs-exports","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2099"},"imported":[],"importedBy":[{"uid":"c5e49757-2104"}]},"c5e49757-2100":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/contrib/has-cors.js?commonjs-exports","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2101"},"imported":[],"importedBy":[{"uid":"c5e49757-2102"}]},"c5e49757-2102":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/contrib/has-cors.js","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2103"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2100"}],"importedBy":[{"uid":"c5e49757-2104"}]},"c5e49757-2104":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/transports/xmlhttprequest.browser.js","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2105"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2098"},{"uid":"c5e49757-2102"},{"uid":"c5e49757-2084"}],"importedBy":[{"uid":"c5e49757-2106"}]},"c5e49757-2106":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/transports/polling.js","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2107"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2076"},{"uid":"c5e49757-2092"},{"uid":"c5e49757-48"},{"uid":"c5e49757-2096"},{"uid":"c5e49757-42"},{"uid":"c5e49757-2104"},{"uid":"c5e49757-10"},{"uid":"c5e49757-2086"},{"uid":"c5e49757-2084"}],"importedBy":[{"uid":"c5e49757-2120"}]},"c5e49757-2108":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/transports/websocket.js?commonjs-exports","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2109"},"imported":[],"importedBy":[{"uid":"c5e49757-2114"}]},"c5e49757-2110":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/transports/websocket-constructor.browser.js?commonjs-exports","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2111"},"imported":[],"importedBy":[{"uid":"c5e49757-2112"}]},"c5e49757-2112":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/transports/websocket-constructor.browser.js","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2113"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2110"},{"uid":"c5e49757-2084"}],"importedBy":[{"uid":"c5e49757-2128"},{"uid":"c5e49757-2126"},{"uid":"c5e49757-2114"},{"uid":"c5e49757-2118"}]},"c5e49757-2114":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/transports/websocket.js","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2115"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2108"},{"uid":"c5e49757-2092"},{"uid":"c5e49757-2096"},{"uid":"c5e49757-2086"},{"uid":"c5e49757-2112"},{"uid":"c5e49757-48"},{"uid":"c5e49757-42"}],"importedBy":[{"uid":"c5e49757-2120"}]},"c5e49757-2116":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/transports/webtransport.js?commonjs-exports","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2117"},"imported":[],"importedBy":[{"uid":"c5e49757-2118"}]},"c5e49757-2118":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/transports/webtransport.js","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2119"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2116"},{"uid":"c5e49757-2092"},{"uid":"c5e49757-2112"},{"uid":"c5e49757-42"},{"uid":"c5e49757-48"}],"importedBy":[{"uid":"c5e49757-2120"}]},"c5e49757-2120":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/transports/index.js","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2121"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2074"},{"uid":"c5e49757-2106"},{"uid":"c5e49757-2114"},{"uid":"c5e49757-2118"}],"importedBy":[{"uid":"c5e49757-2128"},{"uid":"c5e49757-2126"}]},"c5e49757-2122":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/contrib/parseuri.js?commonjs-exports","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2123"},"imported":[],"importedBy":[{"uid":"c5e49757-2124"}]},"c5e49757-2124":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/contrib/parseuri.js","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2125"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2122"}],"importedBy":[{"uid":"c5e49757-2128"},{"uid":"c5e49757-2126"}]},"c5e49757-2126":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/socket.js","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2127"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2072"},{"uid":"c5e49757-2120"},{"uid":"c5e49757-2086"},{"uid":"c5e49757-2090"},{"uid":"c5e49757-2124"},{"uid":"c5e49757-48"},{"uid":"c5e49757-10"},{"uid":"c5e49757-42"},{"uid":"c5e49757-2112"}],"importedBy":[{"uid":"c5e49757-2128"}]},"c5e49757-2128":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/engine.io-client/build/cjs/index.js","moduleParts":{"assets/js/engine.io-client-l6RmLiA3.js":"c5e49757-2129"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2070"},{"uid":"c5e49757-2126"},{"uid":"c5e49757-2092"},{"uid":"c5e49757-2120"},{"uid":"c5e49757-2086"},{"uid":"c5e49757-2124"},{"uid":"c5e49757-2112"}],"importedBy":[{"uid":"c5e49757-3226"},{"uid":"c5e49757-3242"}]},"c5e49757-2130":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-code-gen-api.ts","moduleParts":{"assets/js/sys-code-gen-api-IM4Y0C90.js":"c5e49757-2131"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-2132":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-parser/build/cjs/index.js?commonjs-exports","moduleParts":{"assets/js/socket.io-parser-Ba73oGJ8.js":"c5e49757-2133"},"imported":[],"importedBy":[{"uid":"c5e49757-2142"}]},"c5e49757-2134":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-parser/build/cjs/binary.js?commonjs-exports","moduleParts":{"assets/js/socket.io-parser-Ba73oGJ8.js":"c5e49757-2135"},"imported":[],"importedBy":[{"uid":"c5e49757-2140"}]},"c5e49757-2136":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-parser/build/cjs/is-binary.js?commonjs-exports","moduleParts":{"assets/js/socket.io-parser-Ba73oGJ8.js":"c5e49757-2137"},"imported":[],"importedBy":[{"uid":"c5e49757-2138"}]},"c5e49757-2138":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-parser/build/cjs/is-binary.js","moduleParts":{"assets/js/socket.io-parser-Ba73oGJ8.js":"c5e49757-2139"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2136"}],"importedBy":[{"uid":"c5e49757-2142"},{"uid":"c5e49757-2140"}]},"c5e49757-2140":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-parser/build/cjs/binary.js","moduleParts":{"assets/js/socket.io-parser-Ba73oGJ8.js":"c5e49757-2141"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2134"},{"uid":"c5e49757-2138"}],"importedBy":[{"uid":"c5e49757-2142"}]},"c5e49757-2142":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-parser/build/cjs/index.js","moduleParts":{"assets/js/socket.io-parser-Ba73oGJ8.js":"c5e49757-2143"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2132"},{"uid":"c5e49757-10"},{"uid":"c5e49757-2140"},{"uid":"c5e49757-2138"},{"uid":"c5e49757-48"}],"importedBy":[{"uid":"c5e49757-3244"},{"uid":"c5e49757-3242"},{"uid":"c5e49757-3236"}]},"c5e49757-2144":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@noble/curves/esm/abstract/utils.js","moduleParts":{"assets/js/@noble-DPz6ZhRw.js":"c5e49757-2145"},"imported":[],"importedBy":[{"uid":"c5e49757-2162"},{"uid":"c5e49757-2150"},{"uid":"c5e49757-2146"},{"uid":"c5e49757-2148"}]},"c5e49757-2146":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@noble/curves/esm/abstract/modular.js","moduleParts":{"assets/js/@noble-DPz6ZhRw.js":"c5e49757-2147"},"imported":[{"uid":"c5e49757-2144"}],"importedBy":[{"uid":"c5e49757-2162"},{"uid":"c5e49757-2150"},{"uid":"c5e49757-2148"}]},"c5e49757-2148":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@noble/curves/esm/abstract/curve.js","moduleParts":{"assets/js/@noble-DPz6ZhRw.js":"c5e49757-2149"},"imported":[{"uid":"c5e49757-2146"},{"uid":"c5e49757-2144"}],"importedBy":[{"uid":"c5e49757-2150"}]},"c5e49757-2150":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@noble/curves/esm/abstract/weierstrass.js","moduleParts":{"assets/js/@noble-DPz6ZhRw.js":"c5e49757-2151"},"imported":[{"uid":"c5e49757-2146"},{"uid":"c5e49757-2144"},{"uid":"c5e49757-2148"}],"importedBy":[{"uid":"c5e49757-2162"}]},"c5e49757-2152":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsQC/wmsOrderQc.ts","moduleParts":{"assets/js/wmsOrderQc-DBU9qhUr.js":"c5e49757-2153"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3704"},{"uid":"c5e49757-4242"},{"uid":"c5e49757-4496"},{"uid":"c5e49757-4768"},{"uid":"c5e49757-4254"}]},"c5e49757-2154":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsFactory.ts","moduleParts":{"assets/js/wmsFactory-B0zYWe3V.js":"c5e49757-2155"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3994"},{"uid":"c5e49757-4304"},{"uid":"c5e49757-3172"}]},"c5e49757-2156":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-database-api.ts","moduleParts":{"assets/js/sys-database-api-DmcKwmy9.js":"c5e49757-2157"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-2158":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/stackblur-canvas/dist/stackblur-es.js","moduleParts":{"assets/js/stackblur-canvas-BZEFsJiX.js":"c5e49757-2159"},"imported":[],"importedBy":[{"uid":"c5e49757-2160"}]},"c5e49757-2160":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/stackblur-canvas/dist/stackblur-es.js?commonjs-proxy","moduleParts":{"assets/js/stackblur-canvas-BZEFsJiX.js":"c5e49757-2161"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2158"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-2162":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/sm-crypto-v2/dist/index.mjs","moduleParts":{"assets/js/sm-crypto-v2-DLb6OVo0.js":"c5e49757-2163"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-2144"},{"uid":"c5e49757-2150"},{"uid":"c5e49757-2146"},{"uid":"c5e49757-4534","dynamic":true}],"importedBy":[{"uid":"c5e49757-3290"},{"uid":"c5e49757-3988"},{"uid":"c5e49757-3502"}]},"c5e49757-2164":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/index.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2165"},"imported":[],"importedBy":[{"uid":"c5e49757-2302"}]},"c5e49757-2166":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE39/index.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2167"},"imported":[],"importedBy":[{"uid":"c5e49757-2172"}]},"c5e49757-2168":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/Barcode.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2169"},"imported":[],"importedBy":[{"uid":"c5e49757-2170"}]},"c5e49757-2170":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/Barcode.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2171"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2168"}],"importedBy":[{"uid":"c5e49757-2172"},{"uid":"c5e49757-2292"},{"uid":"c5e49757-2296"},{"uid":"c5e49757-2300"},{"uid":"c5e49757-2230"},{"uid":"c5e49757-2234"},{"uid":"c5e49757-2238"},{"uid":"c5e49757-2242"},{"uid":"c5e49757-2254"},{"uid":"c5e49757-2266"},{"uid":"c5e49757-2184"},{"uid":"c5e49757-2220"}]},"c5e49757-2172":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE39/index.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2173"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2166"},{"uid":"c5e49757-2170"}],"importedBy":[{"uid":"c5e49757-2302"}]},"c5e49757-2174":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE128/index.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2175"},"imported":[],"importedBy":[{"uid":"c5e49757-2204"}]},"c5e49757-2176":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128_AUTO.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2177"},"imported":[],"importedBy":[{"uid":"c5e49757-2190"}]},"c5e49757-2178":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2179"},"imported":[],"importedBy":[{"uid":"c5e49757-2184"}]},"c5e49757-2180":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2181"},"imported":[],"importedBy":[{"uid":"c5e49757-2182"}]},"c5e49757-2182":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2183"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2180"}],"importedBy":[{"uid":"c5e49757-2194"},{"uid":"c5e49757-2198"},{"uid":"c5e49757-2202"},{"uid":"c5e49757-2184"},{"uid":"c5e49757-2188"}]},"c5e49757-2184":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2185"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2178"},{"uid":"c5e49757-2170"},{"uid":"c5e49757-2182"}],"importedBy":[{"uid":"c5e49757-2190"},{"uid":"c5e49757-2194"},{"uid":"c5e49757-2198"},{"uid":"c5e49757-2202"}]},"c5e49757-2186":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE128/auto.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2187"},"imported":[],"importedBy":[{"uid":"c5e49757-2188"}]},"c5e49757-2188":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE128/auto.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2189"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2186"},{"uid":"c5e49757-2182"}],"importedBy":[{"uid":"c5e49757-2190"}]},"c5e49757-2190":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128_AUTO.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2191"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2176"},{"uid":"c5e49757-2184"},{"uid":"c5e49757-2188"}],"importedBy":[{"uid":"c5e49757-2204"}]},"c5e49757-2192":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128A.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2193"},"imported":[],"importedBy":[{"uid":"c5e49757-2194"}]},"c5e49757-2194":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128A.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2195"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2192"},{"uid":"c5e49757-2184"},{"uid":"c5e49757-2182"}],"importedBy":[{"uid":"c5e49757-2204"}]},"c5e49757-2196":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128B.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2197"},"imported":[],"importedBy":[{"uid":"c5e49757-2198"}]},"c5e49757-2198":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128B.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2199"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2196"},{"uid":"c5e49757-2184"},{"uid":"c5e49757-2182"}],"importedBy":[{"uid":"c5e49757-2204"}]},"c5e49757-2200":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128C.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2201"},"imported":[],"importedBy":[{"uid":"c5e49757-2202"}]},"c5e49757-2202":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128C.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2203"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2200"},{"uid":"c5e49757-2184"},{"uid":"c5e49757-2182"}],"importedBy":[{"uid":"c5e49757-2204"}]},"c5e49757-2204":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/CODE128/index.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2205"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2174"},{"uid":"c5e49757-2190"},{"uid":"c5e49757-2194"},{"uid":"c5e49757-2198"},{"uid":"c5e49757-2202"}],"importedBy":[{"uid":"c5e49757-2302"}]},"c5e49757-2206":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2207"},"imported":[],"importedBy":[{"uid":"c5e49757-2244"}]},"c5e49757-2208":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN13.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2209"},"imported":[],"importedBy":[{"uid":"c5e49757-2222"}]},"c5e49757-2210":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2211"},"imported":[],"importedBy":[{"uid":"c5e49757-2212"}]},"c5e49757-2212":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2213"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2210"}],"importedBy":[{"uid":"c5e49757-2222"},{"uid":"c5e49757-2230"},{"uid":"c5e49757-2234"},{"uid":"c5e49757-2220"},{"uid":"c5e49757-2218"}]},"c5e49757-2214":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2215"},"imported":[],"importedBy":[{"uid":"c5e49757-2220"}]},"c5e49757-2216":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/encoder.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2217"},"imported":[],"importedBy":[{"uid":"c5e49757-2218"}]},"c5e49757-2218":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/encoder.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2219"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2216"},{"uid":"c5e49757-2212"}],"importedBy":[{"uid":"c5e49757-2230"},{"uid":"c5e49757-2234"},{"uid":"c5e49757-2238"},{"uid":"c5e49757-2242"},{"uid":"c5e49757-2220"}]},"c5e49757-2220":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2221"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2214"},{"uid":"c5e49757-2212"},{"uid":"c5e49757-2218"},{"uid":"c5e49757-2170"}],"importedBy":[{"uid":"c5e49757-2222"},{"uid":"c5e49757-2226"}]},"c5e49757-2222":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN13.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2223"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2208"},{"uid":"c5e49757-2212"},{"uid":"c5e49757-2220"}],"importedBy":[{"uid":"c5e49757-2244"}]},"c5e49757-2224":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN8.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2225"},"imported":[],"importedBy":[{"uid":"c5e49757-2226"}]},"c5e49757-2226":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN8.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2227"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2224"},{"uid":"c5e49757-2220"}],"importedBy":[{"uid":"c5e49757-2244"}]},"c5e49757-2228":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN5.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2229"},"imported":[],"importedBy":[{"uid":"c5e49757-2230"}]},"c5e49757-2230":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN5.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2231"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2228"},{"uid":"c5e49757-2212"},{"uid":"c5e49757-2218"},{"uid":"c5e49757-2170"}],"importedBy":[{"uid":"c5e49757-2244"}]},"c5e49757-2232":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN2.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2233"},"imported":[],"importedBy":[{"uid":"c5e49757-2234"}]},"c5e49757-2234":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN2.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2235"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2232"},{"uid":"c5e49757-2212"},{"uid":"c5e49757-2218"},{"uid":"c5e49757-2170"}],"importedBy":[{"uid":"c5e49757-2244"}]},"c5e49757-2236":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPC.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2237"},"imported":[],"importedBy":[{"uid":"c5e49757-2238"}]},"c5e49757-2238":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPC.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2239"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2236"},{"uid":"c5e49757-2218"},{"uid":"c5e49757-2170"}],"importedBy":[{"uid":"c5e49757-2244"},{"uid":"c5e49757-2242"}]},"c5e49757-2240":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPCE.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2241"},"imported":[],"importedBy":[{"uid":"c5e49757-2242"}]},"c5e49757-2242":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPCE.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2243"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2240"},{"uid":"c5e49757-2218"},{"uid":"c5e49757-2170"},{"uid":"c5e49757-2238"}],"importedBy":[{"uid":"c5e49757-2244"}]},"c5e49757-2244":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2245"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2206"},{"uid":"c5e49757-2222"},{"uid":"c5e49757-2226"},{"uid":"c5e49757-2230"},{"uid":"c5e49757-2234"},{"uid":"c5e49757-2238"},{"uid":"c5e49757-2242"}],"importedBy":[{"uid":"c5e49757-2302"}]},"c5e49757-2246":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/ITF/index.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2247"},"imported":[],"importedBy":[{"uid":"c5e49757-2260"}]},"c5e49757-2248":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/ITF/ITF.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2249"},"imported":[],"importedBy":[{"uid":"c5e49757-2254"}]},"c5e49757-2250":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/ITF/constants.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2251"},"imported":[],"importedBy":[{"uid":"c5e49757-2252"}]},"c5e49757-2252":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/ITF/constants.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2253"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2250"}],"importedBy":[{"uid":"c5e49757-2254"}]},"c5e49757-2254":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/ITF/ITF.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2255"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2248"},{"uid":"c5e49757-2252"},{"uid":"c5e49757-2170"}],"importedBy":[{"uid":"c5e49757-2260"},{"uid":"c5e49757-2258"}]},"c5e49757-2256":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/ITF/ITF14.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2257"},"imported":[],"importedBy":[{"uid":"c5e49757-2258"}]},"c5e49757-2258":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/ITF/ITF14.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2259"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2256"},{"uid":"c5e49757-2254"}],"importedBy":[{"uid":"c5e49757-2260"}]},"c5e49757-2260":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/ITF/index.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2261"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2246"},{"uid":"c5e49757-2254"},{"uid":"c5e49757-2258"}],"importedBy":[{"uid":"c5e49757-2302"}]},"c5e49757-2262":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/MSI/index.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2263"},"imported":[],"importedBy":[{"uid":"c5e49757-2288"}]},"c5e49757-2264":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/MSI/MSI.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2265"},"imported":[],"importedBy":[{"uid":"c5e49757-2266"}]},"c5e49757-2266":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/MSI/MSI.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2267"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2264"},{"uid":"c5e49757-2170"}],"importedBy":[{"uid":"c5e49757-2288"},{"uid":"c5e49757-2274"},{"uid":"c5e49757-2278"},{"uid":"c5e49757-2282"},{"uid":"c5e49757-2286"}]},"c5e49757-2268":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/MSI/MSI10.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2269"},"imported":[],"importedBy":[{"uid":"c5e49757-2274"}]},"c5e49757-2270":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/MSI/checksums.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2271"},"imported":[],"importedBy":[{"uid":"c5e49757-2272"}]},"c5e49757-2272":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/MSI/checksums.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2273"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2270"}],"importedBy":[{"uid":"c5e49757-2274"},{"uid":"c5e49757-2278"},{"uid":"c5e49757-2282"},{"uid":"c5e49757-2286"}]},"c5e49757-2274":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/MSI/MSI10.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2275"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2268"},{"uid":"c5e49757-2266"},{"uid":"c5e49757-2272"}],"importedBy":[{"uid":"c5e49757-2288"}]},"c5e49757-2276":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/MSI/MSI11.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2277"},"imported":[],"importedBy":[{"uid":"c5e49757-2278"}]},"c5e49757-2278":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/MSI/MSI11.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2279"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2276"},{"uid":"c5e49757-2266"},{"uid":"c5e49757-2272"}],"importedBy":[{"uid":"c5e49757-2288"}]},"c5e49757-2280":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/MSI/MSI1010.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2281"},"imported":[],"importedBy":[{"uid":"c5e49757-2282"}]},"c5e49757-2282":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/MSI/MSI1010.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2283"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2280"},{"uid":"c5e49757-2266"},{"uid":"c5e49757-2272"}],"importedBy":[{"uid":"c5e49757-2288"}]},"c5e49757-2284":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/MSI/MSI1110.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2285"},"imported":[],"importedBy":[{"uid":"c5e49757-2286"}]},"c5e49757-2286":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/MSI/MSI1110.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2287"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2284"},{"uid":"c5e49757-2266"},{"uid":"c5e49757-2272"}],"importedBy":[{"uid":"c5e49757-2288"}]},"c5e49757-2288":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/MSI/index.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2289"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2262"},{"uid":"c5e49757-2266"},{"uid":"c5e49757-2274"},{"uid":"c5e49757-2278"},{"uid":"c5e49757-2282"},{"uid":"c5e49757-2286"}],"importedBy":[{"uid":"c5e49757-2302"}]},"c5e49757-2290":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2291"},"imported":[],"importedBy":[{"uid":"c5e49757-2292"}]},"c5e49757-2292":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2293"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2290"},{"uid":"c5e49757-2170"}],"importedBy":[{"uid":"c5e49757-2302"}]},"c5e49757-2294":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/codabar/index.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2295"},"imported":[],"importedBy":[{"uid":"c5e49757-2296"}]},"c5e49757-2296":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/codabar/index.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2297"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2294"},{"uid":"c5e49757-2170"}],"importedBy":[{"uid":"c5e49757-2302"}]},"c5e49757-2298":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2299"},"imported":[],"importedBy":[{"uid":"c5e49757-2300"}]},"c5e49757-2300":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2301"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2298"},{"uid":"c5e49757-2170"}],"importedBy":[{"uid":"c5e49757-2302"}]},"c5e49757-2302":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/barcodes/index.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2303"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2164"},{"uid":"c5e49757-2172"},{"uid":"c5e49757-2204"},{"uid":"c5e49757-2244"},{"uid":"c5e49757-2260"},{"uid":"c5e49757-2288"},{"uid":"c5e49757-2292"},{"uid":"c5e49757-2296"},{"uid":"c5e49757-2300"}],"importedBy":[{"uid":"c5e49757-2360"}]},"c5e49757-2304":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/help/merge.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2305"},"imported":[],"importedBy":[{"uid":"c5e49757-2306"}]},"c5e49757-2306":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/help/merge.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2307"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2304"}],"importedBy":[{"uid":"c5e49757-2360"},{"uid":"c5e49757-2338"},{"uid":"c5e49757-2342"},{"uid":"c5e49757-2336"}]},"c5e49757-2308":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/help/linearizeEncodings.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2309"},"imported":[],"importedBy":[{"uid":"c5e49757-2310"}]},"c5e49757-2310":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/help/linearizeEncodings.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2311"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2308"}],"importedBy":[{"uid":"c5e49757-2360"}]},"c5e49757-2312":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/help/fixOptions.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2313"},"imported":[],"importedBy":[{"uid":"c5e49757-2314"}]},"c5e49757-2314":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/help/fixOptions.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2315"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2312"}],"importedBy":[{"uid":"c5e49757-2360"}]},"c5e49757-2316":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/help/getRenderProperties.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2317"},"imported":[],"importedBy":[{"uid":"c5e49757-2354"}]},"c5e49757-2318":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/help/getOptionsFromElement.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2319"},"imported":[],"importedBy":[{"uid":"c5e49757-2328"}]},"c5e49757-2320":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/help/optionsFromStrings.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2321"},"imported":[],"importedBy":[{"uid":"c5e49757-2322"}]},"c5e49757-2322":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/help/optionsFromStrings.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2323"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2320"}],"importedBy":[{"uid":"c5e49757-2360"},{"uid":"c5e49757-2328"}]},"c5e49757-2324":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/options/defaults.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2325"},"imported":[],"importedBy":[{"uid":"c5e49757-2326"}]},"c5e49757-2326":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/options/defaults.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2327"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2324"}],"importedBy":[{"uid":"c5e49757-2360"},{"uid":"c5e49757-2328"}]},"c5e49757-2328":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/help/getOptionsFromElement.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2329"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2318"},{"uid":"c5e49757-2322"},{"uid":"c5e49757-2326"}],"importedBy":[{"uid":"c5e49757-2354"}]},"c5e49757-2330":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/renderers/index.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2331"},"imported":[],"importedBy":[{"uid":"c5e49757-2348"}]},"c5e49757-2332":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/renderers/canvas.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2333"},"imported":[],"importedBy":[{"uid":"c5e49757-2338"}]},"c5e49757-2334":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/renderers/shared.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2335"},"imported":[],"importedBy":[{"uid":"c5e49757-2336"}]},"c5e49757-2336":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/renderers/shared.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2337"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2334"},{"uid":"c5e49757-2306"}],"importedBy":[{"uid":"c5e49757-2338"},{"uid":"c5e49757-2342"}]},"c5e49757-2338":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/renderers/canvas.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2339"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2332"},{"uid":"c5e49757-2306"},{"uid":"c5e49757-2336"}],"importedBy":[{"uid":"c5e49757-2348"}]},"c5e49757-2340":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/renderers/svg.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2341"},"imported":[],"importedBy":[{"uid":"c5e49757-2342"}]},"c5e49757-2342":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/renderers/svg.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2343"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2340"},{"uid":"c5e49757-2306"},{"uid":"c5e49757-2336"}],"importedBy":[{"uid":"c5e49757-2348"}]},"c5e49757-2344":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/renderers/object.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2345"},"imported":[],"importedBy":[{"uid":"c5e49757-2346"}]},"c5e49757-2346":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/renderers/object.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2347"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2344"}],"importedBy":[{"uid":"c5e49757-2348"}]},"c5e49757-2348":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/renderers/index.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2349"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2330"},{"uid":"c5e49757-2338"},{"uid":"c5e49757-2342"},{"uid":"c5e49757-2346"}],"importedBy":[{"uid":"c5e49757-2354"}]},"c5e49757-2350":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/exceptions/exceptions.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2351"},"imported":[],"importedBy":[{"uid":"c5e49757-2352"}]},"c5e49757-2352":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/exceptions/exceptions.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2353"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2350"}],"importedBy":[{"uid":"c5e49757-2360"},{"uid":"c5e49757-2354"}]},"c5e49757-2354":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/help/getRenderProperties.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2355"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2316"},{"uid":"c5e49757-2328"},{"uid":"c5e49757-2348"},{"uid":"c5e49757-2352"}],"importedBy":[{"uid":"c5e49757-2360"}]},"c5e49757-2356":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/exceptions/ErrorHandler.js?commonjs-exports","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2357"},"imported":[],"importedBy":[{"uid":"c5e49757-2358"}]},"c5e49757-2358":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/exceptions/ErrorHandler.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2359"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2356"}],"importedBy":[{"uid":"c5e49757-2360"}]},"c5e49757-2360":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jsbarcode/bin/JsBarcode.js","moduleParts":{"assets/js/jsbarcode-0XFUYmA_.js":"c5e49757-2361"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2302"},{"uid":"c5e49757-2306"},{"uid":"c5e49757-2310"},{"uid":"c5e49757-2314"},{"uid":"c5e49757-2354"},{"uid":"c5e49757-2322"},{"uid":"c5e49757-2358"},{"uid":"c5e49757-2352"},{"uid":"c5e49757-2326"}],"importedBy":[{"uid":"c5e49757-7424"}]},"c5e49757-2362":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@element-plus/icons-vue/dist/index.js","moduleParts":{"assets/js/@element-plus-Cl5AH-8w.js":"c5e49757-2363"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-3604"},{"uid":"c5e49757-5270"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5696"},{"uid":"c5e49757-5714"},{"uid":"c5e49757-5770"},{"uid":"c5e49757-5774"},{"uid":"c5e49757-5794"},{"uid":"c5e49757-5800"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-6098"},{"uid":"c5e49757-5288"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5244"},{"uid":"c5e49757-5348"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5474"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5604"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5660"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5768"},{"uid":"c5e49757-5790"},{"uid":"c5e49757-5862"},{"uid":"c5e49757-5924"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-5426"},{"uid":"c5e49757-5310"},{"uid":"c5e49757-6182"},{"uid":"c5e49757-5408"},{"uid":"c5e49757-5744"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5842"},{"uid":"c5e49757-5994"},{"uid":"c5e49757-6058"},{"uid":"c5e49757-6056"},{"uid":"c5e49757-6114"},{"uid":"c5e49757-6180"},{"uid":"c5e49757-6198"},{"uid":"c5e49757-6230"},{"uid":"c5e49757-6244"},{"uid":"c5e49757-5406"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"},{"uid":"c5e49757-5554"},{"uid":"c5e49757-5950"},{"uid":"c5e49757-4326"},{"uid":"c5e49757-4176"},{"uid":"c5e49757-4470"},{"uid":"c5e49757-4148"}]},"c5e49757-2364":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-ldap-api.ts","moduleParts":{"assets/js/editLdap.vue_vue_type_script_setup_true_lang-L1bMBKm_.js":"c5e49757-2365"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-2366":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/ldap/component/editLdap.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editLdap.vue_vue_type_script_setup_true_lang-L1bMBKm_.js":"c5e49757-2367"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-232"}]},"c5e49757-2368":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/normalize-wheel-es/dist/index.mjs","moduleParts":{"assets/js/normalize-wheel-es-Vn5vHDCm.js":"c5e49757-2369"},"imported":[],"importedBy":[{"uid":"c5e49757-5304"}]},"c5e49757-2370":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/tslib/tslib.es6.js","moduleParts":{"assets/js/tslib-ZseNXxlj.js":"c5e49757-2371"},"imported":[],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6682"},{"uid":"c5e49757-7048"},{"uid":"c5e49757-7064"},{"uid":"c5e49757-7152"},{"uid":"c5e49757-7276"},{"uid":"c5e49757-6428"},{"uid":"c5e49757-6376"},{"uid":"c5e49757-2524"},{"uid":"c5e49757-2486"},{"uid":"c5e49757-2512"},{"uid":"c5e49757-2514"},{"uid":"c5e49757-6586"},{"uid":"c5e49757-6604"},{"uid":"c5e49757-6614"},{"uid":"c5e49757-6622"},{"uid":"c5e49757-6632"},{"uid":"c5e49757-6638"},{"uid":"c5e49757-6644"},{"uid":"c5e49757-6648"},{"uid":"c5e49757-6690"},{"uid":"c5e49757-6692"},{"uid":"c5e49757-6728"},{"uid":"c5e49757-6730"},{"uid":"c5e49757-6754"},{"uid":"c5e49757-6762"},{"uid":"c5e49757-6778"},{"uid":"c5e49757-6784"},{"uid":"c5e49757-6736"},{"uid":"c5e49757-6826"},{"uid":"c5e49757-6832"},{"uid":"c5e49757-6838"},{"uid":"c5e49757-6840"},{"uid":"c5e49757-6844"},{"uid":"c5e49757-6846"},{"uid":"c5e49757-6852"},{"uid":"c5e49757-6854"},{"uid":"c5e49757-6886"},{"uid":"c5e49757-6888"},{"uid":"c5e49757-6898"},{"uid":"c5e49757-6900"},{"uid":"c5e49757-6910"},{"uid":"c5e49757-6912"},{"uid":"c5e49757-6924"},{"uid":"c5e49757-6926"},{"uid":"c5e49757-6940"},{"uid":"c5e49757-6942"},{"uid":"c5e49757-6950"},{"uid":"c5e49757-6952"},{"uid":"c5e49757-6956"},{"uid":"c5e49757-6958"},{"uid":"c5e49757-6962"},{"uid":"c5e49757-6964"},{"uid":"c5e49757-6974"},{"uid":"c5e49757-6976"},{"uid":"c5e49757-6984"},{"uid":"c5e49757-7002"},{"uid":"c5e49757-6650"},{"uid":"c5e49757-6652"},{"uid":"c5e49757-6658"},{"uid":"c5e49757-6680"},{"uid":"c5e49757-6676"},{"uid":"c5e49757-7028"},{"uid":"c5e49757-7030"},{"uid":"c5e49757-7032"},{"uid":"c5e49757-7042"},{"uid":"c5e49757-7044"},{"uid":"c5e49757-6694"},{"uid":"c5e49757-6696"},{"uid":"c5e49757-6742"},{"uid":"c5e49757-6746"},{"uid":"c5e49757-7052"},{"uid":"c5e49757-7054"},{"uid":"c5e49757-7062"},{"uid":"c5e49757-6860"},{"uid":"c5e49757-6862"},{"uid":"c5e49757-6872"},{"uid":"c5e49757-6878"},{"uid":"c5e49757-7066"},{"uid":"c5e49757-7068"},{"uid":"c5e49757-7074"},{"uid":"c5e49757-7076"},{"uid":"c5e49757-7102"},{"uid":"c5e49757-7106"},{"uid":"c5e49757-7108"},{"uid":"c5e49757-7110"},{"uid":"c5e49757-7112"},{"uid":"c5e49757-7116"},{"uid":"c5e49757-7120"},{"uid":"c5e49757-7124"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-7012"},{"uid":"c5e49757-7014"},{"uid":"c5e49757-7018"},{"uid":"c5e49757-7144"},{"uid":"c5e49757-7146"},{"uid":"c5e49757-7148"},{"uid":"c5e49757-7156"},{"uid":"c5e49757-7162"},{"uid":"c5e49757-7174"},{"uid":"c5e49757-7180"},{"uid":"c5e49757-7184"},{"uid":"c5e49757-7186"},{"uid":"c5e49757-7190"},{"uid":"c5e49757-7192"},{"uid":"c5e49757-7206"},{"uid":"c5e49757-7208"},{"uid":"c5e49757-7196"},{"uid":"c5e49757-7198"},{"uid":"c5e49757-7216"},{"uid":"c5e49757-7220"},{"uid":"c5e49757-7224"},{"uid":"c5e49757-7226"},{"uid":"c5e49757-7236"},{"uid":"c5e49757-7242"},{"uid":"c5e49757-7254"},{"uid":"c5e49757-7256"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2532"},{"uid":"c5e49757-2568"},{"uid":"c5e49757-2556"},{"uid":"c5e49757-2564"},{"uid":"c5e49757-2570"},{"uid":"c5e49757-2572"},{"uid":"c5e49757-2576"},{"uid":"c5e49757-2578"},{"uid":"c5e49757-2584"},{"uid":"c5e49757-2586"},{"uid":"c5e49757-2562"},{"uid":"c5e49757-2588"},{"uid":"c5e49757-2590"},{"uid":"c5e49757-2592"},{"uid":"c5e49757-2594"},{"uid":"c5e49757-2598"},{"uid":"c5e49757-2600"},{"uid":"c5e49757-2604"},{"uid":"c5e49757-6550"},{"uid":"c5e49757-2554"},{"uid":"c5e49757-2636"},{"uid":"c5e49757-6590"},{"uid":"c5e49757-6598"},{"uid":"c5e49757-6612"},{"uid":"c5e49757-6616"},{"uid":"c5e49757-6646"},{"uid":"c5e49757-6708"},{"uid":"c5e49757-6836"},{"uid":"c5e49757-6922"},{"uid":"c5e49757-6930"},{"uid":"c5e49757-6820"},{"uid":"c5e49757-6932"},{"uid":"c5e49757-6934"},{"uid":"c5e49757-6936"},{"uid":"c5e49757-6970"},{"uid":"c5e49757-6662"},{"uid":"c5e49757-6664"},{"uid":"c5e49757-6698"},{"uid":"c5e49757-6532"},{"uid":"c5e49757-6738"},{"uid":"c5e49757-6874"},{"uid":"c5e49757-7084"},{"uid":"c5e49757-7088"},{"uid":"c5e49757-7154"},{"uid":"c5e49757-7158"},{"uid":"c5e49757-7160"},{"uid":"c5e49757-6530"},{"uid":"c5e49757-6538"},{"uid":"c5e49757-7172"},{"uid":"c5e49757-7178"},{"uid":"c5e49757-7082"},{"uid":"c5e49757-7086"},{"uid":"c5e49757-7234"},{"uid":"c5e49757-7238"},{"uid":"c5e49757-6540"},{"uid":"c5e49757-6818"},{"uid":"c5e49757-7034"},{"uid":"c5e49757-7036"},{"uid":"c5e49757-7056"},{"uid":"c5e49757-6864"}]},"c5e49757-2372":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-i18n/dist/vue-i18n.cjs?commonjs-exports","moduleParts":{"assets/js/vue-i18n-D4kTt_M-.js":"c5e49757-2373"},"imported":[],"importedBy":[{"uid":"c5e49757-2374"}]},"c5e49757-2374":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-i18n/dist/vue-i18n.cjs","moduleParts":{"assets/js/vue-i18n-D4kTt_M-.js":"c5e49757-2375"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2372"},{"uid":"c5e49757-498"},{"uid":"c5e49757-502"},{"uid":"c5e49757-628"}],"importedBy":[{"uid":"c5e49757-2376"}]},"c5e49757-2376":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-i18n/dist/vue-i18n.cjs?commonjs-proxy","moduleParts":{"assets/js/vue-i18n-D4kTt_M-.js":"c5e49757-2377"},"imported":[{"uid":"c5e49757-2374"}],"importedBy":[{"uid":"c5e49757-2378"}]},"c5e49757-2378":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-i18n/dist/vue-i18n.cjs.js","moduleParts":{"assets/js/vue-i18n-D4kTt_M-.js":"c5e49757-2379"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2376"}],"importedBy":[{"uid":"c5e49757-3600"},{"uid":"c5e49757-3290"},{"uid":"c5e49757-4006"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3842"},{"uid":"c5e49757-3490"},{"uid":"c5e49757-3610"}]},"c5e49757-2380":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/svg-pathdata/lib/SVGPathData.cjs?commonjs-module","moduleParts":{"assets/js/svg-pathdata-Bja4ukkc.js":"c5e49757-2381"},"imported":[],"importedBy":[{"uid":"c5e49757-2382"}]},"c5e49757-2382":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/svg-pathdata/lib/SVGPathData.cjs","moduleParts":{"assets/js/svg-pathdata-Bja4ukkc.js":"c5e49757-2383"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2380"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-2384":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsInventory/wmsInventoryCheckOrder.ts","moduleParts":{"assets/js/wmsInventoryCheckOrder-DcrH-Wgp.js":"c5e49757-2385"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3392"},{"uid":"c5e49757-3746"},{"uid":"c5e49757-3476"},{"uid":"c5e49757-4466"},{"uid":"c5e49757-4598"}]},"c5e49757-2386":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/raf/index.js?commonjs-module","moduleParts":{"assets/js/raf-WEcgLGM5.js":"c5e49757-2387"},"imported":[],"importedBy":[{"uid":"c5e49757-2388"}]},"c5e49757-2388":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/raf/index.js","moduleParts":{"assets/js/raf-WEcgLGM5.js":"c5e49757-2389"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2386"},{"uid":"c5e49757-96"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-2390":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-clipboard3/dist/esm/index.js","moduleParts":{"assets/js/vue-clipboard3-0FGcY_a2.js":"c5e49757-2391"},"imported":[{"uid":"c5e49757-458"}],"importedBy":[{"uid":"c5e49757-230"}]},"c5e49757-2392":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-file-api.ts","moduleParts":{"assets/js/sys-file-api-D-nIgZGR.js":"c5e49757-2393"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-2394":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/html2canvas/dist/html2canvas.esm.js","moduleParts":{"assets/js/html2canvas-DIQSJSdx.js":"c5e49757-2395"},"imported":[],"importedBy":[{"uid":"c5e49757-3182"},{"uid":"c5e49757-3808"}]},"c5e49757-2396":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/animate.css/animate.css","moduleParts":{"assets/js/animate.css-BTpSc8gs.js":"c5e49757-2397"},"imported":[],"importedBy":[{"uid":"c5e49757-3624"}]},"c5e49757-2398":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/baseCustomer.ts","moduleParts":{"assets/js/baseCustomer-DTQXG9n0.js":"c5e49757-2399"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4082"},{"uid":"c5e49757-4680"},{"uid":"c5e49757-4552"},{"uid":"c5e49757-3906"},{"uid":"c5e49757-3800"},{"uid":"c5e49757-4520"},{"uid":"c5e49757-4182"},{"uid":"c5e49757-4812"},{"uid":"c5e49757-4070"},{"uid":"c5e49757-4928"},{"uid":"c5e49757-4666"},{"uid":"c5e49757-4566"},{"uid":"c5e49757-4910"},{"uid":"c5e49757-4824"},{"uid":"c5e49757-4782"},{"uid":"c5e49757-4496"},{"uid":"c5e49757-4768"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-4354"},{"uid":"c5e49757-4360"},{"uid":"c5e49757-4366"},{"uid":"c5e49757-4372"}]},"c5e49757-2400":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/qrcodejs2-fixes/qrcode.js?commonjs-module","moduleParts":{"assets/js/qrcodejs2-fixes-BsQHHdF0.js":"c5e49757-2401"},"imported":[],"importedBy":[{"uid":"c5e49757-2402"}]},"c5e49757-2402":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/qrcodejs2-fixes/qrcode.js","moduleParts":{"assets/js/qrcodejs2-fixes-BsQHHdF0.js":"c5e49757-2403"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2400"}],"importedBy":[{"uid":"c5e49757-3334"}]},"c5e49757-2404":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/print-js/dist/print.js?commonjs-module","moduleParts":{"assets/js/print-js-C3E_HArK.js":"c5e49757-2405"},"imported":[],"importedBy":[{"uid":"c5e49757-2406"}]},"c5e49757-2406":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/print-js/dist/print.js","moduleParts":{"assets/js/print-js-C3E_HArK.js":"c5e49757-2407"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2404"}],"importedBy":[{"uid":"c5e49757-4198"}]},"c5e49757-2408":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/rgbcolor/index.js","moduleParts":{"assets/js/rgbcolor-t7ataybn.js":"c5e49757-2409"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-2410":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jquery/dist/jquery.js?commonjs-module","moduleParts":{"assets/js/jquery-BNkrSPIR.js":"c5e49757-2411"},"imported":[],"importedBy":[{"uid":"c5e49757-2412"}]},"c5e49757-2412":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jquery/dist/jquery.js","moduleParts":{"assets/js/jquery-BNkrSPIR.js":"c5e49757-2413"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2410"}],"importedBy":[{"uid":"c5e49757-7424"}]},"c5e49757-2414":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsUnit.ts","moduleParts":{"assets/js/wmsUnit-oo72uf4m.js":"c5e49757-2415"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4108"},{"uid":"c5e49757-4120"},{"uid":"c5e49757-3172"}]},"c5e49757-2416":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsContainerType.ts","moduleParts":{"assets/js/wmsContainerType-Infv6FIE.js":"c5e49757-2417"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4730"},{"uid":"c5e49757-4384"},{"uid":"c5e49757-3172"}]},"c5e49757-2418":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/inventoryWarning/inventoryWarning.ts","moduleParts":{"assets/js/inventoryWarning-CTFalyCT.js":"c5e49757-2419"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3448"},{"uid":"c5e49757-4018"},{"uid":"c5e49757-4030"},{"uid":"c5e49757-4616"},{"uid":"c5e49757-4248"},{"uid":"c5e49757-3918"}]},"c5e49757-2420":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsRecordTrans.ts","moduleParts":{"assets/js/wmsRecordTrans-sPt-wSgr.js":"c5e49757-2421"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3430"},{"uid":"c5e49757-3782"}]},"c5e49757-2422":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/codeGen/component/fkDialog.vue?vue&type=script&setup=true&name=sysCodeGenFk&lang.ts","moduleParts":{"assets/js/fkDialog.vue_vue_type_script_setup_true_name_sysCodeGenFk_lang-Dcm1951Z.js":"c5e49757-2423"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-704"}]},"c5e49757-2424":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsMaterial.ts","moduleParts":{"assets/js/wmsMaterial-J_l1xoPq.js":"c5e49757-2425"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3296"},{"uid":"c5e49757-3794"},{"uid":"c5e49757-4082"},{"uid":"c5e49757-4396"},{"uid":"c5e49757-4440"},{"uid":"c5e49757-4788"},{"uid":"c5e49757-4266"},{"uid":"c5e49757-4514"},{"uid":"c5e49757-4466"},{"uid":"c5e49757-4520"},{"uid":"c5e49757-4182"},{"uid":"c5e49757-4812"},{"uid":"c5e49757-4928"},{"uid":"c5e49757-4666"},{"uid":"c5e49757-4910"},{"uid":"c5e49757-4824"},{"uid":"c5e49757-4782"},{"uid":"c5e49757-4496"},{"uid":"c5e49757-4768"},{"uid":"c5e49757-4036"},{"uid":"c5e49757-4354"},{"uid":"c5e49757-4360"},{"uid":"c5e49757-4366"}]},"c5e49757-2426":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/menu/index.vue?vue&type=script&setup=true&name=sysMenu&lang.ts","moduleParts":{"assets/js/index-BxtTuhKN.js":"c5e49757-2427"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-508"},{"uid":"c5e49757-9454"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-2428"}]},"c5e49757-2428":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/menu/index.vue","moduleParts":{"assets/js/index-BxtTuhKN.js":"c5e49757-2429"},"imported":[{"uid":"c5e49757-2426"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-2430":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/exportExcelForDetail.ts","moduleParts":{"assets/js/exportTableDataExcell-BY_5yl_Y.js":"c5e49757-2431"},"imported":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-4538"}],"importedBy":[{"uid":"c5e49757-2432"}]},"c5e49757-2432":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/hooks/exportTableDataExcell.ts","moduleParts":{"assets/js/exportTableDataExcell-BY_5yl_Y.js":"c5e49757-2433"},"imported":[{"uid":"c5e49757-2430"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-3392"},{"uid":"c5e49757-3746"},{"uid":"c5e49757-4490"},{"uid":"c5e49757-4598"},{"uid":"c5e49757-4916"},{"uid":"c5e49757-3912"},{"uid":"c5e49757-4070"},{"uid":"c5e49757-4922"},{"uid":"c5e49757-4126"},{"uid":"c5e49757-4000"},{"uid":"c5e49757-4254"},{"uid":"c5e49757-4222"}]},"c5e49757-2434":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/cache.ts","moduleParts":{"assets/js/cache-CIf8gBrN.js":"c5e49757-2435"},"imported":[],"importedBy":[{"uid":"c5e49757-3704"},{"uid":"c5e49757-4082"},{"uid":"c5e49757-4396"},{"uid":"c5e49757-4520"},{"uid":"c5e49757-4182"},{"uid":"c5e49757-4812"},{"uid":"c5e49757-4928"},{"uid":"c5e49757-4666"},{"uid":"c5e49757-4566"},{"uid":"c5e49757-4910"},{"uid":"c5e49757-4824"},{"uid":"c5e49757-4782"},{"uid":"c5e49757-4496"},{"uid":"c5e49757-4768"},{"uid":"c5e49757-4354"},{"uid":"c5e49757-4360"},{"uid":"c5e49757-4366"},{"uid":"c5e49757-4372"}]},"c5e49757-2436":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/authFunction.ts","moduleParts":{"assets/js/authFunction-BOpW1uA_.js":"c5e49757-2437"},"imported":[{"uid":"c5e49757-3568"},{"uid":"c5e49757-3614"}],"importedBy":[{"uid":"c5e49757-3392"},{"uid":"c5e49757-3482"},{"uid":"c5e49757-3424"},{"uid":"c5e49757-3454"},{"uid":"c5e49757-3692"},{"uid":"c5e49757-3770"},{"uid":"c5e49757-3728"},{"uid":"c5e49757-3776"},{"uid":"c5e49757-3710"},{"uid":"c5e49757-3460"},{"uid":"c5e49757-4490"},{"uid":"c5e49757-4132"},{"uid":"c5e49757-4138"},{"uid":"c5e49757-4088"},{"uid":"c5e49757-3952"},{"uid":"c5e49757-3974"},{"uid":"c5e49757-4552"},{"uid":"c5e49757-4672"},{"uid":"c5e49757-4546"},{"uid":"c5e49757-4592"},{"uid":"c5e49757-4686"},{"uid":"c5e49757-4390"},{"uid":"c5e49757-4384"},{"uid":"c5e49757-4272"},{"uid":"c5e49757-4304"},{"uid":"c5e49757-4170"},{"uid":"c5e49757-4788"},{"uid":"c5e49757-3818"},{"uid":"c5e49757-4260"},{"uid":"c5e49757-4414"},{"uid":"c5e49757-4120"},{"uid":"c5e49757-4114"},{"uid":"c5e49757-4598"},{"uid":"c5e49757-3924"},{"uid":"c5e49757-4452"},{"uid":"c5e49757-4874"},{"uid":"c5e49757-4916"},{"uid":"c5e49757-4748"},{"uid":"c5e49757-3912"},{"uid":"c5e49757-4070"},{"uid":"c5e49757-4898"},{"uid":"c5e49757-4922"},{"uid":"c5e49757-4216"},{"uid":"c5e49757-4126"},{"uid":"c5e49757-4000"},{"uid":"c5e49757-4378"},{"uid":"c5e49757-4508"},{"uid":"c5e49757-4254"},{"uid":"c5e49757-4298"},{"uid":"c5e49757-4278"},{"uid":"c5e49757-4040"},{"uid":"c5e49757-4700"},{"uid":"c5e49757-3958"},{"uid":"c5e49757-4222"},{"uid":"c5e49757-4408"},{"uid":"c5e49757-4204"},{"uid":"c5e49757-558"},{"uid":"c5e49757-524"},{"uid":"c5e49757-718"}]},"c5e49757-2438":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/Check/checkOrder/index.ts","moduleParts":{"assets/js/index-2TLxm6pR.js":"c5e49757-2439"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-224"},{"uid":"c5e49757-132"},{"uid":"c5e49757-3746"},{"uid":"c5e49757-4514"},{"uid":"c5e49757-4466"},{"uid":"c5e49757-4598"},{"uid":"c5e49757-4036"}]},"c5e49757-2440":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/component/propDetail.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/propDetail.vue_vue_type_script_setup_true_lang-D37lDMo-.js":"c5e49757-2441"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2442"}],"importedBy":[{"uid":"c5e49757-566"}]},"c5e49757-2442":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsStockQuan.ts","moduleParts":{"assets/js/wmsStockQuan-DNCKjC8O.js":"c5e49757-2443"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3398"},{"uid":"c5e49757-3424"},{"uid":"c5e49757-2440"},{"uid":"c5e49757-3698"},{"uid":"c5e49757-3740"},{"uid":"c5e49757-3686"},{"uid":"c5e49757-3776"},{"uid":"c5e49757-4566"},{"uid":"c5e49757-4372"}]},"c5e49757-2444":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsOrderDo/wmsOrderDeliverDetails.ts","moduleParts":{"assets/js/wmsOrderDeliverDetails-D7-L7OZD.js":"c5e49757-2445"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4928"},{"uid":"c5e49757-4892"},{"uid":"c5e49757-4216"},{"uid":"c5e49757-4566"}]},"c5e49757-2446":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/PrintCenter/wmsRecordSncodePrint.ts","moduleParts":{"assets/js/wmsRecordSncodePrint-DITxh-0L.js":"c5e49757-2447"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3386"},{"uid":"c5e49757-3412"},{"uid":"c5e49757-3424"},{"uid":"c5e49757-4520"},{"uid":"c5e49757-4604"}]},"c5e49757-2448":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-dict-data-api.ts","moduleParts":{"assets/js/sys-dict-data-api-Dhx9JaOV.js":"c5e49757-2449"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-2450":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsBusinessType.ts","moduleParts":{"assets/js/wmsBusinessType-J1AhQWnv.js":"c5e49757-2451"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3728"},{"uid":"c5e49757-3782"},{"uid":"c5e49757-3460"},{"uid":"c5e49757-4736"},{"uid":"c5e49757-4592"},{"uid":"c5e49757-4182"},{"uid":"c5e49757-3912"},{"uid":"c5e49757-4586"},{"uid":"c5e49757-4560"},{"uid":"c5e49757-4158"},{"uid":"c5e49757-4242"},{"uid":"c5e49757-4540"},{"uid":"c5e49757-4298"},{"uid":"c5e49757-4408"},{"uid":"c5e49757-3172"}]},"c5e49757-2452":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/formate.ts","moduleParts":{"assets/js/formate-WB4pYA1a.js":"c5e49757-2453"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-224"},{"uid":"c5e49757-132"},{"uid":"c5e49757-3296"},{"uid":"c5e49757-3392"},{"uid":"c5e49757-3794"},{"uid":"c5e49757-3746"},{"uid":"c5e49757-3482"},{"uid":"c5e49757-3776"},{"uid":"c5e49757-3460"},{"uid":"c5e49757-4396"},{"uid":"c5e49757-4514"},{"uid":"c5e49757-4466"},{"uid":"c5e49757-4598"},{"uid":"c5e49757-4520"},{"uid":"c5e49757-4916"},{"uid":"c5e49757-4182"},{"uid":"c5e49757-3912"},{"uid":"c5e49757-4812"},{"uid":"c5e49757-4070"},{"uid":"c5e49757-4928"},{"uid":"c5e49757-4922"},{"uid":"c5e49757-4666"},{"uid":"c5e49757-4566"},{"uid":"c5e49757-4910"},{"uid":"c5e49757-4126"},{"uid":"c5e49757-4824"},{"uid":"c5e49757-4782"},{"uid":"c5e49757-4000"},{"uid":"c5e49757-4496"},{"uid":"c5e49757-4768"},{"uid":"c5e49757-4254"},{"uid":"c5e49757-2432"},{"uid":"c5e49757-4354"},{"uid":"c5e49757-4360"},{"uid":"c5e49757-4366"}]},"c5e49757-2454":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-notice-api.ts","moduleParts":{"assets/js/sys-notice-api-BKWMaQ0c.js":"c5e49757-2455"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-2456":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/editor/index.vue?vue&type=script&setup=true&name=wngEditor&lang.ts","moduleParts":{"assets/js/editNotice.vue_vue_type_script_setup_true_name_sysNoticeEdit_lang-BTKquPYi.js":"c5e49757-2457"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6364"},{"uid":"c5e49757-6368"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-9456"}]},"c5e49757-2458":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/notice/component/editNotice.vue?vue&type=script&setup=true&name=sysNoticeEdit&lang.ts","moduleParts":{"assets/js/editNotice.vue_vue_type_script_setup_true_name_sysNoticeEdit_lang-BTKquPYi.js":"c5e49757-2459"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-9456"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-622"}]},"c5e49757-2460":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/env.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2461"},"imported":[],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-2526"},{"uid":"c5e49757-6568"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6406"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-2514"},{"uid":"c5e49757-2516"},{"uid":"c5e49757-2638"},{"uid":"c5e49757-7108"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-2476"},{"uid":"c5e49757-2494"},{"uid":"c5e49757-2508"},{"uid":"c5e49757-7128"},{"uid":"c5e49757-7016"},{"uid":"c5e49757-7126"},{"uid":"c5e49757-2474"},{"uid":"c5e49757-7172"}]},"c5e49757-2462":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/platform.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2463"},"imported":[],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6568"},{"uid":"c5e49757-2612"},{"uid":"c5e49757-2564"},{"uid":"c5e49757-6494"},{"uid":"c5e49757-2528"},{"uid":"c5e49757-2554"},{"uid":"c5e49757-2628"},{"uid":"c5e49757-2636"},{"uid":"c5e49757-6948"},{"uid":"c5e49757-2520"}]},"c5e49757-2464":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/util.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2465"},"imported":[{"uid":"c5e49757-2462"}],"importedBy":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-6502"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-2526"},{"uid":"c5e49757-6568"},{"uid":"c5e49757-6624"},{"uid":"c5e49757-6642"},{"uid":"c5e49757-6834"},{"uid":"c5e49757-6960"},{"uid":"c5e49757-6982"},{"uid":"c5e49757-6682"},{"uid":"c5e49757-7048"},{"uid":"c5e49757-6748"},{"uid":"c5e49757-7078"},{"uid":"c5e49757-7134"},{"uid":"c5e49757-7024"},{"uid":"c5e49757-7150"},{"uid":"c5e49757-7152"},{"uid":"c5e49757-7282"},{"uid":"c5e49757-6428"},{"uid":"c5e49757-6430"},{"uid":"c5e49757-6432"},{"uid":"c5e49757-6434"},{"uid":"c5e49757-6438"},{"uid":"c5e49757-6440"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6472"},{"uid":"c5e49757-6474"},{"uid":"c5e49757-6476"},{"uid":"c5e49757-6376"},{"uid":"c5e49757-6482"},{"uid":"c5e49757-6484"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-6488"},{"uid":"c5e49757-6452"},{"uid":"c5e49757-6406"},{"uid":"c5e49757-2524"},{"uid":"c5e49757-6400"},{"uid":"c5e49757-6448"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6446"},{"uid":"c5e49757-6456"},{"uid":"c5e49757-6460"},{"uid":"c5e49757-2486"},{"uid":"c5e49757-2492"},{"uid":"c5e49757-2514"},{"uid":"c5e49757-2506"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-6548"},{"uid":"c5e49757-6552"},{"uid":"c5e49757-6562"},{"uid":"c5e49757-6566"},{"uid":"c5e49757-2612"},{"uid":"c5e49757-6574"},{"uid":"c5e49757-2634"},{"uid":"c5e49757-2638"},{"uid":"c5e49757-6604"},{"uid":"c5e49757-6606"},{"uid":"c5e49757-6608"},{"uid":"c5e49757-6536"},{"uid":"c5e49757-6622"},{"uid":"c5e49757-6626"},{"uid":"c5e49757-6632"},{"uid":"c5e49757-6638"},{"uid":"c5e49757-6640"},{"uid":"c5e49757-6686"},{"uid":"c5e49757-6688"},{"uid":"c5e49757-6690"},{"uid":"c5e49757-6692"},{"uid":"c5e49757-6730"},{"uid":"c5e49757-6732"},{"uid":"c5e49757-6734"},{"uid":"c5e49757-6754"},{"uid":"c5e49757-6768"},{"uid":"c5e49757-6774"},{"uid":"c5e49757-6778"},{"uid":"c5e49757-6784"},{"uid":"c5e49757-6788"},{"uid":"c5e49757-6790"},{"uid":"c5e49757-6794"},{"uid":"c5e49757-6796"},{"uid":"c5e49757-6798"},{"uid":"c5e49757-6804"},{"uid":"c5e49757-6814"},{"uid":"c5e49757-6816"},{"uid":"c5e49757-6832"},{"uid":"c5e49757-6838"},{"uid":"c5e49757-6846"},{"uid":"c5e49757-6848"},{"uid":"c5e49757-6852"},{"uid":"c5e49757-6854"},{"uid":"c5e49757-6886"},{"uid":"c5e49757-6890"},{"uid":"c5e49757-6892"},{"uid":"c5e49757-6898"},{"uid":"c5e49757-6900"},{"uid":"c5e49757-6902"},{"uid":"c5e49757-6910"},{"uid":"c5e49757-6912"},{"uid":"c5e49757-6914"},{"uid":"c5e49757-6916"},{"uid":"c5e49757-6918"},{"uid":"c5e49757-6942"},{"uid":"c5e49757-6950"},{"uid":"c5e49757-6956"},{"uid":"c5e49757-6962"},{"uid":"c5e49757-6964"},{"uid":"c5e49757-6966"},{"uid":"c5e49757-6974"},{"uid":"c5e49757-6976"},{"uid":"c5e49757-6978"},{"uid":"c5e49757-6980"},{"uid":"c5e49757-6972"},{"uid":"c5e49757-7002"},{"uid":"c5e49757-6652"},{"uid":"c5e49757-6658"},{"uid":"c5e49757-6670"},{"uid":"c5e49757-6680"},{"uid":"c5e49757-7032"},{"uid":"c5e49757-7040"},{"uid":"c5e49757-7042"},{"uid":"c5e49757-7044"},{"uid":"c5e49757-7046"},{"uid":"c5e49757-6694"},{"uid":"c5e49757-6696"},{"uid":"c5e49757-6700"},{"uid":"c5e49757-6742"},{"uid":"c5e49757-6740"},{"uid":"c5e49757-6724"},{"uid":"c5e49757-7052"},{"uid":"c5e49757-7054"},{"uid":"c5e49757-6858"},{"uid":"c5e49757-6860"},{"uid":"c5e49757-6862"},{"uid":"c5e49757-6872"},{"uid":"c5e49757-6878"},{"uid":"c5e49757-7066"},{"uid":"c5e49757-7068"},{"uid":"c5e49757-7070"},{"uid":"c5e49757-7074"},{"uid":"c5e49757-7076"},{"uid":"c5e49757-7102"},{"uid":"c5e49757-7106"},{"uid":"c5e49757-7108"},{"uid":"c5e49757-7110"},{"uid":"c5e49757-7112"},{"uid":"c5e49757-7120"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-6674"},{"uid":"c5e49757-7022"},{"uid":"c5e49757-7136"},{"uid":"c5e49757-7144"},{"uid":"c5e49757-7146"},{"uid":"c5e49757-7142"},{"uid":"c5e49757-7148"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6412"},{"uid":"c5e49757-7156"},{"uid":"c5e49757-7162"},{"uid":"c5e49757-7164"},{"uid":"c5e49757-7166"},{"uid":"c5e49757-7170"},{"uid":"c5e49757-7180"},{"uid":"c5e49757-7186"},{"uid":"c5e49757-7192"},{"uid":"c5e49757-7208"},{"uid":"c5e49757-7196"},{"uid":"c5e49757-7198"},{"uid":"c5e49757-7202"},{"uid":"c5e49757-7220"},{"uid":"c5e49757-7218"},{"uid":"c5e49757-7226"},{"uid":"c5e49757-7236"},{"uid":"c5e49757-7242"},{"uid":"c5e49757-7250"},{"uid":"c5e49757-7254"},{"uid":"c5e49757-7256"},{"uid":"c5e49757-7262"},{"uid":"c5e49757-7264"},{"uid":"c5e49757-7270"},{"uid":"c5e49757-7272"},{"uid":"c5e49757-6420"},{"uid":"c5e49757-7280"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-6386"},{"uid":"c5e49757-2532"},{"uid":"c5e49757-6422"},{"uid":"c5e49757-6424"},{"uid":"c5e49757-6436"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-2568"},{"uid":"c5e49757-2556"},{"uid":"c5e49757-2564"},{"uid":"c5e49757-6378"},{"uid":"c5e49757-6444"},{"uid":"c5e49757-6450"},{"uid":"c5e49757-6442"},{"uid":"c5e49757-6494"},{"uid":"c5e49757-2522"},{"uid":"c5e49757-6454"},{"uid":"c5e49757-6458"},{"uid":"c5e49757-2510"},{"uid":"c5e49757-6508"},{"uid":"c5e49757-6510"},{"uid":"c5e49757-6512"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6544"},{"uid":"c5e49757-6520"},{"uid":"c5e49757-6516"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-6550"},{"uid":"c5e49757-6408"},{"uid":"c5e49757-6564"},{"uid":"c5e49757-2554"},{"uid":"c5e49757-2610"},{"uid":"c5e49757-6570"},{"uid":"c5e49757-2628"},{"uid":"c5e49757-2620"},{"uid":"c5e49757-2508"},{"uid":"c5e49757-2632"},{"uid":"c5e49757-2636"},{"uid":"c5e49757-6592"},{"uid":"c5e49757-6590"},{"uid":"c5e49757-6594"},{"uid":"c5e49757-6600"},{"uid":"c5e49757-6588"},{"uid":"c5e49757-6534"},{"uid":"c5e49757-6612"},{"uid":"c5e49757-6618"},{"uid":"c5e49757-6620"},{"uid":"c5e49757-6630"},{"uid":"c5e49757-6634"},{"uid":"c5e49757-6726"},{"uid":"c5e49757-6708"},{"uid":"c5e49757-6758"},{"uid":"c5e49757-6760"},{"uid":"c5e49757-6780"},{"uid":"c5e49757-6786"},{"uid":"c5e49757-6802"},{"uid":"c5e49757-6808"},{"uid":"c5e49757-6800"},{"uid":"c5e49757-6830"},{"uid":"c5e49757-6896"},{"uid":"c5e49757-6904"},{"uid":"c5e49757-6930"},{"uid":"c5e49757-6820"},{"uid":"c5e49757-6970"},{"uid":"c5e49757-6986"},{"uid":"c5e49757-6988"},{"uid":"c5e49757-6990"},{"uid":"c5e49757-6992"},{"uid":"c5e49757-6996"},{"uid":"c5e49757-6998"},{"uid":"c5e49757-7000"},{"uid":"c5e49757-6654"},{"uid":"c5e49757-6526"},{"uid":"c5e49757-6666"},{"uid":"c5e49757-6672"},{"uid":"c5e49757-6678"},{"uid":"c5e49757-7008"},{"uid":"c5e49757-7010"},{"uid":"c5e49757-6738"},{"uid":"c5e49757-6714"},{"uid":"c5e49757-6722"},{"uid":"c5e49757-7050"},{"uid":"c5e49757-7058"},{"uid":"c5e49757-6868"},{"uid":"c5e49757-6874"},{"uid":"c5e49757-7114"},{"uid":"c5e49757-7118"},{"uid":"c5e49757-7128"},{"uid":"c5e49757-7130"},{"uid":"c5e49757-7020"},{"uid":"c5e49757-7016"},{"uid":"c5e49757-7138"},{"uid":"c5e49757-2530"},{"uid":"c5e49757-7154"},{"uid":"c5e49757-6530"},{"uid":"c5e49757-6538"},{"uid":"c5e49757-7172"},{"uid":"c5e49757-7176"},{"uid":"c5e49757-7178"},{"uid":"c5e49757-7082"},{"uid":"c5e49757-7080"},{"uid":"c5e49757-7092"},{"uid":"c5e49757-7094"},{"uid":"c5e49757-7234"},{"uid":"c5e49757-7238"},{"uid":"c5e49757-7240"},{"uid":"c5e49757-7246"},{"uid":"c5e49757-7248"},{"uid":"c5e49757-7232"},{"uid":"c5e49757-7268"},{"uid":"c5e49757-2648"},{"uid":"c5e49757-2574"},{"uid":"c5e49757-2502"},{"uid":"c5e49757-2500"},{"uid":"c5e49757-6518"},{"uid":"c5e49757-6540"},{"uid":"c5e49757-6542"},{"uid":"c5e49757-2618"},{"uid":"c5e49757-2624"},{"uid":"c5e49757-6706"},{"uid":"c5e49757-6756"},{"uid":"c5e49757-6828"},{"uid":"c5e49757-6660"},{"uid":"c5e49757-2642"},{"uid":"c5e49757-2640"},{"uid":"c5e49757-6716"},{"uid":"c5e49757-7090"},{"uid":"c5e49757-2646"}]},"c5e49757-2466":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/vector.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2467"},"imported":[],"importedBy":[{"uid":"c5e49757-6568"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-2486"},{"uid":"c5e49757-6814"},{"uid":"c5e49757-6736"},{"uid":"c5e49757-6740"},{"uid":"c5e49757-2518"},{"uid":"c5e49757-2590"},{"uid":"c5e49757-6550"},{"uid":"c5e49757-2536"},{"uid":"c5e49757-6570"},{"uid":"c5e49757-2534"},{"uid":"c5e49757-6802"},{"uid":"c5e49757-6808"},{"uid":"c5e49757-6812"},{"uid":"c5e49757-6824"},{"uid":"c5e49757-6930"},{"uid":"c5e49757-6820"},{"uid":"c5e49757-6934"},{"uid":"c5e49757-6662"},{"uid":"c5e49757-6672"},{"uid":"c5e49757-2648"},{"uid":"c5e49757-2566"},{"uid":"c5e49757-2498"},{"uid":"c5e49757-6818"},{"uid":"c5e49757-2580"}]},"c5e49757-2468":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/mixin/Draggable.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2469"},"imported":[],"importedBy":[{"uid":"c5e49757-2486"}]},"c5e49757-2470":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/Eventful.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2471"},"imported":[],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-6498"},{"uid":"c5e49757-2486"},{"uid":"c5e49757-2512"},{"uid":"c5e49757-2514"},{"uid":"c5e49757-2522"},{"uid":"c5e49757-2476"},{"uid":"c5e49757-2636"},{"uid":"c5e49757-6708"},{"uid":"c5e49757-6874"}]},"c5e49757-2472":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/fourPointsTransform.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2473"},"imported":[],"importedBy":[{"uid":"c5e49757-2474"}]},"c5e49757-2474":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/dom.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2475"},"imported":[{"uid":"c5e49757-2460"},{"uid":"c5e49757-2472"}],"importedBy":[{"uid":"c5e49757-6412"},{"uid":"c5e49757-2476"},{"uid":"c5e49757-2620"},{"uid":"c5e49757-7128"}]},"c5e49757-2476":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/event.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2477"},"imported":[{"uid":"c5e49757-2470"},{"uid":"c5e49757-2460"},{"uid":"c5e49757-2474"}],"importedBy":[{"uid":"c5e49757-2486"},{"uid":"c5e49757-2514"},{"uid":"c5e49757-7112"},{"uid":"c5e49757-7226"},{"uid":"c5e49757-7242"},{"uid":"c5e49757-2478"},{"uid":"c5e49757-6708"},{"uid":"c5e49757-7008"},{"uid":"c5e49757-7128"}]},"c5e49757-2478":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/GestureMgr.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2479"},"imported":[{"uid":"c5e49757-2476"}],"importedBy":[{"uid":"c5e49757-2486"}]},"c5e49757-2480":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/matrix.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2481"},"imported":[],"importedBy":[{"uid":"c5e49757-6568"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6784"},{"uid":"c5e49757-6736"},{"uid":"c5e49757-6924"},{"uid":"c5e49757-7028"},{"uid":"c5e49757-7162"},{"uid":"c5e49757-2518"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-6550"},{"uid":"c5e49757-6570"},{"uid":"c5e49757-6662"},{"uid":"c5e49757-6672"},{"uid":"c5e49757-7010"},{"uid":"c5e49757-6868"},{"uid":"c5e49757-2642"}]},"c5e49757-2482":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/Point.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2483"},"imported":[],"importedBy":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-2602"},{"uid":"c5e49757-2646"}]},"c5e49757-2484":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/BoundingRect.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2485"},"imported":[{"uid":"c5e49757-2480"},{"uid":"c5e49757-2482"}],"importedBy":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-2524"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-2486"},{"uid":"c5e49757-6784"},{"uid":"c5e49757-6790"},{"uid":"c5e49757-6736"},{"uid":"c5e49757-7142"},{"uid":"c5e49757-7162"},{"uid":"c5e49757-2532"},{"uid":"c5e49757-2556"},{"uid":"c5e49757-2564"},{"uid":"c5e49757-2604"},{"uid":"c5e49757-2522"},{"uid":"c5e49757-6544"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-6550"},{"uid":"c5e49757-2536"},{"uid":"c5e49757-2636"},{"uid":"c5e49757-6662"},{"uid":"c5e49757-6738"},{"uid":"c5e49757-6714"},{"uid":"c5e49757-6722"},{"uid":"c5e49757-6876"},{"uid":"c5e49757-2520"},{"uid":"c5e49757-7140"},{"uid":"c5e49757-2646"}]},"c5e49757-2486":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/Handler.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2487"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2466"},{"uid":"c5e49757-2468"},{"uid":"c5e49757-2470"},{"uid":"c5e49757-2476"},{"uid":"c5e49757-2478"},{"uid":"c5e49757-2484"}],"importedBy":[{"uid":"c5e49757-2526"}]},"c5e49757-2488":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/timsort.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2489"},"imported":[],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-2492"}]},"c5e49757-2490":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/constants.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2491"},"imported":[],"importedBy":[{"uid":"c5e49757-2492"},{"uid":"c5e49757-2612"},{"uid":"c5e49757-2638"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2532"},{"uid":"c5e49757-2522"},{"uid":"c5e49757-2636"}]},"c5e49757-2492":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/Storage.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2493"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2488"},{"uid":"c5e49757-2490"}],"importedBy":[{"uid":"c5e49757-2526"}]},"c5e49757-2494":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/animation/requestAnimationFrame.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2495"},"imported":[{"uid":"c5e49757-2460"}],"importedBy":[{"uid":"c5e49757-2512"},{"uid":"c5e49757-2638"}]},"c5e49757-2496":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/animation/easing.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2497"},"imported":[],"importedBy":[{"uid":"c5e49757-2510"},{"uid":"c5e49757-2502"}]},"c5e49757-2498":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/curve.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2499"},"imported":[{"uid":"c5e49757-2466"}],"importedBy":[{"uid":"c5e49757-2590"},{"uid":"c5e49757-2536"},{"uid":"c5e49757-6570"},{"uid":"c5e49757-6598"},{"uid":"c5e49757-2534"},{"uid":"c5e49757-6824"},{"uid":"c5e49757-6930"},{"uid":"c5e49757-2648"},{"uid":"c5e49757-2550"},{"uid":"c5e49757-2500"},{"uid":"c5e49757-2542"},{"uid":"c5e49757-2644"},{"uid":"c5e49757-2540"}]},"c5e49757-2500":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/animation/cubicEasing.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2501"},"imported":[{"uid":"c5e49757-2498"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-2510"},{"uid":"c5e49757-2502"},{"uid":"c5e49757-2624"}]},"c5e49757-2502":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/animation/Clip.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2503"},"imported":[{"uid":"c5e49757-2496"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2500"}],"importedBy":[{"uid":"c5e49757-2510"}]},"c5e49757-2504":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/LRU.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2505"},"imported":[],"importedBy":[{"uid":"c5e49757-2506"},{"uid":"c5e49757-6494"},{"uid":"c5e49757-2528"},{"uid":"c5e49757-2520"}]},"c5e49757-2506":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/tool/color.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2507"},"imported":[{"uid":"c5e49757-2504"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-2526"},{"uid":"c5e49757-6568"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6604"},{"uid":"c5e49757-6788"},{"uid":"c5e49757-6980"},{"uid":"c5e49757-7192"},{"uid":"c5e49757-7198"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2522"},{"uid":"c5e49757-2510"},{"uid":"c5e49757-2508"},{"uid":"c5e49757-6786"},{"uid":"c5e49757-2626"}]},"c5e49757-2508":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/svg/helper.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2509"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2506"},{"uid":"c5e49757-2460"}],"importedBy":[{"uid":"c5e49757-2634"},{"uid":"c5e49757-2510"},{"uid":"c5e49757-2628"},{"uid":"c5e49757-2616"},{"uid":"c5e49757-2618"},{"uid":"c5e49757-2624"}]},"c5e49757-2510":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/animation/Animator.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2511"},"imported":[{"uid":"c5e49757-2502"},{"uid":"c5e49757-2506"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2496"},{"uid":"c5e49757-2500"},{"uid":"c5e49757-2508"}],"importedBy":[{"uid":"c5e49757-2512"},{"uid":"c5e49757-2522"},{"uid":"c5e49757-6998"}]},"c5e49757-2512":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/animation/Animation.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2513"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2470"},{"uid":"c5e49757-2494"},{"uid":"c5e49757-2510"}],"importedBy":[{"uid":"c5e49757-2526"}]},"c5e49757-2514":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/dom/HandlerProxy.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2515"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2476"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2470"},{"uid":"c5e49757-2460"}],"importedBy":[{"uid":"c5e49757-2526"}]},"c5e49757-2516":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/config.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2517"},"imported":[{"uid":"c5e49757-2460"}],"importedBy":[{"uid":"c5e49757-2526"},{"uid":"c5e49757-2638"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2522"},{"uid":"c5e49757-2536"},{"uid":"c5e49757-2636"}]},"c5e49757-2518":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/Transformable.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2519"},"imported":[{"uid":"c5e49757-2480"},{"uid":"c5e49757-2466"}],"importedBy":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-6574"},{"uid":"c5e49757-6736"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2522"},{"uid":"c5e49757-6998"},{"uid":"c5e49757-2648"},{"uid":"c5e49757-2624"}]},"c5e49757-2520":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/contain/text.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2521"},"imported":[{"uid":"c5e49757-2484"},{"uid":"c5e49757-2504"},{"uid":"c5e49757-2462"}],"importedBy":[{"uid":"c5e49757-7106"},{"uid":"c5e49757-7162"},{"uid":"c5e49757-7242"},{"uid":"c5e49757-2564"},{"uid":"c5e49757-2522"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-6564"},{"uid":"c5e49757-2554"},{"uid":"c5e49757-2628"},{"uid":"c5e49757-6618"},{"uid":"c5e49757-6620"},{"uid":"c5e49757-7010"},{"uid":"c5e49757-2530"},{"uid":"c5e49757-6542"},{"uid":"c5e49757-7036"}]},"c5e49757-2522":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/Element.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2523"},"imported":[{"uid":"c5e49757-2518"},{"uid":"c5e49757-2510"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-2470"},{"uid":"c5e49757-2520"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2516"},{"uid":"c5e49757-2506"},{"uid":"c5e49757-2490"}],"importedBy":[{"uid":"c5e49757-2524"},{"uid":"c5e49757-2532"}]},"c5e49757-2524":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/Group.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2525"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2522"},{"uid":"c5e49757-2484"}],"importedBy":[{"uid":"c5e49757-6464"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-2526"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6622"},{"uid":"c5e49757-6714"},{"uid":"c5e49757-2642"}]},"c5e49757-2526":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/zrender.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2527"},"imported":[{"uid":"c5e49757-2460"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2486"},{"uid":"c5e49757-2492"},{"uid":"c5e49757-2512"},{"uid":"c5e49757-2514"},{"uid":"c5e49757-2506"},{"uid":"c5e49757-2516"},{"uid":"c5e49757-2524"}],"importedBy":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-6502"},{"uid":"c5e49757-6568"},{"uid":"c5e49757-2628"}]},"c5e49757-2528":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/helper/image.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2529"},"imported":[{"uid":"c5e49757-2504"},{"uid":"c5e49757-2462"}],"importedBy":[{"uid":"c5e49757-2612"},{"uid":"c5e49757-2628"},{"uid":"c5e49757-2530"}]},"c5e49757-2530":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/helper/parseText.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2531"},"imported":[{"uid":"c5e49757-2528"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2520"}],"importedBy":[{"uid":"c5e49757-6412"},{"uid":"c5e49757-2564"}]},"c5e49757-2532":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/Displayable.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2533"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2522"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2490"}],"importedBy":[{"uid":"c5e49757-7282"},{"uid":"c5e49757-2612"},{"uid":"c5e49757-6784"},{"uid":"c5e49757-7002"},{"uid":"c5e49757-7076"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2556"},{"uid":"c5e49757-2564"},{"uid":"c5e49757-2604"},{"uid":"c5e49757-2554"},{"uid":"c5e49757-6726"},{"uid":"c5e49757-6998"}]},"c5e49757-2534":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/bbox.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2535"},"imported":[{"uid":"c5e49757-2466"},{"uid":"c5e49757-2498"}],"importedBy":[{"uid":"c5e49757-6754"},{"uid":"c5e49757-6816"},{"uid":"c5e49757-2536"},{"uid":"c5e49757-2646"}]},"c5e49757-2536":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/PathProxy.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2537"},"imported":[{"uid":"c5e49757-2466"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-2516"},{"uid":"c5e49757-2534"},{"uid":"c5e49757-2498"}],"importedBy":[{"uid":"c5e49757-2612"},{"uid":"c5e49757-6626"},{"uid":"c5e49757-6838"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2568"},{"uid":"c5e49757-6570"},{"uid":"c5e49757-6598"},{"uid":"c5e49757-2550"},{"uid":"c5e49757-2566"},{"uid":"c5e49757-2624"},{"uid":"c5e49757-2644"}]},"c5e49757-2538":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/contain/line.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2539"},"imported":[],"importedBy":[{"uid":"c5e49757-6936"},{"uid":"c5e49757-2550"}]},"c5e49757-2540":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/contain/cubic.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2541"},"imported":[{"uid":"c5e49757-2498"}],"importedBy":[{"uid":"c5e49757-2550"}]},"c5e49757-2542":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/contain/quadratic.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2543"},"imported":[{"uid":"c5e49757-2498"}],"importedBy":[{"uid":"c5e49757-6936"},{"uid":"c5e49757-2550"}]},"c5e49757-2544":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/contain/util.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2545"},"imported":[],"importedBy":[{"uid":"c5e49757-6574"},{"uid":"c5e49757-6570"},{"uid":"c5e49757-6970"},{"uid":"c5e49757-2546"}]},"c5e49757-2546":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/contain/arc.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2547"},"imported":[{"uid":"c5e49757-2544"}],"importedBy":[{"uid":"c5e49757-2550"}]},"c5e49757-2548":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/contain/windingLine.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2549"},"imported":[],"importedBy":[{"uid":"c5e49757-2550"},{"uid":"c5e49757-2614"}]},"c5e49757-2550":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/contain/path.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2551"},"imported":[{"uid":"c5e49757-2536"},{"uid":"c5e49757-2538"},{"uid":"c5e49757-2540"},{"uid":"c5e49757-2542"},{"uid":"c5e49757-2546"},{"uid":"c5e49757-2498"},{"uid":"c5e49757-2548"}],"importedBy":[{"uid":"c5e49757-2552"}]},"c5e49757-2552":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/Path.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2553"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2532"},{"uid":"c5e49757-2536"},{"uid":"c5e49757-2550"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2506"},{"uid":"c5e49757-2516"},{"uid":"c5e49757-2490"},{"uid":"c5e49757-2518"}],"importedBy":[{"uid":"c5e49757-7282"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-2612"},{"uid":"c5e49757-6622"},{"uid":"c5e49757-6754"},{"uid":"c5e49757-6900"},{"uid":"c5e49757-6910"},{"uid":"c5e49757-2568"},{"uid":"c5e49757-2570"},{"uid":"c5e49757-2572"},{"uid":"c5e49757-2576"},{"uid":"c5e49757-2578"},{"uid":"c5e49757-2584"},{"uid":"c5e49757-2586"},{"uid":"c5e49757-2562"},{"uid":"c5e49757-2588"},{"uid":"c5e49757-2590"},{"uid":"c5e49757-2592"},{"uid":"c5e49757-2594"},{"uid":"c5e49757-2554"},{"uid":"c5e49757-2628"},{"uid":"c5e49757-6598"},{"uid":"c5e49757-6836"},{"uid":"c5e49757-2648"},{"uid":"c5e49757-2618"}]},"c5e49757-2554":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/TSpan.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2555"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2532"},{"uid":"c5e49757-2520"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2462"}],"importedBy":[{"uid":"c5e49757-2612"},{"uid":"c5e49757-2564"},{"uid":"c5e49757-2628"},{"uid":"c5e49757-2642"}]},"c5e49757-2556":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/Image.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2557"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2532"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-2612"},{"uid":"c5e49757-6690"},{"uid":"c5e49757-6838"},{"uid":"c5e49757-6956"},{"uid":"c5e49757-7242"},{"uid":"c5e49757-2564"},{"uid":"c5e49757-2628"},{"uid":"c5e49757-6590"},{"uid":"c5e49757-2618"},{"uid":"c5e49757-2642"}]},"c5e49757-2558":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/helper/roundRect.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2559"},"imported":[],"importedBy":[{"uid":"c5e49757-2562"}]},"c5e49757-2560":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/helper/subPixelOptimize.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2561"},"imported":[],"importedBy":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-2562"},{"uid":"c5e49757-2588"}]},"c5e49757-2562":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/shape/Rect.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2563"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2558"},{"uid":"c5e49757-2560"}],"importedBy":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-2564"},{"uid":"c5e49757-6714"},{"uid":"c5e49757-2642"},{"uid":"c5e49757-2646"}]},"c5e49757-2564":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/Text.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2565"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2530"},{"uid":"c5e49757-2554"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2520"},{"uid":"c5e49757-2556"},{"uid":"c5e49757-2562"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-2532"},{"uid":"c5e49757-2462"}],"importedBy":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-7106"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6392"},{"uid":"c5e49757-2628"},{"uid":"c5e49757-7130"}]},"c5e49757-2566":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/tool/transformPath.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2567"},"imported":[{"uid":"c5e49757-2536"},{"uid":"c5e49757-2466"}],"importedBy":[{"uid":"c5e49757-2568"}]},"c5e49757-2568":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/tool/path.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2569"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2536"},{"uid":"c5e49757-2566"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-7280"},{"uid":"c5e49757-2648"},{"uid":"c5e49757-2642"},{"uid":"c5e49757-2646"}]},"c5e49757-2570":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/shape/Circle.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2571"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2552"}],"importedBy":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-2642"}]},"c5e49757-2572":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/shape/Ellipse.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2573"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2552"}],"importedBy":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-2642"}]},"c5e49757-2574":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/helper/roundSector.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2575"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-2576"}]},"c5e49757-2576":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/shape/Sector.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2577"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2574"}],"importedBy":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-2646"}]},"c5e49757-2578":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/shape/Ring.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2579"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2552"}],"importedBy":[{"uid":"c5e49757-6388"}]},"c5e49757-2580":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/helper/smoothBezier.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2581"},"imported":[{"uid":"c5e49757-2466"}],"importedBy":[{"uid":"c5e49757-2582"}]},"c5e49757-2582":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/helper/poly.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2583"},"imported":[{"uid":"c5e49757-2580"}],"importedBy":[{"uid":"c5e49757-2584"},{"uid":"c5e49757-2586"}]},"c5e49757-2584":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/shape/Polygon.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2585"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2582"}],"importedBy":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-2642"},{"uid":"c5e49757-2646"}]},"c5e49757-2586":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/shape/Polyline.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2587"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2582"}],"importedBy":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-2642"}]},"c5e49757-2588":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/shape/Line.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2589"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2560"}],"importedBy":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-2642"}]},"c5e49757-2590":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/shape/BezierCurve.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2591"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2466"},{"uid":"c5e49757-2498"}],"importedBy":[{"uid":"c5e49757-6388"}]},"c5e49757-2592":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/shape/Arc.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2593"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2552"}],"importedBy":[{"uid":"c5e49757-6388"}]},"c5e49757-2594":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/CompoundPath.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2595"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2552"}],"importedBy":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-2624"}]},"c5e49757-2596":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/Gradient.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2597"},"imported":[],"importedBy":[{"uid":"c5e49757-2598"},{"uid":"c5e49757-2600"}]},"c5e49757-2598":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/LinearGradient.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2599"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2596"}],"importedBy":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-7242"},{"uid":"c5e49757-2642"}]},"c5e49757-2600":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/RadialGradient.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2601"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2596"}],"importedBy":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-2642"}]},"c5e49757-2602":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/OrientedBoundingRect.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2603"},"imported":[{"uid":"c5e49757-2482"}],"importedBy":[{"uid":"c5e49757-6388"}]},"c5e49757-2604":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/graphic/IncrementalDisplayable.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2605"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2532"},{"uid":"c5e49757-2484"}],"importedBy":[{"uid":"c5e49757-6388"}]},"c5e49757-2606":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/core/WeakMap.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2607"},"imported":[],"importedBy":[{"uid":"c5e49757-6494"}]},"c5e49757-2608":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/canvas/helper.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2609"},"imported":[],"importedBy":[{"uid":"c5e49757-2612"},{"uid":"c5e49757-2634"},{"uid":"c5e49757-2638"},{"uid":"c5e49757-2636"}]},"c5e49757-2610":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/canvas/dashStyle.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2611"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-2612"},{"uid":"c5e49757-2618"}]},"c5e49757-2612":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/canvas/graphic.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2613"},"imported":[{"uid":"c5e49757-2532"},{"uid":"c5e49757-2536"},{"uid":"c5e49757-2528"},{"uid":"c5e49757-2608"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2556"},{"uid":"c5e49757-2554"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2610"},{"uid":"c5e49757-2490"},{"uid":"c5e49757-2462"}],"importedBy":[{"uid":"c5e49757-6568"},{"uid":"c5e49757-2638"},{"uid":"c5e49757-6494"},{"uid":"c5e49757-2636"}]},"c5e49757-2614":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/contain/polygon.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2615"},"imported":[{"uid":"c5e49757-2548"}],"importedBy":[{"uid":"c5e49757-6550"},{"uid":"c5e49757-7140"}]},"c5e49757-2616":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/svg/SVGPathRebuilder.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2617"},"imported":[{"uid":"c5e49757-2508"}],"importedBy":[{"uid":"c5e49757-2628"},{"uid":"c5e49757-2624"}]},"c5e49757-2618":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/svg/mapStyleToAttrs.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2619"},"imported":[{"uid":"c5e49757-2552"},{"uid":"c5e49757-2556"},{"uid":"c5e49757-2610"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2508"}],"importedBy":[{"uid":"c5e49757-2628"}]},"c5e49757-2620":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/svg/core.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2621"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2474"}],"importedBy":[{"uid":"c5e49757-2634"},{"uid":"c5e49757-2628"},{"uid":"c5e49757-2632"},{"uid":"c5e49757-2624"}]},"c5e49757-2622":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/svg/cssClassId.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2623"},"imported":[],"importedBy":[{"uid":"c5e49757-2624"},{"uid":"c5e49757-2626"}]},"c5e49757-2624":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/svg/cssAnimation.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2625"},"imported":[{"uid":"c5e49757-2518"},{"uid":"c5e49757-2620"},{"uid":"c5e49757-2616"},{"uid":"c5e49757-2536"},{"uid":"c5e49757-2508"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2594"},{"uid":"c5e49757-2500"},{"uid":"c5e49757-2622"}],"importedBy":[{"uid":"c5e49757-2628"}]},"c5e49757-2626":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/svg/cssEmphasis.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2627"},"imported":[{"uid":"c5e49757-2506"},{"uid":"c5e49757-2622"}],"importedBy":[{"uid":"c5e49757-2628"}]},"c5e49757-2628":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/svg/graphic.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2629"},"imported":[{"uid":"c5e49757-2508"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2556"},{"uid":"c5e49757-2520"},{"uid":"c5e49757-2554"},{"uid":"c5e49757-2616"},{"uid":"c5e49757-2618"},{"uid":"c5e49757-2620"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2528"},{"uid":"c5e49757-2624"},{"uid":"c5e49757-2564"},{"uid":"c5e49757-2462"},{"uid":"c5e49757-2626"},{"uid":"c5e49757-2526"}],"importedBy":[{"uid":"c5e49757-2634"}]},"c5e49757-2630":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/svg/domapi.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2631"},"imported":[],"importedBy":[{"uid":"c5e49757-2632"}]},"c5e49757-2632":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/svg/patch.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2633"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2620"},{"uid":"c5e49757-2630"}],"importedBy":[{"uid":"c5e49757-2634"}]},"c5e49757-2634":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/svg/Painter.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2635"},"imported":[{"uid":"c5e49757-2628"},{"uid":"c5e49757-2620"},{"uid":"c5e49757-2508"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2632"},{"uid":"c5e49757-2608"}],"importedBy":[{"uid":"c5e49757-6580"}]},"c5e49757-2636":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/canvas/Layer.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2637"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2516"},{"uid":"c5e49757-2470"},{"uid":"c5e49757-2608"},{"uid":"c5e49757-2612"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-2490"},{"uid":"c5e49757-2462"}],"importedBy":[{"uid":"c5e49757-2638"}]},"c5e49757-2638":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/canvas/Painter.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2639"},"imported":[{"uid":"c5e49757-2516"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2636"},{"uid":"c5e49757-2494"},{"uid":"c5e49757-2460"},{"uid":"c5e49757-2612"},{"uid":"c5e49757-2490"},{"uid":"c5e49757-2608"}],"importedBy":[{"uid":"c5e49757-6582"}]},"c5e49757-2640":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/tool/parseXML.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2641"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6714"},{"uid":"c5e49757-2642"}]},"c5e49757-2642":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/tool/parseSVG.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2643"},"imported":[{"uid":"c5e49757-2524"},{"uid":"c5e49757-2556"},{"uid":"c5e49757-2570"},{"uid":"c5e49757-2562"},{"uid":"c5e49757-2572"},{"uid":"c5e49757-2588"},{"uid":"c5e49757-2584"},{"uid":"c5e49757-2586"},{"uid":"c5e49757-2480"},{"uid":"c5e49757-2568"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2598"},{"uid":"c5e49757-2600"},{"uid":"c5e49757-2554"},{"uid":"c5e49757-2640"}],"importedBy":[{"uid":"c5e49757-6714"}]},"c5e49757-2644":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/tool/convertPath.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2645"},"imported":[{"uid":"c5e49757-2498"},{"uid":"c5e49757-2536"}],"importedBy":[{"uid":"c5e49757-2648"},{"uid":"c5e49757-2646"}]},"c5e49757-2646":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/tool/dividePath.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2647"},"imported":[{"uid":"c5e49757-2534"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-2482"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2584"},{"uid":"c5e49757-2562"},{"uid":"c5e49757-2576"},{"uid":"c5e49757-2644"},{"uid":"c5e49757-2568"}],"importedBy":[{"uid":"c5e49757-2648"}]},"c5e49757-2648":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/zrender/lib/tool/morphPath.js","moduleParts":{"assets/js/zrender-CpbH5vNn.js":"c5e49757-2649"},"imported":[{"uid":"c5e49757-2498"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2466"},{"uid":"c5e49757-2568"},{"uid":"c5e49757-2518"},{"uid":"c5e49757-2646"},{"uid":"c5e49757-2644"}],"importedBy":[{"uid":"c5e49757-7280"}]},"c5e49757-2650":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.object.to-string.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2651"},"imported":[],"importedBy":[{"uid":"c5e49757-2758"}]},"c5e49757-2652":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/global.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2653"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-3050"},{"uid":"c5e49757-3106"},{"uid":"c5e49757-3124"},{"uid":"c5e49757-2874"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2942"},{"uid":"c5e49757-2688"},{"uid":"c5e49757-2682"},{"uid":"c5e49757-2808"},{"uid":"c5e49757-2950"},{"uid":"c5e49757-2746"},{"uid":"c5e49757-3100"},{"uid":"c5e49757-2658"},{"uid":"c5e49757-2846"},{"uid":"c5e49757-2856"},{"uid":"c5e49757-2862"},{"uid":"c5e49757-2868"},{"uid":"c5e49757-2710"},{"uid":"c5e49757-2960"},{"uid":"c5e49757-2962"},{"uid":"c5e49757-2684"},{"uid":"c5e49757-2700"},{"uid":"c5e49757-2736"},{"uid":"c5e49757-2660"},{"uid":"c5e49757-3144"},{"uid":"c5e49757-2848"}]},"c5e49757-2654":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/shared-store.js?commonjs-module","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2655"},"imported":[],"importedBy":[{"uid":"c5e49757-2660"}]},"c5e49757-2656":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/is-pure.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2657"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-2994"},{"uid":"c5e49757-3022"},{"uid":"c5e49757-3106"},{"uid":"c5e49757-3120"},{"uid":"c5e49757-2874"},{"uid":"c5e49757-2898"},{"uid":"c5e49757-2912"},{"uid":"c5e49757-3088"},{"uid":"c5e49757-2868"},{"uid":"c5e49757-2660"},{"uid":"c5e49757-3084"}]},"c5e49757-2658":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/define-global-property.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2659"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2652"}],"importedBy":[{"uid":"c5e49757-2750"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2660"}]},"c5e49757-2660":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/shared-store.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2661"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2654"},{"uid":"c5e49757-2656"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-2658"}],"importedBy":[{"uid":"c5e49757-2746"},{"uid":"c5e49757-2662"},{"uid":"c5e49757-2734"}]},"c5e49757-2662":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/shared.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2663"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2660"}],"importedBy":[{"uid":"c5e49757-2964"},{"uid":"c5e49757-2688"},{"uid":"c5e49757-2742"}]},"c5e49757-2664":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/fails.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2665"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-2984"},{"uid":"c5e49757-3008"},{"uid":"c5e49757-3026"},{"uid":"c5e49757-3064"},{"uid":"c5e49757-3106"},{"uid":"c5e49757-3118"},{"uid":"c5e49757-3156"},{"uid":"c5e49757-2930"},{"uid":"c5e49757-2942"},{"uid":"c5e49757-2970"},{"uid":"c5e49757-2770"},{"uid":"c5e49757-2998"},{"uid":"c5e49757-2950"},{"uid":"c5e49757-2696"},{"uid":"c5e49757-3034"},{"uid":"c5e49757-2804"},{"uid":"c5e49757-3080"},{"uid":"c5e49757-2748"},{"uid":"c5e49757-2846"},{"uid":"c5e49757-2702"},{"uid":"c5e49757-2960"},{"uid":"c5e49757-2962"},{"uid":"c5e49757-2666"},{"uid":"c5e49757-2684"},{"uid":"c5e49757-2826"},{"uid":"c5e49757-3084"},{"uid":"c5e49757-2704"},{"uid":"c5e49757-3144"},{"uid":"c5e49757-3138"},{"uid":"c5e49757-3140"},{"uid":"c5e49757-3136"}]},"c5e49757-2666":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/function-bind-native.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2667"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2664"}],"importedBy":[{"uid":"c5e49757-2708"},{"uid":"c5e49757-2832"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2836"}]},"c5e49757-2668":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/function-uncurry-this.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2669"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2666"}],"importedBy":[{"uid":"c5e49757-2984"},{"uid":"c5e49757-3000"},{"uid":"c5e49757-3026"},{"uid":"c5e49757-3030"},{"uid":"c5e49757-3076"},{"uid":"c5e49757-3096"},{"uid":"c5e49757-3106"},{"uid":"c5e49757-2928"},{"uid":"c5e49757-2942"},{"uid":"c5e49757-2964"},{"uid":"c5e49757-2982"},{"uid":"c5e49757-2834"},{"uid":"c5e49757-2770"},{"uid":"c5e49757-2940"},{"uid":"c5e49757-2972"},{"uid":"c5e49757-2676"},{"uid":"c5e49757-2712"},{"uid":"c5e49757-3104"},{"uid":"c5e49757-2748"},{"uid":"c5e49757-2752"},{"uid":"c5e49757-2678"},{"uid":"c5e49757-2826"},{"uid":"c5e49757-2790"},{"uid":"c5e49757-3144"},{"uid":"c5e49757-2734"},{"uid":"c5e49757-2810"},{"uid":"c5e49757-2840"},{"uid":"c5e49757-2800"},{"uid":"c5e49757-3142"}]},"c5e49757-2670":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/is-null-or-undefined.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2671"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-2978"},{"uid":"c5e49757-2984"},{"uid":"c5e49757-3026"},{"uid":"c5e49757-2672"},{"uid":"c5e49757-2720"},{"uid":"c5e49757-2830"},{"uid":"c5e49757-2882"},{"uid":"c5e49757-3144"},{"uid":"c5e49757-3148"}]},"c5e49757-2672":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/require-object-coercible.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2673"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2670"}],"importedBy":[{"uid":"c5e49757-2978"},{"uid":"c5e49757-2984"},{"uid":"c5e49757-2994"},{"uid":"c5e49757-3022"},{"uid":"c5e49757-3026"},{"uid":"c5e49757-3076"},{"uid":"c5e49757-2772"},{"uid":"c5e49757-2674"},{"uid":"c5e49757-2940"},{"uid":"c5e49757-2972"},{"uid":"c5e49757-2816"}]},"c5e49757-2674":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/to-object.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2675"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2672"}],"importedBy":[{"uid":"c5e49757-3008"},{"uid":"c5e49757-2928"},{"uid":"c5e49757-2982"},{"uid":"c5e49757-3016"},{"uid":"c5e49757-3056"},{"uid":"c5e49757-2676"},{"uid":"c5e49757-3110"},{"uid":"c5e49757-3082"}]},"c5e49757-2676":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/has-own-property.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2677"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2674"}],"importedBy":[{"uid":"c5e49757-3106"},{"uid":"c5e49757-2774"},{"uid":"c5e49757-2688"},{"uid":"c5e49757-2732"},{"uid":"c5e49757-2746"},{"uid":"c5e49757-3116"},{"uid":"c5e49757-2818"},{"uid":"c5e49757-3082"},{"uid":"c5e49757-2748"},{"uid":"c5e49757-2846"},{"uid":"c5e49757-2802"},{"uid":"c5e49757-2790"},{"uid":"c5e49757-3142"}]},"c5e49757-2678":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/uid.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2679"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2668"}],"importedBy":[{"uid":"c5e49757-2688"},{"uid":"c5e49757-2742"},{"uid":"c5e49757-3142"}]},"c5e49757-2680":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/engine-user-agent.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2681"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-2682"},{"uid":"c5e49757-2844"},{"uid":"c5e49757-2852"},{"uid":"c5e49757-2854"}]},"c5e49757-2682":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/engine-v8-version.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2683"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-2680"}],"importedBy":[{"uid":"c5e49757-3008"},{"uid":"c5e49757-3018"},{"uid":"c5e49757-2930"},{"uid":"c5e49757-2868"},{"uid":"c5e49757-2684"}]},"c5e49757-2684":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/symbol-constructor-detection.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2685"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2682"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2652"}],"importedBy":[{"uid":"c5e49757-2688"},{"uid":"c5e49757-2686"}]},"c5e49757-2686":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/use-symbol-as-uid.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2687"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2684"}],"importedBy":[{"uid":"c5e49757-2688"},{"uid":"c5e49757-2714"}]},"c5e49757-2688":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/well-known-symbol.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2689"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-2662"},{"uid":"c5e49757-2676"},{"uid":"c5e49757-2678"},{"uid":"c5e49757-2684"},{"uid":"c5e49757-2686"}],"importedBy":[{"uid":"c5e49757-2984"},{"uid":"c5e49757-3008"},{"uid":"c5e49757-3124"},{"uid":"c5e49757-2690"},{"uid":"c5e49757-2930"},{"uid":"c5e49757-2970"},{"uid":"c5e49757-2992"},{"uid":"c5e49757-2830"},{"uid":"c5e49757-2890"},{"uid":"c5e49757-3062"},{"uid":"c5e49757-3088"},{"uid":"c5e49757-2724"},{"uid":"c5e49757-2818"},{"uid":"c5e49757-2754"},{"uid":"c5e49757-2822"},{"uid":"c5e49757-2868"},{"uid":"c5e49757-2988"},{"uid":"c5e49757-2924"},{"uid":"c5e49757-2880"},{"uid":"c5e49757-2882"},{"uid":"c5e49757-3084"}]},"c5e49757-2690":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/to-string-tag-support.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2691"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2688"}],"importedBy":[{"uid":"c5e49757-2758"},{"uid":"c5e49757-2756"},{"uid":"c5e49757-2754"}]},"c5e49757-2692":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/is-callable.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2693"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-2984"},{"uid":"c5e49757-2750"},{"uid":"c5e49757-2874"},{"uid":"c5e49757-2898"},{"uid":"c5e49757-2976"},{"uid":"c5e49757-2698"},{"uid":"c5e49757-3088"},{"uid":"c5e49757-2804"},{"uid":"c5e49757-3102"},{"uid":"c5e49757-2714"},{"uid":"c5e49757-2718"},{"uid":"c5e49757-3082"},{"uid":"c5e49757-2748"},{"uid":"c5e49757-2754"},{"uid":"c5e49757-2846"},{"uid":"c5e49757-2868"},{"uid":"c5e49757-2710"},{"uid":"c5e49757-2826"},{"uid":"c5e49757-2736"},{"uid":"c5e49757-3084"},{"uid":"c5e49757-2722"},{"uid":"c5e49757-3144"},{"uid":"c5e49757-2734"}]},"c5e49757-2694":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-define-property.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2695"},"imported":[],"importedBy":[{"uid":"c5e49757-2728"}]},"c5e49757-2696":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/descriptors.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2697"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2664"}],"importedBy":[{"uid":"c5e49757-3030"},{"uid":"c5e49757-3106"},{"uid":"c5e49757-3120"},{"uid":"c5e49757-2774"},{"uid":"c5e49757-3006"},{"uid":"c5e49757-2732"},{"uid":"c5e49757-2740"},{"uid":"c5e49757-2728"},{"uid":"c5e49757-2748"},{"uid":"c5e49757-2822"},{"uid":"c5e49757-2702"},{"uid":"c5e49757-2704"},{"uid":"c5e49757-3148"},{"uid":"c5e49757-2848"},{"uid":"c5e49757-2956"}]},"c5e49757-2698":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/is-object.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2699"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2692"}],"importedBy":[{"uid":"c5e49757-3008"},{"uid":"c5e49757-2874"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2746"},{"uid":"c5e49757-3102"},{"uid":"c5e49757-2724"},{"uid":"c5e49757-2816"},{"uid":"c5e49757-2910"},{"uid":"c5e49757-2988"},{"uid":"c5e49757-2924"},{"uid":"c5e49757-2700"},{"uid":"c5e49757-3084"},{"uid":"c5e49757-2722"},{"uid":"c5e49757-3144"},{"uid":"c5e49757-3142"},{"uid":"c5e49757-2812"},{"uid":"c5e49757-3138"}]},"c5e49757-2700":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/document-create-element.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2701"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-2698"}],"importedBy":[{"uid":"c5e49757-3048"},{"uid":"c5e49757-2846"},{"uid":"c5e49757-2702"},{"uid":"c5e49757-2958"}]},"c5e49757-2702":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/ie8-dom-define.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2703"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2696"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2700"}],"importedBy":[{"uid":"c5e49757-2774"},{"uid":"c5e49757-2728"}]},"c5e49757-2704":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/v8-prototype-define-bug.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2705"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2696"},{"uid":"c5e49757-2664"}],"importedBy":[{"uid":"c5e49757-2728"},{"uid":"c5e49757-2956"}]},"c5e49757-2706":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/an-object.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2707"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2698"}],"importedBy":[{"uid":"c5e49757-2918"},{"uid":"c5e49757-2978"},{"uid":"c5e49757-2984"},{"uid":"c5e49757-3026"},{"uid":"c5e49757-3118"},{"uid":"c5e49757-3156"},{"uid":"c5e49757-3160"},{"uid":"c5e49757-2976"},{"uid":"c5e49757-2830"},{"uid":"c5e49757-2728"},{"uid":"c5e49757-2888"},{"uid":"c5e49757-2910"},{"uid":"c5e49757-2948"},{"uid":"c5e49757-2958"},{"uid":"c5e49757-3054"},{"uid":"c5e49757-2884"},{"uid":"c5e49757-2886"},{"uid":"c5e49757-2800"},{"uid":"c5e49757-2956"}]},"c5e49757-2708":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/function-call.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2709"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2666"}],"importedBy":[{"uid":"c5e49757-2978"},{"uid":"c5e49757-2984"},{"uid":"c5e49757-3026"},{"uid":"c5e49757-2874"},{"uid":"c5e49757-2894"},{"uid":"c5e49757-2902"},{"uid":"c5e49757-2774"},{"uid":"c5e49757-2964"},{"uid":"c5e49757-2970"},{"uid":"c5e49757-2976"},{"uid":"c5e49757-3056"},{"uid":"c5e49757-3088"},{"uid":"c5e49757-2724"},{"uid":"c5e49757-3116"},{"uid":"c5e49757-2888"},{"uid":"c5e49757-2884"},{"uid":"c5e49757-2722"},{"uid":"c5e49757-2886"}]},"c5e49757-2710":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/get-built-in.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2711"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-2692"}],"importedBy":[{"uid":"c5e49757-2898"},{"uid":"c5e49757-2912"},{"uid":"c5e49757-2714"},{"uid":"c5e49757-2822"},{"uid":"c5e49757-2826"},{"uid":"c5e49757-2838"},{"uid":"c5e49757-2800"}]},"c5e49757-2712":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-is-prototype-of.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2713"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2668"}],"importedBy":[{"uid":"c5e49757-3106"},{"uid":"c5e49757-2714"},{"uid":"c5e49757-3116"},{"uid":"c5e49757-2824"},{"uid":"c5e49757-2888"}]},"c5e49757-2714":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/is-symbol.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2715"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2710"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2712"},{"uid":"c5e49757-2686"}],"importedBy":[{"uid":"c5e49757-3106"},{"uid":"c5e49757-2724"},{"uid":"c5e49757-2726"}]},"c5e49757-2716":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/try-to-string.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2717"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-2718"},{"uid":"c5e49757-2888"},{"uid":"c5e49757-2828"},{"uid":"c5e49757-2884"}]},"c5e49757-2718":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/a-callable.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2719"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2716"}],"importedBy":[{"uid":"c5e49757-3156"},{"uid":"c5e49757-2874"},{"uid":"c5e49757-2894"},{"uid":"c5e49757-2902"},{"uid":"c5e49757-2720"},{"uid":"c5e49757-3016"},{"uid":"c5e49757-2872"},{"uid":"c5e49757-2836"},{"uid":"c5e49757-2884"},{"uid":"c5e49757-2810"}]},"c5e49757-2720":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/get-method.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2721"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2718"},{"uid":"c5e49757-2670"}],"importedBy":[{"uid":"c5e49757-2978"},{"uid":"c5e49757-2984"},{"uid":"c5e49757-3026"},{"uid":"c5e49757-2724"},{"uid":"c5e49757-2882"},{"uid":"c5e49757-2886"}]},"c5e49757-2722":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/ordinary-to-primitive.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2723"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2698"}],"importedBy":[{"uid":"c5e49757-2724"}]},"c5e49757-2724":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/to-primitive.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2725"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2698"},{"uid":"c5e49757-2714"},{"uid":"c5e49757-2720"},{"uid":"c5e49757-2722"},{"uid":"c5e49757-2688"}],"importedBy":[{"uid":"c5e49757-3106"},{"uid":"c5e49757-2726"}]},"c5e49757-2726":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/to-property-key.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2727"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2724"},{"uid":"c5e49757-2714"}],"importedBy":[{"uid":"c5e49757-2774"},{"uid":"c5e49757-2728"}]},"c5e49757-2728":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-define-property.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2729"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2694"},{"uid":"c5e49757-2696"},{"uid":"c5e49757-2702"},{"uid":"c5e49757-2704"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2726"}],"importedBy":[{"uid":"c5e49757-3106"},{"uid":"c5e49757-3120"},{"uid":"c5e49757-2750"},{"uid":"c5e49757-3006"},{"uid":"c5e49757-2820"},{"uid":"c5e49757-2740"},{"uid":"c5e49757-3062"},{"uid":"c5e49757-2818"},{"uid":"c5e49757-2802"},{"uid":"c5e49757-2956"},{"uid":"c5e49757-3142"}]},"c5e49757-2730":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/make-built-in.js?commonjs-module","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2731"},"imported":[],"importedBy":[{"uid":"c5e49757-2748"}]},"c5e49757-2732":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/function-name.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2733"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2696"},{"uid":"c5e49757-2676"}],"importedBy":[{"uid":"c5e49757-3030"},{"uid":"c5e49757-3118"},{"uid":"c5e49757-3034"},{"uid":"c5e49757-3088"},{"uid":"c5e49757-2748"}]},"c5e49757-2734":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/inspect-source.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2735"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2660"}],"importedBy":[{"uid":"c5e49757-2748"},{"uid":"c5e49757-2868"},{"uid":"c5e49757-2826"}]},"c5e49757-2736":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/weak-map-basic-detection.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2737"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-2692"}],"importedBy":[{"uid":"c5e49757-2746"}]},"c5e49757-2738":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/create-property-descriptor.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2739"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-2774"},{"uid":"c5e49757-3006"},{"uid":"c5e49757-2740"},{"uid":"c5e49757-3086"}]},"c5e49757-2740":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/create-non-enumerable-property.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2741"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2696"},{"uid":"c5e49757-2728"},{"uid":"c5e49757-2738"}],"importedBy":[{"uid":"c5e49757-3050"},{"uid":"c5e49757-3124"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2970"},{"uid":"c5e49757-2746"},{"uid":"c5e49757-3088"}]},"c5e49757-2742":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/shared-key.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2743"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2662"},{"uid":"c5e49757-2678"}],"importedBy":[{"uid":"c5e49757-2746"},{"uid":"c5e49757-3082"},{"uid":"c5e49757-2958"}]},"c5e49757-2744":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/hidden-keys.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2745"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-2746"},{"uid":"c5e49757-2958"},{"uid":"c5e49757-2790"},{"uid":"c5e49757-3142"}]},"c5e49757-2746":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/internal-state.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2747"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2736"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-2698"},{"uid":"c5e49757-2740"},{"uid":"c5e49757-2676"},{"uid":"c5e49757-2660"},{"uid":"c5e49757-2742"},{"uid":"c5e49757-2744"}],"importedBy":[{"uid":"c5e49757-3092"},{"uid":"c5e49757-3120"},{"uid":"c5e49757-2874"},{"uid":"c5e49757-2964"},{"uid":"c5e49757-2748"},{"uid":"c5e49757-3148"}]},"c5e49757-2748":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/make-built-in.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2749"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2730"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2676"},{"uid":"c5e49757-2696"},{"uid":"c5e49757-2732"},{"uid":"c5e49757-2734"},{"uid":"c5e49757-2746"}],"importedBy":[{"uid":"c5e49757-2750"},{"uid":"c5e49757-2820"}]},"c5e49757-2750":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/define-built-in.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2751"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2728"},{"uid":"c5e49757-2748"},{"uid":"c5e49757-2658"}],"importedBy":[{"uid":"c5e49757-2758"},{"uid":"c5e49757-3118"},{"uid":"c5e49757-2874"},{"uid":"c5e49757-2898"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2970"},{"uid":"c5e49757-3088"},{"uid":"c5e49757-3084"},{"uid":"c5e49757-3144"},{"uid":"c5e49757-3146"}]},"c5e49757-2752":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/classof-raw.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2753"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2668"}],"importedBy":[{"uid":"c5e49757-2976"},{"uid":"c5e49757-2834"},{"uid":"c5e49757-2770"},{"uid":"c5e49757-2922"},{"uid":"c5e49757-2808"},{"uid":"c5e49757-2754"},{"uid":"c5e49757-2988"},{"uid":"c5e49757-3134"},{"uid":"c5e49757-3138"}]},"c5e49757-2754":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/classof.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2755"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2690"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2752"},{"uid":"c5e49757-2688"}],"importedBy":[{"uid":"c5e49757-2756"},{"uid":"c5e49757-2936"},{"uid":"c5e49757-2826"},{"uid":"c5e49757-2882"}]},"c5e49757-2756":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-to-string.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2757"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2690"},{"uid":"c5e49757-2754"}],"importedBy":[{"uid":"c5e49757-2758"}]},"c5e49757-2758":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.object.to-string.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2759"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2650"},{"uid":"c5e49757-2690"},{"uid":"c5e49757-2750"},{"uid":"c5e49757-2756"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-2760":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.promise.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2761"},"imported":[],"importedBy":[{"uid":"c5e49757-2914"}]},"c5e49757-2762":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.promise.constructor.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2763"},"imported":[],"importedBy":[{"uid":"c5e49757-2874"}]},"c5e49757-2764":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-get-own-property-descriptor.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2765"},"imported":[],"importedBy":[{"uid":"c5e49757-2774"}]},"c5e49757-2766":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-property-is-enumerable.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2767"},"imported":[],"importedBy":[{"uid":"c5e49757-2768"}]},"c5e49757-2768":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-property-is-enumerable.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2769"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2766"}],"importedBy":[{"uid":"c5e49757-2774"}]},"c5e49757-2770":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/indexed-object.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2771"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2752"}],"importedBy":[{"uid":"c5e49757-3000"},{"uid":"c5e49757-2928"},{"uid":"c5e49757-2772"},{"uid":"c5e49757-3016"}]},"c5e49757-2772":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/to-indexed-object.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2773"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2770"},{"uid":"c5e49757-2672"}],"importedBy":[{"uid":"c5e49757-3000"},{"uid":"c5e49757-3120"},{"uid":"c5e49757-2774"},{"uid":"c5e49757-2788"},{"uid":"c5e49757-2790"},{"uid":"c5e49757-2956"},{"uid":"c5e49757-3134"}]},"c5e49757-2774":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-get-own-property-descriptor.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2775"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2764"},{"uid":"c5e49757-2696"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2768"},{"uid":"c5e49757-2738"},{"uid":"c5e49757-2772"},{"uid":"c5e49757-2726"},{"uid":"c5e49757-2676"},{"uid":"c5e49757-2702"}],"importedBy":[{"uid":"c5e49757-2918"},{"uid":"c5e49757-2994"},{"uid":"c5e49757-3022"},{"uid":"c5e49757-3106"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2802"}]},"c5e49757-2776":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-get-own-property-names.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2777"},"imported":[],"importedBy":[{"uid":"c5e49757-2794"}]},"c5e49757-2778":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/math-trunc.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2779"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-2780"}]},"c5e49757-2780":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/to-integer-or-infinity.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2781"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2778"}],"importedBy":[{"uid":"c5e49757-2984"},{"uid":"c5e49757-2784"},{"uid":"c5e49757-2972"},{"uid":"c5e49757-2782"}]},"c5e49757-2782":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/to-absolute-index.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2783"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2780"}],"importedBy":[{"uid":"c5e49757-2788"},{"uid":"c5e49757-3110"}]},"c5e49757-2784":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/to-length.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2785"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2780"}],"importedBy":[{"uid":"c5e49757-2978"},{"uid":"c5e49757-2984"},{"uid":"c5e49757-2994"},{"uid":"c5e49757-3022"},{"uid":"c5e49757-3026"},{"uid":"c5e49757-2786"}]},"c5e49757-2786":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/length-of-array-like.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2787"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2784"}],"importedBy":[{"uid":"c5e49757-3008"},{"uid":"c5e49757-2928"},{"uid":"c5e49757-3016"},{"uid":"c5e49757-3056"},{"uid":"c5e49757-2788"},{"uid":"c5e49757-3110"},{"uid":"c5e49757-2888"}]},"c5e49757-2788":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/array-includes.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2789"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2772"},{"uid":"c5e49757-2782"},{"uid":"c5e49757-2786"}],"importedBy":[{"uid":"c5e49757-3064"},{"uid":"c5e49757-3068"},{"uid":"c5e49757-2790"}]},"c5e49757-2790":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-keys-internal.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2791"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2676"},{"uid":"c5e49757-2772"},{"uid":"c5e49757-2788"},{"uid":"c5e49757-2744"}],"importedBy":[{"uid":"c5e49757-2794"},{"uid":"c5e49757-2954"}]},"c5e49757-2792":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/enum-bug-keys.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2793"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-2794"},{"uid":"c5e49757-2958"},{"uid":"c5e49757-2954"}]},"c5e49757-2794":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-get-own-property-names.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2795"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2776"},{"uid":"c5e49757-2790"},{"uid":"c5e49757-2792"}],"importedBy":[{"uid":"c5e49757-3106"},{"uid":"c5e49757-2800"},{"uid":"c5e49757-3142"},{"uid":"c5e49757-3134"}]},"c5e49757-2796":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-get-own-property-symbols.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2797"},"imported":[],"importedBy":[{"uid":"c5e49757-2798"}]},"c5e49757-2798":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-get-own-property-symbols.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2799"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2796"}],"importedBy":[{"uid":"c5e49757-2800"}]},"c5e49757-2800":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/own-keys.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2801"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2710"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2794"},{"uid":"c5e49757-2798"},{"uid":"c5e49757-2706"}],"importedBy":[{"uid":"c5e49757-2802"}]},"c5e49757-2802":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/copy-constructor-properties.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2803"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2676"},{"uid":"c5e49757-2800"},{"uid":"c5e49757-2774"},{"uid":"c5e49757-2728"}],"importedBy":[{"uid":"c5e49757-2806"}]},"c5e49757-2804":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/is-forced.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2805"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2692"}],"importedBy":[{"uid":"c5e49757-3106"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2868"},{"uid":"c5e49757-3144"}]},"c5e49757-2806":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/export.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2807"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-2774"},{"uid":"c5e49757-2740"},{"uid":"c5e49757-2750"},{"uid":"c5e49757-2658"},{"uid":"c5e49757-2802"},{"uid":"c5e49757-2804"}],"importedBy":[{"uid":"c5e49757-2918"},{"uid":"c5e49757-2932"},{"uid":"c5e49757-2944"},{"uid":"c5e49757-2966"},{"uid":"c5e49757-2994"},{"uid":"c5e49757-3000"},{"uid":"c5e49757-3008"},{"uid":"c5e49757-3012"},{"uid":"c5e49757-3018"},{"uid":"c5e49757-3022"},{"uid":"c5e49757-3036"},{"uid":"c5e49757-3042"},{"uid":"c5e49757-3058"},{"uid":"c5e49757-3064"},{"uid":"c5e49757-3068"},{"uid":"c5e49757-3072"},{"uid":"c5e49757-3076"},{"uid":"c5e49757-3096"},{"uid":"c5e49757-3106"},{"uid":"c5e49757-3112"},{"uid":"c5e49757-3156"},{"uid":"c5e49757-3160"},{"uid":"c5e49757-2874"},{"uid":"c5e49757-2894"},{"uid":"c5e49757-2898"},{"uid":"c5e49757-2902"},{"uid":"c5e49757-2906"},{"uid":"c5e49757-2912"},{"uid":"c5e49757-3088"},{"uid":"c5e49757-3144"},{"uid":"c5e49757-3142"}]},"c5e49757-2808":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/engine-is-node.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2809"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-2752"}],"importedBy":[{"uid":"c5e49757-3018"},{"uid":"c5e49757-2874"},{"uid":"c5e49757-2846"},{"uid":"c5e49757-2856"},{"uid":"c5e49757-2866"}]},"c5e49757-2810":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/function-uncurry-this-accessor.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2811"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2718"}],"importedBy":[{"uid":"c5e49757-2816"}]},"c5e49757-2812":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/is-possible-prototype.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2813"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2698"}],"importedBy":[{"uid":"c5e49757-2814"}]},"c5e49757-2814":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/a-possible-prototype.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2815"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2812"}],"importedBy":[{"uid":"c5e49757-2816"}]},"c5e49757-2816":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-set-prototype-of.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2817"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2810"},{"uid":"c5e49757-2698"},{"uid":"c5e49757-2672"},{"uid":"c5e49757-2814"}],"importedBy":[{"uid":"c5e49757-2874"},{"uid":"c5e49757-3088"},{"uid":"c5e49757-3102"}]},"c5e49757-2818":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/set-to-string-tag.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2819"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2728"},{"uid":"c5e49757-2676"},{"uid":"c5e49757-2688"}],"importedBy":[{"uid":"c5e49757-3124"},{"uid":"c5e49757-2874"},{"uid":"c5e49757-3088"},{"uid":"c5e49757-3086"},{"uid":"c5e49757-3144"}]},"c5e49757-2820":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/define-built-in-accessor.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2821"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2748"},{"uid":"c5e49757-2728"}],"importedBy":[{"uid":"c5e49757-3030"},{"uid":"c5e49757-2822"},{"uid":"c5e49757-3148"}]},"c5e49757-2822":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/set-species.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2823"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2710"},{"uid":"c5e49757-2820"},{"uid":"c5e49757-2688"},{"uid":"c5e49757-2696"}],"importedBy":[{"uid":"c5e49757-2874"},{"uid":"c5e49757-3148"}]},"c5e49757-2824":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/an-instance.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2825"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2712"}],"importedBy":[{"uid":"c5e49757-2874"},{"uid":"c5e49757-3144"},{"uid":"c5e49757-3148"}]},"c5e49757-2826":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/is-constructor.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2827"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2754"},{"uid":"c5e49757-2710"},{"uid":"c5e49757-2734"}],"importedBy":[{"uid":"c5e49757-3056"},{"uid":"c5e49757-2924"},{"uid":"c5e49757-2828"}]},"c5e49757-2828":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/a-constructor.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2829"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2826"},{"uid":"c5e49757-2716"}],"importedBy":[{"uid":"c5e49757-2830"}]},"c5e49757-2830":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/species-constructor.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2831"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2828"},{"uid":"c5e49757-2670"},{"uid":"c5e49757-2688"}],"importedBy":[{"uid":"c5e49757-3026"},{"uid":"c5e49757-2874"}]},"c5e49757-2832":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/function-apply.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2833"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2666"}],"importedBy":[{"uid":"c5e49757-2984"},{"uid":"c5e49757-3156"},{"uid":"c5e49757-2846"}]},"c5e49757-2834":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/function-uncurry-this-clause.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2835"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2752"},{"uid":"c5e49757-2668"}],"importedBy":[{"uid":"c5e49757-2994"},{"uid":"c5e49757-3022"},{"uid":"c5e49757-3068"},{"uid":"c5e49757-2836"}]},"c5e49757-2836":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/function-bind-context.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2837"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2834"},{"uid":"c5e49757-2718"},{"uid":"c5e49757-2666"}],"importedBy":[{"uid":"c5e49757-2928"},{"uid":"c5e49757-3056"},{"uid":"c5e49757-2846"},{"uid":"c5e49757-2856"},{"uid":"c5e49757-2888"},{"uid":"c5e49757-3148"}]},"c5e49757-2838":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/html.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2839"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2710"}],"importedBy":[{"uid":"c5e49757-2846"},{"uid":"c5e49757-2958"}]},"c5e49757-2840":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/array-slice.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2841"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2668"}],"importedBy":[{"uid":"c5e49757-2846"},{"uid":"c5e49757-3134"}]},"c5e49757-2842":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/validate-arguments-length.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2843"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-2846"}]},"c5e49757-2844":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/engine-is-ios.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2845"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2680"}],"importedBy":[{"uid":"c5e49757-2846"},{"uid":"c5e49757-2856"}]},"c5e49757-2846":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/task.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2847"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-2832"},{"uid":"c5e49757-2836"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2676"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2838"},{"uid":"c5e49757-2840"},{"uid":"c5e49757-2700"},{"uid":"c5e49757-2842"},{"uid":"c5e49757-2844"},{"uid":"c5e49757-2808"}],"importedBy":[{"uid":"c5e49757-2874"},{"uid":"c5e49757-2856"}]},"c5e49757-2848":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/safe-get-built-in.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2849"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-2696"}],"importedBy":[{"uid":"c5e49757-2856"}]},"c5e49757-2850":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/queue.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2851"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-2874"},{"uid":"c5e49757-2856"}]},"c5e49757-2852":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/engine-is-ios-pebble.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2853"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2680"}],"importedBy":[{"uid":"c5e49757-2856"}]},"c5e49757-2854":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/engine-is-webos-webkit.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2855"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2680"}],"importedBy":[{"uid":"c5e49757-2856"}]},"c5e49757-2856":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/microtask.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2857"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-2848"},{"uid":"c5e49757-2836"},{"uid":"c5e49757-2846"},{"uid":"c5e49757-2850"},{"uid":"c5e49757-2844"},{"uid":"c5e49757-2852"},{"uid":"c5e49757-2854"},{"uid":"c5e49757-2808"}],"importedBy":[{"uid":"c5e49757-2874"}]},"c5e49757-2858":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/host-report-errors.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2859"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-2874"}]},"c5e49757-2860":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/perform.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2861"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-2874"},{"uid":"c5e49757-2894"},{"uid":"c5e49757-2902"}]},"c5e49757-2862":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/promise-native-constructor.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2863"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2652"}],"importedBy":[{"uid":"c5e49757-2874"},{"uid":"c5e49757-2898"},{"uid":"c5e49757-2912"},{"uid":"c5e49757-2868"},{"uid":"c5e49757-2892"}]},"c5e49757-2864":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/engine-is-deno.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2865"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-2868"},{"uid":"c5e49757-2866"}]},"c5e49757-2866":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/engine-is-browser.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2867"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2864"},{"uid":"c5e49757-2808"}],"importedBy":[{"uid":"c5e49757-2868"}]},"c5e49757-2868":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/promise-constructor-detection.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2869"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-2862"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2804"},{"uid":"c5e49757-2734"},{"uid":"c5e49757-2688"},{"uid":"c5e49757-2866"},{"uid":"c5e49757-2864"},{"uid":"c5e49757-2656"},{"uid":"c5e49757-2682"}],"importedBy":[{"uid":"c5e49757-2874"},{"uid":"c5e49757-2898"},{"uid":"c5e49757-2906"},{"uid":"c5e49757-2912"},{"uid":"c5e49757-2892"}]},"c5e49757-2870":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/new-promise-capability.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2871"},"imported":[],"importedBy":[{"uid":"c5e49757-2872"}]},"c5e49757-2872":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/new-promise-capability.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2873"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2870"},{"uid":"c5e49757-2718"}],"importedBy":[{"uid":"c5e49757-2874"},{"uid":"c5e49757-2894"},{"uid":"c5e49757-2902"},{"uid":"c5e49757-2906"},{"uid":"c5e49757-2910"}]},"c5e49757-2874":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.promise.constructor.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2875"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2762"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2656"},{"uid":"c5e49757-2808"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2750"},{"uid":"c5e49757-2816"},{"uid":"c5e49757-2818"},{"uid":"c5e49757-2822"},{"uid":"c5e49757-2718"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2698"},{"uid":"c5e49757-2824"},{"uid":"c5e49757-2830"},{"uid":"c5e49757-2846"},{"uid":"c5e49757-2856"},{"uid":"c5e49757-2858"},{"uid":"c5e49757-2860"},{"uid":"c5e49757-2850"},{"uid":"c5e49757-2746"},{"uid":"c5e49757-2862"},{"uid":"c5e49757-2868"},{"uid":"c5e49757-2872"}],"importedBy":[{"uid":"c5e49757-2914"}]},"c5e49757-2876":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.promise.all.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2877"},"imported":[],"importedBy":[{"uid":"c5e49757-2894"}]},"c5e49757-2878":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/iterators.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2879"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-3120"},{"uid":"c5e49757-3088"},{"uid":"c5e49757-2880"},{"uid":"c5e49757-2882"},{"uid":"c5e49757-3086"}]},"c5e49757-2880":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/is-array-iterator-method.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2881"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2688"},{"uid":"c5e49757-2878"}],"importedBy":[{"uid":"c5e49757-3056"},{"uid":"c5e49757-2888"}]},"c5e49757-2882":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/get-iterator-method.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2883"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2754"},{"uid":"c5e49757-2720"},{"uid":"c5e49757-2670"},{"uid":"c5e49757-2878"},{"uid":"c5e49757-2688"}],"importedBy":[{"uid":"c5e49757-3056"},{"uid":"c5e49757-2888"},{"uid":"c5e49757-2884"}]},"c5e49757-2884":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/get-iterator.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2885"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2718"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2716"},{"uid":"c5e49757-2882"}],"importedBy":[{"uid":"c5e49757-3056"},{"uid":"c5e49757-2888"}]},"c5e49757-2886":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/iterator-close.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2887"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2720"}],"importedBy":[{"uid":"c5e49757-2888"},{"uid":"c5e49757-3054"}]},"c5e49757-2888":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/iterate.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2889"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2836"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2716"},{"uid":"c5e49757-2880"},{"uid":"c5e49757-2786"},{"uid":"c5e49757-2712"},{"uid":"c5e49757-2884"},{"uid":"c5e49757-2882"},{"uid":"c5e49757-2886"}],"importedBy":[{"uid":"c5e49757-2894"},{"uid":"c5e49757-2902"},{"uid":"c5e49757-3144"},{"uid":"c5e49757-3148"}]},"c5e49757-2890":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/check-correctness-of-iteration.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2891"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2688"}],"importedBy":[{"uid":"c5e49757-3058"},{"uid":"c5e49757-2892"},{"uid":"c5e49757-3144"}]},"c5e49757-2892":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/promise-statics-incorrect-iteration.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2893"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2862"},{"uid":"c5e49757-2890"},{"uid":"c5e49757-2868"}],"importedBy":[{"uid":"c5e49757-2894"},{"uid":"c5e49757-2902"}]},"c5e49757-2894":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.promise.all.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2895"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2876"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2718"},{"uid":"c5e49757-2872"},{"uid":"c5e49757-2860"},{"uid":"c5e49757-2888"},{"uid":"c5e49757-2892"}],"importedBy":[{"uid":"c5e49757-2914"}]},"c5e49757-2896":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.promise.catch.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2897"},"imported":[],"importedBy":[{"uid":"c5e49757-2898"}]},"c5e49757-2898":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.promise.catch.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2899"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2896"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2656"},{"uid":"c5e49757-2868"},{"uid":"c5e49757-2862"},{"uid":"c5e49757-2710"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2750"}],"importedBy":[{"uid":"c5e49757-2914"}]},"c5e49757-2900":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.promise.race.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2901"},"imported":[],"importedBy":[{"uid":"c5e49757-2902"}]},"c5e49757-2902":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.promise.race.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2903"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2900"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2718"},{"uid":"c5e49757-2872"},{"uid":"c5e49757-2860"},{"uid":"c5e49757-2888"},{"uid":"c5e49757-2892"}],"importedBy":[{"uid":"c5e49757-2914"}]},"c5e49757-2904":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.promise.reject.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2905"},"imported":[],"importedBy":[{"uid":"c5e49757-2906"}]},"c5e49757-2906":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.promise.reject.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2907"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2904"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2872"},{"uid":"c5e49757-2868"}],"importedBy":[{"uid":"c5e49757-2914"}]},"c5e49757-2908":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.promise.resolve.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2909"},"imported":[],"importedBy":[{"uid":"c5e49757-2912"}]},"c5e49757-2910":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/promise-resolve.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2911"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2698"},{"uid":"c5e49757-2872"}],"importedBy":[{"uid":"c5e49757-2912"}]},"c5e49757-2912":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.promise.resolve.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2913"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2908"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2710"},{"uid":"c5e49757-2656"},{"uid":"c5e49757-2862"},{"uid":"c5e49757-2868"},{"uid":"c5e49757-2910"}],"importedBy":[{"uid":"c5e49757-2914"}]},"c5e49757-2914":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.promise.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2915"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2760"},{"uid":"c5e49757-2874"},{"uid":"c5e49757-2894"},{"uid":"c5e49757-2898"},{"uid":"c5e49757-2902"},{"uid":"c5e49757-2906"},{"uid":"c5e49757-2912"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-2916":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.reflect.delete-property.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2917"},"imported":[],"importedBy":[{"uid":"c5e49757-2918"}]},"c5e49757-2918":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.reflect.delete-property.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2919"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2916"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2774"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-2920":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.map.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2921"},"imported":[],"importedBy":[{"uid":"c5e49757-2932"}]},"c5e49757-2922":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/is-array.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2923"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2752"}],"importedBy":[{"uid":"c5e49757-3008"},{"uid":"c5e49757-3096"},{"uid":"c5e49757-2924"}]},"c5e49757-2924":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/array-species-constructor.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2925"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2922"},{"uid":"c5e49757-2826"},{"uid":"c5e49757-2698"},{"uid":"c5e49757-2688"}],"importedBy":[{"uid":"c5e49757-2926"}]},"c5e49757-2926":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/array-species-create.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2927"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2924"}],"importedBy":[{"uid":"c5e49757-3008"},{"uid":"c5e49757-2928"}]},"c5e49757-2928":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/array-iteration.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2929"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2836"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2770"},{"uid":"c5e49757-2674"},{"uid":"c5e49757-2786"},{"uid":"c5e49757-2926"}],"importedBy":[{"uid":"c5e49757-2932"},{"uid":"c5e49757-3012"},{"uid":"c5e49757-3072"},{"uid":"c5e49757-3040"}]},"c5e49757-2930":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/array-method-has-species-support.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2931"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2688"},{"uid":"c5e49757-2682"}],"importedBy":[{"uid":"c5e49757-2932"},{"uid":"c5e49757-3008"}]},"c5e49757-2932":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.map.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2933"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2920"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2928"},{"uid":"c5e49757-2930"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-2934":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.parse-float.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2935"},"imported":[],"importedBy":[{"uid":"c5e49757-2944"}]},"c5e49757-2936":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/to-string.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2937"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2754"}],"importedBy":[{"uid":"c5e49757-2978"},{"uid":"c5e49757-2984"},{"uid":"c5e49757-2994"},{"uid":"c5e49757-3022"},{"uid":"c5e49757-3026"},{"uid":"c5e49757-3076"},{"uid":"c5e49757-3092"},{"uid":"c5e49757-3118"},{"uid":"c5e49757-2942"},{"uid":"c5e49757-2964"},{"uid":"c5e49757-2940"},{"uid":"c5e49757-2972"}]},"c5e49757-2938":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/whitespaces.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2939"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-2942"},{"uid":"c5e49757-2940"},{"uid":"c5e49757-3034"}]},"c5e49757-2940":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/string-trim.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2941"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2672"},{"uid":"c5e49757-2936"},{"uid":"c5e49757-2938"}],"importedBy":[{"uid":"c5e49757-3036"},{"uid":"c5e49757-3106"},{"uid":"c5e49757-2942"}]},"c5e49757-2942":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/number-parse-float.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2943"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2936"},{"uid":"c5e49757-2940"},{"uid":"c5e49757-2938"}],"importedBy":[{"uid":"c5e49757-2944"}]},"c5e49757-2944":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.parse-float.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2945"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2934"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2942"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-2946":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.regexp.exec.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2947"},"imported":[],"importedBy":[{"uid":"c5e49757-2966"}]},"c5e49757-2948":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/regexp-flags.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2949"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2706"}],"importedBy":[{"uid":"c5e49757-2964"},{"uid":"c5e49757-3116"}]},"c5e49757-2950":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/regexp-sticky-helpers.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2951"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2652"}],"importedBy":[{"uid":"c5e49757-3026"},{"uid":"c5e49757-2964"}]},"c5e49757-2952":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-define-properties.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2953"},"imported":[],"importedBy":[{"uid":"c5e49757-2956"}]},"c5e49757-2954":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-keys.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2955"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2790"},{"uid":"c5e49757-2792"}],"importedBy":[{"uid":"c5e49757-2956"}]},"c5e49757-2956":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-define-properties.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2957"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2952"},{"uid":"c5e49757-2696"},{"uid":"c5e49757-2704"},{"uid":"c5e49757-2728"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2772"},{"uid":"c5e49757-2954"}],"importedBy":[{"uid":"c5e49757-2958"}]},"c5e49757-2958":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-create.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2959"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2956"},{"uid":"c5e49757-2792"},{"uid":"c5e49757-2744"},{"uid":"c5e49757-2838"},{"uid":"c5e49757-2700"},{"uid":"c5e49757-2742"}],"importedBy":[{"uid":"c5e49757-2964"},{"uid":"c5e49757-3062"},{"uid":"c5e49757-3086"},{"uid":"c5e49757-3084"},{"uid":"c5e49757-3148"}]},"c5e49757-2960":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/regexp-unsupported-dot-all.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2961"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2652"}],"importedBy":[{"uid":"c5e49757-2964"}]},"c5e49757-2962":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/regexp-unsupported-ncg.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2963"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2652"}],"importedBy":[{"uid":"c5e49757-2964"}]},"c5e49757-2964":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/regexp-exec.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2965"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2936"},{"uid":"c5e49757-2948"},{"uid":"c5e49757-2950"},{"uid":"c5e49757-2662"},{"uid":"c5e49757-2958"},{"uid":"c5e49757-2746"},{"uid":"c5e49757-2960"},{"uid":"c5e49757-2962"}],"importedBy":[{"uid":"c5e49757-2966"},{"uid":"c5e49757-2970"},{"uid":"c5e49757-2976"}]},"c5e49757-2966":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.regexp.exec.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2967"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2946"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2964"}],"importedBy":[{"uid":"c5e49757-3206"},{"uid":"c5e49757-2970"}]},"c5e49757-2968":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.string.match.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2969"},"imported":[],"importedBy":[{"uid":"c5e49757-2978"}]},"c5e49757-2970":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2971"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2966"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2750"},{"uid":"c5e49757-2964"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2688"},{"uid":"c5e49757-2740"}],"importedBy":[{"uid":"c5e49757-2978"},{"uid":"c5e49757-2984"},{"uid":"c5e49757-3026"}]},"c5e49757-2972":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/string-multibyte.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2973"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2780"},{"uid":"c5e49757-2936"},{"uid":"c5e49757-2672"}],"importedBy":[{"uid":"c5e49757-3092"},{"uid":"c5e49757-2974"}]},"c5e49757-2974":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/advance-string-index.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2975"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2972"}],"importedBy":[{"uid":"c5e49757-2978"},{"uid":"c5e49757-2984"},{"uid":"c5e49757-3026"}]},"c5e49757-2976":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/regexp-exec-abstract.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2977"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2752"},{"uid":"c5e49757-2964"}],"importedBy":[{"uid":"c5e49757-2978"},{"uid":"c5e49757-2984"},{"uid":"c5e49757-3026"}]},"c5e49757-2978":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.string.match.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2979"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2968"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2970"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2670"},{"uid":"c5e49757-2784"},{"uid":"c5e49757-2936"},{"uid":"c5e49757-2672"},{"uid":"c5e49757-2720"},{"uid":"c5e49757-2974"},{"uid":"c5e49757-2976"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-2980":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.string.replace.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2981"},"imported":[],"importedBy":[{"uid":"c5e49757-2984"}]},"c5e49757-2982":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/get-substitution.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2983"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2674"}],"importedBy":[{"uid":"c5e49757-2984"}]},"c5e49757-2984":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.string.replace.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2985"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2980"},{"uid":"c5e49757-2832"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2970"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2670"},{"uid":"c5e49757-2780"},{"uid":"c5e49757-2784"},{"uid":"c5e49757-2936"},{"uid":"c5e49757-2672"},{"uid":"c5e49757-2974"},{"uid":"c5e49757-2720"},{"uid":"c5e49757-2982"},{"uid":"c5e49757-2976"},{"uid":"c5e49757-2688"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-2986":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.string.starts-with.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2987"},"imported":[],"importedBy":[{"uid":"c5e49757-2994"}]},"c5e49757-2988":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/is-regexp.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2989"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2698"},{"uid":"c5e49757-2752"},{"uid":"c5e49757-2688"}],"importedBy":[{"uid":"c5e49757-2990"}]},"c5e49757-2990":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/not-a-regexp.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2991"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2988"}],"importedBy":[{"uid":"c5e49757-2994"},{"uid":"c5e49757-3022"},{"uid":"c5e49757-3076"}]},"c5e49757-2992":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/correct-is-regexp-logic.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2993"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2688"}],"importedBy":[{"uid":"c5e49757-2994"},{"uid":"c5e49757-3022"},{"uid":"c5e49757-3076"}]},"c5e49757-2994":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.string.starts-with.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2995"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2986"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2834"},{"uid":"c5e49757-2774"},{"uid":"c5e49757-2784"},{"uid":"c5e49757-2936"},{"uid":"c5e49757-2990"},{"uid":"c5e49757-2672"},{"uid":"c5e49757-2992"},{"uid":"c5e49757-2656"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-2996":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.join.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2997"},"imported":[],"importedBy":[{"uid":"c5e49757-3000"}]},"c5e49757-2998":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/array-method-is-strict.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-2999"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2664"}],"importedBy":[{"uid":"c5e49757-3000"},{"uid":"c5e49757-3012"},{"uid":"c5e49757-3018"},{"uid":"c5e49757-3068"},{"uid":"c5e49757-3072"},{"uid":"c5e49757-3040"}]},"c5e49757-3000":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.join.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3001"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2996"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2770"},{"uid":"c5e49757-2772"},{"uid":"c5e49757-2998"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3002":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.concat.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3003"},"imported":[],"importedBy":[{"uid":"c5e49757-3008"}]},"c5e49757-3004":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/does-not-exceed-safe-integer.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3005"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-3008"}]},"c5e49757-3006":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/create-property.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3007"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2696"},{"uid":"c5e49757-2728"},{"uid":"c5e49757-2738"}],"importedBy":[{"uid":"c5e49757-3008"},{"uid":"c5e49757-3056"}]},"c5e49757-3008":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.concat.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3009"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3002"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2922"},{"uid":"c5e49757-2698"},{"uid":"c5e49757-2674"},{"uid":"c5e49757-2786"},{"uid":"c5e49757-3004"},{"uid":"c5e49757-3006"},{"uid":"c5e49757-2926"},{"uid":"c5e49757-2930"},{"uid":"c5e49757-2688"},{"uid":"c5e49757-2682"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3010":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.every.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3011"},"imported":[],"importedBy":[{"uid":"c5e49757-3012"}]},"c5e49757-3012":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.every.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3013"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3010"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2928"},{"uid":"c5e49757-2998"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3014":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.reduce.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3015"},"imported":[],"importedBy":[{"uid":"c5e49757-3018"}]},"c5e49757-3016":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/array-reduce.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3017"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2718"},{"uid":"c5e49757-2674"},{"uid":"c5e49757-2770"},{"uid":"c5e49757-2786"}],"importedBy":[{"uid":"c5e49757-3018"}]},"c5e49757-3018":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.reduce.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3019"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3014"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-3016"},{"uid":"c5e49757-2998"},{"uid":"c5e49757-2682"},{"uid":"c5e49757-2808"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3020":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.string.ends-with.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3021"},"imported":[],"importedBy":[{"uid":"c5e49757-3022"}]},"c5e49757-3022":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.string.ends-with.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3023"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3020"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2834"},{"uid":"c5e49757-2774"},{"uid":"c5e49757-2784"},{"uid":"c5e49757-2936"},{"uid":"c5e49757-2990"},{"uid":"c5e49757-2672"},{"uid":"c5e49757-2992"},{"uid":"c5e49757-2656"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3024":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.string.split.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3025"},"imported":[],"importedBy":[{"uid":"c5e49757-3026"}]},"c5e49757-3026":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.string.split.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3027"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3024"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2970"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2670"},{"uid":"c5e49757-2672"},{"uid":"c5e49757-2830"},{"uid":"c5e49757-2974"},{"uid":"c5e49757-2784"},{"uid":"c5e49757-2936"},{"uid":"c5e49757-2720"},{"uid":"c5e49757-2976"},{"uid":"c5e49757-2950"},{"uid":"c5e49757-2664"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3028":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.function.name.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3029"},"imported":[],"importedBy":[{"uid":"c5e49757-3030"}]},"c5e49757-3030":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.function.name.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3031"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3028"},{"uid":"c5e49757-2696"},{"uid":"c5e49757-2732"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2820"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3032":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.string.trim.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3033"},"imported":[],"importedBy":[{"uid":"c5e49757-3036"}]},"c5e49757-3034":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/string-trim-forced.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3035"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2732"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2938"}],"importedBy":[{"uid":"c5e49757-3036"}]},"c5e49757-3036":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.string.trim.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3037"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3032"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2940"},{"uid":"c5e49757-3034"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3038":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.for-each.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3039"},"imported":[],"importedBy":[{"uid":"c5e49757-3042"}]},"c5e49757-3040":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/array-for-each.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3041"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2928"},{"uid":"c5e49757-2998"}],"importedBy":[{"uid":"c5e49757-3042"},{"uid":"c5e49757-3050"}]},"c5e49757-3042":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.for-each.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3043"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3038"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-3040"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3044":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/web.dom-collections.for-each.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3045"},"imported":[],"importedBy":[{"uid":"c5e49757-3050"}]},"c5e49757-3046":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/dom-iterables.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3047"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-3050"},{"uid":"c5e49757-3124"}]},"c5e49757-3048":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/dom-token-list-prototype.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3049"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2700"}],"importedBy":[{"uid":"c5e49757-3050"},{"uid":"c5e49757-3124"}]},"c5e49757-3050":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/web.dom-collections.for-each.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3051"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3044"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-3046"},{"uid":"c5e49757-3048"},{"uid":"c5e49757-3040"},{"uid":"c5e49757-2740"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3052":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.from.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3053"},"imported":[],"importedBy":[{"uid":"c5e49757-3058"}]},"c5e49757-3054":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/call-with-safe-iteration-closing.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3055"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2886"}],"importedBy":[{"uid":"c5e49757-3056"}]},"c5e49757-3056":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/array-from.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3057"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2836"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2674"},{"uid":"c5e49757-3054"},{"uid":"c5e49757-2880"},{"uid":"c5e49757-2826"},{"uid":"c5e49757-2786"},{"uid":"c5e49757-3006"},{"uid":"c5e49757-2884"},{"uid":"c5e49757-2882"}],"importedBy":[{"uid":"c5e49757-3058"}]},"c5e49757-3058":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.from.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3059"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3052"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-3056"},{"uid":"c5e49757-2890"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3060":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.includes.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3061"},"imported":[],"importedBy":[{"uid":"c5e49757-3064"}]},"c5e49757-3062":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/add-to-unscopables.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3063"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2688"},{"uid":"c5e49757-2958"},{"uid":"c5e49757-2728"}],"importedBy":[{"uid":"c5e49757-3064"},{"uid":"c5e49757-3112"},{"uid":"c5e49757-3120"}]},"c5e49757-3064":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.includes.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3065"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3060"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2788"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-3062"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3066":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.index-of.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3067"},"imported":[],"importedBy":[{"uid":"c5e49757-3068"}]},"c5e49757-3068":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.index-of.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3069"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3066"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2834"},{"uid":"c5e49757-2788"},{"uid":"c5e49757-2998"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3070":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.some.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3071"},"imported":[],"importedBy":[{"uid":"c5e49757-3072"}]},"c5e49757-3072":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.some.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3073"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3070"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2928"},{"uid":"c5e49757-2998"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3074":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.string.includes.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3075"},"imported":[],"importedBy":[{"uid":"c5e49757-3076"}]},"c5e49757-3076":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.string.includes.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3077"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3074"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2990"},{"uid":"c5e49757-2672"},{"uid":"c5e49757-2936"},{"uid":"c5e49757-2992"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3078":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.string.iterator.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3079"},"imported":[],"importedBy":[{"uid":"c5e49757-3092"}]},"c5e49757-3080":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/correct-prototype-getter.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3081"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2664"}],"importedBy":[{"uid":"c5e49757-3160"},{"uid":"c5e49757-3082"}]},"c5e49757-3082":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-get-prototype-of.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3083"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2676"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2674"},{"uid":"c5e49757-2742"},{"uid":"c5e49757-3080"}],"importedBy":[{"uid":"c5e49757-3160"},{"uid":"c5e49757-3088"},{"uid":"c5e49757-3084"}]},"c5e49757-3084":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/iterators-core.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3085"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2698"},{"uid":"c5e49757-2958"},{"uid":"c5e49757-3082"},{"uid":"c5e49757-2750"},{"uid":"c5e49757-2688"},{"uid":"c5e49757-2656"}],"importedBy":[{"uid":"c5e49757-3088"},{"uid":"c5e49757-3086"}]},"c5e49757-3086":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/iterator-create-constructor.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3087"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3084"},{"uid":"c5e49757-2958"},{"uid":"c5e49757-2738"},{"uid":"c5e49757-2818"},{"uid":"c5e49757-2878"}],"importedBy":[{"uid":"c5e49757-3088"}]},"c5e49757-3088":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/iterator-define.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3089"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2656"},{"uid":"c5e49757-2732"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-3086"},{"uid":"c5e49757-3082"},{"uid":"c5e49757-2816"},{"uid":"c5e49757-2818"},{"uid":"c5e49757-2740"},{"uid":"c5e49757-2750"},{"uid":"c5e49757-2688"},{"uid":"c5e49757-2878"},{"uid":"c5e49757-3084"}],"importedBy":[{"uid":"c5e49757-3092"},{"uid":"c5e49757-3120"},{"uid":"c5e49757-3148"}]},"c5e49757-3090":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/create-iter-result-object.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3091"},"imported":[{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-3092"},{"uid":"c5e49757-3120"},{"uid":"c5e49757-3148"}]},"c5e49757-3092":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.string.iterator.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3093"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3078"},{"uid":"c5e49757-2972"},{"uid":"c5e49757-2936"},{"uid":"c5e49757-2746"},{"uid":"c5e49757-3088"},{"uid":"c5e49757-3090"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3094":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.reverse.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3095"},"imported":[],"importedBy":[{"uid":"c5e49757-3096"}]},"c5e49757-3096":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.reverse.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3097"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3094"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2922"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3098":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.number.constructor.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3099"},"imported":[],"importedBy":[{"uid":"c5e49757-3106"}]},"c5e49757-3100":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/path.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3101"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2652"}],"importedBy":[{"uid":"c5e49757-3106"}]},"c5e49757-3102":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/inherit-if-required.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3103"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2698"},{"uid":"c5e49757-2816"}],"importedBy":[{"uid":"c5e49757-3106"},{"uid":"c5e49757-3144"}]},"c5e49757-3104":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/this-number-value.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3105"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2668"}],"importedBy":[{"uid":"c5e49757-3106"}]},"c5e49757-3106":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.number.constructor.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3107"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3098"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2656"},{"uid":"c5e49757-2696"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-3100"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2804"},{"uid":"c5e49757-2676"},{"uid":"c5e49757-3102"},{"uid":"c5e49757-2712"},{"uid":"c5e49757-2714"},{"uid":"c5e49757-2724"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2794"},{"uid":"c5e49757-2774"},{"uid":"c5e49757-2728"},{"uid":"c5e49757-3104"},{"uid":"c5e49757-2940"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3108":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.fill.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3109"},"imported":[],"importedBy":[{"uid":"c5e49757-3112"}]},"c5e49757-3110":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/array-fill.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3111"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2674"},{"uid":"c5e49757-2782"},{"uid":"c5e49757-2786"}],"importedBy":[{"uid":"c5e49757-3112"}]},"c5e49757-3112":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.fill.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3113"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3108"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-3110"},{"uid":"c5e49757-3062"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3114":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.regexp.to-string.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3115"},"imported":[],"importedBy":[{"uid":"c5e49757-3118"}]},"c5e49757-3116":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/regexp-get-flags.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3117"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2708"},{"uid":"c5e49757-2676"},{"uid":"c5e49757-2712"},{"uid":"c5e49757-2948"}],"importedBy":[{"uid":"c5e49757-3118"}]},"c5e49757-3118":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.regexp.to-string.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3119"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3114"},{"uid":"c5e49757-2732"},{"uid":"c5e49757-2750"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2936"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-3116"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3120":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.array.iterator.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3121"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2772"},{"uid":"c5e49757-3062"},{"uid":"c5e49757-2878"},{"uid":"c5e49757-2746"},{"uid":"c5e49757-2728"},{"uid":"c5e49757-3088"},{"uid":"c5e49757-3090"},{"uid":"c5e49757-2656"},{"uid":"c5e49757-2696"}],"importedBy":[{"uid":"c5e49757-3206"},{"uid":"c5e49757-3124"}]},"c5e49757-3122":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/web.dom-collections.iterator.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3123"},"imported":[],"importedBy":[{"uid":"c5e49757-3124"}]},"c5e49757-3124":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/web.dom-collections.iterator.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3125"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3122"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-3046"},{"uid":"c5e49757-3048"},{"uid":"c5e49757-3120"},{"uid":"c5e49757-2740"},{"uid":"c5e49757-2818"},{"uid":"c5e49757-2688"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3126":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.map.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3127"},"imported":[],"importedBy":[{"uid":"c5e49757-3152"}]},"c5e49757-3128":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.map.constructor.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3129"},"imported":[],"importedBy":[{"uid":"c5e49757-3150"}]},"c5e49757-3130":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/internal-metadata.js?commonjs-module","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3131"},"imported":[],"importedBy":[{"uid":"c5e49757-3142"}]},"c5e49757-3132":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-get-own-property-names-external.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3133"},"imported":[],"importedBy":[{"uid":"c5e49757-3134"}]},"c5e49757-3134":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-get-own-property-names-external.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3135"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3132"},{"uid":"c5e49757-2752"},{"uid":"c5e49757-2772"},{"uid":"c5e49757-2794"},{"uid":"c5e49757-2840"}],"importedBy":[{"uid":"c5e49757-3142"}]},"c5e49757-3136":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/array-buffer-non-extensible.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3137"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2664"}],"importedBy":[{"uid":"c5e49757-3138"}]},"c5e49757-3138":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/object-is-extensible.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3139"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2698"},{"uid":"c5e49757-2752"},{"uid":"c5e49757-3136"}],"importedBy":[{"uid":"c5e49757-3142"}]},"c5e49757-3140":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/freezing.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3141"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2664"}],"importedBy":[{"uid":"c5e49757-3142"}]},"c5e49757-3142":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/internal-metadata.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3143"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3130"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2744"},{"uid":"c5e49757-2698"},{"uid":"c5e49757-2676"},{"uid":"c5e49757-2728"},{"uid":"c5e49757-2794"},{"uid":"c5e49757-3134"},{"uid":"c5e49757-3138"},{"uid":"c5e49757-2678"},{"uid":"c5e49757-3140"}],"importedBy":[{"uid":"c5e49757-3144"},{"uid":"c5e49757-3148"}]},"c5e49757-3144":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/collection.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3145"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2652"},{"uid":"c5e49757-2668"},{"uid":"c5e49757-2804"},{"uid":"c5e49757-2750"},{"uid":"c5e49757-3142"},{"uid":"c5e49757-2888"},{"uid":"c5e49757-2824"},{"uid":"c5e49757-2692"},{"uid":"c5e49757-2670"},{"uid":"c5e49757-2698"},{"uid":"c5e49757-2664"},{"uid":"c5e49757-2890"},{"uid":"c5e49757-2818"},{"uid":"c5e49757-3102"}],"importedBy":[{"uid":"c5e49757-3150"}]},"c5e49757-3146":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/define-built-ins.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3147"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2750"}],"importedBy":[{"uid":"c5e49757-3148"}]},"c5e49757-3148":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/internals/collection-strong.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3149"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-2958"},{"uid":"c5e49757-2820"},{"uid":"c5e49757-3146"},{"uid":"c5e49757-2836"},{"uid":"c5e49757-2824"},{"uid":"c5e49757-2670"},{"uid":"c5e49757-2888"},{"uid":"c5e49757-3088"},{"uid":"c5e49757-3090"},{"uid":"c5e49757-2822"},{"uid":"c5e49757-2696"},{"uid":"c5e49757-3142"},{"uid":"c5e49757-2746"}],"importedBy":[{"uid":"c5e49757-3150"}]},"c5e49757-3150":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.map.constructor.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3151"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3128"},{"uid":"c5e49757-3144"},{"uid":"c5e49757-3148"}],"importedBy":[{"uid":"c5e49757-3152"}]},"c5e49757-3152":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.map.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3153"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3126"},{"uid":"c5e49757-3150"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3154":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.reflect.apply.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3155"},"imported":[],"importedBy":[{"uid":"c5e49757-3156"}]},"c5e49757-3156":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.reflect.apply.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3157"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3154"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2832"},{"uid":"c5e49757-2718"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-2664"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3158":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.reflect.get-prototype-of.js?commonjs-exports","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3159"},"imported":[],"importedBy":[{"uid":"c5e49757-3160"}]},"c5e49757-3160":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/core-js/modules/es.reflect.get-prototype-of.js","moduleParts":{"assets/js/core-js-DrjUESwt.js":"c5e49757-3161"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3158"},{"uid":"c5e49757-2806"},{"uid":"c5e49757-2706"},{"uid":"c5e49757-3082"},{"uid":"c5e49757-3080"}],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3162":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-grid-layout/dist/vue-grid-layout.common.js?commonjs-module","moduleParts":{"assets/js/vue-grid-layout-iOrZdED0.js":"c5e49757-3163"},"imported":[],"importedBy":[{"uid":"c5e49757-3164"}]},"c5e49757-3164":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-grid-layout/dist/vue-grid-layout.common.js","moduleParts":{"assets/js/vue-grid-layout-iOrZdED0.js":"c5e49757-3165"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3162"},{"uid":"c5e49757-628"}],"importedBy":[{"uid":"c5e49757-3624"}]},"c5e49757-3166":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/sortablejs/modular/sortable.esm.js","moduleParts":{"assets/js/sortablejs-CG_H93Kl.js":"c5e49757-3167"},"imported":[],"importedBy":[{"uid":"c5e49757-4484"},{"uid":"c5e49757-4198"}]},"c5e49757-3168":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsArea.ts","moduleParts":{"assets/js/selectData-BvxPa4o6.js":"c5e49757-3169"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4794"},{"uid":"c5e49757-4672"},{"uid":"c5e49757-3172"}]},"c5e49757-3170":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsWarehouse.ts","moduleParts":{"assets/js/selectData-BvxPa4o6.js":"c5e49757-3171"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4058"},{"uid":"c5e49757-4114"},{"uid":"c5e49757-3172"}]},"c5e49757-3172":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/selectData.ts","moduleParts":{"assets/js/selectData-BvxPa4o6.js":"c5e49757-3173"},"imported":[{"uid":"c5e49757-3168"},{"uid":"c5e49757-2416"},{"uid":"c5e49757-2414"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-3170"},{"uid":"c5e49757-2154"},{"uid":"c5e49757-3176"},{"uid":"c5e49757-2450"}],"importedBy":[{"uid":"c5e49757-3392"},{"uid":"c5e49757-3746"},{"uid":"c5e49757-3660"},{"uid":"c5e49757-3442"},{"uid":"c5e49757-3776"},{"uid":"c5e49757-4082"},{"uid":"c5e49757-4164"},{"uid":"c5e49757-4794"},{"uid":"c5e49757-4672"},{"uid":"c5e49757-4348"},{"uid":"c5e49757-4686"},{"uid":"c5e49757-4776"},{"uid":"c5e49757-4788"},{"uid":"c5e49757-4266"},{"uid":"c5e49757-4610"},{"uid":"c5e49757-4414"},{"uid":"c5e49757-4058"},{"uid":"c5e49757-4114"},{"uid":"c5e49757-4466"},{"uid":"c5e49757-4598"},{"uid":"c5e49757-4520"},{"uid":"c5e49757-4916"},{"uid":"c5e49757-4182"},{"uid":"c5e49757-4812"},{"uid":"c5e49757-4070"},{"uid":"c5e49757-4566"},{"uid":"c5e49757-4126"},{"uid":"c5e49757-4000"},{"uid":"c5e49757-4496"},{"uid":"c5e49757-4254"},{"uid":"c5e49757-3888"},{"uid":"c5e49757-4018"},{"uid":"c5e49757-4030"},{"uid":"c5e49757-4616"},{"uid":"c5e49757-4248"},{"uid":"c5e49757-4372"}]},"c5e49757-3174":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/table/modifyRecord.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/modifyRecord.vue_vue_type_script_setup_true_lang-rAORkTGS.js":"c5e49757-3175"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-9454"}]},"c5e49757-3176":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsMaterialType.ts","moduleParts":{"assets/js/wmsMaterialType-ierQBQZ9.js":"c5e49757-3177"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4266"},{"uid":"c5e49757-3830"},{"uid":"c5e49757-4260"},{"uid":"c5e49757-3172"}]},"c5e49757-3178":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/relation-graph/node_modules/screenfull/dist/screenfull.js?commonjs-module","moduleParts":{"assets/js/relation-graph-BeOmvV1C.js":"c5e49757-3179"},"imported":[],"importedBy":[{"uid":"c5e49757-3180"}]},"c5e49757-3180":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/relation-graph/node_modules/screenfull/dist/screenfull.js","moduleParts":{"assets/js/relation-graph-BeOmvV1C.js":"c5e49757-3181"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3178"}],"importedBy":[{"uid":"c5e49757-3182"}]},"c5e49757-3182":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/relation-graph/lib/vue3/relation-graph.mjs","moduleParts":{"assets/js/relation-graph-BeOmvV1C.js":"c5e49757-3183"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3180"},{"uid":"c5e49757-2394"}],"importedBy":[{"uid":"c5e49757-3198"}]},"c5e49757-3184":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-CF_aYJC4.js":"c5e49757-3185"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9453"}],"importedBy":[{"uid":"c5e49757-3188"}]},"c5e49757-3186":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/editDialog.vue?vue&type=style&index=0&scoped=d70dc763&lang.scss","moduleParts":{"assets/js/editDialog-CF_aYJC4.js":"c5e49757-3187"},"imported":[],"importedBy":[{"uid":"c5e49757-3188"}]},"c5e49757-3188":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/editDialog.vue","moduleParts":{"assets/js/editDialog-CF_aYJC4.js":"c5e49757-3189"},"imported":[{"uid":"c5e49757-3184"},{"uid":"c5e49757-3186"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3284"}]},"c5e49757-3190":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/download2.ts","moduleParts":{"assets/js/index-B6IiOPRs.js":"c5e49757-3191"},"imported":[],"importedBy":[{"uid":"c5e49757-3192"}]},"c5e49757-3192":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/importExcel/index.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/index-B6IiOPRs.js":"c5e49757-3193"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3190"}],"importedBy":[{"uid":"c5e49757-3196"}]},"c5e49757-3194":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/importExcel/index.vue?vue&type=style&index=0&scoped=5a936ecf&lang.css","moduleParts":{"assets/js/index-B6IiOPRs.js":"c5e49757-3195"},"imported":[],"importedBy":[{"uid":"c5e49757-3196"}]},"c5e49757-3196":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/importExcel/index.vue","moduleParts":{"assets/js/index-B6IiOPRs.js":"c5e49757-3197"},"imported":[{"uid":"c5e49757-3192"},{"uid":"c5e49757-3194"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3392"},{"uid":"c5e49757-3746"},{"uid":"c5e49757-4490"},{"uid":"c5e49757-4132"},{"uid":"c5e49757-4138"},{"uid":"c5e49757-4088"},{"uid":"c5e49757-3952"},{"uid":"c5e49757-4552"},{"uid":"c5e49757-4686"},{"uid":"c5e49757-4788"},{"uid":"c5e49757-4414"},{"uid":"c5e49757-4598"},{"uid":"c5e49757-4452"},{"uid":"c5e49757-4916"},{"uid":"c5e49757-3912"},{"uid":"c5e49757-4070"},{"uid":"c5e49757-4922"},{"uid":"c5e49757-4126"},{"uid":"c5e49757-4378"},{"uid":"c5e49757-4204"}]},"c5e49757-3198":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/visualTable.vue?vue&type=script&setup=true&name=databaseVisual&lang.ts","moduleParts":{"assets/js/visualTable-DPFs6mXa.js":"c5e49757-3199"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-3182"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3202"}]},"c5e49757-3200":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/visualTable.vue?vue&type=style&index=0&scoped=0cc80c30&lang.scss","moduleParts":{"assets/js/visualTable-DPFs6mXa.js":"c5e49757-3201"},"imported":[],"importedBy":[{"uid":"c5e49757-3202"}]},"c5e49757-3202":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/database/component/visualTable.vue","moduleParts":{"assets/js/visualTable-DPFs6mXa.js":"c5e49757-3203"},"imported":[{"uid":"c5e49757-3198"},{"uid":"c5e49757-3200"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3550"},{"uid":"c5e49757-3578"}]},"c5e49757-3204":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/canvg/lib/index.cjs?commonjs-exports","moduleParts":{"assets/js/canvg-C_HgrQEq.js":"c5e49757-3205"},"imported":[],"importedBy":[{"uid":"c5e49757-3206"}]},"c5e49757-3206":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/canvg/lib/index.cjs","moduleParts":{"assets/js/canvg-C_HgrQEq.js":"c5e49757-3207"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3204"},{"uid":"c5e49757-2758"},{"uid":"c5e49757-2914"},{"uid":"c5e49757-2918"},{"uid":"c5e49757-362"},{"uid":"c5e49757-366"},{"uid":"c5e49757-2932"},{"uid":"c5e49757-2944"},{"uid":"c5e49757-2966"},{"uid":"c5e49757-2978"},{"uid":"c5e49757-2984"},{"uid":"c5e49757-2994"},{"uid":"c5e49757-3000"},{"uid":"c5e49757-390"},{"uid":"c5e49757-402"},{"uid":"c5e49757-406"},{"uid":"c5e49757-410"},{"uid":"c5e49757-3008"},{"uid":"c5e49757-3012"},{"uid":"c5e49757-3018"},{"uid":"c5e49757-3022"},{"uid":"c5e49757-3026"},{"uid":"c5e49757-2388"},{"uid":"c5e49757-3030"},{"uid":"c5e49757-3036"},{"uid":"c5e49757-2408"},{"uid":"c5e49757-3042"},{"uid":"c5e49757-3050"},{"uid":"c5e49757-418"},{"uid":"c5e49757-426"},{"uid":"c5e49757-430"},{"uid":"c5e49757-3058"},{"uid":"c5e49757-3064"},{"uid":"c5e49757-3068"},{"uid":"c5e49757-3072"},{"uid":"c5e49757-3076"},{"uid":"c5e49757-3092"},{"uid":"c5e49757-446"},{"uid":"c5e49757-3096"},{"uid":"c5e49757-3106"},{"uid":"c5e49757-454"},{"uid":"c5e49757-3112"},{"uid":"c5e49757-2382"},{"uid":"c5e49757-3118"},{"uid":"c5e49757-424"},{"uid":"c5e49757-3120"},{"uid":"c5e49757-3124"},{"uid":"c5e49757-3152"},{"uid":"c5e49757-3156"},{"uid":"c5e49757-3160"},{"uid":"c5e49757-2160"}],"importedBy":[{"uid":"c5e49757-7424"},{"uid":"c5e49757-3208"}]},"c5e49757-3208":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/canvg/lib/index.cjs?commonjs-es-import","moduleParts":{"assets/js/canvg-C_HgrQEq.js":"c5e49757-3209"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3206"}],"importedBy":[{"uid":"c5e49757-3808"}]},"c5e49757-3210":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/nprogress/nprogress.js?commonjs-module","moduleParts":{"assets/js/nprogress-FDdY5xze.js":"c5e49757-3211"},"imported":[],"importedBy":[{"uid":"c5e49757-3212"}]},"c5e49757-3212":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/nprogress/nprogress.js","moduleParts":{"assets/js/nprogress-FDdY5xze.js":"c5e49757-3213"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3210"}],"importedBy":[{"uid":"c5e49757-3580"}]},"c5e49757-3214":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/nprogress/nprogress.css","moduleParts":{"assets/js/nprogress-FDdY5xze.js":"c5e49757-3215"},"imported":[],"importedBy":[{"uid":"c5e49757-3580"}]},"c5e49757-3216":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/error/404.vue?vue&type=script&setup=true&name=notFound&lang.ts","moduleParts":{"assets/js/404-BHZYcixX.js":"c5e49757-3217"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-348"}],"importedBy":[{"uid":"c5e49757-3220"}]},"c5e49757-3218":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/error/404.vue?vue&type=style&index=0&scoped=e79611c3&lang.scss","moduleParts":{"assets/js/404-BHZYcixX.js":"c5e49757-3219"},"imported":[],"importedBy":[{"uid":"c5e49757-3220"}]},"c5e49757-3220":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/error/404.vue","moduleParts":{"assets/js/404-BHZYcixX.js":"c5e49757-3221"},"imported":[{"uid":"c5e49757-3216"},{"uid":"c5e49757-3218"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3550"},{"uid":"c5e49757-3578"}]},"c5e49757-3222":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-client/build/cjs/index.js?commonjs-module","moduleParts":{"assets/js/socket.io-client-DBC_NmfQ.js":"c5e49757-3223"},"imported":[],"importedBy":[{"uid":"c5e49757-3244"}]},"c5e49757-3224":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-client/build/cjs/url.js?commonjs-exports","moduleParts":{"assets/js/socket.io-client-DBC_NmfQ.js":"c5e49757-3225"},"imported":[],"importedBy":[{"uid":"c5e49757-3226"}]},"c5e49757-3226":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-client/build/cjs/url.js","moduleParts":{"assets/js/socket.io-client-DBC_NmfQ.js":"c5e49757-3227"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3224"},{"uid":"c5e49757-2128"},{"uid":"c5e49757-48"}],"importedBy":[{"uid":"c5e49757-3244"}]},"c5e49757-3228":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-client/build/cjs/manager.js?commonjs-exports","moduleParts":{"assets/js/socket.io-client-DBC_NmfQ.js":"c5e49757-3229"},"imported":[],"importedBy":[{"uid":"c5e49757-3242"}]},"c5e49757-3230":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-client/build/cjs/socket.js?commonjs-exports","moduleParts":{"assets/js/socket.io-client-DBC_NmfQ.js":"c5e49757-3231"},"imported":[],"importedBy":[{"uid":"c5e49757-3236"}]},"c5e49757-3232":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-client/build/cjs/on.js?commonjs-exports","moduleParts":{"assets/js/socket.io-client-DBC_NmfQ.js":"c5e49757-3233"},"imported":[],"importedBy":[{"uid":"c5e49757-3234"}]},"c5e49757-3234":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-client/build/cjs/on.js","moduleParts":{"assets/js/socket.io-client-DBC_NmfQ.js":"c5e49757-3235"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3232"}],"importedBy":[{"uid":"c5e49757-3242"},{"uid":"c5e49757-3236"}]},"c5e49757-3236":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-client/build/cjs/socket.js","moduleParts":{"assets/js/socket.io-client-DBC_NmfQ.js":"c5e49757-3237"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3230"},{"uid":"c5e49757-2142"},{"uid":"c5e49757-3234"},{"uid":"c5e49757-10"},{"uid":"c5e49757-48"}],"importedBy":[{"uid":"c5e49757-3244"},{"uid":"c5e49757-3242"}]},"c5e49757-3238":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-client/build/cjs/contrib/backo2.js?commonjs-exports","moduleParts":{"assets/js/socket.io-client-DBC_NmfQ.js":"c5e49757-3239"},"imported":[],"importedBy":[{"uid":"c5e49757-3240"}]},"c5e49757-3240":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-client/build/cjs/contrib/backo2.js","moduleParts":{"assets/js/socket.io-client-DBC_NmfQ.js":"c5e49757-3241"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3238"}],"importedBy":[{"uid":"c5e49757-3242"}]},"c5e49757-3242":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-client/build/cjs/manager.js","moduleParts":{"assets/js/socket.io-client-DBC_NmfQ.js":"c5e49757-3243"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3228"},{"uid":"c5e49757-2128"},{"uid":"c5e49757-3236"},{"uid":"c5e49757-2142"},{"uid":"c5e49757-3234"},{"uid":"c5e49757-3240"},{"uid":"c5e49757-10"},{"uid":"c5e49757-48"}],"importedBy":[{"uid":"c5e49757-3244"}]},"c5e49757-3244":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/socket.io-client/build/cjs/index.js","moduleParts":{"assets/js/socket.io-client-DBC_NmfQ.js":"c5e49757-3245"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3222"},{"uid":"c5e49757-3226"},{"uid":"c5e49757-3242"},{"uid":"c5e49757-3236"},{"uid":"c5e49757-48"},{"uid":"c5e49757-2142"}],"importedBy":[{"uid":"c5e49757-7424"}]},"c5e49757-3246":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job/dashboard.vue?vue&type=style&index=0&scoped=bddfeb40&lang.scss","moduleParts":{"assets/js/dashboard-D-XIxDl9.js":"c5e49757-3247"},"imported":[],"importedBy":[{"uid":"c5e49757-3248"}]},"c5e49757-3248":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job/dashboard.vue","moduleParts":{"assets/js/dashboard-D-XIxDl9.js":"c5e49757-3249"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3246"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3550"},{"uid":"c5e49757-3578"}]},"c5e49757-3250":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/routerView/link.vue?vue&type=script&setup=true&name=layoutLinkView&lang.ts","moduleParts":{"assets/js/link-DACEk8Ze.js":"c5e49757-3251"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-3602"}],"importedBy":[{"uid":"c5e49757-3254"}]},"c5e49757-3252":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/routerView/link.vue?vue&type=style&index=0&scoped=6c4f31f3&lang.scss","moduleParts":{"assets/js/link-DACEk8Ze.js":"c5e49757-3253"},"imported":[],"importedBy":[{"uid":"c5e49757-3254"}]},"c5e49757-3254":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/routerView/link.vue","moduleParts":{"assets/js/link-DACEk8Ze.js":"c5e49757-3255"},"imported":[{"uid":"c5e49757-3250"},{"uid":"c5e49757-3252"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3256":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/error/401.vue?vue&type=script&setup=true&name=noPower&lang.ts","moduleParts":{"assets/js/401-dleJhR1d.js":"c5e49757-3257"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3540"}],"importedBy":[{"uid":"c5e49757-3260"}]},"c5e49757-3258":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/error/401.vue?vue&type=style&index=0&scoped=f5388989&lang.scss","moduleParts":{"assets/js/401-dleJhR1d.js":"c5e49757-3259"},"imported":[],"importedBy":[{"uid":"c5e49757-3260"}]},"c5e49757-3260":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/error/401.vue","moduleParts":{"assets/js/401-dleJhR1d.js":"c5e49757-3261"},"imported":[{"uid":"c5e49757-3256"},{"uid":"c5e49757-3258"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3550"},{"uid":"c5e49757-3578"}]},"c5e49757-3262":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/assets/login-icon-two.svg","moduleParts":{"assets/js/index-DBaKmBat.js":"c5e49757-3263"},"imported":[],"importedBy":[{"uid":"c5e49757-3268"}]},"c5e49757-3264":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/assets/login-icon-two1.svg","moduleParts":{"assets/js/index-DBaKmBat.js":"c5e49757-3265"},"imported":[],"importedBy":[{"uid":"c5e49757-3268"}]},"c5e49757-3266":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/assets/login-icon-two2.svg","moduleParts":{"assets/js/index-DBaKmBat.js":"c5e49757-3267"},"imported":[],"importedBy":[{"uid":"c5e49757-3268"}]},"c5e49757-3268":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/login/index.vue?vue&type=script&setup=true&name=loginIndex&lang.ts","moduleParts":{"assets/js/index-DBaKmBat.js":"c5e49757-3269"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3572"},{"uid":"c5e49757-346"},{"uid":"c5e49757-3262"},{"uid":"c5e49757-3264"},{"uid":"c5e49757-3266"},{"uid":"c5e49757-3294","dynamic":true},{"uid":"c5e49757-3410","dynamic":true},{"uid":"c5e49757-3338","dynamic":true}],"importedBy":[{"uid":"c5e49757-3272"}]},"c5e49757-3270":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/login/index.vue?vue&type=style&index=0&scoped=1219576d&lang.scss","moduleParts":{"assets/js/index-DBaKmBat.js":"c5e49757-3271"},"imported":[],"importedBy":[{"uid":"c5e49757-3272"}]},"c5e49757-3272":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/login/index.vue","moduleParts":{"assets/js/index-DBaKmBat.js":"c5e49757-3273"},"imported":[{"uid":"c5e49757-3268"},{"uid":"c5e49757-3270"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3550"},{"uid":"c5e49757-3578"}]},"c5e49757-3274":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Property/PropertyDialog.vue?vue&type=style&index=0&scoped=2ed6c3c7&lang.scss","moduleParts":{"assets/js/PropertyDialog-VcWtrd5Y.js":"c5e49757-3275"},"imported":[],"importedBy":[{"uid":"c5e49757-3276"}]},"c5e49757-3276":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Property/PropertyDialog.vue","moduleParts":{"assets/js/PropertyDialog-VcWtrd5Y.js":"c5e49757-3277"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-90"},{"uid":"c5e49757-3274"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3318"}]},"c5e49757-3278":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/detailDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/detailDialog-Di1SPBLr.js":"c5e49757-3279"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-3282"}]},"c5e49757-3280":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/detailDialog.vue?vue&type=style&index=0&scoped=cc643cb3&lang.scss","moduleParts":{"assets/js/detailDialog-Di1SPBLr.js":"c5e49757-3281"},"imported":[],"importedBy":[{"uid":"c5e49757-3282"}]},"c5e49757-3282":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/detailDialog.vue","moduleParts":{"assets/js/detailDialog-Di1SPBLr.js":"c5e49757-3283"},"imported":[{"uid":"c5e49757-3278"},{"uid":"c5e49757-3280"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3284"}]},"c5e49757-3284":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/index.vue?vue&type=script&setup=true&name=approvalFlow&lang.ts","moduleParts":{"assets/js/index-DT95CnMo.js":"c5e49757-3285"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-3344"},{"uid":"c5e49757-3282"},{"uid":"c5e49757-3322"},{"uid":"c5e49757-3188"},{"uid":"c5e49757-9454"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9453"}],"importedBy":[{"uid":"c5e49757-3288"}]},"c5e49757-3286":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/index.vue?vue&type=style&index=0&scoped=680790bf&lang.css","moduleParts":{"assets/js/index-DT95CnMo.js":"c5e49757-3287"},"imported":[],"importedBy":[{"uid":"c5e49757-3288"}]},"c5e49757-3288":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/index.vue","moduleParts":{"assets/js/index-DT95CnMo.js":"c5e49757-3289"},"imported":[{"uid":"c5e49757-3284"},{"uid":"c5e49757-3286"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3290":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/login/component/account.vue?vue&type=script&setup=true&name=loginAccount&lang.ts","moduleParts":{"assets/js/account-BY1ffgXg.js":"c5e49757-3291"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2378"},{"uid":"c5e49757-3578"},{"uid":"c5e49757-3540"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3572"},{"uid":"c5e49757-2162"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-346"},{"uid":"c5e49757-4240","dynamic":true}],"importedBy":[{"uid":"c5e49757-3294"}]},"c5e49757-3292":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/login/component/account.vue?vue&type=style&index=0&scoped=5181ed34&lang.scss","moduleParts":{"assets/js/account-BY1ffgXg.js":"c5e49757-3293"},"imported":[],"importedBy":[{"uid":"c5e49757-3294"}]},"c5e49757-3294":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/login/component/account.vue","moduleParts":{"assets/js/account-BY1ffgXg.js":"c5e49757-3295"},"imported":[{"uid":"c5e49757-3290"},{"uid":"c5e49757-3292"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3268"}]},"c5e49757-3296":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkDifference/component/openDialogDiff.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openDialogDiff-bZz9m0FI.js":"c5e49757-3297"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-2012"}],"importedBy":[{"uid":"c5e49757-3300"}]},"c5e49757-3298":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkDifference/component/openDialogDiff.vue?vue&type=style&index=0&scoped=5e0caee6&lang.less","moduleParts":{"assets/js/openDialogDiff-bZz9m0FI.js":"c5e49757-3299"},"imported":[],"importedBy":[{"uid":"c5e49757-3300"}]},"c5e49757-3300":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkDifference/component/openDialogDiff.vue","moduleParts":{"assets/js/openDialogDiff-bZz9m0FI.js":"c5e49757-3301"},"imported":[{"uid":"c5e49757-3296"},{"uid":"c5e49757-3298"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3392"}]},"c5e49757-3302":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Register/Edges/EdgeSql.ts","moduleParts":{"assets/js/editFlowDialog--NOW1YiN.js":"c5e49757-3303"},"imported":[{"uid":"c5e49757-7296"}],"importedBy":[{"uid":"c5e49757-3304"}]},"c5e49757-3304":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Register/RegisterEdge.ts","moduleParts":{"assets/js/editFlowDialog--NOW1YiN.js":"c5e49757-3305"},"imported":[{"uid":"c5e49757-3302"}],"importedBy":[{"uid":"c5e49757-3318"}]},"c5e49757-3306":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeStart.ts","moduleParts":{"assets/js/editFlowDialog--NOW1YiN.js":"c5e49757-3307"},"imported":[{"uid":"c5e49757-7296"}],"importedBy":[{"uid":"c5e49757-3316"}]},"c5e49757-3308":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeEnd.ts","moduleParts":{"assets/js/editFlowDialog--NOW1YiN.js":"c5e49757-3309"},"imported":[{"uid":"c5e49757-7296"}],"importedBy":[{"uid":"c5e49757-3316"}]},"c5e49757-3310":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeTask.ts","moduleParts":{"assets/js/editFlowDialog--NOW1YiN.js":"c5e49757-3311"},"imported":[{"uid":"c5e49757-7296"}],"importedBy":[{"uid":"c5e49757-3316"}]},"c5e49757-3312":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeUser.ts","moduleParts":{"assets/js/editFlowDialog--NOW1YiN.js":"c5e49757-3313"},"imported":[{"uid":"c5e49757-7296"}],"importedBy":[{"uid":"c5e49757-3316"}]},"c5e49757-3314":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Register/Nodes/NodeSql.ts","moduleParts":{"assets/js/editFlowDialog--NOW1YiN.js":"c5e49757-3315"},"imported":[{"uid":"c5e49757-7296"}],"importedBy":[{"uid":"c5e49757-3316"}]},"c5e49757-3316":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Register/RegisterNode.ts","moduleParts":{"assets/js/editFlowDialog--NOW1YiN.js":"c5e49757-3317"},"imported":[{"uid":"c5e49757-3306"},{"uid":"c5e49757-3308"},{"uid":"c5e49757-3310"},{"uid":"c5e49757-3312"},{"uid":"c5e49757-3314"}],"importedBy":[{"uid":"c5e49757-3318"}]},"c5e49757-3318":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/editFlowDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editFlowDialog--NOW1YiN.js":"c5e49757-3319"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-7296"},{"uid":"c5e49757-7416"},{"uid":"c5e49757-7418"},{"uid":"c5e49757-7420"},{"uid":"c5e49757-3304"},{"uid":"c5e49757-3316"},{"uid":"c5e49757-3768"},{"uid":"c5e49757-3470"},{"uid":"c5e49757-60"},{"uid":"c5e49757-3276"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9453"}],"importedBy":[{"uid":"c5e49757-3322"}]},"c5e49757-3320":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/editFlowDialog.vue?vue&type=style&index=0&scoped=d77993bf&lang.scss","moduleParts":{"assets/js/editFlowDialog--NOW1YiN.js":"c5e49757-3321"},"imported":[],"importedBy":[{"uid":"c5e49757-3322"}]},"c5e49757-3322":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/editFlowDialog.vue","moduleParts":{"assets/js/editFlowDialog--NOW1YiN.js":"c5e49757-3323"},"imported":[{"uid":"c5e49757-3318"},{"uid":"c5e49757-3320"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3284"}]},"c5e49757-3324":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/cropperjs/dist/cropper.esm.js","moduleParts":{"assets/js/cropperjs-Dcck23_9.js":"c5e49757-3325"},"imported":[],"importedBy":[{"uid":"c5e49757-3982"}]},"c5e49757-3326":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/cropperjs/dist/cropper.css","moduleParts":{"assets/js/cropperjs-Dcck23_9.js":"c5e49757-3327"},"imported":[],"importedBy":[{"uid":"c5e49757-3982"}]},"c5e49757-3328":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/openDetails/openDetails.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openDetails-C-izIHKV.js":"c5e49757-3329"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-3332"}]},"c5e49757-3330":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/openDetails/openDetails.vue?vue&type=style&index=0&scoped=cf5cb916&lang.less","moduleParts":{"assets/js/openDetails-C-izIHKV.js":"c5e49757-3331"},"imported":[],"importedBy":[{"uid":"c5e49757-3332"}]},"c5e49757-3332":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/openDetails/openDetails.vue","moduleParts":{"assets/js/openDetails-C-izIHKV.js":"c5e49757-3333"},"imported":[{"uid":"c5e49757-3328"},{"uid":"c5e49757-3330"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3296"},{"uid":"c5e49757-3794"},{"uid":"c5e49757-3704"},{"uid":"c5e49757-4082"},{"uid":"c5e49757-4396"},{"uid":"c5e49757-4520"},{"uid":"c5e49757-4182"},{"uid":"c5e49757-4812"},{"uid":"c5e49757-4928"},{"uid":"c5e49757-4666"},{"uid":"c5e49757-4566"},{"uid":"c5e49757-4910"},{"uid":"c5e49757-4824"},{"uid":"c5e49757-4782"},{"uid":"c5e49757-4496"},{"uid":"c5e49757-4768"},{"uid":"c5e49757-4354"},{"uid":"c5e49757-4360"},{"uid":"c5e49757-4366"},{"uid":"c5e49757-4372"}]},"c5e49757-3334":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/login/component/scan.vue?vue&type=script&setup=true&name=loginScan&lang.ts","moduleParts":{"assets/js/scan-DOEv--Qw.js":"c5e49757-3335"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2402"}],"importedBy":[{"uid":"c5e49757-3338"}]},"c5e49757-3336":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/login/component/scan.vue?vue&type=style&index=0&scoped=0f43e3e0&lang.scss","moduleParts":{"assets/js/scan-DOEv--Qw.js":"c5e49757-3337"},"imported":[],"importedBy":[{"uid":"c5e49757-3338"}]},"c5e49757-3338":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/login/component/scan.vue","moduleParts":{"assets/js/scan-DOEv--Qw.js":"c5e49757-3339"},"imported":[{"uid":"c5e49757-3334"},{"uid":"c5e49757-3336"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3268"}]},"c5e49757-3340":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/editFormDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editFormDialog-VyYygnpH.js":"c5e49757-3341"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3344"}]},"c5e49757-3342":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/editFormDialog.vue?vue&type=style&index=0&scoped=f01f177b&lang.scss","moduleParts":{"assets/js/editFormDialog-VyYygnpH.js":"c5e49757-3343"},"imported":[],"importedBy":[{"uid":"c5e49757-3344"}]},"c5e49757-3344":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/editFormDialog.vue","moduleParts":{"assets/js/editFormDialog-VyYygnpH.js":"c5e49757-3345"},"imported":[{"uid":"c5e49757-3340"},{"uid":"c5e49757-3342"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3284"}]},"c5e49757-3346":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue/shared/dist/shared.esm-bundler.js","moduleParts":{"assets/js/@vue-Ds_J_5va.js":"c5e49757-3347"},"imported":[],"importedBy":[{"uid":"c5e49757-3352"},{"uid":"c5e49757-3350"},{"uid":"c5e49757-3348"},{"uid":"c5e49757-5228"},{"uid":"c5e49757-5330"},{"uid":"c5e49757-5414"},{"uid":"c5e49757-5378"},{"uid":"c5e49757-5358"},{"uid":"c5e49757-5458"},{"uid":"c5e49757-5488"},{"uid":"c5e49757-5126"},{"uid":"c5e49757-5144"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5700"},{"uid":"c5e49757-5696"},{"uid":"c5e49757-5206"},{"uid":"c5e49757-5384"},{"uid":"c5e49757-5870"},{"uid":"c5e49757-5900"},{"uid":"c5e49757-5898"},{"uid":"c5e49757-5928"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-5284"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-6164"},{"uid":"c5e49757-6240"},{"uid":"c5e49757-6250"},{"uid":"c5e49757-6242"},{"uid":"c5e49757-6246"},{"uid":"c5e49757-5820"},{"uid":"c5e49757-5830"},{"uid":"c5e49757-6292"},{"uid":"c5e49757-6304"},{"uid":"c5e49757-6320"},{"uid":"c5e49757-6318"},{"uid":"c5e49757-5300"},{"uid":"c5e49757-5036"},{"uid":"c5e49757-5044"},{"uid":"c5e49757-5046"},{"uid":"c5e49757-5076"},{"uid":"c5e49757-5078"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4978"},{"uid":"c5e49757-4954"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5236"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5454"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-5130"},{"uid":"c5e49757-5136"},{"uid":"c5e49757-5666"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5000"},{"uid":"c5e49757-5178"},{"uid":"c5e49757-5190"},{"uid":"c5e49757-5790"},{"uid":"c5e49757-5796"},{"uid":"c5e49757-5164"},{"uid":"c5e49757-5854"},{"uid":"c5e49757-5906"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-6002"},{"uid":"c5e49757-6030"},{"uid":"c5e49757-6072"},{"uid":"c5e49757-4952"},{"uid":"c5e49757-6238"},{"uid":"c5e49757-5818"},{"uid":"c5e49757-5826"},{"uid":"c5e49757-6306"},{"uid":"c5e49757-6312"},{"uid":"c5e49757-6332"},{"uid":"c5e49757-6338"},{"uid":"c5e49757-6348"},{"uid":"c5e49757-5006"},{"uid":"c5e49757-4962"},{"uid":"c5e49757-4980"},{"uid":"c5e49757-5346"},{"uid":"c5e49757-5410"},{"uid":"c5e49757-5370"},{"uid":"c5e49757-5490"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5742"},{"uid":"c5e49757-5732"},{"uid":"c5e49757-5848"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5890"},{"uid":"c5e49757-5948"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-5996"},{"uid":"c5e49757-6014"},{"uid":"c5e49757-6062"},{"uid":"c5e49757-6022"},{"uid":"c5e49757-6054"},{"uid":"c5e49757-6050"},{"uid":"c5e49757-5316"},{"uid":"c5e49757-6190"},{"uid":"c5e49757-6198"},{"uid":"c5e49757-6212"},{"uid":"c5e49757-6226"},{"uid":"c5e49757-6252"},{"uid":"c5e49757-6280"},{"uid":"c5e49757-6272"},{"uid":"c5e49757-5322"},{"uid":"c5e49757-5366"},{"uid":"c5e49757-5368"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"},{"uid":"c5e49757-5738"},{"uid":"c5e49757-5218"},{"uid":"c5e49757-6170"},{"uid":"c5e49757-6188"},{"uid":"c5e49757-6224"},{"uid":"c5e49757-5546"},{"uid":"c5e49757-5522"},{"uid":"c5e49757-5942"},{"uid":"c5e49757-5516"},{"uid":"c5e49757-5544"}]},"c5e49757-3348":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","moduleParts":{"assets/js/@vue-Ds_J_5va.js":"c5e49757-3349"},"imported":[{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-3350"},{"uid":"c5e49757-5032"}]},"c5e49757-3350":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","moduleParts":{"assets/js/@vue-Ds_J_5va.js":"c5e49757-3351"},"imported":[{"uid":"c5e49757-3348"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-3352"}]},"c5e49757-3352":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","moduleParts":{"assets/js/@vue-Ds_J_5va.js":"c5e49757-3353"},"imported":[{"uid":"c5e49757-3350"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-626"}]},"c5e49757-3354":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue/devtools-api/lib/esm/env.js","moduleParts":{"assets/js/@vue-Ds_J_5va.js":"c5e49757-3355"},"imported":[],"importedBy":[{"uid":"c5e49757-3378"}]},"c5e49757-3356":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue/devtools-api/lib/esm/const.js","moduleParts":{"assets/js/@vue-Ds_J_5va.js":"c5e49757-3357"},"imported":[],"importedBy":[{"uid":"c5e49757-3378"},{"uid":"c5e49757-3360"}]},"c5e49757-3358":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue/devtools-api/lib/esm/time.js","moduleParts":{"assets/js/@vue-Ds_J_5va.js":"c5e49757-3359"},"imported":[],"importedBy":[{"uid":"c5e49757-3378"},{"uid":"c5e49757-3360"}]},"c5e49757-3360":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue/devtools-api/lib/esm/proxy.js","moduleParts":{"assets/js/@vue-Ds_J_5va.js":"c5e49757-3361"},"imported":[{"uid":"c5e49757-3356"},{"uid":"c5e49757-3358"}],"importedBy":[{"uid":"c5e49757-3378"}]},"c5e49757-3362":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue/devtools-api/lib/esm/api/api.js","moduleParts":{"assets/js/@vue-Ds_J_5va.js":"c5e49757-3363"},"imported":[],"importedBy":[{"uid":"c5e49757-3374"}]},"c5e49757-3364":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue/devtools-api/lib/esm/api/app.js","moduleParts":{"assets/js/@vue-Ds_J_5va.js":"c5e49757-3365"},"imported":[],"importedBy":[{"uid":"c5e49757-3374"}]},"c5e49757-3366":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue/devtools-api/lib/esm/api/component.js","moduleParts":{"assets/js/@vue-Ds_J_5va.js":"c5e49757-3367"},"imported":[],"importedBy":[{"uid":"c5e49757-3374"}]},"c5e49757-3368":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue/devtools-api/lib/esm/api/context.js","moduleParts":{"assets/js/@vue-Ds_J_5va.js":"c5e49757-3369"},"imported":[],"importedBy":[{"uid":"c5e49757-3374"}]},"c5e49757-3370":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue/devtools-api/lib/esm/api/hooks.js","moduleParts":{"assets/js/@vue-Ds_J_5va.js":"c5e49757-3371"},"imported":[],"importedBy":[{"uid":"c5e49757-3374"}]},"c5e49757-3372":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue/devtools-api/lib/esm/api/util.js","moduleParts":{"assets/js/@vue-Ds_J_5va.js":"c5e49757-3373"},"imported":[],"importedBy":[{"uid":"c5e49757-3374"}]},"c5e49757-3374":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue/devtools-api/lib/esm/api/index.js","moduleParts":{"assets/js/@vue-Ds_J_5va.js":"c5e49757-3375"},"imported":[{"uid":"c5e49757-3362"},{"uid":"c5e49757-3364"},{"uid":"c5e49757-3366"},{"uid":"c5e49757-3368"},{"uid":"c5e49757-3370"},{"uid":"c5e49757-3372"}],"importedBy":[{"uid":"c5e49757-3378"}]},"c5e49757-3376":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue/devtools-api/lib/esm/plugin.js","moduleParts":{"assets/js/@vue-Ds_J_5va.js":"c5e49757-3377"},"imported":[],"importedBy":[{"uid":"c5e49757-3378"}]},"c5e49757-3378":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue/devtools-api/lib/esm/index.js","moduleParts":{"assets/js/@vue-Ds_J_5va.js":"c5e49757-3379"},"imported":[{"uid":"c5e49757-3354"},{"uid":"c5e49757-3356"},{"uid":"c5e49757-3360"},{"uid":"c5e49757-3374"},{"uid":"c5e49757-3376"},{"uid":"c5e49757-3358"}],"importedBy":[{"uid":"c5e49757-50"},{"uid":"c5e49757-348"}]},"c5e49757-3380":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/print/component/hiprint/preview.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/preview-C86Jqv3-.js":"c5e49757-3381"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-3384"}]},"c5e49757-3382":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/print/component/hiprint/preview.vue?vue&type=style&index=0&scoped=663976c8&lang.less","moduleParts":{"assets/js/preview-C86Jqv3-.js":"c5e49757-3383"},"imported":[],"importedBy":[{"uid":"c5e49757-3384"}]},"c5e49757-3384":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/print/component/hiprint/preview.vue","moduleParts":{"assets/js/preview-C86Jqv3-.js":"c5e49757-3385"},"imported":[{"uid":"c5e49757-3380"},{"uid":"c5e49757-3382"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3284"},{"uid":"c5e49757-3392"},{"uid":"c5e49757-3746"},{"uid":"c5e49757-3482"},{"uid":"c5e49757-3412"},{"uid":"c5e49757-3424"},{"uid":"c5e49757-3442"},{"uid":"c5e49757-3668"},{"uid":"c5e49757-3454"},{"uid":"c5e49757-3692"},{"uid":"c5e49757-3652"},{"uid":"c5e49757-3770"},{"uid":"c5e49757-3728"},{"uid":"c5e49757-3782"},{"uid":"c5e49757-3752"},{"uid":"c5e49757-3776"},{"uid":"c5e49757-3710"},{"uid":"c5e49757-3460"},{"uid":"c5e49757-4490"},{"uid":"c5e49757-4132"},{"uid":"c5e49757-4138"},{"uid":"c5e49757-4088"},{"uid":"c5e49757-3952"},{"uid":"c5e49757-3974"},{"uid":"c5e49757-4164"},{"uid":"c5e49757-4552"},{"uid":"c5e49757-4672"},{"uid":"c5e49757-4546"},{"uid":"c5e49757-4592"},{"uid":"c5e49757-4686"},{"uid":"c5e49757-4390"},{"uid":"c5e49757-4384"},{"uid":"c5e49757-4272"},{"uid":"c5e49757-4304"},{"uid":"c5e49757-3906"},{"uid":"c5e49757-3800"},{"uid":"c5e49757-4170"},{"uid":"c5e49757-4788"},{"uid":"c5e49757-3818"},{"uid":"c5e49757-4260"},{"uid":"c5e49757-4414"},{"uid":"c5e49757-3874"},{"uid":"c5e49757-4120"},{"uid":"c5e49757-4114"},{"uid":"c5e49757-4598"},{"uid":"c5e49757-3924"},{"uid":"c5e49757-4452"},{"uid":"c5e49757-4874"},{"uid":"c5e49757-4916"},{"uid":"c5e49757-4748"},{"uid":"c5e49757-3912"},{"uid":"c5e49757-4754"},{"uid":"c5e49757-4812"},{"uid":"c5e49757-4070"},{"uid":"c5e49757-4898"},{"uid":"c5e49757-4922"},{"uid":"c5e49757-4216"},{"uid":"c5e49757-4126"},{"uid":"c5e49757-4000"},{"uid":"c5e49757-4378"},{"uid":"c5e49757-4508"},{"uid":"c5e49757-4254"},{"uid":"c5e49757-4298"},{"uid":"c5e49757-4278"},{"uid":"c5e49757-4040"},{"uid":"c5e49757-4700"},{"uid":"c5e49757-4604"},{"uid":"c5e49757-3958"},{"uid":"c5e49757-4222"},{"uid":"c5e49757-4408"},{"uid":"c5e49757-4204"},{"uid":"c5e49757-4886"}]},"c5e49757-3386":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsRecordSncodePrint/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DWd02C3f.js":"c5e49757-3387"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2446"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3390"}]},"c5e49757-3388":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsRecordSncodePrint/component/editDialog.vue?vue&type=style&index=0&scoped=33842ed2&lang.css","moduleParts":{"assets/js/editDialog-DWd02C3f.js":"c5e49757-3389"},"imported":[],"importedBy":[{"uid":"c5e49757-3390"}]},"c5e49757-3390":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsRecordSncodePrint/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DWd02C3f.js":"c5e49757-3391"},"imported":[{"uid":"c5e49757-3386"},{"uid":"c5e49757-3388"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3412"}]},"c5e49757-3392":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkDifference/index.vue?vue&type=script&setup=true&name=checkDifference&lang.ts","moduleParts":{"assets/js/index-yEi7Rp_N.js":"c5e49757-3393"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-3480"},{"uid":"c5e49757-2384"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3300"},{"uid":"c5e49757-2432"}],"importedBy":[{"uid":"c5e49757-3396"}]},"c5e49757-3394":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkDifference/index.vue?vue&type=style&index=0&scoped=367158b2&lang.css","moduleParts":{"assets/js/index-yEi7Rp_N.js":"c5e49757-3395"},"imported":[],"importedBy":[{"uid":"c5e49757-3396"}]},"c5e49757-3396":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkDifference/index.vue","moduleParts":{"assets/js/index-yEi7Rp_N.js":"c5e49757-3397"},"imported":[{"uid":"c5e49757-3392"},{"uid":"c5e49757-3394"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3398":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsStockQuanPrint/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-BIpDIT6Y.js":"c5e49757-3399"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2442"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3402"}]},"c5e49757-3400":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsStockQuanPrint/component/editDialog.vue?vue&type=style&index=0&scoped=8ba54297&lang.css","moduleParts":{"assets/js/editDialog-BIpDIT6Y.js":"c5e49757-3401"},"imported":[],"importedBy":[{"uid":"c5e49757-3402"}]},"c5e49757-3402":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsStockQuanPrint/component/editDialog.vue","moduleParts":{"assets/js/editDialog-BIpDIT6Y.js":"c5e49757-3403"},"imported":[{"uid":"c5e49757-3398"},{"uid":"c5e49757-3400"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3404":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-sms-api.ts","moduleParts":{"assets/js/mobile-BAL5EffU.js":"c5e49757-3405"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-3406":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/login/component/mobile.vue?vue&type=script&setup=true&name=loginMobile&lang.ts","moduleParts":{"assets/js/mobile-BAL5EffU.js":"c5e49757-3407"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3602"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3410"}]},"c5e49757-3408":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/login/component/mobile.vue?vue&type=style&index=0&scoped=61ca782a&lang.scss","moduleParts":{"assets/js/mobile-BAL5EffU.js":"c5e49757-3409"},"imported":[],"importedBy":[{"uid":"c5e49757-3410"}]},"c5e49757-3410":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/login/component/mobile.vue","moduleParts":{"assets/js/mobile-BAL5EffU.js":"c5e49757-3411"},"imported":[{"uid":"c5e49757-3406"},{"uid":"c5e49757-3408"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3268"}]},"c5e49757-3412":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsRecordSncodePrint/index.vue?vue&type=script&setup=true&name=wmsRecordSncodePrint&lang.ts","moduleParts":{"assets/js/index-Ch9EsQzM.js":"c5e49757-3413"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-3390"},{"uid":"c5e49757-2446"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-3416"}]},"c5e49757-3414":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsRecordSncodePrint/index.vue?vue&type=style&index=0&scoped=7b9ddc91&lang.css","moduleParts":{"assets/js/index-Ch9EsQzM.js":"c5e49757-3415"},"imported":[],"importedBy":[{"uid":"c5e49757-3416"}]},"c5e49757-3416":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsRecordSncodePrint/index.vue","moduleParts":{"assets/js/index-Ch9EsQzM.js":"c5e49757-3417"},"imported":[{"uid":"c5e49757-3412"},{"uid":"c5e49757-3414"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3418":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/Pagination/index.vue?vue&type=script&lang.ts","moduleParts":{"assets/js/index-B-rMSlxA.js":"c5e49757-3419"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-3422"}]},"c5e49757-3420":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/Pagination/index.vue?vue&type=style&index=0&scoped=12fff834&lang.css","moduleParts":{"assets/js/index-B-rMSlxA.js":"c5e49757-3421"},"imported":[],"importedBy":[{"uid":"c5e49757-3422"}]},"c5e49757-3422":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/Pagination/index.vue","moduleParts":{"assets/js/index-B-rMSlxA.js":"c5e49757-3423"},"imported":[{"uid":"c5e49757-3418"},{"uid":"c5e49757-626"},{"uid":"c5e49757-3420"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-224"},{"uid":"c5e49757-132"},{"uid":"c5e49757-3296"},{"uid":"c5e49757-3794"},{"uid":"c5e49757-3740"},{"uid":"c5e49757-3686"},{"uid":"c5e49757-3704"},{"uid":"c5e49757-4082"},{"uid":"c5e49757-4396"},{"uid":"c5e49757-4514"},{"uid":"c5e49757-4466"},{"uid":"c5e49757-4520"},{"uid":"c5e49757-4182"},{"uid":"c5e49757-4812"},{"uid":"c5e49757-4928"},{"uid":"c5e49757-4666"},{"uid":"c5e49757-4566"},{"uid":"c5e49757-4910"},{"uid":"c5e49757-4824"},{"uid":"c5e49757-4782"},{"uid":"c5e49757-4496"},{"uid":"c5e49757-4768"},{"uid":"c5e49757-4036"},{"uid":"c5e49757-4354"},{"uid":"c5e49757-4360"},{"uid":"c5e49757-4366"},{"uid":"c5e49757-4372"}]},"c5e49757-3424":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsStockQuanPrint/index.vue?vue&type=script&setup=true&name=wmsStockQuan&lang.ts","moduleParts":{"assets/js/index-BBZlL3kK.js":"c5e49757-3425"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-2442"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-2446"}],"importedBy":[{"uid":"c5e49757-3428"}]},"c5e49757-3426":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsStockQuanPrint/index.vue?vue&type=style&index=0&scoped=0c4b4d03&lang.css","moduleParts":{"assets/js/index-BBZlL3kK.js":"c5e49757-3427"},"imported":[],"importedBy":[{"uid":"c5e49757-3428"}]},"c5e49757-3428":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsStockQuanPrint/index.vue","moduleParts":{"assets/js/index-BBZlL3kK.js":"c5e49757-3429"},"imported":[{"uid":"c5e49757-3424"},{"uid":"c5e49757-3426"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3430":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordTrans/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-CgEyZYvm.js":"c5e49757-3431"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2420"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3434"}]},"c5e49757-3432":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordTrans/component/editDialog.vue?vue&type=style&index=0&scoped=c1f13001&lang.css","moduleParts":{"assets/js/editDialog-CgEyZYvm.js":"c5e49757-3433"},"imported":[],"importedBy":[{"uid":"c5e49757-3434"}]},"c5e49757-3434":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordTrans/component/editDialog.vue","moduleParts":{"assets/js/editDialog-CgEyZYvm.js":"c5e49757-3435"},"imported":[{"uid":"c5e49757-3430"},{"uid":"c5e49757-3432"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3436":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsLogAction/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-ClET6whI.js":"c5e49757-3437"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-470"}],"importedBy":[{"uid":"c5e49757-3440"}]},"c5e49757-3438":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsLogAction/component/editDialog.vue?vue&type=style&index=0&scoped=d6f1f162&lang.css","moduleParts":{"assets/js/editDialog-ClET6whI.js":"c5e49757-3439"},"imported":[],"importedBy":[{"uid":"c5e49757-3440"}]},"c5e49757-3440":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsLogAction/component/editDialog.vue","moduleParts":{"assets/js/editDialog-ClET6whI.js":"c5e49757-3441"},"imported":[{"uid":"c5e49757-3436"},{"uid":"c5e49757-3438"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3442":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wareInventorySummary/index.vue?vue&type=script&setup=true&name=wareAgeWarm&lang.ts","moduleParts":{"assets/js/index-CL4-JMth.js":"c5e49757-3443"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-292"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-3744"},{"uid":"c5e49757-3690"}],"importedBy":[{"uid":"c5e49757-3446"}]},"c5e49757-3444":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wareInventorySummary/index.vue?vue&type=style&index=0&scoped=843f35ff&lang.css","moduleParts":{"assets/js/index-CL4-JMth.js":"c5e49757-3445"},"imported":[],"importedBy":[{"uid":"c5e49757-3446"}]},"c5e49757-3446":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wareInventorySummary/index.vue","moduleParts":{"assets/js/index-CL4-JMth.js":"c5e49757-3447"},"imported":[{"uid":"c5e49757-3442"},{"uid":"c5e49757-3444"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3448":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/home/index.vue?vue&type=script&setup=true&name=home&lang.ts","moduleParts":{"assets/js/index-Zff7tzgX.js":"c5e49757-3449"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-7286"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3542"},{"uid":"c5e49757-2418"},{"uid":"c5e49757-348"}],"importedBy":[{"uid":"c5e49757-3452"}]},"c5e49757-3450":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/home/index.vue?vue&type=style&index=0&scoped=b2802d43&lang.scss","moduleParts":{"assets/js/index-Zff7tzgX.js":"c5e49757-3451"},"imported":[],"importedBy":[{"uid":"c5e49757-3452"}]},"c5e49757-3452":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/home/index.vue","moduleParts":{"assets/js/index-Zff7tzgX.js":"c5e49757-3453"},"imported":[{"uid":"c5e49757-3448"},{"uid":"c5e49757-3450"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3454":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsContainerSort/index.vue?vue&type=script&setup=true&name=wmsContainerSort&lang.ts","moduleParts":{"assets/js/index-AhhiMJrr.js":"c5e49757-3455"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-516"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-3458"}]},"c5e49757-3456":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsContainerSort/index.vue?vue&type=style&index=0&scoped=73e316bd&lang.css","moduleParts":{"assets/js/index-AhhiMJrr.js":"c5e49757-3457"},"imported":[],"importedBy":[{"uid":"c5e49757-3458"}]},"c5e49757-3458":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsContainerSort/index.vue","moduleParts":{"assets/js/index-AhhiMJrr.js":"c5e49757-3459"},"imported":[{"uid":"c5e49757-3454"},{"uid":"c5e49757-3456"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3460":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsTask/index.vue?vue&type=script&setup=true&name=wmsTask&lang.ts","moduleParts":{"assets/js/index-ppqr_2lk.js":"c5e49757-3461"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-250"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-2450"}],"importedBy":[{"uid":"c5e49757-3464"}]},"c5e49757-3462":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsTask/index.vue?vue&type=style&index=0&scoped=09f1d42c&lang.css","moduleParts":{"assets/js/index-ppqr_2lk.js":"c5e49757-3463"},"imported":[],"importedBy":[{"uid":"c5e49757-3464"}]},"c5e49757-3464":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsTask/index.vue","moduleParts":{"assets/js/index-ppqr_2lk.js":"c5e49757-3465"},"imported":[{"uid":"c5e49757-3460"},{"uid":"c5e49757-3462"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3466":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelControl.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/PanelControl-D6UFGT3Q.js":"c5e49757-3467"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-3470"}]},"c5e49757-3468":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelControl.vue?vue&type=style&index=0&scoped=3ed79d77&lang.scss","moduleParts":{"assets/js/PanelControl-D6UFGT3Q.js":"c5e49757-3469"},"imported":[],"importedBy":[{"uid":"c5e49757-3470"}]},"c5e49757-3470":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelControl.vue","moduleParts":{"assets/js/PanelControl-D6UFGT3Q.js":"c5e49757-3471"},"imported":[{"uid":"c5e49757-3466"},{"uid":"c5e49757-3468"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3318"}]},"c5e49757-3472":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue3-tree-org/lib/index.esm.js","moduleParts":{"assets/js/vue3-tree-org-ZvzDyseZ.js":"c5e49757-3473"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-3624"}]},"c5e49757-3474":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue3-tree-org/lib/vue3-tree-org.css","moduleParts":{"assets/js/vue3-tree-org-ZvzDyseZ.js":"c5e49757-3475"},"imported":[],"importedBy":[{"uid":"c5e49757-3624"}]},"c5e49757-3476":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DEenvSuj.js":"c5e49757-3477"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2384"}],"importedBy":[{"uid":"c5e49757-3480"}]},"c5e49757-3478":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/editDialog.vue?vue&type=style&index=0&scoped=915b0bd0&lang.css","moduleParts":{"assets/js/editDialog-DEenvSuj.js":"c5e49757-3479"},"imported":[],"importedBy":[{"uid":"c5e49757-3480"}]},"c5e49757-3480":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DEenvSuj.js":"c5e49757-3481"},"imported":[{"uid":"c5e49757-3476"},{"uid":"c5e49757-3478"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3392"},{"uid":"c5e49757-3746"},{"uid":"c5e49757-4598"}]},"c5e49757-3482":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsContainerSortPrint/index.vue?vue&type=script&setup=true&name=wmsContainerSortPrint&lang.ts","moduleParts":{"assets/js/index-DHtuhmqW.js":"c5e49757-3483"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-290"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-3486"}]},"c5e49757-3484":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsContainerSortPrint/index.vue?vue&type=style&index=0&scoped=ba88cd18&lang.css","moduleParts":{"assets/js/index-DHtuhmqW.js":"c5e49757-3485"},"imported":[],"importedBy":[{"uid":"c5e49757-3486"}]},"c5e49757-3486":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsContainerSortPrint/index.vue","moduleParts":{"assets/js/index-DHtuhmqW.js":"c5e49757-3487"},"imported":[{"uid":"c5e49757-3482"},{"uid":"c5e49757-3484"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3488":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/theme.ts","moduleParts":{"assets/js/setings-CtpDjPxX.js":"c5e49757-3489"},"imported":[{"uid":"c5e49757-6358"}],"importedBy":[{"uid":"c5e49757-3490"}]},"c5e49757-3490":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/setings.vue?vue&type=script&setup=true&name=layoutBreadcrumbSeting&lang.ts","moduleParts":{"assets/js/setings-CtpDjPxX.js":"c5e49757-3491"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2378"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3488"},{"uid":"c5e49757-3602"},{"uid":"c5e49757-3540"},{"uid":"c5e49757-3552"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3604"},{"uid":"c5e49757-3606"}],"importedBy":[{"uid":"c5e49757-3494"}]},"c5e49757-3492":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/setings.vue?vue&type=style&index=0&scoped=e50d79ea&lang.scss","moduleParts":{"assets/js/setings-CtpDjPxX.js":"c5e49757-3493"},"imported":[],"importedBy":[{"uid":"c5e49757-3494"}]},"c5e49757-3494":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/setings.vue","moduleParts":{"assets/js/setings-CtpDjPxX.js":"c5e49757-3495"},"imported":[{"uid":"c5e49757-3490"},{"uid":"c5e49757-3492"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3610"}]},"c5e49757-3496":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockBoardabc/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-914brrEd.js":"c5e49757-3497"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-706"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3500"}]},"c5e49757-3498":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockBoardabc/component/editDialog.vue?vue&type=style&index=0&scoped=d7cb5518&lang.css","moduleParts":{"assets/js/editDialog-914brrEd.js":"c5e49757-3499"},"imported":[],"importedBy":[{"uid":"c5e49757-3500"}]},"c5e49757-3500":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockBoardabc/component/editDialog.vue","moduleParts":{"assets/js/editDialog-914brrEd.js":"c5e49757-3501"},"imported":[{"uid":"c5e49757-3496"},{"uid":"c5e49757-3498"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3502":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/lockScreen/index.vue?vue&type=script&setup=true&name=layoutLockScreen&lang.ts","moduleParts":{"assets/js/index-WmVs7USk.js":"c5e49757-3503"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3540"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3568"},{"uid":"c5e49757-2162"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9443"}],"importedBy":[{"uid":"c5e49757-3506"}]},"c5e49757-3504":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/lockScreen/index.vue?vue&type=style&index=0&scoped=879786ed&lang.scss","moduleParts":{"assets/js/index-WmVs7USk.js":"c5e49757-3505"},"imported":[],"importedBy":[{"uid":"c5e49757-3506"}]},"c5e49757-3506":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/lockScreen/index.vue","moduleParts":{"assets/js/index-WmVs7USk.js":"c5e49757-3507"},"imported":[{"uid":"c5e49757-3502"},{"uid":"c5e49757-3504"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3610"}]},"c5e49757-3508":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsTask/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-CuFbYmGR.js":"c5e49757-3509"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-250"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3512"}]},"c5e49757-3510":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsTask/component/editDialog.vue?vue&type=style&index=0&scoped=9b877aa8&lang.css","moduleParts":{"assets/js/editDialog-CuFbYmGR.js":"c5e49757-3511"},"imported":[],"importedBy":[{"uid":"c5e49757-3512"}]},"c5e49757-3512":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsTask/component/editDialog.vue","moduleParts":{"assets/js/editDialog-CuFbYmGR.js":"c5e49757-3513"},"imported":[{"uid":"c5e49757-3508"},{"uid":"c5e49757-3510"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3514":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/closeFull.vue?vue&type=script&setup=true&name=layoutCloseFull&lang.ts","moduleParts":{"assets/js/closeFull-eXhmkRoD.js":"c5e49757-3515"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3542"}],"importedBy":[{"uid":"c5e49757-3518"}]},"c5e49757-3516":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/closeFull.vue?vue&type=style&index=0&scoped=0680ba04&lang.scss","moduleParts":{"assets/js/closeFull-eXhmkRoD.js":"c5e49757-3517"},"imported":[],"importedBy":[{"uid":"c5e49757-3518"}]},"c5e49757-3518":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/closeFull.vue","moduleParts":{"assets/js/closeFull-eXhmkRoD.js":"c5e49757-3519"},"imported":[{"uid":"c5e49757-3514"},{"uid":"c5e49757-3516"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3610"}]},"c5e49757-3520":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/component/CountView.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/CountView-Dm8smkik.js":"c5e49757-3521"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-3524"}]},"c5e49757-3522":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/component/CountView.vue?vue&type=style&index=0&scoped=02e62381&lang.less","moduleParts":{"assets/js/CountView-Dm8smkik.js":"c5e49757-3523"},"imported":[],"importedBy":[{"uid":"c5e49757-3524"}]},"c5e49757-3524":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/component/CountView.vue","moduleParts":{"assets/js/CountView-Dm8smkik.js":"c5e49757-3525"},"imported":[{"uid":"c5e49757-3520"},{"uid":"c5e49757-3522"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3660"}]},"c5e49757-3526":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsContainerSort/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-BzbsF7OO.js":"c5e49757-3527"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-516"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3530"}]},"c5e49757-3528":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsContainerSort/component/editDialog.vue?vue&type=style&index=0&scoped=509e9180&lang.css","moduleParts":{"assets/js/editDialog-BzbsF7OO.js":"c5e49757-3529"},"imported":[],"importedBy":[{"uid":"c5e49757-3530"}]},"c5e49757-3530":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsContainerSort/component/editDialog.vue","moduleParts":{"assets/js/editDialog-BzbsF7OO.js":"c5e49757-3531"},"imported":[{"uid":"c5e49757-3526"},{"uid":"c5e49757-3528"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3532":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-json-pretty/esm/vue-json-pretty.js","moduleParts":{"assets/js/vue-json-pretty-yMcEctBP.js":"c5e49757-3533"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-106"},{"uid":"c5e49757-4428"},{"uid":"c5e49757-4886"}]},"c5e49757-3534":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-json-pretty/lib/styles.css","moduleParts":{"assets/js/vue-json-pretty-yMcEctBP.js":"c5e49757-3535"},"imported":[],"importedBy":[{"uid":"c5e49757-106"},{"uid":"c5e49757-4428"},{"uid":"c5e49757-4886"}]},"c5e49757-3536":{"id":"\u0000vite/modulepreload-polyfill.js","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3537"},"imported":[],"importedBy":[{"uid":"c5e49757-3626"}]},"c5e49757-3538":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/stores/index.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3539"},"imported":[{"uid":"c5e49757-50"}],"importedBy":[{"uid":"c5e49757-3604"},{"uid":"c5e49757-3580"},{"uid":"c5e49757-3600"},{"uid":"c5e49757-3574"},{"uid":"c5e49757-3578"},{"uid":"c5e49757-3624"}]},"c5e49757-3540":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/storage.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3541"},"imported":[{"uid":"c5e49757-108"}],"importedBy":[{"uid":"c5e49757-4"},{"uid":"c5e49757-4484"},{"uid":"c5e49757-3542"},{"uid":"c5e49757-3604"},{"uid":"c5e49757-68"},{"uid":"c5e49757-3580"},{"uid":"c5e49757-3574"},{"uid":"c5e49757-3578"},{"uid":"c5e49757-3568"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-3256"},{"uid":"c5e49757-3290"},{"uid":"c5e49757-674"},{"uid":"c5e49757-4904"},{"uid":"c5e49757-4006"},{"uid":"c5e49757-2010"},{"uid":"c5e49757-3490"},{"uid":"c5e49757-3502"},{"uid":"c5e49757-3610"}]},"c5e49757-3542":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/stores/tagsViewRoutes.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3543"},"imported":[{"uid":"c5e49757-50"},{"uid":"c5e49757-3540"}],"importedBy":[{"uid":"c5e49757-124"},{"uid":"c5e49757-668"},{"uid":"c5e49757-554"},{"uid":"c5e49757-4484"},{"uid":"c5e49757-3574"},{"uid":"c5e49757-3578"},{"uid":"c5e49757-3448"},{"uid":"c5e49757-3918"},{"uid":"c5e49757-3842"},{"uid":"c5e49757-3514"},{"uid":"c5e49757-3610"}]},"c5e49757-3544":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/stores/themeConfig.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3545"},"imported":[{"uid":"c5e49757-50"}],"importedBy":[{"uid":"c5e49757-4"},{"uid":"c5e49757-240"},{"uid":"c5e49757-472"},{"uid":"c5e49757-476"},{"uid":"c5e49757-110"},{"uid":"c5e49757-124"},{"uid":"c5e49757-554"},{"uid":"c5e49757-4484"},{"uid":"c5e49757-4292"},{"uid":"c5e49757-3604"},{"uid":"c5e49757-3848"},{"uid":"c5e49757-268"},{"uid":"c5e49757-3812"},{"uid":"c5e49757-68"},{"uid":"c5e49757-3824"},{"uid":"c5e49757-3580"},{"uid":"c5e49757-3600"},{"uid":"c5e49757-3836"},{"uid":"c5e49757-3568"},{"uid":"c5e49757-3268"},{"uid":"c5e49757-3448"},{"uid":"c5e49757-4904"},{"uid":"c5e49757-4006"},{"uid":"c5e49757-4854"},{"uid":"c5e49757-4198"},{"uid":"c5e49757-3490"},{"uid":"c5e49757-3502"},{"uid":"c5e49757-3610"}]},"c5e49757-3546":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/stores/keepAliveNames.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3547"},"imported":[{"uid":"c5e49757-50"}],"importedBy":[{"uid":"c5e49757-4484"},{"uid":"c5e49757-68"},{"uid":"c5e49757-3580"}]},"c5e49757-3548":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/stores/routesList.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3549"},"imported":[{"uid":"c5e49757-50"}],"importedBy":[{"uid":"c5e49757-124"},{"uid":"c5e49757-4484"},{"uid":"c5e49757-4292"},{"uid":"c5e49757-3580"},{"uid":"c5e49757-3574"},{"uid":"c5e49757-3578"},{"uid":"c5e49757-3836"},{"uid":"c5e49757-4904"},{"uid":"c5e49757-4854"}]},"c5e49757-3550":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/router/route.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3551"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-6","dynamic":true},{"uid":"c5e49757-3248","dynamic":true},{"uid":"c5e49757-3202","dynamic":true},{"uid":"c5e49757-3220","dynamic":true},{"uid":"c5e49757-3260","dynamic":true},{"uid":"c5e49757-3272","dynamic":true}],"importedBy":[{"uid":"c5e49757-3580"},{"uid":"c5e49757-3574"},{"uid":"c5e49757-3578"}]},"c5e49757-3552":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/watermark.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3553"},"imported":[],"importedBy":[{"uid":"c5e49757-3568"},{"uid":"c5e49757-3490"}]},"c5e49757-3554":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/base.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3555"},"imported":[{"uid":"c5e49757-222"}],"importedBy":[{"uid":"c5e49757-3566"},{"uid":"c5e49757-9444"},{"uid":"c5e49757-3556"},{"uid":"c5e49757-4420"},{"uid":"c5e49757-2130"},{"uid":"c5e49757-462"},{"uid":"c5e49757-9445"},{"uid":"c5e49757-724"},{"uid":"c5e49757-3558"},{"uid":"c5e49757-2156"},{"uid":"c5e49757-2448"},{"uid":"c5e49757-3560"},{"uid":"c5e49757-9446"},{"uid":"c5e49757-630"},{"uid":"c5e49757-2392"},{"uid":"c5e49757-542"},{"uid":"c5e49757-2364"},{"uid":"c5e49757-4636"},{"uid":"c5e49757-3964"},{"uid":"c5e49757-4866"},{"uid":"c5e49757-536"},{"uid":"c5e49757-3562"},{"uid":"c5e49757-9447"},{"uid":"c5e49757-2454"},{"uid":"c5e49757-9448"},{"uid":"c5e49757-484"},{"uid":"c5e49757-658"},{"uid":"c5e49757-636"},{"uid":"c5e49757-664"},{"uid":"c5e49757-644"},{"uid":"c5e49757-492"},{"uid":"c5e49757-624"},{"uid":"c5e49757-294"},{"uid":"c5e49757-4476"},{"uid":"c5e49757-3404"},{"uid":"c5e49757-634"},{"uid":"c5e49757-466"},{"uid":"c5e49757-9449"},{"uid":"c5e49757-9450"},{"uid":"c5e49757-480"},{"uid":"c5e49757-9451"},{"uid":"c5e49757-114"}]},"c5e49757-3556":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-auth-api.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3557"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-3558":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-const-api.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3559"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-3560":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-dict-type-api.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3561"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-3562":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-menu-api.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3563"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-3564":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/configuration.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3565"},"imported":[],"importedBy":[{"uid":"c5e49757-9443"}]},"c5e49757-3566":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/axios-utils.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3567"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-9443"},{"uid":"c5e49757-3554"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3540"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-52"},{"uid":"c5e49757-3568"},{"uid":"c5e49757-3198"},{"uid":"c5e49757-3184"},{"uid":"c5e49757-3318"},{"uid":"c5e49757-3340"},{"uid":"c5e49757-3284"},{"uid":"c5e49757-614"},{"uid":"c5e49757-3290"},{"uid":"c5e49757-3406"},{"uid":"c5e49757-3392"},{"uid":"c5e49757-3746"},{"uid":"c5e49757-3674"},{"uid":"c5e49757-3482"},{"uid":"c5e49757-3386"},{"uid":"c5e49757-3412"},{"uid":"c5e49757-3398"},{"uid":"c5e49757-3424"},{"uid":"c5e49757-3698"},{"uid":"c5e49757-3740"},{"uid":"c5e49757-3686"},{"uid":"c5e49757-3716"},{"uid":"c5e49757-3668"},{"uid":"c5e49757-3526"},{"uid":"c5e49757-3454"},{"uid":"c5e49757-3758"},{"uid":"c5e49757-3652"},{"uid":"c5e49757-3734"},{"uid":"c5e49757-3770"},{"uid":"c5e49757-3634"},{"uid":"c5e49757-3728"},{"uid":"c5e49757-3430"},{"uid":"c5e49757-3782"},{"uid":"c5e49757-3496"},{"uid":"c5e49757-3704"},{"uid":"c5e49757-3752"},{"uid":"c5e49757-3776"},{"uid":"c5e49757-3628"},{"uid":"c5e49757-3710"},{"uid":"c5e49757-3508"},{"uid":"c5e49757-3460"},{"uid":"c5e49757-4082"},{"uid":"c5e49757-3932"},{"uid":"c5e49757-4132"},{"uid":"c5e49757-4286"},{"uid":"c5e49757-4138"},{"uid":"c5e49757-4334"},{"uid":"c5e49757-4088"},{"uid":"c5e49757-3974"},{"uid":"c5e49757-4552"},{"uid":"c5e49757-4794"},{"uid":"c5e49757-4672"},{"uid":"c5e49757-4644"},{"uid":"c5e49757-4546"},{"uid":"c5e49757-4736"},{"uid":"c5e49757-4592"},{"uid":"c5e49757-4686"},{"uid":"c5e49757-3906"},{"uid":"c5e49757-4788"},{"uid":"c5e49757-4266"},{"uid":"c5e49757-4610"},{"uid":"c5e49757-4414"},{"uid":"c5e49757-4466"},{"uid":"c5e49757-4598"},{"uid":"c5e49757-3900"},{"uid":"c5e49757-3924"},{"uid":"c5e49757-4402"},{"uid":"c5e49757-4874"},{"uid":"c5e49757-4446"},{"uid":"c5e49757-4520"},{"uid":"c5e49757-4916"},{"uid":"c5e49757-4836"},{"uid":"c5e49757-4748"},{"uid":"c5e49757-4182"},{"uid":"c5e49757-3912"},{"uid":"c5e49757-4340"},{"uid":"c5e49757-4754"},{"uid":"c5e49757-4586"},{"uid":"c5e49757-4812"},{"uid":"c5e49757-4070"},{"uid":"c5e49757-4818"},{"uid":"c5e49757-4898"},{"uid":"c5e49757-4560"},{"uid":"c5e49757-4928"},{"uid":"c5e49757-4922"},{"uid":"c5e49757-4892"},{"uid":"c5e49757-4216"},{"uid":"c5e49757-4666"},{"uid":"c5e49757-4566"},{"uid":"c5e49757-4910"},{"uid":"c5e49757-4126"},{"uid":"c5e49757-4158"},{"uid":"c5e49757-4824"},{"uid":"c5e49757-4782"},{"uid":"c5e49757-4000"},{"uid":"c5e49757-4572"},{"uid":"c5e49757-4378"},{"uid":"c5e49757-4242"},{"uid":"c5e49757-4496"},{"uid":"c5e49757-4768"},{"uid":"c5e49757-4254"},{"uid":"c5e49757-4540"},{"uid":"c5e49757-4298"},{"uid":"c5e49757-4694"},{"uid":"c5e49757-4700"},{"uid":"c5e49757-4580"},{"uid":"c5e49757-3958"},{"uid":"c5e49757-4036"},{"uid":"c5e49757-4222"},{"uid":"c5e49757-4408"},{"uid":"c5e49757-4660"},{"uid":"c5e49757-4204"},{"uid":"c5e49757-4030"},{"uid":"c5e49757-4616"},{"uid":"c5e49757-4742"},{"uid":"c5e49757-4248"},{"uid":"c5e49757-3788"},{"uid":"c5e49757-4428"},{"uid":"c5e49757-714"},{"uid":"c5e49757-2422"},{"uid":"c5e49757-464"},{"uid":"c5e49757-88"},{"uid":"c5e49757-586"},{"uid":"c5e49757-726"},{"uid":"c5e49757-558"},{"uid":"c5e49757-602"},{"uid":"c5e49757-238"},{"uid":"c5e49757-680"},{"uid":"c5e49757-278"},{"uid":"c5e49757-490"},{"uid":"c5e49757-504"},{"uid":"c5e49757-520"},{"uid":"c5e49757-272"},{"uid":"c5e49757-258"},{"uid":"c5e49757-674"},{"uid":"c5e49757-678"},{"uid":"c5e49757-286"},{"uid":"c5e49757-532"},{"uid":"c5e49757-590"},{"uid":"c5e49757-512"},{"uid":"c5e49757-4326"},{"uid":"c5e49757-2366"},{"uid":"c5e49757-524"},{"uid":"c5e49757-4638"},{"uid":"c5e49757-3966"},{"uid":"c5e49757-4868"},{"uid":"c5e49757-538"},{"uid":"c5e49757-4154"},{"uid":"c5e49757-2426"},{"uid":"c5e49757-2458"},{"uid":"c5e49757-604"},{"uid":"c5e49757-486"},{"uid":"c5e49757-582"},{"uid":"c5e49757-4102"},{"uid":"c5e49757-638"},{"uid":"c5e49757-248"},{"uid":"c5e49757-4176"},{"uid":"c5e49757-652"},{"uid":"c5e49757-666"},{"uid":"c5e49757-572"},{"uid":"c5e49757-236"},{"uid":"c5e49757-282"},{"uid":"c5e49757-4718"},{"uid":"c5e49757-252"},{"uid":"c5e49757-598"},{"uid":"c5e49757-4470"},{"uid":"c5e49757-592"},{"uid":"c5e49757-3868"},{"uid":"c5e49757-280"},{"uid":"c5e49757-100"},{"uid":"c5e49757-4478"},{"uid":"c5e49757-92"},{"uid":"c5e49757-4210"},{"uid":"c5e49757-260"},{"uid":"c5e49757-514"},{"uid":"c5e49757-4076"},{"uid":"c5e49757-3988"},{"uid":"c5e49757-718"},{"uid":"c5e49757-482"},{"uid":"c5e49757-72"},{"uid":"c5e49757-4006"},{"uid":"c5e49757-712"},{"uid":"c5e49757-4354"},{"uid":"c5e49757-4360"},{"uid":"c5e49757-4366"},{"uid":"c5e49757-4372"},{"uid":"c5e49757-2456"},{"uid":"c5e49757-4842"},{"uid":"c5e49757-3502"}]},"c5e49757-3568":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/stores/userInfo.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3569"},"imported":[{"uid":"c5e49757-50"},{"uid":"c5e49757-3540"},{"uid":"c5e49757-3552"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3574"},{"uid":"c5e49757-3578"},{"uid":"c5e49757-674"},{"uid":"c5e49757-514"},{"uid":"c5e49757-4076"},{"uid":"c5e49757-3988"},{"uid":"c5e49757-4006"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-266"},{"uid":"c5e49757-3502"},{"uid":"c5e49757-3616"}]},"c5e49757-3570":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/theme/loading.scss","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3571"},"imported":[],"importedBy":[{"uid":"c5e49757-3572"}]},"c5e49757-3572":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/loading.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3573"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3570"}],"importedBy":[{"uid":"c5e49757-240"},{"uid":"c5e49757-554"},{"uid":"c5e49757-3574"},{"uid":"c5e49757-3578"},{"uid":"c5e49757-3268"},{"uid":"c5e49757-3290"}]},"c5e49757-3574":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/router/frontEnd.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3575"},"imported":[{"uid":"c5e49757-50"},{"uid":"c5e49757-3580"},{"uid":"c5e49757-3550"},{"uid":"c5e49757-3538"},{"uid":"c5e49757-3540"},{"uid":"c5e49757-3568"},{"uid":"c5e49757-3542"},{"uid":"c5e49757-3548"},{"uid":"c5e49757-3572"}],"importedBy":[{"uid":"c5e49757-3580"}]},"c5e49757-3576":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/stores/requestOldRoutes.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3577"},"imported":[{"uid":"c5e49757-50"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3578":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/router/backEnd.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3579"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-3538"},{"uid":"c5e49757-3568"},{"uid":"c5e49757-3576"},{"uid":"c5e49757-3540"},{"uid":"c5e49757-3572"},{"uid":"c5e49757-3550"},{"uid":"c5e49757-3580"},{"uid":"c5e49757-3548"},{"uid":"c5e49757-3542"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-54","dynamic":true},{"uid":"c5e49757-3254","dynamic":true},{"uid":"c5e49757-70","dynamic":true},{"uid":"c5e49757-3470","dynamic":true},{"uid":"c5e49757-60","dynamic":true},{"uid":"c5e49757-3768","dynamic":true},{"uid":"c5e49757-90","dynamic":true},{"uid":"c5e49757-3276","dynamic":true},{"uid":"c5e49757-3282","dynamic":true},{"uid":"c5e49757-3188","dynamic":true},{"uid":"c5e49757-3322","dynamic":true},{"uid":"c5e49757-3344","dynamic":true},{"uid":"c5e49757-3288","dynamic":true},{"uid":"c5e49757-3260","dynamic":true},{"uid":"c5e49757-3220","dynamic":true},{"uid":"c5e49757-3452","dynamic":true},{"uid":"c5e49757-618","dynamic":true},{"uid":"c5e49757-3294","dynamic":true},{"uid":"c5e49757-3410","dynamic":true},{"uid":"c5e49757-3338","dynamic":true},{"uid":"c5e49757-3272","dynamic":true},{"uid":"c5e49757-226","dynamic":true},{"uid":"c5e49757-134","dynamic":true},{"uid":"c5e49757-3300","dynamic":true},{"uid":"c5e49757-3396","dynamic":true},{"uid":"c5e49757-3798","dynamic":true},{"uid":"c5e49757-3750","dynamic":true},{"uid":"c5e49757-3678","dynamic":true},{"uid":"c5e49757-3486","dynamic":true},{"uid":"c5e49757-3390","dynamic":true},{"uid":"c5e49757-3416","dynamic":true},{"uid":"c5e49757-3402","dynamic":true},{"uid":"c5e49757-3428","dynamic":true},{"uid":"c5e49757-3726","dynamic":true},{"uid":"c5e49757-3650","dynamic":true},{"uid":"c5e49757-3524","dynamic":true},{"uid":"c5e49757-566","dynamic":true},{"uid":"c5e49757-3664","dynamic":true},{"uid":"c5e49757-3702","dynamic":true},{"uid":"c5e49757-3744","dynamic":true},{"uid":"c5e49757-3690","dynamic":true},{"uid":"c5e49757-3446","dynamic":true},{"uid":"c5e49757-3720","dynamic":true},{"uid":"c5e49757-3672","dynamic":true},{"uid":"c5e49757-3530","dynamic":true},{"uid":"c5e49757-3458","dynamic":true},{"uid":"c5e49757-3440","dynamic":true},{"uid":"c5e49757-3696","dynamic":true},{"uid":"c5e49757-3762","dynamic":true},{"uid":"c5e49757-3656","dynamic":true},{"uid":"c5e49757-3738","dynamic":true},{"uid":"c5e49757-3774","dynamic":true},{"uid":"c5e49757-3638","dynamic":true},{"uid":"c5e49757-3732","dynamic":true},{"uid":"c5e49757-3434","dynamic":true},{"uid":"c5e49757-3786","dynamic":true},{"uid":"c5e49757-3500","dynamic":true},{"uid":"c5e49757-3708","dynamic":true},{"uid":"c5e49757-3756","dynamic":true},{"uid":"c5e49757-3644","dynamic":true},{"uid":"c5e49757-3780","dynamic":true},{"uid":"c5e49757-3632","dynamic":true},{"uid":"c5e49757-3714","dynamic":true},{"uid":"c5e49757-3512","dynamic":true},{"uid":"c5e49757-3464","dynamic":true},{"uid":"c5e49757-3684","dynamic":true},{"uid":"c5e49757-4086","dynamic":true},{"uid":"c5e49757-4494","dynamic":true},{"uid":"c5e49757-3936","dynamic":true},{"uid":"c5e49757-4136","dynamic":true},{"uid":"c5e49757-4290","dynamic":true},{"uid":"c5e49757-4142","dynamic":true},{"uid":"c5e49757-4338","dynamic":true},{"uid":"c5e49757-4400","dynamic":true},{"uid":"c5e49757-4092","dynamic":true},{"uid":"c5e49757-3950","dynamic":true},{"uid":"c5e49757-3956","dynamic":true},{"uid":"c5e49757-3978","dynamic":true},{"uid":"c5e49757-4232","dynamic":true},{"uid":"c5e49757-4168","dynamic":true},{"uid":"c5e49757-4684","dynamic":true},{"uid":"c5e49757-4556","dynamic":true},{"uid":"c5e49757-4798","dynamic":true},{"uid":"c5e49757-4676","dynamic":true},{"uid":"c5e49757-4648","dynamic":true},{"uid":"c5e49757-4550","dynamic":true},{"uid":"c5e49757-4740","dynamic":true},{"uid":"c5e49757-4596","dynamic":true},{"uid":"c5e49757-4352","dynamic":true},{"uid":"c5e49757-4690","dynamic":true},{"uid":"c5e49757-4780","dynamic":true},{"uid":"c5e49757-4394","dynamic":true},{"uid":"c5e49757-4734","dynamic":true},{"uid":"c5e49757-4388","dynamic":true},{"uid":"c5e49757-4324","dynamic":true},{"uid":"c5e49757-4276","dynamic":true},{"uid":"c5e49757-3998","dynamic":true},{"uid":"c5e49757-4308","dynamic":true},{"uid":"c5e49757-3910","dynamic":true},{"uid":"c5e49757-3804","dynamic":true},{"uid":"c5e49757-4444","dynamic":true},{"uid":"c5e49757-4174","dynamic":true},{"uid":"c5e49757-4792","dynamic":true},{"uid":"c5e49757-4270","dynamic":true},{"uid":"c5e49757-4766","dynamic":true},{"uid":"c5e49757-3822","dynamic":true},{"uid":"c5e49757-3834","dynamic":true},{"uid":"c5e49757-4264","dynamic":true},{"uid":"c5e49757-4614","dynamic":true},{"uid":"c5e49757-4418","dynamic":true},{"uid":"c5e49757-4464","dynamic":true},{"uid":"c5e49757-3878","dynamic":true},{"uid":"c5e49757-4112","dynamic":true},{"uid":"c5e49757-4124","dynamic":true},{"uid":"c5e49757-4062","dynamic":true},{"uid":"c5e49757-4118","dynamic":true},{"uid":"c5e49757-3480","dynamic":true},{"uid":"c5e49757-4518","dynamic":true},{"uid":"c5e49757-650","dynamic":true},{"uid":"c5e49757-4602","dynamic":true},{"uid":"c5e49757-3904","dynamic":true},{"uid":"c5e49757-3928","dynamic":true},{"uid":"c5e49757-4804","dynamic":true},{"uid":"c5e49757-4456","dynamic":true},{"uid":"c5e49757-4406","dynamic":true},{"uid":"c5e49757-4878","dynamic":true},{"uid":"c5e49757-4450","dynamic":true},{"uid":"c5e49757-4524","dynamic":true},{"uid":"c5e49757-4920","dynamic":true},{"uid":"c5e49757-4840","dynamic":true},{"uid":"c5e49757-4752","dynamic":true},{"uid":"c5e49757-4834","dynamic":true},{"uid":"c5e49757-4186","dynamic":true},{"uid":"c5e49757-3916","dynamic":true},{"uid":"c5e49757-4344","dynamic":true},{"uid":"c5e49757-4758","dynamic":true},{"uid":"c5e49757-4590","dynamic":true},{"uid":"c5e49757-4816","dynamic":true},{"uid":"c5e49757-4074","dynamic":true},{"uid":"c5e49757-4822","dynamic":true},{"uid":"c5e49757-4902","dynamic":true},{"uid":"c5e49757-4564","dynamic":true},{"uid":"c5e49757-4932","dynamic":true},{"uid":"c5e49757-4926","dynamic":true},{"uid":"c5e49757-4896","dynamic":true},{"uid":"c5e49757-4220","dynamic":true},{"uid":"c5e49757-4056","dynamic":true},{"uid":"c5e49757-4852","dynamic":true},{"uid":"c5e49757-4670","dynamic":true},{"uid":"c5e49757-4570","dynamic":true},{"uid":"c5e49757-4914","dynamic":true},{"uid":"c5e49757-4130","dynamic":true},{"uid":"c5e49757-4162","dynamic":true},{"uid":"c5e49757-4828","dynamic":true},{"uid":"c5e49757-4786","dynamic":true},{"uid":"c5e49757-4004","dynamic":true},{"uid":"c5e49757-4576","dynamic":true},{"uid":"c5e49757-4382","dynamic":true},{"uid":"c5e49757-4656","dynamic":true},{"uid":"c5e49757-4512","dynamic":true},{"uid":"c5e49757-4246","dynamic":true},{"uid":"c5e49757-4500","dynamic":true},{"uid":"c5e49757-4772","dynamic":true},{"uid":"c5e49757-4258","dynamic":true},{"uid":"c5e49757-4544","dynamic":true},{"uid":"c5e49757-4302","dynamic":true},{"uid":"c5e49757-4438","dynamic":true},{"uid":"c5e49757-4282","dynamic":true},{"uid":"c5e49757-4710","dynamic":true},{"uid":"c5e49757-4044","dynamic":true},{"uid":"c5e49757-4698","dynamic":true},{"uid":"c5e49757-4704","dynamic":true},{"uid":"c5e49757-3892","dynamic":true},{"uid":"c5e49757-4608","dynamic":true},{"uid":"c5e49757-4584","dynamic":true},{"uid":"c5e49757-3962","dynamic":true},{"uid":"c5e49757-4192","dynamic":true},{"uid":"c5e49757-548","dynamic":true},{"uid":"c5e49757-4226","dynamic":true},{"uid":"c5e49757-4628","dynamic":true},{"uid":"c5e49757-4412","dynamic":true},{"uid":"c5e49757-4664","dynamic":true},{"uid":"c5e49757-4208","dynamic":true},{"uid":"c5e49757-4016","dynamic":true},{"uid":"c5e49757-4864","dynamic":true},{"uid":"c5e49757-4022","dynamic":true},{"uid":"c5e49757-4028","dynamic":true},{"uid":"c5e49757-4810","dynamic":true},{"uid":"c5e49757-4034","dynamic":true},{"uid":"c5e49757-4050","dynamic":true},{"uid":"c5e49757-4068","dynamic":true},{"uid":"c5e49757-4620","dynamic":true},{"uid":"c5e49757-4728","dynamic":true},{"uid":"c5e49757-3942","dynamic":true},{"uid":"c5e49757-4098","dynamic":true},{"uid":"c5e49757-4746","dynamic":true},{"uid":"c5e49757-4716","dynamic":true},{"uid":"c5e49757-3898","dynamic":true},{"uid":"c5e49757-4252","dynamic":true},{"uid":"c5e49757-3792","dynamic":true},{"uid":"c5e49757-3922","dynamic":true},{"uid":"c5e49757-4432","dynamic":true},{"uid":"c5e49757-570","dynamic":true},{"uid":"c5e49757-704","dynamic":true},{"uid":"c5e49757-76","dynamic":true},{"uid":"c5e49757-86","dynamic":true},{"uid":"c5e49757-588","dynamic":true},{"uid":"c5e49757-80","dynamic":true},{"uid":"c5e49757-560","dynamic":true},{"uid":"c5e49757-518","dynamic":true},{"uid":"c5e49757-84","dynamic":true},{"uid":"c5e49757-306","dynamic":true},{"uid":"c5e49757-228","dynamic":true},{"uid":"c5e49757-12","dynamic":true},{"uid":"c5e49757-534","dynamic":true},{"uid":"c5e49757-3202","dynamic":true},{"uid":"c5e49757-522","dynamic":true},{"uid":"c5e49757-580","dynamic":true},{"uid":"c5e49757-546","dynamic":true},{"uid":"c5e49757-676","dynamic":true},{"uid":"c5e49757-506","dynamic":true},{"uid":"c5e49757-288","dynamic":true},{"uid":"c5e49757-3884","dynamic":true},{"uid":"c5e49757-494","dynamic":true},{"uid":"c5e49757-550","dynamic":true},{"uid":"c5e49757-544","dynamic":true},{"uid":"c5e49757-3248","dynamic":true},{"uid":"c5e49757-4330","dynamic":true},{"uid":"c5e49757-232","dynamic":true},{"uid":"c5e49757-526","dynamic":true},{"uid":"c5e49757-4642","dynamic":true},{"uid":"c5e49757-3970","dynamic":true},{"uid":"c5e49757-4872","dynamic":true},{"uid":"c5e49757-540","dynamic":true},{"uid":"c5e49757-508","dynamic":true},{"uid":"c5e49757-2428","dynamic":true},{"uid":"c5e49757-622","dynamic":true},{"uid":"c5e49757-606","dynamic":true},{"uid":"c5e49757-488","dynamic":true},{"uid":"c5e49757-608","dynamic":true},{"uid":"c5e49757-4106","dynamic":true},{"uid":"c5e49757-4634","dynamic":true},{"uid":"c5e49757-640","dynamic":true},{"uid":"c5e49757-578","dynamic":true},{"uid":"c5e49757-4180","dynamic":true},{"uid":"c5e49757-654","dynamic":true},{"uid":"c5e49757-642","dynamic":true},{"uid":"c5e49757-574","dynamic":true},{"uid":"c5e49757-672","dynamic":true},{"uid":"c5e49757-284","dynamic":true},{"uid":"c5e49757-4722","dynamic":true},{"uid":"c5e49757-4890","dynamic":true},{"uid":"c5e49757-3384","dynamic":true},{"uid":"c5e49757-254","dynamic":true},{"uid":"c5e49757-662","dynamic":true},{"uid":"c5e49757-4474","dynamic":true},{"uid":"c5e49757-594","dynamic":true},{"uid":"c5e49757-3872","dynamic":true},{"uid":"c5e49757-300","dynamic":true},{"uid":"c5e49757-3860","dynamic":true},{"uid":"c5e49757-102","dynamic":true},{"uid":"c5e49757-4482","dynamic":true},{"uid":"c5e49757-66","dynamic":true},{"uid":"c5e49757-4214","dynamic":true},{"uid":"c5e49757-262","dynamic":true},{"uid":"c5e49757-256","dynamic":true},{"uid":"c5e49757-4080","dynamic":true},{"uid":"c5e49757-3992","dynamic":true},{"uid":"c5e49757-720","dynamic":true},{"uid":"c5e49757-308","dynamic":true},{"uid":"c5e49757-74","dynamic":true}],"importedBy":[{"uid":"c5e49757-3580"},{"uid":"c5e49757-3290"}]},"c5e49757-3580":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/router/index.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3581"},"imported":[{"uid":"c5e49757-348"},{"uid":"c5e49757-3212"},{"uid":"c5e49757-3214"},{"uid":"c5e49757-3538"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3546"},{"uid":"c5e49757-3548"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3540"},{"uid":"c5e49757-3550"},{"uid":"c5e49757-3574"},{"uid":"c5e49757-3578"}],"importedBy":[{"uid":"c5e49757-3604"},{"uid":"c5e49757-3574"},{"uid":"c5e49757-3578"},{"uid":"c5e49757-4842"},{"uid":"c5e49757-3624"}]},"c5e49757-3582":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/i18n/lang/en.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3583"},"imported":[],"importedBy":[{"uid":"c5e49757-3600"}]},"c5e49757-3584":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/i18n/lang/zh-cn.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3585"},"imported":[],"importedBy":[{"uid":"c5e49757-3600"}]},"c5e49757-3586":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/i18n/lang/zh-tw.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3587"},"imported":[],"importedBy":[{"uid":"c5e49757-3600"}]},"c5e49757-3588":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/i18n/pages/formI18n/en.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3589"},"imported":[],"importedBy":[{"uid":"c5e49757-3600"}]},"c5e49757-3590":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/i18n/pages/formI18n/zh-cn.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3591"},"imported":[],"importedBy":[{"uid":"c5e49757-3600"}]},"c5e49757-3592":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/i18n/pages/formI18n/zh-tw.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3593"},"imported":[],"importedBy":[{"uid":"c5e49757-3600"}]},"c5e49757-3594":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/i18n/pages/login/en.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3595"},"imported":[],"importedBy":[{"uid":"c5e49757-3600"}]},"c5e49757-3596":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/i18n/pages/login/zh-cn.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3597"},"imported":[],"importedBy":[{"uid":"c5e49757-3600"}]},"c5e49757-3598":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/i18n/pages/login/zh-tw.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3599"},"imported":[],"importedBy":[{"uid":"c5e49757-3600"}]},"c5e49757-3600":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/i18n/index.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3601"},"imported":[{"uid":"c5e49757-3582"},{"uid":"c5e49757-3584"},{"uid":"c5e49757-3586"},{"uid":"c5e49757-3588"},{"uid":"c5e49757-3590"},{"uid":"c5e49757-3592"},{"uid":"c5e49757-3594"},{"uid":"c5e49757-3596"},{"uid":"c5e49757-3598"},{"uid":"c5e49757-2378"},{"uid":"c5e49757-3538"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-5026"},{"uid":"c5e49757-6360"},{"uid":"c5e49757-6362"}],"importedBy":[{"uid":"c5e49757-3604"},{"uid":"c5e49757-3624"}]},"c5e49757-3602":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/toolsValidate.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3603"},"imported":[],"importedBy":[{"uid":"c5e49757-3604"},{"uid":"c5e49757-3250"},{"uid":"c5e49757-3406"},{"uid":"c5e49757-3490"}]},"c5e49757-3604":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/other.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3605"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-3580"},{"uid":"c5e49757-3538"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3600"},{"uid":"c5e49757-3540"},{"uid":"c5e49757-3602"},{"uid":"c5e49757-18","dynamic":true}],"importedBy":[{"uid":"c5e49757-4484"},{"uid":"c5e49757-268"},{"uid":"c5e49757-128"},{"uid":"c5e49757-4154"},{"uid":"c5e49757-4904"},{"uid":"c5e49757-4006"},{"uid":"c5e49757-4854"},{"uid":"c5e49757-3490"},{"uid":"c5e49757-3624"},{"uid":"c5e49757-3610"}]},"c5e49757-3606":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/mitt.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3607"},"imported":[{"uid":"c5e49757-14"}],"importedBy":[{"uid":"c5e49757-4"},{"uid":"c5e49757-124"},{"uid":"c5e49757-4484"},{"uid":"c5e49757-4292"},{"uid":"c5e49757-68"},{"uid":"c5e49757-3836"},{"uid":"c5e49757-464"},{"uid":"c5e49757-4006"},{"uid":"c5e49757-4854"},{"uid":"c5e49757-3490"},{"uid":"c5e49757-3610"}]},"c5e49757-3608":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/setIconfont.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3609"},"imported":[],"importedBy":[{"uid":"c5e49757-3610"}]},"c5e49757-3610":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/App.vue?vue&type=script&setup=true&name=app&lang.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3611"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-2378"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3542"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3604"},{"uid":"c5e49757-3540"},{"uid":"c5e49757-3606"},{"uid":"c5e49757-3608"},{"uid":"c5e49757-3506","dynamic":true},{"uid":"c5e49757-3494","dynamic":true},{"uid":"c5e49757-3518","dynamic":true}],"importedBy":[{"uid":"c5e49757-9756"}]},"c5e49757-3612":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/App.vue?vue&type=style&index=0&lang.scss","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3613"},"imported":[],"importedBy":[{"uid":"c5e49757-9756"}]},"c5e49757-3614":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/arrayOperation.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3615"},"imported":[],"importedBy":[{"uid":"c5e49757-4484"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-3616"}]},"c5e49757-3616":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/directive/authDirective.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3617"},"imported":[{"uid":"c5e49757-3568"},{"uid":"c5e49757-3614"}],"importedBy":[{"uid":"c5e49757-3620"}]},"c5e49757-3618":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/directive/customDirective.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3619"},"imported":[],"importedBy":[{"uid":"c5e49757-3620"}]},"c5e49757-3620":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/directive/index.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3621"},"imported":[{"uid":"c5e49757-3616"},{"uid":"c5e49757-3618"}],"importedBy":[{"uid":"c5e49757-3624"}]},"c5e49757-3622":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/theme/index.scss","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3623"},"imported":[],"importedBy":[{"uid":"c5e49757-3624"}]},"c5e49757-3624":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/main.ts","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3625"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3538"},{"uid":"c5e49757-9756"},{"uid":"c5e49757-3580"},{"uid":"c5e49757-3620"},{"uid":"c5e49757-3600"},{"uid":"c5e49757-3604"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3622"},{"uid":"c5e49757-3164"},{"uid":"c5e49757-7290"},{"uid":"c5e49757-7292"},{"uid":"c5e49757-22"},{"uid":"c5e49757-3472"},{"uid":"c5e49757-3474"},{"uid":"c5e49757-2396"},{"uid":"c5e49757-7424"}],"importedBy":[{"uid":"c5e49757-3626"}]},"c5e49757-3626":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/index.html","moduleParts":{"assets/js/index-BZIPhdZn.js":"c5e49757-3627"},"imported":[{"uid":"c5e49757-3536"},{"uid":"c5e49757-3624"}],"importedBy":[],"isEntry":true},"c5e49757-3628":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockQuanOut/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-BN2Bt2ew.js":"c5e49757-3629"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-660"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3632"}]},"c5e49757-3630":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockQuanOut/component/editDialog.vue?vue&type=style&index=0&scoped=b71c3b43&lang.css","moduleParts":{"assets/js/editDialog-BN2Bt2ew.js":"c5e49757-3631"},"imported":[],"importedBy":[{"uid":"c5e49757-3632"}]},"c5e49757-3632":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockQuanOut/component/editDialog.vue","moduleParts":{"assets/js/editDialog-BN2Bt2ew.js":"c5e49757-3633"},"imported":[{"uid":"c5e49757-3628"},{"uid":"c5e49757-3630"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3634":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordReceivingDelivery/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DfD5dB2f.js":"c5e49757-3635"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-716"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3638"}]},"c5e49757-3636":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordReceivingDelivery/component/editDialog.vue?vue&type=style&index=0&scoped=e7286c47&lang.css","moduleParts":{"assets/js/editDialog-DfD5dB2f.js":"c5e49757-3637"},"imported":[],"importedBy":[{"uid":"c5e49757-3638"}]},"c5e49757-3638":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordReceivingDelivery/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DfD5dB2f.js":"c5e49757-3639"},"imported":[{"uid":"c5e49757-3634"},{"uid":"c5e49757-3636"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3640":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockQuan/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-CjRxYCoF.js":"c5e49757-3641"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-3644"}]},"c5e49757-3642":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockQuan/component/editDialog.vue?vue&type=style&index=0&scoped=724f9e3b&lang.css","moduleParts":{"assets/js/editDialog-CjRxYCoF.js":"c5e49757-3643"},"imported":[],"importedBy":[{"uid":"c5e49757-3644"}]},"c5e49757-3644":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockQuan/component/editDialog.vue","moduleParts":{"assets/js/editDialog-CjRxYCoF.js":"c5e49757-3645"},"imported":[{"uid":"c5e49757-3640"},{"uid":"c5e49757-3642"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3776"}]},"c5e49757-3646":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/component/ContentView.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/ContentView-DR-dVbfh.js":"c5e49757-3647"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3726"},{"uid":"c5e49757-566"}],"importedBy":[{"uid":"c5e49757-3650"}]},"c5e49757-3648":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/component/ContentView.vue?vue&type=style&index=0&scoped=ef985374&lang.less","moduleParts":{"assets/js/ContentView-DR-dVbfh.js":"c5e49757-3649"},"imported":[],"importedBy":[{"uid":"c5e49757-3650"}]},"c5e49757-3650":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/component/ContentView.vue","moduleParts":{"assets/js/ContentView-DR-dVbfh.js":"c5e49757-3651"},"imported":[{"uid":"c5e49757-3646"},{"uid":"c5e49757-3648"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3660"}]},"c5e49757-3652":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordPredDispHistory/index.vue?vue&type=script&setup=true&name=wmsRecordPredDispHistory&lang.ts","moduleParts":{"assets/js/index-D04O0DrK.js":"c5e49757-3653"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-510"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-3656"}]},"c5e49757-3654":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordPredDispHistory/index.vue?vue&type=style&index=0&scoped=2a5c8d9f&lang.css","moduleParts":{"assets/js/index-D04O0DrK.js":"c5e49757-3655"},"imported":[],"importedBy":[{"uid":"c5e49757-3656"}]},"c5e49757-3656":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordPredDispHistory/index.vue","moduleParts":{"assets/js/index-D04O0DrK.js":"c5e49757-3657"},"imported":[{"uid":"c5e49757-3652"},{"uid":"c5e49757-3654"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3658":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/storageView.ts","moduleParts":{"assets/js/index-DV_ImfLB.js":"c5e49757-3659"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3660"}]},"c5e49757-3660":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/index.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/index-DV_ImfLB.js":"c5e49757-3661"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3658"},{"uid":"c5e49757-3524"},{"uid":"c5e49757-3650"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3172"}],"importedBy":[{"uid":"c5e49757-3664"}]},"c5e49757-3662":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/index.vue?vue&type=style&index=0&scoped=238f1cea&lang.less","moduleParts":{"assets/js/index-DV_ImfLB.js":"c5e49757-3663"},"imported":[],"importedBy":[{"uid":"c5e49757-3664"}]},"c5e49757-3664":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/index.vue","moduleParts":{"assets/js/index-DV_ImfLB.js":"c5e49757-3665"},"imported":[{"uid":"c5e49757-3660"},{"uid":"c5e49757-3662"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3666":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/ReportCenter/wmsAvailabilityOfPlace.ts","moduleParts":{"assets/js/index-CkELV9dH.js":"c5e49757-3667"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3668"}]},"c5e49757-3668":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsAvailabilityOfPlace/index.vue?vue&type=script&setup=true&name=wmsTask&lang.ts","moduleParts":{"assets/js/index-CkELV9dH.js":"c5e49757-3669"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-250"},{"uid":"c5e49757-3666"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-298"}],"importedBy":[{"uid":"c5e49757-3672"}]},"c5e49757-3670":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsAvailabilityOfPlace/index.vue?vue&type=style&index=0&scoped=0e3f364c&lang.css","moduleParts":{"assets/js/index-CkELV9dH.js":"c5e49757-3671"},"imported":[],"importedBy":[{"uid":"c5e49757-3672"}]},"c5e49757-3672":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsAvailabilityOfPlace/index.vue","moduleParts":{"assets/js/index-CkELV9dH.js":"c5e49757-3673"},"imported":[{"uid":"c5e49757-3668"},{"uid":"c5e49757-3670"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3674":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsContainerSortPrint/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DO6zLAya.js":"c5e49757-3675"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-290"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3678"}]},"c5e49757-3676":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsContainerSortPrint/component/editDialog.vue?vue&type=style&index=0&scoped=71451b01&lang.css","moduleParts":{"assets/js/editDialog-DO6zLAya.js":"c5e49757-3677"},"imported":[],"importedBy":[{"uid":"c5e49757-3678"}]},"c5e49757-3678":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/PrintCenter/wmsContainerSortPrint/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DO6zLAya.js":"c5e49757-3679"},"imported":[{"uid":"c5e49757-3674"},{"uid":"c5e49757-3676"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3680":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterCategories/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-BwHmSMp-.js":"c5e49757-3681"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-632"}],"importedBy":[{"uid":"c5e49757-3684"}]},"c5e49757-3682":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterCategories/component/editDialog.vue?vue&type=style&index=0&scoped=bf23a482&lang.css","moduleParts":{"assets/js/editDialog-BwHmSMp-.js":"c5e49757-3683"},"imported":[],"importedBy":[{"uid":"c5e49757-3684"}]},"c5e49757-3684":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterCategories/component/editDialog.vue","moduleParts":{"assets/js/editDialog-BwHmSMp-.js":"c5e49757-3685"},"imported":[{"uid":"c5e49757-3680"},{"uid":"c5e49757-3682"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4490"}]},"c5e49757-3686":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wareInventorySummary/component/openAllproptwo.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openAllproptwo-uwFxd9FF.js":"c5e49757-3687"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-64"},{"uid":"c5e49757-230"},{"uid":"c5e49757-2442"}],"importedBy":[{"uid":"c5e49757-3690"}]},"c5e49757-3688":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wareInventorySummary/component/openAllproptwo.vue?vue&type=style&index=0&scoped=c61edb3f&lang.less","moduleParts":{"assets/js/openAllproptwo-uwFxd9FF.js":"c5e49757-3689"},"imported":[],"importedBy":[{"uid":"c5e49757-3690"}]},"c5e49757-3690":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wareInventorySummary/component/openAllproptwo.vue","moduleParts":{"assets/js/openAllproptwo-uwFxd9FF.js":"c5e49757-3691"},"imported":[{"uid":"c5e49757-3686"},{"uid":"c5e49757-3688"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3442"}]},"c5e49757-3692":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsLogAction/index.vue?vue&type=script&setup=true&name=wmsLogAction&lang.ts","moduleParts":{"assets/js/index-Cv3jDqoO.js":"c5e49757-3693"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-470"}],"importedBy":[{"uid":"c5e49757-3696"}]},"c5e49757-3694":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsLogAction/index.vue?vue&type=style&index=0&scoped=c12979ec&lang.css","moduleParts":{"assets/js/index-Cv3jDqoO.js":"c5e49757-3695"},"imported":[],"importedBy":[{"uid":"c5e49757-3696"}]},"c5e49757-3696":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsLogAction/index.vue","moduleParts":{"assets/js/index-Cv3jDqoO.js":"c5e49757-3697"},"imported":[{"uid":"c5e49757-3692"},{"uid":"c5e49757-3694"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3698":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wareInventorySummary/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-BM3zcUP2.js":"c5e49757-3699"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2442"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3702"}]},"c5e49757-3700":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wareInventorySummary/component/editDialog.vue?vue&type=style&index=0&scoped=341ff78d&lang.css","moduleParts":{"assets/js/editDialog-BM3zcUP2.js":"c5e49757-3701"},"imported":[],"importedBy":[{"uid":"c5e49757-3702"}]},"c5e49757-3702":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wareInventorySummary/component/editDialog.vue","moduleParts":{"assets/js/editDialog-BM3zcUP2.js":"c5e49757-3703"},"imported":[{"uid":"c5e49757-3698"},{"uid":"c5e49757-3700"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3704":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockBoardabc/component/openAllpropDetail.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openAllpropDetail-B3FTyP7s.js":"c5e49757-3705"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-230"},{"uid":"c5e49757-2152"},{"uid":"c5e49757-728"},{"uid":"c5e49757-706"}],"importedBy":[{"uid":"c5e49757-3708"}]},"c5e49757-3706":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockBoardabc/component/openAllpropDetail.vue?vue&type=style&index=0&scoped=4bc4ec98&lang.less","moduleParts":{"assets/js/openAllpropDetail-B3FTyP7s.js":"c5e49757-3707"},"imported":[],"importedBy":[{"uid":"c5e49757-3708"}]},"c5e49757-3708":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockBoardabc/component/openAllpropDetail.vue","moduleParts":{"assets/js/openAllpropDetail-B3FTyP7s.js":"c5e49757-3709"},"imported":[{"uid":"c5e49757-3704"},{"uid":"c5e49757-3706"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3752"}]},"c5e49757-3710":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockQuanOut/index.vue?vue&type=script&setup=true&name=wmsStockQuanOut&lang.ts","moduleParts":{"assets/js/index-Tt8KB0eq.js":"c5e49757-3711"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-660"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-3714"}]},"c5e49757-3712":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockQuanOut/index.vue?vue&type=style&index=0&scoped=31c6d3f4&lang.css","moduleParts":{"assets/js/index-Tt8KB0eq.js":"c5e49757-3713"},"imported":[],"importedBy":[{"uid":"c5e49757-3714"}]},"c5e49757-3714":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockQuanOut/index.vue","moduleParts":{"assets/js/index-Tt8KB0eq.js":"c5e49757-3715"},"imported":[{"uid":"c5e49757-3710"},{"uid":"c5e49757-3712"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3716":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsAvailabilityOfPlace/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-5uoxBGAr.js":"c5e49757-3717"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-250"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3720"}]},"c5e49757-3718":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsAvailabilityOfPlace/component/editDialog.vue?vue&type=style&index=0&scoped=135098f6&lang.css","moduleParts":{"assets/js/editDialog-5uoxBGAr.js":"c5e49757-3719"},"imported":[],"importedBy":[{"uid":"c5e49757-3720"}]},"c5e49757-3720":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsAvailabilityOfPlace/component/editDialog.vue","moduleParts":{"assets/js/editDialog-5uoxBGAr.js":"c5e49757-3721"},"imported":[{"uid":"c5e49757-3716"},{"uid":"c5e49757-3718"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3722":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/component/ContentItem.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/ContentItem-CzT5p8mB.js":"c5e49757-3723"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-3726"}]},"c5e49757-3724":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/component/ContentItem.vue?vue&type=style&index=0&scoped=3090e557&lang.less","moduleParts":{"assets/js/ContentItem-CzT5p8mB.js":"c5e49757-3725"},"imported":[],"importedBy":[{"uid":"c5e49757-3726"}]},"c5e49757-3726":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/storageView/component/ContentItem.vue","moduleParts":{"assets/js/ContentItem-CzT5p8mB.js":"c5e49757-3727"},"imported":[{"uid":"c5e49757-3722"},{"uid":"c5e49757-3724"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3646"}]},"c5e49757-3728":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordReceivingDelivery/index.vue?vue&type=script&setup=true&name=wmsRecordReceivingDelivery&lang.ts","moduleParts":{"assets/js/index-W9gVm43O.js":"c5e49757-3729"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-716"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-2450"}],"importedBy":[{"uid":"c5e49757-3732"}]},"c5e49757-3730":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordReceivingDelivery/index.vue?vue&type=style&index=0&scoped=1016a04d&lang.css","moduleParts":{"assets/js/index-W9gVm43O.js":"c5e49757-3731"},"imported":[],"importedBy":[{"uid":"c5e49757-3732"}]},"c5e49757-3732":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordReceivingDelivery/index.vue","moduleParts":{"assets/js/index-W9gVm43O.js":"c5e49757-3733"},"imported":[{"uid":"c5e49757-3728"},{"uid":"c5e49757-3730"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3734":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordPredetermineDispense/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-ClPzVBMR.js":"c5e49757-3735"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-722"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3738"}]},"c5e49757-3736":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordPredetermineDispense/component/editDialog.vue?vue&type=style&index=0&scoped=40099f9f&lang.css","moduleParts":{"assets/js/editDialog-ClPzVBMR.js":"c5e49757-3737"},"imported":[],"importedBy":[{"uid":"c5e49757-3738"}]},"c5e49757-3738":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordPredetermineDispense/component/editDialog.vue","moduleParts":{"assets/js/editDialog-ClPzVBMR.js":"c5e49757-3739"},"imported":[{"uid":"c5e49757-3734"},{"uid":"c5e49757-3736"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3740":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wareInventorySummary/component/openAllprop.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openAllprop-ClitCkah.js":"c5e49757-3741"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-64"},{"uid":"c5e49757-230"},{"uid":"c5e49757-2442"}],"importedBy":[{"uid":"c5e49757-3744"}]},"c5e49757-3742":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wareInventorySummary/component/openAllprop.vue?vue&type=style&index=0&scoped=bbf74cfc&lang.less","moduleParts":{"assets/js/openAllprop-ClitCkah.js":"c5e49757-3743"},"imported":[],"importedBy":[{"uid":"c5e49757-3744"}]},"c5e49757-3744":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wareInventorySummary/component/openAllprop.vue","moduleParts":{"assets/js/openAllprop-ClitCkah.js":"c5e49757-3745"},"imported":[{"uid":"c5e49757-3740"},{"uid":"c5e49757-3742"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3442"}]},"c5e49757-3746":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkDifferenceCfm/index.vue?vue&type=script&setup=true&name=checkDifferenceCfm&lang.ts","moduleParts":{"assets/js/index-DGMOem4G.js":"c5e49757-3747"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-298"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-2438"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-3480"},{"uid":"c5e49757-2384"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3798"},{"uid":"c5e49757-2432"}],"importedBy":[{"uid":"c5e49757-3750"}]},"c5e49757-3748":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkDifferenceCfm/index.vue?vue&type=style&index=0&scoped=d33eda0f&lang.css","moduleParts":{"assets/js/index-DGMOem4G.js":"c5e49757-3749"},"imported":[],"importedBy":[{"uid":"c5e49757-3750"}]},"c5e49757-3750":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkDifferenceCfm/index.vue","moduleParts":{"assets/js/index-DGMOem4G.js":"c5e49757-3751"},"imported":[{"uid":"c5e49757-3746"},{"uid":"c5e49757-3748"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3752":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockBoardabc/index.vue?vue&type=script&setup=true&name=wmsStockBoardabc&lang.ts","moduleParts":{"assets/js/index-uyjzx2ho.js":"c5e49757-3753"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-7286"},{"uid":"c5e49757-3708"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-706"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-3756"}]},"c5e49757-3754":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockBoardabc/index.vue?vue&type=style&index=0&scoped=6c29bb0c&lang.css","moduleParts":{"assets/js/index-uyjzx2ho.js":"c5e49757-3755"},"imported":[],"importedBy":[{"uid":"c5e49757-3756"}]},"c5e49757-3756":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockBoardabc/index.vue","moduleParts":{"assets/js/index-uyjzx2ho.js":"c5e49757-3757"},"imported":[{"uid":"c5e49757-3752"},{"uid":"c5e49757-3754"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3758":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordPredDispHistory/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-CryldWhF.js":"c5e49757-3759"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-510"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3762"}]},"c5e49757-3760":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordPredDispHistory/component/editDialog.vue?vue&type=style&index=0&scoped=a9b98f05&lang.css","moduleParts":{"assets/js/editDialog-CryldWhF.js":"c5e49757-3761"},"imported":[],"importedBy":[{"uid":"c5e49757-3762"}]},"c5e49757-3762":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordPredDispHistory/component/editDialog.vue","moduleParts":{"assets/js/editDialog-CryldWhF.js":"c5e49757-3763"},"imported":[{"uid":"c5e49757-3758"},{"uid":"c5e49757-3760"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3764":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelNode.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/PanelNode-DIBr52kP.js":"c5e49757-3765"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-3768"}]},"c5e49757-3766":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelNode.vue?vue&type=style&index=0&scoped=a9c9b9d2&lang.scss","moduleParts":{"assets/js/PanelNode-DIBr52kP.js":"c5e49757-3767"},"imported":[],"importedBy":[{"uid":"c5e49757-3768"}]},"c5e49757-3768":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/approvalFlow/component/LogicFlow/Panel/PanelNode.vue","moduleParts":{"assets/js/PanelNode-DIBr52kP.js":"c5e49757-3769"},"imported":[{"uid":"c5e49757-3764"},{"uid":"c5e49757-3766"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3318"}]},"c5e49757-3770":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordPredetermineDispense/index.vue?vue&type=script&setup=true&name=wmsRecordPredetermineDispense&lang.ts","moduleParts":{"assets/js/index-CCZ-OCdz.js":"c5e49757-3771"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-722"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-3774"}]},"c5e49757-3772":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordPredetermineDispense/index.vue?vue&type=style&index=0&scoped=7597ab75&lang.css","moduleParts":{"assets/js/index-CCZ-OCdz.js":"c5e49757-3773"},"imported":[],"importedBy":[{"uid":"c5e49757-3774"}]},"c5e49757-3774":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordPredetermineDispense/index.vue","moduleParts":{"assets/js/index-CCZ-OCdz.js":"c5e49757-3775"},"imported":[{"uid":"c5e49757-3770"},{"uid":"c5e49757-3772"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3776":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockQuan/index.vue?vue&type=script&setup=true&name=wmsStockQuan&lang.ts","moduleParts":{"assets/js/index-Bb5F3cff.js":"c5e49757-3777"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3644"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-2442"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-2452"}],"importedBy":[{"uid":"c5e49757-3780"}]},"c5e49757-3778":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockQuan/index.vue?vue&type=style&index=0&scoped=8a171bc0&lang.css","moduleParts":{"assets/js/index-Bb5F3cff.js":"c5e49757-3779"},"imported":[],"importedBy":[{"uid":"c5e49757-3780"}]},"c5e49757-3780":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsStockQuan/index.vue","moduleParts":{"assets/js/index-Bb5F3cff.js":"c5e49757-3781"},"imported":[{"uid":"c5e49757-3776"},{"uid":"c5e49757-3778"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3782":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordTrans/index.vue?vue&type=script&setup=true&name=wmsRecordTrans&lang.ts","moduleParts":{"assets/js/index-DVIXcR0V.js":"c5e49757-3783"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-2420"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-2450"}],"importedBy":[{"uid":"c5e49757-3786"}]},"c5e49757-3784":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordTrans/index.vue?vue&type=style&index=0&scoped=41623156&lang.css","moduleParts":{"assets/js/index-DVIXcR0V.js":"c5e49757-3785"},"imported":[],"importedBy":[{"uid":"c5e49757-3786"}]},"c5e49757-3786":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/ReportCenter/wmsRecordTrans/index.vue","moduleParts":{"assets/js/index-DVIXcR0V.js":"c5e49757-3787"},"imported":[{"uid":"c5e49757-3782"},{"uid":"c5e49757-3784"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3788":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/transitionChart/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DQ6Q4m0r.js":"c5e49757-3789"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-706"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3792"}]},"c5e49757-3790":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/transitionChart/component/editDialog.vue?vue&type=style&index=0&scoped=6463ecc9&lang.css","moduleParts":{"assets/js/editDialog-DQ6Q4m0r.js":"c5e49757-3791"},"imported":[],"importedBy":[{"uid":"c5e49757-3792"}]},"c5e49757-3792":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/transitionChart/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DQ6Q4m0r.js":"c5e49757-3793"},"imported":[{"uid":"c5e49757-3788"},{"uid":"c5e49757-3790"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3794":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkDifferenceCfm/component/openDialogDiffCfm.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openDialogDiffCfm-CD-FqR9c.js":"c5e49757-3795"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-2012"}],"importedBy":[{"uid":"c5e49757-3798"}]},"c5e49757-3796":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkDifferenceCfm/component/openDialogDiffCfm.vue?vue&type=style&index=0&scoped=2893d0cc&lang.less","moduleParts":{"assets/js/openDialogDiffCfm-CD-FqR9c.js":"c5e49757-3797"},"imported":[],"importedBy":[{"uid":"c5e49757-3798"}]},"c5e49757-3798":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/Check/checkDifferenceCfm/component/openDialogDiffCfm.vue","moduleParts":{"assets/js/openDialogDiffCfm-CD-FqR9c.js":"c5e49757-3799"},"imported":[{"uid":"c5e49757-3794"},{"uid":"c5e49757-3796"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3746"}]},"c5e49757-3800":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/clientProp.vue?vue&type=script&setup=true&name=baseCustomer&lang.ts","moduleParts":{"assets/js/clientProp-DFS_MDmE.js":"c5e49757-3801"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-266"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4684"},{"uid":"c5e49757-2398"}],"importedBy":[{"uid":"c5e49757-3804"}]},"c5e49757-3802":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/clientProp.vue?vue&type=style&index=0&scoped=37b2e8d4&lang.css","moduleParts":{"assets/js/clientProp-DFS_MDmE.js":"c5e49757-3803"},"imported":[],"importedBy":[{"uid":"c5e49757-3804"}]},"c5e49757-3804":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/clientProp.vue","moduleParts":{"assets/js/clientProp-DFS_MDmE.js":"c5e49757-3805"},"imported":[{"uid":"c5e49757-3800"},{"uid":"c5e49757-3802"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4266"}]},"c5e49757-3806":{"id":"\u0000vite/preload-helper.js","moduleParts":{"assets/js/jspdf-DB7YWl8q.js":"c5e49757-3807"},"imported":[],"importedBy":[{"uid":"c5e49757-4"},{"uid":"c5e49757-240"},{"uid":"c5e49757-472"},{"uid":"c5e49757-476"},{"uid":"c5e49757-110"},{"uid":"c5e49757-124"},{"uid":"c5e49757-668"},{"uid":"c5e49757-554"},{"uid":"c5e49757-4484"},{"uid":"c5e49757-3604"},{"uid":"c5e49757-268"},{"uid":"c5e49757-3812"},{"uid":"c5e49757-68"},{"uid":"c5e49757-3550"},{"uid":"c5e49757-3578"},{"uid":"c5e49757-3836"},{"uid":"c5e49757-3268"},{"uid":"c5e49757-3290"},{"uid":"c5e49757-558"},{"uid":"c5e49757-4006"},{"uid":"c5e49757-4854"},{"uid":"c5e49757-2162"},{"uid":"c5e49757-8712"},{"uid":"c5e49757-8714"},{"uid":"c5e49757-8716"},{"uid":"c5e49757-8718"},{"uid":"c5e49757-4152"},{"uid":"c5e49757-3808"},{"uid":"c5e49757-8550"},{"uid":"c5e49757-8552"},{"uid":"c5e49757-8554"},{"uid":"c5e49757-8556"},{"uid":"c5e49757-8558"},{"uid":"c5e49757-8560"},{"uid":"c5e49757-8562"},{"uid":"c5e49757-8564"},{"uid":"c5e49757-8566"},{"uid":"c5e49757-8568"},{"uid":"c5e49757-8570"},{"uid":"c5e49757-8572"},{"uid":"c5e49757-8574"},{"uid":"c5e49757-8576"},{"uid":"c5e49757-8578"},{"uid":"c5e49757-8580"},{"uid":"c5e49757-8582"},{"uid":"c5e49757-8584"},{"uid":"c5e49757-8586"},{"uid":"c5e49757-8588"},{"uid":"c5e49757-8590"},{"uid":"c5e49757-8592"},{"uid":"c5e49757-8594"},{"uid":"c5e49757-8596"},{"uid":"c5e49757-8598"},{"uid":"c5e49757-8600"},{"uid":"c5e49757-8602"},{"uid":"c5e49757-8604"},{"uid":"c5e49757-8606"},{"uid":"c5e49757-8608"},{"uid":"c5e49757-8610"},{"uid":"c5e49757-8612"},{"uid":"c5e49757-8614"},{"uid":"c5e49757-8616"},{"uid":"c5e49757-8618"},{"uid":"c5e49757-8620"},{"uid":"c5e49757-8622"},{"uid":"c5e49757-8624"},{"uid":"c5e49757-8626"},{"uid":"c5e49757-8628"},{"uid":"c5e49757-8630"},{"uid":"c5e49757-8632"},{"uid":"c5e49757-8634"},{"uid":"c5e49757-8636"},{"uid":"c5e49757-8638"},{"uid":"c5e49757-8640"},{"uid":"c5e49757-8642"},{"uid":"c5e49757-8644"},{"uid":"c5e49757-8646"},{"uid":"c5e49757-8648"},{"uid":"c5e49757-8650"},{"uid":"c5e49757-8652"},{"uid":"c5e49757-8654"},{"uid":"c5e49757-8656"},{"uid":"c5e49757-8658"},{"uid":"c5e49757-8660"},{"uid":"c5e49757-8662"},{"uid":"c5e49757-8664"},{"uid":"c5e49757-8666"},{"uid":"c5e49757-8668"},{"uid":"c5e49757-8670"},{"uid":"c5e49757-8672"},{"uid":"c5e49757-8674"},{"uid":"c5e49757-8676"},{"uid":"c5e49757-8678"},{"uid":"c5e49757-8680"},{"uid":"c5e49757-8682"},{"uid":"c5e49757-8684"},{"uid":"c5e49757-8686"},{"uid":"c5e49757-8688"},{"uid":"c5e49757-8690"},{"uid":"c5e49757-8692"},{"uid":"c5e49757-8694"},{"uid":"c5e49757-8696"},{"uid":"c5e49757-8698"},{"uid":"c5e49757-8700"},{"uid":"c5e49757-8702"},{"uid":"c5e49757-8704"},{"uid":"c5e49757-8706"},{"uid":"c5e49757-8708"},{"uid":"c5e49757-3610"}]},"c5e49757-3808":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jspdf/dist/jspdf.es.min.js","moduleParts":{"assets/js/jspdf-DB7YWl8q.js":"c5e49757-3809"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-352"},{"uid":"c5e49757-62"},{"uid":"c5e49757-2394","dynamic":true},{"uid":"c5e49757-2068","dynamic":true},{"uid":"c5e49757-3208","dynamic":true}],"importedBy":[{"uid":"c5e49757-3810"}]},"c5e49757-3810":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/jspdf/dist/jspdf.es.min.js?commonjs-proxy","moduleParts":{"assets/js/jspdf-DB7YWl8q.js":"c5e49757-3811"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-3808"}],"importedBy":[{"uid":"c5e49757-7424"}]},"c5e49757-3812":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/index.vue?vue&type=script&setup=true&name=layoutNavBars&lang.ts","moduleParts":{"assets/js/index-lN_TCJAz.js":"c5e49757-3813"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3840","dynamic":true},{"uid":"c5e49757-4488","dynamic":true}],"importedBy":[{"uid":"c5e49757-3816"}]},"c5e49757-3814":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/index.vue?vue&type=style&index=0&scoped=b9eeb2b2&lang.scss","moduleParts":{"assets/js/index-lN_TCJAz.js":"c5e49757-3815"},"imported":[],"importedBy":[{"uid":"c5e49757-3816"}]},"c5e49757-3816":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/index.vue","moduleParts":{"assets/js/index-lN_TCJAz.js":"c5e49757-3817"},"imported":[{"uid":"c5e49757-3812"},{"uid":"c5e49757-3814"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-668"}]},"c5e49757-3818":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterialCustomer/index.vue?vue&type=script&setup=true&name=wmsMaterialCustomer&lang.ts","moduleParts":{"assets/js/index-sWDU9IJw.js":"c5e49757-3819"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4766"},{"uid":"c5e49757-4760"}],"importedBy":[{"uid":"c5e49757-3822"}]},"c5e49757-3820":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterialCustomer/index.vue?vue&type=style&index=0&scoped=7dad02a0&lang.css","moduleParts":{"assets/js/index-sWDU9IJw.js":"c5e49757-3821"},"imported":[],"importedBy":[{"uid":"c5e49757-3822"}]},"c5e49757-3822":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterialCustomer/index.vue","moduleParts":{"assets/js/index-sWDU9IJw.js":"c5e49757-3823"},"imported":[{"uid":"c5e49757-3818"},{"uid":"c5e49757-3820"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3824":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/footer/index.vue?vue&type=script&setup=true&name=layoutFooter&lang.ts","moduleParts":{"assets/js/index-DS7TMjau.js":"c5e49757-3825"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3544"}],"importedBy":[{"uid":"c5e49757-3828"}]},"c5e49757-3826":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/footer/index.vue?vue&type=style&index=0&scoped=4d684997&lang.scss","moduleParts":{"assets/js/index-DS7TMjau.js":"c5e49757-3827"},"imported":[],"importedBy":[{"uid":"c5e49757-3828"}]},"c5e49757-3828":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/footer/index.vue","moduleParts":{"assets/js/index-DS7TMjau.js":"c5e49757-3829"},"imported":[{"uid":"c5e49757-3824"},{"uid":"c5e49757-3826"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-554"}]},"c5e49757-3830":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterialType/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-BURGJjWt.js":"c5e49757-3831"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3176"}],"importedBy":[{"uid":"c5e49757-3834"}]},"c5e49757-3832":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterialType/component/editDialog.vue?vue&type=style&index=0&scoped=7a7336b3&lang.css","moduleParts":{"assets/js/editDialog-BURGJjWt.js":"c5e49757-3833"},"imported":[],"importedBy":[{"uid":"c5e49757-3834"}]},"c5e49757-3834":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterialType/component/editDialog.vue","moduleParts":{"assets/js/editDialog-BURGJjWt.js":"c5e49757-3835"},"imported":[{"uid":"c5e49757-3830"},{"uid":"c5e49757-3832"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4260"}]},"c5e49757-3836":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/index.vue?vue&type=script&setup=true&name=layoutBreadcrumbIndex&lang.ts","moduleParts":{"assets/js/index-BibDNUH0.js":"c5e49757-3837"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3548"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3606"},{"uid":"c5e49757-4908","dynamic":true},{"uid":"c5e49757-4010","dynamic":true},{"uid":"c5e49757-3852","dynamic":true},{"uid":"c5e49757-4858","dynamic":true}],"importedBy":[{"uid":"c5e49757-3840"}]},"c5e49757-3838":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/index.vue?vue&type=style&index=0&scoped=68f9c372&lang.scss","moduleParts":{"assets/js/index-BibDNUH0.js":"c5e49757-3839"},"imported":[],"importedBy":[{"uid":"c5e49757-3840"}]},"c5e49757-3840":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/index.vue","moduleParts":{"assets/js/index-BibDNUH0.js":"c5e49757-3841"},"imported":[{"uid":"c5e49757-3836"},{"uid":"c5e49757-3838"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3812"}]},"c5e49757-3842":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/search.vue?vue&type=script&setup=true&name=layoutBreadcrumbSearch&lang.ts","moduleParts":{"assets/js/search-D_fP_8yN.js":"c5e49757-3843"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-2378"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3542"}],"importedBy":[{"uid":"c5e49757-3846"}]},"c5e49757-3844":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/search.vue?vue&type=style&index=0&scoped=0648dc94&lang.scss","moduleParts":{"assets/js/search-D_fP_8yN.js":"c5e49757-3845"},"imported":[],"importedBy":[{"uid":"c5e49757-3846"}]},"c5e49757-3846":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/search.vue","moduleParts":{"assets/js/search-D_fP_8yN.js":"c5e49757-3847"},"imported":[{"uid":"c5e49757-3842"},{"uid":"c5e49757-3844"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-4006"}]},"c5e49757-3848":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/logo/index.vue?vue&type=script&setup=true&name=layoutLogo&lang.ts","moduleParts":{"assets/js/index-VhOvpZpj.js":"c5e49757-3849"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-346"}],"importedBy":[{"uid":"c5e49757-3852"}]},"c5e49757-3850":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/logo/index.vue?vue&type=style&index=0&scoped=95a60e2b&lang.scss","moduleParts":{"assets/js/index-VhOvpZpj.js":"c5e49757-3851"},"imported":[],"importedBy":[{"uid":"c5e49757-3852"}]},"c5e49757-3852":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/logo/index.vue","moduleParts":{"assets/js/index-VhOvpZpj.js":"c5e49757-3853"},"imported":[{"uid":"c5e49757-3848"},{"uid":"c5e49757-3850"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-124"},{"uid":"c5e49757-3836"}]},"c5e49757-3854":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/sysPadPower.ts","moduleParts":{"assets/js/pdaMenu-agKvUI-1.js":"c5e49757-3855"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3856"}]},"c5e49757-3856":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/role/component/pdaMenu.vue?vue&type=script&setup=true&name=sysEditRole&lang.ts","moduleParts":{"assets/js/pdaMenu-agKvUI-1.js":"c5e49757-3857"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3854"}],"importedBy":[{"uid":"c5e49757-3860"}]},"c5e49757-3858":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/role/component/pdaMenu.vue?vue&type=style&index=0&scoped=dea479ae&lang.scss","moduleParts":{"assets/js/pdaMenu-agKvUI-1.js":"c5e49757-3859"},"imported":[],"importedBy":[{"uid":"c5e49757-3860"}]},"c5e49757-3860":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/role/component/pdaMenu.vue","moduleParts":{"assets/js/pdaMenu-agKvUI-1.js":"c5e49757-3861"},"imported":[{"uid":"c5e49757-3856"},{"uid":"c5e49757-3858"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-100"}]},"c5e49757-3862":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/tagsView/contextmenu.vue?vue&type=script&setup=true&name=layoutTagsViewContextmenu&lang.ts","moduleParts":{"assets/js/contextmenu-C38MXak2.js":"c5e49757-3863"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-3866"}]},"c5e49757-3864":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/tagsView/contextmenu.vue?vue&type=style&index=0&scoped=525acb34&lang.scss","moduleParts":{"assets/js/contextmenu-C38MXak2.js":"c5e49757-3865"},"imported":[],"importedBy":[{"uid":"c5e49757-3866"}]},"c5e49757-3866":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/tagsView/contextmenu.vue","moduleParts":{"assets/js/contextmenu-C38MXak2.js":"c5e49757-3867"},"imported":[{"uid":"c5e49757-3862"},{"uid":"c5e49757-3864"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-4484"}]},"c5e49757-3868":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/role/component/editRole.vue?vue&type=script&setup=true&name=sysEditRole&lang.ts","moduleParts":{"assets/js/editRole-DVVbnB7C.js":"c5e49757-3869"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3872"}]},"c5e49757-3870":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/role/component/editRole.vue?vue&type=style&index=0&scoped=551b46f7&lang.scss","moduleParts":{"assets/js/editRole-DVVbnB7C.js":"c5e49757-3871"},"imported":[],"importedBy":[{"uid":"c5e49757-3872"}]},"c5e49757-3872":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/role/component/editRole.vue","moduleParts":{"assets/js/editRole-DVVbnB7C.js":"c5e49757-3873"},"imported":[{"uid":"c5e49757-3868"},{"uid":"c5e49757-3870"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-100"}]},"c5e49757-3874":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsSubstituteGood/index.vue?vue&type=script&setup=true&name=wmsSubstituteGood&lang.ts","moduleParts":{"assets/js/index-7N2Eaadu.js":"c5e49757-3875"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4464"},{"uid":"c5e49757-4458"}],"importedBy":[{"uid":"c5e49757-3878"}]},"c5e49757-3876":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsSubstituteGood/index.vue?vue&type=style&index=0&scoped=bc6214f4&lang.css","moduleParts":{"assets/js/index-7N2Eaadu.js":"c5e49757-3877"},"imported":[],"importedBy":[{"uid":"c5e49757-3878"}]},"c5e49757-3878":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsSubstituteGood/index.vue","moduleParts":{"assets/js/index-7N2Eaadu.js":"c5e49757-3879"},"imported":[{"uid":"c5e49757-3874"},{"uid":"c5e49757-3876"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3880":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/formDes/index.vue?vue&type=script&setup=true&name=sysFormDes&lang.ts","moduleParts":{"assets/js/index-CVjWCri0.js":"c5e49757-3881"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-3884"}]},"c5e49757-3882":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/formDes/index.vue?vue&type=style&index=0&scoped=53bddc0c&lang.scss","moduleParts":{"assets/js/index-CVjWCri0.js":"c5e49757-3883"},"imported":[],"importedBy":[{"uid":"c5e49757-3884"}]},"c5e49757-3884":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/formDes/index.vue","moduleParts":{"assets/js/index-CVjWCri0.js":"c5e49757-3885"},"imported":[{"uid":"c5e49757-3880"},{"uid":"c5e49757-3882"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3886":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsSystemConfig/wmsConfigKbcard.ts","moduleParts":{"assets/js/editDialog-DUCvbDHJ.js":"c5e49757-3887"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3888"},{"uid":"c5e49757-4604"}]},"c5e49757-3888":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigKbcard/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DUCvbDHJ.js":"c5e49757-3889"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3886"},{"uid":"c5e49757-3172"}],"importedBy":[{"uid":"c5e49757-3892"}]},"c5e49757-3890":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigKbcard/component/editDialog.vue?vue&type=style&index=0&scoped=4704afb9&lang.css","moduleParts":{"assets/js/editDialog-DUCvbDHJ.js":"c5e49757-3891"},"imported":[],"importedBy":[{"uid":"c5e49757-3892"}]},"c5e49757-3892":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigKbcard/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DUCvbDHJ.js":"c5e49757-3893"},"imported":[{"uid":"c5e49757-3888"},{"uid":"c5e49757-3890"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4604"}]},"c5e49757-3894":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/receiptCompletion/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DU4z6YRg.js":"c5e49757-3895"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-292"}],"importedBy":[{"uid":"c5e49757-3898"}]},"c5e49757-3896":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/receiptCompletion/component/editDialog.vue?vue&type=style&index=0&scoped=bcf86ba4&lang.css","moduleParts":{"assets/js/editDialog-DU4z6YRg.js":"c5e49757-3897"},"imported":[],"importedBy":[{"uid":"c5e49757-3898"}]},"c5e49757-3898":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/receiptCompletion/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DU4z6YRg.js":"c5e49757-3899"},"imported":[{"uid":"c5e49757-3894"},{"uid":"c5e49757-3896"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3900":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrderDetails/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-CzGqq5cS.js":"c5e49757-3901"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2012"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3904"}]},"c5e49757-3902":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrderDetails/component/editDialog.vue?vue&type=style&index=0&scoped=44e736c1&lang.css","moduleParts":{"assets/js/editDialog-CzGqq5cS.js":"c5e49757-3903"},"imported":[],"importedBy":[{"uid":"c5e49757-3904"}]},"c5e49757-3904":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrderDetails/component/editDialog.vue","moduleParts":{"assets/js/editDialog-CzGqq5cS.js":"c5e49757-3905"},"imported":[{"uid":"c5e49757-3900"},{"uid":"c5e49757-3902"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3906":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/batchProp.vue?vue&type=script&setup=true&name=baseCustomer&lang.ts","moduleParts":{"assets/js/batchProp-CZIPoloM.js":"c5e49757-3907"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4684"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-564"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3566"}],"importedBy":[{"uid":"c5e49757-3910"}]},"c5e49757-3908":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/batchProp.vue?vue&type=style&index=0&scoped=c54795fe&lang.css","moduleParts":{"assets/js/batchProp-CZIPoloM.js":"c5e49757-3909"},"imported":[],"importedBy":[{"uid":"c5e49757-3910"}]},"c5e49757-3910":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/batchProp.vue","moduleParts":{"assets/js/batchProp-CZIPoloM.js":"c5e49757-3911"},"imported":[{"uid":"c5e49757-3906"},{"uid":"c5e49757-3908"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4266"}]},"c5e49757-3912":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovement/index.vue?vue&type=script&setup=true&name=wmsOrderMovement&lang.ts","moduleParts":{"assets/js/index-BHME_TUP.js":"c5e49757-3913"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4834"},{"uid":"c5e49757-2432"},{"uid":"c5e49757-4186"},{"uid":"c5e49757-302"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-2450"}],"importedBy":[{"uid":"c5e49757-3916"}]},"c5e49757-3914":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovement/index.vue?vue&type=style&index=0&scoped=6b183f32&lang.css","moduleParts":{"assets/js/index-BHME_TUP.js":"c5e49757-3915"},"imported":[],"importedBy":[{"uid":"c5e49757-3916"}]},"c5e49757-3916":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovement/index.vue","moduleParts":{"assets/js/index-BHME_TUP.js":"c5e49757-3917"},"imported":[{"uid":"c5e49757-3912"},{"uid":"c5e49757-3914"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3918":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/transitionChart/index.vue?vue&type=script&setup=true&name=wmsStockBoardabc&lang.ts","moduleParts":{"assets/js/index-ZfLKwN1E.js":"c5e49757-3919"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-7286"},{"uid":"c5e49757-2418"},{"uid":"c5e49757-3542"},{"uid":"c5e49757-50"}],"importedBy":[{"uid":"c5e49757-3922"}]},"c5e49757-3920":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/transitionChart/index.vue?vue&type=style&index=0&scoped=9c729f1a&lang.css","moduleParts":{"assets/js/index-ZfLKwN1E.js":"c5e49757-3921"},"imported":[],"importedBy":[{"uid":"c5e49757-3922"}]},"c5e49757-3922":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/transitionChart/index.vue","moduleParts":{"assets/js/index-ZfLKwN1E.js":"c5e49757-3923"},"imported":[{"uid":"c5e49757-3918"},{"uid":"c5e49757-3920"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3924":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrderDetails/index.vue?vue&type=script&setup=true&name=wmsInventoryCheckOrderDetails&lang.ts","moduleParts":{"assets/js/index-DMkrWjBN.js":"c5e49757-3925"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-2012"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-3928"}]},"c5e49757-3926":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrderDetails/index.vue?vue&type=style&index=0&scoped=7fe30e21&lang.css","moduleParts":{"assets/js/index-DMkrWjBN.js":"c5e49757-3927"},"imported":[],"importedBy":[{"uid":"c5e49757-3928"}]},"c5e49757-3928":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrderDetails/index.vue","moduleParts":{"assets/js/index-DMkrWjBN.js":"c5e49757-3929"},"imported":[{"uid":"c5e49757-3924"},{"uid":"c5e49757-3926"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3930":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/SoftwareAdapterService/adapterManagement.ts","moduleParts":{"assets/js/editDialog-DRyt2DIg.js":"c5e49757-3931"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3932"},{"uid":"c5e49757-4132"}]},"c5e49757-3932":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterManagement/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DRyt2DIg.js":"c5e49757-3933"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3930"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-632"}],"importedBy":[{"uid":"c5e49757-3936"}]},"c5e49757-3934":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterManagement/component/editDialog.vue?vue&type=style&index=0&scoped=11cf8c0a&lang.css","moduleParts":{"assets/js/editDialog-DRyt2DIg.js":"c5e49757-3935"},"imported":[],"importedBy":[{"uid":"c5e49757-3936"}]},"c5e49757-3936":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterManagement/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DRyt2DIg.js":"c5e49757-3937"},"imported":[{"uid":"c5e49757-3932"},{"uid":"c5e49757-3934"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4132"}]},"c5e49757-3938":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/preconfiguration/component/DetailConfig.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/DetailConfig-C-Ky3QZK.js":"c5e49757-3939"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-230"},{"uid":"c5e49757-244"}],"importedBy":[{"uid":"c5e49757-3942"}]},"c5e49757-3940":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/preconfiguration/component/DetailConfig.vue?vue&type=style&index=0&scoped=b70eaf80&lang.less","moduleParts":{"assets/js/DetailConfig-C-Ky3QZK.js":"c5e49757-3941"},"imported":[],"importedBy":[{"uid":"c5e49757-3942"}]},"c5e49757-3942":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/preconfiguration/component/DetailConfig.vue","moduleParts":{"assets/js/DetailConfig-C-Ky3QZK.js":"c5e49757-3943"},"imported":[{"uid":"c5e49757-3938"},{"uid":"c5e49757-3940"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4742"}]},"c5e49757-3944":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/TestDemo/testTeacher.ts","moduleParts":{"assets/js/editDialog-BR5aVkc9.js":"c5e49757-3945"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3946"},{"uid":"c5e49757-3952"}]},"c5e49757-3946":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testTeacher/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-BR5aVkc9.js":"c5e49757-3947"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3944"}],"importedBy":[{"uid":"c5e49757-3950"}]},"c5e49757-3948":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testTeacher/component/editDialog.vue?vue&type=style&index=0&scoped=d28b300e&lang.css","moduleParts":{"assets/js/editDialog-BR5aVkc9.js":"c5e49757-3949"},"imported":[],"importedBy":[{"uid":"c5e49757-3950"}]},"c5e49757-3950":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testTeacher/component/editDialog.vue","moduleParts":{"assets/js/editDialog-BR5aVkc9.js":"c5e49757-3951"},"imported":[{"uid":"c5e49757-3946"},{"uid":"c5e49757-3948"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3952"}]},"c5e49757-3952":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testTeacher/index.vue?vue&type=script&setup=true&name=testTeacher&lang.ts","moduleParts":{"assets/js/index-D_nPVOrg.js":"c5e49757-3953"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-3950"},{"uid":"c5e49757-3944"}],"importedBy":[{"uid":"c5e49757-3956"}]},"c5e49757-3954":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testTeacher/index.vue?vue&type=style&index=0&scoped=c1a8e500&lang.css","moduleParts":{"assets/js/index-D_nPVOrg.js":"c5e49757-3955"},"imported":[],"importedBy":[{"uid":"c5e49757-3956"}]},"c5e49757-3956":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testTeacher/index.vue","moduleParts":{"assets/js/index-D_nPVOrg.js":"c5e49757-3957"},"imported":[{"uid":"c5e49757-3952"},{"uid":"c5e49757-3954"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3958":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/index.vue?vue&type=script&setup=true&name=wmsConfigPrint&lang.ts","moduleParts":{"assets/js/index-DqvYEBau.js":"c5e49757-3959"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4584"},{"uid":"c5e49757-4578"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-3962"}]},"c5e49757-3960":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/index.vue?vue&type=style&index=0&scoped=019c4406&lang.css","moduleParts":{"assets/js/index-DqvYEBau.js":"c5e49757-3961"},"imported":[],"importedBy":[{"uid":"c5e49757-3962"}]},"c5e49757-3962":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/index.vue","moduleParts":{"assets/js/index-DqvYEBau.js":"c5e49757-3963"},"imported":[{"uid":"c5e49757-3958"},{"uid":"c5e49757-3960"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3964":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-log-ex-api.ts","moduleParts":{"assets/js/index-BpCDPuaJ.js":"c5e49757-3965"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-3966":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/log/exlog/index.vue?vue&type=script&setup=true&name=sysExLog&lang.ts","moduleParts":{"assets/js/index-BpCDPuaJ.js":"c5e49757-3967"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-596"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3970"}]},"c5e49757-3968":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/log/exlog/index.vue?vue&type=style&index=0&scoped=50d58028&lang.scss","moduleParts":{"assets/js/index-BpCDPuaJ.js":"c5e49757-3969"},"imported":[],"importedBy":[{"uid":"c5e49757-3970"}]},"c5e49757-3970":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/log/exlog/index.vue","moduleParts":{"assets/js/index-BpCDPuaJ.js":"c5e49757-3971"},"imported":[{"uid":"c5e49757-3966"},{"uid":"c5e49757-3968"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3972":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/TestDemo/v_students.ts","moduleParts":{"assets/js/index-DCFlvq9j.js":"c5e49757-3973"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-3974"}]},"c5e49757-3974":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/v_students/index.vue?vue&type=script&setup=true&name=v_students&lang.ts","moduleParts":{"assets/js/index-DCFlvq9j.js":"c5e49757-3975"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-3972"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-3978"}]},"c5e49757-3976":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/v_students/index.vue?vue&type=style&index=0&scoped=8f90ddfc&lang.css","moduleParts":{"assets/js/index-DCFlvq9j.js":"c5e49757-3977"},"imported":[],"importedBy":[{"uid":"c5e49757-3978"}]},"c5e49757-3978":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/v_students/index.vue","moduleParts":{"assets/js/index-DCFlvq9j.js":"c5e49757-3979"},"imported":[{"uid":"c5e49757-3974"},{"uid":"c5e49757-3976"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3980":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/base64Conver.ts","moduleParts":{"assets/js/userCenter-avEDrweo.js":"c5e49757-3981"},"imported":[],"importedBy":[{"uid":"c5e49757-3988"},{"uid":"c5e49757-596"}]},"c5e49757-3982":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/cropper/index.vue?vue&type=script&setup=true&name=cropper&lang.ts","moduleParts":{"assets/js/userCenter-avEDrweo.js":"c5e49757-3983"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3324"},{"uid":"c5e49757-3326"},{"uid":"c5e49757-6358"}],"importedBy":[{"uid":"c5e49757-3986"}]},"c5e49757-3984":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/cropper/index.vue?vue&type=style&index=0&scoped=ade34b15&lang.scss","moduleParts":{"assets/js/userCenter-avEDrweo.js":"c5e49757-3985"},"imported":[],"importedBy":[{"uid":"c5e49757-3986"}]},"c5e49757-3986":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/cropper/index.vue","moduleParts":{"assets/js/userCenter-avEDrweo.js":"c5e49757-3987"},"imported":[{"uid":"c5e49757-3982"},{"uid":"c5e49757-3984"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3988"}]},"c5e49757-3988":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/user/component/userCenter.vue?vue&type=script&setup=true&name=sysUserCenter&lang.ts","moduleParts":{"assets/js/userCenter-avEDrweo.js":"c5e49757-3989"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-50"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3568"},{"uid":"c5e49757-3980"},{"uid":"c5e49757-4080"},{"uid":"c5e49757-3986"},{"uid":"c5e49757-2162"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-3992"}]},"c5e49757-3990":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/user/component/userCenter.vue?vue&type=style&index=0&scoped=555ff843&lang.scss","moduleParts":{"assets/js/userCenter-avEDrweo.js":"c5e49757-3991"},"imported":[],"importedBy":[{"uid":"c5e49757-3992"}]},"c5e49757-3992":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/user/component/userCenter.vue","moduleParts":{"assets/js/userCenter-avEDrweo.js":"c5e49757-3993"},"imported":[{"uid":"c5e49757-3988"},{"uid":"c5e49757-3990"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-3994":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsFactory/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-U_3PPY_y.js":"c5e49757-3995"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2154"}],"importedBy":[{"uid":"c5e49757-3998"}]},"c5e49757-3996":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsFactory/component/editDialog.vue?vue&type=style&index=0&scoped=d3f31f37&lang.css","moduleParts":{"assets/js/editDialog-U_3PPY_y.js":"c5e49757-3997"},"imported":[],"importedBy":[{"uid":"c5e49757-3998"}]},"c5e49757-3998":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsFactory/component/editDialog.vue","moduleParts":{"assets/js/editDialog-U_3PPY_y.js":"c5e49757-3999"},"imported":[{"uid":"c5e49757-3994"},{"uid":"c5e49757-3996"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4304"}]},"c5e49757-4000":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSort/index.vue?vue&type=script&setup=true&name=wmsOrderSort&lang.ts","moduleParts":{"assets/js/index-DTH6hY6N.js":"c5e49757-4001"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-4786"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4162"},{"uid":"c5e49757-4376"},{"uid":"c5e49757-4370"},{"uid":"c5e49757-4156"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-2432"},{"uid":"c5e49757-4828"},{"uid":"c5e49757-4358"},{"uid":"c5e49757-4364"},{"uid":"c5e49757-3172"}],"importedBy":[{"uid":"c5e49757-4004"}]},"c5e49757-4002":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSort/index.vue?vue&type=style&index=0&scoped=73ff51f9&lang.css","moduleParts":{"assets/js/index-DTH6hY6N.js":"c5e49757-4003"},"imported":[],"importedBy":[{"uid":"c5e49757-4004"}]},"c5e49757-4004":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSort/index.vue","moduleParts":{"assets/js/index-DTH6hY6N.js":"c5e49757-4005"},"imported":[{"uid":"c5e49757-4000"},{"uid":"c5e49757-4002"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4006":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/user.vue?vue&type=script&setup=true&name=layoutBreadcrumbUser&lang.ts","moduleParts":{"assets/js/user-XM_oz8MT.js":"c5e49757-4007"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-234"},{"uid":"c5e49757-2378"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3568"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3604"},{"uid":"c5e49757-3606"},{"uid":"c5e49757-3540"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-276"},{"uid":"c5e49757-712"},{"uid":"c5e49757-4846","dynamic":true},{"uid":"c5e49757-3846","dynamic":true},{"uid":"c5e49757-488","dynamic":true}],"importedBy":[{"uid":"c5e49757-4010"}]},"c5e49757-4008":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/user.vue?vue&type=style&index=0&scoped=40de9ec7&lang.scss","moduleParts":{"assets/js/user-XM_oz8MT.js":"c5e49757-4009"},"imported":[],"importedBy":[{"uid":"c5e49757-4010"}]},"c5e49757-4010":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/user.vue","moduleParts":{"assets/js/user-XM_oz8MT.js":"c5e49757-4011"},"imported":[{"uid":"c5e49757-4006"},{"uid":"c5e49757-4008"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3836"}]},"c5e49757-4012":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryHistory/component/CountView.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/CountView-Cj6yJiiH.js":"c5e49757-4013"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-4016"}]},"c5e49757-4014":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryHistory/component/CountView.vue?vue&type=style&index=0&scoped=ef4f04f4&lang.less","moduleParts":{"assets/js/CountView-Cj6yJiiH.js":"c5e49757-4015"},"imported":[],"importedBy":[{"uid":"c5e49757-4016"}]},"c5e49757-4016":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryHistory/component/CountView.vue","moduleParts":{"assets/js/CountView-Cj6yJiiH.js":"c5e49757-4017"},"imported":[{"uid":"c5e49757-4012"},{"uid":"c5e49757-4014"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4018":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryHistory/index.vue?vue&type=script&setup=true&name=wareAgeWarm&lang.ts","moduleParts":{"assets/js/index-CYUHiBdn.js":"c5e49757-4019"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-2418"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3172"}],"importedBy":[{"uid":"c5e49757-4022"}]},"c5e49757-4020":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryHistory/index.vue?vue&type=style&index=0&scoped=c5f3d41c&lang.css","moduleParts":{"assets/js/index-CYUHiBdn.js":"c5e49757-4021"},"imported":[],"importedBy":[{"uid":"c5e49757-4022"}]},"c5e49757-4022":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryHistory/index.vue","moduleParts":{"assets/js/index-CYUHiBdn.js":"c5e49757-4023"},"imported":[{"uid":"c5e49757-4018"},{"uid":"c5e49757-4020"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4024":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventorySnapshot/component/CountView.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/CountView-BGnbedlS.js":"c5e49757-4025"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-4028"}]},"c5e49757-4026":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventorySnapshot/component/CountView.vue?vue&type=style&index=0&scoped=efa00034&lang.less","moduleParts":{"assets/js/CountView-BGnbedlS.js":"c5e49757-4027"},"imported":[],"importedBy":[{"uid":"c5e49757-4028"}]},"c5e49757-4028":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventorySnapshot/component/CountView.vue","moduleParts":{"assets/js/CountView-BGnbedlS.js":"c5e49757-4029"},"imported":[{"uid":"c5e49757-4024"},{"uid":"c5e49757-4026"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4030":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventorySnapshot/index.vue?vue&type=script&setup=true&name=wareAgeWarm&lang.ts","moduleParts":{"assets/js/index-J27MN-R-.js":"c5e49757-4031"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-2418"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-4034"}]},"c5e49757-4032":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventorySnapshot/index.vue?vue&type=style&index=0&scoped=3ca64c59&lang.css","moduleParts":{"assets/js/index-J27MN-R-.js":"c5e49757-4033"},"imported":[],"importedBy":[{"uid":"c5e49757-4034"}]},"c5e49757-4034":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventorySnapshot/index.vue","moduleParts":{"assets/js/index-J27MN-R-.js":"c5e49757-4035"},"imported":[{"uid":"c5e49757-4030"},{"uid":"c5e49757-4032"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4036":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component/openDialogCl.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openDialogCl.vue_vue_type_style_index_0_lang-k5QdHR7U.js":"c5e49757-4037"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2438"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-600"}],"importedBy":[{"uid":"c5e49757-548"}]},"c5e49757-4038":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component/openDialogCl.vue?vue&type=style&index=0&lang.less","moduleParts":{"assets/js/openDialogCl.vue_vue_type_style_index_0_lang-k5QdHR7U.js":"c5e49757-4039"},"imported":[],"importedBy":[{"uid":"c5e49757-548"}]},"c5e49757-4040":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails/index.vue?vue&type=script&setup=true&name=wmsStockSnapshotDetails&lang.ts","moduleParts":{"assets/js/index-B9rwyrOR.js":"c5e49757-4041"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-612"}],"importedBy":[{"uid":"c5e49757-4044"}]},"c5e49757-4042":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails/index.vue?vue&type=style&index=0&scoped=7ff031fe&lang.css","moduleParts":{"assets/js/index-B9rwyrOR.js":"c5e49757-4043"},"imported":[],"importedBy":[{"uid":"c5e49757-4044"}]},"c5e49757-4044":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails/index.vue","moduleParts":{"assets/js/index-B9rwyrOR.js":"c5e49757-4045"},"imported":[{"uid":"c5e49757-4040"},{"uid":"c5e49757-4042"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4046":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryWarning/component/CountView.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/CountView-DAAe3UW9.js":"c5e49757-4047"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-4050"}]},"c5e49757-4048":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryWarning/component/CountView.vue?vue&type=style&index=0&scoped=de85e018&lang.less","moduleParts":{"assets/js/CountView-DAAe3UW9.js":"c5e49757-4049"},"imported":[],"importedBy":[{"uid":"c5e49757-4050"}]},"c5e49757-4050":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryWarning/component/CountView.vue","moduleParts":{"assets/js/CountView-DAAe3UW9.js":"c5e49757-4051"},"imported":[{"uid":"c5e49757-4046"},{"uid":"c5e49757-4048"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4616"}]},"c5e49757-4052":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/applyCardProp.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/applyCardProp-CPpcSqIe.js":"c5e49757-4053"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-302"}],"importedBy":[{"uid":"c5e49757-4056"}]},"c5e49757-4054":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/applyCardProp.vue?vue&type=style&index=0&scoped=3a9943e2&lang.css","moduleParts":{"assets/js/applyCardProp-CPpcSqIe.js":"c5e49757-4055"},"imported":[],"importedBy":[{"uid":"c5e49757-4056"}]},"c5e49757-4056":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/applyCardProp.vue","moduleParts":{"assets/js/applyCardProp-CPpcSqIe.js":"c5e49757-4057"},"imported":[{"uid":"c5e49757-4052"},{"uid":"c5e49757-4054"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4126"}]},"c5e49757-4058":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsWarehouse/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-CSAmqjBv.js":"c5e49757-4059"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3170"},{"uid":"c5e49757-3172"}],"importedBy":[{"uid":"c5e49757-4062"}]},"c5e49757-4060":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsWarehouse/component/editDialog.vue?vue&type=style&index=0&scoped=552504b7&lang.css","moduleParts":{"assets/js/editDialog-CSAmqjBv.js":"c5e49757-4061"},"imported":[],"importedBy":[{"uid":"c5e49757-4062"}]},"c5e49757-4062":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsWarehouse/component/editDialog.vue","moduleParts":{"assets/js/editDialog-CSAmqjBv.js":"c5e49757-4063"},"imported":[{"uid":"c5e49757-4058"},{"uid":"c5e49757-4060"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4114"}]},"c5e49757-4064":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryWarning/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DmYcjQI1.js":"c5e49757-4065"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-292"}],"importedBy":[{"uid":"c5e49757-4068"}]},"c5e49757-4066":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryWarning/component/editDialog.vue?vue&type=style&index=0&scoped=b5c66950&lang.css","moduleParts":{"assets/js/editDialog-DmYcjQI1.js":"c5e49757-4067"},"imported":[],"importedBy":[{"uid":"c5e49757-4068"}]},"c5e49757-4068":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryWarning/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DmYcjQI1.js":"c5e49757-4069"},"imported":[{"uid":"c5e49757-4064"},{"uid":"c5e49757-4066"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4070":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchase/index.vue?vue&type=script&setup=true&name=wmsOrderPurchase&lang.ts","moduleParts":{"assets/js/index-yoZnTuwl.js":"c5e49757-4071"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4590"},{"uid":"c5e49757-460"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-4816"},{"uid":"c5e49757-2432"}],"importedBy":[{"uid":"c5e49757-4074"}]},"c5e49757-4072":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchase/index.vue?vue&type=style&index=0&scoped=14e95a5e&lang.css","moduleParts":{"assets/js/index-yoZnTuwl.js":"c5e49757-4073"},"imported":[],"importedBy":[{"uid":"c5e49757-4074"}]},"c5e49757-4074":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchase/index.vue","moduleParts":{"assets/js/index-yoZnTuwl.js":"c5e49757-4075"},"imported":[{"uid":"c5e49757-4070"},{"uid":"c5e49757-4072"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4076":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/user/component/orgTree.vue?vue&type=script&setup=true&name=orgTree&lang.ts","moduleParts":{"assets/js/orgTree-5YmWEyW_.js":"c5e49757-4077"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3568"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4080"}]},"c5e49757-4078":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/user/component/orgTree.vue?vue&type=style&index=0&scoped=90d4c77d&lang.scss","moduleParts":{"assets/js/orgTree-5YmWEyW_.js":"c5e49757-4079"},"imported":[],"importedBy":[{"uid":"c5e49757-4080"}]},"c5e49757-4080":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/user/component/orgTree.vue","moduleParts":{"assets/js/orgTree-5YmWEyW_.js":"c5e49757-4081"},"imported":[{"uid":"c5e49757-4076"},{"uid":"c5e49757-4078"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3988"}]},"c5e49757-4082":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterCategories/component/openAllprop.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openAllprop-DPpOCzmw.js":"c5e49757-4083"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-460"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-468"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-632"}],"importedBy":[{"uid":"c5e49757-4086"}]},"c5e49757-4084":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterCategories/component/openAllprop.vue?vue&type=style&index=0&scoped=e5edbf81&lang.less","moduleParts":{"assets/js/openAllprop-DPpOCzmw.js":"c5e49757-4085"},"imported":[],"importedBy":[{"uid":"c5e49757-4086"}]},"c5e49757-4086":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterCategories/component/openAllprop.vue","moduleParts":{"assets/js/openAllprop-DPpOCzmw.js":"c5e49757-4087"},"imported":[{"uid":"c5e49757-4082"},{"uid":"c5e49757-4084"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4490"}]},"c5e49757-4088":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testStudent/index.vue?vue&type=script&setup=true&name=testStudent&lang.ts","moduleParts":{"assets/js/index-BHsDTFOj.js":"c5e49757-4089"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-298"},{"uid":"c5e49757-7424"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4338"},{"uid":"c5e49757-4332"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-4092"}]},"c5e49757-4090":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testStudent/index.vue?vue&type=style&index=0&scoped=52edfe22&lang.css","moduleParts":{"assets/js/index-BHsDTFOj.js":"c5e49757-4091"},"imported":[],"importedBy":[{"uid":"c5e49757-4092"}]},"c5e49757-4092":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testStudent/index.vue","moduleParts":{"assets/js/index-BHsDTFOj.js":"c5e49757-4093"},"imported":[{"uid":"c5e49757-4088"},{"uid":"c5e49757-4090"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4094":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/preconfiguration/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-CkETX2zT.js":"c5e49757-4095"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-292"}],"importedBy":[{"uid":"c5e49757-4098"}]},"c5e49757-4096":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/preconfiguration/component/editDialog.vue?vue&type=style&index=0&scoped=50f6da66&lang.css","moduleParts":{"assets/js/editDialog-CkETX2zT.js":"c5e49757-4097"},"imported":[],"importedBy":[{"uid":"c5e49757-4098"}]},"c5e49757-4098":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/preconfiguration/component/editDialog.vue","moduleParts":{"assets/js/editDialog-CkETX2zT.js":"c5e49757-4099"},"imported":[{"uid":"c5e49757-4094"},{"uid":"c5e49757-4096"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4100":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/http-method-enum.ts","moduleParts":{"assets/js/generateSign-DTmQHTBI.js":"c5e49757-4101"},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-4102":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/openAccess/component/generateSign.vue?vue&type=script&setup=true&name=sysOpenAccessEdit&lang.ts","moduleParts":{"assets/js/generateSign-DTmQHTBI.js":"c5e49757-4103"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-9452"}],"importedBy":[{"uid":"c5e49757-4106"}]},"c5e49757-4104":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/openAccess/component/generateSign.vue?vue&type=style&index=0&scoped=35dc020e&lang.scss","moduleParts":{"assets/js/generateSign-DTmQHTBI.js":"c5e49757-4105"},"imported":[],"importedBy":[{"uid":"c5e49757-4106"}]},"c5e49757-4106":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/openAccess/component/generateSign.vue","moduleParts":{"assets/js/generateSign-DTmQHTBI.js":"c5e49757-4107"},"imported":[{"uid":"c5e49757-4102"},{"uid":"c5e49757-4104"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-638"}]},"c5e49757-4108":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsUnit/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-BjelN6up.js":"c5e49757-4109"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2414"}],"importedBy":[{"uid":"c5e49757-4112"}]},"c5e49757-4110":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsUnit/component/editDialog.vue?vue&type=style&index=0&scoped=7abe7c68&lang.css","moduleParts":{"assets/js/editDialog-BjelN6up.js":"c5e49757-4111"},"imported":[],"importedBy":[{"uid":"c5e49757-4112"}]},"c5e49757-4112":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsUnit/component/editDialog.vue","moduleParts":{"assets/js/editDialog-BjelN6up.js":"c5e49757-4113"},"imported":[{"uid":"c5e49757-4108"},{"uid":"c5e49757-4110"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4120"}]},"c5e49757-4114":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsWarehouse/index.vue?vue&type=script&setup=true&name=wmsWarehouse&lang.ts","moduleParts":{"assets/js/index-BsNQnQyB.js":"c5e49757-4115"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4062"},{"uid":"c5e49757-3170"}],"importedBy":[{"uid":"c5e49757-4118"}]},"c5e49757-4116":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsWarehouse/index.vue?vue&type=style&index=0&scoped=624daa79&lang.css","moduleParts":{"assets/js/index-BsNQnQyB.js":"c5e49757-4117"},"imported":[],"importedBy":[{"uid":"c5e49757-4118"}]},"c5e49757-4118":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsWarehouse/index.vue","moduleParts":{"assets/js/index-BsNQnQyB.js":"c5e49757-4119"},"imported":[{"uid":"c5e49757-4114"},{"uid":"c5e49757-4116"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4120":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsUnit/index.vue?vue&type=script&setup=true&name=wmsUnit&lang.ts","moduleParts":{"assets/js/index-BTusFdgf.js":"c5e49757-4121"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4112"},{"uid":"c5e49757-2414"}],"importedBy":[{"uid":"c5e49757-4124"}]},"c5e49757-4122":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsUnit/index.vue?vue&type=style&index=0&scoped=2cd90479&lang.css","moduleParts":{"assets/js/index-BTusFdgf.js":"c5e49757-4123"},"imported":[],"importedBy":[{"uid":"c5e49757-4124"}]},"c5e49757-4124":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsUnit/index.vue","moduleParts":{"assets/js/index-BTusFdgf.js":"c5e49757-4125"},"imported":[{"uid":"c5e49757-4120"},{"uid":"c5e49757-4122"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4126":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/index.vue?vue&type=script&setup=true&name=wmsOrderMovementOff&lang.ts","moduleParts":{"assets/js/index-CRkGbxEe.js":"c5e49757-4127"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4834"},{"uid":"c5e49757-2432"},{"uid":"c5e49757-4570"},{"uid":"c5e49757-4056"},{"uid":"c5e49757-4670"},{"uid":"c5e49757-4914"},{"uid":"c5e49757-302"},{"uid":"c5e49757-4358"},{"uid":"c5e49757-4364"},{"uid":"c5e49757-4370"},{"uid":"c5e49757-4376"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3172"}],"importedBy":[{"uid":"c5e49757-4130"}]},"c5e49757-4128":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/index.vue?vue&type=style&index=0&scoped=164d5f09&lang.css","moduleParts":{"assets/js/index-CRkGbxEe.js":"c5e49757-4129"},"imported":[],"importedBy":[{"uid":"c5e49757-4130"}]},"c5e49757-4130":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/index.vue","moduleParts":{"assets/js/index-CRkGbxEe.js":"c5e49757-4131"},"imported":[{"uid":"c5e49757-4126"},{"uid":"c5e49757-4128"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4132":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterManagement/index.vue?vue&type=script&setup=true&name=adapterManagement&lang.ts","moduleParts":{"assets/js/index-CdPUMZjA.js":"c5e49757-4133"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-3936"},{"uid":"c5e49757-3930"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-4136"}]},"c5e49757-4134":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterManagement/index.vue?vue&type=style&index=0&scoped=889c324d&lang.css","moduleParts":{"assets/js/index-CdPUMZjA.js":"c5e49757-4135"},"imported":[],"importedBy":[{"uid":"c5e49757-4136"}]},"c5e49757-4136":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterManagement/index.vue","moduleParts":{"assets/js/index-CdPUMZjA.js":"c5e49757-4137"},"imported":[{"uid":"c5e49757-4132"},{"uid":"c5e49757-4134"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4138":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/recordAdapter/index.vue?vue&type=script&setup=true&name=recordAdapter&lang.ts","moduleParts":{"assets/js/index-BV-BTZT0.js":"c5e49757-4139"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4290"},{"uid":"c5e49757-4284"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-4142"}]},"c5e49757-4140":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/recordAdapter/index.vue?vue&type=style&index=0&scoped=45798e26&lang.css","moduleParts":{"assets/js/index-BV-BTZT0.js":"c5e49757-4141"},"imported":[],"importedBy":[{"uid":"c5e49757-4142"}]},"c5e49757-4142":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/recordAdapter/index.vue","moduleParts":{"assets/js/index-BV-BTZT0.js":"c5e49757-4143"},"imported":[{"uid":"c5e49757-4138"},{"uid":"c5e49757-4140"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4144":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/theme/iconfont/font_2298093_rnp72ifj3ba.ts","moduleParts":{"assets/js/editMenu.vue_vue_type_script_setup_true_name_sysEditMenu_lang-uuvBdO0L.js":"c5e49757-4145"},"imported":[],"importedBy":[{"uid":"c5e49757-4148"}]},"c5e49757-4146":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/theme/font-awesome/font-awesome.ts","moduleParts":{"assets/js/editMenu.vue_vue_type_script_setup_true_name_sysEditMenu_lang-uuvBdO0L.js":"c5e49757-4147"},"imported":[],"importedBy":[{"uid":"c5e49757-4148"}]},"c5e49757-4148":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/getStyleSheets.ts","moduleParts":{"assets/js/editMenu.vue_vue_type_script_setup_true_name_sysEditMenu_lang-uuvBdO0L.js":"c5e49757-4149"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-4144"},{"uid":"c5e49757-4146"}],"importedBy":[{"uid":"c5e49757-4152"}]},"c5e49757-4150":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/theme/iconSelector.scss","moduleParts":{"assets/js/editMenu.vue_vue_type_script_setup_true_name_sysEditMenu_lang-uuvBdO0L.js":"c5e49757-4151"},"imported":[],"importedBy":[{"uid":"c5e49757-4152"}]},"c5e49757-4152":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/iconSelector/index.vue?vue&type=script&setup=true&name=iconSelector&lang.ts","moduleParts":{"assets/js/editMenu.vue_vue_type_script_setup_true_name_sysEditMenu_lang-uuvBdO0L.js":"c5e49757-4153"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-4148"},{"uid":"c5e49757-4150"},{"uid":"c5e49757-4506","dynamic":true}],"importedBy":[{"uid":"c5e49757-9455"}]},"c5e49757-4154":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/menu/component/editMenu.vue?vue&type=script&setup=true&name=sysEditMenu&lang.ts","moduleParts":{"assets/js/editMenu.vue_vue_type_script_setup_true_name_sysEditMenu_lang-uuvBdO0L.js":"c5e49757-4155"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-9455"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-3604"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-508"}]},"c5e49757-4156":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsOrderDo/wmsOrderSort.ts","moduleParts":{"assets/js/editDialog-bzw7L-h9.js":"c5e49757-4157"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4158"},{"uid":"c5e49757-4000"}]},"c5e49757-4158":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-bzw7L-h9.js":"c5e49757-4159"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4156"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-2450"}],"importedBy":[{"uid":"c5e49757-4162"}]},"c5e49757-4160":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/editDialog.vue?vue&type=style&index=0&scoped=67c44e7e&lang.css","moduleParts":{"assets/js/editDialog-bzw7L-h9.js":"c5e49757-4161"},"imported":[],"importedBy":[{"uid":"c5e49757-4162"}]},"c5e49757-4162":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/editDialog.vue","moduleParts":{"assets/js/editDialog-bzw7L-h9.js":"c5e49757-4163"},"imported":[{"uid":"c5e49757-4158"},{"uid":"c5e49757-4160"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4000"}]},"c5e49757-4164":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WareAgeWarm/wareAgeWarm/index.vue?vue&type=script&setup=true&name=wareAgeWarm&lang.ts","moduleParts":{"assets/js/index-EVU4j6En.js":"c5e49757-4165"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-292"}],"importedBy":[{"uid":"c5e49757-4168"}]},"c5e49757-4166":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WareAgeWarm/wareAgeWarm/index.vue?vue&type=style&index=0&scoped=b96b16cf&lang.css","moduleParts":{"assets/js/index-EVU4j6En.js":"c5e49757-4167"},"imported":[],"importedBy":[{"uid":"c5e49757-4168"}]},"c5e49757-4168":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WareAgeWarm/wareAgeWarm/index.vue","moduleParts":{"assets/js/index-EVU4j6En.js":"c5e49757-4169"},"imported":[{"uid":"c5e49757-4164"},{"uid":"c5e49757-4166"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4170":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/controlProp.vue?vue&type=script&setup=true&name=wmsControlRuleDetail&lang.ts","moduleParts":{"assets/js/controlProp-D0OKRWZO.js":"c5e49757-4171"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4324"},{"uid":"c5e49757-4318"}],"importedBy":[{"uid":"c5e49757-4174"}]},"c5e49757-4172":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/controlProp.vue?vue&type=style&index=0&scoped=7157fa4d&lang.css","moduleParts":{"assets/js/controlProp-D0OKRWZO.js":"c5e49757-4173"},"imported":[],"importedBy":[{"uid":"c5e49757-4174"}]},"c5e49757-4174":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/controlProp.vue","moduleParts":{"assets/js/controlProp-D0OKRWZO.js":"c5e49757-4175"},"imported":[{"uid":"c5e49757-4170"},{"uid":"c5e49757-4172"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4266"}]},"c5e49757-4176":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/org/component/orgTree.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/orgTree-CFR3gh5A.js":"c5e49757-4177"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4180"}]},"c5e49757-4178":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/org/component/orgTree.vue?vue&type=style&index=0&scoped=860a8d6a&lang.scss","moduleParts":{"assets/js/orgTree-CFR3gh5A.js":"c5e49757-4179"},"imported":[],"importedBy":[{"uid":"c5e49757-4180"}]},"c5e49757-4180":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/org/component/orgTree.vue","moduleParts":{"assets/js/orgTree-CFR3gh5A.js":"c5e49757-4181"},"imported":[{"uid":"c5e49757-4176"},{"uid":"c5e49757-4178"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-652"},{"uid":"c5e49757-280"},{"uid":"c5e49757-718"}]},"c5e49757-4182":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovement/component/openAllprop.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openAllprop-ZqMOi6d4.js":"c5e49757-4183"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-64"},{"uid":"c5e49757-244"},{"uid":"c5e49757-302"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-584"},{"uid":"c5e49757-2450"}],"importedBy":[{"uid":"c5e49757-4186"}]},"c5e49757-4184":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovement/component/openAllprop.vue?vue&type=style&index=0&scoped=b80daa68&lang.less","moduleParts":{"assets/js/openAllprop-ZqMOi6d4.js":"c5e49757-4185"},"imported":[],"importedBy":[{"uid":"c5e49757-4186"}]},"c5e49757-4186":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovement/component/openAllprop.vue","moduleParts":{"assets/js/openAllprop-ZqMOi6d4.js":"c5e49757-4187"},"imported":[{"uid":"c5e49757-4182"},{"uid":"c5e49757-4184"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3912"}]},"c5e49757-4188":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-D3HUyi_4.js":"c5e49757-4189"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-600"}],"importedBy":[{"uid":"c5e49757-4192"}]},"c5e49757-4190":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component/editDialog.vue?vue&type=style&index=0&scoped=427c87c2&lang.css","moduleParts":{"assets/js/editDialog-D3HUyi_4.js":"c5e49757-4191"},"imported":[],"importedBy":[{"uid":"c5e49757-4192"}]},"c5e49757-4192":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/component/editDialog.vue","moduleParts":{"assets/js/editDialog-D3HUyi_4.js":"c5e49757-4193"},"imported":[{"uid":"c5e49757-4188"},{"uid":"c5e49757-4190"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4222"}]},"c5e49757-4194":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/exportExcel.ts","moduleParts":{"assets/js/index-EfuJSrN1.js":"c5e49757-4195"},"imported":[{"uid":"c5e49757-4538"}],"importedBy":[{"uid":"c5e49757-4198"}]},"c5e49757-4196":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/table/formatter.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/index-EfuJSrN1.js":"c5e49757-4197"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-9755"}]},"c5e49757-4198":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/table/index.vue?vue&type=script&setup=true&name=netxTable&lang.ts","moduleParts":{"assets/js/index-EfuJSrN1.js":"c5e49757-4199"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3166"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-4194"},{"uid":"c5e49757-2406"},{"uid":"c5e49757-9755"}],"importedBy":[{"uid":"c5e49757-4202"}]},"c5e49757-4200":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/table/index.vue?vue&type=style&index=0&scoped=5f3da910&lang.scss","moduleParts":{"assets/js/index-EfuJSrN1.js":"c5e49757-4201"},"imported":[],"importedBy":[{"uid":"c5e49757-4202"}]},"c5e49757-4202":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/table/index.vue","moduleParts":{"assets/js/index-EfuJSrN1.js":"c5e49757-4203"},"imported":[{"uid":"c5e49757-4198"},{"uid":"c5e49757-4200"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-558"}]},"c5e49757-4204":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsSncodeCreateRule/index.vue?vue&type=script&setup=true&name=wmsSncodeCreateRule&lang.ts","moduleParts":{"assets/js/index-GAAtfge3.js":"c5e49757-4205"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4664"},{"uid":"c5e49757-4658"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-4208"}]},"c5e49757-4206":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsSncodeCreateRule/index.vue?vue&type=style&index=0&scoped=30a9dac6&lang.css","moduleParts":{"assets/js/index-GAAtfge3.js":"c5e49757-4207"},"imported":[],"importedBy":[{"uid":"c5e49757-4208"}]},"c5e49757-4208":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsSncodeCreateRule/index.vue","moduleParts":{"assets/js/index-GAAtfge3.js":"c5e49757-4209"},"imported":[{"uid":"c5e49757-4204"},{"uid":"c5e49757-4206"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4210":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/tenant/component/grantMenu.vue?vue&type=script&setup=true&name=sysGrantMenu&lang.ts","moduleParts":{"assets/js/grantMenu-5EcxQb5X.js":"c5e49757-4211"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4214"}]},"c5e49757-4212":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/tenant/component/grantMenu.vue?vue&type=style&index=0&scoped=da837307&lang.scss","moduleParts":{"assets/js/grantMenu-5EcxQb5X.js":"c5e49757-4213"},"imported":[],"importedBy":[{"uid":"c5e49757-4214"}]},"c5e49757-4214":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/tenant/component/grantMenu.vue","moduleParts":{"assets/js/grantMenu-5EcxQb5X.js":"c5e49757-4215"},"imported":[{"uid":"c5e49757-4210"},{"uid":"c5e49757-4212"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-260"}]},"c5e49757-4216":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliverDetails/index.vue?vue&type=script&setup=true&name=wmsOrderDeliverDetails&lang.ts","moduleParts":{"assets/js/index-u3plU8CA.js":"c5e49757-4217"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4896"},{"uid":"c5e49757-2444"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-4220"}]},"c5e49757-4218":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliverDetails/index.vue?vue&type=style&index=0&scoped=feed88a9&lang.css","moduleParts":{"assets/js/index-u3plU8CA.js":"c5e49757-4219"},"imported":[],"importedBy":[{"uid":"c5e49757-4220"}]},"c5e49757-4220":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliverDetails/index.vue","moduleParts":{"assets/js/index-u3plU8CA.js":"c5e49757-4221"},"imported":[{"uid":"c5e49757-4216"},{"uid":"c5e49757-4218"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4222":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/index.vue?vue&type=script&setup=true&name=wmsConfigUnshelveStrategy&lang.ts","moduleParts":{"assets/js/index-DntCqCjI.js":"c5e49757-4223"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-548"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4192"},{"uid":"c5e49757-600"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-2432"}],"importedBy":[{"uid":"c5e49757-4226"}]},"c5e49757-4224":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/index.vue?vue&type=style&index=0&scoped=80c2975b&lang.css","moduleParts":{"assets/js/index-DntCqCjI.js":"c5e49757-4225"},"imported":[],"importedBy":[{"uid":"c5e49757-4226"}]},"c5e49757-4226":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigUnshelveStrategy/index.vue","moduleParts":{"assets/js/index-DntCqCjI.js":"c5e49757-4227"},"imported":[{"uid":"c5e49757-4222"},{"uid":"c5e49757-4224"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4228":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WareAgeWarm/wareAgeWarm/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-B5Li9YFP.js":"c5e49757-4229"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-292"}],"importedBy":[{"uid":"c5e49757-4232"}]},"c5e49757-4230":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WareAgeWarm/wareAgeWarm/component/editDialog.vue?vue&type=style&index=0&scoped=32a99475&lang.css","moduleParts":{"assets/js/editDialog-B5Li9YFP.js":"c5e49757-4231"},"imported":[],"importedBy":[{"uid":"c5e49757-4232"}]},"c5e49757-4232":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WareAgeWarm/wareAgeWarm/component/editDialog.vue","moduleParts":{"assets/js/editDialog-B5Li9YFP.js":"c5e49757-4233"},"imported":[{"uid":"c5e49757-4228"},{"uid":"c5e49757-4230"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4234":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/dragVerify/dragVerifyImgRotate.vue?vue&type=script&lang.ts","moduleParts":{"assets/js/dragVerifyImgRotate-B8sCofSt.js":"c5e49757-4235"},"imported":[],"importedBy":[{"uid":"c5e49757-4240"}]},"c5e49757-4236":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/dragVerify/dragVerifyImgRotate.vue?vue&type=style&index=0&scoped=355dae2c&lang.css","moduleParts":{"assets/js/dragVerifyImgRotate-B8sCofSt.js":"c5e49757-4237"},"imported":[],"importedBy":[{"uid":"c5e49757-4240"}]},"c5e49757-4238":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/dragVerify/dragVerifyImgRotate.vue?vue&type=style&index=1&lang.css","moduleParts":{"assets/js/dragVerifyImgRotate-B8sCofSt.js":"c5e49757-4239"},"imported":[],"importedBy":[{"uid":"c5e49757-4240"}]},"c5e49757-4240":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/dragVerify/dragVerifyImgRotate.vue","moduleParts":{"assets/js/dragVerifyImgRotate-B8sCofSt.js":"c5e49757-4241"},"imported":[{"uid":"c5e49757-4234"},{"uid":"c5e49757-626"},{"uid":"c5e49757-4236"},{"uid":"c5e49757-4238"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3290"}]},"c5e49757-4242":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQc/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-CEanDBXj.js":"c5e49757-4243"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2152"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-2450"}],"importedBy":[{"uid":"c5e49757-4246"}]},"c5e49757-4244":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQc/component/editDialog.vue?vue&type=style&index=0&scoped=2744b8d7&lang.css","moduleParts":{"assets/js/editDialog-CEanDBXj.js":"c5e49757-4245"},"imported":[],"importedBy":[{"uid":"c5e49757-4246"}]},"c5e49757-4246":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQc/component/editDialog.vue","moduleParts":{"assets/js/editDialog-CEanDBXj.js":"c5e49757-4247"},"imported":[{"uid":"c5e49757-4242"},{"uid":"c5e49757-4244"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4254"}]},"c5e49757-4248":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/receiptCompletion/index.vue?vue&type=script&setup=true&name=wareAgeWarm&lang.ts","moduleParts":{"assets/js/index-j6lN53qH.js":"c5e49757-4249"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-4716"},{"uid":"c5e49757-2418"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-568"}],"importedBy":[{"uid":"c5e49757-4252"}]},"c5e49757-4250":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/receiptCompletion/index.vue?vue&type=style&index=0&scoped=a866b0d7&lang.css","moduleParts":{"assets/js/index-j6lN53qH.js":"c5e49757-4251"},"imported":[],"importedBy":[{"uid":"c5e49757-4252"}]},"c5e49757-4252":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/receiptCompletion/index.vue","moduleParts":{"assets/js/index-j6lN53qH.js":"c5e49757-4253"},"imported":[{"uid":"c5e49757-4248"},{"uid":"c5e49757-4250"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4254":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQc/index.vue?vue&type=script&setup=true&name=wmsQc&lang.ts","moduleParts":{"assets/js/index-Dy8XDKju.js":"c5e49757-4255"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4246"},{"uid":"c5e49757-2152"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-4500"},{"uid":"c5e49757-4772"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-2432"}],"importedBy":[{"uid":"c5e49757-4258"}]},"c5e49757-4256":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQc/index.vue?vue&type=style&index=0&scoped=2faf9ad7&lang.css","moduleParts":{"assets/js/index-Dy8XDKju.js":"c5e49757-4257"},"imported":[],"importedBy":[{"uid":"c5e49757-4258"}]},"c5e49757-4258":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQc/index.vue","moduleParts":{"assets/js/index-Dy8XDKju.js":"c5e49757-4259"},"imported":[{"uid":"c5e49757-4254"},{"uid":"c5e49757-4256"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4260":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterialType/index.vue?vue&type=script&setup=true&name=wmsMaterialType&lang.ts","moduleParts":{"assets/js/index-BMAZM3W-.js":"c5e49757-4261"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-3834"},{"uid":"c5e49757-3176"}],"importedBy":[{"uid":"c5e49757-4264"}]},"c5e49757-4262":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterialType/index.vue?vue&type=style&index=0&scoped=900b0112&lang.css","moduleParts":{"assets/js/index-BMAZM3W-.js":"c5e49757-4263"},"imported":[],"importedBy":[{"uid":"c5e49757-4264"}]},"c5e49757-4264":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterialType/index.vue","moduleParts":{"assets/js/index-BMAZM3W-.js":"c5e49757-4265"},"imported":[{"uid":"c5e49757-4260"},{"uid":"c5e49757-4262"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4266":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/openAccount.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openAccount-D2YjOCYL.js":"c5e49757-4267"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3804"},{"uid":"c5e49757-3910"},{"uid":"c5e49757-4174"},{"uid":"c5e49757-3176"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3566"}],"importedBy":[{"uid":"c5e49757-4270"}]},"c5e49757-4268":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/openAccount.vue?vue&type=style&index=0&scoped=c6c9053a&lang.less","moduleParts":{"assets/js/openAccount-D2YjOCYL.js":"c5e49757-4269"},"imported":[],"importedBy":[{"uid":"c5e49757-4270"}]},"c5e49757-4270":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/openAccount.vue","moduleParts":{"assets/js/openAccount-D2YjOCYL.js":"c5e49757-4271"},"imported":[{"uid":"c5e49757-4266"},{"uid":"c5e49757-4268"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4788"}]},"c5e49757-4272":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsControlRuleDetail/index.vue?vue&type=script&setup=true&name=wmsControlRuleDetail&lang.ts","moduleParts":{"assets/js/index-B0_sJ8Cd.js":"c5e49757-4273"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4324"},{"uid":"c5e49757-4318"}],"importedBy":[{"uid":"c5e49757-4276"}]},"c5e49757-4274":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsControlRuleDetail/index.vue?vue&type=style&index=0&scoped=63fdb574&lang.css","moduleParts":{"assets/js/index-B0_sJ8Cd.js":"c5e49757-4275"},"imported":[],"importedBy":[{"uid":"c5e49757-4276"}]},"c5e49757-4276":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsControlRuleDetail/index.vue","moduleParts":{"assets/js/index-B0_sJ8Cd.js":"c5e49757-4277"},"imported":[{"uid":"c5e49757-4272"},{"uid":"c5e49757-4274"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4278":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsStockQuan/wmsContainerPlace/index.vue?vue&type=script&setup=true&name=wmsContainerPlace&lang.ts","moduleParts":{"assets/js/index-BkjALj5A.js":"c5e49757-4279"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-304"}],"importedBy":[{"uid":"c5e49757-4282"}]},"c5e49757-4280":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsStockQuan/wmsContainerPlace/index.vue?vue&type=style&index=0&scoped=2ed812f6&lang.css","moduleParts":{"assets/js/index-BkjALj5A.js":"c5e49757-4281"},"imported":[],"importedBy":[{"uid":"c5e49757-4282"}]},"c5e49757-4282":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsStockQuan/wmsContainerPlace/index.vue","moduleParts":{"assets/js/index-BkjALj5A.js":"c5e49757-4283"},"imported":[{"uid":"c5e49757-4278"},{"uid":"c5e49757-4280"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4284":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/SoftwareAdapterService/recordAdapter.ts","moduleParts":{"assets/js/editDialog-D2uvwh6V.js":"c5e49757-4285"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4286"},{"uid":"c5e49757-4138"}]},"c5e49757-4286":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/recordAdapter/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-D2uvwh6V.js":"c5e49757-4287"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4284"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-632"}],"importedBy":[{"uid":"c5e49757-4290"}]},"c5e49757-4288":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/recordAdapter/component/editDialog.vue?vue&type=style&index=0&scoped=dc54b41d&lang.css","moduleParts":{"assets/js/editDialog-D2uvwh6V.js":"c5e49757-4289"},"imported":[],"importedBy":[{"uid":"c5e49757-4290"}]},"c5e49757-4290":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/recordAdapter/component/editDialog.vue","moduleParts":{"assets/js/editDialog-D2uvwh6V.js":"c5e49757-4291"},"imported":[{"uid":"c5e49757-4286"},{"uid":"c5e49757-4288"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4138"}]},"c5e49757-4292":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/component/columnsAside.vue?vue&type=script&setup=true&name=layoutColumnsAside&lang.ts","moduleParts":{"assets/js/columnsAside-Di4692aZ.js":"c5e49757-4293"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3548"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3606"},{"uid":"c5e49757-346"}],"importedBy":[{"uid":"c5e49757-4296"}]},"c5e49757-4294":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/component/columnsAside.vue?vue&type=style&index=0&scoped=6cdbb74e&lang.scss","moduleParts":{"assets/js/columnsAside-Di4692aZ.js":"c5e49757-4295"},"imported":[],"importedBy":[{"uid":"c5e49757-4296"}]},"c5e49757-4296":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/component/columnsAside.vue","moduleParts":{"assets/js/columnsAside-Di4692aZ.js":"c5e49757-4297"},"imported":[{"uid":"c5e49757-4292"},{"uid":"c5e49757-4294"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-110"}]},"c5e49757-4298":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQcDetails/index.vue?vue&type=script&setup=true&name=wmsQcDetails&lang.ts","moduleParts":{"assets/js/index-DSumZK8a.js":"c5e49757-4299"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4544"},{"uid":"c5e49757-728"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-2450"}],"importedBy":[{"uid":"c5e49757-4302"}]},"c5e49757-4300":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQcDetails/index.vue?vue&type=style&index=0&scoped=eb3e5157&lang.css","moduleParts":{"assets/js/index-DSumZK8a.js":"c5e49757-4301"},"imported":[],"importedBy":[{"uid":"c5e49757-4302"}]},"c5e49757-4302":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQcDetails/index.vue","moduleParts":{"assets/js/index-DSumZK8a.js":"c5e49757-4303"},"imported":[{"uid":"c5e49757-4298"},{"uid":"c5e49757-4300"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4304":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsFactory/index.vue?vue&type=script&setup=true&name=wmsFactory&lang.ts","moduleParts":{"assets/js/index-B4mQKa3k.js":"c5e49757-4305"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-3998"},{"uid":"c5e49757-2154"}],"importedBy":[{"uid":"c5e49757-4308"}]},"c5e49757-4306":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsFactory/index.vue?vue&type=style&index=0&scoped=7c08eb5e&lang.css","moduleParts":{"assets/js/index-B4mQKa3k.js":"c5e49757-4307"},"imported":[],"importedBy":[{"uid":"c5e49757-4308"}]},"c5e49757-4308":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsFactory/index.vue","moduleParts":{"assets/js/index-B4mQKa3k.js":"c5e49757-4309"},"imported":[{"uid":"c5e49757-4304"},{"uid":"c5e49757-4306"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4310":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/saulVModel.ts","moduleParts":{"assets/js/search-CB1L-EQT.js":"c5e49757-4311"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-4312"}]},"c5e49757-4312":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/table/search.vue?vue&type=script&setup=true&name=makeTableDemoSearch&lang.ts","moduleParts":{"assets/js/search-CB1L-EQT.js":"c5e49757-4313"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4310"}],"importedBy":[{"uid":"c5e49757-4316"}]},"c5e49757-4314":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/table/search.vue?vue&type=style&index=0&scoped=68d08c51&lang.scss","moduleParts":{"assets/js/search-CB1L-EQT.js":"c5e49757-4315"},"imported":[],"importedBy":[{"uid":"c5e49757-4316"}]},"c5e49757-4316":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/table/search.vue","moduleParts":{"assets/js/search-CB1L-EQT.js":"c5e49757-4317"},"imported":[{"uid":"c5e49757-4312"},{"uid":"c5e49757-4314"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-558"}]},"c5e49757-4318":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsControlRuleDetail.ts","moduleParts":{"assets/js/editDialog-CdjAnyrA.js":"c5e49757-4319"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4320"},{"uid":"c5e49757-4272"},{"uid":"c5e49757-4170"}]},"c5e49757-4320":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsControlRuleDetail/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-CdjAnyrA.js":"c5e49757-4321"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4318"}],"importedBy":[{"uid":"c5e49757-4324"}]},"c5e49757-4322":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsControlRuleDetail/component/editDialog.vue?vue&type=style&index=0&scoped=5bd56850&lang.css","moduleParts":{"assets/js/editDialog-CdjAnyrA.js":"c5e49757-4323"},"imported":[],"importedBy":[{"uid":"c5e49757-4324"}]},"c5e49757-4324":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsControlRuleDetail/component/editDialog.vue","moduleParts":{"assets/js/editDialog-CdjAnyrA.js":"c5e49757-4325"},"imported":[{"uid":"c5e49757-4320"},{"uid":"c5e49757-4322"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4272"},{"uid":"c5e49757-4170"}]},"c5e49757-4326":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job/index.vue?vue&type=script&setup=true&name=sysJob&lang.ts","moduleParts":{"assets/js/index-BzKRlwA7.js":"c5e49757-4327"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-348"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-494"},{"uid":"c5e49757-550"},{"uid":"c5e49757-544"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-9452"}],"importedBy":[{"uid":"c5e49757-4330"}]},"c5e49757-4328":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job/index.vue?vue&type=style&index=0&lang.css","moduleParts":{"assets/js/index-BzKRlwA7.js":"c5e49757-4329"},"imported":[],"importedBy":[{"uid":"c5e49757-4330"}]},"c5e49757-4330":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/job/index.vue","moduleParts":{"assets/js/index-BzKRlwA7.js":"c5e49757-4331"},"imported":[{"uid":"c5e49757-4326"},{"uid":"c5e49757-4328"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4332":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/TestDemo/testStudent.ts","moduleParts":{"assets/js/editDialog-us50TE4I.js":"c5e49757-4333"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4334"},{"uid":"c5e49757-4088"}]},"c5e49757-4334":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testStudent/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-us50TE4I.js":"c5e49757-4335"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4332"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4338"}]},"c5e49757-4336":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testStudent/component/editDialog.vue?vue&type=style&index=0&scoped=29aa69f7&lang.css","moduleParts":{"assets/js/editDialog-us50TE4I.js":"c5e49757-4337"},"imported":[],"importedBy":[{"uid":"c5e49757-4338"}]},"c5e49757-4338":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testStudent/component/editDialog.vue","moduleParts":{"assets/js/editDialog-us50TE4I.js":"c5e49757-4339"},"imported":[{"uid":"c5e49757-4334"},{"uid":"c5e49757-4336"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4088"}]},"c5e49757-4340":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovementDetails/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-CdtGi1j_.js":"c5e49757-4341"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-244"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4344"}]},"c5e49757-4342":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovementDetails/component/editDialog.vue?vue&type=style&index=0&scoped=857f8271&lang.css","moduleParts":{"assets/js/editDialog-CdtGi1j_.js":"c5e49757-4343"},"imported":[],"importedBy":[{"uid":"c5e49757-4344"}]},"c5e49757-4344":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovementDetails/component/editDialog.vue","moduleParts":{"assets/js/editDialog-CdtGi1j_.js":"c5e49757-4345"},"imported":[{"uid":"c5e49757-4340"},{"uid":"c5e49757-4342"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4754"}]},"c5e49757-4346":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsContainer.ts","moduleParts":{"assets/js/editDialog-BnF2qnjG.js":"c5e49757-4347"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4348"},{"uid":"c5e49757-4686"}]},"c5e49757-4348":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainer/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-BnF2qnjG.js":"c5e49757-4349"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4346"},{"uid":"c5e49757-3172"}],"importedBy":[{"uid":"c5e49757-4352"}]},"c5e49757-4350":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainer/component/editDialog.vue?vue&type=style&index=0&scoped=2ad4c074&lang.css","moduleParts":{"assets/js/editDialog-BnF2qnjG.js":"c5e49757-4351"},"imported":[],"importedBy":[{"uid":"c5e49757-4352"}]},"c5e49757-4352":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainer/component/editDialog.vue","moduleParts":{"assets/js/editDialog-BnF2qnjG.js":"c5e49757-4353"},"imported":[{"uid":"c5e49757-4348"},{"uid":"c5e49757-4350"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4686"}]},"c5e49757-4354":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/bcProp/yuconfigOpenAllprop.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/detailconfigOpenAllprop-Zax7xJP0.js":"c5e49757-4355"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-620"},{"uid":"c5e49757-230"},{"uid":"c5e49757-610"},{"uid":"c5e49757-244"}],"importedBy":[{"uid":"c5e49757-4358"}]},"c5e49757-4356":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/bcProp/yuconfigOpenAllprop.vue?vue&type=style&index=0&scoped=ea65f793&lang.less","moduleParts":{"assets/js/detailconfigOpenAllprop-Zax7xJP0.js":"c5e49757-4357"},"imported":[],"importedBy":[{"uid":"c5e49757-4358"}]},"c5e49757-4358":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/bcProp/yuconfigOpenAllprop.vue","moduleParts":{"assets/js/detailconfigOpenAllprop-Zax7xJP0.js":"c5e49757-4359"},"imported":[{"uid":"c5e49757-4354"},{"uid":"c5e49757-4356"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-4126"},{"uid":"c5e49757-4000"}]},"c5e49757-4360":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/bcProp/fenconfigOpenAllprop.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/detailconfigOpenAllprop-Zax7xJP0.js":"c5e49757-4361"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-620"},{"uid":"c5e49757-230"},{"uid":"c5e49757-610"},{"uid":"c5e49757-244"}],"importedBy":[{"uid":"c5e49757-4364"}]},"c5e49757-4362":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/bcProp/fenconfigOpenAllprop.vue?vue&type=style&index=0&scoped=32e614a8&lang.less","moduleParts":{"assets/js/detailconfigOpenAllprop-Zax7xJP0.js":"c5e49757-4363"},"imported":[],"importedBy":[{"uid":"c5e49757-4364"}]},"c5e49757-4364":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/bcProp/fenconfigOpenAllprop.vue","moduleParts":{"assets/js/detailconfigOpenAllprop-Zax7xJP0.js":"c5e49757-4365"},"imported":[{"uid":"c5e49757-4360"},{"uid":"c5e49757-4362"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-4126"},{"uid":"c5e49757-4000"}]},"c5e49757-4366":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/bcProp/cancelconfigOpenAllprop.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/detailconfigOpenAllprop-Zax7xJP0.js":"c5e49757-4367"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-620"},{"uid":"c5e49757-230"},{"uid":"c5e49757-610"},{"uid":"c5e49757-244"}],"importedBy":[{"uid":"c5e49757-4370"}]},"c5e49757-4368":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/bcProp/cancelconfigOpenAllprop.vue?vue&type=style&index=0&scoped=b72563a0&lang.less","moduleParts":{"assets/js/detailconfigOpenAllprop-Zax7xJP0.js":"c5e49757-4369"},"imported":[],"importedBy":[{"uid":"c5e49757-4370"}]},"c5e49757-4370":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/bcProp/cancelconfigOpenAllprop.vue","moduleParts":{"assets/js/detailconfigOpenAllprop-Zax7xJP0.js":"c5e49757-4371"},"imported":[{"uid":"c5e49757-4366"},{"uid":"c5e49757-4368"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-4126"},{"uid":"c5e49757-4000"}]},"c5e49757-4372":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/bcProp/detailconfigOpenAllprop.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/detailconfigOpenAllprop-Zax7xJP0.js":"c5e49757-4373"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-230"},{"uid":"c5e49757-610"},{"uid":"c5e49757-244"},{"uid":"c5e49757-302"},{"uid":"c5e49757-2442"},{"uid":"c5e49757-584"},{"uid":"c5e49757-3172"}],"importedBy":[{"uid":"c5e49757-4376"}]},"c5e49757-4374":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/bcProp/detailconfigOpenAllprop.vue?vue&type=style&index=0&scoped=0160cc2b&lang.less","moduleParts":{"assets/js/detailconfigOpenAllprop-Zax7xJP0.js":"c5e49757-4375"},"imported":[],"importedBy":[{"uid":"c5e49757-4376"}]},"c5e49757-4376":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/bcProp/detailconfigOpenAllprop.vue","moduleParts":{"assets/js/detailconfigOpenAllprop-Zax7xJP0.js":"c5e49757-4377"},"imported":[{"uid":"c5e49757-4372"},{"uid":"c5e49757-4374"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-4126"},{"uid":"c5e49757-4000"}]},"c5e49757-4378":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSortDetails/index.vue?vue&type=script&setup=true&name=wmsOrderSortDetails&lang.ts","moduleParts":{"assets/js/index-BPP3UB35.js":"c5e49757-4379"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4576"},{"uid":"c5e49757-610"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-4382"}]},"c5e49757-4380":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSortDetails/index.vue?vue&type=style&index=0&scoped=68601c4d&lang.css","moduleParts":{"assets/js/index-BPP3UB35.js":"c5e49757-4381"},"imported":[],"importedBy":[{"uid":"c5e49757-4382"}]},"c5e49757-4382":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSortDetails/index.vue","moduleParts":{"assets/js/index-BPP3UB35.js":"c5e49757-4383"},"imported":[{"uid":"c5e49757-4378"},{"uid":"c5e49757-4380"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4384":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainerType/index.vue?vue&type=script&setup=true&name=wmsContainerType&lang.ts","moduleParts":{"assets/js/index-CSFjvzyv.js":"c5e49757-4385"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4734"},{"uid":"c5e49757-2416"}],"importedBy":[{"uid":"c5e49757-4388"}]},"c5e49757-4386":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainerType/index.vue?vue&type=style&index=0&scoped=8b047594&lang.css","moduleParts":{"assets/js/index-CSFjvzyv.js":"c5e49757-4387"},"imported":[],"importedBy":[{"uid":"c5e49757-4388"}]},"c5e49757-4388":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainerType/index.vue","moduleParts":{"assets/js/index-CSFjvzyv.js":"c5e49757-4389"},"imported":[{"uid":"c5e49757-4384"},{"uid":"c5e49757-4386"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4390":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainerPackaging/index.vue?vue&type=script&setup=true&name=wmsContainerPackaging&lang.ts","moduleParts":{"assets/js/index-u3UBuAr2.js":"c5e49757-4391"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-266"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4780"},{"uid":"c5e49757-4774"}],"importedBy":[{"uid":"c5e49757-4394"}]},"c5e49757-4392":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainerPackaging/index.vue?vue&type=style&index=0&scoped=b5dee132&lang.css","moduleParts":{"assets/js/index-u3UBuAr2.js":"c5e49757-4393"},"imported":[],"importedBy":[{"uid":"c5e49757-4394"}]},"c5e49757-4394":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainerPackaging/index.vue","moduleParts":{"assets/js/index-u3UBuAr2.js":"c5e49757-4395"},"imported":[{"uid":"c5e49757-4390"},{"uid":"c5e49757-4392"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4396":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testStudent/component/openAllprop.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openAllprop-CAtl3jPK.js":"c5e49757-4397"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-3332"}],"importedBy":[{"uid":"c5e49757-4400"}]},"c5e49757-4398":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testStudent/component/openAllprop.vue?vue&type=style&index=0&scoped=0cf7412a&lang.less","moduleParts":{"assets/js/openAllprop-CAtl3jPK.js":"c5e49757-4399"},"imported":[],"importedBy":[{"uid":"c5e49757-4400"}]},"c5e49757-4400":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/TestDemo/testStudent/component/openAllprop.vue","moduleParts":{"assets/js/openAllprop-CAtl3jPK.js":"c5e49757-4401"},"imported":[{"uid":"c5e49757-4396"},{"uid":"c5e49757-4398"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4402":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckRecord/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DypJt2Vy.js":"c5e49757-4403"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-562"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4406"}]},"c5e49757-4404":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckRecord/component/editDialog.vue?vue&type=style&index=0&scoped=3eb1b6b3&lang.css","moduleParts":{"assets/js/editDialog-DypJt2Vy.js":"c5e49757-4405"},"imported":[],"importedBy":[{"uid":"c5e49757-4406"}]},"c5e49757-4406":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckRecord/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DypJt2Vy.js":"c5e49757-4407"},"imported":[{"uid":"c5e49757-4402"},{"uid":"c5e49757-4404"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4408":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsNoCreateRule/index.vue?vue&type=script&setup=true&name=wmsNoCreateRule&lang.ts","moduleParts":{"assets/js/index-Bm3ENhR7.js":"c5e49757-4409"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4628"},{"uid":"c5e49757-4622"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-2450"}],"importedBy":[{"uid":"c5e49757-4412"}]},"c5e49757-4410":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsNoCreateRule/index.vue?vue&type=style&index=0&scoped=56557b8c&lang.css","moduleParts":{"assets/js/index-Bm3ENhR7.js":"c5e49757-4411"},"imported":[],"importedBy":[{"uid":"c5e49757-4412"}]},"c5e49757-4412":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsNoCreateRule/index.vue","moduleParts":{"assets/js/index-Bm3ENhR7.js":"c5e49757-4413"},"imported":[{"uid":"c5e49757-4408"},{"uid":"c5e49757-4410"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4414":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsPlace/index.vue?vue&type=script&setup=true&name=wmsPlace&lang.ts","moduleParts":{"assets/js/index-7UIBjBm7.js":"c5e49757-4415"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4614"},{"uid":"c5e49757-584"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3172"}],"importedBy":[{"uid":"c5e49757-4418"}]},"c5e49757-4416":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsPlace/index.vue?vue&type=style&index=0&scoped=fd654f14&lang.css","moduleParts":{"assets/js/index-7UIBjBm7.js":"c5e49757-4417"},"imported":[],"importedBy":[{"uid":"c5e49757-4418"}]},"c5e49757-4418":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsPlace/index.vue","moduleParts":{"assets/js/index-7UIBjBm7.js":"c5e49757-4419"},"imported":[{"uid":"c5e49757-4414"},{"uid":"c5e49757-4416"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4420":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-cache-api.ts","moduleParts":{"assets/js/index-BqFlMUi6.js":"c5e49757-4421"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-4422":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/noticeBar/index.vue?vue&type=script&setup=true&name=noticeBar&lang.ts","moduleParts":{"assets/js/index-BqFlMUi6.js":"c5e49757-4423"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-4426"}]},"c5e49757-4424":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/noticeBar/index.vue?vue&type=style&index=0&scoped=8d2d1eb4&lang.scss","moduleParts":{"assets/js/index-BqFlMUi6.js":"c5e49757-4425"},"imported":[],"importedBy":[{"uid":"c5e49757-4426"}]},"c5e49757-4426":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/noticeBar/index.vue","moduleParts":{"assets/js/index-BqFlMUi6.js":"c5e49757-4427"},"imported":[{"uid":"c5e49757-4422"},{"uid":"c5e49757-4424"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-4428"}]},"c5e49757-4428":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/cache/index.vue?vue&type=script&setup=true&name=sysCache&lang.ts","moduleParts":{"assets/js/index-BqFlMUi6.js":"c5e49757-4429"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4426"},{"uid":"c5e49757-3532"},{"uid":"c5e49757-3534"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9443"}],"importedBy":[{"uid":"c5e49757-4432"}]},"c5e49757-4430":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/cache/index.vue?vue&type=style&index=0&scoped=ba1df66b&lang.scss","moduleParts":{"assets/js/index-BqFlMUi6.js":"c5e49757-4431"},"imported":[],"importedBy":[{"uid":"c5e49757-4432"}]},"c5e49757-4432":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/cache/index.vue","moduleParts":{"assets/js/index-BqFlMUi6.js":"c5e49757-4433"},"imported":[{"uid":"c5e49757-4428"},{"uid":"c5e49757-4430"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4434":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsStockQuan/wmsContainerPlace/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-BXMEk7vb.js":"c5e49757-4435"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-304"}],"importedBy":[{"uid":"c5e49757-4438"}]},"c5e49757-4436":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsStockQuan/wmsContainerPlace/component/editDialog.vue?vue&type=style&index=0&scoped=25eac1ba&lang.css","moduleParts":{"assets/js/editDialog-BXMEk7vb.js":"c5e49757-4437"},"imported":[],"importedBy":[{"uid":"c5e49757-4438"}]},"c5e49757-4438":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsStockQuan/wmsContainerPlace/component/editDialog.vue","moduleParts":{"assets/js/editDialog-BXMEk7vb.js":"c5e49757-4439"},"imported":[{"uid":"c5e49757-4434"},{"uid":"c5e49757-4436"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4440":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-CNhvuckz.js":"c5e49757-4441"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-266"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2424"}],"importedBy":[{"uid":"c5e49757-4444"}]},"c5e49757-4442":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/component/editDialog.vue?vue&type=style&index=0&scoped=7a4ed74a&lang.css","moduleParts":{"assets/js/editDialog-CNhvuckz.js":"c5e49757-4443"},"imported":[],"importedBy":[{"uid":"c5e49757-4444"}]},"c5e49757-4444":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/component/editDialog.vue","moduleParts":{"assets/js/editDialog-CNhvuckz.js":"c5e49757-4445"},"imported":[{"uid":"c5e49757-4440"},{"uid":"c5e49757-4442"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4788"}]},"c5e49757-4446":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsn/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-CC9nTKLF.js":"c5e49757-4447"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-656"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4450"}]},"c5e49757-4448":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsn/component/editDialog.vue?vue&type=style&index=0&scoped=4b390049&lang.css","moduleParts":{"assets/js/editDialog-CC9nTKLF.js":"c5e49757-4449"},"imported":[],"importedBy":[{"uid":"c5e49757-4450"}]},"c5e49757-4450":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsn/component/editDialog.vue","moduleParts":{"assets/js/editDialog-CC9nTKLF.js":"c5e49757-4451"},"imported":[{"uid":"c5e49757-4446"},{"uid":"c5e49757-4448"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4916"}]},"c5e49757-4452":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckRange/index.vue?vue&type=script&setup=true&name=wmsInventoryCheckRange&lang.ts","moduleParts":{"assets/js/index-ByqnqUSu.js":"c5e49757-4453"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4804"},{"uid":"c5e49757-552"}],"importedBy":[{"uid":"c5e49757-4456"}]},"c5e49757-4454":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckRange/index.vue?vue&type=style&index=0&scoped=28dcd32d&lang.css","moduleParts":{"assets/js/index-ByqnqUSu.js":"c5e49757-4455"},"imported":[],"importedBy":[{"uid":"c5e49757-4456"}]},"c5e49757-4456":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckRange/index.vue","moduleParts":{"assets/js/index-ByqnqUSu.js":"c5e49757-4457"},"imported":[{"uid":"c5e49757-4452"},{"uid":"c5e49757-4454"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4458":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsSubstituteGood.ts","moduleParts":{"assets/js/editDialog-DdaLplms.js":"c5e49757-4459"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4460"},{"uid":"c5e49757-3874"}]},"c5e49757-4460":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DdaLplms.js":"c5e49757-4461"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4458"}],"importedBy":[{"uid":"c5e49757-4464"}]},"c5e49757-4462":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue?vue&type=style&index=0&scoped=587d8dcc&lang.css","moduleParts":{"assets/js/editDialog-DdaLplms.js":"c5e49757-4463"},"imported":[],"importedBy":[{"uid":"c5e49757-4464"}]},"c5e49757-4464":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DdaLplms.js":"c5e49757-4465"},"imported":[{"uid":"c5e49757-4460"},{"uid":"c5e49757-4462"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3874"}]},"c5e49757-4466":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/openDialogPd.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openDialogPd.vue_vue_type_style_index_0_lang-B3E8pXoE.js":"c5e49757-4467"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2438"},{"uid":"c5e49757-56"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2384"},{"uid":"c5e49757-552"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-3172"}],"importedBy":[{"uid":"c5e49757-650"}]},"c5e49757-4468":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/openDialogPd.vue?vue&type=style&index=0&lang.less","moduleParts":{"assets/js/openDialogPd.vue_vue_type_style_index_0_lang-B3E8pXoE.js":"c5e49757-4469"},"imported":[],"importedBy":[{"uid":"c5e49757-650"}]},"c5e49757-4470":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/region/component/regionTree.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/regionTree-kQh2HjhR.js":"c5e49757-4471"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4474"}]},"c5e49757-4472":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/region/component/regionTree.vue?vue&type=style&index=0&scoped=e16f46e7&lang.scss","moduleParts":{"assets/js/regionTree-kQh2HjhR.js":"c5e49757-4473"},"imported":[],"importedBy":[{"uid":"c5e49757-4474"}]},"c5e49757-4474":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/region/component/regionTree.vue","moduleParts":{"assets/js/regionTree-kQh2HjhR.js":"c5e49757-4475"},"imported":[{"uid":"c5e49757-4470"},{"uid":"c5e49757-4472"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-592"}]},"c5e49757-4476":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-server-api.ts","moduleParts":{"assets/js/index-Cl1x_X_Y.js":"c5e49757-4477"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-4478":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/server/index.vue?vue&type=script&setup=true&name=sysServer&lang.ts","moduleParts":{"assets/js/index-Cl1x_X_Y.js":"c5e49757-4479"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9443"}],"importedBy":[{"uid":"c5e49757-4482"}]},"c5e49757-4480":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/server/index.vue?vue&type=style&index=0&scoped=3a4ad0c5&lang.scss","moduleParts":{"assets/js/index-Cl1x_X_Y.js":"c5e49757-4481"},"imported":[],"importedBy":[{"uid":"c5e49757-4482"}]},"c5e49757-4482":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/server/index.vue","moduleParts":{"assets/js/index-Cl1x_X_Y.js":"c5e49757-4483"},"imported":[{"uid":"c5e49757-4478"},{"uid":"c5e49757-4480"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4484":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/tagsView/tagsView.vue?vue&type=script&setup=true&name=layoutTagsView&lang.ts","moduleParts":{"assets/js/tagsView-BdVxfNUs.js":"c5e49757-4485"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-3166"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3542"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3546"},{"uid":"c5e49757-3548"},{"uid":"c5e49757-3540"},{"uid":"c5e49757-3614"},{"uid":"c5e49757-3604"},{"uid":"c5e49757-3606"},{"uid":"c5e49757-3866","dynamic":true}],"importedBy":[{"uid":"c5e49757-4488"}]},"c5e49757-4486":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/tagsView/tagsView.vue?vue&type=style&index=0&scoped=d2c4fee4&lang.scss","moduleParts":{"assets/js/tagsView-BdVxfNUs.js":"c5e49757-4487"},"imported":[],"importedBy":[{"uid":"c5e49757-4488"}]},"c5e49757-4488":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/tagsView/tagsView.vue","moduleParts":{"assets/js/tagsView-BdVxfNUs.js":"c5e49757-4489"},"imported":[{"uid":"c5e49757-4484"},{"uid":"c5e49757-4486"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-472"},{"uid":"c5e49757-3812"}]},"c5e49757-4490":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterCategories/index.vue?vue&type=script&setup=true&name=adapterCategories&lang.ts","moduleParts":{"assets/js/index-DTuAkWy8.js":"c5e49757-4491"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-298"},{"uid":"c5e49757-2432"},{"uid":"c5e49757-4086"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-3684"},{"uid":"c5e49757-632"}],"importedBy":[{"uid":"c5e49757-4494"}]},"c5e49757-4492":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterCategories/index.vue?vue&type=style&index=0&scoped=24e030e7&lang.css","moduleParts":{"assets/js/index-DTuAkWy8.js":"c5e49757-4493"},"imported":[],"importedBy":[{"uid":"c5e49757-4494"}]},"c5e49757-4494":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/SoftwareAdapterService/adapterCategories/index.vue","moduleParts":{"assets/js/index-DTuAkWy8.js":"c5e49757-4495"},"imported":[{"uid":"c5e49757-4490"},{"uid":"c5e49757-4492"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4496":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQc/component/openAllpropQc.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openAllpropQc-0U0s7dy5.js":"c5e49757-4497"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-620"},{"uid":"c5e49757-230"},{"uid":"c5e49757-2152"},{"uid":"c5e49757-728"},{"uid":"c5e49757-3172"}],"importedBy":[{"uid":"c5e49757-4500"}]},"c5e49757-4498":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQc/component/openAllpropQc.vue?vue&type=style&index=0&scoped=b1ff1340&lang.less","moduleParts":{"assets/js/openAllpropQc-0U0s7dy5.js":"c5e49757-4499"},"imported":[],"importedBy":[{"uid":"c5e49757-4500"}]},"c5e49757-4500":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQc/component/openAllpropQc.vue","moduleParts":{"assets/js/openAllpropQc-0U0s7dy5.js":"c5e49757-4501"},"imported":[{"uid":"c5e49757-4496"},{"uid":"c5e49757-4498"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4254"}]},"c5e49757-4502":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/iconSelector/list.vue?vue&type=script&setup=true&name=iconSelectorList&lang.ts","moduleParts":{"assets/js/list-CJkFUIrl.js":"c5e49757-4503"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-4506"}]},"c5e49757-4504":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/iconSelector/list.vue?vue&type=style&index=0&scoped=e4865837&lang.scss","moduleParts":{"assets/js/list-CJkFUIrl.js":"c5e49757-4505"},"imported":[],"importedBy":[{"uid":"c5e49757-4506"}]},"c5e49757-4506":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/iconSelector/list.vue","moduleParts":{"assets/js/list-CJkFUIrl.js":"c5e49757-4507"},"imported":[{"uid":"c5e49757-4502"},{"uid":"c5e49757-4504"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-4152"}]},"c5e49757-4508":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSortTrans/index.vue?vue&type=script&setup=true&name=wmsOrderSortTrans&lang.ts","moduleParts":{"assets/js/index-DC5_ICyI.js":"c5e49757-4509"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4656"},{"uid":"c5e49757-4650"}],"importedBy":[{"uid":"c5e49757-4512"}]},"c5e49757-4510":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSortTrans/index.vue?vue&type=style&index=0&scoped=7fba7fec&lang.css","moduleParts":{"assets/js/index-DC5_ICyI.js":"c5e49757-4511"},"imported":[],"importedBy":[{"uid":"c5e49757-4512"}]},"c5e49757-4512":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSortTrans/index.vue","moduleParts":{"assets/js/index-DC5_ICyI.js":"c5e49757-4513"},"imported":[{"uid":"c5e49757-4508"},{"uid":"c5e49757-4510"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4514":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/openDialogDetail.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openDialogDetail-DHX4eOR0.js":"c5e49757-4515"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-2012"},{"uid":"c5e49757-562"},{"uid":"c5e49757-2438"}],"importedBy":[{"uid":"c5e49757-4518"}]},"c5e49757-4516":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/openDialogDetail.vue?vue&type=style&index=0&scoped=d45d4b1f&lang.less","moduleParts":{"assets/js/openDialogDetail-DHX4eOR0.js":"c5e49757-4517"},"imported":[],"importedBy":[{"uid":"c5e49757-4518"}]},"c5e49757-4518":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/component/openDialogDetail.vue","moduleParts":{"assets/js/openDialogDetail-DHX4eOR0.js":"c5e49757-4519"},"imported":[{"uid":"c5e49757-4514"},{"uid":"c5e49757-4516"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4598"}]},"c5e49757-4520":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsn/component/openAllpropAsn.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openAllpropAsn-bPgjvvD3.js":"c5e49757-4521"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-64"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-468"},{"uid":"c5e49757-620"},{"uid":"c5e49757-230"},{"uid":"c5e49757-656"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-2446"}],"importedBy":[{"uid":"c5e49757-4524"}]},"c5e49757-4522":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsn/component/openAllpropAsn.vue?vue&type=style&index=0&scoped=3fc56d41&lang.less","moduleParts":{"assets/js/openAllpropAsn-bPgjvvD3.js":"c5e49757-4523"},"imported":[],"importedBy":[{"uid":"c5e49757-4524"}]},"c5e49757-4524":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsn/component/openAllpropAsn.vue","moduleParts":{"assets/js/openAllpropAsn-bPgjvvD3.js":"c5e49757-4525"},"imported":[{"uid":"c5e49757-4520"},{"uid":"c5e49757-4522"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4916"}]},"c5e49757-4526":{"id":"\u0000commonjs-dynamic-modules","moduleParts":{"assets/js/xlsx-js-style-DqOWmxvl.js":"c5e49757-4527"},"imported":[],"importedBy":[{"uid":"c5e49757-4538"},{"uid":"c5e49757-4532"}]},"c5e49757-4528":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/xlsx-js-style/dist/xlsx.min.js?commonjs-module","moduleParts":{"assets/js/xlsx-js-style-DqOWmxvl.js":"c5e49757-4529"},"imported":[],"importedBy":[{"uid":"c5e49757-4538"}]},"c5e49757-4530":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/xlsx-js-style/dist/cpexcel.js?commonjs-module","moduleParts":{"assets/js/xlsx-js-style-DqOWmxvl.js":"c5e49757-4531"},"imported":[],"importedBy":[{"uid":"c5e49757-4532"}]},"c5e49757-4532":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/xlsx-js-style/dist/cpexcel.js","moduleParts":{"assets/js/xlsx-js-style-DqOWmxvl.js":"c5e49757-4533"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-4526"},{"uid":"c5e49757-4530"}],"importedBy":[{"uid":"c5e49757-4538"}]},"c5e49757-4534":{"id":"__vite-browser-external","moduleParts":{"assets/js/xlsx-js-style-DqOWmxvl.js":"c5e49757-4535"},"imported":[],"importedBy":[{"uid":"c5e49757-2162"},{"uid":"c5e49757-4536"}]},"c5e49757-4536":{"id":"\u0000__vite-browser-external?commonjs-proxy","moduleParts":{"assets/js/xlsx-js-style-DqOWmxvl.js":"c5e49757-4537"},"imported":[{"uid":"c5e49757-4534"},{"uid":"c5e49757-350"}],"importedBy":[{"uid":"c5e49757-4538"}]},"c5e49757-4538":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/xlsx-js-style/dist/xlsx.min.js","moduleParts":{"assets/js/xlsx-js-style-DqOWmxvl.js":"c5e49757-4539"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-4526"},{"uid":"c5e49757-4528"},{"uid":"c5e49757-4532"},{"uid":"c5e49757-4536"}],"importedBy":[{"uid":"c5e49757-296"},{"uid":"c5e49757-2430"},{"uid":"c5e49757-4194"}]},"c5e49757-4540":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQcDetails/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-EHG1PBPx.js":"c5e49757-4541"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-728"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-2450"}],"importedBy":[{"uid":"c5e49757-4544"}]},"c5e49757-4542":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQcDetails/component/editDialog.vue?vue&type=style&index=0&scoped=b8b95a1c&lang.css","moduleParts":{"assets/js/editDialog-EHG1PBPx.js":"c5e49757-4543"},"imported":[],"importedBy":[{"uid":"c5e49757-4544"}]},"c5e49757-4544":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQcDetails/component/editDialog.vue","moduleParts":{"assets/js/editDialog-EHG1PBPx.js":"c5e49757-4545"},"imported":[{"uid":"c5e49757-4540"},{"uid":"c5e49757-4542"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4298"}]},"c5e49757-4546":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBatchRuleDetail/index.vue?vue&type=script&setup=true&name=wmsBatchRuleDetail&lang.ts","moduleParts":{"assets/js/index-DsjoiIpI.js":"c5e49757-4547"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4648"},{"uid":"c5e49757-564"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-4550"}]},"c5e49757-4548":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBatchRuleDetail/index.vue?vue&type=style&index=0&scoped=d9c8a785&lang.css","moduleParts":{"assets/js/index-DsjoiIpI.js":"c5e49757-4549"},"imported":[],"importedBy":[{"uid":"c5e49757-4550"}]},"c5e49757-4550":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBatchRuleDetail/index.vue","moduleParts":{"assets/js/index-DsjoiIpI.js":"c5e49757-4551"},"imported":[{"uid":"c5e49757-4546"},{"uid":"c5e49757-4548"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4552":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/baseCustomer/index.vue?vue&type=script&setup=true&name=baseCustomer&lang.ts","moduleParts":{"assets/js/index-Bvn3XwJB.js":"c5e49757-4553"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-266"},{"uid":"c5e49757-4678"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4684"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4556"}]},"c5e49757-4554":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/baseCustomer/index.vue?vue&type=style&index=0&scoped=a6194d02&lang.css","moduleParts":{"assets/js/index-Bvn3XwJB.js":"c5e49757-4555"},"imported":[],"importedBy":[{"uid":"c5e49757-4556"}]},"c5e49757-4556":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/baseCustomer/index.vue","moduleParts":{"assets/js/index-Bvn3XwJB.js":"c5e49757-4557"},"imported":[{"uid":"c5e49757-4552"},{"uid":"c5e49757-4554"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4558":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsOrderDo/wmsOrderDeliver.ts","moduleParts":{"assets/js/editDialog-DDXy4Awt.js":"c5e49757-4559"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4560"},{"uid":"c5e49757-4922"}]},"c5e49757-4560":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DDXy4Awt.js":"c5e49757-4561"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4558"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-2450"}],"importedBy":[{"uid":"c5e49757-4564"}]},"c5e49757-4562":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/component/editDialog.vue?vue&type=style&index=0&scoped=8f3a6d2a&lang.css","moduleParts":{"assets/js/editDialog-DDXy4Awt.js":"c5e49757-4563"},"imported":[],"importedBy":[{"uid":"c5e49757-4564"}]},"c5e49757-4564":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DDXy4Awt.js":"c5e49757-4565"},"imported":[{"uid":"c5e49757-4560"},{"uid":"c5e49757-4562"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4922"}]},"c5e49757-4566":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropOff.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openAllpropOff-Csky87fd.js":"c5e49757-4567"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-64"},{"uid":"c5e49757-244"},{"uid":"c5e49757-302"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-2442"},{"uid":"c5e49757-584"},{"uid":"c5e49757-2444"}],"importedBy":[{"uid":"c5e49757-4570"}]},"c5e49757-4568":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropOff.vue?vue&type=style&index=0&scoped=55f77cfd&lang.less","moduleParts":{"assets/js/openAllpropOff-Csky87fd.js":"c5e49757-4569"},"imported":[],"importedBy":[{"uid":"c5e49757-4570"}]},"c5e49757-4570":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropOff.vue","moduleParts":{"assets/js/openAllpropOff-Csky87fd.js":"c5e49757-4571"},"imported":[{"uid":"c5e49757-4566"},{"uid":"c5e49757-4568"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4126"}]},"c5e49757-4572":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSortDetails/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DCOdD0LK.js":"c5e49757-4573"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-610"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4576"}]},"c5e49757-4574":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSortDetails/component/editDialog.vue?vue&type=style&index=0&scoped=4f480c26&lang.css","moduleParts":{"assets/js/editDialog-DCOdD0LK.js":"c5e49757-4575"},"imported":[],"importedBy":[{"uid":"c5e49757-4576"}]},"c5e49757-4576":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSortDetails/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DCOdD0LK.js":"c5e49757-4577"},"imported":[{"uid":"c5e49757-4572"},{"uid":"c5e49757-4574"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4378"}]},"c5e49757-4578":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsSystemConfig/wmsConfigPrint.ts","moduleParts":{"assets/js/editDialog-UmqiOqRo.js":"c5e49757-4579"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4580"},{"uid":"c5e49757-3958"}]},"c5e49757-4580":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-UmqiOqRo.js":"c5e49757-4581"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-266"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4578"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4584"}]},"c5e49757-4582":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/component/editDialog.vue?vue&type=style&index=0&scoped=8c496ac6&lang.css","moduleParts":{"assets/js/editDialog-UmqiOqRo.js":"c5e49757-4583"},"imported":[],"importedBy":[{"uid":"c5e49757-4584"}]},"c5e49757-4584":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigPrint/component/editDialog.vue","moduleParts":{"assets/js/editDialog-UmqiOqRo.js":"c5e49757-4585"},"imported":[{"uid":"c5e49757-4580"},{"uid":"c5e49757-4582"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3958"}]},"c5e49757-4586":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DIYCpJAB.js":"c5e49757-4587"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-460"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-2450"}],"importedBy":[{"uid":"c5e49757-4590"}]},"c5e49757-4588":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/editDialog.vue?vue&type=style&index=0&scoped=2fcc9cd6&lang.css","moduleParts":{"assets/js/editDialog-DIYCpJAB.js":"c5e49757-4589"},"imported":[],"importedBy":[{"uid":"c5e49757-4590"}]},"c5e49757-4590":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DIYCpJAB.js":"c5e49757-4591"},"imported":[{"uid":"c5e49757-4586"},{"uid":"c5e49757-4588"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4070"}]},"c5e49757-4592":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBusinessType/index.vue?vue&type=script&setup=true&name=wmsBusinessType&lang.ts","moduleParts":{"assets/js/index-DkvjHfWn.js":"c5e49757-4593"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4740"},{"uid":"c5e49757-2450"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-4596"}]},"c5e49757-4594":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBusinessType/index.vue?vue&type=style&index=0&scoped=714061c4&lang.css","moduleParts":{"assets/js/index-DkvjHfWn.js":"c5e49757-4595"},"imported":[],"importedBy":[{"uid":"c5e49757-4596"}]},"c5e49757-4596":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBusinessType/index.vue","moduleParts":{"assets/js/index-DkvjHfWn.js":"c5e49757-4597"},"imported":[{"uid":"c5e49757-4592"},{"uid":"c5e49757-4594"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4598":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/index.vue?vue&type=script&setup=true&name=wmsInventoryCheckOrder&lang.ts","moduleParts":{"assets/js/index-DHbtS3NI.js":"c5e49757-4599"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-298"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-2438"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-3480"},{"uid":"c5e49757-2384"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-650"},{"uid":"c5e49757-4518"},{"uid":"c5e49757-2432"}],"importedBy":[{"uid":"c5e49757-4602"}]},"c5e49757-4600":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/index.vue?vue&type=style&index=0&scoped=b377bc87&lang.css","moduleParts":{"assets/js/index-DHbtS3NI.js":"c5e49757-4601"},"imported":[],"importedBy":[{"uid":"c5e49757-4602"}]},"c5e49757-4602":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckOrder/index.vue","moduleParts":{"assets/js/index-DHbtS3NI.js":"c5e49757-4603"},"imported":[{"uid":"c5e49757-4598"},{"uid":"c5e49757-4600"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4604":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigKbcard/index.vue?vue&type=script&setup=true&name=wmsConfigKbcard&lang.ts","moduleParts":{"assets/js/index-BqqkaIOu.js":"c5e49757-4605"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-3892"},{"uid":"c5e49757-3886"},{"uid":"c5e49757-2446"}],"importedBy":[{"uid":"c5e49757-4608"}]},"c5e49757-4606":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigKbcard/index.vue?vue&type=style&index=0&scoped=bf23c1e2&lang.css","moduleParts":{"assets/js/index-BqqkaIOu.js":"c5e49757-4607"},"imported":[],"importedBy":[{"uid":"c5e49757-4608"}]},"c5e49757-4608":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsConfigKbcard/index.vue","moduleParts":{"assets/js/index-BqqkaIOu.js":"c5e49757-4609"},"imported":[{"uid":"c5e49757-4604"},{"uid":"c5e49757-4606"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4610":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsPlace/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-8xkt6IsU.js":"c5e49757-4611"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-584"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-3172"}],"importedBy":[{"uid":"c5e49757-4614"}]},"c5e49757-4612":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsPlace/component/editDialog.vue?vue&type=style&index=0&scoped=4640995d&lang.css","moduleParts":{"assets/js/editDialog-8xkt6IsU.js":"c5e49757-4613"},"imported":[],"importedBy":[{"uid":"c5e49757-4614"}]},"c5e49757-4614":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsPlace/component/editDialog.vue","moduleParts":{"assets/js/editDialog-8xkt6IsU.js":"c5e49757-4615"},"imported":[{"uid":"c5e49757-4610"},{"uid":"c5e49757-4612"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4414"}]},"c5e49757-4616":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryWarning/index.vue?vue&type=script&setup=true&name=wareAgeWarm&lang.ts","moduleParts":{"assets/js/index-ClNwQpyx.js":"c5e49757-4617"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-64"},{"uid":"c5e49757-298"},{"uid":"c5e49757-4050"},{"uid":"c5e49757-2418"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-568"}],"importedBy":[{"uid":"c5e49757-4620"}]},"c5e49757-4618":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryWarning/index.vue?vue&type=style&index=0&scoped=ed3dadff&lang.css","moduleParts":{"assets/js/index-ClNwQpyx.js":"c5e49757-4619"},"imported":[],"importedBy":[{"uid":"c5e49757-4620"}]},"c5e49757-4620":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryWarning/index.vue","moduleParts":{"assets/js/index-ClNwQpyx.js":"c5e49757-4621"},"imported":[{"uid":"c5e49757-4616"},{"uid":"c5e49757-4618"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4622":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsSystemConfig/wmsNoCreateRule.ts","moduleParts":{"assets/js/editDialog-D3lIk238.js":"c5e49757-4623"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4624"},{"uid":"c5e49757-4408"}]},"c5e49757-4624":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsNoCreateRule/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-D3lIk238.js":"c5e49757-4625"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4622"}],"importedBy":[{"uid":"c5e49757-4628"}]},"c5e49757-4626":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsNoCreateRule/component/editDialog.vue?vue&type=style&index=0&scoped=da1946ee&lang.css","moduleParts":{"assets/js/editDialog-D3lIk238.js":"c5e49757-4627"},"imported":[],"importedBy":[{"uid":"c5e49757-4628"}]},"c5e49757-4628":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsNoCreateRule/component/editDialog.vue","moduleParts":{"assets/js/editDialog-D3lIk238.js":"c5e49757-4629"},"imported":[{"uid":"c5e49757-4624"},{"uid":"c5e49757-4626"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4408"}]},"c5e49757-4630":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/openAccess/component/helpView.vue?vue&type=script&setup=true&name=sysOpenAccessHelpView&lang.ts","moduleParts":{"assets/js/helpView-Dmv9I3nq.js":"c5e49757-4631"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-4634"}]},"c5e49757-4632":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/openAccess/component/helpView.vue?vue&type=style&index=0&scoped=58ec16d7&lang.scss","moduleParts":{"assets/js/helpView-Dmv9I3nq.js":"c5e49757-4633"},"imported":[],"importedBy":[{"uid":"c5e49757-4634"}]},"c5e49757-4634":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/openAccess/component/helpView.vue","moduleParts":{"assets/js/helpView-Dmv9I3nq.js":"c5e49757-4635"},"imported":[{"uid":"c5e49757-4630"},{"uid":"c5e49757-4632"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-638"}]},"c5e49757-4636":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-log-diff-api.ts","moduleParts":{"assets/js/index-cxd1pGfQ.js":"c5e49757-4637"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-4638":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/log/difflog/index.vue?vue&type=script&setup=true&name=sysDiffLog&lang.ts","moduleParts":{"assets/js/index-cxd1pGfQ.js":"c5e49757-4639"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4642"}]},"c5e49757-4640":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/log/difflog/index.vue?vue&type=style&index=0&scoped=c2a62b7d&lang.scss","moduleParts":{"assets/js/index-cxd1pGfQ.js":"c5e49757-4641"},"imported":[],"importedBy":[{"uid":"c5e49757-4642"}]},"c5e49757-4642":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/log/difflog/index.vue","moduleParts":{"assets/js/index-cxd1pGfQ.js":"c5e49757-4643"},"imported":[{"uid":"c5e49757-4638"},{"uid":"c5e49757-4640"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4644":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBatchRuleDetail/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DQ6pg_kd.js":"c5e49757-4645"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-564"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4648"}]},"c5e49757-4646":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBatchRuleDetail/component/editDialog.vue?vue&type=style&index=0&scoped=84ea66ac&lang.css","moduleParts":{"assets/js/editDialog-DQ6pg_kd.js":"c5e49757-4647"},"imported":[],"importedBy":[{"uid":"c5e49757-4648"}]},"c5e49757-4648":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBatchRuleDetail/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DQ6pg_kd.js":"c5e49757-4649"},"imported":[{"uid":"c5e49757-4644"},{"uid":"c5e49757-4646"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4546"}]},"c5e49757-4650":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsOrderDo/wmsOrderSortTrans.ts","moduleParts":{"assets/js/editDialog-DdT1XG_j.js":"c5e49757-4651"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4652"},{"uid":"c5e49757-4508"}]},"c5e49757-4652":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSortTrans/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DdT1XG_j.js":"c5e49757-4653"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4650"}],"importedBy":[{"uid":"c5e49757-4656"}]},"c5e49757-4654":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSortTrans/component/editDialog.vue?vue&type=style&index=0&scoped=4e7cb500&lang.css","moduleParts":{"assets/js/editDialog-DdT1XG_j.js":"c5e49757-4655"},"imported":[],"importedBy":[{"uid":"c5e49757-4656"}]},"c5e49757-4656":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSortTrans/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DdT1XG_j.js":"c5e49757-4657"},"imported":[{"uid":"c5e49757-4652"},{"uid":"c5e49757-4654"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4508"}]},"c5e49757-4658":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsSystemConfig/wmsSncodeCreateRule.ts","moduleParts":{"assets/js/editDialog-GNcScvtz.js":"c5e49757-4659"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4660"},{"uid":"c5e49757-4204"}]},"c5e49757-4660":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsSncodeCreateRule/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-GNcScvtz.js":"c5e49757-4661"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4658"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4664"}]},"c5e49757-4662":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsSncodeCreateRule/component/editDialog.vue?vue&type=style&index=0&scoped=4be825a6&lang.css","moduleParts":{"assets/js/editDialog-GNcScvtz.js":"c5e49757-4663"},"imported":[],"importedBy":[{"uid":"c5e49757-4664"}]},"c5e49757-4664":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystemConfig/wmsSncodeCreateRule/component/editDialog.vue","moduleParts":{"assets/js/editDialog-GNcScvtz.js":"c5e49757-4665"},"imported":[{"uid":"c5e49757-4660"},{"uid":"c5e49757-4662"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4204"}]},"c5e49757-4666":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropCjbc.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openAllpropCjbc-BHPG2gdq.js":"c5e49757-4667"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-620"},{"uid":"c5e49757-230"},{"uid":"c5e49757-244"},{"uid":"c5e49757-610"}],"importedBy":[{"uid":"c5e49757-4670"}]},"c5e49757-4668":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropCjbc.vue?vue&type=style&index=0&scoped=82fb0475&lang.less","moduleParts":{"assets/js/openAllpropCjbc-BHPG2gdq.js":"c5e49757-4669"},"imported":[],"importedBy":[{"uid":"c5e49757-4670"}]},"c5e49757-4670":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropCjbc.vue","moduleParts":{"assets/js/openAllpropCjbc-BHPG2gdq.js":"c5e49757-4671"},"imported":[{"uid":"c5e49757-4666"},{"uid":"c5e49757-4668"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4126"}]},"c5e49757-4672":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsArea/index.vue?vue&type=script&setup=true&name=wmsArea&lang.ts","moduleParts":{"assets/js/index-M4vkSGEU.js":"c5e49757-4673"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4798"},{"uid":"c5e49757-3168"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-4676"}]},"c5e49757-4674":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsArea/index.vue?vue&type=style&index=0&scoped=ddcef0c9&lang.css","moduleParts":{"assets/js/index-M4vkSGEU.js":"c5e49757-4675"},"imported":[],"importedBy":[{"uid":"c5e49757-4676"}]},"c5e49757-4676":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsArea/index.vue","moduleParts":{"assets/js/index-M4vkSGEU.js":"c5e49757-4677"},"imported":[{"uid":"c5e49757-4672"},{"uid":"c5e49757-4674"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4678":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/utils/enum.ts","moduleParts":{"assets/js/editDialog-BZuhszCx.js":"c5e49757-4679"},"imported":[],"importedBy":[{"uid":"c5e49757-4680"},{"uid":"c5e49757-4552"}]},"c5e49757-4680":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/baseCustomer/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-BZuhszCx.js":"c5e49757-4681"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-266"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4678"},{"uid":"c5e49757-2398"}],"importedBy":[{"uid":"c5e49757-4684"}]},"c5e49757-4682":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/baseCustomer/component/editDialog.vue?vue&type=style&index=0&scoped=582251b1&lang.css","moduleParts":{"assets/js/editDialog-BZuhszCx.js":"c5e49757-4683"},"imported":[],"importedBy":[{"uid":"c5e49757-4684"}]},"c5e49757-4684":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/baseCustomer/component/editDialog.vue","moduleParts":{"assets/js/editDialog-BZuhszCx.js":"c5e49757-4685"},"imported":[{"uid":"c5e49757-4680"},{"uid":"c5e49757-4682"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4552"},{"uid":"c5e49757-3906"},{"uid":"c5e49757-3800"}]},"c5e49757-4686":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainer/index.vue?vue&type=script&setup=true&name=wmsContainer&lang.ts","moduleParts":{"assets/js/index-uhaBWau4.js":"c5e49757-4687"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4352"},{"uid":"c5e49757-4346"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4690"}]},"c5e49757-4688":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainer/index.vue?vue&type=style&index=0&scoped=383b1be5&lang.css","moduleParts":{"assets/js/index-uhaBWau4.js":"c5e49757-4689"},"imported":[],"importedBy":[{"uid":"c5e49757-4690"}]},"c5e49757-4690":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainer/index.vue","moduleParts":{"assets/js/index-uhaBWau4.js":"c5e49757-4691"},"imported":[{"uid":"c5e49757-4686"},{"uid":"c5e49757-4688"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4692":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsSystem/wmsSysPdaMenu.ts","moduleParts":{"assets/js/editDialog-Cn4N-dtv.js":"c5e49757-4693"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4694"},{"uid":"c5e49757-4700"}]},"c5e49757-4694":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystem/wmsSysPdaMenu/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-Cn4N-dtv.js":"c5e49757-4695"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4692"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4698"}]},"c5e49757-4696":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystem/wmsSysPdaMenu/component/editDialog.vue?vue&type=style&index=0&scoped=c2e559c1&lang.css","moduleParts":{"assets/js/editDialog-Cn4N-dtv.js":"c5e49757-4697"},"imported":[],"importedBy":[{"uid":"c5e49757-4698"}]},"c5e49757-4698":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystem/wmsSysPdaMenu/component/editDialog.vue","moduleParts":{"assets/js/editDialog-Cn4N-dtv.js":"c5e49757-4699"},"imported":[{"uid":"c5e49757-4694"},{"uid":"c5e49757-4696"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4700"}]},"c5e49757-4700":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystem/wmsSysPdaMenu/index.vue?vue&type=script&setup=true&name=wmsSysPdaMenu&lang.ts","moduleParts":{"assets/js/index-B2IIkTAI.js":"c5e49757-4701"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4698"},{"uid":"c5e49757-4692"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-4704"}]},"c5e49757-4702":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystem/wmsSysPdaMenu/index.vue?vue&type=style&index=0&scoped=f22b69b8&lang.css","moduleParts":{"assets/js/index-B2IIkTAI.js":"c5e49757-4703"},"imported":[],"importedBy":[{"uid":"c5e49757-4704"}]},"c5e49757-4704":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsSystem/wmsSysPdaMenu/index.vue","moduleParts":{"assets/js/index-B2IIkTAI.js":"c5e49757-4705"},"imported":[{"uid":"c5e49757-4700"},{"uid":"c5e49757-4702"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4706":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-D8te6LCO.js":"c5e49757-4707"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-612"}],"importedBy":[{"uid":"c5e49757-4710"}]},"c5e49757-4708":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails/component/editDialog.vue?vue&type=style&index=0&scoped=22592c9a&lang.css","moduleParts":{"assets/js/editDialog-D8te6LCO.js":"c5e49757-4709"},"imported":[],"importedBy":[{"uid":"c5e49757-4710"}]},"c5e49757-4710":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsStockSnapshotDetails/wmsStockSnapshotDetails/component/editDialog.vue","moduleParts":{"assets/js/editDialog-D8te6LCO.js":"c5e49757-4711"},"imported":[{"uid":"c5e49757-4706"},{"uid":"c5e49757-4708"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4712":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/receiptCompletion/component/CountView.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/CountView-CXXRL9Qb.js":"c5e49757-4713"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-4716"}]},"c5e49757-4714":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/receiptCompletion/component/CountView.vue?vue&type=style&index=0&scoped=e50d30c4&lang.less","moduleParts":{"assets/js/CountView-CXXRL9Qb.js":"c5e49757-4715"},"imported":[],"importedBy":[{"uid":"c5e49757-4716"}]},"c5e49757-4716":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/receiptCompletion/component/CountView.vue","moduleParts":{"assets/js/CountView-CXXRL9Qb.js":"c5e49757-4717"},"imported":[{"uid":"c5e49757-4712"},{"uid":"c5e49757-4714"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4248"}]},"c5e49757-4718":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/print/component/editPrint.vue?vue&type=script&setup=true&name=sysEditPrint&lang.ts","moduleParts":{"assets/js/editPrint-DGCKGCqX.js":"c5e49757-4719"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4890"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4722"}]},"c5e49757-4720":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/print/component/editPrint.vue?vue&type=style&index=0&scoped=91ed1de8&lang.scss","moduleParts":{"assets/js/editPrint-DGCKGCqX.js":"c5e49757-4721"},"imported":[],"importedBy":[{"uid":"c5e49757-4722"}]},"c5e49757-4722":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/print/component/editPrint.vue","moduleParts":{"assets/js/editPrint-DGCKGCqX.js":"c5e49757-4723"},"imported":[{"uid":"c5e49757-4718"},{"uid":"c5e49757-4720"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-252"}]},"c5e49757-4724":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/preconfiguration/component/CountView.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/CountView-D24nnP-1.js":"c5e49757-4725"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-4728"}]},"c5e49757-4726":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/preconfiguration/component/CountView.vue?vue&type=style&index=0&scoped=0569e03c&lang.less","moduleParts":{"assets/js/CountView-D24nnP-1.js":"c5e49757-4727"},"imported":[],"importedBy":[{"uid":"c5e49757-4728"}]},"c5e49757-4728":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/preconfiguration/component/CountView.vue","moduleParts":{"assets/js/CountView-D24nnP-1.js":"c5e49757-4729"},"imported":[{"uid":"c5e49757-4724"},{"uid":"c5e49757-4726"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4730":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainerType/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-0zApDxM1.js":"c5e49757-4731"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2416"}],"importedBy":[{"uid":"c5e49757-4734"}]},"c5e49757-4732":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainerType/component/editDialog.vue?vue&type=style&index=0&scoped=3bdef5ae&lang.css","moduleParts":{"assets/js/editDialog-0zApDxM1.js":"c5e49757-4733"},"imported":[],"importedBy":[{"uid":"c5e49757-4734"}]},"c5e49757-4734":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainerType/component/editDialog.vue","moduleParts":{"assets/js/editDialog-0zApDxM1.js":"c5e49757-4735"},"imported":[{"uid":"c5e49757-4730"},{"uid":"c5e49757-4732"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4384"}]},"c5e49757-4736":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBusinessType/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DYXpeIl5.js":"c5e49757-4737"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2450"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4740"}]},"c5e49757-4738":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBusinessType/component/editDialog.vue?vue&type=style&index=0&scoped=cd86fe09&lang.css","moduleParts":{"assets/js/editDialog-DYXpeIl5.js":"c5e49757-4739"},"imported":[],"importedBy":[{"uid":"c5e49757-4740"}]},"c5e49757-4740":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBusinessType/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DYXpeIl5.js":"c5e49757-4741"},"imported":[{"uid":"c5e49757-4736"},{"uid":"c5e49757-4738"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4592"}]},"c5e49757-4742":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/preconfiguration/index.vue?vue&type=script&setup=true&name=wareAgeWarm&lang.ts","moduleParts":{"assets/js/index-Bcsow22L.js":"c5e49757-4743"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-244"},{"uid":"c5e49757-3942"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-4746"}]},"c5e49757-4744":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/preconfiguration/index.vue?vue&type=style&index=0&scoped=feadb943&lang.css","moduleParts":{"assets/js/index-Bcsow22L.js":"c5e49757-4745"},"imported":[],"importedBy":[{"uid":"c5e49757-4746"}]},"c5e49757-4746":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/preconfiguration/index.vue","moduleParts":{"assets/js/index-Bcsow22L.js":"c5e49757-4747"},"imported":[{"uid":"c5e49757-4742"},{"uid":"c5e49757-4744"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4748":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsnDetails/index.vue?vue&type=script&setup=true&name=wmsOrderAsnDetails&lang.ts","moduleParts":{"assets/js/index-B4OglkXU.js":"c5e49757-4749"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4840"},{"uid":"c5e49757-620"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-4752"}]},"c5e49757-4750":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsnDetails/index.vue?vue&type=style&index=0&scoped=ca656b94&lang.css","moduleParts":{"assets/js/index-B4OglkXU.js":"c5e49757-4751"},"imported":[],"importedBy":[{"uid":"c5e49757-4752"}]},"c5e49757-4752":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsnDetails/index.vue","moduleParts":{"assets/js/index-B4OglkXU.js":"c5e49757-4753"},"imported":[{"uid":"c5e49757-4748"},{"uid":"c5e49757-4750"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4754":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovementDetails/index.vue?vue&type=script&setup=true&name=wmsOrderMovementDetails&lang.ts","moduleParts":{"assets/js/index-vmJnNaZk.js":"c5e49757-4755"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4344"},{"uid":"c5e49757-244"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-4758"}]},"c5e49757-4756":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovementDetails/index.vue?vue&type=style&index=0&scoped=d6d64c93&lang.css","moduleParts":{"assets/js/index-vmJnNaZk.js":"c5e49757-4757"},"imported":[],"importedBy":[{"uid":"c5e49757-4758"}]},"c5e49757-4758":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovementDetails/index.vue","moduleParts":{"assets/js/index-vmJnNaZk.js":"c5e49757-4759"},"imported":[{"uid":"c5e49757-4754"},{"uid":"c5e49757-4756"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4760":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsMaterialCustomer.ts","moduleParts":{"assets/js/editDialog-B3egYijg.js":"c5e49757-4761"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4762"},{"uid":"c5e49757-3818"}]},"c5e49757-4762":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterialCustomer/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-B3egYijg.js":"c5e49757-4763"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4760"}],"importedBy":[{"uid":"c5e49757-4766"}]},"c5e49757-4764":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterialCustomer/component/editDialog.vue?vue&type=style&index=0&scoped=d8ae2db5&lang.css","moduleParts":{"assets/js/editDialog-B3egYijg.js":"c5e49757-4765"},"imported":[],"importedBy":[{"uid":"c5e49757-4766"}]},"c5e49757-4766":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterialCustomer/component/editDialog.vue","moduleParts":{"assets/js/editDialog-B3egYijg.js":"c5e49757-4767"},"imported":[{"uid":"c5e49757-4762"},{"uid":"c5e49757-4764"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3818"}]},"c5e49757-4768":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQc/component/openAllpropWczj.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openAllpropWczj-B0zqcbDH.js":"c5e49757-4769"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-620"},{"uid":"c5e49757-230"},{"uid":"c5e49757-2152"},{"uid":"c5e49757-728"}],"importedBy":[{"uid":"c5e49757-4772"}]},"c5e49757-4770":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQc/component/openAllpropWczj.vue?vue&type=style&index=0&scoped=ccb13cfb&lang.less","moduleParts":{"assets/js/openAllpropWczj-B0zqcbDH.js":"c5e49757-4771"},"imported":[],"importedBy":[{"uid":"c5e49757-4772"}]},"c5e49757-4772":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsQC/wmsOrderQc/component/openAllpropWczj.vue","moduleParts":{"assets/js/openAllpropWczj-B0zqcbDH.js":"c5e49757-4773"},"imported":[{"uid":"c5e49757-4768"},{"uid":"c5e49757-4770"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4254"}]},"c5e49757-4774":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsContainerPackaging.ts","moduleParts":{"assets/js/editDialog-CLx9QuYI.js":"c5e49757-4775"},"imported":[{"uid":"c5e49757-2010"}],"importedBy":[{"uid":"c5e49757-4776"},{"uid":"c5e49757-4390"}]},"c5e49757-4776":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainerPackaging/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-CLx9QuYI.js":"c5e49757-4777"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-4774"},{"uid":"c5e49757-3172"}],"importedBy":[{"uid":"c5e49757-4780"}]},"c5e49757-4778":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainerPackaging/component/editDialog.vue?vue&type=style&index=0&scoped=ebb12489&lang.css","moduleParts":{"assets/js/editDialog-CLx9QuYI.js":"c5e49757-4779"},"imported":[],"importedBy":[{"uid":"c5e49757-4780"}]},"c5e49757-4780":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsContainerPackaging/component/editDialog.vue","moduleParts":{"assets/js/editDialog-CLx9QuYI.js":"c5e49757-4781"},"imported":[{"uid":"c5e49757-4776"},{"uid":"c5e49757-4778"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4390"}]},"c5e49757-4782":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/openAllpropSort.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openAllpropSort-BqS_T5Bx.js":"c5e49757-4783"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-64"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-468"},{"uid":"c5e49757-620"},{"uid":"c5e49757-230"},{"uid":"c5e49757-656"},{"uid":"c5e49757-610"}],"importedBy":[{"uid":"c5e49757-4786"}]},"c5e49757-4784":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/openAllpropSort.vue?vue&type=style&index=0&scoped=c16ac314&lang.less","moduleParts":{"assets/js/openAllpropSort-BqS_T5Bx.js":"c5e49757-4785"},"imported":[],"importedBy":[{"uid":"c5e49757-4786"}]},"c5e49757-4786":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/openAllpropSort.vue","moduleParts":{"assets/js/openAllpropSort-BqS_T5Bx.js":"c5e49757-4787"},"imported":[{"uid":"c5e49757-4782"},{"uid":"c5e49757-4784"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4000"}]},"c5e49757-4788":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/index.vue?vue&type=script&setup=true&name=wmsMaterial&lang.ts","moduleParts":{"assets/js/index-Benc6rI_.js":"c5e49757-4789"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-298"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4444"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-4270"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4792"}]},"c5e49757-4790":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/index.vue?vue&type=style&index=0&scoped=fd73d67c&lang.css","moduleParts":{"assets/js/index-Benc6rI_.js":"c5e49757-4791"},"imported":[],"importedBy":[{"uid":"c5e49757-4792"}]},"c5e49757-4792":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsMaterial/index.vue","moduleParts":{"assets/js/index-Benc6rI_.js":"c5e49757-4793"},"imported":[{"uid":"c5e49757-4788"},{"uid":"c5e49757-4790"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4794":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsArea/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-C0M5oRhu.js":"c5e49757-4795"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3168"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-3172"}],"importedBy":[{"uid":"c5e49757-4798"}]},"c5e49757-4796":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsArea/component/editDialog.vue?vue&type=style&index=0&scoped=78d87c4f&lang.css","moduleParts":{"assets/js/editDialog-C0M5oRhu.js":"c5e49757-4797"},"imported":[],"importedBy":[{"uid":"c5e49757-4798"}]},"c5e49757-4798":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsArea/component/editDialog.vue","moduleParts":{"assets/js/editDialog-C0M5oRhu.js":"c5e49757-4799"},"imported":[{"uid":"c5e49757-4794"},{"uid":"c5e49757-4796"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4672"}]},"c5e49757-4800":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckRange/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-BZRKtSTq.js":"c5e49757-4801"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-552"}],"importedBy":[{"uid":"c5e49757-4804"}]},"c5e49757-4802":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckRange/component/editDialog.vue?vue&type=style&index=0&scoped=c20695c7&lang.css","moduleParts":{"assets/js/editDialog-BZRKtSTq.js":"c5e49757-4803"},"imported":[],"importedBy":[{"uid":"c5e49757-4804"}]},"c5e49757-4804":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckRange/component/editDialog.vue","moduleParts":{"assets/js/editDialog-BZRKtSTq.js":"c5e49757-4805"},"imported":[{"uid":"c5e49757-4800"},{"uid":"c5e49757-4802"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4452"}]},"c5e49757-4806":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventorySnapshot/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-zCBtbtt7.js":"c5e49757-4807"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-292"}],"importedBy":[{"uid":"c5e49757-4810"}]},"c5e49757-4808":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventorySnapshot/component/editDialog.vue?vue&type=style&index=0&scoped=04bbcc4c&lang.css","moduleParts":{"assets/js/editDialog-zCBtbtt7.js":"c5e49757-4809"},"imported":[],"importedBy":[{"uid":"c5e49757-4810"}]},"c5e49757-4810":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventorySnapshot/component/editDialog.vue","moduleParts":{"assets/js/editDialog-zCBtbtt7.js":"c5e49757-4811"},"imported":[{"uid":"c5e49757-4806"},{"uid":"c5e49757-4808"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4812":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openAllprop-Bd3KNNuO.js":"c5e49757-4813"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-460"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-468"},{"uid":"c5e49757-64"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-7424"}],"importedBy":[{"uid":"c5e49757-4816"}]},"c5e49757-4814":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue?vue&type=style&index=0&scoped=4f110585&lang.less","moduleParts":{"assets/js/openAllprop-Bd3KNNuO.js":"c5e49757-4815"},"imported":[],"importedBy":[{"uid":"c5e49757-4816"}]},"c5e49757-4816":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchase/component/openAllprop.vue","moduleParts":{"assets/js/openAllprop-Bd3KNNuO.js":"c5e49757-4817"},"imported":[{"uid":"c5e49757-4812"},{"uid":"c5e49757-4814"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4070"}]},"c5e49757-4818":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchaseDetails/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-By8z6Nki.js":"c5e49757-4819"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-468"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4822"}]},"c5e49757-4820":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchaseDetails/component/editDialog.vue?vue&type=style&index=0&scoped=20d0865d&lang.css","moduleParts":{"assets/js/editDialog-By8z6Nki.js":"c5e49757-4821"},"imported":[],"importedBy":[{"uid":"c5e49757-4822"}]},"c5e49757-4822":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchaseDetails/component/editDialog.vue","moduleParts":{"assets/js/editDialog-By8z6Nki.js":"c5e49757-4823"},"imported":[{"uid":"c5e49757-4818"},{"uid":"c5e49757-4820"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4898"}]},"c5e49757-4824":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/openAllpropSend.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openAllpropSend-Dgku8M7n.js":"c5e49757-4825"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-620"},{"uid":"c5e49757-230"},{"uid":"c5e49757-610"},{"uid":"c5e49757-244"}],"importedBy":[{"uid":"c5e49757-4828"}]},"c5e49757-4826":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/openAllpropSend.vue?vue&type=style&index=0&scoped=b8a057bf&lang.less","moduleParts":{"assets/js/openAllpropSend-Dgku8M7n.js":"c5e49757-4827"},"imported":[],"importedBy":[{"uid":"c5e49757-4828"}]},"c5e49757-4828":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderSort/component/openAllpropSend.vue","moduleParts":{"assets/js/openAllpropSend-Dgku8M7n.js":"c5e49757-4829"},"imported":[{"uid":"c5e49757-4824"},{"uid":"c5e49757-4826"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4000"}]},"c5e49757-4830":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovement/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DKYoueoO.js":"c5e49757-4831"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-302"}],"importedBy":[{"uid":"c5e49757-4834"}]},"c5e49757-4832":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovement/component/editDialog.vue?vue&type=style&index=0&scoped=ae561b6d&lang.css","moduleParts":{"assets/js/editDialog-DKYoueoO.js":"c5e49757-4833"},"imported":[],"importedBy":[{"uid":"c5e49757-4834"}]},"c5e49757-4834":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderMovement/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DKYoueoO.js":"c5e49757-4835"},"imported":[{"uid":"c5e49757-4830"},{"uid":"c5e49757-4832"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3912"},{"uid":"c5e49757-4126"}]},"c5e49757-4836":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsnDetails/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-Bvb3-S9e.js":"c5e49757-4837"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-620"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4840"}]},"c5e49757-4838":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsnDetails/component/editDialog.vue?vue&type=style&index=0&scoped=bfb1e561&lang.css","moduleParts":{"assets/js/editDialog-Bvb3-S9e.js":"c5e49757-4839"},"imported":[],"importedBy":[{"uid":"c5e49757-4840"}]},"c5e49757-4840":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsnDetails/component/editDialog.vue","moduleParts":{"assets/js/editDialog-Bvb3-S9e.js":"c5e49757-4841"},"imported":[{"uid":"c5e49757-4836"},{"uid":"c5e49757-4838"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4748"}]},"c5e49757-4842":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/userNews.vue?vue&type=script&setup=true&name=layoutBreadcrumbUserNews&lang.ts","moduleParts":{"assets/js/userNews-DUGflrH1.js":"c5e49757-4843"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3580"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4846"}]},"c5e49757-4844":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/userNews.vue?vue&type=style&index=0&scoped=5270b9b6&lang.scss","moduleParts":{"assets/js/userNews-DUGflrH1.js":"c5e49757-4845"},"imported":[],"importedBy":[{"uid":"c5e49757-4846"}]},"c5e49757-4846":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/userNews.vue","moduleParts":{"assets/js/userNews-DUGflrH1.js":"c5e49757-4847"},"imported":[{"uid":"c5e49757-4842"},{"uid":"c5e49757-4844"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-4006"}]},"c5e49757-4848":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-BgiTYJv2.js":"c5e49757-4849"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-302"}],"importedBy":[{"uid":"c5e49757-4852"}]},"c5e49757-4850":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/editDialog.vue?vue&type=style&index=0&scoped=f38af85d&lang.css","moduleParts":{"assets/js/editDialog-BgiTYJv2.js":"c5e49757-4851"},"imported":[],"importedBy":[{"uid":"c5e49757-4852"}]},"c5e49757-4852":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/editDialog.vue","moduleParts":{"assets/js/editDialog-BgiTYJv2.js":"c5e49757-4853"},"imported":[{"uid":"c5e49757-4848"},{"uid":"c5e49757-4850"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4854":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navMenu/horizontal.vue?vue&type=script&setup=true&name=navMenuHorizontal&lang.ts","moduleParts":{"assets/js/horizontal-DQKw326w.js":"c5e49757-4855"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3548"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3604"},{"uid":"c5e49757-3606"},{"uid":"c5e49757-130","dynamic":true}],"importedBy":[{"uid":"c5e49757-4858"}]},"c5e49757-4856":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navMenu/horizontal.vue?vue&type=style&index=0&scoped=bfa3ac3f&lang.scss","moduleParts":{"assets/js/horizontal-DQKw326w.js":"c5e49757-4857"},"imported":[],"importedBy":[{"uid":"c5e49757-4858"}]},"c5e49757-4858":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navMenu/horizontal.vue","moduleParts":{"assets/js/horizontal-DQKw326w.js":"c5e49757-4859"},"imported":[{"uid":"c5e49757-4854"},{"uid":"c5e49757-4856"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3836"}]},"c5e49757-4860":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryHistory/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DIlbdO4y.js":"c5e49757-4861"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-292"}],"importedBy":[{"uid":"c5e49757-4864"}]},"c5e49757-4862":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryHistory/component/editDialog.vue?vue&type=style&index=0&scoped=48d8b849&lang.css","moduleParts":{"assets/js/editDialog-DIlbdO4y.js":"c5e49757-4863"},"imported":[],"importedBy":[{"uid":"c5e49757-4864"}]},"c5e49757-4864":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/inventoryWarning/inventoryHistory/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DIlbdO4y.js":"c5e49757-4865"},"imported":[{"uid":"c5e49757-4860"},{"uid":"c5e49757-4862"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4866":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-log-op-api.ts","moduleParts":{"assets/js/index-BIzY7-T3.js":"c5e49757-4867"},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-4868":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/log/oplog/index.vue?vue&type=script&setup=true&name=sysOpLog&lang.ts","moduleParts":{"assets/js/index-BIzY7-T3.js":"c5e49757-4869"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-596"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4872"}]},"c5e49757-4870":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/log/oplog/index.vue?vue&type=style&index=0&scoped=98a3a584&lang.scss","moduleParts":{"assets/js/index-BIzY7-T3.js":"c5e49757-4871"},"imported":[],"importedBy":[{"uid":"c5e49757-4872"}]},"c5e49757-4872":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/log/oplog/index.vue","moduleParts":{"assets/js/index-BIzY7-T3.js":"c5e49757-4873"},"imported":[{"uid":"c5e49757-4868"},{"uid":"c5e49757-4870"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4874":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckRecord/index.vue?vue&type=script&setup=true&name=wmsInventoryCheckRecord&lang.ts","moduleParts":{"assets/js/index-Ke8-XU_p.js":"c5e49757-4875"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-562"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-4878"}]},"c5e49757-4876":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckRecord/index.vue?vue&type=style&index=0&scoped=030dd6db&lang.css","moduleParts":{"assets/js/index-Ke8-XU_p.js":"c5e49757-4877"},"imported":[],"importedBy":[{"uid":"c5e49757-4878"}]},"c5e49757-4878":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsInventory/wmsInventoryCheckRecord/index.vue","moduleParts":{"assets/js/index-Ke8-XU_p.js":"c5e49757-4879"},"imported":[{"uid":"c5e49757-4874"},{"uid":"c5e49757-4876"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4880":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/assets/logo.png","moduleParts":{"assets/js/index-rjMgHm3I.js":"c5e49757-4881"},"imported":[],"importedBy":[{"uid":"c5e49757-4882"},{"uid":"c5e49757-4884"}]},"c5e49757-4882":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/print/component/hiprint/providers.ts","moduleParts":{"assets/js/index-rjMgHm3I.js":"c5e49757-4883"},"imported":[{"uid":"c5e49757-7424"},{"uid":"c5e49757-4880"}],"importedBy":[{"uid":"c5e49757-4886"}]},"c5e49757-4884":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/print/component/hiprint/print-data.ts","moduleParts":{"assets/js/index-rjMgHm3I.js":"c5e49757-4885"},"imported":[{"uid":"c5e49757-4880"}],"importedBy":[{"uid":"c5e49757-4886"}]},"c5e49757-4886":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/print/component/hiprint/index.vue?vue&type=script&setup=true&name=hiprintDesign&lang.ts","moduleParts":{"assets/js/index-rjMgHm3I.js":"c5e49757-4887"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-3532"},{"uid":"c5e49757-3534"},{"uid":"c5e49757-7424"},{"uid":"c5e49757-4882"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4884"}],"importedBy":[{"uid":"c5e49757-4890"}]},"c5e49757-4888":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/print/component/hiprint/index.vue?vue&type=style&index=0&scoped=cf8b505e&lang.scss","moduleParts":{"assets/js/index-rjMgHm3I.js":"c5e49757-4889"},"imported":[],"importedBy":[{"uid":"c5e49757-4890"}]},"c5e49757-4890":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/system/print/component/hiprint/index.vue","moduleParts":{"assets/js/index-rjMgHm3I.js":"c5e49757-4891"},"imported":[{"uid":"c5e49757-4886"},{"uid":"c5e49757-4888"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4718"}]},"c5e49757-4892":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliverDetails/component/editDialog.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/editDialog-DTl-UbIk.js":"c5e49757-4893"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2444"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"}],"importedBy":[{"uid":"c5e49757-4896"}]},"c5e49757-4894":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliverDetails/component/editDialog.vue?vue&type=style&index=0&scoped=4e350335&lang.css","moduleParts":{"assets/js/editDialog-DTl-UbIk.js":"c5e49757-4895"},"imported":[],"importedBy":[{"uid":"c5e49757-4896"}]},"c5e49757-4896":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliverDetails/component/editDialog.vue","moduleParts":{"assets/js/editDialog-DTl-UbIk.js":"c5e49757-4897"},"imported":[{"uid":"c5e49757-4892"},{"uid":"c5e49757-4894"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4216"}]},"c5e49757-4898":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchaseDetails/index.vue?vue&type=script&setup=true&name=wmsOrderPurchaseDetails&lang.ts","moduleParts":{"assets/js/index-D0hWhkLM.js":"c5e49757-4899"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4822"},{"uid":"c5e49757-468"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"}],"importedBy":[{"uid":"c5e49757-4902"}]},"c5e49757-4900":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchaseDetails/index.vue?vue&type=style&index=0&scoped=48545fba&lang.css","moduleParts":{"assets/js/index-D0hWhkLM.js":"c5e49757-4901"},"imported":[],"importedBy":[{"uid":"c5e49757-4902"}]},"c5e49757-4902":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderPurchaseDetails/index.vue","moduleParts":{"assets/js/index-D0hWhkLM.js":"c5e49757-4903"},"imported":[{"uid":"c5e49757-4898"},{"uid":"c5e49757-4900"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4904":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/breadcrumb.vue?vue&type=script&setup=true&name=layoutBreadcrumb&lang.ts","moduleParts":{"assets/js/breadcrumb-DYWBII6B.js":"c5e49757-4905"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-348"},{"uid":"c5e49757-3540"},{"uid":"c5e49757-3604"},{"uid":"c5e49757-50"},{"uid":"c5e49757-3544"},{"uid":"c5e49757-3548"}],"importedBy":[{"uid":"c5e49757-4908"}]},"c5e49757-4906":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/breadcrumb.vue?vue&type=style&index=0&scoped=90809e9c&lang.scss","moduleParts":{"assets/js/breadcrumb-DYWBII6B.js":"c5e49757-4907"},"imported":[],"importedBy":[{"uid":"c5e49757-4908"}]},"c5e49757-4908":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/layout/navBars/topBar/breadcrumb.vue","moduleParts":{"assets/js/breadcrumb-DYWBII6B.js":"c5e49757-4909"},"imported":[{"uid":"c5e49757-4904"},{"uid":"c5e49757-4906"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3836"}]},"c5e49757-4910":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropXiafa.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openAllpropXiafa-Bvft63u6.js":"c5e49757-4911"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-620"},{"uid":"c5e49757-230"},{"uid":"c5e49757-244"},{"uid":"c5e49757-610"}],"importedBy":[{"uid":"c5e49757-4914"}]},"c5e49757-4912":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropXiafa.vue?vue&type=style&index=0&scoped=64bff038&lang.less","moduleParts":{"assets/js/openAllpropXiafa-Bvft63u6.js":"c5e49757-4913"},"imported":[],"importedBy":[{"uid":"c5e49757-4914"}]},"c5e49757-4914":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderMovementOff/component/openAllpropXiafa.vue","moduleParts":{"assets/js/openAllpropXiafa-Bvft63u6.js":"c5e49757-4915"},"imported":[{"uid":"c5e49757-4910"},{"uid":"c5e49757-4912"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4126"}]},"c5e49757-4916":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue?vue&type=script&setup=true&name=wmsOrderAsn&lang.ts","moduleParts":{"assets/js/index-CEZsSLdA.js":"c5e49757-4917"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4450"},{"uid":"c5e49757-656"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-3172"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-4524"},{"uid":"c5e49757-2432"}],"importedBy":[{"uid":"c5e49757-4920"}]},"c5e49757-4918":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue?vue&type=style&index=0&scoped=bb0a40a4&lang.css","moduleParts":{"assets/js/index-CEZsSLdA.js":"c5e49757-4919"},"imported":[],"importedBy":[{"uid":"c5e49757-4920"}]},"c5e49757-4920":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrder/wmsOrderAsn/index.vue","moduleParts":{"assets/js/index-CEZsSLdA.js":"c5e49757-4921"},"imported":[{"uid":"c5e49757-4916"},{"uid":"c5e49757-4918"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4922":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/index.vue?vue&type=script&setup=true&name=wmsOrderDeliver&lang.ts","moduleParts":{"assets/js/index-DO-hrZCZ.js":"c5e49757-4923"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-2436"},{"uid":"c5e49757-64"},{"uid":"c5e49757-3196"},{"uid":"c5e49757-298"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3384"},{"uid":"c5e49757-4564"},{"uid":"c5e49757-4558"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-230"},{"uid":"c5e49757-2432"},{"uid":"c5e49757-4932"}],"importedBy":[{"uid":"c5e49757-4926"}]},"c5e49757-4924":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/index.vue?vue&type=style&index=0&scoped=6cbff077&lang.css","moduleParts":{"assets/js/index-DO-hrZCZ.js":"c5e49757-4925"},"imported":[],"importedBy":[{"uid":"c5e49757-4926"}]},"c5e49757-4926":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/index.vue","moduleParts":{"assets/js/index-DO-hrZCZ.js":"c5e49757-4927"},"imported":[{"uid":"c5e49757-4922"},{"uid":"c5e49757-4924"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"}]},"c5e49757-4928":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/component/openAllpropDo.vue?vue&type=script&setup=true&lang.ts","moduleParts":{"assets/js/openAllpropDo-BIWc9iHE.js":"c5e49757-4929"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3422"},{"uid":"c5e49757-6358"},{"uid":"c5e49757-64"},{"uid":"c5e49757-2434"},{"uid":"c5e49757-2424"},{"uid":"c5e49757-2452"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-9442"},{"uid":"c5e49757-3332"},{"uid":"c5e49757-2398"},{"uid":"c5e49757-468"},{"uid":"c5e49757-230"},{"uid":"c5e49757-656"},{"uid":"c5e49757-2444"}],"importedBy":[{"uid":"c5e49757-4932"}]},"c5e49757-4930":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/component/openAllpropDo.vue?vue&type=style&index=0&scoped=fcc88f17&lang.less","moduleParts":{"assets/js/openAllpropDo-BIWc9iHE.js":"c5e49757-4931"},"imported":[],"importedBy":[{"uid":"c5e49757-4932"}]},"c5e49757-4932":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/views/main/WmsOrderDo/wmsOrderDeliver/component/openAllpropDo.vue","moduleParts":{"assets/js/openAllpropDo-BIWc9iHE.js":"c5e49757-4933"},"imported":[{"uid":"c5e49757-4928"},{"uid":"c5e49757-4930"},{"uid":"c5e49757-58"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-4922"}]},"c5e49757-4934":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/dom/aria.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4935"},"imported":[],"importedBy":[{"uid":"c5e49757-5302"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5418"},{"uid":"c5e49757-4964"},{"uid":"c5e49757-5416"},{"uid":"c5e49757-5684"},{"uid":"c5e49757-5682"}]},"c5e49757-4936":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/dom/event.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4937"},"imported":[],"importedBy":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5642"},{"uid":"c5e49757-5644"},{"uid":"c5e49757-4964"},{"uid":"c5e49757-5638"},{"uid":"c5e49757-5628"},{"uid":"c5e49757-5220"},{"uid":"c5e49757-5222"},{"uid":"c5e49757-5624"},{"uid":"c5e49757-6158"}]},"c5e49757-4938":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/node_modules/@vueuse/shared/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4939"},"imported":[{"uid":"c5e49757-708"}],"importedBy":[{"uid":"c5e49757-4940"}]},"c5e49757-4940":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/node_modules/@vueuse/core/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4941"},"imported":[{"uid":"c5e49757-4938"},{"uid":"c5e49757-708"}],"importedBy":[{"uid":"c5e49757-5590"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5696"},{"uid":"c5e49757-5184"},{"uid":"c5e49757-6098"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-6318"},{"uid":"c5e49757-6326"},{"uid":"c5e49757-5298"},{"uid":"c5e49757-5032"},{"uid":"c5e49757-5034"},{"uid":"c5e49757-5036"},{"uid":"c5e49757-5038"},{"uid":"c5e49757-5046"},{"uid":"c5e49757-5050"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-5056"},{"uid":"c5e49757-5058"},{"uid":"c5e49757-5066"},{"uid":"c5e49757-5068"},{"uid":"c5e49757-5076"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5102"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5418"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-5136"},{"uid":"c5e49757-5666"},{"uid":"c5e49757-5660"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5164"},{"uid":"c5e49757-5748"},{"uid":"c5e49757-6096"},{"uid":"c5e49757-6104"},{"uid":"c5e49757-5818"},{"uid":"c5e49757-5826"},{"uid":"c5e49757-6266"},{"uid":"c5e49757-6284"},{"uid":"c5e49757-6296"},{"uid":"c5e49757-6306"},{"uid":"c5e49757-6332"},{"uid":"c5e49757-6338"},{"uid":"c5e49757-6348"},{"uid":"c5e49757-4960"},{"uid":"c5e49757-4966"},{"uid":"c5e49757-4942"},{"uid":"c5e49757-4950"},{"uid":"c5e49757-4944"},{"uid":"c5e49757-4962"},{"uid":"c5e49757-5242"},{"uid":"c5e49757-5346"},{"uid":"c5e49757-5134"},{"uid":"c5e49757-5196"},{"uid":"c5e49757-5736"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5872"},{"uid":"c5e49757-5948"},{"uid":"c5e49757-5972"},{"uid":"c5e49757-5982"},{"uid":"c5e49757-6026"},{"uid":"c5e49757-5222"},{"uid":"c5e49757-6200"},{"uid":"c5e49757-6254"},{"uid":"c5e49757-6272"},{"uid":"c5e49757-6330"},{"uid":"c5e49757-6346"},{"uid":"c5e49757-5480"},{"uid":"c5e49757-5624"},{"uid":"c5e49757-5156"},{"uid":"c5e49757-5956"},{"uid":"c5e49757-6144"}]},"c5e49757-4942":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/browser.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4943"},"imported":[{"uid":"c5e49757-4940"}],"importedBy":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-4960"},{"uid":"c5e49757-4966"},{"uid":"c5e49757-4950"},{"uid":"c5e49757-4944"},{"uid":"c5e49757-4962"},{"uid":"c5e49757-5142"},{"uid":"c5e49757-5810"}]},"c5e49757-4944":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/dom/position.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4945"},"imported":[{"uid":"c5e49757-4942"},{"uid":"c5e49757-4940"}],"importedBy":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5666"},{"uid":"c5e49757-6296"},{"uid":"c5e49757-6312"},{"uid":"c5e49757-4964"},{"uid":"c5e49757-5486"},{"uid":"c5e49757-5494"},{"uid":"c5e49757-5482"}]},"c5e49757-4946":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/easings.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4947"},"imported":[],"importedBy":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4960"}]},"c5e49757-4948":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/types.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4949"},"imported":[{"uid":"c5e49757-3346"},{"uid":"c5e49757-2"},{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-5098"},{"uid":"c5e49757-5234"},{"uid":"c5e49757-5342"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-5438"},{"uid":"c5e49757-5358"},{"uid":"c5e49757-5458"},{"uid":"c5e49757-5910"},{"uid":"c5e49757-5588"},{"uid":"c5e49757-5126"},{"uid":"c5e49757-5664"},{"uid":"c5e49757-5658"},{"uid":"c5e49757-5670"},{"uid":"c5e49757-5770"},{"uid":"c5e49757-5184"},{"uid":"c5e49757-5206"},{"uid":"c5e49757-5384"},{"uid":"c5e49757-5794"},{"uid":"c5e49757-5162"},{"uid":"c5e49757-5870"},{"uid":"c5e49757-5900"},{"uid":"c5e49757-5898"},{"uid":"c5e49757-5918"},{"uid":"c5e49757-5928"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-5284"},{"uid":"c5e49757-5312"},{"uid":"c5e49757-5828"},{"uid":"c5e49757-5830"},{"uid":"c5e49757-6282"},{"uid":"c5e49757-6292"},{"uid":"c5e49757-6304"},{"uid":"c5e49757-5780"},{"uid":"c5e49757-5298"},{"uid":"c5e49757-5036"},{"uid":"c5e49757-5062"},{"uid":"c5e49757-5066"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5236"},{"uid":"c5e49757-5250"},{"uid":"c5e49757-5418"},{"uid":"c5e49757-5454"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-5136"},{"uid":"c5e49757-5108"},{"uid":"c5e49757-5666"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5200"},{"uid":"c5e49757-5164"},{"uid":"c5e49757-5906"},{"uid":"c5e49757-5924"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-6002"},{"uid":"c5e49757-6110"},{"uid":"c5e49757-5224"},{"uid":"c5e49757-6182"},{"uid":"c5e49757-5818"},{"uid":"c5e49757-5826"},{"uid":"c5e49757-6284"},{"uid":"c5e49757-6296"},{"uid":"c5e49757-6332"},{"uid":"c5e49757-6338"},{"uid":"c5e49757-6348"},{"uid":"c5e49757-4960"},{"uid":"c5e49757-4962"},{"uid":"c5e49757-4980"},{"uid":"c5e49757-5352"},{"uid":"c5e49757-5410"},{"uid":"c5e49757-5370"},{"uid":"c5e49757-5912"},{"uid":"c5e49757-5142"},{"uid":"c5e49757-5388"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5848"},{"uid":"c5e49757-5990"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-6018"},{"uid":"c5e49757-6024"},{"uid":"c5e49757-6062"},{"uid":"c5e49757-6054"},{"uid":"c5e49757-6180"},{"uid":"c5e49757-6190"},{"uid":"c5e49757-5362"},{"uid":"c5e49757-5366"},{"uid":"c5e49757-5368"},{"uid":"c5e49757-5886"},{"uid":"c5e49757-5956"},{"uid":"c5e49757-6144"}]},"c5e49757-4950":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/raf.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4951"},"imported":[{"uid":"c5e49757-4942"},{"uid":"c5e49757-4940"}],"importedBy":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5914"},{"uid":"c5e49757-4960"},{"uid":"c5e49757-5014"},{"uid":"c5e49757-5972"},{"uid":"c5e49757-5810"},{"uid":"c5e49757-5816"},{"uid":"c5e49757-5824"}]},"c5e49757-4952":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/strings.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4953"},"imported":[{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6098"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-6096"},{"uid":"c5e49757-5410"},{"uid":"c5e49757-5732"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-6212"}]},"c5e49757-4954":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/objects.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4955"},"imported":[{"uid":"c5e49757-2"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5112"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-5068"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-5136"},{"uid":"c5e49757-5660"},{"uid":"c5e49757-5000"},{"uid":"c5e49757-5994"},{"uid":"c5e49757-6252"},{"uid":"c5e49757-6272"}]},"c5e49757-4956":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/error.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4957"},"imported":[{"uid":"c5e49757-4948"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5086"},{"uid":"c5e49757-5696"},{"uid":"c5e49757-5770"},{"uid":"c5e49757-6098"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5820"},{"uid":"c5e49757-5822"},{"uid":"c5e49757-5828"},{"uid":"c5e49757-5830"},{"uid":"c5e49757-5018"},{"uid":"c5e49757-5020"},{"uid":"c5e49757-5032"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-5066"},{"uid":"c5e49757-5078"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5102"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5380"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-5130"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5000"},{"uid":"c5e49757-5702"},{"uid":"c5e49757-5178"},{"uid":"c5e49757-5398"},{"uid":"c5e49757-5164"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-6096"},{"uid":"c5e49757-6104"},{"uid":"c5e49757-6182"},{"uid":"c5e49757-6238"},{"uid":"c5e49757-6306"},{"uid":"c5e49757-6312"},{"uid":"c5e49757-6332"},{"uid":"c5e49757-6338"},{"uid":"c5e49757-6348"},{"uid":"c5e49757-5242"},{"uid":"c5e49757-5328"},{"uid":"c5e49757-5346"},{"uid":"c5e49757-5352"},{"uid":"c5e49757-5128"},{"uid":"c5e49757-5134"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5880"},{"uid":"c5e49757-5882"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-5998"},{"uid":"c5e49757-6198"},{"uid":"c5e49757-6254"},{"uid":"c5e49757-5364"},{"uid":"c5e49757-5156"},{"uid":"c5e49757-6248"}]},"c5e49757-4958":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/dom/style.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4959"},"imported":[{"uid":"c5e49757-4948"},{"uid":"c5e49757-4942"},{"uid":"c5e49757-4952"},{"uid":"c5e49757-4954"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5590"},{"uid":"c5e49757-6318"},{"uid":"c5e49757-5022"},{"uid":"c5e49757-5032"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5102"},{"uid":"c5e49757-5236"},{"uid":"c5e49757-5250"},{"uid":"c5e49757-5604"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5654"},{"uid":"c5e49757-5136"},{"uid":"c5e49757-5108"},{"uid":"c5e49757-5688"},{"uid":"c5e49757-5776"},{"uid":"c5e49757-5796"},{"uid":"c5e49757-5164"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-5310"},{"uid":"c5e49757-6316"},{"uid":"c5e49757-5782"},{"uid":"c5e49757-4960"},{"uid":"c5e49757-4964"},{"uid":"c5e49757-5640"},{"uid":"c5e49757-5972"},{"uid":"c5e49757-6024"},{"uid":"c5e49757-6022"},{"uid":"c5e49757-6196"},{"uid":"c5e49757-5482"},{"uid":"c5e49757-5564"},{"uid":"c5e49757-5956"},{"uid":"c5e49757-5534"},{"uid":"c5e49757-5538"},{"uid":"c5e49757-5964"}]},"c5e49757-4960":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/dom/scroll.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4961"},"imported":[{"uid":"c5e49757-4942"},{"uid":"c5e49757-4946"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4950"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-4940"}],"importedBy":[{"uid":"c5e49757-5032"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5102"},{"uid":"c5e49757-5418"},{"uid":"c5e49757-5666"},{"uid":"c5e49757-5826"},{"uid":"c5e49757-6296"},{"uid":"c5e49757-6312"},{"uid":"c5e49757-4964"},{"uid":"c5e49757-5740"}]},"c5e49757-4962":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/dom/element.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4963"},"imported":[{"uid":"c5e49757-4948"},{"uid":"c5e49757-4942"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6296"},{"uid":"c5e49757-4964"}]},"c5e49757-4964":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/dom/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4965"},"imported":[{"uid":"c5e49757-4934"},{"uid":"c5e49757-4936"},{"uid":"c5e49757-4944"},{"uid":"c5e49757-4960"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-4962"}],"importedBy":[{"uid":"c5e49757-5016"}]},"c5e49757-4966":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/vue/global-node.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4967"},"imported":[{"uid":"c5e49757-4942"},{"uid":"c5e49757-4940"}],"importedBy":[{"uid":"c5e49757-5046"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5002"}]},"c5e49757-4968":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/vue/props/util.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4969"},"imported":[],"importedBy":[{"uid":"c5e49757-4974"}]},"c5e49757-4970":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/vue/props/types.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4971"},"imported":[],"importedBy":[{"uid":"c5e49757-4974"}]},"c5e49757-4972":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/vue/props/runtime.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4973"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4954"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5098"},{"uid":"c5e49757-5112"},{"uid":"c5e49757-5228"},{"uid":"c5e49757-5234"},{"uid":"c5e49757-5248"},{"uid":"c5e49757-5256"},{"uid":"c5e49757-5260"},{"uid":"c5e49757-5270"},{"uid":"c5e49757-5330"},{"uid":"c5e49757-5336"},{"uid":"c5e49757-5342"},{"uid":"c5e49757-5350"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-5414"},{"uid":"c5e49757-5438"},{"uid":"c5e49757-5378"},{"uid":"c5e49757-5452"},{"uid":"c5e49757-5458"},{"uid":"c5e49757-5470"},{"uid":"c5e49757-5488"},{"uid":"c5e49757-5088"},{"uid":"c5e49757-5910"},{"uid":"c5e49757-5514"},{"uid":"c5e49757-5570"},{"uid":"c5e49757-5574"},{"uid":"c5e49757-5588"},{"uid":"c5e49757-5596"},{"uid":"c5e49757-5602"},{"uid":"c5e49757-5632"},{"uid":"c5e49757-5652"},{"uid":"c5e49757-5126"},{"uid":"c5e49757-5132"},{"uid":"c5e49757-5106"},{"uid":"c5e49757-5664"},{"uid":"c5e49757-5658"},{"uid":"c5e49757-5144"},{"uid":"c5e49757-5670"},{"uid":"c5e49757-5676"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5700"},{"uid":"c5e49757-5696"},{"uid":"c5e49757-5578"},{"uid":"c5e49757-5714"},{"uid":"c5e49757-5770"},{"uid":"c5e49757-5774"},{"uid":"c5e49757-5170"},{"uid":"c5e49757-5182"},{"uid":"c5e49757-5194"},{"uid":"c5e49757-5174"},{"uid":"c5e49757-5788"},{"uid":"c5e49757-5384"},{"uid":"c5e49757-5396"},{"uid":"c5e49757-5392"},{"uid":"c5e49757-5794"},{"uid":"c5e49757-5800"},{"uid":"c5e49757-5446"},{"uid":"c5e49757-5162"},{"uid":"c5e49757-5154"},{"uid":"c5e49757-5858"},{"uid":"c5e49757-5860"},{"uid":"c5e49757-5870"},{"uid":"c5e49757-5900"},{"uid":"c5e49757-5896"},{"uid":"c5e49757-5904"},{"uid":"c5e49757-5922"},{"uid":"c5e49757-5918"},{"uid":"c5e49757-5928"},{"uid":"c5e49757-6086"},{"uid":"c5e49757-6042"},{"uid":"c5e49757-6036"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-6094"},{"uid":"c5e49757-6098"},{"uid":"c5e49757-6102"},{"uid":"c5e49757-5424"},{"uid":"c5e49757-6108"},{"uid":"c5e49757-5288"},{"uid":"c5e49757-6124"},{"uid":"c5e49757-5216"},{"uid":"c5e49757-5214"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-6164"},{"uid":"c5e49757-6240"},{"uid":"c5e49757-6250"},{"uid":"c5e49757-6242"},{"uid":"c5e49757-6246"},{"uid":"c5e49757-5812"},{"uid":"c5e49757-6260"},{"uid":"c5e49757-6282"},{"uid":"c5e49757-6286"},{"uid":"c5e49757-6276"},{"uid":"c5e49757-6292"},{"uid":"c5e49757-6304"},{"uid":"c5e49757-6326"},{"uid":"c5e49757-6344"},{"uid":"c5e49757-5780"},{"uid":"c5e49757-5036"},{"uid":"c5e49757-5062"},{"uid":"c5e49757-5068"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5078"},{"uid":"c5e49757-5080"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-5584"},{"uid":"c5e49757-6034"},{"uid":"c5e49757-6038"},{"uid":"c5e49757-6040"},{"uid":"c5e49757-5286"},{"uid":"c5e49757-5292"},{"uid":"c5e49757-5002"},{"uid":"c5e49757-4974"},{"uid":"c5e49757-5618"},{"uid":"c5e49757-5722"},{"uid":"c5e49757-5726"},{"uid":"c5e49757-5754"},{"uid":"c5e49757-5758"},{"uid":"c5e49757-5762"},{"uid":"c5e49757-5766"},{"uid":"c5e49757-5744"},{"uid":"c5e49757-5842"},{"uid":"c5e49757-5890"},{"uid":"c5e49757-5308"},{"uid":"c5e49757-6114"},{"uid":"c5e49757-6220"},{"uid":"c5e49757-6298"},{"uid":"c5e49757-6132"},{"uid":"c5e49757-6134"},{"uid":"c5e49757-6136"},{"uid":"c5e49757-6140"},{"uid":"c5e49757-6138"},{"uid":"c5e49757-5322"},{"uid":"c5e49757-5478"},{"uid":"c5e49757-5566"},{"uid":"c5e49757-5158"},{"uid":"c5e49757-5886"},{"uid":"c5e49757-6048"},{"uid":"c5e49757-5314"},{"uid":"c5e49757-6166"},{"uid":"c5e49757-6270"},{"uid":"c5e49757-6130"},{"uid":"c5e49757-5518"},{"uid":"c5e49757-5542"},{"uid":"c5e49757-5550"},{"uid":"c5e49757-6156"},{"uid":"c5e49757-5516"},{"uid":"c5e49757-5520"},{"uid":"c5e49757-5532"},{"uid":"c5e49757-5536"},{"uid":"c5e49757-6148"},{"uid":"c5e49757-5526"}]},"c5e49757-4974":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/vue/props/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4975"},"imported":[{"uid":"c5e49757-4968"},{"uid":"c5e49757-4970"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-4976"},{"uid":"c5e49757-5002"}]},"c5e49757-4976":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/vue/icon.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4977"},"imported":[{"uid":"c5e49757-2362"},{"uid":"c5e49757-4974"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5112"},{"uid":"c5e49757-5234"},{"uid":"c5e49757-5256"},{"uid":"c5e49757-5270"},{"uid":"c5e49757-5632"},{"uid":"c5e49757-5144"},{"uid":"c5e49757-5676"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5696"},{"uid":"c5e49757-5714"},{"uid":"c5e49757-5770"},{"uid":"c5e49757-5774"},{"uid":"c5e49757-5794"},{"uid":"c5e49757-5922"},{"uid":"c5e49757-5928"},{"uid":"c5e49757-6124"},{"uid":"c5e49757-6282"},{"uid":"c5e49757-6286"},{"uid":"c5e49757-6326"},{"uid":"c5e49757-6344"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5114"},{"uid":"c5e49757-5584"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-6202"},{"uid":"c5e49757-6288"},{"uid":"c5e49757-5002"},{"uid":"c5e49757-5586"},{"uid":"c5e49757-5722"},{"uid":"c5e49757-5726"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5744"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5842"},{"uid":"c5e49757-6220"},{"uid":"c5e49757-6330"},{"uid":"c5e49757-6336"},{"uid":"c5e49757-6346"}]},"c5e49757-4978":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/vue/install.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4979"},"imported":[{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5104"},{"uid":"c5e49757-5116"},{"uid":"c5e49757-5232"},{"uid":"c5e49757-5238"},{"uid":"c5e49757-5246"},{"uid":"c5e49757-5252"},{"uid":"c5e49757-5264"},{"uid":"c5e49757-5280"},{"uid":"c5e49757-5334"},{"uid":"c5e49757-5340"},{"uid":"c5e49757-5356"},{"uid":"c5e49757-5442"},{"uid":"c5e49757-5382"},{"uid":"c5e49757-5456"},{"uid":"c5e49757-5476"},{"uid":"c5e49757-5498"},{"uid":"c5e49757-5092"},{"uid":"c5e49757-5510"},{"uid":"c5e49757-5916"},{"uid":"c5e49757-5576"},{"uid":"c5e49757-5594"},{"uid":"c5e49757-5600"},{"uid":"c5e49757-5606"},{"uid":"c5e49757-5648"},{"uid":"c5e49757-5656"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5668"},{"uid":"c5e49757-5662"},{"uid":"c5e49757-5148"},{"uid":"c5e49757-5674"},{"uid":"c5e49757-5680"},{"uid":"c5e49757-5712"},{"uid":"c5e49757-5718"},{"uid":"c5e49757-5772"},{"uid":"c5e49757-5778"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5792"},{"uid":"c5e49757-5400"},{"uid":"c5e49757-5798"},{"uid":"c5e49757-5804"},{"uid":"c5e49757-5450"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5750"},{"uid":"c5e49757-5866"},{"uid":"c5e49757-5894"},{"uid":"c5e49757-5902"},{"uid":"c5e49757-5908"},{"uid":"c5e49757-5926"},{"uid":"c5e49757-5932"},{"uid":"c5e49757-6006"},{"uid":"c5e49757-6090"},{"uid":"c5e49757-6106"},{"uid":"c5e49757-5428"},{"uid":"c5e49757-6112"},{"uid":"c5e49757-6128"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-6184"},{"uid":"c5e49757-6234"},{"uid":"c5e49757-6258"},{"uid":"c5e49757-6268"},{"uid":"c5e49757-6290"},{"uid":"c5e49757-6302"},{"uid":"c5e49757-6308"},{"uid":"c5e49757-6334"},{"uid":"c5e49757-6350"},{"uid":"c5e49757-5786"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6162"},{"uid":"c5e49757-5002"}]},"c5e49757-4980":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/vue/refs.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4981"},"imported":[{"uid":"c5e49757-4948"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5644"},{"uid":"c5e49757-5002"},{"uid":"c5e49757-5586"},{"uid":"c5e49757-5638"},{"uid":"c5e49757-6156"}]},"c5e49757-4982":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/constants/aria.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4983"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5632"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-6098"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5312"},{"uid":"c5e49757-5214"},{"uid":"c5e49757-5302"},{"uid":"c5e49757-5034"},{"uid":"c5e49757-5056"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5418"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5644"},{"uid":"c5e49757-5660"},{"uid":"c5e49757-5190"},{"uid":"c5e49757-5796"},{"uid":"c5e49757-5638"},{"uid":"c5e49757-5640"},{"uid":"c5e49757-5628"},{"uid":"c5e49757-5622"},{"uid":"c5e49757-5684"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5848"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5316"},{"uid":"c5e49757-6200"},{"uid":"c5e49757-6330"},{"uid":"c5e49757-6346"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5682"},{"uid":"c5e49757-5878"}]},"c5e49757-4984":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/constants/date.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4985"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4998"},{"uid":"c5e49757-5324"},{"uid":"c5e49757-5516"}]},"c5e49757-4986":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/constants/event.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4987"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5098"},{"uid":"c5e49757-5228"},{"uid":"c5e49757-5330"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-5438"},{"uid":"c5e49757-5378"},{"uid":"c5e49757-5358"},{"uid":"c5e49757-5458"},{"uid":"c5e49757-5488"},{"uid":"c5e49757-5910"},{"uid":"c5e49757-5590"},{"uid":"c5e49757-5588"},{"uid":"c5e49757-5144"},{"uid":"c5e49757-5670"},{"uid":"c5e49757-5384"},{"uid":"c5e49757-5794"},{"uid":"c5e49757-5870"},{"uid":"c5e49757-5918"},{"uid":"c5e49757-5928"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-6164"},{"uid":"c5e49757-6282"},{"uid":"c5e49757-6304"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5418"},{"uid":"c5e49757-5440"},{"uid":"c5e49757-5380"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5398"},{"uid":"c5e49757-5796"},{"uid":"c5e49757-5746"},{"uid":"c5e49757-5854"},{"uid":"c5e49757-5920"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-6306"},{"uid":"c5e49757-5328"},{"uid":"c5e49757-5462"},{"uid":"c5e49757-5388"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5876"},{"uid":"c5e49757-5882"},{"uid":"c5e49757-6176"},{"uid":"c5e49757-6206"},{"uid":"c5e49757-6212"},{"uid":"c5e49757-5366"},{"uid":"c5e49757-5886"},{"uid":"c5e49757-5878"}]},"c5e49757-4988":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/constants/key.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4989"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5096"}]},"c5e49757-4990":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/constants/size.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4991"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5234"},{"uid":"c5e49757-5126"},{"uid":"c5e49757-5132"},{"uid":"c5e49757-5900"},{"uid":"c5e49757-5424"},{"uid":"c5e49757-6108"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-4998"},{"uid":"c5e49757-4994"},{"uid":"c5e49757-5754"},{"uid":"c5e49757-5758"}]},"c5e49757-4992":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/constants/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4993"},"imported":[{"uid":"c5e49757-4982"},{"uid":"c5e49757-4984"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4988"},{"uid":"c5e49757-4990"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5096"},{"uid":"c5e49757-5098"},{"uid":"c5e49757-5228"},{"uid":"c5e49757-5234"},{"uid":"c5e49757-5330"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-5438"},{"uid":"c5e49757-5378"},{"uid":"c5e49757-5358"},{"uid":"c5e49757-5458"},{"uid":"c5e49757-5488"},{"uid":"c5e49757-5910"},{"uid":"c5e49757-5590"},{"uid":"c5e49757-5588"},{"uid":"c5e49757-5632"},{"uid":"c5e49757-5126"},{"uid":"c5e49757-5132"},{"uid":"c5e49757-5144"},{"uid":"c5e49757-5670"},{"uid":"c5e49757-5384"},{"uid":"c5e49757-5794"},{"uid":"c5e49757-5870"},{"uid":"c5e49757-5900"},{"uid":"c5e49757-5918"},{"uid":"c5e49757-5928"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-6098"},{"uid":"c5e49757-5424"},{"uid":"c5e49757-6108"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5312"},{"uid":"c5e49757-5214"},{"uid":"c5e49757-6164"},{"uid":"c5e49757-6282"},{"uid":"c5e49757-6304"},{"uid":"c5e49757-5302"},{"uid":"c5e49757-5034"},{"uid":"c5e49757-5056"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5418"},{"uid":"c5e49757-5440"},{"uid":"c5e49757-5380"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5644"},{"uid":"c5e49757-5660"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5190"},{"uid":"c5e49757-5398"},{"uid":"c5e49757-5796"},{"uid":"c5e49757-5746"},{"uid":"c5e49757-5854"},{"uid":"c5e49757-5920"},{"uid":"c5e49757-4998"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-6306"},{"uid":"c5e49757-4994"},{"uid":"c5e49757-5328"},{"uid":"c5e49757-5462"},{"uid":"c5e49757-5638"},{"uid":"c5e49757-5640"},{"uid":"c5e49757-5628"},{"uid":"c5e49757-5622"},{"uid":"c5e49757-5684"},{"uid":"c5e49757-5754"},{"uid":"c5e49757-5758"},{"uid":"c5e49757-5388"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5848"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5876"},{"uid":"c5e49757-5882"},{"uid":"c5e49757-5316"},{"uid":"c5e49757-6176"},{"uid":"c5e49757-6200"},{"uid":"c5e49757-6206"},{"uid":"c5e49757-6212"},{"uid":"c5e49757-6330"},{"uid":"c5e49757-6346"},{"uid":"c5e49757-5324"},{"uid":"c5e49757-5366"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5682"},{"uid":"c5e49757-5886"},{"uid":"c5e49757-5878"},{"uid":"c5e49757-5516"}]},"c5e49757-4994":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/vue/size.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4995"},"imported":[{"uid":"c5e49757-4992"},{"uid":"c5e49757-4990"}],"importedBy":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5002"}]},"c5e49757-4996":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/vue/typescript.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4997"},"imported":[],"importedBy":[{"uid":"c5e49757-5002"}]},"c5e49757-4998":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/vue/validator.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-4999"},"imported":[{"uid":"c5e49757-4992"},{"uid":"c5e49757-4990"},{"uid":"c5e49757-4984"}],"importedBy":[{"uid":"c5e49757-5928"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5002"},{"uid":"c5e49757-6336"}]},"c5e49757-5000":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/vue/vnode.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5001"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4954"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-5698"},{"uid":"c5e49757-5578"},{"uid":"c5e49757-5900"},{"uid":"c5e49757-5072"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5572"},{"uid":"c5e49757-5002"},{"uid":"c5e49757-5346"},{"uid":"c5e49757-6280"},{"uid":"c5e49757-5564"},{"uid":"c5e49757-6156"}]},"c5e49757-5002":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/vue/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5003"},"imported":[{"uid":"c5e49757-4966"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-4978"},{"uid":"c5e49757-4974"},{"uid":"c5e49757-4980"},{"uid":"c5e49757-4994"},{"uid":"c5e49757-4996"},{"uid":"c5e49757-4998"},{"uid":"c5e49757-5000"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5016"}]},"c5e49757-5004":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/arrays.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5005"},"imported":[{"uid":"c5e49757-2"}],"importedBy":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5418"},{"uid":"c5e49757-5534"},{"uid":"c5e49757-5538"},{"uid":"c5e49757-5524"}]},"c5e49757-5006":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/functions.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5007"},"imported":[{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5016"}]},"c5e49757-5008":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/i18n.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5009"},"imported":[],"importedBy":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5738"}]},"c5e49757-5010":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/rand.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5011"},"imported":[],"importedBy":[{"uid":"c5e49757-5016"}]},"c5e49757-5012":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/typescript.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5013"},"imported":[],"importedBy":[{"uid":"c5e49757-5452"},{"uid":"c5e49757-5458"},{"uid":"c5e49757-5664"},{"uid":"c5e49757-5658"},{"uid":"c5e49757-5144"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5770"},{"uid":"c5e49757-5794"},{"uid":"c5e49757-6094"},{"uid":"c5e49757-6098"},{"uid":"c5e49757-6164"},{"uid":"c5e49757-6240"},{"uid":"c5e49757-6242"},{"uid":"c5e49757-5812"},{"uid":"c5e49757-6326"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6034"},{"uid":"c5e49757-5754"},{"uid":"c5e49757-6220"}]},"c5e49757-5014":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/throttleByRaf.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5015"},"imported":[{"uid":"c5e49757-4950"}],"importedBy":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6296"}]},"c5e49757-5016":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/utils/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5017"},"imported":[{"uid":"c5e49757-4964"},{"uid":"c5e49757-5002"},{"uid":"c5e49757-5004"},{"uid":"c5e49757-4942"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-5006"},{"uid":"c5e49757-5008"},{"uid":"c5e49757-4954"},{"uid":"c5e49757-4950"},{"uid":"c5e49757-5010"},{"uid":"c5e49757-4952"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-5012"},{"uid":"c5e49757-5014"},{"uid":"c5e49757-4946"},{"uid":"c5e49757-4934"},{"uid":"c5e49757-4936"},{"uid":"c5e49757-4944"},{"uid":"c5e49757-4960"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-4962"},{"uid":"c5e49757-4966"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-4978"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4980"},{"uid":"c5e49757-4994"},{"uid":"c5e49757-4998"},{"uid":"c5e49757-5000"},{"uid":"c5e49757-2"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-5098"},{"uid":"c5e49757-5104"},{"uid":"c5e49757-5112"},{"uid":"c5e49757-5116"},{"uid":"c5e49757-5228"},{"uid":"c5e49757-5232"},{"uid":"c5e49757-5234"},{"uid":"c5e49757-5238"},{"uid":"c5e49757-5246"},{"uid":"c5e49757-5248"},{"uid":"c5e49757-5252"},{"uid":"c5e49757-5256"},{"uid":"c5e49757-5260"},{"uid":"c5e49757-5264"},{"uid":"c5e49757-5270"},{"uid":"c5e49757-5280"},{"uid":"c5e49757-5330"},{"uid":"c5e49757-5334"},{"uid":"c5e49757-5336"},{"uid":"c5e49757-5340"},{"uid":"c5e49757-5342"},{"uid":"c5e49757-5350"},{"uid":"c5e49757-5356"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-5414"},{"uid":"c5e49757-5438"},{"uid":"c5e49757-5442"},{"uid":"c5e49757-5378"},{"uid":"c5e49757-5358"},{"uid":"c5e49757-5382"},{"uid":"c5e49757-5452"},{"uid":"c5e49757-5456"},{"uid":"c5e49757-5458"},{"uid":"c5e49757-5470"},{"uid":"c5e49757-5476"},{"uid":"c5e49757-5488"},{"uid":"c5e49757-5498"},{"uid":"c5e49757-5088"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-5092"},{"uid":"c5e49757-5510"},{"uid":"c5e49757-5910"},{"uid":"c5e49757-5916"},{"uid":"c5e49757-5514"},{"uid":"c5e49757-5570"},{"uid":"c5e49757-5574"},{"uid":"c5e49757-5576"},{"uid":"c5e49757-5590"},{"uid":"c5e49757-5588"},{"uid":"c5e49757-5594"},{"uid":"c5e49757-5596"},{"uid":"c5e49757-5600"},{"uid":"c5e49757-5602"},{"uid":"c5e49757-5606"},{"uid":"c5e49757-5632"},{"uid":"c5e49757-5648"},{"uid":"c5e49757-5652"},{"uid":"c5e49757-5656"},{"uid":"c5e49757-5126"},{"uid":"c5e49757-5132"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5106"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5664"},{"uid":"c5e49757-5668"},{"uid":"c5e49757-5658"},{"uid":"c5e49757-5662"},{"uid":"c5e49757-5144"},{"uid":"c5e49757-5148"},{"uid":"c5e49757-5670"},{"uid":"c5e49757-5674"},{"uid":"c5e49757-5676"},{"uid":"c5e49757-5680"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5700"},{"uid":"c5e49757-5696"},{"uid":"c5e49757-5712"},{"uid":"c5e49757-5578"},{"uid":"c5e49757-5714"},{"uid":"c5e49757-5718"},{"uid":"c5e49757-5770"},{"uid":"c5e49757-5772"},{"uid":"c5e49757-5774"},{"uid":"c5e49757-5778"},{"uid":"c5e49757-5170"},{"uid":"c5e49757-5182"},{"uid":"c5e49757-5194"},{"uid":"c5e49757-5174"},{"uid":"c5e49757-5184"},{"uid":"c5e49757-5206"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5788"},{"uid":"c5e49757-5792"},{"uid":"c5e49757-5384"},{"uid":"c5e49757-5396"},{"uid":"c5e49757-5392"},{"uid":"c5e49757-5400"},{"uid":"c5e49757-5794"},{"uid":"c5e49757-5798"},{"uid":"c5e49757-5800"},{"uid":"c5e49757-5804"},{"uid":"c5e49757-5446"},{"uid":"c5e49757-5450"},{"uid":"c5e49757-5162"},{"uid":"c5e49757-5154"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5750"},{"uid":"c5e49757-5858"},{"uid":"c5e49757-5860"},{"uid":"c5e49757-5866"},{"uid":"c5e49757-5870"},{"uid":"c5e49757-5894"},{"uid":"c5e49757-5900"},{"uid":"c5e49757-5896"},{"uid":"c5e49757-5898"},{"uid":"c5e49757-5902"},{"uid":"c5e49757-5904"},{"uid":"c5e49757-5908"},{"uid":"c5e49757-5922"},{"uid":"c5e49757-5918"},{"uid":"c5e49757-5926"},{"uid":"c5e49757-5928"},{"uid":"c5e49757-5932"},{"uid":"c5e49757-6006"},{"uid":"c5e49757-6086"},{"uid":"c5e49757-6042"},{"uid":"c5e49757-6036"},{"uid":"c5e49757-6090"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-6094"},{"uid":"c5e49757-6098"},{"uid":"c5e49757-6102"},{"uid":"c5e49757-6106"},{"uid":"c5e49757-5424"},{"uid":"c5e49757-5428"},{"uid":"c5e49757-6108"},{"uid":"c5e49757-6112"},{"uid":"c5e49757-5284"},{"uid":"c5e49757-5288"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5312"},{"uid":"c5e49757-6124"},{"uid":"c5e49757-6128"},{"uid":"c5e49757-5216"},{"uid":"c5e49757-5214"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-6164"},{"uid":"c5e49757-6184"},{"uid":"c5e49757-6234"},{"uid":"c5e49757-6240"},{"uid":"c5e49757-6250"},{"uid":"c5e49757-6242"},{"uid":"c5e49757-6246"},{"uid":"c5e49757-6258"},{"uid":"c5e49757-5820"},{"uid":"c5e49757-5822"},{"uid":"c5e49757-5828"},{"uid":"c5e49757-5830"},{"uid":"c5e49757-5812"},{"uid":"c5e49757-6260"},{"uid":"c5e49757-6268"},{"uid":"c5e49757-6282"},{"uid":"c5e49757-6286"},{"uid":"c5e49757-6276"},{"uid":"c5e49757-6290"},{"uid":"c5e49757-6292"},{"uid":"c5e49757-6302"},{"uid":"c5e49757-6304"},{"uid":"c5e49757-6308"},{"uid":"c5e49757-6318"},{"uid":"c5e49757-6326"},{"uid":"c5e49757-6334"},{"uid":"c5e49757-6344"},{"uid":"c5e49757-6350"},{"uid":"c5e49757-5780"},{"uid":"c5e49757-5786"},{"uid":"c5e49757-5298"},{"uid":"c5e49757-5300"},{"uid":"c5e49757-5302"},{"uid":"c5e49757-5018"},{"uid":"c5e49757-5020"},{"uid":"c5e49757-5022"},{"uid":"c5e49757-5032"},{"uid":"c5e49757-5036"},{"uid":"c5e49757-5046"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-5056"},{"uid":"c5e49757-5058"},{"uid":"c5e49757-5062"},{"uid":"c5e49757-5066"},{"uid":"c5e49757-5068"},{"uid":"c5e49757-5072"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5076"},{"uid":"c5e49757-5078"},{"uid":"c5e49757-5080"},{"uid":"c5e49757-5102"},{"uid":"c5e49757-5114"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5236"},{"uid":"c5e49757-5250"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5418"},{"uid":"c5e49757-5380"},{"uid":"c5e49757-5454"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5914"},{"uid":"c5e49757-5572"},{"uid":"c5e49757-5584"},{"uid":"c5e49757-5604"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5642"},{"uid":"c5e49757-5644"},{"uid":"c5e49757-5654"},{"uid":"c5e49757-5130"},{"uid":"c5e49757-5136"},{"uid":"c5e49757-5108"},{"uid":"c5e49757-5666"},{"uid":"c5e49757-5660"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5688"},{"uid":"c5e49757-5702"},{"uid":"c5e49757-5776"},{"uid":"c5e49757-5178"},{"uid":"c5e49757-5200"},{"uid":"c5e49757-5190"},{"uid":"c5e49757-5790"},{"uid":"c5e49757-5398"},{"uid":"c5e49757-5796"},{"uid":"c5e49757-5164"},{"uid":"c5e49757-5748"},{"uid":"c5e49757-5854"},{"uid":"c5e49757-5906"},{"uid":"c5e49757-5924"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-6002"},{"uid":"c5e49757-6030"},{"uid":"c5e49757-6072"},{"uid":"c5e49757-6034"},{"uid":"c5e49757-6038"},{"uid":"c5e49757-6040"},{"uid":"c5e49757-6096"},{"uid":"c5e49757-6104"},{"uid":"c5e49757-6110"},{"uid":"c5e49757-5286"},{"uid":"c5e49757-5292"},{"uid":"c5e49757-5310"},{"uid":"c5e49757-5224"},{"uid":"c5e49757-6182"},{"uid":"c5e49757-6202"},{"uid":"c5e49757-6238"},{"uid":"c5e49757-5818"},{"uid":"c5e49757-5826"},{"uid":"c5e49757-6284"},{"uid":"c5e49757-6288"},{"uid":"c5e49757-6296"},{"uid":"c5e49757-6306"},{"uid":"c5e49757-6312"},{"uid":"c5e49757-6316"},{"uid":"c5e49757-6332"},{"uid":"c5e49757-6338"},{"uid":"c5e49757-6348"},{"uid":"c5e49757-5782"},{"uid":"c5e49757-6162"},{"uid":"c5e49757-5242"},{"uid":"c5e49757-5328"},{"uid":"c5e49757-5346"},{"uid":"c5e49757-5352"},{"uid":"c5e49757-5410"},{"uid":"c5e49757-5416"},{"uid":"c5e49757-5370"},{"uid":"c5e49757-5462"},{"uid":"c5e49757-5486"},{"uid":"c5e49757-5494"},{"uid":"c5e49757-5490"},{"uid":"c5e49757-5912"},{"uid":"c5e49757-5586"},{"uid":"c5e49757-5638"},{"uid":"c5e49757-5640"},{"uid":"c5e49757-5628"},{"uid":"c5e49757-5618"},{"uid":"c5e49757-5128"},{"uid":"c5e49757-5134"},{"uid":"c5e49757-5142"},{"uid":"c5e49757-5684"},{"uid":"c5e49757-5722"},{"uid":"c5e49757-5726"},{"uid":"c5e49757-5754"},{"uid":"c5e49757-5758"},{"uid":"c5e49757-5762"},{"uid":"c5e49757-5766"},{"uid":"c5e49757-5196"},{"uid":"c5e49757-5388"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5742"},{"uid":"c5e49757-5744"},{"uid":"c5e49757-5732"},{"uid":"c5e49757-5848"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5842"},{"uid":"c5e49757-5890"},{"uid":"c5e49757-5880"},{"uid":"c5e49757-5882"},{"uid":"c5e49757-5948"},{"uid":"c5e49757-5972"},{"uid":"c5e49757-5990"},{"uid":"c5e49757-5994"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-5996"},{"uid":"c5e49757-5998"},{"uid":"c5e49757-6014"},{"uid":"c5e49757-6018"},{"uid":"c5e49757-6024"},{"uid":"c5e49757-6062"},{"uid":"c5e49757-6022"},{"uid":"c5e49757-6054"},{"uid":"c5e49757-6050"},{"uid":"c5e49757-5308"},{"uid":"c5e49757-5316"},{"uid":"c5e49757-6114"},{"uid":"c5e49757-5220"},{"uid":"c5e49757-5222"},{"uid":"c5e49757-6180"},{"uid":"c5e49757-6190"},{"uid":"c5e49757-6198"},{"uid":"c5e49757-6196"},{"uid":"c5e49757-6212"},{"uid":"c5e49757-6226"},{"uid":"c5e49757-6220"},{"uid":"c5e49757-6252"},{"uid":"c5e49757-6254"},{"uid":"c5e49757-5810"},{"uid":"c5e49757-5816"},{"uid":"c5e49757-5824"},{"uid":"c5e49757-6280"},{"uid":"c5e49757-6272"},{"uid":"c5e49757-6298"},{"uid":"c5e49757-6330"},{"uid":"c5e49757-6336"},{"uid":"c5e49757-6346"},{"uid":"c5e49757-6132"},{"uid":"c5e49757-6134"},{"uid":"c5e49757-6136"},{"uid":"c5e49757-6140"},{"uid":"c5e49757-6138"},{"uid":"c5e49757-5322"},{"uid":"c5e49757-5362"},{"uid":"c5e49757-5364"},{"uid":"c5e49757-5366"},{"uid":"c5e49757-5368"},{"uid":"c5e49757-5478"},{"uid":"c5e49757-5482"},{"uid":"c5e49757-5480"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"},{"uid":"c5e49757-5564"},{"uid":"c5e49757-5566"},{"uid":"c5e49757-5624"},{"uid":"c5e49757-5682"},{"uid":"c5e49757-5156"},{"uid":"c5e49757-5158"},{"uid":"c5e49757-5738"},{"uid":"c5e49757-5886"},{"uid":"c5e49757-5956"},{"uid":"c5e49757-6052"},{"uid":"c5e49757-6048"},{"uid":"c5e49757-5314"},{"uid":"c5e49757-5218"},{"uid":"c5e49757-6170"},{"uid":"c5e49757-6166"},{"uid":"c5e49757-6188"},{"uid":"c5e49757-6270"},{"uid":"c5e49757-6144"},{"uid":"c5e49757-6158"},{"uid":"c5e49757-6130"},{"uid":"c5e49757-5518"},{"uid":"c5e49757-5534"},{"uid":"c5e49757-5538"},{"uid":"c5e49757-5542"},{"uid":"c5e49757-5546"},{"uid":"c5e49757-5522"},{"uid":"c5e49757-5550"},{"uid":"c5e49757-5942"},{"uid":"c5e49757-5964"},{"uid":"c5e49757-6156"},{"uid":"c5e49757-5516"},{"uid":"c5e49757-5520"},{"uid":"c5e49757-5524"},{"uid":"c5e49757-5532"},{"uid":"c5e49757-5536"},{"uid":"c5e49757-5544"},{"uid":"c5e49757-6148"},{"uid":"c5e49757-5526"}]},"c5e49757-5018":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-attrs/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5019"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5666"},{"uid":"c5e49757-5146"}]},"c5e49757-5020":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-deprecated/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5021"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5250"},{"uid":"c5e49757-5380"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5592"},{"uid":"c5e49757-5604"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5398"},{"uid":"c5e49757-5796"},{"uid":"c5e49757-5892"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-5268"},{"uid":"c5e49757-5370"},{"uid":"c5e49757-5388"}]},"c5e49757-5022":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-draggable/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5023"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4958"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5586"},{"uid":"c5e49757-6336"}]},"c5e49757-5024":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-focus/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5025"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"}]},"c5e49757-5026":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/locale/lang/en.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5027"},"imported":[],"importedBy":[{"uid":"c5e49757-5028"},{"uid":"c5e49757-3600"}]},"c5e49757-5028":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-locale/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5029"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5026"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-5770"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5312"},{"uid":"c5e49757-5258"},{"uid":"c5e49757-5332"},{"uid":"c5e49757-5348"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5604"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5654"},{"uid":"c5e49757-5666"},{"uid":"c5e49757-5660"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5716"},{"uid":"c5e49757-5724"},{"uid":"c5e49757-5728"},{"uid":"c5e49757-5756"},{"uid":"c5e49757-5760"},{"uid":"c5e49757-5764"},{"uid":"c5e49757-5768"},{"uid":"c5e49757-5776"},{"uid":"c5e49757-5892"},{"uid":"c5e49757-5992"},{"uid":"c5e49757-6118"},{"uid":"c5e49757-6182"},{"uid":"c5e49757-6202"},{"uid":"c5e49757-6232"},{"uid":"c5e49757-6288"},{"uid":"c5e49757-5328"},{"uid":"c5e49757-5408"},{"uid":"c5e49757-5586"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5316"},{"uid":"c5e49757-6180"},{"uid":"c5e49757-6244"},{"uid":"c5e49757-5324"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"},{"uid":"c5e49757-5554"},{"uid":"c5e49757-5950"},{"uid":"c5e49757-5534"},{"uid":"c5e49757-5538"},{"uid":"c5e49757-5546"},{"uid":"c5e49757-5552"},{"uid":"c5e49757-5524"}]},"c5e49757-5030":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-namespace/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5031"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-5590"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5696"},{"uid":"c5e49757-5578"},{"uid":"c5e49757-5770"},{"uid":"c5e49757-5176"},{"uid":"c5e49757-5896"},{"uid":"c5e49757-5898"},{"uid":"c5e49757-6084"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-6098"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5312"},{"uid":"c5e49757-5032"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-5058"},{"uid":"c5e49757-5102"},{"uid":"c5e49757-5114"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5236"},{"uid":"c5e49757-5244"},{"uid":"c5e49757-5250"},{"uid":"c5e49757-5258"},{"uid":"c5e49757-5262"},{"uid":"c5e49757-5274"},{"uid":"c5e49757-5278"},{"uid":"c5e49757-5332"},{"uid":"c5e49757-5338"},{"uid":"c5e49757-5348"},{"uid":"c5e49757-5354"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5418"},{"uid":"c5e49757-5440"},{"uid":"c5e49757-5374"},{"uid":"c5e49757-5376"},{"uid":"c5e49757-5380"},{"uid":"c5e49757-5454"},{"uid":"c5e49757-5466"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5500"},{"uid":"c5e49757-5502"},{"uid":"c5e49757-5504"},{"uid":"c5e49757-5506"},{"uid":"c5e49757-5508"},{"uid":"c5e49757-5558"},{"uid":"c5e49757-5572"},{"uid":"c5e49757-5592"},{"uid":"c5e49757-5598"},{"uid":"c5e49757-5604"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5644"},{"uid":"c5e49757-5654"},{"uid":"c5e49757-5130"},{"uid":"c5e49757-5136"},{"uid":"c5e49757-5108"},{"uid":"c5e49757-5666"},{"uid":"c5e49757-5660"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5678"},{"uid":"c5e49757-5688"},{"uid":"c5e49757-5694"},{"uid":"c5e49757-5702"},{"uid":"c5e49757-5706"},{"uid":"c5e49757-5716"},{"uid":"c5e49757-5756"},{"uid":"c5e49757-5760"},{"uid":"c5e49757-5764"},{"uid":"c5e49757-5768"},{"uid":"c5e49757-5776"},{"uid":"c5e49757-5178"},{"uid":"c5e49757-5200"},{"uid":"c5e49757-5790"},{"uid":"c5e49757-5390"},{"uid":"c5e49757-5394"},{"uid":"c5e49757-5398"},{"uid":"c5e49757-5796"},{"uid":"c5e49757-5802"},{"uid":"c5e49757-5448"},{"uid":"c5e49757-5164"},{"uid":"c5e49757-5734"},{"uid":"c5e49757-5748"},{"uid":"c5e49757-5864"},{"uid":"c5e49757-5862"},{"uid":"c5e49757-5892"},{"uid":"c5e49757-5906"},{"uid":"c5e49757-5920"},{"uid":"c5e49757-5924"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-5992"},{"uid":"c5e49757-6030"},{"uid":"c5e49757-6088"},{"uid":"c5e49757-6096"},{"uid":"c5e49757-6104"},{"uid":"c5e49757-5426"},{"uid":"c5e49757-6110"},{"uid":"c5e49757-5310"},{"uid":"c5e49757-6118"},{"uid":"c5e49757-6122"},{"uid":"c5e49757-6126"},{"uid":"c5e49757-6182"},{"uid":"c5e49757-6202"},{"uid":"c5e49757-6232"},{"uid":"c5e49757-5818"},{"uid":"c5e49757-5826"},{"uid":"c5e49757-6284"},{"uid":"c5e49757-6296"},{"uid":"c5e49757-6306"},{"uid":"c5e49757-5782"},{"uid":"c5e49757-5272"},{"uid":"c5e49757-5326"},{"uid":"c5e49757-5408"},{"uid":"c5e49757-5462"},{"uid":"c5e49757-5472"},{"uid":"c5e49757-5486"},{"uid":"c5e49757-5492"},{"uid":"c5e49757-5494"},{"uid":"c5e49757-5638"},{"uid":"c5e49757-5640"},{"uid":"c5e49757-5650"},{"uid":"c5e49757-5134"},{"uid":"c5e49757-5736"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5848"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5888"},{"uid":"c5e49757-5890"},{"uid":"c5e49757-5962"},{"uid":"c5e49757-5972"},{"uid":"c5e49757-5978"},{"uid":"c5e49757-5998"},{"uid":"c5e49757-5316"},{"uid":"c5e49757-5220"},{"uid":"c5e49757-5222"},{"uid":"c5e49757-6180"},{"uid":"c5e49757-6198"},{"uid":"c5e49757-6196"},{"uid":"c5e49757-6200"},{"uid":"c5e49757-6206"},{"uid":"c5e49757-6230"},{"uid":"c5e49757-6244"},{"uid":"c5e49757-6252"},{"uid":"c5e49757-5816"},{"uid":"c5e49757-5406"},{"uid":"c5e49757-5482"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5564"},{"uid":"c5e49757-5156"},{"uid":"c5e49757-5836"},{"uid":"c5e49757-5846"},{"uid":"c5e49757-5944"},{"uid":"c5e49757-5950"},{"uid":"c5e49757-5958"},{"uid":"c5e49757-5968"},{"uid":"c5e49757-5976"},{"uid":"c5e49757-6052"},{"uid":"c5e49757-6192"},{"uid":"c5e49757-6228"},{"uid":"c5e49757-6248"},{"uid":"c5e49757-6144"},{"uid":"c5e49757-6154"},{"uid":"c5e49757-5402"},{"uid":"c5e49757-5534"},{"uid":"c5e49757-5538"},{"uid":"c5e49757-5546"},{"uid":"c5e49757-5966"},{"uid":"c5e49757-5524"},{"uid":"c5e49757-5528"}]},"c5e49757-5032":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-lockscreen/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5033"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3348"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-4960"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5590"},{"uid":"c5e49757-6274"},{"uid":"c5e49757-6336"}]},"c5e49757-5034":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-modal/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5035"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4982"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"}]},"c5e49757-5036":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-model-toggle/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5037"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5216"}]},"c5e49757-5038":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-prevent-global/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5039"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"}]},"c5e49757-5040":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-prop/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5041"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5120"}]},"c5e49757-5042":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-popper/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5043"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-98"},{"uid":"c5e49757-2"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5198"}]},"c5e49757-5044":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-same-target/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5045"},"imported":[{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5578"},{"uid":"c5e49757-5592"},{"uid":"c5e49757-6336"}]},"c5e49757-5046":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-teleport/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5047"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-4966"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"}]},"c5e49757-5048":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-throttle-render/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5049"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5864"}]},"c5e49757-5050":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-timeout/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5051"},"imported":[{"uid":"c5e49757-4940"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5062"}]},"c5e49757-5052":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-transition-fallthrough/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5053"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"}]},"c5e49757-5054":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-id/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5055"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5590"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-5058"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5136"},{"uid":"c5e49757-5398"},{"uid":"c5e49757-5734"},{"uid":"c5e49757-5224"},{"uid":"c5e49757-6306"},{"uid":"c5e49757-5408"},{"uid":"c5e49757-5472"},{"uid":"c5e49757-5640"},{"uid":"c5e49757-5628"},{"uid":"c5e49757-5650"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-6336"},{"uid":"c5e49757-6144"}]},"c5e49757-5056":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-escape-keydown/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5057"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-4940"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5190"}]},"c5e49757-5058":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-popper-container/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5059"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-4940"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5224"},{"uid":"c5e49757-5222"}]},"c5e49757-5060":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-intermediate-render/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5061"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"}]},"c5e49757-5062":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-delayed-toggle/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5063"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5050"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-5224"}]},"c5e49757-5064":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-forward-ref/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5065"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5184"},{"uid":"c5e49757-5178"}]},"c5e49757-5066":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-z-index/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5067"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-5590"},{"uid":"c5e49757-5660"},{"uid":"c5e49757-5200"},{"uid":"c5e49757-6284"},{"uid":"c5e49757-6154"}]},"c5e49757-5068":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-floating/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5069"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-2"},{"uid":"c5e49757-122"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4954"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-6154"}]},"c5e49757-5070":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-cursor/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5071"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5146"}]},"c5e49757-5072":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-ordered-children/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5073"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5000"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-5920"},{"uid":"c5e49757-5346"}]},"c5e49757-5074":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-size/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5075"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4990"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5270"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-5378"},{"uid":"c5e49757-5358"},{"uid":"c5e49757-5488"},{"uid":"c5e49757-5088"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-5570"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5144"},{"uid":"c5e49757-5670"},{"uid":"c5e49757-5384"},{"uid":"c5e49757-5396"},{"uid":"c5e49757-5794"},{"uid":"c5e49757-5870"},{"uid":"c5e49757-5288"},{"uid":"c5e49757-6304"},{"uid":"c5e49757-5744"},{"uid":"c5e49757-5842"},{"uid":"c5e49757-5986"},{"uid":"c5e49757-6114"}]},"c5e49757-5076":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-focus-controller/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5077"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5852"}]},"c5e49757-5078":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-empty-values/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5079"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5092"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-5088"},{"uid":"c5e49757-5288"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5744"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5842"},{"uid":"c5e49757-6114"}]},"c5e49757-5080":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/use-aria/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5081"},"imported":[{"uid":"c5e49757-2"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5228"},{"uid":"c5e49757-5378"},{"uid":"c5e49757-5358"},{"uid":"c5e49757-5488"},{"uid":"c5e49757-5144"},{"uid":"c5e49757-5670"},{"uid":"c5e49757-5194"},{"uid":"c5e49757-5396"},{"uid":"c5e49757-5794"},{"uid":"c5e49757-5162"},{"uid":"c5e49757-5870"},{"uid":"c5e49757-5928"},{"uid":"c5e49757-5288"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-6304"},{"uid":"c5e49757-5744"},{"uid":"c5e49757-5842"},{"uid":"c5e49757-6134"}]},"c5e49757-5082":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/hooks/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5083"},"imported":[{"uid":"c5e49757-5018"},{"uid":"c5e49757-5020"},{"uid":"c5e49757-5022"},{"uid":"c5e49757-5024"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5032"},{"uid":"c5e49757-5034"},{"uid":"c5e49757-5036"},{"uid":"c5e49757-5038"},{"uid":"c5e49757-5040"},{"uid":"c5e49757-5042"},{"uid":"c5e49757-5044"},{"uid":"c5e49757-5046"},{"uid":"c5e49757-5048"},{"uid":"c5e49757-5050"},{"uid":"c5e49757-5052"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-5056"},{"uid":"c5e49757-5058"},{"uid":"c5e49757-5060"},{"uid":"c5e49757-5062"},{"uid":"c5e49757-5064"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5066"},{"uid":"c5e49757-5068"},{"uid":"c5e49757-5070"},{"uid":"c5e49757-5072"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5076"},{"uid":"c5e49757-5078"},{"uid":"c5e49757-5080"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5228"},{"uid":"c5e49757-5270"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-5378"},{"uid":"c5e49757-5358"},{"uid":"c5e49757-5488"},{"uid":"c5e49757-5088"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-5570"},{"uid":"c5e49757-5590"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-5144"},{"uid":"c5e49757-5670"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5696"},{"uid":"c5e49757-5578"},{"uid":"c5e49757-5770"},{"uid":"c5e49757-5194"},{"uid":"c5e49757-5176"},{"uid":"c5e49757-5184"},{"uid":"c5e49757-5384"},{"uid":"c5e49757-5396"},{"uid":"c5e49757-5794"},{"uid":"c5e49757-5162"},{"uid":"c5e49757-5870"},{"uid":"c5e49757-5896"},{"uid":"c5e49757-5898"},{"uid":"c5e49757-5928"},{"uid":"c5e49757-6084"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-6098"},{"uid":"c5e49757-5288"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5312"},{"uid":"c5e49757-5216"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-6304"},{"uid":"c5e49757-5102"},{"uid":"c5e49757-5114"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5236"},{"uid":"c5e49757-5244"},{"uid":"c5e49757-5250"},{"uid":"c5e49757-5258"},{"uid":"c5e49757-5262"},{"uid":"c5e49757-5274"},{"uid":"c5e49757-5278"},{"uid":"c5e49757-5332"},{"uid":"c5e49757-5338"},{"uid":"c5e49757-5348"},{"uid":"c5e49757-5354"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5418"},{"uid":"c5e49757-5440"},{"uid":"c5e49757-5374"},{"uid":"c5e49757-5376"},{"uid":"c5e49757-5380"},{"uid":"c5e49757-5454"},{"uid":"c5e49757-5466"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5500"},{"uid":"c5e49757-5502"},{"uid":"c5e49757-5504"},{"uid":"c5e49757-5506"},{"uid":"c5e49757-5508"},{"uid":"c5e49757-5558"},{"uid":"c5e49757-5572"},{"uid":"c5e49757-5592"},{"uid":"c5e49757-5598"},{"uid":"c5e49757-5604"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5644"},{"uid":"c5e49757-5654"},{"uid":"c5e49757-5130"},{"uid":"c5e49757-5136"},{"uid":"c5e49757-5108"},{"uid":"c5e49757-5666"},{"uid":"c5e49757-5660"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5678"},{"uid":"c5e49757-5688"},{"uid":"c5e49757-5694"},{"uid":"c5e49757-5702"},{"uid":"c5e49757-5706"},{"uid":"c5e49757-5716"},{"uid":"c5e49757-5724"},{"uid":"c5e49757-5728"},{"uid":"c5e49757-5756"},{"uid":"c5e49757-5760"},{"uid":"c5e49757-5764"},{"uid":"c5e49757-5768"},{"uid":"c5e49757-5776"},{"uid":"c5e49757-5178"},{"uid":"c5e49757-5198"},{"uid":"c5e49757-5200"},{"uid":"c5e49757-5190"},{"uid":"c5e49757-5790"},{"uid":"c5e49757-5390"},{"uid":"c5e49757-5394"},{"uid":"c5e49757-5398"},{"uid":"c5e49757-5796"},{"uid":"c5e49757-5802"},{"uid":"c5e49757-5448"},{"uid":"c5e49757-5164"},{"uid":"c5e49757-5734"},{"uid":"c5e49757-5748"},{"uid":"c5e49757-5864"},{"uid":"c5e49757-5862"},{"uid":"c5e49757-5892"},{"uid":"c5e49757-5906"},{"uid":"c5e49757-5920"},{"uid":"c5e49757-5924"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-5992"},{"uid":"c5e49757-6030"},{"uid":"c5e49757-6088"},{"uid":"c5e49757-6096"},{"uid":"c5e49757-6104"},{"uid":"c5e49757-5426"},{"uid":"c5e49757-6110"},{"uid":"c5e49757-5310"},{"uid":"c5e49757-6118"},{"uid":"c5e49757-6122"},{"uid":"c5e49757-6126"},{"uid":"c5e49757-5224"},{"uid":"c5e49757-6182"},{"uid":"c5e49757-6202"},{"uid":"c5e49757-6232"},{"uid":"c5e49757-5818"},{"uid":"c5e49757-5826"},{"uid":"c5e49757-6284"},{"uid":"c5e49757-6288"},{"uid":"c5e49757-6296"},{"uid":"c5e49757-6306"},{"uid":"c5e49757-5782"},{"uid":"c5e49757-5268"},{"uid":"c5e49757-5272"},{"uid":"c5e49757-5326"},{"uid":"c5e49757-5328"},{"uid":"c5e49757-5346"},{"uid":"c5e49757-5408"},{"uid":"c5e49757-5370"},{"uid":"c5e49757-5462"},{"uid":"c5e49757-5472"},{"uid":"c5e49757-5486"},{"uid":"c5e49757-5492"},{"uid":"c5e49757-5494"},{"uid":"c5e49757-5586"},{"uid":"c5e49757-5638"},{"uid":"c5e49757-5640"},{"uid":"c5e49757-5628"},{"uid":"c5e49757-5650"},{"uid":"c5e49757-5134"},{"uid":"c5e49757-5388"},{"uid":"c5e49757-5736"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5744"},{"uid":"c5e49757-5848"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5842"},{"uid":"c5e49757-5888"},{"uid":"c5e49757-5890"},{"uid":"c5e49757-5962"},{"uid":"c5e49757-5972"},{"uid":"c5e49757-5978"},{"uid":"c5e49757-5986"},{"uid":"c5e49757-5998"},{"uid":"c5e49757-5316"},{"uid":"c5e49757-6114"},{"uid":"c5e49757-5220"},{"uid":"c5e49757-5222"},{"uid":"c5e49757-6180"},{"uid":"c5e49757-6198"},{"uid":"c5e49757-6196"},{"uid":"c5e49757-6200"},{"uid":"c5e49757-6206"},{"uid":"c5e49757-6230"},{"uid":"c5e49757-6244"},{"uid":"c5e49757-6252"},{"uid":"c5e49757-5816"},{"uid":"c5e49757-6274"},{"uid":"c5e49757-6336"},{"uid":"c5e49757-6134"},{"uid":"c5e49757-5324"},{"uid":"c5e49757-5406"},{"uid":"c5e49757-5482"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"},{"uid":"c5e49757-5554"},{"uid":"c5e49757-5564"},{"uid":"c5e49757-5156"},{"uid":"c5e49757-5836"},{"uid":"c5e49757-5846"},{"uid":"c5e49757-5944"},{"uid":"c5e49757-5950"},{"uid":"c5e49757-5958"},{"uid":"c5e49757-5968"},{"uid":"c5e49757-5976"},{"uid":"c5e49757-6052"},{"uid":"c5e49757-6192"},{"uid":"c5e49757-6228"},{"uid":"c5e49757-6248"},{"uid":"c5e49757-6144"},{"uid":"c5e49757-6154"},{"uid":"c5e49757-5402"},{"uid":"c5e49757-5534"},{"uid":"c5e49757-5538"},{"uid":"c5e49757-5546"},{"uid":"c5e49757-5552"},{"uid":"c5e49757-5966"},{"uid":"c5e49757-5524"},{"uid":"c5e49757-5528"}]},"c5e49757-5084":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/config-provider/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5085"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-5092"}]},"c5e49757-5086":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/config-provider/src/hooks/use-global-config.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5087"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5084"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5066"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-4954"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5096"},{"uid":"c5e49757-5090"},{"uid":"c5e49757-5092"},{"uid":"c5e49757-5590"},{"uid":"c5e49757-5078"},{"uid":"c5e49757-6316"},{"uid":"c5e49757-5268"},{"uid":"c5e49757-6330"},{"uid":"c5e49757-6336"},{"uid":"c5e49757-6346"}]},"c5e49757-5088":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/config-provider/src/config-provider-props.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5089"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5078"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5090"},{"uid":"c5e49757-5092"}]},"c5e49757-5090":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/config-provider/src/config-provider.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5091"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-5088"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5092"},{"uid":"c5e49757-6332"}]},"c5e49757-5092":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/config-provider/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5093"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5090"},{"uid":"c5e49757-5088"},{"uid":"c5e49757-5084"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5096"},{"uid":"c5e49757-5590"},{"uid":"c5e49757-5078"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-6316"},{"uid":"c5e49757-6332"},{"uid":"c5e49757-5268"},{"uid":"c5e49757-6330"},{"uid":"c5e49757-6336"},{"uid":"c5e49757-6346"}]},"c5e49757-5094":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/version.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5095"},"imported":[],"importedBy":[{"uid":"c5e49757-5096"}]},"c5e49757-5096":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/make-installer.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5097"},"imported":[{"uid":"c5e49757-5092"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5094"},{"uid":"c5e49757-4988"},{"uid":"c5e49757-5086"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6354"}]},"c5e49757-5098":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/affix/src/affix.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5099"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5104"},{"uid":"c5e49757-5102"}]},"c5e49757-5100":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/_virtual/plugin-vue_export-helper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5101"},"imported":[],"importedBy":[{"uid":"c5e49757-5176"},{"uid":"c5e49757-5184"},{"uid":"c5e49757-5206"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5312"},{"uid":"c5e49757-5102"},{"uid":"c5e49757-5114"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5236"},{"uid":"c5e49757-5244"},{"uid":"c5e49757-5250"},{"uid":"c5e49757-5258"},{"uid":"c5e49757-5262"},{"uid":"c5e49757-5274"},{"uid":"c5e49757-5278"},{"uid":"c5e49757-5332"},{"uid":"c5e49757-5338"},{"uid":"c5e49757-5348"},{"uid":"c5e49757-5354"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5418"},{"uid":"c5e49757-5440"},{"uid":"c5e49757-5374"},{"uid":"c5e49757-5376"},{"uid":"c5e49757-5380"},{"uid":"c5e49757-5454"},{"uid":"c5e49757-5464"},{"uid":"c5e49757-5474"},{"uid":"c5e49757-5466"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5500"},{"uid":"c5e49757-5502"},{"uid":"c5e49757-5504"},{"uid":"c5e49757-5506"},{"uid":"c5e49757-5508"},{"uid":"c5e49757-5914"},{"uid":"c5e49757-5572"},{"uid":"c5e49757-5592"},{"uid":"c5e49757-5598"},{"uid":"c5e49757-5604"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5642"},{"uid":"c5e49757-5644"},{"uid":"c5e49757-5654"},{"uid":"c5e49757-5130"},{"uid":"c5e49757-5136"},{"uid":"c5e49757-5108"},{"uid":"c5e49757-5666"},{"uid":"c5e49757-5660"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5678"},{"uid":"c5e49757-5688"},{"uid":"c5e49757-5702"},{"uid":"c5e49757-5706"},{"uid":"c5e49757-5716"},{"uid":"c5e49757-5724"},{"uid":"c5e49757-5728"},{"uid":"c5e49757-5756"},{"uid":"c5e49757-5760"},{"uid":"c5e49757-5764"},{"uid":"c5e49757-5768"},{"uid":"c5e49757-5776"},{"uid":"c5e49757-5190"},{"uid":"c5e49757-5172"},{"uid":"c5e49757-5790"},{"uid":"c5e49757-5390"},{"uid":"c5e49757-5394"},{"uid":"c5e49757-5398"},{"uid":"c5e49757-5796"},{"uid":"c5e49757-5802"},{"uid":"c5e49757-5448"},{"uid":"c5e49757-5164"},{"uid":"c5e49757-5746"},{"uid":"c5e49757-5734"},{"uid":"c5e49757-5748"},{"uid":"c5e49757-5854"},{"uid":"c5e49757-5864"},{"uid":"c5e49757-5862"},{"uid":"c5e49757-5892"},{"uid":"c5e49757-5906"},{"uid":"c5e49757-5920"},{"uid":"c5e49757-5924"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-5992"},{"uid":"c5e49757-6096"},{"uid":"c5e49757-6104"},{"uid":"c5e49757-5426"},{"uid":"c5e49757-6110"},{"uid":"c5e49757-5310"},{"uid":"c5e49757-6118"},{"uid":"c5e49757-6126"},{"uid":"c5e49757-5224"},{"uid":"c5e49757-6182"},{"uid":"c5e49757-6202"},{"uid":"c5e49757-6216"},{"uid":"c5e49757-6232"},{"uid":"c5e49757-6256"},{"uid":"c5e49757-6266"},{"uid":"c5e49757-6284"},{"uid":"c5e49757-6288"},{"uid":"c5e49757-6296"},{"uid":"c5e49757-6300"},{"uid":"c5e49757-6306"},{"uid":"c5e49757-5782"},{"uid":"c5e49757-5326"},{"uid":"c5e49757-5408"},{"uid":"c5e49757-5484"},{"uid":"c5e49757-5486"},{"uid":"c5e49757-5492"},{"uid":"c5e49757-5494"},{"uid":"c5e49757-5568"},{"uid":"c5e49757-5586"},{"uid":"c5e49757-5608"},{"uid":"c5e49757-5610"},{"uid":"c5e49757-5626"},{"uid":"c5e49757-5638"},{"uid":"c5e49757-5628"},{"uid":"c5e49757-5650"},{"uid":"c5e49757-5160"},{"uid":"c5e49757-5736"},{"uid":"c5e49757-5888"},{"uid":"c5e49757-5316"},{"uid":"c5e49757-5220"},{"uid":"c5e49757-5222"},{"uid":"c5e49757-6180"},{"uid":"c5e49757-6198"},{"uid":"c5e49757-6230"},{"uid":"c5e49757-6244"},{"uid":"c5e49757-6252"},{"uid":"c5e49757-6274"},{"uid":"c5e49757-6278"},{"uid":"c5e49757-6330"},{"uid":"c5e49757-6336"},{"uid":"c5e49757-6346"},{"uid":"c5e49757-6160"},{"uid":"c5e49757-5406"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"},{"uid":"c5e49757-5554"},{"uid":"c5e49757-5624"},{"uid":"c5e49757-5156"},{"uid":"c5e49757-5836"},{"uid":"c5e49757-5846"},{"uid":"c5e49757-5950"},{"uid":"c5e49757-6192"},{"uid":"c5e49757-6248"},{"uid":"c5e49757-6144"},{"uid":"c5e49757-6146"},{"uid":"c5e49757-6154"},{"uid":"c5e49757-6158"},{"uid":"c5e49757-5530"},{"uid":"c5e49757-5534"},{"uid":"c5e49757-5538"},{"uid":"c5e49757-6150"}]},"c5e49757-5102":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/affix/src/affix2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5103"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5098"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-4960"}],"importedBy":[{"uid":"c5e49757-5104"}]},"c5e49757-5104":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/affix/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5105"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5102"},{"uid":"c5e49757-5098"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5106":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/icon/src/icon.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5107"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5108"}]},"c5e49757-5108":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/icon/src/icon2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5109"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5106"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4958"}],"importedBy":[{"uid":"c5e49757-5110"}]},"c5e49757-5110":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/icon/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5111"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5108"},{"uid":"c5e49757-5106"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5696"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-6098"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5114"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5236"},{"uid":"c5e49757-5244"},{"uid":"c5e49757-5262"},{"uid":"c5e49757-5274"},{"uid":"c5e49757-5348"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5474"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5604"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5660"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5678"},{"uid":"c5e49757-5716"},{"uid":"c5e49757-5724"},{"uid":"c5e49757-5728"},{"uid":"c5e49757-5776"},{"uid":"c5e49757-5790"},{"uid":"c5e49757-5796"},{"uid":"c5e49757-5746"},{"uid":"c5e49757-5854"},{"uid":"c5e49757-5924"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-5426"},{"uid":"c5e49757-5310"},{"uid":"c5e49757-6118"},{"uid":"c5e49757-6126"},{"uid":"c5e49757-6182"},{"uid":"c5e49757-6288"},{"uid":"c5e49757-5408"},{"uid":"c5e49757-5586"},{"uid":"c5e49757-5638"},{"uid":"c5e49757-5994"},{"uid":"c5e49757-6058"},{"uid":"c5e49757-6056"},{"uid":"c5e49757-6198"},{"uid":"c5e49757-6230"},{"uid":"c5e49757-6244"},{"uid":"c5e49757-6330"},{"uid":"c5e49757-6336"},{"uid":"c5e49757-6346"},{"uid":"c5e49757-5406"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"},{"uid":"c5e49757-5554"},{"uid":"c5e49757-5950"}]},"c5e49757-5112":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/alert/src/alert.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5113"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4954"},{"uid":"c5e49757-4976"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5116"},{"uid":"c5e49757-5114"}]},"c5e49757-5114":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/alert/src/alert2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5115"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5112"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5116"}]},"c5e49757-5116":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/alert/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5117"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5114"},{"uid":"c5e49757-5112"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5118":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/form/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5119"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5206"},{"uid":"c5e49757-5130"},{"uid":"c5e49757-5136"},{"uid":"c5e49757-5796"},{"uid":"c5e49757-6202"},{"uid":"c5e49757-6232"},{"uid":"c5e49757-5134"}]},"c5e49757-5120":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/form/src/hooks/use-form-common-props.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5121"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5118"},{"uid":"c5e49757-5040"},{"uid":"c5e49757-5074"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5572"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5130"},{"uid":"c5e49757-5136"},{"uid":"c5e49757-5124"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5796"},{"uid":"c5e49757-5892"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-5426"},{"uid":"c5e49757-6110"},{"uid":"c5e49757-6118"},{"uid":"c5e49757-6256"},{"uid":"c5e49757-6306"},{"uid":"c5e49757-5268"},{"uid":"c5e49757-5272"},{"uid":"c5e49757-5388"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5982"},{"uid":"c5e49757-6244"},{"uid":"c5e49757-6252"},{"uid":"c5e49757-5362"},{"uid":"c5e49757-5368"},{"uid":"c5e49757-6248"}]},"c5e49757-5122":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/form/src/hooks/use-form-item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5123"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5118"},{"uid":"c5e49757-5054"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5380"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5124"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5398"},{"uid":"c5e49757-5796"},{"uid":"c5e49757-5892"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-6182"},{"uid":"c5e49757-6306"},{"uid":"c5e49757-5268"},{"uid":"c5e49757-5370"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5876"},{"uid":"c5e49757-5364"}]},"c5e49757-5124":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/form/src/hooks/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5125"},"imported":[{"uid":"c5e49757-5120"},{"uid":"c5e49757-5122"}],"importedBy":[{"uid":"c5e49757-5140"},{"uid":"c5e49757-5130"},{"uid":"c5e49757-5136"}]},"c5e49757-5126":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/form/src/form.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5127"},"imported":[{"uid":"c5e49757-4992"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4990"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5130"}]},"c5e49757-5128":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/form/src/utils.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5129"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-2"}],"importedBy":[{"uid":"c5e49757-5130"}]},"c5e49757-5130":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/form/src/form2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5131"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5124"},{"uid":"c5e49757-5118"},{"uid":"c5e49757-5126"},{"uid":"c5e49757-5128"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5140"}]},"c5e49757-5132":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/form/src/form-item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5133"},"imported":[{"uid":"c5e49757-4992"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4990"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5136"}]},"c5e49757-5134":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/form/src/form-label-wrap.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5135"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5118"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5136"}]},"c5e49757-5136":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/form/src/form-item2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5137"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-78"},{"uid":"c5e49757-2"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5124"},{"uid":"c5e49757-5132"},{"uid":"c5e49757-5134"},{"uid":"c5e49757-5118"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4954"}],"importedBy":[{"uid":"c5e49757-5140"}]},"c5e49757-5138":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/form/src/types.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5139"},"imported":[],"importedBy":[{"uid":"c5e49757-5140"}]},"c5e49757-5140":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/form/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5141"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5130"},{"uid":"c5e49757-5136"},{"uid":"c5e49757-5126"},{"uid":"c5e49757-5132"},{"uid":"c5e49757-5138"},{"uid":"c5e49757-5118"},{"uid":"c5e49757-5124"},{"uid":"c5e49757-4978"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5122"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5206"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5380"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5572"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5398"},{"uid":"c5e49757-5796"},{"uid":"c5e49757-5892"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-5426"},{"uid":"c5e49757-6110"},{"uid":"c5e49757-6118"},{"uid":"c5e49757-6182"},{"uid":"c5e49757-6202"},{"uid":"c5e49757-6232"},{"uid":"c5e49757-6256"},{"uid":"c5e49757-6306"},{"uid":"c5e49757-5268"},{"uid":"c5e49757-5272"},{"uid":"c5e49757-5370"},{"uid":"c5e49757-5388"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5876"},{"uid":"c5e49757-5982"},{"uid":"c5e49757-6244"},{"uid":"c5e49757-6252"},{"uid":"c5e49757-5362"},{"uid":"c5e49757-5364"},{"uid":"c5e49757-5368"},{"uid":"c5e49757-6248"}]},"c5e49757-5142":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/input/src/utils.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5143"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4942"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-5146"}]},"c5e49757-5144":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/input/src/input.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5145"},"imported":[{"uid":"c5e49757-3346"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-5012"},{"uid":"c5e49757-5080"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5148"},{"uid":"c5e49757-5146"}]},"c5e49757-5146":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/input/src/input2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5147"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5142"},{"uid":"c5e49757-5144"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5018"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5076"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-5070"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-5008"},{"uid":"c5e49757-5020"}],"importedBy":[{"uid":"c5e49757-5148"}]},"c5e49757-5148":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/input/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5149"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5146"},{"uid":"c5e49757-5144"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5760"},{"uid":"c5e49757-5746"},{"uid":"c5e49757-6180"},{"uid":"c5e49757-6336"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"}]},"c5e49757-5150":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/scrollbar/src/util.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5151"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5160"},{"uid":"c5e49757-5816"},{"uid":"c5e49757-5156"}]},"c5e49757-5152":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/scrollbar/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5153"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5164"},{"uid":"c5e49757-5160"},{"uid":"c5e49757-5156"}]},"c5e49757-5154":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/scrollbar/src/thumb.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5155"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5156"}]},"c5e49757-5156":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/scrollbar/src/thumb2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5157"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5152"},{"uid":"c5e49757-5150"},{"uid":"c5e49757-5154"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-5160"}]},"c5e49757-5158":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/scrollbar/src/bar.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5159"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5160"}]},"c5e49757-5160":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/scrollbar/src/bar2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5161"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5150"},{"uid":"c5e49757-5156"},{"uid":"c5e49757-5158"},{"uid":"c5e49757-5152"},{"uid":"c5e49757-5100"}],"importedBy":[{"uid":"c5e49757-5164"}]},"c5e49757-5162":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/scrollbar/src/scrollbar.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5163"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5080"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5164"}]},"c5e49757-5164":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/scrollbar/src/scrollbar2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5165"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5160"},{"uid":"c5e49757-5152"},{"uid":"c5e49757-5162"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-5166"}]},"c5e49757-5166":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/scrollbar/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5167"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5164"},{"uid":"c5e49757-5150"},{"uid":"c5e49757-5162"},{"uid":"c5e49757-5154"},{"uid":"c5e49757-5152"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5746"},{"uid":"c5e49757-5992"},{"uid":"c5e49757-5310"},{"uid":"c5e49757-5408"},{"uid":"c5e49757-5816"},{"uid":"c5e49757-5950"}]},"c5e49757-5168":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popper/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5169"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5176"},{"uid":"c5e49757-5184"},{"uid":"c5e49757-5206"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5198"},{"uid":"c5e49757-5172"}]},"c5e49757-5170":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popper/src/popper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5171"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5216"},{"uid":"c5e49757-5172"}]},"c5e49757-5172":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popper/src/popper2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5173"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5168"},{"uid":"c5e49757-5170"},{"uid":"c5e49757-5100"}],"importedBy":[{"uid":"c5e49757-5208"}]},"c5e49757-5174":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popper/src/arrow.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5175"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5176"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5216"}]},"c5e49757-5176":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popper/src/arrow2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5177"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5168"},{"uid":"c5e49757-5174"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5224"}]},"c5e49757-5178":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/slot/src/only-child.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5179"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5064"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5184"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5180"}]},"c5e49757-5180":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/slot/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5181"},"imported":[{"uid":"c5e49757-5178"}],"importedBy":[{"uid":"c5e49757-5184"},{"uid":"c5e49757-5636"}]},"c5e49757-5182":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popper/src/trigger.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5183"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5184"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5214"}]},"c5e49757-5184":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popper/src/trigger2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5185"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5180"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5168"},{"uid":"c5e49757-5182"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5064"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-5178"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5220"}]},"c5e49757-5186":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/focus-trap/src/tokens.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5187"},"imported":[],"importedBy":[{"uid":"c5e49757-5644"},{"uid":"c5e49757-5192"},{"uid":"c5e49757-5190"},{"uid":"c5e49757-5586"},{"uid":"c5e49757-5188"}]},"c5e49757-5188":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/focus-trap/src/utils.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5189"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5186"}],"importedBy":[{"uid":"c5e49757-5192"},{"uid":"c5e49757-5190"}]},"c5e49757-5190":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/focus-trap/src/focus-trap.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5191"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5188"},{"uid":"c5e49757-5186"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5056"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5206"},{"uid":"c5e49757-5592"},{"uid":"c5e49757-5604"},{"uid":"c5e49757-5192"},{"uid":"c5e49757-6278"},{"uid":"c5e49757-6336"}]},"c5e49757-5192":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/focus-trap/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5193"},"imported":[{"uid":"c5e49757-5190"},{"uid":"c5e49757-5186"},{"uid":"c5e49757-5188"}],"importedBy":[{"uid":"c5e49757-5206"},{"uid":"c5e49757-5592"},{"uid":"c5e49757-5604"},{"uid":"c5e49757-5644"},{"uid":"c5e49757-5586"},{"uid":"c5e49757-6278"},{"uid":"c5e49757-6336"}]},"c5e49757-5194":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popper/src/content.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5195"},"imported":[{"uid":"c5e49757-98"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5080"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5206"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5212"}]},"c5e49757-5196":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popper/src/utils.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5197"},"imported":[{"uid":"c5e49757-4940"},{"uid":"c5e49757-5016"}],"importedBy":[{"uid":"c5e49757-5198"}]},"c5e49757-5198":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popper/src/composables/use-content.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5199"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5168"},{"uid":"c5e49757-5196"},{"uid":"c5e49757-5042"}],"importedBy":[{"uid":"c5e49757-5206"},{"uid":"c5e49757-5204"}]},"c5e49757-5200":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popper/src/composables/use-content-dom.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5201"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5066"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-5206"},{"uid":"c5e49757-5204"}]},"c5e49757-5202":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popper/src/composables/use-focus-trap.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5203"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-5206"},{"uid":"c5e49757-5204"}]},"c5e49757-5204":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popper/src/composables/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5205"},"imported":[{"uid":"c5e49757-5198"},{"uid":"c5e49757-5200"},{"uid":"c5e49757-5202"}],"importedBy":[{"uid":"c5e49757-5206"}]},"c5e49757-5206":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popper/src/content2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5207"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5192"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5168"},{"uid":"c5e49757-5194"},{"uid":"c5e49757-5204"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5202"},{"uid":"c5e49757-5198"},{"uid":"c5e49757-5200"},{"uid":"c5e49757-5118"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-5190"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5222"}]},"c5e49757-5208":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popper/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5209"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5172"},{"uid":"c5e49757-5176"},{"uid":"c5e49757-5184"},{"uid":"c5e49757-5206"},{"uid":"c5e49757-5170"},{"uid":"c5e49757-5182"},{"uid":"c5e49757-5194"},{"uid":"c5e49757-5174"},{"uid":"c5e49757-5168"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5216"},{"uid":"c5e49757-5214"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5224"},{"uid":"c5e49757-5220"},{"uid":"c5e49757-5222"}]},"c5e49757-5210":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5211"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5224"},{"uid":"c5e49757-5220"},{"uid":"c5e49757-5222"},{"uid":"c5e49757-5540"}]},"c5e49757-5212":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip/src/content.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5213"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5062"},{"uid":"c5e49757-5194"},{"uid":"c5e49757-5080"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5228"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-5488"},{"uid":"c5e49757-5632"},{"uid":"c5e49757-5774"},{"uid":"c5e49757-5216"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5780"},{"uid":"c5e49757-5744"},{"uid":"c5e49757-5842"},{"uid":"c5e49757-5222"}]},"c5e49757-5214":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip/src/trigger.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5215"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5182"},{"uid":"c5e49757-4982"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5632"},{"uid":"c5e49757-5216"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5780"},{"uid":"c5e49757-5220"}]},"c5e49757-5216":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip/src/tooltip.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5217"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-5214"},{"uid":"c5e49757-5036"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5170"},{"uid":"c5e49757-5174"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5224"}]},"c5e49757-5218":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip/src/utils.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5219"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5220"}]},"c5e49757-5220":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip/src/trigger2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5221"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5210"},{"uid":"c5e49757-5214"},{"uid":"c5e49757-5218"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4936"},{"uid":"c5e49757-5184"}],"importedBy":[{"uid":"c5e49757-5224"}]},"c5e49757-5222":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip/src/content2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5223"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5210"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5058"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4936"},{"uid":"c5e49757-5206"}],"importedBy":[{"uid":"c5e49757-5224"}]},"c5e49757-5224":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip/src/tooltip2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5225"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5210"},{"uid":"c5e49757-5216"},{"uid":"c5e49757-5220"},{"uid":"c5e49757-5222"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5058"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-5062"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-5176"}],"importedBy":[{"uid":"c5e49757-5226"}]},"c5e49757-5226":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5227"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5224"},{"uid":"c5e49757-5216"},{"uid":"c5e49757-5214"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-5210"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5228"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-5488"},{"uid":"c5e49757-5632"},{"uid":"c5e49757-5696"},{"uid":"c5e49757-5774"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5780"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5702"},{"uid":"c5e49757-5776"},{"uid":"c5e49757-5746"},{"uid":"c5e49757-5854"},{"uid":"c5e49757-5782"},{"uid":"c5e49757-5744"},{"uid":"c5e49757-5842"},{"uid":"c5e49757-5888"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5950"}]},"c5e49757-5228":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/autocomplete/src/autocomplete.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5229"},"imported":[{"uid":"c5e49757-3346"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-5080"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5232"},{"uid":"c5e49757-5230"}]},"c5e49757-5230":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/autocomplete/src/autocomplete2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5231"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5148"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5228"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5018"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-5232"}]},"c5e49757-5232":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/autocomplete/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5233"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5230"},{"uid":"c5e49757-5228"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5234":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/avatar/src/avatar.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5235"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4990"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4976"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5238"},{"uid":"c5e49757-5236"}]},"c5e49757-5236":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/avatar/src/avatar2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5237"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5234"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4958"}],"importedBy":[{"uid":"c5e49757-5238"}]},"c5e49757-5238":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/avatar/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5239"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5236"},{"uid":"c5e49757-5234"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5240":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/backtop/src/backtop.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5241"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5246"},{"uid":"c5e49757-5244"}]},"c5e49757-5242":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/backtop/src/use-backtop.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5243"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-5244"}]},"c5e49757-5244":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/backtop/src/backtop2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5245"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5240"},{"uid":"c5e49757-5242"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5246"}]},"c5e49757-5246":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/backtop/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5247"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5244"},{"uid":"c5e49757-5240"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5248":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/badge/src/badge.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5249"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5252"},{"uid":"c5e49757-5250"}]},"c5e49757-5250":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/badge/src/badge2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5251"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5248"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-5020"}],"importedBy":[{"uid":"c5e49757-5252"}]},"c5e49757-5252":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/badge/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5253"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5250"},{"uid":"c5e49757-5248"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-6330"}]},"c5e49757-5254":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/breadcrumb/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5255"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5264"},{"uid":"c5e49757-5258"},{"uid":"c5e49757-5262"}]},"c5e49757-5256":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/breadcrumb/src/breadcrumb.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5257"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4976"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5264"},{"uid":"c5e49757-5258"}]},"c5e49757-5258":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/breadcrumb/src/breadcrumb2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5259"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5254"},{"uid":"c5e49757-5256"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5264"}]},"c5e49757-5260":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/breadcrumb/src/breadcrumb-item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5261"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5264"},{"uid":"c5e49757-5262"}]},"c5e49757-5262":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/breadcrumb/src/breadcrumb-item2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5263"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5254"},{"uid":"c5e49757-5260"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5264"}]},"c5e49757-5264":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/breadcrumb/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5265"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5258"},{"uid":"c5e49757-5262"},{"uid":"c5e49757-5256"},{"uid":"c5e49757-5260"},{"uid":"c5e49757-5254"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5266":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/button/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5267"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5280"},{"uid":"c5e49757-5278"},{"uid":"c5e49757-5268"}]},"c5e49757-5268":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/button/src/use-button.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5269"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5092"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5266"},{"uid":"c5e49757-5020"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-5120"}],"importedBy":[{"uid":"c5e49757-5274"}]},"c5e49757-5270":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/button/src/button.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5271"},"imported":[{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-4976"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5280"},{"uid":"c5e49757-5774"},{"uid":"c5e49757-5274"},{"uid":"c5e49757-5276"}]},"c5e49757-5272":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/button/src/button-custom.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5273"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-702"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5274"}]},"c5e49757-5274":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/button/src/button2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5275"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5268"},{"uid":"c5e49757-5270"},{"uid":"c5e49757-5272"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5280"}]},"c5e49757-5276":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/button/src/button-group.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5277"},"imported":[{"uid":"c5e49757-5270"}],"importedBy":[{"uid":"c5e49757-5278"}]},"c5e49757-5278":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/button/src/button-group2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5279"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5276"},{"uid":"c5e49757-5266"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5280"}]},"c5e49757-5280":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/button/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5281"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5274"},{"uid":"c5e49757-5278"},{"uid":"c5e49757-5270"},{"uid":"c5e49757-5266"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5774"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5332"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5776"},{"uid":"c5e49757-6182"},{"uid":"c5e49757-6288"},{"uid":"c5e49757-6336"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"}]},"c5e49757-5282":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-picker/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5283"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5320"},{"uid":"c5e49757-5558"},{"uid":"c5e49757-5310"},{"uid":"c5e49757-5318"}]},"c5e49757-5284":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-picker/src/utils.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5285"},"imported":[{"uid":"c5e49757-312"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5320"},{"uid":"c5e49757-5296"},{"uid":"c5e49757-5310"},{"uid":"c5e49757-5322"},{"uid":"c5e49757-5324"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"},{"uid":"c5e49757-5534"},{"uid":"c5e49757-5538"}]},"c5e49757-5286":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-picker/src/props/shared.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5287"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5288"},{"uid":"c5e49757-5292"},{"uid":"c5e49757-5308"},{"uid":"c5e49757-5314"}]},"c5e49757-5288":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-picker/src/common/props.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5289"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5286"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5078"},{"uid":"c5e49757-5080"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5514"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5320"},{"uid":"c5e49757-5318"}]},"c5e49757-5290":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-picker/src/common/picker.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5291"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5148"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5284"},{"uid":"c5e49757-5288"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-5078"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5020"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5320"},{"uid":"c5e49757-5558"},{"uid":"c5e49757-5318"}]},"c5e49757-5292":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-picker/src/props/panel-time-picker.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5293"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5286"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5312"}]},"c5e49757-5294":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-picker/src/composables/use-time-panel.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5295"},"imported":[],"importedBy":[{"uid":"c5e49757-5312"},{"uid":"c5e49757-5316"}]},"c5e49757-5296":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-picker/src/composables/use-time-picker.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5297"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5284"}],"importedBy":[{"uid":"c5e49757-5312"},{"uid":"c5e49757-5310"},{"uid":"c5e49757-5316"}]},"c5e49757-5298":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/directives/click-outside/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5299"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5306"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5746"},{"uid":"c5e49757-5854"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"},{"uid":"c5e49757-5950"}]},"c5e49757-5300":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/directives/repeat-click/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5301"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5306"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5310"}]},"c5e49757-5302":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/directives/trap-focus/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5303"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-4934"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5306"},{"uid":"c5e49757-6336"}]},"c5e49757-5304":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/directives/mousewheel/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5305"},"imported":[{"uid":"c5e49757-2368"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5306"},{"uid":"c5e49757-5992"}]},"c5e49757-5306":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/directives/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5307"},"imported":[{"uid":"c5e49757-5298"},{"uid":"c5e49757-5300"},{"uid":"c5e49757-5302"},{"uid":"c5e49757-5304"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5746"},{"uid":"c5e49757-5854"},{"uid":"c5e49757-5992"},{"uid":"c5e49757-5310"},{"uid":"c5e49757-6336"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"},{"uid":"c5e49757-5950"}]},"c5e49757-5308":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-picker/src/props/basic-time-spinner.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5309"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5286"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5310"}]},"c5e49757-5310":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5311"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5306"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5282"},{"uid":"c5e49757-5284"},{"uid":"c5e49757-5308"},{"uid":"c5e49757-5296"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-5300"}],"importedBy":[{"uid":"c5e49757-5312"},{"uid":"c5e49757-5316"}]},"c5e49757-5312":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-picker/src/time-picker-com/panel-time-pick.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5313"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-312"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5292"},{"uid":"c5e49757-5294"},{"uid":"c5e49757-5296"},{"uid":"c5e49757-5310"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4982"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5320"},{"uid":"c5e49757-5318"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"}]},"c5e49757-5314":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-picker/src/props/panel-time-range.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5315"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5286"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5316"}]},"c5e49757-5316":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-picker/src/time-picker-com/panel-time-range.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5317"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-312"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5314"},{"uid":"c5e49757-5294"},{"uid":"c5e49757-5296"},{"uid":"c5e49757-5310"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5318"}]},"c5e49757-5318":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-picker/src/time-picker.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5319"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-312"},{"uid":"c5e49757-316"},{"uid":"c5e49757-5282"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5312"},{"uid":"c5e49757-5316"},{"uid":"c5e49757-5288"}],"importedBy":[{"uid":"c5e49757-5320"}]},"c5e49757-5320":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-picker/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5321"},"imported":[{"uid":"c5e49757-5318"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5312"},{"uid":"c5e49757-5284"},{"uid":"c5e49757-5282"},{"uid":"c5e49757-5288"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5514"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5558"},{"uid":"c5e49757-5322"},{"uid":"c5e49757-5324"},{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"},{"uid":"c5e49757-5534"},{"uid":"c5e49757-5538"}]},"c5e49757-5322":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/calendar/src/date-table.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5323"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5320"},{"uid":"c5e49757-5284"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5326"},{"uid":"c5e49757-5324"}]},"c5e49757-5324":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/calendar/src/use-date-table.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5325"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-312"},{"uid":"c5e49757-320"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5320"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5322"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5284"},{"uid":"c5e49757-4984"}],"importedBy":[{"uid":"c5e49757-5326"}]},"c5e49757-5326":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/calendar/src/date-table2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5327"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5322"},{"uid":"c5e49757-5324"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5332"}]},"c5e49757-5328":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/calendar/src/use-calendar.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5329"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-312"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-5332"}]},"c5e49757-5330":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/calendar/src/calendar.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5331"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5334"},{"uid":"c5e49757-5332"}]},"c5e49757-5332":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/calendar/src/calendar2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5333"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5280"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5326"},{"uid":"c5e49757-5328"},{"uid":"c5e49757-5330"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5028"}],"importedBy":[{"uid":"c5e49757-5334"}]},"c5e49757-5334":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/calendar/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5335"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5332"},{"uid":"c5e49757-5330"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5336":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/card/src/card.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5337"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5340"},{"uid":"c5e49757-5338"}]},"c5e49757-5338":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/card/src/card2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5339"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5336"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5340"}]},"c5e49757-5340":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/card/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5341"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5338"},{"uid":"c5e49757-5336"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5342":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/carousel/src/carousel.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5343"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5356"},{"uid":"c5e49757-5348"}]},"c5e49757-5344":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/carousel/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5345"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5356"},{"uid":"c5e49757-5346"},{"uid":"c5e49757-5352"}]},"c5e49757-5346":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/carousel/src/use-carousel.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5347"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5344"},{"uid":"c5e49757-5072"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-5000"}],"importedBy":[{"uid":"c5e49757-5348"}]},"c5e49757-5348":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/carousel/src/carousel2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5349"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5342"},{"uid":"c5e49757-5346"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5028"}],"importedBy":[{"uid":"c5e49757-5356"}]},"c5e49757-5350":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/carousel/src/carousel-item2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5351"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5356"},{"uid":"c5e49757-5354"}]},"c5e49757-5352":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/carousel/src/use-carousel-item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5353"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5344"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-5354"}]},"c5e49757-5354":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/carousel/src/carousel-item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5355"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5350"},{"uid":"c5e49757-5352"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5356"}]},"c5e49757-5356":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/carousel/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5357"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5348"},{"uid":"c5e49757-5354"},{"uid":"c5e49757-5342"},{"uid":"c5e49757-5350"},{"uid":"c5e49757-5344"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5358":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/checkbox/src/checkbox.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5359"},"imported":[{"uid":"c5e49757-4992"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5080"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5382"},{"uid":"c5e49757-5374"},{"uid":"c5e49757-5376"}]},"c5e49757-5360":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/checkbox/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5361"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5382"},{"uid":"c5e49757-5376"},{"uid":"c5e49757-5380"},{"uid":"c5e49757-5362"},{"uid":"c5e49757-5364"},{"uid":"c5e49757-5366"},{"uid":"c5e49757-5368"}]},"c5e49757-5362":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/checkbox/src/composables/use-checkbox-disabled.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5363"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5360"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-5120"}],"importedBy":[{"uid":"c5e49757-5372"},{"uid":"c5e49757-5370"}]},"c5e49757-5364":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/checkbox/src/composables/use-checkbox-event.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5365"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5360"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-5372"},{"uid":"c5e49757-5370"}]},"c5e49757-5366":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/checkbox/src/composables/use-checkbox-model.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5367"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5360"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-5372"},{"uid":"c5e49757-5370"}]},"c5e49757-5368":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/checkbox/src/composables/use-checkbox-status.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5369"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5360"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-5120"}],"importedBy":[{"uid":"c5e49757-5372"},{"uid":"c5e49757-5370"}]},"c5e49757-5370":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/checkbox/src/composables/use-checkbox.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5371"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5362"},{"uid":"c5e49757-5364"},{"uid":"c5e49757-5366"},{"uid":"c5e49757-5368"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-5020"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-5374"},{"uid":"c5e49757-5376"},{"uid":"c5e49757-5372"}]},"c5e49757-5372":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/checkbox/src/composables/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5373"},"imported":[{"uid":"c5e49757-5362"},{"uid":"c5e49757-5364"},{"uid":"c5e49757-5366"},{"uid":"c5e49757-5368"},{"uid":"c5e49757-5370"}],"importedBy":[{"uid":"c5e49757-5374"},{"uid":"c5e49757-5376"}]},"c5e49757-5374":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/checkbox/src/checkbox2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5375"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5358"},{"uid":"c5e49757-5372"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5370"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5382"}]},"c5e49757-5376":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/checkbox/src/checkbox-button.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5377"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5360"},{"uid":"c5e49757-5372"},{"uid":"c5e49757-5358"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5370"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5382"}]},"c5e49757-5378":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/checkbox/src/checkbox-group.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5379"},"imported":[{"uid":"c5e49757-4992"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5080"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5382"},{"uid":"c5e49757-5380"}]},"c5e49757-5380":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/checkbox/src/checkbox-group2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5381"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5378"},{"uid":"c5e49757-5360"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-5020"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-5382"}]},"c5e49757-5382":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/checkbox/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5383"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5374"},{"uid":"c5e49757-5376"},{"uid":"c5e49757-5380"},{"uid":"c5e49757-5378"},{"uid":"c5e49757-5358"},{"uid":"c5e49757-5360"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-6002"},{"uid":"c5e49757-5962"},{"uid":"c5e49757-5994"},{"uid":"c5e49757-6180"},{"uid":"c5e49757-6198"},{"uid":"c5e49757-6230"},{"uid":"c5e49757-5406"},{"uid":"c5e49757-5950"}]},"c5e49757-5384":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/radio/src/radio.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5385"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5396"},{"uid":"c5e49757-5392"},{"uid":"c5e49757-5400"},{"uid":"c5e49757-5390"}]},"c5e49757-5386":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/radio/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5387"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5400"},{"uid":"c5e49757-5398"},{"uid":"c5e49757-5388"}]},"c5e49757-5388":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/radio/src/use-radio.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5389"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5386"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5020"}],"importedBy":[{"uid":"c5e49757-5390"},{"uid":"c5e49757-5394"}]},"c5e49757-5390":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/radio/src/radio2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5391"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5384"},{"uid":"c5e49757-5388"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5400"}]},"c5e49757-5392":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/radio/src/radio-button.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5393"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5384"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5400"},{"uid":"c5e49757-5394"}]},"c5e49757-5394":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/radio/src/radio-button2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5395"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5388"},{"uid":"c5e49757-5392"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5400"}]},"c5e49757-5396":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/radio/src/radio-group.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5397"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5384"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5080"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5400"},{"uid":"c5e49757-5398"}]},"c5e49757-5398":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/radio/src/radio-group2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5399"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5396"},{"uid":"c5e49757-5386"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-5020"}],"importedBy":[{"uid":"c5e49757-5400"}]},"c5e49757-5400":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/radio/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5401"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5390"},{"uid":"c5e49757-5394"},{"uid":"c5e49757-5398"},{"uid":"c5e49757-5384"},{"uid":"c5e49757-5396"},{"uid":"c5e49757-5392"},{"uid":"c5e49757-5386"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5406"}]},"c5e49757-5402":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/cascader-panel/src/node-content.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5403"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5406"}]},"c5e49757-5404":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/cascader-panel/src/types.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5405"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5422"},{"uid":"c5e49757-5418"},{"uid":"c5e49757-5408"},{"uid":"c5e49757-5406"}]},"c5e49757-5406":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/cascader-panel/src/node.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5407"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5382"},{"uid":"c5e49757-5400"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5402"},{"uid":"c5e49757-5404"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5408"}]},"c5e49757-5408":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/cascader-panel/src/menu.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5409"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5406"},{"uid":"c5e49757-5404"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5054"}],"importedBy":[{"uid":"c5e49757-5418"}]},"c5e49757-5410":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/cascader-panel/src/node2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5411"},"imported":[{"uid":"c5e49757-3346"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4952"}],"importedBy":[{"uid":"c5e49757-5418"},{"uid":"c5e49757-5412"}]},"c5e49757-5412":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/cascader-panel/src/store.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5413"},"imported":[{"uid":"c5e49757-2"},{"uid":"c5e49757-5410"}],"importedBy":[{"uid":"c5e49757-5418"}]},"c5e49757-5414":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/cascader-panel/src/config.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5415"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-5422"},{"uid":"c5e49757-5418"}]},"c5e49757-5416":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/cascader-panel/src/utils.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5417"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4934"}],"importedBy":[{"uid":"c5e49757-5418"}]},"c5e49757-5418":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/cascader-panel/src/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5419"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5408"},{"uid":"c5e49757-5412"},{"uid":"c5e49757-5410"},{"uid":"c5e49757-5414"},{"uid":"c5e49757-5416"},{"uid":"c5e49757-5404"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-5004"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-4960"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-4934"}],"importedBy":[{"uid":"c5e49757-5422"}]},"c5e49757-5420":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/cascader-panel/src/instance.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5421"},"imported":[],"importedBy":[{"uid":"c5e49757-5422"}]},"c5e49757-5422":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/cascader-panel/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5423"},"imported":[{"uid":"c5e49757-5418"},{"uid":"c5e49757-5404"},{"uid":"c5e49757-5414"},{"uid":"c5e49757-5420"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5432"}]},"c5e49757-5424":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tag/src/tag.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5425"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4990"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-5428"},{"uid":"c5e49757-5426"},{"uid":"c5e49757-5744"},{"uid":"c5e49757-5842"}]},"c5e49757-5426":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tag/src/tag2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5427"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5424"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5428"}]},"c5e49757-5428":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tag/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5429"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5426"},{"uid":"c5e49757-5424"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5432"},{"uid":"c5e49757-5746"},{"uid":"c5e49757-5854"},{"uid":"c5e49757-5744"},{"uid":"c5e49757-5842"}]},"c5e49757-5430":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/cascader/src/cascader.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5431"},"imported":[{"uid":"c5e49757-5422"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5428"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5414"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-5424"},{"uid":"c5e49757-5078"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5436"},{"uid":"c5e49757-5432"}]},"c5e49757-5432":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/cascader/src/cascader2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5433"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-2"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5422"},{"uid":"c5e49757-5148"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5428"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5306"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-5078"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-5008"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-4934"},{"uid":"c5e49757-5298"}],"importedBy":[{"uid":"c5e49757-5436"}]},"c5e49757-5434":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/cascader/src/instances.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5435"},"imported":[],"importedBy":[{"uid":"c5e49757-5436"}]},"c5e49757-5436":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/cascader/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5437"},"imported":[{"uid":"c5e49757-5432"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-5434"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5438":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/check-tag/src/check-tag.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5439"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5442"},{"uid":"c5e49757-5440"}]},"c5e49757-5440":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/check-tag/src/check-tag2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5441"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5438"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-5442"}]},"c5e49757-5442":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/check-tag/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5443"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5440"},{"uid":"c5e49757-5438"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5444":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/row/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5445"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5450"},{"uid":"c5e49757-5454"},{"uid":"c5e49757-5448"}]},"c5e49757-5446":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/row/src/row.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5447"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5450"},{"uid":"c5e49757-5448"}]},"c5e49757-5448":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/row/src/row2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5449"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5444"},{"uid":"c5e49757-5446"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5450"}]},"c5e49757-5450":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/row/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5451"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5448"},{"uid":"c5e49757-5446"},{"uid":"c5e49757-5444"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5454"}]},"c5e49757-5452":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/col/src/col.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5453"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5012"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5456"},{"uid":"c5e49757-5454"}]},"c5e49757-5454":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/col/src/col2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5455"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5450"},{"uid":"c5e49757-5452"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5444"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5456"}]},"c5e49757-5456":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/col/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5457"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5454"},{"uid":"c5e49757-5452"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5458":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/collapse/src/collapse2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5459"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5012"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5476"},{"uid":"c5e49757-5464"}]},"c5e49757-5460":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/collapse/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5461"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5476"},{"uid":"c5e49757-5462"},{"uid":"c5e49757-5472"}]},"c5e49757-5462":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/collapse/src/use-collapse.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5463"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5460"},{"uid":"c5e49757-2"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5464"}]},"c5e49757-5464":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/collapse/src/collapse.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5465"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5458"},{"uid":"c5e49757-5462"},{"uid":"c5e49757-5100"}],"importedBy":[{"uid":"c5e49757-5476"}]},"c5e49757-5466":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/collapse-transition/src/collapse-transition.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5467"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5468"}]},"c5e49757-5468":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/collapse-transition/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5469"},"imported":[{"uid":"c5e49757-5466"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5696"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5474"},{"uid":"c5e49757-6198"}]},"c5e49757-5470":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/collapse/src/collapse-item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5471"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5476"},{"uid":"c5e49757-5474"}]},"c5e49757-5472":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/collapse/src/use-collapse-item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5473"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5460"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5054"}],"importedBy":[{"uid":"c5e49757-5474"}]},"c5e49757-5474":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/collapse/src/collapse-item2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5475"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5468"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5470"},{"uid":"c5e49757-5472"},{"uid":"c5e49757-5100"}],"importedBy":[{"uid":"c5e49757-5476"}]},"c5e49757-5476":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/collapse/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5477"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5464"},{"uid":"c5e49757-5474"},{"uid":"c5e49757-5458"},{"uid":"c5e49757-5470"},{"uid":"c5e49757-5460"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5478":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/color-picker/src/props/alpha-slider.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5479"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5484"}]},"c5e49757-5480":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/color-picker/src/utils/draggable.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5481"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4940"}],"importedBy":[{"uid":"c5e49757-5486"},{"uid":"c5e49757-5494"},{"uid":"c5e49757-5482"}]},"c5e49757-5482":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/color-picker/src/composables/use-alpha-slider.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5483"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5480"},{"uid":"c5e49757-4944"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4958"}],"importedBy":[{"uid":"c5e49757-5484"}]},"c5e49757-5484":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/color-picker/src/components/alpha-slider.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5485"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5478"},{"uid":"c5e49757-5482"},{"uid":"c5e49757-5100"}],"importedBy":[{"uid":"c5e49757-5496"}]},"c5e49757-5486":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/color-picker/src/components/hue-slider.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5487"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5480"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4944"}],"importedBy":[{"uid":"c5e49757-5496"}]},"c5e49757-5488":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/color-picker/src/color-picker.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5489"},"imported":[{"uid":"c5e49757-2"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-5080"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5498"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5492"}]},"c5e49757-5490":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/color-picker/src/utils/color.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5491"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5496"},{"uid":"c5e49757-5492"}]},"c5e49757-5492":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/color-picker/src/components/predefine.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5493"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5488"},{"uid":"c5e49757-5490"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5496"}]},"c5e49757-5494":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/color-picker/src/components/sv-panel.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5495"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5480"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4944"}],"importedBy":[{"uid":"c5e49757-5496"}]},"c5e49757-5496":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/color-picker/src/color-picker2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5497"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5280"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5306"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5148"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5484"},{"uid":"c5e49757-5486"},{"uid":"c5e49757-5492"},{"uid":"c5e49757-5494"},{"uid":"c5e49757-5490"},{"uid":"c5e49757-5488"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5076"},{"uid":"c5e49757-5020"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-5298"}],"importedBy":[{"uid":"c5e49757-5498"}]},"c5e49757-5498":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/color-picker/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5499"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5496"},{"uid":"c5e49757-5488"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5500":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/container/src/container.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5501"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5510"}]},"c5e49757-5502":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/container/src/aside.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5503"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5510"}]},"c5e49757-5504":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/container/src/footer.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5505"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5510"}]},"c5e49757-5506":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/container/src/header.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5507"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5510"}]},"c5e49757-5508":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/container/src/main.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5509"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5510"}]},"c5e49757-5510":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/container/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5511"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5500"},{"uid":"c5e49757-5502"},{"uid":"c5e49757-5504"},{"uid":"c5e49757-5506"},{"uid":"c5e49757-5508"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5512":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5513"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5560"},{"uid":"c5e49757-5558"},{"uid":"c5e49757-5546"},{"uid":"c5e49757-5528"}]},"c5e49757-5514":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/props/date-picker.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5515"},"imported":[{"uid":"c5e49757-5320"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5288"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5560"},{"uid":"c5e49757-5558"}]},"c5e49757-5516":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/props/shared.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5517"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4984"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5518"},{"uid":"c5e49757-5542"},{"uid":"c5e49757-5550"},{"uid":"c5e49757-5520"},{"uid":"c5e49757-5532"},{"uid":"c5e49757-5536"}]},"c5e49757-5518":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/props/panel-date-pick.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5519"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5516"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5540"}]},"c5e49757-5520":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/props/basic-date-table.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5521"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5516"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5530"}]},"c5e49757-5522":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/utils.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5523"},"imported":[{"uid":"c5e49757-312"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5548"},{"uid":"c5e49757-5546"},{"uid":"c5e49757-5524"}]},"c5e49757-5524":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/composables/use-basic-date-table.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5525"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-312"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5522"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5004"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5530"}]},"c5e49757-5526":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/props/basic-cell.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5527"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5528"}]},"c5e49757-5528":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/date-picker-com/basic-cell-render.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5529"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5512"},{"uid":"c5e49757-5526"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5530"}]},"c5e49757-5530":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/date-picker-com/basic-date-table.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5531"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5520"},{"uid":"c5e49757-5524"},{"uid":"c5e49757-5528"},{"uid":"c5e49757-5100"}],"importedBy":[{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"}]},"c5e49757-5532":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/props/basic-month-table.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5533"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5516"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5534"}]},"c5e49757-5534":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/date-picker-com/basic-month-table.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5535"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-312"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5320"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5532"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5284"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5004"},{"uid":"c5e49757-4958"}],"importedBy":[{"uid":"c5e49757-5540"},{"uid":"c5e49757-5554"}]},"c5e49757-5536":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/props/basic-year-table.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5537"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5516"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5538"}]},"c5e49757-5538":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/date-picker-com/basic-year-table.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5539"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-312"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5320"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5536"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5284"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5004"},{"uid":"c5e49757-4958"}],"importedBy":[{"uid":"c5e49757-5540"}]},"c5e49757-5540":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5541"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-312"},{"uid":"c5e49757-5280"},{"uid":"c5e49757-5306"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5148"},{"uid":"c5e49757-5320"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5518"},{"uid":"c5e49757-5530"},{"uid":"c5e49757-5534"},{"uid":"c5e49757-5538"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5210"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-5284"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-5312"},{"uid":"c5e49757-5298"}],"importedBy":[{"uid":"c5e49757-5556"}]},"c5e49757-5542":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/props/panel-date-range.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5543"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5516"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5548"}]},"c5e49757-5544":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/composables/use-shortcut.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5545"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-312"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5546"}]},"c5e49757-5546":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/composables/use-range-picker.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5547"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5522"},{"uid":"c5e49757-5512"},{"uid":"c5e49757-5544"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5548"},{"uid":"c5e49757-5554"}]},"c5e49757-5548":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/date-picker-com/panel-date-range.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5549"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-312"},{"uid":"c5e49757-5306"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5280"},{"uid":"c5e49757-5148"},{"uid":"c5e49757-5320"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5542"},{"uid":"c5e49757-5546"},{"uid":"c5e49757-5522"},{"uid":"c5e49757-5530"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5284"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-5312"},{"uid":"c5e49757-5298"}],"importedBy":[{"uid":"c5e49757-5556"}]},"c5e49757-5550":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/props/panel-month-range.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5551"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5516"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5554"}]},"c5e49757-5552":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/composables/use-month-range-header.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5553"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5028"}],"importedBy":[{"uid":"c5e49757-5554"}]},"c5e49757-5554":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/date-picker-com/panel-month-range.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5555"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-312"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5550"},{"uid":"c5e49757-5552"},{"uid":"c5e49757-5546"},{"uid":"c5e49757-5534"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"}],"importedBy":[{"uid":"c5e49757-5556"}]},"c5e49757-5556":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/panel-utils.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5557"},"imported":[{"uid":"c5e49757-5540"},{"uid":"c5e49757-5548"},{"uid":"c5e49757-5554"}],"importedBy":[{"uid":"c5e49757-5558"}]},"c5e49757-5558":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/src/date-picker.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5559"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-312"},{"uid":"c5e49757-316"},{"uid":"c5e49757-324"},{"uid":"c5e49757-320"},{"uid":"c5e49757-328"},{"uid":"c5e49757-332"},{"uid":"c5e49757-336"},{"uid":"c5e49757-340"},{"uid":"c5e49757-344"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5320"},{"uid":"c5e49757-5512"},{"uid":"c5e49757-5514"},{"uid":"c5e49757-5556"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5282"},{"uid":"c5e49757-5290"}],"importedBy":[{"uid":"c5e49757-5560"}]},"c5e49757-5560":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/date-picker/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5561"},"imported":[{"uid":"c5e49757-5558"},{"uid":"c5e49757-5512"},{"uid":"c5e49757-5514"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5562":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/descriptions/src/token.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5563"},"imported":[],"importedBy":[{"uid":"c5e49757-5572"},{"uid":"c5e49757-5568"},{"uid":"c5e49757-5564"}]},"c5e49757-5564":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/descriptions/src/descriptions-cell.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5565"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5562"},{"uid":"c5e49757-5000"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5568"}]},"c5e49757-5566":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/descriptions/src/descriptions-row.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5567"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5568"}]},"c5e49757-5568":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/descriptions/src/descriptions-row2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5569"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5564"},{"uid":"c5e49757-5562"},{"uid":"c5e49757-5566"},{"uid":"c5e49757-5100"}],"importedBy":[{"uid":"c5e49757-5572"}]},"c5e49757-5570":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/descriptions/src/description.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5571"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5074"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5576"},{"uid":"c5e49757-5572"}]},"c5e49757-5572":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/descriptions/src/description2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5573"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5568"},{"uid":"c5e49757-5562"},{"uid":"c5e49757-5570"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5000"}],"importedBy":[{"uid":"c5e49757-5576"}]},"c5e49757-5574":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/descriptions/src/description-item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5575"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5576"}]},"c5e49757-5576":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/descriptions/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5577"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5572"},{"uid":"c5e49757-5574"},{"uid":"c5e49757-5570"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5578":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/overlay/src/overlay.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5579"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5044"},{"uid":"c5e49757-5000"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5580"}]},"c5e49757-5580":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/overlay/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5581"},"imported":[{"uid":"c5e49757-5578"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5592"},{"uid":"c5e49757-5604"},{"uid":"c5e49757-6336"}]},"c5e49757-5582":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/dialog/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5583"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5594"},{"uid":"c5e49757-5592"},{"uid":"c5e49757-5586"}]},"c5e49757-5584":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/dialog/src/dialog-content.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5585"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4976"}],"importedBy":[{"uid":"c5e49757-5588"},{"uid":"c5e49757-5586"}]},"c5e49757-5586":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/dialog/src/dialog-content2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5587"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5192"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5582"},{"uid":"c5e49757-5584"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-5186"},{"uid":"c5e49757-4980"},{"uid":"c5e49757-5022"}],"importedBy":[{"uid":"c5e49757-5592"}]},"c5e49757-5588":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/dialog/src/dialog.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5589"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5584"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5594"},{"uid":"c5e49757-5602"},{"uid":"c5e49757-5592"}]},"c5e49757-5590":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/dialog/src/use-dialog.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5591"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5092"},{"uid":"c5e49757-5066"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-5032"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5594"},{"uid":"c5e49757-5592"},{"uid":"c5e49757-5604"}]},"c5e49757-5592":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/dialog/src/dialog2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5593"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5580"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5192"},{"uid":"c5e49757-5586"},{"uid":"c5e49757-5582"},{"uid":"c5e49757-5588"},{"uid":"c5e49757-5590"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5020"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5044"},{"uid":"c5e49757-5190"}],"importedBy":[{"uid":"c5e49757-5594"}]},"c5e49757-5594":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/dialog/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5595"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5592"},{"uid":"c5e49757-5590"},{"uid":"c5e49757-5588"},{"uid":"c5e49757-5582"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5602"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5604"}]},"c5e49757-5596":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/divider/src/divider.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5597"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5600"},{"uid":"c5e49757-5598"}]},"c5e49757-5598":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/divider/src/divider2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5599"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5596"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5600"}]},"c5e49757-5600":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/divider/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5601"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5598"},{"uid":"c5e49757-5596"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5716"}]},"c5e49757-5602":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/drawer/src/drawer.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5603"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5594"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5588"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5606"},{"uid":"c5e49757-5604"}]},"c5e49757-5604":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/drawer/src/drawer2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5605"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5580"},{"uid":"c5e49757-5192"},{"uid":"c5e49757-5594"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5602"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5020"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5590"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-5190"}],"importedBy":[{"uid":"c5e49757-5606"}]},"c5e49757-5606":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/drawer/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5607"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5604"},{"uid":"c5e49757-5602"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5608":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/collection/src/collection2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5609"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5100"}],"importedBy":[{"uid":"c5e49757-5612"}]},"c5e49757-5610":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/collection/src/collection-item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5611"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5100"}],"importedBy":[{"uid":"c5e49757-5612"}]},"c5e49757-5612":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/collection/src/collection.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5613"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5608"},{"uid":"c5e49757-5610"}],"importedBy":[{"uid":"c5e49757-5632"},{"uid":"c5e49757-5616"},{"uid":"c5e49757-5638"},{"uid":"c5e49757-5618"}]},"c5e49757-5614":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/collection/src/tokens.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5615"},"imported":[],"importedBy":[{"uid":"c5e49757-5616"}]},"c5e49757-5616":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/collection/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5617"},"imported":[{"uid":"c5e49757-5612"},{"uid":"c5e49757-5614"}],"importedBy":[{"uid":"c5e49757-5632"},{"uid":"c5e49757-5638"},{"uid":"c5e49757-5618"}]},"c5e49757-5618":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/roving-focus-group/src/roving-focus-group.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5619"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5616"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5612"}],"importedBy":[{"uid":"c5e49757-5644"},{"uid":"c5e49757-5630"},{"uid":"c5e49757-5626"},{"uid":"c5e49757-5638"},{"uid":"c5e49757-5628"},{"uid":"c5e49757-5624"}]},"c5e49757-5620":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/roving-focus-group/src/tokens.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5621"},"imported":[],"importedBy":[{"uid":"c5e49757-5644"},{"uid":"c5e49757-5630"},{"uid":"c5e49757-5638"},{"uid":"c5e49757-5628"},{"uid":"c5e49757-5624"}]},"c5e49757-5622":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/roving-focus-group/src/utils.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5623"},"imported":[{"uid":"c5e49757-4992"},{"uid":"c5e49757-4982"}],"importedBy":[{"uid":"c5e49757-5644"},{"uid":"c5e49757-5630"},{"uid":"c5e49757-5628"},{"uid":"c5e49757-5624"}]},"c5e49757-5624":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/roving-focus-group/src/roving-focus-group-impl.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5625"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5618"},{"uid":"c5e49757-5620"},{"uid":"c5e49757-5622"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-4936"}],"importedBy":[{"uid":"c5e49757-5626"}]},"c5e49757-5626":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/roving-focus-group/src/roving-focus-group2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5627"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5624"},{"uid":"c5e49757-5618"},{"uid":"c5e49757-5100"}],"importedBy":[{"uid":"c5e49757-5636"},{"uid":"c5e49757-5630"}]},"c5e49757-5628":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/roving-focus-group/src/roving-focus-item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5629"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5618"},{"uid":"c5e49757-5620"},{"uid":"c5e49757-5622"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-4936"},{"uid":"c5e49757-4982"}],"importedBy":[{"uid":"c5e49757-5642"},{"uid":"c5e49757-5630"}]},"c5e49757-5630":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/roving-focus-group/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5631"},"imported":[{"uid":"c5e49757-5626"},{"uid":"c5e49757-5628"},{"uid":"c5e49757-5620"},{"uid":"c5e49757-5622"},{"uid":"c5e49757-5618"}],"importedBy":[{"uid":"c5e49757-5636"},{"uid":"c5e49757-5642"},{"uid":"c5e49757-5644"},{"uid":"c5e49757-5638"}]},"c5e49757-5632":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/dropdown/src/dropdown.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5633"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5616"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5214"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-5612"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5648"},{"uid":"c5e49757-5780"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5642"},{"uid":"c5e49757-5644"},{"uid":"c5e49757-5638"}]},"c5e49757-5634":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/dropdown/src/tokens.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5635"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5648"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5642"},{"uid":"c5e49757-5644"},{"uid":"c5e49757-5638"}]},"c5e49757-5636":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/dropdown/src/dropdown2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5637"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5280"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5630"},{"uid":"c5e49757-5180"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5632"},{"uid":"c5e49757-5634"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5626"},{"uid":"c5e49757-5178"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-5120"}],"importedBy":[{"uid":"c5e49757-5648"}]},"c5e49757-5638":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/dropdown/src/dropdown-item-impl.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5639"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5630"},{"uid":"c5e49757-5616"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5632"},{"uid":"c5e49757-5634"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5618"},{"uid":"c5e49757-5620"},{"uid":"c5e49757-4980"},{"uid":"c5e49757-4936"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-5612"}],"importedBy":[{"uid":"c5e49757-5642"}]},"c5e49757-5640":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/dropdown/src/useDropdown.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5641"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-4958"}],"importedBy":[{"uid":"c5e49757-5642"},{"uid":"c5e49757-5644"}]},"c5e49757-5642":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/dropdown/src/dropdown-item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5643"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5630"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5638"},{"uid":"c5e49757-5640"},{"uid":"c5e49757-5632"},{"uid":"c5e49757-5634"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5628"},{"uid":"c5e49757-4936"}],"importedBy":[{"uid":"c5e49757-5648"}]},"c5e49757-5644":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/dropdown/src/dropdown-menu.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5645"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5192"},{"uid":"c5e49757-5630"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5634"},{"uid":"c5e49757-5632"},{"uid":"c5e49757-5640"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5186"},{"uid":"c5e49757-5620"},{"uid":"c5e49757-5618"},{"uid":"c5e49757-4980"},{"uid":"c5e49757-4936"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-5622"}],"importedBy":[{"uid":"c5e49757-5648"}]},"c5e49757-5646":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/dropdown/src/instance.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5647"},"imported":[],"importedBy":[{"uid":"c5e49757-5648"}]},"c5e49757-5648":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/dropdown/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5649"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5636"},{"uid":"c5e49757-5642"},{"uid":"c5e49757-5644"},{"uid":"c5e49757-5632"},{"uid":"c5e49757-5646"},{"uid":"c5e49757-5634"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5780"},{"uid":"c5e49757-6310"}]},"c5e49757-5650":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/empty/src/img-empty.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5651"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5054"}],"importedBy":[{"uid":"c5e49757-5654"}]},"c5e49757-5652":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/empty/src/empty.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5653"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5656"},{"uid":"c5e49757-5654"}]},"c5e49757-5654":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/empty/src/empty2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5655"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5650"},{"uid":"c5e49757-5652"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4958"}],"importedBy":[{"uid":"c5e49757-5656"}]},"c5e49757-5656":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/empty/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5657"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5654"},{"uid":"c5e49757-5652"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-6080"}]},"c5e49757-5658":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/image-viewer/src/image-viewer.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5659"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5012"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5662"},{"uid":"c5e49757-5660"}]},"c5e49757-5660":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/image-viewer/src/image-viewer2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5661"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5658"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5066"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-4954"}],"importedBy":[{"uid":"c5e49757-5662"}]},"c5e49757-5662":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/image-viewer/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5663"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5660"},{"uid":"c5e49757-5658"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5666"}]},"c5e49757-5664":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/image/src/image.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5665"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5012"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5668"},{"uid":"c5e49757-5666"}]},"c5e49757-5666":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/image/src/image2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5667"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5662"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5664"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5018"},{"uid":"c5e49757-4944"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4960"}],"importedBy":[{"uid":"c5e49757-5668"}]},"c5e49757-5668":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/image/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5669"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5666"},{"uid":"c5e49757-5664"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5670":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/input-number/src/input-number.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5671"},"imported":[{"uid":"c5e49757-2"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-5080"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5674"},{"uid":"c5e49757-5672"}]},"c5e49757-5672":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/input-number/src/input-number2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5673"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5148"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5306"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5670"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-5020"},{"uid":"c5e49757-5300"}],"importedBy":[{"uid":"c5e49757-5674"}]},"c5e49757-5674":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/input-number/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5675"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5672"},{"uid":"c5e49757-5670"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5892"}]},"c5e49757-5676":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/link/src/link.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5677"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4976"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5680"},{"uid":"c5e49757-5678"}]},"c5e49757-5678":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/link/src/link2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5679"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5676"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5680"}]},"c5e49757-5680":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/link/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5681"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5678"},{"uid":"c5e49757-5676"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5682":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/menu/src/utils/submenu.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5683"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-4934"}],"importedBy":[{"uid":"c5e49757-5684"}]},"c5e49757-5684":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/menu/src/utils/menu-item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5685"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5682"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-4934"}],"importedBy":[{"uid":"c5e49757-5686"}]},"c5e49757-5686":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/menu/src/utils/menu-bar.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5687"},"imported":[{"uid":"c5e49757-5684"}],"importedBy":[{"uid":"c5e49757-5698"}]},"c5e49757-5688":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/menu/src/menu-collapse-transition.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5689"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4958"}],"importedBy":[{"uid":"c5e49757-5698"}]},"c5e49757-5690":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/menu/src/use-menu.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5691"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-5696"},{"uid":"c5e49757-5702"}]},"c5e49757-5692":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/menu/src/use-menu-color.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5693"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-702"}],"importedBy":[{"uid":"c5e49757-5694"}]},"c5e49757-5694":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/menu/src/use-menu-css-var.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5695"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5692"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5698"},{"uid":"c5e49757-5696"}]},"c5e49757-5696":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/menu/src/sub-menu.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5697"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5468"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5690"},{"uid":"c5e49757-5694"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5712"}]},"c5e49757-5698":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/menu/src/menu.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5699"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5306"},{"uid":"c5e49757-5686"},{"uid":"c5e49757-5688"},{"uid":"c5e49757-5696"},{"uid":"c5e49757-5694"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5012"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5000"},{"uid":"c5e49757-5298"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5712"}]},"c5e49757-5700":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/menu/src/menu-item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5701"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5712"},{"uid":"c5e49757-5702"}]},"c5e49757-5702":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/menu/src/menu-item2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5703"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5690"},{"uid":"c5e49757-5700"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-5712"}]},"c5e49757-5704":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/menu/src/menu-item-group.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5705"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5712"},{"uid":"c5e49757-5706"}]},"c5e49757-5706":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/menu/src/menu-item-group2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5707"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5704"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5712"}]},"c5e49757-5708":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/menu/src/types.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5709"},"imported":[],"importedBy":[{"uid":"c5e49757-5712"}]},"c5e49757-5710":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/menu/src/instance.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5711"},"imported":[],"importedBy":[{"uid":"c5e49757-5712"}]},"c5e49757-5712":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/menu/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5713"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5702"},{"uid":"c5e49757-5706"},{"uid":"c5e49757-5696"},{"uid":"c5e49757-5700"},{"uid":"c5e49757-5704"},{"uid":"c5e49757-5708"},{"uid":"c5e49757-5710"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5714":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/page-header/src/page-header.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5715"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4976"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5718"},{"uid":"c5e49757-5716"}]},"c5e49757-5716":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/page-header/src/page-header2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5717"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5600"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5714"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5718"}]},"c5e49757-5718":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/page-header/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5719"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5716"},{"uid":"c5e49757-5714"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5720":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/pagination/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5721"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5770"},{"uid":"c5e49757-5772"},{"uid":"c5e49757-5752"}]},"c5e49757-5722":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/pagination/src/components/prev.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5723"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4976"}],"importedBy":[{"uid":"c5e49757-5724"}]},"c5e49757-5724":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/pagination/src/components/prev2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5725"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5722"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"}],"importedBy":[{"uid":"c5e49757-5770"}]},"c5e49757-5726":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/pagination/src/components/next.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5727"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4976"}],"importedBy":[{"uid":"c5e49757-5728"}]},"c5e49757-5728":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/pagination/src/components/next2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5729"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5726"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"}],"importedBy":[{"uid":"c5e49757-5770"}]},"c5e49757-5730":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select/src/token.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5731"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5750"},{"uid":"c5e49757-5746"},{"uid":"c5e49757-5748"},{"uid":"c5e49757-5736"},{"uid":"c5e49757-5742"},{"uid":"c5e49757-5732"},{"uid":"c5e49757-6214"}]},"c5e49757-5732":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select/src/useOption.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5733"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5730"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4952"}],"importedBy":[{"uid":"c5e49757-5734"}]},"c5e49757-5734":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select/src/option.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5735"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5732"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5054"}],"importedBy":[{"uid":"c5e49757-5750"},{"uid":"c5e49757-5746"}]},"c5e49757-5736":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select/src/select-dropdown.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5737"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5730"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5746"}]},"c5e49757-5738":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select-v2/src/useInput.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5739"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5008"}],"importedBy":[{"uid":"c5e49757-5740"},{"uid":"c5e49757-5852"}]},"c5e49757-5740":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select/src/useSelect.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5741"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-2"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5738"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5076"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-5078"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-4960"}],"importedBy":[{"uid":"c5e49757-5746"}]},"c5e49757-5742":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select/src/options.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5743"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5730"}],"importedBy":[{"uid":"c5e49757-5746"}]},"c5e49757-5744":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select/src/select.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5745"},"imported":[{"uid":"c5e49757-98"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5428"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-5424"},{"uid":"c5e49757-5078"},{"uid":"c5e49757-5080"}],"importedBy":[{"uid":"c5e49757-5746"}]},"c5e49757-5746":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select/src/select2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5747"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5306"},{"uid":"c5e49757-5148"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5428"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5734"},{"uid":"c5e49757-5736"},{"uid":"c5e49757-5740"},{"uid":"c5e49757-5730"},{"uid":"c5e49757-5742"},{"uid":"c5e49757-5744"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5298"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-5750"}]},"c5e49757-5748":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select/src/option-group.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5749"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5730"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-2"}],"importedBy":[{"uid":"c5e49757-5750"}]},"c5e49757-5750":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5751"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5746"},{"uid":"c5e49757-5734"},{"uid":"c5e49757-5748"},{"uid":"c5e49757-5730"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5756"},{"uid":"c5e49757-6118"},{"uid":"c5e49757-6216"},{"uid":"c5e49757-6206"},{"uid":"c5e49757-6214"},{"uid":"c5e49757-6208"}]},"c5e49757-5752":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/pagination/src/usePagination.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5753"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5720"}],"importedBy":[{"uid":"c5e49757-5756"},{"uid":"c5e49757-5760"},{"uid":"c5e49757-5764"}]},"c5e49757-5754":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/pagination/src/components/sizes.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5755"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5012"},{"uid":"c5e49757-4990"}],"importedBy":[{"uid":"c5e49757-5756"}]},"c5e49757-5756":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/pagination/src/components/sizes2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5757"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5750"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5752"},{"uid":"c5e49757-5754"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5770"}]},"c5e49757-5758":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/pagination/src/components/jumper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5759"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4990"}],"importedBy":[{"uid":"c5e49757-5760"}]},"c5e49757-5760":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/pagination/src/components/jumper2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5761"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5148"},{"uid":"c5e49757-5752"},{"uid":"c5e49757-5758"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5770"}]},"c5e49757-5762":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/pagination/src/components/total.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5763"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5764"}]},"c5e49757-5764":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/pagination/src/components/total2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5765"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5752"},{"uid":"c5e49757-5762"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5770"}]},"c5e49757-5766":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/pagination/src/components/pager.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5767"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-5768"}]},"c5e49757-5768":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/pagination/src/components/pager2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5769"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5766"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5028"}],"importedBy":[{"uid":"c5e49757-5770"}]},"c5e49757-5770":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/pagination/src/pagination.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5771"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5720"},{"uid":"c5e49757-5724"},{"uid":"c5e49757-5728"},{"uid":"c5e49757-5756"},{"uid":"c5e49757-5760"},{"uid":"c5e49757-5764"},{"uid":"c5e49757-5768"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-5012"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5772"}]},"c5e49757-5772":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/pagination/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5773"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5770"},{"uid":"c5e49757-5720"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5774":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popconfirm/src/popconfirm.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5775"},"imported":[{"uid":"c5e49757-5280"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5270"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-5212"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5778"},{"uid":"c5e49757-5776"}]},"c5e49757-5776":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popconfirm/src/popconfirm2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5777"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5280"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5774"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4958"}],"importedBy":[{"uid":"c5e49757-5778"}]},"c5e49757-5778":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popconfirm/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5779"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5776"},{"uid":"c5e49757-5774"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5780":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popover/src/popover.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5781"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5648"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5214"},{"uid":"c5e49757-5632"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5786"},{"uid":"c5e49757-5782"}]},"c5e49757-5782":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popover/src/popover2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5783"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5780"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4958"}],"importedBy":[{"uid":"c5e49757-5786"}]},"c5e49757-5784":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popover/src/directive.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5785"},"imported":[],"importedBy":[{"uid":"c5e49757-5786"}]},"c5e49757-5786":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/popover/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5787"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5782"},{"uid":"c5e49757-5784"},{"uid":"c5e49757-5780"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-6352"}]},"c5e49757-5788":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/progress/src/progress.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5789"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5792"},{"uid":"c5e49757-5790"}]},"c5e49757-5790":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/progress/src/progress2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5791"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5788"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5792"}]},"c5e49757-5792":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/progress/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5793"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5790"},{"uid":"c5e49757-5788"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-6244"}]},"c5e49757-5794":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/rate/src/rate.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5795"},"imported":[{"uid":"c5e49757-2362"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5012"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5080"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5798"},{"uid":"c5e49757-5796"}]},"c5e49757-5796":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/rate/src/rate2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5797"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5794"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-5118"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-5020"}],"importedBy":[{"uid":"c5e49757-5798"}]},"c5e49757-5798":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/rate/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5799"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5796"},{"uid":"c5e49757-5794"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5800":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/result/src/result.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5801"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5804"},{"uid":"c5e49757-5802"}]},"c5e49757-5802":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/result/src/result2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5803"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5800"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5804"}]},"c5e49757-5804":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/result/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5805"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5802"},{"uid":"c5e49757-5800"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5806":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/virtual-list/src/hooks/use-cache.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5807"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-0"}],"importedBy":[{"uid":"c5e49757-5818"},{"uid":"c5e49757-5826"}]},"c5e49757-5808":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/virtual-list/src/defaults.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5809"},"imported":[],"importedBy":[{"uid":"c5e49757-5820"},{"uid":"c5e49757-5822"},{"uid":"c5e49757-5828"},{"uid":"c5e49757-5830"},{"uid":"c5e49757-5812"},{"uid":"c5e49757-5818"},{"uid":"c5e49757-5814"},{"uid":"c5e49757-5826"},{"uid":"c5e49757-5810"},{"uid":"c5e49757-5816"}]},"c5e49757-5810":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/virtual-list/src/hooks/use-wheel.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5811"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5808"},{"uid":"c5e49757-4950"},{"uid":"c5e49757-4942"}],"importedBy":[{"uid":"c5e49757-5818"}]},"c5e49757-5812":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/virtual-list/src/props.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5813"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5808"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5012"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6042"},{"uid":"c5e49757-6036"},{"uid":"c5e49757-5834"},{"uid":"c5e49757-6040"},{"uid":"c5e49757-5818"},{"uid":"c5e49757-5826"},{"uid":"c5e49757-5816"}]},"c5e49757-5814":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/virtual-list/src/utils.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5815"},"imported":[{"uid":"c5e49757-5808"}],"importedBy":[{"uid":"c5e49757-5820"},{"uid":"c5e49757-5822"},{"uid":"c5e49757-5818"},{"uid":"c5e49757-5826"},{"uid":"c5e49757-5816"}]},"c5e49757-5816":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/virtual-list/src/components/scrollbar.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5817"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5808"},{"uid":"c5e49757-5812"},{"uid":"c5e49757-5814"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5150"},{"uid":"c5e49757-4950"}],"importedBy":[{"uid":"c5e49757-5818"},{"uid":"c5e49757-5826"}]},"c5e49757-5818":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/virtual-list/src/builders/build-list.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5819"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5806"},{"uid":"c5e49757-5810"},{"uid":"c5e49757-5816"},{"uid":"c5e49757-5814"},{"uid":"c5e49757-5812"},{"uid":"c5e49757-5808"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4940"}],"importedBy":[{"uid":"c5e49757-5820"},{"uid":"c5e49757-5822"}]},"c5e49757-5820":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/virtual-list/src/components/fixed-size-list.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5821"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5818"},{"uid":"c5e49757-5814"},{"uid":"c5e49757-5808"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5834"},{"uid":"c5e49757-6232"},{"uid":"c5e49757-5848"}]},"c5e49757-5822":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/virtual-list/src/components/dynamic-size-list.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5823"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5818"},{"uid":"c5e49757-5814"},{"uid":"c5e49757-5808"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5834"},{"uid":"c5e49757-5848"}]},"c5e49757-5824":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/virtual-list/src/hooks/use-grid-wheel.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5825"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4950"}],"importedBy":[{"uid":"c5e49757-5826"}]},"c5e49757-5826":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/virtual-list/src/builders/build-grid.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5827"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5816"},{"uid":"c5e49757-5824"},{"uid":"c5e49757-5806"},{"uid":"c5e49757-5812"},{"uid":"c5e49757-5814"},{"uid":"c5e49757-5808"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4960"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4940"}],"importedBy":[{"uid":"c5e49757-5828"},{"uid":"c5e49757-5830"}]},"c5e49757-5828":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/virtual-list/src/components/fixed-size-grid.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5829"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5826"},{"uid":"c5e49757-5808"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5834"},{"uid":"c5e49757-6062"}]},"c5e49757-5830":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/virtual-list/src/components/dynamic-size-grid.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5831"},"imported":[{"uid":"c5e49757-3346"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5826"},{"uid":"c5e49757-5808"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5834"},{"uid":"c5e49757-6062"}]},"c5e49757-5832":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/virtual-list/src/types.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5833"},"imported":[],"importedBy":[{"uid":"c5e49757-5834"}]},"c5e49757-5834":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/virtual-list/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5835"},"imported":[{"uid":"c5e49757-5820"},{"uid":"c5e49757-5822"},{"uid":"c5e49757-5828"},{"uid":"c5e49757-5830"},{"uid":"c5e49757-5812"},{"uid":"c5e49757-5832"}],"importedBy":[{"uid":"c5e49757-6356"},{"uid":"c5e49757-6042"},{"uid":"c5e49757-6036"},{"uid":"c5e49757-6040"},{"uid":"c5e49757-6232"},{"uid":"c5e49757-5848"},{"uid":"c5e49757-6062"}]},"c5e49757-5836":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select-v2/src/group-item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5837"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5848"}]},"c5e49757-5838":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select-v2/src/useOption.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5839"},"imported":[],"importedBy":[{"uid":"c5e49757-5846"}]},"c5e49757-5840":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select-v2/src/useProps.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5841"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"}],"importedBy":[{"uid":"c5e49757-5848"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5842"},{"uid":"c5e49757-5846"},{"uid":"c5e49757-5850"}]},"c5e49757-5842":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select-v2/src/defaults.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5843"},"imported":[{"uid":"c5e49757-98"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5428"},{"uid":"c5e49757-5840"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5424"},{"uid":"c5e49757-5078"},{"uid":"c5e49757-5080"}],"importedBy":[{"uid":"c5e49757-5854"},{"uid":"c5e49757-5846"}]},"c5e49757-5844":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select-v2/src/token.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5845"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5856"},{"uid":"c5e49757-5854"},{"uid":"c5e49757-5848"},{"uid":"c5e49757-5846"}]},"c5e49757-5846":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select-v2/src/option-item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5847"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5838"},{"uid":"c5e49757-5840"},{"uid":"c5e49757-5842"},{"uid":"c5e49757-5844"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5848"}]},"c5e49757-5848":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select-v2/src/select-dropdown.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5849"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5834"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5836"},{"uid":"c5e49757-5846"},{"uid":"c5e49757-5840"},{"uid":"c5e49757-5844"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-5820"},{"uid":"c5e49757-5822"}],"importedBy":[{"uid":"c5e49757-5854"}]},"c5e49757-5850":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select-v2/src/useAllowCreate.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5851"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5840"}],"importedBy":[{"uid":"c5e49757-5852"}]},"c5e49757-5852":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select-v2/src/useSelect.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5853"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-2"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5850"},{"uid":"c5e49757-5738"},{"uid":"c5e49757-5840"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-5078"},{"uid":"c5e49757-5076"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-4952"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-5854"}]},"c5e49757-5854":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select-v2/src/select.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5855"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5306"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5428"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5848"},{"uid":"c5e49757-5852"},{"uid":"c5e49757-5842"},{"uid":"c5e49757-5844"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5298"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5856"}]},"c5e49757-5856":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/select-v2/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5857"},"imported":[{"uid":"c5e49757-5854"},{"uid":"c5e49757-5844"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5858":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/skeleton/src/skeleton.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5859"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5866"},{"uid":"c5e49757-5864"}]},"c5e49757-5860":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/skeleton/src/skeleton-item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5861"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5866"},{"uid":"c5e49757-5862"}]},"c5e49757-5862":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/skeleton/src/skeleton-item2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5863"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5860"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5866"},{"uid":"c5e49757-5864"}]},"c5e49757-5864":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/skeleton/src/skeleton2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5865"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5858"},{"uid":"c5e49757-5862"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5048"}],"importedBy":[{"uid":"c5e49757-5866"}]},"c5e49757-5866":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/skeleton/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5867"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5864"},{"uid":"c5e49757-5862"},{"uid":"c5e49757-5858"},{"uid":"c5e49757-5860"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5868":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/slider/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5869"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5894"},{"uid":"c5e49757-5892"},{"uid":"c5e49757-5878"}]},"c5e49757-5870":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/slider/src/slider.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5871"},"imported":[{"uid":"c5e49757-98"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5080"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5894"},{"uid":"c5e49757-5892"}]},"c5e49757-5872":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/slider/src/composables/use-lifecycle.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5873"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"}],"importedBy":[{"uid":"c5e49757-5892"},{"uid":"c5e49757-5884"}]},"c5e49757-5874":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/slider/src/composables/use-marks.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5875"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-5892"},{"uid":"c5e49757-5884"}]},"c5e49757-5876":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/slider/src/composables/use-slide.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5877"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-5892"},{"uid":"c5e49757-5884"}]},"c5e49757-5878":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/slider/src/composables/use-slider-button.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5879"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5868"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-5888"},{"uid":"c5e49757-5884"}]},"c5e49757-5880":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/slider/src/composables/use-stops.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5881"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-5892"},{"uid":"c5e49757-5884"}]},"c5e49757-5882":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/slider/src/composables/use-watch.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5883"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-5892"},{"uid":"c5e49757-5884"}]},"c5e49757-5884":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/slider/src/composables/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5885"},"imported":[{"uid":"c5e49757-5872"},{"uid":"c5e49757-5874"},{"uid":"c5e49757-5876"},{"uid":"c5e49757-5878"},{"uid":"c5e49757-5880"},{"uid":"c5e49757-5882"}],"importedBy":[{"uid":"c5e49757-5892"},{"uid":"c5e49757-5888"}]},"c5e49757-5886":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/slider/src/button.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5887"},"imported":[{"uid":"c5e49757-98"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-5888"}]},"c5e49757-5888":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/slider/src/button2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5889"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5884"},{"uid":"c5e49757-5886"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5878"}],"importedBy":[{"uid":"c5e49757-5892"}]},"c5e49757-5890":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/slider/src/marker.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5891"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5892"}]},"c5e49757-5892":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/slider/src/slider2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5893"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5674"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5868"},{"uid":"c5e49757-5870"},{"uid":"c5e49757-5888"},{"uid":"c5e49757-5890"},{"uid":"c5e49757-5884"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5876"},{"uid":"c5e49757-5880"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5874"},{"uid":"c5e49757-5882"},{"uid":"c5e49757-5872"},{"uid":"c5e49757-5020"}],"importedBy":[{"uid":"c5e49757-5894"}]},"c5e49757-5894":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/slider/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5895"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5892"},{"uid":"c5e49757-5870"},{"uid":"c5e49757-5868"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5896":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/space/src/item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5897"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5900"},{"uid":"c5e49757-5902"}]},"c5e49757-5898":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/space/src/use-space.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5899"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5900"},{"uid":"c5e49757-5902"}]},"c5e49757-5900":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/space/src/space.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5901"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5896"},{"uid":"c5e49757-5898"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4990"},{"uid":"c5e49757-5000"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5902"}]},"c5e49757-5902":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/space/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5903"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5900"},{"uid":"c5e49757-5896"},{"uid":"c5e49757-5898"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5904":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/statistic/src/statistic.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5905"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5908"},{"uid":"c5e49757-5906"}]},"c5e49757-5906":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/statistic/src/statistic2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5907"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5904"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-5908"}]},"c5e49757-5908":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/statistic/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5909"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5906"},{"uid":"c5e49757-5904"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-5914"}]},"c5e49757-5910":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/countdown/src/countdown.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5911"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5916"},{"uid":"c5e49757-5914"}]},"c5e49757-5912":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/countdown/src/utils.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5913"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-5914"}]},"c5e49757-5914":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/countdown/src/countdown2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5915"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5908"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5910"},{"uid":"c5e49757-5912"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-4950"}],"importedBy":[{"uid":"c5e49757-5916"}]},"c5e49757-5916":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/countdown/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5917"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5914"},{"uid":"c5e49757-5910"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5918":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/steps/src/steps.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5919"},"imported":[{"uid":"c5e49757-4992"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5926"},{"uid":"c5e49757-5920"}]},"c5e49757-5920":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/steps/src/steps2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5921"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5918"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5072"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-5926"}]},"c5e49757-5922":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/steps/src/item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5923"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4976"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5926"},{"uid":"c5e49757-5924"}]},"c5e49757-5924":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/steps/src/item2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5925"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5922"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-5926"}]},"c5e49757-5926":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/steps/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5927"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5920"},{"uid":"c5e49757-5924"},{"uid":"c5e49757-5922"},{"uid":"c5e49757-5918"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5928":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/switch/src/switch.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5929"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4998"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-5080"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-5932"},{"uid":"c5e49757-5930"}]},"c5e49757-5930":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/switch/src/switch2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5931"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5928"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-5020"}],"importedBy":[{"uid":"c5e49757-5932"}]},"c5e49757-5932":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/switch/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5933"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5930"},{"uid":"c5e49757-5928"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-5934":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/util.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5935"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6002"},{"uid":"c5e49757-5948"},{"uid":"c5e49757-5972"},{"uid":"c5e49757-5996"},{"uid":"c5e49757-5998"},{"uid":"c5e49757-5958"},{"uid":"c5e49757-5968"},{"uid":"c5e49757-5976"},{"uid":"c5e49757-5942"},{"uid":"c5e49757-5964"},{"uid":"c5e49757-5966"},{"uid":"c5e49757-5936"},{"uid":"c5e49757-5938"},{"uid":"c5e49757-5940"}]},"c5e49757-5936":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/store/expand.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5937"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5934"}],"importedBy":[{"uid":"c5e49757-5942"}]},"c5e49757-5938":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/store/current.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5939"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5934"}],"importedBy":[{"uid":"c5e49757-5942"}]},"c5e49757-5940":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/store/tree.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5941"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5934"}],"importedBy":[{"uid":"c5e49757-5942"}]},"c5e49757-5942":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/store/watcher.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5943"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-5936"},{"uid":"c5e49757-5938"},{"uid":"c5e49757-5940"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-5944"}]},"c5e49757-5944":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/store/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5945"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5942"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5946"}]},"c5e49757-5946":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/store/helper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5947"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5944"}],"importedBy":[{"uid":"c5e49757-5992"}]},"c5e49757-5948":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table-layout.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5949"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4940"}],"importedBy":[{"uid":"c5e49757-5992"}]},"c5e49757-5950":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/filter-panel.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5951"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5382"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5306"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5298"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5962"}]},"c5e49757-5952":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/layout-observer.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5953"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-5962"},{"uid":"c5e49757-5972"}]},"c5e49757-5954":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/tokens.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5955"},"imported":[],"importedBy":[{"uid":"c5e49757-5992"},{"uid":"c5e49757-5962"},{"uid":"c5e49757-5972"},{"uid":"c5e49757-5956"},{"uid":"c5e49757-5958"},{"uid":"c5e49757-5960"},{"uid":"c5e49757-5968"},{"uid":"c5e49757-5964"},{"uid":"c5e49757-5966"},{"uid":"c5e49757-5974"}]},"c5e49757-5956":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table-header/event-helper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5957"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5954"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-5962"}]},"c5e49757-5958":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table-header/style.helper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5959"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-5954"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5962"}]},"c5e49757-5960":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table-header/utils-helper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5961"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5954"}],"importedBy":[{"uid":"c5e49757-5962"}]},"c5e49757-5962":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table-header/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5963"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5382"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5950"},{"uid":"c5e49757-5952"},{"uid":"c5e49757-5954"},{"uid":"c5e49757-5956"},{"uid":"c5e49757-5958"},{"uid":"c5e49757-5960"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5992"}]},"c5e49757-5964":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table-body/events-helper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5965"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-5954"},{"uid":"c5e49757-4958"}],"importedBy":[{"uid":"c5e49757-5968"}]},"c5e49757-5966":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table-body/styles-helper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5967"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-5954"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5968"}]},"c5e49757-5968":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table-body/render-helper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5969"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-5954"},{"uid":"c5e49757-5964"},{"uid":"c5e49757-5966"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5972"}]},"c5e49757-5970":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table-body/defaults.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5971"},"imported":[],"importedBy":[{"uid":"c5e49757-5972"}]},"c5e49757-5972":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table-body/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5973"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5952"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-5954"},{"uid":"c5e49757-5968"},{"uid":"c5e49757-5970"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-4950"}],"importedBy":[{"uid":"c5e49757-5992"}]},"c5e49757-5974":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table-footer/mapState-helper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5975"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5954"}],"importedBy":[{"uid":"c5e49757-5976"}]},"c5e49757-5976":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table-footer/style-helper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5977"},"imported":[{"uid":"c5e49757-5082"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-5974"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5978"}]},"c5e49757-5978":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table-footer/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5979"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5976"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-5992"}]},"c5e49757-5980":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table/utils-helper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5981"},"imported":[],"importedBy":[{"uid":"c5e49757-5992"}]},"c5e49757-5982":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table/style-helper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5983"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5120"}],"importedBy":[{"uid":"c5e49757-5992"}]},"c5e49757-5984":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table/key-render-helper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5985"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-5992"}]},"c5e49757-5986":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table/defaults.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5987"},"imported":[{"uid":"c5e49757-5082"},{"uid":"c5e49757-5074"}],"importedBy":[{"uid":"c5e49757-5992"}]},"c5e49757-5988":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/h-helper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5989"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-5992"}]},"c5e49757-5990":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/composables/use-scrollbar.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5991"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-5992"}]},"c5e49757-5992":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5993"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5306"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5946"},{"uid":"c5e49757-5948"},{"uid":"c5e49757-5962"},{"uid":"c5e49757-5972"},{"uid":"c5e49757-5978"},{"uid":"c5e49757-5980"},{"uid":"c5e49757-5982"},{"uid":"c5e49757-5984"},{"uid":"c5e49757-5986"},{"uid":"c5e49757-5954"},{"uid":"c5e49757-5988"},{"uid":"c5e49757-5990"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5304"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-6006"}]},"c5e49757-5994":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/config.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5995"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5382"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4954"}],"importedBy":[{"uid":"c5e49757-6002"},{"uid":"c5e49757-5998"}]},"c5e49757-5996":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table-column/watcher-helper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5997"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6002"}]},"c5e49757-5998":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table-column/render-helper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-5999"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5994"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-6002"}]},"c5e49757-6000":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table-column/defaults.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6001"},"imported":[],"importedBy":[{"uid":"c5e49757-6002"}]},"c5e49757-6002":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/table-column/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6003"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5382"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5994"},{"uid":"c5e49757-5934"},{"uid":"c5e49757-5996"},{"uid":"c5e49757-5998"},{"uid":"c5e49757-6000"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6006"},{"uid":"c5e49757-6004"}]},"c5e49757-6004":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/src/tableColumn.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6005"},"imported":[{"uid":"c5e49757-6002"}],"importedBy":[{"uid":"c5e49757-6006"}]},"c5e49757-6006":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6007"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5992"},{"uid":"c5e49757-6004"},{"uid":"c5e49757-4978"},{"uid":"c5e49757-6002"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-6008":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6009"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6090"},{"uid":"c5e49757-6072"},{"uid":"c5e49757-6076"},{"uid":"c5e49757-6014"},{"uid":"c5e49757-6018"},{"uid":"c5e49757-6056"}]},"c5e49757-6010":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/private.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6011"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6090"},{"uid":"c5e49757-6072"},{"uid":"c5e49757-6076"},{"uid":"c5e49757-6014"},{"uid":"c5e49757-6054"}]},"c5e49757-6012":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/composables/utils.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6013"},"imported":[],"importedBy":[{"uid":"c5e49757-6014"}]},"c5e49757-6014":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/composables/use-columns.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6015"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6008"},{"uid":"c5e49757-6010"},{"uid":"c5e49757-6012"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6030"},{"uid":"c5e49757-6028"}]},"c5e49757-6016":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/composables/use-scrollbar.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6017"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-6030"},{"uid":"c5e49757-6028"}]},"c5e49757-6018":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/composables/use-row.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6019"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6008"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6030"},{"uid":"c5e49757-6028"}]},"c5e49757-6020":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/composables/use-data.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6021"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-6030"},{"uid":"c5e49757-6028"}]},"c5e49757-6022":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/utils.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6023"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4958"}],"importedBy":[{"uid":"c5e49757-6070"},{"uid":"c5e49757-6072"},{"uid":"c5e49757-6074"},{"uid":"c5e49757-6076"},{"uid":"c5e49757-6024"},{"uid":"c5e49757-6062"},{"uid":"c5e49757-6052"}]},"c5e49757-6024":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/composables/use-styles.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6025"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6022"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4958"}],"importedBy":[{"uid":"c5e49757-6030"},{"uid":"c5e49757-6028"}]},"c5e49757-6026":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/composables/use-auto-resize.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6027"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"}],"importedBy":[{"uid":"c5e49757-6088"},{"uid":"c5e49757-6028"}]},"c5e49757-6028":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/composables/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6029"},"imported":[{"uid":"c5e49757-6014"},{"uid":"c5e49757-6016"},{"uid":"c5e49757-6018"},{"uid":"c5e49757-6020"},{"uid":"c5e49757-6024"},{"uid":"c5e49757-6026"}],"importedBy":[{"uid":"c5e49757-6030"},{"uid":"c5e49757-6088"}]},"c5e49757-6030":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/use-table.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6031"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-6028"},{"uid":"c5e49757-6014"},{"uid":"c5e49757-6016"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-6018"},{"uid":"c5e49757-6020"},{"uid":"c5e49757-6024"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6084"}]},"c5e49757-6032":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/tokens.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6033"},"imported":[],"importedBy":[{"uid":"c5e49757-6084"},{"uid":"c5e49757-6062"},{"uid":"c5e49757-6054"}]},"c5e49757-6034":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/common.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6035"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5012"}],"importedBy":[{"uid":"c5e49757-6042"},{"uid":"c5e49757-6036"},{"uid":"c5e49757-6038"},{"uid":"c5e49757-6040"},{"uid":"c5e49757-6048"}]},"c5e49757-6036":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/row.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6037"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5834"},{"uid":"c5e49757-6034"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5812"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6042"},{"uid":"c5e49757-6090"},{"uid":"c5e49757-6040"},{"uid":"c5e49757-6054"}]},"c5e49757-6038":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/header.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6039"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6034"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6042"},{"uid":"c5e49757-6040"},{"uid":"c5e49757-6052"}]},"c5e49757-6040":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/grid.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6041"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5834"},{"uid":"c5e49757-6034"},{"uid":"c5e49757-6038"},{"uid":"c5e49757-6036"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5812"}],"importedBy":[{"uid":"c5e49757-6042"},{"uid":"c5e49757-6062"}]},"c5e49757-6042":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/table.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6043"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5834"},{"uid":"c5e49757-6034"},{"uid":"c5e49757-6036"},{"uid":"c5e49757-6038"},{"uid":"c5e49757-6040"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5812"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6084"},{"uid":"c5e49757-6090"}]},"c5e49757-6044":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/components/cell.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6045"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-6072"},{"uid":"c5e49757-6060"}]},"c5e49757-6046":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/components/header-cell.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6047"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-6076"},{"uid":"c5e49757-6060"}]},"c5e49757-6048":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/header-row.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6049"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6034"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6050"}]},"c5e49757-6050":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/components/header-row.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6051"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6048"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6074"},{"uid":"c5e49757-6060"}]},"c5e49757-6052":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/components/header.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6053"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6038"},{"uid":"c5e49757-6022"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-2"}],"importedBy":[{"uid":"c5e49757-6062"},{"uid":"c5e49757-6060"}]},"c5e49757-6054":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/components/row.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6055"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6036"},{"uid":"c5e49757-6032"},{"uid":"c5e49757-6010"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6070"},{"uid":"c5e49757-6060"}]},"c5e49757-6056":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/components/sort-icon.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6057"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-6008"}],"importedBy":[{"uid":"c5e49757-6076"},{"uid":"c5e49757-6060"}]},"c5e49757-6058":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/components/expand-icon.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6059"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"}],"importedBy":[{"uid":"c5e49757-6072"},{"uid":"c5e49757-6060"}]},"c5e49757-6060":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/components/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6061"},"imported":[{"uid":"c5e49757-6044"},{"uid":"c5e49757-6046"},{"uid":"c5e49757-6050"},{"uid":"c5e49757-6052"},{"uid":"c5e49757-6054"},{"uid":"c5e49757-6056"},{"uid":"c5e49757-6058"}],"importedBy":[{"uid":"c5e49757-6070"},{"uid":"c5e49757-6072"},{"uid":"c5e49757-6074"},{"uid":"c5e49757-6076"},{"uid":"c5e49757-6062"}]},"c5e49757-6062":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/table-grid.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6063"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5834"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6060"},{"uid":"c5e49757-6032"},{"uid":"c5e49757-6040"},{"uid":"c5e49757-6022"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-5830"},{"uid":"c5e49757-5828"},{"uid":"c5e49757-6052"}],"importedBy":[{"uid":"c5e49757-6064"},{"uid":"c5e49757-6066"},{"uid":"c5e49757-6068"}]},"c5e49757-6064":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/renderers/main-table.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6065"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6062"}],"importedBy":[{"uid":"c5e49757-6084"}]},"c5e49757-6066":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/renderers/left-table.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6067"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6062"}],"importedBy":[{"uid":"c5e49757-6084"}]},"c5e49757-6068":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/renderers/right-table.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6069"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6062"}],"importedBy":[{"uid":"c5e49757-6084"}]},"c5e49757-6070":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/renderers/row.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6071"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6060"},{"uid":"c5e49757-6022"},{"uid":"c5e49757-6054"}],"importedBy":[{"uid":"c5e49757-6084"}]},"c5e49757-6072":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/renderers/cell.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6073"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6060"},{"uid":"c5e49757-6008"},{"uid":"c5e49757-6010"},{"uid":"c5e49757-6022"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-6044"},{"uid":"c5e49757-6058"}],"importedBy":[{"uid":"c5e49757-6084"}]},"c5e49757-6074":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/renderers/header.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6075"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6060"},{"uid":"c5e49757-6022"},{"uid":"c5e49757-6050"}],"importedBy":[{"uid":"c5e49757-6084"}]},"c5e49757-6076":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/renderers/header-cell.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6077"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6060"},{"uid":"c5e49757-6008"},{"uid":"c5e49757-6010"},{"uid":"c5e49757-6022"},{"uid":"c5e49757-6046"},{"uid":"c5e49757-6056"}],"importedBy":[{"uid":"c5e49757-6084"}]},"c5e49757-6078":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/renderers/footer.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6079"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-6084"}]},"c5e49757-6080":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/renderers/empty.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6081"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5656"}],"importedBy":[{"uid":"c5e49757-6084"}]},"c5e49757-6082":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/renderers/overlay.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6083"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-6084"}]},"c5e49757-6084":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/table-v2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6085"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-6030"},{"uid":"c5e49757-6032"},{"uid":"c5e49757-6042"},{"uid":"c5e49757-6064"},{"uid":"c5e49757-6066"},{"uid":"c5e49757-6068"},{"uid":"c5e49757-6070"},{"uid":"c5e49757-6072"},{"uid":"c5e49757-6074"},{"uid":"c5e49757-6076"},{"uid":"c5e49757-6078"},{"uid":"c5e49757-6080"},{"uid":"c5e49757-6082"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6090"}]},"c5e49757-6086":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/auto-resizer.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6087"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6090"},{"uid":"c5e49757-6088"}]},"c5e49757-6088":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/src/components/auto-resizer.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6089"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-6086"},{"uid":"c5e49757-6028"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-6026"}],"importedBy":[{"uid":"c5e49757-6090"}]},"c5e49757-6090":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/table-v2/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6091"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6084"},{"uid":"c5e49757-6088"},{"uid":"c5e49757-6008"},{"uid":"c5e49757-6086"},{"uid":"c5e49757-6010"},{"uid":"c5e49757-6042"},{"uid":"c5e49757-6036"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-6092":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tabs/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6093"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-6098"},{"uid":"c5e49757-6106"},{"uid":"c5e49757-6096"},{"uid":"c5e49757-6104"}]},"c5e49757-6094":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tabs/src/tab-bar.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6095"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5012"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6106"},{"uid":"c5e49757-6096"}]},"c5e49757-6096":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tabs/src/tab-bar2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6097"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-6092"},{"uid":"c5e49757-6094"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4952"}],"importedBy":[{"uid":"c5e49757-6098"}]},"c5e49757-6098":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tabs/src/tab-nav.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6099"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-6096"},{"uid":"c5e49757-6092"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5012"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4952"},{"uid":"c5e49757-4982"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-6106"}]},"c5e49757-6100":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tabs/src/tabs.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6101"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-6092"},{"uid":"c5e49757-6098"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5072"},{"uid":"c5e49757-4982"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6106"}]},"c5e49757-6102":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tabs/src/tab-pane.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6103"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6106"},{"uid":"c5e49757-6104"}]},"c5e49757-6104":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tabs/src/tab-pane2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6105"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-6092"},{"uid":"c5e49757-6102"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-6106"}]},"c5e49757-6106":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tabs/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6107"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-6104"},{"uid":"c5e49757-6094"},{"uid":"c5e49757-6098"},{"uid":"c5e49757-6102"},{"uid":"c5e49757-6092"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-6108":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/text/src/text.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6109"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4990"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6112"},{"uid":"c5e49757-6110"}]},"c5e49757-6110":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/text/src/text2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6111"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6108"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6112"}]},"c5e49757-6112":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/text/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6113"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6110"},{"uid":"c5e49757-6108"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-6114":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-select/src/time-select.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6115"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5078"}],"importedBy":[{"uid":"c5e49757-6118"}]},"c5e49757-6116":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-select/src/utils.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6117"},"imported":[],"importedBy":[{"uid":"c5e49757-6118"}]},"c5e49757-6118":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-select/src/time-select2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6119"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-312"},{"uid":"c5e49757-316"},{"uid":"c5e49757-5750"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-6114"},{"uid":"c5e49757-6116"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5028"}],"importedBy":[{"uid":"c5e49757-6120"}]},"c5e49757-6120":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/time-select/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6121"},"imported":[{"uid":"c5e49757-6118"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-6122":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/timeline/src/timeline.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6123"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-6128"}]},"c5e49757-6124":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/timeline/src/timeline-item.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6125"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4976"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6128"},{"uid":"c5e49757-6126"}]},"c5e49757-6126":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/timeline/src/timeline-item2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6127"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-6124"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-6128"}]},"c5e49757-6128":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/timeline/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6129"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6122"},{"uid":"c5e49757-6126"},{"uid":"c5e49757-6124"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-6130":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip-v2/src/common.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6131"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6132"},{"uid":"c5e49757-6154"},{"uid":"c5e49757-6158"}]},"c5e49757-6132":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip-v2/src/arrow.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6133"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6130"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6162"},{"uid":"c5e49757-6160"},{"uid":"c5e49757-6140"},{"uid":"c5e49757-6146"}]},"c5e49757-6134":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip-v2/src/content.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6135"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5080"}],"importedBy":[{"uid":"c5e49757-6162"},{"uid":"c5e49757-6160"},{"uid":"c5e49757-6140"},{"uid":"c5e49757-6154"}]},"c5e49757-6136":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip-v2/src/root.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6137"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6162"},{"uid":"c5e49757-6160"},{"uid":"c5e49757-6140"},{"uid":"c5e49757-6144"}]},"c5e49757-6138":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip-v2/src/trigger.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6139"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6162"},{"uid":"c5e49757-6160"},{"uid":"c5e49757-6140"},{"uid":"c5e49757-6158"}]},"c5e49757-6140":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip-v2/src/tooltip.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6141"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6136"},{"uid":"c5e49757-6138"},{"uid":"c5e49757-6132"},{"uid":"c5e49757-6134"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6162"},{"uid":"c5e49757-6160"}]},"c5e49757-6142":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip-v2/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6143"},"imported":[],"importedBy":[{"uid":"c5e49757-6162"},{"uid":"c5e49757-6144"},{"uid":"c5e49757-6146"},{"uid":"c5e49757-6154"},{"uid":"c5e49757-6158"}]},"c5e49757-6144":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip-v2/src/root2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6145"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6142"},{"uid":"c5e49757-6136"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5054"}],"importedBy":[{"uid":"c5e49757-6160"}]},"c5e49757-6146":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip-v2/src/arrow2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6147"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6142"},{"uid":"c5e49757-6132"},{"uid":"c5e49757-5100"}],"importedBy":[{"uid":"c5e49757-6160"}]},"c5e49757-6148":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/visual-hidden/src/visual-hidden.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6149"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6152"},{"uid":"c5e49757-6150"}]},"c5e49757-6150":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/visual-hidden/src/visual-hidden2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6151"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6148"},{"uid":"c5e49757-5100"}],"importedBy":[{"uid":"c5e49757-6154"},{"uid":"c5e49757-6152"}]},"c5e49757-6152":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/visual-hidden/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6153"},"imported":[{"uid":"c5e49757-6150"},{"uid":"c5e49757-6148"}],"importedBy":[{"uid":"c5e49757-6154"}]},"c5e49757-6154":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip-v2/src/content2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6155"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-122"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-6152"},{"uid":"c5e49757-6142"},{"uid":"c5e49757-6134"},{"uid":"c5e49757-6130"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5068"},{"uid":"c5e49757-5066"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-6150"}],"importedBy":[{"uid":"c5e49757-6160"}]},"c5e49757-6156":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip-v2/src/forward-ref.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6157"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4980"},{"uid":"c5e49757-5000"}],"importedBy":[{"uid":"c5e49757-6158"}]},"c5e49757-6158":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip-v2/src/trigger2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6159"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6142"},{"uid":"c5e49757-6156"},{"uid":"c5e49757-6138"},{"uid":"c5e49757-6130"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-4936"}],"importedBy":[{"uid":"c5e49757-6160"}]},"c5e49757-6160":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip-v2/src/tooltip2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6161"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-6132"},{"uid":"c5e49757-6134"},{"uid":"c5e49757-6136"},{"uid":"c5e49757-6140"},{"uid":"c5e49757-6138"},{"uid":"c5e49757-6144"},{"uid":"c5e49757-6146"},{"uid":"c5e49757-6154"},{"uid":"c5e49757-6158"},{"uid":"c5e49757-5100"}],"importedBy":[{"uid":"c5e49757-6162"}]},"c5e49757-6162":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tooltip-v2/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6163"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6160"},{"uid":"c5e49757-6132"},{"uid":"c5e49757-6134"},{"uid":"c5e49757-6136"},{"uid":"c5e49757-6140"},{"uid":"c5e49757-6138"},{"uid":"c5e49757-6142"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6310"}]},"c5e49757-6164":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/transfer/src/transfer.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6165"},"imported":[{"uid":"c5e49757-2"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5012"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6184"},{"uid":"c5e49757-6182"},{"uid":"c5e49757-6172"},{"uid":"c5e49757-6166"}]},"c5e49757-6166":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/transfer/src/transfer-panel.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6167"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6164"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6180"},{"uid":"c5e49757-6170"}]},"c5e49757-6168":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/transfer/src/composables/use-props-alias.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6169"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-6182"},{"uid":"c5e49757-6178"},{"uid":"c5e49757-6180"},{"uid":"c5e49757-6174"},{"uid":"c5e49757-6176"},{"uid":"c5e49757-6170"}]},"c5e49757-6170":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/transfer/src/composables/use-check.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6171"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6166"},{"uid":"c5e49757-6168"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6178"},{"uid":"c5e49757-6180"}]},"c5e49757-6172":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/transfer/src/composables/use-checked-change.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6173"},"imported":[{"uid":"c5e49757-6164"}],"importedBy":[{"uid":"c5e49757-6182"},{"uid":"c5e49757-6178"}]},"c5e49757-6174":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/transfer/src/composables/use-computed-data.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6175"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6168"}],"importedBy":[{"uid":"c5e49757-6182"},{"uid":"c5e49757-6178"}]},"c5e49757-6176":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/transfer/src/composables/use-move.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6177"},"imported":[{"uid":"c5e49757-4992"},{"uid":"c5e49757-6168"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-6182"},{"uid":"c5e49757-6178"}]},"c5e49757-6178":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/transfer/src/composables/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6179"},"imported":[{"uid":"c5e49757-6170"},{"uid":"c5e49757-6172"},{"uid":"c5e49757-6174"},{"uid":"c5e49757-6176"},{"uid":"c5e49757-6168"}],"importedBy":[{"uid":"c5e49757-6182"},{"uid":"c5e49757-6180"}]},"c5e49757-6180":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/transfer/src/transfer-panel2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6181"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5382"},{"uid":"c5e49757-5148"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-6166"},{"uid":"c5e49757-6178"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-6168"},{"uid":"c5e49757-6170"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6182"}]},"c5e49757-6182":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/transfer/src/transfer2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6183"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5280"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-6164"},{"uid":"c5e49757-6178"},{"uid":"c5e49757-6180"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-6168"},{"uid":"c5e49757-6174"},{"uid":"c5e49757-6172"},{"uid":"c5e49757-6176"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6184"}]},"c5e49757-6184":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/transfer/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6185"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6182"},{"uid":"c5e49757-6164"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-6186":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree/src/model/util.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6187"},"imported":[],"importedBy":[{"uid":"c5e49757-6202"},{"uid":"c5e49757-6190"},{"uid":"c5e49757-6198"},{"uid":"c5e49757-6188"}]},"c5e49757-6188":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree/src/model/node.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6189"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6186"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6190"},{"uid":"c5e49757-6198"}]},"c5e49757-6190":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree/src/model/tree-store.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6191"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6188"},{"uid":"c5e49757-6186"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6202"}]},"c5e49757-6192":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree/src/tree-node-content.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6193"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-6198"}]},"c5e49757-6194":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree/src/model/useNodeExpandEventBroadcast.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6195"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-6202"},{"uid":"c5e49757-6198"}]},"c5e49757-6196":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree/src/model/useDragNode.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6197"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4958"}],"importedBy":[{"uid":"c5e49757-6202"},{"uid":"c5e49757-6198"}]},"c5e49757-6198":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree/src/tree-node.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6199"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-5468"},{"uid":"c5e49757-5382"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-6192"},{"uid":"c5e49757-6186"},{"uid":"c5e49757-6194"},{"uid":"c5e49757-6196"},{"uid":"c5e49757-6188"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-6202"}]},"c5e49757-6200":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree/src/model/useKeydown.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6201"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4982"}],"importedBy":[{"uid":"c5e49757-6202"}]},"c5e49757-6202":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree/src/tree.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6203"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-6190"},{"uid":"c5e49757-6186"},{"uid":"c5e49757-6198"},{"uid":"c5e49757-6194"},{"uid":"c5e49757-6196"},{"uid":"c5e49757-6200"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5118"}],"importedBy":[{"uid":"c5e49757-6204"}]},"c5e49757-6204":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6205"},"imported":[{"uid":"c5e49757-6202"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-6216"},{"uid":"c5e49757-6212"}]},"c5e49757-6206":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree-select/src/select.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6207"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5750"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-6216"}]},"c5e49757-6208":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree-select/src/tree-select-option.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6209"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5750"}],"importedBy":[{"uid":"c5e49757-6212"}]},"c5e49757-6210":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree-select/src/utils.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6211"},"imported":[],"importedBy":[{"uid":"c5e49757-6212"}]},"c5e49757-6212":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree-select/src/tree.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6213"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6204"},{"uid":"c5e49757-6208"},{"uid":"c5e49757-6210"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4952"},{"uid":"c5e49757-4986"}],"importedBy":[{"uid":"c5e49757-6216"}]},"c5e49757-6214":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree-select/src/cache-options.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6215"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5750"},{"uid":"c5e49757-5730"}],"importedBy":[{"uid":"c5e49757-6216"}]},"c5e49757-6216":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree-select/src/tree-select.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6217"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5750"},{"uid":"c5e49757-6204"},{"uid":"c5e49757-6206"},{"uid":"c5e49757-6212"},{"uid":"c5e49757-6214"},{"uid":"c5e49757-5100"}],"importedBy":[{"uid":"c5e49757-6218"}]},"c5e49757-6218":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree-select/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6219"},"imported":[{"uid":"c5e49757-6216"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-6220":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree-v2/src/virtual-tree.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6221"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5012"},{"uid":"c5e49757-4976"}],"importedBy":[{"uid":"c5e49757-6232"},{"uid":"c5e49757-6226"},{"uid":"c5e49757-6230"},{"uid":"c5e49757-6222"},{"uid":"c5e49757-6228"}]},"c5e49757-6222":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree-v2/src/composables/useCheck.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6223"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6220"}],"importedBy":[{"uid":"c5e49757-6226"}]},"c5e49757-6224":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree-v2/src/composables/useFilter.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6225"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6226"}]},"c5e49757-6226":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree-v2/src/composables/useTree.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6227"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6220"},{"uid":"c5e49757-6222"},{"uid":"c5e49757-6224"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6232"}]},"c5e49757-6228":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree-v2/src/tree-node-content.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6229"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-6220"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-6230"}]},"c5e49757-6230":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree-v2/src/tree-node.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6231"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5382"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-6228"},{"uid":"c5e49757-6220"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"}],"importedBy":[{"uid":"c5e49757-6232"}]},"c5e49757-6232":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree-v2/src/tree.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6233"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5834"},{"uid":"c5e49757-6226"},{"uid":"c5e49757-6230"},{"uid":"c5e49757-6220"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5118"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5820"}],"importedBy":[{"uid":"c5e49757-6234"}]},"c5e49757-6234":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tree-v2/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6235"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6232"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-6236":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/upload/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6237"},"imported":[],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6258"},{"uid":"c5e49757-6256"},{"uid":"c5e49757-6248"}]},"c5e49757-6238":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/upload/src/ajax.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6239"},"imported":[{"uid":"c5e49757-2"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6240"}]},"c5e49757-6240":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/upload/src/upload.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6241"},"imported":[{"uid":"c5e49757-3346"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6238"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5012"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6250"},{"uid":"c5e49757-6242"},{"uid":"c5e49757-6258"},{"uid":"c5e49757-6256"},{"uid":"c5e49757-6252"},{"uid":"c5e49757-6254"}]},"c5e49757-6242":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/upload/src/upload-list.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6243"},"imported":[{"uid":"c5e49757-3346"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6240"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5012"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6258"},{"uid":"c5e49757-6244"}]},"c5e49757-6244":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/upload/src/upload-list2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6245"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-2362"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5792"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-6242"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5120"}],"importedBy":[{"uid":"c5e49757-6256"}]},"c5e49757-6246":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/upload/src/upload-dragger.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6247"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-3346"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6258"},{"uid":"c5e49757-6248"}]},"c5e49757-6248":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/upload/src/upload-dragger2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6249"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-6236"},{"uid":"c5e49757-6246"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5120"}],"importedBy":[{"uid":"c5e49757-6252"}]},"c5e49757-6250":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/upload/src/upload-content.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6251"},"imported":[{"uid":"c5e49757-3346"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6240"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6258"},{"uid":"c5e49757-6252"}]},"c5e49757-6252":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/upload/src/upload-content2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6253"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-6248"},{"uid":"c5e49757-6250"},{"uid":"c5e49757-6240"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-4954"}],"importedBy":[{"uid":"c5e49757-6256"}]},"c5e49757-6254":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/upload/src/use-handlers.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6255"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6240"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-6256"}]},"c5e49757-6256":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/upload/src/upload2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6257"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-6236"},{"uid":"c5e49757-6244"},{"uid":"c5e49757-6252"},{"uid":"c5e49757-6254"},{"uid":"c5e49757-6240"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5120"}],"importedBy":[{"uid":"c5e49757-6258"}]},"c5e49757-6258":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/upload/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6259"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6256"},{"uid":"c5e49757-6240"},{"uid":"c5e49757-6250"},{"uid":"c5e49757-6242"},{"uid":"c5e49757-6246"},{"uid":"c5e49757-6236"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-6260":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/watermark/src/watermark.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6261"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6268"},{"uid":"c5e49757-6266"}]},"c5e49757-6262":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/watermark/src/utils.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6263"},"imported":[],"importedBy":[{"uid":"c5e49757-6266"}]},"c5e49757-6264":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/watermark/src/useClips.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6265"},"imported":[],"importedBy":[{"uid":"c5e49757-6266"}]},"c5e49757-6266":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/watermark/src/watermark2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6267"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-6260"},{"uid":"c5e49757-6262"},{"uid":"c5e49757-6264"},{"uid":"c5e49757-5100"}],"importedBy":[{"uid":"c5e49757-6268"}]},"c5e49757-6268":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/watermark/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6269"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6266"},{"uid":"c5e49757-6260"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-6270":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tour/src/mask.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6271"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6274"}]},"c5e49757-6272":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tour/src/helper.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6273"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-122"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-4954"}],"importedBy":[{"uid":"c5e49757-6284"},{"uid":"c5e49757-6288"},{"uid":"c5e49757-6274"},{"uid":"c5e49757-6278"}]},"c5e49757-6274":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tour/src/mask2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6275"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-6270"},{"uid":"c5e49757-6272"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5032"}],"importedBy":[{"uid":"c5e49757-6284"}]},"c5e49757-6276":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tour/src/content.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6277"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6282"},{"uid":"c5e49757-6286"},{"uid":"c5e49757-6290"},{"uid":"c5e49757-6278"}]},"c5e49757-6278":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tour/src/content2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6279"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5192"},{"uid":"c5e49757-6276"},{"uid":"c5e49757-6272"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5190"}],"importedBy":[{"uid":"c5e49757-6284"}]},"c5e49757-6280":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tour/src/steps.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6281"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-5000"}],"importedBy":[{"uid":"c5e49757-6284"}]},"c5e49757-6282":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tour/src/tour.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6283"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-6276"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6290"},{"uid":"c5e49757-6284"}]},"c5e49757-6284":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tour/src/tour2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6285"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6274"},{"uid":"c5e49757-6278"},{"uid":"c5e49757-6280"},{"uid":"c5e49757-6282"},{"uid":"c5e49757-6272"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-5066"}],"importedBy":[{"uid":"c5e49757-6290"}]},"c5e49757-6286":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tour/src/step.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6287"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6276"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4976"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6290"},{"uid":"c5e49757-6288"}]},"c5e49757-6288":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tour/src/step2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6289"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5280"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-6286"},{"uid":"c5e49757-6272"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-5028"}],"importedBy":[{"uid":"c5e49757-6290"}]},"c5e49757-6290":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/tour/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6291"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6284"},{"uid":"c5e49757-6288"},{"uid":"c5e49757-6282"},{"uid":"c5e49757-6286"},{"uid":"c5e49757-6276"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-6292":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/anchor/src/anchor.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6293"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6302"},{"uid":"c5e49757-6296"}]},"c5e49757-6294":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/anchor/src/constants.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6295"},"imported":[],"importedBy":[{"uid":"c5e49757-6296"},{"uid":"c5e49757-6300"}]},"c5e49757-6296":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/anchor/src/anchor2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6297"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6292"},{"uid":"c5e49757-6294"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-4962"},{"uid":"c5e49757-4960"},{"uid":"c5e49757-4944"},{"uid":"c5e49757-5014"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6302"}]},"c5e49757-6298":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/anchor/src/anchor-link.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6299"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"}],"importedBy":[{"uid":"c5e49757-6300"}]},"c5e49757-6300":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/anchor/src/anchor-link2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6301"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6298"},{"uid":"c5e49757-6294"},{"uid":"c5e49757-5100"}],"importedBy":[{"uid":"c5e49757-6302"}]},"c5e49757-6302":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/anchor/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6303"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6296"},{"uid":"c5e49757-6300"},{"uid":"c5e49757-6292"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-6304":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/segmented/src/segmented.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6305"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5080"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4948"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6308"},{"uid":"c5e49757-6306"}]},"c5e49757-6306":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/segmented/src/segmented2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6307"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-6304"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-6308"}]},"c5e49757-6308":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/segmented/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6309"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6306"},{"uid":"c5e49757-6304"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6310"}]},"c5e49757-6310":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/component.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6311"},"imported":[{"uid":"c5e49757-5104"},{"uid":"c5e49757-5116"},{"uid":"c5e49757-5232"},{"uid":"c5e49757-5238"},{"uid":"c5e49757-5246"},{"uid":"c5e49757-5252"},{"uid":"c5e49757-5264"},{"uid":"c5e49757-5280"},{"uid":"c5e49757-5334"},{"uid":"c5e49757-5340"},{"uid":"c5e49757-5356"},{"uid":"c5e49757-5436"},{"uid":"c5e49757-5422"},{"uid":"c5e49757-5442"},{"uid":"c5e49757-5382"},{"uid":"c5e49757-5456"},{"uid":"c5e49757-5476"},{"uid":"c5e49757-5468"},{"uid":"c5e49757-5498"},{"uid":"c5e49757-5092"},{"uid":"c5e49757-5510"},{"uid":"c5e49757-5560"},{"uid":"c5e49757-5576"},{"uid":"c5e49757-5594"},{"uid":"c5e49757-5600"},{"uid":"c5e49757-5606"},{"uid":"c5e49757-5648"},{"uid":"c5e49757-5656"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5668"},{"uid":"c5e49757-5662"},{"uid":"c5e49757-5148"},{"uid":"c5e49757-5674"},{"uid":"c5e49757-5680"},{"uid":"c5e49757-5712"},{"uid":"c5e49757-5718"},{"uid":"c5e49757-5772"},{"uid":"c5e49757-5778"},{"uid":"c5e49757-5786"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5792"},{"uid":"c5e49757-5400"},{"uid":"c5e49757-5798"},{"uid":"c5e49757-5804"},{"uid":"c5e49757-5450"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5750"},{"uid":"c5e49757-5856"},{"uid":"c5e49757-5866"},{"uid":"c5e49757-5894"},{"uid":"c5e49757-5902"},{"uid":"c5e49757-5908"},{"uid":"c5e49757-5916"},{"uid":"c5e49757-5926"},{"uid":"c5e49757-5932"},{"uid":"c5e49757-6006"},{"uid":"c5e49757-6090"},{"uid":"c5e49757-6106"},{"uid":"c5e49757-5428"},{"uid":"c5e49757-6112"},{"uid":"c5e49757-5320"},{"uid":"c5e49757-6120"},{"uid":"c5e49757-6128"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-6162"},{"uid":"c5e49757-6184"},{"uid":"c5e49757-6204"},{"uid":"c5e49757-6218"},{"uid":"c5e49757-6234"},{"uid":"c5e49757-6258"},{"uid":"c5e49757-6268"},{"uid":"c5e49757-6290"},{"uid":"c5e49757-6302"},{"uid":"c5e49757-6308"}],"importedBy":[{"uid":"c5e49757-6354"}]},"c5e49757-6312":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/infinite-scroll/src/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6313"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-2"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4944"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-4960"}],"importedBy":[{"uid":"c5e49757-6314"}]},"c5e49757-6314":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/infinite-scroll/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6315"},"imported":[{"uid":"c5e49757-6312"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6352"}]},"c5e49757-6316":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/loading/src/loading.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6317"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5092"},{"uid":"c5e49757-4958"},{"uid":"c5e49757-5086"}],"importedBy":[{"uid":"c5e49757-6318"}]},"c5e49757-6318":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/loading/src/service.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6319"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6316"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4958"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6324"},{"uid":"c5e49757-6320"}]},"c5e49757-6320":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/loading/src/directive.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6321"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-6318"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6324"}]},"c5e49757-6322":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/loading/src/types.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6323"},"imported":[],"importedBy":[{"uid":"c5e49757-6324"}]},"c5e49757-6324":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/loading/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6325"},"imported":[{"uid":"c5e49757-6318"},{"uid":"c5e49757-6320"},{"uid":"c5e49757-6322"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6352"}]},"c5e49757-6326":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/message/src/message.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6327"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-5012"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4976"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6334"},{"uid":"c5e49757-6332"},{"uid":"c5e49757-6330"}]},"c5e49757-6328":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/message/src/instance.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6329"},"imported":[{"uid":"c5e49757-626"}],"importedBy":[{"uid":"c5e49757-6332"},{"uid":"c5e49757-6330"}]},"c5e49757-6330":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/message/src/message2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6331"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5252"},{"uid":"c5e49757-5092"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-6326"},{"uid":"c5e49757-6328"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-4982"}],"importedBy":[{"uid":"c5e49757-6332"}]},"c5e49757-6332":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/message/src/method.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6333"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5092"},{"uid":"c5e49757-6330"},{"uid":"c5e49757-6326"},{"uid":"c5e49757-6328"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5090"}],"importedBy":[{"uid":"c5e49757-6334"}]},"c5e49757-6334":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/message/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6335"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6332"},{"uid":"c5e49757-6326"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6352"}]},"c5e49757-6336":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/message-box/src/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6337"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5280"},{"uid":"c5e49757-5306"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5148"},{"uid":"c5e49757-5580"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5192"},{"uid":"c5e49757-5092"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5302"},{"uid":"c5e49757-5190"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-4998"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-5022"},{"uid":"c5e49757-5044"},{"uid":"c5e49757-5032"}],"importedBy":[{"uid":"c5e49757-6338"}]},"c5e49757-6338":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/message-box/src/messageBox.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6339"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6336"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-4956"},{"uid":"c5e49757-4940"}],"importedBy":[{"uid":"c5e49757-6342"}]},"c5e49757-6340":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/message-box/src/message-box.type.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6341"},"imported":[],"importedBy":[{"uid":"c5e49757-6342"}]},"c5e49757-6342":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/message-box/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6343"},"imported":[{"uid":"c5e49757-6338"},{"uid":"c5e49757-6340"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6352"}]},"c5e49757-6344":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/notification/src/notification.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6345"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-4972"},{"uid":"c5e49757-4976"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6350"},{"uid":"c5e49757-6348"},{"uid":"c5e49757-6346"}]},"c5e49757-6346":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/notification/src/notification2.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6347"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5092"},{"uid":"c5e49757-6344"},{"uid":"c5e49757-5100"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-4976"},{"uid":"c5e49757-4982"}],"importedBy":[{"uid":"c5e49757-6348"}]},"c5e49757-6348":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/notification/src/notify.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6349"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-5016"},{"uid":"c5e49757-6346"},{"uid":"c5e49757-6344"},{"uid":"c5e49757-4940"},{"uid":"c5e49757-4948"},{"uid":"c5e49757-3346"},{"uid":"c5e49757-4956"}],"importedBy":[{"uid":"c5e49757-6350"}]},"c5e49757-6350":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/notification/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6351"},"imported":[{"uid":"c5e49757-5016"},{"uid":"c5e49757-6348"},{"uid":"c5e49757-6344"},{"uid":"c5e49757-4978"}],"importedBy":[{"uid":"c5e49757-6358"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-6352"}]},"c5e49757-6352":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/plugin.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6353"},"imported":[{"uid":"c5e49757-6314"},{"uid":"c5e49757-6324"},{"uid":"c5e49757-6334"},{"uid":"c5e49757-6342"},{"uid":"c5e49757-6350"},{"uid":"c5e49757-5786"}],"importedBy":[{"uid":"c5e49757-6354"}]},"c5e49757-6354":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/defaults.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6355"},"imported":[{"uid":"c5e49757-5096"},{"uid":"c5e49757-6310"},{"uid":"c5e49757-6352"}],"importedBy":[{"uid":"c5e49757-6358"}]},"c5e49757-6356":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/components/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6357"},"imported":[{"uid":"c5e49757-5104"},{"uid":"c5e49757-5116"},{"uid":"c5e49757-5232"},{"uid":"c5e49757-5238"},{"uid":"c5e49757-5246"},{"uid":"c5e49757-5252"},{"uid":"c5e49757-5264"},{"uid":"c5e49757-5280"},{"uid":"c5e49757-5334"},{"uid":"c5e49757-5340"},{"uid":"c5e49757-5356"},{"uid":"c5e49757-5436"},{"uid":"c5e49757-5422"},{"uid":"c5e49757-5442"},{"uid":"c5e49757-5382"},{"uid":"c5e49757-5456"},{"uid":"c5e49757-5476"},{"uid":"c5e49757-5468"},{"uid":"c5e49757-5498"},{"uid":"c5e49757-5092"},{"uid":"c5e49757-5510"},{"uid":"c5e49757-5916"},{"uid":"c5e49757-5560"},{"uid":"c5e49757-5576"},{"uid":"c5e49757-5594"},{"uid":"c5e49757-5600"},{"uid":"c5e49757-5606"},{"uid":"c5e49757-5648"},{"uid":"c5e49757-5656"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5668"},{"uid":"c5e49757-5662"},{"uid":"c5e49757-5148"},{"uid":"c5e49757-5674"},{"uid":"c5e49757-5680"},{"uid":"c5e49757-5712"},{"uid":"c5e49757-5580"},{"uid":"c5e49757-5718"},{"uid":"c5e49757-5772"},{"uid":"c5e49757-5778"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5792"},{"uid":"c5e49757-5400"},{"uid":"c5e49757-5798"},{"uid":"c5e49757-5804"},{"uid":"c5e49757-5450"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5750"},{"uid":"c5e49757-5856"},{"uid":"c5e49757-5866"},{"uid":"c5e49757-5894"},{"uid":"c5e49757-5902"},{"uid":"c5e49757-5908"},{"uid":"c5e49757-5926"},{"uid":"c5e49757-5932"},{"uid":"c5e49757-6006"},{"uid":"c5e49757-6090"},{"uid":"c5e49757-6106"},{"uid":"c5e49757-5428"},{"uid":"c5e49757-6112"},{"uid":"c5e49757-5320"},{"uid":"c5e49757-6120"},{"uid":"c5e49757-6128"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-6184"},{"uid":"c5e49757-6204"},{"uid":"c5e49757-6218"},{"uid":"c5e49757-6234"},{"uid":"c5e49757-6258"},{"uid":"c5e49757-5834"},{"uid":"c5e49757-6268"},{"uid":"c5e49757-6290"},{"uid":"c5e49757-6302"},{"uid":"c5e49757-6308"},{"uid":"c5e49757-6314"},{"uid":"c5e49757-6324"},{"uid":"c5e49757-6334"},{"uid":"c5e49757-6342"},{"uid":"c5e49757-6350"},{"uid":"c5e49757-5786"},{"uid":"c5e49757-5098"},{"uid":"c5e49757-5112"},{"uid":"c5e49757-5228"},{"uid":"c5e49757-5234"},{"uid":"c5e49757-5240"},{"uid":"c5e49757-5248"},{"uid":"c5e49757-5256"},{"uid":"c5e49757-5260"},{"uid":"c5e49757-5254"},{"uid":"c5e49757-5270"},{"uid":"c5e49757-5266"},{"uid":"c5e49757-5330"},{"uid":"c5e49757-5336"},{"uid":"c5e49757-5342"},{"uid":"c5e49757-5350"},{"uid":"c5e49757-5344"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-5404"},{"uid":"c5e49757-5414"},{"uid":"c5e49757-5438"},{"uid":"c5e49757-5378"},{"uid":"c5e49757-5358"},{"uid":"c5e49757-5360"},{"uid":"c5e49757-5452"},{"uid":"c5e49757-5458"},{"uid":"c5e49757-5470"},{"uid":"c5e49757-5460"},{"uid":"c5e49757-5488"},{"uid":"c5e49757-5090"},{"uid":"c5e49757-5088"},{"uid":"c5e49757-5084"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-5910"},{"uid":"c5e49757-5512"},{"uid":"c5e49757-5514"},{"uid":"c5e49757-5570"},{"uid":"c5e49757-5574"},{"uid":"c5e49757-5590"},{"uid":"c5e49757-5588"},{"uid":"c5e49757-5582"},{"uid":"c5e49757-5596"},{"uid":"c5e49757-5602"},{"uid":"c5e49757-5632"},{"uid":"c5e49757-5634"},{"uid":"c5e49757-5652"},{"uid":"c5e49757-5126"},{"uid":"c5e49757-5132"},{"uid":"c5e49757-5118"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-5106"},{"uid":"c5e49757-5664"},{"uid":"c5e49757-5658"},{"uid":"c5e49757-5144"},{"uid":"c5e49757-5670"},{"uid":"c5e49757-5676"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5700"},{"uid":"c5e49757-5704"},{"uid":"c5e49757-5696"},{"uid":"c5e49757-5578"},{"uid":"c5e49757-5714"},{"uid":"c5e49757-5770"},{"uid":"c5e49757-5720"},{"uid":"c5e49757-5774"},{"uid":"c5e49757-5170"},{"uid":"c5e49757-5182"},{"uid":"c5e49757-5194"},{"uid":"c5e49757-5174"},{"uid":"c5e49757-5168"},{"uid":"c5e49757-5176"},{"uid":"c5e49757-5184"},{"uid":"c5e49757-5206"},{"uid":"c5e49757-5788"},{"uid":"c5e49757-5384"},{"uid":"c5e49757-5396"},{"uid":"c5e49757-5392"},{"uid":"c5e49757-5386"},{"uid":"c5e49757-5794"},{"uid":"c5e49757-5800"},{"uid":"c5e49757-5446"},{"uid":"c5e49757-5444"},{"uid":"c5e49757-5150"},{"uid":"c5e49757-5162"},{"uid":"c5e49757-5154"},{"uid":"c5e49757-5152"},{"uid":"c5e49757-5730"},{"uid":"c5e49757-5844"},{"uid":"c5e49757-5858"},{"uid":"c5e49757-5860"},{"uid":"c5e49757-5870"},{"uid":"c5e49757-5868"},{"uid":"c5e49757-5900"},{"uid":"c5e49757-5896"},{"uid":"c5e49757-5898"},{"uid":"c5e49757-5904"},{"uid":"c5e49757-5922"},{"uid":"c5e49757-5918"},{"uid":"c5e49757-5928"},{"uid":"c5e49757-6008"},{"uid":"c5e49757-6084"},{"uid":"c5e49757-6010"},{"uid":"c5e49757-6086"},{"uid":"c5e49757-6042"},{"uid":"c5e49757-6036"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-6094"},{"uid":"c5e49757-6098"},{"uid":"c5e49757-6102"},{"uid":"c5e49757-6092"},{"uid":"c5e49757-5424"},{"uid":"c5e49757-6108"},{"uid":"c5e49757-5284"},{"uid":"c5e49757-5282"},{"uid":"c5e49757-5288"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5312"},{"uid":"c5e49757-6124"},{"uid":"c5e49757-5216"},{"uid":"c5e49757-5214"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-5210"},{"uid":"c5e49757-6164"},{"uid":"c5e49757-6240"},{"uid":"c5e49757-6250"},{"uid":"c5e49757-6242"},{"uid":"c5e49757-6246"},{"uid":"c5e49757-6236"},{"uid":"c5e49757-5820"},{"uid":"c5e49757-5822"},{"uid":"c5e49757-5828"},{"uid":"c5e49757-5830"},{"uid":"c5e49757-5812"},{"uid":"c5e49757-6260"},{"uid":"c5e49757-6282"},{"uid":"c5e49757-6286"},{"uid":"c5e49757-6276"},{"uid":"c5e49757-6292"},{"uid":"c5e49757-6304"},{"uid":"c5e49757-6320"},{"uid":"c5e49757-6318"},{"uid":"c5e49757-6326"},{"uid":"c5e49757-6344"},{"uid":"c5e49757-5780"}],"importedBy":[{"uid":"c5e49757-6358"}]},"c5e49757-6358":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/index.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6359"},"imported":[{"uid":"c5e49757-6354"},{"uid":"c5e49757-6356"},{"uid":"c5e49757-4992"},{"uid":"c5e49757-5306"},{"uid":"c5e49757-5082"},{"uid":"c5e49757-5096"},{"uid":"c5e49757-312"},{"uid":"c5e49757-5098"},{"uid":"c5e49757-5104"},{"uid":"c5e49757-5112"},{"uid":"c5e49757-5116"},{"uid":"c5e49757-5228"},{"uid":"c5e49757-5232"},{"uid":"c5e49757-5234"},{"uid":"c5e49757-5238"},{"uid":"c5e49757-5240"},{"uid":"c5e49757-5246"},{"uid":"c5e49757-5248"},{"uid":"c5e49757-5252"},{"uid":"c5e49757-5256"},{"uid":"c5e49757-5260"},{"uid":"c5e49757-5254"},{"uid":"c5e49757-5264"},{"uid":"c5e49757-5270"},{"uid":"c5e49757-5266"},{"uid":"c5e49757-5280"},{"uid":"c5e49757-5330"},{"uid":"c5e49757-5334"},{"uid":"c5e49757-5336"},{"uid":"c5e49757-5340"},{"uid":"c5e49757-5342"},{"uid":"c5e49757-5350"},{"uid":"c5e49757-5344"},{"uid":"c5e49757-5356"},{"uid":"c5e49757-5430"},{"uid":"c5e49757-5436"},{"uid":"c5e49757-5404"},{"uid":"c5e49757-5414"},{"uid":"c5e49757-5422"},{"uid":"c5e49757-5438"},{"uid":"c5e49757-5442"},{"uid":"c5e49757-5378"},{"uid":"c5e49757-5358"},{"uid":"c5e49757-5360"},{"uid":"c5e49757-5382"},{"uid":"c5e49757-5452"},{"uid":"c5e49757-5456"},{"uid":"c5e49757-5458"},{"uid":"c5e49757-5470"},{"uid":"c5e49757-5460"},{"uid":"c5e49757-5476"},{"uid":"c5e49757-5468"},{"uid":"c5e49757-5488"},{"uid":"c5e49757-5498"},{"uid":"c5e49757-5090"},{"uid":"c5e49757-5088"},{"uid":"c5e49757-5084"},{"uid":"c5e49757-5086"},{"uid":"c5e49757-5092"},{"uid":"c5e49757-5510"},{"uid":"c5e49757-5910"},{"uid":"c5e49757-5916"},{"uid":"c5e49757-5512"},{"uid":"c5e49757-5514"},{"uid":"c5e49757-5560"},{"uid":"c5e49757-5570"},{"uid":"c5e49757-5574"},{"uid":"c5e49757-5576"},{"uid":"c5e49757-5590"},{"uid":"c5e49757-5588"},{"uid":"c5e49757-5582"},{"uid":"c5e49757-5594"},{"uid":"c5e49757-5596"},{"uid":"c5e49757-5600"},{"uid":"c5e49757-5602"},{"uid":"c5e49757-5606"},{"uid":"c5e49757-5632"},{"uid":"c5e49757-5634"},{"uid":"c5e49757-5648"},{"uid":"c5e49757-5652"},{"uid":"c5e49757-5656"},{"uid":"c5e49757-5126"},{"uid":"c5e49757-5132"},{"uid":"c5e49757-5118"},{"uid":"c5e49757-5120"},{"uid":"c5e49757-5122"},{"uid":"c5e49757-5140"},{"uid":"c5e49757-5106"},{"uid":"c5e49757-5110"},{"uid":"c5e49757-5664"},{"uid":"c5e49757-5668"},{"uid":"c5e49757-5658"},{"uid":"c5e49757-5662"},{"uid":"c5e49757-5144"},{"uid":"c5e49757-5148"},{"uid":"c5e49757-5670"},{"uid":"c5e49757-5674"},{"uid":"c5e49757-5676"},{"uid":"c5e49757-5680"},{"uid":"c5e49757-5698"},{"uid":"c5e49757-5700"},{"uid":"c5e49757-5704"},{"uid":"c5e49757-5696"},{"uid":"c5e49757-5712"},{"uid":"c5e49757-5578"},{"uid":"c5e49757-5580"},{"uid":"c5e49757-5714"},{"uid":"c5e49757-5718"},{"uid":"c5e49757-5770"},{"uid":"c5e49757-5720"},{"uid":"c5e49757-5772"},{"uid":"c5e49757-5774"},{"uid":"c5e49757-5778"},{"uid":"c5e49757-5170"},{"uid":"c5e49757-5182"},{"uid":"c5e49757-5194"},{"uid":"c5e49757-5174"},{"uid":"c5e49757-5168"},{"uid":"c5e49757-5176"},{"uid":"c5e49757-5184"},{"uid":"c5e49757-5206"},{"uid":"c5e49757-5208"},{"uid":"c5e49757-5788"},{"uid":"c5e49757-5792"},{"uid":"c5e49757-5384"},{"uid":"c5e49757-5396"},{"uid":"c5e49757-5392"},{"uid":"c5e49757-5386"},{"uid":"c5e49757-5400"},{"uid":"c5e49757-5794"},{"uid":"c5e49757-5798"},{"uid":"c5e49757-5800"},{"uid":"c5e49757-5804"},{"uid":"c5e49757-5446"},{"uid":"c5e49757-5444"},{"uid":"c5e49757-5450"},{"uid":"c5e49757-5150"},{"uid":"c5e49757-5162"},{"uid":"c5e49757-5154"},{"uid":"c5e49757-5152"},{"uid":"c5e49757-5166"},{"uid":"c5e49757-5730"},{"uid":"c5e49757-5750"},{"uid":"c5e49757-5844"},{"uid":"c5e49757-5856"},{"uid":"c5e49757-5858"},{"uid":"c5e49757-5860"},{"uid":"c5e49757-5866"},{"uid":"c5e49757-5870"},{"uid":"c5e49757-5868"},{"uid":"c5e49757-5894"},{"uid":"c5e49757-5900"},{"uid":"c5e49757-5896"},{"uid":"c5e49757-5898"},{"uid":"c5e49757-5902"},{"uid":"c5e49757-5904"},{"uid":"c5e49757-5908"},{"uid":"c5e49757-5922"},{"uid":"c5e49757-5918"},{"uid":"c5e49757-5926"},{"uid":"c5e49757-5928"},{"uid":"c5e49757-5932"},{"uid":"c5e49757-6006"},{"uid":"c5e49757-6008"},{"uid":"c5e49757-6084"},{"uid":"c5e49757-6010"},{"uid":"c5e49757-6086"},{"uid":"c5e49757-6042"},{"uid":"c5e49757-6036"},{"uid":"c5e49757-6090"},{"uid":"c5e49757-6100"},{"uid":"c5e49757-6094"},{"uid":"c5e49757-6098"},{"uid":"c5e49757-6102"},{"uid":"c5e49757-6092"},{"uid":"c5e49757-6106"},{"uid":"c5e49757-5424"},{"uid":"c5e49757-5428"},{"uid":"c5e49757-6108"},{"uid":"c5e49757-6112"},{"uid":"c5e49757-5284"},{"uid":"c5e49757-5282"},{"uid":"c5e49757-5288"},{"uid":"c5e49757-5290"},{"uid":"c5e49757-5312"},{"uid":"c5e49757-5320"},{"uid":"c5e49757-6120"},{"uid":"c5e49757-6124"},{"uid":"c5e49757-6128"},{"uid":"c5e49757-5216"},{"uid":"c5e49757-5214"},{"uid":"c5e49757-5212"},{"uid":"c5e49757-5210"},{"uid":"c5e49757-5226"},{"uid":"c5e49757-6164"},{"uid":"c5e49757-6184"},{"uid":"c5e49757-6204"},{"uid":"c5e49757-6218"},{"uid":"c5e49757-6234"},{"uid":"c5e49757-6240"},{"uid":"c5e49757-6250"},{"uid":"c5e49757-6242"},{"uid":"c5e49757-6246"},{"uid":"c5e49757-6236"},{"uid":"c5e49757-6258"},{"uid":"c5e49757-5820"},{"uid":"c5e49757-5822"},{"uid":"c5e49757-5828"},{"uid":"c5e49757-5830"},{"uid":"c5e49757-5812"},{"uid":"c5e49757-6260"},{"uid":"c5e49757-6268"},{"uid":"c5e49757-6282"},{"uid":"c5e49757-6286"},{"uid":"c5e49757-6276"},{"uid":"c5e49757-6290"},{"uid":"c5e49757-6292"},{"uid":"c5e49757-6302"},{"uid":"c5e49757-6304"},{"uid":"c5e49757-6308"},{"uid":"c5e49757-6314"},{"uid":"c5e49757-6324"},{"uid":"c5e49757-6320"},{"uid":"c5e49757-6318"},{"uid":"c5e49757-6326"},{"uid":"c5e49757-6334"},{"uid":"c5e49757-6342"},{"uid":"c5e49757-6344"},{"uid":"c5e49757-6350"},{"uid":"c5e49757-5780"},{"uid":"c5e49757-5786"},{"uid":"c5e49757-4982"},{"uid":"c5e49757-4984"},{"uid":"c5e49757-4986"},{"uid":"c5e49757-4988"},{"uid":"c5e49757-4990"},{"uid":"c5e49757-5298"},{"uid":"c5e49757-5300"},{"uid":"c5e49757-5302"},{"uid":"c5e49757-5304"},{"uid":"c5e49757-5018"},{"uid":"c5e49757-5020"},{"uid":"c5e49757-5022"},{"uid":"c5e49757-5024"},{"uid":"c5e49757-5028"},{"uid":"c5e49757-5032"},{"uid":"c5e49757-5034"},{"uid":"c5e49757-5036"},{"uid":"c5e49757-5038"},{"uid":"c5e49757-5040"},{"uid":"c5e49757-5042"},{"uid":"c5e49757-5044"},{"uid":"c5e49757-5046"},{"uid":"c5e49757-5048"},{"uid":"c5e49757-5050"},{"uid":"c5e49757-5052"},{"uid":"c5e49757-5054"},{"uid":"c5e49757-5056"},{"uid":"c5e49757-5058"},{"uid":"c5e49757-5060"},{"uid":"c5e49757-5062"},{"uid":"c5e49757-5064"},{"uid":"c5e49757-5030"},{"uid":"c5e49757-5066"},{"uid":"c5e49757-5068"},{"uid":"c5e49757-5070"},{"uid":"c5e49757-5072"},{"uid":"c5e49757-5074"},{"uid":"c5e49757-5076"},{"uid":"c5e49757-5078"},{"uid":"c5e49757-5080"}],"importedBy":[{"uid":"c5e49757-4484"},{"uid":"c5e49757-3566"},{"uid":"c5e49757-3184"},{"uid":"c5e49757-3318"},{"uid":"c5e49757-3284"},{"uid":"c5e49757-3290"},{"uid":"c5e49757-3406"},{"uid":"c5e49757-224"},{"uid":"c5e49757-132"},{"uid":"c5e49757-3296"},{"uid":"c5e49757-3392"},{"uid":"c5e49757-3794"},{"uid":"c5e49757-3746"},{"uid":"c5e49757-3674"},{"uid":"c5e49757-3482"},{"uid":"c5e49757-3386"},{"uid":"c5e49757-3412"},{"uid":"c5e49757-3398"},{"uid":"c5e49757-3424"},{"uid":"c5e49757-3646"},{"uid":"c5e49757-3660"},{"uid":"c5e49757-3698"},{"uid":"c5e49757-3716"},{"uid":"c5e49757-3668"},{"uid":"c5e49757-3526"},{"uid":"c5e49757-3454"},{"uid":"c5e49757-3436"},{"uid":"c5e49757-3692"},{"uid":"c5e49757-3758"},{"uid":"c5e49757-3652"},{"uid":"c5e49757-3734"},{"uid":"c5e49757-3770"},{"uid":"c5e49757-3634"},{"uid":"c5e49757-3728"},{"uid":"c5e49757-3430"},{"uid":"c5e49757-3782"},{"uid":"c5e49757-3496"},{"uid":"c5e49757-3704"},{"uid":"c5e49757-3752"},{"uid":"c5e49757-3776"},{"uid":"c5e49757-3628"},{"uid":"c5e49757-3710"},{"uid":"c5e49757-3508"},{"uid":"c5e49757-3460"},{"uid":"c5e49757-3680"},{"uid":"c5e49757-4082"},{"uid":"c5e49757-4490"},{"uid":"c5e49757-3932"},{"uid":"c5e49757-4132"},{"uid":"c5e49757-4286"},{"uid":"c5e49757-4138"},{"uid":"c5e49757-4334"},{"uid":"c5e49757-4396"},{"uid":"c5e49757-4088"},{"uid":"c5e49757-3946"},{"uid":"c5e49757-3952"},{"uid":"c5e49757-3974"},{"uid":"c5e49757-4228"},{"uid":"c5e49757-4164"},{"uid":"c5e49757-4680"},{"uid":"c5e49757-4552"},{"uid":"c5e49757-4794"},{"uid":"c5e49757-4672"},{"uid":"c5e49757-4644"},{"uid":"c5e49757-4546"},{"uid":"c5e49757-4736"},{"uid":"c5e49757-4592"},{"uid":"c5e49757-4348"},{"uid":"c5e49757-4686"},{"uid":"c5e49757-4776"},{"uid":"c5e49757-4390"},{"uid":"c5e49757-4730"},{"uid":"c5e49757-4384"},{"uid":"c5e49757-4320"},{"uid":"c5e49757-4272"},{"uid":"c5e49757-3994"},{"uid":"c5e49757-4304"},{"uid":"c5e49757-3906"},{"uid":"c5e49757-3800"},{"uid":"c5e49757-4440"},{"uid":"c5e49757-4170"},{"uid":"c5e49757-4788"},{"uid":"c5e49757-4266"},{"uid":"c5e49757-4762"},{"uid":"c5e49757-3818"},{"uid":"c5e49757-3830"},{"uid":"c5e49757-4260"},{"uid":"c5e49757-4610"},{"uid":"c5e49757-4414"},{"uid":"c5e49757-4460"},{"uid":"c5e49757-3874"},{"uid":"c5e49757-4108"},{"uid":"c5e49757-4120"},{"uid":"c5e49757-4058"},{"uid":"c5e49757-4114"},{"uid":"c5e49757-3476"},{"uid":"c5e49757-4514"},{"uid":"c5e49757-4466"},{"uid":"c5e49757-4598"},{"uid":"c5e49757-3900"},{"uid":"c5e49757-3924"},{"uid":"c5e49757-4800"},{"uid":"c5e49757-4452"},{"uid":"c5e49757-4402"},{"uid":"c5e49757-4874"},{"uid":"c5e49757-4446"},{"uid":"c5e49757-4520"},{"uid":"c5e49757-4916"},{"uid":"c5e49757-4836"},{"uid":"c5e49757-4748"},{"uid":"c5e49757-4830"},{"uid":"c5e49757-4182"},{"uid":"c5e49757-3912"},{"uid":"c5e49757-4340"},{"uid":"c5e49757-4754"},{"uid":"c5e49757-4586"},{"uid":"c5e49757-4812"},{"uid":"c5e49757-4070"},{"uid":"c5e49757-4818"},{"uid":"c5e49757-4898"},{"uid":"c5e49757-4560"},{"uid":"c5e49757-4928"},{"uid":"c5e49757-4922"},{"uid":"c5e49757-4892"},{"uid":"c5e49757-4216"},{"uid":"c5e49757-4052"},{"uid":"c5e49757-4848"},{"uid":"c5e49757-4666"},{"uid":"c5e49757-4566"},{"uid":"c5e49757-4910"},{"uid":"c5e49757-4126"},{"uid":"c5e49757-4158"},{"uid":"c5e49757-4824"},{"uid":"c5e49757-4782"},{"uid":"c5e49757-4000"},{"uid":"c5e49757-4572"},{"uid":"c5e49757-4378"},{"uid":"c5e49757-4652"},{"uid":"c5e49757-4508"},{"uid":"c5e49757-4242"},{"uid":"c5e49757-4496"},{"uid":"c5e49757-4768"},{"uid":"c5e49757-4254"},{"uid":"c5e49757-4540"},{"uid":"c5e49757-4298"},{"uid":"c5e49757-4434"},{"uid":"c5e49757-4278"},{"uid":"c5e49757-4706"},{"uid":"c5e49757-4040"},{"uid":"c5e49757-4694"},{"uid":"c5e49757-4700"},{"uid":"c5e49757-3888"},{"uid":"c5e49757-4604"},{"uid":"c5e49757-4580"},{"uid":"c5e49757-3958"},{"uid":"c5e49757-4188"},{"uid":"c5e49757-4036"},{"uid":"c5e49757-4222"},{"uid":"c5e49757-4624"},{"uid":"c5e49757-4408"},{"uid":"c5e49757-4660"},{"uid":"c5e49757-4204"},{"uid":"c5e49757-4860"},{"uid":"c5e49757-4018"},{"uid":"c5e49757-4806"},{"uid":"c5e49757-4064"},{"uid":"c5e49757-4094"},{"uid":"c5e49757-3894"},{"uid":"c5e49757-3788"},{"uid":"c5e49757-4428"},{"uid":"c5e49757-464"},{"uid":"c5e49757-586"},{"uid":"c5e49757-558"},{"uid":"c5e49757-238"},{"uid":"c5e49757-520"},{"uid":"c5e49757-674"},{"uid":"c5e49757-678"},{"uid":"c5e49757-286"},{"uid":"c5e49757-590"},{"uid":"c5e49757-4326"},{"uid":"c5e49757-524"},{"uid":"c5e49757-4638"},{"uid":"c5e49757-3966"},{"uid":"c5e49757-4868"},{"uid":"c5e49757-538"},{"uid":"c5e49757-2426"},{"uid":"c5e49757-604"},{"uid":"c5e49757-486"},{"uid":"c5e49757-638"},{"uid":"c5e49757-652"},{"uid":"c5e49757-666"},{"uid":"c5e49757-572"},{"uid":"c5e49757-282"},{"uid":"c5e49757-4886"},{"uid":"c5e49757-252"},{"uid":"c5e49757-592"},{"uid":"c5e49757-3856"},{"uid":"c5e49757-100"},{"uid":"c5e49757-260"},{"uid":"c5e49757-3988"},{"uid":"c5e49757-718"},{"uid":"c5e49757-72"},{"uid":"c5e49757-4006"},{"uid":"c5e49757-230"},{"uid":"c5e49757-2432"},{"uid":"c5e49757-712"},{"uid":"c5e49757-2010"},{"uid":"c5e49757-3192"},{"uid":"c5e49757-296"},{"uid":"c5e49757-2430"},{"uid":"c5e49757-4354"},{"uid":"c5e49757-4360"},{"uid":"c5e49757-4366"},{"uid":"c5e49757-4372"},{"uid":"c5e49757-4198"},{"uid":"c5e49757-2456"},{"uid":"c5e49757-3982"},{"uid":"c5e49757-3490"},{"uid":"c5e49757-3488"},{"uid":"c5e49757-3624"}]},"c5e49757-6360":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/locale/lang/zh-cn.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6361"},"imported":[],"importedBy":[{"uid":"c5e49757-3600"}]},"c5e49757-6362":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/element-plus/es/locale/lang/zh-tw.mjs","moduleParts":{"assets/js/element-plus-B77ZVEG3.js":"c5e49757-6363"},"imported":[],"importedBy":[{"uid":"c5e49757-3600"}]},"c5e49757-6364":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@wangeditor/editor/dist/css/style.css","moduleParts":{"assets/js/@wangeditor-CAsrsU-T.js":"c5e49757-6365"},"imported":[],"importedBy":[{"uid":"c5e49757-2456"}]},"c5e49757-6366":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@wangeditor/editor/dist/index.esm.js","moduleParts":{"assets/js/@wangeditor-CAsrsU-T.js":"c5e49757-6367"},"imported":[],"importedBy":[{"uid":"c5e49757-6368"}]},"c5e49757-6368":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@wangeditor/editor-for-vue/dist/index.esm.js","moduleParts":{"assets/js/@wangeditor-CAsrsU-T.js":"c5e49757-6369"},"imported":[{"uid":"c5e49757-626"},{"uid":"c5e49757-6366"}],"importedBy":[{"uid":"c5e49757-2456"}]},"c5e49757-6370":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/number.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6371"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6440"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6554"},{"uid":"c5e49757-6556"},{"uid":"c5e49757-6566"},{"uid":"c5e49757-6574"},{"uid":"c5e49757-6536"},{"uid":"c5e49757-6626"},{"uid":"c5e49757-6638"},{"uid":"c5e49757-6754"},{"uid":"c5e49757-6790"},{"uid":"c5e49757-6814"},{"uid":"c5e49757-6736"},{"uid":"c5e49757-6838"},{"uid":"c5e49757-6848"},{"uid":"c5e49757-6852"},{"uid":"c5e49757-6902"},{"uid":"c5e49757-6918"},{"uid":"c5e49757-6956"},{"uid":"c5e49757-6966"},{"uid":"c5e49757-6978"},{"uid":"c5e49757-7040"},{"uid":"c5e49757-7046"},{"uid":"c5e49757-6700"},{"uid":"c5e49757-6740"},{"uid":"c5e49757-6872"},{"uid":"c5e49757-7068"},{"uid":"c5e49757-7070"},{"uid":"c5e49757-7076"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-6412"},{"uid":"c5e49757-7162"},{"uid":"c5e49757-7180"},{"uid":"c5e49757-7186"},{"uid":"c5e49757-7192"},{"uid":"c5e49757-7226"},{"uid":"c5e49757-7236"},{"uid":"c5e49757-7242"},{"uid":"c5e49757-7254"},{"uid":"c5e49757-6450"},{"uid":"c5e49757-6494"},{"uid":"c5e49757-6458"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-6408"},{"uid":"c5e49757-6600"},{"uid":"c5e49757-6630"},{"uid":"c5e49757-6786"},{"uid":"c5e49757-6904"},{"uid":"c5e49757-6820"},{"uid":"c5e49757-6970"},{"uid":"c5e49757-6528"},{"uid":"c5e49757-6668"},{"uid":"c5e49757-6672"},{"uid":"c5e49757-6532"},{"uid":"c5e49757-6868"},{"uid":"c5e49757-6538"},{"uid":"c5e49757-7176"},{"uid":"c5e49757-7234"},{"uid":"c5e49757-6540"},{"uid":"c5e49757-7090"}]},"c5e49757-6372":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/log.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6373"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6500"},{"uid":"c5e49757-7282"},{"uid":"c5e49757-6428"},{"uid":"c5e49757-6434"},{"uid":"c5e49757-6438"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6488"},{"uid":"c5e49757-6452"},{"uid":"c5e49757-6400"},{"uid":"c5e49757-6446"},{"uid":"c5e49757-6622"},{"uid":"c5e49757-6906"},{"uid":"c5e49757-6938"},{"uid":"c5e49757-6972"},{"uid":"c5e49757-7002"},{"uid":"c5e49757-7112"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6412"},{"uid":"c5e49757-7226"},{"uid":"c5e49757-7270"},{"uid":"c5e49757-7272"},{"uid":"c5e49757-6436"},{"uid":"c5e49757-6450"},{"uid":"c5e49757-6786"},{"uid":"c5e49757-6998"},{"uid":"c5e49757-7000"},{"uid":"c5e49757-6668"},{"uid":"c5e49757-6738"},{"uid":"c5e49757-7130"},{"uid":"c5e49757-6538"},{"uid":"c5e49757-7268"}]},"c5e49757-6374":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/model.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6375"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2460"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6372"}],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6576"},{"uid":"c5e49757-7282"},{"uid":"c5e49757-6428"},{"uid":"c5e49757-6434"},{"uid":"c5e49757-6438"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6472"},{"uid":"c5e49757-6476"},{"uid":"c5e49757-6488"},{"uid":"c5e49757-6452"},{"uid":"c5e49757-6466"},{"uid":"c5e49757-6426"},{"uid":"c5e49757-6460"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-6574"},{"uid":"c5e49757-6604"},{"uid":"c5e49757-6638"},{"uid":"c5e49757-6778"},{"uid":"c5e49757-6784"},{"uid":"c5e49757-6788"},{"uid":"c5e49757-6832"},{"uid":"c5e49757-6846"},{"uid":"c5e49757-6890"},{"uid":"c5e49757-6964"},{"uid":"c5e49757-6984"},{"uid":"c5e49757-6652"},{"uid":"c5e49757-6670"},{"uid":"c5e49757-7032"},{"uid":"c5e49757-7040"},{"uid":"c5e49757-6742"},{"uid":"c5e49757-7060"},{"uid":"c5e49757-6858"},{"uid":"c5e49757-6870"},{"uid":"c5e49757-7074"},{"uid":"c5e49757-7076"},{"uid":"c5e49757-7110"},{"uid":"c5e49757-7120"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-7022"},{"uid":"c5e49757-7136"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-7162"},{"uid":"c5e49757-7186"},{"uid":"c5e49757-7192"},{"uid":"c5e49757-7196"},{"uid":"c5e49757-7218"},{"uid":"c5e49757-7242"},{"uid":"c5e49757-7262"},{"uid":"c5e49757-7272"},{"uid":"c5e49757-6386"},{"uid":"c5e49757-6422"},{"uid":"c5e49757-6424"},{"uid":"c5e49757-6436"},{"uid":"c5e49757-6444"},{"uid":"c5e49757-6442"},{"uid":"c5e49757-6512"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6516"},{"uid":"c5e49757-6564"},{"uid":"c5e49757-6726"},{"uid":"c5e49757-6758"},{"uid":"c5e49757-6780"},{"uid":"c5e49757-6830"},{"uid":"c5e49757-6998"},{"uid":"c5e49757-7000"},{"uid":"c5e49757-6666"},{"uid":"c5e49757-6678"},{"uid":"c5e49757-7008"},{"uid":"c5e49757-6738"},{"uid":"c5e49757-7114"},{"uid":"c5e49757-7118"},{"uid":"c5e49757-7020"},{"uid":"c5e49757-7016"},{"uid":"c5e49757-7154"},{"uid":"c5e49757-7172"},{"uid":"c5e49757-7178"},{"uid":"c5e49757-7082"},{"uid":"c5e49757-7234"},{"uid":"c5e49757-6518"},{"uid":"c5e49757-6756"},{"uid":"c5e49757-7036"},{"uid":"c5e49757-7090"}]},"c5e49757-6376":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/clazz.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6377"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-6464"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6482"},{"uid":"c5e49757-6400"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6524"}]},"c5e49757-6378":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/model/mixin/makeStyleMapper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6379"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6472"},{"uid":"c5e49757-6784"},{"uid":"c5e49757-6872"},{"uid":"c5e49757-6396"},{"uid":"c5e49757-6394"},{"uid":"c5e49757-6380"}]},"c5e49757-6380":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/model/mixin/areaStyle.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6381"},"imported":[{"uid":"c5e49757-6378"}],"importedBy":[{"uid":"c5e49757-6398"}]},"c5e49757-6382":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/innerStore.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6383"},"imported":[{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-7152"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-6548"},{"uid":"c5e49757-6574"},{"uid":"c5e49757-6604"},{"uid":"c5e49757-6622"},{"uid":"c5e49757-6754"},{"uid":"c5e49757-6784"},{"uid":"c5e49757-6826"},{"uid":"c5e49757-6838"},{"uid":"c5e49757-6886"},{"uid":"c5e49757-6956"},{"uid":"c5e49757-7042"},{"uid":"c5e49757-6746"},{"uid":"c5e49757-7076"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-7162"},{"uid":"c5e49757-7180"},{"uid":"c5e49757-7186"},{"uid":"c5e49757-7192"},{"uid":"c5e49757-7198"},{"uid":"c5e49757-7242"},{"uid":"c5e49757-6590"},{"uid":"c5e49757-6646"},{"uid":"c5e49757-6726"},{"uid":"c5e49757-6780"},{"uid":"c5e49757-6936"},{"uid":"c5e49757-6970"},{"uid":"c5e49757-6672"}]},"c5e49757-6384":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/states.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6385"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-2506"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-6372"}],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6548"},{"uid":"c5e49757-6604"},{"uid":"c5e49757-6622"},{"uid":"c5e49757-6632"},{"uid":"c5e49757-6690"},{"uid":"c5e49757-6728"},{"uid":"c5e49757-6754"},{"uid":"c5e49757-6784"},{"uid":"c5e49757-6838"},{"uid":"c5e49757-6844"},{"uid":"c5e49757-6852"},{"uid":"c5e49757-6886"},{"uid":"c5e49757-6900"},{"uid":"c5e49757-6910"},{"uid":"c5e49757-6950"},{"uid":"c5e49757-6956"},{"uid":"c5e49757-6962"},{"uid":"c5e49757-7002"},{"uid":"c5e49757-7106"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-7162"},{"uid":"c5e49757-7192"},{"uid":"c5e49757-7198"},{"uid":"c5e49757-7226"},{"uid":"c5e49757-7242"},{"uid":"c5e49757-6570"},{"uid":"c5e49757-6590"},{"uid":"c5e49757-6726"},{"uid":"c5e49757-6780"},{"uid":"c5e49757-6922"},{"uid":"c5e49757-6820"},{"uid":"c5e49757-6932"},{"uid":"c5e49757-6970"},{"uid":"c5e49757-7178"}]},"c5e49757-6386":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/animation/basicTransition.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6387"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-7282"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6622"},{"uid":"c5e49757-6632"},{"uid":"c5e49757-6690"},{"uid":"c5e49757-6844"},{"uid":"c5e49757-6852"},{"uid":"c5e49757-6900"},{"uid":"c5e49757-6910"},{"uid":"c5e49757-6962"},{"uid":"c5e49757-7076"},{"uid":"c5e49757-7280"},{"uid":"c5e49757-6590"},{"uid":"c5e49757-6970"},{"uid":"c5e49757-6998"},{"uid":"c5e49757-7000"}]},"c5e49757-6388":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/graphic.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6389"},"imported":[{"uid":"c5e49757-2568"},{"uid":"c5e49757-2480"},{"uid":"c5e49757-2466"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2518"},{"uid":"c5e49757-2556"},{"uid":"c5e49757-2524"},{"uid":"c5e49757-2564"},{"uid":"c5e49757-2570"},{"uid":"c5e49757-2572"},{"uid":"c5e49757-2576"},{"uid":"c5e49757-2578"},{"uid":"c5e49757-2584"},{"uid":"c5e49757-2586"},{"uid":"c5e49757-2562"},{"uid":"c5e49757-2588"},{"uid":"c5e49757-2590"},{"uid":"c5e49757-2592"},{"uid":"c5e49757-2594"},{"uid":"c5e49757-2598"},{"uid":"c5e49757-2600"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-2602"},{"uid":"c5e49757-2482"},{"uid":"c5e49757-2604"},{"uid":"c5e49757-2560"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6386"}],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6682"},{"uid":"c5e49757-7152"},{"uid":"c5e49757-7282"},{"uid":"c5e49757-6474"},{"uid":"c5e49757-6558"},{"uid":"c5e49757-6574"},{"uid":"c5e49757-6586"},{"uid":"c5e49757-6604"},{"uid":"c5e49757-6622"},{"uid":"c5e49757-6632"},{"uid":"c5e49757-6690"},{"uid":"c5e49757-6728"},{"uid":"c5e49757-6754"},{"uid":"c5e49757-6784"},{"uid":"c5e49757-6826"},{"uid":"c5e49757-6838"},{"uid":"c5e49757-6844"},{"uid":"c5e49757-6852"},{"uid":"c5e49757-6886"},{"uid":"c5e49757-6900"},{"uid":"c5e49757-6910"},{"uid":"c5e49757-6918"},{"uid":"c5e49757-6950"},{"uid":"c5e49757-6956"},{"uid":"c5e49757-6962"},{"uid":"c5e49757-7002"},{"uid":"c5e49757-6680"},{"uid":"c5e49757-7028"},{"uid":"c5e49757-7042"},{"uid":"c5e49757-7044"},{"uid":"c5e49757-6696"},{"uid":"c5e49757-7052"},{"uid":"c5e49757-6878"},{"uid":"c5e49757-7068"},{"uid":"c5e49757-7076"},{"uid":"c5e49757-7106"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-7162"},{"uid":"c5e49757-7192"},{"uid":"c5e49757-7208"},{"uid":"c5e49757-7198"},{"uid":"c5e49757-7226"},{"uid":"c5e49757-7242"},{"uid":"c5e49757-7256"},{"uid":"c5e49757-7280"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-6570"},{"uid":"c5e49757-6572"},{"uid":"c5e49757-6592"},{"uid":"c5e49757-6590"},{"uid":"c5e49757-6600"},{"uid":"c5e49757-6616"},{"uid":"c5e49757-6630"},{"uid":"c5e49757-6646"},{"uid":"c5e49757-6726"},{"uid":"c5e49757-6780"},{"uid":"c5e49757-6822"},{"uid":"c5e49757-6922"},{"uid":"c5e49757-6930"},{"uid":"c5e49757-6820"},{"uid":"c5e49757-6932"},{"uid":"c5e49757-6936"},{"uid":"c5e49757-6970"},{"uid":"c5e49757-6998"},{"uid":"c5e49757-6672"},{"uid":"c5e49757-6678"},{"uid":"c5e49757-7008"},{"uid":"c5e49757-7010"},{"uid":"c5e49757-6868"},{"uid":"c5e49757-6874"},{"uid":"c5e49757-6876"},{"uid":"c5e49757-7104"},{"uid":"c5e49757-7118"},{"uid":"c5e49757-7140"},{"uid":"c5e49757-6410"},{"uid":"c5e49757-7238"},{"uid":"c5e49757-6818"}]},"c5e49757-6390":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/label/labelStyle.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6391"},"imported":[{"uid":"c5e49757-2564"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6388"}],"importedBy":[{"uid":"c5e49757-7152"},{"uid":"c5e49757-6548"},{"uid":"c5e49757-6574"},{"uid":"c5e49757-6604"},{"uid":"c5e49757-6622"},{"uid":"c5e49757-6632"},{"uid":"c5e49757-6690"},{"uid":"c5e49757-6728"},{"uid":"c5e49757-6784"},{"uid":"c5e49757-6838"},{"uid":"c5e49757-6844"},{"uid":"c5e49757-6886"},{"uid":"c5e49757-6950"},{"uid":"c5e49757-6956"},{"uid":"c5e49757-6962"},{"uid":"c5e49757-7002"},{"uid":"c5e49757-7042"},{"uid":"c5e49757-7068"},{"uid":"c5e49757-7106"},{"uid":"c5e49757-7162"},{"uid":"c5e49757-7192"},{"uid":"c5e49757-7198"},{"uid":"c5e49757-7226"},{"uid":"c5e49757-7242"},{"uid":"c5e49757-7256"},{"uid":"c5e49757-6392"},{"uid":"c5e49757-6592"},{"uid":"c5e49757-6590"},{"uid":"c5e49757-6726"},{"uid":"c5e49757-6780"},{"uid":"c5e49757-6822"},{"uid":"c5e49757-6820"},{"uid":"c5e49757-6970"},{"uid":"c5e49757-6672"},{"uid":"c5e49757-7010"}]},"c5e49757-6392":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/model/mixin/textStyle.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6393"},"imported":[{"uid":"c5e49757-6390"},{"uid":"c5e49757-2564"}],"importedBy":[{"uid":"c5e49757-6398"}]},"c5e49757-6394":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/model/mixin/lineStyle.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6395"},"imported":[{"uid":"c5e49757-6378"}],"importedBy":[{"uid":"c5e49757-6472"},{"uid":"c5e49757-6398"}]},"c5e49757-6396":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/model/mixin/itemStyle.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6397"},"imported":[{"uid":"c5e49757-6378"}],"importedBy":[{"uid":"c5e49757-6472"},{"uid":"c5e49757-6398"}]},"c5e49757-6398":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/model/Model.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6399"},"imported":[{"uid":"c5e49757-2460"},{"uid":"c5e49757-6376"},{"uid":"c5e49757-6380"},{"uid":"c5e49757-6392"},{"uid":"c5e49757-6394"},{"uid":"c5e49757-6396"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6416"},{"uid":"c5e49757-6568"},{"uid":"c5e49757-6428"},{"uid":"c5e49757-6472"},{"uid":"c5e49757-6406"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-6548"},{"uid":"c5e49757-6762"},{"uid":"c5e49757-6778"},{"uid":"c5e49757-6832"},{"uid":"c5e49757-6888"},{"uid":"c5e49757-6976"},{"uid":"c5e49757-7042"},{"uid":"c5e49757-6694"},{"uid":"c5e49757-6742"},{"uid":"c5e49757-7106"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-6674"},{"uid":"c5e49757-7146"},{"uid":"c5e49757-7196"},{"uid":"c5e49757-6408"},{"uid":"c5e49757-6672"}]},"c5e49757-6400":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/component.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6401"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6376"},{"uid":"c5e49757-6372"}],"importedBy":[{"uid":"c5e49757-6464"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6476"},{"uid":"c5e49757-6614"},{"uid":"c5e49757-6958"},{"uid":"c5e49757-7106"},{"uid":"c5e49757-7156"},{"uid":"c5e49757-7206"},{"uid":"c5e49757-7216"},{"uid":"c5e49757-7224"},{"uid":"c5e49757-7236"},{"uid":"c5e49757-7254"},{"uid":"c5e49757-6726"}]},"c5e49757-6402":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/i18n/langEN.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6403"},"imported":[],"importedBy":[{"uid":"c5e49757-6406"}]},"c5e49757-6404":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/i18n/langZH.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6405"},"imported":[],"importedBy":[{"uid":"c5e49757-6406"}]},"c5e49757-6406":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/core/locale.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6407"},"imported":[{"uid":"c5e49757-6398"},{"uid":"c5e49757-2460"},{"uid":"c5e49757-6402"},{"uid":"c5e49757-6404"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-7068"},{"uid":"c5e49757-6408"}]},"c5e49757-6408":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/time.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6409"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6406"},{"uid":"c5e49757-6398"}],"importedBy":[{"uid":"c5e49757-6556"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-6412"},{"uid":"c5e49757-6538"}]},"c5e49757-6410":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/legacy/getTextRect.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6411"},"imported":[{"uid":"c5e49757-6388"}],"importedBy":[{"uid":"c5e49757-6412"}]},"c5e49757-6412":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/format.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6413"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2474"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6408"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-2530"},{"uid":"c5e49757-6410"}],"importedBy":[{"uid":"c5e49757-7152"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6446"},{"uid":"c5e49757-6560"},{"uid":"c5e49757-6604"},{"uid":"c5e49757-6784"},{"uid":"c5e49757-6974"},{"uid":"c5e49757-7068"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-6458"},{"uid":"c5e49757-7010"},{"uid":"c5e49757-6532"},{"uid":"c5e49757-7104"},{"uid":"c5e49757-7128"},{"uid":"c5e49757-7126"},{"uid":"c5e49757-7238"}]},"c5e49757-6414":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/layout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6415"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6412"}],"importedBy":[{"uid":"c5e49757-6416"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-7152"},{"uid":"c5e49757-6548"},{"uid":"c5e49757-6626"},{"uid":"c5e49757-6790"},{"uid":"c5e49757-6816"},{"uid":"c5e49757-6848"},{"uid":"c5e49757-6890"},{"uid":"c5e49757-6658"},{"uid":"c5e49757-6670"},{"uid":"c5e49757-6740"},{"uid":"c5e49757-7066"},{"uid":"c5e49757-7070"},{"uid":"c5e49757-7074"},{"uid":"c5e49757-7076"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-7162"},{"uid":"c5e49757-7206"},{"uid":"c5e49757-7208"},{"uid":"c5e49757-7198"},{"uid":"c5e49757-7226"},{"uid":"c5e49757-7256"},{"uid":"c5e49757-6752"},{"uid":"c5e49757-6780"},{"uid":"c5e49757-7058"},{"uid":"c5e49757-6868"},{"uid":"c5e49757-7104"},{"uid":"c5e49757-7238"},{"uid":"c5e49757-7240"}]},"c5e49757-6416":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/model/Component.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6417"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6400"},{"uid":"c5e49757-6376"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6414"}],"importedBy":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6568"},{"uid":"c5e49757-7152"},{"uid":"c5e49757-7276"},{"uid":"c5e49757-6428"},{"uid":"c5e49757-6650"},{"uid":"c5e49757-6652"},{"uid":"c5e49757-7030"},{"uid":"c5e49757-7032"},{"uid":"c5e49757-6694"},{"uid":"c5e49757-6742"},{"uid":"c5e49757-7054"},{"uid":"c5e49757-6862"},{"uid":"c5e49757-6872"},{"uid":"c5e49757-7066"},{"uid":"c5e49757-7074"},{"uid":"c5e49757-7102"},{"uid":"c5e49757-7124"},{"uid":"c5e49757-7014"},{"uid":"c5e49757-7146"},{"uid":"c5e49757-7196"},{"uid":"c5e49757-7154"},{"uid":"c5e49757-7172"},{"uid":"c5e49757-7082"},{"uid":"c5e49757-7234"}]},"c5e49757-6418":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/model/globalDefault.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6419"},"imported":[],"importedBy":[{"uid":"c5e49757-6428"}]},"c5e49757-6420":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/types.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6421"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7276"},{"uid":"c5e49757-6452"},{"uid":"c5e49757-6456"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-6906"},{"uid":"c5e49757-7272"},{"uid":"c5e49757-6422"},{"uid":"c5e49757-6444"},{"uid":"c5e49757-6442"},{"uid":"c5e49757-6508"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6516"}]},"c5e49757-6422":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/helper/sourceHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6423"},"imported":[{"uid":"c5e49757-6374"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6420"}],"importedBy":[{"uid":"c5e49757-6428"},{"uid":"c5e49757-6456"},{"uid":"c5e49757-6638"},{"uid":"c5e49757-6730"},{"uid":"c5e49757-6846"},{"uid":"c5e49757-6442"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6516"},{"uid":"c5e49757-6896"}]},"c5e49757-6424":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/model/internalComponentCreator.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6425"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6428"},{"uid":"c5e49757-7120"}]},"c5e49757-6426":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/model/mixin/palette.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6427"},"imported":[{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6462"},{"uid":"c5e49757-6428"},{"uid":"c5e49757-7262"},{"uid":"c5e49757-6776"}]},"c5e49757-6428":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/model/Global.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6429"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6418"},{"uid":"c5e49757-6422"},{"uid":"c5e49757-6424"},{"uid":"c5e49757-6426"},{"uid":"c5e49757-6372"}],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-6476"}]},"c5e49757-6430":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/core/ExtensionAPI.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6431"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-6476"}]},"c5e49757-6432":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/core/CoordinateSystem.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6433"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-6942"},{"uid":"c5e49757-6952"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6830"}]},"c5e49757-6434":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/model/OptionManager.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6435"},"imported":[{"uid":"c5e49757-6374"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6372"}],"importedBy":[{"uid":"c5e49757-6502"}]},"c5e49757-6436":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/preprocessor/helper/compatStyle.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6437"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6372"}],"importedBy":[{"uid":"c5e49757-6438"}]},"c5e49757-6438":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/preprocessor/backwardCompat.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6439"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6436"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6372"}],"importedBy":[{"uid":"c5e49757-6502"}]},"c5e49757-6440":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/processor/dataStack.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6441"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6370"}],"importedBy":[{"uid":"c5e49757-6502"}]},"c5e49757-6442":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/Source.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6443"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6420"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6422"}],"importedBy":[{"uid":"c5e49757-6452"},{"uid":"c5e49757-6456"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-6444"},{"uid":"c5e49757-6454"},{"uid":"c5e49757-6512"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6516"}]},"c5e49757-6444":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/helper/dataProvider.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6445"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6442"},{"uid":"c5e49757-6420"}],"importedBy":[{"uid":"c5e49757-6452"},{"uid":"c5e49757-6446"},{"uid":"c5e49757-6456"},{"uid":"c5e49757-6460"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-6588"}]},"c5e49757-6446":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/model/mixin/dataFormat.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6447"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6444"},{"uid":"c5e49757-6412"},{"uid":"c5e49757-6372"}],"importedBy":[{"uid":"c5e49757-6462"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-7156"},{"uid":"c5e49757-7172"}]},"c5e49757-6448":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/core/task.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6449"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6468"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6476"}]},"c5e49757-6450":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/helper/dataValueHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6451"},"imported":[{"uid":"c5e49757-6370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6372"}],"importedBy":[{"uid":"c5e49757-6452"},{"uid":"c5e49757-7192"},{"uid":"c5e49757-7272"},{"uid":"c5e49757-6454"},{"uid":"c5e49757-6458"},{"uid":"c5e49757-7176"},{"uid":"c5e49757-7268"}]},"c5e49757-6452":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/helper/transform.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6453"},"imported":[{"uid":"c5e49757-6420"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6444"},{"uid":"c5e49757-6450"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-6442"}],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-6456"}]},"c5e49757-6454":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/DataStore.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6455"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6450"},{"uid":"c5e49757-6442"}],"importedBy":[{"uid":"c5e49757-6456"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-6516"}]},"c5e49757-6456":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/helper/sourceManager.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6457"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6442"},{"uid":"c5e49757-6420"},{"uid":"c5e49757-6422"},{"uid":"c5e49757-6452"},{"uid":"c5e49757-6454"},{"uid":"c5e49757-6444"}],"importedBy":[{"uid":"c5e49757-6462"},{"uid":"c5e49757-7276"}]},"c5e49757-6458":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/tooltip/tooltipMarkup.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6459"},"imported":[{"uid":"c5e49757-6412"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6450"},{"uid":"c5e49757-6370"}],"importedBy":[{"uid":"c5e49757-6460"},{"uid":"c5e49757-6692"},{"uid":"c5e49757-6730"},{"uid":"c5e49757-6762"},{"uid":"c5e49757-6778"},{"uid":"c5e49757-6832"},{"uid":"c5e49757-6888"},{"uid":"c5e49757-6942"},{"uid":"c5e49757-6964"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-7162"},{"uid":"c5e49757-7128"},{"uid":"c5e49757-7130"},{"uid":"c5e49757-7172"}]},"c5e49757-6460":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/tooltip/seriesFormatTooltip.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6461"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6458"},{"uid":"c5e49757-6444"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6462"},{"uid":"c5e49757-6832"}]},"c5e49757-6462":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/model/Series.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6463"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2460"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6426"},{"uid":"c5e49757-6446"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6448"},{"uid":"c5e49757-6376"},{"uid":"c5e49757-6456"},{"uid":"c5e49757-6460"}],"importedBy":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-6502"},{"uid":"c5e49757-6568"},{"uid":"c5e49757-7282"},{"uid":"c5e49757-6586"},{"uid":"c5e49757-6638"},{"uid":"c5e49757-6644"},{"uid":"c5e49757-6692"},{"uid":"c5e49757-6730"},{"uid":"c5e49757-6762"},{"uid":"c5e49757-6778"},{"uid":"c5e49757-6832"},{"uid":"c5e49757-6840"},{"uid":"c5e49757-6846"},{"uid":"c5e49757-6854"},{"uid":"c5e49757-6888"},{"uid":"c5e49757-6898"},{"uid":"c5e49757-6912"},{"uid":"c5e49757-6926"},{"uid":"c5e49757-6942"},{"uid":"c5e49757-6952"},{"uid":"c5e49757-6964"},{"uid":"c5e49757-6976"},{"uid":"c5e49757-6984"},{"uid":"c5e49757-6612"}]},"c5e49757-6464":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/view/Component.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6465"},"imported":[{"uid":"c5e49757-2524"},{"uid":"c5e49757-6400"},{"uid":"c5e49757-6376"}],"importedBy":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-6502"},{"uid":"c5e49757-6568"},{"uid":"c5e49757-6682"},{"uid":"c5e49757-7048"},{"uid":"c5e49757-7064"},{"uid":"c5e49757-7152"},{"uid":"c5e49757-7276"},{"uid":"c5e49757-6676"},{"uid":"c5e49757-6696"},{"uid":"c5e49757-6746"},{"uid":"c5e49757-6860"},{"uid":"c5e49757-6878"},{"uid":"c5e49757-7068"},{"uid":"c5e49757-7076"},{"uid":"c5e49757-7106"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-7018"},{"uid":"c5e49757-7144"},{"uid":"c5e49757-7198"},{"uid":"c5e49757-7158"},{"uid":"c5e49757-7178"},{"uid":"c5e49757-7086"},{"uid":"c5e49757-7238"}]},"c5e49757-6466":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/createRenderPlanner.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6467"},"imported":[{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6468"},{"uid":"c5e49757-6606"},{"uid":"c5e49757-6536"},{"uid":"c5e49757-6916"},{"uid":"c5e49757-6918"},{"uid":"c5e49757-6938"}]},"c5e49757-6468":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/view/Chart.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6469"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2524"},{"uid":"c5e49757-6400"},{"uid":"c5e49757-6376"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6448"},{"uid":"c5e49757-6466"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6372"}],"importedBy":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-6502"},{"uid":"c5e49757-6568"},{"uid":"c5e49757-6604"},{"uid":"c5e49757-6622"},{"uid":"c5e49757-6632"},{"uid":"c5e49757-6648"},{"uid":"c5e49757-6690"},{"uid":"c5e49757-6728"},{"uid":"c5e49757-6754"},{"uid":"c5e49757-6784"},{"uid":"c5e49757-6826"},{"uid":"c5e49757-6838"},{"uid":"c5e49757-6844"},{"uid":"c5e49757-6852"},{"uid":"c5e49757-6886"},{"uid":"c5e49757-6900"},{"uid":"c5e49757-6910"},{"uid":"c5e49757-6924"},{"uid":"c5e49757-6940"},{"uid":"c5e49757-6950"},{"uid":"c5e49757-6956"},{"uid":"c5e49757-6962"},{"uid":"c5e49757-6974"},{"uid":"c5e49757-7002"}]},"c5e49757-6470":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/throttle.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6471"},"imported":[],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-6568"},{"uid":"c5e49757-6622"},{"uid":"c5e49757-6860"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-7142"},{"uid":"c5e49757-7218"},{"uid":"c5e49757-7226"},{"uid":"c5e49757-7008"}]},"c5e49757-6472":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/visual/style.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6473"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6378"},{"uid":"c5e49757-6396"},{"uid":"c5e49757-6394"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6502"}]},"c5e49757-6474":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/loading/default.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6475"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"}],"importedBy":[{"uid":"c5e49757-6502"}]},"c5e49757-6476":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/core/Scheduler.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6477"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6448"},{"uid":"c5e49757-6400"},{"uid":"c5e49757-6428"},{"uid":"c5e49757-6430"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6502"}]},"c5e49757-6478":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/theme/light.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6479"},"imported":[],"importedBy":[{"uid":"c5e49757-6502"}]},"c5e49757-6480":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/theme/dark.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6481"},"imported":[],"importedBy":[{"uid":"c5e49757-6502"}]},"c5e49757-6482":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/ECEventProcessor.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6483"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6376"}],"importedBy":[{"uid":"c5e49757-6502"}]},"c5e49757-6484":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/visual/symbol.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6485"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6502"}]},"c5e49757-6486":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/visual/helper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6487"},"imported":[],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-7180"},{"uid":"c5e49757-7186"},{"uid":"c5e49757-7192"},{"uid":"c5e49757-7138"},{"uid":"c5e49757-7246"}]},"c5e49757-6488":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/legacy/dataSelectAction.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6489"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-6642"},{"uid":"c5e49757-6750"}]},"c5e49757-6490":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/event.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6491"},"imported":[],"importedBy":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-6746"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-7242"}]},"c5e49757-6492":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/symbol.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6493"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-2520"},{"uid":"c5e49757-6370"}],"importedBy":[{"uid":"c5e49757-6548"},{"uid":"c5e49757-6586"},{"uid":"c5e49757-6690"},{"uid":"c5e49757-6730"},{"uid":"c5e49757-6838"},{"uid":"c5e49757-6956"},{"uid":"c5e49757-7162"},{"uid":"c5e49757-7198"},{"uid":"c5e49757-7226"},{"uid":"c5e49757-7242"},{"uid":"c5e49757-7256"},{"uid":"c5e49757-6494"},{"uid":"c5e49757-6590"},{"uid":"c5e49757-6646"},{"uid":"c5e49757-6922"},{"uid":"c5e49757-6930"},{"uid":"c5e49757-6820"},{"uid":"c5e49757-6672"}]},"c5e49757-6494":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/decal.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6495"},"imported":[{"uid":"c5e49757-2606"},{"uid":"c5e49757-2504"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-2612"},{"uid":"c5e49757-2462"}],"importedBy":[{"uid":"c5e49757-6496"},{"uid":"c5e49757-7002"},{"uid":"c5e49757-7198"},{"uid":"c5e49757-6726"},{"uid":"c5e49757-6970"}]},"c5e49757-6496":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/visual/decal.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6497"},"imported":[{"uid":"c5e49757-6494"}],"importedBy":[{"uid":"c5e49757-6502"}]},"c5e49757-6498":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/core/lifecycle.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6499"},"imported":[{"uid":"c5e49757-2470"}],"importedBy":[{"uid":"c5e49757-6502"}]},"c5e49757-6500":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/core/impl.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6501"},"imported":[{"uid":"c5e49757-6372"}],"importedBy":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-6502"}]},"c5e49757-6502":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/core/echarts.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6503"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2526"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2460"},{"uid":"c5e49757-2488"},{"uid":"c5e49757-2470"},{"uid":"c5e49757-6428"},{"uid":"c5e49757-6430"},{"uid":"c5e49757-6432"},{"uid":"c5e49757-6434"},{"uid":"c5e49757-6438"},{"uid":"c5e49757-6440"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6464"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6470"},{"uid":"c5e49757-6472"},{"uid":"c5e49757-6474"},{"uid":"c5e49757-6476"},{"uid":"c5e49757-6478"},{"uid":"c5e49757-6480"},{"uid":"c5e49757-6376"},{"uid":"c5e49757-6482"},{"uid":"c5e49757-6484"},{"uid":"c5e49757-6486"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-6488"},{"uid":"c5e49757-6452"},{"uid":"c5e49757-6406"},{"uid":"c5e49757-6490"},{"uid":"c5e49757-6496"},{"uid":"c5e49757-6498"},{"uid":"c5e49757-2462"},{"uid":"c5e49757-6500"}],"importedBy":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-6578"},{"uid":"c5e49757-7110"},{"uid":"c5e49757-7112"},{"uid":"c5e49757-7116"},{"uid":"c5e49757-6706"}]},"c5e49757-6504":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/extension.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6505"},"imported":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-6464"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6500"},{"uid":"c5e49757-2526"}],"importedBy":[{"uid":"c5e49757-7286"},{"uid":"c5e49757-6578"},{"uid":"c5e49757-6568"},{"uid":"c5e49757-6684"},{"uid":"c5e49757-6704"},{"uid":"c5e49757-6750"},{"uid":"c5e49757-6884"},{"uid":"c5e49757-7026"},{"uid":"c5e49757-7048"},{"uid":"c5e49757-7064"},{"uid":"c5e49757-7122"},{"uid":"c5e49757-7134"},{"uid":"c5e49757-7214"},{"uid":"c5e49757-7212"},{"uid":"c5e49757-7230"},{"uid":"c5e49757-7260"}]},"c5e49757-6506":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/DataDiffer.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6507"},"imported":[],"importedBy":[{"uid":"c5e49757-7282"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-6784"},{"uid":"c5e49757-6962"},{"uid":"c5e49757-6974"},{"uid":"c5e49757-7002"},{"uid":"c5e49757-7106"},{"uid":"c5e49757-6874"}]},"c5e49757-6508":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/helper/dimensionHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6509"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6420"}],"importedBy":[{"uid":"c5e49757-6514"},{"uid":"c5e49757-6964"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6896"}]},"c5e49757-6510":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/SeriesDimensionDefine.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6511"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6514"},{"uid":"c5e49757-6516"}]},"c5e49757-6512":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/helper/SeriesDataSchema.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6513"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6442"}],"importedBy":[{"uid":"c5e49757-6514"},{"uid":"c5e49757-6520"},{"uid":"c5e49757-6516"}]},"c5e49757-6514":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/SeriesData.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6515"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6506"},{"uid":"c5e49757-6444"},{"uid":"c5e49757-6508"},{"uid":"c5e49757-6510"},{"uid":"c5e49757-6420"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6442"},{"uid":"c5e49757-6454"},{"uid":"c5e49757-6512"}],"importedBy":[{"uid":"c5e49757-6568"},{"uid":"c5e49757-6832"},{"uid":"c5e49757-6942"},{"uid":"c5e49757-6964"},{"uid":"c5e49757-7180"},{"uid":"c5e49757-7186"},{"uid":"c5e49757-7192"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6634"},{"uid":"c5e49757-6758"},{"uid":"c5e49757-6830"},{"uid":"c5e49757-7154"}]},"c5e49757-6516":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/helper/createDimensions.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6517"},"imported":[{"uid":"c5e49757-6420"},{"uid":"c5e49757-6510"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6442"},{"uid":"c5e49757-6454"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6422"},{"uid":"c5e49757-6512"}],"importedBy":[{"uid":"c5e49757-6548"},{"uid":"c5e49757-6964"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6634"},{"uid":"c5e49757-6758"},{"uid":"c5e49757-6830"}]},"c5e49757-6518":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/model/referHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6519"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6522"}]},"c5e49757-6520":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/helper/dataStackHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6521"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6512"}],"importedBy":[{"uid":"c5e49757-6548"},{"uid":"c5e49757-6606"},{"uid":"c5e49757-6536"},{"uid":"c5e49757-7046"},{"uid":"c5e49757-7186"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6544"},{"uid":"c5e49757-6594"},{"uid":"c5e49757-7176"}]},"c5e49757-6522":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/createSeriesData.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6523"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-6516"},{"uid":"c5e49757-6508"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6432"},{"uid":"c5e49757-6518"},{"uid":"c5e49757-6442"},{"uid":"c5e49757-6520"},{"uid":"c5e49757-6422"},{"uid":"c5e49757-6420"}],"importedBy":[{"uid":"c5e49757-6548"},{"uid":"c5e49757-6586"},{"uid":"c5e49757-6614"},{"uid":"c5e49757-6644"},{"uid":"c5e49757-6854"},{"uid":"c5e49757-6926"},{"uid":"c5e49757-6952"},{"uid":"c5e49757-6984"},{"uid":"c5e49757-6612"},{"uid":"c5e49757-6830"}]},"c5e49757-6524":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/scale/Scale.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6525"},"imported":[{"uid":"c5e49757-6376"}],"importedBy":[{"uid":"c5e49757-6544"},{"uid":"c5e49757-6532"},{"uid":"c5e49757-6530"},{"uid":"c5e49757-6538"},{"uid":"c5e49757-6540"}]},"c5e49757-6526":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/OrdinalMeta.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6527"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6658"},{"uid":"c5e49757-6530"}]},"c5e49757-6528":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/scale/helper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6529"},"imported":[{"uid":"c5e49757-6370"}],"importedBy":[{"uid":"c5e49757-6670"},{"uid":"c5e49757-6680"},{"uid":"c5e49757-6668"},{"uid":"c5e49757-6532"},{"uid":"c5e49757-6530"},{"uid":"c5e49757-6538"},{"uid":"c5e49757-6540"}]},"c5e49757-6530":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/scale/Ordinal.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6531"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6524"},{"uid":"c5e49757-6526"},{"uid":"c5e49757-6528"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7162"},{"uid":"c5e49757-6544"}]},"c5e49757-6532":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/scale/Interval.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6533"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6412"},{"uid":"c5e49757-6524"},{"uid":"c5e49757-6528"}],"importedBy":[{"uid":"c5e49757-6700"},{"uid":"c5e49757-7162"},{"uid":"c5e49757-6544"},{"uid":"c5e49757-6668"},{"uid":"c5e49757-6538"},{"uid":"c5e49757-6540"}]},"c5e49757-6534":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/vendor.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6535"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6604"},{"uid":"c5e49757-6606"},{"uid":"c5e49757-6536"},{"uid":"c5e49757-6918"},{"uid":"c5e49757-6596"}]},"c5e49757-6536":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/layout/barGrid.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6537"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6520"},{"uid":"c5e49757-6466"},{"uid":"c5e49757-6534"}],"importedBy":[{"uid":"c5e49757-6624"},{"uid":"c5e49757-6960"},{"uid":"c5e49757-7002"},{"uid":"c5e49757-6544"}]},"c5e49757-6538":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/scale/Time.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6539"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6408"},{"uid":"c5e49757-6528"},{"uid":"c5e49757-6532"},{"uid":"c5e49757-6524"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7162"},{"uid":"c5e49757-6544"}]},"c5e49757-6540":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/scale/Log.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6541"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6524"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6528"},{"uid":"c5e49757-6532"}],"importedBy":[{"uid":"c5e49757-6544"}]},"c5e49757-6542":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/scaleRawExtentInfo.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6543"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2520"}],"importedBy":[{"uid":"c5e49757-6544"},{"uid":"c5e49757-7090"}]},"c5e49757-6544":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/axisHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6545"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6530"},{"uid":"c5e49757-6532"},{"uid":"c5e49757-6524"},{"uid":"c5e49757-6536"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-6538"},{"uid":"c5e49757-6540"},{"uid":"c5e49757-6520"},{"uid":"c5e49757-6542"}],"importedBy":[{"uid":"c5e49757-6548"},{"uid":"c5e49757-6670"},{"uid":"c5e49757-7040"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-6564"},{"uid":"c5e49757-6668"},{"uid":"c5e49757-6672"},{"uid":"c5e49757-7010"},{"uid":"c5e49757-7058"},{"uid":"c5e49757-6868"},{"uid":"c5e49757-7090"}]},"c5e49757-6546":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/axisModelCommonMixin.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6547"},"imported":[],"importedBy":[{"uid":"c5e49757-6548"},{"uid":"c5e49757-6652"},{"uid":"c5e49757-7032"},{"uid":"c5e49757-6694"},{"uid":"c5e49757-7054"},{"uid":"c5e49757-6872"}]},"c5e49757-6548":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/export/api/helper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6549"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6544"},{"uid":"c5e49757-6546"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6520"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6516"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-6384"}],"importedBy":[{"uid":"c5e49757-6568"}]},"c5e49757-6550":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/geo/Region.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6551"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-2466"},{"uid":"c5e49757-2614"},{"uid":"c5e49757-2480"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6552"},{"uid":"c5e49757-6714"},{"uid":"c5e49757-6716"}]},"c5e49757-6552":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/geo/parseGeoJson.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6553"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6550"}],"importedBy":[{"uid":"c5e49757-6568"},{"uid":"c5e49757-6722"}]},"c5e49757-6554":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/export/api/number.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6555"},"imported":[{"uid":"c5e49757-6370"}],"importedBy":[{"uid":"c5e49757-6568"}]},"c5e49757-6556":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/export/api/time.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6557"},"imported":[{"uid":"c5e49757-6370"},{"uid":"c5e49757-6408"}],"importedBy":[{"uid":"c5e49757-6568"}]},"c5e49757-6558":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/export/api/graphic.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6559"},"imported":[{"uid":"c5e49757-6388"}],"importedBy":[{"uid":"c5e49757-6568"}]},"c5e49757-6560":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/export/api/format.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6561"},"imported":[{"uid":"c5e49757-6412"}],"importedBy":[{"uid":"c5e49757-6568"}]},"c5e49757-6562":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/export/api/util.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6563"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6568"}]},"c5e49757-6564":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/axisTickLabelBuilder.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6565"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2520"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6544"}],"importedBy":[{"uid":"c5e49757-6566"}]},"c5e49757-6566":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/Axis.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6567"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6564"}],"importedBy":[{"uid":"c5e49757-6568"},{"uid":"c5e49757-6664"},{"uid":"c5e49757-6698"},{"uid":"c5e49757-7160"},{"uid":"c5e49757-7034"},{"uid":"c5e49757-7036"},{"uid":"c5e49757-7056"},{"uid":"c5e49757-6864"}]},"c5e49757-6568":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/export/api.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6569"},"imported":[{"uid":"c5e49757-6416"},{"uid":"c5e49757-6464"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-2526"},{"uid":"c5e49757-2480"},{"uid":"c5e49757-2466"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2506"},{"uid":"c5e49757-6470"},{"uid":"c5e49757-6548"},{"uid":"c5e49757-6504"},{"uid":"c5e49757-2462"},{"uid":"c5e49757-6552"},{"uid":"c5e49757-6554"},{"uid":"c5e49757-6556"},{"uid":"c5e49757-6558"},{"uid":"c5e49757-6560"},{"uid":"c5e49757-6562"},{"uid":"c5e49757-2460"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6566"},{"uid":"c5e49757-2612"}],"importedBy":[{"uid":"c5e49757-6578"}]},"c5e49757-6570":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/label/labelGuideHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6571"},"imported":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-2536"},{"uid":"c5e49757-2544"},{"uid":"c5e49757-2498"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2480"},{"uid":"c5e49757-2466"},{"uid":"c5e49757-6384"}],"importedBy":[{"uid":"c5e49757-6574"},{"uid":"c5e49757-6632"},{"uid":"c5e49757-6844"},{"uid":"c5e49757-6630"}]},"c5e49757-6572":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/label/labelLayoutHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6573"},"imported":[{"uid":"c5e49757-6388"}],"importedBy":[{"uid":"c5e49757-6574"},{"uid":"c5e49757-6630"},{"uid":"c5e49757-6672"}]},"c5e49757-6574":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/label/LabelManager.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6575"},"imported":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-2518"},{"uid":"c5e49757-6570"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6572"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-2544"}],"importedBy":[{"uid":"c5e49757-6576"}]},"c5e49757-6576":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/label/installLabelLayout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6577"},"imported":[{"uid":"c5e49757-6374"},{"uid":"c5e49757-6574"}],"importedBy":[{"uid":"c5e49757-6578"},{"uid":"c5e49757-7284"}]},"c5e49757-6578":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/export/core.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6579"},"imported":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-6568"},{"uid":"c5e49757-6504"},{"uid":"c5e49757-6576"}],"importedBy":[{"uid":"c5e49757-7286"}]},"c5e49757-6580":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/renderer/installSVGRenderer.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6581"},"imported":[{"uid":"c5e49757-2634"}],"importedBy":[{"uid":"c5e49757-6584"}]},"c5e49757-6582":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/renderer/installCanvasRenderer.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6583"},"imported":[{"uid":"c5e49757-2638"}],"importedBy":[{"uid":"c5e49757-6584"}]},"c5e49757-6584":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/export/renderers.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6585"},"imported":[{"uid":"c5e49757-6580"},{"uid":"c5e49757-6582"}],"importedBy":[{"uid":"c5e49757-7286"}]},"c5e49757-6586":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/line/LineSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6587"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-6388"}],"importedBy":[{"uid":"c5e49757-6610"}]},"c5e49757-6588":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/labelHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6589"},"imported":[{"uid":"c5e49757-6444"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6604"},{"uid":"c5e49757-6622"},{"uid":"c5e49757-6956"},{"uid":"c5e49757-7002"},{"uid":"c5e49757-6590"}]},"c5e49757-6590":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/Symbol.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6591"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6588"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-2556"},{"uid":"c5e49757-6386"}],"importedBy":[{"uid":"c5e49757-6604"},{"uid":"c5e49757-6754"},{"uid":"c5e49757-6592"},{"uid":"c5e49757-6922"}]},"c5e49757-6592":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/SymbolDraw.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6593"},"imported":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-6590"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6390"}],"importedBy":[{"uid":"c5e49757-6604"},{"uid":"c5e49757-6648"},{"uid":"c5e49757-6826"},{"uid":"c5e49757-6924"},{"uid":"c5e49757-7180"}]},"c5e49757-6594":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/line/helper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6595"},"imported":[{"uid":"c5e49757-6520"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6604"},{"uid":"c5e49757-6596"}]},"c5e49757-6596":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/line/lineAnimationDiff.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6597"},"imported":[{"uid":"c5e49757-6594"},{"uid":"c5e49757-6534"}],"importedBy":[{"uid":"c5e49757-6604"}]},"c5e49757-6598":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/line/poly.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6599"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2536"},{"uid":"c5e49757-2498"}],"importedBy":[{"uid":"c5e49757-6604"},{"uid":"c5e49757-6962"}]},"c5e49757-6600":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6601"},"imported":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6604"},{"uid":"c5e49757-6622"},{"uid":"c5e49757-6910"},{"uid":"c5e49757-6940"},{"uid":"c5e49757-6956"},{"uid":"c5e49757-7002"}]},"c5e49757-6602":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/CoordinateSystem.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6603"},"imported":[],"importedBy":[{"uid":"c5e49757-6604"},{"uid":"c5e49757-6622"},{"uid":"c5e49757-6950"},{"uid":"c5e49757-7186"},{"uid":"c5e49757-7192"}]},"c5e49757-6604":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/line/LineView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6605"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6592"},{"uid":"c5e49757-6590"},{"uid":"c5e49757-6596"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6598"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6594"},{"uid":"c5e49757-6600"},{"uid":"c5e49757-6602"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6588"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6534"},{"uid":"c5e49757-6412"},{"uid":"c5e49757-2506"}],"importedBy":[{"uid":"c5e49757-6610"}]},"c5e49757-6606":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/layout/points.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6607"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6466"},{"uid":"c5e49757-6520"},{"uid":"c5e49757-6534"}],"importedBy":[{"uid":"c5e49757-6610"},{"uid":"c5e49757-6684"},{"uid":"c5e49757-6928"},{"uid":"c5e49757-6648"},{"uid":"c5e49757-6924"}]},"c5e49757-6608":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/processor/dataSample.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6609"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6610"},{"uid":"c5e49757-6624"}]},"c5e49757-6610":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/line/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6611"},"imported":[{"uid":"c5e49757-6586"},{"uid":"c5e49757-6604"},{"uid":"c5e49757-6606"},{"uid":"c5e49757-6608"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6612":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/bar/BaseBarSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6613"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6614"},{"uid":"c5e49757-6958"}]},"c5e49757-6614":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/bar/BarSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6615"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6612"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6400"}],"importedBy":[{"uid":"c5e49757-6624"}]},"c5e49757-6616":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/shape/sausage.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6617"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6388"}],"importedBy":[{"uid":"c5e49757-6622"},{"uid":"c5e49757-6838"}]},"c5e49757-6618":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/label/sectorLabel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6619"},"imported":[{"uid":"c5e49757-2520"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6622"}]},"c5e49757-6620":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/sectorHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6621"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2520"}],"importedBy":[{"uid":"c5e49757-6622"},{"uid":"c5e49757-6632"},{"uid":"c5e49757-6970"}]},"c5e49757-6622":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/bar/BarView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6623"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-2524"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6470"},{"uid":"c5e49757-6600"},{"uid":"c5e49757-6616"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6602"},{"uid":"c5e49757-6588"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-6618"},{"uid":"c5e49757-6386"},{"uid":"c5e49757-6620"}],"importedBy":[{"uid":"c5e49757-6624"}]},"c5e49757-6624":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/bar/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6625"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6536"},{"uid":"c5e49757-6608"},{"uid":"c5e49757-6614"},{"uid":"c5e49757-6622"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6626":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/pie/pieLayout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6627"},"imported":[{"uid":"c5e49757-6370"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2536"}],"importedBy":[{"uid":"c5e49757-6642"},{"uid":"c5e49757-6632"}]},"c5e49757-6628":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/processor/dataFilter.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6629"},"imported":[],"importedBy":[{"uid":"c5e49757-6642"},{"uid":"c5e49757-6704"},{"uid":"c5e49757-6850"},{"uid":"c5e49757-6968"},{"uid":"c5e49757-6982"}]},"c5e49757-6630":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/pie/labelLayout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6631"},"imported":[{"uid":"c5e49757-6370"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6570"},{"uid":"c5e49757-6572"}],"importedBy":[{"uid":"c5e49757-6632"}]},"c5e49757-6632":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/pie/PieView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6633"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6630"},{"uid":"c5e49757-6570"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6620"},{"uid":"c5e49757-6386"},{"uid":"c5e49757-6626"}],"importedBy":[{"uid":"c5e49757-6642"}]},"c5e49757-6634":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/createSeriesDataSimply.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6635"},"imported":[{"uid":"c5e49757-6516"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6638"},{"uid":"c5e49757-6692"},{"uid":"c5e49757-6730"},{"uid":"c5e49757-6840"},{"uid":"c5e49757-6846"},{"uid":"c5e49757-6896"}]},"c5e49757-6636":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/visual/LegendVisualProvider.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6637"},"imported":[],"importedBy":[{"uid":"c5e49757-6638"},{"uid":"c5e49757-6692"},{"uid":"c5e49757-6832"},{"uid":"c5e49757-6846"},{"uid":"c5e49757-6964"}]},"c5e49757-6638":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/pie/PieSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6639"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6634"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6422"},{"uid":"c5e49757-6636"},{"uid":"c5e49757-6462"}],"importedBy":[{"uid":"c5e49757-6642"}]},"c5e49757-6640":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/processor/negativeDataFilter.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6641"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6642"}]},"c5e49757-6642":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/pie/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6643"},"imported":[{"uid":"c5e49757-6488"},{"uid":"c5e49757-6626"},{"uid":"c5e49757-6628"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6632"},{"uid":"c5e49757-6638"},{"uid":"c5e49757-6640"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6644":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/scatter/ScatterSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6645"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6462"}],"importedBy":[{"uid":"c5e49757-6684"}]},"c5e49757-6646":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/LargeSymbolDraw.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6647"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-6382"}],"importedBy":[{"uid":"c5e49757-6648"}]},"c5e49757-6648":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/scatter/ScatterView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6649"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6592"},{"uid":"c5e49757-6646"},{"uid":"c5e49757-6606"},{"uid":"c5e49757-6468"}],"importedBy":[{"uid":"c5e49757-6684"}]},"c5e49757-6650":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/cartesian/GridModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6651"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6416"}],"importedBy":[{"uid":"c5e49757-6682"}]},"c5e49757-6652":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/cartesian/AxisModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6653"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6546"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6682"}]},"c5e49757-6654":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/axisDefault.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6655"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6658"},{"uid":"c5e49757-6694"}]},"c5e49757-6656":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/axisCommonTypes.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6657"},"imported":[],"importedBy":[{"uid":"c5e49757-6658"}]},"c5e49757-6658":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/axisModelCreator.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6659"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6654"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6526"},{"uid":"c5e49757-6656"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6682"},{"uid":"c5e49757-7048"},{"uid":"c5e49757-7064"},{"uid":"c5e49757-6882"}]},"c5e49757-6660":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/cartesian/Cartesian.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6661"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6662"}]},"c5e49757-6662":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/cartesian/Cartesian2D.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6663"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-6660"},{"uid":"c5e49757-2480"},{"uid":"c5e49757-2466"}],"importedBy":[{"uid":"c5e49757-6670"}]},"c5e49757-6664":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/cartesian/Axis2D.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6665"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6566"}],"importedBy":[{"uid":"c5e49757-6670"}]},"c5e49757-6666":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6667"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6670"},{"uid":"c5e49757-6680"},{"uid":"c5e49757-7012"}]},"c5e49757-6668":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/axisAlignTicks.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6669"},"imported":[{"uid":"c5e49757-6370"},{"uid":"c5e49757-6532"},{"uid":"c5e49757-6544"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-6528"}],"importedBy":[{"uid":"c5e49757-6670"},{"uid":"c5e49757-6700"}]},"c5e49757-6670":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/cartesian/Grid.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6671"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6544"},{"uid":"c5e49757-6662"},{"uid":"c5e49757-6664"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6666"},{"uid":"c5e49757-6528"},{"uid":"c5e49757-6668"}],"importedBy":[{"uid":"c5e49757-6682"}]},"c5e49757-6672":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axis/AxisBuilder.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6673"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-2480"},{"uid":"c5e49757-2466"},{"uid":"c5e49757-6544"},{"uid":"c5e49757-6572"}],"importedBy":[{"uid":"c5e49757-6680"},{"uid":"c5e49757-7028"},{"uid":"c5e49757-7042"},{"uid":"c5e49757-7044"},{"uid":"c5e49757-6696"},{"uid":"c5e49757-7052"},{"uid":"c5e49757-6878"},{"uid":"c5e49757-7010"}]},"c5e49757-6674":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axisPointer/modelHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6675"},"imported":[{"uid":"c5e49757-6398"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7024"},{"uid":"c5e49757-6676"},{"uid":"c5e49757-7022"},{"uid":"c5e49757-7008"}]},"c5e49757-6676":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axis/AxisView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6677"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6674"},{"uid":"c5e49757-6464"}],"importedBy":[{"uid":"c5e49757-7048"},{"uid":"c5e49757-7064"},{"uid":"c5e49757-7024"},{"uid":"c5e49757-6680"},{"uid":"c5e49757-7042"},{"uid":"c5e49757-7044"},{"uid":"c5e49757-7052"}]},"c5e49757-6678":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axis/axisSplitHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6679"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6680"},{"uid":"c5e49757-7052"}]},"c5e49757-6680":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axis/CartesianAxisView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6681"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6672"},{"uid":"c5e49757-6676"},{"uid":"c5e49757-6666"},{"uid":"c5e49757-6678"},{"uid":"c5e49757-6528"}],"importedBy":[{"uid":"c5e49757-6682"}]},"c5e49757-6682":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/grid/installSimple.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6683"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6464"},{"uid":"c5e49757-6650"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6652"},{"uid":"c5e49757-6658"},{"uid":"c5e49757-6670"},{"uid":"c5e49757-6680"}],"importedBy":[{"uid":"c5e49757-7278"},{"uid":"c5e49757-6684"},{"uid":"c5e49757-7026"}]},"c5e49757-6684":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/scatter/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6685"},"imported":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-6644"},{"uid":"c5e49757-6648"},{"uid":"c5e49757-6682"},{"uid":"c5e49757-6606"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6686":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/radar/radarLayout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6687"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6704"}]},"c5e49757-6688":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/radar/backwardCompat.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6689"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6704"}]},"c5e49757-6690":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/radar/RadarView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6691"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-2556"},{"uid":"c5e49757-6386"}],"importedBy":[{"uid":"c5e49757-6704"}]},"c5e49757-6692":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/radar/RadarSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6693"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6634"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6636"},{"uid":"c5e49757-6458"}],"importedBy":[{"uid":"c5e49757-6704"}]},"c5e49757-6694":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/radar/RadarModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6695"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6654"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6546"},{"uid":"c5e49757-6416"}],"importedBy":[{"uid":"c5e49757-6702"}]},"c5e49757-6696":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/radar/RadarView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6697"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6672"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6464"}],"importedBy":[{"uid":"c5e49757-6702"}]},"c5e49757-6698":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/radar/IndicatorAxis.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6699"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6566"}],"importedBy":[{"uid":"c5e49757-6700"}]},"c5e49757-6700":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/radar/Radar.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6701"},"imported":[{"uid":"c5e49757-6698"},{"uid":"c5e49757-6532"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6668"}],"importedBy":[{"uid":"c5e49757-6702"}]},"c5e49757-6702":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/radar/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6703"},"imported":[{"uid":"c5e49757-6694"},{"uid":"c5e49757-6696"},{"uid":"c5e49757-6700"}],"importedBy":[{"uid":"c5e49757-7278"},{"uid":"c5e49757-6704"}]},"c5e49757-6704":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/radar/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6705"},"imported":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-6686"},{"uid":"c5e49757-6628"},{"uid":"c5e49757-6688"},{"uid":"c5e49757-6690"},{"uid":"c5e49757-6692"},{"uid":"c5e49757-6702"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6706":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/helper/interactionMutex.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6707"},"imported":[{"uid":"c5e49757-6502"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6708"},{"uid":"c5e49757-6874"}]},"c5e49757-6708":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/helper/RoamController.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6709"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2470"},{"uid":"c5e49757-2476"},{"uid":"c5e49757-6706"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6754"},{"uid":"c5e49757-6784"},{"uid":"c5e49757-6826"},{"uid":"c5e49757-7218"},{"uid":"c5e49757-6726"}]},"c5e49757-6710":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/helper/roamHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6711"},"imported":[],"importedBy":[{"uid":"c5e49757-6754"},{"uid":"c5e49757-6826"},{"uid":"c5e49757-6726"}]},"c5e49757-6712":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/helper/cursorHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6713"},"imported":[],"importedBy":[{"uid":"c5e49757-6754"},{"uid":"c5e49757-6826"},{"uid":"c5e49757-6726"},{"uid":"c5e49757-6876"}]},"c5e49757-6714":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/geo/GeoSVGResource.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6715"},"imported":[{"uid":"c5e49757-2642"},{"uid":"c5e49757-2524"},{"uid":"c5e49757-2562"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-2640"},{"uid":"c5e49757-6550"}],"importedBy":[{"uid":"c5e49757-6724"}]},"c5e49757-6716":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/geo/fix/nanhai.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6717"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6550"}],"importedBy":[{"uid":"c5e49757-6722"}]},"c5e49757-6718":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/geo/fix/textCoord.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6719"},"imported":[],"importedBy":[{"uid":"c5e49757-6722"}]},"c5e49757-6720":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/geo/fix/diaoyuIsland.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6721"},"imported":[],"importedBy":[{"uid":"c5e49757-6722"}]},"c5e49757-6722":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/geo/GeoJSONResource.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6723"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6552"},{"uid":"c5e49757-6716"},{"uid":"c5e49757-6718"},{"uid":"c5e49757-6720"},{"uid":"c5e49757-2484"}],"importedBy":[{"uid":"c5e49757-6724"}]},"c5e49757-6724":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/geo/geoSourceManager.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6725"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6714"},{"uid":"c5e49757-6722"}],"importedBy":[{"uid":"c5e49757-6748"},{"uid":"c5e49757-6730"},{"uid":"c5e49757-6742"},{"uid":"c5e49757-6740"},{"uid":"c5e49757-6726"},{"uid":"c5e49757-6738"}]},"c5e49757-6726":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/helper/MapDraw.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6727"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6708"},{"uid":"c5e49757-6710"},{"uid":"c5e49757-6712"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6724"},{"uid":"c5e49757-6400"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6494"},{"uid":"c5e49757-2532"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6728"},{"uid":"c5e49757-6746"}]},"c5e49757-6728":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/map/MapView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6729"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6726"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6384"}],"importedBy":[{"uid":"c5e49757-6750"}]},"c5e49757-6730":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/map/MapSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6731"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6634"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6724"},{"uid":"c5e49757-6422"},{"uid":"c5e49757-6458"},{"uid":"c5e49757-6492"}],"importedBy":[{"uid":"c5e49757-6750"}]},"c5e49757-6732":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/map/mapDataStatistic.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6733"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6750"}]},"c5e49757-6734":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/map/mapSymbolLayout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6735"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6750"}]},"c5e49757-6736":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/View.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6737"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2466"},{"uid":"c5e49757-2480"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-2518"},{"uid":"c5e49757-6370"}],"importedBy":[{"uid":"c5e49757-6834"},{"uid":"c5e49757-6754"},{"uid":"c5e49757-6816"},{"uid":"c5e49757-6738"}]},"c5e49757-6738":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/geo/Geo.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6739"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-6736"},{"uid":"c5e49757-6724"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6372"}],"importedBy":[{"uid":"c5e49757-6740"}]},"c5e49757-6740":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/geo/geoCreator.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6741"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6738"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6724"},{"uid":"c5e49757-2466"}],"importedBy":[{"uid":"c5e49757-6748"},{"uid":"c5e49757-6742"}]},"c5e49757-6742":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/geo/GeoModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6743"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6740"},{"uid":"c5e49757-6724"}],"importedBy":[{"uid":"c5e49757-6748"}]},"c5e49757-6744":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/action/roamHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6745"},"imported":[],"importedBy":[{"uid":"c5e49757-6834"},{"uid":"c5e49757-6748"},{"uid":"c5e49757-6770"}]},"c5e49757-6746":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/geo/GeoView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6747"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6726"},{"uid":"c5e49757-6464"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6490"}],"importedBy":[{"uid":"c5e49757-6748"}]},"c5e49757-6748":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/geo/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6749"},"imported":[{"uid":"c5e49757-6742"},{"uid":"c5e49757-6740"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6744"},{"uid":"c5e49757-6746"},{"uid":"c5e49757-6724"}],"importedBy":[{"uid":"c5e49757-7278"},{"uid":"c5e49757-6750"}]},"c5e49757-6750":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/map/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6751"},"imported":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-6728"},{"uid":"c5e49757-6730"},{"uid":"c5e49757-6732"},{"uid":"c5e49757-6734"},{"uid":"c5e49757-6488"},{"uid":"c5e49757-6748"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6752":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/tree/layoutHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6753"},"imported":[{"uid":"c5e49757-6414"}],"importedBy":[{"uid":"c5e49757-6754"},{"uid":"c5e49757-6766"}]},"c5e49757-6754":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/tree/TreeView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6755"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6590"},{"uid":"c5e49757-6752"},{"uid":"c5e49757-2534"},{"uid":"c5e49757-6736"},{"uid":"c5e49757-6710"},{"uid":"c5e49757-6708"},{"uid":"c5e49757-6712"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-6384"}],"importedBy":[{"uid":"c5e49757-6772"}]},"c5e49757-6756":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/helper/linkSeriesData.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6757"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6758"},{"uid":"c5e49757-6830"}]},"c5e49757-6758":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/Tree.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6759"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6756"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-6516"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6762"},{"uid":"c5e49757-6778"},{"uid":"c5e49757-6976"}]},"c5e49757-6760":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/treeHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6761"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6762"},{"uid":"c5e49757-6774"},{"uid":"c5e49757-6778"},{"uid":"c5e49757-6784"},{"uid":"c5e49757-6790"},{"uid":"c5e49757-6976"},{"uid":"c5e49757-6972"},{"uid":"c5e49757-6780"}]},"c5e49757-6762":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/tree/TreeSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6763"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6758"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6458"},{"uid":"c5e49757-6760"}],"importedBy":[{"uid":"c5e49757-6772"}]},"c5e49757-6764":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/tree/traversalHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6765"},"imported":[],"importedBy":[{"uid":"c5e49757-6766"}]},"c5e49757-6766":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/tree/treeLayout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6767"},"imported":[{"uid":"c5e49757-6764"},{"uid":"c5e49757-6752"}],"importedBy":[{"uid":"c5e49757-6772"}]},"c5e49757-6768":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/tree/treeVisual.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6769"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6772"}]},"c5e49757-6770":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/tree/treeAction.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6771"},"imported":[{"uid":"c5e49757-6744"}],"importedBy":[{"uid":"c5e49757-6772"}]},"c5e49757-6772":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/tree/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6773"},"imported":[{"uid":"c5e49757-6754"},{"uid":"c5e49757-6762"},{"uid":"c5e49757-6766"},{"uid":"c5e49757-6768"},{"uid":"c5e49757-6770"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6774":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/treemap/treemapAction.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6775"},"imported":[{"uid":"c5e49757-6760"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6792"}]},"c5e49757-6776":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/enableAriaDecalForTree.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6777"},"imported":[{"uid":"c5e49757-6426"}],"importedBy":[{"uid":"c5e49757-6778"},{"uid":"c5e49757-6976"}]},"c5e49757-6778":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/treemap/TreemapSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6779"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6758"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6760"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6458"},{"uid":"c5e49757-6776"}],"importedBy":[{"uid":"c5e49757-6792"}]},"c5e49757-6780":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/treemap/Breadcrumb.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6781"},"imported":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6760"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6390"}],"importedBy":[{"uid":"c5e49757-6784"}]},"c5e49757-6782":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/animation.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6783"},"imported":[],"importedBy":[{"uid":"c5e49757-6784"}]},"c5e49757-6784":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/treemap/TreemapView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6785"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6506"},{"uid":"c5e49757-6760"},{"uid":"c5e49757-6780"},{"uid":"c5e49757-6708"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-2480"},{"uid":"c5e49757-6782"},{"uid":"c5e49757-6378"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-2532"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6412"},{"uid":"c5e49757-6390"}],"importedBy":[{"uid":"c5e49757-6792"}]},"c5e49757-6786":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/visual/VisualMapping.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6787"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2506"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6372"}],"importedBy":[{"uid":"c5e49757-6788"},{"uid":"c5e49757-6892"},{"uid":"c5e49757-7254"},{"uid":"c5e49757-7138"},{"uid":"c5e49757-7234"},{"uid":"c5e49757-7238"},{"uid":"c5e49757-7246"}]},"c5e49757-6788":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/treemap/treemapVisual.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6789"},"imported":[{"uid":"c5e49757-6786"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2506"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6792"}]},"c5e49757-6790":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/treemap/treemapLayout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6791"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6760"}],"importedBy":[{"uid":"c5e49757-6792"}]},"c5e49757-6792":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/treemap/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6793"},"imported":[{"uid":"c5e49757-6774"},{"uid":"c5e49757-6778"},{"uid":"c5e49757-6784"},{"uid":"c5e49757-6788"},{"uid":"c5e49757-6790"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6794":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/graph/categoryFilter.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6795"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6834"}]},"c5e49757-6796":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/graph/categoryVisual.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6797"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6834"}]},"c5e49757-6798":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/graph/edgeVisual.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6799"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6834"}]},"c5e49757-6800":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/multipleGraphEdgeHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6801"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6814"},{"uid":"c5e49757-6832"},{"uid":"c5e49757-6802"},{"uid":"c5e49757-6808"}]},"c5e49757-6802":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/graph/simpleLayoutHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6803"},"imported":[{"uid":"c5e49757-2466"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6800"}],"importedBy":[{"uid":"c5e49757-6804"},{"uid":"c5e49757-6814"},{"uid":"c5e49757-6826"}]},"c5e49757-6804":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/graph/simpleLayout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6805"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6802"}],"importedBy":[{"uid":"c5e49757-6834"}]},"c5e49757-6806":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/graph/graphHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6807"},"imported":[],"importedBy":[{"uid":"c5e49757-6826"},{"uid":"c5e49757-6808"},{"uid":"c5e49757-6824"}]},"c5e49757-6808":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/graph/circularLayoutHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6809"},"imported":[{"uid":"c5e49757-2466"},{"uid":"c5e49757-6806"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6800"}],"importedBy":[{"uid":"c5e49757-6810"},{"uid":"c5e49757-6814"},{"uid":"c5e49757-6826"}]},"c5e49757-6810":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/graph/circularLayout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6811"},"imported":[{"uid":"c5e49757-6808"}],"importedBy":[{"uid":"c5e49757-6834"}]},"c5e49757-6812":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/graph/forceHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6813"},"imported":[{"uid":"c5e49757-2466"}],"importedBy":[{"uid":"c5e49757-6814"}]},"c5e49757-6814":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/graph/forceLayout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6815"},"imported":[{"uid":"c5e49757-6812"},{"uid":"c5e49757-6802"},{"uid":"c5e49757-6808"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-2466"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6800"}],"importedBy":[{"uid":"c5e49757-6834"}]},"c5e49757-6816":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/graph/createView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6817"},"imported":[{"uid":"c5e49757-6736"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-2534"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6834"}]},"c5e49757-6818":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/LinePath.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6819"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-2466"}],"importedBy":[{"uid":"c5e49757-6820"}]},"c5e49757-6820":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/Line.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6821"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2466"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-6818"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6370"}],"importedBy":[{"uid":"c5e49757-6940"},{"uid":"c5e49757-6822"},{"uid":"c5e49757-6930"}]},"c5e49757-6822":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/LineDraw.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6823"},"imported":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-6820"},{"uid":"c5e49757-6390"}],"importedBy":[{"uid":"c5e49757-6826"},{"uid":"c5e49757-6940"},{"uid":"c5e49757-7186"}]},"c5e49757-6824":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/graph/adjustEdge.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6825"},"imported":[{"uid":"c5e49757-2498"},{"uid":"c5e49757-2466"},{"uid":"c5e49757-6806"}],"importedBy":[{"uid":"c5e49757-6826"}]},"c5e49757-6826":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/graph/GraphView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6827"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6592"},{"uid":"c5e49757-6822"},{"uid":"c5e49757-6708"},{"uid":"c5e49757-6710"},{"uid":"c5e49757-6712"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6824"},{"uid":"c5e49757-6806"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6802"},{"uid":"c5e49757-6808"}],"importedBy":[{"uid":"c5e49757-6834"}]},"c5e49757-6828":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/data/Graph.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6829"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6830"}]},"c5e49757-6830":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/createGraphFromNodeEdge.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6831"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-6828"},{"uid":"c5e49757-6756"},{"uid":"c5e49757-6516"},{"uid":"c5e49757-6432"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6832"},{"uid":"c5e49757-6888"}]},"c5e49757-6832":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/graph/GraphSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6833"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6830"},{"uid":"c5e49757-6636"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6458"},{"uid":"c5e49757-6460"},{"uid":"c5e49757-6800"}],"importedBy":[{"uid":"c5e49757-6834"}]},"c5e49757-6834":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/graph/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6835"},"imported":[{"uid":"c5e49757-6794"},{"uid":"c5e49757-6796"},{"uid":"c5e49757-6798"},{"uid":"c5e49757-6804"},{"uid":"c5e49757-6810"},{"uid":"c5e49757-6814"},{"uid":"c5e49757-6816"},{"uid":"c5e49757-6736"},{"uid":"c5e49757-6826"},{"uid":"c5e49757-6832"},{"uid":"c5e49757-6744"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6836":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/gauge/PointerPath.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6837"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2552"}],"importedBy":[{"uid":"c5e49757-6838"}]},"c5e49757-6838":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/gauge/GaugeView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6839"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6836"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6616"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-2556"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-2536"}],"importedBy":[{"uid":"c5e49757-6842"}]},"c5e49757-6840":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/gauge/GaugeSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6841"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6634"},{"uid":"c5e49757-6462"}],"importedBy":[{"uid":"c5e49757-6842"}]},"c5e49757-6842":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/gauge/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6843"},"imported":[{"uid":"c5e49757-6838"},{"uid":"c5e49757-6840"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6844":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/funnel/FunnelView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6845"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6570"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6386"}],"importedBy":[{"uid":"c5e49757-6850"}]},"c5e49757-6846":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/funnel/FunnelSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6847"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6634"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6422"},{"uid":"c5e49757-6636"},{"uid":"c5e49757-6462"}],"importedBy":[{"uid":"c5e49757-6850"}]},"c5e49757-6848":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/funnel/funnelLayout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6849"},"imported":[{"uid":"c5e49757-6414"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6850"}]},"c5e49757-6850":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/funnel/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6851"},"imported":[{"uid":"c5e49757-6844"},{"uid":"c5e49757-6846"},{"uid":"c5e49757-6848"},{"uid":"c5e49757-6628"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6852":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/parallel/ParallelView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6853"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6386"}],"importedBy":[{"uid":"c5e49757-6884"}]},"c5e49757-6854":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/parallel/ParallelSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6855"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6522"}],"importedBy":[{"uid":"c5e49757-6884"}]},"c5e49757-6856":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/parallel/parallelVisual.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6857"},"imported":[],"importedBy":[{"uid":"c5e49757-6884"}]},"c5e49757-6858":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/parallel/parallelPreprocessor.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6859"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6882"}]},"c5e49757-6860":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/parallel/ParallelView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6861"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6464"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6470"}],"importedBy":[{"uid":"c5e49757-6882"}]},"c5e49757-6862":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/parallel/ParallelModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6863"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6416"}],"importedBy":[{"uid":"c5e49757-6882"}]},"c5e49757-6864":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/parallel/ParallelAxis.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6865"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6566"}],"importedBy":[{"uid":"c5e49757-6868"}]},"c5e49757-6866":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/helper/sliderMove.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6867"},"imported":[],"importedBy":[{"uid":"c5e49757-7120"},{"uid":"c5e49757-7220"},{"uid":"c5e49757-7226"},{"uid":"c5e49757-7242"},{"uid":"c5e49757-6868"},{"uid":"c5e49757-7090"}]},"c5e49757-6868":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/parallel/Parallel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6869"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2480"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6544"},{"uid":"c5e49757-6864"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6866"}],"importedBy":[{"uid":"c5e49757-6870"}]},"c5e49757-6870":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/parallel/parallelCreator.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6871"},"imported":[{"uid":"c5e49757-6868"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6882"}]},"c5e49757-6872":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/parallel/AxisModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6873"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6378"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6546"}],"importedBy":[{"uid":"c5e49757-6882"}]},"c5e49757-6874":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/helper/BrushController.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6875"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2470"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6706"},{"uid":"c5e49757-6506"}],"importedBy":[{"uid":"c5e49757-6878"},{"uid":"c5e49757-7120"},{"uid":"c5e49757-7144"}]},"c5e49757-6876":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/helper/brushHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6877"},"imported":[{"uid":"c5e49757-2484"},{"uid":"c5e49757-6712"},{"uid":"c5e49757-6388"}],"importedBy":[{"uid":"c5e49757-6878"},{"uid":"c5e49757-7118"}]},"c5e49757-6878":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axis/ParallelAxisView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6879"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6672"},{"uid":"c5e49757-6874"},{"uid":"c5e49757-6876"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6464"}],"importedBy":[{"uid":"c5e49757-6882"}]},"c5e49757-6880":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axis/parallelAxisAction.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6881"},"imported":[],"importedBy":[{"uid":"c5e49757-6882"}]},"c5e49757-6882":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/parallel/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6883"},"imported":[{"uid":"c5e49757-6858"},{"uid":"c5e49757-6860"},{"uid":"c5e49757-6862"},{"uid":"c5e49757-6870"},{"uid":"c5e49757-6658"},{"uid":"c5e49757-6872"},{"uid":"c5e49757-6878"},{"uid":"c5e49757-6880"}],"importedBy":[{"uid":"c5e49757-7278"},{"uid":"c5e49757-6884"}]},"c5e49757-6884":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/parallel/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6885"},"imported":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-6852"},{"uid":"c5e49757-6854"},{"uid":"c5e49757-6856"},{"uid":"c5e49757-6882"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6886":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/sankey/SankeyView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6887"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6894"}]},"c5e49757-6888":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/sankey/SankeySeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6889"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6830"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6458"}],"importedBy":[{"uid":"c5e49757-6894"}]},"c5e49757-6890":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/sankey/sankeyLayout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6891"},"imported":[{"uid":"c5e49757-6414"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-6894"}]},"c5e49757-6892":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/sankey/sankeyVisual.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6893"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6786"}],"importedBy":[{"uid":"c5e49757-6894"}]},"c5e49757-6894":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/sankey/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6895"},"imported":[{"uid":"c5e49757-6886"},{"uid":"c5e49757-6888"},{"uid":"c5e49757-6890"},{"uid":"c5e49757-6892"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6896":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/whiskerBoxCommon.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6897"},"imported":[{"uid":"c5e49757-6634"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6508"},{"uid":"c5e49757-6422"}],"importedBy":[{"uid":"c5e49757-6898"},{"uid":"c5e49757-6912"}]},"c5e49757-6898":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/boxplot/BoxplotSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6899"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6896"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6908"}]},"c5e49757-6900":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/boxplot/BoxplotView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6901"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-6386"}],"importedBy":[{"uid":"c5e49757-6908"}]},"c5e49757-6902":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/boxplot/boxplotLayout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6903"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6370"}],"importedBy":[{"uid":"c5e49757-6908"}]},"c5e49757-6904":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/boxplot/prepareBoxplotData.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6905"},"imported":[{"uid":"c5e49757-6370"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6906"}]},"c5e49757-6906":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/boxplot/boxplotTransform.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6907"},"imported":[{"uid":"c5e49757-6904"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-6420"}],"importedBy":[{"uid":"c5e49757-6908"}]},"c5e49757-6908":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/boxplot/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6909"},"imported":[{"uid":"c5e49757-6898"},{"uid":"c5e49757-6900"},{"uid":"c5e49757-6902"},{"uid":"c5e49757-6906"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6910":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/candlestick/CandlestickView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6911"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-6600"},{"uid":"c5e49757-6386"}],"importedBy":[{"uid":"c5e49757-6920"}]},"c5e49757-6912":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/candlestick/CandlestickSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6913"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6896"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6920"}]},"c5e49757-6914":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/candlestick/preprocessor.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6915"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6920"}]},"c5e49757-6916":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/candlestick/candlestickVisual.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6917"},"imported":[{"uid":"c5e49757-6466"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6920"}]},"c5e49757-6918":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/candlestick/candlestickLayout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6919"},"imported":[{"uid":"c5e49757-6388"},{"uid":"c5e49757-6466"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6534"}],"importedBy":[{"uid":"c5e49757-6920"}]},"c5e49757-6920":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/candlestick/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6921"},"imported":[{"uid":"c5e49757-6910"},{"uid":"c5e49757-6912"},{"uid":"c5e49757-6914"},{"uid":"c5e49757-6916"},{"uid":"c5e49757-6918"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6922":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/EffectSymbol.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6923"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6590"}],"importedBy":[{"uid":"c5e49757-6924"}]},"c5e49757-6924":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/effectScatter/EffectScatterView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6925"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6592"},{"uid":"c5e49757-6922"},{"uid":"c5e49757-2480"},{"uid":"c5e49757-6606"},{"uid":"c5e49757-6468"}],"importedBy":[{"uid":"c5e49757-6928"}]},"c5e49757-6926":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/effectScatter/EffectScatterSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6927"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6462"}],"importedBy":[{"uid":"c5e49757-6928"}]},"c5e49757-6928":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/effectScatter/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6929"},"imported":[{"uid":"c5e49757-6924"},{"uid":"c5e49757-6926"},{"uid":"c5e49757-6606"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6930":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/EffectLine.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6931"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6820"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-2466"},{"uid":"c5e49757-2498"}],"importedBy":[{"uid":"c5e49757-6940"},{"uid":"c5e49757-6934"}]},"c5e49757-6932":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/Polyline.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6933"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"}],"importedBy":[{"uid":"c5e49757-6940"},{"uid":"c5e49757-6934"}]},"c5e49757-6934":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/EffectPolyline.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6935"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6932"},{"uid":"c5e49757-6930"},{"uid":"c5e49757-2466"}],"importedBy":[{"uid":"c5e49757-6940"}]},"c5e49757-6936":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/helper/LargeLineDraw.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6937"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-2538"},{"uid":"c5e49757-2542"},{"uid":"c5e49757-6382"}],"importedBy":[{"uid":"c5e49757-6940"}]},"c5e49757-6938":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/lines/linesLayout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6939"},"imported":[{"uid":"c5e49757-6466"},{"uid":"c5e49757-6372"}],"importedBy":[{"uid":"c5e49757-6946"},{"uid":"c5e49757-6940"}]},"c5e49757-6940":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/lines/LinesView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6941"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6822"},{"uid":"c5e49757-6930"},{"uid":"c5e49757-6820"},{"uid":"c5e49757-6932"},{"uid":"c5e49757-6934"},{"uid":"c5e49757-6936"},{"uid":"c5e49757-6938"},{"uid":"c5e49757-6600"},{"uid":"c5e49757-6468"}],"importedBy":[{"uid":"c5e49757-6946"}]},"c5e49757-6942":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/lines/LinesSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6943"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6432"},{"uid":"c5e49757-6458"}],"importedBy":[{"uid":"c5e49757-6946"}]},"c5e49757-6944":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/lines/linesVisual.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6945"},"imported":[],"importedBy":[{"uid":"c5e49757-6946"}]},"c5e49757-6946":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/lines/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6947"},"imported":[{"uid":"c5e49757-6940"},{"uid":"c5e49757-6942"},{"uid":"c5e49757-6938"},{"uid":"c5e49757-6944"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6948":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/heatmap/HeatmapLayer.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6949"},"imported":[{"uid":"c5e49757-2462"}],"importedBy":[{"uid":"c5e49757-6950"}]},"c5e49757-6950":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/heatmap/HeatmapView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6951"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6948"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6602"},{"uid":"c5e49757-6390"}],"importedBy":[{"uid":"c5e49757-6954"}]},"c5e49757-6952":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/heatmap/HeatmapSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6953"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6432"}],"importedBy":[{"uid":"c5e49757-6954"}]},"c5e49757-6954":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/heatmap/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6955"},"imported":[{"uid":"c5e49757-6950"},{"uid":"c5e49757-6952"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6956":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/bar/PictorialBarView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6957"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6588"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-2556"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6600"}],"importedBy":[{"uid":"c5e49757-6960"}]},"c5e49757-6958":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/bar/PictorialBarSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6959"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6612"},{"uid":"c5e49757-6400"}],"importedBy":[{"uid":"c5e49757-6960"}]},"c5e49757-6960":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/bar/installPictorialBar.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6961"},"imported":[{"uid":"c5e49757-6956"},{"uid":"c5e49757-6958"},{"uid":"c5e49757-6536"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6962":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/themeRiver/ThemeRiverView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6963"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6598"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6506"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6386"}],"importedBy":[{"uid":"c5e49757-6968"}]},"c5e49757-6964":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/themeRiver/ThemeRiverSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6965"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6516"},{"uid":"c5e49757-6508"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6636"},{"uid":"c5e49757-6458"}],"importedBy":[{"uid":"c5e49757-6968"}]},"c5e49757-6966":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/themeRiver/themeRiverLayout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6967"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6370"}],"importedBy":[{"uid":"c5e49757-6968"}]},"c5e49757-6968":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/themeRiver/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6969"},"imported":[{"uid":"c5e49757-6962"},{"uid":"c5e49757-6964"},{"uid":"c5e49757-6966"},{"uid":"c5e49757-6628"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6970":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/sunburst/SunburstPiece.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6971"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6620"},{"uid":"c5e49757-6494"},{"uid":"c5e49757-6386"},{"uid":"c5e49757-2544"},{"uid":"c5e49757-6370"}],"importedBy":[{"uid":"c5e49757-6974"}]},"c5e49757-6972":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/sunburst/sunburstAction.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6973"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-6760"}],"importedBy":[{"uid":"c5e49757-6982"},{"uid":"c5e49757-6974"}]},"c5e49757-6974":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/sunburst/SunburstView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6975"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6970"},{"uid":"c5e49757-6506"},{"uid":"c5e49757-6972"},{"uid":"c5e49757-6412"}],"importedBy":[{"uid":"c5e49757-6982"}]},"c5e49757-6976":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/sunburst/SunburstSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6977"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6462"},{"uid":"c5e49757-6758"},{"uid":"c5e49757-6760"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6776"}],"importedBy":[{"uid":"c5e49757-6982"}]},"c5e49757-6978":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/sunburst/sunburstLayout.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6979"},"imported":[{"uid":"c5e49757-6370"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6982"}]},"c5e49757-6980":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/sunburst/sunburstVisual.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6981"},"imported":[{"uid":"c5e49757-2506"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-6982"}]},"c5e49757-6982":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/sunburst/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6983"},"imported":[{"uid":"c5e49757-6974"},{"uid":"c5e49757-6976"},{"uid":"c5e49757-6978"},{"uid":"c5e49757-6980"},{"uid":"c5e49757-6628"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6972"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-6984":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/custom/CustomSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6985"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6522"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6462"}],"importedBy":[{"uid":"c5e49757-7004"},{"uid":"c5e49757-7002"}]},"c5e49757-6986":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/cartesian/prepareCustom.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6987"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7002"}]},"c5e49757-6988":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/geo/prepareCustom.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6989"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7002"}]},"c5e49757-6990":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/single/prepareCustom.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6991"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7002"}]},"c5e49757-6992":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/polar/prepareCustom.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6993"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7002"}]},"c5e49757-6994":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/calendar/prepareCustom.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6995"},"imported":[],"importedBy":[{"uid":"c5e49757-7002"}]},"c5e49757-6996":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/styleCompat.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6997"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7002"},{"uid":"c5e49757-7076"}]},"c5e49757-6998":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/animation/customGraphicTransition.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-6999"},"imported":[{"uid":"c5e49757-6374"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2510"},{"uid":"c5e49757-2532"},{"uid":"c5e49757-6386"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-2518"}],"importedBy":[{"uid":"c5e49757-7002"},{"uid":"c5e49757-7076"},{"uid":"c5e49757-7000"}]},"c5e49757-7000":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/animation/customGraphicKeyframeAnimation.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7001"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6998"},{"uid":"c5e49757-6386"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-7002"},{"uid":"c5e49757-7076"}]},"c5e49757-7002":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/custom/CustomView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7003"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6588"},{"uid":"c5e49757-6536"},{"uid":"c5e49757-6506"},{"uid":"c5e49757-6468"},{"uid":"c5e49757-6600"},{"uid":"c5e49757-6986"},{"uid":"c5e49757-6988"},{"uid":"c5e49757-6990"},{"uid":"c5e49757-6992"},{"uid":"c5e49757-6994"},{"uid":"c5e49757-2532"},{"uid":"c5e49757-6996"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-6494"},{"uid":"c5e49757-6984"},{"uid":"c5e49757-6998"},{"uid":"c5e49757-7000"}],"importedBy":[{"uid":"c5e49757-7004"}]},"c5e49757-7004":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/chart/custom/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7005"},"imported":[{"uid":"c5e49757-6984"},{"uid":"c5e49757-7002"}],"importedBy":[{"uid":"c5e49757-7006"}]},"c5e49757-7006":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/export/charts.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7007"},"imported":[{"uid":"c5e49757-6610"},{"uid":"c5e49757-6624"},{"uid":"c5e49757-6642"},{"uid":"c5e49757-6684"},{"uid":"c5e49757-6704"},{"uid":"c5e49757-6750"},{"uid":"c5e49757-6772"},{"uid":"c5e49757-6792"},{"uid":"c5e49757-6834"},{"uid":"c5e49757-6842"},{"uid":"c5e49757-6850"},{"uid":"c5e49757-6884"},{"uid":"c5e49757-6894"},{"uid":"c5e49757-6908"},{"uid":"c5e49757-6920"},{"uid":"c5e49757-6928"},{"uid":"c5e49757-6946"},{"uid":"c5e49757-6954"},{"uid":"c5e49757-6960"},{"uid":"c5e49757-6968"},{"uid":"c5e49757-6982"},{"uid":"c5e49757-7004"}],"importedBy":[{"uid":"c5e49757-7286"}]},"c5e49757-7008":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axisPointer/BaseAxisPointer.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7009"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6674"},{"uid":"c5e49757-2476"},{"uid":"c5e49757-6470"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-7028"},{"uid":"c5e49757-7062"},{"uid":"c5e49757-7012"}]},"c5e49757-7010":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axisPointer/viewHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7011"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-2520"},{"uid":"c5e49757-6412"},{"uid":"c5e49757-2480"},{"uid":"c5e49757-6544"},{"uid":"c5e49757-6672"},{"uid":"c5e49757-6390"}],"importedBy":[{"uid":"c5e49757-7028"},{"uid":"c5e49757-7062"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-7012"}]},"c5e49757-7012":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axisPointer/CartesianAxisPointer.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7013"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-7008"},{"uid":"c5e49757-7010"},{"uid":"c5e49757-6666"}],"importedBy":[{"uid":"c5e49757-7024"}]},"c5e49757-7014":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axisPointer/AxisPointerModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7015"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6416"}],"importedBy":[{"uid":"c5e49757-7024"}]},"c5e49757-7016":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axisPointer/globalListener.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7017"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2460"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-7132"},{"uid":"c5e49757-7018"}]},"c5e49757-7018":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axisPointer/AxisPointerView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7019"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-7016"},{"uid":"c5e49757-6464"}],"importedBy":[{"uid":"c5e49757-7024"}]},"c5e49757-7020":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axisPointer/findPointFromSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7021"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-7132"},{"uid":"c5e49757-7022"}]},"c5e49757-7022":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axisPointer/axisTrigger.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7023"},"imported":[{"uid":"c5e49757-6374"},{"uid":"c5e49757-6674"},{"uid":"c5e49757-7020"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7024"}]},"c5e49757-7024":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axisPointer/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7025"},"imported":[{"uid":"c5e49757-6676"},{"uid":"c5e49757-7012"},{"uid":"c5e49757-7014"},{"uid":"c5e49757-7018"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6674"},{"uid":"c5e49757-7022"}],"importedBy":[{"uid":"c5e49757-7278"},{"uid":"c5e49757-7026"},{"uid":"c5e49757-7048"},{"uid":"c5e49757-7064"},{"uid":"c5e49757-7134"}]},"c5e49757-7026":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/grid/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7027"},"imported":[{"uid":"c5e49757-6682"},{"uid":"c5e49757-7024"},{"uid":"c5e49757-6504"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7028":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axisPointer/PolarAxisPointer.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7029"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-7008"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-7010"},{"uid":"c5e49757-2480"},{"uid":"c5e49757-6672"}],"importedBy":[{"uid":"c5e49757-7048"}]},"c5e49757-7030":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/polar/PolarModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7031"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6416"}],"importedBy":[{"uid":"c5e49757-7048"}]},"c5e49757-7032":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/polar/AxisModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7033"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6546"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-7048"}]},"c5e49757-7034":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/polar/RadiusAxis.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7035"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6566"}],"importedBy":[{"uid":"c5e49757-7038"}]},"c5e49757-7036":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/polar/AngleAxis.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7037"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2520"},{"uid":"c5e49757-6566"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-7038"}]},"c5e49757-7038":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/polar/Polar.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7039"},"imported":[{"uid":"c5e49757-7034"},{"uid":"c5e49757-7036"}],"importedBy":[{"uid":"c5e49757-7040"}]},"c5e49757-7040":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/polar/polarCreator.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7041"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-7038"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6544"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-7048"}]},"c5e49757-7042":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axis/AngleAxisView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7043"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6676"},{"uid":"c5e49757-6672"},{"uid":"c5e49757-6382"}],"importedBy":[{"uid":"c5e49757-7048"}]},"c5e49757-7044":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axis/RadiusAxisView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7045"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6672"},{"uid":"c5e49757-6676"}],"importedBy":[{"uid":"c5e49757-7048"}]},"c5e49757-7046":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/layout/barPolar.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7047"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6520"}],"importedBy":[{"uid":"c5e49757-7048"}]},"c5e49757-7048":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/polar/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7049"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6504"},{"uid":"c5e49757-6676"},{"uid":"c5e49757-7028"},{"uid":"c5e49757-7024"},{"uid":"c5e49757-7030"},{"uid":"c5e49757-6658"},{"uid":"c5e49757-7032"},{"uid":"c5e49757-7040"},{"uid":"c5e49757-7042"},{"uid":"c5e49757-7044"},{"uid":"c5e49757-6464"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-7046"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7050":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/single/singleAxisHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7051"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7052"},{"uid":"c5e49757-7062"}]},"c5e49757-7052":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axis/SingleAxisView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7053"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6672"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-7050"},{"uid":"c5e49757-6676"},{"uid":"c5e49757-6678"}],"importedBy":[{"uid":"c5e49757-7064"}]},"c5e49757-7054":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/single/AxisModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7055"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6546"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7064"}]},"c5e49757-7056":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/single/SingleAxis.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7057"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6566"}],"importedBy":[{"uid":"c5e49757-7058"}]},"c5e49757-7058":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/single/Single.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7059"},"imported":[{"uid":"c5e49757-7056"},{"uid":"c5e49757-6544"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7060"}]},"c5e49757-7060":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/single/singleCreator.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7061"},"imported":[{"uid":"c5e49757-7058"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-7064"}]},"c5e49757-7062":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/axisPointer/SingleAxisPointer.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7063"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-7008"},{"uid":"c5e49757-7010"},{"uid":"c5e49757-7050"}],"importedBy":[{"uid":"c5e49757-7064"}]},"c5e49757-7064":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/singleAxis/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7065"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6504"},{"uid":"c5e49757-6464"},{"uid":"c5e49757-7052"},{"uid":"c5e49757-6658"},{"uid":"c5e49757-7054"},{"uid":"c5e49757-7060"},{"uid":"c5e49757-7024"},{"uid":"c5e49757-6676"},{"uid":"c5e49757-7062"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7066":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/calendar/CalendarModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7067"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6414"}],"importedBy":[{"uid":"c5e49757-7072"}]},"c5e49757-7068":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/calendar/CalendarView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7069"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6412"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6464"},{"uid":"c5e49757-6406"}],"importedBy":[{"uid":"c5e49757-7072"}]},"c5e49757-7070":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/coord/calendar/Calendar.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7071"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6370"}],"importedBy":[{"uid":"c5e49757-7072"}]},"c5e49757-7072":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/calendar/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7073"},"imported":[{"uid":"c5e49757-7066"},{"uid":"c5e49757-7068"},{"uid":"c5e49757-7070"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7074":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/graphic/GraphicModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7075"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6414"}],"importedBy":[{"uid":"c5e49757-7078"}]},"c5e49757-7076":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/graphic/GraphicView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7077"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2532"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6464"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6996"},{"uid":"c5e49757-6998"},{"uid":"c5e49757-6386"},{"uid":"c5e49757-7000"}],"importedBy":[{"uid":"c5e49757-7078"}]},"c5e49757-7078":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/graphic/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7079"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-7074"},{"uid":"c5e49757-7076"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7080":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/helper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7081"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7218"},{"uid":"c5e49757-7226"},{"uid":"c5e49757-7082"},{"uid":"c5e49757-7092"},{"uid":"c5e49757-7094"},{"uid":"c5e49757-7090"}]},"c5e49757-7082":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/DataZoomModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7083"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-7080"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-7216"},{"uid":"c5e49757-7224"},{"uid":"c5e49757-7084"}]},"c5e49757-7084":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/SelectZoomModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7085"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-7082"}],"importedBy":[{"uid":"c5e49757-7098"}]},"c5e49757-7086":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/DataZoomView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7087"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6464"}],"importedBy":[{"uid":"c5e49757-7220"},{"uid":"c5e49757-7226"},{"uid":"c5e49757-7088"}]},"c5e49757-7088":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/SelectZoomView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7089"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-7086"}],"importedBy":[{"uid":"c5e49757-7098"}]},"c5e49757-7090":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/AxisProxy.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7091"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6866"},{"uid":"c5e49757-6544"},{"uid":"c5e49757-6542"},{"uid":"c5e49757-7080"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-7092"}]},"c5e49757-7092":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/dataZoomProcessor.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7093"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-7080"},{"uid":"c5e49757-7090"}],"importedBy":[{"uid":"c5e49757-7096"}]},"c5e49757-7094":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/dataZoomAction.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7095"},"imported":[{"uid":"c5e49757-7080"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7096"}]},"c5e49757-7096":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/installCommon.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7097"},"imported":[{"uid":"c5e49757-7092"},{"uid":"c5e49757-7094"}],"importedBy":[{"uid":"c5e49757-7222"},{"uid":"c5e49757-7228"},{"uid":"c5e49757-7098"}]},"c5e49757-7098":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/installDataZoomSelect.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7099"},"imported":[{"uid":"c5e49757-7084"},{"uid":"c5e49757-7088"},{"uid":"c5e49757-7096"}],"importedBy":[{"uid":"c5e49757-7122"}]},"c5e49757-7100":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/toolbox/featureManager.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7101"},"imported":[],"importedBy":[{"uid":"c5e49757-7122"},{"uid":"c5e49757-7150"},{"uid":"c5e49757-7102"},{"uid":"c5e49757-7106"},{"uid":"c5e49757-7108"},{"uid":"c5e49757-7110"},{"uid":"c5e49757-7112"},{"uid":"c5e49757-7116"},{"uid":"c5e49757-7120"},{"uid":"c5e49757-7148"}]},"c5e49757-7102":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/toolbox/ToolboxModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7103"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-7100"},{"uid":"c5e49757-6416"}],"importedBy":[{"uid":"c5e49757-7122"}]},"c5e49757-7104":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/helper/listComponent.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7105"},"imported":[{"uid":"c5e49757-6414"},{"uid":"c5e49757-6412"},{"uid":"c5e49757-6388"}],"importedBy":[{"uid":"c5e49757-7106"},{"uid":"c5e49757-7198"}]},"c5e49757-7106":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/toolbox/ToolboxView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7107"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2520"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6506"},{"uid":"c5e49757-7104"},{"uid":"c5e49757-6464"},{"uid":"c5e49757-7100"},{"uid":"c5e49757-6400"},{"uid":"c5e49757-2564"},{"uid":"c5e49757-6390"}],"importedBy":[{"uid":"c5e49757-7122"}]},"c5e49757-7108":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/toolbox/feature/SaveAsImage.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7109"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2460"},{"uid":"c5e49757-7100"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7122"}]},"c5e49757-7110":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/toolbox/feature/MagicType.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7111"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6502"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-7100"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-7122"}]},"c5e49757-7112":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/toolbox/feature/DataView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7113"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6502"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-7100"},{"uid":"c5e49757-2476"},{"uid":"c5e49757-6372"}],"importedBy":[{"uid":"c5e49757-7122"}]},"c5e49757-7114":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/history.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7115"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-7116"},{"uid":"c5e49757-7120"}]},"c5e49757-7116":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/toolbox/feature/Restore.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7117"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6502"},{"uid":"c5e49757-7114"},{"uid":"c5e49757-7100"}],"importedBy":[{"uid":"c5e49757-7122"}]},"c5e49757-7118":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/helper/BrushTargetManager.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7119"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6876"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-7120"},{"uid":"c5e49757-7142"}]},"c5e49757-7120":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/toolbox/feature/DataZoom.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7121"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6874"},{"uid":"c5e49757-7118"},{"uid":"c5e49757-7114"},{"uid":"c5e49757-6866"},{"uid":"c5e49757-7100"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6424"}],"importedBy":[{"uid":"c5e49757-7122"}]},"c5e49757-7122":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/toolbox/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7123"},"imported":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-7098"},{"uid":"c5e49757-7102"},{"uid":"c5e49757-7106"},{"uid":"c5e49757-7100"},{"uid":"c5e49757-7108"},{"uid":"c5e49757-7110"},{"uid":"c5e49757-7112"},{"uid":"c5e49757-7116"},{"uid":"c5e49757-7120"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7124":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/tooltip/TooltipModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7125"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6416"}],"importedBy":[{"uid":"c5e49757-7134"}]},"c5e49757-7126":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/tooltip/helper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7127"},"imported":[{"uid":"c5e49757-6412"},{"uid":"c5e49757-2460"}],"importedBy":[{"uid":"c5e49757-7132"},{"uid":"c5e49757-7128"}]},"c5e49757-7128":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/tooltip/TooltipHTMLContent.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7129"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2476"},{"uid":"c5e49757-2474"},{"uid":"c5e49757-2460"},{"uid":"c5e49757-6412"},{"uid":"c5e49757-7126"},{"uid":"c5e49757-6458"}],"importedBy":[{"uid":"c5e49757-7132"}]},"c5e49757-7130":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/tooltip/TooltipRichContent.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7131"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2564"},{"uid":"c5e49757-6458"},{"uid":"c5e49757-6372"}],"importedBy":[{"uid":"c5e49757-7132"}]},"c5e49757-7132":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/tooltip/TooltipView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7133"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2460"},{"uid":"c5e49757-7128"},{"uid":"c5e49757-7130"},{"uid":"c5e49757-6412"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-7020"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-7016"},{"uid":"c5e49757-6544"},{"uid":"c5e49757-7010"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6464"},{"uid":"c5e49757-6408"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-7126"},{"uid":"c5e49757-6446"},{"uid":"c5e49757-6458"},{"uid":"c5e49757-6490"},{"uid":"c5e49757-6470"}],"importedBy":[{"uid":"c5e49757-7134"}]},"c5e49757-7134":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/tooltip/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7135"},"imported":[{"uid":"c5e49757-7024"},{"uid":"c5e49757-6504"},{"uid":"c5e49757-7124"},{"uid":"c5e49757-7132"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7136":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/brush/preprocessor.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7137"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-7150"}]},"c5e49757-7138":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/visual/visualSolution.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7139"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6786"},{"uid":"c5e49757-6486"}],"importedBy":[{"uid":"c5e49757-7146"},{"uid":"c5e49757-7142"},{"uid":"c5e49757-7234"},{"uid":"c5e49757-7246"}]},"c5e49757-7140":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/brush/selector.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7141"},"imported":[{"uid":"c5e49757-2614"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-6388"}],"importedBy":[{"uid":"c5e49757-7142"}]},"c5e49757-7142":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/brush/visualEncoding.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7143"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-7138"},{"uid":"c5e49757-7140"},{"uid":"c5e49757-6470"},{"uid":"c5e49757-7118"}],"importedBy":[{"uid":"c5e49757-7150"},{"uid":"c5e49757-7144"}]},"c5e49757-7144":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/brush/BrushView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7145"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6874"},{"uid":"c5e49757-7142"},{"uid":"c5e49757-6464"}],"importedBy":[{"uid":"c5e49757-7150"}]},"c5e49757-7146":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/brush/BrushModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7147"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-7138"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6416"}],"importedBy":[{"uid":"c5e49757-7150"}]},"c5e49757-7148":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/toolbox/feature/Brush.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7149"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-7100"}],"importedBy":[{"uid":"c5e49757-7150"}]},"c5e49757-7150":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/brush/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7151"},"imported":[{"uid":"c5e49757-7136"},{"uid":"c5e49757-7144"},{"uid":"c5e49757-7146"},{"uid":"c5e49757-7142"},{"uid":"c5e49757-7148"},{"uid":"c5e49757-7100"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7152":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/title/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7153"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6464"},{"uid":"c5e49757-6412"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7154":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/timeline/TimelineModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7155"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"}],"importedBy":[{"uid":"c5e49757-7156"}]},"c5e49757-7156":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/timeline/SliderTimelineModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7157"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-7154"},{"uid":"c5e49757-6446"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6400"}],"importedBy":[{"uid":"c5e49757-7168"}]},"c5e49757-7158":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/timeline/TimelineView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7159"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6464"}],"importedBy":[{"uid":"c5e49757-7162"}]},"c5e49757-7160":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/timeline/TimelineAxis.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7161"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6566"}],"importedBy":[{"uid":"c5e49757-7162"}]},"c5e49757-7162":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/timeline/SliderTimelineView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7163"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2484"},{"uid":"c5e49757-2480"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-7158"},{"uid":"c5e49757-7160"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6530"},{"uid":"c5e49757-6538"},{"uid":"c5e49757-6532"},{"uid":"c5e49757-2520"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6458"}],"importedBy":[{"uid":"c5e49757-7168"}]},"c5e49757-7164":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/timeline/timelineAction.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7165"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7168"}]},"c5e49757-7166":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/timeline/preprocessor.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7167"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7168"}]},"c5e49757-7168":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/timeline/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7169"},"imported":[{"uid":"c5e49757-7156"},{"uid":"c5e49757-7162"},{"uid":"c5e49757-7164"},{"uid":"c5e49757-7166"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7170":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/marker/checkMarkerInSeries.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7171"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7182"},{"uid":"c5e49757-7188"},{"uid":"c5e49757-7194"}]},"c5e49757-7172":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/marker/MarkerModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7173"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2460"},{"uid":"c5e49757-6446"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6458"}],"importedBy":[{"uid":"c5e49757-7174"},{"uid":"c5e49757-7180"},{"uid":"c5e49757-7184"},{"uid":"c5e49757-7186"},{"uid":"c5e49757-7190"},{"uid":"c5e49757-7192"},{"uid":"c5e49757-7178"}]},"c5e49757-7174":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/marker/MarkPointModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7175"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-7172"}],"importedBy":[{"uid":"c5e49757-7182"}]},"c5e49757-7176":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/marker/markerHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7177"},"imported":[{"uid":"c5e49757-6370"},{"uid":"c5e49757-6520"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6450"}],"importedBy":[{"uid":"c5e49757-7180"},{"uid":"c5e49757-7186"},{"uid":"c5e49757-7192"}]},"c5e49757-7178":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/marker/MarkerView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7179"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6464"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-7172"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6384"}],"importedBy":[{"uid":"c5e49757-7180"},{"uid":"c5e49757-7186"},{"uid":"c5e49757-7192"}]},"c5e49757-7180":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/marker/MarkPointView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7181"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6592"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-7176"},{"uid":"c5e49757-7178"},{"uid":"c5e49757-7172"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6486"}],"importedBy":[{"uid":"c5e49757-7182"}]},"c5e49757-7182":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/marker/installMarkPoint.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7183"},"imported":[{"uid":"c5e49757-7170"},{"uid":"c5e49757-7174"},{"uid":"c5e49757-7180"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7184":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/marker/MarkLineModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7185"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-7172"}],"importedBy":[{"uid":"c5e49757-7188"}]},"c5e49757-7186":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/marker/MarkLineView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7187"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-7176"},{"uid":"c5e49757-6822"},{"uid":"c5e49757-7178"},{"uid":"c5e49757-6520"},{"uid":"c5e49757-6602"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-7172"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6486"}],"importedBy":[{"uid":"c5e49757-7188"}]},"c5e49757-7188":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/marker/installMarkLine.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7189"},"imported":[{"uid":"c5e49757-7170"},{"uid":"c5e49757-7184"},{"uid":"c5e49757-7186"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7190":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/marker/MarkAreaModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7191"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-7172"}],"importedBy":[{"uid":"c5e49757-7194"}]},"c5e49757-7192":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/marker/MarkAreaView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7193"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2506"},{"uid":"c5e49757-6514"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-7176"},{"uid":"c5e49757-7178"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6602"},{"uid":"c5e49757-7172"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6486"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6450"}],"importedBy":[{"uid":"c5e49757-7194"}]},"c5e49757-7194":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/marker/installMarkArea.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7195"},"imported":[{"uid":"c5e49757-7170"},{"uid":"c5e49757-7190"},{"uid":"c5e49757-7192"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7196":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/legend/LegendModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7197"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6398"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6416"}],"importedBy":[{"uid":"c5e49757-7204"},{"uid":"c5e49757-7206"}]},"c5e49757-7198":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/legend/LegendView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7199"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2506"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-7104"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6464"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-6494"},{"uid":"c5e49757-6382"}],"importedBy":[{"uid":"c5e49757-7204"},{"uid":"c5e49757-7208"}]},"c5e49757-7200":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/legend/legendFilter.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7201"},"imported":[],"importedBy":[{"uid":"c5e49757-7204"}]},"c5e49757-7202":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/legend/legendAction.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7203"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7204"}]},"c5e49757-7204":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/legend/installLegendPlain.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7205"},"imported":[{"uid":"c5e49757-7196"},{"uid":"c5e49757-7198"},{"uid":"c5e49757-7200"},{"uid":"c5e49757-7202"}],"importedBy":[{"uid":"c5e49757-7278"},{"uid":"c5e49757-7214"},{"uid":"c5e49757-7212"}]},"c5e49757-7206":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/legend/ScrollableLegendModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7207"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-7196"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6400"}],"importedBy":[{"uid":"c5e49757-7212"}]},"c5e49757-7208":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/legend/ScrollableLegendView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7209"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-7198"}],"importedBy":[{"uid":"c5e49757-7212"}]},"c5e49757-7210":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/legend/scrollableLegendAction.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7211"},"imported":[],"importedBy":[{"uid":"c5e49757-7212"}]},"c5e49757-7212":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/legend/installLegendScroll.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7213"},"imported":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-7204"},{"uid":"c5e49757-7206"},{"uid":"c5e49757-7208"},{"uid":"c5e49757-7210"}],"importedBy":[{"uid":"c5e49757-7278"},{"uid":"c5e49757-7214"}]},"c5e49757-7214":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/legend/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7215"},"imported":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-7204"},{"uid":"c5e49757-7212"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7216":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/InsideZoomModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7217"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-7082"},{"uid":"c5e49757-6400"}],"importedBy":[{"uid":"c5e49757-7222"}]},"c5e49757-7218":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/roams.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7219"},"imported":[{"uid":"c5e49757-6708"},{"uid":"c5e49757-6470"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-7080"}],"importedBy":[{"uid":"c5e49757-7222"},{"uid":"c5e49757-7220"}]},"c5e49757-7220":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/InsideZoomView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7221"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-7086"},{"uid":"c5e49757-6866"},{"uid":"c5e49757-7218"},{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7222"}]},"c5e49757-7222":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/installDataZoomInside.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7223"},"imported":[{"uid":"c5e49757-7216"},{"uid":"c5e49757-7220"},{"uid":"c5e49757-7218"},{"uid":"c5e49757-7096"}],"importedBy":[{"uid":"c5e49757-7278"},{"uid":"c5e49757-7230"}]},"c5e49757-7224":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/SliderZoomModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7225"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-7082"},{"uid":"c5e49757-6400"}],"importedBy":[{"uid":"c5e49757-7228"}]},"c5e49757-7226":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/SliderZoomView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7227"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2476"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6470"},{"uid":"c5e49757-7086"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6866"},{"uid":"c5e49757-7080"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-6390"}],"importedBy":[{"uid":"c5e49757-7228"}]},"c5e49757-7228":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/installDataZoomSlider.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7229"},"imported":[{"uid":"c5e49757-7224"},{"uid":"c5e49757-7226"},{"uid":"c5e49757-7096"}],"importedBy":[{"uid":"c5e49757-7278"},{"uid":"c5e49757-7230"}]},"c5e49757-7230":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataZoom/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7231"},"imported":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-7222"},{"uid":"c5e49757-7228"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7232":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/visual/visualDefault.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7233"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7254"},{"uid":"c5e49757-7234"}]},"c5e49757-7234":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/visualMap/VisualMapModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7235"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-7232"},{"uid":"c5e49757-6786"},{"uid":"c5e49757-7138"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6416"}],"importedBy":[{"uid":"c5e49757-7236"},{"uid":"c5e49757-7254"}]},"c5e49757-7236":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/visualMap/ContinuousModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7237"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-7234"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6400"}],"importedBy":[{"uid":"c5e49757-7252"}]},"c5e49757-7238":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/visualMap/VisualMapView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7239"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6412"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-6786"},{"uid":"c5e49757-6464"}],"importedBy":[{"uid":"c5e49757-7242"},{"uid":"c5e49757-7256"}]},"c5e49757-7240":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/visualMap/helper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7241"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6414"}],"importedBy":[{"uid":"c5e49757-7242"},{"uid":"c5e49757-7256"}]},"c5e49757-7242":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/visualMap/ContinuousView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7243"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-2598"},{"uid":"c5e49757-2476"},{"uid":"c5e49757-7238"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6866"},{"uid":"c5e49757-7240"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-2520"},{"uid":"c5e49757-6384"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-2556"},{"uid":"c5e49757-6382"},{"uid":"c5e49757-6390"},{"uid":"c5e49757-6490"}],"importedBy":[{"uid":"c5e49757-7252"}]},"c5e49757-7244":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/visualMap/visualMapAction.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7245"},"imported":[],"importedBy":[{"uid":"c5e49757-7250"}]},"c5e49757-7246":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/visualMap/visualEncoding.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7247"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-7138"},{"uid":"c5e49757-6786"},{"uid":"c5e49757-6486"}],"importedBy":[{"uid":"c5e49757-7250"}]},"c5e49757-7248":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/visualMap/preprocessor.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7249"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7250"}]},"c5e49757-7250":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/visualMap/installCommon.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7251"},"imported":[{"uid":"c5e49757-7244"},{"uid":"c5e49757-7246"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-7248"}],"importedBy":[{"uid":"c5e49757-7252"},{"uid":"c5e49757-7258"}]},"c5e49757-7252":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/visualMap/installVisualMapContinuous.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7253"},"imported":[{"uid":"c5e49757-7236"},{"uid":"c5e49757-7242"},{"uid":"c5e49757-7250"}],"importedBy":[{"uid":"c5e49757-7278"},{"uid":"c5e49757-7260"}]},"c5e49757-7254":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/visualMap/PiecewiseModel.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7255"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-7234"},{"uid":"c5e49757-6786"},{"uid":"c5e49757-7232"},{"uid":"c5e49757-6370"},{"uid":"c5e49757-6400"}],"importedBy":[{"uid":"c5e49757-7258"}]},"c5e49757-7256":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/visualMap/PiecewiseView.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7257"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-7238"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6492"},{"uid":"c5e49757-6414"},{"uid":"c5e49757-7240"},{"uid":"c5e49757-6390"}],"importedBy":[{"uid":"c5e49757-7258"}]},"c5e49757-7258":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/visualMap/installVisualMapPiecewise.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7259"},"imported":[{"uid":"c5e49757-7254"},{"uid":"c5e49757-7256"},{"uid":"c5e49757-7250"}],"importedBy":[{"uid":"c5e49757-7278"},{"uid":"c5e49757-7260"}]},"c5e49757-7260":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/visualMap/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7261"},"imported":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-7252"},{"uid":"c5e49757-7258"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7262":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/visual/aria.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7263"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6426"}],"importedBy":[{"uid":"c5e49757-7266"}]},"c5e49757-7264":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/aria/preprocessor.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7265"},"imported":[{"uid":"c5e49757-2464"}],"importedBy":[{"uid":"c5e49757-7266"}]},"c5e49757-7266":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/aria/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7267"},"imported":[{"uid":"c5e49757-7262"},{"uid":"c5e49757-7264"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7268":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/util/conditionalExpression.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7269"},"imported":[{"uid":"c5e49757-2464"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-6450"}],"importedBy":[{"uid":"c5e49757-7270"}]},"c5e49757-7270":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/transform/filterTransform.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7271"},"imported":[{"uid":"c5e49757-7268"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6372"}],"importedBy":[{"uid":"c5e49757-7274"}]},"c5e49757-7272":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/transform/sortTransform.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7273"},"imported":[{"uid":"c5e49757-6420"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6450"}],"importedBy":[{"uid":"c5e49757-7274"}]},"c5e49757-7274":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/transform/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7275"},"imported":[{"uid":"c5e49757-7270"},{"uid":"c5e49757-7272"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7276":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/component/dataset/install.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7277"},"imported":[{"uid":"c5e49757-2370"},{"uid":"c5e49757-6416"},{"uid":"c5e49757-6464"},{"uid":"c5e49757-6420"},{"uid":"c5e49757-6456"}],"importedBy":[{"uid":"c5e49757-7278"}]},"c5e49757-7278":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/export/components.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7279"},"imported":[{"uid":"c5e49757-6682"},{"uid":"c5e49757-7026"},{"uid":"c5e49757-7048"},{"uid":"c5e49757-6702"},{"uid":"c5e49757-6748"},{"uid":"c5e49757-7064"},{"uid":"c5e49757-6882"},{"uid":"c5e49757-7072"},{"uid":"c5e49757-7078"},{"uid":"c5e49757-7122"},{"uid":"c5e49757-7134"},{"uid":"c5e49757-7024"},{"uid":"c5e49757-7150"},{"uid":"c5e49757-7152"},{"uid":"c5e49757-7168"},{"uid":"c5e49757-7182"},{"uid":"c5e49757-7188"},{"uid":"c5e49757-7194"},{"uid":"c5e49757-7214"},{"uid":"c5e49757-7212"},{"uid":"c5e49757-7204"},{"uid":"c5e49757-7230"},{"uid":"c5e49757-7222"},{"uid":"c5e49757-7228"},{"uid":"c5e49757-7260"},{"uid":"c5e49757-7252"},{"uid":"c5e49757-7258"},{"uid":"c5e49757-7266"},{"uid":"c5e49757-7274"},{"uid":"c5e49757-7276"}],"importedBy":[{"uid":"c5e49757-7286"}]},"c5e49757-7280":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/animation/morphTransitionHelper.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7281"},"imported":[{"uid":"c5e49757-2648"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-6386"},{"uid":"c5e49757-2568"}],"importedBy":[{"uid":"c5e49757-7282"}]},"c5e49757-7282":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/animation/universalTransition.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7283"},"imported":[{"uid":"c5e49757-6462"},{"uid":"c5e49757-2464"},{"uid":"c5e49757-7280"},{"uid":"c5e49757-2552"},{"uid":"c5e49757-6388"},{"uid":"c5e49757-6506"},{"uid":"c5e49757-6374"},{"uid":"c5e49757-6372"},{"uid":"c5e49757-6386"},{"uid":"c5e49757-2532"}],"importedBy":[{"uid":"c5e49757-7284"}]},"c5e49757-7284":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/lib/export/features.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7285"},"imported":[{"uid":"c5e49757-7282"},{"uid":"c5e49757-6576"}],"importedBy":[{"uid":"c5e49757-7286"}]},"c5e49757-7286":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/echarts/index.js","moduleParts":{"assets/js/echarts-DakzMd13.js":"c5e49757-7287"},"imported":[{"uid":"c5e49757-6504"},{"uid":"c5e49757-6578"},{"uid":"c5e49757-6584"},{"uid":"c5e49757-7006"},{"uid":"c5e49757-7278"},{"uid":"c5e49757-7284"}],"importedBy":[{"uid":"c5e49757-3448"},{"uid":"c5e49757-3752"},{"uid":"c5e49757-3918"}]},"c5e49757-7288":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vform3-builds/dist/designer.umd.js?commonjs-module","moduleParts":{"assets/js/vform3-builds-DPnGd9DT.js":"c5e49757-7289"},"imported":[],"importedBy":[{"uid":"c5e49757-7290"}]},"c5e49757-7290":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vform3-builds/dist/designer.umd.js","moduleParts":{"assets/js/vform3-builds-DPnGd9DT.js":"c5e49757-7291"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-7288"},{"uid":"c5e49757-628"}],"importedBy":[{"uid":"c5e49757-3624"}]},"c5e49757-7292":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vform3-builds/dist/designer.style.css","moduleParts":{"assets/js/vform3-builds-DPnGd9DT.js":"c5e49757-7293"},"imported":[],"importedBy":[{"uid":"c5e49757-3624"}]},"c5e49757-7294":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/core/dist/logic-flow.js?commonjs-module","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7295"},"imported":[],"importedBy":[{"uid":"c5e49757-7296"}]},"c5e49757-7296":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/core/dist/logic-flow.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7297"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-7294"}],"importedBy":[{"uid":"c5e49757-3318"},{"uid":"c5e49757-7394"},{"uid":"c5e49757-7408"},{"uid":"c5e49757-7368"},{"uid":"c5e49757-3302"},{"uid":"c5e49757-3306"},{"uid":"c5e49757-3308"},{"uid":"c5e49757-3310"},{"uid":"c5e49757-3312"},{"uid":"c5e49757-3314"},{"uid":"c5e49757-7300"},{"uid":"c5e49757-7302"},{"uid":"c5e49757-7304"},{"uid":"c5e49757-7306"},{"uid":"c5e49757-7308"},{"uid":"c5e49757-7310"},{"uid":"c5e49757-7338"},{"uid":"c5e49757-7326"},{"uid":"c5e49757-7328"},{"uid":"c5e49757-7330"},{"uid":"c5e49757-7332"},{"uid":"c5e49757-7334"},{"uid":"c5e49757-7374"},{"uid":"c5e49757-7344"},{"uid":"c5e49757-7370"},{"uid":"c5e49757-7340"},{"uid":"c5e49757-7366"},{"uid":"c5e49757-7354"},{"uid":"c5e49757-7356"},{"uid":"c5e49757-7360"},{"uid":"c5e49757-7362"},{"uid":"c5e49757-7358"},{"uid":"c5e49757-7350"},{"uid":"c5e49757-7346"}]},"c5e49757-7298":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn/getBpmnId.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7299"},"imported":[],"importedBy":[{"uid":"c5e49757-7410"},{"uid":"c5e49757-7300"},{"uid":"c5e49757-7302"},{"uid":"c5e49757-7304"},{"uid":"c5e49757-7306"},{"uid":"c5e49757-7308"},{"uid":"c5e49757-7310"}]},"c5e49757-7300":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn/events/StartEvent.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7301"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7298"}],"importedBy":[{"uid":"c5e49757-7314"}]},"c5e49757-7302":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn/events/EndEvent.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7303"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7298"}],"importedBy":[{"uid":"c5e49757-7314"}]},"c5e49757-7304":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn/gateways/ExclusiveGateway.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7305"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7298"}],"importedBy":[{"uid":"c5e49757-7314"}]},"c5e49757-7306":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn/tasks/UserTask.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7307"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7298"}],"importedBy":[{"uid":"c5e49757-7314"}]},"c5e49757-7308":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn/tasks/ServiceTask.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7309"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7298"}],"importedBy":[{"uid":"c5e49757-7314"}]},"c5e49757-7310":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn/flow/SequenceFlow.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7311"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7298"}],"importedBy":[{"uid":"c5e49757-7314"}]},"c5e49757-7312":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn/constant.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7313"},"imported":[],"importedBy":[{"uid":"c5e49757-7314"},{"uid":"c5e49757-7322"}]},"c5e49757-7314":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7315"},"imported":[{"uid":"c5e49757-7300"},{"uid":"c5e49757-7302"},{"uid":"c5e49757-7304"},{"uid":"c5e49757-7306"},{"uid":"c5e49757-7308"},{"uid":"c5e49757-7310"},{"uid":"c5e49757-7312"}],"importedBy":[{"uid":"c5e49757-7416"}]},"c5e49757-7316":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-adapter/bpmnIds.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7317"},"imported":[],"importedBy":[{"uid":"c5e49757-7322"}]},"c5e49757-7318":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-adapter/json2xml.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7319"},"imported":[],"importedBy":[{"uid":"c5e49757-7416"},{"uid":"c5e49757-7322"}]},"c5e49757-7320":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-adapter/xml2json.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7321"},"imported":[],"importedBy":[{"uid":"c5e49757-7416"},{"uid":"c5e49757-7322"}]},"c5e49757-7322":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-adapter/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7323"},"imported":[{"uid":"c5e49757-7316"},{"uid":"c5e49757-7318"},{"uid":"c5e49757-7320"},{"uid":"c5e49757-7312"}],"importedBy":[{"uid":"c5e49757-7416"}]},"c5e49757-7324":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements/utils.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7325"},"imported":[],"importedBy":[{"uid":"c5e49757-7378"},{"uid":"c5e49757-7326"},{"uid":"c5e49757-7328"},{"uid":"c5e49757-7330"},{"uid":"c5e49757-7332"},{"uid":"c5e49757-7334"},{"uid":"c5e49757-7374"},{"uid":"c5e49757-7344"},{"uid":"c5e49757-7340"}]},"c5e49757-7326":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements/presets/Event/EndEventFactory.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7327"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7324"}],"importedBy":[{"uid":"c5e49757-7378"},{"uid":"c5e49757-7336"}]},"c5e49757-7328":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements/presets/Event/IntermediateCatchEvent.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7329"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7324"}],"importedBy":[{"uid":"c5e49757-7378"},{"uid":"c5e49757-7336"}]},"c5e49757-7330":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements/presets/Event/StartEventFactory.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7331"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7324"}],"importedBy":[{"uid":"c5e49757-7378"},{"uid":"c5e49757-7336"}]},"c5e49757-7332":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements/presets/Event/boundaryEventFactory.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7333"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7324"}],"importedBy":[{"uid":"c5e49757-7378"},{"uid":"c5e49757-7336"}]},"c5e49757-7334":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements/presets/Event/IntermediateThrowEvent.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7335"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7324"}],"importedBy":[{"uid":"c5e49757-7378"},{"uid":"c5e49757-7336"}]},"c5e49757-7336":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements/presets/Event/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7337"},"imported":[{"uid":"c5e49757-7326"},{"uid":"c5e49757-7328"},{"uid":"c5e49757-7330"},{"uid":"c5e49757-7332"},{"uid":"c5e49757-7334"}],"importedBy":[{"uid":"c5e49757-7378"}]},"c5e49757-7338":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements/presets/icons.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7339"},"imported":[{"uid":"c5e49757-7296"}],"importedBy":[{"uid":"c5e49757-7378"},{"uid":"c5e49757-7342"},{"uid":"c5e49757-7372"},{"uid":"c5e49757-7344"}]},"c5e49757-7340":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements/presets/Gateway/gateway.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7341"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7324"}],"importedBy":[{"uid":"c5e49757-7378"},{"uid":"c5e49757-7342"}]},"c5e49757-7342":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements/presets/Gateway/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7343"},"imported":[{"uid":"c5e49757-7338"},{"uid":"c5e49757-7340"}],"importedBy":[{"uid":"c5e49757-7378"}]},"c5e49757-7344":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements/presets/Task/task.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7345"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7338"},{"uid":"c5e49757-7324"}],"importedBy":[{"uid":"c5e49757-7378"},{"uid":"c5e49757-7372"}]},"c5e49757-7346":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/NodeResize/BasicShape/Rect.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7347"},"imported":[{"uid":"c5e49757-7296"}],"importedBy":[{"uid":"c5e49757-7352"},{"uid":"c5e49757-7350"}]},"c5e49757-7348":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/NodeResize/Control/Util.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7349"},"imported":[],"importedBy":[{"uid":"c5e49757-7350"}]},"c5e49757-7350":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/NodeResize/Control/Control.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7351"},"imported":[{"uid":"c5e49757-246"},{"uid":"c5e49757-7296"},{"uid":"c5e49757-7346"},{"uid":"c5e49757-7348"}],"importedBy":[{"uid":"c5e49757-7352"}]},"c5e49757-7352":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/NodeResize/Control/ControlGroup.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7353"},"imported":[{"uid":"c5e49757-246"},{"uid":"c5e49757-7350"},{"uid":"c5e49757-7346"}],"importedBy":[{"uid":"c5e49757-7354"},{"uid":"c5e49757-7356"},{"uid":"c5e49757-7360"},{"uid":"c5e49757-7362"}]},"c5e49757-7354":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/NodeResize/Node/RectResize.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7355"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7352"}],"importedBy":[{"uid":"c5e49757-7364"}]},"c5e49757-7356":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/NodeResize/Node/EllipseResize.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7357"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7352"}],"importedBy":[{"uid":"c5e49757-7364"}]},"c5e49757-7358":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/NodeResize/BasicShape/Polygon.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7359"},"imported":[{"uid":"c5e49757-7296"}],"importedBy":[{"uid":"c5e49757-7360"}]},"c5e49757-7360":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/NodeResize/Node/DiamondResize.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7361"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7352"},{"uid":"c5e49757-7358"}],"importedBy":[{"uid":"c5e49757-7364"}]},"c5e49757-7362":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/NodeResize/Node/HtmlResize.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7363"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7352"}],"importedBy":[{"uid":"c5e49757-7364"}]},"c5e49757-7364":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/NodeResize/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7365"},"imported":[{"uid":"c5e49757-7354"},{"uid":"c5e49757-7356"},{"uid":"c5e49757-7360"},{"uid":"c5e49757-7362"}],"importedBy":[{"uid":"c5e49757-7416"},{"uid":"c5e49757-7366"}]},"c5e49757-7366":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/materials/group/GroupNode.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7367"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7364"}],"importedBy":[{"uid":"c5e49757-7368"}]},"c5e49757-7368":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/materials/group/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7369"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7366"}],"importedBy":[{"uid":"c5e49757-7416"},{"uid":"c5e49757-7370"}]},"c5e49757-7370":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements/presets/Task/subProcess.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7371"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7368"}],"importedBy":[{"uid":"c5e49757-7378"},{"uid":"c5e49757-7372"}]},"c5e49757-7372":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements/presets/Task/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7373"},"imported":[{"uid":"c5e49757-7338"},{"uid":"c5e49757-7344"},{"uid":"c5e49757-7370"}],"importedBy":[{"uid":"c5e49757-7378"}]},"c5e49757-7374":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements/presets/Flow/sequenceFlow.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7375"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-7324"}],"importedBy":[{"uid":"c5e49757-7378"},{"uid":"c5e49757-7376"}]},"c5e49757-7376":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements/presets/Flow/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7377"},"imported":[{"uid":"c5e49757-7374"}],"importedBy":[{"uid":"c5e49757-7378"}]},"c5e49757-7378":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7379"},"imported":[{"uid":"c5e49757-7336"},{"uid":"c5e49757-7342"},{"uid":"c5e49757-7372"},{"uid":"c5e49757-7376"},{"uid":"c5e49757-7338"},{"uid":"c5e49757-7324"},{"uid":"c5e49757-7326"},{"uid":"c5e49757-7328"},{"uid":"c5e49757-7330"},{"uid":"c5e49757-7332"},{"uid":"c5e49757-7334"},{"uid":"c5e49757-7374"},{"uid":"c5e49757-7344"},{"uid":"c5e49757-7370"},{"uid":"c5e49757-7340"}],"importedBy":[{"uid":"c5e49757-7416"}]},"c5e49757-7380":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements-adapter/constant.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7381"},"imported":[],"importedBy":[{"uid":"c5e49757-7386"}]},"c5e49757-7382":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements-adapter/xml2json.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7383"},"imported":[],"importedBy":[{"uid":"c5e49757-7386"}]},"c5e49757-7384":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements-adapter/json2xml.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7385"},"imported":[],"importedBy":[{"uid":"c5e49757-7386"}]},"c5e49757-7386":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/bpmn-elements-adapter/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7387"},"imported":[{"uid":"c5e49757-2008"},{"uid":"c5e49757-7380"},{"uid":"c5e49757-7382"},{"uid":"c5e49757-7384"}],"importedBy":[{"uid":"c5e49757-7416"}]},"c5e49757-7388":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/tools/snapshot/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7389"},"imported":[],"importedBy":[{"uid":"c5e49757-7416"}]},"c5e49757-7390":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/turbo-adapter/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7391"},"imported":[],"importedBy":[{"uid":"c5e49757-7416"}]},"c5e49757-7392":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/insert-node-in-polyline/edge.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7393"},"imported":[],"importedBy":[{"uid":"c5e49757-7394"}]},"c5e49757-7394":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/insert-node-in-polyline/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7395"},"imported":[{"uid":"c5e49757-7296"},{"uid":"c5e49757-2008"},{"uid":"c5e49757-7392"}],"importedBy":[{"uid":"c5e49757-7416"}]},"c5e49757-7396":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/components/control/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7397"},"imported":[],"importedBy":[{"uid":"c5e49757-7416"}]},"c5e49757-7398":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/components/menu/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7399"},"imported":[],"importedBy":[{"uid":"c5e49757-7416"}]},"c5e49757-7400":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/components/context-menu/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7401"},"imported":[],"importedBy":[{"uid":"c5e49757-7416"}]},"c5e49757-7402":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/components/dnd-panel/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7403"},"imported":[],"importedBy":[{"uid":"c5e49757-7416"}]},"c5e49757-7404":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/components/selection-select/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7405"},"imported":[],"importedBy":[{"uid":"c5e49757-7416"}]},"c5e49757-7406":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/components/mini-map/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7407"},"imported":[{"uid":"c5e49757-2008"}],"importedBy":[{"uid":"c5e49757-7416"}]},"c5e49757-7408":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/materials/curved-edge/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7409"},"imported":[{"uid":"c5e49757-7296"}],"importedBy":[{"uid":"c5e49757-7416"}]},"c5e49757-7410":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/tools/flow-path/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7411"},"imported":[{"uid":"c5e49757-7298"}],"importedBy":[{"uid":"c5e49757-7416"}]},"c5e49757-7412":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/tools/auto-layout/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7413"},"imported":[],"importedBy":[{"uid":"c5e49757-7416"}]},"c5e49757-7414":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/components/highlight/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7415"},"imported":[],"importedBy":[{"uid":"c5e49757-7416"}]},"c5e49757-7416":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/es/index.js","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7417"},"imported":[{"uid":"c5e49757-7314"},{"uid":"c5e49757-7322"},{"uid":"c5e49757-7378"},{"uid":"c5e49757-7386"},{"uid":"c5e49757-7388"},{"uid":"c5e49757-7390"},{"uid":"c5e49757-7394"},{"uid":"c5e49757-7396"},{"uid":"c5e49757-7398"},{"uid":"c5e49757-7400"},{"uid":"c5e49757-7402"},{"uid":"c5e49757-7404"},{"uid":"c5e49757-7406"},{"uid":"c5e49757-7408"},{"uid":"c5e49757-7368"},{"uid":"c5e49757-7364"},{"uid":"c5e49757-7410"},{"uid":"c5e49757-7412"},{"uid":"c5e49757-7320"},{"uid":"c5e49757-7318"},{"uid":"c5e49757-7414"}],"importedBy":[{"uid":"c5e49757-3318"}]},"c5e49757-7418":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/core/dist/style/index.css","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7419"},"imported":[],"importedBy":[{"uid":"c5e49757-3318"}]},"c5e49757-7420":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@logicflow/extension/lib/style/index.css","moduleParts":{"assets/js/@logicflow-CeBN9O-e.js":"c5e49757-7421"},"imported":[],"importedBy":[{"uid":"c5e49757-3318"}]},"c5e49757-7422":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-plugin-hiprint/dist/vue-plugin-hiprint.js?commonjs-module","moduleParts":{"assets/js/vue-plugin-hiprint-Bl8S8i7X.js":"c5e49757-7423"},"imported":[],"importedBy":[{"uid":"c5e49757-7424"}]},"c5e49757-7424":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/vue-plugin-hiprint/dist/vue-plugin-hiprint.js","moduleParts":{"assets/js/vue-plugin-hiprint-Bl8S8i7X.js":"c5e49757-7425"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-7422"},{"uid":"c5e49757-2412"},{"uid":"c5e49757-2360"},{"uid":"c5e49757-3244"},{"uid":"c5e49757-3810"},{"uid":"c5e49757-3206"}],"importedBy":[{"uid":"c5e49757-4088"},{"uid":"c5e49757-4812"},{"uid":"c5e49757-4886"},{"uid":"c5e49757-4882"},{"uid":"c5e49757-3624"}]},"c5e49757-7426":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/arrays.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7427"},"imported":[],"importedBy":[{"uid":"c5e49757-7444"},{"uid":"c5e49757-8544"},{"uid":"c5e49757-8980"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9162"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-9210"},{"uid":"c5e49757-8312"},{"uid":"c5e49757-8982"},{"uid":"c5e49757-7724"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8088"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-7602"},{"uid":"c5e49757-8748"},{"uid":"c5e49757-8930"},{"uid":"c5e49757-8856"},{"uid":"c5e49757-8878"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-8870"},{"uid":"c5e49757-8872"},{"uid":"c5e49757-8876"},{"uid":"c5e49757-8890"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9074"},{"uid":"c5e49757-9102"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-9012"},{"uid":"c5e49757-9024"},{"uid":"c5e49757-9030"},{"uid":"c5e49757-9028"},{"uid":"c5e49757-7680"},{"uid":"c5e49757-7584"},{"uid":"c5e49757-7698"},{"uid":"c5e49757-8104"},{"uid":"c5e49757-8188"},{"uid":"c5e49757-8218"},{"uid":"c5e49757-8428"},{"uid":"c5e49757-8440"},{"uid":"c5e49757-7880"},{"uid":"c5e49757-7890"},{"uid":"c5e49757-7902"},{"uid":"c5e49757-7940"},{"uid":"c5e49757-8016"},{"uid":"c5e49757-8054"},{"uid":"c5e49757-8084"},{"uid":"c5e49757-8740"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-9052"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-9122"},{"uid":"c5e49757-8990"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-9168"},{"uid":"c5e49757-9174"},{"uid":"c5e49757-9238"},{"uid":"c5e49757-8328"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8336"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8480"},{"uid":"c5e49757-8464"},{"uid":"c5e49757-8474"},{"uid":"c5e49757-8014"},{"uid":"c5e49757-8050"},{"uid":"c5e49757-8052"},{"uid":"c5e49757-8064"},{"uid":"c5e49757-7616"},{"uid":"c5e49757-8258"},{"uid":"c5e49757-8260"},{"uid":"c5e49757-8236"},{"uid":"c5e49757-8358"},{"uid":"c5e49757-8366"},{"uid":"c5e49757-7664"},{"uid":"c5e49757-8012"},{"uid":"c5e49757-7660"},{"uid":"c5e49757-8392"},{"uid":"c5e49757-8040"},{"uid":"c5e49757-7648"},{"uid":"c5e49757-7658"}]},"c5e49757-7428":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/types.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7429"},"imported":[],"importedBy":[{"uid":"c5e49757-8544"},{"uid":"c5e49757-7862"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8984"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9162"},{"uid":"c5e49757-9014"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7554"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-8282"},{"uid":"c5e49757-7430"},{"uid":"c5e49757-7848"},{"uid":"c5e49757-7982"},{"uid":"c5e49757-7602"},{"uid":"c5e49757-8806"},{"uid":"c5e49757-8268"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9102"},{"uid":"c5e49757-9132"},{"uid":"c5e49757-9138"},{"uid":"c5e49757-8180"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-9152"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-8280"},{"uid":"c5e49757-8188"},{"uid":"c5e49757-7902"},{"uid":"c5e49757-7472"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-9238"},{"uid":"c5e49757-9242"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8370"},{"uid":"c5e49757-8336"},{"uid":"c5e49757-8480"},{"uid":"c5e49757-8474"}]},"c5e49757-7430":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/objects.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7431"},"imported":[{"uid":"c5e49757-7428"}],"importedBy":[{"uid":"c5e49757-7444"},{"uid":"c5e49757-7682"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-7724"},{"uid":"c5e49757-8836"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-8188"},{"uid":"c5e49757-8308"},{"uid":"c5e49757-8434"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-8840"},{"uid":"c5e49757-8386"},{"uid":"c5e49757-7566"},{"uid":"c5e49757-7674"},{"uid":"c5e49757-8382"},{"uid":"c5e49757-8350"},{"uid":"c5e49757-8380"}]},"c5e49757-7432":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/nls.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7433"},"imported":[],"importedBy":[{"uid":"c5e49757-7444"},{"uid":"c5e49757-7862"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8722"},{"uid":"c5e49757-8726"},{"uid":"c5e49757-8730"},{"uid":"c5e49757-8734"},{"uid":"c5e49757-8736"},{"uid":"c5e49757-8768"},{"uid":"c5e49757-8804"},{"uid":"c5e49757-8814"},{"uid":"c5e49757-8906"},{"uid":"c5e49757-8912"},{"uid":"c5e49757-8914"},{"uid":"c5e49757-8916"},{"uid":"c5e49757-8924"},{"uid":"c5e49757-8932"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8978"},{"uid":"c5e49757-8980"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-8888"},{"uid":"c5e49757-8900"},{"uid":"c5e49757-9066"},{"uid":"c5e49757-9082"},{"uid":"c5e49757-9084"},{"uid":"c5e49757-9094"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9112"},{"uid":"c5e49757-9140"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9162"},{"uid":"c5e49757-9014"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9184"},{"uid":"c5e49757-9186"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-9200"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-9204"},{"uid":"c5e49757-9208"},{"uid":"c5e49757-8210"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-9222"},{"uid":"c5e49757-9228"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8784"},{"uid":"c5e49757-9234"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7604"},{"uid":"c5e49757-8302"},{"uid":"c5e49757-8444"},{"uid":"c5e49757-7816"},{"uid":"c5e49757-8720"},{"uid":"c5e49757-8466"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8184"},{"uid":"c5e49757-8802"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8790"},{"uid":"c5e49757-7602"},{"uid":"c5e49757-8268"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-8208"},{"uid":"c5e49757-8748"},{"uid":"c5e49757-8930"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-8972"},{"uid":"c5e49757-9056"},{"uid":"c5e49757-9058"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-8844"},{"uid":"c5e49757-8854"},{"uid":"c5e49757-8760"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-8374"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-8876"},{"uid":"c5e49757-8890"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9074"},{"uid":"c5e49757-9110"},{"uid":"c5e49757-9138"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-9178"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-9244"},{"uid":"c5e49757-8376"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-7548"},{"uid":"c5e49757-7696"},{"uid":"c5e49757-8108"},{"uid":"c5e49757-8192"},{"uid":"c5e49757-8428"},{"uid":"c5e49757-8434"},{"uid":"c5e49757-8524"},{"uid":"c5e49757-8534"},{"uid":"c5e49757-7832"},{"uid":"c5e49757-8026"},{"uid":"c5e49757-7732"},{"uid":"c5e49757-7740"},{"uid":"c5e49757-7736"},{"uid":"c5e49757-7742"},{"uid":"c5e49757-7744"},{"uid":"c5e49757-7746"},{"uid":"c5e49757-7738"},{"uid":"c5e49757-7734"},{"uid":"c5e49757-7748"},{"uid":"c5e49757-7750"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8786"},{"uid":"c5e49757-8796"},{"uid":"c5e49757-8826"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-8342"},{"uid":"c5e49757-8954"},{"uid":"c5e49757-8986"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-8140"},{"uid":"c5e49757-8386"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-9010"},{"uid":"c5e49757-9164"},{"uid":"c5e49757-9038"},{"uid":"c5e49757-9040"},{"uid":"c5e49757-9046"},{"uid":"c5e49757-9238"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8848"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8464"},{"uid":"c5e49757-8486"},{"uid":"c5e49757-8488"},{"uid":"c5e49757-8168"},{"uid":"c5e49757-8794"},{"uid":"c5e49757-8258"},{"uid":"c5e49757-8354"},{"uid":"c5e49757-8952"},{"uid":"c5e49757-8196"},{"uid":"c5e49757-8506"},{"uid":"c5e49757-8350"},{"uid":"c5e49757-8476"},{"uid":"c5e49757-8392"},{"uid":"c5e49757-8408"},{"uid":"c5e49757-8326"},{"uid":"c5e49757-8390"}]},"c5e49757-7434":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/platform.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7435"},"imported":[{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-9216"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-8768"},{"uid":"c5e49757-8914"},{"uid":"c5e49757-8922"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7530"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7556"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-7724"},{"uid":"c5e49757-8088"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8268"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-8374"},{"uid":"c5e49757-8832"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9074"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7498"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-7506"},{"uid":"c5e49757-9232"},{"uid":"c5e49757-8308"},{"uid":"c5e49757-7806"},{"uid":"c5e49757-7832"},{"uid":"c5e49757-7864"},{"uid":"c5e49757-7818"},{"uid":"c5e49757-7908"},{"uid":"c5e49757-7934"},{"uid":"c5e49757-7580"},{"uid":"c5e49757-8264"},{"uid":"c5e49757-8332"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-8022"},{"uid":"c5e49757-9122"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-9150"},{"uid":"c5e49757-8124"},{"uid":"c5e49757-7460"},{"uid":"c5e49757-7566"},{"uid":"c5e49757-8168"},{"uid":"c5e49757-8174"},{"uid":"c5e49757-7766"},{"uid":"c5e49757-7798"},{"uid":"c5e49757-7932"},{"uid":"c5e49757-8046"},{"uid":"c5e49757-8794"},{"uid":"c5e49757-8258"},{"uid":"c5e49757-8260"},{"uid":"c5e49757-9008"},{"uid":"c5e49757-8476"},{"uid":"c5e49757-8290"},{"uid":"c5e49757-8392"},{"uid":"c5e49757-7784"},{"uid":"c5e49757-8390"}]},"c5e49757-7436":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/textModelDefaults.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7437"},"imported":[],"importedBy":[{"uid":"c5e49757-7444"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8184"},{"uid":"c5e49757-8308"}]},"c5e49757-7438":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/iterator.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7439"},"imported":[],"importedBy":[{"uid":"c5e49757-8544"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-9182"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8982"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7442"},{"uid":"c5e49757-8434"},{"uid":"c5e49757-8440"},{"uid":"c5e49757-8740"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-8370"},{"uid":"c5e49757-8368"},{"uid":"c5e49757-9172"},{"uid":"c5e49757-8358"},{"uid":"c5e49757-8364"},{"uid":"c5e49757-8366"}]},"c5e49757-7440":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/linkedList.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7441"},"imported":[],"importedBy":[{"uid":"c5e49757-8544"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7442"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7556"},{"uid":"c5e49757-8878"},{"uid":"c5e49757-9026"},{"uid":"c5e49757-8298"},{"uid":"c5e49757-8438"},{"uid":"c5e49757-8534"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-8098"}]},"c5e49757-7442":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/wordHelper.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7443"},"imported":[{"uid":"c5e49757-7438"},{"uid":"c5e49757-7440"}],"importedBy":[{"uid":"c5e49757-7444"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7634"},{"uid":"c5e49757-8054"},{"uid":"c5e49757-7674"}]},"c5e49757-7444":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/config/editorOptions.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7445"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7430"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7436"},{"uid":"c5e49757-7442"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8546"},{"uid":"c5e49757-8528"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8814"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-9204"},{"uid":"c5e49757-7532"},{"uid":"c5e49757-7530"},{"uid":"c5e49757-7724"},{"uid":"c5e49757-8088"},{"uid":"c5e49757-8184"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-8080"},{"uid":"c5e49757-7832"},{"uid":"c5e49757-7934"},{"uid":"c5e49757-7962"},{"uid":"c5e49757-8798"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8488"},{"uid":"c5e49757-8492"},{"uid":"c5e49757-8168"},{"uid":"c5e49757-7766"},{"uid":"c5e49757-7960"},{"uid":"c5e49757-8478"}]},"c5e49757-7446":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/errors.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7447"},"imported":[],"importedBy":[{"uid":"c5e49757-8544"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8814"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8980"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-9082"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9156"},{"uid":"c5e49757-9162"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-8982"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7858"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-7976"},{"uid":"c5e49757-7984"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8806"},{"uid":"c5e49757-8820"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-8974"},{"uid":"c5e49757-8844"},{"uid":"c5e49757-8856"},{"uid":"c5e49757-8890"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9102"},{"uid":"c5e49757-9124"},{"uid":"c5e49757-9134"},{"uid":"c5e49757-9132"},{"uid":"c5e49757-9152"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-7500"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-7552"},{"uid":"c5e49757-9244"},{"uid":"c5e49757-7548"},{"uid":"c5e49757-7680"},{"uid":"c5e49757-7588"},{"uid":"c5e49757-7568"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8108"},{"uid":"c5e49757-8192"},{"uid":"c5e49757-8438"},{"uid":"c5e49757-7964"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-8026"},{"uid":"c5e49757-7900"},{"uid":"c5e49757-8054"},{"uid":"c5e49757-8072"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8770"},{"uid":"c5e49757-8798"},{"uid":"c5e49757-8818"},{"uid":"c5e49757-8166"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-8862"},{"uid":"c5e49757-8874"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-9068"},{"uid":"c5e49757-8370"},{"uid":"c5e49757-7566"},{"uid":"c5e49757-7570"},{"uid":"c5e49757-8198"},{"uid":"c5e49757-8292"},{"uid":"c5e49757-7638"},{"uid":"c5e49757-7866"},{"uid":"c5e49757-8046"},{"uid":"c5e49757-8992"},{"uid":"c5e49757-8500"},{"uid":"c5e49757-8236"},{"uid":"c5e49757-9172"},{"uid":"c5e49757-8002"},{"uid":"c5e49757-8998"},{"uid":"c5e49757-7648"},{"uid":"c5e49757-8390"},{"uid":"c5e49757-8000"}]},"c5e49757-7448":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/functional.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7449"},"imported":[],"importedBy":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-9226"},{"uid":"c5e49757-9244"},{"uid":"c5e49757-8412"},{"uid":"c5e49757-7934"},{"uid":"c5e49757-7928"}]},"c5e49757-7450":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/lifecycle.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7451"},"imported":[{"uid":"c5e49757-7448"},{"uid":"c5e49757-7438"}],"importedBy":[{"uid":"c5e49757-9216"},{"uid":"c5e49757-9220"},{"uid":"c5e49757-8528"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8730"},{"uid":"c5e49757-8814"},{"uid":"c5e49757-8902"},{"uid":"c5e49757-8914"},{"uid":"c5e49757-8916"},{"uid":"c5e49757-8922"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8980"},{"uid":"c5e49757-8756"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-8888"},{"uid":"c5e49757-8900"},{"uid":"c5e49757-9066"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9106"},{"uid":"c5e49757-9112"},{"uid":"c5e49757-9140"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9148"},{"uid":"c5e49757-9156"},{"uid":"c5e49757-9158"},{"uid":"c5e49757-9014"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9182"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-9200"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-9208"},{"uid":"c5e49757-9210"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-8312"},{"uid":"c5e49757-9222"},{"uid":"c5e49757-9228"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-9234"},{"uid":"c5e49757-8982"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-8282"},{"uid":"c5e49757-8422"},{"uid":"c5e49757-7532"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-8526"},{"uid":"c5e49757-7702"},{"uid":"c5e49757-8536"},{"uid":"c5e49757-7562"},{"uid":"c5e49757-7556"},{"uid":"c5e49757-7724"},{"uid":"c5e49757-7984"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8088"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7804"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8790"},{"uid":"c5e49757-8806"},{"uid":"c5e49757-8820"},{"uid":"c5e49757-8828"},{"uid":"c5e49757-8904"},{"uid":"c5e49757-8268"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-8748"},{"uid":"c5e49757-8930"},{"uid":"c5e49757-8942"},{"uid":"c5e49757-8948"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-8974"},{"uid":"c5e49757-9058"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-8844"},{"uid":"c5e49757-8854"},{"uid":"c5e49757-8760"},{"uid":"c5e49757-8832"},{"uid":"c5e49757-8878"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-8870"},{"uid":"c5e49757-8872"},{"uid":"c5e49757-8876"},{"uid":"c5e49757-8890"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9102"},{"uid":"c5e49757-9128"},{"uid":"c5e49757-9124"},{"uid":"c5e49757-9134"},{"uid":"c5e49757-9138"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-9012"},{"uid":"c5e49757-9176"},{"uid":"c5e49757-9018"},{"uid":"c5e49757-9024"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-9034"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-9196"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-8458"},{"uid":"c5e49757-7478"},{"uid":"c5e49757-9226"},{"uid":"c5e49757-9244"},{"uid":"c5e49757-8376"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-8280"},{"uid":"c5e49757-8420"},{"uid":"c5e49757-7520"},{"uid":"c5e49757-7680"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8132"},{"uid":"c5e49757-8108"},{"uid":"c5e49757-8122"},{"uid":"c5e49757-8178"},{"uid":"c5e49757-8192"},{"uid":"c5e49757-8176"},{"uid":"c5e49757-8218"},{"uid":"c5e49757-8294"},{"uid":"c5e49757-8306"},{"uid":"c5e49757-8308"},{"uid":"c5e49757-8426"},{"uid":"c5e49757-8428"},{"uid":"c5e49757-8430"},{"uid":"c5e49757-8434"},{"uid":"c5e49757-8438"},{"uid":"c5e49757-8442"},{"uid":"c5e49757-8446"},{"uid":"c5e49757-8522"},{"uid":"c5e49757-8518"},{"uid":"c5e49757-7716"},{"uid":"c5e49757-7806"},{"uid":"c5e49757-7934"},{"uid":"c5e49757-7756"},{"uid":"c5e49757-8016"},{"uid":"c5e49757-8018"},{"uid":"c5e49757-8036"},{"uid":"c5e49757-8054"},{"uid":"c5e49757-8072"},{"uid":"c5e49757-8078"},{"uid":"c5e49757-7922"},{"uid":"c5e49757-8070"},{"uid":"c5e49757-8764"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8798"},{"uid":"c5e49757-8796"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-7754"},{"uid":"c5e49757-8826"},{"uid":"c5e49757-8816"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-7778"},{"uid":"c5e49757-8332"},{"uid":"c5e49757-8954"},{"uid":"c5e49757-8986"},{"uid":"c5e49757-8166"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-9052"},{"uid":"c5e49757-8248"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-8840"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-8140"},{"uid":"c5e49757-8862"},{"uid":"c5e49757-8868"},{"uid":"c5e49757-8386"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-9068"},{"uid":"c5e49757-9122"},{"uid":"c5e49757-9118"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-9168"},{"uid":"c5e49757-9174"},{"uid":"c5e49757-9038"},{"uid":"c5e49757-8866"},{"uid":"c5e49757-9040"},{"uid":"c5e49757-9046"},{"uid":"c5e49757-9194"},{"uid":"c5e49757-8244"},{"uid":"c5e49757-8246"},{"uid":"c5e49757-9242"},{"uid":"c5e49757-8328"},{"uid":"c5e49757-8340"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8370"},{"uid":"c5e49757-8336"},{"uid":"c5e49757-8848"},{"uid":"c5e49757-7566"},{"uid":"c5e49757-7570"},{"uid":"c5e49757-8098"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8468"},{"uid":"c5e49757-8470"},{"uid":"c5e49757-8480"},{"uid":"c5e49757-8464"},{"uid":"c5e49757-8484"},{"uid":"c5e49757-8486"},{"uid":"c5e49757-8488"},{"uid":"c5e49757-8490"},{"uid":"c5e49757-8474"},{"uid":"c5e49757-8510"},{"uid":"c5e49757-8128"},{"uid":"c5e49757-8168"},{"uid":"c5e49757-8174"},{"uid":"c5e49757-8216"},{"uid":"c5e49757-8292"},{"uid":"c5e49757-7792"},{"uid":"c5e49757-8396"},{"uid":"c5e49757-7798"},{"uid":"c5e49757-7728"},{"uid":"c5e49757-8014"},{"uid":"c5e49757-7894"},{"uid":"c5e49757-8794"},{"uid":"c5e49757-8258"},{"uid":"c5e49757-8260"},{"uid":"c5e49757-8354"},{"uid":"c5e49757-8992"},{"uid":"c5e49757-9002"},{"uid":"c5e49757-8506"},{"uid":"c5e49757-8236"},{"uid":"c5e49757-9172"},{"uid":"c5e49757-8382"},{"uid":"c5e49757-8380"},{"uid":"c5e49757-8476"},{"uid":"c5e49757-8494"},{"uid":"c5e49757-8290"},{"uid":"c5e49757-8316"},{"uid":"c5e49757-8392"},{"uid":"c5e49757-8408"},{"uid":"c5e49757-8390"},{"uid":"c5e49757-8404"},{"uid":"c5e49757-8406"},{"uid":"c5e49757-7782"}]},"c5e49757-7452":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/stopwatch.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7453"},"imported":[],"importedBy":[{"uid":"c5e49757-8976"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9156"},{"uid":"c5e49757-9158"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9184"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-8820"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-7680"},{"uid":"c5e49757-7674"},{"uid":"c5e49757-8046"},{"uid":"c5e49757-8472"}]},"c5e49757-7454":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/event.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7455"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-7448"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7440"},{"uid":"c5e49757-7452"}],"importedBy":[{"uid":"c5e49757-9230"},{"uid":"c5e49757-9236"},{"uid":"c5e49757-7484"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9210"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-8282"},{"uid":"c5e49757-8422"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7532"},{"uid":"c5e49757-7528"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7604"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7562"},{"uid":"c5e49757-7724"},{"uid":"c5e49757-7720"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7804"},{"uid":"c5e49757-8790"},{"uid":"c5e49757-7602"},{"uid":"c5e49757-8808"},{"uid":"c5e49757-8820"},{"uid":"c5e49757-8904"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-8948"},{"uid":"c5e49757-8966"},{"uid":"c5e49757-8968"},{"uid":"c5e49757-8844"},{"uid":"c5e49757-8854"},{"uid":"c5e49757-8760"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-8832"},{"uid":"c5e49757-8878"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-9134"},{"uid":"c5e49757-9138"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-7478"},{"uid":"c5e49757-8376"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-8280"},{"uid":"c5e49757-8420"},{"uid":"c5e49757-7520"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8104"},{"uid":"c5e49757-8192"},{"uid":"c5e49757-8218"},{"uid":"c5e49757-8294"},{"uid":"c5e49757-8306"},{"uid":"c5e49757-8308"},{"uid":"c5e49757-8412"},{"uid":"c5e49757-8426"},{"uid":"c5e49757-8428"},{"uid":"c5e49757-8430"},{"uid":"c5e49757-8434"},{"uid":"c5e49757-8440"},{"uid":"c5e49757-7716"},{"uid":"c5e49757-8016"},{"uid":"c5e49757-8018"},{"uid":"c5e49757-8036"},{"uid":"c5e49757-8054"},{"uid":"c5e49757-8078"},{"uid":"c5e49757-7922"},{"uid":"c5e49757-8070"},{"uid":"c5e49757-7730"},{"uid":"c5e49757-7800"},{"uid":"c5e49757-8764"},{"uid":"c5e49757-8798"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-7600"},{"uid":"c5e49757-8822"},{"uid":"c5e49757-8826"},{"uid":"c5e49757-8320"},{"uid":"c5e49757-8332"},{"uid":"c5e49757-8166"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-9052"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-8862"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-9174"},{"uid":"c5e49757-8866"},{"uid":"c5e49757-9040"},{"uid":"c5e49757-9046"},{"uid":"c5e49757-9194"},{"uid":"c5e49757-8328"},{"uid":"c5e49757-8340"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8370"},{"uid":"c5e49757-8336"},{"uid":"c5e49757-7566"},{"uid":"c5e49757-8098"},{"uid":"c5e49757-8488"},{"uid":"c5e49757-8490"},{"uid":"c5e49757-8128"},{"uid":"c5e49757-8168"},{"uid":"c5e49757-7828"},{"uid":"c5e49757-8216"},{"uid":"c5e49757-8410"},{"uid":"c5e49757-7792"},{"uid":"c5e49757-8396"},{"uid":"c5e49757-8014"},{"uid":"c5e49757-8258"},{"uid":"c5e49757-8260"},{"uid":"c5e49757-8354"},{"uid":"c5e49757-8952"},{"uid":"c5e49757-8274"},{"uid":"c5e49757-8506"},{"uid":"c5e49757-8236"},{"uid":"c5e49757-8350"},{"uid":"c5e49757-8358"},{"uid":"c5e49757-8366"},{"uid":"c5e49757-8472"},{"uid":"c5e49757-8316"},{"uid":"c5e49757-8392"},{"uid":"c5e49757-8408"},{"uid":"c5e49757-8272"},{"uid":"c5e49757-8326"},{"uid":"c5e49757-8390"}]},"c5e49757-7456":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/cancellation.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7457"},"imported":[{"uid":"c5e49757-7454"}],"importedBy":[{"uid":"c5e49757-7484"},{"uid":"c5e49757-8544"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8980"},{"uid":"c5e49757-8984"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9156"},{"uid":"c5e49757-9162"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9182"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-9234"},{"uid":"c5e49757-8982"},{"uid":"c5e49757-8536"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-8806"},{"uid":"c5e49757-8828"},{"uid":"c5e49757-8856"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9102"},{"uid":"c5e49757-9124"},{"uid":"c5e49757-9132"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-9152"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-9176"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-8458"},{"uid":"c5e49757-8298"},{"uid":"c5e49757-8412"},{"uid":"c5e49757-8534"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8818"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-8874"},{"uid":"c5e49757-9070"},{"uid":"c5e49757-9174"},{"uid":"c5e49757-9242"},{"uid":"c5e49757-8328"},{"uid":"c5e49757-8474"},{"uid":"c5e49757-8410"},{"uid":"c5e49757-8794"},{"uid":"c5e49757-9002"},{"uid":"c5e49757-8316"},{"uid":"c5e49757-8408"},{"uid":"c5e49757-8998"}]},"c5e49757-7458":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/keyCodes.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7459"},"imported":[],"importedBy":[{"uid":"c5e49757-7484"},{"uid":"c5e49757-8726"},{"uid":"c5e49757-8912"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8980"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-8900"},{"uid":"c5e49757-9094"},{"uid":"c5e49757-9112"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-8200"},{"uid":"c5e49757-8258"}]},"c5e49757-7460":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/process.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7461"},"imported":[{"uid":"c5e49757-7434"}],"importedBy":[{"uid":"c5e49757-7462"},{"uid":"c5e49757-8456"}]},"c5e49757-7462":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/path.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7463"},"imported":[{"uid":"c5e49757-7460"}],"importedBy":[{"uid":"c5e49757-7464"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-8208"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-8126"},{"uid":"c5e49757-9232"},{"uid":"c5e49757-8022"},{"uid":"c5e49757-9010"},{"uid":"c5e49757-8124"},{"uid":"c5e49757-8214"}]},"c5e49757-7464":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/uri.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7465"},"imported":[{"uid":"c5e49757-7462"},{"uid":"c5e49757-7434"}],"importedBy":[{"uid":"c5e49757-7484"},{"uid":"c5e49757-8528"},{"uid":"c5e49757-8544"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8984"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9162"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-8806"},{"uid":"c5e49757-8208"},{"uid":"c5e49757-8748"},{"uid":"c5e49757-8878"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-9102"},{"uid":"c5e49757-9132"},{"uid":"c5e49757-8180"},{"uid":"c5e49757-9152"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-8188"},{"uid":"c5e49757-8298"},{"uid":"c5e49757-8434"},{"uid":"c5e49757-8440"},{"uid":"c5e49757-8026"},{"uid":"c5e49757-8746"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8818"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-9068"},{"uid":"c5e49757-9046"},{"uid":"c5e49757-8160"},{"uid":"c5e49757-7674"},{"uid":"c5e49757-8390"}]},"c5e49757-7466":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/position.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7467"},"imported":[],"importedBy":[{"uid":"c5e49757-7484"},{"uid":"c5e49757-8544"},{"uid":"c5e49757-7862"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8730"},{"uid":"c5e49757-8922"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-8888"},{"uid":"c5e49757-9094"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9162"},{"uid":"c5e49757-9014"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9204"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-8982"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7838"},{"uid":"c5e49757-7836"},{"uid":"c5e49757-7844"},{"uid":"c5e49757-7848"},{"uid":"c5e49757-7858"},{"uid":"c5e49757-7976"},{"uid":"c5e49757-7870"},{"uid":"c5e49757-7846"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8088"},{"uid":"c5e49757-7842"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8908"},{"uid":"c5e49757-8910"},{"uid":"c5e49757-8942"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-8870"},{"uid":"c5e49757-8876"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9074"},{"uid":"c5e49757-9124"},{"uid":"c5e49757-9132"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-9026"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-9176"},{"uid":"c5e49757-8080"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-8458"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-7772"},{"uid":"c5e49757-7832"},{"uid":"c5e49757-7864"},{"uid":"c5e49757-7880"},{"uid":"c5e49757-7890"},{"uid":"c5e49757-7902"},{"uid":"c5e49757-7818"},{"uid":"c5e49757-7908"},{"uid":"c5e49757-7940"},{"uid":"c5e49757-7964"},{"uid":"c5e49757-7968"},{"uid":"c5e49757-7978"},{"uid":"c5e49757-7632"},{"uid":"c5e49757-8054"},{"uid":"c5e49757-8084"},{"uid":"c5e49757-8798"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-9052"},{"uid":"c5e49757-8868"},{"uid":"c5e49757-9068"},{"uid":"c5e49757-9122"},{"uid":"c5e49757-9118"},{"uid":"c5e49757-8990"},{"uid":"c5e49757-8116"},{"uid":"c5e49757-9168"},{"uid":"c5e49757-7992"},{"uid":"c5e49757-7674"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8480"},{"uid":"c5e49757-8484"},{"uid":"c5e49757-8488"},{"uid":"c5e49757-7798"},{"uid":"c5e49757-7960"},{"uid":"c5e49757-8034"},{"uid":"c5e49757-8050"},{"uid":"c5e49757-8064"},{"uid":"c5e49757-8082"},{"uid":"c5e49757-8992"},{"uid":"c5e49757-9002"},{"uid":"c5e49757-8500"},{"uid":"c5e49757-7618"},{"uid":"c5e49757-8062"},{"uid":"c5e49757-7656"}]},"c5e49757-7468":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/range.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7469"},"imported":[{"uid":"c5e49757-7466"}],"importedBy":[{"uid":"c5e49757-7484"},{"uid":"c5e49757-8532"},{"uid":"c5e49757-8544"},{"uid":"c5e49757-7862"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8730"},{"uid":"c5e49757-8736"},{"uid":"c5e49757-8902"},{"uid":"c5e49757-8912"},{"uid":"c5e49757-8922"},{"uid":"c5e49757-8980"},{"uid":"c5e49757-8756"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-8888"},{"uid":"c5e49757-8900"},{"uid":"c5e49757-9066"},{"uid":"c5e49757-9082"},{"uid":"c5e49757-9094"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9112"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9162"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9182"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-9204"},{"uid":"c5e49757-9206"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-9234"},{"uid":"c5e49757-8982"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8536"},{"uid":"c5e49757-8540"},{"uid":"c5e49757-7838"},{"uid":"c5e49757-7836"},{"uid":"c5e49757-7844"},{"uid":"c5e49757-7848"},{"uid":"c5e49757-7858"},{"uid":"c5e49757-7976"},{"uid":"c5e49757-7846"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8088"},{"uid":"c5e49757-8732"},{"uid":"c5e49757-7842"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8808"},{"uid":"c5e49757-8812"},{"uid":"c5e49757-8820"},{"uid":"c5e49757-8828"},{"uid":"c5e49757-8908"},{"uid":"c5e49757-8910"},{"uid":"c5e49757-8920"},{"uid":"c5e49757-8930"},{"uid":"c5e49757-8942"},{"uid":"c5e49757-8948"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-8968"},{"uid":"c5e49757-9058"},{"uid":"c5e49757-8844"},{"uid":"c5e49757-8854"},{"uid":"c5e49757-8760"},{"uid":"c5e49757-8878"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-8870"},{"uid":"c5e49757-8876"},{"uid":"c5e49757-8890"},{"uid":"c5e49757-7852"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9086"},{"uid":"c5e49757-8186"},{"uid":"c5e49757-9088"},{"uid":"c5e49757-9090"},{"uid":"c5e49757-9092"},{"uid":"c5e49757-9102"},{"uid":"c5e49757-9124"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-9152"},{"uid":"c5e49757-9026"},{"uid":"c5e49757-9160"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-9012"},{"uid":"c5e49757-9176"},{"uid":"c5e49757-9028"},{"uid":"c5e49757-7634"},{"uid":"c5e49757-8080"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-8458"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-7680"},{"uid":"c5e49757-7582"},{"uid":"c5e49757-7698"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8306"},{"uid":"c5e49757-7854"},{"uid":"c5e49757-7772"},{"uid":"c5e49757-7832"},{"uid":"c5e49757-7884"},{"uid":"c5e49757-7890"},{"uid":"c5e49757-7818"},{"uid":"c5e49757-7908"},{"uid":"c5e49757-7934"},{"uid":"c5e49757-7970"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-8016"},{"uid":"c5e49757-8018"},{"uid":"c5e49757-7900"},{"uid":"c5e49757-8036"},{"uid":"c5e49757-7632"},{"uid":"c5e49757-8072"},{"uid":"c5e49757-8084"},{"uid":"c5e49757-7802"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8818"},{"uid":"c5e49757-8934"},{"uid":"c5e49757-8936"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-9052"},{"uid":"c5e49757-8840"},{"uid":"c5e49757-9068"},{"uid":"c5e49757-9070"},{"uid":"c5e49757-9118"},{"uid":"c5e49757-8990"},{"uid":"c5e49757-8116"},{"uid":"c5e49757-7992"},{"uid":"c5e49757-7674"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8486"},{"uid":"c5e49757-8510"},{"uid":"c5e49757-7960"},{"uid":"c5e49757-8034"},{"uid":"c5e49757-8064"},{"uid":"c5e49757-8992"},{"uid":"c5e49757-8500"},{"uid":"c5e49757-9000"},{"uid":"c5e49757-7664"},{"uid":"c5e49757-7996"},{"uid":"c5e49757-7994"},{"uid":"c5e49757-8062"},{"uid":"c5e49757-8998"},{"uid":"c5e49757-7646"},{"uid":"c5e49757-7656"}]},"c5e49757-7470":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/selection.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7471"},"imported":[{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-7484"},{"uid":"c5e49757-8544"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8726"},{"uid":"c5e49757-8730"},{"uid":"c5e49757-8922"},{"uid":"c5e49757-9082"},{"uid":"c5e49757-9094"},{"uid":"c5e49757-9112"},{"uid":"c5e49757-9162"},{"uid":"c5e49757-9204"},{"uid":"c5e49757-7836"},{"uid":"c5e49757-7976"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8732"},{"uid":"c5e49757-7840"},{"uid":"c5e49757-7804"},{"uid":"c5e49757-8908"},{"uid":"c5e49757-8910"},{"uid":"c5e49757-8920"},{"uid":"c5e49757-8942"},{"uid":"c5e49757-7852"},{"uid":"c5e49757-9064"},{"uid":"c5e49757-9078"},{"uid":"c5e49757-9088"},{"uid":"c5e49757-9090"},{"uid":"c5e49757-9012"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-8522"},{"uid":"c5e49757-7854"},{"uid":"c5e49757-7832"},{"uid":"c5e49757-7880"},{"uid":"c5e49757-7934"},{"uid":"c5e49757-8026"},{"uid":"c5e49757-8072"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8798"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-7798"},{"uid":"c5e49757-8064"},{"uid":"c5e49757-8062"}]},"c5e49757-7472":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/codiconsUtil.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7473"},"imported":[{"uid":"c5e49757-7428"}],"importedBy":[{"uid":"c5e49757-7476"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-7474"},{"uid":"c5e49757-8290"}]},"c5e49757-7474":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/codiconsLibrary.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7475"},"imported":[{"uid":"c5e49757-7472"}],"importedBy":[{"uid":"c5e49757-7476"}]},"c5e49757-7476":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/codicons.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7477"},"imported":[{"uid":"c5e49757-7472"},{"uid":"c5e49757-7474"}],"importedBy":[{"uid":"c5e49757-8722"},{"uid":"c5e49757-8756"},{"uid":"c5e49757-8888"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-9234"},{"uid":"c5e49757-8720"},{"uid":"c5e49757-8466"},{"uid":"c5e49757-8790"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-8972"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9138"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-8518"},{"uid":"c5e49757-8786"},{"uid":"c5e49757-8826"},{"uid":"c5e49757-8342"},{"uid":"c5e49757-8884"},{"uid":"c5e49757-9040"},{"uid":"c5e49757-9046"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8370"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8480"},{"uid":"c5e49757-8464"},{"uid":"c5e49757-8486"},{"uid":"c5e49757-8794"},{"uid":"c5e49757-8952"},{"uid":"c5e49757-7788"},{"uid":"c5e49757-7790"},{"uid":"c5e49757-8506"},{"uid":"c5e49757-8476"},{"uid":"c5e49757-8290"},{"uid":"c5e49757-8392"}]},"c5e49757-7478":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/tokenizationRegistry.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7479"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"}],"importedBy":[{"uid":"c5e49757-7480"}]},"c5e49757-7480":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7481"},"imported":[{"uid":"c5e49757-7476"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7478"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-9220"},{"uid":"c5e49757-7484"},{"uid":"c5e49757-8528"},{"uid":"c5e49757-8532"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-9140"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-7686"},{"uid":"c5e49757-9234"},{"uid":"c5e49757-8422"},{"uid":"c5e49757-7704"},{"uid":"c5e49757-7702"},{"uid":"c5e49757-8088"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8748"},{"uid":"c5e49757-8870"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9110"},{"uid":"c5e49757-9124"},{"uid":"c5e49757-9134"},{"uid":"c5e49757-9132"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-9018"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-8218"},{"uid":"c5e49757-7832"},{"uid":"c5e49757-7940"},{"uid":"c5e49757-8054"},{"uid":"c5e49757-8074"},{"uid":"c5e49757-7922"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-9052"},{"uid":"c5e49757-9046"},{"uid":"c5e49757-9002"}]},"c5e49757-7482":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/standalone/standaloneEnums.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7483"},"imported":[],"importedBy":[{"uid":"c5e49757-7484"},{"uid":"c5e49757-8528"},{"uid":"c5e49757-8532"}]},"c5e49757-7484":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/editorBaseApi.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7485"},"imported":[{"uid":"c5e49757-7456"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7458"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7482"}],"importedBy":[{"uid":"c5e49757-8546"},{"uid":"c5e49757-7674"}]},"c5e49757-7486":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/window.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7487"},"imported":[],"importedBy":[{"uid":"c5e49757-8528"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-8422"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7496"},{"uid":"c5e49757-8808"},{"uid":"c5e49757-7498"},{"uid":"c5e49757-7680"},{"uid":"c5e49757-7568"},{"uid":"c5e49757-8104"},{"uid":"c5e49757-8178"},{"uid":"c5e49757-8298"},{"uid":"c5e49757-8426"},{"uid":"c5e49757-8430"},{"uid":"c5e49757-7806"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-8408"}]},"c5e49757-7488":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/cache.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7489"},"imported":[],"importedBy":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7606"}]},"c5e49757-7490":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/lazy.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7491"},"imported":[],"importedBy":[{"uid":"c5e49757-9140"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8222"},{"uid":"c5e49757-7772"},{"uid":"c5e49757-8774"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-7578"},{"uid":"c5e49757-8390"},{"uid":"c5e49757-8388"}]},"c5e49757-7492":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/strings.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7493"},"imported":[{"uid":"c5e49757-7488"},{"uid":"c5e49757-7490"}],"importedBy":[{"uid":"c5e49757-8528"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8756"},{"uid":"c5e49757-9066"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-9234"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7704"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8536"},{"uid":"c5e49757-7844"},{"uid":"c5e49757-7858"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-7982"},{"uid":"c5e49757-7768"},{"uid":"c5e49757-7846"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8060"},{"uid":"c5e49757-8088"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-7842"},{"uid":"c5e49757-7804"},{"uid":"c5e49757-8802"},{"uid":"c5e49757-8820"},{"uid":"c5e49757-8910"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-8844"},{"uid":"c5e49757-8878"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-7852"},{"uid":"c5e49757-7856"},{"uid":"c5e49757-9064"},{"uid":"c5e49757-9086"},{"uid":"c5e49757-9090"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-9138"},{"uid":"c5e49757-9160"},{"uid":"c5e49757-9012"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-7516"},{"uid":"c5e49757-8150"},{"uid":"c5e49757-9030"},{"uid":"c5e49757-7634"},{"uid":"c5e49757-9232"},{"uid":"c5e49757-8152"},{"uid":"c5e49757-8092"},{"uid":"c5e49757-7588"},{"uid":"c5e49757-7582"},{"uid":"c5e49757-7696"},{"uid":"c5e49757-7698"},{"uid":"c5e49757-7834"},{"uid":"c5e49757-7832"},{"uid":"c5e49757-7934"},{"uid":"c5e49757-7968"},{"uid":"c5e49757-7580"},{"uid":"c5e49757-7900"},{"uid":"c5e49757-8036"},{"uid":"c5e49757-8038"},{"uid":"c5e49757-7632"},{"uid":"c5e49757-8072"},{"uid":"c5e49757-8074"},{"uid":"c5e49757-7802"},{"uid":"c5e49757-8206"},{"uid":"c5e49757-8986"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-8022"},{"uid":"c5e49757-8990"},{"uid":"c5e49757-9010"},{"uid":"c5e49757-8124"},{"uid":"c5e49757-7566"},{"uid":"c5e49757-7692"},{"uid":"c5e49757-8216"},{"uid":"c5e49757-7960"},{"uid":"c5e49757-8076"},{"uid":"c5e49757-8938"},{"uid":"c5e49757-9000"},{"uid":"c5e49757-8400"},{"uid":"c5e49757-7618"},{"uid":"c5e49757-8214"},{"uid":"c5e49757-8290"},{"uid":"c5e49757-8004"},{"uid":"c5e49757-7994"},{"uid":"c5e49757-7646"},{"uid":"c5e49757-8390"}]},"c5e49757-7494":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/standalone-tokens.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7495"},"imported":[],"importedBy":[{"uid":"c5e49757-8528"}]},"c5e49757-7496":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/browser.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7497"},"imported":[{"uid":"c5e49757-7486"}],"importedBy":[{"uid":"c5e49757-7862"},{"uid":"c5e49757-8768"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-8422"},{"uid":"c5e49757-7724"},{"uid":"c5e49757-7804"},{"uid":"c5e49757-8268"},{"uid":"c5e49757-7498"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-7506"},{"uid":"c5e49757-8430"},{"uid":"c5e49757-7832"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-7766"},{"uid":"c5e49757-8290"}]},"c5e49757-7498":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/canIUse.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7499"},"imported":[{"uid":"c5e49757-7496"},{"uid":"c5e49757-7486"},{"uid":"c5e49757-7434"}],"importedBy":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7806"},{"uid":"c5e49757-8174"}]},"c5e49757-7500":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/keybindings.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7501"},"imported":[{"uid":"c5e49757-7446"}],"importedBy":[{"uid":"c5e49757-9050"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7556"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-8200"},{"uid":"c5e49757-8198"}]},"c5e49757-7502":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7503"},"imported":[{"uid":"c5e49757-7496"},{"uid":"c5e49757-7458"},{"uid":"c5e49757-7500"},{"uid":"c5e49757-7434"}],"importedBy":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7804"},{"uid":"c5e49757-8178"},{"uid":"c5e49757-7778"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-8140"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-9194"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8396"},{"uid":"c5e49757-8258"},{"uid":"c5e49757-8290"},{"uid":"c5e49757-8392"},{"uid":"c5e49757-8272"},{"uid":"c5e49757-8326"},{"uid":"c5e49757-8390"}]},"c5e49757-7504":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/iframe.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7505"},"imported":[],"importedBy":[{"uid":"c5e49757-7506"}]},"c5e49757-7506":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7507"},"imported":[{"uid":"c5e49757-7496"},{"uid":"c5e49757-7504"},{"uid":"c5e49757-7434"}],"importedBy":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-9176"},{"uid":"c5e49757-7754"},{"uid":"c5e49757-7778"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-8292"},{"uid":"c5e49757-7798"},{"uid":"c5e49757-7788"},{"uid":"c5e49757-7790"},{"uid":"c5e49757-8290"}]},"c5e49757-7508":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/symbols.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7509"},"imported":[],"importedBy":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-8358"}]},"c5e49757-7510":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/async.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7511"},"imported":[{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7508"}],"importedBy":[{"uid":"c5e49757-8730"},{"uid":"c5e49757-8814"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8756"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-8900"},{"uid":"c5e49757-9082"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9112"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9148"},{"uid":"c5e49757-9156"},{"uid":"c5e49757-9158"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-9234"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-8088"},{"uid":"c5e49757-7804"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8820"},{"uid":"c5e49757-8828"},{"uid":"c5e49757-8930"},{"uid":"c5e49757-8942"},{"uid":"c5e49757-8946"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-8870"},{"uid":"c5e49757-8876"},{"uid":"c5e49757-8890"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9074"},{"uid":"c5e49757-9134"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-9018"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-8280"},{"uid":"c5e49757-7680"},{"uid":"c5e49757-8192"},{"uid":"c5e49757-8428"},{"uid":"c5e49757-8430"},{"uid":"c5e49757-8438"},{"uid":"c5e49757-7908"},{"uid":"c5e49757-7962"},{"uid":"c5e49757-8054"},{"uid":"c5e49757-7730"},{"uid":"c5e49757-8798"},{"uid":"c5e49757-7754"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-8332"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-8862"},{"uid":"c5e49757-8874"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-9174"},{"uid":"c5e49757-8124"},{"uid":"c5e49757-9242"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8370"},{"uid":"c5e49757-8480"},{"uid":"c5e49757-8474"},{"uid":"c5e49757-8046"},{"uid":"c5e49757-8236"},{"uid":"c5e49757-9172"},{"uid":"c5e49757-8358"},{"uid":"c5e49757-8290"},{"uid":"c5e49757-8316"},{"uid":"c5e49757-8392"},{"uid":"c5e49757-8998"},{"uid":"c5e49757-7780"},{"uid":"c5e49757-8390"},{"uid":"c5e49757-8404"},{"uid":"c5e49757-7782"}]},"c5e49757-7512":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/dompurify/dompurify.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7513"},"imported":[],"importedBy":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-8396"}]},"c5e49757-7514":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/network.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7515"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7462"}],"importedBy":[{"uid":"c5e49757-8096"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-8748"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-8100"},{"uid":"c5e49757-8108"},{"uid":"c5e49757-8298"},{"uid":"c5e49757-8306"},{"uid":"c5e49757-8308"},{"uid":"c5e49757-8440"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-9068"},{"uid":"c5e49757-9044"},{"uid":"c5e49757-8214"}]},"c5e49757-7516":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/hash.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7517"},"imported":[{"uid":"c5e49757-7492"}],"importedBy":[{"uid":"c5e49757-9050"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-8966"},{"uid":"c5e49757-8308"},{"uid":"c5e49757-8430"},{"uid":"c5e49757-7612"}]},"c5e49757-7518":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/dom.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7519"},"imported":[{"uid":"c5e49757-7496"},{"uid":"c5e49757-7498"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-7506"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7512"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7516"},{"uid":"c5e49757-7486"}],"importedBy":[{"uid":"c5e49757-9216"},{"uid":"c5e49757-9220"},{"uid":"c5e49757-7862"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8768"},{"uid":"c5e49757-8914"},{"uid":"c5e49757-8756"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-8422"},{"uid":"c5e49757-7532"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7708"},{"uid":"c5e49757-7724"},{"uid":"c5e49757-7976"},{"uid":"c5e49757-7984"},{"uid":"c5e49757-8720"},{"uid":"c5e49757-7804"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8790"},{"uid":"c5e49757-8808"},{"uid":"c5e49757-8812"},{"uid":"c5e49757-8828"},{"uid":"c5e49757-8904"},{"uid":"c5e49757-8268"},{"uid":"c5e49757-8946"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-9058"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-8760"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-8870"},{"uid":"c5e49757-8872"},{"uid":"c5e49757-8876"},{"uid":"c5e49757-8890"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9124"},{"uid":"c5e49757-9138"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-9176"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-9196"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-8376"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-8420"},{"uid":"c5e49757-7520"},{"uid":"c5e49757-7680"},{"uid":"c5e49757-8100"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8132"},{"uid":"c5e49757-8104"},{"uid":"c5e49757-8178"},{"uid":"c5e49757-8176"},{"uid":"c5e49757-8294"},{"uid":"c5e49757-8298"},{"uid":"c5e49757-8426"},{"uid":"c5e49757-8430"},{"uid":"c5e49757-8522"},{"uid":"c5e49757-8518"},{"uid":"c5e49757-7716"},{"uid":"c5e49757-7772"},{"uid":"c5e49757-7806"},{"uid":"c5e49757-7876"},{"uid":"c5e49757-7886"},{"uid":"c5e49757-7934"},{"uid":"c5e49757-7938"},{"uid":"c5e49757-7962"},{"uid":"c5e49757-8764"},{"uid":"c5e49757-8796"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-8146"},{"uid":"c5e49757-7754"},{"uid":"c5e49757-8826"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-7778"},{"uid":"c5e49757-8332"},{"uid":"c5e49757-8954"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-8840"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-8140"},{"uid":"c5e49757-8868"},{"uid":"c5e49757-8386"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-9070"},{"uid":"c5e49757-9122"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-9168"},{"uid":"c5e49757-9038"},{"uid":"c5e49757-8866"},{"uid":"c5e49757-9040"},{"uid":"c5e49757-9046"},{"uid":"c5e49757-9194"},{"uid":"c5e49757-8340"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8336"},{"uid":"c5e49757-8848"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8480"},{"uid":"c5e49757-8464"},{"uid":"c5e49757-8484"},{"uid":"c5e49757-8486"},{"uid":"c5e49757-8510"},{"uid":"c5e49757-8168"},{"uid":"c5e49757-8174"},{"uid":"c5e49757-8292"},{"uid":"c5e49757-8410"},{"uid":"c5e49757-8396"},{"uid":"c5e49757-7798"},{"uid":"c5e49757-7728"},{"uid":"c5e49757-7960"},{"uid":"c5e49757-8794"},{"uid":"c5e49757-8258"},{"uid":"c5e49757-8260"},{"uid":"c5e49757-8354"},{"uid":"c5e49757-8952"},{"uid":"c5e49757-8144"},{"uid":"c5e49757-8274"},{"uid":"c5e49757-8236"},{"uid":"c5e49757-8382"},{"uid":"c5e49757-8350"},{"uid":"c5e49757-8400"},{"uid":"c5e49757-8380"},{"uid":"c5e49757-8476"},{"uid":"c5e49757-8494"},{"uid":"c5e49757-8290"},{"uid":"c5e49757-8392"},{"uid":"c5e49757-8408"},{"uid":"c5e49757-8272"},{"uid":"c5e49757-7784"},{"uid":"c5e49757-7780"},{"uid":"c5e49757-8234"},{"uid":"c5e49757-8326"},{"uid":"c5e49757-8390"},{"uid":"c5e49757-8404"},{"uid":"c5e49757-8406"}]},"c5e49757-7520":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/pixelRatio.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7521"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"}],"importedBy":[{"uid":"c5e49757-7532"},{"uid":"c5e49757-7724"},{"uid":"c5e49757-8826"}]},"c5e49757-7522":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/fastDomNode.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7523"},"imported":[],"importedBy":[{"uid":"c5e49757-7524"},{"uid":"c5e49757-7976"},{"uid":"c5e49757-7832"},{"uid":"c5e49757-7868"},{"uid":"c5e49757-7874"},{"uid":"c5e49757-7876"},{"uid":"c5e49757-7886"},{"uid":"c5e49757-7890"},{"uid":"c5e49757-7822"},{"uid":"c5e49757-7934"},{"uid":"c5e49757-7938"},{"uid":"c5e49757-7940"},{"uid":"c5e49757-7944"},{"uid":"c5e49757-7948"},{"uid":"c5e49757-7952"},{"uid":"c5e49757-7962"},{"uid":"c5e49757-7964"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-8484"},{"uid":"c5e49757-7766"},{"uid":"c5e49757-7866"},{"uid":"c5e49757-7960"},{"uid":"c5e49757-7784"}]},"c5e49757-7524":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/config/domFontInfo.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7525"},"imported":[{"uid":"c5e49757-7522"}],"importedBy":[{"uid":"c5e49757-8096"},{"uid":"c5e49757-7982"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-7526"},{"uid":"c5e49757-7832"},{"uid":"c5e49757-7868"},{"uid":"c5e49757-7908"},{"uid":"c5e49757-8166"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8480"},{"uid":"c5e49757-7960"},{"uid":"c5e49757-8478"}]},"c5e49757-7526":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/config/charWidthReader.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7527"},"imported":[{"uid":"c5e49757-7524"}],"importedBy":[{"uid":"c5e49757-7532"}]},"c5e49757-7528":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/config/editorZoom.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7529"},"imported":[{"uid":"c5e49757-7454"}],"importedBy":[{"uid":"c5e49757-8528"},{"uid":"c5e49757-8978"},{"uid":"c5e49757-7530"},{"uid":"c5e49757-7724"},{"uid":"c5e49757-7798"}]},"c5e49757-7530":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/config/fontInfo.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7531"},"imported":[{"uid":"c5e49757-7434"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7528"}],"importedBy":[{"uid":"c5e49757-8528"},{"uid":"c5e49757-7532"},{"uid":"c5e49757-7724"}]},"c5e49757-7532":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/config/fontMeasurements.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7533"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7520"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7526"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7530"}],"importedBy":[{"uid":"c5e49757-8528"},{"uid":"c5e49757-7724"}]},"c5e49757-7534":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/instantiation/common/instantiation.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7535"},"imported":[],"importedBy":[{"uid":"c5e49757-9248"},{"uid":"c5e49757-9250"},{"uid":"c5e49757-8544"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8980"},{"uid":"c5e49757-8756"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-8888"},{"uid":"c5e49757-8900"},{"uid":"c5e49757-9112"},{"uid":"c5e49757-9140"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-8424"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-8314"},{"uid":"c5e49757-8982"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7560"},{"uid":"c5e49757-8106"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-8282"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-8302"},{"uid":"c5e49757-8142"},{"uid":"c5e49757-8526"},{"uid":"c5e49757-8300"},{"uid":"c5e49757-7540"},{"uid":"c5e49757-7562"},{"uid":"c5e49757-8444"},{"uid":"c5e49757-7976"},{"uid":"c5e49757-7722"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8432"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8808"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-8904"},{"uid":"c5e49757-8134"},{"uid":"c5e49757-8208"},{"uid":"c5e49757-8930"},{"uid":"c5e49757-8204"},{"uid":"c5e49757-9058"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-8836"},{"uid":"c5e49757-8854"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-8878"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-8870"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9128"},{"uid":"c5e49757-9124"},{"uid":"c5e49757-8180"},{"uid":"c5e49757-7676"},{"uid":"c5e49757-8120"},{"uid":"c5e49757-9176"},{"uid":"c5e49757-9018"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-9196"},{"uid":"c5e49757-8212"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-9244"},{"uid":"c5e49757-8376"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8132"},{"uid":"c5e49757-8178"},{"uid":"c5e49757-8202"},{"uid":"c5e49757-8102"},{"uid":"c5e49757-7710"},{"uid":"c5e49757-8412"},{"uid":"c5e49757-8438"},{"uid":"c5e49757-8112"},{"uid":"c5e49757-8522"},{"uid":"c5e49757-8518"},{"uid":"c5e49757-8534"},{"uid":"c5e49757-7832"},{"uid":"c5e49757-8056"},{"uid":"c5e49757-8764"},{"uid":"c5e49757-8796"},{"uid":"c5e49757-8928"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-9070"},{"uid":"c5e49757-9122"},{"uid":"c5e49757-9038"},{"uid":"c5e49757-9040"},{"uid":"c5e49757-8848"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8488"},{"uid":"c5e49757-8510"},{"uid":"c5e49757-8168"},{"uid":"c5e49757-8410"},{"uid":"c5e49757-9172"},{"uid":"c5e49757-8472"},{"uid":"c5e49757-8316"},{"uid":"c5e49757-8408"},{"uid":"c5e49757-8390"}]},"c5e49757-7536":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/services/codeEditorService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7537"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9230"},{"uid":"c5e49757-9236"},{"uid":"c5e49757-9248"},{"uid":"c5e49757-9250"},{"uid":"c5e49757-8528"},{"uid":"c5e49757-7862"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8768"},{"uid":"c5e49757-8980"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-8888"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9182"},{"uid":"c5e49757-9200"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8720"},{"uid":"c5e49757-8836"},{"uid":"c5e49757-8854"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-8100"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8104"},{"uid":"c5e49757-8298"},{"uid":"c5e49757-8412"}]},"c5e49757-7538":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/model.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7539"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-8528"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-9066"},{"uid":"c5e49757-9156"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-8982"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8806"},{"uid":"c5e49757-8904"},{"uid":"c5e49757-9102"},{"uid":"c5e49757-9152"},{"uid":"c5e49757-7680"},{"uid":"c5e49757-8306"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8818"},{"uid":"c5e49757-8816"},{"uid":"c5e49757-9046"}]},"c5e49757-7540":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/resolverService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7541"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-8544"},{"uid":"c5e49757-8984"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-9162"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9074"},{"uid":"c5e49757-9132"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-9070"},{"uid":"c5e49757-8848"}]},"c5e49757-7542":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/actions.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7543"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8914"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-8268"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9196"},{"uid":"c5e49757-8294"},{"uid":"c5e49757-8428"},{"uid":"c5e49757-8764"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-9070"},{"uid":"c5e49757-9122"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8464"},{"uid":"c5e49757-8292"},{"uid":"c5e49757-8496"},{"uid":"c5e49757-8506"},{"uid":"c5e49757-8476"},{"uid":"c5e49757-8290"},{"uid":"c5e49757-8272"}]},"c5e49757-7544":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/themables.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7545"},"imported":[{"uid":"c5e49757-7476"}],"importedBy":[{"uid":"c5e49757-8756"},{"uid":"c5e49757-9234"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-8466"},{"uid":"c5e49757-8790"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-8972"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9138"},{"uid":"c5e49757-9196"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-8152"},{"uid":"c5e49757-8420"},{"uid":"c5e49757-8146"},{"uid":"c5e49757-8826"},{"uid":"c5e49757-8320"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-8884"},{"uid":"c5e49757-9168"},{"uid":"c5e49757-9040"},{"uid":"c5e49757-9046"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8370"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8480"},{"uid":"c5e49757-8464"},{"uid":"c5e49757-8396"},{"uid":"c5e49757-8794"},{"uid":"c5e49757-8506"},{"uid":"c5e49757-8476"},{"uid":"c5e49757-8290"},{"uid":"c5e49757-8392"},{"uid":"c5e49757-7780"}]},"c5e49757-7546":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/commands/common/commands.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7547"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7438"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7440"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9248"},{"uid":"c5e49757-8528"},{"uid":"c5e49757-8544"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8722"},{"uid":"c5e49757-8814"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8980"},{"uid":"c5e49757-8984"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-9162"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9206"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7556"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8790"},{"uid":"c5e49757-8806"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-8836"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9102"},{"uid":"c5e49757-9124"},{"uid":"c5e49757-9132"},{"uid":"c5e49757-9152"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-9244"},{"uid":"c5e49757-8298"},{"uid":"c5e49757-8428"},{"uid":"c5e49757-8434"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8818"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-9070"}]},"c5e49757-7548":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/contextkey/common/scanner.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7549"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-7550"}]},"c5e49757-7550":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/contextkey/common/contextkey.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7551"},"imported":[{"uid":"c5e49757-7434"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7548"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-9250"},{"uid":"c5e49757-8528"},{"uid":"c5e49757-7862"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8722"},{"uid":"c5e49757-8726"},{"uid":"c5e49757-8768"},{"uid":"c5e49757-8914"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8980"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-8888"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9112"},{"uid":"c5e49757-9140"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9014"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-9204"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7562"},{"uid":"c5e49757-7722"},{"uid":"c5e49757-8720"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8802"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8904"},{"uid":"c5e49757-8930"},{"uid":"c5e49757-8942"},{"uid":"c5e49757-9056"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-8836"},{"uid":"c5e49757-8854"},{"uid":"c5e49757-8760"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-8374"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-8870"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9126"},{"uid":"c5e49757-9124"},{"uid":"c5e49757-9132"},{"uid":"c5e49757-9138"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-9178"},{"uid":"c5e49757-9176"},{"uid":"c5e49757-9020"},{"uid":"c5e49757-9022"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-8376"},{"uid":"c5e49757-8100"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8190"},{"uid":"c5e49757-8294"},{"uid":"c5e49757-8412"},{"uid":"c5e49757-8426"},{"uid":"c5e49757-8428"},{"uid":"c5e49757-8434"},{"uid":"c5e49757-8522"},{"uid":"c5e49757-8534"},{"uid":"c5e49757-8764"},{"uid":"c5e49757-8798"},{"uid":"c5e49757-8796"},{"uid":"c5e49757-8954"},{"uid":"c5e49757-8986"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-9070"},{"uid":"c5e49757-9122"},{"uid":"c5e49757-9038"},{"uid":"c5e49757-8510"},{"uid":"c5e49757-8410"}]},"c5e49757-7552":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/assert.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7553"},"imported":[{"uid":"c5e49757-7446"}],"importedBy":[{"uid":"c5e49757-7554"},{"uid":"c5e49757-7634"},{"uid":"c5e49757-7978"},{"uid":"c5e49757-7730"},{"uid":"c5e49757-8244"},{"uid":"c5e49757-8246"},{"uid":"c5e49757-8474"},{"uid":"c5e49757-8500"},{"uid":"c5e49757-7664"},{"uid":"c5e49757-8998"},{"uid":"c5e49757-7646"}]},"c5e49757-7554":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/registry/common/platform.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7555"},"imported":[{"uid":"c5e49757-7552"},{"uid":"c5e49757-7428"}],"importedBy":[{"uid":"c5e49757-9224"},{"uid":"c5e49757-9230"},{"uid":"c5e49757-9236"},{"uid":"c5e49757-9248"},{"uid":"c5e49757-8804"},{"uid":"c5e49757-8932"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-8312"},{"uid":"c5e49757-9222"},{"uid":"c5e49757-8422"},{"uid":"c5e49757-7604"},{"uid":"c5e49757-7556"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-8184"},{"uid":"c5e49757-7602"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-8376"},{"uid":"c5e49757-8188"},{"uid":"c5e49757-8442"},{"uid":"c5e49757-7730"},{"uid":"c5e49757-7600"},{"uid":"c5e49757-8744"},{"uid":"c5e49757-8216"},{"uid":"c5e49757-8316"}]},"c5e49757-7556":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/keybinding/common/keybindingsRegistry.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7557"},"imported":[{"uid":"c5e49757-7500"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7554"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7440"}],"importedBy":[{"uid":"c5e49757-7862"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-8854"},{"uid":"c5e49757-8954"}]},"c5e49757-7558":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/actions/common/actions.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7559"},"imported":[{"uid":"c5e49757-7542"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7440"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7556"}],"importedBy":[{"uid":"c5e49757-8528"},{"uid":"c5e49757-8722"},{"uid":"c5e49757-8730"},{"uid":"c5e49757-8768"},{"uid":"c5e49757-8906"},{"uid":"c5e49757-8912"},{"uid":"c5e49757-8914"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-9060"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-8888"},{"uid":"c5e49757-9094"},{"uid":"c5e49757-9112"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9162"},{"uid":"c5e49757-9180"},{"uid":"c5e49757-9186"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8720"},{"uid":"c5e49757-9056"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9126"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-9178"},{"uid":"c5e49757-9176"},{"uid":"c5e49757-8294"},{"uid":"c5e49757-8428"},{"uid":"c5e49757-8518"},{"uid":"c5e49757-8796"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-9070"},{"uid":"c5e49757-9122"},{"uid":"c5e49757-9038"},{"uid":"c5e49757-8510"}]},"c5e49757-7560":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/telemetry/common/telemetry.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7561"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9248"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-9058"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9128"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-9244"},{"uid":"c5e49757-8294"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-9122"},{"uid":"c5e49757-8472"}]},"c5e49757-7562":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/log/common/log.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7563"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-8544"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9014"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7804"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-8118"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-9244"},{"uid":"c5e49757-7680"},{"uid":"c5e49757-8122"},{"uid":"c5e49757-8430"},{"uid":"c5e49757-8446"}]},"c5e49757-7564":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/editorExtensions.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7565"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-7540"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7556"},{"uid":"c5e49757-7554"},{"uid":"c5e49757-7560"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7562"},{"uid":"c5e49757-7518"}],"importedBy":[{"uid":"c5e49757-9216"},{"uid":"c5e49757-9220"},{"uid":"c5e49757-9230"},{"uid":"c5e49757-9236"},{"uid":"c5e49757-9248"},{"uid":"c5e49757-9250"},{"uid":"c5e49757-9252"},{"uid":"c5e49757-8528"},{"uid":"c5e49757-7862"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8726"},{"uid":"c5e49757-8730"},{"uid":"c5e49757-8734"},{"uid":"c5e49757-8736"},{"uid":"c5e49757-8768"},{"uid":"c5e49757-8804"},{"uid":"c5e49757-8814"},{"uid":"c5e49757-8902"},{"uid":"c5e49757-8906"},{"uid":"c5e49757-8912"},{"uid":"c5e49757-8914"},{"uid":"c5e49757-8916"},{"uid":"c5e49757-8922"},{"uid":"c5e49757-8924"},{"uid":"c5e49757-8932"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8978"},{"uid":"c5e49757-8980"},{"uid":"c5e49757-9060"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-8888"},{"uid":"c5e49757-8900"},{"uid":"c5e49757-9066"},{"uid":"c5e49757-9076"},{"uid":"c5e49757-9082"},{"uid":"c5e49757-9084"},{"uid":"c5e49757-9094"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9106"},{"uid":"c5e49757-9112"},{"uid":"c5e49757-9130"},{"uid":"c5e49757-9140"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9148"},{"uid":"c5e49757-9158"},{"uid":"c5e49757-9162"},{"uid":"c5e49757-9014"},{"uid":"c5e49757-9180"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9184"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-9200"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-9204"},{"uid":"c5e49757-9206"},{"uid":"c5e49757-9208"},{"uid":"c5e49757-7712"},{"uid":"c5e49757-8720"},{"uid":"c5e49757-8802"},{"uid":"c5e49757-8820"},{"uid":"c5e49757-8904"},{"uid":"c5e49757-9056"},{"uid":"c5e49757-8854"},{"uid":"c5e49757-8760"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-8856"},{"uid":"c5e49757-9126"},{"uid":"c5e49757-9178"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8412"},{"uid":"c5e49757-8534"},{"uid":"c5e49757-8874"}]},"c5e49757-7566":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/worker/simpleWorker.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7567"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7430"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7492"}],"importedBy":[{"uid":"c5e49757-7680"},{"uid":"c5e49757-7570"}]},"c5e49757-7568":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/trustedTypes.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7569"},"imported":[{"uid":"c5e49757-7486"},{"uid":"c5e49757-7446"}],"importedBy":[{"uid":"c5e49757-7704"},{"uid":"c5e49757-7982"},{"uid":"c5e49757-8166"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-9168"},{"uid":"c5e49757-7570"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-7866"},{"uid":"c5e49757-8478"}]},"c5e49757-7570":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/defaultWorkerFactory.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7571"},"imported":[{"uid":"c5e49757-7568"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7566"},{"uid":"c5e49757-7450"}],"importedBy":[{"uid":"c5e49757-7680"}]},"c5e49757-7572":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/languageConfiguration.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7573"},"imported":[],"importedBy":[{"uid":"c5e49757-7608"},{"uid":"c5e49757-7858"},{"uid":"c5e49757-7856"},{"uid":"c5e49757-9090"},{"uid":"c5e49757-7576"},{"uid":"c5e49757-7588"},{"uid":"c5e49757-7850"}]},"c5e49757-7574":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/supports.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7575"},"imported":[],"importedBy":[{"uid":"c5e49757-7608"},{"uid":"c5e49757-7836"},{"uid":"c5e49757-7858"},{"uid":"c5e49757-7856"},{"uid":"c5e49757-7584"},{"uid":"c5e49757-8016"}]},"c5e49757-7576":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/supports/characterPair.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7577"},"imported":[{"uid":"c5e49757-7572"}],"importedBy":[{"uid":"c5e49757-7608"}]},"c5e49757-7578":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/buffer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7579"},"imported":[{"uid":"c5e49757-7490"}],"importedBy":[{"uid":"c5e49757-7580"},{"uid":"c5e49757-8026"},{"uid":"c5e49757-9150"},{"uid":"c5e49757-8160"},{"uid":"c5e49757-8020"}]},"c5e49757-7580":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/stringBuilder.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7581"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7578"}],"importedBy":[{"uid":"c5e49757-7982"},{"uid":"c5e49757-7582"},{"uid":"c5e49757-7696"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-9168"},{"uid":"c5e49757-7866"},{"uid":"c5e49757-8020"},{"uid":"c5e49757-8478"}]},"c5e49757-7582":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/supports/richEditBrackets.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7583"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7580"},{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-7608"},{"uid":"c5e49757-7584"},{"uid":"c5e49757-8016"}]},"c5e49757-7584":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/supports/electricCharacter.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7585"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7574"},{"uid":"c5e49757-7582"}],"importedBy":[{"uid":"c5e49757-7608"}]},"c5e49757-7586":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/supports/indentRules.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7587"},"imported":[],"importedBy":[{"uid":"c5e49757-7608"}]},"c5e49757-7588":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/supports/onEnter.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7589"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7572"}],"importedBy":[{"uid":"c5e49757-7608"}]},"c5e49757-7590":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/configuration/common/configuration.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7591"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9250"},{"uid":"c5e49757-8532"},{"uid":"c5e49757-8914"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-9094"},{"uid":"c5e49757-9156"},{"uid":"c5e49757-9158"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7702"},{"uid":"c5e49757-8720"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-7602"},{"uid":"c5e49757-8820"},{"uid":"c5e49757-8930"},{"uid":"c5e49757-9056"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-8878"},{"uid":"c5e49757-8870"},{"uid":"c5e49757-8876"},{"uid":"c5e49757-9074"},{"uid":"c5e49757-9124"},{"uid":"c5e49757-9178"},{"uid":"c5e49757-9018"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-9244"},{"uid":"c5e49757-8376"},{"uid":"c5e49757-8132"},{"uid":"c5e49757-8188"},{"uid":"c5e49757-8308"},{"uid":"c5e49757-8412"},{"uid":"c5e49757-8426"},{"uid":"c5e49757-8434"},{"uid":"c5e49757-8818"},{"uid":"c5e49757-8168"},{"uid":"c5e49757-8410"},{"uid":"c5e49757-8392"}]},"c5e49757-7592":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/language.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7593"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9220"},{"uid":"c5e49757-8528"},{"uid":"c5e49757-8532"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-8900"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-9058"},{"uid":"c5e49757-8876"},{"uid":"c5e49757-9074"},{"uid":"c5e49757-9138"},{"uid":"c5e49757-8118"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-8122"},{"uid":"c5e49757-8308"},{"uid":"c5e49757-8166"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-9118"},{"uid":"c5e49757-9046"},{"uid":"c5e49757-8462"}]},"c5e49757-7594":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/instantiation/common/descriptors.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7595"},"imported":[],"importedBy":[{"uid":"c5e49757-8450"},{"uid":"c5e49757-7596"},{"uid":"c5e49757-8438"}]},"c5e49757-7596":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/instantiation/common/extensions.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7597"},"imported":[{"uid":"c5e49757-7594"}],"importedBy":[{"uid":"c5e49757-8982"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8808"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-8854"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-8878"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9018"},{"uid":"c5e49757-8100"},{"uid":"c5e49757-8104"},{"uid":"c5e49757-8108"},{"uid":"c5e49757-8122"},{"uid":"c5e49757-8130"},{"uid":"c5e49757-8178"},{"uid":"c5e49757-8534"},{"uid":"c5e49757-8796"},{"uid":"c5e49757-8928"},{"uid":"c5e49757-8472"}]},"c5e49757-7598":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/mime.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7599"},"imported":[],"importedBy":[{"uid":"c5e49757-7604"},{"uid":"c5e49757-7804"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8748"},{"uid":"c5e49757-8746"},{"uid":"c5e49757-8220"},{"uid":"c5e49757-8214"}]},"c5e49757-7600":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/jsonschemas/common/jsonContributionRegistry.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7601"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7554"}],"importedBy":[{"uid":"c5e49757-7602"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-7730"}]},"c5e49757-7602":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/configuration/common/configurationRegistry.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7603"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7600"},{"uid":"c5e49757-7554"}],"importedBy":[{"uid":"c5e49757-8804"},{"uid":"c5e49757-8932"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-7604"},{"uid":"c5e49757-8184"},{"uid":"c5e49757-8376"},{"uid":"c5e49757-8188"},{"uid":"c5e49757-8442"},{"uid":"c5e49757-8216"}]},"c5e49757-7604":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/modesRegistry.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7605"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7554"},{"uid":"c5e49757-7598"},{"uid":"c5e49757-7602"}],"importedBy":[{"uid":"c5e49757-8528"},{"uid":"c5e49757-8532"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8088"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-8218"},{"uid":"c5e49757-8308"},{"uid":"c5e49757-8166"},{"uid":"c5e49757-8216"},{"uid":"c5e49757-9044"},{"uid":"c5e49757-8214"}]},"c5e49757-7606":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/supports/languageBracketsConfiguration.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7607"},"imported":[{"uid":"c5e49757-7488"}],"importedBy":[{"uid":"c5e49757-7608"}]},"c5e49757-7608":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/languageConfigurationRegistry.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7609"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7442"},{"uid":"c5e49757-7572"},{"uid":"c5e49757-7574"},{"uid":"c5e49757-7576"},{"uid":"c5e49757-7584"},{"uid":"c5e49757-7586"},{"uid":"c5e49757-7588"},{"uid":"c5e49757-7582"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-7596"},{"uid":"c5e49757-7604"},{"uid":"c5e49757-7606"}],"importedBy":[{"uid":"c5e49757-8528"},{"uid":"c5e49757-8532"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8912"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-9066"},{"uid":"c5e49757-9094"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9148"},{"uid":"c5e49757-9014"},{"uid":"c5e49757-9204"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7858"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8904"},{"uid":"c5e49757-8836"},{"uid":"c5e49757-7852"},{"uid":"c5e49757-7856"},{"uid":"c5e49757-9090"},{"uid":"c5e49757-9012"},{"uid":"c5e49757-9176"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-7680"},{"uid":"c5e49757-8308"},{"uid":"c5e49757-7850"},{"uid":"c5e49757-8816"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-9010"},{"uid":"c5e49757-9174"},{"uid":"c5e49757-9002"},{"uid":"c5e49757-9172"}]},"c5e49757-7610":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/diff/diffChange.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7611"},"imported":[],"importedBy":[{"uid":"c5e49757-7612"}]},"c5e49757-7612":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/diff/diff.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7613"},"imported":[{"uid":"c5e49757-7610"},{"uid":"c5e49757-7516"}],"importedBy":[{"uid":"c5e49757-7674"},{"uid":"c5e49757-9000"},{"uid":"c5e49757-8358"},{"uid":"c5e49757-7646"}]},"c5e49757-7614":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/uint.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7615"},"imported":[],"importedBy":[{"uid":"c5e49757-7620"},{"uid":"c5e49757-7930"},{"uid":"c5e49757-7616"},{"uid":"c5e49757-7926"}]},"c5e49757-7616":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/prefixSumComputer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7617"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7614"}],"importedBy":[{"uid":"c5e49757-8084"},{"uid":"c5e49757-7618"}]},"c5e49757-7618":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/mirrorTextModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7619"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7616"}],"importedBy":[{"uid":"c5e49757-7674"}]},"c5e49757-7620":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/characterClassifier.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7621"},"imported":[{"uid":"c5e49757-7614"}],"importedBy":[{"uid":"c5e49757-8980"},{"uid":"c5e49757-8060"},{"uid":"c5e49757-9134"},{"uid":"c5e49757-9024"},{"uid":"c5e49757-7628"},{"uid":"c5e49757-7622"}]},"c5e49757-7622":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/linkComputer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7623"},"imported":[{"uid":"c5e49757-7620"}],"importedBy":[{"uid":"c5e49757-7674"}]},"c5e49757-7624":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/supports/inplaceReplaceSupport.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7625"},"imported":[],"importedBy":[{"uid":"c5e49757-7674"}]},"c5e49757-7626":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/map.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7627"},"imported":[],"importedBy":[{"uid":"c5e49757-9202"},{"uid":"c5e49757-8982"},{"uid":"c5e49757-8808"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-8844"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9018"},{"uid":"c5e49757-8150"},{"uid":"c5e49757-7628"},{"uid":"c5e49757-9244"},{"uid":"c5e49757-8188"},{"uid":"c5e49757-8298"},{"uid":"c5e49757-8306"},{"uid":"c5e49757-8440"},{"uid":"c5e49757-7934"},{"uid":"c5e49757-8124"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8998"},{"uid":"c5e49757-7658"}]},"c5e49757-7628":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/wordCharacterClassifier.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7629"},"imported":[{"uid":"c5e49757-7626"},{"uid":"c5e49757-7620"}],"importedBy":[{"uid":"c5e49757-9204"},{"uid":"c5e49757-7858"},{"uid":"c5e49757-7846"},{"uid":"c5e49757-7832"},{"uid":"c5e49757-7632"}]},"c5e49757-7630":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7631"},"imported":[{"uid":"c5e49757-7430"}],"importedBy":[{"uid":"c5e49757-8528"},{"uid":"c5e49757-8730"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-7976"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8872"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9110"},{"uid":"c5e49757-9226"},{"uid":"c5e49757-8306"},{"uid":"c5e49757-7890"},{"uid":"c5e49757-7978"},{"uid":"c5e49757-8036"},{"uid":"c5e49757-7632"},{"uid":"c5e49757-8086"},{"uid":"c5e49757-8934"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-9118"},{"uid":"c5e49757-8486"},{"uid":"c5e49757-8128"},{"uid":"c5e49757-8034"}]},"c5e49757-7632":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/textModelSearch.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7633"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7628"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7630"}],"importedBy":[{"uid":"c5e49757-8058"},{"uid":"c5e49757-8942"},{"uid":"c5e49757-7634"},{"uid":"c5e49757-8034"}]},"c5e49757-7634":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7635"},"imported":[{"uid":"c5e49757-7468"},{"uid":"c5e49757-7632"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7552"},{"uid":"c5e49757-7442"}],"importedBy":[{"uid":"c5e49757-9198"},{"uid":"c5e49757-7674"}]},"c5e49757-7636":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/diff/linesDiffComputer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7637"},"imported":[],"importedBy":[{"uid":"c5e49757-7680"},{"uid":"c5e49757-7664"},{"uid":"c5e49757-7646"}]},"c5e49757-7638":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/offsetRange.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7639"},"imported":[{"uid":"c5e49757-7446"}],"importedBy":[{"uid":"c5e49757-8522"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8464"},{"uid":"c5e49757-8510"},{"uid":"c5e49757-8046"},{"uid":"c5e49757-7664"},{"uid":"c5e49757-7660"},{"uid":"c5e49757-8494"},{"uid":"c5e49757-8498"},{"uid":"c5e49757-7648"},{"uid":"c5e49757-7652"},{"uid":"c5e49757-7654"},{"uid":"c5e49757-7658"},{"uid":"c5e49757-7656"}]},"c5e49757-7640":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/arraysFind.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7641"},"imported":[],"importedBy":[{"uid":"c5e49757-9234"},{"uid":"c5e49757-8942"},{"uid":"c5e49757-8968"},{"uid":"c5e49757-8458"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8522"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-7900"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-9052"},{"uid":"c5e49757-8464"},{"uid":"c5e49757-8064"},{"uid":"c5e49757-7658"},{"uid":"c5e49757-7656"}]},"c5e49757-7642":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/lineRange.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7643"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-7638"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7640"}],"importedBy":[{"uid":"c5e49757-8058"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-7680"},{"uid":"c5e49757-8054"},{"uid":"c5e49757-7644"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8480"},{"uid":"c5e49757-8486"},{"uid":"c5e49757-8474"},{"uid":"c5e49757-8510"},{"uid":"c5e49757-8046"},{"uid":"c5e49757-8472"},{"uid":"c5e49757-7664"},{"uid":"c5e49757-8494"},{"uid":"c5e49757-7646"},{"uid":"c5e49757-7658"}]},"c5e49757-7644":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/diff/rangeMapping.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7645"},"imported":[{"uid":"c5e49757-7642"}],"importedBy":[{"uid":"c5e49757-7680"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8486"},{"uid":"c5e49757-8474"},{"uid":"c5e49757-8510"},{"uid":"c5e49757-8472"},{"uid":"c5e49757-7664"},{"uid":"c5e49757-7646"},{"uid":"c5e49757-7658"}]},"c5e49757-7646":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/diff/legacyLinesDiffComputer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7647"},"imported":[{"uid":"c5e49757-7612"},{"uid":"c5e49757-7636"},{"uid":"c5e49757-7644"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7552"},{"uid":"c5e49757-7642"}],"importedBy":[{"uid":"c5e49757-7666"}]},"c5e49757-7648":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7649"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7638"}],"importedBy":[{"uid":"c5e49757-7664"},{"uid":"c5e49757-7660"},{"uid":"c5e49757-7652"},{"uid":"c5e49757-7654"},{"uid":"c5e49757-7658"}]},"c5e49757-7650":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/diff/defaultLinesDiffComputer/utils.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7651"},"imported":[],"importedBy":[{"uid":"c5e49757-7652"},{"uid":"c5e49757-7658"},{"uid":"c5e49757-7656"}]},"c5e49757-7652":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/dynamicProgrammingDiffing.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7653"},"imported":[{"uid":"c5e49757-7638"},{"uid":"c5e49757-7648"},{"uid":"c5e49757-7650"}],"importedBy":[{"uid":"c5e49757-7664"}]},"c5e49757-7654":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/myersDiffAlgorithm.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7655"},"imported":[{"uid":"c5e49757-7638"},{"uid":"c5e49757-7648"}],"importedBy":[{"uid":"c5e49757-7664"},{"uid":"c5e49757-7658"}]},"c5e49757-7656":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7657"},"imported":[{"uid":"c5e49757-7640"},{"uid":"c5e49757-7638"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7650"}],"importedBy":[{"uid":"c5e49757-7664"},{"uid":"c5e49757-7658"}]},"c5e49757-7658":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7659"},"imported":[{"uid":"c5e49757-7648"},{"uid":"c5e49757-7644"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7640"},{"uid":"c5e49757-7626"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-7638"},{"uid":"c5e49757-7656"},{"uid":"c5e49757-7650"},{"uid":"c5e49757-7654"}],"importedBy":[{"uid":"c5e49757-7664"}]},"c5e49757-7660":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7661"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7638"},{"uid":"c5e49757-7648"}],"importedBy":[{"uid":"c5e49757-8474"},{"uid":"c5e49757-7664"}]},"c5e49757-7662":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/diff/defaultLinesDiffComputer/lineSequence.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7663"},"imported":[],"importedBy":[{"uid":"c5e49757-7664"}]},"c5e49757-7664":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7665"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7552"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-7638"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7648"},{"uid":"c5e49757-7652"},{"uid":"c5e49757-7654"},{"uid":"c5e49757-7658"},{"uid":"c5e49757-7660"},{"uid":"c5e49757-7662"},{"uid":"c5e49757-7656"},{"uid":"c5e49757-7636"},{"uid":"c5e49757-7644"}],"importedBy":[{"uid":"c5e49757-8474"},{"uid":"c5e49757-7666"}]},"c5e49757-7666":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/diff/linesDiffComputers.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7667"},"imported":[{"uid":"c5e49757-7646"},{"uid":"c5e49757-7664"}],"importedBy":[{"uid":"c5e49757-7674"}]},"c5e49757-7668":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/color.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7669"},"imported":[],"importedBy":[{"uid":"c5e49757-9220"},{"uid":"c5e49757-8532"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-8422"},{"uid":"c5e49757-7816"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8088"},{"uid":"c5e49757-8820"},{"uid":"c5e49757-8828"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-8414"},{"uid":"c5e49757-7832"},{"uid":"c5e49757-7940"},{"uid":"c5e49757-7730"},{"uid":"c5e49757-7732"},{"uid":"c5e49757-7736"},{"uid":"c5e49757-7742"},{"uid":"c5e49757-7744"},{"uid":"c5e49757-7738"},{"uid":"c5e49757-7734"},{"uid":"c5e49757-7748"},{"uid":"c5e49757-8826"},{"uid":"c5e49757-8816"},{"uid":"c5e49757-8284"},{"uid":"c5e49757-8840"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-8336"},{"uid":"c5e49757-8396"},{"uid":"c5e49757-7670"}]},"c5e49757-7670":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/defaultDocumentColorsComputer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7671"},"imported":[{"uid":"c5e49757-7668"}],"importedBy":[{"uid":"c5e49757-7674"}]},"c5e49757-7672":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/findSectionHeaders.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7673"},"imported":[],"importedBy":[{"uid":"c5e49757-7674"}]},"c5e49757-7674":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7675"},"imported":[{"uid":"c5e49757-7612"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7618"},{"uid":"c5e49757-7442"},{"uid":"c5e49757-7622"},{"uid":"c5e49757-7624"},{"uid":"c5e49757-7484"},{"uid":"c5e49757-7452"},{"uid":"c5e49757-7634"},{"uid":"c5e49757-7666"},{"uid":"c5e49757-7430"},{"uid":"c5e49757-7670"},{"uid":"c5e49757-7672"}],"importedBy":[{"uid":"c5e49757-7680"}]},"c5e49757-7676":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/textResourceConfiguration.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7677"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9146"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7680"},{"uid":"c5e49757-8308"}]},"c5e49757-7678":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/languageFeatures.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7679"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9236"},{"uid":"c5e49757-8532"},{"uid":"c5e49757-8544"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8814"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8980"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9112"},{"uid":"c5e49757-9140"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9156"},{"uid":"c5e49757-9158"},{"uid":"c5e49757-9162"},{"uid":"c5e49757-9014"},{"uid":"c5e49757-9182"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-9210"},{"uid":"c5e49757-9234"},{"uid":"c5e49757-8982"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8806"},{"uid":"c5e49757-8820"},{"uid":"c5e49757-8904"},{"uid":"c5e49757-8748"},{"uid":"c5e49757-8930"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-8836"},{"uid":"c5e49757-8856"},{"uid":"c5e49757-8876"},{"uid":"c5e49757-8890"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9074"},{"uid":"c5e49757-9102"},{"uid":"c5e49757-9124"},{"uid":"c5e49757-9132"},{"uid":"c5e49757-9152"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-9176"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-7680"},{"uid":"c5e49757-8130"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8818"},{"uid":"c5e49757-8816"},{"uid":"c5e49757-8874"},{"uid":"c5e49757-9174"},{"uid":"c5e49757-9002"},{"uid":"c5e49757-9172"}]},"c5e49757-7680":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/services/editorWorkerService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7681"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7566"},{"uid":"c5e49757-7570"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7674"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-7676"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7562"},{"uid":"c5e49757-7452"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7636"},{"uid":"c5e49757-7644"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-7486"},{"uid":"c5e49757-7518"}],"importedBy":[{"uid":"c5e49757-7682"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8816"}]},"c5e49757-7682":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/services/webWorker.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7683"},"imported":[{"uid":"c5e49757-7430"},{"uid":"c5e49757-7680"}],"importedBy":[{"uid":"c5e49757-8528"}]},"c5e49757-7684":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/editorCommon.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7685"},"imported":[],"importedBy":[{"uid":"c5e49757-8528"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8538"},{"uid":"c5e49757-8512"}]},"c5e49757-7686":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/nullTokenize.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7687"},"imported":[{"uid":"c5e49757-7480"}],"importedBy":[{"uid":"c5e49757-9220"},{"uid":"c5e49757-8528"},{"uid":"c5e49757-7702"},{"uid":"c5e49757-8074"},{"uid":"c5e49757-8046"}]},"c5e49757-7688":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/encodedTokenAttributes.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7689"},"imported":[],"importedBy":[{"uid":"c5e49757-9220"},{"uid":"c5e49757-8422"},{"uid":"c5e49757-8118"},{"uid":"c5e49757-7690"},{"uid":"c5e49757-8050"},{"uid":"c5e49757-8002"}]},"c5e49757-7690":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/tokens/lineTokens.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7691"},"imported":[{"uid":"c5e49757-7688"}],"importedBy":[{"uid":"c5e49757-7704"},{"uid":"c5e49757-8074"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8046"},{"uid":"c5e49757-8050"},{"uid":"c5e49757-8052"},{"uid":"c5e49757-8082"},{"uid":"c5e49757-8048"}]},"c5e49757-7692":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewLayout/lineDecorations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7693"},"imported":[{"uid":"c5e49757-7492"}],"importedBy":[{"uid":"c5e49757-7696"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-9118"},{"uid":"c5e49757-9168"},{"uid":"c5e49757-7766"},{"uid":"c5e49757-8478"}]},"c5e49757-7694":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewLayout/linePart.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7695"},"imported":[],"importedBy":[{"uid":"c5e49757-7696"}]},"c5e49757-7696":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewLayout/viewLineRenderer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7697"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7580"},{"uid":"c5e49757-7692"},{"uid":"c5e49757-7694"}],"importedBy":[{"uid":"c5e49757-7704"},{"uid":"c5e49757-7968"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-9168"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-7766"},{"uid":"c5e49757-8478"}]},"c5e49757-7698":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7699"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-7704"},{"uid":"c5e49757-8088"},{"uid":"c5e49757-8080"},{"uid":"c5e49757-7934"},{"uid":"c5e49757-7940"},{"uid":"c5e49757-8078"},{"uid":"c5e49757-8084"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8480"},{"uid":"c5e49757-8082"},{"uid":"c5e49757-8478"}]},"c5e49757-7700":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/common/monarch/monarchCommon.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7701"},"imported":[],"importedBy":[{"uid":"c5e49757-8530"},{"uid":"c5e49757-7702"}]},"c5e49757-7702":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/common/monarch/monarchLexer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7703"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7686"},{"uid":"c5e49757-7700"},{"uid":"c5e49757-7590"}],"importedBy":[{"uid":"c5e49757-8532"},{"uid":"c5e49757-7704"}]},"c5e49757-7704":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/colorizer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7705"},"imported":[{"uid":"c5e49757-7568"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7690"},{"uid":"c5e49757-7696"},{"uid":"c5e49757-7698"},{"uid":"c5e49757-7702"}],"importedBy":[{"uid":"c5e49757-8528"}]},"c5e49757-7706":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7707"},"imported":[],"importedBy":[{"uid":"c5e49757-7708"}]},"c5e49757-7708":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7709"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7706"}],"importedBy":[{"uid":"c5e49757-7862"},{"uid":"c5e49757-8726"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-9112"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9186"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-8760"},{"uid":"c5e49757-9138"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-9226"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-8168"},{"uid":"c5e49757-8350"}]},"c5e49757-7710":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/markerDecorations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7711"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-8450"},{"uid":"c5e49757-7712"},{"uid":"c5e49757-8890"}]},"c5e49757-7712":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/services/markerDecorations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7713"},"imported":[{"uid":"c5e49757-7710"},{"uid":"c5e49757-7564"}],"importedBy":[{"uid":"c5e49757-8096"}]},"c5e49757-7714":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/codeEditor/editor.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7715"},"imported":[],"importedBy":[{"uid":"c5e49757-8096"}]},"c5e49757-7716":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/config/elementSizeObserver.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7717"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7518"}],"importedBy":[{"uid":"c5e49757-7724"},{"uid":"c5e49757-8458"}]},"c5e49757-7718":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/config/migrateOptions.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7719"},"imported":[],"importedBy":[{"uid":"c5e49757-7724"}]},"c5e49757-7720":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/config/tabFocus.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7721"},"imported":[{"uid":"c5e49757-7454"}],"importedBy":[{"uid":"c5e49757-8096"},{"uid":"c5e49757-9186"},{"uid":"c5e49757-7724"}]},"c5e49757-7722":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/accessibility/common/accessibility.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7723"},"imported":[{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-8096"},{"uid":"c5e49757-9204"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-7724"},{"uid":"c5e49757-7804"},{"uid":"c5e49757-9058"},{"uid":"c5e49757-8836"},{"uid":"c5e49757-8870"},{"uid":"c5e49757-8178"},{"uid":"c5e49757-8426"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-8492"},{"uid":"c5e49757-8168"}]},"c5e49757-7724":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/config/editorConfiguration.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7725"},"imported":[{"uid":"c5e49757-7496"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7430"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7716"},{"uid":"c5e49757-7532"},{"uid":"c5e49757-7718"},{"uid":"c5e49757-7720"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7528"},{"uid":"c5e49757-7530"},{"uid":"c5e49757-7722"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7520"}],"importedBy":[{"uid":"c5e49757-8096"}]},"c5e49757-7726":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/performance.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7727"},"imported":[],"importedBy":[{"uid":"c5e49757-7976"},{"uid":"c5e49757-7804"}]},"c5e49757-7728":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/globalPointerMoveMonitor.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7729"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7450"}],"importedBy":[{"uid":"c5e49757-7934"},{"uid":"c5e49757-7754"},{"uid":"c5e49757-8826"},{"uid":"c5e49757-7784"},{"uid":"c5e49757-7780"}]},"c5e49757-7730":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/theme/common/colorUtils.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7731"},"imported":[{"uid":"c5e49757-7552"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7600"},{"uid":"c5e49757-7554"}],"importedBy":[{"uid":"c5e49757-7752"},{"uid":"c5e49757-7732"},{"uid":"c5e49757-7740"},{"uid":"c5e49757-7736"},{"uid":"c5e49757-7742"},{"uid":"c5e49757-7744"},{"uid":"c5e49757-7746"},{"uid":"c5e49757-7738"},{"uid":"c5e49757-7734"},{"uid":"c5e49757-7748"},{"uid":"c5e49757-7750"}]},"c5e49757-7732":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/theme/common/colors/baseColors.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7733"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7730"}],"importedBy":[{"uid":"c5e49757-7752"},{"uid":"c5e49757-7740"},{"uid":"c5e49757-7736"},{"uid":"c5e49757-7742"},{"uid":"c5e49757-7744"},{"uid":"c5e49757-7746"},{"uid":"c5e49757-7734"},{"uid":"c5e49757-7750"}]},"c5e49757-7734":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/theme/common/colors/miscColors.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7735"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7730"},{"uid":"c5e49757-7732"}],"importedBy":[{"uid":"c5e49757-7752"},{"uid":"c5e49757-7736"},{"uid":"c5e49757-7738"}]},"c5e49757-7736":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/theme/common/colors/editorColors.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7737"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7730"},{"uid":"c5e49757-7732"},{"uid":"c5e49757-7734"}],"importedBy":[{"uid":"c5e49757-7752"},{"uid":"c5e49757-7740"},{"uid":"c5e49757-7742"},{"uid":"c5e49757-7744"},{"uid":"c5e49757-7738"},{"uid":"c5e49757-7748"},{"uid":"c5e49757-7750"}]},"c5e49757-7738":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/theme/common/colors/minimapColors.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7739"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7730"},{"uid":"c5e49757-7736"},{"uid":"c5e49757-7734"}],"importedBy":[{"uid":"c5e49757-7752"},{"uid":"c5e49757-7740"}]},"c5e49757-7740":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/theme/common/colors/chartsColors.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7741"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7730"},{"uid":"c5e49757-7732"},{"uid":"c5e49757-7736"},{"uid":"c5e49757-7738"}],"importedBy":[{"uid":"c5e49757-7752"}]},"c5e49757-7742":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/theme/common/colors/inputColors.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7743"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7730"},{"uid":"c5e49757-7732"},{"uid":"c5e49757-7736"}],"importedBy":[{"uid":"c5e49757-7752"},{"uid":"c5e49757-7746"}]},"c5e49757-7744":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/theme/common/colors/listColors.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7745"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7730"},{"uid":"c5e49757-7732"},{"uid":"c5e49757-7736"}],"importedBy":[{"uid":"c5e49757-7752"},{"uid":"c5e49757-7746"},{"uid":"c5e49757-7748"}]},"c5e49757-7746":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/theme/common/colors/menuColors.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7747"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7730"},{"uid":"c5e49757-7732"},{"uid":"c5e49757-7742"},{"uid":"c5e49757-7744"}],"importedBy":[{"uid":"c5e49757-7752"}]},"c5e49757-7748":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/theme/common/colors/quickpickColors.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7749"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7730"},{"uid":"c5e49757-7736"},{"uid":"c5e49757-7744"}],"importedBy":[{"uid":"c5e49757-7752"}]},"c5e49757-7750":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/theme/common/colors/searchColors.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7751"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7730"},{"uid":"c5e49757-7732"},{"uid":"c5e49757-7736"}],"importedBy":[{"uid":"c5e49757-7752"}]},"c5e49757-7752":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/theme/common/colorRegistry.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7753"},"imported":[{"uid":"c5e49757-7730"},{"uid":"c5e49757-7732"},{"uid":"c5e49757-7740"},{"uid":"c5e49757-7736"},{"uid":"c5e49757-7742"},{"uid":"c5e49757-7744"},{"uid":"c5e49757-7746"},{"uid":"c5e49757-7738"},{"uid":"c5e49757-7734"},{"uid":"c5e49757-7748"},{"uid":"c5e49757-7750"}],"importedBy":[{"uid":"c5e49757-8096"},{"uid":"c5e49757-8730"},{"uid":"c5e49757-8900"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-8784"},{"uid":"c5e49757-8422"},{"uid":"c5e49757-7816"},{"uid":"c5e49757-8466"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8946"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-8972"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9110"},{"uid":"c5e49757-9138"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-8416"},{"uid":"c5e49757-8178"},{"uid":"c5e49757-8306"},{"uid":"c5e49757-8524"},{"uid":"c5e49757-7934"},{"uid":"c5e49757-7956"},{"uid":"c5e49757-8796"},{"uid":"c5e49757-7754"},{"uid":"c5e49757-8826"},{"uid":"c5e49757-8934"},{"uid":"c5e49757-8284"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-8484"},{"uid":"c5e49757-8410"},{"uid":"c5e49757-8794"}]},"c5e49757-7754":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/editorDom.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7755"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7728"},{"uid":"c5e49757-7506"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7752"}],"importedBy":[{"uid":"c5e49757-8820"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-7772"},{"uid":"c5e49757-7806"},{"uid":"c5e49757-7798"}]},"c5e49757-7756":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewEventHandler.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7757"},"imported":[{"uid":"c5e49757-7450"}],"importedBy":[{"uid":"c5e49757-7976"},{"uid":"c5e49757-7758"},{"uid":"c5e49757-7944"},{"uid":"c5e49757-7798"},{"uid":"c5e49757-7812"}]},"c5e49757-7758":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/view/viewPart.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7759"},"imported":[{"uid":"c5e49757-7756"}],"importedBy":[{"uid":"c5e49757-7976"},{"uid":"c5e49757-7772"},{"uid":"c5e49757-7832"},{"uid":"c5e49757-7868"},{"uid":"c5e49757-7874"},{"uid":"c5e49757-7876"},{"uid":"c5e49757-7886"},{"uid":"c5e49757-7890"},{"uid":"c5e49757-7908"},{"uid":"c5e49757-7822"},{"uid":"c5e49757-7934"},{"uid":"c5e49757-7938"},{"uid":"c5e49757-7940"},{"uid":"c5e49757-7948"},{"uid":"c5e49757-7952"},{"uid":"c5e49757-7962"},{"uid":"c5e49757-7964"}]},"c5e49757-7760":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/view/renderingContext.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7761"},"imported":[],"importedBy":[{"uid":"c5e49757-7976"},{"uid":"c5e49757-7884"},{"uid":"c5e49757-7908"},{"uid":"c5e49757-7766"},{"uid":"c5e49757-7762"}]},"c5e49757-7762":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/rangeUtil.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7763"},"imported":[{"uid":"c5e49757-7760"}],"importedBy":[{"uid":"c5e49757-7766"}]},"c5e49757-7764":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/theme/common/theme.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7765"},"imported":[],"importedBy":[{"uid":"c5e49757-9252"},{"uid":"c5e49757-8422"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-7880"},{"uid":"c5e49757-7962"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-7766"},{"uid":"c5e49757-8390"}]},"c5e49757-7766":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/viewLine.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7767"},"imported":[{"uid":"c5e49757-7496"},{"uid":"c5e49757-7522"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7762"},{"uid":"c5e49757-7760"},{"uid":"c5e49757-7692"},{"uid":"c5e49757-7696"},{"uid":"c5e49757-7764"},{"uid":"c5e49757-7444"}],"importedBy":[{"uid":"c5e49757-7772"},{"uid":"c5e49757-7908"},{"uid":"c5e49757-9168"}]},"c5e49757-7768":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/cursorColumns.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7769"},"imported":[{"uid":"c5e49757-7492"}],"importedBy":[{"uid":"c5e49757-8096"},{"uid":"c5e49757-7836"},{"uid":"c5e49757-7844"},{"uid":"c5e49757-7842"},{"uid":"c5e49757-7852"},{"uid":"c5e49757-7834"},{"uid":"c5e49757-7772"},{"uid":"c5e49757-7900"},{"uid":"c5e49757-7770"},{"uid":"c5e49757-8986"},{"uid":"c5e49757-8000"}]},"c5e49757-7770":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorAtomicMoveOperations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7771"},"imported":[{"uid":"c5e49757-7768"}],"importedBy":[{"uid":"c5e49757-7842"},{"uid":"c5e49757-7772"}]},"c5e49757-7772":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseTarget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7773"},"imported":[{"uid":"c5e49757-7754"},{"uid":"c5e49757-7758"},{"uid":"c5e49757-7766"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7768"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7770"},{"uid":"c5e49757-7490"}],"importedBy":[{"uid":"c5e49757-7976"},{"uid":"c5e49757-7798"}]},"c5e49757-7774":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/decorators.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7775"},"imported":[],"importedBy":[{"uid":"c5e49757-7776"},{"uid":"c5e49757-8332"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-8368"},{"uid":"c5e49757-8236"},{"uid":"c5e49757-8390"},{"uid":"c5e49757-8324"}]},"c5e49757-7776":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/touch.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7777"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7486"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7774"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7440"}],"importedBy":[{"uid":"c5e49757-8790"},{"uid":"c5e49757-8268"},{"uid":"c5e49757-7806"},{"uid":"c5e49757-7934"},{"uid":"c5e49757-7778"},{"uid":"c5e49757-8332"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-9194"},{"uid":"c5e49757-8396"},{"uid":"c5e49757-8260"},{"uid":"c5e49757-8236"},{"uid":"c5e49757-8290"},{"uid":"c5e49757-8272"},{"uid":"c5e49757-8326"}]},"c5e49757-7778":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7779"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-7506"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-7450"}],"importedBy":[{"uid":"c5e49757-8946"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-8826"},{"uid":"c5e49757-8264"},{"uid":"c5e49757-8320"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-8168"},{"uid":"c5e49757-8354"},{"uid":"c5e49757-8952"},{"uid":"c5e49757-8350"},{"uid":"c5e49757-7784"},{"uid":"c5e49757-7780"}]},"c5e49757-7780":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7781"},"imported":[{"uid":"c5e49757-7728"},{"uid":"c5e49757-7778"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-7518"}],"importedBy":[{"uid":"c5e49757-7788"},{"uid":"c5e49757-7790"},{"uid":"c5e49757-7784"}]},"c5e49757-7782":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7783"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7450"}],"importedBy":[{"uid":"c5e49757-7784"}]},"c5e49757-7784":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7785"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7522"},{"uid":"c5e49757-7728"},{"uid":"c5e49757-7780"},{"uid":"c5e49757-7782"},{"uid":"c5e49757-7778"},{"uid":"c5e49757-7434"}],"importedBy":[{"uid":"c5e49757-7788"},{"uid":"c5e49757-7790"}]},"c5e49757-7786":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7787"},"imported":[],"importedBy":[{"uid":"c5e49757-8484"},{"uid":"c5e49757-7788"},{"uid":"c5e49757-7790"}]},"c5e49757-7788":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/horizontalScrollbar.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7789"},"imported":[{"uid":"c5e49757-7506"},{"uid":"c5e49757-7784"},{"uid":"c5e49757-7780"},{"uid":"c5e49757-7786"},{"uid":"c5e49757-7476"}],"importedBy":[{"uid":"c5e49757-7796"}]},"c5e49757-7790":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/verticalScrollbar.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7791"},"imported":[{"uid":"c5e49757-7506"},{"uid":"c5e49757-7784"},{"uid":"c5e49757-7780"},{"uid":"c5e49757-7786"},{"uid":"c5e49757-7476"}],"importedBy":[{"uid":"c5e49757-7796"}]},"c5e49757-7792":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/scrollable.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7793"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"}],"importedBy":[{"uid":"c5e49757-8522"},{"uid":"c5e49757-8078"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-8336"},{"uid":"c5e49757-8236"}]},"c5e49757-7794":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/media/scrollbars.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7795"},"imported":[],"importedBy":[{"uid":"c5e49757-7796"}]},"c5e49757-7796":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7797"},"imported":[{"uid":"c5e49757-7496"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7522"},{"uid":"c5e49757-7506"},{"uid":"c5e49757-7788"},{"uid":"c5e49757-7790"},{"uid":"c5e49757-7778"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7792"},{"uid":"c5e49757-7794"}],"importedBy":[{"uid":"c5e49757-8886"},{"uid":"c5e49757-9138"},{"uid":"c5e49757-8522"},{"uid":"c5e49757-7886"},{"uid":"c5e49757-8140"},{"uid":"c5e49757-9040"},{"uid":"c5e49757-8336"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-7798"},{"uid":"c5e49757-8236"},{"uid":"c5e49757-8350"},{"uid":"c5e49757-8290"}]},"c5e49757-7798":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseHandler.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7799"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7506"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7772"},{"uid":"c5e49757-7754"},{"uid":"c5e49757-7528"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7756"},{"uid":"c5e49757-7796"}],"importedBy":[{"uid":"c5e49757-7806"}]},"c5e49757-7800":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/event.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7801"},"imported":[{"uid":"c5e49757-7454"}],"importedBy":[{"uid":"c5e49757-7804"},{"uid":"c5e49757-8332"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-9194"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8336"},{"uid":"c5e49757-8258"},{"uid":"c5e49757-8236"},{"uid":"c5e49757-8350"},{"uid":"c5e49757-8326"}]},"c5e49757-7802":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaState.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7803"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-7804"},{"uid":"c5e49757-7832"}]},"c5e49757-7804":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaInput.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7805"},"imported":[{"uid":"c5e49757-7496"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7800"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-7726"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7598"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7802"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7722"},{"uid":"c5e49757-7562"}],"importedBy":[{"uid":"c5e49757-8768"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-7806"},{"uid":"c5e49757-7832"}]},"c5e49757-7806":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/controller/pointerHandler.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7807"},"imported":[{"uid":"c5e49757-7498"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-7486"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7798"},{"uid":"c5e49757-7804"},{"uid":"c5e49757-7754"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7808":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaHandler.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7809"},"imported":[],"importedBy":[{"uid":"c5e49757-7832"}]},"c5e49757-7810":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lineNumbers/lineNumbers.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7811"},"imported":[],"importedBy":[{"uid":"c5e49757-7818"}]},"c5e49757-7812":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/view/dynamicViewOverlay.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7813"},"imported":[{"uid":"c5e49757-7756"}],"importedBy":[{"uid":"c5e49757-7880"},{"uid":"c5e49757-7884"},{"uid":"c5e49757-7890"},{"uid":"c5e49757-7902"},{"uid":"c5e49757-7818"},{"uid":"c5e49757-7956"},{"uid":"c5e49757-7968"}]},"c5e49757-7814":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/theme/common/themeService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7815"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7554"},{"uid":"c5e49757-7764"}],"importedBy":[{"uid":"c5e49757-8096"},{"uid":"c5e49757-8730"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-8900"},{"uid":"c5e49757-9156"},{"uid":"c5e49757-9158"},{"uid":"c5e49757-8422"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-7976"},{"uid":"c5e49757-7816"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8828"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-8972"},{"uid":"c5e49757-8836"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9110"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-8118"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-9226"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-8100"},{"uid":"c5e49757-8122"},{"uid":"c5e49757-8178"},{"uid":"c5e49757-8306"},{"uid":"c5e49757-8412"},{"uid":"c5e49757-7880"},{"uid":"c5e49757-7886"},{"uid":"c5e49757-7902"},{"uid":"c5e49757-7818"},{"uid":"c5e49757-7956"},{"uid":"c5e49757-7962"},{"uid":"c5e49757-8018"},{"uid":"c5e49757-8934"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-9046"},{"uid":"c5e49757-8098"},{"uid":"c5e49757-8484"},{"uid":"c5e49757-8410"},{"uid":"c5e49757-8390"}]},"c5e49757-7816":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/editorColorRegistry.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7817"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-7814"}],"importedBy":[{"uid":"c5e49757-8096"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-9226"},{"uid":"c5e49757-8416"},{"uid":"c5e49757-8306"},{"uid":"c5e49757-7880"},{"uid":"c5e49757-7902"},{"uid":"c5e49757-7818"},{"uid":"c5e49757-7940"},{"uid":"c5e49757-7962"},{"uid":"c5e49757-7968"},{"uid":"c5e49757-8018"}]},"c5e49757-7818":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7819"},"imported":[{"uid":"c5e49757-7810"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7812"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7816"}],"importedBy":[{"uid":"c5e49757-7976"},{"uid":"c5e49757-7832"}]},"c5e49757-7820":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/margin/margin.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7821"},"imported":[],"importedBy":[{"uid":"c5e49757-7822"}]},"c5e49757-7822":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/margin/margin.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7823"},"imported":[{"uid":"c5e49757-7820"},{"uid":"c5e49757-7522"},{"uid":"c5e49757-7758"}],"importedBy":[{"uid":"c5e49757-7976"},{"uid":"c5e49757-7832"}]},"c5e49757-7824":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7825"},"imported":[],"importedBy":[{"uid":"c5e49757-7826"}]},"c5e49757-7826":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7827"},"imported":[{"uid":"c5e49757-7824"}],"importedBy":[{"uid":"c5e49757-7832"},{"uid":"c5e49757-7908"},{"uid":"c5e49757-7960"}]},"c5e49757-7828":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/ime.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7829"},"imported":[{"uid":"c5e49757-7454"}],"importedBy":[{"uid":"c5e49757-8192"},{"uid":"c5e49757-7832"}]},"c5e49757-7830":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/keybinding/common/keybinding.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7831"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9248"},{"uid":"c5e49757-8528"},{"uid":"c5e49757-8914"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-8900"},{"uid":"c5e49757-9222"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8790"},{"uid":"c5e49757-8904"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-8854"},{"uid":"c5e49757-8870"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-9244"},{"uid":"c5e49757-8376"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-8178"},{"uid":"c5e49757-8294"},{"uid":"c5e49757-7832"},{"uid":"c5e49757-8764"},{"uid":"c5e49757-8774"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-9122"},{"uid":"c5e49757-8848"},{"uid":"c5e49757-8488"},{"uid":"c5e49757-8168"},{"uid":"c5e49757-8794"}]},"c5e49757-7832":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaHandler.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7833"},"imported":[{"uid":"c5e49757-7808"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7496"},{"uid":"c5e49757-7522"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7524"},{"uid":"c5e49757-7804"},{"uid":"c5e49757-7802"},{"uid":"c5e49757-7758"},{"uid":"c5e49757-7818"},{"uid":"c5e49757-7822"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7628"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7826"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7828"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7834":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/indentation.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7835"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7768"}],"importedBy":[{"uid":"c5e49757-7836"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-9064"}]},"c5e49757-7836":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/cursorCommon.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7837"},"imported":[{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7574"},{"uid":"c5e49757-7768"},{"uid":"c5e49757-7834"}],"importedBy":[{"uid":"c5e49757-7862"},{"uid":"c5e49757-9204"},{"uid":"c5e49757-7838"},{"uid":"c5e49757-7844"},{"uid":"c5e49757-7848"},{"uid":"c5e49757-7858"},{"uid":"c5e49757-7846"},{"uid":"c5e49757-8088"},{"uid":"c5e49757-7842"},{"uid":"c5e49757-8072"},{"uid":"c5e49757-8064"},{"uid":"c5e49757-8062"}]},"c5e49757-7838":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorColumnSelection.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7839"},"imported":[{"uid":"c5e49757-7836"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-7862"}]},"c5e49757-7840":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/commands/replaceCommand.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7841"},"imported":[{"uid":"c5e49757-7470"}],"importedBy":[{"uid":"c5e49757-8736"},{"uid":"c5e49757-9094"},{"uid":"c5e49757-9204"},{"uid":"c5e49757-7844"},{"uid":"c5e49757-7858"},{"uid":"c5e49757-8942"}]},"c5e49757-7842":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorMoveOperations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7843"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7768"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7770"},{"uid":"c5e49757-7836"}],"importedBy":[{"uid":"c5e49757-8736"},{"uid":"c5e49757-7844"},{"uid":"c5e49757-7848"}]},"c5e49757-7844":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorDeleteOperations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7845"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7840"},{"uid":"c5e49757-7836"},{"uid":"c5e49757-7768"},{"uid":"c5e49757-7842"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7466"}],"importedBy":[{"uid":"c5e49757-7862"},{"uid":"c5e49757-7846"},{"uid":"c5e49757-8072"}]},"c5e49757-7846":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorWordOperations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7847"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7836"},{"uid":"c5e49757-7844"},{"uid":"c5e49757-7628"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-8096"},{"uid":"c5e49757-9204"},{"uid":"c5e49757-9206"},{"uid":"c5e49757-7848"}]},"c5e49757-7848":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorMoveCommands.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7849"},"imported":[{"uid":"c5e49757-7428"},{"uid":"c5e49757-7836"},{"uid":"c5e49757-7842"},{"uid":"c5e49757-7846"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-7862"},{"uid":"c5e49757-9084"},{"uid":"c5e49757-9112"}]},"c5e49757-7850":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/enterAction.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7851"},"imported":[{"uid":"c5e49757-7572"},{"uid":"c5e49757-7608"}],"importedBy":[{"uid":"c5e49757-7858"},{"uid":"c5e49757-7852"},{"uid":"c5e49757-9090"}]},"c5e49757-7852":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/commands/shiftCommand.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7853"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7768"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7850"},{"uid":"c5e49757-7608"}],"importedBy":[{"uid":"c5e49757-9066"},{"uid":"c5e49757-7858"},{"uid":"c5e49757-9064"},{"uid":"c5e49757-9090"}]},"c5e49757-7854":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/commands/surroundSelectionCommand.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7855"},"imported":[{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"}],"importedBy":[{"uid":"c5e49757-7858"}]},"c5e49757-7856":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/autoIndent.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7857"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7572"},{"uid":"c5e49757-7574"},{"uid":"c5e49757-7608"}],"importedBy":[{"uid":"c5e49757-9066"},{"uid":"c5e49757-7858"},{"uid":"c5e49757-9090"}]},"c5e49757-7858":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorTypeOperations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7859"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7840"},{"uid":"c5e49757-7852"},{"uid":"c5e49757-7854"},{"uid":"c5e49757-7836"},{"uid":"c5e49757-7628"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7572"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7574"},{"uid":"c5e49757-7856"},{"uid":"c5e49757-7850"}],"importedBy":[{"uid":"c5e49757-7862"},{"uid":"c5e49757-9094"},{"uid":"c5e49757-8072"}]},"c5e49757-7860":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/editorContextKeys.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7861"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7550"}],"importedBy":[{"uid":"c5e49757-9230"},{"uid":"c5e49757-9236"},{"uid":"c5e49757-9248"},{"uid":"c5e49757-7862"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8722"},{"uid":"c5e49757-8726"},{"uid":"c5e49757-8730"},{"uid":"c5e49757-8734"},{"uid":"c5e49757-8736"},{"uid":"c5e49757-8768"},{"uid":"c5e49757-8814"},{"uid":"c5e49757-8906"},{"uid":"c5e49757-8912"},{"uid":"c5e49757-8914"},{"uid":"c5e49757-8916"},{"uid":"c5e49757-8924"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8980"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-8888"},{"uid":"c5e49757-8900"},{"uid":"c5e49757-9066"},{"uid":"c5e49757-9082"},{"uid":"c5e49757-9084"},{"uid":"c5e49757-9094"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9112"},{"uid":"c5e49757-9140"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9162"},{"uid":"c5e49757-9014"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-9204"},{"uid":"c5e49757-9206"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-8720"},{"uid":"c5e49757-8802"},{"uid":"c5e49757-8904"},{"uid":"c5e49757-9056"},{"uid":"c5e49757-8870"},{"uid":"c5e49757-9126"},{"uid":"c5e49757-9178"},{"uid":"c5e49757-9176"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8522"}]},"c5e49757-7862":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/coreCommands.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7863"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7496"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7708"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7838"},{"uid":"c5e49757-7836"},{"uid":"c5e49757-7844"},{"uid":"c5e49757-7848"},{"uid":"c5e49757-7858"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7556"},{"uid":"c5e49757-7518"}],"importedBy":[{"uid":"c5e49757-9212"},{"uid":"c5e49757-9094"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-7864"}]},"c5e49757-7864":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/view/viewController.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7865"},"imported":[{"uid":"c5e49757-7862"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7434"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7866":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/view/viewLayer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7867"},"imported":[{"uid":"c5e49757-7522"},{"uid":"c5e49757-7568"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7580"}],"importedBy":[{"uid":"c5e49757-7868"},{"uid":"c5e49757-7908"},{"uid":"c5e49757-7934"}]},"c5e49757-7868":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/view/viewOverlays.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7869"},"imported":[{"uid":"c5e49757-7522"},{"uid":"c5e49757-7524"},{"uid":"c5e49757-7866"},{"uid":"c5e49757-7758"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7870":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/view/viewUserInputEvents.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7871"},"imported":[{"uid":"c5e49757-7466"}],"importedBy":[{"uid":"c5e49757-8096"},{"uid":"c5e49757-7976"}]},"c5e49757-7872":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/blockDecorations/blockDecorations.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7873"},"imported":[],"importedBy":[{"uid":"c5e49757-7874"}]},"c5e49757-7874":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7875"},"imported":[{"uid":"c5e49757-7522"},{"uid":"c5e49757-7872"},{"uid":"c5e49757-7758"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7876":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7877"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7522"},{"uid":"c5e49757-7758"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7878":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7879"},"imported":[],"importedBy":[{"uid":"c5e49757-7880"}]},"c5e49757-7880":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7881"},"imported":[{"uid":"c5e49757-7878"},{"uid":"c5e49757-7812"},{"uid":"c5e49757-7816"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7764"},{"uid":"c5e49757-7466"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7882":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/decorations/decorations.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7883"},"imported":[],"importedBy":[{"uid":"c5e49757-7884"}]},"c5e49757-7884":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/decorations/decorations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7885"},"imported":[{"uid":"c5e49757-7882"},{"uid":"c5e49757-7812"},{"uid":"c5e49757-7760"},{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7886":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7887"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7522"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-7758"},{"uid":"c5e49757-7814"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7888":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7889"},"imported":[],"importedBy":[{"uid":"c5e49757-7890"}]},"c5e49757-7890":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7891"},"imported":[{"uid":"c5e49757-7522"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7888"},{"uid":"c5e49757-7812"},{"uid":"c5e49757-7758"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7630"}],"importedBy":[{"uid":"c5e49757-7976"},{"uid":"c5e49757-7912"},{"uid":"c5e49757-7916"}]},"c5e49757-7892":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/indentGuides/indentGuides.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7893"},"imported":[],"importedBy":[{"uid":"c5e49757-7902"}]},"c5e49757-7894":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/textModelPart.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7895"},"imported":[{"uid":"c5e49757-7450"}],"importedBy":[{"uid":"c5e49757-7900"},{"uid":"c5e49757-8054"}]},"c5e49757-7896":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/utils.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7897"},"imported":[],"importedBy":[{"uid":"c5e49757-8790"},{"uid":"c5e49757-8970"},{"uid":"c5e49757-7900"}]},"c5e49757-7898":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/textModelGuides.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7899"},"imported":[],"importedBy":[{"uid":"c5e49757-7902"},{"uid":"c5e49757-7900"},{"uid":"c5e49757-8084"}]},"c5e49757-7900":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/guidesTextModelPart.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7901"},"imported":[{"uid":"c5e49757-7640"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7768"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7894"},{"uid":"c5e49757-7896"},{"uid":"c5e49757-7898"},{"uid":"c5e49757-7446"}],"importedBy":[{"uid":"c5e49757-8058"},{"uid":"c5e49757-7902"}]},"c5e49757-7902":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/indentGuides/indentGuides.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7903"},"imported":[{"uid":"c5e49757-7892"},{"uid":"c5e49757-7812"},{"uid":"c5e49757-7816"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7900"},{"uid":"c5e49757-7898"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7904":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/viewLines.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7905"},"imported":[],"importedBy":[{"uid":"c5e49757-7908"}]},"c5e49757-7906":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/domReadingContext.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7907"},"imported":[],"importedBy":[{"uid":"c5e49757-7908"}]},"c5e49757-7908":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/viewLines.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7909"},"imported":[{"uid":"c5e49757-7826"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7904"},{"uid":"c5e49757-7524"},{"uid":"c5e49757-7760"},{"uid":"c5e49757-7866"},{"uid":"c5e49757-7758"},{"uid":"c5e49757-7906"},{"uid":"c5e49757-7766"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7910":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/linesDecorations/linesDecorations.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7911"},"imported":[],"importedBy":[{"uid":"c5e49757-7912"}]},"c5e49757-7912":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7913"},"imported":[{"uid":"c5e49757-7910"},{"uid":"c5e49757-7890"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7914":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/marginDecorations/marginDecorations.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7915"},"imported":[],"importedBy":[{"uid":"c5e49757-7916"}]},"c5e49757-7916":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/marginDecorations/marginDecorations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7917"},"imported":[{"uid":"c5e49757-7914"},{"uid":"c5e49757-7890"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7918":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimap.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7919"},"imported":[],"importedBy":[{"uid":"c5e49757-7934"}]},"c5e49757-7920":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/rgba.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7921"},"imported":[],"importedBy":[{"uid":"c5e49757-7934"},{"uid":"c5e49757-7922"}]},"c5e49757-7922":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewModel/minimapTokensColorTracker.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7923"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7920"},{"uid":"c5e49757-7480"}],"importedBy":[{"uid":"c5e49757-8088"},{"uid":"c5e49757-7934"}]},"c5e49757-7924":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimapCharSheet.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7925"},"imported":[],"importedBy":[{"uid":"c5e49757-7930"},{"uid":"c5e49757-7926"}]},"c5e49757-7926":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimapCharRenderer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7927"},"imported":[{"uid":"c5e49757-7924"},{"uid":"c5e49757-7614"}],"importedBy":[{"uid":"c5e49757-7930"}]},"c5e49757-7928":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimapPreBaked.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7929"},"imported":[{"uid":"c5e49757-7448"}],"importedBy":[{"uid":"c5e49757-7930"}]},"c5e49757-7930":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimapCharRendererFactory.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7931"},"imported":[{"uid":"c5e49757-7926"},{"uid":"c5e49757-7924"},{"uid":"c5e49757-7928"},{"uid":"c5e49757-7614"}],"importedBy":[{"uid":"c5e49757-7934"}]},"c5e49757-7932":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/fonts.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7933"},"imported":[{"uid":"c5e49757-7434"}],"importedBy":[{"uid":"c5e49757-7934"}]},"c5e49757-7934":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimap.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7935"},"imported":[{"uid":"c5e49757-7918"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7522"},{"uid":"c5e49757-7728"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7866"},{"uid":"c5e49757-7758"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7920"},{"uid":"c5e49757-7922"},{"uid":"c5e49757-7698"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-7930"},{"uid":"c5e49757-7448"},{"uid":"c5e49757-7626"},{"uid":"c5e49757-7932"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7936":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7937"},"imported":[],"importedBy":[{"uid":"c5e49757-7938"}]},"c5e49757-7938":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7939"},"imported":[{"uid":"c5e49757-7936"},{"uid":"c5e49757-7522"},{"uid":"c5e49757-7758"},{"uid":"c5e49757-7518"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7940":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7941"},"imported":[{"uid":"c5e49757-7522"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7758"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7816"},{"uid":"c5e49757-7698"},{"uid":"c5e49757-7426"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7942":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewModel/overviewZoneManager.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7943"},"imported":[],"importedBy":[{"uid":"c5e49757-7944"},{"uid":"c5e49757-8484"}]},"c5e49757-7944":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7945"},"imported":[{"uid":"c5e49757-7522"},{"uid":"c5e49757-7942"},{"uid":"c5e49757-7756"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7946":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/rulers/rulers.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7947"},"imported":[],"importedBy":[{"uid":"c5e49757-7948"}]},"c5e49757-7948":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/rulers/rulers.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7949"},"imported":[{"uid":"c5e49757-7946"},{"uid":"c5e49757-7522"},{"uid":"c5e49757-7758"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7950":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7951"},"imported":[],"importedBy":[{"uid":"c5e49757-7952"}]},"c5e49757-7952":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7953"},"imported":[{"uid":"c5e49757-7950"},{"uid":"c5e49757-7522"},{"uid":"c5e49757-7758"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7954":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/selections/selections.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7955"},"imported":[],"importedBy":[{"uid":"c5e49757-7956"}]},"c5e49757-7956":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/selections/selections.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7957"},"imported":[{"uid":"c5e49757-7954"},{"uid":"c5e49757-7812"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-7814"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7958":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/viewCursors/viewCursors.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7959"},"imported":[],"importedBy":[{"uid":"c5e49757-7962"}]},"c5e49757-7960":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/viewCursors/viewCursor.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7961"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7522"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7524"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7826"}],"importedBy":[{"uid":"c5e49757-7962"}]},"c5e49757-7962":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/viewCursors/viewCursors.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7963"},"imported":[{"uid":"c5e49757-7958"},{"uid":"c5e49757-7522"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7758"},{"uid":"c5e49757-7960"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7816"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7764"},{"uid":"c5e49757-7518"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7964":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/viewZones/viewZones.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7965"},"imported":[{"uid":"c5e49757-7522"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7758"},{"uid":"c5e49757-7466"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7966":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/whitespace/whitespace.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7967"},"imported":[],"importedBy":[{"uid":"c5e49757-7968"}]},"c5e49757-7968":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/viewParts/whitespace/whitespace.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7969"},"imported":[{"uid":"c5e49757-7966"},{"uid":"c5e49757-7812"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7696"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7816"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7970":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewLayout/viewLinesViewportData.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7971"},"imported":[{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7972":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/editorTheme.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7973"},"imported":[],"importedBy":[{"uid":"c5e49757-7974"}]},"c5e49757-7974":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewModel/viewContext.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7975"},"imported":[{"uid":"c5e49757-7972"}],"importedBy":[{"uid":"c5e49757-7976"}]},"c5e49757-7976":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/view.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7977"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7522"},{"uid":"c5e49757-7726"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7772"},{"uid":"c5e49757-7806"},{"uid":"c5e49757-7832"},{"uid":"c5e49757-7760"},{"uid":"c5e49757-7864"},{"uid":"c5e49757-7868"},{"uid":"c5e49757-7758"},{"uid":"c5e49757-7870"},{"uid":"c5e49757-7874"},{"uid":"c5e49757-7876"},{"uid":"c5e49757-7880"},{"uid":"c5e49757-7884"},{"uid":"c5e49757-7886"},{"uid":"c5e49757-7890"},{"uid":"c5e49757-7902"},{"uid":"c5e49757-7818"},{"uid":"c5e49757-7908"},{"uid":"c5e49757-7912"},{"uid":"c5e49757-7822"},{"uid":"c5e49757-7916"},{"uid":"c5e49757-7934"},{"uid":"c5e49757-7938"},{"uid":"c5e49757-7940"},{"uid":"c5e49757-7944"},{"uid":"c5e49757-7948"},{"uid":"c5e49757-7952"},{"uid":"c5e49757-7956"},{"uid":"c5e49757-7962"},{"uid":"c5e49757-7964"},{"uid":"c5e49757-7968"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-7756"},{"uid":"c5e49757-7970"},{"uid":"c5e49757-7974"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7814"}],"importedBy":[{"uid":"c5e49757-8096"}]},"c5e49757-7978":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/modelLineProjectionData.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7979"},"imported":[{"uid":"c5e49757-7552"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7630"}],"importedBy":[{"uid":"c5e49757-7982"},{"uid":"c5e49757-8060"}]},"c5e49757-7980":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/textModelEvents.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7981"},"imported":[],"importedBy":[{"uid":"c5e49757-7982"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8060"},{"uid":"c5e49757-8088"},{"uid":"c5e49757-8072"},{"uid":"c5e49757-8084"},{"uid":"c5e49757-8082"}]},"c5e49757-7982":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/view/domLineBreaksComputer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7983"},"imported":[{"uid":"c5e49757-7568"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7524"},{"uid":"c5e49757-7580"},{"uid":"c5e49757-7978"},{"uid":"c5e49757-7980"}],"importedBy":[{"uid":"c5e49757-8096"}]},"c5e49757-7984":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/codeEditor/codeEditorContributions.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7985"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7450"}],"importedBy":[{"uid":"c5e49757-8096"}]},"c5e49757-7986":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/editorAction.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7987"},"imported":[],"importedBy":[{"uid":"c5e49757-8096"},{"uid":"c5e49757-8514"}]},"c5e49757-7988":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/eolCounter.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7989"},"imported":[],"importedBy":[{"uid":"c5e49757-8058"},{"uid":"c5e49757-8968"},{"uid":"c5e49757-8036"},{"uid":"c5e49757-8054"},{"uid":"c5e49757-8116"},{"uid":"c5e49757-8046"}]},"c5e49757-7990":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/textModelBracketPairs.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7991"},"imported":[],"importedBy":[{"uid":"c5e49757-8014"}]},"c5e49757-7992":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/textLength.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7993"},"imported":[{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-8458"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-8500"},{"uid":"c5e49757-9000"},{"uid":"c5e49757-8502"},{"uid":"c5e49757-7994"},{"uid":"c5e49757-8498"}]},"c5e49757-7994":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7995"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7992"}],"importedBy":[{"uid":"c5e49757-8014"},{"uid":"c5e49757-7996"},{"uid":"c5e49757-8012"},{"uid":"c5e49757-8004"},{"uid":"c5e49757-8010"},{"uid":"c5e49757-8002"},{"uid":"c5e49757-8000"},{"uid":"c5e49757-8008"},{"uid":"c5e49757-8996"}]},"c5e49757-7996":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/beforeEditPositionMapper.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7997"},"imported":[{"uid":"c5e49757-7468"},{"uid":"c5e49757-7994"}],"importedBy":[{"uid":"c5e49757-8474"},{"uid":"c5e49757-8014"},{"uid":"c5e49757-8012"},{"uid":"c5e49757-8010"}]},"c5e49757-7998":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-7999"},"imported":[],"importedBy":[{"uid":"c5e49757-8014"},{"uid":"c5e49757-8004"},{"uid":"c5e49757-8010"},{"uid":"c5e49757-8002"},{"uid":"c5e49757-8000"},{"uid":"c5e49757-8996"}]},"c5e49757-8000":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/ast.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8001"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-7768"},{"uid":"c5e49757-7994"},{"uid":"c5e49757-7998"}],"importedBy":[{"uid":"c5e49757-8004"},{"uid":"c5e49757-8010"},{"uid":"c5e49757-8002"},{"uid":"c5e49757-8006"}]},"c5e49757-8002":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/tokenizer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8003"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-7688"},{"uid":"c5e49757-8000"},{"uid":"c5e49757-7994"},{"uid":"c5e49757-7998"}],"importedBy":[{"uid":"c5e49757-8014"},{"uid":"c5e49757-8004"},{"uid":"c5e49757-8996"}]},"c5e49757-8004":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/brackets.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8005"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-8000"},{"uid":"c5e49757-7994"},{"uid":"c5e49757-7998"},{"uid":"c5e49757-8002"}],"importedBy":[{"uid":"c5e49757-8014"},{"uid":"c5e49757-8996"}]},"c5e49757-8006":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/concat23Trees.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8007"},"imported":[{"uid":"c5e49757-8000"}],"importedBy":[{"uid":"c5e49757-8010"}]},"c5e49757-8008":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/nodeReader.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8009"},"imported":[{"uid":"c5e49757-7994"}],"importedBy":[{"uid":"c5e49757-8010"}]},"c5e49757-8010":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/parser.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8011"},"imported":[{"uid":"c5e49757-8000"},{"uid":"c5e49757-7996"},{"uid":"c5e49757-7998"},{"uid":"c5e49757-7994"},{"uid":"c5e49757-8006"},{"uid":"c5e49757-8008"}],"importedBy":[{"uid":"c5e49757-8014"},{"uid":"c5e49757-8996"}]},"c5e49757-8012":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/combineTextEditInfos.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8013"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7996"},{"uid":"c5e49757-7994"}],"importedBy":[{"uid":"c5e49757-8474"},{"uid":"c5e49757-8014"}]},"c5e49757-8014":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8015"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7990"},{"uid":"c5e49757-7996"},{"uid":"c5e49757-8004"},{"uid":"c5e49757-7994"},{"uid":"c5e49757-8010"},{"uid":"c5e49757-7998"},{"uid":"c5e49757-8002"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-8012"}],"importedBy":[{"uid":"c5e49757-8016"}]},"c5e49757-8016":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8017"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7574"},{"uid":"c5e49757-7582"},{"uid":"c5e49757-8014"}],"importedBy":[{"uid":"c5e49757-8058"}]},"c5e49757-8018":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/colorizedBracketPairsDecorationProvider.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8019"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7816"},{"uid":"c5e49757-7814"}],"importedBy":[{"uid":"c5e49757-8058"}]},"c5e49757-8020":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/textChange.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8021"},"imported":[{"uid":"c5e49757-7578"},{"uid":"c5e49757-7580"}],"importedBy":[{"uid":"c5e49757-8026"},{"uid":"c5e49757-8036"}]},"c5e49757-8022":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/extpath.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8023"},"imported":[{"uid":"c5e49757-7462"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7492"}],"importedBy":[{"uid":"c5e49757-8024"},{"uid":"c5e49757-8124"},{"uid":"c5e49757-9008"}]},"c5e49757-8024":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/resources.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8025"},"imported":[{"uid":"c5e49757-8022"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-7462"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7464"}],"importedBy":[{"uid":"c5e49757-9104"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9200"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-8748"},{"uid":"c5e49757-8844"},{"uid":"c5e49757-8854"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-8890"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-8298"},{"uid":"c5e49757-8026"},{"uid":"c5e49757-8798"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-9010"},{"uid":"c5e49757-8848"},{"uid":"c5e49757-9044"},{"uid":"c5e49757-8214"}]},"c5e49757-8026":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/editStack.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8027"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-8020"},{"uid":"c5e49757-7578"},{"uid":"c5e49757-8024"}],"importedBy":[{"uid":"c5e49757-8058"},{"uid":"c5e49757-8308"}]},"c5e49757-8028":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/indentationGuesser.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8029"},"imported":[],"importedBy":[{"uid":"c5e49757-8058"}]},"c5e49757-8030":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/intervalTree.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8031"},"imported":[],"importedBy":[{"uid":"c5e49757-8058"}]},"c5e49757-8032":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/pieceTreeTextBuffer/rbTreeBase.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8033"},"imported":[],"importedBy":[{"uid":"c5e49757-8034"}]},"c5e49757-8034":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8035"},"imported":[{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-8032"},{"uid":"c5e49757-7632"}],"importedBy":[{"uid":"c5e49757-8036"},{"uid":"c5e49757-8038"}]},"c5e49757-8036":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8037"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-8034"},{"uid":"c5e49757-7988"},{"uid":"c5e49757-8020"},{"uid":"c5e49757-7450"}],"importedBy":[{"uid":"c5e49757-8058"},{"uid":"c5e49757-8038"}]},"c5e49757-8038":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBufferBuilder.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8039"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-8034"},{"uid":"c5e49757-8036"}],"importedBy":[{"uid":"c5e49757-8058"}]},"c5e49757-8040":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/fixedArray.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8041"},"imported":[{"uid":"c5e49757-7426"}],"importedBy":[{"uid":"c5e49757-8046"}]},"c5e49757-8042":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/tokens/contiguousMultilineTokens.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8043"},"imported":[],"importedBy":[{"uid":"c5e49757-8044"}]},"c5e49757-8044":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/tokens/contiguousMultilineTokensBuilder.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8045"},"imported":[{"uid":"c5e49757-8042"}],"importedBy":[{"uid":"c5e49757-8054"},{"uid":"c5e49757-8046"}]},"c5e49757-8046":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/textModelTokens.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8047"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7452"},{"uid":"c5e49757-7988"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-7638"},{"uid":"c5e49757-7686"},{"uid":"c5e49757-8040"},{"uid":"c5e49757-8044"},{"uid":"c5e49757-7690"}],"importedBy":[{"uid":"c5e49757-8054"}]},"c5e49757-8048":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/tokens/contiguousTokensEditing.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8049"},"imported":[{"uid":"c5e49757-7690"}],"importedBy":[{"uid":"c5e49757-8050"}]},"c5e49757-8050":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/tokens/contiguousTokensStore.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8051"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-8048"},{"uid":"c5e49757-7690"},{"uid":"c5e49757-7688"}],"importedBy":[{"uid":"c5e49757-8054"}]},"c5e49757-8052":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/tokens/sparseTokensStore.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8053"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7690"}],"importedBy":[{"uid":"c5e49757-8054"}]},"c5e49757-8054":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/tokenizationTextModelPart.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8055"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7988"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7442"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7894"},{"uid":"c5e49757-8046"},{"uid":"c5e49757-8044"},{"uid":"c5e49757-8050"},{"uid":"c5e49757-8052"}],"importedBy":[{"uid":"c5e49757-8058"}]},"c5e49757-8056":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/undoRedo/common/undoRedo.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8057"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-8058"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-8108"},{"uid":"c5e49757-8308"}]},"c5e49757-8058":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/textModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8059"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7988"},{"uid":"c5e49757-7834"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7436"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-8016"},{"uid":"c5e49757-8018"},{"uid":"c5e49757-8026"},{"uid":"c5e49757-7900"},{"uid":"c5e49757-8028"},{"uid":"c5e49757-8030"},{"uid":"c5e49757-8036"},{"uid":"c5e49757-8038"},{"uid":"c5e49757-7632"},{"uid":"c5e49757-8054"},{"uid":"c5e49757-7980"},{"uid":"c5e49757-8056"}],"importedBy":[{"uid":"c5e49757-8096"},{"uid":"c5e49757-8730"},{"uid":"c5e49757-8922"},{"uid":"c5e49757-8756"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-9082"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9148"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-8466"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8812"},{"uid":"c5e49757-8820"},{"uid":"c5e49757-8972"},{"uid":"c5e49757-8870"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9074"},{"uid":"c5e49757-9110"},{"uid":"c5e49757-9012"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-8308"},{"uid":"c5e49757-8084"},{"uid":"c5e49757-8934"},{"uid":"c5e49757-8840"}]},"c5e49757-8060":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewModel/monospaceLineBreaksComputer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8061"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7620"},{"uid":"c5e49757-7980"},{"uid":"c5e49757-7978"}],"importedBy":[{"uid":"c5e49757-8096"}]},"c5e49757-8062":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/cursor/oneCursor.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8063"},"imported":[{"uid":"c5e49757-7836"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"}],"importedBy":[{"uid":"c5e49757-8064"}]},"c5e49757-8064":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorCollection.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8065"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7640"},{"uid":"c5e49757-7836"},{"uid":"c5e49757-8062"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"}],"importedBy":[{"uid":"c5e49757-8072"}]},"c5e49757-8066":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorContext.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8067"},"imported":[],"importedBy":[{"uid":"c5e49757-8072"}]},"c5e49757-8068":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewEvents.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8069"},"imported":[],"importedBy":[{"uid":"c5e49757-8088"},{"uid":"c5e49757-8072"},{"uid":"c5e49757-8084"}]},"c5e49757-8070":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewModelEventDispatcher.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8071"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"}],"importedBy":[{"uid":"c5e49757-8088"},{"uid":"c5e49757-8072"},{"uid":"c5e49757-8078"}]},"c5e49757-8072":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/cursor/cursor.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8073"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-8064"},{"uid":"c5e49757-7836"},{"uid":"c5e49757-8066"},{"uid":"c5e49757-7844"},{"uid":"c5e49757-7858"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7980"},{"uid":"c5e49757-8068"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8070"}],"importedBy":[{"uid":"c5e49757-8088"}]},"c5e49757-8074":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/textToHtmlTokenizer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8075"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7690"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7686"}],"importedBy":[{"uid":"c5e49757-8088"},{"uid":"c5e49757-8166"}]},"c5e49757-8076":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewLayout/linesLayout.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8077"},"imported":[{"uid":"c5e49757-7492"}],"importedBy":[{"uid":"c5e49757-8078"}]},"c5e49757-8078":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewLayout/viewLayout.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8079"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7792"},{"uid":"c5e49757-8076"},{"uid":"c5e49757-7698"},{"uid":"c5e49757-8070"}],"importedBy":[{"uid":"c5e49757-8088"}]},"c5e49757-8080":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewModel/viewModelDecorations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8081"},"imported":[{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7698"},{"uid":"c5e49757-7444"}],"importedBy":[{"uid":"c5e49757-9198"},{"uid":"c5e49757-8088"}]},"c5e49757-8082":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewModel/modelLineProjection.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8083"},"imported":[{"uid":"c5e49757-7690"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7980"},{"uid":"c5e49757-7698"}],"importedBy":[{"uid":"c5e49757-8084"}]},"c5e49757-8084":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewModel/viewModelLines.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8085"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7898"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-7980"},{"uid":"c5e49757-8068"},{"uid":"c5e49757-8082"},{"uid":"c5e49757-7616"},{"uid":"c5e49757-7698"}],"importedBy":[{"uid":"c5e49757-8088"}]},"c5e49757-8086":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewModel/glyphLanesModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8087"},"imported":[{"uid":"c5e49757-7630"}],"importedBy":[{"uid":"c5e49757-8088"}]},"c5e49757-8088":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/viewModel/viewModelImpl.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8089"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-8072"},{"uid":"c5e49757-7836"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7980"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7604"},{"uid":"c5e49757-8074"},{"uid":"c5e49757-8068"},{"uid":"c5e49757-8078"},{"uid":"c5e49757-7922"},{"uid":"c5e49757-7698"},{"uid":"c5e49757-8080"},{"uid":"c5e49757-8070"},{"uid":"c5e49757-8084"},{"uid":"c5e49757-8086"}],"importedBy":[{"uid":"c5e49757-8096"}]},"c5e49757-8090":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/instantiation/common/serviceCollection.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8091"},"imported":[],"importedBy":[{"uid":"c5e49757-8096"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8438"},{"uid":"c5e49757-8522"}]},"c5e49757-8092":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/severity.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8093"},"imported":[{"uid":"c5e49757-7492"}],"importedBy":[{"uid":"c5e49757-8094"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8302"},{"uid":"c5e49757-8108"},{"uid":"c5e49757-8884"},{"uid":"c5e49757-8392"},{"uid":"c5e49757-8408"},{"uid":"c5e49757-8406"}]},"c5e49757-8094":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/notification/common/notification.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8095"},"imported":[{"uid":"c5e49757-8092"},{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9250"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8814"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8836"},{"uid":"c5e49757-8854"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-8108"},{"uid":"c5e49757-8294"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-9070"}]},"c5e49757-8096":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8097"},"imported":[{"uid":"c5e49757-7712"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-7714"},{"uid":"c5e49757-7524"},{"uid":"c5e49757-7724"},{"uid":"c5e49757-7720"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7976"},{"uid":"c5e49757-7982"},{"uid":"c5e49757-7870"},{"uid":"c5e49757-7984"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7768"},{"uid":"c5e49757-7816"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7846"},{"uid":"c5e49757-7986"},{"uid":"c5e49757-7684"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8060"},{"uid":"c5e49757-8088"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7722"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8090"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-7814"}],"importedBy":[{"uid":"c5e49757-9212"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8836"},{"uid":"c5e49757-8512"}]},"c5e49757-8098":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/services/abstractCodeEditorService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8099"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7440"},{"uid":"c5e49757-7814"}],"importedBy":[{"uid":"c5e49757-8100"}]},"c5e49757-8100":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneCodeEditorService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8101"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-8098"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7596"},{"uid":"c5e49757-7814"}],"importedBy":[{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"}]},"c5e49757-8102":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/layout/browser/layoutService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8103"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-8450"},{"uid":"c5e49757-8104"},{"uid":"c5e49757-8178"},{"uid":"c5e49757-8176"},{"uid":"c5e49757-8426"},{"uid":"c5e49757-8430"},{"uid":"c5e49757-8410"},{"uid":"c5e49757-8408"}]},"c5e49757-8104":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneLayoutService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8105"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7486"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7596"},{"uid":"c5e49757-8102"}],"importedBy":[{"uid":"c5e49757-8450"},{"uid":"c5e49757-8412"}]},"c5e49757-8106":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/dialogs/common/dialogs.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8107"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9248"},{"uid":"c5e49757-9200"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-9244"},{"uid":"c5e49757-8108"}]},"c5e49757-8108":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/undoRedo/common/undoRedoService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8109"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-8092"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8106"},{"uid":"c5e49757-7596"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-8056"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8110":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/numbers.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8111"},"imported":[],"importedBy":[{"uid":"c5e49757-8114"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8336"},{"uid":"c5e49757-8236"}]},"c5e49757-8112":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/environment/common/environment.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8113"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-8450"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-9032"}]},"c5e49757-8114":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8115"},"imported":[{"uid":"c5e49757-7516"},{"uid":"c5e49757-7626"},{"uid":"c5e49757-8110"},{"uid":"c5e49757-8112"},{"uid":"c5e49757-7596"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7562"},{"uid":"c5e49757-7514"}],"importedBy":[{"uid":"c5e49757-8814"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9156"},{"uid":"c5e49757-9158"},{"uid":"c5e49757-8982"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8820"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9176"}]},"c5e49757-8116":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/tokens/sparseMultilineTokens.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8117"},"imported":[{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7988"}],"importedBy":[{"uid":"c5e49757-8118"}]},"c5e49757-8118":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8119"},"imported":[{"uid":"c5e49757-7688"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7562"},{"uid":"c5e49757-8116"},{"uid":"c5e49757-7592"}],"importedBy":[{"uid":"c5e49757-9156"},{"uid":"c5e49757-9158"},{"uid":"c5e49757-8122"}]},"c5e49757-8120":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/semanticTokensStyling.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8121"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9156"},{"uid":"c5e49757-9158"},{"uid":"c5e49757-8122"}]},"c5e49757-8122":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8123"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7562"},{"uid":"c5e49757-8118"},{"uid":"c5e49757-8120"},{"uid":"c5e49757-7596"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8124":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/glob.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8125"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-8022"},{"uid":"c5e49757-7626"},{"uid":"c5e49757-7462"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7492"}],"importedBy":[{"uid":"c5e49757-8126"},{"uid":"c5e49757-8214"}]},"c5e49757-8126":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languageSelector.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8127"},"imported":[{"uid":"c5e49757-8124"},{"uid":"c5e49757-7462"}],"importedBy":[{"uid":"c5e49757-9202"},{"uid":"c5e49757-8128"}]},"c5e49757-8128":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languageFeatureRegistry.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8129"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-8126"}],"importedBy":[{"uid":"c5e49757-8130"}]},"c5e49757-8130":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/languageFeaturesService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8131"},"imported":[{"uid":"c5e49757-8128"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7596"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8132":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/hover/browser/hover.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8133"},"imported":[{"uid":"c5e49757-7534"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7518"}],"importedBy":[{"uid":"c5e49757-8514"},{"uid":"c5e49757-8178"},{"uid":"c5e49757-8510"},{"uid":"c5e49757-8392"}]},"c5e49757-8134":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/contextview/browser/contextView.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8135"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-8914"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9176"},{"uid":"c5e49757-8376"},{"uid":"c5e49757-8178"},{"uid":"c5e49757-8294"},{"uid":"c5e49757-8764"},{"uid":"c5e49757-8796"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-9070"},{"uid":"c5e49757-9122"},{"uid":"c5e49757-8480"},{"uid":"c5e49757-8794"}]},"c5e49757-8136":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/services/hoverService/hover.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8137"},"imported":[],"importedBy":[{"uid":"c5e49757-8168"}]},"c5e49757-8138":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hoverWidget.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8139"},"imported":[],"importedBy":[{"uid":"c5e49757-8140"}]},"c5e49757-8140":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hoverWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8141"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8138"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8870"},{"uid":"c5e49757-8872"},{"uid":"c5e49757-8168"}]},"c5e49757-8142":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/opener/common/opener.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8143"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-8528"},{"uid":"c5e49757-8900"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-9058"},{"uid":"c5e49757-8760"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-8876"},{"uid":"c5e49757-8890"},{"uid":"c5e49757-9074"},{"uid":"c5e49757-9138"},{"uid":"c5e49757-8298"},{"uid":"c5e49757-8166"},{"uid":"c5e49757-9194"},{"uid":"c5e49757-8168"},{"uid":"c5e49757-8410"}]},"c5e49757-8144":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/formattedTextRenderer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8145"},"imported":[{"uid":"c5e49757-7518"}],"importedBy":[{"uid":"c5e49757-8162"},{"uid":"c5e49757-8350"}]},"c5e49757-8146":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8147"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7544"}],"importedBy":[{"uid":"c5e49757-8812"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-8486"},{"uid":"c5e49757-8396"},{"uid":"c5e49757-8380"},{"uid":"c5e49757-8326"}]},"c5e49757-8148":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/naturalLanguage/korean.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8149"},"imported":[],"importedBy":[{"uid":"c5e49757-8150"}]},"c5e49757-8150":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/filters.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8151"},"imported":[{"uid":"c5e49757-7626"},{"uid":"c5e49757-8148"},{"uid":"c5e49757-7492"}],"importedBy":[{"uid":"c5e49757-9182"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-9030"},{"uid":"c5e49757-9232"},{"uid":"c5e49757-8152"},{"uid":"c5e49757-9244"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-9046"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8848"},{"uid":"c5e49757-9002"}]},"c5e49757-8152":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/iconLabels.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8153"},"imported":[{"uid":"c5e49757-8150"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7544"}],"importedBy":[{"uid":"c5e49757-9246"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-8290"},{"uid":"c5e49757-8390"}]},"c5e49757-8154":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/htmlContent.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8155"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-8152"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7464"}],"importedBy":[{"uid":"c5e49757-8726"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-9208"},{"uid":"c5e49757-9058"},{"uid":"c5e49757-8760"},{"uid":"c5e49757-8872"},{"uid":"c5e49757-8876"},{"uid":"c5e49757-9074"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-9040"},{"uid":"c5e49757-8168"},{"uid":"c5e49757-8396"}]},"c5e49757-8156":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/idGenerator.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8157"},"imported":[],"importedBy":[{"uid":"c5e49757-8844"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-8840"},{"uid":"c5e49757-8326"}]},"c5e49757-8158":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/marked/marked.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8159"},"imported":[],"importedBy":[{"uid":"c5e49757-8162"}]},"c5e49757-8160":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/marshalling.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8161"},"imported":[{"uid":"c5e49757-7578"},{"uid":"c5e49757-7464"}],"importedBy":[{"uid":"c5e49757-8280"},{"uid":"c5e49757-8298"},{"uid":"c5e49757-8162"}]},"c5e49757-8162":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/markdownRenderer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8163"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7512"},{"uid":"c5e49757-7800"},{"uid":"c5e49757-8144"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-7506"},{"uid":"c5e49757-8146"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-8152"},{"uid":"c5e49757-8156"},{"uid":"c5e49757-7490"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8158"},{"uid":"c5e49757-8160"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-7430"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7464"}],"importedBy":[{"uid":"c5e49757-8760"},{"uid":"c5e49757-8166"},{"uid":"c5e49757-8396"},{"uid":"c5e49757-8258"}]},"c5e49757-8164":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/markdownRenderer/browser/renderedMarkdown.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8165"},"imported":[],"importedBy":[{"uid":"c5e49757-8166"}]},"c5e49757-8166":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8167"},"imported":[{"uid":"c5e49757-8162"},{"uid":"c5e49757-7568"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8164"},{"uid":"c5e49757-7524"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-7604"},{"uid":"c5e49757-8074"},{"uid":"c5e49757-8142"}],"importedBy":[{"uid":"c5e49757-9058"},{"uid":"c5e49757-8760"},{"uid":"c5e49757-8872"},{"uid":"c5e49757-8876"},{"uid":"c5e49757-9138"},{"uid":"c5e49757-9196"},{"uid":"c5e49757-9040"},{"uid":"c5e49757-8168"}]},"c5e49757-8168":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/services/hoverService/hoverWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8169"},"imported":[{"uid":"c5e49757-8136"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-8140"},{"uid":"c5e49757-7778"},{"uid":"c5e49757-8142"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8166"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7722"},{"uid":"c5e49757-7708"}],"importedBy":[{"uid":"c5e49757-8178"}]},"c5e49757-8170":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/range.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8171"},"imported":[],"importedBy":[{"uid":"c5e49757-8174"},{"uid":"c5e49757-8236"},{"uid":"c5e49757-8382"},{"uid":"c5e49757-8232"}]},"c5e49757-8172":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8173"},"imported":[],"importedBy":[{"uid":"c5e49757-8174"}]},"c5e49757-8174":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8175"},"imported":[{"uid":"c5e49757-7498"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-8170"},{"uid":"c5e49757-8172"}],"importedBy":[{"uid":"c5e49757-8176"},{"uid":"c5e49757-8290"}]},"c5e49757-8176":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/contextview/browser/contextViewService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8177"},"imported":[{"uid":"c5e49757-8174"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8102"},{"uid":"c5e49757-7518"}],"importedBy":[{"uid":"c5e49757-8450"},{"uid":"c5e49757-8178"}]},"c5e49757-8178":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/services/hoverService/hoverService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8179"},"imported":[{"uid":"c5e49757-7596"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-8132"},{"uid":"c5e49757-8134"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8168"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-7722"},{"uid":"c5e49757-8102"},{"uid":"c5e49757-7486"},{"uid":"c5e49757-8176"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8180":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/services/bulkEditService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8181"},"imported":[{"uid":"c5e49757-7534"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7428"}],"importedBy":[{"uid":"c5e49757-9146"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8752"},{"uid":"c5e49757-8764"},{"uid":"c5e49757-8772"}]},"c5e49757-8182":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/config/diffEditor.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8183"},"imported":[],"importedBy":[{"uid":"c5e49757-8184"},{"uid":"c5e49757-8492"}]},"c5e49757-8184":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/config/editorConfigurationSchema.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8185"},"imported":[{"uid":"c5e49757-8182"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7436"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7602"},{"uid":"c5e49757-7554"}],"importedBy":[{"uid":"c5e49757-8804"},{"uid":"c5e49757-8932"},{"uid":"c5e49757-8450"}]},"c5e49757-8186":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/editOperation.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8187"},"imported":[{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-9094"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8540"},{"uid":"c5e49757-8908"},{"uid":"c5e49757-8910"},{"uid":"c5e49757-9064"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9086"},{"uid":"c5e49757-9092"},{"uid":"c5e49757-9124"},{"uid":"c5e49757-9012"},{"uid":"c5e49757-9016"}]},"c5e49757-8188":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/configuration/common/configurationModels.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8189"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7626"},{"uid":"c5e49757-7430"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7602"},{"uid":"c5e49757-7554"}],"importedBy":[{"uid":"c5e49757-8450"},{"uid":"c5e49757-8442"}]},"c5e49757-8190":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/keybinding/common/keybindingResolver.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8191"},"imported":[{"uid":"c5e49757-7550"}],"importedBy":[{"uid":"c5e49757-8450"},{"uid":"c5e49757-8192"}]},"c5e49757-8192":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/keybinding/common/abstractKeybindingService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8193"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7828"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8190"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8194":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/keybinding/common/resolvedKeybindingItem.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8195"},"imported":[],"importedBy":[{"uid":"c5e49757-8450"},{"uid":"c5e49757-8200"}]},"c5e49757-8196":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/keybindingLabels.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8197"},"imported":[{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8286"},{"uid":"c5e49757-8386"},{"uid":"c5e49757-8198"}]},"c5e49757-8198":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/keybinding/common/baseResolvedKeybinding.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8199"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-8196"},{"uid":"c5e49757-7500"}],"importedBy":[{"uid":"c5e49757-8200"}]},"c5e49757-8200":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/keybinding/common/usLayoutResolvedKeybinding.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8201"},"imported":[{"uid":"c5e49757-7458"},{"uid":"c5e49757-7500"},{"uid":"c5e49757-8198"},{"uid":"c5e49757-8194"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8202":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/label/common/label.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8203"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-8450"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-9012"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-8848"}]},"c5e49757-8204":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/progress/common/progress.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8205"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-8980"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8890"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8798"}]},"c5e49757-8206":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/ternarySearchTree.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8207"},"imported":[{"uid":"c5e49757-7492"}],"importedBy":[{"uid":"c5e49757-8208"},{"uid":"c5e49757-9018"},{"uid":"c5e49757-8434"}]},"c5e49757-8208":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/workspace/common/workspace.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8209"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7462"},{"uid":"c5e49757-8206"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-8914"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8748"},{"uid":"c5e49757-9012"},{"uid":"c5e49757-9010"}]},"c5e49757-8210":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/standaloneStrings.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8211"},"imported":[{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-9212"},{"uid":"c5e49757-9220"},{"uid":"c5e49757-9224"},{"uid":"c5e49757-9230"},{"uid":"c5e49757-9236"},{"uid":"c5e49757-9248"},{"uid":"c5e49757-9252"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"}]},"c5e49757-8212":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/workspace/common/workspaceTrust.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8213"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9198"},{"uid":"c5e49757-8450"}]},"c5e49757-8214":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/languagesAssociations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8215"},"imported":[{"uid":"c5e49757-8124"},{"uid":"c5e49757-7598"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-7462"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7604"}],"importedBy":[{"uid":"c5e49757-8216"}]},"c5e49757-8216":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/languagesRegistry.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8217"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-8214"},{"uid":"c5e49757-7604"},{"uid":"c5e49757-7602"},{"uid":"c5e49757-7554"}],"importedBy":[{"uid":"c5e49757-8218"}]},"c5e49757-8218":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/languageService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8219"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8216"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7604"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8220":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/dnd.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8221"},"imported":[{"uid":"c5e49757-7598"}],"importedBy":[{"uid":"c5e49757-8268"},{"uid":"c5e49757-8746"},{"uid":"c5e49757-8236"}]},"c5e49757-8222":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hoverDelegateFactory.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8223"},"imported":[{"uid":"c5e49757-7490"}],"importedBy":[{"uid":"c5e49757-8514"},{"uid":"c5e49757-8268"},{"uid":"c5e49757-8946"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-8342"},{"uid":"c5e49757-8320"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-8386"},{"uid":"c5e49757-9194"},{"uid":"c5e49757-8340"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8396"},{"uid":"c5e49757-8258"},{"uid":"c5e49757-8354"},{"uid":"c5e49757-8952"},{"uid":"c5e49757-8274"},{"uid":"c5e49757-8506"},{"uid":"c5e49757-8382"},{"uid":"c5e49757-8350"},{"uid":"c5e49757-8380"}]},"c5e49757-8224":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/hover/updatableHoverWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8225"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-8152"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8268"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-8320"},{"uid":"c5e49757-8386"},{"uid":"c5e49757-9194"},{"uid":"c5e49757-8340"},{"uid":"c5e49757-8396"},{"uid":"c5e49757-8258"},{"uid":"c5e49757-8274"},{"uid":"c5e49757-8382"},{"uid":"c5e49757-8350"},{"uid":"c5e49757-8380"}]},"c5e49757-8226":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/list/splice.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8227"},"imported":[],"importedBy":[{"uid":"c5e49757-8254"}]},"c5e49757-8228":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8229"},"imported":[],"importedBy":[{"uid":"c5e49757-8254"},{"uid":"c5e49757-8328"}]},"c5e49757-8230":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8231"},"imported":[],"importedBy":[{"uid":"c5e49757-8254"}]},"c5e49757-8232":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/list/rangeMap.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8233"},"imported":[{"uid":"c5e49757-8170"}],"importedBy":[{"uid":"c5e49757-8236"}]},"c5e49757-8234":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/list/rowCache.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8235"},"imported":[{"uid":"c5e49757-7518"}],"importedBy":[{"uid":"c5e49757-8236"}]},"c5e49757-8236":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8237"},"imported":[{"uid":"c5e49757-8220"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7800"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7774"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8170"},{"uid":"c5e49757-7792"},{"uid":"c5e49757-8232"},{"uid":"c5e49757-8234"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-8110"}],"importedBy":[{"uid":"c5e49757-8254"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8370"}]},"c5e49757-8238":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/observableInternal/debugName.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8239"},"imported":[],"importedBy":[{"uid":"c5e49757-8242"},{"uid":"c5e49757-8248"},{"uid":"c5e49757-8244"},{"uid":"c5e49757-8246"}]},"c5e49757-8240":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/observableInternal/logging.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8241"},"imported":[],"importedBy":[{"uid":"c5e49757-8252"},{"uid":"c5e49757-8242"},{"uid":"c5e49757-8248"},{"uid":"c5e49757-8244"},{"uid":"c5e49757-8246"}]},"c5e49757-8242":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/observableInternal/base.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8243"},"imported":[{"uid":"c5e49757-8238"},{"uid":"c5e49757-8240"}],"importedBy":[{"uid":"c5e49757-9056"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-8522"},{"uid":"c5e49757-8518"},{"uid":"c5e49757-8248"},{"uid":"c5e49757-8244"}]},"c5e49757-8244":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/observableInternal/derived.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8245"},"imported":[{"uid":"c5e49757-7552"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8242"},{"uid":"c5e49757-8238"},{"uid":"c5e49757-8240"}],"importedBy":[{"uid":"c5e49757-8252"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8248"}]},"c5e49757-8246":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/observableInternal/autorun.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8247"},"imported":[{"uid":"c5e49757-7552"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8238"},{"uid":"c5e49757-8240"}],"importedBy":[{"uid":"c5e49757-8252"},{"uid":"c5e49757-8250"}]},"c5e49757-8248":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/observableInternal/utils.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8249"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-8242"},{"uid":"c5e49757-8238"},{"uid":"c5e49757-8244"},{"uid":"c5e49757-8240"}],"importedBy":[{"uid":"c5e49757-9054"},{"uid":"c5e49757-8252"}]},"c5e49757-8250":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/observableInternal/promise.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8251"},"imported":[{"uid":"c5e49757-8246"}],"importedBy":[{"uid":"c5e49757-8252"}]},"c5e49757-8252":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/observable.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8253"},"imported":[{"uid":"c5e49757-8242"},{"uid":"c5e49757-8244"},{"uid":"c5e49757-8246"},{"uid":"c5e49757-8248"},{"uid":"c5e49757-8250"},{"uid":"c5e49757-8240"}],"importedBy":[{"uid":"c5e49757-9210"},{"uid":"c5e49757-8526"},{"uid":"c5e49757-9056"},{"uid":"c5e49757-9058"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9128"},{"uid":"c5e49757-9124"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-8458"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8522"},{"uid":"c5e49757-8518"},{"uid":"c5e49757-8986"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-9052"},{"uid":"c5e49757-9122"},{"uid":"c5e49757-9118"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8468"},{"uid":"c5e49757-8470"},{"uid":"c5e49757-8480"},{"uid":"c5e49757-8464"},{"uid":"c5e49757-8484"},{"uid":"c5e49757-8486"},{"uid":"c5e49757-8488"},{"uid":"c5e49757-8492"},{"uid":"c5e49757-8474"},{"uid":"c5e49757-8510"},{"uid":"c5e49757-8992"},{"uid":"c5e49757-9002"},{"uid":"c5e49757-8494"}]},"c5e49757-8254":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8255"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7800"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-7708"},{"uid":"c5e49757-8226"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7774"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-8150"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8110"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-8228"},{"uid":"c5e49757-8230"},{"uid":"c5e49757-8236"},{"uid":"c5e49757-7506"},{"uid":"c5e49757-8252"}],"importedBy":[{"uid":"c5e49757-9144"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-8376"},{"uid":"c5e49757-8328"},{"uid":"c5e49757-8340"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8794"},{"uid":"c5e49757-8258"}]},"c5e49757-8256":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8257"},"imported":[],"importedBy":[{"uid":"c5e49757-8258"}]},"c5e49757-8258":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8259"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7800"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-8222"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7458"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-8256"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8264"}]},"c5e49757-8260":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxNative.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8261"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"}],"importedBy":[{"uid":"c5e49757-8264"}]},"c5e49757-8262":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8263"},"imported":[],"importedBy":[{"uid":"c5e49757-8264"}]},"c5e49757-8264":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8265"},"imported":[{"uid":"c5e49757-8258"},{"uid":"c5e49757-8260"},{"uid":"c5e49757-7778"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-8262"}],"importedBy":[{"uid":"c5e49757-8268"}]},"c5e49757-8266":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8267"},"imported":[],"importedBy":[{"uid":"c5e49757-8268"},{"uid":"c5e49757-8288"}]},"c5e49757-8268":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionViewItems.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8269"},"imported":[{"uid":"c5e49757-7496"},{"uid":"c5e49757-8220"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-8222"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-8264"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-8266"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8914"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-8274"},{"uid":"c5e49757-8290"}]},"c5e49757-8270":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8271"},"imported":[],"importedBy":[{"uid":"c5e49757-8274"},{"uid":"c5e49757-8272"}]},"c5e49757-8272":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8273"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-8270"}],"importedBy":[{"uid":"c5e49757-8274"}]},"c5e49757-8274":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8275"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8268"},{"uid":"c5e49757-8272"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-8270"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-8222"}],"importedBy":[{"uid":"c5e49757-8286"},{"uid":"c5e49757-8506"}]},"c5e49757-8276":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8277"},"imported":[],"importedBy":[{"uid":"c5e49757-8286"}]},"c5e49757-8278":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/action/common/action.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8279"},"imported":[],"importedBy":[{"uid":"c5e49757-8286"}]},"c5e49757-8280":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/parts/storage/common/storage.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8281"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8160"},{"uid":"c5e49757-7428"}],"importedBy":[{"uid":"c5e49757-8282"}]},"c5e49757-8282":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/storage/common/storage.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8283"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-8280"},{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9250"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8808"},{"uid":"c5e49757-9018"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-9244"},{"uid":"c5e49757-8428"},{"uid":"c5e49757-8286"}]},"c5e49757-8284":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/theme/browser/defaultStyles.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8285"},"imported":[{"uid":"c5e49757-7752"},{"uid":"c5e49757-7668"}],"importedBy":[{"uid":"c5e49757-8958"},{"uid":"c5e49757-9144"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-8376"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-8848"},{"uid":"c5e49757-8292"},{"uid":"c5e49757-8410"},{"uid":"c5e49757-8794"}]},"c5e49757-8286":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8287"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-8268"},{"uid":"c5e49757-8274"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-8196"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-8276"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-8278"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8134"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-8282"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-7764"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-8284"},{"uid":"c5e49757-7722"}],"importedBy":[{"uid":"c5e49757-8842"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-8294"},{"uid":"c5e49757-8518"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-9122"},{"uid":"c5e49757-9038"}]},"c5e49757-8288":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8289"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-8268"},{"uid":"c5e49757-8222"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-8266"}],"importedBy":[{"uid":"c5e49757-8842"},{"uid":"c5e49757-9196"},{"uid":"c5e49757-8796"},{"uid":"c5e49757-9038"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8464"},{"uid":"c5e49757-8506"},{"uid":"c5e49757-8350"},{"uid":"c5e49757-8290"},{"uid":"c5e49757-8408"},{"uid":"c5e49757-8390"}]},"c5e49757-8290":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/menu/menu.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8291"},"imported":[{"uid":"c5e49757-7496"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-7506"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-8268"},{"uid":"c5e49757-8174"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7472"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-8152"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7492"}],"importedBy":[{"uid":"c5e49757-8292"}]},"c5e49757-8292":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/contextview/browser/contextMenuHandler.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8293"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7506"},{"uid":"c5e49757-8290"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8284"}],"importedBy":[{"uid":"c5e49757-8294"}]},"c5e49757-8294":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/contextview/browser/contextMenuService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8295"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-7560"},{"uid":"c5e49757-8292"},{"uid":"c5e49757-8134"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8296":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/editor/common/editor.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8297"},"imported":[],"importedBy":[{"uid":"c5e49757-8298"}]},"c5e49757-8298":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/services/openerService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8299"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7486"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7440"},{"uid":"c5e49757-7626"},{"uid":"c5e49757-8160"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-8296"},{"uid":"c5e49757-8142"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8300":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/editorWorker.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8301"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-8544"},{"uid":"c5e49757-8980"},{"uid":"c5e49757-9082"},{"uid":"c5e49757-9148"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-8472"}]},"c5e49757-8302":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/markers/common/markers.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8303"},"imported":[{"uid":"c5e49757-8092"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-8528"},{"uid":"c5e49757-8532"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8878"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-8890"},{"uid":"c5e49757-8306"},{"uid":"c5e49757-8440"}]},"c5e49757-8304":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/collections.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8305"},"imported":[],"importedBy":[{"uid":"c5e49757-8306"},{"uid":"c5e49757-8508"}]},"c5e49757-8306":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/markerDecorationsService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8307"},"imported":[{"uid":"c5e49757-8302"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7816"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-7626"},{"uid":"c5e49757-8304"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8308":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/modelService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8309"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-7436"},{"uid":"c5e49757-7604"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-7676"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-8056"},{"uid":"c5e49757-7516"},{"uid":"c5e49757-8026"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-7430"},{"uid":"c5e49757-7608"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8310":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInput.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8311"},"imported":[],"importedBy":[{"uid":"c5e49757-8412"}]},"c5e49757-8312":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/quickinput/common/quickAccess.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8313"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7554"}],"importedBy":[{"uid":"c5e49757-9224"},{"uid":"c5e49757-9230"},{"uid":"c5e49757-9236"},{"uid":"c5e49757-9248"},{"uid":"c5e49757-9222"},{"uid":"c5e49757-8316"}]},"c5e49757-8314":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/quickinput/common/quickInput.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8315"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9230"},{"uid":"c5e49757-9236"},{"uid":"c5e49757-9248"},{"uid":"c5e49757-8814"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-9066"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-9222"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8316"},{"uid":"c5e49757-8392"},{"uid":"c5e49757-8408"}]},"c5e49757-8316":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/quickinput/browser/quickAccess.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8317"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8312"},{"uid":"c5e49757-8314"},{"uid":"c5e49757-7554"}],"importedBy":[{"uid":"c5e49757-8410"}]},"c5e49757-8318":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8319"},"imported":[],"importedBy":[{"uid":"c5e49757-8320"}]},"c5e49757-8320":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8321"},"imported":[{"uid":"c5e49757-7778"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-8318"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-8222"}],"importedBy":[{"uid":"c5e49757-8958"},{"uid":"c5e49757-8342"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8952"},{"uid":"c5e49757-8392"}]},"c5e49757-8322":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/quickinput/browser/media/quickInput.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8323"},"imported":[],"importedBy":[{"uid":"c5e49757-8392"},{"uid":"c5e49757-8326"},{"uid":"c5e49757-8406"}]},"c5e49757-8324":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/linkedText.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8325"},"imported":[{"uid":"c5e49757-7774"}],"importedBy":[{"uid":"c5e49757-8326"}]},"c5e49757-8326":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/quickinput/browser/quickInputUtils.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8327"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7800"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-8146"},{"uid":"c5e49757-8156"},{"uid":"c5e49757-8324"},{"uid":"c5e49757-8322"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8392"},{"uid":"c5e49757-8390"}]},"c5e49757-8328":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/list/listPaging.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8329"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8228"},{"uid":"c5e49757-8254"}],"importedBy":[{"uid":"c5e49757-8376"}]},"c5e49757-8330":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8331"},"imported":[],"importedBy":[{"uid":"c5e49757-8332"}]},"c5e49757-8332":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8333"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7800"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7774"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-8330"}],"importedBy":[{"uid":"c5e49757-8958"},{"uid":"c5e49757-8840"},{"uid":"c5e49757-8866"},{"uid":"c5e49757-8336"},{"uid":"c5e49757-8470"}]},"c5e49757-8334":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8335"},"imported":[],"importedBy":[{"uid":"c5e49757-8336"}]},"c5e49757-8336":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8337"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7800"},{"uid":"c5e49757-8332"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8110"},{"uid":"c5e49757-7792"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-8334"}],"importedBy":[{"uid":"c5e49757-8850"},{"uid":"c5e49757-8340"}]},"c5e49757-8338":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/table/table.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8339"},"imported":[],"importedBy":[{"uid":"c5e49757-8340"}]},"c5e49757-8340":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/table/tableWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8341"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8222"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-8336"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8338"}],"importedBy":[{"uid":"c5e49757-8376"}]},"c5e49757-8342":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInputToggles.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8343"},"imported":[{"uid":"c5e49757-8222"},{"uid":"c5e49757-8320"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8946"},{"uid":"c5e49757-8354"}]},"c5e49757-8344":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/navigator.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8345"},"imported":[],"importedBy":[{"uid":"c5e49757-8346"}]},"c5e49757-8346":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/history.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8347"},"imported":[{"uid":"c5e49757-8344"}],"importedBy":[{"uid":"c5e49757-8350"}]},"c5e49757-8348":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8349"},"imported":[],"importedBy":[{"uid":"c5e49757-8350"}]},"c5e49757-8350":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8351"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7800"},{"uid":"c5e49757-8144"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-7708"},{"uid":"c5e49757-8222"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-7778"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-8346"},{"uid":"c5e49757-7430"},{"uid":"c5e49757-8348"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8362"},{"uid":"c5e49757-8354"},{"uid":"c5e49757-8952"}]},"c5e49757-8352":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8353"},"imported":[],"importedBy":[{"uid":"c5e49757-8354"},{"uid":"c5e49757-8952"}]},"c5e49757-8354":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8355"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8342"},{"uid":"c5e49757-8350"},{"uid":"c5e49757-7778"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-8352"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8222"}],"importedBy":[{"uid":"c5e49757-8954"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8406"}]},"c5e49757-8356":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8357"},"imported":[],"importedBy":[{"uid":"c5e49757-8362"},{"uid":"c5e49757-8370"},{"uid":"c5e49757-8358"},{"uid":"c5e49757-8364"},{"uid":"c5e49757-8366"}]},"c5e49757-8358":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8359"},"imported":[{"uid":"c5e49757-8356"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7508"},{"uid":"c5e49757-7612"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7438"}],"importedBy":[{"uid":"c5e49757-8362"},{"uid":"c5e49757-8370"},{"uid":"c5e49757-8364"}]},"c5e49757-8360":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/tree/media/tree.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8361"},"imported":[],"importedBy":[{"uid":"c5e49757-8362"}]},"c5e49757-8362":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8363"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7800"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-8354"},{"uid":"c5e49757-8350"},{"uid":"c5e49757-8236"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-8320"},{"uid":"c5e49757-8358"},{"uid":"c5e49757-8356"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-7626"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-8150"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8110"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-8360"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8222"},{"uid":"c5e49757-8252"}],"importedBy":[{"uid":"c5e49757-8376"},{"uid":"c5e49757-8370"},{"uid":"c5e49757-8372"},{"uid":"c5e49757-8368"},{"uid":"c5e49757-8390"}]},"c5e49757-8364":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8365"},"imported":[{"uid":"c5e49757-8358"},{"uid":"c5e49757-8356"},{"uid":"c5e49757-7438"}],"importedBy":[{"uid":"c5e49757-8372"},{"uid":"c5e49757-8368"},{"uid":"c5e49757-8366"}]},"c5e49757-8366":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8367"},"imported":[{"uid":"c5e49757-8364"},{"uid":"c5e49757-8356"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7438"}],"importedBy":[{"uid":"c5e49757-8368"}]},"c5e49757-8368":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTree.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8369"},"imported":[{"uid":"c5e49757-8362"},{"uid":"c5e49757-8366"},{"uid":"c5e49757-8364"},{"uid":"c5e49757-7774"},{"uid":"c5e49757-7438"}],"importedBy":[{"uid":"c5e49757-8376"},{"uid":"c5e49757-8370"}]},"c5e49757-8370":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/tree/asyncDataTree.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8371"},"imported":[{"uid":"c5e49757-8236"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8358"},{"uid":"c5e49757-8368"},{"uid":"c5e49757-8356"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7438"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7428"}],"importedBy":[{"uid":"c5e49757-8376"}]},"c5e49757-8372":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/tree/dataTree.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8373"},"imported":[{"uid":"c5e49757-8362"},{"uid":"c5e49757-8364"}],"importedBy":[{"uid":"c5e49757-8376"}]},"c5e49757-8374":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/contextkey/common/contextkeys.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8375"},"imported":[{"uid":"c5e49757-7434"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7550"}],"importedBy":[{"uid":"c5e49757-8858"},{"uid":"c5e49757-9204"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-8376"}]},"c5e49757-8376":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/list/browser/listService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8377"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8328"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-8340"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-8370"},{"uid":"c5e49757-8372"},{"uid":"c5e49757-8368"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7602"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8374"},{"uid":"c5e49757-8134"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-7554"},{"uid":"c5e49757-8284"}],"importedBy":[{"uid":"c5e49757-8852"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-8390"}]},"c5e49757-8378":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconlabel.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8379"},"imported":[],"importedBy":[{"uid":"c5e49757-8382"}]},"c5e49757-8380":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8381"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8222"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-8146"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7430"}],"importedBy":[{"uid":"c5e49757-8848"},{"uid":"c5e49757-8382"}]},"c5e49757-8382":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8383"},"imported":[{"uid":"c5e49757-8378"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-8380"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7430"},{"uid":"c5e49757-8170"},{"uid":"c5e49757-8222"}],"importedBy":[{"uid":"c5e49757-9046"},{"uid":"c5e49757-8848"},{"uid":"c5e49757-8390"}]},"c5e49757-8384":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8385"},"imported":[],"importedBy":[{"uid":"c5e49757-8386"}]},"c5e49757-8386":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8387"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8222"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-8196"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7430"},{"uid":"c5e49757-8384"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8896"},{"uid":"c5e49757-9122"},{"uid":"c5e49757-8794"},{"uid":"c5e49757-8390"}]},"c5e49757-8388":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/comparers.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8389"},"imported":[{"uid":"c5e49757-7490"}],"importedBy":[{"uid":"c5e49757-8390"}]},"c5e49757-8390":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/quickinput/browser/quickInputTree.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8391"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8376"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7774"},{"uid":"c5e49757-8382"},{"uid":"c5e49757-8386"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-7764"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-8326"},{"uid":"c5e49757-7490"},{"uid":"c5e49757-8152"},{"uid":"c5e49757-8388"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-8362"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7446"}],"importedBy":[{"uid":"c5e49757-8392"},{"uid":"c5e49757-8408"}]},"c5e49757-8392":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/quickinput/browser/quickInput.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8393"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-8320"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-8092"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-8322"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8314"},{"uid":"c5e49757-8326"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-8132"},{"uid":"c5e49757-8390"}],"importedBy":[{"uid":"c5e49757-8410"},{"uid":"c5e49757-8408"}]},"c5e49757-8394":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8395"},"imported":[],"importedBy":[{"uid":"c5e49757-8396"}]},"c5e49757-8396":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8397"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7512"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-8162"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-8222"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-8146"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-8394"}],"importedBy":[{"uid":"c5e49757-8518"},{"uid":"c5e49757-8764"},{"uid":"c5e49757-8408"}]},"c5e49757-8398":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8399"},"imported":[],"importedBy":[{"uid":"c5e49757-8400"}]},"c5e49757-8400":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8401"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-8398"}],"importedBy":[{"uid":"c5e49757-8848"},{"uid":"c5e49757-8408"}]},"c5e49757-8402":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8403"},"imported":[],"importedBy":[{"uid":"c5e49757-8404"}]},"c5e49757-8404":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8405"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8402"}],"importedBy":[{"uid":"c5e49757-8408"}]},"c5e49757-8406":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/quickinput/browser/quickInputBox.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8407"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8354"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8092"},{"uid":"c5e49757-8322"}],"importedBy":[{"uid":"c5e49757-8408"}]},"c5e49757-8408":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/quickinput/browser/quickInputController.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8409"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-8396"},{"uid":"c5e49757-8400"},{"uid":"c5e49757-8404"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8092"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8314"},{"uid":"c5e49757-8406"},{"uid":"c5e49757-8392"},{"uid":"c5e49757-8102"},{"uid":"c5e49757-7486"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8390"}],"importedBy":[{"uid":"c5e49757-8410"}]},"c5e49757-8410":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/quickinput/browser/quickInputService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8411"},"imported":[{"uid":"c5e49757-7456"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8102"},{"uid":"c5e49757-8142"},{"uid":"c5e49757-8316"},{"uid":"c5e49757-8284"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-8392"},{"uid":"c5e49757-8408"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7518"}],"importedBy":[{"uid":"c5e49757-8412"}]},"c5e49757-8412":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8413"},"imported":[{"uid":"c5e49757-8310"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8104"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-8410"},{"uid":"c5e49757-7448"},{"uid":"c5e49757-7590"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8414":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/languages/supports/tokenization.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8415"},"imported":[{"uid":"c5e49757-7668"}],"importedBy":[{"uid":"c5e49757-8422"}]},"c5e49757-8416":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/common/themes.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8417"},"imported":[{"uid":"c5e49757-7816"},{"uid":"c5e49757-7752"}],"importedBy":[{"uid":"c5e49757-8422"}]},"c5e49757-8418":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/theme/common/iconRegistry.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8419"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7472"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7600"},{"uid":"c5e49757-7554"}],"importedBy":[{"uid":"c5e49757-8888"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-8466"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-8972"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9138"},{"uid":"c5e49757-9196"},{"uid":"c5e49757-8420"},{"uid":"c5e49757-8826"},{"uid":"c5e49757-9046"},{"uid":"c5e49757-8462"}]},"c5e49757-8420":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/theme/browser/iconsStyleSheet.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8421"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-8418"}],"importedBy":[{"uid":"c5e49757-8422"}]},"c5e49757-8422":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneThemeService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8423"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7496"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7688"},{"uid":"c5e49757-8414"},{"uid":"c5e49757-8416"},{"uid":"c5e49757-7554"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7764"},{"uid":"c5e49757-8420"},{"uid":"c5e49757-7486"}],"importedBy":[{"uid":"c5e49757-9252"},{"uid":"c5e49757-8450"}]},"c5e49757-8424":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/common/standaloneTheme.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8425"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9220"},{"uid":"c5e49757-9252"},{"uid":"c5e49757-8528"},{"uid":"c5e49757-8532"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"}]},"c5e49757-8426":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/accessibility/browser/accessibilityService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8427"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7486"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7722"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8102"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8428":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/actions/common/menuService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8429"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-8282"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8430":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/clipboard/browser/clipboardService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8431"},"imported":[{"uid":"c5e49757-7496"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7486"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7516"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8102"},{"uid":"c5e49757-7562"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8432":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/clipboard/common/clipboardService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8433"},"imported":[{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-8768"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-9182"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-8480"}]},"c5e49757-8434":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/contextkey/browser/contextKeyService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8435"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7438"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7430"},{"uid":"c5e49757-8206"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7550"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8436":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/instantiation/common/graph.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8437"},"imported":[],"importedBy":[{"uid":"c5e49757-8438"}]},"c5e49757-8438":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/instantiation/common/instantiationService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8439"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7594"},{"uid":"c5e49757-8436"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8090"},{"uid":"c5e49757-7440"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8440":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/markers/common/markerService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8441"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7438"},{"uid":"c5e49757-7626"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-8302"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8442":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/configuration/common/configurations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8443"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-8188"},{"uid":"c5e49757-7602"},{"uid":"c5e49757-7554"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8444":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8445"},"imported":[{"uid":"c5e49757-7534"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8544"},{"uid":"c5e49757-8980"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8462"}]},"c5e49757-8446":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/log/common/logService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8447"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-7562"}],"importedBy":[{"uid":"c5e49757-8450"}]},"c5e49757-8448":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/editorFeatures.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8449"},"imported":[],"importedBy":[{"uid":"c5e49757-8924"},{"uid":"c5e49757-8932"},{"uid":"c5e49757-9156"},{"uid":"c5e49757-9182"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8816"}]},"c5e49757-8450":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneServices.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8451"},"imported":[{"uid":"c5e49757-7608"},{"uid":"c5e49757-8100"},{"uid":"c5e49757-8104"},{"uid":"c5e49757-8108"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-8122"},{"uid":"c5e49757-8130"},{"uid":"c5e49757-8178"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7500"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-8092"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-8180"},{"uid":"c5e49757-8184"},{"uid":"c5e49757-8186"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-7540"},{"uid":"c5e49757-7676"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-8188"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8106"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8192"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-8190"},{"uid":"c5e49757-7556"},{"uid":"c5e49757-8194"},{"uid":"c5e49757-8200"},{"uid":"c5e49757-8202"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-8204"},{"uid":"c5e49757-7560"},{"uid":"c5e49757-8208"},{"uid":"c5e49757-8102"},{"uid":"c5e49757-8210"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7562"},{"uid":"c5e49757-8212"},{"uid":"c5e49757-8134"},{"uid":"c5e49757-8176"},{"uid":"c5e49757-8218"},{"uid":"c5e49757-8294"},{"uid":"c5e49757-7596"},{"uid":"c5e49757-8298"},{"uid":"c5e49757-8300"},{"uid":"c5e49757-7680"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-8306"},{"uid":"c5e49757-7710"},{"uid":"c5e49757-8308"},{"uid":"c5e49757-8412"},{"uid":"c5e49757-8422"},{"uid":"c5e49757-8424"},{"uid":"c5e49757-8426"},{"uid":"c5e49757-7722"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-8428"},{"uid":"c5e49757-8430"},{"uid":"c5e49757-8432"},{"uid":"c5e49757-8434"},{"uid":"c5e49757-7594"},{"uid":"c5e49757-8438"},{"uid":"c5e49757-8090"},{"uid":"c5e49757-8376"},{"uid":"c5e49757-8302"},{"uid":"c5e49757-8440"},{"uid":"c5e49757-8142"},{"uid":"c5e49757-8314"},{"uid":"c5e49757-8282"},{"uid":"c5e49757-8442"},{"uid":"c5e49757-8444"},{"uid":"c5e49757-8446"},{"uid":"c5e49757-8448"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-8112"},{"uid":"c5e49757-7486"}],"importedBy":[{"uid":"c5e49757-8528"},{"uid":"c5e49757-8532"},{"uid":"c5e49757-8514"}]},"c5e49757-8452":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/style.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8453"},"imported":[],"importedBy":[{"uid":"c5e49757-8512"}]},"c5e49757-8454":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/stableEditorScroll.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8455"},"imported":[],"importedBy":[{"uid":"c5e49757-8814"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-8540"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-8512"}]},"c5e49757-8456":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/hotReload.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8457"},"imported":[{"uid":"c5e49757-7460"}],"importedBy":[{"uid":"c5e49757-8458"}]},"c5e49757-8458":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/utils.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8459"},"imported":[{"uid":"c5e49757-7640"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-8456"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-7716"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7992"}],"importedBy":[{"uid":"c5e49757-9210"},{"uid":"c5e49757-8526"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8522"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8468"},{"uid":"c5e49757-8480"},{"uid":"c5e49757-8464"},{"uid":"c5e49757-8484"},{"uid":"c5e49757-8474"},{"uid":"c5e49757-8510"}]},"c5e49757-8460":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8461"},"imported":[],"importedBy":[{"uid":"c5e49757-8462"}]},"c5e49757-8462":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8463"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7568"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-7524"},{"uid":"c5e49757-8458"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-7638"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7644"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-7690"},{"uid":"c5e49757-7696"},{"uid":"c5e49757-7698"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8444"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-8460"}],"importedBy":[{"uid":"c5e49757-8512"}]},"c5e49757-8464":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8465"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7640"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-8458"},{"uid":"c5e49757-7638"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8512"},{"uid":"c5e49757-8468"}]},"c5e49757-8466":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/registrations.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8467"},"imported":[{"uid":"c5e49757-7476"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-8418"}],"importedBy":[{"uid":"c5e49757-8722"},{"uid":"c5e49757-8720"},{"uid":"c5e49757-8468"},{"uid":"c5e49757-8480"}]},"c5e49757-8468":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8469"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-8464"},{"uid":"c5e49757-8466"},{"uid":"c5e49757-8458"}],"importedBy":[{"uid":"c5e49757-8512"}]},"c5e49757-8470":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/components/diffEditorSash.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8471"},"imported":[{"uid":"c5e49757-8332"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"}],"importedBy":[{"uid":"c5e49757-8512"}]},"c5e49757-8472":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8473"},"imported":[{"uid":"c5e49757-7596"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7452"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-7644"},{"uid":"c5e49757-8300"},{"uid":"c5e49757-7560"}],"importedBy":[{"uid":"c5e49757-8474"}]},"c5e49757-8474":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8475"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-8472"},{"uid":"c5e49757-8458"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-7664"},{"uid":"c5e49757-7644"},{"uid":"c5e49757-7996"},{"uid":"c5e49757-8012"},{"uid":"c5e49757-7660"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7552"}],"importedBy":[{"uid":"c5e49757-8512"},{"uid":"c5e49757-8480"}]},"c5e49757-8476":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8477"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8480"}]},"c5e49757-8478":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8479"},"imported":[{"uid":"c5e49757-7568"},{"uid":"c5e49757-7524"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7580"},{"uid":"c5e49757-7692"},{"uid":"c5e49757-7696"},{"uid":"c5e49757-7698"}],"importedBy":[{"uid":"c5e49757-8480"}]},"c5e49757-8480":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8481"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7524"},{"uid":"c5e49757-8466"},{"uid":"c5e49757-8474"},{"uid":"c5e49757-8476"},{"uid":"c5e49757-8478"},{"uid":"c5e49757-8458"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7698"},{"uid":"c5e49757-8432"},{"uid":"c5e49757-8134"}],"importedBy":[{"uid":"c5e49757-8512"}]},"c5e49757-8482":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8483"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8146"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-8244"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-8458"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9210"},{"uid":"c5e49757-8512"}]},"c5e49757-8484":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8485"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7522"},{"uid":"c5e49757-7786"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-8458"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7942"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-7814"}],"importedBy":[{"uid":"c5e49757-8512"},{"uid":"c5e49757-8488"}]},"c5e49757-8486":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8487"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8146"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7644"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8512"}]},"c5e49757-8488":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8489"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-8484"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7830"}],"importedBy":[{"uid":"c5e49757-8512"}]},"c5e49757-8490":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/delegatingEditorImpl.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8491"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"}],"importedBy":[{"uid":"c5e49757-8512"}]},"c5e49757-8492":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/diffEditorOptions.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8493"},"imported":[{"uid":"c5e49757-8252"},{"uid":"c5e49757-8182"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7722"}],"importedBy":[{"uid":"c5e49757-8512"}]},"c5e49757-8494":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/utils/editorGutter.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8495"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-7638"}],"importedBy":[{"uid":"c5e49757-8510"}]},"c5e49757-8496":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/multiDiffEditor/utils.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8497"},"imported":[{"uid":"c5e49757-7542"}],"importedBy":[{"uid":"c5e49757-8518"},{"uid":"c5e49757-8510"}]},"c5e49757-8498":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/positionToOffset.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8499"},"imported":[{"uid":"c5e49757-7638"},{"uid":"c5e49757-7992"}],"importedBy":[{"uid":"c5e49757-8500"}]},"c5e49757-8500":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/core/textEdit.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8501"},"imported":[{"uid":"c5e49757-7552"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-8498"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7992"}],"importedBy":[{"uid":"c5e49757-9016"},{"uid":"c5e49757-9052"},{"uid":"c5e49757-8990"},{"uid":"c5e49757-8510"},{"uid":"c5e49757-9002"},{"uid":"c5e49757-9000"},{"uid":"c5e49757-8502"}]},"c5e49757-8502":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/textModelText.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8503"},"imported":[{"uid":"c5e49757-8500"},{"uid":"c5e49757-7992"}],"importedBy":[{"uid":"c5e49757-8510"}]},"c5e49757-8504":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/toolbar/toolbar.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8505"},"imported":[],"importedBy":[{"uid":"c5e49757-8506"}]},"c5e49757-8506":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/toolbar/toolbar.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8507"},"imported":[{"uid":"c5e49757-8288"},{"uid":"c5e49757-8274"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8504"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8222"}],"importedBy":[{"uid":"c5e49757-8508"}]},"c5e49757-8508":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/actions/browser/toolbar.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8509"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7506"},{"uid":"c5e49757-8506"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-8304"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7438"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8134"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-7560"}],"importedBy":[{"uid":"c5e49757-8896"},{"uid":"c5e49757-8518"},{"uid":"c5e49757-9122"},{"uid":"c5e49757-8510"}]},"c5e49757-8510":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/features/gutterFeature.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8511"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-8458"},{"uid":"c5e49757-8494"},{"uid":"c5e49757-8496"},{"uid":"c5e49757-7642"},{"uid":"c5e49757-7638"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8500"},{"uid":"c5e49757-7644"},{"uid":"c5e49757-8502"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8132"},{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-8512"}]},"c5e49757-8512":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/diffEditorWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8513"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7640"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-8244"},{"uid":"c5e49757-8452"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-8454"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8462"},{"uid":"c5e49757-8468"},{"uid":"c5e49757-8470"},{"uid":"c5e49757-8480"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-8464"},{"uid":"c5e49757-8484"},{"uid":"c5e49757-8486"},{"uid":"c5e49757-8458"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7684"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8444"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8090"},{"uid":"c5e49757-8204"},{"uid":"c5e49757-8488"},{"uid":"c5e49757-8490"},{"uid":"c5e49757-8492"},{"uid":"c5e49757-8474"},{"uid":"c5e49757-8510"}],"importedBy":[{"uid":"c5e49757-8514"},{"uid":"c5e49757-8720"},{"uid":"c5e49757-8518"}]},"c5e49757-8514":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneCodeEditor.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8515"},"imported":[{"uid":"c5e49757-7708"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-7986"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8424"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8134"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7722"},{"uid":"c5e49757-8210"},{"uid":"c5e49757-8432"},{"uid":"c5e49757-8204"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-8100"},{"uid":"c5e49757-7604"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8444"},{"uid":"c5e49757-7486"},{"uid":"c5e49757-8222"},{"uid":"c5e49757-8132"}],"importedBy":[{"uid":"c5e49757-8528"}]},"c5e49757-8516":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/multiDiffEditor/style.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8517"},"imported":[],"importedBy":[{"uid":"c5e49757-8522"}]},"c5e49757-8518":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8519"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8396"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-8242"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8496"},{"uid":"c5e49757-8286"}],"importedBy":[{"uid":"c5e49757-8526"},{"uid":"c5e49757-8522"}]},"c5e49757-8520":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/multiDiffEditor/objectPool.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8521"},"imported":[],"importedBy":[{"uid":"c5e49757-8522"}]},"c5e49757-8522":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8523"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-7640"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-8242"},{"uid":"c5e49757-7792"},{"uid":"c5e49757-8516"},{"uid":"c5e49757-8458"},{"uid":"c5e49757-7638"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8090"},{"uid":"c5e49757-8518"},{"uid":"c5e49757-8520"}],"importedBy":[{"uid":"c5e49757-8526"}]},"c5e49757-8524":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/multiDiffEditor/colors.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8525"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7752"}],"importedBy":[{"uid":"c5e49757-8526"}]},"c5e49757-8526":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8527"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-8458"},{"uid":"c5e49757-8522"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8524"},{"uid":"c5e49757-8518"}],"importedBy":[{"uid":"c5e49757-8528"}]},"c5e49757-8528":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneEditor.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8529"},"imported":[{"uid":"c5e49757-7486"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7494"},{"uid":"c5e49757-7532"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7682"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7528"},{"uid":"c5e49757-7530"},{"uid":"c5e49757-7684"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7604"},{"uid":"c5e49757-7686"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-7482"},{"uid":"c5e49757-7704"},{"uid":"c5e49757-8514"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8424"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-8302"},{"uid":"c5e49757-8142"},{"uid":"c5e49757-8526"}],"importedBy":[{"uid":"c5e49757-8546"}]},"c5e49757-8530":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/common/monarch/monarchCompile.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8531"},"imported":[{"uid":"c5e49757-7700"}],"importedBy":[{"uid":"c5e49757-8532"}]},"c5e49757-8532":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneLanguages.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8533"},"imported":[{"uid":"c5e49757-7668"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7604"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-7482"},{"uid":"c5e49757-8450"},{"uid":"c5e49757-8530"},{"uid":"c5e49757-7702"},{"uid":"c5e49757-8424"},{"uid":"c5e49757-8302"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7590"}],"importedBy":[{"uid":"c5e49757-8546"}]},"c5e49757-8534":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8535"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7440"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7596"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8536"}]},"c5e49757-8536":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/editorState/browser/editorState.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8537"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8534"}],"importedBy":[{"uid":"c5e49757-8544"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-9082"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8930"},{"uid":"c5e49757-8772"}]},"c5e49757-8538":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/editorBrowser.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8539"},"imported":[{"uid":"c5e49757-7684"}],"importedBy":[{"uid":"c5e49757-8544"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-9228"},{"uid":"c5e49757-9226"}]},"c5e49757-8540":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/format/browser/formattingEdit.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8541"},"imported":[{"uid":"c5e49757-8186"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8454"}],"importedBy":[{"uid":"c5e49757-8544"},{"uid":"c5e49757-8980"}]},"c5e49757-8542":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/extensions/common/extensions.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8543"},"imported":[],"importedBy":[{"uid":"c5e49757-8544"}]},"c5e49757-8544":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/format/browser/format.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8545"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7438"},{"uid":"c5e49757-7440"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-8536"},{"uid":"c5e49757-8538"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-8300"},{"uid":"c5e49757-7540"},{"uid":"c5e49757-8540"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-8542"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7562"},{"uid":"c5e49757-8444"}],"importedBy":[{"uid":"c5e49757-8546"},{"uid":"c5e49757-8980"}]},"c5e49757-8546":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/editor.api.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8547"},"imported":[{"uid":"c5e49757-7444"},{"uid":"c5e49757-7484"},{"uid":"c5e49757-8528"},{"uid":"c5e49757-8532"},{"uid":"c5e49757-8544"}],"importedBy":[{"uid":"c5e49757-8710"},{"uid":"c5e49757-8712"},{"uid":"c5e49757-8714"},{"uid":"c5e49757-8716"},{"uid":"c5e49757-8718"},{"uid":"c5e49757-9254"},{"uid":"c5e49757-9418"},{"uid":"c5e49757-9420"},{"uid":"c5e49757-9422"},{"uid":"c5e49757-9424"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9296"},{"uid":"c5e49757-9302"},{"uid":"c5e49757-9306"},{"uid":"c5e49757-9326"},{"uid":"c5e49757-9332"},{"uid":"c5e49757-9364"},{"uid":"c5e49757-9370"},{"uid":"c5e49757-9312"},{"uid":"c5e49757-9414"},{"uid":"c5e49757-9416"}]},"c5e49757-8548":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8549"},"imported":[{"uid":"c5e49757-8546"}],"importedBy":[{"uid":"c5e49757-8550"},{"uid":"c5e49757-8552"},{"uid":"c5e49757-8554"},{"uid":"c5e49757-8556"},{"uid":"c5e49757-8558"},{"uid":"c5e49757-8560"},{"uid":"c5e49757-8562"},{"uid":"c5e49757-8564"},{"uid":"c5e49757-8566"},{"uid":"c5e49757-8568"},{"uid":"c5e49757-8570"},{"uid":"c5e49757-8572"},{"uid":"c5e49757-8574"},{"uid":"c5e49757-8576"},{"uid":"c5e49757-8578"},{"uid":"c5e49757-8580"},{"uid":"c5e49757-8582"},{"uid":"c5e49757-8584"},{"uid":"c5e49757-8586"},{"uid":"c5e49757-8588"},{"uid":"c5e49757-8590"},{"uid":"c5e49757-8592"},{"uid":"c5e49757-8594"},{"uid":"c5e49757-8596"},{"uid":"c5e49757-8598"},{"uid":"c5e49757-8600"},{"uid":"c5e49757-8602"},{"uid":"c5e49757-8604"},{"uid":"c5e49757-8606"},{"uid":"c5e49757-8608"},{"uid":"c5e49757-8610"},{"uid":"c5e49757-8612"},{"uid":"c5e49757-8614"},{"uid":"c5e49757-8616"},{"uid":"c5e49757-8618"},{"uid":"c5e49757-8620"},{"uid":"c5e49757-8622"},{"uid":"c5e49757-8624"},{"uid":"c5e49757-8626"},{"uid":"c5e49757-8628"},{"uid":"c5e49757-8630"},{"uid":"c5e49757-8632"},{"uid":"c5e49757-8634"},{"uid":"c5e49757-8636"},{"uid":"c5e49757-8638"},{"uid":"c5e49757-8640"},{"uid":"c5e49757-8642"},{"uid":"c5e49757-8644"},{"uid":"c5e49757-8646"},{"uid":"c5e49757-8648"},{"uid":"c5e49757-8650"},{"uid":"c5e49757-8652"},{"uid":"c5e49757-8654"},{"uid":"c5e49757-8656"},{"uid":"c5e49757-8658"},{"uid":"c5e49757-8660"},{"uid":"c5e49757-8662"},{"uid":"c5e49757-8664"},{"uid":"c5e49757-8666"},{"uid":"c5e49757-8668"},{"uid":"c5e49757-8670"},{"uid":"c5e49757-8672"},{"uid":"c5e49757-8674"},{"uid":"c5e49757-8676"},{"uid":"c5e49757-8678"},{"uid":"c5e49757-8680"},{"uid":"c5e49757-8682"},{"uid":"c5e49757-8684"},{"uid":"c5e49757-8686"},{"uid":"c5e49757-8688"},{"uid":"c5e49757-8690"},{"uid":"c5e49757-8692"},{"uid":"c5e49757-8694"},{"uid":"c5e49757-8696"},{"uid":"c5e49757-8698"},{"uid":"c5e49757-8700"},{"uid":"c5e49757-8702"},{"uid":"c5e49757-8704"},{"uid":"c5e49757-8706"},{"uid":"c5e49757-8708"}]},"c5e49757-8550":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8551"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9258","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8552":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8553"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9260","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8554":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8555"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9262","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8556":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8557"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9264","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8558":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/bicep/bicep.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8559"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9266","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8560":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8561"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9268","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8562":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8563"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9270","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8564":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8565"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9272","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8566":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8567"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9274","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8568":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8569"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9276","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8570":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8571"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9278","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8572":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/css/css.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8573"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9280","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8574":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/cypher/cypher.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8575"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9282","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8576":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8577"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9284","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8578":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8579"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9286","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8580":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8581"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9288","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8582":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/elixir/elixir.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8583"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9290","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8584":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/flow9/flow9.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8585"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9292","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8586":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8587"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9294","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8588":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8589"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9296","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8590":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/go/go.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8591"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9298","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8592":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8593"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9300","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8594":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8595"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9302","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8596":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8597"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9304","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8598":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/html/html.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8599"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9306","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8600":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8601"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9308","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8602":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/java/java.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8603"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9310","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8604":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8605"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9314","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8606":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8607"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9316","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8608":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8609"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9318","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8610":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/less/less.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8611"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9320","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8612":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8613"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9322","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8614":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8615"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9324","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8616":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/liquid/liquid.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8617"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9326","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8618":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8619"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9328","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8620":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8621"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9330","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8622":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/mdx/mdx.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8623"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9332","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8624":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8625"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9334","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8626":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8627"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9336","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8628":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8629"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9338","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8630":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8631"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9340","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8632":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8633"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9342","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8634":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8635"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9344","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8636":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8637"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9346","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8638":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8639"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9348","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8640":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/php/php.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8641"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9350","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8642":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/pla/pla.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8643"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9352","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8644":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8645"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9354","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8646":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8647"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9356","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8648":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8649"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9358","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8650":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/protobuf/protobuf.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8651"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9360","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8652":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8653"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9362","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8654":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/python/python.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8655"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9364","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8656":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/qsharp/qsharp.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8657"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9366","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8658":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/r/r.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8659"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9368","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8660":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8661"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9370","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8662":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8663"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9372","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8664":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8665"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9374","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8666":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8667"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9376","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8668":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8669"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9378","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8670":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8671"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9380","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8672":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8673"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9382","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8674":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8675"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9384","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8676":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8677"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9386","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8678":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8679"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9388","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8680":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8681"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9390","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8682":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8683"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9392","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8684":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8685"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9394","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8686":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/sparql/sparql.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8687"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9396","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8688":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8689"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9398","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8690":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/st/st.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8691"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9400","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8692":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8693"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9402","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8694":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8695"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9404","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8696":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8697"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9406","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8698":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8699"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9408","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8700":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8701"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9312","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8702":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8703"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9410","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8704":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/wgsl/wgsl.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8705"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9412","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8706":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8707"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9414","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8708":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8709"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8548"},{"uid":"c5e49757-9416","dynamic":true}],"importedBy":[{"uid":"c5e49757-8710"}]},"c5e49757-8710":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/monaco.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8711"},"imported":[{"uid":"c5e49757-8546"},{"uid":"c5e49757-8550"},{"uid":"c5e49757-8552"},{"uid":"c5e49757-8554"},{"uid":"c5e49757-8556"},{"uid":"c5e49757-8558"},{"uid":"c5e49757-8560"},{"uid":"c5e49757-8562"},{"uid":"c5e49757-8564"},{"uid":"c5e49757-8566"},{"uid":"c5e49757-8568"},{"uid":"c5e49757-8570"},{"uid":"c5e49757-8572"},{"uid":"c5e49757-8574"},{"uid":"c5e49757-8576"},{"uid":"c5e49757-8578"},{"uid":"c5e49757-8580"},{"uid":"c5e49757-8582"},{"uid":"c5e49757-8584"},{"uid":"c5e49757-8586"},{"uid":"c5e49757-8588"},{"uid":"c5e49757-8590"},{"uid":"c5e49757-8592"},{"uid":"c5e49757-8594"},{"uid":"c5e49757-8596"},{"uid":"c5e49757-8598"},{"uid":"c5e49757-8600"},{"uid":"c5e49757-8602"},{"uid":"c5e49757-8604"},{"uid":"c5e49757-8606"},{"uid":"c5e49757-8608"},{"uid":"c5e49757-8610"},{"uid":"c5e49757-8612"},{"uid":"c5e49757-8614"},{"uid":"c5e49757-8616"},{"uid":"c5e49757-8618"},{"uid":"c5e49757-8620"},{"uid":"c5e49757-8622"},{"uid":"c5e49757-8624"},{"uid":"c5e49757-8626"},{"uid":"c5e49757-8628"},{"uid":"c5e49757-8630"},{"uid":"c5e49757-8632"},{"uid":"c5e49757-8634"},{"uid":"c5e49757-8636"},{"uid":"c5e49757-8638"},{"uid":"c5e49757-8640"},{"uid":"c5e49757-8642"},{"uid":"c5e49757-8644"},{"uid":"c5e49757-8646"},{"uid":"c5e49757-8648"},{"uid":"c5e49757-8650"},{"uid":"c5e49757-8652"},{"uid":"c5e49757-8654"},{"uid":"c5e49757-8656"},{"uid":"c5e49757-8658"},{"uid":"c5e49757-8660"},{"uid":"c5e49757-8662"},{"uid":"c5e49757-8664"},{"uid":"c5e49757-8666"},{"uid":"c5e49757-8668"},{"uid":"c5e49757-8670"},{"uid":"c5e49757-8672"},{"uid":"c5e49757-8674"},{"uid":"c5e49757-8676"},{"uid":"c5e49757-8678"},{"uid":"c5e49757-8680"},{"uid":"c5e49757-8682"},{"uid":"c5e49757-8684"},{"uid":"c5e49757-8686"},{"uid":"c5e49757-8688"},{"uid":"c5e49757-8690"},{"uid":"c5e49757-8692"},{"uid":"c5e49757-8694"},{"uid":"c5e49757-8696"},{"uid":"c5e49757-8698"},{"uid":"c5e49757-8700"},{"uid":"c5e49757-8702"},{"uid":"c5e49757-8704"},{"uid":"c5e49757-8706"},{"uid":"c5e49757-8708"}],"importedBy":[{"uid":"c5e49757-9256"}]},"c5e49757-8712":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/language/css/monaco.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8713"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8546"},{"uid":"c5e49757-9418","dynamic":true}],"importedBy":[{"uid":"c5e49757-9256"}]},"c5e49757-8714":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/language/html/monaco.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8715"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8546"},{"uid":"c5e49757-9420","dynamic":true}],"importedBy":[{"uid":"c5e49757-9256"}]},"c5e49757-8716":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/language/json/monaco.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8717"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8546"},{"uid":"c5e49757-9422","dynamic":true}],"importedBy":[{"uid":"c5e49757-9256"}]},"c5e49757-8718":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/language/typescript/monaco.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8719"},"imported":[{"uid":"c5e49757-3806"},{"uid":"c5e49757-8546"},{"uid":"c5e49757-9424","dynamic":true}],"importedBy":[{"uid":"c5e49757-9256"},{"uid":"c5e49757-9424"}]},"c5e49757-8720":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/commands.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8721"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-8512"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8466"}],"importedBy":[{"uid":"c5e49757-8722"}]},"c5e49757-8722":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8723"},"imported":[{"uid":"c5e49757-7476"},{"uid":"c5e49757-8720"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8466"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8724":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8725"},"imported":[],"importedBy":[{"uid":"c5e49757-8726"}]},"c5e49757-8726":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8727"},"imported":[{"uid":"c5e49757-7708"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-7458"},{"uid":"c5e49757-8724"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7550"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8728":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8729"},"imported":[],"importedBy":[{"uid":"c5e49757-8730"}]},"c5e49757-8730":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8731"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8728"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-7814"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8732":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/caretOperations/browser/moveCaretCommand.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8733"},"imported":[{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"}],"importedBy":[{"uid":"c5e49757-8734"}]},"c5e49757-8734":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8735"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8732"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8736":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/caretOperations/browser/transpose.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8737"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-7840"},{"uid":"c5e49757-7842"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8738":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/uuid.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8739"},"imported":[],"importedBy":[{"uid":"c5e49757-8766"},{"uid":"c5e49757-8740"},{"uid":"c5e49757-9070"},{"uid":"c5e49757-9010"}]},"c5e49757-8740":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/dataTransfer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8741"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7438"},{"uid":"c5e49757-8738"}],"importedBy":[{"uid":"c5e49757-8766"},{"uid":"c5e49757-8748"},{"uid":"c5e49757-8930"},{"uid":"c5e49757-8746"}]},"c5e49757-8742":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/hierarchicalKind.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8743"},"imported":[],"importedBy":[{"uid":"c5e49757-8924"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8802"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8748"},{"uid":"c5e49757-8930"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8770"},{"uid":"c5e49757-8798"},{"uid":"c5e49757-8774"},{"uid":"c5e49757-8786"}]},"c5e49757-8744":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/dnd/browser/dnd.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8745"},"imported":[{"uid":"c5e49757-7554"}],"importedBy":[{"uid":"c5e49757-8930"},{"uid":"c5e49757-8746"}]},"c5e49757-8746":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/dnd.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8747"},"imported":[{"uid":"c5e49757-8220"},{"uid":"c5e49757-8740"},{"uid":"c5e49757-7598"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-8744"}],"importedBy":[{"uid":"c5e49757-8766"},{"uid":"c5e49757-8930"}]},"c5e49757-8748":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8749"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-8740"},{"uid":"c5e49757-8742"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7598"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8208"}],"importedBy":[{"uid":"c5e49757-8924"},{"uid":"c5e49757-8932"},{"uid":"c5e49757-8766"}]},"c5e49757-8750":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetParser.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8751"},"imported":[],"importedBy":[{"uid":"c5e49757-9050"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-9012"},{"uid":"c5e49757-8752"},{"uid":"c5e49757-9052"},{"uid":"c5e49757-9010"},{"uid":"c5e49757-8998"}]},"c5e49757-8752":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/edit.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8753"},"imported":[{"uid":"c5e49757-8180"},{"uid":"c5e49757-8750"}],"importedBy":[{"uid":"c5e49757-8766"},{"uid":"c5e49757-8930"},{"uid":"c5e49757-8764"}]},"c5e49757-8754":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineProgress/browser/inlineProgressWidget.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8755"},"imported":[],"importedBy":[{"uid":"c5e49757-8756"}]},"c5e49757-8756":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineProgress/browser/inlineProgress.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8757"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-8754"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9212"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8930"}]},"c5e49757-8758":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/message/browser/messageController.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8759"},"imported":[],"importedBy":[{"uid":"c5e49757-8760"}]},"c5e49757-8760":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/message/browser/messageController.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8761"},"imported":[{"uid":"c5e49757-8162"},{"uid":"c5e49757-7708"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8758"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8166"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8142"},{"uid":"c5e49757-7518"}],"importedBy":[{"uid":"c5e49757-8858"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9208"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8800"}]},"c5e49757-8762":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8763"},"imported":[],"importedBy":[{"uid":"c5e49757-8764"}]},"c5e49757-8764":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8765"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8396"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8762"},{"uid":"c5e49757-8180"},{"uid":"c5e49757-8752"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8134"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7830"}],"importedBy":[{"uid":"c5e49757-8766"},{"uid":"c5e49757-8930"}]},"c5e49757-8766":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8767"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-8740"},{"uid":"c5e49757-8742"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7598"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-8738"},{"uid":"c5e49757-7804"},{"uid":"c5e49757-8746"},{"uid":"c5e49757-8180"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8748"},{"uid":"c5e49757-8752"},{"uid":"c5e49757-8536"},{"uid":"c5e49757-8756"},{"uid":"c5e49757-8760"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8432"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8204"},{"uid":"c5e49757-8314"},{"uid":"c5e49757-8764"}],"importedBy":[{"uid":"c5e49757-8768"},{"uid":"c5e49757-8924"}]},"c5e49757-8768":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/clipboard/browser/clipboard.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8769"},"imported":[{"uid":"c5e49757-7496"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7804"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-8432"},{"uid":"c5e49757-7550"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8770":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/common/types.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8771"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-8742"}],"importedBy":[{"uid":"c5e49757-8802"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8890"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8798"},{"uid":"c5e49757-8774"},{"uid":"c5e49757-8786"}]},"c5e49757-8772":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeAction.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8773"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-8180"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-8536"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-8204"},{"uid":"c5e49757-7560"},{"uid":"c5e49757-8770"},{"uid":"c5e49757-8742"}],"importedBy":[{"uid":"c5e49757-8802"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8790"},{"uid":"c5e49757-8890"},{"uid":"c5e49757-8798"},{"uid":"c5e49757-8774"}]},"c5e49757-8774":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionKeybindingResolver.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8775"},"imported":[{"uid":"c5e49757-8742"},{"uid":"c5e49757-7490"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8770"},{"uid":"c5e49757-7830"}],"importedBy":[{"uid":"c5e49757-8800"}]},"c5e49757-8776":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8777"},"imported":[],"importedBy":[{"uid":"c5e49757-8780"}]},"c5e49757-8778":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8779"},"imported":[],"importedBy":[{"uid":"c5e49757-8780"}]},"c5e49757-8780":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codiconStyles.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8781"},"imported":[{"uid":"c5e49757-8776"},{"uid":"c5e49757-8778"}],"importedBy":[{"uid":"c5e49757-9212"},{"uid":"c5e49757-9236"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-8786"}]},"c5e49757-8782":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8783"},"imported":[],"importedBy":[{"uid":"c5e49757-8784"}]},"c5e49757-8784":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8785"},"imported":[{"uid":"c5e49757-8782"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7752"}],"importedBy":[{"uid":"c5e49757-9236"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-8786"}]},"c5e49757-8786":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8787"},"imported":[{"uid":"c5e49757-8780"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-8770"},{"uid":"c5e49757-8784"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8742"}],"importedBy":[{"uid":"c5e49757-8800"}]},"c5e49757-8788":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8789"},"imported":[],"importedBy":[{"uid":"c5e49757-8790"}]},"c5e49757-8790":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8791"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-8788"},{"uid":"c5e49757-7896"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7830"}],"importedBy":[{"uid":"c5e49757-8804"},{"uid":"c5e49757-8800"}]},"c5e49757-8792":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/actionWidget/browser/actionWidget.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8793"},"imported":[],"importedBy":[{"uid":"c5e49757-8796"},{"uid":"c5e49757-8794"}]},"c5e49757-8794":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/actionWidget/browser/actionList.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8795"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8386"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-8792"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8134"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-8284"},{"uid":"c5e49757-7752"}],"importedBy":[{"uid":"c5e49757-8796"}]},"c5e49757-8796":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/actionWidget/browser/actionWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8797"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8792"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8794"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8134"},{"uid":"c5e49757-7596"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7752"}],"importedBy":[{"uid":"c5e49757-8800"}]},"c5e49757-8798":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8799"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8204"},{"uid":"c5e49757-8770"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8742"}],"importedBy":[{"uid":"c5e49757-8802"},{"uid":"c5e49757-8800"}]},"c5e49757-8800":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionController.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8801"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7708"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7490"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8774"},{"uid":"c5e49757-8786"},{"uid":"c5e49757-8790"},{"uid":"c5e49757-8760"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8796"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8302"},{"uid":"c5e49757-8204"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-7764"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-8770"},{"uid":"c5e49757-8798"},{"uid":"c5e49757-8742"}],"importedBy":[{"uid":"c5e49757-8804"},{"uid":"c5e49757-8802"},{"uid":"c5e49757-8890"}]},"c5e49757-8802":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8803"},"imported":[{"uid":"c5e49757-8742"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8770"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8798"}],"importedBy":[{"uid":"c5e49757-8804"}]},"c5e49757-8804":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8805"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-8184"},{"uid":"c5e49757-8802"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8790"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7602"},{"uid":"c5e49757-7554"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8806":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/codelens/browser/codelens.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8807"},"imported":[{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7678"}],"importedBy":[{"uid":"c5e49757-8814"},{"uid":"c5e49757-8808"}]},"c5e49757-8808":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/codelens/browser/codeLensCache.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8809"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7626"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8806"},{"uid":"c5e49757-7596"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8282"},{"uid":"c5e49757-7486"},{"uid":"c5e49757-7518"}],"importedBy":[{"uid":"c5e49757-8814"}]},"c5e49757-8810":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/codelens/browser/codelensWidget.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8811"},"imported":[],"importedBy":[{"uid":"c5e49757-8812"}]},"c5e49757-8812":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/codelens/browser/codelensWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8813"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8146"},{"uid":"c5e49757-8810"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8058"}],"importedBy":[{"uid":"c5e49757-8814"}]},"c5e49757-8814":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/codelens/browser/codelensController.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8815"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8454"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8806"},{"uid":"c5e49757-8808"},{"uid":"c5e49757-8812"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-8314"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-7678"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8816":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/defaultDocumentColorProvider.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8817"},"imported":[{"uid":"c5e49757-7668"},{"uid":"c5e49757-7680"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8448"}],"importedBy":[{"uid":"c5e49757-8904"},{"uid":"c5e49757-8818"}]},"c5e49757-8818":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/color.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8819"},"imported":[{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8816"},{"uid":"c5e49757-7590"}],"importedBy":[{"uid":"c5e49757-8820"},{"uid":"c5e49757-8828"}]},"c5e49757-8820":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorDetector.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8821"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7452"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7754"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8818"},{"uid":"c5e49757-7590"}],"importedBy":[{"uid":"c5e49757-8902"},{"uid":"c5e49757-8828"}]},"c5e49757-8822":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorPickerModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8823"},"imported":[{"uid":"c5e49757-7454"}],"importedBy":[{"uid":"c5e49757-8828"}]},"c5e49757-8824":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorPicker.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8825"},"imported":[],"importedBy":[{"uid":"c5e49757-8906"},{"uid":"c5e49757-8904"},{"uid":"c5e49757-8826"}]},"c5e49757-8826":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8827"},"imported":[{"uid":"c5e49757-7520"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7728"},{"uid":"c5e49757-7778"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-8824"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-8418"}],"importedBy":[{"uid":"c5e49757-8828"}]},"c5e49757-8828":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8829"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8818"},{"uid":"c5e49757-8820"},{"uid":"c5e49757-8822"},{"uid":"c5e49757-8826"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7518"}],"importedBy":[{"uid":"c5e49757-8902"},{"uid":"c5e49757-8904"}]},"c5e49757-8830":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8831"},"imported":[],"importedBy":[{"uid":"c5e49757-8860"}]},"c5e49757-8832":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8833"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"}],"importedBy":[{"uid":"c5e49757-8860"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9176"}]},"c5e49757-8834":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/peekView/browser/media/peekViewWidget.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8835"},"imported":[],"importedBy":[{"uid":"c5e49757-8842"}]},"c5e49757-8836":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8837"},"imported":[{"uid":"c5e49757-7430"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7722"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-7814"}],"importedBy":[{"uid":"c5e49757-8858"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-9168"}]},"c5e49757-8838":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/zoneWidget/browser/zoneWidget.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8839"},"imported":[],"importedBy":[{"uid":"c5e49757-8840"}]},"c5e49757-8840":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/zoneWidget/browser/zoneWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8841"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8332"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-8156"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7430"},{"uid":"c5e49757-8838"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8058"}],"importedBy":[{"uid":"c5e49757-8842"}]},"c5e49757-8842":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/peekView/browser/peekView.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8843"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7430"},{"uid":"c5e49757-8834"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-8836"},{"uid":"c5e49757-8840"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7596"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7752"}],"importedBy":[{"uid":"c5e49757-8858"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-8886"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-9070"}]},"c5e49757-8844":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8845"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-8156"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7626"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-8858"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-8856"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-8848"}]},"c5e49757-8846":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8847"},"imported":[],"importedBy":[{"uid":"c5e49757-8850"}]},"c5e49757-8848":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8849"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8400"},{"uid":"c5e49757-8380"},{"uid":"c5e49757-8382"},{"uid":"c5e49757-8150"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7540"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-8202"},{"uid":"c5e49757-8284"},{"uid":"c5e49757-8844"}],"importedBy":[{"uid":"c5e49757-8850"}]},"c5e49757-8850":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8851"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8336"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-8846"},{"uid":"c5e49757-8836"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7604"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-7540"},{"uid":"c5e49757-8848"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-8202"},{"uid":"c5e49757-8376"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-8056"},{"uid":"c5e49757-8844"}],"importedBy":[{"uid":"c5e49757-8852"}]},"c5e49757-8852":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8853"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7458"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7556"},{"uid":"c5e49757-8376"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-8282"},{"uid":"c5e49757-8844"},{"uid":"c5e49757-8850"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8374"}],"importedBy":[{"uid":"c5e49757-9250"},{"uid":"c5e49757-8858"}]},"c5e49757-8854":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8855"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7596"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-7556"},{"uid":"c5e49757-8094"}],"importedBy":[{"uid":"c5e49757-8858"}]},"c5e49757-8856":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/goToSymbol.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8857"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8844"}],"importedBy":[{"uid":"c5e49757-8858"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-9176"}]},"c5e49757-8858":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8859"},"imported":[{"uid":"c5e49757-7708"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7458"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-8536"},{"uid":"c5e49757-8538"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-8836"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-8844"},{"uid":"c5e49757-8854"},{"uid":"c5e49757-8760"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-8204"},{"uid":"c5e49757-8856"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7438"},{"uid":"c5e49757-8374"}],"importedBy":[{"uid":"c5e49757-9212"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-9070"}]},"c5e49757-8860":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8861"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8830"},{"uid":"c5e49757-8536"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-7540"},{"uid":"c5e49757-8832"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-8856"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8058"}],"importedBy":[{"uid":"c5e49757-9212"},{"uid":"c5e49757-8900"}]},"c5e49757-8862":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hoverOperation.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8863"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"}],"importedBy":[{"uid":"c5e49757-8870"},{"uid":"c5e49757-8872"}]},"c5e49757-8864":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hoverTypes.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8865"},"imported":[],"importedBy":[{"uid":"c5e49757-8902"},{"uid":"c5e49757-9060"},{"uid":"c5e49757-8900"},{"uid":"c5e49757-9076"},{"uid":"c5e49757-9130"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-9058"},{"uid":"c5e49757-8870"},{"uid":"c5e49757-9074"},{"uid":"c5e49757-9128"}]},"c5e49757-8866":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/resizable/resizable.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8867"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8332"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"}],"importedBy":[{"uid":"c5e49757-9048"},{"uid":"c5e49757-8868"},{"uid":"c5e49757-9040"}]},"c5e49757-8868":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/resizableContentWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8869"},"imported":[{"uid":"c5e49757-8866"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7518"}],"importedBy":[{"uid":"c5e49757-8870"}]},"c5e49757-8870":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/contentHover.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8871"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8140"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-8862"},{"uid":"c5e49757-8864"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8868"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7722"}],"importedBy":[{"uid":"c5e49757-8900"},{"uid":"c5e49757-8904"}]},"c5e49757-8872":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/marginHover.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8873"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8166"},{"uid":"c5e49757-8862"},{"uid":"c5e49757-8140"},{"uid":"c5e49757-7630"}],"importedBy":[{"uid":"c5e49757-8900"}]},"c5e49757-8874":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/getHover.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8875"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7678"}],"importedBy":[{"uid":"c5e49757-8876"},{"uid":"c5e49757-9074"}]},"c5e49757-8876":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8877"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8166"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-8874"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-8142"},{"uid":"c5e49757-7678"}],"importedBy":[{"uid":"c5e49757-8900"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-9074"}]},"c5e49757-8878":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/browser/markerNavigationService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8879"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7440"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7596"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8302"},{"uid":"c5e49757-7590"}],"importedBy":[{"uid":"c5e49757-8888"}]},"c5e49757-8880":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/browser/media/gotoErrorWidget.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8881"},"imported":[],"importedBy":[{"uid":"c5e49757-8886"}]},"c5e49757-8882":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/severityIcon/browser/media/severityIcon.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8883"},"imported":[],"importedBy":[{"uid":"c5e49757-8884"}]},"c5e49757-8884":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/severityIcon/browser/severityIcon.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8885"},"imported":[{"uid":"c5e49757-8882"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-8092"}],"importedBy":[{"uid":"c5e49757-8886"}]},"c5e49757-8886":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8887"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-8880"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8202"},{"uid":"c5e49757-8302"},{"uid":"c5e49757-8142"},{"uid":"c5e49757-8884"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-7814"}],"importedBy":[{"uid":"c5e49757-8888"}]},"c5e49757-8888":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/gotoError/browser/gotoError.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8889"},"imported":[{"uid":"c5e49757-7476"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8878"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-8886"}],"importedBy":[{"uid":"c5e49757-9212"},{"uid":"c5e49757-8890"}]},"c5e49757-8890":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8891"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7710"},{"uid":"c5e49757-8772"},{"uid":"c5e49757-8800"},{"uid":"c5e49757-8770"},{"uid":"c5e49757-8888"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8302"},{"uid":"c5e49757-8142"},{"uid":"c5e49757-8204"}],"importedBy":[{"uid":"c5e49757-8900"}]},"c5e49757-8892":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8893"},"imported":[],"importedBy":[{"uid":"c5e49757-8896"}]},"c5e49757-8894":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/commandIds.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8895"},"imported":[],"importedBy":[{"uid":"c5e49757-9056"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-8896"}]},"c5e49757-8896":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8897"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8268"},{"uid":"c5e49757-8386"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-8892"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-8894"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8134"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-7560"},{"uid":"c5e49757-8418"}],"importedBy":[{"uid":"c5e49757-8900"},{"uid":"c5e49757-9058"},{"uid":"c5e49757-9054"}]},"c5e49757-8898":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hover.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8899"},"imported":[],"importedBy":[{"uid":"c5e49757-8900"}]},"c5e49757-8900":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/hover/browser/hover.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8901"},"imported":[{"uid":"c5e49757-7458"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-8870"},{"uid":"c5e49757-8872"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8142"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-8864"},{"uid":"c5e49757-8876"},{"uid":"c5e49757-8890"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8898"}],"importedBy":[{"uid":"c5e49757-9212"},{"uid":"c5e49757-8902"}]},"c5e49757-8902":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/colorContributions.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8903"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8820"},{"uid":"c5e49757-8828"},{"uid":"c5e49757-8900"},{"uid":"c5e49757-8864"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8904":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8905"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-8828"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8870"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-8816"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-8824"}],"importedBy":[{"uid":"c5e49757-8906"}]},"c5e49757-8906":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8907"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8904"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-8824"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8908":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/comment/browser/blockCommentCommand.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8909"},"imported":[{"uid":"c5e49757-8186"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"}],"importedBy":[{"uid":"c5e49757-8912"},{"uid":"c5e49757-8910"}]},"c5e49757-8910":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/comment/browser/lineCommentCommand.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8911"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-8186"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-8908"}],"importedBy":[{"uid":"c5e49757-8912"}]},"c5e49757-8912":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/comment/browser/comment.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8913"},"imported":[{"uid":"c5e49757-7458"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-8908"},{"uid":"c5e49757-8910"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7558"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8914":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8915"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8268"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8134"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-8208"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8916":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8917"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8918":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/dnd/browser/dnd.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8919"},"imported":[],"importedBy":[{"uid":"c5e49757-8922"}]},"c5e49757-8920":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/dnd/browser/dragAndDropCommand.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8921"},"imported":[{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"}],"importedBy":[{"uid":"c5e49757-8922"}]},"c5e49757-8922":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/dnd/browser/dnd.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8923"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-8918"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8920"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8924":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8925"},"imported":[{"uid":"c5e49757-8742"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8448"},{"uid":"c5e49757-8766"},{"uid":"c5e49757-8748"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8926":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/treeViewsDnd.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8927"},"imported":[],"importedBy":[{"uid":"c5e49757-8930"},{"uid":"c5e49757-8928"}]},"c5e49757-8928":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/treeViewsDndService.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8929"},"imported":[{"uid":"c5e49757-7596"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8926"}],"importedBy":[{"uid":"c5e49757-8930"}]},"c5e49757-8930":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8931"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-8740"},{"uid":"c5e49757-8742"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8746"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8926"},{"uid":"c5e49757-8928"},{"uid":"c5e49757-8536"},{"uid":"c5e49757-8756"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8744"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8752"},{"uid":"c5e49757-8764"}],"importedBy":[{"uid":"c5e49757-8932"}]},"c5e49757-8932":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8933"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-8184"},{"uid":"c5e49757-8448"},{"uid":"c5e49757-8748"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7602"},{"uid":"c5e49757-7554"},{"uid":"c5e49757-8930"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8934":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findDecorations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8935"},"imported":[{"uid":"c5e49757-7468"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-7814"}],"importedBy":[{"uid":"c5e49757-8942"}]},"c5e49757-8936":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/replaceAllCommand.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8937"},"imported":[{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-8942"}]},"c5e49757-8938":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/search.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8939"},"imported":[{"uid":"c5e49757-7492"}],"importedBy":[{"uid":"c5e49757-8940"}]},"c5e49757-8940":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/replacePattern.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8941"},"imported":[{"uid":"c5e49757-8938"}],"importedBy":[{"uid":"c5e49757-8942"}]},"c5e49757-8942":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8943"},"imported":[{"uid":"c5e49757-7640"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7840"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7632"},{"uid":"c5e49757-8934"},{"uid":"c5e49757-8936"},{"uid":"c5e49757-8940"},{"uid":"c5e49757-7550"}],"importedBy":[{"uid":"c5e49757-8960"},{"uid":"c5e49757-8946"},{"uid":"c5e49757-8948"},{"uid":"c5e49757-8958"}]},"c5e49757-8944":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findOptionsWidget.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8945"},"imported":[],"importedBy":[{"uid":"c5e49757-8946"}]},"c5e49757-8946":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findOptionsWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8947"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8944"},{"uid":"c5e49757-8342"},{"uid":"c5e49757-7778"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-8942"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-8222"}],"importedBy":[{"uid":"c5e49757-8960"}]},"c5e49757-8948":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findState.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8949"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8942"}],"importedBy":[{"uid":"c5e49757-8960"}]},"c5e49757-8950":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findWidget.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8951"},"imported":[],"importedBy":[{"uid":"c5e49757-8958"}]},"c5e49757-8952":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/replaceInput.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8953"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8320"},{"uid":"c5e49757-8350"},{"uid":"c5e49757-7778"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-8352"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8222"}],"importedBy":[{"uid":"c5e49757-8954"}]},"c5e49757-8954":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/history/browser/contextScopedHistoryWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8955"},"imported":[{"uid":"c5e49757-8354"},{"uid":"c5e49757-8952"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7556"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7518"}],"importedBy":[{"uid":"c5e49757-8958"},{"uid":"c5e49757-9004"}]},"c5e49757-8956":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/history/browser/historyWidgetKeybindingHint.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8957"},"imported":[],"importedBy":[{"uid":"c5e49757-8958"}]},"c5e49757-8958":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8959"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7708"},{"uid":"c5e49757-8320"},{"uid":"c5e49757-8332"},{"uid":"c5e49757-7778"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-8950"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8942"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8954"},{"uid":"c5e49757-8956"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-7764"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-8284"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-8222"}],"importedBy":[{"uid":"c5e49757-8960"}]},"c5e49757-8960":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/find/browser/findController.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8961"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7816"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-8942"},{"uid":"c5e49757-8946"},{"uid":"c5e49757-8948"},{"uid":"c5e49757-8958"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-8432"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8134"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-8314"},{"uid":"c5e49757-8282"},{"uid":"c5e49757-7814"}],"importedBy":[{"uid":"c5e49757-9212"},{"uid":"c5e49757-9112"}]},"c5e49757-8962":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/folding.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8963"},"imported":[],"importedBy":[{"uid":"c5e49757-8976"}]},"c5e49757-8964":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/foldingRanges.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8965"},"imported":[],"importedBy":[{"uid":"c5e49757-8976"},{"uid":"c5e49757-8966"},{"uid":"c5e49757-8970"},{"uid":"c5e49757-8974"}]},"c5e49757-8966":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/foldingModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8967"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-8964"},{"uid":"c5e49757-7516"}],"importedBy":[{"uid":"c5e49757-8976"},{"uid":"c5e49757-9176"}]},"c5e49757-8968":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/hiddenRangeModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8969"},"imported":[{"uid":"c5e49757-7640"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7988"}],"importedBy":[{"uid":"c5e49757-8976"}]},"c5e49757-8970":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/indentRangeProvider.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8971"},"imported":[{"uid":"c5e49757-7896"},{"uid":"c5e49757-8964"}],"importedBy":[{"uid":"c5e49757-8976"},{"uid":"c5e49757-9172"}]},"c5e49757-8972":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/foldingDecorations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8973"},"imported":[{"uid":"c5e49757-7476"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7544"}],"importedBy":[{"uid":"c5e49757-8976"},{"uid":"c5e49757-9168"}]},"c5e49757-8974":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/syntaxRangeProvider.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8975"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8964"}],"importedBy":[{"uid":"c5e49757-8976"},{"uid":"c5e49757-9172"}]},"c5e49757-8976":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/folding/browser/folding.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8977"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7458"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-8962"},{"uid":"c5e49757-8454"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-8966"},{"uid":"c5e49757-8968"},{"uid":"c5e49757-8970"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8972"},{"uid":"c5e49757-8964"},{"uid":"c5e49757-8974"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-7452"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-7590"}],"importedBy":[{"uid":"c5e49757-9212"},{"uid":"c5e49757-9176"},{"uid":"c5e49757-9172"}]},"c5e49757-8978":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8979"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-7528"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8980":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/format/browser/formatActions.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8981"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7458"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7620"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8300"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8544"},{"uid":"c5e49757-8540"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8444"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8204"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8982":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/documentSymbols/browser/outlineModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8983"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7438"},{"uid":"c5e49757-7626"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7596"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7678"}],"importedBy":[{"uid":"c5e49757-9236"},{"uid":"c5e49757-8984"},{"uid":"c5e49757-9210"},{"uid":"c5e49757-9234"},{"uid":"c5e49757-9172"}]},"c5e49757-8984":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/documentSymbols/browser/documentSymbols.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8985"},"imported":[{"uid":"c5e49757-7456"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7540"},{"uid":"c5e49757-8982"},{"uid":"c5e49757-7546"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-8986":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8987"},"imported":[{"uid":"c5e49757-8252"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7768"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-9056"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-9032"}]},"c5e49757-8988":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/ghostText.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8989"},"imported":[],"importedBy":[{"uid":"c5e49757-8994"}]},"c5e49757-8990":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/ghostText.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8991"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8500"}],"importedBy":[{"uid":"c5e49757-9124"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-9000"}]},"c5e49757-8992":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/utils.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8993"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-8994"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-9118"},{"uid":"c5e49757-8998"}]},"c5e49757-8994":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8995"},"imported":[{"uid":"c5e49757-7568"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-8988"},{"uid":"c5e49757-7524"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7580"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-7690"},{"uid":"c5e49757-7692"},{"uid":"c5e49757-7696"},{"uid":"c5e49757-8990"},{"uid":"c5e49757-8992"}],"importedBy":[{"uid":"c5e49757-9054"},{"uid":"c5e49757-9118"}]},"c5e49757-8996":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/fixBrackets.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8997"},"imported":[{"uid":"c5e49757-8004"},{"uid":"c5e49757-7994"},{"uid":"c5e49757-8010"},{"uid":"c5e49757-7998"},{"uid":"c5e49757-8002"}],"importedBy":[{"uid":"c5e49757-8998"}]},"c5e49757-8998":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-8999"},"imported":[{"uid":"c5e49757-7552"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7626"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8996"},{"uid":"c5e49757-8992"},{"uid":"c5e49757-8750"}],"importedBy":[{"uid":"c5e49757-9002"}]},"c5e49757-9000":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/singleTextEdit.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9001"},"imported":[{"uid":"c5e49757-7612"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7992"},{"uid":"c5e49757-8500"},{"uid":"c5e49757-8990"}],"importedBy":[{"uid":"c5e49757-9016"},{"uid":"c5e49757-9052"},{"uid":"c5e49757-9002"}]},"c5e49757-9002":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9003"},"imported":[{"uid":"c5e49757-7456"},{"uid":"c5e49757-8150"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8998"},{"uid":"c5e49757-8500"},{"uid":"c5e49757-9000"}],"importedBy":[{"uid":"c5e49757-9016"}]},"c5e49757-9004":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggest.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9005"},"imported":[{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-8150"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7452"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7540"},{"uid":"c5e49757-8750"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8954"}],"importedBy":[{"uid":"c5e49757-9014"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9182"},{"uid":"c5e49757-9056"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-9048"}]},"c5e49757-9006":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetSession.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9007"},"imported":[],"importedBy":[{"uid":"c5e49757-9012"}]},"c5e49757-9008":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/labels.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9009"},"imported":[{"uid":"c5e49757-8022"},{"uid":"c5e49757-7434"}],"importedBy":[{"uid":"c5e49757-9010"}]},"c5e49757-9010":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetVariables.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9011"},"imported":[{"uid":"c5e49757-9008"},{"uid":"c5e49757-7462"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-8738"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-8750"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8208"}],"importedBy":[{"uid":"c5e49757-9012"}]},"c5e49757-9012":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetSession.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9013"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-9006"},{"uid":"c5e49757-8186"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8202"},{"uid":"c5e49757-8208"},{"uid":"c5e49757-8750"},{"uid":"c5e49757-9010"}],"importedBy":[{"uid":"c5e49757-9014"},{"uid":"c5e49757-9052"}]},"c5e49757-9014":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetController2.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9015"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7562"},{"uid":"c5e49757-9012"}],"importedBy":[{"uid":"c5e49757-9212"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-9016"}]},"c5e49757-9016":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9017"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7640"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-8186"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-8990"},{"uid":"c5e49757-9002"},{"uid":"c5e49757-8500"},{"uid":"c5e49757-8992"},{"uid":"c5e49757-9014"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-9000"},{"uid":"c5e49757-7992"}],"importedBy":[{"uid":"c5e49757-9054"}]},"c5e49757-9018":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestMemory.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9019"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7626"},{"uid":"c5e49757-8206"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7596"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8282"}],"importedBy":[{"uid":"c5e49757-9050"},{"uid":"c5e49757-9182"}]},"c5e49757-9020":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/wordContextKey.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9021"},"imported":[{"uid":"c5e49757-7550"}],"importedBy":[{"uid":"c5e49757-9050"}]},"c5e49757-9022":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestAlternatives.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9023"},"imported":[{"uid":"c5e49757-7550"}],"importedBy":[{"uid":"c5e49757-9050"}]},"c5e49757-9024":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestCommitCharacters.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9025"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7620"}],"importedBy":[{"uid":"c5e49757-9050"}]},"c5e49757-9026":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/smartSelect/browser/bracketSelections.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9027"},"imported":[{"uid":"c5e49757-7440"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-9162"},{"uid":"c5e49757-9028"}]},"c5e49757-9028":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/wordDistance.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9029"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-9026"}],"importedBy":[{"uid":"c5e49757-9182"},{"uid":"c5e49757-9032"}]},"c5e49757-9030":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/completionModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9031"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-8150"},{"uid":"c5e49757-7492"}],"importedBy":[{"uid":"c5e49757-9182"},{"uid":"c5e49757-9032"}]},"c5e49757-9032":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9033"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-8300"},{"uid":"c5e49757-9028"},{"uid":"c5e49757-8432"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7562"},{"uid":"c5e49757-7560"},{"uid":"c5e49757-9030"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8150"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-8986"},{"uid":"c5e49757-9014"},{"uid":"c5e49757-8112"}],"importedBy":[{"uid":"c5e49757-9050"},{"uid":"c5e49757-9182"}]},"c5e49757-9034":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestOvertypingCapturer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9035"},"imported":[{"uid":"c5e49757-7450"}],"importedBy":[{"uid":"c5e49757-9050"}]},"c5e49757-9036":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/media/suggest.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9037"},"imported":[],"importedBy":[{"uid":"c5e49757-9048"}]},"c5e49757-9038":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestWidgetStatus.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9039"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9048"}]},"c5e49757-9040":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9041"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8166"},{"uid":"c5e49757-8866"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9048"},{"uid":"c5e49757-9046"}]},"c5e49757-9042":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/files/common/files.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9043"},"imported":[],"importedBy":[{"uid":"c5e49757-9046"},{"uid":"c5e49757-9044"}]},"c5e49757-9044":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/getIconClasses.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9045"},"imported":[{"uid":"c5e49757-7514"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7604"},{"uid":"c5e49757-9042"}],"importedBy":[{"uid":"c5e49757-9046"}]},"c5e49757-9046":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9047"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8382"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-8150"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-9044"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-9042"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-9040"}],"importedBy":[{"uid":"c5e49757-9048"}]},"c5e49757-9048":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9049"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8780"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8110"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-9036"},{"uid":"c5e49757-8836"},{"uid":"c5e49757-9038"},{"uid":"c5e49757-8784"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8282"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-7764"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-8866"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-9040"},{"uid":"c5e49757-9046"},{"uid":"c5e49757-8284"},{"uid":"c5e49757-7708"}],"importedBy":[{"uid":"c5e49757-9050"}]},"c5e49757-9050":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestController.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9051"},"imported":[{"uid":"c5e49757-7708"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7500"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7452"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-8454"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-8186"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-9014"},{"uid":"c5e49757-8750"},{"uid":"c5e49757-9018"},{"uid":"c5e49757-9020"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7562"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-9022"},{"uid":"c5e49757-9024"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-9034"},{"uid":"c5e49757-9048"},{"uid":"c5e49757-7560"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7516"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-8058"}],"importedBy":[{"uid":"c5e49757-9212"},{"uid":"c5e49757-9052"}]},"c5e49757-9052":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9053"},"imported":[{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-8750"},{"uid":"c5e49757-9012"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-8500"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7640"},{"uid":"c5e49757-9000"}],"importedBy":[{"uid":"c5e49757-9054"}]},"c5e49757-9054":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9055"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7708"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-7862"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8894"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-8986"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-9016"},{"uid":"c5e49757-9052"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8444"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-8248"}],"importedBy":[{"uid":"c5e49757-9060"},{"uid":"c5e49757-9056"},{"uid":"c5e49757-9058"}]},"c5e49757-9056":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/commands.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9057"},"imported":[{"uid":"c5e49757-8252"},{"uid":"c5e49757-8242"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8894"},{"uid":"c5e49757-8986"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7550"}],"importedBy":[{"uid":"c5e49757-9060"}]},"c5e49757-9058":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9059"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-8864"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-8896"},{"uid":"c5e49757-8166"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7722"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8142"},{"uid":"c5e49757-7560"}],"importedBy":[{"uid":"c5e49757-9060"}]},"c5e49757-9060":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9061"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-8864"},{"uid":"c5e49757-9056"},{"uid":"c5e49757-9058"},{"uid":"c5e49757-9054"},{"uid":"c5e49757-7558"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9062":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/indentation/common/indentUtils.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9063"},"imported":[],"importedBy":[{"uid":"c5e49757-9066"},{"uid":"c5e49757-9090"}]},"c5e49757-9064":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/indentation/common/indentation.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9065"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7852"},{"uid":"c5e49757-8186"},{"uid":"c5e49757-7834"},{"uid":"c5e49757-7470"}],"importedBy":[{"uid":"c5e49757-9066"}]},"c5e49757-9066":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/indentation/browser/indentation.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9067"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7852"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-9062"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8314"},{"uid":"c5e49757-7856"},{"uid":"c5e49757-9064"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9068":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlayHints/browser/inlayHints.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9069"},"imported":[{"uid":"c5e49757-7446"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-7464"}],"importedBy":[{"uid":"c5e49757-9072"},{"uid":"c5e49757-9074"}]},"c5e49757-9070":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9071"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-8738"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7540"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-8842"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8134"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8094"}],"importedBy":[{"uid":"c5e49757-9072"},{"uid":"c5e49757-9176"}]},"c5e49757-9072":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9073"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7626"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7754"},{"uid":"c5e49757-8454"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-8186"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7540"},{"uid":"c5e49757-8832"},{"uid":"c5e49757-9068"},{"uid":"c5e49757-9070"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7596"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-7814"}],"importedBy":[{"uid":"c5e49757-9076"},{"uid":"c5e49757-9074"}]},"c5e49757-9074":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9075"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8864"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-7540"},{"uid":"c5e49757-8874"},{"uid":"c5e49757-8876"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-8142"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-9068"},{"uid":"c5e49757-7426"}],"importedBy":[{"uid":"c5e49757-9076"}]},"c5e49757-9076":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlayHints/browser/inlayHintsContribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9077"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-8864"},{"uid":"c5e49757-9072"},{"uid":"c5e49757-9074"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9078":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplaceCommand.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9079"},"imported":[{"uid":"c5e49757-7470"}],"importedBy":[{"uid":"c5e49757-9082"}]},"c5e49757-9080":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9081"},"imported":[],"importedBy":[{"uid":"c5e49757-9082"}]},"c5e49757-9082":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9083"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-8536"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8300"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-9078"},{"uid":"c5e49757-9080"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9084":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9085"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-7848"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9086":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/commands/trimTrailingWhitespaceCommand.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9087"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-8186"},{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-9094"}]},"c5e49757-9088":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/linesOperations/browser/copyLinesCommand.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9089"},"imported":[{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"}],"importedBy":[{"uid":"c5e49757-9094"}]},"c5e49757-9090":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/linesOperations/browser/moveLinesCommand.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9091"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7852"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7572"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-9062"},{"uid":"c5e49757-7856"},{"uid":"c5e49757-7850"}],"importedBy":[{"uid":"c5e49757-9094"}]},"c5e49757-9092":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/linesOperations/browser/sortLinesCommand.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9093"},"imported":[{"uid":"c5e49757-8186"},{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-9094"}]},"c5e49757-9094":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9095"},"imported":[{"uid":"c5e49757-7458"},{"uid":"c5e49757-7862"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7840"},{"uid":"c5e49757-9086"},{"uid":"c5e49757-7858"},{"uid":"c5e49757-8186"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-9088"},{"uid":"c5e49757-9090"},{"uid":"c5e49757-9092"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7590"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9096":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9097"},"imported":[],"importedBy":[{"uid":"c5e49757-9098"}]},"c5e49757-9098":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9099"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-7452"},{"uid":"c5e49757-9096"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9100":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/links/browser/links.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9101"},"imported":[],"importedBy":[{"uid":"c5e49757-9104"}]},"c5e49757-9102":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/links/browser/getLinks.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9103"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7678"}],"importedBy":[{"uid":"c5e49757-9104"}]},"c5e49757-9104":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/links/browser/links.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9105"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7452"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-9100"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8832"},{"uid":"c5e49757-9102"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-8142"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9106":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9107"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-7564"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9108":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9109"},"imported":[],"importedBy":[{"uid":"c5e49757-9110"}]},"c5e49757-9110":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9111"},"imported":[{"uid":"c5e49757-9108"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-7814"}],"importedBy":[{"uid":"c5e49757-9112"},{"uid":"c5e49757-9202"}]},"c5e49757-9112":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/multicursor/browser/multicursor.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9113"},"imported":[{"uid":"c5e49757-7708"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7458"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7848"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-9110"},{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9114":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/commandIds.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9115"},"imported":[],"importedBy":[{"uid":"c5e49757-9126"}]},"c5e49757-9116":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEdit.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9117"},"imported":[],"importedBy":[{"uid":"c5e49757-9118"}]},"c5e49757-9118":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9119"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-9116"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-7692"},{"uid":"c5e49757-8994"},{"uid":"c5e49757-8992"}],"importedBy":[{"uid":"c5e49757-9124"}]},"c5e49757-9120":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9121"},"imported":[],"importedBy":[{"uid":"c5e49757-9122"}]},"c5e49757-9122":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9123"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-8386"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-9120"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-8286"},{"uid":"c5e49757-8508"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8134"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-7560"}],"importedBy":[{"uid":"c5e49757-9128"},{"uid":"c5e49757-9124"}]},"c5e49757-9124":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEditController.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9125"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-8186"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-9118"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-8990"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-9122"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7446"}],"importedBy":[{"uid":"c5e49757-9130"},{"uid":"c5e49757-9126"},{"uid":"c5e49757-9128"}]},"c5e49757-9126":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/commands.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9127"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-9114"},{"uid":"c5e49757-9124"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7550"}],"importedBy":[{"uid":"c5e49757-9130"}]},"c5e49757-9128":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9129"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-8864"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7560"},{"uid":"c5e49757-9124"},{"uid":"c5e49757-9122"}],"importedBy":[{"uid":"c5e49757-9130"}]},"c5e49757-9130":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9131"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-8864"},{"uid":"c5e49757-9126"},{"uid":"c5e49757-9128"},{"uid":"c5e49757-9124"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9132":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/browser/provideSignatureHelp.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9133"},"imported":[{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7540"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7550"}],"importedBy":[{"uid":"c5e49757-9140"},{"uid":"c5e49757-9134"},{"uid":"c5e49757-9138"}]},"c5e49757-9134":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9135"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7620"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-9132"}],"importedBy":[{"uid":"c5e49757-9140"}]},"c5e49757-9136":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/browser/parameterHints.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9137"},"imported":[],"importedBy":[{"uid":"c5e49757-9138"}]},"c5e49757-9138":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9139"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7708"},{"uid":"c5e49757-7796"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-9136"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-8166"},{"uid":"c5e49757-9132"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8142"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-7544"}],"importedBy":[{"uid":"c5e49757-9140"}]},"c5e49757-9140":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9141"},"imported":[{"uid":"c5e49757-7490"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-9134"},{"uid":"c5e49757-9132"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-9138"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9142":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/rename/browser/renameWidget.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9143"},"imported":[],"importedBy":[{"uid":"c5e49757-9144"}]},"c5e49757-9144":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/rename/browser/renameWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9145"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7708"},{"uid":"c5e49757-8146"},{"uid":"c5e49757-8254"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7452"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-9142"},{"uid":"c5e49757-7524"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-7562"},{"uid":"c5e49757-8284"},{"uid":"c5e49757-7752"},{"uid":"c5e49757-7814"}],"importedBy":[{"uid":"c5e49757-9146"}]},"c5e49757-9146":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/rename/browser/rename.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9147"},"imported":[{"uid":"c5e49757-7708"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-8180"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7676"},{"uid":"c5e49757-8536"},{"uid":"c5e49757-8760"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7602"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7562"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-8204"},{"uid":"c5e49757-7554"},{"uid":"c5e49757-7560"},{"uid":"c5e49757-9144"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9148":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9149"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-8300"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9150":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/common/services/semanticTokensDto.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9151"},"imported":[{"uid":"c5e49757-7578"},{"uid":"c5e49757-7434"}],"importedBy":[{"uid":"c5e49757-9152"}]},"c5e49757-9152":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/semanticTokens/common/getSemanticTokens.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9153"},"imported":[{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7464"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-9150"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7678"}],"importedBy":[{"uid":"c5e49757-9156"},{"uid":"c5e49757-9158"}]},"c5e49757-9154":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/semanticTokens/common/semanticTokensConfig.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9155"},"imported":[],"importedBy":[{"uid":"c5e49757-9156"},{"uid":"c5e49757-9158"}]},"c5e49757-9156":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9157"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7538"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-8118"},{"uid":"c5e49757-9152"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-7452"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8120"},{"uid":"c5e49757-8448"},{"uid":"c5e49757-9154"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9158":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9159"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-9152"},{"uid":"c5e49757-9154"},{"uid":"c5e49757-8118"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-7452"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8120"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9160":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/smartSelect/browser/wordSelections.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9161"},"imported":[{"uid":"c5e49757-7492"},{"uid":"c5e49757-7468"}],"importedBy":[{"uid":"c5e49757-9162"}]},"c5e49757-9162":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9163"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-9026"},{"uid":"c5e49757-9160"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7540"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7464"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9164":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/action/common/actionCommonCategories.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9165"},"imported":[{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-9178"}]},"c5e49757-9166":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScroll.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9167"},"imported":[],"importedBy":[{"uid":"c5e49757-9168"}]},"c5e49757-9168":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9169"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7568"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-9166"},{"uid":"c5e49757-7766"},{"uid":"c5e49757-8836"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7580"},{"uid":"c5e49757-7692"},{"uid":"c5e49757-7696"},{"uid":"c5e49757-8972"}],"importedBy":[{"uid":"c5e49757-9176"}]},"c5e49757-9170":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollElement.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9171"},"imported":[],"importedBy":[{"uid":"c5e49757-9176"},{"uid":"c5e49757-9172"}]},"c5e49757-9172":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9173"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8982"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8974"},{"uid":"c5e49757-8970"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-9170"},{"uid":"c5e49757-7438"},{"uid":"c5e49757-7534"}],"importedBy":[{"uid":"c5e49757-9174"}]},"c5e49757-9174":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9175"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-9172"}],"importedBy":[{"uid":"c5e49757-9176"}]},"c5e49757-9176":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9177"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-9168"},{"uid":"c5e49757-9174"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8134"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8832"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8856"},{"uid":"c5e49757-9070"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-8114"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-9170"},{"uid":"c5e49757-7506"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8966"}],"importedBy":[{"uid":"c5e49757-9180"},{"uid":"c5e49757-9178"}]},"c5e49757-9178":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9179"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-9164"},{"uid":"c5e49757-7558"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-9176"}],"importedBy":[{"uid":"c5e49757-9180"}]},"c5e49757-9180":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollContribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9181"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-9178"},{"uid":"c5e49757-9176"},{"uid":"c5e49757-7558"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9182":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9183"},"imported":[{"uid":"c5e49757-7456"},{"uid":"c5e49757-8150"},{"uid":"c5e49757-7438"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-8448"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-9030"},{"uid":"c5e49757-9004"},{"uid":"c5e49757-9018"},{"uid":"c5e49757-9032"},{"uid":"c5e49757-9028"},{"uid":"c5e49757-8432"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9184":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/tokenization/browser/tokenization.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9185"},"imported":[{"uid":"c5e49757-7452"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9186":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9187"},"imported":[{"uid":"c5e49757-7708"},{"uid":"c5e49757-7720"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7558"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9188":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9189"},"imported":[],"importedBy":[{"uid":"c5e49757-9198"}]},"c5e49757-9190":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9191"},"imported":[],"importedBy":[{"uid":"c5e49757-9196"}]},"c5e49757-9192":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/opener/browser/link.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9193"},"imported":[],"importedBy":[{"uid":"c5e49757-9194"}]},"c5e49757-9194":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/opener/browser/link.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9195"},"imported":[{"uid":"c5e49757-7518"},{"uid":"c5e49757-7800"},{"uid":"c5e49757-7502"},{"uid":"c5e49757-7776"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8142"},{"uid":"c5e49757-9192"},{"uid":"c5e49757-8224"},{"uid":"c5e49757-8222"}],"importedBy":[{"uid":"c5e49757-9196"}]},"c5e49757-9196":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9197"},"imported":[{"uid":"c5e49757-9190"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-8288"},{"uid":"c5e49757-7542"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8166"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-9194"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-7544"}],"importedBy":[{"uid":"c5e49757-9198"}]},"c5e49757-9198":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9199"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-8154"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-9188"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-8058"},{"uid":"c5e49757-7634"},{"uid":"c5e49757-8300"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-8080"},{"uid":"c5e49757-8864"},{"uid":"c5e49757-8876"},{"uid":"c5e49757-9196"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8142"},{"uid":"c5e49757-8314"},{"uid":"c5e49757-8418"},{"uid":"c5e49757-8212"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9200":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9201"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-8024"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-8106"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9202":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9203"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7426"},{"uid":"c5e49757-7708"},{"uid":"c5e49757-7510"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8538"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-9110"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7514"},{"uid":"c5e49757-7626"},{"uid":"c5e49757-8126"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9204":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9205"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-7840"},{"uid":"c5e49757-7444"},{"uid":"c5e49757-7836"},{"uid":"c5e49757-7846"},{"uid":"c5e49757-7628"},{"uid":"c5e49757-7466"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7470"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-7608"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7722"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-8374"}],"importedBy":[{"uid":"c5e49757-9212"},{"uid":"c5e49757-9206"}]},"c5e49757-9206":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9207"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-7846"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-9204"},{"uid":"c5e49757-7546"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9208":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9209"},"imported":[{"uid":"c5e49757-8154"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-8760"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9210":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9211"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-8252"},{"uid":"c5e49757-8482"},{"uid":"c5e49757-8458"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-8982"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7454"}],"importedBy":[{"uid":"c5e49757-9212"}]},"c5e49757-9212":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/editor.all.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9213"},"imported":[{"uid":"c5e49757-7862"},{"uid":"c5e49757-8096"},{"uid":"c5e49757-8722"},{"uid":"c5e49757-8726"},{"uid":"c5e49757-8730"},{"uid":"c5e49757-8734"},{"uid":"c5e49757-8736"},{"uid":"c5e49757-8768"},{"uid":"c5e49757-8804"},{"uid":"c5e49757-8814"},{"uid":"c5e49757-8902"},{"uid":"c5e49757-8906"},{"uid":"c5e49757-8912"},{"uid":"c5e49757-8914"},{"uid":"c5e49757-8916"},{"uid":"c5e49757-8922"},{"uid":"c5e49757-8924"},{"uid":"c5e49757-8932"},{"uid":"c5e49757-8960"},{"uid":"c5e49757-8976"},{"uid":"c5e49757-8978"},{"uid":"c5e49757-8980"},{"uid":"c5e49757-8984"},{"uid":"c5e49757-9060"},{"uid":"c5e49757-8756"},{"uid":"c5e49757-8858"},{"uid":"c5e49757-8860"},{"uid":"c5e49757-8888"},{"uid":"c5e49757-8900"},{"uid":"c5e49757-9066"},{"uid":"c5e49757-9076"},{"uid":"c5e49757-9082"},{"uid":"c5e49757-9084"},{"uid":"c5e49757-9094"},{"uid":"c5e49757-9098"},{"uid":"c5e49757-9104"},{"uid":"c5e49757-9106"},{"uid":"c5e49757-9112"},{"uid":"c5e49757-9130"},{"uid":"c5e49757-9140"},{"uid":"c5e49757-9146"},{"uid":"c5e49757-9148"},{"uid":"c5e49757-9156"},{"uid":"c5e49757-9158"},{"uid":"c5e49757-9162"},{"uid":"c5e49757-9014"},{"uid":"c5e49757-9180"},{"uid":"c5e49757-9050"},{"uid":"c5e49757-9182"},{"uid":"c5e49757-9184"},{"uid":"c5e49757-9186"},{"uid":"c5e49757-9198"},{"uid":"c5e49757-9200"},{"uid":"c5e49757-9202"},{"uid":"c5e49757-9204"},{"uid":"c5e49757-9206"},{"uid":"c5e49757-9208"},{"uid":"c5e49757-9210"},{"uid":"c5e49757-8210"},{"uid":"c5e49757-8780"}],"importedBy":[{"uid":"c5e49757-9254"}]},"c5e49757-9214":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9215"},"imported":[],"importedBy":[{"uid":"c5e49757-9216"}]},"c5e49757-9216":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9217"},"imported":[{"uid":"c5e49757-9214"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7434"}],"importedBy":[{"uid":"c5e49757-9254"}]},"c5e49757-9218":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.css","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9219"},"imported":[],"importedBy":[{"uid":"c5e49757-9220"}]},"c5e49757-9220":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9221"},"imported":[{"uid":"c5e49757-9218"},{"uid":"c5e49757-7518"},{"uid":"c5e49757-7668"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-7688"},{"uid":"c5e49757-7686"},{"uid":"c5e49757-7592"},{"uid":"c5e49757-8424"},{"uid":"c5e49757-8210"}],"importedBy":[{"uid":"c5e49757-9254"}]},"c5e49757-9222":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/quickinput/browser/helpQuickAccess.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9223"},"imported":[{"uid":"c5e49757-7432"},{"uid":"c5e49757-7554"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-8312"},{"uid":"c5e49757-8314"}],"importedBy":[{"uid":"c5e49757-9224"}]},"c5e49757-9224":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9225"},"imported":[{"uid":"c5e49757-7554"},{"uid":"c5e49757-8312"},{"uid":"c5e49757-8210"},{"uid":"c5e49757-9222"}],"importedBy":[{"uid":"c5e49757-9254"}]},"c5e49757-9226":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9227"},"imported":[{"uid":"c5e49757-7448"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-8538"},{"uid":"c5e49757-7630"},{"uid":"c5e49757-7816"},{"uid":"c5e49757-7814"},{"uid":"c5e49757-7708"}],"importedBy":[{"uid":"c5e49757-9228"},{"uid":"c5e49757-9234"}]},"c5e49757-9228":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9229"},"imported":[{"uid":"c5e49757-7450"},{"uid":"c5e49757-8538"},{"uid":"c5e49757-9226"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-9230"}]},"c5e49757-9230":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9231"},"imported":[{"uid":"c5e49757-9228"},{"uid":"c5e49757-7554"},{"uid":"c5e49757-8312"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-8210"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8314"}],"importedBy":[{"uid":"c5e49757-9254"}]},"c5e49757-9232":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/fuzzyScorer.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9233"},"imported":[{"uid":"c5e49757-8150"},{"uid":"c5e49757-7462"},{"uid":"c5e49757-7434"},{"uid":"c5e49757-7492"}],"importedBy":[{"uid":"c5e49757-9234"}]},"c5e49757-9234":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9235"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7476"},{"uid":"c5e49757-7544"},{"uid":"c5e49757-9232"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7492"},{"uid":"c5e49757-7468"},{"uid":"c5e49757-7480"},{"uid":"c5e49757-8982"},{"uid":"c5e49757-9226"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7678"},{"uid":"c5e49757-7640"}],"importedBy":[{"uid":"c5e49757-9236"}]},"c5e49757-9236":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9237"},"imported":[{"uid":"c5e49757-8780"},{"uid":"c5e49757-8784"},{"uid":"c5e49757-9234"},{"uid":"c5e49757-7554"},{"uid":"c5e49757-8312"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-8210"},{"uid":"c5e49757-7454"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8314"},{"uid":"c5e49757-8982"},{"uid":"c5e49757-7678"}],"importedBy":[{"uid":"c5e49757-9254"}]},"c5e49757-9238":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/errorMessage.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9239"},"imported":[{"uid":"c5e49757-7426"},{"uid":"c5e49757-7428"},{"uid":"c5e49757-7432"}],"importedBy":[{"uid":"c5e49757-9244"}]},"c5e49757-9240":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/base/common/tfIdf.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9241"},"imported":[],"importedBy":[{"uid":"c5e49757-9244"}]},"c5e49757-9242":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/quickinput/browser/pickerQuickAccess.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9243"},"imported":[{"uid":"c5e49757-7510"},{"uid":"c5e49757-7456"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7428"}],"importedBy":[{"uid":"c5e49757-9244"}]},"c5e49757-9244":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/platform/quickinput/browser/commandsQuickAccess.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9245"},"imported":[{"uid":"c5e49757-9238"},{"uid":"c5e49757-7446"},{"uid":"c5e49757-8150"},{"uid":"c5e49757-7448"},{"uid":"c5e49757-7450"},{"uid":"c5e49757-7626"},{"uid":"c5e49757-9240"},{"uid":"c5e49757-7432"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-8106"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-7562"},{"uid":"c5e49757-9242"},{"uid":"c5e49757-8282"},{"uid":"c5e49757-7560"}],"importedBy":[{"uid":"c5e49757-9246"}]},"c5e49757-9246":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/contrib/quickAccess/browser/commandsQuickAccess.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9247"},"imported":[{"uid":"c5e49757-8152"},{"uid":"c5e49757-9244"}],"importedBy":[{"uid":"c5e49757-9248"}]},"c5e49757-9248":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9249"},"imported":[{"uid":"c5e49757-7554"},{"uid":"c5e49757-8312"},{"uid":"c5e49757-8210"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-9246"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-7830"},{"uid":"c5e49757-7546"},{"uid":"c5e49757-7560"},{"uid":"c5e49757-8106"},{"uid":"c5e49757-7564"},{"uid":"c5e49757-7860"},{"uid":"c5e49757-8314"}],"importedBy":[{"uid":"c5e49757-9254"}]},"c5e49757-9250":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9251"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-7536"},{"uid":"c5e49757-8852"},{"uid":"c5e49757-7590"},{"uid":"c5e49757-7550"},{"uid":"c5e49757-7534"},{"uid":"c5e49757-8094"},{"uid":"c5e49757-8282"}],"importedBy":[{"uid":"c5e49757-9254"}]},"c5e49757-9252":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9253"},"imported":[{"uid":"c5e49757-7564"},{"uid":"c5e49757-8424"},{"uid":"c5e49757-8210"},{"uid":"c5e49757-7764"},{"uid":"c5e49757-8422"}],"importedBy":[{"uid":"c5e49757-9254"}]},"c5e49757-9254":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/edcore.main.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9255"},"imported":[{"uid":"c5e49757-9212"},{"uid":"c5e49757-9216"},{"uid":"c5e49757-9220"},{"uid":"c5e49757-9224"},{"uid":"c5e49757-9230"},{"uid":"c5e49757-9236"},{"uid":"c5e49757-9248"},{"uid":"c5e49757-9250"},{"uid":"c5e49757-9252"},{"uid":"c5e49757-8546"}],"importedBy":[{"uid":"c5e49757-9256"}]},"c5e49757-9256":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/editor/editor.main.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9257"},"imported":[{"uid":"c5e49757-8710"},{"uid":"c5e49757-8712"},{"uid":"c5e49757-8714"},{"uid":"c5e49757-8716"},{"uid":"c5e49757-8718"},{"uid":"c5e49757-9254"}],"importedBy":[{"uid":"c5e49757-532"},{"uid":"c5e49757-666"}]},"c5e49757-9258":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9259"},"imported":[],"importedBy":[{"uid":"c5e49757-8550"}]},"c5e49757-9260":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9261"},"imported":[],"importedBy":[{"uid":"c5e49757-8552"}]},"c5e49757-9262":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9263"},"imported":[],"importedBy":[{"uid":"c5e49757-8554"}]},"c5e49757-9264":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9265"},"imported":[],"importedBy":[{"uid":"c5e49757-8556"}]},"c5e49757-9266":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/bicep/bicep.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9267"},"imported":[],"importedBy":[{"uid":"c5e49757-8558"}]},"c5e49757-9268":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9269"},"imported":[],"importedBy":[{"uid":"c5e49757-8560"}]},"c5e49757-9270":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9271"},"imported":[],"importedBy":[{"uid":"c5e49757-8562"}]},"c5e49757-9272":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9273"},"imported":[],"importedBy":[{"uid":"c5e49757-8564"}]},"c5e49757-9274":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9275"},"imported":[],"importedBy":[{"uid":"c5e49757-8566"}]},"c5e49757-9276":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9277"},"imported":[],"importedBy":[{"uid":"c5e49757-8568"}]},"c5e49757-9278":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9279"},"imported":[],"importedBy":[{"uid":"c5e49757-8570"}]},"c5e49757-9280":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/css/css.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9281"},"imported":[],"importedBy":[{"uid":"c5e49757-8572"}]},"c5e49757-9282":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/cypher/cypher.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9283"},"imported":[],"importedBy":[{"uid":"c5e49757-8574"}]},"c5e49757-9284":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9285"},"imported":[],"importedBy":[{"uid":"c5e49757-8576"}]},"c5e49757-9286":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9287"},"imported":[],"importedBy":[{"uid":"c5e49757-8578"}]},"c5e49757-9288":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9289"},"imported":[],"importedBy":[{"uid":"c5e49757-8580"}]},"c5e49757-9290":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/elixir/elixir.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9291"},"imported":[],"importedBy":[{"uid":"c5e49757-8582"}]},"c5e49757-9292":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/flow9/flow9.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9293"},"imported":[],"importedBy":[{"uid":"c5e49757-8584"}]},"c5e49757-9294":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9295"},"imported":[],"importedBy":[{"uid":"c5e49757-8586"}]},"c5e49757-9296":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9297"},"imported":[{"uid":"c5e49757-8546"}],"importedBy":[{"uid":"c5e49757-8588"}]},"c5e49757-9298":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/go/go.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9299"},"imported":[],"importedBy":[{"uid":"c5e49757-8590"}]},"c5e49757-9300":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9301"},"imported":[],"importedBy":[{"uid":"c5e49757-8592"}]},"c5e49757-9302":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9303"},"imported":[{"uid":"c5e49757-8546"}],"importedBy":[{"uid":"c5e49757-8594"}]},"c5e49757-9304":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9305"},"imported":[],"importedBy":[{"uid":"c5e49757-8596"}]},"c5e49757-9306":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/html/html.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9307"},"imported":[{"uid":"c5e49757-8546"}],"importedBy":[{"uid":"c5e49757-8598"}]},"c5e49757-9308":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9309"},"imported":[],"importedBy":[{"uid":"c5e49757-8600"}]},"c5e49757-9310":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/java/java.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9311"},"imported":[],"importedBy":[{"uid":"c5e49757-8602"}]},"c5e49757-9312":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9313"},"imported":[{"uid":"c5e49757-8546"}],"importedBy":[{"uid":"c5e49757-8700"},{"uid":"c5e49757-9314"}]},"c5e49757-9314":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9315"},"imported":[{"uid":"c5e49757-9312"}],"importedBy":[{"uid":"c5e49757-8604"}]},"c5e49757-9316":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9317"},"imported":[],"importedBy":[{"uid":"c5e49757-8606"}]},"c5e49757-9318":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9319"},"imported":[],"importedBy":[{"uid":"c5e49757-8608"}]},"c5e49757-9320":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/less/less.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9321"},"imported":[],"importedBy":[{"uid":"c5e49757-8610"}]},"c5e49757-9322":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9323"},"imported":[],"importedBy":[{"uid":"c5e49757-8612"}]},"c5e49757-9324":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9325"},"imported":[],"importedBy":[{"uid":"c5e49757-8614"}]},"c5e49757-9326":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/liquid/liquid.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9327"},"imported":[{"uid":"c5e49757-8546"}],"importedBy":[{"uid":"c5e49757-8616"}]},"c5e49757-9328":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9329"},"imported":[],"importedBy":[{"uid":"c5e49757-8618"}]},"c5e49757-9330":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9331"},"imported":[],"importedBy":[{"uid":"c5e49757-8620"}]},"c5e49757-9332":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/mdx/mdx.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9333"},"imported":[{"uid":"c5e49757-8546"}],"importedBy":[{"uid":"c5e49757-8622"}]},"c5e49757-9334":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9335"},"imported":[],"importedBy":[{"uid":"c5e49757-8624"}]},"c5e49757-9336":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9337"},"imported":[],"importedBy":[{"uid":"c5e49757-8626"}]},"c5e49757-9338":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9339"},"imported":[],"importedBy":[{"uid":"c5e49757-8628"}]},"c5e49757-9340":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9341"},"imported":[],"importedBy":[{"uid":"c5e49757-8630"}]},"c5e49757-9342":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9343"},"imported":[],"importedBy":[{"uid":"c5e49757-8632"}]},"c5e49757-9344":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9345"},"imported":[],"importedBy":[{"uid":"c5e49757-8634"}]},"c5e49757-9346":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9347"},"imported":[],"importedBy":[{"uid":"c5e49757-8636"}]},"c5e49757-9348":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9349"},"imported":[],"importedBy":[{"uid":"c5e49757-8638"}]},"c5e49757-9350":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/php/php.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9351"},"imported":[],"importedBy":[{"uid":"c5e49757-8640"}]},"c5e49757-9352":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/pla/pla.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9353"},"imported":[],"importedBy":[{"uid":"c5e49757-8642"}]},"c5e49757-9354":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9355"},"imported":[],"importedBy":[{"uid":"c5e49757-8644"}]},"c5e49757-9356":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9357"},"imported":[],"importedBy":[{"uid":"c5e49757-8646"}]},"c5e49757-9358":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9359"},"imported":[],"importedBy":[{"uid":"c5e49757-8648"}]},"c5e49757-9360":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/protobuf/protobuf.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9361"},"imported":[],"importedBy":[{"uid":"c5e49757-8650"}]},"c5e49757-9362":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9363"},"imported":[],"importedBy":[{"uid":"c5e49757-8652"}]},"c5e49757-9364":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/python/python.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9365"},"imported":[{"uid":"c5e49757-8546"}],"importedBy":[{"uid":"c5e49757-8654"}]},"c5e49757-9366":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/qsharp/qsharp.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9367"},"imported":[],"importedBy":[{"uid":"c5e49757-8656"}]},"c5e49757-9368":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/r/r.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9369"},"imported":[],"importedBy":[{"uid":"c5e49757-8658"}]},"c5e49757-9370":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9371"},"imported":[{"uid":"c5e49757-8546"}],"importedBy":[{"uid":"c5e49757-8660"}]},"c5e49757-9372":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9373"},"imported":[],"importedBy":[{"uid":"c5e49757-8662"}]},"c5e49757-9374":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9375"},"imported":[],"importedBy":[{"uid":"c5e49757-8664"}]},"c5e49757-9376":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9377"},"imported":[],"importedBy":[{"uid":"c5e49757-8666"}]},"c5e49757-9378":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9379"},"imported":[],"importedBy":[{"uid":"c5e49757-8668"}]},"c5e49757-9380":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9381"},"imported":[],"importedBy":[{"uid":"c5e49757-8670"}]},"c5e49757-9382":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9383"},"imported":[],"importedBy":[{"uid":"c5e49757-8672"}]},"c5e49757-9384":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9385"},"imported":[],"importedBy":[{"uid":"c5e49757-8674"}]},"c5e49757-9386":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9387"},"imported":[],"importedBy":[{"uid":"c5e49757-8676"}]},"c5e49757-9388":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9389"},"imported":[],"importedBy":[{"uid":"c5e49757-8678"}]},"c5e49757-9390":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9391"},"imported":[],"importedBy":[{"uid":"c5e49757-8680"}]},"c5e49757-9392":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9393"},"imported":[],"importedBy":[{"uid":"c5e49757-8682"}]},"c5e49757-9394":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9395"},"imported":[],"importedBy":[{"uid":"c5e49757-8684"}]},"c5e49757-9396":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/sparql/sparql.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9397"},"imported":[],"importedBy":[{"uid":"c5e49757-8686"}]},"c5e49757-9398":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9399"},"imported":[],"importedBy":[{"uid":"c5e49757-8688"}]},"c5e49757-9400":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/st/st.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9401"},"imported":[],"importedBy":[{"uid":"c5e49757-8690"}]},"c5e49757-9402":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9403"},"imported":[],"importedBy":[{"uid":"c5e49757-8692"}]},"c5e49757-9404":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9405"},"imported":[],"importedBy":[{"uid":"c5e49757-8694"}]},"c5e49757-9406":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9407"},"imported":[],"importedBy":[{"uid":"c5e49757-8696"}]},"c5e49757-9408":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9409"},"imported":[],"importedBy":[{"uid":"c5e49757-8698"}]},"c5e49757-9410":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9411"},"imported":[],"importedBy":[{"uid":"c5e49757-8702"}]},"c5e49757-9412":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/wgsl/wgsl.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9413"},"imported":[],"importedBy":[{"uid":"c5e49757-8704"}]},"c5e49757-9414":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/xml/xml.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9415"},"imported":[{"uid":"c5e49757-8546"}],"importedBy":[{"uid":"c5e49757-8706"}]},"c5e49757-9416":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/basic-languages/yaml/yaml.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9417"},"imported":[{"uid":"c5e49757-8546"}],"importedBy":[{"uid":"c5e49757-8708"}]},"c5e49757-9418":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/language/css/cssMode.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9419"},"imported":[{"uid":"c5e49757-8546"}],"importedBy":[{"uid":"c5e49757-8712"}]},"c5e49757-9420":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/language/html/htmlMode.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9421"},"imported":[{"uid":"c5e49757-8546"}],"importedBy":[{"uid":"c5e49757-8714"}]},"c5e49757-9422":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/language/json/jsonMode.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9423"},"imported":[{"uid":"c5e49757-8546"}],"importedBy":[{"uid":"c5e49757-8716"}]},"c5e49757-9424":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.js","moduleParts":{"assets/js/monaco-editor-DYoTa2kr.js":"c5e49757-9425"},"imported":[{"uid":"c5e49757-8546"},{"uid":"c5e49757-8718"}],"importedBy":[{"uid":"c5e49757-8718"}]},"c5e49757-9426":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue-office/docx/lib/index.js?commonjs-module","moduleParts":{"assets/js/@vue-office-CRq9PLsQ.js":"c5e49757-9427"},"imported":[],"importedBy":[{"uid":"c5e49757-9428"}]},"c5e49757-9428":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue-office/docx/lib/index.js","moduleParts":{"assets/js/@vue-office-CRq9PLsQ.js":"c5e49757-9429"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-9426"},{"uid":"c5e49757-710"},{"uid":"c5e49757-628"}],"importedBy":[{"uid":"c5e49757-286"}]},"c5e49757-9430":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue-office/excel/lib/index.js?commonjs-module","moduleParts":{"assets/js/@vue-office-CRq9PLsQ.js":"c5e49757-9431"},"imported":[],"importedBy":[{"uid":"c5e49757-9432"}]},"c5e49757-9432":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue-office/excel/lib/index.js","moduleParts":{"assets/js/@vue-office-CRq9PLsQ.js":"c5e49757-9433"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-9430"},{"uid":"c5e49757-710"},{"uid":"c5e49757-628"}],"importedBy":[{"uid":"c5e49757-286"}]},"c5e49757-9434":{"id":"\u0000D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue-office/pdf/lib/index.js?commonjs-module","moduleParts":{"assets/js/@vue-office-CRq9PLsQ.js":"c5e49757-9435"},"imported":[],"importedBy":[{"uid":"c5e49757-9436"}]},"c5e49757-9436":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue-office/pdf/lib/index.js","moduleParts":{"assets/js/@vue-office-CRq9PLsQ.js":"c5e49757-9437"},"imported":[{"uid":"c5e49757-350"},{"uid":"c5e49757-9434"},{"uid":"c5e49757-710"},{"uid":"c5e49757-628"}],"importedBy":[{"uid":"c5e49757-286"}]},"c5e49757-9438":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue-office/docx/lib/index.css","moduleParts":{"assets/js/@vue-office-CRq9PLsQ.js":"c5e49757-9439"},"imported":[],"importedBy":[{"uid":"c5e49757-286"}]},"c5e49757-9440":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/node_modules/@vue-office/excel/lib/index.css","moduleParts":{"assets/js/@vue-office-CRq9PLsQ.js":"c5e49757-9441"},"imported":[],"importedBy":[{"uid":"c5e49757-286"}]},"c5e49757-9442":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/api.ts","moduleParts":{},"imported":[{"uid":"c5e49757-9444"},{"uid":"c5e49757-3556"},{"uid":"c5e49757-4420"},{"uid":"c5e49757-2130"},{"uid":"c5e49757-462"},{"uid":"c5e49757-9445"},{"uid":"c5e49757-724"},{"uid":"c5e49757-3558"},{"uid":"c5e49757-2156"},{"uid":"c5e49757-2448"},{"uid":"c5e49757-3560"},{"uid":"c5e49757-9446"},{"uid":"c5e49757-630"},{"uid":"c5e49757-2392"},{"uid":"c5e49757-542"},{"uid":"c5e49757-2364"},{"uid":"c5e49757-4636"},{"uid":"c5e49757-3964"},{"uid":"c5e49757-4866"},{"uid":"c5e49757-536"},{"uid":"c5e49757-3562"},{"uid":"c5e49757-9447"},{"uid":"c5e49757-2454"},{"uid":"c5e49757-9448"},{"uid":"c5e49757-484"},{"uid":"c5e49757-658"},{"uid":"c5e49757-636"},{"uid":"c5e49757-664"},{"uid":"c5e49757-644"},{"uid":"c5e49757-492"},{"uid":"c5e49757-624"},{"uid":"c5e49757-294"},{"uid":"c5e49757-4476"},{"uid":"c5e49757-3404"},{"uid":"c5e49757-634"},{"uid":"c5e49757-466"},{"uid":"c5e49757-9449"},{"uid":"c5e49757-9450"},{"uid":"c5e49757-480"},{"uid":"c5e49757-9451"}],"importedBy":[{"uid":"c5e49757-3578"},{"uid":"c5e49757-3568"},{"uid":"c5e49757-3198"},{"uid":"c5e49757-9443"},{"uid":"c5e49757-3340"},{"uid":"c5e49757-614"},{"uid":"c5e49757-3290"},{"uid":"c5e49757-3406"},{"uid":"c5e49757-3392"},{"uid":"c5e49757-3746"},{"uid":"c5e49757-3674"},{"uid":"c5e49757-3482"},{"uid":"c5e49757-3386"},{"uid":"c5e49757-3412"},{"uid":"c5e49757-3398"},{"uid":"c5e49757-3424"},{"uid":"c5e49757-3698"},{"uid":"c5e49757-3740"},{"uid":"c5e49757-3686"},{"uid":"c5e49757-3716"},{"uid":"c5e49757-3668"},{"uid":"c5e49757-3526"},{"uid":"c5e49757-3454"},{"uid":"c5e49757-3758"},{"uid":"c5e49757-3652"},{"uid":"c5e49757-3734"},{"uid":"c5e49757-3770"},{"uid":"c5e49757-3634"},{"uid":"c5e49757-3728"},{"uid":"c5e49757-3430"},{"uid":"c5e49757-3782"},{"uid":"c5e49757-3496"},{"uid":"c5e49757-3704"},{"uid":"c5e49757-3752"},{"uid":"c5e49757-3776"},{"uid":"c5e49757-3628"},{"uid":"c5e49757-3710"},{"uid":"c5e49757-3508"},{"uid":"c5e49757-3460"},{"uid":"c5e49757-4082"},{"uid":"c5e49757-3932"},{"uid":"c5e49757-4132"},{"uid":"c5e49757-4286"},{"uid":"c5e49757-4138"},{"uid":"c5e49757-4334"},{"uid":"c5e49757-4088"},{"uid":"c5e49757-3974"},{"uid":"c5e49757-4552"},{"uid":"c5e49757-4794"},{"uid":"c5e49757-4672"},{"uid":"c5e49757-4644"},{"uid":"c5e49757-4546"},{"uid":"c5e49757-4736"},{"uid":"c5e49757-4592"},{"uid":"c5e49757-4686"},{"uid":"c5e49757-3906"},{"uid":"c5e49757-4788"},{"uid":"c5e49757-4266"},{"uid":"c5e49757-4610"},{"uid":"c5e49757-4414"},{"uid":"c5e49757-4466"},{"uid":"c5e49757-4598"},{"uid":"c5e49757-3900"},{"uid":"c5e49757-3924"},{"uid":"c5e49757-4402"},{"uid":"c5e49757-4874"},{"uid":"c5e49757-4446"},{"uid":"c5e49757-4520"},{"uid":"c5e49757-4916"},{"uid":"c5e49757-4836"},{"uid":"c5e49757-4748"},{"uid":"c5e49757-4182"},{"uid":"c5e49757-3912"},{"uid":"c5e49757-4340"},{"uid":"c5e49757-4754"},{"uid":"c5e49757-4586"},{"uid":"c5e49757-4812"},{"uid":"c5e49757-4070"},{"uid":"c5e49757-4818"},{"uid":"c5e49757-4898"},{"uid":"c5e49757-4560"},{"uid":"c5e49757-4928"},{"uid":"c5e49757-4922"},{"uid":"c5e49757-4892"},{"uid":"c5e49757-4216"},{"uid":"c5e49757-4666"},{"uid":"c5e49757-4566"},{"uid":"c5e49757-4910"},{"uid":"c5e49757-4126"},{"uid":"c5e49757-4158"},{"uid":"c5e49757-4824"},{"uid":"c5e49757-4782"},{"uid":"c5e49757-4000"},{"uid":"c5e49757-4572"},{"uid":"c5e49757-4378"},{"uid":"c5e49757-4242"},{"uid":"c5e49757-4496"},{"uid":"c5e49757-4768"},{"uid":"c5e49757-4254"},{"uid":"c5e49757-4540"},{"uid":"c5e49757-4298"},{"uid":"c5e49757-4694"},{"uid":"c5e49757-4700"},{"uid":"c5e49757-4580"},{"uid":"c5e49757-3958"},{"uid":"c5e49757-4036"},{"uid":"c5e49757-4222"},{"uid":"c5e49757-4408"},{"uid":"c5e49757-4660"},{"uid":"c5e49757-4204"},{"uid":"c5e49757-4030"},{"uid":"c5e49757-4616"},{"uid":"c5e49757-4742"},{"uid":"c5e49757-4248"},{"uid":"c5e49757-3788"},{"uid":"c5e49757-714"},{"uid":"c5e49757-2422"},{"uid":"c5e49757-464"},{"uid":"c5e49757-88"},{"uid":"c5e49757-586"},{"uid":"c5e49757-726"},{"uid":"c5e49757-558"},{"uid":"c5e49757-602"},{"uid":"c5e49757-238"},{"uid":"c5e49757-680"},{"uid":"c5e49757-278"},{"uid":"c5e49757-490"},{"uid":"c5e49757-504"},{"uid":"c5e49757-520"},{"uid":"c5e49757-272"},{"uid":"c5e49757-258"},{"uid":"c5e49757-674"},{"uid":"c5e49757-678"},{"uid":"c5e49757-286"},{"uid":"c5e49757-532"},{"uid":"c5e49757-590"},{"uid":"c5e49757-512"},{"uid":"c5e49757-4326"},{"uid":"c5e49757-2366"},{"uid":"c5e49757-524"},{"uid":"c5e49757-4638"},{"uid":"c5e49757-3966"},{"uid":"c5e49757-4868"},{"uid":"c5e49757-538"},{"uid":"c5e49757-4154"},{"uid":"c5e49757-2426"},{"uid":"c5e49757-2458"},{"uid":"c5e49757-604"},{"uid":"c5e49757-486"},{"uid":"c5e49757-582"},{"uid":"c5e49757-4102"},{"uid":"c5e49757-638"},{"uid":"c5e49757-248"},{"uid":"c5e49757-4176"},{"uid":"c5e49757-652"},{"uid":"c5e49757-666"},{"uid":"c5e49757-572"},{"uid":"c5e49757-236"},{"uid":"c5e49757-282"},{"uid":"c5e49757-4718"},{"uid":"c5e49757-252"},{"uid":"c5e49757-598"},{"uid":"c5e49757-4470"},{"uid":"c5e49757-592"},{"uid":"c5e49757-3868"},{"uid":"c5e49757-280"},{"uid":"c5e49757-100"},{"uid":"c5e49757-92"},{"uid":"c5e49757-4210"},{"uid":"c5e49757-260"},{"uid":"c5e49757-514"},{"uid":"c5e49757-4076"},{"uid":"c5e49757-3988"},{"uid":"c5e49757-718"},{"uid":"c5e49757-482"},{"uid":"c5e49757-72"},{"uid":"c5e49757-4006"},{"uid":"c5e49757-4354"},{"uid":"c5e49757-4360"},{"uid":"c5e49757-4366"},{"uid":"c5e49757-4372"},{"uid":"c5e49757-2456"},{"uid":"c5e49757-4842"}]},"c5e49757-9443":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/index.ts","moduleParts":{},"imported":[{"uid":"c5e49757-9442"},{"uid":"c5e49757-3564"},{"uid":"c5e49757-9452"}],"importedBy":[{"uid":"c5e49757-3566"},{"uid":"c5e49757-4428"},{"uid":"c5e49757-4478"},{"uid":"c5e49757-3502"}]},"c5e49757-9444":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/apijsonapi.ts","moduleParts":{},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-9445":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-common-api.ts","moduleParts":{},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-9446":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-email-api.ts","moduleParts":{},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-9447":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-message-api.ts","moduleParts":{},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-9448":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-oauth-api.ts","moduleParts":{},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-9449":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-wechat-api.ts","moduleParts":{},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-9450":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-wechat-pay-api.ts","moduleParts":{},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-9451":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/apis/sys-wx-open-api.ts","moduleParts":{},"imported":[{"uid":"c5e49757-222"},{"uid":"c5e49757-3554"}],"importedBy":[{"uid":"c5e49757-9442"}]},"c5e49757-9452":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/index.ts","moduleParts":{},"imported":[{"uid":"c5e49757-9457"},{"uid":"c5e49757-9458"},{"uid":"c5e49757-9459"},{"uid":"c5e49757-9460"},{"uid":"c5e49757-9461"},{"uid":"c5e49757-9462"},{"uid":"c5e49757-9463"},{"uid":"c5e49757-9464"},{"uid":"c5e49757-9465"},{"uid":"c5e49757-9466"},{"uid":"c5e49757-9467"},{"uid":"c5e49757-9468"},{"uid":"c5e49757-9469"},{"uid":"c5e49757-9470"},{"uid":"c5e49757-9471"},{"uid":"c5e49757-9472"},{"uid":"c5e49757-9473"},{"uid":"c5e49757-9474"},{"uid":"c5e49757-9475"},{"uid":"c5e49757-9476"},{"uid":"c5e49757-9477"},{"uid":"c5e49757-9478"},{"uid":"c5e49757-9479"},{"uid":"c5e49757-9480"},{"uid":"c5e49757-9481"},{"uid":"c5e49757-9482"},{"uid":"c5e49757-9483"},{"uid":"c5e49757-9484"},{"uid":"c5e49757-9485"},{"uid":"c5e49757-9486"},{"uid":"c5e49757-9487"},{"uid":"c5e49757-9488"},{"uid":"c5e49757-9489"},{"uid":"c5e49757-9490"},{"uid":"c5e49757-9491"},{"uid":"c5e49757-9492"},{"uid":"c5e49757-9493"},{"uid":"c5e49757-9494"},{"uid":"c5e49757-9495"},{"uid":"c5e49757-9496"},{"uid":"c5e49757-9497"},{"uid":"c5e49757-9498"},{"uid":"c5e49757-9499"},{"uid":"c5e49757-9500"},{"uid":"c5e49757-9501"},{"uid":"c5e49757-9502"},{"uid":"c5e49757-9503"},{"uid":"c5e49757-9504"},{"uid":"c5e49757-9505"},{"uid":"c5e49757-9506"},{"uid":"c5e49757-9507"},{"uid":"c5e49757-9508"},{"uid":"c5e49757-9509"},{"uid":"c5e49757-9510"},{"uid":"c5e49757-9511"},{"uid":"c5e49757-9512"},{"uid":"c5e49757-9513"},{"uid":"c5e49757-9514"},{"uid":"c5e49757-9515"},{"uid":"c5e49757-9516"},{"uid":"c5e49757-9517"},{"uid":"c5e49757-9518"},{"uid":"c5e49757-9519"},{"uid":"c5e49757-9520"},{"uid":"c5e49757-9521"},{"uid":"c5e49757-9522"},{"uid":"c5e49757-9523"},{"uid":"c5e49757-9524"},{"uid":"c5e49757-9525"},{"uid":"c5e49757-9526"},{"uid":"c5e49757-9527"},{"uid":"c5e49757-9528"},{"uid":"c5e49757-9529"},{"uid":"c5e49757-9530"},{"uid":"c5e49757-9531"},{"uid":"c5e49757-9532"},{"uid":"c5e49757-9533"},{"uid":"c5e49757-9534"},{"uid":"c5e49757-9535"},{"uid":"c5e49757-9536"},{"uid":"c5e49757-9537"},{"uid":"c5e49757-9538"},{"uid":"c5e49757-9539"},{"uid":"c5e49757-9540"},{"uid":"c5e49757-9541"},{"uid":"c5e49757-9542"},{"uid":"c5e49757-9543"},{"uid":"c5e49757-9544"},{"uid":"c5e49757-9545"},{"uid":"c5e49757-9546"},{"uid":"c5e49757-9547"},{"uid":"c5e49757-9548"},{"uid":"c5e49757-9549"},{"uid":"c5e49757-9550"},{"uid":"c5e49757-9551"},{"uid":"c5e49757-9552"},{"uid":"c5e49757-9553"},{"uid":"c5e49757-9554"},{"uid":"c5e49757-9555"},{"uid":"c5e49757-9556"},{"uid":"c5e49757-9557"},{"uid":"c5e49757-9558"},{"uid":"c5e49757-9559"},{"uid":"c5e49757-9560"},{"uid":"c5e49757-9561"},{"uid":"c5e49757-9562"},{"uid":"c5e49757-9563"},{"uid":"c5e49757-9564"},{"uid":"c5e49757-9565"},{"uid":"c5e49757-9566"},{"uid":"c5e49757-9567"},{"uid":"c5e49757-9568"},{"uid":"c5e49757-9569"},{"uid":"c5e49757-9570"},{"uid":"c5e49757-9571"},{"uid":"c5e49757-9572"},{"uid":"c5e49757-9573"},{"uid":"c5e49757-9574"},{"uid":"c5e49757-9575"},{"uid":"c5e49757-9576"},{"uid":"c5e49757-9577"},{"uid":"c5e49757-9578"},{"uid":"c5e49757-9579"},{"uid":"c5e49757-9580"},{"uid":"c5e49757-9581"},{"uid":"c5e49757-9582"},{"uid":"c5e49757-9583"},{"uid":"c5e49757-9584"},{"uid":"c5e49757-9585"},{"uid":"c5e49757-9586"},{"uid":"c5e49757-9587"},{"uid":"c5e49757-9588"},{"uid":"c5e49757-9589"},{"uid":"c5e49757-9590"},{"uid":"c5e49757-9591"},{"uid":"c5e49757-9592"},{"uid":"c5e49757-9593"},{"uid":"c5e49757-9594"},{"uid":"c5e49757-9595"},{"uid":"c5e49757-9596"},{"uid":"c5e49757-9597"},{"uid":"c5e49757-9598"},{"uid":"c5e49757-9599"},{"uid":"c5e49757-9600"},{"uid":"c5e49757-9601"},{"uid":"c5e49757-9602"},{"uid":"c5e49757-9603"},{"uid":"c5e49757-4100"},{"uid":"c5e49757-9604"},{"uid":"c5e49757-9605"},{"uid":"c5e49757-528"},{"uid":"c5e49757-9606"},{"uid":"c5e49757-9607"},{"uid":"c5e49757-9608"},{"uid":"c5e49757-9609"},{"uid":"c5e49757-9610"},{"uid":"c5e49757-9611"},{"uid":"c5e49757-9612"},{"uid":"c5e49757-9613"},{"uid":"c5e49757-9614"},{"uid":"c5e49757-9615"},{"uid":"c5e49757-9616"},{"uid":"c5e49757-9617"},{"uid":"c5e49757-9618"},{"uid":"c5e49757-9619"},{"uid":"c5e49757-9620"},{"uid":"c5e49757-9621"},{"uid":"c5e49757-9622"},{"uid":"c5e49757-9623"},{"uid":"c5e49757-9624"},{"uid":"c5e49757-9625"},{"uid":"c5e49757-9626"},{"uid":"c5e49757-9627"},{"uid":"c5e49757-9628"},{"uid":"c5e49757-9629"},{"uid":"c5e49757-9630"},{"uid":"c5e49757-9631"},{"uid":"c5e49757-9632"},{"uid":"c5e49757-9633"},{"uid":"c5e49757-9634"},{"uid":"c5e49757-9635"},{"uid":"c5e49757-9636"},{"uid":"c5e49757-9637"},{"uid":"c5e49757-9638"},{"uid":"c5e49757-9639"},{"uid":"c5e49757-9640"},{"uid":"c5e49757-9641"},{"uid":"c5e49757-9642"},{"uid":"c5e49757-9643"},{"uid":"c5e49757-9644"},{"uid":"c5e49757-9645"},{"uid":"c5e49757-9646"},{"uid":"c5e49757-9647"},{"uid":"c5e49757-9648"},{"uid":"c5e49757-9649"},{"uid":"c5e49757-9650"},{"uid":"c5e49757-9651"},{"uid":"c5e49757-9652"},{"uid":"c5e49757-9653"},{"uid":"c5e49757-9654"},{"uid":"c5e49757-9655"},{"uid":"c5e49757-9656"},{"uid":"c5e49757-9657"},{"uid":"c5e49757-9658"},{"uid":"c5e49757-9659"},{"uid":"c5e49757-9660"},{"uid":"c5e49757-9661"},{"uid":"c5e49757-9662"},{"uid":"c5e49757-9663"},{"uid":"c5e49757-9664"},{"uid":"c5e49757-9665"},{"uid":"c5e49757-9666"},{"uid":"c5e49757-9667"},{"uid":"c5e49757-9668"},{"uid":"c5e49757-9669"},{"uid":"c5e49757-9670"},{"uid":"c5e49757-9671"},{"uid":"c5e49757-9672"},{"uid":"c5e49757-9673"},{"uid":"c5e49757-9674"},{"uid":"c5e49757-9675"},{"uid":"c5e49757-9676"},{"uid":"c5e49757-9677"},{"uid":"c5e49757-9678"},{"uid":"c5e49757-9679"},{"uid":"c5e49757-9680"},{"uid":"c5e49757-9681"},{"uid":"c5e49757-9682"},{"uid":"c5e49757-9683"},{"uid":"c5e49757-9684"},{"uid":"c5e49757-9685"},{"uid":"c5e49757-9686"},{"uid":"c5e49757-9687"},{"uid":"c5e49757-9688"},{"uid":"c5e49757-9689"},{"uid":"c5e49757-9690"},{"uid":"c5e49757-9691"},{"uid":"c5e49757-9692"},{"uid":"c5e49757-9693"},{"uid":"c5e49757-9694"},{"uid":"c5e49757-9695"},{"uid":"c5e49757-9696"},{"uid":"c5e49757-9697"},{"uid":"c5e49757-9698"},{"uid":"c5e49757-9699"},{"uid":"c5e49757-9700"},{"uid":"c5e49757-9701"},{"uid":"c5e49757-9702"},{"uid":"c5e49757-9703"},{"uid":"c5e49757-9704"},{"uid":"c5e49757-9705"},{"uid":"c5e49757-9706"},{"uid":"c5e49757-9707"},{"uid":"c5e49757-9708"},{"uid":"c5e49757-9709"},{"uid":"c5e49757-9710"},{"uid":"c5e49757-9711"},{"uid":"c5e49757-9712"},{"uid":"c5e49757-9713"},{"uid":"c5e49757-9714"},{"uid":"c5e49757-9715"},{"uid":"c5e49757-9716"},{"uid":"c5e49757-9717"},{"uid":"c5e49757-9718"},{"uid":"c5e49757-9719"},{"uid":"c5e49757-9720"},{"uid":"c5e49757-9721"},{"uid":"c5e49757-9722"},{"uid":"c5e49757-9723"},{"uid":"c5e49757-9724"},{"uid":"c5e49757-9725"},{"uid":"c5e49757-9726"},{"uid":"c5e49757-9727"},{"uid":"c5e49757-9728"},{"uid":"c5e49757-9729"},{"uid":"c5e49757-9730"},{"uid":"c5e49757-9731"},{"uid":"c5e49757-9732"},{"uid":"c5e49757-9733"},{"uid":"c5e49757-9734"},{"uid":"c5e49757-9735"},{"uid":"c5e49757-9736"},{"uid":"c5e49757-9737"},{"uid":"c5e49757-9738"},{"uid":"c5e49757-9739"},{"uid":"c5e49757-9740"},{"uid":"c5e49757-9741"},{"uid":"c5e49757-9742"},{"uid":"c5e49757-9743"},{"uid":"c5e49757-9744"},{"uid":"c5e49757-9745"},{"uid":"c5e49757-9746"},{"uid":"c5e49757-9747"},{"uid":"c5e49757-9748"},{"uid":"c5e49757-9749"},{"uid":"c5e49757-9750"},{"uid":"c5e49757-9751"},{"uid":"c5e49757-9752"},{"uid":"c5e49757-9753"},{"uid":"c5e49757-9754"}],"importedBy":[{"uid":"c5e49757-9443"},{"uid":"c5e49757-532"},{"uid":"c5e49757-4326"},{"uid":"c5e49757-4102"}]},"c5e49757-9453":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/_approvalFlow/api.ts","moduleParts":{},"imported":[{"uid":"c5e49757-114"}],"importedBy":[{"uid":"c5e49757-3184"},{"uid":"c5e49757-3318"},{"uid":"c5e49757-3284"}]},"c5e49757-9454":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/table/modifyRecord.vue","moduleParts":{},"imported":[{"uid":"c5e49757-3174"}],"importedBy":[{"uid":"c5e49757-3284"},{"uid":"c5e49757-558"},{"uid":"c5e49757-674"},{"uid":"c5e49757-286"},{"uid":"c5e49757-524"},{"uid":"c5e49757-2426"},{"uid":"c5e49757-638"},{"uid":"c5e49757-652"},{"uid":"c5e49757-572"},{"uid":"c5e49757-282"},{"uid":"c5e49757-252"},{"uid":"c5e49757-100"},{"uid":"c5e49757-260"},{"uid":"c5e49757-718"}]},"c5e49757-9455":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/iconSelector/index.vue","moduleParts":{},"imported":[{"uid":"c5e49757-4152"}],"importedBy":[{"uid":"c5e49757-4154"}]},"c5e49757-9456":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/editor/index.vue","moduleParts":{},"imported":[{"uid":"c5e49757-2456"}],"importedBy":[{"uid":"c5e49757-2458"}]},"c5e49757-9457":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/account-type-enum.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9458":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-code-gen-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9459":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-config-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9460":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-dict-data-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9461":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-dict-type-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9462":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-job-detail-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9463":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-job-trigger-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9464":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-menu-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9465":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-notice-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9466":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-open-access-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9467":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-org-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9468":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-plugin-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9469":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-pos-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9470":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-print-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9471":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-region-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9472":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-role-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9473":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-subscribe-message-template-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9474":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-sys-ldap-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9475":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-tenant-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9476":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/add-user-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9477":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-boolean.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9478":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-iaction-result.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9479":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-int32.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9480":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-int64.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9481":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-jobject.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9482":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-api-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9483":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-code-gen-config.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9484":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-column-ouput.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9485":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-const-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9486":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-database-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9487":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-db-column-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9488":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-db-table-info.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9489":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-enum-entity.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9490":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-enum-type-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9491":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-int64.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9492":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-menu-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9493":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-role-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9494":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-string.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9495":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-sys-config.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9496":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-sys-dict-data.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9497":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-sys-dict-type.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9498":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-sys-file.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9499":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-sys-job-cluster.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9500":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-sys-job-trigger.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9501":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-sys-ldap.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9502":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-sys-menu.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9503":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-sys-notice.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9504":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-sys-org.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9505":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-sys-pos.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9506":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-sys-region.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9507":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-sys-user.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9508":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-sys-user-ext-org.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9509":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-list-table-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9510":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-login-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9511":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-login-user-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9512":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-object.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9513":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sm-key-pair-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9514":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-job-detail-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9515":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-open-access-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9516":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-code-gen.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9517":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-config.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9518":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-dict-data.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9519":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-dict-type.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9520":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-file.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9521":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-job-trigger-record.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9522":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-ldap.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9523":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-diff.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9524":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-ex.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9525":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-op.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9526":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-log-vis.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9527":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-notice.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9528":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-notice-user.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9529":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-online-user.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9530":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-plugin.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9531":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-print.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9532":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-region.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9533":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-role.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9534":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-sys-wechat-user.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9535":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-tenant-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9536":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sql-sugar-paged-list-user-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9537":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-string.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9538":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sys-code-gen.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9539":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sys-code-gen-config.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9540":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sys-config.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9541":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sys-dict-data.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9542":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sys-dict-type.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9543":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sys-file.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9544":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sys-ldap.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9545":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sys-print.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9546":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sys-user.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9547":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-sys-wechat-pay.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9548":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-visual-db-table.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9549":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-wechat-pay-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9550":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-wx-open-id-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9551":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/admin-result-wx-phone-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9552":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/api-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9553":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/card-type-enum.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9554":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/change-pwd-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9555":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/cluster-status.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9556":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/code-gen-config.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9557":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/code-gen-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9558":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/column-ouput.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9559":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/column-relation.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9560":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/const-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9561":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/create-entity-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9562":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/create-seed-data-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9563":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/culture-level-enum.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9564":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/data-item.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9565":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/data-scope-enum.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9566":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/database-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9567":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/db-column-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9568":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/db-column-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9569":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/db-object-type.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9570":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/db-table-info.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9571":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/db-table-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9572":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/db-type.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9573":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-code-gen-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9574":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-config-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9575":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-db-column-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9576":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-db-table-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9577":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-dict-data-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9578":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-dict-type-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9579":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-file-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9580":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-job-detail-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9581":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-job-trigger-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9582":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-menu-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9583":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-message-template-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9584":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-notice-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9585":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-open-access-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9586":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-org-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9587":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-plugin-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9588":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-pos-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9589":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-print-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9590":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-region-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9591":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-role-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9592":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-sys-ldap-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9593":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-tenant-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9594":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-user-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9595":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/delete-wechat-user-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9596":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/dict-data-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9597":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/dict-type-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9598":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/enum-entity.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9599":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/enum-type-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9600":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/file-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9601":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/gen-auth-url-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9602":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/gender-enum.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9603":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/generate-signature-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9604":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/iaction-result.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9605":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/jtoken.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9606":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/job-detail-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9607":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/job-detail-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9608":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/job-trigger-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9609":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/log-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9610":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/log-level.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9611":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/login-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9612":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/login-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9613":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/login-phone-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9614":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/login-user-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9615":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/menu-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9616":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/menu-type-enum.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9617":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/message-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9618":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/message-template-send-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9619":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/message-type-enum.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9620":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/notice-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9621":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/notice-status-enum.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9622":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/notice-type-enum.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9623":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/notice-user-status-enum.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9624":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/open-access-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9625":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/open-access-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9626":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/page-config-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9627":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/page-dict-data-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9628":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/page-dict-type-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9629":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/page-file-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9630":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/page-job-detail-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9631":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/page-job-trigger-record-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9632":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/page-log-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9633":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/page-notice-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9634":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/page-online-user-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9635":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/page-plugin-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9636":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/page-print-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9637":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/page-region-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9638":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/page-role-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9639":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/page-tenant-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9640":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/page-user-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9641":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/platform-type-enum.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9642":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/reset-pwd-user-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9643":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/role-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9644":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/role-menu-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9645":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/role-org-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9646":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/role-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9647":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/send-subscribe-message-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9648":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/signature-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9649":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sm-key-pair-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9650":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-job-detail-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9651":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-open-access-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9652":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-code-gen.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9653":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-config.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9654":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-dict-data.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9655":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-dict-type.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9656":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-file.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9657":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-job-trigger-record.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9658":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-ldap.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9659":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-log-diff.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9660":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-log-ex.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9661":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-log-op.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9662":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-log-vis.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9663":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-notice.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9664":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-notice-user.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9665":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-online-user.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9666":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-plugin.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9667":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-print.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9668":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-region.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9669":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-role.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9670":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-sys-wechat-user.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9671":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-tenant-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9672":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sql-sugar-paged-list-user-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9673":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/status-enum.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9674":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/swagger-submit-url-body.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9675":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sync-sys-ldap-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9676":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-code-gen.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9677":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-code-gen-config.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9678":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-config.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9679":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-dict-data.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9680":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-dict-type.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9681":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-file.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9682":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-file-upload-avatar-body.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9683":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-file-upload-file-body.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9684":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-file-upload-files-body.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9685":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-file-upload-signature-body.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9686":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-job-cluster.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9687":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-job-detail.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9688":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-job-trigger.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9689":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-job-trigger-record.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9690":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-ldap.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9691":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-ldap-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9692":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-log-diff.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9693":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-log-ex.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9694":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-log-op.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9695":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-log-vis.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9696":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-menu.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9697":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-menu-meta.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9698":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-notice.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9699":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-notice-user.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9700":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-online-user.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9701":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-org.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9702":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-plugin.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9703":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-pos.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9704":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-print.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9705":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-region.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9706":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-role.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9707":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-user.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9708":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-user-ext-org.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9709":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-wechat-pay.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9710":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/sys-wechat-user.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9711":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/table-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9712":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/tenant-id-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9713":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/tenant-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9714":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/tenant-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9715":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/tenant-type-enum.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9716":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/tenant-user-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9717":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/trigger-status.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9718":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/unlock-login-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9719":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-code-gen-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9720":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-config-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9721":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-db-column-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9722":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-db-table-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9723":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-dict-data-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9724":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-dict-type-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9725":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-job-detail-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9726":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-job-trigger-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9727":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-menu-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9728":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-notice-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9729":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-open-access-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9730":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-org-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9731":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-plugin-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9732":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-pos-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9733":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-print-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9734":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-region-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9735":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-role-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9736":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-sys-ldap-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9737":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-tenant-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9738":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/update-user-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9739":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/upload-file-from-base64-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9740":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/user-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9741":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/user-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9742":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/user-role-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9743":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/visual-column.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9744":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/visual-db-table.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9745":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/visual-table.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9746":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/wechat-pay-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9747":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/wechat-pay-para-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9748":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/wechat-pay-transaction-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9749":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/wechat-user-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9750":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/wechat-user-login.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9751":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/wx-open-id-login-input.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9752":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/wx-open-id-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9753":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/wx-phone-output.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9754":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/api-services/models/yes-no-enum.ts","moduleParts":{},"imported":[],"importedBy":[{"uid":"c5e49757-9452"}]},"c5e49757-9755":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/components/table/formatter.vue","moduleParts":{},"imported":[{"uid":"c5e49757-4196"}],"importedBy":[{"uid":"c5e49757-4198"}]},"c5e49757-9756":{"id":"D:/code/iWare_RawMaterialWarehouse/iWare_RawMaterialWarehouse_Web/src/App.vue","moduleParts":{},"imported":[{"uid":"c5e49757-3610"},{"uid":"c5e49757-3612"}],"importedBy":[{"uid":"c5e49757-3624"}]}},"env":{"rollup":"4.17.2"},"options":{"gzip":false,"brotli":false,"sourcemap":false}};
+
+    const run = () => {
+      const width = window.innerWidth;
+      const height = window.innerHeight;
+
+      const chartNode = document.querySelector("main");
+      drawChart.default(chartNode, data, width, height);
+    };
+
+    window.addEventListener('resize', run);
+
+    document.addEventListener('DOMContentLoaded', run);
+    /*-->*/
+  </script>
+</body>
+</html>
+
diff --git a/LA24030_LuLiPackageLine_Web/tsconfig.json b/LA24030_LuLiPackageLine_Web/tsconfig.json
new file mode 100644
index 0000000..aed1401
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/tsconfig.json
@@ -0,0 +1,74 @@
+{
+	"compilerOptions": {
+		/* Visit https://aka.ms/tsconfig.json to read more about this file */
+
+		/* Basic Options */
+		// "incremental": true,                   /* Enable incremental compilation */
+		"target": "esnext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
+		"module": "esnext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
+		"lib": ["esnext", "dom", "dom.iterable", "scripthost"] /* Specify library files to be included in the compilation. */,
+		// "allowJs": true,                       /* Allow javascript files to be compiled. */
+		// "checkJs": true,                       /* Report errors in .js files. */
+		"jsx": "preserve" /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */,
+		// "declaration": true /* Generates corresponding '.d.ts' file. */,
+		// "declarationMap": true,                /* Generates a sourcemap for each corresponding '.d.ts' file. */
+		// "sourceMap": true,                     /* Generates corresponding '.map' file. */
+		// "outFile": "./",                       /* Concatenate and emit output to single file. */
+		// "outDir": "./",                        /* Redirect output structure to the directory. */
+		// "rootDir": "./",                       /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
+		// "composite": true,                     /* Enable project compilation */
+		// "tsBuildInfoFile": "./",               /* Specify file to store incremental compilation information */
+		// "removeComments": true,                /* Do not emit comments to output. */
+		// "noEmit": true,                        /* Do not emit outputs. */
+		// "importHelpers": true /* Import emit helpers from 'tslib'. */,
+		// "downlevelIteration": true /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */,
+		"isolatedModules": true /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */,
+
+		/* Strict Type-Checking Options */
+		"strict": true /* Enable all strict type-checking options. */,
+		// "noImplicitAny": true,                 /* Raise error on expressions and declarations with an implied 'any' type. */
+		// "strictNullChecks": true,              /* Enable strict null checks. */
+		// "strictFunctionTypes": true,           /* Enable strict checking of function types. */
+		// "strictBindCallApply": true,           /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
+		// "strictPropertyInitialization": true,  /* Enable strict checking of property initialization in classes. */
+		// "noImplicitThis": true,                /* Raise error on 'this' expressions with an implied 'any' type. */
+		// "alwaysStrict": true,                  /* Parse in strict mode and emit "use strict" for each source file. */
+
+		/* Additional Checks */
+		// "noUnusedLocals": true,                /* Report errors on unused locals. */
+		// "noUnusedParameters": true,            /* Report errors on unused parameters. */
+		// "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */
+		// "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */
+		// "noUncheckedIndexedAccess": true,      /* Include 'undefined' in index signature results */
+
+		/* Module Resolution Options */
+		"moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */,
+		"baseUrl": "." /* Base directory to resolve non-absolute module names. */,
+		"paths": {
+			"/@/*": ["src/*"]
+		} /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */,
+		// "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
+		// "typeRoots": [],                       /* List of folders to include type definitions from. */
+		"types": ["vite/client"] /* Type declaration files to be included in compilation. */,
+		"allowSyntheticDefaultImports": true /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */,
+		"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
+		// "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */
+		// "allowUmdGlobalAccess": true,          /* Allow accessing UMD globals from modules. */
+
+		/* Source Map Options */
+		// "sourceRoot": "",                      /* Specify the location where debugger should locate TypeScript files instead of source locations. */
+		// "mapRoot": "",                         /* Specify the location where debugger should locate map files instead of generated locations. */
+		// "inlineSourceMap": true,               /* Emit a single file with source maps instead of having a separate file. */
+		// "inlineSources": true,                 /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
+
+		/* Experimental Options */
+		"experimentalDecorators": true /* Enables experimental support for ES7 decorators. */,
+		// "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */
+
+		/* Advanced Options */
+		"skipLibCheck": true /* Skip type checking of declaration files. */,
+		"forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
+	},
+	"include": ["src/**/*.ts", "src/**/*.vue", "src/**/*.tsx", "src/**/*.d.ts"], // **Represents any directory, and * represents any file. Indicates that all files in the src directory will be compiled
+	"exclude": ["node_modules", "dist"] // Indicates the file directory that does not need to be compiled
+}
diff --git a/LA24030_LuLiPackageLine_Web/vite.config.ts b/LA24030_LuLiPackageLine_Web/vite.config.ts
new file mode 100644
index 0000000..dcbd28a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/vite.config.ts
@@ -0,0 +1,108 @@
+import vue from '@vitejs/plugin-vue';
+import { resolve } from 'path';
+import { defineConfig, loadEnv, ConfigEnv } from 'vite';
+import vueSetupExtend from 'vite-plugin-vue-setup-extend-plus';
+import compression from 'vite-plugin-compression2';
+import { buildConfig } from './src/utils/build';
+import vueJsx from '@vitejs/plugin-vue-jsx';
+import { CodeInspectorPlugin } from 'code-inspector-plugin';
+import fs from 'fs';
+import { visualizer } from 'rollup-plugin-visualizer';
+import { webUpdateNotice } from '@plugin-web-update-notification/vite';
+const pathResolve = (dir: string) => {
+	return resolve(__dirname, '.', dir);
+};
+
+const alias: Record<string, string> = {
+	'/@': pathResolve('./src/'),
+	'vue-i18n': 'vue-i18n/dist/vue-i18n.cjs.js',
+};
+
+const viteConfig = defineConfig((mode: ConfigEnv) => {
+	const env = loadEnv(mode.mode, process.cwd());
+	// fs.writeFileSync('./public/config.js', `window.__env__ = ${JSON.stringify(env, null, 2)} `);
+	return {
+		plugins: [
+			visualizer({ open: false }), // 寮�鍚彲瑙嗗寲鍒嗘瀽椤甸潰
+			CodeInspectorPlugin({
+				bundler: 'vite',
+				hotKeys: ['shiftKey'],
+			}),
+			vue(),
+			vueJsx(),
+			webUpdateNotice({
+				notificationConfig: {
+					placement: 'topLeft',
+				},
+				notificationProps: {
+					title: '馃摙 绯荤粺鏇存柊',
+					description: '绯荤粺鏇存柊鍟︼紝璇峰埛鏂伴〉闈紒',
+					buttonText: '鍒锋柊',
+					dismissButtonText: '蹇界暐',
+				},
+			}),
+			vueSetupExtend(),
+			compression({
+				deleteOriginalAssets: false, // 鏄惁鍒犻櫎婧愭枃浠�
+				threshold: 5120, // 瀵瑰ぇ浜� 5KB 鏂囦欢杩涜 gzip 鍘嬬缉锛屽崟浣岯ytes
+				skipIfLargerOrEqual: true, // 濡傛灉鍘嬬缉鍚庣殑鏂囦欢澶у皬绛変簬鎴栧ぇ浜庡師濮嬫枃浠讹紝鍒欒烦杩囧帇缂�
+				// algorithm: 'gzip', // 鍘嬬缉绠楁硶锛屽彲閫塠鈥榞zip鈥欙紝鈥榖rotliCompress鈥欙紝鈥榙eflate鈥欙紝鈥榙eflateRaw鈥橾
+				// exclude: [/\.(br)$/, /\.(gz)$/], // 鎺掗櫎鎸囧畾鏂囦欢
+			}),
+			JSON.parse(env.VITE_OPEN_CDN) ? buildConfig.cdn() : null,
+		],
+		root: process.cwd(),
+		resolve: { alias },
+		base: mode.command === 'serve' ? './' : env.VITE_PUBLIC_PATH,
+		optimizeDeps: { exclude: ['vue-demi'] },
+		server: {
+			host: '0.0.0.0',
+			port: env.VITE_PORT as unknown as number,
+			open: JSON.parse(env.VITE_OPEN),
+			hmr: true,
+			proxy: {
+				'^/[Uu]pload': {
+					target: env.VITE_API_URL,
+					changeOrigin: true,
+				},
+			},
+		},
+		build: {
+			outDir: 'dist',
+			chunkSizeWarningLimit: 1500,
+			assetsInlineLimit: 5000, // 灏忎簬姝ら槇鍊肩殑瀵煎叆鎴栧紩鐢ㄨ祫婧愬皢鍐呰仈涓� base64 缂栫爜
+			sourcemap: false, // 鏋勫缓鍚庢槸鍚︾敓鎴� source map 鏂囦欢
+			extractComments: false, // 绉婚櫎娉ㄩ噴
+			minify: 'terser', // 鍚敤鍚� terserOptions 閰嶇疆鎵嶆湁鏁�
+			terserOptions: {
+				compress: {
+					drop_console: true, // 鐢熶骇鐜鏃剁Щ闄onsole
+					drop_debugger: true,
+				},
+			},
+			rollupOptions: {
+				output: {
+					chunkFileNames: 'assets/js/[name]-[hash].js', // 寮曞叆鏂囦欢鍚嶇殑鍚嶇О
+					entryFileNames: 'assets/js/[name]-[hash].js', // 鍖呯殑鍏ュ彛鏂囦欢鍚嶇О
+					assetFileNames: 'assets/[ext]/[name]-[hash].[ext]', // 璧勬簮鏂囦欢鍍� 瀛椾綋锛屽浘鐗囩瓑
+					manualChunks(id) {
+						if (id.includes('node_modules')) {
+							return id.toString().match(/\/node_modules\/(?!.pnpm)(?<moduleName>[^\/]*)\//)?.groups!.moduleName ?? 'vender';
+						}
+					},
+				},
+				...(JSON.parse(env.VITE_OPEN_CDN) ? { external: buildConfig.external } : {}),
+			},
+		},
+		css: { preprocessorOptions: { css: { charset: false } } },
+		define: {
+			__VUE_I18N_LEGACY_API__: JSON.stringify(false),
+			__VUE_I18N_FULL_INSTALL__: JSON.stringify(false),
+			__INTLIFY_PROD_DEVTOOLS__: JSON.stringify(false),
+			__NEXT_VERSION__: JSON.stringify(process.env.npm_package_version),
+			__NEXT_NAME__: JSON.stringify(process.env.npm_package_name),
+		},
+	};
+});
+
+export default viteConfig;
diff --git "a/LA24030_LuLiPackageLine_Web/\345\270\270\347\224\250\344\273\243\347\240\201.md" "b/LA24030_LuLiPackageLine_Web/\345\270\270\347\224\250\344\273\243\347\240\201.md"
new file mode 100644
index 0000000..3e92b9a
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Web/\345\270\270\347\224\250\344\273\243\347\240\201.md"
@@ -0,0 +1,17 @@
+## 鎻愮ず
+import { ElMessageBox, ElMessage } from "element-plus";
+  ElMessage.warning("璇烽�夋嫨鏃堕棿");
+  ElMessage.success("宸插紑濮嬮噸鏂拌幏鍙栵紝璇风◢鍚庢煡鐪嬬粨鏋滐紒");
+  ElMessage.error("鎶ラ敊浜�");
+
+
+
+  ElMessageBox.confirm('鏄惁纭鍒犻櫎锛�', '鎻愮ず', {
+		confirmButtonText: '纭',
+		cancelButtonText: '鍙栨秷',
+		type: 'warning',
+	})
+		.then(() => {
+			
+		})
+		.catch(() => ElMessage.info('宸插彇娑堝垹闄�'));
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/.dockerignore b/LA24030_LuLiPackageLine_Wms/.dockerignore
new file mode 100644
index 0000000..3729ff0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/.dockerignore
@@ -0,0 +1,25 @@
+**/.classpath
+**/.dockerignore
+**/.env
+**/.git
+**/.gitignore
+**/.project
+**/.settings
+**/.toolstarget
+**/.vs
+**/.vscode
+**/*.*proj.user
+**/*.dbmdl
+**/*.jfm
+**/azds.yaml
+**/bin
+**/charts
+**/docker-compose*
+**/Dockerfile*
+**/node_modules
+**/npm-debug.log
+**/obj
+**/secrets.dev.yaml
+**/values.dev.yaml
+LICENSE
+README.md
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/.editorconfig b/LA24030_LuLiPackageLine_Wms/.editorconfig
new file mode 100644
index 0000000..63dc203
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/.editorconfig
@@ -0,0 +1,178 @@
+
+[*.cs]
+#### 鍛藉悕鏍峰紡 ####
+
+# 鍛藉悕瑙勫垯
+
+dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
+dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
+dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i
+
+dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
+dotnet_naming_rule.types_should_be_pascal_case.symbols = types
+dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case
+
+dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
+dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
+dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
+
+# 绗﹀彿瑙勮寖
+
+dotnet_naming_symbols.interface.applicable_kinds = interface
+dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
+dotnet_naming_symbols.interface.required_modifiers = 
+
+dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
+dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
+dotnet_naming_symbols.types.required_modifiers = 
+
+dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
+dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
+dotnet_naming_symbols.non_field_members.required_modifiers = 
+
+# 鍛藉悕鏍峰紡
+
+dotnet_naming_style.begins_with_i.required_prefix = I
+dotnet_naming_style.begins_with_i.required_suffix = 
+dotnet_naming_style.begins_with_i.word_separator = 
+dotnet_naming_style.begins_with_i.capitalization = pascal_case
+
+dotnet_naming_style.pascal_case.required_prefix = 
+dotnet_naming_style.pascal_case.required_suffix = 
+dotnet_naming_style.pascal_case.word_separator = 
+dotnet_naming_style.pascal_case.capitalization = pascal_case
+
+dotnet_naming_style.pascal_case.required_prefix = 
+dotnet_naming_style.pascal_case.required_suffix = 
+dotnet_naming_style.pascal_case.word_separator = 
+dotnet_naming_style.pascal_case.capitalization = pascal_case
+csharp_using_directive_placement = outside_namespace:silent
+csharp_style_expression_bodied_methods = false:silent
+csharp_style_expression_bodied_constructors = false:silent
+csharp_style_expression_bodied_operators = false:silent
+csharp_style_expression_bodied_properties = true:silent
+csharp_style_expression_bodied_indexers = true:silent
+csharp_style_expression_bodied_accessors = true:silent
+csharp_style_expression_bodied_lambdas = true:silent
+csharp_style_expression_bodied_local_functions = false:silent
+csharp_style_conditional_delegate_call = true:suggestion
+csharp_style_var_for_built_in_types = false:silent
+csharp_style_var_when_type_is_apparent = false:silent
+csharp_style_var_elsewhere = false:silent
+csharp_prefer_simple_using_statement = true:suggestion
+csharp_prefer_braces = true:silent
+csharp_style_namespace_declarations = file_scoped:silent
+csharp_style_prefer_top_level_statements = true:silent
+csharp_style_prefer_method_group_conversion = true:silent
+csharp_prefer_static_local_function = true:suggestion
+csharp_style_allow_embedded_statements_on_same_line_experimental = true:silent
+csharp_style_allow_blank_lines_between_consecutive_braces_experimental = true:silent
+csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true:silent
+csharp_style_prefer_switch_expression = true:suggestion
+csharp_style_prefer_pattern_matching = true:silent
+csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
+csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
+csharp_style_prefer_not_pattern = true:suggestion
+csharp_style_prefer_extended_property_pattern = true:suggestion
+csharp_style_throw_expression = true:suggestion
+csharp_style_prefer_null_check_over_type_check = true:suggestion
+csharp_prefer_simple_default_expression = true:suggestion
+csharp_style_prefer_local_over_anonymous_function = true:suggestion
+csharp_style_prefer_index_operator = true:suggestion
+csharp_style_prefer_range_operator = true:suggestion
+csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion
+csharp_style_prefer_tuple_swap = true:suggestion
+csharp_style_prefer_utf8_string_literals = true:suggestion
+csharp_style_inlined_variable_declaration = true:suggestion
+csharp_style_deconstructed_variable_declaration = true:suggestion
+csharp_style_unused_value_assignment_preference = discard_variable:suggestion
+csharp_style_unused_value_expression_statement_preference = discard_variable:silent
+csharp_space_around_binary_operators = before_and_after
+csharp_indent_labels = one_less_than_current
+
+[*.vb]
+#### 鍛藉悕鏍峰紡 ####
+
+# 鍛藉悕瑙勫垯
+
+dotnet_naming_rule.interface_should_be_浠i_寮�濮�.severity = suggestion
+dotnet_naming_rule.interface_should_be_浠i_寮�濮�.symbols = interface
+dotnet_naming_rule.interface_should_be_浠i_寮�濮�.style = 浠i_寮�濮�
+
+dotnet_naming_rule.绫诲瀷_should_be_甯曟柉鍗℃嫾鍐欐硶.severity = suggestion
+dotnet_naming_rule.绫诲瀷_should_be_甯曟柉鍗℃嫾鍐欐硶.symbols = 绫诲瀷
+dotnet_naming_rule.绫诲瀷_should_be_甯曟柉鍗℃嫾鍐欐硶.style = 甯曟柉鍗℃嫾鍐欐硶
+
+dotnet_naming_rule.闈炲瓧娈垫垚鍛榑should_be_甯曟柉鍗℃嫾鍐欐硶.severity = suggestion
+dotnet_naming_rule.闈炲瓧娈垫垚鍛榑should_be_甯曟柉鍗℃嫾鍐欐硶.symbols = 闈炲瓧娈垫垚鍛�
+dotnet_naming_rule.闈炲瓧娈垫垚鍛榑should_be_甯曟柉鍗℃嫾鍐欐硶.style = 甯曟柉鍗℃嫾鍐欐硶
+
+# 绗﹀彿瑙勮寖
+
+dotnet_naming_symbols.interface.applicable_kinds = interface
+dotnet_naming_symbols.interface.applicable_accessibilities = public, friend, private, protected, protected_friend, private_protected
+dotnet_naming_symbols.interface.required_modifiers = 
+
+dotnet_naming_symbols.绫诲瀷.applicable_kinds = class, struct, interface, enum
+dotnet_naming_symbols.绫诲瀷.applicable_accessibilities = public, friend, private, protected, protected_friend, private_protected
+dotnet_naming_symbols.绫诲瀷.required_modifiers = 
+
+dotnet_naming_symbols.闈炲瓧娈垫垚鍛�.applicable_kinds = property, event, method
+dotnet_naming_symbols.闈炲瓧娈垫垚鍛�.applicable_accessibilities = public, friend, private, protected, protected_friend, private_protected
+dotnet_naming_symbols.闈炲瓧娈垫垚鍛�.required_modifiers = 
+
+# 鍛藉悕鏍峰紡
+
+dotnet_naming_style.浠i_寮�濮�.required_prefix = I
+dotnet_naming_style.浠i_寮�濮�.required_suffix = 
+dotnet_naming_style.浠i_寮�濮�.word_separator = 
+dotnet_naming_style.浠i_寮�濮�.capitalization = pascal_case
+
+dotnet_naming_style.甯曟柉鍗℃嫾鍐欐硶.required_prefix = 
+dotnet_naming_style.甯曟柉鍗℃嫾鍐欐硶.required_suffix = 
+dotnet_naming_style.甯曟柉鍗℃嫾鍐欐硶.word_separator = 
+dotnet_naming_style.甯曟柉鍗℃嫾鍐欐硶.capitalization = pascal_case
+
+dotnet_naming_style.甯曟柉鍗℃嫾鍐欐硶.required_prefix = 
+dotnet_naming_style.甯曟柉鍗℃嫾鍐欐硶.required_suffix = 
+dotnet_naming_style.甯曟柉鍗℃嫾鍐欐硶.word_separator = 
+dotnet_naming_style.甯曟柉鍗℃嫾鍐欐硶.capitalization = pascal_case
+
+[*.{cs,vb}]
+end_of_line = crlf
+dotnet_style_qualification_for_field = false:silent
+dotnet_style_qualification_for_property = false:silent
+dotnet_style_qualification_for_method = false:silent
+dotnet_style_qualification_for_event = false:silent
+dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
+dotnet_code_quality_unused_parameters = all:suggestion
+dotnet_style_readonly_field = true:suggestion
+dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
+dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
+dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
+dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
+dotnet_style_allow_multiple_blank_lines_experimental = true:silent
+dotnet_style_allow_statement_immediately_after_block_experimental = true:silent
+dotnet_style_coalesce_expression = true:suggestion
+dotnet_style_null_propagation = true:suggestion
+dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
+dotnet_style_prefer_auto_properties = true:silent
+dotnet_style_object_initializer = true:suggestion
+dotnet_style_collection_initializer = true:suggestion
+dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
+dotnet_style_prefer_conditional_expression_over_assignment = true:silent
+dotnet_style_prefer_conditional_expression_over_return = true:silent
+dotnet_style_explicit_tuple_names = true:suggestion
+dotnet_style_prefer_inferred_tuple_names = true:suggestion
+dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
+dotnet_style_prefer_compound_assignment = true:suggestion
+dotnet_style_prefer_simplified_interpolation = true:suggestion
+dotnet_style_namespace_match_folder = true:suggestion
+dotnet_style_predefined_type_for_locals_parameters_members = true:silent
+dotnet_style_predefined_type_for_member_access = true:silent
+indent_size = 4
+tab_width = 4
+dotnet_style_operator_placement_when_wrapping = beginning_of_line
+
+# Add copyright file header
+file_header_template = 
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Admin - Backup.NET.Application.csproj b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Admin - Backup.NET.Application.csproj
new file mode 100644
index 0000000..38f33da
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Admin - Backup.NET.Application.csproj
@@ -0,0 +1,39 @@
+锘�<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net6.0</TargetFramework>
+    <NoWarn>1701;1702;1591;8632</NoWarn>
+    <DocumentationFile></DocumentationFile>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <GenerateDocumentationFile>True</GenerateDocumentationFile>
+    <Nullable>disable</Nullable>
+    <Copyright>漏 Admin.NET</Copyright>
+    <Description>Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�</Description>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Content Include="Configuration\**\*">
+      <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
+    </Content>
+    <Content Include="wwwroot\**\*">
+      <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
+    </Content>
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\Admin.NET.Core\Admin.NET.Core.csproj" />
+    <ProjectReference Include="..\Plugins\Admin.NET.Plugin.ApprovalFlow\Admin.NET.Plugin.ApprovalFlow.csproj" />
+    <ProjectReference Include="..\Plugins\Admin.NET.Plugin.DingTalk\Admin.NET.Plugin.DingTalk.csproj" />
+    <ProjectReference Include="..\Plugins\Admin.NET.Plugin.GoView\Admin.NET.Plugin.GoView.csproj" />
+    <ProjectReference Include="..\Plugins\Admin.NET.Plugin.ReZero\Admin.NET.Plugin.ReZero.csproj" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Folder Include="Service\TestDemo\" />
+  </ItemGroup>
+
+</Project>
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Admin.NET.Application.csproj b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Admin.NET.Application.csproj
new file mode 100644
index 0000000..aa162ae
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Admin.NET.Application.csproj
@@ -0,0 +1,41 @@
+锘�<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net6.0</TargetFramework>
+    <NoWarn>1701;1702;1591;8632</NoWarn>
+    <DocumentationFile></DocumentationFile>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <GenerateDocumentationFile>True</GenerateDocumentationFile>
+    <Nullable>disable</Nullable>
+    <Copyright>漏 Admin.NET</Copyright>
+    <Description>Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�</Description>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Content Include="Configuration\**\*">
+      <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
+    </Content>
+    <Content Include="wwwroot\**\*">
+      <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
+    </Content>
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\Admin.NET.Core\Admin.NET.Core.csproj" />
+    <ProjectReference Include="..\Plugins\Admin.NET.Plugin.ApprovalFlow\Admin.NET.Plugin.ApprovalFlow.csproj" />
+    <ProjectReference Include="..\Plugins\Admin.NET.Plugin.DingTalk\Admin.NET.Plugin.DingTalk.csproj" />
+    <ProjectReference Include="..\Plugins\Admin.NET.Plugin.GoView\Admin.NET.Plugin.GoView.csproj" />
+    <ProjectReference Include="..\Plugins\Admin.NET.Plugin.ReZero\Admin.NET.Plugin.ReZero.csproj" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Folder Include="Entity\PrintCenter\" />
+    <Folder Include="Service\PrintCenter\" />
+    <Folder Include="TransferDto\" />
+  </ItemGroup>
+
+</Project>
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/EnumHelper.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/EnumHelper.cs
new file mode 100644
index 0000000..b595a87
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/EnumHelper.cs
@@ -0,0 +1,29 @@
+锘�
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Application
+{
+    public static class EnumHelper
+    {
+        /// <summary>
+        /// 鏋氫妇鍊肩殑 ErrorCodeItemMetadataAttribute 鏂规硶
+        /// </summary>
+        /// <param name="errorCode"></param>
+        /// <returns></returns>
+        public static ErrorCodeItemMetadataAttribute GetErrorCodeItemMetadata(this ErrorCodeEnum errorCode)
+        {
+
+            var fieldInfo = errorCode.GetType().GetField(errorCode.ToString());
+            var attributes = fieldInfo.GetCustomAttributes(typeof(ErrorCodeItemMetadataAttribute), false);
+
+            return attributes.Length > 0 ? (ErrorCodeItemMetadataAttribute)attributes[0] : null;
+        }
+
+
+    }
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/Default/ContainerFindEmptyPlaceHandle.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/Default/ContainerFindEmptyPlaceHandle.cs
new file mode 100644
index 0000000..c7a6004
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/Default/ContainerFindEmptyPlaceHandle.cs
@@ -0,0 +1,40 @@
+锘縰sing Admin.NET.Application.Entity;
+
+namespace Admin.NET.Application
+{
+    internal class ContainerFindEmptyPlaceHandle : FindEmptyPlaceServiceHandle
+    {
+        public ContainerFindEmptyPlaceHandle(SqlSugarRepository<v_empty_place> v_empty_placeRep,
+            SqlSugarRepository<WmsBasePlace> _wmsPlaceRep,
+             SqlSugarRepository<WmsTask> wareTaskRep) : base(v_empty_placeRep, _wmsPlaceRep, wareTaskRep)
+        {
+
+        }
+
+        protected override void DiyFilter()
+        {
+            base.DiyFilter();
+        }
+
+
+        protected override async Task QueryBaseEmptyLocationList(FindEmptyPlaceInput input)
+        {
+            await base.QueryBaseEmptyLocationList(input);
+        }
+
+        protected override async Task EnableLaneFilter()
+        {
+            await base.EnableLaneFilter();
+        }
+        protected override async Task TaskOccupyFilter()
+        {
+            await base.TaskOccupyFilter();
+        }
+
+
+        protected override void DataOrder()
+        {
+            base.DataOrder();
+        }
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/Default/MaterialFindEmptyPlaceHandle.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/Default/MaterialFindEmptyPlaceHandle.cs
new file mode 100644
index 0000000..38e2834
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/Default/MaterialFindEmptyPlaceHandle.cs
@@ -0,0 +1,37 @@
+锘縰sing Admin.NET.Application.Entity;
+
+namespace Admin.NET.Application
+{
+    internal class MaterialFindEmptyPlaceHandle : FindEmptyPlaceServiceHandle
+    {
+        public MaterialFindEmptyPlaceHandle(SqlSugarRepository<v_empty_place> v_empty_placeRep,
+            SqlSugarRepository<WmsBasePlace> _wmsPlaceRep,
+             SqlSugarRepository<WmsTask> wareTaskRep) : base(v_empty_placeRep, _wmsPlaceRep, wareTaskRep)
+        {
+
+        }
+        protected override void DiyFilter()
+        {
+            base.DiyFilter();
+        }
+
+        protected override async Task QueryBaseEmptyLocationList(FindEmptyPlaceInput input)
+        {
+            await base.QueryBaseEmptyLocationList(input);
+        }
+
+        protected override async Task EnableLaneFilter()
+        {
+            await base.EnableLaneFilter();
+        }
+        protected override async Task TaskOccupyFilter()
+        {
+            await base.TaskOccupyFilter();
+        }
+
+        protected override void DataOrder()
+        {
+            base.DataOrder();
+        }
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/Dto/FindEmptyPlaceInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/Dto/FindEmptyPlaceInput.cs
new file mode 100644
index 0000000..c878aa9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/Dto/FindEmptyPlaceInput.cs
@@ -0,0 +1,24 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鏌ヨ绌哄簱浣嶇殑杈撳叆鍙傛暟 
+/// </summary>
+public class FindEmptyPlaceInput
+{
+    /// <summary>
+    /// 鏌ヨ搴撳尯缂栧彿鍒楄〃
+    /// </summary>
+    public List<string> AreaList { get; set; }
+
+    /// <summary>
+    /// 搴撲綅鍙�
+    /// </summary>
+    public string PalceNo { get; set; }
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/FindEmptyPlaceServiceFactory.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/FindEmptyPlaceServiceFactory.cs
new file mode 100644
index 0000000..af96217
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/FindEmptyPlaceServiceFactory.cs
@@ -0,0 +1,30 @@
+锘縰sing Admin.NET.Application;
+using Admin.NET.Application.Entity;
+
+namespace Admin.NET.Application
+{
+    internal class FindEmptyPlaceServiceFactory
+    {
+        public static FindEmptyPlaceServiceHandle GetHandle(MaterialClassifyFlagEnum meterialType,
+             SqlSugarRepository<v_empty_place> v_empty_placeRep,
+            SqlSugarRepository<WmsBasePlace> wmsPlaceRep,
+             SqlSugarRepository<WmsTask> wareTaskRep)
+        {
+            FindEmptyPlaceServiceHandle handle = null;
+            switch (meterialType)
+            {
+                case MaterialClassifyFlagEnum.鐗╂枡:
+                    handle = new MaterialFindEmptyPlaceHandle(v_empty_placeRep,
+            wmsPlaceRep,
+           wareTaskRep);
+                    break;
+                case MaterialClassifyFlagEnum.瀹瑰櫒:
+                    handle = new ContainerFindEmptyPlaceHandle(v_empty_placeRep,
+            wmsPlaceRep,
+           wareTaskRep);
+                    break;
+            }
+            return handle;
+        }
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/FindEmptyPlaceServiceHandle.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/FindEmptyPlaceServiceHandle.cs
new file mode 100644
index 0000000..37ed445
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/FindEmptyLocationFactory/FindEmptyPlaceServiceHandle.cs
@@ -0,0 +1,213 @@
+锘縰sing Admin.NET.Application.Entity;
+using Microsoft.CodeAnalysis;
+
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 瀵绘壘 绌哄簱浣嶇殑澶勭悊绫�
+    /// </summary>
+    public class FindEmptyPlaceServiceHandle
+    {
+        /// <summary>
+        /// 鏄惁姝e湪鎵ц鏂规硶
+        /// </summary>
+        private static bool isRuning_Fun = false;
+        private static SemaphoreSlim semaphoreSlim = new SemaphoreSlim(1, 1);
+
+        protected readonly SqlSugarRepository<v_empty_place> _v_empty_placeRep;
+        protected readonly SqlSugarRepository<WmsBasePlace> _wmsPlaceRep;
+        private readonly SqlSugarRepository<WmsTask> _wareTaskRep;
+
+        protected List<v_empty_place> findEmptyPlaceList = null;
+
+        /// <summary>
+        /// 鏋勯�犲嚱鏁�
+        /// </summary>
+        /// <param name="v_empty_placeRep"></param>
+        /// <param name="wmsPlaceRep"></param>
+        /// <param name="wareTaskRep"></param>
+        public FindEmptyPlaceServiceHandle(
+            SqlSugarRepository<v_empty_place> v_empty_placeRep,
+            SqlSugarRepository<WmsBasePlace> wmsPlaceRep,
+             SqlSugarRepository<WmsTask> wareTaskRep
+            )
+        {
+            _v_empty_placeRep = v_empty_placeRep;
+            _wmsPlaceRep = wmsPlaceRep;
+            _wareTaskRep = wareTaskRep;
+        }
+
+
+        /// <summary>
+        /// 涓绘柟娉曞叆鍙�1:鏌ヨ鍗曚釜搴撲綅
+        ///  
+        ///* 鍘熷垯锛�
+        ///*  1銆佹柟娉曞繀椤讳娇鐢╨ock閿佸畾锛岄槻姝㈠苟鍙戞姠鍚屼竴涓簱浣�
+        ///*  2銆佽搴撲綅濡傛灉鎵�鍦ㄧ殑鍫嗗灈鏈鸿璁惧畾涓� 绂佺敤锛屽垯涓嶅厑璁稿鎵捐搴撲綅
+        ///*  3銆佸叆搴�-搴撳瓨鍒嗘憡鍘熷垯锛堟敞鎰忥細姝ら」鎸夌収瀹㈡埛绾﹀畾瑙勫垯锛岃鎯呭喌鑰屽畾锛�
+        /// </summary>
+        public async Task<WmsBasePlace> MainFindSingleEmptyLocation(FindEmptyPlaceInput input)
+        {
+            var findList = await MainFindMultiEmptyLocation(input);
+            if (findList != null && findList.Count > 0)
+            {
+                return findList.First();
+            }
+            return null;
+        }
+
+        /// <summary>
+        /// 涓绘柟娉曞叆鍙�2:鏌ヨ澶氫釜搴撲綅
+        ///  
+        ///* 鍘熷垯锛�
+        ///*  1銆佹柟娉曞繀椤讳娇鐢╨ock閿佸畾锛岄槻姝㈠苟鍙戞姠鍚屼竴涓簱浣�
+        ///*  2銆佽搴撲綅濡傛灉鎵�鍦ㄧ殑鍫嗗灈鏈鸿璁惧畾涓� 绂佺敤锛屽垯涓嶅厑璁稿鎵捐搴撲綅
+        ///*  3銆佸叆搴�-搴撳瓨鍒嗘憡鍘熷垯锛堟敞鎰忥細姝ら」鎸夌収瀹㈡埛绾﹀畾瑙勫垯锛岃鎯呭喌鑰屽畾锛�
+        /// </summary>
+        public async Task<List<WmsBasePlace>> MainFindMultiEmptyLocation(FindEmptyPlaceInput input)
+        {
+            try
+            {
+                if (isRuning_Fun)
+                {
+                    throw Oops.Oh("绋嬪簭姝e繖锛岃绋嶅悗鍐嶈瘯");
+                }
+                await semaphoreSlim.WaitAsync();
+                isRuning_Fun = true;
+
+                await QueryBaseEmptyLocationList(input);  //鏌ヨ鎵�鏈夌殑绌洪棽搴撲綅
+
+                await EnableLaneFilter();//鍙敤鐨勫爢鍨涙満宸烽亾 --绛涢�夋潯浠�
+
+                await TaskOccupyFilter();//浠诲姟鍗犵敤鐨勫簱浣� -- 绛涢�夋潯浠�
+
+                DiyFilter();//鑷畾涔夋煡璇㈡潯浠� -- 绛涢�夋潯浠�
+
+                DataOrder();//鏁版嵁鎺掑簭
+
+                //杩斿洖缁撴灉
+                if (findEmptyPlaceList != null && findEmptyPlaceList.Count > 0)
+                {
+                    var queryIds = findEmptyPlaceList.Select(x => x.Id).ToList();
+                    return _wmsPlaceRep.GetList(x => queryIds.Contains(x.Id));
+                }
+                return new List<WmsBasePlace>();
+
+            }
+            catch (Exception)
+            {
+
+                throw;
+            }
+            finally
+            {
+                semaphoreSlim.Release();
+                isRuning_Fun = false;
+            }
+        }
+
+        #region 铏氭柟娉�
+
+        /// <summary>
+        /// 鏌ヨ鏈�鍩虹鐨勭┖搴撲綅闆嗗悎锛屽嵆鑾峰彇鏁版嵁搴撴暟鎹簮鐨勫叆鍙�
+        /// </summary>
+        protected virtual async Task QueryBaseEmptyLocationList(FindEmptyPlaceInput input)
+        {
+            findEmptyPlaceList = await _v_empty_placeRep.GetListAsync(x => 1 == 1);
+            if (input != null)
+            {
+                if (input.AreaList?.Count > 0)
+                {
+                    findEmptyPlaceList = findEmptyPlaceList.Where(x => input.AreaList.Contains(x.AreaCode)).ToList();
+                }
+                if (!string.IsNullOrEmpty(input.PalceNo))
+                {
+                    findEmptyPlaceList = findEmptyPlaceList.Where(x => x.PlaceCode == input.PalceNo).ToList();
+                }
+            }
+        }
+
+        /// <summary>
+        /// 鍙敤鐨勫爢鍨涙満宸烽亾 -- 绛涢�夋潯浠�
+        /// </summary>
+        protected virtual async Task EnableLaneFilter()
+        {
+            if (findEmptyPlaceList != null && findEmptyPlaceList.Count > 0)
+            {
+                //璇ュ簱浣嶅鏋滄墍鍦ㄧ殑鍫嗗灈鏈鸿璁惧畾涓� 绂佺敤锛屽垯涓嶅厑璁稿鎵捐搴撲綅
+                List<int?> enable_laneList = await GetEnableLaneList();
+                if (enable_laneList != null && enable_laneList.Count > 0)
+                {
+                    findEmptyPlaceList = await _v_empty_placeRep.AsQueryable().Where(x => enable_laneList.Contains(x.LaneNo)).ToListAsync();
+                }
+            }
+        }
+
+        /// <summary>
+        /// 鎺掗櫎鏈粓缁撶殑浠诲姟鍗犵敤搴撲綅 -- 绛涢�夋潯浠�
+        /// </summary>
+        protected virtual async Task TaskOccupyFilter()
+        {
+            if (findEmptyPlaceList != null && findEmptyPlaceList.Count > 0)
+            {
+                List<long> removeIdList = new List<long>();
+                var noFinishTask = await _wareTaskRep.AsQueryable().Where(x => x.TaskStatus != TaskStatusEnum.宸插畬鎴� && x.TaskStatus != TaskStatusEnum.宸插彇娑�).ToListAsync();
+                var noFinishTask_Form = noFinishTask.Select(x => x.SourcePlaceCode).ToList();
+                var noFinishTask_To = noFinishTask.Select(x => x.ToPlaceCode).ToList();
+                //鎺掗櫎鏈粨鏉熶换鍔″崰鐢ㄧ殑
+                findEmptyPlaceList = findEmptyPlaceList.Where(x => !noFinishTask_Form.Contains(x.PlaceCode) && !noFinishTask_To.Contains(x.PlaceCode)).ToList();
+            }
+        }
+
+        /// <summary>
+        /// 鑷畾涔夋煡璇㈡潯浠� -- 绛涢�夋潯浠�
+        /// </summary>
+        protected virtual void DiyFilter()
+        {
+
+        }
+
+        /// <summary>
+        /// 鏁版嵁鎺掑簭
+        /// </summary>
+        protected virtual void DataOrder()
+        {
+            if (findEmptyPlaceList != null && findEmptyPlaceList.Count > 0)
+            {
+                findEmptyPlaceList = findEmptyPlaceList
+                       //鍏堟寜鐓у眰锛屽崌搴忔帓鍒�
+                       .OrderBy(x => x.LayerNo)
+                       //鍐嶆寜鐓у垪锛屽崌搴忔帓鍒�
+                       .ThenBy(x => x.ColumnNo).ToList();
+            }
+        }
+
+        #endregion
+
+        #region 鍏叡鏂规硶
+
+        /// <summary>
+        /// 鑾峰彇鍙敤鐨勫爢鍨涙満鎵�鍦ㄧ殑宸烽亾闆嗗悎
+        /// </summary>
+        /// <returns></returns>
+        protected async Task<List<int?>> GetEnableLaneList()
+        {
+            //鏍规嵁鑷繁鐨勯」鐩嚜琛屽垽鏂�
+            ////璇ュ簱浣嶅鏋滄墍鍦ㄧ殑鍫嗗灈鏈鸿璁惧畾涓� 绂佺敤锛屽垯涓嶅厑璁稿鎵捐搴撲綅
+            //var eqType = _wareEquipmentTypeRep.FirstOrDefault(x => x.Code == EquipmentTypeEnum.Srm.ToString());
+            //if (eqType == null)
+            //{
+            //    throw Oops.Bah("娌℃湁鎵惧埌绫诲瀷鏄爢鍨涙満鐨勬暟鎹�");
+            //}
+            //var noramlEquipmentList = _wareEquipmentRep.Where(x => x.Status == 0 && x.EquipmentTypeId == eqType.Id).ToList();//鏌ヨ鎵�鏈夊彲鐢ㄧ殑鍫嗗灈鏈哄垪琛�
+            //if (noramlEquipmentList != null && noramlEquipmentList.Count > 0)
+            //{
+            //    return noramlEquipmentList.Where(x => x.Lane != null).Select(x => x.Lane).ToList();
+            //}
+            return null;
+        }
+
+        #endregion
+
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/LockStroreHelper.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/LockStroreHelper.cs
new file mode 100644
index 0000000..7169a99
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/LockStroreHelper.cs
@@ -0,0 +1,45 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Admin.NET.Application.Entity;
+using Furion.LinqBuilder;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Application.CommonHelper;
+public class LockStroreHelper
+{
+
+    ///// <summary>
+    ///// 鍒涘缓閿佸畾搴撳瓨淇℃伅鍏叡鏂规硶
+    ///// </summary>
+    ///// <param name="item"></param>
+    ///// <param name="occQuantity"></param>
+    ///// <returns></returns>
+    //public static WmsStockQuanLock CommonCreateWmsStockQuanLockForPredetermine(WmsOrderMovementDetails item, decimal occQuantity)
+    //{
+
+    //    return new WmsStockQuanLock()
+    //    {
+    //        Id = Yitter.IdGenerator.YitIdHelper.NextId(),
+
+    //        MaterialCode = item.MaterialCode,
+    //        MaterialName = item.MaterialName,
+    //        Quantity = occQuantity,
+    //        MovementLineNumber = item.LineNumber,//涓嬫灦鍗曡鍙�
+    //        MovementNo = item.MovementNo,//涓嬫灦鍗曞彿
+    //        LockType = LockTypeEnum.棰勯厤,
+    //        LockTypeName = LockTypeEnum.棰勯厤.GetDescription(),
+
+    //    };
+    //}
+
+   
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/LogActionHelper.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/LogActionHelper.cs
new file mode 100644
index 0000000..bab5436
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/LogActionHelper.cs
@@ -0,0 +1,33 @@
+锘�
+using Admin.NET.Application.Entity;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Application.CommonHelper;
+public class LogActionHelper
+{
+
+
+    /// <summary>
+    /// 鍒涘缓鎿嶄綔鏃ュ織
+    /// </summary>
+    /// <param name="dbId"></param>
+    /// <param name="actionTitle"></param>
+    /// <param name="pDAReceivingActionType"></param>
+    /// <returns></returns>
+    public static WmsLogAction CreateWmsLogAction(long dbId, string actionTitle, string remark = "")
+    {
+
+
+        WmsLogAction wareActionLog = new WmsLogAction()
+        {
+            DbId = dbId,
+            Title = actionTitle,
+            Remarks = remark
+        };
+        return wareActionLog;
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/MnemonicCodeHelper.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/MnemonicCodeHelper.cs
new file mode 100644
index 0000000..8c15112
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/MnemonicCodeHelper.cs
@@ -0,0 +1,236 @@
+using Furion;
+using System.Text;
+
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 生成助记码
+    /// </summary>
+    public class MnemonicCodeHelper
+    {
+        private struct ItemWord
+        {
+            public int numFlag;     //是否多音字
+            public char strWord;    //当前单词
+            public string strSpell1;//输入码1
+            public string strSpell2;//输入码2
+            public string strExt;   //多音字保留串
+            public string strName;  //用于定义姓氏码
+        }
+
+        private static readonly int INTMAX = 65536;
+        private static ItemWord[] stWord = new ItemWord[INTMAX];
+        private static Boolean b_LoadData = false;
+
+        //读取所有汉字
+        public static Boolean fun_LoadWords()
+        {
+            int i, numIndex;
+            int numCount1, numCount2;
+            string strFileName;
+            char[] chrWord;
+
+            if (b_LoadData)
+                return true;
+
+            //以下初始化所有的数据
+            for (i = 0; i < INTMAX; i++)
+            {
+                stWord[i].numFlag = 0;
+                stWord[i].strSpell1 = "";
+                stWord[i].strSpell2 = "";
+                stWord[i].strName = "";
+                stWord[i].strExt = "|";
+            }
+
+            var rootPath = System.IO.Path.Combine(App.WebHostEnvironment.WebRootPath, "ChineseSpellFile");
+
+            //读取汉字拼音
+            strFileName = rootPath + @"\hzpy1.txt";
+            StreamReader srFile = new StreamReader(strFileName, Encoding.ASCII);
+            string strInput = null;
+
+            numCount1 = 0;
+            while ((strInput = srFile.ReadLine()) != null)
+            {
+                chrWord = strInput.ToCharArray();
+                numIndex = (int)chrWord[0];
+
+                if (numIndex <= 0) continue;
+                if (numIndex >= INTMAX) continue;
+
+                stWord[numIndex].strWord = chrWord[0];
+                stWord[numIndex].strSpell1 = chrWord[2].ToString();
+                numCount1++;
+            }
+            srFile.Close();
+
+            //读取多音字
+            strFileName = rootPath + @"\hzpy2.txt";
+            srFile = new StreamReader(strFileName, Encoding.ASCII);
+
+            while ((strInput = srFile.ReadLine()) != null)
+            {
+                chrWord = strInput.ToCharArray();
+                numIndex = (int)chrWord[0];
+
+                if (numIndex <= 0) continue;
+                if (numIndex >= INTMAX) continue;
+
+                stWord[numIndex].numFlag = 1;
+                strInput = strInput.Substring(2);
+                strInput = strInput.Replace("\t", " ");
+
+                while (strInput.IndexOf("  ") >= 0)
+                {
+                    strInput = strInput.Replace("  ", " ");
+                }
+                strInput = strInput.Replace(" ", "/");
+                stWord[numIndex].strExt = stWord[numIndex].strExt + strInput + "|";
+            }
+            srFile.Close();
+
+            //读取姓氏
+            strFileName = rootPath + @"\hzpy3.txt";
+            srFile = new StreamReader(strFileName, Encoding.ASCII);
+
+            while ((strInput = srFile.ReadLine()) != null)
+            {
+                chrWord = strInput.ToCharArray();
+                numIndex = (int)chrWord[0];
+
+                if (numIndex <= 0) continue;
+                if (numIndex >= INTMAX) continue;
+
+                stWord[numIndex].numFlag = 1;
+                strInput = strInput.Substring(2);
+                strInput = strInput.Replace("\t", " ");
+
+                while (strInput.IndexOf("  ") >= 0)
+                {
+                    strInput = strInput.Replace("  ", " ");
+                }
+                stWord[numIndex].strName = strInput;
+            }
+            srFile.Close();
+
+            //以下部分读取五笔码的首字符
+            strFileName = rootPath + @"\hzwb.txt";
+            numCount2 = 0;
+            srFile = new StreamReader(strFileName, Encoding.ASCII);
+
+            while ((strInput = srFile.ReadLine()) != null)
+            {
+                chrWord = strInput.ToCharArray();
+                numIndex = (int)chrWord[0];
+
+                if (numIndex <= 0) continue;
+                if (numIndex >= INTMAX) continue;
+                stWord[numIndex].strWord = chrWord[0];
+                stWord[numIndex].strSpell2 = chrWord[1].ToString();
+                numCount2++;
+            }
+            srFile.Close();
+
+            b_LoadData = true;
+            return true;
+        }
+        private static string funFindMulti(int numIndex, char ch1, char ch2)
+        {
+            int numPos;
+            string strWord;
+
+            strWord = "|" + ch1 + ch2 + "/";
+            numPos = stWord[numIndex].strExt.IndexOf(strWord);
+            if (numPos >= 0)
+                return stWord[numIndex].strExt.Substring(numPos + strWord.Length, 1);
+            return "";
+        }
+
+        /// <summary>
+        /// 助记码(拼音)
+        /// </summary>
+        /// <param name="strChinese"></param>
+        /// <param name="IsName"></param>
+        /// <returns></returns>
+        public static string funChineseSpell(string strChinese, bool IsName)
+        {
+            if (string.IsNullOrWhiteSpace(strChinese))
+            {
+                return string.Empty;
+            }
+            string strSpell, strThis;
+            int i, numCount, numIndex;
+            char[] chrWord;
+
+            strSpell = "";
+            chrWord = strChinese.ToCharArray();
+            numCount = strChinese.Length;
+
+            //2010-03-19 依次处理各汉字的拼音码
+            for (i = 0; i < numCount; i++)
+            {
+                numIndex = (int)chrWord[i];
+
+                if (numIndex <= 0) continue;
+                if (numIndex >= INTMAX) continue;
+
+
+                //2010-03-19 是否多音字
+                strThis = "";
+                if (stWord[numIndex].numFlag > 0 && !IsName)
+                {
+                    if (i > 0)
+                    {
+                        strThis = funFindMulti(numIndex, chrWord[i - 1], chrWord[i]);
+                    }
+                    if (strThis.Length == 0)
+                    {
+                        if (i < numCount - 1)
+                            strThis = funFindMulti(numIndex, chrWord[i], chrWord[i + 1]);
+                    }
+
+                }
+
+                //2010-04-02 按姓名进行处理
+                if (IsName && i == 0 && stWord[numIndex].strName.Length > 0)
+                    strThis = stWord[numIndex].strName;
+
+                //2010-03-20 未找着时是标准码
+                if (strThis.Length == 0)
+                    strThis = stWord[numIndex].strSpell1.ToString();
+                strSpell = strSpell + strThis;
+            }
+            return strSpell;
+        }
+
+        /// <summary>
+        /// 助记码(五笔)
+        /// </summary>
+        /// <param name="strChinese"></param>
+        /// <returns></returns>
+        public string funWbzxSpell(string strChinese)
+        {
+            string strSpell = "";
+            int i, numCount, numIndex;
+            char[] chrWord;
+
+            strSpell = "";
+            chrWord = strChinese.ToCharArray();
+            numCount = strChinese.Length;
+
+            //2010-03-19 依次处理各汉字的五笔编码
+            for (i = 0; i < numCount; i++)
+            {
+                numIndex = (int)chrWord[i];
+
+                if (numIndex <= 0) continue;
+                if (numIndex >= INTMAX) continue;
+
+                strSpell = strSpell + stWord[numIndex].strSpell2.ToString();
+            }
+            return strSpell;
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/ParamHelper.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/ParamHelper.cs
new file mode 100644
index 0000000..8522701
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/ParamHelper.cs
@@ -0,0 +1,29 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Application.CommonHelper;
+public static class ParamHelper
+{
+    /// <summary>
+    /// 閫楀彿鍒嗛殧瀛楃涓茶浆鎹㈡垚List
+    /// </summary>
+    /// <param name="param"></param>
+    /// <returns></returns>
+    public static List<string> GetStringParamToList( string param)
+    {
+        if (!string.IsNullOrWhiteSpace(param))
+        {
+            return param.Trim().Replace('锛�', ',').Split(',').Distinct().ToList();
+        }
+        return new List<string>();
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/PlaceHelper.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/PlaceHelper.cs
new file mode 100644
index 0000000..76f8592
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/PlaceHelper.cs
@@ -0,0 +1,16 @@
+锘縰sing Admin.NET.Application.Entity;
+
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 搴撲綅甯姪绫�
+    /// </summary>
+    public class PlaceHelper
+    {
+
+       
+
+    }
+
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/RecordSncodePrintHelper.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/RecordSncodePrintHelper.cs
new file mode 100644
index 0000000..588774a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/RecordSncodePrintHelper.cs
@@ -0,0 +1,36 @@
+锘�
+using Admin.NET.Application.Entity;
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鎵撳嵃甯姪绫�
+/// </summary>
+public class RecordSncodePrintHelper
+{
+    /// <summary>
+    /// 澧炲姞 鎵撳嵃璁板綍
+    /// </summary>
+    /// <param name="wmsStock"></param>
+    /// <param name="printTypeEnum"></param>
+    /// <returns></returns>
+    public static WmsRecordPrint AddWmsRecordSncodePrintEntity(WmsStockQuan wmsStock, PrintTypeEnum printTypeEnum, PrintSourceEnum printSourceEnum)
+    {
+
+        WmsRecordPrint addSncodePrint = new WmsRecordPrint()
+        {
+           
+         
+            IsAllowPrint = true,
+       
+            PrintType = printTypeEnum,
+            PrintStatus = PrintStatuEnum.鏈墦鍗�,
+            PrintSource = printSourceEnum,
+          
+            PrintNum = 1,
+        };
+        return addSncodePrint;
+    }
+
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SerialSN/CreateRuleUtil.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SerialSN/CreateRuleUtil.cs
new file mode 100644
index 0000000..0e10ff4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SerialSN/CreateRuleUtil.cs
@@ -0,0 +1,241 @@
+锘縰sing System;
+using System.Globalization;
+using System.Text;
+using System.Text.RegularExpressions;
+using Admin.NET.Application.Entity;
+
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 鍗曟嵁鍙风敓鎴愬府鍔╃被
+    /// </summary>
+    public class SerialUtilOrder
+    {
+        private readonly static object _lockTest = new();
+        private readonly static object _lockPublic = new();
+
+
+
+        /// <summary>
+        /// 鐢熸垚缂栧彿/鍗曟嵁鍙�-ly
+        /// </summary>
+        /// <param name="SerialType"></param>
+        /// <param name="_repRuleDetailRep"></param>
+        /// <param name="_repSNRep"></param>
+        /// <param name="BusinessType"></param>
+        /// <param name="OrderNo"></param>
+        /// <returns></returns>
+        public static async Task<string> GetSerialOrder(OrderTypeEnum SerialType,
+            SqlSugarRepository<WmsConfigNoRule> _repRuleDetailRep, 
+            SqlSugarRepository<WmsConfigSerialSN> _repSNRep,
+            int BusinessType, string OrderNo)
+        {
+            string _result = string.Empty;
+
+         //   _result = GetSerialDetailsOrder(SerialType, _repRuleDetailRep, _repSNRep, BusinessType, OrderNo).Result;
+
+
+            switch (SerialType)
+            {
+                case (OrderTypeEnum)SerialTypeEnum.娴嬭瘯缂栧彿:
+                    lock (_lockTest)
+                    {
+                        _result = GetSerialDetailsOrder(SerialType, _repRuleDetailRep, _repSNRep, BusinessType, OrderNo).Result;
+                        break;
+                    };
+
+                default:
+                    lock (_lockPublic)
+                    {//涓轰簡閬垮厤澶氱嚎绋嬪嚭鐜扮紪鍙蜂竴鑷寸殑鎯呭喌锛屽姞涓婇攣锛屾澶勪负鍏叡閿侊紝鍙敤浜庝笉棰戠箒鐢熸垚缂栧彿鐨勶紝鑻ラ渶瑕侀绻佺敓鎴愶紝璇峰弬鑰冧笂闈est璁剧疆鍗曠嫭閿�
+                        _result = GetSerialDetailsOrder(SerialType, _repRuleDetailRep, _repSNRep, BusinessType, OrderNo).Result;
+                        break;
+                    }
+            }
+
+            await Task.CompletedTask;
+            return _result;
+        }
+        /// <summary>
+        /// 鐢熸垚缂栧彿/鍗曟嵁鍙� -ly
+        /// </summary>
+        /// <param name="SerialType"></param>
+        /// <param name="_repRuleDetailRep"></param>
+        /// <param name="_repSNRep"></param>
+        /// <param name="BusinessType"></param>
+        /// <param name="OrderNo"></param>
+        /// <returns></returns>
+        private static async Task<string> GetSerialDetailsOrder(OrderTypeEnum SerialType,
+            SqlSugarRepository<WmsConfigNoRule> _repRuleDetailRep, 
+            SqlSugarRepository<WmsConfigSerialSN> _repSNRep, int BusinessType, string OrderNo)
+        {
+            //NoRule var lst =await _repRuleDetailRep.AsQueryable().Where(u => u.OrderType == (int)SerialType).OrderBy(x => x.ItemNo).ToListAsync();
+            //var lst = await _repRuleDetailRep.AsQueryable().Where(u => u.OrderType == SerialType && u.BusinessType == BusinessType).ToListAsync();
+
+            var orderCode = "";
+
+            var lst = await _repRuleDetailRep
+          .GetFirstAsync(u => u.OrderType == SerialType && u.BusinessType == BusinessType && u.IsDisabled == false && u.IsDisabled == false);
+
+            if (lst!=null)
+            {
+                List<string> values = new List<string>();
+
+                // 姝e垯琛ㄨ揪寮忓尮閰嶈姳鎷彿鍐呯殑鍐呭
+                string pattern = @"\{(.+?)\}";
+                MatchCollection matches = Regex.Matches(lst.NoRule, pattern);
+
+                foreach (Match match in matches)
+                {
+                    if (match.Success)
+                    {
+                        string value = match.Groups[1].Value; // 鎻愬彇鑺辨嫭鍙峰唴鐨勫��
+                        values.Add(value);
+                    }
+                }
+                var dateStr = "";
+
+                if (values.Contains("yyyy"))
+                {
+
+                    dateStr += values[values.IndexOf("yyyy")];
+                }
+                if (values.Contains("MM"))
+                {
+
+                    dateStr += values[values.IndexOf("MM")];
+                }
+
+                if (values.Contains("dd"))
+                {
+
+                    dateStr += values[values.IndexOf("dd")];
+                }
+                // 鑾峰彇褰撳墠鏃堕棿
+                DateTime currentTime = DateTime.Now;
+
+                // 鏍煎紡鍖栦负骞存湀鏃ュ瓧绗︿覆
+                string formattedDate = currentTime.ToString(dateStr);
+                //鑾峰彇瑙勫垯鏈�鍚庣殑鑷搴忓垪
+                var serialNo = "";
+                //鏍规嵁涓嶅悓杈撳叆鐨勫崟鎹被鍒煡璇㈡渶杩戜竴鏉″崟鍙�
+                //濡傛灉鍗曟嵁鍦ㄥ綋鍓嶈繖涓勾鏈堟棩涓嬪垱寤鸿繃浜嗗氨浠庤繖涓崟鎹悗闈㈣嚜澧�
+                if (OrderNo == null)
+                {
+                    serialNo = lst.SerialNoStepSize.ToString("D" + lst.SerialNoLength);
+                    orderCode = values[0] + BusinessType.ToString() + formattedDate + serialNo;
+                }
+                else if (OrderNo.Contains(formattedDate))
+                {
+                    serialNo = OrderNo.Substring(OrderNo.Length - lst.SerialNoLength);
+                    int serialNoNum = int.Parse(serialNo);
+                    serialNoNum += lst.SerialNoStepSize;
+                    serialNo = serialNoNum.ToString().PadLeft(lst.SerialNoLength, '0');
+                    //鎷兼帴
+                    orderCode = values[0] + BusinessType.ToString() + formattedDate + serialNo;
+                }
+                //濡傛灉浠婂ぉ娌℃湁鍒涘缓鍗曟嵁閭e氨浠庢渶灏忕殑寮�濮嬫柊澧炰竴鏉�
+                else
+                {
+                    serialNo = lst.SerialNoStepSize.ToString("D" + lst.SerialNoLength);
+                    orderCode = values[0] + BusinessType.ToString() + formattedDate + serialNo;
+                }
+
+            }
+
+            //var ruleArr = lst.NoRule.Replace('锛�', ',').Split(',').ToList();
+
+            //string[] strs = new string[ruleArr.Count];
+            //WmsConfigSerialSN sl = new WmsConfigSerialSN();
+            //for (int i = 0; i < ruleArr.Count; i++)
+            //{
+            //    if (lst[i].SourceType.ToUpper() == SerialSourceTypeEnum.UD.ToString())
+            //    {
+            //        strs[i] = lst[i].UserDefine ?? string.Empty;//濡傛灉鏁版嵁婧愭槸鑷畾涔夛紝鍒欏彇鑷畾涔夊瓧娈�
+            //    }
+
+            //    if (lst[i].SourceType.ToUpper() == SerialSourceTypeEnum.BT.ToString())
+            //    {
+            //        strs[i] = lst[i].UserDefine ?? string.Empty;//濡傛灉鏁版嵁婧愭槸鑷畾涔夛紝鍒欏彇鑷畾涔夊瓧娈�
+            //    }
+
+            //    if (lst[i].SourceType.ToUpper() == SerialSourceTypeEnum.Y4.ToString())
+            //    {
+            //        strs[i] = DateTime.Now.Year.ToString();
+            //    }
+            //    if (lst[i].SourceType.ToUpper() == SerialSourceTypeEnum.Y2.ToString())
+            //    {
+            //        strs[i] = DateTime.Now.Year.ToString().Substring(2, 2);
+            //    }
+            //    if (lst[i].SourceType.ToUpper() == SerialSourceTypeEnum.M2.ToString())
+            //    {
+            //        strs[i] = DateTime.Now.Month.ToString("00");
+            //    }
+            //    if (lst[i].SourceType.ToUpper() == SerialSourceTypeEnum.D2.ToString())
+            //    {
+            //        strs[i] = DateTime.Now.Day.ToString("00");
+
+            //    }
+            //    if (lst[i].SourceType.ToUpper() == SerialSourceTypeEnum.W2.ToString())
+            //    {
+            //        GregorianCalendar gc = new GregorianCalendar();
+            //        int week = gc.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstDay, DayOfWeek.Sunday);
+            //        strs[i] = "W" + week.ToString();
+
+            //    }
+            //    if (lst[i].SourceType.ToUpper() == SerialSourceTypeEnum.SN.ToString())
+            //    {
+            //        int cout = lst[i].SerialLength;
+            //        string c = string.Empty;
+            //        for (int j = 0; j < cout; j++)
+            //        {
+            //            c += "0";
+            //        }
+            //        try
+            //        {
+            //            if (lst[i].GetData.HasValue && lst[i].GetData == 1)
+            //            {
+            //                var sn =await _repSNRep.AsQueryable().Where(x => x.SerialType == lst[i].SerialType && x.CurrentDate == DateTime.Now.Date)
+            //                                .OrderByDescending(x => x.Sn).FirstAsync();
+            //                if (sn == null)
+            //                {
+            //                    sl.Sn = 1;
+            //                }
+            //                else
+            //                {
+            //                    sl.Sn = sn.Sn + 1;
+            //                }
+
+            //            }
+            //            else
+            //            {
+
+            //                var sn =await _repSNRep.AsQueryable().Where(x => x.SerialType == lst[i].SerialType).OrderByDescending(x => x.Sn).FirstAsync();
+            //                sl.Sn = sn.Sn + 1;
+            //            }
+
+            //            strs[i] = sl.Sn.ToString(c);
+            //        }
+            //        catch (Exception ex)
+            //        {
+            //            throw ex;
+            //        }
+            //        sl.CurrentDate = DateTime.Now.Date;
+            //        sl.SerialType = lst[i].SerialType;
+            //    }
+            //}
+
+            //StringBuilder WmsConfigSerialSN = new StringBuilder();
+            //foreach (var item in strs)
+            //{
+            //    WmsConfigSerialSN.Append(item.ToString());
+            //}
+            ////await _repSNRep.InsertAsync(sl);
+            //if (string.IsNullOrEmpty(WmsConfigSerialSN.ToString()))
+            //{
+            //    throw Oops.Oh("鐢熸垚鐨勭紪鍙蜂负绌�");
+            //}
+            // return WmsConfigSerialSN.ToString();
+            return orderCode;
+        }
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SerialSN/SerialUtil.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SerialSN/SerialUtil.cs
new file mode 100644
index 0000000..247c542
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SerialSN/SerialUtil.cs
@@ -0,0 +1,154 @@
+锘縰sing System.Globalization;
+using System.Text;
+using Admin.NET.Application.Entity;
+
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 鍗曟嵁鍙风敓鎴愬府鍔╃被
+    /// </summary>
+    public class SerialUtil
+    {
+        private readonly static object _lockTest = new();
+        private readonly static object _lockPublic = new();
+
+
+        /// <summary>
+        /// 鐢熸垚缂栧彿/鍗曟嵁鍙�
+        /// </summary>
+        /// <param name="SerialType"></param>
+        /// <returns></returns>
+        public static async Task<string> GetSerial(SerialTypeEnum SerialType, SqlSugarRepository<WmsConfigSerialRule> _repRuleDetailRep, SqlSugarRepository<WmsConfigSerialSN> _repSNRep)
+        {
+            string _result = string.Empty;
+            switch (SerialType)
+            {
+                case SerialTypeEnum.娴嬭瘯缂栧彿:
+                    lock (_lockTest)
+                    {
+                        _result= GetSerialDetails(SerialType, _repRuleDetailRep, _repSNRep).Result;
+                        break;
+                    };
+
+                default:
+                    lock (_lockPublic)
+                    {//涓轰簡閬垮厤澶氱嚎绋嬪嚭鐜扮紪鍙蜂竴鑷寸殑鎯呭喌锛屽姞涓婇攣锛屾澶勪负鍏叡閿侊紝鍙敤浜庝笉棰戠箒鐢熸垚缂栧彿鐨勶紝鑻ラ渶瑕侀绻佺敓鎴愶紝璇峰弬鑰冧笂闈est璁剧疆鍗曠嫭閿�
+                        _result= GetSerialDetails(SerialType, _repRuleDetailRep, _repSNRep).Result;
+                        break;
+                    }
+            }
+
+            await Task.CompletedTask;
+            return _result;
+        }
+        /// <summary>
+        /// 鐢熸垚缂栧彿/鍗曟嵁鍙�
+        /// </summary>
+        /// <param name="SerialType"></param>
+        /// <returns></returns>
+        private static async Task<string> GetSerialDetails(SerialTypeEnum SerialType, SqlSugarRepository<WmsConfigSerialRule> _repRuleDetailRep, SqlSugarRepository<WmsConfigSerialSN> _repSNRep)
+        {
+
+            var lst =await _repRuleDetailRep.AsQueryable().Where(u => u.SerialType == (int)SerialType).OrderBy(x => x.ItemNo).ToListAsync();
+
+            string[] strs = new string[lst.Count];
+
+            WmsConfigSerialSN sl = new WmsConfigSerialSN();
+            for (int i = 0; i < lst.Count; i++)
+            {
+                if (lst[i].SourceType.ToUpper() == SerialSourceTypeEnum.UD.ToString())
+                {
+                    strs[i] = lst[i].UserDefine ?? string.Empty;//濡傛灉鏁版嵁婧愭槸鑷畾涔夛紝鍒欏彇鑷畾涔夊瓧娈�
+                }
+
+                if (lst[i].SourceType.ToUpper() == SerialSourceTypeEnum.BT.ToString())
+                {
+                    strs[i] = lst[i].UserDefine ?? string.Empty;//濡傛灉鏁版嵁婧愭槸鑷畾涔夛紝鍒欏彇鑷畾涔夊瓧娈�
+                }
+
+                if (lst[i].SourceType.ToUpper() == SerialSourceTypeEnum.Y4.ToString())
+                {
+                    strs[i] = DateTime.Now.Year.ToString();
+                }
+                if (lst[i].SourceType.ToUpper() == SerialSourceTypeEnum.Y2.ToString())
+                {
+                    strs[i] = DateTime.Now.Year.ToString().Substring(2, 2);
+                }
+                if (lst[i].SourceType.ToUpper() == SerialSourceTypeEnum.M2.ToString())
+                {
+                    strs[i] = DateTime.Now.Month.ToString("00");
+                }
+                if (lst[i].SourceType.ToUpper() == SerialSourceTypeEnum.D2.ToString())
+                {
+                    strs[i] = DateTime.Now.Day.ToString("00");
+
+                }
+                if (lst[i].SourceType.ToUpper() == SerialSourceTypeEnum.W2.ToString())
+                {
+                    GregorianCalendar gc = new GregorianCalendar();
+                    int week = gc.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstDay, DayOfWeek.Sunday);
+                    strs[i] = "W" + week.ToString();
+
+                }
+                if (lst[i].SourceType.ToUpper() == SerialSourceTypeEnum.SN.ToString())
+                {
+                    int cout = lst[i].SerialLength;
+                    string c = string.Empty;
+                    for (int j = 0; j < cout; j++)
+                    {
+                        c += "0";
+                    }
+                    try
+                    {
+                        if (lst[i].GetData.HasValue && lst[i].GetData == 1)
+                        {
+                            var sn =await _repSNRep.AsQueryable().Where(x => x.SerialType == lst[i].SerialType && x.CurrentDate == DateTime.Now.Date)
+                                            .OrderByDescending(x => x.Sn).FirstAsync();
+                            if (sn == null)
+                            {
+                                sl.Sn = 1;
+                            }
+                            else
+                            {
+                                sl.Sn = sn.Sn + 1;
+                            }
+                           
+                        }
+                        else
+                        {
+
+                            var sn =await _repSNRep.AsQueryable().Where(x => x.SerialType == lst[i].SerialType).OrderByDescending(x => x.Sn).FirstAsync();
+                            sl.Sn = sn.Sn + 1;
+                        }
+
+                        strs[i] = sl.Sn.ToString(c);
+                    }
+                    catch (Exception ex)
+                    {
+                        throw ex;
+                    }
+                    sl.CurrentDate = DateTime.Now.Date;
+                    sl.SerialType = lst[i].SerialType;
+                }
+            }
+
+            StringBuilder WmsConfigSerialSN = new StringBuilder();
+            foreach (var item in strs)
+            {
+                WmsConfigSerialSN.Append(item.ToString());
+            }
+            // await sl.InsertAsync();
+            await _repSNRep.InsertAsync(sl);
+            
+            //await repositoryBaseSerialSN.Add(sl);
+            //edm.SaveChanges();
+
+            if (string.IsNullOrEmpty(WmsConfigSerialSN.ToString()))
+            {
+                throw Oops.Oh("鐢熸垚鐨勭紪鍙蜂负绌�");
+            }
+
+            return WmsConfigSerialSN.ToString();
+        }
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SnCodeHelper.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SnCodeHelper.cs
new file mode 100644
index 0000000..77ed603
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SnCodeHelper.cs
@@ -0,0 +1,57 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Admin.NET.Application.Entity;
+using SKIT.FlurlHttpClient.Wechat.Api.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Application.CommonHelper;
+public class SnCodeHelper
+{
+
+
+    /// <summary>
+    /// SN鍗曞彿鐢熸垚
+    /// </summary>
+    /// <param name="baseNumber"></param>
+    /// <param name="documents"></param>
+    /// <returns></returns>
+    public static string GetNextSuffix(string baseNumber, List<string> documents)
+    {
+        List<int> suffixes = new List<int>();
+        if (documents == null)
+        {
+            return baseNumber + "_1";
+        }
+        else
+        {
+            foreach (string document in documents)
+            {
+                if (document.StartsWith(baseNumber + "_"))
+                {
+                    // Extract the suffix part after "-"
+                    string suffixString = document.Substring(baseNumber.Length + 1);
+                    int suffix;
+                    if (int.TryParse(suffixString, out suffix))
+                    {
+                        suffixes.Add(suffix);
+                    }
+                }
+            }
+
+            // Find the maximum suffix
+            int maxSuffix = suffixes.Count > 0 ? suffixes.Max() : 0;
+
+            // Return the next available suffix (max + 1)
+            return baseNumber + "_" + (maxSuffix + 1).ToString();
+        }
+
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SysDictHelper.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SysDictHelper.cs
new file mode 100644
index 0000000..5e289f4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SysDictHelper.cs
@@ -0,0 +1,47 @@
+锘縩amespace Admin.NET.Application
+{
+    /// <summary>
+    /// 瀛楀吀甯姪绫�
+    /// </summary>
+    public class SysDictHelper
+    {
+
+
+        /// <summary>
+        /// 鑾峰彇 瀛楀吀鏁版嵁鐨勫��
+        /// </summary>
+        /// <param name="_sysDictDataRep"></param>
+        /// <param name="dictDataCode"></param>
+        /// <returns></returns>
+        public static async Task<string> GetSysDictData(SqlSugarRepository<SysDictData> _sysDictDataRep, string dictDataCode)
+        {
+            var sysDictData = await _sysDictDataRep.GetFirstAsync(x => x.Code == dictDataCode);
+            if (sysDictData != null)
+                return sysDictData.Value;
+            return string.Empty;
+        }
+
+        /// <summary>
+        ///  鏍规嵁瀛楀吀绫诲瀷缂栧彿鏌ヨ 璇ョ紪鍙蜂笅鐨勬墍鏈夌被鍨嬪�煎垪琛�
+        /// </summary>
+        /// <param name="_sysDictTypeRep"></param>
+        /// <param name="_sysDictDataRep"></param>
+        /// <param name="dictTypeCode"></param>
+        /// <returns></returns>
+        public static async Task<List<SysDictData>> GetSysDictDataListByTypeCode(SqlSugarRepository<SysDictType> _sysDictTypeRep, SqlSugarRepository<SysDictData> _sysDictDataRep, string dictTypeCode)
+        {
+            var sysTypeData = _sysDictTypeRep.GetFirstAsync(x => x.Code == dictTypeCode);
+            if (sysTypeData == null)
+            {
+                return null;
+            }
+            //鑾峰彇鍒楄〃
+            var _list = _sysDictDataRep.AsQueryable().Where(x => x.Id == sysTypeData.Id && x.IsDelete == false).ToList();
+            return _list;
+        }
+
+        
+    }
+
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SysHelper.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SysHelper.cs
new file mode 100644
index 0000000..3bb6e15
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/SysHelper.cs
@@ -0,0 +1,37 @@
+锘縩amespace Admin.NET.Application
+{
+    /// <summary>
+    /// 绯荤粺甯姪绫�
+    /// </summary>
+    public class SysHelper
+    {
+
+        ///// <summary>
+        ///// 鑾峰彇鐧诲綍浜虹殑鏄电О
+        ///// </summary>
+        ///// <returns></returns>
+        //public static string GetUserName()
+        //{
+        //    return CurrentUserInfo.Name;
+        //}
+
+        ///// <summary>
+        ///// 鑾峰彇鐧诲綍浜虹殑鐢ㄦ埛id
+        ///// </summary>
+        ///// <returns></returns>
+        //public static long GetUserId()
+        //{
+        //    return CurrentUserInfo.UserId;
+        //}
+
+        /// <summary>
+        /// 鑾峰彇褰撳墠鏃堕棿
+        /// </summary>
+        /// <returns></returns>
+        public static DateTime GetNowTime()
+        {
+            return DateTime.Now;
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/TaskHelper.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/TaskHelper.cs
new file mode 100644
index 0000000..227460e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/CommonHelper/TaskHelper.cs
@@ -0,0 +1,20 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Admin.NET.Application.Entity;
+using Furion.LinqBuilder;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Application.CommonHelper;
+public class TaskHelper
+{
+
+  
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/APIJSON.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/APIJSON.json
new file mode 100644
index 0000000..5baf231
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/APIJSON.json
@@ -0,0 +1,34 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "APIJSON": {
+    "Roles": [
+      {
+        "RoleName": "Role1", // 鏉冮檺鍚嶇О 鍞竴
+        "Select": { // 鏌ヨ
+          "Table": [ "*" ], // 鍙搷浣滅殑琛�
+          "Column": [ "*" ], // 鍙搷浣滅殑瀛楁
+          "Filter": []
+        },
+        "Insert": { // 娣诲姞
+          "Table": [ "table1", "table2", "table3" ],
+          "Column": [ "*", "*", "tb.*" ]
+        },
+        "Update": { // 淇敼
+          "Table": [ "table1", "table2", "table3" ],
+          "Column": [ "*", "tb.*", "tb.*" ]
+        },
+        "Delete": { // 鍒犻櫎
+          "Table": [ "table1", "table2", "table3" ]
+        }
+      },
+      {
+        "RoleName": "Role2",
+        "Select": {
+          "Table": [ "table1" ],
+          "Column": [ "tb.*" ]
+        }
+      }
+    ]
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/App.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/App.json
new file mode 100644
index 0000000..5a295b1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/App.json
@@ -0,0 +1,52 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "Urls": "http://*:5005", // 閰嶇疆榛樿绔彛
+  // "https_port": 44325,
+
+  "AllowedHosts": "*",
+
+  "AppSettings": {
+    "FilePreviewUrl": "http://10.10.14.91:8077/", //ly-0805鏂囦欢棰勮鍓嶇紑鍜宎pp鏇存柊涓嬭浇
+    "InjectSpecificationDocument": true, // 鐢熶骇鐜鏄惁寮�鍚疭wagger
+    "ExternalAssemblies": [ "plugins" ] // 鎻掍欢鐩綍
+  },
+  "DynamicApiControllerSettings": {
+    //"DefaultRoutePrefix": "api", // 榛樿璺敱鍓嶇紑
+    "CamelCaseSeparator": "", // 椹煎嘲鍛藉悕鍒嗛殧绗�
+    "SplitCamelCase": false, // 鍒囧壊楠嗛┘(椹煎嘲)/甯曟柉鍗″懡鍚�
+    "LowercaseRoute": false, // 灏忓啓璺敱鏍煎紡
+    "AsLowerCamelCase": true, // 灏忛┘宄板懡鍚嶏紙棣栧瓧姣嶅皬鍐欙級
+    "KeepVerb": false, // 淇濈暀鍔ㄤ綔鏂规硶璇锋眰璋撹瘝
+    "KeepName": false // 淇濇寔鍘熸湁鍚嶇О涓嶅鐞�
+  },
+  "FriendlyExceptionSettings": {
+    "DefaultErrorMessage": "绯荤粺寮傚父锛岃鑱旂郴绠$悊鍛�",
+    "ThrowBah": true, // 鏄惁灏� Oops.Oh 榛樿鎶涘嚭涓轰笟鍔″紓甯�
+    "LogError": false // 鏄惁杈撳嚭寮傚父鏃ュ織
+  },
+  "LocalizationSettings": {
+    "SupportedCultures": [ "zh-CN", "en" ], // 璇█鍒楄〃
+    "DefaultCulture": "zh-CN", // 榛樿璇█
+    "DateTimeFormatCulture": "zh-CN" // 鍥哄畾鏃堕棿鍖哄煙涓虹壒瀹氭椂鍖猴紙澶氳瑷�锛�
+  },
+  "CorsAccessorSettings": {
+    // "WithOrigins": ["https://gitee.com"],
+    "WithExposedHeaders": [ "Content-Disposition", "X-Pagination", "access-token", "x-access-token" ], // 濡傛灉鍓嶇涓嶄唬鐞嗕笖鏄痑xios璇锋眰
+    "SignalRSupport": true // 鍚敤 SignalR 璺ㄥ煙鏀寔
+  },
+  "SnowId": {
+    "WorkerId": 1, // 鏈哄櫒鐮� 鍏ㄥ眬鍞竴
+    "WorkerIdBitLength": 6, // 鏈哄櫒鐮佷綅闀� 榛樿鍊�6锛屽彇鍊艰寖鍥� [1, 19]
+    "SeqBitLength": 6, // 搴忓垪鏁颁綅闀� 榛樿鍊�6锛屽彇鍊艰寖鍥� [3, 21]锛堝缓璁笉灏忎簬4锛屽�艰秺澶ф�ц兘瓒婇珮銆両d浣嶆暟涔熸洿闀匡級
+    "WorkerPrefix": "adminnet_" // 缂撳瓨鍓嶇紑
+  },
+  "Cryptogram": {
+    "StrongPassword": false, // 鏄惁寮�鍚瘑鐮佸己搴﹂獙璇�
+    "PasswordStrengthValidation": "(?=^.{6,16}$)(?=.*\\d)(?=.*\\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\\n).*$", // 瀵嗙爜寮哄害楠岃瘉姝e垯琛ㄨ揪寮忥紝蹇呴』椤诲寘鍚ぇ灏忓啓瀛楁瘝銆佹暟瀛楀拰鐗规畩瀛楃鐨勭粍鍚堬紝闀垮害鍦�6-16涔嬮棿
+    "PasswordStrengthValidationMsg": "瀵嗙爜蹇呴』鍖呭惈澶у皬鍐欏瓧姣嶃�佹暟瀛楀拰鐗规畩瀛楃鐨勭粍鍚堬紝闀垮害鍦�6-16涔嬮棿", // 瀵嗙爜寮哄害楠岃瘉娑堟伅鎻愮ず
+    "CryptoType": "SM2", // 瀵嗙爜鍔犲瘑绠楁硶锛歁D5銆丼M2銆丼M4
+    "PublicKey": "0484C7466D950E120E5ECE5DD85D0C90EAA85081A3A2BD7C57AE6DC822EFCCBD66620C67B0103FC8DD280E36C3B282977B722AAEC3C56518EDCEBAFB72C5A05312", // 鍏挜
+    "PrivateKey": "8EDB615B1D48B8BE188FC0F18EC08A41DF50EA731FA28BF409E6552809E3A111" // 绉侀挜
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Cache.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Cache.json
new file mode 100644
index 0000000..de9969b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Cache.json
@@ -0,0 +1,35 @@
+锘縶
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "Cache": {
+    "Prefix": "adminnet_", // 鍏ㄥ眬缂撳瓨鍓嶇紑
+    "CacheType": "Memory", // Memory銆丷edis
+    "Redis": {
+      "Configuration": "server=127.0.0.1:6379;password=;db=5;", // Redis杩炴帴瀛楃涓�
+      "Prefix": "adminnet_", // Redis鍓嶇紑锛堢洰鍓嶆病鐢級
+      "MaxMessageSize": "1048576" // 鏈�澶ф秷鎭ぇ灏� 榛樿1024 * 1024
+    }
+  },
+  "Cluster": { // 闆嗙兢閰嶇疆
+    "Enabled": false, // 鍚敤闆嗙兢锛氬墠鎻愬紑鍚疪edis缂撳瓨妯″紡
+    "ServerId": "adminnet", // 鏈嶅姟鍣ㄦ爣璇�
+    "ServerIp": "", // 鏈嶅姟鍣↖P
+    "SignalR": {
+      "RedisConfiguration": "127.0.0.1:6379,ssl=false,password=,defaultDatabase=5",
+      "ChannelPrefix": "signalrPrefix_"
+    },
+    "DataProtecteKey": "AdminNet:DataProtection-Keys",
+    "IsSentinel": false, // 鏄惁鍝ㄥ叺妯″紡
+    "SentinelConfig": {
+      "DefaultDb": "4",
+      "EndPoints": [ // 鍝ㄥ叺绔彛
+        // "10.10.0.124:26380"
+      ],
+      "MainPrefix": "adminNet:",
+      "Password": "123456",
+      "SentinelPassword": "adminNet",
+      "ServiceName": "adminNet",
+      "SignalRChannelPrefix": "signalR:"
+    }
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Captcha.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Captcha.json
new file mode 100644
index 0000000..0d8646f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Captcha.json
@@ -0,0 +1,28 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "CaptchaOptions": {
+    "CaptchaType": 10, // 楠岃瘉鐮佺被鍨�0銆�1銆�2銆�3銆�4銆�5銆�6銆�7銆�8銆�9銆�10銆�11
+    "CodeLength": 1, // 楠岃瘉鐮侀暱搴�, 瑕佹斁鍦–aptchaType璁剧疆鍚�  褰撶被鍨嬩负绠楁湳琛ㄨ揪寮忔椂锛岄暱搴︿唬琛ㄦ搷浣滅殑涓暟, 渚嬪2
+    "ExpirySeconds": 60, // 楠岃瘉鐮佽繃鏈熺鏁�
+    "IgnoreCase": true, // 姣旇緝鏃舵槸鍚﹀拷鐣ュぇ灏忓啓
+    "StoreageKeyPrefix": "", // 瀛樺偍閿墠缂�
+    "ImageOption": {
+      "Animation": true, // 鏄惁鍚敤鍔ㄧ敾
+      "FontSize": 36, // 瀛椾綋澶у皬
+      "Width": 150, // 楠岃瘉鐮佸搴�
+      "Height": 50, // 楠岃瘉鐮侀珮搴�
+      "BubbleMinRadius": 5, // 姘旀场鏈�灏忓崐寰�
+      "BubbleMaxRadius": 10, // 姘旀场鏈�澶у崐寰�
+      "BubbleCount": 3, // 姘旀场鏁伴噺
+      "BubbleThickness": 1.0, // 姘旀场杈规部鍘氬害
+      "InterferenceLineCount": 3, // 骞叉壈绾挎暟閲�
+      "FontFamily": "kaiti", // 鍖呭惈actionj,epilog,fresnel,headache,lexo,prefix,progbot,ransom,robot,scandal,kaiti
+      "FrameDelay": 300, // 姣忓抚寤惰繜,Animation=true鏃舵湁鏁�, 榛樿300
+      "BackgroundColor": "#ffffff", //  鏍煎紡: rgb, rgba, rrggbb, or rrggbbaa format to match web syntax, 榛樿#fff
+      "ForegroundColors": "", //  棰滆壊鏍煎紡鍚孊ackgroundColor,澶氫釜棰滆壊閫楀彿鍒嗗壊锛岄殢鏈洪�夊彇銆備笉濉紝绌哄�硷紝鍒欎娇鐢ㄩ粯璁ら鑹查泦
+      "Quality": 100, // 鍥剧墖璐ㄩ噺锛堣川閲忚秺楂樺浘鐗囪秺澶э紝gif璋冩暣鏃犳晥鍙兘浼氭洿澶э級
+      "TextBold": true // 绮椾綋
+    }
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/CodeGen.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/CodeGen.json
new file mode 100644
index 0000000..34c6835
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/CodeGen.json
@@ -0,0 +1,20 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  // 浠g爜鐢熸垚閰嶇疆椤�-绋嬪簭闆嗗悕绉伴泦鍚�
+  "CodeGen": {
+    "EntityAssemblyNames": [ "Admin.NET.Core", "Admin.NET.Application" ],
+    "BaseEntityNames": [ "EntityTenantId", "EntityTenant", "EntityTenantBaseData", "EntityBaseData", "EntityBase", "EntityBaseId" ],
+    "EntityBaseColumn": {
+      "EntityTenantId": [ "Id", "TenantId" ],
+      "EntityTenant": [ "Id", "CreateTime", "UpdateTime", "CreateUserId", "UpdateUserId", "CreateUserName", "UpdateUserName", "IsDelete", "TenantId" ],
+      "EntityTenantBaseData": [ "Id", "CreateTime", "UpdateTime", "CreateUserId", "UpdateUserId", "CreateUserName", "UpdateUserName", "IsDelete", "CreateOrgId", "CreateOrgName", "TenantId" ],
+      "EntityBaseData": [ "Id", "CreateTime", "UpdateTime", "CreateUserId", "UpdateUserId", "CreateUserName", "UpdateUserName", "IsDelete", "CreateOrgId", "CreateOrgName" ],
+      "EntityBase": [ "Id", "CreateTime", "UpdateTime", "CreateUserId", "UpdateUserId", "CreateUserName", "UpdateUserName", "IsDelete" ],
+      "EntityBaseId": [ "Id" ]
+      //"BaseId": [ "Id" ]
+    },
+    "FrontRootPath": "LA24030_LuLiPackageLine_Web", // 鍓嶇椤圭洰鏍圭洰褰�
+    "BackendApplicationNamespaces": [ "Admin.NET.Application", "Admin.NET.Application2" ] // 鍚庣鐢熸垚鍒扮殑椤圭洰
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Database.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Database.json
new file mode 100644
index 0000000..f562acc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Database.json
@@ -0,0 +1,77 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  // 璇︾粏鏁版嵁搴撻厤缃SqlSugar瀹樼綉锛堢涓�涓负榛樿搴擄級
+  "DbConnection": {
+    "EnableConsoleSql": true, // 鍚敤鎺у埗鍙版墦鍗癝QL
+    "ConnectionConfigs": [
+      {
+        //"ConfigId": "1300000000001", // 榛樿搴撴爣璇�-绂佹淇敼
+        "DbType": "SqlServer", // MySql銆丼qlServer銆丼qlite銆丱racle銆丳ostgreSQL銆丏m銆並dbndp銆丱scar銆丮ySqlConnector銆丄ccess銆丱penGauss銆丵uestDB銆丠G銆丆lickHouse銆丟Base銆丱dbc銆丆ustom
+        // "ConnectionString": "Server=.;Database=iWare_RawMaterialWarehouse_Wms;User=sa;Password=123456;MultipleActiveResultSets=True;", // 搴撹繛鎺ュ瓧绗︿覆
+        "ConnectionString": "Server=.;Database=LA24030_LuLiPackageLine;User=sa;Password=123abc.com;MultipleActiveResultSets=True;", // 搴撹繛鎺ュ瓧绗︿覆
+        //"SlaveConnectionConfigs": [ // 璇诲啓鍒嗙/涓讳粠
+        //	{
+        //		"HitRate": 10,
+        //		"ConnectionString": "DataSource=./Admin.NET1.db"
+        //	},
+        //	{
+        //		"HitRate": 10,
+        //		"ConnectionString": "DataSource=./Admin.NET2.db"
+        //	}
+        //],
+        "DbSettings": {
+          "EnableInitDb": true, // 鍚敤搴撳垵濮嬪寲
+          "EnableDiffLog": false, // 鍚敤搴撹〃宸紓鏃ュ織
+          "EnableUnderLine": false // 鍚敤椹煎嘲杞笅鍒掔嚎
+        },
+        "TableSettings": {
+          "EnableInitTable": true, // 鍚敤琛ㄥ垵濮嬪寲
+          "EnableIncreTable": false // 鍚敤琛ㄥ閲忔洿鏂�-鐗规�IncreTable]
+        },
+        "SeedSettings": {
+          "EnableInitSeed": true, // 鍚敤绉嶅瓙鍒濆鍖�
+          "EnableIncreSeed": false // 鍚敤绉嶅瓙澧為噺鏇存柊-鐗规�IncreSeed]
+        }
+      }
+      //// 鏃ュ織鐙珛鏁版嵁搴撻厤缃�
+      //{
+      //  "ConfigId": "1300000000002", // 鏃ュ織搴撴爣璇�-绂佹淇敼
+      //  "DbType": "Sqlite",
+      //  "ConnectionString": "DataSource=./Admin.NET.Log.db", // 搴撹繛鎺ュ瓧绗︿覆
+      //  "DbSettings": {
+      //    "EnableInitDb": true, // 鍚敤搴撳垵濮嬪寲
+      //    "EnableDiffLog": false, // 鍚敤搴撹〃宸紓鏃ュ織
+      //    "EnableUnderLine": false // 鍚敤椹煎嘲杞笅鍒掔嚎
+      //  },
+      //  "TableSettings": {
+      //    "EnableInitTable": true, // 鍚敤琛ㄥ垵濮嬪寲
+      //    "EnableIncreTable": false // 鍚敤琛ㄥ閲忔洿鏂�-鐗规�IncreTable]
+      //  },
+      //  "SeedSettings": {
+      //    "EnableInitSeed": false, // 鍚敤绉嶅瓙鍒濆鍖�
+      //    "EnableIncreSeed": false // 鍚敤绉嶅瓙澧為噺鏇存柊-鐗规�IncreSeed]
+      //  }
+      //},
+      //// 鍏朵粬鏁版嵁搴撻厤缃紙鍙互閰嶇疆澶氫釜锛�
+      //{
+      //  "ConfigId": "test", // 搴撴爣璇�
+      //  "DbType": "Sqlite", // 搴撶被鍨�
+      //  "ConnectionString": "DataSource=./Admin.NET.Test.db", // 搴撹繛鎺ュ瓧绗︿覆
+      //  "DbSettings": {
+      //    "EnableInitDb": true, // 鍚敤搴撳垵濮嬪寲
+      //    "EnableDiffLog": false, // 鍚敤搴撹〃宸紓鏃ュ織
+      //    "EnableUnderLine": false // 鍚敤椹煎嘲杞笅鍒掔嚎
+      //  },
+      //  "TableSettings": {
+      //    "EnableInitTable": true, // 鍚敤琛ㄥ垵濮嬪寲
+      //    "EnableIncreTable": false // 鍚敤琛ㄥ閲忔洿鏂�-鐗规�IncreTable]
+      //  },
+      //  "SeedSettings": {
+      //    "EnableInitSeed": true, // 鍚敤绉嶅瓙鍒濆鍖�
+      //    "EnableIncreSeed": false // 鍚敤绉嶅瓙澧為噺鏇存柊-鐗规�IncreSeed]
+      //  }
+      //}
+    ]
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Email.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Email.json
new file mode 100644
index 0000000..bc53ba9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Email.json
@@ -0,0 +1,14 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "Email": {
+    "Host": "smtp.163.com", // 涓绘満
+    "Port": 465, // 绔彛 465銆�994銆�25
+    "EnableSsl": true, // 鍚敤SSL
+    "DefaultFromEmail": "xxx@163.com", // 榛樿鍙戜欢鑰呴偖绠�
+    "DefaultToEmail": "xxx@qq.com", // 榛樿鎺ユ敹浜洪偖绠�
+    "UserName": "xxx@163.com", // 閭璐﹀彿
+    "Password": "", // 閭鎺堟潈鐮�
+    "DefaultFromName": "Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�" // 榛樿閭欢鏍囬
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Enum.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Enum.json
new file mode 100644
index 0000000..dbcbbb1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Enum.json
@@ -0,0 +1,8 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  // 鏋氫妇瀹炰綋鎵�鍦ㄧ▼搴忛泦鍚嶇О闆嗗悎
+  "Enum": {
+    "EntityAssemblyNames": [ "Admin.NET.Core", "Admin.NET.Application", "Admin.NET.AppCMS" ]
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/EventBus.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/EventBus.json
new file mode 100644
index 0000000..520123e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/EventBus.json
@@ -0,0 +1,12 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "EventBus": {
+    "RabbitMQ": {
+      "UserName": "adminnet",
+      "Password": "adminnet++123456",
+      "HostName": "127.0.0.1",
+      "Port": 5672
+    }
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/JWT.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/JWT.json
new file mode 100644
index 0000000..72c7dc5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/JWT.json
@@ -0,0 +1,17 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "JWTSettings": {
+    "ValidateIssuerSigningKey": true, // 鏄惁楠岃瘉瀵嗛挜锛宐ool 绫诲瀷锛岄粯璁rue
+    "IssuerSigningKey": "3c1cbc3f546eda35168c3aa3cb91780fbe703f0996c6d123ea96dc85c70bbc0a", // 瀵嗛挜锛宻tring 绫诲瀷锛屽繀椤绘槸澶嶆潅瀵嗛挜锛岄暱搴﹀ぇ浜�16
+    "ValidateIssuer": true, // 鏄惁楠岃瘉绛惧彂鏂癸紝bool 绫诲瀷锛岄粯璁rue
+    "ValidIssuer": "Admin.NET", // 绛惧彂鏂癸紝string 绫诲瀷
+    "ValidateAudience": true, // 鏄惁楠岃瘉绛炬敹鏂癸紝bool 绫诲瀷锛岄粯璁rue
+    "ValidAudience": "Admin.NET", // 绛炬敹鏂癸紝string 绫诲瀷
+    "ValidateLifetime": true, // 鏄惁楠岃瘉杩囨湡鏃堕棿锛宐ool 绫诲瀷锛岄粯璁rue锛屽缓璁畉rue
+    //"ExpiredTime": 20, // 杩囨湡鏃堕棿锛宭ong 绫诲瀷锛屽崟浣嶅垎閽燂紝榛樿20鍒嗛挓锛屾渶澶ф敮鎸� 13 骞�
+    "ClockSkew": 5, // 杩囨湡鏃堕棿瀹归敊鍊硷紝long 绫诲瀷锛屽崟浣嶇锛岄粯璁�5绉�
+    "Algorithm": "HS256", // 鍔犲瘑绠楁硶锛宻tring 绫诲瀷锛岄粯璁� HS256
+    "RequireExpirationTime": true // 楠岃瘉杩囨湡鏃堕棿锛岃缃� false 灏嗘案涓嶈繃鏈�
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Limit.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Limit.json
new file mode 100644
index 0000000..9bce62c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Limit.json
@@ -0,0 +1,121 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  // IP闄愭祦閰嶇疆
+  "IpRateLimiting": {
+    // 渚嬪:璁剧疆姣忓垎閽�5娆¤闂檺娴�
+    // 褰揊alse鏃讹細姣忎釜鎺ュ彛閮藉姞鍏ヨ鏁帮紝涓嶇浣犺闂摢涓帴鍙o紝鍙鍦ㄤ竴鍒嗛挓鍐呯疮璁″5娆★紝灏嗙姝㈣闂��
+    // 褰揟rue 鏃讹細褰撲竴鍒嗛挓璇锋眰浜�5娆etData鎺ュ彛锛屽垯璇ユ帴鍙e皢鍦ㄦ椂闂存鍐呯姝㈣闂紝浣嗘槸杩樺彲浠ヨ闂甈ostData()5娆�,鎬诲緱鏉ヨ鏄瘡涓帴鍙i兘鏈�5娆″湪杩欎竴鍒嗛挓锛屼簰涓嶅共鎵般��
+    "EnableEndpointRateLimiting": true,
+    // 濡傛灉StackBlockedRequests璁剧疆涓篺alse锛屾嫆缁濈殑API璋冪敤涓嶄細娣诲姞鍒拌皟鐢ㄦ鏁拌鏁板櫒涓娿�傛瘮濡傦細濡傛灉瀹㈡埛绔瘡绉掑彂鍑�3涓姹傚苟涓旀偍璁剧疆浜嗘瘡绉掍竴涓皟鐢ㄧ殑闄愬埗锛�
+    // 鍒欐瘡鍒嗛挓鎴栨瘡澶╄鏁板櫒绛夊叾浠栭檺鍒跺皢浠呰褰曠涓�涓皟鐢紝鍗虫垚鍔熺殑API璋冪敤銆傚鏋滄偍甯屾湜琚嫆缁濈殑API璋冪敤璁″叆鍏朵粬鏃堕棿鐨勬樉绀猴紙鍒嗛挓锛屽皬鏃剁瓑锛夛紝鍒欏繀椤昏缃�
+    "StackBlockedRequests": false,
+    // 鍦≧ealIpHeader浣跨敤鏃讹紝浣犵殑Kestrel鏈嶅姟鍣ㄨ儗鍚庢槸涓�涓弽鍚戜唬鐞嗭紝濡傛灉浣犵殑浠g悊鏈嶅姟鍣ㄤ娇鐢ㄤ笉鍚岀殑椤电湁鐒跺悗鎻愬彇瀹㈡埛绔疘P X-Real-IP浣跨敤姝ら�夐」鏉ヨ缃畠銆�
+    "RealIpHeader": "X-Real-IP",
+    // 灏咰lientIdHeader琚敤浜庢彁鍙栫櫧鍚嶅崟鐨勫鎴风ID銆傚鏋滄鏍囧ご涓瓨鍦ㄥ鎴风ID骞朵笖涓嶤lientWhitelist涓寚瀹氱殑鍊煎尮閰嶏紝鍒欎笉搴旂敤閫熺巼闄愬埗銆�
+    "ClientIdHeader": "X-ClientId",
+    // IP鐧藉悕鍗�:鏀寔Ipv4鍜孖pv6
+    "IpWhitelist": [],
+    // 绔偣鐧藉悕鍗�
+    "EndpointWhitelist": [],
+    // 瀹㈡埛绔櫧鍚嶅崟
+    "ClientWhitelist": [],
+    "QuotaExceededResponse": {
+      "Content": "{{\"code\":429,\"type\":\"error\",\"message\":\"璁块棶杩囦簬棰戠箒,璇风◢鍚庨噸璇�!\",\"result\":null,\"extras\":null}}",
+      "ContentType": "application/json",
+      "StatusCode": 429
+    },
+    // 杩斿洖鐘舵�佺爜
+    "HttpStatusCode": 429,
+    // API瑙勫垯,缁撳熬涓�瀹氳甯�*
+    "GeneralRules": [
+      // 1绉掗挓鍙兘璋冪敤10娆�
+      {
+        "Endpoint": "*",
+        "Period": "1s",
+        "Limit": 10
+      },
+      // 1鍒嗛挓鍙兘璋冪敤600娆�
+      {
+        "Endpoint": "*",
+        "Period": "1m",
+        "Limit": 600
+      },
+      // 1灏忔椂鍙兘璋冪敤3600
+      {
+        "Endpoint": "*",
+        "Period": "1h",
+        "Limit": 3600
+      },
+      // 1澶╁彧鑳借皟鐢�86400娆�
+      {
+        "Endpoint": "*",
+        "Period": "1d",
+        "Limit": 86400
+      }
+    ]
+  },
+  "IpRateLimitPolicies": {
+    "IpRules": [
+      {
+        "Ip": "XXX.XXX.XXX.XXX",
+        "Rules": [
+          {
+            "Endpoint": "*",
+            "Period": "1s",
+            "Limit": 10
+          },
+          {
+            "Endpoint": "*",
+            "Period": "1m",
+            "Limit": 600
+          }
+        ]
+      }
+    ]
+  },
+  // 瀹㈡埛绔檺娴侀厤缃�
+  "ClientRateLimiting": {
+    "EnableEndpointRateLimiting": true,
+    "ClientIdHeader": "X-ClientId",
+    "EndpointWhitelist": [],
+    "ClientWhitelist": [],
+    "QuotaExceededResponse": {
+      "Content": "{{\"code\":429,\"type\":\"error\",\"message\":\"璁块棶浜烘暟杩囧,璇风◢鍚庨噸璇�!\",\"result\":null,\"extras\":null}}",
+      "ContentType": "application/json",
+      "StatusCode": 429
+    },
+    "HttpStatusCode": 429,
+    "GeneralRules": [
+      {
+        "Endpoint": "*",
+        "Period": "1s",
+        "Limit": 10
+      },
+      {
+        "Endpoint": "*",
+        "Period": "1m",
+        "Limit": 600
+      }
+    ]
+  },
+  "ClientRateLimitPolicies": {
+    "ClientRules": [
+      {
+        "ClientId": "xxx-xxx",
+        "Rules": [
+          {
+            "Endpoint": "*",
+            "Period": "1s",
+            "Limit": 10
+          },
+          {
+            "Endpoint": "*",
+            "Period": "1m",
+            "Limit": 600
+          }
+        ]
+      }
+    ]
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Logging.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Logging.json
new file mode 100644
index 0000000..5dee96c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Logging.json
@@ -0,0 +1,47 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "Logging": {
+    "LogLevel": {
+      "Default": "Information",
+      "Microsoft.AspNetCore": "Warning",
+      "Microsoft.EntityFrameworkCore": "Information"
+    },
+    "File": {
+      "Enabled": false, // 鍚敤鏂囦欢鏃ュ織
+      "FileName": "logs/{0:yyyyMMdd}_{1}.log", // 鏃ュ織鏂囦欢
+      "Append": true, // 杩藉姞瑕嗙洊
+      // "MinimumLevel": "Information", // 鏃ュ織绾у埆
+      "FileSizeLimitBytes": 10485760, // 10M=10*1024*1024
+      "MaxRollingFiles": 30 // 鍙繚鐣�30涓枃浠�
+    },
+    "Database": {
+      "Enabled": true, // 鍚敤鏁版嵁搴撴棩蹇�
+      "MinimumLevel": "Information"
+    },
+    "ElasticSearch": {
+      "Enabled": false, // 鍚敤ES鏃ュ織
+      "AuthType": "Basic", // ES璁よ瘉绫诲瀷锛屽彲閫� Basic銆丄piKey銆丅ase64ApiKey
+      "User": "admin", // Basic璁よ瘉鐨勭敤鎴峰悕锛屼娇鐢˙asic璁よ瘉绫诲瀷鏃跺繀濉�
+      "Password": "123456", // Basic璁よ瘉鐨勫瘑鐮侊紝浣跨敤Basic璁よ瘉绫诲瀷鏃跺繀濉�
+      "ApiId": "", // 浣跨敤ApiKey璁よ瘉绫诲瀷鏃跺繀濉�
+      "ApiKey": "", // 浣跨敤ApiKey璁よ瘉绫诲瀷鏃跺繀濉�
+      "Base64ApiKey": "TmtrOEszNEJuQ0NyaWlydGtROFk6SG1RZ0w3YzBTc2lCanJTYlV3aXNzZw==", // 浣跨敤Base64ApiKey璁よ瘉绫诲瀷鏃跺繀濉�
+      "Fingerprint": "37:08:6A:C6:06:CC:9A:43:CF:ED:25:A2:1C:A4:69:57:90:31:2C:06:CA:61:56:39:6A:9C:46:11:BD:22:51:DA", // ES浣跨敤Https鏃剁殑璇佷功鎸囩汗
+      "ServerUris": [ "http://192.168.1.100:9200" ], // 鍦板潃
+      "DefaultIndex": "adminnet" // 绱㈠紩
+    },
+    "Monitor": {
+      "GlobalEnabled": true, // 鍚敤鍏ㄥ眬鎷︽埅鏃ュ織
+      "IncludeOfMethods": [], // 鎷︽埅鐗瑰畾鏂规硶锛屽綋GlobalEnabled=false鏈夋晥
+      "ExcludeOfMethods": [], // 鎺掗櫎鐗瑰畾鏂规硶锛屽綋GlobalEnabled=true鏈夋晥
+      "BahLogLevel": "Information", // Oops.Oh 鍜� Oops.Bah 涓氬姟鏃ュ織杈撳嚭绾у埆
+      "WithReturnValue": true, // 鏄惁鍖呭惈杩斿洖鍊硷紝榛樿true
+      "ReturnValueThreshold": 500, // 杩斿洖鍊煎瓧绗︿覆闃堝�硷紝榛樿0鍏ㄩ噺杈撳嚭
+      "JsonBehavior": "None", // 鏄惁杈撳嚭Json锛岄粯璁one(OnlyJson銆丄ll)
+      "JsonIndented": false, // 鏄惁鏍煎紡鍖朖son
+      "UseUtcTimestamp": false, // 鏃堕棿鏍煎紡UTC銆丩OCAL
+      "ConsoleLog": true // 鏄惁鏄剧ず鎺у埗鍙版棩蹇�
+    }
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/OAuth.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/OAuth.json
new file mode 100644
index 0000000..f2f28aa
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/OAuth.json
@@ -0,0 +1,14 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "OAuth": {
+    "Weixin": {
+      "ClientId": "xxx",
+      "ClientSecret": "xxx"
+    },
+    "Gitee": {
+      "ClientId": "xxx",
+      "ClientSecret": "xxx"
+    }
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/SMS.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/SMS.json
new file mode 100644
index 0000000..f2a87b4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/SMS.json
@@ -0,0 +1,12 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "SMS": {
+    "Aliyun": {
+      "AccessKeyId": "",
+      "AccessKeySecret": "",
+      "SignName": "AdminNET骞冲彴", // 鐭俊绛惧悕
+      "TemplateCode": "" // 鐭俊妯℃澘
+    }
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Swagger.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Swagger.json
new file mode 100644
index 0000000..f7cc3ec
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Swagger.json
@@ -0,0 +1,32 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "SpecificationDocumentSettings": {
+    "DocumentTitle": "iWareWMS鍘熸枡搴�(鏍囧噯鐗�)",
+    "GroupOpenApiInfos": [
+      {
+        "Group": "Default",
+        "Title": "iWareWMS鍘熸枡搴�(鏍囧噯鐗�)",
+        "Description": "甯姪涓浗鍒堕�犱笟瀹炵幇鑷姩鍖栥�佹櫤鑳藉寲銆�",
+        "Version": "1.0.0",
+        "Order": 1000
+      },
+      {
+        "Group": "All Groups",
+        "Title": "鎵�鏈夋帴鍙�",
+        "Description": "甯姪涓浗鍒堕�犱笟瀹炵幇鑷姩鍖栥�佹櫤鑳藉寲銆�",
+        "Version": "1.0.0",
+        "Order": 0
+      }
+    ],
+    "DefaultGroupName": "Default", // 榛樿鍒嗙粍鍚�
+    "DocExpansionState": "List", // List銆丗ull銆丯one
+    "EnableAllGroups": true,
+    "LoginInfo": {
+      "Enabled": true, // 鏄惁寮�鍚疭wagger鐧诲綍
+      "CheckUrl": "/api/swagger/checkUrl",
+      "SubmitUrl": "/api/swagger/submitUrl"
+    },
+    "EnumToNumber": true // 鏋氫妇绫诲瀷鐢熸垚鍊肩被鍨�
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Upload.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Upload.json
new file mode 100644
index 0000000..dd558f8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Upload.json
@@ -0,0 +1,21 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "Upload": {
+    "Path": "Upload/{yyyy}/{MM}/{dd}", // 鏂囦欢涓婁紶鐩綍
+    "MaxSize": 20480, // 鏂囦欢鏈�澶ч檺鍒禟B锛�1024*20
+    "ContentType": [ "image/jpg", "image/png", "image/jpeg", "image/gif", "image/bmp", "text/plain", "application/pdf", "application/msword", "application/vnd.ms-excel", "application/vnd.ms-powerpoint", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "video/mp4" ],
+    "EnableMd5": false // 鍚敤鏂囦欢MDF5楠岃瘉-闃叉閲嶅涓婁紶
+  },
+  "OSSProvider": {
+    "IsEnable": false,
+    "Provider": "Minio", // OSS鎻愪緵鑰� Invalid/Minio/Aliyun/QCloud/Qiniu/HuaweiCloud
+    "Endpoint": "xxx.xxx.xxx.xxx:8090", // 鑺傜偣/API鍦板潃锛堝湪鑵捐浜慜SS涓〃绀篈ppId锛�
+    "Region": "xxx.xxx.xxx.xxx", // 鍦板煙
+    "AccessKey": "",
+    "SecretKey": "",
+    "IsEnableHttps": false, // 鏄惁鍚敤HTTPS
+    "IsEnableCache": true, // 鏄惁鍚敤缂撳瓨
+    "Bucket": "admin.net"
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Wechat.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Wechat.json
new file mode 100644
index 0000000..b642ffd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Wechat.json
@@ -0,0 +1,31 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "Wechat": {
+    // 鍏紬鍙�
+    "WechatAppId": "",
+    "WechatAppSecret": "",
+    "WechatToken": "", // 寰俊鍏紬鍙锋湇鍔″櫒閰嶇疆涓殑浠ょ墝(Token)
+    "WechatEncodingAESKey": "", // 寰俊鍏紬鍙锋湇鍔″櫒閰嶇疆涓殑娑堟伅鍔犺В瀵嗗瘑閽�(EncodingAESKey)
+    // 灏忕▼搴�
+    "WxOpenAppId": "",
+    "WxOpenAppSecret": "",
+    "WxToken": "", // 灏忕▼搴忔秷鎭帹閫佷腑鐨勪护鐗�(Token)
+    "WxEncodingAESKey": "" // 灏忕▼搴忔秷鎭帹閫佷腑鐨勬秷鎭姞瑙e瘑瀵嗛挜(EncodingAESKey)
+  },
+  // 寰俊鏀粯
+  "WechatPay": {
+    "AppId": "", // 寰俊鍏紬骞冲彴AppId銆佸紑鏀惧钩鍙癆ppId銆佸皬绋嬪簭AppId銆佷紒涓氬井淇orpId
+    "MerchantId": "", // 鍟嗘埛骞冲彴鐨勫晢鎴峰彿
+    "MerchantV3Secret": "", // 鍟嗘埛骞冲彴鐨凙PIv3瀵嗛挜
+    "MerchantCertificateSerialNumber": "", // 鍟嗘埛骞冲彴鐨勮瘉涔﹀簭鍒楀彿
+    "MerchantCertificatePrivateKey": "\\WxPayCert\\apiclient_key.pem" // 鍟嗘埛骞冲彴鐨凙PI璇佷功绉侀挜(apiclient_key.pem鏂囦欢鍐呭)
+  },
+  // 鏀粯鍥炶皟
+  "PayCallBack": {
+    "WechatPayUrl": "https://xxx/api/sysWechatPay/payCallBack", // 寰俊鏀粯鍥炶皟
+    "WechatRefundUrl": "", // 寰俊閫�娆惧洖璋�
+    "AlipayUrl": "", // 鏀粯瀹濇敮浠樺洖璋�
+    "AlipayRefundUrl": "" // 鏀粯瀹濋��娆惧洖璋�
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Const/ApplicationConst.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Const/ApplicationConst.cs
new file mode 100644
index 0000000..3345b4b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Const/ApplicationConst.cs
@@ -0,0 +1,65 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 涓氬姟搴旂敤鐩稿叧甯搁噺
+/// </summary>
+public class ApplicationConst
+{
+
+    /// <summary>
+    /// 榛樿鐨勫湪閫斿簱浣嶅彿鍓嶇紑
+    /// </summary>
+    public const string DefaultZTPlaceCode_Pre = "ZT_Place_";
+
+    /// <summary>
+    /// 榛樿鐨勫湪閫斿鍣ㄥ彿鍓嶇紑
+    /// </summary>
+    public const string DefaultZTContainerCode_Pre = "ZT_Container_";
+
+    /// <summary>
+    /// 榛樿鐨勫鍣ㄧ墿鏂欑紪鍙�
+    /// </summary>
+    public const string DefaultContinerMaterialCode = "RQ";
+
+    /// <summary>
+    /// 榛樿鐨勫鍣ㄧ墿鏂欏悕绉�
+    /// </summary>
+    public const string DefaultContinerMaterialName = "瀹瑰櫒";
+
+    /// <summary>
+    /// API鍒嗙粍鍚嶇О
+    /// </summary>
+    public const string GroupName = "xxx涓氬姟搴旂敤";
+
+    public const string WmsBaseGroupName = "鍩虹鏁版嵁涓氬姟搴旂敤";
+
+    public const string TestDemoGroupName = "娴嬭瘯妯″潡";
+    public const string CodeExamplesGroupName = "浠g爜绀轰緥妯″潡";
+    public const string WmsCommonServiceGroupName = "WMS鍏叡鏈嶅姟";
+    public const string WmsOrderGroupName = "鍗曟嵁绠$悊";
+    public const string PrintCenterGroupName = "鎵撳嵃涓績";
+    public const string WmsOperationsGroupName = "浠撳簱浣滀笟";
+    public const string WmsQCGroupName = "鎶ユ鍗�";
+    public const string PdaOperationsGroup = "PDA浣滀笟";
+    public const string ReportCenterGroupName = "鎶ヨ〃涓績";
+    public const string WmsTaskGroupName = "浠诲姟绠$悊";
+    public const string WmsSystemConfigGroupName = "绯荤粺閰嶇疆";
+    public const string SoftwareAdapterServiceGroupName = "杞欢閫傞厤鍣�";
+    public const string HomePageName = "棣栭〉宸ヤ綔鍙扮鐞�";
+
+    public const string WmsInventoryCheckGroupName = "鐩樼偣绠$悊";
+    public const string WmsAssistGroupName = "杈呭姪鍔熻兘";
+
+    public const string WmsStockQuanGroupName = "搴撳瓨绠$悊";
+
+    public const string WmsSystemGroupName = "WMS绯荤粺绠$悊";
+    public const string WmsStockSnapshotDetailsGroupName = "搴撳瓨蹇収绠$悊";
+
+
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/SoftwareAdapter/WmsAdapterCategories.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/SoftwareAdapter/WmsAdapterCategories.cs
new file mode 100644
index 0000000..bd85d6c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/SoftwareAdapter/WmsAdapterCategories.cs
@@ -0,0 +1,32 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Application.Entity;
+/// <summary>
+/// 閫傞厤鍣ㄥぇ绫荤鐞�
+/// </summary>
+[SugarTable("wms_adapter_categories", "閫傞厤鍣ㄥぇ绫荤鐞�")]
+public class WmsAdapterCategories : EntityBase
+{
+    /// <summary>
+    /// 閫傞厤澶х被鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnName = "CategoryName", ColumnDescription = "鍗曟嵁澶х被鍚嶇О", Length = 255)]
+    public string CategoryName { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄦ暟閲�
+    /// </summary>
+    [SugarColumn(ColumnName = "AdapterNumber", ColumnDescription = "閫傞厤鍣ㄦ暟閲�")]
+    public int AdapterNumber { get; set; }
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/SoftwareAdapter/WmsAdapterManagement.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/SoftwareAdapter/WmsAdapterManagement.cs
new file mode 100644
index 0000000..0190e7b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/SoftwareAdapter/WmsAdapterManagement.cs
@@ -0,0 +1,63 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Application.Entity;
+
+/// <summary>
+/// 閫傞厤鍣ㄧ鐞�
+/// </summary>
+[SugarTable("wms_adapter_management", "閫傞厤鍣ㄧ鐞�")]
+
+public class WmsAdapterManagement : EntityBase
+{
+    /// <summary>
+    /// 閫傞厤鍣ㄥぇ绫籭d
+    /// </summary>
+    [SugarColumn(ColumnName = "AdapterCategoryId", ColumnDescription = "閫傞厤鍣ㄥぇ绫籭d")]
+    public long AdapterCategoryId { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄥぇ绫诲悕绉�
+    /// </summary>
+    [SugarColumn(ColumnName = "CategoryName", ColumnDescription = "閫傞厤鍣ㄥぇ绫诲悕绉�", Length = 255)]
+    public string CategoryName { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄥ悕绉�
+    /// </summary>
+    [SugarColumn(ColumnName = "AdapterName", ColumnDescription = "閫傞厤鍣ㄥ悕绉�", Length = 255)]
+    public string AdapterName { get; set; }
+    /// <summary>
+    /// 閫傞厤鍣ㄦ柟娉曞悕绉�
+    /// </summary>
+    [SugarColumn(ColumnName = "AdapterMethodName", ColumnDescription = "閫傞厤鍣ㄦ柟娉曞悕绉�", Length = 255)]
+    public string AdapterMethodName { get; set; }
+    /// <summary>
+    /// 閫傞厤妯″紡
+    /// </summary>
+    [SugarColumn(ColumnName = "AdapterMode", ColumnDescription = "閫傞厤妯″紡")]
+    public AdapterModeEnum AdapterMode { get; set; }
+    /// <summary>
+    /// 閰嶇疆涓绘満鍙�
+    /// </summary>
+    [SugarColumn(ColumnName = "AdapterHost", ColumnDescription = "閰嶇疆涓绘満鍙�", Length = 50)]
+    public string AdapterHost { get; set; }
+    /// <summary>
+    /// 閫傞厤鍣ㄧ鍙e彿
+    /// </summary>
+    [SugarColumn(ColumnName = "AdapterPort", ColumnDescription = "閫傞厤鍣ㄧ鍙e彿", Length = 50)]
+    public string AdapterPort { get; set; }
+    /// <summary>
+    /// 閫傞厤鍣║RL
+    /// </summary>
+    [SugarColumn(ColumnName = "AdapterURL", ColumnDescription = "閫傞厤鍣║RL", Length = 50)]
+    public string AdapterURL { get; set; }
+    /// <summary>
+    /// 璇锋眰鏂瑰紡
+    /// </summary>
+    [SugarColumn(ColumnName = "AdapterRequestMethod", ColumnDescription = "璇锋眰鏂瑰紡")]
+    public AdapterRequestMethodEnum AdapterRequestMethod { get; set; }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/SoftwareAdapter/WmsAdapterRecord.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/SoftwareAdapter/WmsAdapterRecord.cs
new file mode 100644
index 0000000..4fb124c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/SoftwareAdapter/WmsAdapterRecord.cs
@@ -0,0 +1,118 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
+using System.ComponentModel.DataAnnotations.Schema;
+
+namespace Admin.NET.Application.Entity;
+/// <summary>
+/// 閫傞厤鍣ㄨ褰�
+/// </summary>
+[SugarTable("wms_adapter_record", "閫傞厤璁板綍")]
+public class WmsAdapterRecord : EntityBase
+{
+    /// <summary>
+    /// 閫傞厤鍣ㄥぇ绫籭d
+    /// </summary>
+    [SugarColumn(ColumnName = "AdapterCategoryId", ColumnDescription = "閫傞厤鍣ㄥぇ绫籭d")]
+    public long AdapterCategoryId { get; set; }
+    /// <summary>
+    /// 閫傞厤澶х被鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnName = "CategoryName", ColumnDescription = "鍗曟嵁澶х被鍚嶇О", Length = 255)]
+    public string CategoryName { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄥ悕绉�
+    /// </summary>
+    [SugarColumn(ColumnName = "AdapterName", ColumnDescription = "閫傞厤鍣ㄥ悕绉�", Length = 255)]
+    public string AdapterName { get; set; }
+    /// <summary>
+    /// 閫傞厤鍣╥d
+    /// </summary>
+    [SugarColumn(ColumnName = "AdapterId", ColumnDescription = "閫傞厤鍣╥d")]
+    public long AdapterId { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄦ柟娉曞悕绉�
+    /// </summary>
+    [SugarColumn(ColumnName = "AdapterMethodName", ColumnDescription = "閫傞厤鍣ㄦ柟娉曞悕绉�", Length = 255)]
+    public string AdapterMethodName { get; set; }
+    /// <summary>
+    /// 璇锋眰鏉ユ簮
+    /// </summary>
+    [SugarColumn(ColumnName = "RequestSoure", ColumnDescription = "璇锋眰鏉ユ簮", Length = 50)]
+    public string RequestSoure { get; set; }
+    /// <summary>
+    /// 閫傞厤SID
+    /// </summary>
+    [SugarColumn(ColumnName = "AdapterSID", ColumnDescription = "閫傞厤SID",Length = 255)]
+    public string AdapterSID { get; set;}
+
+    /// <summary>
+    /// 鍏抽敭瀛�
+    /// </summary>
+    [SugarColumn(ColumnName = "KeyCode", ColumnDescription = "鍏抽敭瀛�", Length = 255)]
+    public string? KeyCode { get; set; }
+
+
+    /// <summary>
+    /// 寮�濮嬫椂闂�
+    /// </summary>
+    [SugarColumn(ColumnName = "BeginTime", ColumnDescription = "寮�濮嬫椂闂�")]
+    public  DateTime? BeginTime { get; set; }
+
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnName = "EndingTime", ColumnDescription = "缁撴潫鏃堕棿")]
+    public  DateTime? EndingTime { get; set; }
+
+
+
+    /// <summary>
+    /// 鑰楁椂
+    /// </summary>
+    [SugarColumn(ColumnName = "TimeDifference", ColumnDescription = "鑰楁椂")]
+    public int? TimeDifference { get; set; }
+
+    /// <summary>
+    /// 澶勭悊鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnName = "DealWithStatus", ColumnDescription = "澶勭悊鐘舵��")]
+    public AdapterLogDealWithEnum DealWithStatus { get; set; }
+
+    /// <summary>
+    /// 閿欒淇℃伅
+    /// </summary>
+    [SugarColumn(ColumnName = "ErrMessage", ColumnDescription = "璇锋眰鏉ユ簮",Length =int.MaxValue)]
+    public string ErrMessage { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍙傛暟
+    /// </summary>
+    [SugarColumn(ColumnName = "AdapterInput", ColumnDescription = "閫傞厤鍙傛暟",Length = int.MaxValue)]
+    public string AdapterInput { get; set; }
+    /// <summary>
+    /// 閫傞厤鎶ユ枃
+    /// </summary>
+    [SugarColumn(ColumnName = "AdapterReturnMassage", ColumnDescription = "閫傞厤鎶ユ枃", Length = int.MaxValue)]
+    public string AdapterReturnMassage { get; set; }
+
+    /// <summary>
+    /// 鍗曟嵁缂栧彿
+    /// </summary>
+    [SugarColumn(ColumnName = "OrderNo", ColumnDescription = "鍗曟嵁缂栧彿")]
+    public string OrderNo { get; set; }
+
+    /// <summary>
+    /// 鎺ㄩ�佹鏁�
+    /// </summary>
+
+    [SugarColumn(ColumnName = "PushCount", ColumnDescription = "鎺ㄩ�佹鏁�")]
+    public int? PushCount { get; set; }
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/TestDemo/TestPlace.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/TestDemo/TestPlace.cs
new file mode 100644
index 0000000..e3525ae
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/TestDemo/TestPlace.cs
@@ -0,0 +1,264 @@
+锘縰sing Admin.NET.Application;
+using Admin.NET.Core;
+
+/*
+ * @author : 鍒樻枃濂�
+ * @date : 2024/5/10涓嬪崍1:42:36
+ * @desc : 搴撲綅琛�
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 搴撲綅琛�
+    /// </summary>
+    [SugarTable("test_place", "娴嬭瘯搴撲綅琛�")]
+    public class TestPlace : EntityBase
+    {
+
+
+        /// <summary>
+        /// 搴撲綅缂栫爜
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "PlaceCode", ColumnDescription = "搴撲綅缂栫爜", Length = 50)]
+
+        public string PlaceCode { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "PlaceName", ColumnDescription = "搴撲綅鍚嶇О", Length = 50)]
+
+        public string PlaceName { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅鍒悕
+        /// </summary>
+        [SugarColumn(ColumnName = "PlaceAlias", ColumnDescription = "搴撲綅鍒悕", Length = 50)]
+
+        public string? PlaceAlias { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅绫诲瀷
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "PlaceType", ColumnDescription = "搴撲綅绫诲瀷")]
+        public PlaceTypeEnum PlaceType { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅绫诲瀷鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "PlaceTypeName", ColumnDescription = "搴撲綅绫诲瀷鍚嶇О", Length = 50)]
+
+        public string PlaceTypeName { get; set; }
+
+
+        /// <summary>
+        /// 瀛樻斁鍗曚綅
+        /// </summary>
+        [SugarColumn(ColumnName = "StockUnit", ColumnDescription = "瀛樻斁鍗曚綅", Length = 50)]
+
+        public string? StockUnit { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅灞炴��
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "PlaceStatus", ColumnDescription = "搴撲綅灞炴��")]
+        public PlaceStatusEnum PlaceStatus { get; set; }
+
+
+        /// <summary>
+        /// 鏄惁婵�娲讳笌浠诲姟璋冨害
+        /// </summary>
+
+        [SugarColumn(ColumnName = "IsActivateWCS", ColumnDescription = "鏄惁婵�娲讳笌浠诲姟璋冨害")]
+        public bool? IsActivateWCS { get; set; }
+
+
+        /// <summary>
+        /// 搴撳瓨鐜
+        /// </summary>
+        [SugarColumn(ColumnName = "Environment", ColumnDescription = "搴撳瓨鐜", Length = 255)]
+
+        public string? Environment { get; set; }
+
+
+        /// <summary>
+        /// 搴撳尯缂栧彿
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "AreaCode", ColumnDescription = "搴撳尯缂栧彿", Length = 50)]
+
+        public string AreaCode { get; set; }
+
+
+        /// <summary>
+        /// 鎵�鍦ㄥ簱鍖�
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "AreaId", ColumnDescription = "鎵�鍦ㄥ簱鍖�")]
+        public long AreaId { get; set; }
+
+
+        /// <summary>
+        /// 搴撳尯鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "AreaName", ColumnDescription = "搴撳尯鍚嶇О", Length = 50)]
+
+        public string AreaName { get; set; }
+
+
+        /// <summary>
+        /// 妫�楠岀爜
+        /// </summary>
+        [SugarColumn(ColumnName = "VerificationCode", ColumnDescription = "妫�楠岀爜", Length = 255)]
+
+        public string? VerificationCode { get; set; }
+
+
+        /// <summary>
+        /// 鎺�
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "RowNo", ColumnDescription = "鎺�")]
+        public int RowNo { get; set; }
+
+
+        /// <summary>
+        /// 鍒�
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "ColumnNo", ColumnDescription = "鍒�")]
+        public int ColumnNo { get; set; }
+
+
+        /// <summary>
+        /// 灞�
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "LayerNo", ColumnDescription = "灞�")]
+        public int LayerNo { get; set; }
+
+
+        /// <summary>
+        /// 宸烽亾
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "LaneNo", ColumnDescription = "宸烽亾")]
+        public int LaneNo { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅X鍧愭爣
+        /// </summary>
+        [SugarColumn(ColumnName = "Xzb", ColumnDescription = "搴撲綅X鍧愭爣", Length = 255)]
+
+        public string? Xzb { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅Y鍧愭爣
+        /// </summary>
+        [SugarColumn(ColumnName = "Yzb", ColumnDescription = "搴撲綅Y鍧愭爣", Length = 255)]
+
+        public string? Yzb { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅Z鍧愭爣
+        /// </summary>
+        [SugarColumn(ColumnName = "Zzb", ColumnDescription = "搴撲綅Z鍧愭爣", Length = 255)]
+
+        public string? Zzb { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅闀垮害
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "Length", ColumnDescription = "搴撲綅闀垮害", Length = 10, DecimalDigits = 3)]
+        public decimal Length { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅瀹藉害
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "Width", ColumnDescription = "搴撲綅瀹藉害", Length = 10, DecimalDigits = 3)]
+        public decimal Width { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅楂樺害
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "Height", ColumnDescription = "搴撲綅楂樺害", Length = 10, DecimalDigits = 3)]
+        public decimal Height { get; set; }
+
+
+        /// <summary>
+        /// 鏈�澶ф壙閲�
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "MaxWeight", ColumnDescription = "鏈�澶ф壙閲�", Length = 10, DecimalDigits = 3)]
+        public decimal MaxWeight { get; set; }
+
+
+        /// <summary>
+        /// 涓婃灦椤哄簭
+        /// </summary>
+
+        [SugarColumn(ColumnName = "InSequence", ColumnDescription = "涓婃灦椤哄簭")]
+        public int? InSequence { get; set; }
+
+
+        /// <summary>
+        /// 涓嬫灦椤哄簭
+        /// </summary>
+
+        [SugarColumn(ColumnName = "OutSequence", ColumnDescription = "涓嬫灦椤哄簭")]
+        public int? OutSequence { get; set; }
+
+
+        /// <summary>
+        /// 鏄惁铏氭嫙
+        /// </summary>
+
+        [SugarColumn(ColumnName = "IsVirtually", ColumnDescription = "鏄惁铏氭嫙")]
+        public bool? IsVirtually { get; set; }
+
+
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "IsDisabled", ColumnDescription = "鏄惁绂佺敤")]
+        public bool IsDisabled { get; set; }
+
+
+
+
+
+
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/TestDemo/TestStudent.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/TestDemo/TestStudent.cs
new file mode 100644
index 0000000..0e7515f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/TestDemo/TestStudent.cs
@@ -0,0 +1,116 @@
+锘縰sing Admin.NET.Core;
+namespace Admin.NET.Application.Entity;
+
+/// <summary>
+/// 娴嬭瘯瀛︾敓琛�
+/// </summary>
+[SugarTable("Test_Student", "娴嬭瘯瀛︾敓琛�")]
+public class TestStudent : EntityBase
+{
+
+    /// <summary>
+    /// 閲嶅鎬ф牎楠屾柟寮�
+    /// </summary>
+    [SugarColumn(ColumnName = "RepCheckType", ColumnDescription = "閲嶅鎬ф牎楠屾柟寮�")]
+    public string? RepCheckType { get; set; }
+
+
+    /// <summary>
+    /// 鑰佸笀ID(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "TeacherId", ColumnDescription = "鑰佸笀ID(鍙┖)")]
+    public long? TeacherId { get; set; }
+
+    /// <summary>
+    /// 鑰佸笀鍚嶅瓧(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "TeacherName", ColumnDescription = "鑰佸笀鍚嶅瓧(鍙┖)")]
+    public string? TeacherName { get; set; }
+
+    /// <summary>
+    /// 瀛︾敓濮撳悕
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "Name", ColumnDescription = "瀛︾敓濮撳悕", Length = 2000)]
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 鍒悕(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "AliName", ColumnDescription = "鍒悕(鍙┖)", Length = 2000)]
+    public string? AliName { get; set; }
+
+    /// <summary>
+    /// 瀛︾敓骞撮緞
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "Age", ColumnDescription = "瀛︾敓骞撮緞")]
+    public int Age { get; set; }
+
+    /// <summary>
+    /// 骞寸邯(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "NianJi", ColumnDescription = "骞寸邯(鍙┖)")]
+    public int? NianJi { get; set; }
+
+
+
+    /// <summary>
+    /// 鏍¢暱ID(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "RectorId", ColumnDescription = "鏍¢暱ID(鍙┖)")]
+    public long? RectorId { get; set; }
+
+    /// <summary>
+    /// 闆惰姳閽�
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "HasMoney", ColumnDescription = "闆惰姳閽�", Length = 10, DecimalDigits = 3)]
+    public decimal HasMoney { get; set; }
+
+    /// <summary>
+    /// 韬环(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "ShenJia", ColumnDescription = "韬环(鍙┖)", Length = 10, DecimalDigits = 3)]
+    public decimal? ShenJia { get; set; }
+
+    /// <summary>
+    /// 鏄惁鍦ㄦ牎
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "IsInSchool", ColumnDescription = "鏄惁鍦ㄦ牎")]
+    public bool IsInSchool { get; set; }
+
+    /// <summary>
+    /// 鏄惁澶栧湴浜�(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "IsWDR", ColumnDescription = "鏄惁澶栧湴浜�(鍙┖)")]
+    public bool? IsWDR { get; set; }
+
+    /// <summary>
+    /// 鎬у埆
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "Gender", ColumnDescription = "鎬у埆")]
+    public GenderEnum Gender { get; set; }
+
+    /// <summary>
+    /// 鍏朵粬鎬у埆(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "OtherGender", ColumnDescription = "鍏朵粬鎬у埆(鍙┖)")]
+    public GenderEnum? OtherGender { get; set; }
+
+    /// <summary>
+    /// 鍑虹敓鏃ユ湡
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "BrithDate", ColumnDescription = "鍑虹敓鏃ユ湡")]
+    public DateTime BrithDate { get; set; }
+
+    /// <summary>
+    /// 鍏ュ鏃ユ湡(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "InSchoolDate", ColumnDescription = "鍏ュ鏃ユ湡(鍙┖)")]
+    public DateTime? InSchoolDate { get; set; }
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/TestDemo/TestTeacher.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/TestDemo/TestTeacher.cs
new file mode 100644
index 0000000..19f7758
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/TestDemo/TestTeacher.cs
@@ -0,0 +1,37 @@
+锘縰sing Admin.NET.Core;
+namespace Admin.NET.Application.Entity;
+
+/// <summary>
+/// 娴嬭瘯鑰佸笀琛�
+/// </summary>
+[SugarTable("Test_Teachert", "娴嬭瘯鑰佸笀琛�")]
+public class TestTeacher : EntityBase
+{
+    /// <summary>
+    /// 濮撳悕
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "Name", ColumnDescription = "濮撳悕", Length = 2000)]
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 鍒悕(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "AliName", ColumnDescription = "鍒悕(鍙┖)", Length = 2000)]
+    public string? AliName { get; set; }
+
+
+    /// <summary>
+    /// 鏇剧敤鍚�
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "OldName", ColumnDescription = "鏇剧敤鍚�", Length = 2000)]
+    public string OldName { get; set; }
+
+    /// <summary>
+    /// 浣忓潃(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "Address", ColumnDescription = "浣忓潃(鍙┖)", Length = 2000)]
+    public string? Address { get; set; }
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseArea.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseArea.cs
new file mode 100644
index 0000000..51b3811
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseArea.cs
@@ -0,0 +1,152 @@
+锘縰sing Admin.NET.Application;
+using Admin.NET.Core;
+
+/*
+ * @author : 鍒樻枃濂�
+ * @date : 2024/5/10涓嬪崍1:41:40
+ * @desc : 搴撳尯琛�
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 搴撳尯琛�
+    /// </summary>
+    [SugarTable("wms_base_area", "搴撳尯琛�")]
+    public class WmsBaseArea : EntityBase
+    {
+
+
+        /// <summary>
+        /// 鎵�灞炰粨搴�
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "WarehouseId", ColumnDescription = "鎵�灞炰粨搴�")]
+        public long WarehouseId { get; set; }
+
+
+        /// <summary>
+        /// 浠撳簱缂栧彿
+        /// </summary>
+        [SugarColumn(ColumnName = "WarehouseCode", ColumnDescription = "浠撳簱缂栧彿", Length = 50)]
+
+        public string? WarehouseCode { get; set; }
+
+
+        /// <summary>
+        /// 浠撳簱鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "WarehouseName", ColumnDescription = "浠撳簱鍚嶇О", Length = 50)]
+
+        public string? WarehouseName { get; set; }
+
+        /// <summary>
+        /// 搴撳尯绫诲瀷
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "AreaType", ColumnDescription = "搴撳尯绫诲瀷")]
+        public AreaTypeEnum AreaType { get; set; }
+
+        /// <summary>
+        /// 搴撳尯缂栫爜
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "AreaCode", ColumnDescription = "搴撳尯缂栫爜", Length = 50)]
+
+        public string AreaCode { get; set; }
+
+
+        /// <summary>
+        /// 搴撳尯鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "AreaName", ColumnDescription = "搴撳尯鍚嶇О", Length = 50)]
+
+        public string AreaName { get; set; }
+
+
+        /// <summary>
+        /// 搴撳尯鎻忚堪
+        /// </summary>
+        [SugarColumn(ColumnName = "AreaDesc", ColumnDescription = "搴撳尯鎻忚堪", Length = 255)]
+
+        public string? AreaDesc { get; set; }
+
+
+
+
+        /// <summary>
+        /// 搴撳瓨鍦扮紪鐮�
+        /// </summary>
+        [SugarColumn(ColumnName = "ErpCode", ColumnDescription = "搴撳瓨鍦扮紪鐮�", Length = 255)]
+
+        public string? ErpCode { get; set; }
+
+
+        /// <summary>
+        /// 鏉$爜绾х鎺�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "IsBarcodeLevelControl", ColumnDescription = "鏉$爜绾х鎺�")]
+        public bool? IsBarcodeLevelControl { get; set; }
+
+
+        /// <summary>
+        /// 妫�楠屽厛杩涘厛鍑�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "IsFIFO", ColumnDescription = "妫�楠屽厛杩涘厛鍑�")]
+        public bool? IsFIFO { get; set; }
+
+
+        /// <summary>
+        /// 闆朵欢绾х鎺�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "IsPartLevelControl", ColumnDescription = "闆朵欢绾х鎺�")]
+        public bool? IsPartLevelControl { get; set; }
+
+
+        /// <summary>
+        /// 鍏佽娣锋穯
+        /// </summary>
+
+        [SugarColumn(ColumnName = "IsAllowConfusion", ColumnDescription = "鍏佽娣锋穯")]
+        public bool? IsAllowConfusion { get; set; }
+
+
+        /// <summary>
+        /// 鍏佽璐熷簱瀛�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "IsAllowNegativeInventory", ColumnDescription = "鍏佽璐熷簱瀛�")]
+        public bool? IsAllowNegativeInventory { get; set; }
+
+
+        /// <summary>
+        /// 鏄惁铏氭嫙
+        /// </summary>
+
+        [SugarColumn(ColumnName = "IsVirtually", ColumnDescription = "鏄惁铏氭嫙")]
+        public bool? IsVirtually { get; set; }
+
+
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "IsDisabled", ColumnDescription = "鏄惁绂佺敤")]
+        public bool IsDisabled { get; set; }
+
+
+
+
+
+
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseFactory.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseFactory.cs
new file mode 100644
index 0000000..ba842d3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseFactory.cs
@@ -0,0 +1,61 @@
+锘縰sing Admin.NET.Core;
+
+/*
+ * @author : 鍒樻枃濂�
+ * @date : 2024/5/10涓嬪崍1:39:07
+ * @desc : 宸ュ巶淇℃伅琛�
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 宸ュ巶淇℃伅琛�
+    /// </summary>
+    [SugarTable("wms_base_factory", "宸ュ巶淇℃伅琛�")]
+    public class WmsBaseFactory : EntityBase
+    {
+
+
+        /// <summary>
+        /// 缂栧彿
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "FactoryCode", ColumnDescription = "缂栧彿", Length = 50)]
+
+        public string FactoryCode { get; set; }
+
+
+        /// <summary>
+        /// 鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "FactoryName", ColumnDescription = "鍚嶇О", Length = 255)]
+
+        public string FactoryName { get; set; }
+
+
+        /// <summary>
+        /// 鍦板潃
+        /// </summary>
+        [SugarColumn(ColumnName = "FactoryAddress", ColumnDescription = "鍦板潃", Length = 255)]
+
+        public string? FactoryAddress { get; set; }
+
+
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "IsDisabled", ColumnDescription = "鏄惁绂佺敤")]
+        public bool IsDisabled { get; set; }
+
+
+
+
+
+
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseMaterial.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseMaterial.cs
new file mode 100644
index 0000000..caed787
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseMaterial.cs
@@ -0,0 +1,232 @@
+锘縰sing Admin.NET.Application;
+using Admin.NET.Core;
+
+/*
+ * @author : 鍒樻枃濂�
+ * @date : 2024/5/10涓嬪崍1:51:19
+ * @desc : 鐗╂枡淇℃伅琛�
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 鐗╂枡淇℃伅琛�
+    /// </summary>
+    [SugarTable("wms_base_material", "鐗╂枡淇℃伅琛�")]
+    public class WmsBaseMaterial : EntityBase
+    {
+
+
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "MaterialName", ColumnDescription = "鐗╂枡鍚嶇О", Length = 50)]
+
+        public string MaterialName { get; set; }
+
+
+        /// <summary>
+        /// 鐗╂枡缂栧彿
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "MaterialCode", ColumnDescription = "鐗╂枡缂栧彿", Length = 50)]
+
+        public string MaterialCode { get; set; }
+
+
+        /// <summary>
+        /// ERP缂栧彿
+        /// </summary>
+        [SugarColumn(ColumnName = "ErpCode", ColumnDescription = "ERP缂栧彿", Length = 255)]
+
+        public string? ErpCode { get; set; }
+
+
+        /// <summary>
+        /// 鐗╂枡绫诲瀷鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "MaterialTypeName", ColumnDescription = "鐗╂枡绫诲瀷鍚嶇О", Length = 50)]
+
+        public string MaterialTypeName { get; set; }
+
+
+        /// <summary>
+        /// 鐗╂枡绫诲瀷鎻忚堪
+        /// </summary>
+        [SugarColumn(ColumnName = "MaterialTypeDescr", ColumnDescription = "鐗╂枡绫诲瀷鎻忚堪", Length = 255)]
+
+        public string? MaterialTypeDescr { get; set; }
+
+
+        /// <summary>
+        /// 鐗╂枡绫诲瀷缂栧彿
+        /// </summary>
+        [SugarColumn(ColumnName = "MaterialTypeCode", ColumnDescription = "鐗╂枡绫诲瀷缂栧彿", Length = 50)]
+
+        public string? MaterialTypeCode { get; set; }
+
+
+        /// <summary>
+        /// 鐗╂枡绫诲瀷ID
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "MaterialType", ColumnDescription = "鐗╂枡绫诲瀷ID")]
+        public long MaterialType { get; set; }
+
+
+        /// <summary>
+        /// 鐗╂枡缁�
+        /// </summary>
+        [SugarColumn(ColumnName = "MaterialGroup", ColumnDescription = "鐗╂枡缁�", Length = 50)]
+
+        public string? MaterialGroup { get; set; }
+
+
+        /// <summary>
+        /// ABC鍒嗙被鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "ABCClassName", ColumnDescription = "ABC鍒嗙被鍚嶇О", Length = 50)]
+
+        public string? ABCClassName { get; set; }
+
+
+        /// <summary>
+        /// ABC鍒嗙被
+        /// </summary>
+
+        [SugarColumn(ColumnName = "ABCClass", ColumnDescription = "ABC鍒嗙被")]
+        public ABCClassEnum? ABCClass { get; set; }
+
+
+        /// <summary>
+        /// 鐗╂枡瑙勬牸
+        /// </summary>
+        [SugarColumn(ColumnName = "MaterialSpec", ColumnDescription = "鐗╂枡瑙勬牸", Length = 255)]
+
+        public string? MaterialSpec { get; set; }
+
+
+        /// <summary>
+        /// 榛樿涓婃灦搴撲綅
+        /// </summary>
+        [SugarColumn(ColumnName = "InPlaceCode", ColumnDescription = "榛樿涓婃灦搴撲綅", Length = 50)]
+
+        public string? InPlaceCode { get; set; }
+
+
+        /// <summary>
+        /// 搴撳瓨鍗曚綅
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "MaterialUnit", ColumnDescription = "搴撳瓨鍗曚綅", Length = 50)]
+
+        public string MaterialUnit { get; set; }
+
+
+        /// <summary>
+        /// 閲囪喘鍗曚綅
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "POUnit", ColumnDescription = "閲囪喘鍗曚綅", Length = 50)]
+
+        public string POUnit { get; set; }
+
+
+        /// <summary>
+        /// 棰滆壊
+        /// </summary>
+        [SugarColumn(ColumnName = "Color", ColumnDescription = "棰滆壊", Length = 50)]
+
+        public string? Color { get; set; }
+
+
+        /// <summary>
+        /// 閲嶉噺
+        /// </summary>
+        [SugarColumn(ColumnName = "Weight", ColumnDescription = "閲嶉噺", Length = 50)]
+
+        public string? Weight { get; set; }
+
+
+        /// <summary>
+        /// 鏍囧寘鏁伴噺
+        /// </summary>
+
+        [SugarColumn(ColumnName = "SNP", ColumnDescription = "鏍囧寘鏁伴噺", Length = 10, DecimalDigits = 3)]
+        public decimal? SNP { get; set; }
+
+
+        /// <summary>
+        /// 鎹㈢畻鐜�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "TranslateRate", ColumnDescription = "鎹㈢畻鐜�", Length = 10, DecimalDigits = 3)]
+        public decimal? TranslateRate { get; set; }
+
+
+        /// <summary>
+        /// 鎵规灞炴�ц鍒�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "BatchRuleId", ColumnDescription = "鎵规灞炴�ц鍒�")]
+        public long? BatchRuleId { get; set; }
+
+
+        /// <summary>
+        /// 鎺у埗灞炴�ц鍒�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "ControlRuleId", ColumnDescription = "鎺у埗灞炴�ц鍒�")]
+        public long? ControlRuleId { get; set; }
+
+
+        /// <summary>
+        /// 鎵规灞炴�ц鍒欑紪鍙�
+        /// </summary>
+        [SugarColumn(ColumnName = "BatchRuleCode", ColumnDescription = "鎵规灞炴�ц鍒欑紪鍙�", Length = 255)]
+
+        public string? BatchRuleCode { get; set; }
+
+
+        /// <summary>
+        /// 鎺у埗灞炴�ц鍒欑紪鍙�
+        /// </summary>
+        [SugarColumn(ColumnName = "ControlRuleCode", ColumnDescription = "鎺у埗灞炴�ц鍒欑紪鍙�", Length = 255)]
+
+        public string? ControlRuleCode { get; set; }
+
+        /// <summary>
+        /// 鏄惁璐ㄦ
+        /// </summary>
+
+        [SugarColumn(ColumnName = "IsCheck", ColumnDescription = "鏄惁璐ㄦ")]
+        public bool IsCheck { get; set; }
+
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "IsDisabled", ColumnDescription = "鏄惁绂佺敤")]
+        public bool IsDisabled { get; set; }
+
+
+        /// <summary>
+        /// 鎻忚堪
+        /// </summary>
+        [SugarColumn(ColumnName = "MaterialDesc", ColumnDescription = "鎻忚堪", Length = 255)]
+
+        public string? MaterialDesc { get; set; }
+
+
+
+
+
+
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseMaterialType.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseMaterialType.cs
new file mode 100644
index 0000000..4b86cbe
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseMaterialType.cs
@@ -0,0 +1,61 @@
+锘縰sing Admin.NET.Core;
+
+/*
+ * @author : 鍒樻枃濂�
+ * @date : 2024/5/10涓嬪崍1:49:19
+ * @desc : 鐗╂枡绫诲瀷琛�
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 鐗╂枡绫诲瀷琛�
+    /// </summary>
+    [SugarTable("wms_base_material_type", "鐗╂枡绫诲瀷琛�")]
+    public class WmsBaseMaterialType : EntityBase
+    {
+
+
+        /// <summary>
+        /// 绫诲瀷缂栧彿
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "MaterialTypeCode", ColumnDescription = "绫诲瀷缂栧彿", Length = 50)]
+
+        public string MaterialTypeCode { get; set; }
+
+
+        /// <summary>
+        /// 绫诲瀷鎻忚堪
+        /// </summary>
+        [SugarColumn(ColumnName = "MaterialTypeDescr", ColumnDescription = "绫诲瀷鎻忚堪", Length = 255)]
+
+        public string? MaterialTypeDescr { get; set; }
+
+
+        /// <summary>
+        /// 绫诲瀷鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "MaterialTypeName", ColumnDescription = "绫诲瀷鍚嶇О", Length = 50)]
+
+        public string MaterialTypeName { get; set; }
+
+
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "IsDisabled", ColumnDescription = "鏄惁绂佺敤")]
+        public bool IsDisabled { get; set; }
+
+
+
+
+
+
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBasePlace.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBasePlace.cs
new file mode 100644
index 0000000..b3ce6f4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBasePlace.cs
@@ -0,0 +1,165 @@
+锘縰sing Admin.NET.Application;
+using Admin.NET.Core;
+
+/*
+ * @author : 鍒樻枃濂�
+ * @date : 2024/5/10涓嬪崍1:42:36
+ * @desc : 搴撲綅琛�
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 搴撲綅琛�
+    /// </summary>
+    [SugarTable("wms_base_place", "搴撲綅琛�")]
+    public class WmsBasePlace : EntityBase
+    {
+
+
+        /// <summary>
+        /// 搴撲綅缂栫爜
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "PlaceCode", ColumnDescription = "搴撲綅缂栫爜", Length = 50)]
+
+        public string PlaceCode { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "PlaceName", ColumnDescription = "搴撲綅鍚嶇О", Length = 50)]
+        public string PlaceName { get; set; }
+
+
+
+        /// <summary>
+        /// 搴撲綅绫诲瀷
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "PlaceType", ColumnDescription = "搴撲綅绫诲瀷")]
+        public PlaceTypeEnum PlaceType { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅绫诲瀷鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "PlaceTypeName", ColumnDescription = "搴撲綅绫诲瀷鍚嶇О", Length = 50)]
+
+        public string? PlaceTypeName { get; set; }
+
+
+
+        /// <summary>
+        /// 搴撲綅闀垮害
+        /// </summary>
+
+        [SugarColumn(ColumnName = "Length", ColumnDescription = "搴撲綅闀垮害", Length = 10, DecimalDigits = 3)]
+        public decimal? Length { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅瀹藉害
+        /// </summary>
+
+        [SugarColumn(ColumnName = "Width", ColumnDescription = "搴撲綅瀹藉害", Length = 10, DecimalDigits = 3)]
+        public decimal? Width { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅楂樺害
+        /// </summary>
+
+        [SugarColumn(ColumnName = "Height", ColumnDescription = "搴撲綅楂樺害", Length = 10, DecimalDigits = 3)]
+        public decimal? Height { get; set; }
+
+
+        /// <summary>
+        /// 鍘氬害
+        /// </summary>
+
+        [SugarColumn(ColumnName = "Thick", ColumnDescription = "鍘氬害", Length = 10, DecimalDigits = 3)]
+        public decimal? Thick { get; set; }
+
+
+
+        /// <summary>
+        /// 搴撲綅灞炴��
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "PlaceStatus", ColumnDescription = "搴撲綅灞炴��")]
+        public PlaceStatusEnum PlaceStatus { get; set; }
+
+
+
+        /// <summary>
+        /// 鎵�鍦ㄥ簱鍖�
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "AreaId", ColumnDescription = "鎵�鍦ㄥ簱鍖�")]
+        public long AreaId { get; set; }
+
+
+        /// <summary>
+        /// 搴撳尯缂栧彿
+        /// </summary>
+        [SugarColumn(ColumnName = "AreaCode", ColumnDescription = "搴撳尯缂栧彿", Length = 50)]
+
+        public string? AreaCode { get; set; }
+
+
+        /// <summary>
+        /// 搴撳尯鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "AreaName", ColumnDescription = "搴撳尯鍚嶇О", Length = 50)]
+
+        public string? AreaName { get; set; }
+
+
+        /// <summary>
+        /// 鍙�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "LaneNo", ColumnDescription = "鍙�")]
+        public int? LaneNo { get; set; }
+
+
+        /// <summary>
+        /// 鍒�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "ColumnNo", ColumnDescription = "鍒�")]
+        public int? ColumnNo { get; set; }
+
+
+        /// <summary>
+        /// 灞�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "LayerNo", ColumnDescription = "灞�")]
+        public int? LayerNo { get; set; }
+
+
+        /// <summary>
+        /// 鏄惁铏氭嫙
+        /// </summary>
+
+        [SugarColumn(ColumnName = "IsVirtually", ColumnDescription = "鏄惁铏氭嫙")]
+        public bool? IsVirtually { get; set; }
+
+
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "IsDisabled", ColumnDescription = "鏄惁绂佺敤")]
+        public bool IsDisabled { get; set; }
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseWarehouse.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseWarehouse.cs
new file mode 100644
index 0000000..281d33a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsBase/WmsBaseWarehouse.cs
@@ -0,0 +1,134 @@
+锘縰sing Admin.NET.Core;
+
+/*
+ * @author : 鍒樻枃濂�
+ * @date : 2024/5/10涓嬪崍1:39:40
+ * @desc : 浠撳簱琛�
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 浠撳簱琛�
+    /// </summary>
+    [SugarTable("wms_base_warehouse", "浠撳簱琛�")]
+    public class WmsBaseWarehouse : EntityBase
+    {
+
+
+        /// <summary>
+        /// 浠撳簱缂栧彿
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "Code", ColumnDescription = "浠撳簱缂栧彿", Length = 50)]
+
+        public string Code { get; set; }
+
+
+        /// <summary>
+        /// 浠撳簱鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "Name", ColumnDescription = "浠撳簱鍚嶇О", Length = 50)]
+
+        public string Name { get; set; }
+
+
+        /// <summary>
+        /// 浠撳簱鍦板潃
+        /// </summary>
+        [SugarColumn(ColumnName = "Address", ColumnDescription = "浠撳簱鍦板潃", Length = 255)]
+
+        public string? Address { get; set; }
+
+
+        /// <summary>
+        /// 宸ュ巶ID
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "FactoryId", ColumnDescription = "宸ュ巶ID")]
+        public long FactoryId { get; set; }
+
+
+        /// <summary>
+        /// 宸ュ巶鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "FactoryName", ColumnDescription = "宸ュ巶鍚嶇О", Length = 255)]
+
+        public string? FactoryName { get; set; }
+
+
+        /// <summary>
+        /// 宸ュ巶缂栧彿
+        /// </summary>
+        [SugarColumn(ColumnName = "FactoryCode", ColumnDescription = "宸ュ巶缂栧彿", Length = 50)]
+
+        public string? FactoryCode { get; set; }
+
+
+        /// <summary>
+        /// 闀�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "Length", ColumnDescription = "闀�", Length = 10, DecimalDigits = 3)]
+        public decimal? Length { get; set; }
+
+
+        /// <summary>
+        /// 瀹�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "Width", ColumnDescription = "瀹�", Length = 10, DecimalDigits = 3)]
+        public decimal? Width { get; set; }
+
+
+        /// <summary>
+        /// 楂�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "Height", ColumnDescription = "楂�", Length = 10, DecimalDigits = 3)]
+        public decimal? Height { get; set; }
+
+
+        /// <summary>
+        /// 鍩烘湰鍗曞厓
+        /// </summary>
+        [SugarColumn(ColumnName = "BaseUnit", ColumnDescription = "鍩烘湰鍗曞厓", Length = 255)]
+
+        public string? BaseUnit { get; set; }
+
+
+        /// <summary>
+        /// 瀹氫綅
+        /// </summary>
+        [SugarColumn(ColumnName = "Position", ColumnDescription = "瀹氫綅", Length = 255)]
+
+        public string? Position { get; set; }
+
+
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "IsDisabled", ColumnDescription = "鏄惁绂佺敤")]
+        public bool IsDisabled { get; set; }
+
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        [SugarColumn(ColumnName = "Remarks", ColumnDescription = "澶囨敞", Length = 255)]
+
+        public string? Remarks { get; set; }
+
+
+
+
+
+
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsOrder/Mes_BatchOrderUPI.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsOrder/Mes_BatchOrderUPI.cs
new file mode 100644
index 0000000..e74cd10
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsOrder/Mes_BatchOrderUPI.cs
@@ -0,0 +1,139 @@
+锘縰sing Admin.NET.Core;
+
+/*
+ * @author : 鍒樻枃濂�
+ * @date : 2024/5/29涓婂崍10:26:39
+ * @desc : 璋冨害浠诲姟
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 鎵规鏁版嵁
+    /// </summary>
+    [SugarTable("mes_batchOrderUPI_new", "鎵规鏁版嵁")]
+    public class Mes_BatchOrderUPI_New : EntityBase
+    {
+        #region wms鏂板瀛楁 銆怑ditby shaocx,2024-11-20銆�
+
+        /// <summary>
+        /// 鎵�鍦ㄥ尯鍩�
+        /// </summary>
+        [SugarColumn(ColumnName = "AreaCode", ColumnDescription = "鎵�鍦ㄥ尯鍩�")]
+        public AreaCodeEnum? AreaCode { get; set; }
+
+
+        /// <summary>
+        /// 鏉挎枡鐘舵��
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "UpiStatus", ColumnDescription = "鏉挎枡鐘舵��")]
+        public UpiStatusEnum UpiStatus { get; set; }
+
+        #endregion
+
+
+
+
+        [Required]
+        [SugarColumn(ColumnName = "PlanNo", ColumnDescription = "鎵规鍙�", Length = 50)]
+        public string PlanNo { get; set; }
+
+        [Required]
+        [SugarColumn(ColumnName = "OrderId", ColumnDescription = "璁㈠崟鍙�", Length = 50)]
+        public string OrderId { get; set; }
+
+        [Required]
+        [SugarColumn(ColumnName = "UPI", ColumnDescription = "閮ㄤ欢鏉$爜", Length = 50)]
+        public string UPI { get; set; }
+
+        [Required]
+        [SugarColumn(ColumnName = "DetailName", ColumnDescription = "閮ㄤ欢鍚嶇О", Length = 50)]
+        public string DetailName { get; set; }
+
+
+        [SugarColumn(ColumnName = "Length", ColumnDescription = "闀�")]
+        public float Length { get; set; }
+
+        [SugarColumn(ColumnName = "Width", ColumnDescription = "瀹�")]
+        public float Width { get; set; }
+
+        [SugarColumn(ColumnName = "Thk", ColumnDescription = "鍘�")]
+        public float Thk { get; set; }
+
+        [SugarColumn(ColumnName = "Matgrid", ColumnDescription = "閮ㄤ欢绾圭悊", Length = 50)]
+        public string? Matgrid { get; set; }
+
+        [SugarColumn(ColumnName = "IsEB", ColumnDescription = "鏄惁灏佽竟")]
+        public int? IsEB { get; set; }
+
+        /// <summary>
+        /// 鎵撳瓟璁惧缂栧彿 銆怑ditBy shaocx,2022-05-28銆�
+        /// 0锛氫笉鎵撳瓟
+        /// 1锛氬洓闈㈤捇
+        /// 2锛氳豹杩堝叚闈㈤捇
+        /// 5锛氬崡鍏村叚闈㈤捇
+        /// </summary>
+        [SugarColumn(ColumnName = "DRNum", ColumnDescription = "鎵撳瓟璁惧缂栧彿")]
+        public int? DRNum { get; set; }
+
+        [SugarColumn(ColumnName = "IsPA", ColumnDescription = "鏄惁浼樺寲鍖呰")]
+        public int? IsPA { get; set; }
+
+        /// <summary>
+        /// 閿垏鍥惧彿
+        /// </summary>
+        [SugarColumn(ColumnName = "MaterialIndeX", ColumnDescription = "閿垏鍥惧彿")]
+        public int? MaterialIndeX { get; set; }
+
+
+        #region 鍖呰绾挎湁鍏�
+
+        [Required]
+        [SugarColumn(ColumnName = "PackageCode", ColumnDescription = "鍖呰鍙�", Length = 50)]
+        public string PackageCode { get; set; }
+
+        [Required]
+        [SugarColumn(ColumnName = "MachineXCenter", ColumnDescription = "鍖呰X鍧愭爣", Length = 50)]
+        public float? MachineXCenter { get; set; }
+
+        [Required]
+        [SugarColumn(ColumnName = "MachineYCenter", ColumnDescription = "鍖呰Y鍧愭爣", Length = 50)]
+        public float? MachineYCenter { get; set; }
+
+        [Required]
+        [SugarColumn(ColumnName = "MachineZCenter", ColumnDescription = "鍖呰Z鍧愭爣", Length = 50)]
+        public float? MachineZCenter { get; set; }
+
+        [Required]
+        [SugarColumn(ColumnName = "Sequence", ColumnDescription = "灞傛暟", Length = 50)]
+        public int? Sequence { get; set; }
+
+        [Required]
+        [SugarColumn(ColumnName = "Shelf", ColumnDescription = "娆″簭", Length = 50)]
+        public int? Shelf { get; set; }
+
+        #endregion
+
+
+        /// <summary>
+        /// 鏄惁杞悜
+        /// 0锛氫笉杞悜
+        /// 1锛氳浆鍚�
+        /// 鐩墠鍙湁鍥涢潰閽绘墠鑳借浆鍚�
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "Rotation", ColumnDescription = "杞悜瑙掑害", Length = 50)]
+        public float? Rotation { get; set; }
+
+
+     
+        [SugarColumn(ColumnName = "Info1", ColumnDescription = "绾哥闀�", Length = 50)]
+        public float? Info1 { get; set; }
+
+        [SugarColumn(ColumnName = "Info2", ColumnDescription = "绾哥瀹�", Length = 50)]
+        public float? Info2 { get; set; }
+
+        [SugarColumn(ColumnName = "Info3", ColumnDescription = "绾哥楂�", Length = 50)]
+        public float? Info3 { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsLogAction.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsLogAction.cs
new file mode 100644
index 0000000..fdd67b7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsLogAction.cs
@@ -0,0 +1,91 @@
+锘縰sing Admin.NET.Core;
+
+/*
+ * @author : 鎮ㄧ殑鍚嶅瓧
+ * @date : 2024/7/26涓婂崍7:59:59
+ * @desc : 鎿嶄綔灞ュ巻
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 鎿嶄綔灞ュ巻
+    /// </summary>
+    [SugarTable("wms_log_action", "鎿嶄綔灞ュ巻")]
+    public class WmsLogAction : EntityBase
+    {
+
+
+        /// <summary>
+        /// 鎿嶄綔鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "Title", ColumnDescription = "鎿嶄綔鍚嶇О", Length = 255)]
+
+        public string Title { get; set; }
+
+
+        /// <summary>
+        /// 鎿嶄綔鏁版嵁ID
+        /// </summary>
+
+        [SugarColumn(ColumnName = "DbId", ColumnDescription = "鎿嶄綔鏁版嵁ID")]
+        public long? DbId { get; set; }
+
+
+        /// <summary>
+        /// 涓氬姟绫诲瀷
+        /// </summary>
+
+        [SugarColumn(ColumnName = "BusinessType", ColumnDescription = "涓氬姟绫诲瀷")]
+        public BusinessTypeEnum? BusinessType { get; set; }
+
+
+        /// <summary>
+        /// 涓氬姟绫诲瀷鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "BusinessTypeName", ColumnDescription = "涓氬姟绫诲瀷鍚嶇О", Length = 50)]
+
+        public string? BusinessTypeName { get; set; }
+
+
+        /// <summary>
+        /// 鍏抽敭瀛�1
+        /// </summary>
+        [SugarColumn(ColumnName = "KeyWord1", ColumnDescription = "鍏抽敭瀛�1", Length = 255)]
+
+        public string? KeyWord1 { get; set; }
+
+
+        /// <summary>
+        /// 鍏抽敭瀛�2
+        /// </summary>
+        [SugarColumn(ColumnName = "KeyWord2", ColumnDescription = "鍏抽敭瀛�2", Length = 255)]
+
+        public string? KeyWord2 { get; set; }
+
+
+        /// <summary>
+        /// 鍏抽敭瀛�3
+        /// </summary>
+        [SugarColumn(ColumnName = "KeyWord3", ColumnDescription = "鍏抽敭瀛�3", Length = 255)]
+
+        public string? KeyWord3 { get; set; }
+
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        [SugarColumn(ColumnName = "Remarks", ColumnDescription = "澶囨敞", Length = 255)]
+
+        public string? Remarks { get; set; }
+
+
+
+
+
+
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsRecordPrint.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsRecordPrint.cs
new file mode 100644
index 0000000..c09f970
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsRecordPrint.cs
@@ -0,0 +1,252 @@
+锘縰sing Admin.NET.Core;
+
+/*
+ * @author : 鎮ㄧ殑鍚嶅瓧
+ * @date : 2024/7/22涓嬪崍5:49:24
+ * @desc : 鎵撳嵃璁板綍
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 鎵撳嵃璁板綍
+    /// </summary>
+    [SugarTable("wms_record_print", "鎵撳嵃璁板綍")]
+    public class WmsRecordPrint : EntityBase
+    {
+
+
+        /// <summary>
+        /// 鎵撳嵃绫诲瀷
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "PrintType", ColumnDescription = "鎵撳嵃绫诲瀷")]
+        public PrintTypeEnum PrintType { get; set; }
+
+        /// <summary>
+        /// 鎵撳嵃鏉ユ簮
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "PrintSource", ColumnDescription = "鎵撳嵃鏉ユ簮")]
+        public PrintSourceEnum PrintSource { get; set; }
+
+
+ 
+
+        /// <summary>
+        /// 璺熻釜鐮�
+        /// </summary>
+        [SugarColumn(ColumnName = "SNCode", ColumnDescription = "璺熻釜鐮�", Length = 255)]
+
+        public string SNCode { get; set; }
+
+
+        /// <summary>
+        /// 鐗╂枡缂栧彿
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "MaterialCode", ColumnDescription = "鐗╂枡缂栧彿", Length = 50)]
+
+        public string MaterialCode { get; set; }
+
+
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "MaterialName", ColumnDescription = "鐗╂枡鍚嶇О", Length = 50)]
+
+        public string MaterialName { get; set; }
+
+
+        /// <summary>
+        /// 渚涘簲鍟嗙紪鍙�
+        /// </summary>
+        [SugarColumn(ColumnName = "SupplierCode", ColumnDescription = "渚涘簲鍟嗙紪鍙�", Length = 50)]
+
+        public string? SupplierCode { get; set; }
+
+
+        /// <summary>
+        /// 渚涘簲鍟嗗悕绉�
+        /// </summary>
+        [SugarColumn(ColumnName = "SupplierName", ColumnDescription = "渚涘簲鍟嗗悕绉�", Length = 50)]
+
+        public string? SupplierName { get; set; }
+
+
+        /// <summary>
+        /// 搴撳瓨鍗曚綅
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "MaterialUnit", ColumnDescription = "搴撳瓨鍗曚綅", Length = 50)]
+
+        public string MaterialUnit { get; set; }
+
+
+        /// <summary>
+        /// 閲囪喘鍗曚綅
+        /// </summary>
+        [SugarColumn(ColumnName = "POUnit", ColumnDescription = "閲囪喘鍗曚綅", Length = 50)]
+
+        public string? POUnit { get; set; }
+
+
+        /// <summary>
+        /// 鏁伴噺
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "Quantity", ColumnDescription = "鏁伴噺", Length = 10, DecimalDigits = 3)]
+        public decimal Quantity { get; set; }
+
+
+        /// <summary>
+        /// 鍗曟嵁鍙�
+        /// </summary>
+        [SugarColumn(ColumnName = "OrderNo", ColumnDescription = "鍗曟嵁鍙�", Length = 50)]
+
+        public string? OrderNo { get; set; }
+
+
+        /// <summary>
+        /// 鍏宠仈鍗曞彿
+        /// </summary>
+        [SugarColumn(ColumnName = "RelationNo", ColumnDescription = "鍏宠仈鍗曞彿", Length = 50)]
+
+        public string? RelationNo { get; set; }
+
+
+        /// <summary>
+        /// 鍗曟嵁琛屽彿
+        /// </summary>
+        [SugarColumn(ColumnName = "OrderNoLineNumber", ColumnDescription = "鍗曟嵁琛屽彿", Length = 50)]
+
+        public string? OrderNoLineNumber { get; set; }
+
+
+        /// <summary>
+        /// 鍏宠仈鍗曡鍙�
+        /// </summary>
+        [SugarColumn(ColumnName = "RelationNoLineNumber", ColumnDescription = "鍏宠仈鍗曡鍙�", Length = 50)]
+
+        public string? RelationNoLineNumber { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅缂栧彿
+        /// </summary>
+        [SugarColumn(ColumnName = "PlaceCode", ColumnDescription = "搴撲綅缂栧彿", Length = 50)]
+
+        public string? PlaceCode { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "PlaceName", ColumnDescription = "搴撲綅鍚嶇О", Length = 50)]
+
+        public string? PlaceName { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣搴撳尯缂栧彿
+        /// </summary>
+        [SugarColumn(ColumnName = "ToAreaCode", ColumnDescription = "鐩爣搴撳尯缂栧彿", Length = 50)]
+
+        public string? ToAreaCode { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣搴撳尯鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "ToAreaName", ColumnDescription = "鐩爣搴撳尯鍚嶇О", Length = 50)]
+
+        public string? ToAreaName { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣搴撲綅缂栫爜
+        /// </summary>
+        [SugarColumn(ColumnName = "ToPlaceCode", ColumnDescription = "鐩爣搴撲綅缂栫爜", Length = 50)]
+
+        public string? ToPlaceCode { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣搴撲綅鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "ToPlaceName", ColumnDescription = "鐩爣搴撲綅鍚嶇О", Length = 50)]
+
+        public string? ToPlaceName { get; set; }
+
+
+        /// <summary>
+        /// 婧愬簱鍖虹紪鐮�
+        /// </summary>
+        [SugarColumn(ColumnName = "SourceAreaCode", ColumnDescription = "婧愬簱鍖虹紪鐮�", Length = 50)]
+
+        public string? SourceAreaCode { get; set; }
+
+
+        /// <summary>
+        /// 婧愬簱鍖哄悕绉�
+        /// </summary>
+        [SugarColumn(ColumnName = "SourceAreaName", ColumnDescription = "婧愬簱鍖哄悕绉�", Length = 50)]
+
+        public string? SourceAreaName { get; set; }
+
+
+        /// <summary>
+        /// 鎵撳嵃寮犳暟
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "PrintSheetNum", ColumnDescription = "鎵撳嵃寮犳暟")]
+        public int PrintSheetNum { get; set; } = 1;//榛樿鏄�1
+
+
+        /// <summary>
+        /// 鎵撳嵃娆℃暟
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "PrintNum", ColumnDescription = "鎵撳嵃娆℃暟")]
+        public int PrintNum { get; set; } = 0;//榛樿鏄�0
+
+
+        /// <summary>
+        /// 鎵撳嵃鐘舵��
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "PrintStatus", ColumnDescription = "鎵撳嵃鐘舵��")]
+        public PrintStatuEnum PrintStatus { get; set; } = PrintStatuEnum.鏈墦鍗�;
+
+
+        /// <summary>
+        /// 鏄惁鍏佽鎵撳嵃
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "IsAllowPrint", ColumnDescription = "鏄惁鍏佽鎵撳嵃")]
+        public bool IsAllowPrint { get; set; } = true;
+
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        [SugarColumn(ColumnName = "Remarks", ColumnDescription = "澶囨敞", Length = 255)]
+
+        public string? Remarks { get; set; }
+
+
+
+
+
+
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsRecordTrans.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsRecordTrans.cs
new file mode 100644
index 0000000..d20cf1e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsRecordTrans.cs
@@ -0,0 +1,425 @@
+锘縰sing Admin.NET.Core;
+
+/*
+ * @author : 鎮ㄧ殑鍚嶅瓧
+ * @date : 2024/7/19涓嬪崍1:02:35
+ * @desc : 浜嬪姟璁板綍
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 浜嬪姟璁板綍
+    /// </summary>
+    [SugarTable("wms_record_trans", "浜嬪姟璁板綍")]
+    public class WmsRecordTrans : EntityBase
+    {
+
+
+        /// <summary>
+        /// 绉诲姩绫诲瀷
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "MoveType", ColumnDescription = "绉诲姩绫诲瀷")]
+        public MoveTypeEnum MoveType { get; set; }
+
+
+        /// <summary>
+        /// 绉诲姩绫诲瀷鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "MoveTypeName", ColumnDescription = "绉诲姩绫诲瀷鍚嶇О", Length = 50)]
+
+        public string MoveTypeName { get; set; }
+
+
+        /// <summary>
+        /// 涓氬姟绫诲瀷
+        /// </summary>
+
+        [SugarColumn(ColumnName = "BusinessType", ColumnDescription = "涓氬姟绫诲瀷")]
+        public int? BusinessType { get; set; }
+
+
+        /// <summary>
+        /// 涓氬姟绫诲瀷鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "BusinessTypeName", ColumnDescription = "涓氬姟绫诲瀷鍚嶇О", Length = 50)]
+
+        public string? BusinessTypeName { get; set; }
+
+
+        /// <summary>
+        /// 鍏宠仈鍗曟嵁绫诲瀷
+        /// </summary>
+
+        [SugarColumn(ColumnName = "RelationOrderType", ColumnDescription = "鍏宠仈鍗曟嵁绫诲瀷")]
+        public OrderTypeEnum? RelationOrderType { get; set; }
+
+
+        /// <summary>
+        /// 鍏宠仈鍗曟嵁绫诲瀷鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "RelationOrderTypeName", ColumnDescription = "鍏宠仈鍗曟嵁绫诲瀷鍚嶇О", Length = 50)]
+
+        public string? RelationOrderTypeName { get; set; }
+
+
+        /// <summary>
+        /// 鍏宠仈鍗曞彿
+        /// </summary>
+        [SugarColumn(ColumnName = "RelationNo", ColumnDescription = "鍏宠仈鍗曞彿", Length = 50)]
+
+        public string? RelationNo { get; set; }
+
+
+        /// <summary>
+        /// 鍏宠仈鍗曡鍙�
+        /// </summary>
+        [SugarColumn(ColumnName = "RelationNoLineNumber", ColumnDescription = "鍏宠仈鍗曡鍙�", Length = 50)]
+
+        public string? RelationNoLineNumber { get; set; }
+
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        [SugarColumn(ColumnName = "Remarks", ColumnDescription = "澶囨敞", Length = 255)]
+
+        public string? Remarks { get; set; }
+
+
+        /// <summary>
+        /// 鐗╂枡缂栧彿
+        /// </summary>
+        [SugarColumn(ColumnName = "MaterialCode", ColumnDescription = "鐗╂枡缂栧彿", Length = 50)]
+
+        public string? MaterialCode { get; set; }
+
+
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "MaterialName", ColumnDescription = "鐗╂枡鍚嶇О", Length = 50)]
+
+        public string? MaterialName { get; set; }
+
+
+        /// <summary>
+        /// 搴撳瓨鍗曚綅
+        /// </summary>
+        [SugarColumn(ColumnName = "MaterialUnit", ColumnDescription = "搴撳瓨鍗曚綅", Length = 50)]
+
+        public string? MaterialUnit { get; set; }
+
+
+
+
+        /// <summary>
+        /// 婧愬簱瀛樼姸鎬�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "SourceStockStatus", ColumnDescription = "婧愬簱瀛樼姸鎬�")]
+        public StockStatusEnum? SourceStockStatus { get; set; }
+
+
+        /// <summary>
+        /// 婧愬簱瀛樼姸鎬佸悕绉�
+        /// </summary>
+        [SugarColumn(ColumnName = "SourceStockStatusName", ColumnDescription = "婧愬簱瀛樼姸鎬佸悕绉�", Length = 50)]
+
+        public string? SourceStockStatusName { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣搴撳瓨鐘舵��
+        /// </summary>
+
+        [SugarColumn(ColumnName = "ToStockStatus", ColumnDescription = "鐩爣搴撳瓨鐘舵��")]
+        public StockStatusEnum? ToStockStatus { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣搴撳瓨鐘舵�佸悕绉�
+        /// </summary>
+        [SugarColumn(ColumnName = "ToStockStatusName", ColumnDescription = "鐩爣搴撳瓨鐘舵�佸悕绉�", Length = 50)]
+
+        public string? ToStockStatusName { get; set; }
+
+
+        /// <summary>
+        /// 婧愯川閲忕姸鎬�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "SourceQCStatus", ColumnDescription = "婧愯川閲忕姸鎬�")]
+        public StockQcStatusEnum? SourceQCStatus { get; set; }
+
+
+        /// <summary>
+        /// 婧愯川閲忕姸鎬佸悕绉�
+        /// </summary>
+        [SugarColumn(ColumnName = "SourceQCStatusName", ColumnDescription = "婧愯川閲忕姸鎬佸悕绉�", Length = 50)]
+
+        public string? SourceQCStatusName { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣璐ㄩ噺鐘舵��
+        /// </summary>
+
+        [SugarColumn(ColumnName = "ToQCStatus", ColumnDescription = "鐩爣璐ㄩ噺鐘舵��")]
+        public StockQcStatusEnum? ToQCStatus { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣璐ㄩ噺鐘舵�佸悕绉�
+        /// </summary>
+        [SugarColumn(ColumnName = "ToQCStatusName", ColumnDescription = "鐩爣璐ㄩ噺鐘舵�佸悕绉�", Length = 50)]
+
+        public string? ToQCStatusName { get; set; }
+
+
+        /// <summary>
+        /// 婧愭暟閲�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "SourceQuantity", ColumnDescription = "婧愭暟閲�", Length = 10, DecimalDigits = 3)]
+        public decimal? SourceQuantity { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣鏁伴噺
+        /// </summary>
+
+        [SugarColumn(ColumnName = "ToQuantity", ColumnDescription = "鐩爣鏁伴噺", Length = 10, DecimalDigits = 3)]
+        public decimal? ToQuantity { get; set; }
+
+
+        /// <summary>
+        /// 婧愯窡韪爜
+        /// </summary>
+        [SugarColumn(ColumnName = "SourceSNCode", ColumnDescription = "婧愯窡韪爜", Length = 255)]
+
+        public string? SourceSNCode { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣璺熻釜鐮�
+        /// </summary>
+        [SugarColumn(ColumnName = "ToSNCode", ColumnDescription = "鐩爣璺熻釜鐮�", Length = 255)]
+
+        public string? ToSNCode { get; set; }
+
+
+        /// <summary>
+        /// 婧愬簱鍖虹紪鐮�
+        /// </summary>
+        [SugarColumn(ColumnName = "SourceAreaCode", ColumnDescription = "婧愬簱鍖虹紪鐮�", Length = 50)]
+
+        public string? SourceAreaCode { get; set; }
+
+
+        /// <summary>
+        /// 婧愬簱鍖哄悕绉�
+        /// </summary>
+        [SugarColumn(ColumnName = "SourceAreaName", ColumnDescription = "婧愬簱鍖哄悕绉�", Length = 50)]
+
+        public string? SourceAreaName { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣搴撳尯缂栫爜
+        /// </summary>
+        [SugarColumn(ColumnName = "ToAreaCode", ColumnDescription = "鐩爣搴撳尯缂栫爜", Length = 50)]
+
+        public string? ToAreaCode { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣鍖哄悕绉�
+        /// </summary>
+        [SugarColumn(ColumnName = "ToAreaName", ColumnDescription = "鐩爣鍖哄悕绉�", Length = 50)]
+
+        public string? ToAreaName { get; set; }
+
+
+        /// <summary>
+        /// 婧愬簱浣嶇紪鍙�
+        /// </summary>
+        [SugarColumn(ColumnName = "SourcePlaceCode", ColumnDescription = "婧愬簱浣嶇紪鍙�", Length = 50)]
+
+        public string? SourcePlaceCode { get; set; }
+
+
+        /// <summary>
+        /// 婧愬簱浣嶅悕绉�
+        /// </summary>
+        [SugarColumn(ColumnName = "SourcePlaceName", ColumnDescription = "婧愬簱浣嶅悕绉�", Length = 50)]
+
+        public string? SourcePlaceName { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣搴撲綅缂栫爜
+        /// </summary>
+        [SugarColumn(ColumnName = "ToPlaceCode", ColumnDescription = "鐩爣搴撲綅缂栫爜", Length = 50)]
+
+        public string? ToPlaceCode { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣搴撲綅鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "ToPlaceName", ColumnDescription = "鐩爣搴撲綅鍚嶇О", Length = 50)]
+
+        public string? ToPlaceName { get; set; }
+
+
+        /// <summary>
+        /// 婧愬鍣ㄧ紪鍙�
+        /// </summary>
+        [SugarColumn(ColumnName = "SourceContainerCode", ColumnDescription = "婧愬鍣ㄧ紪鍙�", Length = 50)]
+
+        public string? SourceContainerCode { get; set; }
+
+
+        /// <summary>
+        /// 婧愬鍣ㄥ悕绉�
+        /// </summary>
+        [SugarColumn(ColumnName = "SourceContainerName", ColumnDescription = "婧愬鍣ㄥ悕绉�", Length = 50)]
+
+        public string? SourceContainerName { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣瀹瑰櫒缂栧彿
+        /// </summary>
+        [SugarColumn(ColumnName = "ToContainerCode", ColumnDescription = "鐩爣瀹瑰櫒缂栧彿", Length = 50)]
+
+        public string? ToContainerCode { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣瀹瑰櫒鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "ToContainerName", ColumnDescription = "鐩爣瀹瑰櫒鍚嶇О", Length = 50)]
+
+        public string? ToContainerName { get; set; }
+
+
+
+        /// <summary>
+        /// 婧愰攣瀹氱姸鎬�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "SourceLockStatus", ColumnDescription = "婧愰攣瀹氱姸鎬�")]
+        public LockStatusEnum? SourceLockStatus { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣閿佸畾鐘舵��
+        /// </summary>
+
+        [SugarColumn(ColumnName = "ToLockStatus", ColumnDescription = "鐩爣閿佸畾鐘舵��")]
+        public LockStatusEnum? ToLockStatus { get; set; }
+
+
+        /// <summary>
+        /// 鎿嶄綔鍘熷洜
+        /// </summary>
+        [SugarColumn(ColumnName = "OperReason", ColumnDescription = "鎿嶄綔鍘熷洜", Length = 255)]
+
+        public string? OperReason { get; set; }
+
+
+        /// <summary>
+        /// 鎿嶄綔浜�
+        /// </summary>
+        [SugarColumn(ColumnName = "OperUser", ColumnDescription = "鎿嶄綔浜�", Length = 50)]
+
+        public string? OperUser { get; set; }
+
+
+        /// <summary>
+        /// 鎿嶄綔鏃堕棿
+        /// </summary>
+
+        [SugarColumn(ColumnName = "OperTime", ColumnDescription = "鎿嶄綔鏃堕棿")]
+        public DateTime? OperTime { get; set; }
+
+
+        /// <summary>
+        /// 鍙樻洿鏁伴噺
+        /// </summary>
+
+        [SugarColumn(ColumnName = "ChangeQuantity", ColumnDescription = "鍙樻洿鏁伴噺", Length = 10, DecimalDigits = 3)]
+        public decimal? ChangeQuantity { get; set; }
+
+
+        /// <summary>
+        /// ERP鍗曞彿
+        /// </summary>
+        [SugarColumn(ColumnName = "ErpOrderNo", ColumnDescription = "ERP鍗曞彿", Length = 50)]
+
+        public string? ErpOrderNo { get; set; }
+
+
+        /// <summary>
+        /// ERP搴撳瓨鍦�
+        /// </summary>
+        [SugarColumn(ColumnName = "ErpCode", ColumnDescription = "ERP搴撳瓨鍦�", Length = 50)]
+
+        public string? ErpCode { get; set; }
+
+
+        /// <summary>
+        /// ERP鍑瘉
+        /// </summary>
+        [SugarColumn(ColumnName = "ErpVoucher", ColumnDescription = "ERP鍑瘉", Length = 255)]
+
+        public string? ErpVoucher { get; set; }
+
+
+        /// <summary>
+        /// 渚涘簲鍟嗘壒娆�
+        /// </summary>
+        [SugarColumn(ColumnName = "SupplierBatch", ColumnDescription = "渚涘簲鍟嗘壒娆�", Length = 50)]
+
+        public string? SupplierBatch { get; set; }
+
+
+        /// <summary>
+        /// 鎵规
+        /// </summary>
+        [SugarColumn(ColumnName = "Batch", ColumnDescription = "鎵规", Length = 255)]
+
+        public string? Batch { get; set; }
+
+
+        /// <summary>
+        /// 渚涘簲鍟嗙紪鍙�
+        /// </summary>
+        [SugarColumn(ColumnName = "SupplierCode", ColumnDescription = "渚涘簲鍟嗙紪鍙�", Length = 50)]
+
+        public string? SupplierCode { get; set; }
+
+
+        /// <summary>
+        /// 渚涘簲鍟嗗悕绉�
+        /// </summary>
+        [SugarColumn(ColumnName = "SupplierName", ColumnDescription = "渚涘簲鍟嗗悕绉�", Length = 50)]
+
+        public string? SupplierName { get; set; }
+
+
+
+
+
+
+
+
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsStockQuan.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsStockQuan.cs
new file mode 100644
index 0000000..82baf2e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsStockQuan.cs
@@ -0,0 +1,179 @@
+锘縰sing Admin.NET.Application;
+using Admin.NET.Core;
+
+/*
+ * @author : 鍒樻枃濂�
+ * @date : 2024/5/24涓嬪崍5:50:24
+ * @desc : 搴撳瓨淇℃伅
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 搴撳瓨琛�
+    /// </summary>
+    [SugarTable("wms_stock_quan", "搴撳瓨淇℃伅")]
+    public class WmsStockQuan : EntityBase
+    {
+        /// <summary>
+        /// 搴撲綅缂栫爜
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "PlaceCode", ColumnDescription = "搴撲綅缂栫爜", Length = 50)]
+
+        public string PlaceCode { get; set; }
+
+
+        /// <summary>
+        /// 杩涘叆鏃堕棿
+        /// </summary>
+
+        [SugarColumn(ColumnName = "InTime", ColumnDescription = "杩涘叆鏃堕棿")]
+        public DateTime? InTime { get; set; }
+
+
+
+        /// <summary>
+        /// 閮ㄤ欢鏉$爜
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "Upi", ColumnDescription = "閮ㄤ欢鏉$爜", Length = 100)]
+        public string Upi { get; set; }
+
+        /// <summary>
+        /// 閮ㄤ欢鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "DetailName", ColumnDescription = "閮ㄤ欢鍚嶇О", Length = 100)]
+        public string DetailName { get; set; }
+
+        /// <summary>
+        /// 鎵规
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "PlanNo", ColumnDescription = "鎵规", Length = 100)]
+        public string PlanNo { get; set; }
+
+        /// <summary>
+        /// 璁㈠崟鍙�
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "OrderId", ColumnDescription = "璁㈠崟鍙�", Length = 100)]
+        public string OrderId { get; set; }
+
+
+
+        /// <summary>
+        /// 鍖呰鍙�
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "PackageCode", ColumnDescription = "鍖呰鍙�", Length = 100)]
+        public string PackageCode { get; set; }
+
+        [SugarColumn(ColumnName = "Length", ColumnDescription = "闀�")]
+        public float Length { get; set; }
+
+        [SugarColumn(ColumnName = "Width", ColumnDescription = "瀹�")]
+        public float Width { get; set; }
+
+        [SugarColumn(ColumnName = "Thk", ColumnDescription = "鍘�")]
+        public float Thk { get; set; }
+
+
+
+        #region 搴撳瓨鐘舵��
+
+        /// <summary>
+        /// 搴撳瓨鐘舵��
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "StockStatus", ColumnDescription = "搴撳瓨鐘舵��")]
+        public StockStatusEnum StockStatus { get; set; }
+
+
+        /// <summary>
+        /// 搴撳瓨鐘舵�佸悕绉�
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "StockStatusName", ColumnDescription = "搴撳瓨鐘舵�佸悕绉�", Length = 50)]
+
+        public string StockStatusName { get; set; }
+
+
+
+
+
+        /// <summary>
+        /// 鎿嶄綔鍘熷洜
+        /// </summary>
+        [SugarColumn(ColumnName = "OperReason", ColumnDescription = "鎿嶄綔鍘熷洜", Length = 255)]
+
+        public string? OperReason { get; set; }
+
+
+        /// <summary>
+        /// 鎿嶄綔浜�
+        /// </summary>
+        [SugarColumn(ColumnName = "OperUser", ColumnDescription = "鎿嶄綔浜�", Length = 50)]
+
+        public string? OperUser { get; set; }
+
+
+        /// <summary>
+        /// 鎿嶄綔鏃堕棿
+        /// </summary>
+
+        [SugarColumn(ColumnName = "OperTime", ColumnDescription = "鎿嶄綔鏃堕棿")]
+        public DateTime? OperTime { get; set; }
+
+        #region 閿佸畾
+
+        /// <summary>
+        /// 閿佸畾鐘舵��
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "LockStatus", ColumnDescription = "閿佸畾鐘舵��")]
+        public LockStatusEnum LockStatus { get; set; }
+
+
+        /// <summary>
+        /// 閿佸畾鍘熷洜
+        /// </summary>
+        [SugarColumn(ColumnName = "LockReason", ColumnDescription = "閿佸畾鍘熷洜", Length = 255)]
+
+        public string? LockReason { get; set; }
+
+
+        /// <summary>
+        /// 閿佸畾浜�
+        /// </summary>
+        [SugarColumn(ColumnName = "LockUser", ColumnDescription = "閿佸畾浜�", Length = 50)]
+
+        public string? LockUser { get; set; }
+
+
+        /// <summary>
+        /// 閿佸畾鏃堕棿
+        /// </summary>
+
+        [SugarColumn(ColumnName = "LockTime", ColumnDescription = "閿佸畾鏃堕棿")]
+        public DateTime? LockTime { get; set; }
+
+        #endregion
+
+
+        #endregion
+
+
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        [SugarColumn(ColumnName = "Remarks", ColumnDescription = "澶囨敞", Length = 255)]
+
+        public string? Remarks { get; set; }
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystem/WmsSysHelpDoc.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystem/WmsSysHelpDoc.cs
new file mode 100644
index 0000000..54cdffa
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystem/WmsSysHelpDoc.cs
@@ -0,0 +1,43 @@
+锘縰sing Admin.NET.Core;
+
+/*
+ * @author : 鎮ㄧ殑鍚嶅瓧
+ * @date : 2024/8/8涓婂崍8:57:05
+ * @desc : 绯荤粺甯姪鏂囨。
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 绯荤粺甯姪鏂囨。
+    /// </summary>
+    [SugarTable("wms_sys_help_doc", "绯荤粺甯姪鏂囨。")]
+    public class WmsSysHelpDoc : EntityBase
+    {
+
+
+        /// <summary>
+        /// 甯姪鏍囪ID
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "HelpFlagId", ColumnDescription = "甯姪鏍囪ID", Length = 50)]
+
+        public string HelpFlagId { get; set; }
+
+
+        /// <summary>
+        /// 甯姪鏂囨。鍐呭
+        /// </summary>
+        [SugarColumn(ColumnName = "HelpContext", ColumnDescription = "甯姪鏂囨。鍐呭", Length = Int32.MaxValue)]
+
+        public string? HelpContext { get; set; }
+
+
+
+
+
+
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystem/WmsSysPdaMenu.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystem/WmsSysPdaMenu.cs
new file mode 100644
index 0000000..2b770de
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystem/WmsSysPdaMenu.cs
@@ -0,0 +1,71 @@
+锘縰sing Admin.NET.Core;
+
+/*
+ * @author : 鎮ㄧ殑鍚嶅瓧
+ * @date : 2024/8/1涓婂崍8:53:12
+ * @desc : Pda鑿滃崟琛�
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// Pda鑿滃崟琛�
+    /// </summary>
+    [SugarTable("wms_sys_pda_menu", "Pda鑿滃崟琛�")]
+    public class WmsSysPdaMenu : EntityBase
+    {
+
+
+        /// <summary>
+        /// 鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "Name", ColumnDescription = "鍚嶇О", Length = 255)]
+
+        public string Name { get; set; }
+
+
+        /// <summary>
+        /// 缂栫爜
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "Code", ColumnDescription = "缂栫爜", Length = 50)]
+
+        public string Code { get; set; }
+
+
+        /// <summary>
+        /// 鍥炬爣
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "Icon", ColumnDescription = "鍥炬爣", Length = 50)]
+
+        public string Icon { get; set; }
+
+
+        /// <summary>
+        /// 棰滆壊
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "Color", ColumnDescription = "棰滆壊", Length = 255)]
+
+        public string Color { get; set; }
+
+
+        /// <summary>
+        /// 鑿滃崟绫诲埆
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "MenuType", ColumnDescription = "鑿滃崟绫诲埆")]
+        public PdaMenuTypeEnum MenuType { get; set; }
+
+
+
+
+
+
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystem/WmsSysPdaRoleMenu.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystem/WmsSysPdaRoleMenu.cs
new file mode 100644
index 0000000..03e86ab
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystem/WmsSysPdaRoleMenu.cs
@@ -0,0 +1,44 @@
+锘縰sing Admin.NET.Core;
+
+/*
+ * @author : 鎮ㄧ殑鍚嶅瓧
+ * @date : 2024/8/1涓婂崍9:09:58
+ * @desc : pda鑿滃崟瑙掕壊琛�
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// pda鑿滃崟瑙掕壊琛�
+    /// </summary>
+    [SugarTable("wms_sys_pda_role_menu", "pda鑿滃崟瑙掕壊琛�")]
+    public class WmsSysPdaRoleMenu : EntityBase
+    {
+
+
+        /// <summary>
+        /// 瑙掕壊Id
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "RoleId", ColumnDescription = "瑙掕壊Id")]
+        public long RoleId { get; set; }
+
+
+        /// <summary>
+        /// pda鑿滃崟Id
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "PdaMenuId", ColumnDescription = "pda鑿滃崟Id")]
+        public long PdaMenuId { get; set; }
+
+
+
+
+
+
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/SerialSN/WmsConfigSerialRule.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/SerialSN/WmsConfigSerialRule.cs
new file mode 100644
index 0000000..c6055f4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/SerialSN/WmsConfigSerialRule.cs
@@ -0,0 +1,98 @@
+锘�
+
+using Admin.NET.Core;
+namespace Admin.NET.Application.Entity;
+
+/// <summary>
+/// 鍗曟嵁鍙风敓鎴愯鍒欓厤缃〃
+/// </summary>
+[SugarTable("wms_config_serial_rule", "鍗曟嵁鍙风敓鎴愯鍒欓厤缃〃")]
+public class WmsConfigSerialRule : EntityBase
+{
+    /// <summary>
+    /// 鍗曟嵁鍙风紪鍙�,杩欎釜涓嶆槸涓氬姟瀛楁锛岀函绮规槸 鏍囪涓嬬紪鍙�
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "SerialRuleNo", ColumnDescription = "鍗曟嵁鍙风紪鍙�", Length = 50)]
+    public string SerialRuleNo { get; set; } = null!;
+
+    /// <summary>
+    /// 鍗曟嵁鍙风被鍨�
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "SerialType", ColumnDescription = "鍗曟嵁鍙风被鍨�")]
+    public int SerialType { get; set; }
+
+    /// <summary>
+    /// 鐢熸垚椤哄簭鍙�
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "ItemNo", ColumnDescription = "鐢熸垚椤哄簭鍙�")]
+    public int ItemNo { get; set; }
+
+    /// <summary>
+    /// 缁勫悎绫诲瀷
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "SourceType", ColumnDescription = "缁勫悎绫诲瀷", Length = 50)]
+    public string SourceType { get; set; } = null!;
+
+
+    /// <summary>
+    /// 缁勫悎绫诲瀷闀垮害
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "SerialLength", ColumnDescription = "缁勫悎绫诲瀷闀垮害")]
+    public int SerialLength { get; set; }
+
+
+    [SugarColumn(ColumnName = "SearchStart")]
+    public int? SearchStart { get; set; }
+
+
+    [SugarColumn(ColumnName = "DecimalType")]
+    public int? DecimalType { get; set; }
+
+    /// <summary>
+    /// 鍗曟嵁鍙峰瓧绗︿覆鍐呭
+    /// </summary>
+    [SugarColumn(ColumnName = "UserDefine", ColumnDescription = "鍗曟嵁鍙峰瓧绗︿覆鍐呭", Length = 50)]
+    public string? UserDefine { get; set; } 
+
+
+    [SugarColumn(ColumnName = "SerialCodeFlag")]
+    public int? SerialCodeFlag { get; set; }
+
+
+    /// <summary>
+    /// 绫诲瀷鎻忚堪
+    /// </summary>
+    [SugarColumn(ColumnName = "Description", ColumnDescription = "绫诲瀷鎻忚堪", Length = 250)]
+    public string? Description { get; set; }
+
+
+    [SugarColumn(ColumnName = "SerialTypeNo")]
+    public string? SerialTypeNo { get; set; }
+
+
+    /// <summary>
+    /// 鏄惁姣忓ぉ閮介噸缃紙0锛氫笉閲嶇疆锛�1锛氭瘡澶╅兘閲嶇疆锛�
+    /// </summary>
+    [SugarColumn(ColumnName = "GetData", ColumnDescription = "鏄惁姣忓ぉ閮介噸缃紙0锛氫笉閲嶇疆锛�1锛氭瘡澶╅兘閲嶇疆锛�")]
+    public int? GetData { get; set; }
+
+
+    /// <summary>
+    /// 鏂囨湰闈犺竟鏂瑰悜
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "PadLeft", ColumnDescription = "鏂囨湰闈犺竟鏂瑰悜")]
+    public int PadLeft { get; set; }
+
+
+    [SugarColumn(ColumnName = "IssueStatus")]
+    public int? IssueStatus { get; set; }
+
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/SerialSN/WmsConfigSerialSN.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/SerialSN/WmsConfigSerialSN.cs
new file mode 100644
index 0000000..dcc6f13
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/SerialSN/WmsConfigSerialSN.cs
@@ -0,0 +1,31 @@
+锘縰sing Admin.NET.Core;
+namespace Admin.NET.Application.Entity;
+
+/// <summary>
+/// 鍗曟嵁鍙锋祦姘村彿灞ュ巻琛�
+/// </summary>
+[SugarTable("wms_config_serial_sn", "鍗曟嵁鍙锋祦姘村彿灞ュ巻琛�")]
+public class WmsConfigSerialSN : EntityBase
+{
+    /// <summary>
+    /// 娴佹按鍙锋椂闂�
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "CurrentDate", ColumnDescription = "娴佹按鍙锋椂闂�")]
+    public DateTime CurrentDate { get; set; }
+
+    /// <summary>
+    /// 娴佹按鍙�
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "Sn", ColumnDescription = "娴佹按鍙�")]
+    public int Sn { get; set; }
+    /// <summary>
+    /// 鍗曟嵁鍙风被鍨�
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "SerialType", ColumnDescription = "鍗曟嵁鍙风被鍨�")]
+    public int SerialType { get; set; }
+
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/WmsConfigNoRule.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/WmsConfigNoRule.cs
new file mode 100644
index 0000000..9956d85
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/WmsConfigNoRule.cs
@@ -0,0 +1,111 @@
+锘縰sing Admin.NET.Core;
+
+/*
+ * @author : 鎮ㄧ殑鍚嶅瓧
+ * @date : 2024/6/25涓嬪崍2:19:00
+ * @desc : 鍗曞彿鐢熸垚瑙勫垯
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 鍗曞彿鐢熸垚瑙勫垯
+    /// </summary>
+    [SugarTable("wms_config_no_rule", "鍗曞彿鐢熸垚瑙勫垯")]
+    public class WmsConfigNoRule : EntityBase
+    {
+
+
+        /// <summary>
+        /// 瑙勫垯缂栧彿
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "RuleCode", ColumnDescription = "瑙勫垯缂栧彿", Length = 255)]
+
+        public string RuleCode { get; set; }
+
+
+        /// <summary>
+        /// 瑙勫垯鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "RuleName", ColumnDescription = "瑙勫垯鍚嶇О", Length = 255)]
+
+        public string RuleName { get; set; }
+
+
+        /// <summary>
+        /// 鍗曞彿瑙勫垯
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "NoRule", ColumnDescription = "鍗曞彿瑙勫垯", Length = 255)]
+
+        public string NoRule { get; set; }
+
+
+        /// <summary>
+        /// 鍗曟嵁绫诲瀷
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "OrderType", ColumnDescription = "鍗曟嵁绫诲瀷")]
+        public OrderTypeEnum OrderType { get; set; }
+
+
+        /// <summary>
+        /// 涓氬姟绫诲瀷
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "BusinessType", ColumnDescription = "涓氬姟绫诲瀷")]
+        public int? BusinessType { get; set; }
+
+        /// <summary>
+        /// 涓氬姟绫诲瀷鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "BusinessTypeName", ColumnDescription = "涓氬姟绫诲瀷鍚嶇О", Length = 50)]
+        public string? BusinessTypeName { get; set; }
+
+        /// <summary>
+        /// 娴佹按鍙锋闀�
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "SerialNoStepSize", ColumnDescription = "娴佹按鍙锋闀�")]
+        public int SerialNoStepSize { get; set; }
+
+
+        /// <summary>
+        /// 娴佹按鍙烽暱搴�
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "SerialNoLength", ColumnDescription = "娴佹按鍙烽暱搴�")]
+        public int SerialNoLength { get; set; }
+
+
+        /// <summary>
+        /// 鏉$爜瑙勫垯鎻忚堪
+        /// </summary>
+        [SugarColumn(ColumnName = "RuleDesc", ColumnDescription = "鏉$爜瑙勫垯鎻忚堪", Length = 255)]
+
+        public string? RuleDesc { get; set; }
+
+
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "IsDisabled", ColumnDescription = "鏄惁绂佺敤")]
+        public bool IsDisabled { get; set; }
+
+
+
+
+
+
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/WmsConfigPrint.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/WmsConfigPrint.cs
new file mode 100644
index 0000000..b206b12
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/WmsConfigPrint.cs
@@ -0,0 +1,74 @@
+锘縰sing Admin.NET.Core;
+
+/*
+ * @author : 鎮ㄧ殑鍚嶅瓧
+ * @date : 2024/7/21涓婂崍10:18:14
+ * @desc : 鎵撳嵃閰嶇疆琛�
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 鎵撳嵃閰嶇疆琛�
+    /// </summary>
+    [SugarTable("wms_config_print", "鎵撳嵃閰嶇疆琛�")]
+    public class WmsConfigPrint : EntityBase
+    {
+
+
+        /// <summary>
+        /// 鎵撳嵃鍒嗙被
+        /// </summary>
+
+        [SugarColumn(ColumnName = "PrintClassify", ColumnDescription = "鎵撳嵃鍒嗙被")]
+        public PrintClassifyEnum PrintClassify { get; set; }
+
+
+        /// <summary>
+        /// 鎵撳嵃鍒嗙被鍚�
+        /// </summary>
+        [SugarColumn(ColumnName = "PrintClassifyName", ColumnDescription = "鎵撳嵃鍒嗙被鍚�", Length = 50)]
+
+        public string PrintClassifyName { get; set; }
+
+
+        /// <summary>
+        /// 鎵撳嵃妯℃澘鍚�
+        /// </summary>
+        [SugarColumn(ColumnName = "PrintTemplate", ColumnDescription = "鎵撳嵃妯℃澘鍚�", Length = 255)]
+
+        public string PrintTemplate { get; set; }
+
+
+        /// <summary>
+        /// 鎵撳嵃妯℃澘鍦板潃
+        /// </summary>
+        [SugarColumn(ColumnName = "PrintTemplateAddr", ColumnDescription = "鎵撳嵃妯℃澘鍦板潃", Length = 255)]
+
+        public string PrintTemplateAddr { get; set; }
+
+
+        /// <summary>
+        /// 鎵撳嵃鏈哄垪琛�
+        /// </summary>
+        [SugarColumn(ColumnName = "PrinterList", ColumnDescription = "鎵撳嵃鏈哄垪琛�", Length = 500)]
+
+        public string PrinterList { get; set; }
+
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        [SugarColumn(ColumnName = "Remark", ColumnDescription = "澶囨敞", Length = 255)]
+
+        public string? Remark { get; set; }
+
+
+
+
+
+
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/WmsConfigSncodeRule.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/WmsConfigSncodeRule.cs
new file mode 100644
index 0000000..db79e72
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsSystemConfig/WmsConfigSncodeRule.cs
@@ -0,0 +1,89 @@
+锘縰sing Admin.NET.Core;
+
+/*
+ * @author : 鎮ㄧ殑鍚嶅瓧
+ * @date : 2024/6/25涓嬪崍2:19:35
+ * @desc : 鏉$爜鐢熸垚瑙勫垯
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 鏉$爜鐢熸垚瑙勫垯
+    /// </summary>
+    [SugarTable("wms_config_sncode_rule", "鏉$爜鐢熸垚瑙勫垯")]
+    public class WmsConfigSncodeRule : EntityBase
+    {
+
+
+        /// <summary>
+        /// 瑙勫垯缂栧彿
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "RuleCode", ColumnDescription = "瑙勫垯缂栧彿", Length = 255)]
+
+        public string RuleCode { get; set; }
+
+
+        /// <summary>
+        /// 瑙勫垯鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "RuleName", ColumnDescription = "瑙勫垯鍚嶇О", Length = 255)]
+
+        public string RuleName { get; set; }
+
+
+        /// <summary>
+        /// 鏁版嵁婧�
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "DataSource", ColumnDescription = "鏁版嵁婧�", Length = 50)]
+
+        public string DataSource { get; set; }
+
+
+        /// <summary>
+        /// 鏉$爜瑙勫垯
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "SNCodeRule", ColumnDescription = "鏉$爜瑙勫垯", Length = 255)]
+
+        public string SNCodeRule { get; set; }
+
+
+        /// <summary>
+        /// 鏉$爜鍒嗛殧绗�
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "Delimiter", ColumnDescription = "鏉$爜鍒嗛殧绗�", Length = 255)]
+
+        public string Delimiter { get; set; }
+
+
+        /// <summary>
+        /// 鏉$爜瑙勫垯鎻忚堪
+        /// </summary>
+        [SugarColumn(ColumnName = "RuleDesc", ColumnDescription = "鏉$爜瑙勫垯鎻忚堪", Length = 255)]
+
+        public string? RuleDesc { get; set; }
+
+
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "IsDisabled", ColumnDescription = "鏄惁绂佺敤")]
+        public bool IsDisabled { get; set; }
+
+
+
+        /// <summary>
+        /// 鏉$爜绫诲瀷
+        /// </summary>
+        [SugarColumn(ColumnName = "CreateCodeType", ColumnDescription = "鏉$爜绫诲瀷")]
+        public CreateCodeTypeEnum? CreateCodeType { get; set; }
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsTask/WmsRbLineTask.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsTask/WmsRbLineTask.cs
new file mode 100644
index 0000000..76510c7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsTask/WmsRbLineTask.cs
@@ -0,0 +1,145 @@
+锘縰sing Admin.NET.Core;
+
+/*
+ * @author : 鍒樻枃濂�
+ * @date : 2024/5/29涓婂崍10:26:39
+ * @desc : 璋冨害浠诲姟
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 鏈哄櫒浜轰换鍔¤〃
+    /// </summary>
+    [SugarTable("wms_rbline_task", "鏈哄櫒浜轰换鍔¤〃")]
+    public class WmsRbLineTask : EntityBase
+    {
+
+        /// <summary>
+        /// 浠诲姟鍙�
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "TaskNo", ColumnDescription = "浠诲姟鍙�", Length = 50)]
+        public string TaskNo { get; set; }
+
+        /// <summary>
+        /// 浠诲姟鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "TaskName", ColumnDescription = "浠诲姟鍚嶇О", Length = 50)]
+        public string? TaskName { get; set; }
+
+
+        [Required]
+        [SugarColumn(ColumnName = "UPI", ColumnDescription = "閮ㄤ欢鏉$爜", Length = 50)]
+        public string UPI { get; set; }
+
+        [SugarColumn(ColumnName = "Length", ColumnDescription = "闀�")]
+        public float Length { get; set; }
+
+        [SugarColumn(ColumnName = "Width", ColumnDescription = "瀹�")]
+        public float Width { get; set; }
+
+        [SugarColumn(ColumnName = "Thk", ColumnDescription = "鍘�")]
+        public float Thk { get; set; }
+
+      
+        [SugarColumn(ColumnName = "PlanNo", ColumnDescription = "鎵规鍙�", Length = 50)]
+        public string PlanNo { get; set; }
+
+       
+        [SugarColumn(ColumnName = "OrderId", ColumnDescription = "璁㈠崟鍙�", Length = 50)]
+        public string OrderId { get; set; }
+
+        
+        [SugarColumn(ColumnName = "PackageCode", ColumnDescription = "鍖呰鍙�", Length = 50)]
+        public string PackageCode { get; set; }
+
+
+        /// <summary>
+        /// 搴撲綅缂栫爜
+        /// </summary>
+        [SugarColumn(ColumnName = "PlaceCode", ColumnDescription = "搴撲綅缂栫爜", Length = 50)]
+
+        public string PlaceCode { get; set; }
+
+        /// <summary>
+        /// 浠诲姟绫诲瀷
+        /// </summary>
+
+        [SugarColumn(ColumnName = "RbTaskType", ColumnDescription = "浠诲姟绫诲瀷")]
+        public RbTaskTypeEnum? RbTaskType { get; set; }
+
+
+        /// <summary>
+        /// 浠诲姟绫诲瀷鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "RbTaskTypeEnumName", ColumnDescription = "浠诲姟绫诲瀷鍚嶇О", Length = 50)]
+
+        public string? RbTaskTypeEnumName { get; set; }
+
+
+        
+
+
+
+        /// <summary>
+        /// 浠诲姟鐘舵��
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "TaskStatus", ColumnDescription = "浠诲姟鐘舵��")]
+        public TaskStatusEnum TaskStatus { get; set; }
+
+        /// <summary>
+        /// 浠诲姟鐘舵�佸悕绉�
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "TaskStatusName", ColumnDescription = "浠诲姟鐘舵�佸悕绉�")]
+        public string TaskStatusName { get; set; }
+
+
+        /// <summary>
+        /// 浠诲姟鎻忚堪
+        /// </summary>
+        [SugarColumn(ColumnName = "TaskDescribe", ColumnDescription = "浠诲姟鎻忚堪", Length = 255)]
+
+        public string? TaskDescribe { get; set; }
+
+
+        /// <summary>
+        /// 浠诲姟娑堟伅
+        /// </summary>
+        [SugarColumn(ColumnName = "TaskMsg", ColumnDescription = "浠诲姟娑堟伅", Length = 255)]
+
+        public string? TaskMsg { get; set; }
+
+
+       
+
+        /// <summary>
+        /// 涓嬪彂鏃堕棿
+        /// </summary>
+
+        [SugarColumn(ColumnName = "IssueTime", ColumnDescription = "涓嬪彂鏃堕棿")]
+        public DateTime? IssueTime { get; set; }
+        /// <summary>
+        /// 浠诲姟瀹屾垚鏃堕棿
+        /// </summary>
+
+        [SugarColumn(ColumnName = "FinishedTime", ColumnDescription = "浠诲姟瀹屾垚鏃堕棿")]
+        public DateTime? FinishedTime { get; set; }
+
+
+        /// <summary>
+        /// 鏄惁鏍囪寮哄埗瀹屾垚
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "IsFlagFinish", ColumnDescription = "鏄惁鏍囪寮哄埗瀹屾垚")]
+        public bool IsFlagFinish { get; set; }
+
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsTask/WmsTask.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsTask/WmsTask.cs
new file mode 100644
index 0000000..5ab3d2f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsTask/WmsTask.cs
@@ -0,0 +1,219 @@
+锘縰sing Admin.NET.Core;
+
+/*
+ * @author : 鍒樻枃濂�
+ * @date : 2024/5/29涓婂崍10:26:39
+ * @desc : 璋冨害浠诲姟
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 璋冨害浠诲姟
+    /// </summary>
+    [SugarTable("wms_task", "璋冨害浠诲姟")]
+    public class WmsTask : EntityBase
+    {
+
+
+        /// <summary>
+        /// 浠诲姟鍙�
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "TaskNo", ColumnDescription = "浠诲姟鍙�", Length = 50)]
+
+        public string TaskNo { get; set; }
+
+
+        /// <summary>
+        /// 浠诲姟鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "TaskName", ColumnDescription = "浠诲姟鍚嶇О", Length = 50)]
+
+        public string? TaskName { get; set; }
+
+
+        /// <summary>
+        /// 绉诲姩绫诲瀷
+        /// </summary>
+
+        [SugarColumn(ColumnName = "MoveType", ColumnDescription = "绉诲姩绫诲瀷")]
+        public MoveTypeEnum? MoveType { get; set; }
+
+
+        /// <summary>
+        /// 绉诲姩绫诲瀷鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "MoveTypeName", ColumnDescription = "绉诲姩绫诲瀷鍚嶇О", Length = 50)]
+
+        public string? MoveTypeName { get; set; }
+
+
+        /// <summary>
+        /// 涓氬姟绫诲瀷
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "BusinessType", ColumnDescription = "涓氬姟绫诲瀷")]
+        public int BusinessType { get; set; }
+
+
+        /// <summary>
+        /// 涓氬姟绫诲瀷鍚嶇О
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "BusinessTypeName", ColumnDescription = "涓氬姟绫诲瀷鍚嶇О", Length = 50)]
+
+        public string BusinessTypeName { get; set; }
+
+
+        /// <summary>
+        /// 浠诲姟鐘舵��
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "TaskStatus", ColumnDescription = "浠诲姟鐘舵��")]
+        public TaskStatusEnum TaskStatus { get; set; }
+
+        /// <summary>
+        /// 浠诲姟鐘舵�佸悕绉�
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "TaskStatusName", ColumnDescription = "浠诲姟鐘舵�佸悕绉�")]
+        public string TaskStatusName { get; set; }
+
+        /// <summary>
+        /// 浼樺厛绾�
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "TaskPriority", ColumnDescription = "浼樺厛绾�")]
+        public int TaskPriority { get; set; }
+
+
+        /// <summary>
+        /// 浠诲姟鎻忚堪
+        /// </summary>
+        [SugarColumn(ColumnName = "TaskDescribe", ColumnDescription = "浠诲姟鎻忚堪", Length = 255)]
+
+        public string? TaskDescribe { get; set; }
+
+
+        /// <summary>
+        /// 浠诲姟娑堟伅
+        /// </summary>
+        [SugarColumn(ColumnName = "TaskMsg", ColumnDescription = "浠诲姟娑堟伅", Length = 255)]
+
+        public string? TaskMsg { get; set; }
+
+
+        /// <summary>
+        /// 鍗曟嵁鍙�
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "OrderNo", ColumnDescription = "鍗曟嵁鍙�", Length = 50)]
+
+        public string OrderNo { get; set; }
+
+
+        /// <summary>
+        /// 鍏宠仈鍗曞彿
+        /// </summary>
+        [SugarColumn(ColumnName = "RelationNo", ColumnDescription = "鍏宠仈鍗曞彿", Length = 50)]
+
+        public string? RelationNo { get; set; }
+
+
+        /// <summary>
+        /// 瀹瑰櫒缂栧彿
+        /// </summary>
+        [Required]
+        [SugarColumn(ColumnName = "ContainerCode", ColumnDescription = "瀹瑰櫒缂栧彿", Length = 50)]
+
+        public string ContainerCode { get; set; }
+
+
+        /// <summary>
+        /// 璧峰搴撲綅缂栧彿
+        /// </summary>
+        [SugarColumn(ColumnName = "SourcePlaceCode", ColumnDescription = "璧峰搴撲綅缂栧彿", Length = 50)]
+
+        public string? SourcePlaceCode { get; set; }
+
+
+
+        /// <summary>
+        /// 鐩爣搴撳尯缂栧彿
+        /// </summary>
+        [SugarColumn(ColumnName = "ToAreaCode", ColumnDescription = "鐩爣搴撳尯缂栧彿", Length = 50)]
+
+        public string? ToAreaCode { get; set; }
+
+
+        /// <summary>
+        /// 鐩爣搴撲綅缂栧彿
+        /// </summary>
+        [SugarColumn(ColumnName = "ToPlaceCode", ColumnDescription = "鐩爣搴撲綅缂栧彿", Length = 50)]
+
+        public string? ToPlaceCode { get; set; }
+
+
+
+
+
+        /// <summary>
+        /// 宸烽亾
+        /// </summary>
+
+        [SugarColumn(ColumnName = "Lane", ColumnDescription = "宸烽亾")]
+        public int? Lane { get; set; }
+
+
+        /// <summary>
+        /// 鎺�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "Row", ColumnDescription = "鎺�")]
+        public int? Row { get; set; }
+
+
+        /// <summary>
+        /// 妫�娴嬮珮搴�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "DetectionHeight", ColumnDescription = "妫�娴嬮珮搴�")]
+        public int? DetectionHeight { get; set; }
+
+
+        /// <summary>
+        /// 涓嬪彂鏃堕棿
+        /// </summary>
+
+        [SugarColumn(ColumnName = "IssueTime", ColumnDescription = "涓嬪彂鏃堕棿")]
+        public DateTime? IssueTime { get; set; }
+        /// <summary>
+        /// 浠诲姟瀹屾垚鏃堕棿
+        /// </summary>
+
+        [SugarColumn(ColumnName = "FinishedTime", ColumnDescription = "浠诲姟瀹屾垚鏃堕棿")]
+        public DateTime? FinishedTime { get; set; }
+
+
+        /// <summary>
+        /// 鏄惁鏍囪寮哄埗瀹屾垚
+        /// </summary>
+        [Required]
+
+        [SugarColumn(ColumnName = "IsFlagFinish", ColumnDescription = "鏄惁鏍囪寮哄埗瀹屾垚")]
+        public bool IsFlagFinish { get; set; }
+
+
+
+
+
+
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/AdapterEnum/AdapterAllEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/AdapterEnum/AdapterAllEnum.cs
new file mode 100644
index 0000000..e771a3e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/AdapterEnum/AdapterAllEnum.cs
@@ -0,0 +1,110 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Application;
+public enum AdapterAllEnum
+{
+
+}
+
+public enum AdapterModeEnum
+{
+    /// <summary>
+    /// 瀹㈡埛绔�
+    /// </summary>
+    [Description("瀹㈡埛绔�")]
+
+    瀹㈡埛绔� = 1,
+
+    /// <summary>
+    /// 鏈嶅姟绔�
+    /// </summary>
+    [Description("鏈嶅姟绔�")]
+
+    鏈嶅姟绔� = 2
+}
+
+
+public enum AdapterRequestMethodEnum
+{
+    /// <summary>
+    /// Get
+    /// </summary>
+    [Description("Get")]
+
+    Get = 1,
+    /// <summary>
+    /// Post
+    /// </summary>
+    [Description("Post")]
+
+    Post = 2,
+    /// <summary>
+    /// Put
+    /// </summary>
+    [Description("Put")]
+
+    Put = 3,
+    /// <summary>
+    /// Delete
+    /// </summary>
+    [Description("Delete")]
+
+    Delete = 4,
+}
+
+public enum AdapterLogCommonResultEnum
+{
+    /// <summary>
+    /// 閫氳繃
+    /// </summary>
+    [Description("閫氳繃")]
+    閫氳繃 = 1,
+    /// <summary>
+    /// 鏈�氳繃
+    /// </summary>
+    [Description("鏈�氳繃")]
+    鏈�氳繃 = 0,
+}
+/// <summary>
+/// 閫傞厤鍣ㄨ褰曞鐞嗙姸鎬�
+/// </summary>
+public enum AdapterLogDealWithEnum
+{
+    
+
+    /// <summary>
+    /// 宸插鐞�
+    /// </summary>
+    [Description("宸插鐞�")]
+    宸插鐞� = 1,
+    /// <summary>
+    /// 鏈鐞�
+    /// </summary>
+    [Description("鏈鐞�")]
+    鏈鐞� = 2,
+    /// <summary>
+    /// 澶勭悊澶辫触
+    /// </summary>
+    [Description("澶勭悊澶辫触")]
+    澶勭悊澶辫触 = 3,
+    /// <summary>
+    /// 寮哄埗瀹屾垚
+    /// </summary>
+    [Description("寮哄埗瀹屾垚")]
+    寮哄埗瀹屾垚 = 4,
+    /// <summary>
+    /// 宸插彇娑�
+    /// </summary>
+    [Description("宸插彇娑�")]
+    宸插彇娑� = 5
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/BusinessTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/BusinessTypeEnum.cs
new file mode 100644
index 0000000..e2b031d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/BusinessTypeEnum.cs
@@ -0,0 +1,325 @@
+锘�
+using System.ComponentModel;
+namespace Admin.NET.Application
+{
+
+    /// <summary>
+    /// 绉诲姩绫诲瀷
+    /// </summary>
+    [Description("绉诲姩绫诲瀷")]
+    public enum MoveTypeEnum
+    {
+        /// <summary>
+        /// 鏀惰揣 
+        /// </summary>
+        [Description("鏀惰揣")]
+        鏀惰揣 = 10,
+
+        /// <summary>
+        /// 鍙戣揣
+        /// </summary>
+        [Description("鍙戣揣")]
+        鍙戣揣 = 20,
+
+
+        /// <summary>
+        /// 绉诲簱
+        /// </summary>
+        [Description("绉诲簱")]
+        绉诲簱 = 30,
+        ///// <summary>
+        ///// 璐ㄦ  绠� 鍏朵粬
+        ///// </summary>
+        //[Description("璐ㄦ")]
+        //璐ㄦ = 40,
+
+
+        /// <summary>
+        /// 鍏朵粬
+        /// </summary>
+        [Description("鍏朵粬")]
+        鍏朵粬 = 80,
+
+        /// <summary>
+        /// NC澶勭悊
+        /// </summary>
+        [Description("NC澶勭悊")]
+        NC澶勭悊 = 90,
+
+
+
+    }
+
+
+
+
+    /// <summary>
+    /// 涓氬姟绫诲瀷
+    /// </summary>
+    [Description("涓氬姟绫诲瀷")]
+    public enum BusinessTypeEnum
+    {
+        #region 鏀惰揣锛�10寮�澶�
+
+        /// <summary>
+        /// 閲囪喘鏀惰揣
+        /// </summary>
+        [Description("閲囪喘鏀惰揣")]
+        閲囪喘鏀惰揣 = 1001,
+
+
+
+        #endregion
+
+        #region 鍙戣揣锛�20寮�澶�
+
+        /// <summary>
+        /// 瀹㈡埛鍙戣繍
+        /// </summary>
+        [Description("瀹㈡埛鍙戣繍")]
+        瀹㈡埛鍙戣繍 = 2001,
+
+        #endregion
+
+        #region 绉诲簱锛�30寮�澶�
+
+        /// <summary>
+        /// 鎷h揣
+        /// </summary>
+        [Description("鎷h揣")]
+        鎷h揣 = 3001,
+
+        /// <summary>
+        /// 瀹瑰櫒缁勭洏涓婃灦
+        /// </summary>
+        [Description("瀹瑰櫒缁勭洏涓婃灦")]
+        瀹瑰櫒缁勭洏涓婃灦 = 3002,
+
+        /// <summary>
+        /// 瀹瑰櫒涓婃灦
+        /// </summary>
+        [Description("瀹瑰櫒涓婃灦")]
+        瀹瑰櫒涓婃灦 = 3003,
+
+        /// <summary>
+        /// 缁勭洏涓婃灦
+        /// </summary>
+        [Description("缁勭洏涓婃灦")]
+        缁勭洏涓婃灦 = 3004,
+
+
+
+        /// <summary>
+        /// 鐩樼偣涓婃灦
+        /// </summary>
+        [Description("鐩樼偣涓婃灦")]
+        鐩樼偣涓婃灦 = 3005,
+
+
+
+        /// <summary>
+        /// 鐩樼偣涓嬫灦
+        /// </summary>
+        [Description("鐩樼偣涓嬫灦")]
+        鐩樼偣涓嬫灦 = 3006,
+
+
+        /// <summary>
+        /// 渚涘簲鍟嗛��璐�
+        /// </summary>
+        [Description("渚涘簲鍟嗛��璐�")]
+        渚涘簲鍟嗛��璐� = 3012,
+
+
+        /// <summary>
+        /// 鐢熶骇閫�鏂�
+        /// </summary>
+        [Description("鐢熶骇閫�鏂�")]
+        鐢熶骇閫�鏂� = 3013,
+
+
+        /// <summary>
+        /// 涓婃灦
+        /// </summary>
+        [Description("涓婃灦")]
+        涓婃灦 = 3015,
+
+
+        /// <summary>
+        /// 娉㈡涓嬪彂
+        /// </summary>
+        [Description("娉㈡涓嬪彂")]
+        娉㈡涓嬪彂 = 3016,
+
+        /// <summary>
+        /// 鐪嬫澘鍗′笅鏋�
+        /// </summary>
+        [Description("鐪嬫澘鍗′笅鏋�")]
+        鐪嬫澘鍗′笅鏋� = 3017,
+
+        /// <summary>
+        /// 瀹瑰櫒涓嬫灦
+        /// </summary>
+        [Description("瀹瑰櫒涓嬫灦")]
+        瀹瑰櫒涓嬫灦 = 3018,
+
+
+
+        //绯荤粺鐨勶紝绉诲簱绫诲瀷鐨勶紝鎸夌収 306X,307X,308X,寮�澶村畾涔夋妸 
+
+        /// <summary>
+        /// 鐗╂枡鎷嗗垎
+        /// </summary>
+        [Description("鐗╂枡鎷嗗垎")]
+        鐗╂枡鎷嗗垎 = 3061,
+
+        /// <summary>
+        /// 鐗╂枡鍚堝苟
+        /// </summary>
+        [Description("鐗╂枡鍚堝苟")]
+        鐗╂枡鍚堝苟 = 3062,
+
+        /// <summary>
+        /// 鐗╂枡缁勭洏
+        /// </summary>
+        [Description("鐗╂枡缁勭洏")]
+        鐗╂枡缁勭洏 = 3063,
+
+        /// <summary>
+        /// 鐗╂枡瑙g粦
+        /// </summary>
+        [Description("鐗╂枡瑙g粦")]
+        鐗╂枡瑙g粦 = 3064,
+
+
+        /// <summary>
+        /// 搴撲綅缁戝畾
+        /// </summary>
+        [Description("搴撲綅缁戝畾")]
+        搴撲綅缁戝畾 = 3065,
+
+        /// <summary>
+        /// 搴撲綅瑙g粦
+        /// </summary>
+        [Description("搴撲綅瑙g粦")]
+        搴撲綅瑙g粦 = 3066,
+
+        /// <summary>
+        /// 绌哄鍣ㄧ粍鐩�
+        /// </summary>
+        [Description("绌哄鍣ㄧ粍鐩�")]
+        绌哄鍣ㄧ粍鐩� = 3067,
+
+        /// <summary>
+        /// 绌哄鍣ㄨВ缁�
+        /// </summary>
+        [Description("绌哄鍣ㄨВ缁�")]
+        绌哄鍣ㄨВ缁� = 3068,
+
+        /// <summary>
+        /// 鐐瑰埌鐐圭Щ搴�
+        /// </summary>
+        [Description("鐐瑰埌鐐圭Щ搴�")]
+        鐐瑰埌鐐圭Щ搴� = 3069,
+
+
+
+        #endregion
+
+
+
+
+        #region 鍏朵粬锛�80寮�澶�
+
+
+        /// <summary>
+        /// 鎶ユ鍗�-杩涙枡妫�楠� 
+        /// </summary>
+        [Description("杩涙枡妫�楠�")]
+        杩涙枡妫�楠� = 8001,
+
+
+        /// <summary>
+        /// 鏍囧噯鐩樼偣
+        /// </summary>
+        [Description("鏍囧噯鐩樼偣")]
+        鏍囧噯鐩樼偣 = 8002,
+
+        /// <summary>
+        /// 鐩樼偣鍐荤粨
+        /// </summary>
+        [Description("鐩樼偣鍐荤粨")]
+        鐩樼偣鍐荤粨 = 8003,
+
+        /// <summary>
+        /// 鐩樼偣瑙e喕
+        /// </summary>
+        [Description("鐩樼偣瑙e喕")]
+        鐩樼偣瑙e喕 = 8004,
+
+        /// <summary>
+        /// 鎶ユ
+        /// </summary>
+        [Description("鎶ユ")]
+        鎶ユ = 8005,
+
+
+        /// <summary>
+        /// 鐩樼偣鍏抽棴
+        /// </summary>
+        [Description("鐩樼偣鍏抽棴")]
+        鐩樼偣鍏抽棴 = 8006,
+
+
+
+
+
+        /// <summary>
+        /// 鐩樼偣瀹屾垚
+        /// </summary>
+        [Description("鐩樼偣瀹屾垚")]
+        鐩樼偣瀹屾垚 = 8008,
+
+
+
+
+        /// <summary>
+        /// 鍐荤粨
+        /// </summary>
+        [Description("鍐荤粨")]
+        鍐荤粨 = 8010,
+
+        /// <summary>
+        /// 瑙e喕
+        /// </summary>
+        [Description("瑙e喕")]
+        瑙e喕 = 8011,
+
+
+
+        /// <summary>
+        /// 鐩樼泩璋冨樊
+        /// </summary>
+        [Description("鐩樼泩璋冨樊")]
+        鐩樼泩璋冨樊 = 8013,
+
+        /// <summary>
+        /// 鐩樹簭璋冨樊
+        /// </summary>
+        [Description("鐩樹簭璋冨樊")]
+        鐩樹簭璋冨樊 = 8014,
+
+        #endregion
+
+        #region NC澶勭悊锛�90寮�澶�
+
+
+        /// <summary>
+        /// 涓嶅悎鏍煎搧閫�搴�
+        /// </summary>
+        [Description("涓嶅悎鏍煎搧閫�搴�")]
+        涓嶅悎鏍煎搧閫�搴� = 9001,
+        #endregion
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/ErpPushStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/ErpPushStatusEnum.cs
new file mode 100644
index 0000000..8c40a45
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/ErpPushStatusEnum.cs
@@ -0,0 +1,44 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// ERP鎺ㄩ�佺姸鎬�
+/// </summary>
+[Description("ERP鎺ㄩ�佺姸鎬�")]
+public enum ErpPushStatusEnum
+{
+
+    /// <summary>
+    /// 寰呭彂閫�
+    /// </summary>
+    [Description("寰呭彂閫�")]
+    寰呭彂閫� = 0,
+
+    /// <summary>
+    /// 鍙戦�佸け璐�
+    /// </summary>
+    [Description("鍙戦�佸け璐�")]
+    鍙戦�佸け璐� = 1,
+
+    /// <summary>
+    /// 鍙戦�佸畬鎴�
+    /// </summary>
+    [Description("鍙戦�佸畬鎴�")]
+    鍙戦�佸畬鎴� = 2,
+
+    /// <summary>
+    /// 寮哄埗瀹屾垚
+    /// </summary>
+    [Description("寮哄埗瀹屾垚")]
+    寮哄埗瀹屾垚 = 3,
+
+    /// <summary>
+    /// 鏃犻渶鍙戦��
+    /// </summary>
+    [Description("鏃犻渶鍙戦��")]
+    鏃犻渶鍙戦�� = 4,
+
+
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/FreezeStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/FreezeStatusEnum.cs
new file mode 100644
index 0000000..e3e2197
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/FreezeStatusEnum.cs
@@ -0,0 +1,22 @@
+锘�//namespace Admin.NET.Application;
+///// <summary>
+///// 鍐荤粨鐘舵��  
+///// </summary>
+//[Description("鍐荤粨鐘舵��")]
+//public enum LockStatusEnum
+//{
+//    /// <summary>
+//    /// 鏈喕缁�
+//    /// </summary>
+//    [Description("鏈喕缁�")]
+//    鏈喕缁� = 0,
+
+//    /// <summary>
+//    /// 宸插喕缁�
+//    /// </summary>
+//    [Description("宸插喕缁�")]
+//    宸插喕缁� = 1
+
+//}
+
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/InOutFlagEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/InOutFlagEnum.cs
new file mode 100644
index 0000000..6f0c1c5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/InOutFlagEnum.cs
@@ -0,0 +1,23 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鍑哄叆鏍囪
+/// </summary>
+[Description("鍑哄叆鏍囪")]
+public enum InOutFlagEnum
+{
+    /// <summary>
+    /// 鍏�
+    /// </summary>
+    [Description("鍏�")]
+    鍏� = 1,
+
+    /// <summary>
+    /// 鍑�
+    /// </summary>
+    [Description("鍑�")]
+    鍑� = 2
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/LockStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/LockStatusEnum.cs
new file mode 100644
index 0000000..9f8b011
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/LockStatusEnum.cs
@@ -0,0 +1,22 @@
+锘縩amespace Admin.NET.Application;
+/// <summary>
+/// 閿佸畾鐘舵��  
+/// </summary>
+[Description("閿佸畾鐘舵��")]
+public enum LockStatusEnum
+{
+    /// <summary>
+    /// 鏈攣瀹�
+    /// </summary>
+    [Description("鏈攣瀹�")]
+    鏈攣瀹� = 0,
+
+    /// <summary>
+    /// 宸查攣瀹�
+    /// </summary>
+    [Description("宸查攣瀹�")]
+    宸查攣瀹� = 1
+
+}
+
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/LockTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/LockTypeEnum.cs
new file mode 100644
index 0000000..74ff454
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/LockTypeEnum.cs
@@ -0,0 +1,28 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Application;
+/// <summary>
+/// 搴撳瓨閿佸畾绫诲瀷  
+/// </summary>
+[Description("搴撳瓨閿佸畾绫诲瀷")]
+public enum LockTypeEnum
+{
+    /// <summary>
+    /// 棰勯厤
+    /// </summary>
+    [Description("棰勯厤")]
+    棰勯厤 = 1
+
+
+
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/PDAReceivingActionTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/PDAReceivingActionTypeEnum.cs
new file mode 100644
index 0000000..41c06d2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/PDAReceivingActionTypeEnum.cs
@@ -0,0 +1,27 @@
+锘�
+
+namespace Admin.NET.Application;
+
+
+/// <summary>
+/// PDA鏀惰揣鎿嶄綔绫诲瀷
+/// </summary>
+[Description("PDA鏀惰揣鎿嶄綔绫诲瀷")]
+public enum PDAReceivingActionTypeEnum
+{
+    /// <summary>
+    /// 鍓嶇粦瀹�
+    /// </summary>
+    [Description("鍓嶇粦瀹�")]
+    鍓嶇粦瀹� = 1,
+
+
+    /// <summary>
+    /// 鍚庣粦瀹�
+    /// </summary>
+    [Description("鍚庣粦瀹�")]
+    鍚庣粦瀹� = 2,
+
+
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/PrintTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/PrintTypeEnum.cs
new file mode 100644
index 0000000..9e168bd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/PrintTypeEnum.cs
@@ -0,0 +1,93 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鎵撳嵃绫诲瀷
+/// </summary>
+[Description("鎵撳嵃绫诲瀷")]
+public enum PrintTypeEnum
+{
+    /// <summary>
+    /// 鐗╂枡璺熻釜鐮�
+    /// </summary>
+    [Description("鐗╂枡璺熻釜鐮�")]
+    鐗╂枡璺熻釜鐮� = 1,
+
+    /// <summary>
+    /// 鐪嬫澘鍗� 
+    /// </summary>
+    [Description("鐪嬫澘鍗�")]
+    鐪嬫澘鍗� = 2
+
+
+}
+
+
+/// <summary>
+/// 鎵撳嵃鏉ユ簮
+/// </summary>
+[Description("鎵撳嵃鏉ユ簮")]
+public enum PrintSourceEnum
+{
+    /// <summary>
+    /// 搴撳瓨璺熻釜鐮佹墦鍗�
+    /// </summary>
+    [Description("搴撳瓨璺熻釜鐮佹墦鍗�")]
+    搴撳瓨璺熻釜鐮佹墦鍗� = 1,
+
+    /// <summary>
+    /// ASN鍗曡窡韪爜鎵撳嵃 
+    /// </summary>
+    [Description("ASN鍗曡窡韪爜鎵撳嵃")]
+    ASN鍗曡窡韪爜鎵撳嵃 = 2,
+
+    /// <summary>
+    /// 鐗╂枡鎷嗗垎鎵撳嵃 
+    /// </summary>
+    [Description("鐗╂枡鎷嗗垎鎵撳嵃")]
+    鐗╂枡鎷嗗垎鎵撳嵃 = 3,
+
+    /// <summary>
+    /// 鐗╂枡鍚堝苟鎵撳嵃 
+    /// </summary>
+    [Description("鐗╂枡鍚堝苟鎵撳嵃")]
+    鐗╂枡鍚堝苟鎵撳嵃 = 4,
+
+    /// <summary>
+    /// 鐗╂枡鍒嗘嫞鎵撳嵃 
+    /// </summary>
+    [Description("鐗╂枡鍒嗘嫞鎵撳嵃")]
+    鐗╂枡鍒嗘嫞鎵撳嵃 = 5,
+
+    /// <summary>
+    /// 鐪嬫澘鍗℃墦鍗� 
+    /// </summary>
+    [Description("鐪嬫澘鍗℃墦鍗�")]
+    鐪嬫澘鍗℃墦鍗� = 6
+
+
+}
+
+/// <summary>
+/// 鎵撳嵃鐘舵��
+/// </summary>
+[Description("鎵撳嵃鐘舵��")]
+public enum PrintStatuEnum
+{
+    /// <summary>
+    /// 鏈墦鍗�
+    /// </summary>
+    [Description("鏈墦鍗�")]
+    鏈墦鍗� = 0,
+
+    /// <summary>
+    /// 宸叉墦鍗� 
+    /// </summary>
+    [Description("宸叉墦鍗�")]
+    宸叉墦鍗� = 1,
+
+
+}
+
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/RbTaskTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/RbTaskTypeEnum.cs
new file mode 100644
index 0000000..6f604dc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/RbTaskTypeEnum.cs
@@ -0,0 +1,35 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鏈哄櫒浜轰换鍔$被鍨�
+/// </summary>
+[Description("鏈哄櫒浜轰换鍔$被鍨�")]
+public enum RbTaskTypeEnum
+{
+    /// <summary>
+    /// 鍏ュ簱浠诲姟
+    /// </summary>
+    [Description("鍏ュ簱浠诲姟")]
+    鍏ュ簱浠诲姟 = 1,
+
+    /// <summary>
+    /// 鍑哄簱浠诲姟
+    /// </summary>
+    [Description("鍑哄簱浠诲姟")]
+    鍑哄簱浠诲姟 = 2,
+
+    /// <summary>
+    /// 鐮佹澘浠诲姟
+    /// </summary>
+    [Description("鐮佹澘浠诲姟")]
+    鐮佹澘浠诲姟 = 3,
+
+    /// <summary>
+    /// 澶规澘浠诲姟
+    /// </summary>
+    [Description("澶规澘浠诲姟")]
+    澶规澘浠诲姟 = 4
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/ReceiptStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/ReceiptStatusEnum.cs
new file mode 100644
index 0000000..54eb0f9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/ReceiptStatusEnum.cs
@@ -0,0 +1,53 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Application;
+/// <summary>
+/// 鏀惰揣瀹屾垚鎯呭喌鏋氫妇鍊�
+/// </summary>
+public enum ReceiptStatusEnum
+{
+    /// <summary>
+    /// 寰呮敹璐�
+    /// </summary>
+    [Description("寰呮敹璐�")]
+    寰呮敹璐� = 1,
+
+    /// <summary>
+    /// 寤惰繜鏈敹璐�
+    /// </summary>
+    [Description("寤惰繜鏈敹璐�")]
+    寤惰繜鏈敹璐� = 2,
+
+
+    /// <summary>
+    /// 鏀惰揣涓�
+    /// </summary>
+    [Description("鏀惰揣涓�")]
+    鏀惰揣涓� = 3,
+
+    /// <summary>
+    /// 鏀惰揣瀹屾垚
+    /// </summary>
+    [Description("鏀惰揣瀹屾垚")]
+    鏀惰揣瀹屾垚 = 4,
+    /// <summary>
+    /// 宸插彇娑�
+    /// </summary>
+    [Description("宸插彇娑�")]
+    宸插彇娑� = 5,
+    /// <summary>
+    /// 宸插叧闂�
+    /// </summary>
+    [Description("宸插叧闂�")]
+    宸插叧闂� = 6
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/StockStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/StockStatusEnum.cs
new file mode 100644
index 0000000..d4e2743
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/StockStatusEnum.cs
@@ -0,0 +1,79 @@
+锘縩amespace Admin.NET.Application;
+/// <summary>
+/// 搴撳瓨鐘舵��  
+/// </summary>
+[Description("搴撳瓨鐘舵��")]
+public enum StockStatusEnum
+{
+    /// <summary>
+    /// 鍦ㄥ簱
+    /// </summary>
+    [Description("鍦ㄥ簱")]
+    鍦ㄥ簱 = 1,
+
+    /// <summary>
+    /// 宸插喕缁�
+    /// </summary>
+    [Description("宸插喕缁�")]
+    宸插喕缁� = 2
+
+
+}
+
+/// <summary>
+/// 搴撳瓨璐ㄦ鐘舵��   
+/// </summary>
+[Description("搴撳瓨璐ㄦ鐘舵��")]
+public enum StockQcStatusEnum
+{
+    /// <summary>
+    /// 寰呰川妫�
+    /// </summary>
+    [Description("寰呮")]
+    寰呮 = 1,
+    /// <summary>
+    /// 鍚堟牸
+    /// </summary>
+    [Description("鍚堟牸")]
+    鍚堟牸 = 2,
+    /// <summary>
+    /// 涓嶅悎鏍�
+    /// </summary>
+    [Description("涓嶅悎鏍�")]
+    涓嶅悎鏍� = 3
+
+}
+
+/// <summary>
+/// 搴撳瓨棰勮绫诲瀷    
+/// </summary>
+[Description("搴撳瓨棰勮绫诲瀷")]
+public enum WarningTypeEnum
+{
+
+    /// <summary>
+    /// 鏈�楂樺簱瀛樹笌瀹夊叏搴撳瓨涔嬮棿=1(榛勮壊)
+    /// </summary>
+    [Description("鏈�楂樺簱瀛樹笌瀹夊叏搴撳瓨涔嬮棿")]
+    鏈�楂樺簱瀛樹笌瀹夊叏搴撳瓨涔嬮棿 = 1,
+
+    /// <summary>
+    /// 姝e父搴撳瓨=2(缁胯壊)
+    /// </summary>
+    [Description("姝e父搴撳瓨")]
+    姝e父搴撳瓨 = 2,
+
+    /// <summary>
+    /// 楂樹簬鏈�楂樺簱瀛�=3(绾㈣壊)
+    /// </summary>
+    [Description("楂樹簬鏈�楂樺簱瀛�")]
+    楂樹簬鏈�楂樺簱瀛� = 3,
+
+    /// <summary>
+    /// 浣庝簬鏈�浣庡簱瀛�4(鐏拌壊)
+    /// </summary>
+    [Description("浣庝簬鏈�浣庡簱瀛�")]
+    浣庝簬鏈�浣庡簱瀛� = 4
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/SysDictDataEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/SysDictDataEnum.cs
new file mode 100644
index 0000000..e9dbb0c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/SysDictDataEnum.cs
@@ -0,0 +1,23 @@
+锘縩amespace Admin.NET.Application;
+/// <summary>
+/// 鐗规畩閰嶇疆瀛楀吀鏁版嵁绫诲瀷缂栫爜
+/// </summary>
+[Description("鐗规畩閰嶇疆瀛楀吀鏁版嵁绫诲瀷缂栫爜")]
+public enum SysDictDataEnum
+{
+    /// <summary>
+    /// 鏄惁绂佹鏀跺彂璐�(YES/NO)
+    /// </summary>
+    IsForbidReDeGood = 1,
+
+    /// <summary>
+    /// SAPCC鐨刉CF鏈嶅姟鍦板潃
+    /// </summary>
+    WCFService_SAPCC_URL = 2,
+
+
+    /// <summary>
+    /// 鏄� 鍚� 楠岃瘉sto宸插彂璐�
+    /// </summary>
+    IsValidateSTO = 3
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/TransTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/TransTypeEnum.cs
new file mode 100644
index 0000000..f8d44b7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/TransTypeEnum.cs
@@ -0,0 +1,51 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 浜嬪姟绫诲瀷
+/// </summary>
+[Description("浜嬪姟绫诲瀷")]
+public enum TransTypeEnum
+{
+    /// <summary>
+    /// 鏀惰揣 
+    /// </summary>
+    [Description("鏀惰揣")]
+    鏀惰揣 = 1,
+
+    /// <summary>
+    /// 缁勭洏 
+    /// </summary>
+    [Description("缁勭洏")]
+    缁勭洏 = 2,
+
+    /// <summary>
+    /// 涓婃灦 
+    /// </summary>
+    [Description("涓婃灦")]
+    涓婃灦 = 3,
+
+
+    /// <summary>
+    /// 瑙g粦 
+    /// </summary>
+    [Description("瑙g粦")]
+    瑙g粦 = 4,
+
+
+    /// <summary>
+    /// 涓嬫灦 
+    /// </summary>
+    [Description("涓嬫灦")]
+    涓嬫灦 = 5,
+
+
+    /// <summary>
+    /// 鐩樼偣 
+    /// </summary>
+    [Description("鐩樼偣")]
+    鐩樼偣 = 6,
+}
+
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/UpDownShelvesTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/UpDownShelvesTypeEnum.cs
new file mode 100644
index 0000000..147556d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/UpDownShelvesTypeEnum.cs
@@ -0,0 +1,38 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 涓婁笅鏋剁被鍨�
+/// </summary>
+[Description("涓婁笅鏋剁被鍨�")]
+public enum UpDownShelvesTypeEnum
+{
+    /// <summary>
+    /// 鍏朵粬
+    /// </summary>
+    [Description("鍏朵粬")]
+    鍏朵粬 = 0,
+    /// <summary>
+    /// 涓婃灦 
+    /// </summary>
+    [Description("涓婃灦")]
+    涓婃灦 = 1,
+    /// <summary>
+    /// 涓嬫灦
+    /// </summary>
+    [Description("涓嬫灦")]
+    涓嬫灦 = 2,
+
+
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/SerialSN/SerialSourceTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/SerialSN/SerialSourceTypeEnum.cs
new file mode 100644
index 0000000..a10c93d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/SerialSN/SerialSourceTypeEnum.cs
@@ -0,0 +1,51 @@
+锘縩amespace Admin.NET.Application
+{
+    /// <summary>
+    /// 缁勫悎绫诲瀷  
+    /// </summary>
+    [Description("缁勫悎绫诲瀷")]
+    public enum SerialSourceTypeEnum
+    {
+        /// <summary>
+        /// 瀛楃涓叉弿杩�
+        /// </summary>
+        [Description("瀛楃涓叉弿杩�")]
+        UD,
+        /// <summary>
+        /// 涓氬姟绫诲瀷
+        /// </summary>
+        [Description("涓氬姟绫诲瀷")]
+        BT,
+        /// <summary>
+        /// 4浣嶅勾浠�
+        /// </summary>
+        [Description("4浣嶅勾浠�")]
+        Y4,
+        /// <summary>
+        /// 2浣嶅勾浠�
+        /// </summary>
+        [Description("2浣嶅勾浠�")]
+        Y2,
+        /// <summary>
+        /// 2浣嶆湀浠�
+        /// </summary>
+        [Description("2浣嶆湀浠�")]
+        M2,
+        /// <summary>
+        /// 2浣嶅ぉ
+        /// </summary>
+        [Description("2浣嶅ぉ")]
+        D2,
+        /// <summary>
+        /// 鏄熸湡鍑�(W1)
+        /// </summary>
+        [Description("鏄熸湡鍑�")]
+        W2,
+        /// <summary>
+        /// 娴佹按鍙�
+        /// </summary>
+        [Description("娴佹按鍙�")]
+        SN,
+
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/SerialSN/SerialTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/SerialSN/SerialTypeEnum.cs
new file mode 100644
index 0000000..1348648
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/SerialSN/SerialTypeEnum.cs
@@ -0,0 +1,65 @@
+锘縩amespace Admin.NET.Application
+{
+    /// <summary>
+    /// 鍗曟嵁鍙风被鍨�  
+    /// </summary>
+    [Description("鍗曟嵁鍙风被鍨�")]
+    public enum SerialTypeEnum
+    {
+        /// <summary>
+        /// 娴嬭瘯缂栧彿
+        /// </summary>
+        [Description("娴嬭瘯缂栧彿")]
+        娴嬭瘯缂栧彿 = 10,
+
+
+        /// <summary>
+        /// 鏇夸唬鍝佺紪鍙�
+        /// </summary>
+        [Description("鏇夸唬鍝佺紪鍙�")]
+        鏇夸唬鍝佺紪鍙� = 20,
+
+        /// <summary>
+        /// 搴撲綅缂栧彿
+        /// </summary>
+        [Description("鎺у埗灞炴�ф槑缁嗙紪鍙�")]
+        鎺у埗灞炴�ф槑缁嗙紪鍙� = 30,
+
+
+        /// <summary>
+        /// 搴撲綅缂栧彿
+        /// </summary>
+        [Description("ASN鍗曞彿")]
+        ASN鍗曞彿 = 40,
+
+        /// <summary>
+        /// 搴撲綅缂栧彿
+        /// </summary>
+        [Description("涓婃灦鍗曞彿")]
+        涓婃灦鍗曞彿 = 50,
+
+        /// <summary>
+        /// 搴撲綅缂栧彿
+        /// </summary>
+        [Description("涓嬫灦鍗曞彿")]
+        涓嬫灦鍗曞彿 = 60,
+
+        /// <summary>
+        /// 鎶ユ鍗曞彿
+        /// </summary>
+        [Description("鎶ユ鍗曞彿")]
+        鎶ユ鍗曞彿 = 70,
+
+        /// <summary>
+        /// PO鍗�
+        /// </summary>
+        [Description("PO鍗�")]
+        PO鍗曞彿 = 80,
+
+        /// <summary>
+        /// 鐩樼偣鍗�
+        /// </summary>
+        [Description("鐩樼偣鍗�")]
+        鐩樼偣鍗� = 90,
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/ABCClassEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/ABCClassEnum.cs
new file mode 100644
index 0000000..c532976
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/ABCClassEnum.cs
@@ -0,0 +1,27 @@
+锘�
+
+namespace Admin.NET.Application;
+/// <summary>
+/// 鐗╂枡ABC鍒嗙被
+/// </summary>
+[Description("鐗╂枡ABC鍒嗙被")]
+public enum ABCClassEnum
+{
+    /// <summary>
+    /// A
+    /// </summary>
+    [Description("鍗曚欢楂�/鍝佺被灏�")]
+    A = 1,
+
+    /// <summary>
+    ///B
+    /// </summary>
+    [Description("鍗曚欢浣庝簬A/鍝佺被澶�")]
+    B = 2,
+
+    /// <summary>
+    ///C
+    /// </summary>
+    [Description("鍗曚环浣庝簬B/鍝佺被澶�")]
+    C = 3
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/AreaTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/AreaTypeEnum.cs
new file mode 100644
index 0000000..822a875
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/AreaTypeEnum.cs
@@ -0,0 +1,24 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 搴撳尯绫诲瀷
+/// </summary>
+/// 
+[Description("搴撳尯绫诲瀷")]
+public enum AreaTypeEnum
+{
+
+    /// <summary>
+    /// 绔嬩綋搴�
+    /// </summary>
+    [Description("绔嬩綋搴�")]
+    绔嬩綋搴� = 1,
+
+    /// <summary>
+    /// 骞冲簱
+    /// </summary>
+    [Description("骞冲簱")]
+    骞冲簱 = 2,
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/BaseCustomerEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/BaseCustomerEnum.cs
new file mode 100644
index 0000000..214c0ff
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/BaseCustomerEnum.cs
@@ -0,0 +1,43 @@
+锘�
+
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 寰�鏉ュ崟浣嶇被鍨�
+    /// </summary>
+    [Description("寰�鏉ュ崟浣嶇被鍨�")]
+    public enum BaseCustomerTypeEnum
+    {
+        /// <summary>
+        /// 璐т富
+        /// </summary>
+        [Description("璐т富")]
+        璐т富 = 1,
+
+        /// <summary>
+        /// 鏀惰揣浜�
+        /// </summary>
+        [Description("鏀惰揣浜�")]
+        鏀惰揣浜� = 2,
+
+        /// <summary>
+        /// 渚涘簲鍟�
+        /// </summary>
+        [Description("渚涘簲鍟�")]
+        渚涘簲鍟� = 3,
+
+        /// <summary>
+        /// 鎵胯繍浜�
+        /// </summary>
+        [Description("鎵胯繍浜�")]
+        鎵胯繍浜� = 4,
+
+        /// <summary>
+        /// 鍏朵粬
+        /// </summary>
+        [Description("鍏朵粬")]
+        鍏朵粬 = 5
+    }
+
+   
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/BatchRuleTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/BatchRuleTypeEnum.cs
new file mode 100644
index 0000000..2daa626
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/BatchRuleTypeEnum.cs
@@ -0,0 +1,261 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鎵规瑙勫垯绫诲瀷
+/// </summary>
+/// 
+[Description("鎵规瑙勫垯绫诲瀷")]
+public enum BatchRuleEnum
+{
+
+    /// <summary>
+    /// 鏀惰揣鏃ユ湡
+    /// </summary>
+    [Description("鏀惰揣鏃ユ湡")]
+    鏀惰揣鏃ユ湡 = 1,
+
+    /// <summary>
+    /// 鐗╂枡棰滆壊
+    /// </summary>
+    [Description("鐗╂枡棰滆壊")]
+    鐗╂枡棰滆壊 = 2,
+
+
+    ///// <summary>
+    ///// 涓婃灦鏃ユ湡
+    ///// </summary>
+    //[Description("涓婃灦鏃ユ湡")]
+    //涓婃灦鏃ユ湡 = 3,
+
+    ///// <summary>
+    ///// 鐢熶骇鏃ユ湡
+    ///// </summary>
+    //[Description("鐢熶骇鏃ユ湡")]
+    //鐢熶骇鏃ユ湡 = 4,
+
+
+}
+
+
+
+/// <summary>
+/// 鎵规瑙勫垯灞炴�ф牸寮�
+/// </summary>
+/// 
+[Description("鎵规瑙勫垯灞炴�ф牸寮�")]
+public enum AttrForamtEnum
+{
+
+    /// <summary>
+    /// 瀛楃
+    /// </summary>
+    [Description("瀛楃")]
+    瀛楃 = 1,
+
+
+    /// <summary>
+    /// 鏃ユ湡-骞�
+    /// </summary>
+    [Description("鏃ユ湡-骞�")]
+    鏃ユ湡骞� = 2,
+
+    /// <summary>
+    /// 鏃ユ湡-骞�
+    /// </summary>
+    [Description("鏃ユ湡-骞存湀")]
+    鏃ユ湡骞存湀 = 3,
+    /// <summary>
+    /// 鏃ユ湡-骞存湀鏃�
+    /// </summary>
+    [Description("鏃ユ湡-骞存湀鏃�")]
+    鏃ユ湡骞存湀鏃� = 4,
+
+    /// <summary>
+    /// 鏃堕棿-骞存湀鏃ユ椂
+    /// </summary>
+    [Description("鏃堕棿-骞存湀鏃ユ椂")]
+    鏃堕棿骞存湀鏃ユ椂 = 5,
+
+
+    /// <summary>
+    /// 鏃堕棿-骞存湀鏃ユ椂鍒�
+    /// </summary>
+    [Description("鏃堕棿-骞存湀鏃ユ椂鍒�")]
+    鏃堕棿骞存湀鏃ユ椂鍒� = 6,
+
+
+    /// <summary>
+    /// 鏃堕棿-骞存湀鏃ユ椂鍒嗙
+    /// </summary>
+    [Description("鏃堕棿-骞存湀鏃ユ椂鍒嗙")]
+    鏃堕棿骞存湀鏃ユ椂鍒嗙 = 7,
+
+
+
+
+
+}
+
+
+
+
+/// <summary>
+/// 鎵规瑙勫垯杈撳叆鎺у埗
+/// </summary>
+/// 
+[Description("鎵规瑙勫垯杈撳叆鎺у埗")]
+public enum InputControlEnum
+{
+
+    /// <summary>
+    /// 蹇呰緭
+    /// </summary>
+    [Description("蹇呰緭")]
+    蹇呰緭 = 1,
+
+    /// <summary>
+    /// 鍙��
+    /// </summary>
+    [Description("鍙��")]
+    鍙�� = 2,
+
+
+    ///// <summary>
+    ///// 鍙
+    ///// </summary>
+    //[Description("鍙")]
+    //鍙 = 3,
+
+    ///// <summary>
+    ///// 绂佺敤
+    ///// </summary>
+    //[Description("绂佺敤")]
+    //绂佺敤 = 4,
+
+
+}
+
+
+
+
+/// <summary>
+/// 鎵规瑙勫垯灞炴�ч�夐」 
+/// </summary>
+/// 
+[Description("鎵规瑙勫垯灞炴�ч�夐」")]
+public enum AttrOptionEnum
+{
+
+    /// <summary>
+    /// 鏁存暟
+    /// </summary>
+    [Description("鏁存暟")]
+    鏁存暟 = 1,
+
+    /// <summary>
+    /// 瀛楃涓�
+    /// </summary>
+    [Description("瀛楃涓�")]
+    瀛楃涓� = 2,
+
+    /// <summary>
+    /// 鏃ユ湡
+    /// </summary>
+    [Description("鏃ユ湡")]
+    鏃ユ湡 = 3,
+
+    /// <summary>
+    /// 鏃ユ湡鏃堕棿
+    /// </summary>
+    [Description("鏃ユ湡鏃堕棿")]
+    鏃ユ湡鏃堕棿 = 4,
+
+}
+
+
+
+
+/// <summary>
+/// 鎵规瑙勫垯浼樺厛绾� 
+/// </summary>
+/// 
+[Description("Priority")]
+public enum PriorityEnum
+{
+
+    /// <summary>
+    /// 涓�绾�
+    /// </summary>
+    [Description("涓�绾�")]
+    涓�绾� = 1,
+
+    /// <summary>
+    /// 浜岀骇
+    /// </summary>
+    [Description("浜岀骇")]
+    浜岀骇 = 2,
+    /// <summary>
+    /// 涓夌骇
+    /// </summary>
+    [Description("涓夌骇")]
+    涓夌骇 = 3,
+
+    /// <summary>
+    /// 鍥涚骇
+    /// </summary>
+    [Description("鍥涚骇")]
+    鍥涚骇 = 4,
+
+    /// <summary>
+    /// 浜旂骇
+    /// </summary>
+    [Description("浜旂骇")]
+    浜旂骇 = 5,
+
+    /// <summary>
+    /// 鍏骇
+    /// </summary>
+    [Description("鍏骇")]
+    鍏骇 = 6,
+
+    /// <summary>
+    /// 涓冪骇
+    /// </summary>
+    [Description("涓冪骇")]
+    涓冪骇 = 7,
+
+    /// <summary>
+    /// 鍏骇
+    /// </summary>
+    [Description("鍏骇")]
+    鍏骇 = 8,
+
+
+    /// <summary>
+    /// 涔濈骇
+    /// </summary>
+    [Description("涔濈骇")]
+    涔濈骇 = 9,
+
+    /// <summary>
+    /// 鍗佺骇
+    /// </summary>
+    [Description("鍗佺骇")]
+    鍗佺骇 = 10,
+
+    /// <summary>
+    /// 鍗佷竴绾�
+    /// </summary>
+    [Description("鍗佷竴绾�")]
+    鍗佷竴绾� = 11,
+
+    /// <summary>
+    /// 鍗佷簩绾�
+    /// </summary>
+    [Description("鍗佷簩绾�")]
+    鍗佷簩绾� = 12,
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/MaterialClassifyFlagEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/MaterialClassifyFlagEnum.cs
new file mode 100644
index 0000000..f1a43f0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/MaterialClassifyFlagEnum.cs
@@ -0,0 +1,22 @@
+锘�
+
+namespace Admin.NET.Application;
+/// <summary>
+/// 鐗╂枡鍒嗙被鏍囪
+/// </summary>
+[Description("鐗╂枡鍒嗙被鏍囪")]
+public enum MaterialClassifyFlagEnum
+{
+    /// <summary>
+    /// 鐗╂枡
+    /// </summary>
+    [Description("鐗╂枡")]
+    鐗╂枡 = 1,
+
+    /// <summary>
+    ///瀹瑰櫒
+    /// </summary>
+    [Description("瀹瑰櫒")]
+    瀹瑰櫒 = 2,
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/OperationsContainerEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/OperationsContainerEnum.cs
new file mode 100644
index 0000000..bb8a62a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/OperationsContainerEnum.cs
@@ -0,0 +1,80 @@
+锘�
+
+namespace Admin.NET.Application;
+
+
+
+
+    /// <summary>
+    /// 浣滀笟瀹瑰櫒
+    /// </summary>
+    [Description("浣滀笟瀹瑰櫒")]
+    public enum OperationsContainerEnum
+{
+    /// <summary>
+    /// 鍙戣揣鍖哄煙瀹瑰櫒
+    /// </summary>
+    [Description("鍙戣揣鍖哄煙瀹瑰櫒")]
+    SHIPPING = 1,
+
+    /// <summary>
+    /// 鍦ㄩ�斿鍣�
+    /// </summary>
+    [Description("鍦ㄩ�斿鍣�")]
+    INTRANSIT = 2,
+
+    /// <summary>
+    /// 骞冲簱鍖哄煙瀹瑰櫒
+    /// </summary>
+    [Description("骞冲簱鍖哄煙瀹瑰櫒")]
+    PKQYKW = 3,
+
+    /// <summary>
+    /// 鏀惰揣鍖哄煙瀹瑰櫒
+    /// </summary>
+    [Description("鏀惰揣鍖哄煙瀹瑰櫒")]
+    STAGING = 4,
+    /// <summary>
+    /// 寰呮鍖哄煙瀹瑰櫒
+    /// </summary>
+    [Description("寰呮鍖哄煙瀹瑰櫒")]
+    QMLOT = 5,
+
+    /// <summary>
+    /// 涓嶈壇鍝佸尯鍩熷鍣�
+    /// </summary>
+    [Description("涓嶈壇鍝佸尯鍩熷鍣�")]
+    SQE = 6,
+
+    /// <summary>
+    /// 鍒嗘嫞鍖哄煙瀹瑰櫒
+    /// </summary>
+    [Description("鍒嗘嫞鍖哄煙瀹瑰櫒")]
+    FJQY = 7,
+
+    /// <summary>
+    /// 绾胯竟鍖哄煙瀹瑰櫒
+    /// </summary>
+    [Description("绾胯竟鍖哄煙瀹瑰櫒")]
+    LS = 8
+
+
+}
+
+/// <summary>
+/// 浣滀笟瀹瑰櫒绫诲瀷
+/// </summary>
+[Description("浣滀笟瀹瑰櫒绫诲瀷")]
+public enum OperationsContainerTypeEnum
+{
+    /// <summary>
+    /// 铏氭嫙瀹瑰櫒
+    /// </summary>
+    [Description("铏氭嫙瀹瑰櫒")]
+    VIR = 1,
+
+}
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/ProvinceNameEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/ProvinceNameEnum.cs
new file mode 100644
index 0000000..b84f166
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/ProvinceNameEnum.cs
@@ -0,0 +1,45 @@
+锘�
+
+namespace Admin.NET.Application;
+/// <summary>
+/// 鐪�
+/// </summary>
+[Description("鐪�")]
+
+public enum ProvinceNameEnum
+{
+    鍖椾含甯� = 1,
+    澶╂触甯� = 2,
+    閲嶅簡甯� = 3,
+    涓婃捣甯� = 4,
+    娌冲寳鐪� = 5,
+    灞辫タ鐪� = 6,
+    杈藉畞鐪� = 7,
+    鍚夋灄鐪� = 8,
+    榛戦緳姹熺渷 = 9,
+    姹熻嫃鐪� = 10,
+    娴欐睙鐪� = 11,
+    瀹夊窘鐪� = 12,
+    绂忓缓鐪� = 13,
+    姹熻タ鐪� = 14,
+    灞变笢鐪� = 15,
+    娌冲崡鐪� = 16,
+    婀栧寳鐪� = 17,
+    婀栧崡鐪� = 18,
+    骞夸笢鐪� = 19,
+    娴峰崡鐪� = 20,
+    鍥涘窛鐪� = 21,
+    璐靛窞鐪� = 22,
+    浜戝崡鐪� = 23,
+    闄曡タ鐪� = 24,
+    鐢樿們鐪� = 25,
+    闈掓捣鐪� = 26,
+    鍙版咕鐪� = 27,
+    鍐呰挋鍙� = 28,
+    骞胯タ = 29,
+    瀹佸 = 30,
+    鏂扮枂 = 31,
+    瑗胯棌 = 32,
+    棣欐腐 = 33,
+    婢抽棬 = 34,
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/ServiceCodeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/ServiceCodeEnum.cs
new file mode 100644
index 0000000..a3043ce
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/ServiceCodeEnum.cs
@@ -0,0 +1,73 @@
+锘縩amespace Admin.NET.Application.WmsBase
+{
+    /// <summary>
+    /// 涓氬姟绫诲瀷  
+    /// </summary>
+    [Description("涓氬姟绫诲瀷")]
+    public enum ServiceCodeEnum
+    {
+        涓婃灦 = 10, //涓婃灦
+        绉诲簱 = 20,
+        涓嬫灦 = 30, //涓嬫灦
+        NC = 40,   //闄や簡褰卞搷搴撳瓨绉诲姩锛岃繕闇�瑕佸彉鏇村簱瀛樿川閲忕姸鎬佺殑搴撳瓨绉诲姩绫诲瀷
+        鍏跺畠 = 50
+        //浣滃簾 = 40,
+    }
+
+    [Description("涓氬姟浠g爜")]
+    public enum ServiceCodeEnumMaterialEnum
+    {
+
+        //-----------------涓婃灦銆愪笅闈㈡槸10鍖洪棿鍐呯殑銆�
+        ASN鏀惰揣 = 101,
+        ASN涓婃灦 = 102,
+        鐩存帴涓婃灦 = 103,
+        //浜х嚎閫�鍥炰笂鏋� = 105,
+        //鐩樼偣澧炲姞 = 106,
+        //鍙戣揣鎾ら攢 = 107,
+        //涓嶈壇鍝佷笂鏋� = 108,
+        //浜哄伐涓婃灦 = 109,
+        //------------------涓嬫灦銆愪笅闈㈡槸20鍖洪棿鍐呯殑銆�
+        鍙戣揣 = 201,
+        棰嗘枡鍗� = 202,
+        //閫�璐у崟涓嬫灦 = 302,
+        //瓒婂簱涓嬫灦 = 303,
+        //浜哄伐涓嬫灦 = 304,
+        //鐩樼偣鎵e噺 = 305,
+        //鏀惰揣鎾ら攢 = 306,
+        //渚涘簲鍟嗛��璐т笅鏋� = 307,
+        //浜х嚎閫�鎹㈣揣涓婃灦 = 308,
+        //浜х嚎閫�鎹㈣揣涓嬫灦 = 309,
+        //璐ㄦ涓嶅悎鏍兼敹璐ф挙閿� = 310,
+        //-----------------绉诲簱銆愪笅闈㈡槸30鍖洪棿鍐呯殑銆�
+        搴撳瓨绉诲姩 = 301,
+        搴撳瓨杞Щ = 302,
+        涓嬫灦 = 303,
+        鎷h揣纭 = 304,
+        //璐х墿涓嬫灦 = 201,
+        //鍒嗘嫞涓嬫灦 = 205,
+        //鍒嗘嫞涓婃灦 = 206,
+        //鏉ユ枡璐ㄦ涓嬫灦 = 209,
+        //鍙栬揣涓嬫灦 = 211,
+        //鍙栬揣涓婃灦 = 212,
+        //鍙栬揣涓嬫灦鎾ら攢 = 213,
+        //鍙栬揣涓婃灦鎾ら攢 = 214,
+        //鍒嗘嫞涓嬫灦鎾ら攢 = 215,
+        //鍒嗘嫞涓婃灦鎾ら攢 = 216,
+        //璐ㄦ涓嬫灦 = 217,
+        //璐ㄦ涓婃灦 = 218,
+        //鍏ㄩ潰璐ㄦ涓嬫灦 = 219,
+        //鍏ㄩ潰璐ㄦ涓婃灦 = 220,
+        //鎾ら攢璐ㄦ涓婃灦 = 221,
+        //鎾ら攢璐ㄦ涓嬫灦 = 222,
+
+        //-----------------NC銆愪笅闈㈡槸40鍖洪棿鍐呯殑銆�
+        鏉ユ枡璐ㄦ = 401,
+        //-----------------鍏跺畠銆愪笅闈㈡槸50鍖洪棿鍐呯殑銆�
+        搴撳瓨鍐荤粨 = 501,
+        搴撳瓨璋冩暣 = 502,
+        缁勭洏 = 503,
+        閫氱敤 = 504,
+        鎷h揣娉㈡ = 505,
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/SourceByEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/SourceByEnum.cs
new file mode 100644
index 0000000..2fb2623
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/SourceByEnum.cs
@@ -0,0 +1,28 @@
+锘縩amespace Admin.NET.Application;
+/// <summary>
+/// 鍗曟嵁鏉ユ簮
+/// </summary>
+[Description("鍗曟嵁鏉ユ簮")]
+public enum SourceByEnum
+{
+    /// <summary>
+    /// 鑷缓
+    /// </summary>
+    [Description("鑷缓")]
+    鑷缓 = 0,
+    /// <summary>
+    /// 鍗曟嵁鏉ユ簮浜庡鎺ョ郴缁�
+    /// </summary>
+    [Description("ERP")]
+    ERP = 1,
+    ///// <summary>
+    ///// 鍗曟嵁閫氳繃excel瀵煎叆
+    ///// </summary>
+    [Description("瀵煎叆")]
+    瀵煎叆 =2,
+    /// <summary>
+    /// 鍗曟嵁鏉ユ簮浜庡叾浠栦笟鍔¤嚜鍔ㄥ垱寤�
+    /// </summary>
+    [Description("绯荤粺")]
+    绯荤粺 =3
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/WmsPlaceEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/WmsPlaceEnum.cs
new file mode 100644
index 0000000..e12cfa4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/WmsPlaceEnum.cs
@@ -0,0 +1,208 @@
+锘�
+
+namespace Admin.NET.Application;
+
+
+/// <summary>
+/// 搴撲綅绫诲瀷
+/// </summary>
+[Description("搴撲綅绫诲瀷")]
+public enum PlaceTypeEnum
+{
+    /// <summary>
+    /// 灏忚揣浣�,灏忎簬70cm
+    /// </summary>
+    [Description("灏忚揣浣�")]
+    灏忚揣浣� = 1,
+
+    /// <summary>
+    /// 涓揣浣�,灏忎簬绛変簬1m
+    /// </summary>
+    [Description("涓揣浣�")]
+    涓揣浣� = 2,
+
+    /// <summary>
+    /// 澶ц揣浣嶏紝澶т簬1m
+    /// 
+    /// </summary>
+    [Description("澶ц揣浣�")]
+    澶ц揣浣� = 3
+
+}
+
+/// <summary>
+/// 浣滀笟搴撲綅
+/// </summary>
+[Description("浣滀笟搴撲綅")]
+public enum OperationsPlaceEnum
+{
+    /// <summary>
+    /// 鍙戣揣鍖哄煙搴撲綅
+    /// </summary>
+    [Description("鍙戣揣鍖哄煙搴撲綅")]
+    SHIPPING = 1,
+
+    /// <summary>
+    /// 鍦ㄩ�斿簱浣�
+    /// </summary>
+    [Description("鍦ㄩ�斿簱浣�")]
+    INTRANSIT = 2,
+
+    /// <summary>
+    /// 骞冲簱鍖哄煙搴撲綅
+    /// </summary>
+    [Description("骞冲簱鍖哄煙搴撲綅")]
+    PKQYKW = 3,
+
+    /// <summary>
+    /// 鏀惰揣鍖哄煙搴撲綅
+    /// </summary>
+    [Description("鏀惰揣鍖哄煙搴撲綅")]
+    STAGING = 4,
+    /// <summary>
+    /// 寰呮鍖哄煙搴撲綅
+    /// </summary>
+    [Description("寰呮鍖哄煙搴撲綅")]
+    QMLOT = 5,
+
+    /// <summary>
+    /// 涓嶈壇鍝佸尯鍩熷簱浣�
+    /// </summary>
+    [Description("涓嶈壇鍝佸尯鍩熷簱浣�")]
+    SQE = 6,
+
+    /// <summary>
+    /// 鍒嗘嫞鍖哄煙搴撲綅
+    /// </summary>
+    [Description("鍒嗘嫞鍖哄煙搴撲綅")]
+    FJQY = 7,
+    /// <summary>
+    /// 绾胯竟鍖哄煙搴撲綅
+    /// </summary>
+    [Description("绾胯竟鍖哄煙搴撲綅")]
+    LS = 8,
+    /// <summary>
+    /// 鐩樼偣搴撲綅
+    /// </summary>
+    [Description("鐩樼偣搴撲綅")]
+    PDKW = 9
+}
+
+/// <summary>
+/// 浣滀笟搴撲綅
+/// </summary>
+[Description("浣滀笟搴撳尯")]
+public enum OperationsAreaEnum
+{
+    /// <summary>
+    /// 鍙戣揣鍖哄煙
+    /// </summary>
+    [Description("鍙戣揣鍖哄煙")]
+    SHIPPING = 1,
+
+    ///// <summary>
+    ///// 鍦ㄩ�斿簱浣�
+    ///// </summary>
+    //[Description("鍦ㄩ�斿簱浣�")]
+    //INTRANSIT = 2,
+
+    /// <summary>
+    /// 骞冲簱鍖哄煙
+    /// </summary>
+    [Description("骞冲簱鍖哄煙")]
+    PKQYKW = 3,
+
+    /// <summary>
+    /// 鏀惰揣鍖哄煙
+    /// </summary>
+    [Description("鏀惰揣鍖哄煙")]
+    STAGING = 4,
+    /// <summary>
+    /// 寰呮鍖哄煙
+    /// </summary>
+    [Description("寰呮鍖哄煙")]
+    QMLOT = 5,
+
+    /// <summary>
+    /// 涓嶈壇鍝佸尯鍩�
+    /// </summary>
+    [Description("涓嶈壇鍝佸尯鍩�")]
+    SQE = 6,
+
+    /// <summary>
+    /// 鍒嗘嫞鍖哄煙
+    /// </summary>
+    [Description("鍒嗘嫞鍖哄煙")]
+    FJQY = 7,
+    /// <summary>
+    /// 绾胯竟鍖哄煙
+    /// </summary>
+    [Description("绾胯竟鍖哄煙")]
+    LS = 8
+}
+
+/// <summary>
+/// 瀛樻斁鍗曚綅
+/// </summary>
+[Description("瀛樻斁鍗曚綅")]
+public enum StockUnitEnum
+{
+    /// <summary>
+    /// 绠�
+    /// </summary>
+    [Description("绠�")]
+    绠� = 1,
+
+    /// <summary>
+    /// 瀹瑰櫒
+    /// </summary>
+    [Description("瀹瑰櫒")]
+    瀹瑰櫒 = 2,
+
+    /// <summary>
+    /// 鍏朵粬
+    /// </summary>
+    [Description("鍏朵粬")]
+    鍏朵粬 = 3,
+
+}
+/// <summary>
+/// 搴撲綅灞炴��
+/// </summary>
+[Description("搴撲綅灞炴��")]
+public enum PlaceStatusEnum
+{
+    /// <summary>
+    /// 姝e父
+    /// </summary>
+    [Description("姝e父")]
+    姝e父 = 1,
+
+    /// <summary>
+    /// 灏佸瓨
+    /// </summary>
+    [Description("灏佸瓨")]
+    灏佸瓨 = 2,
+
+    /// <summary>
+    /// 绂佸嚭  --涓嶇敤浜�
+    /// </summary>
+    [Description("绂佸嚭")]
+    绂佸嚭 = 3,
+
+    /// <summary>
+    /// 绂佸叆 --涓嶇敤浜�
+    /// </summary>
+    [Description("绂佸叆")]
+    绂佸叆 = 4,
+
+    /// <summary>
+    /// 閿佸畾
+    /// </summary>
+    [Description("閿佸畾")]
+    閿佸畾 = 5
+
+}
+
+
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/dockEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/dockEnum.cs
new file mode 100644
index 0000000..eaba8a5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsBase/dockEnum.cs
@@ -0,0 +1,16 @@
+锘�
+
+namespace Admin.NET.Application;
+/// <summary>
+/// 鏀惰揣閬撳彛
+/// </summary>
+[Description("鏀惰揣閬撳彛")]
+public enum DockEnum
+{
+    /// <summary>
+    /// 101
+    /// </summary>
+    [Description("101")]
+    DockA = 101,
+
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckModeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckModeEnum.cs
new file mode 100644
index 0000000..0cc113a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckModeEnum.cs
@@ -0,0 +1,29 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鐩樼偣鏂瑰紡
+/// </summary>
+[Description("鐩樼偣鏂瑰紡")]
+public enum CheckModeEnum
+{
+    /// <summary>
+    /// 鏍囧噯鐩樼偣
+    /// </summary>
+    [Description("鏍囧噯鐩樼偣")]
+    鏍囧噯鐩樼偣 = 0,
+
+    ///// <summary>
+    ///// 鍔ㄦ�佺洏鐐�
+    ///// </summary>
+    //[Description("鍔ㄦ�佺洏鐐�")]
+    //鍔ㄦ�佺洏鐐� = 1,
+
+    ///// <summary>
+    ///// 闅忔満鐩樼偣
+    ///// </summary>
+    //[Description("闅忔満鐩樼偣")]
+    //闅忔満鐩樼偣 = 2
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckOperatorClassifyEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckOperatorClassifyEnum.cs
new file mode 100644
index 0000000..4039c3c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckOperatorClassifyEnum.cs
@@ -0,0 +1,23 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鐩樼偣鎿嶄綔鍒嗙被
+/// </summary>
+[Description("鐩樼偣鎿嶄綔鍒嗙被")]
+public enum CheckOperatorClassifyEnum
+{
+    /// <summary>
+    /// 鍒濈洏
+    /// </summary>
+    [Description("鍒濈洏")]
+    鍒濈洏 = 1,
+
+    /// <summary>
+    /// 澶嶇洏
+    /// </summary>
+    [Description("澶嶇洏")]
+    澶嶇洏 = 2
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckResultEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckResultEnum.cs
new file mode 100644
index 0000000..86c293a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckResultEnum.cs
@@ -0,0 +1,35 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鐩樼偣缁撴灉
+/// </summary>
+[Description("鐩樼偣缁撴灉")]
+public enum CheckResultEnum
+{
+    /// <summary>
+    /// 鏈洏
+    /// </summary>
+    [Description("鏈洏")]
+    鏈洏 = 0,
+
+    /// <summary>
+    /// 鐩樺钩
+    /// </summary>
+    [Description("鐩樺钩")]
+    鐩樺钩 = 1,
+
+    /// <summary>
+    /// 鐩樼泩
+    /// </summary>
+    [Description("鐩樼泩")]
+    鐩樼泩 = 2,
+
+    /// <summary>
+    /// 鐩樹簭
+    /// </summary>
+    [Description("鐩樹簭")]
+    鐩樹簭 = 3
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckStageEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckStageEnum.cs
new file mode 100644
index 0000000..1cef393
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckStageEnum.cs
@@ -0,0 +1,72 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鐩樼偣闃舵
+/// </summary>
+[Description("鐩樼偣闃舵")]
+public enum CheckStageEnum
+{
+    /// <summary>
+    /// 鏂板缓
+    /// </summary>
+    [Description("鏂板缓")]
+    鏂板缓 = 0,
+
+    /// <summary>
+    /// 鍒濈洏寮�鍚�
+    /// </summary>
+    [Description("鍒濈洏寮�鍚�")]
+    鍒濈洏寮�鍚� = 1,
+
+    /// <summary>
+    /// 鍒濈洏涓�
+    /// </summary>
+    [Description("鍒濈洏涓�")]
+    鍒濈洏涓� = 2,
+
+    /// <summary>
+    /// 鍒濈洏宸插畬鎴�
+    /// </summary>
+    [Description("鍒濈洏宸插畬鎴�")]
+    鍒濈洏宸插畬鎴� = 3,
+
+    /// <summary>
+    ///澶嶇洏寮�鍚�
+    /// </summary>
+    [Description("澶嶇洏寮�鍚�")]
+    澶嶇洏寮�鍚� = 4,
+
+    /// <summary>
+    /// 澶嶇洏涓�
+    /// </summary>
+    [Description("澶嶇洏涓�")]
+    澶嶇洏涓� = 5,
+
+    /// <summary>
+    /// 澶嶇洏宸插畬鎴�
+    /// </summary>
+    [Description("澶嶇洏宸插畬鎴�")]
+    澶嶇洏宸插畬鎴� = 6,
+
+    /// <summary>
+    /// 宸茶皟璐�
+    /// </summary>
+    [Description("宸茶皟璐�")]
+    宸茶皟璐� = 7,
+
+    /// <summary>
+    /// 宸插叧闂� 
+    /// </summary>
+    [Description("宸插叧闂�")]
+    宸插叧闂� = 8,
+
+
+    /// <summary>
+    /// 宸插彇娑�
+    /// </summary>
+    [Description("宸插彇娑�")]
+    宸插彇娑� = 99
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckStatusEnum.cs
new file mode 100644
index 0000000..d538d50
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsCheck/CheckStatusEnum.cs
@@ -0,0 +1,29 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鐩樼偣鐘舵��
+/// </summary>
+[Description("鐩樼偣鐘舵��")]
+public enum CheckStatusEnum
+{
+    /// <summary>
+    /// 鏈洏鐐�
+    /// </summary>
+    [Description("鏈洏鐐�")]
+    鏈洏鐐� = 0,
+
+    /// <summary>
+    /// 鐩樼偣涓�
+    /// </summary>
+    [Description("鐩樼偣涓�")]
+    鐩樼偣涓� = 1,
+
+    /// <summary>
+    /// 宸茬洏鐐�
+    /// </summary>
+    [Description("宸茬洏鐐�")]
+    宸茬洏鐐� = 2
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsConfig/PrintClassifyEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsConfig/PrintClassifyEnum.cs
new file mode 100644
index 0000000..ab99c06
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsConfig/PrintClassifyEnum.cs
@@ -0,0 +1,29 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鎵撳嵃鍒嗙被鏋氫妇
+/// </summary>
+[Description("鎵撳嵃鍒嗙被鏋氫妇")]
+public enum PrintClassifyEnum
+{
+    /// <summary>
+    /// 涓�缁磋窡韪爜
+    /// </summary>
+    [Description("涓�缁磋窡韪爜")]
+    涓�缁磋窡韪爜 = 1,
+
+    /// <summary>
+    /// 浜岀淮璺熻釜鐮�
+    /// </summary>
+    [Description("浜岀淮璺熻釜鐮�")]
+    浜岀淮璺熻釜鐮� = 2,
+
+    /// <summary>
+    /// 鐪嬫澘鍗�
+    /// </summary>
+    [Description("鐪嬫澘鍗�")]
+    鐪嬫澘鍗� = 3
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsConfig/StrategyOptionEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsConfig/StrategyOptionEnum.cs
new file mode 100644
index 0000000..8130e13
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsConfig/StrategyOptionEnum.cs
@@ -0,0 +1,35 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 绛栫暐閫夐」鏋氫妇
+/// </summary>
+[Description("绛栫暐閫夐」鏋氫妇")]
+public enum StrategyOptionEnum
+{
+    /// <summary>
+    /// 鍏堣繘鍏堝嚭(澶�)
+    /// </summary>
+    [Description("鍏堣繘鍏堝嚭(澶�)")]
+    鍏堣繘鍏堝嚭_澶� = 1,
+
+    ///// <summary>
+    ///// 鍏堣繘鍏堝嚭(灏忔椂)
+    ///// </summary>
+    //[Description("鍏堣繘鍏堝嚭(灏忔椂)")]
+    //鍏堣繘鍏堝嚭_灏忔椂 = 2,
+
+    /// <summary>
+    /// 鏁存嫋浼樺厛
+    /// </summary>
+    [Description("鏁存嫋浼樺厛")]
+    鏁存嫋浼樺厛 = 3,
+
+    /// <summary>
+    /// 闆舵暎浼樺厛
+    /// </summary>
+    [Description("闆舵暎浼樺厛")]
+    闆舵暎浼樺厛 = 4
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/AreaCodeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/AreaCodeEnum.cs
new file mode 100644
index 0000000..73264ad
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/AreaCodeEnum.cs
@@ -0,0 +1,44 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鍖哄煙缂栫爜鏋氫妇
+/// </summary>
+[Description("鍖哄煙缂栫爜鏋氫妇")]
+public enum AreaCodeEnum
+{
+    /// <summary>
+    /// 缂撳瓨鍒嗘嫞鍖� 
+    /// </summary>
+    [Description("缂撳瓨鍒嗘嫞鍖�")]
+    缂撳瓨鍒嗘嫞鍖� = 1,
+
+    /// <summary>
+    /// 鏈哄櫒浜哄矝缂撳瓨鍖哄煙
+    /// </summary>
+    [Description("鏈哄櫒浜哄矝缂撳瓨鍖哄煙")]
+    鏈哄櫒浜哄矝缂撳瓨鍖哄煙 = 2,
+
+    /// <summary>
+    /// 鐮佸灈鍖哄煙 
+    /// </summary>
+    [Description("鐮佸灈鍖哄煙")]
+
+    鐮佸灈鍖哄煙 = 3,
+
+    /// <summary>
+    /// 鍚堝寘瑁佸垏鍖� 
+    /// </summary>
+    [Description("鍚堝寘瑁佸垏鍖�")]
+
+    鍚堝寘瑁佸垏鍖� = 4,
+
+    /// <summary>
+    /// 鍖呰绾垮尯鍩� 
+    /// </summary>
+    [Description("鍖呰绾垮尯鍩�")]
+
+    鍖呰绾垮尯鍩� = 5
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/CreateCodeTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/CreateCodeTypeEnum.cs
new file mode 100644
index 0000000..52aff88
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/CreateCodeTypeEnum.cs
@@ -0,0 +1,23 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鏉$爜鐢熸垚绫诲瀷
+/// </summary>
+[Description("鏉$爜鐢熸垚绫诲瀷")]
+public enum CreateCodeTypeEnum
+{
+    /// <summary>
+    /// ASN鍗曚竴缁寸爜
+    /// </summary>
+    [Description("ASN鍗曚竴缁寸爜")]
+    ASN鍗曚竴缁寸爜 = 1,
+
+    /// <summary>
+    /// ASN鍗曚簩缁寸爜
+    /// </summary>
+    [Description("ASN鍗曚簩缁寸爜")]
+    ASN鍗曚簩缁寸爜 = 2,
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/DispenseStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/DispenseStatusEnum.cs
new file mode 100644
index 0000000..7683dd0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/DispenseStatusEnum.cs
@@ -0,0 +1,36 @@
+锘�
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Application;
+/// <summary>
+/// 鍒嗛厤鐘舵��
+/// </summary>
+[Description("鍒嗛厤鐘舵��")]
+public enum DispenseStatusEnum
+{
+
+    /// <summary>
+    /// 鏈垎閰�
+    /// </summary>
+    [Description("鏈垎閰�")]
+    鏈垎閰� = 1,
+
+    /// <summary>
+    /// 澶勭悊涓�
+    /// </summary>
+    [Description("宸插垎閰�")]
+    InExecution = 2,
+    /// <summary>
+    /// 宸插彇娑�
+    /// </summary>
+    [Description("宸插彇娑�")]
+    宸插彇娑� = 3,
+
+
+
+
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/FinancialTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/FinancialTypeEnum.cs
new file mode 100644
index 0000000..d64d2f1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/FinancialTypeEnum.cs
@@ -0,0 +1,19 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 璐㈠姟绫诲瀷
+/// </summary>
+[Description("璐㈠姟绫诲瀷")]
+public enum FinancialTypeEnum
+{
+    /// <summary>
+    /// 娴嬭瘯绫诲瀷 
+    /// </summary>
+    [Description("娴嬭瘯绫诲瀷")]
+    娴嬭瘯绫诲瀷 = 0,
+
+
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/OrderStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/OrderStatusEnum.cs
new file mode 100644
index 0000000..1e48fc8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/OrderStatusEnum.cs
@@ -0,0 +1,46 @@
+锘�
+using System.ComponentModel;
+namespace Admin.NET.Application
+{
+
+    /// <summary>
+    /// 鍗曟嵁鐘舵��
+    /// </summary>
+    [Description("鍗曟嵁鐘舵��")]
+    public enum OrderStatusEnum
+    {
+
+        /// <summary>
+        /// 鏂板缓
+        /// </summary>
+        [Description("鏂板缓")]
+        鏂板缓 = 0,
+
+        /// <summary>
+        /// 澶勭悊涓�
+        /// </summary>
+        [Description("澶勭悊涓�")]
+        澶勭悊涓� = 1,
+
+        /// <summary>
+        /// 宸插畬鎴�
+        /// </summary>
+        [Description("宸插畬鎴�")]
+        宸插畬鎴� = 2,
+
+        /// <summary>
+        /// 宸插彇娑�
+        /// </summary>
+        [Description("宸插彇娑�")]
+        宸插彇娑� = 3,
+
+        /// <summary>
+        /// 宸插叧闂� 
+        /// </summary>
+        [Description("宸插叧闂�")]
+        宸插叧闂� = 4
+
+
+
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/OrderTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/OrderTypeEnum.cs
new file mode 100644
index 0000000..e5e542f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/OrderTypeEnum.cs
@@ -0,0 +1,75 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鍗曟嵁绫诲瀷
+/// </summary>
+[Description("鍗曟嵁绫诲瀷")]
+public enum OrderTypeEnum
+{
+    /// <summary>
+    /// PO鍗� 
+    /// </summary>
+    [Description("PO鍗�")]
+    PO鍗� = 1,
+
+    /// <summary>
+    /// ASN鍗�
+    /// </summary>
+    [Description("ASN鍗�")]
+    ASN鍗� = 2,
+
+    /// <summary>
+    /// 鎶ユ鍗� 
+    /// </summary>
+    [Description("鎶ユ鍗�")]
+
+    鎶ユ鍗� = 3,
+
+    /// <summary>
+    /// 涓婃灦鍗� 
+    /// </summary>
+    [Description("涓婃灦鍗�")]
+
+    涓婃灦鍗� = 4,
+    /// <summary>
+    /// 涓嬫灦鍗� 
+    /// </summary>
+    [Description("涓嬫灦鍗�")]
+
+    涓嬫灦鍗� = 5,
+
+    /// <summary>
+    /// 绉诲簱鍗� 
+    /// </summary>
+    [Description("绉诲簱鍗�")]
+    绉诲簱鍗� = 6,
+
+    /// <summary>
+    /// DO鍗� 
+    /// </summary>
+    [Description("DO鍗�")]
+
+    DO鍗� = 7,
+
+
+    /// <summary>
+    /// 娉㈡鍗� 
+    /// </summary>
+    [Description("娉㈡鍗�")]
+
+    娉㈡鍗� = 8,
+
+    /// <summary>
+    /// 鐩樼偣鍗� 
+    /// </summary>
+    [Description("鐩樼偣鍗�")]
+    鐩樼偣鍗� = 9,
+
+
+
+
+
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/PDRecordStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/PDRecordStatusEnum.cs
new file mode 100644
index 0000000..0a04e78
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/PDRecordStatusEnum.cs
@@ -0,0 +1,42 @@
+锘�
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Application;
+/// <summary>
+/// 鍒嗛厤鐘舵��
+/// </summary>
+[Description("鍒嗛厤鐘舵��")]
+public enum PDRecordStatusEnum
+{
+
+    ///// <summary>
+    ///// 宸查閰�
+    ///// </summary>
+    //[Description("宸查閰�")]
+    //宸查閰� = 1,
+
+    /// <summary>
+    /// 宸插垎閰�
+    /// </summary>
+    [Description("宸插垎閰�")]
+    宸插垎閰� = 2,
+
+    ///// <summary>
+    ///// 宸蹭笅鍙�
+    ///// </summary>
+    //[Description("宸蹭笅鍙�")]
+    //宸蹭笅鍙� = 3,
+    /// <summary>
+    /// 宸插彇娑�
+    /// </summary>
+    [Description("宸插彇娑�")]
+    宸插彇娑� = 4,
+
+
+
+
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/PDRecordTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/PDRecordTypeEnum.cs
new file mode 100644
index 0000000..98408c2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/PDRecordTypeEnum.cs
@@ -0,0 +1,35 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Application;
+/// <summary>
+/// 棰勫垎閰嶈褰曠被鍨�  
+/// </summary>
+[Description("棰勫垎閰嶈褰曠被鍨�")]
+public enum PDRecordTypeEnum
+{
+
+    /// <summary>
+    /// 鍒嗛厤
+    /// </summary>
+    [Description("鍒嗛厤")]
+    鍒嗛厤 = 1,
+
+    /// <summary>
+    /// 棰勯厤
+    /// </summary>
+    [Description("棰勯厤")]
+    棰勯厤 =2 
+ 
+
+
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/UpiStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/UpiStatusEnum.cs
new file mode 100644
index 0000000..2c2701d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsOrder/UpiStatusEnum.cs
@@ -0,0 +1,35 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鏉挎枡鐘舵�佹灇涓�
+/// </summary>
+[Description("鏉挎枡鐘舵�佹灇涓�")]
+public enum UpiStatusEnum
+{
+    /// <summary>
+    /// 鍒濆
+    /// </summary>
+    [Description("鍒濆")]
+    鍒濆 = 0,
+
+    /// <summary>
+    /// 宸查綈鍖�
+    /// </summary>
+    [Description("宸查綈鍖�")]
+    宸查綈鍖� = 1,
+
+    /// <summary>
+    /// 宸茬爜鍨�
+    /// </summary>
+    [Description("宸茬爜鍨�")]
+    宸茬爜鍨� = 2,
+
+    /// <summary>
+    /// 宸插悎鍖�
+    /// </summary>
+    [Description("宸插悎鍖�")]
+    宸插悎鍖� = 3,
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsQC/QcStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsQC/QcStatusEnum.cs
new file mode 100644
index 0000000..49e7a90
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsQC/QcStatusEnum.cs
@@ -0,0 +1,33 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 璐ㄦ鐘舵��
+/// </summary>
+[Description("璐ㄦ鐘舵��")]
+public enum QcStatusEnum
+{
+    /// <summary>
+    /// 寰呮
+    /// </summary>
+    [Description("寰呮")]
+    寰呮 = 0,
+
+    /// <summary>
+    /// 鍚堟牸
+    /// </summary>
+    [Description("鍚堟牸")]
+    鍚堟牸 = 1,
+
+    /// <summary>
+    /// 鍏ㄩ儴涓嶅悎鏍�
+    /// </summary>
+    [Description("涓嶅悎鏍�")]
+    涓嶅悎鏍� = 2,
+
+    /// <summary>
+    /// 閮ㄥ垎涓嶅悎鏍�
+    /// </summary>
+    [Description("閮ㄥ垎鍚堟牸")]
+    閮ㄥ垎鍚堟牸 = 3,
+
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsStockQuan/UsableFlagEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsStockQuan/UsableFlagEnum.cs
new file mode 100644
index 0000000..8b7959b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsStockQuan/UsableFlagEnum.cs
@@ -0,0 +1,23 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鍙敤/涓嶅彲鐢ㄦ爣璁版灇涓�
+/// </summary>
+[Description("鍙敤/涓嶅彲鐢ㄦ爣璁版灇涓�")]
+public enum UsableFlagEnum
+{
+    /// <summary>
+    /// 涓嶅彲鐢�
+    /// </summary>
+    [Description("涓嶅彲鐢�")]
+    涓嶅彲鐢� = 0,
+
+    /// <summary>
+    /// 鍙敤
+    /// </summary>
+    [Description("鍙敤")]
+    鍙敤 = 1,
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsSystem/PdaMenuTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsSystem/PdaMenuTypeEnum.cs
new file mode 100644
index 0000000..7a0f52a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsSystem/PdaMenuTypeEnum.cs
@@ -0,0 +1,40 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// PDA鑿滃崟绫诲埆
+/// </summary>
+[Description("PDA鑿滃崟绫诲埆")]
+public enum PdaMenuTypeEnum
+{
+    /// <summary>
+    /// 甯哥敤
+    /// </summary>
+    [Description("甯哥敤")]
+    甯哥敤 = 0,
+    /// <summary>
+    /// 鏀惰揣
+    /// </summary>
+    [Description("鏀惰揣")]
+    鏀惰揣 = 1,
+
+    /// <summary>
+    /// 缁勭洏涓婃灦
+    /// </summary>
+    [Description("缁勭洏涓婃灦")]
+    缁勭洏涓婃灦 = 2,
+
+    /// <summary>
+    /// 杈呭姪鍔熻兘
+    /// </summary>
+    [Description("杈呭姪鍔熻兘")]
+    杈呭姪鍔熻兘 = 3,
+
+    /// <summary>
+    /// 鐩樼偣
+    /// </summary>
+    [Description("鐩樼偣")]
+    鐩樼偣 = 4,
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsTask/TaskStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsTask/TaskStatusEnum.cs
new file mode 100644
index 0000000..fdcc75b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/WmsTask/TaskStatusEnum.cs
@@ -0,0 +1,38 @@
+锘�
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 璋冨害浠诲姟鐘舵��
+/// </summary>
+[Description("璋冨害浠诲姟鐘舵��")]
+public enum TaskStatusEnum
+{
+    /// <summary>
+    /// 鏂板缓
+    /// </summary>
+    [Description("鏂板缓")]
+    鏂板缓 = 0,
+
+    /// <summary>
+    /// 宸蹭笅鍙�
+    /// </summary>
+    [Description("宸蹭笅鍙�")]
+    宸蹭笅鍙� = 1,
+
+    /// <summary>
+    /// 宸插畬鎴�
+    /// </summary>
+    [Description("宸插畬鎴�")]
+    宸插畬鎴� = 2,
+
+    /// <summary>
+    /// 宸插彇娑�
+    /// </summary>
+    [Description("宸插彇娑�")]
+    宸插彇娑� = 3,
+
+
+
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/GlobalUsings.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/GlobalUsings.cs
new file mode 100644
index 0000000..7dd6739
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/GlobalUsings.cs
@@ -0,0 +1,22 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+global using Admin.NET.Core;
+global using Furion;
+global using Furion.DependencyInjection;
+global using Furion.DynamicApiController;
+global using Furion.FriendlyException;
+global using Mapster;
+global using Microsoft.AspNetCore.Authorization;
+global using Microsoft.AspNetCore.Mvc;
+global using Microsoft.Extensions.DependencyInjection;
+global using SqlSugar;
+global using System;
+global using System.Collections.Generic;
+global using System.ComponentModel;
+global using System.ComponentModel.DataAnnotations;
+global using System.Threading.Tasks;
+global using System.Linq;
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Job/TestJob.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Job/TestJob.cs
new file mode 100644
index 0000000..2cc2977
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Job/TestJob.cs
@@ -0,0 +1,48 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Admin.NET.Application.Entity;
+using Furion.Logging.Extensions;
+using Furion.Schedule;
+using Microsoft.Extensions.Logging;
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 娴嬭瘯Job
+/// </summary>
+[JobDetail("job_test", Description = "娴嬭瘯Job", GroupName = "default", Concurrent = false)]
+[PeriodSeconds(1, TriggerId = "trigger_test", Description = "娴嬭瘯Job", MaxNumberOfRuns = 1, RunOnStart = true)]
+public class TestJob : IJob
+{
+    private readonly IServiceScopeFactory _scopeFactory;
+    private readonly ILogger _logger;
+
+    public TestJob(IServiceScopeFactory scopeFactory, ILoggerFactory loggerFactory)
+    {
+        _scopeFactory = scopeFactory;
+        _logger = loggerFactory.CreateLogger(CommonConst.SysLogCategoryName);
+    }
+
+    public async Task ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken)
+    {
+        using var serviceScope = _scopeFactory.CreateScope();
+
+        var rep = serviceScope.ServiceProvider.GetRequiredService<SqlSugarRepository<TestStudent>>();
+        await rep.CopyNew().AsDeleteable().ExecuteCommandAsync(stoppingToken);
+    
+
+        var originColor = Console.ForegroundColor;
+        Console.ForegroundColor = ConsoleColor.Red;
+        Console.WriteLine($"銆恵DateTime.Now}銆戞祴璇旿ob");
+        Console.ForegroundColor = originColor;
+
+      
+
+        // 鑷畾涔夋棩蹇�
+        _logger.LogInformation($"銆恵DateTime.Now}銆戞湇鍔″凡閲嶅惎...");
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/OpenApi/DemoOpenApi.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/OpenApi/DemoOpenApi.cs
new file mode 100644
index 0000000..22b91b3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/OpenApi/DemoOpenApi.cs
@@ -0,0 +1,28 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Application;
+
+///// <summary>
+///// 绀轰緥寮�鏀炬帴鍙�
+///// </summary>
+//[ApiDescriptionSettings("寮�鏀炬帴鍙�", Name = "Demo", Order = 100)]
+//[Authorize(AuthenticationSchemes = SignatureAuthenticationDefaults.AuthenticationScheme)]
+//public class DemoOpenApi : IDynamicApiController
+//{
+//    private readonly UserManager _userManager;
+
+//    public DemoOpenApi(UserManager userManager)
+//    {
+//        _userManager = userManager;
+//    }
+
+//    [HttpGet("helloWord")]
+//    public Task<string> HelloWord()
+//    {
+//        return Task.FromResult($"Hello word. {_userManager.Account}");
+//    }
+//}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/CodeExamples/CodeExamplesService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/CodeExamples/CodeExamplesService.cs
new file mode 100644
index 0000000..59ad1e7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/CodeExamples/CodeExamplesService.cs
@@ -0,0 +1,568 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using Furion.DatabaseAccessor;
+using Yitter.IdGenerator;
+
+namespace Admin.NET.Application.Service.CodeExamples;
+/// <summary>
+/// 浠g爜绀轰緥鏈嶅姟
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.CodeExamplesGroupName, Order = 100)]
+public class CodeExamplesService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<TestStudent> _rep;
+    private readonly SqlSugarRepository<TestTeacher> _repTeacher;
+    private readonly SqlSugarRepository<v_students> _rep_v_students;
+    private readonly IUnitOfWork _unitOfWork;
+    //private readonly SqlSugarUnitOfWork sugarUnitOfWork;
+    public CodeExamplesService(SqlSugarRepository<TestStudent> rep, IUnitOfWork unitOfWork, SqlSugarRepository<TestTeacher> repTeacher, SqlSugarRepository<v_students> rep_v_students)
+    {
+        _rep = rep;
+        _unitOfWork = unitOfWork;
+        _repTeacher = repTeacher;
+        _rep_v_students = rep_v_students;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ娴嬭瘯瀛︾敓瑙嗗浘
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "PageStudentView")]
+    [Description("CodeExamples/PageStudentView")]
+    public async Task<SqlSugarPagedList<VTestStudentOutput>> PageStudentView(TestStudentInput input)
+    {
+        var query = _rep_v_students.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.Name.Contains(input.SearchKey.Trim())
+                || u.AliName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AliName), u => u.AliName.Contains(input.AliName.Trim()))
+            .WhereIF(input.Age > 0, u => u.Age == input.Age)
+            .WhereIF(input.NianJi > 0, u => u.NianJi == input.NianJi)
+            .WhereIF(input.TeacherId > 0, u => u.TeacherId == input.TeacherId)
+            .WhereIF(input.RectorId > 0, u => u.RectorId == input.RectorId)
+            .WhereIF(input.IsInSchool.HasValue, u => u.IsInSchool == input.IsInSchool)
+            .WhereIF(input.IsWDR.HasValue, u => u.IsWDR == input.IsWDR)
+            .WhereIF(input.Gender.HasValue, u => u.Gender == input.Gender)
+            .WhereIF(input.OtherGender.HasValue, u => u.OtherGender == input.OtherGender)
+            .Select<VTestStudentOutput>();
+        if (input.BrithDateRange != null && input.BrithDateRange.Count > 0)
+        {
+            DateTime? start = input.BrithDateRange[0].Value.AddDays(-1);
+            query = query.WhereIF(start.HasValue, u => u.BrithDate > start);
+            if (input.BrithDateRange.Count > 1 && input.BrithDateRange[1].HasValue)
+            {
+                var end = input.BrithDateRange[1].Value.AddDays(1);
+                query = query.Where(u => u.BrithDate < end);
+            }
+        }
+        if (input.InSchoolDateRange != null && input.InSchoolDateRange.Count > 0)
+        {
+            DateTime? start = input.InSchoolDateRange[0].Value.AddDays(-1);
+            query = query.WhereIF(start.HasValue, u => u.InSchoolDate > start);
+            if (input.InSchoolDateRange.Count > 1 && input.InSchoolDateRange[1].HasValue)
+            {
+                var end = input.InSchoolDateRange[1].Value.AddDays(1);
+                query = query.Where(u => u.InSchoolDate < end);
+            }
+        }
+        return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+
+    /// <summary>
+    /// 鏁版嵁璺熻釜
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "GenZong")]
+    [Description("CodeExamples/GenZong")]
+    public async Task<TestStudent> GenZong()
+    {
+        //缁撹锛歴qlsugar娌℃湁ef璺熻釜鐨勬蹇点��
+        var list = await _rep.AsQueryable().ToListAsync();
+        if (list != null && list.Count > 0)
+        {
+            var first = list.First();
+            first.Name = "鎴戣鏀瑰彉鍊间簡";
+
+
+            var aaa = await _rep.GetFirstAsync(u => u.Id == first.Id);
+            //缁撴灉锛歛aa.Name杩樻槸鏁版嵁搴撶殑鍊硷紝涓嶆槸鏂版敼鐨勫�硷紝鍗� first鍜宎aa涓嶆槸涓�涓璞�
+            var zz = "";
+        }
+        return null;
+    }
+
+    /// <summary>
+    /// 姝e父---鏃犱簨鍔� 銆愭棤浜嬪姟鎺у埗锛屼笉鎺ㄨ崘銆�
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "NoTransDemo1")]
+    [Description("CodeExamples/NoTransDemo1")]
+    public async Task<long> NoTransDemo1()
+    {
+        await Commomn("", "姝e父---鏃犱簨鍔�");
+
+        return 1;
+    }
+
+
+    /// <summary>
+    /// 姝e父---鐗规�т簨鍔�    銆愭纭啓娉曘�戙�愭纭��
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "NormalTransDemo1")]
+    [Description("CodeExamples/NormalTransDemo1")]
+    [UnitOfWork]
+    public async Task<long> NormalTransDemo1()
+    {
+        await Commomn("", "姝e父---鐗规�т簨鍔�");
+
+        return 1;
+    }
+
+    /// <summary>
+    /// 姝e父---鎵嬪啓浜嬪姟    銆愭纭啓娉曘�戙�愭纭��
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "NormalTransDemo12")]
+    [Description("CodeExamples/NormalTransDemo12")]
+    public async Task<long> NormalTransDemo12()
+    {
+        var _trans = _rep.AsTenant();
+        try
+        {
+            await _trans.BeginTranAsync();
+
+            await Commomn("", "姝e父---鎵嬪啓浜嬪姟");
+
+            await _trans.CommitTranAsync();
+        }
+        catch
+        {
+            await _trans.RollbackTranAsync();
+            throw;
+        }
+
+        return 1;
+    }
+
+
+    /// <summary>
+    /// 姝e父---鎵嬪啓浜嬪姟,tran瀵硅薄涓嶄竴鏍�    銆愭纭啓娉曘�戙�愭纭��
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "NormalTransDemo122")]
+    [Description("CodeExamples/NormalTransDemo122")]
+    public async Task<long> NormalTransDemo122()
+    {
+        var _trans = _rep.AsTenant();
+        try
+        {
+            await _trans.BeginTranAsync();
+
+            await Commomn("", "姝e父---鎵嬪啓浜嬪姟");
+
+            await _repTeacher.AsTenant().CommitTranAsync();
+        }
+        catch
+        {
+            await _repTeacher.AsTenant().RollbackTranAsync();
+            throw;
+        }
+
+        return 1;
+    }
+
+
+    /// <summary>
+    /// 寮傚父---鏃犱簨鍔�-鏈繚瀛樺氨鎶涘紓甯�
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ExceptionTransDemo21")]
+    [Description("CodeExamples/ExceptionTransDemo21")]
+    public async Task<long> ExceptionTransDemo21()
+    {
+        await Commomn("鏈繚瀛樺氨鎶涘紓甯�", "寮傚父---鏃犱簨鍔�-鏈繚瀛樺氨鎶涘紓甯�");
+
+        return 1;
+    }
+    /// <summary>
+    /// 寮傚父---鏃犱簨鍔�-淇濆瓨绗竴涓氨鎶涘紓甯�
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ExceptionTransDemo22")]
+    [Description("CodeExamples/ExceptionTransDemo22")]
+    public async Task<long> ExceptionTransDemo22()
+    {
+        //鐜拌薄锛氳�佸笀琛ㄥ鍔犱簡鏁版嵁锛屽鐢熻〃娌″鍔犳暟鎹�
+        await Commomn("淇濆瓨绗竴涓氨鎶涘紓甯�", "寮傚父---鏃犱簨鍔�-淇濆瓨绗竴涓氨鎶涘紓甯�");
+
+        return 1;
+    }
+    /// <summary>
+    /// 寮傚父---鏃犱簨鍔�-淇濆瓨绗簩涓氨鎶涘紓甯�
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ExceptionTransDemo23")]
+    [Description("CodeExamples/ExceptionTransDemo23")]
+    public async Task<long> ExceptionTransDemo23()
+    {
+        //鐜拌薄锛氳�佸笀琛ㄥ拰瀛︾敓琛ㄩ兘澧炲姞浜嗘暟鎹�
+        await Commomn("淇濆瓨绗簩涓氨鎶涘紓甯�", "寮傚父---鏃犱簨鍔�-淇濆瓨绗簩涓氨鎶涘紓甯�");
+
+        return 1;
+    }
+
+
+    /// <summary>
+    /// 寮傚父---鐗规�т簨鍔�-鏈繚瀛樺氨鎶涘紓甯�   銆愭纭啓娉曘�戙�愭纭��
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ExceptionTransDemo1")]
+    [Description("CodeExamples/ExceptionTransDemo1")]
+    [UnitOfWork]
+    public async Task<long> ExceptionTransDemo1()
+    {
+        await Commomn("鏈繚瀛樺氨鎶涘紓甯�", "寮傚父---鐗规�т簨鍔�-鏈繚瀛樺氨鎶涘紓甯�");
+
+        return 1;
+    }
+    /// <summary>
+    /// 寮傚父---鐗规�т簨鍔�-淇濆瓨绗竴涓氨鎶涘紓甯�   銆愭纭啓娉曘�戙�愭纭��
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ExceptionTransDemo2")]
+    [Description("CodeExamples/ExceptionTransDemo2")]
+    [UnitOfWork]
+    public async Task<long> ExceptionTransDemo2()
+    {
+        await Commomn("淇濆瓨绗竴涓氨鎶涘紓甯�", "寮傚父---鐗规�т簨鍔�-淇濆瓨绗竴涓氨鎶涘紓甯�");
+
+        return 1;
+    }
+    /// <summary>
+    /// 寮傚父---鐗规�т簨鍔�-淇濆瓨绗簩涓氨鎶涘紓甯�   銆愭纭啓娉曘�戙�愭纭��
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ExceptionTransDemo3")]
+    [Description("CodeExamples/ExceptionTransDemo3")]
+    [UnitOfWork]
+    public async Task<long> ExceptionTransDemo3()
+    {
+        //Thread.Sleep(10 * 1000);
+
+        await Commomn("淇濆瓨绗簩涓氨鎶涘紓甯�", "寮傚父---鐗规�т簨鍔�-淇濆瓨绗簩涓氨鎶涘紓甯�");
+
+        return 1;
+    }
+
+    /// <summary>
+    /// 寮傚父---鎵嬪啓浜嬪姟-鏈繚瀛樺氨鎶涘紓甯�   銆愭病鏈夊奖鍝嶈〃銆戙�愭纭��
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ExceptionTransDemo11")]
+    [Description("CodeExamples/ExceptionTransDemo11")]
+    public async Task<long> ExceptionTransDemo11()
+    {
+        //鐜拌薄锛氭棤褰卞搷锛屾病鏈夊奖鍝嶈〃
+        _rep.AsSugarClient().AsTenant().BeginTran();
+        await Commomn("鏈繚瀛樺氨鎶涘紓甯�", "寮傚父---鎵嬪啓浜嬪姟-鏈繚瀛樺氨鎶涘紓甯�");
+        _rep.AsSugarClient().AsTenant().CommitTran();
+        return 1;
+    }
+
+
+
+    #region 寮傚父---鎵嬪啓浜嬪姟-淇濆瓨绗竴涓氨鎶涘紓甯�
+
+    /// <summary>
+    /// 寮傚父---鎵嬪啓浜嬪姟-淇濆瓨绗竴涓氨鎶涘紓甯�   銆愭病鍐橰ollbackTranAsync銆戙�愬紓甯搞��
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ExceptionTransDemo12")]
+    [Description("CodeExamples/ExceptionTransDemo12")]
+    public async Task<long> ExceptionTransDemo12()
+    {
+        //娌″啓RollbackTranAsync
+        //鐜拌薄锛氳�佸笀琛ㄤ細閿佽〃锛屽鐢熻〃涓嶄細閿�
+        await _rep.AsTenant().BeginTranAsync();
+        await Commomn("淇濆瓨绗竴涓氨鎶涘紓甯�", "寮傚父---鎵嬪啓浜嬪姟-淇濆瓨绗竴涓氨鎶涘紓甯�");
+        await _rep.AsTenant().CommitTranAsync();
+        return 1;
+    }
+
+    /// <summary>
+    /// 寮傚父---鎵嬪啓浜嬪姟-淇濆瓨绗竴涓氨鎶涘紓甯�   銆愭病鍐橞eginTranAsync銆戙�愬紓甯搞��
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ExceptionTransDemo1287")]
+    [Description("CodeExamples/ExceptionTransDemo1287")]
+    public async Task<long> ExceptionTransDemo1287()
+    {
+        // 娌″啓 BeginTranAsync
+        //鐜拌薄锛氳�佸笀琛ㄦ暟鎹啓杩涘幓浜嗭紝瀛︾敓琛ㄦ病鏈夊啓杩涘幓锛屾病鏈夐攣琛紝浜嬪姟娌℃湁鍥炴粴
+        try
+        {
+            await Commomn("淇濆瓨绗竴涓氨鎶涘紓甯�", "寮傚父---鎵嬪啓浜嬪姟-淇濆瓨绗竴涓氨鎶涘紓甯�");
+            await _rep.AsTenant().CommitTranAsync();
+            return 1;
+        }
+        catch
+        {
+            await _rep.AsTenant().RollbackTranAsync();
+            throw;
+        }
+        //*/
+    }
+
+    /// <summary>
+    /// 寮傚父---鎵嬪啓浜嬪姟-淇濆瓨绗竴涓氨鎶涘紓甯�   銆愭纭啓娉曘�戙�愭纭��
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ExceptionTransDemo999")]
+    [Description("CodeExamples/ExceptionTransDemo999")]
+    public async Task<long> ExceptionTransDemo999()
+    {
+
+        // 姝g‘鍐欐硶
+        //鐜拌薄锛氭甯告姤閿欙紝娌℃湁閿佽〃锛屼簨鍔″洖婊�
+        try
+        {
+            await _rep.AsTenant().BeginTranAsync();
+            await Commomn("淇濆瓨绗竴涓氨鎶涘紓甯�", "寮傚父---鎵嬪啓浜嬪姟-淇濆瓨绗竴涓氨鎶涘紓甯�");
+            await _rep.AsTenant().CommitTranAsync();
+            return 1;
+        }
+        catch
+        {
+            await _rep.AsTenant().RollbackTranAsync();
+            throw;
+        }
+        //*/
+    }
+
+    #endregion
+
+
+    #region 寮傚父---鎵嬪啓浜嬪姟-淇濆瓨绗簩涓氨鎶涘紓甯�
+
+    /// <summary>
+    /// 寮傚父---鎵嬪啓浜嬪姟-淇濆瓨绗簩涓氨鎶涘紓甯� 銆愭病鍐橰ollbackTran銆戙�愬紓甯搞��
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ExceptionTransDemo13")]
+    [Description("CodeExamples/ExceptionTransDemo13")]
+    public async Task<long> ExceptionTransDemo13()
+    {
+        //娌″啓RollbackTran
+        //鐜拌薄锛氳�佸笀琛ㄥ拰瀛︾敓琛ㄩ兘浼氶攣琛�
+        await _rep.AsTenant().BeginTranAsync();
+        await Commomn("淇濆瓨绗簩涓氨鎶涘紓甯�", "寮傚父---鎵嬪啓浜嬪姟-淇濆瓨绗簩涓氨鎶涘紓甯�");
+        await _rep.AsTenant().CommitTranAsync();
+        return 1;
+
+        //*/
+    }
+
+    /// <summary>
+    /// 寮傚父---鎵嬪啓浜嬪姟-淇濆瓨绗簩涓氨鎶涘紓甯�  銆愭病鍐橞eginTranAsync銆戙�愬紓甯搞��
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ExceptionTransDemo1213")]
+    [Description("CodeExamples/ExceptionTransDemo1213")]
+    public async Task<long> ExceptionTransDemo1213()
+    {
+        //娌″啓BeginTranAsync
+        //鐜拌薄锛氫袱涓〃鏁版嵁閮藉啓杩涘幓浜嗭紝娌℃湁閿佽〃锛屼簨鍔℃病鏈夊洖婊�
+        try
+        {
+            await Commomn("淇濆瓨绗簩涓氨鎶涘紓甯�", "寮傚父---鎵嬪啓浜嬪姟-淇濆瓨绗簩涓氨鎶涘紓甯�");
+            await _rep.AsTenant().CommitTranAsync();
+            return 1;
+        }
+        catch
+        {
+            await _rep.AsTenant().RollbackTranAsync();
+            throw;
+        }
+        //*/
+    }
+
+    /// <summary>
+    /// 寮傚父---鎵嬪啓浜嬪姟-淇濆瓨绗簩涓氨鎶涘紓甯�  銆愭纭啓娉曘�戙�愭纭��
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ExceptionTransDemo123")]
+    [Description("CodeExamples/ExceptionTransDemo123")]
+    public async Task<long> ExceptionTransDemo123()
+    {
+        //var bb = "111";
+        //Thread.Sleep(10*1000);
+        // 姝g‘鍐欐硶
+        //鐜拌薄锛氭甯告姤閿欙紝娌℃湁閿佽〃锛屼簨鍔℃甯稿洖婊�
+        try
+        {
+            await _rep.AsTenant().BeginTranAsync();
+            await Commomn("淇濆瓨绗簩涓氨鎶涘紓甯�", "寮傚父---鎵嬪啓浜嬪姟-淇濆瓨绗簩涓氨鎶涘紓甯�");
+            await _rep.AsTenant().CommitTranAsync();
+            return 1;
+        }
+        catch
+        {
+            await _rep.AsTenant().RollbackTranAsync();
+            throw;
+        }
+        //*/
+    }
+
+    #endregion
+
+
+
+    private async Task Commomn(string flagName, string remark)
+    {
+        var pre = remark + "_";
+        //鏂板鑰佸笀琛�
+        //鏂板瀛︾敓琛�
+        TestTeacher testTeacher = new TestTeacher()
+        {
+            AliName = pre + "鑰佸笀娴嬭瘯浜嬪姟-" + YitIdHelper.NextId().ToString(),
+            Name = pre + "鑰佸笀娴嬭瘯浜嬪姟-" + YitIdHelper.NextId().ToString(),
+        };
+        TestStudent testStudent = new TestStudent()
+        {
+            TeacherName = testTeacher.Name,
+            TeacherId = testTeacher.Id,
+            AliName = pre + "瀛︾敓娴嬭瘯浜嬪姟-" + YitIdHelper.NextId().ToString(),
+            Name = pre + "瀛︾敓娴嬭瘯浜嬪姟-" + YitIdHelper.NextId().ToString(),
+        };
+
+        if (flagName == "鏈繚瀛樺氨鎶涘紓甯�")
+        {
+            throw Oops.Oh(flagName);
+        }
+
+        await _repTeacher.InsertAsync(testTeacher);
+
+        if (flagName == "淇濆瓨绗竴涓氨鎶涘紓甯�")
+        {
+            throw Oops.Oh(flagName);
+        }
+
+        await _rep.InsertAsync(testStudent);
+
+        if (flagName == "淇濆瓨绗簩涓氨鎶涘紓甯�")
+        {
+            throw Oops.Oh(flagName);
+        }
+    }
+
+    /// <summary>
+    /// 鍒犻櫎娴嬭瘯瀛︾敓琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("CodeExamples/Delete")]
+    public async Task Delete(DeleteTestStudentInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊娴嬭瘯瀛︾敓琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("CodeExamples/Update")]
+    public async Task Update(UpdateTestStudentInput input)
+    {
+        var entity = input.Adapt<TestStudent>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity, true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇娴嬭瘯瀛︾敓琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("CodeExamples/Detail")]
+    public async Task<TestStudent> Detail([FromQuery] QueryByIdTestStudentInput input)
+    {
+        return await _rep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+    /// <summary>
+    /// 鑾峰彇娴嬭瘯瀛︾敓琛ㄥ垪琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("CodeExamples/List")]
+    public async Task<List<TestStudentOutput>> List([FromQuery] TestStudentInput input)
+    {
+        return await _rep.AsQueryable().Select<TestStudentOutput>().ToListAsync();
+    }
+
+
+
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 閲嶅鎬ч獙璇�
+    /// </summary>
+    /// <param name="input">楠岃瘉瀵硅薄</param>
+    /// <param name="isEdit">鏄惁鏄紪杈�</param>
+    /// <returns></returns>
+    private async Task CheckExist(TestStudent input, bool isEdit = false)
+    {
+
+
+
+        //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+
+        //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+    }
+    #endregion
+
+}
+
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/CodeExamples/Dto/VTestStudentOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/CodeExamples/Dto/VTestStudentOutput.cs
new file mode 100644
index 0000000..3792e87
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/CodeExamples/Dto/VTestStudentOutput.cs
@@ -0,0 +1,136 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 娴嬭瘯瀛︾敓琛ㄨ緭鍑哄弬鏁�
+/// </summary>
+public class VTestStudentOutput
+{
+    /// <summary>
+    /// 鑰佸笀鍒悕
+    /// </summary>
+    public string TeacherAliName { get; set; }
+
+
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long? Id { get; set; }
+    
+    /// <summary>
+    /// 鑰佸笀ID
+    /// </summary>
+    public long? TestTeacherId { get; set; }
+    
+    /// <summary>
+    /// 瀛︾敓濮撳悕
+    /// </summary>
+    public string Name { get; set; }
+    
+    /// <summary>
+    /// 鍒悕(鍙┖)
+    /// </summary>
+    public string AliName { get; set; }
+    
+    /// <summary>
+    /// 瀛︾敓骞撮緞
+    /// </summary>
+    public int Age { get; set; }
+    
+    /// <summary>
+    /// 骞寸邯(鍙┖)
+    /// </summary>
+    public int? NianJi { get; set; }
+    
+    /// <summary>
+    /// 鑰佸笀ID
+    /// </summary>
+    public long TeacherId { get; set; }
+    
+    /// <summary>
+    /// 鏍¢暱ID(鍙┖)
+    /// </summary>
+    public long? RectorId { get; set; }
+    
+    /// <summary>
+    /// 闆惰姳閽�
+    /// </summary>
+    public decimal HasMoney { get; set; }
+    
+    /// <summary>
+    /// 韬环(鍙┖)
+    /// </summary>
+    public decimal? ShenJia { get; set; }
+    
+    /// <summary>
+    /// 鏄惁鍦ㄦ牎
+    /// </summary>
+    public bool IsInSchool { get; set; }
+    
+    /// <summary>
+    /// 鏄惁澶栧湴浜�(鍙┖)
+    /// </summary>
+    public bool? IsWDR { get; set; }
+    
+    /// <summary>
+    /// 鎬у埆
+    /// </summary>
+    public Admin.NET.Core.GenderEnum Gender { get; set; }
+    
+    /// <summary>
+    /// 鍏朵粬鎬у埆(鍙┖)
+    /// </summary>
+    public Admin.NET.Core.GenderEnum? OtherGender { get; set; }
+    
+    /// <summary>
+    /// 鍑虹敓鏃ユ湡
+    /// </summary>
+    public DateTime BrithDate { get; set; }
+    
+    /// <summary>
+    /// 鍏ュ鏃ユ湡(鍙┖)
+    /// </summary>
+    public DateTime? InSchoolDate { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public string UpdateUserName { get; set; }
+    
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+    
+    /// <summary>
+    /// 鑰佸笀鍚嶅瓧
+    /// </summary>
+    public string TeacherName { get; set; }
+    
+    }
+ 
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsLogAction/Dto/WmsLogActionInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsLogAction/Dto/WmsLogActionInput.cs
new file mode 100644
index 0000000..593b266
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsLogAction/Dto/WmsLogActionInput.cs
@@ -0,0 +1,124 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+    /// <summary>
+    /// 鎿嶄綔灞ュ巻鍩虹杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsLogActionBaseInput
+    {
+        /// <summary>
+        /// 鎿嶄綔鍚嶇О
+        /// </summary>
+        public virtual string Title { get; set; }
+        
+        /// <summary>
+        /// 鎿嶄綔鏁版嵁ID
+        /// </summary>
+        public virtual long? DbId { get; set; }
+        
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        public virtual string Remark { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+        /// 淇敼鏃堕棿
+        /// </summary>
+        public virtual DateTime? UpdateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public virtual long? CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public virtual string CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜篒d
+        /// </summary>
+        public virtual long? UpdateUserId { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜�
+        /// </summary>
+        public virtual string UpdateUserName { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        public virtual bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鎿嶄綔灞ュ巻鍒嗛〉鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsLogActionInput : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+        /// <summary>
+        /// 鎿嶄綔鍚嶇О
+        /// </summary>
+        public string? Title { get; set; }
+        
+        /// <summary>
+        /// 鎿嶄綔鏁版嵁ID
+        /// </summary>
+        public long? DbId { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鎿嶄綔灞ュ巻澧炲姞杈撳叆鍙傛暟
+    /// </summary>
+    public class AddWmsLogActionInput : WmsLogActionBaseInput
+    {
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+        public override bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鎿嶄綔灞ュ巻鍒犻櫎杈撳叆鍙傛暟
+    /// </summary>
+    public class DeleteWmsLogActionInput : BaseIdInput
+    {
+    }
+
+    /// <summary>
+    /// 鎿嶄綔灞ュ巻鏇存柊杈撳叆鍙傛暟
+    /// </summary>
+    public class UpdateWmsLogActionInput : AddWmsLogActionInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+        public long Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鎿嶄綔灞ュ巻涓婚敭鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class QueryByIdWmsLogActionInput : DeleteWmsLogActionInput
+    {
+
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsLogAction/Dto/WmsLogActionOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsLogAction/Dto/WmsLogActionOutput.cs
new file mode 100644
index 0000000..5e7f5a3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsLogAction/Dto/WmsLogActionOutput.cs
@@ -0,0 +1,65 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 鎿嶄綔灞ュ巻杈撳嚭鍙傛暟
+/// </summary>
+public class WmsLogActionOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long? Id { get; set; }
+    
+    /// <summary>
+    /// 鎿嶄綔鍚嶇О
+    /// </summary>
+    public string Title { get; set; }
+    
+    /// <summary>
+    /// 鎿嶄綔鏁版嵁ID
+    /// </summary>
+    public long? DbId { get; set; }
+    
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    public string Remark { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public string UpdateUserName { get; set; }
+    
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+    
+    }
+ 
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsLogAction/WmsLogActionService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsLogAction/WmsLogActionService.cs
new file mode 100644
index 0000000..6f9f30e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsLogAction/WmsLogActionService.cs
@@ -0,0 +1,185 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+namespace Admin.NET.Application;
+/// <summary>
+/// 鎿嶄綔灞ュ巻鏈嶅姟
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.ReportCenterGroupName, Order = 100)]
+public class WmsLogActionService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<WmsLogAction> _rep;
+    public WmsLogActionService(SqlSugarRepository<WmsLogAction> rep)
+    {
+        _rep = rep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ鎿嶄綔灞ュ巻
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("WmsLogAction/Page")]
+    public async Task<SqlSugarPagedList<WmsLogActionOutput>> Page(WmsLogActionInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇㈡搷浣滃饱鍘�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("WmsLogAction/List")]
+    public async Task<List<WmsLogActionOutput>> List([FromQuery] WmsLogActionInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").Select<WmsLogActionOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞鎿嶄綔灞ュ巻
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("WmsLogAction/Add")]
+    public async Task<long> Add(AddWmsLogActionInput input)
+    {
+        var entity = input.Adapt<WmsLogAction>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎鎿嶄綔灞ュ巻
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("WmsLogAction/Delete")]
+    public async Task Delete(DeleteWmsLogActionInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊鎿嶄綔灞ュ巻
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("WmsLogAction/Update")]
+    public async Task Update(UpdateWmsLogActionInput input)
+    {
+        var entity = input.Adapt<WmsLogAction>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity,true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇鎿嶄綔灞ュ巻
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("WmsLogAction/Detail")]
+    public async Task<WmsLogAction> Detail([FromQuery] QueryByIdWmsLogActionInput input)
+    {
+        return await _rep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+
+
+
+
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ鎿嶄綔灞ュ巻鏉′欢
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<WmsLogActionOutput> CommonPageFilter(WmsLogActionInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.Title.Contains(input.SearchKey.Trim())
+                || u.Remarks.Contains(input.SearchKey.Trim())
+                || u.CreateUserName.Contains(input.SearchKey.Trim())
+                || u.UpdateUserName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Title), u => u.Title.Contains(input.Title.Trim()))
+            .WhereIF(input.DbId>0, u => u.DbId == input.DbId)
+            .Select<WmsLogActionOutput>();
+        return query;
+       }
+
+        /// <summary>
+        /// 閲嶅鎬ч獙璇�
+        /// </summary>
+        /// <param name="input">楠岃瘉瀵硅薄</param>
+        /// <param name="isEdit">鏄惁鏄紪杈�</param>
+        /// <returns></returns>
+        private async Task CheckExist( WmsLogAction input,bool isEdit=false)
+        {
+           
+
+
+            //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+           
+            //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+       }
+
+       /// <summary>
+        /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<WmsLogAction> inputs)
+        { 
+            if (inputs?.Count <= 0)
+            {
+                throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+            }
+            //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                      
+
+
+
+
+
+
+          
+           //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+           
+           
+           
+        }
+     #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordTrans/Dto/WmsRecordTransInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordTrans/Dto/WmsRecordTransInput.cs
new file mode 100644
index 0000000..2d3b96f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordTrans/Dto/WmsRecordTransInput.cs
@@ -0,0 +1,481 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+    /// <summary>
+    /// 浜嬪姟璁板綍鍩虹杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsRecordTransBaseInput
+    {
+        /// <summary>
+        /// 绉诲姩绫诲瀷
+        /// </summary>
+        public virtual MoveTypeEnum? MoveType { get; set; }
+        
+        /// <summary>
+        /// 绉诲姩绫诲瀷鍚嶇О
+        /// </summary>
+        public virtual string MoveTypeName { get; set; }
+        
+        /// <summary>
+        /// 鍗曟嵁绫诲瀷
+        /// </summary>
+        public virtual OrderTypeEnum? OrderType { get; set; }
+        
+        /// <summary>
+        /// 鍗曟嵁绫诲瀷鍚嶇О
+        /// </summary>
+        public virtual string OrderTypeName { get; set; }
+        
+        /// <summary>
+        /// 涓氬姟绫诲瀷
+        /// </summary>
+        public virtual BusinessTypeEnum? BusinessType { get; set; }
+        
+        /// <summary>
+        /// 涓氬姟绫诲瀷鍚嶇О
+        /// </summary>
+        public virtual string BusinessTypeName { get; set; }
+        
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        public virtual string Remarks { get; set; }
+        
+        /// <summary>
+        /// 鐗╂枡缂栧彿
+        /// </summary>
+        public virtual string MaterialCode { get; set; }
+        
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        public virtual string MaterialName { get; set; }
+        
+        /// <summary>
+        /// 鍗曚綅
+        /// </summary>
+        public virtual string Unit { get; set; }
+        
+        /// <summary>
+        /// 婧愬簱浣嶇紪鍙�
+        /// </summary>
+        public virtual string SourcePlaceCode { get; set; }
+        
+        /// <summary>
+        /// 婧愬簱浣嶅悕绉�
+        /// </summary>
+        public virtual string SourcePlaceName { get; set; }
+        
+        /// <summary>
+        /// 婧愬鍣ㄧ紪鍙�
+        /// </summary>
+        public virtual string SourceContainerCode { get; set; }
+        
+        /// <summary>
+        /// 婧愬鍣ㄥ悕绉�
+        /// </summary>
+        public virtual string SourceContainerName { get; set; }
+        
+        /// <summary>
+        /// 婧愬簱鍖虹紪鐮�
+        /// </summary>
+        public virtual string SourceAreaCode { get; set; }
+        
+        /// <summary>
+        /// 婧愬簱鍖哄悕绉�
+        /// </summary>
+        public virtual string SourceAreaName { get; set; }
+        
+        /// <summary>
+        /// 鐩爣搴撲綅缂栫爜
+        /// </summary>
+        public virtual string ToPlaceCode { get; set; }
+        
+        /// <summary>
+        /// 鐩爣搴撲綅鍚嶇О
+        /// </summary>
+        public virtual string ToPlaceName { get; set; }
+        
+        /// <summary>
+        /// 鐩爣搴撳尯缂栫爜
+        /// </summary>
+        public virtual string ToAreaCode { get; set; }
+        
+        /// <summary>
+        /// 鐩爣鍖哄悕绉�
+        /// </summary>
+        public virtual string ToAreaName { get; set; }
+        
+        /// <summary>
+        /// 渚涘簲鍟嗙紪鍙�
+        /// </summary>
+        public virtual string SupplierCode { get; set; }
+        
+        /// <summary>
+        /// 渚涘簲鍟嗗悕绉�
+        /// </summary>
+        public virtual string SupplierName { get; set; }
+        
+        /// <summary>
+        /// ERP鍗曞彿
+        /// </summary>
+        public virtual string ErpOrderNo { get; set; }
+        
+        /// <summary>
+        /// ERP搴撳瓨鍦�
+        /// </summary>
+        public virtual string ErpCode { get; set; }
+        
+        /// <summary>
+        /// 璺熻釜鐮�
+        /// </summary>
+        public virtual string SNCode { get; set; }
+        
+        /// <summary>
+        /// 渚涘簲鍟嗘壒娆�
+        /// </summary>
+        public virtual string SupplierBatch { get; set; }
+        
+        /// <summary>
+        /// 鎵规
+        /// </summary>
+        public virtual string Batch { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+        /// 淇敼鏃堕棿
+        /// </summary>
+        public virtual DateTime? UpdateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public virtual long? CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public virtual string CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜篒d
+        /// </summary>
+        public virtual long? UpdateUserId { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜�
+        /// </summary>
+        public virtual string UpdateUserName { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        public virtual bool IsDelete { get; set; }
+        
+        /// <summary>
+        /// ERP鍑瘉
+        /// </summary>
+        public virtual string ErpVoucher { get; set; }
+        
+        /// <summary>
+        /// 浜嬪姟绫诲瀷
+        /// </summary>
+        public virtual TransTypeEnum? TransType { get; set; }
+        
+        /// <summary>
+        /// 浜嬪姟绫诲瀷鍚嶇О
+        /// </summary>
+        public virtual string TransTypeName { get; set; }
+        
+        /// <summary>
+        /// 鍗曟嵁鍙�
+        /// </summary>
+        public virtual string OrderNo { get; set; }
+        
+        /// <summary>
+        /// 鍏宠仈鍗曞彿
+        /// </summary>
+        public virtual string RelationNo { get; set; }
+        
+        /// <summary>
+        /// 鍗曟嵁琛屽彿
+        /// </summary>
+        public virtual string OrderNoLineNumber { get; set; }
+        
+        /// <summary>
+        /// 鍏宠仈鍗曡鍙�
+        /// </summary>
+        public virtual string RelationNoLineNumber { get; set; }
+        
+        /// <summary>
+        /// 婧愭暟閲�
+        /// </summary>
+        public virtual decimal? SourceQuantity { get; set; }
+        
+        /// <summary>
+        /// 婧愯窡韪爜
+        /// </summary>
+        public virtual string SourceSNCode { get; set; }
+        
+        /// <summary>
+        /// 鐩爣鏁伴噺
+        /// </summary>
+        public virtual decimal? ToQuantity { get; set; }
+        
+        /// <summary>
+        /// 鐩爣瀹瑰櫒缂栧彿
+        /// </summary>
+        public virtual string ToContainerCode { get; set; }
+        
+        /// <summary>
+        /// 鐩爣瀹瑰櫒鍚嶇О
+        /// </summary>
+        public virtual string ToContainerName { get; set; }
+        
+        /// <summary>
+        /// 鍙樻洿鏁伴噺
+        /// </summary>
+        public virtual decimal? ChangeQuantity { get; set; }
+        
+        /// <summary>
+        /// 瀹㈡埛缂栧彿
+        /// </summary>
+        public virtual string CustCode { get; set; }
+        
+        /// <summary>
+        /// 瀹㈡埛涓枃鍚嶇О
+        /// </summary>
+        public virtual string CustChinaName { get; set; }
+        
+        /// <summary>
+        /// 瀹㈡埛鑻辨枃鍚嶇О
+        /// </summary>
+        public virtual string CustEnglishName { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 浜嬪姟璁板綍鍒嗛〉鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsRecordTransInput : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+        /// <summary>
+        /// 绉诲姩绫诲瀷
+        /// </summary>
+        public MoveTypeEnum? MoveType { get; set; }
+        
+        /// <summary>
+        /// 鍗曟嵁绫诲瀷
+        /// </summary>
+        public OrderTypeEnum? OrderType { get; set; }
+        
+        /// <summary>
+        /// 涓氬姟绫诲瀷
+        /// </summary>
+        public int? BusinessType { get; set; }
+        
+        /// <summary>
+        /// 鐗╂枡缂栧彿
+        /// </summary>
+        public string? MaterialCode { get; set; }
+        
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        public string? MaterialName { get; set; }
+        
+        /// <summary>
+        /// 鍗曚綅
+        /// </summary>
+        public string? Unit { get; set; }
+        
+        /// <summary>
+        /// 婧愬簱浣嶇紪鍙�
+        /// </summary>
+        public string? SourcePlaceCode { get; set; }
+        
+        /// <summary>
+        /// 婧愬簱浣嶅悕绉�
+        /// </summary>
+        public string? SourcePlaceName { get; set; }
+        
+        /// <summary>
+        /// 婧愬鍣ㄧ紪鍙�
+        /// </summary>
+        public string? SourceContainerCode { get; set; }
+        
+        /// <summary>
+        /// 婧愬鍣ㄥ悕绉�
+        /// </summary>
+        public string? SourceContainerName { get; set; }
+        
+        /// <summary>
+        /// 婧愬簱鍖虹紪鐮�
+        /// </summary>
+        public string? SourceAreaCode { get; set; }
+        
+        /// <summary>
+        /// 婧愬簱鍖哄悕绉�
+        /// </summary>
+        public string? SourceAreaName { get; set; }
+        
+        /// <summary>
+        /// 鐩爣搴撲綅缂栫爜
+        /// </summary>
+        public string? ToPlaceCode { get; set; }
+        
+        /// <summary>
+        /// 鐩爣搴撲綅鍚嶇О
+        /// </summary>
+        public string? ToPlaceName { get; set; }
+        
+        /// <summary>
+        /// 鐩爣搴撳尯缂栫爜
+        /// </summary>
+        public string? ToAreaCode { get; set; }
+        
+        /// <summary>
+        /// 鐩爣鍖哄悕绉�
+        /// </summary>
+        public string? ToAreaName { get; set; }
+
+
+    /// <summary>
+    /// 鐩爣瀹瑰櫒缂栧彿
+    /// </summary>
+    public string? ToContainerCode { get; set; }
+
+    /// <summary>
+    /// 鐩爣瀹瑰櫒鍚嶇О
+    /// </summary>
+    public string? ToContainerName { get; set; }
+
+    /// <summary>
+    /// 渚涘簲鍟嗙紪鍙�
+    /// </summary>
+    public string? SupplierCode { get; set; }
+
+
+
+    /// <summary>
+    /// 婧愯窡韪爜
+    /// </summary>
+    public string? SourceSNCode { get; set; }
+    /// <summary>
+    /// 鐩爣璺熻釜鐮�
+    /// </summary>
+    public string? ToSNCode { get; set; }
+
+    /// <summary>
+    /// 渚涘簲鍟嗗悕绉�
+    /// </summary>
+    public string? SupplierName { get; set; }
+        
+        /// <summary>
+        /// ERP鍗曞彿
+        /// </summary>
+        public string? ErpOrderNo { get; set; }
+        
+        /// <summary>
+        /// ERP搴撳瓨鍦�
+        /// </summary>
+        public string? ErpCode { get; set; }
+
+
+        
+        /// <summary>
+        /// 渚涘簲鍟嗘壒娆�
+        /// </summary>
+        public string? SupplierBatch { get; set; }
+        
+        /// <summary>
+        /// 鎵规
+        /// </summary>
+        public string? Batch { get; set; }
+        
+        /// <summary>
+        /// ERP鍑瘉
+        /// </summary>
+        public string? ErpVoucher { get; set; }
+        
+        /// <summary>
+        /// 浜嬪姟绫诲瀷
+        /// </summary>
+        public TransTypeEnum? TransType { get; set; }
+        
+        /// <summary>
+        /// 鍗曟嵁鍙�
+        /// </summary>
+        public string? OrderNo { get; set; }
+        
+        /// <summary>
+        /// 鍏宠仈鍗曞彿
+        /// </summary>
+        public string? RelationNo { get; set; }
+
+        
+        /// <summary>
+        /// 瀹㈡埛缂栧彿
+        /// </summary>
+        public string? CustCode { get; set; }
+
+
+
+    /// <summary>
+    /// 鍒涘缓鏃堕棿鑼冨洿
+    /// </summary>
+    public List<DateTime?> CreateTimeRange { get; set; }
+
+}
+
+    /// <summary>
+    /// 浜嬪姟璁板綍澧炲姞杈撳叆鍙傛暟
+    /// </summary>
+    public class AddWmsRecordTransInput : WmsRecordTransBaseInput
+    {
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+        public override bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 浜嬪姟璁板綍鍒犻櫎杈撳叆鍙傛暟
+    /// </summary>
+    public class DeleteWmsRecordTransInput : BaseIdInput
+    {
+    }
+
+    /// <summary>
+    /// 浜嬪姟璁板綍鏇存柊杈撳叆鍙傛暟
+    /// </summary>
+    public class UpdateWmsRecordTransInput : AddWmsRecordTransInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+        public long Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 浜嬪姟璁板綍涓婚敭鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class QueryByIdWmsRecordTransInput : DeleteWmsRecordTransInput
+    {
+
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordTrans/Dto/WmsRecordTransOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordTrans/Dto/WmsRecordTransOutput.cs
new file mode 100644
index 0000000..488a541
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordTrans/Dto/WmsRecordTransOutput.cs
@@ -0,0 +1,421 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 浜嬪姟璁板綍杈撳嚭鍙傛暟
+/// </summary>
+public class WmsRecordTransOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long Id { get; set; }
+
+    /// <summary>
+    /// 绉诲姩绫诲瀷
+    /// </summary>
+    public MoveTypeEnum MoveType { get; set; }
+
+
+    /// <summary>
+    /// 绉诲姩绫诲瀷鍚嶇О
+    /// </summary>
+
+    public string MoveTypeName { get; set; }
+
+
+    /// <summary>
+    /// 涓氬姟绫诲瀷
+    /// </summary>
+
+    public int? BusinessType { get; set; }
+
+
+    /// <summary>
+    /// 涓氬姟绫诲瀷鍚嶇О
+    /// </summary>
+
+    public string? BusinessTypeName { get; set; }
+
+
+    /// <summary>
+    /// 鍏宠仈鍗曟嵁绫诲瀷
+    /// </summary>
+
+    public OrderTypeEnum? RelationOrderType { get; set; }
+
+
+    /// <summary>
+    /// 鍏宠仈鍗曟嵁绫诲瀷鍚嶇О
+    /// </summary>
+
+    public string? RelationOrderTypeName { get; set; }
+
+
+    /// <summary>
+    /// 鍏宠仈鍗曞彿
+    /// </summary>
+
+    public string? RelationNo { get; set; }
+
+
+    /// <summary>
+    /// 鍏宠仈鍗曡鍙�
+    /// </summary>
+
+    public string? RelationNoLineNumber { get; set; }
+
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+
+    public string? Remarks { get; set; }
+
+
+    /// <summary>
+    /// 鐗╂枡缂栧彿
+    /// </summary>
+
+    public string? MaterialCode { get; set; }
+
+
+    /// <summary>
+    /// 鐗╂枡鍚嶇О
+    /// </summary>
+
+    public string? MaterialName { get; set; }
+
+
+    /// <summary>
+    /// 搴撳瓨鍗曚綅
+    /// </summary>
+
+    public string? MaterialUnit { get; set; }
+
+
+
+
+    /// <summary>
+    /// 婧愬簱瀛樼姸鎬�
+    /// </summary>
+
+    public StockStatusEnum? SourceStockStatus { get; set; }
+
+
+    /// <summary>
+    /// 婧愬簱瀛樼姸鎬佸悕绉�
+    /// </summary>
+
+    public string? SourceStockStatusName { get; set; }
+
+
+    /// <summary>
+    /// 鐩爣搴撳瓨鐘舵��
+    /// </summary>
+
+    public StockStatusEnum? ToStockStatus { get; set; }
+
+
+    /// <summary>
+    /// 鐩爣搴撳瓨鐘舵�佸悕绉�
+    /// </summary>
+
+    public string? ToStockStatusName { get; set; }
+
+
+    /// <summary>
+    /// 婧愯川閲忕姸鎬�
+    /// </summary>
+
+    public StockQcStatusEnum? SourceQCStatus { get; set; }
+
+
+    /// <summary>
+    /// 婧愯川閲忕姸鎬佸悕绉�
+    /// </summary>
+
+    public string? SourceQCStatusName { get; set; }
+
+
+    /// <summary>
+    /// 鐩爣璐ㄩ噺鐘舵��
+    /// </summary>
+
+    public StockQcStatusEnum? ToQCStatus { get; set; }
+
+
+    /// <summary>
+    /// 鐩爣璐ㄩ噺鐘舵�佸悕绉�
+    /// </summary>
+
+    public string? ToQCStatusName { get; set; }
+
+
+    /// <summary>
+    /// 婧愭暟閲�
+    /// </summary>
+
+    public decimal? SourceQuantity { get; set; }
+
+
+    /// <summary>
+    /// 鐩爣鏁伴噺
+    /// </summary>
+
+    public decimal? ToQuantity { get; set; }
+
+
+    /// <summary>
+    /// 婧愯窡韪爜
+    /// </summary>
+
+    public string? SourceSNCode { get; set; }
+
+
+    /// <summary>
+    /// 鐩爣璺熻釜鐮�
+    /// </summary>
+
+    public string? ToSNCode { get; set; }
+
+
+    /// <summary>
+    /// 婧愬簱鍖虹紪鐮�
+    /// </summary>
+
+    public string? SourceAreaCode { get; set; }
+
+
+    /// <summary>
+    /// 婧愬簱鍖哄悕绉�
+    /// </summary>
+
+    public string? SourceAreaName { get; set; }
+
+
+    /// <summary>
+    /// 鐩爣搴撳尯缂栫爜
+    /// </summary>
+
+    public string? ToAreaCode { get; set; }
+
+
+    /// <summary>
+    /// 鐩爣鍖哄悕绉�
+    /// </summary>
+
+    public string? ToAreaName { get; set; }
+
+
+    /// <summary>
+    /// 婧愬簱浣嶇紪鍙�
+    /// </summary>
+
+    public string? SourcePlaceCode { get; set; }
+
+
+    /// <summary>
+    /// 婧愬簱浣嶅悕绉�
+    /// </summary>
+
+    public string? SourcePlaceName { get; set; }
+
+
+    /// <summary>
+    /// 鐩爣搴撲綅缂栫爜
+    /// </summary>
+
+    public string? ToPlaceCode { get; set; }
+
+
+    /// <summary>
+    /// 鐩爣搴撲綅鍚嶇О
+    /// </summary>
+
+    public string? ToPlaceName { get; set; }
+
+
+    /// <summary>
+    /// 婧愬鍣ㄧ紪鍙�
+    /// </summary>
+
+    public string? SourceContainerCode { get; set; }
+
+
+    /// <summary>
+    /// 婧愬鍣ㄥ悕绉�
+    /// </summary>
+
+    public string? SourceContainerName { get; set; }
+
+
+    /// <summary>
+    /// 鐩爣瀹瑰櫒缂栧彿
+    /// </summary>
+
+    public string? ToContainerCode { get; set; }
+
+
+    /// <summary>
+    /// 鐩爣瀹瑰櫒鍚嶇О
+    /// </summary>
+
+    public string? ToContainerName { get; set; }
+
+
+
+
+    /// <summary>
+    /// 婧愰攣瀹氱姸鎬�
+    /// </summary>
+
+    public LockStatusEnum? SourceLockStatus { get; set; }
+
+
+    /// <summary>
+    /// 鐩爣閿佸畾鐘舵��
+    /// </summary>
+
+    public LockStatusEnum? ToLockStatus { get; set; }
+
+    /// <summary>
+    /// 閿佸畾鍘熷洜
+    /// </summary>
+    [SugarColumn(ColumnName = "LockReason", ColumnDescription = "閿佸畾鍘熷洜", Length = 255)]
+
+    public string? LockReason { get; set; }
+
+
+    /// <summary>
+    /// 閿佸畾浜�
+    /// </summary>
+    [SugarColumn(ColumnName = "LockUser", ColumnDescription = "閿佸畾浜�", Length = 50)]
+
+    public string? LockUser { get; set; }
+
+
+    /// <summary>
+    /// 閿佸畾鏃堕棿
+    /// </summary>
+
+    [SugarColumn(ColumnName = "LockTime", ColumnDescription = "閿佸畾鏃堕棿")]
+    public DateTime? LockTime { get; set; }
+
+
+
+    /// <summary>
+    /// 鎿嶄綔鍘熷洜
+    /// </summary>
+
+    public string? OperReason { get; set; }
+
+
+    /// <summary>
+    /// 鎿嶄綔浜�
+    /// </summary>
+
+    public string? OperUser { get; set; }
+
+
+    /// <summary>
+    /// 鎿嶄綔鏃堕棿
+    /// </summary>
+
+    public DateTime? OperTime { get; set; }
+
+
+    /// <summary>
+    /// 鍙樻洿鏁伴噺
+    /// </summary>
+    public decimal? ChangeQuantity { get; set; }
+
+
+    /// <summary>
+    /// ERP鍗曞彿
+    /// </summary>
+
+    public string? ErpOrderNo { get; set; }
+
+
+    /// <summary>
+    /// ERP搴撳瓨鍦�
+    /// </summary>
+
+    public string? ErpCode { get; set; }
+
+
+    /// <summary>
+    /// ERP鍑瘉
+    /// </summary>
+
+    public string? ErpVoucher { get; set; }
+
+
+    /// <summary>
+    /// 渚涘簲鍟嗘壒娆�
+    /// </summary>
+
+    public string? SupplierBatch { get; set; }
+
+
+    /// <summary>
+    /// 鎵规
+    /// </summary>
+
+    public string? Batch { get; set; }
+
+
+    /// <summary>
+    /// 渚涘簲鍟嗙紪鍙�
+    /// </summary>
+
+    public string? SupplierCode { get; set; }
+
+
+    /// <summary>
+    /// 渚涘簲鍟嗗悕绉�
+    /// </summary>
+
+    public string? SupplierName { get; set; }
+
+
+
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public string UpdateUserName { get; set; }
+
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+
+
+}
+
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordTrans/WmsRecordTransService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordTrans/WmsRecordTransService.cs
new file mode 100644
index 0000000..b06336d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordTrans/WmsRecordTransService.cs
@@ -0,0 +1,248 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+namespace Admin.NET.Application;
+/// <summary>
+/// 浜嬪姟璁板綍鏈嶅姟
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.ReportCenterGroupName, Order = 100)]
+public class WmsRecordTransService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<WmsRecordTrans> _rep;
+    public WmsRecordTransService(SqlSugarRepository<WmsRecordTrans> rep)
+    {
+        _rep = rep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ浜嬪姟璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("WmsRecordTrans/Page")]
+    public async Task<SqlSugarPagedList<WmsRecordTransOutput>> Page(WmsRecordTransInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇簨鍔¤褰�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("WmsRecordTrans/List")]
+    public async Task<List<WmsRecordTransOutput>> List([FromQuery] WmsRecordTransInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").Select<WmsRecordTransOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞浜嬪姟璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("WmsRecordTrans/Add")]
+    public async Task<long> Add(AddWmsRecordTransInput input)
+    {
+        var entity = input.Adapt<WmsRecordTrans>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎浜嬪姟璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("WmsRecordTrans/Delete")]
+    public async Task Delete(DeleteWmsRecordTransInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊浜嬪姟璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("WmsRecordTrans/Update")]
+    public async Task Update(UpdateWmsRecordTransInput input)
+    {
+        var entity = input.Adapt<WmsRecordTrans>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity,true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇浜嬪姟璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("WmsRecordTrans/Detail")]
+    public async Task<WmsRecordTrans> Detail([FromQuery] QueryByIdWmsRecordTransInput input)
+    {
+        return await _rep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+
+
+
+
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ浜嬪姟璁板綍鏉′欢
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<WmsRecordTransOutput> CommonPageFilter(WmsRecordTransInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.Remarks.Contains(input.SearchKey.Trim())
+                || u.MaterialCode.Contains(input.SearchKey.Trim())
+                || u.MaterialName.Contains(input.SearchKey.Trim())
+                || u.SourcePlaceCode.Contains(input.SearchKey.Trim())
+                || u.SourcePlaceName.Contains(input.SearchKey.Trim())
+                || u.SourceContainerCode.Contains(input.SearchKey.Trim())
+                || u.SourceContainerName.Contains(input.SearchKey.Trim())
+                || u.SourceAreaCode.Contains(input.SearchKey.Trim())
+                || u.SourceAreaName.Contains(input.SearchKey.Trim())
+                || u.ToPlaceCode.Contains(input.SearchKey.Trim())
+                || u.ToPlaceName.Contains(input.SearchKey.Trim())
+                || u.ToAreaCode.Contains(input.SearchKey.Trim())
+                || u.ToAreaName.Contains(input.SearchKey.Trim())
+                || u.SupplierCode.Contains(input.SearchKey.Trim())
+                || u.SupplierName.Contains(input.SearchKey.Trim())
+                || u.ErpOrderNo.Contains(input.SearchKey.Trim())
+                || u.ErpCode.Contains(input.SearchKey.Trim())
+                || u.ToSNCode.Contains(input.SearchKey.Trim())
+                || u.SupplierBatch.Contains(input.SearchKey.Trim())
+                || u.Batch.Contains(input.SearchKey.Trim())
+                || u.CreateUserName.Contains(input.SearchKey.Trim())
+                || u.UpdateUserName.Contains(input.SearchKey.Trim())
+                || u.ErpVoucher.Contains(input.SearchKey.Trim())
+                || u.RelationNo.Contains(input.SearchKey.Trim())
+                || u.RelationNoLineNumber.Contains(input.SearchKey.Trim())
+                || u.SourceSNCode.Contains(input.SearchKey.Trim())
+                || u.ToContainerCode.Contains(input.SearchKey.Trim())
+                || u.ToContainerName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(input.MoveType.HasValue, u => u.MoveType == input.MoveType)
+            .WhereIF(input.OrderType.HasValue, u => u.RelationOrderType == input.OrderType)
+            .WhereIF(input.BusinessType.HasValue, u => u.BusinessType == input.BusinessType)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.MaterialCode), u => u.MaterialCode.Contains(input.MaterialCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.MaterialName), u => u.MaterialName.Contains(input.MaterialName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SourcePlaceCode), u => u.SourcePlaceCode.Contains(input.SourcePlaceCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SourcePlaceName), u => u.SourcePlaceName.Contains(input.SourcePlaceName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SourceContainerCode), u => u.SourceContainerCode.Contains(input.SourceContainerCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SourceContainerName), u => u.SourceContainerName.Contains(input.SourceContainerName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SourceAreaCode), u => u.SourceAreaCode.Contains(input.SourceAreaCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SourceAreaName), u => u.SourceAreaName.Contains(input.SourceAreaName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.ToPlaceCode), u => u.ToPlaceCode.Contains(input.ToPlaceCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.ToPlaceName), u => u.ToPlaceName.Contains(input.ToPlaceName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.ToAreaCode), u => u.ToAreaCode.Contains(input.ToAreaCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.ToAreaName), u => u.ToAreaName.Contains(input.ToAreaName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.ToContainerCode), u => u.ToContainerCode.Contains(input.ToContainerCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.ToContainerName), u => u.ToContainerName.Contains(input.ToContainerName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SourceSNCode), u => u.SourceSNCode.Contains(input.SourceSNCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.ToSNCode), u => u.ToSNCode.Contains(input.ToSNCode.Trim()))
+
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SupplierCode), u => u.SupplierCode.Contains(input.SupplierCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SupplierName), u => u.SupplierName.Contains(input.SupplierName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.ErpOrderNo), u => u.ErpOrderNo.Contains(input.ErpOrderNo.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.ErpCode), u => u.ErpCode.Contains(input.ErpCode.Trim()))
+
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SupplierBatch), u => u.SupplierBatch.Contains(input.SupplierBatch.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Batch), u => u.Batch.Contains(input.Batch.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.ErpVoucher), u => u.ErpVoucher.Contains(input.ErpVoucher.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.RelationNo), u => u.RelationNo.Contains(input.RelationNo.Trim()));
+
+
+             if (input.CreateTimeRange != null && input.CreateTimeRange.Count > 0)
+        {
+            DateTime? start = input.CreateTimeRange[0].Value;
+            query = query.WhereIF(start.HasValue, u => u.CreateTime >= start);
+            if (input.CreateTimeRange.Count > 1 && input.CreateTimeRange[1].HasValue)
+            {
+                var end = input.CreateTimeRange[1].Value;
+                query = query.Where(u => u.CreateTime <= end);
+            }
+        }
+
+        return query.Select<WmsRecordTransOutput>();
+       }
+
+        /// <summary>
+        /// 閲嶅鎬ч獙璇�
+        /// </summary>
+        /// <param name="input">楠岃瘉瀵硅薄</param>
+        /// <param name="isEdit">鏄惁鏄紪杈�</param>
+        /// <returns></returns>
+        private async Task CheckExist( WmsRecordTrans input,bool isEdit=false)
+        {
+           
+
+
+            //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+           
+            //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+       }
+
+       /// <summary>
+        /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<WmsRecordTrans> inputs)
+        { 
+            if (inputs?.Count <= 0)
+            {
+                throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+            }
+            //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                      
+
+
+
+
+
+
+          
+           //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+           
+           
+           
+        }
+     #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsTask/Dto/WmsTaskInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsTask/Dto/WmsTaskInput.cs
new file mode 100644
index 0000000..10b3014
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsTask/Dto/WmsTaskInput.cs
@@ -0,0 +1,333 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+    /// <summary>
+    /// 璋冨害浠诲姟鍩虹杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsTaskBaseInput
+    {
+        /// <summary>
+        /// 浠诲姟鍙�
+        /// </summary>
+        public virtual string TaskNo { get; set; }
+        
+        /// <summary>
+        /// 浠诲姟鍚嶇О
+        /// </summary>
+        public virtual string TaskName { get; set; }
+        
+        /// <summary>
+        /// 绉诲姩绫诲瀷
+        /// </summary>
+        public virtual Admin.NET.Application.MoveTypeEnum? MoveType { get; set; }
+        
+        /// <summary>
+        /// 绉诲姩绫诲瀷鍚嶇О
+        /// </summary>
+        public virtual string MoveTypeName { get; set; }
+        
+        /// <summary>
+        /// 涓氬姟绫诲瀷
+        /// </summary>
+        public virtual Admin.NET.Application.BusinessTypeEnum? BusinessType { get; set; }
+        
+        /// <summary>
+        /// 涓氬姟绫诲瀷鍚嶇О
+        /// </summary>
+        public virtual string BusinessTypeName { get; set; }
+        
+        /// <summary>
+        /// 浠诲姟鐘舵��
+        /// </summary>
+        public virtual Admin.NET.Application.TaskStatusEnum? TaskStatus { get; set; }
+        
+        /// <summary>
+        /// 浼樺厛绾�
+        /// </summary>
+        public virtual int? TaskPriority { get; set; }
+        
+        /// <summary>
+        /// 浠诲姟鎻忚堪
+        /// </summary>
+        public virtual string TaskDescribe { get; set; }
+        
+        /// <summary>
+        /// 浠诲姟娑堟伅
+        /// </summary>
+        public virtual string TaskMsg { get; set; }
+        
+        /// <summary>
+        /// 鍗曟嵁鍙�
+        /// </summary>
+        public virtual string OrderNo { get; set; }
+        
+        /// <summary>
+        /// 鍏宠仈鍗曞彿
+        /// </summary>
+        public virtual string RelationNo { get; set; }
+        
+        /// <summary>
+        /// 瀹瑰櫒缂栧彿
+        /// </summary>
+        public virtual string ContainerCode { get; set; }
+        
+        /// <summary>
+        /// 宸烽亾
+        /// </summary>
+        public virtual int? Lane { get; set; }
+        
+        /// <summary>
+        /// 鎺�
+        /// </summary>
+        public virtual int? Row { get; set; }
+        
+        /// <summary>
+        /// 妫�娴嬮珮搴�
+        /// </summary>
+        public virtual int? DetectionHeight { get; set; }
+        
+        /// <summary>
+        /// 浠诲姟瀹屾垚鏃堕棿
+        /// </summary>
+        public virtual DateTime? FinishedTime { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鏍囪寮哄埗瀹屾垚
+        /// </summary>
+        public virtual bool? IsFlagFinish { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+        /// 淇敼鏃堕棿
+        /// </summary>
+        public virtual DateTime? UpdateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public virtual long? CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public virtual string CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜篒d
+        /// </summary>
+        public virtual long? UpdateUserId { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜�
+        /// </summary>
+        public virtual string UpdateUserName { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        public virtual bool IsDelete { get; set; }
+        
+        /// <summary>
+        /// 浠诲姟鐘舵�佸悕绉�
+        /// </summary>
+        public virtual string TaskStatusName { get; set; }
+        
+        /// <summary>
+        /// 涓嬪彂鏃堕棿
+        /// </summary>
+        public virtual DateTime? IssueTime { get; set; }
+        
+        /// <summary>
+        /// 璧峰搴撲綅缂栧彿
+        /// </summary>
+        public virtual string SourcePlaceCode { get; set; }
+        
+        /// <summary>
+        /// 鐩爣搴撳尯缂栧彿
+        /// </summary>
+        public virtual string ToAreaCode { get; set; }
+        
+        /// <summary>
+        /// 鐩爣搴撲綅缂栧彿
+        /// </summary>
+        public virtual string ToPlaceCode { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 璋冨害浠诲姟鍒嗛〉鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsTaskInput : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+        /// <summary>
+        /// 浠诲姟鍙�
+        /// </summary>
+        public string? TaskNo { get; set; }
+        
+        /// <summary>
+        /// 浠诲姟鍚嶇О
+        /// </summary>
+        public string? TaskName { get; set; }
+        
+        /// <summary>
+        /// 绉诲姩绫诲瀷
+        /// </summary>
+        public Admin.NET.Application.MoveTypeEnum? MoveType { get; set; }
+        
+        /// <summary>
+        /// 涓氬姟绫诲瀷
+        /// </summary>
+        public Admin.NET.Application.BusinessTypeEnum? BusinessType { get; set; }
+        
+        /// <summary>
+        /// 浠诲姟鐘舵��
+        /// </summary>
+        public Admin.NET.Application.TaskStatusEnum? TaskStatus { get; set; }
+        
+        /// <summary>
+        /// 浼樺厛绾�
+        /// </summary>
+        public int? TaskPriority { get; set; }
+        
+        /// <summary>
+        /// 浠诲姟鎻忚堪
+        /// </summary>
+        public string? TaskDescribe { get; set; }
+        
+        /// <summary>
+        /// 浠诲姟娑堟伅
+        /// </summary>
+        public string? TaskMsg { get; set; }
+        
+        /// <summary>
+        /// 鍗曟嵁鍙�
+        /// </summary>
+        public string? OrderNo { get; set; }
+        
+        /// <summary>
+        /// 鍏宠仈鍗曞彿
+        /// </summary>
+        public string? RelationNo { get; set; }
+        
+        /// <summary>
+        /// 瀹瑰櫒缂栧彿
+        /// </summary>
+        public string? ContainerCode { get; set; }
+        
+        /// <summary>
+        /// 宸烽亾
+        /// </summary>
+        public int? Lane { get; set; }
+        
+        /// <summary>
+        /// 鎺�
+        /// </summary>
+        public int? Row { get; set; }
+        
+        /// <summary>
+        /// 妫�娴嬮珮搴�
+        /// </summary>
+        public int? DetectionHeight { get; set; }
+        
+        /// <summary>
+        /// 浠诲姟瀹屾垚鏃堕棿
+        /// </summary>
+        public DateTime? FinishedTime { get; set; }
+        
+        /// <summary>
+         /// 浠诲姟瀹屾垚鏃堕棿鑼冨洿
+         /// </summary>
+         public List<DateTime?> FinishedTimeRange { get; set; } 
+        /// <summary>
+        /// 鏄惁鏍囪寮哄埗瀹屾垚
+        /// </summary>
+        public bool? IsFlagFinish { get; set; }
+        
+        /// <summary>
+        /// 浠诲姟鐘舵�佸悕绉�
+        /// </summary>
+        public string? TaskStatusName { get; set; }
+        
+        /// <summary>
+        /// 涓嬪彂鏃堕棿
+        /// </summary>
+        public DateTime? IssueTime { get; set; }
+        
+        /// <summary>
+         /// 涓嬪彂鏃堕棿鑼冨洿
+         /// </summary>
+         public List<DateTime?> IssueTimeRange { get; set; } 
+        /// <summary>
+        /// 璧峰搴撲綅缂栧彿
+        /// </summary>
+        public string? SourcePlaceCode { get; set; }
+        
+        /// <summary>
+        /// 鐩爣搴撳尯缂栧彿
+        /// </summary>
+        public string? ToAreaCode { get; set; }
+        
+        /// <summary>
+        /// 鐩爣搴撲綅缂栧彿
+        /// </summary>
+        public string? ToPlaceCode { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 璋冨害浠诲姟澧炲姞杈撳叆鍙傛暟
+    /// </summary>
+    public class AddWmsTaskInput : WmsTaskBaseInput
+    {
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+        public override bool IsDelete { get; set; }
+        
+        /// <summary>
+        /// 浠诲姟鐘舵�佸悕绉�
+        /// </summary>
+        [Required(ErrorMessage = "浠诲姟鐘舵�佸悕绉颁笉鑳戒负绌�")]
+        public override string TaskStatusName { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 璋冨害浠诲姟鍒犻櫎杈撳叆鍙傛暟
+    /// </summary>
+    public class DeleteWmsTaskInput : BaseIdInput
+    {
+    }
+
+    /// <summary>
+    /// 璋冨害浠诲姟鏇存柊杈撳叆鍙傛暟
+    /// </summary>
+    public class UpdateWmsTaskInput : AddWmsTaskInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+        public long Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 璋冨害浠诲姟涓婚敭鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class QueryByIdWmsTaskInput : DeleteWmsTaskInput
+    {
+
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsTask/Dto/WmsTaskOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsTask/Dto/WmsTaskOutput.cs
new file mode 100644
index 0000000..cc484af
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsTask/Dto/WmsTaskOutput.cs
@@ -0,0 +1,165 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 璋冨害浠诲姟杈撳嚭鍙傛暟
+/// </summary>
+public class WmsTaskOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long? Id { get; set; }
+    
+    /// <summary>
+    /// 浠诲姟鍙�
+    /// </summary>
+    public string TaskNo { get; set; }
+    
+    /// <summary>
+    /// 浠诲姟鍚嶇О
+    /// </summary>
+    public string TaskName { get; set; }
+    
+    /// <summary>
+    /// 绉诲姩绫诲瀷
+    /// </summary>
+    public Admin.NET.Application.MoveTypeEnum? MoveType { get; set; }
+    
+    /// <summary>
+    /// 绉诲姩绫诲瀷鍚嶇О
+    /// </summary>
+    public string MoveTypeName { get; set; }
+    
+    /// <summary>
+    /// 涓氬姟绫诲瀷
+    /// </summary>
+    public Admin.NET.Application.BusinessTypeEnum? BusinessType { get; set; }
+    
+    /// <summary>
+    /// 涓氬姟绫诲瀷鍚嶇О
+    /// </summary>
+    public string BusinessTypeName { get; set; }
+    
+    /// <summary>
+    /// 浠诲姟鐘舵��
+    /// </summary>
+    public Admin.NET.Application.TaskStatusEnum? TaskStatus { get; set; }
+    
+    /// <summary>
+    /// 浼樺厛绾�
+    /// </summary>
+    public int? TaskPriority { get; set; }
+    
+    /// <summary>
+    /// 浠诲姟鎻忚堪
+    /// </summary>
+    public string TaskDescribe { get; set; }
+    
+    /// <summary>
+    /// 浠诲姟娑堟伅
+    /// </summary>
+    public string TaskMsg { get; set; }
+    
+    /// <summary>
+    /// 鍗曟嵁鍙�
+    /// </summary>
+    public string OrderNo { get; set; }
+    
+    /// <summary>
+    /// 鍏宠仈鍗曞彿
+    /// </summary>
+    public string RelationNo { get; set; }
+    
+    /// <summary>
+    /// 瀹瑰櫒缂栧彿
+    /// </summary>
+    public string ContainerCode { get; set; }
+    
+    /// <summary>
+    /// 宸烽亾
+    /// </summary>
+    public int? Lane { get; set; }
+    
+    /// <summary>
+    /// 鎺�
+    /// </summary>
+    public int? Row { get; set; }
+    
+    /// <summary>
+    /// 妫�娴嬮珮搴�
+    /// </summary>
+    public int? DetectionHeight { get; set; }
+    
+    /// <summary>
+    /// 浠诲姟瀹屾垚鏃堕棿
+    /// </summary>
+    public DateTime? FinishedTime { get; set; }
+    
+    /// <summary>
+    /// 鏄惁鏍囪寮哄埗瀹屾垚
+    /// </summary>
+    public bool? IsFlagFinish { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public string UpdateUserName { get; set; }
+    
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+    
+    /// <summary>
+    /// 浠诲姟鐘舵�佸悕绉�
+    /// </summary>
+    public string TaskStatusName { get; set; }
+    
+    /// <summary>
+    /// 涓嬪彂鏃堕棿
+    /// </summary>
+    public DateTime? IssueTime { get; set; }
+    
+    /// <summary>
+    /// 璧峰搴撲綅缂栧彿
+    /// </summary>
+    public string SourcePlaceCode { get; set; }
+    
+    /// <summary>
+    /// 鐩爣搴撳尯缂栧彿
+    /// </summary>
+    public string ToAreaCode { get; set; }
+    
+    /// <summary>
+    /// 鐩爣搴撲綅缂栧彿
+    /// </summary>
+    public string ToPlaceCode { get; set; }
+    
+    }
+ 
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsTask/WmsTaskService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsTask/WmsTaskService.cs
new file mode 100644
index 0000000..88a5394
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsTask/WmsTaskService.cs
@@ -0,0 +1,231 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+namespace Admin.NET.Application;
+/// <summary>
+/// 璋冨害浠诲姟鏈嶅姟
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.ReportCenterGroupName, Order = 100)]
+public class WmsTaskService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<WmsTask> _rep;
+    public WmsTaskService(SqlSugarRepository<WmsTask> rep)
+    {
+        _rep = rep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ璋冨害浠诲姟
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("WmsTask/Page")]
+    public async Task<SqlSugarPagedList<WmsTaskOutput>> Page(WmsTaskInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇㈣皟搴︿换鍔�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("WmsTask/List")]
+    public async Task<List<WmsTaskOutput>> List([FromQuery] WmsTaskInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").Select<WmsTaskOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞璋冨害浠诲姟
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("WmsTask/Add")]
+    public async Task<long> Add(AddWmsTaskInput input)
+    {
+        var entity = input.Adapt<WmsTask>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎璋冨害浠诲姟
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("WmsTask/Delete")]
+    public async Task Delete(DeleteWmsTaskInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊璋冨害浠诲姟
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("WmsTask/Update")]
+    public async Task Update(UpdateWmsTaskInput input)
+    {
+        var entity = input.Adapt<WmsTask>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity,true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇璋冨害浠诲姟
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("WmsTask/Detail")]
+    public async Task<WmsTask> Detail([FromQuery] QueryByIdWmsTaskInput input)
+    {
+        return await _rep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+
+
+
+
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ璋冨害浠诲姟鏉′欢
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<WmsTaskOutput> CommonPageFilter(WmsTaskInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.TaskNo.Contains(input.SearchKey.Trim())
+                || u.TaskName.Contains(input.SearchKey.Trim())
+                || u.TaskDescribe.Contains(input.SearchKey.Trim())
+                || u.TaskMsg.Contains(input.SearchKey.Trim())
+                || u.OrderNo.Contains(input.SearchKey.Trim())
+                || u.RelationNo.Contains(input.SearchKey.Trim())
+                || u.ContainerCode.Contains(input.SearchKey.Trim())
+                || u.CreateUserName.Contains(input.SearchKey.Trim())
+                || u.UpdateUserName.Contains(input.SearchKey.Trim())
+                || u.TaskStatusName.Contains(input.SearchKey.Trim())
+                || u.SourcePlaceCode.Contains(input.SearchKey.Trim())
+                || u.ToAreaCode.Contains(input.SearchKey.Trim())
+                || u.ToPlaceCode.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(!string.IsNullOrWhiteSpace(input.TaskNo), u => u.TaskNo.Contains(input.TaskNo.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.TaskName), u => u.TaskName.Contains(input.TaskName.Trim()))
+            .WhereIF(input.MoveType.HasValue, u => u.MoveType == input.MoveType)
+            .WhereIF(input.BusinessType.HasValue, u => u.BusinessType == (int)input.BusinessType)
+            .WhereIF(input.TaskStatus.HasValue, u => u.TaskStatus == input.TaskStatus)
+            .WhereIF(input.TaskPriority>0, u => u.TaskPriority == input.TaskPriority)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.TaskDescribe), u => u.TaskDescribe.Contains(input.TaskDescribe.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.TaskMsg), u => u.TaskMsg.Contains(input.TaskMsg.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.OrderNo), u => u.OrderNo.Contains(input.OrderNo.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.RelationNo), u => u.RelationNo.Contains(input.RelationNo.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.ContainerCode), u => u.ContainerCode.Contains(input.ContainerCode.Trim()))
+            .WhereIF(input.Lane>0, u => u.Lane == input.Lane)
+            .WhereIF(input.Row>0, u => u.Row == input.Row)
+            .WhereIF(input.DetectionHeight>0, u => u.DetectionHeight == input.DetectionHeight)
+            .WhereIF(input.IsFlagFinish.HasValue, u => u.IsFlagFinish == input.IsFlagFinish)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.TaskStatusName), u => u.TaskStatusName.Contains(input.TaskStatusName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SourcePlaceCode), u => u.SourcePlaceCode.Contains(input.SourcePlaceCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.ToAreaCode), u => u.ToAreaCode.Contains(input.ToAreaCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.ToPlaceCode), u => u.ToPlaceCode.Contains(input.ToPlaceCode.Trim()))
+            .Select<WmsTaskOutput>();
+        if(input.FinishedTimeRange != null && input.FinishedTimeRange.Count >0)
+        {
+            DateTime? start= input.FinishedTimeRange[0].Value.AddDays(-1);
+            query = query.WhereIF(start.HasValue, u => u.FinishedTime > start);
+            if (input.FinishedTimeRange.Count >1 && input.FinishedTimeRange[1].HasValue)
+            {
+                var end = input.FinishedTimeRange[1].Value.AddDays(1);
+                query = query.Where(u => u.FinishedTime < end);
+            }
+        } 
+        if(input.IssueTimeRange != null && input.IssueTimeRange.Count >0)
+        {
+            DateTime? start= input.IssueTimeRange[0].Value.AddDays(-1);
+            query = query.WhereIF(start.HasValue, u => u.IssueTime > start);
+            if (input.IssueTimeRange.Count >1 && input.IssueTimeRange[1].HasValue)
+            {
+                var end = input.IssueTimeRange[1].Value.AddDays(1);
+                query = query.Where(u => u.IssueTime < end);
+            }
+        } 
+        return query;
+       }
+
+        /// <summary>
+        /// 閲嶅鎬ч獙璇�
+        /// </summary>
+        /// <param name="input">楠岃瘉瀵硅薄</param>
+        /// <param name="isEdit">鏄惁鏄紪杈�</param>
+        /// <returns></returns>
+        private async Task CheckExist( WmsTask input,bool isEdit=false)
+        {
+           
+
+
+            //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+           
+            //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+       }
+
+       /// <summary>
+        /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<WmsTask> inputs)
+        { 
+            if (inputs?.Count <= 0)
+            {
+                throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+            }
+            //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                      
+
+
+
+
+
+
+          
+           //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+           
+           
+           
+        }
+     #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterCategories/AdapterCategoriesService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterCategories/AdapterCategoriesService.cs
new file mode 100644
index 0000000..e884bed
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterCategories/AdapterCategoriesService.cs
@@ -0,0 +1,327 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+namespace Admin.NET.Application;
+/// <summary>
+/// 閫傞厤鍣ㄥぇ绫荤鐞嗘湇鍔�
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.SoftwareAdapterServiceGroupName, Order = 100)]
+public class AdapterCategoriesService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<WmsAdapterCategories> _rep;
+    private readonly SqlSugarRepository<WmsAdapterManagement> _adapterManagementRep;
+    private readonly SqlSugarRepository<WmsAdapterRecord> _recordAdapterRep;
+
+    public AdapterCategoriesService(SqlSugarRepository<WmsAdapterCategories> rep,SqlSugarRepository<WmsAdapterManagement> adapterManagementRep, SqlSugarRepository<WmsAdapterRecord> recordAdapterRep)
+    {
+        _rep = rep;
+        _adapterManagementRep = adapterManagementRep;
+        _recordAdapterRep = recordAdapterRep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ閫傞厤鍣ㄥぇ绫荤鐞�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("AdapterCategories/Page")]
+    public async Task<SqlSugarPagedList<AdapterCategoriesOutput>> Page(AdapterCategoriesInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇㈤�傞厤鍣ㄥぇ绫荤鐞�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("AdapterCategories/List")]
+    public async Task<List<AdapterCategoriesOutput>> List([FromQuery] AdapterCategoriesInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").Select<AdapterCategoriesOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞閫傞厤鍣ㄥぇ绫荤鐞�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("AdapterCategories/Add")]
+    public async Task<long> Add(AddAdapterCategoriesInput input)
+    {
+        var entity = input.Adapt<WmsAdapterCategories>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎閫傞厤鍣ㄥぇ绫荤鐞�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("AdapterCategories/Delete")]
+    public async Task Delete(DeleteAdapterCategoriesInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊閫傞厤鍣ㄥぇ绫荤鐞�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("AdapterCategories/Update")]
+    public async Task Update(UpdateAdapterCategoriesInput input)
+    {
+        var entity = input.Adapt<WmsAdapterCategories>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity,true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇閫傞厤鍣ㄥぇ绫荤鐞�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("AdapterCategories/Detail")]
+    public async Task<WmsAdapterCategories> Detail([FromQuery] QueryByIdAdapterCategoriesInput input)
+    {
+        return await _rep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+
+    /// <summary>
+    /// 鑾峰彇閫傞厤鍣ㄤ娇鐢ㄨ褰曞垪琛ㄦ煡璇�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "GetRecordAdapterList")]
+    [Description("AdapterCategories/GetRecordAdapterList")]
+    public async Task<AdapterRecordDetailsOutput> GetRecordAdapterList([FromQuery] GetRecordDetailsInput input)
+    {
+         var query = await _recordAdapterRep.AsQueryable()
+            .WhereIF(input.CategoriesId != 0,p=>p.AdapterCategoryId == input.CategoriesId)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.BeginTime.ToString()),p=>p.BeginTime>=input.BeginTime)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.EndingTime.ToString()), p => p.EndingTime <= input.EndingTime)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AdapterSID),p =>p.AdapterSID == input.AdapterSID)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.OrderNo), p => p.OrderNo.Contains(input.OrderNo.Trim()))
+            .WhereIF(input.DealWithStatus >0,p=>p.DealWithStatus == input.DealWithStatus)
+            .Select<RecordDetailsInfo>().ToPagedListAsync(input.Page, input.PageSize);
+
+        var adapterRecordDetailsOutput = new AdapterRecordDetailsOutput();
+        var CategoryModel = await _rep.AsQueryable().FirstAsync(p=>p.Id == input.CategoriesId);
+        if (CategoryModel == null) throw Oops.Oh("鏈壘鍒拌澶х被淇℃伅");
+
+        var adapterManagementModel = await _adapterManagementRep.AsQueryable().FirstAsync(p => p.AdapterCategoryId == input.CategoriesId);
+        if(adapterManagementModel == null) throw Oops.Oh("鏈壘鍒拌閫傞厤鍣ㄥ悕绉颁俊鎭�");
+
+        adapterRecordDetailsOutput.CategoryName = CategoryModel == null?"null": CategoryModel.CategoryName;
+        adapterRecordDetailsOutput.AdapterName = adapterManagementModel==null?"null": adapterManagementModel.AdapterName;
+        adapterRecordDetailsOutput.AdapterMethodName = adapterManagementModel == null ? "null" : adapterManagementModel.AdapterMethodName;
+        adapterRecordDetailsOutput.AdapterMode = adapterManagementModel == null ? AdapterModeEnum.瀹㈡埛绔� : adapterManagementModel.AdapterMode;
+        adapterRecordDetailsOutput.RecordAdapterList = query;
+        return adapterRecordDetailsOutput;
+    }
+
+
+    #region 瀵煎叆
+    
+    /// <summary>
+    /// Excel妯℃澘瀵煎叆閫傞厤鍣ㄥぇ绫荤鐞嗗姛鑳�
+    /// </summary>
+    /// <param name="file">Excel妯℃澘鏂囦欢</param>
+    /// <returns>瀵煎叆鐨勮褰曟暟</returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ImportExcel")]
+    [Description("AdapterCategories/ImportExcel")]
+    public async Task<int> ImportExcelAsync(IFormFile file)
+    { 
+        int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕
+        int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁
+        DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine);
+        var addList =await CommonImport(importDataTable, _DataStartLine);
+        await _rep.InsertRangeAsync(addList);
+        return addList.Count;
+    }
+    
+    /// <summary>
+    ///  DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+    /// </summary>
+    /// <param name="dataTable"></param>
+    /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+    /// <returns></returns>
+    private async Task<List<WmsAdapterCategories>> CommonImport(DataTable dataTable, int dataStartLine)
+    {
+        var details = new List<WmsAdapterCategories>();
+        int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭
+        foreach (System.Data.DataRow row in dataTable.Rows)
+        {
+            index++;
+            //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛�
+                                      
+                           var addItem = new WmsAdapterCategories();
+                          #region 瀹氫箟鍙橀噺
+                           var _CategoryName = "";//鍗曟嵁澶х被鍚嶇О
+                           var _AdapterNumber = "";//閫傞厤鍣ㄦ暟閲�
+                          #endregion
+                          
+                          
+                          #region 鍙栧��
+                           _CategoryName = row["鍗曟嵁澶х被鍚嶇О"]?.ToString() ;
+                           _AdapterNumber = row["閫傞厤鍣ㄦ暟閲�"]?.ToString() ;
+                          #endregion
+                          
+                          
+                          #region 楠岃瘉
+                          
+                          if (string.IsNullOrEmpty(_CategoryName))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾鍗曟嵁澶х被鍚嶇О]{_CategoryName}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_CategoryName))
+                          {
+                                addItem.CategoryName = (string)(_CategoryName.Trim());
+                           }
+                          
+                          if (string.IsNullOrEmpty(_AdapterNumber))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣ㄦ暟閲廬{_AdapterNumber}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_AdapterNumber))
+                          {
+                              if (!int.TryParse(_AdapterNumber, out int outAdapterNumber)&&!string.IsNullOrEmpty(_AdapterNumber))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣ㄦ暟閲廬{_AdapterNumber}鍊间笉姝g‘锛�");
+                              }
+                              if (outAdapterNumber <= 0&&!string.IsNullOrEmpty(_AdapterNumber))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣ㄦ暟閲廬{_AdapterNumber}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.AdapterNumber = outAdapterNumber;
+                              }
+                          
+                          }
+                          #endregion
+                          
+
+            details.Add(addItem);
+        }
+        //楠岄噸
+        await CheckExisitForImport(details);
+        return details;
+    }
+    
+    /// <summary>
+    /// 鏍规嵁鐗堟湰涓嬭浇閫傞厤鍣ㄥぇ绫荤鐞嗙殑Excel瀵煎叆妯℃澘
+    /// </summary>
+    /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "DownloadExcelTemplate")]
+    [Description("AdapterCategories/DownloadExcelTemplate")]
+    public IActionResult DownloadExcelTemplate()
+    {
+        string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\閫傞厤鍣ㄥぇ绫荤鐞唟TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
+        var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(閫傞厤鍣ㄥぇ绫荤鐞�).xlsx", Encoding.GetEncoding("UTF-8"));
+        return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
+    }
+    
+    #endregion
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ閫傞厤鍣ㄥぇ绫荤鐞嗘潯浠�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<AdapterCategoriesOutput> CommonPageFilter(AdapterCategoriesInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.CategoryName.Contains(input.SearchKey.Trim())
+                || u.CreateUserName.Contains(input.SearchKey.Trim())
+                || u.UpdateUserName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(!string.IsNullOrWhiteSpace(input.CategoryName), u => u.CategoryName.Contains(input.CategoryName.Trim()))
+            .WhereIF(input.AdapterNumber>0, u => u.AdapterNumber == input.AdapterNumber)
+            .Select<AdapterCategoriesOutput>();
+        return query;
+       }
+
+        /// <summary>
+        /// 閲嶅鎬ч獙璇�
+        /// </summary>
+        /// <param name="input">楠岃瘉瀵硅薄</param>
+        /// <param name="isEdit">鏄惁鏄紪杈�</param>
+        /// <returns></returns>
+        private async Task CheckExist( WmsAdapterCategories input,bool isEdit=false)
+        {
+           
+
+
+            //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+           
+            //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+       }
+
+       /// <summary>
+        /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<WmsAdapterCategories> inputs)
+        { 
+            if (inputs?.Count <= 0)
+            {
+                throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+            }
+            //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                      
+
+
+
+
+
+
+          
+           //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+           
+           
+           
+        }
+     #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterCategories/Dto/AdapterCategoriesInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterCategories/Dto/AdapterCategoriesInput.cs
new file mode 100644
index 0000000..47b950b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterCategories/Dto/AdapterCategoriesInput.cs
@@ -0,0 +1,164 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+    /// <summary>
+    /// 閫傞厤鍣ㄥぇ绫荤鐞嗗熀纭�杈撳叆鍙傛暟
+    /// </summary>
+    public class AdapterCategoriesBaseInput
+    {
+        /// <summary>
+        /// 鍗曟嵁澶х被鍚嶇О
+        /// </summary>
+        public virtual string CategoryName { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣ㄦ暟閲�
+        /// </summary>
+        public virtual int AdapterNumber { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+        /// 淇敼鏃堕棿
+        /// </summary>
+        public virtual DateTime? UpdateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public virtual long? CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public virtual string CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜篒d
+        /// </summary>
+        public virtual long? UpdateUserId { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜�
+        /// </summary>
+        public virtual string UpdateUserName { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        public virtual bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄥぇ绫荤鐞嗗垎椤垫煡璇㈣緭鍏ュ弬鏁�
+    /// </summary>
+    public class AdapterCategoriesInput : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+        /// <summary>
+        /// 鍗曟嵁澶х被鍚嶇О
+        /// </summary>
+        public string? CategoryName { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣ㄦ暟閲�
+        /// </summary>
+        public int? AdapterNumber { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄥぇ绫荤鐞嗗鍔犺緭鍏ュ弬鏁�
+    /// </summary>
+    public class AddAdapterCategoriesInput : AdapterCategoriesBaseInput
+    {
+        /// <summary>
+        /// 鍗曟嵁澶х被鍚嶇О
+        /// </summary>
+        [Required(ErrorMessage = "鍗曟嵁澶х被鍚嶇О涓嶈兘涓虹┖")]
+        public override string CategoryName { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣ㄦ暟閲�
+        /// </summary>
+        [Required(ErrorMessage = "閫傞厤鍣ㄦ暟閲忎笉鑳戒负绌�")]
+        public override int AdapterNumber { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+        public override bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄥぇ绫荤鐞嗗垹闄よ緭鍏ュ弬鏁�
+    /// </summary>
+    public class DeleteAdapterCategoriesInput : BaseIdInput
+    {
+    }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄥぇ绫荤鐞嗘洿鏂拌緭鍏ュ弬鏁�
+    /// </summary>
+    public class UpdateAdapterCategoriesInput : AddAdapterCategoriesInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+        public long Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄥぇ绫荤鐞嗕富閿煡璇㈣緭鍏ュ弬鏁�
+    /// </summary>
+    public class QueryByIdAdapterCategoriesInput : DeleteAdapterCategoriesInput
+    {
+
+    }
+    /// <summary>
+    /// 鑾峰彇閫傞厤鍣ㄤ娇鐢ㄨ褰曡鎯呰緭鍏ュ弬
+    /// </summary>
+    public class GetRecordDetailsInput : BasePageInput
+{
+        /// <summary>
+        /// 澶х被id
+        /// </summary>
+        public long CategoriesId { get; set; }
+
+        /// <summary>
+        /// 寮�濮嬫椂闂�
+        /// </summary>
+        public DateTime? BeginTime { get; set; }
+
+        /// <summary>
+        /// 缁撴潫鏃堕棿
+        /// </summary>
+        public DateTime? EndingTime { get; set; }
+
+        /// <summary>
+        /// 閫傞厤SID
+        /// </summary>
+        public string AdapterSID { get; set; }
+        /// <summary>
+        /// 澶勭悊鐘舵��
+        /// </summary>
+        public AdapterLogDealWithEnum DealWithStatus { get; set; }
+        /// <summary>
+        /// 鍗曟嵁缂栧彿
+        /// </summary>
+        public string OrderNo { get; set; }
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterCategories/Dto/AdapterCategoriesOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterCategories/Dto/AdapterCategoriesOutput.cs
new file mode 100644
index 0000000..ce85dcb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterCategories/Dto/AdapterCategoriesOutput.cs
@@ -0,0 +1,171 @@
+锘縰sing Admin.NET.Application.Entity;
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 閫傞厤鍣ㄥぇ绫荤鐞嗚緭鍑哄弬鏁�
+/// </summary>
+public class AdapterCategoriesOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long? Id { get; set; }
+    
+    /// <summary>
+    /// 鍗曟嵁澶х被鍚嶇О
+    /// </summary>
+    public string CategoryName { get; set; }
+    
+    /// <summary>
+    /// 閫傞厤鍣ㄦ暟閲�
+    /// </summary>
+    public int AdapterNumber { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public string UpdateUserName { get; set; }
+    
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+    
+    }
+
+
+public class AdapterRecordDetailsOutput
+{
+    /// <summary>
+    /// 閫傞厤澶х被鍚嶇О
+    /// </summary>
+    public string CategoryName { get; set; }
+    /// <summary>
+    /// 閫傞厤鍣ㄥ悕绉�
+    /// </summary>
+    public string AdapterName { get; set; }
+    /// <summary>
+    /// 閫傞厤鍣ㄦ柟娉曞悕绉�
+    /// </summary>
+    public string AdapterMethodName { get; set; }
+    /// <summary>
+    /// 閫傞厤妯″紡
+    /// </summary>
+    public AdapterModeEnum AdapterMode { get; set; }
+     
+    public SqlSugarPagedList<RecordDetailsInfo> RecordAdapterList { get; set; }
+}
+
+public class RecordDetailsInfo 
+{
+    /// <summary>
+    /// 璁板綍琛↖d
+    /// </summary>
+    public virtual long Id { get; set; }
+    /// <summary>
+    /// 閫傞厤鍣ㄥぇ绫籭d
+    /// </summary>
+    public long AdapterCategoryId { get; set; }
+    /// <summary>
+    /// 閫傞厤澶х被鍚嶇О
+    /// </summary>
+    public string CategoryName { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄥ悕绉�
+    /// </summary>
+    public string AdapterName { get; set; }
+    /// <summary>
+    /// 閫傞厤鍣╥d
+    /// </summary>
+    public long AdapterId { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄦ柟娉曞悕绉�
+    /// </summary>
+    public string AdapterMethodName { get; set; }
+    /// <summary>
+    /// 璇锋眰鏉ユ簮
+    /// </summary>
+    public string RequestSoure { get; set; }
+    /// <summary>
+    /// 閫傞厤SID
+    /// </summary>
+    public string AdapterSID { get; set; }
+
+
+    /// <summary>
+    /// 寮�濮嬫椂闂�
+    /// </summary>
+    public DateTime? BeginTime { get; set; }
+
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? EndingTime { get; set; }
+
+
+
+    /// <summary>
+    /// 鑰楁椂
+    /// </summary>
+    public int? TimeDifference
+    {
+        get;
+
+        set;
+    }
+
+    /// <summary>
+    /// 澶勭悊鐘舵��
+    /// </summary>
+    public AdapterLogDealWithEnum DealWithStatus { get; set; }
+
+    /// <summary>
+    /// 閿欒淇℃伅
+    /// </summary>
+    public string ErrMessage { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍙傛暟
+    /// </summary>
+    public string AdapterInput { get; set; }
+    /// <summary>
+    /// 閫傞厤鎶ユ枃
+    /// </summary>
+    public string AdapterReturnMassage { get; set; }
+
+    /// <summary>
+    /// 鍗曟嵁缂栧彿
+    /// </summary>
+    public string OrderNo { get; set; }
+
+}
+
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterManagement/AdapterManagementService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterManagement/AdapterManagementService.cs
new file mode 100644
index 0000000..1db04b8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterManagement/AdapterManagementService.cs
@@ -0,0 +1,433 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+namespace Admin.NET.Application;
+/// <summary>
+/// 閫傞厤鍣ㄧ鐞嗘湇鍔�
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.SoftwareAdapterServiceGroupName, Order = 100)]
+public class AdapterManagementService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<WmsAdapterManagement> _rep;
+    private readonly SqlSugarRepository<WmsAdapterCategories> _repAdapterCategories;
+
+    public AdapterManagementService(SqlSugarRepository<WmsAdapterManagement> rep, SqlSugarRepository<WmsAdapterCategories> repAdapterCategories)
+    {
+        _rep = rep;
+        _repAdapterCategories = repAdapterCategories;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ閫傞厤鍣ㄧ鐞�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("AdapterManagement/Page")]
+    public async Task<SqlSugarPagedList<AdapterManagementOutput>> Page(AdapterManagementInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇㈤�傞厤鍣ㄧ鐞�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("AdapterManagement/List")]
+    public async Task<List<AdapterManagementOutput>> List([FromQuery] AdapterManagementInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").Select<AdapterManagementOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞閫傞厤鍣ㄧ鐞�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("AdapterManagement/Add")]
+    public async Task<long> Add(AddAdapterManagementInput input)
+    {
+        var isRepeatModel = await _rep.AsQueryable().FirstAsync(p => p.AdapterMethodName == input.AdapterMethodName);
+        if (isRepeatModel != null) throw Oops.Oh("璇ラ�傞厤鍣ㄦ柟娉曞悕閲嶅锛佽妫�鏌ワ紒");
+        var categoryModel = await _repAdapterCategories.AsQueryable().FirstAsync(p =>p.Id == input.AdapterCategoryId);
+        if(categoryModel == null) throw Oops.Oh("鏈壘鍒伴�傞厤鍣ㄥぇ绫�");
+        categoryModel.AdapterNumber += 1;
+        await _repAdapterCategories.UpdateAsync(categoryModel);
+        var entity = input.Adapt<WmsAdapterManagement>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎閫傞厤鍣ㄧ鐞�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("AdapterManagement/Delete")]
+    public async Task Delete(DeleteAdapterManagementInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊閫傞厤鍣ㄧ鐞�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("AdapterManagement/Update")]
+    public async Task Update(UpdateAdapterManagementInput input)
+    {
+        var entity = input.Adapt<WmsAdapterManagement>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity,true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇閫傞厤鍣ㄧ鐞�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("AdapterManagement/Detail")]
+    public async Task<WmsAdapterManagement> Detail([FromQuery] QueryByIdAdapterManagementInput input)
+    {
+        return await _rep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+    /// <summary>
+    /// 鑾峰彇閫傞厤鍣ㄥ湴鍧�鎺ュ彛鍏叡鏂规硶
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "GetAdapterManagement")]
+    [Description("AdapterManagement/GetAdapterManagement")]
+    public async Task<ApiAddressReturn> GetAdapterManagement([FromBody] GetAdapterInfoInput input)
+    {
+        var returnNewApiAdress = new ApiAddressReturn();
+        var Address = "";
+        var AdapterManagerModel = await _rep.AsQueryable().FirstAsync(p => p.AdapterMethodName == input.AdapterMethodName);
+        if (AdapterManagerModel == null) throw Oops.Oh("鏈煡鍒扮浉鍏抽�傞厤鍣�");
+
+        Address += "http://" + AdapterManagerModel.AdapterHost + ":" + AdapterManagerModel.AdapterPort + AdapterManagerModel.AdapterURL;
+        returnNewApiAdress.ApiAddress = Address;
+        returnNewApiAdress.AdapterRequestMethod = AdapterManagerModel.AdapterRequestMethod;
+        return returnNewApiAdress;
+    }
+
+
+
+    #region 瀵煎叆
+    
+    /// <summary>
+    /// Excel妯℃澘瀵煎叆閫傞厤鍣ㄧ鐞嗗姛鑳�
+    /// </summary>
+    /// <param name="file">Excel妯℃澘鏂囦欢</param>
+    /// <returns>瀵煎叆鐨勮褰曟暟</returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ImportExcel")]
+    [Description("AdapterManagement/ImportExcel")]
+    public async Task<int> ImportExcelAsync(IFormFile file)
+    { 
+        int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕
+        int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁
+        DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine);
+        var addList =await CommonImport(importDataTable, _DataStartLine);
+        await _rep.InsertRangeAsync(addList);
+        return addList.Count;
+    }
+    
+    /// <summary>
+    ///  DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+    /// </summary>
+    /// <param name="dataTable"></param>
+    /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+    /// <returns></returns>
+    private async Task<List<WmsAdapterManagement>> CommonImport(DataTable dataTable, int dataStartLine)
+    {
+        var details = new List<WmsAdapterManagement>();
+        int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭
+        foreach (System.Data.DataRow row in dataTable.Rows)
+        {
+            index++;
+            //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛�
+                                      
+                           var addItem = new WmsAdapterManagement();
+                          #region 瀹氫箟鍙橀噺
+                           var _AdapterCategoryId = "";//閫傞厤鍣ㄥぇ绫籭d
+                           var _CategoryName = "";//閫傞厤鍣ㄥぇ绫诲悕绉�
+                           var _AdapterName = "";//閫傞厤鍣ㄥ悕绉�
+                           var _AdapterMethodName = "";//閫傞厤鍣ㄦ柟娉曞悕绉�
+                           var _AdapterMode = "";//閫傞厤妯″紡
+                           var _AdapterHost = "";//閰嶇疆涓绘満鍙�
+                           var _AdapterPort = "";//閫傞厤鍣ㄧ鍙e彿
+                           var _AdapterURL = "";//閫傞厤鍣║RL
+                           var _AdapterRequestMethod = "";//璇锋眰鏂瑰紡
+                          #endregion
+                          
+                          
+                          #region 鍙栧��
+                           _AdapterCategoryId = row["閫傞厤鍣ㄥぇ绫籭d"]?.ToString() ;
+                           _CategoryName = row["閫傞厤鍣ㄥぇ绫诲悕绉�"]?.ToString() ;
+                           _AdapterName = row["閫傞厤鍣ㄥ悕绉�"]?.ToString() ;
+                           _AdapterMethodName = row["閫傞厤鍣ㄦ柟娉曞悕绉�"]?.ToString() ;
+                           _AdapterMode = row["閫傞厤妯″紡"]?.ToString() ;
+                           _AdapterHost = row["閰嶇疆涓绘満鍙�"]?.ToString() ;
+                           _AdapterPort = row["閫傞厤鍣ㄧ鍙e彿"]?.ToString() ;
+                           _AdapterURL = row["閫傞厤鍣║RL"]?.ToString() ;
+                           _AdapterRequestMethod = row["璇锋眰鏂瑰紡"]?.ToString() ;
+                          #endregion
+                          
+                          
+                          #region 楠岃瘉
+                          
+                          if (string.IsNullOrEmpty(_AdapterCategoryId))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣ㄥぇ绫籭d]{_AdapterCategoryId}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_AdapterCategoryId))
+                          {
+                              if (!long.TryParse(_AdapterCategoryId, out long outAdapterCategoryId)&&!string.IsNullOrEmpty(_AdapterCategoryId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣ㄥぇ绫籭d]{_AdapterCategoryId}鍊间笉姝g‘锛�");
+                              }
+                              if (outAdapterCategoryId <= 0&&!string.IsNullOrEmpty(_AdapterCategoryId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣ㄥぇ绫籭d]{_AdapterCategoryId}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.AdapterCategoryId = outAdapterCategoryId;
+                              }
+                          
+                          }
+                          
+                          if (string.IsNullOrEmpty(_CategoryName))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣ㄥぇ绫诲悕绉癩{_CategoryName}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_CategoryName))
+                          {
+                                addItem.CategoryName = (string)(_CategoryName.Trim());
+                           }
+                          
+                          if (string.IsNullOrEmpty(_AdapterName))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣ㄥ悕绉癩{_AdapterName}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_AdapterName))
+                          {
+                                addItem.AdapterName = (string)(_AdapterName.Trim());
+                           }
+                          
+                          if (string.IsNullOrEmpty(_AdapterMethodName))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣ㄦ柟娉曞悕绉癩{_AdapterMethodName}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_AdapterMethodName))
+                          {
+                                addItem.AdapterMethodName = (string)(_AdapterMethodName.Trim());
+                           }
+                          
+                          if (string.IsNullOrEmpty(_AdapterMode))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾閫傞厤妯″紡]{_AdapterMode}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_AdapterMode))
+                          {
+                          Admin.NET.Application.AdapterModeEnum  enumAdapterMode = default(Admin.NET.Application.AdapterModeEnum);
+                          
+                             if(!Enum.TryParse<Admin.NET.Application.AdapterModeEnum>(_AdapterMode, out enumAdapterMode)&&!string.IsNullOrEmpty(_AdapterMode))
+                              {
+                                throw Oops.Oh($"绗瑊index}琛孾閫傞厤妯″紡]{_AdapterMode}鍊间笉姝g‘锛�");
+                              }
+                              else
+                              {
+                                 addItem.AdapterMode = enumAdapterMode;
+                              }
+                          
+                           }
+                          
+                          if (string.IsNullOrEmpty(_AdapterHost))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾閰嶇疆涓绘満鍙穄{_AdapterHost}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_AdapterHost))
+                          {
+                                addItem.AdapterHost = (string)(_AdapterHost.Trim());
+                           }
+                          
+                          if (string.IsNullOrEmpty(_AdapterPort))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣ㄧ鍙e彿]{_AdapterPort}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_AdapterPort))
+                          {
+                                addItem.AdapterPort = (string)(_AdapterPort.Trim());
+                           }
+                          
+                          if (string.IsNullOrEmpty(_AdapterURL))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣║RL]{_AdapterURL}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_AdapterURL))
+                          {
+                                addItem.AdapterURL = (string)(_AdapterURL.Trim());
+                           }
+                          
+                          if (string.IsNullOrEmpty(_AdapterRequestMethod))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾璇锋眰鏂瑰紡]{_AdapterRequestMethod}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_AdapterRequestMethod))
+                          {
+                          Admin.NET.Application.AdapterRequestMethodEnum  enumAdapterRequestMethod = default(Admin.NET.Application.AdapterRequestMethodEnum);
+                          
+                             if(!Enum.TryParse<Admin.NET.Application.AdapterRequestMethodEnum>(_AdapterRequestMethod, out enumAdapterRequestMethod)&&!string.IsNullOrEmpty(_AdapterRequestMethod))
+                              {
+                                throw Oops.Oh($"绗瑊index}琛孾璇锋眰鏂瑰紡]{_AdapterRequestMethod}鍊间笉姝g‘锛�");
+                              }
+                              else
+                              {
+                                 addItem.AdapterRequestMethod = enumAdapterRequestMethod;
+                              }
+                          
+                           }
+                          #endregion
+                          
+
+            details.Add(addItem);
+        }
+        //楠岄噸
+        await CheckExisitForImport(details);
+        return details;
+    }
+    
+    /// <summary>
+    /// 鏍规嵁鐗堟湰涓嬭浇閫傞厤鍣ㄧ鐞嗙殑Excel瀵煎叆妯℃澘
+    /// </summary>
+    /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "DownloadExcelTemplate")]
+    [Description("AdapterManagement/DownloadExcelTemplate")]
+    public IActionResult DownloadExcelTemplate()
+    {
+        string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\閫傞厤鍣ㄧ鐞唟TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
+        var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(閫傞厤鍣ㄧ鐞�).xlsx", Encoding.GetEncoding("UTF-8"));
+        return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
+    }
+    
+    #endregion
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ閫傞厤鍣ㄧ鐞嗘潯浠�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<AdapterManagementOutput> CommonPageFilter(AdapterManagementInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.CategoryName.Contains(input.SearchKey.Trim())
+                || u.AdapterName.Contains(input.SearchKey.Trim())
+                || u.AdapterMethodName.Contains(input.SearchKey.Trim())
+                || u.AdapterHost.Contains(input.SearchKey.Trim())
+                || u.AdapterPort.Contains(input.SearchKey.Trim())
+                || u.AdapterURL.Contains(input.SearchKey.Trim())
+                || u.CreateUserName.Contains(input.SearchKey.Trim())
+                || u.UpdateUserName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(input.AdapterCategoryId>0, u => u.AdapterCategoryId == input.AdapterCategoryId)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.CategoryName), u => u.CategoryName.Contains(input.CategoryName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AdapterName), u => u.AdapterName.Contains(input.AdapterName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AdapterMethodName), u => u.AdapterMethodName.Contains(input.AdapterMethodName.Trim()))
+            .WhereIF(input.AdapterMode.HasValue, u => u.AdapterMode == input.AdapterMode)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AdapterHost), u => u.AdapterHost.Contains(input.AdapterHost.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AdapterPort), u => u.AdapterPort.Contains(input.AdapterPort.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AdapterURL), u => u.AdapterURL.Contains(input.AdapterURL.Trim()))
+            .WhereIF(input.AdapterRequestMethod.HasValue, u => u.AdapterRequestMethod == input.AdapterRequestMethod)
+            .Select<AdapterManagementOutput>();
+        return query;
+       }
+
+        /// <summary>
+        /// 閲嶅鎬ч獙璇�
+        /// </summary>
+        /// <param name="input">楠岃瘉瀵硅薄</param>
+        /// <param name="isEdit">鏄惁鏄紪杈�</param>
+        /// <returns></returns>
+        private async Task CheckExist( WmsAdapterManagement input,bool isEdit=false)
+        {
+           
+
+
+            //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+           
+            //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+       }
+
+       /// <summary>
+        /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<WmsAdapterManagement> inputs)
+        { 
+            if (inputs?.Count <= 0)
+            {
+                throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+            }
+            //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                      
+
+
+
+
+
+
+          
+           //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+           
+           
+           
+        }
+     #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterManagement/Dto/AdapterManagementInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterManagement/Dto/AdapterManagementInput.cs
new file mode 100644
index 0000000..aa47aac
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterManagement/Dto/AdapterManagementInput.cs
@@ -0,0 +1,253 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+    /// <summary>
+    /// 閫傞厤鍣ㄧ鐞嗗熀纭�杈撳叆鍙傛暟
+    /// </summary>
+    public class AdapterManagementBaseInput
+    {
+        /// <summary>
+        /// 閫傞厤鍣ㄥぇ绫籭d
+        /// </summary>
+        public virtual long AdapterCategoryId { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣ㄥぇ绫诲悕绉�
+        /// </summary>
+        public virtual string CategoryName { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣ㄥ悕绉�
+        /// </summary>
+        public virtual string AdapterName { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣ㄦ柟娉曞悕绉�
+        /// </summary>
+        public virtual string AdapterMethodName { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤妯″紡
+        /// </summary>
+        public virtual Admin.NET.Application.AdapterModeEnum AdapterMode { get; set; }
+        
+        /// <summary>
+        /// 閰嶇疆涓绘満鍙�
+        /// </summary>
+        public virtual string AdapterHost { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣ㄧ鍙e彿
+        /// </summary>
+        public virtual string AdapterPort { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣║RL
+        /// </summary>
+        public virtual string AdapterURL { get; set; }
+        
+        /// <summary>
+        /// 璇锋眰鏂瑰紡
+        /// </summary>
+        public virtual Admin.NET.Application.AdapterRequestMethodEnum AdapterRequestMethod { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+        /// 淇敼鏃堕棿
+        /// </summary>
+        public virtual DateTime? UpdateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public virtual long? CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public virtual string CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜篒d
+        /// </summary>
+        public virtual long? UpdateUserId { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜�
+        /// </summary>
+        public virtual string UpdateUserName { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        public virtual bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄧ鐞嗗垎椤垫煡璇㈣緭鍏ュ弬鏁�
+    /// </summary>
+    public class AdapterManagementInput : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+        /// <summary>
+        /// 閫傞厤鍣ㄥぇ绫籭d
+        /// </summary>
+        public long? AdapterCategoryId { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣ㄥぇ绫诲悕绉�
+        /// </summary>
+        public string? CategoryName { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣ㄥ悕绉�
+        /// </summary>
+        public string? AdapterName { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣ㄦ柟娉曞悕绉�
+        /// </summary>
+        public string? AdapterMethodName { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤妯″紡
+        /// </summary>
+        public Admin.NET.Application.AdapterModeEnum? AdapterMode { get; set; }
+        
+        /// <summary>
+        /// 閰嶇疆涓绘満鍙�
+        /// </summary>
+        public string? AdapterHost { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣ㄧ鍙e彿
+        /// </summary>
+        public string? AdapterPort { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣║RL
+        /// </summary>
+        public string? AdapterURL { get; set; }
+        
+        /// <summary>
+        /// 璇锋眰鏂瑰紡
+        /// </summary>
+        public Admin.NET.Application.AdapterRequestMethodEnum? AdapterRequestMethod { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄧ鐞嗗鍔犺緭鍏ュ弬鏁�
+    /// </summary>
+    public class AddAdapterManagementInput : AdapterManagementBaseInput
+    {
+        /// <summary>
+        /// 閫傞厤鍣ㄥぇ绫籭d
+        /// </summary>
+        [Required(ErrorMessage = "閫傞厤鍣ㄥぇ绫籭d涓嶈兘涓虹┖")]
+        public override long AdapterCategoryId { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣ㄥぇ绫诲悕绉�
+        /// </summary>
+        [Required(ErrorMessage = "閫傞厤鍣ㄥぇ绫诲悕绉颁笉鑳戒负绌�")]
+        public override string CategoryName { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣ㄥ悕绉�
+        /// </summary>
+        [Required(ErrorMessage = "閫傞厤鍣ㄥ悕绉颁笉鑳戒负绌�")]
+        public override string AdapterName { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣ㄦ柟娉曞悕绉�
+        /// </summary>
+        [Required(ErrorMessage = "閫傞厤鍣ㄦ柟娉曞悕绉颁笉鑳戒负绌�")]
+        public override string AdapterMethodName { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤妯″紡
+        /// </summary>
+        [Required(ErrorMessage = "閫傞厤妯″紡涓嶈兘涓虹┖")]
+        public override Admin.NET.Application.AdapterModeEnum AdapterMode { get; set; }
+        
+        /// <summary>
+        /// 閰嶇疆涓绘満鍙�
+        /// </summary>
+        [Required(ErrorMessage = "閰嶇疆涓绘満鍙蜂笉鑳戒负绌�")]
+        public override string AdapterHost { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣ㄧ鍙e彿
+        /// </summary>
+        [Required(ErrorMessage = "閫傞厤鍣ㄧ鍙e彿涓嶈兘涓虹┖")]
+        public override string AdapterPort { get; set; }
+        
+        /// <summary>
+        /// 閫傞厤鍣║RL
+        /// </summary>
+        [Required(ErrorMessage = "閫傞厤鍣║RL涓嶈兘涓虹┖")]
+        public override string AdapterURL { get; set; }
+        
+        /// <summary>
+        /// 璇锋眰鏂瑰紡
+        /// </summary>
+        [Required(ErrorMessage = "璇锋眰鏂瑰紡涓嶈兘涓虹┖")]
+        public override Admin.NET.Application.AdapterRequestMethodEnum AdapterRequestMethod { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+        public override bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄧ鐞嗗垹闄よ緭鍏ュ弬鏁�
+    /// </summary>
+    public class DeleteAdapterManagementInput : BaseIdInput
+    {
+    }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄧ鐞嗘洿鏂拌緭鍏ュ弬鏁�
+    /// </summary>
+    public class UpdateAdapterManagementInput : AddAdapterManagementInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+        public long Id { get; set; }
+        
+    }
+    
+    
+    public class GetAdapterInfoInput
+    {
+        /// <summary>
+        /// 閫傞厤鍣ㄦ柟娉曞悕绉�
+        /// </summary>
+        public string AdapterMethodName { get; set; }
+    }
+    /// <summary>
+    /// 閫傞厤鍣ㄧ鐞嗕富閿煡璇㈣緭鍏ュ弬鏁�
+    /// </summary>
+    public class QueryByIdAdapterManagementInput : DeleteAdapterManagementInput
+    {
+        
+    }
+
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterManagement/Dto/AdapterManagementOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterManagement/Dto/AdapterManagementOutput.cs
new file mode 100644
index 0000000..2af19ad
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/AdapterManagement/Dto/AdapterManagementOutput.cs
@@ -0,0 +1,105 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 閫傞厤鍣ㄧ鐞嗚緭鍑哄弬鏁�
+/// </summary>
+public class AdapterManagementOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long? Id { get; set; }
+    
+    /// <summary>
+    /// 閫傞厤鍣ㄥぇ绫籭d
+    /// </summary>
+    public long AdapterCategoryId { get; set; }
+    
+    /// <summary>
+    /// 閫傞厤鍣ㄥぇ绫诲悕绉�
+    /// </summary>
+    public string CategoryName { get; set; }
+    
+    /// <summary>
+    /// 閫傞厤鍣ㄥ悕绉�
+    /// </summary>
+    public string AdapterName { get; set; }
+    
+    /// <summary>
+    /// 閫傞厤鍣ㄦ柟娉曞悕绉�
+    /// </summary>
+    public string AdapterMethodName { get; set; }
+    
+    /// <summary>
+    /// 閫傞厤妯″紡
+    /// </summary>
+    public Admin.NET.Application.AdapterModeEnum AdapterMode { get; set; }
+    
+    /// <summary>
+    /// 閰嶇疆涓绘満鍙�
+    /// </summary>
+    public string AdapterHost { get; set; }
+    
+    /// <summary>
+    /// 閫傞厤鍣ㄧ鍙e彿
+    /// </summary>
+    public string AdapterPort { get; set; }
+    
+    /// <summary>
+    /// 閫傞厤鍣║RL
+    /// </summary>
+    public string AdapterURL { get; set; }
+    
+    /// <summary>
+    /// 璇锋眰鏂瑰紡
+    /// </summary>
+    public Admin.NET.Application.AdapterRequestMethodEnum AdapterRequestMethod { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public string UpdateUserName { get; set; }
+    
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+    
+    }
+
+    /// <summary>
+    /// 璺緞鍦板潃杩斿洖鍙傛暟
+    /// </summary>
+    public class ApiAddressReturn
+    {
+        public string ApiAddress { get; set; }
+
+        public AdapterRequestMethodEnum AdapterRequestMethod { get; set; }
+    }
+ 
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/RecordAdapter/Dto/RecordAdapterInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/RecordAdapter/Dto/RecordAdapterInput.cs
new file mode 100644
index 0000000..cfa798e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/RecordAdapter/Dto/RecordAdapterInput.cs
@@ -0,0 +1,370 @@
+锘縰sing Admin.NET.Application.Entity;
+using Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 閫傞厤璁板綍鍩虹杈撳叆鍙傛暟
+/// </summary>
+public class RecordAdapterBaseInput
+{
+    /// <summary>
+    /// 閫傞厤鍣ㄥぇ绫籭d
+    /// </summary>
+    public virtual long AdapterCategoryId { get; set; }
+
+    /// <summary>
+    /// 鍗曟嵁澶х被鍚嶇О
+    /// </summary>
+    public virtual string CategoryName { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄥ悕绉�
+    /// </summary>
+    public virtual string AdapterName { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍣╥d
+    /// </summary>
+    public virtual long AdapterId { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄦ柟娉曞悕绉�
+    /// </summary>
+    public virtual string AdapterMethodName { get; set; }
+
+    /// <summary>
+    /// 璇锋眰鏉ユ簮
+    /// </summary>
+    public virtual string RequestSoure { get; set; }
+
+    /// <summary>
+    /// 閫傞厤SID
+    /// </summary>
+    public virtual string AdapterSID { get; set; }
+
+    /// <summary>
+    /// 寮�濮嬫椂闂�
+    /// </summary>
+    public virtual DateTime? BeginTime { get; set; }
+
+    /// <summary>
+    /// 缁撴潫鏃堕棿
+    /// </summary>
+    public virtual DateTime? EndingTime { get; set; }
+
+    /// <summary>
+    /// 鑰楁椂
+    /// </summary>
+    public virtual System.TimeSpan TimeDifference { get; set; }
+
+    /// <summary>
+    /// 澶勭悊鐘舵��
+    /// </summary>
+    public virtual Admin.NET.Application.AdapterLogDealWithEnum DealWithStatus { get; set; }
+
+    /// <summary>
+    /// 璇锋眰鏉ユ簮
+    /// </summary>
+    public virtual string ErrMessage { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍙傛暟
+    /// </summary>
+    public virtual string AdapterInput { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鎶ユ枃
+    /// </summary>
+    public virtual string AdapterReturnMassage { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public virtual DateTime? CreateTime { get; set; }
+
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public virtual DateTime? UpdateTime { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public virtual long? CreateUserId { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public virtual string CreateUserName { get; set; }
+
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public virtual long? UpdateUserId { get; set; }
+
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public virtual string UpdateUserName { get; set; }
+
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public virtual bool IsDelete { get; set; }
+
+}
+
+/// <summary>
+/// 閫傞厤璁板綍鍒嗛〉鏌ヨ杈撳叆鍙傛暟
+/// </summary>
+public class RecordAdapterInput : BasePageInput
+{
+
+    /// <summary>
+    /// 鍏抽敭鍊�
+    /// </summary>
+    [SugarColumn(ColumnName = "KeyCode", ColumnDescription = "鍏抽敭鍊�", Length = 255)]
+    public string? KeyCode { get; set; }
+
+    /// <summary>
+    /// 鍏抽敭瀛楁煡璇�
+    /// </summary>
+    public string? SearchKey { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄥぇ绫籭d
+    /// </summary>
+    public long? AdapterCategoryId { get; set; }
+
+    /// <summary>
+    /// 鍗曟嵁澶х被鍚嶇О
+    /// </summary>
+    public string? CategoryName { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄥ悕绉�
+    /// </summary>
+    public string? AdapterName { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍣╥d
+    /// </summary>
+    public long? AdapterId { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄦ柟娉曞悕绉�
+    /// </summary>
+    public string? AdapterMethodName { get; set; }
+
+    /// <summary>
+    /// 璇锋眰鏉ユ簮
+    /// </summary>
+    public string? RequestSoure { get; set; }
+
+    /// <summary>
+    /// 閫傞厤SID
+    /// </summary>
+    public string? AdapterSID { get; set; }
+
+    /// <summary>
+    /// 寮�濮嬫椂闂�
+    /// </summary>
+    public DateTime? BeginTime { get; set; }
+
+    /// <summary>
+    /// 寮�濮嬫椂闂磋寖鍥�
+    /// </summary>
+    public List<DateTime?> BeginTimeRange { get; set; }
+    /// <summary>
+    /// 缁撴潫鏃堕棿
+    /// </summary>
+    public DateTime? EndingTime { get; set; }
+
+    /// <summary>
+    /// 缁撴潫鏃堕棿鑼冨洿
+    /// </summary>
+    public List<DateTime?> EndingTimeRange { get; set; }
+    /// <summary>
+    /// 鑰楁椂
+    /// </summary>
+    public int? TimeDifference { get; set; }
+
+    /// <summary>
+    /// 澶勭悊鐘舵��
+    /// </summary>
+    public Admin.NET.Application.AdapterLogDealWithEnum? DealWithStatus { get; set; }
+
+    /// <summary>
+    /// 璇锋眰鏉ユ簮
+    /// </summary>
+    public string? ErrMessage { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍙傛暟
+    /// </summary>
+    public string? AdapterInput { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鎶ユ枃
+    /// </summary>
+    public string? AdapterReturnMassage { get; set; }
+
+}
+
+/// <summary>
+/// 閫傞厤璁板綍澧炲姞杈撳叆鍙傛暟
+/// </summary>
+public class AddRecordAdapterInput : RecordAdapterBaseInput
+{
+    /// <summary>
+    /// 閫傞厤鍣ㄥぇ绫籭d
+    /// </summary>
+    [Required(ErrorMessage = "閫傞厤鍣ㄥぇ绫籭d涓嶈兘涓虹┖")]
+    public override long AdapterCategoryId { get; set; }
+
+    /// <summary>
+    /// 鍗曟嵁澶х被鍚嶇О
+    /// </summary>
+    [Required(ErrorMessage = "鍗曟嵁澶х被鍚嶇О涓嶈兘涓虹┖")]
+    public override string CategoryName { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄥ悕绉�
+    /// </summary>
+    [Required(ErrorMessage = "閫傞厤鍣ㄥ悕绉颁笉鑳戒负绌�")]
+    public override string AdapterName { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍣╥d
+    /// </summary>
+    [Required(ErrorMessage = "閫傞厤鍣╥d涓嶈兘涓虹┖")]
+    public override long AdapterId { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍣ㄦ柟娉曞悕绉�
+    /// </summary>
+    [Required(ErrorMessage = "閫傞厤鍣ㄦ柟娉曞悕绉颁笉鑳戒负绌�")]
+    public override string AdapterMethodName { get; set; }
+
+    /// <summary>
+    /// 璇锋眰鏉ユ簮
+    /// </summary>
+    [Required(ErrorMessage = "璇锋眰鏉ユ簮涓嶈兘涓虹┖")]
+    public override string RequestSoure { get; set; }
+
+    /// <summary>
+    /// 閫傞厤SID
+    /// </summary>
+    [Required(ErrorMessage = "閫傞厤SID涓嶈兘涓虹┖")]
+    public override string AdapterSID { get; set; }
+
+    /// <summary>
+    /// 鑰楁椂
+    /// </summary>
+    [Required(ErrorMessage = "鑰楁椂涓嶈兘涓虹┖")]
+    public override System.TimeSpan TimeDifference { get; set; }
+
+    /// <summary>
+    /// 澶勭悊鐘舵��
+    /// </summary>
+    [Required(ErrorMessage = "澶勭悊鐘舵�佷笉鑳戒负绌�")]
+    public override Admin.NET.Application.AdapterLogDealWithEnum DealWithStatus { get; set; }
+
+    /// <summary>
+    /// 璇锋眰鏉ユ簮
+    /// </summary>
+    [Required(ErrorMessage = "璇锋眰鏉ユ簮涓嶈兘涓虹┖")]
+    public override string ErrMessage { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍙傛暟
+    /// </summary>
+    [Required(ErrorMessage = "閫傞厤鍙傛暟涓嶈兘涓虹┖")]
+    public override string AdapterInput { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鎶ユ枃
+    /// </summary>
+    [Required(ErrorMessage = "閫傞厤鎶ユ枃涓嶈兘涓虹┖")]
+    public override string AdapterReturnMassage { get; set; }
+
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+    public override bool IsDelete { get; set; }
+
+    /// <summary>
+    /// 鍗曟嵁缂栧彿
+    /// </summary>
+    public string OrderNo { get; set; }
+
+}
+
+/// <summary>
+/// 閫傞厤璁板綍鍒犻櫎杈撳叆鍙傛暟
+/// </summary>
+public class DeleteRecordAdapterInput : BaseIdInput
+{
+}
+
+/// <summary>
+/// 閫傞厤璁板綍鏇存柊杈撳叆鍙傛暟
+/// </summary>
+public class UpdateRecordAdapterInput : AddRecordAdapterInput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+    public long Id { get; set; }
+
+}
+
+public class TryAgainInput
+{
+    /// <summary>
+    /// 閫傞厤鍣ㄨ褰昳d闆嗗悎
+    /// </summary>
+    public List<long> IdList { get; set; }
+}
+
+
+/// <summary>
+/// 閫傞厤璁板綍鏇存柊杈撳叆鍙傛暟
+/// </summary>
+public class CancelAndCompletionInput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+    public long Id { get; set; }
+
+}
+
+public class UpdateAdapterRecordByCCInput
+{
+    public List<long> RecordAdapterIdList { get; set; }
+
+    public string ErpVoucher { get; set; }
+}
+
+
+public class AdapterLogsInfoUpdateInput
+{
+    public List<long> RecordAdapterIdList { get; set; }
+
+    public string AdapterInputInfo { get; set; }
+}
+
+
+/// <summary>
+/// 閫傞厤璁板綍涓婚敭鏌ヨ杈撳叆鍙傛暟
+/// </summary>
+public class QueryByIdRecordAdapterInput : DeleteRecordAdapterInput
+{
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/RecordAdapter/Dto/RecordAdapterOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/RecordAdapter/Dto/RecordAdapterOutput.cs
new file mode 100644
index 0000000..5ab6f07
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/RecordAdapter/Dto/RecordAdapterOutput.cs
@@ -0,0 +1,132 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 閫傞厤璁板綍杈撳嚭鍙傛暟
+/// </summary>
+public class RecordAdapterOutput
+{
+
+    /// <summary>
+    /// 鍏抽敭鍊�
+    /// </summary>
+    [SugarColumn(ColumnName = "KeyCode", ColumnDescription = "鍏抽敭鍊�", Length = 255)]
+    public string? KeyCode { get; set; }
+
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long? Id { get; set; }
+    
+    /// <summary>
+    /// 閫傞厤鍣ㄥぇ绫籭d
+    /// </summary>
+    public long AdapterCategoryId { get; set; }
+    
+    /// <summary>
+    /// 鍗曟嵁澶х被鍚嶇О
+    /// </summary>
+    public string CategoryName { get; set; }
+    
+    /// <summary>
+    /// 閫傞厤鍣ㄥ悕绉�
+    /// </summary>
+    public string AdapterName { get; set; }
+    
+    /// <summary>
+    /// 閫傞厤鍣╥d
+    /// </summary>
+    public long AdapterId { get; set; }
+    
+    /// <summary>
+    /// 閫傞厤鍣ㄦ柟娉曞悕绉�
+    /// </summary>
+    public string AdapterMethodName { get; set; }
+    
+    /// <summary>
+    /// 璇锋眰鏉ユ簮
+    /// </summary>
+    public string RequestSoure { get; set; }
+    
+    /// <summary>
+    /// 閫傞厤SID
+    /// </summary>
+    public string AdapterSID { get; set; }
+    
+    /// <summary>
+    /// 寮�濮嬫椂闂�
+    /// </summary>
+    public DateTime? BeginTime { get; set; }
+    
+    /// <summary>
+    /// 缁撴潫鏃堕棿
+    /// </summary>
+    public DateTime? EndingTime { get; set; }
+    
+    /// <summary>
+    /// 鑰楁椂
+    /// </summary>
+    public int TimeDifference { get; set; }
+    
+    /// <summary>
+    /// 澶勭悊鐘舵��
+    /// </summary>
+    public Admin.NET.Application.AdapterLogDealWithEnum DealWithStatus { get; set; }
+    
+    /// <summary>
+    /// 璇锋眰鏉ユ簮
+    /// </summary>
+    public string ErrMessage { get; set; }
+
+    /// <summary>
+    /// 鍗曟嵁缂栧彿
+    /// </summary>
+    public string OrderNo { get; set; }
+
+    /// <summary>
+    /// 閫傞厤鍙傛暟
+    /// </summary>
+    public string AdapterInput { get; set; }
+    
+    /// <summary>
+    /// 閫傞厤鎶ユ枃
+    /// </summary>
+    public string AdapterReturnMassage { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public string UpdateUserName { get; set; }
+    
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+    
+    }
+ 
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/RecordAdapter/RecordAdapterService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/RecordAdapter/RecordAdapterService.cs
new file mode 100644
index 0000000..a7c9cfc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/SoftwareAdapterService/RecordAdapter/RecordAdapterService.cs
@@ -0,0 +1,588 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+using Furion.DatabaseAccessor;
+using MaxMind.GeoIP2.Responses;
+using Newtonsoft.Json;
+using static SKIT.FlurlHttpClient.Wechat.Api.Events.NotifyThirdFastRegisterBetaAppEvent.Types;
+
+namespace Admin.NET.Application;
+/// <summary>
+/// 閫傞厤璁板綍鏈嶅姟
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.SoftwareAdapterServiceGroupName, Order = 100)]
+public class RecordAdapterService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<WmsAdapterRecord> _rep;
+    private readonly SqlSugarRepository<WmsAdapterManagement> _repAdapterManagement;
+    private readonly SqlSugarRepository<WmsAdapterCategories> _repAdapterCategories;
+
+    private readonly SqlSugarRepository<WmsStockQuan> _repWmsStockQuanRep;
+
+
+    public RecordAdapterService(SqlSugarRepository<WmsAdapterRecord> rep, 
+        SqlSugarRepository<WmsAdapterManagement> repAdapterManagement, 
+        SqlSugarRepository<WmsAdapterCategories> repAdapterCategories,
+        SqlSugarRepository<WmsStockQuan> repWmsStockQuanRep)
+    {
+        _rep = rep;
+        _repAdapterManagement = repAdapterManagement;
+        _repAdapterCategories = repAdapterCategories;
+      
+        _repWmsStockQuanRep = repWmsStockQuanRep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ閫傞厤璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("RecordAdapter/Page")]
+    public async Task<SqlSugarPagedList<RecordAdapterOutput>> Page(RecordAdapterInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇㈤�傞厤璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("RecordAdapter/List")]
+    public async Task<List<RecordAdapterOutput>> List([FromQuery] RecordAdapterInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").Select<RecordAdapterOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞閫傞厤璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("RecordAdapter/Add")]
+    public async Task<long> Add(AddRecordAdapterInput input)
+    {
+        var entity = input.Adapt<WmsAdapterRecord>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+
+
+    /// <summary>
+    /// CC璋冪敤鏇存敼閫傞厤鍣ㄨ褰曠姸鎬�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "UpdateAdapterRecordInfo")]
+    [Description("RecordAdapter/UpdateAdapterRecordInfo")]
+    [AllowAnonymous]
+    public async Task UpdateAdapterRecordInfo(AdapterLogsInfoUpdateInput input)
+    {
+        var entity = await _rep.AsQueryable().Where(p => input.RecordAdapterIdList.Contains(p.Id)).ToListAsync();
+        var result = JsonConvert.DeserializeObject<AdminResult<object>>(input.AdapterInputInfo);
+        if (result != null)
+        {
+            foreach (var item in entity)
+            {
+                item.AdapterReturnMassage = input.AdapterInputInfo;
+                item.ErrMessage = result.Message;
+                if (result.Code != 200)
+                {
+                    item.DealWithStatus =  AdapterLogDealWithEnum.澶勭悊澶辫触;
+                }
+            }
+            await _rep.UpdateRangeAsync(entity);
+        }
+    }
+
+
+
+    /// <summary>
+    /// 鍒犻櫎閫傞厤璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("RecordAdapter/Delete")]
+    public async Task Delete(DeleteRecordAdapterInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊閫傞厤璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("RecordAdapter/Update")]
+    public async Task Update(UpdateRecordAdapterInput input)
+    {
+        var entity = input.Adapt<WmsAdapterRecord>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity, true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鍙栨秷閫傞厤璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Cancel")]
+    [Description("RecordAdapter/Cancel")]
+    public async Task Cancel(CancelAndCompletionInput input)
+    {
+        var model = await _rep.AsQueryable().FirstAsync(p => p.Id == input.Id);
+        if (model == null) throw Oops.Oh("鏈煡鍒板綋鍓嶉�傞厤鍣ㄨ褰�");
+        if (model.DealWithStatus != AdapterLogDealWithEnum.鏈鐞� || model.DealWithStatus != AdapterLogDealWithEnum.澶勭悊澶辫触) throw Oops.Oh("褰撳墠閫傞厤璁板綍鐘舵�佷笉鍙彇娑�");
+        model.DealWithStatus = AdapterLogDealWithEnum.宸插彇娑�;
+        await _rep.UpdateAsync(model);
+    }
+    /// <summary>
+    /// 寮哄埗瀹屾垚閫傞厤璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ForcedCompletion")]
+    [Description("RecordAdapter/ForcedCompletion")]
+    public async Task ForcedCompletion(CancelAndCompletionInput input)
+    {
+        var model = await _rep.AsQueryable().FirstAsync(p => p.Id == input.Id);
+        if (model == null) throw Oops.Oh("鏈煡鍒板綋鍓嶉�傞厤鍣ㄨ褰�");
+        if (model.DealWithStatus != AdapterLogDealWithEnum.鏈鐞�) throw Oops.Oh("褰撳墠閫傞厤璁板綍鐘舵�佷笉鍙己鍒跺畬鎴�");
+        model.DealWithStatus = AdapterLogDealWithEnum.寮哄埗瀹屾垚;
+        await _rep.UpdateAsync(model);
+    }
+
+    /// <summary>
+    /// 閲嶈瘯
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "TryAgain")]
+    [Description("RecordAdapter/TryAgain")]
+    public async Task TryAgain(TryAgainInput input)
+    {
+        //灏嗛�傞厤鍣ㄨ褰曚腑鐨勬墽琛屽け璐ョ殑鐘舵�佹敼涓哄緟鎵ц
+        var adapterList = await _rep.AsQueryable().Where(p => input.IdList.Contains(p.Id)).ToListAsync();
+        if (adapterList.Count == 0) throw Oops.Oh("鏈煡鍒板綋鍓嶉�傞厤鍣ㄨ褰�");
+        //  if(adapterList.)
+        foreach (var adapter in adapterList)
+        {
+            if (adapter.DealWithStatus != AdapterLogDealWithEnum.澶勭悊澶辫触) throw Oops.Oh("褰撳墠閫傞厤鍣ㄨ褰曚笉鍙噸璇�");
+            adapter.DealWithStatus = AdapterLogDealWithEnum.鏈鐞�;
+        }
+        await _rep.UpdateRangeAsync(adapterList);
+    }
+
+
+
+    /// <summary>
+    /// 鑾峰彇閫傞厤璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("RecordAdapter/Detail")]
+    public async Task<WmsAdapterRecord> Detail([FromQuery] QueryByIdRecordAdapterInput input)
+    {
+        return await _rep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+
+
+
+
+    #region 瀵煎叆
+
+    /// <summary>
+    /// Excel妯℃澘瀵煎叆閫傞厤璁板綍鍔熻兘
+    /// </summary>
+    /// <param name="file">Excel妯℃澘鏂囦欢</param>
+    /// <returns>瀵煎叆鐨勮褰曟暟</returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ImportExcel")]
+    [Description("RecordAdapter/ImportExcel")]
+    public async Task<int> ImportExcelAsync(IFormFile file)
+    {
+        int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕
+        int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁
+        DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine);
+        var addList = await CommonImport(importDataTable, _DataStartLine);
+        await _rep.InsertRangeAsync(addList);
+        return addList.Count;
+    }
+
+    /// <summary>
+    ///  DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+    /// </summary>
+    /// <param name="dataTable"></param>
+    /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+    /// <returns></returns>
+    private async Task<List<WmsAdapterRecord>> CommonImport(DataTable dataTable, int dataStartLine)
+    {
+        var details = new List<WmsAdapterRecord>();
+        int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭
+        foreach (System.Data.DataRow row in dataTable.Rows)
+        {
+            index++;
+            //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛�
+
+            var addItem = new WmsAdapterRecord();
+            #region 瀹氫箟鍙橀噺
+            var _AdapterCategoryId = "";//閫傞厤鍣ㄥぇ绫籭d
+            var _CategoryName = "";//鍗曟嵁澶х被鍚嶇О
+            var _AdapterName = "";//閫傞厤鍣ㄥ悕绉�
+            var _AdapterId = "";//閫傞厤鍣╥d
+            var _AdapterMethodName = "";//閫傞厤鍣ㄦ柟娉曞悕绉�
+            var _RequestSoure = "";//璇锋眰鏉ユ簮
+            var _AdapterSID = "";//閫傞厤SID
+            var _BeginTime = "";//寮�濮嬫椂闂�
+            var _EndingTime = "";//缁撴潫鏃堕棿
+            var _TimeDifference = "";//鑰楁椂
+            var _DealWithStatus = "";//澶勭悊鐘舵��
+            var _ErrMessage = "";//璇锋眰鏉ユ簮
+            var _AdapterInput = "";//閫傞厤鍙傛暟
+            var _AdapterReturnMassage = "";//閫傞厤鎶ユ枃
+            #endregion
+
+
+            #region 鍙栧��
+            _AdapterCategoryId = row["閫傞厤鍣ㄥぇ绫籭d"]?.ToString();
+            _CategoryName = row["鍗曟嵁澶х被鍚嶇О"]?.ToString();
+            _AdapterName = row["閫傞厤鍣ㄥ悕绉�"]?.ToString();
+            _AdapterId = row["閫傞厤鍣╥d"]?.ToString();
+            _AdapterMethodName = row["閫傞厤鍣ㄦ柟娉曞悕绉�"]?.ToString();
+            _RequestSoure = row["璇锋眰鏉ユ簮"]?.ToString();
+            _AdapterSID = row["閫傞厤SID"]?.ToString();
+            _BeginTime = row["寮�濮嬫椂闂�"]?.ToString();
+            _EndingTime = row["缁撴潫鏃堕棿"]?.ToString();
+            _TimeDifference = row["鑰楁椂"]?.ToString();
+            _DealWithStatus = row["澶勭悊鐘舵��"]?.ToString();
+            _ErrMessage = row["璇锋眰鏉ユ簮"]?.ToString();
+            _AdapterInput = row["閫傞厤鍙傛暟"]?.ToString();
+            _AdapterReturnMassage = row["閫傞厤鎶ユ枃"]?.ToString();
+            #endregion
+
+
+            #region 楠岃瘉
+
+            if (string.IsNullOrEmpty(_AdapterCategoryId))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣ㄥぇ绫籭d]{_AdapterCategoryId}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_AdapterCategoryId))
+            {
+                if (!long.TryParse(_AdapterCategoryId, out long outAdapterCategoryId) && !string.IsNullOrEmpty(_AdapterCategoryId))
+                {
+                    throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣ㄥぇ绫籭d]{_AdapterCategoryId}鍊间笉姝g‘锛�");
+                }
+                if (outAdapterCategoryId <= 0 && !string.IsNullOrEmpty(_AdapterCategoryId))
+                {
+                    throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣ㄥぇ绫籭d]{_AdapterCategoryId}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                }
+                else
+                {
+                    addItem.AdapterCategoryId = outAdapterCategoryId;
+                }
+
+            }
+
+            if (string.IsNullOrEmpty(_CategoryName))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾鍗曟嵁澶х被鍚嶇О]{_CategoryName}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_CategoryName))
+            {
+                addItem.CategoryName = (string)(_CategoryName.Trim());
+            }
+
+            if (string.IsNullOrEmpty(_AdapterName))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣ㄥ悕绉癩{_AdapterName}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_AdapterName))
+            {
+                addItem.AdapterName = (string)(_AdapterName.Trim());
+            }
+
+            if (string.IsNullOrEmpty(_AdapterId))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣╥d]{_AdapterId}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_AdapterId))
+            {
+                if (!long.TryParse(_AdapterId, out long outAdapterId) && !string.IsNullOrEmpty(_AdapterId))
+                {
+                    throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣╥d]{_AdapterId}鍊间笉姝g‘锛�");
+                }
+                if (outAdapterId <= 0 && !string.IsNullOrEmpty(_AdapterId))
+                {
+                    throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣╥d]{_AdapterId}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                }
+                else
+                {
+                    addItem.AdapterId = outAdapterId;
+                }
+
+            }
+
+            if (string.IsNullOrEmpty(_AdapterMethodName))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍣ㄦ柟娉曞悕绉癩{_AdapterMethodName}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_AdapterMethodName))
+            {
+                addItem.AdapterMethodName = (string)(_AdapterMethodName.Trim());
+            }
+
+            if (string.IsNullOrEmpty(_RequestSoure))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾璇锋眰鏉ユ簮]{_RequestSoure}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_RequestSoure))
+            {
+                addItem.RequestSoure = (string)(_RequestSoure.Trim());
+            }
+
+            if (string.IsNullOrEmpty(_AdapterSID))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾閫傞厤SID]{_AdapterSID}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_AdapterSID))
+            {
+                addItem.AdapterSID = (string)(_AdapterSID.Trim());
+            }
+            if (!string.IsNullOrEmpty(_BeginTime))
+            {
+                addItem.BeginTime = Convert.ToDateTime(Convert.ToDateTime(_BeginTime.Trim()).ToShortDateString());
+            }
+            if (!string.IsNullOrEmpty(_EndingTime))
+            {
+                addItem.EndingTime = Convert.ToDateTime(Convert.ToDateTime(_EndingTime.Trim()).ToShortDateString());
+            }
+
+            if (string.IsNullOrEmpty(_TimeDifference))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾鑰楁椂]{_TimeDifference}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_TimeDifference))
+            {
+                //addItem.TimeDifference = (System.TimeSpan)(_TimeDifference.Trim());
+            }
+
+            if (string.IsNullOrEmpty(_DealWithStatus))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾澶勭悊鐘舵�乚{_DealWithStatus}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_DealWithStatus))
+            {
+                Admin.NET.Application.AdapterLogDealWithEnum enumDealWithStatus = default(Admin.NET.Application.AdapterLogDealWithEnum);
+
+                if (!Enum.TryParse<Admin.NET.Application.AdapterLogDealWithEnum>(_DealWithStatus, out enumDealWithStatus) && !string.IsNullOrEmpty(_DealWithStatus))
+                {
+                    throw Oops.Oh($"绗瑊index}琛孾澶勭悊鐘舵�乚{_DealWithStatus}鍊间笉姝g‘锛�");
+                }
+                else
+                {
+                    addItem.DealWithStatus = enumDealWithStatus;
+                }
+
+            }
+
+            if (string.IsNullOrEmpty(_ErrMessage))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾璇锋眰鏉ユ簮]{_ErrMessage}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_ErrMessage))
+            {
+                addItem.ErrMessage = (string)(_ErrMessage.Trim());
+            }
+
+            if (string.IsNullOrEmpty(_AdapterInput))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾閫傞厤鍙傛暟]{_AdapterInput}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_AdapterInput))
+            {
+                addItem.AdapterInput = (string)(_AdapterInput.Trim());
+            }
+
+            if (string.IsNullOrEmpty(_AdapterReturnMassage))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾閫傞厤鎶ユ枃]{_AdapterReturnMassage}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_AdapterReturnMassage))
+            {
+                addItem.AdapterReturnMassage = (string)(_AdapterReturnMassage.Trim());
+            }
+            #endregion
+
+
+            details.Add(addItem);
+        }
+        //楠岄噸
+        await CheckExisitForImport(details);
+        return details;
+    }
+
+    /// <summary>
+    /// 鏍规嵁鐗堟湰涓嬭浇閫傞厤璁板綍鐨凟xcel瀵煎叆妯℃澘
+    /// </summary>
+    /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "DownloadExcelTemplate")]
+    [Description("RecordAdapter/DownloadExcelTemplate")]
+    public IActionResult DownloadExcelTemplate()
+    {
+        string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\閫傞厤璁板綍{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
+        var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(閫傞厤璁板綍).xlsx", Encoding.GetEncoding("UTF-8"));
+        return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
+    }
+
+    #endregion
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ閫傞厤璁板綍鏉′欢
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<RecordAdapterOutput> CommonPageFilter(RecordAdapterInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.CategoryName.Contains(input.SearchKey.Trim())
+                || u.AdapterName.Contains(input.SearchKey.Trim())
+                || u.AdapterMethodName.Contains(input.SearchKey.Trim())
+                || u.RequestSoure.Contains(input.SearchKey.Trim())
+                || u.AdapterSID.Contains(input.SearchKey.Trim())
+                || u.ErrMessage.Contains(input.SearchKey.Trim())
+                || u.AdapterInput.Contains(input.SearchKey.Trim())
+                || u.AdapterReturnMassage.Contains(input.SearchKey.Trim())
+                || u.CreateUserName.Contains(input.SearchKey.Trim())
+                || u.UpdateUserName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(input.AdapterCategoryId > 0, u => u.AdapterCategoryId == input.AdapterCategoryId)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.CategoryName), u => u.CategoryName.Contains(input.CategoryName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.KeyCode), u => u.KeyCode.Contains(input.KeyCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AdapterName), u => u.AdapterName.Contains(input.AdapterName.Trim()))
+            .WhereIF(input.AdapterId > 0, u => u.AdapterId == input.AdapterId)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AdapterMethodName), u => u.AdapterMethodName.Contains(input.AdapterMethodName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.RequestSoure), u => u.RequestSoure.Contains(input.RequestSoure.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AdapterSID), u => u.AdapterSID.Contains(input.AdapterSID.Trim()))
+            .WhereIF(input.DealWithStatus.HasValue, u => u.DealWithStatus == input.DealWithStatus)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.ErrMessage), u => u.ErrMessage.Contains(input.ErrMessage.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AdapterInput), u => u.AdapterInput.Contains(input.AdapterInput.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AdapterReturnMassage), u => u.AdapterReturnMassage.Contains(input.AdapterReturnMassage.Trim()))
+            .Select<RecordAdapterOutput>();
+        if (input.BeginTimeRange != null && input.BeginTimeRange.Count > 0)
+        {
+            DateTime? start = input.BeginTimeRange[0].Value.AddDays(-1);
+            query = query.WhereIF(start.HasValue, u => u.BeginTime > start);
+            if (input.BeginTimeRange.Count > 1 && input.BeginTimeRange[1].HasValue)
+            {
+                var end = input.BeginTimeRange[1].Value.AddDays(1);
+                query = query.Where(u => u.BeginTime < end);
+            }
+        }
+        if (input.EndingTimeRange != null && input.EndingTimeRange.Count > 0)
+        {
+            DateTime? start = input.EndingTimeRange[0].Value.AddDays(-1);
+            query = query.WhereIF(start.HasValue, u => u.EndingTime > start);
+            if (input.EndingTimeRange.Count > 1 && input.EndingTimeRange[1].HasValue)
+            {
+                var end = input.EndingTimeRange[1].Value.AddDays(1);
+                query = query.Where(u => u.EndingTime < end);
+            }
+        }
+        return query;
+    }
+
+    /// <summary>
+    /// 閲嶅鎬ч獙璇�
+    /// </summary>
+    /// <param name="input">楠岃瘉瀵硅薄</param>
+    /// <param name="isEdit">鏄惁鏄紪杈�</param>
+    /// <returns></returns>
+    private async Task CheckExist(WmsAdapterRecord input, bool isEdit = false)
+    {
+
+
+
+        //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+
+        //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+    }
+
+    /// <summary>
+    /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+    /// </summary>
+    /// <param name="inputs"></param>
+    /// <returns></returns>
+    private async Task CheckExisitForImport(List<WmsAdapterRecord> inputs)
+    {
+        if (inputs?.Count <= 0)
+        {
+            throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+        }
+        //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+
+
+
+
+
+
+
+
+        //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+
+
+
+    }
+    #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestStudent/Dto/TestStudentInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestStudent/Dto/TestStudentInput.cs
new file mode 100644
index 0000000..480179d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestStudent/Dto/TestStudentInput.cs
@@ -0,0 +1,303 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓琛ㄥ熀纭�杈撳叆鍙傛暟
+    /// </summary>
+    public class TestStudentBaseInput
+    {
+        /// <summary>
+        /// 閲嶅鎬ф牎楠屾柟寮�
+        /// </summary>
+        public virtual string RepCheckType { get; set; }
+        
+        /// <summary>
+        /// 鑰佸笀ID(鍙┖)
+        /// </summary>
+        public virtual long? TeacherId { get; set; }
+        
+        /// <summary>
+        /// 鑰佸笀鍚嶅瓧(鍙┖)
+        /// </summary>
+        public virtual string TeacherName { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓濮撳悕
+        /// </summary>
+        public virtual string Name { get; set; }
+        
+        /// <summary>
+        /// 鍒悕(鍙┖)
+        /// </summary>
+        public virtual string AliName { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓骞撮緞
+        /// </summary>
+        public virtual int Age { get; set; }
+        
+        /// <summary>
+        /// 骞寸邯(鍙┖)
+        /// </summary>
+        public virtual int? NianJi { get; set; }
+        
+        /// <summary>
+        /// 鏍¢暱ID(鍙┖)
+        /// </summary>
+        public virtual long? RectorId { get; set; }
+        
+        /// <summary>
+        /// 闆惰姳閽�
+        /// </summary>
+        public virtual decimal HasMoney { get; set; }
+        
+        /// <summary>
+        /// 韬环(鍙┖)
+        /// </summary>
+        public virtual decimal? ShenJia { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍦ㄦ牎
+        /// </summary>
+        public virtual bool IsInSchool { get; set; }
+        
+        /// <summary>
+        /// 鏄惁澶栧湴浜�(鍙┖)
+        /// </summary>
+        public virtual bool? IsWDR { get; set; }
+        
+        /// <summary>
+        /// 鎬у埆
+        /// </summary>
+        public virtual Admin.NET.Core.GenderEnum Gender { get; set; }
+        
+        /// <summary>
+        /// 鍏朵粬鎬у埆(鍙┖)
+        /// </summary>
+        public virtual Admin.NET.Core.GenderEnum? OtherGender { get; set; }
+        
+        /// <summary>
+        /// 鍑虹敓鏃ユ湡
+        /// </summary>
+        public virtual DateTime BrithDate { get; set; }
+        
+        /// <summary>
+        /// 鍏ュ鏃ユ湡(鍙┖)
+        /// </summary>
+        public virtual DateTime? InSchoolDate { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+        public virtual DateTime? UpdateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public virtual long? CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public virtual string CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜篒d
+        /// </summary>
+        public virtual long? UpdateUserId { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜�
+        /// </summary>
+        public virtual string UpdateUserName { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        public virtual bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓琛ㄥ垎椤垫煡璇㈣緭鍏ュ弬鏁�
+    /// </summary>
+    public class TestStudentInput : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+        /// <summary>
+        /// 閲嶅鎬ф牎楠屾柟寮�
+        /// </summary>
+        public string? RepCheckType { get; set; }
+        
+        /// <summary>
+        /// 鑰佸笀ID(鍙┖)
+        /// </summary>
+        public long? TeacherId { get; set; }
+        
+        /// <summary>
+        /// 鑰佸笀鍚嶅瓧(鍙┖)
+        /// </summary>
+        public string? TeacherName { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓濮撳悕
+        /// </summary>
+        public string? Name { get; set; }
+        
+        /// <summary>
+        /// 鍒悕(鍙┖)
+        /// </summary>
+        public string? AliName { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓骞撮緞
+        /// </summary>
+        public int? Age { get; set; }
+        
+        /// <summary>
+        /// 骞寸邯(鍙┖)
+        /// </summary>
+        public int? NianJi { get; set; }
+        
+        /// <summary>
+        /// 鏍¢暱ID(鍙┖)
+        /// </summary>
+        public long? RectorId { get; set; }
+        
+        /// <summary>
+        /// 闆惰姳閽�
+        /// </summary>
+        public decimal? HasMoney { get; set; }
+        
+        /// <summary>
+        /// 韬环(鍙┖)
+        /// </summary>
+        public decimal? ShenJia { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍦ㄦ牎
+        /// </summary>
+        public bool? IsInSchool { get; set; }
+        
+        /// <summary>
+        /// 鏄惁澶栧湴浜�(鍙┖)
+        /// </summary>
+        public bool? IsWDR { get; set; }
+        
+        /// <summary>
+        /// 鎬у埆
+        /// </summary>
+        public Admin.NET.Core.GenderEnum? Gender { get; set; }
+        
+        /// <summary>
+        /// 鍏朵粬鎬у埆(鍙┖)
+        /// </summary>
+        public Admin.NET.Core.GenderEnum? OtherGender { get; set; }
+        
+        /// <summary>
+        /// 鍑虹敓鏃ユ湡
+        /// </summary>
+        public DateTime? BrithDate { get; set; }
+        
+        /// <summary>
+         /// 鍑虹敓鏃ユ湡鑼冨洿
+         /// </summary>
+         public List<DateTime?> BrithDateRange { get; set; } 
+        /// <summary>
+        /// 鍏ュ鏃ユ湡(鍙┖)
+        /// </summary>
+        public DateTime? InSchoolDate { get; set; }
+        
+        /// <summary>
+         /// 鍏ュ鏃ユ湡(鍙┖)鑼冨洿
+         /// </summary>
+         public List<DateTime?> InSchoolDateRange { get; set; } 
+    }
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓琛ㄥ鍔犺緭鍏ュ弬鏁�
+    /// </summary>
+    public class AddTestStudentInput : TestStudentBaseInput
+    {
+        /// <summary>
+        /// 瀛︾敓濮撳悕
+        /// </summary>
+        [Required(ErrorMessage = "瀛︾敓濮撳悕涓嶈兘涓虹┖")]
+        public override string Name { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓骞撮緞
+        /// </summary>
+        [Required(ErrorMessage = "瀛︾敓骞撮緞涓嶈兘涓虹┖")]
+        public override int Age { get; set; }
+        
+        /// <summary>
+        /// 闆惰姳閽�
+        /// </summary>
+        [Required(ErrorMessage = "闆惰姳閽变笉鑳戒负绌�")]
+        public override decimal HasMoney { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍦ㄦ牎
+        /// </summary>
+        [Required(ErrorMessage = "鏄惁鍦ㄦ牎涓嶈兘涓虹┖")]
+        public override bool IsInSchool { get; set; }
+        
+        /// <summary>
+        /// 鎬у埆
+        /// </summary>
+        [Required(ErrorMessage = "鎬у埆涓嶈兘涓虹┖")]
+        public override Admin.NET.Core.GenderEnum Gender { get; set; }
+        
+        /// <summary>
+        /// 鍑虹敓鏃ユ湡
+        /// </summary>
+        [Required(ErrorMessage = "鍑虹敓鏃ユ湡涓嶈兘涓虹┖")]
+        public override DateTime BrithDate { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+        public override bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓琛ㄥ垹闄よ緭鍏ュ弬鏁�
+    /// </summary>
+    public class DeleteTestStudentInput : BaseIdInput
+    {
+    }
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓琛ㄦ洿鏂拌緭鍏ュ弬鏁�
+    /// </summary>
+    public class UpdateTestStudentInput : AddTestStudentInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+        public long Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓琛ㄤ富閿煡璇㈣緭鍏ュ弬鏁�
+    /// </summary>
+    public class QueryByIdTestStudentInput : DeleteTestStudentInput
+    {
+
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestStudent/Dto/TestStudentOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestStudent/Dto/TestStudentOutput.cs
new file mode 100644
index 0000000..de90b8e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestStudent/Dto/TestStudentOutput.cs
@@ -0,0 +1,130 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 娴嬭瘯瀛︾敓琛ㄨ緭鍑哄弬鏁�
+/// </summary>
+public class TestStudentOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long? Id { get; set; }
+    
+    /// <summary>
+    /// 閲嶅鎬ф牎楠屾柟寮�
+    /// </summary>
+    public string RepCheckType { get; set; }
+    
+    /// <summary>
+    /// 鑰佸笀ID(鍙┖)
+    /// </summary>
+    public long? TeacherId { get; set; }
+    
+    /// <summary>
+    /// 鑰佸笀鍚嶅瓧(鍙┖)
+    /// </summary>
+    public string TeacherName { get; set; }
+    
+    /// <summary>
+    /// 瀛︾敓濮撳悕
+    /// </summary>
+    public string Name { get; set; }
+    
+    /// <summary>
+    /// 鍒悕(鍙┖)
+    /// </summary>
+    public string AliName { get; set; }
+    
+    /// <summary>
+    /// 瀛︾敓骞撮緞
+    /// </summary>
+    public int Age { get; set; }
+    
+    /// <summary>
+    /// 骞寸邯(鍙┖)
+    /// </summary>
+    public int? NianJi { get; set; }
+    
+    /// <summary>
+    /// 鏍¢暱ID(鍙┖)
+    /// </summary>
+    public long? RectorId { get; set; }
+    
+    /// <summary>
+    /// 闆惰姳閽�
+    /// </summary>
+    public decimal HasMoney { get; set; }
+    
+    /// <summary>
+    /// 韬环(鍙┖)
+    /// </summary>
+    public decimal? ShenJia { get; set; }
+    
+    /// <summary>
+    /// 鏄惁鍦ㄦ牎
+    /// </summary>
+    public bool IsInSchool { get; set; }
+    
+    /// <summary>
+    /// 鏄惁澶栧湴浜�(鍙┖)
+    /// </summary>
+    public bool? IsWDR { get; set; }
+    
+    /// <summary>
+    /// 鎬у埆
+    /// </summary>
+    public Admin.NET.Core.GenderEnum Gender { get; set; }
+    
+    /// <summary>
+    /// 鍏朵粬鎬у埆(鍙┖)
+    /// </summary>
+    public Admin.NET.Core.GenderEnum? OtherGender { get; set; }
+    
+    /// <summary>
+    /// 鍑虹敓鏃ユ湡
+    /// </summary>
+    public DateTime BrithDate { get; set; }
+    
+    /// <summary>
+    /// 鍏ュ鏃ユ湡(鍙┖)
+    /// </summary>
+    public DateTime? InSchoolDate { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 鏇存柊鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public string UpdateUserName { get; set; }
+    
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+    
+    }
+ 
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestStudent/TestStudentService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestStudent/TestStudentService.cs
new file mode 100644
index 0000000..e415a4b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestStudent/TestStudentService.cs
@@ -0,0 +1,528 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+namespace Admin.NET.Application;
+/// <summary>
+/// 娴嬭瘯瀛︾敓琛ㄦ湇鍔�
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.TestDemoGroupName, Order = 100)]
+public class TestStudentService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<TestStudent> _rep;
+    public TestStudentService(SqlSugarRepository<TestStudent> rep)
+    {
+        _rep = rep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ娴嬭瘯瀛︾敓琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("TestStudent/Page")]
+    public async Task<SqlSugarPagedList<TestStudentOutput>> Page(TestStudentInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇㈡祴璇曞鐢熻〃
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("TestStudent/List")]
+    public async Task<List<TestStudentOutput>> List([FromQuery] TestStudentInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").Select<TestStudentOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞娴嬭瘯瀛︾敓琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("TestStudent/Add")]
+    public async Task<long> Add(AddTestStudentInput input)
+    {
+        var entity = input.Adapt<TestStudent>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎娴嬭瘯瀛︾敓琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("TestStudent/Delete")]
+    public async Task Delete(DeleteTestStudentInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊娴嬭瘯瀛︾敓琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("TestStudent/Update")]
+    public async Task Update(UpdateTestStudentInput input)
+    {
+        var entity = input.Adapt<TestStudent>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity,true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇娴嬭瘯瀛︾敓琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("TestStudent/Detail")]
+    public async Task<TestStudent> Detail([FromQuery] QueryByIdTestStudentInput input)
+    {
+        return await _rep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+
+
+
+
+    #region 瀵煎叆
+    
+    /// <summary>
+    /// Excel妯℃澘瀵煎叆娴嬭瘯瀛︾敓琛ㄥ姛鑳�
+    /// </summary>
+    /// <param name="file">Excel妯℃澘鏂囦欢</param>
+    /// <returns>瀵煎叆鐨勮褰曟暟</returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ImportExcel")]
+    [Description("TestStudent/ImportExcel")]
+    public async Task<int> ImportExcelAsync(IFormFile file)
+    { 
+        int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕
+        int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁
+        DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine);
+        var addList =await CommonImport(importDataTable, _DataStartLine);
+        await _rep.InsertRangeAsync(addList);
+        return addList.Count;
+    }
+    
+    /// <summary>
+    ///  DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+    /// </summary>
+    /// <param name="dataTable"></param>
+    /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+    /// <returns></returns>
+    private async Task<List<TestStudent>> CommonImport(DataTable dataTable, int dataStartLine)
+    {
+        var details = new List<TestStudent>();
+        int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭
+        foreach (System.Data.DataRow row in dataTable.Rows)
+        {
+            index++;
+            //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛�
+                                      
+                           var addItem = new TestStudent();
+                          #region 瀹氫箟鍙橀噺
+                           var _RepCheckType = "";//閲嶅鎬ф牎楠屾柟寮�
+                           var _TeacherId = "";//鑰佸笀ID(鍙┖)
+                           var _TeacherName = "";//鑰佸笀鍚嶅瓧(鍙┖)
+                           var _Name = "";//瀛︾敓濮撳悕
+                           var _AliName = "";//鍒悕(鍙┖)
+                           var _Age = "";//瀛︾敓骞撮緞
+                           var _NianJi = "";//骞寸邯(鍙┖)
+                           var _RectorId = "";//鏍¢暱ID(鍙┖)
+                           var _HasMoney = "";//闆惰姳閽�
+                           var _ShenJia = "";//韬环(鍙┖)
+                           var _IsInSchool = "";//鏄惁鍦ㄦ牎
+                           var _IsWDR = "";//鏄惁澶栧湴浜�(鍙┖)
+                           var _Gender = "";//鎬у埆
+                           var _OtherGender = "";//鍏朵粬鎬у埆(鍙┖)
+                           var _BrithDate = "";//鍑虹敓鏃ユ湡
+                           var _InSchoolDate = "";//鍏ュ鏃ユ湡(鍙┖)
+                          #endregion
+                          
+                          
+                          #region 鍙栧��
+                           _RepCheckType = row["閲嶅鎬ф牎楠屾柟寮�"]?.ToString() ;
+                           _TeacherId = row["鑰佸笀ID(鍙┖)"]?.ToString() ;
+                           _TeacherName = row["鑰佸笀鍚嶅瓧(鍙┖)"]?.ToString() ;
+                           _Name = row["瀛︾敓濮撳悕"]?.ToString() ;
+                           _AliName = row["鍒悕(鍙┖)"]?.ToString() ;
+                           _Age = row["瀛︾敓骞撮緞"]?.ToString() ;
+                           _NianJi = row["骞寸邯(鍙┖)"]?.ToString() ;
+                           _RectorId = row["鏍¢暱ID(鍙┖)"]?.ToString() ;
+                           _HasMoney = row["闆惰姳閽�"]?.ToString() ;
+                           _ShenJia = row["韬环(鍙┖)"]?.ToString() ;
+                           _IsInSchool = row["鏄惁鍦ㄦ牎"]?.ToString() ;
+                           _IsWDR = row["鏄惁澶栧湴浜�(鍙┖)"]?.ToString() ;
+                           _Gender = row["鎬у埆"]?.ToString() ;
+                           _OtherGender = row["鍏朵粬鎬у埆(鍙┖)"]?.ToString() ;
+                           _BrithDate = row["鍑虹敓鏃ユ湡"]?.ToString() ;
+                           _InSchoolDate = row["鍏ュ鏃ユ湡(鍙┖)"]?.ToString() ;
+                          #endregion
+                          
+                          
+                          #region 楠岃瘉
+                          if(!string.IsNullOrEmpty(_RepCheckType))
+                          {
+                                addItem.RepCheckType = (string)(_RepCheckType.Trim());
+                           }
+                          if(!string.IsNullOrEmpty(_TeacherId))
+                          {
+                              if (!long.TryParse(_TeacherId, out long outTeacherId)&&!string.IsNullOrEmpty(_TeacherId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鑰佸笀ID(鍙┖)]{_TeacherId}鍊间笉姝g‘锛�");
+                              }
+                              if (outTeacherId <= 0&&!string.IsNullOrEmpty(_TeacherId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鑰佸笀ID(鍙┖)]{_TeacherId}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.TeacherId = outTeacherId;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_TeacherName))
+                          {
+                                addItem.TeacherName = (string)(_TeacherName.Trim());
+                           }
+                          
+                          if (string.IsNullOrEmpty(_Name))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾瀛︾敓濮撳悕]{_Name}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_Name))
+                          {
+                                addItem.Name = (string)(_Name.Trim());
+                           }
+                          if(!string.IsNullOrEmpty(_AliName))
+                          {
+                                addItem.AliName = (string)(_AliName.Trim());
+                           }
+                          
+                          if (string.IsNullOrEmpty(_Age))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾瀛︾敓骞撮緞]{_Age}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_Age))
+                          {
+                              if (!int.TryParse(_Age, out int outAge)&&!string.IsNullOrEmpty(_Age))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾瀛︾敓骞撮緞]{_Age}鍊间笉姝g‘锛�");
+                              }
+                              if (outAge <= 0&&!string.IsNullOrEmpty(_Age))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾瀛︾敓骞撮緞]{_Age}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.Age = outAge;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_NianJi))
+                          {
+                              if (!int.TryParse(_NianJi, out int outNianJi)&&!string.IsNullOrEmpty(_NianJi))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾骞寸邯(鍙┖)]{_NianJi}鍊间笉姝g‘锛�");
+                              }
+                              if (outNianJi <= 0&&!string.IsNullOrEmpty(_NianJi))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾骞寸邯(鍙┖)]{_NianJi}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.NianJi = outNianJi;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_RectorId))
+                          {
+                              if (!long.TryParse(_RectorId, out long outRectorId)&&!string.IsNullOrEmpty(_RectorId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鏍¢暱ID(鍙┖)]{_RectorId}鍊间笉姝g‘锛�");
+                              }
+                              if (outRectorId <= 0&&!string.IsNullOrEmpty(_RectorId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鏍¢暱ID(鍙┖)]{_RectorId}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.RectorId = outRectorId;
+                              }
+                          
+                          }
+                          
+                          if (string.IsNullOrEmpty(_HasMoney))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾闆惰姳閽盷{_HasMoney}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_HasMoney))
+                          {
+                              if (!decimal.TryParse(_HasMoney, out decimal outHasMoney)&&!string.IsNullOrEmpty(_HasMoney))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾闆惰姳閽盷{_HasMoney}鍊间笉姝g‘锛�");
+                              }
+                              if (outHasMoney <= 0&&!string.IsNullOrEmpty(_HasMoney))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾闆惰姳閽盷{_HasMoney}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.HasMoney = outHasMoney;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_ShenJia))
+                          {
+                              if (!decimal.TryParse(_ShenJia, out decimal outShenJia)&&!string.IsNullOrEmpty(_ShenJia))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾韬环(鍙┖)]{_ShenJia}鍊间笉姝g‘锛�");
+                              }
+                              if (outShenJia <= 0&&!string.IsNullOrEmpty(_ShenJia))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾韬环(鍙┖)]{_ShenJia}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.ShenJia = outShenJia;
+                              }
+                          
+                          }
+                          
+                          if (string.IsNullOrEmpty(_IsInSchool))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾鏄惁鍦ㄦ牎]{_IsInSchool}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_IsInSchool))
+                          {
+                            if(!_IsInSchool.Equals("鏄�") && !_IsInSchool.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鏄惁鍦ㄦ牎]{_IsInSchool}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsInSchool = _IsInSchool.Equals("鏄�") ? true : false;
+                               addItem.IsInSchool = outIsInSchool;
+                             }
+                             }
+                          
+                          if(!string.IsNullOrEmpty(_IsWDR))
+                          {
+                            if(!_IsWDR.Equals("鏄�") && !_IsWDR.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鏄惁澶栧湴浜�(鍙┖)]{_IsWDR}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsWDR = _IsWDR.Equals("鏄�") ? true : false;
+                               addItem.IsWDR = outIsWDR;
+                             }
+                             }
+                          
+                          
+                          if (string.IsNullOrEmpty(_Gender))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾鎬у埆]{_Gender}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_Gender))
+                          {
+                          Admin.NET.Core.GenderEnum  enumGender = default(Admin.NET.Core.GenderEnum);
+                          
+                             if(!Enum.TryParse<Admin.NET.Core.GenderEnum>(_Gender, out enumGender)&&!string.IsNullOrEmpty(_Gender))
+                              {
+                                throw Oops.Oh($"绗瑊index}琛孾鎬у埆]{_Gender}鍊间笉姝g‘锛�");
+                              }
+                              else
+                              {
+                                 addItem.Gender = enumGender;
+                              }
+                          
+                           }
+                          if(!string.IsNullOrEmpty(_OtherGender))
+                          {
+                          Admin.NET.Core.GenderEnum  enumOtherGender = default(Admin.NET.Core.GenderEnum);
+                          
+                             if(!Enum.TryParse<Admin.NET.Core.GenderEnum>(_OtherGender, out enumOtherGender)&&!string.IsNullOrEmpty(_OtherGender))
+                              {
+                                throw Oops.Oh($"绗瑊index}琛孾鍏朵粬鎬у埆(鍙┖)]{_OtherGender}鍊间笉姝g‘锛�");
+                              }
+                              else
+                              {
+                                 addItem.OtherGender = enumOtherGender;
+                              }
+                          
+                           }
+                          
+                          if (string.IsNullOrEmpty(_BrithDate))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾鍑虹敓鏃ユ湡]{_BrithDate}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_BrithDate))
+                          {
+                                addItem.BrithDate = Convert.ToDateTime(Convert.ToDateTime(_BrithDate.Trim()).ToShortDateString());
+                           }
+                          if(!string.IsNullOrEmpty(_InSchoolDate))
+                          {
+                                addItem.InSchoolDate = Convert.ToDateTime(Convert.ToDateTime(_InSchoolDate.Trim()).ToShortDateString());
+                           }
+                          #endregion
+                          
+
+            details.Add(addItem);
+        }
+        //楠岄噸
+        await CheckExisitForImport(details);
+        return details;
+    }
+    
+    /// <summary>
+    /// 鏍规嵁鐗堟湰涓嬭浇娴嬭瘯瀛︾敓琛ㄧ殑Excel瀵煎叆妯℃澘
+    /// </summary>
+    /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "DownloadExcelTemplate")]
+    [Description("TestStudent/DownloadExcelTemplate")]
+    public IActionResult DownloadExcelTemplate()
+    {
+        string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\娴嬭瘯瀛︾敓琛▄TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
+        var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(娴嬭瘯瀛︾敓琛�).xlsx", Encoding.GetEncoding("UTF-8"));
+        return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
+    }
+    
+    #endregion
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ娴嬭瘯瀛︾敓琛ㄦ潯浠�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<TestStudentOutput> CommonPageFilter(TestStudentInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.RepCheckType.Contains(input.SearchKey.Trim())
+                || u.Name.Contains(input.SearchKey.Trim())
+                || u.AliName.Contains(input.SearchKey.Trim())
+                || u.CreateUserName.Contains(input.SearchKey.Trim())
+                || u.UpdateUserName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(!string.IsNullOrWhiteSpace(input.RepCheckType), u => u.RepCheckType.Contains(input.RepCheckType.Trim()))
+            .WhereIF(input.TeacherId>0, u => u.TeacherId == input.TeacherId)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.TeacherName), u => u.TeacherName.Contains(input.TeacherName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AliName), u => u.AliName.Contains(input.AliName.Trim()))
+            .WhereIF(input.Age>0, u => u.Age == input.Age)
+            .WhereIF(input.NianJi>0, u => u.NianJi == input.NianJi)
+            .WhereIF(input.RectorId>0, u => u.RectorId == input.RectorId)
+            .WhereIF(input.IsInSchool.HasValue, u => u.IsInSchool == input.IsInSchool)
+            .WhereIF(input.IsWDR.HasValue, u => u.IsWDR == input.IsWDR)
+            .WhereIF(input.Gender.HasValue, u => u.Gender == input.Gender)
+            .WhereIF(input.OtherGender.HasValue, u => u.OtherGender == input.OtherGender)
+            .Select<TestStudentOutput>();
+        if(input.BrithDateRange != null && input.BrithDateRange.Count >0)
+        {
+            DateTime? start= input.BrithDateRange[0].Value.AddDays(-1);
+            query = query.WhereIF(start.HasValue, u => u.BrithDate > start);
+            if (input.BrithDateRange.Count >1 && input.BrithDateRange[1].HasValue)
+            {
+                var end = input.BrithDateRange[1].Value.AddDays(1);
+                query = query.Where(u => u.BrithDate < end);
+            }
+        } 
+        if(input.InSchoolDateRange != null && input.InSchoolDateRange.Count >0)
+        {
+            DateTime? start= input.InSchoolDateRange[0].Value.AddDays(-1);
+            query = query.WhereIF(start.HasValue, u => u.InSchoolDate > start);
+            if (input.InSchoolDateRange.Count >1 && input.InSchoolDateRange[1].HasValue)
+            {
+                var end = input.InSchoolDateRange[1].Value.AddDays(1);
+                query = query.Where(u => u.InSchoolDate < end);
+            }
+        } 
+        return query;
+       }
+
+        /// <summary>
+        /// 閲嶅鎬ч獙璇�
+        /// </summary>
+        /// <param name="input">楠岃瘉瀵硅薄</param>
+        /// <param name="isEdit">鏄惁鏄紪杈�</param>
+        /// <returns></returns>
+        private async Task CheckExist( TestStudent input,bool isEdit=false)
+        {
+           
+
+
+            //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+           
+            //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+       }
+
+       /// <summary>
+        /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<TestStudent> inputs)
+        { 
+            if (inputs?.Count <= 0)
+            {
+                throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+            }
+            //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                      
+
+
+
+
+
+
+          
+           //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+           
+           
+           
+        }
+     #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestTeacher/Dto/TestTeacherDto.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestTeacher/Dto/TestTeacherDto.cs
new file mode 100644
index 0000000..a0323e6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestTeacher/Dto/TestTeacherDto.cs
@@ -0,0 +1,58 @@
+锘縩amespace Admin.NET.Application;
+
+    /// <summary>
+    /// 娴嬭瘯鑰佸笀琛ㄨ緭鍑哄弬鏁�
+    /// </summary>
+    public class TestTeacherDto
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        public long Id { get; set; }
+        
+        /// <summary>
+        /// 濮撳悕
+        /// </summary>
+        public string Name { get; set; }
+        
+        /// <summary>
+        /// 鍒悕(鍙┖)
+        /// </summary>
+        public string AliName { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public DateTime CreateTime { get; set; }
+        
+        /// <summary>
+        /// 淇敼鏃堕棿
+        /// </summary>
+        public DateTime UpdateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public long CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public string CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜篒d
+        /// </summary>
+        public long UpdateUserId { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜�
+        /// </summary>
+        public string UpdateUserName { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        public bool IsDelete { get; set; }
+        
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestTeacher/Dto/TestTeacherInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestTeacher/Dto/TestTeacherInput.cs
new file mode 100644
index 0000000..e9180c0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestTeacher/Dto/TestTeacherInput.cs
@@ -0,0 +1,151 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+    /// <summary>
+    /// 娴嬭瘯鑰佸笀琛ㄥ熀纭�杈撳叆鍙傛暟
+    /// </summary>
+    public class TestTeacherBaseInput
+    {
+        /// <summary>
+        /// 濮撳悕
+        /// </summary>
+        public virtual string Name { get; set; }
+        
+        /// <summary>
+        /// 鍒悕(鍙┖)
+        /// </summary>
+        public virtual string AliName { get; set; }
+        
+        /// <summary>
+        /// 鏇剧敤鍚�
+        /// </summary>
+        public virtual string OldName { get; set; }
+        
+        /// <summary>
+        /// 浣忓潃(鍙┖)
+        /// </summary>
+        public virtual string Address { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+        /// 淇敼鏃堕棿
+        /// </summary>
+        public virtual DateTime? UpdateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public virtual long? CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public virtual string CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜篒d
+        /// </summary>
+        public virtual long? UpdateUserId { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜�
+        /// </summary>
+        public virtual string UpdateUserName { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        public virtual bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 娴嬭瘯鑰佸笀琛ㄥ垎椤垫煡璇㈣緭鍏ュ弬鏁�
+    /// </summary>
+    public class TestTeacherInput : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+        /// <summary>
+        /// 濮撳悕
+        /// </summary>
+        public string? Name { get; set; }
+        
+        /// <summary>
+        /// 鍒悕(鍙┖)
+        /// </summary>
+        public string? AliName { get; set; }
+        
+        /// <summary>
+        /// 鏇剧敤鍚�
+        /// </summary>
+        public string? OldName { get; set; }
+        
+        /// <summary>
+        /// 浣忓潃(鍙┖)
+        /// </summary>
+        public string? Address { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 娴嬭瘯鑰佸笀琛ㄥ鍔犺緭鍏ュ弬鏁�
+    /// </summary>
+    public class AddTestTeacherInput : TestTeacherBaseInput
+    {
+        /// <summary>
+        /// 濮撳悕
+        /// </summary>
+        [Required(ErrorMessage = "濮撳悕涓嶈兘涓虹┖")]
+        public override string Name { get; set; }
+        
+        /// <summary>
+        /// 鏇剧敤鍚�
+        /// </summary>
+        [Required(ErrorMessage = "鏇剧敤鍚嶄笉鑳戒负绌�")]
+        public override string OldName { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+        public override bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 娴嬭瘯鑰佸笀琛ㄥ垹闄よ緭鍏ュ弬鏁�
+    /// </summary>
+    public class DeleteTestTeacherInput : BaseIdInput
+    {
+    }
+
+    /// <summary>
+    /// 娴嬭瘯鑰佸笀琛ㄦ洿鏂拌緭鍏ュ弬鏁�
+    /// </summary>
+    public class UpdateTestTeacherInput : AddTestTeacherInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+        public long Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 娴嬭瘯鑰佸笀琛ㄤ富閿煡璇㈣緭鍏ュ弬鏁�
+    /// </summary>
+    public class QueryByIdTestTeacherInput : DeleteTestTeacherInput
+    {
+
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestTeacher/Dto/TestTeacherOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestTeacher/Dto/TestTeacherOutput.cs
new file mode 100644
index 0000000..e76b73c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestTeacher/Dto/TestTeacherOutput.cs
@@ -0,0 +1,70 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 娴嬭瘯鑰佸笀琛ㄨ緭鍑哄弬鏁�
+/// </summary>
+public class TestTeacherOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long? Id { get; set; }
+    
+    /// <summary>
+    /// 濮撳悕
+    /// </summary>
+    public string Name { get; set; }
+    
+    /// <summary>
+    /// 鍒悕(鍙┖)
+    /// </summary>
+    public string AliName { get; set; }
+    
+    /// <summary>
+    /// 鏇剧敤鍚�
+    /// </summary>
+    public string OldName { get; set; }
+    
+    /// <summary>
+    /// 浣忓潃(鍙┖)
+    /// </summary>
+    public string Address { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public string UpdateUserName { get; set; }
+    
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+    
+    }
+ 
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestTeacher/TestTeacherService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestTeacher/TestTeacherService.cs
new file mode 100644
index 0000000..9b3e6d3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/TestTeacher/TestTeacherService.cs
@@ -0,0 +1,295 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+namespace Admin.NET.Application;
+/// <summary>
+/// 娴嬭瘯鑰佸笀琛ㄦ湇鍔�
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.TestDemoGroupName, Order = 100)]
+public class TestTeacherService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<TestTeacher> _rep;
+    public TestTeacherService(SqlSugarRepository<TestTeacher> rep)
+    {
+        _rep = rep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ娴嬭瘯鑰佸笀琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("TestTeacher/Page")]
+    public async Task<SqlSugarPagedList<TestTeacherOutput>> Page(TestTeacherInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇㈡祴璇曡�佸笀琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("TestTeacher/List")]
+    public async Task<List<TestTeacherOutput>> List([FromQuery] TestTeacherInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").Select<TestTeacherOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞娴嬭瘯鑰佸笀琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("TestTeacher/Add")]
+    public async Task<long> Add(AddTestTeacherInput input)
+    {
+        var entity = input.Adapt<TestTeacher>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎娴嬭瘯鑰佸笀琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("TestTeacher/Delete")]
+    public async Task Delete(DeleteTestTeacherInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊娴嬭瘯鑰佸笀琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("TestTeacher/Update")]
+    public async Task Update(UpdateTestTeacherInput input)
+    {
+        var entity = input.Adapt<TestTeacher>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity,true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇娴嬭瘯鑰佸笀琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("TestTeacher/Detail")]
+    public async Task<TestTeacher> Detail([FromQuery] QueryByIdTestTeacherInput input)
+    {
+        return await _rep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+
+
+
+
+    #region 瀵煎叆
+    
+    /// <summary>
+    /// Excel妯℃澘瀵煎叆娴嬭瘯鑰佸笀琛ㄥ姛鑳�
+    /// </summary>
+    /// <param name="file">Excel妯℃澘鏂囦欢</param>
+    /// <returns>瀵煎叆鐨勮褰曟暟</returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ImportExcel")]
+    [Description("TestTeacher/ImportExcel")]
+    public async Task<int> ImportExcelAsync(IFormFile file)
+    { 
+        int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕
+        int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁
+        DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine);
+        var addList =await CommonImport(importDataTable, _DataStartLine);
+        await _rep.InsertRangeAsync(addList);
+        return addList.Count;
+    }
+    
+    /// <summary>
+    ///  DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+    /// </summary>
+    /// <param name="dataTable"></param>
+    /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+    /// <returns></returns>
+    private async Task<List<TestTeacher>> CommonImport(DataTable dataTable, int dataStartLine)
+    {
+        var details = new List<TestTeacher>();
+        int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭
+        foreach (System.Data.DataRow row in dataTable.Rows)
+        {
+            index++;
+            //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛�
+                                      
+                           var addItem = new TestTeacher();
+                          #region 瀹氫箟鍙橀噺
+                           var _Name = "";//濮撳悕
+                           var _AliName = "";//鍒悕(鍙┖)
+                           var _OldName = "";//鏇剧敤鍚�
+                           var _Address = "";//浣忓潃(鍙┖)
+                          #endregion
+                          
+                          
+                          #region 鍙栧��
+                           _Name = row["濮撳悕"]?.ToString() ;
+                           _AliName = row["鍒悕(鍙┖)"]?.ToString() ;
+                           _OldName = row["鏇剧敤鍚�"]?.ToString() ;
+                           _Address = row["浣忓潃(鍙┖)"]?.ToString() ;
+                          #endregion
+                          
+                          
+                          #region 楠岃瘉
+                          
+                          if (string.IsNullOrEmpty(_Name))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾濮撳悕]{_Name}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_Name))
+                          {
+                                addItem.Name = (string)(_Name.Trim());
+                           }
+                          if(!string.IsNullOrEmpty(_AliName))
+                          {
+                                addItem.AliName = (string)(_AliName.Trim());
+                           }
+                          
+                          if (string.IsNullOrEmpty(_OldName))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾鏇剧敤鍚峕{_OldName}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_OldName))
+                          {
+                                addItem.OldName = (string)(_OldName.Trim());
+                           }
+                          if(!string.IsNullOrEmpty(_Address))
+                          {
+                                addItem.Address = (string)(_Address.Trim());
+                           }
+                          #endregion
+                          
+
+            details.Add(addItem);
+        }
+        //楠岄噸
+        await CheckExisitForImport(details);
+        return details;
+    }
+    
+    /// <summary>
+    /// 鏍规嵁鐗堟湰涓嬭浇娴嬭瘯鑰佸笀琛ㄧ殑Excel瀵煎叆妯℃澘
+    /// </summary>
+    /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "DownloadExcelTemplate")]
+    [Description("TestTeacher/DownloadExcelTemplate")]
+    public IActionResult DownloadExcelTemplate()
+    {
+        string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\娴嬭瘯鑰佸笀琛▄TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
+        var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(娴嬭瘯鑰佸笀琛�).xlsx", Encoding.GetEncoding("UTF-8"));
+        return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
+    }
+    
+    #endregion
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ娴嬭瘯鑰佸笀琛ㄦ潯浠�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<TestTeacherOutput> CommonPageFilter(TestTeacherInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.Name.Contains(input.SearchKey.Trim())
+                || u.AliName.Contains(input.SearchKey.Trim())
+                || u.OldName.Contains(input.SearchKey.Trim())
+                || u.Address.Contains(input.SearchKey.Trim())
+                || u.CreateUserName.Contains(input.SearchKey.Trim())
+                || u.UpdateUserName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AliName), u => u.AliName.Contains(input.AliName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.OldName), u => u.OldName.Contains(input.OldName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Address), u => u.Address.Contains(input.Address.Trim()))
+            .Select<TestTeacherOutput>();
+        return query;
+       }
+
+        /// <summary>
+        /// 閲嶅鎬ч獙璇�
+        /// </summary>
+        /// <param name="input">楠岃瘉瀵硅薄</param>
+        /// <param name="isEdit">鏄惁鏄紪杈�</param>
+        /// <returns></returns>
+        private async Task CheckExist( TestTeacher input,bool isEdit=false)
+        {
+           
+
+
+            //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+           
+            //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+       }
+
+       /// <summary>
+        /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<TestTeacher> inputs)
+        { 
+            if (inputs?.Count <= 0)
+            {
+                throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+            }
+            //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                      
+
+
+
+
+
+
+          
+           //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+           
+           
+           
+        }
+     #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/v_students/Dto/v_studentsDto.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/v_students/Dto/v_studentsDto.cs
new file mode 100644
index 0000000..0af9117
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/v_students/Dto/v_studentsDto.cs
@@ -0,0 +1,128 @@
+锘縩amespace Admin.NET.Application;
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓瑙嗗浘杈撳嚭鍙傛暟
+    /// </summary>
+    public class v_studentsDto
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        public long Id { get; set; }
+        
+        /// <summary>
+        /// 鑰佸笀ID
+        /// </summary>
+        public long TestTeacherId { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓濮撳悕
+        /// </summary>
+        public string Name { get; set; }
+        
+        /// <summary>
+        /// 鍒悕(鍙┖)
+        /// </summary>
+        public string AliName { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓骞撮緞
+        /// </summary>
+        public int Age { get; set; }
+        
+        /// <summary>
+        /// 骞寸邯(鍙┖)
+        /// </summary>
+        public int NianJi { get; set; }
+        
+        /// <summary>
+        /// 鑰佸笀ID
+        /// </summary>
+        public long TeacherId { get; set; }
+        
+        /// <summary>
+        /// 鏍¢暱ID(鍙┖)
+        /// </summary>
+        public long RectorId { get; set; }
+        
+        /// <summary>
+        /// 闆惰姳閽�
+        /// </summary>
+        public decimal HasMoney { get; set; }
+        
+        /// <summary>
+        /// 韬环(鍙┖)
+        /// </summary>
+        public decimal ShenJia { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍦ㄦ牎
+        /// </summary>
+        public bool IsInSchool { get; set; }
+        
+        /// <summary>
+        /// 鏄惁澶栧湴浜�(鍙┖)
+        /// </summary>
+        public bool IsWDR { get; set; }
+        
+        /// <summary>
+        /// 鎬у埆
+        /// </summary>
+        public Admin.NET.Core.GenderEnum Gender { get; set; }
+        
+        /// <summary>
+        /// 鍏朵粬鎬у埆(鍙┖)
+        /// </summary>
+        public Admin.NET.Core.GenderEnum OtherGender { get; set; }
+        
+        /// <summary>
+        /// 鍑虹敓鏃ユ湡
+        /// </summary>
+        public DateTime BrithDate { get; set; }
+        
+        /// <summary>
+        /// 鍏ュ鏃ユ湡(鍙┖)
+        /// </summary>
+        public DateTime InSchoolDate { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public DateTime CreateTime { get; set; }
+        
+        /// <summary>
+        /// 淇敼鏃堕棿
+        /// </summary>
+        public DateTime UpdateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public long CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public string CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜篒d
+        /// </summary>
+        public long UpdateUserId { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜�
+        /// </summary>
+        public string UpdateUserName { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        public bool IsDelete { get; set; }
+        
+        /// <summary>
+        /// 鑰佸笀鍚嶅瓧
+        /// </summary>
+        public string TeacherName { get; set; }
+        
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/v_students/Dto/v_studentsInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/v_students/Dto/v_studentsInput.cs
new file mode 100644
index 0000000..a780c30
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/v_students/Dto/v_studentsInput.cs
@@ -0,0 +1,319 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓瑙嗗浘鍩虹杈撳叆鍙傛暟
+    /// </summary>
+    public class v_studentsBaseInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        public virtual long Id { get; set; }
+        
+        /// <summary>
+        /// 鑰佸笀ID
+        /// </summary>
+        public virtual long? TestTeacherId { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓濮撳悕
+        /// </summary>
+        public virtual string Name { get; set; }
+        
+        /// <summary>
+        /// 鍒悕(鍙┖)
+        /// </summary>
+        public virtual string AliName { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓骞撮緞
+        /// </summary>
+        public virtual int Age { get; set; }
+        
+        /// <summary>
+        /// 骞寸邯(鍙┖)
+        /// </summary>
+        public virtual int? NianJi { get; set; }
+        
+        /// <summary>
+        /// 鑰佸笀ID
+        /// </summary>
+        public virtual long TeacherId { get; set; }
+        
+        /// <summary>
+        /// 鏍¢暱ID(鍙┖)
+        /// </summary>
+        public virtual long? RectorId { get; set; }
+        
+        /// <summary>
+        /// 闆惰姳閽�
+        /// </summary>
+        public virtual decimal HasMoney { get; set; }
+        
+        /// <summary>
+        /// 韬环(鍙┖)
+        /// </summary>
+        public virtual decimal? ShenJia { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍦ㄦ牎
+        /// </summary>
+        public virtual bool IsInSchool { get; set; }
+        
+        /// <summary>
+        /// 鏄惁澶栧湴浜�(鍙┖)
+        /// </summary>
+        public virtual bool? IsWDR { get; set; }
+        
+        /// <summary>
+        /// 鎬у埆
+        /// </summary>
+        public virtual Admin.NET.Core.GenderEnum Gender { get; set; }
+        
+        /// <summary>
+        /// 鍏朵粬鎬у埆(鍙┖)
+        /// </summary>
+        public virtual Admin.NET.Core.GenderEnum? OtherGender { get; set; }
+        
+        /// <summary>
+        /// 鍑虹敓鏃ユ湡
+        /// </summary>
+        public virtual DateTime BrithDate { get; set; }
+        
+        /// <summary>
+        /// 鍏ュ鏃ユ湡(鍙┖)
+        /// </summary>
+        public virtual DateTime? InSchoolDate { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+        /// 淇敼鏃堕棿
+        /// </summary>
+        public virtual DateTime? UpdateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public virtual long? CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public virtual string CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜篒d
+        /// </summary>
+        public virtual long? UpdateUserId { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜�
+        /// </summary>
+        public virtual string UpdateUserName { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        public virtual bool IsDelete { get; set; }
+        
+        /// <summary>
+        /// 鑰佸笀鍚嶅瓧
+        /// </summary>
+        public virtual string TeacherName { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓瑙嗗浘鍒嗛〉鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class v_studentsInput : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        public long? Id { get; set; }
+        
+        /// <summary>
+        /// 鑰佸笀ID
+        /// </summary>
+        public long? TestTeacherId { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓濮撳悕
+        /// </summary>
+        public string? Name { get; set; }
+        
+        /// <summary>
+        /// 鍒悕(鍙┖)
+        /// </summary>
+        public string? AliName { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓骞撮緞
+        /// </summary>
+        public int? Age { get; set; }
+        
+        /// <summary>
+        /// 骞寸邯(鍙┖)
+        /// </summary>
+        public int? NianJi { get; set; }
+        
+        /// <summary>
+        /// 鑰佸笀ID
+        /// </summary>
+        public long? TeacherId { get; set; }
+        
+        /// <summary>
+        /// 鏍¢暱ID(鍙┖)
+        /// </summary>
+        public long? RectorId { get; set; }
+        
+        /// <summary>
+        /// 闆惰姳閽�
+        /// </summary>
+        public decimal? HasMoney { get; set; }
+        
+        /// <summary>
+        /// 韬环(鍙┖)
+        /// </summary>
+        public decimal? ShenJia { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍦ㄦ牎
+        /// </summary>
+        public bool? IsInSchool { get; set; }
+        
+        /// <summary>
+        /// 鏄惁澶栧湴浜�(鍙┖)
+        /// </summary>
+        public bool? IsWDR { get; set; }
+        
+        /// <summary>
+        /// 鎬у埆
+        /// </summary>
+        public Admin.NET.Core.GenderEnum? Gender { get; set; }
+        
+        /// <summary>
+        /// 鍏朵粬鎬у埆(鍙┖)
+        /// </summary>
+        public Admin.NET.Core.GenderEnum? OtherGender { get; set; }
+        
+        /// <summary>
+        /// 鍑虹敓鏃ユ湡
+        /// </summary>
+        public DateTime? BrithDate { get; set; }
+        
+        /// <summary>
+         /// 鍑虹敓鏃ユ湡鑼冨洿
+         /// </summary>
+         public List<DateTime?> BrithDateRange { get; set; } 
+        /// <summary>
+        /// 鍏ュ鏃ユ湡(鍙┖)
+        /// </summary>
+        public DateTime? InSchoolDate { get; set; }
+        
+        /// <summary>
+         /// 鍏ュ鏃ユ湡(鍙┖)鑼冨洿
+         /// </summary>
+         public List<DateTime?> InSchoolDateRange { get; set; } 
+        /// <summary>
+        /// 鑰佸笀鍚嶅瓧
+        /// </summary>
+        public string? TeacherName { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓瑙嗗浘澧炲姞杈撳叆鍙傛暟
+    /// </summary>
+    public class Addv_studentsInput : v_studentsBaseInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+        public override long Id { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓濮撳悕
+        /// </summary>
+        [Required(ErrorMessage = "瀛︾敓濮撳悕涓嶈兘涓虹┖")]
+        public override string Name { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓骞撮緞
+        /// </summary>
+        [Required(ErrorMessage = "瀛︾敓骞撮緞涓嶈兘涓虹┖")]
+        public override int Age { get; set; }
+        
+        /// <summary>
+        /// 鑰佸笀ID
+        /// </summary>
+        [Required(ErrorMessage = "鑰佸笀ID涓嶈兘涓虹┖")]
+        public override long TeacherId { get; set; }
+        
+        /// <summary>
+        /// 闆惰姳閽�
+        /// </summary>
+        [Required(ErrorMessage = "闆惰姳閽变笉鑳戒负绌�")]
+        public override decimal HasMoney { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍦ㄦ牎
+        /// </summary>
+        [Required(ErrorMessage = "鏄惁鍦ㄦ牎涓嶈兘涓虹┖")]
+        public override bool IsInSchool { get; set; }
+        
+        /// <summary>
+        /// 鎬у埆
+        /// </summary>
+        [Required(ErrorMessage = "鎬у埆涓嶈兘涓虹┖")]
+        public override Admin.NET.Core.GenderEnum Gender { get; set; }
+        
+        /// <summary>
+        /// 鍑虹敓鏃ユ湡
+        /// </summary>
+        [Required(ErrorMessage = "鍑虹敓鏃ユ湡涓嶈兘涓虹┖")]
+        public override DateTime BrithDate { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+        public override bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓瑙嗗浘鍒犻櫎杈撳叆鍙傛暟
+    /// </summary>
+    public class Deletev_studentsInput : BaseIdInput
+    {
+    }
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓瑙嗗浘鏇存柊杈撳叆鍙傛暟
+    /// </summary>
+    public class Updatev_studentsInput : Addv_studentsInput
+    {
+    }
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓瑙嗗浘涓婚敭鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class QueryByIdv_studentsInput : Deletev_studentsInput
+    {
+
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/v_students/Dto/v_studentsOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/v_students/Dto/v_studentsOutput.cs
new file mode 100644
index 0000000..5a76e7d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/v_students/Dto/v_studentsOutput.cs
@@ -0,0 +1,130 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 娴嬭瘯瀛︾敓瑙嗗浘杈撳嚭鍙傛暟
+/// </summary>
+public class v_studentsOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long Id { get; set; }
+    
+    /// <summary>
+    /// 鑰佸笀ID
+    /// </summary>
+    public long? TestTeacherId { get; set; }
+    
+    /// <summary>
+    /// 瀛︾敓濮撳悕
+    /// </summary>
+    public string Name { get; set; }
+    
+    /// <summary>
+    /// 鍒悕(鍙┖)
+    /// </summary>
+    public string AliName { get; set; }
+    
+    /// <summary>
+    /// 瀛︾敓骞撮緞
+    /// </summary>
+    public int Age { get; set; }
+    
+    /// <summary>
+    /// 骞寸邯(鍙┖)
+    /// </summary>
+    public int? NianJi { get; set; }
+    
+    /// <summary>
+    /// 鑰佸笀ID
+    /// </summary>
+    public long TeacherId { get; set; }
+    
+    /// <summary>
+    /// 鏍¢暱ID(鍙┖)
+    /// </summary>
+    public long? RectorId { get; set; }
+    
+    /// <summary>
+    /// 闆惰姳閽�
+    /// </summary>
+    public decimal HasMoney { get; set; }
+    
+    /// <summary>
+    /// 韬环(鍙┖)
+    /// </summary>
+    public decimal? ShenJia { get; set; }
+    
+    /// <summary>
+    /// 鏄惁鍦ㄦ牎
+    /// </summary>
+    public bool IsInSchool { get; set; }
+    
+    /// <summary>
+    /// 鏄惁澶栧湴浜�(鍙┖)
+    /// </summary>
+    public bool? IsWDR { get; set; }
+    
+    /// <summary>
+    /// 鎬у埆
+    /// </summary>
+    public Admin.NET.Core.GenderEnum Gender { get; set; }
+    
+    /// <summary>
+    /// 鍏朵粬鎬у埆(鍙┖)
+    /// </summary>
+    public Admin.NET.Core.GenderEnum? OtherGender { get; set; }
+    
+    /// <summary>
+    /// 鍑虹敓鏃ユ湡
+    /// </summary>
+    public DateTime BrithDate { get; set; }
+    
+    /// <summary>
+    /// 鍏ュ鏃ユ湡(鍙┖)
+    /// </summary>
+    public DateTime? InSchoolDate { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public string UpdateUserName { get; set; }
+    
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+    
+    /// <summary>
+    /// 鑰佸笀鍚嶅瓧
+    /// </summary>
+    public string TeacherName { get; set; }
+    
+    }
+ 
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/v_students/v_studentsService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/v_students/v_studentsService.cs
new file mode 100644
index 0000000..76707b3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/TestDemo/v_students/v_studentsService.cs
@@ -0,0 +1,183 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+namespace Admin.NET.Application;
+/// <summary>
+/// 娴嬭瘯瀛︾敓瑙嗗浘鏈嶅姟
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.TestDemoGroupName, Order = 100)]
+public class v_studentsService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<v_students> _rep;
+    public v_studentsService(SqlSugarRepository<v_students> rep)
+    {
+        _rep = rep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ娴嬭瘯瀛︾敓瑙嗗浘
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("v_students/Page")]
+    public async Task<SqlSugarPagedList<v_studentsOutput>> Page(v_studentsInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇㈡祴璇曞鐢熻鍥�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("v_students/List")]
+    public async Task<List<v_studentsOutput>> List([FromQuery] v_studentsInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input).Select<v_studentsOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞娴嬭瘯瀛︾敓瑙嗗浘
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("v_students/Add")]
+    public async Task<long> Add(Addv_studentsInput input)
+    {
+        var entity = input.Adapt<v_students>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎娴嬭瘯瀛︾敓瑙嗗浘
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("v_students/Delete")]
+    public async Task Delete(Deletev_studentsInput input)
+    {
+        return;
+    }
+
+    /// <summary>
+    /// 鏇存柊娴嬭瘯瀛︾敓瑙嗗浘
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("v_students/Update")]
+    public async Task Update(Updatev_studentsInput input)
+    {
+        var entity = input.Adapt<v_students>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity,true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇娴嬭瘯瀛︾敓瑙嗗浘
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("v_students/Detail")]
+    public async Task<v_students> Detail([FromQuery] QueryByIdv_studentsInput input)
+    {
+        return null;
+    }
+
+
+
+
+
+      #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ娴嬭瘯瀛︾敓瑙嗗浘鏉′欢
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<v_studentsOutput> CommonPageFilter(v_studentsInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.Name.Contains(input.SearchKey.Trim())
+                || u.AliName.Contains(input.SearchKey.Trim())
+                || u.TeacherName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(input.Id>0, u => u.Id == input.Id)
+            .WhereIF(input.TestTeacherId>0, u => u.TestTeacherId == input.TestTeacherId)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AliName), u => u.AliName.Contains(input.AliName.Trim()))
+            .WhereIF(input.Age>0, u => u.Age == input.Age)
+            .WhereIF(input.NianJi>0, u => u.NianJi == input.NianJi)
+            .WhereIF(input.TeacherId>0, u => u.TeacherId == input.TeacherId)
+            .WhereIF(input.RectorId>0, u => u.RectorId == input.RectorId)
+            .WhereIF(input.IsInSchool.HasValue, u => u.IsInSchool == input.IsInSchool)
+            .WhereIF(input.IsWDR.HasValue, u => u.IsWDR == input.IsWDR)
+            .WhereIF(input.Gender.HasValue, u => u.Gender == input.Gender)
+            .WhereIF(input.OtherGender.HasValue, u => u.OtherGender == input.OtherGender)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.TeacherName), u => u.TeacherName.Contains(input.TeacherName.Trim()))
+            .Select<v_studentsOutput>();
+        if(input.BrithDateRange != null && input.BrithDateRange.Count >0)
+        {
+            DateTime? start= input.BrithDateRange[0].Value.AddDays(-1);
+            query = query.WhereIF(start.HasValue, u => u.BrithDate > start);
+            if (input.BrithDateRange.Count >1 && input.BrithDateRange[1].HasValue)
+            {
+                var end = input.BrithDateRange[1].Value.AddDays(1);
+                query = query.Where(u => u.BrithDate < end);
+            }
+        } 
+        if(input.InSchoolDateRange != null && input.InSchoolDateRange.Count >0)
+        {
+            DateTime? start= input.InSchoolDateRange[0].Value.AddDays(-1);
+            query = query.WhereIF(start.HasValue, u => u.InSchoolDate > start);
+            if (input.InSchoolDateRange.Count >1 && input.InSchoolDateRange[1].HasValue)
+            {
+                var end = input.InSchoolDateRange[1].Value.AddDays(1);
+                query = query.Where(u => u.InSchoolDate < end);
+            }
+        } 
+        return query;
+       }
+
+        /// <summary>
+        /// 閲嶅鎬ч獙璇�
+        /// </summary>
+        /// <param name="input">楠岃瘉瀵硅薄</param>
+        /// <param name="isEdit">鏄惁鏄紪杈�</param>
+        /// <returns></returns>
+        private async Task CheckExist( v_students input,bool isEdit=false)
+        {
+           
+
+
+            //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+           
+            //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+       }
+     #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceInput.cs
new file mode 100644
index 0000000..97708fd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceInput.cs
@@ -0,0 +1,305 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+    /// <summary>
+    /// 搴撲綅淇℃伅鍩虹杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsBasePlaceBaseInput
+    {
+        /// <summary>
+        /// 搴撲綅缂栫爜
+        /// </summary>
+        public virtual string PlaceCode { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅鍚嶇О
+        /// </summary>
+        public virtual string PlaceName { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅绫诲瀷
+        /// </summary>
+        public virtual Admin.NET.Application.PlaceTypeEnum PlaceType { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅绫诲瀷鍚嶇О
+        /// </summary>
+        public virtual string PlaceTypeName { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅闀垮害
+        /// </summary>
+        public virtual decimal? Length { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅瀹藉害
+        /// </summary>
+        public virtual decimal? Width { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅楂樺害
+        /// </summary>
+        public virtual decimal? Height { get; set; }
+        
+        /// <summary>
+        /// 鍘氬害
+        /// </summary>
+        public virtual decimal? Thick { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅灞炴��
+        /// </summary>
+        public virtual Admin.NET.Application.PlaceStatusEnum PlaceStatus { get; set; }
+        
+        /// <summary>
+        /// 鎵�鍦ㄥ簱鍖�
+        /// </summary>
+        public virtual long AreaId { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯缂栧彿
+        /// </summary>
+        public virtual string AreaCode { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鍚嶇О
+        /// </summary>
+        public virtual string AreaName { get; set; }
+        
+        /// <summary>
+        /// 鍒�
+        /// </summary>
+        public virtual int? ColumnNo { get; set; }
+        
+        /// <summary>
+        /// 灞�
+        /// </summary>
+        public virtual int? LayerNo { get; set; }
+        
+        /// <summary>
+        /// 鍙�
+        /// </summary>
+        public virtual int? LaneNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁铏氭嫙
+        /// </summary>
+        public virtual bool? IsVirtually { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool IsDisabled { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+        /// 淇敼鏃堕棿
+        /// </summary>
+        public virtual DateTime? UpdateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public virtual long? CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public virtual string CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜篒d
+        /// </summary>
+        public virtual long? UpdateUserId { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜�
+        /// </summary>
+        public virtual string UpdateUserName { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        public virtual bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 搴撲綅淇℃伅鍒嗛〉鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsBasePlaceInput : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+        /// <summary>
+        /// 搴撲綅缂栫爜
+        /// </summary>
+        public string? PlaceCode { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅鍚嶇О
+        /// </summary>
+        public string? PlaceName { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅绫诲瀷
+        /// </summary>
+        public Admin.NET.Application.PlaceTypeEnum? PlaceType { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅绫诲瀷鍚嶇О
+        /// </summary>
+        public string? PlaceTypeName { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅闀垮害
+        /// </summary>
+        public decimal? Length { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅瀹藉害
+        /// </summary>
+        public decimal? Width { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅楂樺害
+        /// </summary>
+        public decimal? Height { get; set; }
+        
+        /// <summary>
+        /// 鍘氬害
+        /// </summary>
+        public decimal? Thick { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅灞炴��
+        /// </summary>
+        public Admin.NET.Application.PlaceStatusEnum? PlaceStatus { get; set; }
+        
+        /// <summary>
+        /// 鎵�鍦ㄥ簱鍖�
+        /// </summary>
+        public long? AreaId { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯缂栧彿
+        /// </summary>
+        public string? AreaCode { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鍚嶇О
+        /// </summary>
+        public string? AreaName { get; set; }
+        
+        /// <summary>
+        /// 鍒�
+        /// </summary>
+        public int? ColumnNo { get; set; }
+        
+        /// <summary>
+        /// 灞�
+        /// </summary>
+        public int? LayerNo { get; set; }
+        
+        /// <summary>
+        /// 鍙�
+        /// </summary>
+        public int? LaneNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁铏氭嫙
+        /// </summary>
+        public bool? IsVirtually { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public bool? IsDisabled { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 搴撲綅淇℃伅澧炲姞杈撳叆鍙傛暟
+    /// </summary>
+    public class AddWmsBasePlaceInput : WmsBasePlaceBaseInput
+    {
+        /// <summary>
+        /// 搴撲綅缂栫爜
+        /// </summary>
+        [Required(ErrorMessage = "搴撲綅缂栫爜涓嶈兘涓虹┖")]
+        public override string PlaceCode { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅鍚嶇О
+        /// </summary>
+        [Required(ErrorMessage = "搴撲綅鍚嶇О涓嶈兘涓虹┖")]
+        public override string PlaceName { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅绫诲瀷
+        /// </summary>
+        [Required(ErrorMessage = "搴撲綅绫诲瀷涓嶈兘涓虹┖")]
+        public override Admin.NET.Application.PlaceTypeEnum PlaceType { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅灞炴��
+        /// </summary>
+        [Required(ErrorMessage = "搴撲綅灞炴�т笉鑳戒负绌�")]
+        public override Admin.NET.Application.PlaceStatusEnum PlaceStatus { get; set; }
+        
+        /// <summary>
+        /// 鎵�鍦ㄥ簱鍖�
+        /// </summary>
+        [Required(ErrorMessage = "鎵�鍦ㄥ簱鍖轰笉鑳戒负绌�")]
+        public override long AreaId { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        [Required(ErrorMessage = "鏄惁绂佺敤涓嶈兘涓虹┖")]
+        public override bool IsDisabled { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+        public override bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 搴撲綅淇℃伅鍒犻櫎杈撳叆鍙傛暟
+    /// </summary>
+    public class DeleteWmsBasePlaceInput : BaseIdInput
+    {
+    }
+
+    /// <summary>
+    /// 搴撲綅淇℃伅鏇存柊杈撳叆鍙傛暟
+    /// </summary>
+    public class UpdateWmsBasePlaceInput : AddWmsBasePlaceInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+        public long Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 搴撲綅淇℃伅涓婚敭鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class QueryByIdWmsBasePlaceInput : DeleteWmsBasePlaceInput
+    {
+
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs
new file mode 100644
index 0000000..161464c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/Dto/WmsBasePlaceOutput.cs
@@ -0,0 +1,135 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 搴撲綅淇℃伅杈撳嚭鍙傛暟
+/// </summary>
+public class WmsBasePlaceOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long? Id { get; set; }
+    
+    /// <summary>
+    /// 搴撲綅缂栫爜
+    /// </summary>
+    public string PlaceCode { get; set; }
+    
+    /// <summary>
+    /// 搴撲綅鍚嶇О
+    /// </summary>
+    public string PlaceName { get; set; }
+    
+    /// <summary>
+    /// 搴撲綅绫诲瀷
+    /// </summary>
+    public Admin.NET.Application.PlaceTypeEnum PlaceType { get; set; }
+    
+    /// <summary>
+    /// 搴撲綅绫诲瀷鍚嶇О
+    /// </summary>
+    public string PlaceTypeName { get; set; }
+    
+    /// <summary>
+    /// 搴撲綅闀垮害
+    /// </summary>
+    public decimal? Length { get; set; }
+    
+    /// <summary>
+    /// 搴撲綅瀹藉害
+    /// </summary>
+    public decimal? Width { get; set; }
+    
+    /// <summary>
+    /// 搴撲綅楂樺害
+    /// </summary>
+    public decimal? Height { get; set; }
+    
+    /// <summary>
+    /// 鍘氬害
+    /// </summary>
+    public decimal? Thick { get; set; }
+    
+    /// <summary>
+    /// 搴撲綅灞炴��
+    /// </summary>
+    public Admin.NET.Application.PlaceStatusEnum PlaceStatus { get; set; }
+    
+    /// <summary>
+    /// 鎵�鍦ㄥ簱鍖�
+    /// </summary>
+    public long AreaId { get; set; }
+    
+    /// <summary>
+    /// 搴撳尯缂栧彿
+    /// </summary>
+    public string AreaCode { get; set; }
+    
+    /// <summary>
+    /// 搴撳尯鍚嶇О
+    /// </summary>
+    public string AreaName { get; set; }
+    
+    /// <summary>
+    /// 鍒�
+    /// </summary>
+    public int? ColumnNo { get; set; }
+    
+    /// <summary>
+    /// 灞�
+    /// </summary>
+    public int? LayerNo { get; set; }
+    
+    /// <summary>
+    /// 鍙�
+    /// </summary>
+    public int? LaneNo { get; set; }
+    
+    /// <summary>
+    /// 鏄惁铏氭嫙
+    /// </summary>
+    public bool? IsVirtually { get; set; }
+    
+    /// <summary>
+    /// 鏄惁绂佺敤
+    /// </summary>
+    public bool IsDisabled { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public string UpdateUserName { get; set; }
+    
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+    
+    }
+ 
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/WmsBasePlaceService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/WmsBasePlaceService.cs
new file mode 100644
index 0000000..da7ecf6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsBase/WmsBasePlace/WmsBasePlaceService.cs
@@ -0,0 +1,264 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+namespace Admin.NET.Application;
+/// <summary>
+/// 搴撲綅淇℃伅鏈嶅姟
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.WmsBaseGroupName, Order = 100)]
+public class WmsBasePlaceService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<WmsBasePlace> _rep;
+    public WmsBasePlaceService(SqlSugarRepository<WmsBasePlace> rep)
+    {
+        _rep = rep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ搴撲綅淇℃伅
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("WmsBasePlace/Page")]
+    public async Task<SqlSugarPagedList<WmsBasePlaceOutput>> Page(WmsBasePlaceInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇㈠簱浣嶄俊鎭�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("WmsBasePlace/List")]
+    public async Task<List<WmsBasePlaceOutput>> List([FromQuery] WmsBasePlaceInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").Select<WmsBasePlaceOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞搴撲綅淇℃伅
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("WmsBasePlace/Add")]
+    public async Task<long> Add(AddWmsBasePlaceInput input)
+    {
+        var entity = input.Adapt<WmsBasePlace>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎搴撲綅淇℃伅
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("WmsBasePlace/Delete")]
+    public async Task Delete(DeleteWmsBasePlaceInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊搴撲綅淇℃伅
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("WmsBasePlace/Update")]
+    public async Task Update(UpdateWmsBasePlaceInput input)
+    {
+        var entity = input.Adapt<WmsBasePlace>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity, true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇搴撲綅淇℃伅
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("WmsBasePlace/Detail")]
+    public async Task<WmsBasePlace> Detail([FromQuery] QueryByIdWmsBasePlaceInput input)
+    {
+        return await _rep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+
+
+
+
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ搴撲綅淇℃伅鏉′欢
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<WmsBasePlaceOutput> CommonPageFilter(WmsBasePlaceInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.PlaceCode.Contains(input.SearchKey.Trim())
+                || u.PlaceName.Contains(input.SearchKey.Trim())
+                || u.PlaceTypeName.Contains(input.SearchKey.Trim())
+                || u.AreaCode.Contains(input.SearchKey.Trim())
+                || u.AreaName.Contains(input.SearchKey.Trim())
+                || u.CreateUserName.Contains(input.SearchKey.Trim())
+                || u.UpdateUserName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(!string.IsNullOrWhiteSpace(input.PlaceCode), u => u.PlaceCode.Contains(input.PlaceCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.PlaceName), u => u.PlaceName.Contains(input.PlaceName.Trim()))
+            .WhereIF(input.PlaceType.HasValue, u => u.PlaceType == input.PlaceType)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.PlaceTypeName), u => u.PlaceTypeName.Contains(input.PlaceTypeName.Trim()))
+            .WhereIF(input.PlaceStatus.HasValue, u => u.PlaceStatus == input.PlaceStatus)
+            .WhereIF(input.AreaId > 0, u => u.AreaId == input.AreaId)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AreaCode), u => u.AreaCode.Contains(input.AreaCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AreaName), u => u.AreaName.Contains(input.AreaName.Trim()))
+            .WhereIF(input.ColumnNo > 0, u => u.ColumnNo == input.ColumnNo)
+            .WhereIF(input.LayerNo > 0, u => u.LayerNo == input.LayerNo)
+            .WhereIF(input.LaneNo > 0, u => u.LaneNo == input.LaneNo)
+            .WhereIF(input.IsVirtually.HasValue, u => u.IsVirtually == input.IsVirtually)
+            .WhereIF(input.IsDisabled.HasValue, u => u.IsDisabled == input.IsDisabled)
+            .Select<WmsBasePlaceOutput>();
+        return query;
+    }
+
+    /// <summary>
+    /// 閲嶅鎬ч獙璇�
+    /// </summary>
+    /// <param name="input">楠岃瘉瀵硅薄</param>
+    /// <param name="isEdit">鏄惁鏄紪杈�</param>
+    /// <returns></returns>
+    private async Task CheckExist(WmsBasePlace input, bool isEdit = false)
+    {
+
+
+
+        //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+
+        //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+    }
+
+    /// <summary>
+    /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+    /// </summary>
+    /// <param name="inputs"></param>
+    /// <returns></returns>
+    private async Task CheckExisitForImport(List<WmsBasePlace> inputs)
+    {
+        if (inputs?.Count <= 0)
+        {
+            throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+        }
+        //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+
+
+
+
+
+
+
+
+        //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+
+
+
+    }
+    #endregion
+
+
+    /// <summary>
+    /// 鎵归噺澧炲姞璐т綅鍩虹淇℃伅
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "BatchAdd")]
+    public async Task BatchAdd()
+    {
+        List<WmsBasePlace> places = new List<WmsBasePlace>();
+
+        for (int aisle = 1; aisle <= 6; aisle++)//鎺�
+        {
+            for (int column = 1; column <= 20; column++)//鍒�
+            {
+                for (int layer = 1; layer <= 3; layer++)//灞�
+                {
+                    PlaceTypeEnum placeTypeEnum = default(PlaceTypeEnum);
+
+                    if (layer == 1)
+                    {
+                        placeTypeEnum = PlaceTypeEnum.涓揣浣�;
+                    }
+                    else if (layer == 2)
+                    {
+                        placeTypeEnum = PlaceTypeEnum.灏忚揣浣�;
+                    }
+                    else if (layer == 3)
+                    {
+                        placeTypeEnum = PlaceTypeEnum.澶ц揣浣�;
+                    }
+
+                    WmsBasePlace place = new WmsBasePlace();
+                    place.PlaceType = placeTypeEnum;
+                    place.PlaceTypeName = placeTypeEnum.ToString();
+                    place.PlaceCode = aisle.ToString("00") + column.ToString("00") + layer.ToString("00");
+                    place.PlaceName = aisle.ToString("00") + column.ToString("00") + layer.ToString("00");
+                    place.AreaCode = "";
+                    place.PlaceStatus = PlaceStatusEnum.姝e父;
+                    place.AreaName = "鏈哄櫒浜哄矝缂撳瓨鍖�";
+                    place.ColumnNo = column;
+                    place.LayerNo = layer;
+                    //place.DeepcellNo = 0;
+                    //place.GoodsShelfNo = "";
+                    place.LaneNo = aisle;
+                    place.IsVirtually = false;
+                    //place.Line = 0;
+                    //place.Islock = (int)YesNoEnum.N;
+                    //place.EmptyContainer = (int)YesNoEnum.Y;
+                    //place.PositionnoForSrm = "";
+
+                    place.Length = new decimal(100);
+                    place.Width = new decimal(100);
+                    place.Height = new decimal(000);
+                    //place.MaxWeight = 630;
+                    //place.HeightLevel = (int)Heightlevel.DI;
+                    //place.Priority = (int)PlacePriority.GAO;
+                    places.Add(place);
+                }
+            }
+        }
+
+
+        await _rep.InsertRangeAsync(places);
+    }
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommon/WmsCommonService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommon/WmsCommonService.cs
new file mode 100644
index 0000000..e327adb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommon/WmsCommonService.cs
@@ -0,0 +1,67 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using Furion.DatabaseAccessor;
+namespace Admin.NET.Application;
+/// <summary>
+/// WMS鍏叡鏈嶅姟
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.WmsCommonServiceGroupName, Order = 100)]
+public class WmsCommonService : IDynamicApiController, ITransient
+{
+    private static readonly SemaphoreSlim semaphore_GetMnemonicCode = new SemaphoreSlim(1, 1);//SemaphoreSlim瀹炰緥锛屽苟璁剧疆鏈�澶у苟鍙戣闂暟涓�1銆�    
+    private readonly SqlSugarRepository<WmsConfigSerialRule> _repRuleDetailRep;
+    private readonly SqlSugarRepository<WmsConfigSerialSN> _repSNRep;
+    public WmsCommonService(SqlSugarRepository<WmsConfigSerialRule> repRuleDetailRep, SqlSugarRepository<WmsConfigSerialSN> repSNRep)
+    {
+        _repRuleDetailRep = repRuleDetailRep;
+        _repSNRep = repSNRep;
+    }
+    /// <summary>
+    /// 鑾峰彇閫氱敤缂栧彿
+    /// </summary>
+    /// <returns></returns>
+    [HttpGet]
+    [AllowAnonymous]
+    [ApiDescriptionSettings(Name = "GetSerial")]
+    [Description("wmsCommon/getSerial")]
+    public async Task<string> GetSerial([FromQuery] SerialTypeEnum SerialType)
+    {
+        var returnstr = await SerialUtil.GetSerial(SerialType,_repRuleDetailRep,_repSNRep);
+        return returnstr;
+    }
+
+
+    /// <summary>
+    /// 鐢熸垚鍔╄鐮�
+    /// 娉ㄦ剰锛氬彧鑳借皟杩欎釜鎺ュ彛锛屼笉鑳借嚜宸卞啓鏂规硶璋冿紝鍚﹀垯鍙兘浼氬鑷存枃浠惰鍙栧啿绐侀�犳垚閿欒锛�
+    /// </summary>
+    /// <returns></returns>
+    [HttpGet]
+    [AllowAnonymous]
+    [ApiDescriptionSettings(Name = "GetMnemonicCode")]
+    [Description("wmsCommon/getMnemonicCode")]
+    public async Task<string> GetMnemonicCode([FromQuery] string name)
+    {
+
+        await semaphore_GetMnemonicCode.WaitAsync();
+        try
+        {
+            MnemonicCodeHelper.fun_LoadWords();
+            var retMsg = MnemonicCodeHelper.funChineseSpell(name, false);
+            return retMsg;
+        }
+        catch (Exception)
+        {
+
+            throw;
+        }
+        finally
+        {
+            semaphore_GetMnemonicCode.Release();
+        }
+    }
+}
+
+
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsHomePage/Dto/WmsHomePageOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsHomePage/Dto/WmsHomePageOutput.cs
new file mode 100644
index 0000000..186b8f5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsHomePage/Dto/WmsHomePageOutput.cs
@@ -0,0 +1,85 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Application;
+public class WmsHomePageOutput
+{
+    /// <summary>
+    /// 鍑哄簱瀹屾垚鏁�
+    /// </summary>
+    public decimal OuttingPlaceNumber { get; set; }
+    /// <summary>
+    /// 鍏ュ簱瀹屾垚鏁�
+    /// </summary>
+    public decimal WarehousingNumber { get; set; }
+    /// <summary>
+    /// 鍑哄簱鍗曟�绘暟
+    /// </summary>
+    public decimal AllOuttingNumber { get; set; }
+    /// <summary>
+    /// 鍏ュ簱鍗曟�绘暟
+    /// </summary>
+    public decimal AllWarehousingNumber { get; set; }
+    /// <summary>
+    /// 鍗曟嵁鎬绘暟
+    /// </summary>
+    public decimal AllOrderNumber { get; set; }
+}
+
+public class WmsHomePagePlaceInfoOutput
+{
+    /// <summary>
+    /// 绌哄簱浣嶆暟閲�
+    /// </summary>
+    public decimal EmptyPlaceNumber { get; set; }
+    /// <summary>
+    /// 绌烘墭瀛樿揣搴撲綅鏁伴噺
+    /// </summary>
+    public decimal ContainerPlaceNumber { get; set; }
+    /// <summary>
+    /// 瀛樿揣鏁伴噺
+    /// </summary>
+    public decimal StockPlaceNumber { get;set; }
+    /// <summary>
+    /// 鎬诲簱浣�
+    /// </summary>
+    public decimal AllPlaceNumber { get;  set; }
+    /// <summary>
+    /// 绌哄簱浣嶇櫨鍒嗘瘮
+    /// </summary>
+    public string EmptyPlacePercentage { get; set; }
+    /// <summary>
+    /// 绌烘墭瀛樿揣鐧惧垎姣�
+    /// </summary>
+    public string ContainerPlacePercentage { get; set; }
+    /// <summary>
+    /// 瀛樿揣鐧惧垎姣�
+    /// </summary>
+    public string StockPlacePercentage { get; set; }
+
+}
+/// <summary>
+/// 涓�鍛ㄦ敹鍙戣揣鎺ㄧЩ鍥�
+/// </summary>
+public class WmsTransitionDiagram
+{
+    public string Day { get; set; }
+
+    /// <summary>
+    /// 鏀惰揣鏁伴噺
+    /// </summary>
+    public decimal ReceiptNumber { get; set; }
+    /// <summary>
+    /// 鍙戣揣鏁伴噺
+    /// </summary>
+    public decimal DeliveryNumber { get;  set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsHomePage/WmsHomePageService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsHomePage/WmsHomePageService.cs
new file mode 100644
index 0000000..052d62f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsHomePage/WmsHomePageService.cs
@@ -0,0 +1,247 @@
+锘�//// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+////
+//// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+////
+//// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+//using Admin.NET.Application.Entity;
+//using Admin.NET.Application.Service.ReportCenter.WmsOtherReport.Dto;
+//using System;
+//using System.Collections.Generic;
+//using System.Linq;
+//using System.Text;
+//using System.Threading.Tasks;
+//using static SKIT.FlurlHttpClient.Wechat.Api.Models.SemanticSemproxySearchResponse.Types;
+
+//namespace Admin.NET.Application;
+///// <summary>
+///// 宸ヤ綔鍙版湇鍔�
+///// </summary>
+//[ApiDescriptionSettings(ApplicationConst.HomePageName, Order = 100)]
+
+//public class WmsHomePageService : IDynamicApiController, ITransient
+//{
+//    private readonly SqlSugarRepository<WmsOrderMovement> _rep;
+//    private readonly SqlSugarRepository<WmsStockQuan> _WmsStockQuanRep;
+//    private readonly SqlSugarRepository<WmsOrderMovementDetails> _WmsOrderMovementDetailsRep;
+//    private readonly SqlSugarRepository<V_WmsOrderMovementDetails> _v_wmsOrderMovementDetailsRep;
+//    private readonly SqlSugarRepository<WmsBaseCustomer> _BaseCustomerRep;
+//    private readonly SqlSugarRepository<WmsBaseMaterial> _wmsMaterialRep;
+//    private readonly SqlSugarRepository<WmsConfigNoRule> _WmsNoCreateRuleRep;
+//    private readonly SqlSugarRepository<WmsConfigSerialSN> _repSNRep;
+//    private readonly SqlSugarRepository<WmsConfigSerialRule> _repRuleDetailRep;
+//    private readonly SqlSugarRepository<WmsOrderDeliverDetails> _WmsOrderDeliverDetailsRep;
+//    private readonly SqlSugarRepository<WmsLogAction> _wareActionLogRep;
+//    private readonly WmsStockQuanService _wmsStockQuanService;
+//    private readonly SqlSugarRepository<WmsBaseBusinessType> _WmsBaseBusinessTypeRep;
+//    private readonly SqlSugarRepository<WmsBasePlace> _wmsPlaceRep;
+//    private readonly SqlSugarRepository<WmsBaseContainer> _wmsContainerRep;
+//    private readonly SqlSugarRepository<WmsContainerPlace> _wmsContainerPlace;
+//    private readonly SqlSugarRepository<v_wms_stock_quan> _v_wms_stock_quanRep;
+//    private readonly SqlSugarRepository<WmsOrderAsn> _wmsOrderAsnRep;
+//    private readonly SqlSugarRepository<WmsRecordReceivingDelivery> _wmsRecordReceivingDeliveryRep;
+
+//    public WmsHomePageService(
+//        SqlSugarRepository<WmsRecordReceivingDelivery> wmsRecordReceivingDeliveryRep,
+//        SqlSugarRepository<WmsOrderMovement> rep,
+//        SqlSugarRepository<WmsStockQuan> wmsStockQuanRep,
+//        SqlSugarRepository<WmsOrderMovementDetails> wmsOrderMovementDetailsRep,
+//        SqlSugarRepository<WmsBaseCustomer> baseCustomerRep,
+//        SqlSugarRepository<WmsBaseBusinessType> WmsBaseBusinessTypeRep,
+//        SqlSugarRepository<WmsConfigNoRule> wmsNoCreateRuleRep,
+//        SqlSugarRepository<WmsConfigSerialSN> repSNRep,
+//        SqlSugarRepository<WmsConfigSerialRule> repRuleDetailRep,
+//        SqlSugarRepository<WmsOrderDeliverDetails> WmsOrderDeliverDetailsRep
+//        , SqlSugarRepository<WmsLogAction> wareActionLogRep
+//,
+//WmsStockQuanService wmsStockQuanService,
+//SqlSugarRepository<V_WmsOrderMovementDetails> v_wmsOrderMovementDetailsRep
+//        ,
+// SqlSugarRepository<WmsBaseMaterial> WmsMaterial,
+// SqlSugarRepository<WmsBaseBusinessType> WmsBaseBusinessType,
+// SqlSugarRepository<WmsBasePlace> wmsPlaceRep,
+// SqlSugarRepository<WmsBaseContainer> wmsContainerRep,
+// SqlSugarRepository<WmsContainerPlace> wmsContainerPlace,
+// SqlSugarRepository<v_wms_stock_quan> v_wms_stock_quanRep,
+//  SqlSugarRepository<WmsOrderAsn> wmsOrderAsnRep
+
+//        )
+//    {
+//        _wmsRecordReceivingDeliveryRep = wmsRecordReceivingDeliveryRep;
+//        _rep = rep;
+//        _WmsStockQuanRep = wmsStockQuanRep;
+//        _WmsOrderMovementDetailsRep = wmsOrderMovementDetailsRep;
+//        _BaseCustomerRep = baseCustomerRep;
+//        _WmsBaseBusinessTypeRep = WmsBaseBusinessTypeRep;
+//        _WmsNoCreateRuleRep = wmsNoCreateRuleRep;
+//        _repSNRep = repSNRep;
+//        _repRuleDetailRep = repRuleDetailRep;
+//        _WmsOrderDeliverDetailsRep = WmsOrderDeliverDetailsRep;
+//        _wareActionLogRep = wareActionLogRep;
+//        _wmsStockQuanService = wmsStockQuanService;
+//        _wmsMaterialRep = WmsMaterial;
+//        _WmsBaseBusinessTypeRep = WmsBaseBusinessType;
+//        _wmsPlaceRep = wmsPlaceRep;
+//        _wmsContainerRep = wmsContainerRep;
+//        _wmsContainerPlace = wmsContainerPlace;
+//        _v_wms_stock_quanRep = v_wms_stock_quanRep;
+//        _wmsOrderAsnRep = wmsOrderAsnRep;
+//    }
+
+//    /// <summary>
+//    /// 棣栭〉鍑哄叆搴撴暟鎹煡璇�
+//    /// </summary>
+//    /// <returns></returns>
+//    [HttpPost]
+//    [ApiDescriptionSettings(Name = "WmsHomePageQuery")]
+//    [Description("WmsHomePageService/WmsHomePageQuery")]
+//    public async Task<WmsHomePageOutput> WmsHomePageQuery()
+//    {
+//        var returnData = new WmsHomePageOutput();
+//        // 鑾峰彇浠婂ぉ鐨勬棩鏈�
+//        DateTime today = DateTime.Today;
+//        var MovementOrderList = await _rep.AsQueryable().Where(u => u.CreateTime >= today && u.CreateTime < today.AddDays(1)).ToListAsync();
+
+//        returnData.OuttingPlaceNumber = MovementOrderList.Where(u => u.OrderType == OrderTypeEnum.涓嬫灦鍗� && u.OrderStatus == OrderStatusEnum.宸插畬鎴�).ToList().Count();
+//        returnData.WarehousingNumber = MovementOrderList.Where(u => u.OrderType == OrderTypeEnum.涓婃灦鍗� && u.OrderStatus == OrderStatusEnum.宸插畬鎴�).ToList().Count();
+//        returnData.AllOuttingNumber = MovementOrderList.Where(u => u.OrderType == OrderTypeEnum.涓嬫灦鍗� && u.OrderStatus != OrderStatusEnum.宸插叧闂� && u.OrderStatus != OrderStatusEnum.宸插彇娑�).ToList().Count();
+//        returnData.AllWarehousingNumber = MovementOrderList.Where(u => u.OrderType == OrderTypeEnum.涓婃灦鍗� && u.OrderStatus != OrderStatusEnum.宸插叧闂� && u.OrderStatus != OrderStatusEnum.宸插彇娑�).ToList().Count();
+//        returnData.AllOrderNumber = returnData.AllOuttingNumber + returnData.AllWarehousingNumber;
+//        return returnData;
+//    }
+//    /// <summary>
+//    /// 棣栭〉搴撲綅鏁版嵁鏌ヨ
+//    /// </summary>
+//    /// <returns></returns>
+//    [HttpPost]
+//    [ApiDescriptionSettings(Name = "WmsHomePlaceQuery")]
+//    [Description("WmsHomePageService/WmsHomePlaceQuery")]
+//    public async Task<WmsHomePagePlaceInfoOutput> WmsHomePlaceQuery()
+//    {
+//        var returnData = new WmsHomePagePlaceInfoOutput();
+//        var PlaceList = await _wmsPlaceRep.AsQueryable().Where(x => x.IsDelete == false && (x.IsVirtually == false || x.IsVirtually == null)).ToListAsync();
+//        var StockQueryList = await _v_wms_stock_quanRep.AsQueryable().ToListAsync();
+//        StockQueryList = StockQueryList.GroupBy(u => u.PlaceCode).Select(g => g.First()).ToList();//鐢ㄥ簱浣嶅彿鍒嗙粍锛屽幓閲�
+//        returnData.ContainerPlaceNumber = StockQueryList.Where(p => p.MaterialTypeCode == ApplicationConst.DefaultContinerMaterialCode).ToList().Count();
+//        returnData.StockPlaceNumber = StockQueryList.Where(p => p.MaterialTypeCode != ApplicationConst.DefaultContinerMaterialCode).ToList().Count();
+//        returnData.EmptyPlaceNumber = PlaceList.Count - returnData.ContainerPlaceNumber - returnData.StockPlaceNumber;
+//        returnData.AllPlaceNumber = PlaceList.Count();
+
+//        returnData.EmptyPlacePercentage = $"{Math.Round((returnData.EmptyPlaceNumber / returnData.AllPlaceNumber), 4):P}";
+//        returnData.StockPlacePercentage = $"{Math.Round((returnData.StockPlaceNumber / returnData.AllPlaceNumber), 4):P}";
+//        returnData.ContainerPlacePercentage = $"{Math.Round((returnData.ContainerPlaceNumber / returnData.AllPlaceNumber), 4):P}";
+
+//        return returnData;
+
+//    }
+
+//    ///// <summary>
+//    ///// 鏈�杩�7澶╂敹鍙戣揣鎺ㄧЩ鍥�
+//    ///// </summary>
+//    ///// <returns></returns>
+//    //[HttpPost]
+//    //[ApiDescriptionSettings(Name = "WmsTransitionDiagramQuery")]
+//    //[Description("WmsHomePageService/WmsTransitionDiagramQuery")]
+//    //public async Task<List<WmsTransitionDiagram>> WmsTransitionDiagramQuery()
+//    //{
+//    //    // 鑾峰彇褰撳墠鏃堕棿
+//    //    DateTime currentDate = DateTime.Now;
+
+//    //    //DateTime lastWeekDay = currentDate.AddDays(-(int)currentDate.DayOfWeek - 3).Date; 
+//    //    //DateTime thisWeekDay = currentDate.AddDays(7 - (int)currentDate.DayOfWeek - 3).Date; 
+//    //    // 璁$畻涓冨ぉ鍓嶇殑鏃ユ湡
+//    //    DateTime lastWeekDay = currentDate.AddDays(-7).Date;
+
+//    //    // 褰撳墠鏃ユ湡鐨勫墠涓�澶╀綔涓虹粨鏉熸棩鏈�
+//    //    DateTime thisWeekDay = currentDate.AddDays(+1).Date;
+//    //    var WmsTransitionDiagramList = new List<WmsTransitionDiagram>();
+//    //    var NewEmptyTransitionDiagramList = new List<WmsOrderAsn>();
+//    //    var query = await _wmsOrderAsnRep.AsQueryable().Where(u => u.CreateTime >= lastWeekDay && u.CreateTime <= thisWeekDay).ToListAsync();
+//    //    foreach (var item in query)
+//    //    {
+//    //        if (item.CreateTime == null) { NewEmptyTransitionDiagramList.Add(item); continue; }
+//    //        item.CreateTime = new DateTime(item.CreateTime?.Year ?? 1999, item.CreateTime?.Month ?? 1, item.CreateTime?.Day ?? 1);
+//    //    }
+
+//    //    query.RemoveAll(n => NewEmptyTransitionDiagramList.Select(x => x.Id).Contains(n.Id));
+//    //    // 浣跨敤 LINQ 鐨� GroupBy 鏂规硶锛屾寜鐓у垱寤烘椂闂寸殑鏃ユ湡鍒嗙粍
+//    //    var groupedData = query.GroupBy(u => u.CreateTime)
+//    //        .Select(group => new TransitionDiagramData
+//    //        {
+//    //            Date = (DateTime)group.Key,
+//    //            DataListCount = group.Count()
+//    //        }).ToList();
+//    //    if (groupedData.Count(p => p.Date >= currentDate.Date) == 0)
+//    //    {
+//    //        var todayInfo = new TransitionDiagramData()
+//    //        {
+//    //            Date = currentDate.Date,
+//    //            DataListCount = 0
+//    //        };
+//    //        groupedData.Add(todayInfo);
+//    //    }
+
+//    //    foreach (var item in groupedData)
+//    //    {
+//    //        var model = new WmsTransitionDiagram()
+//    //        {
+//    //            Day = item.Date.ToString("yyyy-MM-dd"),
+//    //            ReceiptNumber = item.DataListCount
+//    //        };
+//    //        WmsTransitionDiagramList.Add(model);
+//    //    }
+//    //    return WmsTransitionDiagramList;
+//    //}
+
+
+//    /// <summary>
+//    /// 鏈�杩�7澶╂敹鍙戣揣鎺ㄧЩ鍥�
+//    /// </summary>
+//    /// <param name="input"></param>
+//    /// <returns></returns>
+//    [HttpPost]
+//    [ApiDescriptionSettings(Name = "WmsTransitionDiagramQuery")]
+//    [Description("WmsHomePageService/WmsTransitionDiagramQuery")]
+//    public async Task<List<WmsTransitionDiagram>> WmsTransitionDiagramQuery()
+//    {
+
+//        List<WmsTransitionDiagram> outputlist = new List<WmsTransitionDiagram>();
+//        DateTime currentDate = DateTime.Today.AddDays(1);
+//        DateTime firstDate = DateTime.Today.AddDays(-6);
+//        // 鏌ヨ鍦ㄨ繖涓�澶╁唴鐨勫嚭鍏ュ簱璁板綍
+//        var recordsOfDay = await _wmsRecordReceivingDeliveryRep.AsQueryable().Where(r => r.CreateTime >= firstDate && r.CreateTime <= currentDate).ToListAsync();
+
+
+//        for (int i = 1; i < 8; i++)
+//        {
+//            DateTime startDate = currentDate.AddDays(-i);
+//            DateTime endDate = startDate.Date.AddDays(1).AddTicks(-1);
+
+//            // 鏌ヨ鍦ㄨ繖涓�澶╁唴鐨勫嚭鍏ュ簱璁板綍
+//            var items = recordsOfDay.Where(r => r.CreateTime >= startDate && r.CreateTime <= endDate).ToList();
+
+//            // 姹囨�诲嚭鍏ュ簱璁板綍锛堣繖閲屽亣璁句綘鏈夊悎閫傜殑閫昏緫鏉ユ眹鎬绘暟鎹級
+//            var summary = new WmsTransitionDiagram
+//            {
+//                ReceiptNumber = items.Where(x => x.InOutFlag == InOutFlagEnum.鍏�).ToList().Sum(x => x.Quantity),
+//                DeliveryNumber = items.Where(x => x.InOutFlag == InOutFlagEnum.鍑�).ToList().Sum(x => x.Quantity),
+//                Day = startDate.Date.ToString("yyyy-MM-dd")
+//            };
+
+//            outputlist.Add(summary);
+//        }
+
+
+//        //鎺掑簭
+//        outputlist = outputlist.OrderBy(x => x.Day).ToList();
+
+//        return outputlist;
+//    }
+
+//    public class TransitionDiagramData
+//    {
+//        public DateTime Date { get; set; }
+//        public decimal DataListCount { get; set; }
+//    }
+
+//}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysHelpDoc/Dto/WmsSysHelpDocInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysHelpDoc/Dto/WmsSysHelpDocInput.cs
new file mode 100644
index 0000000..cfb40f8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysHelpDoc/Dto/WmsSysHelpDocInput.cs
@@ -0,0 +1,139 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+    /// <summary>
+    /// 绯荤粺甯姪鏂囨。鍩虹杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsSysHelpDocBaseInput
+    {
+        /// <summary>
+        /// 甯姪鏍囪ID
+        /// </summary>
+        public virtual string HelpFlagId { get; set; }
+        
+        /// <summary>
+        /// 甯姪鏂囨。鍐呭
+        /// </summary>
+        public virtual string HelpContext { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public virtual string CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜�
+        /// </summary>
+        public virtual string UpdateUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼鏃堕棿
+        /// </summary>
+        public virtual DateTime? UpdateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public virtual long? CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜篒d
+        /// </summary>
+        public virtual long? UpdateUserId { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        public virtual bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 绯荤粺甯姪鏂囨。鍒嗛〉鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsSysHelpDocInput : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+        /// <summary>
+        /// 甯姪鏍囪ID
+        /// </summary>
+        public string? HelpFlagId { get; set; }
+        
+        /// <summary>
+        /// 甯姪鏂囨。鍐呭
+        /// </summary>
+        public string? HelpContext { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public string? CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+         /// 鍒涘缓鏃堕棿鑼冨洿
+         /// </summary>
+         public List<DateTime?> CreateTimeRange { get; set; } 
+    }
+
+    /// <summary>
+    /// 绯荤粺甯姪鏂囨。澧炲姞杈撳叆鍙傛暟
+    /// </summary>
+    public class AddWmsSysHelpDocInput : WmsSysHelpDocBaseInput
+    {
+        /// <summary>
+        /// 甯姪鏍囪ID
+        /// </summary>
+        [Required(ErrorMessage = "甯姪鏍囪ID涓嶈兘涓虹┖")]
+        public override string HelpFlagId { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+        public override bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 绯荤粺甯姪鏂囨。鍒犻櫎杈撳叆鍙傛暟
+    /// </summary>
+    public class DeleteWmsSysHelpDocInput : BaseIdInput
+    {
+    }
+
+    /// <summary>
+    /// 绯荤粺甯姪鏂囨。鏇存柊杈撳叆鍙傛暟
+    /// </summary>
+    public class UpdateWmsSysHelpDocInput : AddWmsSysHelpDocInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+        public long Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 绯荤粺甯姪鏂囨。涓婚敭鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class QueryByIdWmsSysHelpDocInput : DeleteWmsSysHelpDocInput
+    {
+
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysHelpDoc/Dto/WmsSysHelpDocOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysHelpDoc/Dto/WmsSysHelpDocOutput.cs
new file mode 100644
index 0000000..145d8cc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysHelpDoc/Dto/WmsSysHelpDocOutput.cs
@@ -0,0 +1,60 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 绯荤粺甯姪鏂囨。杈撳嚭鍙傛暟
+/// </summary>
+public class WmsSysHelpDocOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long? Id { get; set; }
+    
+    /// <summary>
+    /// 甯姪鏍囪ID
+    /// </summary>
+    public string HelpFlagId { get; set; }
+    
+    /// <summary>
+    /// 甯姪鏂囨。鍐呭
+    /// </summary>
+    public string HelpContext { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public string UpdateUserName { get; set; }
+    
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+    
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+    
+    }
+ 
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysHelpDoc/WmsSysHelpDocService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysHelpDoc/WmsSysHelpDocService.cs
new file mode 100644
index 0000000..679f358
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysHelpDoc/WmsSysHelpDocService.cs
@@ -0,0 +1,196 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+namespace Admin.NET.Application;
+/// <summary>
+/// 绯荤粺甯姪鏂囨。鏈嶅姟
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.WmsSystemGroupName, Order = 100)]
+public class WmsSysHelpDocService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<WmsSysHelpDoc> _rep;
+    public WmsSysHelpDocService(SqlSugarRepository<WmsSysHelpDoc> rep)
+    {
+        _rep = rep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ绯荤粺甯姪鏂囨。
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("WmsSysHelpDoc/Page")]
+    public async Task<SqlSugarPagedList<WmsSysHelpDocOutput>> Page(WmsSysHelpDocInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇㈢郴缁熷府鍔╂枃妗�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("WmsSysHelpDoc/List")]
+    public async Task<List<WmsSysHelpDocOutput>> List([FromQuery] WmsSysHelpDocInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").Select<WmsSysHelpDocOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞绯荤粺甯姪鏂囨。
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("WmsSysHelpDoc/Add")]
+    public async Task<long> Add(AddWmsSysHelpDocInput input)
+    {
+        var entity = input.Adapt<WmsSysHelpDoc>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎绯荤粺甯姪鏂囨。
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("WmsSysHelpDoc/Delete")]
+    public async Task Delete(DeleteWmsSysHelpDocInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊绯荤粺甯姪鏂囨。
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("WmsSysHelpDoc/Update")]
+    public async Task Update(UpdateWmsSysHelpDocInput input)
+    {
+        var entity = input.Adapt<WmsSysHelpDoc>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity,true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇绯荤粺甯姪鏂囨。
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("WmsSysHelpDoc/Detail")]
+    public async Task<WmsSysHelpDoc> Detail([FromQuery] QueryByIdWmsSysHelpDocInput input)
+    {
+        return await _rep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+
+
+
+
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ绯荤粺甯姪鏂囨。鏉′欢
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<WmsSysHelpDocOutput> CommonPageFilter(WmsSysHelpDocInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.HelpFlagId.Contains(input.SearchKey.Trim())
+                || u.HelpContext.Contains(input.SearchKey.Trim())
+                || u.CreateUserName.Contains(input.SearchKey.Trim())
+                || u.UpdateUserName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(!string.IsNullOrWhiteSpace(input.HelpFlagId), u => u.HelpFlagId.Contains(input.HelpFlagId.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.HelpContext), u => u.HelpContext.Contains(input.HelpContext.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.CreateUserName), u => u.CreateUserName.Contains(input.CreateUserName.Trim()))
+            .Select<WmsSysHelpDocOutput>();
+        if(input.CreateTimeRange != null && input.CreateTimeRange.Count >0)
+        {
+            DateTime? start= input.CreateTimeRange[0].Value;
+            query = query.WhereIF(start.HasValue, u => u.CreateTime >= start);
+            if (input.CreateTimeRange.Count >1 && input.CreateTimeRange[1].HasValue)
+            {
+                var end = input.CreateTimeRange[1].Value;
+                query = query.Where(u => u.CreateTime <= end);
+            }
+        } 
+        return query;
+       }
+
+        /// <summary>
+        /// 閲嶅鎬ч獙璇�
+        /// </summary>
+        /// <param name="input">楠岃瘉瀵硅薄</param>
+        /// <param name="isEdit">鏄惁鏄紪杈�</param>
+        /// <returns></returns>
+        private async Task CheckExist( WmsSysHelpDoc input,bool isEdit=false)
+        {
+           
+
+
+            //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+           
+            //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+       }
+
+       /// <summary>
+        /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<WmsSysHelpDoc> inputs)
+        { 
+            if (inputs?.Count <= 0)
+            {
+                throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+            }
+            //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                      
+
+
+
+
+
+
+          
+           //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+           
+           
+           
+        }
+     #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/Dto/GrantRolePdaMenuInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/Dto/GrantRolePdaMenuInput.cs
new file mode 100644
index 0000000..3cac8f0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/Dto/GrantRolePdaMenuInput.cs
@@ -0,0 +1,78 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 鎺堟潈瑙掕壊鍙傛暟
+/// </summary>
+public class GrantRolePdaMenuInput : IXnInputBase
+{
+    /// <summary>
+    /// 瑙掕壊Id
+    /// </summary>
+    [Required(ErrorMessage = "瑙掕壊Id涓嶈兘涓虹┖")]
+    public long Id { get; set; }
+
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    public string Code { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    public int Sort { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁鑼冨洿绫诲瀷锛堝瓧鍏� 1鍏ㄩ儴鏁版嵁 2鏈儴闂ㄥ強浠ヤ笅鏁版嵁 3鏈儴闂ㄦ暟鎹� 4浠呮湰浜烘暟鎹� 5鑷畾涔夋暟鎹級
+    /// </summary>
+    public int DataScopeType { get; set; }
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    public string Remark { get; set; }
+
+    /// <summary>
+    /// 鎺堟潈瑙掕壊鑿滃崟鍒楄〃
+    /// </summary>
+    public List<long> GrantMenuIdList { get; set; }
+
+    /// <summary>
+    /// 鎺堟潈瑙掕壊ID鍒楄〃
+    /// </summary>
+    public List<long> GrantRoleIdList { get; set; }
+
+
+    /// <summary>
+    /// 鎺堟潈缁勭粐ID鍒楄〃
+    /// </summary>
+    public List<long> GrantOrgIdList { get; set; }
+}
+
+/// <summary>
+/// 閫氱敤杈撳叆鎵╁睍鍙傛暟锛堝甫鏉冮檺锛�
+/// </summary>
+public interface IXnInputBase
+{
+    /// <summary>
+    /// 鎺堟潈鑿滃崟
+    /// </summary>
+    public List<long> GrantMenuIdList { get; set; }
+
+    /// <summary>
+    /// 鎺堟潈瑙掕壊
+    /// </summary>
+    public List<long> GrantRoleIdList { get; set; }
+
+    /// <summary>
+    /// 鎺堟潈鏁版嵁
+    /// </summary>
+    public List<long> GrantOrgIdList { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/Dto/WmsPdaRoleMenuListOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/Dto/WmsPdaRoleMenuListOutput.cs
new file mode 100644
index 0000000..3e1f24d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/Dto/WmsPdaRoleMenuListOutput.cs
@@ -0,0 +1,61 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Application.Service.WmsSystem.WmsSysPdaMenu.Dto;
+public class WmsPdaRoleMenuListOutput
+{
+    public string Name { get; set; }
+
+    public List<SysPadRoleMenuListOutput> WmsPdaRoleMenuOutput { get; set; }
+}
+
+public class SysPadRoleMenuListOutput : SysPadMenuOutput
+{
+    public bool IsCheck { get; set; }
+}
+
+
+/// <summary>
+/// PDA鑿滃崟绠$悊杈撳嚭鍙傛暟
+/// </summary>
+public class SysPadMenuOutput
+{
+    /// <summary>
+    /// 鍥炬爣
+    /// </summary>
+    public string Icon { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    public string Code { get; set; }
+
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 棰滆壊
+    /// </summary>
+    public string Color { get; set; }
+
+    /// <summary>
+    /// 鑿滃崟绫诲埆
+    /// </summary>
+    public PdaMenuTypeEnum MenuType { get; set; }
+
+    /// <summary>
+    /// Id
+    /// </summary>
+    public long Id { get; set; }
+
+}
+
+
+public class QueryRoleInput : BaseIdInput
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/Dto/WmsSysPdaMenuInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/Dto/WmsSysPdaMenuInput.cs
new file mode 100644
index 0000000..d3397be
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/Dto/WmsSysPdaMenuInput.cs
@@ -0,0 +1,179 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+    /// <summary>
+    /// Pda鑿滃崟绠$悊鍩虹杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsSysPdaMenuBaseInput
+    {
+        /// <summary>
+        /// 鍚嶇О
+        /// </summary>
+        public virtual string Name { get; set; }
+        
+        /// <summary>
+        /// 缂栫爜
+        /// </summary>
+        public virtual string Code { get; set; }
+        
+        /// <summary>
+        /// 鍥炬爣
+        /// </summary>
+        public virtual string Icon { get; set; }
+        
+        /// <summary>
+        /// 棰滆壊
+        /// </summary>
+        public virtual string Color { get; set; }
+        
+        /// <summary>
+        /// 鑿滃崟绫诲埆
+        /// </summary>
+        public virtual Admin.NET.Application.PdaMenuTypeEnum MenuType { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+        /// 淇敼鏃堕棿
+        /// </summary>
+        public virtual DateTime? UpdateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public virtual long? CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public virtual string CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜篒d
+        /// </summary>
+        public virtual long? UpdateUserId { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜�
+        /// </summary>
+        public virtual string UpdateUserName { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        public virtual bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// Pda鑿滃崟绠$悊鍒嗛〉鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsSysPdaMenuInput : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+        /// <summary>
+        /// 鍚嶇О
+        /// </summary>
+        public string? Name { get; set; }
+        
+        /// <summary>
+        /// 缂栫爜
+        /// </summary>
+        public string? Code { get; set; }
+        
+        /// <summary>
+        /// 鍥炬爣
+        /// </summary>
+        public string? Icon { get; set; }
+        
+        /// <summary>
+        /// 棰滆壊
+        /// </summary>
+        public string? Color { get; set; }
+        
+        /// <summary>
+        /// 鑿滃崟绫诲埆
+        /// </summary>
+        public Admin.NET.Application.PdaMenuTypeEnum? MenuType { get; set; }
+        
+    }
+
+    /// <summary>
+    /// Pda鑿滃崟绠$悊澧炲姞杈撳叆鍙傛暟
+    /// </summary>
+    public class AddWmsSysPdaMenuInput : WmsSysPdaMenuBaseInput
+    {
+        /// <summary>
+        /// 鍚嶇О
+        /// </summary>
+        [Required(ErrorMessage = "鍚嶇О涓嶈兘涓虹┖")]
+        public override string Name { get; set; }
+        
+        /// <summary>
+        /// 缂栫爜
+        /// </summary>
+        [Required(ErrorMessage = "缂栫爜涓嶈兘涓虹┖")]
+        public override string Code { get; set; }
+        
+        /// <summary>
+        /// 鍥炬爣
+        /// </summary>
+        [Required(ErrorMessage = "鍥炬爣涓嶈兘涓虹┖")]
+        public override string Icon { get; set; }
+        
+        /// <summary>
+        /// 棰滆壊
+        /// </summary>
+        [Required(ErrorMessage = "棰滆壊涓嶈兘涓虹┖")]
+        public override string Color { get; set; }
+        
+        /// <summary>
+        /// 鑿滃崟绫诲埆
+        /// </summary>
+        [Required(ErrorMessage = "鑿滃崟绫诲埆涓嶈兘涓虹┖")]
+        public override Admin.NET.Application.PdaMenuTypeEnum MenuType { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+        public override bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// Pda鑿滃崟绠$悊鍒犻櫎杈撳叆鍙傛暟
+    /// </summary>
+    public class DeleteWmsSysPdaMenuInput : BaseIdInput
+    {
+    }
+
+    /// <summary>
+    /// Pda鑿滃崟绠$悊鏇存柊杈撳叆鍙傛暟
+    /// </summary>
+    public class UpdateWmsSysPdaMenuInput : AddWmsSysPdaMenuInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+        public long Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// Pda鑿滃崟绠$悊涓婚敭鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class QueryByIdWmsSysPdaMenuInput : DeleteWmsSysPdaMenuInput
+    {
+
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/Dto/WmsSysPdaMenuOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/Dto/WmsSysPdaMenuOutput.cs
new file mode 100644
index 0000000..f6a6cb0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/Dto/WmsSysPdaMenuOutput.cs
@@ -0,0 +1,75 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// Pda鑿滃崟绠$悊杈撳嚭鍙傛暟
+/// </summary>
+public class WmsSysPdaMenuOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long? Id { get; set; }
+    
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public string Name { get; set; }
+    
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    public string Code { get; set; }
+    
+    /// <summary>
+    /// 鍥炬爣
+    /// </summary>
+    public string Icon { get; set; }
+    
+    /// <summary>
+    /// 棰滆壊
+    /// </summary>
+    public string Color { get; set; }
+    
+    /// <summary>
+    /// 鑿滃崟绫诲埆
+    /// </summary>
+    public Admin.NET.Application.PdaMenuTypeEnum MenuType { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public string UpdateUserName { get; set; }
+    
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+    
+    }
+ 
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/WmsSysPdaMenuService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/WmsSysPdaMenuService.cs
new file mode 100644
index 0000000..0aaa56b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystem/WmsSysPdaMenu/WmsSysPdaMenuService.cs
@@ -0,0 +1,368 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+using Admin.NET.Application.Service.WmsSystem.WmsSysPdaMenu.Dto;
+using DocumentFormat.OpenXml;
+
+namespace Admin.NET.Application;
+/// <summary>
+/// Pda鑿滃崟绠$悊鏈嶅姟
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.WmsSystemGroupName, Order = 100)]
+public class WmsSysPdaMenuService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<WmsSysPdaMenu> _rep;
+    private readonly SqlSugarRepository<WmsSysPdaRoleMenu> _wmsSysPdaRoleMenuRep;
+    private readonly SqlSugarRepository<SysUser> _sysUserRep;
+    private readonly UserManager _userManager;
+    private readonly SysUserRoleService _sysUserRoleService;
+
+    public WmsSysPdaMenuService(SqlSugarRepository<WmsSysPdaMenu> rep, SqlSugarRepository<WmsSysPdaRoleMenu> wmsSysPdaRoleMenuRep, SqlSugarRepository<SysUser> sysUserRep, UserManager userManager, SysUserRoleService sysUserRoleService)
+    {
+        _rep = rep;
+        _wmsSysPdaRoleMenuRep = wmsSysPdaRoleMenuRep;
+        _sysUserRep = sysUserRep;
+        _userManager = userManager;
+        _sysUserRoleService = sysUserRoleService;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨPda鑿滃崟绠$悊
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("WmsSysPdaMenu/Page")]
+    public async Task<SqlSugarPagedList<WmsSysPdaMenuOutput>> Page(WmsSysPdaMenuInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇da鑿滃崟绠$悊
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("WmsSysPdaMenu/List")]
+    public async Task<List<WmsSysPdaMenuOutput>> List([FromQuery] WmsSysPdaMenuInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").Select<WmsSysPdaMenuOutput>().ToListAsync();
+    }
+
+
+    /// <summary>
+    /// 澧炲姞Pda鑿滃崟绠$悊
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("WmsSysPdaMenu/Add")]
+    public async Task<long> Add(AddWmsSysPdaMenuInput input)
+    {
+        var entity = input.Adapt<WmsSysPdaMenu>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎Pda鑿滃崟绠$悊
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("WmsSysPdaMenu/Delete")]
+    public async Task Delete(DeleteWmsSysPdaMenuInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊Pda鑿滃崟绠$悊
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("WmsSysPdaMenu/Update")]
+    public async Task Update(UpdateWmsSysPdaMenuInput input)
+    {
+        var entity = input.Adapt<WmsSysPdaMenu>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity, true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇Pda鑿滃崟绠$悊
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("WmsSysPdaMenu/Detail")]
+    public async Task<WmsSysPdaMenu> Detail([FromQuery] QueryByIdWmsSysPdaMenuInput input)
+    {
+        return await _rep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+
+
+    /// <summary>
+    /// 瑙掕壊鎺堟潈pda鑿滃崟
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "GrantPdaMenu")]
+    [Description("WmsSysPdaMenu/GrantPdaMenu")]
+    public async Task GrantPdaMenu(GrantRolePdaMenuInput input)
+    {
+        var roleMenus = await _wmsSysPdaRoleMenuRep.AsQueryable().Where(u => u.RoleId == input.Id).ToListAsync();
+        await _rep.FakeDeleteAsync(roleMenus);
+
+        foreach (var item in input.GrantMenuIdList)
+        {
+            await _wmsSysPdaRoleMenuRep.InsertAsync(new WmsSysPdaRoleMenu
+            {
+                RoleId = input.Id,
+                PdaMenuId = item
+            });
+        }
+    }
+    /// <summary>
+    /// pda鑿滃崟鍒楄〃锛堟爲琛級
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "GetMenuListPda")]
+    [Description("WmsSysPdaMenu/GetMenuListPda")]
+    public async Task<List<WmsPdaRoleMenuListOutput>> GetMenuListPda([FromQuery] QueryRoleInput input)
+    {
+        var db_wmsPdaPowerList = await _rep.AsQueryable().Where(u => 1 == 1 && u.IsDelete == false).ToListAsync();
+        var wmsPdaPowerList = db_wmsPdaPowerList.Adapt<List<SysPadRoleMenuListOutput>>();
+        var meunIdList = await _wmsSysPdaRoleMenuRep.AsQueryable().Where(n => input.Id == n.RoleId).ToListAsync();
+        foreach (var item in meunIdList)
+        {
+            var model = wmsPdaPowerList.Where(p => p.Id == item.PdaMenuId).FirstOrDefault();
+            if (model != null)
+            {
+                wmsPdaPowerList.Where(p => p.Id == item.PdaMenuId).FirstOrDefault().IsCheck = true;
+            }
+        }
+
+        //鍒嗙粍
+        var groups = wmsPdaPowerList.GroupBy(x => x.MenuType);
+
+        var listData = new List<WmsPdaRoleMenuListOutput>();
+        foreach (var item in groups)
+        {
+            listData.Add(new WmsPdaRoleMenuListOutput()
+            {
+                Name = item.Key.ToString(),
+                WmsPdaRoleMenuOutput = wmsPdaPowerList.Where(n => n.MenuType == item.Key).ToList()
+            });
+
+        }
+        return listData;
+    }
+
+
+    /// <summary>
+    /// 鑾峰彇褰撳墠PDA鐧诲綍鐨勬寜閽潈闄愬垪琛�
+    /// </summary>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "GetPdaLoginUser")]
+    [Description("WmsSysPdaMenu/GetPdaLoginUser")]
+    public async Task<List<WmsPdaRoleMenuListOutput>> GetPdaLoginUserAsync()
+    {
+        var user = await _sysUserRep.GetFirstAsync(u => u.Id == _userManager.UserId);
+        if (user == null)
+            throw Oops.Oh(ErrorCodeEnum.D1011);
+        var userId = user.Id;
+
+
+        var roleList = await _sysUserRoleService.GetUserRoleIdList(_userManager.UserId);
+
+
+        var meunIdList = _wmsSysPdaRoleMenuRep.AsQueryable().Where(n => roleList.Contains(n.RoleId)).Select(n => n.PdaMenuId).ToList();
+        List<SysPadMenuOutput> wmspdaPowerList;
+        if (user.AccountType == AccountTypeEnum.SuperAdmin)
+        {
+            var newWmspdaPowerList = await _rep.GetListAsync(n => n.IsDelete == false);
+            wmspdaPowerList = newWmspdaPowerList.Adapt<List<SysPadMenuOutput>>();
+        }
+        else
+        {
+            var edoPdaPowerOutputs = _rep.AsQueryable().Where(n => meunIdList.Contains(n.Id) && n.IsDelete == false).ToList().Adapt<List<SysPadMenuOutput>>();
+            wmspdaPowerList = edoPdaPowerOutputs;
+        }
+
+        //鍘婚噸
+        wmspdaPowerList = wmspdaPowerList.Distinct().ToList();
+
+        var temp_wmsPdaPowerList = wmspdaPowerList.Adapt<List<SysPadRoleMenuListOutput>>();
+
+        //鍒嗙粍
+        var groups = temp_wmsPdaPowerList.GroupBy(x => x.MenuType);
+
+        var listData = new List<WmsPdaRoleMenuListOutput>();
+        foreach (var item in groups)
+        {
+            listData.Add(new WmsPdaRoleMenuListOutput()
+            {
+                Name = item.Key.ToString(),
+                WmsPdaRoleMenuOutput = temp_wmsPdaPowerList.Where(n => n.MenuType == item.Key).ToList()
+            });
+
+        }
+
+        return listData;
+    }
+
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨPda鑿滃崟绠$悊鏉′欢
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<WmsSysPdaMenuOutput> CommonPageFilter(WmsSysPdaMenuInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.Name.Contains(input.SearchKey.Trim())
+                || u.Code.Contains(input.SearchKey.Trim())
+                || u.Icon.Contains(input.SearchKey.Trim())
+                || u.Color.Contains(input.SearchKey.Trim())
+                || u.CreateUserName.Contains(input.SearchKey.Trim())
+                || u.UpdateUserName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Code), u => u.Code.Contains(input.Code.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Icon), u => u.Icon.Contains(input.Icon.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Color), u => u.Color.Contains(input.Color.Trim()))
+            .WhereIF(input.MenuType.HasValue, u => u.MenuType == input.MenuType)
+            .Select<WmsSysPdaMenuOutput>();
+        return query;
+    }
+
+    /// <summary>
+    /// 閲嶅鎬ч獙璇�
+    /// </summary>
+    /// <param name="input">楠岃瘉瀵硅薄</param>
+    /// <param name="isEdit">鏄惁鏄紪杈�</param>
+    /// <returns></returns>
+    private async Task CheckExist(WmsSysPdaMenu input, bool isEdit = false)
+    {
+
+
+
+        //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+
+        bool isExistForSingle_Name = false;
+        if (!isEdit)//鏂板
+        {
+            //鏁版嵁鏄惁鍗曠嫭瀛樺湪閲嶅-鍚嶇О
+            isExistForSingle_Name = await _rep.AsQueryable().AnyAsync(u =>
+                            u.Name.Equals(input.Name));
+        }
+        else//缂栬緫 
+        {
+            //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁鍗曠嫭瀛樺湪閲嶅-鍚嶇О
+            isExistForSingle_Name = await _rep.AsQueryable().AnyAsync(u =>
+                              u.Id != input.Id
+                              && u.Name.Equals(input.Name));
+        }
+        if (isExistForSingle_Name) throw Oops.Oh($"楠岃瘉澶辫触,鍚嶇О[" + input.Name + "]宸插瓨鍦�");
+
+        bool isExistForSingle_Code = false;
+        if (!isEdit)//鏂板
+        {
+            //鏁版嵁鏄惁鍗曠嫭瀛樺湪閲嶅-缂栫爜
+            isExistForSingle_Code = await _rep.AsQueryable().AnyAsync(u =>
+                            u.Code.Equals(input.Code));
+        }
+        else//缂栬緫 
+        {
+            //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁鍗曠嫭瀛樺湪閲嶅-缂栫爜
+            isExistForSingle_Code = await _rep.AsQueryable().AnyAsync(u =>
+                              u.Id != input.Id
+                              && u.Code.Equals(input.Code));
+        }
+        if (isExistForSingle_Code) throw Oops.Oh($"楠岃瘉澶辫触,缂栫爜[" + input.Code + "]宸插瓨鍦�");
+
+    }
+
+    /// <summary>
+    /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+    /// </summary>
+    /// <param name="inputs"></param>
+    /// <returns></returns>
+    private async Task CheckExisitForImport(List<WmsSysPdaMenu> inputs)
+    {
+        if (inputs?.Count <= 0)
+        {
+            throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+        }
+        //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+
+
+
+
+
+
+
+
+        //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+        var existExcelItemForSingle_Name = inputs.GroupBy(g => new { g.Name }).Where(g => g.Count() > 1).ToList();
+        if (existExcelItemForSingle_Name != null && existExcelItemForSingle_Name.Count > 0)
+        {
+            var item = existExcelItemForSingle_Name.First().ToList().First();
+            throw Oops.Oh($"楠岃瘉澶辫触,瀵煎叆鐨勮〃鏍间腑,鍚嶇О[" + item.Name + "]宸查噸澶嶅瓨鍦�");
+        }
+        var existExcelItemForSingle_Code = inputs.GroupBy(g => new { g.Code }).Where(g => g.Count() > 1).ToList();
+        if (existExcelItemForSingle_Code != null && existExcelItemForSingle_Code.Count > 0)
+        {
+            var item = existExcelItemForSingle_Code.First().ToList().First();
+            throw Oops.Oh($"楠岃瘉澶辫触,瀵煎叆鐨勮〃鏍间腑,缂栫爜[" + item.Code + "]宸查噸澶嶅瓨鍦�");
+        }
+
+        //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+        var existDBItemList = await _rep.GetListAsync(w =>
+                    inputs.Select(s => s.Name).ToList().Contains(w.Name) ||
+                    inputs.Select(s => s.Code).ToList().Contains(w.Code)
+   );
+        var db_ForSingle_Name = existDBItemList.FirstOrDefault(g => inputs.Select(s => s.Name).ToList().Contains(g.Name));
+        if (db_ForSingle_Name != null) throw Oops.Oh($"楠岃瘉澶辫触,绯荤粺涓�,鍚嶇О[" + db_ForSingle_Name.Name + "]宸查噸澶嶅瓨鍦�");
+
+        var db_ForSingle_Code = existDBItemList.FirstOrDefault(g => inputs.Select(s => s.Code).ToList().Contains(g.Code));
+        if (db_ForSingle_Code != null) throw Oops.Oh($"楠岃瘉澶辫触,绯荤粺涓�,缂栫爜[" + db_ForSingle_Code.Code + "]宸查噸澶嶅瓨鍦�");
+
+
+
+    }
+    #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintInput.cs
new file mode 100644
index 0000000..ec7bdd9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintInput.cs
@@ -0,0 +1,184 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+    /// <summary>
+    /// 鎵撳嵃閰嶇疆琛ㄥ熀纭�杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsConfigPrintBaseInput
+    {
+        /// <summary>
+        /// 鎵撳嵃鍒嗙被
+        /// </summary>
+        public virtual Admin.NET.Application.PrintClassifyEnum PrintClassify { get; set; }
+        
+        /// <summary>
+        /// 鎵撳嵃鍒嗙被鍚�
+        /// </summary>
+        public virtual string PrintClassifyName { get; set; }
+        
+        /// <summary>
+        /// 鎵撳嵃妯℃澘鍚�
+        /// </summary>
+        public virtual string PrintTemplate { get; set; }
+        
+        /// <summary>
+        /// 鎵撳嵃妯℃澘鍦板潃
+        /// </summary>
+        public virtual string PrintTemplateAddr { get; set; }
+        
+        /// <summary>
+        /// 鎵撳嵃鏈哄垪琛�
+        /// </summary>
+        public virtual List<string> PrinterListList { get; set; }
+        
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        public virtual string Remark { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public virtual string CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜�
+        /// </summary>
+        public virtual string UpdateUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼鏃堕棿
+        /// </summary>
+        public virtual DateTime? UpdateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public virtual long? CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜篒d
+        /// </summary>
+        public virtual long? UpdateUserId { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        public virtual bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鎵撳嵃閰嶇疆琛ㄥ垎椤垫煡璇㈣緭鍏ュ弬鏁�
+    /// </summary>
+    public class WmsConfigPrintInput : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+        /// <summary>
+        /// 鎵撳嵃鍒嗙被
+        /// </summary>
+        public Admin.NET.Application.PrintClassifyEnum? PrintClassify { get; set; }
+        
+        /// <summary>
+        /// 鎵撳嵃鍒嗙被鍚�
+        /// </summary>
+        public string? PrintClassifyName { get; set; }
+        
+        /// <summary>
+        /// 鎵撳嵃妯℃澘鍚�
+        /// </summary>
+        public string? PrintTemplate { get; set; }
+        
+        /// <summary>
+        /// 鎵撳嵃妯℃澘鍦板潃
+        /// </summary>
+        public string? PrintTemplateAddr { get; set; }
+        
+        /// <summary>
+        /// 鎵撳嵃鏈哄垪琛�
+        /// </summary>
+        public string? PrinterList { get; set; }
+        
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        public string? Remark { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鎵撳嵃閰嶇疆琛ㄥ鍔犺緭鍏ュ弬鏁�
+    /// </summary>
+    public class AddWmsConfigPrintInput : WmsConfigPrintBaseInput
+    {
+        /// <summary>
+        /// 鎵撳嵃鍒嗙被
+        /// </summary>
+        [Required(ErrorMessage = "鎵撳嵃鍒嗙被涓嶈兘涓虹┖")]
+        public override Admin.NET.Application.PrintClassifyEnum PrintClassify { get; set; }
+        
+        
+        /// <summary>
+        /// 鎵撳嵃妯℃澘鍚�
+        /// </summary>
+        [Required(ErrorMessage = "鎵撳嵃妯℃澘鍚嶄笉鑳戒负绌�")]
+        public override string PrintTemplate { get; set; }
+        
+        /// <summary>
+        /// 鎵撳嵃妯℃澘鍦板潃
+        /// </summary>
+        [Required(ErrorMessage = "鎵撳嵃妯℃澘鍦板潃涓嶈兘涓虹┖")]
+        public override string PrintTemplateAddr { get; set; }
+        
+        /// <summary>
+        /// 鎵撳嵃鏈哄垪琛�
+        /// </summary>
+        [Required(ErrorMessage = "鎵撳嵃鏈哄垪琛ㄤ笉鑳戒负绌�")]
+        public override List<string> PrinterListList { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+        public override bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鎵撳嵃閰嶇疆琛ㄥ垹闄よ緭鍏ュ弬鏁�
+    /// </summary>
+    public class DeleteWmsConfigPrintInput : BaseIdInput
+    {
+    }
+
+    /// <summary>
+    /// 鎵撳嵃閰嶇疆琛ㄦ洿鏂拌緭鍏ュ弬鏁�
+    /// </summary>
+    public class UpdateWmsConfigPrintInput : AddWmsConfigPrintInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+        public long Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鎵撳嵃閰嶇疆琛ㄤ富閿煡璇㈣緭鍏ュ弬鏁�
+    /// </summary>
+    public class QueryByIdWmsConfigPrintInput : DeleteWmsConfigPrintInput
+    {
+
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintOutput.cs
new file mode 100644
index 0000000..e7a274c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/Dto/WmsConfigPrintOutput.cs
@@ -0,0 +1,85 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 鎵撳嵃閰嶇疆琛ㄨ緭鍑哄弬鏁�
+/// </summary>
+public class WmsConfigPrintOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long? Id { get; set; }
+    
+    /// <summary>
+    /// 鎵撳嵃鍒嗙被
+    /// </summary>
+    public Admin.NET.Application.PrintClassifyEnum PrintClassify { get; set; }
+    
+    /// <summary>
+    /// 鎵撳嵃鍒嗙被鍚�
+    /// </summary>
+    public string PrintClassifyName { get; set; }
+    
+    /// <summary>
+    /// 鎵撳嵃妯℃澘鍚�
+    /// </summary>
+    public string PrintTemplate { get; set; }
+    
+    /// <summary>
+    /// 鎵撳嵃妯℃澘鍦板潃
+    /// </summary>
+    public string PrintTemplateAddr { get; set; }
+    
+    /// <summary>
+    /// 鎵撳嵃鏈哄垪琛�
+    /// </summary>
+    public string PrinterList { get; set; }
+
+    /// <summary>
+    /// 鎵撳嵃鏈哄垪琛�
+    /// </summary>
+    public List<string> PrinterListList { get; set; }
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    public string Remark { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public string UpdateUserName { get; set; }
+    
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+    
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+    
+    }
+ 
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/WmsConfigPrintService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/WmsConfigPrintService.cs
new file mode 100644
index 0000000..7f060eb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsConfigPrint/WmsConfigPrintService.cs
@@ -0,0 +1,278 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+using NPOI.OpenXmlFormats.Dml;
+
+namespace Admin.NET.Application;
+/// <summary>
+/// 鎵撳嵃閰嶇疆琛ㄦ湇鍔�
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.WmsSystemConfigGroupName, Order = 100)]
+public class WmsConfigPrintService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<WmsConfigPrint> _rep;
+    public WmsConfigPrintService(SqlSugarRepository<WmsConfigPrint> rep)
+    {
+        _rep = rep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ鎵撳嵃閰嶇疆琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("WmsConfigPrint/Page")]
+    public async Task<SqlSugarPagedList<WmsConfigPrintOutput>> Page(WmsConfigPrintInput input)
+    {
+        var query = CommonPageFilter(input);
+        var list = await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
+        foreach (var item in list.Items)
+        {
+            //鍗曠嫭澶勭悊鎸夐挳 銆怑ditby shaocx,2024-05-27銆�
+            if (!string.IsNullOrEmpty(item.PrinterList))
+            {
+                item.PrinterListList = item.PrinterList.Split(",").ToList();
+            }
+        }
+        return list;
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇㈡墦鍗伴厤缃〃
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("WmsConfigPrint/List")]
+    public async Task<List<WmsConfigPrintOutput>> List([FromQuery] WmsConfigPrintInput input)
+    {
+        var query = CommonPageFilter(input);
+        var list = await query.OrderBuilder(input, "", "Id").Select<WmsConfigPrintOutput>().ToListAsync();
+        foreach (var item in list)
+        {
+            //鍗曠嫭澶勭悊鎸夐挳 銆怑ditby shaocx,2024-05-27銆�
+            if (!string.IsNullOrEmpty(item.PrinterList))
+            {
+                item.PrinterListList = item.PrinterList.Split(",").ToList();
+            }
+        }
+        return list;
+    }
+
+    /// <summary>
+    /// 澧炲姞鎵撳嵃閰嶇疆琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("WmsConfigPrint/Add")]
+    public async Task<long> Add(AddWmsConfigPrintInput input)
+    {
+
+        var entity = input.Adapt<WmsConfigPrint>();
+        entity.PrintClassifyName = entity.PrintClassify.ToString();
+        entity.PrinterList = string.Join(",", input.PrinterListList);
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎鎵撳嵃閰嶇疆琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("WmsConfigPrint/Delete")]
+    public async Task Delete(DeleteWmsConfigPrintInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊鎵撳嵃閰嶇疆琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("WmsConfigPrint/Update")]
+    public async Task Update(UpdateWmsConfigPrintInput input)
+    {
+        var entity = input.Adapt<WmsConfigPrint>();
+        entity.PrintClassifyName = entity.PrintClassify.ToString();
+        entity.PrinterList = string.Join(",", input.PrinterListList);
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity, true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇鎵撳嵃閰嶇疆琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("WmsConfigPrint/Detail")]
+    public async Task<WmsConfigPrintOutput> Detail([FromQuery] QueryByIdWmsConfigPrintInput input)
+    {
+        var obj= await _rep.GetFirstAsync(u => u.Id == input.Id);
+        var entity = obj.Adapt<WmsConfigPrintOutput>();
+        if (!string.IsNullOrEmpty(entity.PrinterList))
+        {
+            entity.PrinterListList = entity.PrinterList.Split(",").ToList();
+        }
+        return entity;
+    }
+
+
+
+
+
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ鎵撳嵃閰嶇疆琛ㄦ潯浠�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<WmsConfigPrintOutput> CommonPageFilter(WmsConfigPrintInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.PrintClassifyName.Contains(input.SearchKey.Trim())
+                || u.PrintTemplate.Contains(input.SearchKey.Trim())
+                || u.PrintTemplateAddr.Contains(input.SearchKey.Trim())
+                || u.PrinterList.Contains(input.SearchKey.Trim())
+                || u.Remark.Contains(input.SearchKey.Trim())
+                || u.CreateUserName.Contains(input.SearchKey.Trim())
+                || u.UpdateUserName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(input.PrintClassify.HasValue, u => u.PrintClassify == input.PrintClassify)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.PrintClassifyName), u => u.PrintClassifyName.Contains(input.PrintClassifyName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.PrintTemplate), u => u.PrintTemplate.Contains(input.PrintTemplate.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.PrintTemplateAddr), u => u.PrintTemplateAddr.Contains(input.PrintTemplateAddr.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.PrinterList), u => u.PrinterList.Contains(input.PrinterList.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Remark), u => u.Remark.Contains(input.Remark.Trim()))
+            .Select<WmsConfigPrintOutput>();
+
+        return query;
+    }
+
+    /// <summary>
+    /// 閲嶅鎬ч獙璇�
+    /// </summary>
+    /// <param name="input">楠岃瘉瀵硅薄</param>
+    /// <param name="isEdit">鏄惁鏄紪杈�</param>
+    /// <returns></returns>
+    private async Task CheckExist(WmsConfigPrint input, bool isEdit = false)
+    {
+
+
+
+        //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+
+        bool isExistForSingle_PrintTemplate = false;
+        if (!isEdit)//鏂板
+        {
+            //鏁版嵁鏄惁鍗曠嫭瀛樺湪閲嶅-鎵撳嵃妯℃澘鍚�
+            isExistForSingle_PrintTemplate = await _rep.AsQueryable().AnyAsync(u =>
+                            u.PrintTemplate.Equals(input.PrintTemplate));
+        }
+        else//缂栬緫 
+        {
+            //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁鍗曠嫭瀛樺湪閲嶅-鎵撳嵃妯℃澘鍚�
+            isExistForSingle_PrintTemplate = await _rep.AsQueryable().AnyAsync(u =>
+                              u.Id != input.Id
+                              && u.PrintTemplate.Equals(input.PrintTemplate));
+        }
+        if (isExistForSingle_PrintTemplate) throw Oops.Oh($"楠岃瘉澶辫触,鎵撳嵃妯℃澘鍚峓" + input.PrintTemplate + "]宸插瓨鍦�");
+
+        bool isExistForSingle_PrintTemplateAddr = false;
+        if (!isEdit)//鏂板
+        {
+            //鏁版嵁鏄惁鍗曠嫭瀛樺湪閲嶅-鎵撳嵃妯℃澘鍦板潃
+            isExistForSingle_PrintTemplateAddr = await _rep.AsQueryable().AnyAsync(u =>
+                            u.PrintTemplateAddr.Equals(input.PrintTemplateAddr));
+        }
+        else//缂栬緫 
+        {
+            //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁鍗曠嫭瀛樺湪閲嶅-鎵撳嵃妯℃澘鍦板潃
+            isExistForSingle_PrintTemplateAddr = await _rep.AsQueryable().AnyAsync(u =>
+                              u.Id != input.Id
+                              && u.PrintTemplateAddr.Equals(input.PrintTemplateAddr));
+        }
+        if (isExistForSingle_PrintTemplateAddr) throw Oops.Oh($"楠岃瘉澶辫触,鎵撳嵃妯℃澘鍦板潃[" + input.PrintTemplateAddr + "]宸插瓨鍦�");
+
+    }
+
+    /// <summary>
+    /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+    /// </summary>
+    /// <param name="inputs"></param>
+    /// <returns></returns>
+    private async Task CheckExisitForImport(List<WmsConfigPrint> inputs)
+    {
+        if (inputs?.Count <= 0)
+        {
+            throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+        }
+        //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+
+
+
+
+
+
+
+
+        //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+        var existExcelItemForSingle_PrintTemplate = inputs.GroupBy(g => new { g.PrintTemplate }).Where(g => g.Count() > 1).ToList();
+        if (existExcelItemForSingle_PrintTemplate != null && existExcelItemForSingle_PrintTemplate.Count > 0)
+        {
+            var item = existExcelItemForSingle_PrintTemplate.First().ToList().First();
+            throw Oops.Oh($"楠岃瘉澶辫触,瀵煎叆鐨勮〃鏍间腑,鎵撳嵃妯℃澘鍚峓" + item.PrintTemplate + "]宸查噸澶嶅瓨鍦�");
+        }
+        var existExcelItemForSingle_PrintTemplateAddr = inputs.GroupBy(g => new { g.PrintTemplateAddr }).Where(g => g.Count() > 1).ToList();
+        if (existExcelItemForSingle_PrintTemplateAddr != null && existExcelItemForSingle_PrintTemplateAddr.Count > 0)
+        {
+            var item = existExcelItemForSingle_PrintTemplateAddr.First().ToList().First();
+            throw Oops.Oh($"楠岃瘉澶辫触,瀵煎叆鐨勮〃鏍间腑,鎵撳嵃妯℃澘鍦板潃[" + item.PrintTemplateAddr + "]宸查噸澶嶅瓨鍦�");
+        }
+
+        //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+        var existDBItemList = await _rep.GetListAsync(w =>
+                    inputs.Select(s => s.PrintTemplate).ToList().Contains(w.PrintTemplate) ||
+                    inputs.Select(s => s.PrintTemplateAddr).ToList().Contains(w.PrintTemplateAddr)
+   );
+        var db_ForSingle_PrintTemplate = existDBItemList.FirstOrDefault(g => inputs.Select(s => s.PrintTemplate).ToList().Contains(g.PrintTemplate));
+        if (db_ForSingle_PrintTemplate != null) throw Oops.Oh($"楠岃瘉澶辫触,绯荤粺涓�,鎵撳嵃妯℃澘鍚峓" + db_ForSingle_PrintTemplate.PrintTemplate + "]宸查噸澶嶅瓨鍦�");
+
+        var db_ForSingle_PrintTemplateAddr = existDBItemList.FirstOrDefault(g => inputs.Select(s => s.PrintTemplateAddr).ToList().Contains(g.PrintTemplateAddr));
+        if (db_ForSingle_PrintTemplateAddr != null) throw Oops.Oh($"楠岃瘉澶辫触,绯荤粺涓�,鎵撳嵃妯℃澘鍦板潃[" + db_ForSingle_PrintTemplateAddr.PrintTemplateAddr + "]宸查噸澶嶅瓨鍦�");
+
+
+
+    }
+    #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsNoCreateRule/Dto/WmsNoCreateRuleInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsNoCreateRule/Dto/WmsNoCreateRuleInput.cs
new file mode 100644
index 0000000..2ad21e4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsNoCreateRule/Dto/WmsNoCreateRuleInput.cs
@@ -0,0 +1,237 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+    /// <summary>
+    /// 鍗曞彿鐢熸垚瑙勫垯鍩虹杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsNoCreateRuleBaseInput
+    {
+        /// <summary>
+        /// 瑙勫垯缂栧彿
+        /// </summary>
+        public virtual string RuleCode { get; set; }
+        
+        /// <summary>
+        /// 瑙勫垯鍚嶇О
+        /// </summary>
+        public virtual string RuleName { get; set; }
+        
+        /// <summary>
+        /// 鍗曞彿瑙勫垯
+        /// </summary>
+        public virtual string NoRule { get; set; }
+        
+        /// <summary>
+        /// 鍗曟嵁绫诲瀷
+        /// </summary>
+        public virtual Admin.NET.Application.OrderTypeEnum OrderType { get; set; }
+        
+        /// <summary>
+        /// 涓氬姟绫诲瀷
+        /// </summary>
+        public virtual Admin.NET.Application.BusinessTypeEnum BusinessType { get; set; }
+        
+        /// <summary>
+        /// 娴佹按鍙锋闀�
+        /// </summary>
+        public virtual int SerialNoStepSize { get; set; }
+        
+        /// <summary>
+        /// 娴佹按鍙烽暱搴�
+        /// </summary>
+        public virtual int SerialNoLength { get; set; }
+        
+        /// <summary>
+        /// 鏉$爜瑙勫垯鎻忚堪
+        /// </summary>
+        public virtual string RuleDesc { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool IsDisabled { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+        /// 淇敼鏃堕棿
+        /// </summary>
+        public virtual DateTime? UpdateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public virtual long? CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public virtual string CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜篒d
+        /// </summary>
+        public virtual long? UpdateUserId { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜�
+        /// </summary>
+        public virtual string UpdateUserName { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        public virtual bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鍗曞彿鐢熸垚瑙勫垯鍒嗛〉鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsNoCreateRuleInput : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+        /// <summary>
+        /// 瑙勫垯缂栧彿
+        /// </summary>
+        public string? RuleCode { get; set; }
+        
+        /// <summary>
+        /// 瑙勫垯鍚嶇О
+        /// </summary>
+        public string? RuleName { get; set; }
+        
+        /// <summary>
+        /// 鍗曞彿瑙勫垯
+        /// </summary>
+        public string? NoRule { get; set; }
+        
+        /// <summary>
+        /// 鍗曟嵁绫诲瀷
+        /// </summary>
+        public Admin.NET.Application.OrderTypeEnum? OrderType { get; set; }
+        
+        /// <summary>
+        /// 涓氬姟绫诲瀷
+        /// </summary>
+        public int? BusinessType { get; set; }
+        
+        /// <summary>
+        /// 娴佹按鍙锋闀�
+        /// </summary>
+        public int? SerialNoStepSize { get; set; }
+        
+        /// <summary>
+        /// 娴佹按鍙烽暱搴�
+        /// </summary>
+        public int? SerialNoLength { get; set; }
+        
+        /// <summary>
+        /// 鏉$爜瑙勫垯鎻忚堪
+        /// </summary>
+        public string? RuleDesc { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public bool? IsDisabled { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鍗曞彿鐢熸垚瑙勫垯澧炲姞杈撳叆鍙傛暟
+    /// </summary>
+    public class AddWmsNoCreateRuleInput : WmsNoCreateRuleBaseInput
+    {
+        /// <summary>
+        /// 瑙勫垯缂栧彿
+        /// </summary>
+        [Required(ErrorMessage = "瑙勫垯缂栧彿涓嶈兘涓虹┖")]
+        public override string RuleCode { get; set; }
+        
+        /// <summary>
+        /// 瑙勫垯鍚嶇О
+        /// </summary>
+        [Required(ErrorMessage = "瑙勫垯鍚嶇О涓嶈兘涓虹┖")]
+        public override string RuleName { get; set; }
+        
+        /// <summary>
+        /// 鍗曞彿瑙勫垯
+        /// </summary>
+        [Required(ErrorMessage = "鍗曞彿瑙勫垯涓嶈兘涓虹┖")]
+        public override string NoRule { get; set; }
+        
+        /// <summary>
+        /// 鍗曟嵁绫诲瀷
+        /// </summary>
+        [Required(ErrorMessage = "鍗曟嵁绫诲瀷涓嶈兘涓虹┖")]
+        public override Admin.NET.Application.OrderTypeEnum OrderType { get; set; }
+        
+        /// <summary>
+        /// 涓氬姟绫诲瀷
+        /// </summary>
+        [Required(ErrorMessage = "涓氬姟绫诲瀷涓嶈兘涓虹┖")]
+        public override Admin.NET.Application.BusinessTypeEnum BusinessType { get; set; }
+        
+        /// <summary>
+        /// 娴佹按鍙锋闀�
+        /// </summary>
+        [Required(ErrorMessage = "娴佹按鍙锋闀夸笉鑳戒负绌�")]
+        public override int SerialNoStepSize { get; set; }
+        
+        /// <summary>
+        /// 娴佹按鍙烽暱搴�
+        /// </summary>
+        [Required(ErrorMessage = "娴佹按鍙烽暱搴︿笉鑳戒负绌�")]
+        public override int SerialNoLength { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        [Required(ErrorMessage = "鏄惁绂佺敤涓嶈兘涓虹┖")]
+        public override bool IsDisabled { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+        public override bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鍗曞彿鐢熸垚瑙勫垯鍒犻櫎杈撳叆鍙傛暟
+    /// </summary>
+    public class DeleteWmsNoCreateRuleInput : BaseIdInput
+    {
+    }
+
+    /// <summary>
+    /// 鍗曞彿鐢熸垚瑙勫垯鏇存柊杈撳叆鍙傛暟
+    /// </summary>
+    public class UpdateWmsNoCreateRuleInput : AddWmsNoCreateRuleInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+        public long Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鍗曞彿鐢熸垚瑙勫垯涓婚敭鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class QueryByIdWmsNoCreateRuleInput : DeleteWmsNoCreateRuleInput
+    {
+
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsNoCreateRule/Dto/WmsNoCreateRuleOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsNoCreateRule/Dto/WmsNoCreateRuleOutput.cs
new file mode 100644
index 0000000..b3c8394
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsNoCreateRule/Dto/WmsNoCreateRuleOutput.cs
@@ -0,0 +1,95 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 鍗曞彿鐢熸垚瑙勫垯杈撳嚭鍙傛暟
+/// </summary>
+public class WmsNoCreateRuleOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long? Id { get; set; }
+    
+    /// <summary>
+    /// 瑙勫垯缂栧彿
+    /// </summary>
+    public string RuleCode { get; set; }
+    
+    /// <summary>
+    /// 瑙勫垯鍚嶇О
+    /// </summary>
+    public string RuleName { get; set; }
+    
+    /// <summary>
+    /// 鍗曞彿瑙勫垯
+    /// </summary>
+    public string NoRule { get; set; }
+    
+    /// <summary>
+    /// 鍗曟嵁绫诲瀷
+    /// </summary>
+    public Admin.NET.Application.OrderTypeEnum OrderType { get; set; }
+    
+    /// <summary>
+    /// 涓氬姟绫诲瀷
+    /// </summary>
+    public Admin.NET.Application.BusinessTypeEnum BusinessType { get; set; }
+    
+    /// <summary>
+    /// 娴佹按鍙锋闀�
+    /// </summary>
+    public int SerialNoStepSize { get; set; }
+    
+    /// <summary>
+    /// 娴佹按鍙烽暱搴�
+    /// </summary>
+    public int SerialNoLength { get; set; }
+    
+    /// <summary>
+    /// 鏉$爜瑙勫垯鎻忚堪
+    /// </summary>
+    public string RuleDesc { get; set; }
+    
+    /// <summary>
+    /// 鏄惁绂佺敤
+    /// </summary>
+    public bool IsDisabled { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public string UpdateUserName { get; set; }
+    
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+    
+    }
+ 
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsNoCreateRule/WmsNoCreateRuleService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsNoCreateRule/WmsNoCreateRuleService.cs
new file mode 100644
index 0000000..581904a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsNoCreateRule/WmsNoCreateRuleService.cs
@@ -0,0 +1,241 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+namespace Admin.NET.Application;
+/// <summary>
+/// 鍗曞彿鐢熸垚瑙勫垯鏈嶅姟
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.WmsSystemConfigGroupName, Order = 100)]
+public class WmsNoCreateRuleService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<WmsConfigNoRule> _rep;
+    public WmsNoCreateRuleService(SqlSugarRepository<WmsConfigNoRule> rep)
+    {
+        _rep = rep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ鍗曞彿鐢熸垚瑙勫垯
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("WmsNoCreateRule/Page")]
+    public async Task<SqlSugarPagedList<WmsNoCreateRuleOutput>> Page(WmsNoCreateRuleInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇㈠崟鍙风敓鎴愯鍒�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("WmsNoCreateRule/List")]
+    public async Task<List<WmsNoCreateRuleOutput>> List([FromQuery] WmsNoCreateRuleInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").Select<WmsNoCreateRuleOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞鍗曞彿鐢熸垚瑙勫垯
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("WmsNoCreateRule/Add")]
+    public async Task<long> Add(AddWmsNoCreateRuleInput input)
+    {
+        var entity = input.Adapt<WmsConfigNoRule>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎鍗曞彿鐢熸垚瑙勫垯
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("WmsNoCreateRule/Delete")]
+    public async Task Delete(DeleteWmsNoCreateRuleInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊鍗曞彿鐢熸垚瑙勫垯
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("WmsNoCreateRule/Update")]
+    public async Task Update(UpdateWmsNoCreateRuleInput input)
+    {
+        var entity = input.Adapt<WmsConfigNoRule>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity,true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇鍗曞彿鐢熸垚瑙勫垯
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("WmsNoCreateRule/Detail")]
+    public async Task<WmsConfigNoRule> Detail([FromQuery] QueryByIdWmsNoCreateRuleInput input)
+    {
+        return await _rep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+
+
+
+
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ鍗曞彿鐢熸垚瑙勫垯鏉′欢
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<WmsNoCreateRuleOutput> CommonPageFilter(WmsNoCreateRuleInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.RuleCode.Contains(input.SearchKey.Trim())
+                || u.RuleName.Contains(input.SearchKey.Trim())
+                || u.NoRule.Contains(input.SearchKey.Trim())
+                || u.RuleDesc.Contains(input.SearchKey.Trim())
+                || u.CreateUserName.Contains(input.SearchKey.Trim())
+                || u.UpdateUserName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(!string.IsNullOrWhiteSpace(input.RuleCode), u => u.RuleCode.Contains(input.RuleCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.RuleName), u => u.RuleName.Contains(input.RuleName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.NoRule), u => u.NoRule.Contains(input.NoRule.Trim()))
+            .WhereIF(input.OrderType.HasValue, u => u.OrderType == input.OrderType)
+            .WhereIF(input.BusinessType.HasValue, u => u.BusinessType == input.BusinessType)
+            .WhereIF(input.SerialNoStepSize>0, u => u.SerialNoStepSize == input.SerialNoStepSize)
+            .WhereIF(input.SerialNoLength>0, u => u.SerialNoLength == input.SerialNoLength)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.RuleDesc), u => u.RuleDesc.Contains(input.RuleDesc.Trim()))
+            .WhereIF(input.IsDisabled.HasValue, u => u.IsDisabled == input.IsDisabled)
+            .Select<WmsNoCreateRuleOutput>();
+        return query;
+       }
+
+        /// <summary>
+        /// 閲嶅鎬ч獙璇�
+        /// </summary>
+        /// <param name="input">楠岃瘉瀵硅薄</param>
+        /// <param name="isEdit">鏄惁鏄紪杈�</param>
+        /// <returns></returns>
+        private async Task CheckExist( WmsConfigNoRule input,bool isEdit=false)
+        {
+           
+           bool isExist = false;
+           if (!isEdit)//鏂板
+           {
+                   //鏁版嵁鏄惁瀛樺湪閲嶅
+                   isExist = await _rep.AsQueryable().AnyAsync(u =>
+                                   u.OrderType.Equals(input.OrderType)
+                                   && u.BusinessType.Equals(input.BusinessType)
+                   );
+          }
+           else//缂栬緫 
+          {
+
+                 //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁瀛樺湪閲嶅
+                  isExist = await _rep.AsQueryable().AnyAsync(u => 
+                                    u.Id != input.Id
+                                    && u.OrderType.Equals(input.OrderType)
+                                    && u.BusinessType.Equals(input.BusinessType)
+                    );
+               }
+
+            if (isExist) throw Oops.Oh($"楠岃瘉澶辫触,鍗曟嵁绫诲瀷[{input.OrderType}],涓氬姟绫诲瀷[{input.BusinessType}]宸插瓨鍦�");
+
+           
+            //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+       }
+
+       /// <summary>
+        /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<WmsConfigNoRule> inputs)
+        { 
+            if (inputs?.Count <= 0)
+            {
+                throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+            }
+            //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                 var existExcelItem = inputs.GroupBy(g => new {
+                                               g.OrderType
+                                               ,g.BusinessType
+                                               })
+                                               .Where(g => g.Count() > 1)
+                                               .Select(s => new {
+                                               s.Key.OrderType
+                                               ,s.Key.BusinessType
+                                               }).FirstOrDefault();
+                 if (existExcelItem != null)
+                 {
+                   var item= existExcelItem.Adapt<WmsConfigNoRule>();
+                   throw Oops.Oh($"瀵煎叆鐨勮〃鏍间腑,鍗曟嵁绫诲瀷[{item.OrderType}],涓氬姟绫诲瀷[{item.BusinessType}]宸查噸澶嶅瓨鍦�");
+                 }
+                      
+
+
+
+    //鏍规嵁缁勫悎鏍¢獙楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+                 var existDBItem = await _rep.GetFirstAsync(w=> 
+                                                                         inputs.Select(s=>""
+                                                                           +s.OrderType
+                                                                           +s.BusinessType
+                                                                        )
+                                                                        .Contains(""
+                                                                         +w.OrderType
+                                                                         +w.BusinessType
+                  ));
+                  if (existDBItem != null)
+                 {
+                   var item= existDBItem.Adapt<WmsConfigNoRule>();
+                   throw Oops.Oh($"绯荤粺涓�,鍗曟嵁绫诲瀷[{item.OrderType}],涓氬姟绫诲瀷[{item.BusinessType}]宸插瓨鍦�");
+                 }
+
+
+
+          
+           //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+           
+           
+           
+        }
+     #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsSncodeCreateRule/Dto/WmsSncodeCreateRuleInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsSncodeCreateRule/Dto/WmsSncodeCreateRuleInput.cs
new file mode 100644
index 0000000..c25cb2c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsSncodeCreateRule/Dto/WmsSncodeCreateRuleInput.cs
@@ -0,0 +1,215 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+    /// <summary>
+    /// 鏉$爜鐢熸垚瑙勫垯鍩虹杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsSncodeCreateRuleBaseInput
+    {
+        /// <summary>
+        /// 瑙勫垯缂栧彿
+        /// </summary>
+        public virtual string RuleCode { get; set; }
+        
+        /// <summary>
+        /// 瑙勫垯鍚嶇О
+        /// </summary>
+        public virtual string RuleName { get; set; }
+        
+        /// <summary>
+        /// 鏁版嵁婧�
+        /// </summary>
+        public virtual string DataSource { get; set; }
+        
+        /// <summary>
+        /// 鏉$爜瑙勫垯
+        /// </summary>
+        public virtual string SNCodeRule { get; set; }
+        
+        /// <summary>
+        /// 鏉$爜鍒嗛殧绗�
+        /// </summary>
+        public virtual string Delimiter { get; set; }
+        
+        /// <summary>
+        /// 鏉$爜瑙勫垯鎻忚堪
+        /// </summary>
+        public virtual string RuleDesc { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool IsDisabled { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+        /// 淇敼鏃堕棿
+        /// </summary>
+        public virtual DateTime? UpdateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public virtual long? CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public virtual string CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜篒d
+        /// </summary>
+        public virtual long? UpdateUserId { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜�
+        /// </summary>
+        public virtual string UpdateUserName { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        public virtual bool IsDelete { get; set; }
+        
+        /// <summary>
+        /// 鏉$爜绫诲瀷
+        /// </summary>
+        public virtual Admin.NET.Application.CreateCodeTypeEnum? CreateCodeType { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鏉$爜鐢熸垚瑙勫垯鍒嗛〉鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsSncodeCreateRuleInput : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+        /// <summary>
+        /// 瑙勫垯缂栧彿
+        /// </summary>
+        public string? RuleCode { get; set; }
+        
+        /// <summary>
+        /// 瑙勫垯鍚嶇О
+        /// </summary>
+        public string? RuleName { get; set; }
+        
+        /// <summary>
+        /// 鏁版嵁婧�
+        /// </summary>
+        public string? DataSource { get; set; }
+        
+        /// <summary>
+        /// 鏉$爜瑙勫垯
+        /// </summary>
+        public string? SNCodeRule { get; set; }
+        
+        /// <summary>
+        /// 鏉$爜鍒嗛殧绗�
+        /// </summary>
+        public string? Delimiter { get; set; }
+        
+        /// <summary>
+        /// 鏉$爜瑙勫垯鎻忚堪
+        /// </summary>
+        public string? RuleDesc { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public bool? IsDisabled { get; set; }
+        
+        /// <summary>
+        /// 鏉$爜绫诲瀷
+        /// </summary>
+        public Admin.NET.Application.CreateCodeTypeEnum? CreateCodeType { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鏉$爜鐢熸垚瑙勫垯澧炲姞杈撳叆鍙傛暟
+    /// </summary>
+    public class AddWmsSncodeCreateRuleInput : WmsSncodeCreateRuleBaseInput
+    {
+        /// <summary>
+        /// 瑙勫垯缂栧彿
+        /// </summary>
+        [Required(ErrorMessage = "瑙勫垯缂栧彿涓嶈兘涓虹┖")]
+        public override string RuleCode { get; set; }
+        
+        /// <summary>
+        /// 瑙勫垯鍚嶇О
+        /// </summary>
+        [Required(ErrorMessage = "瑙勫垯鍚嶇О涓嶈兘涓虹┖")]
+        public override string RuleName { get; set; }
+        
+        /// <summary>
+        /// 鏁版嵁婧�
+        /// </summary>
+        [Required(ErrorMessage = "鏁版嵁婧愪笉鑳戒负绌�")]
+        public override string DataSource { get; set; }
+        
+        /// <summary>
+        /// 鏉$爜瑙勫垯
+        /// </summary>
+        [Required(ErrorMessage = "鏉$爜瑙勫垯涓嶈兘涓虹┖")]
+        public override string SNCodeRule { get; set; }
+        
+        /// <summary>
+        /// 鏉$爜鍒嗛殧绗�
+        /// </summary>
+        [Required(ErrorMessage = "鏉$爜鍒嗛殧绗︿笉鑳戒负绌�")]
+        public override string Delimiter { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        [Required(ErrorMessage = "鏄惁绂佺敤涓嶈兘涓虹┖")]
+        public override bool IsDisabled { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+        public override bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鏉$爜鐢熸垚瑙勫垯鍒犻櫎杈撳叆鍙傛暟
+    /// </summary>
+    public class DeleteWmsSncodeCreateRuleInput : BaseIdInput
+    {
+    }
+
+    /// <summary>
+    /// 鏉$爜鐢熸垚瑙勫垯鏇存柊杈撳叆鍙傛暟
+    /// </summary>
+    public class UpdateWmsSncodeCreateRuleInput : AddWmsSncodeCreateRuleInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+        public long Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鏉$爜鐢熸垚瑙勫垯涓婚敭鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class QueryByIdWmsSncodeCreateRuleInput : DeleteWmsSncodeCreateRuleInput
+    {
+
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsSncodeCreateRule/Dto/WmsSncodeCreateRuleOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsSncodeCreateRule/Dto/WmsSncodeCreateRuleOutput.cs
new file mode 100644
index 0000000..9d7926e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsSncodeCreateRule/Dto/WmsSncodeCreateRuleOutput.cs
@@ -0,0 +1,90 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 鏉$爜鐢熸垚瑙勫垯杈撳嚭鍙傛暟
+/// </summary>
+public class WmsSncodeCreateRuleOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long? Id { get; set; }
+    
+    /// <summary>
+    /// 瑙勫垯缂栧彿
+    /// </summary>
+    public string RuleCode { get; set; }
+    
+    /// <summary>
+    /// 瑙勫垯鍚嶇О
+    /// </summary>
+    public string RuleName { get; set; }
+    
+    /// <summary>
+    /// 鏁版嵁婧�
+    /// </summary>
+    public string DataSource { get; set; }
+    
+    /// <summary>
+    /// 鏉$爜瑙勫垯
+    /// </summary>
+    public string SNCodeRule { get; set; }
+    
+    /// <summary>
+    /// 鏉$爜鍒嗛殧绗�
+    /// </summary>
+    public string Delimiter { get; set; }
+    
+    /// <summary>
+    /// 鏉$爜瑙勫垯鎻忚堪
+    /// </summary>
+    public string RuleDesc { get; set; }
+    
+    /// <summary>
+    /// 鏄惁绂佺敤
+    /// </summary>
+    public bool IsDisabled { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public string UpdateUserName { get; set; }
+    
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+    
+    /// <summary>
+    /// 鏉$爜绫诲瀷
+    /// </summary>
+    public Admin.NET.Application.CreateCodeTypeEnum? CreateCodeType { get; set; }
+    
+    }
+ 
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsSncodeCreateRule/WmsSncodeCreateRuleService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsSncodeCreateRule/WmsSncodeCreateRuleService.cs
new file mode 100644
index 0000000..d921015
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsSystemConfig/WmsSncodeCreateRule/WmsSncodeCreateRuleService.cs
@@ -0,0 +1,394 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+namespace Admin.NET.Application;
+/// <summary>
+/// 鏉$爜鐢熸垚瑙勫垯鏈嶅姟
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.WmsSystemConfigGroupName, Order = 100)]
+public class WmsSncodeCreateRuleService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<WmsConfigSncodeRule> _rep;
+    public WmsSncodeCreateRuleService(SqlSugarRepository<WmsConfigSncodeRule> rep)
+    {
+        _rep = rep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ鏉$爜鐢熸垚瑙勫垯
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("WmsSncodeCreateRule/Page")]
+    public async Task<SqlSugarPagedList<WmsSncodeCreateRuleOutput>> Page(WmsSncodeCreateRuleInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇㈡潯鐮佺敓鎴愯鍒�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("WmsSncodeCreateRule/List")]
+    public async Task<List<WmsSncodeCreateRuleOutput>> List([FromQuery] WmsSncodeCreateRuleInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").Select<WmsSncodeCreateRuleOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞鏉$爜鐢熸垚瑙勫垯
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("WmsSncodeCreateRule/Add")]
+    public async Task<long> Add(AddWmsSncodeCreateRuleInput input)
+    {
+
+        var ruleArr = input.SNCodeRule.Replace('锛�', ',').Split(',').ToList();
+        bool containsValidId = false;
+
+        foreach (var item in ruleArr)
+        {
+            if (item.ToLower().Contains("id"))
+            {
+                // 杩涗竴姝ユ鏌ユ槸鍚︾簿纭尮閰嶄负 "id"
+                if (item.Equals("id", StringComparison.OrdinalIgnoreCase))
+                {
+                    containsValidId = true;
+                    break;
+                }
+             
+            }
+        }
+        if (!containsValidId)
+        {
+            // 濡傛灉娌℃湁鎵惧埌绗﹀悎瑕佹眰鐨� "id" 瀛楁锛屾姤閿�
+            throw new Exception("璇ラ泦鍚堜腑涓嶅寘鍚繀椤荤殑瀛楁鈥淚d鈥濓紒");
+        }
+
+
+
+
+        var entity = input.Adapt<WmsConfigSncodeRule>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎鏉$爜鐢熸垚瑙勫垯
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("WmsSncodeCreateRule/Delete")]
+    public async Task Delete(DeleteWmsSncodeCreateRuleInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊鏉$爜鐢熸垚瑙勫垯
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("WmsSncodeCreateRule/Update")]
+    public async Task Update(UpdateWmsSncodeCreateRuleInput input)
+    {
+        var entity = input.Adapt<WmsConfigSncodeRule>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity, true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏉$爜鐢熸垚瑙勫垯
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("WmsSncodeCreateRule/Detail")]
+    public async Task<WmsConfigSncodeRule> Detail([FromQuery] QueryByIdWmsSncodeCreateRuleInput input)
+    {
+        return await _rep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+
+
+
+
+    #region 瀵煎叆
+
+    /// <summary>
+    /// Excel妯℃澘瀵煎叆鏉$爜鐢熸垚瑙勫垯鍔熻兘
+    /// </summary>
+    /// <param name="file">Excel妯℃澘鏂囦欢</param>
+    /// <returns>瀵煎叆鐨勮褰曟暟</returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ImportExcel")]
+    [Description("WmsSncodeCreateRule/ImportExcel")]
+    public async Task<int> ImportExcelAsync(IFormFile file)
+    {
+        int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕
+        int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁
+        DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine);
+        var addList = await CommonImport(importDataTable, _DataStartLine);
+        await _rep.InsertRangeAsync(addList);
+        return addList.Count;
+    }
+
+    /// <summary>
+    ///  DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+    /// </summary>
+    /// <param name="dataTable"></param>
+    /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+    /// <returns></returns>
+    private async Task<List<WmsConfigSncodeRule>> CommonImport(DataTable dataTable, int dataStartLine)
+    {
+        var details = new List<WmsConfigSncodeRule>();
+        int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭
+        foreach (System.Data.DataRow row in dataTable.Rows)
+        {
+            index++;
+            //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛�
+
+            var addItem = new WmsConfigSncodeRule();
+            #region 瀹氫箟鍙橀噺
+            var _RuleCode = "";//瑙勫垯缂栧彿
+            var _RuleName = "";//瑙勫垯鍚嶇О
+            var _DataSource = "";//鏁版嵁婧�
+            var _SNCodeRule = "";//鏉$爜瑙勫垯
+            var _Delimiter = "";//鏉$爜鍒嗛殧绗�
+            var _RuleDesc = "";//鏉$爜瑙勫垯鎻忚堪
+            var _IsDisabled = "";//鏄惁绂佺敤
+            var _CreateCodeType = "";//鏉$爜绫诲瀷
+            #endregion
+
+
+            #region 鍙栧��
+            _RuleCode = row["瑙勫垯缂栧彿"]?.ToString();
+            _RuleName = row["瑙勫垯鍚嶇О"]?.ToString();
+            _DataSource = row["鏁版嵁婧�"]?.ToString();
+            _SNCodeRule = row["鏉$爜瑙勫垯"]?.ToString();
+            _Delimiter = row["鏉$爜鍒嗛殧绗�"]?.ToString();
+            _RuleDesc = row["鏉$爜瑙勫垯鎻忚堪"]?.ToString();
+            _IsDisabled = row["鏄惁绂佺敤"]?.ToString();
+            _CreateCodeType = row["鏉$爜绫诲瀷"]?.ToString();
+            #endregion
+
+
+            #region 楠岃瘉
+
+            if (string.IsNullOrEmpty(_RuleCode))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾瑙勫垯缂栧彿]{_RuleCode}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_RuleCode))
+            {
+                addItem.RuleCode = (string)(_RuleCode.Trim());
+            }
+
+            if (string.IsNullOrEmpty(_RuleName))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾瑙勫垯鍚嶇О]{_RuleName}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_RuleName))
+            {
+                addItem.RuleName = (string)(_RuleName.Trim());
+            }
+
+            if (string.IsNullOrEmpty(_DataSource))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾鏁版嵁婧怾{_DataSource}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_DataSource))
+            {
+                addItem.DataSource = (string)(_DataSource.Trim());
+            }
+
+            if (string.IsNullOrEmpty(_SNCodeRule))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾鏉$爜瑙勫垯]{_SNCodeRule}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_SNCodeRule))
+            {
+                addItem.SNCodeRule = (string)(_SNCodeRule.Trim());
+            }
+
+            if (string.IsNullOrEmpty(_Delimiter))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾鏉$爜鍒嗛殧绗{_Delimiter}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_Delimiter))
+            {
+                addItem.Delimiter = (string)(_Delimiter.Trim());
+            }
+            if (!string.IsNullOrEmpty(_RuleDesc))
+            {
+                addItem.RuleDesc = (string)(_RuleDesc.Trim());
+            }
+
+            if (string.IsNullOrEmpty(_IsDisabled))
+            {
+                throw Oops.Oh($"绗瑊index}琛孾鏄惁绂佺敤]{_IsDisabled}涓嶈兘涓虹┖锛�");
+            }
+
+            if (!string.IsNullOrEmpty(_IsDisabled))
+            {
+                if (!_IsDisabled.Equals("鏄�") && !_IsDisabled.Equals("鍚�"))
+                {
+                    throw Oops.Oh($"绗瑊index}琛孾鏄惁绂佺敤]{_IsDisabled}鍊间笉姝g‘锛�");
+                }
+                else
+                {
+                    bool outIsDisabled = _IsDisabled.Equals("鏄�") ? true : false;
+                    addItem.IsDisabled = outIsDisabled;
+                }
+            }
+
+            if (!string.IsNullOrEmpty(_CreateCodeType))
+            {
+                Admin.NET.Application.CreateCodeTypeEnum enumCreateCodeType = default(Admin.NET.Application.CreateCodeTypeEnum);
+
+                if (!Enum.TryParse<CreateCodeTypeEnum>(_CreateCodeType, out enumCreateCodeType) && !string.IsNullOrEmpty(_CreateCodeType))
+                {
+                    throw Oops.Oh($"绗瑊index}琛孾鏉$爜绫诲瀷]{_CreateCodeType}鍊间笉姝g‘锛�");
+                }
+                else
+                {
+                    addItem.CreateCodeType = enumCreateCodeType;
+                }
+
+            }
+            #endregion
+
+
+            details.Add(addItem);
+        }
+        //楠岄噸
+        await CheckExisitForImport(details);
+        return details;
+    }
+
+    /// <summary>
+    /// 鏍规嵁鐗堟湰涓嬭浇鏉$爜鐢熸垚瑙勫垯鐨凟xcel瀵煎叆妯℃澘
+    /// </summary>
+    /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "DownloadExcelTemplate")]
+    [Description("WmsSncodeCreateRule/DownloadExcelTemplate")]
+    public IActionResult DownloadExcelTemplate()
+    {
+        string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\鏉$爜鐢熸垚瑙勫垯{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
+        var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(鏉$爜鐢熸垚瑙勫垯).xlsx", Encoding.GetEncoding("UTF-8"));
+        return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
+    }
+
+    #endregion
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ鏉$爜鐢熸垚瑙勫垯鏉′欢
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<WmsSncodeCreateRuleOutput> CommonPageFilter(WmsSncodeCreateRuleInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.RuleCode.Contains(input.SearchKey.Trim())
+                || u.RuleName.Contains(input.SearchKey.Trim())
+                || u.DataSource.Contains(input.SearchKey.Trim())
+                || u.SNCodeRule.Contains(input.SearchKey.Trim())
+                || u.Delimiter.Contains(input.SearchKey.Trim())
+                || u.RuleDesc.Contains(input.SearchKey.Trim())
+                || u.CreateUserName.Contains(input.SearchKey.Trim())
+                || u.UpdateUserName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(!string.IsNullOrWhiteSpace(input.RuleCode), u => u.RuleCode.Contains(input.RuleCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.RuleName), u => u.RuleName.Contains(input.RuleName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.DataSource), u => u.DataSource.Contains(input.DataSource.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SNCodeRule), u => u.SNCodeRule.Contains(input.SNCodeRule.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Delimiter), u => u.Delimiter.Contains(input.Delimiter.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.RuleDesc), u => u.RuleDesc.Contains(input.RuleDesc.Trim()))
+            .WhereIF(input.IsDisabled.HasValue, u => u.IsDisabled == input.IsDisabled)
+            .WhereIF(input.CreateCodeType.HasValue, u => u.CreateCodeType == input.CreateCodeType)
+            .Select<WmsSncodeCreateRuleOutput>();
+        return query;
+    }
+
+    /// <summary>
+    /// 閲嶅鎬ч獙璇�
+    /// </summary>
+    /// <param name="input">楠岃瘉瀵硅薄</param>
+    /// <param name="isEdit">鏄惁鏄紪杈�</param>
+    /// <returns></returns>
+    private async Task CheckExist(WmsConfigSncodeRule input, bool isEdit = false)
+    {
+
+
+
+        //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+
+        //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+    }
+
+    /// <summary>
+    /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+    /// </summary>
+    /// <param name="inputs"></param>
+    /// <returns></returns>
+    private async Task CheckExisitForImport(List<WmsConfigSncodeRule> inputs)
+    {
+        if (inputs?.Count <= 0)
+        {
+            throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+        }
+        //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+
+
+
+
+
+
+
+
+        //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+
+
+
+    }
+    #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Startup.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Startup.cs
new file mode 100644
index 0000000..29aa318
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Startup.cs
@@ -0,0 +1,22 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.Builder;
+using Microsoft.AspNetCore.Hosting;
+
+namespace Admin.NET.Application;
+
+[AppStartup(100)]
+public class Startup : AppStartup
+{
+    public void ConfigureServices(IServiceCollection services)
+    {
+    }
+
+    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
+    {
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/View/TestDemo/v_students.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/View/TestDemo/v_students.cs
new file mode 100644
index 0000000..d244744
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/View/TestDemo/v_students.cs
@@ -0,0 +1,120 @@
+锘縰sing Admin.NET.Core;
+namespace Admin.NET.Application.Entity;
+
+/// <summary>
+/// 娴嬭瘯瀛︾敓瑙嗗浘
+/// </summary>
+[MySugarTableViewAttribute("v_students", "娴嬭瘯瀛︾敓瑙嗗浘")]
+public class v_students : EntityBase
+{
+
+    /// <summary>
+    /// 鑰佸笀鍒悕
+    /// </summary>
+    [SugarColumn(ColumnName = "TeacherAliName", ColumnDescription = "鑰佸笀鍒悕")]
+    public string TeacherAliName { get; set; }
+
+    /// <summary>
+    /// 鑰佸笀ID
+    /// </summary>
+    [SugarColumn(ColumnName = "TestTeacherId", ColumnDescription = "鑰佸笀ID")]
+    public long? TestTeacherId { get; set; }
+
+    /// <summary>
+    /// 鑰佸笀鍚嶅瓧
+    /// </summary>
+    [SugarColumn(ColumnName = "TeacherName", ColumnDescription = "鑰佸笀鍚嶅瓧")]
+    public string? TeacherName { get; set; }
+
+    /// <summary>
+    /// 瀛︾敓濮撳悕
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "Name", ColumnDescription = "瀛︾敓濮撳悕", Length = 32)]
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 鍒悕(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "AliName", ColumnDescription = "鍒悕(鍙┖)", Length = 32)]
+    public string? AliName { get; set; }
+
+    /// <summary>
+    /// 瀛︾敓骞撮緞
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "Age", ColumnDescription = "瀛︾敓骞撮緞")]
+    public int Age { get; set; }
+
+    /// <summary>
+    /// 骞寸邯(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "NianJi", ColumnDescription = "骞寸邯(鍙┖)")]
+    public int? NianJi { get; set; }
+
+    /// <summary>
+    /// 鑰佸笀ID
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "TeacherId", ColumnDescription = "鑰佸笀ID")]
+    public long TeacherId { get; set; }
+
+    /// <summary>
+    /// 鏍¢暱ID(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "RectorId", ColumnDescription = "鏍¢暱ID(鍙┖)")]
+    public long? RectorId { get; set; }
+
+    /// <summary>
+    /// 闆惰姳閽�
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "HasMoney", ColumnDescription = "闆惰姳閽�", Length = 10, DecimalDigits = 3)]
+    public decimal HasMoney { get; set; }
+
+    /// <summary>
+    /// 韬环(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "ShenJia", ColumnDescription = "韬环(鍙┖)", Length = 10, DecimalDigits = 3)]
+    public decimal? ShenJia { get; set; }
+
+    /// <summary>
+    /// 鏄惁鍦ㄦ牎
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "IsInSchool", ColumnDescription = "鏄惁鍦ㄦ牎")]
+    public bool IsInSchool { get; set; }
+
+    /// <summary>
+    /// 鏄惁澶栧湴浜�(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "IsWDR", ColumnDescription = "鏄惁澶栧湴浜�(鍙┖)")]
+    public bool? IsWDR { get; set; }
+
+    /// <summary>
+    /// 鎬у埆
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "Gender", ColumnDescription = "鎬у埆")]
+    public GenderEnum Gender { get; set; }
+
+    /// <summary>
+    /// 鍏朵粬鎬у埆(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "OtherGender", ColumnDescription = "鍏朵粬鎬у埆(鍙┖)")]
+    public GenderEnum? OtherGender { get; set; }
+
+    /// <summary>
+    /// 鍑虹敓鏃ユ湡
+    /// </summary>
+    [Required]
+    [SugarColumn(ColumnName = "BrithDate", ColumnDescription = "鍑虹敓鏃ユ湡")]
+    public DateTime BrithDate { get; set; }
+
+    /// <summary>
+    /// 鍏ュ鏃ユ湡(鍙┖)
+    /// </summary>
+    [SugarColumn(ColumnName = "InSchoolDate", ColumnDescription = "鍏ュ鏃ユ湡(鍙┖)")]
+    public DateTime? InSchoolDate { get; set; }
+
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/View/WmsStockQuan/v_empty_place.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/View/WmsStockQuan/v_empty_place.cs
new file mode 100644
index 0000000..5e4bf5a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/View/WmsStockQuan/v_empty_place.cs
@@ -0,0 +1,15 @@
+锘縰sing Admin.NET.Application;
+using Admin.NET.Core;
+
+
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 绌哄簱浣嶈鍥�
+    /// </summary>
+    [MySugarTableViewAttribute("v_empty_place", "绌哄簱浣嶈鍥�")]
+    public class v_empty_place : WmsBasePlace
+    {
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Admin.NET.Core.csproj b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Admin.NET.Core.csproj
new file mode 100644
index 0000000..0913542
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Admin.NET.Core.csproj
@@ -0,0 +1,52 @@
+锘�<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net6.0</TargetFramework>
+    <NoWarn>1701;1702;1591;8632</NoWarn>
+    <DocumentationFile></DocumentationFile>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <PreserveCompilationContext>true</PreserveCompilationContext>
+    <Nullable>disable</Nullable>
+    <GenerateDocumentationFile>True</GenerateDocumentationFile>
+    <Copyright>漏 Admin.NET</Copyright>
+    <Description>Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�</Description>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="AlibabaCloud.SDK.Dysmsapi20170525" Version="2.0.24" />
+    <PackageReference Include="AngleSharp" Version="1.1.2" />
+    <PackageReference Include="AspectCore.Extensions.Reflection" Version="2.4.0" />
+    <PackageReference Include="AspNet.Security.OAuth.Gitee" Version="6.0.15" />
+    <PackageReference Include="AspNet.Security.OAuth.Weixin" Version="6.0.15" />
+    <PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
+    <PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.13.12" />
+    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.2.42" />
+    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.2.42" />
+    <PackageReference Include="Furion.Pure" Version="4.9.2.42" />
+    <PackageReference Include="IPTools.China" Version="1.6.0" />
+    <PackageReference Include="IPTools.International" Version="1.6.0" />
+    <PackageReference Include="Lazy.Captcha.Core" Version="2.0.6" />
+    <PackageReference Include="Magicodes.IE.Excel" Version="2.7.5.1" />
+    <PackageReference Include="Magicodes.IE.Pdf" Version="2.7.5.1" />
+    <PackageReference Include="Magicodes.IE.Word" Version="2.7.5.1" />
+    <PackageReference Include="MailKit" Version="4.5.0" />
+    <PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="6.0.29" />
+    <PackageReference Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="6.0.29" />
+    <PackageReference Include="NewLife.Redis" Version="5.6.2024.508" />
+    <PackageReference Include="Novell.Directory.Ldap.NETStandard" Version="3.6.0" />
+    <PackageReference Include="NPOI" Version="2.6.1" />
+    <PackageReference Include="OnceMi.AspNetCore.OSS" Version="1.1.9" />
+    <PackageReference Include="QRCoder" Version="1.5.1" />
+    <PackageReference Include="RabbitMQ.Client" Version="6.8.1" />
+    <PackageReference Include="RestSharp" Version="111.0.0" />
+    <PackageReference Include="SixLabors.ImageSharp.Web" Version="3.1.2" />
+    <PackageReference Include="SKIT.FlurlHttpClient.Wechat.Api" Version="3.1.0" />
+    <PackageReference Include="SKIT.FlurlHttpClient.Wechat.TenpayV3" Version="3.3.2" />
+    <PackageReference Include="SqlSugarCore" Version="5.1.4.154" />
+    <PackageReference Include="System.Linq.Dynamic.Core" Version="1.3.14" />
+    <PackageReference Include="UAParser" Version="3.1.47" />
+    <PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
+    <PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="6.0.29" />
+  </ItemGroup>
+
+</Project>
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/ConstAttribute.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/ConstAttribute.cs
new file mode 100644
index 0000000..baf5a60
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/ConstAttribute.cs
@@ -0,0 +1,22 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 甯搁噺鐗规��
+/// </summary>
+[SuppressSniffer]
+[AttributeUsage(AttributeTargets.All, AllowMultiple = true, Inherited = true)]
+public class ConstAttribute : Attribute
+{
+    public string Name { get; set; }
+
+    public ConstAttribute(string name)
+    {
+        Name = name;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/CustomUnifyResultAttribute.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/CustomUnifyResultAttribute.cs
new file mode 100644
index 0000000..0543422
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/CustomUnifyResultAttribute.cs
@@ -0,0 +1,22 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鑷畾涔夎鑼冨寲缁撴灉鐗规��
+/// </summary>
+[SuppressSniffer]
+[AttributeUsage(AttributeTargets.All, AllowMultiple = true, Inherited = true)]
+public class CustomUnifyResultAttribute : Attribute
+{
+    public string Name { get; set; }
+
+    public CustomUnifyResultAttribute(string name)
+    {
+        Name = name;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/IdempotentAttribute.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/IdempotentAttribute.cs
new file mode 100644
index 0000000..d9664b6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/IdempotentAttribute.cs
@@ -0,0 +1,105 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using System.Security.Claims;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 闃叉閲嶅璇锋眰杩囨护鍣ㄧ壒鎬�
+/// </summary>
+[SuppressSniffer]
+[AttributeUsage(AttributeTargets.All, AllowMultiple = true, Inherited = true)]
+public class IdempotentAttribute : Attribute, IAsyncActionFilter
+{
+    /// <summary>
+    /// 璇锋眰闂撮殧鏃堕棿/绉�
+    /// </summary>
+    public int IntervalTime { get; set; } = 5;
+
+    /// <summary>
+    /// 閿欒鎻愮ず鍐呭
+    /// </summary>
+    public string Message { get; set; } = "浣犳搷浣滈鐜囪繃蹇紝璇风◢鍚庨噸璇曪紒";
+
+    /// <summary>
+    /// 缂撳瓨鍓嶇紑: Key+璇锋眰璺敱+鐢ㄦ埛Id+璇锋眰鍙傛暟
+    /// </summary>
+    public string CacheKey { get; set; }
+
+    /// <summary>
+    /// 鏄惁鐩存帴鎶涘嚭寮傚父锛歍ure鏄紝False杩斿洖涓婃璇锋眰缁撴灉
+    /// </summary>
+    public bool ThrowBah { get; set; }
+
+    public IdempotentAttribute()
+    {
+    }
+
+    public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
+    {
+        var httpContext = context.HttpContext;
+        var path = httpContext.Request.Path.Value.ToString();
+        var userId = httpContext.User?.FindFirstValue(ClaimConst.UserId);
+        var cacheExpireTime = TimeSpan.FromSeconds(IntervalTime);
+
+        var parameters = "";
+        foreach (var parameter in context.ActionDescriptor.Parameters)
+        {
+            parameters += parameter.Name;
+            parameters += context.ActionArguments[parameter.Name].ToJson();
+        }
+
+        var cacheKey = MD5Encryption.Encrypt($"{CacheKey}{path}{userId}{parameters}");
+        var sysCacheService = App.GetRequiredService<SysCacheService>();
+        if (sysCacheService.ExistKey(cacheKey))
+        {
+            if (ThrowBah) throw Oops.Oh(Message);
+
+            try
+            {
+                var cachedResult = sysCacheService.Get<ResponseData>(cacheKey);
+                context.Result = new ObjectResult(cachedResult.Value);
+            }
+            catch (Exception ex)
+            {
+                throw Oops.Oh($"{Message}-{ex}");
+            }
+        }
+        else
+        {
+            // 鍏堝姞鍏ヤ竴涓┖缂撳瓨锛岄槻姝㈢涓�娆¤姹傜粨鏋滄病鍥炴潵瀵艰嚧杩炵画璇锋眰
+            sysCacheService.Set(cacheKey, "", cacheExpireTime);
+            var resultContext = await next();
+            if (resultContext.Result is ObjectResult objectResult)
+            {
+                var valueType = objectResult.Value.GetType();
+                var responseData = new ResponseData
+                {
+                    Type = valueType.Name,
+                    Value = objectResult.Value
+                };
+                sysCacheService.Set(cacheKey, responseData, cacheExpireTime);
+            }
+        }
+    }
+
+    /// <summary>
+    /// 璇锋眰缁撴灉鏁版嵁
+    /// </summary>
+    private class ResponseData
+    {
+        /// <summary>
+        /// 缁撴灉绫诲瀷
+        /// </summary>
+        public string Type { get; set; }
+
+        /// <summary>
+        /// 璇锋眰缁撴灉
+        /// </summary>
+        public dynamic Value { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/IncreSeedAttribute.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/IncreSeedAttribute.cs
new file mode 100644
index 0000000..9ab1f02
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/IncreSeedAttribute.cs
@@ -0,0 +1,16 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 澧為噺绉嶅瓙鐗规��
+/// </summary>
+[SuppressSniffer]
+[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
+public class IncreSeedAttribute : Attribute
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/IncreTableAttribute.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/IncreTableAttribute.cs
new file mode 100644
index 0000000..31f31b7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/IncreTableAttribute.cs
@@ -0,0 +1,16 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 澧為噺琛ㄧ壒鎬�
+/// </summary>
+[SuppressSniffer]
+[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
+public class IncreTableAttribute : Attribute
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/LogTableAttribute.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/LogTableAttribute.cs
new file mode 100644
index 0000000..aa07fd4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/LogTableAttribute.cs
@@ -0,0 +1,16 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鏃ュ織琛ㄧ壒鎬�
+/// </summary>
+[SuppressSniffer]
+[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
+public class LogTableAttribute : Attribute
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MaskNewtonsoftJsonConverter.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MaskNewtonsoftJsonConverter.cs
new file mode 100644
index 0000000..a09c801
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MaskNewtonsoftJsonConverter.cs
@@ -0,0 +1,60 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Newtonsoft.Json;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 瀛楃涓叉帺鐮�
+/// </summary>
+[SuppressSniffer]
+public class MaskNewtonsoftJsonConverter : JsonConverter<string>
+{
+    public override string ReadJson(JsonReader reader, Type objectType, string existingValue, bool hasExistingValue, JsonSerializer serializer)
+    {
+        return reader.Value.ToString();
+    }
+
+    public override void WriteJson(JsonWriter writer, string value, JsonSerializer serializer)
+    {
+        writer.WriteValue(value?.ToString().Mask());
+    }
+}
+
+/// <summary>
+/// 韬唤璇佹帺鐮�
+/// </summary>
+[SuppressSniffer]
+public class MaskIdCardNewtonsoftJsonConverter : JsonConverter<string>
+{
+    public override string ReadJson(JsonReader reader, Type objectType, string existingValue, bool hasExistingValue, JsonSerializer serializer)
+    {
+        return reader.Value.ToString();
+    }
+
+    public override void WriteJson(JsonWriter writer, string value, JsonSerializer serializer)
+    {
+        writer.WriteValue(value?.ToString().MaskIdCard());
+    }
+}
+
+/// <summary>
+/// 閭鎺╃爜
+/// </summary>
+[SuppressSniffer]
+public class MaskEmailNewtonsoftJsonConverter : JsonConverter<string>
+{
+    public override string ReadJson(JsonReader reader, Type objectType, string existingValue, bool hasExistingValue, JsonSerializer serializer)
+    {
+        return reader.Value.ToString();
+    }
+
+    public override void WriteJson(JsonWriter writer, string value, JsonSerializer serializer)
+    {
+        writer.WriteValue(value?.ToString().MaskEmail());
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MaskSystemTextJsonConverter.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MaskSystemTextJsonConverter.cs
new file mode 100644
index 0000000..6b1a12f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MaskSystemTextJsonConverter.cs
@@ -0,0 +1,61 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using System.Text.Json;
+using System.Text.Json.Serialization;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 瀛楃涓叉帺鐮�
+/// </summary>
+[SuppressSniffer]
+public class MaskSystemTextJsonConverter : JsonConverter<string>
+{
+    public override string Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+    {
+        return reader.GetString();
+    }
+
+    public override void Write(Utf8JsonWriter writer, string value, JsonSerializerOptions options)
+    {
+        writer.WriteStringValue(value?.ToString().Mask());
+    }
+}
+
+/// <summary>
+/// 韬唤璇佹帺鐮�
+/// </summary>
+[SuppressSniffer]
+public class MaskIdCardSystemTextJsonConverter : JsonConverter<string>
+{
+    public override string Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+    {
+        return reader.GetString();
+    }
+
+    public override void Write(Utf8JsonWriter writer, string value, JsonSerializerOptions options)
+    {
+        writer.WriteStringValue(value?.ToString().MaskIdCard());
+    }
+}
+
+/// <summary>
+/// 閭鎺╃爜
+/// </summary>
+[SuppressSniffer]
+public class MaskEmailSystemTextJsonConverter : JsonConverter<string>
+{
+    public override string Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+    {
+        return reader.GetString();
+    }
+
+    public override void Write(Utf8JsonWriter writer, string value, JsonSerializerOptions options)
+    {
+        writer.WriteStringValue(value?.ToString().MaskEmail());
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MaxValueAttribute.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MaxValueAttribute.cs
new file mode 100644
index 0000000..8132890
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MaxValueAttribute.cs
@@ -0,0 +1,39 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鏈�澶у�兼牎楠�
+/// </summary>
+[SuppressSniffer]
+public class MaxValueAttribute : ValidationAttribute
+{
+    private double MaxValue { get; }
+
+    /// <summary>
+    /// 鏈�澶у��
+    /// </summary>
+    /// <param name="value"></param>
+    public MaxValueAttribute(double value) => this.MaxValue = value;
+
+    /// <summary>
+    /// 鏈�澶у�兼牎楠�
+    /// </summary>
+    /// <param name="value"></param>
+    /// <returns></returns>
+    public override bool IsValid(object value)
+    {
+        return value == null || Convert.ToDouble(value) <= this.MaxValue;
+    }
+
+    /// <summary>
+    /// 閿欒淇℃伅
+    /// </summary>
+    /// <param name="name"></param>
+    /// <returns></returns>
+    public override string FormatErrorMessage(string name) => base.FormatErrorMessage(name);
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MinValueAttribute.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MinValueAttribute.cs
new file mode 100644
index 0000000..40c7378
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MinValueAttribute.cs
@@ -0,0 +1,39 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鏈�灏忓�兼牎楠�
+/// </summary>
+[SuppressSniffer]
+public class MinValueAttribute : ValidationAttribute
+{
+    private double MinValue { get; set; }
+
+    /// <summary>
+    /// 鏈�灏忓��
+    /// </summary>
+    /// <param name="value"></param>
+    public MinValueAttribute(double value) => this.MinValue = value;
+
+    /// <summary>
+    /// 鏈�灏忓�兼牎楠�
+    /// </summary>
+    /// <param name="value"></param>
+    /// <returns></returns>
+    public override bool IsValid(object value)
+    {
+        return value == null || Convert.ToDouble(value) > this.MinValue;
+    }
+
+    /// <summary>
+    /// 閿欒淇℃伅
+    /// </summary>
+    /// <param name="name"></param>
+    /// <returns></returns>
+    public override string FormatErrorMessage(string name) => base.FormatErrorMessage(name);
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MySugarTable_ViewAttribute.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MySugarTable_ViewAttribute.cs
new file mode 100644
index 0000000..c691747
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/MySugarTable_ViewAttribute.cs
@@ -0,0 +1,61 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Core;
+/// <summary>
+/// 鎴戠殑鏍囪Sugar瑙嗗浘
+/// </summary>
+[AttributeUsage(AttributeTargets.Class, Inherited = true)]
+public class MySugarTableViewAttribute : Attribute
+{
+    public string TableName { get; set; }
+
+    public string TableDescription { get; set; }
+
+    public bool IsDisabledDelete { get; set; }
+
+    public bool IsDisabledUpdateAll { get; set; }
+
+    public bool IsCreateTableFiledSort { get; set; }
+
+    public string Discrimator { get; set; }
+
+    public MySugarTableViewAttribute()
+    {
+    }
+
+    public MySugarTableViewAttribute(string tableName)
+    {
+        TableName = tableName;
+    }
+
+    public MySugarTableViewAttribute(string tableName, string tableDescription)
+    {
+        TableName = tableName;
+        TableDescription = tableDescription;
+    }
+
+    public MySugarTableViewAttribute(string tableName, string tableDescription, bool isDisabledDelete)
+    {
+        TableName = tableName;
+        TableDescription = tableDescription;
+        IsDisabledDelete = isDisabledDelete;
+    }
+
+    public MySugarTableViewAttribute(string tableName, string tableDescription, bool isDisabledDelete, bool isCreateTableFieldSort)
+    {
+        TableName = tableName;
+        TableDescription = tableDescription;
+        IsDisabledDelete = isDisabledDelete;
+        IsCreateTableFiledSort = isCreateTableFieldSort;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/SysTableAttribute.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/SysTableAttribute.cs
new file mode 100644
index 0000000..f526b42
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Attribute/SysTableAttribute.cs
@@ -0,0 +1,16 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺琛ㄧ壒鎬�
+/// </summary>
+[SuppressSniffer]
+[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
+public class SysTableAttribute : Attribute
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Cache/CacheSetup.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Cache/CacheSetup.cs
new file mode 100644
index 0000000..6281765
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Cache/CacheSetup.cs
@@ -0,0 +1,33 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+public static class CacheSetup
+{
+    /// <summary>
+    /// 缂撳瓨娉ㄥ唽锛堟柊鐢熷懡Redis缁勪欢锛�
+    /// </summary>
+    /// <param name="services"></param>
+    public static void AddCache(this IServiceCollection services)
+    {
+        ICache cache = Cache.Default;
+
+        var cacheOptions = App.GetConfig<CacheOptions>("Cache", true);
+        if (cacheOptions.CacheType == CacheTypeEnum.Redis.ToString())
+        {
+            cache = new FullRedis(new RedisOptions
+            {
+                Configuration = cacheOptions.Redis.Configuration,
+                Prefix = cacheOptions.Redis.Prefix
+            });
+            if (cacheOptions.Redis.MaxMessageSize > 0)
+                ((FullRedis)cache).MaxMessageSize = cacheOptions.Redis.MaxMessageSize;
+        }
+
+        services.AddSingleton(cache);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Cache/SqlSugarCache.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Cache/SqlSugarCache.cs
new file mode 100644
index 0000000..6bbcda6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Cache/SqlSugarCache.cs
@@ -0,0 +1,56 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// SqlSugar浜岀骇缂撳瓨
+/// </summary>
+public class SqlSugarCache : ICacheService
+{
+    /// <summary>
+    /// 绯荤粺缂撳瓨鏈嶅姟
+    /// </summary>
+    private static readonly SysCacheService _cache = App.GetRequiredService<SysCacheService>();
+
+    public void Add<V>(string key, V value)
+    {
+        _cache.Set($"{CacheConst.SqlSugar}{key}", value);
+    }
+
+    public void Add<V>(string key, V value, int cacheDurationInSeconds)
+    {
+        _cache.Set($"{CacheConst.SqlSugar}{key}", value, TimeSpan.FromSeconds(cacheDurationInSeconds));
+    }
+
+    public bool ContainsKey<V>(string key)
+    {
+        return _cache.ExistKey($"{CacheConst.SqlSugar}{key}");
+    }
+
+    public V Get<V>(string key)
+    {
+        return _cache.Get<V>($"{CacheConst.SqlSugar}{key}");
+    }
+
+    public IEnumerable<string> GetAllKey<V>()
+    {
+        return _cache.GetKeysByPrefixKey(CacheConst.SqlSugar);
+    }
+
+    public V GetOrCreate<V>(string key, Func<V> create, int cacheDurationInSeconds = int.MaxValue)
+    {
+        return _cache.GetOrAdd<V>($"{CacheConst.SqlSugar}{key}", (cacheKey) =>
+        {
+            return create();
+        }, cacheDurationInSeconds);
+    }
+
+    public void Remove<V>(string key)
+    {
+        _cache.Remove(key); // SqlSugar璋冪敤Remove鏂规硶鏃讹紝key涓凡鍖呭惈浜咰acheConst.SqlSugar鍓嶇紑
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/CacheConst.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/CacheConst.cs
new file mode 100644
index 0000000..52d1bc0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/CacheConst.cs
@@ -0,0 +1,83 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 缂撳瓨鐩稿叧甯搁噺
+/// </summary>
+public class CacheConst
+{
+    /// <summary>
+    /// 鐢ㄦ埛鏉冮檺缂撳瓨锛堟寜閽泦鍚堬級
+    /// </summary>
+    public const string KeyUserButton = "sys_user_button:";
+
+    /// <summary>
+    /// 鐢ㄦ埛鏈烘瀯缂撳瓨
+    /// </summary>
+    public const string KeyUserOrg = "sys_user_org:";
+
+    /// <summary>
+    /// 瑙掕壊鏈�澶ф暟鎹寖鍥寸紦瀛�
+    /// </summary>
+    public const string KeyRoleMaxDataScope = "sys_role_maxDataScope:";
+
+    /// <summary>
+    /// 鍦ㄧ嚎鐢ㄦ埛缂撳瓨
+    /// </summary>
+    public const string KeyUserOnline = "sys_user_online:";
+
+    /// <summary>
+    /// 鍥惧舰楠岃瘉鐮佺紦瀛�
+    /// </summary>
+    public const string KeyVerCode = "sys_verCode:";
+
+    /// <summary>
+    /// 鎵嬫満楠岃瘉鐮佺紦瀛�
+    /// </summary>
+    public const string KeyPhoneVerCode = "sys_phoneVerCode:";
+
+    /// <summary>
+    /// 瀵嗙爜閿欒娆℃暟缂撳瓨
+    /// </summary>
+    public const string KeyErrorPasswordCount = "sys_errorPasswordCount:";
+
+    /// <summary>
+    /// 绉熸埛缂撳瓨
+    /// </summary>
+    public const string KeyTenant = "sys_tenant";
+
+    /// <summary>
+    /// 甯搁噺涓嬫媺妗�
+    /// </summary>
+    public const string KeyConst = "sys_const:";
+
+    /// <summary>
+    /// 鎵�鏈夌紦瀛樺叧閿瓧闆嗗悎
+    /// </summary>
+    public const string KeyAll = "sys_keys";
+
+    /// <summary>
+    /// SqlSugar浜岀骇缂撳瓨
+    /// </summary>
+    public const string SqlSugar = "sys_sqlSugar:";
+
+    /// <summary>
+    /// 寮�鏀炬帴鍙h韩浠界紦瀛�
+    /// </summary>
+    public const string KeyOpenAccess = "sys_open_access:";
+
+    /// <summary>
+    /// 寮�鏀炬帴鍙h韩浠介殢鏈烘暟缂撳瓨
+    /// </summary>
+    public const string KeyOpenAccessNonce = "sys_open_access_nonce:";
+
+    /// <summary>
+    /// 鐧诲綍榛戝悕鍗�
+    /// </summary>
+    public const string KeyBlacklist = "sys_blacklist:";
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/ClaimConst.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/ClaimConst.cs
new file mode 100644
index 0000000..7fdf85f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/ClaimConst.cs
@@ -0,0 +1,68 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// Claim鐩稿叧甯搁噺
+/// </summary>
+public class ClaimConst
+{
+    /// <summary>
+    /// 鐢ㄦ埛Id
+    /// </summary>
+    public const string UserId = "UserId";
+
+    /// <summary>
+    /// 璐﹀彿
+    /// </summary>
+    public const string Account = "Account";
+
+    /// <summary>
+    /// 鐪熷疄濮撳悕
+    /// </summary>
+    public const string RealName = "RealName";
+
+    /// <summary>
+    /// 鏄电О
+    /// </summary>
+    public const string NickName = "NickName";
+
+    /// <summary>
+    /// 璐﹀彿绫诲瀷
+    /// </summary>
+    public const string AccountType = "AccountType";
+
+    /// <summary>
+    /// 绉熸埛Id
+    /// </summary>
+    public const string TenantId = "TenantId";
+
+    /// <summary>
+    /// 缁勭粐鏈烘瀯Id
+    /// </summary>
+    public const string OrgId = "OrgId";
+
+    /// <summary>
+    /// 缁勭粐鏈烘瀯鍚嶇О
+    /// </summary>
+    public const string OrgName = "OrgName";
+
+    /// <summary>
+    /// 缁勭粐鏈烘瀯绫诲瀷
+    /// </summary>
+    public const string OrgType = "OrgType";
+
+    /// <summary>
+    /// 寰俊OpenId
+    /// </summary>
+    public const string OpenId = "OpenId";
+
+    /// <summary>
+    /// 鐧诲綍妯″紡PC銆丄PP
+    /// </summary>
+    public const string LoginMode = "LoginMode";
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/CommonConst.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/CommonConst.cs
new file mode 100644
index 0000000..a01457c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/CommonConst.cs
@@ -0,0 +1,111 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 閫氱敤甯搁噺
+/// </summary>
+[Const("骞冲彴閰嶇疆")]
+public class CommonConst
+{
+    /// <summary>
+    /// 婕旂ず鐜寮�鍏�
+    /// </summary>
+    public const string SysDemoEnv = "sys_demo";
+
+    /// <summary>
+    /// 榛樿瀵嗙爜
+    /// </summary>
+    public const string SysPassword = "sys_password";
+
+    /// <summary>
+    /// 鐧诲綍浜屾楠岃瘉
+    /// </summary>
+    public const string SysSecondVer = "sys_second_ver";
+
+    /// <summary>
+    /// 寮�鍚浘褰㈤獙璇佺爜
+    /// </summary>
+    public const string SysCaptcha = "sys_captcha";
+
+    /// <summary>
+    /// 寮�鍚按鍗�
+    /// </summary>
+    public const string SysWatermark = "sys_watermark";
+
+    /// <summary>
+    /// 寮�鍚搷浣滄棩蹇�
+    /// </summary>
+    public const string SysOpLog = "sys_oplog";
+
+    /// <summary>
+    /// Token杩囨湡鏃堕棿
+    /// </summary>
+    public const string SysTokenExpire = "sys_token_expire";
+
+    /// <summary>
+    /// RefreshToken杩囨湡鏃堕棿
+    /// </summary>
+    public const string SysRefreshTokenExpire = "sys_refresh_token_expire";
+
+    /// <summary>
+    /// 寮�鍚彂閫佸紓甯告棩蹇楅偖浠�
+    /// </summary>
+    public const string SysErrorMail = "sys_error_mail";
+
+    /// <summary>
+    /// 鍗曠敤鎴风櫥褰�
+    /// </summary>
+    public const string SysSingleLogin = "sys_single_login";
+
+    /// <summary>
+    /// 绯荤粺绠$悊鍛樿鑹茬紪鐮�
+    /// </summary>
+    public const string SysAdminRole = "sys_admin";
+
+    ///// <summary>
+    ///// 寮�鍚叏灞�鑴辨晱澶勭悊锛堥粯璁や笉寮�鍚級
+    ///// </summary>
+    //public static bool SysSensitiveDetection = false;
+
+    /// <summary>
+    /// 寮�鍚煙鐧诲綍楠岃瘉
+    /// </summary>
+    public const string SysDomainLogin = "sys_domain_login";
+
+    /// <summary>
+    /// 鏃ュ織鍒嗙粍鍚嶇О
+    /// </summary>
+    public const string SysLogCategoryName = "System.Logging.LoggingMonitor";
+
+    /// <summary>
+    /// 浜嬩欢-澧炲姞寮傚父鏃ュ織
+    /// </summary>
+    public const string AddExLog = "Add:ExLog";
+
+    /// <summary>
+    /// 浜嬩欢-鍙戦�佸紓甯搁偖浠�
+    /// </summary>
+    public const string SendErrorMail = "Send:ErrorMail";
+
+    /// <summary>
+    /// 寮�鍚敹璐у垱寤烘姤妫�鍗�	
+
+    /// </summary>
+    public const string SysAddQCOrder = "sys_add_qc_order";
+
+    /// <summary>
+    /// ASN鍗曞垱寤虹敓鎴愯窡韪爜绫诲瀷	:涓�缁寸爜銆佷簩缁寸爜
+    /// </summary>
+    public const string SysCreateSnCodeType = "sys_create_sncode_type";
+
+
+    /// <summary>
+    /// 榛樿鐨凟RP搴撳瓨鍦�
+    /// </summary>
+    public const string DefaultErpCode = "default_erpCode";
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/SqlSugarConst.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/SqlSugarConst.cs
new file mode 100644
index 0000000..a79b2cb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/SqlSugarConst.cs
@@ -0,0 +1,28 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// SqlSugar鐩稿叧甯搁噺
+/// </summary>
+public class SqlSugarConst
+{
+    /// <summary>
+    /// 榛樿涓绘暟鎹簱鏍囪瘑锛堥粯璁ょ鎴凤級
+    /// </summary>
+    public const string MainConfigId = "1300000000001";
+
+    /// <summary>
+    /// 榛樿鏃ュ織鏁版嵁搴撴爣璇�
+    /// </summary>
+    public const string LogConfigId = "1300000000002";
+
+    /// <summary>
+    /// 榛樿琛ㄤ富閿�
+    /// </summary>
+    public const string PrimaryKey = "Id";
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/TemplateConst.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/TemplateConst.cs
new file mode 100644
index 0000000..b91cc63
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Const/TemplateConst.cs
@@ -0,0 +1,18 @@
+锘縰sing Furion;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Core
+{
+    public class TemplateConst
+    {     
+        /// <summary>
+        /// 鐢熸垚瀵煎叆妯℃澘鐨凟xcel鏂囦欢璺緞(鍏叡)
+        /// </summary>
+        public static string EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 = App.WebHostEnvironment.WebRootPath + @"\ExcelTemplateFile";
+        public static string EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑 = "瀵煎叆妯℃澘";
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/EntityBase.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/EntityBase.cs
new file mode 100644
index 0000000..abd3e7f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/EntityBase.cs
@@ -0,0 +1,174 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 妗嗘灦瀹炰綋鍩虹被Id
+/// </summary>
+public abstract class EntityBaseId
+{
+    /// <summary>
+    /// 闆姳Id
+    /// </summary>
+    [SugarColumn(ColumnName = "Id", ColumnDescription = "涓婚敭Id", IsPrimaryKey = true, IsIdentity = false)]
+    public virtual long Id { get; set; }
+}
+
+/// <summary>
+/// 妗嗘灦瀹炰綋鍩虹被
+/// </summary>
+[SugarIndex("index_{table}_CT", nameof(CreateTime), OrderByType.Asc)]
+public abstract class EntityBase : EntityBaseId, IDeletedFilter
+{
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍒涘缓鏃堕棿", IsOnlyIgnoreUpdate = true)]
+    public virtual DateTime? CreateTime { get; set; }
+
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "淇敼鏃堕棿")]
+    public virtual DateTime? UpdateTime { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍒涘缓浜篒d", IsOnlyIgnoreUpdate = true)]
+    public virtual long? CreateUserId { get; set; }
+
+    ///// <summary>
+    ///// 鍒涘缓浜�
+    ///// </summary>
+    //[Newtonsoft.Json.JsonIgnore]
+    //[System.Text.Json.Serialization.JsonIgnore]
+    //[Navigate(NavigateType.OneToOne, nameof(CreateUserId))]
+    //public virtual SysUser CreateUser { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍒涘缓浜�", Length = 64, IsOnlyIgnoreUpdate = true)]
+    public virtual string? CreateUserName { get; set; }
+
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    [SugarColumn(ColumnDescription = "淇敼浜篒d")]
+    public virtual long? UpdateUserId { get; set; }
+
+    ///// <summary>
+    ///// 淇敼浜�
+    ///// </summary>
+    //[Newtonsoft.Json.JsonIgnore]
+    //[System.Text.Json.Serialization.JsonIgnore]
+    //[Navigate(NavigateType.OneToOne, nameof(UpdateUserId))]
+    //public virtual SysUser UpdateUser { get; set; }
+
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "淇敼浜�", Length = 64)]
+    public virtual string? UpdateUserName { get; set; }
+
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "杞垹闄�")]
+    public virtual bool IsDelete { get; set; } = false;
+}
+
+/// <summary>
+/// 妗嗘灦瀹炰綋鍩虹被(璁板綍绫昏〃涓撶敤)
+/// </summary>
+[SugarIndex("index_{table}_CT", nameof(CreateTime), OrderByType.Asc)]
+public abstract class EntityBaseForRecord : EntityBaseId
+{
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍒涘缓鏃堕棿", IsOnlyIgnoreUpdate = true)]
+    public virtual DateTime? CreateTime { get; set; }
+
+
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍒涘缓浜篒d", IsOnlyIgnoreUpdate = true)]
+    public virtual long? CreateUserId { get; set; }
+
+   
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍒涘缓浜�", Length = 64, IsOnlyIgnoreUpdate = true)]
+    public virtual string? CreateUserName { get; set; }
+    
+}
+
+/// <summary>
+/// 涓氬姟鏁版嵁瀹炰綋鍩虹被锛堟暟鎹潈闄愶級
+/// </summary>
+public abstract class EntityBaseData : EntityBase, IOrgIdFilter
+{
+    /// <summary>
+    /// 鍒涘缓浜洪儴闂↖d
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍒涘缓浜洪儴闂↖d", IsOnlyIgnoreUpdate = true)]
+    public virtual long? CreateOrgId { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜洪儴闂�
+    /// </summary>
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    [Navigate(NavigateType.OneToOne, nameof(CreateOrgId))]
+    public virtual SysOrg CreateOrg { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜洪儴闂ㄥ悕绉�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍒涘缓浜洪儴闂ㄥ悕绉�", Length = 64, IsOnlyIgnoreUpdate = true)]
+    public virtual string? CreateOrgName { get; set; }
+}
+
+/// <summary>
+/// 绉熸埛瀹炰綋鍩虹被
+/// </summary>
+public abstract class EntityTenant : EntityBase, ITenantIdFilter
+{
+    /// <summary>
+    /// 绉熸埛Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绉熸埛Id", IsOnlyIgnoreUpdate = true)]
+    public virtual long? TenantId { get; set; }
+}
+
+/// <summary>
+/// 绉熸埛瀹炰綋鍩虹被Id
+/// </summary>
+public abstract class EntityTenantId : EntityBaseId, ITenantIdFilter
+{
+    /// <summary>
+    /// 绉熸埛Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绉熸埛Id", IsOnlyIgnoreUpdate = true)]
+    public virtual long? TenantId { get; set; }
+}
+
+/// <summary>
+/// 绉熸埛瀹炰綋鍩虹被 + 涓氬姟鏁版嵁锛堟暟鎹潈闄愶級
+/// </summary>
+public abstract class EntityTenantBaseData : EntityBaseData, ITenantIdFilter
+{
+    /// <summary>
+    /// 绉熸埛Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绉熸埛Id", IsOnlyIgnoreUpdate = true)]
+    public virtual long? TenantId { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/IEntityFilter.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/IEntityFilter.cs
new file mode 100644
index 0000000..6237356
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/IEntityFilter.cs
@@ -0,0 +1,40 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鍋囧垹闄ゆ帴鍙h繃婊ゅ櫒
+/// </summary>
+internal interface IDeletedFilter
+{
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    bool IsDelete { get; set; }
+}
+
+/// <summary>
+/// 绉熸埛Id鎺ュ彛杩囨护鍣�
+/// </summary>
+internal interface ITenantIdFilter
+{
+    /// <summary>
+    /// 绉熸埛Id
+    /// </summary>
+    long? TenantId { get; set; }
+}
+
+/// <summary>
+/// 鏈烘瀯Id鎺ュ彛杩囨护鍣�
+/// </summary>
+internal interface IOrgIdFilter
+{
+    /// <summary>
+    /// 鍒涘缓浜洪儴闂↖d
+    /// </summary>
+    long? CreateOrgId { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysCodeGen.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysCodeGen.cs
new file mode 100644
index 0000000..a60e83d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysCodeGen.cs
@@ -0,0 +1,130 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 浠g爜鐢熸垚琛�
+/// </summary>
+[SugarTable(null, "浠g爜鐢熸垚琛�")]
+[SysTable]
+[SugarIndex("index_{table}_B", nameof(BusName), OrderByType.Asc)]
+[SugarIndex("index_{table}_T", nameof(TableName), OrderByType.Asc)]
+public partial class SysCodeGen : EntityBase
+{
+    /// <summary>
+    /// 浣滆�呭鍚�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浣滆�呭鍚�", Length = 32)]
+    [MaxLength(32)]
+    public string? AuthorName { get; set; }
+
+    /// <summary>
+    /// 鏄惁绉婚櫎琛ㄥ墠缂�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁绉婚櫎琛ㄥ墠缂�", Length = 8)]
+    [MaxLength(8)]
+    public string? TablePrefix { get; set; }
+
+    /// <summary>
+    /// 鐢熸垚鏂瑰紡
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐢熸垚鏂瑰紡", Length = 32)]
+    [MaxLength(32)]
+    public string? GenerateType { get; set; }
+
+    /// <summary>
+    /// 琛ㄧ被鍨� 銆怑ditby shaocx,2024-05-15銆�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "琛ㄧ被鍨�", Length = 32)]
+    [MaxLength(32)]
+    public string? TableType { get; set; }
+
+    /// <summary>
+    /// 搴撳畾浣嶅櫒鍚�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "搴撳畾浣嶅櫒鍚�", Length = 64)]
+    [MaxLength(64)]
+    public string? ConfigId { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撳悕(淇濈暀瀛楁)
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏁版嵁搴撳簱鍚�", Length = 64)]
+    [MaxLength(64)]
+    public string? DbName { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撶被鍨�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏁版嵁搴撶被鍨�", Length = 64)]
+    [MaxLength(64)]
+    public string? DbType { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撻摼鎺�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏁版嵁搴撻摼鎺�", Length = 256)]
+    [MaxLength(256)]
+    public string? ConnectionString { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撹〃鍚�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏁版嵁搴撹〃鍚�", Length = 128)]
+    [MaxLength(128)]
+    public string? TableName { get; set; }
+
+    /// <summary>
+    /// 鍛藉悕绌洪棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍛藉悕绌洪棿", Length = 128)]
+    [MaxLength(128)]
+    public string? NameSpace { get; set; }
+
+    /// <summary>
+    /// 涓氬姟鍚�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "涓氬姟鍚�", Length = 128)]
+    [MaxLength(128)]
+    public string? BusName { get; set; }
+
+
+    /// <summary>
+    /// 妯″潡鍚� 銆怑ditby shaocx,2024-05-07銆�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "妯″潡鍚�", Length = 128, IsNullable = true)]
+    [MaxLength(128)]
+    public string ModuleName { get; set; }
+
+
+    /// <summary>
+    /// 鐢熸垚鐨勬寜閽� 銆怑ditby shaocx,2024-05-27銆�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐢熸垚鐨勬寜閽�", Length = 128, IsNullable = true)]
+    [MaxLength(128)]
+    public string Buttons { get; set; }
+
+    /// <summary>
+    /// 鑿滃崟缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鑿滃崟缂栫爜")]
+    public long MenuPid { get; set; }
+
+    /// <summary>
+    /// 鏀寔鎵撳嵃绫诲瀷
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏀寔鎵撳嵃绫诲瀷", Length = 32)]
+    [MaxLength(32)]
+    public string? PrintType { get; set; }
+
+    /// <summary>
+    /// 鎵撳嵃妯$増鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎵撳嵃妯$増鍚嶇О", Length = 32)]
+    [MaxLength(32)]
+    public string? PrintName { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysCodeGenConfig.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysCodeGenConfig.cs
new file mode 100644
index 0000000..f580bab
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysCodeGenConfig.cs
@@ -0,0 +1,216 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 浠g爜鐢熸垚瀛楁閰嶇疆琛�
+/// </summary>
+[SugarTable(null, "浠g爜鐢熸垚瀛楁閰嶇疆琛�")]
+[SysTable]
+public partial class SysCodeGenConfig : EntityBase
+{
+    /// <summary>
+    /// 浠g爜鐢熸垚涓昏〃Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "涓昏〃Id")]
+    public long CodeGenId { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撳瓧娈靛悕
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瀛楁鍚嶇О", Length = 128)]
+    [Required, MaxLength(128)]
+    public virtual string ColumnName { get; set; }
+
+    /// <summary>
+    /// 瀹炰綋灞炴�у悕
+    /// </summary>
+    [SugarColumn(ColumnDescription = "灞炴�у悕绉�", Length = 128)]
+    [Required, MaxLength(128)]
+    public virtual string PropertyName { get; set; }
+
+    /// <summary>
+    /// 瀛楁鏁版嵁闀垮害
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瀛楁鏁版嵁闀垮害", DefaultValue = "0")]
+    public int ColumnLength { get; set; }
+
+    /// <summary>
+    /// 瀛楁鎻忚堪
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瀛楁鎻忚堪", Length = 128)]
+    [MaxLength(128)]
+    public string? ColumnComment { get; set; }
+
+    /// <summary>
+    /// .NET鏁版嵁绫诲瀷
+    /// </summary>
+    [SugarColumn(ColumnDescription = "NET鏁版嵁绫诲瀷", Length = 64)]
+    [MaxLength(64)]
+    public string? NetType { get; set; }
+
+
+    /// <summary>
+    /// 浣滅敤绫诲瀷锛堝瓧鍏革級
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浣滅敤绫诲瀷", Length = 64)]
+    [MaxLength(64)]
+    public string? EffectType { get; set; }
+
+    /// <summary>
+    /// 澶栭敭瀹炰綋鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶栭敭瀹炰綋鍚嶇О", Length = 64)]
+    [MaxLength(64)]
+    public string? FkEntityName { get; set; }
+
+    /// <summary>
+    /// 澶栭敭琛ㄥ悕绉�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶栭敭琛ㄥ悕绉�", Length = 128)]
+    [MaxLength(128)]
+    public string? FkTableName { get; set; }
+
+    /// <summary>
+    /// 澶栭敭鏄剧ず瀛楁
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶栭敭鏄剧ず瀛楁", Length = 64)]
+    [MaxLength(64)]
+    public string? FkColumnName { get; set; }
+
+    /// <summary>
+    /// 澶栭敭璧嬪�煎瓧娈� 銆怑ditby shaocx,20240-05018銆�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶栭敭璧嬪�煎瓧娈�", Length = 64)]
+    [MaxLength(64)]
+    public string? FkSetValueColumnName { get; set; }
+
+    /// <summary>
+    /// 澶栭敭鏄剧ず瀛楁.NET绫诲瀷
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶栭敭鏄剧ず瀛楁.NET绫诲瀷", Length = 64)]
+    [MaxLength(64)]
+    public string? FkColumnNetType { get; set; }
+
+    /// <summary>
+    /// 瀛楀吀缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瀛楀吀缂栫爜", Length = 64)]
+    [MaxLength(64)]
+    public string? DictTypeCode { get; set; }
+
+    /// <summary>
+    /// 鍒楄〃鏄惁缂╄繘锛堝瓧鍏革級
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍒楄〃鏄惁缂╄繘", Length = 8)]
+    [MaxLength(8)]
+    public string? WhetherRetract { get; set; }
+
+    /// <summary>
+    /// 鏄惁蹇呭~锛堝瓧鍏革級
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁蹇呭~", Length = 8)]
+    [MaxLength(8)]
+    public string? WhetherRequired { get; set; }
+
+    /// <summary>
+    /// 鏄惁鍙帓搴忥紙瀛楀吀锛�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁鍙帓搴�", Length = 8)]
+    [MaxLength(8)]
+    public string? WhetherSortable { get; set; }
+
+    /// <summary>
+    /// 鏄惁鏄煡璇㈡潯浠�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁鏄煡璇㈡潯浠�", Length = 8)]
+    [MaxLength(8)]
+    public string? QueryWhether { get; set; }
+
+    /// <summary>
+    /// 鏌ヨ鏂瑰紡
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏌ヨ鏂瑰紡", Length = 16)]
+    [MaxLength(16)]
+    public string? QueryType { get; set; }
+
+
+    /// <summary>
+    /// 閲嶅鎬ф牎楠屾柟寮� 銆怑ditby shaocx,2024-05-12銆�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "閲嶅鎬ф牎楠屾柟寮�", Length = 16)]
+    [MaxLength(16)]
+    public string? RepCheckType { get; set; }
+
+    /// <summary>
+    /// 鍒楄〃鏄剧ず
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍒楄〃鏄剧ず", Length = 8)]
+    [MaxLength(8)]
+    public string? WhetherTable { get; set; }
+
+    /// <summary>
+    /// 鏄惁鍏抽敭瀛楁煡璇� 銆怑ditby shaocx,2024-05-16銆�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁鍏抽敭瀛楁煡璇�", Length = 8)]
+    [MaxLength(8)]
+    public string? WhetherKeyQuery { get; set; }
+
+    /// <summary>
+    /// 澧炴敼
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澧炴敼", Length = 8)]
+    [MaxLength(8)]
+    public string? WhetherAddUpdate { get; set; }
+
+    /// <summary>
+    /// 涓婚敭
+    /// </summary>
+    [SugarColumn(ColumnDescription = "涓婚敭", Length = 8)]
+    [MaxLength(8)]
+    public string? ColumnKey { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撲腑绫诲瀷锛堢墿鐞嗙被鍨嬶級
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏁版嵁搴撲腑绫诲瀷", Length = 64)]
+    [MaxLength(64)]
+    public string? DataType { get; set; }
+
+    /// <summary>
+    /// 鏄惁閫氱敤瀛楁
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁閫氱敤瀛楁", Length = 8)]
+    [MaxLength(8)]
+    public string? WhetherCommon { get; set; }
+
+    /// <summary>
+    /// 鏄剧ず鏂囨湰瀛楁
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄剧ず鏂囨湰瀛楁", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? DisplayColumn { get; set; }
+
+    /// <summary>
+    /// 閫変腑鍊煎瓧娈�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "閫変腑鍊煎瓧娈�", Length = 128)]
+    [MaxLength(128)]
+    public string? ValueColumn { get; set; }
+
+    /// <summary>
+    /// 鐖剁骇瀛楁
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐖剁骇瀛楁", Length = 128)]
+    [MaxLength(128)]
+    public string? PidColumn { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎺掑簭")]
+    public int OrderNo { get; set; } = 100;
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysConfig.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysConfig.cs
new file mode 100644
index 0000000..d5af5b7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysConfig.cs
@@ -0,0 +1,64 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鍙傛暟閰嶇疆琛�
+/// </summary>
+[SugarTable(null, "绯荤粺鍙傛暟閰嶇疆琛�")]
+[SysTable]
+[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
+[SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)]
+public partial class SysConfig : EntityBase
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍚嶇О", Length = 64)]
+    [Required, MaxLength(64)]
+    public virtual string Name { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缂栫爜", Length = 64)]
+    [MaxLength(64)]
+    public string? Code { get; set; }
+
+    /// <summary>
+    /// 灞炴�у��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "灞炴�у��", Length = 64)]
+    [MaxLength(64)]
+    public string? Value { get; set; }
+
+    /// <summary>
+    /// 鏄惁鏄唴缃弬鏁帮紙Y-鏄紝N-鍚︼級
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁鏄唴缃弬鏁�")]
+    public YesNoEnum SysFlag { get; set; }
+
+    /// <summary>
+    /// 鍒嗙粍缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍒嗙粍缂栫爜", Length = 64)]
+    [MaxLength(64)]
+    public string? GroupCode { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎺掑簭")]
+    public int OrderNo { get; set; } = 100;
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶囨敞", Length = 256)]
+    [MaxLength(256)]
+    public string? Remark { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysDictData.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysDictData.cs
new file mode 100644
index 0000000..c8d1b6e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysDictData.cs
@@ -0,0 +1,97 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺瀛楀吀鍊艰〃
+/// </summary>
+[SugarTable(null, "绯荤粺瀛楀吀鍊艰〃")]
+[SysTable]
+[SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)]
+public partial class SysDictData : EntityBase
+{
+    /// <summary>
+    /// 瀛楀吀绫诲瀷Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瀛楀吀绫诲瀷Id")]
+    public long DictTypeId { get; set; }
+
+    /// <summary>
+    /// 瀛楀吀绫诲瀷
+    /// </summary>
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    [Navigate(NavigateType.OneToOne, nameof(DictTypeId))]
+    public SysDictType DictType { get; set; }
+
+    /// <summary>
+    /// 鍊�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍊�", Length = 128)]
+    [Required, MaxLength(128)]
+    public virtual string Value { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缂栫爜", Length = 128)]
+    [Required, MaxLength(128)]
+    public virtual string Code { get; set; }
+
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍚嶇О", Length = 128)]
+    [MaxLength(128)]
+    public virtual string? Name { get; set; }
+
+    /// <summary>
+    /// 鏄剧ず鏍峰紡-鏍囩棰滆壊
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄剧ず鏍峰紡-鏍囩棰滆壊", Length = 16)]
+    [MaxLength(16)]
+    public string? TagType { get; set; }
+
+    /// <summary>
+    /// 鏄剧ず鏍峰紡-Style(鎺у埗鏄剧ず鏍峰紡)
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄剧ず鏍峰紡-Style", Length = 512)]
+    [MaxLength(512)]
+    public string? StyleSetting { get; set; }
+
+    /// <summary>
+    /// 鏄剧ず鏍峰紡-Class(鎺у埗鏄剧ず鏍峰紡)
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄剧ず鏍峰紡-Class", Length = 512)]
+    [MaxLength(512)]
+    public string? ClassSetting { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎺掑簭")]
+    public int OrderNo { get; set; } = 100;
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶囨敞", Length = 2048)]
+    [MaxLength(2048)]
+    public string? Remark { get; set; }
+
+    /// <summary>
+    /// 鎷撳睍鏁版嵁(淇濆瓨涓氬姟鍔熻兘鐨勯厤缃」)
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎷撳睍鏁版嵁(淇濆瓨涓氬姟鍔熻兘鐨勯厤缃」)", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? ExtData { get; set; }
+
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐘舵��")]
+    public StatusEnum Status { get; set; } = StatusEnum.Enable;
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysDictType.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysDictType.cs
new file mode 100644
index 0000000..df1d3d2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysDictType.cs
@@ -0,0 +1,56 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺瀛楀吀绫诲瀷琛�
+/// </summary>
+[SugarTable(null, "绯荤粺瀛楀吀绫诲瀷琛�")]
+[SysTable]
+[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
+[SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)]
+public partial class SysDictType : EntityBase
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍚嶇О", Length = 64)]
+    [Required, MaxLength(64)]
+    public virtual string Name { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缂栫爜", Length = 64)]
+    [Required, MaxLength(64)]
+    public virtual string Code { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎺掑簭")]
+    public int OrderNo { get; set; } = 100;
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶囨敞", Length = 256)]
+    [MaxLength(256)]
+    public string? Remark { get; set; }
+
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐘舵��")]
+    public StatusEnum Status { get; set; } = StatusEnum.Enable;
+
+    /// <summary>
+    /// 瀛楀吀鍊奸泦鍚�
+    /// </summary>
+    [Navigate(NavigateType.OneToMany, nameof(SysDictData.DictTypeId))]
+    public List<SysDictData> Children { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysFile.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysFile.cs
new file mode 100644
index 0000000..7a12a68
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysFile.cs
@@ -0,0 +1,79 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鏂囦欢琛�
+/// </summary>
+[SugarTable(null, "绯荤粺鏂囦欢琛�")]
+[SysTable]
+[SugarIndex("index_{table}_F", nameof(FileName), OrderByType.Asc)]
+public partial class SysFile : EntityBase
+{
+    /// <summary>
+    /// 鎻愪緵鑰�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎻愪緵鑰�", Length = 128)]
+    [MaxLength(128)]
+    public string? Provider { get; set; }
+
+    /// <summary>
+    /// 浠撳偍鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浠撳偍鍚嶇О", Length = 128)]
+    [MaxLength(128)]
+    public string? BucketName { get; set; }
+
+    /// <summary>
+    /// 鏂囦欢鍚嶇О锛堟簮鏂囦欢鍚嶏級
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏂囦欢鍚嶇О", Length = 128)]
+    [MaxLength(128)]
+    public string? FileName { get; set; }
+
+    /// <summary>
+    /// 鏂囦欢鍚庣紑
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏂囦欢鍚庣紑", Length = 16)]
+    [MaxLength(16)]
+    public string? Suffix { get; set; }
+
+    /// <summary>
+    /// 瀛樺偍璺緞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瀛樺偍璺緞", Length = 128)]
+    [MaxLength(128)]
+    public string? FilePath { get; set; }
+
+    /// <summary>
+    /// 鏂囦欢澶у皬KB
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏂囦欢澶у皬KB", Length = 16)]
+    [MaxLength(16)]
+    public string? SizeKb { get; set; }
+
+    /// <summary>
+    /// 鏂囦欢澶у皬淇℃伅-璁$畻鍚庣殑
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏂囦欢澶у皬淇℃伅", Length = 64)]
+    [MaxLength(64)]
+    public string? SizeInfo { get; set; }
+
+    /// <summary>
+    /// 澶栭摼鍦板潃-OSS涓婁紶鍚庣敓鎴愬閾惧湴鍧�鏂逛究鍓嶇棰勮
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶栭摼鍦板潃", Length = 512)]
+    [MaxLength(512)]
+    public string? Url { get; set; }
+
+    /// <summary>
+    /// 鏂囦欢MD5
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏂囦欢MD5", Length = 128)]
+    [MaxLength(128)]
+    public string? FileMd5 { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysJobCluster.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysJobCluster.cs
new file mode 100644
index 0000000..2b1a101
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysJobCluster.cs
@@ -0,0 +1,41 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺浣滀笟闆嗙兢琛�
+/// </summary>
+[SugarTable(null, "绯荤粺浣滀笟闆嗙兢琛�")]
+[SysTable]
+public partial class SysJobCluster : EntityBaseId
+{
+    /// <summary>
+    /// 浣滀笟闆嗙兢Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浣滀笟闆嗙兢Id", Length = 64)]
+    [Required, MaxLength(64)]
+    public virtual string ClusterId { get; set; }
+
+    /// <summary>
+    /// 鎻忚堪淇℃伅
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎻忚堪淇℃伅", Length = 128)]
+    [MaxLength(128)]
+    public string? Description { get; set; }
+
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐘舵��")]
+    public ClusterStatus Status { get; set; }
+
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "淇敼鏃堕棿")]
+    public DateTime? UpdatedTime { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysJobDetail.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysJobDetail.cs
new file mode 100644
index 0000000..ed135b3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysJobDetail.cs
@@ -0,0 +1,87 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺浣滀笟淇℃伅琛�
+/// </summary>
+[SugarTable(null, "绯荤粺浣滀笟淇℃伅琛�")]
+[SysTable]
+[SugarIndex("index_{table}_J", nameof(JobId), OrderByType.Asc)]
+public partial class SysJobDetail : EntityBaseId
+{
+    /// <summary>
+    /// 浣滀笟Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浣滀笟Id", Length = 64)]
+    [Required, MaxLength(64)]
+    public virtual string JobId { get; set; }
+
+    /// <summary>
+    /// 缁勫悕绉�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缁勫悕绉�", Length = 128)]
+    [MaxLength(128)]
+    public string? GroupName { get; set; } = "default";
+
+    /// <summary>
+    /// 浣滀笟绫诲瀷FullName
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浣滀笟绫诲瀷", Length = 128)]
+    [MaxLength(128)]
+    public string? JobType { get; set; }
+
+    /// <summary>
+    /// 绋嬪簭闆哊ame
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绋嬪簭闆�", Length = 128)]
+    [MaxLength(128)]
+    public string? AssemblyName { get; set; }
+
+    /// <summary>
+    /// 鎻忚堪淇℃伅
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎻忚堪淇℃伅", Length = 128)]
+    [MaxLength(128)]
+    public string? Description { get; set; }
+
+    /// <summary>
+    /// 鏄惁骞惰鎵ц
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁骞惰鎵ц")]
+    public bool Concurrent { get; set; } = true;
+
+    /// <summary>
+    /// 鏄惁鎵弿鐗规�цЕ鍙戝櫒
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁鎵弿鐗规�цЕ鍙戝櫒", ColumnName = "annotation")]
+    public bool IncludeAnnotation { get; set; } = false;
+
+    /// <summary>
+    /// 棰濆鏁版嵁
+    /// </summary>
+    [SugarColumn(ColumnDescription = "棰濆鏁版嵁", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? Properties { get; set; } = "{}";
+
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "淇敼鏃堕棿")]
+    public DateTime? UpdatedTime { get; set; }
+
+    /// <summary>
+    /// 浣滀笟鍒涘缓绫诲瀷
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浣滀笟鍒涘缓绫诲瀷")]
+    public JobCreateTypeEnum CreateType { get; set; } = JobCreateTypeEnum.BuiltIn;
+
+    /// <summary>
+    /// 鑴氭湰浠g爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鑴氭湰浠g爜", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? ScriptCode { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysJobTrigger.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysJobTrigger.cs
new file mode 100644
index 0000000..f84a8ad
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysJobTrigger.cs
@@ -0,0 +1,147 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺浣滀笟瑙﹀彂鍣ㄨ〃
+/// </summary>
+[SugarTable(null, "绯荤粺浣滀笟瑙﹀彂鍣ㄨ〃")]
+[SysTable]
+public partial class SysJobTrigger : EntityBaseId
+{
+    /// <summary>
+    /// 瑙﹀彂鍣↖d
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瑙﹀彂鍣↖d", Length = 64)]
+    [Required, MaxLength(64)]
+    public virtual string TriggerId { get; set; }
+
+    /// <summary>
+    /// 浣滀笟Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浣滀笟Id", Length = 64)]
+    [Required, MaxLength(64)]
+    public virtual string JobId { get; set; }
+
+    /// <summary>
+    /// 瑙﹀彂鍣ㄧ被鍨婩ullName
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瑙﹀彂鍣ㄧ被鍨�", Length = 128)]
+    [MaxLength(128)]
+    public string? TriggerType { get; set; }
+
+    /// <summary>
+    /// 绋嬪簭闆哊ame
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绋嬪簭闆�", Length = 128)]
+    [MaxLength(128)]
+    public string? AssemblyName { get; set; } = "Furion.Pure";
+
+    /// <summary>
+    /// 鍙傛暟
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍙傛暟", Length = 128)]
+    [MaxLength(128)]
+    public string? Args { get; set; }
+
+    /// <summary>
+    /// 鎻忚堪淇℃伅
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎻忚堪淇℃伅", Length = 128)]
+    [MaxLength(128)]
+    public string? Description { get; set; }
+
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐘舵��")]
+    public TriggerStatus Status { get; set; } = TriggerStatus.Ready;
+
+    /// <summary>
+    /// 璧峰鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璧峰鏃堕棿")]
+    public DateTime? StartTime { get; set; }
+
+    /// <summary>
+    /// 缁撴潫鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缁撴潫鏃堕棿")]
+    public DateTime? EndTime { get; set; }
+
+    /// <summary>
+    /// 鏈�杩戣繍琛屾椂闂�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏈�杩戣繍琛屾椂闂�")]
+    public DateTime? LastRunTime { get; set; }
+
+    /// <summary>
+    /// 涓嬩竴娆¤繍琛屾椂闂�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "涓嬩竴娆¤繍琛屾椂闂�")]
+    public DateTime? NextRunTime { get; set; }
+
+    /// <summary>
+    /// 瑙﹀彂娆℃暟
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瑙﹀彂娆℃暟")]
+    public long NumberOfRuns { get; set; }
+
+    /// <summary>
+    /// 鏈�澶цЕ鍙戞鏁帮紙0:涓嶉檺鍒讹紝n:N娆★級
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏈�澶цЕ鍙戞鏁�")]
+    public long MaxNumberOfRuns { get; set; }
+
+    /// <summary>
+    /// 鍑洪敊娆℃暟
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍑洪敊娆℃暟")]
+    public long NumberOfErrors { get; set; }
+
+    /// <summary>
+    /// 鏈�澶у嚭閿欐鏁帮紙0:涓嶉檺鍒讹紝n:N娆★級
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏈�澶у嚭閿欐鏁�")]
+    public long MaxNumberOfErrors { get; set; }
+
+    /// <summary>
+    /// 閲嶈瘯娆℃暟
+    /// </summary>
+    [SugarColumn(ColumnDescription = "閲嶈瘯娆℃暟")]
+    public int NumRetries { get; set; }
+
+    /// <summary>
+    /// 閲嶈瘯闂撮殧鏃堕棿锛坢s锛�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "閲嶈瘯闂撮殧鏃堕棿(ms)")]
+    public int RetryTimeout { get; set; } = 1000;
+
+    /// <summary>
+    /// 鏄惁绔嬪嵆鍚姩
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁绔嬪嵆鍚姩")]
+    public bool StartNow { get; set; } = true;
+
+    /// <summary>
+    /// 鏄惁鍚姩鏃舵墽琛屼竴娆�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁鍚姩鏃舵墽琛屼竴娆�")]
+    public bool RunOnStart { get; set; } = false;
+
+    /// <summary>
+    /// 鏄惁鍦ㄥ惎鍔ㄦ椂閲嶇疆鏈�澶цЕ鍙戞鏁扮瓑浜庝竴娆$殑浣滀笟
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁閲嶇疆瑙﹀彂娆℃暟")]
+    public bool ResetOnlyOnce { get; set; } = true;
+
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "淇敼鏃堕棿")]
+    public DateTime? UpdatedTime { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysJobTriggerRecord.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysJobTriggerRecord.cs
new file mode 100644
index 0000000..080c5cc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysJobTriggerRecord.cs
@@ -0,0 +1,72 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺浣滀笟瑙﹀彂鍣ㄨ繍琛岃褰曡〃
+/// </summary>
+[SugarTable(null, "绯荤粺浣滀笟瑙﹀彂鍣ㄨ繍琛岃褰曡〃")]
+[SysTable]
+public partial class SysJobTriggerRecord : EntityBaseId
+{
+    /// <summary>
+    /// 浣滀笟Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浣滀笟Id", Length = 64)]
+    [Required, MaxLength(64)]
+    public virtual string JobId { get; set; }
+
+    /// <summary>
+    /// 瑙﹀彂鍣↖d
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瑙﹀彂鍣↖d", Length = 64)]
+    [Required, MaxLength(64)]
+    public virtual string TriggerId { get; set; }
+
+    /// <summary>
+    /// 褰撳墠杩愯娆℃暟
+    /// </summary>
+    [SugarColumn(ColumnDescription = "褰撳墠杩愯娆℃暟")]
+    public long NumberOfRuns { get; set; }
+
+    /// <summary>
+    /// 鏈�杩戣繍琛屾椂闂�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏈�杩戣繍琛屾椂闂�")]
+    public DateTime? LastRunTime { get; set; }
+
+    /// <summary>
+    /// 涓嬩竴娆¤繍琛屾椂闂�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "涓嬩竴娆¤繍琛屾椂闂�")]
+    public DateTime? NextRunTime { get; set; }
+
+    /// <summary>
+    /// 瑙﹀彂鍣ㄧ姸鎬�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瑙﹀彂鍣ㄧ姸鎬�")]
+    public TriggerStatus Status { get; set; } = TriggerStatus.Ready;
+
+    /// <summary>
+    /// 鏈鎵ц缁撴灉
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏈鎵ц缁撴灉", Length = 128)]
+    [MaxLength(128)]
+    public string? Result { get; set; }
+
+    /// <summary>
+    /// 鏈鎵ц鑰楁椂
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏈鎵ц鑰楁椂")]
+    public long ElapsedTime { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍒涘缓鏃堕棿")]
+    public DateTime? CreatedTime { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLdap.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLdap.cs
new file mode 100644
index 0000000..a8d629b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLdap.cs
@@ -0,0 +1,89 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鍩熺櫥褰曚俊鎭厤缃〃
+/// </summary>
+[SugarTable(null, "绯荤粺鍩熺櫥褰曚俊鎭厤缃〃")]
+[SysTable]
+public class SysLdap : EntityTenant
+{
+    /// <summary>
+    /// 涓绘満
+    /// </summary>
+    [SugarColumn(ColumnDescription = "涓绘満", Length = 128)]
+    [Required]
+    public virtual string Host { get; set; }
+
+    /// <summary>
+    /// 绔彛
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绔彛")]
+    public virtual int Port { get; set; }
+
+    /// <summary>
+    /// 鐢ㄦ埛鎼滅储鍩哄噯
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐢ㄦ埛鎼滅储鍩哄噯", Length = 128)]
+    [Required]
+    public virtual string BaseDn { get; set; }
+
+    /// <summary>
+    /// 缁戝畾DN(鏈夌鐞嗘潈闄愬埗鐨勭敤鎴�)
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缁戝畾DN", Length = 32)]
+    [Required]
+    public virtual string BindDn { get; set; }
+
+    /// <summary>
+    /// 缁戝畾瀵嗙爜(鏈夌鐞嗘潈闄愬埗鐨勭敤鎴峰瘑鐮�)
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缁戝畾瀵嗙爜", Length = 512)]
+    [Required]
+    public virtual string BindPass { get; set; }
+
+    /// <summary>
+    /// 鐢ㄦ埛杩囨护瑙勫垯
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐢ㄦ埛杩囨护瑙勫垯", Length = 128)]
+    [Required]
+    public virtual string AuthFilter { get; set; } = "sAMAccountName=%s";
+
+    /// <summary>
+    /// Ldap鐗堟湰
+    /// </summary>
+    [SugarColumn(ColumnDescription = "Ldap鐗堟湰")]
+    public int Version { get; set; }
+
+    /// <summary>
+    /// 缁戝畾鍩熻处鍙峰瓧娈靛睘鎬у��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缁戝畾鍩熻处鍙峰瓧娈靛睘鎬у��", Length = 32)]
+    [Required]
+    public virtual string BindAttrAccount { get; set; } = "sAMAccountName";
+
+    /// <summary>
+    /// 缁戝畾鐢ㄦ埛EmployeeId灞炴�у��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缁戝畾鐢ㄦ埛EmployeeId灞炴�у��", Length = 32)]
+    [Required]
+    public virtual string BindAttrEmployeeId { get; set; } = "EmployeeId";
+
+    /// <summary>
+    /// 缁戝畾Code灞炴�у��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缁戝畾瀵硅薄Code灞炴�у��", Length = 64)]
+    [Required]
+    public virtual string BindAttrCode { get; set; } = "objectGUID";
+
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐘舵��")]
+    public StatusEnum Status { get; set; } = StatusEnum.Enable;
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLogDiff.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLogDiff.cs
new file mode 100644
index 0000000..a25de06
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLogDiff.cs
@@ -0,0 +1,58 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺宸紓鏃ュ織琛�
+/// </summary>
+[SugarTable(null, "绯荤粺宸紓鏃ュ織琛�")]
+[SysTable]
+[LogTable]
+public partial class SysLogDiff : EntityBase
+{
+    /// <summary>
+    /// 鎿嶄綔鍓嶈褰�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎿嶄綔鍓嶈褰�", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? BeforeData { get; set; }
+
+    /// <summary>
+    /// 鎿嶄綔鍚庤褰�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎿嶄綔鍚庤褰�", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? AfterData { get; set; }
+
+    /// <summary>
+    /// Sql
+    /// </summary>
+    [SugarColumn(ColumnDescription = "Sql", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? Sql { get; set; }
+
+    /// <summary>
+    /// 鍙傛暟  鎵嬪姩浼犲叆鐨勫弬鏁�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍙傛暟", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? Parameters { get; set; }
+
+    /// <summary>
+    /// 涓氬姟瀵硅薄
+    /// </summary>
+    [SugarColumn(ColumnDescription = "涓氬姟瀵硅薄", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? BusinessData { get; set; }
+
+    /// <summary>
+    /// 宸紓鎿嶄綔
+    /// </summary>
+    [SugarColumn(ColumnDescription = "宸紓鎿嶄綔", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? DiffType { get; set; }
+
+    /// <summary>
+    /// 鑰楁椂
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鑰楁椂")]
+    public long? Elapsed { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLogEx.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLogEx.cs
new file mode 100644
index 0000000..e650144
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLogEx.cs
@@ -0,0 +1,72 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺寮傚父鏃ュ織琛�
+/// </summary>
+[SugarTable(null, "绯荤粺寮傚父鏃ュ織琛�")]
+[SysTable]
+[LogTable]
+public partial class SysLogEx : SysLogVis
+{
+    /// <summary>
+    /// 璇锋眰鏂瑰紡
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璇锋眰鏂瑰紡", Length = 32)]
+    [MaxLength(32)]
+    public string? HttpMethod { get; set; }
+
+    /// <summary>
+    /// 璇锋眰鍦板潃
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璇锋眰鍦板潃", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? RequestUrl { get; set; }
+
+    /// <summary>
+    /// 璇锋眰鍙傛暟
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璇锋眰鍙傛暟", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? RequestParam { get; set; }
+
+    /// <summary>
+    /// 杩斿洖缁撴灉
+    /// </summary>
+    [SugarColumn(ColumnDescription = "杩斿洖缁撴灉", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? ReturnResult { get; set; }
+
+    /// <summary>
+    /// 浜嬩欢Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浜嬩欢Id")]
+    public int? EventId { get; set; }
+
+    /// <summary>
+    /// 绾跨▼Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绾跨▼Id")]
+    public int? ThreadId { get; set; }
+
+    /// <summary>
+    /// 璇锋眰璺熻釜Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璇锋眰璺熻釜Id", Length = 128)]
+    [MaxLength(128)]
+    public string? TraceId { get; set; }
+
+    /// <summary>
+    /// 寮傚父淇℃伅
+    /// </summary>
+    [SugarColumn(ColumnDescription = "寮傚父淇℃伅", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? Exception { get; set; }
+
+    /// <summary>
+    /// 鏃ュ織娑堟伅Json
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏃ュ織娑堟伅Json", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? Message { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLogOp.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLogOp.cs
new file mode 100644
index 0000000..e5ba1c1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLogOp.cs
@@ -0,0 +1,72 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鎿嶄綔鏃ュ織琛�
+/// </summary>
+[SugarTable(null, "绯荤粺鎿嶄綔鏃ュ織琛�")]
+[SysTable]
+[LogTable]
+public partial class SysLogOp : SysLogVis
+{
+    /// <summary>
+    /// 璇锋眰鏂瑰紡
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璇锋眰鏂瑰紡", Length = 32)]
+    [MaxLength(32)]
+    public string? HttpMethod { get; set; }
+
+    /// <summary>
+    /// 璇锋眰鍦板潃
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璇锋眰鍦板潃", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? RequestUrl { get; set; }
+
+    /// <summary>
+    /// 璇锋眰鍙傛暟
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璇锋眰鍙傛暟", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? RequestParam { get; set; }
+
+    /// <summary>
+    /// 杩斿洖缁撴灉
+    /// </summary>
+    [SugarColumn(ColumnDescription = "杩斿洖缁撴灉", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? ReturnResult { get; set; }
+
+    /// <summary>
+    /// 浜嬩欢Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浜嬩欢Id")]
+    public int? EventId { get; set; }
+
+    /// <summary>
+    /// 绾跨▼Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绾跨▼Id")]
+    public int? ThreadId { get; set; }
+
+    /// <summary>
+    /// 璇锋眰璺熻釜Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璇锋眰璺熻釜Id", Length = 128)]
+    [MaxLength(128)]
+    public string? TraceId { get; set; }
+
+    /// <summary>
+    /// 寮傚父淇℃伅
+    /// </summary>
+    [SugarColumn(ColumnDescription = "寮傚父淇℃伅", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? Exception { get; set; }
+
+    /// <summary>
+    /// 鏃ュ織娑堟伅Json
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏃ュ織娑堟伅Json", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? Message { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLogVis.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLogVis.cs
new file mode 100644
index 0000000..2e0928f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysLogVis.cs
@@ -0,0 +1,116 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺璁块棶鏃ュ織琛�
+/// </summary>
+[SugarTable(null, "绯荤粺璁块棶鏃ュ織琛�")]
+[SysTable]
+[LogTable]
+public partial class SysLogVis : EntityTenant
+{
+    /// <summary>
+    /// 妯″潡鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "妯″潡鍚嶇О", Length = 256)]
+    [MaxLength(256)]
+    public string? ControllerName { get; set; }
+
+    /// <summary>
+    /// 鏂规硶鍚嶇О
+    ///</summary>
+    [SugarColumn(ColumnDescription = "鏂规硶鍚嶇О", Length = 256)]
+    [MaxLength(256)]
+    public string? ActionName { get; set; }
+
+    /// <summary>
+    /// 鏄剧ず鍚嶇О
+    ///</summary>
+    [SugarColumn(ColumnDescription = "鏄剧ず鍚嶇О", Length = 256)]
+    [MaxLength(256)]
+    public string? DisplayTitle { get; set; }
+
+    /// <summary>
+    /// 鎵ц鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎵ц鐘舵��", Length = 32)]
+    [MaxLength(32)]
+    public string? Status { get; set; }
+
+    /// <summary>
+    /// IP鍦板潃
+    /// </summary>
+    [SugarColumn(ColumnDescription = "IP鍦板潃", Length = 256)]
+    [MaxLength(256)]
+    public string? RemoteIp { get; set; }
+
+    /// <summary>
+    /// 鐧诲綍鍦扮偣
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐧诲綍鍦扮偣", Length = 128)]
+    [MaxLength(128)]
+    public string? Location { get; set; }
+
+    /// <summary>
+    /// 缁忓害
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缁忓害")]
+    public double? Longitude { get; set; }
+
+    /// <summary>
+    /// 缁村害
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缁村害")]
+    public double? Latitude { get; set; }
+
+    /// <summary>
+    /// 娴忚鍣�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "娴忚鍣�", Length = 1024)]
+    [MaxLength(1024)]
+    public string? Browser { get; set; }
+
+    /// <summary>
+    /// 鎿嶄綔绯荤粺
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎿嶄綔绯荤粺", Length = 256)]
+    [MaxLength(256)]
+    public string? Os { get; set; }
+
+    /// <summary>
+    /// 鎿嶄綔鐢ㄦ椂
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎿嶄綔鐢ㄦ椂")]
+    public long? Elapsed { get; set; }
+
+    /// <summary>
+    /// 鏃ュ織鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏃ュ織鏃堕棿")]
+    public DateTime? LogDateTime { get; set; }
+
+    /// <summary>
+    /// 鏃ュ織绾у埆
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏃ュ織绾у埆")]
+    public LogLevel? LogLevel { get; set; }
+
+    /// <summary>
+    /// 璐﹀彿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璐﹀彿", Length = 32)]
+    [MaxLength(32)]
+    public string? Account { get; set; }
+
+    /// <summary>
+    /// 鐪熷疄濮撳悕
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐪熷疄濮撳悕", Length = 32)]
+    [MaxLength(32)]
+    public string? RealName { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysMenu.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysMenu.cs
new file mode 100644
index 0000000..1e83184
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysMenu.cs
@@ -0,0 +1,144 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鑿滃崟琛�
+/// </summary>
+[SugarTable(null, "绯荤粺鑿滃崟琛�")]
+[SysTable]
+[SugarIndex("index_{table}_T", nameof(Title), OrderByType.Asc)]
+[SugarIndex("index_{table}_T2", nameof(Type), OrderByType.Asc)]
+public partial class SysMenu : EntityBase
+{
+    /// <summary>
+    /// 鐖禝d
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐖禝d")]
+    public long Pid { get; set; }
+
+    /// <summary>
+    /// 鑿滃崟绫诲瀷锛�1鐩綍 2鑿滃崟 3鎸夐挳锛�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鑿滃崟绫诲瀷")]
+    public MenuTypeEnum Type { get; set; }
+
+    /// <summary>
+    /// 璺敱鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璺敱鍚嶇О", Length = 64)]
+    [MaxLength(64)]
+    public string? Name { get; set; }
+
+    /// <summary>
+    /// 璺敱鍦板潃
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璺敱鍦板潃", Length = 128)]
+    [MaxLength(128)]
+    public string? Path { get; set; }
+
+    /// <summary>
+    /// 缁勪欢璺緞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缁勪欢璺緞", Length = 128)]
+    [MaxLength(128)]
+    public string? Component { get; set; }
+
+    /// <summary>
+    /// 閲嶅畾鍚�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "閲嶅畾鍚�", Length = 128)]
+    [MaxLength(128)]
+    public string? Redirect { get; set; }
+
+    /// <summary>
+    /// 鏉冮檺鏍囪瘑
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏉冮檺鏍囪瘑", Length = 128)]
+    [MaxLength(128)]
+    public string? Permission { get; set; }
+
+    /// <summary>
+    /// 鑿滃崟鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鑿滃崟鍚嶇О", Length = 64)]
+    [Required, MaxLength(64)]
+    public virtual string Title { get; set; }
+
+    /// <summary>
+    /// 鍥炬爣
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍥炬爣", Length = 128)]
+    [MaxLength(128)]
+    public string? Icon { get; set; }
+
+    /// <summary>
+    /// 鏄惁鍐呭祵
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁鍐呭祵")]
+    public bool IsIframe { get; set; }
+
+    /// <summary>
+    /// 澶栭摼閾炬帴
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶栭摼閾炬帴", Length = 256)]
+    [MaxLength(256)]
+    public string? OutLink { get; set; }
+
+    /// <summary>
+    /// 鏄惁闅愯棌
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁闅愯棌")]
+    public bool IsHide { get; set; }
+
+    /// <summary>
+    /// 鏄惁缂撳瓨
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁缂撳瓨")]
+    public bool IsKeepAlive { get; set; } = true;
+
+    /// <summary>
+    /// 鏄惁鍥哄畾
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁鍥哄畾")]
+    public bool IsAffix { get; set; }
+
+
+
+
+    /// <summary>
+    /// 鏄惁甯姪鏂囨。鑿滃崟
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁甯姪鏂囨。鑿滃崟")]
+    public bool? IshelpDoc { get; set; }
+
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎺掑簭")]
+    public int OrderNo { get; set; } = 100;
+
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐘舵��")]
+    public StatusEnum Status { get; set; } = StatusEnum.Enable;
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶囨敞", Length = 256)]
+    [MaxLength(256)]
+    public string? Remark { get; set; }
+
+    /// <summary>
+    /// 鑿滃崟瀛愰」
+    /// </summary>
+    [SugarColumn(IsIgnore = true)]
+    public List<SysMenu> Children { get; set; } = new List<SysMenu>();
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysNotice.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysNotice.cs
new file mode 100644
index 0000000..7aa7d01
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysNotice.cs
@@ -0,0 +1,82 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺閫氱煡鍏憡琛�
+/// </summary>
+[SugarTable(null, "绯荤粺閫氱煡鍏憡琛�")]
+[SysTable]
+[SugarIndex("index_{table}_T", nameof(Type), OrderByType.Asc)]
+public partial class SysNotice : EntityBase
+{
+    /// <summary>
+    /// 鏍囬
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏍囬", Length = 32)]
+    [Required, MaxLength(32)]
+    [SensitiveDetection('*')]
+    public virtual string Title { get; set; }
+
+    /// <summary>
+    /// 鍐呭
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍐呭", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    [Required]
+    [SensitiveDetection('*')]
+    public virtual string Content { get; set; }
+
+    /// <summary>
+    /// 绫诲瀷锛�1閫氱煡 2鍏憡锛�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绫诲瀷锛�1閫氱煡 2鍏憡锛�")]
+    public NoticeTypeEnum Type { get; set; }
+
+    /// <summary>
+    /// 鍙戝竷浜篒d
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍙戝竷浜篒d")]
+    public long PublicUserId { get; set; }
+
+    /// <summary>
+    /// 鍙戝竷浜哄鍚�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍙戝竷浜哄鍚�", Length = 32)]
+    [MaxLength(32)]
+    public string? PublicUserName { get; set; }
+
+    /// <summary>
+    /// 鍙戝竷鏈烘瀯Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍙戝竷鏈烘瀯Id")]
+    public long PublicOrgId { get; set; }
+
+    /// <summary>
+    /// 鍙戝竷鏈烘瀯鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍙戝竷鏈烘瀯鍚嶇О", Length = 64)]
+    [MaxLength(64)]
+    public string? PublicOrgName { get; set; }
+
+    /// <summary>
+    /// 鍙戝竷鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍙戝竷鏃堕棿")]
+    public DateTime? PublicTime { get; set; }
+
+    /// <summary>
+    /// 鎾ゅ洖鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎾ゅ洖鏃堕棿")]
+    public DateTime? CancelTime { get; set; }
+
+    /// <summary>
+    /// 鐘舵�侊紙0鑽夌 1鍙戝竷 2鎾ゅ洖 3鍒犻櫎锛�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐘舵�侊紙0鑽夌 1鍙戝竷 2鎾ゅ洖 3鍒犻櫎锛�")]
+    public NoticeStatusEnum Status { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysNoticeUser.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysNoticeUser.cs
new file mode 100644
index 0000000..5f71ba4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysNoticeUser.cs
@@ -0,0 +1,45 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺閫氱煡鍏憡鐢ㄦ埛琛�
+/// </summary>
+[SugarTable(null, "绯荤粺閫氱煡鍏憡鐢ㄦ埛琛�")]
+[SysTable]
+public partial class SysNoticeUser : EntityBaseId
+{
+    /// <summary>
+    /// 閫氱煡鍏憡Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "閫氱煡鍏憡Id")]
+    public long NoticeId { get; set; }
+
+    /// <summary>
+    /// 閫氱煡鍏憡
+    /// </summary>
+    [Navigate(NavigateType.OneToOne, nameof(NoticeId))]
+    public SysNotice SysNotice { get; set; }
+
+    /// <summary>
+    /// 鐢ㄦ埛Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐢ㄦ埛Id")]
+    public long UserId { get; set; }
+
+    /// <summary>
+    /// 闃呰鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "闃呰鏃堕棿")]
+    public DateTime? ReadTime { get; set; }
+
+    /// <summary>
+    /// 鐘舵�侊紙0鏈 1宸茶锛�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐘舵�侊紙0鏈 1宸茶锛�")]
+    public NoticeUserStatusEnum ReadStatus { get; set; } = NoticeUserStatusEnum.UNREAD;
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysOnlineUser.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysOnlineUser.cs
new file mode 100644
index 0000000..7fd95b2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysOnlineUser.cs
@@ -0,0 +1,68 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鍦ㄧ嚎鐢ㄦ埛琛�
+/// </summary>
+[SugarTable(null, "绯荤粺鍦ㄧ嚎鐢ㄦ埛琛�")]
+[SysTable]
+public partial class SysOnlineUser : EntityTenantId
+{
+    /// <summary>
+    /// 杩炴帴Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "杩炴帴Id")]
+    public string? ConnectionId { get; set; }
+
+    /// <summary>
+    /// 鐢ㄦ埛Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐢ㄦ埛Id")]
+    public long UserId { get; set; }
+
+    /// <summary>
+    /// 璐﹀彿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璐﹀彿", Length = 32)]
+    [Required, MaxLength(32)]
+    public virtual string UserName { get; set; }
+
+    /// <summary>
+    /// 鐪熷疄濮撳悕
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐪熷疄濮撳悕", Length = 32)]
+    [MaxLength(32)]
+    public string? RealName { get; set; }
+
+    /// <summary>
+    /// 杩炴帴鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "杩炴帴鏃堕棿")]
+    public DateTime? Time { get; set; }
+
+    /// <summary>
+    /// 杩炴帴IP
+    /// </summary>
+    [SugarColumn(ColumnDescription = "杩炴帴IP", Length = 256)]
+    [MaxLength(256)]
+    public string? Ip { get; set; }
+
+    /// <summary>
+    /// 娴忚鍣�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "娴忚鍣�", Length = 128)]
+    [MaxLength(128)]
+    public string? Browser { get; set; }
+
+    /// <summary>
+    /// 鎿嶄綔绯荤粺
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎿嶄綔绯荤粺", Length = 128)]
+    [MaxLength(128)]
+    public string? Os { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysOpenAccess.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysOpenAccess.cs
new file mode 100644
index 0000000..68185cf
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysOpenAccess.cs
@@ -0,0 +1,58 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 寮�鏀炬帴鍙h韩浠借〃
+/// </summary>
+[SugarTable(null, "寮�鏀炬帴鍙h韩浠借〃")]
+[SysTable]
+[SugarIndex("index_{table}_A", nameof(AccessKey), OrderByType.Asc)]
+public partial class SysOpenAccess : EntityBase
+{
+    /// <summary>
+    /// 韬唤鏍囪瘑
+    /// </summary>
+    [SugarColumn(ColumnDescription = "韬唤鏍囪瘑", Length = 128)]
+    [Required, MaxLength(128)]
+    public virtual string AccessKey { get; set; }
+
+    /// <summary>
+    /// 瀵嗛挜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瀵嗛挜", Length = 256)]
+    [Required, MaxLength(256)]
+    public virtual string AccessSecret { get; set; }
+
+    /// <summary>
+    /// 缁戝畾绉熸埛Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缁戝畾绉熸埛Id")]
+    public long BindTenantId { get; set; }
+
+    /// <summary>
+    /// 缁戝畾绉熸埛
+    /// </summary>
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    [Navigate(NavigateType.OneToOne, nameof(BindTenantId))]
+    public SysTenant BindTenant { get; set; }
+
+    /// <summary>
+    /// 缁戝畾鐢ㄦ埛Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缁戝畾鐢ㄦ埛Id")]
+    public virtual long BindUserId { get; set; }
+
+    /// <summary>
+    /// 缁戝畾鐢ㄦ埛
+    /// </summary>
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    [Navigate(NavigateType.OneToOne, nameof(BindUserId))]
+    public SysUser BindUser { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysOrg.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysOrg.cs
new file mode 100644
index 0000000..f6dc77e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysOrg.cs
@@ -0,0 +1,96 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鏈烘瀯琛�
+/// </summary>
+[SugarTable(null, "绯荤粺鏈烘瀯琛�")]
+[SysTable]
+[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
+[SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)]
+[SugarIndex("index_{table}_T", nameof(Type), OrderByType.Asc)]
+public partial class SysOrg : EntityTenant
+{
+    /// <summary>
+    /// 鐖禝d
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐖禝d")]
+    public long Pid { get; set; }
+
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍚嶇О", Length = 64)]
+    [Required, MaxLength(64)]
+    public virtual string Name { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缂栫爜", Length = 64)]
+    [MaxLength(64)]
+    public string? Code { get; set; }
+
+    /// <summary>
+    /// 绾у埆
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绾у埆")]
+    public int? Level { get; set; }
+
+    /// <summary>
+    /// 鏈烘瀯绫诲瀷-鏁版嵁瀛楀吀
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏈烘瀯绫诲瀷", Length = 64)]
+    [MaxLength(64)]
+    public string? Type { get; set; }
+
+    /// <summary>
+    /// 璐熻矗浜篒d
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璐熻矗浜篒d", IsNullable = true)]
+    public long? DirectorId { get; set; }
+
+    /// <summary>
+    /// 璐熻矗浜�
+    /// </summary>
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    [Navigate(NavigateType.OneToOne, nameof(DirectorId))]
+    public SysUser Director { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎺掑簭")]
+    public int OrderNo { get; set; } = 100;
+
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐘舵��")]
+    public StatusEnum Status { get; set; } = StatusEnum.Enable;
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶囨敞", Length = 128)]
+    [MaxLength(128)]
+    public string? Remark { get; set; }
+
+    /// <summary>
+    /// 鏈烘瀯瀛愰」
+    /// </summary>
+    [SugarColumn(IsIgnore = true)]
+    public List<SysOrg> Children { get; set; }
+
+    /// <summary>
+    /// 鏄惁绂佹閫変腑
+    /// </summary>
+    [SugarColumn(IsIgnore = true)]
+    public bool Disabled { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysPlugin.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysPlugin.cs
new file mode 100644
index 0000000..2cc8e58
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysPlugin.cs
@@ -0,0 +1,56 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鍔ㄦ�佹彃浠惰〃
+/// </summary>
+[SugarTable(null, "绯荤粺鍔ㄦ�佹彃浠惰〃")]
+[SysTable]
+[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
+public partial class SysPlugin : EntityTenant
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍚嶇О", Length = 64)]
+    [Required, MaxLength(64)]
+    public virtual string Name { get; set; }
+
+    /// <summary>
+    /// C#浠g爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "C#浠g爜", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    [Required]
+    public virtual string CsharpCode { get; set; }
+
+    /// <summary>
+    /// 绋嬪簭闆嗗悕绉�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绋嬪簭闆嗗悕绉�", Length = 512)]
+    [MaxLength(512)]
+    public string? AssemblyName { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎺掑簭")]
+    public int OrderNo { get; set; } = 100;
+
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐘舵��")]
+    public StatusEnum Status { get; set; } = StatusEnum.Enable;
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶囨敞", Length = 128)]
+    [MaxLength(128)]
+    public string? Remark { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysPos.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysPos.cs
new file mode 100644
index 0000000..d20f060
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysPos.cs
@@ -0,0 +1,50 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鑱屼綅琛�
+/// </summary>
+[SugarTable(null, "绯荤粺鑱屼綅琛�")]
+[SysTable]
+[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
+[SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)]
+public partial class SysPos : EntityTenant
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍚嶇О", Length = 64)]
+    [Required, MaxLength(64)]
+    public virtual string Name { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缂栫爜", Length = 64)]
+    [MaxLength(64)]
+    public string? Code { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎺掑簭")]
+    public int OrderNo { get; set; } = 100;
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶囨敞", Length = 128)]
+    [MaxLength(128)]
+    public string? Remark { get; set; }
+
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐘舵��")]
+    public StatusEnum Status { get; set; } = StatusEnum.Enable;
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysPrint.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysPrint.cs
new file mode 100644
index 0000000..1f9d8ac
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysPrint.cs
@@ -0,0 +1,49 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鎵撳嵃妯℃澘琛�
+/// </summary>
+[SugarTable(null, "绯荤粺鎵撳嵃妯℃澘琛�")]
+[SysTable]
+[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
+public partial class SysPrint : EntityTenant
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍚嶇О", Length = 64)]
+    [Required, MaxLength(64)]
+    public virtual string Name { get; set; }
+
+    /// <summary>
+    /// 鎵撳嵃妯℃澘
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎵撳嵃妯℃澘", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    [Required]
+    public virtual string Template { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎺掑簭")]
+    public int OrderNo { get; set; } = 100;
+
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐘舵��")]
+    public StatusEnum Status { get; set; } = StatusEnum.Enable;
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶囨敞", Length = 128)]
+    [MaxLength(128)]
+    public string? Remark { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysRegion.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysRegion.cs
new file mode 100644
index 0000000..103f20e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysRegion.cs
@@ -0,0 +1,109 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺琛屾斂鍦板尯琛�
+/// </summary>
+[SugarTable(null, "绯荤粺琛屾斂鍦板尯琛�")]
+[SysTable]
+[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
+[SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)]
+public partial class SysRegion : EntityBaseId
+{
+    /// <summary>
+    /// 鐖禝d
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐖禝d")]
+    public long Pid { get; set; }
+
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍚嶇О", Length = 128)]
+    [Required, MaxLength(128)]
+    public virtual string Name { get; set; }
+
+    /// <summary>
+    /// 绠�绉�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绠�绉�", Length = 32)]
+    [MaxLength(32)]
+    public string? ShortName { get; set; }
+
+    /// <summary>
+    /// 缁勫悎鍚�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缁勫悎鍚�", Length = 64)]
+    [MaxLength(64)]
+    public string? MergerName { get; set; }
+
+    /// <summary>
+    /// 琛屾斂浠g爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "琛屾斂浠g爜", Length = 32)]
+    [MaxLength(32)]
+    public string? Code { get; set; }
+
+    /// <summary>
+    /// 閭斂缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "閭斂缂栫爜", Length = 6)]
+    [MaxLength(6)]
+    public string? ZipCode { get; set; }
+
+    /// <summary>
+    /// 鍖哄彿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍖哄彿", Length = 6)]
+    [MaxLength(6)]
+    public string? CityCode { get; set; }
+
+    /// <summary>
+    /// 灞傜骇
+    /// </summary>
+    [SugarColumn(ColumnDescription = "灞傜骇")]
+    public int Level { get; set; }
+
+    /// <summary>
+    /// 鎷奸煶
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎷奸煶", Length = 128)]
+    [MaxLength(128)]
+    public string? PinYin { get; set; }
+
+    /// <summary>
+    /// 缁忓害
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缁忓害")]
+    public float Lng { get; set; }
+
+    /// <summary>
+    /// 缁村害
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缁村害")]
+    public float Lat { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎺掑簭")]
+    public int OrderNo { get; set; } = 100;
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶囨敞", Length = 128)]
+    [MaxLength(128)]
+    public string? Remark { get; set; }
+
+    /// <summary>
+    /// 鏈烘瀯瀛愰」
+    /// </summary>
+    [SugarColumn(IsIgnore = true)]
+    public List<SysRegion> Children { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysRole.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysRole.cs
new file mode 100644
index 0000000..509e13d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysRole.cs
@@ -0,0 +1,56 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺瑙掕壊琛�
+/// </summary>
+[SugarTable(null, "绯荤粺瑙掕壊琛�")]
+[SysTable]
+[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
+[SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)]
+public partial class SysRole : EntityTenant
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍚嶇О", Length = 64)]
+    [Required, MaxLength(64)]
+    public virtual string Name { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缂栫爜", Length = 64)]
+    [MaxLength(64)]
+    public string? Code { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎺掑簭")]
+    public int OrderNo { get; set; } = 100;
+
+    /// <summary>
+    /// 鏁版嵁鑼冨洿锛�1鍏ㄩ儴鏁版嵁 2鏈儴闂ㄥ強浠ヤ笅鏁版嵁 3鏈儴闂ㄦ暟鎹� 4浠呮湰浜烘暟鎹� 5鑷畾涔夋暟鎹級
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏁版嵁鑼冨洿")]
+    public DataScopeEnum DataScope { get; set; } = DataScopeEnum.Self;
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶囨敞", Length = 128)]
+    [MaxLength(128)]
+    public string? Remark { get; set; }
+
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐘舵��")]
+    public StatusEnum Status { get; set; } = StatusEnum.Enable;
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysRoleMenu.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysRoleMenu.cs
new file mode 100644
index 0000000..04e3f1d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysRoleMenu.cs
@@ -0,0 +1,35 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺瑙掕壊鑿滃崟琛�
+/// </summary>
+[SugarTable(null, "绯荤粺瑙掕壊鑿滃崟琛�")]
+[SysTable]
+public class SysRoleMenu : EntityBaseId
+{
+    /// <summary>
+    /// 瑙掕壊Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瑙掕壊Id")]
+    public long RoleId { get; set; }
+
+    /// <summary>
+    /// 鑿滃崟Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鑿滃崟Id")]
+    public long MenuId { get; set; }
+
+    /// <summary>
+    /// 鑿滃崟
+    /// </summary>
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    [Navigate(NavigateType.OneToOne, nameof(MenuId))]
+    public SysMenu SysMenu { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysRoleOrg.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysRoleOrg.cs
new file mode 100644
index 0000000..c4622f8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysRoleOrg.cs
@@ -0,0 +1,35 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺瑙掕壊鏈烘瀯琛�
+/// </summary>
+[SugarTable(null, "绯荤粺瑙掕壊鏈烘瀯琛�")]
+[SysTable]
+public class SysRoleOrg : EntityBaseId
+{
+    /// <summary>
+    /// 瑙掕壊Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瑙掕壊Id")]
+    public long RoleId { get; set; }
+
+    /// <summary>
+    /// 鏈烘瀯Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏈烘瀯Id")]
+    public long OrgId { get; set; }
+
+    /// <summary>
+    /// 鏈烘瀯
+    /// </summary>
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    [Navigate(NavigateType.OneToOne, nameof(OrgId))]
+    public SysOrg SysOrg { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysTenant.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysTenant.cs
new file mode 100644
index 0000000..9d1fa6f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysTenant.cs
@@ -0,0 +1,85 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺绉熸埛琛�
+/// </summary>
+[SugarTable(null, "绯荤粺绉熸埛琛�")]
+[SysTable]
+public partial class SysTenant : EntityBase
+{
+    /// <summary>
+    /// 鐢ㄦ埛Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐢ㄦ埛Id")]
+    public long UserId { get; set; }
+
+    /// <summary>
+    /// 鏈烘瀯Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏈烘瀯Id")]
+    public long OrgId { get; set; }
+
+    /// <summary>
+    /// 涓绘満
+    /// </summary>
+    [SugarColumn(ColumnDescription = "涓绘満", Length = 128)]
+    [MaxLength(128)]
+    public string? Host { get; set; }
+
+    /// <summary>
+    /// 绉熸埛绫诲瀷
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绉熸埛绫诲瀷")]
+    public TenantTypeEnum TenantType { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撶被鍨�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏁版嵁搴撶被鍨�")]
+    public SqlSugar.DbType DbType { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撹繛鎺�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏁版嵁搴撹繛鎺�", Length = 256)]
+    [MaxLength(256)]
+    public string? Connection { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撴爣璇�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏁版嵁搴撴爣璇�", Length = 64)]
+    [MaxLength(64)]
+    public string? ConfigId { get; set; }
+
+    /// <summary>
+    /// 浠庡簱杩炴帴/璇诲啓鍒嗙
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浠庡簱杩炴帴/璇诲啓鍒嗙", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? SlaveConnections { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎺掑簭")]
+    public int OrderNo { get; set; } = 100;
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶囨敞", Length = 128)]
+    [MaxLength(128)]
+    public string? Remark { get; set; }
+
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐘舵��")]
+    public StatusEnum Status { get; set; } = StatusEnum.Enable;
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysUser.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysUser.cs
new file mode 100644
index 0000000..eea9f1d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysUser.cs
@@ -0,0 +1,315 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鐢ㄦ埛琛�
+/// </summary>
+[SugarTable(null, "绯荤粺鐢ㄦ埛琛�")]
+[SysTable]
+[SugarIndex("index_{table}_A", nameof(Account), OrderByType.Asc)]
+[SugarIndex("index_{table}_P", nameof(Phone), OrderByType.Asc)]
+public partial class SysUser : EntityTenant
+{
+    /// <summary>
+    /// 璐﹀彿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璐﹀彿", Length = 32)]
+    [Required, MaxLength(32)]
+    public virtual string Account { get; set; }
+
+    /// <summary>
+    /// 瀵嗙爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瀵嗙爜", Length = 512)]
+    [MaxLength(512)]
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    public virtual string Password { get; set; }
+
+    /// <summary>
+    /// 鐪熷疄濮撳悕
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐪熷疄濮撳悕", Length = 32)]
+    [MaxLength(32)]
+    public virtual string RealName { get; set; }
+
+    /// <summary>
+    /// 鏄电О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄电О", Length = 32)]
+    [MaxLength(32)]
+    public string? NickName { get; set; }
+
+    /// <summary>
+    /// 澶村儚
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶村儚", Length = 512)]
+    [MaxLength(512)]
+    public string? Avatar { get; set; }
+
+    /// <summary>
+    /// 鎬у埆-鐢穇1銆佸コ_2
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎬у埆")]
+    public GenderEnum Sex { get; set; } = GenderEnum.Male;
+
+    /// <summary>
+    /// 骞撮緞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "骞撮緞")]
+    public int Age { get; set; }
+
+    /// <summary>
+    /// 鍑虹敓鏃ユ湡
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍑虹敓鏃ユ湡")]
+    public DateTime? Birthday { get; set; }
+
+    /// <summary>
+    /// 姘戞棌
+    /// </summary>
+    [SugarColumn(ColumnDescription = "姘戞棌", Length = 32)]
+    [MaxLength(32)]
+    public string? Nation { get; set; }
+
+    /// <summary>
+    /// 鎵嬫満鍙风爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎵嬫満鍙风爜", Length = 16)]
+    [MaxLength(16)]
+    public string? Phone { get; set; }
+
+    /// <summary>
+    /// 璇佷欢绫诲瀷
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璇佷欢绫诲瀷")]
+    public CardTypeEnum CardType { get; set; }
+
+    /// <summary>
+    /// 韬唤璇佸彿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "韬唤璇佸彿", Length = 32)]
+    [MaxLength(32)]
+    public string? IdCardNum { get; set; }
+
+    /// <summary>
+    /// 閭
+    /// </summary>
+    [SugarColumn(ColumnDescription = "閭", Length = 64)]
+    [MaxLength(64)]
+    public string? Email { get; set; }
+
+    /// <summary>
+    /// 鍦板潃
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍦板潃", Length = 256)]
+    [MaxLength(256)]
+    public string? Address { get; set; }
+
+    /// <summary>
+    /// 鏂囧寲绋嬪害
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏂囧寲绋嬪害")]
+    public CultureLevelEnum CultureLevel { get; set; }
+
+    /// <summary>
+    /// 鏀挎不闈㈣矊
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏀挎不闈㈣矊", Length = 16)]
+    [MaxLength(16)]
+    public string? PoliticalOutlook { get; set; }
+
+    /// <summary>
+    /// 姣曚笟闄㈡牎
+    /// </summary>COLLEGE
+    [SugarColumn(ColumnDescription = "姣曚笟闄㈡牎", Length = 128)]
+    [MaxLength(128)]
+    public string? College { get; set; }
+
+    /// <summary>
+    /// 鍔炲叕鐢佃瘽
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍔炲叕鐢佃瘽", Length = 16)]
+    [MaxLength(16)]
+    public string? OfficePhone { get; set; }
+
+    /// <summary>
+    /// 绱ф�ヨ仈绯讳汉
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绱ф�ヨ仈绯讳汉", Length = 32)]
+    [MaxLength(32)]
+    public string? EmergencyContact { get; set; }
+
+    /// <summary>
+    /// 绱ф�ヨ仈绯讳汉鐢佃瘽
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绱ф�ヨ仈绯讳汉鐢佃瘽", Length = 16)]
+    [MaxLength(16)]
+    public string? EmergencyPhone { get; set; }
+
+    /// <summary>
+    /// 绱ф�ヨ仈绯讳汉鍦板潃
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绱ф�ヨ仈绯讳汉鍦板潃", Length = 256)]
+    [MaxLength(256)]
+    public string? EmergencyAddress { get; set; }
+
+    /// <summary>
+    /// 涓汉绠�浠�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "涓汉绠�浠�", Length = 512)]
+    [MaxLength(512)]
+    public string? Introduction { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎺掑簭")]
+    public int OrderNo { get; set; } = 100;
+
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐘舵��")]
+    public StatusEnum Status { get; set; } = StatusEnum.Enable;
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶囨敞", Length = 256)]
+    [MaxLength(256)]
+    public string? Remark { get; set; }
+
+    /// <summary>
+    /// 璐﹀彿绫诲瀷
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璐﹀彿绫诲瀷")]
+    public AccountTypeEnum AccountType { get; set; } = AccountTypeEnum.NormalUser;
+
+    /// <summary>
+    /// 鐩村睘鏈烘瀯Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐩村睘鏈烘瀯Id")]
+    public long OrgId { get; set; }
+
+    /// <summary>
+    /// 鐩村睘鏈烘瀯
+    /// </summary>
+    [Navigate(NavigateType.OneToOne, nameof(OrgId))]
+    public SysOrg SysOrg { get; set; }
+
+    /// <summary>
+    /// 鐩村睘涓荤Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐩村睘涓荤Id")]
+    public long? ManagerUserId { get; set; }
+
+    /// <summary>
+    /// 鐩村睘涓荤
+    /// </summary>
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    [Navigate(NavigateType.OneToOne, nameof(ManagerUserId))]
+    public SysUser ManagerUser { get; set; }
+
+    /// <summary>
+    /// 鑱屼綅Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鑱屼綅Id")]
+    public long PosId { get; set; }
+
+    /// <summary>
+    /// 鑱屼綅
+    /// </summary>
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    [Navigate(NavigateType.OneToOne, nameof(PosId))]
+    public SysPos SysPos { get; set; }
+
+    /// <summary>
+    /// 宸ュ彿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "宸ュ彿", Length = 32)]
+    [MaxLength(32)]
+    public string? JobNum { get; set; }
+
+    /// <summary>
+    /// 鑱岀骇
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鑱岀骇", Length = 32)]
+    [MaxLength(32)]
+    public string? PosLevel { get; set; }
+
+    /// <summary>
+    /// 鑱岀О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鑱岀О", Length = 32)]
+    [MaxLength(32)]
+    public string? PosTitle { get; set; }
+
+    /// <summary>
+    /// 鎿呴暱棰嗗煙
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎿呴暱棰嗗煙", Length = 32)]
+    [MaxLength(32)]
+    public string? Expertise { get; set; }
+
+    /// <summary>
+    /// 鍔炲叕鍖哄煙
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍔炲叕鍖哄煙", Length = 32)]
+    [MaxLength(32)]
+    public string? OfficeZone { get; set; }
+
+    /// <summary>
+    /// 鍔炲叕瀹�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍔炲叕瀹�", Length = 32)]
+    [MaxLength(32)]
+    public string? Office { get; set; }
+
+    /// <summary>
+    /// 鍏ヨ亴鏃ユ湡
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍏ヨ亴鏃ユ湡")]
+    public DateTime? JoinDate { get; set; }
+
+    /// <summary>
+    /// 鏈�鏂扮櫥褰旾p
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏈�鏂扮櫥褰旾p", Length = 256)]
+    [MaxLength(256)]
+    public string? LastLoginIp { get; set; }
+
+    /// <summary>
+    /// 鏈�鏂扮櫥褰曞湴鐐�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏈�鏂扮櫥褰曞湴鐐�", Length = 128)]
+    [MaxLength(128)]
+    public string? LastLoginAddress { get; set; }
+
+    /// <summary>
+    /// 鏈�鏂扮櫥褰曟椂闂�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏈�鏂扮櫥褰曟椂闂�")]
+    public DateTime? LastLoginTime { get; set; }
+
+    /// <summary>
+    /// 鏈�鏂扮櫥褰曡澶�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏈�鏂扮櫥褰曡澶�", Length = 128)]
+    [MaxLength(128)]
+    public string? LastLoginDevice { get; set; }
+
+    /// <summary>
+    /// 鐢靛瓙绛惧悕
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐢靛瓙绛惧悕", Length = 512)]
+    [MaxLength(512)]
+    public string? Signature { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysUserExtOrg.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysUserExtOrg.cs
new file mode 100644
index 0000000..cc8c3cb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysUserExtOrg.cs
@@ -0,0 +1,77 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鐢ㄦ埛鎵╁睍鏈烘瀯琛�
+/// </summary>
+[SugarTable(null, "绯荤粺鐢ㄦ埛鎵╁睍鏈烘瀯琛�")]
+[SysTable]
+public partial class SysUserExtOrg : EntityBaseId
+{
+    /// <summary>
+    /// 鐢ㄦ埛Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐢ㄦ埛Id")]
+    public long UserId { get; set; }
+
+    /// <summary>
+    /// 鐢ㄦ埛
+    /// </summary>
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    [Navigate(NavigateType.OneToOne, nameof(UserId))]
+    public SysUser SysUser { get; set; }
+
+    /// <summary>
+    /// 鏈烘瀯Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏈烘瀯Id")]
+    public long OrgId { get; set; }
+
+    /// <summary>
+    /// 鏈烘瀯
+    /// </summary>
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    [Navigate(NavigateType.OneToOne, nameof(OrgId))]
+    public SysOrg SysOrg { get; set; }
+
+    /// <summary>
+    /// 鑱屼綅Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鑱屼綅Id")]
+    public long PosId { get; set; }
+
+    /// <summary>
+    /// 鑱屼綅
+    /// </summary>
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    [Navigate(NavigateType.OneToOne, nameof(PosId))]
+    public SysPos SysPos { get; set; }
+
+    /// <summary>
+    /// 宸ュ彿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "宸ュ彿", Length = 32)]
+    [MaxLength(32)]
+    public string? JobNum { get; set; }
+
+    /// <summary>
+    /// 鑱岀骇
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鑱岀骇", Length = 32)]
+    [MaxLength(32)]
+    public string? PosLevel { get; set; }
+
+    /// <summary>
+    /// 鍏ヨ亴鏃ユ湡
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍏ヨ亴鏃ユ湡")]
+    public DateTime? JoinDate { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysUserLdap.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysUserLdap.cs
new file mode 100644
index 0000000..f2e0b74
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysUserLdap.cs
@@ -0,0 +1,44 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鐢ㄦ埛鍩熼厤缃〃
+/// </summary>
+[SugarTable(null, "绯荤粺鐢ㄦ埛鍩熼厤缃〃")]
+[SysTable]
+[SugarIndex("index_{table}_A", nameof(Account), OrderByType.Asc)]
+[SugarIndex("index_{table}_U", nameof(UserId), OrderByType.Asc)]
+public class SysUserLdap : EntityTenant
+{
+    /// <summary>
+    /// 鐢ㄦ埛Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐢ㄦ埛Id")]
+    public long UserId { get; set; }
+
+    /// <summary>
+    /// 鍩熻处鍙�
+    /// AD鍩熷搴攕AMAccountName
+    /// Ldap瀵瑰簲uid
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍩熻处鍙�", Length = 32)]
+    [Required]
+    public string Account { get; set; }
+
+    /// <summary>
+    /// 瀵瑰簲EmployeeId(鐢ㄤ簬鏁版嵁瀵煎叆瀵圭収)
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瀵瑰簲EmployeeId", Length = 32)]
+    public string? EmployeeId { get; set; }
+
+    /// <summary>
+    /// 缁勭粐浠g爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缁勭粐浠g爜", Length = 64)]
+    public string? DeptCode { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysUserRole.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysUserRole.cs
new file mode 100644
index 0000000..8d5cff1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysUserRole.cs
@@ -0,0 +1,41 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鐢ㄦ埛瑙掕壊琛�
+/// </summary>
+[SugarTable(null, "绯荤粺鐢ㄦ埛瑙掕壊琛�")]
+[SysTable]
+public class SysUserRole : EntityBaseId
+{
+    /// <summary>
+    /// 鐢ㄦ埛Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐢ㄦ埛Id")]
+    public long UserId { get; set; }
+
+    /// <summary>
+    /// 鐢ㄦ埛
+    /// </summary>
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    [Navigate(NavigateType.OneToOne, nameof(UserId))]
+    public SysUser SysUser { get; set; }
+
+    /// <summary>
+    /// 瑙掕壊Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瑙掕壊Id")]
+    public long RoleId { get; set; }
+
+    /// <summary>
+    /// 瑙掕壊
+    /// </summary>
+    [Navigate(NavigateType.OneToOne, nameof(RoleId))]
+    public SysRole SysRole { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysWechatPay.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysWechatPay.cs
new file mode 100644
index 0000000..f02a978
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysWechatPay.cs
@@ -0,0 +1,165 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺寰俊鏀粯琛�
+/// </summary>
+[SugarTable(null, "绯荤粺寰俊鏀粯琛�")]
+[SysTable]
+public partial class SysWechatPay : EntityBase
+{
+    /// <summary>
+    /// 寰俊鍟嗘埛鍙�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "寰俊鍟嗘埛鍙�")]
+    [Required]
+    public virtual string MerchantId { get; set; }
+
+    /// <summary>
+    /// 鏈嶅姟鍟咥ppId
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏈嶅姟鍟咥ppId")]
+    [Required]
+    public virtual string AppId { get; set; }
+
+    /// <summary>
+    /// 鍟嗘埛璁㈠崟鍙�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍟嗘埛璁㈠崟鍙�")]
+    [Required]
+    public virtual string OutTradeNumber { get; set; }
+
+    /// <summary>
+    /// 鏀粯璁㈠崟鍙�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏀粯璁㈠崟鍙�")]
+    [Required]
+    public virtual string TransactionId { get; set; }
+
+    /// <summary>
+    /// 浜ゆ槗绫诲瀷
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浜ゆ槗绫诲瀷")]
+    public string? TradeType { get; set; }
+
+    /// <summary>
+    /// 浜ゆ槗鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浜ゆ槗鐘舵��")]
+    public string? TradeState { get; set; }
+
+    /// <summary>
+    /// 浜ゆ槗鐘舵�佹弿杩�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浜ゆ槗鐘舵�佹弿杩�")]
+    public string? TradeStateDescription { get; set; }
+
+    /// <summary>
+    /// 浠樻閾惰绫诲瀷
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浠樻閾惰绫诲瀷")]
+    public string? BankType { get; set; }
+
+    /// <summary>
+    /// 璁㈠崟鎬婚噾棰�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璁㈠崟鎬婚噾棰�")]
+    public int Total { get; set; }
+
+    /// <summary>
+    /// 鐢ㄦ埛鏀粯閲戦
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐢ㄦ埛鏀粯閲戦")]
+    public int? PayerTotal { get; set; }
+
+    /// <summary>
+    /// 鏀粯瀹屾垚鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏀粯瀹屾垚鏃堕棿")]
+    public DateTimeOffset? SuccessTime { get; set; }
+
+    /// <summary>
+    /// 浜ゆ槗缁撴潫鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浜ゆ槗缁撴潫鏃堕棿")]
+    public DateTimeOffset? ExpireTime { get; set; }
+
+    /// <summary>
+    /// 鍟嗗搧鎻忚堪
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍟嗗搧鎻忚堪")]
+    public string? Description { get; set; }
+
+    /// <summary>
+    /// 鍦烘櫙淇℃伅
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍦烘櫙淇℃伅")]
+    public string? Scene { get; set; }
+
+    /// <summary>
+    /// 闄勫姞鏁版嵁
+    /// </summary>
+    [SugarColumn(ColumnDescription = "闄勫姞鏁版嵁")]
+    public string? Attachment { get; set; }
+
+    /// <summary>
+    /// 浼樻儬鏍囪
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浼樻儬鏍囪")]
+    public string? GoodsTag { get; set; }
+
+    /// <summary>
+    /// 缁撶畻淇℃伅
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缁撶畻淇℃伅")]
+    public string? Settlement { get; set; }
+
+    /// <summary>
+    /// 鍥炶皟閫氱煡鍦板潃
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍥炶皟閫氱煡鍦板潃")]
+    public string? NotifyUrl { get; set; }
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶囨敞")]
+    public string? Remark { get; set; }
+
+    /// <summary>
+    /// 寰俊OpenId鏍囪瘑
+    /// </summary>
+    [SugarColumn(ColumnDescription = "寰俊OpenId鏍囪瘑")]
+    public string? OpenId { get; set; }
+
+    /// <summary>
+    /// 鍏宠仈寰俊鐢ㄦ埛
+    /// </summary>
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    [Navigate(NavigateType.OneToOne, nameof(OpenId))]
+    public SysWechatUser SysWechatUser { get; set; }
+
+    /// <summary>
+    /// 瀛愬晢鎴峰彿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瀛愬晢鎴峰彿")]
+    public string? SubMerchantId { get; set; }
+
+    /// <summary>
+    /// 瀛愬晢鎴稟ppId
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍥炶皟閫氱煡鍦板潃")]
+    public string? SubAppId { get; set; }
+
+    /// <summary>
+    /// 瀛愬晢鎴峰敮涓�鏍囪瘑
+    /// </summary>
+    [SugarColumn(ColumnDescription = "瀛愬晢鎴峰敮涓�鏍囪瘑")]
+    public string? SubOpenId { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysWechatUser.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysWechatUser.cs
new file mode 100644
index 0000000..8aa2e58
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Entity/SysWechatUser.cs
@@ -0,0 +1,138 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺寰俊鐢ㄦ埛琛�
+/// </summary>
+[SugarTable(null, "绯荤粺寰俊鐢ㄦ埛琛�")]
+[SysTable]
+[SugarIndex("index_{table}_N", nameof(NickName), OrderByType.Asc)]
+[SugarIndex("index_{table}_M", nameof(Mobile), OrderByType.Asc)]
+public partial class SysWechatUser : EntityBase
+{
+    /// <summary>
+    /// 绯荤粺鐢ㄦ埛Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绯荤粺鐢ㄦ埛Id")]
+    public long UserId { get; set; }
+
+    /// <summary>
+    /// 绯荤粺鐢ㄦ埛
+    /// </summary>
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    [Navigate(NavigateType.OneToOne, nameof(UserId))]
+    public SysUser SysUser { get; set; }
+
+    /// <summary>
+    /// 骞冲彴绫诲瀷
+    /// </summary>
+    [SugarColumn(ColumnDescription = "骞冲彴绫诲瀷")]
+    public PlatformTypeEnum PlatformType { get; set; } = PlatformTypeEnum.寰俊鍏紬鍙�;
+
+    /// <summary>
+    /// OpenId
+    /// </summary>
+    [SugarColumn(ColumnDescription = "OpenId", Length = 64)]
+    [Required, MaxLength(64)]
+    public virtual string OpenId { get; set; }
+
+    /// <summary>
+    /// 浼氳瘽瀵嗛挜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浼氳瘽瀵嗛挜", Length = 256)]
+    [MaxLength(256)]
+    public string? SessionKey { get; set; }
+
+    /// <summary>
+    /// UnionId
+    /// </summary>
+    [SugarColumn(ColumnDescription = "UnionId", Length = 64)]
+    [MaxLength(64)]
+    public string? UnionId { get; set; }
+
+    /// <summary>
+    /// 鏄电О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄电О", Length = 64)]
+    [MaxLength(64)]
+    public string? NickName { get; set; }
+
+    /// <summary>
+    /// 澶村儚
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶村儚", Length = 256)]
+    [MaxLength(256)]
+    public string? Avatar { get; set; }
+
+    /// <summary>
+    /// 鎵嬫満鍙风爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎵嬫満鍙风爜", Length = 16)]
+    [MaxLength(16)]
+    public string? Mobile { get; set; }
+
+    /// <summary>
+    /// 鎬у埆
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎬у埆")]
+    public int? Sex { get; set; }
+
+    /// <summary>
+    /// 璇█
+    /// </summary>
+    [SugarColumn(ColumnDescription = "璇█", Length = 64)]
+    [MaxLength(64)]
+    public string? Language { get; set; }
+
+    /// <summary>
+    /// 鍩庡競
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍩庡競", Length = 64)]
+    [MaxLength(64)]
+    public string? City { get; set; }
+
+    /// <summary>
+    /// 鐪�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐪�", Length = 64)]
+    [MaxLength(64)]
+    public string? Province { get; set; }
+
+    /// <summary>
+    /// 鍥藉
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍥藉", Length = 64)]
+    [MaxLength(64)]
+    public string? Country { get; set; }
+
+    /// <summary>
+    /// AccessToken
+    /// </summary>
+    [SugarColumn(ColumnDescription = "AccessToken", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? AccessToken { get; set; }
+
+    /// <summary>
+    /// RefreshToken
+    /// </summary>
+    [SugarColumn(ColumnDescription = "RefreshToken", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? RefreshToken { get; set; }
+
+    /// <summary>
+    /// 杩囨湡鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "ExpiresIn")]
+    public int? ExpiresIn { get; set; }
+
+    /// <summary>
+    /// 鐢ㄦ埛鎺堟潈鐨勪綔鐢ㄥ煙锛屼娇鐢ㄩ�楀彿鍒嗛殧
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎺堟潈浣滅敤鍩�", Length = 64)]
+    [MaxLength(64)]
+    public string? Scope { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/AccountTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/AccountTypeEnum.cs
new file mode 100644
index 0000000..bedbec6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/AccountTypeEnum.cs
@@ -0,0 +1,38 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 璐﹀彿绫诲瀷鏋氫妇
+/// </summary>
+[Description("璐﹀彿绫诲瀷鏋氫妇")]
+public enum AccountTypeEnum
+{
+    /// <summary>
+    /// 瓒呯骇绠$悊鍛�
+    /// </summary>
+    [Description("瓒呯骇绠$悊鍛�")]
+    SuperAdmin = 999,
+
+    /// <summary>
+    /// 绯荤粺绠$悊鍛�
+    /// </summary>
+    [Description("绯荤粺绠$悊鍛�")]
+    SysAdmin = 888,
+
+    /// <summary>
+    /// 鏅�氳处鍙�
+    /// </summary>
+    [Description("鏅�氳处鍙�")]
+    NormalUser = 777,
+
+    /// <summary>
+    /// 浼氬憳
+    /// </summary>
+    [Description("浼氬憳")]
+    Member = 666,
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/CacheTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/CacheTypeEnum.cs
new file mode 100644
index 0000000..e6832ed
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/CacheTypeEnum.cs
@@ -0,0 +1,26 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 缂撳瓨绫诲瀷鏋氫妇
+/// </summary>
+[Description("缂撳瓨绫诲瀷鏋氫妇")]
+public enum CacheTypeEnum
+{
+    /// <summary>
+    /// 鍐呭瓨缂撳瓨
+    /// </summary>
+    [Description("鍐呭瓨缂撳瓨")]
+    Memory,
+
+    /// <summary>
+    /// Redis缂撳瓨
+    /// </summary>
+    [Description("Redis缂撳瓨")]
+    Redis
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/CardTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/CardTypeEnum.cs
new file mode 100644
index 0000000..774359b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/CardTypeEnum.cs
@@ -0,0 +1,50 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 璇佷欢绫诲瀷鏋氫妇
+/// </summary>
+[Description("璇佷欢绫诲瀷鏋氫妇")]
+public enum CardTypeEnum
+{
+    /// <summary>
+    /// 韬唤璇�
+    /// </summary>
+    [Description("韬唤璇�")]
+    IdCard = 0,
+
+    /// <summary>
+    /// 鎶ょ収
+    /// </summary>
+    [Description("鎶ょ収")]
+    PassportCard = 1,
+
+    /// <summary>
+    /// 鍑虹敓璇�
+    /// </summary>
+    [Description("鍑虹敓璇�")]
+    BirthCard = 2,
+
+    /// <summary>
+    /// 娓境鍙伴�氳璇�
+    /// </summary>
+    [Description("娓境鍙伴�氳璇�")]
+    GatCard = 3,
+
+    /// <summary>
+    /// 澶栧浗浜哄眳鐣欒瘉
+    /// </summary>
+    [Description("澶栧浗浜哄眳鐣欒瘉")]
+    ForeignCard = 4,
+
+    /// <summary>
+    /// 钀ヤ笟鎵х収
+    /// </summary>
+    [Description("钀ヤ笟鎵х収")]
+    License = 5,
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/ColorEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/ColorEnum.cs
new file mode 100644
index 0000000..cb9d790
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/ColorEnum.cs
@@ -0,0 +1,58 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 閫氱敤鐘舵�佹灇涓�
+/// </summary>
+[Description("棰滆壊鏋氫妇")]
+public enum ColorEnum
+{
+    /// <summary>
+    /// 绾�
+    /// </summary>
+    [Description("绾�")]
+    绾� = 1,
+
+    /// <summary>
+    /// 姗�
+    /// </summary>
+    [Description("姗�")]
+    姗� = 2,
+
+    /// <summary>
+    /// 榛�
+    /// </summary>
+    [Description("榛�")]
+    榛� = 3,
+
+    /// <summary>
+    /// 缁�
+    /// </summary>
+    [Description("缁�")]
+    缁� = 4,
+
+    /// <summary>
+    /// 闈�
+    /// </summary>
+    [Description("闈�")]
+    闈� = 5,
+
+    /// <summary>
+    /// 钃�
+    /// </summary>
+    [Description("钃�")]
+    钃� = 6,
+
+
+    /// <summary>
+    /// 绱�
+    /// </summary>
+    [Description("绱�")]
+    绱� = 7,
+
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/CryptogramEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/CryptogramEnum.cs
new file mode 100644
index 0000000..e259bea
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/CryptogramEnum.cs
@@ -0,0 +1,32 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 瀵嗙爜鍔犲瘑鏋氫妇
+/// </summary>
+[Description("瀵嗙爜鍔犲瘑鏋氫妇")]
+public enum CryptogramEnum
+{
+    /// <summary>
+    /// MD5
+    /// </summary>
+    [Description("MD5")]
+    MD5 = 0,
+
+    /// <summary>
+    /// SM2锛堝浗瀵嗭級
+    /// </summary>
+    [Description("SM2")]
+    SM2 = 1,
+
+    /// <summary>
+    /// SM4锛堝浗瀵嗭級
+    /// </summary>
+    [Description("SM4")]
+    SM4 = 2
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/CultureLevelEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/CultureLevelEnum.cs
new file mode 100644
index 0000000..56b325e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/CultureLevelEnum.cs
@@ -0,0 +1,92 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鏂囧寲绋嬪害鏋氫妇
+/// </summary>
+[Description("鏂囧寲绋嬪害鏋氫妇")]
+public enum CultureLevelEnum
+{
+    /// <summary>
+    /// 鍏朵粬
+    /// </summary>
+    [Description("鍏朵粬")]
+    Level0 = 0,
+
+    /// <summary>
+    /// 鏂囩洸
+    /// </summary>
+    [Description("鏂囩洸")]
+    Level1 = 1,
+
+    /// <summary>
+    /// 灏忓
+    /// </summary>
+    [Description("灏忓")]
+    Level2 = 2,
+
+    /// <summary>
+    /// 鍒濅腑
+    /// </summary>
+    [Description("鍒濅腑")]
+    Level3 = 3,
+
+    /// <summary>
+    /// 鏅�氶珮涓�
+    /// </summary>
+    [Description("鏅�氶珮涓�")]
+    Level4 = 4,
+
+    /// <summary>
+    /// 鎶�宸ュ鏍�
+    /// </summary>
+    [Description("鎶�宸ュ鏍�")]
+    Level5 = 5,
+
+    /// <summary>
+    /// 鑱屼笟鏁欒偛
+    /// </summary>
+    [Description("鑱屼笟鏁欒偛")]
+    Level6 = 6,
+
+    /// <summary>
+    /// 鑱屼笟楂樹腑
+    /// </summary>
+    [Description("鑱屼笟楂樹腑")]
+    Level7 = 7,
+
+    /// <summary>
+    /// 涓瓑涓撶
+    /// </summary>
+    [Description("涓瓑涓撶")]
+    Level8 = 8,
+
+    /// <summary>
+    /// 澶у涓撶
+    /// </summary>
+    [Description("澶у涓撶")]
+    Level9 = 9,
+
+    /// <summary>
+    /// 澶у鏈
+    /// </summary>
+    [Description("澶у鏈")]
+    Level10 = 10,
+
+    /// <summary>
+    /// 纭曞+鐮旂┒鐢�
+    /// </summary>
+    [Description("纭曞+鐮旂┒鐢�")]
+    Level11 = 11,
+
+    /// <summary>
+    /// 鍗氬+鐮旂┒鐢�
+    /// </summary>
+    [Description("鍗氬+鐮旂┒鐢�")]
+    Level12 = 12,
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/DataOpTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/DataOpTypeEnum.cs
new file mode 100644
index 0000000..f4c04ea
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/DataOpTypeEnum.cs
@@ -0,0 +1,92 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鏁版嵁鎿嶄綔绫诲瀷鏋氫妇
+/// </summary>
+[Description("鏁版嵁鎿嶄綔绫诲瀷鏋氫妇")]
+public enum DataOpTypeEnum
+{
+    /// <summary>
+    /// 鍏跺畠
+    /// </summary>
+    [Description("鍏跺畠")]
+    Other,
+
+    /// <summary>
+    /// 澧炲姞
+    /// </summary>
+    [Description("澧炲姞")]
+    Add,
+
+    /// <summary>
+    /// 鍒犻櫎
+    /// </summary>
+    [Description("鍒犻櫎")]
+    Delete,
+
+    /// <summary>
+    /// 缂栬緫
+    /// </summary>
+    [Description("缂栬緫")]
+    Edit,
+
+    /// <summary>
+    /// 鏇存柊
+    /// </summary>
+    [Description("鏇存柊")]
+    Update,
+
+    /// <summary>
+    /// 鏌ヨ
+    /// </summary>
+    [Description("鏌ヨ")]
+    Query,
+
+    /// <summary>
+    /// 璇︽儏
+    /// </summary>
+    [Description("璇︽儏")]
+    Detail,
+
+    /// <summary>
+    /// 鏍�
+    /// </summary>
+    [Description("鏍�")]
+    Tree,
+
+    /// <summary>
+    /// 瀵煎叆
+    /// </summary>
+    [Description("瀵煎叆")]
+    Import,
+
+    /// <summary>
+    /// 瀵煎嚭
+    /// </summary>
+    [Description("瀵煎嚭")]
+    Export,
+
+    /// <summary>
+    /// 鎺堟潈
+    /// </summary>
+    [Description("鎺堟潈")]
+    Grant,
+
+    /// <summary>
+    /// 寮洪��
+    /// </summary>
+    [Description("寮洪��")]
+    Force,
+
+    /// <summary>
+    /// 娓呯┖
+    /// </summary>
+    [Description("娓呯┖")]
+    Clean
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/DataScopeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/DataScopeEnum.cs
new file mode 100644
index 0000000..d6fc8bd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/DataScopeEnum.cs
@@ -0,0 +1,44 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 瑙掕壊鏁版嵁鑼冨洿鏋氫妇
+/// </summary>
+[Description("瑙掕壊鏁版嵁鑼冨洿鏋氫妇")]
+public enum DataScopeEnum
+{
+    /// <summary>
+    /// 鍏ㄩ儴鏁版嵁
+    /// </summary>
+    [Description("鍏ㄩ儴鏁版嵁")]
+    All = 1,
+
+    /// <summary>
+    /// 鏈儴闂ㄥ強浠ヤ笅鏁版嵁
+    /// </summary>
+    [Description("鏈儴闂ㄥ強浠ヤ笅鏁版嵁")]
+    DeptChild = 2,
+
+    /// <summary>
+    /// 鏈儴闂ㄦ暟鎹�
+    /// </summary>
+    [Description("鏈儴闂ㄦ暟鎹�")]
+    Dept = 3,
+
+    /// <summary>
+    /// 浠呮湰浜烘暟鎹�
+    /// </summary>
+    [Description("浠呮湰浜烘暟鎹�")]
+    Self = 4,
+
+    /// <summary>
+    /// 鑷畾涔夋暟鎹�
+    /// </summary>
+    [Description("鑷畾涔夋暟鎹�")]
+    Define = 5
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/ElasticSearchAuthTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/ElasticSearchAuthTypeEnum.cs
new file mode 100644
index 0000000..60f290f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/ElasticSearchAuthTypeEnum.cs
@@ -0,0 +1,33 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// ES璁よ瘉绫诲瀷鏋氫妇
+/// <para>https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/_options_on_elasticsearchclientsettings.html</para>
+/// </summary>
+[Description("ES璁よ瘉绫诲瀷鏋氫妇")]
+public enum ElasticSearchAuthTypeEnum
+{
+    /// <summary>
+    /// BasicAuthentication
+    /// </summary>
+    [Description("BasicAuthentication")]
+    Basic = 1,
+
+    /// <summary>
+    /// ApiKey
+    /// </summary>
+    [Description("ApiKey")]
+    ApiKey = 2,
+
+    /// <summary>
+    /// Base64ApiKey
+    /// </summary>
+    [Description("Base64ApiKey")]
+    Base64ApiKey = 3
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/ErrorCodeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/ErrorCodeEnum.cs
new file mode 100644
index 0000000..8a8f031
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/ErrorCodeEnum.cs
@@ -0,0 +1,712 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺閿欒鐮�
+/// </summary>
+[ErrorCodeType]
+[Description("绯荤粺閿欒鐮�")]
+public enum ErrorCodeEnum
+{
+    /// <summary>
+    /// 楠岃瘉鐮侀敊璇�
+    /// </summary>
+    [ErrorCodeItemMetadata("楠岃瘉鐮侀敊璇�")]
+    D0008,
+
+    /// <summary>
+    /// 璐﹀彿涓嶅瓨鍦�
+    /// </summary>
+    [ErrorCodeItemMetadata("璐﹀彿涓嶅瓨鍦�")]
+    D0009,
+
+    /// <summary>
+    /// 瀵嗗寵涓嶅尮閰�
+    /// </summary>
+    [ErrorCodeItemMetadata("瀵嗗寵涓嶅尮閰�")]
+    D0010,
+
+    /// <summary>
+    /// 瀵嗙爜涓嶆纭�
+    /// </summary>
+    [ErrorCodeItemMetadata("瀵嗙爜涓嶆纭�")]
+    D1000,
+
+    /// <summary>
+    /// 闈炴硶鎿嶄綔锛佺姝㈠垹闄よ嚜宸�
+    /// </summary>
+    [ErrorCodeItemMetadata("闈炴硶鎿嶄綔锛岀姝㈠垹闄よ嚜宸�")]
+    D1001,
+
+    /// <summary>
+    /// 璁板綍涓嶅瓨鍦�
+    /// </summary>
+    [ErrorCodeItemMetadata("璁板綍涓嶅瓨鍦�")]
+    D1002,
+
+    /// <summary>
+    /// 璐﹀彿宸插瓨鍦�
+    /// </summary>
+    [ErrorCodeItemMetadata("璐﹀彿宸插瓨鍦�")]
+    D1003,
+
+    /// <summary>
+    /// 鏃у瘑鐮佷笉鍖归厤
+    /// </summary>
+    [ErrorCodeItemMetadata("鏃у瘑鐮佽緭鍏ラ敊璇�")]
+    D1004,
+
+    /// <summary>
+    /// 娴嬭瘯鏁版嵁绂佹鏇存敼admin瀵嗙爜
+    /// </summary>
+    [ErrorCodeItemMetadata("娴嬭瘯鏁版嵁绂佹鏇存敼鐢ㄦ埛銆恆dmin銆戝瘑鐮�")]
+    D1005,
+
+    /// <summary>
+    /// 鏁版嵁宸插瓨鍦� 
+    /// </summary>
+    [ErrorCodeItemMetadata("鏁版嵁宸插瓨鍦�")]
+    D1006,
+
+    /// <summary>
+    /// 鏁版嵁涓嶅瓨鍦ㄦ垨鍚湁鍏宠仈寮曠敤锛岀姝㈠垹闄�
+    /// </summary>
+    [ErrorCodeItemMetadata("鏁版嵁涓嶅瓨鍦ㄦ垨鍚湁鍏宠仈寮曠敤锛岀姝㈠垹闄�")]
+    D1007,
+
+    /// <summary>
+    /// 绂佹涓虹鐞嗗憳鍒嗛厤瑙掕壊
+    /// </summary>
+    [ErrorCodeItemMetadata("绂佹涓虹鐞嗗憳鍒嗛厤瑙掕壊")]
+    D1008,
+
+    /// <summary>
+    /// 閲嶅鏁版嵁鎴栬褰曞惈鏈変笉瀛樺湪鏁版嵁
+    /// </summary>
+    [ErrorCodeItemMetadata("閲嶅鏁版嵁鎴栬褰曞惈鏈変笉瀛樺湪鏁版嵁")]
+    D1009,
+
+    /// <summary>
+    /// 绂佹涓鸿秴绾х鐞嗗憳瑙掕壊鍒嗛厤鏉冮檺
+    /// </summary>
+    [ErrorCodeItemMetadata("绂佹涓鸿秴绾х鐞嗗憳瑙掕壊鍒嗛厤鏉冮檺")]
+    D1010,
+
+    /// <summary>
+    /// 闈炴硶鎿嶄綔锛屾湭鐧诲綍
+    /// </summary>
+    [ErrorCodeItemMetadata("闈炴硶鎿嶄綔锛屾湭鐧诲綍")]
+    D1011,
+
+    /// <summary>
+    /// Id涓嶈兘涓虹┖
+    /// </summary>
+    [ErrorCodeItemMetadata("Id涓嶈兘涓虹┖")]
+    D1012,
+
+    /// <summary>
+    /// 鎵�灞炴満鏋勪笉鍦ㄨ嚜宸辩殑鏁版嵁鑼冨洿鍐�
+    /// </summary>
+    [ErrorCodeItemMetadata("娌℃湁鏉冮檺鎿嶄綔璇ユ暟鎹�")]
+    D1013,
+
+    /// <summary>
+    /// 绂佹鍒犻櫎瓒呯骇绠$悊鍛�
+    /// </summary>
+    [ErrorCodeItemMetadata("绂佹鍒犻櫎瓒呯骇绠$悊鍛�")]
+    D1014,
+
+    /// <summary>
+    /// 绂佹淇敼瓒呯骇绠$悊鍛樼姸鎬�
+    /// </summary>
+    [ErrorCodeItemMetadata("绂佹淇敼瓒呯骇绠$悊鍛樼姸鎬�")]
+    D1015,
+
+    /// <summary>
+    /// 娌℃湁鏉冮檺
+    /// </summary>
+    [ErrorCodeItemMetadata("娌℃湁鏉冮檺")]
+    D1016,
+
+    /// <summary>
+    /// 璐﹀彿宸插喕缁�
+    /// </summary>
+    [ErrorCodeItemMetadata("璐﹀彿宸插喕缁�")]
+    D1017,
+
+    /// <summary>
+    /// 绂佹鍒犻櫎绠$悊鍛�
+    /// </summary>
+    [ErrorCodeItemMetadata("绂佹鍒犻櫎绠$悊鍛�")]
+    D1018,
+
+    /// <summary>
+    /// 绂佹鍒犻櫎绯荤粺绠$悊鍛樿鑹�
+    /// </summary>
+    [ErrorCodeItemMetadata("绂佹鍒犻櫎绯荤粺绠$悊鍛樿鑹�")]
+    D1019,
+
+    /// <summary>
+    /// 绂佹淇敼绯荤粺绠$悊鍛樿鑹�
+    /// </summary>
+    [ErrorCodeItemMetadata("绂佹淇敼绯荤粺绠$悊鍛樿鑹�")]
+    D1020,
+
+    /// <summary>
+    /// 绂佹涓虹郴缁熺鐞嗗憳瑙掕壊鍒嗛厤鏉冮檺
+    /// </summary>
+    [ErrorCodeItemMetadata("绂佹涓虹郴缁熺鐞嗗憳瑙掕壊鍒嗛厤鏉冮檺")]
+    D1021,
+
+    /// <summary>
+    /// 绂佹涓鸿秴绾х鐞嗗憳鍒嗛厤瑙掕壊
+    /// </summary>
+    [ErrorCodeItemMetadata("绂佹涓鸿秴绾х鐞嗗憳鍒嗛厤瑙掕壊")]
+    D1022,
+
+    /// <summary>
+    /// 绂佹鍒犻櫎榛樿绉熸埛
+    /// </summary>
+    [ErrorCodeItemMetadata("绂佹鍒犻櫎榛樿绉熸埛")]
+    D1023,
+
+    /// <summary>
+    /// 宸插皢鍏朵粬鍦版柟鐧诲綍璐﹀彿涓嬬嚎
+    /// </summary>
+    [ErrorCodeItemMetadata("宸插皢鍏朵粬鍦版柟鐧诲綍璐﹀彿涓嬬嚎")]
+    D1024,
+
+    /// <summary>
+    /// 姝よ鑹蹭笅闈㈠瓨鍦ㄨ处鍙风姝㈠垹闄�
+    /// </summary>
+    [ErrorCodeItemMetadata("姝よ鑹蹭笅闈㈠瓨鍦ㄨ处鍙风姝㈠垹闄�")]
+    D1025,
+
+    /// <summary>
+    /// 绂佹淇敼鏈汉璐﹀彿鐘舵��
+    /// </summary>
+    [ErrorCodeItemMetadata("绂佹淇敼鏈汉璐﹀彿鐘舵��")]
+    D1026,
+
+    /// <summary>
+    /// 瀵嗙爜閿欒娆℃暟杩囧锛岃处鍙峰凡閿佸畾锛岃鍗婂皬鏃跺悗閲嶈瘯锛�
+    /// </summary>
+    [ErrorCodeItemMetadata("瀵嗙爜閿欒娆℃暟杩囧锛岃处鍙峰凡閿佸畾锛岃鍗婂皬鏃跺悗閲嶈瘯锛�")]
+    D1027,
+
+    /// <summary>
+    /// 鏂板瘑鐮佷笉鑳戒笌鏃у瘑鐮佺浉鍚�
+    /// </summary>
+    [ErrorCodeItemMetadata("鏂板瘑鐮佷笉鑳戒笌鏃у瘑鐮佺浉鍚�")]
+    D1028,
+
+    /// <summary>
+    /// 鏁版嵁涓嶅瓨鍦�
+    /// </summary>
+    [ErrorCodeItemMetadata("鏁版嵁涓嶅瓨")]
+    D1029,
+
+    /// <summary>
+    /// 鐖舵満鏋勪笉瀛樺湪
+    /// </summary>
+    [ErrorCodeItemMetadata("鐖舵満鏋勪笉瀛樺湪")]
+    D2000,
+
+    /// <summary>
+    /// 褰撳墠鏈烘瀯Id涓嶈兘涓庣埗鏈烘瀯Id鐩稿悓
+    /// </summary>
+    [ErrorCodeItemMetadata("褰撳墠鏈烘瀯Id涓嶈兘涓庣埗鏈烘瀯Id鐩稿悓")]
+    D2001,
+
+    /// <summary>
+    /// 宸叉湁鐩稿悓缁勭粐鏈烘瀯,缂栫爜鎴栧悕绉扮浉鍚�
+    /// </summary>
+    [ErrorCodeItemMetadata("宸叉湁鐩稿悓缁勭粐鏈烘瀯,缂栫爜鎴栧悕绉扮浉鍚�")]
+    D2002,
+
+    /// <summary>
+    /// 娌℃湁鏉冮檺鎿嶄綔鏈烘瀯
+    /// </summary>
+    [ErrorCodeItemMetadata("娌℃湁鏉冮檺鎿嶄綔鏈烘瀯")]
+    D2003,
+
+    /// <summary>
+    /// 璇ユ満鏋勪笅鏈夌敤鎴风姝㈠垹闄�
+    /// </summary>
+    [ErrorCodeItemMetadata("璇ユ満鏋勪笅鏈夌敤鎴风姝㈠垹闄�")]
+    D2004,
+
+    /// <summary>
+    /// 闄勫睘鏈烘瀯涓嬫湁鐢ㄦ埛绂佹鍒犻櫎
+    /// </summary>
+    [ErrorCodeItemMetadata("闄勫睘鏈烘瀯涓嬫湁鐢ㄦ埛绂佹鍒犻櫎")]
+    D2005,
+
+    /// <summary>
+    /// 鍙兘澧炲姞涓嬬骇鏈烘瀯
+    /// </summary>
+    [ErrorCodeItemMetadata("鍙兘澧炲姞涓嬬骇鏈烘瀯")]
+    D2006,
+
+    /// <summary>
+    /// 涓嬬骇鏈烘瀯涓嬫湁鐢ㄦ埛绂佹鍒犻櫎
+    /// </summary>
+    [ErrorCodeItemMetadata("涓嬬骇鏈烘瀯涓嬫湁鐢ㄦ埛绂佹鍒犻櫎")]
+    D2007,
+
+    /// <summary>
+    /// 绉熸埛榛樿鏈烘瀯绂佹鍒犻櫎
+    /// </summary>
+    [ErrorCodeItemMetadata("绉熸埛榛樿鏈烘瀯绂佹鍒犻櫎")]
+    D2008,
+
+    /// <summary>
+    /// 绂佹澧炲姞鏍硅妭鐐规満鏋�
+    /// </summary>
+    [ErrorCodeItemMetadata("绂佹澧炲姞鏍硅妭鐐规満鏋�")]
+    D2009,
+
+    /// <summary>
+    /// 瀛楀吀绫诲瀷涓嶅瓨鍦�
+    /// </summary>
+    [ErrorCodeItemMetadata("瀛楀吀绫诲瀷涓嶅瓨鍦�")]
+    D3000,
+
+    /// <summary>
+    /// 瀛楀吀绫诲瀷宸插瓨鍦�
+    /// </summary>
+    [ErrorCodeItemMetadata("瀛楀吀绫诲瀷宸插瓨鍦�,鍚嶇О鎴栫紪鐮侀噸澶�")]
+    D3001,
+
+    /// <summary>
+    /// 瀛楀吀绫诲瀷涓嬮潰鏈夊瓧鍏稿�肩姝㈠垹闄�
+    /// </summary>
+    [ErrorCodeItemMetadata("瀛楀吀绫诲瀷涓嬮潰鏈夊瓧鍏稿�肩姝㈠垹闄�")]
+    D3002,
+
+    /// <summary>
+    /// 瀛楀吀鍊煎凡瀛樺湪
+    /// </summary>
+    [ErrorCodeItemMetadata("瀛楀吀鍊煎凡瀛樺湪,鍚嶇О鎴栫紪鐮侀噸澶�")]
+    D3003,
+
+    /// <summary>
+    /// 瀛楀吀鍊间笉瀛樺湪
+    /// </summary>
+    [ErrorCodeItemMetadata("瀛楀吀鍊间笉瀛樺湪")]
+    D3004,
+
+    /// <summary>
+    /// 瀛楀吀鐘舵�侀敊璇�
+    /// </summary>
+    [ErrorCodeItemMetadata("瀛楀吀鐘舵�侀敊璇�")]
+    D3005,
+
+    /// <summary>
+    /// 鑿滃崟宸插瓨鍦�
+    /// </summary>
+    [ErrorCodeItemMetadata("鑿滃崟宸插瓨鍦�")]
+    D4000,
+
+    /// <summary>
+    /// 璺敱鍦板潃涓虹┖
+    /// </summary>
+    [ErrorCodeItemMetadata("璺敱鍦板潃涓虹┖")]
+    D4001,
+
+    /// <summary>
+    /// 鎵撳紑鏂瑰紡涓虹┖
+    /// </summary>
+    [ErrorCodeItemMetadata("鎵撳紑鏂瑰紡涓虹┖")]
+    D4002,
+
+    /// <summary>
+    /// 鏉冮檺鏍囪瘑鏍煎紡涓虹┖
+    /// </summary>
+    [ErrorCodeItemMetadata("鏉冮檺鏍囪瘑鏍煎紡涓虹┖")]
+    D4003,
+
+    /// <summary>
+    /// 鏉冮檺鏍囪瘑鏍煎紡閿欒
+    /// </summary>
+    [ErrorCodeItemMetadata("鏉冮檺鏍囪瘑鏍煎紡閿欒 濡倄xx:xxx")]
+    D4004,
+
+    /// <summary>
+    /// 鏉冮檺涓嶅瓨鍦�
+    /// </summary>
+    [ErrorCodeItemMetadata("鏉冮檺涓嶅瓨鍦�")]
+    D4005,
+
+    /// <summary>
+    /// 鐖剁骇鑿滃崟涓嶈兘涓哄綋鍓嶈妭鐐癸紝璇烽噸鏂伴�夋嫨鐖剁骇鑿滃崟
+    /// </summary>
+    [ErrorCodeItemMetadata("鐖剁骇鑿滃崟涓嶈兘涓哄綋鍓嶈妭鐐癸紝璇烽噸鏂伴�夋嫨鐖剁骇鑿滃崟")]
+    D4006,
+
+    /// <summary>
+    /// 涓嶈兘绉诲姩鏍硅妭鐐�
+    /// </summary>
+    [ErrorCodeItemMetadata("涓嶈兘绉诲姩鏍硅妭鐐�")]
+    D4007,
+
+    /// <summary>
+    /// 绂佹鏈妭鐐逛笌鐖惰妭鐐圭浉鍚�
+    /// </summary>
+    [ErrorCodeItemMetadata("绂佹鏈妭鐐逛笌鐖惰妭鐐圭浉鍚�")]
+    D4008,
+
+    /// <summary>
+    /// 璺敱鍚嶇О閲嶅
+    /// </summary>
+    [ErrorCodeItemMetadata("璺敱鍚嶇О閲嶅")]
+    D4009,
+
+    /// <summary>
+    /// 鐖惰妭鐐逛笉鑳戒负鎸夐挳绫诲瀷
+    /// </summary>
+    [ErrorCodeItemMetadata("鐖惰妭鐐逛笉鑳戒负鎸夐挳绫诲瀷")]
+    D4010,
+
+    /// <summary>
+    /// 宸插瓨鍦ㄥ悓鍚嶆垨鍚岀紪鐮佸簲鐢�
+    /// </summary>
+    [ErrorCodeItemMetadata("宸插瓨鍦ㄥ悓鍚嶆垨鍚岀紪鐮佸簲鐢�")]
+    D5000,
+
+    /// <summary>
+    /// 榛樿婵�娲荤郴缁熷彧鑳芥湁涓�涓�
+    /// </summary>
+    [ErrorCodeItemMetadata("榛樿婵�娲荤郴缁熷彧鑳芥湁涓�涓�")]
+    D5001,
+
+    /// <summary>
+    /// 璇ュ簲鐢ㄤ笅鏈夎彍鍗曠姝㈠垹闄�
+    /// </summary>
+    [ErrorCodeItemMetadata("璇ュ簲鐢ㄤ笅鏈夎彍鍗曠姝㈠垹闄�")]
+    D5002,
+
+    /// <summary>
+    /// 宸插瓨鍦ㄥ悓鍚嶆垨鍚岀紪鐮佸簲鐢�
+    /// </summary>
+    [ErrorCodeItemMetadata("宸插瓨鍦ㄥ悓鍚嶆垨鍚岀紪鐮佸簲鐢�")]
+    D5003,
+
+    /// <summary>
+    /// 宸插瓨鍦ㄥ悓鍚嶆垨鍚岀紪鐮佽亴浣�
+    /// </summary>
+    [ErrorCodeItemMetadata("宸插瓨鍦ㄥ悓鍚嶆垨鍚岀紪鐮佽亴浣�")]
+    D6000,
+
+    /// <summary>
+    /// 璇ヨ亴浣嶄笅鏈夌敤鎴风姝㈠垹闄�
+    /// </summary>
+    [ErrorCodeItemMetadata("璇ヨ亴浣嶄笅鏈夌敤鎴风姝㈠垹闄�")]
+    D6001,
+
+    /// <summary>
+    /// 鏃犳潈淇敼鏈亴浣�
+    /// </summary>
+    [ErrorCodeItemMetadata("鏃犳潈淇敼鏈亴浣�")]
+    D6002,
+
+    /// <summary>
+    /// 鑱屼綅涓嶅瓨鍦�
+    /// </summary>
+    [ErrorCodeItemMetadata("鑱屼綅涓嶅瓨鍦�")]
+    D6003,
+
+    /// <summary>
+    /// 閫氱煡鍏憡鐘舵�侀敊璇�
+    /// </summary>
+    [ErrorCodeItemMetadata("閫氱煡鍏憡鐘舵�侀敊璇�")]
+    D7000,
+
+    /// <summary>
+    /// 閫氱煡鍏憡鍒犻櫎澶辫触
+    /// </summary>
+    [ErrorCodeItemMetadata("閫氱煡鍏憡鍒犻櫎澶辫触")]
+    D7001,
+
+    /// <summary>
+    /// 閫氱煡鍏憡缂栬緫澶辫触
+    /// </summary>
+    [ErrorCodeItemMetadata("閫氱煡鍏憡缂栬緫澶辫触锛岀被鍨嬪繀椤讳负鑽夌")]
+    D7002,
+
+    /// <summary>
+    /// 閫氱煡鍏憡鎿嶄綔澶辫触锛岄潪鍙戝竷鑰呬笉鑳借繘琛屾搷浣�
+    /// </summary>
+    [ErrorCodeItemMetadata("閫氱煡鍏憡鎿嶄綔澶辫触锛岄潪鍙戝竷鑰呬笉鑳借繘琛屾搷浣�")]
+    D7003,
+
+    /// <summary>
+    /// 鏂囦欢涓嶅瓨鍦�
+    /// </summary>
+    [ErrorCodeItemMetadata("鏂囦欢涓嶅瓨鍦�")]
+    D8000,
+
+    /// <summary>
+    /// 涓嶅厑璁哥殑鏂囦欢绫诲瀷
+    /// </summary>
+    [ErrorCodeItemMetadata("涓嶅厑璁哥殑鏂囦欢绫诲瀷")]
+    D8001,
+
+    /// <summary>
+    /// 鏂囦欢瓒呰繃鍏佽澶у皬
+    /// </summary>
+    [ErrorCodeItemMetadata("鏂囦欢瓒呰繃鍏佽澶у皬")]
+    D8002,
+
+    /// <summary>
+    /// 鏂囦欢鍚庣紑閿欒
+    /// </summary>
+    [ErrorCodeItemMetadata("鏂囦欢鍚庣紑閿欒")]
+    D8003,
+
+    /// <summary>
+    /// 鏂囦欢宸插瓨鍦�
+    /// </summary>
+    [ErrorCodeItemMetadata("鏂囦欢宸插瓨鍦�")]
+    D8004,
+
+    /// <summary>
+    /// 宸插瓨鍦ㄥ悓鍚嶆垨鍚岀紪鐮佸弬鏁伴厤缃�
+    /// </summary>
+    [ErrorCodeItemMetadata("宸插瓨鍦ㄥ悓鍚嶆垨鍚岀紪鐮佸弬鏁伴厤缃�")]
+    D9000,
+
+    /// <summary>
+    /// 绂佹鍒犻櫎绯荤粺鍙傛暟
+    /// </summary>
+    [ErrorCodeItemMetadata("绂佹鍒犻櫎绯荤粺鍙傛暟")]
+    D9001,
+
+    /// <summary>
+    /// 宸插瓨鍦ㄥ悓鍚嶄换鍔¤皟搴�
+    /// </summary>
+    [ErrorCodeItemMetadata("宸插瓨鍦ㄥ悓鍚嶄换鍔¤皟搴�")]
+    D1100,
+
+    /// <summary>
+    /// 浠诲姟璋冨害涓嶅瓨鍦�
+    /// </summary>
+    [ErrorCodeItemMetadata("浠诲姟璋冨害涓嶅瓨鍦�")]
+    D1101,
+
+    /// <summary>
+    /// 婕旂ず鐜绂佹淇敼鏁版嵁
+    /// </summary>
+    [ErrorCodeItemMetadata("婕旂ず鐜绂佹淇敼鏁版嵁")]
+    D1200,
+
+    /// <summary>
+    /// 宸插瓨鍦ㄥ悓鍚嶇殑绉熸埛
+    /// </summary>
+    [ErrorCodeItemMetadata("宸插瓨鍦ㄥ悓鍚嶇殑绉熸埛")]
+    D1300,
+
+    /// <summary>
+    /// 宸插瓨鍦ㄥ悓鍚嶇殑绉熸埛绠$悊鍛�
+    /// </summary>
+    [ErrorCodeItemMetadata("宸插瓨鍦ㄥ悓鍚嶇殑绉熸埛绠$悊鍛�")]
+    D1301,
+
+    /// <summary>
+    /// 绉熸埛浠庡簱閰嶇疆閿欒
+    /// </summary>
+    [ErrorCodeItemMetadata("绉熸埛浠庡簱閰嶇疆閿欒")]
+    D1302,
+
+    /// <summary>
+    /// 璇ヨ〃浠g爜妯℃澘宸茬粡鐢熸垚杩�
+    /// </summary>
+    [ErrorCodeItemMetadata("璇ヨ〃浠g爜妯℃澘宸茬粡鐢熸垚杩�")]
+    D1400,
+
+    /// <summary>
+    /// 璇ョ被鍨嬩笉瀛樺湪
+    /// </summary>
+    [ErrorCodeItemMetadata("璇ョ被鍨嬩笉瀛樺湪")]
+    D1501,
+
+    /// <summary>
+    /// 璇ュ瓧娈典笉瀛樺湪
+    /// </summary>
+    [ErrorCodeItemMetadata("璇ュ瓧娈典笉瀛樺湪")]
+    D1502,
+
+    /// <summary>
+    /// 璇ョ被鍨嬩笉鏄灇涓剧被鍨�
+    /// </summary>
+    [ErrorCodeItemMetadata("璇ョ被鍨嬩笉鏄灇涓剧被鍨�")]
+    D1503,
+
+    /// <summary>
+    /// 璇ュ疄浣撲笉瀛樺湪
+    /// </summary>
+    [ErrorCodeItemMetadata("璇ュ疄浣撲笉瀛樺湪")]
+    D1504,
+
+    /// <summary>
+    /// 鐖惰彍鍗曚笉瀛樺湪
+    /// </summary>
+    [ErrorCodeItemMetadata("鐖惰彍鍗曚笉瀛樺湪")]
+    D1505,
+
+    /// <summary>
+    /// 鐖惰祫婧愪笉瀛樺湪
+    /// </summary>
+    [ErrorCodeItemMetadata("鐖惰祫婧愪笉瀛樺湪")]
+    D1600,
+
+    /// <summary>
+    /// 褰撳墠璧勬簮Id涓嶈兘涓庣埗璧勬簮Id鐩稿悓
+    /// </summary>
+    [ErrorCodeItemMetadata("褰撳墠璧勬簮Id涓嶈兘涓庣埗璧勬簮Id鐩稿悓")]
+    D1601,
+
+    /// <summary>
+    /// 宸叉湁鐩稿悓缂栫爜鎴栧悕绉�
+    /// </summary>
+    [ErrorCodeItemMetadata("宸叉湁鐩稿悓缂栫爜鎴栧悕绉�")]
+    D1602,
+
+    /// <summary>
+    /// 鑴氭湰浠g爜涓嶈兘涓虹┖
+    /// </summary>
+    [ErrorCodeItemMetadata("鑴氭湰浠g爜涓嶈兘涓虹┖")]
+    D1701,
+
+    /// <summary>
+    /// 鑴氭湰浠g爜涓殑浣滀笟绫伙紝闇�瑕佸畾涔� [JobDetail] 鐗规��
+    /// </summary>
+    [ErrorCodeItemMetadata("鑴氭湰浠g爜涓殑浣滀笟绫伙紝闇�瑕佸畾涔� [JobDetail] 鐗规��")]
+    D1702,
+
+    /// <summary>
+    /// 浣滀笟缂栧彿闇�瑕佷笌鑴氭湰浠g爜涓殑浣滀笟绫� [JobDetail('jobId')] 涓�鑷�
+    /// </summary>
+    [ErrorCodeItemMetadata("浣滀笟缂栧彿闇�瑕佷笌鑴氭湰浠g爜涓殑浣滀笟绫� [JobDetail('jobId')] 涓�鑷�")]
+    D1703,
+
+    /// <summary>
+    /// 绂佹淇敼浣滀笟缂栧彿
+    /// </summary>
+    [ErrorCodeItemMetadata("绂佹淇敼浣滀笟缂栧彿")]
+    D1704,
+
+    /// <summary>
+    /// 鎵ц浣滀笟澶辫触
+    /// </summary>
+    [ErrorCodeItemMetadata("鎵ц浣滀笟澶辫触")]
+    D1705,
+
+    /// <summary>
+    /// 宸插瓨鍦ㄥ悓鍚嶆墦鍗版ā鏉�
+    /// </summary>
+    [ErrorCodeItemMetadata("宸插瓨鍦ㄥ悓鍚嶆墦鍗版ā鏉�")]
+    D1800,
+
+    /// <summary>
+    /// 宸插瓨鍦ㄥ悓鍚嶅姛鑳芥垨鍚屽悕绋嬪簭鍙婃彃浠�
+    /// </summary>
+    [ErrorCodeItemMetadata("宸插瓨鍦ㄥ悓鍚嶅姛鑳芥垨鍚屽悕绋嬪簭鍙婃彃浠�")]
+    D1900,
+
+    /// <summary>
+    /// 宸插瓨鍦ㄥ悓鍚嶆垨鍚岀紪鐮侀」鐩�
+    /// </summary>
+    [ErrorCodeItemMetadata("宸插瓨鍦ㄥ悓鍚嶆垨鍚岀紪鐮侀」鐩�")]
+    xg1000,
+
+    /// <summary>
+    /// 宸插瓨鍦ㄧ浉鍚岃瘉浠跺彿鐮佷汉鍛�
+    /// </summary>
+    [ErrorCodeItemMetadata("宸插瓨鍦ㄧ浉鍚岃瘉浠跺彿鐮佷汉鍛�")]
+    xg1001,
+
+    /// <summary>
+    /// 妫�娴嬫暟鎹笉瀛樺湪
+    /// </summary>
+    [ErrorCodeItemMetadata("妫�娴嬫暟鎹笉瀛樺湪")]
+    xg1002,
+
+    /// <summary>
+    /// 璇锋坊鍔犳暟鎹垪
+    /// </summary>
+    [ErrorCodeItemMetadata("璇锋坊鍔犳暟鎹垪")]
+    db1000,
+
+    /// <summary>
+    /// 鏁版嵁琛ㄤ笉瀛樺湪
+    /// </summary>
+    [ErrorCodeItemMetadata("鏁版嵁琛ㄤ笉瀛樺湪")]
+    db1001,
+
+    /// <summary>
+    /// 鏁版嵁琛ㄤ笉瀛樺湪
+    /// </summary>
+    [ErrorCodeItemMetadata("涓嶅厑璁告坊鍔犵浉鍚屽瓧娈靛悕")]
+    db1002,
+
+    /// <summary>
+    /// 鐖惰妭鐐逛笉瀛樺湪
+    /// </summary>
+    [ErrorCodeItemMetadata("鐖惰妭鐐逛笉瀛樺湪")]
+    R2000,
+
+    /// <summary>
+    /// 褰撳墠鑺傜偣Id涓嶈兘涓庣埗鑺傜偣Id鐩稿悓
+    /// </summary>
+    [ErrorCodeItemMetadata("褰撳墠鑺傜偣Id涓嶈兘涓庣埗鑺傜偣Id鐩稿悓")]
+    R2001,
+
+    /// <summary>
+    /// 宸叉湁鐩稿悓缂栫爜鎴栧悕绉�
+    /// </summary>
+    [ErrorCodeItemMetadata("宸叉湁鐩稿悓缂栫爜鎴栧悕绉�")]
+    R2002,
+
+    /// <summary>
+    /// 榛樿绉熸埛鐘舵�佺姝慨鏀�
+    /// </summary>
+    [ErrorCodeItemMetadata("榛樿绉熸埛鐘舵�佺姝慨鏀�")]
+    Z1001,
+
+    /// <summary>
+    /// 绂佹鍒涘缓姝ょ被鍨嬬殑鏁版嵁搴�
+    /// </summary>
+    [ErrorCodeItemMetadata("绂佹鍒涘缓姝ょ被鍨嬬殑鏁版嵁搴�")]
+    Z1002,
+
+    /// <summary>
+    /// 绉熸埛宸茬鐢�
+    /// </summary>
+    [ErrorCodeItemMetadata("绉熸埛宸茬鐢�")]
+    Z1003,
+
+    /// <summary>
+    /// 绉熸埛搴撹繛鎺ヤ笉鑳戒负绌�
+    /// </summary>
+    [ErrorCodeItemMetadata("绉熸埛搴撹繛鎺ヤ笉鑳戒负绌�")]
+    Z1004,
+
+    /// <summary>
+    /// 韬唤鏍囪瘑宸插瓨鍦�
+    /// </summary>
+    [ErrorCodeItemMetadata("韬唤鏍囪瘑宸插瓨鍦�")]
+    O1000,
+
+
+    /// <summary>
+    /// 瀛樺湪缁戝畾鍏崇郴
+    /// </summary>
+    [ErrorCodeItemMetadata("瀛樺湪缁戝畾鍏崇郴锛屼笉鍙垹闄�")]
+    O1001,
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/GenderEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/GenderEnum.cs
new file mode 100644
index 0000000..3284532
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/GenderEnum.cs
@@ -0,0 +1,32 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鎬у埆鏋氫妇
+/// </summary>
+[Description("鎬у埆鏋氫妇")]
+public enum GenderEnum
+{
+    /// <summary>
+    /// 鐢�
+    /// </summary>
+    [Description("鐢�")]
+    Male = 1,
+
+    /// <summary>
+    /// 濂�
+    /// </summary>
+    [Description("濂�")]
+    Female = 2,
+
+    /// <summary>
+    /// 鍏朵粬
+    /// </summary>
+    [Description("鍏朵粬")]
+    Other = 3
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/HttpMethodEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/HttpMethodEnum.cs
new file mode 100644
index 0000000..f930893
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/HttpMethodEnum.cs
@@ -0,0 +1,68 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// HTTP璇锋眰鏂规硶鏋氫妇
+/// </summary>
+[Description("HTTP璇锋眰鏂规硶鏋氫妇")]
+public enum HttpMethodEnum
+{
+    /// <summary>
+    ///  HTTP "GET" method.
+    /// </summary>
+    [Description("HTTP \"GET\" method.")]
+    Get,
+
+    /// <summary>
+    ///  HTTP "POST" method.
+    /// </summary>
+    [Description("HTTP \"POST\" method.")]
+    Post,
+
+    /// <summary>
+    /// HTTP "PUT" method.
+    /// </summary>
+    [Description(" HTTP \"PUT\" method.")]
+    Put,
+
+    /// <summary>
+    /// HTTP "DELETE" method.
+    /// </summary>
+    [Description("HTTP \"DELETE\" method.")]
+    Delete,
+
+    /// <summary>
+    /// HTTP "PATCH" method.
+    /// </summary>
+    [Description("HTTP \"PATCH\" method. ")]
+    Patch,
+
+    /// <summary>
+    /// HTTP "HEAD" method.
+    /// </summary>
+    [Description("HTTP \"HEAD\" method.")]
+    Head,
+
+    /// <summary>
+    /// HTTP "OPTIONS" method.
+    /// </summary>
+    [Description("HTTP \"OPTIONS\" method.")]
+    Options,
+
+    /// <summary>
+    /// HTTP "TRACE" method.
+    /// </summary>
+    [Description(" HTTP \"TRACE\" method.")]
+    Trace,
+
+    /// <summary>
+    ///  HTTP "CONNECT" method.
+    /// </summary>
+    [Description("HTTP \"CONNECT\" method.")]
+    Connect
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/JobCreateTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/JobCreateTypeEnum.cs
new file mode 100644
index 0000000..acee68b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/JobCreateTypeEnum.cs
@@ -0,0 +1,32 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 浣滀笟鍒涘缓绫诲瀷鏋氫妇
+/// </summary>
+[Description("浣滀笟鍒涘缓绫诲瀷鏋氫妇")]
+public enum JobCreateTypeEnum
+{
+    /// <summary>
+    /// 鍐呯疆
+    /// </summary>
+    [Description("鍐呯疆")]
+    BuiltIn = 0,
+
+    /// <summary>
+    /// 鑴氭湰
+    /// </summary>
+    [Description("鑴氭湰")]
+    Script = 1,
+
+    /// <summary>
+    /// HTTP璇锋眰
+    /// </summary>
+    [Description("HTTP璇锋眰")]
+    Http = 2,
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/JobStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/JobStatusEnum.cs
new file mode 100644
index 0000000..b06c65c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/JobStatusEnum.cs
@@ -0,0 +1,38 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 宀椾綅鐘舵�佹灇涓�
+/// </summary>
+[Description("宀椾綅鐘舵�佹灇涓�")]
+public enum JobStatusEnum
+{
+    /// <summary>
+    /// 鍦ㄨ亴
+    /// </summary>
+    [Description("鍦ㄨ亴")]
+    On = 1,
+
+    /// <summary>
+    /// 绂昏亴
+    /// </summary>
+    [Description("绂昏亴")]
+    Off = 2,
+
+    /// <summary>
+    /// 璇峰亣
+    /// </summary>
+    [Description("璇峰亣")]
+    Leave = 3,
+
+    /// <summary>
+    /// 鍏朵粬
+    /// </summary>
+    [Description("鍏朵粬")]
+    Other = 4,
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/LoginModeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/LoginModeEnum.cs
new file mode 100644
index 0000000..55e8ddb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/LoginModeEnum.cs
@@ -0,0 +1,26 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鐧诲綍妯″紡鏋氫妇
+/// </summary>
+[Description("鐧诲綍妯″紡鏋氫妇")]
+public enum LoginModeEnum
+{
+    /// <summary>
+    /// PC妯″紡
+    /// </summary>
+    [Description("PC妯″紡")]
+    PC = 1,
+
+    /// <summary>
+    /// APP
+    /// </summary>
+    [Description("APP")]
+    APP = 2
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/LoginTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/LoginTypeEnum.cs
new file mode 100644
index 0000000..9fa0950
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/LoginTypeEnum.cs
@@ -0,0 +1,32 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鐧诲綍绫诲瀷鏋氫妇
+/// </summary>
+[Description("鐧诲綍绫诲瀷鏋氫妇")]
+public enum LoginTypeEnum
+{
+    /// <summary>
+    /// PC鐧诲綍
+    /// </summary>
+    [Description("PC鐧诲綍")]
+    Login = 1,
+
+    /// <summary>
+    /// PC閫�鍑�
+    /// </summary>
+    [Description("PC閫�鍑�")]
+    Logout = 2,
+
+    /// <summary>
+    /// PC娉ㄥ唽
+    /// </summary>
+    [Description("PC娉ㄥ唽")]
+    Register = 3
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/MaritalStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/MaritalStatusEnum.cs
new file mode 100644
index 0000000..b3787b2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/MaritalStatusEnum.cs
@@ -0,0 +1,50 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 濠氬Щ鐘跺喌鏋氫妇
+/// </summary>
+[Description("濠氬Щ鐘跺喌鏋氫妇")]
+public enum MaritalStatusEnum
+{
+    /// <summary>
+    /// 鏈
+    /// </summary>
+    [Description("鏈")]
+    UnMarried = 1,
+
+    /// <summary>
+    /// 宸插
+    /// </summary>
+    [Description("宸插")]
+    Married = 2,
+
+    /// <summary>
+    /// 绂诲紓
+    /// </summary>
+    [Description("绂诲紓")]
+    Divorce = 3,
+
+    /// <summary>
+    /// 鍐嶅
+    /// </summary>
+    [Description("鍐嶅")]
+    Remarry = 4,
+
+    /// <summary>
+    /// 涓у伓
+    /// </summary>
+    [Description("涓у伓")]
+    Widowed = 5,
+
+    /// <summary>
+    /// 鏈煡
+    /// </summary>
+    [Description("鏈煡")]
+    None = 6,
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/MenuTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/MenuTypeEnum.cs
new file mode 100644
index 0000000..9d32321
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/MenuTypeEnum.cs
@@ -0,0 +1,32 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鑿滃崟绫诲瀷鏋氫妇
+/// </summary>
+[Description("绯荤粺鑿滃崟绫诲瀷鏋氫妇")]
+public enum MenuTypeEnum
+{
+    /// <summary>
+    /// 鐩綍
+    /// </summary>
+    [Description("鐩綍")]
+    Dir = 1,
+
+    /// <summary>
+    /// 鑿滃崟
+    /// </summary>
+    [Description("鑿滃崟")]
+    Menu = 2,
+
+    /// <summary>
+    /// 鎸夐挳
+    /// </summary>
+    [Description("鎸夐挳")]
+    Btn = 3
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/MessageTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/MessageTypeEnum.cs
new file mode 100644
index 0000000..cfbe3a3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/MessageTypeEnum.cs
@@ -0,0 +1,38 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 娑堟伅绫诲瀷鏋氫妇
+/// </summary>
+[Description("娑堟伅绫诲瀷鏋氫妇")]
+public enum MessageTypeEnum
+{
+    /// <summary>
+    /// 鏅�氫俊鎭�
+    /// </summary>
+    [Description("娑堟伅")]
+    Info = 0,
+
+    /// <summary>
+    /// 鎴愬姛鎻愮ず
+    /// </summary>
+    [Description("鎴愬姛")]
+    Success = 1,
+
+    /// <summary>
+    /// 璀﹀憡鎻愮ず
+    /// </summary>
+    [Description("璀﹀憡")]
+    Warning = 2,
+
+    /// <summary>
+    /// 閿欒鎻愮ず
+    /// </summary>
+    [Description("閿欒")]
+    Error = 3
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/NoticeStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/NoticeStatusEnum.cs
new file mode 100644
index 0000000..16b4067
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/NoticeStatusEnum.cs
@@ -0,0 +1,38 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 閫氱煡鍏憡鐘舵�佹灇涓�
+/// </summary>
+[Description("閫氱煡鍏憡鐘舵�佹灇涓�")]
+public enum NoticeStatusEnum
+{
+    /// <summary>
+    /// 鑽夌
+    /// </summary>
+    [Description("鑽夌")]
+    DRAFT = 0,
+
+    /// <summary>
+    /// 鍙戝竷
+    /// </summary>
+    [Description("鍙戝竷")]
+    PUBLIC = 1,
+
+    /// <summary>
+    /// 鎾ゅ洖
+    /// </summary>
+    [Description("鎾ゅ洖")]
+    CANCEL = 2,
+
+    /// <summary>
+    /// 鍒犻櫎
+    /// </summary>
+    [Description("鍒犻櫎")]
+    DELETED = 3
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/NoticeTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/NoticeTypeEnum.cs
new file mode 100644
index 0000000..387bf29
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/NoticeTypeEnum.cs
@@ -0,0 +1,26 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 閫氱煡鍏憡鐘剁被鍨嬫灇涓�
+/// </summary>
+[Description("閫氱煡鍏憡鐘剁被鍨嬫灇涓�")]
+public enum NoticeTypeEnum
+{
+    /// <summary>
+    /// 閫氱煡
+    /// </summary>
+    [Description("閫氱煡")]
+    NOTICE = 1,
+
+    /// <summary>
+    /// 鍏憡
+    /// </summary>
+    [Description("鍏憡")]
+    ANNOUNCEMENT = 2,
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/NoticeUserStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/NoticeUserStatusEnum.cs
new file mode 100644
index 0000000..91998b5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/NoticeUserStatusEnum.cs
@@ -0,0 +1,26 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 閫氱煡鍏憡鐢ㄦ埛鐘舵�佹灇涓�
+/// </summary>
+[Description("閫氱煡鍏憡鐢ㄦ埛鐘舵�佹灇涓�")]
+public enum NoticeUserStatusEnum
+{
+    /// <summary>
+    /// 鏈
+    /// </summary>
+    [Description("鏈")]
+    UNREAD = 0,
+
+    /// <summary>
+    /// 宸茶
+    /// </summary>
+    [Description("宸茶")]
+    READ = 1
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/PlatformTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/PlatformTypeEnum.cs
new file mode 100644
index 0000000..38f985b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/PlatformTypeEnum.cs
@@ -0,0 +1,44 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 骞冲彴绫诲瀷鏋氫妇
+/// </summary>
+[Description("骞冲彴绫诲瀷鏋氫妇")]
+public enum PlatformTypeEnum
+{
+    /// <summary>
+    /// 寰俊鍏紬鍙�
+    /// </summary>
+    [Description("寰俊鍏紬鍙�")]
+    寰俊鍏紬鍙� = 1,
+
+    /// <summary>
+    /// 寰俊灏忕▼搴�
+    /// </summary>
+    [Description("寰俊灏忕▼搴�")]
+    寰俊灏忕▼搴� = 2,
+
+    /// <summary>
+    /// QQ
+    /// </summary>
+    [Description("QQ")]
+    QQ = 3,
+
+    /// <summary>
+    /// 鏀粯瀹�
+    /// </summary>
+    [Description("鏀粯瀹�")]
+    Alipay = 4,
+
+    /// <summary>
+    /// Gitee
+    /// </summary>
+    [Description("Gitee")]
+    Gitee = 5,
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/RequestTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/RequestTypeEnum.cs
new file mode 100644
index 0000000..f1f4aee
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/RequestTypeEnum.cs
@@ -0,0 +1,39 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// HTTP璇锋眰绫诲瀷
+/// </summary>
+[Description("HTTP璇锋眰绫诲瀷")]
+public enum RequestTypeEnum
+{
+    /// <summary>
+    /// 鎵ц鍐呴儴鏂规硶
+    /// </summary>
+    Run = 0,
+
+    /// <summary>
+    /// GET
+    /// </summary>
+    Get = 1,
+
+    /// <summary>
+    /// POST
+    /// </summary>
+    Post = 2,
+
+    /// <summary>
+    /// PUT
+    /// </summary>
+    Put = 3,
+
+    /// <summary>
+    /// DELETE
+    /// </summary>
+    Delete = 4
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/StatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/StatusEnum.cs
new file mode 100644
index 0000000..c956035
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/StatusEnum.cs
@@ -0,0 +1,26 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 閫氱敤鐘舵�佹灇涓�
+/// </summary>
+[Description("閫氱敤鐘舵�佹灇涓�")]
+public enum StatusEnum
+{
+    /// <summary>
+    /// 鍚敤
+    /// </summary>
+    [Description("鍚敤")]
+    Enable = 1,
+
+    /// <summary>
+    /// 鍋滅敤
+    /// </summary>
+    [Description("鍋滅敤")]
+    Disable = 2,
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/TenantTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/TenantTypeEnum.cs
new file mode 100644
index 0000000..2873d0e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/TenantTypeEnum.cs
@@ -0,0 +1,26 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绉熸埛绫诲瀷鏋氫妇
+/// </summary>
+[Description("绉熸埛绫诲瀷鏋氫妇")]
+public enum TenantTypeEnum
+{
+    /// <summary>
+    /// Id闅旂
+    /// </summary>
+    [Description("Id闅旂")]
+    Id = 0,
+
+    /// <summary>
+    /// 搴撻殧绂�
+    /// </summary>
+    [Description("搴撻殧绂�")]
+    Db = 1,
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/TrueFalseEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/TrueFalseEnum.cs
new file mode 100644
index 0000000..412cf9f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/TrueFalseEnum.cs
@@ -0,0 +1,27 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鏄惁鏋氫妇
+/// </summary>
+[Description("鏄惁鏋氫妇")]
+public enum TrueFalseEnum
+{
+    /// <summary>
+    /// 鍚�
+    /// </summary>
+    [Description("鍚�")]
+    N = 0,
+
+    /// <summary>
+    /// 鏄�
+    /// </summary>
+    [Description("鏄�")]
+    Y = 1
+
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/WechatReturnCodeEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/WechatReturnCodeEnum.cs
new file mode 100644
index 0000000..ba30a3e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/WechatReturnCodeEnum.cs
@@ -0,0 +1,289 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 寰俊寮�鍙戣繑鍥炵爜
+/// </summary>
+[Description("寰俊寮�鍙戣繑鍥炵爜")]
+public enum WechatReturnCodeEnum
+{
+    SenparcWeixinSDK閰嶇疆閿欒 = -99, // 0xFFFFFF9D
+    绯荤粺绻佸繖姝ゆ椂璇峰紑鍙戣�呯◢鍊欏啀璇� = -1, // 0xFFFFFFFF
+    璇锋眰鎴愬姛 = 0,
+    宸ュ晢鏁版嵁杩斿洖_浼佷笟宸叉敞閿� = 101, // 0x00000065
+    宸ュ晢鏁版嵁杩斿洖_浼佷笟涓嶅瓨鍦ㄦ垨浼佷笟淇℃伅鏈洿鏂� = 102, // 0x00000066
+    宸ュ晢鏁版嵁杩斿洖_浼佷笟娉曞畾浠h〃浜哄鍚嶄笉涓�鑷� = 103, // 0x00000067
+    宸ュ晢鏁版嵁杩斿洖_浼佷笟娉曞畾浠h〃浜鸿韩浠借瘉鍙风爜涓嶄竴鑷� = 104, // 0x00000068
+    娉曞畾浠h〃浜鸿韩浠借瘉鍙风爜_宸ュ晢鏁版嵁鏈洿鏂癬璇�5_15涓伐浣滄棩涔嬪悗灏濊瘯 = 105, // 0x00000069
+    宸ュ晢鏁版嵁杩斿洖_浼佷笟淇℃伅鎴栨硶瀹氫唬琛ㄤ汉淇℃伅涓嶄竴鑷� = 1000, // 0x000003E8
+    瀵规柟涓嶆槸绮変笣 = 10700, // 0x000029CC
+    鍙戦�佹秷鎭け璐瀵规柟鍏抽棴浜嗘帴鏀舵秷鎭� = 10703, // 0x000029CF
+    鍙戦�佹秷鎭け璐48灏忔椂鍐呯敤鎴锋湭浜掑姩 = 10706, // 0x000029D2
+    POST鍙傛暟闈炴硶 = 20002, // 0x00004E22
+    鑾峰彇access_token鏃禔ppSecret閿欒鎴栬�卆ccess_token鏃犳晥 = 40001, // 0x00009C41
+
+    /// <summary>
+    /// <para>鍏紬鍙凤細涓嶅悎娉曠殑鍑瘉绫诲瀷</para>
+    /// <para>灏忕▼搴忥細鏆傛棤鐢熸垚鏉冮檺</para>
+    /// </summary>
+    涓嶅悎娉曠殑鍑瘉绫诲瀷 = 40002, // 0x00009C42
+
+    涓嶅悎娉曠殑OpenID = 40003, // 0x00009C43
+    涓嶅悎娉曠殑濯掍綋鏂囦欢绫诲瀷 = 40004, // 0x00009C44
+    涓嶅悎娉曠殑鏂囦欢绫诲瀷 = 40005, // 0x00009C45
+    涓嶅悎娉曠殑鏂囦欢澶у皬 = 40006, // 0x00009C46
+    涓嶅悎娉曠殑濯掍綋鏂囦欢id = 40007, // 0x00009C47
+    涓嶅悎娉曠殑娑堟伅绫诲瀷_40008 = 40008, // 0x00009C48
+    涓嶅悎娉曠殑鍥剧墖鏂囦欢澶у皬 = 40009, // 0x00009C49
+    涓嶅悎娉曠殑璇煶鏂囦欢澶у皬 = 40010, // 0x00009C4A
+    涓嶅悎娉曠殑瑙嗛鏂囦欢澶у皬 = 40011, // 0x00009C4B
+    涓嶅悎娉曠殑缂╃暐鍥炬枃浠跺ぇ灏� = 40012, // 0x00009C4C
+
+    /// <summary>
+    /// <para>寰俊锛氫笉鍚堟硶鐨凙PPID</para>
+    /// <para>灏忕▼搴忥細鐢熸垚鏉冮檺琚皝绂�</para>
+    /// </summary>
+    涓嶅悎娉曠殑APPID = 40013, // 0x00009C4D
+
+    涓嶅悎娉曠殑access_token = 40014, // 0x00009C4E
+    涓嶅悎娉曠殑鑿滃崟绫诲瀷 = 40015, // 0x00009C4F
+    涓嶅悎娉曠殑鎸夐挳涓暟1 = 40016, // 0x00009C50
+    涓嶅悎娉曠殑鎸夐挳涓暟2 = 40017, // 0x00009C51
+    涓嶅悎娉曠殑鎸夐挳鍚嶅瓧闀垮害 = 40018, // 0x00009C52
+    涓嶅悎娉曠殑鎸夐挳KEY闀垮害 = 40019, // 0x00009C53
+    涓嶅悎娉曠殑鎸夐挳URL闀垮害 = 40020, // 0x00009C54
+    涓嶅悎娉曠殑鑿滃崟鐗堟湰鍙� = 40021, // 0x00009C55
+    涓嶅悎娉曠殑瀛愯彍鍗曠骇鏁� = 40022, // 0x00009C56
+    涓嶅悎娉曠殑瀛愯彍鍗曟寜閽釜鏁� = 40023, // 0x00009C57
+    涓嶅悎娉曠殑瀛愯彍鍗曟寜閽被鍨� = 40024, // 0x00009C58
+    涓嶅悎娉曠殑瀛愯彍鍗曟寜閽悕瀛楅暱搴� = 40025, // 0x00009C59
+    涓嶅悎娉曠殑瀛愯彍鍗曟寜閽甂EY闀垮害 = 40026, // 0x00009C5A
+    涓嶅悎娉曠殑瀛愯彍鍗曟寜閽甎RL闀垮害 = 40027, // 0x00009C5B
+    涓嶅悎娉曠殑鑷畾涔夎彍鍗曚娇鐢ㄧ敤鎴� = 40028, // 0x00009C5C
+    涓嶅悎娉曠殑oauth_code = 40029, // 0x00009C5D
+    涓嶅悎娉曠殑refresh_token = 40030, // 0x00009C5E
+    涓嶅悎娉曠殑openid鍒楄〃 = 40031, // 0x00009C5F
+    涓嶅悎娉曠殑openid鍒楄〃闀垮害 = 40032, // 0x00009C60
+    涓嶅悎娉曠殑璇锋眰瀛楃涓嶈兘鍖呭惈uxxxx鏍煎紡鐨勫瓧绗� = 40033, // 0x00009C61
+    涓嶅悎娉曠殑鍙傛暟 = 40035, // 0x00009C63
+    template_id涓嶆纭� = 40037, // 0x00009C65
+    涓嶅悎娉曠殑璇锋眰鏍煎紡 = 40038, // 0x00009C66
+    涓嶅悎娉曠殑URL闀垮害 = 40039, // 0x00009C67
+    涓嶅悎娉曠殑鍒嗙粍id = 40050, // 0x00009C72
+    鍒嗙粍鍚嶅瓧涓嶅悎娉� = 40051, // 0x00009C73
+
+    /// <summary>
+    /// <para>鍏紬鍙凤細杈撳叆鍙傛暟鏈夎</para>
+    /// <para>灏忕▼搴忥細鍙傛暟expire_time濉啓閿欒</para>
+    /// </summary>
+    杈撳叆鍙傛暟鏈夎 = 40097, // 0x00009CA1
+
+    appsecret涓嶆纭� = 40125, // 0x00009CBD
+    璋冪敤鎺ュ彛鐨処P鍦板潃涓嶅湪鐧藉悕鍗曚腑 = 40164, // 0x00009CE4
+    鍙傛暟path濉啓閿欒 = 40165, // 0x00009CE5
+    灏忕▼搴廇ppid涓嶅瓨鍦� = 40166, // 0x00009CE6
+    鍙傛暟query濉啓閿欒 = 40212, // 0x00009D14
+    缂哄皯access_token鍙傛暟 = 41001, // 0x0000A029
+    缂哄皯appid鍙傛暟 = 41002, // 0x0000A02A
+    缂哄皯refresh_token鍙傛暟 = 41003, // 0x0000A02B
+    缂哄皯secret鍙傛暟 = 41004, // 0x0000A02C
+    缂哄皯澶氬獟浣撴枃浠舵暟鎹� = 41005, // 0x0000A02D
+    缂哄皯media_id鍙傛暟 = 41006, // 0x0000A02E
+    缂哄皯瀛愯彍鍗曟暟鎹� = 41007, // 0x0000A02F
+    缂哄皯oauth_code = 41008, // 0x0000A030
+    缂哄皯openid = 41009, // 0x0000A031
+    form_id涓嶆纭甠鎴栬�呰繃鏈� = 41028, // 0x0000A044
+    form_id宸茶浣跨敤 = 41029, // 0x0000A045
+    page涓嶆纭� = 41030, // 0x0000A046
+    access_token瓒呮椂 = 42001, // 0x0000A411
+    refresh_token瓒呮椂 = 42002, // 0x0000A412
+    oauth_code瓒呮椂 = 42003, // 0x0000A413
+    闇�瑕丟ET璇锋眰 = 43001, // 0x0000A7F9
+    闇�瑕丳OST璇锋眰 = 43002, // 0x0000A7FA
+    闇�瑕丠TTPS璇锋眰 = 43003, // 0x0000A7FB
+    闇�瑕佹帴鏀惰�呭叧娉� = 43004, // 0x0000A7FC
+    闇�瑕佸ソ鍙嬪叧绯� = 43005, // 0x0000A7FD
+
+    /// <summary>[灏忕▼搴忚闃呮秷鎭痌鐢ㄦ埛鎷掔粷鎺ュ彈娑堟伅锛屽鏋滅敤鎴蜂箣鍓嶆浘缁忚闃呰繃锛屽垯琛ㄧず鐢ㄦ埛鍙栨秷浜嗚闃呭叧绯�</summary>
+    鐢ㄦ埛鎷掔粷鎺ュ彈娑堟伅 = 43101, // 0x0000A85D
+
+    娌℃湁鏉冮檺 = 43104, // 0x0000A860
+    澶氬獟浣撴枃浠朵负绌� = 44001, // 0x0000ABE1
+    POST鐨勬暟鎹寘涓虹┖ = 44002, // 0x0000ABE2
+    鍥炬枃娑堟伅鍐呭涓虹┖ = 44003, // 0x0000ABE3
+    鏂囨湰娑堟伅鍐呭涓虹┖ = 44004, // 0x0000ABE4
+    澶氬獟浣撴枃浠跺ぇ灏忚秴杩囬檺鍒� = 45001, // 0x0000AFC9
+    娑堟伅鍐呭瓒呰繃闄愬埗 = 45002, // 0x0000AFCA
+    鏍囬瀛楁瓒呰繃闄愬埗 = 45003, // 0x0000AFCB
+    鎻忚堪瀛楁瓒呰繃闄愬埗 = 45004, // 0x0000AFCC
+    閾炬帴瀛楁瓒呰繃闄愬埗 = 45005, // 0x0000AFCD
+    鍥剧墖閾炬帴瀛楁瓒呰繃闄愬埗 = 45006, // 0x0000AFCE
+    璇煶鎾斁鏃堕棿瓒呰繃闄愬埗 = 45007, // 0x0000AFCF
+    鍥炬枃娑堟伅瓒呰繃闄愬埗 = 45008, // 0x0000AFD0
+    鎺ュ彛璋冪敤瓒呰繃闄愬埗 = 45009, // 0x0000AFD1
+    鍒涘缓鑿滃崟涓暟瓒呰繃闄愬埗 = 45010, // 0x0000AFD2
+    鍥炲鏃堕棿瓒呰繃闄愬埗 = 45015, // 0x0000AFD7
+    绯荤粺鍒嗙粍涓嶅厑璁镐慨鏀� = 45016, // 0x0000AFD8
+    鍒嗙粍鍚嶅瓧杩囬暱 = 45017, // 0x0000AFD9
+    鍒嗙粍鏁伴噺瓒呰繃涓婇檺 = 45018, // 0x0000AFDA
+    瓒呭嚭鍝嶅簲鏁伴噺闄愬埗 = 45047, // 0x0000AFF7
+    鍒涘缓鐨勬爣绛炬暟杩囧璇锋敞鎰忎笉鑳借秴杩�100涓� = 45056, // 0x0000B000
+    鏍囩鍚嶉潪娉曡娉ㄦ剰涓嶈兘鍜屽叾浠栨爣绛鹃噸鍚� = 45157, // 0x0000B065
+    鏍囩鍚嶉暱搴﹁秴杩�30涓瓧鑺� = 45158, // 0x0000B066
+    涓嶅瓨鍦ㄥ獟浣撴暟鎹� = 46001, // 0x0000B3B1
+    涓嶅瓨鍦ㄧ殑鑿滃崟鐗堟湰 = 46002, // 0x0000B3B2
+    涓嶅瓨鍦ㄧ殑鑿滃崟鏁版嵁 = 46003, // 0x0000B3B3
+    瑙f瀽JSON_XML鍐呭閿欒 = 47001, // 0x0000B799
+
+    /// <summary>[灏忕▼搴忚闃呮秷鎭痌妯℃澘鍙傛暟涓嶅噯纭紝鍙兘涓虹┖鎴栬�呬笉婊¤冻瑙勫垯锛宔rrmsg浼氭彁绀哄叿浣撴槸鍝釜瀛楁鍑洪敊</summary>
+    妯℃澘鍙傛暟涓嶅噯纭� = 47003, // 0x0000B79B
+
+    api鍔熻兘鏈巿鏉� = 48001, // 0x0000BB81
+    鐢ㄦ埛鏈巿鏉冭api = 50001, // 0x0000C351
+    鍚嶇О鏍煎紡涓嶅悎娉� = 53010, // 0x0000CF12
+    鍚嶇О妫�娴嬪懡涓鐜囬檺鍒� = 53011, // 0x0000CF13
+    绂佹浣跨敤璇ュ悕绉� = 53012, // 0x0000CF14
+    鍏紬鍙穇鍚嶇О涓庡凡鏈夊叕浼楀彿鍚嶇О閲嶅_灏忕▼搴廮璇ュ悕绉颁笌宸叉湁灏忕▼搴忓悕绉伴噸澶� = 53013, // 0x0000CF15
+    鍏紬鍙穇鍏紬鍙峰凡鏈塤鍚嶇ОA_鏃禵闇�涓庤甯愬彿鐩稿悓涓讳綋鎵嶅彲鐢宠_鍚嶇ОA_灏忕▼搴廮灏忕▼搴忓凡鏈塤鍚嶇ОA_鏃禵闇�涓庤甯愬彿鐩稿悓涓讳綋鎵嶅彲鐢宠_鍚嶇ОA_ = 53014, // 0x0000CF16
+    鍏紬鍙穇璇ュ悕绉颁笌宸叉湁灏忕▼搴忓悕绉伴噸澶峗闇�涓庤灏忕▼搴忓笎鍙风浉鍚屼富浣撴墠鍙敵璇穇灏忕▼搴廮璇ュ悕绉颁笌宸叉湁鍏紬鍙峰悕绉伴噸澶峗闇�涓庤鍏紬鍙峰笎鍙风浉鍚屼富浣撴墠鍙敵璇� = 53015, // 0x0000CF17
+    鍏紬鍙穇璇ュ悕绉颁笌宸叉湁澶氫釜灏忕▼搴忓悕绉伴噸澶峗鏆備笉鏀寔鐢宠_灏忕▼搴廮璇ュ悕绉颁笌宸叉湁澶氫釜鍏紬鍙峰悕绉伴噸澶峗鏆備笉鏀寔鐢宠 = 53016, // 0x0000CF18
+    鍏紬鍙穇灏忕▼搴忓凡鏈塤鍚嶇ОA_鏃禵闇�涓庤甯愬彿鐩稿悓涓讳綋鎵嶅彲鐢宠_鍚嶇ОA_灏忕▼搴廮鍏紬鍙峰凡鏈塤鍚嶇ОA_鏃禵闇�涓庤甯愬彿鐩稿悓涓讳綋鎵嶅彲鐢宠_鍚嶇ОA = 53017, // 0x0000CF19
+    鍚嶇О鍛戒腑寰俊鍙� = 53018, // 0x0000CF1A
+    鍚嶇О鍦ㄤ繚鎶ゆ湡鍐� = 53019, // 0x0000CF1B
+    娉曚汉濮撳悕涓庡井淇″彿涓嶄竴鑷� = 61070, // 0x0000EE8E
+    绯荤粺閿欒system_error = 61450, // 0x0000F00A
+    鍙傛暟閿欒invalid_parameter = 61451, // 0x0000F00B
+    鏃犳晥瀹㈡湇璐﹀彿invalid_kf_account = 61452, // 0x0000F00C
+    瀹㈡湇甯愬彿宸插瓨鍦╧f_account_exsited = 61453, // 0x0000F00D
+
+    /// <summary>
+    /// 瀹㈡湇甯愬彿鍚嶉暱搴﹁秴杩囬檺鍒�(浠呭厑璁�10涓嫳鏂囧瓧绗︼紝涓嶅寘鎷珸鍙夽鍚庣殑鍏紬鍙风殑寰俊鍙�)(invalid kf_acount length)
+    /// </summary>
+    瀹㈡湇甯愬彿鍚嶉暱搴﹁秴杩囬檺鍒� = 61454, // 0x0000F00E
+
+    /// <summary>
+    /// 瀹㈡湇甯愬彿鍚嶅寘鍚潪娉曞瓧绗�(浠呭厑璁歌嫳鏂�+鏁板瓧)(illegal character in kf_account)
+    /// </summary>
+    瀹㈡湇甯愬彿鍚嶅寘鍚潪娉曞瓧绗� = 61455, // 0x0000F00F
+
+    /// <summary>瀹㈡湇甯愬彿涓暟瓒呰繃闄愬埗(10涓鏈嶈处鍙�)(kf_account count exceeded)</summary>
+    瀹㈡湇甯愬彿涓暟瓒呰繃闄愬埗 = 61456, // 0x0000F010
+
+    鏃犳晥澶村儚鏂囦欢绫诲瀷invalid_file_type = 61457, // 0x0000F011
+    鏃ユ湡鏍煎紡閿欒 = 61500, // 0x0000F03C
+    鏃ユ湡鑼冨洿閿欒 = 61501, // 0x0000F03D
+    鍙戦�佹秷鎭け璐璇ョ敤鎴峰凡琚姞鍏ラ粦鍚嶅崟_鏃犳硶鍚戞鍙戦�佹秷鎭� = 62751, // 0x0000F51F
+    闂ㄥ簵涓嶅瓨鍦� = 65115, // 0x0000FE5B
+    璇ラ棬搴楃姸鎬佷笉鍏佽鏇存柊 = 65118, // 0x0000FE5E
+    鏍囩鏍煎紡閿欒 = 85006, // 0x00014C0E
+    椤甸潰璺緞閿欒 = 85007, // 0x00014C0F
+    绫荤洰濉啓閿欒 = 85008, // 0x00014C10
+    宸茬粡鏈夋鍦ㄥ鏍哥殑鐗堟湰 = 85009, // 0x00014C11
+    item_list鏈夐」鐩负绌� = 85010, // 0x00014C12
+    鏍囬濉啓閿欒 = 85011, // 0x00014C13
+    鏃犳晥鐨勫鏍竔d = 85012, // 0x00014C14
+    鐗堟湰杈撳叆閿欒 = 85015, // 0x00014C17
+    娌℃湁瀹℃牳鐗堟湰 = 85019, // 0x00014C1B
+    瀹℃牳鐘舵�佹湭婊¤冻鍙戝竷 = 85020, // 0x00014C1C
+    鐘舵�佷笉鍙彉 = 85021, // 0x00014C1D
+    action闈炴硶 = 85022, // 0x00014C1E
+    瀹℃牳鍒楄〃濉啓鐨勯」鐩暟涓嶅湪1鍒�5浠ュ唴 = 85023, // 0x00014C1F
+    闇�瑕佽ˉ鍏呯浉搴旇祫鏂檁濉啓org_code鍜宱ther_files鍙傛暟 = 85024, // 0x00014C20
+    绠$悊鍛樻墜鏈虹櫥璁版暟閲忓凡瓒呰繃涓婇檺 = 85025, // 0x00014C21
+    璇ュ井淇″彿宸茬粦瀹�5涓鐞嗗憳 = 85026, // 0x00014C22
+    绠$悊鍛樿韩浠借瘉宸茬櫥璁拌繃5娆� = 85027, // 0x00014C23
+    璇ヤ富浣撶櫥璁版暟閲忓凡瓒呰繃涓婇檺 = 85028, // 0x00014C24
+    鍟嗗鍚嶇О宸茶鍗犵敤 = 85029, // 0x00014C25
+    涓嶈兘浣跨敤璇ュ悕绉� = 85031, // 0x00014C27
+    璇ュ悕绉板湪渚垫潈鎶曡瘔淇濇姢鏈� = 85032, // 0x00014C28
+    鍚嶇О鍖呭惈杩濊鍐呭鎴栧井淇$瓑淇濈暀瀛� = 85033, // 0x00014C29
+    鍟嗗鍚嶇О鍦ㄦ敼鍚�15澶╀繚鎶ゆ湡鍐� = 85034, // 0x00014C2A
+    闇�涓庤甯愬彿鐩稿悓涓讳綋鎵嶅彲鐢宠 = 85035, // 0x00014C2B
+    浠嬬粛涓惈鏈夎櫄鍋囨贩娣嗗唴瀹� = 85036, // 0x00014C2C
+    澶村儚鎴栬�呯畝浠嬩慨鏀硅揪鍒版瘡涓湀涓婇檺 = 85049, // 0x00014C39
+    姝e湪瀹℃牳涓璤璇峰嬁閲嶅鎻愪氦 = 85050, // 0x00014C3A
+    璇峰厛鎴愬姛鍒涘缓闂ㄥ簵鍚庡啀璋冪敤 = 85053, // 0x00014C3D
+    涓存椂mediaid鏃犳晥 = 85056, // 0x00014C40
+    閾炬帴閿欒 = 85066, // 0x00014C4A
+    娴嬭瘯閾炬帴涓嶆槸瀛愰摼鎺� = 85068, // 0x00014C4C
+    鏍¢獙鏂囦欢澶辫触 = 85069, // 0x00014C4D
+    涓汉绫诲瀷灏忕▼搴忔棤娉曡缃簩缁寸爜瑙勫垯 = 85070, // 0x00014C4E
+    宸叉坊鍔犺閾炬帴_璇峰嬁閲嶅娣诲姞 = 85071, // 0x00014C4F
+    璇ラ摼鎺ュ凡琚崰鐢� = 85072, // 0x00014C50
+    浜岀淮鐮佽鍒欏凡婊� = 85073, // 0x00014C51
+    灏忕▼搴忔湭鍙戝竷_灏忕▼搴忓繀椤诲厛鍙戝竷浠g爜鎵嶅彲浠ュ彂甯冧簩缁寸爜璺宠浆瑙勫垯 = 85074, // 0x00014C52
+    涓汉绫诲瀷灏忕▼搴忔棤娉曡缃簩缁寸爜瑙勫垯1 = 85075, // 0x00014C53
+    灏忕▼搴忔病鏈夌嚎涓婄増鏈琠涓嶈兘杩涜鐏板害 = 85079, // 0x00014C57
+    灏忕▼搴忔彁浜ょ殑瀹℃牳鏈鏍搁�氳繃 = 85080, // 0x00014C58
+    鏃犳晥鐨勫彂甯冩瘮渚� = 85081, // 0x00014C59
+    褰撳墠鐨勫彂甯冩瘮渚嬮渶瑕佹瘮涔嬪墠璁剧疆鐨勯珮 = 85082, // 0x00014C5A
+    灏忕▼搴忔彁瀹℃暟閲忓凡杈炬湰鏈堜笂闄� = 85085, // 0x00014C5D
+    鎻愪氦浠g爜瀹℃牳涔嬪墠闇�鎻愬墠涓婁紶浠g爜 = 85086, // 0x00014C5E
+    灏忕▼搴忓凡浣跨敤_api_navigateToMiniProgram_璇峰0鏄庤烦杞琠appid_鍒楄〃鍚庡啀娆℃彁浜� = 85087, // 0x00014C5F
+    涓嶆槸鐢辩涓夋柟浠e皬绋嬪簭杩涜璋冪敤 = 86000, // 0x00014FF0
+    涓嶅瓨鍦ㄧ涓夋柟鐨勫凡缁忔彁浜ょ殑浠g爜 = 86001, // 0x00014FF1
+    灏忕▼搴忚繕鏈缃樀绉癬澶村儚_绠�浠媉璇峰厛璁剧疆瀹屽悗鍐嶉噸鏂版彁浜� = 86002, // 0x00014FF2
+    鏃犳晥寰俊鍙� = 86004, // 0x00014FF4
+
+    /// <summary>
+    /// 灏忕▼搴忎负鈥滅鍚嶉敊璇�濄�傚搴斿叕浼楀彿锛� 87009, 鈥渆rrmsg鈥� : 鈥渞eply is not exists鈥� //璇ュ洖澶嶄笉瀛樺湪
+    /// </summary>
+    绛惧悕閿欒 = 87009, // 0x000153E1
+
+    鐜扮綉宸茬粡鍦ㄧ伆搴﹀彂甯僟涓嶈兘杩涜鐗堟湰鍥為�� = 87011, // 0x000153E3
+    璇ョ増鏈笉鑳藉洖閫�_鍙兘鐨勫師鍥燺1_鏃犱笂涓�涓嚎涓婄増鐢ㄤ簬鍥為��_2_姝ょ増鏈负宸插洖閫�鐗堟湰_涓嶈兘鍥為��_3_姝ょ増鏈负鍥為��鍔熻兘涓婄嚎涔嬪墠鐨勭増鏈琠涓嶈兘鍥為�� = 87012, // 0x000153E4
+    鍐呭鍚湁杩濇硶杩濊鍐呭 = 87014, // 0x000153E6
+    娌℃湁鐣欒█鏉冮檺 = 88000, // 0x000157C0
+    璇ュ浘鏂囦笉瀛樺湪 = 88001, // 0x000157C1
+    鏂囩珷瀛樺湪鏁忔劅淇℃伅 = 88002, // 0x000157C2
+    绮鹃�夎瘎璁烘暟宸茶揪涓婇檺 = 88003, // 0x000157C3
+    宸茶鐢ㄦ埛鍒犻櫎_鏃犳硶绮鹃�� = 88004, // 0x000157C4
+    宸茬粡鍥炲杩囦簡 = 88005, // 0x000157C5
+    鍥炲瓒呰繃闀垮害闄愬埗鎴栦负0 = 88007, // 0x000157C7
+    璇ヨ瘎璁轰笉瀛樺湪 = 88008, // 0x000157C8
+    鑾峰彇璇勮鏁扮洰涓嶅悎娉� = 88010, // 0x000157CA
+    璇ュ叕浼楀彿_灏忕▼搴忓凡缁忕粦瀹氫簡寮�鏀惧钩鍙板笎鍙� = 89000, // 0x00015BA8
+    涓氬姟鍩熷悕鏃犳洿鏀筥鏃犻渶閲嶅璁剧疆 = 89019, // 0x00015BBB
+    灏氭湭璁剧疆灏忕▼搴忎笟鍔″煙鍚峗璇峰厛鍦ㄧ涓夋柟骞冲彴涓缃皬绋嬪簭涓氬姟鍩熷悕鍚庡湪璋冪敤鏈帴鍙� = 89020, // 0x00015BBC
+    璇锋眰淇濆瓨鐨勫煙鍚嶄笉鏄涓夋柟骞冲彴涓凡璁剧疆鐨勫皬绋嬪簭涓氬姟鍩熷悕鎴栧瓙鍩熷悕 = 89021, // 0x00015BBD
+    涓氬姟鍩熷悕鏁伴噺瓒呰繃闄愬埗_鏈�澶氬彲浠ユ坊鍔�100涓笟鍔″煙鍚� = 89029, // 0x00015BC5
+    涓汉灏忕▼搴忎笉鏀寔璋冪敤_setwebviewdomain_鎺ュ彛 = 89231, // 0x00015C8F
+    鍐呴儴閿欒 = 89247, // 0x00015C9F
+    浼佷笟浠g爜绫诲瀷鏃犳晥_璇烽�夋嫨姝g‘绫诲瀷濉啓 = 89248, // 0x00015CA0
+    璇ヤ富浣撳凡鏈変换鍔℃墽琛屼腑_璺濅笂娆′换鍔�24h鍚庡啀璇� = 89249, // 0x00015CA1
+    鏈壘鍒拌浠诲姟 = 89250, // 0x00015CA2
+    寰呮硶浜轰汉鑴告牳韬牎楠� = 89251, // 0x00015CA3
+    娉曚汉_浼佷笟淇℃伅涓�鑷存�ф牎楠屼腑 = 89252, // 0x00015CA4
+    缂哄皯鍙傛暟 = 89253, // 0x00015CA5
+    绗笁鏂规潈闄愰泦涓嶅叏_琛ュ叏鏉冮檺闆嗗叏缃戝彂甯冨悗鐢熸晥 = 89254, // 0x00015CA6
+    绯荤粺涓嶇ǔ瀹歘璇风◢鍚庡啀璇昣濡傚娆″け璐ヨ閫氳繃绀惧尯鍙嶉 = 89401, // 0x00015D39
+    璇ュ鏍稿崟涓嶅湪寰呭鏍搁槦鍒梍璇锋鏌ユ槸鍚﹀凡鎻愪氦瀹℃牳鎴栧凡瀹″畬 = 89402, // 0x00015D3A
+    鏈崟灞炰簬骞冲彴涓嶆敮鎸佸姞鎬ョ绫籣璇风瓑寰呮甯稿鏍告祦绋� = 89403, // 0x00015D3B
+    鏈崟宸插姞閫熸垚鍔焈璇峰嬁閲嶅鎻愪氦 = 89404, // 0x00015D3C
+    鏈湀鍔犳�ラ搴︿笉瓒砡璇锋彁鍗囨彁瀹¤川閲忎互鑾峰彇鏇村棰濆害 = 89405, // 0x00015D3D
+    璇ョ粡钀ヨ祫璐ㄥ凡娣诲姞_璇峰嬁閲嶅娣诲姞 = 92000, // 0x00016760
+    闄勮繎鍦扮偣娣诲姞鏁伴噺杈惧埌涓婄嚎_鏃犳硶缁х画娣诲姞 = 92002, // 0x00016762
+    鍦扮偣宸茶鍏跺畠灏忕▼搴忓崰鐢� = 92003, // 0x00016763
+    闄勮繎鍔熻兘琚皝绂� = 92004, // 0x00016764
+    鍦扮偣姝e湪瀹℃牳涓� = 92005, // 0x00016765
+    鍦扮偣姝e湪灞曠ず灏忕▼搴� = 92006, // 0x00016766
+    鍦扮偣瀹℃牳澶辫触 = 92007, // 0x00016767
+    绋嬪簭鏈睍绀哄湪璇ュ湴鐐� = 92008, // 0x00016768
+    灏忕▼搴忔湭涓婃灦鎴栦笉鍙 = 92009, // 0x00016769
+    鍦扮偣涓嶅瓨鍦� = 93010, // 0x00016B52
+    涓汉绫诲瀷灏忕▼搴忎笉鍙敤 = 93011, // 0x00016B53
+    宸蹭笅鍙戠殑妯℃澘娑堟伅娉曚汉骞舵湭纭涓斿凡瓒呮椂_24h_鏈繘琛岃韩浠借瘉鏍¢獙 = 100001, // 0x000186A1
+    宸蹭笅鍙戠殑妯℃澘娑堟伅娉曚汉骞舵湭纭涓斿凡瓒呮椂_24h_鏈繘琛屼汉鑴歌瘑鍒牎楠� = 100002, // 0x000186A2
+    宸蹭笅鍙戠殑妯℃澘娑堟伅娉曚汉骞舵湭纭涓斿凡瓒呮椂_24h = 100003, // 0x000186A3
+    姝よ处鍙峰凡琚皝绂乢鏃犳硶鎿嶄綔 = 200011, // 0x00030D4B
+    绉佹湁妯℃澘鏁板凡杈句笂闄恄涓婇檺_50_涓� = 200012, // 0x00030D4C
+    姝ゆā鐗堝凡琚皝绂乢鏃犳硶閫夌敤 = 200013, // 0x00030D4D
+    妯$増tid鍙傛暟閿欒 = 200014, // 0x00030D4E
+    鍏抽敭璇嶅垪琛╧idList鍙傛暟閿欒 = 200020, // 0x00030D54
+    鍦烘櫙鎻忚堪sceneDesc鍙傛暟閿欒 = 200021, // 0x00030D55
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/YesNoEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/YesNoEnum.cs
new file mode 100644
index 0000000..b241a67
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Enum/YesNoEnum.cs
@@ -0,0 +1,26 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鏄惁鏋氫妇
+/// </summary>
+[Description("鏄惁鏋氫妇")]
+public enum YesNoEnum
+{
+    /// <summary>
+    /// 鏄�
+    /// </summary>
+    [Description("鏄�")]
+    Y = 1,
+
+    /// <summary>
+    /// 鍚�
+    /// </summary>
+    [Description("鍚�")]
+    N = 2
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/AppEventSubscriber.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/AppEventSubscriber.cs
new file mode 100644
index 0000000..2a43805
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/AppEventSubscriber.cs
@@ -0,0 +1,56 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 浜嬩欢璁㈤槄
+/// </summary>
+public class AppEventSubscriber : IEventSubscriber, ISingleton, IDisposable
+{
+    private readonly IServiceScope _serviceScope;
+
+    public AppEventSubscriber(IServiceScopeFactory scopeFactory)
+    {
+        _serviceScope = scopeFactory.CreateScope();
+    }
+
+    /// <summary>
+    /// 澧炲姞寮傚父鏃ュ織
+    /// </summary>
+    /// <param name="context"></param>
+    /// <returns></returns>
+    [EventSubscribe(CommonConst.AddExLog)]
+    public async Task CreateExLog(EventHandlerExecutingContext context)
+    {
+        var rep = _serviceScope.ServiceProvider.GetRequiredService<SqlSugarRepository<SysLogEx>>();
+        await rep.InsertAsync((SysLogEx)context.Source.Payload);
+    }
+
+    /// <summary>
+    /// 鍙戦�佸紓甯搁偖浠�
+    /// </summary>
+    /// <param name="context"></param>
+    /// <returns></returns>
+    [EventSubscribe(CommonConst.SendErrorMail)]
+    public async Task SendOrderErrorMail(EventHandlerExecutingContext context)
+    {
+        //var mailTempPath = Path.Combine(App.WebHostEnvironment.WebRootPath, "Temp\\ErrorMail.tp");
+        //var mailTemp = File.ReadAllText(mailTempPath);
+        //var mail = await _serviceScope.ServiceProvider.GetRequiredService<IViewEngine>().RunCompileFromCachedAsync(mailTemp, );
+
+        var title = "Admin.NET 绯荤粺寮傚父";
+        await _serviceScope.ServiceProvider.GetRequiredService<SysEmailService>().SendEmail(JSON.Serialize(context.Source.Payload), title);
+    }
+
+    /// <summary>
+    /// 閲婃斁鏈嶅姟浣滅敤鍩�
+    /// </summary>
+    public void Dispose()
+    {
+        _serviceScope.Dispose();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/EventConsumer.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/EventConsumer.cs
new file mode 100644
index 0000000..595bc89
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/EventConsumer.cs
@@ -0,0 +1,112 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// Redis 娑堟伅鎵╁睍
+/// </summary>
+/// <typeparam name="T"></typeparam>
+public class EventConsumer<T> : IDisposable
+{
+    private Task _consumerTask;
+    private CancellationTokenSource _consumerCts;
+
+    /// <summary>
+    /// 娑堣垂鑰�
+    /// </summary>
+    public IProducerConsumer<T> Consumer { get; }
+
+    /// <summary>
+    /// ConsumerBuilder
+    /// </summary>
+    public FullRedis Builder { get; set; }
+
+    /// <summary>
+    /// 娑堟伅鍥炶皟
+    /// </summary>
+    public event EventHandler<T> Received;
+
+    /// <summary>
+    /// 鏋勯�犲嚱鏁�
+    /// </summary>
+    public EventConsumer(FullRedis redis, string routeKey)
+    {
+        Builder = redis;
+        Consumer = Builder.GetQueue<T>(routeKey);
+    }
+
+    /// <summary>
+    /// 鍚姩
+    /// </summary>
+    /// <exception cref="InvalidOperationException"></exception>
+    public void Start()
+    {
+        if (Consumer is null)
+        {
+            throw new InvalidOperationException("Subscribe first using the Consumer.Subscribe() function");
+        }
+        if (_consumerTask != null)
+        {
+            return;
+        }
+        _consumerCts = new CancellationTokenSource();
+        var ct = _consumerCts.Token;
+        _consumerTask = Task.Factory.StartNew(() =>
+        {
+            while (!ct.IsCancellationRequested)
+            {
+                var cr = Consumer.TakeOne(10);
+                if (cr == null) continue;
+                Received?.Invoke(this, cr);
+            }
+        }, ct, TaskCreationOptions.LongRunning, TaskScheduler.Default);
+    }
+
+    /// <summary>
+    /// 鍋滄
+    /// </summary>
+    /// <returns></returns>
+    public async Task Stop()
+    {
+        if (_consumerCts == null || _consumerTask == null) return;
+        _consumerCts.Cancel();
+        try
+        {
+            await _consumerTask;
+        }
+        finally
+        {
+            _consumerTask = null;
+            _consumerCts = null;
+        }
+    }
+
+    /// <summary>
+    /// 閲婃斁
+    /// </summary>
+    public void Dispose()
+    {
+        Dispose(true);
+        GC.SuppressFinalize(this);
+    }
+
+    /// <summary>
+    /// 閲婃斁
+    /// </summary>
+    /// <param name="disposing"></param>
+    protected virtual void Dispose(bool disposing)
+    {
+        if (disposing)
+        {
+            if (_consumerTask != null)
+            {
+                Stop().Wait();
+            }
+            Builder.Dispose();
+        }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/RabbitMQEventSourceStore.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/RabbitMQEventSourceStore.cs
new file mode 100644
index 0000000..0372eb0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/RabbitMQEventSourceStore.cs
@@ -0,0 +1,132 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using RabbitMQ.Client;
+using RabbitMQ.Client.Events;
+using System.Threading.Channels;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// RabbitMQ鑷畾涔変簨浠舵簮瀛樺偍鍣�
+/// </summary>
+public class RabbitMQEventSourceStore : IEventSourceStorer
+{
+    /// <summary>
+    /// 鍐呭瓨閫氶亾浜嬩欢婧愬瓨鍌ㄥ櫒
+    /// </summary>
+    private readonly Channel<IEventSource> _channel;
+
+    /// <summary>
+    /// 閫氶亾瀵硅薄
+    /// </summary>
+    private readonly IModel _model;
+
+    /// <summary>
+    /// 杩炴帴瀵硅薄
+    /// </summary>
+    private readonly IConnection _connection;
+
+    /// <summary>
+    /// 璺敱閿�
+    /// </summary>
+    private readonly string _routeKey;
+
+    /// <summary>
+    /// 鏋勯�犲嚱鏁�
+    /// </summary>
+    /// <param name="factory">杩炴帴宸ュ巶</param>
+    /// <param name="routeKey">璺敱閿�</param>
+    /// <param name="capacity">瀛樺偍鍣ㄦ渶澶氳兘澶熷鐞嗗灏戞秷鎭紝瓒呰繃璇ュ閲忚繘鍏ョ瓑寰呭啓鍏�</param>
+    public RabbitMQEventSourceStore(ConnectionFactory factory, string routeKey, int capacity)
+    {
+        // 閰嶇疆閫氶亾锛岃缃秴鍑洪粯璁ゅ閲忓悗杩涘叆绛夊緟
+        var boundedChannelOptions = new BoundedChannelOptions(capacity)
+        {
+            FullMode = BoundedChannelFullMode.Wait
+        };
+
+        // 鍒涘缓鏈夐檺瀹归噺閫氶亾
+        _channel = Channel.CreateBounded<IEventSource>(boundedChannelOptions);
+
+        // 鍒涘缓杩炴帴
+        _connection = factory.CreateConnection();
+        _routeKey = routeKey;
+
+        // 鍒涘缓閫氶亾
+        _model = _connection.CreateModel();
+
+        // 澹版槑璺敱闃熷垪
+        _model.QueueDeclare(routeKey, false, false, false, null);
+
+        // 鍒涘缓娑堟伅璁㈤槄鑰�
+        var consumer = new EventingBasicConsumer(_model);
+
+        // 璁㈤槄娑堟伅骞跺啓鍏ュ唴瀛� Channel
+        consumer.Received += (ch, ea) =>
+        {
+            // 璇诲彇鍘熷娑堟伅
+            var stringEventSource = Encoding.UTF8.GetString(ea.Body.ToArray());
+
+            // 杞崲涓� IEventSource锛屽鏋滆嚜瀹氫箟浜� EventSource锛屾敞鎰忓睘鎬ф槸鍙鍙啓
+            var eventSource = JSON.Deserialize<ChannelEventSource>(stringEventSource);
+
+            // 鍐欏叆鍐呭瓨绠¢亾瀛樺偍鍣�
+            _channel.Writer.WriteAsync(eventSource);
+
+            // 纭璇ユ秷鎭凡琚秷璐�
+            _model.BasicAck(ea.DeliveryTag, false);
+        };
+
+        // 鍚姩娑堣垂鑰呬笖璁剧疆涓烘墜鍔ㄥ簲绛旀秷鎭�
+        _model.BasicConsume(routeKey, false, consumer);
+    }
+
+    /// <summary>
+    /// 灏嗕簨浠舵簮鍐欏叆瀛樺偍鍣�
+    /// </summary>
+    /// <param name="eventSource">浜嬩欢婧愬璞�</param>
+    /// <param name="cancellationToken">鍙栨秷浠诲姟 Token</param>
+    /// <returns><see cref="ValueTask"/></returns>
+    public async ValueTask WriteAsync(IEventSource eventSource, CancellationToken cancellationToken)
+    {
+        if (eventSource == default)
+            throw new ArgumentNullException(nameof(eventSource));
+
+        // 鍒ゆ柇鏄惁鏄� ChannelEventSource 鎴栬嚜瀹氫箟鐨� EventSource
+        if (eventSource is ChannelEventSource source)
+        {
+            // 搴忓垪鍖栧強鍙戝竷
+            var data = Encoding.UTF8.GetBytes(JSON.Serialize(source));
+            _model.BasicPublish("", _routeKey, null, data);
+        }
+        else
+        {
+            // 澶勭悊鍔ㄦ�佽闃�
+            await _channel.Writer.WriteAsync(eventSource, cancellationToken);
+        }
+    }
+
+    /// <summary>
+    /// 浠庡瓨鍌ㄥ櫒涓鍙栦竴鏉′簨浠舵簮
+    /// </summary>
+    /// <param name="cancellationToken">鍙栨秷浠诲姟 Token</param>
+    /// <returns>浜嬩欢婧愬璞�</returns>
+    public async ValueTask<IEventSource> ReadAsync(CancellationToken cancellationToken)
+    {
+        var eventSource = await _channel.Reader.ReadAsync(cancellationToken);
+        return eventSource;
+    }
+
+    /// <summary>
+    /// 閲婃斁闈炴墭绠¤祫婧�
+    /// </summary>
+    public void Dispose()
+    {
+        _model.Dispose();
+        _connection.Dispose();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/RedisEventSourceStorer.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/RedisEventSourceStorer.cs
new file mode 100644
index 0000000..975a3dc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/RedisEventSourceStorer.cs
@@ -0,0 +1,132 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using System.Threading.Channels;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// Redis鑷畾涔変簨浠舵簮瀛樺偍鍣�
+/// </summary>
+public sealed class RedisEventSourceStorer : IEventSourceStorer, IDisposable
+{
+    /// <summary>
+    /// 娑堣垂鑰�
+    /// </summary>
+    private readonly EventConsumer<ChannelEventSource> _eventConsumer;
+
+    /// <summary>
+    /// 鍐呭瓨閫氶亾浜嬩欢婧愬瓨鍌ㄥ櫒
+    /// </summary>
+    private readonly Channel<IEventSource> _channel;
+
+    /// <summary>
+    /// Redis 杩炴帴瀵硅薄
+    /// </summary>
+    private readonly FullRedis _redis;
+
+    /// <summary>
+    /// 璺敱閿�
+    /// </summary>
+    private readonly string _routeKey;
+
+    /// <summary>
+    /// 鏋勯�犲嚱鏁�
+    /// </summary>
+    /// <param name="redis">Redis 杩炴帴瀵硅薄</param>
+    /// <param name="routeKey">璺敱閿�</param>
+    /// <param name="capacity">瀛樺偍鍣ㄦ渶澶氳兘澶熷鐞嗗灏戞秷鎭紝瓒呰繃璇ュ閲忚繘鍏ョ瓑寰呭啓鍏�</param>
+    public RedisEventSourceStorer(ICache redis, string routeKey, int capacity)
+    {
+        // 閰嶇疆閫氶亾锛岃缃秴鍑洪粯璁ゅ閲忓悗杩涘叆绛夊緟
+        var boundedChannelOptions = new BoundedChannelOptions(capacity)
+        {
+            FullMode = BoundedChannelFullMode.Wait
+        };
+
+        // 鍒涘缓鏈夐檺瀹归噺閫氶亾
+        _channel = Channel.CreateBounded<IEventSource>(boundedChannelOptions);
+
+        _redis = redis as FullRedis;
+        _routeKey = routeKey;
+
+        // 鍒涘缓娑堟伅璁㈤槄鑰�
+        _eventConsumer = new EventConsumer<ChannelEventSource>(_redis, _routeKey);
+
+        // 璁㈤槄娑堟伅鍐欏叆 Channel
+        _eventConsumer.Received += (send, cr) =>
+        {
+            // 鍙嶅簭鍒楀寲娑堟伅
+            //var eventSource = JsonConvert.DeserializeObject<ChannelEventSource>(cr);
+
+            // 鍐欏叆鍐呭瓨绠¢亾瀛樺偍鍣�
+            Task.Run(async () =>
+            {
+                await _channel.Writer.WriteAsync(cr);
+            });
+        };
+
+        // 鍚姩娑堣垂鑰�
+        _eventConsumer.Start();
+    }
+
+    /// <summary>
+    /// 灏嗕簨浠舵簮鍐欏叆瀛樺偍鍣�
+    /// </summary>
+    /// <param name="eventSource">浜嬩欢婧愬璞�</param>
+    /// <param name="cancellationToken">鍙栨秷浠诲姟 Token</param>
+    /// <returns><see cref="ValueTask"/></returns>
+    public async ValueTask WriteAsync(IEventSource eventSource, CancellationToken cancellationToken)
+    {
+        // 绌烘鏌�
+        if (eventSource == default)
+        {
+            throw new ArgumentNullException(nameof(eventSource));
+        }
+
+        // 杩欓噷鍒ゆ柇鏄惁鏄� ChannelEventSource 鎴栬�� 鑷畾涔夌殑 EventSource
+        if (eventSource is ChannelEventSource source)
+        {
+            // 搴忓垪鍖栨秷鎭�
+            //var data = JsonSerializer.Serialize(source);
+
+            // 鑾峰彇涓�涓闃呭璞�
+            var queue = _redis.GetQueue<ChannelEventSource>(_routeKey);
+
+            // 寮傛鍙戝竷
+            await Task.Factory.StartNew(() =>
+            {
+                queue.Add(source);
+            }, cancellationToken, TaskCreationOptions.LongRunning, System.Threading.Tasks.TaskScheduler.Default);
+        }
+        else
+        {
+            // 杩欓噷澶勭悊鍔ㄦ�佽闃呴棶棰�
+            await _channel.Writer.WriteAsync(eventSource, cancellationToken);
+        }
+    }
+
+    /// <summary>
+    /// 浠庡瓨鍌ㄥ櫒涓鍙栦竴鏉′簨浠舵簮
+    /// </summary>
+    /// <param name="cancellationToken">鍙栨秷浠诲姟 Token</param>
+    /// <returns>浜嬩欢婧愬璞�</returns>
+    public async ValueTask<IEventSource> ReadAsync(CancellationToken cancellationToken)
+    {
+        // 璇诲彇涓�鏉′簨浠舵簮
+        var eventSource = await _channel.Reader.ReadAsync(cancellationToken);
+        return eventSource;
+    }
+
+    /// <summary>
+    /// 閲婃斁闈炴墭绠¤祫婧�
+    /// </summary>
+    public async void Dispose()
+    {
+        await _eventConsumer.Stop();
+        GC.SuppressFinalize(this);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/RedisQueue.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/RedisQueue.cs
new file mode 100644
index 0000000..3659642
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/RedisQueue.cs
@@ -0,0 +1,150 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using NewLife.Caching.Queues;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// Redis 娑堟伅闃熷垪
+/// </summary>
+public static class RedisQueue
+{
+    private static readonly ICache _cache = App.GetRequiredService<ICache>();
+
+    /// <summary>
+    /// 鑾峰彇鍙俊闃熷垪锛岄渶瑕佺‘璁�
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="topic"></param>
+    /// <returns></returns>
+    public static RedisReliableQueue<T> GetRedisReliableQueue<T>(string topic)
+    {
+        var queue = (_cache as FullRedis).GetReliableQueue<T>(topic);
+        return queue;
+    }
+
+    /// <summary>
+    /// 鍙俊闃熷垪鍥炴粴
+    /// </summary>
+    /// <param name="topic"></param>
+    /// <param name="retryInterval"></param>
+    /// <returns></returns>
+    public static int RollbackAllAck(string topic, int retryInterval = 60)
+    {
+        var queue = GetRedisReliableQueue<string>(topic);
+        queue.RetryInterval = retryInterval;
+        return queue.RollbackAllAck();
+    }
+
+    /// <summary>
+    /// 鍙戦�佷竴涓暟鎹垪琛ㄥ埌鍙俊闃熷垪
+    /// </summary>
+    /// <param name="topic"></param>
+    /// <param name="value"></param>
+    /// <typeparam name="T"></typeparam>
+    /// <returns></returns>
+    public static int AddReliableQueueList<T>(string topic, List<T> value)
+    {
+        var queue = (_cache as FullRedis).GetReliableQueue<T>(topic);
+        var count = queue.Count;
+        var result = queue.Add(value.ToArray());
+        return result - count;
+    }
+
+    /// <summary>
+    /// 鍙戦�佷竴鏉℃暟鎹埌鍙俊闃熷垪
+    /// </summary>
+    /// <param name="topic"></param>
+    /// <param name="value"></param>
+    /// <typeparam name="T"></typeparam>
+    /// <returns></returns>
+    public static int AddReliableQueue<T>(string topic, T value)
+    {
+        var queue = (_cache as FullRedis).GetReliableQueue<T>(topic);
+        var count = queue.Count;
+        var result = queue.Add(value);
+        return result - count;
+    }
+
+    /// <summary>
+    /// 鑾峰彇寤惰繜闃熷垪
+    /// </summary>
+    /// <param name="topic"></param>
+    /// <typeparam name="T"></typeparam>
+    /// <returns></returns>
+    public static RedisDelayQueue<T> GetDelayQueue<T>(string topic)
+    {
+        var queue = (_cache as FullRedis).GetDelayQueue<T>(topic);
+        return queue;
+    }
+
+    /// <summary>
+    /// 鍙戦�佷竴鏉℃暟鎹埌寤惰繜闃熷垪
+    /// </summary>
+    /// <param name="topic"></param>
+    /// <param name="value"></param>
+    /// <param name="delay">寤惰繜鏃堕棿銆傚崟浣嶇</param>
+    /// <typeparam name="T"></typeparam>
+    /// <returns></returns>
+    public static int AddDelayQueue<T>(string topic, T value, int delay)
+    {
+        var queue = GetDelayQueue<T>(topic);
+        return queue.Add(value, delay);
+    }
+
+    /// <summary>
+    /// 鍙戦�佹暟鎹垪琛ㄥ埌寤惰繜闃熷垪
+    /// </summary>
+    /// <param name="topic"></param>
+    /// <param name="value"></param>
+    /// <param name="delay"></param>
+    /// <typeparam name="T">寤惰繜鏃堕棿銆傚崟浣嶇</typeparam>
+    /// <returns></returns>
+    public static int AddDelayQueue<T>(string topic, List<T> value, int delay)
+    {
+        var queue = GetDelayQueue<T>(topic);
+        queue.Delay = delay;
+        return queue.Add(value.ToArray());
+    }
+
+    /// <summary>
+    /// 鍦ㄥ彲淇¢槦鍒楄幏鍙栦竴鏉℃暟鎹�
+    /// </summary>
+    /// <param name="topic"></param>
+    /// <typeparam name="T"></typeparam>
+    /// <returns></returns>
+    public static T ReliableTakeOne<T>(string topic)
+    {
+        var queue = GetRedisReliableQueue<T>(topic);
+        return queue.TakeOne(1);
+    }
+
+    /// <summary>
+    /// 寮傛鍦ㄥ彲淇¢槦鍒楄幏鍙栦竴鏉℃暟鎹�
+    /// </summary>
+    /// <param name="topic"></param>
+    /// <typeparam name="T"></typeparam>
+    /// <returns></returns>
+    public static async Task<T> ReliableTakeOneAsync<T>(string topic)
+    {
+        var queue = GetRedisReliableQueue<T>(topic);
+        return await queue.TakeOneAsync(1);
+    }
+
+    /// <summary>
+    /// 鍦ㄥ彲淇¢槦鍒楄幏鍙栧鏉℃暟鎹�
+    /// </summary>
+    /// <param name="topic"></param>
+    /// <param name="count"></param>
+    /// <typeparam name="T"></typeparam>
+    /// <returns></returns>
+    public static List<T> ReliableTake<T>(string topic, int count)
+    {
+        var queue = GetRedisReliableQueue<T>(topic);
+        return queue.Take(count).ToList();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/RetryEventHandlerExecutor.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/RetryEventHandlerExecutor.cs
new file mode 100644
index 0000000..f53f575
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/EventBus/RetryEventHandlerExecutor.cs
@@ -0,0 +1,22 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 浜嬩欢鎵ц鍣�-瓒呮椂鎺у埗銆佸け璐ラ噸璇曠啍鏂瓑绛�
+/// </summary>
+public class RetryEventHandlerExecutor : IEventHandlerExecutor
+{
+    public async Task ExecuteAsync(EventHandlerExecutingContext context, Func<EventHandlerExecutingContext, Task> handler)
+    {
+        // 濡傛灉鎵ц澶辫触锛屾瘡闅� 1s 閲嶈瘯锛屾渶澶氫笁娆�
+        await Retry.InvokeAsync(async () =>
+        {
+            await handler(context);
+        }, 3, 1000);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/ConsoleLogoSetup.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/ConsoleLogoSetup.cs
new file mode 100644
index 0000000..be20e97
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/ConsoleLogoSetup.cs
@@ -0,0 +1,27 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鎺у埗鍙發ogo
+/// </summary>
+public static class ConsoleLogoSetup
+{
+    public static void AddConsoleLogo(this IServiceCollection services)
+    {
+        Console.ForegroundColor = ConsoleColor.Blue;
+        Console.WriteLine(@"
+              _           _         _   _ ______ _______
+     /\      | |         (_)       | \ | |  ____|__   __|
+    /  \   __| |_ __ ___  _ _ __   |  \| | |__     | |
+   / /\ \ / _` | '_ ` _ \| | '_ \  | . ` |  __|    | |
+  / ____ \ (_| | | | | | | | | | |_| |\  | |____   | |
+ /_/    \_\__,_|_| |_| |_|_|_| |_(_)_| \_|______|  |_| ");
+        Console.ForegroundColor = ConsoleColor.Yellow;
+        Console.WriteLine(@"璁�.NET鏇寸畝鍗曘�佹洿閫氱敤銆佹洿娴佽锛�");
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/EnumExtension.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/EnumExtension.cs
new file mode 100644
index 0000000..89447cf
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/EnumExtension.cs
@@ -0,0 +1,225 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鏋氫妇鎷撳睍
+/// </summary>
+public static class EnumExtension
+{
+    // 鏋氫妇鏄剧ず瀛楀吀缂撳瓨
+    private static readonly ConcurrentDictionary<Type, Dictionary<int, string>> EnumDisplayValueDict = new();
+
+    // 鏋氫妇鍊煎瓧鍏哥紦瀛�
+    private static readonly ConcurrentDictionary<Type, Dictionary<int, string>> EnumNameValueDict = new();
+
+    // 鏋氫妇绫诲瀷缂撳瓨
+    private static ConcurrentDictionary<string, Type> _enumTypeDict;
+
+    /// <summary>
+    /// 鑾峰彇鏋氫妇瀵硅薄Key涓庡悕绉扮殑瀛楀吀锛堢紦瀛橈級
+    /// </summary>
+    /// <param name="enumType"></param>
+    /// <returns></returns>
+    public static Dictionary<int, string> GetEnumDictionary(this Type enumType)
+    {
+        if (!enumType.IsEnum)
+            throw new ArgumentException("Type '" + enumType.Name + "' is not an enum.");
+
+        // 鏌ヨ缂撳瓨
+        var enumDic = EnumNameValueDict.ContainsKey(enumType) ? EnumNameValueDict[enumType] : new Dictionary<int, string>();
+        if (enumDic.Count != 0)
+            return enumDic;
+        // 鍙栨灇涓剧被鍨嬬殑Key/Value瀛楀吀闆嗗悎
+        enumDic = GetEnumDictionaryItems(enumType);
+
+        // 缂撳瓨
+        EnumNameValueDict[enumType] = enumDic;
+
+        return enumDic;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏋氫妇瀵硅薄Key涓庡悕绉扮殑瀛楀吀
+    /// </summary>
+    /// <param name="enumType"></param>
+    /// <returns></returns>
+    private static Dictionary<int, string> GetEnumDictionaryItems(this Type enumType)
+    {
+        // 鑾峰彇绫诲瀷鐨勫瓧娈碉紝鍒濆鍖栦竴涓湁闄愰暱搴︾殑瀛楀吀
+        var enumFields = enumType.GetFields(BindingFlags.Public | BindingFlags.Static);
+        Dictionary<int, string> enumDic = new(enumFields.Length);
+
+        // 閬嶅巻瀛楁鏁扮粍鑾峰彇key鍜宯ame
+        foreach (var enumField in enumFields)
+        {
+            var intValue = (int)enumField.GetValue(enumType);
+            enumDic[intValue] = enumField.Name;
+        }
+
+        return enumDic;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏋氫妇绫诲瀷key涓庢弿杩扮殑瀛楀吀锛堢紦瀛橈級
+    /// </summary>
+    /// <param name="enumType"></param>
+    /// <returns></returns>
+    /// <exception cref="Exception"></exception>
+    public static Dictionary<int, string> GetEnumDescDictionary(this Type enumType)
+    {
+        if (!enumType.IsEnum)
+            throw new ArgumentException("Type '" + enumType.Name + "' is not an enum.");
+
+        // 鏌ヨ缂撳瓨
+        var enumDic = EnumDisplayValueDict.ContainsKey(enumType)
+            ? EnumDisplayValueDict[enumType]
+            : new Dictionary<int, string>();
+        if (enumDic.Count != 0)
+            return enumDic;
+        // 鍙栨灇涓剧被鍨嬬殑Key/Value瀛楀吀闆嗗悎
+        enumDic = GetEnumDescDictionaryItems(enumType);
+
+        // 缂撳瓨
+        EnumDisplayValueDict[enumType] = enumDic;
+
+        return enumDic;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏋氫妇绫诲瀷key涓庢弿杩扮殑瀛楀吀锛堟病鏈夋弿杩板垯鑾峰彇name锛�
+    /// </summary>
+    /// <param name="enumType"></param>
+    /// <returns></returns>
+    /// <exception cref="Exception"></exception>
+    private static Dictionary<int, string> GetEnumDescDictionaryItems(this Type enumType)
+    {
+        // 鑾峰彇绫诲瀷鐨勫瓧娈碉紝鍒濆鍖栦竴涓湁闄愰暱搴︾殑瀛楀吀
+        var enumFields = enumType.GetFields(BindingFlags.Public | BindingFlags.Static);
+        Dictionary<int, string> enumDic = new(enumFields.Length);
+
+        // 閬嶅巻瀛楁鏁扮粍鑾峰彇key鍜宯ame
+        foreach (var enumField in enumFields)
+        {
+            var intValue = (int)enumField.GetValue(enumType);
+            var desc = enumField.GetDescriptionValue<DescriptionAttribute>();
+            enumDic[intValue] = desc != null && !string.IsNullOrEmpty(desc.Description) ? desc.Description : enumField.Name;
+        }
+
+        return enumDic;
+    }
+
+    /// <summary>
+    /// 浠庣▼搴忛泦涓煡鎵炬寚瀹氭灇涓剧被鍨�
+    /// </summary>
+    /// <param name="assembly"></param>
+    /// <param name="typeName"></param>
+    /// <returns></returns>
+    public static Type TryToGetEnumType(Assembly assembly, string typeName)
+    {
+        // 鏋氫妇缂撳瓨涓虹┖鍒欓噸鏂板姞杞芥灇涓剧被鍨嬪瓧鍏�
+        _enumTypeDict ??= LoadEnumTypeDict(assembly);
+
+        // 鎸夊悕绉版煡鎵�
+        return _enumTypeDict.ContainsKey(typeName) ? _enumTypeDict[typeName] : null;
+    }
+
+    /// <summary>
+    /// 浠庣▼搴忛泦涓姞杞芥墍鏈夋灇涓剧被鍨�
+    /// </summary>
+    /// <param name="assembly"></param>
+    /// <returns></returns>
+    private static ConcurrentDictionary<string, Type> LoadEnumTypeDict(Assembly assembly)
+    {
+        // 鍙栫▼搴忛泦涓墍鏈夌被鍨�
+        var typeArray = assembly.GetTypes();
+
+        // 杩囨护闈炴灇涓剧被鍨嬶紝杞垚瀛楀吀鏍煎紡骞惰繑鍥�
+        var dict = typeArray.Where(o => o.IsEnum).ToDictionary(o => o.Name, o => o);
+        ConcurrentDictionary<string, Type> enumTypeDict = new(dict);
+        return enumTypeDict;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏋氫妇鐨凞escription
+    /// </summary>
+    /// <param name="value"></param>
+    /// <returns></returns>
+    public static string GetDescription(this System.Enum value)
+    {
+        return value.GetType().GetMember(value.ToString()).FirstOrDefault()?.GetCustomAttribute<DescriptionAttribute>()
+            ?.Description;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏋氫妇鐨凞escription
+    /// </summary>
+    /// <param name="value"></param>
+    /// <returns></returns>
+    public static string GetDescription(this object value)
+    {
+        return value.GetType().GetMember(value.ToString() ?? string.Empty).FirstOrDefault()
+            ?.GetCustomAttribute<DescriptionAttribute>()?.Description;
+    }
+
+    /// <summary>
+    /// 灏嗘灇涓捐浆鎴愭灇涓句俊鎭泦鍚�
+    /// </summary>
+    /// <param name="type"></param>
+    /// <returns></returns>
+    public static List<EnumEntity> EnumToList(this Type type)
+    {
+        if (!type.IsEnum)
+            throw new ArgumentException("Type '" + type.Name + "' is not an enum.");
+        var arr = System.Enum.GetNames(type);
+        return arr.Select(sl =>
+        {
+            var item = System.Enum.Parse(type, sl);
+            return new EnumEntity
+            {
+                Name = item.ToString(),
+                Describe = item.GetDescription() ?? item.ToString(),
+                Value = item.GetHashCode()
+            };
+        }).ToList();
+    }
+
+    /// <summary>
+    /// 鏋氫妇ToList
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="type"></param>
+    /// <returns></returns>
+    public static List<T> EnumToList<T>(this Type type)
+    {
+        if (!type.IsEnum)
+            throw new ArgumentException("Type '" + type.Name + "' is not an enum.");
+        var arr = System.Enum.GetNames(type);
+        return arr.Select(name => (T)System.Enum.Parse(type, name)).ToList();
+    }
+}
+
+/// <summary>
+/// 鏋氫妇瀹炰綋
+/// </summary>
+public class EnumEntity
+{
+    /// <summary>
+    /// 鏋氫妇鐨勬弿杩�
+    /// </summary>
+    public string Describe { set; get; }
+
+    /// <summary>
+    /// 鏋氫妇鍚嶇О
+    /// </summary>
+    public string Name { set; get; }
+
+    /// <summary>
+    /// 鏋氫妇瀵硅薄鐨勫��
+    /// </summary>
+    public int Value { set; get; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/ListExtensions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/ListExtensions.cs
new file mode 100644
index 0000000..77d8c90
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/ListExtensions.cs
@@ -0,0 +1,26 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+public static class ListExtensions
+{
+    public static async Task ForEachAsync<T>(this List<T> list, Func<T, Task> func)
+    {
+        foreach (var value in list)
+        {
+            await func(value);
+        }
+    }
+
+    public static async Task ForEachAsync<T>(this IEnumerable<T> source, Func<T, Task> action)
+    {
+        foreach (var value in source)
+        {
+            await action(value);
+        }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/ObjectExtension.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/ObjectExtension.cs
new file mode 100644
index 0000000..d729bf5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/ObjectExtension.cs
@@ -0,0 +1,339 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 瀵硅薄鎷撳睍
+/// </summary>
+[SuppressSniffer]
+public static partial class ObjectExtension
+{
+    /// <summary>
+    /// 鍒ゆ柇绫诲瀷鏄惁瀹炵幇鏌愪釜娉涘瀷
+    /// </summary>
+    /// <param name="type">绫诲瀷</param>
+    /// <param name="generic">娉涘瀷绫诲瀷</param>
+    /// <returns>bool</returns>
+    public static bool HasImplementedRawGeneric(this Type type, Type generic)
+    {
+        // 妫�鏌ユ帴鍙g被鍨�
+        var isTheRawGenericType = type.GetInterfaces().Any(IsTheRawGenericType);
+        if (isTheRawGenericType) return true;
+
+        // 妫�鏌ョ被鍨�
+        while (type != null && type != typeof(object))
+        {
+            isTheRawGenericType = IsTheRawGenericType(type);
+            if (isTheRawGenericType) return true;
+            type = type.BaseType;
+        }
+
+        return false;
+
+        // 鍒ゆ柇閫昏緫
+        bool IsTheRawGenericType(Type type) => generic == (type.IsGenericType ? type.GetGenericTypeDefinition() : type);
+    }
+
+    /// <summary>
+    /// 灏嗗瓧鍏歌浆鍖栦负QueryString鏍煎紡
+    /// </summary>
+    /// <param name="dict"></param>
+    /// <param name="urlEncode"></param>
+    /// <returns></returns>
+    public static string ToQueryString(this Dictionary<string, string> dict, bool urlEncode = true)
+    {
+        return string.Join("&", dict.Select(p => $"{(urlEncode ? p.Key?.UrlEncode() : "")}={(urlEncode ? p.Value?.UrlEncode() : "")}"));
+    }
+
+    /// <summary>
+    /// 灏嗗瓧绗︿覆URL缂栫爜
+    /// </summary>
+    /// <param name="str"></param>
+    /// <returns></returns>
+    public static string UrlEncode(this string str)
+    {
+        return string.IsNullOrEmpty(str) ? "" : System.Uri.EscapeDataString(str);
+    }
+
+    /// <summary>
+    /// 瀵硅薄搴忓垪鍖栨垚Json瀛楃涓�
+    /// </summary>
+    /// <param name="obj"></param>
+    /// <returns></returns>
+    public static string ToJson(this object obj)
+    {
+        return JSON.GetJsonSerializer().Serialize(obj);
+    }
+
+    /// <summary>
+    /// Json瀛楃涓插弽搴忓垪鍖栨垚瀵硅薄
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="json"></param>
+    /// <returns></returns>
+    public static T ToObject<T>(this string json)
+    {
+        return JSON.GetJsonSerializer().Deserialize<T>(json);
+    }
+
+    /// <summary>
+    /// 灏唎bject杞崲涓簂ong锛岃嫢澶辫触鍒欒繑鍥�0
+    /// </summary>
+    /// <param name="obj"></param>
+    /// <returns></returns>
+    public static long ParseToLong(this object obj)
+    {
+        try
+        {
+            return long.Parse(obj.ToString());
+        }
+        catch
+        {
+            return 0L;
+        }
+    }
+
+    /// <summary>
+    /// 灏唎bject杞崲涓簂ong锛岃嫢澶辫触鍒欒繑鍥炴寚瀹氬��
+    /// </summary>
+    /// <param name="str"></param>
+    /// <param name="defaultValue"></param>
+    /// <returns></returns>
+    public static long ParseToLong(this string str, long defaultValue)
+    {
+        try
+        {
+            return long.Parse(str);
+        }
+        catch
+        {
+            return defaultValue;
+        }
+    }
+
+    /// <summary>
+    /// 灏唎bject杞崲涓篸ouble锛岃嫢澶辫触鍒欒繑鍥�0
+    /// </summary>
+    /// <param name="obj"></param>
+    /// <returns></returns>
+    public static double ParseToDouble(this object obj)
+    {
+        try
+        {
+            return double.Parse(obj.ToString());
+        }
+        catch
+        {
+            return 0;
+        }
+    }
+
+    /// <summary>
+    /// 灏唎bject杞崲涓篸ouble锛岃嫢澶辫触鍒欒繑鍥炴寚瀹氬��
+    /// </summary>
+    /// <param name="str"></param>
+    /// <param name="defaultValue"></param>
+    /// <returns></returns>
+    public static double ParseToDouble(this object str, double defaultValue)
+    {
+        try
+        {
+            return double.Parse(str.ToString());
+        }
+        catch
+        {
+            return defaultValue;
+        }
+    }
+
+    /// <summary>
+    /// 灏唖tring杞崲涓篋ateTime锛岃嫢澶辫触鍒欒繑鍥炴棩鏈熸渶灏忓��
+    /// </summary>
+    /// <param name="str"></param>
+    /// <returns></returns>
+    public static DateTime ParseToDateTime(this string str)
+    {
+        try
+        {
+            if (string.IsNullOrWhiteSpace(str))
+            {
+                return DateTime.MinValue;
+            }
+            if (str.Contains('-') || str.Contains('/'))
+            {
+                return DateTime.Parse(str);
+            }
+            else
+            {
+                int length = str.Length;
+                switch (length)
+                {
+                    case 4:
+                        return DateTime.ParseExact(str, "yyyy", System.Globalization.CultureInfo.CurrentCulture);
+
+                    case 6:
+                        return DateTime.ParseExact(str, "yyyyMM", System.Globalization.CultureInfo.CurrentCulture);
+
+                    case 8:
+                        return DateTime.ParseExact(str, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
+
+                    case 10:
+                        return DateTime.ParseExact(str, "yyyyMMddHH", System.Globalization.CultureInfo.CurrentCulture);
+
+                    case 12:
+                        return DateTime.ParseExact(str, "yyyyMMddHHmm", System.Globalization.CultureInfo.CurrentCulture);
+
+                    case 14:
+                        return DateTime.ParseExact(str, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
+
+                    default:
+                        return DateTime.ParseExact(str, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
+                }
+            }
+        }
+        catch
+        {
+            return DateTime.MinValue;
+        }
+    }
+
+    /// <summary>
+    /// 灏唖tring杞崲涓篋ateTime锛岃嫢澶辫触鍒欒繑鍥為粯璁ゅ��
+    /// </summary>
+    /// <param name="str"></param>
+    /// <param name="defaultValue"></param>
+    /// <returns></returns>
+    public static DateTime ParseToDateTime(this string str, DateTime? defaultValue)
+    {
+        try
+        {
+            if (string.IsNullOrWhiteSpace(str))
+            {
+                return defaultValue.GetValueOrDefault();
+            }
+            if (str.Contains('-') || str.Contains('/'))
+            {
+                return DateTime.Parse(str);
+            }
+            else
+            {
+                int length = str.Length;
+                switch (length)
+                {
+                    case 4:
+                        return DateTime.ParseExact(str, "yyyy", System.Globalization.CultureInfo.CurrentCulture);
+
+                    case 6:
+                        return DateTime.ParseExact(str, "yyyyMM", System.Globalization.CultureInfo.CurrentCulture);
+
+                    case 8:
+                        return DateTime.ParseExact(str, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
+
+                    case 10:
+                        return DateTime.ParseExact(str, "yyyyMMddHH", System.Globalization.CultureInfo.CurrentCulture);
+
+                    case 12:
+                        return DateTime.ParseExact(str, "yyyyMMddHHmm", System.Globalization.CultureInfo.CurrentCulture);
+
+                    case 14:
+                        return DateTime.ParseExact(str, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
+
+                    default:
+                        return DateTime.ParseExact(str, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
+                }
+            }
+        }
+        catch
+        {
+            return defaultValue.GetValueOrDefault();
+        }
+    }
+
+    /// <summary>
+    /// 灏� string 鏃堕棿鏃ユ湡鏍煎紡杞崲鎴愬瓧绗︿覆 濡� {yyyy} => 2024
+    /// </summary>
+    /// <param name="str"></param>
+    /// <returns></returns>
+    public static string ParseToDateTimeForRep(this string str)
+    {
+        if (string.IsNullOrWhiteSpace(str))
+            str = $"{DateTime.Now.Year}/{DateTime.Now.Month}/{DateTime.Now.Day}";
+
+        var date = DateTime.Now;
+        var reg = new Regex(@"(\{.+?})");
+        var match = reg.Matches(str);
+        match.ToList().ForEach(u =>
+        {
+            var temp = date.ToString(u.ToString().Substring(1, u.Length - 2));
+            str = str.Replace(u.ToString(), temp);
+        });
+        return str;
+    }
+
+    /// <summary>
+    /// 鏄惁鏈夊��
+    /// </summary>
+    /// <param name="obj"></param>
+    /// <returns></returns>
+    public static bool IsNullOrEmpty(this object obj)
+    {
+        return obj == null || string.IsNullOrEmpty(obj.ToString());
+    }
+
+    /// <summary>
+    /// 瀛楃涓叉帺鐮�
+    /// </summary>
+    /// <param name="str">瀛楃涓�</param>
+    /// <param name="mask">鎺╃爜绗�</param>
+    /// <returns></returns>
+    public static string Mask(this string str, char mask = '*')
+    {
+        if (string.IsNullOrWhiteSpace(str?.Trim()))
+            return str;
+
+        str = str.Trim();
+        var masks = mask.ToString().PadLeft(4, mask);
+        return str.Length switch
+        {
+            >= 11 => Regex.Replace(str, "(.{3}).*(.{4})", $"$1{masks}$2"),
+            10 => Regex.Replace(str, "(.{3}).*(.{3})", $"$1{masks}$2"),
+            9 => Regex.Replace(str, "(.{2}).*(.{3})", $"$1{masks}$2"),
+            8 => Regex.Replace(str, "(.{2}).*(.{2})", $"$1{masks}$2"),
+            7 => Regex.Replace(str, "(.{1}).*(.{2})", $"$1{masks}$2"),
+            6 => Regex.Replace(str, "(.{1}).*(.{1})", $"$1{masks}$2"),
+            _ => Regex.Replace(str, "(.{1}).*", $"$1{masks}")
+        };
+    }
+
+    /// <summary>
+    /// 韬唤璇佸彿鎺╃爜
+    /// </summary>
+    /// <param name="idCard">韬唤璇佸彿</param>
+    /// <param name="mask">鎺╃爜绗�</param>
+    /// <returns></returns>
+    public static string MaskIdCard(this string idCard, char mask = '*')
+    {
+        if (!idCard.TryValidate(ValidationTypes.IDCard).IsValid) return idCard;
+
+        var masks = mask.ToString().PadLeft(8, mask);
+        return Regex.Replace(idCard, @"^(.{6})(.*)(.{4})$", $"$1{masks}$3");
+    }
+
+    /// <summary>
+    /// 閭鎺╃爜
+    /// </summary>
+    /// <param name="email">閭</param>
+    /// <param name="mask">鎺╃爜绗�</param>
+    /// <returns></returns>
+    public static string MaskEmail(this string email, char mask = '*')
+    {
+        if (!email.TryValidate(ValidationTypes.EmailAddress).IsValid) return email;
+
+        var masks = mask.ToString().PadLeft(4, mask);
+        return email.Replace(@"^([^\.]+)\.?", $"$1{masks}$2");
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/RepositoryExtension.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/RepositoryExtension.cs
new file mode 100644
index 0000000..c0b518a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Extension/RepositoryExtension.cs
@@ -0,0 +1,407 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using MapsterMapper;
+
+namespace Admin.NET.Core;
+
+public static class RepositoryExtension
+{
+    /// <summary>
+    /// 瀹炰綋鍋囧垹闄� _rep.FakeDelete(entity)
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="repository"></param>
+    /// <param name="entity"></param>
+    /// <returns></returns>
+    public static int FakeDelete<T>(this ISugarRepository repository, T entity) where T : EntityBase, new()
+    {
+        return repository.Context.FakeDelete(entity);
+    }
+
+    /// <summary>
+    /// 瀹炰綋鍋囧垹闄� db.FakeDelete(entity)
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="db"></param>
+    /// <param name="entity"></param>
+    /// <returns></returns>
+    public static int FakeDelete<T>(this ISqlSugarClient db, T entity) where T : EntityBase, new()
+    {
+        return db.Updateable(entity).AS().ReSetValue(x => { x.IsDelete = true; })
+            .IgnoreColumns(ignoreAllNullColumns: true)
+            .EnableDiffLogEvent()   // 璁板綍宸紓鏃ュ織
+            .UpdateColumns(x => new { x.IsDelete, x.UpdateTime, x.UpdateUserId })  // 鍏佽鏇存柊鐨勫瓧娈�-AOP鎷︽埅鑷姩璁剧疆UpdateTime銆乁pdateUserId
+            .ExecuteCommand();
+    }
+
+    /// <summary>
+    /// 瀹炰綋闆嗗悎鎵归噺鍋囧垹闄� _rep.FakeDelete(entity)
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="repository"></param>
+    /// <param name="entity"></param>
+    /// <returns></returns>
+    public static int FakeDelete<T>(this ISugarRepository repository, List<T> entity) where T : EntityBase, new()
+    {
+        return repository.Context.FakeDelete(entity);
+    }
+
+    /// <summary>
+    /// 瀹炰綋闆嗗悎鎵归噺鍋囧垹闄� db.FakeDelete(entity)
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="db"></param>
+    /// <param name="entity"></param>
+    /// <returns></returns>
+    public static int FakeDelete<T>(this ISqlSugarClient db, List<T> entity) where T : EntityBase, new()
+    {
+        return db.Updateable(entity).AS().ReSetValue(x => { x.IsDelete = true; })
+            .IgnoreColumns(ignoreAllNullColumns: true)
+            .EnableDiffLogEvent()   // 璁板綍宸紓鏃ュ織
+            .UpdateColumns(x => new { x.IsDelete, x.UpdateTime, x.UpdateUserId })  // 鍏佽鏇存柊鐨勫瓧娈�-AOP鎷︽埅鑷姩璁剧疆UpdateTime銆乁pdateUserId
+            .ExecuteCommand();
+    }
+
+    /// <summary>
+    /// 瀹炰綋鍋囧垹闄ゅ紓姝� _rep.FakeDeleteAsync(entity)
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="repository"></param>
+    /// <param name="entity"></param>
+    /// <returns></returns>
+    public static Task<int> FakeDeleteAsync<T>(this ISugarRepository repository, T entity) where T : EntityBase, new()
+    {
+        return repository.Context.FakeDeleteAsync(entity);
+    }
+
+    /// <summary>
+    /// 瀹炰綋鍋囧垹闄� db.FakeDelete(entity)
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="db"></param>
+    /// <param name="entity"></param>
+    /// <returns></returns>
+    public static Task<int> FakeDeleteAsync<T>(this ISqlSugarClient db, T entity) where T : EntityBase, new()
+    {
+        return db.Updateable(entity).AS().ReSetValue(x => { x.IsDelete = true; })
+            .IgnoreColumns(ignoreAllNullColumns: true)
+            .EnableDiffLogEvent()   // 璁板綍宸紓鏃ュ織
+            .UpdateColumns(x => new { x.IsDelete, x.UpdateTime, x.UpdateUserId })  // 鍏佽鏇存柊鐨勫瓧娈�-AOP鎷︽埅鑷姩璁剧疆UpdateTime銆乁pdateUserId
+            .ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 瀹炰綋闆嗗悎鎵归噺鍋囧垹闄ゅ紓姝� _rep.FakeDeleteAsync(entity)
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="repository"></param>
+    /// <param name="entity"></param>
+    /// <returns></returns>
+    public static Task<int> FakeDeleteAsync<T>(this ISugarRepository repository, List<T> entity) where T : EntityBase, new()
+    {
+        return repository.Context.FakeDeleteAsync(entity);
+    }
+
+    /// <summary>
+    /// 瀹炰綋闆嗗悎鎵归噺鍋囧垹闄� db.FakeDelete(entity)
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="db"></param>
+    /// <param name="entity"></param>
+    /// <returns></returns>
+    public static Task<int> FakeDeleteAsync<T>(this ISqlSugarClient db, List<T> entity) where T : EntityBase, new()
+    {
+        return db.Updateable(entity).AS().ReSetValue(x => { x.IsDelete = true; })
+            .IgnoreColumns(ignoreAllNullColumns: true)
+            .EnableDiffLogEvent()   // 璁板綍宸紓鏃ュ織
+            .UpdateColumns(x => new { x.IsDelete, x.UpdateTime, x.UpdateUserId })  // 鍏佽鏇存柊鐨勫瓧娈�-AOP鎷︽埅鑷姩璁剧疆UpdateTime銆乁pdateUserId
+            .ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鎺掑簭鏂瑰紡(榛樿闄嶅簭)
+    /// </summary>
+    /// <param name="queryable"></param>
+    /// <param name="pageInput"> </param>
+    /// <param name="prefix"> </param>
+    /// <param name="defaultSortField"> 榛樿鎺掑簭瀛楁 </param>
+    /// <param name="descSort"> 鏄惁闄嶅簭 </param>
+    /// <returns> </returns>
+    public static ISugarQueryable<T> OrderBuilder<T>(this ISugarQueryable<T> queryable, BasePageInput pageInput, string prefix = "", string defaultSortField = "Id", bool descSort = true)
+    {
+        // 绾﹀畾榛樿姣忓紶琛ㄩ兘鏈塈d鎺掑簭
+        var orderStr = string.IsNullOrWhiteSpace(defaultSortField) ? "" : $"{prefix}{defaultSortField}" + (descSort ? " Desc" : " Asc");
+
+        TypeAdapterConfig typeAdapterConfig = new();
+        typeAdapterConfig.ForType<T, BasePageInput>().IgnoreNullValues(true);
+        Mapper mapper = new(typeAdapterConfig); // 鍔″繀灏唌apper璁句负鍗曞疄渚�
+        var nowPagerInput = mapper.Map<BasePageInput>(pageInput);
+        // 鎺掑簭鏄惁鍙敤-鎺掑簭瀛楁鍜屾帓搴忛『搴忛兘涓洪潪绌烘墠鍚敤鎺掑簭
+        if (!string.IsNullOrEmpty(nowPagerInput.Field) && !string.IsNullOrEmpty(nowPagerInput.Order))
+        {
+            var col = queryable.Context.EntityMaintenance.GetEntityInfo<T>().Columns.FirstOrDefault(u => u.PropertyName.Equals(nowPagerInput.Field, StringComparison.CurrentCultureIgnoreCase));
+            orderStr = col != null
+                ? $"{prefix}{col.DbColumnName} {(nowPagerInput.Order == nowPagerInput.DescStr ? "Desc" : "Asc")}"
+                : $"{prefix}{nowPagerInput.Field} {(nowPagerInput.Order == nowPagerInput.DescStr ? "Desc" : "Asc")}";
+        }
+        return queryable.OrderByIF(!string.IsNullOrWhiteSpace(orderStr), orderStr);
+    }
+
+    /// <summary>
+    /// 鏇存柊瀹炰綋骞惰褰曞樊寮傛棩蹇� _rep.UpdateWithDiffLog(entity)
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="repository"></param>
+    /// <param name="entity"></param>
+    /// <param name="ignoreAllNullColumns"></param>
+    /// <returns></returns>
+    public static int UpdateWithDiffLog<T>(this ISugarRepository repository, T entity, bool ignoreAllNullColumns = true) where T : EntityBase, new()
+    {
+        return repository.Context.UpdateWithDiffLog(entity, ignoreAllNullColumns);
+    }
+
+    /// <summary>
+    /// 鏇存柊瀹炰綋骞惰褰曞樊寮傛棩蹇� _rep.UpdateWithDiffLog(entity)
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="db"></param>
+    /// <param name="entity"></param>
+    /// <param name="ignoreAllNullColumns"></param>
+    /// <returns></returns>
+    public static int UpdateWithDiffLog<T>(this ISqlSugarClient db, T entity, bool ignoreAllNullColumns = true) where T : EntityBase, new()
+    {
+        return db.Updateable(entity).AS()
+            .IgnoreColumns(ignoreAllNullColumns: ignoreAllNullColumns)
+            .EnableDiffLogEvent()
+            .ExecuteCommand();
+    }
+
+    /// <summary>
+    /// 鏇存柊瀹炰綋骞惰褰曞樊寮傛棩蹇� _rep.UpdateWithDiffLogAsync(entity)
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="repository"></param>
+    /// <param name="entity"></param>
+    /// <param name="ignoreAllNullColumns"></param>
+    /// <returns></returns>
+    public static Task<int> UpdateWithDiffLogAsync<T>(this ISugarRepository repository, T entity, bool ignoreAllNullColumns = true) where T : EntityBase, new()
+    {
+        return repository.Context.UpdateWithDiffLogAsync(entity, ignoreAllNullColumns);
+    }
+
+    /// <summary>
+    /// 鏇存柊瀹炰綋骞惰褰曞樊寮傛棩蹇� _rep.UpdateWithDiffLogAsync(entity)
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="db"></param>
+    /// <param name="entity"></param>
+    /// <param name="ignoreAllNullColumns"></param>
+    /// <returns></returns>
+    public static Task<int> UpdateWithDiffLogAsync<T>(this ISqlSugarClient db, T entity, bool ignoreAllNullColumns = true) where T : EntityBase, new()
+    {
+        return db.Updateable(entity)
+            .IgnoreColumns(ignoreAllNullColumns: ignoreAllNullColumns)
+            .EnableDiffLogEvent()
+            .ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鏂板瀹炰綋骞惰褰曞樊寮傛棩蹇� _rep.InsertWithDiffLog(entity)
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="repository"></param>
+    /// <param name="entity"></param>
+    /// <returns></returns>
+    public static int InsertWithDiffLog<T>(this ISugarRepository repository, T entity) where T : EntityBase, new()
+    {
+        return repository.Context.InsertWithDiffLog(entity);
+    }
+
+    /// <summary>
+    /// 鏂板瀹炰綋骞惰褰曞樊寮傛棩蹇� _rep.InsertWithDiffLog(entity)
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="db"></param>
+    /// <param name="entity"></param>
+    /// <returns></returns>
+    public static int InsertWithDiffLog<T>(this ISqlSugarClient db, T entity) where T : EntityBase, new()
+    {
+        return db.Insertable(entity).AS().EnableDiffLogEvent().ExecuteCommand();
+    }
+
+    /// <summary>
+    /// 鏂板瀹炰綋骞惰褰曞樊寮傛棩蹇� _rep.InsertWithDiffLogAsync(entity)
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="repository"></param>
+    /// <param name="entity"></param>
+    /// <returns></returns>
+    public static Task<int> InsertWithDiffLogAsync<T>(this ISugarRepository repository, T entity) where T : EntityBase, new()
+    {
+        return repository.Context.InsertWithDiffLogAsync(entity);
+    }
+
+    /// <summary>
+    /// 鏂板瀹炰綋骞惰褰曞樊寮傛棩蹇� _rep.InsertWithDiffLog(entity)
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="db"></param>
+    /// <param name="entity"></param>
+    /// <returns></returns>
+    public static Task<int> InsertWithDiffLogAsync<T>(this ISqlSugarClient db, T entity) where T : EntityBase, new()
+    {
+        return db.Insertable(entity).AS().EnableDiffLogEvent().ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 澶氬簱鏌ヨ
+    /// </summary>
+    /// <param name="queryable"></param>
+    /// <returns> </returns>
+    public static ISugarQueryable<T> AS<T>(this ISugarQueryable<T> queryable)
+    {
+        var info = GetTableInfo<T>();
+        return queryable.AS<T>($"{info.Item1}.{info.Item2}");
+    }
+
+    /// <summary>
+    /// 澶氬簱鏌ヨ
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <typeparam name="T2"></typeparam>
+    /// <param name="queryable"></param>
+    /// <returns></returns>
+    public static ISugarQueryable<T, T2> AS<T, T2>(this ISugarQueryable<T, T2> queryable)
+    {
+        var info = GetTableInfo<T2>();
+        return queryable.AS<T2>($"{info.Item1}.{info.Item2}");
+    }
+
+    /// <summary>
+    /// 澶氬簱鏇存柊
+    /// </summary>
+    /// <param name="updateable"></param>
+    /// <returns> </returns>
+    public static IUpdateable<T> AS<T>(this IUpdateable<T> updateable) where T : EntityBase, new()
+    {
+        var info = GetTableInfo<T>();
+        return updateable.AS($"{info.Item1}.{info.Item2}");
+    }
+
+    /// <summary>
+    /// 澶氬簱鏂板
+    /// </summary>
+    /// <param name="insertable"></param>
+    /// <returns> </returns>
+    public static IInsertable<T> AS<T>(this IInsertable<T> insertable) where T : EntityBase, new()
+    {
+        var info = GetTableInfo<T>();
+        return insertable.AS($"{info.Item1}.{info.Item2}");
+    }
+
+    /// <summary>
+    /// 澶氬簱鍒犻櫎
+    /// </summary>
+    /// <param name="deleteable"></param>
+    /// <returns> </returns>
+    public static IDeleteable<T> AS<T>(this IDeleteable<T> deleteable) where T : EntityBase, new()
+    {
+        var info = GetTableInfo<T>();
+        return deleteable.AS($"{info.Item1}.{info.Item2}");
+    }
+
+    /// <summary>
+    /// 鏍规嵁瀹炰綋绫诲瀷鑾峰彇琛ㄤ俊鎭�
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <returns></returns>
+    private static Tuple<string, string> GetTableInfo<T>()
+    {
+        var entityType = typeof(T);
+        var attr = entityType.GetCustomAttribute<TenantAttribute>();
+        var configId = attr == null ? SqlSugarConst.MainConfigId : attr.configId.ToString();
+        var tableName = entityType.GetCustomAttribute<SugarTable>().TableName;
+        return new Tuple<string, string>(configId, tableName);
+    }
+
+    /// <summary>
+    /// 绂佺敤杩囨护鍣�-閫傜敤浜庢洿鏂板拰鍒犻櫎鎿嶄綔锛堝彧瀵瑰綋鍓嶈姹傛湁鏁堬紝绂佹浣跨敤寮傛锛�
+    /// </summary>
+    /// <param name="repository"></param>
+    /// <param name="action">绂佹寮傛</param>
+    /// <returns></returns>
+    public static void RunWithoutFilter(this ISugarRepository repository, Action action)
+    {
+        repository.Context.QueryFilter.ClearAndBackup(); // 娓呯┖骞跺浠借繃婊ゅ櫒
+        action.Invoke();
+        repository.Context.QueryFilter.Restore(); // 杩樺師杩囨护鍣�
+
+        // 鐢ㄤ緥
+        //_rep.RunWithoutFilter(() =>
+        //{
+        //    鎵ц鏇存柊鎴栬�呭垹闄�
+        //    绂佹浣跨敤寮傛鍑芥暟
+        //});
+    }
+
+    /// <summary>
+    /// 蹇界暐绉熸埛
+    /// </summary>
+    /// <param name="queryable"></param>
+    /// <param name="ignore">鏄惁蹇界暐 榛樿true</param>
+    /// <returns> </returns>
+    public static ISugarQueryable<T> IgnoreTenant<T>(this ISugarQueryable<T> queryable, bool ignore = true)
+    {
+        return ignore ? queryable.ClearFilter<ITenantIdFilter>() : queryable;
+    }
+
+    /// <summary>
+    /// 瀵艰埅+瀛愯〃杩囨护 鍒涘缓涓�涓墿灞曞嚱鏁帮紝榛樿鏄疌lass涓嶆敮鎸乄here
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="thisValue"></param>
+    /// <param name="whereExpression"></param>
+    /// <returns></returns>
+    public static List<T> Where<T>(this T thisValue, Func<T, bool> whereExpression) where T : class, new()
+    {
+        return new List<T>() { thisValue };
+    }
+
+    /// <summary>
+    /// 瀵艰埅+瀛愯〃杩囨护 鍒涘缓涓�涓墿灞曞嚱鏁帮紝榛樿鏄疌lass涓嶆敮鎸乄hereIF
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="thisValue"></param>
+    /// <param name="isWhere"></param>
+    /// <param name="whereExpression"></param>
+    /// <returns></returns>
+    public static List<T> WhereIF<T>(this T thisValue, bool isWhere, Func<T, bool> whereExpression) where T : class, new()
+    {
+        return new List<T>() { thisValue };
+    }
+
+    /// <summary>
+    /// 鍙洿鏂版煇浜涘垪
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <typeparam name="R"></typeparam>
+    /// <param name="updateable"></param>
+    /// <returns></returns>
+    public static IUpdateable<T> OnlyUpdateColumn<T, R>(this IUpdateable<T> updateable) where T : EntityBase, new() where R : class, new()
+    {
+        if (updateable.UpdateBuilder.UpdateColumns == null)
+            updateable.UpdateBuilder.UpdateColumns = new List<string>();
+
+        foreach (PropertyInfo info in typeof(R).GetProperties())
+        {
+            // 鍒ゆ柇鏄惁鏄浉鍚屽睘鎬�
+            if (typeof(T).GetProperty(info.Name) != null)
+                updateable.UpdateBuilder.UpdateColumns.Add(info.Name);
+        }
+        return updateable;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/GlobalUsings.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/GlobalUsings.cs
new file mode 100644
index 0000000..8382f90
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/GlobalUsings.cs
@@ -0,0 +1,62 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+global using Admin.NET.Core.Service;
+global using Furion;
+global using Furion.ClayObject;
+global using Furion.ConfigurableOptions;
+global using Furion.DatabaseAccessor;
+global using Furion.DataEncryption;
+global using Furion.DataValidation;
+global using Furion.DependencyInjection;
+global using Furion.DynamicApiController;
+global using Furion.EventBus;
+global using Furion.FriendlyException;
+global using Furion.JsonSerialization;
+global using Furion.Logging;
+global using Furion.RemoteRequest.Extensions;
+global using Furion.Schedule;
+global using Furion.UnifyResult;
+global using Furion.ViewEngine;
+global using Magicodes.ExporterAndImporter.Core;
+global using Magicodes.ExporterAndImporter.Core.Extension;
+global using Magicodes.ExporterAndImporter.Excel;
+global using Mapster;
+global using Microsoft.AspNetCore.Authorization;
+global using Microsoft.AspNetCore.Http;
+global using Microsoft.AspNetCore.Mvc;
+global using Microsoft.AspNetCore.Mvc.Filters;
+global using Microsoft.Extensions.Configuration;
+global using Microsoft.Extensions.DependencyInjection;
+global using Microsoft.Extensions.Hosting;
+global using Microsoft.Extensions.Logging;
+global using Microsoft.Extensions.Options;
+global using NewLife;
+global using NewLife.Caching;
+global using Newtonsoft.Json.Linq;
+global using SKIT.FlurlHttpClient;
+global using SKIT.FlurlHttpClient.Wechat.Api;
+global using SKIT.FlurlHttpClient.Wechat.Api.Models;
+global using SKIT.FlurlHttpClient.Wechat.TenpayV3;
+global using SKIT.FlurlHttpClient.Wechat.TenpayV3.Events;
+global using SKIT.FlurlHttpClient.Wechat.TenpayV3.Models;
+global using SKIT.FlurlHttpClient.Wechat.TenpayV3.Settings;
+global using SqlSugar;
+global using System.Collections;
+global using System.Collections.Concurrent;
+global using System.ComponentModel;
+global using System.ComponentModel.DataAnnotations;
+global using System.Data;
+global using System.Diagnostics;
+global using System.Linq.Dynamic.Core;
+global using System.Linq.Expressions;
+global using System.Reflection;
+global using System.Runtime.InteropServices;
+global using System.Text;
+global using System.Text.RegularExpressions;
+global using System.Web;
+global using UAParser;
+global using Yitter.IdGenerator;
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/Excel.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/Excel.cs
new file mode 100644
index 0000000..38e5db1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/Excel.cs
@@ -0,0 +1,147 @@
+锘縰sing System.Data;
+
+using NPOI.HPSF;
+using NPOI.HSSF.UserModel;
+using NPOI.SS.UserModel;
+
+namespace Admin.NET.Core.Helper.ExcelHelper
+{
+    public class Excel
+    {
+        private HSSFWorkbook _workBook;
+        private ISheet _wbSheet = null;
+        private DataColumnCollection _columns = null;
+
+        private int _col = 0;    //total columns
+        private int _row = 0;    //total rows
+        //private int _sheet = 0;  //total sheets
+        private int _sheetRowNum = 65536;  //each sheet allow rows
+
+        public Excel()
+        {
+            InstanceWorkBook();
+        }
+
+        /// <summary>
+        /// 瀹炰緥鏂规硶
+        /// </summary>
+        /// <param name="columns">琛ㄥご</param>
+        public Excel(DataColumnCollection columns)
+        {
+            _columns = columns;
+            InstanceWorkBook();
+        }
+
+        private void InstanceWorkBook()
+        {
+            _workBook = new HSSFWorkbook();
+
+            var dsi = PropertySetFactory.CreateDocumentSummaryInformation();
+            dsi.Company = "BaiyiTimes";
+            _workBook.DocumentSummaryInformation = dsi;
+
+            var si = PropertySetFactory.CreateSummaryInformation();
+            si.Subject = "Etimes Secure Document System Log Backup";
+            _workBook.SummaryInformation = si;
+        }
+
+        private DataColumnCollection GetColumns(DataColumnCollection columns)
+        {
+            return columns == null || columns.Count == 0 ? _columns : columns;
+        }
+
+        private ISheet GetSheet(ISheet sheet)
+        {
+            return sheet == null ? _wbSheet : sheet;
+        }
+
+        private void CreateHeader(ISheet sheet, DataColumnCollection columns)
+        {
+            _columns = GetColumns(columns);
+
+            var oRow = sheet.CreateRow(0);
+            oRow.Height = 20 * 20;
+            foreach (DataColumn column in _columns)
+            {
+                var oCell = oRow.CreateCell(_col);
+
+                var style1 = _workBook.CreateCellStyle();
+                style1.Alignment = HorizontalAlignment.Center;
+                style1.VerticalAlignment = VerticalAlignment.Center;
+
+                var font = _workBook.CreateFont();
+                font.IsBold = true;
+                font.FontHeightInPoints = 11;
+                style1.SetFont(font);
+
+                oCell.CellStyle = style1;
+                var name = column.ColumnName;
+                oCell.SetCellValue(name.ToString());
+                sheet.SetColumnWidth(_col, 60 * 60);
+                _col++;
+            }
+            _row++;
+        }
+
+        public ISheet CreateSheet()
+        {
+            return CreateSheet(null, null);
+        }
+
+        public ISheet CreateSheet(DataColumnCollection columns, string name)
+        {
+            _wbSheet = _workBook.CreateSheet(name);
+            CreateHeader(_wbSheet, columns);
+            _col = 0;    //total columns
+            _row = 1;
+            return _wbSheet;
+        }
+
+        public void SetRowValue(DataRowCollection rows, ISheet sheet)
+        {
+            _wbSheet = GetSheet(sheet);
+            foreach (DataRow row in rows)
+            {
+                SetRowValue(row);
+            }
+        }
+
+        public void SetRowValue(DataRow row)
+        {
+            var style1 = _workBook.CreateCellStyle();
+            style1.Alignment = HorizontalAlignment.Center;
+            style1.VerticalAlignment = VerticalAlignment.Center;
+            //if (_row % _sheetRowNum == 0)
+            //{
+            //    CreateSheet();
+            //}
+            var oRow = _wbSheet.CreateRow(_row % _sheetRowNum);
+
+            var obj = string.Empty;
+            var cell = 0;
+            foreach (DataColumn column in _columns)
+            {
+                obj = row[column.ColumnName].ToString();
+                var cells = oRow.CreateCell(cell);
+                cells.CellStyle = style1;
+                cells.SetCellValue(obj);
+                cell++;
+            }
+            _row++;
+        }
+
+        public void SaveAs(string filePath)
+        {
+            if (File.Exists(filePath)) File.Delete(filePath);
+            var file = new FileStream(filePath, FileMode.Create);
+            _workBook.Write(file);
+            file.Close();
+        }
+        public MemoryStream SaveAsMemoryStream()
+        {
+            var ms = new MemoryStream();
+            _workBook.Write(ms);
+            return ms;
+        }
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/Excel2003Result.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/Excel2003Result.cs
new file mode 100644
index 0000000..0c4237f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/Excel2003Result.cs
@@ -0,0 +1,152 @@
+锘縰sing NPOI.HSSF.UserModel;
+using NPOI.SS.UserModel;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Reflection;
+
+namespace Admin.NET.Core.Helper.ExcelHelper
+{
+    /// <summary>
+    /// 鍩轰簬EXCEL鍩虹被瀹炵幇 .xls 鏍煎紡瀵煎嚭
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    public class Excel2003Result<T> : ExcelBaseResult<T> where T : new()
+
+    {
+        public Excel2003Result(IList<T> entity, string fileName, bool showTitle, string title)
+           : base(entity, fileName, showTitle, title)
+        {
+            ContentType = "application/ms-excel";
+            ExtName = ".xls";
+        }
+
+        public override MemoryStream GetExcelStream()
+        {
+            MemoryStream ms = new MemoryStream();
+            //鑾峰彇瀹炰綋灞炴��
+            PropertyInfo[] propertys = typeof(T).GetProperties();
+            if (propertys.Count() == 0)
+            {
+                return ms;
+            }
+            //鍒涘缓Excel瀵硅薄
+            IWorkbook book = new HSSFWorkbook();
+            //娣诲姞涓�涓猻heet
+            ISheet sheet1 = book.CreateSheet("Sheet1");
+
+            var index = ShowTitle ? 1 : 0;
+
+
+            //鏍峰紡璁剧疆
+            IFont cellfont = book.CreateFont();
+            cellfont.FontHeightInPoints = 11;
+            cellfont.FontName = "瀹嬩綋";
+            ICellStyle cellStyle = book.CreateCellStyle();
+            cellStyle.VerticalAlignment = VerticalAlignment.Center;
+            cellStyle.Alignment = HorizontalAlignment.Center;
+            cellStyle.SetFont(cellfont);
+
+            IRow rowColumnHead = sheet1.CreateRow(index);
+            IDataFormat format = book.CreateDataFormat();
+            ushort firstColumn = ushort.MaxValue, lastColumn = ushort.MinValue;  //绗竴鍒椾笅鏍囧拰鏈�鍚庝竴鍒椾笅鏍�
+            //娣诲姞鍒楀ご
+            for (int j = 0; j < propertys.Count(); j++)
+            {
+                ExcelDataOptionAttribute dataOption = propertys[j].GetCustomAttribute<ExcelDataOptionAttribute>();
+                if (dataOption == null)
+                {
+                    continue;
+                }
+                IFont font = book.CreateFont();
+                font.FontHeightInPoints = 11;
+                font.FontName = "瀹嬩綋";
+                ICellStyle style = book.CreateCellStyle();
+                style.VerticalAlignment = VerticalAlignment.Center;
+                style.Alignment = HorizontalAlignment.Center;
+                style.SetFont(font);
+                if (!string.IsNullOrWhiteSpace(dataOption.Formater))
+                {
+                    style.DataFormat = format.GetFormat(dataOption.Formater);
+                }
+
+                sheet1.SetDefaultColumnStyle(dataOption.ColumnIndex, style);
+
+                ICell cell = rowColumnHead.CreateCell(dataOption.ColumnIndex);
+                cell.SetCellValue(dataOption.DisplayName);
+                firstColumn = firstColumn < dataOption.ColumnIndex ? firstColumn : dataOption.ColumnIndex;
+                lastColumn = lastColumn > dataOption.ColumnIndex ? lastColumn : dataOption.ColumnIndex;
+
+            }
+
+            index = ShowTitle ? 2 : 1;
+
+            //灏嗗悇琛屾暟鎹樉绀哄嚭鏉�
+            for (int i = 0; i < Entity.Count; i++)
+            {
+                IRow row = sheet1.CreateRow(i + index);
+
+                //寰幆鍚勫睘鎬э紝娣诲姞鍒�
+                for (int j = 0; j < propertys.Count(); j++)
+                {
+                    ExcelDataOptionAttribute dataOption = propertys[j].GetCustomAttribute<ExcelDataOptionAttribute>();
+                    if (dataOption == null)
+                    {
+                        continue;
+                    }
+
+                    ICell cell = row.CreateCell(dataOption.ColumnIndex);
+
+                    //鏍峰紡璁剧疆
+                    //cell.CellStyle = cellStyle;
+                    if (dataOption.ColumnWidth != 0)
+                    {
+                        sheet1.SetColumnWidth(dataOption.ColumnIndex, dataOption.ColumnWidth * 256);
+                    }
+
+                    //鏍规嵁鏁版嵁绫诲瀷鍒ゆ柇鏄剧ず鏍煎紡
+                    if (propertys[j].PropertyType == typeof(int))
+                    {
+                        cell.SetCellValue((int)propertys[j].GetValue(Entity[i]));
+                    }
+                    else if (propertys[j].PropertyType == typeof(decimal) || propertys[j].PropertyType == typeof(double) || propertys[j].PropertyType == typeof(float))
+                    {
+                        cell.SetCellValue(Convert.ToDouble(propertys[j].GetValue(Entity[i])));
+                    }
+                    else
+                    {
+                        cell.SetCellValue(propertys[j].GetValue(Entity[i]) == null ? "" : propertys[j].GetValue(Entity[i]).ToString());
+                    }
+                }
+            }
+            //灏嗘爣棰樺悎骞�
+            if (ShowTitle)
+            {
+                IRow rowHead = sheet1.CreateRow(0);
+                ICell cellHead = rowHead.CreateCell(firstColumn);
+                cellHead.SetCellValue(Title);
+
+                //鏍峰紡璁剧疆
+                IFont font = book.CreateFont();
+                font.FontHeightInPoints = 14;
+                font.IsBold = true;
+
+                ICellStyle style = book.CreateCellStyle();
+                style.VerticalAlignment = VerticalAlignment.Center;
+                style.Alignment = HorizontalAlignment.Center;
+                style.SetFont(font);
+                cellHead.CellStyle = style;
+
+                rowHead.HeightInPoints = 20.25f;
+
+                sheet1.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(0, 0, firstColumn, lastColumn));
+            }
+
+
+            book.Write(ms);
+            ms.Seek(0, System.IO.SeekOrigin.Begin);
+            return ms;
+        }
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/ExcelBaseResult.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/ExcelBaseResult.cs
new file mode 100644
index 0000000..5c2cc1b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/ExcelBaseResult.cs
@@ -0,0 +1,84 @@
+锘縰sing System.Collections.Generic;
+using System.IO;
+using Microsoft.AspNetCore.Mvc;
+
+namespace Admin.NET.Core.Helper.ExcelHelper
+{
+    /// <summary>
+    /// 瀵煎嚭EXCEL鎶借薄绫�
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    public abstract class ExcelBaseResult<T>: ActionResult
+    {
+        #region 灞炴��
+        /// <summary>
+        /// 鏁版嵁瀹炰綋
+        /// </summary>
+        public IList<T> Entity { get; set; }
+        /// <summary>
+        /// 涓嬭浇鏂囦欢鍚嶇О(涓嶅寘鍚墿灞曞悕)
+        /// </summary>
+        public string FileName { get; set; }
+        /// <summary>
+        /// 鏄惁鏄剧ず鏍囬
+        /// </summary>
+        public bool ShowTitle { get; set; }
+        /// <summary>
+        /// 鏍囬
+        /// </summary>
+        public string Title { get; set; }
+        /// <summary>
+        /// ContentType
+        /// </summary>
+        public string ContentType { get; set; }
+        /// <summary>
+        /// 鎵╁睍鍚�
+        /// </summary>
+        public string ExtName { get; set; }
+        /// <summary>
+        /// 鑾峰彇涓嬭浇鏂囦欢鍏ㄥ悕
+        /// </summary>
+        public string FullName { get { return FileName + ExtName; } }
+
+        #endregion
+
+        #region 鏋勯�犲嚱鏁�
+        public ExcelBaseResult(IList<T> entity, string fileName, bool showTitle, string title)
+        {
+            this.Entity = entity;
+            this.FileName = fileName;
+            this.ShowTitle = showTitle;
+            this.Title = title;
+        }
+        #endregion
+
+        #region 鎶借薄鏂规硶
+        public abstract MemoryStream GetExcelStream();
+        #endregion
+
+        #region 閲嶅啓ExecuteResult
+        public override void ExecuteResult(ActionContext context)
+        {
+            using (MemoryStream ms = GetExcelStream())
+            {
+                context.HttpContext.Response.Headers.Add("Content-Length", ms.Length.ToString());
+                context.HttpContext.Response.ContentType = ContentType;
+                context.HttpContext.Response.Headers.Add("Content-Disposition", "attachment; filename=" +FullName);
+                ms.Seek(0, SeekOrigin.Begin);
+                Stream output = context.HttpContext.Response.Body;
+                byte[] bytes = new byte[1024 * 10];
+                int readSize = 0;
+                while ((readSize = ms.Read(bytes, 0, bytes.Length)) > 0)
+                {
+                    output.WriteAsync(bytes, 0, readSize);
+                    output.FlushAsync();
+                }
+
+            }
+
+        }
+        #endregion
+
+
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/ExcelDataOptionAttribute.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/ExcelDataOptionAttribute.cs
new file mode 100644
index 0000000..4d0f174
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/ExcelDataOptionAttribute.cs
@@ -0,0 +1,30 @@
+锘縰sing System;
+
+namespace Admin.NET.Core.Helper.ExcelHelper
+{
+    /// <summary>
+    /// Excel 鐗规�у睘鎬�
+    /// </summary>
+    [AttributeUsage(AttributeTargets.All, Inherited = false, AllowMultiple = true), Serializable]
+    public class ExcelDataOptionAttribute:Attribute
+
+    {
+        /// <summary>
+        /// 鏄剧ず鍒椾笅鏍�
+        /// </summary>
+        public ushort ColumnIndex { get; set; }
+        /// <summary>
+        /// 鏄剧ず鍚嶇О
+        /// </summary>
+        public string DisplayName { get; set; }
+        /// <summary>
+        /// 鍒楀
+        /// </summary>
+        public int ColumnWidth { get; set; }
+        /// <summary>
+        /// 鍗曞厓鏍兼暟鎹牸寮�
+        /// </summary>
+        public string Formater { get; set; }
+
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/ExcelOperation.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/ExcelOperation.cs
new file mode 100644
index 0000000..0150804
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Helper/ExcelHelper/ExcelOperation.cs
@@ -0,0 +1,761 @@
+锘縰sing Admin.NET.Core.Helper.ExcelHelper;
+using NPOI.HSSF.UserModel;
+using NPOI.SS.UserModel;
+using NPOI.XSSF.UserModel;
+using System.Drawing.Imaging;
+using ICell = NPOI.SS.UserModel.ICell;
+
+namespace PandaWork.Infrastructure;
+
+/// <summary>
+/// ExcelHelper瀵煎叆
+/// </summary>
+public class ExcelOperation
+{
+    /// <summary>
+    /// 浠ユ椂闂村懡鍚�
+    /// </summary>
+    /// <param name="name"></param>
+    /// <returns></returns>
+    public static string GetFileName(string name)
+    {
+        string FileName = $"{name}{DateTime.Now.ToString("yyyyMMddhhmmss")}.xls";
+        return FileName;
+    }
+    /// <summary>
+    /// 浠ユ椂闂村懡鍚嶄笉甯﹀悗缂�鍚�
+    /// </summary>
+    /// <param name="name"></param>
+    /// <returns></returns>
+    public static string GetFileNameEmpty(string name)
+    {
+        string FileName = $"{name}{DateTime.Now.ToString("yyyyMMddhhmmss")}";
+        return FileName;
+    }
+    /// <summary>
+    /// 瀵煎嚭 杩斿洖鍏蜂綋鐨勮矾寰勬枃浠�
+    /// </summary>
+    /// <param name="dtDictionary">鏀寔澶氫釜sheet瀵煎叆</param>
+    /// <param name="FileName"> xxx.xlsx</param>
+    /// <param name="ProjectPath">璺緞鍙负null</param>
+    /// <param name="ExportPath"> 榛樿  "DownloadExcel\\"</param>
+    /// <returns></returns>
+    public static string ExportExcel(Dictionary<string, DataTable> dtDictionary, string FileName, string ProjectPath = "", string ExportPath = "")
+    {
+        if (dtDictionary is null || dtDictionary.Count == 0) return null;
+        if (string.IsNullOrWhiteSpace(FileName)) FileName = Guid.NewGuid().ToString() + ".xlsx";
+        if (string.IsNullOrWhiteSpace(ProjectPath)) ProjectPath = ExcelOperation.ProjectPath();
+        if (string.IsNullOrWhiteSpace(ExportPath)) ExportPath = "DownloadExcel\\";
+
+        Excel excel = new Excel();
+        foreach (var dt in dtDictionary)
+        {
+            if (dt.Value != null && dt.Value.Rows.Count > 0)
+            {
+                excel.CreateSheet(dt.Value.Columns, dt.Key);
+                foreach (DataRow row in dt.Value.Rows)
+                {
+                    excel.SetRowValue(row);
+                }
+            }
+        }
+        string filePath = ProjectPath + ExportPath;
+        if (!System.IO.Directory.Exists(filePath)) Directory.CreateDirectory(filePath);
+        filePath = filePath + FileName;
+        excel.SaveAs(filePath);
+        // return "\\" + ExportPath + FileName;
+        return filePath;
+    }
+
+    /// <summary>
+    /// 瀵煎嚭 杩斿洖涓猻team娴�
+    /// </summary>
+    /// <param name="dtDictionary">鏀寔澶氫釜sheet瀵煎叆</param>
+    /// <param name="FileName"> xxx.xlsx</param>
+    /// <param name="ProjectPath">璺緞鍙负null</param>
+    /// <param name="ExportPath"> 榛樿  "DownloadExcel\\"</param>
+    /// <returns></returns>
+    public static Stream ExportExcel(Dictionary<string, DataTable> dtDictionary)
+    {
+        if (dtDictionary is null || dtDictionary.Count == 0) return null;
+        //  if (string.IsNullOrWhiteSpace(FileName)) FileName = Guid.NewGuid().ToString() + ".xlsx";
+        //if (string.IsNullOrWhiteSpace(ProjectPath)) ProjectPath = ExcelOperation.ProjectPath();
+        //if (string.IsNullOrWhiteSpace(ExportPath)) ExportPath = "DownloadExcel\\";
+
+        Excel excel = new Excel();
+        foreach (var dt in dtDictionary)
+        {
+            if (dt.Value != null && dt.Value.Rows.Count > 0)
+            {
+                excel.CreateSheet(dt.Value.Columns, dt.Key);
+                foreach (DataRow row in dt.Value.Rows)
+                {
+                    excel.SetRowValue(row);
+                }
+            }
+        }
+        MemoryStream memoryStream = excel.SaveAsMemoryStream();
+        return memoryStream;
+    }
+    /// <summary>
+    /// 鑾峰彇褰撳墠椤圭洰鐨勭洰褰�
+    /// </summary>
+    /// <returns></returns>
+    public static string ProjectPath()
+    {
+        string Paths = System.AppDomain.CurrentDomain.BaseDirectory;
+        return Paths;
+    }
+
+    /// <summary>
+    /// 鍘婚櫎绌鸿
+    /// </summary>
+    /// <param name="dt"></param>
+    /// <returns></returns>
+    private static DataTable RemoveEmpty(DataTable dt)
+    {
+        List<DataRow> removelist = new List<DataRow>();
+        for (int i = 0; i < dt.Rows.Count; i++)
+        {
+            bool rowdataisnull = true;
+            for (int j = 0; j < dt.Columns.Count; j++)
+            {
+                if (!string.IsNullOrEmpty(dt.Rows[i][j].ToString().Trim()))
+                {
+                    rowdataisnull = false;
+                }
+            }
+            if (rowdataisnull)
+            {
+                removelist.Add(dt.Rows[i]);
+            }
+        }
+        for (int i = 0; i < removelist.Count; i++)
+        {
+            dt.Rows.Remove(removelist[i]);
+        }
+        return dt;
+    }
+
+    /// <summary>
+    /// 灏唀xcel瀵煎叆鍒癲atatable
+    /// </summary>
+    /// <param name="filePath">excel璺緞</param>
+    /// <param name="isColumnName">绗竴琛屾槸鍚︽槸鍒楀悕</param>
+    /// <returns>杩斿洖datatable</returns>
+    public static System.Data.DataTable ExcelToDataTable(string filePath, bool isColumnName)
+    {
+        System.Data.DataTable dataTable = null;
+        FileStream fs = null;
+        DataColumn column = null;
+        DataRow dataRow = null;
+        IWorkbook workbook = null;
+        ISheet sheet = null;
+        IRow row = null;
+        ICell cell = null;
+        int startRow = 0;
+        try
+        {
+            using (fs = File.OpenRead(filePath))
+            {
+
+                if (fs == null)
+                {
+                    throw Oops.Oh("璇蜂笂浼犱簨浠舵枃浠�");
+                }
+                long length = fs.Length;
+                if (length > 1024 * 1024 * 100) //200M
+                {
+                    throw Oops.Oh("涓婁紶鏂囦欢涓嶈兘瓒呰繃100M");
+                }
+                fs.Position = 0;
+                // 2007鐗堟湰
+                if (filePath.ToLower().IndexOf(".xlsx") > 0)
+                    workbook = new XSSFWorkbook(fs);
+                // 2003鐗堟湰
+                else if (filePath.ToLower().IndexOf(".xls") > 0)
+                    // workbook = new HSSFWorkbook(fs);
+                    workbook = new XSSFWorkbook(fs);
+                else
+                {
+                    throw Oops.Oh("璇蜂笂浼犱簨浠舵枃浠�");
+                }
+
+                if (workbook != null)
+                {
+                    sheet = workbook.GetSheetAt(0);//璇诲彇绗竴涓猻heet锛屽綋鐒朵篃鍙互寰幆璇诲彇姣忎釜sheet
+                    dataTable = new System.Data.DataTable();
+                    if (sheet != null)
+                    {
+                        int rowCount = sheet.LastRowNum;//鎬昏鏁�
+                        if (rowCount > 0)
+                        {
+                            IRow firstRow = sheet.GetRow(0);//绗竴琛�
+                            int cellCount = firstRow.LastCellNum;//鍒楁暟
+
+                            //鏋勫缓datatable鐨勫垪
+                            if (isColumnName)
+                            {
+                                startRow = 1;//濡傛灉绗竴琛屾槸鍒楀悕锛屽垯浠庣浜岃寮�濮嬭鍙�
+                                for (int i = firstRow.FirstCellNum; i < cellCount; ++i)
+                                {
+                                    cell = firstRow.GetCell(i);
+                                    if (cell != null)
+                                    {
+                                        if (cell.StringCellValue != null)
+                                        {
+                                            column = new DataColumn(cell.StringCellValue);
+                                            dataTable.Columns.Add(column);
+                                        }
+                                    }
+                                }
+                            }
+                            else
+                            {
+                                for (int i = firstRow.FirstCellNum; i < cellCount; ++i)
+                                {
+                                    column = new DataColumn("column" + (i + 1));
+                                    dataTable.Columns.Add(column);
+                                }
+                            }
+
+                            //濉厖琛�
+                            for (int i = startRow; i <= rowCount; ++i)
+                            {
+                                row = sheet.GetRow(i);
+                                if (row == null) continue;
+
+                                dataRow = dataTable.NewRow();
+                                for (int j = row.FirstCellNum; j < cellCount; ++j)
+                                {
+                                    cell = row.GetCell(j);
+                                    if (cell == null)
+                                    {
+                                        dataRow[j] = "";
+                                    }
+                                    else
+                                    {
+                                        //CellType(Unknown = -1,Numeric = 0,String = 1,Formula = 2,Blank = 3,Boolean = 4,Error = 5,)
+                                        switch (cell.CellType)
+                                        {
+                                            case CellType.Blank:
+                                                dataRow[j] = "";
+                                                break;
+
+                                            case CellType.Numeric:
+                                                short format = cell.CellStyle.DataFormat;
+                                                //瀵规椂闂存牸寮忥紙2015.12.5銆�2015/12/5銆�2015-12-5绛夛級鐨勫鐞�
+                                                if (format == 14 || format == 31 || format == 57 || format == 58)
+                                                {
+                                                    if (DateUtil.IsCellDateFormatted(cell))
+                                                    {
+                                                        dataRow[j] = Convert.ToDateTime(cell.DateCellValue).Date.ToString();
+                                                    }
+                                                }
+                                                else
+                                                {
+                                                    dataRow[j] = cell.NumericCellValue;
+                                                }
+
+                                                break;
+
+                                            case CellType.String:
+                                                dataRow[j] = cell.StringCellValue;
+                                                break;
+                                        }
+                                    }
+                                    //涓哄垱寤轰汉璧嬪��
+                                    // dataRow[cellCount] = userad;
+                                }
+                                //鍘婚櫎绌虹櫧琛屾暟鎹�
+                                bool rowdataisnull = true;
+                                for (int k = row.FirstCellNum; k < cellCount - 1; ++k)
+                                {
+                                    if (!string.IsNullOrEmpty(dataRow[k] as string))
+                                    {
+                                        rowdataisnull = false;
+                                    }
+                                }
+                                if (!rowdataisnull)
+                                {
+                                    dataTable.Rows.Add(dataRow);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            return dataTable;
+        }
+        catch (Exception ex)
+        {
+            if (fs != null)
+            {
+                fs.Close();
+            }
+            throw Oops.Oh("閿欒锛�" + ex.Message);
+        }
+    }
+
+    /// <summary>
+    /// 浠ユ枃浠舵祦IFormFile鏂瑰紡瀵煎叆鍒癉ataTable
+    /// </summary>
+    /// <param name="file"></param>
+    /// <returns></returns>
+    public static DataTable TaskFileImport(IFormFile file)
+    {
+        string[] fileExcels = ".xls,.xlsx".Split(',');
+        string fileType = "";
+
+        if (file == null)
+        {
+            throw Oops.Oh("璇蜂笂浼犱簨浠舵枃浠�");
+        }
+        var fileExtension = Path.GetExtension(file.FileName);
+        if (fileExtension == null)
+        {
+            throw Oops.Oh("鏂囦欢鏃犲悗缂�淇℃伅");
+        }
+        long length = file.Length;
+        if (length > 1024 * 1024 * 100) //200M
+        {
+            throw Oops.Oh("涓婁紶鏂囦欢涓嶈兘瓒呰繃100M");
+        }
+        if (!fileExcels.Contains(fileExtension))
+        {
+            throw Oops.Oh("涓婁紶鏂囦欢鍙敮鎸�.xls,.xlsx");
+        }
+
+        string filePath = ExcelOperation.ProjectPath() + "DownloadExcel\\";
+        if (!System.IO.Directory.Exists(filePath)) Directory.CreateDirectory(filePath);
+        var saveName = filePath + $"{DateTime.Now.ToString("yyyyMMddhhmmss")}" + (file.FileName);
+        using (FileStream fs = File.Create(saveName))
+        {
+            file.CopyTo(fs);
+        }
+        var datatel = ExcelToDataTable(saveName, true);
+        return datatel;
+    }
+
+    /// <summary>
+    /// 灏唀xcel瀵煎叆鍒癲atatable锛屾寚瀹歴heetname
+    /// </summary>
+    /// <param name="filePath">excel璺緞</param>
+    /// <param name="isColumnName">绗竴琛屾槸鍚︽槸鍒楀悕</param>
+    /// <param name="sheetName">Excel鐨剆heet鍚�</param>
+    /// <returns>杩斿洖datatable</returns>
+    public static List<DataTable> ExcelToDataTableList(string filePath, bool isColumnName, string[] sheetName)
+    {
+        List<DataTable> dataTableList = null;
+        FileStream fs = null;
+        DataColumn column = null;
+        DataRow dataRow = null;
+        IWorkbook workbook = null;
+        ISheet sheet = null;
+        IRow row = null;
+        ICell cell = null;
+        int startRow = 0;
+        try
+        {
+            using (fs = File.OpenRead(filePath))
+            {
+                // 2007鐗堟湰
+                if (filePath.IndexOf(".xlsx") > 0)
+                    workbook = new XSSFWorkbook(fs);
+                // 2003鐗堟湰
+                else if (filePath.IndexOf(".xls") > 0)
+                    workbook = new HSSFWorkbook(fs);
+
+                if (workbook != null && sheetName != null && sheetName.Length > 0)
+                {
+                    dataTableList = new List<DataTable>();
+                    //string[] sheetName = { "宸ュ崟", "宸ュ崟鏉愭枡", "鏉嗕欢", "鏉嗕欢宸ユ椂", "閰嶆枡鍗�", "閰嶆枡鍗曡鎯�", "鐗╂枡涓绘暟鎹�", "宸ヨ壓", "宸ュ簭", "宸ヨ壓宸ュ簭", "妫�楠岄」" };
+                    for (int w = 0; w < sheetName.Length; w++)
+                    //for (int w = 0; w < workbook.NumberOfSheets; w++)
+                    {
+                        //sheet = workbook.GetSheetAt(w);//寰幆璇诲彇姣忎釜sheet(鏍规嵁涓嬫爣鑾峰彇)
+                        sheet = workbook.GetSheet(sheetName[w]);//寰幆璇诲彇姣忎釜sheet(鏍规嵁鍚嶇О鑾峰彇)
+                        DataTable dataTable = new DataTable();
+                        if (sheet != null)
+                        {
+                            int rowCount = sheet.LastRowNum;//鎬昏鏁�
+                            if (rowCount > 0)
+                            {
+                                IRow firstRow = sheet.GetRow(0);//绗竴琛�
+                                int cellCount = firstRow.LastCellNum;//鍒楁暟
+
+                                #region 鏋勫缓datatable鐨勫垪
+                                if (isColumnName)
+                                {
+                                    startRow = 1;//濡傛灉绗竴琛屾槸鍒楀悕锛屽垯浠庣浜岃寮�濮嬭鍙�
+                                    for (int i = firstRow.FirstCellNum; i < cellCount; ++i)
+                                    {
+                                        cell = firstRow.GetCell(i);
+                                        if (cell != null)
+                                        {
+                                            if (cell.StringCellValue != null)
+                                            {
+                                                column = new DataColumn(cell.StringCellValue);
+                                                dataTable.Columns.Add(column);
+                                            }
+                                        }
+                                    }
+                                }
+                                else
+                                {
+                                    for (int i = firstRow.FirstCellNum; i < cellCount; ++i)
+                                    {
+                                        column = new DataColumn("column" + (i + 1));
+                                        dataTable.Columns.Add(column);
+                                    }
+                                }
+                                #endregion
+
+                                #region 濉厖琛�
+                                for (int i = startRow; i <= rowCount; ++i)
+                                {
+                                    row = sheet.GetRow(i);
+                                    if (row == null) continue;
+
+                                    bool IsNull = true;//鏄惁鏄┖琛�
+                                    dataRow = dataTable.NewRow();
+                                    for (int j = row.FirstCellNum; j < cellCount; ++j)
+                                    {
+                                        cell = row.GetCell(j);
+                                        if (cell == null)
+                                        {
+                                            dataRow[j] = "";
+                                        }
+                                        else
+                                        {
+                                            object value = null;
+                                            //CellType(Unknown = -1,Numeric = 0,String = 1,Formula = 2,Blank = 3,Boolean = 4,Error = 5,)
+                                            switch (cell.CellType)
+                                            {
+                                                case CellType.Blank:
+                                                    value = "";
+                                                    break;
+                                                case CellType.Numeric:
+                                                    short format = cell.CellStyle.DataFormat;
+                                                    //瀵规椂闂存牸寮忥紙2015.12.5銆�2015/12/5銆�2015-12-5绛夛級鐨勫鐞�
+                                                    if (format == 14 || format == 31 || format == 57 || format == 58 || format == 176)
+                                                        value = cell.DateCellValue;
+                                                    else
+                                                        value = Math.Round(cell.NumericCellValue, 2);//2浣嶅皬鏁�
+                                                    break;
+                                                case CellType.String:
+                                                    value = cell.StringCellValue;
+                                                    break;
+                                                case CellType.Formula://鍏紡
+                                                    row.GetCell(j).SetCellType(CellType.String);//鍏堟敼鍙樺叕寮忎负瀛楃
+                                                    value = cell.StringCellValue;
+                                                    break;
+                                                default:
+                                                    value = cell.StringCellValue;
+                                                    break;
+                                            }
+
+                                            if (!string.IsNullOrWhiteSpace(value.ToString()))
+                                            {
+                                                IsNull = false;
+                                                dataRow[j] = value;
+                                            }
+                                        }
+                                    }
+                                    if (!IsNull)
+                                        dataTable.Rows.Add(dataRow);
+                                }
+                                #endregion
+                            }
+                            dataTableList.Add(dataTable);
+                        }
+                    }
+                }
+            }
+            return dataTableList;
+        }
+        catch (Exception ex)
+        {
+            if (fs != null)
+            {
+                fs.Close();
+            }
+            return null;
+        }
+    }
+
+    /// <summary>
+    /// 鏍煎紡鍖栧叧閿瓧闆嗗悎
+    /// </summary>
+    /// <typeparam name="T">娉涘瀷瀵硅薄</typeparam>
+    /// <param name="t">鍏抽敭瀛楅泦瀵硅薄</param>
+    /// <returns></returns>
+    public static Dictionary<string, string> getProperties<T>(T t)
+    {
+        Dictionary<string, string> keywords = new Dictionary<string, string>();
+        if (t == null)
+        {
+            return keywords;
+        }
+        System.Reflection.PropertyInfo[] properties = t.GetType().GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);
+
+        if (properties.Length <= 0)
+        {
+            return keywords;
+        }
+        foreach (System.Reflection.PropertyInfo item in properties)
+        {
+            string name = "{$" + item.Name + "}";
+            object value = item.GetValue(t, null);
+            if (item.PropertyType.IsValueType || item.PropertyType.Name.StartsWith("String"))
+            {
+                keywords.Add(name, value.ToString());
+            }
+            else
+            {
+                getProperties(value);
+            }
+        }
+        return keywords;
+    }
+
+    /// <summary>
+    /// NPOI浣跨敤ShiftRows鍚慹xcel鎻掑叆琛岋紝骞跺鍒跺師鏈夋牱寮�
+    /// </summary>
+    /// <param name="SavePath">妯℃澘鏂囦欢锛屽寘鍚墿鐞嗚矾寰�</param>
+    /// <param name="list">鏁版嵁闆嗗悎</param>
+    /// <param name="startRow">寮�濮嬫彃鍏ヨ绱㈠紩</param>
+    /// <param name="func">寰幆璧嬪�肩殑鏂规硶</param>
+    public static void ShiftRows<T>(string SavePath, List<T> list, int startRow, Func<IRow, int, bool> func)//寮�濮嬫彃鍏ヨ绱㈠紩
+    {
+        //鍒涘缓Excel鏂囦欢鐨勫璞�
+        FileStream fs = new FileStream(SavePath, FileMode.Open, FileAccess.ReadWrite);
+        XSSFWorkbook workbook = new XSSFWorkbook(fs);
+        fs.Close();
+        ISheet sheet = workbook.GetSheetAt(0);
+        if (list != null && list.Count > 1)
+        {
+            //鎻掑叆琛�
+            sheet.ShiftRows(startRow, sheet.LastRowNum, list.Count - 1, true, false);
+            var rowSource = sheet.GetRow(startRow - 1);
+            var rowStyle = rowSource.RowStyle;//鑾峰彇褰撳墠琛屾牱寮�
+            for (int i = startRow; i < startRow + list.Count - 1; i++)
+            {
+                var rowInsert = sheet.CreateRow(i);
+                if (rowStyle != null) rowInsert.RowStyle = rowStyle;
+                rowInsert.Height = rowSource.Height;
+                for (int col = 0; col < rowSource.LastCellNum; col++)
+                {
+                    var cellsource = rowSource.GetCell(col);
+                    var cellInsert = rowInsert.CreateCell(col);
+                    var cellStyle = cellsource.CellStyle;
+                    //璁剧疆鍗曞厓鏍兼牱寮�
+                    if (cellStyle != null)
+                        cellInsert.CellStyle = cellsource.CellStyle;
+                }
+            }
+        }
+        //缁戝畾鏁版嵁
+        for (int j = startRow; j < startRow + list.Count; j++)
+        {
+            //鍗曞厓鏍艰祴鍊肩瓑鍏朵粬浠g爜
+            IRow r = sheet.GetRow(j);
+            bool ls = func(r, j);
+            // 鏍囧噯鍐欐硶 r.Cells[0].SetCellValue(j + 1);
+        }
+        FileStream success = new FileStream(SavePath, FileMode.Create);
+        workbook.Write(success);
+        success.Close();
+        workbook.Close();
+    }
+
+    /// <summary>
+    /// 鏁版嵁鏇挎崲
+    /// </summary>
+    /// <typeparam name="T">瀹炰綋  鏇挎崲榛樿涓� {Name} </typeparam>
+    /// <param name="entity"></param>
+    /// <param name="FromSourcePath"></param>
+    /// <param name="ToSourcePath"></param>
+    /// <returns></returns>
+    public static string ExcelReplace<T>(T entity, string FromSourcePath, string ToSourcePath)
+    {
+        FileStream fs = new FileStream(FromSourcePath, FileMode.Open, FileAccess.Read);
+        IWorkbook workbook = WorkbookFactory.Create(fs);
+        ISheet sheet = workbook.GetSheetAt(0);
+        IRow firstRow = sheet.GetRow(0);
+        int cellCount = firstRow.LastCellNum;
+        int rowCount = sheet.LastRowNum;
+        for (int i = 0; i < rowCount; i++)
+        {
+            IRow row = sheet.GetRow(i);
+            for (int j = 0; j < cellCount; j++)
+            {
+                NPOI.SS.UserModel.ICell cell = row.GetCell(j);
+                ReplaceExcelKey<T>(entity, cell);
+            }
+        }
+        byte[] buffer = new byte[1024 * 5];
+        if (File.Exists(ToSourcePath)) File.Delete(ToSourcePath);
+        var file = new FileStream(ToSourcePath, FileMode.Create);
+        workbook.Write(file);
+        file.Close();
+        return ToSourcePath;
+    }
+
+    private static void ReplaceExcelKey<T>(T etity, NPOI.SS.UserModel.ICell cell)
+    {
+        Type entityType = typeof(T);
+        PropertyInfo[] properties = entityType.GetProperties();
+        if (cell != null)
+        {
+            var text = "";
+            if (cell.CellType == CellType.String)//杩欌茎鏍规嵁涓嶅悓鐨勭被鍨嬭繘饩忎笉鍚岀殑澶勭悊
+            {
+                text = cell.ToString();
+            }
+            if (text != "")
+            {
+                foreach (var p in properties)
+                {
+                    string propteryName = "{" + p.Name + "}";
+                    object value = p.GetValue(etity);
+                    if (value == null)
+                    {
+                        value = "";
+                    }
+                    if (text.Contains(propteryName))
+                    {
+                        var v = value.ToString();
+                        text = text.Replace(propteryName, v);
+                    }
+                    cell.SetCellValue(text);
+                }
+            }
+
+        }
+    }
+
+    ///// <summary>
+    ///// excel杞琲mage
+    ///// </summary>
+    ///// <param name="filename"></param>
+    ///// <param name="imagepath"></param>
+    //public static string ChangeExcel2Image(string filename, string imagepath)
+    //{
+    //    string filePath = ExcelOperation.ProjectPath() + "DownloadExcel\\";
+    //    if (!System.IO.Directory.Exists(filePath)) Directory.CreateDirectory(filePath);
+    //    var saveName = filePath + $"{DateTime.Now.ToString("yyyyMMddhhmmss")}" + imagepath;
+    //    Workbook workbook = new Workbook();
+    //    workbook.LoadFromFile(filename);
+    //    Worksheet sheet = workbook.Worksheets[0];
+    //    //sheet.SaveToImage(imagepath); //鍥剧墖鍚庣紑.bmp ,imagepath鑷繁璁剧疆
+    //    //                              //鍔犺浇鐢熸垚鍥捐〃鍚庣殑Excel鏂囨。
+    //    //workbook.LoadFromFile("ColumnChart.xlsx");
+    //    sheet.ToImage(0, 0, 0, 0).Save(saveName, ImageFormat.Jpeg);
+    //    return saveName;
+    //}
+
+    public static string ExcelRepleImages(string TagetPath, string imgpath)
+    {
+        string fileExtensionName = Path.GetExtension(TagetPath);
+        if (fileExtensionName.ToLower() == ".xlsx")
+        {
+            return InsertImageToXLSXExcel(TagetPath, imgpath);
+        }
+        if (fileExtensionName.ToLower() == ".xls")
+        {
+            return InsertImageToXLSExcel(TagetPath, imgpath);
+        }
+        return "";
+    }
+    /// <summary>
+    /// .xlsx鍚庣紑鐨凟xcel鏂囦欢娣诲姞鍥剧墖
+    /// </summary>
+    /// <param name="excelPath"></param>
+    /// <param name="imgPath"></param>
+    private static string InsertImageToXLSXExcel(string excelPath, string imgPath)
+    {
+        try
+        {
+            using (FileStream fs = new FileStream(excelPath, FileMode.Open))//鑾峰彇鎸囧畾Excel鏂囦欢娴�
+            {
+                //鍒涘缓宸ヤ綔绨�
+                XSSFWorkbook xssfworkbook = new XSSFWorkbook(fs);
+                //鑾峰彇绗竴涓伐浣滆〃锛堜笅鏍囦粠0璧凤級
+                XSSFSheet sheet = (XSSFSheet)xssfworkbook.GetSheet(xssfworkbook.GetSheetName(0));
+                //鑾峰彇鎸囧畾鍥剧墖鐨勫瓧鑺傛祦
+                byte[] bytes = System.IO.File.ReadAllBytes(imgPath);
+                //灏嗗浘鐗囨坊鍔犲埌宸ヤ綔绨夸腑锛岃繑鍥炲�间负璇ュ浘鐗囧湪宸ヤ綔琛ㄤ腑鐨勭储寮曪紙浠�0寮�濮嬶級
+                //鍥剧墖鎵�鍦ㄥ伐浣滅翱绱㈠紩鐞嗚В锛氬鏋滃師Excel涓病鏈夊浘鐗囷紝閭f墽琛屼笅闈㈢殑璇彞鍚庯紝璇ュ浘鐗囦负Excel涓殑绗�1寮犲浘鐗囷紝鍏剁储寮曚负0锛�
+                //鍚岀悊锛屽鏋滃師Excel涓凡缁忔湁1寮犲浘鐗囷紝鎵ц涓嬮潰鐨勮鍙ュ悗锛岃鍥剧墖涓篍xcel涓殑绗�2寮犲浘鐗囷紝鍏剁储寮曚负1锛�
+                int pictureIdx = xssfworkbook.AddPicture(bytes, PictureType.PNG);
+                //鍒涘缓鐢诲竷
+                XSSFDrawing patriarch = (XSSFDrawing)sheet.CreateDrawingPatriarch();
+                //璁剧疆鍥剧墖鍧愭爣涓庡ぇ灏�
+                //鍑芥暟鍘熷瀷锛歑SSFClientAnchor(int dx1, int dy1, int dx2, int dy2, int col1, int row1, int col2, int row2)锛�
+                //鍧愭爣(col1,row1)琛ㄧず鍥剧墖宸︿笂瑙掓墍鍦ㄥ崟鍏冩牸鐨勪綅缃紝鍧囦粠0寮�濮嬶紝姣斿(5,2)琛ㄧず(绗叚鍒楋紝绗笁琛�),鍗矲3锛涙敞鎰忥細鍥剧墖宸︿笂瑙掑潗鏍囦笌(col1,row1)鍗曞厓鏍煎乏涓婅鍧愭爣閲嶅悎
+                //鍧愭爣(col2,row2)琛ㄧず鍥剧墖鍙充笅瑙掓墍鍦ㄥ崟鍏冩牸鐨勪綅缃紝鍧囦粠0寮�濮嬶紝姣斿(10,3)琛ㄧず(绗崄涓�鍒楋紝绗洓琛�),鍗矺4锛涙敞鎰忥細鍥剧墖鍙充笅瑙掑潗鏍囦笌(col2,row2)鍗曞厓鏍煎乏涓婅鍧愭爣閲嶅悎
+                //鍧愭爣(dx1,dy1)琛ㄧず鍥剧墖宸︿笂瑙掑湪鍗曞厓鏍�(col1,row1)鍩虹涓婄殑鍋忕Щ閲�(寰�鍙充笅鏂瑰亸绉�)锛�(dx1锛宒y1)鐨勬渶澶у�间负(1023, 255),涓轰竴涓崟鍏冩牸鐨勫ぇ灏�
+                //鍧愭爣(dx2,dy2)琛ㄧず鍥剧墖鍙充笅瑙掑湪鍗曞厓鏍�(col2,row2)鍩虹涓婄殑鍋忕Щ閲�(寰�鍙充笅鏂瑰亸绉�)锛�(dx2,dy2)鐨勬渶澶у�间负(1023, 255),涓轰竴涓崟鍏冩牸鐨勫ぇ灏�
+                //娉ㄦ剰锛氱洰鍓嶆祴璇曞彂鐜帮紝瀵逛簬.xlsx鍚庣紑鐨凟xcel鏂囦欢锛屽亸绉婚噺璁剧疆(dx1,dy1)(dx2,dy2)鏃犳晥锛涘彧浼氬.xls鐢熸晥
+                XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 20, 15, 0, 2, 2, 6);
+                //姝e紡鍦ㄦ寚瀹氫綅缃彃鍏ュ浘鐗�
+                XSSFPicture pict = (XSSFPicture)patriarch.CreatePicture(anchor, pictureIdx);
+                //鍒涘缓涓�涓柊鐨凟xcel鏂囦欢娴侊紝鍙互鍜屽師鏂囦欢鍚嶄笉涓�鏍凤紝
+                //濡傛灉涓嶄竴鏍凤紝鍒欎細鍒涘缓涓�涓柊鐨凟xcel鏂囦欢锛涘鏋滀竴鏍凤紝鍒欎細瑕嗙洊鍘熸枃浠�
+                FileStream file = new FileStream("E:/鍥剧墖3333333333.xlsx", FileMode.Create);
+                //灏嗗凡鎻掑叆鍥剧墖鐨凟xcel娴佸啓鍏ユ柊鍒涘缓鐨凟xcel涓�
+                xssfworkbook.Write(file);
+                file.Close();
+                //鍏抽棴宸ヤ綔绨�
+                xssfworkbook.Close();
+            }
+        }
+        catch (Exception ex)
+        {
+            throw new Exception(ex.Message);
+        }
+        return excelPath;
+    }
+
+    /// <summary>
+    /// .xls鍚庣紑鐨凟xcel鏂囦欢娣诲姞鍥剧墖
+    /// </summary>
+    /// <param name="TagetPath"></param>
+    /// <param name="imgpath"></param>
+    private static string InsertImageToXLSExcel(string TagetPath, string imgpath)
+    {
+        FileStream file = new FileStream(TagetPath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
+        IWorkbook hssfworkbook = new HSSFWorkbook(file);
+        HSSFSheet sheet1 = (HSSFSheet)hssfworkbook.GetSheet("棰嗘枡鍗�");
+
+        System.Drawing.Image image = System.Drawing.Image.FromFile(imgpath);
+        MemoryStream ms = new MemoryStream();
+        image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
+        HSSFPatriarch patriarch = (HSSFPatriarch)sheet1.CreateDrawingPatriarch();
+        //璁剧疆鍥剧墖鍧愭爣涓庡ぇ灏�
+        //鍑芥暟鍘熷瀷锛歑SSFClientAnchor(int dx1, int dy1, int dx2, int dy2, int col1, int row1, int col2, int row2)锛�
+        //鍧愭爣(col1,row1)琛ㄧず鍥剧墖宸︿笂瑙掓墍鍦ㄥ崟鍏冩牸鐨勪綅缃紝鍧囦粠0寮�濮嬶紝姣斿(5,2)琛ㄧず(绗叚鍒楋紝绗笁琛�),鍗矲3锛涙敞鎰忥細鍥剧墖宸︿笂瑙掑潗鏍囦笌(col1,row1)鍗曞厓鏍煎乏涓婅鍧愭爣閲嶅悎
+        //鍧愭爣(col2,row2)琛ㄧず鍥剧墖鍙充笅瑙掓墍鍦ㄥ崟鍏冩牸鐨勪綅缃紝鍧囦粠0寮�濮嬶紝姣斿(10,3)琛ㄧず(绗崄涓�鍒楋紝绗洓琛�),鍗矺4锛涙敞鎰忥細鍥剧墖鍙充笅瑙掑潗鏍囦笌(col2,row2)鍗曞厓鏍煎乏涓婅鍧愭爣閲嶅悎
+        //鍧愭爣(dx1,dy1)琛ㄧず鍥剧墖宸︿笂瑙掑湪鍗曞厓鏍�(col1,row1)鍩虹涓婄殑鍋忕Щ閲�(寰�鍙充笅鏂瑰亸绉�)锛�(dx1锛宒y1)鐨勬渶澶у�间负(1023, 255),涓轰竴涓崟鍏冩牸鐨勫ぇ灏�
+        //鍧愭爣(dx2,dy2)琛ㄧず鍥剧墖鍙充笅瑙掑湪鍗曞厓鏍�(col2,row2)鍩虹涓婄殑鍋忕Щ閲�(寰�鍙充笅鏂瑰亸绉�)锛�(dx2,dy2)鐨勬渶澶у�间负(1023, 255),涓轰竴涓崟鍏冩牸鐨勫ぇ灏�
+        //娉ㄦ剰锛氱洰鍓嶆祴璇曞彂鐜帮紝瀵逛簬.xlsx鍚庣紑鐨凟xcel鏂囦欢锛屽亸绉婚噺璁剧疆(dx1,dy1)(dx2,dy2)鏃犳晥锛涘彧浼氬.xls鐢熸晥
+        HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 20, 15, 0, 2, 2, 6);
+        anchor.AnchorType = AnchorType.MoveDontResize;
+        int index = hssfworkbook.AddPicture(ms.ToArray(), PictureType.PNG);
+        HSSFPicture pict = (HSSFPicture)patriarch.CreatePicture(anchor, index);
+
+        int idex1 = hssfworkbook.GetSheetIndex("棰嗘枡鍗�");
+        hssfworkbook.SetSheetName(idex1, "棰嗘枡鍗�");
+
+        FileStream fs2 = new FileStream("E:/鍥剧墖鎿�2222222浣�.xls", FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);
+        hssfworkbook.Write(fs2);
+        fs2.Close();
+        image.Dispose();
+        file.Close();
+        return TagetPath;
+    }
+}
+
+
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/Dto/OnlineUserHubInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/Dto/OnlineUserHubInput.cs
new file mode 100644
index 0000000..386ad74
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/Dto/OnlineUserHubInput.cs
@@ -0,0 +1,12 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+public class OnlineUserHubInput
+{
+    public string ConnectionId { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/Dto/OnlineUserHubOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/Dto/OnlineUserHubOutput.cs
new file mode 100644
index 0000000..90c4425
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/Dto/OnlineUserHubOutput.cs
@@ -0,0 +1,16 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+public class OnlineUserList
+{
+    public string RealName { get; set; }
+
+    public bool Online { get; set; }
+
+    public List<SysOnlineUser> UserList { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/IOnlineUserHub.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/IOnlineUserHub.cs
new file mode 100644
index 0000000..64fa9a2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/IOnlineUserHub.cs
@@ -0,0 +1,38 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+public interface IOnlineUserHub
+{
+    /// <summary>
+    /// 鍦ㄧ嚎鐢ㄦ埛鍒楄〃
+    /// </summary>
+    /// <param name="context"></param>
+    /// <returns></returns>
+    Task OnlineUserList(OnlineUserList context);
+
+    /// <summary>
+    /// 寮哄埗涓嬬嚎
+    /// </summary>
+    /// <param name="context"></param>
+    /// <returns></returns>
+    Task ForceOffline(object context);
+
+    /// <summary>
+    /// 鍙戝竷绔欏唴娑堟伅
+    /// </summary>
+    /// <param name="context"></param>
+    /// <returns></returns>
+    Task PublicNotice(SysNotice context);
+
+    /// <summary>
+    /// 鎺ユ敹娑堟伅
+    /// </summary>
+    /// <param name="context"></param>
+    /// <returns></returns>
+    Task ReceiveMessage(object context);
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/OnlineUserHub.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/OnlineUserHub.cs
new file mode 100644
index 0000000..ff16c11
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/OnlineUserHub.cs
@@ -0,0 +1,153 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Furion.InstantMessaging;
+using Microsoft.AspNetCore.SignalR;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鍦ㄧ嚎鐢ㄦ埛闆嗙嚎鍣�
+/// </summary>
+[MapHub("/hubs/onlineUser")]
+public class OnlineUserHub : Hub<IOnlineUserHub>
+{
+    private const string GROUP_ONLINE = "GROUP_ONLINE_"; // 绉熸埛鍒嗙粍鍓嶇紑
+
+    private readonly SqlSugarRepository<SysOnlineUser> _sysOnlineUerRep;
+    private readonly SysMessageService _sysMessageService;
+    private readonly IHubContext<OnlineUserHub, IOnlineUserHub> _onlineUserHubContext;
+    private readonly SysCacheService _sysCacheService;
+
+    public OnlineUserHub(SqlSugarRepository<SysOnlineUser> sysOnlineUerRep,
+        SysMessageService sysMessageService,
+        IHubContext<OnlineUserHub, IOnlineUserHub> onlineUserHubContext,
+        SysCacheService sysCacheService)
+    {
+        _sysOnlineUerRep = sysOnlineUerRep;
+        _sysMessageService = sysMessageService;
+        _onlineUserHubContext = onlineUserHubContext;
+        _sysCacheService = sysCacheService;
+    }
+
+    /// <summary>
+    /// 杩炴帴
+    /// </summary>
+    /// <returns></returns>
+    public override async Task OnConnectedAsync()
+    {
+        var httpContext = Context.GetHttpContext();
+        var token = httpContext.Request.Query["access_token"];
+        var claims = JWTEncryption.ReadJwtToken(token)?.Claims;
+        var client = Parser.GetDefault().Parse(httpContext.Request.Headers["User-Agent"]);
+
+        var userId = claims?.FirstOrDefault(u => u.Type == ClaimConst.UserId)?.Value;
+        var tenantId = claims?.FirstOrDefault(u => u.Type == ClaimConst.TenantId)?.Value;
+        var user = new SysOnlineUser
+        {
+            ConnectionId = Context.ConnectionId,
+            UserId = string.IsNullOrWhiteSpace(userId) ? 0 : long.Parse(userId),
+            UserName = claims?.FirstOrDefault(u => u.Type == ClaimConst.Account)?.Value,
+            RealName = claims?.FirstOrDefault(u => u.Type == ClaimConst.RealName)?.Value,
+            Time = DateTime.Now,
+            Ip = httpContext.Connection.RemoteIpAddress.MapToIPv4().ToString(),
+            Browser = client.UA.Family + client.UA.Major,
+            Os = client.OS.Family + client.OS.Major,
+            TenantId = string.IsNullOrWhiteSpace(tenantId) ? 0 : Convert.ToInt64(tenantId),
+        };
+        await _sysOnlineUerRep.InsertAsync(user);
+        _sysCacheService.Set(CacheConst.KeyUserOnline + user.UserId, user);
+
+        // 浠ョ鎴稩d杩涜鍒嗙粍
+        var groupName = $"{GROUP_ONLINE}{user.TenantId}";
+        await _onlineUserHubContext.Groups.AddToGroupAsync(Context.ConnectionId, groupName);
+
+        var userList = await _sysOnlineUerRep.AsQueryable().Filter("", true)
+            .Where(u => u.TenantId == user.TenantId).Take(10).ToListAsync();
+        await _onlineUserHubContext.Clients.Groups(groupName).OnlineUserList(new OnlineUserList
+        {
+            RealName = user.RealName,
+            Online = true,
+            UserList = userList
+        });
+    }
+
+    /// <summary>
+    /// 鏂紑
+    /// </summary>
+    /// <param name="exception"></param>
+    /// <returns></returns>
+    public override async Task OnDisconnectedAsync(Exception exception)
+    {
+        if (string.IsNullOrEmpty(Context.ConnectionId)) return;
+
+        var user = await _sysOnlineUerRep.AsQueryable().Filter("", true).FirstAsync(u => u.ConnectionId == Context.ConnectionId);
+        if (user == null) return;
+
+        await _sysOnlineUerRep.DeleteAsync(u => u.Id == user.Id);
+        _sysCacheService.Remove(CacheConst.KeyUserOnline + user.UserId);
+
+        // 閫氱煡褰撳墠缁勭敤鎴峰彉鍔�
+        var userList = await _sysOnlineUerRep.AsQueryable().Filter("", true)
+            .Where(u => u.TenantId == user.TenantId).Take(10).ToListAsync();
+        await _onlineUserHubContext.Clients.Groups($"{GROUP_ONLINE}{user.TenantId}").OnlineUserList(new OnlineUserList
+        {
+            RealName = user.RealName,
+            Online = false,
+            UserList = userList
+        });
+    }
+
+    /// <summary>
+    /// 寮哄埗涓嬬嚎
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    public async Task ForceOffline(OnlineUserHubInput input)
+    {
+        await _onlineUserHubContext.Clients.Client(input.ConnectionId).ForceOffline("寮哄埗涓嬬嚎");
+    }
+
+    /// <summary>
+    /// 鍙戦�佷俊鎭粰鏌愪釜浜�
+    /// </summary>
+    /// <param name="message"></param>
+    /// <returns></returns>
+    public async Task ClientsSendMessage(MessageInput message)
+    {
+        await _sysMessageService.SendUser(message);
+    }
+
+    /// <summary>
+    /// 鍙戦�佷俊鎭粰鎵�鏈変汉
+    /// </summary>
+    /// <param name="message"></param>
+    /// <returns></returns>
+    public async Task ClientsSendMessagetoAll(MessageInput message)
+    {
+        await _sysMessageService.SendAllUser(message);
+    }
+
+    /// <summary>
+    /// 鍙戦�佹秷鎭粰鏌愪簺浜猴紙闄や簡鏈汉锛�
+    /// </summary>
+    /// <param name="message"></param>
+    /// <returns></returns>
+    public async Task ClientsSendMessagetoOther(MessageInput message)
+    {
+        await _sysMessageService.SendOtherUser(message);
+    }
+
+    /// <summary>
+    /// 鍙戦�佹秷鎭粰鏌愪簺浜�
+    /// </summary>
+    /// <param name="message"></param>
+    /// <returns></returns>
+    public async Task ClientsSendMessagetoUsers(MessageInput message)
+    {
+        await _sysMessageService.SendUsers(message);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/UserIdProvider.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/UserIdProvider.cs
new file mode 100644
index 0000000..fa6dec8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Hub/UserIdProvider.cs
@@ -0,0 +1,17 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.SignalR;
+
+namespace Admin.NET.Core;
+
+public interface UserIdProvider : IUserIdProvider
+{
+    public new string GetUserId(HubConnectionContext connection)
+    {
+        return connection.User?.Claims?.FirstOrDefault(u => u.Type == ClaimConst.UserId)?.Value;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Job/DynamicJobCompiler.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Job/DynamicJobCompiler.cs
new file mode 100644
index 0000000..67eb8fa
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Job/DynamicJobCompiler.cs
@@ -0,0 +1,25 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鍔ㄦ�佷綔涓氱紪璇�
+/// </summary>
+public class DynamicJobCompiler : ISingleton
+{
+    /// <summary>
+    /// 缂栬瘧浠g爜骞惰繑鍥炲叾涓疄鐜� IJob 鐨勭被鍨�
+    /// </summary>
+    /// <param name="script">鍔ㄦ�佺紪璇戠殑浣滀笟浠g爜</param>
+    /// <returns></returns>
+    public Type BuildJob(string script)
+    {
+        var jobAssembly = Schedular.CompileCSharpClassCode(script);
+        var jobType = jobAssembly.GetTypes().FirstOrDefault(u => typeof(IJob).IsAssignableFrom(u));
+        return jobType;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Job/EnumToDictJob.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Job/EnumToDictJob.cs
new file mode 100644
index 0000000..7324c56
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Job/EnumToDictJob.cs
@@ -0,0 +1,151 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鏋氫妇杞瓧鍏�
+/// </summary>
+[JobDetail("job_EnumToDictJob", Description = "鏋氫妇杞瓧鍏�", GroupName = "default", Concurrent = false)]
+[PeriodSeconds(1, TriggerId = "trigger_EnumToDictJob", Description = "鏋氫妇杞瓧鍏�", MaxNumberOfRuns = 1, RunOnStart = true)]
+public class EnumToDictJob : IJob
+{
+    private readonly IServiceScopeFactory _scopeFactory;
+    private readonly IJsonSerializerProvider _jsonSerializer;
+
+    public EnumToDictJob(IServiceScopeFactory scopeFactory, IJsonSerializerProvider jsonSerializer)
+    {
+        _scopeFactory = scopeFactory;
+        _jsonSerializer = jsonSerializer;
+    }
+
+    public async Task ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken)
+    {
+        using var serviceScope = _scopeFactory.CreateScope();
+        var sysEnumService = serviceScope.ServiceProvider.GetRequiredService<SysEnumService>();
+        var db = serviceScope.ServiceProvider.GetRequiredService<ISqlSugarClient>().CopyNew();
+
+        var enumTypeList = sysEnumService.GetEnumTypeList();
+        var enumCodeList = enumTypeList.Select(x => x.TypeName);
+        var sysDictTypeCodeList = await db.Queryable<SysDictType>().Where(x => enumCodeList.Contains(x.Code)).Select(x => x.Code).ToListAsync(stoppingToken);
+        // 鏇存柊鐨�
+        var uEnumType = enumTypeList.Where(x => sysDictTypeCodeList.Contains(x.TypeName)).ToList();
+        var waitUpdateSysDictType = await db.Queryable<SysDictType>().Where(x => uEnumType.Any(y => y.TypeName == x.Code)).ToListAsync(stoppingToken);
+        var waitUpdateSysDictTypeDict = waitUpdateSysDictType.ToDictionary(x => x.Code, x => x);
+        var waitUpdateSysDictData = await db.Queryable<SysDictData>().Where(x => uEnumType.Any(y => y.TypeName == x.DictType.Code)).ToListAsync(stoppingToken);
+        var uSysDictType = new List<SysDictType>();
+        var uSysDictData = new List<SysDictData>();
+        if (uEnumType.Count > 0)
+        {
+            uEnumType.ForEach(e =>
+            {
+                if (waitUpdateSysDictTypeDict.TryGetValue(e.TypeName, out SysDictType value))
+                {
+                    var uDictType = value;
+                    uDictType.Name = e.TypeDescribe;
+                    uDictType.Remark = e.TypeRemark;
+                    var uDictData = waitUpdateSysDictData.Where(x => x.DictTypeId == uDictType.Id).ToList();
+                    if (uDictData.Count > 0)
+                    {
+                        uDictData.ForEach(d =>
+                        {
+                            var enumData = e.EnumEntities.Where(x => d.Code == x.Name).FirstOrDefault();
+                            if (enumData != null)
+                            {
+                                d.Value = enumData.Value.ToString();
+                                d.Code = enumData.Name;
+                                uSysDictData.Add(d);
+                            }
+                        });
+                    }
+                    if (!uSysDictType.Any(x => x.Id == uDictType.Id))
+                    {
+                        uSysDictType.Add(uDictType);
+                    }
+                }
+            });
+            try
+            {
+                db.Ado.BeginTran();
+                if (uSysDictType.Count > 0)
+                {
+                    await db.Updateable(uSysDictType).ExecuteCommandAsync(stoppingToken);
+                }
+                if (uSysDictData.Count > 0)
+                {
+                    await db.Updateable(uSysDictData).ExecuteCommandAsync(stoppingToken);
+                }
+                db.Ado.CommitTran();
+            }
+            catch (Exception error)
+            {
+                db.Ado.RollbackTran();
+                Log.Error($"{context.Trigger.Description}閿欒锛�" + _jsonSerializer.Serialize(error));
+                throw new Exception($"{context.Trigger.Description}閿欒");
+            }
+        }
+        // 娣诲姞鐨�
+        var iEnumType = enumTypeList.Where(x => !sysDictTypeCodeList.Contains(x.TypeName)).ToList();
+        if (iEnumType.Count > 0)
+        {
+            // 闇�瑕佹柊澧炵殑瀛楀吀绫诲瀷
+            var iDictType = iEnumType.Select(x => new SysDictType
+            {
+                Id = YitIdHelper.NextId(),
+                Code = x.TypeName,
+                Name = x.TypeDescribe,
+                Remark = x.TypeRemark,
+                Status = StatusEnum.Enable,
+                OrderNo = 100
+            }).ToList();
+            // 闇�瑕佹柊澧炵殑瀛楀吀鏁版嵁
+            var dictData = iEnumType.Join(iDictType, t1 => t1.TypeName, t2 => t2.Code, (t1, t2) => new
+            {
+                data = t1.EnumEntities.Select(x => new SysDictData
+                {
+                    // 鎬ц兘浼樺寲锛屼娇鐢˙ulkCopyAsync蹇呴』鎵嬪姩鑾峰彇Id
+                    Id = YitIdHelper.NextId(),
+                    DictTypeId = t2.Id,
+                    Name = x.Describe,
+                    Value = x.Value.ToString(),
+                    Code = x.Name,
+                    Remark = t2.Remark,
+                    OrderNo = 100,
+                    TagType = "info"
+                }).ToList()
+            }).ToList();
+            var iDictData = new List<SysDictData>();
+            dictData.ForEach(item =>
+            {
+                iDictData.AddRange(item.data);
+            });
+            try
+            {
+                db.Ado.BeginTran();
+                if (iDictType.Count > 0)
+                {
+                    await db.Insertable(iDictType).ExecuteCommandAsync(stoppingToken);
+                }
+                if (iDictData.Count > 0)
+                {
+                    await db.Insertable(iDictData).ExecuteCommandAsync(stoppingToken);
+                }
+                db.Ado.CommitTran();
+            }
+            catch (Exception error)
+            {
+                db.Ado.RollbackTran();
+                Log.Error($"{context.Trigger.Description}閿欒锛�" + _jsonSerializer.Serialize(error));
+                throw new Exception($"{context.Trigger.Description}閿欒");
+            }
+        }
+
+        var originColor = Console.ForegroundColor;
+        Console.ForegroundColor = ConsoleColor.Green;
+        Console.WriteLine($"銆恵DateTime.Now}銆戠郴缁熸灇涓捐浆鎹㈠瓧鍏�");
+        Console.ForegroundColor = originColor;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Job/LogJob.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Job/LogJob.cs
new file mode 100644
index 0000000..b8afb51
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Job/LogJob.cs
@@ -0,0 +1,46 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 娓呯悊鏃ュ織浣滀笟浠诲姟
+/// </summary>
+[JobDetail("job_log", Description = "娓呯悊鎿嶄綔鏃ュ織", GroupName = "default", Concurrent = false)]
+[Daily(TriggerId = "trigger_log", Description = "娓呯悊鎿嶄綔鏃ュ織")]
+public class LogJob : IJob
+{
+    private readonly IServiceScopeFactory _scopeFactory;
+    private readonly ILogger _logger;
+
+    public LogJob(IServiceScopeFactory scopeFactory, ILoggerFactory loggerFactory)
+    {
+        _scopeFactory = scopeFactory;
+        _logger = loggerFactory.CreateLogger(CommonConst.SysLogCategoryName);
+    }
+
+    public async Task ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken)
+    {
+        using var serviceScope = _scopeFactory.CreateScope();
+
+        var logVisRep = serviceScope.ServiceProvider.GetRequiredService<SqlSugarRepository<SysLogVis>>();
+        var logOpRep = serviceScope.ServiceProvider.GetRequiredService<SqlSugarRepository<SysLogOp>>();
+        var logDiffRep = serviceScope.ServiceProvider.GetRequiredService<SqlSugarRepository<SysLogDiff>>();
+
+        var daysAgo = 30; // 鍒犻櫎30澶╀互鍓�
+        await logVisRep.CopyNew().AsDeleteable().Where(u => (DateTime)u.CreateTime < DateTime.Now.AddDays(-daysAgo)).ExecuteCommandAsync(stoppingToken); // 鍒犻櫎璁块棶鏃ュ織
+        await logOpRep.CopyNew().AsDeleteable().Where(u => (DateTime)u.CreateTime < DateTime.Now.AddDays(-daysAgo)).ExecuteCommandAsync(stoppingToken); // 鍒犻櫎鎿嶄綔鏃ュ織
+        await logDiffRep.CopyNew().AsDeleteable().Where(u => (DateTime)u.CreateTime < DateTime.Now.AddDays(-daysAgo)).ExecuteCommandAsync(stoppingToken); // 鍒犻櫎宸紓鏃ュ織
+
+        var originColor = Console.ForegroundColor;
+        Console.ForegroundColor = ConsoleColor.Yellow;
+        Console.WriteLine($"銆恵DateTime.Now}銆戞竻鐞嗙郴缁熸棩蹇楋紙30澶╁墠锛�");
+        Console.ForegroundColor = originColor;
+
+        // 鑷畾涔夋棩蹇�
+        _logger.LogInformation($"銆恵DateTime.Now}銆戞竻鐞嗙郴缁熸棩蹇�...");
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Job/OnlineUserJob.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Job/OnlineUserJob.cs
new file mode 100644
index 0000000..e1e929e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Job/OnlineUserJob.cs
@@ -0,0 +1,45 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Furion.Logging.Extensions;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 娓呯悊鍦ㄧ嚎鐢ㄦ埛浣滀笟浠诲姟
+/// </summary>
+[JobDetail("job_onlineUser", Description = "娓呯悊鍦ㄧ嚎鐢ㄦ埛", GroupName = "default", Concurrent = false)]
+[PeriodSeconds(1, TriggerId = "trigger_onlineUser", Description = "娓呯悊鍦ㄧ嚎鐢ㄦ埛", MaxNumberOfRuns = 1, RunOnStart = true)]
+public class OnlineUserJob : IJob
+{
+    private readonly IServiceScopeFactory _scopeFactory;
+    private readonly ILogger _logger;
+
+    public OnlineUserJob(IServiceScopeFactory scopeFactory, ILoggerFactory loggerFactory)
+    {
+        _scopeFactory = scopeFactory;
+        _logger = loggerFactory.CreateLogger(CommonConst.SysLogCategoryName);
+    }
+
+    public async Task ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken)
+    {
+        using var serviceScope = _scopeFactory.CreateScope();
+
+        var rep = serviceScope.ServiceProvider.GetRequiredService<SqlSugarRepository<SysOnlineUser>>();
+        await rep.CopyNew().AsDeleteable().ExecuteCommandAsync(stoppingToken);
+
+        var originColor = Console.ForegroundColor;
+        Console.ForegroundColor = ConsoleColor.Red;
+        Console.WriteLine($"銆恵DateTime.Now}銆戞竻绌哄湪绾跨敤鎴峰垪琛�");
+        Console.ForegroundColor = originColor;
+
+        // 缂撳瓨绉熸埛鍒楄〃
+        await serviceScope.ServiceProvider.GetRequiredService<SysTenantService>().CacheTenant();
+
+        // 鑷畾涔夋棩蹇�
+        _logger.LogInformation($"銆恵DateTime.Now}銆戞湇鍔″凡閲嶅惎...");
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/DatabaseLoggingWriter.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/DatabaseLoggingWriter.cs
new file mode 100644
index 0000000..c602737
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/DatabaseLoggingWriter.cs
@@ -0,0 +1,225 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using IPTools.Core;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鏁版嵁搴撴棩蹇楀啓鍏ュ櫒
+/// </summary>
+public class DatabaseLoggingWriter : IDatabaseLoggingWriter, IDisposable
+{
+    private readonly IServiceScope _serviceScope;
+    private readonly ISqlSugarClient _db;
+    private readonly SysConfigService _sysConfigService; // 鍙傛暟閰嶇疆鏈嶅姟
+    private readonly ILogger<DatabaseLoggingWriter> _logger; // 鏃ュ織缁勪欢
+
+    public DatabaseLoggingWriter(IServiceScopeFactory scopeFactory)
+    {
+        _serviceScope = scopeFactory.CreateScope();
+        //_db = _serviceScope.ServiceProvider.GetRequiredService<ISqlSugarClient>();
+        _sysConfigService = _serviceScope.ServiceProvider.GetRequiredService<SysConfigService>();
+        _logger = _serviceScope.ServiceProvider.GetRequiredService<ILogger<DatabaseLoggingWriter>>();
+
+        // 鍒囨崲鏃ュ織鐙珛鏁版嵁搴�
+        _db = SqlSugarSetup.ITenant.IsAnyConnection(SqlSugarConst.LogConfigId)
+            ? SqlSugarSetup.ITenant.GetConnectionScope(SqlSugarConst.LogConfigId)
+            : SqlSugarSetup.ITenant.GetConnectionScope(SqlSugarConst.MainConfigId);
+    }
+
+    public async Task WriteAsync(LogMessage logMsg, bool flush)
+    {
+        var jsonStr = logMsg.Context?.Get("loggingMonitor")?.ToString();
+        if (string.IsNullOrWhiteSpace(jsonStr))
+        {
+            await _db.Insertable(new SysLogOp
+            {
+                DisplayTitle = "鑷畾涔夋搷浣滄棩蹇�",
+                LogDateTime = logMsg.LogDateTime,
+                EventId = logMsg.EventId.Id,
+                ThreadId = logMsg.ThreadId,
+                TraceId = logMsg.TraceId,
+                Exception = logMsg.Exception == null ? null : JSON.Serialize(logMsg.Exception),
+                Message = logMsg.Message,
+                LogLevel = logMsg.LogLevel,
+                Status = "200",
+            }).ExecuteCommandAsync();
+            return;
+        }
+
+        var loggingMonitor = JSON.Deserialize<dynamic>(jsonStr);
+        // 涓嶈褰曟暟鎹牎楠屾棩蹇�
+        if (loggingMonitor.validation != null) return;
+
+        // 鑾峰彇褰撳墠鎿嶄綔鑰�
+        string account = "", realName = "", userId = "", tenantId = "";
+        if (loggingMonitor.authorizationClaims != null)
+        {
+            foreach (var item in loggingMonitor.authorizationClaims)
+            {
+                if (item.type == ClaimConst.Account)
+                    account = item.value;
+                if (item.type == ClaimConst.RealName)
+                    realName = item.value;
+                if (item.type == ClaimConst.TenantId)
+                    tenantId = item.value;
+                if (item.type == ClaimConst.UserId)
+                    userId = item.value;
+            }
+        }
+
+        string remoteIPv4 = loggingMonitor.remoteIPv4;
+        (string ipLocation, double? longitude, double? latitude) = GetIpAddress(remoteIPv4);
+
+        var browser = "";
+        var os = "";
+        if (loggingMonitor.userAgent != null)
+        {
+            var client = Parser.GetDefault().Parse(loggingMonitor.userAgent.ToString());
+            browser = $"{client.UA.Family} {client.UA.Major}.{client.UA.Minor} / {client.Device.Family}";
+            os = $"{client.OS.Family} {client.OS.Major} {client.OS.Minor}";
+        }
+
+        // 鎹曟崏寮傚父锛屽惁鍒欎細鐢变簬 unhandled exception 瀵艰嚧绋嬪簭宕╂簝
+        try
+        {
+            // 璁板綍寮傚父鏃ュ織-鍙戦�侀偖浠�
+            if (logMsg.Exception != null || loggingMonitor.exception != null)
+            {
+                await _db.Insertable(new SysLogEx
+                {
+                    ControllerName = loggingMonitor.controllerName,
+                    ActionName = loggingMonitor.actionTypeName,
+                    DisplayTitle = loggingMonitor.displayTitle,
+                    Status = loggingMonitor.returnInformation?.httpStatusCode,
+                    RemoteIp = remoteIPv4,
+                    Location = ipLocation,
+                    Longitude = longitude,
+                    Latitude = latitude,
+                    Browser = browser, // loggingMonitor.userAgent,
+                    Os = os, // loggingMonitor.osDescription + " " + loggingMonitor.osArchitecture,
+                    Elapsed = loggingMonitor.timeOperationElapsedMilliseconds,
+                    LogDateTime = logMsg.LogDateTime,
+                    Account = account,
+                    RealName = realName,
+                    HttpMethod = loggingMonitor.httpMethod,
+                    RequestUrl = loggingMonitor.requestUrl,
+                    RequestParam = (loggingMonitor.parameters == null || loggingMonitor.parameters.Count == 0) ? null : JSON.Serialize(loggingMonitor.parameters[0].value),
+                    ReturnResult = loggingMonitor.returnInformation == null ? null : JSON.Serialize(loggingMonitor.returnInformation),
+                    EventId = logMsg.EventId.Id,
+                    ThreadId = logMsg.ThreadId,
+                    TraceId = logMsg.TraceId,
+                    Exception = JSON.Serialize(loggingMonitor.exception),
+                    Message = logMsg.Message,
+                    CreateUserId = string.IsNullOrWhiteSpace(userId) ? 0 : long.Parse(userId),
+                    TenantId = string.IsNullOrWhiteSpace(tenantId) ? 0 : long.Parse(tenantId),
+                    LogLevel = logMsg.LogLevel
+                }).ExecuteCommandAsync();
+
+                // 灏嗗紓甯告棩蹇楀彂閫佸埌閭欢
+                if (await _sysConfigService.GetConfigValue<bool>(CommonConst.SysErrorMail))
+                {
+                    await App.GetRequiredService<IEventPublisher>().PublishAsync(CommonConst.SendErrorMail, loggingMonitor.exception);
+                }
+
+                return;
+            }
+
+            // 璁板綍璁块棶鏃ュ織-鐧诲綍閫�鍑�
+            if (loggingMonitor.actionName == "userInfo" || loggingMonitor.actionName == "logout")
+            {
+                await _db.Insertable(new SysLogVis
+                {
+                    ControllerName = loggingMonitor.controllerName,
+                    ActionName = loggingMonitor.actionTypeName,
+                    DisplayTitle = loggingMonitor.displayTitle,
+                    Status = loggingMonitor.returnInformation?.httpStatusCode,
+                    RemoteIp = remoteIPv4,
+                    Location = ipLocation,
+                    Longitude = longitude,
+                    Latitude = latitude,
+                    Browser = browser, // loggingMonitor.userAgent,
+                    Os = os, // loggingMonitor.osDescription + " " + loggingMonitor.osArchitecture,
+                    Elapsed = loggingMonitor.timeOperationElapsedMilliseconds,
+                    LogDateTime = logMsg.LogDateTime,
+                    Account = account,
+                    RealName = realName,
+                    CreateUserId = string.IsNullOrWhiteSpace(userId) ? 0 : long.Parse(userId),
+                    TenantId = string.IsNullOrWhiteSpace(tenantId) ? 0 : long.Parse(tenantId),
+                    LogLevel = logMsg.LogLevel
+                }).ExecuteCommandAsync();
+                return;
+            }
+
+            // 璁板綍鎿嶄綔鏃ュ織
+            if (!(await _sysConfigService.GetConfigValue<bool>(CommonConst.SysOpLog))) return;
+            await _db.Insertable(new SysLogOp
+            {
+                ControllerName = loggingMonitor.controllerName,
+                ActionName = loggingMonitor.actionTypeName,
+                DisplayTitle = loggingMonitor.displayTitle,
+                Status = loggingMonitor.returnInformation?.httpStatusCode,
+                RemoteIp = remoteIPv4,
+                Location = ipLocation,
+                Longitude = longitude,
+                Latitude = latitude,
+                Browser = browser, // loggingMonitor.userAgent,
+                Os = os, // loggingMonitor.osDescription + " " + loggingMonitor.osArchitecture,
+                Elapsed = loggingMonitor.timeOperationElapsedMilliseconds,
+                LogDateTime = logMsg.LogDateTime,
+                Account = account,
+                RealName = realName,
+                HttpMethod = loggingMonitor.httpMethod,
+                RequestUrl = loggingMonitor.requestUrl,
+                RequestParam = (loggingMonitor.parameters == null || loggingMonitor.parameters.Count == 0) ? null : JSON.Serialize(loggingMonitor.parameters[0].value),
+                ReturnResult = loggingMonitor.returnInformation == null ? null : JSON.Serialize(loggingMonitor.returnInformation),
+                EventId = logMsg.EventId.Id,
+                ThreadId = logMsg.ThreadId,
+                TraceId = logMsg.TraceId,
+                Exception = loggingMonitor.exception == null ? null : JSON.Serialize(loggingMonitor.exception),
+                Message = logMsg.Message,
+                CreateUserId = string.IsNullOrWhiteSpace(userId) ? 0 : long.Parse(userId),
+                TenantId = string.IsNullOrWhiteSpace(tenantId) ? 0 : long.Parse(tenantId),
+                LogLevel = logMsg.LogLevel
+            }).ExecuteCommandAsync();
+
+            await Task.Delay(50); // 寤惰繜 0.05 绉掑啓鍏ユ暟鎹簱锛屾湁鏁堝噺灏戦珮棰戝啓鍏ユ暟鎹簱瀵艰嚧姝婚攣闂
+        }
+        catch (Exception ex)
+        {
+            _logger.LogError(ex, "鎿嶄綔鏃ュ織涓婃灦");
+        }
+    }
+
+    /// <summary>
+    /// 瑙f瀽IP鍦板潃
+    /// </summary>
+    /// <param name="ip"></param>
+    /// <returns></returns>
+    internal static (string ipLocation, double? longitude, double? latitude) GetIpAddress(string ip)
+    {
+        try
+        {
+            var ipInfo = IpTool.SearchWithI18N(ip); // 鍥介檯鍖栨煡璇紝榛樿涓枃 涓枃zh-CN銆佽嫳鏂噀n
+            var addressList = new List<string>() { ipInfo.Country, ipInfo.Province, ipInfo.City, ipInfo.NetworkOperator };
+            return (string.Join(" ", addressList.Where(u => u != "0" && !string.IsNullOrWhiteSpace(u)).ToList()), ipInfo.Longitude, ipInfo.Latitude); // 鍘绘帀0鍙婄┖骞剁敤绌烘牸杩炴帴
+        }
+        catch
+        {
+            // 涓嶅仛澶勭悊
+        }
+        return ("鏈煡", 0, 0);
+    }
+
+    /// <summary>
+    /// 閲婃斁鏈嶅姟浣滅敤鍩�
+    /// </summary>
+    public void Dispose()
+    {
+        _serviceScope.Dispose();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/ElasticSearchLoggingWriter.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/ElasticSearchLoggingWriter.cs
new file mode 100644
index 0000000..731647f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/ElasticSearchLoggingWriter.cs
@@ -0,0 +1,101 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Elastic.Clients.Elasticsearch;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// ES鏃ュ織鍐欏叆鍣�
+/// </summary>
+public class ElasticSearchLoggingWriter : IDatabaseLoggingWriter, IDisposable
+{
+    private readonly IServiceScope _serviceScope;
+    private readonly ElasticsearchClient _esClient;
+    private readonly SysConfigService _sysConfigService;
+
+    public ElasticSearchLoggingWriter(IServiceScopeFactory scopeFactory)
+    {
+        _serviceScope = scopeFactory.CreateScope();
+        _esClient = _serviceScope.ServiceProvider.GetRequiredService<ElasticsearchClient>();
+        _sysConfigService = _serviceScope.ServiceProvider.GetRequiredService<SysConfigService>();
+    }
+
+    public async Task WriteAsync(LogMessage logMsg, bool flush)
+    {
+        // 鏄惁鍚敤鎿嶄綔鏃ュ織
+        var sysOpLogEnabled = await _sysConfigService.GetConfigValue<bool>(CommonConst.SysOpLog);
+        if (!sysOpLogEnabled) return;
+
+        var jsonStr = logMsg.Context?.Get("loggingMonitor")?.ToString();
+        if (string.IsNullOrWhiteSpace(jsonStr)) return;
+
+        var loggingMonitor = JSON.Deserialize<dynamic>(jsonStr);
+
+        // 涓嶈褰曠櫥褰曢��鍑烘棩蹇�
+        if (loggingMonitor.actionName == "userInfo" || loggingMonitor.actionName == "logout")
+            return;
+
+        // 鑾峰彇褰撳墠鎿嶄綔鑰�
+        string account = "", realName = "", userId = "", tenantId = "";
+        if (loggingMonitor.authorizationClaims != null)
+        {
+            foreach (var item in loggingMonitor.authorizationClaims)
+            {
+                if (item.type == ClaimConst.Account)
+                    account = item.value;
+                if (item.type == ClaimConst.RealName)
+                    realName = item.value;
+                if (item.type == ClaimConst.TenantId)
+                    tenantId = item.value;
+                if (item.type == ClaimConst.UserId)
+                    userId = item.value;
+            }
+        }
+
+        string remoteIPv4 = loggingMonitor.remoteIPv4;
+        (string ipLocation, double? longitude, double? latitude) = DatabaseLoggingWriter.GetIpAddress(remoteIPv4);
+
+        var sysLogOp = new SysLogOp
+        {
+            Id = DateTime.Now.Ticks,
+            ControllerName = loggingMonitor.controllerName,
+            ActionName = loggingMonitor.actionTypeName,
+            DisplayTitle = loggingMonitor.displayTitle,
+            Status = loggingMonitor.returnInformation.httpStatusCode,
+            RemoteIp = remoteIPv4,
+            Location = ipLocation,
+            Longitude = longitude,
+            Latitude = latitude,
+            Browser = loggingMonitor.userAgent,
+            Os = loggingMonitor.osDescription + " " + loggingMonitor.osArchitecture,
+            Elapsed = loggingMonitor.timeOperationElapsedMilliseconds,
+            LogDateTime = logMsg.LogDateTime,
+            Account = account,
+            RealName = realName,
+            HttpMethod = loggingMonitor.httpMethod,
+            RequestUrl = loggingMonitor.requestUrl,
+            RequestParam = (loggingMonitor.parameters == null || loggingMonitor.parameters.Count == 0) ? null : JSON.Serialize(loggingMonitor.parameters[0].value),
+            ReturnResult = JSON.Serialize(loggingMonitor.returnInformation),
+            EventId = logMsg.EventId.Id,
+            ThreadId = logMsg.ThreadId,
+            TraceId = logMsg.TraceId,
+            Exception = (loggingMonitor.exception == null) ? null : JSON.Serialize(loggingMonitor.exception),
+            Message = logMsg.Message,
+            CreateUserId = string.IsNullOrWhiteSpace(userId) ? 0 : long.Parse(userId),
+            TenantId = string.IsNullOrWhiteSpace(tenantId) ? 0 : long.Parse(tenantId)
+        };
+        await _esClient.IndexAsync(sysLogOp);
+    }
+
+    /// <summary>
+    /// 閲婃斁鏈嶅姟浣滅敤鍩�
+    /// </summary>
+    public void Dispose()
+    {
+        _serviceScope.Dispose();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/ElasticSearchSetup.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/ElasticSearchSetup.cs
new file mode 100644
index 0000000..aa53c17
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/ElasticSearchSetup.cs
@@ -0,0 +1,53 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Elastic.Clients.Elasticsearch;
+using Elastic.Transport;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// ES鏈嶅姟娉ㄥ唽
+/// </summary>
+public static class ElasticSearchSetup
+{
+    public static void AddElasticSearch(this IServiceCollection services)
+    {
+        var option = App.GetConfig<ElasticSearchOptions>("Logging:ElasticSearch");
+        if (!option.Enabled) return;
+
+        var uris = option.ServerUris.Select(u => new Uri(u));
+        // 闆嗙兢
+        var connectionPool = new StaticNodePool(uris);
+        var connectionSettings = new ElasticsearchClientSettings(connectionPool).DefaultIndex(option.DefaultIndex);
+        // 鍗曡繛鎺�
+        //var connectionSettings = new ElasticsearchClientSettings(new StaticNodePool(new List<Uri> { uris.FirstOrDefault() })).DefaultIndex(option.DefaultIndex);
+
+        // 璁よ瘉绫诲瀷
+        if (option.AuthType == ElasticSearchAuthTypeEnum.Basic) // Basic 璁よ瘉
+        {
+            connectionSettings.Authentication(new BasicAuthentication(option.User, option.Password));
+        }
+        else if (option.AuthType == ElasticSearchAuthTypeEnum.ApiKey) // ApiKey 璁よ瘉
+        {
+            connectionSettings.Authentication(new ApiKey(option.ApiKey));
+        }
+        else if (option.AuthType == ElasticSearchAuthTypeEnum.Base64ApiKey) // Base64ApiKey 璁よ瘉
+        {
+            connectionSettings.Authentication(new Base64ApiKey(option.Base64ApiKey));
+        }
+        else return;
+
+        // ES浣跨敤Https鏃剁殑璇佷功鎸囩汗
+        if (!string.IsNullOrEmpty(option.Fingerprint))
+        {
+            connectionSettings.CertificateFingerprint(option.Fingerprint);
+        }
+
+        var client = new ElasticsearchClient(connectionSettings);
+        services.AddSingleton(client); // 鍗曚緥娉ㄥ唽
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/LogExceptionHandler.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/LogExceptionHandler.cs
new file mode 100644
index 0000000..7895563
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/LogExceptionHandler.cs
@@ -0,0 +1,53 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+//using Microsoft.AspNetCore.Mvc.Controllers;
+//using System.Security.Claims;
+
+//namespace Admin.NET.Core.Logging;
+
+///// <summary>
+///// 鍏ㄥ眬寮傚父澶勭悊
+///// </summary>
+//public class LogExceptionHandler : IGlobalExceptionHandler, ISingleton
+//{
+//    private readonly IEventPublisher _eventPublisher;
+
+//    public LogExceptionHandler(IEventPublisher eventPublisher)
+//    {
+//        _eventPublisher = eventPublisher;
+//    }
+
+//    public async Task OnExceptionAsync(ExceptionContext context)
+//    {
+//        var actionMethod = (context.ActionDescriptor as ControllerActionDescriptor)?.MethodInfo;
+//        var displayNameAttribute = actionMethod.IsDefined(typeof(DisplayNameAttribute), true) ? actionMethod.GetCustomAttribute<DisplayNameAttribute>(true) : default;
+
+//        var sysLogEx = new SysLogEx
+//        {
+//            Account = App.User?.FindFirstValue(ClaimConst.Account),
+//            RealName = App.User?.FindFirstValue(ClaimConst.RealName),
+//            ControllerName = actionMethod.DeclaringType.FullName,
+//            ActionName = actionMethod.Name,
+//            DisplayTitle = displayNameAttribute?.DisplayName,
+//            Exception = $"寮傚父淇℃伅:{context.Exception.Message} 寮傚父鏉ユ簮锛歿context.Exception.Source} 鍫嗘爤淇℃伅锛歿context.Exception.StackTrace}",
+//            Message = "鍏ㄥ眬寮傚父",
+//            RequestParam = context.Exception.TargetSite.GetParameters().ToString(),
+//            HttpMethod = context.HttpContext.Request.Method,
+//            RequestUrl = context.HttpContext.Request.GetRequestUrlAddress(),
+//            RemoteIp = context.HttpContext.GetRemoteIpAddressToIPv4(),
+//            Browser = context.HttpContext.Request.Headers["User-Agent"],
+//            TraceId = App.GetTraceId(),
+//            ThreadId = App.GetThreadId(),
+//            LogDateTime = DateTime.Now,
+//            LogLevel = LogLevel.Error
+//        };
+
+//        await _eventPublisher.PublishAsync(new ChannelEventSource("Add:ExLog", sysLogEx));
+
+//        await _eventPublisher.PublishAsync("Send:ErrorMail", sysLogEx);
+//    }
+//}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/LoggingSetup.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/LoggingSetup.cs
new file mode 100644
index 0000000..b0e502d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Logging/LoggingSetup.cs
@@ -0,0 +1,98 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+public static class LoggingSetup
+{
+    /// <summary>
+    /// 鏃ュ織娉ㄥ唽
+    /// </summary>
+    /// <param name="services"></param>
+    public static void AddLoggingSetup(this IServiceCollection services)
+    {
+        // 鏃ュ織鐩戝惉
+        services.AddMonitorLogging(options =>
+        {
+            options.IgnorePropertyNames = new[] { "Byte" };
+            options.IgnorePropertyTypes = new[] { typeof(byte[]) };
+        });
+
+        // 鎺у埗鍙版棩蹇�
+        var consoleLog = App.GetConfig<bool>("Logging:Monitor:ConsoleLog", true);
+        services.AddConsoleFormatter(options =>
+        {
+            options.DateFormat = "yyyy-MM-dd HH:mm:ss(zzz) dddd";
+            //options.WithTraceId = true; // 鏄剧ず绾跨▼Id
+            //options.WithStackFrame = true; // 鏄剧ず绋嬪簭闆�
+            options.WriteFilter = (logMsg) =>
+            {
+                return consoleLog;
+            };
+        });
+
+        // 鏃ュ織鍐欏叆鏂囦欢
+        if (App.GetConfig<bool>("Logging:File:Enabled", true))
+        {
+            var loggingMonitorSettings = App.GetConfig<LoggingMonitorSettings>("Logging:Monitor", true);
+            Array.ForEach(new[] { LogLevel.Information, LogLevel.Warning, LogLevel.Error }, logLevel =>
+            {
+                services.AddFileLogging(options =>
+                {
+                    options.WithTraceId = true; // 鏄剧ず绾跨▼Id
+                    options.WithStackFrame = true; // 鏄剧ず绋嬪簭闆�
+                    options.FileNameRule = fileName => string.Format(fileName, DateTime.Now, logLevel.ToString()); // 姣忓ぉ鍒涘缓涓�涓枃浠�
+                    options.WriteFilter = logMsg => logMsg.LogLevel == logLevel; // 鏃ュ織绾у埆
+                    options.HandleWriteError = (writeError) => // 鍐欏叆澶辫触鏃跺惎鐢ㄥ鐢ㄦ枃浠�
+                    {
+                        writeError.UseRollbackFileName(Path.GetFileNameWithoutExtension(writeError.CurrentFileName) + "-oops" + Path.GetExtension(writeError.CurrentFileName));
+                    };
+                    if (loggingMonitorSettings.JsonBehavior == JsonBehavior.OnlyJson)
+                    {
+                        options.MessageFormat = LoggerFormatter.Json;
+                        // options.MessageFormat = LoggerFormatter.JsonIndented;
+                        options.MessageFormat = (logMsg) =>
+                        {
+                            var jsonString = logMsg.Context.Get("loggingMonitor");
+                            return jsonString?.ToString();
+                        };
+                    }
+                });
+            });
+        }
+
+        // 鏃ュ織鍐欏叆ElasticSearch
+        if (App.GetConfig<bool>("Logging:ElasticSearch:Enabled", true))
+        {
+            services.AddDatabaseLogging<ElasticSearchLoggingWriter>(options =>
+            {
+                options.WithTraceId = true; // 鏄剧ず绾跨▼Id
+                options.WithStackFrame = true; // 鏄剧ず绋嬪簭闆�
+                options.IgnoreReferenceLoop = false; // 蹇界暐寰幆妫�娴�
+                options.MessageFormat = LoggerFormatter.Json;
+                options.WriteFilter = (logMsg) =>
+                {
+                    return logMsg.LogName == CommonConst.SysLogCategoryName; // 鍙啓LoggingMonitor鏃ュ織
+                };
+            });
+        }
+
+        // 鏃ュ織鍐欏叆鏁版嵁搴�
+        if (App.GetConfig<bool>("Logging:Database:Enabled", true))
+        {
+            services.AddDatabaseLogging<DatabaseLoggingWriter>(options =>
+            {
+                options.WithTraceId = true; // 鏄剧ず绾跨▼Id
+                options.WithStackFrame = true; // 鏄剧ず绋嬪簭闆�
+                options.IgnoreReferenceLoop = false; // 蹇界暐寰幆妫�娴�
+                options.WriteFilter = (logMsg) =>
+                {
+                    return logMsg.LogName == CommonConst.SysLogCategoryName; // 鍙啓LoggingMonitor鏃ュ織
+                };
+            });
+        }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/OAuth/OAuthSetup.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/OAuth/OAuthSetup.cs
new file mode 100644
index 0000000..4c156d5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/OAuth/OAuthSetup.cs
@@ -0,0 +1,50 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.Authentication;
+using Microsoft.AspNetCore.Authentication.Cookies;
+using Microsoft.AspNetCore.Authentication.JwtBearer;
+using Microsoft.AspNetCore.Builder;
+
+namespace Admin.NET.Core;
+
+public static class OAuthSetup
+{
+    /// <summary>
+    /// 涓夋柟鎺堟潈鐧诲綍OAuth娉ㄥ唽
+    /// </summary>
+    /// <param name="services"></param>
+    public static void AddOAuth(this IServiceCollection services)
+    {
+        var authOpt = App.GetConfig<OAuthOptions>("OAuth", true);
+        services.AddAuthentication(options =>
+            {
+                options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
+                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
+            })
+            .AddCookie(options =>
+            {
+                options.Cookie.SameSite = SameSiteMode.Lax;
+            })
+            .AddWeixin(options =>
+            {
+                options.ClientId = authOpt.Weixin?.ClientId;
+                options.ClientSecret = authOpt.Weixin?.ClientSecret;
+            })
+            .AddGitee(options =>
+            {
+                options.ClientId = authOpt.Gitee?.ClientId;
+                options.ClientSecret = authOpt.Gitee?.ClientSecret;
+
+                options.ClaimActions.MapJsonKey(OAuthClaim.GiteeAvatarUrl, "avatar_url");
+            });
+    }
+
+    public static void UseOAuth(this IApplicationBuilder app)
+    {
+        app.UseCookiePolicy(new CookiePolicyOptions { MinimumSameSitePolicy = SameSiteMode.Lax });
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/APIJSONOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/APIJSONOptions.cs
new file mode 100644
index 0000000..c12625a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/APIJSONOptions.cs
@@ -0,0 +1,70 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// APIJSON閰嶇疆閫夐」
+/// </summary>
+public sealed class APIJSONOptions : IConfigurableOptions
+{
+    /// <summary>
+    /// 瑙掕壊闆嗗悎
+    /// </summary>
+    public List<APIJSON_Role> Roles { get; set; }
+}
+
+/// <summary>
+/// APIJSON瑙掕壊鏉冮檺
+/// </summary>
+public class APIJSON_Role
+{
+    /// <summary>
+    /// 瑙掕壊鍚嶇О
+    /// </summary>
+    public string RoleName { get; set; }
+
+    /// <summary>
+    /// 鏌ヨ
+    /// </summary>
+    public APIJSON_RoleItem Select { get; set; }
+
+    /// <summary>
+    /// 澧炲姞
+    /// </summary>
+    public APIJSON_RoleItem Insert { get; set; }
+
+    /// <summary>
+    /// 鏇存柊
+    /// </summary>
+    public APIJSON_RoleItem Update { get; set; }
+
+    /// <summary>
+    /// 鍒犻櫎
+    /// </summary>
+    public APIJSON_RoleItem Delete { get; set; }
+}
+
+/// <summary>
+/// APIJSON瑙掕壊鏉冮檺鍐呭
+/// </summary>
+public class APIJSON_RoleItem
+{
+    /// <summary>
+    /// 琛ㄩ泦鍚�
+    /// </summary>
+    public string[] Table { get; set; }
+
+    /// <summary>
+    /// 鍒楅泦鍚�
+    /// </summary>
+    public string[] Column { get; set; }
+
+    /// <summary>
+    /// 杩囨护鍣�
+    /// </summary>
+    public string[] Filter { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/CacheOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/CacheOptions.cs
new file mode 100644
index 0000000..b9ee81b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/CacheOptions.cs
@@ -0,0 +1,142 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 缂撳瓨閰嶇疆閫夐」
+/// </summary>
+public sealed class CacheOptions : IConfigurableOptions<CacheOptions>
+{
+    /// <summary>
+    /// 缂撳瓨鍓嶇紑
+    /// </summary>
+    public string Prefix { get; set; }
+
+    /// <summary>
+    /// 缂撳瓨绫诲瀷
+    /// </summary>
+    public string CacheType { get; set; }
+
+    /// <summary>
+    /// Redis缂撳瓨
+    /// </summary>
+    public RedisOption Redis { get; set; }
+
+    public void PostConfigure(CacheOptions options, IConfiguration configuration)
+    {
+        options.Prefix = string.IsNullOrWhiteSpace(options.Prefix) ? "" : options.Prefix.Trim();
+    }
+}
+
+/// <summary>
+/// Redis缂撳瓨
+/// </summary>
+public sealed class RedisOption : RedisOptions
+{
+    /// <summary>
+    /// 鏈�澶ф秷鎭ぇ灏�
+    /// </summary>
+    public int MaxMessageSize { get; set; }
+}
+
+/// <summary>
+/// 闆嗙兢閰嶇疆閫夐」
+/// </summary>
+public sealed class ClusterOptions : IConfigurableOptions
+{
+    /// <summary>
+    /// 鏄惁鍚敤
+    /// </summary>
+    public bool Enabled { get; set; }
+
+    /// <summary>
+    /// 鏈嶅姟鍣ㄦ爣璇�
+    /// </summary>
+    public string ServerId { get; set; }
+
+    /// <summary>
+    /// 鏈嶅姟鍣↖P
+    /// </summary>
+    public string ServerIp { get; set; }
+
+    /// <summary>
+    /// SignalR閰嶇疆
+    /// </summary>
+    public ClusterSignalR SignalR { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁淇濇姢key
+    /// </summary>
+    public string DataProtecteKey { get; set; }
+
+    /// <summary>
+    /// 鏄惁鍝ㄥ叺妯″紡
+    /// </summary>
+    public bool IsSentinel { get; set; }
+
+    /// <summary>
+    /// 鍝ㄥ叺閰嶇疆
+    /// </summary>
+    public StackExchangeSentinelConfig SentinelConfig { get; set; }
+}
+
+/// <summary>
+/// 闆嗙兢SignalR閰嶇疆
+/// </summary>
+public sealed class ClusterSignalR
+{
+    /// <summary>
+    /// Redis杩炴帴瀛楃涓�
+    /// </summary>
+    public string RedisConfiguration { get; set; }
+
+    /// <summary>
+    /// 缂撳瓨鍓嶇紑
+    /// </summary>
+    public string ChannelPrefix { get; set; }
+}
+
+/// <summary>
+/// 鍝ㄥ叺閰嶇疆
+/// </summary>
+public sealed class StackExchangeSentinelConfig
+{
+    /// <summary>
+    /// master鍚嶇О
+    /// </summary>
+    public string ServiceName { get; set; }
+
+    /// <summary>
+    /// master璁块棶瀵嗙爜
+    /// </summary>
+    public string Password { get; set; }
+
+    /// <summary>
+    /// 鍝ㄥ叺璁块棶瀵嗙爜
+    /// </summary>
+    public string SentinelPassword { get; set; }
+
+    /// <summary>
+    /// 鍝ㄥ叺绔彛
+    /// </summary>
+    public List<string> EndPoints { get; set; }
+
+    /// <summary>
+    /// 榛樿搴�
+    /// </summary>
+    public int DefaultDb { get; set; }
+
+    /// <summary>
+    /// 涓诲墠缂�
+    /// </summary>
+    public string MainPrefix { get; set; }
+
+    /// <summary>
+    /// SignalR鍓嶇紑
+    /// </summary>
+    public string SignalRChannelPrefix { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/CodeGenOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/CodeGenOptions.cs
new file mode 100644
index 0000000..021beb7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/CodeGenOptions.cs
@@ -0,0 +1,38 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 浠g爜鐢熸垚閰嶇疆閫夐」
+/// </summary>
+public sealed class CodeGenOptions : IConfigurableOptions
+{
+    /// <summary>
+    /// 鏁版嵁搴撳疄浣撶▼搴忛泦鍚嶇О闆嗗悎
+    /// </summary>
+    public List<string> EntityAssemblyNames { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撳熀纭�瀹炰綋鍚嶇О闆嗗悎
+    /// </summary>
+    public List<string> BaseEntityNames { get; set; }
+
+    /// <summary>
+    /// 鍩虹瀹炰綋鍚�
+    /// </summary>
+    public Dictionary<string, string[]> EntityBaseColumn { get; set; }
+
+    /// <summary>
+    /// 鍓嶇鏂囦欢鏍圭洰褰�
+    /// </summary>
+    public string FrontRootPath { get; set; }
+
+    /// <summary>
+    /// 鍚庣鐢熸垚鍒扮殑椤圭洰
+    /// </summary>
+    public List<string> BackendApplicationNamespaces { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/CryptogramOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/CryptogramOptions.cs
new file mode 100644
index 0000000..44a43ec
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/CryptogramOptions.cs
@@ -0,0 +1,43 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 瀵嗙爜閰嶇疆閫夐」
+/// </summary>
+public sealed class CryptogramOptions : IConfigurableOptions
+{
+    /// <summary>
+    /// 鏄惁寮�鍚瘑鐮佸己搴﹂獙璇�
+    /// </summary>
+    public bool StrongPassword { get; set; }
+
+    /// <summary>
+    /// 瀵嗙爜寮哄害楠岃瘉姝e垯琛ㄨ揪寮�
+    /// </summary>
+    public string PasswordStrengthValidation { get; set; }
+
+    /// <summary>
+    /// 瀵嗙爜寮哄害楠岃瘉鎻愮ず
+    /// </summary>
+    public string PasswordStrengthValidationMsg { get; set; }
+
+    /// <summary>
+    /// 瀵嗙爜绫诲瀷
+    /// </summary>
+    public string CryptoType { get; set; }
+
+    /// <summary>
+    /// 鍏挜
+    /// </summary>
+    public string PublicKey { get; set; }
+
+    /// <summary>
+    /// 绉侀挜
+    /// </summary>
+    public string PrivateKey { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/DbConnectionOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/DbConnectionOptions.cs
new file mode 100644
index 0000000..e1c8619
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/DbConnectionOptions.cs
@@ -0,0 +1,106 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鏁版嵁搴撻厤缃�夐」
+/// </summary>
+public sealed class DbConnectionOptions : IConfigurableOptions<DbConnectionOptions>
+{
+    /// <summary>
+    /// 鍚敤鎺у埗鍙版墦鍗癝QL
+    /// </summary>
+    public bool EnableConsoleSql { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撻泦鍚�
+    /// </summary>
+    public List<DbConnectionConfig> ConnectionConfigs { get; set; }
+
+    public void PostConfigure(DbConnectionOptions options, IConfiguration configuration)
+    {
+        foreach (var dbConfig in options.ConnectionConfigs)
+        {
+            if (dbConfig.ConfigId == null || string.IsNullOrWhiteSpace(dbConfig.ConfigId.ToString()))
+                dbConfig.ConfigId = SqlSugarConst.MainConfigId;
+        }
+    }
+}
+
+/// <summary>
+/// 鏁版嵁搴撹繛鎺ラ厤缃�
+/// </summary>
+public sealed class DbConnectionConfig : ConnectionConfig
+{
+    /// <summary>
+    /// 鏁版嵁搴撻厤缃�
+    /// </summary>
+    public DbSettings DbSettings { get; set; }
+
+    /// <summary>
+    /// 琛ㄩ厤缃�
+    /// </summary>
+    public TableSettings TableSettings { get; set; }
+
+    /// <summary>
+    /// 绉嶅瓙閰嶇疆
+    /// </summary>
+    public SeedSettings SeedSettings { get; set; }
+}
+
+/// <summary>
+/// 鏁版嵁搴撻厤缃�
+/// </summary>
+public sealed class DbSettings
+{
+    /// <summary>
+    /// 鍚敤搴撹〃鍒濆鍖�
+    /// </summary>
+    public bool EnableInitDb { get; set; }
+
+    /// <summary>
+    /// 鍚敤搴撹〃宸紓鏃ュ織
+    /// </summary>
+    public bool EnableDiffLog { get; set; }
+
+    /// <summary>
+    /// 鍚敤椹煎嘲杞笅鍒掔嚎
+    /// </summary>
+    public bool EnableUnderLine { get; set; }
+}
+
+/// <summary>
+/// 琛ㄩ厤缃�
+/// </summary>
+public sealed class TableSettings
+{
+    /// <summary>
+    /// 鍚敤琛ㄥ垵濮嬪寲
+    /// </summary>
+    public bool EnableInitTable { get; set; }
+
+    /// <summary>
+    /// 鍚敤琛ㄥ閲忔洿鏂�
+    /// </summary>
+    public bool EnableIncreTable { get; set; }
+}
+
+/// <summary>
+/// 绉嶅瓙閰嶇疆
+/// </summary>
+public sealed class SeedSettings
+{
+    /// <summary>
+    /// 鍚敤绉嶅瓙鍒濆鍖�
+    /// </summary>
+    public bool EnableInitSeed { get; set; }
+
+    /// <summary>
+    /// 鍚敤绉嶅瓙澧為噺鏇存柊
+    /// </summary>
+    public bool EnableIncreSeed { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/ElasticSearchOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/ElasticSearchOptions.cs
new file mode 100644
index 0000000..1e6f73a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/ElasticSearchOptions.cs
@@ -0,0 +1,64 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// ES閰嶇疆閫夐」
+/// </summary>
+public class ElasticSearchOptions
+{
+    /// <summary>
+    /// 鏄惁鍚敤
+    /// </summary>
+    public bool Enabled { get; set; } = false;
+
+    /// <summary>
+    /// ES璁よ瘉绫诲瀷锛屽彲閫� Basic銆丄piKey銆丅ase64ApiKey
+    /// </summary>
+    public ElasticSearchAuthTypeEnum AuthType { get; set; }
+
+    /// <summary>
+    /// Basic璁よ瘉鐨勭敤鎴峰悕
+    /// </summary>
+    public string User { get; set; }
+
+    /// <summary>
+    /// Basic璁よ瘉鐨勫瘑鐮�
+    /// </summary>
+    public string Password { get; set; }
+
+    /// <summary>
+    /// ApiKey璁よ瘉鐨凙piId
+    /// </summary>
+    public string ApiId { get; set; }
+
+    /// <summary>
+    /// ApiKey璁よ瘉鐨凙piKey
+    /// </summary>
+    public string ApiKey { get; set; }
+
+    /// <summary>
+    /// Base64ApiKey璁よ瘉鏃跺姞瀵嗙殑鍔犲瘑瀛楃涓�
+    /// </summary>
+    public string Base64ApiKey { get; set; }
+
+    /// <summary>
+    /// ES浣跨敤Https鏃剁殑璇佷功鎸囩汗锛屼娇鐢ㄨ瘉涔﹁鑷瀹炵幇
+    /// <para>https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/connecting.html</para>
+    /// </summary>
+    public string Fingerprint { get; set; }
+
+    /// <summary>
+    /// 鍦板潃
+    /// </summary>
+    public List<string> ServerUris { get; set; } = new List<string>();
+
+    /// <summary>
+    /// 绱㈠紩
+    /// </summary>
+    public string DefaultIndex { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/EmailOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/EmailOptions.cs
new file mode 100644
index 0000000..10933b4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/EmailOptions.cs
@@ -0,0 +1,58 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 閭欢閰嶇疆閫夐」
+/// </summary>
+public sealed class EmailOptions : IConfigurableOptions
+{
+    /// <summary>
+    /// 涓绘満
+    /// </summary>
+    public string Host { get; set; }
+
+    /// <summary>
+    /// 绔彛
+    /// </summary>
+    public int Port { get; set; }
+
+    /// <summary>
+    /// 榛樿鍙戜欢鑰呴偖绠�
+    /// </summary>
+    public string DefaultFromEmail { get; set; }
+
+    /// <summary>
+    /// 榛樿鎺ユ敹浜洪偖绠�
+    /// </summary>
+    public string DefaultToEmail { get; set; }
+
+    /// <summary>
+    /// 鍚敤SSL
+    /// </summary>
+    public bool EnableSsl { get; set; }
+
+    ///// <summary>
+    ///// 鏄惁浣跨敤榛樿鍑嵁
+    ///// </summary>
+    //public bool UseDefaultCredentials { get; set; }
+
+    /// <summary>
+    /// 閭璐﹀彿
+    /// </summary>
+    public string UserName { get; set; }
+
+    /// <summary>
+    /// 閭瀵嗙爜
+    /// </summary>
+    public string Password { get; set; }
+
+    /// <summary>
+    /// 榛樿閭欢鏍囬
+    /// </summary>
+    public string DefaultFromName { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/EnumOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/EnumOptions.cs
new file mode 100644
index 0000000..2da8992
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/EnumOptions.cs
@@ -0,0 +1,18 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鏋氫妇閰嶇疆閫夐」
+/// </summary>
+public sealed class EnumOptions : IConfigurableOptions
+{
+    /// <summary>
+    /// 鏋氫妇瀹炰綋绋嬪簭闆嗗悕绉伴泦鍚�
+    /// </summary>
+    public List<string> EntityAssemblyNames { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/EventBusOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/EventBusOptions.cs
new file mode 100644
index 0000000..45e7261
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/EventBusOptions.cs
@@ -0,0 +1,44 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 浜嬩欢鎬荤嚎閰嶇疆閫夐」
+/// </summary>
+public sealed class EventBusOptions : IConfigurableOptions
+{
+    /// <summary>
+    /// RabbitMQ
+    /// </summary>
+    public RabbitMQSettings RabbitMQ { get; set; }
+}
+
+/// <summary>
+/// RabbitMQ
+/// </summary>
+public sealed class RabbitMQSettings
+{
+    /// <summary>
+    /// 璐﹀彿
+    /// </summary>
+    public string UserName { get; set; }
+
+    /// <summary>
+    /// 瀵嗙爜
+    /// </summary>
+    public string Password { get; set; }
+
+    /// <summary>
+    /// 涓绘満
+    /// </summary>
+    public string HostName { get; set; }
+
+    /// <summary>
+    /// 绔彛
+    /// </summary>
+    public int Port { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/OAuthOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/OAuthOptions.cs
new file mode 100644
index 0000000..4ea822b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/OAuthOptions.cs
@@ -0,0 +1,23 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绗笁鏂圭櫥褰曟巿鏉冮厤缃�夐」
+/// </summary>
+public sealed class OAuthOptions : IConfigurableOptions
+{
+    /// <summary>
+    /// Weixin閰嶇疆
+    /// </summary>
+    public Microsoft.AspNetCore.Authentication.OAuth.OAuthOptions Weixin { get; set; }
+
+    /// <summary>
+    /// Gitee閰嶇疆
+    /// </summary>
+    public Microsoft.AspNetCore.Authentication.OAuth.OAuthOptions Gitee { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/PayCallBackOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/PayCallBackOptions.cs
new file mode 100644
index 0000000..b110fd0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/PayCallBackOptions.cs
@@ -0,0 +1,33 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鏀粯鍥炶皟閰嶇疆閫夐」
+/// </summary>
+public sealed class PayCallBackOptions : IConfigurableOptions
+{
+    /// <summary>
+    /// 寰俊鏀粯鍥炶皟
+    /// </summary>
+    public string WechatPayUrl { get; set; }
+
+    /// <summary>
+    /// 寰俊閫�娆惧洖璋�
+    /// </summary>
+    public string WechatRefundUrl { get; set; }
+
+    /// <summary>
+    /// 鏀粯瀹濇敮浠樺洖璋�
+    /// </summary>
+    public string AlipayUrl { get; set; }
+
+    /// <summary>
+    /// 鏀粯瀹濋��娆惧洖璋�
+    /// </summary>
+    public string AlipayRefundUrl { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/RateLimitOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/RateLimitOptions.cs
new file mode 100644
index 0000000..057166a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/RateLimitOptions.cs
@@ -0,0 +1,37 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using AspNetCoreRateLimit;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// IP闄愭祦閰嶇疆閫夐」
+/// </summary>
+public sealed class IpRateLimitingOptions : IpRateLimitOptions
+{
+}
+
+/// <summary>
+/// IP闄愭祦绛栫暐閰嶇疆閫夐」
+/// </summary>
+public sealed class IpRateLimitPoliciesOptions : IpRateLimitPolicies, IConfigurableOptions
+{
+}
+
+/// <summary>
+/// 瀹㈡埛绔檺娴侀厤缃�夐」
+/// </summary>
+public sealed class ClientRateLimitingOptions : ClientRateLimitOptions, IConfigurableOptions
+{
+}
+
+/// <summary>
+/// 瀹㈡埛绔檺娴佺瓥鐣ラ厤缃�夐」
+/// </summary>
+public sealed class ClientRateLimitPoliciesOptions : ClientRateLimitPolicies, IConfigurableOptions
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/SMSOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/SMSOptions.cs
new file mode 100644
index 0000000..6d27683
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/SMSOptions.cs
@@ -0,0 +1,41 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鐭俊閰嶇疆閫夐」
+/// </summary>
+public sealed class SMSOptions : IConfigurableOptions
+{
+    /// <summary>
+    /// Aliyun
+    /// </summary>
+    public SMSSettings Aliyun { get; set; }
+}
+
+public sealed class SMSSettings
+{
+    /// <summary>
+    /// AccessKey ID
+    /// </summary>
+    public string AccessKeyId { get; set; }
+
+    /// <summary>
+    /// AccessKey Secret
+    /// </summary>
+    public string AccessKeySecret { get; set; }
+
+    /// <summary>
+    /// 鐭俊绛惧悕
+    /// </summary>
+    public string SignName { get; set; }
+
+    /// <summary>
+    /// 鐭俊妯℃澘
+    /// </summary>
+    public string TemplateCode { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/SnowIdOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/SnowIdOptions.cs
new file mode 100644
index 0000000..07b2b53
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/SnowIdOptions.cs
@@ -0,0 +1,18 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 闆姳Id閰嶇疆閫夐」
+/// </summary>
+public sealed class SnowIdOptions : IdGeneratorOptions, IConfigurableOptions
+{
+    /// <summary>
+    /// 缂撳瓨鍓嶇紑
+    /// </summary>
+    public string WorkerPrefix { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/UploadOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/UploadOptions.cs
new file mode 100644
index 0000000..83615d6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/UploadOptions.cs
@@ -0,0 +1,53 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using OnceMi.AspNetCore.OSS;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鏂囦欢涓婁紶閰嶇疆閫夐」
+/// </summary>
+public sealed class UploadOptions : IConfigurableOptions
+{
+    /// <summary>
+    /// 璺緞
+    /// </summary>
+    public string Path { get; set; }
+
+    /// <summary>
+    /// 澶у皬
+    /// </summary>
+    public long MaxSize { get; set; }
+
+    /// <summary>
+    /// 涓婁紶鏍煎紡
+    /// </summary>
+    public List<string> ContentType { get; set; }
+
+    /// <summary>
+    /// 鍚敤鏂囦欢MD5楠岃瘉
+    /// </summary>
+    /// <remarks>闃叉閲嶅涓婁紶</remarks>
+    public bool EnableMd5 { get; set; }
+}
+
+/// <summary>
+/// 瀵硅薄瀛樺偍閰嶇疆閫夐」
+/// </summary>
+public sealed class OSSProviderOptions : OSSOptions, IConfigurableOptions
+{
+    /// <summary>
+    /// 鏄惁鍚敤OSS瀛樺偍
+    /// </summary>
+    public bool IsEnable { get; set; }
+
+    /// <summary>
+    /// 鑷畾涔夋《鍚嶇О 涓嶈兘鐩存帴浣跨敤Provider鏉ユ浛浠f《鍚嶇О
+    /// 渚嬶細闃块噷浜� 1.鍙兘鍖呮嫭灏忓啓瀛楁瘝锛屾暟瀛楋紝鐭í绾匡紙-锛�2.蹇呴』浠ュ皬鍐欏瓧姣嶆垨鑰呮暟瀛楀紑澶� 3.闀垮害蹇呴』鍦�3-63瀛楄妭涔嬮棿
+    /// </summary>
+    public string Bucket { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/WechatOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/WechatOptions.cs
new file mode 100644
index 0000000..1c47b6d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/WechatOptions.cs
@@ -0,0 +1,43 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 寰俊鐩稿叧閰嶇疆閫夐」
+/// </summary>
+public sealed class WechatOptions : IConfigurableOptions
+{
+    // 鍏紬鍙�
+    public string WechatAppId { get; set; }
+
+    public string WechatAppSecret { get; set; }
+
+    /// <summary>
+    /// 寰俊鍏紬鍙锋湇鍔″櫒閰嶇疆涓殑浠ょ墝(Token)
+    /// </summary>
+    public string WechatToken { get; set; }
+
+    /// <summary>
+    /// 寰俊鍏紬鍙锋湇鍔″櫒閰嶇疆涓殑娑堟伅鍔犺В瀵嗗瘑閽�(EncodingAESKey)
+    /// </summary>
+    public string WechatEncodingAESKey { get; set; }
+
+    // 灏忕▼搴�
+    public string WxOpenAppId { get; set; }
+
+    public string WxOpenAppSecret { get; set; }
+
+    /// <summary>
+    /// 灏忕▼搴忔秷鎭帹閫佷腑鐨勪护鐗�(Token)
+    /// </summary>
+    public string WxToken { get; set; }
+
+    /// <summary>
+    /// 灏忕▼搴忔秷鎭帹閫佷腑鐨勬秷鎭姞瑙e瘑瀵嗛挜(EncodingAESKey)
+    /// </summary>
+    public string WxEncodingAESKey { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/WechatPayOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/WechatPayOptions.cs
new file mode 100644
index 0000000..cca5bb6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Option/WechatPayOptions.cs
@@ -0,0 +1,18 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 寰俊鏀粯閰嶇疆閫夐」
+/// </summary>
+public sealed class WechatPayOptions : WechatTenpayClientOptions, IConfigurableOptions
+{
+    /// <summary>
+    /// 寰俊鍏紬骞冲彴AppId銆佸紑鏀惧钩鍙癆ppId銆佸皬绋嬪簭AppId銆佷紒涓氬井淇orpId
+    /// </summary>
+    public string AppId { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysConfigSeedData.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysConfigSeedData.cs
new file mode 100644
index 0000000..3650378
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysConfigSeedData.cs
@@ -0,0 +1,41 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.ComponentTCBBatchCreateContainerServiceVersionRequest.Types;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺閰嶇疆琛ㄧ瀛愭暟鎹�
+/// </summary>
+public class SysConfigSeedData : ISqlSugarEntitySeedData<SysConfig>
+{
+    /// <summary>
+    /// 绉嶅瓙鏁版嵁
+    /// </summary>
+    /// <returns></returns>
+    public IEnumerable<SysConfig> HasData()
+    {
+        return new[]
+        {
+            new SysConfig{ Id=1300000000101, Name="婕旂ず鐜", Code="sys_demo", Value="False", SysFlag=YesNoEnum.Y, Remark="婕旂ず鐜", OrderNo=1, GroupCode="Default", CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysConfig{ Id=1300000000102, Name="榛樿瀵嗙爜", Code="sys_password", Value="123456", SysFlag=YesNoEnum.Y, Remark="榛樿瀵嗙爜", OrderNo=2, GroupCode="Default", CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysConfig{ Id=1300000000103, Name="璁板綍鎿嶄綔鏃ュ織", Code="sys_oplog", Value="True", SysFlag=YesNoEnum.Y, Remark="鏄惁璁板綍鎿嶄綔鏃ュ織", OrderNo=3, GroupCode="Default", CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysConfig{ Id=1300000000104, Name="寮�鍚崟璁惧鐧诲綍", Code="sys_single_login", Value="False", SysFlag=YesNoEnum.Y, Remark="鏄惁寮�鍚崟璁惧鐧诲綍", OrderNo=4, GroupCode="Default", CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysConfig{ Id=1300000000105, Name="寮�鍚櫥褰曚簩娆¢獙璇�", Code="sys_second_ver", Value="False", SysFlag=YesNoEnum.Y, Remark="鏄惁寮�鍚櫥褰曚簩娆¢獙璇�", OrderNo=5, GroupCode="Default", CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysConfig{ Id=1300000000106, Name="寮�鍚浘褰㈤獙璇佺爜", Code="sys_captcha", Value="True", SysFlag=YesNoEnum.Y, Remark="鏄惁寮�鍚浘褰㈤獙璇佺爜", OrderNo=6, GroupCode="Default", CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysConfig{ Id=1300000000107, Name="寮�鍚按鍗�", Code="sys_watermark", Value="False", SysFlag=YesNoEnum.Y, Remark="鏄惁寮�鍚按鍗�", OrderNo=7, GroupCode="Default", CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysConfig{ Id=1300000000108, Name="Token杩囨湡鏃堕棿", Code="sys_token_expire", Value="10080", SysFlag=YesNoEnum.Y, Remark="Token杩囨湡鏃堕棿锛堝垎閽燂級", OrderNo=8, GroupCode="Default", CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysConfig{ Id=1300000000109, Name="鍒锋柊Token杩囨湡鏃堕棿", Code="sys_refresh_token_expire", Value="20160", SysFlag=YesNoEnum.Y, Remark="鍒锋柊Token杩囨湡鏃堕棿锛堝垎閽燂級锛堜竴鑸� refresh_token 鐨勬湁鏁堟椂闂� > 2 * access_token 鐨勬湁鏁堟椂闂达級", OrderNo=9, GroupCode="Default", CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysConfig{ Id=1300000000110, Name="鍙戦�佸紓甯告棩蹇楅偖浠�", Code="sys_error_mail", Value="True", SysFlag=YesNoEnum.Y, Remark="鏄惁鍙戦�佸紓甯告棩蹇楅偖浠�", OrderNo=10, GroupCode="Default", CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysConfig{ Id=1300000000111, Name="寮�鍚煙鐧诲綍楠岃瘉", Code="sys_domain_login", Value="False", SysFlag=YesNoEnum.Y, Remark="鏄惁寮�鍚煙鐧诲綍楠岃瘉", OrderNo=11, GroupCode="Default", CreateTime=DateTime.Parse("2022-02-10 00:00:00") },          
+            
+            //涓嬮潰鏄嚜瀹氫箟涓氬姟鐨勯厤缃� 銆怑ditby shaocx,2024-05-23銆�
+            new SysConfig{ Id=549664951599173, Name="寮�鍚敹璐у垱寤烘姤妫�鍗�", Code="sys_add_qc_order", Value="True", SysFlag=YesNoEnum.Y, Remark="鍊间负True 鏀惰揣鏃跺�欙紝鐗╂枡鏄渶瑕佽川妫�锛屽氨鑷姩鍒涘缓鎶ユ鍗�", OrderNo=12, GroupCode="Default", CreateTime=DateTime.Parse("2024-05-22 00:00:00") },
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysDictDataSeedData.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysDictDataSeedData.cs
new file mode 100644
index 0000000..2fdb45d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysDictDataSeedData.cs
@@ -0,0 +1,98 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺瀛楀吀鍊艰〃绉嶅瓙鏁版嵁
+/// </summary>
+public class SysDictDataSeedData : ISqlSugarEntitySeedData<SysDictData>
+{
+    /// <summary>
+    /// 绉嶅瓙鏁版嵁
+    /// </summary>
+    /// <returns></returns>
+    public IEnumerable<SysDictData> HasData()
+    {
+        return new[]
+        {
+            new SysDictData{ Id=1300000000101, DictTypeId=1300000000101, Value="杈撳叆妗�", Code="Input", OrderNo=100, Remark="杈撳叆妗�", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000102, DictTypeId=1300000000101, Value="澶栭敭", Code="fk", OrderNo=100, Remark="澶栭敭", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000103, DictTypeId=1300000000101, Value="鏃ユ湡閫夋嫨", Code="DatePicker", OrderNo=100, Remark="鏃ユ湡閫夋嫨", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            //澧炲姞 鏃ユ湡鏃堕棿閫夋嫨 銆怑ditby shaocx,2024-05-12銆�
+            new SysDictData{ Id=1300000000112, DictTypeId=1300000000101, Value="鏃ユ湡鏃堕棿閫夋嫨", Code="DateTimePicker", OrderNo=100, Remark="鏃ユ湡鏃堕棿閫夋嫨", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000104, DictTypeId=1300000000101, Value="閫夋嫨鍣�", Code="Select", OrderNo=100, Remark="閫夋嫨鍣�", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000105, DictTypeId=1300000000101, Value="鏁板瓧杈撳叆妗�", Code="InputNumber", OrderNo=100, Remark="鏁板瓧杈撳叆妗�", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000106, DictTypeId=1300000000101, Value="鏂囨湰鍩�", Code="InputTextArea", OrderNo=100, Remark="鏂囨湰鍩�", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000107, DictTypeId=1300000000101, Value="涓婁紶", Code="Upload", OrderNo=100, Remark="涓婁紶", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000108, DictTypeId=1300000000101, Value="鏍戦�夋嫨", Code="ApiTreeSelect", OrderNo=100, Remark="鏍戦�夋嫨", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000109, DictTypeId=1300000000101, Value="寮�鍏�", Code="Switch", OrderNo=100, Remark="寮�鍏�", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000110, DictTypeId=1300000000101, Value="甯搁噺閫夋嫨鍣�", Code="ConstSelector", OrderNo=100, Remark="甯搁噺閫夋嫨鍣�", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000111, DictTypeId=1300000000101, Value="鏋氫妇閫夋嫨鍣�", Code="EnumSelector", OrderNo=100, Remark="鏋氫妇閫夋嫨鍣�", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+
+            new SysDictData{ Id=1300000000201, DictTypeId=1300000000102, Value="绛変簬", Code="==", OrderNo=1, Remark="绛変簬", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000202, DictTypeId=1300000000102, Value="妯$硦", Code="like", OrderNo=1, Remark="妯$硦", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000203, DictTypeId=1300000000102, Value="澶т簬", Code=">", OrderNo=1, Remark="澶т簬", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000204, DictTypeId=1300000000102, Value="灏忎簬", Code="<", OrderNo=1, Remark="灏忎簬", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000205, DictTypeId=1300000000102, Value="涓嶇瓑浜�", Code="!=", OrderNo=1, Remark="涓嶇瓑浜�", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000206, DictTypeId=1300000000102, Value="澶т簬绛変簬", Code=">=", OrderNo=1, Remark="澶т簬绛変簬", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000207, DictTypeId=1300000000102, Value="灏忎簬绛変簬", Code="<=", OrderNo=1, Remark="灏忎簬绛変簬", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000208, DictTypeId=1300000000102, Value="涓嶄负绌�", Code="isNotNull", OrderNo=1, Remark="涓嶄负绌�", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000209, DictTypeId=1300000000102, Value="鏃堕棿鑼冨洿", Code="~", OrderNo=1, Remark="鏃堕棿鑼冨洿", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+
+            new SysDictData{ Id=1300000000301, DictTypeId=1300000000103, Value="long", Code="long", OrderNo=1, Remark="long", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000302, DictTypeId=1300000000103, Value="string", Code="string", OrderNo=1, Remark="string", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000303, DictTypeId=1300000000103, Value="DateTime", Code="DateTime", OrderNo=1, Remark="DateTime", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000304, DictTypeId=1300000000103, Value="bool", Code="bool", OrderNo=1, Remark="bool", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000305, DictTypeId=1300000000103, Value="int", Code="int", OrderNo=1, Remark="int", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000306, DictTypeId=1300000000103, Value="double", Code="double", OrderNo=1, Remark="double", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000307, DictTypeId=1300000000103, Value="float", Code="float", OrderNo=1, Remark="float", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000308, DictTypeId=1300000000103, Value="decimal", Code="decimal", OrderNo=1, Remark="decimal", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000309, DictTypeId=1300000000103, Value="Guid", Code="Guid", OrderNo=1, Remark="Guid", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000310, DictTypeId=1300000000103, Value="DateTimeOffset", Code="DateTimeOffset", OrderNo=1, Remark="DateTimeOffset", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+
+            new SysDictData{ Id=1300000000401, DictTypeId=1300000000104, Value="涓嬭浇鍘嬬缉鍖�", Code="100", OrderNo=1, Remark="涓嬭浇鍘嬬缉鍖�", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000402, DictTypeId=1300000000104, Value="涓嬭浇鍘嬬缉鍖�(鍓嶇)", Code="111", OrderNo=2, Remark="涓嬭浇鍘嬬缉鍖�(鍓嶇)", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000403, DictTypeId=1300000000104, Value="涓嬭浇鍘嬬缉鍖�(鍚庣)", Code="121", OrderNo=3, Remark="涓嬭浇鍘嬬缉鍖�(鍚庣)", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000404, DictTypeId=1300000000104, Value="鐢熸垚鍒版湰椤圭洰", Code="200", OrderNo=4, Remark="鐢熸垚鍒版湰椤圭洰", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000405, DictTypeId=1300000000104, Value="鐢熸垚鍒版湰椤圭洰(鍓嶇)", Code="211", OrderNo=5, Remark="鐢熸垚鍒版湰椤圭洰(鍓嶇)", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000406, DictTypeId=1300000000104, Value="鐢熸垚鍒版湰椤圭洰(鍚庣)", Code="221", OrderNo=6, Remark="鐢熸垚鍒版湰椤圭洰(鍚庣)", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+
+            new SysDictData{ Id=1300000000501, DictTypeId=1300000000105, Value="EntityBaseId銆愬熀纭�瀹炰綋Id銆�", Code="EntityBaseId", OrderNo=1, Remark="銆愬熀纭�瀹炰綋Id銆�", Status=StatusEnum.Disable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000502, DictTypeId=1300000000105, Value="EntityBase銆愬熀纭�瀹炰綋銆�", Code="EntityBase", OrderNo=1, Remark="銆愬熀纭�瀹炰綋銆�", Status=StatusEnum.Disable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000503, DictTypeId=1300000000105, Value="EntityTenantId銆愮鎴峰疄浣揑d銆�", Code="EntityTenantId", OrderNo=1, Remark="銆愮鎴峰疄浣揑d銆�", Status=StatusEnum.Disable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000504, DictTypeId=1300000000105, Value="EntityTenant銆愮鎴峰疄浣撱��", Code="EntityTenant", OrderNo=1, Remark="銆愮鎴峰疄浣撱��", Status=StatusEnum.Disable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000505, DictTypeId=1300000000105, Value="EntityBaseData銆愪笟鍔″疄浣撱��", Code="EntityBaseData", OrderNo=1, Remark="銆愪笟鍔″疄浣撱��", Status=StatusEnum.Disable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000506, DictTypeId=1300000000105, Value="EntityTenantBaseData銆愮鎴蜂笟鍔″疄浣撱��", Code="EntityTenantBaseData", OrderNo=1, Remark="銆愮鎴蜂笟鍔″疄浣撱��", Status=StatusEnum.Disable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+
+            new SysDictData{ Id=1300000000601, DictTypeId=1300000000106, Value="涓嶉渶瑕�", Code="off", OrderNo=100, Remark="涓嶉渶瑕佹墦鍗版敮鎸�", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-12-04 00:00:00") },
+            new SysDictData{ Id=1300000000602, DictTypeId=1300000000106, Value="缁戝畾鎵撳嵃妯$増", Code="custom", OrderNo=101, Remark="缁戝畾鎵撳嵃妯$増", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-12-04 00:00:00") },
+
+            new SysDictData{ Id=1300000000701, DictTypeId=1300000000201, Value="闆嗗洟", Code="101", OrderNo=100, Remark="闆嗗洟", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000702, DictTypeId=1300000000201, Value="鍏徃", Code="201", OrderNo=101, Remark="鍏徃", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000703, DictTypeId=1300000000201, Value="閮ㄩ棬", Code="301", OrderNo=102, Remark="閮ㄩ棬", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000704, DictTypeId=1300000000201, Value="鍖哄煙", Code="401", OrderNo=103, Remark="鍖哄煙", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000705, DictTypeId=1300000000201, Value="缁�", Code="501", OrderNo=104, Remark="缁�", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+
+            //澧炲姞閲嶅鎬ф牎楠屾柟寮� 銆怑ditby shaocx,2024-05-12銆�
+            new SysDictData{ Id=1300000000801, DictTypeId=1300000000211, Value="鍗曠嫭鏍¢獙", Code="鍗曠嫭鏍¢獙", OrderNo=100, Remark="鍗曠嫭鏍¢獙", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000802, DictTypeId=1300000000211, Value="缁勫悎鏍¢獙", Code="缁勫悎鏍¢獙", OrderNo=101, Remark="缁勫悎鏍¢獙", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+
+            //澧炲姞浠g爜鐢熸垚琛ㄧ被鍨� 銆怑ditby shaocx,2024-05-12銆�
+            new SysDictData{ Id=1300000000851, DictTypeId=1300000000212, Value="瀹炰綋琛�", Code="瀹炰綋琛�", OrderNo=100, Remark="瀹炰綋琛�", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000852, DictTypeId=1300000000212, Value="瑙嗗浘", Code="瑙嗗浘", OrderNo=101, Remark="瑙嗗浘", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+
+            //澧炲姞浠g爜鐢熸垚琛ㄦ寜閽� 銆怑ditby shaocx,2024-05-27銆�
+            new SysDictData{ Id=1300000000871, DictTypeId=1300000000213, Value="鏌ヨ", Code="鏌ヨ", OrderNo=100, Remark="鏌ヨ", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000872, DictTypeId=1300000000213, Value="璇︽儏", Code="璇︽儏", OrderNo=101, Remark="璇︽儏", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000873, DictTypeId=1300000000213, Value="鏂板", Code="鏂板", OrderNo=102, Remark="鏂板", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000874, DictTypeId=1300000000213, Value="鍒犻櫎", Code="鍒犻櫎", OrderNo=103, Remark="鍒犻櫎", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000875, DictTypeId=1300000000213, Value="缂栬緫", Code="缂栬緫", OrderNo=104, Remark="缂栬緫", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000876, DictTypeId=1300000000213, Value="瀵煎嚭", Code="瀵煎嚭", OrderNo=105, Remark="瀵煎嚭", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000877, DictTypeId=1300000000213, Value="瀵煎叆", Code="瀵煎叆", OrderNo=106, Remark="瀵煎叆", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysDictTypeSeedData.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysDictTypeSeedData.cs
new file mode 100644
index 0000000..a6d710e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysDictTypeSeedData.cs
@@ -0,0 +1,37 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺瀛楀吀绫诲瀷琛ㄧ瀛愭暟鎹�
+/// </summary>
+public class SysDictTypeSeedData : ISqlSugarEntitySeedData<SysDictType>
+{
+    /// <summary>
+    /// 绉嶅瓙鏁版嵁
+    /// </summary>
+    /// <returns></returns>
+    public IEnumerable<SysDictType> HasData()
+    {
+        return new[]
+        {
+            new SysDictType{ Id=1300000000101, Name="浠g爜鐢熸垚鎺т欢绫诲瀷", Code="code_gen_effect_type", OrderNo=100, Remark="浠g爜鐢熸垚鎺т欢绫诲瀷", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictType{ Id=1300000000102, Name="浠g爜鐢熸垚鏌ヨ绫诲瀷", Code="code_gen_query_type", OrderNo=101, Remark="浠g爜鐢熸垚鏌ヨ绫诲瀷", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictType{ Id=1300000000103, Name="浠g爜鐢熸垚.NET绫诲瀷", Code="code_gen_net_type", OrderNo=102, Remark="浠g爜鐢熸垚.NET绫诲瀷", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictType{ Id=1300000000104, Name="浠g爜鐢熸垚鏂瑰紡", Code="code_gen_create_type", OrderNo=103, Remark="浠g爜鐢熸垚鏂瑰紡", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictType{ Id=1300000000105, Name="浠g爜鐢熸垚鍩虹被", Code="code_gen_base_class", OrderNo=104, Remark="浠g爜鐢熸垚鍩虹被", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictType{ Id=1300000000106, Name="浠g爜鐢熸垚鎵撳嵃绫诲瀷", Code="code_gen_print_type", OrderNo=105, Remark="浠g爜鐢熸垚鎵撳嵃绫诲瀷", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-12-04 00:00:00") },
+            new SysDictType{ Id=1300000000201, Name="鏈烘瀯绫诲瀷", Code="org_type", OrderNo=201, Remark="鏈烘瀯绫诲瀷", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            //澧炲姞閲嶅鎬ф牎楠屾柟寮� 銆怑ditby shaocx,2024-05-12銆�
+            new SysDictType{ Id=1300000000211, Name="閲嶅鎬ф牎楠屾柟寮�", Code="rep_check_type", OrderNo=202, Remark="閲嶅鎬ф牎楠屾柟寮�", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            //澧炲姞浠g爜鐢熸垚琛ㄧ被鍨� 銆怑ditby shaocx,2024-05-12銆�
+            new SysDictType{ Id=1300000000212, Name="浠g爜鐢熸垚琛ㄧ被鍨�", Code="code_gen_table_type", OrderNo=203, Remark="浠g爜鐢熸垚琛ㄧ被鍨�", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            //澧炲姞浠g爜鐢熸垚琛ㄦ寜閽� 銆怑ditby shaocx,2024-05-27銆�
+            new SysDictType{ Id=1300000000213, Name="浠g爜鐢熸垚琛ㄦ寜閽�", Code="code_gen_table_button", OrderNo=204, Remark="浠g爜鐢熸垚琛ㄦ寜閽�", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysMenuSeedData.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysMenuSeedData.cs
new file mode 100644
index 0000000..a32e62a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysMenuSeedData.cs
@@ -0,0 +1,201 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using DocumentFormat.OpenXml.Spreadsheet;
+using Elastic.Clients.Elasticsearch.Snapshot;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鑿滃崟琛ㄧ瀛愭暟鎹�
+/// </summary>
+public class SysMenuSeedData : ISqlSugarEntitySeedData<SysMenu>
+{
+    /// <summary>
+    /// 绉嶅瓙鏁版嵁
+    /// </summary>
+    /// <returns></returns>
+    public IEnumerable<SysMenu> HasData()
+    {
+       
+        return new[]
+        {
+            new SysMenu{ Id=1300000000101, Pid=0, Title="宸ヤ綔鍙�", Path="/dashboard", Name="dashboard", Component="Layout", Icon="ele-HomeFilled", Type=MenuTypeEnum.Dir, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=0 },
+            new SysMenu{ Id=1300000000111, Pid=1300000000101, Title="宸ヤ綔鍙�", Path="/dashboard/home", Name="home", Component="/home/index", IsAffix=true, Icon="ele-HomeFilled", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1300000000121, Pid=1300000000101, Title="绔欏唴淇�", Path="/dashboard/notice", Name="notice", Component="/home/notice/index", Icon="ele-Bell", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=101 },
+
+            // 寤鸿姝ゅId鑼冨洿涔嬮棿鏀剧疆鍏蜂綋涓氬姟搴旂敤鑿滃崟
+         
+            //榛樿澧炲姞娴嬭瘯渚嬪瓙 銆怑ditby shaocx,2024-05-09銆�
+            new SysMenu{ Id=545066949828677, Pid=0, Title="TestDemo", Path="/testdemo", Name="testdemo", Component="Layout", Icon="fa fa-blind", Type=MenuTypeEnum.Dir, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100},
+
+            new SysMenu{ Id=1310000000101, Pid=0, Title="绯荤粺绠$悊", Path="/system", Name="system", Component="Layout", Icon="ele-Setting", Type=MenuTypeEnum.Dir, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=10000 },
+
+            new SysMenu{ Id=1310000000111, Pid=1310000000101, Title="璐﹀彿绠$悊", Path="/system/user", Name="sysUser", Component="/system/user/index", Icon="ele-User", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000112, Pid=1310000000111, Title="鏌ヨ", Permission="sysUser:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000113, Pid=1310000000111, Title="缂栬緫", Permission="sysUser:update", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000114, Pid=1310000000111, Title="澧炲姞", Permission="sysUser:add", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000115, Pid=1310000000111, Title="鍒犻櫎", Permission="sysUser:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000116, Pid=1310000000111, Title="璇︽儏", Permission="sysUser:detail", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000117, Pid=1310000000111, Title="鎺堟潈瑙掕壊", Permission="sysUser:grantRole", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000118, Pid=1310000000111, Title="閲嶇疆瀵嗙爜", Permission="sysUser:resetPwd", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000119, Pid=1310000000111, Title="璁剧疆鐘舵��", Permission="sysUser:setStatus", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000120, Pid=1310000000111, Title="寮哄埗涓嬬嚎", Permission="sysOnlineUser:forceOffline", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000121, Pid=1310000000111, Title="瑙i櫎閿佸畾", Permission="sysUser:unlockLogin", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000131, Pid=1310000000101, Title="瑙掕壊绠$悊", Path="/system/role", Name="sysRole", Component="/system/role/index", Icon="ele-Help", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=110 },
+            new SysMenu{ Id=1310000000132, Pid=1310000000131, Title="鏌ヨ", Permission="sysRole:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000133, Pid=1310000000131, Title="缂栬緫", Permission="sysRole:update", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000134, Pid=1310000000131, Title="澧炲姞", Permission="sysRole:add", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000135, Pid=1310000000131, Title="鍒犻櫎", Permission="sysRole:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000136, Pid=1310000000131, Title="鎺堟潈鑿滃崟", Permission="sysRole:grantMenu", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000137, Pid=1310000000131, Title="鎺堟潈鏁版嵁", Permission="sysRole:grantDataScope", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000138, Pid=1310000000131, Title="璁剧疆鐘舵��", Permission="sysRole:setStatus", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000141, Pid=1310000000101, Title="鏈烘瀯绠$悊", Path="/system/org", Name="sysOrg", Component="/system/org/index", Icon="ele-OfficeBuilding", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=120 },
+            //new SysMenu{ Id=1310000000142, Pid=1310000000141, Title="鏌ヨ", Permission="sysOrg:list", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000143, Pid=1310000000141, Title="缂栬緫", Permission="sysOrg:update", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000144, Pid=1310000000141, Title="澧炲姞", Permission="sysOrg:add", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000145, Pid=1310000000141, Title="鍒犻櫎", Permission="sysOrg:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000151, Pid=1310000000101, Title="鑱屼綅绠$悊", Path="/system/pos", Name="sysPos", Component="/system/pos/index",Icon="ele-Mug", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=130 },
+            new SysMenu{ Id=1310000000152, Pid=1310000000151, Title="鏌ヨ", Permission="sysPos:list", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000153, Pid=1310000000151, Title="缂栬緫", Permission="sysPos:update", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000154, Pid=1310000000151, Title="澧炲姞", Permission="sysPos:add", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000155, Pid=1310000000151, Title="鍒犻櫎", Permission="sysPos:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000161, Pid=1310000000101, Title="涓汉涓績", Path="/system/userCenter", Name="sysUserCenter", Component="/system/user/component/userCenter",Icon="ele-Medal", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=140 },
+            new SysMenu{ Id=1310000000162, Pid=1310000000161, Title="淇敼瀵嗙爜", Permission="sysUser:changePwd", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000163, Pid=1310000000161, Title="鍩烘湰淇℃伅", Permission="sysUser:baseInfo", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000164, Pid=1310000000161, Title="鐢靛瓙绛惧悕", Permission="sysFile:uploadSignature", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000165, Pid=1310000000161, Title="涓婁紶澶村儚", Permission="sysFile:uploadAvatar", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000171, Pid=1310000000101, Title="閫氱煡鍏憡", Path="/system/notice", Name="sysNotice", Component="/system/notice/index",Icon="ele-Bell", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=150 },
+            new SysMenu{ Id=1310000000172, Pid=1310000000171, Title="鏌ヨ", Permission="sysNotice:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000173, Pid=1310000000171, Title="缂栬緫", Permission="sysNotice:update", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000174, Pid=1310000000171, Title="澧炲姞", Permission="sysNotice:add", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000175, Pid=1310000000171, Title="鍒犻櫎", Permission="sysNotice:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000176, Pid=1310000000171, Title="鍙戝竷", Permission="sysNotice:public", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000177, Pid=1310000000171, Title="鎾ゅ洖", Permission="sysNotice:cancel", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000181, Pid=1310000000101, Title="涓夋柟璐﹀彿", Path="/system/weChatUser", Name="sysWechatUser", Component="/system/weChatUser/index",Icon="ele-ChatDotRound", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=160 },
+            new SysMenu{ Id=1310000000182, Pid=1310000000181, Title="鏌ヨ", Permission="sysWechatUser:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000183, Pid=1310000000181, Title="缂栬緫", Permission="sysWechatUser:update", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000184, Pid=1310000000181, Title="澧炲姞", Permission="sysWechatUser:add", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000185, Pid=1310000000181, Title="鍒犻櫎", Permission="sysWechatUser:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000191, Pid=1310000000101, Title="AD鍩熼厤缃�", Path="/system/ldap", Name="sysLdap", Component="/system/ldap/index",Icon="ele-Place", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=170 },
+            new SysMenu{ Id=1310000000192, Pid=1310000000191, Title="鏌ヨ", Permission="sysLdap:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000193, Pid=1310000000191, Title="璇︽儏", Permission="sysLdap:detail", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=110 },
+            new SysMenu{ Id=1310000000194, Pid=1310000000191, Title="缂栬緫", Permission="sysLdap:update", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=120 },
+            new SysMenu{ Id=1310000000195, Pid=1310000000191, Title="澧炲姞", Permission="sysLdap:add", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=130 },
+            new SysMenu{ Id=1310000000196, Pid=1310000000191, Title="鍒犻櫎", Permission="sysLdap:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=140 },
+            new SysMenu{ Id=1310000000197, Pid=1310000000191, Title="鍚屾鍩熻处鎴�", Permission="sysLdap:syncUser", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=150 },
+            new SysMenu{ Id=1310000000198, Pid=1310000000191, Title="鍚屾鍩熺粍缁�", Permission="sysLdap:syncOrg", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=160 },
+
+            new SysMenu{ Id=1310000000301, Pid=0, Title="骞冲彴绠$悊", Path="/platform", Name="platform", Component="Layout", Icon="ele-Menu", Type=MenuTypeEnum.Dir, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=11000 },
+
+            new SysMenu{ Id=1310000000311, Pid=1310000000301, Title="绉熸埛绠$悊", Path="/platform/tenant", Name="sysTenant", Component="/system/tenant/index", Icon="ele-School", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000312, Pid=1310000000311, Title="鏌ヨ", Permission="sysTenant:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000313, Pid=1310000000311, Title="缂栬緫", Permission="sysTenant:update", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000314, Pid=1310000000311, Title="澧炲姞", Permission="sysTenant:add", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000315, Pid=1310000000311, Title="鍒犻櫎", Permission="sysTenant:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000316, Pid=1310000000311, Title="鎺堟潈鑿滃崟", Permission="sysTenant:grantMenu", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000317, Pid=1310000000311, Title="閲嶇疆瀵嗙爜", Permission="sysTenant:resetPwd", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000318, Pid=1310000000311, Title="鐢熸垚搴�", Permission="sysTenant:createDb", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000319, Pid=1310000000311, Title="璁剧疆鐘舵��", Permission="sysTenant:setStatus", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000321, Pid=1310000000301, Title="鑿滃崟绠$悊", Path="/platform/menu", Name="sysMenu", Component="/system/menu/index", Icon="ele-Menu", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=110 },
+            new SysMenu{ Id=1310000000322, Pid=1310000000321, Title="鏌ヨ", Permission="sysMenu:list", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000323, Pid=1310000000321, Title="缂栬緫", Permission="sysMenu:update", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000324, Pid=1310000000321, Title="澧炲姞", Permission="sysMenu:add", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000325, Pid=1310000000321, Title="鍒犻櫎", Permission="sysMenu:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000331, Pid=1310000000301, Title="鍙傛暟閰嶇疆", Path="/platform/config", Name="sysConfig", Component="/system/config/index", Icon="ele-DocumentCopy", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=120 },
+            new SysMenu{ Id=1310000000332, Pid=1310000000331, Title="鏌ヨ", Permission="sysConfig:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000333, Pid=1310000000331, Title="缂栬緫", Permission="sysConfig:update", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000334, Pid=1310000000331, Title="澧炲姞", Permission="sysConfig:add", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000335, Pid=1310000000331, Title="鍒犻櫎", Permission="sysConfig:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000341, Pid=1310000000301, Title="瀛楀吀绠$悊", Path="/platform/dict", Name="sysDict", Component="/system/dict/index", Icon="ele-Collection", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=130 },
+            new SysMenu{ Id=1310000000342, Pid=1310000000341, Title="鏌ヨ", Permission="sysDictType:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000343, Pid=1310000000341, Title="缂栬緫", Permission="sysDictType:update", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000344, Pid=1310000000341, Title="澧炲姞", Permission="sysDictType:add", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000345, Pid=1310000000341, Title="鍒犻櫎", Permission="sysDictType:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000351, Pid=1310000000301, Title="浠诲姟璋冨害", Path="/platform/job", Name="sysJob", Component="/system/job/index", Icon="ele-AlarmClock", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=140 },
+            new SysMenu{ Id=1310000000352, Pid=1310000000351, Title="鏌ヨ", Permission="sysJob:pageJobDetail", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000353, Pid=1310000000351, Title="缂栬緫", Permission="sysJob:updateJobDetail", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000354, Pid=1310000000351, Title="澧炲姞", Permission="sysJob:addJobDetail", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000355, Pid=1310000000351, Title="鍒犻櫎", Permission="sysJob:deleteJobDetail", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000361, Pid=1310000000301, Title="绯荤粺鐩戞帶", Path="/platform/server", Name="sysServer", Component="/system/server/index", Icon="ele-Monitor", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=150 },
+
+            new SysMenu{ Id=1310000000371, Pid=1310000000301, Title="缂撳瓨绠$悊", Path="/platform/cache", Name="sysCache", Component="/system/cache/index", Icon="ele-Loading", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=160 },
+            new SysMenu{ Id=1310000000372, Pid=1310000000371, Title="鏌ヨ", Permission="sysCache:keyList", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000373, Pid=1310000000371, Title="鍒犻櫎", Permission="sysCache:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000381, Pid=1310000000301, Title="琛屾斂鍖哄煙", Path="/platform/region", Name="sysRegion", Component="/system/region/index", Icon="ele-LocationInformation", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=170 },
+            new SysMenu{ Id=1310000000382, Pid=1310000000381, Title="鏌ヨ", Permission="sysRegion:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000383, Pid=1310000000381, Title="缂栬緫", Permission="sysRegion:update", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000384, Pid=1310000000381, Title="澧炲姞", Permission="sysRegion:add", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000385, Pid=1310000000381, Title="鍒犻櫎", Permission="sysRegion:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000386, Pid=1310000000381, Title="鍚屾", Permission="sysRegion:sync", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000391, Pid=1310000000301, Title="鏂囦欢绠$悊", Path="/platform/file", Name="sysFile", Component="/system/file/index", Icon="ele-Document", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=180 },
+            new SysMenu{ Id=1310000000392, Pid=1310000000391, Title="鏌ヨ", Permission="sysFile:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000393, Pid=1310000000391, Title="涓婁紶", Permission="sysFile:uploadFile", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000394, Pid=1310000000391, Title="涓嬭浇", Permission="sysFile:downloadFile", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000395, Pid=1310000000391, Title="鍒犻櫎", Permission="sysFile:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000396, Pid=1310000000391, Title="缂栬緫", Permission="sysFile:update", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2023-10-27 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000401, Pid=1310000000301, Title="鎵撳嵃妯℃澘", Path="/platform/print", Name="sysPrint", Component="/system/print/index", Icon="ele-Printer", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=190 },
+            new SysMenu{ Id=1310000000402, Pid=1310000000401, Title="鏌ヨ", Permission="sysPrint:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000403, Pid=1310000000401, Title="缂栬緫", Permission="sysPrint:update", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000404, Pid=1310000000401, Title="澧炲姞", Permission="sysPrint:add", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000405, Pid=1310000000401, Title="鍒犻櫎", Permission="sysPrint:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000411, Pid=1310000000301, Title="鍔ㄦ�佹彃浠�", Path="/platform/plugin", Name="sysPlugin", Component="/system/plugin/index", Icon="ele-Connection", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=200 },
+            new SysMenu{ Id=1310000000412, Pid=1310000000411, Title="鏌ヨ", Permission="sysPlugin:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000413, Pid=1310000000411, Title="缂栬緫", Permission="sysPlugin:update", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000414, Pid=1310000000411, Title="澧炲姞", Permission="sysPlugin:add", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000415, Pid=1310000000411, Title="鍒犻櫎", Permission="sysPlugin:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000421, Pid=1310000000301, Title="寮�鏀炬帴鍙�", Path="/platform/openAccess", Name="sysOpenAccess", Component="/system/openAccess/index", Icon="ele-Link", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=210 },
+            new SysMenu{ Id=1310000000422, Pid=1310000000421, Title="鏌ヨ", Permission="sysOpenAccess:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000423, Pid=1310000000421, Title="缂栬緫", Permission="sysOpenAccess:update", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000424, Pid=1310000000421, Title="澧炲姞", Permission="sysOpenAccess:add", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000425, Pid=1310000000421, Title="鍒犻櫎", Permission="sysOpenAccess:delete", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000501, Pid=0, Title="鏃ュ織绠$悊", Path="/log", Name="log", Component="Layout", Icon="ele-DocumentCopy", Type=MenuTypeEnum.Dir, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=12000 },
+            new SysMenu{ Id=1310000000511, Pid=1310000000501, Title="璁块棶鏃ュ織", Path="/log/vislog", Name="sysVisLog", Component="/system/log/vislog/index", Icon="ele-Document", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000512, Pid=1310000000511, Title="鏌ヨ", Permission="sysVislog:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000513, Pid=1310000000511, Title="娓呯┖", Permission="sysVislog:clear", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000521, Pid=1310000000501, Title="鎿嶄綔鏃ュ織", Path="/log/oplog", Name="sysOpLog", Component="/system/log/oplog/index", Icon="ele-Document", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=110 },
+            new SysMenu{ Id=1310000000522, Pid=1310000000521, Title="鏌ヨ", Permission="sysOplog:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000523, Pid=1310000000521, Title="娓呯┖", Permission="sysOplog:clear", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000524, Pid=1310000000521, Title="瀵煎嚭", Permission="sysOplog:export", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000531, Pid=1310000000501, Title="寮傚父鏃ュ織", Path="/log/exlog", Name="sysExLog", Component="/system/log/exlog/index", Icon="ele-Document", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=120 },
+            new SysMenu{ Id=1310000000532, Pid=1310000000531, Title="鏌ヨ", Permission="sysExlog:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000533, Pid=1310000000531, Title="娓呯┖", Permission="sysExlog:clear", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000534, Pid=1310000000531, Title="瀵煎嚭", Permission="sysExlog:export", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000541, Pid=1310000000501, Title="宸紓鏃ュ織", Path="/log/difflog", Name="sysDiffLog", Component="/system/log/difflog/index", Icon="ele-Document", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=130 },
+            new SysMenu{ Id=1310000000542, Pid=1310000000541, Title="鏌ヨ", Permission="sysDifflog:page", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000543, Pid=1310000000541, Title="娓呯┖", Permission="sysDifflog:clear", Type=MenuTypeEnum.Btn, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+
+            new SysMenu{ Id=1310000000601, Pid=0, Title="寮�鍙戝伐鍏�", Path="/develop", Name="develop", Component="Layout", Icon="ele-Cpu", Type=MenuTypeEnum.Dir, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=13000 },
+            new SysMenu{ Id=1310000000611, Pid=1310000000601, Title="搴撹〃绠$悊", Path="/develop/database", Name="sysDatabase", Component="/system/database/index",Icon="ele-Coin", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000621, Pid=1310000000601, Title="浠g爜鐢熸垚", Path="/develop/codeGen", Name="sysCodeGen", Component="/system/codeGen/index", Icon="ele-Crop", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=110 },
+            new SysMenu{ Id=1310000000631, Pid=1310000000601, Title="琛ㄥ崟璁捐", Path="/develop/formDes", Name="sysFormDes", Component="/system/formDes/index", Icon="ele-Edit", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=120 },
+            new SysMenu{ Id=1310000000641, Pid=1310000000601, Title="绯荤粺鎺ュ彛", Path="/develop/api", Name="sysApi", Component="layout/routerView/iframe", IsIframe=true, OutLink="http://localhost:5005", Icon="ele-Help", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=130 },
+
+            new SysMenu{ Id=1310000000701, Pid=0, Title="甯姪鏂囨。", Path="/doc", Name="doc", Component="Layout", Icon="ele-Notebook", Type=MenuTypeEnum.Dir, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=14000 },
+            new SysMenu{ Id=1310000000711, Pid=1310000000701, Title="鍚庡彴鏁欑▼", Path="/doc/furion", Name="sysFurion", Component="layout/routerView/link", IsIframe=false, IsKeepAlive=false, OutLink="https://furion.baiqian.ltd/", Icon="ele-Promotion", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000712, Pid=1310000000701, Title="鍓嶇鏁欑▼", Path="/doc/element", Name="sysElement", Component="layout/routerView/link", IsIframe=false, IsKeepAlive=false, OutLink="https://element-plus.gitee.io/zh-CN/", Icon="ele-Position", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=110 },
+            new SysMenu{ Id=1310000000713, Pid=1310000000701, Title="SqlSugar", Path="/doc/SqlSugar", Name="sysSqlSugar", Component="layout/routerView/link", IsIframe=false, IsKeepAlive=false, OutLink="https://www.donet5.com/Home/Doc", Icon="ele-Coin", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=120 },
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysOrgSeedData.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysOrgSeedData.cs
new file mode 100644
index 0000000..0113eb7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysOrgSeedData.cs
@@ -0,0 +1,40 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鏈烘瀯琛ㄧ瀛愭暟鎹�
+/// </summary>
+public class SysOrgSeedData : ISqlSugarEntitySeedData<SysOrg>
+{
+    /// <summary>
+    /// 绉嶅瓙鏁版嵁
+    /// </summary>
+    /// <returns></returns>
+    public IEnumerable<SysOrg> HasData()
+    {
+        return new[]
+        {
+            new SysOrg{ Id=1300000000101, Pid=0, Name="XXX鍏徃", Code="1001", Type="101", Level=1, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="XXX鍏徃", TenantId=1300000000001 },
+            new SysOrg{ Id=1300000000102, Pid=1300000000101, Name="甯傚満閮�", Code="100101", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="甯傚満閮�", TenantId=1300000000001 },
+            new SysOrg{ Id=1300000000103, Pid=1300000000101, Name="鐮斿彂閮�", Code="100102", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="鐮斿彂閮�", TenantId=1300000000001 },
+            new SysOrg{ Id=1300000000104, Pid=1300000000101, Name="璐㈠姟閮�", Code="100103", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="璐㈠姟閮�", TenantId=1300000000001 },
+            new SysOrg{ Id=1300000000105, Pid=1300000000104, Name="璐㈠姟閮�1", Code="10010301", Level=3, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="璐㈠姟閮�1", TenantId=1300000000001 },
+            new SysOrg{ Id=1300000000106, Pid=1300000000104, Name="璐㈠姟閮�2", Code="10010302", Level=3, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="璐㈠姟閮�2", TenantId=1300000000001 },
+
+            new SysOrg{ Id=1300000000201, Pid=0, Name="鍒嗗叕鍙�1", Code="1002", Type="201", Level=1, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="鍒嗗叕鍙�1", TenantId=1300000000001 },
+            new SysOrg{ Id=1300000000202, Pid=1300000000201, Name="甯傚満閮�", Code="100201", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="甯傚満閮�", TenantId=1300000000001 },
+            new SysOrg{ Id=1300000000203, Pid=1300000000201, Name="鐮斿彂閮�", Code="100202", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="鐮斿彂閮�", TenantId=1300000000001 },
+            new SysOrg{ Id=1300000000204, Pid=1300000000201, Name="璐㈠姟閮�", Code="100203", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="璐㈠姟閮�", TenantId=1300000000001 },
+
+            new SysOrg{ Id=1300000000301, Pid=0, Name="鍒嗗叕鍙�2", Code="1003", Type="201", Level=1, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="鍒嗗叕鍙�2", TenantId=1300000000001 },
+            new SysOrg{ Id=1300000000302, Pid=1300000000301, Name="甯傚満閮�", Code="100301", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="甯傚満閮�", TenantId=1300000000001 },
+            new SysOrg{ Id=1300000000303, Pid=1300000000301, Name="鐮斿彂閮�", Code="100302", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="甯傚満閮�", TenantId=1300000000001 },
+            new SysOrg{ Id=1300000000304, Pid=1300000000301, Name="璐㈠姟閮�", Code="100303", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="甯傚満閮�", TenantId=1300000000001 },
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysPosSeedData.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysPosSeedData.cs
new file mode 100644
index 0000000..5626c26
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysPosSeedData.cs
@@ -0,0 +1,40 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鑱屼綅琛ㄧ瀛愭暟鎹�
+/// </summary>
+public class SysPosSeedData : ISqlSugarEntitySeedData<SysPos>
+{
+    /// <summary>
+    /// 绉嶅瓙鏁版嵁
+    /// </summary>
+    /// <returns></returns>
+    public IEnumerable<SysPos> HasData()
+    {
+        return new[]
+        {
+            new SysPos{ Id=1300000000101, Name="鍏氬涔﹁", Code="dwsj", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="鍏氬涔﹁", TenantId=1300000000001 },
+            new SysPos{ Id=1300000000102, Name="钁d簨闀�", Code="dsz", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="钁d簨闀�", TenantId=1300000000001 },
+            new SysPos{ Id=1300000000103, Name="鍓懀浜嬮暱", Code="fdsz", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="鍓懀浜嬮暱", TenantId=1300000000001 },
+            new SysPos{ Id=1300000000104, Name="鎬荤粡鐞�", Code="zjl", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="鎬荤粡鐞�", TenantId=1300000000001 },
+            new SysPos{ Id=1300000000105, Name="鍓�荤粡鐞�", Code="fzjl", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="鍓�荤粡鐞�", TenantId=1300000000001 },
+            new SysPos{ Id=1300000000106, Name="閮ㄩ棬缁忕悊", Code="bmjl", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="閮ㄩ棬缁忕悊", TenantId=1300000000001 },
+            new SysPos{ Id=1300000000107, Name="閮ㄩ棬鍓粡鐞�", Code="bmfjl", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="閮ㄩ棬鍓粡鐞�", TenantId=1300000000001 },
+            new SysPos{ Id=1300000000108, Name="涓讳换", Code="zr", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="涓讳换", TenantId=1300000000001 },
+            new SysPos{ Id=1300000000109, Name="鍓富浠�", Code="fzr", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="鍓富浠�", TenantId=1300000000001 },
+            new SysPos{ Id=1300000000110, Name="灞�闀�", Code="jz", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="灞�闀�", TenantId=1300000000001 },
+            new SysPos{ Id=1300000000111, Name="鍓眬闀�", Code="fjz", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="鍓眬闀�", TenantId=1300000000001 },
+            new SysPos{ Id=1300000000112, Name="绉戦暱", Code="kz", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="绉戦暱", TenantId=1300000000001 },
+            new SysPos{ Id=1300000000113, Name="鍓闀�", Code="fkz", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="鍓闀�", TenantId=1300000000001 },
+            new SysPos{ Id=1300000000114, Name="璐㈠姟", Code="cw", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="璐㈠姟", TenantId=1300000000001 },
+            new SysPos{ Id=1300000000115, Name="鑱屽憳", Code="zy", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="鑱屽憳", TenantId=1300000000001 },
+            new SysPos{ Id=1300000000116, Name="鍏朵粬", Code="qt", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="鍏朵粬", TenantId=1300000000001 },
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysRoleMenuSeedData.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysRoleMenuSeedData.cs
new file mode 100644
index 0000000..4b125c9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysRoleMenuSeedData.cs
@@ -0,0 +1,183 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺瑙掕壊鑿滃崟琛ㄧ瀛愭暟鎹�
+/// </summary>
+public class SysRoleMenuSeedData : ISqlSugarEntitySeedData<SysRoleMenu>
+{
+    /// <summary>
+    /// 绉嶅瓙鏁版嵁
+    /// </summary>
+    /// <returns></returns>
+    public IEnumerable<SysRoleMenu> HasData()
+    {
+        return new[]
+        {
+            // 鏁版嵁闈㈡澘銆恆dmin/1300000000101銆�
+            new SysRoleMenu{ Id=1300000000101, RoleId=1300000000101, MenuId=1300000000101 },
+            new SysRoleMenu{ Id=1300000000102, RoleId=1300000000101, MenuId=1300000000111 },
+            new SysRoleMenu{ Id=1300000000103, RoleId=1300000000101, MenuId=1300000000121 },
+
+            // 绯荤粺绠$悊
+            new SysRoleMenu{ Id=1300000000111, RoleId=1300000000101, MenuId=1310000000101 },
+            // 璐﹀彿绠$悊
+            new SysRoleMenu{ Id=1300000000121, RoleId=1300000000101, MenuId=1310000000111 },
+            new SysRoleMenu{ Id=1300000000122, RoleId=1300000000101, MenuId=1310000000112 },
+            new SysRoleMenu{ Id=1300000000123, RoleId=1300000000101, MenuId=1310000000113 },
+            new SysRoleMenu{ Id=1300000000124, RoleId=1300000000101, MenuId=1310000000114 },
+            new SysRoleMenu{ Id=1300000000125, RoleId=1300000000101, MenuId=1310000000115 },
+            new SysRoleMenu{ Id=1300000000126, RoleId=1300000000101, MenuId=1310000000116 },
+            new SysRoleMenu{ Id=1300000000127, RoleId=1300000000101, MenuId=1310000000117 },
+            new SysRoleMenu{ Id=1300000000128, RoleId=1300000000101, MenuId=1310000000118 },
+            new SysRoleMenu{ Id=1300000000129, RoleId=1300000000101, MenuId=1310000000119 },
+            new SysRoleMenu{ Id=1300000000130, RoleId=1300000000101, MenuId=1310000000120 },
+            // 瑙掕壊绠$悊
+            new SysRoleMenu{ Id=1300000000141, RoleId=1300000000101, MenuId=1310000000131 },
+            new SysRoleMenu{ Id=1300000000142, RoleId=1300000000101, MenuId=1310000000132 },
+            new SysRoleMenu{ Id=1300000000143, RoleId=1300000000101, MenuId=1310000000133 },
+            new SysRoleMenu{ Id=1300000000144, RoleId=1300000000101, MenuId=1310000000134 },
+            new SysRoleMenu{ Id=1300000000145, RoleId=1300000000101, MenuId=1310000000135 },
+            new SysRoleMenu{ Id=1300000000146, RoleId=1300000000101, MenuId=1310000000136 },
+            new SysRoleMenu{ Id=1300000000147, RoleId=1300000000101, MenuId=1310000000137 },
+            new SysRoleMenu{ Id=1300000000148, RoleId=1300000000101, MenuId=1310000000138 },
+            // 鏈烘瀯绠$悊
+            new SysRoleMenu{ Id=1300000000151, RoleId=1300000000101, MenuId=1310000000141 },
+            new SysRoleMenu{ Id=1300000000152, RoleId=1300000000101, MenuId=1310000000142 },
+            new SysRoleMenu{ Id=1300000000153, RoleId=1300000000101, MenuId=1310000000143 },
+            new SysRoleMenu{ Id=1300000000154, RoleId=1300000000101, MenuId=1310000000144 },
+            new SysRoleMenu{ Id=1300000000155, RoleId=1300000000101, MenuId=1310000000145 },
+            // 鑱屼綅绠$悊
+            new SysRoleMenu{ Id=1300000000161, RoleId=1300000000101, MenuId=1310000000151 },
+            new SysRoleMenu{ Id=1300000000162, RoleId=1300000000101, MenuId=1310000000152 },
+            new SysRoleMenu{ Id=1300000000163, RoleId=1300000000101, MenuId=1310000000153 },
+            new SysRoleMenu{ Id=1300000000164, RoleId=1300000000101, MenuId=1310000000154 },
+            new SysRoleMenu{ Id=1300000000165, RoleId=1300000000101, MenuId=1310000000155 },
+            // 涓汉涓績
+            new SysRoleMenu{ Id=1300000000171, RoleId=1300000000101, MenuId=1310000000161 },
+            new SysRoleMenu{ Id=1300000000172, RoleId=1300000000101, MenuId=1310000000162 },
+            new SysRoleMenu{ Id=1300000000173, RoleId=1300000000101, MenuId=1310000000163 },
+            new SysRoleMenu{ Id=1300000000174, RoleId=1300000000101, MenuId=1310000000164 },
+            new SysRoleMenu{ Id=1300000000175, RoleId=1300000000101, MenuId=1310000000165 },
+            // 閫氱煡鍏憡
+            new SysRoleMenu{ Id=1300000000181, RoleId=1300000000101, MenuId=1310000000171 },
+            new SysRoleMenu{ Id=1300000000182, RoleId=1300000000101, MenuId=1310000000172 },
+            new SysRoleMenu{ Id=1300000000183, RoleId=1300000000101, MenuId=1310000000173 },
+            new SysRoleMenu{ Id=1300000000184, RoleId=1300000000101, MenuId=1310000000174 },
+            new SysRoleMenu{ Id=1300000000185, RoleId=1300000000101, MenuId=1310000000175 },
+            new SysRoleMenu{ Id=1300000000186, RoleId=1300000000101, MenuId=1310000000176 },
+            new SysRoleMenu{ Id=1300000000187, RoleId=1300000000101, MenuId=1310000000177 },
+            // 涓夋柟璐﹀彿
+            new SysRoleMenu{ Id=1300000000191, RoleId=1300000000101, MenuId=1310000000181 },
+            new SysRoleMenu{ Id=1300000000192, RoleId=1300000000101, MenuId=1310000000182 },
+            new SysRoleMenu{ Id=1300000000193, RoleId=1300000000101, MenuId=1310000000183 },
+            new SysRoleMenu{ Id=1300000000194, RoleId=1300000000101, MenuId=1310000000184 },
+            new SysRoleMenu{ Id=1300000000195, RoleId=1300000000101, MenuId=1310000000185 },
+
+            //// 骞冲彴绠$悊
+            //new SysRoleMenu{ Id=1300000000201, RoleId=1300000000101, MenuId=1310000000301 },
+            // 浠诲姟璋冨害
+            new SysRoleMenu{ Id=1300000000251, RoleId=1300000000101, MenuId=1310000000351 },
+            new SysRoleMenu{ Id=1300000000252, RoleId=1300000000101, MenuId=1310000000352 },
+            new SysRoleMenu{ Id=1300000000253, RoleId=1300000000101, MenuId=1310000000353 },
+            new SysRoleMenu{ Id=1300000000254, RoleId=1300000000101, MenuId=1310000000354 },
+            new SysRoleMenu{ Id=1300000000255, RoleId=1300000000101, MenuId=1310000000355 },
+            // 绯荤粺鐩戞帶
+            new SysRoleMenu{ Id=1300000000261, RoleId=1300000000101, MenuId=1310000000361 },
+            // 缂撳瓨绠$悊
+            new SysRoleMenu{ Id=1300000000271, RoleId=1300000000101, MenuId=1310000000371 },
+            new SysRoleMenu{ Id=1300000000272, RoleId=1300000000101, MenuId=1310000000372 },
+            new SysRoleMenu{ Id=1300000000273, RoleId=1300000000101, MenuId=1310000000373 },
+            // 琛屾斂鍖哄煙
+            new SysRoleMenu{ Id=1300000000281, RoleId=1300000000101, MenuId=1310000000381 },
+            new SysRoleMenu{ Id=1300000000282, RoleId=1300000000101, MenuId=1310000000382 },
+            new SysRoleMenu{ Id=1300000000283, RoleId=1300000000101, MenuId=1310000000383 },
+            new SysRoleMenu{ Id=1300000000284, RoleId=1300000000101, MenuId=1310000000384 },
+            new SysRoleMenu{ Id=1300000000285, RoleId=1300000000101, MenuId=1310000000385 },
+            new SysRoleMenu{ Id=1300000000286, RoleId=1300000000101, MenuId=1310000000386 },
+            // 鏂囦欢绠$悊
+            new SysRoleMenu{ Id=1300000000291, RoleId=1300000000101, MenuId=1310000000391 },
+            new SysRoleMenu{ Id=1300000000292, RoleId=1300000000101, MenuId=1310000000392 },
+            new SysRoleMenu{ Id=1300000000293, RoleId=1300000000101, MenuId=1310000000393 },
+            new SysRoleMenu{ Id=1300000000294, RoleId=1300000000101, MenuId=1310000000394 },
+            new SysRoleMenu{ Id=1300000000295, RoleId=1300000000101, MenuId=1310000000395 },
+            new SysRoleMenu{ Id=1300000000296, RoleId=1300000000101, MenuId=1310000000396 },
+
+            //// 鏃ュ織绠$悊
+            //new SysRoleMenu{ Id=1300000000301, RoleId=1300000000101, MenuId=1310000000501 },
+            new SysRoleMenu{ Id=1300000000311, RoleId=1300000000101, MenuId=1310000000511 },
+            new SysRoleMenu{ Id=1300000000312, RoleId=1300000000101, MenuId=1310000000512 },
+            new SysRoleMenu{ Id=1300000000313, RoleId=1300000000101, MenuId=1310000000513 },
+            new SysRoleMenu{ Id=1300000000321, RoleId=1300000000101, MenuId=1310000000521 },
+            new SysRoleMenu{ Id=1300000000322, RoleId=1300000000101, MenuId=1310000000522 },
+            new SysRoleMenu{ Id=1300000000323, RoleId=1300000000101, MenuId=1310000000523 },
+            new SysRoleMenu{ Id=1300000000324, RoleId=1300000000101, MenuId=1310000000524 },
+            new SysRoleMenu{ Id=1300000000331, RoleId=1300000000101, MenuId=1310000000531 },
+            new SysRoleMenu{ Id=1300000000332, RoleId=1300000000101, MenuId=1310000000532 },
+            new SysRoleMenu{ Id=1300000000333, RoleId=1300000000101, MenuId=1310000000543 },
+
+            // 甯姪鏂囨。
+            new SysRoleMenu{ Id=1300000000401, RoleId=1300000000101, MenuId=1310000000701 },
+            new SysRoleMenu{ Id=1300000000402, RoleId=1300000000101, MenuId=1310000000711 },
+            new SysRoleMenu{ Id=1300000000403, RoleId=1300000000101, MenuId=1310000000712 },
+
+            // 鍏朵粬瑙掕壊榛樿鑿滃崟
+            // 鏁版嵁闈㈡澘銆�1300000000102銆�
+            new SysRoleMenu{ Id=1300000000501, RoleId=1300000000102, MenuId=1300000000101 },
+            new SysRoleMenu{ Id=1300000000502, RoleId=1300000000102, MenuId=1300000000111 },
+            new SysRoleMenu{ Id=1300000000503, RoleId=1300000000102, MenuId=1300000000121 },
+            // 鏈烘瀯绠$悊
+            new SysRoleMenu{ Id=1300000000511, RoleId=1300000000102, MenuId=1310000000142 },
+            // 涓汉涓績
+            new SysRoleMenu{ Id=1300000000521, RoleId=1300000000102, MenuId=1310000000161 },
+            new SysRoleMenu{ Id=1300000000522, RoleId=1300000000102, MenuId=1310000000162 },
+            new SysRoleMenu{ Id=1300000000523, RoleId=1300000000102, MenuId=1310000000163 },
+            new SysRoleMenu{ Id=1300000000524, RoleId=1300000000102, MenuId=1310000000164 },
+            new SysRoleMenu{ Id=1300000000525, RoleId=1300000000102, MenuId=1310000000165 },
+
+            // 鏁版嵁闈㈡澘銆�1300000000103銆�
+            new SysRoleMenu{ Id=1300000000601, RoleId=1300000000103, MenuId=1300000000101 },
+            new SysRoleMenu{ Id=1300000000602, RoleId=1300000000103, MenuId=1300000000111 },
+            new SysRoleMenu{ Id=1300000000603, RoleId=1300000000103, MenuId=1300000000121 },
+            // 鏈烘瀯绠$悊
+            new SysRoleMenu{ Id=1300000000611, RoleId=1300000000103, MenuId=1310000000142 },
+            // 涓汉涓績
+            new SysRoleMenu{ Id=1300000000621, RoleId=1300000000103, MenuId=1310000000161 },
+            new SysRoleMenu{ Id=1300000000622, RoleId=1300000000103, MenuId=1310000000162 },
+            new SysRoleMenu{ Id=1300000000623, RoleId=1300000000103, MenuId=1310000000163 },
+            new SysRoleMenu{ Id=1300000000624, RoleId=1300000000103, MenuId=1310000000164 },
+            new SysRoleMenu{ Id=1300000000625, RoleId=1300000000103, MenuId=1310000000165 },
+
+            // 鏁版嵁闈㈡澘銆�1300000000104銆�
+            new SysRoleMenu{ Id=1300000000701, RoleId=1300000000104, MenuId=1300000000101 },
+            new SysRoleMenu{ Id=1300000000702, RoleId=1300000000104, MenuId=1300000000111 },
+            new SysRoleMenu{ Id=1300000000703, RoleId=1300000000104, MenuId=1300000000121 },
+            // 鏈烘瀯绠$悊
+            new SysRoleMenu{ Id=1300000000711, RoleId=1300000000104, MenuId=1310000000142 },
+            // 涓汉涓績
+            new SysRoleMenu{ Id=1300000000721, RoleId=1300000000104, MenuId=1310000000161 },
+            new SysRoleMenu{ Id=1300000000722, RoleId=1300000000104, MenuId=1310000000162 },
+            new SysRoleMenu{ Id=1300000000723, RoleId=1300000000104, MenuId=1310000000163 },
+            new SysRoleMenu{ Id=1300000000724, RoleId=1300000000104, MenuId=1310000000164 },
+            new SysRoleMenu{ Id=1300000000725, RoleId=1300000000104, MenuId=1310000000165 },
+
+            // 鏁版嵁闈㈡澘銆�1300000000105銆�
+            new SysRoleMenu{ Id=1300000000801, RoleId=1300000000105, MenuId=1300000000101 },
+            new SysRoleMenu{ Id=1300000000802, RoleId=1300000000105, MenuId=1300000000111 },
+            new SysRoleMenu{ Id=1300000000803, RoleId=1300000000105, MenuId=1300000000121 },
+            // 鏈烘瀯绠$悊
+            new SysRoleMenu{ Id=1300000000811, RoleId=1300000000105, MenuId=1310000000142 },
+            // 涓汉涓績
+            new SysRoleMenu{ Id=1300000000821, RoleId=1300000000105, MenuId=1310000000161 },
+            new SysRoleMenu{ Id=1300000000822, RoleId=1300000000105, MenuId=1310000000162 },
+            new SysRoleMenu{ Id=1300000000823, RoleId=1300000000105, MenuId=1310000000163 },
+            new SysRoleMenu{ Id=1300000000824, RoleId=1300000000105, MenuId=1310000000164 },
+            new SysRoleMenu{ Id=1300000000825, RoleId=1300000000105, MenuId=1310000000165 },
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysRoleSeedData.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysRoleSeedData.cs
new file mode 100644
index 0000000..97bf229
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysRoleSeedData.cs
@@ -0,0 +1,29 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺瑙掕壊琛ㄧ瀛愭暟鎹�
+/// </summary>
+public class SysRoleSeedData : ISqlSugarEntitySeedData<SysRole>
+{
+    /// <summary>
+    /// 绉嶅瓙鏁版嵁
+    /// </summary>
+    /// <returns></returns>
+    public IEnumerable<SysRole> HasData()
+    {
+        return new[]
+        {
+            new SysRole{ Id=1300000000101, Name="绯荤粺绠$悊鍛�", DataScope=DataScopeEnum.All, Code="sys_admin", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="绯荤粺绠$悊鍛�", TenantId=1300000000001 },
+            new SysRole{ Id=1300000000102, Name="鏈儴闂ㄥ強浠ヤ笅鏁版嵁", DataScope=DataScopeEnum.DeptChild, Code="sys_deptChild", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="鏈儴闂ㄥ強浠ヤ笅鏁版嵁", TenantId=1300000000001 },
+            new SysRole{ Id=1300000000103, Name="鏈儴闂ㄦ暟鎹�", DataScope=DataScopeEnum.Dept, Code="sys_dept", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="鏈儴闂ㄦ暟鎹�", TenantId=1300000000001 },
+            new SysRole{ Id=1300000000104, Name="浠呮湰浜烘暟鎹�", DataScope=DataScopeEnum.Self, Code="sys_self", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="浠呮湰浜烘暟鎹�", TenantId=1300000000001 },
+            new SysRole{ Id=1300000000105, Name="鑷畾涔夋暟鎹�", DataScope=DataScopeEnum.Define, Code="sys_define", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="鑷畾涔夋暟鎹�", TenantId=1300000000001 },
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysTenantSeedData.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysTenantSeedData.cs
new file mode 100644
index 0000000..7355377
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysTenantSeedData.cs
@@ -0,0 +1,27 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺绉熸埛琛ㄧ瀛愭暟鎹�
+/// </summary>
+public class SysTenantSeedData : ISqlSugarEntitySeedData<SysTenant>
+{
+    /// <summary>
+    /// 绉嶅瓙鏁版嵁
+    /// </summary>
+    /// <returns></returns>
+    public IEnumerable<SysTenant> HasData()
+    {
+        var defaultDbConfig = App.GetOptions<DbConnectionOptions>().ConnectionConfigs[0];
+
+        return new[]
+        {
+            new SysTenant{ Id=1300000000001, OrgId=1300000000101, UserId=1300000000111, Host="https://gitee.com", TenantType=TenantTypeEnum.Id, DbType=defaultDbConfig.DbType, Connection=defaultDbConfig.ConnectionString, ConfigId=SqlSugarConst.MainConfigId, Remark="绯荤粺榛樿", CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysUserExtOrgSeedData.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysUserExtOrgSeedData.cs
new file mode 100644
index 0000000..c3f4bbd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysUserExtOrgSeedData.cs
@@ -0,0 +1,26 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鐢ㄦ埛鎵╁睍鏈烘瀯琛ㄧ瀛愭暟鎹�
+/// </summary>
+public class SysUserExtOrgSeedData : ISqlSugarEntitySeedData<SysUserExtOrg>
+{
+    /// <summary>
+    /// 绉嶅瓙鏁版嵁
+    /// </summary>
+    /// <returns></returns>
+    public IEnumerable<SysUserExtOrg> HasData()
+    {
+        return new[]
+        {
+            new SysUserExtOrg{ Id=1300000000101, UserId=1300000000111, OrgId=1300000000202, PosId=1300000000106 },
+            new SysUserExtOrg{ Id=1300000000102, UserId=1300000000114, OrgId=1300000000302, PosId=1300000000108  }
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysUserRoleSeedData.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysUserRoleSeedData.cs
new file mode 100644
index 0000000..8f34bd0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysUserRoleSeedData.cs
@@ -0,0 +1,29 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鐢ㄦ埛瑙掕壊琛ㄧ瀛愭暟鎹�
+/// </summary>
+public class SysUserRoleSeedData : ISqlSugarEntitySeedData<SysUserRole>
+{
+    /// <summary>
+    /// 绉嶅瓙鏁版嵁
+    /// </summary>
+    /// <returns></returns>
+    public IEnumerable<SysUserRole> HasData()
+    {
+        return new[]
+        {
+            new SysUserRole{ Id=1300000000101, UserId=1300000000111, RoleId=1300000000101 },
+            new SysUserRole{ Id=1300000000102, UserId=1300000000112, RoleId=1300000000102 },
+            new SysUserRole{ Id=1300000000103, UserId=1300000000113, RoleId=1300000000103 },
+            new SysUserRole{ Id=1300000000104, UserId=1300000000114, RoleId=1300000000104 },
+            new SysUserRole{ Id=1300000000105, UserId=1300000000115, RoleId=1300000000105 },
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysUserSeedData.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysUserSeedData.cs
new file mode 100644
index 0000000..de8dc9d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SeedData/SysUserSeedData.cs
@@ -0,0 +1,32 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鐢ㄦ埛琛ㄧ瀛愭暟鎹�
+/// </summary>
+public class SysUserSeedData : ISqlSugarEntitySeedData<SysUser>
+{
+    /// <summary>
+    /// 绉嶅瓙鏁版嵁
+    /// </summary>
+    /// <returns></returns>
+    public IEnumerable<SysUser> HasData()
+    {
+        var encryptPassword = CryptogramUtil.Encrypt("123456");
+
+        return new[]
+        {
+            new SysUser{ Id=1300000000101, Account="superadmin", Password=encryptPassword, NickName="瓒呯骇绠$悊鍛�", RealName="瓒呯骇绠$悊鍛�", Phone="18012345678", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Male, AccountType=AccountTypeEnum.SuperAdmin, Remark="瓒呯骇绠$悊鍛�", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), TenantId=1300000000001 },
+            new SysUser{ Id=1300000000111, Account="admin", Password=encryptPassword, NickName="绯荤粺绠$悊鍛�", RealName="绯荤粺绠$悊鍛�", Phone="18012345678", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Male, AccountType=AccountTypeEnum.SysAdmin, Remark="绯荤粺绠$悊鍛�", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrgId=1300000000101, PosId=1300000000102, TenantId=1300000000001 },
+            new SysUser{ Id=1300000000112, Account="user1", Password=encryptPassword, NickName="閮ㄩ棬涓荤", RealName="閮ㄩ棬涓荤", Phone="18012345678", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Female, AccountType=AccountTypeEnum.NormalUser, Remark="閮ㄩ棬涓荤", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrgId=1300000000102, PosId=1300000000108, TenantId=1300000000001 },
+            new SysUser{ Id=1300000000113, Account="user2", Password=encryptPassword, NickName="閮ㄩ棬鑱屽憳", RealName="閮ㄩ棬鑱屽憳", Phone="18012345678", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Female, AccountType=AccountTypeEnum.NormalUser, Remark="閮ㄩ棬鑱屽憳", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrgId=1300000000103, PosId=1300000000110, TenantId=1300000000001 },
+            new SysUser{ Id=1300000000114, Account="user3", Password=encryptPassword, NickName="鏅�氱敤鎴�", RealName="鏅�氱敤鎴�", Phone="18012345678", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Female, AccountType=AccountTypeEnum.NormalUser, Remark="鏅�氱敤鎴�", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrgId=1300000000104, PosId=1300000000115, TenantId=1300000000001 },
+            new SysUser{ Id=1300000000115, Account="user4", Password=encryptPassword, NickName="鍏朵粬", RealName="鍏朵粬", Phone="18012345678", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Female, AccountType=AccountTypeEnum.Member, Remark="浼氬憳", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrgId=1300000000105, PosId=1300000000116, TenantId=1300000000001 },
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/APIJSONService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/APIJSONService.cs
new file mode 100644
index 0000000..8a86418
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/APIJSONService.cs
@@ -0,0 +1,206 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// APIJSON鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 100)]
+public class APIJSONService : IDynamicApiController, ITransient
+{
+    private readonly ISqlSugarClient _db;
+    private readonly IdentityService _identityService;
+    private readonly TableMapper _tableMapper;
+    private readonly SelectTable _selectTable;
+
+    public APIJSONService(ISqlSugarClient db,
+        IdentityService identityService,
+        TableMapper tableMapper)
+    {
+        _db = db;
+        _tableMapper = tableMapper;
+        _identityService = identityService;
+        _selectTable = new SelectTable(_identityService, _tableMapper, _db);
+    }
+
+    /// <summary>
+    /// 缁熶竴鏌ヨ鍏ュ彛 馃敄
+    /// </summary>
+    /// <param name="jobject"></param>
+    /// <remarks>鍙傛暟锛歿"[]":{"SYSLOGOP":{}}}</remarks>
+    /// <returns></returns>
+    [HttpPost("get")]
+    [DisplayName("APIJSON缁熶竴鏌ヨ")]
+    public JObject Query([FromBody] JObject jobject)
+    {
+        return _selectTable.Query(jobject);
+    }
+
+    /// <summary>
+    /// 鏌ヨ 馃敄
+    /// </summary>
+    /// <param name="table"></param>
+    /// <param name="jobject"></param>
+    /// <returns></returns>
+    [HttpPost("get/{table}")]
+    [DisplayName("APIJSON鏌ヨ")]
+    public JObject QueryByTable([FromRoute] string table, [FromBody] JObject jobject)
+    {
+        var ht = new JObject
+        {
+            { table + "[]", jobject }
+        };
+
+        // 鑷姩娣诲姞鎬昏鏁伴噺
+        if (jobject["query"] != null && jobject["query"].ToString() != "0" && jobject["total@"] == null)
+            ht.Add("total@", "");
+
+        // 姣忛〉鏈�澶�1000鏉℃暟鎹�
+        if (jobject["count"] != null && int.Parse(jobject["count"].ToString()) > 1000)
+            throw Oops.Bah("count鍒嗛〉鏁伴噺鏈�澶т笉鑳借秴杩�1000");
+
+        jobject.Remove("@debug");
+
+        var hasTableKey = false;
+        var ignoreConditions = new List<string> { "page", "count", "query" };
+        var tableConditions = new JObject(); // 琛ㄧ殑鍏跺畠鏌ヨ鏉′欢锛屾瘮濡傝繃婊ゃ�佸瓧娈电瓑
+        foreach (var item in jobject)
+        {
+            if (item.Key.Equals(table, StringComparison.CurrentCultureIgnoreCase))
+            {
+                hasTableKey = true;
+                break;
+            }
+            if (!ignoreConditions.Contains(item.Key.ToLower()))
+                tableConditions.Add(item.Key, item.Value);
+        }
+
+        foreach (var removeKey in tableConditions)
+        {
+            jobject.Remove(removeKey.Key);
+        }
+
+        if (!hasTableKey)
+            jobject.Add(table, tableConditions);
+
+        return Query(ht);
+    }
+
+    /// <summary>
+    /// 鏂板 馃敄
+    /// </summary>
+    /// <param name="tables">琛ㄥ璞℃垨鏁扮粍锛岃嫢娌℃湁浼營d鍒欏悗绔敓鎴怚d</param>
+    /// <returns></returns>
+    [HttpPost("add")]
+    [DisplayName("APIJSON鏂板")]
+    [UnitOfWork]
+    public JObject Add([FromBody] JObject tables)
+    {
+        var ht = new JObject();
+        foreach (var table in tables)
+        {
+            var talbeName = table.Key.Trim();
+            var role = _identityService.GetRole();
+            if (!role.Insert.Table.Contains(talbeName, StringComparer.CurrentCultureIgnoreCase))
+                throw Oops.Bah($"娌℃潈闄愭坊鍔爗talbeName}");
+
+            JToken result;
+            // 鎵归噺鎻掑叆
+            if (table.Value is JArray)
+            {
+                var ids = new List<object>();
+                foreach (var record in table.Value)
+                {
+                    var cols = record.ToObject<JObject>();
+                    var id = _selectTable.InsertSingle(talbeName, cols, role);
+                    ids.Add(id);
+                }
+                result = JToken.FromObject(new { id = ids, count = ids.Count });
+            }
+            // 鍗曟潯鎻掑叆
+            else
+            {
+                var cols = table.Value.ToObject<JObject>();
+                var id = _selectTable.InsertSingle(talbeName, cols, role);
+                result = JToken.FromObject(new { id });
+            }
+            ht.Add(talbeName, result);
+        }
+        return ht;
+    }
+
+    /// <summary>
+    /// 鏇存柊锛堝彧鏀寔Id浣滀负鏉′欢锛� 馃敄
+    /// </summary>
+    /// <param name="tables">鏀寔澶氳〃銆佸Id鎵归噺鏇存柊</param>
+    /// <returns></returns>
+    [HttpPost("update")]
+    [DisplayName("APIJSON鏇存柊")]
+    [UnitOfWork]
+    public JObject Edit([FromBody] JObject tables)
+    {
+        var ht = new JObject();
+        foreach (var table in tables)
+        {
+            var tableName = table.Key.Trim();
+            var role = _identityService.GetRole();
+            var count = _selectTable.UpdateSingleTable(tableName, table.Value, role);
+            ht.Add(tableName, JToken.FromObject(new { count }));
+        }
+        return ht;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎锛堟敮鎸侀潪Id鏉′欢銆佹敮鎸佹壒閲忥級 馃敄
+    /// </summary>
+    /// <param name="tables"></param>
+    /// <returns></returns>
+    [HttpPost("delete")]
+    [DisplayName("APIJSON鍒犻櫎")]
+    [UnitOfWork]
+    public JObject Delete([FromBody] JObject tables)
+    {
+        var ht = new JObject();
+        var role = _identityService.GetRole();
+        foreach (var table in tables)
+        {
+            var talbeName = table.Key.Trim();
+            if (role.Delete == null || role.Delete.Table == null)
+                throw Oops.Bah("delete鏉冮檺鏈厤缃�");
+            if (!role.Delete.Table.Contains(talbeName, StringComparer.CurrentCultureIgnoreCase))
+                throw Oops.Bah($"娌℃潈闄愬垹闄talbeName}");
+            //if (!value.ContainsKey("id"))
+            //    throw Oops.Bah("鏈紶涓婚敭id");
+
+            var value = JObject.Parse(table.Value.ToString());
+            var sb = new StringBuilder(100);
+            var parameters = new List<SugarParameter>();
+            foreach (var f in value)
+            {
+                if (f.Value is JArray)
+                {
+                    sb.Append($"{f.Key} in (@{f.Key}) and ");
+                    var paraArray = FuncList.TransJArrayToSugarPara(f.Value);
+                    parameters.Add(new SugarParameter($"@{f.Key}", paraArray));
+                }
+                else
+                {
+                    sb.Append($"{f.Key}=@{f.Key} and ");
+                    parameters.Add(new SugarParameter($"@{f.Key}", FuncList.TransJObjectToSugarPara(f.Value)));
+                }
+            }
+            if (!parameters.Any())
+                throw Oops.Bah("璇疯緭鍏ュ垹闄ゆ潯浠�");
+
+            var whereSql = sb.ToString().TrimEnd(" and ");
+            var count = _db.Deleteable<object>().AS(talbeName).Where(whereSql, parameters).ExecuteCommand(); // 鏃犲疄浣撳垹闄�
+            value.Add("count", count); // 鍛戒腑鏁伴噺
+            ht.Add(talbeName, value);
+        }
+        return ht;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/FuncList.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/FuncList.cs
new file mode 100644
index 0000000..139e02f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/FuncList.cs
@@ -0,0 +1,116 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鑷畾涔夋柟娉�
+/// </summary>
+public class FuncList
+{
+    /// <summary>
+    /// 瀛楃涓茬浉鍔�
+    /// </summary>
+    /// <param name="a"></param>
+    /// <param name="b"></param>
+    /// <returns></returns>
+    public string Merge(object a, object b)
+    {
+        return a.ToString() + b.ToString();
+    }
+
+    /// <summary>
+    /// 瀵硅薄鍚堝苟
+    /// </summary>
+    /// <param name="a"></param>
+    /// <param name="b"></param>
+    /// <returns></returns>
+    public object MergeObj(object a, object b)
+    {
+        return new { a, b };
+    }
+
+    /// <summary>
+    /// 鏄惁鍖呭惈
+    /// </summary>
+    /// <param name="a"></param>
+    /// <param name="b"></param>
+    /// <returns></returns>
+    public bool IsContain(object a, object b)
+    {
+        return a.ToString().Split(',').Contains(b);
+    }
+
+    /// <summary>
+    /// 鏍规嵁jtoken鐨勫疄闄呯被鍨嬫潵杞崲SugarParameter锛岄伩鍏嶅叏杞垚瀛楃涓�
+    /// </summary>
+    /// <param name="jToken"></param>
+    /// <returns></returns>
+    public static dynamic TransJObjectToSugarPara(JToken jToken)
+    {
+        JTokenType jTokenType = jToken.Type;
+        return jTokenType switch
+        {
+            JTokenType.Integer => jToken.ToObject(typeof(long)),
+            JTokenType.Float => jToken.ToObject(typeof(decimal)),
+            JTokenType.Boolean => jToken.ToObject(typeof(bool)),
+            JTokenType.Date => jToken.ToObject(typeof(DateTime)),
+            JTokenType.Bytes => jToken.ToObject(typeof(byte)),
+            JTokenType.Guid => jToken.ToObject(typeof(Guid)),
+            JTokenType.TimeSpan => jToken.ToObject(typeof(TimeSpan)),
+            JTokenType.Array => TransJArrayToSugarPara(jToken),
+            _ => jToken
+        };
+    }
+
+    /// <summary>
+    /// 鏍规嵁jArray鐨勫疄闄呯被鍨嬫潵杞崲SugarParameter锛岄伩鍏嶅叏杞垚瀛楃涓�
+    /// </summary>
+    /// <param name="jToken"></param>
+    /// <returns></returns>
+    public static dynamic TransJArrayToSugarPara(JToken jToken)
+    {
+        if (jToken is not JArray) return jToken;
+        if (jToken.Any())
+        {
+            JTokenType jTokenType = jToken.First().Type;
+            return jTokenType switch
+            {
+                JTokenType.Integer => jToken.ToObject<long[]>(),
+                JTokenType.Float => jToken.ToObject<decimal[]>(),
+                JTokenType.Boolean => jToken.ToObject<bool[]>(),
+                JTokenType.Date => jToken.ToObject<DateTime[]>(),
+                JTokenType.Bytes => jToken.ToObject<byte[]>(),
+                JTokenType.Guid => jToken.ToObject<Guid[]>(),
+                JTokenType.TimeSpan => jToken.ToObject<TimeSpan[]>(),
+                _ => jToken.ToArray()
+            };
+        }
+
+        return (JArray)jToken;
+    }
+
+    /// <summary>
+    /// 鑾峰彇瀛楃涓查噷鐨勫�肩殑鐪熸绫诲瀷
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    public static string GetValueCSharpType(string input)
+    {
+        if (DateTime.TryParse(input, out _))
+            return "DateTime";
+        else if (int.TryParse(input, out _))
+            return "int";
+        else if (long.TryParse(input, out _))
+            return "long";
+        else if (decimal.TryParse(input, out _))
+            return "decimal";
+        else if (bool.TryParse(input, out _))
+            return "bool";
+        else
+            return "string";
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/IdentityService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/IdentityService.cs
new file mode 100644
index 0000000..f62bde5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/IdentityService.cs
@@ -0,0 +1,96 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using System.Security.Claims;
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鏉冮檺楠岃瘉
+/// </summary>
+public class IdentityService : ITransient
+{
+    private readonly IHttpContextAccessor _context;
+    private readonly List<APIJSON_Role> _roles;
+
+    public IdentityService(IHttpContextAccessor context, IOptions<APIJSONOptions> roles)
+    {
+        _context = context ?? throw new ArgumentNullException(nameof(context));
+        _roles = roles.Value.Roles;
+    }
+
+    /// <summary>
+    /// 鑾峰彇褰撳墠鐢ㄦ埛Id
+    /// </summary>
+    /// <returns></returns>
+    public string GetUserIdentity()
+    {
+        return _context.HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier);
+    }
+
+    /// <summary>
+    /// 鑾峰彇褰撳墠鐢ㄦ埛鏉冮檺鍚嶇О
+    /// </summary>
+    /// <returns></returns>
+    public string GetUserRoleName()
+    {
+        return _context.HttpContext.User.FindFirstValue(ClaimTypes.Role);
+    }
+
+    /// <summary>
+    /// 鑾峰彇褰撳墠鐢ㄦ埛鏉冮檺
+    /// </summary>
+    /// <returns></returns>
+    public APIJSON_Role GetRole()
+    {
+        var role = string.IsNullOrEmpty(GetUserRoleName())
+            ? _roles.FirstOrDefault()
+            : _roles.FirstOrDefault(it => it.RoleName.Equals(GetUserRoleName(), StringComparison.CurrentCultureIgnoreCase));
+        return role;
+    }
+
+    /// <summary>
+    /// 鑾峰彇褰撳墠琛ㄧ殑鍙煡璇㈠瓧娈�
+    /// </summary>
+    /// <param name="table"></param>
+    /// <returns></returns>
+    public (bool, string) GetSelectRole(string table)
+    {
+        var role = GetRole();
+        if (role == null || role.Select == null || role.Select.Table == null)
+            return (false, $"appsettings.json鏉冮檺閰嶇疆涓嶆纭紒");
+
+        var tablerole = role.Select.Table.FirstOrDefault(it => it == "*" || it.Equals(table, StringComparison.CurrentCultureIgnoreCase));
+        if (string.IsNullOrEmpty(tablerole))
+            return (false, $"琛ㄥ悕{table}娌℃潈闄愭煡璇紒");
+
+        var index = Array.IndexOf(role.Select.Table, tablerole);
+        var selectrole = role.Select.Column[index];
+        return (true, selectrole);
+    }
+
+    /// <summary>
+    /// 褰撳墠鍒楁槸鍚﹀湪瑙掕壊閲岄潰
+    /// </summary>
+    /// <param name="col"></param>
+    /// <param name="selectrole"></param>
+    /// <returns></returns>
+    public bool ColIsRole(string col, string[] selectrole)
+    {
+        if (selectrole.Contains("*")) return true;
+
+        if (col.Contains('(') && col.Contains(')'))
+        {
+            var reg = new Regex(@"\(([^)]*)\)");
+            var match = reg.Match(col);
+            return selectrole.Contains(match.Result("$1"), StringComparer.CurrentCultureIgnoreCase);
+        }
+        else
+        {
+            return selectrole.Contains(col, StringComparer.CurrentCultureIgnoreCase);
+        }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/SelectTable.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/SelectTable.cs
new file mode 100644
index 0000000..9b6f0ec
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/SelectTable.cs
@@ -0,0 +1,974 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using AspectCore.Extensions.Reflection;
+using System.Dynamic;
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+///
+/// </summary>
+public class SelectTable : ISingleton
+{
+    private readonly IdentityService _identitySvc;
+    private readonly TableMapper _tableMapper;
+    private readonly ISqlSugarClient _db;
+
+    public SelectTable(IdentityService identityService, TableMapper tableMapper, ISqlSugarClient dbClient)
+    {
+        _identitySvc = identityService;
+        _tableMapper = tableMapper;
+        _db = dbClient;
+    }
+
+    /// <summary>
+    /// 鍒ゆ柇琛ㄥ悕鏄惁姝g‘锛岃嫢涓嶆纭垯鎶涘紓甯�
+    /// </summary>
+    /// <param name="table"></param>
+    /// <returns></returns>
+    public virtual bool IsTable(string table)
+    {
+        return _db.DbMaintenance.GetTableInfoList().Any(it => it.Name.Equals(table, StringComparison.CurrentCultureIgnoreCase))
+            ? true
+            : throw new Exception($"琛ㄥ悕銆恵table}銆戜笉姝g‘锛�");
+    }
+
+    /// <summary>
+    /// 鍒ゆ柇琛ㄧ殑鍒楀悕鏄惁姝g‘,濡傛灉涓嶆纭垯鎶涘紓甯革紝鏇存棭鍦版毚闇茬粰璋冪敤鏂�
+    /// </summary>
+    /// <param name="table"></param>
+    /// <param name="col"></param>
+    /// <returns></returns>
+    public virtual bool IsCol(string table, string col)
+    {
+        return _db.DbMaintenance.GetColumnInfosByTableName(table).Any(it => it.DbColumnName.Equals(col, StringComparison.CurrentCultureIgnoreCase))
+            ? true
+            : throw new Exception($"琛ㄣ�恵table}銆戜笉瀛樺湪鍒椼�恵col}銆戯紒璇锋鏌ヨ緭鍏ュ弬鏁�");
+    }
+
+    /// <summary>
+    /// 鏌ヨ鍒楄〃鏁版嵁
+    /// </summary>
+    /// <param name="subtable"></param>
+    /// <param name="page"></param>
+    /// <param name="count"></param>
+    /// <param name="query"></param>
+    /// <param name="json"></param>
+    /// <param name="dd"></param>
+    /// <returns></returns>
+    public virtual Tuple<dynamic, int> GetTableData(string subtable, int page, int count, int query, string json, JObject dd)
+    {
+        var role = _identitySvc.GetSelectRole(subtable);
+        if (!role.Item1)
+            throw new Exception(role.Item2);
+
+        var selectrole = role.Item2;
+        subtable = _tableMapper.GetTableName(subtable);
+
+        var values = JObject.Parse(json);
+        page = values["page"] == null ? page : int.Parse(values["page"].ToString());
+        count = values["count"] == null ? count : int.Parse(values["count"].ToString());
+        query = values["query"] == null ? query : int.Parse(values["query"].ToString());
+        values.Remove("page");
+        values.Remove("count");
+        // 鏋勯�犳煡璇㈣繃绋�
+        var tb = SugarQueryable(subtable, selectrole, values, dd);
+
+        // 瀹為檯浼氬湪杩欓噷鎵ц
+        if (query == 1) // 1-鎬绘暟
+        {
+            return new Tuple<dynamic, int>(null, tb.MergeTable().Count());
+        }
+        else
+        {
+            if (page > 0) // 鍒嗛〉
+            {
+                int total = 0;
+                if (query == 0)
+                    return new Tuple<dynamic, int>(tb.ToPageList(page, count), total); // 0-瀵硅薄
+                else
+                    return new Tuple<dynamic, int>(tb.ToPageList(page, count, ref total), total); // 2-浠ヤ笂鍏ㄩ儴
+            }
+            else // 鍒楄〃
+            {
+                IList l = tb.ToList();
+                return query == 0 ? new Tuple<dynamic, int>(l, 0) : new Tuple<dynamic, int>(l, l.Count);
+            }
+        }
+    }
+
+    /// <summary>
+    /// 瑙f瀽骞舵煡璇�
+    /// </summary>
+    /// <param name="queryJson"></param>
+    /// <returns></returns>
+    public virtual JObject Query(string queryJson)
+    {
+        var queryJobj = JObject.Parse(queryJson);
+        return Query(queryJobj);
+    }
+
+    /// <summary>
+    /// 鍗曡〃鏌ヨ
+    /// </summary>
+    /// <param name="queryObj"></param>
+    /// <param name="nodeName">杩斿洖鏁版嵁鐨勮妭鐐瑰悕绉�  榛樿涓� infos</param>
+    /// <returns></returns>
+    public virtual JObject QuerySingle(JObject queryObj, string nodeName = "infos")
+    {
+        var resultObj = new JObject();
+
+        var total = 0;
+        foreach (var item in queryObj)
+        {
+            var key = item.Key.Trim();
+            if (key.EndsWith("[]"))
+            {
+                total = QuerySingleList(resultObj, item, nodeName);
+            }
+            else if (key.Equals("func"))
+            {
+                ExecFunc(resultObj, item);
+            }
+            else if (key.Equals("total@") || key.Equals("total"))
+            {
+                resultObj.Add("total", total);
+            }
+        }
+        return resultObj;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏌ヨ璇彞
+    /// </summary>
+    /// <param name="queryObj"></param>
+    /// <returns></returns>
+    public virtual string ToSql(JObject queryObj)
+    {
+        foreach (var item in queryObj)
+        {
+            if (item.Key.Trim().EndsWith("[]"))
+                return ToSql(item);
+        }
+        return string.Empty;
+    }
+
+    /// <summary>
+    /// 瑙f瀽骞舵煡璇�
+    /// </summary>
+    /// <param name="queryObj"></param>
+    /// <returns></returns>
+    public virtual JObject Query(JObject queryObj)
+    {
+        var resultObj = new JObject();
+
+        int total;
+        foreach (var item in queryObj)
+        {
+            var key = item.Key.Trim();
+            if (key.Equals("[]")) // 鍒楄〃
+            {
+                total = QueryMoreList(resultObj, item);
+                resultObj.Add("total", total); // 鍙鏄垪琛ㄦ煡璇㈤兘鑷姩杩斿洖鎬绘暟
+            }
+            else if (key.EndsWith("[]"))
+            {
+                total = QuerySingleList(resultObj, item);
+            }
+            else if (key.Equals("func"))
+            {
+                ExecFunc(resultObj, item);
+            }
+            else if (key.Equals("total@") || key.Equals("total"))
+            {
+                // resultObj.Add("total", total);
+                continue;
+            }
+            else // 鍗曟潯
+            {
+                var template = GetFirstData(key, item.Value.ToString(), resultObj);
+                if (template != null)
+                    resultObj.Add(key, JToken.FromObject(template));
+            }
+        }
+        return resultObj;
+    }
+
+    // 鍔ㄦ�佽皟鐢ㄦ柟娉�
+    private static object ExecFunc(string funcname, object[] param, Type[] types)
+    {
+        var method = typeof(FuncList).GetMethod(funcname);
+        var reflector = method.GetReflector();
+        var result = reflector.Invoke(new FuncList(), param);
+        return result;
+    }
+
+    // 鐢熸垚sql
+    private string ToSql(string subtable, int page, int count, int query, string json)
+    {
+        var values = JObject.Parse(json);
+        page = values["page"] == null ? page : int.Parse(values["page"].ToString());
+        count = values["count"] == null ? count : int.Parse(values["count"].ToString());
+        _ = values["query"] == null ? query : int.Parse(values["query"].ToString());
+        values.Remove("page");
+        values.Remove("count");
+        subtable = _tableMapper.GetTableName(subtable);
+        var tb = SugarQueryable(subtable, "*", values, null);
+        var sqlObj = tb.Skip((page - 1) * count).Take(10).ToSql();
+        return sqlObj.Key;
+    }
+
+    /// <summary>
+    /// 鏌ヨ绗竴鏉℃暟鎹�
+    /// </summary>
+    /// <param name="subtable"></param>
+    /// <param name="json"></param>
+    /// <param name="job"></param>
+    /// <returns></returns>
+    /// <exception cref="Exception"></exception>
+    private dynamic GetFirstData(string subtable, string json, JObject job)
+    {
+        var role = _identitySvc.GetSelectRole(subtable);
+        if (!role.Item1)
+            throw new Exception(role.Item2);
+
+        var selectrole = role.Item2;
+        subtable = _tableMapper.GetTableName(subtable);
+
+        var values = JObject.Parse(json);
+        values.Remove("page");
+        values.Remove("count");
+        var tb = SugarQueryable(subtable, selectrole, values, job).First();
+        var dic = (IDictionary<string, object>)tb;
+        foreach (var item in values.Properties().Where(it => it.Name.EndsWith("()")))
+        {
+            if (item.Value.IsNullOrEmpty())
+            {
+                var func = item.Value.ToString().Substring(0, item.Value.ToString().IndexOf("("));
+                var param = item.Value.ToString().Substring(item.Value.ToString().IndexOf("(") + 1).TrimEnd(')');
+                var types = new List<Type>();
+                var paramss = new List<object>();
+                foreach (var va in param.Split(','))
+                {
+                    types.Add(typeof(object));
+                    paramss.Add(tb.Where(it => it.Key.Equals(va)).Select(i => i.Value));
+                }
+                dic[item.Name] = ExecFunc(func, paramss.ToArray(), types.ToArray());
+            }
+        }
+        return tb;
+    }
+
+    // 鍗曡〃鏌ヨ,杩斿洖鐨勬暟鎹湪鎸囧畾鐨凬odeName鑺傜偣
+    private int QuerySingleList(JObject resultObj, KeyValuePair<string, JToken> item, string nodeName)
+    {
+        var key = item.Key.Trim();
+        var jb = JObject.Parse(item.Value.ToString());
+        int page = jb["page"] == null ? 0 : int.Parse(jb["page"].ToString());
+        int count = jb["count"] == null ? 10 : int.Parse(jb["count"].ToString());
+        int query = jb["query"] == null ? 2 : int.Parse(jb["query"].ToString()); // 榛樿杈撳嚭鏁版嵁鍜屾暟閲�
+        int total = 0;
+
+        jb.Remove("page"); jb.Remove("count"); jb.Remove("query");
+
+        var htt = new JArray();
+        foreach (var t in jb)
+        {
+            var datas = GetTableData(t.Key, page, count, query, t.Value.ToString(), null);
+            if (query > 0)
+                total = datas.Item2;
+
+            foreach (var data in datas.Item1)
+            {
+                htt.Add(JToken.FromObject(data));
+            }
+        }
+
+        if (!string.IsNullOrEmpty(nodeName))
+            resultObj.Add(nodeName, htt);
+        else
+            resultObj.Add(key, htt);
+
+        return total;
+    }
+
+    // 鐢熸垚sql
+    private string ToSql(KeyValuePair<string, JToken> item)
+    {
+        var jb = JObject.Parse(item.Value.ToString());
+        int page = jb["page"] == null ? 0 : int.Parse(jb["page"].ToString());
+        int count = jb["count"] == null ? 10 : int.Parse(jb["count"].ToString());
+        int query = jb["query"] == null ? 2 : int.Parse(jb["query"].ToString()); // 榛樿杈撳嚭鏁版嵁鍜屾暟閲�
+
+        jb.Remove("page"); jb.Remove("count"); jb.Remove("query");
+        foreach (var t in jb)
+        {
+            return ToSql(t.Key, page, count, query, t.Value.ToString());
+        }
+        return string.Empty;
+    }
+
+    // 鍗曡〃鏌ヨ
+    private int QuerySingleList(JObject resultObj, KeyValuePair<string, JToken> item)
+    {
+        var key = item.Key.TrimEnd("[]");
+        return QuerySingleList(resultObj, item, key);
+    }
+
+    /// <summary>
+    /// 澶氬垪琛ㄦ煡璇�
+    /// </summary>
+    /// <param name="resultObj"></param>
+    /// <param name="item"></param>
+    /// <returns></returns>
+    private int QueryMoreList(JObject resultObj, KeyValuePair<string, JToken> item)
+    {
+        int total = 0;
+
+        var jb = JObject.Parse(item.Value.ToString());
+        var page = jb["page"] == null ? 0 : int.Parse(jb["page"].ToString());
+        var count = jb["count"] == null ? 10 : int.Parse(jb["count"].ToString());
+        var query = jb["query"] == null ? 2 : int.Parse(jb["query"].ToString()); // 榛樿杈撳嚭鏁版嵁鍜屾暟閲�
+        jb.Remove("page"); jb.Remove("count"); jb.Remove("query");
+        var htt = new JArray();
+        List<string> tables = new List<string>(), where = new List<string>();
+        foreach (var t in jb)
+        {
+            tables.Add(t.Key); where.Add(t.Value.ToString());
+        }
+        if (tables.Count > 0)
+        {
+            string table = tables[0].TrimEnd("[]");
+            var temp = GetTableData(table, page, count, query, where[0], null);
+            if (query > 0)
+                total = temp.Item2;
+
+            // 鍏宠仈鏌ヨ锛屽厛鏌ュ瓙琛ㄦ暟鎹紝鍐嶆牴鎹閿惊鐜煡璇富琛�
+            foreach (var dd in temp.Item1)
+            {
+                var zht = new JObject
+                {
+                    { table, JToken.FromObject(dd) }
+                };
+                for (int i = 1; i < tables.Count; i++) // 浠庣浜屼釜琛ㄥ紑濮嬪惊鐜�
+                {
+                    string subtable = tables[i];
+                    // 鏈塨ug锛屾殏涓嶆敮鎸乕]鍒嗘敮
+                    //if (subtable.EndsWith("[]"))
+                    //{
+                    //   string tableName = subtable.TrimEnd("[]".ToCharArray());
+                    //    var jbb = JObject.Parse(where[i]);
+                    //    page = jbb["page"] == null ? 0 : int.Parse(jbb["page"].ToString());
+                    //    count = jbb["count"] == null ? 0 : int.Parse(jbb["count"].ToString());
+
+                    //    var lt = new JArray();
+                    //    foreach (var d in GetTableData(tableName, page, count, query, item.Value[subtable].ToString(), zht).Item1)
+                    //    {
+                    //        lt.Add(JToken.FromObject(d));
+                    //    }
+                    //    zht.Add(tables[i], lt);
+                    //}
+                    //else
+                    //{
+                    var ddf = GetFirstData(subtable, where[i].ToString(), zht);
+                    if (ddf != null)
+                        zht.Add(subtable, JToken.FromObject(ddf));
+                }
+                htt.Add(zht);
+            }
+        }
+        if (query != 1)
+            resultObj.Add("[]", htt);
+
+        // 鍒嗛〉鑷姩娣诲姞褰撳墠椤垫暟鍜屾暟閲�
+        if (page > 0 && count > 0)
+        {
+            resultObj.Add("page", page);
+            resultObj.Add("count", count);
+            resultObj.Add("max", (int)Math.Ceiling((decimal)total / count));
+        }
+
+        return total;
+    }
+
+    // 鎵ц鏂规硶
+    private void ExecFunc(JObject resultObj, KeyValuePair<string, JToken> item)
+    {
+        var jb = JObject.Parse(item.Value.ToString());
+
+        var dataJObj = new JObject();
+        foreach (var f in jb)
+        {
+            var types = new List<Type>();
+            var param = new List<object>();
+            foreach (var va in JArray.Parse(f.Value.ToString()))
+            {
+                types.Add(typeof(object));
+                param.Add(va);
+            }
+            dataJObj.Add(f.Key, JToken.FromObject(ExecFunc(f.Key, param.ToArray(), types.ToArray())));
+        }
+        resultObj.Add("func", dataJObj);
+    }
+
+    /// <summary>
+    /// 鏋勯�犳煡璇㈣繃绋�
+    /// </summary>
+    /// <param name="subtable"></param>
+    /// <param name="selectrole"></param>
+    /// <param name="values"></param>
+    /// <param name="dd"></param>
+    /// <returns></returns>
+    private ISugarQueryable<ExpandoObject> SugarQueryable(string subtable, string selectrole, JObject values, JObject dd)
+    {
+        IsTable(subtable);
+
+        var tb = _db.Queryable(subtable, "tb");
+
+        // select
+        if (!values["@column"].IsNullOrEmpty())
+        {
+            ProcessColumn(subtable, selectrole, values, tb);
+        }
+        else
+        {
+            tb.Select(selectrole);
+        }
+
+        // 鍓嶅嚑琛�
+        ProcessLimit(values, tb);
+
+        // where
+        ProcessWhere(subtable, values, tb, dd);
+
+        // 鎺掑簭
+        ProcessOrder(subtable, values, tb);
+
+        // 鍒嗙粍
+        PrccessGroup(subtable, values, tb);
+
+        // Having
+        ProcessHaving(values, tb);
+
+        return tb;
+    }
+
+    // 澶勭悊瀛楁閲嶅懡鍚� "@column":"toId:parentId"锛屽搴擲QL鏄痶oId AS parentId锛屽皢鏌ヨ鐨勫瓧娈祎oId鍙樹负parentId杩斿洖
+    private void ProcessColumn(string subtable, string selectrole, JObject values, ISugarQueryable<ExpandoObject> tb)
+    {
+        var str = new System.Text.StringBuilder(100);
+        foreach (var item in values["@column"].ToString().Split(','))
+        {
+            var ziduan = item.Split(':');
+            var colName = ziduan[0];
+            var ma = new Regex(@"\((\w+)\)").Match(colName);
+            // 澶勭悊max銆乵in杩欐牱鐨勫嚱鏁�
+            if (ma.Success && ma.Groups.Count > 1)
+                colName = ma.Groups[1].Value;
+
+            // 鍒ゆ柇鍒楄〃鏄惁鏈夋潈闄�  sum(1)銆乻um(*)銆丆ount(1)杩欐牱鐨勫�肩洿鎺ユ湁鏁�
+            if (colName == "*" || int.TryParse(colName, out int colNumber) || (IsCol(subtable, colName) && _identitySvc.ColIsRole(colName, selectrole.Split(','))))
+            {
+                if (ziduan.Length > 1)
+                {
+                    if (ziduan[1].Length > 20)
+                        throw new Exception("鍒悕涓嶈兘瓒呰繃20涓瓧绗�");
+
+                    str.Append(ziduan[0] + " as `" + ReplaceSQLChar(ziduan[1]) + "`,");
+                }
+                // 涓嶅鍑芥暟鍔燻`锛岃В鍐硈um(*)銆丆ount(1)绛変笉鑳戒娇鐢ㄧ殑闂
+                else if (ziduan[0].Contains('('))
+                {
+                    str.Append(ziduan[0] + ",");
+                }
+                else
+                    str.Append("`" + ziduan[0] + "`" + ",");
+            }
+        }
+        if (string.IsNullOrEmpty(str.ToString()))
+            throw new Exception($"琛ㄥ悕{subtable}娌℃湁鍙煡璇㈢殑瀛楁锛�");
+
+        tb.Select(str.ToString().TrimEnd(','));
+    }
+
+    /// <summary>
+    /// 鏋勯�犳煡璇㈡潯浠� where
+    /// </summary>
+    /// <param name="subtable"></param>
+    /// <param name="values"></param>
+    /// <param name="tb"></param>
+    /// <param name="dd"></param>
+    private void ProcessWhere(string subtable, JObject values, ISugarQueryable<ExpandoObject> tb, JObject dd)
+    {
+        var conModels = new List<IConditionalModel>();
+        if (!values["identity"].IsNullOrEmpty())
+            conModels.Add(new ConditionalModel() { FieldName = values["identity"].ToString(), ConditionalType = ConditionalType.Equal, FieldValue = _identitySvc.GetUserIdentity() });
+
+        foreach (var va in values)
+        {
+            string key = va.Key.Trim();
+            string fieldValue = va.Value.ToString();
+            if (key.StartsWith("@"))
+            {
+                continue;
+            }
+            if (key.EndsWith("$")) // 妯$硦鏌ヨ
+            {
+                FuzzyQuery(subtable, conModels, va);
+            }
+            else if (key.EndsWith("{}")) // 閫昏緫杩愮畻
+            {
+                ConditionQuery(subtable, conModels, va);
+            }
+            else if (key.EndsWith("%")) // bwtween鏌ヨ
+            {
+                ConditionBetween(subtable, conModels, va, tb);
+            }
+            else if (key.EndsWith("@")) // 鍏宠仈涓婁竴涓猼able
+            {
+                if (dd == null)
+                    continue;
+
+                var str = fieldValue.Split('/');
+                var lastTableRecord = ((JObject)dd[str[^2]]);
+                if (!lastTableRecord.ContainsKey(str[^1]))
+                    throw new Exception($"鎵句笉鍒板叧鑱斿垪:{str}锛岃鍦▄str[^2]}@column涓缃�");
+
+                var value = lastTableRecord[str[^1]].ToString();
+                conModels.Add(new ConditionalModel() { FieldName = key.TrimEnd('@'), ConditionalType = ConditionalType.Equal, FieldValue = value });
+            }
+            else if (key.EndsWith("~")) // 涓嶇瓑浜庯紙搴旇鏄鍒欏尮閰嶏級
+            {
+                //conModels.Add(new ConditionalModel() { FieldName = key.TrimEnd('~'), ConditionalType = ConditionalType.NoEqual, FieldValue = fieldValue });
+            }
+            else if (IsCol(subtable, key.TrimEnd('!'))) // 鍏朵粬where鏉′欢
+            {
+                ConditionEqual(subtable, conModels, va);
+            }
+        }
+        if (conModels.Any())
+            tb.Where(conModels);
+    }
+
+    // "@having":"function0(...)?value0;function1(...)?value1;function2(...)?value2..."锛�
+    // SQL鍑芥暟鏉′欢锛屼竴鑸拰 @group涓�璧风敤锛屽嚱鏁颁竴鑸湪 @column閲屽0鏄�
+    private static void ProcessHaving(JObject values, ISugarQueryable<ExpandoObject> tb)
+    {
+        if (!values["@having"].IsNullOrEmpty())
+        {
+            var hw = new List<IConditionalModel>();
+            var havingItems = new List<string>();
+            if (values["@having"].HasValues)
+            {
+                havingItems = values["@having"].Select(p => p.ToString()).ToList();
+            }
+            else
+            {
+                havingItems.Add(values["@having"].ToString());
+            }
+            foreach (var item in havingItems)
+            {
+                var and = item.ToString();
+                var model = new ConditionalModel();
+                if (and.Contains(">="))
+                {
+                    model.FieldName = and.Split(new string[] { ">=" }, StringSplitOptions.RemoveEmptyEntries)[0];
+                    model.ConditionalType = ConditionalType.GreaterThanOrEqual;
+                    model.FieldValue = and.Split(new string[] { ">=" }, StringSplitOptions.RemoveEmptyEntries)[1];
+                }
+                else if (and.Contains("<="))
+                {
+                    model.FieldName = and.Split(new string[] { "<=" }, StringSplitOptions.RemoveEmptyEntries)[0];
+                    model.ConditionalType = ConditionalType.LessThanOrEqual;
+                    model.FieldValue = and.Split(new string[] { "<=" }, StringSplitOptions.RemoveEmptyEntries)[1];
+                }
+                else if (and.Contains('>'))
+                {
+                    model.FieldName = and.Split(new string[] { ">" }, StringSplitOptions.RemoveEmptyEntries)[0];
+                    model.ConditionalType = ConditionalType.GreaterThan;
+                    model.FieldValue = and.Split(new string[] { ">" }, StringSplitOptions.RemoveEmptyEntries)[1];
+                }
+                else if (and.Contains('<'))
+                {
+                    model.FieldName = and.Split(new string[] { "<" }, StringSplitOptions.RemoveEmptyEntries)[0];
+                    model.ConditionalType = ConditionalType.LessThan;
+                    model.FieldValue = and.Split(new string[] { "<" }, StringSplitOptions.RemoveEmptyEntries)[1];
+                }
+                else if (and.Contains("!="))
+                {
+                    model.FieldName = and.Split(new string[] { "!=" }, StringSplitOptions.RemoveEmptyEntries)[0];
+                    model.ConditionalType = ConditionalType.NoEqual;
+                    model.FieldValue = and.Split(new string[] { "!=" }, StringSplitOptions.RemoveEmptyEntries)[1];
+                }
+                else if (and.Contains('='))
+                {
+                    model.FieldName = and.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries)[0];
+                    model.ConditionalType = ConditionalType.Equal;
+                    model.FieldValue = and.Split(new string[] { "=" }, StringSplitOptions.RemoveEmptyEntries)[1];
+                }
+                hw.Add(model);
+            }
+            //var d = db.Context.Utilities.ConditionalModelToSql(hw);
+            //tb.Having(d.Key, d.Value);
+            tb.Having(string.Join(",", havingItems));
+        }
+    }
+
+    // "@group":"column0,column1..."锛屽垎缁勬柟寮忋�傚鏋� @column閲屽0鏄庝簡Table鐨刬d锛屽垯id涔熷繀椤诲湪 @group涓0鏄庯紱鍏跺畠鎯呭喌涓嬪繀椤绘弧瓒宠嚦灏戜竴涓潯浠�:
+    // 1.鍒嗙粍鐨刱ey鍦� @column閲屽0鏄�
+    // 2.Table涓婚敭鍦� @group涓0鏄�
+    private void PrccessGroup(string subtable, JObject values, ISugarQueryable<ExpandoObject> tb)
+    {
+        if (!values["@group"].IsNullOrEmpty())
+        {
+            var groupList = new List<GroupByModel>(); // 澶氬簱鍏煎鍐欐硶
+            foreach (var col in values["@group"].ToString().Split(','))
+            {
+                if (IsCol(subtable, col))
+                {
+                    // str.Append(and + ",");
+                    groupList.Add(new GroupByModel() { FieldName = col });
+                }
+            }
+            if (groupList.Any())
+                tb.GroupBy(groupList);
+        }
+    }
+
+    // 澶勭悊鎺掑簭 "@order":"name-,id"鏌ヨ鎸� name闄嶅簭銆乮d榛樿椤哄簭 鎺掑簭鐨刄ser鏁扮粍
+    private void ProcessOrder(string subtable, JObject values, ISugarQueryable<ExpandoObject> tb)
+    {
+        if (!values["@order"].IsNullOrEmpty())
+        {
+            var orderList = new List<OrderByModel>(); // 澶氬簱鍏煎鍐欐硶
+            foreach (var item in values["@order"].ToString().Split(','))
+            {
+                string col = item.Replace("-", "").Replace("+", "").Replace(" desc", "").Replace(" asc", ""); // 澧炲姞瀵瑰師鐢熸帓搴忕殑鏀寔
+                if (IsCol(subtable, col))
+                {
+                    orderList.Add(new OrderByModel()
+                    {
+                        FieldName = col,
+                        OrderByType = item.EndsWith("-") || item.EndsWith(" desc") ? OrderByType.Desc : OrderByType.Asc
+                    });
+                }
+            }
+
+            if (orderList.Any())
+                tb.OrderBy(orderList);
+        }
+    }
+
+    /// <summary>
+    /// 琛ㄥ唴鍙傛暟"@count"(int)锛氭煡璇㈠墠鍑犺锛屼笉鑳藉悓鏃朵娇鐢╟ount鍜孈count鍑芥暟
+    /// </summary>
+    /// <param name="values"></param>
+    /// <param name="tb"></param>
+    private static void ProcessLimit(JObject values, ISugarQueryable<ExpandoObject> tb)
+    {
+        if (!values["@count"].IsNullOrEmpty())
+        {
+            int c = values["@count"].ToObject<int>();
+            tb.Take(c);
+        }
+    }
+
+    // 鏉′欢鏌ヨ "key{}":"鏉′欢0,鏉′欢1..."锛屾潯浠朵负浠绘剰SQL姣旇緝琛ㄨ揪寮忓瓧绗︿覆锛岄潪Number绫诲瀷蹇呴』鐢�''鍖呭惈鏉′欢鐨勫�硷紝濡�'a'
+    // &, |, ! 閫昏緫杩愮畻绗︼紝瀵瑰簲鏁版嵁搴� SQL 涓殑 AND, OR, NOT銆�
+    // 妯垨绾典笌锛氬悓涓�瀛楁鐨勫�煎唴鏉′欢榛樿 | 鎴栬繛鎺ワ紝涓嶅悓瀛楁鐨勬潯浠堕粯璁� & 涓庤繛鎺ャ��
+    // 鈶� & 鍙敤浜�"key&{}":"鏉′欢"绛�
+    // 鈶� | 鍙敤浜�"key|{}":"鏉′欢", "key|{}":[] 绛夛紝涓�鑸彲鐪佺暐
+    // 鈶� ! 鍙崟鐙娇鐢紝濡�"key!":Object锛屼篃鍙儚&,|涓�鏍烽厤鍚堝叾浠栧姛鑳界浣跨敤
+    private void ConditionQuery(string subtable, List<IConditionalModel> conModels, KeyValuePair<string, JToken> va)
+    {
+        var vakey = va.Key.Trim();
+        var field = vakey.TrimEnd("{}".ToCharArray());
+        var columnName = field.TrimEnd(new char[] { '&', '|' });
+        IsCol(subtable, columnName);
+        var ddt = new List<KeyValuePair<WhereType, ConditionalModel>>();
+        foreach (var and in va.Value.ToString().Split(','))
+        {
+            var model = new ConditionalModel
+            {
+                FieldName = columnName
+            };
+
+            if (and.StartsWith(">="))
+            {
+                model.ConditionalType = ConditionalType.GreaterThanOrEqual;
+                model.FieldValue = and.TrimStart(">=".ToCharArray());
+            }
+            else if (and.StartsWith("<="))
+            {
+                model.ConditionalType = ConditionalType.LessThanOrEqual;
+                model.FieldValue = and.TrimStart("<=".ToCharArray());
+            }
+            else if (and.StartsWith(">"))
+            {
+                model.ConditionalType = ConditionalType.GreaterThan;
+                model.FieldValue = and.TrimStart('>');
+            }
+            else if (and.StartsWith("<"))
+            {
+                model.ConditionalType = ConditionalType.LessThan;
+                model.FieldValue = and.TrimStart('<');
+            }
+            model.CSharpTypeName = FuncList.GetValueCSharpType(model.FieldValue);
+            ddt.Add(new KeyValuePair<WhereType, ConditionalModel>(field.EndsWith("!") ? WhereType.Or : WhereType.And, model));
+        }
+        conModels.Add(new ConditionalCollections() { ConditionalList = ddt });
+    }
+
+    /// <summary>
+    /// "key%":"start,end" => "key%":["start,end"]锛屽叾涓� start 鍜� end 閮藉彧鑳戒负 Boolean, Number, String 涓殑涓�绉嶏紝濡� "2017-01-01,2019-01-01" 锛孾"1,90000", "82001,100000"] 锛屽彲鐢ㄤ簬杩炵画鑼冨洿鍐呯殑绛涢��
+    /// 鐩墠涓嶆敮鎸佹暟缁勫舰寮�
+    /// </summary>
+    /// <param name="subtable"></param>
+    /// <param name="conModels"></param>
+    /// <param name="va"></param>
+    /// <param name="tb"></param>
+    private static void ConditionBetween(string subtable, List<IConditionalModel> conModels, KeyValuePair<string, JToken> va, ISugarQueryable<ExpandoObject> tb)
+    {
+        var vakey = va.Key.Trim();
+        var field = vakey.TrimEnd("%".ToCharArray());
+        var inValues = new List<string>();
+        if (va.Value.HasValues)
+        {
+            foreach (var cm in va.Value)
+            {
+                inValues.Add(cm.ToString());
+            }
+        }
+        else
+        {
+            inValues.Add(va.Value.ToString());
+        }
+
+        for (var i = 0; i < inValues.Count; i++)
+        {
+            var fileds = inValues[i].Split(',');
+            if (fileds.Length == 2)
+            {
+                var type = FuncList.GetValueCSharpType(fileds[0]);
+                ObjectFuncModel f = ObjectFuncModel.Create("between", field, $"{{{type}}}:{fileds[0]}", $"{{{type}}}:{fileds[1]}");
+                tb.Where(f);
+            }
+        }
+    }
+
+    /// <summary>
+    /// 绛変簬銆佷笉绛変簬銆乮n 銆乶ot in
+    /// </summary>
+    /// <param name="subtable"></param>
+    /// <param name="conModels"></param>
+    /// <param name="va"></param>
+    private void ConditionEqual(string subtable, List<IConditionalModel> conModels, KeyValuePair<string, JToken> va)
+    {
+        var key = va.Key;
+        var fieldValue = va.Value.ToString();
+        // in / not in
+        if (va.Value is JArray)
+        {
+            conModels.Add(new ConditionalModel()
+            {
+                FieldName = key.TrimEnd('!'),
+                ConditionalType = key.EndsWith("!") ? ConditionalType.NotIn : ConditionalType.In,
+                FieldValue = va.Value.ToObject<string[]>().Aggregate((a, b) => a + "," + b)
+            });
+        }
+        else
+        {
+            if (string.IsNullOrEmpty(fieldValue))
+            {
+                // is not null or ''
+                if (key.EndsWith("!"))
+                {
+                    conModels.Add(new ConditionalModel() { FieldName = key.TrimEnd('!'), ConditionalType = ConditionalType.IsNot, FieldValue = null });
+                    conModels.Add(new ConditionalModel() { FieldName = key.TrimEnd('!'), ConditionalType = ConditionalType.IsNot, FieldValue = "" });
+                }
+                //is null or ''
+                else
+                {
+                    conModels.Add(new ConditionalModel() { FieldName = key.TrimEnd('!'), FieldValue = null });
+                }
+            }
+            // = / !=
+            else
+            {
+                conModels.Add(new ConditionalModel()
+                {
+                    FieldName = key.TrimEnd('!'),
+                    ConditionalType = key.EndsWith("!") ? ConditionalType.NoEqual : ConditionalType.Equal,
+                    FieldValue = fieldValue
+                });
+            }
+        }
+    }
+
+    // 妯$硦鎼滅储  "key$":"SQL鎼滅储琛ㄨ揪寮�" => "key$":["SQL鎼滅储琛ㄨ揪寮�"]锛屼换鎰廠QL鎼滅储琛ㄨ揪寮忓瓧绗︿覆锛屽 %key%(鍖呭惈key), key%(浠ey寮�濮�), %k%e%y%(鍖呭惈瀛楁瘝k,e,y) 绛夛紝%琛ㄧず浠绘剰瀛楃
+    private void FuzzyQuery(string subtable, List<IConditionalModel> conModels, KeyValuePair<string, JToken> va)
+    {
+        var vakey = va.Key.Trim();
+        var fieldValue = va.Value.ToString();
+        var conditionalType = ConditionalType.Like;
+        if (IsCol(subtable, vakey.TrimEnd('$')))
+        {
+            // 鏀寔涓夌like鏌ヨ
+            if (fieldValue.StartsWith("%") && fieldValue.EndsWith("%"))
+            {
+                conditionalType = ConditionalType.Like;
+            }
+            else if (fieldValue.StartsWith("%"))
+            {
+                conditionalType = ConditionalType.LikeRight;
+            }
+            else if (fieldValue.EndsWith("%"))
+            {
+                conditionalType = ConditionalType.LikeLeft;
+            }
+            conModels.Add(new ConditionalModel() { FieldName = vakey.TrimEnd('$'), ConditionalType = conditionalType, FieldValue = fieldValue.TrimEnd("%".ToArray()).TrimStart("%".ToArray()) });
+        }
+    }
+
+    // 澶勭悊sql娉ㄥ叆
+    private string ReplaceSQLChar(string str)
+    {
+        if (string.IsNullOrWhiteSpace(str))
+            return string.Empty;
+
+        str = str.Replace("'", "");
+        str = str.Replace(";", "");
+        str = str.Replace(",", "");
+        str = str.Replace("?", "");
+        str = str.Replace("<", "");
+        str = str.Replace(">", "");
+        str = str.Replace("(", "");
+        str = str.Replace(")", "");
+        str = str.Replace("@", "");
+        str = str.Replace("=", "");
+        str = str.Replace("+", "");
+        str = str.Replace("*", "");
+        str = str.Replace("&", "");
+        str = str.Replace("#", "");
+        str = str.Replace("%", "");
+        str = str.Replace("$", "");
+        str = str.Replace("\"", "");
+
+        // 鍒犻櫎涓庢暟鎹簱鐩稿叧鐨勮瘝
+        str = Regex.Replace(str, "delete from", "", RegexOptions.IgnoreCase);
+        str = Regex.Replace(str, "drop table", "", RegexOptions.IgnoreCase);
+        str = Regex.Replace(str, "truncate", "", RegexOptions.IgnoreCase);
+        str = Regex.Replace(str, "xp_cmdshell", "", RegexOptions.IgnoreCase);
+        str = Regex.Replace(str, "exec master", "", RegexOptions.IgnoreCase);
+        str = Regex.Replace(str, "net localgroup administrators", "", RegexOptions.IgnoreCase);
+        str = Regex.Replace(str, "net user", "", RegexOptions.IgnoreCase);
+        str = Regex.Replace(str, "-", "", RegexOptions.IgnoreCase);
+        str = Regex.Replace(str, "truncate", "", RegexOptions.IgnoreCase);
+        return str;
+    }
+
+    /// <summary>
+    /// 鍗曟潯鎻掑叆
+    /// </summary>
+    /// <param name="tableName"></param>
+    /// <param name="cols"></param>
+    /// <param name="role"></param>
+    /// <returns>锛堝悇绉嶇被鍨嬬殑锛塱d</returns>
+    public object InsertSingle(string tableName, JObject cols, APIJSON_Role role = null)
+    {
+        role ??= _identitySvc.GetRole();
+        var dt = new Dictionary<string, object>();
+
+        foreach (var f in cols) // 閬嶅巻瀛楁
+        {
+            if (//f.Key.ToLower() != "id" &&   //鏄惁涓�瀹氳浼爄d
+                IsCol(tableName, f.Key) &&
+                (role.Insert.Column.Contains("*") || role.Insert.Column.Contains(f.Key, StringComparer.CurrentCultureIgnoreCase)))
+                dt.Add(f.Key, FuncList.TransJObjectToSugarPara(f.Value));
+        }
+        // 濡傛灉澶栭儴娌′紶Id锛屽氨鍚庣鐢熸垚鎴栦娇鐢ㄦ暟鎹簱榛樿鍊硷紝濡傛灉閮芥病鏈変細鍑洪敊
+        object id;
+        if (!dt.ContainsKey("id"))
+        {
+            id = YitIdHelper.NextId();//鑷繁鐢熸垚id鐨勬柟娉曪紝鍙互鐢卞閮ㄤ紶鍏�
+            dt.Add("id", id);
+        }
+        else
+        {
+            id = dt["id"];
+        }
+        _db.Insertable(dt).AS(tableName).ExecuteCommand();//鏍规嵁涓婚敭绫诲瀷璁剧疆杩斿洖闆姳鎴栬嚜澧�,鐩墠杩斿洖鏉℃暟
+
+        return id;
+    }
+
+    /// <summary>
+    /// 涓烘瘡澶╄褰曞垱寤簎dpate sql
+    /// </summary>
+    /// <param name="tableName"></param>
+    /// <param name="record"></param>
+    /// <param name="role"></param>
+    /// <returns></returns>
+    public int UpdateSingleRecord(string tableName, JObject record, APIJSON_Role role = null)
+    {
+        role ??= _identitySvc.GetRole();
+        if (!record.ContainsKey("id"))
+            throw Oops.Bah("鏈紶涓婚敭id");
+
+        var dt = new Dictionary<string, object>();
+        var sb = new StringBuilder(100);
+        object id = null;
+        foreach (var f in record)//閬嶅巻姣忎釜瀛楁
+        {
+            if (f.Key.Equals("id", StringComparison.OrdinalIgnoreCase))
+            {
+                if (f.Value is JArray)
+                {
+                    sb.Append($"{f.Key} in (@{f.Key})");
+                    id = FuncList.TransJArrayToSugarPara(f.Value);
+                }
+                else
+                {
+                    sb.Append($"{f.Key}=@{f.Key}");
+                    id = FuncList.TransJObjectToSugarPara(f.Value);
+                }
+            }
+            else if (IsCol(tableName, f.Key) && (role.Update.Column.Contains("*") || role.Update.Column.Contains(f.Key, StringComparer.CurrentCultureIgnoreCase)))
+            {
+                dt.Add(f.Key, FuncList.TransJObjectToSugarPara(f.Value));
+            }
+        }
+        string whereSql = sb.ToString();
+        int count = _db.Updateable(dt).AS(tableName).Where(whereSql, new { id }).ExecuteCommand();
+        return count;
+    }
+
+    /// <summary>
+    /// 鏇存柊鍗曡〃锛屾敮鎸佸悓琛ㄥ鏉¤褰�
+    /// </summary>
+    /// <param name="tableName"></param>
+    /// <param name="records"></param>
+    /// <param name="role"></param>
+    /// <returns></returns>
+    public int UpdateSingleTable(string tableName, JToken records, APIJSON_Role role = null)
+    {
+        role ??= _identitySvc.GetRole();
+        int count = 0;
+        if (records is JArray)
+        {
+            foreach (var record in records.ToObject<JObject[]>())
+            {
+                count += UpdateSingleRecord(tableName, record, role);
+            }
+        }
+        else
+        {
+            count = UpdateSingleRecord(tableName, records.ToObject<JObject>(), role);
+        }
+        return count;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/TableMapper.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/TableMapper.cs
new file mode 100644
index 0000000..1cbb5ff
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/TableMapper.cs
@@ -0,0 +1,33 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 琛ㄥ悕鏄犲皠
+/// </summary>
+public class TableMapper : ITransient
+{
+    private readonly Dictionary<string, string> _options = new(StringComparer.OrdinalIgnoreCase);
+
+    public TableMapper(IOptions<Dictionary<string, string>> options)
+    {
+        foreach (var item in options.Value)
+        {
+            _options.Add(item.Key, item.Value);
+        }
+    }
+
+    /// <summary>
+    /// 鑾峰彇琛ㄥ埆鍚�
+    /// </summary>
+    /// <param name="oldname"></param>
+    /// <returns></returns>
+    public string GetTableName(string oldname)
+    {
+        return _options.ContainsKey(oldname) ? _options[oldname] : oldname;
+    }
+}
\ No newline at end of file
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/\347\224\250\344\276\213APIFOX.json" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/\347\224\250\344\276\213APIFOX.json"
new file mode 100644
index 0000000..843cf7d
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/APIJSON/\347\224\250\344\276\213APIFOX.json"
@@ -0,0 +1 @@
+{"apifoxProject":"1.0.0","$schema":{"app":"apifox","type":"project","version":"1.2.0"},"info":{"name":"Admin.Net","description":"","mockRule":{"rules":[],"enableSystemRule":true}},"apiCollection":[{"name":"鏍圭洰褰�","id":29711526,"auth":{},"parentId":0,"serverId":"","description":"","identityPattern":{"httpApi":{"type":"methodAndPath","bodyType":""}},"preProcessors":[{"id":"inheritProcessors","type":"inheritProcessors","data":{}}],"postProcessors":[{"id":"inheritProcessors","type":"inheritProcessors","data":{}}],"inheritPostProcessors":{},"inheritPreProcessors":{},"items":[{"name":"aPIJSON","id":29711668,"auth":{},"parentId":0,"serverId":"","description":"璇存槑鏂囨。锛歨ttps://github.com/Tencent/APIJSON/blob/master/Document.md#3.1","identityPattern":{"httpApi":{"type":"inherit","bodyType":""}},"preProcessors":[{"id":"inheritProcessors","type":"inheritProcessors","data":{}}],"postProcessors":[{"id":"inheritProcessors","type":"inheritProcessors","data":{}}],"inheritPostProcessors":{},"inheritPreProcessors":{},"items":[{"name":"缁熶竴鏌ヨ鍏ュ彛","api":{"id":"151219333","method":"post","path":"/api/aPIJSON/get","parameters":{"query":[],"path":[],"cookie":[],"header":[]},"auth":{},"commonParameters":{"query":[],"body":[],"cookie":[],"header":[]},"responses":[{"id":"405647728","name":"鎴愬姛","code":200,"contentType":"json","jsonSchema":{"type":"object","properties":{"code":{"type":"integer"},"type":{"type":"string"},"message":{"type":"string"},"result":{"type":"object","properties":{"[]":{"type":"array","items":{"type":"object","properties":{},"x-apifox-orders":[]}},"page":{"type":"integer","description":"褰撳墠椤电爜"},"count":{"type":"integer","description":"姣忛〉鏉℃暟"},"max":{"type":"integer","description":"鏈�澶ч〉鏁�"},"total":{"type":"integer","description":"鎬绘潯鏁�"}},"x-apifox-orders":["[]","page","count","max","total"]},"extras":{"type":"null"},"time":{"type":"string"}},"required":["code","type","message","result","extras","time"],"x-apifox-orders":["code","type","message","result","extras","time"]}}],"responseExamples":[],"requestBody":{"type":"application/json","parameters":[],"jsonSchema":{"type":"object","additionalProperties":{"$ref":"#/definitions/84275307"},"x-apifox-orders":[],"properties":{}},"example":"{\r\n    \"table1\": {\r\n        \"@column\": \"id\",\r\n       \"httpmethod\": \"Get\",\r\n    }\r\n}"},"description":"鍙傛暟锛歿\"[]\":{\"SYS_LOG_OP\":{}}}","tags":["aPIJSON"],"status":"released","serverId":"","operationId":"api-aPIJSON-Post","sourceUrl":"","ordering":0,"cases":[{"id":143284761,"type":"http","path":null,"name":"鍗曟潯鏌ヨ","responseId":405647728,"parameters":{"query":[],"path":[],"cookie":[],"header":[]},"commonParameters":{"query":[],"body":[],"header":[],"cookie":[]},"requestBody":{"parameters":[],"data":"{\r\n    \"table1\": {\r\n        \"@column\": \"id,createtime,Actionname,loglevel,httpmethod,RequestParam\",//鏄剧ず鍒梊r\n        //\"Actionname\":\"SwaggerCheckUrl\",\r\n        //\"loglevel\":2,\r\n        //\"httpmethod!\":[\"POST\",\"GET\"],//!  not in\r\n        \"createtime{}\": \">=2024-3-1\", //閫昏緫杩愮畻\r\n        //\"isdelete\":0,           //bool 鏀寔 1銆�0銆乼rue銆乫alse \r\n        \"RequestParam!\": null    //not null\r\n    }\r\n}","generateMode":"normal"},"auth":{},"advancedSettings":{"disabledSystemHeaders":{},"isDefaultUrlEncoding":2,"disableUrlEncoding":false},"requestResult":"{\"id\":\"temp.decba6c4-b3e2-40af-a30e-8c8d09865bf1\",\"cursor\":{\"position\":0,\"iteration\":0,\"length\":1,\"cycles\":1,\"empty\":false,\"eof\":false,\"bof\":true,\"cr\":false,\"ref\":\"decba6c4-b3e2-40af-a30e-8c8d09865bf1\",\"requestIndex\":0,\"httpRequestId\":\"7e107ae6-74d4-44c8-8582-e9bfefb5e611\"},\"type\":\"http\",\"response\":{\"id\":\"7b5fc148-4f73-4e56-b054-26bebe9db57a\",\"status\":\"OK\",\"code\":200,\"header\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Wed, 13 Mar 2024 08:19:05 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.45\"},{\"key\":\"Admin.NET\",\"value\":\"Admin.NET\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86375\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-14T07:18:51.6721222Z\"}],\"trailer\":[],\"stream\":{\"type\":\"Buffer\",\"data\":[123,34,99,111,100,101,34,58,50,48,48,44,34,116,121,112,101,34,58,34,115,117,99,99,101,115,115,34,44,34,109,101,115,115,97,103,101,34,58,34,34,44,34,114,101,115,117,108,116,34,58,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,52,54,57,54,51,53,53,48,48,50,49,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,48,58,51,51,58,50,51,46,51,56,55,53,57,48,51,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,76,111,103,76,101,118,101,108,34,58,50,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,91,93,92,34,58,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,125,44,92,34,112,97,103,101,92,34,58,51,44,92,34,99,111,117,110,116,92,34,58,50,44,92,34,113,117,101,114,121,92,34,58,51,125,44,92,34,116,111,116,97,108,64,92,34,58,92,34,47,91,93,47,116,111,116,97,108,92,34,125,34,125,125,44,34,101,120,116,114,97,115,34,58,110,117,108,108,44,34,116,105,109,101,34,58,34,50,48,50,52,45,48,51,45,49,51,32,49,54,58,49,57,58,48,54,34,125]},\"cookie\":[],\"responseTime\":99,\"responseSize\":328,\"type\":\"http\",\"tempFilePath\":\"\",\"timingPhases\":{\"prepare\":2.698800027370453,\"wait\":0.3564000129699707,\"dns\":0,\"tcp\":0,\"firstByte\":96.46359997987747,\"download\":1.736199975013733,\"process\":0.03470003604888916,\"total\":101.28970003128052}},\"request\":{\"url\":{\"protocol\":\"http\",\"port\":\"5005\",\"path\":[\"api\",\"aPIJSON\",\"get\"],\"host\":[\"localhost\"],\"query\":[],\"variable\":[]},\"header\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"system\":true},{\"key\":\"Accept\",\"value\":\"*/*\",\"system\":true},{\"key\":\"Host\",\"value\":\"localhost:5005\",\"system\":true},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\",\"system\":true},{\"key\":\"Connection\",\"value\":\"keep-alive\",\"system\":true},{\"key\":\"Content-Length\",\"value\":157,\"system\":true}],\"method\":\"POST\",\"baseUrl\":\"http://localhost:5005\",\"body\":{\"mode\":\"raw\",\"raw\":\"{\\n  \\\"table1\\\": {\\n    \\\"@column\\\": \\\"id,createtime,Actionname,loglevel,httpmethod,RequestParam\\\",\\n    \\\"createtime{}\\\": \\\">=2024-3-1\\\",\\n    \\\"RequestParam!\\\": null\\n  }\\n}\",\"generateMode\":\"normal\",\"type\":\"application/json\"},\"auth\":{\"type\":\"bearer\",\"bearer\":[{\"type\":\"any\",\"value\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"key\":\"token\"}]},\"type\":\"http\"},\"history\":{\"execution\":{\"verbose\":false,\"sessions\":{},\"data\":[{\"request\":{\"method\":\"POST\",\"href\":\"http://localhost:5005/api/aPIJSON/get\",\"headers\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\"},{\"key\":\"Accept\",\"value\":\"*/*\"},{\"key\":\"Host\",\"value\":\"localhost:5005\"},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\"},{\"key\":\"Connection\",\"value\":\"keep-alive\"},{\"key\":\"Content-Length\",\"value\":\"157\"}],\"httpVersion\":\"1.1\"},\"response\":{\"statusCode\":200,\"headers\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Wed, 13 Mar 2024 08:19:05 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.45\"},{\"key\":\"Admin.NET\",\"value\":\"Admin.NET\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86375\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-14T07:18:51.6721222Z\"}],\"httpVersion\":\"1.1\"},\"timings\":{\"start\":1710317946491,\"requestStart\":1710317946493,\"offset\":{\"request\":2.698800027370453,\"socket\":3.0552000403404236,\"response\":99.5188000202179,\"end\":101.25499999523163,\"lookup\":3.0552000403404236,\"connect\":3.0552000403404236,\"done\":101.28970003128052}}}]}},\"responseValidation\":{\"schema\":{\"valid\":true,\"message\":\"\",\"errors\":null},\"responseCode\":{\"valid\":true}},\"passed\":true,\"metaInfo\":{\"httpApiId\":151219333,\"httpApiCaseId\":143284761,\"httpApiName\":\"缁熶竴鍏ュ彛\",\"httpApiPath\":\"/api/aPIJSON/get\",\"httpApiMethod\":\"post\",\"httpApiCaseName\":\"鍗曟潯鏌ヨ\"}}","preProcessors":[],"postProcessors":[],"inheritPostProcessors":{},"inheritPreProcessors":{}},{"id":143272865,"type":"http","path":null,"name":"鍒楄〃鏌ヨ","responseId":0,"parameters":{"query":[],"path":[],"cookie":[],"header":[]},"commonParameters":{"query":[],"body":[],"header":[],"cookie":[]},"requestBody":{"parameters":[],"data":"{\r\n    \"[]\": {\r\n        \"table1\": {\r\n            \"@column\": \"id,createtime,httpmethod,RequestUrl,actionname,RequestParam,Elapsed\",//闇�瑕佹樉绀虹殑鍒楀悕\r\n            //\"httpmethod\": \"POST\",//鏉′欢鏌ヨ\r\n            //\"RequestUrl$\": \"%swagger%\", //$妯$硦鏌ヨ\r\n            //\"@order\": \"RequestParam desc,createtime,actionname desc\", //鎸夋渶鏂版椂闂存帓搴�:-/desc 鍧囦负鍊掑簭       \r\n            //\"@count\": \"10\", //鍓峮鏉�  寰堝皯鐢ㄥ埌 \r\n            //\"RequestParam\":null,//鍖归厤null or '',\r\n            \"createtime%\":\"2024-3-5,2024-3-14\",// between 鏃ユ湡杩囨护\r\n            \"Elapsed%\":\"1,20\"\r\n    }\r\n}","generateMode":"normal"},"auth":{},"advancedSettings":{"disabledSystemHeaders":{},"isDefaultUrlEncoding":2,"disableUrlEncoding":false},"requestResult":"{\"id\":\"temp.1c48ba22-4372-4ab1-a874-a79449144e5d\",\"cursor\":{\"position\":0,\"iteration\":0,\"length\":1,\"cycles\":1,\"empty\":false,\"eof\":false,\"bof\":true,\"cr\":false,\"ref\":\"1c48ba22-4372-4ab1-a874-a79449144e5d\",\"requestIndex\":0,\"httpRequestId\":\"70f19533-b333-460b-beeb-2e5ecbc5298c\"},\"type\":\"http\",\"response\":{\"id\":\"0f169b35-6729-4512-956d-2081d9fdb91d\",\"status\":\"OK\",\"code\":200,\"header\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Thu, 14 Mar 2024 02:00:47 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.45\"},{\"key\":\"Admin.NET\",\"value\":\"Admin.NET\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86398\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-15T02:00:05.6689995Z\"}],\"trailer\":[],\"stream\":{\"type\":\"Buffer\",\"data\":[123,34,99,111,100,101,34,58,50,48,48,44,34,116,121,112,101,34,58,34,115,117,99,99,101,115,115,34,44,34,109,101,115,115,97,103,101,34,58,34,34,44,34,114,101,115,117,108,116,34,58,123,34,91,93,34,58,91,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,51,48,49,56,48,54,55,57,50,51,55,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,53,32,49,54,58,50,48,58,52,53,46,50,57,56,49,57,49,57,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,115,119,97,103,103,101,114,47,99,104,101,99,107,85,114,108,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,83,119,97,103,103,101,114,67,104,101,99,107,85,114,108,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,110,117,108,108,44,34,69,108,97,112,115,101,100,34,58,49,56,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,52,54,50,54,50,54,48,51,48,55,55,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,48,57,58,52,55,58,52,53,46,51,49,51,48,53,50,53,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,115,119,97,103,103,101,114,47,99,104,101,99,107,85,114,108,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,83,119,97,103,103,101,114,67,104,101,99,107,85,114,108,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,110,117,108,108,44,34,69,108,97,112,115,101,100,34,58,49,55,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,52,54,51,50,57,56,51,50,55,55,51,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,48,57,58,53,50,58,48,55,46,57,50,57,50,54,52,57,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,115,119,97,103,103,101,114,47,99,104,101,99,107,85,114,108,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,83,119,97,103,103,101,114,67,104,101,99,107,85,114,108,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,110,117,108,108,44,34,69,108,97,112,115,101,100,34,58,49,53,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,52,54,51,54,51,52,53,55,56,54,49,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,48,57,58,53,52,58,49,57,46,50,55,55,52,54,53,55,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,115,119,97,103,103,101,114,47,99,104,101,99,107,85,114,108,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,83,119,97,103,103,101,114,67,104,101,99,107,85,114,108,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,110,117,108,108,44,34,69,108,97,112,115,101,100,34,58,49,57,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,52,54,51,56,54,55,57,55,56,57,51,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,48,57,58,53,53,58,53,48,46,52,52,57,55,52,57,54,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,115,119,97,103,103,101,114,47,99,104,101,99,107,85,114,108,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,83,119,97,103,103,101,114,67,104,101,99,107,85,114,108,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,110,117,108,108,44,34,69,108,97,112,115,101,100,34,58,49,53,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,52,54,57,50,57,50,49,52,50,55,55,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,48,58,51,49,58,48,57,46,50,54,51,55,53,49,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,115,119,97,103,103,101,114,47,99,104,101,99,107,85,114,108,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,83,119,97,103,103,101,114,67,104,101,99,107,85,114,108,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,110,117,108,108,44,34,69,108,97,112,115,101,100,34,58,49,54,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,52,55,48,50,52,48,55,57,57,52,49,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,48,58,51,55,58,49,57,46,56,51,50,49,53,50,56,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,91,93,92,34,58,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,125,44,92,34,112,97,103,101,92,34,58,49,44,92,34,99,111,117,110,116,92,34,58,50,44,92,34,113,117,101,114,121,92,34,58,51,125,44,92,34,116,111,116,97,108,64,92,34,58,92,34,47,91,93,47,116,111,116,97,108,92,34,125,34,44,34,69,108,97,112,115,101,100,34,58,49,55,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,52,55,49,56,56,53,57,57,49,48,57,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,48,58,52,56,58,48,50,46,52,56,53,55,57,50,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,83,89,83,76,79,71,79,80,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,66,121,84,97,98,108,101,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,92,34,83,89,83,76,79,71,79,80,92,34,34,44,34,69,108,97,112,115,101,100,34,58,49,57,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,52,55,53,52,57,57,55,57,52,54,49,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,49,58,49,49,58,51,52,46,49,50,55,53,49,56,55,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,91,93,92,34,58,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,125,44,92,34,112,97,103,101,92,34,58,49,44,92,34,99,111,117,110,116,92,34,58,50,44,92,34,113,117,101,114,121,92,34,58,49,125,44,92,34,116,111,116,97,108,64,92,34,58,92,34,47,91,93,47,116,111,116,97,108,92,34,125,34,44,34,69,108,97,112,115,101,100,34,58,49,56,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,52,55,53,53,52,49,49,53,57,48,57,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,49,58,49,49,58,53,48,46,50,56,53,52,56,54,52,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,91,93,92,34,58,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,125,44,92,34,112,97,103,101,92,34,58,49,44,92,34,99,111,117,110,116,92,34,58,50,44,92,34,113,117,101,114,121,92,34,58,48,125,44,92,34,116,111,116,97,108,64,92,34,58,92,34,47,91,93,47,116,111,116,97,108,92,34,125,34,44,34,69,108,97,112,115,101,100,34,58,49,51,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,52,55,53,53,55,51,56,52,48,48,53,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,49,58,49,50,58,48,51,46,48,53,49,50,55,54,54,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,91,93,92,34,58,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,125,44,92,34,112,97,103,101,92,34,58,49,44,92,34,99,111,117,110,116,92,34,58,50,125,44,92,34,116,111,116,97,108,64,92,34,58,92,34,47,91,93,47,116,111,116,97,108,92,34,125,34,44,34,69,108,97,112,115,101,100,34,58,49,54,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,52,55,53,54,54,57,51,57,57,55,51,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,49,58,49,50,58,52,48,46,51,55,57,52,48,56,55,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,91,93,92,34,58,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,125,44,92,34,112,97,103,101,92,34,58,49,44,92,34,99,111,117,110,116,92,34,58,50,125,125,34,44,34,69,108,97,112,115,101,100,34,58,49,52,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,52,56,49,56,50,52,56,53,51,49,55,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,49,58,53,50,58,52,52,46,56,53,51,53,57,52,54,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,115,119,97,103,103,101,114,47,99,104,101,99,107,85,114,108,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,83,119,97,103,103,101,114,67,104,101,99,107,85,114,108,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,110,117,108,108,44,34,69,108,97,112,115,101,100,34,58,49,57,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,48,50,57,49,51,50,52,55,52,49,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,52,58,49,48,58,48,50,46,53,48,55,49,56,48,52,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,115,119,97,103,103,101,114,47,99,104,101,99,107,85,114,108,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,83,119,97,103,103,101,114,67,104,101,99,107,85,114,108,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,110,117,108,108,44,34,69,108,97,112,115,101,100,34,58,49,56,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,48,52,50,50,50,57,55,49,53,55,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,52,58,49,56,58,51,52,46,49,49,56,52,57,56,53,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,125,44,92,34,116,111,116,97,108,64,92,34,58,92,34,47,91,93,47,116,111,116,97,108,92,34,125,34,44,34,69,108,97,112,115,101,100,34,58,49,54,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,48,52,51,48,57,53,54,56,54,57,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,52,58,49,57,58,48,55,46,57,52,53,57,49,56,55,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,125,44,92,34,116,111,116,97,108,64,92,34,58,92,34,47,91,93,47,116,111,116,97,108,92,34,125,34,44,34,69,108,97,112,115,101,100,34,58,49,54,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,48,52,52,56,49,56,55,55,49,55,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,52,58,50,48,58,49,53,46,50,53,51,55,52,49,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,92,34,113,117,101,114,121,92,34,58,92,34,50,92,34,125,44,92,34,116,111,116,97,108,64,92,34,58,92,34,47,91,93,47,116,111,116,97,108,92,34,125,34,44,34,69,108,97,112,115,101,100,34,58,49,55,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,49,48,52,49,52,53,53,52,50,57,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,52,58,53,56,58,53,50,46,55,48,53,55,50,56,53,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,92,34,64,99,111,108,117,109,110,92,34,58,92,34,105,100,92,34,125,125,34,44,34,69,108,97,112,115,101,100,34,58,49,57,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,49,50,52,52,54,54,50,53,57,55,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,53,58,49,50,58,48,54,46,52,56,51,53,49,52,53,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,92,34,64,99,111,108,117,109,110,92,34,58,92,34,105,100,92,34,44,92,34,64,111,114,100,101,114,92,34,58,92,34,105,100,45,92,34,125,125,34,44,34,69,108,97,112,115,101,100,34,58,50,48,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,49,50,52,54,51,53,51,50,50,49,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,53,58,49,50,58,49,51,46,48,56,54,57,57,50,54,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,92,34,64,99,111,108,117,109,110,92,34,58,92,34,105,100,92,34,44,92,34,64,111,114,100,101,114,92,34,58,92,34,105,100,43,92,34,125,125,34,44,34,69,108,97,112,115,101,100,34,58,49,57,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,49,50,52,55,55,57,53,50,54,57,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,53,58,49,50,58,49,56,46,55,50,48,51,52,54,57,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,92,34,64,99,111,108,117,109,110,92,34,58,92,34,105,100,92,34,44,92,34,64,111,114,100,101,114,92,34,58,92,34,105,100,92,34,125,125,34,44,34,69,108,97,112,115,101,100,34,58,49,57,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,49,50,53,50,55,51,52,50,55,55,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,53,58,49,50,58,51,56,46,48,49,51,48,56,48,56,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,92,34,64,99,111,108,117,109,110,92,34,58,92,34,105,100,44,99,114,101,97,116,101,116,105,109,101,92,34,44,92,34,64,111,114,100,101,114,92,34,58,92,34,99,114,101,97,116,101,116,105,109,101,92,34,125,125,34,44,34,69,108,97,112,115,101,100,34,58,49,53,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,49,50,53,53,49,56,53,50,50,49,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,53,58,49,50,58,52,55,46,53,56,55,53,49,52,53,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,92,34,64,99,111,108,117,109,110,92,34,58,92,34,105,100,44,99,114,101,97,116,101,116,105,109,101,92,34,44,92,34,64,111,114,100,101,114,92,34,58,92,34,99,114,101,97,116,101,116,105,109,101,45,92,34,125,125,34,44,34,69,108,97,112,115,101,100,34,58,49,53,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,49,51,57,57,55,52,57,55,48,49,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,53,58,50,50,58,49,50,46,50,57,50,57,51,57,49,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,91,93,92,34,58,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,92,34,64,99,111,108,117,109,110,92,34,58,92,34,105,100,44,99,114,101,97,116,101,116,105,109,101,92,34,44,92,34,64,111,114,100,101,114,92,34,58,92,34,99,114,101,97,116,101,116,105,109,101,45,92,34,125,125,125,34,44,34,69,108,97,112,115,101,100,34,58,49,56,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,49,52,55,48,54,51,51,48,50,57,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,53,58,50,54,58,52,57,46,49,56,48,51,57,54,54,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,91,93,92,34,58,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,92,34,64,99,111,108,117,109,110,92,34,58,92,34,105,100,44,99,114,101,97,116,101,116,105,109,101,92,34,44,92,34,64,111,114,100,101,114,92,34,58,92,34,99,114,101,97,116,101,116,105,109,101,45,92,34,125,44,92,34,112,97,103,101,92,34,58,49,44,92,34,99,111,117,110,116,92,34,58,53,48,44,92,34,113,117,101,114,121,92,34,58,50,125,44,92,34,116,111,116,97,108,64,92,34,58,92,34,92,34,125,34,44,34,69,108,97,112,115,101,100,34,58,49,57,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,49,53,49,52,50,48,56,48,54,57,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,53,58,50,57,58,51,57,46,51,57,53,52,54,52,56,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,115,119,97,103,103,101,114,47,99,104,101,99,107,85,114,108,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,83,119,97,103,103,101,114,67,104,101,99,107,85,114,108,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,110,117,108,108,44,34,69,108,97,112,115,101,100,34,58,49,54,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,49,53,49,57,52,57,53,50,51,55,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,53,58,51,48,58,48,48,46,48,52,56,49,51,52,52,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,91,93,92,34,58,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,92,34,64,99,111,108,117,109,110,92,34,58,92,34,105,100,44,99,114,101,97,116,101,116,105,109,101,92,34,44,92,34,64,111,114,100,101,114,92,34,58,92,34,99,114,101,97,116,101,116,105,109,101,45,92,34,125,44,92,34,112,97,103,101,92,34,58,49,44,92,34,99,111,117,110,116,92,34,58,53,48,44,92,34,113,117,101,114,121,92,34,58,50,125,44,92,34,116,111,116,97,108,92,34,58,92,34,92,34,125,34,44,34,69,108,97,112,115,101,100,34,58,49,57,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,49,54,48,57,52,49,56,48,53,51,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,53,58,51,53,58,53,49,46,51,48,57,56,56,51,55,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,115,119,97,103,103,101,114,47,99,104,101,99,107,85,114,108,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,83,119,97,103,103,101,114,67,104,101,99,107,85,114,108,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,110,117,108,108,44,34,69,108,97,112,115,101,100,34,58,50,48,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,49,54,52,48,51,49,54,52,56,53,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,53,58,51,55,58,53,50,46,48,48,54,56,55,49,52,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,92,34,64,99,111,108,117,109,110,92,34,58,92,34,105,100,44,99,114,101,97,116,101,116,105,109,101,92,34,44,92,34,105,100,92,34,58,92,34,51,50,54,53,49,54,48,57,52,49,56,48,53,51,92,34,125,125,34,44,34,69,108,97,112,115,101,100,34,58,49,56,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,50,50,48,49,50,52,57,54,48,53,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,54,58,49,52,58,50,51,46,49,53,49,54,53,53,50,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,115,119,97,103,103,101,114,47,99,104,101,99,107,85,114,108,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,83,119,97,103,103,101,114,67,104,101,99,107,85,114,108,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,110,117,108,108,44,34,69,108,97,112,115,101,100,34,58,49,53,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,50,50,50,52,48,55,48,57,56,49,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,54,58,49,53,58,53,50,46,50,57,55,55,48,50,52,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,92,34,64,99,111,108,117,109,110,92,34,58,92,34,99,111,117,110,116,40,105,100,41,58,115,92,34,125,125,34,44,34,69,108,97,112,115,101,100,34,58,49,57,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,50,50,50,54,54,55,48,54,54,49,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,54,58,49,54,58,48,50,46,52,53,50,52,56,51,56,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,92,34,64,99,111,108,117,109,110,92,34,58,92,34,99,111,117,110,116,40,49,41,58,115,92,34,125,125,34,44,34,69,108,97,112,115,101,100,34,58,49,53,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,50,50,51,48,53,51,57,51,51,51,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,54,58,49,54,58,49,55,46,53,54,52,54,54,55,51,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,92,34,64,99,111,108,117,109,110,92,34,58,92,34,99,111,117,110,116,40,49,41,58,99,111,117,110,116,92,34,125,125,34,44,34,69,108,97,112,115,101,100,34,58,49,57,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,50,50,51,53,48,48,48,51,56,57,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,54,58,49,54,58,51,52,46,57,57,48,54,50,51,50,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,92,34,64,99,111,108,117,109,110,92,34,58,92,34,99,111,117,110,116,40,49,41,58,230,149,176,233,135,143,92,34,125,125,34,44,34,69,108,97,112,115,101,100,34,58,49,55,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,50,50,51,57,48,54,52,51,56,57,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,54,58,49,54,58,53,48,46,56,54,53,56,49,49,57,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,97,112,105,47,97,80,73,74,83,79,78,47,103,101,116,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,92,34,64,99,111,108,117,109,110,92,34,58,92,34,99,111,117,110,116,40,49,41,58,230,157,161,230,149,176,92,34,125,125,34,44,34,69,108,97,112,115,101,100,34,58,49,56,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,50,57,57,51,49,57,51,55,57,55,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,55,58,48,53,58,53,54,46,54,56,51,50,51,48,57,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,115,119,97,103,103,101,114,47,99,104,101,99,107,85,114,108,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,83,119,97,103,103,101,114,67,104,101,99,107,85,114,108,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,110,117,108,108,44,34,69,108,97,112,115,101,100,34,58,49,53,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,51,50,54,54,50,50,48,51,53,55,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,55,58,50,51,58,52,51,46,49,57,51,54,55,53,52,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,85,84,34,44,34,82,101,113,117,101,115,116,85,114,108,34,58,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,58,53,48,48,53,47,115,119,97,103,103,101,114,47,99,104,101,99,107,85,114,108,34,44,34,65,99,116,105,111,110,78,97,109,101,34,58,34,83,119,97,103,103,101,114,67,104,101,99,107,85,114,108,34,44,34,82,101,113,117,101,115,116,80,97,114,97,109,34,58,34,123,92,34,83,89,83,76,79,71,79,80,92,34,58,123,92,34,64,99,111,108,117,109,110,92,34,58,92,34,105,100,44,99,114,101,97,116,101,116,105,109,101,92,34,44,92,34,105,100,92,34,58,92,34,51,50,54,53,49,54,48,57,52,49,56,48,53,51,92,34,125,125,34,44,34,69,108,97,112,115,101,100,34,58,49,54,125,125,93,44,34,116,111,116,97,108,34,58,51,55,125,44,34,101,120,116,114,97,115,34,58,110,117,108,108,44,34,116,105,109,101,34,58,34,50,48,50,52,45,48,51,45,49,52,32,49,48,58,48,48,58,52,55,34,125]},\"cookie\":[],\"responseTime\":137,\"responseSize\":9324,\"type\":\"http\",\"tempFilePath\":\"\",\"timingPhases\":{\"prepare\":1.5074999928474426,\"wait\":0.32520002126693726,\"dns\":0,\"tcp\":0,\"firstByte\":135.28540003299713,\"download\":1.2343999743461609,\"process\":0.05519998073577881,\"total\":138.40770000219345}},\"request\":{\"url\":{\"protocol\":\"http\",\"port\":\"5005\",\"path\":[\"api\",\"aPIJSON\",\"get\"],\"host\":[\"localhost\"],\"query\":[],\"variable\":[]},\"header\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"system\":true},{\"key\":\"Accept\",\"value\":\"*/*\",\"system\":true},{\"key\":\"Host\",\"value\":\"localhost:5005\",\"system\":true},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\",\"system\":true},{\"key\":\"Connection\",\"value\":\"keep-alive\",\"system\":true},{\"key\":\"Content-Length\",\"value\":195,\"system\":true}],\"method\":\"POST\",\"baseUrl\":\"http://localhost:5005\",\"body\":{\"mode\":\"raw\",\"raw\":\"{\\n  \\\"[]\\\": {\\n    \\\"table1\\\": {\\n      \\\"@column\\\": \\\"id,createtime,httpmethod,RequestUrl,actionname,RequestParam,Elapsed\\\",\\n      \\\"createtime%\\\": \\\"2024-3-5,2024-3-14\\\",\\n      \\\"Elapsed%\\\": \\\"1,20\\\"\\n    }\\n  }\\n}\",\"generateMode\":\"normal\",\"type\":\"application/json\"},\"auth\":{\"type\":\"bearer\",\"bearer\":[{\"type\":\"any\",\"value\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"key\":\"token\"}]},\"type\":\"http\"},\"history\":{\"execution\":{\"verbose\":false,\"sessions\":{},\"data\":[{\"request\":{\"method\":\"POST\",\"href\":\"http://localhost:5005/api/aPIJSON/get\",\"headers\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\"},{\"key\":\"Accept\",\"value\":\"*/*\"},{\"key\":\"Host\",\"value\":\"localhost:5005\"},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\"},{\"key\":\"Connection\",\"value\":\"keep-alive\"},{\"key\":\"Content-Length\",\"value\":\"195\"}],\"httpVersion\":\"1.1\"},\"response\":{\"statusCode\":200,\"headers\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Thu, 14 Mar 2024 02:00:47 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.45\"},{\"key\":\"Admin.NET\",\"value\":\"Admin.NET\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86398\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-15T02:00:05.6689995Z\"}],\"httpVersion\":\"1.1\"},\"timings\":{\"start\":1710381647691,\"requestStart\":1710381647692,\"offset\":{\"request\":1.5074999928474426,\"socket\":1.8327000141143799,\"response\":137.1181000471115,\"end\":138.35250002145767,\"lookup\":1.8327000141143799,\"connect\":1.8327000141143799,\"done\":138.40770000219345}}}]}},\"responseValidation\":{},\"passed\":true,\"metaInfo\":{\"httpApiId\":151219333,\"httpApiCaseId\":143272865,\"httpApiName\":\"缁熶竴鍏ュ彛\",\"httpApiPath\":\"/api/aPIJSON/get\",\"httpApiMethod\":\"post\",\"httpApiCaseName\":\"鍒楄〃鏌ヨ\"}}","preProcessors":[],"postProcessors":[],"inheritPostProcessors":{},"inheritPreProcessors":{}},{"id":143191882,"type":"http","path":null,"name":"鍒嗛〉鏌ヨ","responseId":405647728,"parameters":{"query":[],"path":[],"cookie":[],"header":[]},"commonParameters":{"query":[],"body":[],"header":[],"cookie":[]},"requestBody":{"parameters":[],"data":"{\r\n    \"[]\": {//鍒楄〃\r\n        \"SYSLOGOP\": {//琛ㄥ悕\r\n            \"@column\": \"id,createtime\",//鍙煡璇袱鍒梊r\n            \"@order\":\"createtime-\"     //-鍊掑簭鎺掑簭\r\n        },\r\n        \"page\": 1, //鍒嗛〉鏌ヨ锛氱1椤礬r\n        \"count\": 3, //姣忛〉3鏉r\n        //\"query\": 1 //鏌ヨ鍐呭:   0-瀵硅薄锛�1-鎬绘暟锛�2-鏁版嵁銆佹�绘暟锛岄粯璁や负2\r\n    },\r\n    //\"total\": \"\", //鎬绘暟   榛樿杩斿洖鎬绘暟锛屼笉鐢ㄤ紶\r\n    \r\n}","generateMode":"normal"},"auth":{},"advancedSettings":{"disabledSystemHeaders":{},"isDefaultUrlEncoding":2,"disableUrlEncoding":false},"requestResult":"{\"id\":\"temp.bcfe838e-0335-42f2-ae40-05fb07285447\",\"cursor\":{\"position\":0,\"iteration\":0,\"length\":1,\"cycles\":1,\"empty\":false,\"eof\":false,\"bof\":true,\"cr\":false,\"ref\":\"bcfe838e-0335-42f2-ae40-05fb07285447\",\"requestIndex\":0,\"httpRequestId\":\"74d59ab7-76bd-4c77-9bcf-714ff5eb470e\"},\"type\":\"http\",\"response\":{\"id\":\"673bc01a-a4df-4514-b2e9-b13172c5eca8\",\"status\":\"OK\",\"code\":200,\"header\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Tue, 12 Mar 2024 08:29:32 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.45\"},{\"key\":\"Admin.NET\",\"value\":\"Admin.NET\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86398\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-13T08:27:50.0233019Z\"}],\"trailer\":[],\"stream\":{\"type\":\"Buffer\",\"data\":[123,34,99,111,100,101,34,58,50,48,48,44,34,116,121,112,101,34,58,34,115,117,99,99,101,115,115,34,44,34,109,101,115,115,97,103,101,34,58,34,34,44,34,114,101,115,117,108,116,34,58,123,34,91,93,34,58,91,123,34,83,89,83,76,79,71,79,80,34,58,123,34,73,100,34,58,51,50,55,56,53,49,52,51,50,52,49,53,52,49,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,49,50,32,49,54,58,50,57,58,50,55,46,56,48,55,57,53,49,52,34,125,125,44,123,34,83,89,83,76,79,71,79,80,34,58,123,34,73,100,34,58,51,50,55,56,53,49,49,56,51,48,53,56,54,49,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,49,50,32,49,54,58,50,55,58,53,48,46,52,48,50,49,56,34,125,125,44,123,34,83,89,83,76,79,71,79,80,34,58,123,34,73,100,34,58,51,50,55,56,53,49,49,53,55,51,54,51,56,57,44,34,67,114,101,97,116,101,84,105,109,101,34,58,34,50,48,50,52,45,48,51,45,49,50,32,49,54,58,50,55,58,52,48,46,51,54,53,57,51,48,54,34,125,125,93,44,34,112,97,103,101,34,58,49,44,34,99,111,117,110,116,34,58,51,44,34,109,97,120,34,58,49,50,49,44,34,116,111,116,97,108,34,58,51,54,49,125,44,34,101,120,116,114,97,115,34,58,110,117,108,108,44,34,116,105,109,101,34,58,34,50,48,50,52,45,48,51,45,49,50,32,49,54,58,50,57,58,51,51,34,125]},\"cookie\":[],\"responseTime\":72,\"responseSize\":376,\"type\":\"http\",\"tempFilePath\":\"\",\"timingPhases\":{\"prepare\":1.7229999899864197,\"wait\":0.46160000562667847,\"dns\":0,\"tcp\":0,\"firstByte\":69.22839999198914,\"download\":1.886900007724762,\"process\":0.04899996519088745,\"total\":73.34889996051788}},\"request\":{\"url\":{\"protocol\":\"http\",\"port\":\"5005\",\"path\":[\"api\",\"aPIJSON\",\"get\"],\"host\":[\"localhost\"],\"query\":[],\"variable\":[]},\"header\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"system\":true},{\"key\":\"Accept\",\"value\":\"*/*\",\"system\":true},{\"key\":\"Host\",\"value\":\"localhost:5005\",\"system\":true},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\",\"system\":true},{\"key\":\"Connection\",\"value\":\"keep-alive\",\"system\":true},{\"key\":\"Content-Length\",\"value\":136,\"system\":true}],\"method\":\"POST\",\"baseUrl\":\"http://localhost:5005\",\"body\":{\"mode\":\"raw\",\"raw\":\"{\\n  \\\"[]\\\": {\\n    \\\"SYSLOGOP\\\": {\\n      \\\"@column\\\": \\\"id,createtime\\\",\\n      \\\"@order\\\": \\\"createtime-\\\"\\n    },\\n    \\\"page\\\": 1,\\n    \\\"count\\\": 3\\n  }\\n}\",\"generateMode\":\"normal\",\"type\":\"application/json\"},\"auth\":{\"type\":\"bearer\",\"bearer\":[{\"type\":\"any\",\"value\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"key\":\"token\"}]},\"type\":\"http\"},\"history\":{\"execution\":{\"verbose\":false,\"sessions\":{},\"data\":[{\"request\":{\"method\":\"POST\",\"href\":\"http://localhost:5005/api/aPIJSON/get\",\"headers\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\"},{\"key\":\"Accept\",\"value\":\"*/*\"},{\"key\":\"Host\",\"value\":\"localhost:5005\"},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\"},{\"key\":\"Connection\",\"value\":\"keep-alive\"},{\"key\":\"Content-Length\",\"value\":\"136\"}],\"httpVersion\":\"1.1\"},\"response\":{\"statusCode\":200,\"headers\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Tue, 12 Mar 2024 08:29:32 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.45\"},{\"key\":\"Admin.NET\",\"value\":\"Admin.NET\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86398\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-13T08:27:50.0233019Z\"}],\"httpVersion\":\"1.1\"},\"timings\":{\"start\":1710232173277,\"requestStart\":1710232173279,\"offset\":{\"request\":1.7229999899864197,\"socket\":2.184599995613098,\"response\":71.41299998760223,\"end\":73.299899995327,\"lookup\":2.184599995613098,\"connect\":2.184599995613098,\"done\":73.34889996051788}}}]}},\"responseValidation\":{},\"passed\":true,\"metaInfo\":{\"httpApiId\":151219333,\"httpApiCaseId\":143191882,\"httpApiName\":\"缁熶竴鍏ュ彛\",\"httpApiPath\":\"/api/aPIJSON/get\",\"httpApiMethod\":\"post\",\"httpApiCaseName\":\"鍒嗛〉鏌ヨ\"}}","preProcessors":[],"postProcessors":[],"inheritPostProcessors":{},"inheritPreProcessors":{}},{"id":143312444,"type":"http","path":null,"name":"鏌ヨ鏁伴噺锛堣仛鍚堝嚱鏁帮級","responseId":0,"parameters":{"query":[],"path":[],"cookie":[],"header":[]},"commonParameters":{"query":[],"body":[],"header":[],"cookie":[]},"requestBody":{"parameters":[],"data":"{\r\n    \"SYSLOGOP\": {\r\n        \"@column\": \"count(1):鏁伴噺,sum(id):鍚堣\",//鏀寔鑱氬悎鍑芥暟count銆乻um绛夛紝  锛氬悗璺熷埆鍚峔r\n        \"httpmethod\":\"GET\"\r\n    }\r\n}","generateMode":"normal"},"auth":{},"advancedSettings":{"disabledSystemHeaders":{},"isDefaultUrlEncoding":2,"disableUrlEncoding":false},"requestResult":"{\"id\":\"temp.8cdec2eb-2a6e-4b14-b841-d45980eb6969\",\"cursor\":{\"position\":0,\"iteration\":0,\"length\":1,\"cycles\":1,\"empty\":false,\"eof\":false,\"bof\":true,\"cr\":false,\"ref\":\"8cdec2eb-2a6e-4b14-b841-d45980eb6969\",\"requestIndex\":0,\"httpRequestId\":\"b833e53d-ca56-464c-a0f3-bf293186f3c0\"},\"type\":\"http\",\"response\":{\"id\":\"c4a883ba-8b68-4bcf-b155-5300deb9b77e\",\"status\":\"OK\",\"code\":200,\"header\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Tue, 12 Mar 2024 03:49:08 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.45\"},{\"key\":\"Admin.NET\",\"value\":\"Admin.NET\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86393\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-13T03:46:44.5267221Z\"}],\"trailer\":[],\"stream\":{\"type\":\"Buffer\",\"data\":[123,34,99,111,100,101,34,58,50,48,48,44,34,116,121,112,101,34,58,34,115,117,99,99,101,115,115,34,44,34,109,101,115,115,97,103,101,34,58,34,34,44,34,114,101,115,117,108,116,34,58,123,34,83,89,83,76,79,71,79,80,34,58,123,34,230,149,176,233,135,143,34,58,54,44,34,229,144,136,232,174,161,34,58,49,57,53,56,55,56,50,53,54,53,53,56,55,53,48,125,125,44,34,101,120,116,114,97,115,34,58,110,117,108,108,44,34,116,105,109,101,34,58,34,50,48,50,52,45,48,51,45,49,50,32,49,49,58,52,57,58,48,56,34,125]},\"cookie\":[],\"responseTime\":57,\"responseSize\":145,\"type\":\"http\",\"tempFilePath\":\"\",\"timingPhases\":{\"prepare\":2.178399980068207,\"wait\":0.46469998359680176,\"dns\":0,\"tcp\":0,\"firstByte\":54.569000005722046,\"download\":1.8371000289916992,\"process\":0.08829998970031738,\"total\":59.13749998807907}},\"request\":{\"url\":{\"protocol\":\"http\",\"port\":\"5005\",\"path\":[\"api\",\"aPIJSON\",\"get\"],\"host\":[\"localhost\"],\"query\":[],\"variable\":[]},\"header\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"system\":true},{\"key\":\"Accept\",\"value\":\"*/*\",\"system\":true},{\"key\":\"Host\",\"value\":\"localhost:5005\",\"system\":true},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\",\"system\":true},{\"key\":\"Connection\",\"value\":\"keep-alive\",\"system\":true},{\"key\":\"Content-Length\",\"value\":96,\"system\":true}],\"method\":\"POST\",\"baseUrl\":\"http://localhost:5005\",\"body\":{\"mode\":\"raw\",\"raw\":\"{\\n  \\\"SYSLOGOP\\\": {\\n    \\\"@column\\\": \\\"count(1):鏁伴噺,sum(id):鍚堣\\\",\\n    \\\"httpmethod\\\": \\\"GET\\\"\\n  }\\n}\",\"generateMode\":\"normal\",\"type\":\"application/json\"},\"auth\":{\"type\":\"bearer\",\"bearer\":[{\"type\":\"any\",\"value\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"key\":\"token\"}]},\"type\":\"http\"},\"history\":{\"execution\":{\"verbose\":false,\"sessions\":{},\"data\":[{\"request\":{\"method\":\"POST\",\"href\":\"http://localhost:5005/api/aPIJSON/get\",\"headers\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\"},{\"key\":\"Accept\",\"value\":\"*/*\"},{\"key\":\"Host\",\"value\":\"localhost:5005\"},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\"},{\"key\":\"Connection\",\"value\":\"keep-alive\"},{\"key\":\"Content-Length\",\"value\":\"96\"}],\"httpVersion\":\"1.1\"},\"response\":{\"statusCode\":200,\"headers\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Tue, 12 Mar 2024 03:49:08 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.45\"},{\"key\":\"Admin.NET\",\"value\":\"Admin.NET\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86393\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-13T03:46:44.5267221Z\"}],\"httpVersion\":\"1.1\"},\"timings\":{\"start\":1710215348896,\"requestStart\":1710215348898,\"offset\":{\"request\":2.178399980068207,\"socket\":2.6430999636650085,\"response\":57.212099969387054,\"end\":59.049199998378754,\"lookup\":2.6430999636650085,\"connect\":2.6430999636650085,\"done\":59.13749998807907}}}]}},\"responseValidation\":{},\"passed\":true,\"metaInfo\":{\"httpApiId\":151219333,\"httpApiCaseId\":143312444,\"httpApiName\":\"缁熶竴鍏ュ彛\",\"httpApiPath\":\"/api/aPIJSON/get\",\"httpApiMethod\":\"post\",\"httpApiCaseName\":\"鏌ヨ鏁伴噺锛堣仛鍚堝嚱鏁帮級\"}}","preProcessors":[],"postProcessors":[],"inheritPostProcessors":{},"inheritPreProcessors":{}},{"id":143871046,"type":"http","path":null,"name":"鍏宠仈鏌ヨ","responseId":0,"parameters":{"query":[],"path":[],"cookie":[],"header":[]},"commonParameters":{"query":[],"body":[],"header":[],"cookie":[]},"requestBody":{"parameters":[],"data":"//鐢ㄤ簬瀛愯〃琛ュ厖鏁版嵁锛屾病鏈夊疄鐜癹oin\r\n{\r\n    \"[]\": {\r\n        //蹇呴』鍏堟煡瀛愯〃锛屽啀寰幆琛ュ厖涓昏〃鏁版嵁\r\n        \"table3\": {\r\n            //\"@column\": \"id\",//蹇呴』鍦ㄦ杩斿洖鍚庨潰鐨勫叧鑱斿垪\r\n            \"text\": \"update3\",\r\n            \"@order\": \"id-\", //鍙兘鍦ㄧ涓�涓〃鎺掑簭\r\n        },\r\n        \"table2\": {\r\n            \"id@\": \"/table3/table2id\",\r\n            //\"@order\": \"id-\", //杩欓噷鎺掑簭鏃犳晥\r\n        },\r\n        \"table1\": {\r\n            \"@column\": \"id,httpmethod\",\r\n            \"id@\": \"/table2/table1id\",\r\n        },\r\n        \"table4\": {\r\n            \"id@\": \"/table3/table4id\",\r\n        },\r\n        \"page\": 1,\r\n        \"count\": 3\r\n    }\r\n}","generateMode":"normal"},"auth":{},"advancedSettings":{"disabledSystemHeaders":{},"isDefaultUrlEncoding":2,"disableUrlEncoding":false},"requestResult":"{\"id\":\"temp.59b633e1-8099-48e6-9943-d0e27e50cae7\",\"cursor\":{\"position\":0,\"iteration\":0,\"length\":1,\"cycles\":1,\"empty\":false,\"eof\":false,\"bof\":true,\"cr\":false,\"ref\":\"59b633e1-8099-48e6-9943-d0e27e50cae7\",\"requestIndex\":0,\"httpRequestId\":\"a04d8d6c-aad7-4eaa-8fe4-11d3edaf05e7\"},\"type\":\"http\",\"response\":{\"id\":\"1a94a35f-3d89-44ef-8923-0f9c5d54e59d\",\"status\":\"OK\",\"code\":200,\"header\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Thu, 14 Mar 2024 03:53:26 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.45\"},{\"key\":\"Admin.NET\",\"value\":\"Admin.NET\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86399\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-15T03:53:27.0136472Z\"}],\"trailer\":[],\"stream\":{\"type\":\"Buffer\",\"data\":[123,34,99,111,100,101,34,58,50,48,48,44,34,116,121,112,101,34,58,34,115,117,99,99,101,115,115,34,44,34,109,101,115,115,97,103,101,34,58,34,34,44,34,114,101,115,117,108,116,34,58,123,34,91,93,34,58,91,123,34,116,97,98,108,101,51,34,58,123,34,105,100,34,58,51,51,51,44,34,116,97,98,108,101,50,105,100,34,58,50,51,44,34,116,101,120,116,34,58,34,117,112,100,97,116,101,51,34,44,34,116,97,98,108,101,52,105,100,34,58,52,52,125,44,34,116,97,98,108,101,50,34,58,123,34,105,100,34,58,50,51,44,34,116,101,120,116,34,58,34,110,101,119,103,101,116,34,44,34,116,97,98,108,101,49,105,100,34,58,51,50,54,53,51,50,51,54,56,53,48,55,53,55,44,34,105,115,68,101,108,101,116,101,34,58,48,125,44,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,51,50,51,54,56,53,48,55,53,55,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,68,69,76,69,84,69,34,125,44,34,116,97,98,108,101,52,34,58,123,34,105,100,34,58,52,52,44,34,116,101,120,116,34,58,34,52,52,34,125,125,44,123,34,116,97,98,108,101,51,34,58,123,34,105,100,34,58,51,51,44,34,116,97,98,108,101,50,105,100,34,58,50,51,44,34,116,101,120,116,34,58,34,117,112,100,97,116,101,51,34,44,34,116,97,98,108,101,52,105,100,34,58,52,51,125,44,34,116,97,98,108,101,50,34,58,123,34,105,100,34,58,50,51,44,34,116,101,120,116,34,58,34,110,101,119,103,101,116,34,44,34,116,97,98,108,101,49,105,100,34,58,51,50,54,53,51,50,51,54,56,53,48,55,53,55,44,34,105,115,68,101,108,101,116,101,34,58,48,125,44,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,51,50,51,54,56,53,48,55,53,55,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,68,69,76,69,84,69,34,125,125,44,123,34,116,97,98,108,101,51,34,58,123,34,105,100,34,58,51,50,44,34,116,97,98,108,101,50,105,100,34,58,50,50,44,34,116,101,120,116,34,58,34,117,112,100,97,116,101,51,34,44,34,116,97,98,108,101,52,105,100,34,58,52,50,125,44,34,116,97,98,108,101,50,34,58,123,34,105,100,34,58,50,50,44,34,116,101,120,116,34,58,34,110,101,119,103,101,116,34,44,34,116,97,98,108,101,49,105,100,34,58,51,50,54,53,51,50,51,56,56,48,48,57,54,53,44,34,105,115,68,101,108,101,116,101,34,58,48,125,44,34,116,97,98,108,101,49,34,58,123,34,73,100,34,58,51,50,54,53,51,50,51,56,56,48,48,57,54,53,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,71,69,84,34,125,44,34,116,97,98,108,101,52,34,58,123,34,105,100,34,58,52,50,44,34,116,101,120,116,34,58,34,52,50,34,125,125,93,44,34,112,97,103,101,34,58,49,44,34,99,111,117,110,116,34,58,51,44,34,109,97,120,34,58,50,44,34,116,111,116,97,108,34,58,52,125,44,34,101,120,116,114,97,115,34,58,110,117,108,108,44,34,116,105,109,101,34,58,34,50,48,50,52,45,48,51,45,49,52,32,49,49,58,53,51,58,50,55,34,125]},\"cookie\":[],\"responseTime\":590,\"responseSize\":779,\"type\":\"http\",\"tempFilePath\":\"\",\"timingPhases\":{\"prepare\":2.1902999877929688,\"wait\":1.2958000302314758,\"dns\":0.8892999887466431,\"tcp\":0.6733999848365784,\"firstByte\":584.8849999904633,\"download\":1.787600040435791,\"process\":0.033399999141693115,\"total\":591.7548000216484}},\"request\":{\"url\":{\"protocol\":\"http\",\"port\":\"5005\",\"path\":[\"api\",\"aPIJSON\",\"get\"],\"host\":[\"localhost\"],\"query\":[],\"variable\":[]},\"header\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"system\":true},{\"key\":\"Accept\",\"value\":\"*/*\",\"system\":true},{\"key\":\"Host\",\"value\":\"localhost:5005\",\"system\":true},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\",\"system\":true},{\"key\":\"Connection\",\"value\":\"keep-alive\",\"system\":true},{\"key\":\"Content-Length\",\"value\":316,\"system\":true}],\"method\":\"POST\",\"baseUrl\":\"http://localhost:5005\",\"body\":{\"mode\":\"raw\",\"raw\":\"{\\n  \\\"[]\\\": {\\n    \\\"table3\\\": {\\n      \\\"text\\\": \\\"update3\\\",\\n      \\\"@order\\\": \\\"id-\\\"\\n    },\\n    \\\"table2\\\": {\\n      \\\"id@\\\": \\\"/table3/table2id\\\"\\n    },\\n    \\\"table1\\\": {\\n      \\\"@column\\\": \\\"id,httpmethod\\\",\\n      \\\"id@\\\": \\\"/table2/table1id\\\"\\n    },\\n    \\\"table4\\\": {\\n      \\\"id@\\\": \\\"/table3/table4id\\\"\\n    },\\n    \\\"page\\\": 1,\\n    \\\"count\\\": 3\\n  }\\n}\",\"generateMode\":\"normal\",\"type\":\"application/json\"},\"auth\":{\"type\":\"bearer\",\"bearer\":[{\"type\":\"any\",\"value\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"key\":\"token\"}]},\"type\":\"http\"},\"history\":{\"execution\":{\"verbose\":false,\"sessions\":{},\"data\":[{\"request\":{\"method\":\"POST\",\"href\":\"http://localhost:5005/api/aPIJSON/get\",\"headers\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\"},{\"key\":\"Accept\",\"value\":\"*/*\"},{\"key\":\"Host\",\"value\":\"localhost:5005\"},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\"},{\"key\":\"Connection\",\"value\":\"keep-alive\"},{\"key\":\"Content-Length\",\"value\":\"316\"}],\"httpVersion\":\"1.1\"},\"response\":{\"statusCode\":200,\"headers\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Thu, 14 Mar 2024 03:53:26 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.45\"},{\"key\":\"Admin.NET\",\"value\":\"Admin.NET\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86399\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-15T03:53:27.0136472Z\"}],\"httpVersion\":\"1.1\"},\"timings\":{\"start\":1710388406828,\"requestStart\":1710388406830,\"offset\":{\"request\":2.1902999877929688,\"socket\":3.4861000180244446,\"lookup\":4.375400006771088,\"connect\":5.048799991607666,\"response\":589.9337999820709,\"end\":591.7214000225067,\"done\":591.7548000216484}}}]}},\"responseValidation\":{},\"passed\":true,\"metaInfo\":{\"httpApiId\":151219333,\"httpApiCaseId\":143871046,\"httpApiName\":\"缁熶竴鏌ヨ鍏ュ彛\",\"httpApiPath\":\"/api/aPIJSON/get\",\"httpApiMethod\":\"post\",\"httpApiCaseName\":\"鍏宠仈鏌ヨ\"}}","preProcessors":[],"postProcessors":[],"inheritPostProcessors":{},"inheritPreProcessors":{}},{"id":143975340,"type":"http","path":null,"name":"group by","responseId":0,"parameters":{"query":[],"path":[],"cookie":[],"header":[]},"commonParameters":{"query":[],"body":[],"header":[],"cookie":[]},"requestBody":{"parameters":[],"data":"{\r\n    \"[]\": {\r\n        \"table1\": {\r\n            \"@column\": \"actionname,httpmethod,max(id)\",\r\n            \"@group\": \"actionname,httpmethod\",\r\n        },\r\n    }\r\n}","generateMode":"normal"},"auth":{},"advancedSettings":{"disabledSystemHeaders":{},"isDefaultUrlEncoding":2,"disableUrlEncoding":false},"requestResult":"{\"id\":\"temp.00314312-a9fe-4ad2-859c-b7555f9a0d3e\",\"cursor\":{\"position\":0,\"iteration\":0,\"length\":1,\"cycles\":1,\"empty\":false,\"eof\":false,\"bof\":true,\"cr\":false,\"ref\":\"00314312-a9fe-4ad2-859c-b7555f9a0d3e\",\"requestIndex\":0,\"httpRequestId\":\"e6ba19a4-e4f9-4412-9b45-f48e81bb7277\"},\"type\":\"http\",\"response\":{\"id\":\"6134deb2-55f4-419b-9387-38ae669f137f\",\"status\":\"OK\",\"code\":200,\"header\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Fri, 08 Mar 2024 08:23:12 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.32\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86397\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-09T08:14:42.5201051Z\"}],\"trailer\":[],\"stream\":{\"type\":\"Buffer\",\"data\":[123,34,99,111,100,101,34,58,50,48,48,44,34,116,121,112,101,34,58,34,115,117,99,99,101,115,115,34,44,34,109,101,115,115,97,103,101,34,58,34,34,44,34,114,101,115,117,108,116,34,58,123,34,91,93,34,58,91,123,34,116,97,98,108,101,49,34,58,123,34,65,99,116,105,111,110,78,97,109,101,34,58,34,80,111,115,116,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,109,97,120,40,105,100,41,34,58,51,50,53,50,49,51,57,56,52,53,52,51,52,49,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,109,97,120,40,105,100,41,34,58,51,50,54,53,51,50,51,56,56,48,48,57,54,53,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,65,99,116,105,111,110,78,97,109,101,34,58,34,81,117,101,114,121,66,121,84,97,98,108,101,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,109,97,120,40,105,100,41,34,58,51,50,54,52,55,52,52,57,50,50,54,51,48,57,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,65,99,116,105,111,110,78,97,109,101,34,58,34,82,101,109,111,118,101,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,109,97,120,40,105,100,41,34,58,51,50,54,53,51,49,53,48,50,48,55,53,53,55,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,65,99,116,105,111,110,78,97,109,101,34,58,34,83,119,97,103,103,101,114,67,104,101,99,107,85,114,108,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,109,97,120,40,105,100,41,34,58,51,50,54,53,51,50,54,54,50,50,48,51,53,55,125,125,44,123,34,116,97,98,108,101,49,34,58,123,34,65,99,116,105,111,110,78,97,109,101,34,58,34,83,119,97,103,103,101,114,83,117,98,109,105,116,85,114,108,34,44,34,72,116,116,112,77,101,116,104,111,100,34,58,34,80,79,83,84,34,44,34,109,97,120,40,105,100,41,34,58,51,50,54,53,48,52,50,57,50,50,50,50,49,51,125,125,93,125,44,34,101,120,116,114,97,115,34,58,110,117,108,108,44,34,116,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,56,32,49,54,58,50,51,58,49,51,34,125]},\"cookie\":[],\"responseTime\":8399,\"responseSize\":605,\"type\":\"http\",\"tempFilePath\":\"\",\"timingPhases\":{\"prepare\":2.243699997663498,\"wait\":0.2954000011086464,\"dns\":0,\"tcp\":0,\"firstByte\":8396.081299997866,\"download\":1.9274000003933907,\"process\":0.052000001072883606,\"total\":8400.599799998105}},\"request\":{\"url\":{\"protocol\":\"http\",\"port\":\"5005\",\"path\":[\"api\",\"aPIJSON\",\"get\"],\"host\":[\"localhost\"],\"query\":[],\"variable\":[]},\"header\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"system\":true},{\"key\":\"Accept\",\"value\":\"*/*\",\"system\":true},{\"key\":\"Host\",\"value\":\"localhost:5005\",\"system\":true},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\",\"system\":true},{\"key\":\"Connection\",\"value\":\"keep-alive\",\"system\":true},{\"key\":\"Content-Length\",\"value\":162,\"system\":true}],\"method\":\"POST\",\"baseUrl\":\"http://localhost:5005\",\"body\":{\"mode\":\"raw\",\"raw\":\"{\\r\\n    \\\"[]\\\": {\\r\\n        \\\"table1\\\": {\\r\\n            \\\"@column\\\": \\\"actionname,httpmethod,max(id)\\\",\\r\\n            \\\"@group\\\": \\\"actionname,httpmethod\\\",\\r\\n        },\\r\\n    }\\r\\n}\",\"generateMode\":\"normal\",\"type\":\"application/json\"},\"auth\":{\"type\":\"bearer\",\"bearer\":[{\"type\":\"any\",\"value\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"key\":\"token\"}]},\"type\":\"http\"},\"history\":{\"execution\":{\"verbose\":false,\"sessions\":{},\"data\":[{\"request\":{\"method\":\"POST\",\"href\":\"http://localhost:5005/api/aPIJSON/get\",\"headers\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\"},{\"key\":\"Accept\",\"value\":\"*/*\"},{\"key\":\"Host\",\"value\":\"localhost:5005\"},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\"},{\"key\":\"Connection\",\"value\":\"keep-alive\"},{\"key\":\"Content-Length\",\"value\":\"162\"}],\"httpVersion\":\"1.1\"},\"response\":{\"statusCode\":200,\"headers\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Fri, 08 Mar 2024 08:23:12 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.32\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86397\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-09T08:14:42.5201051Z\"}],\"httpVersion\":\"1.1\"},\"timings\":{\"start\":1709886184664,\"requestStart\":1709886184667,\"offset\":{\"request\":2.243699997663498,\"socket\":2.5390999987721443,\"response\":8398.620399996638,\"end\":8400.547799997032,\"lookup\":2.5390999987721443,\"connect\":2.5390999987721443,\"done\":8400.599799998105}}}]}},\"responseValidation\":{},\"passed\":true,\"metaInfo\":{\"httpApiId\":151219333,\"httpApiCaseId\":143975340,\"httpApiName\":\"缁熶竴鍏ュ彛\",\"httpApiPath\":\"/api/aPIJSON/get\",\"httpApiMethod\":\"post\",\"httpApiCaseName\":\"group by\"}}","preProcessors":[],"postProcessors":[],"inheritPostProcessors":{},"inheritPreProcessors":{}}],"mocks":[],"customApiFields":"{}","advancedSettings":{"disabledSystemHeaders":{}},"mockScript":{},"codeSamples":[],"commonResponseStatus":{},"responseChildren":["BLANK.405647728"],"preProcessors":[],"postProcessors":[],"inheritPostProcessors":{},"inheritPreProcessors":{}}},{"name":"鏂板","api":{"id":"152848473","method":"post","path":"/api/aPIJSON/post","parameters":{"query":[],"path":[],"cookie":[],"header":[]},"auth":{},"commonParameters":{"query":[],"body":[],"cookie":[],"header":[]},"responses":[{"id":"408753512","name":"Success","code":200,"contentType":"json","jsonSchema":{"$ref":"#/definitions/84275190"}}],"responseExamples":[],"requestBody":{"type":"application/json","parameters":[],"jsonSchema":{"type":"object","additionalProperties":{"$ref":"#/definitions/84275307"},"x-apifox-orders":[]},"example":"{\r\n    \"table2\": \r\n        {\r\n            //\"id\": 236, //濡傛灉浼爄d锛屽氨鐢ㄥ墠绔痠d锛屽鏋滄病鏈夛紝灏卞悗绔敓鎴怽r\n            \"text\": \"newget\"\r\n        }\r\n\r\n}"},"description":"","tags":["aPIJSON"],"status":"released","serverId":"","operationId":"api-aPIJSON-post-Post","sourceUrl":"","ordering":12,"cases":[{"id":144371019,"type":"http","path":null,"name":"鍗曟潯","responseId":0,"parameters":{"query":[],"header":[],"cookie":[],"path":[]},"commonParameters":{"query":[],"body":[],"header":[],"cookie":[]},"requestBody":{"parameters":[],"data":"{\r\n    \"table2\": \r\n        {\r\n            //\"id\": 236, //濡傛灉浼爄d锛屽氨鐢ㄥ墠绔痠d锛屽鏋滄病鏈夛紝灏卞悗绔敓鎴怽r\n            \"text\": \"newget\"\r\n        }\r\n\r\n}","type":"application/json"},"auth":{},"advancedSettings":{"disabledSystemHeaders":{},"isDefaultUrlEncoding":2,"disableUrlEncoding":false},"requestResult":"{\"id\":\"temp.04906a0f-2a35-491b-8335-13c224a6e496\",\"cursor\":{\"position\":0,\"iteration\":0,\"length\":1,\"cycles\":1,\"empty\":false,\"eof\":false,\"bof\":true,\"cr\":false,\"ref\":\"04906a0f-2a35-491b-8335-13c224a6e496\",\"requestIndex\":0,\"httpRequestId\":\"8b54192a-17b5-4a20-b7c0-115533d436f3\"},\"type\":\"http\",\"response\":{\"id\":\"000965cc-02df-4aae-8b23-18368ab61ecb\",\"status\":\"OK\",\"code\":200,\"header\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Mon, 11 Mar 2024 06:58:40 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.32\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86395\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-12T06:48:49.8348531Z\"}],\"trailer\":[],\"stream\":{\"type\":\"Buffer\",\"data\":[123,34,99,111,100,101,34,58,50,48,48,44,34,116,121,112,101,34,58,34,115,117,99,99,101,115,115,34,44,34,109,101,115,115,97,103,101,34,58,34,34,44,34,114,101,115,117,108,116,34,58,123,34,116,97,98,108,101,50,34,58,91,51,50,55,54,49,54,51,48,53,50,52,57,57,55,44,50,51,56,93,44,34,116,97,98,108,101,51,34,58,51,50,55,54,49,54,51,48,53,50,56,48,54,57,125,44,34,101,120,116,114,97,115,34,58,110,117,108,108,44,34,116,105,109,101,34,58,34,50,48,50,52,45,48,51,45,49,49,32,49,52,58,53,56,58,52,49,34,125]},\"cookie\":[],\"responseTime\":118,\"responseSize\":150,\"type\":\"http\",\"tempFilePath\":\"\",\"timingPhases\":{\"prepare\":2.154699981212616,\"wait\":0.394599974155426,\"dns\":0,\"tcp\":0,\"firstByte\":114.57359999418259,\"download\":2.3081000447273254,\"process\":0.08730000257492065,\"total\":119.51829999685287}},\"request\":{\"url\":{\"protocol\":\"http\",\"port\":\"5005\",\"path\":[\"api\",\"aPIJSON\",\"post\"],\"host\":[\"localhost\"],\"query\":[],\"variable\":[]},\"header\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"system\":true},{\"key\":\"Accept\",\"value\":\"*/*\",\"system\":true},{\"key\":\"Host\",\"value\":\"localhost:5005\",\"system\":true},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\",\"system\":true},{\"key\":\"Connection\",\"value\":\"keep-alive\",\"system\":true},{\"key\":\"Content-Length\",\"value\":171,\"system\":true}],\"method\":\"POST\",\"baseUrl\":\"http://localhost:5005\",\"body\":{\"mode\":\"raw\",\"raw\":\"{\\n  \\\"table2\\\": [\\n    {\\n      \\\"text\\\": \\\"newget\\\"\\n    },\\n    {\\n      \\\"id\\\": 238,\\n      \\\"text\\\": \\\"newget2\\\"\\n    }\\n  ],\\n  \\\"table3\\\": {\\n    \\\"table2id\\\": 238,\\n    \\\"text\\\": \\\"newget\\\"\\n  }\\n}\",\"type\":\"application/json\"},\"auth\":{\"type\":\"bearer\",\"bearer\":[{\"type\":\"any\",\"value\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"key\":\"token\"}]},\"type\":\"http\"},\"history\":{\"execution\":{\"verbose\":false,\"sessions\":{},\"data\":[{\"request\":{\"method\":\"POST\",\"href\":\"http://localhost:5005/api/aPIJSON/post\",\"headers\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\"},{\"key\":\"Accept\",\"value\":\"*/*\"},{\"key\":\"Host\",\"value\":\"localhost:5005\"},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\"},{\"key\":\"Connection\",\"value\":\"keep-alive\"},{\"key\":\"Content-Length\",\"value\":\"171\"}],\"httpVersion\":\"1.1\"},\"response\":{\"statusCode\":200,\"headers\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Mon, 11 Mar 2024 06:58:40 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.32\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86395\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-12T06:48:49.8348531Z\"}],\"httpVersion\":\"1.1\"},\"timings\":{\"start\":1710140321198,\"requestStart\":1710140321200,\"offset\":{\"request\":2.154699981212616,\"socket\":2.549299955368042,\"response\":117.12289994955063,\"end\":119.43099999427795,\"lookup\":2.549299955368042,\"connect\":2.549299955368042,\"done\":119.51829999685287}}}]}},\"responseValidation\":{},\"passed\":true,\"metaInfo\":{\"httpApiId\":152848473,\"httpApiName\":\"鏂板\",\"httpApiPath\":\"/api/aPIJSON/post\",\"httpApiMethod\":\"post\",\"httpApiCaseName\":\"鎴愬姛\"}}","preProcessors":[],"postProcessors":[],"inheritPostProcessors":{},"inheritPreProcessors":{}},{"id":144370602,"type":"http","path":null,"name":"澶氳〃鎵归噺","responseId":0,"parameters":{"query":[],"path":[],"cookie":[],"header":[]},"commonParameters":{"query":[],"body":[],"header":[],"cookie":[]},"requestBody":{"parameters":[],"data":"{\r\n    \"table2\": [\r\n        {\r\n            //\"id\": 236, //濡傛灉浼爄d锛屽氨鐢ㄥ墠绔痠d锛屽鏋滄病鏈夛紝灏卞悗绔敓鎴怽r\n            \"text\": \"newget\"\r\n        },\r\n        {\r\n            \"id\": 240,\r\n            \"text\": \"newget2\"\r\n        }\r\n    ],\r\n    \"table3\":{\r\n        \"table2id\":240,\r\n        \"text\":\"newget\"\r\n    }\r\n}","generateMode":"normal"},"auth":{},"advancedSettings":{"disabledSystemHeaders":{},"isDefaultUrlEncoding":2,"disableUrlEncoding":false},"requestResult":"{\"id\":\"temp.89a3b724-e244-47bd-8332-b18d13b87f39\",\"cursor\":{\"position\":0,\"iteration\":0,\"length\":1,\"cycles\":1,\"empty\":false,\"eof\":false,\"bof\":true,\"cr\":false,\"ref\":\"89a3b724-e244-47bd-8332-b18d13b87f39\",\"requestIndex\":0,\"httpRequestId\":\"c4ff5552-4d6b-4816-bac7-951f9acbd466\"},\"type\":\"http\",\"response\":{\"id\":\"a2e99ccb-e877-4151-9d9e-157c49c50e65\",\"status\":\"OK\",\"code\":200,\"header\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Mon, 11 Mar 2024 07:32:24 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.32\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86398\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-12T07:30:34.5282454Z\"}],\"trailer\":[],\"stream\":{\"type\":\"Buffer\",\"data\":[123,34,99,111,100,101,34,58,50,48,48,44,34,116,121,112,101,34,58,34,115,117,99,99,101,115,115,34,44,34,109,101,115,115,97,103,101,34,58,34,34,44,34,114,101,115,117,108,116,34,58,123,34,116,97,98,108,101,50,34,58,123,34,105,100,34,58,91,51,50,55,54,50,49,52,56,54,49,48,54,50,57,44,50,52,48,93,44,34,99,111,117,110,116,34,58,50,125,44,34,116,97,98,108,101,51,34,58,123,34,105,100,34,58,51,50,55,54,50,49,52,56,54,49,55,53,52,49,125,125,44,34,101,120,116,114,97,115,34,58,110,117,108,108,44,34,116,105,109,101,34,58,34,50,48,50,52,45,48,51,45,49,49,32,49,53,58,51,50,58,50,53,34,125]},\"cookie\":[],\"responseTime\":168,\"responseSize\":174,\"type\":\"http\",\"tempFilePath\":\"\",\"timingPhases\":{\"prepare\":1.51419997215271,\"wait\":0.2290000319480896,\"dns\":0,\"tcp\":0,\"firstByte\":165.6187999844551,\"download\":1.2360000014305115,\"process\":0.05760002136230469,\"total\":168.65560001134872}},\"request\":{\"url\":{\"protocol\":\"http\",\"port\":\"5005\",\"path\":[\"api\",\"aPIJSON\",\"post\"],\"host\":[\"localhost\"],\"query\":[],\"variable\":[]},\"header\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"system\":true},{\"key\":\"Accept\",\"value\":\"*/*\",\"system\":true},{\"key\":\"Host\",\"value\":\"localhost:5005\",\"system\":true},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\",\"system\":true},{\"key\":\"Connection\",\"value\":\"keep-alive\",\"system\":true},{\"key\":\"Content-Length\",\"value\":171,\"system\":true}],\"method\":\"POST\",\"baseUrl\":\"http://localhost:5005\",\"body\":{\"mode\":\"raw\",\"raw\":\"{\\n  \\\"table2\\\": [\\n    {\\n      \\\"text\\\": \\\"newget\\\"\\n    },\\n    {\\n      \\\"id\\\": 240,\\n      \\\"text\\\": \\\"newget2\\\"\\n    }\\n  ],\\n  \\\"table3\\\": {\\n    \\\"table2id\\\": 240,\\n    \\\"text\\\": \\\"newget\\\"\\n  }\\n}\",\"generateMode\":\"normal\",\"type\":\"application/json\"},\"auth\":{\"type\":\"bearer\",\"bearer\":[{\"type\":\"any\",\"value\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"key\":\"token\"}]},\"type\":\"http\"},\"history\":{\"execution\":{\"verbose\":false,\"sessions\":{},\"data\":[{\"request\":{\"method\":\"POST\",\"href\":\"http://localhost:5005/api/aPIJSON/post\",\"headers\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\"},{\"key\":\"Accept\",\"value\":\"*/*\"},{\"key\":\"Host\",\"value\":\"localhost:5005\"},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\"},{\"key\":\"Connection\",\"value\":\"keep-alive\"},{\"key\":\"Content-Length\",\"value\":\"171\"}],\"httpVersion\":\"1.1\"},\"response\":{\"statusCode\":200,\"headers\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Mon, 11 Mar 2024 07:32:24 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.32\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86398\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-12T07:30:34.5282454Z\"}],\"httpVersion\":\"1.1\"},\"timings\":{\"start\":1710142344933,\"requestStart\":1710142344934,\"offset\":{\"request\":1.51419997215271,\"socket\":1.7432000041007996,\"response\":167.3619999885559,\"end\":168.59799998998642,\"lookup\":1.7432000041007996,\"connect\":1.7432000041007996,\"done\":168.65560001134872}}}]}},\"responseValidation\":{},\"passed\":true,\"metaInfo\":{\"httpApiId\":152848473,\"httpApiCaseId\":144370602,\"httpApiName\":\"鏂板\",\"httpApiPath\":\"/api/aPIJSON/post\",\"httpApiMethod\":\"post\",\"httpApiCaseName\":\"澶氳〃鎵归噺\"}}","preProcessors":[],"postProcessors":[],"inheritPostProcessors":{},"inheritPreProcessors":{}}],"mocks":[],"customApiFields":"{}","advancedSettings":{"disabledSystemHeaders":{}},"mockScript":{},"codeSamples":[],"commonResponseStatus":{},"responseChildren":["BLANK.408753512"],"preProcessors":[],"postProcessors":[],"inheritPostProcessors":{},"inheritPreProcessors":{}}},{"name":"淇敼","api":{"id":"152848474","method":"post","path":"/api/aPIJSON/put","parameters":{"path":[],"query":[],"cookie":[],"header":[]},"auth":{},"commonParameters":{},"responses":[{"id":"408753513","name":"Success","code":200,"contentType":"json","jsonSchema":{"$ref":"#/definitions/84275190"}}],"responseExamples":[],"requestBody":{"type":"application/json","parameters":[],"jsonSchema":{"type":"object","additionalProperties":{"$ref":"#/definitions/84275307"},"x-apifox-orders":[]},"example":""},"description":"","tags":["aPIJSON"],"status":"released","serverId":"","operationId":"api-aPIJSON-put-Post","sourceUrl":"","ordering":18,"cases":[{"id":144398604,"type":"http","path":null,"name":"閫氳繃id鍗曟潯鏇存柊","responseId":0,"parameters":{"query":[],"path":[],"cookie":[],"header":[]},"commonParameters":{"query":[],"body":[],"header":[],"cookie":[]},"requestBody":{"parameters":[],"data":"{\r\n    \"table3\": {\r\n        \"id\": 32762120351813,\r\n        \"text\": \"edit\",\r\n        \"table2id\":255\r\n    }\r\n}","generateMode":"normal"},"auth":{},"advancedSettings":{"disabledSystemHeaders":{},"isDefaultUrlEncoding":2,"disableUrlEncoding":false},"requestResult":"{\"id\":\"temp.3c2d26df-ff36-4408-84d1-ba86a03a15d9\",\"cursor\":{\"position\":0,\"iteration\":0,\"length\":1,\"cycles\":1,\"empty\":false,\"eof\":false,\"bof\":true,\"cr\":false,\"ref\":\"3c2d26df-ff36-4408-84d1-ba86a03a15d9\",\"requestIndex\":0,\"httpRequestId\":\"01efc573-4df9-4ee4-8f19-329b479d8f83\"},\"type\":\"http\",\"response\":{\"id\":\"c0132dd1-a39d-491a-a497-7a91230bfbc7\",\"status\":\"OK\",\"code\":200,\"header\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Mon, 11 Mar 2024 08:24:50 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.32\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86399\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-12T08:24:51.3365034Z\"}],\"trailer\":[],\"stream\":{\"type\":\"Buffer\",\"data\":[123,34,99,111,100,101,34,58,50,48,48,44,34,116,121,112,101,34,58,34,115,117,99,99,101,115,115,34,44,34,109,101,115,115,97,103,101,34,58,34,34,44,34,114,101,115,117,108,116,34,58,123,34,116,97,98,108,101,51,34,58,123,34,99,111,100,101,34,58,50,48,48,44,34,109,115,103,34,58,34,115,117,99,99,101,115,115,34,44,34,105,100,34,58,34,51,50,55,54,50,49,50,48,51,53,49,56,49,51,34,125,125,44,34,101,120,116,114,97,115,34,58,110,117,108,108,44,34,116,105,109,101,34,58,34,50,48,50,52,45,48,51,45,49,49,32,49,54,58,50,52,58,53,49,34,125]},\"cookie\":[],\"responseTime\":626,\"responseSize\":156,\"type\":\"http\",\"tempFilePath\":\"\",\"timingPhases\":{\"prepare\":2.3127999901771545,\"wait\":1.4280999898910522,\"dns\":0.35510003566741943,\"tcp\":0.7379999756813049,\"firstByte\":621.6582000255585,\"download\":1.3226999640464783,\"process\":0.029600024223327637,\"total\":627.8445000052452}},\"request\":{\"url\":{\"protocol\":\"http\",\"port\":\"5005\",\"path\":[\"api\",\"aPIJSON\",\"put\"],\"host\":[\"localhost\"],\"query\":[],\"variable\":[]},\"header\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"system\":true},{\"key\":\"Accept\",\"value\":\"*/*\",\"system\":true},{\"key\":\"Host\",\"value\":\"localhost:5005\",\"system\":true},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\",\"system\":true},{\"key\":\"Connection\",\"value\":\"keep-alive\",\"system\":true},{\"key\":\"Content-Length\",\"value\":108,\"system\":true}],\"method\":\"POST\",\"baseUrl\":\"http://localhost:5005\",\"body\":{\"mode\":\"raw\",\"raw\":\"{\\r\\n    \\\"table3\\\": {\\r\\n        \\\"id\\\": 32762120351813,\\r\\n        \\\"text\\\": \\\"edit\\\",\\r\\n        \\\"table2id\\\":255\\r\\n    }\\r\\n}\",\"generateMode\":\"normal\",\"type\":\"application/json\"},\"auth\":{\"type\":\"bearer\",\"bearer\":[{\"type\":\"any\",\"value\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"key\":\"token\"}]},\"type\":\"http\"},\"history\":{\"execution\":{\"verbose\":false,\"sessions\":{},\"data\":[{\"request\":{\"method\":\"POST\",\"href\":\"http://localhost:5005/api/aPIJSON/put\",\"headers\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\"},{\"key\":\"Accept\",\"value\":\"*/*\"},{\"key\":\"Host\",\"value\":\"localhost:5005\"},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\"},{\"key\":\"Connection\",\"value\":\"keep-alive\"},{\"key\":\"Content-Length\",\"value\":\"108\"}],\"httpVersion\":\"1.1\"},\"response\":{\"statusCode\":200,\"headers\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Mon, 11 Mar 2024 08:24:50 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.32\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86399\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-12T08:24:51.3365034Z\"}],\"httpVersion\":\"1.1\"},\"timings\":{\"start\":1710145491156,\"requestStart\":1710145491158,\"offset\":{\"request\":2.3127999901771545,\"socket\":3.740899980068207,\"lookup\":4.096000015735626,\"connect\":4.833999991416931,\"response\":626.4922000169754,\"end\":627.8148999810219,\"done\":627.8445000052452}}}]}},\"responseValidation\":{},\"passed\":true,\"metaInfo\":{\"httpApiId\":152848474,\"httpApiCaseId\":144398604,\"httpApiName\":\"淇敼\",\"httpApiPath\":\"/api/aPIJSON/put\",\"httpApiMethod\":\"post\",\"httpApiCaseName\":\"鍗曟潯鏇存柊\"}}","preProcessors":[],"postProcessors":[],"inheritPostProcessors":{},"inheritPreProcessors":{}},{"id":144399593,"type":"http","path":null,"name":"澶氳〃澶歩d鎵归噺鏇存柊","responseId":0,"parameters":{"query":[],"path":[],"cookie":[],"header":[]},"commonParameters":{"query":[],"body":[],"header":[],"cookie":[]},"requestBody":{"parameters":[],"data":"{\r\n    \"table3\": [\r\n        {\r\n            \"id\": [31,32,33],\r\n            \"text\": \"update3\"\r\n        },\r\n        {\r\n            \"id\": 32762148617541,\r\n            \"text\": \"update2\"\r\n        }\r\n    ],\r\n    \"table2\": {\r\n        \"id\": 32761658134341,\r\n        \"text\": \"update\"\r\n    }\r\n}","generateMode":"normal"},"auth":{},"advancedSettings":{"disabledSystemHeaders":{},"isDefaultUrlEncoding":2,"disableUrlEncoding":false},"requestResult":"{\"id\":\"temp.a347f44c-82a5-437f-afef-bef75f5f55f4\",\"cursor\":{\"position\":0,\"iteration\":0,\"length\":1,\"cycles\":1,\"empty\":false,\"eof\":false,\"bof\":true,\"cr\":false,\"ref\":\"a347f44c-82a5-437f-afef-bef75f5f55f4\",\"requestIndex\":0,\"httpRequestId\":\"1ee88481-8f7b-480f-adf0-3a74acff8426\"},\"type\":\"http\",\"response\":{\"id\":\"6d9b1b3d-167c-4fe8-832e-f336630e6e64\",\"status\":\"OK\",\"code\":200,\"header\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Mon, 11 Mar 2024 09:38:05 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.32\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86397\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-12T09:36:21.4486506Z\"}],\"trailer\":[],\"stream\":{\"type\":\"Buffer\",\"data\":[123,34,99,111,100,101,34,58,50,48,48,44,34,116,121,112,101,34,58,34,115,117,99,99,101,115,115,34,44,34,109,101,115,115,97,103,101,34,58,34,34,44,34,114,101,115,117,108,116,34,58,123,34,116,97,98,108,101,51,34,58,123,34,99,111,117,110,116,34,58,52,125,44,34,116,97,98,108,101,50,34,58,123,34,99,111,117,110,116,34,58,49,125,125,44,34,101,120,116,114,97,115,34,58,110,117,108,108,44,34,116,105,109,101,34,58,34,50,48,50,52,45,48,51,45,49,49,32,49,55,58,51,56,58,48,53,34,125]},\"cookie\":[],\"responseTime\":135,\"responseSize\":138,\"type\":\"http\",\"tempFilePath\":\"\",\"timingPhases\":{\"prepare\":1.440500020980835,\"wait\":0.2959999442100525,\"dns\":0,\"tcp\":0,\"firstByte\":132.63910001516342,\"download\":1.2211000323295593,\"process\":0.04819995164871216,\"total\":135.64489996433258}},\"request\":{\"url\":{\"protocol\":\"http\",\"port\":\"5005\",\"path\":[\"api\",\"aPIJSON\",\"put\"],\"host\":[\"localhost\"],\"query\":[],\"variable\":[]},\"header\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"system\":true},{\"key\":\"Accept\",\"value\":\"*/*\",\"system\":true},{\"key\":\"Host\",\"value\":\"localhost:5005\",\"system\":true},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\",\"system\":true},{\"key\":\"Connection\",\"value\":\"keep-alive\",\"system\":true},{\"key\":\"Content-Length\",\"value\":283,\"system\":true}],\"method\":\"POST\",\"baseUrl\":\"http://localhost:5005\",\"body\":{\"mode\":\"raw\",\"raw\":\"{\\r\\n    \\\"table3\\\": [\\r\\n        {\\r\\n            \\\"id\\\": [31,32,33],\\r\\n            \\\"text\\\": \\\"update3\\\"\\r\\n        },\\r\\n        {\\r\\n            \\\"id\\\": 32762148617541,\\r\\n            \\\"text\\\": \\\"update2\\\"\\r\\n        }\\r\\n    ],\\r\\n    \\\"table2\\\": {\\r\\n        \\\"id\\\": 32761658134341,\\r\\n        \\\"text\\\": \\\"update\\\"\\r\\n    }\\r\\n}\",\"generateMode\":\"normal\",\"type\":\"application/json\"},\"auth\":{\"type\":\"bearer\",\"bearer\":[{\"type\":\"any\",\"value\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"key\":\"token\"}]},\"type\":\"http\"},\"history\":{\"execution\":{\"verbose\":false,\"sessions\":{},\"data\":[{\"request\":{\"method\":\"POST\",\"href\":\"http://localhost:5005/api/aPIJSON/put\",\"headers\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\"},{\"key\":\"Accept\",\"value\":\"*/*\"},{\"key\":\"Host\",\"value\":\"localhost:5005\"},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\"},{\"key\":\"Connection\",\"value\":\"keep-alive\"},{\"key\":\"Content-Length\",\"value\":\"283\"}],\"httpVersion\":\"1.1\"},\"response\":{\"statusCode\":200,\"headers\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Mon, 11 Mar 2024 09:38:05 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.32\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86397\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-12T09:36:21.4486506Z\"}],\"httpVersion\":\"1.1\"},\"timings\":{\"start\":1710149885351,\"requestStart\":1710149885352,\"offset\":{\"request\":1.440500020980835,\"socket\":1.7364999651908875,\"response\":134.3755999803543,\"end\":135.59670001268387,\"lookup\":1.7364999651908875,\"connect\":1.7364999651908875,\"done\":135.64489996433258}}}]}},\"responseValidation\":{},\"passed\":true,\"metaInfo\":{\"httpApiId\":152848474,\"httpApiCaseId\":144399593,\"httpApiName\":\"淇敼\",\"httpApiPath\":\"/api/aPIJSON/put\",\"httpApiMethod\":\"post\",\"httpApiCaseName\":\"澶氳〃鏇存柊\"}}","preProcessors":[],"postProcessors":[],"inheritPostProcessors":{},"inheritPreProcessors":{}}],"mocks":[],"customApiFields":"{}","advancedSettings":{"disabledSystemHeaders":{}},"mockScript":{},"codeSamples":[],"commonResponseStatus":{},"responseChildren":[],"preProcessors":[],"postProcessors":[],"inheritPostProcessors":{},"inheritPreProcessors":{}}},{"name":"鍒犻櫎","api":{"id":"152848475","method":"post","path":"/api/aPIJSON/delete","parameters":{"query":[],"path":[],"cookie":[],"header":[]},"auth":{},"commonParameters":{"query":[],"body":[],"cookie":[],"header":[]},"responses":[{"id":"408753514","name":"Success","code":200,"contentType":"json","jsonSchema":{"$ref":"#/definitions/84275190"}}],"responseExamples":[],"requestBody":{"type":"application/json","parameters":[],"jsonSchema":{"type":"object","additionalProperties":{"$ref":"#/definitions/84275307"},"x-apifox-orders":[]},"example":"{\r\n    \"table1\": {\r\n        \"id\": [32520112744261,32520179315781,32520200693573],\r\n    }\r\n}"},"description":"","tags":["aPIJSON"],"status":"released","serverId":"","operationId":"api-aPIJSON-delete-Post","sourceUrl":"","ordering":24,"cases":[{"id":143343716,"type":"http","path":null,"name":"鍒犻櫎鍗曟潯鏁版嵁","responseId":0,"parameters":{"query":[],"header":[],"cookie":[],"path":[]},"commonParameters":{"query":[],"body":[],"header":[],"cookie":[]},"requestBody":{"parameters":[],"data":"{\r\n    \"table1\": {\r\n        \"id\": \"32520494044741\",\r\n    }\r\n}","type":"application/json"},"auth":{},"advancedSettings":{"disabledSystemHeaders":{},"isDefaultUrlEncoding":2,"disableUrlEncoding":false},"requestResult":"{\"id\":\"temp.26698a36-85d0-4cbb-b880-abbb4872dddf\",\"cursor\":{\"position\":0,\"iteration\":0,\"length\":1,\"cycles\":1,\"empty\":false,\"eof\":false,\"bof\":true,\"cr\":false,\"ref\":\"26698a36-85d0-4cbb-b880-abbb4872dddf\",\"requestIndex\":0,\"httpRequestId\":\"e91c2ef7-03a4-41fa-b114-138973559bec\"},\"type\":\"http\",\"response\":{\"id\":\"a6999ac7-bec5-4b65-a905-42dbe74794e7\",\"status\":\"OK\",\"code\":200,\"header\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Wed, 06 Mar 2024 09:16:09 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.32\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86398\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-07T09:15:13.4609976Z\"}],\"trailer\":[],\"stream\":{\"type\":\"Buffer\",\"data\":[123,34,99,111,100,101,34,58,50,48,48,44,34,116,121,112,101,34,58,34,115,117,99,99,101,115,115,34,44,34,109,101,115,115,97,103,101,34,58,34,34,44,34,114,101,115,117,108,116,34,58,123,34,116,97,98,108,101,49,34,58,123,34,99,111,100,101,34,58,50,48,48,44,34,109,115,103,34,58,34,115,117,99,99,101,115,115,34,44,34,105,100,34,58,34,51,50,53,50,48,52,57,52,48,52,52,55,52,49,34,125,125,44,34,101,120,116,114,97,115,34,58,110,117,108,108,44,34,116,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,54,32,49,55,58,49,54,58,48,57,34,125]},\"cookie\":[],\"responseTime\":111,\"responseSize\":156,\"type\":\"http\",\"tempFilePath\":\"\",\"timingPhases\":{\"prepare\":1.5057999789714813,\"wait\":0.2891000211238861,\"dns\":0,\"tcp\":0,\"firstByte\":109.1957999765873,\"download\":1.360700011253357,\"process\":0.034900009632110596,\"total\":112.38629999756813}},\"request\":{\"url\":{\"protocol\":\"http\",\"port\":\"5005\",\"path\":[\"api\",\"aPIJSON\",\"delete\"],\"host\":[\"localhost\"],\"query\":[],\"variable\":[]},\"header\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTE5NzE1MiwibmJmIjoxNzA5MTk3MTUyLCJleHAiOjE3MDk4MDE5NTIsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.96Y2rBegXqiYjuXcXeVyuXV75Cmzu8FpILylDcougt8\",\"system\":true},{\"key\":\"Accept\",\"value\":\"*/*\",\"system\":true},{\"key\":\"Host\",\"value\":\"localhost:5005\",\"system\":true},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\",\"system\":true},{\"key\":\"Connection\",\"value\":\"keep-alive\",\"system\":true},{\"key\":\"Content-Length\",\"value\":61,\"system\":true}],\"method\":\"POST\",\"baseUrl\":\"http://localhost:5005\",\"body\":{\"mode\":\"raw\",\"raw\":\"{\\r\\n    \\\"table1\\\": {\\r\\n        \\\"id\\\": \\\"32520494044741\\\",\\r\\n    }\\r\\n}\",\"type\":\"application/json\"},\"auth\":{\"type\":\"bearer\",\"bearer\":[{\"type\":\"any\",\"value\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTE5NzE1MiwibmJmIjoxNzA5MTk3MTUyLCJleHAiOjE3MDk4MDE5NTIsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.96Y2rBegXqiYjuXcXeVyuXV75Cmzu8FpILylDcougt8\",\"key\":\"token\"}]},\"type\":\"http\"},\"history\":{\"execution\":{\"verbose\":false,\"sessions\":{},\"data\":[{\"request\":{\"method\":\"POST\",\"href\":\"http://localhost:5005/api/aPIJSON/delete\",\"headers\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTE5NzE1MiwibmJmIjoxNzA5MTk3MTUyLCJleHAiOjE3MDk4MDE5NTIsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.96Y2rBegXqiYjuXcXeVyuXV75Cmzu8FpILylDcougt8\"},{\"key\":\"Accept\",\"value\":\"*/*\"},{\"key\":\"Host\",\"value\":\"localhost:5005\"},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\"},{\"key\":\"Connection\",\"value\":\"keep-alive\"},{\"key\":\"Content-Length\",\"value\":\"61\"}],\"httpVersion\":\"1.1\"},\"response\":{\"statusCode\":200,\"headers\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Wed, 06 Mar 2024 09:16:09 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.32\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86398\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-07T09:15:13.4609976Z\"}],\"httpVersion\":\"1.1\"},\"timings\":{\"start\":1709716569879,\"requestStart\":1709716569880,\"offset\":{\"request\":1.5057999789714813,\"socket\":1.7949000000953674,\"response\":110.99069997668266,\"end\":112.35139998793602,\"lookup\":1.7949000000953674,\"connect\":1.7949000000953674,\"done\":112.38629999756813}}}]}},\"responseValidation\":{},\"passed\":true,\"metaInfo\":{\"httpApiId\":152848475,\"httpApiName\":\"鍒犻櫎\",\"httpApiPath\":\"/api/aPIJSON/delete\",\"httpApiMethod\":\"post\",\"httpApiCaseName\":\"鎴愬姛\"}}","preProcessors":[],"postProcessors":[],"inheritPostProcessors":{},"inheritPreProcessors":{}},{"id":143368262,"type":"http","path":null,"name":"鎵归噺鍒犻櫎id","responseId":0,"parameters":{"query":[],"path":[],"cookie":[],"header":[]},"commonParameters":{"query":[],"body":[],"header":[],"cookie":[]},"requestBody":{"parameters":[],"data":"{\r\n    \"table3\": {\r\n        \"id\": [\r\n            32761630528069,\r\n            239\r\n        ]\r\n    }\r\n}","generateMode":"normal"},"auth":{},"advancedSettings":{"disabledSystemHeaders":{},"isDefaultUrlEncoding":2,"disableUrlEncoding":false},"requestResult":"{\"id\":\"temp.c39182fc-fc2f-4357-b3b7-32e41ef1fb57\",\"cursor\":{\"position\":0,\"iteration\":0,\"length\":1,\"cycles\":1,\"empty\":false,\"eof\":false,\"bof\":true,\"cr\":false,\"ref\":\"c39182fc-fc2f-4357-b3b7-32e41ef1fb57\",\"requestIndex\":0,\"httpRequestId\":\"7443b4a1-f762-4a24-8dd2-ad33ce1c8da7\"},\"type\":\"http\",\"response\":{\"id\":\"43956c21-adae-41c7-a722-c856c7c7c0aa\",\"status\":\"OK\",\"code\":200,\"header\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Mon, 11 Mar 2024 07:34:26 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.32\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86396\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-12T07:26:16.5966009Z\"}],\"trailer\":[],\"stream\":{\"type\":\"Buffer\",\"data\":[123,34,99,111,100,101,34,58,50,48,48,44,34,116,121,112,101,34,58,34,115,117,99,99,101,115,115,34,44,34,109,101,115,115,97,103,101,34,58,34,34,44,34,114,101,115,117,108,116,34,58,123,34,116,97,98,108,101,51,34,58,123,34,105,100,34,58,91,51,50,55,54,49,54,51,48,53,50,56,48,54,57,44,50,51,57,93,44,34,99,111,117,110,116,34,58,49,125,125,44,34,101,120,116,114,97,115,34,58,110,117,108,108,44,34,116,105,109,101,34,58,34,50,48,50,52,45,48,51,45,49,49,32,49,53,58,51,52,58,50,55,34,125]},\"cookie\":[],\"responseTime\":158,\"responseSize\":143,\"type\":\"http\",\"tempFilePath\":\"\",\"timingPhases\":{\"prepare\":2.1498000025749207,\"wait\":0.36399996280670166,\"dns\":0,\"tcp\":0,\"firstByte\":156.0023000240326,\"download\":1.451200008392334,\"process\":0.04890000820159912,\"total\":160.01620000600815}},\"request\":{\"url\":{\"protocol\":\"http\",\"port\":\"5005\",\"path\":[\"api\",\"aPIJSON\",\"delete\"],\"host\":[\"localhost\"],\"query\":[],\"variable\":[]},\"header\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"system\":true},{\"key\":\"Accept\",\"value\":\"*/*\",\"system\":true},{\"key\":\"Host\",\"value\":\"localhost:5005\",\"system\":true},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\",\"system\":true},{\"key\":\"Connection\",\"value\":\"keep-alive\",\"system\":true},{\"key\":\"Content-Length\",\"value\":55,\"system\":true}],\"method\":\"POST\",\"baseUrl\":\"http://localhost:5005\",\"body\":{\"mode\":\"raw\",\"raw\":\"{\\r\\n    \\\"table3\\\": {\\r\\n\\\"id\\\":[32761630528069,239]\\r\\n    }\\r\\n}\",\"generateMode\":\"normal\",\"type\":\"application/json\"},\"auth\":{\"type\":\"bearer\",\"bearer\":[{\"type\":\"any\",\"value\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"key\":\"token\"}]},\"type\":\"http\"},\"history\":{\"execution\":{\"verbose\":false,\"sessions\":{},\"data\":[{\"request\":{\"method\":\"POST\",\"href\":\"http://localhost:5005/api/aPIJSON/delete\",\"headers\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\"},{\"key\":\"Accept\",\"value\":\"*/*\"},{\"key\":\"Host\",\"value\":\"localhost:5005\"},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\"},{\"key\":\"Connection\",\"value\":\"keep-alive\"},{\"key\":\"Content-Length\",\"value\":\"55\"}],\"httpVersion\":\"1.1\"},\"response\":{\"statusCode\":200,\"headers\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Mon, 11 Mar 2024 07:34:26 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.32\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86396\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-12T07:26:16.5966009Z\"}],\"httpVersion\":\"1.1\"},\"timings\":{\"start\":1710142466906,\"requestStart\":1710142466908,\"offset\":{\"request\":2.1498000025749207,\"socket\":2.5137999653816223,\"response\":158.51609998941422,\"end\":159.96729999780655,\"lookup\":2.5137999653816223,\"connect\":2.5137999653816223,\"done\":160.01620000600815}}}]}},\"responseValidation\":{},\"passed\":true,\"metaInfo\":{\"httpApiId\":152848475,\"httpApiCaseId\":143368262,\"httpApiName\":\"鍒犻櫎\",\"httpApiPath\":\"/api/aPIJSON/delete\",\"httpApiMethod\":\"post\",\"httpApiCaseName\":\"鎵归噺鍒犻櫎id\"}}","preProcessors":[],"postProcessors":[],"inheritPostProcessors":{},"inheritPreProcessors":{}},{"id":143543753,"type":"http","path":null,"name":"鎵归噺鍒犻櫎锛堝尮閰嶆潯浠讹級","responseId":0,"parameters":{"query":[],"path":[],"cookie":[],"header":[]},"commonParameters":{"query":[],"body":[],"header":[],"cookie":[]},"requestBody":{"parameters":[],"data":"{\r\n    \"table1\": {\r\n        \"httpmethod\": [\"GET\",\"POST\"],\r\n        \"ThreadId\": [37,39],\"Actionname\":\"SwaggerCheckUrl\",\"loglevel\":2.5,\"isdelete\":false\r\n    }\r\n}","generateMode":"normal"},"auth":{},"advancedSettings":{"disabledSystemHeaders":{},"isDefaultUrlEncoding":2,"disableUrlEncoding":false},"requestResult":"{\"id\":\"temp.44a9ebb3-1e3d-4049-936a-a412fb468f00\",\"cursor\":{\"position\":0,\"iteration\":0,\"length\":1,\"cycles\":1,\"empty\":false,\"eof\":false,\"bof\":true,\"cr\":false,\"ref\":\"44a9ebb3-1e3d-4049-936a-a412fb468f00\",\"requestIndex\":0,\"httpRequestId\":\"2365b41d-b930-4f24-85d5-12b1198e2c4d\"},\"type\":\"http\",\"response\":{\"id\":\"097a32a0-1cbe-410f-979f-e1170b268276\",\"status\":\"OK\",\"code\":200,\"header\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Thu, 07 Mar 2024 10:10:46 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.32\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86399\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-08T10:10:47.0961001Z\"}],\"trailer\":[],\"stream\":{\"type\":\"Buffer\",\"data\":[123,34,99,111,100,101,34,58,50,48,48,44,34,116,121,112,101,34,58,34,115,117,99,99,101,115,115,34,44,34,109,101,115,115,97,103,101,34,58,34,34,44,34,114,101,115,117,108,116,34,58,123,34,116,97,98,108,101,49,34,58,123,34,104,116,116,112,109,101,116,104,111,100,34,58,91,34,71,69,84,34,44,34,80,79,83,84,34,93,44,34,84,104,114,101,97,100,73,100,34,58,91,51,55,44,51,57,93,44,34,65,99,116,105,111,110,110,97,109,101,34,58,34,83,119,97,103,103,101,114,67,104,101,99,107,85,114,108,34,44,34,108,111,103,108,101,118,101,108,34,58,50,46,53,44,34,105,115,100,101,108,101,116,101,34,58,102,97,108,115,101,44,34,99,111,117,110,116,34,58,48,125,125,44,34,101,120,116,114,97,115,34,58,110,117,108,108,44,34,116,105,109,101,34,58,34,50,48,50,52,45,48,51,45,48,55,32,49,56,58,49,48,58,52,55,34,125]},\"cookie\":[],\"responseTime\":602,\"responseSize\":227,\"type\":\"http\",\"tempFilePath\":\"\"},\"request\":{\"url\":{\"protocol\":\"http\",\"port\":\"5005\",\"path\":[\"api\",\"aPIJSON\",\"delete\"],\"host\":[\"localhost\"],\"query\":[],\"variable\":[]},\"header\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"system\":true},{\"key\":\"Accept\",\"value\":\"*/*\",\"system\":true},{\"key\":\"Host\",\"value\":\"localhost:5005\",\"system\":true},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\",\"system\":true},{\"key\":\"Connection\",\"value\":\"keep-alive\",\"system\":true},{\"key\":\"Content-Length\",\"value\":159,\"system\":true}],\"method\":\"POST\",\"baseUrl\":\"http://localhost:5005\",\"body\":{\"mode\":\"raw\",\"raw\":\"{\\r\\n    \\\"table1\\\": {\\r\\n        \\\"httpmethod\\\": [\\\"GET\\\",\\\"POST\\\"],\\r\\n        \\\"ThreadId\\\": [37,39],\\\"Actionname\\\":\\\"SwaggerCheckUrl\\\",\\\"loglevel\\\":2.5,\\\"isdelete\\\":false\\r\\n    }\\r\\n}\",\"generateMode\":\"normal\",\"type\":\"application/json\"},\"auth\":{\"type\":\"bearer\",\"bearer\":[{\"type\":\"any\",\"value\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\",\"key\":\"token\"}]},\"type\":\"http\"},\"history\":{\"execution\":{\"verbose\":false,\"sessions\":{},\"data\":[{\"request\":{\"method\":\"POST\",\"href\":\"http://localhost:5005/api/aPIJSON/delete\",\"headers\":[{\"key\":\"User-Agent\",\"value\":\"Apifox/1.0.0 (https://apifox.com)\"},{\"key\":\"Content-Type\",\"value\":\"application/json\"},{\"key\":\"Authorization\",\"value\":\"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec\"},{\"key\":\"Accept\",\"value\":\"*/*\"},{\"key\":\"Host\",\"value\":\"localhost:5005\"},{\"key\":\"Accept-Encoding\",\"value\":\"gzip, deflate, br\"},{\"key\":\"Connection\",\"value\":\"keep-alive\"},{\"key\":\"Content-Length\",\"value\":\"159\"}],\"httpVersion\":\"1.1\"},\"response\":{\"statusCode\":200,\"headers\":[{\"key\":\"Content-Type\",\"value\":\"application/json; charset=utf-8\"},{\"key\":\"Date\",\"value\":\"Thu, 07 Mar 2024 10:10:46 GMT\"},{\"key\":\"Server\",\"value\":\"Kestrel\"},{\"key\":\"Content-Language\",\"value\":\"zh-CN\"},{\"key\":\"Transfer-Encoding\",\"value\":\"chunked\"},{\"key\":\"environment\",\"value\":\"Development\"},{\"key\":\"Furion\",\"value\":\"4.9.1.32\"},{\"key\":\"X-Rate-Limit-Limit\",\"value\":\"1d\"},{\"key\":\"X-Rate-Limit-Remaining\",\"value\":\"86399\"},{\"key\":\"X-Rate-Limit-Reset\",\"value\":\"2024-03-08T10:10:47.0961001Z\"}],\"httpVersion\":\"1.1\"},\"timings\":{\"start\":1709806246909,\"requestStart\":1709806246912,\"offset\":{\"request\":2.155799984931946,\"socket\":3.6095999479293823,\"lookup\":3.9983999729156494,\"connect\":4.8549999594688416,\"response\":602.0516999959946,\"end\":603.2913999557495,\"done\":603.3172999620438}}}]}},\"responseValidation\":{},\"passed\":true,\"metaInfo\":{\"httpApiId\":152848475,\"httpApiCaseId\":143543753,\"httpApiName\":\"鍒犻櫎\",\"httpApiPath\":\"/api/aPIJSON/delete\",\"httpApiMethod\":\"post\",\"httpApiCaseName\":\"鎵归噺鍒犻櫎2\"}}","preProcessors":[],"postProcessors":[],"inheritPostProcessors":{},"inheritPreProcessors":{}}],"mocks":[],"customApiFields":"{}","advancedSettings":{"disabledSystemHeaders":{}},"mockScript":{},"codeSamples":[],"commonResponseStatus":{},"responseChildren":["BLANK.408753514"],"preProcessors":[],"postProcessors":[],"inheritPostProcessors":{},"inheritPreProcessors":{}}}]}]}],"socketCollection":[],"docCollection":[],"schemaCollection":[{"name":"鏍圭洰褰�","items":[{"name":"Schemas","items":[{"name":"AccountTypeEnum","displayName":"","id":"#/definitions/84275167","description":"璐﹀彿绫诲瀷鏋氫妇<br />&nbsp;浼氬憳 Member = 666<br />&nbsp;鏅�氳处鍙� NormalUser = 777<br />&nbsp;绯荤粺绠$悊鍛� SysAdmin = 888<br />&nbsp;瓒呯骇绠$悊鍛� SuperAdmin = 999<br />","schema":{"jsonSchema":{"enum":[666,777,888,999],"type":"integer","description":"璐﹀彿绫诲瀷鏋氫妇<br />&nbsp;浼氬憳 Member = 666<br />&nbsp;鏅�氳处鍙� NormalUser = 777<br />&nbsp;绯荤粺绠$悊鍛� SysAdmin = 888<br />&nbsp;瓒呯骇绠$悊鍛� SuperAdmin = 999<br />","format":"int32"}}},{"name":"AddCodeGenInput","displayName":"","id":"#/definitions/84275168","description":"","schema":{"jsonSchema":{"required":["authorName","busName","generateType","menuPid","nameSpace","tableName"],"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"className":{"type":["string","null"],"description":"绫诲悕"},"tablePrefix":{"type":["string","null"],"description":"鏄惁绉婚櫎琛ㄥ墠缂�"},"configId":{"type":["string","null"],"description":"搴撳畾浣嶅櫒鍚�"},"dbName":{"type":["string","null"],"description":"鏁版嵁搴撳悕(淇濈暀瀛楁)"},"dbType":{"type":["string","null"],"description":"鏁版嵁搴撶被鍨�"},"connectionString":{"type":["string","null"],"description":"鏁版嵁搴撻摼鎺�"},"tableComment":{"type":["string","null"],"description":"鍔熻兘鍚嶏紙鏁版嵁搴撹〃鍚嶇О锛�"},"menuApplication":{"type":["string","null"],"description":"鑿滃崟搴旂敤鍒嗙被锛堝簲鐢ㄧ紪鐮侊級"},"printType":{"type":["string","null"],"description":"鏀寔鎵撳嵃绫诲瀷"},"printName":{"type":["string","null"],"description":"鎵撳嵃妯$増鍚嶇О"},"tableName":{"minLength":1,"type":"string","description":"鏁版嵁搴撹〃鍚�"},"busName":{"minLength":1,"type":"string","description":"涓氬姟鍚嶏紙涓氬姟浠g爜鍖呭悕绉帮級"},"nameSpace":{"minLength":1,"type":"string","description":"鍛藉悕绌洪棿"},"authorName":{"minLength":1,"type":"string","description":"浣滆�呭鍚�"},"generateType":{"minLength":1,"type":"string","description":"鐢熸垚鏂瑰紡"},"menuPid":{"type":"integer","description":"鑿滃崟鐖剁骇","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["page","pageSize","field","order","descStr","className","tablePrefix","configId","dbName","dbType","connectionString","tableComment","menuApplication","printType","printName","tableName","busName","nameSpace","authorName","generateType","menuPid"]}}},{"name":"AddConfigInput","displayName":"","id":"#/definitions/84275169","description":"","schema":{"jsonSchema":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"name":{"maxLength":64,"minLength":1,"type":"string","description":"鍚嶇О"},"code":{"maxLength":64,"type":["string","null"],"description":"缂栫爜"},"value":{"maxLength":64,"type":["string","null"],"description":"灞炴�у��"},"sysFlag":{"$ref":"#/definitions/84275444"},"groupCode":{"maxLength":64,"type":["string","null"],"description":"鍒嗙粍缂栫爜"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":256,"type":["string","null"],"description":"澶囨敞"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","name","code","value","sysFlag","groupCode","orderNo","remark"]}}},{"name":"AddDictDataInput","displayName":"","id":"#/definitions/84275170","description":"","schema":{"jsonSchema":{"required":["code","value"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"dictTypeId":{"type":"integer","description":"瀛楀吀绫诲瀷Id","format":"int64"},"value":{"maxLength":128,"minLength":1,"type":"string","description":"鍊�"},"code":{"maxLength":64,"minLength":1,"type":"string","description":"缂栫爜"},"tagType":{"maxLength":16,"type":["string","null"],"description":"鏄剧ず鏍峰紡-鏍囩棰滆壊"},"styleSetting":{"maxLength":512,"type":["string","null"],"description":"鏄剧ず鏍峰紡-Style(鎺у埗鏄剧ず鏍峰紡)"},"classSetting":{"maxLength":512,"type":["string","null"],"description":"鏄剧ず鏍峰紡-Class(鎺у埗鏄剧ず鏍峰紡)"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":2048,"type":["string","null"],"description":"澶囨敞"},"extData":{"type":["string","null"],"description":"鎷撳睍鏁版嵁(淇濆瓨涓氬姟鍔熻兘鐨勯厤缃」)"},"status":{"$ref":"#/definitions/84275375"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","dictTypeId","value","code","tagType","styleSetting","classSetting","orderNo","remark","extData","status"]}}},{"name":"AddDictTypeInput","displayName":"","id":"#/definitions/84275171","description":"","schema":{"jsonSchema":{"required":["code","name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"name":{"maxLength":64,"minLength":1,"type":"string","description":"鍚嶇О"},"code":{"maxLength":64,"minLength":1,"type":"string","description":"缂栫爜"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":256,"type":["string","null"],"description":"澶囨敞"},"status":{"$ref":"#/definitions/84275375"},"children":{"type":["array","null"],"items":{"$ref":"#/definitions/84275379"},"description":"瀛楀吀鍊奸泦鍚�"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","name","code","orderNo","remark","status","children"]}}},{"name":"AddJobDetailInput","displayName":"","id":"#/definitions/84275172","description":"","schema":{"jsonSchema":{"required":["jobId"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"groupName":{"maxLength":128,"type":["string","null"],"description":"缁勫悕绉�"},"jobType":{"maxLength":128,"type":["string","null"],"description":"浣滀笟绫诲瀷FullName"},"assemblyName":{"maxLength":128,"type":["string","null"],"description":"绋嬪簭闆哊ame"},"description":{"maxLength":128,"type":["string","null"],"description":"鎻忚堪淇℃伅"},"concurrent":{"type":"boolean","description":"鏄惁骞惰鎵ц"},"includeAnnotations":{"type":"boolean","description":"鏄惁鎵弿鐗规�цЕ鍙戝櫒"},"properties":{"type":["string","null"],"description":"棰濆鏁版嵁"},"updatedTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createType":{"$ref":"#/definitions/84275308"},"scriptCode":{"type":["string","null"],"description":"鑴氭湰浠g爜"},"jobId":{"minLength":2,"type":"string","description":"浣滀笟Id"}},"additionalProperties":false,"x-apifox-orders":["id","groupName","jobType","assemblyName","description","concurrent","includeAnnotations","properties","updatedTime","createType","scriptCode","jobId"]}}},{"name":"AddJobTriggerInput","displayName":"","id":"#/definitions/84275173","description":"","schema":{"jsonSchema":{"required":["jobId","triggerId"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"triggerType":{"maxLength":128,"type":["string","null"],"description":"瑙﹀彂鍣ㄧ被鍨婩ullName"},"assemblyName":{"maxLength":128,"type":["string","null"],"description":"绋嬪簭闆哊ame"},"args":{"maxLength":128,"type":["string","null"],"description":"鍙傛暟"},"description":{"maxLength":128,"type":["string","null"],"description":"鎻忚堪淇℃伅"},"status":{"$ref":"#/definitions/84275411"},"startTime":{"type":["string","null"],"description":"璧峰鏃堕棿","format":"date-time"},"endTime":{"type":["string","null"],"description":"缁撴潫鏃堕棿","format":"date-time"},"lastRunTime":{"type":["string","null"],"description":"鏈�杩戣繍琛屾椂闂�","format":"date-time"},"nextRunTime":{"type":["string","null"],"description":"涓嬩竴娆¤繍琛屾椂闂�","format":"date-time"},"numberOfRuns":{"type":"integer","description":"瑙﹀彂娆℃暟","format":"int64"},"maxNumberOfRuns":{"type":"integer","description":"鏈�澶цЕ鍙戞鏁帮紙0:涓嶉檺鍒讹紝n:N娆★級","format":"int64"},"numberOfErrors":{"type":"integer","description":"鍑洪敊娆℃暟","format":"int64"},"maxNumberOfErrors":{"type":"integer","description":"鏈�澶у嚭閿欐鏁帮紙0:涓嶉檺鍒讹紝n:N娆★級","format":"int64"},"numRetries":{"type":"integer","description":"閲嶈瘯娆℃暟","format":"int32"},"retryTimeout":{"type":"integer","description":"閲嶈瘯闂撮殧鏃堕棿锛坢s锛�","format":"int32"},"startNow":{"type":"boolean","description":"鏄惁绔嬪嵆鍚姩"},"runOnStart":{"type":"boolean","description":"鏄惁鍚姩鏃舵墽琛屼竴娆�"},"resetOnlyOnce":{"type":"boolean","description":"鏄惁鍦ㄥ惎鍔ㄦ椂閲嶇疆鏈�澶цЕ鍙戞鏁扮瓑浜庝竴娆$殑浣滀笟"},"updatedTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"jobId":{"minLength":2,"type":"string","description":"浣滀笟Id"},"triggerId":{"minLength":2,"type":"string","description":"瑙﹀彂鍣↖d"}},"additionalProperties":false,"x-apifox-orders":["id","triggerType","assemblyName","args","description","status","startTime","endTime","lastRunTime","nextRunTime","numberOfRuns","maxNumberOfRuns","numberOfErrors","maxNumberOfErrors","numRetries","retryTimeout","startNow","runOnStart","resetOnlyOnce","updatedTime","jobId","triggerId"]}}},{"name":"AddMenuInput","displayName":"","id":"#/definitions/84275174","description":"","schema":{"jsonSchema":{"required":["title"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"pid":{"type":"integer","description":"鐖禝d","format":"int64"},"type":{"$ref":"#/definitions/84275319"},"name":{"maxLength":64,"type":["string","null"],"description":"璺敱鍚嶇О"},"path":{"maxLength":128,"type":["string","null"],"description":"璺敱鍦板潃"},"component":{"maxLength":128,"type":["string","null"],"description":"缁勪欢璺緞"},"redirect":{"maxLength":128,"type":["string","null"],"description":"閲嶅畾鍚�"},"permission":{"maxLength":128,"type":["string","null"],"description":"鏉冮檺鏍囪瘑"},"icon":{"maxLength":128,"type":["string","null"],"description":"鍥炬爣"},"isIframe":{"type":"boolean","description":"鏄惁鍐呭祵"},"outLink":{"maxLength":256,"type":["string","null"],"description":"澶栭摼閾炬帴"},"isHide":{"type":"boolean","description":"鏄惁闅愯棌"},"isKeepAlive":{"type":"boolean","description":"鏄惁缂撳瓨"},"isAffix":{"type":"boolean","description":"鏄惁鍥哄畾"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"status":{"$ref":"#/definitions/84275375"},"remark":{"maxLength":256,"type":["string","null"],"description":"澶囨敞"},"children":{"type":["array","null"],"items":{"$ref":"#/definitions/84275390"},"description":"鑿滃崟瀛愰」"},"title":{"minLength":1,"type":"string","description":"鍚嶇О"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","pid","type","name","path","component","redirect","permission","icon","isIframe","outLink","isHide","isKeepAlive","isAffix","orderNo","status","remark","children","title"]}}},{"name":"AddNoticeInput","displayName":"","id":"#/definitions/84275175","description":"","schema":{"jsonSchema":{"required":["content","title"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"title":{"maxLength":32,"minLength":1,"type":"string","description":"鏍囬"},"content":{"minLength":1,"type":"string","description":"鍐呭"},"type":{"$ref":"#/definitions/84275325"},"publicUserId":{"type":"integer","description":"鍙戝竷浜篒d","format":"int64"},"publicUserName":{"maxLength":32,"type":["string","null"],"description":"鍙戝竷浜哄鍚�"},"publicOrgId":{"type":"integer","description":"鍙戝竷鏈烘瀯Id","format":"int64"},"publicOrgName":{"maxLength":64,"type":["string","null"],"description":"鍙戝竷鏈烘瀯鍚嶇О"},"publicTime":{"type":["string","null"],"description":"鍙戝竷鏃堕棿","format":"date-time"},"cancelTime":{"type":["string","null"],"description":"鎾ゅ洖鏃堕棿","format":"date-time"},"status":{"$ref":"#/definitions/84275324"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","title","content","type","publicUserId","publicUserName","publicOrgId","publicOrgName","publicTime","cancelTime","status"]}}},{"name":"AddOpenAccessInput","displayName":"","id":"#/definitions/84275176","description":"","schema":{"jsonSchema":{"required":["accessKey","accessSecret","bindUserId"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"bindTenantId":{"type":"integer","description":"缁戝畾绉熸埛Id","format":"int64"},"accessKey":{"minLength":1,"type":"string","description":"韬唤鏍囪瘑"},"accessSecret":{"minLength":1,"type":"string","description":"瀵嗛挜"},"bindUserId":{"type":"integer","description":"缁戝畾鐢ㄦ埛Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","bindTenantId","accessKey","accessSecret","bindUserId"]}}},{"name":"AddOrgInput","displayName":"","id":"#/definitions/84275177","description":"","schema":{"jsonSchema":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"pid":{"type":"integer","description":"鐖禝d","format":"int64"},"code":{"maxLength":64,"type":["string","null"],"description":"缂栫爜"},"level":{"type":["integer","null"],"description":"绾у埆","format":"int32"},"type":{"maxLength":64,"type":["string","null"],"description":"鏈烘瀯绫诲瀷-鏁版嵁瀛楀吀"},"directorId":{"type":["integer","null"],"description":"璐熻矗浜篒d","format":"int64"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"status":{"$ref":"#/definitions/84275375"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"children":{"type":["array","null"],"items":{"$ref":"#/definitions/84275395"},"description":"鏈烘瀯瀛愰」"},"disabled":{"type":"boolean","description":"鏄惁绂佹閫変腑"},"name":{"minLength":1,"type":"string","description":"鍚嶇О"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","pid","code","level","type","directorId","orderNo","status","remark","children","disabled","name"]}}},{"name":"AddPluginInput","displayName":"","id":"#/definitions/84275178","description":"","schema":{"jsonSchema":{"required":["csharpCode","name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"csharpCode":{"minLength":1,"type":"string","description":"C#浠g爜"},"assemblyName":{"maxLength":512,"type":["string","null"],"description":"绋嬪簭闆嗗悕绉�"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"status":{"$ref":"#/definitions/84275375"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"name":{"minLength":1,"type":"string","description":"鍚嶇О"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","csharpCode","assemblyName","orderNo","status","remark","name"]}}},{"name":"AddPosInput","displayName":"","id":"#/definitions/84275179","description":"","schema":{"jsonSchema":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"code":{"maxLength":64,"type":["string","null"],"description":"缂栫爜"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"status":{"$ref":"#/definitions/84275375"},"name":{"minLength":1,"type":"string","description":"鍚嶇О"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","code","orderNo","remark","status","name"]}}},{"name":"AddPrintInput","displayName":"","id":"#/definitions/84275180","description":"","schema":{"jsonSchema":{"required":["name","template"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"template":{"minLength":1,"type":"string","description":"鎵撳嵃妯℃澘"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"status":{"$ref":"#/definitions/84275375"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"name":{"minLength":1,"type":"string","description":"鍚嶇О"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","template","orderNo","status","remark","name"]}}},{"name":"AddRegionInput","displayName":"","id":"#/definitions/84275181","description":"","schema":{"jsonSchema":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"pid":{"type":"integer","description":"鐖禝d","format":"int64"},"shortName":{"maxLength":32,"type":["string","null"],"description":"绠�绉�"},"mergerName":{"maxLength":64,"type":["string","null"],"description":"缁勫悎鍚�"},"code":{"maxLength":32,"type":["string","null"],"description":"琛屾斂浠g爜"},"zipCode":{"maxLength":6,"type":["string","null"],"description":"閭斂缂栫爜"},"cityCode":{"maxLength":6,"type":["string","null"],"description":"鍖哄彿"},"level":{"type":"integer","description":"灞傜骇","format":"int32"},"pinYin":{"maxLength":128,"type":["string","null"],"description":"鎷奸煶"},"lng":{"type":"number","description":"缁忓害","format":"float"},"lat":{"type":"number","description":"缁村害","format":"float"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"children":{"type":["array","null"],"items":{"$ref":"#/definitions/84275399"},"description":"鏈烘瀯瀛愰」"},"name":{"minLength":1,"type":"string","description":"鍚嶇О"}},"additionalProperties":false,"x-apifox-orders":["id","pid","shortName","mergerName","code","zipCode","cityCode","level","pinYin","lng","lat","orderNo","remark","children","name"]}}},{"name":"AddRoleInput","displayName":"","id":"#/definitions/84275182","description":"","schema":{"jsonSchema":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"code":{"maxLength":64,"type":["string","null"],"description":"缂栫爜"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"dataScope":{"$ref":"#/definitions/84275269"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"status":{"$ref":"#/definitions/84275375"},"name":{"minLength":1,"type":"string","description":"鍚嶇О"},"menuIdList":{"type":["array","null"],"items":{"type":"integer","format":"int64"},"description":"鑿滃崟Id闆嗗悎"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","code","orderNo","dataScope","remark","status","name","menuIdList"]}}},{"name":"AddSubscribeMessageTemplateInput","displayName":"","id":"#/definitions/84275183","description":"澧炲姞璁㈤槄娑堟伅妯℃澘","schema":{"jsonSchema":{"required":["keyworkIdList","sceneDescription","templateTitleId"],"type":"object","properties":{"templateTitleId":{"minLength":1,"type":"string","description":"妯℃澘鏍囬Id"},"keyworkIdList":{"type":"array","items":{"type":"integer","format":"int32"},"description":"妯℃澘鍏抽敭璇嶅垪琛�,渚嬪 [3,5,4]"},"sceneDescription":{"minLength":1,"type":"string","description":"鏈嶅姟鍦烘櫙鎻忚堪锛�15涓瓧浠ュ唴"}},"additionalProperties":false,"description":"澧炲姞璁㈤槄娑堟伅妯℃澘","x-apifox-orders":["templateTitleId","keyworkIdList","sceneDescription"]}}},{"name":"AddTenantInput","displayName":"","id":"#/definitions/84275184","description":"","schema":{"jsonSchema":{"required":["adminAccount","name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"userId":{"type":"integer","description":"鐢ㄦ埛Id","format":"int64"},"orgId":{"type":"integer","description":"鏈烘瀯Id","format":"int64"},"host":{"maxLength":128,"type":["string","null"],"description":"涓绘満"},"tenantType":{"$ref":"#/definitions/84275409"},"dbType":{"$ref":"#/definitions/84275276"},"connection":{"maxLength":256,"type":["string","null"],"description":"鏁版嵁搴撹繛鎺�"},"configId":{"maxLength":64,"type":["string","null"],"description":"鏁版嵁搴撴爣璇�"},"slaveConnections":{"type":["string","null"],"description":"浠庡簱杩炴帴/璇诲啓鍒嗙"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"status":{"$ref":"#/definitions/84275375"},"email":{"type":["string","null"],"description":"鐢靛瓙閭"},"phone":{"type":["string","null"],"description":"鐢佃瘽"},"name":{"minLength":2,"type":"string","description":"绉熸埛鍚嶇О"},"adminAccount":{"minLength":3,"type":"string","description":"绉熺璐﹀彿"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","userId","orgId","host","tenantType","dbType","connection","configId","slaveConnections","orderNo","remark","status","email","phone","name","adminAccount"]}}},{"name":"AddUserInput","displayName":"","id":"#/definitions/84275185","description":"澧炲姞鐢ㄦ埛杈撳叆鍙傛暟","schema":{"jsonSchema":{"required":["account","realName"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"nickName":{"maxLength":32,"type":["string","null"],"description":"鏄电О"},"avatar":{"maxLength":512,"type":["string","null"],"description":"澶村儚"},"sex":{"$ref":"#/definitions/84275305"},"age":{"type":"integer","description":"骞撮緞","format":"int32"},"birthday":{"type":["string","null"],"description":"鍑虹敓鏃ユ湡","format":"date-time"},"nation":{"maxLength":32,"type":["string","null"],"description":"姘戞棌"},"phone":{"maxLength":16,"type":["string","null"],"description":"鎵嬫満鍙风爜"},"cardType":{"$ref":"#/definitions/84275258"},"idCardNum":{"maxLength":32,"type":["string","null"],"description":"韬唤璇佸彿"},"email":{"maxLength":64,"type":["string","null"],"description":"閭"},"address":{"maxLength":256,"type":["string","null"],"description":"鍦板潃"},"cultureLevel":{"$ref":"#/definitions/84275267"},"politicalOutlook":{"maxLength":16,"type":["string","null"],"description":"鏀挎不闈㈣矊"},"college":{"maxLength":128,"type":["string","null"],"description":"姣曚笟闄㈡牎"},"officePhone":{"maxLength":16,"type":["string","null"],"description":"鍔炲叕鐢佃瘽"},"emergencyContact":{"maxLength":32,"type":["string","null"],"description":"绱ф�ヨ仈绯讳汉"},"emergencyPhone":{"maxLength":16,"type":["string","null"],"description":"绱ф�ヨ仈绯讳汉鐢佃瘽"},"emergencyAddress":{"maxLength":256,"type":["string","null"],"description":"绱ф�ヨ仈绯讳汉鍦板潃"},"introduction":{"maxLength":512,"type":["string","null"],"description":"涓汉绠�浠�"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"status":{"$ref":"#/definitions/84275375"},"remark":{"maxLength":256,"type":["string","null"],"description":"澶囨敞"},"accountType":{"$ref":"#/definitions/84275167"},"orgId":{"type":"integer","description":"鐩村睘鏈烘瀯Id","format":"int64"},"sysOrg":{"$ref":"#/definitions/84275395"},"managerUserId":{"type":["integer","null"],"description":"鐩村睘涓荤Id","format":"int64"},"posId":{"type":"integer","description":"鑱屼綅Id","format":"int64"},"jobNum":{"maxLength":32,"type":["string","null"],"description":"宸ュ彿"},"posLevel":{"maxLength":32,"type":["string","null"],"description":"鑱岀骇"},"posTitle":{"maxLength":32,"type":["string","null"],"description":"鑱岀О"},"expertise":{"maxLength":32,"type":["string","null"],"description":"鎿呴暱棰嗗煙"},"officeZone":{"maxLength":32,"type":["string","null"],"description":"鍔炲叕鍖哄煙"},"office":{"maxLength":32,"type":["string","null"],"description":"鍔炲叕瀹�"},"joinDate":{"type":["string","null"],"description":"鍏ヨ亴鏃ユ湡","format":"date-time"},"lastLoginIp":{"maxLength":256,"type":["string","null"],"description":"鏈�鏂扮櫥褰旾p"},"lastLoginAddress":{"maxLength":128,"type":["string","null"],"description":"鏈�鏂扮櫥褰曞湴鐐�"},"lastLoginTime":{"type":["string","null"],"description":"鏈�鏂扮櫥褰曟椂闂�","format":"date-time"},"lastLoginDevice":{"maxLength":128,"type":["string","null"],"description":"鏈�鏂扮櫥褰曡澶�"},"signature":{"maxLength":512,"type":["string","null"],"description":"鐢靛瓙绛惧悕"},"account":{"minLength":1,"type":"string","description":"璐﹀彿"},"realName":{"minLength":1,"type":"string","description":"鐪熷疄濮撳悕"},"roleIdList":{"type":["array","null"],"items":{"type":"integer","format":"int64"},"description":"瑙掕壊闆嗗悎"},"extOrgIdList":{"type":["array","null"],"items":{"$ref":"#/definitions/84275402"},"description":"鎵╁睍鏈烘瀯闆嗗悎"}},"additionalProperties":false,"description":"澧炲姞鐢ㄦ埛杈撳叆鍙傛暟","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","nickName","avatar","sex","age","birthday","nation","phone","cardType","idCardNum","email","address","cultureLevel","politicalOutlook","college","officePhone","emergencyContact","emergencyPhone","emergencyAddress","introduction","orderNo","status","remark","accountType","orgId","sysOrg","managerUserId","posId","jobNum","posLevel","posTitle","expertise","officeZone","office","joinDate","lastLoginIp","lastLoginAddress","lastLoginTime","lastLoginDevice","signature","account","realName","roleIdList","extOrgIdList"]}}},{"name":"AdminResult_Boolean","displayName":"","id":"#/definitions/84275186","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":"boolean","description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_IActionResult","displayName":"","id":"#/definitions/84275187","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275306"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_Int32","displayName":"","id":"#/definitions/84275188","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":"integer","description":"鏁版嵁","format":"int32"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_Int64","displayName":"","id":"#/definitions/84275189","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":"integer","description":"鏁版嵁","format":"int64"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_JObject","displayName":"","id":"#/definitions/84275190","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["object","null"],"additionalProperties":{"$ref":"#/definitions/84275307"},"description":"鏁版嵁","x-apifox-orders":[]},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_ApiOutput","displayName":"","id":"#/definitions/84275191","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275257"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_CodeGenConfig","displayName":"","id":"#/definitions/84275192","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275261"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_ColumnOuput","displayName":"","id":"#/definitions/84275193","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275263"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_ConstOutput","displayName":"","id":"#/definitions/84275194","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275264"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_DatabaseOutput","displayName":"","id":"#/definitions/84275195","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275270"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_DbColumnOutput","displayName":"","id":"#/definitions/84275196","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275272"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_DbTableInfo","displayName":"","id":"#/definitions/84275197","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275274"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_EnumEntity","displayName":"","id":"#/definitions/84275198","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275301"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_EnumTypeOutput","displayName":"","id":"#/definitions/84275199","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275302"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_Int64","displayName":"","id":"#/definitions/84275200","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"type":"integer","format":"int64"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_MenuOutput","displayName":"","id":"#/definitions/84275201","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275318"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_RoleOutput","displayName":"","id":"#/definitions/84275202","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275349"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_String","displayName":"","id":"#/definitions/84275203","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"type":"string"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_SysConfig","displayName":"","id":"#/definitions/84275204","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275378"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_SysDictData","displayName":"","id":"#/definitions/84275205","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275379"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_SysDictType","displayName":"","id":"#/definitions/84275206","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275380"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_SysFile","displayName":"","id":"#/definitions/84275207","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275381"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_SysJobCluster","displayName":"","id":"#/definitions/84275208","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275382"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_SysJobTrigger","displayName":"","id":"#/definitions/84275209","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275384"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_SysMenu","displayName":"","id":"#/definitions/84275210","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275390"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_SysNotice","displayName":"","id":"#/definitions/84275211","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275392"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_SysOrg","displayName":"","id":"#/definitions/84275212","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275395"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_SysPos","displayName":"","id":"#/definitions/84275213","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275397"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_SysRegion","displayName":"","id":"#/definitions/84275214","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275399"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_SysUser","displayName":"","id":"#/definitions/84275215","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275401"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_SysUserExtOrg","displayName":"","id":"#/definitions/84275216","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275402"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_List_TableOutput","displayName":"","id":"#/definitions/84275217","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["array","null"],"items":{"$ref":"#/definitions/84275405"},"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_LoginOutput","displayName":"","id":"#/definitions/84275218","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275315"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_LoginUserOutput","displayName":"","id":"#/definitions/84275219","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275317"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_Object","displayName":"","id":"#/definitions/84275220","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"additionalProperties":false,"description":"鏁版嵁","type":"null"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SmKeyPairOutput","displayName":"","id":"#/definitions/84275221","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275352"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_JobDetailOutput","displayName":"","id":"#/definitions/84275222","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275353"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_OpenAccessOutput","displayName":"","id":"#/definitions/84275223","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275354"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysCodeGen","displayName":"","id":"#/definitions/84275224","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275355"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysConfig","displayName":"","id":"#/definitions/84275225","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275356"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysDictData","displayName":"","id":"#/definitions/84275226","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275357"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysDictType","displayName":"","id":"#/definitions/84275227","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275358"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysFile","displayName":"","id":"#/definitions/84275228","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275359"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysJobTriggerRecord","displayName":"","id":"#/definitions/84275229","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275360"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysLogDiff","displayName":"","id":"#/definitions/84275230","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275361"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysLogEx","displayName":"","id":"#/definitions/84275231","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275362"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysLogOp","displayName":"","id":"#/definitions/84275232","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275363"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysLogVis","displayName":"","id":"#/definitions/84275233","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275364"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysNotice","displayName":"","id":"#/definitions/84275234","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275365"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysNoticeUser","displayName":"","id":"#/definitions/84275235","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275366"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysOnlineUser","displayName":"","id":"#/definitions/84275236","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275367"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysPlugin","displayName":"","id":"#/definitions/84275237","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275368"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysPrint","displayName":"","id":"#/definitions/84275238","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275369"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysRegion","displayName":"","id":"#/definitions/84275239","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275370"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysRole","displayName":"","id":"#/definitions/84275240","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275371"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_SysWechatUser","displayName":"","id":"#/definitions/84275241","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275372"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_TenantOutput","displayName":"","id":"#/definitions/84275242","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275373"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SqlSugarPagedList_UserOutput","displayName":"","id":"#/definitions/84275243","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275374"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_String","displayName":"","id":"#/definitions/84275244","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"type":["string","null"],"description":"鏁版嵁"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SysCodeGen","displayName":"","id":"#/definitions/84275245","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275376"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SysCodeGenConfig","displayName":"","id":"#/definitions/84275246","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275377"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SysConfig","displayName":"","id":"#/definitions/84275247","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275378"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SysDictData","displayName":"","id":"#/definitions/84275248","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275379"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SysDictType","displayName":"","id":"#/definitions/84275249","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275380"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SysFile","displayName":"","id":"#/definitions/84275250","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275381"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SysPrint","displayName":"","id":"#/definitions/84275251","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275398"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SysUser","displayName":"","id":"#/definitions/84275252","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275401"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_SysWechatPay","displayName":"","id":"#/definitions/84275253","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275403"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_WechatPayOutput","displayName":"","id":"#/definitions/84275254","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275436"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_WxOpenIdOutput","displayName":"","id":"#/definitions/84275255","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275442"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"AdminResult_WxPhoneOutput","displayName":"","id":"#/definitions/84275256","description":"鍏ㄥ眬杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"code":{"type":"integer","description":"鐘舵�佺爜","format":"int32"},"type":{"type":["string","null"],"description":"绫诲瀷success銆亀arning銆乪rror"},"message":{"type":["string","null"],"description":"閿欒淇℃伅"},"result":{"$ref":"#/definitions/84275443"},"extras":{"additionalProperties":false,"description":"闄勫姞鏁版嵁","type":"null"},"time":{"type":"string","description":"鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"鍏ㄥ眬杩斿洖缁撴灉","x-apifox-orders":["code","type","message","result","extras","time"]}}},{"name":"ApiOutput","displayName":"","id":"#/definitions/84275257","description":"鎺ュ彛/鍔ㄦ�丄PI杈撳嚭","schema":{"jsonSchema":{"type":"object","properties":{"groupName":{"type":["string","null"],"description":"缁勫悕绉�"},"displayName":{"type":["string","null"],"description":"鎺ュ彛鍚嶇О"},"routeName":{"type":["string","null"],"description":"璺敱鍚嶇О"}},"additionalProperties":false,"description":"鎺ュ彛/鍔ㄦ�丄PI杈撳嚭","x-apifox-orders":["groupName","displayName","routeName"]}}},{"name":"CardTypeEnum","displayName":"","id":"#/definitions/84275258","description":"璇佷欢绫诲瀷鏋氫妇<br />&nbsp;韬唤璇� IdCard = 0<br />&nbsp;鎶ょ収 PassportCard = 1<br />&nbsp;鍑虹敓璇� BirthCard = 2<br />&nbsp;娓境鍙伴�氳璇� GatCard = 3<br />&nbsp;澶栧浗浜哄眳鐣欒瘉 ForeignCard = 4<br />&nbsp;钀ヤ笟鎵х収 License = 5<br />","schema":{"jsonSchema":{"enum":[0,1,2,3,4,5],"type":"integer","description":"璇佷欢绫诲瀷鏋氫妇<br />&nbsp;韬唤璇� IdCard = 0<br />&nbsp;鎶ょ収 PassportCard = 1<br />&nbsp;鍑虹敓璇� BirthCard = 2<br />&nbsp;娓境鍙伴�氳璇� GatCard = 3<br />&nbsp;澶栧浗浜哄眳鐣欒瘉 ForeignCard = 4<br />&nbsp;钀ヤ笟鎵х収 License = 5<br />","format":"int32"}}},{"name":"ChangePwdInput","displayName":"","id":"#/definitions/84275259","description":"淇敼鐢ㄦ埛瀵嗙爜杈撳叆鍙傛暟","schema":{"jsonSchema":{"required":["passwordNew","passwordOld"],"type":"object","properties":{"passwordOld":{"minLength":1,"type":"string","description":"褰撳墠瀵嗙爜"},"passwordNew":{"maxLength":20,"minLength":5,"type":"string","description":"鏂板瘑鐮�"}},"additionalProperties":false,"description":"淇敼鐢ㄦ埛瀵嗙爜杈撳叆鍙傛暟","x-apifox-orders":["passwordOld","passwordNew"]}}},{"name":"ClusterStatus","displayName":"","id":"#/definitions/84275260","description":"<br />&nbsp; Crashed = 0<br />&nbsp; Working = 1<br />&nbsp; Waiting = 2<br />","schema":{"jsonSchema":{"enum":[0,1,2],"type":"integer","description":"<br />&nbsp; Crashed = 0<br />&nbsp; Working = 1<br />&nbsp; Waiting = 2<br />","format":"int32"}}},{"name":"CodeGenConfig","displayName":"","id":"#/definitions/84275261","description":"浠g爜鐢熸垚璇︾粏閰嶇疆鍙傛暟","schema":{"jsonSchema":{"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"},"codeGenId":{"type":"integer","description":"浠g爜鐢熸垚涓昏〃ID","format":"int64"},"columnName":{"type":["string","null"],"description":"鏁版嵁搴撳瓧娈靛悕"},"propertyName":{"type":["string","null"],"description":"瀹炰綋灞炴�у悕"},"columnLength":{"type":"integer","description":"瀛楁鏁版嵁闀垮害","format":"int32"},"lowerPropertyName":{"type":["string","null"],"description":"鏁版嵁搴撳瓧娈靛悕(棣栧瓧姣嶅皬鍐�)","readOnly":true},"columnComment":{"type":["string","null"],"description":"瀛楁鎻忚堪"},"netType":{"type":["string","null"],"description":".NET绫诲瀷"},"effectType":{"type":["string","null"],"description":"浣滅敤绫诲瀷锛堝瓧鍏革級"},"fkEntityName":{"type":["string","null"],"description":"澶栭敭瀹炰綋鍚嶇О"},"fkTableName":{"type":["string","null"],"description":"澶栭敭琛ㄥ悕绉�"},"lowerFkEntityName":{"type":["string","null"],"description":"澶栭敭瀹炰綋鍚嶇О(棣栧瓧姣嶅皬鍐�)","readOnly":true},"fkColumnName":{"type":["string","null"],"description":"澶栭敭鏄剧ず瀛楁"},"lowerFkColumnName":{"type":["string","null"],"description":"澶栭敭鏄剧ず瀛楁(棣栧瓧姣嶅皬鍐�)","readOnly":true},"fkColumnNetType":{"type":["string","null"],"description":"澶栭敭鏄剧ず瀛楁.NET绫诲瀷"},"dictTypeCode":{"type":["string","null"],"description":"瀛楀吀code"},"whetherRetract":{"type":["string","null"],"description":"鍒楄〃鏄惁缂╄繘锛堝瓧鍏革級"},"whetherRequired":{"type":["string","null"],"description":"鏄惁蹇呭~锛堝瓧鍏革級"},"whetherSortable":{"type":["string","null"],"description":"鏄惁鍙帓搴忥紙瀛楀吀锛�"},"queryWhether":{"type":["string","null"],"description":"鏄惁鏄煡璇㈡潯浠�"},"queryType":{"type":["string","null"],"description":"鏌ヨ鏂瑰紡"},"whetherTable":{"type":["string","null"],"description":"鍒楄〃鏄剧ず"},"whetherAddUpdate":{"type":["string","null"],"description":"澧炴敼"},"columnKey":{"type":["string","null"],"description":"涓诲閿�"},"dataType":{"type":["string","null"],"description":"鏁版嵁搴撲腑绫诲瀷锛堢墿鐞嗙被鍨嬶級"},"whetherCommon":{"type":["string","null"],"description":"鏄惁鏄�氱敤瀛楁"},"tableNickName":{"type":["string","null"],"description":"琛ㄧ殑鍒悕 Table as XXX","readOnly":true},"displayColumn":{"type":["string","null"],"description":"鏄剧ず鏂囨湰瀛楁"},"valueColumn":{"type":["string","null"],"description":"閫変腑鍊煎瓧娈�"},"pidColumn":{"type":["string","null"],"description":"鐖剁骇瀛楁"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"}},"additionalProperties":false,"description":"浠g爜鐢熸垚璇︾粏閰嶇疆鍙傛暟","x-apifox-orders":["id","codeGenId","columnName","propertyName","columnLength","lowerPropertyName","columnComment","netType","effectType","fkEntityName","fkTableName","lowerFkEntityName","fkColumnName","lowerFkColumnName","fkColumnNetType","dictTypeCode","whetherRetract","whetherRequired","whetherSortable","queryWhether","queryType","whetherTable","whetherAddUpdate","columnKey","dataType","whetherCommon","tableNickName","displayColumn","valueColumn","pidColumn","orderNo"]}}},{"name":"CodeGenInput","displayName":"","id":"#/definitions/84275262","description":"浠g爜鐢熸垚鍙傛暟绫�","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"authorName":{"type":["string","null"],"description":"浣滆�呭鍚�"},"className":{"type":["string","null"],"description":"绫诲悕"},"tablePrefix":{"type":["string","null"],"description":"鏄惁绉婚櫎琛ㄥ墠缂�"},"configId":{"type":["string","null"],"description":"搴撳畾浣嶅櫒鍚�"},"dbName":{"type":["string","null"],"description":"鏁版嵁搴撳悕(淇濈暀瀛楁)"},"dbType":{"type":["string","null"],"description":"鏁版嵁搴撶被鍨�"},"connectionString":{"type":["string","null"],"description":"鏁版嵁搴撻摼鎺�"},"generateType":{"type":["string","null"],"description":"鐢熸垚鏂瑰紡"},"tableName":{"type":["string","null"],"description":"鏁版嵁搴撹〃鍚�"},"nameSpace":{"type":["string","null"],"description":"鍛藉悕绌洪棿"},"busName":{"type":["string","null"],"description":"涓氬姟鍚嶏紙涓氬姟浠g爜鍖呭悕绉帮級"},"tableComment":{"type":["string","null"],"description":"鍔熻兘鍚嶏紙鏁版嵁搴撹〃鍚嶇О锛�"},"menuApplication":{"type":["string","null"],"description":"鑿滃崟搴旂敤鍒嗙被锛堝簲鐢ㄧ紪鐮侊級"},"menuPid":{"type":"integer","description":"鑿滃崟鐖剁骇","format":"int64"},"printType":{"type":["string","null"],"description":"鏀寔鎵撳嵃绫诲瀷"},"printName":{"type":["string","null"],"description":"鎵撳嵃妯$増鍚嶇О"}},"additionalProperties":false,"description":"浠g爜鐢熸垚鍙傛暟绫�","x-apifox-orders":["page","pageSize","field","order","descStr","authorName","className","tablePrefix","configId","dbName","dbType","connectionString","generateType","tableName","nameSpace","busName","tableComment","menuApplication","menuPid","printType","printName"]}}},{"name":"ColumnOuput","displayName":"","id":"#/definitions/84275263","description":"鏁版嵁搴撹〃鍒�","schema":{"jsonSchema":{"type":"object","properties":{"columnName":{"type":["string","null"],"description":"瀛楁鍚�"},"propertyName":{"type":["string","null"],"description":"瀹炰綋鐨凱roperty鍚�"},"columnLength":{"type":"integer","description":"瀛楁鏁版嵁闀垮害","format":"int32"},"dataType":{"type":["string","null"],"description":"鏁版嵁搴撲腑绫诲瀷"},"isPrimarykey":{"type":"boolean","description":"鏄惁涓轰富閿�"},"isNullable":{"type":"boolean","description":"鏄惁鍏佽涓虹┖"},"netType":{"type":["string","null"],"description":".NET瀛楁绫诲瀷"},"columnComment":{"type":["string","null"],"description":"瀛楁鎻忚堪"},"columnKey":{"type":["string","null"],"description":"涓诲閿�"}},"additionalProperties":false,"description":"鏁版嵁搴撹〃鍒�","x-apifox-orders":["columnName","propertyName","columnLength","dataType","isPrimarykey","isNullable","netType","columnComment","columnKey"]}}},{"name":"ConstOutput","displayName":"","id":"#/definitions/84275264","description":"","schema":{"jsonSchema":{"type":"object","properties":{"name":{"type":["string","null"],"description":"鍚嶇О"},"code":{"additionalProperties":false,"description":"缂栫爜","type":"null"},"data":{"additionalProperties":false,"description":"鎵╁睍瀛楁","type":"null"}},"additionalProperties":false,"x-apifox-orders":["name","code","data"]}}},{"name":"CreateEntityInput","displayName":"","id":"#/definitions/84275265","description":"","schema":{"jsonSchema":{"type":"object","properties":{"tableName":{"type":["string","null"],"description":"琛ㄥ悕","examples":["student"]},"entityName":{"type":["string","null"],"description":"瀹炰綋鍚�","examples":["Student"]},"baseClassName":{"type":["string","null"],"description":"鍩虹被鍚�","examples":["AutoIncrementEntity"]},"position":{"type":["string","null"],"description":"瀵煎嚭浣嶇疆","examples":["Web.Application"]},"configId":{"type":["string","null"],"description":"搴撴爣璇�"}},"additionalProperties":false,"x-apifox-orders":["tableName","entityName","baseClassName","position","configId"]}}},{"name":"CreateSeedDataInput","displayName":"","id":"#/definitions/84275266","description":"","schema":{"jsonSchema":{"type":"object","properties":{"configId":{"type":["string","null"],"description":"搴撴爣璇�"},"tableName":{"type":["string","null"],"description":"琛ㄥ悕","examples":["student"]},"entityName":{"type":["string","null"],"description":"瀹炰綋鍚嶇О","examples":["Student"]},"seedDataName":{"type":["string","null"],"description":"绉嶅瓙鍚嶇О","examples":["Student"]},"position":{"type":["string","null"],"description":"瀵煎嚭浣嶇疆","examples":["Web.Application"]},"suffix":{"type":["string","null"],"description":"鍚庣紑","examples":["Web.Application"]}},"additionalProperties":false,"x-apifox-orders":["configId","tableName","entityName","seedDataName","position","suffix"]}}},{"name":"CultureLevelEnum","displayName":"","id":"#/definitions/84275267","description":"鏂囧寲绋嬪害鏋氫妇<br />&nbsp;鍏朵粬 Level0 = 0<br />&nbsp;灏忓 Level1 = 1<br />&nbsp;鍒濅腑 Level2 = 2<br />&nbsp;鏅�氶珮涓� Level3 = 3<br />&nbsp;鎶�宸ュ鏍� Level4 = 4<br />&nbsp;鑱屼笟鏁欒偛 Level5 = 5<br />&nbsp;鑱屼笟楂樹腑 Level6 = 6<br />&nbsp;涓瓑涓撶 Level7 = 7<br />&nbsp;澶у涓撶 Level8 = 8<br />&nbsp;澶у鏈 Level9 = 9<br />&nbsp;纭曞+鐮旂┒鐢� Level10 = 10<br />&nbsp;鍗氬+鐮旂┒鐢� Level11 = 11<br />","schema":{"jsonSchema":{"enum":[0,1,2,3,4,5,6,7,8,9,10,11],"type":"integer","description":"鏂囧寲绋嬪害鏋氫妇<br />&nbsp;鍏朵粬 Level0 = 0<br />&nbsp;灏忓 Level1 = 1<br />&nbsp;鍒濅腑 Level2 = 2<br />&nbsp;鏅�氶珮涓� Level3 = 3<br />&nbsp;鎶�宸ュ鏍� Level4 = 4<br />&nbsp;鑱屼笟鏁欒偛 Level5 = 5<br />&nbsp;鑱屼笟楂樹腑 Level6 = 6<br />&nbsp;涓瓑涓撶 Level7 = 7<br />&nbsp;澶у涓撶 Level8 = 8<br />&nbsp;澶у鏈 Level9 = 9<br />&nbsp;纭曞+鐮旂┒鐢� Level10 = 10<br />&nbsp;鍗氬+鐮旂┒鐢� Level11 = 11<br />","format":"int32"}}},{"name":"DataItem","displayName":"","id":"#/definitions/84275268","description":"","schema":{"jsonSchema":{"type":"object","properties":{"value":{"type":["string","null"]}},"additionalProperties":false,"x-apifox-orders":["value"]}}},{"name":"DataScopeEnum","displayName":"","id":"#/definitions/84275269","description":"瑙掕壊鏁版嵁鑼冨洿鏋氫妇<br />&nbsp;鍏ㄩ儴鏁版嵁 All = 1<br />&nbsp;鏈儴闂ㄥ強浠ヤ笅鏁版嵁 DeptChild = 2<br />&nbsp;鏈儴闂ㄦ暟鎹� Dept = 3<br />&nbsp;浠呮湰浜烘暟鎹� Self = 4<br />&nbsp;鑷畾涔夋暟鎹� Define = 5<br />","schema":{"jsonSchema":{"enum":[1,2,3,4,5],"type":"integer","description":"瑙掕壊鏁版嵁鑼冨洿鏋氫妇<br />&nbsp;鍏ㄩ儴鏁版嵁 All = 1<br />&nbsp;鏈儴闂ㄥ強浠ヤ笅鏁版嵁 DeptChild = 2<br />&nbsp;鏈儴闂ㄦ暟鎹� Dept = 3<br />&nbsp;浠呮湰浜烘暟鎹� Self = 4<br />&nbsp;鑷畾涔夋暟鎹� Define = 5<br />","format":"int32"}}},{"name":"DatabaseOutput","displayName":"","id":"#/definitions/84275270","description":"鏁版嵁搴�","schema":{"jsonSchema":{"type":"object","properties":{"configId":{"type":["string","null"],"description":"搴撳畾浣嶅櫒鍚�"},"dbType":{"$ref":"#/definitions/84275276"},"connectionString":{"type":["string","null"],"description":"鏁版嵁搴撹繛鎺ュ瓧绗︿覆"}},"additionalProperties":false,"description":"鏁版嵁搴�","x-apifox-orders":["configId","dbType","connectionString"]}}},{"name":"DbColumnInput","displayName":"","id":"#/definitions/84275271","description":"","schema":{"jsonSchema":{"type":"object","properties":{"configId":{"type":["string","null"]},"tableName":{"type":["string","null"]},"dbColumnName":{"type":["string","null"]},"dataType":{"type":["string","null"]},"length":{"type":"integer","format":"int32"},"columnDescription":{"type":["string","null"]},"isNullable":{"type":"integer","format":"int32"},"isIdentity":{"type":"integer","format":"int32"},"isPrimarykey":{"type":"integer","format":"int32"},"decimalDigits":{"type":"integer","format":"int32"}},"additionalProperties":false,"x-apifox-orders":["configId","tableName","dbColumnName","dataType","length","columnDescription","isNullable","isIdentity","isPrimarykey","decimalDigits"]}}},{"name":"DbColumnOutput","displayName":"","id":"#/definitions/84275272","description":"","schema":{"jsonSchema":{"type":"object","properties":{"tableName":{"type":["string","null"]},"tableId":{"type":"integer","format":"int32"},"dbColumnName":{"type":["string","null"]},"propertyName":{"type":["string","null"]},"dataType":{"type":["string","null"]},"propertyType":{"additionalProperties":false,"type":"null"},"length":{"type":"integer","format":"int32"},"columnDescription":{"type":["string","null"]},"defaultValue":{"type":["string","null"]},"isNullable":{"type":"boolean"},"isIdentity":{"type":"boolean"},"isPrimarykey":{"type":"boolean"},"value":{"additionalProperties":false,"type":"null"},"decimalDigits":{"type":"integer","format":"int32"},"scale":{"type":"integer","format":"int32"},"isArray":{"type":"boolean"},"isJson":{"type":"boolean"},"isUnsigned":{"type":["boolean","null"]},"createTableFieldSort":{"type":"integer","format":"int32"}},"additionalProperties":false,"x-apifox-orders":["tableName","tableId","dbColumnName","propertyName","dataType","propertyType","length","columnDescription","defaultValue","isNullable","isIdentity","isPrimarykey","value","decimalDigits","scale","isArray","isJson","isUnsigned","createTableFieldSort"]}}},{"name":"DbObjectType","displayName":"","id":"#/definitions/84275273","description":"","schema":{"jsonSchema":{"enum":[0,1,2],"type":"integer","format":"int32"}}},{"name":"DbTableInfo","displayName":"","id":"#/definitions/84275274","description":"","schema":{"jsonSchema":{"type":"object","properties":{"name":{"type":["string","null"]},"description":{"type":["string","null"]},"dbObjectType":{"$ref":"#/definitions/84275273"}},"additionalProperties":false,"x-apifox-orders":["name","description","dbObjectType"]}}},{"name":"DbTableInput","displayName":"","id":"#/definitions/84275275","description":"","schema":{"jsonSchema":{"type":"object","properties":{"configId":{"type":["string","null"]},"tableName":{"type":["string","null"]},"description":{"type":["string","null"]},"dbColumnInfoList":{"type":["array","null"],"items":{"$ref":"#/definitions/84275271"}}},"additionalProperties":false,"x-apifox-orders":["configId","tableName","description","dbColumnInfoList"]}}},{"name":"DbType","displayName":"","id":"#/definitions/84275276","description":"","schema":{"jsonSchema":{"enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,900],"type":"integer","format":"int32"}}},{"name":"DeleteCodeGenInput","displayName":"","id":"#/definitions/84275277","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"浠g爜鐢熸垚鍣↖d","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id"]}}},{"name":"DeleteConfigInput","displayName":"","id":"#/definitions/84275278","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id"]}}},{"name":"DeleteDbColumnInput","displayName":"","id":"#/definitions/84275279","description":"","schema":{"jsonSchema":{"type":"object","properties":{"configId":{"type":["string","null"]},"tableName":{"type":["string","null"]},"dbColumnName":{"type":["string","null"]}},"additionalProperties":false,"x-apifox-orders":["configId","tableName","dbColumnName"]}}},{"name":"DeleteDbTableInput","displayName":"","id":"#/definitions/84275280","description":"","schema":{"jsonSchema":{"type":"object","properties":{"configId":{"type":["string","null"]},"tableName":{"type":["string","null"]}},"additionalProperties":false,"x-apifox-orders":["configId","tableName"]}}},{"name":"DeleteDictDataInput","displayName":"","id":"#/definitions/84275281","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id"]}}},{"name":"DeleteDictTypeInput","displayName":"","id":"#/definitions/84275282","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id"]}}},{"name":"DeleteFileInput","displayName":"","id":"#/definitions/84275283","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id"]}}},{"name":"DeleteJobDetailInput","displayName":"","id":"#/definitions/84275284","description":"","schema":{"jsonSchema":{"type":"object","properties":{"jobId":{"type":["string","null"],"description":"浣滀笟Id"}},"additionalProperties":false,"x-apifox-orders":["jobId"]}}},{"name":"DeleteJobTriggerInput","displayName":"","id":"#/definitions/84275285","description":"","schema":{"jsonSchema":{"type":"object","properties":{"jobId":{"type":["string","null"],"description":"浣滀笟Id"},"triggerId":{"type":["string","null"],"description":"瑙﹀彂鍣↖d"}},"additionalProperties":false,"x-apifox-orders":["jobId","triggerId"]}}},{"name":"DeleteMenuInput","displayName":"","id":"#/definitions/84275286","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id"]}}},{"name":"DeleteMessageTemplateInput","displayName":"","id":"#/definitions/84275287","description":"鍒犻櫎娑堟伅妯℃澘","schema":{"jsonSchema":{"required":["templateId"],"type":"object","properties":{"templateId":{"minLength":1,"type":"string","description":"璁㈤槄妯℃澘Id"}},"additionalProperties":false,"description":"鍒犻櫎娑堟伅妯℃澘","x-apifox-orders":["templateId"]}}},{"name":"DeleteNoticeInput","displayName":"","id":"#/definitions/84275288","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id"]}}},{"name":"DeleteOpenAccessInput","displayName":"","id":"#/definitions/84275289","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id"]}}},{"name":"DeleteOrgInput","displayName":"","id":"#/definitions/84275290","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id"]}}},{"name":"DeletePluginInput","displayName":"","id":"#/definitions/84275291","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id"]}}},{"name":"DeletePosInput","displayName":"","id":"#/definitions/84275292","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id"]}}},{"name":"DeletePrintInput","displayName":"","id":"#/definitions/84275293","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id"]}}},{"name":"DeleteRegionInput","displayName":"","id":"#/definitions/84275294","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id"]}}},{"name":"DeleteRoleInput","displayName":"","id":"#/definitions/84275295","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id"]}}},{"name":"DeleteTenantInput","displayName":"","id":"#/definitions/84275296","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id"]}}},{"name":"DeleteUserInput","displayName":"","id":"#/definitions/84275297","description":"鍒犻櫎鐢ㄦ埛杈撳叆鍙傛暟","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"},"orgId":{"type":"integer","description":"鏈烘瀯Id","format":"int64"}},"additionalProperties":false,"description":"鍒犻櫎鐢ㄦ埛杈撳叆鍙傛暟","x-apifox-orders":["id","orgId"]}}},{"name":"DeleteWechatUserInput","displayName":"","id":"#/definitions/84275298","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id"]}}},{"name":"DictDataInput","displayName":"","id":"#/definitions/84275299","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"},"status":{"$ref":"#/definitions/84275375"}},"additionalProperties":false,"x-apifox-orders":["id","status"]}}},{"name":"DictTypeInput","displayName":"","id":"#/definitions/84275300","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"},"status":{"$ref":"#/definitions/84275375"}},"additionalProperties":false,"x-apifox-orders":["id","status"]}}},{"name":"EnumEntity","displayName":"","id":"#/definitions/84275301","description":"鏋氫妇瀹炰綋","schema":{"jsonSchema":{"type":"object","properties":{"describe":{"type":["string","null"],"description":"鏋氫妇鐨勬弿杩�"},"name":{"type":["string","null"],"description":"鏋氫妇鍚嶇О"},"value":{"type":"integer","description":"鏋氫妇瀵硅薄鐨勫��","format":"int32"}},"additionalProperties":false,"description":"鏋氫妇瀹炰綋","x-apifox-orders":["describe","name","value"]}}},{"name":"EnumTypeOutput","displayName":"","id":"#/definitions/84275302","description":"鏋氫妇绫诲瀷杈撳嚭鍙傛暟","schema":{"jsonSchema":{"type":"object","properties":{"typeDescribe":{"type":["string","null"],"description":"鏋氫妇绫诲瀷鎻忚堪"},"typeName":{"type":["string","null"],"description":"鏋氫妇绫诲瀷鍚嶇О"},"typeRemark":{"type":["string","null"],"description":"鏋氫妇绫诲瀷澶囨敞"}},"additionalProperties":false,"description":"鏋氫妇绫诲瀷杈撳嚭鍙傛暟","x-apifox-orders":["typeDescribe","typeName","typeRemark"]}}},{"name":"FileInput","displayName":"","id":"#/definitions/84275303","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"},"fileName":{"type":["string","null"],"description":"鏂囦欢鍚嶇О"},"url":{"type":["string","null"],"description":"鏂囦欢Url"}},"additionalProperties":false,"x-apifox-orders":["id","fileName","url"]}}},{"name":"GenAuthUrlInput","displayName":"","id":"#/definitions/84275304","description":"鐢熸垚缃戦〉鎺堟潈Url","schema":{"jsonSchema":{"type":"object","properties":{"redirectUrl":{"type":["string","null"],"description":"RedirectUrl"},"scope":{"type":["string","null"],"description":"Scope"}},"additionalProperties":false,"description":"鐢熸垚缃戦〉鎺堟潈Url","x-apifox-orders":["redirectUrl","scope"]}}},{"name":"GenderEnum","displayName":"","id":"#/definitions/84275305","description":"鎬у埆鏋氫妇<br />&nbsp;鐢� Male = 1<br />&nbsp;濂� Female = 2<br />&nbsp;鍏朵粬 Other = 3<br />","schema":{"jsonSchema":{"enum":[1,2,3],"type":"integer","description":"鎬у埆鏋氫妇<br />&nbsp;鐢� Male = 1<br />&nbsp;濂� Female = 2<br />&nbsp;鍏朵粬 Other = 3<br />","format":"int32"}}},{"name":"IActionResult","displayName":"","id":"#/definitions/84275306","description":"","schema":{"jsonSchema":{"type":"object","additionalProperties":false,"x-apifox-orders":[]}}},{"name":"JToken","displayName":"","id":"#/definitions/84275307","description":"","schema":{"jsonSchema":{"type":"array","items":{"$ref":"#/definitions/84275307"}}}},{"name":"JobCreateTypeEnum","displayName":"","id":"#/definitions/84275308","description":"浣滀笟鍒涘缓绫诲瀷鏋氫妇<br />&nbsp;鍐呯疆 BuiltIn = 0<br />&nbsp;鑴氭湰 Script = 1<br />&nbsp;HTTP璇锋眰 Http = 2<br />","schema":{"jsonSchema":{"enum":[0,1,2],"type":"integer","description":"浣滀笟鍒涘缓绫诲瀷鏋氫妇<br />&nbsp;鍐呯疆 BuiltIn = 0<br />&nbsp;鑴氭湰 Script = 1<br />&nbsp;HTTP璇锋眰 Http = 2<br />","format":"int32"}}},{"name":"JobDetailInput","displayName":"","id":"#/definitions/84275309","description":"","schema":{"jsonSchema":{"type":"object","properties":{"jobId":{"type":["string","null"],"description":"浣滀笟Id"}},"additionalProperties":false,"x-apifox-orders":["jobId"]}}},{"name":"JobDetailOutput","displayName":"","id":"#/definitions/84275310","description":"","schema":{"jsonSchema":{"type":"object","properties":{"jobDetail":{"$ref":"#/definitions/84275383"},"jobTriggers":{"type":["array","null"],"items":{"$ref":"#/definitions/84275384"},"description":"瑙﹀彂鍣ㄩ泦鍚�"}},"additionalProperties":false,"x-apifox-orders":["jobDetail","jobTriggers"]}}},{"name":"JobTriggerInput","displayName":"","id":"#/definitions/84275311","description":"","schema":{"jsonSchema":{"type":"object","properties":{"jobId":{"type":["string","null"],"description":"浣滀笟Id"},"triggerId":{"type":["string","null"],"description":"瑙﹀彂鍣↖d"}},"additionalProperties":false,"x-apifox-orders":["jobId","triggerId"]}}},{"name":"LogInput","displayName":"","id":"#/definitions/84275312","description":"","schema":{"jsonSchema":{"type":"object","properties":{"startTime":{"type":["string","null"],"description":"寮�濮嬫椂闂�","format":"date-time"},"endTime":{"type":["string","null"],"description":"缁撴潫鏃堕棿","format":"date-time"}},"additionalProperties":false,"x-apifox-orders":["startTime","endTime"]}}},{"name":"LogLevel","displayName":"","id":"#/definitions/84275313","description":"","schema":{"jsonSchema":{"enum":[0,1,2,3,4,5,6],"type":"integer","format":"int32"}}},{"name":"LoginInput","displayName":"","id":"#/definitions/84275314","description":"鐢ㄦ埛鐧诲綍鍙傛暟","schema":{"jsonSchema":{"required":["account","password"],"type":"object","properties":{"account":{"minLength":2,"type":"string","description":"璐﹀彿","examples":["admin"]},"password":{"minLength":3,"type":"string","description":"瀵嗙爜","examples":["123456"]},"codeId":{"type":"integer","description":"楠岃瘉鐮両d","format":"int64"},"code":{"type":["string","null"],"description":"楠岃瘉鐮�"}},"additionalProperties":false,"description":"鐢ㄦ埛鐧诲綍鍙傛暟","x-apifox-orders":["account","password","codeId","code"]}}},{"name":"LoginOutput","displayName":"","id":"#/definitions/84275315","description":"鐢ㄦ埛鐧诲綍缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"accessToken":{"type":["string","null"],"description":"浠ょ墝Token"},"refreshToken":{"type":["string","null"],"description":"鍒锋柊Token"}},"additionalProperties":false,"description":"鐢ㄦ埛鐧诲綍缁撴灉","x-apifox-orders":["accessToken","refreshToken"]}}},{"name":"LoginPhoneInput","displayName":"","id":"#/definitions/84275316","description":"","schema":{"jsonSchema":{"required":["code","phone"],"type":"object","properties":{"phone":{"minLength":1,"type":"string","description":"鎵嬫満鍙风爜","examples":["admin"]},"code":{"minLength":4,"type":"string","description":"楠岃瘉鐮�","examples":["123456"]}},"additionalProperties":false,"x-apifox-orders":["phone","code"]}}},{"name":"LoginUserOutput","displayName":"","id":"#/definitions/84275317","description":"鐢ㄦ埛鐧诲綍淇℃伅","schema":{"jsonSchema":{"type":"object","properties":{"id":{"type":"integer","description":"鐢ㄦ埛id","format":"int64"},"account":{"type":["string","null"],"description":"璐﹀彿鍚嶇О"},"realName":{"type":["string","null"],"description":"鐪熷疄濮撳悕"},"phone":{"type":["string","null"],"description":"鐢佃瘽"},"idCardNum":{"type":["string","null"],"description":"韬唤璇�"},"email":{"type":["string","null"],"description":"閭"},"accountType":{"$ref":"#/definitions/84275167"},"avatar":{"type":["string","null"],"description":"澶村儚"},"introduction":{"type":["string","null"],"description":"涓汉绠�浠�"},"address":{"type":["string","null"],"description":"鍦板潃"},"signature":{"type":["string","null"],"description":"鐢靛瓙绛惧悕"},"orgId":{"type":"integer","description":"鏈烘瀯Id","format":"int64"},"orgName":{"type":["string","null"],"description":"鏈烘瀯鍚嶇О"},"orgType":{"type":["string","null"],"description":"鏈烘瀯绫诲瀷"},"posName":{"type":["string","null"],"description":"鑱屼綅鍚嶇О"},"buttons":{"type":["array","null"],"items":{"type":"string"},"description":"鎸夐挳鏉冮檺闆嗗悎"},"roleIds":{"type":["array","null"],"items":{"type":"integer","format":"int64"},"description":"瑙掕壊闆嗗悎"}},"additionalProperties":false,"description":"鐢ㄦ埛鐧诲綍淇℃伅","x-apifox-orders":["id","account","realName","phone","idCardNum","email","accountType","avatar","introduction","address","signature","orgId","orgName","orgType","posName","buttons","roleIds"]}}},{"name":"MenuOutput","displayName":"","id":"#/definitions/84275318","description":"绯荤粺鑿滃崟杩斿洖缁撴灉","schema":{"jsonSchema":{"type":"object","properties":{"id":{"type":"integer","description":"Id","format":"int64"},"pid":{"type":"integer","description":"鐖禝d","format":"int64"},"type":{"$ref":"#/definitions/84275319"},"name":{"type":["string","null"],"description":"鍚嶇О"},"path":{"type":["string","null"],"description":"璺敱鍦板潃"},"component":{"type":["string","null"],"description":"缁勪欢璺緞"},"permission":{"type":["string","null"],"description":"鏉冮檺鏍囪瘑"},"redirect":{"type":["string","null"],"description":"閲嶅畾鍚�"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"status":{"$ref":"#/definitions/84275375"},"remark":{"type":["string","null"],"description":"澶囨敞"},"createTime":{"type":"string","description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":"string","description":"淇敼鏃堕棿","format":"date-time"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"meta":{"$ref":"#/definitions/84275391"},"children":{"type":["array","null"],"items":{"$ref":"#/definitions/84275318"},"description":"鑿滃崟瀛愰」"}},"additionalProperties":false,"description":"绯荤粺鑿滃崟杩斿洖缁撴灉","x-apifox-orders":["id","pid","type","name","path","component","permission","redirect","orderNo","status","remark","createTime","updateTime","createUserName","updateUserName","meta","children"]}}},{"name":"MenuTypeEnum","displayName":"","id":"#/definitions/84275319","description":"绯荤粺鑿滃崟绫诲瀷鏋氫妇<br />&nbsp;鐩綍 Dir = 1<br />&nbsp;鑿滃崟 Menu = 2<br />&nbsp;鎸夐挳 Btn = 3<br />","schema":{"jsonSchema":{"enum":[1,2,3],"type":"integer","description":"绯荤粺鑿滃崟绫诲瀷鏋氫妇<br />&nbsp;鐩綍 Dir = 1<br />&nbsp;鑿滃崟 Menu = 2<br />&nbsp;鎸夐挳 Btn = 3<br />","format":"int32"}}},{"name":"MessageInput","displayName":"","id":"#/definitions/84275320","description":"","schema":{"jsonSchema":{"type":"object","properties":{"userId":{"type":"integer","description":"鐢ㄦ埛ID","format":"int64"},"userIds":{"type":["array","null"],"items":{"type":"integer","format":"int64"},"description":"鐢ㄦ埛ID鍒楄〃"},"title":{"type":["string","null"],"description":"娑堟伅鏍囬"},"messageType":{"$ref":"#/definitions/84275322"},"message":{"type":["string","null"],"description":"娑堟伅鍐呭"}},"additionalProperties":false,"x-apifox-orders":["userId","userIds","title","messageType","message"]}}},{"name":"MessageTemplateSendInput","displayName":"","id":"#/definitions/84275321","description":"鑾峰彇娑堟伅妯℃澘鍒楄〃","schema":{"jsonSchema":{"required":["data","templateId","toUserOpenId"],"type":"object","properties":{"templateId":{"minLength":1,"type":"string","description":"璁㈤槄妯℃澘Id"},"toUserOpenId":{"minLength":1,"type":"string","description":"鎺ユ敹鑰呯殑OpenId"},"data":{"type":"object","additionalProperties":{"$ref":"#/definitions/84275268"},"description":"妯℃澘鏁版嵁锛屾牸寮忓舰濡� { \"key1\": { \"value\": any }, \"key2\": { \"value\": any } }","x-apifox-orders":[]},"url":{"type":["string","null"],"description":"妯℃澘璺宠浆閾炬帴"},"miniProgramPagePath":{"type":["string","null"],"description":"鎵�闇�璺宠浆鍒板皬绋嬪簭鐨勫叿浣撻〉闈㈣矾寰勶紝鏀寔甯﹀弬鏁�,锛堢ず渚媔ndex?foo=bar锛�"}},"additionalProperties":false,"description":"鑾峰彇娑堟伅妯℃澘鍒楄〃","x-apifox-orders":["templateId","toUserOpenId","data","url","miniProgramPagePath"]}}},{"name":"MessageTypeEnum","displayName":"","id":"#/definitions/84275322","description":"娑堟伅绫诲瀷鏋氫妇<br />&nbsp;娑堟伅 Info = 0<br />&nbsp;鎴愬姛 Success = 1<br />&nbsp;璀﹀憡 Warning = 2<br />&nbsp;閿欒 Error = 3<br />","schema":{"jsonSchema":{"enum":[0,1,2,3],"type":"integer","description":"娑堟伅绫诲瀷鏋氫妇<br />&nbsp;娑堟伅 Info = 0<br />&nbsp;鎴愬姛 Success = 1<br />&nbsp;璀﹀憡 Warning = 2<br />&nbsp;閿欒 Error = 3<br />","format":"int32"}}},{"name":"NoticeInput","displayName":"","id":"#/definitions/84275323","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id"]}}},{"name":"NoticeStatusEnum","displayName":"","id":"#/definitions/84275324","description":"閫氱煡鍏憡鐘舵�佹灇涓�<br />&nbsp;鑽夌 DRAFT = 0<br />&nbsp;鍙戝竷 PUBLIC = 1<br />&nbsp;鎾ゅ洖 CANCEL = 2<br />&nbsp;鍒犻櫎 DELETED = 3<br />","schema":{"jsonSchema":{"enum":[0,1,2,3],"type":"integer","description":"閫氱煡鍏憡鐘舵�佹灇涓�<br />&nbsp;鑽夌 DRAFT = 0<br />&nbsp;鍙戝竷 PUBLIC = 1<br />&nbsp;鎾ゅ洖 CANCEL = 2<br />&nbsp;鍒犻櫎 DELETED = 3<br />","format":"int32"}}},{"name":"NoticeTypeEnum","displayName":"","id":"#/definitions/84275325","description":"閫氱煡鍏憡鐘剁被鍨嬫灇涓�<br />&nbsp;閫氱煡 NOTICE = 1<br />&nbsp;鍏憡 ANNOUNCEMENT = 2<br />","schema":{"jsonSchema":{"enum":[1,2],"type":"integer","description":"閫氱煡鍏憡鐘剁被鍨嬫灇涓�<br />&nbsp;閫氱煡 NOTICE = 1<br />&nbsp;鍏憡 ANNOUNCEMENT = 2<br />","format":"int32"}}},{"name":"NoticeUserStatusEnum","displayName":"","id":"#/definitions/84275326","description":"閫氱煡鍏憡鐢ㄦ埛鐘舵�佹灇涓�<br />&nbsp;鏈 UNREAD = 0<br />&nbsp;宸茶 READ = 1<br />","schema":{"jsonSchema":{"enum":[0,1],"type":"integer","description":"閫氱煡鍏憡鐢ㄦ埛鐘舵�佹灇涓�<br />&nbsp;鏈 UNREAD = 0<br />&nbsp;宸茶 READ = 1<br />","format":"int32"}}},{"name":"OpenAccessInput","displayName":"","id":"#/definitions/84275327","description":"寮�鏀炬帴鍙h韩浠借緭鍏ュ弬鏁�","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"accessKey":{"type":["string","null"],"description":"韬唤鏍囪瘑"}},"additionalProperties":false,"description":"寮�鏀炬帴鍙h韩浠借緭鍏ュ弬鏁�","x-apifox-orders":["page","pageSize","field","order","descStr","accessKey"]}}},{"name":"OpenAccessOutput","displayName":"","id":"#/definitions/84275328","description":"","schema":{"jsonSchema":{"required":["accessKey","accessSecret"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"accessKey":{"maxLength":128,"minLength":1,"type":"string","description":"韬唤鏍囪瘑"},"accessSecret":{"maxLength":256,"minLength":1,"type":"string","description":"瀵嗛挜"},"bindTenantId":{"type":"integer","description":"缁戝畾绉熸埛Id","format":"int64"},"bindUserId":{"type":"integer","description":"缁戝畾鐢ㄦ埛Id","format":"int64"},"bindUserAccount":{"type":["string","null"],"description":"缁戝畾鐢ㄦ埛璐﹀彿"},"bindTenantName":{"type":["string","null"],"description":"缁戝畾绉熸埛鍚嶇О"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","accessKey","accessSecret","bindTenantId","bindUserId","bindUserAccount","bindTenantName"]}}},{"name":"PageConfigInput","displayName":"","id":"#/definitions/84275329","description":"","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"name":{"type":["string","null"],"description":"鍚嶇О"},"code":{"type":["string","null"],"description":"缂栫爜"},"groupCode":{"type":["string","null"],"description":"鍒嗙粍缂栫爜"}},"additionalProperties":false,"x-apifox-orders":["page","pageSize","field","order","descStr","name","code","groupCode"]}}},{"name":"PageDictDataInput","displayName":"","id":"#/definitions/84275330","description":"","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"dictTypeId":{"type":"integer","description":"瀛楀吀绫诲瀷Id","format":"int64"},"value":{"type":["string","null"],"description":"鍊�"},"code":{"type":["string","null"],"description":"缂栫爜"}},"additionalProperties":false,"x-apifox-orders":["page","pageSize","field","order","descStr","dictTypeId","value","code"]}}},{"name":"PageDictTypeInput","displayName":"","id":"#/definitions/84275331","description":"","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"name":{"type":["string","null"],"description":"鍚嶇О"},"code":{"type":["string","null"],"description":"缂栫爜"}},"additionalProperties":false,"x-apifox-orders":["page","pageSize","field","order","descStr","name","code"]}}},{"name":"PageFileInput","displayName":"","id":"#/definitions/84275332","description":"","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"fileName":{"type":["string","null"],"description":"鏂囦欢鍚嶇О"},"startTime":{"type":["string","null"],"description":"寮�濮嬫椂闂�","format":"date-time"},"endTime":{"type":["string","null"],"description":"缁撴潫鏃堕棿","format":"date-time"}},"additionalProperties":false,"x-apifox-orders":["page","pageSize","field","order","descStr","fileName","startTime","endTime"]}}},{"name":"PageJobDetailInput","displayName":"","id":"#/definitions/84275333","description":"","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"jobId":{"type":["string","null"],"description":"浣滀笟Id"},"description":{"type":["string","null"],"description":"鎻忚堪淇℃伅"}},"additionalProperties":false,"x-apifox-orders":["page","pageSize","field","order","descStr","jobId","description"]}}},{"name":"PageJobTriggerRecordInput","displayName":"","id":"#/definitions/84275334","description":"","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"jobId":{"type":["string","null"],"description":"浣滀笟Id"},"triggerId":{"type":["string","null"],"description":"瑙﹀彂鍣↖d"}},"additionalProperties":false,"x-apifox-orders":["page","pageSize","field","order","descStr","jobId","triggerId"]}}},{"name":"PageLogInput","displayName":"","id":"#/definitions/84275335","description":"","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"startTime":{"type":["string","null"],"description":"寮�濮嬫椂闂�","format":"date-time"},"endTime":{"type":["string","null"],"description":"缁撴潫鏃堕棿","format":"date-time"}},"additionalProperties":false,"x-apifox-orders":["page","pageSize","field","order","descStr","startTime","endTime"]}}},{"name":"PageNoticeInput","displayName":"","id":"#/definitions/84275336","description":"","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"title":{"type":["string","null"],"description":"鏍囬"},"type":{"$ref":"#/definitions/84275325"}},"additionalProperties":false,"x-apifox-orders":["page","pageSize","field","order","descStr","title","type"]}}},{"name":"PageOnlineUserInput","displayName":"","id":"#/definitions/84275337","description":"","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"userName":{"type":["string","null"],"description":"璐﹀彿鍚嶇О"},"realName":{"type":["string","null"],"description":"鐪熷疄濮撳悕"}},"additionalProperties":false,"x-apifox-orders":["page","pageSize","field","order","descStr","userName","realName"]}}},{"name":"PagePluginInput","displayName":"","id":"#/definitions/84275338","description":"","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"name":{"type":["string","null"],"description":"鍚嶇О"},"code":{"type":["string","null"],"description":"缂栫爜"}},"additionalProperties":false,"x-apifox-orders":["page","pageSize","field","order","descStr","name","code"]}}},{"name":"PagePrintInput","displayName":"","id":"#/definitions/84275339","description":"","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"name":{"type":["string","null"],"description":"鍚嶇О"},"code":{"type":["string","null"],"description":"缂栫爜"}},"additionalProperties":false,"x-apifox-orders":["page","pageSize","field","order","descStr","name","code"]}}},{"name":"PageRegionInput","displayName":"","id":"#/definitions/84275340","description":"","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"pid":{"type":"integer","description":"鐖惰妭鐐笽d","format":"int64"},"name":{"type":["string","null"],"description":"鍚嶇О"},"code":{"type":["string","null"],"description":"缂栫爜"}},"additionalProperties":false,"x-apifox-orders":["page","pageSize","field","order","descStr","pid","name","code"]}}},{"name":"PageRoleInput","displayName":"","id":"#/definitions/84275341","description":"","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"name":{"type":["string","null"],"description":"鍚嶇О"},"code":{"type":["string","null"],"description":"缂栫爜"}},"additionalProperties":false,"x-apifox-orders":["page","pageSize","field","order","descStr","name","code"]}}},{"name":"PageTenantInput","displayName":"","id":"#/definitions/84275342","description":"","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"name":{"type":["string","null"],"description":"鍚嶇О"},"phone":{"type":["string","null"],"description":"鐢佃瘽"}},"additionalProperties":false,"x-apifox-orders":["page","pageSize","field","order","descStr","name","phone"]}}},{"name":"PageUserInput","displayName":"","id":"#/definitions/84275343","description":"鑾峰彇鐢ㄦ埛鍒嗛〉鍒楄〃杈撳叆鍙傛暟","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"account":{"type":["string","null"],"description":"璐﹀彿"},"realName":{"type":["string","null"],"description":"濮撳悕"},"phone":{"type":["string","null"],"description":"鎵嬫満鍙�"},"orgId":{"type":"integer","description":"鏌ヨ鏃舵墍閫夋満鏋処d","format":"int64"}},"additionalProperties":false,"description":"鑾峰彇鐢ㄦ埛鍒嗛〉鍒楄〃杈撳叆鍙傛暟","x-apifox-orders":["page","pageSize","field","order","descStr","account","realName","phone","orgId"]}}},{"name":"PlatformTypeEnum","displayName":"","id":"#/definitions/84275344","description":"骞冲彴绫诲瀷鏋氫妇<br />&nbsp;寰俊鍏紬鍙� 寰俊鍏紬鍙� = 1<br />&nbsp;寰俊灏忕▼搴� 寰俊灏忕▼搴� = 2<br />&nbsp;QQ QQ = 3<br />&nbsp;鏀粯瀹� Alipay = 4<br />&nbsp;Gitee Gitee = 5<br />","schema":{"jsonSchema":{"enum":[1,2,3,4,5],"type":"integer","description":"骞冲彴绫诲瀷鏋氫妇<br />&nbsp;寰俊鍏紬鍙� 寰俊鍏紬鍙� = 1<br />&nbsp;寰俊灏忕▼搴� 寰俊灏忕▼搴� = 2<br />&nbsp;QQ QQ = 3<br />&nbsp;鏀粯瀹� Alipay = 4<br />&nbsp;Gitee Gitee = 5<br />","format":"int32"}}},{"name":"ResetPwdUserInput","displayName":"","id":"#/definitions/84275345","description":"閲嶇疆鐢ㄦ埛瀵嗙爜杈撳叆鍙傛暟","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"description":"閲嶇疆鐢ㄦ埛瀵嗙爜杈撳叆鍙傛暟","x-apifox-orders":["id"]}}},{"name":"RoleInput","displayName":"","id":"#/definitions/84275346","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"},"status":{"$ref":"#/definitions/84275375"}},"additionalProperties":false,"x-apifox-orders":["id","status"]}}},{"name":"RoleMenuInput","displayName":"","id":"#/definitions/84275347","description":"鎺堟潈瑙掕壊鑿滃崟","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"},"menuIdList":{"type":["array","null"],"items":{"type":"integer","format":"int64"},"description":"鑿滃崟Id闆嗗悎"}},"additionalProperties":false,"description":"鎺堟潈瑙掕壊鑿滃崟","x-apifox-orders":["id","menuIdList"]}}},{"name":"RoleOrgInput","displayName":"","id":"#/definitions/84275348","description":"鎺堟潈瑙掕壊鏈烘瀯","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"},"dataScope":{"type":"integer","description":"鏁版嵁鑼冨洿","format":"int32"},"orgIdList":{"type":["array","null"],"items":{"type":"integer","format":"int64"},"description":"鏈烘瀯Id闆嗗悎"}},"additionalProperties":false,"description":"鎺堟潈瑙掕壊鏈烘瀯","x-apifox-orders":["id","dataScope","orgIdList"]}}},{"name":"RoleOutput","displayName":"","id":"#/definitions/84275349","description":"瑙掕壊鍒楄〃杈撳嚭鍙傛暟","schema":{"jsonSchema":{"type":"object","properties":{"id":{"type":"integer","description":"Id","format":"int64"},"name":{"type":["string","null"],"description":"鍚嶇О"},"code":{"type":["string","null"],"description":"缂栫爜"}},"additionalProperties":false,"description":"瑙掕壊鍒楄〃杈撳嚭鍙傛暟","x-apifox-orders":["id","name","code"]}}},{"name":"SendSubscribeMessageInput","displayName":"","id":"#/definitions/84275350","description":"鍙戦�佽闃呮秷鎭�","schema":{"jsonSchema":{"required":["data","templateId","toUserOpenId"],"type":"object","properties":{"templateId":{"minLength":1,"type":"string","description":"璁㈤槄妯℃澘Id"},"toUserOpenId":{"minLength":1,"type":"string","description":"鎺ユ敹鑰呯殑OpenId"},"data":{"type":"object","additionalProperties":{"$ref":"#/definitions/84275268"},"description":"妯℃澘鍐呭锛屾牸寮忓舰濡� { \"key1\": { \"value\": any }, \"key2\": { \"value\": any } }","x-apifox-orders":[]},"miniprogramState":{"type":["string","null"],"description":"璺宠浆灏忕▼搴忕被鍨�"},"language":{"type":["string","null"],"description":"璇█绫诲瀷"},"miniProgramPagePath":{"type":["string","null"],"description":"鐐瑰嚮妯℃澘鍗$墖鍚庣殑璺宠浆椤甸潰锛堜粎闄愭湰灏忕▼搴忓唴鐨勯〉闈級锛屾敮鎸佸甫鍙傛暟锛堢ず渚媝ages/app/index?foo=bar锛�"}},"additionalProperties":false,"description":"鍙戦�佽闃呮秷鎭�","x-apifox-orders":["templateId","toUserOpenId","data","miniprogramState","language","miniProgramPagePath"]}}},{"name":"SignatureInput","displayName":"","id":"#/definitions/84275351","description":"鑾峰彇閰嶇疆绛惧悕","schema":{"jsonSchema":{"type":"object","properties":{"url":{"type":["string","null"],"description":"Url"}},"additionalProperties":false,"description":"鑾峰彇閰嶇疆绛惧悕","x-apifox-orders":["url"]}}},{"name":"SmKeyPairOutput","displayName":"","id":"#/definitions/84275352","description":"鍥藉瘑鍏挜绉侀挜瀵硅緭鍑�","schema":{"jsonSchema":{"type":"object","properties":{"privateKey":{"type":["string","null"],"description":"绉佸寵"},"publicKey":{"type":["string","null"],"description":"鍏寵"}},"additionalProperties":false,"description":"鍥藉瘑鍏挜绉侀挜瀵硅緭鍑�","x-apifox-orders":["privateKey","publicKey"]}}},{"name":"SqlSugarPagedList_JobDetailOutput","displayName":"","id":"#/definitions/84275353","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275310"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_OpenAccessOutput","displayName":"","id":"#/definitions/84275354","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275328"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysCodeGen","displayName":"","id":"#/definitions/84275355","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275376"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysConfig","displayName":"","id":"#/definitions/84275356","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275378"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysDictData","displayName":"","id":"#/definitions/84275357","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275379"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysDictType","displayName":"","id":"#/definitions/84275358","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275380"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysFile","displayName":"","id":"#/definitions/84275359","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275381"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysJobTriggerRecord","displayName":"","id":"#/definitions/84275360","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275385"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysLogDiff","displayName":"","id":"#/definitions/84275361","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275386"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysLogEx","displayName":"","id":"#/definitions/84275362","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275387"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysLogOp","displayName":"","id":"#/definitions/84275363","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275388"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysLogVis","displayName":"","id":"#/definitions/84275364","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275389"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysNotice","displayName":"","id":"#/definitions/84275365","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275392"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysNoticeUser","displayName":"","id":"#/definitions/84275366","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275393"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysOnlineUser","displayName":"","id":"#/definitions/84275367","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275394"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysPlugin","displayName":"","id":"#/definitions/84275368","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275396"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysPrint","displayName":"","id":"#/definitions/84275369","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275398"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysRegion","displayName":"","id":"#/definitions/84275370","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275399"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysRole","displayName":"","id":"#/definitions/84275371","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275400"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_SysWechatUser","displayName":"","id":"#/definitions/84275372","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275404"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_TenantOutput","displayName":"","id":"#/definitions/84275373","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275408"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"SqlSugarPagedList_UserOutput","displayName":"","id":"#/definitions/84275374","description":"鍒嗛〉娉涘瀷闆嗗悎","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤靛閲�","format":"int32"},"total":{"type":"integer","description":"鎬绘潯鏁�","format":"int32"},"totalPages":{"type":"integer","description":"鎬婚〉鏁�","format":"int32"},"items":{"type":["array","null"],"items":{"$ref":"#/definitions/84275434"},"description":"褰撳墠椤甸泦鍚�"},"hasPrevPage":{"type":"boolean","description":"鏄惁鏈変笂涓�椤�"},"hasNextPage":{"type":"boolean","description":"鏄惁鏈変笅涓�椤�"}},"additionalProperties":false,"description":"鍒嗛〉娉涘瀷闆嗗悎","x-apifox-orders":["page","pageSize","total","totalPages","items","hasPrevPage","hasNextPage"]}}},{"name":"StatusEnum","displayName":"","id":"#/definitions/84275375","description":"閫氱敤鐘舵�佹灇涓�<br />&nbsp;鍚敤 Enable = 1<br />&nbsp;鍋滅敤 Disable = 2<br />","schema":{"jsonSchema":{"enum":[1,2],"type":"integer","description":"閫氱敤鐘舵�佹灇涓�<br />&nbsp;鍚敤 Enable = 1<br />&nbsp;鍋滅敤 Disable = 2<br />","format":"int32"}}},{"name":"SysCodeGen","displayName":"","id":"#/definitions/84275376","description":"浠g爜鐢熸垚琛�","schema":{"jsonSchema":{"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"authorName":{"maxLength":32,"type":["string","null"],"description":"浣滆�呭鍚�"},"tablePrefix":{"maxLength":8,"type":["string","null"],"description":"鏄惁绉婚櫎琛ㄥ墠缂�"},"generateType":{"maxLength":32,"type":["string","null"],"description":"鐢熸垚鏂瑰紡"},"configId":{"maxLength":64,"type":["string","null"],"description":"搴撳畾浣嶅櫒鍚�"},"dbName":{"maxLength":64,"type":["string","null"],"description":"鏁版嵁搴撳悕(淇濈暀瀛楁)"},"dbType":{"maxLength":64,"type":["string","null"],"description":"鏁版嵁搴撶被鍨�"},"connectionString":{"maxLength":256,"type":["string","null"],"description":"鏁版嵁搴撻摼鎺�"},"tableName":{"maxLength":128,"type":["string","null"],"description":"鏁版嵁搴撹〃鍚�"},"nameSpace":{"maxLength":128,"type":["string","null"],"description":"鍛藉悕绌洪棿"},"busName":{"maxLength":128,"type":["string","null"],"description":"涓氬姟鍚�"},"menuPid":{"type":"integer","description":"鑿滃崟缂栫爜","format":"int64"},"printType":{"maxLength":32,"type":["string","null"],"description":"鏀寔鎵撳嵃绫诲瀷"},"printName":{"maxLength":32,"type":["string","null"],"description":"鎵撳嵃妯$増鍚嶇О"}},"additionalProperties":false,"description":"浠g爜鐢熸垚琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","authorName","tablePrefix","generateType","configId","dbName","dbType","connectionString","tableName","nameSpace","busName","menuPid","printType","printName"]}}},{"name":"SysCodeGenConfig","displayName":"","id":"#/definitions/84275377","description":"浠g爜鐢熸垚瀛楁閰嶇疆琛�","schema":{"jsonSchema":{"required":["columnName","propertyName"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"codeGenId":{"type":"integer","description":"浠g爜鐢熸垚涓昏〃Id","format":"int64"},"columnName":{"maxLength":128,"minLength":1,"type":"string","description":"鏁版嵁搴撳瓧娈靛悕"},"propertyName":{"maxLength":128,"minLength":1,"type":"string","description":"瀹炰綋灞炴�у悕"},"columnLength":{"type":"integer","description":"瀛楁鏁版嵁闀垮害","format":"int32"},"columnComment":{"maxLength":128,"type":["string","null"],"description":"瀛楁鎻忚堪"},"netType":{"maxLength":64,"type":["string","null"],"description":".NET鏁版嵁绫诲瀷"},"effectType":{"maxLength":64,"type":["string","null"],"description":"浣滅敤绫诲瀷锛堝瓧鍏革級"},"fkEntityName":{"maxLength":64,"type":["string","null"],"description":"澶栭敭瀹炰綋鍚嶇О"},"fkTableName":{"maxLength":128,"type":["string","null"],"description":"澶栭敭琛ㄥ悕绉�"},"fkColumnName":{"maxLength":64,"type":["string","null"],"description":"澶栭敭鏄剧ず瀛楁"},"fkColumnNetType":{"maxLength":64,"type":["string","null"],"description":"澶栭敭鏄剧ず瀛楁.NET绫诲瀷"},"dictTypeCode":{"maxLength":64,"type":["string","null"],"description":"瀛楀吀缂栫爜"},"whetherRetract":{"maxLength":8,"type":["string","null"],"description":"鍒楄〃鏄惁缂╄繘锛堝瓧鍏革級"},"whetherRequired":{"maxLength":8,"type":["string","null"],"description":"鏄惁蹇呭~锛堝瓧鍏革級"},"whetherSortable":{"maxLength":8,"type":["string","null"],"description":"鏄惁鍙帓搴忥紙瀛楀吀锛�"},"queryWhether":{"maxLength":8,"type":["string","null"],"description":"鏄惁鏄煡璇㈡潯浠�"},"queryType":{"maxLength":16,"type":["string","null"],"description":"鏌ヨ鏂瑰紡"},"whetherTable":{"maxLength":8,"type":["string","null"],"description":"鍒楄〃鏄剧ず"},"whetherAddUpdate":{"maxLength":8,"type":["string","null"],"description":"澧炴敼"},"columnKey":{"maxLength":8,"type":["string","null"],"description":"涓婚敭"},"dataType":{"maxLength":64,"type":["string","null"],"description":"鏁版嵁搴撲腑绫诲瀷锛堢墿鐞嗙被鍨嬶級"},"whetherCommon":{"maxLength":8,"type":["string","null"],"description":"鏄惁閫氱敤瀛楁"},"displayColumn":{"type":["string","null"],"description":"鏄剧ず鏂囨湰瀛楁"},"valueColumn":{"maxLength":128,"type":["string","null"],"description":"閫変腑鍊煎瓧娈�"},"pidColumn":{"maxLength":128,"type":["string","null"],"description":"鐖剁骇瀛楁"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"}},"additionalProperties":false,"description":"浠g爜鐢熸垚瀛楁閰嶇疆琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","codeGenId","columnName","propertyName","columnLength","columnComment","netType","effectType","fkEntityName","fkTableName","fkColumnName","fkColumnNetType","dictTypeCode","whetherRetract","whetherRequired","whetherSortable","queryWhether","queryType","whetherTable","whetherAddUpdate","columnKey","dataType","whetherCommon","displayColumn","valueColumn","pidColumn","orderNo"]}}},{"name":"SysConfig","displayName":"","id":"#/definitions/84275378","description":"绯荤粺鍙傛暟閰嶇疆琛�","schema":{"jsonSchema":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"name":{"maxLength":64,"minLength":1,"type":"string","description":"鍚嶇О"},"code":{"maxLength":64,"type":["string","null"],"description":"缂栫爜"},"value":{"maxLength":64,"type":["string","null"],"description":"灞炴�у��"},"sysFlag":{"$ref":"#/definitions/84275444"},"groupCode":{"maxLength":64,"type":["string","null"],"description":"鍒嗙粍缂栫爜"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":256,"type":["string","null"],"description":"澶囨敞"}},"additionalProperties":false,"description":"绯荤粺鍙傛暟閰嶇疆琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","name","code","value","sysFlag","groupCode","orderNo","remark"]}}},{"name":"SysDictData","displayName":"","id":"#/definitions/84275379","description":"绯荤粺瀛楀吀鍊艰〃","schema":{"jsonSchema":{"required":["code","value"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"dictTypeId":{"type":"integer","description":"瀛楀吀绫诲瀷Id","format":"int64"},"value":{"maxLength":128,"minLength":1,"type":"string","description":"鍊�"},"code":{"maxLength":64,"minLength":1,"type":"string","description":"缂栫爜"},"tagType":{"maxLength":16,"type":["string","null"],"description":"鏄剧ず鏍峰紡-鏍囩棰滆壊"},"styleSetting":{"maxLength":512,"type":["string","null"],"description":"鏄剧ず鏍峰紡-Style(鎺у埗鏄剧ず鏍峰紡)"},"classSetting":{"maxLength":512,"type":["string","null"],"description":"鏄剧ず鏍峰紡-Class(鎺у埗鏄剧ず鏍峰紡)"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":2048,"type":["string","null"],"description":"澶囨敞"},"extData":{"type":["string","null"],"description":"鎷撳睍鏁版嵁(淇濆瓨涓氬姟鍔熻兘鐨勯厤缃」)"},"status":{"$ref":"#/definitions/84275375"}},"additionalProperties":false,"description":"绯荤粺瀛楀吀鍊艰〃","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","dictTypeId","value","code","tagType","styleSetting","classSetting","orderNo","remark","extData","status"]}}},{"name":"SysDictType","displayName":"","id":"#/definitions/84275380","description":"绯荤粺瀛楀吀绫诲瀷琛�","schema":{"jsonSchema":{"required":["code","name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"name":{"maxLength":64,"minLength":1,"type":"string","description":"鍚嶇О"},"code":{"maxLength":64,"minLength":1,"type":"string","description":"缂栫爜"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":256,"type":["string","null"],"description":"澶囨敞"},"status":{"$ref":"#/definitions/84275375"},"children":{"type":["array","null"],"items":{"$ref":"#/definitions/84275379"},"description":"瀛楀吀鍊奸泦鍚�"}},"additionalProperties":false,"description":"绯荤粺瀛楀吀绫诲瀷琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","name","code","orderNo","remark","status","children"]}}},{"name":"SysFile","displayName":"","id":"#/definitions/84275381","description":"绯荤粺鏂囦欢琛�","schema":{"jsonSchema":{"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"provider":{"maxLength":128,"type":["string","null"],"description":"鎻愪緵鑰�"},"bucketName":{"maxLength":128,"type":["string","null"],"description":"浠撳偍鍚嶇О"},"fileName":{"maxLength":128,"type":["string","null"],"description":"鏂囦欢鍚嶇О锛堟簮鏂囦欢鍚嶏級"},"suffix":{"maxLength":16,"type":["string","null"],"description":"鏂囦欢鍚庣紑"},"filePath":{"maxLength":128,"type":["string","null"],"description":"瀛樺偍璺緞"},"sizeKb":{"maxLength":16,"type":["string","null"],"description":"鏂囦欢澶у皬KB"},"sizeInfo":{"maxLength":64,"type":["string","null"],"description":"鏂囦欢澶у皬淇℃伅-璁$畻鍚庣殑"},"url":{"maxLength":512,"type":["string","null"],"description":"澶栭摼鍦板潃-OSS涓婁紶鍚庣敓鎴愬閾惧湴鍧�鏂逛究鍓嶇棰勮"},"fileMd5":{"maxLength":128,"type":["string","null"],"description":"鏂囦欢MD5"}},"additionalProperties":false,"description":"绯荤粺鏂囦欢琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","provider","bucketName","fileName","suffix","filePath","sizeKb","sizeInfo","url","fileMd5"]}}},{"name":"SysJobCluster","displayName":"","id":"#/definitions/84275382","description":"绯荤粺浣滀笟闆嗙兢琛�","schema":{"jsonSchema":{"required":["clusterId"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"clusterId":{"maxLength":64,"minLength":1,"type":"string","description":"浣滀笟闆嗙兢Id"},"description":{"maxLength":128,"type":["string","null"],"description":"鎻忚堪淇℃伅"},"status":{"$ref":"#/definitions/84275260"},"updatedTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"绯荤粺浣滀笟闆嗙兢琛�","x-apifox-orders":["id","clusterId","description","status","updatedTime"]}}},{"name":"SysJobDetail","displayName":"","id":"#/definitions/84275383","description":"绯荤粺浣滀笟淇℃伅琛�","schema":{"jsonSchema":{"required":["jobId"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"jobId":{"maxLength":64,"minLength":1,"type":"string","description":"浣滀笟Id"},"groupName":{"maxLength":128,"type":["string","null"],"description":"缁勫悕绉�"},"jobType":{"maxLength":128,"type":["string","null"],"description":"浣滀笟绫诲瀷FullName"},"assemblyName":{"maxLength":128,"type":["string","null"],"description":"绋嬪簭闆哊ame"},"description":{"maxLength":128,"type":["string","null"],"description":"鎻忚堪淇℃伅"},"concurrent":{"type":"boolean","description":"鏄惁骞惰鎵ц"},"includeAnnotations":{"type":"boolean","description":"鏄惁鎵弿鐗规�цЕ鍙戝櫒"},"properties":{"type":["string","null"],"description":"棰濆鏁版嵁"},"updatedTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createType":{"$ref":"#/definitions/84275308"},"scriptCode":{"type":["string","null"],"description":"鑴氭湰浠g爜"}},"additionalProperties":false,"description":"绯荤粺浣滀笟淇℃伅琛�","x-apifox-orders":["id","jobId","groupName","jobType","assemblyName","description","concurrent","includeAnnotations","properties","updatedTime","createType","scriptCode"]}}},{"name":"SysJobTrigger","displayName":"","id":"#/definitions/84275384","description":"绯荤粺浣滀笟瑙﹀彂鍣ㄨ〃","schema":{"jsonSchema":{"required":["jobId","triggerId"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"triggerId":{"maxLength":64,"minLength":1,"type":"string","description":"瑙﹀彂鍣↖d"},"jobId":{"maxLength":64,"minLength":1,"type":"string","description":"浣滀笟Id"},"triggerType":{"maxLength":128,"type":["string","null"],"description":"瑙﹀彂鍣ㄧ被鍨婩ullName"},"assemblyName":{"maxLength":128,"type":["string","null"],"description":"绋嬪簭闆哊ame"},"args":{"maxLength":128,"type":["string","null"],"description":"鍙傛暟"},"description":{"maxLength":128,"type":["string","null"],"description":"鎻忚堪淇℃伅"},"status":{"$ref":"#/definitions/84275411"},"startTime":{"type":["string","null"],"description":"璧峰鏃堕棿","format":"date-time"},"endTime":{"type":["string","null"],"description":"缁撴潫鏃堕棿","format":"date-time"},"lastRunTime":{"type":["string","null"],"description":"鏈�杩戣繍琛屾椂闂�","format":"date-time"},"nextRunTime":{"type":["string","null"],"description":"涓嬩竴娆¤繍琛屾椂闂�","format":"date-time"},"numberOfRuns":{"type":"integer","description":"瑙﹀彂娆℃暟","format":"int64"},"maxNumberOfRuns":{"type":"integer","description":"鏈�澶цЕ鍙戞鏁帮紙0:涓嶉檺鍒讹紝n:N娆★級","format":"int64"},"numberOfErrors":{"type":"integer","description":"鍑洪敊娆℃暟","format":"int64"},"maxNumberOfErrors":{"type":"integer","description":"鏈�澶у嚭閿欐鏁帮紙0:涓嶉檺鍒讹紝n:N娆★級","format":"int64"},"numRetries":{"type":"integer","description":"閲嶈瘯娆℃暟","format":"int32"},"retryTimeout":{"type":"integer","description":"閲嶈瘯闂撮殧鏃堕棿锛坢s锛�","format":"int32"},"startNow":{"type":"boolean","description":"鏄惁绔嬪嵆鍚姩"},"runOnStart":{"type":"boolean","description":"鏄惁鍚姩鏃舵墽琛屼竴娆�"},"resetOnlyOnce":{"type":"boolean","description":"鏄惁鍦ㄥ惎鍔ㄦ椂閲嶇疆鏈�澶цЕ鍙戞鏁扮瓑浜庝竴娆$殑浣滀笟"},"updatedTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"绯荤粺浣滀笟瑙﹀彂鍣ㄨ〃","x-apifox-orders":["id","triggerId","jobId","triggerType","assemblyName","args","description","status","startTime","endTime","lastRunTime","nextRunTime","numberOfRuns","maxNumberOfRuns","numberOfErrors","maxNumberOfErrors","numRetries","retryTimeout","startNow","runOnStart","resetOnlyOnce","updatedTime"]}}},{"name":"SysJobTriggerRecord","displayName":"","id":"#/definitions/84275385","description":"绯荤粺浣滀笟瑙﹀彂鍣ㄨ繍琛岃褰曡〃","schema":{"jsonSchema":{"required":["jobId","triggerId"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"jobId":{"maxLength":64,"minLength":1,"type":"string","description":"浣滀笟Id"},"triggerId":{"maxLength":64,"minLength":1,"type":"string","description":"瑙﹀彂鍣↖d"},"numberOfRuns":{"type":"integer","description":"褰撳墠杩愯娆℃暟","format":"int64"},"lastRunTime":{"type":["string","null"],"description":"鏈�杩戣繍琛屾椂闂�","format":"date-time"},"nextRunTime":{"type":["string","null"],"description":"涓嬩竴娆¤繍琛屾椂闂�","format":"date-time"},"status":{"$ref":"#/definitions/84275411"},"result":{"maxLength":128,"type":["string","null"],"description":"鏈鎵ц缁撴灉"},"elapsedTime":{"type":"integer","description":"鏈鎵ц鑰楁椂","format":"int64"},"createdTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"}},"additionalProperties":false,"description":"绯荤粺浣滀笟瑙﹀彂鍣ㄨ繍琛岃褰曡〃","x-apifox-orders":["id","jobId","triggerId","numberOfRuns","lastRunTime","nextRunTime","status","result","elapsedTime","createdTime"]}}},{"name":"SysLogDiff","displayName":"","id":"#/definitions/84275386","description":"绯荤粺宸紓鏃ュ織琛�","schema":{"jsonSchema":{"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"beforeData":{"type":["string","null"],"description":"鎿嶄綔鍓嶈褰�"},"afterData":{"type":["string","null"],"description":"鎿嶄綔鍚庤褰�"},"sql":{"type":["string","null"],"description":"Sql"},"parameters":{"type":["string","null"],"description":"鍙傛暟  鎵嬪姩浼犲叆鐨勫弬鏁�"},"businessData":{"type":["string","null"],"description":"涓氬姟瀵硅薄"},"diffType":{"type":["string","null"],"description":"宸紓鎿嶄綔"},"elapsed":{"type":["integer","null"],"description":"鑰楁椂","format":"int64"}},"additionalProperties":false,"description":"绯荤粺宸紓鏃ュ織琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","beforeData","afterData","sql","parameters","businessData","diffType","elapsed"]}}},{"name":"SysLogEx","displayName":"","id":"#/definitions/84275387","description":"绯荤粺寮傚父鏃ュ織琛�","schema":{"jsonSchema":{"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"controllerName":{"maxLength":256,"type":["string","null"],"description":"妯″潡鍚嶇О"},"actionName":{"maxLength":256,"type":["string","null"],"description":"鏂规硶鍚嶇О"},"displayTitle":{"maxLength":256,"type":["string","null"],"description":"鏄剧ず鍚嶇О"},"status":{"maxLength":32,"type":["string","null"],"description":"鎵ц鐘舵��"},"remoteIp":{"maxLength":256,"type":["string","null"],"description":"IP鍦板潃"},"location":{"maxLength":128,"type":["string","null"],"description":"鐧诲綍鍦扮偣"},"longitude":{"type":["number","null"],"description":"缁忓害","format":"double"},"latitude":{"type":["number","null"],"description":"缁村害","format":"double"},"browser":{"maxLength":1024,"type":["string","null"],"description":"娴忚鍣�"},"os":{"maxLength":256,"type":["string","null"],"description":"鎿嶄綔绯荤粺"},"elapsed":{"type":["integer","null"],"description":"鎿嶄綔鐢ㄦ椂","format":"int64"},"logDateTime":{"type":["string","null"],"description":"鏃ュ織鏃堕棿","format":"date-time"},"logLevel":{"$ref":"#/definitions/84275313"},"account":{"maxLength":32,"type":["string","null"],"description":"璐﹀彿"},"realName":{"maxLength":32,"type":["string","null"],"description":"鐪熷疄濮撳悕"},"httpMethod":{"maxLength":32,"type":["string","null"],"description":"璇锋眰鏂瑰紡"},"requestUrl":{"type":["string","null"],"description":"璇锋眰鍦板潃"},"requestParam":{"type":["string","null"],"description":"璇锋眰鍙傛暟"},"returnResult":{"type":["string","null"],"description":"杩斿洖缁撴灉"},"eventId":{"type":["integer","null"],"description":"浜嬩欢Id","format":"int32"},"threadId":{"type":["integer","null"],"description":"绾跨▼Id","format":"int32"},"traceId":{"maxLength":128,"type":["string","null"],"description":"璇锋眰璺熻釜Id"},"exception":{"type":["string","null"],"description":"寮傚父淇℃伅"},"message":{"type":["string","null"],"description":"鏃ュ織娑堟伅Json"}},"additionalProperties":false,"description":"绯荤粺寮傚父鏃ュ織琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","controllerName","actionName","displayTitle","status","remoteIp","location","longitude","latitude","browser","os","elapsed","logDateTime","logLevel","account","realName","httpMethod","requestUrl","requestParam","returnResult","eventId","threadId","traceId","exception","message"]}}},{"name":"SysLogOp","displayName":"","id":"#/definitions/84275388","description":"绯荤粺鎿嶄綔鏃ュ織琛�","schema":{"jsonSchema":{"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"controllerName":{"maxLength":256,"type":["string","null"],"description":"妯″潡鍚嶇О"},"actionName":{"maxLength":256,"type":["string","null"],"description":"鏂规硶鍚嶇О"},"displayTitle":{"maxLength":256,"type":["string","null"],"description":"鏄剧ず鍚嶇О"},"status":{"maxLength":32,"type":["string","null"],"description":"鎵ц鐘舵��"},"remoteIp":{"maxLength":256,"type":["string","null"],"description":"IP鍦板潃"},"location":{"maxLength":128,"type":["string","null"],"description":"鐧诲綍鍦扮偣"},"longitude":{"type":["number","null"],"description":"缁忓害","format":"double"},"latitude":{"type":["number","null"],"description":"缁村害","format":"double"},"browser":{"maxLength":1024,"type":["string","null"],"description":"娴忚鍣�"},"os":{"maxLength":256,"type":["string","null"],"description":"鎿嶄綔绯荤粺"},"elapsed":{"type":["integer","null"],"description":"鎿嶄綔鐢ㄦ椂","format":"int64"},"logDateTime":{"type":["string","null"],"description":"鏃ュ織鏃堕棿","format":"date-time"},"logLevel":{"$ref":"#/definitions/84275313"},"account":{"maxLength":32,"type":["string","null"],"description":"璐﹀彿"},"realName":{"maxLength":32,"type":["string","null"],"description":"鐪熷疄濮撳悕"},"httpMethod":{"maxLength":32,"type":["string","null"],"description":"璇锋眰鏂瑰紡"},"requestUrl":{"type":["string","null"],"description":"璇锋眰鍦板潃"},"requestParam":{"type":["string","null"],"description":"璇锋眰鍙傛暟"},"returnResult":{"type":["string","null"],"description":"杩斿洖缁撴灉"},"eventId":{"type":["integer","null"],"description":"浜嬩欢Id","format":"int32"},"threadId":{"type":["integer","null"],"description":"绾跨▼Id","format":"int32"},"traceId":{"maxLength":128,"type":["string","null"],"description":"璇锋眰璺熻釜Id"},"exception":{"type":["string","null"],"description":"寮傚父淇℃伅"},"message":{"type":["string","null"],"description":"鏃ュ織娑堟伅Json"}},"additionalProperties":false,"description":"绯荤粺鎿嶄綔鏃ュ織琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","controllerName","actionName","displayTitle","status","remoteIp","location","longitude","latitude","browser","os","elapsed","logDateTime","logLevel","account","realName","httpMethod","requestUrl","requestParam","returnResult","eventId","threadId","traceId","exception","message"]}}},{"name":"SysLogVis","displayName":"","id":"#/definitions/84275389","description":"绯荤粺璁块棶鏃ュ織琛�","schema":{"jsonSchema":{"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"controllerName":{"maxLength":256,"type":["string","null"],"description":"妯″潡鍚嶇О"},"actionName":{"maxLength":256,"type":["string","null"],"description":"鏂规硶鍚嶇О"},"displayTitle":{"maxLength":256,"type":["string","null"],"description":"鏄剧ず鍚嶇О"},"status":{"maxLength":32,"type":["string","null"],"description":"鎵ц鐘舵��"},"remoteIp":{"maxLength":256,"type":["string","null"],"description":"IP鍦板潃"},"location":{"maxLength":128,"type":["string","null"],"description":"鐧诲綍鍦扮偣"},"longitude":{"type":["number","null"],"description":"缁忓害","format":"double"},"latitude":{"type":["number","null"],"description":"缁村害","format":"double"},"browser":{"maxLength":1024,"type":["string","null"],"description":"娴忚鍣�"},"os":{"maxLength":256,"type":["string","null"],"description":"鎿嶄綔绯荤粺"},"elapsed":{"type":["integer","null"],"description":"鎿嶄綔鐢ㄦ椂","format":"int64"},"logDateTime":{"type":["string","null"],"description":"鏃ュ織鏃堕棿","format":"date-time"},"logLevel":{"$ref":"#/definitions/84275313"},"account":{"maxLength":32,"type":["string","null"],"description":"璐﹀彿"},"realName":{"maxLength":32,"type":["string","null"],"description":"鐪熷疄濮撳悕"}},"additionalProperties":false,"description":"绯荤粺璁块棶鏃ュ織琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","controllerName","actionName","displayTitle","status","remoteIp","location","longitude","latitude","browser","os","elapsed","logDateTime","logLevel","account","realName"]}}},{"name":"SysMenu","displayName":"","id":"#/definitions/84275390","description":"绯荤粺鑿滃崟琛�","schema":{"jsonSchema":{"required":["title"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"pid":{"type":"integer","description":"鐖禝d","format":"int64"},"type":{"$ref":"#/definitions/84275319"},"name":{"maxLength":64,"type":["string","null"],"description":"璺敱鍚嶇О"},"path":{"maxLength":128,"type":["string","null"],"description":"璺敱鍦板潃"},"component":{"maxLength":128,"type":["string","null"],"description":"缁勪欢璺緞"},"redirect":{"maxLength":128,"type":["string","null"],"description":"閲嶅畾鍚�"},"permission":{"maxLength":128,"type":["string","null"],"description":"鏉冮檺鏍囪瘑"},"title":{"maxLength":64,"minLength":1,"type":"string","description":"鑿滃崟鍚嶇О"},"icon":{"maxLength":128,"type":["string","null"],"description":"鍥炬爣"},"isIframe":{"type":"boolean","description":"鏄惁鍐呭祵"},"outLink":{"maxLength":256,"type":["string","null"],"description":"澶栭摼閾炬帴"},"isHide":{"type":"boolean","description":"鏄惁闅愯棌"},"isKeepAlive":{"type":"boolean","description":"鏄惁缂撳瓨"},"isAffix":{"type":"boolean","description":"鏄惁鍥哄畾"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"status":{"$ref":"#/definitions/84275375"},"remark":{"maxLength":256,"type":["string","null"],"description":"澶囨敞"},"children":{"type":["array","null"],"items":{"$ref":"#/definitions/84275390"},"description":"鑿滃崟瀛愰」"}},"additionalProperties":false,"description":"绯荤粺鑿滃崟琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","pid","type","name","path","component","redirect","permission","title","icon","isIframe","outLink","isHide","isKeepAlive","isAffix","orderNo","status","remark","children"]}}},{"name":"SysMenuMeta","displayName":"","id":"#/definitions/84275391","description":"鑿滃崟Meta閰嶇疆","schema":{"jsonSchema":{"type":"object","properties":{"title":{"type":["string","null"],"description":"鏍囬"},"icon":{"type":["string","null"],"description":"鍥炬爣"},"isIframe":{"type":"boolean","description":"鏄惁鍐呭祵"},"isLink":{"type":["string","null"],"description":"澶栭摼閾炬帴"},"isHide":{"type":"boolean","description":"鏄惁闅愯棌"},"isKeepAlive":{"type":"boolean","description":"鏄惁缂撳瓨"},"isAffix":{"type":"boolean","description":"鏄惁鍥哄畾"}},"additionalProperties":false,"description":"鑿滃崟Meta閰嶇疆","x-apifox-orders":["title","icon","isIframe","isLink","isHide","isKeepAlive","isAffix"]}}},{"name":"SysNotice","displayName":"","id":"#/definitions/84275392","description":"绯荤粺閫氱煡鍏憡琛�","schema":{"jsonSchema":{"required":["content","title"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"title":{"maxLength":32,"minLength":1,"type":"string","description":"鏍囬"},"content":{"minLength":1,"type":"string","description":"鍐呭"},"type":{"$ref":"#/definitions/84275325"},"publicUserId":{"type":"integer","description":"鍙戝竷浜篒d","format":"int64"},"publicUserName":{"maxLength":32,"type":["string","null"],"description":"鍙戝竷浜哄鍚�"},"publicOrgId":{"type":"integer","description":"鍙戝竷鏈烘瀯Id","format":"int64"},"publicOrgName":{"maxLength":64,"type":["string","null"],"description":"鍙戝竷鏈烘瀯鍚嶇О"},"publicTime":{"type":["string","null"],"description":"鍙戝竷鏃堕棿","format":"date-time"},"cancelTime":{"type":["string","null"],"description":"鎾ゅ洖鏃堕棿","format":"date-time"},"status":{"$ref":"#/definitions/84275324"}},"additionalProperties":false,"description":"绯荤粺閫氱煡鍏憡琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","title","content","type","publicUserId","publicUserName","publicOrgId","publicOrgName","publicTime","cancelTime","status"]}}},{"name":"SysNoticeUser","displayName":"","id":"#/definitions/84275393","description":"绯荤粺閫氱煡鍏憡鐢ㄦ埛琛�","schema":{"jsonSchema":{"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"noticeId":{"type":"integer","description":"閫氱煡鍏憡Id","format":"int64"},"sysNotice":{"$ref":"#/definitions/84275392"},"userId":{"type":"integer","description":"鐢ㄦ埛Id","format":"int64"},"readTime":{"type":["string","null"],"description":"闃呰鏃堕棿","format":"date-time"},"readStatus":{"$ref":"#/definitions/84275326"}},"additionalProperties":false,"description":"绯荤粺閫氱煡鍏憡鐢ㄦ埛琛�","x-apifox-orders":["id","noticeId","sysNotice","userId","readTime","readStatus"]}}},{"name":"SysOnlineUser","displayName":"","id":"#/definitions/84275394","description":"绯荤粺鍦ㄧ嚎鐢ㄦ埛琛�","schema":{"jsonSchema":{"required":["userName"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"connectionId":{"type":["string","null"],"description":"杩炴帴Id"},"userId":{"type":"integer","description":"鐢ㄦ埛Id","format":"int64"},"userName":{"maxLength":32,"minLength":1,"type":"string","description":"璐﹀彿"},"realName":{"maxLength":32,"type":["string","null"],"description":"鐪熷疄濮撳悕"},"time":{"type":["string","null"],"description":"杩炴帴鏃堕棿","format":"date-time"},"ip":{"maxLength":256,"type":["string","null"],"description":"杩炴帴IP"},"browser":{"maxLength":128,"type":["string","null"],"description":"娴忚鍣�"},"os":{"maxLength":128,"type":["string","null"],"description":"鎿嶄綔绯荤粺"}},"additionalProperties":false,"description":"绯荤粺鍦ㄧ嚎鐢ㄦ埛琛�","x-apifox-orders":["id","tenantId","connectionId","userId","userName","realName","time","ip","browser","os"]}}},{"name":"SysOrg","displayName":"","id":"#/definitions/84275395","description":"绯荤粺鏈烘瀯琛�","schema":{"jsonSchema":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"pid":{"type":"integer","description":"鐖禝d","format":"int64"},"name":{"maxLength":64,"minLength":1,"type":"string","description":"鍚嶇О"},"code":{"maxLength":64,"type":["string","null"],"description":"缂栫爜"},"level":{"type":["integer","null"],"description":"绾у埆","format":"int32"},"type":{"maxLength":64,"type":["string","null"],"description":"鏈烘瀯绫诲瀷-鏁版嵁瀛楀吀"},"directorId":{"type":["integer","null"],"description":"璐熻矗浜篒d","format":"int64"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"status":{"$ref":"#/definitions/84275375"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"children":{"type":["array","null"],"items":{"$ref":"#/definitions/84275395"},"description":"鏈烘瀯瀛愰」"},"disabled":{"type":"boolean","description":"鏄惁绂佹閫変腑"}},"additionalProperties":false,"description":"绯荤粺鏈烘瀯琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","pid","name","code","level","type","directorId","orderNo","status","remark","children","disabled"]}}},{"name":"SysPlugin","displayName":"","id":"#/definitions/84275396","description":"绯荤粺鍔ㄦ�佹彃浠惰〃","schema":{"jsonSchema":{"required":["csharpCode","name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"name":{"maxLength":64,"minLength":1,"type":"string","description":"鍚嶇О"},"csharpCode":{"minLength":1,"type":"string","description":"C#浠g爜"},"assemblyName":{"maxLength":512,"type":["string","null"],"description":"绋嬪簭闆嗗悕绉�"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"status":{"$ref":"#/definitions/84275375"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"}},"additionalProperties":false,"description":"绯荤粺鍔ㄦ�佹彃浠惰〃","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","name","csharpCode","assemblyName","orderNo","status","remark"]}}},{"name":"SysPos","displayName":"","id":"#/definitions/84275397","description":"绯荤粺鑱屼綅琛�","schema":{"jsonSchema":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"name":{"maxLength":64,"minLength":1,"type":"string","description":"鍚嶇О"},"code":{"maxLength":64,"type":["string","null"],"description":"缂栫爜"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"status":{"$ref":"#/definitions/84275375"}},"additionalProperties":false,"description":"绯荤粺鑱屼綅琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","name","code","orderNo","remark","status"]}}},{"name":"SysPrint","displayName":"","id":"#/definitions/84275398","description":"绯荤粺鎵撳嵃妯℃澘琛�","schema":{"jsonSchema":{"required":["name","template"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"name":{"maxLength":64,"minLength":1,"type":"string","description":"鍚嶇О"},"template":{"minLength":1,"type":"string","description":"鎵撳嵃妯℃澘"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"status":{"$ref":"#/definitions/84275375"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"}},"additionalProperties":false,"description":"绯荤粺鎵撳嵃妯℃澘琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","name","template","orderNo","status","remark"]}}},{"name":"SysRegion","displayName":"","id":"#/definitions/84275399","description":"绯荤粺琛屾斂鍦板尯琛�","schema":{"jsonSchema":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"pid":{"type":"integer","description":"鐖禝d","format":"int64"},"name":{"maxLength":128,"minLength":1,"type":"string","description":"鍚嶇О"},"shortName":{"maxLength":32,"type":["string","null"],"description":"绠�绉�"},"mergerName":{"maxLength":64,"type":["string","null"],"description":"缁勫悎鍚�"},"code":{"maxLength":32,"type":["string","null"],"description":"琛屾斂浠g爜"},"zipCode":{"maxLength":6,"type":["string","null"],"description":"閭斂缂栫爜"},"cityCode":{"maxLength":6,"type":["string","null"],"description":"鍖哄彿"},"level":{"type":"integer","description":"灞傜骇","format":"int32"},"pinYin":{"maxLength":128,"type":["string","null"],"description":"鎷奸煶"},"lng":{"type":"number","description":"缁忓害","format":"float"},"lat":{"type":"number","description":"缁村害","format":"float"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"children":{"type":["array","null"],"items":{"$ref":"#/definitions/84275399"},"description":"鏈烘瀯瀛愰」"}},"additionalProperties":false,"description":"绯荤粺琛屾斂鍦板尯琛�","x-apifox-orders":["id","pid","name","shortName","mergerName","code","zipCode","cityCode","level","pinYin","lng","lat","orderNo","remark","children"]}}},{"name":"SysRole","displayName":"","id":"#/definitions/84275400","description":"绯荤粺瑙掕壊琛�","schema":{"jsonSchema":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"name":{"maxLength":64,"minLength":1,"type":"string","description":"鍚嶇О"},"code":{"maxLength":64,"type":["string","null"],"description":"缂栫爜"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"dataScope":{"$ref":"#/definitions/84275269"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"status":{"$ref":"#/definitions/84275375"}},"additionalProperties":false,"description":"绯荤粺瑙掕壊琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","name","code","orderNo","dataScope","remark","status"]}}},{"name":"SysUser","displayName":"","id":"#/definitions/84275401","description":"绯荤粺鐢ㄦ埛琛�","schema":{"jsonSchema":{"required":["account"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"account":{"maxLength":32,"minLength":1,"type":"string","description":"璐﹀彿"},"realName":{"maxLength":32,"type":["string","null"],"description":"鐪熷疄濮撳悕"},"nickName":{"maxLength":32,"type":["string","null"],"description":"鏄电О"},"avatar":{"maxLength":512,"type":["string","null"],"description":"澶村儚"},"sex":{"$ref":"#/definitions/84275305"},"age":{"type":"integer","description":"骞撮緞","format":"int32"},"birthday":{"type":["string","null"],"description":"鍑虹敓鏃ユ湡","format":"date-time"},"nation":{"maxLength":32,"type":["string","null"],"description":"姘戞棌"},"phone":{"maxLength":16,"type":["string","null"],"description":"鎵嬫満鍙风爜"},"cardType":{"$ref":"#/definitions/84275258"},"idCardNum":{"maxLength":32,"type":["string","null"],"description":"韬唤璇佸彿"},"email":{"maxLength":64,"type":["string","null"],"description":"閭"},"address":{"maxLength":256,"type":["string","null"],"description":"鍦板潃"},"cultureLevel":{"$ref":"#/definitions/84275267"},"politicalOutlook":{"maxLength":16,"type":["string","null"],"description":"鏀挎不闈㈣矊"},"college":{"maxLength":128,"type":["string","null"],"description":"姣曚笟闄㈡牎"},"officePhone":{"maxLength":16,"type":["string","null"],"description":"鍔炲叕鐢佃瘽"},"emergencyContact":{"maxLength":32,"type":["string","null"],"description":"绱ф�ヨ仈绯讳汉"},"emergencyPhone":{"maxLength":16,"type":["string","null"],"description":"绱ф�ヨ仈绯讳汉鐢佃瘽"},"emergencyAddress":{"maxLength":256,"type":["string","null"],"description":"绱ф�ヨ仈绯讳汉鍦板潃"},"introduction":{"maxLength":512,"type":["string","null"],"description":"涓汉绠�浠�"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"status":{"$ref":"#/definitions/84275375"},"remark":{"maxLength":256,"type":["string","null"],"description":"澶囨敞"},"accountType":{"$ref":"#/definitions/84275167"},"orgId":{"type":"integer","description":"鐩村睘鏈烘瀯Id","format":"int64"},"sysOrg":{"$ref":"#/definitions/84275395"},"managerUserId":{"type":["integer","null"],"description":"鐩村睘涓荤Id","format":"int64"},"posId":{"type":"integer","description":"鑱屼綅Id","format":"int64"},"jobNum":{"maxLength":32,"type":["string","null"],"description":"宸ュ彿"},"posLevel":{"maxLength":32,"type":["string","null"],"description":"鑱岀骇"},"posTitle":{"maxLength":32,"type":["string","null"],"description":"鑱岀О"},"expertise":{"maxLength":32,"type":["string","null"],"description":"鎿呴暱棰嗗煙"},"officeZone":{"maxLength":32,"type":["string","null"],"description":"鍔炲叕鍖哄煙"},"office":{"maxLength":32,"type":["string","null"],"description":"鍔炲叕瀹�"},"joinDate":{"type":["string","null"],"description":"鍏ヨ亴鏃ユ湡","format":"date-time"},"lastLoginIp":{"maxLength":256,"type":["string","null"],"description":"鏈�鏂扮櫥褰旾p"},"lastLoginAddress":{"maxLength":128,"type":["string","null"],"description":"鏈�鏂扮櫥褰曞湴鐐�"},"lastLoginTime":{"type":["string","null"],"description":"鏈�鏂扮櫥褰曟椂闂�","format":"date-time"},"lastLoginDevice":{"maxLength":128,"type":["string","null"],"description":"鏈�鏂扮櫥褰曡澶�"},"signature":{"maxLength":512,"type":["string","null"],"description":"鐢靛瓙绛惧悕"}},"additionalProperties":false,"description":"绯荤粺鐢ㄦ埛琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","account","realName","nickName","avatar","sex","age","birthday","nation","phone","cardType","idCardNum","email","address","cultureLevel","politicalOutlook","college","officePhone","emergencyContact","emergencyPhone","emergencyAddress","introduction","orderNo","status","remark","accountType","orgId","sysOrg","managerUserId","posId","jobNum","posLevel","posTitle","expertise","officeZone","office","joinDate","lastLoginIp","lastLoginAddress","lastLoginTime","lastLoginDevice","signature"]}}},{"name":"SysUserExtOrg","displayName":"","id":"#/definitions/84275402","description":"绯荤粺鐢ㄦ埛鎵╁睍鏈烘瀯琛�","schema":{"jsonSchema":{"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"userId":{"type":"integer","description":"鐢ㄦ埛Id","format":"int64"},"orgId":{"type":"integer","description":"鏈烘瀯Id","format":"int64"},"posId":{"type":"integer","description":"鑱屼綅Id","format":"int64"},"jobNum":{"maxLength":32,"type":["string","null"],"description":"宸ュ彿"},"posLevel":{"maxLength":32,"type":["string","null"],"description":"鑱岀骇"},"joinDate":{"type":["string","null"],"description":"鍏ヨ亴鏃ユ湡","format":"date-time"}},"additionalProperties":false,"description":"绯荤粺鐢ㄦ埛鎵╁睍鏈烘瀯琛�","x-apifox-orders":["id","userId","orgId","posId","jobNum","posLevel","joinDate"]}}},{"name":"SysWechatPay","displayName":"","id":"#/definitions/84275403","description":"绯荤粺寰俊鏀粯琛�","schema":{"jsonSchema":{"required":["appId","merchantId","outTradeNumber","transactionId"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"merchantId":{"minLength":1,"type":"string","description":"寰俊鍟嗘埛鍙�"},"appId":{"minLength":1,"type":"string","description":"鏈嶅姟鍟咥ppId"},"outTradeNumber":{"minLength":1,"type":"string","description":"鍟嗘埛璁㈠崟鍙�"},"transactionId":{"minLength":1,"type":"string","description":"鏀粯璁㈠崟鍙�"},"tradeType":{"type":["string","null"],"description":"浜ゆ槗绫诲瀷"},"tradeState":{"type":["string","null"],"description":"浜ゆ槗鐘舵��"},"tradeStateDescription":{"type":["string","null"],"description":"浜ゆ槗鐘舵�佹弿杩�"},"bankType":{"type":["string","null"],"description":"浠樻閾惰绫诲瀷"},"total":{"type":"integer","description":"璁㈠崟鎬婚噾棰�","format":"int32"},"payerTotal":{"type":["integer","null"],"description":"鐢ㄦ埛鏀粯閲戦","format":"int32"},"successTime":{"type":["string","null"],"description":"鏀粯瀹屾垚鏃堕棿","format":"date-time"},"expireTime":{"type":["string","null"],"description":"浜ゆ槗缁撴潫鏃堕棿","format":"date-time"},"description":{"type":["string","null"],"description":"鍟嗗搧鎻忚堪"},"scene":{"type":["string","null"],"description":"鍦烘櫙淇℃伅"},"attachment":{"type":["string","null"],"description":"闄勫姞鏁版嵁"},"goodsTag":{"type":["string","null"],"description":"浼樻儬鏍囪"},"settlement":{"type":["string","null"],"description":"缁撶畻淇℃伅"},"notifyUrl":{"type":["string","null"],"description":"鍥炶皟閫氱煡鍦板潃"},"remark":{"type":["string","null"],"description":"澶囨敞"},"openId":{"type":["string","null"],"description":"寰俊OpenId鏍囪瘑"},"subMerchantId":{"type":["string","null"],"description":"瀛愬晢鎴峰彿"},"subAppId":{"type":["string","null"],"description":"瀛愬晢鎴稟ppId"},"subOpenId":{"type":["string","null"],"description":"瀛愬晢鎴峰敮涓�鏍囪瘑"}},"additionalProperties":false,"description":"绯荤粺寰俊鏀粯琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","merchantId","appId","outTradeNumber","transactionId","tradeType","tradeState","tradeStateDescription","bankType","total","payerTotal","successTime","expireTime","description","scene","attachment","goodsTag","settlement","notifyUrl","remark","openId","subMerchantId","subAppId","subOpenId"]}}},{"name":"SysWechatUser","displayName":"","id":"#/definitions/84275404","description":"绯荤粺寰俊鐢ㄦ埛琛�","schema":{"jsonSchema":{"required":["openId"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"userId":{"type":"integer","description":"绯荤粺鐢ㄦ埛Id","format":"int64"},"platformType":{"$ref":"#/definitions/84275344"},"openId":{"maxLength":64,"minLength":1,"type":"string","description":"OpenId"},"sessionKey":{"maxLength":256,"type":["string","null"],"description":"浼氳瘽瀵嗛挜"},"unionId":{"maxLength":64,"type":["string","null"],"description":"UnionId"},"nickName":{"maxLength":64,"type":["string","null"],"description":"鏄电О"},"avatar":{"maxLength":256,"type":["string","null"],"description":"澶村儚"},"mobile":{"maxLength":16,"type":["string","null"],"description":"鎵嬫満鍙风爜"},"sex":{"type":["integer","null"],"description":"鎬у埆","format":"int32"},"language":{"maxLength":64,"type":["string","null"],"description":"璇█"},"city":{"maxLength":64,"type":["string","null"],"description":"鍩庡競"},"province":{"maxLength":64,"type":["string","null"],"description":"鐪�"},"country":{"maxLength":64,"type":["string","null"],"description":"鍥藉"},"accessToken":{"type":["string","null"],"description":"AccessToken"},"refreshToken":{"type":["string","null"],"description":"RefreshToken"},"expiresIn":{"type":["integer","null"],"description":"杩囨湡鏃堕棿","format":"int32"},"scope":{"maxLength":64,"type":["string","null"],"description":"鐢ㄦ埛鎺堟潈鐨勪綔鐢ㄥ煙锛屼娇鐢ㄩ�楀彿鍒嗛殧"}},"additionalProperties":false,"description":"绯荤粺寰俊鐢ㄦ埛琛�","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","userId","platformType","openId","sessionKey","unionId","nickName","avatar","mobile","sex","language","city","province","country","accessToken","refreshToken","expiresIn","scope"]}}},{"name":"TableOutput","displayName":"","id":"#/definitions/84275405","description":"鏁版嵁搴撹〃","schema":{"jsonSchema":{"type":"object","properties":{"configId":{"type":["string","null"],"description":"搴撳畾浣嶅櫒鍚�"},"tableName":{"type":["string","null"],"description":"琛ㄥ悕锛堝瓧姣嶅舰寮忕殑锛�"},"entityName":{"type":["string","null"],"description":"瀹炰綋鍚嶇О"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿"},"tableComment":{"type":["string","null"],"description":"琛ㄥ悕绉版弿杩帮紙鍔熻兘鍚嶏級"}},"additionalProperties":false,"description":"鏁版嵁搴撹〃","x-apifox-orders":["configId","tableName","entityName","createTime","updateTime","tableComment"]}}},{"name":"TenantIdInput","displayName":"","id":"#/definitions/84275406","description":"","schema":{"jsonSchema":{"type":"object","properties":{"tenantId":{"type":"integer","description":"绉熸埛Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["tenantId"]}}},{"name":"TenantInput","displayName":"","id":"#/definitions/84275407","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"},"status":{"$ref":"#/definitions/84275375"}},"additionalProperties":false,"x-apifox-orders":["id","status"]}}},{"name":"TenantOutput","displayName":"","id":"#/definitions/84275408","description":"","schema":{"jsonSchema":{"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"userId":{"type":"integer","description":"鐢ㄦ埛Id","format":"int64"},"orgId":{"type":"integer","description":"鏈烘瀯Id","format":"int64"},"host":{"maxLength":128,"type":["string","null"],"description":"涓绘満"},"tenantType":{"$ref":"#/definitions/84275409"},"dbType":{"$ref":"#/definitions/84275276"},"connection":{"maxLength":256,"type":["string","null"],"description":"鏁版嵁搴撹繛鎺�"},"configId":{"maxLength":64,"type":["string","null"],"description":"鏁版嵁搴撴爣璇�"},"slaveConnections":{"type":["string","null"],"description":"浠庡簱杩炴帴/璇诲啓鍒嗙"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"status":{"$ref":"#/definitions/84275375"},"name":{"type":["string","null"],"description":"绉熸埛鍚嶇О"},"adminAccount":{"type":["string","null"],"description":"绠$悊鍛樿处鍙�"},"email":{"type":["string","null"],"description":"鐢靛瓙閭"},"phone":{"type":["string","null"],"description":"鐢佃瘽"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","userId","orgId","host","tenantType","dbType","connection","configId","slaveConnections","orderNo","remark","status","name","adminAccount","email","phone"]}}},{"name":"TenantTypeEnum","displayName":"","id":"#/definitions/84275409","description":"绉熸埛绫诲瀷鏋氫妇<br />&nbsp;Id闅旂 Id = 0<br />&nbsp;搴撻殧绂� Db = 1<br />","schema":{"jsonSchema":{"enum":[0,1],"type":"integer","description":"绉熸埛绫诲瀷鏋氫妇<br />&nbsp;Id闅旂 Id = 0<br />&nbsp;搴撻殧绂� Db = 1<br />","format":"int32"}}},{"name":"TenantUserInput","displayName":"","id":"#/definitions/84275410","description":"","schema":{"jsonSchema":{"type":"object","properties":{"userId":{"type":"integer","description":"鐢ㄦ埛Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["userId"]}}},{"name":"TriggerStatus","displayName":"","id":"#/definitions/84275411","description":"<br />&nbsp; Backlog = 0<br />&nbsp; Ready = 1<br />&nbsp; Running = 2<br />&nbsp; Pause = 3<br />&nbsp; Blocked = 4<br />&nbsp; ErrorToReady = 5<br />&nbsp; Archived = 6<br />&nbsp; Panic = 7<br />&nbsp; Overrun = 8<br />&nbsp; Unoccupied = 9<br />&nbsp; NotStart = 10<br />&nbsp; Unknown = 11<br />&nbsp; Unhandled = 12<br />","schema":{"jsonSchema":{"enum":[0,1,2,3,4,5,6,7,8,9,10,11,12],"type":"integer","description":"<br />&nbsp; Backlog = 0<br />&nbsp; Ready = 1<br />&nbsp; Running = 2<br />&nbsp; Pause = 3<br />&nbsp; Blocked = 4<br />&nbsp; ErrorToReady = 5<br />&nbsp; Archived = 6<br />&nbsp; Panic = 7<br />&nbsp; Overrun = 8<br />&nbsp; Unoccupied = 9<br />&nbsp; NotStart = 10<br />&nbsp; Unknown = 11<br />&nbsp; Unhandled = 12<br />","format":"int32"}}},{"name":"UnlockLoginInput","displayName":"","id":"#/definitions/84275412","description":"瑙i櫎鐧诲綍閿佸畾杈撳叆鍙傛暟","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"}},"additionalProperties":false,"description":"瑙i櫎鐧诲綍閿佸畾杈撳叆鍙傛暟","x-apifox-orders":["id"]}}},{"name":"UpdateCodeGenInput","displayName":"","id":"#/definitions/84275413","description":"","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"authorName":{"type":["string","null"],"description":"浣滆�呭鍚�"},"className":{"type":["string","null"],"description":"绫诲悕"},"tablePrefix":{"type":["string","null"],"description":"鏄惁绉婚櫎琛ㄥ墠缂�"},"configId":{"type":["string","null"],"description":"搴撳畾浣嶅櫒鍚�"},"dbName":{"type":["string","null"],"description":"鏁版嵁搴撳悕(淇濈暀瀛楁)"},"dbType":{"type":["string","null"],"description":"鏁版嵁搴撶被鍨�"},"connectionString":{"type":["string","null"],"description":"鏁版嵁搴撻摼鎺�"},"generateType":{"type":["string","null"],"description":"鐢熸垚鏂瑰紡"},"tableName":{"type":["string","null"],"description":"鏁版嵁搴撹〃鍚�"},"nameSpace":{"type":["string","null"],"description":"鍛藉悕绌洪棿"},"busName":{"type":["string","null"],"description":"涓氬姟鍚嶏紙涓氬姟浠g爜鍖呭悕绉帮級"},"tableComment":{"type":["string","null"],"description":"鍔熻兘鍚嶏紙鏁版嵁搴撹〃鍚嶇О锛�"},"menuApplication":{"type":["string","null"],"description":"鑿滃崟搴旂敤鍒嗙被锛堝簲鐢ㄧ紪鐮侊級"},"menuPid":{"type":"integer","description":"鑿滃崟鐖剁骇","format":"int64"},"printType":{"type":["string","null"],"description":"鏀寔鎵撳嵃绫诲瀷"},"printName":{"type":["string","null"],"description":"鎵撳嵃妯$増鍚嶇О"},"id":{"type":"integer","description":"浠g爜鐢熸垚鍣↖d","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["page","pageSize","field","order","descStr","authorName","className","tablePrefix","configId","dbName","dbType","connectionString","generateType","tableName","nameSpace","busName","tableComment","menuApplication","menuPid","printType","printName","id"]}}},{"name":"UpdateConfigInput","displayName":"","id":"#/definitions/84275414","description":"","schema":{"jsonSchema":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"name":{"maxLength":64,"minLength":1,"type":"string","description":"鍚嶇О"},"code":{"maxLength":64,"type":["string","null"],"description":"缂栫爜"},"value":{"maxLength":64,"type":["string","null"],"description":"灞炴�у��"},"sysFlag":{"$ref":"#/definitions/84275444"},"groupCode":{"maxLength":64,"type":["string","null"],"description":"鍒嗙粍缂栫爜"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":256,"type":["string","null"],"description":"澶囨敞"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","name","code","value","sysFlag","groupCode","orderNo","remark"]}}},{"name":"UpdateDbColumnInput","displayName":"","id":"#/definitions/84275415","description":"","schema":{"jsonSchema":{"type":"object","properties":{"configId":{"type":["string","null"]},"tableName":{"type":["string","null"]},"columnName":{"type":["string","null"]},"oldColumnName":{"type":["string","null"]},"description":{"type":["string","null"]}},"additionalProperties":false,"x-apifox-orders":["configId","tableName","columnName","oldColumnName","description"]}}},{"name":"UpdateDbTableInput","displayName":"","id":"#/definitions/84275416","description":"","schema":{"jsonSchema":{"type":"object","properties":{"configId":{"type":["string","null"]},"tableName":{"type":["string","null"]},"oldTableName":{"type":["string","null"]},"description":{"type":["string","null"]}},"additionalProperties":false,"x-apifox-orders":["configId","tableName","oldTableName","description"]}}},{"name":"UpdateDictDataInput","displayName":"","id":"#/definitions/84275417","description":"","schema":{"jsonSchema":{"required":["code","value"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"dictTypeId":{"type":"integer","description":"瀛楀吀绫诲瀷Id","format":"int64"},"value":{"maxLength":128,"minLength":1,"type":"string","description":"鍊�"},"code":{"maxLength":64,"minLength":1,"type":"string","description":"缂栫爜"},"tagType":{"maxLength":16,"type":["string","null"],"description":"鏄剧ず鏍峰紡-鏍囩棰滆壊"},"styleSetting":{"maxLength":512,"type":["string","null"],"description":"鏄剧ず鏍峰紡-Style(鎺у埗鏄剧ず鏍峰紡)"},"classSetting":{"maxLength":512,"type":["string","null"],"description":"鏄剧ず鏍峰紡-Class(鎺у埗鏄剧ず鏍峰紡)"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":2048,"type":["string","null"],"description":"澶囨敞"},"extData":{"type":["string","null"],"description":"鎷撳睍鏁版嵁(淇濆瓨涓氬姟鍔熻兘鐨勯厤缃」)"},"status":{"$ref":"#/definitions/84275375"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","dictTypeId","value","code","tagType","styleSetting","classSetting","orderNo","remark","extData","status"]}}},{"name":"UpdateDictTypeInput","displayName":"","id":"#/definitions/84275418","description":"","schema":{"jsonSchema":{"required":["code","name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"name":{"maxLength":64,"minLength":1,"type":"string","description":"鍚嶇О"},"code":{"maxLength":64,"minLength":1,"type":"string","description":"缂栫爜"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":256,"type":["string","null"],"description":"澶囨敞"},"status":{"$ref":"#/definitions/84275375"},"children":{"type":["array","null"],"items":{"$ref":"#/definitions/84275379"},"description":"瀛楀吀鍊奸泦鍚�"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","name","code","orderNo","remark","status","children"]}}},{"name":"UpdateJobDetailInput","displayName":"","id":"#/definitions/84275419","description":"","schema":{"jsonSchema":{"required":["jobId"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"groupName":{"maxLength":128,"type":["string","null"],"description":"缁勫悕绉�"},"jobType":{"maxLength":128,"type":["string","null"],"description":"浣滀笟绫诲瀷FullName"},"assemblyName":{"maxLength":128,"type":["string","null"],"description":"绋嬪簭闆哊ame"},"description":{"maxLength":128,"type":["string","null"],"description":"鎻忚堪淇℃伅"},"concurrent":{"type":"boolean","description":"鏄惁骞惰鎵ц"},"includeAnnotations":{"type":"boolean","description":"鏄惁鎵弿鐗规�цЕ鍙戝櫒"},"properties":{"type":["string","null"],"description":"棰濆鏁版嵁"},"updatedTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createType":{"$ref":"#/definitions/84275308"},"scriptCode":{"type":["string","null"],"description":"鑴氭湰浠g爜"},"jobId":{"minLength":2,"type":"string","description":"浣滀笟Id"}},"additionalProperties":false,"x-apifox-orders":["id","groupName","jobType","assemblyName","description","concurrent","includeAnnotations","properties","updatedTime","createType","scriptCode","jobId"]}}},{"name":"UpdateJobTriggerInput","displayName":"","id":"#/definitions/84275420","description":"","schema":{"jsonSchema":{"required":["jobId","triggerId"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"triggerType":{"maxLength":128,"type":["string","null"],"description":"瑙﹀彂鍣ㄧ被鍨婩ullName"},"assemblyName":{"maxLength":128,"type":["string","null"],"description":"绋嬪簭闆哊ame"},"args":{"maxLength":128,"type":["string","null"],"description":"鍙傛暟"},"description":{"maxLength":128,"type":["string","null"],"description":"鎻忚堪淇℃伅"},"status":{"$ref":"#/definitions/84275411"},"startTime":{"type":["string","null"],"description":"璧峰鏃堕棿","format":"date-time"},"endTime":{"type":["string","null"],"description":"缁撴潫鏃堕棿","format":"date-time"},"lastRunTime":{"type":["string","null"],"description":"鏈�杩戣繍琛屾椂闂�","format":"date-time"},"nextRunTime":{"type":["string","null"],"description":"涓嬩竴娆¤繍琛屾椂闂�","format":"date-time"},"numberOfRuns":{"type":"integer","description":"瑙﹀彂娆℃暟","format":"int64"},"maxNumberOfRuns":{"type":"integer","description":"鏈�澶цЕ鍙戞鏁帮紙0:涓嶉檺鍒讹紝n:N娆★級","format":"int64"},"numberOfErrors":{"type":"integer","description":"鍑洪敊娆℃暟","format":"int64"},"maxNumberOfErrors":{"type":"integer","description":"鏈�澶у嚭閿欐鏁帮紙0:涓嶉檺鍒讹紝n:N娆★級","format":"int64"},"numRetries":{"type":"integer","description":"閲嶈瘯娆℃暟","format":"int32"},"retryTimeout":{"type":"integer","description":"閲嶈瘯闂撮殧鏃堕棿锛坢s锛�","format":"int32"},"startNow":{"type":"boolean","description":"鏄惁绔嬪嵆鍚姩"},"runOnStart":{"type":"boolean","description":"鏄惁鍚姩鏃舵墽琛屼竴娆�"},"resetOnlyOnce":{"type":"boolean","description":"鏄惁鍦ㄥ惎鍔ㄦ椂閲嶇疆鏈�澶цЕ鍙戞鏁扮瓑浜庝竴娆$殑浣滀笟"},"updatedTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"jobId":{"minLength":2,"type":"string","description":"浣滀笟Id"},"triggerId":{"minLength":2,"type":"string","description":"瑙﹀彂鍣↖d"}},"additionalProperties":false,"x-apifox-orders":["id","triggerType","assemblyName","args","description","status","startTime","endTime","lastRunTime","nextRunTime","numberOfRuns","maxNumberOfRuns","numberOfErrors","maxNumberOfErrors","numRetries","retryTimeout","startNow","runOnStart","resetOnlyOnce","updatedTime","jobId","triggerId"]}}},{"name":"UpdateMenuInput","displayName":"","id":"#/definitions/84275421","description":"","schema":{"jsonSchema":{"required":["title"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"pid":{"type":"integer","description":"鐖禝d","format":"int64"},"type":{"$ref":"#/definitions/84275319"},"name":{"maxLength":64,"type":["string","null"],"description":"璺敱鍚嶇О"},"path":{"maxLength":128,"type":["string","null"],"description":"璺敱鍦板潃"},"component":{"maxLength":128,"type":["string","null"],"description":"缁勪欢璺緞"},"redirect":{"maxLength":128,"type":["string","null"],"description":"閲嶅畾鍚�"},"permission":{"maxLength":128,"type":["string","null"],"description":"鏉冮檺鏍囪瘑"},"icon":{"maxLength":128,"type":["string","null"],"description":"鍥炬爣"},"isIframe":{"type":"boolean","description":"鏄惁鍐呭祵"},"outLink":{"maxLength":256,"type":["string","null"],"description":"澶栭摼閾炬帴"},"isHide":{"type":"boolean","description":"鏄惁闅愯棌"},"isKeepAlive":{"type":"boolean","description":"鏄惁缂撳瓨"},"isAffix":{"type":"boolean","description":"鏄惁鍥哄畾"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"status":{"$ref":"#/definitions/84275375"},"remark":{"maxLength":256,"type":["string","null"],"description":"澶囨敞"},"children":{"type":["array","null"],"items":{"$ref":"#/definitions/84275390"},"description":"鑿滃崟瀛愰」"},"title":{"minLength":1,"type":"string","description":"鍚嶇О"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","pid","type","name","path","component","redirect","permission","icon","isIframe","outLink","isHide","isKeepAlive","isAffix","orderNo","status","remark","children","title"]}}},{"name":"UpdateNoticeInput","displayName":"","id":"#/definitions/84275422","description":"","schema":{"jsonSchema":{"required":["content","title"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"title":{"maxLength":32,"minLength":1,"type":"string","description":"鏍囬"},"content":{"minLength":1,"type":"string","description":"鍐呭"},"type":{"$ref":"#/definitions/84275325"},"publicUserId":{"type":"integer","description":"鍙戝竷浜篒d","format":"int64"},"publicUserName":{"maxLength":32,"type":["string","null"],"description":"鍙戝竷浜哄鍚�"},"publicOrgId":{"type":"integer","description":"鍙戝竷鏈烘瀯Id","format":"int64"},"publicOrgName":{"maxLength":64,"type":["string","null"],"description":"鍙戝竷鏈烘瀯鍚嶇О"},"publicTime":{"type":["string","null"],"description":"鍙戝竷鏃堕棿","format":"date-time"},"cancelTime":{"type":["string","null"],"description":"鎾ゅ洖鏃堕棿","format":"date-time"},"status":{"$ref":"#/definitions/84275324"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","title","content","type","publicUserId","publicUserName","publicOrgId","publicOrgName","publicTime","cancelTime","status"]}}},{"name":"UpdateOpenAccessInput","displayName":"","id":"#/definitions/84275423","description":"","schema":{"jsonSchema":{"required":["accessKey","accessSecret","bindUserId"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"bindTenantId":{"type":"integer","description":"缁戝畾绉熸埛Id","format":"int64"},"accessKey":{"minLength":1,"type":"string","description":"韬唤鏍囪瘑"},"accessSecret":{"minLength":1,"type":"string","description":"瀵嗛挜"},"bindUserId":{"type":"integer","description":"缁戝畾鐢ㄦ埛Id","format":"int64"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","bindTenantId","accessKey","accessSecret","bindUserId"]}}},{"name":"UpdateOrgInput","displayName":"","id":"#/definitions/84275424","description":"","schema":{"jsonSchema":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"pid":{"type":"integer","description":"鐖禝d","format":"int64"},"code":{"maxLength":64,"type":["string","null"],"description":"缂栫爜"},"level":{"type":["integer","null"],"description":"绾у埆","format":"int32"},"type":{"maxLength":64,"type":["string","null"],"description":"鏈烘瀯绫诲瀷-鏁版嵁瀛楀吀"},"directorId":{"type":["integer","null"],"description":"璐熻矗浜篒d","format":"int64"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"status":{"$ref":"#/definitions/84275375"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"children":{"type":["array","null"],"items":{"$ref":"#/definitions/84275395"},"description":"鏈烘瀯瀛愰」"},"disabled":{"type":"boolean","description":"鏄惁绂佹閫変腑"},"name":{"minLength":1,"type":"string","description":"鍚嶇О"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","pid","code","level","type","directorId","orderNo","status","remark","children","disabled","name"]}}},{"name":"UpdatePluginInput","displayName":"","id":"#/definitions/84275425","description":"","schema":{"jsonSchema":{"required":["csharpCode","name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"csharpCode":{"minLength":1,"type":"string","description":"C#浠g爜"},"assemblyName":{"maxLength":512,"type":["string","null"],"description":"绋嬪簭闆嗗悕绉�"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"status":{"$ref":"#/definitions/84275375"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"name":{"minLength":1,"type":"string","description":"鍚嶇О"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","csharpCode","assemblyName","orderNo","status","remark","name"]}}},{"name":"UpdatePosInput","displayName":"","id":"#/definitions/84275426","description":"","schema":{"jsonSchema":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"code":{"maxLength":64,"type":["string","null"],"description":"缂栫爜"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"status":{"$ref":"#/definitions/84275375"},"name":{"minLength":1,"type":"string","description":"鍚嶇О"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","code","orderNo","remark","status","name"]}}},{"name":"UpdatePrintInput","displayName":"","id":"#/definitions/84275427","description":"","schema":{"jsonSchema":{"required":["name","template"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"template":{"minLength":1,"type":"string","description":"鎵撳嵃妯℃澘"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"status":{"$ref":"#/definitions/84275375"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"name":{"minLength":1,"type":"string","description":"鍚嶇О"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","template","orderNo","status","remark","name"]}}},{"name":"UpdateRegionInput","displayName":"","id":"#/definitions/84275428","description":"","schema":{"jsonSchema":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"pid":{"type":"integer","description":"鐖禝d","format":"int64"},"shortName":{"maxLength":32,"type":["string","null"],"description":"绠�绉�"},"mergerName":{"maxLength":64,"type":["string","null"],"description":"缁勫悎鍚�"},"code":{"maxLength":32,"type":["string","null"],"description":"琛屾斂浠g爜"},"zipCode":{"maxLength":6,"type":["string","null"],"description":"閭斂缂栫爜"},"cityCode":{"maxLength":6,"type":["string","null"],"description":"鍖哄彿"},"level":{"type":"integer","description":"灞傜骇","format":"int32"},"pinYin":{"maxLength":128,"type":["string","null"],"description":"鎷奸煶"},"lng":{"type":"number","description":"缁忓害","format":"float"},"lat":{"type":"number","description":"缁村害","format":"float"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"children":{"type":["array","null"],"items":{"$ref":"#/definitions/84275399"},"description":"鏈烘瀯瀛愰」"},"name":{"minLength":1,"type":"string","description":"鍚嶇О"}},"additionalProperties":false,"x-apifox-orders":["id","pid","shortName","mergerName","code","zipCode","cityCode","level","pinYin","lng","lat","orderNo","remark","children","name"]}}},{"name":"UpdateRoleInput","displayName":"","id":"#/definitions/84275429","description":"","schema":{"jsonSchema":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"code":{"maxLength":64,"type":["string","null"],"description":"缂栫爜"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"dataScope":{"$ref":"#/definitions/84275269"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"status":{"$ref":"#/definitions/84275375"},"name":{"minLength":1,"type":"string","description":"鍚嶇О"},"menuIdList":{"type":["array","null"],"items":{"type":"integer","format":"int64"},"description":"鑿滃崟Id闆嗗悎"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","code","orderNo","dataScope","remark","status","name","menuIdList"]}}},{"name":"UpdateTenantInput","displayName":"","id":"#/definitions/84275430","description":"","schema":{"jsonSchema":{"required":["adminAccount","name"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"userId":{"type":"integer","description":"鐢ㄦ埛Id","format":"int64"},"orgId":{"type":"integer","description":"鏈烘瀯Id","format":"int64"},"host":{"maxLength":128,"type":["string","null"],"description":"涓绘満"},"tenantType":{"$ref":"#/definitions/84275409"},"dbType":{"$ref":"#/definitions/84275276"},"connection":{"maxLength":256,"type":["string","null"],"description":"鏁版嵁搴撹繛鎺�"},"configId":{"maxLength":64,"type":["string","null"],"description":"鏁版嵁搴撴爣璇�"},"slaveConnections":{"type":["string","null"],"description":"浠庡簱杩炴帴/璇诲啓鍒嗙"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"remark":{"maxLength":128,"type":["string","null"],"description":"澶囨敞"},"status":{"$ref":"#/definitions/84275375"},"email":{"type":["string","null"],"description":"鐢靛瓙閭"},"phone":{"type":["string","null"],"description":"鐢佃瘽"},"name":{"minLength":2,"type":"string","description":"绉熸埛鍚嶇О"},"adminAccount":{"minLength":3,"type":"string","description":"绉熺璐﹀彿"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","userId","orgId","host","tenantType","dbType","connection","configId","slaveConnections","orderNo","remark","status","email","phone","name","adminAccount"]}}},{"name":"UpdateUserInput","displayName":"","id":"#/definitions/84275431","description":"鏇存柊鐢ㄦ埛杈撳叆鍙傛暟","schema":{"jsonSchema":{"required":["account","realName"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"nickName":{"maxLength":32,"type":["string","null"],"description":"鏄电О"},"avatar":{"maxLength":512,"type":["string","null"],"description":"澶村儚"},"sex":{"$ref":"#/definitions/84275305"},"age":{"type":"integer","description":"骞撮緞","format":"int32"},"birthday":{"type":["string","null"],"description":"鍑虹敓鏃ユ湡","format":"date-time"},"nation":{"maxLength":32,"type":["string","null"],"description":"姘戞棌"},"phone":{"maxLength":16,"type":["string","null"],"description":"鎵嬫満鍙风爜"},"cardType":{"$ref":"#/definitions/84275258"},"idCardNum":{"maxLength":32,"type":["string","null"],"description":"韬唤璇佸彿"},"email":{"maxLength":64,"type":["string","null"],"description":"閭"},"address":{"maxLength":256,"type":["string","null"],"description":"鍦板潃"},"cultureLevel":{"$ref":"#/definitions/84275267"},"politicalOutlook":{"maxLength":16,"type":["string","null"],"description":"鏀挎不闈㈣矊"},"college":{"maxLength":128,"type":["string","null"],"description":"姣曚笟闄㈡牎"},"officePhone":{"maxLength":16,"type":["string","null"],"description":"鍔炲叕鐢佃瘽"},"emergencyContact":{"maxLength":32,"type":["string","null"],"description":"绱ф�ヨ仈绯讳汉"},"emergencyPhone":{"maxLength":16,"type":["string","null"],"description":"绱ф�ヨ仈绯讳汉鐢佃瘽"},"emergencyAddress":{"maxLength":256,"type":["string","null"],"description":"绱ф�ヨ仈绯讳汉鍦板潃"},"introduction":{"maxLength":512,"type":["string","null"],"description":"涓汉绠�浠�"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"status":{"$ref":"#/definitions/84275375"},"remark":{"maxLength":256,"type":["string","null"],"description":"澶囨敞"},"accountType":{"$ref":"#/definitions/84275167"},"orgId":{"type":"integer","description":"鐩村睘鏈烘瀯Id","format":"int64"},"sysOrg":{"$ref":"#/definitions/84275395"},"managerUserId":{"type":["integer","null"],"description":"鐩村睘涓荤Id","format":"int64"},"posId":{"type":"integer","description":"鑱屼綅Id","format":"int64"},"jobNum":{"maxLength":32,"type":["string","null"],"description":"宸ュ彿"},"posLevel":{"maxLength":32,"type":["string","null"],"description":"鑱岀骇"},"posTitle":{"maxLength":32,"type":["string","null"],"description":"鑱岀О"},"expertise":{"maxLength":32,"type":["string","null"],"description":"鎿呴暱棰嗗煙"},"officeZone":{"maxLength":32,"type":["string","null"],"description":"鍔炲叕鍖哄煙"},"office":{"maxLength":32,"type":["string","null"],"description":"鍔炲叕瀹�"},"joinDate":{"type":["string","null"],"description":"鍏ヨ亴鏃ユ湡","format":"date-time"},"lastLoginIp":{"maxLength":256,"type":["string","null"],"description":"鏈�鏂扮櫥褰旾p"},"lastLoginAddress":{"maxLength":128,"type":["string","null"],"description":"鏈�鏂扮櫥褰曞湴鐐�"},"lastLoginTime":{"type":["string","null"],"description":"鏈�鏂扮櫥褰曟椂闂�","format":"date-time"},"lastLoginDevice":{"maxLength":128,"type":["string","null"],"description":"鏈�鏂扮櫥褰曡澶�"},"signature":{"maxLength":512,"type":["string","null"],"description":"鐢靛瓙绛惧悕"},"account":{"minLength":1,"type":"string","description":"璐﹀彿"},"realName":{"minLength":1,"type":"string","description":"鐪熷疄濮撳悕"},"roleIdList":{"type":["array","null"],"items":{"type":"integer","format":"int64"},"description":"瑙掕壊闆嗗悎"},"extOrgIdList":{"type":["array","null"],"items":{"$ref":"#/definitions/84275402"},"description":"鎵╁睍鏈烘瀯闆嗗悎"}},"additionalProperties":false,"description":"鏇存柊鐢ㄦ埛杈撳叆鍙傛暟","x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","nickName","avatar","sex","age","birthday","nation","phone","cardType","idCardNum","email","address","cultureLevel","politicalOutlook","college","officePhone","emergencyContact","emergencyPhone","emergencyAddress","introduction","orderNo","status","remark","accountType","orgId","sysOrg","managerUserId","posId","jobNum","posLevel","posTitle","expertise","officeZone","office","joinDate","lastLoginIp","lastLoginAddress","lastLoginTime","lastLoginDevice","signature","account","realName","roleIdList","extOrgIdList"]}}},{"name":"UploadFileFromBase64Input","displayName":"","id":"#/definitions/84275432","description":"","schema":{"jsonSchema":{"type":"object","properties":{"fileDataBase64":{"type":["string","null"],"description":"鏂囦欢鍐呭"},"contentType":{"type":["string","null"],"description":"鏂囦欢绫诲瀷( \"image/jpeg\",)"},"fileName":{"type":["string","null"],"description":"鏂囦欢鍚嶇О"},"path":{"type":["string","null"],"description":"淇濆瓨璺緞"}},"additionalProperties":false,"x-apifox-orders":["fileDataBase64","contentType","fileName","path"]}}},{"name":"UserInput","displayName":"","id":"#/definitions/84275433","description":"璁剧疆鐢ㄦ埛鐘舵�佽緭鍏ュ弬鏁�","schema":{"jsonSchema":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"涓婚敭Id","format":"int64"},"status":{"$ref":"#/definitions/84275375"}},"additionalProperties":false,"description":"璁剧疆鐢ㄦ埛鐘舵�佽緭鍏ュ弬鏁�","x-apifox-orders":["id","status"]}}},{"name":"UserOutput","displayName":"","id":"#/definitions/84275434","description":"","schema":{"jsonSchema":{"required":["account"],"type":"object","properties":{"id":{"type":"integer","description":"闆姳Id","format":"int64"},"createTime":{"type":["string","null"],"description":"鍒涘缓鏃堕棿","format":"date-time"},"updateTime":{"type":["string","null"],"description":"淇敼鏃堕棿","format":"date-time"},"createUserId":{"type":["integer","null"],"description":"鍒涘缓浜篒d","format":"int64"},"createUserName":{"type":["string","null"],"description":"鍒涘缓浜哄鍚�"},"updateUserId":{"type":["integer","null"],"description":"淇敼浜篒d","format":"int64"},"updateUserName":{"type":["string","null"],"description":"淇敼浜哄鍚�"},"isDelete":{"type":"boolean","description":"杞垹闄�"},"tenantId":{"type":["integer","null"],"description":"绉熸埛Id","format":"int64"},"account":{"maxLength":32,"minLength":1,"type":"string","description":"璐﹀彿"},"realName":{"maxLength":32,"type":["string","null"],"description":"鐪熷疄濮撳悕"},"nickName":{"maxLength":32,"type":["string","null"],"description":"鏄电О"},"avatar":{"maxLength":512,"type":["string","null"],"description":"澶村儚"},"sex":{"$ref":"#/definitions/84275305"},"age":{"type":"integer","description":"骞撮緞","format":"int32"},"birthday":{"type":["string","null"],"description":"鍑虹敓鏃ユ湡","format":"date-time"},"nation":{"maxLength":32,"type":["string","null"],"description":"姘戞棌"},"phone":{"maxLength":16,"type":["string","null"],"description":"鎵嬫満鍙风爜"},"cardType":{"$ref":"#/definitions/84275258"},"idCardNum":{"maxLength":32,"type":["string","null"],"description":"韬唤璇佸彿"},"email":{"maxLength":64,"type":["string","null"],"description":"閭"},"address":{"maxLength":256,"type":["string","null"],"description":"鍦板潃"},"cultureLevel":{"$ref":"#/definitions/84275267"},"politicalOutlook":{"maxLength":16,"type":["string","null"],"description":"鏀挎不闈㈣矊"},"college":{"maxLength":128,"type":["string","null"],"description":"姣曚笟闄㈡牎"},"officePhone":{"maxLength":16,"type":["string","null"],"description":"鍔炲叕鐢佃瘽"},"emergencyContact":{"maxLength":32,"type":["string","null"],"description":"绱ф�ヨ仈绯讳汉"},"emergencyPhone":{"maxLength":16,"type":["string","null"],"description":"绱ф�ヨ仈绯讳汉鐢佃瘽"},"emergencyAddress":{"maxLength":256,"type":["string","null"],"description":"绱ф�ヨ仈绯讳汉鍦板潃"},"introduction":{"maxLength":512,"type":["string","null"],"description":"涓汉绠�浠�"},"orderNo":{"type":"integer","description":"鎺掑簭","format":"int32"},"status":{"$ref":"#/definitions/84275375"},"remark":{"maxLength":256,"type":["string","null"],"description":"澶囨敞"},"accountType":{"$ref":"#/definitions/84275167"},"orgId":{"type":"integer","description":"鐩村睘鏈烘瀯Id","format":"int64"},"sysOrg":{"$ref":"#/definitions/84275395"},"managerUserId":{"type":["integer","null"],"description":"鐩村睘涓荤Id","format":"int64"},"posId":{"type":"integer","description":"鑱屼綅Id","format":"int64"},"jobNum":{"maxLength":32,"type":["string","null"],"description":"宸ュ彿"},"posLevel":{"maxLength":32,"type":["string","null"],"description":"鑱岀骇"},"posTitle":{"maxLength":32,"type":["string","null"],"description":"鑱岀О"},"expertise":{"maxLength":32,"type":["string","null"],"description":"鎿呴暱棰嗗煙"},"officeZone":{"maxLength":32,"type":["string","null"],"description":"鍔炲叕鍖哄煙"},"office":{"maxLength":32,"type":["string","null"],"description":"鍔炲叕瀹�"},"joinDate":{"type":["string","null"],"description":"鍏ヨ亴鏃ユ湡","format":"date-time"},"lastLoginIp":{"maxLength":256,"type":["string","null"],"description":"鏈�鏂扮櫥褰旾p"},"lastLoginAddress":{"maxLength":128,"type":["string","null"],"description":"鏈�鏂扮櫥褰曞湴鐐�"},"lastLoginTime":{"type":["string","null"],"description":"鏈�鏂扮櫥褰曟椂闂�","format":"date-time"},"lastLoginDevice":{"maxLength":128,"type":["string","null"],"description":"鏈�鏂扮櫥褰曡澶�"},"signature":{"maxLength":512,"type":["string","null"],"description":"鐢靛瓙绛惧悕"},"orgName":{"type":["string","null"],"description":"鏈烘瀯鍚嶇О"},"posName":{"type":["string","null"],"description":"鑱屼綅鍚嶇О"},"roleName":{"type":["string","null"],"description":"瑙掕壊鍚嶇О"}},"additionalProperties":false,"x-apifox-orders":["id","createTime","updateTime","createUserId","createUserName","updateUserId","updateUserName","isDelete","tenantId","account","realName","nickName","avatar","sex","age","birthday","nation","phone","cardType","idCardNum","email","address","cultureLevel","politicalOutlook","college","officePhone","emergencyContact","emergencyPhone","emergencyAddress","introduction","orderNo","status","remark","accountType","orgId","sysOrg","managerUserId","posId","jobNum","posLevel","posTitle","expertise","officeZone","office","joinDate","lastLoginIp","lastLoginAddress","lastLoginTime","lastLoginDevice","signature","orgName","posName","roleName"]}}},{"name":"UserRoleInput","displayName":"","id":"#/definitions/84275435","description":"鎺堟潈鐢ㄦ埛瑙掕壊","schema":{"jsonSchema":{"type":"object","properties":{"userId":{"type":"integer","description":"鐢ㄦ埛Id","format":"int64"},"roleIdList":{"type":["array","null"],"items":{"type":"integer","format":"int64"},"description":"瑙掕壊Id闆嗗悎"}},"additionalProperties":false,"description":"鎺堟潈鐢ㄦ埛瑙掕壊","x-apifox-orders":["userId","roleIdList"]}}},{"name":"WechatPayOutput","displayName":"","id":"#/definitions/84275436","description":"","schema":{"jsonSchema":{"type":"object","properties":{"openId":{"type":["string","null"],"description":"OpenId"},"total":{"type":"integer","description":"璁㈠崟閲戦","format":"int32"},"attachment":{"type":["string","null"],"description":"闄勫姞鏁版嵁"},"goodsTag":{"type":["string","null"],"description":"浼樻儬鏍囪"}},"additionalProperties":false,"x-apifox-orders":["openId","total","attachment","goodsTag"]}}},{"name":"WechatPayParaInput","displayName":"","id":"#/definitions/84275437","description":"","schema":{"jsonSchema":{"type":"object","properties":{"prepayId":{"type":["string","null"],"description":"璁㈠崟Id"}},"additionalProperties":false,"x-apifox-orders":["prepayId"]}}},{"name":"WechatPayTransactionInput","displayName":"","id":"#/definitions/84275438","description":"","schema":{"jsonSchema":{"type":"object","properties":{"openId":{"type":["string","null"],"description":"OpenId"},"total":{"type":"integer","description":"璁㈠崟閲戦","format":"int32"},"description":{"type":["string","null"],"description":"鍟嗗搧鎻忚堪"},"attachment":{"type":["string","null"],"description":"闄勫姞鏁版嵁"},"goodsTag":{"type":["string","null"],"description":"浼樻儬鏍囪"}},"additionalProperties":false,"x-apifox-orders":["openId","total","description","attachment","goodsTag"]}}},{"name":"WechatUserInput","displayName":"","id":"#/definitions/84275439","description":"","schema":{"jsonSchema":{"type":"object","properties":{"page":{"type":"integer","description":"褰撳墠椤电爜","format":"int32"},"pageSize":{"type":"integer","description":"椤电爜瀹归噺","format":"int32"},"field":{"type":["string","null"],"description":"鎺掑簭瀛楁"},"order":{"type":["string","null"],"description":"鎺掑簭鏂瑰悜"},"descStr":{"type":["string","null"],"description":"闄嶅簭鎺掑簭"},"nickName":{"type":["string","null"],"description":"鏄电О"},"phoneNumber":{"type":["string","null"],"description":"鎵嬫満鍙风爜"}},"additionalProperties":false,"x-apifox-orders":["page","pageSize","field","order","descStr","nickName","phoneNumber"]}}},{"name":"WechatUserLogin","displayName":"","id":"#/definitions/84275440","description":"寰俊鐢ㄦ埛鐧诲綍","schema":{"jsonSchema":{"required":["openId"],"type":"object","properties":{"openId":{"minLength":10,"type":"string","description":"OpenId"}},"additionalProperties":false,"description":"寰俊鐢ㄦ埛鐧诲綍","x-apifox-orders":["openId"]}}},{"name":"WxOpenIdLoginInput","displayName":"","id":"#/definitions/84275441","description":"寰俊灏忕▼搴忕櫥褰�","schema":{"jsonSchema":{"required":["openId"],"type":"object","properties":{"openId":{"minLength":10,"type":"string","description":"OpenId"}},"additionalProperties":false,"description":"寰俊灏忕▼搴忕櫥褰�","x-apifox-orders":["openId"]}}},{"name":"WxOpenIdOutput","displayName":"","id":"#/definitions/84275442","description":"","schema":{"jsonSchema":{"type":"object","properties":{"openId":{"type":["string","null"]}},"additionalProperties":false,"x-apifox-orders":["openId"]}}},{"name":"WxPhoneOutput","displayName":"","id":"#/definitions/84275443","description":"","schema":{"jsonSchema":{"type":"object","properties":{"phoneNumber":{"type":["string","null"]}},"additionalProperties":false,"x-apifox-orders":["phoneNumber"]}}},{"name":"YesNoEnum","displayName":"","id":"#/definitions/84275444","description":"鏄惁鏋氫妇<br />&nbsp;鏄� Y = 1<br />&nbsp;鍚� N = 2<br />","schema":{"jsonSchema":{"enum":[1,2],"type":"integer","description":"鏄惁鏋氫妇<br />&nbsp;鏄� Y = 1<br />&nbsp;鍚� N = 2<br />","format":"int32"}}}]}]}],"responseCollection":[{"id":4088603,"createdAt":"2024-02-29T09:40:10.000Z","updatedAt":"2024-02-29T09:40:10.000Z","deletedAt":null,"name":"鏍圭洰褰�","type":"root","description":"","children":[],"auth":{},"projectId":4084018,"projectBranchId":0,"parentId":0,"createdById":1145276,"updatedById":1145276,"items":[]}],"environments":[{"name":"寮�鍙戠幆澧�","parameters":{"cookie":[],"query":[],"header":[],"body":[]},"variables":[],"type":"normal","visibility":"protected","ordering":0,"tags":[{"name":"","color":"#9373EE"}],"id":"18499638","baseUrl":"http://localhost:5005","baseUrls":{"default":"http://localhost:5005"}}],"commonScripts":[],"globalVariables":[],"commonParameters":null,"projectSetting":{"id":"4084141","auth":{"type":"bearer","bearer":{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEzMDAwMDAwMDAxMTEsIlRlbmFudElkIjoxMzAwMDAwMDAwMDAxLCJBY2NvdW50IjoiYWRtaW4iLCJSZWFsTmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsIkFjY291bnRUeXBlIjo4ODgsIk9yZ0lkIjoxMzAwMDAwMDAwMTAxLCJPcmdOYW1lIjoi5aSn5ZCN56eR5oqAIiwiT3JnVHlwZSI6IjEwMSIsImlhdCI6MTcwOTgwMjI5NiwibmJmIjoxNzA5ODAyMjk2LCJleHAiOjE3MTA0MDcwOTYsImlzcyI6IkFkbWluLk5FVCIsImF1ZCI6IkFkbWluLk5FVCJ9.w18JSugPFU50eMOkaLDwq2gWxPNO_3znLeUTgu2i7Ec"}},"servers":[{"id":"default","name":"榛樿鏈嶅姟"}],"gateway":[],"language":"zh-CN","apiStatuses":["developing","testing","released","deprecated"],"mockSettings":{},"preProcessors":[],"postProcessors":[],"advancedSettings":{"responseValidate":false,"enableJsonc":true,"isDefaultUrlEncoding":2,"enableBigint":false,"preferredHttpVersion":{},"enableTestScenarioSetting":false,"enableYAPICompatScript":false},"initialDisabledMockIds":[],"cloudMock":{"security":"free","enable":false,"tokenKey":"apifoxToken"}},"projectAssociations":[]}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/Dto/LoginInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/Dto/LoginInput.cs
new file mode 100644
index 0000000..929d28f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/Dto/LoginInput.cs
@@ -0,0 +1,55 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鐢ㄦ埛鐧诲綍鍙傛暟
+/// </summary>
+public class LoginInput
+{
+    /// <summary>
+    /// 璐﹀彿
+    /// </summary>
+    /// <example>admin</example>
+    [Required(ErrorMessage = "璐﹀彿涓嶈兘涓虹┖"), MinLength(2, ErrorMessage = "璐﹀彿涓嶈兘灏戜簬2涓瓧绗�")]
+    public string Account { get; set; }
+
+    /// <summary>
+    /// 瀵嗙爜
+    /// </summary>
+    /// <example>123456</example>
+    [Required(ErrorMessage = "瀵嗙爜涓嶈兘涓虹┖"), MinLength(3, ErrorMessage = "瀵嗙爜涓嶈兘灏戜簬3涓瓧绗�")]
+    public string Password { get; set; }
+
+    /// <summary>
+    /// 楠岃瘉鐮両d
+    /// </summary>
+    public long CodeId { get; set; }
+
+    /// <summary>
+    /// 楠岃瘉鐮�
+    /// </summary>
+    public string Code { get; set; }
+}
+
+public class LoginPhoneInput
+{
+    /// <summary>
+    /// 鎵嬫満鍙风爜
+    /// </summary>
+    /// <example>admin</example>
+    [Required(ErrorMessage = "鎵嬫満鍙风爜涓嶈兘涓虹┖")]
+    [DataValidation(ValidationTypes.PhoneNumber, ErrorMessage = "鎵嬫満鍙风爜涓嶆纭�")]
+    public string Phone { get; set; }
+
+    /// <summary>
+    /// 楠岃瘉鐮�
+    /// </summary>
+    /// <example>123456</example>
+    [Required(ErrorMessage = "楠岃瘉鐮佷笉鑳戒负绌�"), MinLength(4, ErrorMessage = "楠岃瘉鐮佷笉鑳藉皯浜�4涓瓧绗�")]
+    public string Code { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/Dto/LoginOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/Dto/LoginOutput.cs
new file mode 100644
index 0000000..1ee6ba5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/Dto/LoginOutput.cs
@@ -0,0 +1,23 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鐢ㄦ埛鐧诲綍缁撴灉
+/// </summary>
+public class LoginOutput
+{
+    /// <summary>
+    /// 浠ょ墝Token
+    /// </summary>
+    public string AccessToken { get; set; }
+
+    /// <summary>
+    /// 鍒锋柊Token
+    /// </summary>
+    public string RefreshToken { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/Dto/LoginUserOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/Dto/LoginUserOutput.cs
new file mode 100644
index 0000000..d573a19
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/Dto/LoginUserOutput.cs
@@ -0,0 +1,98 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鐢ㄦ埛鐧诲綍淇℃伅
+/// </summary>
+public class LoginUserOutput
+{
+    /// <summary>
+    /// 鐢ㄦ埛id
+    /// </summary>
+    public long Id { get; set; }
+
+    /// <summary>
+    /// 璐﹀彿鍚嶇О
+    /// </summary>
+    public string Account { get; set; }
+
+    /// <summary>
+    /// 鐪熷疄濮撳悕
+    /// </summary>
+    public string RealName { get; set; }
+
+    /// <summary>
+    /// 鐢佃瘽
+    /// </summary>
+    public string Phone { get; set; }
+
+    /// <summary>
+    /// 韬唤璇�
+    /// </summary>
+    public string IdCardNum { get; set; }
+
+    /// <summary>
+    /// 閭
+    /// </summary>
+    public string Email { get; set; }
+
+    /// <summary>
+    /// 璐﹀彿绫诲瀷
+    /// </summary>
+    public AccountTypeEnum AccountType { get; set; } = AccountTypeEnum.NormalUser;
+
+    /// <summary>
+    /// 澶村儚
+    /// </summary>
+    public string Avatar { get; set; }
+
+    /// <summary>
+    /// 涓汉绠�浠�
+    /// </summary>
+    public string Introduction { get; set; }
+
+    /// <summary>
+    /// 鍦板潃
+    /// </summary>
+    public string Address { get; set; }
+
+    /// <summary>
+    /// 鐢靛瓙绛惧悕
+    /// </summary>
+    public string Signature { get; set; }
+
+    /// <summary>
+    /// 鏈烘瀯Id
+    /// </summary>
+    public long OrgId { get; set; }
+
+    /// <summary>
+    /// 鏈烘瀯鍚嶇О
+    /// </summary>
+    public string OrgName { get; set; }
+
+    /// <summary>
+    /// 鏈烘瀯绫诲瀷
+    /// </summary>
+    public string OrgType { get; set; }
+
+    /// <summary>
+    /// 鑱屼綅鍚嶇О
+    /// </summary>
+    public string PosName { get; set; }
+
+    /// <summary>
+    /// 鎸夐挳鏉冮檺闆嗗悎
+    /// </summary>
+    public List<string> Buttons { get; set; }
+
+    /// <summary>
+    /// 瑙掕壊闆嗗悎
+    /// </summary>
+    public List<long> RoleIds { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/Dto/SysLdapInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/Dto/SysLdapInput.cs
new file mode 100644
index 0000000..009000b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/Dto/SysLdapInput.cs
@@ -0,0 +1,43 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鍩熺櫥褰曚俊鎭厤缃緭鍏ュ弬鏁�
+/// </summary>
+public class SysLdapInput : BasePageInput
+{
+    /// <summary>
+    /// 鍏抽敭瀛楁煡璇�
+    /// </summary>
+    public string? SearchKey { get; set; }
+
+    /// <summary>
+    /// 涓绘満
+    /// </summary>
+    public string? Host { get; set; }
+}
+
+public class AddSysLdapInput : SysLdap
+{
+}
+
+public class UpdateSysLdapInput : SysLdap
+{
+}
+
+public class DeleteSysLdapInput : BaseIdInput
+{
+}
+
+public class DetailSysLdapInput : BaseIdInput
+{
+}
+
+public class SyncSysLdapInput : BaseIdInput
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/SysAuthService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/SysAuthService.cs
new file mode 100644
index 0000000..7df3874
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/SysAuthService.cs
@@ -0,0 +1,390 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Furion.SpecificationDocument;
+using Lazy.Captcha.Core;
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鐧诲綍鎺堟潈鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 500)]
+public class SysAuthService : IDynamicApiController, ITransient
+{
+    private readonly UserManager _userManager;
+    private readonly SqlSugarRepository<SysUser> _sysUserRep;
+    private readonly SqlSugarRepository<SysUserLdap> _sysUserLdap;
+    private readonly IHttpContextAccessor _httpContextAccessor;
+    private readonly SysMenuService _sysMenuService;
+    private readonly SysOnlineUserService _sysOnlineUserService;
+    private readonly SysConfigService _sysConfigService;
+    private readonly ICaptcha _captcha;
+    private readonly SysCacheService _sysCacheService;
+    private readonly SysLdapService _sysLdapService;
+
+    public SysAuthService(UserManager userManager,
+        SqlSugarRepository<SysUser> sysUserRep,
+        SqlSugarRepository<SysUserLdap> sysUserLdapRep,
+        IHttpContextAccessor httpContextAccessor,
+        SysMenuService sysMenuService,
+        SysOnlineUserService sysOnlineUserService,
+        SysConfigService sysConfigService,
+        ICaptcha captcha,
+        SysCacheService sysCacheService,
+        SysLdapService sysLdapService)
+    {
+        _userManager = userManager;
+        _sysUserRep = sysUserRep;
+        _sysUserLdap = sysUserLdapRep;
+        _httpContextAccessor = httpContextAccessor;
+        _sysMenuService = sysMenuService;
+        _sysOnlineUserService = sysOnlineUserService;
+        _sysConfigService = sysConfigService;
+        _captcha = captcha;
+        _sysCacheService = sysCacheService;
+        _sysLdapService = sysLdapService;
+    }
+
+    /// <summary>
+    /// 璐﹀彿瀵嗙爜鐧诲綍 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <remarks>鐢ㄦ埛鍚�/瀵嗙爜锛歴uperadmin/123456</remarks>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [DisplayName("璐﹀彿瀵嗙爜鐧诲綍")]
+    public virtual async Task<LoginOutput> Login([Required] LoginInput input)
+    {
+        //// 鍙互鏍规嵁鍩熷悕鑾峰彇鍏蜂綋绉熸埛
+        //var host = _httpContextAccessor.HttpContext.Request.Host;
+
+        // 鍒ゆ柇瀵嗙爜閿欒娆℃暟锛堥粯璁�5娆★紝缂撳瓨30鍒嗛挓锛�
+        var keyErrorPasswordCount = $"{CacheConst.KeyErrorPasswordCount}{input.Account}";
+        var errorPasswordCount = _sysCacheService.Get<int>(keyErrorPasswordCount);
+        if (errorPasswordCount >= 5)
+            throw Oops.Oh(ErrorCodeEnum.D1027);
+
+        // 鏄惁寮�鍚獙璇佺爜
+        if (await _sysConfigService.GetConfigValue<bool>(CommonConst.SysCaptcha))
+        {
+            // 鍒ゆ柇楠岃瘉鐮�
+            if (!_captcha.Validate(input.CodeId.ToString(), input.Code))
+                throw Oops.Oh(ErrorCodeEnum.D0008);
+        }
+
+        // 璐﹀彿鏄惁瀛樺湪
+        var user = await _sysUserRep.AsQueryable().Includes(t => t.SysOrg).ClearFilter().FirstAsync(u => u.Account.Equals(input.Account));
+        _ = user ?? throw Oops.Oh(ErrorCodeEnum.D0009);
+
+        // 璐﹀彿鏄惁琚喕缁�
+        if (user.Status == StatusEnum.Disable)
+            throw Oops.Oh(ErrorCodeEnum.D1017);
+
+        // 绉熸埛鏄惁琚鐢�
+        var tenant = await _sysUserRep.ChangeRepository<SqlSugarRepository<SysTenant>>().GetFirstAsync(u => u.Id == user.TenantId);
+        if (tenant != null && tenant.Status == StatusEnum.Disable)
+            throw Oops.Oh(ErrorCodeEnum.Z1003);
+
+        // 鍥藉瘑SM2瑙e瘑锛堝墠绔瘑鐮佷紶杈揝M2鍔犲瘑鍚庣殑锛�
+        try
+        {
+            input.Password = CryptogramUtil.SM2Decrypt(input.Password);
+        }
+        catch
+        {
+            throw Oops.Oh(ErrorCodeEnum.D0010);
+        }
+
+        // 鏄惁寮�鍚煙鐧诲綍楠岃瘉
+        if (await _sysConfigService.GetConfigValue<bool>(CommonConst.SysDomainLogin))
+        {
+            var userLdap = await _sysUserLdap.GetFirstAsync(u => u.UserId == user.Id && u.TenantId == tenant.Id);
+            if (userLdap == null)
+            {
+                VerifyPassword(input, keyErrorPasswordCount, errorPasswordCount, user);
+            }
+            else if (!await _sysLdapService.AuthAccount(tenant.Id, userLdap.Account, input.Password))
+            {
+                _sysCacheService.Set(keyErrorPasswordCount, ++errorPasswordCount, TimeSpan.FromMinutes(30));
+                throw Oops.Oh(ErrorCodeEnum.D1000);
+            }
+        }
+        else
+            VerifyPassword(input, keyErrorPasswordCount, errorPasswordCount, user);
+
+        // 鐧诲綍鎴愬姛鍒欐竻绌哄瘑鐮侀敊璇鏁�
+        _sysCacheService.Remove(keyErrorPasswordCount);
+
+        return await CreateToken(user);
+    }
+
+    /// <summary>
+    /// 楠岃瘉鐢ㄦ埛瀵嗙爜
+    /// </summary>
+    /// <param name="input"></param>
+    /// <param name="keyErrorPasswordCount"></param>
+    /// <param name="errorPasswordCount"></param>
+    /// <param name="user"></param>
+    private void VerifyPassword(LoginInput input, string keyErrorPasswordCount, int errorPasswordCount, SysUser user)
+    {
+        if (CryptogramUtil.CryptoType == CryptogramEnum.MD5.ToString())
+        {
+            if (!user.Password.Equals(MD5Encryption.Encrypt(input.Password)))
+            {
+                _sysCacheService.Set(keyErrorPasswordCount, ++errorPasswordCount, TimeSpan.FromMinutes(30));
+                throw Oops.Oh(ErrorCodeEnum.D1000);
+            }
+        }
+        else
+        {
+            if (!CryptogramUtil.Decrypt(user.Password).Equals(input.Password))
+            {
+                _sysCacheService.Set(keyErrorPasswordCount, ++errorPasswordCount, TimeSpan.FromMinutes(30));
+                throw Oops.Oh(ErrorCodeEnum.D1000);
+            }
+        }
+    }
+
+    /// <summary>
+    /// 楠岃瘉閿佸睆瀵嗙爜 馃敄
+    /// </summary>
+    /// <param name="password"></param>
+    /// <returns></returns>
+    [DisplayName("楠岃瘉閿佸睆瀵嗙爜")]
+    public virtual async Task<bool> UnLockScreen([Required, FromQuery] string password)
+    {
+        // 璐﹀彿鏄惁瀛樺湪
+        var user = await _sysUserRep.GetFirstAsync(u => u.Id == _userManager.UserId);
+        _ = user ?? throw Oops.Oh(ErrorCodeEnum.D0009);
+
+        // 鍥藉瘑SM2瑙e瘑锛堝墠绔瘑鐮佷紶杈揝M2鍔犲瘑鍚庣殑锛�
+        password = CryptogramUtil.SM2Decrypt(password);
+
+        // 瀵嗙爜鏄惁姝g‘
+        if (CryptogramUtil.CryptoType == CryptogramEnum.MD5.ToString())
+        {
+            if (!user.Password.Equals(MD5Encryption.Encrypt(password)))
+                throw Oops.Oh(ErrorCodeEnum.D1000);
+        }
+        else
+        {
+            if (!CryptogramUtil.Decrypt(user.Password).Equals(password))
+                throw Oops.Oh(ErrorCodeEnum.D1000);
+        }
+
+        return true;
+    }
+
+    /// <summary>
+    /// 鎵嬫満鍙风櫥褰� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [DisplayName("鎵嬫満鍙风櫥褰�")]
+    public virtual async Task<LoginOutput> LoginPhone([Required] LoginPhoneInput input)
+    {
+        var verifyCode = _sysCacheService.Get<string>($"{CacheConst.KeyPhoneVerCode}{input.Phone}");
+        if (string.IsNullOrWhiteSpace(verifyCode))
+            throw Oops.Oh("楠岃瘉鐮佷笉瀛樺湪鎴栧凡澶辨晥锛岃閲嶆柊鑾峰彇锛�");
+        if (verifyCode != input.Code)
+            throw Oops.Oh("楠岃瘉鐮侀敊璇紒");
+
+        // 璐﹀彿鏄惁瀛樺湪
+        var user = await _sysUserRep.AsQueryable().Includes(t => t.SysOrg).ClearFilter().FirstAsync(u => u.Phone.Equals(input.Phone));
+        _ = user ?? throw Oops.Oh(ErrorCodeEnum.D0009);
+
+        return await CreateToken(user);
+    }
+
+    /// <summary>
+    /// 鐢熸垚Token浠ょ墝 馃敄
+    /// </summary>
+    /// <param name="user"></param>
+    /// <returns></returns>
+    [NonAction]
+    public virtual async Task<LoginOutput> CreateToken(SysUser user)
+    {
+        // 鍗曠敤鎴风櫥褰�
+        await _sysOnlineUserService.SingleLogin(user.Id);
+
+        // 鐢熸垚Token浠ょ墝
+        var tokenExpire = await _sysConfigService.GetTokenExpire();
+        var accessToken = JWTEncryption.Encrypt(new Dictionary<string, object>
+        {
+            { ClaimConst.UserId, user.Id },
+            { ClaimConst.TenantId, user.TenantId },
+            { ClaimConst.Account, user.Account },
+            { ClaimConst.RealName, user.RealName },
+            { ClaimConst.AccountType, user.AccountType },
+            { ClaimConst.OrgId, user.OrgId },
+            { ClaimConst.OrgName, user.SysOrg?.Name },
+            { ClaimConst.OrgType, user.SysOrg?.Type },
+        }, tokenExpire);
+
+        // 鐢熸垚鍒锋柊Token浠ょ墝
+        var refreshTokenExpire = await _sysConfigService.GetRefreshTokenExpire();
+        var refreshToken = JWTEncryption.GenerateRefreshToken(accessToken, refreshTokenExpire);
+
+        // 璁剧疆鍝嶅簲鎶ユ枃澶�
+        _httpContextAccessor.HttpContext.SetTokensOfResponseHeaders(accessToken, refreshToken);
+
+        // Swagger Knife4UI-AfterScript鐧诲綍鑴氭湰
+        // ke.global.setAllHeader('Authorization', 'Bearer ' + ke.response.headers['access-token']);
+
+        return new LoginOutput
+        {
+            AccessToken = accessToken,
+            RefreshToken = refreshToken
+        };
+    }
+
+    /// <summary>
+    /// 鑾峰彇鐧诲綍璐﹀彿 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鐧诲綍璐﹀彿")]
+    public virtual async Task<LoginUserOutput> GetUserInfo()
+    {
+        var user = await _sysUserRep.GetFirstAsync(u => u.Id == _userManager.UserId) ?? throw Oops.Oh(ErrorCodeEnum.D1011).StatusCode(401);
+        // 鑾峰彇鏈烘瀯
+        var org = await _sysUserRep.ChangeRepository<SqlSugarRepository<SysOrg>>().GetFirstAsync(u => u.Id == user.OrgId);
+        // 鑾峰彇鑱屼綅
+        var pos = await _sysUserRep.ChangeRepository<SqlSugarRepository<SysPos>>().GetFirstAsync(u => u.Id == user.PosId);
+        // 鑾峰彇鎸夐挳闆嗗悎
+        var buttons = await _sysMenuService.GetOwnBtnPermList();
+        // 鑾峰彇瑙掕壊闆嗗悎
+        var roleIds = await _sysUserRep.ChangeRepository<SqlSugarRepository<SysUserRole>>().AsQueryable()
+            .Where(u => u.UserId == user.Id).Select(u => u.RoleId).ToListAsync();
+
+        return new LoginUserOutput
+        {
+            Id = user.Id,
+            Account = user.Account,
+            RealName = user.RealName,
+            Phone = user.Phone,
+            IdCardNum = user.IdCardNum,
+            Email = user.Email,
+            AccountType = user.AccountType,
+            Avatar = user.Avatar,
+            Address = user.Address,
+            Signature = user.Signature,
+            OrgId = user.OrgId,
+            OrgName = org?.Name,
+            OrgType = org?.Type,
+            PosName = pos?.Name,
+            Buttons = buttons,
+            RoleIds = roleIds
+        };
+    }
+
+    /// <summary>
+    /// 鑾峰彇鍒锋柊Token 馃敄
+    /// </summary>
+    /// <param name="accessToken"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鍒锋柊Token")]
+    public virtual string GetRefreshToken([FromQuery] string accessToken)
+    {
+        var refreshTokenExpire = _sysConfigService.GetRefreshTokenExpire().GetAwaiter().GetResult();
+        return JWTEncryption.GenerateRefreshToken(accessToken, refreshTokenExpire);
+    }
+
+    /// <summary>
+    /// 閫�鍑虹郴缁� 馃敄
+    /// </summary>
+    [DisplayName("閫�鍑虹郴缁�")]
+    public void Logout()
+    {
+        if (string.IsNullOrWhiteSpace(_userManager.Account))
+            throw Oops.Oh(ErrorCodeEnum.D1011);
+
+        _httpContextAccessor.HttpContext.SignoutToSwagger();
+    }
+
+    /// <summary>
+    /// 鑾峰彇鐧诲綍閰嶇疆 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [SuppressMonitor]
+    [DisplayName("鑾峰彇鐧诲綍閰嶇疆")]
+    public async Task<dynamic> GetLoginConfig()
+    {
+        var secondVerEnabled = await _sysConfigService.GetConfigValue<bool>(CommonConst.SysSecondVer);
+        var captchaEnabled = await _sysConfigService.GetConfigValue<bool>(CommonConst.SysCaptcha);
+        return new { SecondVerEnabled = secondVerEnabled, CaptchaEnabled = captchaEnabled };
+    }
+
+    /// <summary>
+    /// 鑾峰彇姘村嵃閰嶇疆 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [SuppressMonitor]
+    [DisplayName("鑾峰彇姘村嵃閰嶇疆")]
+    public async Task<dynamic> GetWatermarkConfig()
+    {
+        var watermarkEnabled = await _sysConfigService.GetConfigValue<bool>(CommonConst.SysWatermark);
+        return new { WatermarkEnabled = watermarkEnabled };
+    }
+
+    /// <summary>
+    /// 鑾峰彇楠岃瘉鐮� 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [SuppressMonitor]
+    [DisplayName("鑾峰彇楠岃瘉鐮�")]
+    public dynamic GetCaptcha()
+    {
+        var codeId = YitIdHelper.NextId().ToString();
+        var captcha = _captcha.Generate(codeId);
+        return new { Id = codeId, Img = captcha.Base64 };
+    }
+
+    /// <summary>
+    /// Swagger鐧诲綍妫�鏌� 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [HttpPost("/api/swagger/checkUrl"), NonUnify]
+    [DisplayName("Swagger鐧诲綍妫�鏌�")]
+    public int SwaggerCheckUrl()
+    {
+        return _httpContextAccessor.HttpContext.User.Identity.IsAuthenticated ? 200 : 401;
+    }
+
+    /// <summary>
+    /// Swagger鐧诲綍鎻愪氦 馃敄
+    /// </summary>
+    /// <param name="auth"></param>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [HttpPost("/api/swagger/submitUrl"), NonUnify]
+    [DisplayName("Swagger鐧诲綍鎻愪氦")]
+    public async Task<int> SwaggerSubmitUrl([FromForm] SpecificationAuth auth)
+    {
+        try
+        {
+            _sysCacheService.Set(CommonConst.SysCaptcha, false);
+
+            await Login(new LoginInput
+            {
+                Account = auth.UserName,
+                Password = CryptogramUtil.SM2Encrypt(auth.Password),
+            });
+
+            _sysCacheService.Remove(CommonConst.SysCaptcha);
+
+            return 200;
+        }
+        catch (Exception)
+        {
+            return 401;
+        }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/SysLdapService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/SysLdapService.cs
new file mode 100644
index 0000000..2514891
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/SysLdapService.cs
@@ -0,0 +1,402 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Novell.Directory.Ldap;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 绯荤粺鍩熺櫥褰曢厤缃湇鍔� 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 496)]
+public class SysLdapService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysLdap> _sysLdapRep;
+
+    public SysLdapService(SqlSugarRepository<SysLdap> sysLdapRep)
+    {
+        _sysLdapRep = sysLdapRep;
+    }
+
+    /// <summary>
+    /// 鑾峰彇绯荤粺鍩熺櫥褰曢厤缃垎椤靛垪琛� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇绯荤粺鍩熺櫥褰曢厤缃垎椤靛垪琛�")]
+    public async Task<SqlSugarPagedList<SysLdap>> Page(SysLdapInput input)
+    {
+        return await _sysLdapRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u => u.Host.Contains(input.SearchKey.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Host), u => u.Host.Contains(input.Host.Trim()))
+            .OrderBy(u => u.CreateTime, OrderByType.Desc)
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 澧炲姞绯荤粺鍩熺櫥褰曢厤缃� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("澧炲姞绯荤粺鍩熺櫥褰曢厤缃�")]
+    public async Task<long> Add(AddSysLdapInput input)
+    {
+        var entity = input.Adapt<SysLdap>();
+        entity.BindPass = CryptogramUtil.Encrypt(input.BindPass);
+        await _sysLdapRep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鏇存柊绯荤粺鍩熺櫥褰曢厤缃� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊绯荤粺鍩熺櫥褰曢厤缃�")]
+    public async Task Update(UpdateSysLdapInput input)
+    {
+        var entity = input.Adapt<SysLdap>();
+        if (!string.IsNullOrEmpty(input.BindPass) && input.BindPass.Length < 32)
+        {
+            entity.BindPass = CryptogramUtil.Encrypt(input.BindPass); // 鍔犲瘑
+        }
+
+        await _sysLdapRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鍒犻櫎绯荤粺鍩熺櫥褰曢厤缃� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎绯荤粺鍩熺櫥褰曢厤缃�")]
+    public async Task Delete(DeleteSysLdapInput input)
+    {
+        var entity = await _sysLdapRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        await _sysLdapRep.FakeDeleteAsync(entity); // 鍋囧垹闄�
+        //await _rep.DeleteAsync(entity); // 鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鑾峰彇绯荤粺鍩熺櫥褰曢厤缃鎯� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇绯荤粺鍩熺櫥褰曢厤缃鎯�")]
+    public async Task<SysLdap> GetDetail([FromQuery] DetailSysLdapInput input)
+    {
+        return await _sysLdapRep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+    /// <summary>
+    /// 鑾峰彇绯荤粺鍩熺櫥褰曢厤缃垪琛� 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇绯荤粺鍩熺櫥褰曢厤缃垪琛�")]
+    public async Task<List<SysLdap>> GetList()
+    {
+        return await _sysLdapRep.AsQueryable().Select<SysLdap>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 楠岃瘉璐﹀彿
+    /// </summary>
+    /// <param name="account">鍩熺敤鎴�</param>
+    /// <param name="password">瀵嗙爜</param>
+    /// <param name="tenantId">绉熸埛</param>
+    /// <returns></returns>
+    [NonAction]
+    public async Task<bool> AuthAccount(long tenantId, string account, string password)
+    {
+        var sysLdap = await _sysLdapRep.GetFirstAsync(u => u.TenantId == tenantId) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        var ldapConn = new LdapConnection();
+        try
+        {
+            ldapConn.Connect(sysLdap.Host, sysLdap.Port);
+            ldapConn.Bind(sysLdap.Version, sysLdap.BindDn, sysLdap.BindPass);
+            var ldapSearchResults = ldapConn.Search(sysLdap.BaseDn, LdapConnection.ScopeSub, sysLdap.AuthFilter.Replace("$s", account), null, false);
+            string dn = string.Empty;
+            while (ldapSearchResults.HasMore())
+            {
+                var ldapEntry = ldapSearchResults.Next();
+                var sAMAccountName = ldapEntry.GetAttribute(sysLdap.AuthFilter)?.StringValue;
+                if (!string.IsNullOrEmpty(sAMAccountName))
+                {
+                    dn = ldapEntry.Dn;
+                    break;
+                }
+            }
+
+            if (string.IsNullOrEmpty(dn)) throw Oops.Oh(ErrorCodeEnum.D1002);
+            // var attr = new LdapAttribute("userPassword", password);
+            ldapConn.Bind(dn, password);
+        }
+        catch (LdapException e)
+        {
+            return e.ResultCode switch
+            {
+                LdapException.NoSuchObject or LdapException.NoSuchAttribute => throw Oops.Oh(ErrorCodeEnum.D0009),
+                LdapException.InvalidCredentials => false,
+                _ => throw Oops.Oh(e.Message),
+            };
+        }
+        finally
+        {
+            ldapConn.Disconnect();
+        }
+
+        return true;
+    }
+
+    /// <summary>
+    /// 鍚屾鍩熺敤鎴� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鍚屾鍩熺敤鎴�")]
+    public async Task SyncUser(SyncSysLdapInput input)
+    {
+        var sysLdap = await _sysLdapRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        var ldapConn = new LdapConnection();
+        try
+        {
+            ldapConn.Connect(sysLdap.Host, sysLdap.Port);
+            ldapConn.Bind(sysLdap.Version, sysLdap.BindDn, sysLdap.BindPass);
+            var ldapSearchResults = ldapConn.Search(sysLdap.BaseDn, LdapConnection.ScopeOne, "(objectClass=*)", null, false);
+            var userLdapList = new List<SysUserLdap>();
+            while (ldapSearchResults.HasMore())
+            {
+                LdapEntry ldapEntry;
+                try
+                {
+                    ldapEntry = ldapSearchResults.Next();
+                    if (ldapEntry == null) continue;
+                }
+                catch (LdapException)
+                {
+                    continue;
+                }
+
+                var attrs = ldapEntry.GetAttributeSet();
+                var deptCode = GetDepartmentCode(attrs, sysLdap.BindAttrCode);
+                if (attrs.Count == 0 || attrs.ContainsKey("OU"))
+                {
+                    SearchDnLdapUser(ldapConn, sysLdap, userLdapList, ldapEntry.Dn, deptCode);
+                }
+                else
+                {
+                    var sysUserLdap = CreateSysUserLdap(attrs, sysLdap.BindAttrAccount, sysLdap.BindAttrEmployeeId, deptCode);
+                    if (string.IsNullOrEmpty(sysUserLdap.EmployeeId)) continue;
+                    userLdapList.Add(sysUserLdap);
+                }
+            }
+
+            if (userLdapList.Count == 0)
+                return;
+
+            await App.GetRequiredService<SysUserLdapService>().InsertUserLdaps(sysLdap.TenantId!.Value, userLdapList);
+        }
+        catch (LdapException e)
+        {
+            throw e.ResultCode switch
+            {
+                LdapException.NoSuchObject or LdapException.NoSuchAttribute => Oops.Oh(ErrorCodeEnum.D0009),
+                _ => Oops.Oh(e.Message),
+            };
+        }
+        finally
+        {
+            ldapConn.Disconnect();
+        }
+    }
+
+    /// <summary>
+    /// 鑾峰彇閮ㄩ棬浠g爜
+    /// </summary>
+    /// <param name="attrs"></param>
+    /// <param name="bindAttrCode"></param>
+    /// <returns></returns>
+    private static string GetDepartmentCode(LdapAttributeSet attrs, string bindAttrCode)
+    {
+        return bindAttrCode == "objectGUID"
+            ? new Guid(attrs.GetAttribute(bindAttrCode)?.ByteValue).ToString()
+            : attrs.GetAttribute(bindAttrCode)?.StringValue ?? "0";
+    }
+
+    /// <summary>
+    /// 鍒涘缓鍚屾瀵硅薄
+    /// </summary>
+    /// <param name="attrs"></param>
+    /// <param name="bindAttrAccount"></param>
+    /// <param name="bindAttrEmployeeId"></param>
+    /// <param name="deptCode"></param>
+    /// <returns></returns>
+    private static SysUserLdap CreateSysUserLdap(LdapAttributeSet attrs, string bindAttrAccount, string bindAttrEmployeeId, string deptCode)
+    {
+        return new SysUserLdap
+        {
+            Account = !attrs.ContainsKey(bindAttrAccount) ? null : attrs.GetAttribute(bindAttrAccount)?.StringValue,
+            EmployeeId = !attrs.ContainsKey(bindAttrEmployeeId) ? null : attrs.GetAttribute(bindAttrEmployeeId)?.StringValue,
+            DeptCode = deptCode
+        };
+    }
+
+    /// <summary>
+    /// 閬嶅巻鏌ヨ鍩熺敤鎴�
+    /// </summary>
+    /// <param name="ldapConn"></param>
+    /// <param name="sysLdap"></param>
+    /// <param name="userLdapList"></param>
+    /// <param name="baseDn"></param>
+    /// <param name="deptCode"></param>
+    private static void SearchDnLdapUser(LdapConnection ldapConn, SysLdap sysLdap, List<SysUserLdap> userLdapList, string baseDn, string deptCode)
+    {
+        var ldapSearchResults = ldapConn.Search(baseDn, LdapConnection.ScopeOne, "(objectClass=*)", null, false);
+        while (ldapSearchResults.HasMore())
+        {
+            LdapEntry ldapEntry;
+            try
+            {
+                ldapEntry = ldapSearchResults.Next();
+                if (ldapEntry == null) continue;
+            }
+            catch (LdapException)
+            {
+                continue;
+            }
+
+            var attrs = ldapEntry.GetAttributeSet();
+            deptCode = GetDepartmentCode(attrs, sysLdap.BindAttrCode);
+
+            if (attrs.Count == 0 || attrs.ContainsKey("OU"))
+                SearchDnLdapUser(ldapConn, sysLdap, userLdapList, ldapEntry.Dn, deptCode);
+            else
+            {
+                var sysUserLdap = CreateSysUserLdap(attrs, sysLdap.BindAttrAccount, sysLdap.BindAttrEmployeeId, deptCode);
+
+                if (string.IsNullOrEmpty(sysUserLdap.EmployeeId)) continue;
+                userLdapList.Add(sysUserLdap);
+            }
+        }
+    }
+
+    /// <summary>
+    /// 鍚屾鍩熺粍缁� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鍚屾鍩熺粍缁�")]
+    public async Task SyncDept(SyncSysLdapInput input)
+    {
+        var sysLdap = await _sysLdapRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        var ldapConn = new LdapConnection();
+        try
+        {
+            ldapConn.Connect(sysLdap.Host, sysLdap.Port);
+            ldapConn.Bind(sysLdap.Version, sysLdap.BindDn, sysLdap.BindPass);
+            var ldapSearchResults = ldapConn.Search(sysLdap.BaseDn, LdapConnection.ScopeOne, "(objectClass=*)", null, false);
+            var orgList = new List<SysOrg>();
+            while (ldapSearchResults.HasMore())
+            {
+                LdapEntry ldapEntry;
+                try
+                {
+                    ldapEntry = ldapSearchResults.Next();
+                    if (ldapEntry == null) continue;
+                }
+                catch (LdapException)
+                {
+                    continue;
+                }
+
+                var attrs = ldapEntry.GetAttributeSet();
+                if (attrs.Count == 0 || attrs.ContainsKey("OU"))
+                {
+                    var sysOrg = CreateSysOrg(attrs, sysLdap, orgList, new SysOrg { Id = 0, Level = 0 });
+                    orgList.Add(sysOrg);
+
+                    SearchDnLdapDept(ldapConn, sysLdap, orgList, ldapEntry.Dn, sysOrg);
+                }
+            }
+
+            if (orgList.Count == 0)
+                return;
+
+            await App.GetRequiredService<SysOrgService>().BatchAddOrgs(orgList);
+        }
+        catch (LdapException e)
+        {
+            throw e.ResultCode switch
+            {
+                LdapException.NoSuchObject or LdapException.NoSuchAttribute => Oops.Oh(ErrorCodeEnum.D0009),
+                _ => Oops.Oh(e.Message),
+            };
+        }
+        finally
+        {
+            ldapConn.Disconnect();
+        }
+    }
+
+    /// <summary>
+    /// 閬嶅巻鏌ヨ鍩熺敤鎴�
+    /// </summary>
+    /// <param name="ldapConn"></param>
+    /// <param name="sysLdap"></param>
+    /// <param name="listOrgs"></param>
+    /// <param name="baseDn"></param>
+    /// <param name="org"></param>
+    private static void SearchDnLdapDept(LdapConnection ldapConn, SysLdap sysLdap, List<SysOrg> listOrgs, string baseDn, SysOrg org)
+    {
+        var ldapSearchResults = ldapConn.Search(baseDn, LdapConnection.ScopeOne, "(objectClass=*)", null, false);
+        while (ldapSearchResults.HasMore())
+        {
+            LdapEntry ldapEntry;
+            try
+            {
+                ldapEntry = ldapSearchResults.Next();
+                if (ldapEntry == null) continue;
+            }
+            catch (LdapException)
+            {
+                continue;
+            }
+
+            var attrs = ldapEntry.GetAttributeSet();
+            if (attrs.Count == 0 || attrs.ContainsKey("OU"))
+            {
+                var sysOrg = CreateSysOrg(attrs, sysLdap, listOrgs, org);
+                listOrgs.Add(sysOrg);
+
+                SearchDnLdapDept(ldapConn, sysLdap, listOrgs, ldapEntry.Dn, sysOrg);
+            }
+        }
+    }
+
+    /// <summary>
+    /// 鍒涘缓鏋舵瀯瀵硅薄
+    /// </summary>
+    /// <param name="attrs"></param>
+    /// <param name="sysLdap"></param>
+    /// <param name="listOrgs"></param>
+    /// <param name="org"></param>
+    /// <returns></returns>
+    private static SysOrg CreateSysOrg(LdapAttributeSet attrs, SysLdap sysLdap, List<SysOrg> listOrgs, SysOrg org)
+    {
+        return new SysOrg
+        {
+            Pid = org.Id,
+            Id = YitIdHelper.NextId(),
+            Code = !attrs.ContainsKey(sysLdap.BindAttrCode) ? null : new Guid(attrs.GetAttribute(sysLdap.BindAttrCode)?.ByteValue).ToString(),
+            Level = org.Level + 1,
+            Name = !attrs.ContainsKey(sysLdap.BindAttrAccount) ? null : attrs.GetAttribute(sysLdap.BindAttrAccount)?.StringValue,
+            OrderNo = listOrgs.Count + 1,
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/BaseService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/BaseService.cs
new file mode 100644
index 0000000..51a46a6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/BaseService.cs
@@ -0,0 +1,90 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 瀹炰綋鎿嶄綔鍩烘湇鍔�
+/// </summary>
+/// <typeparam name="TEntity"></typeparam>
+public class BaseService<TEntity> : IDynamicApiController where TEntity : class, new()
+{
+    private readonly SqlSugarRepository<TEntity> _rep;
+
+    public BaseService(SqlSugarRepository<TEntity> rep)
+    {
+        _rep = rep;
+    }
+
+    /// <summary>
+    /// 鑾峰彇璇︽儏 馃敄
+    /// </summary>
+    /// <param name="id"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇璇︽儏")]
+    public virtual async Task<TEntity> GetDetail(long id)
+    {
+        return await _rep.GetByIdAsync(id);
+    }
+
+    /// <summary>
+    /// 鑾峰彇闆嗗悎 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇闆嗗悎")]
+    public virtual async Task<List<TEntity>> GetList()
+    {
+        return await _rep.GetListAsync();
+    }
+
+    ///// <summary>
+    ///// 鑾峰彇瀹炰綋鍒嗛〉 馃敄
+    ///// </summary>
+    ///// <param name="input"></param>
+    ///// <returns></returns>
+    //[ApiDescriptionSettings(Name = "Page")]
+    //[DisplayName("鑾峰彇瀹炰綋鍒嗛〉")]
+    //public async Task<SqlSugarPagedList<TEntity>> GetPage([FromQuery] BasePageInput input)
+    //{
+    //    return await _rep.AsQueryable().ToPagedListAsync(input.Page, input.PageSize);
+    //}
+
+    /// <summary>
+    /// 澧炲姞 馃敄
+    /// </summary>
+    /// <param name="entity"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("澧炲姞")]
+    public virtual async Task<bool> Add(TEntity entity)
+    {
+        return await _rep.InsertAsync(entity);
+    }
+
+    /// <summary>
+    /// 鏇存柊 馃敄
+    /// </summary>
+    /// <param name="entity"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊")]
+    public virtual async Task<int> Update(TEntity entity)
+    {
+        return await _rep.AsUpdateable(entity).IgnoreColumns(true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鍒犻櫎 馃敄
+    /// </summary>
+    /// <param name="id"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎")]
+    public virtual async Task<bool> Delete(long id)
+    {
+        return await _rep.DeleteByIdAsync(id);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Cache/SysCacheService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Cache/SysCacheService.cs
new file mode 100644
index 0000000..ea6dd91
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Cache/SysCacheService.cs
@@ -0,0 +1,281 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using NewLife.Caching.Models;
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺缂撳瓨鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 400)]
+public class SysCacheService : IDynamicApiController, ISingleton
+{
+    private readonly ICache _cache;
+    private readonly CacheOptions _cacheOptions;
+
+    public SysCacheService(ICache cache, IOptions<CacheOptions> cacheOptions)
+    {
+        _cache = cache;
+        _cacheOptions = cacheOptions.Value;
+    }
+
+    /// <summary>
+    /// 鑾峰彇缂撳瓨閿悕闆嗗悎 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇缂撳瓨閿悕闆嗗悎")]
+    public List<string> GetKeyList()
+    {
+        return _cache == Cache.Default
+            ? _cache.Keys.Where(u => u.StartsWith(_cacheOptions.Prefix)).Select(u => u[_cacheOptions.Prefix.Length..]).OrderBy(u => u).ToList()
+            : ((FullRedis)_cache).Search($"{_cacheOptions.Prefix}*", int.MaxValue).Select(u => u[_cacheOptions.Prefix.Length..]).OrderBy(u => u).ToList();
+    }
+
+    /// <summary>
+    /// 澧炲姞缂撳瓨
+    /// </summary>
+    /// <param name="key"></param>
+    /// <param name="value"></param>
+    /// <returns></returns>
+    [NonAction]
+    public bool Set(string key, object value)
+    {
+        if (string.IsNullOrWhiteSpace(key)) return false;
+        return _cache.Set($"{_cacheOptions.Prefix}{key}", value);
+    }
+
+    /// <summary>
+    /// 澧炲姞缂撳瓨骞惰缃繃鏈熸椂闂�
+    /// </summary>
+    /// <param name="key"></param>
+    /// <param name="value"></param>
+    /// <param name="expire"></param>
+    /// <returns></returns>
+    [NonAction]
+    public bool Set(string key, object value, TimeSpan expire)
+    {
+        if (string.IsNullOrWhiteSpace(key)) return false;
+        return _cache.Set($"{_cacheOptions.Prefix}{key}", value, expire);
+    }
+
+    /// <summary>
+    /// 鑾峰彇缂撳瓨
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="key"></param>
+    /// <returns></returns>
+    [NonAction]
+    public T Get<T>(string key)
+    {
+        return _cache.Get<T>($"{_cacheOptions.Prefix}{key}");
+    }
+
+    /// <summary>
+    /// 鍒犻櫎缂撳瓨 馃敄
+    /// </summary>
+    /// <param name="key"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎缂撳瓨")]
+    public int Remove(string key)
+    {
+        return _cache.Remove($"{_cacheOptions.Prefix}{key}");
+    }
+
+    /// <summary>
+    /// 妫�鏌ョ紦瀛樻槸鍚﹀瓨鍦�
+    /// </summary>
+    /// <param name="key">閿�</param>
+    /// <returns></returns>
+    [NonAction]
+    public bool ExistKey(string key)
+    {
+        return _cache.ContainsKey($"{_cacheOptions.Prefix}{key}");
+    }
+
+    /// <summary>
+    /// 鏍规嵁閿悕鍓嶇紑鍒犻櫎缂撳瓨 馃敄
+    /// </summary>
+    /// <param name="prefixKey">閿悕鍓嶇紑</param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "DeleteByPreKey"), HttpPost]
+    [DisplayName("鏍规嵁閿悕鍓嶇紑鍒犻櫎缂撳瓨")]
+    public int RemoveByPrefixKey(string prefixKey)
+    {
+        var delKeys = _cache == Cache.Default
+            ? _cache.Keys.Where(u => u.StartsWith($"{_cacheOptions.Prefix}{prefixKey}")).ToArray()
+            : ((FullRedis)_cache).Search($"{_cacheOptions.Prefix}{prefixKey}*", int.MaxValue).ToArray();
+        return _cache.Remove(delKeys);
+    }
+
+    /// <summary>
+    /// 鏍规嵁閿悕鍓嶇紑鑾峰彇閿悕闆嗗悎 馃敄
+    /// </summary>
+    /// <param name="prefixKey">閿悕鍓嶇紑</param>
+    /// <returns></returns>
+    [DisplayName("鏍规嵁閿悕鍓嶇紑鑾峰彇閿悕闆嗗悎")]
+    public List<string> GetKeysByPrefixKey(string prefixKey)
+    {
+        return _cache == Cache.Default
+            ? _cache.Keys.Where(u => u.StartsWith($"{_cacheOptions.Prefix}{prefixKey}")).Select(u => u[_cacheOptions.Prefix.Length..]).ToList()
+            : ((FullRedis)_cache).Search($"{_cacheOptions.Prefix}{prefixKey}*", int.MaxValue).Select(u => u[_cacheOptions.Prefix.Length..]).ToList();
+    }
+
+    /// <summary>
+    /// 鑾峰彇缂撳瓨鍊� 馃敄
+    /// </summary>
+    /// <param name="key"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇缂撳瓨鍊�")]
+    public object GetValue(string key)
+    {
+        return _cache == Cache.Default
+            ? _cache.Get<object>($"{_cacheOptions.Prefix}{key}")
+            : _cache.Get<string>($"{_cacheOptions.Prefix}{key}");
+    }
+
+    /// <summary>
+    /// 鑾峰彇鎴栨坊鍔犵紦瀛橈紙鍦ㄦ暟鎹笉瀛樺湪鏃舵墽琛屽鎵樿姹傛暟鎹級
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="key"></param>
+    /// <param name="callback"></param>
+    /// <param name="expire">杩囨湡鏃堕棿锛屽崟浣嶇</param>
+    /// <returns></returns>
+    [NonAction]
+    public T GetOrAdd<T>(string key, Func<string, T> callback, int expire = -1)
+    {
+        if (string.IsNullOrWhiteSpace(key)) return default;
+        return _cache.GetOrAdd($"{_cacheOptions.Prefix}{key}", callback, expire);
+    }
+
+    /// <summary>
+    /// Hash鍖归厤
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="key"></param>
+    /// <returns></returns>
+    [NonAction]
+    public RedisHash<string, T> GetHashMap<T>(string key)
+    {
+        return _cache.GetDictionary<T>(key) as RedisHash<string, T>;
+    }
+
+    /// <summary>
+    /// 鎵归噺娣诲姞HASH
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="key"></param>
+    /// <param name="dic"></param>
+    /// <returns></returns>
+    [NonAction]
+    public bool HashSet<T>(string key, Dictionary<string, T> dic)
+    {
+        var hash = GetHashMap<T>(key);
+        return hash.HMSet(dic);
+    }
+
+    /// <summary>
+    /// 娣诲姞涓�鏉ASH
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="key"></param>
+    /// <param name="hashKey"></param>
+    /// <param name="value"></param>
+    [NonAction]
+    public void HashAdd<T>(string key, string hashKey, T value)
+    {
+        var hash = GetHashMap<T>(key);
+        hash.Add(hashKey, value);
+    }
+
+    /// <summary>
+    /// 鑾峰彇澶氭潯HASH
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="key"></param>
+    /// <param name="fields"></param>
+    /// <returns></returns>
+    [NonAction]
+    public List<T> HashGet<T>(string key, params string[] fields)
+    {
+        var hash = GetHashMap<T>(key);
+        var result = hash.HMGet(fields);
+        return result.ToList();
+    }
+
+    /// <summary>
+    /// 鑾峰彇涓�鏉ASH
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="key"></param>
+    /// <param name="field"></param>
+    /// <returns></returns>
+    [NonAction]
+    public T HashGetOne<T>(string key, string field)
+    {
+        var hash = GetHashMap<T>(key);
+        var result = hash.HMGet(new string[] { field });
+        return result[0];
+    }
+
+    /// <summary>
+    /// 鏍规嵁KEY鑾峰彇鎵�鏈塇ASH
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="key"></param>
+    /// <returns></returns>
+    [NonAction]
+    public IDictionary<string, T> HashGetAll<T>(string key)
+    {
+        var hash = GetHashMap<T>(key);
+        return hash.GetAll();
+    }
+
+    /// <summary>
+    /// 鍒犻櫎HASH
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="key"></param>
+    /// <param name="fields"></param>
+    /// <returns></returns>
+    [NonAction]
+    public int HashDel<T>(string key, params string[] fields)
+    {
+        var hash = GetHashMap<T>(key);
+        return hash.HDel(fields);
+    }
+
+    /// <summary>
+    /// 鎼滅储HASH
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="key"></param>
+    /// <param name="searchModel"></param>
+    /// <returns></returns>
+    [NonAction]
+    public List<KeyValuePair<string, T>> HashSearch<T>(string key, SearchModel searchModel)
+    {
+        var hash = GetHashMap<T>(key);
+        return hash.Search(searchModel).ToList();
+    }
+
+    /// <summary>
+    /// 鎼滅储HASH
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="key"></param>
+    /// <param name="pattern"></param>
+    /// <param name="count"></param>
+    /// <returns></returns>
+    [NonAction]
+    public List<KeyValuePair<string, T>> HashSearch<T>(string key, string pattern, int count)
+    {
+        var hash = GetHashMap<T>(key);
+        return hash.Search(pattern, count).ToList();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/CustomViewEngine.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/CustomViewEngine.cs
new file mode 100644
index 0000000..50e65bd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/CustomViewEngine.cs
@@ -0,0 +1,123 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class CustomViewEngine : ViewEngineModel
+{
+    private readonly ISqlSugarClient _db;
+
+    public CustomViewEngine()
+    {
+    }
+
+    public CustomViewEngine(ISqlSugarClient db)
+    {
+        _db = db;
+    }
+
+    /// <summary>
+    /// 搴撳畾浣嶅櫒
+    /// </summary>
+    public string ConfigId { get; set; } = SqlSugarConst.MainConfigId;
+
+
+    /// <summary>
+    /// 琛ㄧ被鍨� 銆怑ditby shaocx,2024-05-15銆�
+    /// </summary>
+    public string? TableType { get; set; }
+
+
+    /// <summary>
+    /// 鍏抽敭瀛楁煡璇㈠瓧绗︿覆 銆怑ditby shaocx,2024-05-16銆�
+    /// </summary>
+    public string? KeyQueryStr { get; set; }
+
+    public string AuthorName { get; set; }
+
+    public string BusName { get; set; }
+
+    public string NameSpace { get; set; }
+
+    public string ClassName { get; set; }
+
+    public string ModuleName { get; set; }
+
+    /// <summary>
+    /// 鐢熸垚鐨勬寜閽� 銆怑ditby shaocx,2024-05-27銆�
+    /// </summary>
+    public string Buttons { get; set; }
+
+
+    /// <summary>
+    /// 瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛�
+    /// </summary>
+    public string ImportExcelCustomizationContent { get; set; }
+
+    public string ProjectLastName { get; set; }
+
+    public string LowerClassName
+    {
+        get
+        {
+            return ClassName[..1].ToLower() + ClassName[1..]; // 棣栧瓧姣嶅皬鍐�
+        }
+    }
+
+    public bool IsJoinTable { get; set; }
+
+    public bool IsUpload { get; set; }
+
+    public string PrintType { get; set; }
+
+    public string PrintName { get; set; }
+
+    public List<CodeGenConfig> QueryWhetherList { get; set; }
+
+    public List<CodeGenConfig> TableField { get; set; }
+
+    private List<ColumnOuput> ColumnList { get; set; }
+
+    public string GetColumnNetType(object tbName, object colName)
+    {
+        if (tbName == null || colName == null) return null;
+
+        var config = App.GetOptions<DbConnectionOptions>().ConnectionConfigs.FirstOrDefault(u => u.ConfigId.ToString() == ConfigId);
+        ColumnList = GetColumnListByTableName(tbName.ToString());
+        var col = ColumnList.Where(c => (config.DbSettings.EnableUnderLine
+            ? CodeGenUtil.CamelColumnName(c.ColumnName, Array.Empty<string>())
+            : c.ColumnName) == colName.ToString()).FirstOrDefault();
+        return col.NetType;
+    }
+
+    public List<ColumnOuput> GetColumnListByTableName(string tableName)
+    {
+        // 澶氬簱浠g爜鐢熸垚鍒囨崲搴�
+        var provider = _db.AsTenant().GetConnectionScope(ConfigId != SqlSugarConst.MainConfigId ? ConfigId : SqlSugarConst.MainConfigId);
+
+        // 鑾峰彇瀹炰綋绫诲瀷灞炴��
+        var entityType = provider.DbMaintenance.GetTableInfoList().FirstOrDefault(u => u.Name == tableName);
+
+        // 鍥犱负ConfigId鐨勮〃閫氬父涔熶細鐢ㄥ埌涓诲簱鐨勮〃鏉ュ仛杩炴帴锛屾墍浠ヨ繖閲屽鏋滃湪ConfigId涓壘涓嶅埌瀹炰綋涔熷皾璇曚竴涓嬪湪涓诲簱涓煡鎵�
+        if (ConfigId == SqlSugarConst.MainConfigId && entityType == null) return null;
+        if (ConfigId != SqlSugarConst.MainConfigId)
+        {
+            provider = _db.AsTenant().GetConnectionScope(SqlSugarConst.MainConfigId);
+            entityType = provider.DbMaintenance.GetTableInfoList().FirstOrDefault(u => u.Name == tableName);
+            if (entityType == null) return null;
+        }
+
+        // 鎸夊師濮嬬被鍨嬬殑椤哄簭鑾峰彇鎵�鏈夊疄浣撶被鍨嬪睘鎬э紙涓嶅寘鍚鑸睘鎬э紝浼氳繑鍥瀗ull锛�
+        return provider.DbMaintenance.GetColumnInfosByTableName(entityType.Name).Select(u => new ColumnOuput
+        {
+            ColumnName = u.DbColumnName,
+            ColumnKey = u.IsPrimarykey.ToString(),
+            DataType = u.DataType.ToString(),
+            NetType = CodeGenUtil.ConvertDataType(u, provider.CurrentConnectionConfig.DbType),
+            ColumnComment = u.ColumnDescription
+        }).ToList();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/CodeGenConfig.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/CodeGenConfig.cs
new file mode 100644
index 0000000..8fd2788
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/CodeGenConfig.cs
@@ -0,0 +1,221 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 浠g爜鐢熸垚璇︾粏閰嶇疆鍙傛暟
+/// </summary>
+public class CodeGenConfig
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long Id { get; set; }
+
+    /// <summary>
+    /// 浠g爜鐢熸垚涓昏〃ID
+    /// </summary>
+    public long CodeGenId { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撳瓧娈靛悕
+    /// </summary>
+    public string ColumnName { get; set; }
+
+    /// <summary>
+    /// 瀹炰綋灞炴�у悕
+    /// </summary>
+    public string PropertyName { get; set; }
+
+    /// <summary>
+    /// 瀛楁鏁版嵁闀垮害
+    /// </summary>
+    public int ColumnLength { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撳瓧娈靛悕(棣栧瓧姣嶅皬鍐�)
+    /// </summary>
+    public string LowerPropertyName => string.IsNullOrWhiteSpace(PropertyName) ? null : PropertyName[..1].ToLower() + PropertyName[1..];
+
+    /// <summary>
+    /// 瀛楁鎻忚堪
+    /// </summary>
+    public string ColumnComment { get; set; }
+
+    /// <summary>
+    /// .NET绫诲瀷
+    /// </summary>
+    public string NetType { get; set; }
+
+
+    /// <summary>
+    /// 浣滅敤绫诲瀷锛堝瓧鍏革級
+    /// </summary>
+    public string EffectType { get; set; }
+
+
+    /// <summary>
+    /// .NET绫诲瀷鏄惁鏄�肩被鍨�
+    /// </summary>
+    public string NetTypeIsNullLable { get; set; }
+
+    /// <summary>
+    /// 鏌ヨ鍙傛暟鍙负null涓撶敤
+    /// </summary>
+    public string NetTypeIsNullLableForQueryInput { get; set; }
+
+
+    /// <summary>
+    /// 銆愭柊澧炪�佺紪杈戙�佽繑鍥炴煡璇㈢粨鏋滅被銆� 鍙傛暟鍙负null涓撶敤
+    /// </summary>
+    public string NetTypeIsNullLableForAddEditOutParam { get; set; }
+
+    /// <summary>
+    /// 閲嶅鎬ф牎楠屾柟寮� 銆怑ditby shaocx,2024-05-12銆�
+    /// </summary>
+    public string? RepCheckType { get; set; }
+
+    /// <summary>
+    /// 澶栭敭瀹炰綋鍚嶇О
+    /// </summary>
+    public string FkEntityName { get; set; }
+
+    /// <summary>
+    /// 澶栭敭琛ㄥ悕绉�
+    /// </summary>
+    public string FkTableName { get; set; }
+
+    /// <summary>
+    /// 澶栭敭瀹炰綋鍚嶇О(棣栧瓧姣嶅皬鍐�)
+    /// </summary>
+    public string LowerFkEntityName =>
+        string.IsNullOrWhiteSpace(FkEntityName) ? null : FkEntityName[..1].ToLower() + FkEntityName[1..];
+
+    /// <summary>
+    /// 澶栭敭鏄剧ず瀛楁
+    /// </summary>
+    public string FkColumnName { get; set; }
+
+
+    /// <summary>
+    /// 澶栭敭璧嬪�煎瓧娈� 銆怑ditby shaocx,20240-05018銆�
+    /// </summary>
+    public string? FkSetValueColumnName { get; set; }
+
+    /// <summary>
+    /// 澶栭敭鏄剧ず瀛楁(棣栧瓧姣嶅皬鍐�)
+    /// </summary>
+    public string LowerFkColumnName =>
+        string.IsNullOrWhiteSpace(FkColumnName) ? null : FkColumnName[..1].ToLower() + FkColumnName[1..];
+
+    /// <summary>
+    /// 澶栭敭鏄剧ず瀛楁.NET绫诲瀷
+    /// </summary>
+    public string FkColumnNetType { get; set; }
+
+    /// <summary>
+    /// 瀛楀吀code
+    /// </summary>
+    public string DictTypeCode { get; set; }
+
+    /// <summary>
+    /// 鍒楄〃鏄惁缂╄繘锛堝瓧鍏革級
+    /// </summary>
+    public string WhetherRetract { get; set; }
+
+    /// <summary>
+    /// 鏄惁蹇呭~锛堝瓧鍏革級
+    /// </summary>
+    public string WhetherRequired { get; set; }
+
+    /// <summary>
+    /// 鏄惁鍙帓搴忥紙瀛楀吀锛�
+    /// </summary>
+    public string WhetherSortable { get; set; }
+
+    /// <summary>
+    /// 鏄惁鏄煡璇㈡潯浠�
+    /// </summary>
+    public string QueryWhether { get; set; }
+
+    /// <summary>
+    /// 鏌ヨ鏂瑰紡
+    /// </summary>
+    public string QueryType { get; set; }
+
+    /// <summary>
+    /// 鍒楄〃鏄剧ず
+    /// </summary>
+    public string WhetherTable { get; set; }
+
+
+    /// <summary>
+    /// 鏄惁鍏抽敭瀛楁煡璇� 銆怑ditby shaocx,2024-05-16銆�
+    /// </summary>
+    public string? WhetherKeyQuery { get; set; }
+
+
+    /// <summary>
+    /// 澧炴敼
+    /// </summary>
+    public string WhetherAddUpdate { get; set; }
+
+    /// <summary>
+    /// 涓诲閿�
+    /// </summary>
+    public string ColumnKey { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撲腑绫诲瀷锛堢墿鐞嗙被鍨嬶級
+    /// </summary>
+    public string DataType { get; set; }
+
+    /// <summary>
+    /// 鏄惁鏄�氱敤瀛楁
+    /// </summary>
+    public string WhetherCommon { get; set; }
+
+    /// <summary>
+    /// 琛ㄧ殑鍒悕 Table as XXX
+    /// </summary>
+    public string TableNickName
+    {
+        get
+        {
+            string str = "";
+            if (EffectType == "fk")
+            {
+                str = LowerFkEntityName + "_FK_" + LowerFkColumnName;
+            }
+            else if (EffectType == "Upload")
+            {
+                str = "sysFile_FK_" + LowerPropertyName;
+            }
+            return str;
+        }
+    }
+
+    /// <summary>
+    /// 鏄剧ず鏂囨湰瀛楁
+    /// </summary>
+    public string DisplayColumn { get; set; }
+
+    /// <summary>
+    /// 閫変腑鍊煎瓧娈�
+    /// </summary>
+    public string ValueColumn { get; set; }
+
+    /// <summary>
+    /// 鐖剁骇瀛楁
+    /// </summary>
+    public string PidColumn { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    public int OrderNo { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/CodeGenInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/CodeGenInput.cs
new file mode 100644
index 0000000..1ef516b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/CodeGenInput.cs
@@ -0,0 +1,224 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 浠g爜鐢熸垚鍙傛暟绫�
+/// </summary>
+public class CodeGenInput : BasePageInput
+{
+    /// <summary>
+    /// 琛ㄧ被鍨� 銆怑ditby shaocx,2024-05-15銆�
+    /// </summary>
+    public virtual string TableType { get; set; }
+
+    /// <summary>
+    /// 妯″潡鍚� 銆怑ditby shaocx,2024-05-07銆�
+    /// </summary>
+    public virtual string ModuleName { get; set; }
+
+    /// <summary>
+    /// 鐢熸垚鐨勬寜閽� 銆怑ditby shaocx,2024-05-27銆�
+    /// </summary>
+    public virtual List<string> ButtonsList { get; set; }
+
+    /// <summary>
+    /// 浣滆�呭鍚�
+    /// </summary>
+    public virtual string AuthorName { get; set; }
+
+    /// <summary>
+    /// 绫诲悕
+    /// </summary>
+    public virtual string ClassName { get; set; }
+
+    /// <summary>
+    /// 鏄惁绉婚櫎琛ㄥ墠缂�
+    /// </summary>
+    public virtual string TablePrefix { get; set; }
+
+    /// <summary>
+    /// 搴撳畾浣嶅櫒鍚�
+    /// </summary>
+    public virtual string ConfigId { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撳悕(淇濈暀瀛楁)
+    /// </summary>
+    public virtual string DbName { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撶被鍨�
+    /// </summary>
+    public virtual string DbType { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撻摼鎺�
+    /// </summary>
+    public virtual string ConnectionString { get; set; }
+
+    /// <summary>
+    /// 鐢熸垚鏂瑰紡
+    /// </summary>
+    public virtual string GenerateType { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撹〃鍚�
+    /// </summary>
+    public virtual string TableName { get; set; }
+
+    /// <summary>
+    /// 鍛藉悕绌洪棿
+    /// </summary>
+    public virtual string NameSpace { get; set; }
+
+    /// <summary>
+    /// 涓氬姟鍚嶏紙涓氬姟浠g爜鍖呭悕绉帮級
+    /// </summary>
+    public virtual string BusName { get; set; }
+
+    /// <summary>
+    /// 鍔熻兘鍚嶏紙鏁版嵁搴撹〃鍚嶇О锛�
+    /// </summary>
+    public virtual string TableComment { get; set; }
+
+    /// <summary>
+    /// 鑿滃崟搴旂敤鍒嗙被锛堝簲鐢ㄧ紪鐮侊級
+    /// </summary>
+    public virtual string MenuApplication { get; set; }
+
+    /// <summary>
+    /// 鑿滃崟鐖剁骇
+    /// </summary>
+    public virtual long MenuPid { get; set; }
+
+    /// <summary>
+    /// 鏀寔鎵撳嵃绫诲瀷
+    /// </summary>
+    public virtual string PrintType { get; set; }
+
+    /// <summary>
+    /// 鎵撳嵃妯$増鍚嶇О
+    /// </summary>
+    public virtual string PrintName { get; set; }
+}
+
+public class AddCodeGenInput : CodeGenInput
+{
+    /// <summary>
+    /// 鏁版嵁搴撹〃鍚�
+    /// </summary>
+    [Required(ErrorMessage = "鏁版嵁搴撹〃鍚嶄笉鑳戒负绌�")]
+    public override string TableName { get; set; }
+
+    /// <summary>
+    /// 涓氬姟鍚嶏紙涓氬姟浠g爜鍖呭悕绉帮級
+    /// </summary>
+    [Required(ErrorMessage = "涓氬姟鍚嶄笉鑳戒负绌�")]
+    public override string BusName { get; set; }
+
+    /// <summary>
+    /// 鍛藉悕绌洪棿
+    /// </summary>
+    [Required(ErrorMessage = "鍛藉悕绌洪棿涓嶈兘涓虹┖")]
+    public override string NameSpace { get; set; }
+
+    /// <summary>
+    /// 浣滆�呭鍚�
+    /// </summary>
+    [Required(ErrorMessage = "浣滆�呭鍚嶄笉鑳戒负绌�")]
+    public override string AuthorName { get; set; }
+
+    /// <summary>
+    /// 妯″潡鍚� 銆怑ditby shaocx,2024-05-07銆�
+    /// </summary>
+    [Required(ErrorMessage = "妯″潡鍚嶄笉鑳戒负绌�")]
+    public override string ModuleName { get; set; }
+
+    /// <summary>
+    /// 鐢熸垚鐨勬寜閽� 銆怑ditby shaocx,2024-05-27銆�
+    /// </summary>
+    [Required(ErrorMessage = "鎸夐挳涓嶈兘涓虹┖")]
+    public override List<string> ButtonsList { get; set; }
+
+
+    /// <summary>
+    /// 琛ㄧ被鍨� 銆怑ditby shaocx,2024-05-15銆�
+    /// </summary>
+    [Required(ErrorMessage = "琛ㄧ被鍨嬩笉鑳戒负绌�")]
+    public override string TableType { get; set; }
+
+    ///// <summary>
+    ///// 绫诲悕
+    ///// </summary>
+    //[Required(ErrorMessage = "绫诲悕涓嶈兘涓虹┖")]
+    //public override string ClassName { get; set; }
+
+    ///// <summary>
+    ///// 鏄惁绉婚櫎琛ㄥ墠缂�
+    ///// </summary>
+    //[Required(ErrorMessage = "鏄惁绉婚櫎琛ㄥ墠缂�涓嶈兘涓虹┖")]
+    //public override string TablePrefix { get; set; }
+
+    /// <summary>
+    /// 鐢熸垚鏂瑰紡
+    /// </summary>
+    [Required(ErrorMessage = "鐢熸垚鏂瑰紡涓嶈兘涓虹┖")]
+    public override string GenerateType { get; set; }
+
+    ///// <summary>
+    ///// 鍔熻兘鍚嶏紙鏁版嵁搴撹〃鍚嶇О锛�
+    ///// </summary>
+    //[Required(ErrorMessage = "鏁版嵁搴撹〃鍚嶄笉鑳戒负绌�")]
+    //public override string TableComment { get; set; }
+
+    /// <summary>
+    /// 鑿滃崟鐖剁骇
+    /// </summary>
+    [Required(ErrorMessage = "鑿滃崟鐖剁骇涓嶈兘涓虹┖")]
+    public override long MenuPid { get; set; }
+}
+
+public class DeleteCodeGenInput
+{
+    /// <summary>
+    /// 浠g爜鐢熸垚鍣↖d
+    /// </summary>
+    [Required(ErrorMessage = "浠g爜鐢熸垚鍣↖d涓嶈兘涓虹┖")]
+    public long Id { get; set; }
+
+    /// <summary>
+    /// 鍒犻櫎鏍囪(1:鍒犻櫎 2锛氶噸缃厤缃�)
+    /// </summary>
+    public int DelFlag { get; set; } = 1;
+
+}
+
+public class UpdateCodeGenInput : AddCodeGenInput
+{
+    /// <summary>
+    /// 浠g爜鐢熸垚鍣↖d
+    /// </summary>
+    [Required(ErrorMessage = "浠g爜鐢熸垚鍣↖d涓嶈兘涓虹┖")]
+    public long Id { get; set; }
+
+    /// <summary>
+    /// 妯″潡鍚� 銆怑ditby shaocx,2024-05-07銆�
+    /// </summary>
+    [Required(ErrorMessage = "妯″潡鍚嶄笉鑳戒负绌�")]
+    public override string ModuleName { get; set; }
+
+    /// <summary>
+    /// 鐢熸垚鐨勬寜閽� 銆怑ditby shaocx,2024-05-27銆�
+    /// </summary>
+    [Required(ErrorMessage = "鎸夐挳涓嶈兘涓虹┖")]
+    public override List<string> ButtonsList { get; set; }
+}
+
+public class QueryCodeGenInput : DeleteCodeGenInput
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/CodeGenOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/CodeGenOutput.cs
new file mode 100644
index 0000000..153a00d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/CodeGenOutput.cs
@@ -0,0 +1,197 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 浠g爜鐢熸垚鍙傛暟绫�
+/// </summary>
+public class CodeGenOutput
+{
+
+    /// <summary>
+    /// 浠g爜鐢熸垚鍣↖d
+    /// </summary>
+    public long Id { get; set; }
+
+
+    /// <summary>
+    /// 鐢熸垚鐨勬寜閽� 銆怑ditby shaocx,2024-05-27銆�
+    /// </summary>
+    public  List<string> ButtonsList { get; set; }
+
+    /// <summary>
+    /// 浣滆�呭鍚�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "浣滆�呭鍚�", Length = 32)]
+    [MaxLength(32)]
+    public string? AuthorName { get; set; }
+
+    /// <summary>
+    /// 鏄惁绉婚櫎琛ㄥ墠缂�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏄惁绉婚櫎琛ㄥ墠缂�", Length = 8)]
+    [MaxLength(8)]
+    public string? TablePrefix { get; set; }
+
+    /// <summary>
+    /// 鐢熸垚鏂瑰紡
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐢熸垚鏂瑰紡", Length = 32)]
+    [MaxLength(32)]
+    public string? GenerateType { get; set; }
+
+    /// <summary>
+    /// 琛ㄧ被鍨� 銆怑ditby shaocx,2024-05-15銆�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "琛ㄧ被鍨�", Length = 32)]
+    [MaxLength(32)]
+    public string? TableType { get; set; }
+
+    /// <summary>
+    /// 搴撳畾浣嶅櫒鍚�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "搴撳畾浣嶅櫒鍚�", Length = 64)]
+    [MaxLength(64)]
+    public string? ConfigId { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撳悕(淇濈暀瀛楁)
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏁版嵁搴撳簱鍚�", Length = 64)]
+    [MaxLength(64)]
+    public string? DbName { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撶被鍨�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏁版嵁搴撶被鍨�", Length = 64)]
+    [MaxLength(64)]
+    public string? DbType { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撻摼鎺�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏁版嵁搴撻摼鎺�", Length = 256)]
+    [MaxLength(256)]
+    public string? ConnectionString { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撹〃鍚�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏁版嵁搴撹〃鍚�", Length = 128)]
+    [MaxLength(128)]
+    public string? TableName { get; set; }
+
+    /// <summary>
+    /// 鍛藉悕绌洪棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍛藉悕绌洪棿", Length = 128)]
+    [MaxLength(128)]
+    public string? NameSpace { get; set; }
+
+    /// <summary>
+    /// 涓氬姟鍚�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "涓氬姟鍚�", Length = 128)]
+    [MaxLength(128)]
+    public string? BusName { get; set; }
+
+
+    /// <summary>
+    /// 妯″潡鍚� 銆怑ditby shaocx,2024-05-07銆�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "妯″潡鍚�", Length = 128, IsNullable = true)]
+    [MaxLength(128)]
+    public string ModuleName { get; set; }
+
+
+    /// <summary>
+    /// 鐢熸垚鐨勬寜閽� 銆怑ditby shaocx,2024-05-27銆�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐢熸垚鐨勬寜閽�", Length = 128, IsNullable = true)]
+    [MaxLength(128)]
+    public string Buttons { get; set; }
+
+    /// <summary>
+    /// 鑿滃崟缂栫爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鑿滃崟缂栫爜")]
+    public long MenuPid { get; set; }
+
+    /// <summary>
+    /// 鏀寔鎵撳嵃绫诲瀷
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鏀寔鎵撳嵃绫诲瀷", Length = 32)]
+    [MaxLength(32)]
+    public string? PrintType { get; set; }
+
+    /// <summary>
+    /// 鎵撳嵃妯$増鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎵撳嵃妯$増鍚嶇О", Length = 32)]
+    [MaxLength(32)]
+    public string? PrintName { get; set; }
+
+
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍒涘缓鏃堕棿", IsOnlyIgnoreUpdate = true)]
+    public virtual DateTime? CreateTime { get; set; }
+
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "淇敼鏃堕棿")]
+    public virtual DateTime? UpdateTime { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍒涘缓浜篒d", IsOnlyIgnoreUpdate = true)]
+    public virtual long? CreateUserId { get; set; }
+
+    ///// <summary>
+    ///// 鍒涘缓浜�
+    ///// </summary>
+    //[Newtonsoft.Json.JsonIgnore]
+    //[System.Text.Json.Serialization.JsonIgnore]
+    //[Navigate(NavigateType.OneToOne, nameof(CreateUserId))]
+    //public virtual SysUser CreateUser { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍒涘缓浜�", Length = 64, IsOnlyIgnoreUpdate = true)]
+    public virtual string? CreateUserName { get; set; }
+
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    [SugarColumn(ColumnDescription = "淇敼浜篒d")]
+    public virtual long? UpdateUserId { get; set; }
+
+    ///// <summary>
+    ///// 淇敼浜�
+    ///// </summary>
+    //[Newtonsoft.Json.JsonIgnore]
+    //[System.Text.Json.Serialization.JsonIgnore]
+    //[Navigate(NavigateType.OneToOne, nameof(UpdateUserId))]
+    //public virtual SysUser UpdateUser { get; set; }
+
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "淇敼浜�", Length = 64)]
+    public virtual string? UpdateUserName { get; set; }
+
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "杞垹闄�")]
+    public virtual bool IsDelete { get; set; } = false;
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/ColumnOuput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/ColumnOuput.cs
new file mode 100644
index 0000000..6429157
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/ColumnOuput.cs
@@ -0,0 +1,66 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鏁版嵁搴撹〃鍒�
+/// </summary>
+public class ColumnOuput
+{
+    /// <summary>
+    /// 瀛楁鍚�
+    /// </summary>
+    public string ColumnName { get; set; }
+
+    /// <summary>
+    /// 瀹炰綋鐨凱roperty鍚�
+    /// </summary>
+    public string PropertyName { get; set; }
+
+    /// <summary>
+    /// 瀛楁鏁版嵁闀垮害
+    /// </summary>
+    public int ColumnLength { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撲腑绫诲瀷
+    /// </summary>
+    public string DataType { get; set; }
+
+    /// <summary>
+    /// 鏄惁涓轰富閿�
+    /// </summary>
+    public bool IsPrimarykey { get; set; }
+
+    /// <summary>
+    /// 鏄惁鍏佽涓虹┖
+    /// </summary>
+    public bool IsNullable { get; set; }
+
+    /// <summary>
+    /// .NET瀛楁绫诲瀷
+    /// </summary>
+    public string NetType { get; set; }
+
+    /// <summary>
+    /// 鏄惁鏄灇涓剧被鍨�
+    /// </summary>
+    public bool IsEnum { get; set; }
+
+    /// <summary>
+    /// 瀛楁鎻忚堪
+    /// </summary>
+    public string ColumnComment { get; set; }
+
+    /// <summary>
+    /// 涓诲閿�
+    /// </summary>
+    public string ColumnKey { get; set; }
+
+
+    
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/DatabaseOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/DatabaseOutput.cs
new file mode 100644
index 0000000..5f6d81c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/DatabaseOutput.cs
@@ -0,0 +1,28 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鏁版嵁搴�
+/// </summary>
+public class DatabaseOutput
+{
+    /// <summary>
+    /// 搴撳畾浣嶅櫒鍚�
+    /// </summary>
+    public string ConfigId { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撶被鍨�
+    /// </summary>
+    public SqlSugar.DbType DbType { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁搴撹繛鎺ュ瓧绗︿覆
+    /// </summary>
+    public string ConnectionString { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/TableOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/TableOutput.cs
new file mode 100644
index 0000000..6ef669c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/Dto/TableOutput.cs
@@ -0,0 +1,43 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鏁版嵁搴撹〃
+/// </summary>
+public class TableOutput
+{
+    /// <summary>
+    /// 搴撳畾浣嶅櫒鍚�
+    /// </summary>
+    public string ConfigId { get; set; }
+
+    /// <summary>
+    /// 琛ㄥ悕锛堝瓧姣嶅舰寮忕殑锛�
+    /// </summary>
+    public string TableName { get; set; }
+
+    /// <summary>
+    /// 瀹炰綋鍚嶇О
+    /// </summary>
+    public string EntityName { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public string CreateTime { get; set; }
+
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public string UpdateTime { get; set; }
+
+    /// <summary>
+    /// 琛ㄥ悕绉版弿杩帮紙鍔熻兘鍚嶏級
+    /// </summary>
+    public string TableComment { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/SysCodeGenConfigService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/SysCodeGenConfigService.cs
new file mode 100644
index 0000000..a3ab86e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/SysCodeGenConfigService.cs
@@ -0,0 +1,183 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺浠g爜鐢熸垚閰嶇疆鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 260)]
+public class SysCodeGenConfigService : IDynamicApiController, ITransient
+{
+    private readonly ISqlSugarClient _db;
+
+    public SysCodeGenConfigService(ISqlSugarClient db)
+    {
+        _db = db;
+    }
+
+    /// <summary>
+    /// 鑾峰彇浠g爜鐢熸垚閰嶇疆鍒楄〃 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇浠g爜鐢熸垚閰嶇疆鍒楄〃")]
+    public async Task<List<CodeGenConfig>> GetList([FromQuery] CodeGenConfig input)
+    {
+        return await _db.Queryable<SysCodeGenConfig>()
+            .Where(u => u.CodeGenId == input.CodeGenId)
+            .Select<CodeGenConfig>()
+            .Mapper(u =>
+            {
+                //u.NetType = (u.EffectType == "EnumSelector" || u.EffectType == "ConstSelector" ? u.DictTypeCode : u.NetType);
+                //鍘绘帀 鏋氫妇閫夋嫨鍣ㄧ殑鎺у埗 銆怑ditby shaocx,2024-05-10銆�
+                u.NetType = (u.EffectType == "ConstSelector" ? u.DictTypeCode : u.NetType);
+            })
+            .OrderBy(u => u.OrderNo)
+            .ToListAsync();
+    }
+
+    /// <summary>
+    /// 鏇存柊浠g爜鐢熸垚閰嶇疆 馃敄
+    /// </summary>
+    /// <param name="inputList"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊浠g爜鐢熸垚閰嶇疆")]
+    public async Task UpdateCodeGenConfig(List<CodeGenConfig> inputList)
+    {
+        if (inputList == null || inputList.Count < 1) return;
+
+        CodeGenUtil.ValidateCodeGenConfig(inputList);
+
+        await _db.Updateable(inputList.Adapt<List<SysCodeGenConfig>>())
+            .IgnoreColumns(u => new { u.ColumnLength, u.ColumnName, u.PropertyName })
+            .ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鍒犻櫎浠g爜鐢熸垚閰嶇疆
+    /// </summary>
+    /// <param name="codeGenId"></param>
+    /// <returns></returns>
+    [NonAction]
+    public async Task DeleteCodeGenConfig(long codeGenId)
+    {
+        await _db.Deleteable<SysCodeGenConfig>().Where(u => u.CodeGenId == codeGenId).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇浠g爜鐢熸垚閰嶇疆璇︽儏 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇浠g爜鐢熸垚閰嶇疆璇︽儏")]
+    public async Task<SysCodeGenConfig> GetDetail([FromQuery] CodeGenConfig input)
+    {
+        return await _db.Queryable<SysCodeGenConfig>().FirstAsync(u => u.Id == input.Id);
+    }
+
+    /// <summary>
+    /// 鎵归噺澧炲姞浠g爜鐢熸垚閰嶇疆
+    /// </summary>
+    /// <param name="tableColumnOutputList"></param>
+    /// <param name="codeGenerate"></param>
+    [NonAction]
+    public void AddList(List<ColumnOuput> tableColumnOutputList, SysCodeGen codeGenerate)
+    {
+        if (tableColumnOutputList == null) return;
+
+        var codeGenConfigs = new List<SysCodeGenConfig>();
+        var orderNo = 100;
+        foreach (var tableColumn in tableColumnOutputList)
+        {
+            var codeGenConfig = new SysCodeGenConfig();
+
+            var YesOrNo = YesNoEnum.Y.ToString();
+            if (Convert.ToBoolean(tableColumn.ColumnKey))
+            {
+                YesOrNo = YesNoEnum.N.ToString();
+            }
+
+            if (CodeGenUtil.IsCommonColumn(tableColumn.PropertyName))
+            {
+                codeGenConfig.WhetherCommon = YesNoEnum.Y.ToString();
+                YesOrNo = YesNoEnum.N.ToString();
+            }
+            else
+            {
+                codeGenConfig.WhetherCommon = YesNoEnum.N.ToString();
+            }
+
+            codeGenConfig.CodeGenId = codeGenerate.Id;
+            codeGenConfig.ColumnName = tableColumn.ColumnName; // 瀛楁鍚�
+            codeGenConfig.PropertyName = tableColumn.PropertyName;// 瀹炰綋灞炴�у悕
+            codeGenConfig.ColumnLength = tableColumn.ColumnLength;// 闀垮害
+            codeGenConfig.ColumnComment = tableColumn.ColumnComment;
+            //codeGenConfig.NetType = tableColumn.DataType;
+            codeGenConfig.NetType = CodeGenUtil.ConvertDataType(tableColumn.NetType);//淇敼璧嬪�肩被鍨� 銆怑ditby shaocx,2024-05-10銆�
+            codeGenConfig.WhetherRetract = YesNoEnum.N.ToString();
+
+            // 鐢熸垚浠g爜鏃讹紝涓婚敭骞朵笉鏄繀瑕佽緭鍏ラ」锛屾晠涓�瀹氳鎺掗櫎涓婚敭瀛楁
+            codeGenConfig.WhetherRequired = (tableColumn.IsNullable || tableColumn.IsPrimarykey) ? YesNoEnum.N.ToString() : YesNoEnum.Y.ToString();
+            codeGenConfig.QueryWhether = YesOrNo;
+            codeGenConfig.WhetherAddUpdate = YesOrNo;
+            if (CodeGenUtil.IsNoNeedCurdColumn(tableColumn.ColumnName))
+            {
+                codeGenConfig.QueryWhether = YesNoEnum.N.ToString();
+                codeGenConfig.WhetherAddUpdate = YesNoEnum.N.ToString();
+            }
+
+            codeGenConfig.WhetherTable = YesOrNo;
+
+            //榛樿閰嶇疆 鏄惁鍏抽敭瀛楁煡璇� 銆怑ditby shaocx,2024-05-16銆�
+            codeGenConfig.WhetherKeyQuery = YesNoEnum.N.ToString();
+            if (codeGenConfig.NetType.ToLower() == "string" && codeGenConfig.WhetherTable == YesNoEnum.Y.ToString())
+            {
+                codeGenConfig.WhetherKeyQuery = YesNoEnum.Y.ToString();
+            }
+
+            codeGenConfig.ColumnKey = tableColumn.ColumnKey;
+
+            codeGenConfig.DataType = tableColumn.DataType;
+
+            codeGenConfig.EffectType = CodeGenUtil.DataTypeToEff(codeGenConfig.DataType);
+            if (tableColumn.IsEnum)
+            {
+                codeGenConfig.EffectType = "EnumSelector";
+            }
+            else if (CodeGenUtil.IsEntityBaseTimeColumn(tableColumn.ColumnName))
+            {//濡傛灉鏄熀纭�鏃堕棿瀛楁锛屽氨榛樿鏄� 鏃ユ湡鏃堕棿绫诲瀷 銆怑ditby shaocx,2024-05-12銆�
+                codeGenConfig.EffectType = "DateTimePicker";
+            }
+
+            codeGenConfig.QueryType = GetDefaultQueryType(codeGenConfig); // QueryTypeEnum.eq.ToString();
+            codeGenConfig.RepCheckType = "";
+            codeGenConfig.OrderNo = orderNo;
+            codeGenConfigs.Add(codeGenConfig);
+
+            orderNo += 10; // 姣忎釜閰嶇疆鎺掑簭闂撮殧10
+        }
+        // 澶氬簱浠g爜鐢熸垚---杩欓噷瑕佸垏鍥炰富搴�
+        var provider = _db.AsTenant().GetConnectionScope(SqlSugarConst.MainConfigId);
+        provider.Insertable(codeGenConfigs).ExecuteCommand();
+    }
+
+    /// <summary>
+    /// 榛樿鏌ヨ绫诲瀷
+    /// </summary>
+    /// <param name="codeGenConfig"></param>
+    /// <returns></returns>
+    private static string GetDefaultQueryType(SysCodeGenConfig codeGenConfig)
+    {
+        return (codeGenConfig.NetType?.TrimEnd('?')) switch
+        {
+            "string" => "like",
+            "DateTime" => "~",
+            _ => "==",
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs
new file mode 100644
index 0000000..271a82f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs
@@ -0,0 +1,1346 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using OfficeOpenXml;
+using System.IO.Compression;
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺浠g爜鐢熸垚鍣ㄦ湇鍔� 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 270)]
+public class SysCodeGenService : IDynamicApiController, ITransient
+{
+    private readonly ISqlSugarClient _db;
+
+    private readonly SysCodeGenConfigService _codeGenConfigService;
+    private readonly SysEnumService _sysEnumService;
+    private readonly IViewEngine _viewEngine;
+    private readonly CodeGenOptions _codeGenOptions;
+
+    public SysCodeGenService(ISqlSugarClient db,
+        SysCodeGenConfigService codeGenConfigService,
+        IViewEngine viewEngine,
+        SysEnumService sysEnumService,
+        IOptions<CodeGenOptions> codeGenOptions)
+    {
+        _db = db;
+        _codeGenConfigService = codeGenConfigService;
+        _sysEnumService = sysEnumService;
+        _viewEngine = viewEngine;
+        _codeGenOptions = codeGenOptions.Value;
+    }
+
+    /// <summary>
+    /// 鑾峰彇浠g爜鐢熸垚鍒嗛〉鍒楄〃 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇浠g爜鐢熸垚鍒嗛〉鍒楄〃")]
+    public async Task<SqlSugarPagedList<CodeGenOutput>> Page(CodeGenInput input)
+    {
+        var ret = await _db.Queryable<SysCodeGen>()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.TableName), u => u.TableName.Contains(input.TableName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.BusName), u => u.BusName.Contains(input.BusName.Trim()))
+            .Select<CodeGenOutput>()
+            .OrderByDescending(x => x.UpdateTime)
+            .ToPagedListAsync(input.Page, input.PageSize);
+        foreach (var item in ret.Items)
+        {
+            //鍗曠嫭澶勭悊鎸夐挳 銆怑ditby shaocx,2024-05-27銆�
+            if (!string.IsNullOrEmpty(item.Buttons))
+            {
+                item.ButtonsList = item.Buttons.Split(",").ToList();
+            }
+        }
+        return ret;
+    }
+
+    /// <summary>
+    /// 澧炲姞浠g爜鐢熸垚 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("澧炲姞浠g爜鐢熸垚")]
+    public async Task AddCodeGen(AddCodeGenInput input)
+    {
+        var isExist = await _db.Queryable<SysCodeGen>().Where(u => u.TableName == input.TableName).AnyAsync();
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D1400);
+
+        var codeGen = input.Adapt<SysCodeGen>();
+
+        //鍗曠嫭澶勭悊鎸夐挳 銆怑ditby shaocx,2024-05-27銆�
+        codeGen.Buttons = string.Join(",", input.ButtonsList);
+
+        var newCodeGen = await _db.Insertable(codeGen).ExecuteReturnEntityAsync();
+        // 鍔犲叆閰嶇疆琛ㄤ腑
+        _codeGenConfigService.AddList(GetColumnList(input), newCodeGen);
+    }
+
+    /// <summary>
+    /// 鏇存柊浠g爜鐢熸垚 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊浠g爜鐢熸垚")]
+    public async Task UpdateCodeGen(UpdateCodeGenInput input)
+    {
+        var isExist = await _db.Queryable<SysCodeGen>().AnyAsync(u => u.TableName == input.TableName && u.Id != input.Id);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D1400);
+
+        var isExistObj = await _db.Queryable<SysCodeGen>().FirstAsync(u => u.Id == input.Id);
+        if (isExistObj == null)
+            throw Oops.Oh(ErrorCodeEnum.D1002);
+
+        //鍒ゆ柇濡傛灉鐢熸垚琛ㄥ彉鍖栦簡锛屽氨闇�瑕侀噸缃厤缃〃 銆怑ditby shaocx,2024-04-13銆�
+        var isChangeTableName = false;
+        if (input.TableName != isExistObj.TableName)
+        {
+            isChangeTableName = true;
+        }
+
+        var codeGen = input.Adapt<SysCodeGen>();
+        if (input.ButtonsList?.Count > 0)
+        {
+            //鍗曠嫭澶勭悊鎸夐挳 銆怑ditby shaocx,2024-05-27銆�
+            codeGen.Buttons = string.Join(",", input.ButtonsList);
+        }
+
+        await _db.Updateable(codeGen).ExecuteCommandAsync();
+
+        if (isChangeTableName)
+        {
+            // 鍒锋柊閰嶇疆琛�
+            await Refresh(input.Id);
+        }
+    }
+
+    /// <summary>
+    /// 鍒犻櫎浠g爜鐢熸垚 馃敄
+    /// </summary>
+    /// <param name="inputs"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎浠g爜鐢熸垚")]
+    public async Task DeleteCodeGen(List<DeleteCodeGenInput> inputs)
+    {
+        if (inputs == null || inputs.Count < 1) return;
+
+        int flag = inputs.First().DelFlag;
+        if (flag == 2)
+        {//閲嶇疆閰嶇疆
+            await Refresh(inputs.First().Id);
+        }
+        else
+        {//鍒犻櫎
+            var codeGenConfigTaskList = new List<Task>();
+            inputs.ForEach(u =>
+            {
+                _db.Deleteable<SysCodeGen>().In(u.Id).ExecuteCommand();
+
+                // 鍒犻櫎閰嶇疆琛ㄤ腑
+                codeGenConfigTaskList.Add(_codeGenConfigService.DeleteCodeGenConfig(u.Id));
+            });
+            await Task.WhenAll(codeGenConfigTaskList);
+        }
+    }
+
+    /// <summary>
+    /// 鍒锋柊閰嶇疆琛�
+    /// </summary>
+    /// <returns></returns>
+    [HttpGet("refresh/{id}")]
+    [DisplayName("鍒锋柊閰嶇疆琛�")]
+    public async Task Refresh(long id)
+    {
+        var item = await _db.Queryable<SysCodeGen>().Where(u => u.Id == id).FirstAsync();
+        // 鍒犻櫎閰嶇疆琛ㄤ腑
+        await _codeGenConfigService.DeleteCodeGenConfig(id);
+        // 鍔犲叆閰嶇疆琛ㄤ腑
+        _codeGenConfigService.AddList(GetColumnList(item.Adapt<AddCodeGenInput>()), item);
+    }
+
+    /// <summary>
+    /// 鑾峰彇浠g爜鐢熸垚璇︽儏 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇浠g爜鐢熸垚璇︽儏")]
+    public async Task<SysCodeGen> GetDetail([FromQuery] QueryCodeGenInput input)
+    {
+        return await _db.Queryable<SysCodeGen>().SingleAsync(u => u.Id == input.Id);
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏁版嵁搴撳簱闆嗗悎 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鏁版嵁搴撳簱闆嗗悎")]
+    public async Task<List<DatabaseOutput>> GetDatabaseList()
+    {
+        var dbConfigs = App.GetOptions<DbConnectionOptions>().ConnectionConfigs;
+        return await Task.FromResult(dbConfigs.Adapt<List<DatabaseOutput>>());
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏁版嵁搴撹〃(瀹炰綋)闆嗗悎 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鏁版嵁搴撹〃(瀹炰綋)闆嗗悎")]
+    public async Task<List<TableOutput>> GetTableList(string configId = SqlSugarConst.MainConfigId)
+    {
+        var provider = _db.AsTenant().GetConnectionScope(configId);
+        var dbTableInfos = provider.DbMaintenance.GetTableInfoList(false); // 涓嶈兘璧扮紦瀛�,鍚﹀垯鍒囧簱涓嶈捣浣滅敤
+        var dbViewInfos = provider.DbMaintenance.GetViewInfoList(false);// 涓嶈兘璧扮紦瀛�,鍚﹀垯鍒囧簱涓嶈捣浣滅敤,澧炲姞瑙嗗浘 銆怑ditby shaocx,2024-05-15銆�
+
+        var config = App.GetOptions<DbConnectionOptions>().ConnectionConfigs.FirstOrDefault(u => configId.Equals(u.ConfigId));
+
+        var dbTableNames = dbTableInfos.Select(u => u.Name.ToLower()).ToList();
+        IEnumerable<EntityInfo> entityInfos = await GetEntityInfos();
+
+        var tableOutputList = new List<TableOutput>();
+        foreach (var item in entityInfos)
+        {
+            var table = dbTableInfos.FirstOrDefault(u => u.Name.ToLower() == (config.DbSettings.EnableUnderLine ? UtilMethods.ToUnderLine(item.DbTableName) : item.DbTableName).ToLower());
+            if (table != null)
+            {
+                tableOutputList.Add(new TableOutput
+                {
+                    ConfigId = configId,
+                    EntityName = item.EntityName,
+                    TableName = table.Name,
+                    TableComment = item.TableDescription
+                });
+            }
+            else
+            {//澧炲姞瑙嗗浘 銆怑ditby shaocx,2024-05-15銆�
+                var view = dbViewInfos.FirstOrDefault(u => u.Name.ToLower() == (config.DbSettings.EnableUnderLine ? UtilMethods.ToUnderLine(item.DbTableName) : item.DbTableName).ToLower());
+                if (view != null)
+                {
+                    tableOutputList.Add(new TableOutput
+                    {
+                        ConfigId = configId,
+                        EntityName = item.EntityName,
+                        TableName = view.Name,
+                        TableComment = item.TableDescription
+                    });
+                }
+            }
+        }
+        return tableOutputList;
+    }
+
+    /// <summary>
+    /// 鏍规嵁琛ㄥ悕鑾峰彇鍒楅泦鍚� 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鏍规嵁琛ㄥ悕鑾峰彇鍒楅泦鍚�")]
+    public List<ColumnOuput> GetColumnListByTableName([Required] string tableName, string configId = SqlSugarConst.MainConfigId)
+    {
+        // 鍒囧簱---澶氬簱浠g爜鐢熸垚鐢�
+        var provider = _db.AsTenant().GetConnectionScope(configId);
+
+        var config = App.GetOptions<DbConnectionOptions>().ConnectionConfigs.FirstOrDefault(u => u.ConfigId.ToString() == configId);
+        // 鑾峰彇瀹炰綋绫诲瀷灞炴��
+        var entityType = provider.DbMaintenance.GetTableInfoList(false).FirstOrDefault(u => u.Name == tableName);
+        if (entityType == null) return null;
+        var entityBasePropertyNames = _codeGenOptions.EntityBaseColumn[nameof(EntityTenant)];
+        // 鎸夊師濮嬬被鍨嬬殑椤哄簭鑾峰彇鎵�鏈夊疄浣撶被鍨嬪睘鎬э紙涓嶅寘鍚鑸睘鎬э紝浼氳繑鍥瀗ull锛�
+        return provider.DbMaintenance.GetColumnInfosByTableName(entityType.Name).Select(u => new ColumnOuput
+        {
+            ColumnName = config.DbSettings.EnableUnderLine ? CodeGenUtil.CamelColumnName(u.DbColumnName, entityBasePropertyNames) : u.DbColumnName,
+            ColumnKey = u.IsPrimarykey.ToString(),
+            DataType = u.DataType.ToString(),
+            NetType = CodeGenUtil.ConvertDataType(u, provider.CurrentConnectionConfig.DbType),
+            ColumnComment = u.ColumnDescription
+        }).ToList();
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏁版嵁琛ㄥ垪锛堝疄浣撳睘鎬э級闆嗗悎
+    /// </summary>
+    /// <returns></returns>
+    private List<ColumnOuput> GetColumnList([FromQuery] AddCodeGenInput input)
+    {
+        var entityType = GetEntityInfos().GetAwaiter().GetResult().FirstOrDefault(u => u.EntityName == input.TableName);
+        if (entityType == null)
+            return null;
+        var config = App.GetOptions<DbConnectionOptions>().ConnectionConfigs.FirstOrDefault(u => u.ConfigId.ToString() == input.ConfigId);
+        var dbTableName = config.DbSettings.EnableUnderLine ? UtilMethods.ToUnderLine(entityType.DbTableName) : entityType.DbTableName;
+
+        // 鍒囧簱---澶氬簱浠g爜鐢熸垚鐢�
+        var provider = _db.AsTenant().GetConnectionScope(!string.IsNullOrEmpty(input.ConfigId) ? input.ConfigId : SqlSugarConst.MainConfigId);
+
+        var entityBasePropertyNames = _codeGenOptions.EntityBaseColumn[nameof(EntityTenant)];
+        var columnInfos = provider.DbMaintenance.GetColumnInfosByTableName(dbTableName, false);
+        var result = columnInfos.Select(u => new ColumnOuput
+        {
+            // 杞笅鍒掔嚎鍚庣殑鍒楀悕闇�瑕佸啀杞洖鏉ワ紙鏆傛椂涓嶈浆锛�
+            //ColumnName = config.DbSettings.EnableUnderLine ? CodeGenUtil.CamelColumnName(u.DbColumnName, entityBasePropertyNames) : u.DbColumnName,
+            ColumnName = u.DbColumnName,
+            ColumnLength = u.Length,
+            IsPrimarykey = u.IsPrimarykey,
+            IsNullable = u.IsNullable,
+            ColumnKey = u.IsPrimarykey.ToString(),
+            NetType = CodeGenUtil.ConvertDataType(u, provider.CurrentConnectionConfig.DbType),
+            DataType = CodeGenUtil.ConvertDataType(u, provider.CurrentConnectionConfig.DbType),
+            ColumnComment = string.IsNullOrWhiteSpace(u.ColumnDescription) ? u.DbColumnName : u.ColumnDescription
+        }).ToList();
+
+        // 鑾峰彇瀹炰綋鐨勫睘鎬т俊鎭紝璧嬪�肩粰PropertyName灞炴��(CodeFirst妯″紡搴斾互PropertyName涓哄疄闄呬娇鐢ㄥ悕绉�)
+        var entityProperties = entityType.Type.GetProperties();
+
+        for (int i = result.Count - 1; i >= 0; i--)
+        {
+            var columnOutput = result[i];
+            // 鍏堟壘鑷畾涔夊瓧娈靛悕鐨勶紝濡傛灉鎵句笉鍒板氨鍐嶆壘鑷姩鐢熸垚瀛楁鍚嶇殑(骞朵笖杩囨护鎺夋病鏈塖ugarColumn鐨勫睘鎬�)
+            var propertyInfo = entityProperties.FirstOrDefault(p => (p.GetCustomAttribute<SugarColumn>()?.ColumnName ?? "").ToLower() == columnOutput.ColumnName.ToLower()) ??
+                entityProperties.FirstOrDefault(p => p.GetCustomAttribute<SugarColumn>() != null && p.Name.ToLower() == (config.DbSettings.EnableUnderLine
+                ? CodeGenUtil.CamelColumnName(columnOutput.ColumnName, entityBasePropertyNames).ToLower()
+                : columnOutput.ColumnName.ToLower()));
+            if (propertyInfo != null)
+            {
+                columnOutput.PropertyName = propertyInfo.Name;
+                columnOutput.ColumnComment = propertyInfo.GetCustomAttribute<SugarColumn>().ColumnDescription;
+                //淇敼璧嬪�肩被鍨� 銆怑ditby shaocx,2024-05-10銆�
+                columnOutput.NetType = propertyInfo.PropertyType.ToString();
+                //鍒ゆ柇鏄惁鏄灇涓剧被鍨� 銆怑ditby shaocx,2024-05-10銆�
+                if (propertyInfo.PropertyType.IsEnum || propertyInfo.PropertyType.FullName.IndexOf("Enum") > -1)
+                {
+                    columnOutput.IsEnum = true;
+                }
+            }
+            else
+            {
+                result.RemoveAt(i); // 绉婚櫎娌℃湁瀹氫箟姝ゅ睘鎬х殑瀛楁
+            }
+        }
+        return result;
+    }
+
+    /// <summary>
+    /// 鑾峰彇搴撹〃淇℃伅
+    /// </summary>
+    /// <returns></returns>
+    private async Task<IEnumerable<EntityInfo>> GetEntityInfos()
+    {
+        var entityInfos = new List<EntityInfo>();
+
+        var type = typeof(SugarTable);
+        var type_view = typeof(MySugarTableViewAttribute);//澧炲姞瑙嗗浘 銆怑ditby shaocx,2024-05-15銆�
+        var types = new List<Type>();
+        if (_codeGenOptions.EntityAssemblyNames != null)
+        {
+            foreach (var assemblyName in _codeGenOptions.EntityAssemblyNames)
+            {
+                Assembly asm = Assembly.Load(assemblyName);
+                types.AddRange(asm.GetExportedTypes().ToList());
+            }
+        }
+        bool IsMyAttribute(Attribute[] o)
+        {
+            foreach (Attribute a in o)
+            {
+                if (a.GetType() == type || a.GetType() == type_view)
+                    return true;
+            }
+            return false;
+        }
+        Type[] cosType = types.Where(o =>
+        {
+            return IsMyAttribute(Attribute.GetCustomAttributes(o, true));
+        }
+        ).ToArray();
+
+        var _TableName = "";
+        var _TableDescription = "";
+        foreach (var c in cosType)
+        {
+            var sugarAttribute = c.GetCustomAttributes(type, true)?.FirstOrDefault();
+
+            if (sugarAttribute == null)
+            {//澧炲姞瑙嗗浘 銆怑ditby shaocx,2024-05-15銆�
+                sugarAttribute = c.GetCustomAttributes(type_view, true)?.FirstOrDefault();
+                _TableName = ((MySugarTableViewAttribute)sugarAttribute).TableName;
+                _TableDescription = ((MySugarTableViewAttribute)sugarAttribute).TableDescription;
+            }
+            else
+            {
+                _TableName = ((SugarTable)sugarAttribute).TableName;
+                _TableDescription = ((SugarTable)sugarAttribute).TableDescription;
+            }
+
+
+            var des = c.GetCustomAttributes(typeof(DescriptionAttribute), true);
+            var description = "";
+            if (des.Length > 0)
+            {
+                description = ((DescriptionAttribute)des[0]).Description;
+            }
+            entityInfos.Add(new EntityInfo()
+            {
+                EntityName = c.Name,
+                DbTableName = sugarAttribute == null ? c.Name : _TableName,
+                TableDescription = sugarAttribute == null ? description : _TableDescription,
+                Type = c
+            });
+        }
+        return await Task.FromResult(entityInfos);
+    }
+
+    /// <summary>
+    /// 鑾峰彇绋嬪簭淇濆瓨浣嶇疆 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇绋嬪簭淇濆瓨浣嶇疆")]
+    public List<string> GetApplicationNamespaces()
+    {
+        return _codeGenOptions.BackendApplicationNamespaces;
+    }
+
+    /// <summary>
+    /// 浠g爜鐢熸垚鍒版湰鍦� 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("浠g爜鐢熸垚鍒版湰鍦�")]
+    public async Task<dynamic> RunLocal(SysCodeGen input)
+    {
+        if (string.IsNullOrEmpty(input.GenerateType))
+            input.GenerateType = "200";
+
+        // 鍏堝垹闄よ琛ㄥ凡鐢熸垚鐨勮彍鍗曞垪琛�
+        var templatePathList = GetTemplatePathList(input);
+        List<string> targetPathList;
+        var zipPath = Path.Combine(App.WebHostEnvironment.WebRootPath, "CodeGen", input.TableName);
+        if (input.GenerateType.StartsWith('1'))
+        {
+            targetPathList = GetZipPathList(input);
+            if (Directory.Exists(zipPath))
+                Directory.Delete(zipPath, true);
+        }
+        else
+            targetPathList = GetTargetPathList(input);
+
+        var tableFieldList = await _codeGenConfigService.GetList(new CodeGenConfig() { CodeGenId = input.Id }); // 瀛楁闆嗗悎
+        var queryWhetherList = tableFieldList.Where(u => u.QueryWhether == YesNoEnum.Y.ToString()).ToList(); // 鍓嶇鏌ヨ闆嗗悎
+        var joinTableList = tableFieldList.Where(u => u.EffectType == "Upload" || u.EffectType == "fk" || u.EffectType == "ApiTreeSelect").ToList(); // 闇�瑕佽繛琛ㄦ煡璇㈢殑瀛楁
+        (string joinTableNames, string lowerJoinTableNames) = GetJoinTableStr(joinTableList); // 鑾峰彇杩炶〃鐨勫疄浣撳悕鍜屽埆鍚�
+
+        if (input.GenerateType.StartsWith('2'))
+        {
+            CodeGenUtil.ValidateCodeGenConfig(tableFieldList);
+        }
+
+        //澶勭悊鍙┖绫诲瀷 銆怑ditby shaocx,2024-04-07銆�
+        tableFieldList.ForEach(u =>
+        {
+            u.NetTypeIsNullLableForQueryInput = "?";
+            u.NetTypeIsNullLableForAddEditOutParam = "";
+            switch (u.NetType.ToLower())
+            {
+                case "int":
+                case "int32":
+                case "long":
+                case "guid":
+                case "decimal":
+                case "datetime":
+                case "datetimeoffset":
+                case "bool": //澧炲姞甯冨皵绫诲瀷鐨勬潯浠� 銆怑ditby shaocx,2024-04-07銆�
+                    u.NetTypeIsNullLable = "?";
+                    if (u.WhetherRequired != "Y")
+                    {
+                        u.NetTypeIsNullLableForAddEditOutParam = "?";
+                    }
+                    break;
+                case "string":
+                    u.NetTypeIsNullLableForQueryInput = "";
+                    break;
+                default://鍏朵粬锛屾瘮濡傛灇涓� 銆怑ditby shaocx,2024-04-07銆�
+                    if (u.WhetherRequired != "Y")
+                    {
+                        u.NetTypeIsNullLableForAddEditOutParam = "?";
+                    }
+                    break;
+            }
+            //u.OriginalColumnName = u.ColumnName;
+        });
+
+
+        //鑾峰彇瀵煎叆鍔熻兘鑷畾涔夋ā鏉夸唬鐮�
+        StringBuilder templateContent = null;
+        templateContent = CreateImportExcelTemplteCode(input, tableFieldList);
+
+        var data = new CustomViewEngine(_db)
+        {
+            ConfigId = input.ConfigId,
+            AuthorName = input.AuthorName,
+            BusName = input.BusName,
+            NameSpace = input.NameSpace,
+            ClassName = input.TableName,
+            ModuleName = input.ModuleName,
+            Buttons = input.Buttons,
+            ImportExcelCustomizationContent = templateContent.ToString(),
+            ProjectLastName = input.NameSpace.Split('.').Last(),
+            QueryWhetherList = queryWhetherList,
+            TableField = tableFieldList,
+            IsJoinTable = joinTableList.Count > 0,
+            IsUpload = joinTableList.Where(u => u.EffectType == "Upload").Any(),
+            PrintType = input.PrintType,
+            PrintName = input.PrintName,
+            TableType = input.TableType,
+            KeyQueryStr = string.Join(",", tableFieldList.Where(x => x.WhetherKeyQuery == "Y").Select(x => x.ColumnComment).ToList())
+        };
+
+        for (var i = 0; i < templatePathList.Count; i++)
+        {
+            if (data.TableType == "瑙嗗浘" && templatePathList[i].IndexOf("editDialog.vue.vm") > -1) continue;
+
+            if (!File.Exists(templatePathList[i])) continue;
+            var tContent = File.ReadAllText(templatePathList[i]);
+            var tResult = await _viewEngine.RunCompileFromCachedAsync(tContent, data, builderAction: builder =>
+            {
+                builder.AddAssemblyReferenceByName("System.Linq");
+                builder.AddAssemblyReferenceByName("System.Collections");
+                builder.AddUsing("System.Collections.Generic");
+                builder.AddUsing("System.Linq");
+            });
+            var dirPath = new DirectoryInfo(targetPathList[i]).Parent.FullName;
+            if (!Directory.Exists(dirPath))
+                Directory.CreateDirectory(dirPath);
+            File.WriteAllText(targetPathList[i], tResult, Encoding.UTF8);
+        }
+
+        if (!string.IsNullOrEmpty(input.Buttons))
+        {//濡傛灉娌℃湁浠讳綍鎸夐挳锛屽氨涓嶇敓鎴愯彍鍗� 銆怑ditby shaocx,2024-07-31銆�
+            await AddMenu(input, input.TableName, input.BusName, input.MenuPid, tableFieldList, input.ModuleName);
+        }
+
+        if (input.Buttons.Contains("瀵煎叆"))
+        {
+            //鍒涘缓瀵煎叆妯$増
+            await CreateImportTemplte(input);
+        }
+
+        // 闈瀂IP鍘嬬缉杩斿洖绌�
+        if (!input.GenerateType.StartsWith('1'))
+            return null;
+        else
+        {
+            string downloadPath = zipPath + ".zip";
+            // 鍒ゆ柇鏄惁瀛樺湪鍚屽悕绉版枃浠�
+            if (File.Exists(downloadPath))
+                File.Delete(downloadPath);
+            ZipFile.CreateFromDirectory(zipPath, downloadPath);
+            return new { url = $"{App.HttpContext.Request.Scheme}://{App.HttpContext.Request.Host.Value}/CodeGen/{input.TableName}.zip" };
+        }
+    }
+
+    /// <summary>
+    /// 鑾峰彇杩炶〃鐨勫疄浣撳悕鍜屽埆鍚�
+    /// </summary>
+    /// <param name="configs"></param>
+    /// <returns></returns>
+    private static (string, string) GetJoinTableStr(List<CodeGenConfig> configs)
+    {
+        var uploads = configs.Where(u => u.EffectType == "Upload").ToList();
+        var fks = configs.Where(u => u.EffectType == "fk").ToList();
+        string str = ""; // <Order, OrderItem, Custom>
+        string lowerStr = ""; // (o, i, c)
+        foreach (var item in uploads)
+        {
+            lowerStr += "sysFile_FK_" + item.LowerPropertyName + ",";
+            str += "SysFile,";
+        }
+        foreach (var item in fks)
+        {
+            lowerStr += item.LowerFkEntityName + "_FK_" + item.LowerFkColumnName + ",";
+            str += item.FkEntityName + ",";
+        }
+        return (str.TrimEnd(','), lowerStr.TrimEnd(','));
+    }
+
+    /// <summary>
+    /// 澧炲姞鑿滃崟
+    /// </summary>
+    /// <param name="input"></param>
+    /// <param name="className"></param>
+    /// <param name="busName"></param>
+    /// <param name="pid"></param>
+    /// <param name="tableFieldList"></param>
+    /// <param name="moduleName"></param>
+    /// <returns></returns>
+    private async Task AddMenu(SysCodeGen input, string className, string busName, long pid, List<CodeGenConfig> tableFieldList, string moduleName)
+    {
+        var pPath = string.Empty;
+        // 鑻� pid=0 涓洪《绾у垯鍒涘缓鑿滃崟鐩綍
+        if (pid == 0)
+        {
+            // 鐩綍
+            var menuType0 = new SysMenu
+            {
+                Pid = 0,
+                Title = busName,
+                Type = MenuTypeEnum.Dir,
+                Icon = "robot",
+                Path = "/" + className.ToLower(),
+                Component = "Layout",
+            };
+            // 鑻ュ厛鍓嶅瓨鍦ㄥ垯鍒犻櫎鏈骇鍜屼笅绾�
+            var menuList0 = await _db.Queryable<SysMenu>().Where(u => u.Title == menuType0.Title && u.Type == menuType0.Type).ToListAsync();
+            if (menuList0.Count > 0)
+            {
+                var listIds = menuList0.Select(u => u.Id).ToList();
+                var childlistIds = new List<long>();
+                foreach (var item in listIds)
+                {
+                    var childlist = await _db.Queryable<SysMenu>().ToChildListAsync(u => u.Pid, item);
+                    childlistIds.AddRange(childlist.Select(u => u.Id).ToList());
+                }
+                listIds.AddRange(childlistIds);
+                await _db.Deleteable<SysMenu>().Where(u => listIds.Contains(u.Id)).ExecuteCommandAsync();
+                await _db.Deleteable<SysRoleMenu>().Where(u => listIds.Contains(u.MenuId)).ExecuteCommandAsync();
+            }
+            pid = (await _db.Insertable(menuType0).ExecuteReturnEntityAsync()).Id;
+        }
+        else
+        {
+            var pMenu = await _db.Queryable<SysMenu>().FirstAsync(u => u.Id == pid) ?? throw Oops.Oh(ErrorCodeEnum.D1505);
+            pPath = pMenu.Path;
+        }
+
+        // 鑿滃崟
+        var menuType1 = new SysMenu
+        {
+            Pid = pid,
+            Title = busName,
+            Name = className[..1].ToLower() + className[1..],
+            Type = MenuTypeEnum.Menu,
+            Path = pPath + "/" + className.ToLower(),
+            Component = "/main/" + moduleName + @"/" + className[..1].ToLower() + className[1..] + "/index",
+        };
+        // 鑻ュ厛鍓嶅瓨鍦ㄥ垯鍒犻櫎鏈骇鍜屼笅绾�
+        var menuList1 = await _db.Queryable<SysMenu>().Where(u => u.Title == menuType1.Title && u.Type == menuType1.Type).ToListAsync();
+        if (menuList1.Count > 0)
+        {
+            var listIds = menuList1.Select(u => u.Id).ToList();
+            var childlistIds = new List<long>();
+            foreach (var item in listIds)
+            {
+                var childlist = await _db.Queryable<SysMenu>().ToChildListAsync(u => u.Pid, item);
+                childlistIds.AddRange(childlist.Select(u => u.Id).ToList());
+            }
+            listIds.AddRange(childlistIds);
+            await _db.Deleteable<SysMenu>().Where(u => listIds.Contains(u.Id)).ExecuteCommandAsync();
+            await _db.Deleteable<SysRoleMenu>().Where(u => listIds.Contains(u.MenuId)).ExecuteCommandAsync();
+        }
+
+        var pid1 = (await _db.Insertable(menuType1).ExecuteReturnEntityAsync()).Id;
+        int menuOrder = 100;
+
+        var menuList = new List<SysMenu>();
+
+        if (input.Buttons.Contains("鏌ヨ"))
+        {
+            // 鎸夐挳-page
+            var menuType2 = new SysMenu
+            {
+                Pid = pid1,
+                Title = "鏌ヨ",
+                Type = MenuTypeEnum.Btn,
+                Permission = className[..1].ToLower() + className[1..] + ":page",
+                OrderNo = menuOrder
+            };
+            menuOrder += 10;
+            menuList.Add(menuType2);
+        }
+
+        if (input.Buttons.Contains("璇︽儏"))
+        {
+            // 鎸夐挳-detail
+            var menuType2_1 = new SysMenu
+            {
+                Pid = pid1,
+                Title = "璇︽儏",
+                Type = MenuTypeEnum.Btn,
+                Permission = className[..1].ToLower() + className[1..] + ":detail",
+                OrderNo = menuOrder
+            };
+            menuOrder += 10;
+            menuList.Add(menuType2_1);
+        }
+
+        if (input.Buttons.Contains("鏂板"))
+        {
+            // 鎸夐挳-add
+            var menuType2_2 = new SysMenu
+            {
+                Pid = pid1,
+                Title = "鏂板",
+                Type = MenuTypeEnum.Btn,
+                Permission = className[..1].ToLower() + className[1..] + ":add",
+                OrderNo = menuOrder
+            };
+            menuOrder += 10;
+            menuList.Add(menuType2_2);
+        }
+
+        if (input.Buttons.Contains("鍒犻櫎"))
+        {
+            // 鎸夐挳-delete
+            var menuType2_3 = new SysMenu
+            {
+                Pid = pid1,
+                Title = "鍒犻櫎",
+                Type = MenuTypeEnum.Btn,
+                Permission = className[..1].ToLower() + className[1..] + ":delete",
+                OrderNo = menuOrder
+            };
+            menuOrder += 10;
+            menuList.Add(menuType2_3);
+        }
+
+        if (input.Buttons.Contains("缂栬緫"))
+        {
+            // 鎸夐挳-update
+            var menuType2_4 = new SysMenu
+            {
+                Pid = pid1,
+                Title = "缂栬緫",
+                Type = MenuTypeEnum.Btn,
+                Permission = className[..1].ToLower() + className[1..] + ":update",
+                OrderNo = menuOrder
+            };
+            menuOrder += 10;
+            menuList.Add(menuType2_4);
+        }
+
+        if (input.Buttons.Contains("瀵煎叆"))
+        {
+            // 鎸夐挳-import  銆怑ditby shaocx,2024-05-27銆�
+            var menuType2_5 = new SysMenu
+            {
+                Pid = pid1,
+                Title = "瀵煎叆",
+                Type = MenuTypeEnum.Btn,
+                Permission = className[..1].ToLower() + className[1..] + ":importExcel",
+                OrderNo = menuOrder
+            };
+            menuOrder += 10;
+            menuList.Add(menuType2_5);
+        }
+
+        if (input.Buttons.Contains("瀵煎嚭"))
+        {
+            // 鎸夐挳-import  銆怑ditby shaocx,2024-05-27銆�
+            var menuType2_6 = new SysMenu
+            {
+                Pid = pid1,
+                Title = "瀵煎嚭",
+                Type = MenuTypeEnum.Btn,
+                Permission = className[..1].ToLower() + className[1..] + ":exportExcel",
+                OrderNo = menuOrder
+            };
+            menuOrder += 10;
+            menuList.Add(menuType2_6);
+        }
+
+
+        // 鍔犲叆fk銆乁pload銆丄piTreeSelect 绛夋帴鍙g殑鏉冮檺
+        // 鍦ㄧ敓鎴愯〃鏍兼椂锛屾湁浜涘瓧娈靛彧鏄煡璇㈡椂鏄剧ず锛屼笉闇�瑕佸~鍐欙紙WhetherAddUpdate锛夛紝鎵�浠ヨ繖浜涘瓧娈垫病蹇呰鐢熸垚鐩稿簲鎺ュ彛
+        var fkTableList = tableFieldList.Where(u => u.EffectType == "fk" && (u.WhetherAddUpdate == "Y" || u.QueryWhether == "Y")).ToList();
+        foreach (var @column in fkTableList)
+        {
+            var menuType = new SysMenu
+            {
+                Pid = pid1,
+                Title = "澶栭敭" + @column.ColumnName,
+                Type = MenuTypeEnum.Btn,
+                Permission = className[..1].ToLower() + className[1..] + ":" + column.FkEntityName + column.ColumnName + "Dropdown",
+                OrderNo = menuOrder
+            };
+            menuOrder += 10;
+            menuList.Add(menuType);
+        }
+        var treeSelectTableList = tableFieldList.Where(u => u.EffectType == "ApiTreeSelect").ToList();
+        foreach (var @column in treeSelectTableList)
+        {
+            var menuType = new SysMenu
+            {
+                Pid = pid1,
+                Title = "鏍戝瀷" + @column.ColumnName,
+                Type = MenuTypeEnum.Btn,
+                Permission = className[..1].ToLower() + className[1..] + ":" + column.FkEntityName + "Tree",
+                OrderNo = menuOrder
+            };
+            menuOrder += 10;
+            menuList.Add(menuType);
+        }
+        var uploadTableList = tableFieldList.Where(u => u.EffectType == "Upload").ToList();
+        foreach (var @column in uploadTableList)
+        {
+            var menuType = new SysMenu
+            {
+                Pid = pid1,
+                Title = "涓婁紶" + @column.ColumnName,
+                Type = MenuTypeEnum.Btn,
+                Permission = className[..1].ToLower() + className[1..] + ":Upload" + column.ColumnName,
+                OrderNo = menuOrder
+            };
+            menuOrder += 10;
+            menuList.Add(menuType);
+        }
+        await _db.Insertable(menuList).ExecuteCommandAsync();
+    }
+
+
+
+    /// <summary>
+    /// 鑾峰彇妯℃澘鏂囦欢璺緞闆嗗悎
+    /// </summary>
+    /// <returns></returns>
+    private static List<string> GetTemplatePathList(SysCodeGen input)
+    {
+        var templatePath = Path.Combine(App.WebHostEnvironment.WebRootPath, "Template");
+        if (input.GenerateType.Substring(1, 1).Contains('1'))
+        {
+            return new List<string>()
+            {
+                Path.Combine(templatePath , "index.vue.vm"),
+                Path.Combine(templatePath , "editDialog.vue.vm"),
+                Path.Combine(templatePath , "manage.js.vm"),
+            };
+        }
+        else if (input.GenerateType.Substring(1, 1).Contains('2'))
+        {
+            return new List<string>()
+            {
+                Path.Combine(templatePath , "Service.cs.vm"),
+                Path.Combine(templatePath , "Input.cs.vm"),
+                Path.Combine(templatePath , "Output.cs.vm"),
+                //涓嶅啀鐢熸垚Dto.cs鏂囦欢,杩欎釜鏂囦欢娌″湴鏂圭敤鍒� 銆怑ditby shaocx,2024-05-22銆�
+                //Path.Combine(templatePath , "Dto.cs.vm"),
+            };
+        }
+        else
+        {
+            return new List<string>()
+            {
+                Path.Combine(templatePath , "Service.cs.vm"),
+                Path.Combine(templatePath , "Input.cs.vm"),
+                Path.Combine(templatePath , "Output.cs.vm"),
+                //涓嶅啀鐢熸垚Dto.cs鏂囦欢,杩欎釜鏂囦欢娌″湴鏂圭敤鍒� 銆怑ditby shaocx,2024-05-22銆�
+                //Path.Combine(templatePath , "Dto.cs.vm"),
+                Path.Combine(templatePath , "index.vue.vm"),
+                Path.Combine(templatePath , "editDialog.vue.vm"),
+                Path.Combine(templatePath , "manage.js.vm"),
+            };
+        }
+    }
+
+    /// <summary>
+    /// 鑾峰彇妯℃澘鏂囦欢璺緞闆嗗悎
+    /// </summary>
+    /// <returns></returns>
+    private static List<string> GetTemplatePathList()
+    {
+        var templatePath = Path.Combine(App.WebHostEnvironment.WebRootPath, "Template");
+        return new List<string>()
+        {
+            Path.Combine(templatePath , "Service.cs.vm"),
+            Path.Combine(templatePath , "Input.cs.vm"),
+            Path.Combine(templatePath , "Output.cs.vm"),
+            //涓嶅啀鐢熸垚Dto.cs鏂囦欢,杩欎釜鏂囦欢娌″湴鏂圭敤鍒� 銆怑ditby shaocx,2024-05-22銆�
+            //Path.Combine(templatePath , "Dto.cs.vm"),
+            Path.Combine(templatePath , "index.vue.vm"),
+            Path.Combine(templatePath , "editDialog.vue.vm"),
+            Path.Combine(templatePath , "manage.js.vm"),
+        };
+    }
+
+    /// <summary>
+    /// 璁剧疆鐢熸垚鏂囦欢璺緞
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private List<string> GetTargetPathList(SysCodeGen input)
+    {
+        //var backendPath = Path.Combine(new DirectoryInfo(App.WebHostEnvironment.ContentRootPath).Parent.FullName, _codeGenOptions.BackendApplicationNamespace, "Service", input.TableName);
+        var backendPath = Path.Combine(new DirectoryInfo(App.WebHostEnvironment.ContentRootPath).Parent.FullName, input.NameSpace, "Service", input.ModuleName, input.TableName);
+        var servicePath = Path.Combine(backendPath, input.TableName + "Service.cs");
+        var inputPath = Path.Combine(backendPath, "Dto", input.TableName + "Input.cs");
+        var outputPath = Path.Combine(backendPath, "Dto", input.TableName + "Output.cs");
+        //涓嶅啀鐢熸垚Dto.cs鏂囦欢,杩欎釜鏂囦欢娌″湴鏂圭敤鍒� 銆怑ditby shaocx,2024-05-22銆�
+        //var viewPath = Path.Combine(backendPath, "Dto", input.TableName + "Dto.cs");
+        var frontendPath = Path.Combine(new DirectoryInfo(App.WebHostEnvironment.ContentRootPath).Parent.Parent.FullName, _codeGenOptions.FrontRootPath, "src", "views", "main", input.ModuleName);
+        var indexPath = Path.Combine(frontendPath, input.TableName[..1].ToLower() + input.TableName[1..], "index.vue");//
+        var formModalPath = Path.Combine(frontendPath, input.TableName[..1].ToLower() + input.TableName[1..], "component", "editDialog.vue");
+        var apiJsPath = Path.Combine(new DirectoryInfo(App.WebHostEnvironment.ContentRootPath).Parent.Parent.FullName, _codeGenOptions.FrontRootPath, "src", "api", "main", input.ModuleName, input.TableName[..1].ToLower() + input.TableName[1..] + ".ts");
+
+        if (input.GenerateType.Substring(1, 1).Contains('1'))
+        {
+            // 鐢熸垚鍒版湰椤圭洰(鍓嶇)
+            return new List<string>()
+            {
+                indexPath,
+                formModalPath,
+                apiJsPath
+            };
+        }
+        else if (input.GenerateType.Substring(1, 1).Contains('2'))
+        {
+            // 鐢熸垚鍒版湰椤圭洰(鍚庣)
+            return new List<string>()
+            {
+                servicePath,
+                inputPath,
+                outputPath,
+                //涓嶅啀鐢熸垚Dto.cs鏂囦欢,杩欎釜鏂囦欢娌″湴鏂圭敤鍒� 銆怑ditby shaocx,2024-05-22銆�
+                //viewPath,
+            };
+        }
+        else
+        {
+            // 鍓嶅悗绔悓鏃剁敓鎴愬埌鏈」鐩�
+            return new List<string>()
+            {
+                servicePath,
+                inputPath,
+                outputPath,
+                //涓嶅啀鐢熸垚Dto.cs鏂囦欢,杩欎釜鏂囦欢娌″湴鏂圭敤鍒� 銆怑ditby shaocx,2024-05-22銆�
+                //viewPath,
+                indexPath,
+                formModalPath,
+                apiJsPath
+            };
+        }
+    }
+
+    /// <summary>
+    /// 璁剧疆鐢熸垚鏂囦欢璺緞
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private List<string> GetZipPathList(SysCodeGen input)
+    {
+        var zipPath = Path.Combine(App.WebHostEnvironment.WebRootPath, "CodeGen", input.TableName);
+
+        //var backendPath = Path.Combine(zipPath, _codeGenOptions.BackendApplicationNamespace, "Service", input.TableName);
+        var backendPath = Path.Combine(zipPath, input.NameSpace, "Service", input.TableName);
+        var servicePath = Path.Combine(backendPath, input.TableName + "Service.cs");
+        var inputPath = Path.Combine(backendPath, "Dto", input.TableName + "Input.cs");
+        var outputPath = Path.Combine(backendPath, "Dto", input.TableName + "Output.cs");
+        //涓嶅啀鐢熸垚Dto.cs鏂囦欢,杩欎釜鏂囦欢娌″湴鏂圭敤鍒� 銆怑ditby shaocx,2024-05-22銆�
+        //var viewPath = Path.Combine(backendPath, "Dto", input.TableName + "Dto.cs");
+        var frontendPath = Path.Combine(zipPath, _codeGenOptions.FrontRootPath, "src", "views", "main");
+        var indexPath = Path.Combine(frontendPath, input.TableName[..1].ToLower() + input.TableName[1..], "index.vue");
+        var formModalPath = Path.Combine(frontendPath, input.TableName[..1].ToLower() + input.TableName[1..], "component", "editDialog.vue");
+        var apiJsPath = Path.Combine(zipPath, _codeGenOptions.FrontRootPath, "src", "api", "main", input.TableName[..1].ToLower() + input.TableName[1..] + ".ts");
+        if (input.GenerateType.StartsWith("11"))
+        {
+            return new List<string>()
+            {
+                indexPath,
+                formModalPath,
+                apiJsPath
+            };
+        }
+        else if (input.GenerateType.StartsWith("12"))
+        {
+            return new List<string>()
+            {
+                servicePath,
+                inputPath,
+                outputPath,
+                //涓嶅啀鐢熸垚Dto.cs鏂囦欢,杩欎釜鏂囦欢娌″湴鏂圭敤鍒� 銆怑ditby shaocx,2024-05-22銆�
+                //viewPath
+            };
+        }
+        else
+        {
+            return new List<string>()
+            {
+                servicePath,
+                inputPath,
+                outputPath,
+                //涓嶅啀鐢熸垚Dto.cs鏂囦欢,杩欎釜鏂囦欢娌″湴鏂圭敤鍒� 銆怑ditby shaocx,2024-05-22銆�
+                //viewPath,
+                indexPath,
+                formModalPath,
+                apiJsPath
+            };
+        }
+    }
+
+    #region 瀵煎叆鐩稿叧
+
+    //update by liuwq 20240418
+    /// <summary>
+    /// 鍒涘缓瀵煎叆鍔熻兘鑷畾涔夋ā鏉夸唬鐮� 
+    /// </summary>
+    /// <param name="input"></param>
+    /// <param name="tableFieldList"></param>
+    /// <returns></returns>
+    private static StringBuilder CreateImportExcelTemplteCode(SysCodeGen input, List<CodeGenConfig> tableFieldList)
+    {
+        StringBuilder templateContent = new StringBuilder();
+        var whetherAddUpdate = tableFieldList.Where(u => u.WhetherAddUpdate == YesNoEnum.Y.ToString()).ToList(); // 鍓嶇鏌ヨ澧炴敼闆嗗悎
+        templateContent.AppendLine("                          ");
+        templateContent.AppendLine($"                           var addItem = new {input.TableName}();");
+        //templateContent.AppendLine($"                           var addItem = new {input.TableName}()");
+        //templateContent.AppendLine("                            {");
+        //templateContent.AppendLine("                               CreatedTime = SysHelper.GetNowTime(),");
+        //templateContent.AppendLine("                               CreatedUserId = SysHelper.GetUserId(),");
+        //templateContent.AppendLine("                               CreatedUserName = SysHelper.GetUserName(),");
+        //templateContent.AppendLine("                               UpdatedTime = SysHelper.GetNowTime(),");
+        //templateContent.AppendLine("                               UpdatedUserId = SysHelper.GetUserId(),");
+        //templateContent.AppendLine("                               UpdatedUserName = SysHelper.GetUserName()");
+        //templateContent.AppendLine("                             };");
+
+
+        templateContent.AppendLine("                          #region 瀹氫箟鍙橀噺");
+        foreach (var item in whetherAddUpdate)
+        {
+            templateContent.AppendLine($"                           var _{item.ColumnName} = \"\";//{item.ColumnComment}");
+        }
+
+        templateContent.AppendLine("                          #endregion");
+        templateContent.AppendLine("                          ");
+
+        templateContent.AppendLine("                          ");
+        templateContent.AppendLine("                          #region 鍙栧��");
+        foreach (var item in whetherAddUpdate)
+        {
+            templateContent.AppendLine($"                           _{item.ColumnName} = row[\"{item.ColumnComment}\"]?.ToString() ;");
+        }
+
+        templateContent.AppendLine("                          #endregion");
+        templateContent.AppendLine("                          ");
+
+        templateContent.AppendLine("                          ");
+        templateContent.AppendLine("                          #region 楠岃瘉");
+
+        //鏁板�肩被鍨嬮獙璇�
+        List<string> numericalTypeList = new List<string>()
+            {
+                "int",
+                "long",
+                "decimal"
+            };
+
+
+
+        foreach (var item in whetherAddUpdate)
+        {
+
+
+            //蹇呭~瀛楁楠岃瘉鏄惁涓虹┖
+            if (item.WhetherRequired.Equals("Y"))
+            {
+                templateContent.AppendLine("                          ");
+                templateContent.AppendLine($"                          if (string.IsNullOrEmpty(_{item.ColumnName}))");
+                templateContent.AppendLine("                          {");
+                templateContent.AppendLine($"                            throw Oops.Oh($\"绗瑊{index}}琛孾{item.ColumnComment}]{{_{item.ColumnName}}}涓嶈兘涓虹┖锛乗");");
+                templateContent.AppendLine("                          }");
+                templateContent.AppendLine("                          ");
+
+
+            }
+
+
+
+
+            //楠岃瘉鍊兼槸鍚︽湁鏁�
+
+            //楠岃瘉bool鍊�
+            if (item.NetType.Equals("bool"))
+            {
+                templateContent.AppendLine($"                          if(!string.IsNullOrEmpty(_{item.ColumnName}))");
+                templateContent.AppendLine("                          {");
+                templateContent.AppendLine($"                            if(!_{item.ColumnName}.Equals(\"鏄痋") && !_{item.ColumnName}.Equals(\"鍚"))");
+                templateContent.AppendLine("                             {");
+                templateContent.AppendLine($"                               throw Oops.Oh($\"绗瑊{index}}琛孾{item.ColumnComment}]{{_{item.ColumnName}}}鍊间笉姝g‘锛乗");");
+                templateContent.AppendLine("                             }");
+                templateContent.AppendLine("                             else");
+                templateContent.AppendLine("                             {");
+                templateContent.AppendLine($"                               bool out{item.ColumnName} = _{item.ColumnName}.Equals(\"鏄痋") ? true : false;");
+                templateContent.AppendLine($"                               addItem.{item.ColumnName} = out{item.ColumnName};");
+                templateContent.AppendLine("                             }");
+                templateContent.AppendLine("                             }");
+                templateContent.AppendLine("                          ");
+
+            }
+            //楠岃瘉鏋氫妇鍊兼槸鍚︽湁鏁�
+            else if (!string.IsNullOrWhiteSpace(item.DictTypeCode))//瀛楀吀code涓嶄负绌� 鏄娇鐢ㄦ灇涓惧��
+            {
+                templateContent.AppendLine($"                          if(!string.IsNullOrEmpty(_{item.ColumnName}))");
+                templateContent.AppendLine("                          {");
+                templateContent.AppendLine($"                          {item.NetType}  enum{item.ColumnName} = default({item.NetType});");
+                templateContent.AppendLine("                          ");
+                templateContent.AppendLine($"                             if(!Enum.TryParse<{item.NetType}>(_{item.ColumnName}, out enum{item.ColumnName})&&!string.IsNullOrEmpty(_{item.ColumnName}))");
+                templateContent.AppendLine("                              {");
+                templateContent.AppendLine($"                                throw Oops.Oh($\"绗瑊{index}}琛孾{item.ColumnComment}]{{_{item.ColumnName}}}鍊间笉姝g‘锛乗");");
+                templateContent.AppendLine("                              }");
+                templateContent.AppendLine("                              else");
+                templateContent.AppendLine("                              {");
+                templateContent.AppendLine($"                                 addItem.{item.ColumnName} = enum{item.ColumnName};");
+                templateContent.AppendLine("                              }");
+                templateContent.AppendLine("                          ");
+                templateContent.AppendLine("                           }");
+
+            }//楠岃瘉鏁板�兼槸鍚︽湁鏁�
+            else if (numericalTypeList.Any(a => a == item.NetType))
+            {
+
+
+                templateContent.AppendLine($"                          if(!string.IsNullOrEmpty(_{item.ColumnName}))");
+                templateContent.AppendLine("                          {");
+                templateContent.AppendLine($"                              if (!{item.NetType}.TryParse(_{item.ColumnName}, out {item.NetType} out{item.ColumnName})&&!string.IsNullOrEmpty(_{item.ColumnName}))");
+                templateContent.AppendLine("                              {");
+                templateContent.AppendLine($"                                 throw Oops.Oh($\"绗瑊{index}}琛孾{item.ColumnComment}]{{_{item.ColumnName}}}鍊间笉姝g‘锛乗");");
+                templateContent.AppendLine("                              }");
+                templateContent.AppendLine($"                              if (out{item.ColumnName} <= 0&&!string.IsNullOrEmpty(_{item.ColumnName}))");
+                templateContent.AppendLine("                              {");
+                templateContent.AppendLine($"                                 throw Oops.Oh($\"绗瑊{index}}琛孾{item.ColumnComment}]{{_{item.ColumnName}}}鍊间笉鑳藉皬浜庣瓑浜�0锛乗");");
+                templateContent.AppendLine("                              }");
+                templateContent.AppendLine("                              else");
+                templateContent.AppendLine("                              {");
+                templateContent.AppendLine($"                                 addItem.{item.ColumnName} = out{item.ColumnName};");
+                templateContent.AppendLine("                              }");
+                templateContent.AppendLine("                          ");
+                templateContent.AppendLine("                          }");
+
+            }
+            else
+            {
+                templateContent.AppendLine($"                          if(!string.IsNullOrEmpty(_{item.ColumnName}))");
+                templateContent.AppendLine("                          {");
+
+                //鏃ユ湡鎺т欢
+                if (item.EffectType.ToLower() == "datepicker")
+                {
+                    templateContent.AppendLine($"                                addItem.{item.ColumnName} = Convert.ToDateTime(Convert.ToDateTime(_{item.ColumnName}.Trim()).ToShortDateString());");
+                }//鏃ユ湡鏃堕棿鎺т欢
+                else if (item.EffectType.ToLower() == "datetimepicker")
+                {
+                    templateContent.AppendLine($"                                addItem.{item.ColumnName} =   Convert.ToDateTime(_{item.ColumnName}.Trim());");
+                }
+                else
+                {
+                    templateContent.AppendLine($"                                addItem.{item.ColumnName} = ({item.NetType})(_{item.ColumnName}.Trim());");
+                }
+                templateContent.AppendLine("                           }");
+            }
+
+
+
+
+
+
+
+        }
+
+        templateContent.AppendLine("                          #endregion");
+        templateContent.AppendLine("                          ");
+
+
+
+        return templateContent;
+    }
+
+    /// <summary>
+    /// 鏍规嵁琛ㄥ悕鍒涘缓瀵煎叆妯$増
+    /// </summary>
+    /// <param name="input"></param>
+    private async Task CreateImportTemplte(SysCodeGen input)
+    {
+        string errMsg = string.Empty;
+        //涓氬姟鍚�
+        string _busName = input.BusName;
+        var copayPath = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + "\\CommonTemplate.xlsx";
+        string newPath = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\{_busName}{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
+        var tableFieldList = await _codeGenConfigService.GetList(new CodeGenConfig() { CodeGenId = input.Id }); // 瀛楁闆嗗悎
+        CreatExcel(tableFieldList, copayPath, newPath);
+    }
+
+
+    /// <summary>
+    /// 鏍规嵁瀹炰綋绫诲悕 鐢熸垚瀵煎叆excel妯$増
+    /// </summary>
+    /// <param name="tableFieldList">浠g爜鐢熸垚閫夋嫨閰嶇疆琛ㄧ殑瀛楁</param>
+    /// <param name="copayPath"></param>
+    /// <param name="newPath"></param>
+    private void CreatExcel(List<CodeGenConfig> tableFieldList, string copayPath, string newPath)
+    {
+        string errMsg = string.Empty;
+        try
+        {
+            #region 楠岃瘉鍘熷瀵煎叆妯℃澘鏂囦欢鏄惁瀛樺湪
+            if (!File.Exists(copayPath))
+            {
+                errMsg = $"鐢ㄦ潵澶嶅埗鐢熸垚妯$増鐨凟XCEL鏂囦欢涓嶅瓨鍦�";
+                throw Oops.Oh($"鐢熸垚瀵煎叆妯$増鏂囦欢寮傚父锛歿errMsg}");
+            }
+            #endregion
+
+            //鑾峰彇妯℃澘鏂囦欢
+            FileInfo copyFile = new FileInfo(copayPath);
+
+            // 妫�鏌ユ柊鐢熸垚鐨勫鍏ユā鐗堟枃浠舵槸鍚﹀瓨鍦紝瀛樺湪灏卞垹闄わ紝浠ラ伩鍏嶅彲鑳界殑寮傚父銆�
+            if (File.Exists(newPath))
+            {
+                File.Delete(newPath); // 鍒犻櫎鏂囦欢
+            }
+            //澶嶅埗鍘熷瀵煎叆妯$増锛屽垱寤烘柊鐨勫鍏ユā鐗堟枃浠�
+            copyFile.CopyTo(newPath, true);
+            FileInfo existingFile = new FileInfo(newPath);
+            using (ExcelPackage package = new ExcelPackage(existingFile))
+            {
+                //鑾峰彇妯℃澘鍐呭
+                ExcelWorksheet worksheet = package.Workbook.Worksheets[0];//鑾峰彇绗竴涓獁orksheet
+                                                                          //琛屽拰鍒楅兘鏄粠1寮�濮嬶紝鑰屼笉鏄粠0寮�濮嬶紒锛侊紒
+                int _remarkRowIndex = 1;//worksheet 琛岀储寮曪紙璇存槑锛� 娉ㄦ剰锛氶粯璁ゆ槸绗竴琛屾槸瀵煎叆妯$増鐨勮鏄�
+                int _mergeRowCount = _remarkRowIndex;//鍚堝苟琛� 锛堝繀濉瓧娈垫暟閲忥級 榛樿鏄涓�琛屽悎骞� 
+                int _titleRowIndex = 2;//worksheet 琛岀储寮曪紙鏍囬锛夋敞鎰忥細榛樿鏄涓�琛屾槸瀵煎叆妯$増鐨勬爣棰�
+                int _cellIndex = 1;//worksheet 鍒楃储寮� 娉ㄦ剰锛氶粯璁ゆ槸绗竴鍒楀紑濮嬭缃鍏ユā鐗堢殑鏍囬
+
+                //妯$増绗竴鍒椾綔涓烘ā鐗堜娇鐢紝鎵�鏈夋柊澧炵殑鍒楁牱寮忔姤閿欎竴鑷�
+                var templateCell = worksheet.Cells[_titleRowIndex, _cellIndex];
+
+                string _remark = string.Empty;  //绗竴琛屾坊鍔犺鏄庯紝娉ㄦ剰鎹㈣銆�
+
+                //鑾峰彇瑕佸鐞嗙殑浠g爜鐢熸垚閰嶇疆鐨勬槸澧炴敼鐨勬ā鐗堝瓧娈�
+                var showCodeGenConfigs = tableFieldList.Where(w => w.WhetherAddUpdate.Equals("Y")).ToList();
+                showCodeGenConfigs = showCodeGenConfigs.Where(x => x.ColumnKey.ToLower() == "false").ToList();
+                int _mergeCellsCount = showCodeGenConfigs.Count();//鍚堝苟鍒楋紙妯$増璧嬪�肩殑鏍囬鍒楁暟锛�
+                                                                  //鑾峰彇蹇呭~瀛楁
+
+                //鍒涘缓妯$増璇存槑
+                StringBuilder _remarkContentBuilder = GetParseTemplateHint(showCodeGenConfigs);
+                string _remarkContent = _remarkContentBuilder.ToString();
+
+                #region 鍚堝苟鍗曞厓鏍�
+                //鍚堝苟鍗曞厓鏍硷紝鍚堝苟琛屽拰鍒椼�傞粯璁ゆ槸鍚堝苟绗竴琛岀殑鎵�鏈夋爣棰樺垪
+                var cellRange = worksheet.Cells[1, 1, _mergeRowCount, _mergeCellsCount];
+
+                cellRange.Value = _remarkContent;//鍚堝苟鍗曞厓鏍煎悗鐨勫唴瀹硅祴鍊�
+                var mergeCell = cellRange.Merge = true;//鍚堝苟
+                int rowHeight = GetRowHeightBasedOnContent(showCodeGenConfigs.Count()); // 鏍规嵁鍐呭璁$畻琛岄珮锛堣繖閲岄渶瑕佷綘鑷繁瀹炵幇閫昏緫锛�
+                worksheet.Row(_remarkRowIndex).Height = rowHeight; // 璁剧疆琛岄珮锛屾敞鎰廍PPlus鐨勫崟浣嶄笉鍚岋紝闇�瑕佽浆鎹�
+
+                #endregion
+
+                //寰幆鍒涘缓妯$増鏍囬鍒�
+                foreach (var item in showCodeGenConfigs)
+                {
+                    var currentCell = worksheet.Cells[_titleRowIndex, _cellIndex];
+                    //缁欐柊妯$増鍒楁爣棰樿祴鍊�
+                    currentCell.Value = item.ColumnComment;
+                    //澶嶅埗鎷疯礉鐨別xcel妯$増鍒楋紝缁欐柊妯$増鍒楁牱寮忚祴鍊�
+                    currentCell.StyleID = templateCell.StyleID;
+                    // worksheet.Column(_cellIndex).AutoFit();//瀹藉害鑷�傚簲
+
+                    _cellIndex++;
+                }
+
+
+                package.Save();//淇濆瓨
+            }
+        }
+        catch (Exception ex)
+        {
+            throw Oops.Oh($"鐢熸垚瀵煎叆妯$増鏂囦欢寮傚父锛岃鏌ョ湅绯荤粺鏃ュ織:" + ex.Message);
+        }
+        finally { }
+    }
+
+
+    // 杩欓噷鏄竴涓亣璁剧殑鏂规硶锛岀敤浜庢牴鎹崟鍏冩牸鍐呭璁$畻琛岄珮銆備綘闇�瑕佹牴鎹疄闄呮儏鍐垫潵瀹炵幇杩欎釜閫昏緫銆�
+    private static int GetRowHeightBasedOnContent(int lineCount)
+    {
+        // 杩欓噷鍙槸涓�涓ず渚嬮�昏緫锛屼綘鍙兘闇�瑕佹洿澶嶆潅鐨勭畻娉曟潵鍐冲畾鍚堥�傜殑琛岄珮銆�
+
+        return (lineCount + 3) * 20; // 
+    }
+
+    private StringBuilder GetParseTemplateHint(List<CodeGenConfig> requiredTableFieldList)
+    {
+        StringBuilder _remarkContentBuilder = new StringBuilder();
+        _remarkContentBuilder.AppendLine("");
+        _remarkContentBuilder.AppendLine("1.鏀寔Excel2007鍙婁互涓婄増鏈枃浠躲��");
+        _remarkContentBuilder.AppendLine("2.瀵煎叆鏁版嵁鏃朵笉鑳借秴杩�5000琛屻��");
+        _remarkContentBuilder.AppendLine("");
+        _remarkContentBuilder.AppendLine("");
+
+        Dictionary<string, string> typeNameDict = new()
+            {
+                { "string", "杈撳叆鏂囨湰銆�"},
+                { "int", "杈撳叆鏁板瓧銆�"},
+                { "long", "杈撳叆鏁板瓧銆�"},
+                { "decimal", "杈撳叆灏忔暟銆�"},
+                { "bool", "鏄�,鍚︺��"},
+
+            };
+        Dictionary<string, string> effectTypeDict = new()
+            {
+                { "datepicker", "鏃ユ湡銆� 绀轰緥: 2023/3/1銆�"},
+                { "datetimepicker", "鏃ユ湡鏃堕棿銆傜ず渚�: 2023/3/1 12:00:00銆�"},
+
+            };
+
+        requiredTableFieldList.ForEach(x =>
+        {
+            string text = "";
+            text += x.ColumnComment + "(" + (x.WhetherRequired.Equals("Y") ? "蹇呭~" : "闈炲繀濉�") + "): ";
+            var _dataType = x.DataType.Replace("?", "").ToLower();
+            if (effectTypeDict.ContainsKey(x.EffectType.ToLower()))
+            {
+                text += effectTypeDict[x.EffectType.ToLower()];
+            }
+            else if (x.EffectType.ToLower() == "enumselector")
+            {//娉ㄦ剰锛氳繖涓垽鏂鏀惧湪鍒ゆ柇_dataType鍓嶉潰锛屼富瑕佹槸鑰冭檻鏋氫妇鍜宨nt绫诲瀷鐨勬贩娣�
+                var queryValue = x.NetType.Split('.').Last();
+                var enumStr = _sysEnumService.GetEnumDataListStr(new EnumDataInput() { EnumName = queryValue });
+                text += enumStr + "銆�";
+            }
+            else if (typeNameDict.ContainsKey(_dataType))
+            {
+                text += typeNameDict[_dataType];
+            }
+            else
+            {
+                text += ("娉ㄦ剰锛氱被鍨嬫湭鑳借瘑鍒嚭鏉ワ紝闇�瑕佽嚜宸辩淮鎶わ紒锛侊紒銆�");
+            }
+            _remarkContentBuilder.AppendLine(text);
+        });
+
+        return _remarkContentBuilder;
+
+    }
+
+    /// <summary>
+    /// 鏍规嵁灞炴�у悕绉板垽鏂槸鍚︽槸鏋氫妇绫诲瀷
+    /// </summary>
+    /// <param name="type"></param>
+    /// <param name="propertyName"></param>
+    /// <returns></returns>
+    /// <exception cref="ArgumentException"></exception>
+    public static bool IsEnumProperty(Type type, string propertyName)
+    {
+        PropertyInfo propertyInfo = type.GetProperty(propertyName);
+        if (propertyInfo == null)
+        {
+            throw new ArgumentException("Property not found", nameof(propertyName));
+        }
+        return propertyInfo.PropertyType.IsEnum;
+    }
+
+    #endregion
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Common/Dto/ApiOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Common/Dto/ApiOutput.cs
new file mode 100644
index 0000000..efd7901
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Common/Dto/ApiOutput.cs
@@ -0,0 +1,28 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鎺ュ彛/鍔ㄦ�丄PI杈撳嚭
+/// </summary>
+public class ApiOutput
+{
+    /// <summary>
+    /// 缁勫悕绉�
+    /// </summary>
+    public string GroupName { get; set; }
+
+    /// <summary>
+    /// 鎺ュ彛鍚嶇О
+    /// </summary>
+    public string DisplayName { get; set; }
+
+    /// <summary>
+    /// 璺敱鍚嶇О
+    /// </summary>
+    public string RouteName { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Common/Dto/SmKeyPairOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Common/Dto/SmKeyPairOutput.cs
new file mode 100644
index 0000000..cc97d39
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Common/Dto/SmKeyPairOutput.cs
@@ -0,0 +1,23 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鍥藉瘑鍏挜绉侀挜瀵硅緭鍑�
+/// </summary>
+public class SmKeyPairOutput
+{
+    /// <summary>
+    /// 绉佸寵
+    /// </summary>
+    public string PrivateKey { get; set; }
+
+    /// <summary>
+    /// 鍏寵
+    /// </summary>
+    public string PublicKey { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Common/SysCommonService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Common/SysCommonService.cs
new file mode 100644
index 0000000..d792164
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Common/SysCommonService.cs
@@ -0,0 +1,70 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.Mvc.ApiExplorer;
+using Org.BouncyCastle.Crypto.Parameters;
+using Org.BouncyCastle.Utilities.Encoders;
+using Swashbuckle.AspNetCore.SwaggerGen;
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺閫氱敤鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 101)]
+[AllowAnonymous]
+public class SysCommonService : IDynamicApiController, ITransient
+{
+    private readonly IApiDescriptionGroupCollectionProvider _apiProvider;
+
+    public SysCommonService(IApiDescriptionGroupCollectionProvider apiProvider)
+    {
+        _apiProvider = apiProvider;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鍥藉瘑鍏挜绉侀挜瀵� 馃弳
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鍥藉瘑鍏挜绉侀挜瀵�")]
+    public SmKeyPairOutput GetSmKeyPair()
+    {
+        var kp = GM.GenerateKeyPair();
+        var privateKey = Hex.ToHexString(((ECPrivateKeyParameters)kp.Private).D.ToByteArray()).ToUpper();
+        var publicKey = Hex.ToHexString(((ECPublicKeyParameters)kp.Public).Q.GetEncoded()).ToUpper();
+
+        return new SmKeyPairOutput
+        {
+            PrivateKey = privateKey,
+            PublicKey = publicKey,
+        };
+    }
+
+    /// <summary>
+    /// 鑾峰彇鎵�鏈夋帴鍙�/鍔ㄦ�丄PI 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鎵�鏈夋帴鍙�/鍔ㄦ�丄PI")]
+    public List<ApiOutput> GetApiList()
+    {
+        var apiList = new List<ApiOutput>();
+        foreach (var item in _apiProvider.ApiDescriptionGroups.Items)
+        {
+            foreach (var apiDescription in item.Items)
+            {
+                var displayName = apiDescription.TryGetMethodInfo(out MethodInfo apiMethodInfo) ? apiMethodInfo.GetCustomAttribute<DisplayNameAttribute>(true)?.DisplayName : "";
+
+                apiList.Add(new ApiOutput
+                {
+                    GroupName = item.GroupName,
+                    DisplayName = displayName,
+                    RouteName = apiDescription.RelativePath
+                });
+            }
+        }
+        return apiList;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Config/Dto/ConfigInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Config/Dto/ConfigInput.cs
new file mode 100644
index 0000000..1fdc16b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Config/Dto/ConfigInput.cs
@@ -0,0 +1,41 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class ConfigInput : BaseIdInput
+{
+}
+
+public class PageConfigInput : BasePageInput
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    public string Code { get; set; }
+
+    /// <summary>
+    /// 鍒嗙粍缂栫爜
+    /// </summary>
+    public string GroupCode { get; set; }
+}
+
+public class AddConfigInput : SysConfig
+{
+}
+
+public class UpdateConfigInput : AddConfigInput
+{
+}
+
+public class DeleteConfigInput : BaseIdInput
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Config/SysConfigService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Config/SysConfigService.cs
new file mode 100644
index 0000000..c51a586
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Config/SysConfigService.cs
@@ -0,0 +1,190 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鍙傛暟閰嶇疆鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 440)]
+public class SysConfigService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysConfig> _sysConfigRep;
+    private readonly SysCacheService _sysCacheService;
+
+    public SysConfigService(SqlSugarRepository<SysConfig> sysConfigRep,
+        SysCacheService sysCacheService)
+    {
+        _sysConfigRep = sysConfigRep;
+        _sysCacheService = sysCacheService;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鍙傛暟閰嶇疆鍒嗛〉鍒楄〃 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鍙傛暟閰嶇疆鍒嗛〉鍒楄〃")]
+    public async Task<SqlSugarPagedList<SysConfig>> Page(PageConfigInput input)
+    {
+        return await _sysConfigRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Name?.Trim()), u => u.Name.Contains(input.Name))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Code?.Trim()), u => u.Code.Contains(input.Code))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.GroupCode?.Trim()), u => u.GroupCode.Equals(input.GroupCode))
+            .OrderBuilder(input)
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 鑾峰彇鍙傛暟閰嶇疆鍒楄〃 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鍙傛暟閰嶇疆鍒楄〃")]
+    public async Task<List<SysConfig>> GetList()
+    {
+        return await _sysConfigRep.GetListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞鍙傛暟閰嶇疆 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("澧炲姞鍙傛暟閰嶇疆")]
+    public async Task AddConfig(AddConfigInput input)
+    {
+        var isExist = await _sysConfigRep.IsAnyAsync(u => u.Name == input.Name || u.Code == input.Code);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D9000);
+
+        await _sysConfigRep.InsertAsync(input.Adapt<SysConfig>());
+    }
+
+    /// <summary>
+    /// 鏇存柊鍙傛暟閰嶇疆 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊鍙傛暟閰嶇疆")]
+    public async Task UpdateConfig(UpdateConfigInput input)
+    {
+        var isExist = await _sysConfigRep.IsAnyAsync(u => (u.Name == input.Name || u.Code == input.Code) && u.Id != input.Id);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D9000);
+
+        var config = input.Adapt<SysConfig>();
+        await _sysConfigRep.AsUpdateable(config).IgnoreColumns(true).ExecuteCommandAsync();
+
+        _sysCacheService.Remove(config.Code);
+    }
+
+    /// <summary>
+    /// 鍒犻櫎鍙傛暟閰嶇疆 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎鍙傛暟閰嶇疆")]
+    public async Task DeleteConfig(DeleteConfigInput input)
+    {
+        var config = await _sysConfigRep.GetFirstAsync(u => u.Id == input.Id);
+        if (config.SysFlag == YesNoEnum.Y) // 绂佹鍒犻櫎绯荤粺鍙傛暟
+            throw Oops.Oh(ErrorCodeEnum.D9001);
+
+        await _sysConfigRep.DeleteAsync(config);
+
+        _sysCacheService.Remove(config.Code);
+    }
+
+    /// <summary>
+    /// 鎵归噺鍒犻櫎鍙傛暟閰嶇疆 馃敄
+    /// </summary>
+    /// <param name="ids"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "BatchDelete"), HttpPost]
+    [DisplayName("鎵归噺鍒犻櫎鍙傛暟閰嶇疆")]
+    public async Task BatchDeleteConfig(List<long> ids)
+    {
+        foreach (var id in ids)
+        {
+            var config = await _sysConfigRep.GetFirstAsync(u => u.Id == id);
+            if (config.SysFlag == YesNoEnum.Y) // 绂佹鍒犻櫎绯荤粺鍙傛暟
+                continue;
+
+            await _sysConfigRep.DeleteAsync(config);
+
+            _sysCacheService.Remove(config.Code);
+        }
+    }
+
+    /// <summary>
+    /// 鑾峰彇鍙傛暟閰嶇疆璇︽儏 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鍙傛暟閰嶇疆璇︽儏")]
+    public async Task<SysConfig> GetDetail([FromQuery] ConfigInput input)
+    {
+        return await _sysConfigRep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+    /// <summary>
+    /// 鑾峰彇鍙傛暟閰嶇疆鍊�
+    /// </summary>
+    /// <param name="code"></param>
+    /// <returns></returns>
+    [NonAction]
+    public async Task<T> GetConfigValue<T>(string code)
+    {
+        if (string.IsNullOrWhiteSpace(code)) return default;
+
+        var value = _sysCacheService.Get<string>(code);
+        if (string.IsNullOrEmpty(value))
+        {
+            var config = await _sysConfigRep.GetFirstAsync(u => u.Code == code);
+            value = config != null ? config.Value : default;
+            _sysCacheService.Set(code, value);
+        }
+        if (string.IsNullOrWhiteSpace(value)) return default;
+        return (T)Convert.ChangeType(value, typeof(T));
+    }
+
+    /// <summary>
+    /// 鑾峰彇鍒嗙粍鍒楄〃 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鍒嗙粍鍒楄〃")]
+    public async Task<List<string>> GetGroupList()
+    {
+        return await _sysConfigRep.AsQueryable().GroupBy(u => u.GroupCode).Select(u => u.GroupCode).ToListAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇 Token 杩囨湡鏃堕棿
+    /// </summary>
+    /// <returns></returns>
+    [NonAction]
+    public async Task<int> GetTokenExpire()
+    {
+        var tokenExpireStr = await GetConfigValue<string>(CommonConst.SysTokenExpire);
+        _ = int.TryParse(tokenExpireStr, out var tokenExpire);
+        return tokenExpire == 0 ? 20 : tokenExpire;
+    }
+
+    /// <summary>
+    /// 鑾峰彇 RefreshToken 杩囨湡鏃堕棿
+    /// </summary>
+    /// <returns></returns>
+    [NonAction]
+    public async Task<int> GetRefreshTokenExpire()
+    {
+        var refreshTokenExpireStr = await GetConfigValue<string>(CommonConst.SysRefreshTokenExpire);
+        _ = int.TryParse(refreshTokenExpireStr, out var refreshTokenExpire);
+        return refreshTokenExpire == 0 ? 40 : refreshTokenExpire;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Const/Dto/ConstOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Const/Dto/ConstOutput.cs
new file mode 100644
index 0000000..698f957
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Const/Dto/ConstOutput.cs
@@ -0,0 +1,25 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class ConstOutput
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    public dynamic Code { get; set; }
+
+    /// <summary>
+    /// 鎵╁睍瀛楁
+    /// </summary>
+    public dynamic Data { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Const/SysConstService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Const/SysConstService.cs
new file mode 100644
index 0000000..2d901e9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Const/SysConstService.cs
@@ -0,0 +1,83 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺甯搁噺鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 280)]
+[AllowAnonymous]
+public class SysConstService : IDynamicApiController, ITransient
+{
+    private readonly SysCacheService _sysCacheService;
+
+    public SysConstService(SysCacheService sysCacheService)
+    {
+        _sysCacheService = sysCacheService;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鎵�鏈夊父閲忓垪琛� 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鎵�鏈夊父閲忓垪琛�")]
+    public async Task<List<ConstOutput>> GetList()
+    {
+        var key = $"{CacheConst.KeyConst}list";
+        var constlist = _sysCacheService.Get<List<ConstOutput>>(key);
+        if (constlist == null)
+        {
+            var typeList = GetConstAttributeList();
+            constlist = typeList.Select(u => new ConstOutput
+            {
+                Name = u.CustomAttributes.ToList().FirstOrDefault()?.ConstructorArguments.ToList().FirstOrDefault().Value?.ToString() ?? u.Name,
+                Code = u.Name,
+                Data = GetData(Convert.ToString(u.Name))
+            }).ToList();
+            _sysCacheService.Set(key, constlist);
+        }
+        return await Task.FromResult(constlist);
+    }
+
+    /// <summary>
+    /// 鏍规嵁绫诲悕鑾峰彇甯搁噺鏁版嵁 馃敄
+    /// </summary>
+    /// <param name="typeName"></param>
+    /// <returns></returns>
+    [DisplayName("鏍规嵁绫诲悕鑾峰彇甯搁噺鏁版嵁")]
+    public async Task<List<ConstOutput>> GetData([Required] string typeName)
+    {
+        var key = $"{CacheConst.KeyConst}{typeName.ToUpper()}";
+        var constlist = _sysCacheService.Get<List<ConstOutput>>(key);
+        if (constlist == null)
+        {
+            var typeList = GetConstAttributeList();
+            var type = typeList.FirstOrDefault(u => u.Name == typeName);
+
+            var isEnum = type.BaseType.Name == "Enum";
+            constlist = type.GetFields()?
+                .Where(isEnum, u => u.FieldType.Name == typeName)
+                .Select(u => new ConstOutput
+                {
+                    Name = u.Name,
+                    Code = isEnum ? (int)u.GetValue(BindingFlags.Instance) : u.GetValue(BindingFlags.Instance)
+                }).ToList();
+            _sysCacheService.Set(key, constlist);
+        }
+        return await Task.FromResult(constlist);
+    }
+
+    /// <summary>
+    /// 鑾峰彇甯搁噺鐗规�х被鍨嬪垪琛�
+    /// </summary>
+    /// <returns></returns>
+    private List<Type> GetConstAttributeList()
+    {
+        return AppDomain.CurrentDomain.GetAssemblies().SelectMany(u => u.GetTypes())
+            .Where(u => u.CustomAttributes.Any(c => c.AttributeType == typeof(ConstAttribute))).ToList();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/CreateEntityInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/CreateEntityInput.cs
new file mode 100644
index 0000000..ffc3045
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/CreateEntityInput.cs
@@ -0,0 +1,39 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class CreateEntityInput
+{
+    /// <summary>
+    /// 琛ㄥ悕
+    /// </summary>
+    /// <example>student</example>
+    public string TableName { get; set; }
+
+    /// <summary>
+    /// 瀹炰綋鍚�
+    /// </summary>
+    /// <example>Student</example>
+    public string EntityName { get; set; }
+
+    /// <summary>
+    /// 鍩虹被鍚�
+    /// </summary>
+    /// <example>AutoIncrementEntity</example>
+    public string BaseClassName { get; set; }
+
+    /// <summary>
+    /// 瀵煎嚭浣嶇疆
+    /// </summary>
+    /// <example>Web.Application</example>
+    public string Position { get; set; }
+
+    /// <summary>
+    /// 搴撴爣璇�
+    /// </summary>
+    public string ConfigId { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/CreateSeedDataInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/CreateSeedDataInput.cs
new file mode 100644
index 0000000..e84385d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/CreateSeedDataInput.cs
@@ -0,0 +1,45 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class CreateSeedDataInput
+{
+    /// <summary>
+    /// 搴撴爣璇�
+    /// </summary>
+    public string ConfigId { get; set; }
+
+    /// <summary>
+    /// 琛ㄥ悕
+    /// </summary>
+    /// <example>student</example>
+    public string TableName { get; set; }
+
+    /// <summary>
+    /// 瀹炰綋鍚嶇О
+    /// </summary>
+    /// <example>Student</example>
+    public string EntityName { get; set; }
+
+    /// <summary>
+    /// 绉嶅瓙鍚嶇О
+    /// </summary>
+    /// <example>Student</example>
+    public string SeedDataName { get; set; }
+
+    /// <summary>
+    /// 瀵煎嚭浣嶇疆
+    /// </summary>
+    /// <example>Web.Application</example>
+    public string Position { get; set; }
+
+    /// <summary>
+    /// 鍚庣紑
+    /// </summary>
+    /// <example>Web.Application</example>
+    public string Suffix { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/DbColumnInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/DbColumnInput.cs
new file mode 100644
index 0000000..b3f20c7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/DbColumnInput.cs
@@ -0,0 +1,52 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class DbColumnInput
+{
+    public string ConfigId { get; set; }
+
+    public string TableName { get; set; }
+
+    public string DbColumnName { get; set; }
+
+    public string DataType { get; set; }
+
+    public int Length { get; set; }
+
+    public string ColumnDescription { get; set; }
+
+    public int IsNullable { get; set; }
+
+    public int IsIdentity { get; set; }
+
+    public int IsPrimarykey { get; set; }
+
+    public int DecimalDigits { get; set; }
+}
+
+public class UpdateDbColumnInput
+{
+    public string ConfigId { get; set; }
+
+    public string TableName { get; set; }
+
+    public string ColumnName { get; set; }
+
+    public string OldColumnName { get; set; }
+
+    public string Description { get; set; }
+}
+
+public class DeleteDbColumnInput
+{
+    public string ConfigId { get; set; }
+
+    public string TableName { get; set; }
+
+    public string DbColumnName { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/DbColumnOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/DbColumnOutput.cs
new file mode 100644
index 0000000..87e30b9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/DbColumnOutput.cs
@@ -0,0 +1,50 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class DbColumnOutput
+{
+    public string TableName { get; set; }
+
+    public int TableId { get; set; }
+
+    public string DbColumnName { get; set; }
+
+    public string PropertyName { get; set; }
+
+    public string DataType { get; set; }
+
+    public object PropertyType { get; set; }
+
+    public int Length { get; set; }
+
+    public string ColumnDescription { get; set; }
+
+    public string DefaultValue { get; set; }
+
+    public bool IsNullable { get; set; }
+
+    public bool IsIdentity { get; set; }
+
+    public bool IsPrimarykey { get; set; }
+
+    public object Value { get; set; }
+
+    public int DecimalDigits { get; set; }
+
+    public int Scale { get; set; }
+
+    public bool IsArray { get; set; }
+
+    public bool IsJson { get; set; }
+
+    public bool? IsUnsigned { get; set; }
+
+    public int CreateTableFieldSort { get; set; }
+
+    internal object SqlParameterDbType { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/DbTableInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/DbTableInput.cs
new file mode 100644
index 0000000..9c64d5d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/DbTableInput.cs
@@ -0,0 +1,36 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class DbTableInput
+{
+    public string ConfigId { get; set; }
+
+    public string TableName { get; set; }
+
+    public string Description { get; set; }
+
+    public List<DbColumnInput> DbColumnInfoList { get; set; }
+}
+
+public class UpdateDbTableInput
+{
+    public string ConfigId { get; set; }
+
+    public string TableName { get; set; }
+
+    public string OldTableName { get; set; }
+
+    public string Description { get; set; }
+}
+
+public class DeleteDbTableInput
+{
+    public string ConfigId { get; set; }
+
+    public string TableName { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/DbTableVisual.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/DbTableVisual.cs
new file mode 100644
index 0000000..7349fee
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/DbTableVisual.cs
@@ -0,0 +1,56 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 搴撹〃鍙鍖�
+/// </summary>
+public class VisualDbTable
+{
+    public List<VisualTable> VisualTableList { get; set; }
+
+    public List<VisualColumn> VisualColumnList { get; set; }
+
+    public List<ColumnRelation> ColumnRelationList { get; set; }
+}
+
+public class VisualTable
+{
+    public string TableName { get; set; }
+
+    public string TableComents { get; set; }
+
+    public int X { get; set; }
+
+    public int Y { get; set; }
+}
+
+public class VisualColumn
+{
+    public string TableName { get; set; }
+
+    public string ColumnName { get; set; }
+
+    public string DataType { get; set; }
+
+    public string DataLength { get; set; }
+
+    public string ColumnDescription { get; set; }
+}
+
+public class ColumnRelation
+{
+    public string SourceTableName { get; set; }
+
+    public string SourceColumnName { get; set; }
+
+    public string Type { get; set; }
+
+    public string TargetTableName { get; set; }
+
+    public string TargetColumnName { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/JsonIgnoredPropertyData.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/JsonIgnoredPropertyData.cs
new file mode 100644
index 0000000..4727626
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/Dto/JsonIgnoredPropertyData.cs
@@ -0,0 +1,28 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 淇濆瓨鏍囨敞浜咼sonIgnore鐨凱roperty鐨勫�间俊鎭�
+/// </summary>
+public class JsonIgnoredPropertyData
+{
+    /// <summary>
+    /// 璁板綍绱㈠紩
+    /// </summary>
+    public int RecordIndex { get; set; }
+
+    /// <summary>
+    /// 灞炴�у悕
+    /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 灞炴�у�兼弿杩�
+    /// </summary>
+    public string Value { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/SysDatabaseService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/SysDatabaseService.cs
new file mode 100644
index 0000000..4173413
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/DataBase/SysDatabaseService.cs
@@ -0,0 +1,581 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using Npgsql;
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鏁版嵁搴撶鐞嗘湇鍔� 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 250)]
+public class SysDatabaseService : IDynamicApiController, ITransient
+{
+    private readonly ISqlSugarClient _db;
+    private readonly IViewEngine _viewEngine;
+    private readonly CodeGenOptions _codeGenOptions;
+
+    public SysDatabaseService(ISqlSugarClient db,
+        IViewEngine viewEngine,
+        IOptions<CodeGenOptions> codeGenOptions)
+    {
+        _db = db;
+        _viewEngine = viewEngine;
+        _codeGenOptions = codeGenOptions.Value;
+    }
+
+    /// <summary>
+    /// 鑾峰彇搴撳垪琛� 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇搴撳垪琛�")]
+    public List<string> GetList()
+    {
+        return App.GetOptions<DbConnectionOptions>().ConnectionConfigs.Select(u => u.ConfigId.ToString()).ToList();
+    }
+
+    /// <summary>
+    /// 鑾峰彇鍙鍖栧簱琛ㄧ粨鏋� 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鍙鍖栧簱琛ㄧ粨鏋�")]
+    public VisualDbTable GetVisualDbTable()
+    {
+        var visualTableList = new List<VisualTable>();
+        var visualColumnList = new List<VisualColumn>();
+        var columnRelationList = new List<ColumnRelation>();
+
+        // 閬嶅巻鎵�鏈夊疄浣撹幏鍙栨墍鏈夊簱琛ㄧ粨鏋�
+        var random = new Random();
+        var entityTypes = App.EffectiveTypes.Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass && u.IsDefined(typeof(SugarTable), false)).ToList();
+        foreach (var entityType in entityTypes)
+        {
+            var entityInfo = _db.EntityMaintenance.GetEntityInfoNoCache(entityType);
+
+            var visualTable = new VisualTable
+            {
+                TableName = entityInfo.DbTableName,
+                TableComents = entityInfo.TableDescription + entityInfo.DbTableName,
+                X = random.Next(5000),
+                Y = random.Next(5000)
+            };
+            visualTableList.Add(visualTable);
+
+            foreach (EntityColumnInfo columnInfo in entityInfo.Columns)
+            {
+                var visualColumn = new VisualColumn
+                {
+                    TableName = columnInfo.DbTableName,
+                    ColumnName = columnInfo.DbColumnName,
+                    DataType = columnInfo.PropertyInfo.PropertyType.Name,
+                    DataLength = columnInfo.Length.ToString(),
+                    ColumnDescription = columnInfo.ColumnDescription,
+                };
+                visualColumnList.Add(visualColumn);
+
+                // 鏍规嵁瀵艰埅閰嶇疆鑾峰彇琛ㄤ箣闂村叧鑱斿叧绯�
+                if (columnInfo.Navigat != null)
+                {
+                    var name1 = columnInfo.Navigat.GetName();
+                    var name2 = columnInfo.Navigat.GetName2();
+                    var relation = new ColumnRelation
+                    {
+                        SourceTableName = columnInfo.DbTableName,
+                        SourceColumnName = name1,
+                        Type = columnInfo.Navigat.GetNavigateType() == NavigateType.OneToOne ? "ONE_TO_ONE" : "ONE_TO_MANY",
+                        TargetTableName = columnInfo.DbColumnName,
+                        TargetColumnName = string.IsNullOrEmpty(name2) ? "Id" : name2
+                    };
+                    columnRelationList.Add(relation);
+                }
+            }
+        }
+
+        return new VisualDbTable { VisualTableList = visualTableList, VisualColumnList = visualColumnList, ColumnRelationList = columnRelationList };
+    }
+
+    /// <summary>
+    /// 鑾峰彇瀛楁鍒楄〃 馃敄
+    /// </summary>
+    /// <param name="tableName">琛ㄥ悕</param>
+    /// <param name="configId">ConfigId</param>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [DisplayName("鑾峰彇瀛楁鍒楄〃")]
+    public List<DbColumnOutput> GetColumnList(string tableName, string configId = SqlSugarConst.MainConfigId)
+    {
+        var db = _db.AsTenant().GetConnectionScope(configId);
+        if (string.IsNullOrWhiteSpace(tableName))
+            return new List<DbColumnOutput>();
+
+        return db.DbMaintenance.GetColumnInfosByTableName(tableName, false).Adapt<List<DbColumnOutput>>();
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏁版嵁搴撴暟鎹被鍨嬪垪琛� 馃敄
+    /// </summary>
+    /// <param name="configId"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鏁版嵁搴撴暟鎹被鍨嬪垪琛�")]
+    public List<string> GetDbTypeList(string configId = SqlSugarConst.MainConfigId)
+    {
+        var db = _db.AsTenant().GetConnectionScope(configId);
+        return db.DbMaintenance.GetDbTypes().OrderBy(u => u).ToList();
+    }
+
+    /// <summary>
+    /// 澧炲姞鍒� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    [ApiDescriptionSettings(Name = "AddColumn"), HttpPost]
+    [DisplayName("澧炲姞鍒�")]
+    public void AddColumn(DbColumnInput input)
+    {
+        var column = new DbColumnInfo
+        {
+            ColumnDescription = input.ColumnDescription,
+            DbColumnName = input.DbColumnName,
+            IsIdentity = input.IsIdentity == 1,
+            IsNullable = input.IsNullable == 1,
+            IsPrimarykey = input.IsPrimarykey == 1,
+            Length = input.Length,
+            DecimalDigits = input.DecimalDigits,
+            DataType = input.DataType
+        };
+        var db = _db.AsTenant().GetConnectionScope(input.ConfigId);
+        db.DbMaintenance.AddColumn(input.TableName, column);
+        db.DbMaintenance.AddColumnRemark(input.DbColumnName, input.TableName, input.ColumnDescription);
+        if (column.IsPrimarykey)
+            db.DbMaintenance.AddPrimaryKey(input.TableName, input.DbColumnName);
+    }
+
+    /// <summary>
+    /// 鍒犻櫎鍒� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    [ApiDescriptionSettings(Name = "DeleteColumn"), HttpPost]
+    [DisplayName("鍒犻櫎鍒�")]
+    public void DeleteColumn(DeleteDbColumnInput input)
+    {
+        var db = _db.AsTenant().GetConnectionScope(input.ConfigId);
+        db.DbMaintenance.DropColumn(input.TableName, input.DbColumnName);
+    }
+
+    /// <summary>
+    /// 缂栬緫鍒� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    [ApiDescriptionSettings(Name = "UpdateColumn"), HttpPost]
+    [DisplayName("缂栬緫鍒�")]
+    public void UpdateColumn(UpdateDbColumnInput input)
+    {
+        var db = _db.AsTenant().GetConnectionScope(input.ConfigId);
+        db.DbMaintenance.RenameColumn(input.TableName, input.OldColumnName, input.ColumnName);
+        if (db.DbMaintenance.IsAnyColumnRemark(input.ColumnName, input.TableName))
+            db.DbMaintenance.DeleteColumnRemark(input.ColumnName, input.TableName);
+        db.DbMaintenance.AddColumnRemark(input.ColumnName, input.TableName, string.IsNullOrWhiteSpace(input.Description) ? input.ColumnName : input.Description);
+    }
+
+    /// <summary>
+    /// 鑾峰彇琛ㄥ垪琛� 馃敄
+    /// </summary>
+    /// <param name="configId">ConfigId</param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇琛ㄥ垪琛�")]
+    public List<DbTableInfo> GetTableList(string configId = SqlSugarConst.MainConfigId)
+    {
+        var db = _db.AsTenant().GetConnectionScope(configId);
+        return db.DbMaintenance.GetTableInfoList(false);
+    }
+
+    /// <summary>
+    /// 澧炲姞琛� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    [ApiDescriptionSettings(Name = "AddTable"), HttpPost]
+    [DisplayName("澧炲姞琛�")]
+    public void AddTable(DbTableInput input)
+    {
+        if (input.DbColumnInfoList == null || !input.DbColumnInfoList.Any())
+            throw Oops.Oh(ErrorCodeEnum.db1000);
+
+        if (input.DbColumnInfoList.GroupBy(u => u.DbColumnName).Any(u => u.Count() > 1))
+            throw Oops.Oh(ErrorCodeEnum.db1002);
+
+        var config = App.GetOptions<DbConnectionOptions>().ConnectionConfigs.FirstOrDefault(u => u.ConfigId.ToString() == input.ConfigId);
+        var db = _db.AsTenant().GetConnectionScope(input.ConfigId);
+        var typeBuilder = db.DynamicBuilder().CreateClass(input.TableName, new SugarTable() { TableName = input.TableName, TableDescription = input.Description });
+        input.DbColumnInfoList.ForEach(u =>
+        {
+            var dbColumnName = config.DbSettings.EnableUnderLine ? UtilMethods.ToUnderLine(u.DbColumnName.Trim()) : u.DbColumnName.Trim();
+            // 铏氭嫙绫婚兘榛樿string绫诲瀷锛屽叿浣撲互鍒楁暟鎹被鍨嬩负鍑�
+            typeBuilder.CreateProperty(dbColumnName, typeof(string), new SugarColumn()
+            {
+                IsPrimaryKey = u.IsPrimarykey == 1,
+                IsIdentity = u.IsIdentity == 1,
+                ColumnDataType = u.DataType,
+                Length = u.Length,
+                IsNullable = u.IsNullable == 1,
+                DecimalDigits = u.DecimalDigits,
+                ColumnDescription = u.ColumnDescription,
+            });
+        });
+        db.CodeFirst.InitTables(typeBuilder.BuilderType());
+    }
+
+    /// <summary>
+    /// 鍒犻櫎琛� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    [ApiDescriptionSettings(Name = "DeleteTable"), HttpPost]
+    [DisplayName("鍒犻櫎琛�")]
+    public void DeleteTable(DeleteDbTableInput input)
+    {
+        var db = _db.AsTenant().GetConnectionScope(input.ConfigId);
+        db.DbMaintenance.DropTable(input.TableName);
+    }
+
+    /// <summary>
+    /// 缂栬緫琛� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    [ApiDescriptionSettings(Name = "UpdateTable"), HttpPost]
+    [DisplayName("缂栬緫琛�")]
+    public void UpdateTable(UpdateDbTableInput input)
+    {
+        var db = _db.AsTenant().GetConnectionScope(input.ConfigId);
+        db.DbMaintenance.RenameTable(input.OldTableName, input.TableName);
+        try
+        {
+            if (db.DbMaintenance.IsAnyTableRemark(input.TableName))
+                db.DbMaintenance.DeleteTableRemark(input.TableName);
+            else
+                db.DbMaintenance.AddTableRemark(input.TableName, input.Description);
+        }
+        catch (NotSupportedException ex)
+        {
+            throw Oops.Oh(ex.ToString());
+        }
+    }
+
+    /// <summary>
+    /// 鍒涘缓瀹炰綋 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    [ApiDescriptionSettings(Name = "CreateEntity"), HttpPost]
+    [DisplayName("鍒涘缓瀹炰綋")]
+    public void CreateEntity(CreateEntityInput input)
+    {
+        var config = App.GetOptions<DbConnectionOptions>().ConnectionConfigs.FirstOrDefault(u => u.ConfigId.ToString() == input.ConfigId);
+        input.Position = string.IsNullOrWhiteSpace(input.Position) ? "Admin.NET.Application" : input.Position;
+        input.EntityName = string.IsNullOrWhiteSpace(input.EntityName) ? (config.DbSettings.EnableUnderLine ? CodeGenUtil.CamelColumnName(input.TableName, null) : input.TableName) : input.EntityName;
+        string[] dbColumnNames = Array.Empty<string>();
+        // Entity.cs.vm涓槸鍏佽鍒涘缓娌℃湁鍩虹被鐨勫疄浣撶殑锛屾墍浠ヨ繖閲屼篃瑕佸仛鍑虹浉鍚岀殑鍒ゆ柇
+        if (!string.IsNullOrWhiteSpace(input.BaseClassName))
+        {
+            _codeGenOptions.EntityBaseColumn.TryGetValue(input.BaseClassName, out dbColumnNames);
+            if (dbColumnNames is null || dbColumnNames is { Length: 0 })
+                throw Oops.Oh("鍩虹被閰嶇疆鏂囦欢涓嶅瓨鍦ㄦ绫诲瀷");
+        }
+        var templatePath = GetEntityTemplatePath();
+        var targetPath = GetEntityTargetPath(input);
+        var db = _db.AsTenant().GetConnectionScope(input.ConfigId);
+        DbTableInfo dbTableInfo = db.DbMaintenance.GetTableInfoList(false).FirstOrDefault(u => u.Name == input.TableName || u.Name == input.TableName.ToLower()) ?? throw Oops.Oh(ErrorCodeEnum.db1001);
+        List<DbColumnInfo> dbColumnInfos = db.DbMaintenance.GetColumnInfosByTableName(input.TableName, false);
+        dbColumnInfos.ForEach(u =>
+        {
+            u.PropertyName = config.DbSettings.EnableUnderLine ? CodeGenUtil.CamelColumnName(u.DbColumnName, dbColumnNames) : u.DbColumnName; // 杞笅鍒掔嚎鍚庣殑鍒楀悕闇�瑕佸啀杞洖鏉�
+            u.DataType = CodeGenUtil.ConvertDataType(u, config.DbType);
+        });
+        if (_codeGenOptions.BaseEntityNames.Contains(input.BaseClassName, StringComparer.OrdinalIgnoreCase))
+            dbColumnInfos = dbColumnInfos.Where(u => !dbColumnNames.Contains(u.PropertyName, StringComparer.OrdinalIgnoreCase)).ToList();
+
+        var tContent = File.ReadAllText(templatePath);
+        var tResult = _viewEngine.RunCompileFromCached(tContent, new
+        {
+            NameSpace = $"{input.Position}.Entity",
+            input.TableName,
+            input.EntityName,
+            BaseClassName = string.IsNullOrWhiteSpace(input.BaseClassName) ? "" : $" : {input.BaseClassName}",
+            input.ConfigId,
+            dbTableInfo.Description,
+            TableField = dbColumnInfos
+        });
+        File.WriteAllText(targetPath, tResult, Encoding.UTF8);
+    }
+
+    /// <summary>
+    /// 鍒涘缓绉嶅瓙鏁版嵁 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    [ApiDescriptionSettings(Name = "CreateSeedData"), HttpPost]
+    [DisplayName("鍒涘缓绉嶅瓙鏁版嵁")]
+    public async void CreateSeedData(CreateSeedDataInput input)
+    {
+        var config = App.GetOptions<DbConnectionOptions>().ConnectionConfigs.FirstOrDefault(u => u.ConfigId.ToString() == input.ConfigId);
+        input.Position = string.IsNullOrWhiteSpace(input.Position) ? "Admin.NET.Core" : input.Position;
+
+        var templatePath = GetSeedDataTemplatePath();
+        var db = _db.AsTenant().GetConnectionScope(input.ConfigId);
+        var tableInfo = db.DbMaintenance.GetTableInfoList(false).First(u => u.Name == input.TableName); // 琛ㄥ悕
+        List<DbColumnInfo> dbColumnInfos = db.DbMaintenance.GetColumnInfosByTableName(input.TableName, false); // 鎵�鏈夊瓧娈�
+        IEnumerable<EntityInfo> entityInfos = await GetEntityInfos();
+        Type entityType = null;
+        foreach (var item in entityInfos)
+        {
+            if (tableInfo.Name.ToLower() != (config.DbSettings.EnableUnderLine ? UtilMethods.ToUnderLine(item.DbTableName) : item.DbTableName).ToLower()) continue;
+            entityType = item.Type;
+            break;
+        }
+
+        input.EntityName = entityType.Name;
+        input.SeedDataName = entityType.Name + "SeedData";
+        if (!string.IsNullOrWhiteSpace(input.Suffix))
+            input.SeedDataName += input.Suffix;
+        var targetPath = GetSeedDataTargetPath(input);
+
+        // 鏌ヨ鎵�鏈夋暟鎹�
+        var query = db.QueryableByObject(entityType);
+        DbColumnInfo orderField = null; // 鎺掑簭瀛楁
+        // 浼樺厛鐢ㄥ垱寤烘椂闂存帓搴�
+        orderField = dbColumnInfos.Where(u => u.DbColumnName.ToLower() == "create_time" || u.DbColumnName.ToLower() == "createtime").FirstOrDefault();
+        if (orderField != null)
+            query.OrderBy(orderField.DbColumnName);
+        // 鍏舵鐢↖d鎺掑簭
+        orderField = dbColumnInfos.Where(u => u.DbColumnName.ToLower() == "id").FirstOrDefault();
+        if (orderField != null)
+            query.OrderBy(orderField.DbColumnName);
+        object records = query.ToList();
+        var timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
+        var recordsJSON = JsonConvert.SerializeObject(records, Formatting.Indented, timeConverter);
+
+        // 妫�鏌ユ湁娌℃湁 System.Text.Json.Serialization.JsonIgnore 鐨勫睘鎬�
+        var jsonIgnoreProperties = entityType.GetProperties().Where(p => (p.GetAttribute<System.Text.Json.Serialization.JsonIgnoreAttribute>() != null ||
+            p.GetAttribute<JsonIgnoreAttribute>() != null) && p.GetAttribute<SugarColumn>() != null).ToList();
+        var jsonIgnoreInfo = new List<List<JsonIgnoredPropertyData>>();
+        if (jsonIgnoreProperties.Count > 0)
+        {
+            int recordIndex = 0;
+            foreach (var r in (IEnumerable)records)
+            {
+                List<JsonIgnoredPropertyData> record = new();
+                foreach (var item in jsonIgnoreProperties)
+                {
+                    object v = item.GetValue(r);
+                    string strValue = "null";
+                    if (v != null)
+                    {
+                        strValue = v.ToString();
+                        if (v.GetType() == typeof(string))
+                            strValue = "\"" + strValue + "\"";
+                        else if (v.GetType() == typeof(DateTime))
+                            strValue = "DateTime.Parse(\"" + ((DateTime)v).ToString("yyyy-MM-dd HH:mm:ss") + "\")";
+                    }
+                    record.Add(new JsonIgnoredPropertyData { RecordIndex = recordIndex, Name = item.Name, Value = strValue });
+                }
+                recordIndex++;
+                jsonIgnoreInfo.Add(record);
+            }
+        }
+
+        var tContent = File.ReadAllText(templatePath);
+        var data = new
+        {
+            NameSpace = $"{input.Position}.SeedData",
+            EntityNameSpace = entityType.Namespace,
+            input.TableName,
+            input.EntityName,
+            input.SeedDataName,
+            input.ConfigId,
+            tableInfo.Description,
+            JsonIgnoreInfo = jsonIgnoreInfo,
+            RecordsJSON = recordsJSON
+        };
+        var tResult = _viewEngine.RunCompile(tContent, data, builderAction: builder =>
+        {
+            builder.AddAssemblyReferenceByName("System.Linq");
+            builder.AddAssemblyReferenceByName("System.Collections");
+            builder.AddUsing("System.Collections.Generic");
+            builder.AddUsing("System.Linq");
+        });
+        File.WriteAllText(targetPath, tResult, Encoding.UTF8);
+    }
+
+    /// <summary>
+    /// 鑾峰彇搴撹〃淇℃伅
+    /// </summary>
+    /// <returns></returns>
+    private async Task<IEnumerable<EntityInfo>> GetEntityInfos()
+    {
+        var entityInfos = new List<EntityInfo>();
+
+        var type = typeof(SugarTable);
+        var types = new List<Type>();
+        if (_codeGenOptions.EntityAssemblyNames != null)
+        {
+            foreach (var assemblyName in _codeGenOptions.EntityAssemblyNames)
+            {
+                Assembly asm = Assembly.Load(assemblyName);
+                types.AddRange(asm.GetExportedTypes().ToList());
+            }
+        }
+        bool IsMyAttribute(Attribute[] o)
+        {
+            foreach (Attribute a in o)
+            {
+                if (a.GetType() == type)
+                    return true;
+            }
+            return false;
+        }
+        Type[] cosType = types.Where(o =>
+        {
+            return IsMyAttribute(Attribute.GetCustomAttributes(o, true));
+        }
+        ).ToArray();
+
+        foreach (var c in cosType)
+        {
+            var sugarAttribute = c.GetCustomAttributes(type, true)?.FirstOrDefault();
+
+            var des = c.GetCustomAttributes(typeof(DescriptionAttribute), true);
+            var description = "";
+            if (des.Length > 0)
+            {
+                description = ((DescriptionAttribute)des[0]).Description;
+            }
+            entityInfos.Add(new EntityInfo()
+            {
+                EntityName = c.Name,
+                DbTableName = sugarAttribute == null ? c.Name : ((SugarTable)sugarAttribute).TableName,
+                TableDescription = description,
+                Type = c
+            });
+        }
+        return await Task.FromResult(entityInfos);
+    }
+
+    /// <summary>
+    /// 鑾峰彇瀹炰綋妯℃澘鏂囦欢璺緞
+    /// </summary>
+    /// <returns></returns>
+    private static string GetEntityTemplatePath()
+    {
+        var templatePath = Path.Combine(App.WebHostEnvironment.WebRootPath, "Template");
+        return Path.Combine(templatePath, "Entity.cs.vm");
+    }
+
+    /// <summary>
+    /// 鑾峰彇绉嶅瓙鏁版嵁妯℃澘鏂囦欢璺緞
+    /// </summary>
+    /// <returns></returns>
+    private static string GetSeedDataTemplatePath()
+    {
+        var templatePath = Path.Combine(App.WebHostEnvironment.WebRootPath, "Template");
+        return Path.Combine(templatePath, "SeedData.cs.vm");
+    }
+
+    /// <summary>
+    /// 璁剧疆鐢熸垚瀹炰綋鏂囦欢璺緞
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private static string GetEntityTargetPath(CreateEntityInput input)
+    {
+        var backendPath = Path.Combine(new DirectoryInfo(App.WebHostEnvironment.ContentRootPath).Parent.FullName, input.Position, "Entity");
+        if (!Directory.Exists(backendPath))
+            Directory.CreateDirectory(backendPath);
+        return Path.Combine(backendPath, input.EntityName + ".cs");
+    }
+
+    /// <summary>
+    /// 璁剧疆鐢熸垚绉嶅瓙鏁版嵁鏂囦欢璺緞
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private static string GetSeedDataTargetPath(CreateSeedDataInput input)
+    {
+        var backendPath = Path.Combine(new DirectoryInfo(App.WebHostEnvironment.ContentRootPath).Parent.FullName, input.Position, "SeedData");
+        if (!Directory.Exists(backendPath))
+            Directory.CreateDirectory(backendPath);
+        return Path.Combine(backendPath, input.SeedDataName + ".cs");
+    }
+
+    /// <summary>
+    /// 澶囦唤鏁版嵁搴擄紙PostgreSQL锛夝煍�
+    /// </summary>
+    /// <returns></returns>
+    [HttpPost, NonUnify]
+    [DisplayName("澶囦唤鏁版嵁搴擄紙PostgreSQL锛�")]
+    public async Task<IActionResult> BackupDatabase()
+    {
+        if (_db.CurrentConnectionConfig.DbType != SqlSugar.DbType.PostgreSQL)
+            throw Oops.Oh("鍙敮鎸� PostgreSQL 鏁版嵁搴� 馃榿");
+
+        var npgsqlConn = new NpgsqlConnectionStringBuilder(_db.CurrentConnectionConfig.ConnectionString);
+        if (npgsqlConn == null || string.IsNullOrWhiteSpace(npgsqlConn.Host) || string.IsNullOrWhiteSpace(npgsqlConn.Username) || string.IsNullOrWhiteSpace(npgsqlConn.Password) || string.IsNullOrWhiteSpace(npgsqlConn.Database))
+            throw Oops.Oh("PostgreSQL 鏁版嵁搴撻厤缃敊璇�");
+
+        // 纭繚澶囦唤鐩綍瀛樺湪
+        var backupDirectory = Path.Combine(Directory.GetCurrentDirectory(), "backups");
+        Directory.CreateDirectory(backupDirectory);
+
+        // 鏋勫缓澶囦唤鏂囦欢鍚�
+        string backupFileName = $"backup_{DateTime.Now:yyyyMMddHHmmss}.sql";
+        string backupFilePath = Path.Combine(backupDirectory, backupFileName);
+
+        // 鍚姩pg_dump杩涚▼杩涜澶囦唤
+        // 璁剧疆瀵嗙爜锛歟xport PGPASSWORD='xxxxxx'
+        var bash = $"-U {npgsqlConn.Username} -h {npgsqlConn.Host} -p {npgsqlConn.Port} -E UTF8 -F c -b -v -f {backupFilePath} {npgsqlConn.Database}";
+        var startInfo = new ProcessStartInfo
+        {
+            FileName = "pg_dump",
+            Arguments = bash,
+            UseShellExecute = false,
+            RedirectStandardOutput = true,
+            RedirectStandardError = true,
+            CreateNoWindow = true,
+            EnvironmentVariables =
+            {
+                ["PGPASSWORD"] = npgsqlConn.Password
+            }
+        };
+
+        //_logger.LogInformation("澶囦唤鏁版嵁搴擄細pg_dump " + bash);
+
+        //try
+        //{
+        using (var backupProcess = Process.Start(startInfo))
+        {
+            await backupProcess.WaitForExitAsync();
+
+            //var output = await backupProcess.StandardOutput.ReadToEndAsync();
+            //var error = await backupProcess.StandardError.ReadToEndAsync();
+
+            // 妫�鏌ュ浠芥槸鍚︽垚鍔�
+            if (backupProcess.ExitCode != 0)
+            {
+                throw Oops.Oh($"澶囦唤澶辫触锛欵xitCode({backupProcess.ExitCode})");
+            }
+        }
+
+        //    _logger.LogInformation($"澶囦唤鎴愬姛锛歿backupFilePath}");
+        //}
+        //catch (Exception ex)
+        //{
+        //    _logger.LogError(ex, $"澶囦唤澶辫触锛�");
+        //    throw;
+        //}
+
+        // 鑻ュ浠芥垚鍔熷垯鎻愪緵涓嬭浇閾炬帴
+        return new FileStreamResult(new FileStream(backupFilePath, FileMode.Open), "application/octet-stream")
+        {
+            FileDownloadName = backupFileName
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Dict/Dto/DictDataInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Dict/Dto/DictDataInput.cs
new file mode 100644
index 0000000..eccdff3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Dict/Dto/DictDataInput.cs
@@ -0,0 +1,68 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class DictDataInput : BaseIdInput
+{
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    public StatusEnum Status { get; set; }
+}
+
+public class PageDictDataInput : BasePageInput
+{
+    /// <summary>
+    /// 瀛楀吀绫诲瀷Id
+    /// </summary>
+    public long DictTypeId { get; set; }
+
+    /// <summary>
+    /// 鍊�
+    /// </summary>
+    public string Value { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    public string Code { get; set; }
+}
+
+public class AddDictDataInput : SysDictData
+{
+}
+
+public class UpdateDictDataInput : AddDictDataInput
+{
+}
+
+public class DeleteDictDataInput : BaseIdInput
+{
+}
+
+public class GetDataDictDataInput
+{
+    /// <summary>
+    /// 瀛楀吀绫诲瀷Id
+    /// </summary>
+    [Required(ErrorMessage = "瀛楀吀绫诲瀷Id涓嶈兘涓虹┖"), DataValidation(ValidationTypes.Numeric)]
+    public long DictTypeId { get; set; }
+}
+
+public class QueryDictDataInput
+{
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    [Required(ErrorMessage = "瀛楀吀鍞竴缂栫爜涓嶈兘涓虹┖")]
+    public string Code { get; set; }
+
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    public int? Status { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Dict/Dto/DictTypeInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Dict/Dto/DictTypeInput.cs
new file mode 100644
index 0000000..7884ada
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Dict/Dto/DictTypeInput.cs
@@ -0,0 +1,49 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class DictTypeInput : BaseIdInput
+{
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    public StatusEnum Status { get; set; }
+}
+
+public class PageDictTypeInput : BasePageInput
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    public string Code { get; set; }
+}
+
+public class AddDictTypeInput : SysDictType
+{
+}
+
+public class UpdateDictTypeInput : AddDictTypeInput
+{
+}
+
+public class DeleteDictTypeInput : BaseIdInput
+{
+}
+
+public class GetDataDictTypeInput
+{
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    [Required(ErrorMessage = "瀛楀吀绫诲瀷缂栫爜涓嶈兘涓虹┖")]
+    public string Code { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Dict/SysDictDataService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Dict/SysDictDataService.cs
new file mode 100644
index 0000000..0245fb0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Dict/SysDictDataService.cs
@@ -0,0 +1,184 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺瀛楀吀鍊兼湇鍔� 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 420)]
+[AllowAnonymous]
+public class SysDictDataService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysDictData> _sysDictDataRep;
+
+    public SysDictDataService(SqlSugarRepository<SysDictData> sysDictDataRep)
+    {
+        _sysDictDataRep = sysDictDataRep;
+    }
+
+    /// <summary>
+    /// 鑾峰彇瀛楀吀鍊煎垎椤靛垪琛� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇瀛楀吀鍊煎垎椤靛垪琛�")]
+    public async Task<SqlSugarPagedList<SysDictData>> Page(PageDictDataInput input)
+    {
+        return await _sysDictDataRep.AsQueryable()
+            .Where(u => u.DictTypeId == input.DictTypeId)
+            .WhereIF(!string.IsNullOrEmpty(input.Code?.Trim()), u => u.Code.Contains(input.Code))
+            .WhereIF(!string.IsNullOrEmpty(input.Value?.Trim()), u => u.Value.Contains(input.Value))
+            .OrderBy(u => new { u.OrderNo, u.Code })
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 鑾峰彇瀛楀吀鍊煎垪琛� 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇瀛楀吀鍊煎垪琛�")]
+    public async Task<List<SysDictData>> GetList([FromQuery] GetDataDictDataInput input)
+    {
+        return await GetDictDataListByDictTypeId(input.DictTypeId);
+    }
+
+    /// <summary>
+    /// 澧炲姞瀛楀吀鍊� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("澧炲姞瀛楀吀鍊�")]
+    public async Task AddDictData(AddDictDataInput input)
+    {
+        var isExist = await _sysDictDataRep.IsAnyAsync(u => u.Code == input.Code && u.DictTypeId == input.DictTypeId);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D3003);
+
+        await _sysDictDataRep.InsertAsync(input.Adapt<SysDictData>());
+    }
+
+    /// <summary>
+    /// 鏇存柊瀛楀吀鍊� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊瀛楀吀鍊�")]
+    public async Task UpdateDictData(UpdateDictDataInput input)
+    {
+        var isExist = await _sysDictDataRep.IsAnyAsync(u => u.Id == input.Id);
+        if (!isExist) throw Oops.Oh(ErrorCodeEnum.D3004);
+
+        isExist = await _sysDictDataRep.IsAnyAsync(u => u.Code == input.Code && u.DictTypeId == input.DictTypeId && u.Id != input.Id);
+        if (isExist) throw Oops.Oh(ErrorCodeEnum.D3003);
+
+        await _sysDictDataRep.UpdateAsync(input.Adapt<SysDictData>());
+    }
+
+    /// <summary>
+    /// 鍒犻櫎瀛楀吀鍊� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎瀛楀吀鍊�")]
+    public async Task DeleteDictData(DeleteDictDataInput input)
+    {
+        var dictData = await _sysDictDataRep.GetFirstAsync(u => u.Id == input.Id);
+        if (dictData == null)
+            throw Oops.Oh(ErrorCodeEnum.D3004);
+
+        await _sysDictDataRep.DeleteAsync(dictData);
+    }
+
+    /// <summary>
+    /// 鑾峰彇瀛楀吀鍊艰鎯� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇瀛楀吀鍊艰鎯�")]
+    public async Task<SysDictData> GetDetail([FromQuery] DictDataInput input)
+    {
+        return await _sysDictDataRep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+    /// <summary>
+    /// 淇敼瀛楀吀鍊肩姸鎬� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("淇敼瀛楀吀鍊肩姸鎬�")]
+    public async Task SetStatus(DictDataInput input)
+    {
+        var dictData = await _sysDictDataRep.GetFirstAsync(u => u.Id == input.Id);
+        if (dictData == null)
+            throw Oops.Oh(ErrorCodeEnum.D3004);
+
+        if (!Enum.IsDefined(typeof(StatusEnum), input.Status))
+            throw Oops.Oh(ErrorCodeEnum.D3005);
+
+        dictData.Status = input.Status;
+        await _sysDictDataRep.UpdateAsync(dictData);
+    }
+
+    /// <summary>
+    /// 鏍规嵁瀛楀吀绫诲瀷Id鑾峰彇瀛楀吀鍊奸泦鍚�
+    /// </summary>
+    /// <param name="dictTypeId"></param>
+    /// <returns></returns>
+    [NonAction]
+    public async Task<List<SysDictData>> GetDictDataListByDictTypeId(long dictTypeId)
+    {
+        return await _sysDictDataRep.AsQueryable()
+            .Where(u => u.DictTypeId == dictTypeId)
+            .OrderBy(u => new { u.OrderNo, u.Code })
+            .ToListAsync();
+    }
+
+    /// <summary>
+    /// 鏍规嵁瀛楀吀绫诲瀷缂栫爜鑾峰彇瀛楀吀鍊奸泦鍚� 馃敄
+    /// </summary>
+    /// <param name="code"></param>
+    /// <returns></returns>
+    [DisplayName("鏍规嵁瀛楀吀绫诲瀷缂栫爜鑾峰彇瀛楀吀鍊奸泦鍚�")]
+    public async Task<List<SysDictData>> GetDataList(string code)
+    {
+        return await _sysDictDataRep.Context.Queryable<SysDictType>()
+            .LeftJoin<SysDictData>((u, a) => u.Id == a.DictTypeId)
+            .Where((u, a) => u.Code == code && u.Status == StatusEnum.Enable && a.Status == StatusEnum.Enable)
+            .OrderBy((u, a) => new { a.OrderNo, a.Code })
+            .Select((u, a) => a).ToListAsync();
+    }
+
+    /// <summary>
+    /// 鏍规嵁鏌ヨ鏉′欢鑾峰彇瀛楀吀鍊奸泦鍚� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鏍规嵁鏌ヨ鏉′欢鑾峰彇瀛楀吀鍊奸泦鍚�")]
+    public async Task<List<SysDictData>> GetDataList([FromQuery] QueryDictDataInput input)
+    {
+        return await _sysDictDataRep.Context.Queryable<SysDictType>()
+            .LeftJoin<SysDictData>((u, a) => u.Id == a.DictTypeId)
+            .Where((u, a) => u.Code == input.Code)
+            .WhereIF(input.Status.HasValue, (u, a) => a.Status == (StatusEnum)input.Status.Value)
+            .OrderBy((u, a) => new { a.OrderNo, a.Code })
+            .Select((u, a) => a).ToListAsync();
+    }
+
+    /// <summary>
+    /// 鏍规嵁瀛楀吀绫诲瀷Id鍒犻櫎瀛楀吀鍊�
+    /// </summary>
+    /// <param name="dictTypeId"></param>
+    /// <returns></returns>
+    [NonAction]
+    public async Task DeleteDictData(long dictTypeId)
+    {
+        await _sysDictDataRep.DeleteAsync(u => u.DictTypeId == dictTypeId);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Dict/SysDictTypeService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Dict/SysDictTypeService.cs
new file mode 100644
index 0000000..eabb99a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Dict/SysDictTypeService.cs
@@ -0,0 +1,166 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺瀛楀吀绫诲瀷鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 430)]
+[AllowAnonymous]
+public class SysDictTypeService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysDictType> _sysDictTypeRep;
+    private readonly SysDictDataService _sysDictDataService;
+
+    public SysDictTypeService(SqlSugarRepository<SysDictType> sysDictTypeRep,
+        SysDictDataService sysDictDataService)
+    {
+        _sysDictTypeRep = sysDictTypeRep;
+        _sysDictDataService = sysDictDataService;
+    }
+
+    /// <summary>
+    /// 鑾峰彇瀛楀吀绫诲瀷鍒嗛〉鍒楄〃 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇瀛楀吀绫诲瀷鍒嗛〉鍒楄〃")]
+    public async Task<SqlSugarPagedList<SysDictType>> Page(PageDictTypeInput input)
+    {
+        return await _sysDictTypeRep.AsQueryable()
+            .WhereIF(!string.IsNullOrEmpty(input.Code?.Trim()), u => u.Code.Contains(input.Code))
+            .WhereIF(!string.IsNullOrEmpty(input.Name?.Trim()), u => u.Name.Contains(input.Name))
+            .OrderBy(u => new { u.OrderNo, u.Code })
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 鑾峰彇瀛楀吀绫诲瀷鍒楄〃 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇瀛楀吀绫诲瀷鍒楄〃")]
+    public async Task<List<SysDictType>> GetList()
+    {
+        return await _sysDictTypeRep.AsQueryable().OrderBy(u => new { u.OrderNo, u.Code }).ToListAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇瀛楀吀绫诲瀷-鍊煎垪琛� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [DisplayName("鑾峰彇瀛楀吀绫诲瀷-鍊煎垪琛�")]
+    public async Task<List<SysDictData>> GetDataList([FromQuery] GetDataDictTypeInput input)
+    {
+        var dictType = await _sysDictTypeRep.GetFirstAsync(u => u.Code == input.Code);
+        if (dictType == null)
+            throw Oops.Oh(ErrorCodeEnum.D3000);
+
+        return await _sysDictDataService.GetDictDataListByDictTypeId(dictType.Id);
+    }
+
+    /// <summary>
+    /// 娣诲姞瀛楀吀绫诲瀷 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("娣诲姞瀛楀吀绫诲瀷")]
+    public async Task AddDictType(AddDictTypeInput input)
+    {
+        var isExist = await _sysDictTypeRep.IsAnyAsync(u => u.Code == input.Code);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D3001);
+
+        await _sysDictTypeRep.InsertAsync(input.Adapt<SysDictType>());
+    }
+
+    /// <summary>
+    /// 鏇存柊瀛楀吀绫诲瀷 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊瀛楀吀绫诲瀷")]
+    public async Task UpdateDictType(UpdateDictTypeInput input)
+    {
+        var isExist = await _sysDictTypeRep.IsAnyAsync(u => u.Id == input.Id);
+        if (!isExist)
+            throw Oops.Oh(ErrorCodeEnum.D3000);
+
+        isExist = await _sysDictTypeRep.IsAnyAsync(u => u.Code == input.Code && u.Id != input.Id);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D3001);
+
+        await _sysDictTypeRep.UpdateAsync(input.Adapt<SysDictType>());
+    }
+
+    /// <summary>
+    /// 鍒犻櫎瀛楀吀绫诲瀷 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎瀛楀吀绫诲瀷")]
+    public async Task DeleteDictType(DeleteDictTypeInput input)
+    {
+        var dictType = await _sysDictTypeRep.GetFirstAsync(u => u.Id == input.Id);
+        if (dictType == null)
+            throw Oops.Oh(ErrorCodeEnum.D3000);
+
+        // 鍒犻櫎瀛楀吀鍊�
+        await _sysDictTypeRep.DeleteAsync(dictType);
+        await _sysDictDataService.DeleteDictData(input.Id);
+    }
+
+    /// <summary>
+    /// 鑾峰彇瀛楀吀绫诲瀷璇︽儏 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇瀛楀吀绫诲瀷璇︽儏")]
+    public async Task<SysDictType> GetDetail([FromQuery] DictTypeInput input)
+    {
+        return await _sysDictTypeRep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+    /// <summary>
+    /// 淇敼瀛楀吀绫诲瀷鐘舵�� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("淇敼瀛楀吀绫诲瀷鐘舵��")]
+    public async Task SetStatus(DictTypeInput input)
+    {
+        var dictType = await _sysDictTypeRep.GetFirstAsync(u => u.Id == input.Id);
+        if (dictType == null)
+            throw Oops.Oh(ErrorCodeEnum.D3000);
+
+        if (!Enum.IsDefined(typeof(StatusEnum), input.Status))
+            throw Oops.Oh(ErrorCodeEnum.D3005);
+
+        dictType.Status = input.Status;
+        await _sysDictTypeRep.UpdateAsync(dictType);
+    }
+
+    /// <summary>
+    /// 鑾峰彇鎵�鏈夊瓧鍏搁泦鍚� 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [DisplayName("鑾峰彇鎵�鏈夊瓧鍏搁泦鍚�")]
+    public async Task<List<SysDictType>> GetAllDictList()
+    {
+        var dictList = await _sysDictTypeRep.AsQueryable()
+            .Includes(u => u.Children)
+            .OrderBy(u => new { u.OrderNo, u.Code })
+            .ToListAsync();
+        // 瀛楀吀鏁版嵁椤规帓搴�
+        dictList.ForEach(u => u.Children = u.Children.OrderBy(c => c.OrderNo).ThenBy(c => c.Code).ToList());
+        return dictList;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Enum/Dto/EnumDataOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Enum/Dto/EnumDataOutput.cs
new file mode 100644
index 0000000..730532e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Enum/Dto/EnumDataOutput.cs
@@ -0,0 +1,18 @@
+锘縩amespace Admin.NET.Core.Service
+{
+    /// <summary>
+    /// 鏋氫妇杈撳嚭鍙傛暟
+    /// </summary>
+    public class EnumDataOutput
+    {
+        /// <summary>
+        /// 瀛楀吀Id
+        /// </summary>
+        public int Code { get; set; }
+
+        /// <summary>
+        /// 瀛楀吀鍊�
+        /// </summary>
+        public string Value { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Enum/Dto/EnumInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Enum/Dto/EnumInput.cs
new file mode 100644
index 0000000..448ecc4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Enum/Dto/EnumInput.cs
@@ -0,0 +1,49 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鏋氫妇杈撳叆鍙傛暟
+/// </summary>
+public class EnumInput
+{
+    /// <summary>
+    /// 鏋氫妇绫诲瀷鍚嶇О
+    /// </summary>
+    /// <example>AccountTypeEnum</example>
+    [Required(ErrorMessage = "鏋氫妇绫诲瀷涓嶈兘涓虹┖")]
+    public string EnumName { get; set; }
+}
+
+
+/// <summary>
+/// 鏋氫妇杈撳叆鍙傛暟
+/// </summary>
+public class EnumDataInput
+{
+    /// <summary>
+    /// 鏋氫妇绫诲瀷鍚嶇О
+    /// </summary>
+    [Required(ErrorMessage = "鏋氫妇绫诲瀷涓嶈兘涓虹┖")]
+    public string EnumName { get; set; }
+}
+public class QueryEnumDataInput
+{
+    /// <summary>
+    /// 瀹炰綋鍚嶇О
+    /// </summary>
+    /// <example>SysUser</example>
+    [Required(ErrorMessage = "瀹炰綋鍚嶇О涓嶈兘涓虹┖")]
+    public string EntityName { get; set; }
+
+    /// <summary>
+    /// 瀛楁鍚嶇О
+    /// </summary>
+    /// <example>AccountType</example>
+    [Required(ErrorMessage = "瀛楁鍚嶇О涓嶈兘涓虹┖")]
+    public string FieldName { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Enum/Dto/EnumOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Enum/Dto/EnumOutput.cs
new file mode 100644
index 0000000..f7b9006
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Enum/Dto/EnumOutput.cs
@@ -0,0 +1,33 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鏋氫妇绫诲瀷杈撳嚭鍙傛暟
+/// </summary>
+public class EnumTypeOutput
+{
+    /// <summary>
+    /// 鏋氫妇绫诲瀷鎻忚堪
+    /// </summary>
+    public string TypeDescribe { get; set; }
+
+    /// <summary>
+    /// 鏋氫妇绫诲瀷鍚嶇О
+    /// </summary>
+    public string TypeName { get; set; }
+
+    /// <summary>
+    /// 鏋氫妇绫诲瀷澶囨敞
+    /// </summary>
+    public string TypeRemark { get; set; }
+
+    /// <summary>
+    /// 鏋氫妇瀹炰綋
+    /// </summary>
+    public List<EnumEntity> EnumEntities { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Enum/SysEnumService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Enum/SysEnumService.cs
new file mode 100644
index 0000000..2caf30f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Enum/SysEnumService.cs
@@ -0,0 +1,124 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using COSXML.Utils;
+using System.Linq;
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鏋氫妇鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 275)]
+[AllowAnonymous]
+public class SysEnumService : IDynamicApiController, ITransient
+{
+    private readonly EnumOptions _enumOptions;
+
+    public SysEnumService(IOptions<EnumOptions> enumOptions)
+    {
+        _enumOptions = enumOptions.Value;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鎵�鏈夋灇涓剧被鍨� 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鎵�鏈夋灇涓剧被鍨�")]
+    public List<EnumTypeOutput> GetEnumTypeList()
+    {
+        var enumTypeList = App.EffectiveTypes.Where(u => u.IsEnum && _enumOptions.EntityAssemblyNames.Contains(u.Assembly.GetName().Name)).OrderBy(u => u.Name).OrderBy(u => u.FullName).ToList();
+
+        var result = new List<EnumTypeOutput>();
+        foreach (var item in enumTypeList)
+        {
+            result.Add(GetEnumDescription(item));
+        }
+        return result;
+    }
+
+    /// <summary>
+    /// 鑾峰彇瀛楀吀鎻忚堪
+    /// </summary>
+    /// <param name="type"></param>
+    /// <returns></returns>
+    private static EnumTypeOutput GetEnumDescription(Type type)
+    {
+        string description = type.Name;
+        var attrs = type.GetCustomAttributes(typeof(DescriptionAttribute), false);
+        if (attrs.Any())
+        {
+            var att = ((DescriptionAttribute[])attrs)[0];
+            description = att.Description;
+        }
+        var enumType = App.EffectiveTypes.FirstOrDefault(t => t.IsEnum && t.Name == type.Name);
+        return new EnumTypeOutput
+        {
+            TypeDescribe = description,
+            TypeName = type.Name,
+            TypeRemark = description,
+            EnumEntities = enumType.EnumToList()
+        };
+    }
+
+    /// <summary>
+    /// 閫氳繃鏋氫妇绫诲瀷鑾峰彇鏋氫妇鍊奸泦鍚� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("閫氳繃鏋氫妇绫诲瀷鑾峰彇鏋氫妇鍊奸泦鍚�")]
+    public List<EnumEntity> GetEnumDataList([FromQuery] EnumInput input)
+    {
+        var enumType = App.EffectiveTypes.FirstOrDefault(u => u.IsEnum && u.Name == input.EnumName);
+        if (enumType is not { IsEnum: true })
+            throw Oops.Oh(ErrorCodeEnum.D1503);
+
+        return enumType.EnumToList();
+    }
+
+    /// <summary>
+    /// 閫氳繃瀹炰綋鐨勫瓧娈靛悕鑾峰彇鐩稿叧鏋氫妇鍊奸泦鍚堬紙鐩墠浠呮敮鎸佹灇涓剧被鍨嬶級 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("閫氳繃瀹炰綋鐨勫瓧娈靛悕鑾峰彇鐩稿叧鏋氫妇鍊奸泦鍚�")]
+    public static List<EnumEntity> GetEnumDataListByField([FromQuery] QueryEnumDataInput input)
+    {
+        // 鑾峰彇瀹炰綋绫诲瀷灞炴��
+        Type entityType = App.EffectiveTypes.FirstOrDefault(u => u.Name == input.EntityName) ?? throw Oops.Oh(ErrorCodeEnum.D1504);
+
+        // 鑾峰彇瀛楁绫诲瀷
+        var fieldType = entityType.GetProperties().FirstOrDefault(u => u.Name == input.FieldName)?.PropertyType;
+        if (fieldType is not { IsEnum: true })
+            throw Oops.Oh(ErrorCodeEnum.D1503);
+
+        return fieldType.EnumToList();
+    }
+
+
+    /// <summary>
+    /// 閫氳繃鏋氫妇绫诲瀷鑾峰彇鏋氫妇鍊煎瓧绗︿覆闆嗗悎
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("閫氳繃瀹炰綋鐨勫瓧娈靛悕鑾峰彇鐩稿叧鏋氫妇鍊奸泦鍚�")]
+    public string GetEnumDataListStr([FromQuery] EnumDataInput input)
+    {
+        // 鏌ユ壘鏋氫妇
+        var enumType = App.EffectiveTypes.FirstOrDefault(t => t.IsEnum && t.Name == input.EnumName);
+        if (enumType == null)
+            throw Oops.Oh(ErrorCodeEnum.D1502).StatusCode(405);
+
+        // 鑾峰彇鏋氫妇鐨凨ey鍜屾弿杩�
+        List<EnumDataOutput> retList = EnumExtension.GetEnumDescDictionary(enumType)
+               .Select(x => new EnumDataOutput
+               {
+                   Code = x.Key,
+                   Value = x.Value
+               }).ToList();
+        return string.Join(",", retList.Select(x => x.Value).ToList());
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/File/Dto/FileInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/File/Dto/FileInput.cs
new file mode 100644
index 0000000..02aaf87
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/File/Dto/FileInput.cs
@@ -0,0 +1,65 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class FileInput : BaseIdInput
+{
+    /// <summary>
+    /// 鏂囦欢鍚嶇О
+    /// </summary>
+    public string FileName { get; set; }
+
+    /// <summary>
+    /// 鏂囦欢Url
+    /// </summary>
+    public string? Url { get; set; }
+}
+
+public class PageFileInput : BasePageInput
+{
+    /// <summary>
+    /// 鏂囦欢鍚嶇О
+    /// </summary>
+    public string FileName { get; set; }
+
+    /// <summary>
+    /// 寮�濮嬫椂闂�
+    /// </summary>
+    public DateTime? StartTime { get; set; }
+
+    /// <summary>
+    /// 缁撴潫鏃堕棿
+    /// </summary>
+    public DateTime? EndTime { get; set; }
+}
+
+public class DeleteFileInput : BaseIdInput
+{
+}
+
+public class UploadFileFromBase64Input
+{
+    /// <summary>
+    /// 鏂囦欢鍐呭
+    /// </summary>
+    public string FileDataBase64 { get; set; }
+
+    /// <summary>
+    /// 鏂囦欢绫诲瀷( "image/jpeg",)
+    /// </summary>
+    public string ContentType { get; set; }
+
+    /// <summary>
+    /// 鏂囦欢鍚嶇О
+    /// </summary>
+    public string FileName { get; set; }
+
+    /// <summary>
+    /// 淇濆瓨璺緞
+    /// </summary>
+    public string Path { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/File/SysFileService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/File/SysFileService.cs
new file mode 100644
index 0000000..db31fbf
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/File/SysFileService.cs
@@ -0,0 +1,423 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Aliyun.OSS.Util;
+using Furion.VirtualFileServer;
+using OnceMi.AspNetCore.OSS;
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鏂囦欢鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 410)]
+public class SysFileService : IDynamicApiController, ITransient
+{
+    private readonly UserManager _userManager;
+    private readonly SqlSugarRepository<SysFile> _sysFileRep;
+    private readonly OSSProviderOptions _OSSProviderOptions;
+    private readonly UploadOptions _uploadOptions;
+    private readonly IOSSService _OSSService;
+    private readonly string _imageType = ".jpg.png.bmp.gif.tif";
+
+    public SysFileService(UserManager userManager,
+        SqlSugarRepository<SysFile> sysFileRep,
+        IOptions<OSSProviderOptions> oSSProviderOptions,
+        IOptions<UploadOptions> uploadOptions,
+        IOSSServiceFactory ossServiceFactory)
+    {
+        _userManager = userManager;
+        _sysFileRep = sysFileRep;
+        _OSSProviderOptions = oSSProviderOptions.Value;
+        _uploadOptions = uploadOptions.Value;
+        if (_OSSProviderOptions.IsEnable)
+            _OSSService = ossServiceFactory.Create(Enum.GetName(_OSSProviderOptions.Provider));
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏂囦欢鍒嗛〉鍒楄〃 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鏂囦欢鍒嗛〉鍒楄〃")]
+    public async Task<SqlSugarPagedList<SysFile>> Page(PageFileInput input)
+    {
+        return await _sysFileRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.FileName), u => u.FileName.Contains(input.FileName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.StartTime.ToString()) && !string.IsNullOrWhiteSpace(input.EndTime.ToString()),
+                        u => u.CreateTime >= input.StartTime && u.CreateTime <= input.EndTime)
+            .OrderBy(u => u.CreateTime, OrderByType.Desc)
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓婁紶鏂囦欢 馃敄
+    /// </summary>
+    /// <param name="file"></param>
+    /// <param name="path"></param>
+    /// <returns></returns>
+    [DisplayName("涓婁紶鏂囦欢")]
+    [AllowAnonymous]
+    public async Task<SysFile> UploadFile([Required] IFormFile file, [FromQuery] string? path)
+    {
+        return await HandleUploadFile(file, path);
+    }
+
+    /// <summary>
+    /// 涓婁紶鏂囦欢Base64
+    /// </summary>
+    /// <param name="strBase64"></param>
+    /// <param name="fileName"></param>
+    /// <param name="contentType"></param>
+    /// <param name="path"></param>
+    /// <returns></returns>
+    private async Task<SysFile> UploadFileFromBase64(string strBase64, string fileName, string contentType, string? path)
+    {
+        byte[] fileData = Convert.FromBase64String(strBase64);
+        var ms = new MemoryStream();
+        ms.Write(fileData);
+        ms.Seek(0, SeekOrigin.Begin);
+        if (string.IsNullOrEmpty(fileName))
+            fileName = $"{YitIdHelper.NextId()}.jpg";
+        if (string.IsNullOrEmpty(contentType))
+            contentType = "image/jpg";
+        IFormFile formFile = new FormFile(ms, 0, fileData.Length, "file", fileName)
+        {
+            Headers = new HeaderDictionary(),
+            ContentType = contentType
+        };
+        return await UploadFile(formFile, path);
+    }
+
+    /// <summary>
+    /// 涓婁紶鏂囦欢Base64 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("涓婁紶鏂囦欢Base64")]
+    [HttpPost]
+    public async Task<SysFile> UploadFileFromBase64(UploadFileFromBase64Input input)
+    {
+        return await UploadFileFromBase64(input.FileDataBase64, input.FileName, input.ContentType, input.Path);
+    }
+
+    /// <summary>
+    /// 涓婁紶澶氭枃浠� 馃敄
+    /// </summary>
+    /// <param name="files"></param>
+    /// <returns></returns>
+    [DisplayName("涓婁紶澶氭枃浠�")]
+    public async Task<List<SysFile>> UploadFiles([Required] List<IFormFile> files)
+    {
+        var filelist = new List<SysFile>();
+        foreach (var file in files)
+        {
+            filelist.Add(await UploadFile(file, ""));
+        }
+        return filelist;
+    }
+
+    /// <summary>
+    /// 鏍规嵁鏂囦欢Id鎴朥rl涓嬭浇 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鏍规嵁鏂囦欢Id鎴朥rl涓嬭浇")]
+    public async Task<IActionResult> DownloadFile(FileInput input)
+    {
+        var file = input.Id > 0 ? await GetFile(input) : await _sysFileRep.GetFirstAsync(u => u.Url == input.Url);
+        var fileName = HttpUtility.UrlEncode(file.FileName, Encoding.GetEncoding("UTF-8"));
+        if (_OSSProviderOptions.IsEnable)
+        {
+            var filePath = string.Concat(file.FilePath, "/", file.Id.ToString() + file.Suffix);
+            var stream = await (await _OSSService.PresignedGetObjectAsync(file.BucketName.ToString(), filePath, 5)).GetAsStreamAsync();
+            return new FileStreamResult(stream.Stream, "application/octet-stream") { FileDownloadName = fileName + file.Suffix };
+        }
+        else
+        {
+            var filePath = Path.Combine(file.FilePath, file.Id.ToString() + file.Suffix);
+            var path = Path.Combine(App.WebHostEnvironment.WebRootPath, filePath);
+            return new FileStreamResult(new FileStream(path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName + file.Suffix };
+        }
+    }
+
+    /// <summary>
+    /// 涓嬭浇鎸囧畾鏂囦欢Base64鏍煎紡 馃敄
+    /// </summary>
+    /// <param name="url"></param>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [DisplayName("涓嬭浇鎸囧畾鏂囦欢Base64鏍煎紡")]
+    public async Task<string> DownloadFileBase64([FromBody] string url)
+    {
+        if (_OSSProviderOptions.IsEnable)
+        {
+            using var httpClient = new HttpClient();
+            HttpResponseMessage response = await httpClient.GetAsync(url);
+            if (response.IsSuccessStatusCode)
+            {
+                // 璇诲彇鏂囦欢鍐呭骞跺皢鍏惰浆鎹负 Base64 瀛楃涓�
+                byte[] fileBytes = await response.Content.ReadAsByteArrayAsync();
+                return Convert.ToBase64String(fileBytes);
+            }
+            else
+            {
+                throw new HttpRequestException($"Request failed with status code: {response.StatusCode}");
+            }
+        }
+        else
+        {
+            var sysFile = await _sysFileRep.GetFirstAsync(u => u.Url == url) ?? throw Oops.Oh($"鏂囦欢涓嶅瓨鍦�");
+            var filePath = Path.Combine(App.WebHostEnvironment.WebRootPath, sysFile.FilePath);
+            if (!Directory.Exists(filePath))
+                Directory.CreateDirectory(filePath);
+
+            var realFile = Path.Combine(filePath, $"{sysFile.Id}{sysFile.Suffix}");
+            if (!File.Exists(realFile))
+                throw Oops.Oh($"鏂囦欢[{realFile}]涓嶅湪瀛�");
+            byte[] fileBytes = File.ReadAllBytes(realFile);
+            return Convert.ToBase64String(fileBytes);
+        }
+    }
+
+    /// <summary>
+    /// 鍒犻櫎鏂囦欢 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎鏂囦欢")]
+    public async Task DeleteFile(DeleteFileInput input)
+    {
+        var file = await _sysFileRep.GetFirstAsync(u => u.Id == input.Id);
+        if (file != null)
+        {
+            await _sysFileRep.DeleteAsync(file);
+
+            if (_OSSProviderOptions.IsEnable)
+            {
+                await _OSSService.RemoveObjectAsync(file.BucketName.ToString(), string.Concat(file.FilePath, "/", $"{input.Id}{file.Suffix}"));
+            }
+            else
+            {
+                var filePath = Path.Combine(App.WebHostEnvironment.WebRootPath, file.FilePath, input.Id.ToString() + file.Suffix);
+                if (File.Exists(filePath))
+                    File.Delete(filePath);
+            }
+        }
+    }
+
+    /// <summary>
+    /// 鏇存柊鏂囦欢 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊鏂囦欢")]
+    public async Task UpdateFile(FileInput input)
+    {
+        var isExist = await _sysFileRep.IsAnyAsync(u => u.Id == input.Id);
+        if (!isExist) throw Oops.Oh(ErrorCodeEnum.D8000);
+
+        await _sysFileRep.UpdateAsync(u => new SysFile() { FileName = input.FileName }, u => u.Id == input.Id);
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏂囦欢
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private async Task<SysFile> GetFile([FromQuery] FileInput input)
+    {
+        var file = await _sysFileRep.GetFirstAsync(u => u.Id == input.Id);
+        return file ?? throw Oops.Oh(ErrorCodeEnum.D8000);
+    }
+
+    /// <summary>
+    /// 涓婁紶鏂囦欢
+    /// </summary>
+    /// <param name="file">鏂囦欢</param>
+    /// <param name="savePath">璺緞</param>
+    /// <param name="allowSuffix">鍏佽鏍煎紡锛�.jpg.png.gif.tif.bmp</param>
+    /// <returns></returns>
+    private async Task<SysFile> HandleUploadFile(IFormFile file, string savePath, string allowSuffix = "")
+    {
+        if (file == null) throw Oops.Oh(ErrorCodeEnum.D8000);
+
+        // 鍒ゆ柇鏄惁閲嶅涓婁紶鐨勬枃浠�
+        var sizeKb = (long)(file.Length / 1024.0); // 澶у皬KB
+        var fileMd5 = string.Empty;
+        if (_uploadOptions.EnableMd5)
+        {
+            using (var fileStream = file.OpenReadStream())
+            {
+                fileMd5 = OssUtils.ComputeContentMd5(fileStream, fileStream.Length);
+            }
+            /*
+             * Mysql8 涓鏋滀娇鐢ㄤ簡 utf8mb4_general_ci 涔嬪鐨勭紪鐮佷細鍑洪敊锛屽敖閲忛伩鍏嶅湪鏉′欢閲屼娇鐢�.ToString()
+             * 鍥犱负 Squsugar 骞朵笉鏄妸鍙橀噺杞崲涓哄瓧绗︿覆鏉ユ瀯閫燬QL璇彞锛岃�屾槸鏋勯�犱簡CAST(123 AS CHAR)杩欐牱鐨勮鍙ワ紝杩欐牱杩欎釜杩斿洖鍊兼槸utf8mb4_general_ci锛屾墍浠ュ鏄撳嚭閿欍��
+             */
+            var strSizeKb = sizeKb.ToString();
+            var sysFile = await _sysFileRep.GetFirstAsync(u => u.FileMd5 == fileMd5 && (u.SizeKb == null || u.SizeKb == strSizeKb));
+            if (sysFile != null) return sysFile;
+        }
+
+        // 楠岃瘉鏂囦欢绫诲瀷
+        if (!_uploadOptions.ContentType.Contains(file.ContentType))
+            throw Oops.Oh(ErrorCodeEnum.D8001);
+
+        // 楠岃瘉鏂囦欢澶у皬
+        if (sizeKb > _uploadOptions.MaxSize)
+            throw Oops.Oh(ErrorCodeEnum.D8002);
+
+        // 鑾峰彇鏂囦欢鍚庣紑
+        var suffix = Path.GetExtension(file.FileName).ToLower(); // 鍚庣紑
+        if (string.IsNullOrWhiteSpace(suffix))
+        {
+            var contentTypeProvider = FS.GetFileExtensionContentTypeProvider();
+            suffix = contentTypeProvider.Mappings.FirstOrDefault(u => u.Value == file.ContentType).Key;
+            // 淇敼 image/jpeg 绫诲瀷杩斿洖鐨� .jpe 鍚庣紑
+            if (suffix == ".jpe")
+                suffix = ".jpg";
+        }
+        if (string.IsNullOrWhiteSpace(suffix))
+            throw Oops.Oh(ErrorCodeEnum.D8003);
+
+        // 闃叉瀹㈡埛绔吉閫犳枃浠剁被鍨�
+        if (!string.IsNullOrWhiteSpace(allowSuffix) && !allowSuffix.Contains(suffix))
+            throw Oops.Oh(ErrorCodeEnum.D8003);
+        if (!VerifyFileExtensionName.IsSameType(file.OpenReadStream(), suffix))
+            throw Oops.Oh(ErrorCodeEnum.D8001);
+
+        var path = string.IsNullOrWhiteSpace(savePath) ? _uploadOptions.Path : savePath;
+        path = path.ParseToDateTimeForRep();
+        var newFile = new SysFile
+        {
+            Id = YitIdHelper.NextId(),
+            // BucketName = _OSSProviderOptions.IsEnable ? _OSSProviderOptions.Provider.ToString() : "Local",
+            // 闃块噷浜戝bucket鍚嶇О鏈夎姹傦紝1.鍙兘鍖呮嫭灏忓啓瀛楁瘝锛屾暟瀛楋紝鐭í绾匡紙-锛�2.蹇呴』浠ュ皬鍐欏瓧姣嶆垨鑰呮暟瀛楀紑澶�  3.闀垮害蹇呴』鍦�3-63瀛楄妭涔嬮棿
+            // 鏃犳硶浣跨敤Provider
+            BucketName = _OSSProviderOptions.IsEnable ? _OSSProviderOptions.Bucket : "Local",
+            FileName = Path.GetFileNameWithoutExtension(file.FileName),
+            Suffix = suffix,
+            SizeKb = sizeKb.ToString(),
+            FilePath = path,
+            FileMd5 = fileMd5,
+        };
+
+        var finalName = newFile.Id + suffix; // 鏂囦欢鏈�缁堝悕绉�
+        if (_OSSProviderOptions.IsEnable)
+        {
+            newFile.Provider = Enum.GetName(_OSSProviderOptions.Provider);
+            var filePath = string.Concat(path, "/", finalName);
+            await _OSSService.PutObjectAsync(newFile.BucketName, filePath, file.OpenReadStream());
+            //  http://<浣犵殑bucket鍚嶅瓧>.oss.aliyuncs.com/<浣犵殑object鍚嶅瓧>
+            //  鐢熸垚澶栭摼鍦板潃 鏂逛究鍓嶇棰勮
+            switch (_OSSProviderOptions.Provider)
+            {
+                case OSSProvider.Aliyun:
+                    newFile.Url = $"{(_OSSProviderOptions.IsEnableHttps ? "https" : "http")}://{newFile.BucketName}.{_OSSProviderOptions.Endpoint}/{filePath}";
+                    break;
+
+                case OSSProvider.Minio:
+                    // 鑾峰彇Minio鏂囦欢鐨勪笅杞芥垨鑰呴瑙堝湴鍧�
+                    // newFile.Url = await GetMinioPreviewFileUrl(newFile.BucketName, filePath);// 杩欑鏂规硶鐢熸垚鐨刄rl鏄湁7澶╂湁鏁堟湡鐨勶紝涓嶈兘杩欐牱浣跨敤
+                    // 闇�瑕佸湪MinIO涓殑Buckets寮�閫氬 Anonymous 鐨剅eadonly鏉冮檺
+                    newFile.Url = $"{(_OSSProviderOptions.IsEnableHttps ? "https" : "http")}://{_OSSProviderOptions.Endpoint}/{newFile.BucketName}/{filePath}";
+                    break;
+            }
+        }
+        else
+        {
+            newFile.Provider = ""; // 鏈湴瀛樺偍 Provider 鏄剧ず涓虹┖
+            var filePath = Path.Combine(App.WebHostEnvironment.WebRootPath, path);
+            if (!Directory.Exists(filePath))
+                Directory.CreateDirectory(filePath);
+
+            var realFile = Path.Combine(filePath, finalName);
+            //IDetector detector;
+            using (var stream = File.Create(realFile))
+            {
+                await file.CopyToAsync(stream);
+                //detector = stream.DetectFiletype();
+            }
+            //var realExt = detector.Extension; // 鐪熷疄鎵╁睍鍚�
+            //// 浜屾鏍¢獙鎵╁睍鍚�
+            //if (!string.Equals(realExt, suffix.Replace(".", ""), StringComparison.OrdinalIgnoreCase))
+            //{
+            //    var delFilePath = Path.Combine(App.WebHostEnvironment.WebRootPath, realFile);
+            //    if (File.Exists(delFilePath))
+            //        File.Delete(delFilePath);
+            //    throw Oops.Oh(ErrorCodeEnum.D8001);
+            //}
+
+            // 鐢熸垚澶栭摼
+            // 淇敼涓婁紶鏂囦欢鎵句笉鍒版枃浠剁殑闂 銆怑ditby shaocx,2024-05-22銆�
+            //var host = CommonUtil.GetLocalhost();
+            var host = CommonUtil.GetServerhost();
+            if (!host.EndsWith("/"))
+                host += "/";
+            newFile.Url = $"{host}{newFile.FilePath}/{newFile.Id + newFile.Suffix}";
+        }
+        await _sysFileRep.AsInsertable(newFile).ExecuteCommandAsync();
+        return newFile;
+    }
+
+    ///// <summary>
+    ///// 鑾峰彇Minio鏂囦欢鐨勪笅杞芥垨鑰呴瑙堝湴鍧�
+    ///// </summary>
+    ///// <param name="bucketName">妗跺悕</param>
+    ///// <param name="fileName">鏂囦欢鍚�</param>
+    ///// <returns></returns>
+    //private async Task<string> GetMinioPreviewFileUrl(string bucketName, string fileName)
+    //{
+    //    return await _OSSService.PresignedGetObjectAsync(bucketName, fileName, 7);
+    //}
+
+    /// <summary>
+    /// 涓婁紶澶村儚 馃敄
+    /// </summary>
+    /// <param name="file"></param>
+    /// <returns></returns>
+    [DisplayName("涓婁紶澶村儚")]
+    public async Task<SysFile> UploadAvatar([Required] IFormFile file)
+    {
+        var sysFile = await HandleUploadFile(file, "Upload/Avatar", _imageType);
+
+        var sysUserRep = _sysFileRep.ChangeRepository<SqlSugarRepository<SysUser>>();
+        var user = sysUserRep.GetFirst(u => u.Id == _userManager.UserId);
+        // 鍒犻櫎宸叉湁澶村儚鏂囦欢
+        if (!string.IsNullOrWhiteSpace(user.Avatar))
+        {
+            var fileId = Path.GetFileNameWithoutExtension(user.Avatar);
+            await DeleteFile(new DeleteFileInput { Id = long.Parse(fileId) });
+        }
+        await sysUserRep.UpdateAsync(u => new SysUser() { Avatar = sysFile.Url }, u => u.Id == user.Id);
+        return sysFile;
+    }
+
+    /// <summary>
+    /// 涓婁紶鐢靛瓙绛惧悕 馃敄
+    /// </summary>
+    /// <param name="file"></param>
+    /// <returns></returns>
+    [DisplayName("涓婁紶鐢靛瓙绛惧悕")]
+    public async Task<SysFile> UploadSignature([Required] IFormFile file)
+    {
+        var sysFile = await HandleUploadFile(file, "Upload/Signature", _imageType);
+
+        var sysUserRep = _sysFileRep.ChangeRepository<SqlSugarRepository<SysUser>>();
+        var user = sysUserRep.GetFirst(u => u.Id == _userManager.UserId);
+        // 鍒犻櫎宸叉湁鐢靛瓙绛惧悕鏂囦欢
+        if (!string.IsNullOrWhiteSpace(user.Signature) && user.Signature.EndsWith(".png"))
+        {
+            var fileId = Path.GetFileNameWithoutExtension(user.Signature);
+            await DeleteFile(new DeleteFileInput { Id = long.Parse(fileId) });
+        }
+        await sysUserRep.UpdateAsync(u => new SysUser() { Signature = sysFile.Url }, u => u.Id == user.Id);
+        return sysFile;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/DbJobPersistence.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/DbJobPersistence.cs
new file mode 100644
index 0000000..83fdd7f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/DbJobPersistence.cs
@@ -0,0 +1,197 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 浣滀笟鎸佷箙鍖栵紙鏁版嵁搴擄級
+/// </summary>
+public class DbJobPersistence : IJobPersistence
+{
+    private readonly IServiceScopeFactory _serviceScopeFactory;
+
+    public DbJobPersistence(IServiceScopeFactory serviceScopeFactory)
+    {
+        _serviceScopeFactory = serviceScopeFactory;
+    }
+
+    /// <summary>
+    /// 浣滀笟璋冨害鏈嶅姟鍚姩鏃�
+    /// </summary>
+    /// <param name="stoppingToken"></param>
+    /// <returns></returns>
+    /// <exception cref="NotSupportedException"></exception>
+    public async Task<IEnumerable<SchedulerBuilder>> PreloadAsync(CancellationToken stoppingToken)
+    {
+        using var scope = _serviceScopeFactory.CreateScope();
+        var db = scope.ServiceProvider.GetRequiredService<ISqlSugarClient>();
+        var dynamicJobCompiler = scope.ServiceProvider.GetRequiredService<DynamicJobCompiler>();
+
+        // 鑾峰彇鎵�鏈夊畾涔夌殑浣滀笟
+        var allJobs = App.EffectiveTypes.ScanToBuilders().ToList();
+        // 鑻ユ暟鎹簱涓嶅瓨鍦ㄤ换浣曚綔涓氾紝鍒欑洿鎺ヨ繑鍥�
+        if (!db.Queryable<SysJobDetail>().Any(u => true)) return allJobs;
+
+        // 閬嶅巻鎵�鏈夊畾涔夌殑浣滀笟
+        foreach (var schedulerBuilder in allJobs)
+        {
+            // 鑾峰彇浣滀笟淇℃伅鏋勫缓鍣�
+            var jobBuilder = schedulerBuilder.GetJobBuilder();
+
+            // 鍔犺浇鏁版嵁搴撴暟鎹�
+            var dbDetail = await db.Queryable<SysJobDetail>().FirstAsync(u => u.JobId == jobBuilder.JobId);
+            if (dbDetail == null) continue;
+
+            // 鍚屾鏁版嵁搴撴暟鎹�
+            jobBuilder.LoadFrom(dbDetail);
+
+            // 鑾峰彇浣滀笟鐨勬墍鏈夋暟鎹簱鐨勮Е鍙戝櫒
+            var dbTriggers = await db.Queryable<SysJobTrigger>().Where(u => u.JobId == jobBuilder.JobId).ToListAsync();
+            // 閬嶅巻鎵�鏈変綔涓氳Е鍙戝櫒
+            foreach (var (_, triggerBuilder) in schedulerBuilder.GetEnumerable())
+            {
+                // 鍔犺浇鏁版嵁搴撴暟鎹�
+                var dbTrigger = dbTriggers.FirstOrDefault(u => u.JobId == jobBuilder.JobId && u.TriggerId == triggerBuilder.TriggerId);
+                if (dbTrigger == null) continue;
+
+                triggerBuilder.LoadFrom(dbTrigger).Updated(); // 鏍囪鏇存柊
+            }
+            // 閬嶅巻鎵�鏈夐潪缂栬瘧鏃跺畾涔夌殑瑙﹀彂鍣ㄥ姞鍏ュ埌浣滀笟涓�
+            foreach (var dbTrigger in dbTriggers)
+            {
+                if (schedulerBuilder.GetTriggerBuilder(dbTrigger.TriggerId)?.JobId == jobBuilder.JobId) continue;
+                var triggerBuilder = TriggerBuilder.Create(dbTrigger.TriggerId).LoadFrom(dbTrigger);
+                schedulerBuilder.AddTriggerBuilder(triggerBuilder); // 鍏堟坊鍔�
+                triggerBuilder.Updated(); // 鍐嶆爣璁版洿鏂�
+            }
+
+            // 鏍囪鏇存柊
+            schedulerBuilder.Updated();
+        }
+
+        // 鑾峰彇鏁版嵁搴撴墍鏈夐�氳繃鑴氭湰鍒涘缓鐨勪綔涓�
+        var allDbScriptJobs = await db.Queryable<SysJobDetail>().Where(u => u.CreateType != JobCreateTypeEnum.BuiltIn).ToListAsync();
+        foreach (var dbDetail in allDbScriptJobs)
+        {
+            // 鍔ㄦ�佸垱寤轰綔涓�
+            Type jobType;
+            switch (dbDetail.CreateType)
+            {
+                case JobCreateTypeEnum.Script:
+                    jobType = dynamicJobCompiler.BuildJob(dbDetail.ScriptCode);
+                    break;
+
+                case JobCreateTypeEnum.Http:
+                    jobType = typeof(HttpJob);
+                    break;
+
+                default:
+                    throw new NotSupportedException();
+            }
+
+            // 鍔ㄦ�佹瀯寤虹殑 jobType 鐨勭▼搴忛泦鍚嶇О涓洪殢鏈哄悕绉帮紝闇�閲嶆柊璁剧疆
+            dbDetail.AssemblyName = jobType.Assembly.FullName!.Split(',')[0];
+            var jobBuilder = JobBuilder.Create(jobType).LoadFrom(dbDetail);
+
+            // 寮鸿璁剧疆涓轰笉鎵弿 IJob 瀹炵幇绫� [Trigger] 鐗规�цЕ鍙戝櫒锛屽惁鍒� SchedulerBuilder.Create 浼氬啀娆℃壂鎻忥紝瀵艰嚧閲嶅娣诲姞鍚屽悕瑙﹀彂鍣�
+            jobBuilder.SetIncludeAnnotations(false);
+
+            // 鑾峰彇浣滀笟鐨勬墍鏈夋暟鎹簱鐨勮Е鍙戝櫒鍔犲叆鍒颁綔涓氫腑
+            var dbTriggers = await db.Queryable<SysJobTrigger>().Where(u => u.JobId == jobBuilder.JobId).ToListAsync();
+            var triggerBuilders = dbTriggers.Select(u => TriggerBuilder.Create(u.TriggerId).LoadFrom(u).Updated());
+            var schedulerBuilder = SchedulerBuilder.Create(jobBuilder, triggerBuilders.ToArray());
+
+            // 鏍囪鏇存柊
+            schedulerBuilder.Updated();
+
+            allJobs.Add(schedulerBuilder);
+        }
+
+        return allJobs;
+    }
+
+    /// <summary>
+    /// 浣滀笟璁″垝鍒濆鍖栭�氱煡
+    /// </summary>
+    /// <param name="builder"></param>
+    /// <param name="stoppingToken"></param>
+    /// <returns></returns>
+    public Task<SchedulerBuilder> OnLoadingAsync(SchedulerBuilder builder, CancellationToken stoppingToken)
+    {
+        return Task.FromResult(builder);
+    }
+
+    /// <summary>
+    /// 浣滀笟璁″垝Scheduler鐨凧obDetail鍙樺寲鏃�
+    /// </summary>
+    /// <param name="context"></param>
+    public async Task OnChangedAsync(PersistenceContext context)
+    {
+        using (var scope = _serviceScopeFactory.CreateScope())
+        {
+            var db = scope.ServiceProvider.GetRequiredService<ISqlSugarClient>();
+
+            var jobDetail = context.JobDetail.Adapt<SysJobDetail>();
+            switch (context.Behavior)
+            {
+                case PersistenceBehavior.Appended:
+                    await db.Insertable(jobDetail).ExecuteCommandAsync();
+                    break;
+
+                case PersistenceBehavior.Updated:
+                    await db.Updateable(jobDetail).WhereColumns(u => new { u.JobId }).IgnoreColumns(u => new { u.Id, u.CreateType, u.ScriptCode }).ExecuteCommandAsync();
+                    break;
+
+                case PersistenceBehavior.Removed:
+                    await db.Deleteable<SysJobDetail>().Where(u => u.JobId == jobDetail.JobId).ExecuteCommandAsync();
+                    break;
+            }
+        }
+    }
+
+    /// <summary>
+    /// 浣滀笟璁″垝Scheduler鐨勮Е鍙戝櫒Trigger鍙樺寲鏃�
+    /// </summary>
+    /// <param name="context"></param>
+    public async Task OnTriggerChangedAsync(PersistenceTriggerContext context)
+    {
+        using (var scope = _serviceScopeFactory.CreateScope())
+        {
+            var db = scope.ServiceProvider.GetRequiredService<ISqlSugarClient>();
+
+            var jobTrigger = context.Trigger.Adapt<SysJobTrigger>();
+            switch (context.Behavior)
+            {
+                case PersistenceBehavior.Appended:
+                    await db.Insertable(jobTrigger).ExecuteCommandAsync();
+                    break;
+
+                case PersistenceBehavior.Updated:
+                    await db.Updateable(jobTrigger).WhereColumns(u => new { u.TriggerId, u.JobId }).IgnoreColumns(u => new { u.Id }).ExecuteCommandAsync();
+                    break;
+
+                case PersistenceBehavior.Removed:
+                    await db.Deleteable<SysJobTrigger>().Where(u => u.TriggerId == jobTrigger.TriggerId && u.JobId == jobTrigger.JobId).ExecuteCommandAsync();
+                    break;
+            }
+        }
+    }
+
+    /// <summary>
+    /// 浣滀笟瑙﹀彂鍣ㄨ繍琛岃褰�
+    /// </summary>
+    /// <param name="timeline"></param>
+    public async Task OnExecutionRecordAsync(TriggerTimeline timeline)
+    {
+        using (var scope = _serviceScopeFactory.CreateScope())
+        {
+            var db = scope.ServiceProvider.GetRequiredService<ISqlSugarClient>();
+
+            var jobTriggerRecord = timeline.Adapt<SysJobTriggerRecord>();
+            await db.Insertable(jobTriggerRecord).ExecuteCommandAsync();
+        }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/Dto/JobDetailInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/Dto/JobDetailInput.cs
new file mode 100644
index 0000000..4f22fcc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/Dto/JobDetailInput.cs
@@ -0,0 +1,45 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class JobDetailInput
+{
+    /// <summary>
+    /// 浣滀笟Id
+    /// </summary>
+    public string JobId { get; set; }
+}
+
+public class PageJobDetailInput : BasePageInput
+{
+    /// <summary>
+    /// 浣滀笟Id
+    /// </summary>
+    public string JobId { get; set; }
+
+    /// <summary>
+    /// 鎻忚堪淇℃伅
+    /// </summary>
+    public string Description { get; set; }
+}
+
+public class AddJobDetailInput : SysJobDetail
+{
+    /// <summary>
+    /// 浣滀笟Id
+    /// </summary>
+    [Required(ErrorMessage = "浣滀笟Id涓嶈兘涓虹┖"), MinLength(2, ErrorMessage = "浣滀笟Id涓嶈兘灏戜簬2涓瓧绗�")]
+    public override string JobId { get; set; }
+}
+
+public class UpdateJobDetailInput : AddJobDetailInput
+{
+}
+
+public class DeleteJobDetailInput : JobDetailInput
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/Dto/JobDetailOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/Dto/JobDetailOutput.cs
new file mode 100644
index 0000000..a6efa85
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/Dto/JobDetailOutput.cs
@@ -0,0 +1,20 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class JobDetailOutput
+{
+    /// <summary>
+    /// 浣滀笟淇℃伅
+    /// </summary>
+    public SysJobDetail JobDetail { get; set; }
+
+    /// <summary>
+    /// 瑙﹀彂鍣ㄩ泦鍚�
+    /// </summary>
+    public List<SysJobTrigger> JobTriggers { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/Dto/JobTriggerInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/Dto/JobTriggerInput.cs
new file mode 100644
index 0000000..334f2ba
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/Dto/JobTriggerInput.cs
@@ -0,0 +1,43 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class JobTriggerInput
+{
+    /// <summary>
+    /// 浣滀笟Id
+    /// </summary>
+    public string JobId { get; set; }
+
+    /// <summary>
+    /// 瑙﹀彂鍣↖d
+    /// </summary>
+    public string TriggerId { get; set; }
+}
+
+public class AddJobTriggerInput : SysJobTrigger
+{
+    /// <summary>
+    /// 浣滀笟Id
+    /// </summary>
+    [Required(ErrorMessage = "浣滀笟Id涓嶈兘涓虹┖"), MinLength(2, ErrorMessage = "浣滀笟Id涓嶈兘灏戜簬2涓瓧绗�")]
+    public override string JobId { get; set; }
+
+    /// <summary>
+    /// 瑙﹀彂鍣↖d
+    /// </summary>
+    [Required(ErrorMessage = "瑙﹀彂鍣↖d涓嶈兘涓虹┖"), MinLength(2, ErrorMessage = "瑙﹀彂鍣↖d涓嶈兘灏戜簬2涓瓧绗�")]
+    public override string TriggerId { get; set; }
+}
+
+public class UpdateJobTriggerInput : AddJobTriggerInput
+{
+}
+
+public class DeleteJobTriggerInput : JobTriggerInput
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/Dto/JobTriggerRecordInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/Dto/JobTriggerRecordInput.cs
new file mode 100644
index 0000000..2b909b2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/Dto/JobTriggerRecordInput.cs
@@ -0,0 +1,20 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class PageJobTriggerRecordInput : BasePageInput
+{
+    /// <summary>
+    /// 浣滀笟Id
+    /// </summary>
+    public string JobId { get; set; }
+
+    /// <summary>
+    /// 瑙﹀彂鍣↖d
+    /// </summary>
+    public string TriggerId { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/JobClusterServer.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/JobClusterServer.cs
new file mode 100644
index 0000000..b9cc448
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/JobClusterServer.cs
@@ -0,0 +1,107 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 浣滀笟闆嗙兢鎺у埗
+/// </summary>
+public class JobClusterServer : IJobClusterServer
+{
+    private readonly Random rd = new(DateTime.Now.Millisecond);
+
+    public JobClusterServer()
+    {
+    }
+
+    /// <summary>
+    /// 褰撳墠浣滀笟璋冨害鍣ㄥ惎鍔ㄩ�氱煡
+    /// </summary>
+    /// <param name="context">浣滀笟闆嗙兢鏈嶅姟涓婁笅鏂�</param>
+    public async void Start(JobClusterContext context)
+    {
+        var _sysJobClusterRep = App.GetRequiredService<SqlSugarRepository<SysJobCluster>>();
+        // 鍦ㄤ綔涓氶泦缇よ〃涓紝濡傛灉 clusterId 涓嶅瓨鍦紝鍒欐柊澧炰竴鏉★紙鍚﹀垯鏇存柊涓�鏉★級锛屽苟璁剧疆 status 涓� ClusterStatus.Waiting
+        if (await _sysJobClusterRep.IsAnyAsync(u => u.ClusterId == context.ClusterId))
+        {
+            await _sysJobClusterRep.AsUpdateable().SetColumns(u => u.Status == ClusterStatus.Waiting).Where(u => u.ClusterId == context.ClusterId).ExecuteCommandAsync();
+        }
+        else
+        {
+            await _sysJobClusterRep.AsInsertable(new SysJobCluster { ClusterId = context.ClusterId, Status = ClusterStatus.Waiting }).ExecuteCommandAsync();
+        }
+    }
+
+    /// <summary>
+    /// 绛夊緟琚敜閱�
+    /// </summary>
+    /// <param name="context">浣滀笟闆嗙兢鏈嶅姟涓婁笅鏂�</param>
+    /// <returns><see cref="Task"/></returns>
+    public async Task WaitingForAsync(JobClusterContext context)
+    {
+        var clusterId = context.ClusterId;
+
+        while (true)
+        {
+            // 鎺у埗闆嗙兢蹇冭烦棰戠巼锛堟斁鍦ㄥご閮ㄤ负浜嗛槻姝� IsAnyAsync continue 娌leep鍗犵敤澶ч噺IO鍜孋PU锛�
+            await Task.Delay(3000 + rd.Next(500, 1000)); // 閿欏紑闆嗙兢鍚屾椂鍚姩
+
+            try
+            {
+                ICache _cache = App.GetRequiredService<ICache>();
+                // 浣跨敤鍒嗗竷寮忛攣
+                using (_cache.AcquireLock("lock:JobClusterServer:WaitingForAsync", 1000))
+                {
+                    var _sysJobClusterRep = App.GetRequiredService<SqlSugarRepository<SysJobCluster>>();
+                    // 鍦ㄨ繖閲屾煡璇㈡暟鎹簱锛屾牴鎹互涓嬩袱绉嶆儏鍐靛鐞�
+                    // 1) 濡傛灉浣滀笟闆嗙兢琛ㄥ凡鏈� status 涓� ClusterStatus.Working 鍒欑户缁惊鐜�
+                    // 2) 濡傛灉浣滀笟闆嗙兢琛ㄤ腑杩樻病鏈夊叾浠栨湇鍔℃垨鍙湁鑷繁锛屽垯鎻掑叆涓�鏉¢泦缇ゆ湇鍔℃垨璋冪敤 await WorkNowAsync(clusterId); 涔嬪悗 return;
+                    // 3) 濡傛灉浣滀笟闆嗙兢琛ㄤ腑娌℃湁 status 涓� ClusterStatus.Working 鐨勶紝璋冪敤 await WorkNowAsync(clusterId); 涔嬪悗 return;
+                    if (await _sysJobClusterRep.IsAnyAsync(u => u.Status == ClusterStatus.Working))
+                        continue;
+
+                    await WorkNowAsync(clusterId);
+                    return;
+                }
+            }
+            catch { }
+        }
+    }
+
+    /// <summary>
+    /// 褰撳墠浣滀笟璋冨害鍣ㄥ仠姝㈤�氱煡
+    /// </summary>
+    /// <param name="context">浣滀笟闆嗙兢鏈嶅姟涓婁笅鏂�</param>
+    public async void Stop(JobClusterContext context)
+    {
+        var _sysJobClusterRep = App.GetRequiredService<SqlSugarRepository<SysJobCluster>>();
+        // 鍦ㄤ綔涓氶泦缇よ〃涓紝鏇存柊 clusterId 鐨� status 涓� ClusterStatus.Crashed
+        await _sysJobClusterRep.UpdateAsync(u => new SysJobCluster { Status = ClusterStatus.Crashed }, u => u.ClusterId == context.ClusterId);
+    }
+
+    /// <summary>
+    /// 褰撳墠浣滀笟璋冨害鍣ㄥ畷鏈�
+    /// </summary>
+    /// <param name="context">浣滀笟闆嗙兢鏈嶅姟涓婁笅鏂�</param>
+    public async void Crash(JobClusterContext context)
+    {
+        var _sysJobClusterRep = App.GetRequiredService<SqlSugarRepository<SysJobCluster>>();
+        // 鍦ㄤ綔涓氶泦缇よ〃涓紝鏇存柊 clusterId 鐨� status 涓� ClusterStatus.Crashed
+        await _sysJobClusterRep.UpdateAsync(u => new SysJobCluster { Status = ClusterStatus.Crashed }, u => u.ClusterId == context.ClusterId);
+    }
+
+    /// <summary>
+    /// 鎸囩ず闆嗙兢鍙互宸ヤ綔
+    /// </summary>
+    /// <param name="clusterId">闆嗙兢 Id</param>
+    /// <returns></returns>
+    private static async Task WorkNowAsync(string clusterId)
+    {
+        var _sysJobClusterRep = App.GetRequiredService<SqlSugarRepository<SysJobCluster>>();
+        // 鍦ㄤ綔涓氶泦缇よ〃涓紝鏇存柊 clusterId 鐨� status 涓� ClusterStatus.Working
+        await _sysJobClusterRep.UpdateAsync(u => new SysJobCluster { Status = ClusterStatus.Working }, u => u.ClusterId == clusterId);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/JobMonitor.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/JobMonitor.cs
new file mode 100644
index 0000000..eaffcb1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/JobMonitor.cs
@@ -0,0 +1,39 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 浣滀笟鎵ц鐩戣鍣�
+/// </summary>
+public class JobMonitor : IJobMonitor
+{
+    private readonly IEventPublisher _eventPublisher;
+    private readonly IServiceScope _serviceScope;
+    private readonly SysConfigService _sysConfigService;
+
+    public JobMonitor(IServiceScopeFactory scopeFactory)
+    {
+        _serviceScope = scopeFactory.CreateScope();
+        _sysConfigService = _serviceScope.ServiceProvider.GetRequiredService<SysConfigService>();
+        _eventPublisher = _serviceScope.ServiceProvider.GetRequiredService<IEventPublisher>(); ;
+    }
+
+    public Task OnExecutingAsync(JobExecutingContext context, CancellationToken stoppingToken)
+    {
+        return Task.CompletedTask;
+    }
+
+    public async Task OnExecutedAsync(JobExecutedContext context, CancellationToken stoppingToken)
+    {
+        // 灏嗗紓甯镐綔涓氬彂閫佸埌閭欢
+        if (await _sysConfigService.GetConfigValue<bool>(CommonConst.SysErrorMail) && context.Exception != null)
+        {
+            var errorInfo = $"銆恵context.Trigger.Description}銆戝畾鏃朵换鍔¢敊璇細{context.Exception}";
+            await _eventPublisher.PublishAsync(CommonConst.SendErrorMail, errorInfo);
+        }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/SysJobService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/SysJobService.cs
new file mode 100644
index 0000000..3ba906e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Job/SysJobService.cs
@@ -0,0 +1,359 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺浣滀笟浠诲姟鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 320)]
+public class SysJobService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysJobDetail> _sysJobDetailRep;
+    private readonly SqlSugarRepository<SysJobTrigger> _sysJobTriggerRep;
+    private readonly SqlSugarRepository<SysJobTriggerRecord> _sysJobTriggerRecordRep;
+    private readonly SqlSugarRepository<SysJobCluster> _sysJobClusterRep;
+    private readonly ISchedulerFactory _schedulerFactory;
+    private readonly DynamicJobCompiler _dynamicJobCompiler;
+
+    public SysJobService(SqlSugarRepository<SysJobDetail> sysJobDetailRep,
+        SqlSugarRepository<SysJobTrigger> sysJobTriggerRep,
+        SqlSugarRepository<SysJobTriggerRecord> sysJobTriggerRecordRep,
+        SqlSugarRepository<SysJobCluster> sysJobClusterRep,
+        ISchedulerFactory schedulerFactory,
+        DynamicJobCompiler dynamicJobCompiler)
+    {
+        _sysJobDetailRep = sysJobDetailRep;
+        _sysJobTriggerRep = sysJobTriggerRep;
+        _sysJobTriggerRecordRep = sysJobTriggerRecordRep;
+        _sysJobClusterRep = sysJobClusterRep;
+        _schedulerFactory = schedulerFactory;
+        _dynamicJobCompiler = dynamicJobCompiler;
+    }
+
+    /// <summary>
+    /// 鑾峰彇浣滀笟鍒嗛〉鍒楄〃 鈴�
+    /// </summary>
+    [DisplayName("鑾峰彇浣滀笟鍒嗛〉鍒楄〃")]
+    public async Task<SqlSugarPagedList<JobDetailOutput>> PageJobDetail(PageJobDetailInput input)
+    {
+        var jobDetails = await _sysJobDetailRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.JobId), u => u.JobId.Contains(input.JobId))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Description), u => u.Description.Contains(input.Description))
+            .Select(d => new JobDetailOutput
+            {
+                JobDetail = d,
+            }).ToPagedListAsync(input.Page, input.PageSize);
+        await _sysJobDetailRep.AsSugarClient().ThenMapperAsync(jobDetails.Items, async u =>
+        {
+            u.JobTriggers = await _sysJobTriggerRep.GetListAsync(t => t.JobId == u.JobDetail.JobId);
+        });
+
+        // 鎻愬彇涓嫭鍙烽噷闈㈢殑鍙傛暟鍊�
+        var rgx = new Regex(@"(?i)(?<=\[)(.*)(?=\])");
+        foreach (var job in jobDetails.Items)
+        {
+            foreach (var jobTrigger in job.JobTriggers)
+            {
+                jobTrigger.Args = rgx.Match(jobTrigger.Args ?? "").Value;
+            }
+        }
+        return jobDetails;
+    }
+
+    /// <summary>
+    /// 娣诲姞浣滀笟 鈴�
+    /// </summary>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "AddJobDetail"), HttpPost]
+    [DisplayName("娣诲姞浣滀笟")]
+    public async Task AddJobDetail(AddJobDetailInput input)
+    {
+        var isExist = await _sysJobDetailRep.IsAnyAsync(u => u.JobId == input.JobId && u.Id != input.Id);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D1006);
+
+        // 鍔ㄦ�佸垱寤轰綔涓�
+        Type jobType;
+        switch (input.CreateType)
+        {
+            case JobCreateTypeEnum.Script when string.IsNullOrEmpty(input.ScriptCode):
+                throw Oops.Oh(ErrorCodeEnum.D1701);
+            case JobCreateTypeEnum.Script:
+                {
+                    jobType = _dynamicJobCompiler.BuildJob(input.ScriptCode);
+
+                    if (jobType.GetCustomAttributes(typeof(JobDetailAttribute)).FirstOrDefault() is not JobDetailAttribute jobDetailAttribute)
+                        throw Oops.Oh(ErrorCodeEnum.D1702);
+                    if (jobDetailAttribute.JobId != input.JobId)
+                        throw Oops.Oh(ErrorCodeEnum.D1703);
+                    break;
+                }
+            case JobCreateTypeEnum.Http:
+                jobType = typeof(HttpJob);
+                break;
+
+            default:
+                throw new NotSupportedException();
+        }
+
+        _schedulerFactory.AddJob(
+            JobBuilder.Create(jobType)
+                .LoadFrom(input.Adapt<SysJobDetail>()).SetJobType(jobType));
+
+        // 寤惰繜涓�涓嬬瓑寰呮寔涔呭寲鍐欏叆锛屽啀鎵ц鍏朵粬瀛楁鐨勬洿鏂�
+        await Task.Delay(500);
+        await _sysJobDetailRep.AsUpdateable()
+            .SetColumns(u => new SysJobDetail { CreateType = input.CreateType, ScriptCode = input.ScriptCode })
+            .Where(u => u.JobId == input.JobId).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鏇存柊浣滀笟 鈴�
+    /// </summary>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "UpdateJobDetail"), HttpPost]
+    [DisplayName("鏇存柊浣滀笟")]
+    public async Task UpdateJobDetail(UpdateJobDetailInput input)
+    {
+        var isExist = await _sysJobDetailRep.IsAnyAsync(u => u.JobId == input.JobId && u.Id != input.Id);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D1006);
+
+        var sysJobDetail = await _sysJobDetailRep.GetFirstAsync(u => u.Id == input.Id);
+        if (sysJobDetail.JobId != input.JobId)
+            throw Oops.Oh(ErrorCodeEnum.D1704);
+
+        var scheduler = _schedulerFactory.GetJob(sysJobDetail.JobId);
+        var oldScriptCode = sysJobDetail.ScriptCode; // 鏃ц剼鏈唬鐮�
+        input.Adapt(sysJobDetail);
+
+        if (input.CreateType == JobCreateTypeEnum.Script)
+        {
+            if (string.IsNullOrEmpty(input.ScriptCode))
+                throw Oops.Oh(ErrorCodeEnum.D1701);
+
+            if (input.ScriptCode != oldScriptCode)
+            {
+                // 鍔ㄦ�佸垱寤轰綔涓�
+                var jobType = _dynamicJobCompiler.BuildJob(input.ScriptCode);
+
+                if (jobType.GetCustomAttributes(typeof(JobDetailAttribute)).FirstOrDefault() is not JobDetailAttribute jobDetailAttribute)
+                    throw Oops.Oh(ErrorCodeEnum.D1702);
+                if (jobDetailAttribute.JobId != input.JobId)
+                    throw Oops.Oh(ErrorCodeEnum.D1703);
+
+                scheduler?.UpdateDetail(JobBuilder.Create(jobType).LoadFrom(sysJobDetail).SetJobType(jobType));
+            }
+        }
+        else
+        {
+            scheduler?.UpdateDetail(scheduler.GetJobBuilder().LoadFrom(sysJobDetail));
+        }
+
+        // Tip: 鍋囧杩欐鏇存柊鏈夊彉鏇翠簡 JobId锛屽彉鏇� JobId 鍚庤Е鍙戠殑鎸佷箙鍖栨洿鏂版墽琛岋紝浼氱敱浜庢壘涓嶅埌 JobId 鑰屾洿鏂颁笉鍒版暟鎹�
+        // 寤惰繜涓�涓嬬瓑寰呮寔涔呭寲鍐欏叆锛屽啀鎵ц鍏朵粬瀛楁鐨勬洿鏂�
+        await Task.Delay(500);
+        await _sysJobDetailRep.UpdateAsync(sysJobDetail);
+    }
+
+    /// <summary>
+    /// 鍒犻櫎浣滀笟 鈴�
+    /// </summary>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "DeleteJobDetail"), HttpPost]
+    [DisplayName("鍒犻櫎浣滀笟")]
+    public async Task DeleteJobDetail(DeleteJobDetailInput input)
+    {
+        _schedulerFactory.RemoveJob(input.JobId);
+
+        // 濡傛灉 _schedulerFactory 涓笉瀛樺湪 JodId锛屽垯鏃犳硶瑙﹀彂鎸佷箙鍖栵紝涓嬮潰鐨勪唬鐮佺‘淇濅綔涓氬拰瑙﹀彂鍣ㄨ兘琚垹闄�
+        await _sysJobDetailRep.DeleteAsync(u => u.JobId == input.JobId);
+        await _sysJobTriggerRep.DeleteAsync(u => u.JobId == input.JobId);
+    }
+
+    /// <summary>
+    /// 鑾峰彇瑙﹀彂鍣ㄥ垪琛� 鈴�
+    /// </summary>
+    [DisplayName("鑾峰彇瑙﹀彂鍣ㄥ垪琛�")]
+    public async Task<List<SysJobTrigger>> GetJobTriggerList([FromQuery] JobDetailInput input)
+    {
+        return await _sysJobTriggerRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.JobId), u => u.JobId.Contains(input.JobId))
+            .ToListAsync();
+    }
+
+    /// <summary>
+    /// 娣诲姞瑙﹀彂鍣� 鈴�
+    /// </summary>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "AddJobTrigger"), HttpPost]
+    [DisplayName("娣诲姞瑙﹀彂鍣�")]
+    public async Task AddJobTrigger(AddJobTriggerInput input)
+    {
+        var isExist = await _sysJobTriggerRep.IsAnyAsync(u => u.TriggerId == input.TriggerId && u.Id != input.Id);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D1006);
+
+        var jobTrigger = input.Adapt<SysJobTrigger>();
+        jobTrigger.Args = "[" + jobTrigger.Args + "]";
+
+        var scheduler = _schedulerFactory.GetJob(input.JobId);
+        scheduler?.AddTrigger(Triggers.Create(input.AssemblyName, input.TriggerType).LoadFrom(jobTrigger));
+    }
+
+    /// <summary>
+    /// 鏇存柊瑙﹀彂鍣� 鈴�
+    /// </summary>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "UpdateJobTrigger"), HttpPost]
+    [DisplayName("鏇存柊瑙﹀彂鍣�")]
+    public async Task UpdateJobTrigger(UpdateJobTriggerInput input)
+    {
+        var isExist = await _sysJobTriggerRep.IsAnyAsync(u => u.TriggerId == input.TriggerId && u.Id != input.Id);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D1006);
+
+        var jobTrigger = input.Adapt<SysJobTrigger>();
+        jobTrigger.Args = "[" + jobTrigger.Args + "]";
+
+        var scheduler = _schedulerFactory.GetJob(input.JobId);
+        scheduler?.UpdateTrigger(Triggers.Create(input.AssemblyName, input.TriggerType).LoadFrom(jobTrigger));
+    }
+
+    /// <summary>
+    /// 鍒犻櫎瑙﹀彂鍣� 鈴�
+    /// </summary>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "DeleteJobTrigger"), HttpPost]
+    [DisplayName("鍒犻櫎瑙﹀彂鍣�")]
+    public async Task DeleteJobTrigger(DeleteJobTriggerInput input)
+    {
+        var scheduler = _schedulerFactory.GetJob(input.JobId);
+        scheduler?.RemoveTrigger(input.TriggerId);
+
+        // 濡傛灉 _schedulerFactory 涓笉瀛樺湪 JodId锛屽垯鏃犳硶瑙﹀彂鎸佷箙鍖栵紝涓嬭浠g爜纭繚瑙﹀彂鍣ㄨ兘琚垹闄�
+        await _sysJobTriggerRep.DeleteAsync(u => u.JobId == input.JobId && u.TriggerId == input.TriggerId);
+    }
+
+    /// <summary>
+    /// 鏆傚仠鎵�鏈変綔涓� 鈴�
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鏆傚仠鎵�鏈変綔涓�")]
+    public void PauseAllJob()
+    {
+        _schedulerFactory.PauseAll();
+    }
+
+    /// <summary>
+    /// 鍚姩鎵�鏈変綔涓� 鈴�
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鍚姩鎵�鏈変綔涓�")]
+    public void StartAllJob()
+    {
+        _schedulerFactory.StartAll();
+    }
+
+    /// <summary>
+    /// 鏆傚仠浣滀笟 鈴�
+    /// </summary>
+    [DisplayName("鏆傚仠浣滀笟")]
+    public void PauseJob(JobDetailInput input)
+    {
+        _schedulerFactory.TryPauseJob(input.JobId, out _);
+    }
+
+    /// <summary>
+    /// 鍚姩浣滀笟 鈴�
+    /// </summary>
+    [DisplayName("鍚姩浣滀笟")]
+    public void StartJob(JobDetailInput input)
+    {
+        _schedulerFactory.TryStartJob(input.JobId, out _);
+    }
+
+    /// <summary>
+    /// 鍙栨秷浣滀笟 鈴�
+    /// </summary>
+    [DisplayName("鍙栨秷浣滀笟")]
+    public void CancelJob(JobDetailInput input)
+    {
+        _schedulerFactory.TryCancelJob(input.JobId, out _);
+    }
+
+    /// <summary>
+    /// 鎵ц浣滀笟 鈴�
+    /// </summary>
+    /// <param name="input"></param>
+    [DisplayName("鎵ц浣滀笟")]
+    public void RunJob(JobDetailInput input)
+    {
+        if (_schedulerFactory.TryRunJob(input.JobId, out _) != ScheduleResult.Succeed)
+            throw Oops.Oh(ErrorCodeEnum.D1705);
+    }
+
+    /// <summary>
+    /// 鏆傚仠瑙﹀彂鍣� 鈴�
+    /// </summary>
+    [DisplayName("鏆傚仠瑙﹀彂鍣�")]
+    public void PauseTrigger(JobTriggerInput input)
+    {
+        var scheduler = _schedulerFactory.GetJob(input.JobId);
+        scheduler?.PauseTrigger(input.TriggerId);
+    }
+
+    /// <summary>
+    /// 鍚姩瑙﹀彂鍣� 鈴�
+    /// </summary>
+    [DisplayName("鍚姩瑙﹀彂鍣�")]
+    public void StartTrigger(JobTriggerInput input)
+    {
+        var scheduler = _schedulerFactory.GetJob(input.JobId);
+        scheduler?.StartTrigger(input.TriggerId);
+    }
+
+    /// <summary>
+    /// 寮哄埗鍞ら啋浣滀笟璋冨害鍣� 鈴�
+    /// </summary>
+    [DisplayName("寮哄埗鍞ら啋浣滀笟璋冨害鍣�")]
+    public void CancelSleep()
+    {
+        _schedulerFactory.CancelSleep();
+    }
+
+    /// <summary>
+    /// 寮哄埗瑙﹀彂鎵�鏈変綔涓氭寔涔呭寲 鈴�
+    /// </summary>
+    [DisplayName("寮哄埗瑙﹀彂鎵�鏈変綔涓氭寔涔呭寲")]
+    public void PersistAll()
+    {
+        _schedulerFactory.PersistAll();
+    }
+
+    /// <summary>
+    /// 鑾峰彇闆嗙兢鍒楄〃 鈴�
+    /// </summary>
+    [DisplayName("鑾峰彇闆嗙兢鍒楄〃")]
+    public async Task<List<SysJobCluster>> GetJobClusterList()
+    {
+        return await _sysJobClusterRep.GetListAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇浣滀笟瑙﹀彂鍣ㄨ繍琛岃褰曞垎椤靛垪琛� 鈴�
+    /// </summary>
+    [DisplayName("鑾峰彇浣滀笟瑙﹀彂鍣ㄨ繍琛岃褰曞垎椤靛垪琛�")]
+    public async Task<SqlSugarPagedList<SysJobTriggerRecord>> PageJobTriggerRecord(PageJobTriggerRecordInput input)
+    {
+        return await _sysJobTriggerRecordRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.JobId), u => u.JobId.Contains(input.JobId))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.TriggerId), u => u.TriggerId.Contains(input.TriggerId))
+            .OrderByDescending(u => u.Id)
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/Dto/ExportLogDto.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/Dto/ExportLogDto.cs
new file mode 100644
index 0000000..bd99c03
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/Dto/ExportLogDto.cs
@@ -0,0 +1,68 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 瀵煎嚭鏃ュ織鏁版嵁
+/// </summary>
+[ExcelExporter(Name = "鏃ュ織鏁版嵁", TableStyle = OfficeOpenXml.Table.TableStyles.None, AutoFitAllColumn = true)]
+public class ExportLogDto
+{
+    /// <summary>
+    /// 璁板綍鍣ㄧ被鍒悕绉�
+    /// </summary>
+    [ExporterHeader(DisplayName = "璁板綍鍣ㄧ被鍒悕绉�", IsBold = true)]
+    public string LogName { get; set; }
+
+    /// <summary>
+    /// 鏃ュ織绾у埆
+    /// </summary>
+    [ExporterHeader(DisplayName = "鏃ュ織绾у埆", IsBold = true)]
+    public string LogLevel { get; set; }
+
+    /// <summary>
+    /// 浜嬩欢Id
+    /// </summary>
+    [ExporterHeader(DisplayName = "浜嬩欢Id", IsBold = true)]
+    public string EventId { get; set; }
+
+    /// <summary>
+    /// 鏃ュ織娑堟伅
+    /// </summary>
+    [ExporterHeader(DisplayName = "鏃ュ織娑堟伅", IsBold = true)]
+    public string Message { get; set; }
+
+    /// <summary>
+    /// 寮傚父瀵硅薄
+    /// </summary>
+    [ExporterHeader(DisplayName = "寮傚父瀵硅薄", IsBold = true)]
+    public string Exception { get; set; }
+
+    /// <summary>
+    /// 褰撳墠鐘舵�佸��
+    /// </summary>
+    [ExporterHeader(DisplayName = "褰撳墠鐘舵�佸��", IsBold = true)]
+    public string State { get; set; }
+
+    /// <summary>
+    /// 鏃ュ織璁板綍鏃堕棿
+    /// </summary>
+    [ExporterHeader(DisplayName = "鏃ュ織璁板綍鏃堕棿", IsBold = true)]
+    public DateTime LogDateTime { get; set; }
+
+    /// <summary>
+    /// 绾跨▼Id
+    /// </summary>
+    [ExporterHeader(DisplayName = "绾跨▼Id", IsBold = true)]
+    public int ThreadId { get; set; }
+
+    /// <summary>
+    /// 璇锋眰璺熻釜Id
+    /// </summary>
+    [ExporterHeader(DisplayName = "璇锋眰璺熻釜Id", IsBold = true)]
+    public string TraceId { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/Dto/LogInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/Dto/LogInput.cs
new file mode 100644
index 0000000..a51b95c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/Dto/LogInput.cs
@@ -0,0 +1,33 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class PageLogInput : BasePageInput
+{
+    /// <summary>
+    /// 寮�濮嬫椂闂�
+    /// </summary>
+    public DateTime? StartTime { get; set; }
+
+    /// <summary>
+    /// 缁撴潫鏃堕棿
+    /// </summary>
+    public DateTime? EndTime { get; set; }
+}
+
+public class LogInput
+{
+    /// <summary>
+    /// 寮�濮嬫椂闂�
+    /// </summary>
+    public DateTime? StartTime { get; set; }
+
+    /// <summary>
+    /// 缁撴潫鏃堕棿
+    /// </summary>
+    public DateTime? EndTime { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/SysLogDiffService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/SysLogDiffService.cs
new file mode 100644
index 0000000..755ded7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/SysLogDiffService.cs
@@ -0,0 +1,47 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺宸紓鏃ュ織鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 330)]
+public class SysLogDiffService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysLogDiff> _sysLogDiffRep;
+
+    public SysLogDiffService(SqlSugarRepository<SysLogDiff> sysLogDiffRep)
+    {
+        _sysLogDiffRep = sysLogDiffRep;
+    }
+
+    /// <summary>
+    /// 鑾峰彇宸紓鏃ュ織鍒嗛〉鍒楄〃 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [SuppressMonitor]
+    [DisplayName("鑾峰彇宸紓鏃ュ織鍒嗛〉鍒楄〃")]
+    public async Task<SqlSugarPagedList<SysLogDiff>> Page(PageLogInput input)
+    {
+        return await _sysLogDiffRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.StartTime.ToString()), u => u.CreateTime >= input.StartTime)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.EndTime.ToString()), u => u.CreateTime <= input.EndTime)
+            .OrderBy(u => u.CreateTime, OrderByType.Desc)
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 娓呯┖宸紓鏃ュ織 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Clear"), HttpPost]
+    [DisplayName("娓呯┖宸紓鏃ュ織")]
+    public void Clear()
+    {
+        _sysLogDiffRep.AsSugarClient().DbMaintenance.TruncateTable<SysLogDiff>();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/SysLogExService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/SysLogExService.cs
new file mode 100644
index 0000000..6fdf825
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/SysLogExService.cs
@@ -0,0 +1,67 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺寮傚父鏃ュ織鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 350)]
+public class SysLogExService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysLogEx> _sysLogExRep;
+
+    public SysLogExService(SqlSugarRepository<SysLogEx> sysLogExRep)
+    {
+        _sysLogExRep = sysLogExRep;
+    }
+
+    /// <summary>
+    /// 鑾峰彇寮傚父鏃ュ織鍒嗛〉鍒楄〃 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [SuppressMonitor]
+    [DisplayName("鑾峰彇寮傚父鏃ュ織鍒嗛〉鍒楄〃")]
+    public async Task<SqlSugarPagedList<SysLogEx>> Page(PageLogInput input)
+    {
+        return await _sysLogExRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.StartTime.ToString()), u => u.CreateTime >= input.StartTime)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.EndTime.ToString()), u => u.CreateTime <= input.EndTime)
+            //.OrderBy(u => u.CreateTime, OrderByType.Desc)
+            .OrderBuilder(input)
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 娓呯┖寮傚父鏃ュ織 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Clear"), HttpPost]
+    [DisplayName("娓呯┖寮傚父鏃ュ織")]
+    public void Clear()
+    {
+        _sysLogExRep.AsSugarClient().DbMaintenance.TruncateTable<SysLogEx>();
+    }
+
+    /// <summary>
+    /// 瀵煎嚭寮傚父鏃ュ織 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Export"), NonUnify]
+    [DisplayName("瀵煎嚭寮傚父鏃ュ織")]
+    public async Task<IActionResult> ExportLogEx(LogInput input)
+    {
+        var logExList = await _sysLogExRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.StartTime.ToString()) && !string.IsNullOrWhiteSpace(input.EndTime.ToString()),
+                    u => u.CreateTime >= input.StartTime && u.CreateTime <= input.EndTime)
+            .OrderBy(u => u.CreateTime, OrderByType.Desc)
+            .Select<ExportLogDto>().ToListAsync();
+
+        IExcelExporter excelExporter = new ExcelExporter();
+        var res = await excelExporter.ExportAsByteArray(logExList);
+        return new FileStreamResult(new MemoryStream(res), "application/octet-stream") { FileDownloadName = DateTime.Now.ToString("yyyyMMddHHmm") + "寮傚父鏃ュ織.xlsx" };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/SysLogOpService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/SysLogOpService.cs
new file mode 100644
index 0000000..45ad9aa
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/SysLogOpService.cs
@@ -0,0 +1,67 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鎿嶄綔鏃ュ織鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 360)]
+public class SysLogOpService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysLogOp> _sysLogOpRep;
+
+    public SysLogOpService(SqlSugarRepository<SysLogOp> sysLogOpRep)
+    {
+        _sysLogOpRep = sysLogOpRep;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鎿嶄綔鏃ュ織鍒嗛〉鍒楄〃 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [SuppressMonitor]
+    [DisplayName("鑾峰彇鎿嶄綔鏃ュ織鍒嗛〉鍒楄〃")]
+    public async Task<SqlSugarPagedList<SysLogOp>> Page(PageLogInput input)
+    {
+        return await _sysLogOpRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.StartTime.ToString()), u => u.CreateTime >= input.StartTime)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.EndTime.ToString()), u => u.CreateTime <= input.EndTime)
+            //.OrderBy(u => u.CreateTime, OrderByType.Desc)
+            .OrderBuilder(input)
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 娓呯┖鎿嶄綔鏃ュ織 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Clear"), HttpPost]
+    [DisplayName("娓呯┖鎿嶄綔鏃ュ織")]
+    public void Clear()
+    {
+        _sysLogOpRep.AsSugarClient().DbMaintenance.TruncateTable<SysLogOp>();
+    }
+
+    /// <summary>
+    /// 瀵煎嚭鎿嶄綔鏃ュ織 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Export"), NonUnify]
+    [DisplayName("瀵煎嚭鎿嶄綔鏃ュ織")]
+    public async Task<IActionResult> ExportLogOp(LogInput input)
+    {
+        var logOpList = await _sysLogOpRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.StartTime.ToString()) && !string.IsNullOrWhiteSpace(input.EndTime.ToString()),
+                    u => u.CreateTime >= input.StartTime && u.CreateTime <= input.EndTime)
+            .OrderBy(u => u.CreateTime, OrderByType.Desc)
+            .Select<ExportLogDto>().ToListAsync();
+
+        IExcelExporter excelExporter = new ExcelExporter();
+        var res = await excelExporter.ExportAsByteArray(logOpList);
+        return new FileStreamResult(new MemoryStream(res), "application/octet-stream") { FileDownloadName = DateTime.Now.ToString("yyyyMMddHHmm") + "鎿嶄綔鏃ュ織.xlsx" };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/SysLogVisService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/SysLogVisService.cs
new file mode 100644
index 0000000..af3b651
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Logging/SysLogVisService.cs
@@ -0,0 +1,47 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺璁块棶鏃ュ織鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 340)]
+public class SysLogVisService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysLogVis> _sysLogVisRep;
+
+    public SysLogVisService(SqlSugarRepository<SysLogVis> sysLogVisRep)
+    {
+        _sysLogVisRep = sysLogVisRep;
+    }
+
+    /// <summary>
+    /// 鑾峰彇璁块棶鏃ュ織鍒嗛〉鍒楄〃 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [SuppressMonitor]
+    [DisplayName("鑾峰彇璁块棶鏃ュ織鍒嗛〉鍒楄〃")]
+    public async Task<SqlSugarPagedList<SysLogVis>> Page(PageLogInput input)
+    {
+        return await _sysLogVisRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.StartTime.ToString()), u => u.CreateTime >= input.StartTime)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.EndTime.ToString()), u => u.CreateTime <= input.EndTime)
+            .OrderBy(u => u.CreateTime, OrderByType.Desc)
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 娓呯┖璁块棶鏃ュ織 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Clear"), HttpPost]
+    [DisplayName("娓呯┖璁块棶鏃ュ織")]
+    public void Clear()
+    {
+        _sysLogVisRep.AsSugarClient().DbMaintenance.TruncateTable<SysLogVis>();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Menu/Dto/MenuInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Menu/Dto/MenuInput.cs
new file mode 100644
index 0000000..80910b8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Menu/Dto/MenuInput.cs
@@ -0,0 +1,43 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class MenuInput
+{
+    /// <summary>
+    /// 鏍囬
+    /// </summary>
+    public string Title { get; set; }
+
+    /// <summary>
+    /// 鑿滃崟绫诲瀷锛�1鐩綍 2鑿滃崟 3鎸夐挳锛�
+    /// </summary>
+    public MenuTypeEnum? Type { get; set; }
+
+    /// <summary>
+    /// 鏄惁甯姪鏂囨。鑿滃崟
+    /// </summary>
+    public bool? IshelpDoc { get; set; }
+
+}
+
+public class AddMenuInput : SysMenu
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    [Required(ErrorMessage = "鑿滃崟鍚嶇О涓嶈兘涓虹┖")]
+    public override string Title { get; set; }
+}
+
+public class UpdateMenuInput : AddMenuInput
+{
+}
+
+public class DeleteMenuInput : BaseIdInput
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Menu/Dto/MenuOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Menu/Dto/MenuOutput.cs
new file mode 100644
index 0000000..0d2d2d2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Menu/Dto/MenuOutput.cs
@@ -0,0 +1,170 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鑿滃崟杩斿洖缁撴灉
+/// </summary>
+public class MenuOutput
+{
+    /// <summary>
+    /// Id
+    /// </summary>
+    public long Id { get; set; }
+
+    /// <summary>
+    /// 鐖禝d
+    /// </summary>
+    public long Pid { get; set; }
+
+    /// <summary>
+    /// 鑿滃崟绫诲瀷锛�0鐩綍 1鑿滃崟 2鎸夐挳锛�
+    /// </summary>
+    public MenuTypeEnum Type { get; set; }
+
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 璺敱鍦板潃
+    /// </summary>
+    public string Path { get; set; }
+
+    /// <summary>
+    /// 缁勪欢璺緞
+    /// </summary>
+    public string Component { get; set; }
+
+    /// <summary>
+    /// 鏉冮檺鏍囪瘑
+    /// </summary>
+    public string Permission { get; set; }
+
+    /// <summary>
+    /// 閲嶅畾鍚�
+    /// </summary>
+    public string Redirect { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    public int OrderNo { get; set; }
+
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    public StatusEnum Status { get; set; }
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    public string Remark { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public virtual DateTime CreateTime { get; set; }
+
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public virtual DateTime UpdateTime { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜哄鍚�
+    /// </summary>
+    public virtual string CreateUserName { get; set; }
+
+    /// <summary>
+    /// 淇敼浜哄鍚�
+    /// </summary>
+    public virtual string UpdateUserName { get; set; }
+
+    /// <summary>
+    /// 鑿滃崟Meta
+    /// </summary>
+    public SysMenuMeta Meta { get; set; }
+
+    /// <summary>
+    /// 鑿滃崟瀛愰」
+    /// </summary>
+    public List<MenuOutput> Children { get; set; }
+}
+
+/// <summary>
+/// 鑿滃崟Meta閰嶇疆
+/// </summary>
+public class SysMenuMeta
+{
+    /// <summary>
+    /// 鏍囬
+    /// </summary>
+    public string Title { get; set; }
+
+    /// <summary>
+    /// 鍥炬爣
+    /// </summary>
+    public string Icon { get; set; }
+
+    /// <summary>
+    /// 鏄惁鍐呭祵
+    /// </summary>
+    public bool IsIframe { get; set; }
+
+    /// <summary>
+    /// 澶栭摼閾炬帴
+    /// </summary>
+    public string IsLink { get; set; }
+
+    /// <summary>
+    /// 鏄惁闅愯棌
+    /// </summary>
+    public bool IsHide { get; set; }
+
+    /// <summary>
+    /// 鏄惁缂撳瓨
+    /// </summary>
+    public bool IsKeepAlive { get; set; }
+
+    /// <summary>
+    /// 鏄惁鍥哄畾
+    /// </summary>
+    public bool IsAffix { get; set; }
+
+    /// <summary>
+    /// 鏄惁甯姪鏂囨。鑿滃崟
+    /// </summary>
+    public bool? IshelpDoc { get; set; }
+
+    /// <summary>
+    /// 鑿滃崟ID-甯姪鏂囨。鐢�
+    /// </summary>
+    public long? IdMenu { get; set; }
+
+}
+
+/// <summary>
+/// 閰嶇疆鑿滃崟瀵硅薄鏄犲皠
+/// </summary>
+public class SysMenuMapper : IRegister
+{
+    public void Register(TypeAdapterConfig config)
+    {
+        config.ForType<SysMenu, MenuOutput>()
+            .Map(t => t.Meta.Title, o => o.Title)
+            .Map(t => t.Meta.Icon, o => o.Icon)
+            .Map(t => t.Meta.IsIframe, o => o.IsIframe)
+            .Map(t => t.Meta.IsLink, o => o.OutLink)
+            .Map(t => t.Meta.IsHide, o => o.IsHide)
+            .Map(t => t.Meta.IsKeepAlive, o => o.IsKeepAlive)
+            .Map(t => t.Meta.IsAffix, o => o.IsAffix)
+            .Map(t => t.Meta.IshelpDoc, o => o.IshelpDoc)
+            .Map(t => t.Meta.IdMenu, o => o.Id);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Menu/SysMenuService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Menu/SysMenuService.cs
new file mode 100644
index 0000000..49a738e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Menu/SysMenuService.cs
@@ -0,0 +1,296 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鑿滃崟鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 450)]
+public class SysMenuService : IDynamicApiController, ITransient
+{
+    private readonly UserManager _userManager;
+    private readonly SqlSugarRepository<SysMenu> _sysMenuRep;
+    private readonly SysRoleMenuService _sysRoleMenuService;
+    private readonly SysUserRoleService _sysUserRoleService;
+    private readonly SysCacheService _sysCacheService;
+
+    public SysMenuService(UserManager userManager,
+        SqlSugarRepository<SysMenu> sysMenuRep,
+        SysRoleMenuService sysRoleMenuService,
+        SysUserRoleService sysUserRoleService,
+        SysCacheService sysCacheService)
+    {
+        _userManager = userManager;
+        _sysMenuRep = sysMenuRep;
+        _sysRoleMenuService = sysRoleMenuService;
+        _sysUserRoleService = sysUserRoleService;
+        _sysCacheService = sysCacheService;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鐧诲綍鑿滃崟鏍� 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鐧诲綍鑿滃崟鏍�")]
+    public async Task<List<MenuOutput>> GetLoginMenuTree()
+    {
+        if (_userManager.SuperAdmin)
+        {
+            var menuList = await _sysMenuRep.AsQueryable()
+                .Where(u => u.Type != MenuTypeEnum.Btn && u.Status == StatusEnum.Enable)
+                .OrderBy(u => new { u.OrderNo, u.Id }).ToTreeAsync(u => u.Children, u => u.Pid, 0);
+            return menuList.Adapt<List<MenuOutput>>();
+        }
+        else
+        {
+            var menuIdList = await GetMenuIdList();
+            var menuTree = await _sysMenuRep.AsQueryable()
+                .Where(u => u.Status == StatusEnum.Enable)
+                .OrderBy(u => new { u.OrderNo, u.Id }).ToTreeAsync(u => u.Children, u => u.Pid, 0, menuIdList.Select(d => (object)d).ToArray());
+            DeleteBtnFromMenuTree(menuTree);
+            return menuTree.Adapt<List<MenuOutput>>();
+        }
+    }
+
+    /// <summary>
+    /// 鍒犻櫎鐧诲綍鑿滃崟鏍戦噷闈㈢殑鎸夐挳
+    /// </summary>
+    private void DeleteBtnFromMenuTree(List<SysMenu> menuList)
+    {
+        if (menuList == null) return;
+        for (var i = menuList.Count - 1; i >= 0; i--)
+        {
+            var menu = menuList[i];
+            if (menu.Type == MenuTypeEnum.Btn)
+                menuList.Remove(menu);
+            else if (menu.Children.Count > 0)
+                DeleteBtnFromMenuTree(menu.Children);
+        }
+    }
+
+    /// <summary>
+    /// 鑾峰彇鑿滃崟鍒楄〃 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [DisplayName("鑾峰彇鑿滃崟鍒楄〃")]
+    public async Task<List<SysMenu>> GetList([FromQuery] MenuInput input)
+    {
+        var menuIdList = _userManager.SuperAdmin ? new List<long>() : await GetMenuIdList();
+
+        // 鏈夌瓫閫夋潯浠舵椂杩斿洖list鍒楄〃锛堥槻姝㈡瀯閫犱笉鍑烘爲锛�
+        if (!string.IsNullOrWhiteSpace(input.Title) || input.Type is > 0)
+        {
+            return await _sysMenuRep.AsQueryable()
+                .WhereIF(!string.IsNullOrWhiteSpace(input.Title), u => u.Title.Contains(input.Title))
+                .WhereIF(input.Type is > 0, u => u.Type == input.Type)
+                .WhereIF(menuIdList.Count > 1, u => menuIdList.Contains(u.Id))
+                .OrderBy(u => u.OrderNo).ToListAsync();
+        }
+
+        return _userManager.SuperAdmin ?
+            await _sysMenuRep.AsQueryable()
+            .WhereIF(input.IshelpDoc == true, u =>u.IshelpDoc==true) //Ly0809-甯姪鏂囨。鐢�
+            .OrderBy(u => u.OrderNo).ToTreeAsync(u => u.Children, u => u.Pid, 0) :
+            await _sysMenuRep.AsQueryable()
+            .WhereIF(input.IshelpDoc == true, u => u.IshelpDoc == true) //Ly0809-甯姪鏂囨。鐢�
+            .OrderBy(u => u.OrderNo).ToTreeAsync(u => u.Children, u => u.Pid, 0, menuIdList.Select(d => (object)d).ToArray()); // 瑙掕壊鑿滃崟鎺堟潈鏃�
+    }
+
+
+    /// <summary>
+    /// 澧炲姞鑿滃崟 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("澧炲姞鑿滃崟")]
+    public async Task AddMenu(AddMenuInput input)
+    {
+        var isExist = input.Type != MenuTypeEnum.Btn
+            ? await _sysMenuRep.IsAnyAsync(u => u.Title == input.Title && u.Pid == input.Pid)
+            : await _sysMenuRep.IsAnyAsync(u => u.Permission == input.Permission && u.Pid == input.Pid);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D4000);
+
+        if (!string.IsNullOrWhiteSpace(input.Name))
+        {
+            if (await _sysMenuRep.IsAnyAsync(u => u.Name == input.Name))
+                throw Oops.Oh(ErrorCodeEnum.D4009);
+        }
+
+        if (input.Pid != 0)
+        {
+            if (await _sysMenuRep.IsAnyAsync(u => u.Id == input.Pid && u.Type == MenuTypeEnum.Btn))
+                throw Oops.Oh(ErrorCodeEnum.D4010);
+        }
+
+        // 鏍¢獙鑿滃崟鍙傛暟
+        var sysMenu = input.Adapt<SysMenu>();
+        CheckMenuParam(sysMenu);
+
+        await _sysMenuRep.InsertAsync(sysMenu);
+
+        // 娓呴櫎缂撳瓨
+        DeleteMenuCache();
+    }
+
+    /// <summary>
+    /// 鏇存柊鑿滃崟 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊鑿滃崟")]
+    public async Task UpdateMenu(UpdateMenuInput input)
+    {
+        if (input.Id == input.Pid)
+            throw Oops.Oh(ErrorCodeEnum.D4008);
+
+        var isExist = input.Type != MenuTypeEnum.Btn
+            ? await _sysMenuRep.IsAnyAsync(u => u.Title == input.Title && u.Type == input.Type && u.Pid == input.Pid && u.Id != input.Id)
+            : await _sysMenuRep.IsAnyAsync(u => u.Permission == input.Permission && u.Type == input.Type && u.Pid == input.Pid && u.Id != input.Id);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D4000);
+
+        if (!string.IsNullOrWhiteSpace(input.Name))
+        {
+            if (await _sysMenuRep.IsAnyAsync(u => u.Id != input.Id && u.Name == input.Name))
+                throw Oops.Oh(ErrorCodeEnum.D4009);
+        }
+
+        if (input.Pid != 0)
+        {
+            if (await _sysMenuRep.IsAnyAsync(u => u.Id == input.Pid && u.Type == MenuTypeEnum.Btn))
+                throw Oops.Oh(ErrorCodeEnum.D4010);
+        }
+
+        // 鏍¢獙鑿滃崟鍙傛暟
+        var sysMenu = input.Adapt<SysMenu>();
+        CheckMenuParam(sysMenu);
+
+        await _sysMenuRep.AsUpdateable(sysMenu).ExecuteCommandAsync();
+
+        // 娓呴櫎缂撳瓨
+        DeleteMenuCache();
+    }
+
+    /// <summary>
+    /// 鍒犻櫎鑿滃崟 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [UnitOfWork]
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎鑿滃崟")]
+    public async Task DeleteMenu(DeleteMenuInput input)
+    {
+        var menuTreeList = await _sysMenuRep.AsQueryable().ToChildListAsync(u => u.Pid, input.Id, true);
+        var menuIdList = menuTreeList.Select(u => u.Id).ToList();
+
+        await _sysMenuRep.DeleteAsync(u => menuIdList.Contains(u.Id));
+
+        // 绾ц仈鍒犻櫎瑙掕壊鑿滃崟鏁版嵁
+        await _sysRoleMenuService.DeleteRoleMenuByMenuIdList(menuIdList);
+
+        // 娓呴櫎缂撳瓨
+        DeleteMenuCache();
+    }
+
+    /// <summary>
+    /// 澧炲姞鍜岀紪杈戞椂妫�鏌ヨ彍鍗曟暟鎹�
+    /// </summary>
+    /// <param name="menu"></param>
+    private static void CheckMenuParam(SysMenu menu)
+    {
+        var permission = menu.Permission;
+        if (menu.Type == MenuTypeEnum.Btn)
+        {
+            menu.Name = null;
+            menu.Path = null;
+            menu.Component = null;
+            menu.Icon = null;
+            menu.Redirect = null;
+            menu.OutLink = null;
+            menu.IsHide = false;
+            menu.IsKeepAlive = true;
+            menu.IsAffix = false;
+            menu.IsIframe = false;
+
+            if (string.IsNullOrEmpty(permission))
+                throw Oops.Oh(ErrorCodeEnum.D4003);
+            if (!permission.Contains(':'))
+                throw Oops.Oh(ErrorCodeEnum.D4004);
+        }
+        else
+        {
+            menu.Permission = null;
+        }
+    }
+
+    /// <summary>
+    /// 鑾峰彇鐢ㄦ埛鎷ユ湁鎸夐挳鏉冮檺闆嗗悎锛堢紦瀛橈級 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鎸夐挳鏉冮檺闆嗗悎")]
+    public async Task<List<string>> GetOwnBtnPermList()
+    {
+        var userId = _userManager.UserId;
+        var permissions = _sysCacheService.Get<List<string>>(CacheConst.KeyUserButton + userId);
+        if (permissions == null)
+        {
+            var menuIdList = _userManager.SuperAdmin ? new List<long>() : await GetMenuIdList();
+            permissions = menuIdList.Count > 0 || _userManager.SuperAdmin
+                ? await _sysMenuRep.AsQueryable()
+                    .Where(u => u.Type == MenuTypeEnum.Btn)
+                    .WhereIF(menuIdList.Count > 0, u => menuIdList.Contains(u.Id))
+                    .Select(u => u.Permission).ToListAsync()
+                : new List<string>();
+            _sysCacheService.Set(CacheConst.KeyUserButton + userId, permissions, TimeSpan.FromDays(7));
+        }
+
+        return permissions;
+    }
+
+    /// <summary>
+    /// 鑾峰彇绯荤粺鎵�鏈夋寜閽潈闄愰泦鍚堬紙缂撳瓨锛�
+    /// </summary>
+    /// <returns></returns>
+    [NonAction]
+    public async Task<List<string>> GetAllBtnPermList()
+    {
+        var permissions = _sysCacheService.Get<List<string>>(CacheConst.KeyUserButton + 0);
+        if (permissions == null || permissions.Count == 0)
+        {
+            permissions = await _sysMenuRep.AsQueryable()
+                .Where(u => u.Type == MenuTypeEnum.Btn)
+                .Select(u => u.Permission).ToListAsync();
+            _sysCacheService.Set(CacheConst.KeyUserButton + 0, permissions);
+        }
+
+        return permissions;
+    }
+
+    /// <summary>
+    /// 娓呴櫎鑿滃崟鍜屾寜閽紦瀛�
+    /// </summary>
+    private void DeleteMenuCache()
+    {
+        // _sysCacheService.RemoveByPrefixKey(CacheConst.KeyUserMenu);
+        _sysCacheService.RemoveByPrefixKey(CacheConst.KeyUserButton);
+    }
+
+    /// <summary>
+    /// 鑾峰彇褰撳墠鐢ㄦ埛鑿滃崟Id闆嗗悎
+    /// </summary>
+    /// <returns></returns>
+    private async Task<List<long>> GetMenuIdList()
+    {
+        var roleIdList = await _sysUserRoleService.GetUserRoleIdList(_userManager.UserId);
+        return await _sysRoleMenuService.GetRoleMenuIdList(roleIdList);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Message/Dto/MessageInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Message/Dto/MessageInput.cs
new file mode 100644
index 0000000..9290a36
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Message/Dto/MessageInput.cs
@@ -0,0 +1,35 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+public class MessageInput
+{
+    /// <summary>
+    /// 鐢ㄦ埛ID
+    /// </summary>
+    public long UserId { get; set; }
+
+    /// <summary>
+    /// 鐢ㄦ埛ID鍒楄〃
+    /// </summary>
+    public List<long> UserIds { get; set; }
+
+    /// <summary>
+    /// 娑堟伅鏍囬
+    /// </summary>
+    public string Title { get; set; }
+
+    /// <summary>
+    /// 娑堟伅绫诲瀷
+    /// </summary>
+    public MessageTypeEnum MessageType { get; set; }
+
+    /// <summary>
+    /// 娑堟伅鍐呭
+    /// </summary>
+    public string Message { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Message/SysEmailService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Message/SysEmailService.cs
new file mode 100644
index 0000000..e136ab2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Message/SysEmailService.cs
@@ -0,0 +1,51 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using MailKit.Net.Smtp;
+using MimeKit;
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺閭欢鍙戦�佹湇鍔� 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 370)]
+public class SysEmailService : IDynamicApiController, ITransient
+{
+    private readonly EmailOptions _emailOptions;
+
+    public SysEmailService(IOptions<EmailOptions> emailOptions)
+    {
+        _emailOptions = emailOptions.Value;
+    }
+
+    /// <summary>
+    /// 鍙戦�侀偖浠� 馃摟
+    /// </summary>
+    /// <param name="content"></param>
+    /// <param name="title"></param>
+    /// <returns></returns>
+    [DisplayName("鍙戦�侀偖浠�")]
+    public async Task SendEmail([Required] string content, string title = "Admin.NET 绯荤粺閭欢")
+    {
+        var message = new MimeMessage();
+        message.From.Add(new MailboxAddress(_emailOptions.DefaultFromEmail, _emailOptions.DefaultFromEmail));
+        message.To.Add(new MailboxAddress(_emailOptions.DefaultToEmail, _emailOptions.DefaultToEmail));
+        message.Subject = title;
+        message.Body = new TextPart("html")
+        {
+            Text = content
+        };
+
+        using var client = new SmtpClient();
+        client.Connect(_emailOptions.Host, _emailOptions.Port, _emailOptions.EnableSsl);
+        client.Authenticate(_emailOptions.UserName, _emailOptions.Password);
+        client.Send(message);
+        client.Disconnect(true);
+
+        await Task.CompletedTask;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Message/SysMessageService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Message/SysMessageService.cs
new file mode 100644
index 0000000..4192c6a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Message/SysMessageService.cs
@@ -0,0 +1,84 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.SignalR;
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺娑堟伅鍙戦�佹湇鍔� 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 370)]
+public class SysMessageService : IDynamicApiController, ITransient
+{
+    private readonly SysCacheService _sysCacheService;
+    private readonly IHubContext<OnlineUserHub, IOnlineUserHub> _chatHubContext;
+
+    public SysMessageService(SysCacheService sysCacheService,
+        IHubContext<OnlineUserHub, IOnlineUserHub> chatHubContext)
+    {
+        _sysCacheService = sysCacheService;
+        _chatHubContext = chatHubContext;
+    }
+
+    /// <summary>
+    /// 鍙戦�佹秷鎭粰鎵�鏈変汉 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鍙戦�佹秷鎭粰鎵�鏈変汉")]
+    public async Task SendAllUser(MessageInput input)
+    {
+        await _chatHubContext.Clients.All.ReceiveMessage(input);
+    }
+
+    /// <summary>
+    /// 鍙戦�佹秷鎭粰闄や簡鍙戦�佷汉鐨勫叾浠栦汉 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鍙戦�佹秷鎭粰闄や簡鍙戦�佷汉鐨勫叾浠栦汉")]
+    public async Task SendOtherUser(MessageInput input)
+    {
+        var user = _sysCacheService.Get<SysOnlineUser>(CacheConst.KeyUserOnline + input.UserId);
+        if (user != null)
+        {
+            await _chatHubContext.Clients.AllExcept(user.ConnectionId).ReceiveMessage(input);
+        }
+    }
+
+    /// <summary>
+    /// 鍙戦�佹秷鎭粰鏌愪釜浜� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鍙戦�佹秷鎭粰鏌愪釜浜�")]
+    public async Task SendUser(MessageInput input)
+    {
+        var user = _sysCacheService.Get<SysOnlineUser>(CacheConst.KeyUserOnline + input.UserId);
+        if (user == null) return;
+        await _chatHubContext.Clients.Client(user.ConnectionId).ReceiveMessage(input);
+        // 鍙互鐩存帴閫氳繃鐢ㄦ埛Id鍙戞秷鎭�
+        //await _chatHubContext.Clients.User(user.UserId.ToString()).ReceiveMessage(input);
+    }
+
+    /// <summary>
+    /// 鍙戦�佹秷鎭粰鏌愪簺浜� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鍙戦�佹秷鎭粰鏌愪簺浜�")]
+    public async Task SendUsers(MessageInput input)
+    {
+        var userlist = new List<string>();
+        foreach (var userid in input.UserIds)
+        {
+            var user = _sysCacheService.Get<SysOnlineUser>(CacheConst.KeyUserOnline + userid);
+            if (user != null) userlist.Add(user.ConnectionId);
+        }
+        await _chatHubContext.Clients.Clients(userlist).ReceiveMessage(input);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Message/SysSmsService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Message/SysSmsService.cs
new file mode 100644
index 0000000..1cbf179
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Message/SysSmsService.cs
@@ -0,0 +1,86 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using AlibabaCloud.SDK.Dysmsapi20170525.Models;
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鐭俊鏈嶅姟 馃З
+/// </summary>
+[AllowAnonymous]
+[ApiDescriptionSettings(Order = 150)]
+public class SysSmsService : IDynamicApiController, ITransient
+{
+    private readonly SMSOptions _smsOptions;
+    private readonly SysCacheService _sysCacheService;
+
+    public SysSmsService(IOptions<SMSOptions> smsOptions,
+        SysCacheService sysCacheService)
+    {
+        _smsOptions = smsOptions.Value;
+        _sysCacheService = sysCacheService;
+    }
+
+    /// <summary>
+    /// 鍙戦�佺煭淇� 馃摠
+    /// </summary>
+    /// <param name="phoneNumber"></param>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [DisplayName("鍙戦�佺煭淇�")]
+    public async Task SendSms([Required] string phoneNumber)
+    {
+        if (!phoneNumber.TryValidate(ValidationTypes.PhoneNumber).IsValid)
+            throw Oops.Oh("璇锋纭~鍐欐墜鏈哄彿鐮�");
+
+        // 鐢熸垚闅忔満楠岃瘉鐮�
+        var random = new Random();
+        var verifyCode = random.Next(100000, 999999);
+
+        var templateParam = Clay.Object(new
+        {
+            code = verifyCode
+        });
+
+        var client = CreateClient();
+        var sendSmsRequest = new SendSmsRequest
+        {
+            PhoneNumbers = phoneNumber, // 寰呭彂閫佹墜鏈哄彿, 澶氫釜浠ラ�楀彿鍒嗛殧
+            SignName = _smsOptions.Aliyun.SignName, // 鐭俊绛惧悕
+            TemplateCode = _smsOptions.Aliyun.TemplateCode, // 鐭俊妯℃澘
+            TemplateParam = templateParam.ToString(), // 妯℃澘涓殑鍙橀噺鏇挎崲JSON涓�
+            OutId = YitIdHelper.NextId().ToString()
+        };
+        var sendSmsResponse = client.SendSms(sendSmsRequest);
+        if (sendSmsResponse.Body.Code == "OK" && sendSmsResponse.Body.Message == "OK")
+        {
+            // var bizId = sendSmsResponse.Body.BizId;
+            _sysCacheService.Set($"{CacheConst.KeyPhoneVerCode}{phoneNumber}", verifyCode, TimeSpan.FromSeconds(60));
+        }
+        else
+        {
+            throw Oops.Oh($"鐭俊鍙戦�佸け璐ワ細{sendSmsResponse.Body.Code}-{sendSmsResponse.Body.Message}");
+        }
+
+        await Task.CompletedTask;
+    }
+
+    /// <summary>
+    /// 闃块噷浜戠煭淇¢厤缃�
+    /// </summary>
+    /// <returns></returns>
+    private AlibabaCloud.SDK.Dysmsapi20170525.Client CreateClient()
+    {
+        var config = new AlibabaCloud.OpenApiClient.Models.Config
+        {
+            AccessKeyId = _smsOptions.Aliyun.AccessKeyId,
+            AccessKeySecret = _smsOptions.Aliyun.AccessKeySecret,
+            Endpoint = "dysmsapi.aliyuncs.com"
+        };
+        return new AlibabaCloud.SDK.Dysmsapi20170525.Client(config);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Notice/Dto/NoticeInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Notice/Dto/NoticeInput.cs
new file mode 100644
index 0000000..e433927
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Notice/Dto/NoticeInput.cs
@@ -0,0 +1,36 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class PageNoticeInput : BasePageInput
+{
+    /// <summary>
+    /// 鏍囬
+    /// </summary>
+    public virtual string Title { get; set; }
+
+    /// <summary>
+    /// 绫诲瀷锛�1閫氱煡 2鍏憡锛�
+    /// </summary>
+    public virtual NoticeTypeEnum? Type { get; set; }
+}
+
+public class AddNoticeInput : SysNotice
+{
+}
+
+public class UpdateNoticeInput : AddNoticeInput
+{
+}
+
+public class DeleteNoticeInput : BaseIdInput
+{
+}
+
+public class NoticeInput : BaseIdInput
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Notice/SysNoticeService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Notice/SysNoticeService.cs
new file mode 100644
index 0000000..c5896ba
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Notice/SysNoticeService.cs
@@ -0,0 +1,178 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺閫氱煡鍏憡鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 380)]
+public class SysNoticeService : IDynamicApiController, ITransient
+{
+    private readonly UserManager _userManager;
+    private readonly SqlSugarRepository<SysUser> _sysUserRep;
+    private readonly SqlSugarRepository<SysNotice> _sysNoticeRep;
+    private readonly SqlSugarRepository<SysNoticeUser> _sysNoticeUserRep;
+    private readonly SysOnlineUserService _sysOnlineUserService;
+
+    public SysNoticeService(
+        UserManager userManager,
+        SqlSugarRepository<SysUser> sysUserRep,
+        SqlSugarRepository<SysNotice> sysNoticeRep,
+        SqlSugarRepository<SysNoticeUser> sysNoticeUserRep,
+        SysOnlineUserService sysOnlineUserService)
+    {
+        _userManager = userManager;
+        _sysUserRep = sysUserRep;
+        _sysNoticeRep = sysNoticeRep;
+        _sysNoticeUserRep = sysNoticeUserRep;
+        _sysOnlineUserService = sysOnlineUserService;
+    }
+
+    /// <summary>
+    /// 鑾峰彇閫氱煡鍏憡鍒嗛〉鍒楄〃 馃摙
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇閫氱煡鍏憡鍒嗛〉鍒楄〃")]
+    public async Task<SqlSugarPagedList<SysNotice>> Page(PageNoticeInput input)
+    {
+        return await _sysNoticeRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Title), u => u.Title.Contains(input.Title.Trim()))
+            .WhereIF(input.Type > 0, u => u.Type == input.Type)
+            .WhereIF(!_userManager.SuperAdmin, u => u.CreateUserId == _userManager.UserId)
+            .OrderBy(u => u.CreateTime, OrderByType.Desc)
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 澧炲姞閫氱煡鍏憡 馃摙
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("澧炲姞閫氱煡鍏憡")]
+    public async Task AddNotice(AddNoticeInput input)
+    {
+        var notice = input.Adapt<SysNotice>();
+        InitNoticeInfo(notice);
+        await _sysNoticeRep.InsertAsync(notice);
+    }
+
+    /// <summary>
+    /// 鏇存柊閫氱煡鍏憡 馃摙
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [UnitOfWork]
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊閫氱煡鍏憡")]
+    public async Task UpdateNotice(UpdateNoticeInput input)
+    {
+        var notice = input.Adapt<SysNotice>();
+        InitNoticeInfo(notice);
+        await _sysNoticeRep.UpdateAsync(notice);
+    }
+
+    /// <summary>
+    /// 鍒犻櫎閫氱煡鍏憡 馃摙
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [UnitOfWork]
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎閫氱煡鍏憡")]
+    public async Task DeleteNotice(DeleteNoticeInput input)
+    {
+        await _sysNoticeRep.DeleteAsync(u => u.Id == input.Id);
+
+        await _sysNoticeUserRep.DeleteAsync(u => u.NoticeId == input.Id);
+    }
+
+    /// <summary>
+    /// 鍙戝竷閫氱煡鍏憡 馃摙
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鍙戝竷閫氱煡鍏憡")]
+    public async Task Public(NoticeInput input)
+    {
+        // 鏇存柊鍙戝竷鐘舵�佸拰鏃堕棿
+        await _sysNoticeRep.UpdateAsync(u => new SysNotice() { Status = NoticeStatusEnum.PUBLIC, PublicTime = DateTime.Now }, u => u.Id == input.Id);
+
+        var notice = await _sysNoticeRep.GetFirstAsync(u => u.Id == input.Id);
+
+        // 閫氱煡鍒扮殑浜�(鎵�鏈夎处鍙�)
+        var userIdList = await _sysUserRep.AsQueryable().Select(u => u.Id).ToListAsync();
+
+        await _sysNoticeUserRep.DeleteAsync(u => u.NoticeId == notice.Id);
+        var noticeUserList = userIdList.Select(u => new SysNoticeUser
+        {
+            NoticeId = notice.Id,
+            UserId = u,
+        }).ToList();
+        await _sysNoticeUserRep.InsertRangeAsync(noticeUserList);
+
+        // 骞挎挱鎵�鏈夊湪绾胯处鍙�
+        await _sysOnlineUserService.PublicNotice(notice, userIdList);
+    }
+
+    /// <summary>
+    /// 璁剧疆閫氱煡鍏憡宸茶鐘舵�� 馃摙
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("璁剧疆閫氱煡鍏憡宸茶鐘舵��")]
+    public async Task SetRead(NoticeInput input)
+    {
+        await _sysNoticeUserRep.UpdateAsync(u => new SysNoticeUser
+        {
+            ReadStatus = NoticeUserStatusEnum.READ,
+            ReadTime = DateTime.Now
+        }, u => u.NoticeId == input.Id && u.UserId == _userManager.UserId);
+    }
+
+    /// <summary>
+    /// 鑾峰彇鎺ユ敹鐨勯�氱煡鍏憡
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鎺ユ敹鐨勯�氱煡鍏憡")]
+    public async Task<SqlSugarPagedList<SysNoticeUser>> GetPageReceived([FromQuery] PageNoticeInput input)
+    {
+        return await _sysNoticeUserRep.AsQueryable().Includes(u => u.SysNotice)
+            .Where(u => u.UserId == _userManager.UserId)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Title), u => u.SysNotice.Title.Contains(input.Title.Trim()))
+            .WhereIF(input.Type is > 0, u => u.SysNotice.Type == input.Type)
+            .OrderBy(u => u.SysNotice.CreateTime, OrderByType.Desc)
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏈鐨勯�氱煡鍏憡 馃摙
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鏈鐨勯�氱煡鍏憡")]
+    public async Task<List<SysNotice>> GetUnReadList()
+    {
+        var noticeUserList = await _sysNoticeUserRep.AsQueryable().Includes(u => u.SysNotice)
+            .Where(u => u.UserId == _userManager.UserId && u.ReadStatus == NoticeUserStatusEnum.UNREAD)
+            .OrderBy(u => u.SysNotice.CreateTime, OrderByType.Desc).ToListAsync();
+        return noticeUserList.Select(t => t.SysNotice).ToList();
+    }
+
+    /// <summary>
+    /// 鍒濆鍖栭�氱煡鍏憡淇℃伅
+    /// </summary>
+    /// <param name="notice"></param>
+    [NonAction]
+    private void InitNoticeInfo(SysNotice notice)
+    {
+        notice.PublicUserId = _userManager.UserId;
+        notice.PublicUserName = _userManager.RealName;
+        notice.PublicOrgId = _userManager.OrgId;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OAuth/HttpContextExtension.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OAuth/HttpContextExtension.cs
new file mode 100644
index 0000000..b210421
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OAuth/HttpContextExtension.cs
@@ -0,0 +1,32 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.Authentication;
+
+namespace Admin.NET.Core.Service;
+
+public static class HttpContextExtension
+{
+    public static async Task<AuthenticationScheme[]> GetExternalProvidersAsync(this HttpContext context)
+    {
+        ArgumentNullException.ThrowIfNull(context);
+
+        var schemes = context.RequestServices.GetRequiredService<IAuthenticationSchemeProvider>();
+
+        return (from scheme in await schemes.GetAllSchemesAsync()
+                where !string.IsNullOrEmpty(scheme.DisplayName)
+                select scheme).ToArray();
+    }
+
+    public static async Task<bool> IsProviderSupportedAsync(this HttpContext context, string provider)
+    {
+        ArgumentNullException.ThrowIfNull(context);
+
+        return (from scheme in await context.GetExternalProvidersAsync()
+                where string.Equals(scheme.Name, provider, StringComparison.OrdinalIgnoreCase)
+                select scheme).Any();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OAuth/OAuthClaim.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OAuth/OAuthClaim.cs
new file mode 100644
index 0000000..db89229
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OAuth/OAuthClaim.cs
@@ -0,0 +1,12 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public static class OAuthClaim
+{
+    public const string GiteeAvatarUrl = "urn:gitee:avatar_url";
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OAuth/SysOAuthService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OAuth/SysOAuthService.cs
new file mode 100644
index 0000000..3de147a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OAuth/SysOAuthService.cs
@@ -0,0 +1,117 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.Authentication;
+using System.Security.Claims;
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺OAuth鏈嶅姟 馃З
+/// </summary>
+[AllowAnonymous]
+[ApiDescriptionSettings(Order = 498)]
+public class SysOAuthService : IDynamicApiController, ITransient
+{
+    private readonly IHttpContextAccessor _httpContextAccessor;
+    private readonly SqlSugarRepository<SysWechatUser> _sysWechatUserRep;
+
+    public SysOAuthService(IHttpContextAccessor httpContextAccessor,
+        SqlSugarRepository<SysWechatUser> sysWechatUserRep)
+    {
+        _httpContextAccessor = httpContextAccessor;
+        _sysWechatUserRep = sysWechatUserRep;
+    }
+
+    /// <summary>
+    /// 绗笁鏂圭櫥褰� 馃敄
+    /// </summary>
+    /// <param name="provider"></param>
+    /// <param name="redirectUrl"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "SignIn"), HttpGet]
+    [DisplayName("绗笁鏂圭櫥褰�")]
+    public virtual async Task<IActionResult> SignIn([FromQuery] string provider, [FromQuery] string redirectUrl)
+    {
+        if (string.IsNullOrWhiteSpace(provider) || !await _httpContextAccessor.HttpContext.IsProviderSupportedAsync(provider))
+            throw Oops.Oh("涓嶆敮鎸佺殑OAuth绫诲瀷");
+
+        var request = _httpContextAccessor.HttpContext.Request;
+        var url = $"{request.Scheme}://{request.Host}{request.PathBase}{request.Path}Callback?provider={provider}&redirectUrl={redirectUrl}";
+        var properties = new AuthenticationProperties { RedirectUri = url };
+        properties.Items["LoginProvider"] = provider;
+        return await Task.FromResult(new ChallengeResult(provider, properties));
+    }
+
+    /// <summary>
+    /// 鎺堟潈鍥炶皟 馃敄
+    /// </summary>
+    /// <param name="provider"></param>
+    /// <param name="redirectUrl"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "SignInCallback"), HttpGet]
+    [DisplayName("鎺堟潈鍥炶皟")]
+    public virtual async Task<IActionResult> SignInCallback([FromQuery] string provider = null, [FromQuery] string redirectUrl = "")
+    {
+        if (string.IsNullOrWhiteSpace(provider) || !await _httpContextAccessor.HttpContext.IsProviderSupportedAsync(provider))
+            throw Oops.Oh("涓嶆敮鎸佺殑OAuth绫诲瀷");
+
+        var authenticateResult = await _httpContextAccessor.HttpContext.AuthenticateAsync(provider);
+        if (!authenticateResult.Succeeded)
+            throw Oops.Oh("鎺堟潈澶辫触");
+
+        var openIdClaim = authenticateResult.Principal.FindFirst(ClaimTypes.NameIdentifier);
+        if (openIdClaim == null || string.IsNullOrWhiteSpace(openIdClaim.Value))
+            throw Oops.Oh("鎺堟潈澶辫触");
+
+        var name = authenticateResult.Principal.FindFirst(ClaimTypes.Name)?.Value;
+        var email = authenticateResult.Principal.FindFirst(ClaimTypes.Email)?.Value;
+        var mobilePhone = authenticateResult.Principal.FindFirst(ClaimTypes.MobilePhone)?.Value;
+        var dateOfBirth = authenticateResult.Principal.FindFirst(ClaimTypes.DateOfBirth)?.Value;
+        var gender = authenticateResult.Principal.FindFirst(ClaimTypes.Gender)?.Value;
+        var avatarUrl = "";
+
+        var platformType = PlatformTypeEnum.寰俊鍏紬鍙�;
+        if (provider == "Gitee")
+        {
+            platformType = PlatformTypeEnum.Gitee;
+            avatarUrl = authenticateResult.Principal.FindFirst(OAuthClaim.GiteeAvatarUrl)?.Value;
+        }
+
+        // 鑻ヨ处鍙蜂笉瀛樺湪鍒欐柊寤�
+        var wechatUser = await _sysWechatUserRep.AsQueryable().Includes(u => u.SysUser).ClearFilter().FirstAsync(u => u.OpenId == openIdClaim.Value);
+        if (wechatUser == null)
+        {
+            var userId = await App.GetRequiredService<SysUserService>().AddUser(new AddUserInput()
+            {
+                Account = name,
+                RealName = name,
+                NickName = name,
+                Email = email,
+                Avatar = avatarUrl,
+                Phone = mobilePhone,
+                OrgId = 1300000000101, // 鏍圭粍缁囨灦鏋�
+                RoleIdList = new List<long> { 1300000000104 } // 浠呮湰浜烘暟鎹鑹�
+            });
+
+            await _sysWechatUserRep.InsertAsync(new SysWechatUser()
+            {
+                UserId = userId,
+                OpenId = openIdClaim.Value,
+                Avatar = avatarUrl,
+                NickName = name,
+                PlatformType = platformType
+            });
+
+            wechatUser = await _sysWechatUserRep.AsQueryable().Includes(u => u.SysUser).ClearFilter().FirstAsync(u => u.OpenId == openIdClaim.Value);
+        }
+
+        // 鏋勫缓Token浠ょ墝
+        var token = await App.GetRequiredService<SysAuthService>().CreateToken(wechatUser.SysUser);
+
+        return new RedirectResult($"{redirectUrl}/#/login?token={token.AccessToken}");
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OnlineUser/Dto/OnlineUserInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OnlineUser/Dto/OnlineUserInput.cs
new file mode 100644
index 0000000..d96aea0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OnlineUser/Dto/OnlineUserInput.cs
@@ -0,0 +1,20 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class PageOnlineUserInput : BasePageInput
+{
+    /// <summary>
+    /// 璐﹀彿鍚嶇О
+    /// </summary>
+    public string UserName { get; set; }
+
+    /// <summary>
+    /// 鐪熷疄濮撳悕
+    /// </summary>
+    public string RealName { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs
new file mode 100644
index 0000000..c012755
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs
@@ -0,0 +1,105 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.SignalR;
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鍦ㄧ嚎鐢ㄦ埛鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 300)]
+public class SysOnlineUserService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysOnlineUser> _sysOnlineUerRep;
+    private readonly SysConfigService _sysConfigService;
+    private readonly IHubContext<OnlineUserHub, IOnlineUserHub> _onlineUserHubContext;
+
+    public SysOnlineUserService(SqlSugarRepository<SysOnlineUser> sysOnlineUerRep,
+        SysConfigService sysConfigService,
+        IHubContext<OnlineUserHub, IOnlineUserHub> onlineUserHubContext)
+    {
+        _sysOnlineUerRep = sysOnlineUerRep;
+        _sysConfigService = sysConfigService;
+        _onlineUserHubContext = onlineUserHubContext;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鍦ㄧ嚎鐢ㄦ埛鍒嗛〉鍒楄〃 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鍦ㄧ嚎鐢ㄦ埛鍒嗛〉鍒楄〃")]
+    public async Task<SqlSugarPagedList<SysOnlineUser>> Page(PageOnlineUserInput input)
+    {
+        return await _sysOnlineUerRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.UserName), u => u.UserName.Contains(input.UserName))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.RealName), u => u.RealName.Contains(input.RealName))
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 寮哄埗涓嬬嚎 馃敄
+    /// </summary>
+    /// <param name="user"></param>
+    /// <returns></returns>
+    [NonValidation]
+    [DisplayName("寮哄埗涓嬬嚎")]
+    public async Task ForceOffline(SysOnlineUser user)
+    {
+        await _onlineUserHubContext.Clients.Client(user.ConnectionId).ForceOffline("寮哄埗涓嬬嚎");
+        await _sysOnlineUerRep.DeleteAsync(user);
+    }
+
+    /// <summary>
+    /// 鍙戝竷绔欏唴娑堟伅
+    /// </summary>
+    /// <param name="notice"></param>
+    /// <param name="userIds"></param>
+    /// <returns></returns>
+    [NonAction]
+    public async Task PublicNotice(SysNotice notice, List<long> userIds)
+    {
+        var userList = await _sysOnlineUerRep.GetListAsync(u => userIds.Contains(u.UserId));
+        if (!userList.Any()) return;
+
+        foreach (var item in userList)
+        {
+            await _onlineUserHubContext.Clients.Client(item.ConnectionId).PublicNotice(notice);
+        }
+    }
+
+    /// <summary>
+    /// 鍗曠敤鎴风櫥褰�
+    /// </summary>
+    /// <returns></returns>
+    [NonAction]
+    public async Task SingleLogin(long userId)
+    {
+        if (await _sysConfigService.GetConfigValue<bool>(CommonConst.SysSingleLogin))
+        {
+            var users = await _sysOnlineUerRep.GetListAsync(u => u.UserId == userId);
+            foreach (var user in users)
+            {
+                await ForceOffline(user);
+            }
+        }
+    }
+
+    /// <summary>
+    /// 閫氳繃鐢ㄦ埛ID韪㈡帀鍦ㄧ嚎鐢ㄦ埛
+    /// </summary>
+    /// <param name="userId"></param>
+    /// <returns></returns>
+    [NonAction]
+    public async Task ForceOffline(long userId)
+    {
+        var users = await _sysOnlineUerRep.GetListAsync(u => u.UserId == userId);
+        foreach (var user in users)
+        {
+            await ForceOffline(user);
+        }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OpenAccess/Dto/OpenAccessInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OpenAccess/Dto/OpenAccessInput.cs
new file mode 100644
index 0000000..a3d5793
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OpenAccess/Dto/OpenAccessInput.cs
@@ -0,0 +1,85 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 寮�鏀炬帴鍙h韩浠借緭鍏ュ弬鏁�
+/// </summary>
+public class OpenAccessInput : BasePageInput
+{
+    /// <summary>
+    /// 韬唤鏍囪瘑
+    /// </summary>
+    public string AccessKey { get; set; }
+}
+
+public class AddOpenAccessInput : SysOpenAccess
+{
+    /// <summary>
+    /// 韬唤鏍囪瘑
+    /// </summary>
+    [Required(ErrorMessage = "韬唤鏍囪瘑涓嶈兘涓虹┖")]
+    public override string AccessKey { get; set; }
+
+    /// <summary>
+    /// 瀵嗛挜
+    /// </summary>
+    [Required(ErrorMessage = "瀵嗛挜涓嶈兘涓虹┖")]
+    public override string AccessSecret { get; set; }
+
+    /// <summary>
+    /// 缁戝畾鐢ㄦ埛Id
+    /// </summary>
+    [Required(ErrorMessage = "缁戝畾鐢ㄦ埛涓嶈兘涓虹┖")]
+    public override long BindUserId { get; set; }
+}
+
+public class UpdateOpenAccessInput : AddOpenAccessInput
+{
+}
+
+public class DeleteOpenAccessInput : BaseIdInput
+{
+}
+
+public class GenerateSignatureInput
+{
+    /// <summary>
+    /// 韬唤鏍囪瘑
+    /// </summary>
+    [Required(ErrorMessage = "韬唤鏍囪瘑涓嶈兘涓虹┖")]
+    public string AccessKey { get; set; }
+
+    /// <summary>
+    /// 瀵嗛挜
+    /// </summary>
+    [Required(ErrorMessage = "瀵嗛挜涓嶈兘涓虹┖")]
+    public string AccessSecret { get; set; }
+
+    /// <summary>
+    /// 璇锋眰鏂规硶
+    /// </summary>
+    public HttpMethodEnum Method { get; set; }
+
+    /// <summary>
+    /// 璇锋眰鎺ュ彛鍦板潃
+    /// </summary>
+    [Required(ErrorMessage = "璇锋眰鎺ュ彛鍦板潃涓嶈兘涓虹┖")]
+    public string Url { get; set; }
+
+    /// <summary>
+    /// 鏃堕棿鎴�
+    /// </summary>
+    [Required(ErrorMessage = "鏃堕棿鎴充笉鑳戒负绌�")]
+    public long Timestamp { get; set; }
+
+    /// <summary>
+    /// 闅忔満鏁�
+    /// </summary>
+    [Required(ErrorMessage = "闅忔満鏁颁笉鑳戒负绌�")]
+    public string Nonce { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OpenAccess/Dto/OpenAccessOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OpenAccess/Dto/OpenAccessOutput.cs
new file mode 100644
index 0000000..47516fd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OpenAccess/Dto/OpenAccessOutput.cs
@@ -0,0 +1,20 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class OpenAccessOutput : SysOpenAccess
+{
+    /// <summary>
+    /// 缁戝畾鐢ㄦ埛璐﹀彿
+    /// </summary>
+    public string BindUserAccount { get; set; }
+
+    /// <summary>
+    /// 缁戝畾绉熸埛鍚嶇О
+    /// </summary>
+    public string BindTenantName { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OpenAccess/SysOpenAccessService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OpenAccess/SysOpenAccessService.cs
new file mode 100644
index 0000000..b8fdf2c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/OpenAccess/SysOpenAccessService.cs
@@ -0,0 +1,195 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using System.Security.Claims;
+using System.Security.Cryptography;
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 寮�鏀炬帴鍙h韩浠芥湇鍔� 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 244)]
+public class SysOpenAccessService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysOpenAccess> _sysOpenAccessRep;
+    private readonly SysCacheService _sysCacheService;
+
+    /// <summary>
+    /// 寮�鏀炬帴鍙h韩浠芥湇鍔℃瀯閫犲嚱鏁�
+    /// </summary>
+    public SysOpenAccessService(SqlSugarRepository<SysOpenAccess> sysOpenAccessRep,
+        SysCacheService sysCacheService)
+    {
+        _sysOpenAccessRep = sysOpenAccessRep;
+        _sysCacheService = sysCacheService;
+    }
+
+    /// <summary>
+    /// 鐢熸垚绛惧悕
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鐢熸垚绛惧悕")]
+    public string GenerateSignature(GenerateSignatureInput input)
+    {
+        // 瀵嗛挜
+        var appSecretByte = Encoding.UTF8.GetBytes(input.AccessSecret);
+
+        // 鎷兼帴鍙傛暟
+        var parameter = $"{input.Method.ToString().ToUpper()}&{input.Url}&{input.AccessKey}&{input.Timestamp}&{input.Nonce}";
+        // 浣跨敤 HMAC-SHA256 鍗忚鍒涘缓鍩轰簬鍝堝笇鐨勬秷鎭韩浠介獙璇佷唬鐮� (HMAC)锛屼互appSecretByte 浣滀负瀵嗛挜锛屽涓婇潰鎷兼帴鐨勫弬鏁拌繘琛岃绠楃鍚嶏紝鎵�寰楃鍚嶈繘琛� Base-64 缂栫爜
+        using HMAC hmac = new HMACSHA256();
+        hmac.Key = appSecretByte;
+        var sign = Convert.ToBase64String(hmac.ComputeHash(Encoding.UTF8.GetBytes(parameter)));
+        return sign;
+    }
+
+    /// <summary>
+    /// 鑾峰彇寮�鏀炬帴鍙h韩浠藉垎椤靛垪琛� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇寮�鏀炬帴鍙h韩浠藉垎椤靛垪琛�")]
+    public async Task<SqlSugarPagedList<OpenAccessOutput>> Page(OpenAccessInput input)
+    {
+        return await _sysOpenAccessRep.AsQueryable()
+            .LeftJoin<SysUser>((u, a) => u.BindUserId == a.Id)
+            .LeftJoin<SysTenant>((u, a, b) => u.BindTenantId == b.Id)
+            .LeftJoin<SysOrg>((u, a, b, c) => b.OrgId == c.Id)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AccessKey?.Trim()), (u, a, b, c) => u.AccessKey.Contains(input.AccessKey))
+            .Select((u, a, b, c) => new OpenAccessOutput
+            {
+                BindUserAccount = a.Account,
+                BindTenantName = c.Name,
+            }, true)
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 澧炲姞寮�鏀炬帴鍙h韩浠� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("澧炲姞寮�鏀炬帴鍙h韩浠�")]
+    public async Task AddOpenAccess(AddOpenAccessInput input)
+    {
+        if (await _sysOpenAccessRep.AsQueryable().AnyAsync(u => u.AccessKey == input.AccessKey && u.Id != input.Id))
+            throw Oops.Oh(ErrorCodeEnum.O1000);
+
+        var openAccess = input.Adapt<SysOpenAccess>();
+        await _sysOpenAccessRep.InsertAsync(openAccess);
+    }
+
+    /// <summary>
+    /// 鏇存柊寮�鏀炬帴鍙h韩浠� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊寮�鏀炬帴鍙h韩浠�")]
+    public async Task UpdateOpenAccess(UpdateOpenAccessInput input)
+    {
+        if (await _sysOpenAccessRep.AsQueryable().AnyAsync(u => u.AccessKey == input.AccessKey && u.Id != input.Id))
+            throw Oops.Oh(ErrorCodeEnum.O1000);
+
+        var openAccess = input.Adapt<SysOpenAccess>();
+        _sysCacheService.Remove(CacheConst.KeyOpenAccess + openAccess.AccessKey);
+
+        await _sysOpenAccessRep.UpdateAsync(openAccess);
+    }
+
+    /// <summary>
+    /// 鍒犻櫎寮�鏀炬帴鍙h韩浠� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎寮�鏀炬帴鍙h韩浠�")]
+    public async Task DeleteOpenAccess(DeleteOpenAccessInput input)
+    {
+        var openAccess = await _sysOpenAccessRep.GetFirstAsync(u => u.Id == input.Id);
+        if (openAccess != null)
+            _sysCacheService.Remove(CacheConst.KeyOpenAccess + openAccess.AccessKey);
+
+        await _sysOpenAccessRep.DeleteAsync(u => u.Id == input.Id);
+    }
+
+    /// <summary>
+    /// 鍒涘缓瀵嗛挜 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鍒涘缓瀵嗛挜")]
+    public async Task<string> CreateSecret()
+    {
+        return await Task.FromResult(Convert.ToBase64String(Guid.NewGuid().ToByteArray())[..^2]);
+    }
+
+    /// <summary>
+    /// 鏍规嵁 Key 鑾峰彇瀵硅薄
+    /// </summary>
+    /// <param name="accessKey"></param>
+    /// <returns></returns>
+    [NonAction]
+    public async Task<SysOpenAccess> GetByKey(string accessKey)
+    {
+        return await Task.FromResult(
+            _sysCacheService.GetOrAdd(CacheConst.KeyOpenAccess + accessKey, _ =>
+            {
+                return _sysOpenAccessRep.AsQueryable()
+                    .Includes(u => u.BindUser)
+                    .Includes(u => u.BindUser, p => p.SysOrg)
+                    .First(u => u.AccessKey == accessKey);
+            })
+        );
+    }
+
+    /// <summary>
+    /// Signature 韬唤楠岃瘉浜嬩欢榛樿瀹炵幇
+    /// </summary>
+    [NonAction]
+    public static SignatureAuthenticationEvent GetSignatureAuthenticationEventImpl()
+    {
+        return new SignatureAuthenticationEvent
+        {
+            OnGetAccessSecret = context =>
+            {
+                var logger = context.HttpContext.RequestServices.GetRequiredService<ILogger<SysOpenAccessService>>();
+                try
+                {
+                    var openAccessService = context.HttpContext.RequestServices.GetRequiredService<SysOpenAccessService>();
+                    var openAccess = openAccessService.GetByKey(context.AccessKey).GetAwaiter().GetResult();
+                    return Task.FromResult(openAccess == null ? "" : openAccess.AccessSecret);
+                }
+                catch (Exception ex)
+                {
+                    logger.LogError(ex, "寮�鏀炬帴鍙h韩浠介獙璇�");
+                    return Task.FromResult("");
+                }
+            },
+            OnValidated = context =>
+            {
+                var openAccessService = context.HttpContext.RequestServices.GetRequiredService<SysOpenAccessService>();
+                var openAccess = openAccessService.GetByKey(context.AccessKey).GetAwaiter().GetResult();
+                var identity = ((ClaimsIdentity)context.Principal!.Identity!);
+
+                identity.AddClaims(new[]
+                {
+                    new Claim(ClaimConst.UserId, openAccess.BindUserId + ""),
+                    new Claim(ClaimConst.TenantId, openAccess.BindTenantId + ""),
+                    new Claim(ClaimConst.Account, openAccess.BindUser.Account + ""),
+                    new Claim(ClaimConst.RealName, openAccess.BindUser.RealName),
+                    new Claim(ClaimConst.AccountType, ((int)openAccess.BindUser.AccountType).ToString()),
+                    new Claim(ClaimConst.OrgId, openAccess.BindUser.OrgId + ""),
+                    new Claim(ClaimConst.OrgName, openAccess.BindUser.SysOrg?.Name + ""),
+                    new Claim(ClaimConst.OrgType, openAccess.BindUser.SysOrg?.Type + ""),
+                });
+                return Task.CompletedTask;
+            }
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Org/Dto/OrgInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Org/Dto/OrgInput.cs
new file mode 100644
index 0000000..779d9b1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Org/Dto/OrgInput.cs
@@ -0,0 +1,42 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class OrgInput : BaseIdInput
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    public string Code { get; set; }
+
+    /// <summary>
+    /// 鏈烘瀯绫诲瀷
+    /// </summary>
+    public string Type { get; set; }
+}
+
+public class AddOrgInput : SysOrg
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    [Required(ErrorMessage = "鏈烘瀯鍚嶇О涓嶈兘涓虹┖")]
+    public override string Name { get; set; }
+}
+
+public class UpdateOrgInput : AddOrgInput
+{
+}
+
+public class DeleteOrgInput : BaseIdInput
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Org/SysOrgService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Org/SysOrgService.cs
new file mode 100644
index 0000000..d2388d4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Org/SysOrgService.cs
@@ -0,0 +1,413 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鏈烘瀯鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 470)]
+public class SysOrgService : IDynamicApiController, ITransient
+{
+    private readonly UserManager _userManager;
+    private readonly SqlSugarRepository<SysOrg> _sysOrgRep;
+    private readonly SysCacheService _sysCacheService;
+    private readonly SysUserExtOrgService _sysUserExtOrgService;
+    private readonly SysUserRoleService _sysUserRoleService;
+    private readonly SysRoleOrgService _sysRoleOrgService;
+
+    public SysOrgService(UserManager userManager,
+        SqlSugarRepository<SysOrg> sysOrgRep,
+        SysCacheService sysCacheService,
+        SysUserExtOrgService sysUserExtOrgService,
+        SysUserRoleService sysUserRoleService,
+        SysRoleOrgService sysRoleOrgService)
+    {
+        _sysOrgRep = sysOrgRep;
+        _userManager = userManager;
+        _sysCacheService = sysCacheService;
+        _sysUserExtOrgService = sysUserExtOrgService;
+        _sysUserRoleService = sysUserRoleService;
+        _sysRoleOrgService = sysRoleOrgService;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏈烘瀯鍒楄〃 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鏈烘瀯鍒楄〃")]
+    public async Task<List<SysOrg>> GetList([FromQuery] OrgInput input)
+    {
+        // 鑾峰彇鎷ユ湁鐨勬満鏋処d闆嗗悎
+        var userOrgIdList = await GetUserOrgIdList();
+
+        var iSugarQueryable = _sysOrgRep.AsQueryable().OrderBy(u => u.OrderNo);
+
+        // 甯︽潯浠剁瓫閫夋椂杩斿洖鍒楄〃鏁版嵁
+        if (!string.IsNullOrWhiteSpace(input.Name) || !string.IsNullOrWhiteSpace(input.Code) || !string.IsNullOrWhiteSpace(input.Type))
+        {
+            return await iSugarQueryable.WhereIF(userOrgIdList.Count > 0, u => userOrgIdList.Contains(u.Id))
+                .WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name))
+                .WhereIF(!string.IsNullOrWhiteSpace(input.Code), u => u.Code == input.Code)
+                .WhereIF(!string.IsNullOrWhiteSpace(input.Type), u => u.Type == input.Type)
+                .ToListAsync();
+        }
+
+        var orgTree = new List<SysOrg>();
+        if (_userManager.SuperAdmin)
+        {
+            orgTree = await iSugarQueryable.ToTreeAsync(u => u.Children, u => u.Pid, input.Id);
+        }
+        else
+        {
+            orgTree = await iSugarQueryable.ToTreeAsync(u => u.Children, u => u.Pid, input.Id, userOrgIdList.Select(d => (object)d).ToArray());
+            // 閫掑綊绂佺敤娌℃潈闄愮殑鏈烘瀯锛堥槻姝㈢敤鎴蜂慨鏀规垨鍒涘缓鏃犳潈鐨勬満鏋勫拰鐢ㄦ埛锛�
+            HandlerOrgTree(orgTree, userOrgIdList);
+        }
+
+        var sysOrg = await _sysOrgRep.GetSingleAsync(u => u.Id == input.Id);
+        if (sysOrg != null)
+        {
+            sysOrg.Children = orgTree;
+            orgTree = new List<SysOrg> { sysOrg };
+        }
+        return orgTree;
+    }
+
+    /// <summary>
+    /// 閫掑綊绂佺敤娌℃潈闄愮殑鏈烘瀯
+    /// </summary>
+    /// <param name="orgTree"></param>
+    /// <param name="userOrgIdList"></param>
+    private static void HandlerOrgTree(List<SysOrg> orgTree, List<long> userOrgIdList)
+    {
+        foreach (var org in orgTree)
+        {
+            org.Disabled = !userOrgIdList.Contains(org.Id); // 璁剧疆绂佺敤/涓嶅彲閫夋嫨
+            if (org.Children != null)
+                HandlerOrgTree(org.Children, userOrgIdList);
+        }
+    }
+
+    /// <summary>
+    /// 澧炲姞鏈烘瀯 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("澧炲姞鏈烘瀯")]
+    public async Task<long> AddOrg(AddOrgInput input)
+    {
+        if (!_userManager.SuperAdmin && input.Pid == 0)
+            throw Oops.Oh(ErrorCodeEnum.D2009);
+
+        if (await _sysOrgRep.IsAnyAsync(u => u.Name == input.Name && u.Code == input.Code))
+            throw Oops.Oh(ErrorCodeEnum.D2002);
+
+        if (!_userManager.SuperAdmin && input.Pid != 0)
+        {
+            // 鏂板鏈烘瀯鐖禝d涓嶆槸0锛屽垯杩涜鏉冮檺鏍¢獙
+            var orgIdList = await GetUserOrgIdList();
+            // 鏂板鏈烘瀯鐨勭埗鏈烘瀯涓嶅湪鑷繁鐨勬暟鎹寖鍥村唴
+            if (orgIdList.Count < 1 || !orgIdList.Contains(input.Pid))
+                throw Oops.Oh(ErrorCodeEnum.D2003);
+        }
+
+        // 鍒犻櫎涓庢鐖舵満鏋勬湁鍏崇殑鐢ㄦ埛鏈烘瀯缂撳瓨
+        if (input.Pid == 0)
+        {
+            DeleteAllUserOrgCache(0, 0);
+        }
+        else
+        {
+            var pOrg = await _sysOrgRep.GetFirstAsync(u => u.Id == input.Pid);
+            if (pOrg != null)
+                DeleteAllUserOrgCache(pOrg.Id, pOrg.Pid);
+        }
+
+        var newOrg = await _sysOrgRep.AsInsertable(input.Adapt<SysOrg>()).ExecuteReturnEntityAsync();
+        return newOrg.Id;
+    }
+
+    /// <summary>
+    /// 鎵归噺澧炲姞鏈烘瀯
+    /// </summary>
+    /// <param name="orgs"></param>
+    /// <returns></returns>
+    [NonAction]
+    public async Task BatchAddOrgs(List<SysOrg> orgs)
+    {
+        DeleteAllUserOrgCache(0, 0);
+        await _sysOrgRep.AsDeleteable().ExecuteCommandAsync();
+        await _sysOrgRep.AsInsertable(orgs).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鏇存柊鏈烘瀯 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [UnitOfWork]
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊鏈烘瀯")]
+    public async Task UpdateOrg(UpdateOrgInput input)
+    {
+        if (!_userManager.SuperAdmin && input.Pid == 0)
+            throw Oops.Oh(ErrorCodeEnum.D2009);
+
+        if (input.Pid != 0)
+        {
+            //var pOrg = await _sysOrgRep.GetFirstAsync(u => u.Id == input.Pid);
+            //_ = pOrg ?? throw Oops.Oh(ErrorCodeEnum.D2000);
+
+            // 鑻ョ埗鏈烘瀯鍙戠敓鍙樺寲鍒欐竻绌虹敤鎴锋満鏋勭紦瀛�
+            var sysOrg = await _sysOrgRep.GetFirstAsync(u => u.Id == input.Id);
+            if (sysOrg != null && sysOrg.Pid != input.Pid)
+            {
+                // 鍒犻櫎涓庢鏈烘瀯銆佹柊鐖舵満鏋勬湁鍏崇殑鐢ㄦ埛鏈烘瀯缂撳瓨
+                DeleteAllUserOrgCache(sysOrg.Id, input.Pid);
+            }
+        }
+        if (input.Id == input.Pid)
+            throw Oops.Oh(ErrorCodeEnum.D2001);
+
+        if (await _sysOrgRep.IsAnyAsync(u => u.Name == input.Name && u.Code == input.Code && u.Id != input.Id))
+            throw Oops.Oh(ErrorCodeEnum.D2002);
+
+        // 鐖禝d涓嶈兘涓鸿嚜宸辩殑瀛愯妭鐐�
+        var childIdList = await GetChildIdListWithSelfById(input.Id);
+        if (childIdList.Contains(input.Pid))
+            throw Oops.Oh(ErrorCodeEnum.D2001);
+
+        // 鏄惁鏈夋潈闄愭搷浣滄鏈烘瀯
+        if (!_userManager.SuperAdmin)
+        {
+            var orgIdList = await GetUserOrgIdList();
+            if (orgIdList.Count < 1 || !orgIdList.Contains(input.Id))
+                throw Oops.Oh(ErrorCodeEnum.D2003);
+        }
+
+        await _sysOrgRep.AsUpdateable(input.Adapt<SysOrg>()).IgnoreColumns(true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鍒犻櫎鏈烘瀯 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [UnitOfWork]
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎鏈烘瀯")]
+    public async Task DeleteOrg(DeleteOrgInput input)
+    {
+        var sysOrg = await _sysOrgRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+
+        // 鏄惁鏈夋潈闄愭搷浣滄鏈烘瀯
+        if (!_userManager.SuperAdmin)
+        {
+            var orgIdList = await GetUserOrgIdList();
+            if (orgIdList.Count < 1 || !orgIdList.Contains(sysOrg.Id))
+                throw Oops.Oh(ErrorCodeEnum.D2003);
+        }
+
+        // 鑻ユ満鏋勪负绉熸埛榛樿鏈烘瀯绂佹鍒犻櫎
+        var isTenantOrg = await _sysOrgRep.ChangeRepository<SqlSugarRepository<SysTenant>>()
+            .IsAnyAsync(u => u.OrgId == input.Id);
+        if (isTenantOrg)
+            throw Oops.Oh(ErrorCodeEnum.D2008);
+
+        // 鑻ユ満鏋勬湁鐢ㄦ埛鍒欑姝㈠垹闄�
+        var orgHasEmp = await _sysOrgRep.ChangeRepository<SqlSugarRepository<SysUser>>()
+            .IsAnyAsync(u => u.OrgId == input.Id);
+        if (orgHasEmp)
+            throw Oops.Oh(ErrorCodeEnum.D2004);
+
+        // 鑻ユ墿灞曟満鏋勬湁鐢ㄦ埛鍒欑姝㈠垹闄�
+        var hasExtOrgEmp = await _sysUserExtOrgService.HasUserOrg(sysOrg.Id);
+        if (hasExtOrgEmp)
+            throw Oops.Oh(ErrorCodeEnum.D2005);
+
+        // 鑻ュ瓙鏈烘瀯鏈夌敤鎴峰垯绂佹鍒犻櫎
+        var childOrgTreeList = await _sysOrgRep.AsQueryable().ToChildListAsync(u => u.Pid, input.Id, true);
+        var childOrgIdList = childOrgTreeList.Select(u => u.Id).ToList();
+
+        // 鑻ュ瓙鏈烘瀯鏈夌敤鎴峰垯绂佹鍒犻櫎
+        var cOrgHasEmp = await _sysOrgRep.ChangeRepository<SqlSugarRepository<SysUser>>()
+            .IsAnyAsync(u => childOrgIdList.Contains(u.OrgId));
+        if (cOrgHasEmp)
+            throw Oops.Oh(ErrorCodeEnum.D2007);
+
+        // 鍒犻櫎涓庢鏈烘瀯銆佺埗鏈烘瀯鏈夊叧鐨勭敤鎴锋満鏋勭紦瀛�
+        DeleteAllUserOrgCache(sysOrg.Id, sysOrg.Pid);
+
+        // 绾ц仈鍒犻櫎鏈烘瀯瀛愯妭鐐�
+        await _sysOrgRep.DeleteAsync(u => childOrgIdList.Contains(u.Id));
+
+        // 绾ц仈鍒犻櫎瑙掕壊鏈烘瀯鏁版嵁
+        await _sysRoleOrgService.DeleteRoleOrgByOrgIdList(childOrgIdList);
+
+        // 绾ц仈鍒犻櫎鐢ㄦ埛鏈烘瀯鏁版嵁
+        await _sysUserExtOrgService.DeleteUserExtOrgByOrgIdList(childOrgIdList);
+    }
+
+    /// <summary>
+    /// 鍒犻櫎涓庢鏈烘瀯銆佺埗鏈烘瀯鏈夊叧鐨勭敤鎴锋満鏋勭紦瀛�
+    /// </summary>
+    /// <param name="orgId"></param>
+    /// <param name="orgPid"></param>
+    private void DeleteAllUserOrgCache(long orgId, long orgPid)
+    {
+        var userOrgKeyList = _sysCacheService.GetKeysByPrefixKey(CacheConst.KeyUserOrg);
+        if (userOrgKeyList != null && userOrgKeyList.Count > 0)
+        {
+            foreach (var userOrgKey in userOrgKeyList)
+            {
+                var userOrgs = _sysCacheService.Get<List<long>>(userOrgKey);
+                var userId = long.Parse(userOrgKey.Substring(CacheConst.KeyUserOrg));
+                if (userOrgs.Contains(orgId) || userOrgs.Contains(orgPid))
+                {
+                    SqlSugarFilter.DeleteUserOrgCache(userId, _sysOrgRep.Context.CurrentConnectionConfig.ConfigId.ToString());
+                }
+                if (orgPid == 0)
+                {
+                    var dataScope = _sysCacheService.Get<int>($"{CacheConst.KeyRoleMaxDataScope}{userId}");
+                    if (dataScope == (int)DataScopeEnum.All)
+                    {
+                        SqlSugarFilter.DeleteUserOrgCache(userId, _sysOrgRep.Context.CurrentConnectionConfig.ConfigId.ToString());
+                    }
+                }
+            }
+        }
+    }
+
+    /// <summary>
+    /// 鏍规嵁鐢ㄦ埛Id鑾峰彇鏈烘瀯Id闆嗗悎
+    /// </summary>
+    /// <returns></returns>
+    [NonAction]
+    public async Task<List<long>> GetUserOrgIdList()
+    {
+        if (_userManager.SuperAdmin)
+            return new List<long>();
+
+        var userId = _userManager.UserId;
+        var orgIdList = _sysCacheService.Get<List<long>>($"{CacheConst.KeyUserOrg}{userId}"); // 鍙栫紦瀛�
+        if (orgIdList == null || orgIdList.Count < 1)
+        {
+            // 鏈汉鍒涘缓鏈烘瀯闆嗗悎
+            var orgList0 = await _sysOrgRep.AsQueryable().Where(u => u.CreateUserId == userId).Select(u => u.Id).ToListAsync();
+            // 鎵╁睍鏈烘瀯闆嗗悎
+            var orgList1 = await _sysUserExtOrgService.GetUserExtOrgList(userId);
+            // 瑙掕壊鏈烘瀯闆嗗悎
+            var orgList2 = await GetUserRoleOrgIdList(userId);
+            // 鏈烘瀯骞堕泦
+            orgIdList = orgList1.Select(u => u.OrgId).Union(orgList2).Union(orgList0).ToList();
+            // 褰撳墠鎵�灞炴満鏋�
+            if (!orgIdList.Contains(_userManager.OrgId))
+                orgIdList.Add(_userManager.OrgId);
+            _sysCacheService.Set($"{CacheConst.KeyUserOrg}{userId}", orgIdList, TimeSpan.FromDays(7)); // 瀛樼紦瀛�
+        }
+        return orgIdList;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鐢ㄦ埛瑙掕壊鏈烘瀯Id闆嗗悎
+    /// </summary>
+    /// <param name="userId"></param>
+    /// <returns></returns>
+    private async Task<List<long>> GetUserRoleOrgIdList(long userId)
+    {
+        var roleList = await _sysUserRoleService.GetUserRoleList(userId);
+        if (roleList.Count < 1)
+            return new List<long>(); // 绌烘満鏋処d闆嗗悎
+
+        return await GetUserOrgIdList(roleList);
+    }
+
+    /// <summary>
+    /// 鏍规嵁瑙掕壊Id闆嗗悎鑾峰彇鏈烘瀯Id闆嗗悎
+    /// </summary>
+    /// <param name="roleList"></param>
+    /// <returns></returns>
+    private async Task<List<long>> GetUserOrgIdList(List<SysRole> roleList)
+    {
+        // 鎸夋渶澶ц寖鍥寸瓥鐣ヨ瀹�(鑻ュ悓鏃舵嫢鏈堿LL鍜孲ELF鏉冮檺锛屽垯缁撴灉ALL)
+        int strongerDataScopeType = (int)DataScopeEnum.Self;
+
+        // 鑷畾涔夋暟鎹寖鍥寸殑瑙掕壊闆嗗悎
+        var customDataScopeRoleIdList = new List<long>();
+
+        // 鏁版嵁鑼冨洿鐨勬満鏋勯泦鍚�
+        var dataScopeOrgIdList = new List<long>();
+
+        if (roleList != null && roleList.Count > 0)
+        {
+            roleList.ForEach(u =>
+            {
+                if (u.DataScope == DataScopeEnum.Define)
+                {
+                    customDataScopeRoleIdList.Add(u.Id);
+                    strongerDataScopeType = (int)u.DataScope; // 鑷畾涔夋暟鎹潈闄愭椂涔熻鏇存柊鏈�澶ц寖鍥�
+                }
+                else if ((int)u.DataScope <= strongerDataScopeType)
+                {
+                    strongerDataScopeType = (int)u.DataScope;
+                    // 鏍规嵁鏁版嵁鑼冨洿鑾峰彇鏈烘瀯闆嗗悎
+                    var orgIds = GetOrgIdListByDataScope(strongerDataScopeType).GetAwaiter().GetResult();
+                    dataScopeOrgIdList = dataScopeOrgIdList.Union(orgIds).ToList();
+                }
+            });
+        }
+
+        // 缂撳瓨褰撳墠鐢ㄦ埛鏈�澶ц鑹叉暟鎹寖鍥�
+        _sysCacheService.Set(CacheConst.KeyRoleMaxDataScope + _userManager.UserId, strongerDataScopeType, TimeSpan.FromDays(7));
+
+        // 鏍规嵁瑙掕壊闆嗗悎鑾峰彇鏈烘瀯闆嗗悎
+        var roleOrgIdList = await _sysRoleOrgService.GetRoleOrgIdList(customDataScopeRoleIdList);
+
+        // 骞堕泦鏈烘瀯闆嗗悎
+        return roleOrgIdList.Union(dataScopeOrgIdList).ToList();
+    }
+
+    /// <summary>
+    /// 鏍规嵁鏁版嵁鑼冨洿鑾峰彇鏈烘瀯Id闆嗗悎
+    /// </summary>
+    /// <param name="dataScope"></param>
+    /// <returns></returns>
+    private async Task<List<long>> GetOrgIdListByDataScope(int dataScope)
+    {
+        var orgId = _userManager.OrgId;
+        var orgIdList = new List<long>();
+        // 鑻ユ暟鎹寖鍥存槸鍏ㄩ儴锛屽垯鑾峰彇鎵�鏈夋満鏋処d闆嗗悎
+        if (dataScope == (int)DataScopeEnum.All)
+        {
+            orgIdList = await _sysOrgRep.AsQueryable().Select(u => u.Id).ToListAsync();
+        }
+        // 鑻ユ暟鎹寖鍥存槸鏈儴闂ㄥ強浠ヤ笅锛屽垯鑾峰彇鏈妭鐐瑰拰瀛愯妭鐐归泦鍚�
+        else if (dataScope == (int)DataScopeEnum.DeptChild)
+        {
+            orgIdList = await GetChildIdListWithSelfById(orgId);
+        }
+        // 鑻ユ暟鎹寖鍥存槸鏈儴闂ㄤ笉鍚瓙鑺傜偣锛屽垯鐩存帴杩斿洖鏈儴闂�
+        else if (dataScope == (int)DataScopeEnum.Dept)
+        {
+            orgIdList.Add(orgId);
+        }
+        return orgIdList;
+    }
+
+    /// <summary>
+    /// 鏍规嵁鑺傜偣Id鑾峰彇瀛愯妭鐐笽d闆嗗悎(鍖呭惈鑷繁)
+    /// </summary>
+    /// <param name="pid"></param>
+    /// <returns></returns>
+    [NonAction]
+    public async Task<List<long>> GetChildIdListWithSelfById(long pid)
+    {
+        var orgTreeList = await _sysOrgRep.AsQueryable().ToChildListAsync(u => u.Pid, pid, true);
+        return orgTreeList.Select(u => u.Id).ToList();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Plugin/Dto/PluginInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Plugin/Dto/PluginInput.cs
new file mode 100644
index 0000000..f077354
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Plugin/Dto/PluginInput.cs
@@ -0,0 +1,37 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class PagePluginInput : BasePageInput
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    public string Code { get; set; }
+}
+
+public class AddPluginInput : SysPlugin
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    [Required(ErrorMessage = "鍔熻兘鍚嶇О涓嶈兘涓虹┖")]
+    public override string Name { get; set; }
+}
+
+public class UpdatePluginInput : AddPluginInput
+{
+}
+
+public class DeletePluginInput : BaseIdInput
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Plugin/SysPluginService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Plugin/SysPluginService.cs
new file mode 100644
index 0000000..24b5e8b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Plugin/SysPluginService.cs
@@ -0,0 +1,124 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鍔ㄦ�佹彃浠舵湇鍔� 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 245)]
+public class SysPluginService : IDynamicApiController, ITransient
+{
+    private readonly IDynamicApiRuntimeChangeProvider _provider;
+    private readonly SqlSugarRepository<SysPlugin> _sysPluginRep;
+
+    public SysPluginService(IDynamicApiRuntimeChangeProvider provider,
+        SqlSugarRepository<SysPlugin> sysPluginRep)
+    {
+        _provider = provider;
+        _sysPluginRep = sysPluginRep;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鍔ㄦ�佹彃浠跺垪琛� 馃З
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鍔ㄦ�佹彃浠跺垪琛�")]
+    public async Task<SqlSugarPagedList<SysPlugin>> Page(PagePluginInput input)
+    {
+        return await _sysPluginRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name))
+            .OrderBy(u => u.OrderNo)
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 澧炲姞鍔ㄦ�佹彃浠� 馃З
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("澧炲姞鍔ㄦ�佹彃浠�")]
+    public async Task AddPlugin(AddPluginInput input)
+    {
+        var isExist = await _sysPluginRep.IsAnyAsync(u => u.Name == input.Name || u.AssemblyName == input.AssemblyName);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D1900);
+
+        // 娣诲姞鍔ㄦ�佺▼搴忛泦/鎺ュ彛
+        input.AssemblyName = CompileAssembly(input.CsharpCode, input.AssemblyName);
+
+        await _sysPluginRep.InsertAsync(input.Adapt<SysPlugin>());
+    }
+
+    /// <summary>
+    /// 鏇存柊鍔ㄦ�佹彃浠� 馃З
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊鍔ㄦ�佹彃浠�")]
+    public async Task UpdatePlugin(UpdatePluginInput input)
+    {
+        var isExist = await _sysPluginRep.IsAnyAsync(u => (u.Name == input.Name || u.AssemblyName == input.AssemblyName) && u.Id != input.Id);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D1900);
+
+        // 鍏堢Щ闄ゅ啀娣诲姞鍔ㄦ�佺▼搴忛泦/鎺ュ彛
+        RemoveAssembly(input.AssemblyName);
+        input.AssemblyName = CompileAssembly(input.CsharpCode);
+
+        await _sysPluginRep.AsUpdateable(input.Adapt<SysPlugin>()).IgnoreColumns(true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鍒犻櫎鍔ㄦ�佹彃浠� 馃З
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎鍔ㄦ�佹彃浠�")]
+    public async Task DeletePlugin(DeletePluginInput input)
+    {
+        var plugin = await _sysPluginRep.GetByIdAsync(input.Id);
+        if (plugin == null) return;
+
+        // 绉婚櫎鍔ㄦ�佺▼搴忛泦/鎺ュ彛
+        RemoveAssembly(plugin.AssemblyName);
+
+        await _sysPluginRep.DeleteAsync(u => u.Id == input.Id);
+    }
+
+    /// <summary>
+    /// 娣诲姞鍔ㄦ�佺▼搴忛泦/鎺ュ彛 馃З
+    /// </summary>
+    /// <param name="csharpCode"></param>
+    /// <param name="assemblyName">绋嬪簭闆嗗悕绉�</param>
+    /// <returns></returns>
+    [DisplayName("娣诲姞鍔ㄦ�佺▼搴忛泦/鎺ュ彛")]
+    public string CompileAssembly([FromBody] string csharpCode, [FromQuery] string assemblyName = default)
+    {
+        // 缂栬瘧 C# 浠g爜骞惰繑鍥炲姩鎬佺▼搴忛泦
+        var dynamicAssembly = App.CompileCSharpClassCode(csharpCode, assemblyName);
+
+        // 灏嗙▼搴忛泦娣诲姞杩涘姩鎬� WebAPI 搴旂敤閮ㄤ欢
+        _provider.AddAssembliesWithNotifyChanges(dynamicAssembly);
+
+        // 杩斿洖鍔ㄦ�佺▼搴忛泦鍚嶇О
+        return dynamicAssembly.GetName().Name;
+    }
+
+    /// <summary>
+    /// 绉婚櫎鍔ㄦ�佺▼搴忛泦/鎺ュ彛 馃З
+    /// </summary>
+    [ApiDescriptionSettings(Name = "RemoveAssembly"), HttpPost]
+    [DisplayName("绉婚櫎鍔ㄦ�佺▼搴忛泦/鎺ュ彛")]
+    public void RemoveAssembly(string assemblyName)
+    {
+        _provider.RemoveAssembliesWithNotifyChanges(assemblyName);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Pos/Dto/PosInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Pos/Dto/PosInput.cs
new file mode 100644
index 0000000..183666f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Pos/Dto/PosInput.cs
@@ -0,0 +1,37 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class PosInput
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    public string Code { get; set; }
+}
+
+public class AddPosInput : SysPos
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    [Required(ErrorMessage = "鑱屼綅鍚嶇О涓嶈兘涓虹┖")]
+    public override string Name { get; set; }
+}
+
+public class UpdatePosInput : AddPosInput
+{
+}
+
+public class DeletePosInput : BaseIdInput
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Pos/SysPosService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Pos/SysPosService.cs
new file mode 100644
index 0000000..d6c431c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Pos/SysPosService.cs
@@ -0,0 +1,102 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鑱屼綅鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 460)]
+public class SysPosService : IDynamicApiController, ITransient
+{
+    private readonly UserManager _userManager;
+    private readonly SqlSugarRepository<SysPos> _sysPosRep;
+    private readonly SysUserExtOrgService _sysUserExtOrgService;
+
+    public SysPosService(UserManager userManager,
+        SqlSugarRepository<SysPos> sysPosRep,
+        SysUserExtOrgService sysUserExtOrgService)
+    {
+        _userManager = userManager;
+        _sysPosRep = sysPosRep;
+        _sysUserExtOrgService = sysUserExtOrgService;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鑱屼綅鍒楄〃 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鑱屼綅鍒楄〃")]
+    public async Task<List<SysPos>> GetList([FromQuery] PosInput input)
+    {
+        return await _sysPosRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Code), u => u.Code.Contains(input.Code))
+            .OrderBy(u => u.OrderNo).ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞鑱屼綅 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("澧炲姞鑱屼綅")]
+    public async Task AddPos(AddPosInput input)
+    {
+        if (await _sysPosRep.IsAnyAsync(u => u.Name == input.Name && u.Code == input.Code))
+            throw Oops.Oh(ErrorCodeEnum.D6000);
+
+        await _sysPosRep.InsertAsync(input.Adapt<SysPos>());
+    }
+
+    /// <summary>
+    /// 鏇存柊鑱屼綅 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊鑱屼綅")]
+    public async Task UpdatePos(UpdatePosInput input)
+    {
+        if (await _sysPosRep.IsAnyAsync(u => u.Name == input.Name && u.Code == input.Code && u.Id != input.Id))
+            throw Oops.Oh(ErrorCodeEnum.D6000);
+
+        var sysPos = await _sysPosRep.GetByIdAsync(input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D6003);
+        if (!_userManager.SuperAdmin && sysPos.CreateUserId != _userManager.UserId)
+            throw Oops.Oh(ErrorCodeEnum.D6002);
+
+        await _sysPosRep.AsUpdateable(input.Adapt<SysPos>()).IgnoreColumns(true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鍒犻櫎鑱屼綅 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎鑱屼綅")]
+    public async Task DeletePos(DeletePosInput input)
+    {
+        var sysPos = await _sysPosRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D6003);
+        if (!_userManager.SuperAdmin && sysPos.CreateUserId != _userManager.UserId)
+            throw Oops.Oh(ErrorCodeEnum.D6002);
+
+        // 鑻ヨ亴浣嶆湁鐢ㄦ埛鍒欑姝㈠垹闄�
+        var hasPosEmp = await _sysPosRep.ChangeRepository<SqlSugarRepository<SysUser>>()
+            .IsAnyAsync(u => u.PosId == input.Id);
+        if (hasPosEmp)
+            throw Oops.Oh(ErrorCodeEnum.D6001);
+
+        // 鑻ラ檮灞炶亴浣嶆湁鐢ㄦ埛鍒欑姝㈠垹闄�
+        var hasExtPosEmp = await _sysUserExtOrgService.HasUserPos(input.Id);
+        if (hasExtPosEmp)
+            throw Oops.Oh(ErrorCodeEnum.D6001);
+
+        await _sysPosRep.DeleteAsync(u => u.Id == input.Id);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Print/Dto/PrintInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Print/Dto/PrintInput.cs
new file mode 100644
index 0000000..4888706
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Print/Dto/PrintInput.cs
@@ -0,0 +1,37 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class PagePrintInput : BasePageInput
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    public string Code { get; set; }
+}
+
+public class AddPrintInput : SysPrint
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    [Required(ErrorMessage = "妯℃澘鍚嶇О涓嶈兘涓虹┖")]
+    public override string Name { get; set; }
+}
+
+public class UpdatePrintInput : AddPrintInput
+{
+}
+
+public class DeletePrintInput : BaseIdInput
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Print/SysPrintService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Print/SysPrintService.cs
new file mode 100644
index 0000000..23c2a4e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Print/SysPrintService.cs
@@ -0,0 +1,90 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鎵撳嵃妯℃澘鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 305)]
+public class SysPrintService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysPrint> _sysPrintRep;
+
+    public SysPrintService(SqlSugarRepository<SysPrint> sysPrintRep)
+    {
+        _sysPrintRep = sysPrintRep;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鎵撳嵃妯℃澘鍒楄〃 馃枿锔�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鎵撳嵃妯℃澘鍒楄〃")]
+    public async Task<SqlSugarPagedList<SysPrint>> Page(PagePrintInput input)
+    {
+        return await _sysPrintRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name))
+            .OrderBy(u => u.OrderNo)
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 鑾峰彇鎵撳嵃妯℃澘 馃枿锔�
+    /// </summary>
+    /// <param name="name"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鎵撳嵃妯℃澘")]
+    public async Task<SysPrint> GetPrint(string name)
+    {
+        return await _sysPrintRep.GetFirstAsync(u => u.Name == name);
+    }
+
+    /// <summary>
+    /// 澧炲姞鎵撳嵃妯℃澘 馃枿锔�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("澧炲姞鎵撳嵃妯℃澘")]
+    public async Task AddPrint(AddPrintInput input)
+    {
+        var isExist = await _sysPrintRep.IsAnyAsync(u => u.Name == input.Name);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D1800);
+
+        await _sysPrintRep.InsertAsync(input.Adapt<SysPrint>());
+    }
+
+    /// <summary>
+    /// 鏇存柊鎵撳嵃妯℃澘 馃枿锔�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊鎵撳嵃妯℃澘")]
+    public async Task UpdatePrint(UpdatePrintInput input)
+    {
+        var isExist = await _sysPrintRep.IsAnyAsync(u => u.Name == input.Name && u.Id != input.Id);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D1800);
+
+        await _sysPrintRep.AsUpdateable(input.Adapt<SysPrint>()).IgnoreColumns(true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鍒犻櫎鎵撳嵃妯℃澘 馃枿锔�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎鎵撳嵃妯℃澘")]
+    public async Task DeletePrint(DeletePrintInput input)
+    {
+        await _sysPrintRep.DeleteAsync(u => u.Id == input.Id);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Region/Dto/RegionInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Region/Dto/RegionInput.cs
new file mode 100644
index 0000000..bb46561
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Region/Dto/RegionInput.cs
@@ -0,0 +1,46 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class PageRegionInput : BasePageInput
+{
+    /// <summary>
+    /// 鐖惰妭鐐笽d
+    /// </summary>
+    public long Pid { get; set; }
+
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    public string Code { get; set; }
+}
+
+public class RegionInput : BaseIdInput
+{
+}
+
+public class AddRegionInput : SysRegion
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    [Required(ErrorMessage = "鍚嶇О涓嶈兘涓虹┖")]
+    public override string Name { get; set; }
+}
+
+public class UpdateRegionInput : AddRegionInput
+{
+}
+
+public class DeleteRegionInput : BaseIdInput
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Region/SysRegionService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Region/SysRegionService.cs
new file mode 100644
index 0000000..bf0ca92
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Region/SysRegionService.cs
@@ -0,0 +1,236 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺琛屾斂鍖哄煙鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 310)]
+public class SysRegionService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysRegion> _sysRegionRep;
+
+    //// Url鍦板潃-鍥藉缁熻灞�琛屾斂鍖哄煙2023骞�
+    //private readonly string _url = "http://www.stats.gov.cn/sj/tjbz/tjyqhdmhcxhfdm/2023/index.html";
+
+    public SysRegionService(SqlSugarRepository<SysRegion> sysRegionRep)
+    {
+        _sysRegionRep = sysRegionRep;
+    }
+
+    /// <summary>
+    /// 鑾峰彇琛屾斂鍖哄煙鍒嗛〉鍒楄〃 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇琛屾斂鍖哄煙鍒嗛〉鍒楄〃")]
+    public async Task<SqlSugarPagedList<SysRegion>> Page(PageRegionInput input)
+    {
+        return await _sysRegionRep.AsQueryable()
+            .WhereIF(input.Pid > 0, u => u.Pid == input.Pid || u.Id == input.Pid)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Code), u => u.Code.Contains(input.Code))
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 鑾峰彇琛屾斂鍖哄煙鍒楄〃 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇琛屾斂鍖哄煙鍒楄〃")]
+    public async Task<List<SysRegion>> GetList([FromQuery] RegionInput input)
+    {
+        return await _sysRegionRep.GetListAsync(u => u.Pid == input.Id);
+    }
+
+    /// <summary>
+    /// 澧炲姞琛屾斂鍖哄煙 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("澧炲姞琛屾斂鍖哄煙")]
+    public async Task<long> AddRegion(AddRegionInput input)
+    {
+        input.Code = input.Code.Trim();
+        if (input.Code.Length != 12 && input.Code.Length != 9 && input.Code.Length != 6)
+            throw Oops.Oh("琛屾斂鍖轰唬鐮佸彧鑳戒负6銆�9鎴�12浣�");
+
+        if (input.Pid != 0)
+        {
+            var pRegion = await _sysRegionRep.GetFirstAsync(u => u.Id == input.Pid);
+            pRegion ??= await _sysRegionRep.GetFirstAsync(u => u.Code == input.Pid.ToString());
+            if (pRegion == null)
+                throw Oops.Oh(ErrorCodeEnum.D2000);
+            input.Pid = pRegion.Id;
+        }
+
+        var isExist = await _sysRegionRep.IsAnyAsync(u => u.Name == input.Name && u.Code == input.Code);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.R2002);
+
+        var sysRegion = input.Adapt<SysRegion>();
+        var newRegion = await _sysRegionRep.AsInsertable(sysRegion).ExecuteReturnEntityAsync();
+        return newRegion.Id;
+    }
+
+    /// <summary>
+    /// 鏇存柊琛屾斂鍖哄煙 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊琛屾斂鍖哄煙")]
+    public async Task UpdateRegion(UpdateRegionInput input)
+    {
+        input.Code = input.Code.Trim();
+        if (input.Code.Length != 12 && input.Code.Length != 9 && input.Code.Length != 6)
+            throw Oops.Oh("琛屾斂鍖轰唬鐮佸彧鑳戒负6銆�9鎴�12浣�");
+
+        if (input.Pid != input.Pid && input.Pid != 0)
+        {
+            var pRegion = await _sysRegionRep.GetFirstAsync(u => u.Id == input.Pid);
+            pRegion ??= await _sysRegionRep.GetFirstAsync(u => u.Code == input.Pid.ToString());
+            if (pRegion == null)
+                throw Oops.Oh(ErrorCodeEnum.D2000);
+
+            input.Pid = pRegion.Id;
+            var regionTreeList = await _sysRegionRep.AsQueryable().ToChildListAsync(u => u.Pid, input.Id, true);
+            var childIdList = regionTreeList.Select(u => u.Id).ToList();
+            if (childIdList.Contains(input.Pid))
+                throw Oops.Oh("鐖惰妭鐐逛笉鑳戒负鑷繁鐨勫瓙鑺傜偣");
+        }
+
+        if (input.Id == input.Pid)
+            throw Oops.Oh(ErrorCodeEnum.R2001);
+
+        var sysRegion = await _sysRegionRep.GetFirstAsync(u => u.Id == input.Id);
+        var isExist = await _sysRegionRep.IsAnyAsync(u => (u.Name == input.Name && u.Code == input.Code) && u.Id != sysRegion.Id);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.R2002);
+
+        //// 鐖禝d涓嶈兘涓鸿嚜宸辩殑瀛愯妭鐐�
+        //var regionTreeList = await _sysRegionRep.AsQueryable().ToChildListAsync(u => u.Pid, input.Id, true);
+        //var childIdList = regionTreeList.Select(u => u.Id).ToList();
+        //if (childIdList.Contains(input.Pid))
+        //    throw Oops.Oh(ErrorCodeEnum.R2001);
+
+        await _sysRegionRep.AsUpdateable(input.Adapt<SysRegion>()).IgnoreColumns(true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鍒犻櫎琛屾斂鍖哄煙 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎琛屾斂鍖哄煙")]
+    public async Task DeleteRegion(DeleteRegionInput input)
+    {
+        var regionTreeList = await _sysRegionRep.AsQueryable().ToChildListAsync(u => u.Pid, input.Id, true);
+        var regionIdList = regionTreeList.Select(u => u.Id).ToList();
+        await _sysRegionRep.DeleteAsync(u => regionIdList.Contains(u.Id));
+    }
+
+    /// <summary>
+    /// 鍚屾琛屾斂鍖哄煙 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鍚屾琛屾斂鍖哄煙")]
+    public async Task Sync()
+    {
+        await _sysRegionRep.DeleteAsync(u => u.Id > 0);
+
+        //var context = BrowsingContext.New(AngleSharp.Configuration.Default.WithDefaultLoader());
+        //var dom = await context.OpenAsync(_url);
+
+        //// 鐪佺骇
+        //var itemList = dom.QuerySelectorAll("table.provincetable tr.provincetr td a");
+        //foreach (IHtmlAnchorElement item in itemList)
+        //{
+        //    var region = await _sysRegionRep.InsertReturnEntityAsync(new SysRegion
+        //    {
+        //        Pid = 0,
+        //        Name = item.TextContent,
+        //        Remark = item.Href,
+        //        Level = 1,
+        //    });
+
+        //    // 甯傜骇
+        //    if (string.IsNullOrEmpty(item.Href))
+        //        continue;
+        //    var dom1 = await context.OpenAsync(item.Href);
+        //    var itemList1 = dom1.QuerySelectorAll("table.citytable tr.citytr td a");
+        //    for (var i1 = 0; i1 < itemList1.Length; i1 += 2)
+        //    {
+        //        var item1 = (IHtmlAnchorElement)itemList1[i1 + 1];
+        //        var region1 = await _sysRegionRep.InsertReturnEntityAsync(new SysRegion
+        //        {
+        //            Pid = region.Id,
+        //            Name = item1.TextContent,
+        //            Code = itemList1[i1].TextContent,
+        //            Remark = item1.Href,
+        //            Level = 2,
+        //        });
+
+        //        // 鍖哄幙绾�
+        //        if (string.IsNullOrEmpty(item1.Href))
+        //            continue;
+        //        var dom2 = await context.OpenAsync(item1.Href);
+        //        var itemList2 = dom2.QuerySelectorAll("table.countytable tr.countytr td a");
+        //        for (var i2 = 0; i2 < itemList2.Length; i2 += 2)
+        //        {
+        //            var item2 = (IHtmlAnchorElement)itemList2[i2 + 1];
+        //            var region2 = await _sysRegionRep.InsertReturnEntityAsync(new SysRegion
+        //            {
+        //                Pid = region1.Id,
+        //                Name = item2.TextContent,
+        //                Code = itemList2[i2].TextContent,
+        //                Remark = item2.Href,
+        //                Level = 3,
+        //            });
+
+        //            // 琛楅亾绾�
+        //            if (string.IsNullOrEmpty(item2.Href))
+        //                continue;
+        //            var dom3 = await context.OpenAsync(item2.Href);
+        //            var itemList3 = dom3.QuerySelectorAll("table.towntable tr.towntr td a");
+        //            for (var i3 = 0; i3 < itemList3.Length; i3 += 2)
+        //            {
+        //                var item3 = (IHtmlAnchorElement)itemList3[i3 + 1];
+        //                var region3 = await _sysRegionRep.InsertReturnEntityAsync(new SysRegion
+        //                {
+        //                    Pid = region2.Id,
+        //                    Name = item3.TextContent,
+        //                    Code = itemList3[i3].TextContent,
+        //                    Remark = item3.Href,
+        //                    Level = 4,
+        //                });
+
+        //                // 鏉戠骇
+        //                if (string.IsNullOrEmpty(item3.Href))
+        //                    continue;
+        //                var dom4 = await context.OpenAsync(item3.Href);
+        //                var itemList4 = dom4.QuerySelectorAll("table.villagetable tr.villagetr td");
+        //                for (var i4 = 0; i4 < itemList4.Length; i4 += 3)
+        //                {
+        //                    await _sysRegionRep.InsertAsync(new SysRegion
+        //                    {
+        //                        Pid = region3.Id,
+        //                        Name = itemList4[i4 + 2].TextContent,
+        //                        Code = itemList4[i4].TextContent,
+        //                        CityCode = itemList4[i4 + 1].TextContent,
+        //                        Level = 5,
+        //                    });
+        //                }
+        //            }
+        //        }
+        //    }
+        //}
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleInput.cs
new file mode 100644
index 0000000..f6f9370
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleInput.cs
@@ -0,0 +1,50 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class RoleInput : BaseIdInput
+{
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    public virtual StatusEnum Status { get; set; }
+}
+
+public class PageRoleInput : BasePageInput
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public virtual string Name { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    public virtual string Code { get; set; }
+}
+
+public class AddRoleInput : SysRole
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    [Required(ErrorMessage = "瑙掕壊鍚嶇О涓嶈兘涓虹┖")]
+    public override string Name { get; set; }
+
+    /// <summary>
+    /// 鑿滃崟Id闆嗗悎
+    /// </summary>
+    public List<long> MenuIdList { get; set; }
+}
+
+public class UpdateRoleInput : AddRoleInput
+{
+}
+
+public class DeleteRoleInput : BaseIdInput
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleMenuInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleMenuInput.cs
new file mode 100644
index 0000000..9571223
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleMenuInput.cs
@@ -0,0 +1,18 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鎺堟潈瑙掕壊鑿滃崟
+/// </summary>
+public class RoleMenuInput : BaseIdInput
+{
+    /// <summary>
+    /// 鑿滃崟Id闆嗗悎
+    /// </summary>
+    public List<long> MenuIdList { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleMenuOutput .cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleMenuOutput .cs
new file mode 100644
index 0000000..e2a4511
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleMenuOutput .cs
@@ -0,0 +1,23 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 瑙掕壊鑿滃崟杈撳嚭鍙傛暟
+/// </summary>
+public class RoleMenuOutput
+{
+    /// <summary>
+    /// Id
+    /// </summary>
+    public long Id { get; set; }
+
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public string Title { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleOrgInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleOrgInput.cs
new file mode 100644
index 0000000..51e8010
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleOrgInput.cs
@@ -0,0 +1,23 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鎺堟潈瑙掕壊鏈烘瀯
+/// </summary>
+public class RoleOrgInput : BaseIdInput
+{
+    /// <summary>
+    /// 鏁版嵁鑼冨洿
+    /// </summary>
+    public int DataScope { get; set; }
+
+    /// <summary>
+    /// 鏈烘瀯Id闆嗗悎
+    /// </summary>
+    public List<long> OrgIdList { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleOutput.cs
new file mode 100644
index 0000000..501603f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/Dto/RoleOutput.cs
@@ -0,0 +1,28 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 瑙掕壊鍒楄〃杈撳嚭鍙傛暟
+/// </summary>
+public class RoleOutput
+{
+    /// <summary>
+    /// Id
+    /// </summary>
+    public long Id { get; set; }
+
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 缂栫爜
+    /// </summary>
+    public string Code { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/SysRoleMenuService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/SysRoleMenuService.cs
new file mode 100644
index 0000000..f8dce9b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/SysRoleMenuService.cs
@@ -0,0 +1,75 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺瑙掕壊鑿滃崟鏈嶅姟
+/// </summary>
+public class SysRoleMenuService : ITransient
+{
+    private readonly SqlSugarRepository<SysRoleMenu> _sysRoleMenuRep;
+    private readonly SysCacheService _sysCacheService;
+
+    public SysRoleMenuService(SqlSugarRepository<SysRoleMenu> sysRoleMenuRep,
+        SysCacheService sysCacheService)
+    {
+        _sysRoleMenuRep = sysRoleMenuRep;
+        _sysCacheService = sysCacheService;
+    }
+
+    /// <summary>
+    /// 鏍规嵁瑙掕壊Id闆嗗悎鑾峰彇鑿滃崟Id闆嗗悎
+    /// </summary>
+    /// <param name="roleIdList"></param>
+    /// <returns></returns>
+    public async Task<List<long>> GetRoleMenuIdList(List<long> roleIdList)
+    {
+        return await _sysRoleMenuRep.AsQueryable()
+            .Where(u => roleIdList.Contains(u.RoleId))
+            .Select(u => u.MenuId).ToListAsync();
+    }
+
+    /// <summary>
+    /// 鎺堟潈瑙掕壊鑿滃崟
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    public async Task GrantRoleMenu(RoleMenuInput input)
+    {
+        await _sysRoleMenuRep.DeleteAsync(u => u.RoleId == input.Id);
+        var menus = input.MenuIdList.Select(u => new SysRoleMenu
+        {
+            RoleId = input.Id,
+            MenuId = u
+        }).ToList();
+        await _sysRoleMenuRep.InsertRangeAsync(menus);
+
+        // 娓呴櫎缂撳瓨
+        // _sysCacheService.RemoveByPrefixKey(CacheConst.KeyUserMenu);
+        _sysCacheService.RemoveByPrefixKey(CacheConst.KeyUserButton);
+    }
+
+    /// <summary>
+    /// 鏍规嵁鑿滃崟Id闆嗗悎鍒犻櫎瑙掕壊鑿滃崟
+    /// </summary>
+    /// <param name="menuIdList"></param>
+    /// <returns></returns>
+    public async Task DeleteRoleMenuByMenuIdList(List<long> menuIdList)
+    {
+        await _sysRoleMenuRep.DeleteAsync(u => menuIdList.Contains(u.MenuId));
+    }
+
+    /// <summary>
+    /// 鏍规嵁瑙掕壊Id鍒犻櫎瑙掕壊鑿滃崟
+    /// </summary>
+    /// <param name="roleId"></param>
+    /// <returns></returns>
+    public async Task DeleteRoleMenuByRoleId(long roleId)
+    {
+        await _sysRoleMenuRep.DeleteAsync(u => u.RoleId == roleId);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/SysRoleOrgService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/SysRoleOrgService.cs
new file mode 100644
index 0000000..2a2d53a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/SysRoleOrgService.cs
@@ -0,0 +1,71 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺瑙掕壊鏈烘瀯鏈嶅姟
+/// </summary>
+public class SysRoleOrgService : ITransient
+{
+    private readonly SqlSugarRepository<SysRoleOrg> _sysRoleOrgRep;
+
+    public SysRoleOrgService(SqlSugarRepository<SysRoleOrg> sysRoleOrgRep)
+    {
+        _sysRoleOrgRep = sysRoleOrgRep;
+    }
+
+    /// <summary>
+    /// 鎺堟潈瑙掕壊鏈烘瀯
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    public async Task GrantRoleOrg(RoleOrgInput input)
+    {
+        await _sysRoleOrgRep.DeleteAsync(u => u.RoleId == input.Id);
+        if (input.DataScope == (int)DataScopeEnum.Define)
+        {
+            var roleOrgs = input.OrgIdList.Select(u => new SysRoleOrg
+            {
+                RoleId = input.Id,
+                OrgId = u
+            }).ToList();
+            await _sysRoleOrgRep.InsertRangeAsync(roleOrgs);
+        }
+    }
+
+    /// <summary>
+    /// 鏍规嵁瑙掕壊Id闆嗗悎鑾峰彇瑙掕壊鏈烘瀯Id闆嗗悎
+    /// </summary>
+    /// <param name="roleIdList"></param>
+    /// <returns></returns>
+    public async Task<List<long>> GetRoleOrgIdList(List<long> roleIdList)
+    {
+        return await _sysRoleOrgRep.AsQueryable()
+            .Where(u => roleIdList.Contains(u.RoleId))
+            .Select(u => u.OrgId).ToListAsync();
+    }
+
+    /// <summary>
+    /// 鏍规嵁鏈烘瀯Id闆嗗悎鍒犻櫎瑙掕壊鏈烘瀯
+    /// </summary>
+    /// <param name="orgIdList"></param>
+    /// <returns></returns>
+    public async Task DeleteRoleOrgByOrgIdList(List<long> orgIdList)
+    {
+        await _sysRoleOrgRep.DeleteAsync(u => orgIdList.Contains(u.OrgId));
+    }
+
+    /// <summary>
+    /// 鏍规嵁瑙掕壊Id鍒犻櫎瑙掕壊鏈烘瀯
+    /// </summary>
+    /// <param name="roleId"></param>
+    /// <returns></returns>
+    public async Task DeleteRoleOrgByRoleId(long roleId)
+    {
+        await _sysRoleOrgRep.DeleteAsync(u => u.RoleId == roleId);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/SysRoleService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/SysRoleService.cs
new file mode 100644
index 0000000..9e86671
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Role/SysRoleService.cs
@@ -0,0 +1,250 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺瑙掕壊鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 480)]
+public class SysRoleService : IDynamicApiController, ITransient
+{
+    private readonly UserManager _userManager;
+    private readonly SqlSugarRepository<SysRole> _sysRoleRep;
+    private readonly SysRoleOrgService _sysRoleOrgService;
+    private readonly SysRoleMenuService _sysRoleMenuService;
+    private readonly SysOrgService _sysOrgService;
+    private readonly SysUserRoleService _sysUserRoleService;
+
+    public SysRoleService(UserManager userManager,
+        SqlSugarRepository<SysRole> sysRoleRep,
+        SysRoleOrgService sysRoleOrgService,
+        SysRoleMenuService sysRoleMenuService,
+        SysOrgService sysOrgService,
+        SysUserRoleService sysUserRoleService)
+    {
+        _userManager = userManager;
+        _sysRoleRep = sysRoleRep;
+        _sysRoleOrgService = sysRoleOrgService;
+        _sysRoleMenuService = sysRoleMenuService;
+        _sysOrgService = sysOrgService;
+        _sysUserRoleService = sysUserRoleService;
+    }
+
+    /// <summary>
+    /// 鑾峰彇瑙掕壊鍒嗛〉鍒楄〃 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇瑙掕壊鍒嗛〉鍒楄〃")]
+    public async Task<SqlSugarPagedList<SysRole>> Page(PageRoleInput input)
+    {
+        return await _sysRoleRep.AsQueryable()
+            .WhereIF(!_userManager.SuperAdmin, u => u.TenantId == _userManager.TenantId) // 鑻ラ潪瓒呯锛屽垯鍙兘鎿嶄綔鏈鎴风殑瑙掕壊
+            .WhereIF(!_userManager.SuperAdmin && !_userManager.SysAdmin, u => u.CreateUserId == _userManager.UserId) // 鑻ラ潪瓒呯涓旈潪绯荤粺绠$悊鍛橈紝鍒欏彧鑳芥搷浣滆嚜宸卞垱寤虹殑瑙掕壊
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Code), u => u.Code.Contains(input.Code))
+            .OrderBy(u => u.OrderNo)
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 鑾峰彇瑙掕壊鍒楄〃 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇瑙掕壊鍒楄〃")]
+    public async Task<List<RoleOutput>> GetList()
+    {
+        // 褰撳墠鐢ㄦ埛宸叉嫢鏈夌殑瑙掕壊闆嗗悎
+        var roleIdList = _userManager.SuperAdmin ? new List<long>() : await _sysUserRoleService.GetUserRoleIdList(_userManager.UserId);
+
+        return await _sysRoleRep.AsQueryable()
+            .WhereIF(!_userManager.SuperAdmin, u => u.TenantId == _userManager.TenantId) // 鑻ラ潪瓒呯锛屽垯鍙兘鎿嶄綔鏈鎴风殑瑙掕壊
+            .WhereIF(!_userManager.SuperAdmin && !_userManager.SysAdmin, u => u.CreateUserId == _userManager.UserId || roleIdList.Contains(u.Id)) // 鑻ラ潪瓒呯涓旈潪绯荤粺绠$悊鍛橈紝鍒欏彧鏄剧ず鑷繁鍒涘缓鍜屽凡鎷ユ湁鐨勮鑹�
+            .OrderBy(u => u.OrderNo).Select<RoleOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞瑙掕壊 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("澧炲姞瑙掕壊")]
+    public async Task AddRole(AddRoleInput input)
+    {
+        if (await _sysRoleRep.IsAnyAsync(u => u.Name == input.Name && u.Code == input.Code))
+            throw Oops.Oh(ErrorCodeEnum.D1006);
+
+        var newRole = await _sysRoleRep.AsInsertable(input.Adapt<SysRole>()).ExecuteReturnEntityAsync();
+        input.Id = newRole.Id;
+        await UpdateRoleMenu(input);
+    }
+
+    /// <summary>
+    /// 鏇存柊瑙掕壊鑿滃崟鏉冮檺
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private async Task UpdateRoleMenu(AddRoleInput input)
+    {
+        if (input.MenuIdList == null || input.MenuIdList.Count < 1)
+            return;
+
+        // 灏嗙埗鑺傜偣涓�0鐨勮彍鍗曟帓闄わ紝闃叉鍓嶇鍏ㄩ�夊紓甯�
+        var pMenuIds = await _sysRoleRep.ChangeRepository<SqlSugarRepository<SysMenu>>().AsQueryable().Where(u => input.MenuIdList.Contains(u.Id) && u.Pid == 0).ToListAsync(u => u.Id);
+        var menuIds = input.MenuIdList.Except(pMenuIds); // 宸泦
+        await GrantMenu(new RoleMenuInput()
+        {
+            Id = input.Id,
+            MenuIdList = menuIds.ToList()
+        });
+    }
+
+    /// <summary>
+    /// 鏇存柊瑙掕壊 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊瑙掕壊")]
+    public async Task UpdateRole(UpdateRoleInput input)
+    {
+        if (await _sysRoleRep.IsAnyAsync(u => u.Name == input.Name && u.Code == input.Code && u.Id != input.Id))
+            throw Oops.Oh(ErrorCodeEnum.D1006);
+
+        await _sysRoleRep.AsUpdateable(input.Adapt<SysRole>()).IgnoreColumns(true)
+            .IgnoreColumns(u => new { u.DataScope }).ExecuteCommandAsync();
+
+        await UpdateRoleMenu(input);
+    }
+
+    /// <summary>
+    /// 鍒犻櫎瑙掕壊 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [UnitOfWork]
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎瑙掕壊")]
+    public async Task DeleteRole(DeleteRoleInput input)
+    {
+        // 绂佹鍒犻櫎绯荤粺绠$悊鍛樿鑹�
+        var sysRole = await _sysRoleRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        if (sysRole.Code == CommonConst.SysAdminRole)
+            throw Oops.Oh(ErrorCodeEnum.D1019);
+
+        // 鑻ヨ鑹叉湁鐢ㄦ埛鍒欑姝㈠垹闄�
+        var userIds = await _sysUserRoleService.GetUserIdList(input.Id);
+        if (userIds != null && userIds.Count > 0)
+            throw Oops.Oh(ErrorCodeEnum.D1025);
+
+        await _sysRoleRep.DeleteAsync(sysRole);
+
+        // 绾ц仈鍒犻櫎瑙掕壊鏈烘瀯鏁版嵁
+        await _sysRoleOrgService.DeleteRoleOrgByRoleId(sysRole.Id);
+
+        // 绾ц仈鍒犻櫎鐢ㄦ埛瑙掕壊鏁版嵁
+        await _sysUserRoleService.DeleteUserRoleByRoleId(sysRole.Id);
+
+        // 绾ц仈鍒犻櫎瑙掕壊鑿滃崟鏁版嵁
+        await _sysRoleMenuService.DeleteRoleMenuByRoleId(sysRole.Id);
+    }
+
+    /// <summary>
+    /// 鎺堟潈瑙掕壊鑿滃崟 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [UnitOfWork]
+    [DisplayName("鎺堟潈瑙掕壊鑿滃崟")]
+    public async Task GrantMenu(RoleMenuInput input)
+    {
+        await _sysRoleMenuService.GrantRoleMenu(input);
+    }
+
+    /// <summary>
+    /// 鎺堟潈瑙掕壊鏁版嵁鑼冨洿 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [UnitOfWork]
+    [DisplayName("鎺堟潈瑙掕壊鏁版嵁鑼冨洿")]
+    public async Task GrantDataScope(RoleOrgInput input)
+    {
+        // 鍒犻櫎涓庤瑙掕壊鐩稿叧鐨勭敤鎴锋満鏋勭紦瀛�
+        var userIdList = await _sysUserRoleService.GetUserIdList(input.Id);
+        foreach (var userId in userIdList)
+        {
+            SqlSugarFilter.DeleteUserOrgCache(userId, _sysRoleRep.Context.CurrentConnectionConfig.ConfigId.ToString());
+        }
+
+        var role = await _sysRoleRep.GetFirstAsync(u => u.Id == input.Id);
+        var dataScope = input.DataScope;
+        if (!_userManager.SuperAdmin)
+        {
+            // 闈炶秴绾х鐞嗗憳娌℃湁鍏ㄩ儴鏁版嵁鑼冨洿鏉冮檺
+            if (dataScope == (int)DataScopeEnum.All)
+                throw Oops.Oh(ErrorCodeEnum.D1016);
+
+            // 鑻ユ暟鎹寖鍥磋嚜瀹氫箟锛屽垯鍒ゆ柇鎺堟潈鏁版嵁鑼冨洿鏄惁鏈夋潈闄�
+            if (dataScope == (int)DataScopeEnum.Define)
+            {
+                var grantOrgIdList = input.OrgIdList;
+                if (grantOrgIdList.Count > 0)
+                {
+                    var orgIdList = await _sysOrgService.GetUserOrgIdList();
+                    if (orgIdList.Count < 1)
+                        throw Oops.Oh(ErrorCodeEnum.D1016);
+                    else if (!grantOrgIdList.All(u => orgIdList.Any(c => c == u)))
+                        throw Oops.Oh(ErrorCodeEnum.D1016);
+                }
+            }
+        }
+        role.DataScope = (DataScopeEnum)dataScope;
+        await _sysRoleRep.AsUpdateable(role).UpdateColumns(u => new { u.DataScope }).ExecuteCommandAsync();
+        await _sysRoleOrgService.GrantRoleOrg(input);
+    }
+
+    /// <summary>
+    /// 鏍规嵁瑙掕壊Id鑾峰彇鑿滃崟Id闆嗗悎 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鏍规嵁瑙掕壊Id鑾峰彇鑿滃崟Id闆嗗悎")]
+    public async Task<List<long>> GetOwnMenuList([FromQuery] RoleInput input)
+    {
+        return await _sysRoleMenuService.GetRoleMenuIdList(new List<long> { input.Id });
+    }
+
+    /// <summary>
+    /// 鏍规嵁瑙掕壊Id鑾峰彇鏈烘瀯Id闆嗗悎 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鏍规嵁瑙掕壊Id鑾峰彇鏈烘瀯Id闆嗗悎")]
+    public async Task<List<long>> GetOwnOrgList([FromQuery] RoleInput input)
+    {
+        return await _sysRoleOrgService.GetRoleOrgIdList(new List<long> { input.Id });
+    }
+
+    /// <summary>
+    /// 璁剧疆瑙掕壊鐘舵�� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("璁剧疆瑙掕壊鐘舵��")]
+    public async Task<int> SetStatus(RoleInput input)
+    {
+        if (!Enum.IsDefined(typeof(StatusEnum), input.Status))
+            throw Oops.Oh(ErrorCodeEnum.D3005);
+
+        return await _sysRoleRep.AsUpdateable()
+            .SetColumns(u => u.Status == input.Status)
+            .Where(u => u.Id == input.Id)
+            .ExecuteCommandAsync();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Server/SysServerService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Server/SysServerService.cs
new file mode 100644
index 0000000..33cd335
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Server/SysServerService.cs
@@ -0,0 +1,154 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using AlibabaCloud.SDK.Dysmsapi20170525.Models;
+using AngleSharp.Html.Parser;
+using AspNet.Security.OAuth.Gitee;
+using AspNet.Security.OAuth.Weixin;
+using AspNetCoreRateLimit;
+using Elastic.Clients.Elasticsearch;
+using IPTools.Core;
+using Lazy.Captcha.Core;
+using Magicodes.ExporterAndImporter.Pdf;
+using Magicodes.ExporterAndImporter.Word;
+using MailKit.Net.Smtp;
+using Novell.Directory.Ldap;
+using OnceMi.AspNetCore.OSS;
+using QRCoder;
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鏈嶅姟鍣ㄧ洃鎺ф湇鍔� 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 290)]
+public class SysServerService : IDynamicApiController, ITransient
+{
+    public SysServerService()
+    {
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏈嶅姟鍣ㄩ厤缃俊鎭� 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鏈嶅姟鍣ㄩ厤缃俊鎭�")]
+    public dynamic GetServerBase()
+    {
+        return new
+        {
+            HostName = Environment.MachineName, // 涓绘満鍚嶇О
+            SystemOs = ComputerUtil.GetOSInfo(),//RuntimeInformation.OSDescription, // 鎿嶄綔绯荤粺
+            OsArchitecture = Environment.OSVersion.Platform.ToString() + " " + RuntimeInformation.OSArchitecture.ToString(), // 绯荤粺鏋舵瀯
+            ProcessorCount = Environment.ProcessorCount + " 鏍�", // CPU鏍稿績鏁�
+            SysRunTime = ComputerUtil.GetRunTime(), // 绯荤粺杩愯鏃堕棿
+            RemoteIp = ComputerUtil.GetIpFromOnline(), // 澶栫綉鍦板潃
+            LocalIp = App.HttpContext?.Connection?.LocalIpAddress.ToString(), // 鏈湴鍦板潃
+            RuntimeInformation.FrameworkDescription, // NET妗嗘灦
+            Environment = App.HostEnvironment.IsDevelopment() ? "Development" : "Production",
+            Wwwroot = App.WebHostEnvironment.WebRootPath, // 缃戠珯鏍圭洰褰�
+            Stage = App.HostEnvironment.IsStaging() ? "Stage鐜" : "闈濻tage鐜", // 鏄惁Stage鐜
+        };
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏈嶅姟鍣ㄤ娇鐢ㄤ俊鎭� 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鏈嶅姟鍣ㄤ娇鐢ㄤ俊鎭�")]
+    public dynamic GetServerUsed()
+    {
+        var programStartTime = Process.GetCurrentProcess().StartTime;
+        var totalMilliseconds = (DateTime.Now - programStartTime).TotalMilliseconds.ToString();
+        var ts = totalMilliseconds.Contains('.') ? totalMilliseconds.Split('.')[0] : totalMilliseconds;
+        var programRunTime = DateTimeUtil.FormatTime(ts.ParseToLong());
+
+        var memoryMetrics = ComputerUtil.GetComputerInfo();
+        return new
+        {
+            memoryMetrics.FreeRam, // 绌洪棽鍐呭瓨
+            memoryMetrics.UsedRam, // 宸茬敤鍐呭瓨
+            memoryMetrics.TotalRam, // 鎬诲唴瀛�
+            memoryMetrics.RamRate, // 鍐呭瓨浣跨敤鐜�
+            memoryMetrics.CpuRate, // Cpu浣跨敤鐜�
+            StartTime = programStartTime.ToString("yyyy-MM-dd HH:mm:ss"), // 鏈嶅姟鍚姩鏃堕棿
+            RunTime = programRunTime, // 鏈嶅姟杩愯鏃堕棿
+        };
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏈嶅姟鍣ㄧ鐩樹俊鎭� 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鏈嶅姟鍣ㄧ鐩樹俊鎭�")]
+    public dynamic GetServerDisk()
+    {
+        return ComputerUtil.GetDiskInfos();
+    }
+
+    /// <summary>
+    /// 鑾峰彇妗嗘灦涓昏绋嬪簭闆� 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇妗嗘灦涓昏绋嬪簭闆�")]
+    public dynamic GetAssemblyList()
+    {
+        var furionAssembly = typeof(App).Assembly.GetName();
+        var sqlSugarAssembly = typeof(ISqlSugarClient).Assembly.GetName();
+        var yitIdAssembly = typeof(YitIdHelper).Assembly.GetName();
+        var redisAssembly = typeof(Redis).Assembly.GetName();
+        var jsonAssembly = typeof(NewtonsoftJsonMvcCoreBuilderExtensions).Assembly.GetName();
+        var excelAssembly = typeof(IExcelImporter).Assembly.GetName();
+        var pdfAssembly = typeof(IPdfExporter).Assembly.GetName();
+        var wordAssembly = typeof(IWordExporter).Assembly.GetName();
+        var captchaAssembly = typeof(ICaptcha).Assembly.GetName();
+        var wechatApiAssembly = typeof(WechatApiClient).Assembly.GetName();
+        var wechatTenpayAssembly = typeof(WechatTenpayClient).Assembly.GetName();
+        var ossAssembly = typeof(IOSSServiceFactory).Assembly.GetName();
+        var parserAssembly = typeof(Parser).Assembly.GetName();
+        var elasticsearchClientAssembly = typeof(ElasticsearchClient).Assembly.GetName();
+        var limitAssembly = typeof(IpRateLimitMiddleware).Assembly.GetName();
+        var htmlParserAssembly = typeof(HtmlParser).Assembly.GetName();
+        var fluentEmailAssembly = typeof(SmtpClient).Assembly.GetName();
+        var qRCodeGeneratorAssembly = typeof(QRCodeGenerator).Assembly.GetName();
+        var sendSmsRequestAssembly = typeof(SendSmsRequest).Assembly.GetName();
+        var imageAssembly = typeof(Image).Assembly.GetName();
+        var rabbitMQAssembly = typeof(RabbitMQEventSourceStore).Assembly.GetName();
+        var ldapConnectionAssembly = typeof(LdapConnection).Assembly.GetName();
+        var ipToolAssembly = typeof(IpTool).Assembly.GetName();
+        var weixinAuthenticationOptionsAssembly = typeof(WeixinAuthenticationOptions).Assembly.GetName();
+        var giteeAuthenticationOptionsAssembly = typeof(GiteeAuthenticationOptions).Assembly.GetName();
+
+        return new[]
+        {
+            new { furionAssembly.Name, furionAssembly.Version },
+            new { sqlSugarAssembly.Name, sqlSugarAssembly.Version },
+            new { yitIdAssembly.Name, yitIdAssembly.Version },
+            new { redisAssembly.Name, redisAssembly.Version },
+            new { jsonAssembly.Name, jsonAssembly.Version },
+            new { excelAssembly.Name, excelAssembly.Version },
+            new { pdfAssembly.Name, pdfAssembly.Version },
+            new { wordAssembly.Name, wordAssembly.Version },
+            new { captchaAssembly.Name, captchaAssembly.Version },
+            new { wechatApiAssembly.Name, wechatApiAssembly.Version },
+            new { wechatTenpayAssembly.Name, wechatTenpayAssembly.Version },
+            new { ossAssembly.Name, ossAssembly.Version },
+            new { parserAssembly.Name, parserAssembly.Version },
+            new { elasticsearchClientAssembly.Name, elasticsearchClientAssembly.Version },
+            new { limitAssembly.Name, limitAssembly.Version },
+            new { htmlParserAssembly.Name, htmlParserAssembly.Version },
+            new { fluentEmailAssembly.Name, fluentEmailAssembly.Version },
+            new { qRCodeGeneratorAssembly.Name, qRCodeGeneratorAssembly.Version },
+            new { sendSmsRequestAssembly.Name, sendSmsRequestAssembly.Version },
+            new { imageAssembly.Name, imageAssembly.Version },
+            new { rabbitMQAssembly.Name, rabbitMQAssembly.Version },
+            new { ldapConnectionAssembly.Name, ldapConnectionAssembly.Version },
+            new { ipToolAssembly.Name, ipToolAssembly.Version },
+            new { weixinAuthenticationOptionsAssembly.Name, weixinAuthenticationOptionsAssembly.Version },
+            new { giteeAuthenticationOptionsAssembly.Name, giteeAuthenticationOptionsAssembly.Version },
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Tenant/Dto/TenantInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Tenant/Dto/TenantInput.cs
new file mode 100644
index 0000000..777fce5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Tenant/Dto/TenantInput.cs
@@ -0,0 +1,67 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class TenantInput : BaseIdInput
+{
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    public StatusEnum Status { get; set; }
+}
+
+public class PageTenantInput : BasePageInput
+{
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public virtual string Name { get; set; }
+
+    /// <summary>
+    /// 鐢佃瘽
+    /// </summary>
+    public virtual string Phone { get; set; }
+}
+
+public class AddTenantInput : TenantOutput
+{
+    /// <summary>
+    /// 绉熸埛鍚嶇О
+    /// </summary>
+    [Required(ErrorMessage = "绉熸埛鍚嶇О涓嶈兘涓虹┖"), MinLength(2, ErrorMessage = "绉熸埛鍚嶇О涓嶈兘灏戜簬2涓瓧绗�")]
+    public override string Name { get; set; }
+
+    /// <summary>
+    /// 绉熺璐﹀彿
+    /// </summary>
+    [Required(ErrorMessage = "绉熺璐﹀彿涓嶈兘涓虹┖"), MinLength(3, ErrorMessage = "绉熺璐﹀彿涓嶈兘灏戜簬3涓瓧绗�")]
+    public override string AdminAccount { get; set; }
+}
+
+public class UpdateTenantInput : AddTenantInput
+{
+}
+
+public class DeleteTenantInput : BaseIdInput
+{
+}
+
+public class TenantUserInput
+{
+    /// <summary>
+    /// 鐢ㄦ埛Id
+    /// </summary>
+    public long UserId { get; set; }
+}
+
+public class TenantIdInput
+{
+    /// <summary>
+    /// 绉熸埛Id
+    /// </summary>
+    public long TenantId { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Tenant/Dto/TenantOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Tenant/Dto/TenantOutput.cs
new file mode 100644
index 0000000..7ed20c4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Tenant/Dto/TenantOutput.cs
@@ -0,0 +1,30 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class TenantOutput : SysTenant
+{
+    /// <summary>
+    /// 绉熸埛鍚嶇О
+    /// </summary>
+    public virtual string Name { get; set; }
+
+    /// <summary>
+    /// 绠$悊鍛樿处鍙�
+    /// </summary>
+    public virtual string AdminAccount { get; set; }
+
+    /// <summary>
+    /// 鐢靛瓙閭
+    /// </summary>
+    public string Email { get; set; }
+
+    /// <summary>
+    /// 鐢佃瘽
+    /// </summary>
+    public string Phone { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Tenant/SysTenantService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Tenant/SysTenantService.cs
new file mode 100644
index 0000000..39e024e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Tenant/SysTenantService.cs
@@ -0,0 +1,464 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺绉熸埛绠$悊鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 390)]
+public class SysTenantService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysTenant> _sysTenantRep;
+    private readonly SqlSugarRepository<SysOrg> _sysOrgRep;
+    private readonly SqlSugarRepository<SysRole> _sysRoleRep;
+    private readonly SqlSugarRepository<SysPos> _sysPosRep;
+    private readonly SqlSugarRepository<SysUser> _sysUserRep;
+    private readonly SqlSugarRepository<SysUserExtOrg> _sysUserExtOrgRep;
+    private readonly SqlSugarRepository<SysRoleMenu> _sysRoleMenuRep;
+    private readonly SqlSugarRepository<SysUserRole> _userRoleRep;
+    private readonly SysUserRoleService _sysUserRoleService;
+    private readonly SysRoleMenuService _sysRoleMenuService;
+    private readonly SysConfigService _sysConfigService;
+    private readonly SysCacheService _sysCacheService;
+
+    public SysTenantService(SqlSugarRepository<SysTenant> sysTenantRep,
+        SqlSugarRepository<SysOrg> sysOrgRep,
+        SqlSugarRepository<SysRole> sysRoleRep,
+        SqlSugarRepository<SysPos> sysPosRep,
+        SqlSugarRepository<SysUser> sysUserRep,
+        SqlSugarRepository<SysUserExtOrg> sysUserExtOrgRep,
+        SqlSugarRepository<SysRoleMenu> sysRoleMenuRep,
+        SqlSugarRepository<SysUserRole> userRoleRep,
+        SysUserRoleService sysUserRoleService,
+        SysRoleMenuService sysRoleMenuService,
+        SysConfigService sysConfigService,
+        SysCacheService sysCacheService)
+    {
+        _sysTenantRep = sysTenantRep;
+        _sysOrgRep = sysOrgRep;
+        _sysRoleRep = sysRoleRep;
+        _sysPosRep = sysPosRep;
+        _sysUserRep = sysUserRep;
+        _sysUserExtOrgRep = sysUserExtOrgRep;
+        _sysRoleMenuRep = sysRoleMenuRep;
+        _userRoleRep = userRoleRep;
+        _sysUserRoleService = sysUserRoleService;
+        _sysRoleMenuService = sysRoleMenuService;
+        _sysConfigService = sysConfigService;
+        _sysCacheService = sysCacheService;
+    }
+
+    /// <summary>
+    /// 鑾峰彇绉熸埛鍒嗛〉鍒楄〃 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇绉熸埛鍒嗛〉鍒楄〃")]
+    public async Task<SqlSugarPagedList<TenantOutput>> Page(PageTenantInput input)
+    {
+        return await _sysTenantRep.AsQueryable()
+            .LeftJoin<SysUser>((u, a) => u.UserId == a.Id)
+            .LeftJoin<SysOrg>((u, a, b) => u.OrgId == b.Id)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Phone), (u, a) => a.Phone.Contains(input.Phone.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Name), (u, a, b) => b.Name.Contains(input.Name.Trim()))
+            .OrderBy(u => u.OrderNo)
+            .Select((u, a, b) => new TenantOutput
+            {
+                Id = u.Id,
+                OrgId = b.Id,
+                Name = b.Name,
+                UserId = a.Id,
+                AdminAccount = a.Account,
+                Phone = a.Phone,
+                Email = a.Email,
+                TenantType = u.TenantType,
+                DbType = u.DbType,
+                Connection = u.Connection,
+                ConfigId = u.ConfigId,
+                OrderNo = u.OrderNo,
+                Remark = u.Remark,
+                Status = u.Status,
+                CreateTime = u.CreateTime,
+                CreateUserName = u.CreateUserName,
+                UpdateTime = u.UpdateTime,
+                UpdateUserName = u.UpdateUserName,
+            })
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 鑾峰彇搴撻殧绂荤殑绉熸埛鍒楄〃
+    /// </summary>
+    /// <returns></returns>
+    [NonAction]
+    public async Task<List<SysTenant>> GetTenantDbList()
+    {
+        return await _sysTenantRep.GetListAsync(u => u.TenantType == TenantTypeEnum.Db && u.Status == StatusEnum.Enable);
+    }
+
+    /// <summary>
+    /// 澧炲姞绉熸埛 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [UnitOfWork]
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("澧炲姞绉熸埛")]
+    public async Task AddTenant(AddTenantInput input)
+    {
+        var isExist = await _sysOrgRep.IsAnyAsync(u => u.Name == input.Name);
+        if (isExist) throw Oops.Oh(ErrorCodeEnum.D1300);
+
+        isExist = await _sysUserRep.AsQueryable().ClearFilter().AnyAsync(u => u.Account == input.AdminAccount);
+        if (isExist) throw Oops.Oh(ErrorCodeEnum.D1301);
+
+        // 浠庡簱閰嶇疆鍒ゆ柇
+        if (!string.IsNullOrWhiteSpace(input.SlaveConnections) && !JSON.IsValid(input.SlaveConnections))
+            throw Oops.Oh(ErrorCodeEnum.D1302);
+
+        // ID闅旂鏃惰缃笌涓诲簱涓�鑷�
+        if (input.TenantType == TenantTypeEnum.Id)
+        {
+            var config = _sysTenantRep.AsSugarClient().CurrentConnectionConfig;
+            input.DbType = config.DbType;
+            input.Connection = config.ConnectionString;
+        }
+
+        var tenant = input.Adapt<TenantOutput>();
+        await _sysTenantRep.InsertAsync(tenant);
+        await InitNewTenant(tenant);
+
+        await CacheTenant();
+    }
+
+    /// <summary>
+    /// 璁剧疆绉熸埛鐘舵�� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("璁剧疆绉熸埛鐘舵��")]
+    public async Task<int> SetStatus(TenantInput input)
+    {
+        var tenant = await _sysTenantRep.GetFirstAsync(u => u.Id == input.Id);
+        if (tenant == null || tenant.ConfigId == SqlSugarConst.MainConfigId)
+            throw Oops.Oh(ErrorCodeEnum.Z1001);
+
+        if (!Enum.IsDefined(typeof(StatusEnum), input.Status))
+            throw Oops.Oh(ErrorCodeEnum.D3005);
+
+        tenant.Status = input.Status;
+        return await _sysTenantRep.AsUpdateable(tenant).UpdateColumns(u => new { u.Status }).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鏂板绉熸埛鍒濆鍖�
+    /// </summary>
+    /// <param name="tenant"></param>
+    private async Task InitNewTenant(TenantOutput tenant)
+    {
+        var tenantId = tenant.Id;
+        var tenantName = tenant.Name;
+
+        // 鍒濆鍖栨満鏋�
+        var newOrg = new SysOrg
+        {
+            TenantId = tenantId,
+            Pid = 0,
+            Name = tenantName,
+            Code = tenantName,
+            Remark = tenantName,
+        };
+        await _sysOrgRep.InsertAsync(newOrg);
+
+        // 鍒濆鍖栬鑹�
+        var newRole = new SysRole
+        {
+            TenantId = tenantId,
+            Name = "绉熺-" + tenantName,
+            Code = CommonConst.SysAdminRole,
+            DataScope = DataScopeEnum.All,
+            Remark = tenantName
+        };
+        await _sysRoleRep.InsertAsync(newRole);
+
+        // 鍒濆鍖栬亴浣�
+        var newPos = new SysPos
+        {
+            TenantId = tenantId,
+            Name = "绉熺-" + tenantName,
+            Code = tenantName,
+            Remark = tenantName,
+        };
+        await _sysPosRep.InsertAsync(newPos);
+
+        // 鍒濆鍖栫郴缁熻处鍙�
+        var password = await _sysConfigService.GetConfigValue<string>(CommonConst.SysPassword);
+        var newUser = new SysUser
+        {
+            TenantId = tenantId,
+            Account = tenant.AdminAccount,
+            Password = CryptogramUtil.Encrypt(password),
+            NickName = "绉熺",
+            Email = tenant.Email,
+            Phone = tenant.Phone,
+            AccountType = AccountTypeEnum.SysAdmin,
+            OrgId = newOrg.Id,
+            PosId = newPos.Id,
+            Birthday = DateTime.Parse("2000-01-01"),
+            RealName = "绉熺",
+            Remark = "绉熺" + tenantName,
+        };
+        await _sysUserRep.InsertAsync(newUser);
+
+        // 鍏宠仈鐢ㄦ埛鍙婅鑹�
+        var newUserRole = new SysUserRole
+        {
+            RoleId = newRole.Id,
+            UserId = newUser.Id
+        };
+        await _userRoleRep.InsertAsync(newUserRole);
+
+        // 鍏宠仈绉熸埛缁勭粐鏈烘瀯鍜岀鐞嗗憳鐢ㄦ埛
+        await _sysTenantRep.UpdateAsync(u => new SysTenant() { UserId = newUser.Id, OrgId = newOrg.Id }, u => u.Id == tenantId);
+
+        // 榛樿绉熸埛绠$悊鍛樿鑹茶彍鍗曢泦鍚�
+        var menuIdList = new List<long> { 1300000000111,1300000000121, // 宸ヤ綔鍙�
+            1310000000111,1310000000112,1310000000113,1310000000114,1310000000115,1310000000116,1310000000117,1310000000118,1310000000119,1310000000120, // 璐﹀彿
+            1310000000131,1310000000132,1310000000133,1310000000134,1310000000135,1310000000136,1310000000137,1310000000138, // 瑙掕壊
+            1310000000141,1310000000142,1310000000143,1310000000144,1310000000145, // 鏈烘瀯
+            1310000000151,1310000000152,1310000000153,1310000000154,1310000000155, // 鑱屼綅
+            1310000000161,1310000000162,1310000000163,1310000000164, // 涓汉涓績
+            1310000000171,1310000000172,1310000000173,1310000000174,1310000000175,1310000000176,1310000000177 // 閫氱煡鍏憡
+        };
+        await _sysRoleMenuService.GrantRoleMenu(new RoleMenuInput() { Id = newRole.Id, MenuIdList = menuIdList });
+    }
+
+    /// <summary>
+    /// 鍒犻櫎绉熸埛 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎绉熸埛")]
+    public async Task DeleteTenant(DeleteTenantInput input)
+    {
+        // 绂佹鍒犻櫎榛樿绉熸埛
+        if (input.Id.ToString() == SqlSugarConst.MainConfigId)
+            throw Oops.Oh(ErrorCodeEnum.D1023);
+
+        await _sysTenantRep.DeleteAsync(u => u.Id == input.Id);
+
+        await CacheTenant(input.Id);
+
+        // 鍒犻櫎涓庣鎴风浉鍏崇殑琛ㄦ暟鎹�
+        var users = await _sysUserRep.AsQueryable().ClearFilter().Where(u => u.TenantId == input.Id).ToListAsync();
+        var userIds = users.Select(u => u.Id).ToList();
+        await _sysUserRep.AsDeleteable().Where(u => userIds.Contains(u.Id)).ExecuteCommandAsync();
+
+        await _userRoleRep.AsDeleteable().Where(u => userIds.Contains(u.UserId)).ExecuteCommandAsync();
+
+        await _sysUserExtOrgRep.AsDeleteable().Where(u => userIds.Contains(u.UserId)).ExecuteCommandAsync();
+
+        await _sysRoleRep.AsDeleteable().Where(u => u.TenantId == input.Id).ExecuteCommandAsync();
+
+        var roleIds = await _sysRoleRep.AsQueryable().ClearFilter()
+            .Where(u => u.TenantId == input.Id).Select(u => u.Id).ToListAsync();
+        await _sysRoleMenuRep.AsDeleteable().Where(u => roleIds.Contains(u.RoleId)).ExecuteCommandAsync();
+
+        await _sysOrgRep.AsDeleteable().Where(u => u.TenantId == input.Id).ExecuteCommandAsync();
+
+        await _sysPosRep.AsDeleteable().Where(u => u.TenantId == input.Id).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鏇存柊绉熸埛 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊绉熸埛")]
+    public async Task UpdateTenant(UpdateTenantInput input)
+    {
+        var isExist = await _sysOrgRep.IsAnyAsync(u => u.Name == input.Name && u.Id != input.OrgId);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D1300);
+        isExist = await _sysUserRep.IsAnyAsync(u => u.Account == input.AdminAccount && u.Id != input.UserId);
+        if (isExist)
+            throw Oops.Oh(ErrorCodeEnum.D1301);
+
+        // 浠庡簱閰嶇疆鍒ゆ柇
+        if (!string.IsNullOrWhiteSpace(input.SlaveConnections) && !JSON.IsValid(input.SlaveConnections))
+            throw Oops.Oh(ErrorCodeEnum.D1302);
+
+        await _sysTenantRep.AsUpdateable(input.Adapt<TenantOutput>()).IgnoreColumns(true).ExecuteCommandAsync();
+
+        // 鏇存柊绯荤粺鏈烘瀯
+        await _sysOrgRep.UpdateAsync(u => new SysOrg() { Name = input.Name }, u => u.Id == input.OrgId);
+
+        // 鏇存柊绯荤粺鐢ㄦ埛
+        await _sysUserRep.UpdateAsync(u => new SysUser() { Account = input.AdminAccount, Phone = input.Phone, Email = input.Email }, u => u.Id == input.UserId);
+
+        await CacheTenant(input.Id);
+    }
+
+    /// <summary>
+    /// 鎺堟潈绉熸埛绠$悊鍛樿鑹茶彍鍗� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [UnitOfWork]
+    [DisplayName("鎺堟潈绉熸埛绠$悊鍛樿鑹茶彍鍗�")]
+    public async Task GrantMenu(RoleMenuInput input)
+    {
+        var tenantAdminUser = await _sysUserRep.GetFirstAsync(u => u.TenantId == input.Id && u.AccountType == AccountTypeEnum.SysAdmin);
+        if (tenantAdminUser == null) return;
+
+        var roleIds = await _sysUserRoleService.GetUserRoleIdList(tenantAdminUser.Id);
+        input.Id = roleIds[0]; // 閲嶇疆绉熸埛绠$悊鍛樿鑹睮d
+        await _sysRoleMenuService.GrantRoleMenu(input);
+    }
+
+    /// <summary>
+    /// 鑾峰彇绉熸埛绠$悊鍛樿鑹叉嫢鏈夎彍鍗旾d闆嗗悎 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇绉熸埛绠$悊鍛樿鑹叉嫢鏈夎彍鍗旾d闆嗗悎")]
+    public async Task<List<long>> GetOwnMenuList([FromQuery] TenantUserInput input)
+    {
+        var roleIds = await _sysUserRoleService.GetUserRoleIdList(input.UserId);
+        return await _sysRoleMenuService.GetRoleMenuIdList(new List<long> { roleIds[0] });
+    }
+
+    /// <summary>
+    /// 閲嶇疆绉熸埛绠$悊鍛樺瘑鐮� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("閲嶇疆绉熸埛绠$悊鍛樺瘑鐮�")]
+    public async Task<string> ResetPwd(TenantUserInput input)
+    {
+        var password = await _sysConfigService.GetConfigValue<string>(CommonConst.SysPassword);
+        var encryptPassword = CryptogramUtil.Encrypt(password);
+        await _sysUserRep.UpdateAsync(u => new SysUser() { Password = encryptPassword }, u => u.Id == input.UserId);
+        return password;
+    }
+
+    /// <summary>
+    /// 缂撳瓨鎵�鏈夌鎴�
+    /// </summary>
+    /// <param name="tenantId"></param>
+    /// <returns></returns>
+    [NonAction]
+    public async Task CacheTenant(long tenantId = 0)
+    {
+        // 绉婚櫎 ISqlSugarClient 涓殑搴撹繛鎺ュ苟鎺掗櫎榛樿涓诲簱
+        if (tenantId > 0 && tenantId.ToString() != SqlSugarConst.MainConfigId)
+            _sysTenantRep.AsTenant().RemoveConnection(tenantId);
+
+        var tenantList = await _sysTenantRep.GetListAsync();
+        // 瀵圭鎴峰簱杩炴帴杩涜SM2鍔犲瘑
+        foreach (var tenant in tenantList)
+        {
+            tenant.Connection = CryptogramUtil.SM2Encrypt(tenant.Connection);
+        }
+        _sysCacheService.Set(CacheConst.KeyTenant, tenantList);
+    }
+
+    /// <summary>
+    /// 鍒涘缓绉熸埛鏁版嵁搴� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "CreateDb"), HttpPost]
+    [DisplayName("鍒涘缓绉熸埛鏁版嵁搴�")]
+    public async Task CreateDb(TenantInput input)
+    {
+        var tenant = await _sysTenantRep.GetSingleAsync(u => u.Id == input.Id);
+        if (tenant == null) return;
+
+        if (tenant.DbType == SqlSugar.DbType.Oracle)
+            throw Oops.Oh(ErrorCodeEnum.Z1002);
+
+        if (string.IsNullOrWhiteSpace(tenant.Connection) || tenant.Connection.Length < 10)
+            throw Oops.Oh(ErrorCodeEnum.Z1004);
+
+        // 榛樿鏁版嵁搴撻厤缃�
+        var defaultConfig = App.GetOptions<DbConnectionOptions>().ConnectionConfigs.FirstOrDefault();
+
+        var config = new DbConnectionConfig
+        {
+            ConfigId = tenant.Id.ToString(),
+            DbType = tenant.DbType,
+            ConnectionString = tenant.Connection,
+            DbSettings = new DbSettings()
+            {
+                EnableInitDb = true,
+                EnableDiffLog = false,
+                EnableUnderLine = defaultConfig.DbSettings.EnableUnderLine,
+            }
+        };
+        SqlSugarSetup.InitTenantDatabase(App.GetRequiredService<ISqlSugarClient>().AsTenant(), config);
+    }
+
+    /// <summary>
+    /// 鑾峰彇绉熸埛涓嬬殑鐢ㄦ埛鍒楄〃 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇绉熸埛涓嬬殑鐢ㄦ埛鍒楄〃")]
+    public async Task<List<SysUser>> UserList(TenantIdInput input)
+    {
+        return await _sysUserRep.AsQueryable().ClearFilter().Where(u => u.TenantId == input.TenantId).ToListAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇绉熸埛鏁版嵁搴撹繛鎺�
+    /// </summary>
+    /// <returns></returns>
+    [NonAction]
+    public SqlSugarScopeProvider GetTenantDbConnectionScope(long tenantId)
+    {
+        var iTenant = _sysTenantRep.AsTenant();
+
+        // 鑻ュ凡瀛樺湪绉熸埛搴撹繛鎺ワ紝鍒欑洿鎺ヨ繑鍥�
+        if (iTenant.IsAnyConnection(tenantId.ToString()))
+            return iTenant.GetConnectionScope(tenantId.ToString());
+
+        lock (iTenant)
+        {
+            // 浠庣紦瀛橀噷闈㈣幏鍙栫鎴蜂俊鎭�
+            var tenant = _sysCacheService.Get<List<SysTenant>>(CacheConst.KeyTenant)?.First(u => u.Id == tenantId);
+            if (tenant == null || tenant.TenantType == TenantTypeEnum.Id) return null;
+
+            // 鑾峰彇榛樿搴撹繛鎺ラ厤缃�
+            var dbOptions = App.GetOptions<DbConnectionOptions>();
+            var mainConnConfig = dbOptions.ConnectionConfigs.First(u => u.ConfigId.ToString() == SqlSugarConst.MainConfigId);
+
+            // 璁剧疆绉熸埛搴撹繛鎺ラ厤缃�
+            var tenantConnConfig = new DbConnectionConfig
+            {
+                ConfigId = tenant.Id.ToString(),
+                DbType = tenant.DbType,
+                IsAutoCloseConnection = true,
+                ConnectionString = CryptogramUtil.SM2Decrypt(tenant.Connection), // 瀵圭鎴峰簱杩炴帴杩涜SM2瑙e瘑
+                DbSettings = new DbSettings()
+                {
+                    EnableUnderLine = mainConnConfig.DbSettings.EnableUnderLine,
+                },
+                SlaveConnectionConfigs = JSON.IsValid(tenant.SlaveConnections) ? JSON.Deserialize<List<SlaveConnectionConfig>>(tenant.SlaveConnections) : null // 浠庡簱杩炴帴閰嶇疆
+            };
+            iTenant.AddConnection(tenantConnConfig);
+
+            var sqlSugarScopeProvider = iTenant.GetConnectionScope(tenantId.ToString());
+            SqlSugarSetup.SetDbConfig(tenantConnConfig);
+            SqlSugarSetup.SetDbAop(sqlSugarScopeProvider, dbOptions.EnableConsoleSql);
+
+            return sqlSugarScopeProvider;
+        }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/Dto/UserExtOrgInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/Dto/UserExtOrgInput.cs
new file mode 100644
index 0000000..1a5f906
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/Dto/UserExtOrgInput.cs
@@ -0,0 +1,35 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class UserExtOrgInput : BaseIdInput
+{
+    /// <summary>
+    /// 鏈烘瀯Id
+    /// </summary>
+    public long OrgId { get; set; }
+
+    /// <summary>
+    /// 鑱屼綅Id
+    /// </summary>
+    public long PosId { get; set; }
+
+    /// <summary>
+    /// 宸ュ彿
+    /// </summary>
+    public string JobNum { get; set; }
+
+    /// <summary>
+    /// 鑱岀骇
+    /// </summary>
+    public string PosLevel { get; set; }
+
+    /// <summary>
+    /// 鍏ヨ亴鏃ユ湡
+    /// </summary>
+    public DateTime? JoinDate { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/Dto/UserInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/Dto/UserInput.cs
new file mode 100644
index 0000000..efaf2e8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/Dto/UserInput.cs
@@ -0,0 +1,127 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 璁剧疆鐢ㄦ埛鐘舵�佽緭鍏ュ弬鏁�
+/// </summary>
+public class UserInput : BaseIdInput
+{
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    public StatusEnum Status { get; set; }
+}
+
+/// <summary>
+/// 鑾峰彇鐢ㄦ埛鍒嗛〉鍒楄〃杈撳叆鍙傛暟
+/// </summary>
+public class PageUserInput : BasePageInput
+{
+    /// <summary>
+    /// 璐﹀彿
+    /// </summary>
+    public string Account { get; set; }
+
+    /// <summary>
+    /// 濮撳悕
+    /// </summary>
+    public string RealName { get; set; }
+
+    /// <summary>
+    /// 鎵嬫満鍙�
+    /// </summary>
+    public string Phone { get; set; }
+
+    /// <summary>
+    /// 鏌ヨ鏃舵墍閫夋満鏋処d
+    /// </summary>
+    public long OrgId { get; set; }
+}
+
+/// <summary>
+/// 澧炲姞鐢ㄦ埛杈撳叆鍙傛暟
+/// </summary>
+public class AddUserInput : SysUser
+{
+    /// <summary>
+    /// 璐﹀彿
+    /// </summary>
+    [Required(ErrorMessage = "璐﹀彿涓嶈兘涓虹┖")]
+    public override string Account { get; set; }
+
+    /// <summary>
+    /// 鐪熷疄濮撳悕
+    /// </summary>
+    [Required(ErrorMessage = "鐪熷疄濮撳悕涓嶈兘涓虹┖")]
+    public override string RealName { get; set; }
+
+    /// <summary>
+    /// 鍩熺敤鎴�
+    /// </summary>
+    public string DomainAccount { get; set; }
+
+    /// <summary>
+    /// 瑙掕壊闆嗗悎
+    /// </summary>
+    public List<long> RoleIdList { get; set; }
+
+    /// <summary>
+    /// 鎵╁睍鏈烘瀯闆嗗悎
+    /// </summary>
+    public List<SysUserExtOrg> ExtOrgIdList { get; set; }
+}
+
+/// <summary>
+/// 鏇存柊鐢ㄦ埛杈撳叆鍙傛暟
+/// </summary>
+public class UpdateUserInput : AddUserInput
+{
+}
+
+/// <summary>
+/// 鍒犻櫎鐢ㄦ埛杈撳叆鍙傛暟
+/// </summary>
+public class DeleteUserInput : BaseIdInput
+{
+    /// <summary>
+    /// 鏈烘瀯Id
+    /// </summary>
+    public long OrgId { get; set; }
+}
+
+/// <summary>
+/// 閲嶇疆鐢ㄦ埛瀵嗙爜杈撳叆鍙傛暟
+/// </summary>
+public class ResetPwdUserInput : BaseIdInput
+{
+}
+
+/// <summary>
+/// 淇敼鐢ㄦ埛瀵嗙爜杈撳叆鍙傛暟
+/// </summary>
+public class ChangePwdInput
+{
+    /// <summary>
+    /// 褰撳墠瀵嗙爜
+    /// </summary>
+    [Required(ErrorMessage = "褰撳墠瀵嗙爜涓嶈兘涓虹┖")]
+    public string PasswordOld { get; set; }
+
+    /// <summary>
+    /// 鏂板瘑鐮�
+    /// </summary>
+    [Required(ErrorMessage = "鏂板瘑鐮佷笉鑳戒负绌�"), MinLength(5, ErrorMessage = "瀵嗙爜闇�瑕佸ぇ浜�5涓瓧绗�")]
+    public string PasswordNew { get; set; }
+}
+
+/// <summary>
+/// 瑙i櫎鐧诲綍閿佸畾杈撳叆鍙傛暟
+/// </summary>
+public class UnlockLoginInput : BaseIdInput
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/Dto/UserOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/Dto/UserOutput.cs
new file mode 100644
index 0000000..4c508f8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/Dto/UserOutput.cs
@@ -0,0 +1,30 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class UserOutput : SysUser
+{
+    /// <summary>
+    /// 鏈烘瀯鍚嶇О
+    /// </summary>
+    public string OrgName { get; set; }
+
+    /// <summary>
+    /// 鑱屼綅鍚嶇О
+    /// </summary>
+    public string PosName { get; set; }
+
+    /// <summary>
+    /// 瑙掕壊鍚嶇О
+    /// </summary>
+    public string RoleName { get; set; }
+
+    /// <summary>
+    /// 鍩熺敤鎴�
+    /// </summary>
+    public string DomainAccount { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/Dto/UserRoleInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/Dto/UserRoleInput.cs
new file mode 100644
index 0000000..5182775
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/Dto/UserRoleInput.cs
@@ -0,0 +1,23 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鎺堟潈鐢ㄦ埛瑙掕壊
+/// </summary>
+public class UserRoleInput
+{
+    /// <summary>
+    /// 鐢ㄦ埛Id
+    /// </summary>
+    public long UserId { get; set; }
+
+    /// <summary>
+    /// 瑙掕壊Id闆嗗悎
+    /// </summary>
+    public List<long> RoleIdList { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/SysUserExtOrgService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/SysUserExtOrgService.cs
new file mode 100644
index 0000000..9a96394
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/SysUserExtOrgService.cs
@@ -0,0 +1,88 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鐢ㄦ埛鎵╁睍鏈烘瀯鏈嶅姟
+/// </summary>
+public class SysUserExtOrgService : ITransient
+{
+    private readonly SqlSugarRepository<SysUserExtOrg> _sysUserExtOrgRep;
+
+    public SysUserExtOrgService(SqlSugarRepository<SysUserExtOrg> sysUserExtOrgRep)
+    {
+        _sysUserExtOrgRep = sysUserExtOrgRep;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鐢ㄦ埛鎵╁睍鏈烘瀯闆嗗悎
+    /// </summary>
+    /// <param name="userId"></param>
+    /// <returns></returns>
+    public async Task<List<SysUserExtOrg>> GetUserExtOrgList(long userId)
+    {
+        return await _sysUserExtOrgRep.GetListAsync(u => u.UserId == userId);
+    }
+
+    /// <summary>
+    /// 鏇存柊鐢ㄦ埛鎵╁睍鏈烘瀯
+    /// </summary>
+    /// <param name="userId"></param>
+    /// <param name="extOrgList"></param>
+    /// <returns></returns>
+    public async Task UpdateUserExtOrg(long userId, List<SysUserExtOrg> extOrgList)
+    {
+        await _sysUserExtOrgRep.DeleteAsync(u => u.UserId == userId);
+
+        if (extOrgList == null || extOrgList.Count < 1) return;
+        extOrgList.ForEach(u =>
+        {
+            u.UserId = userId;
+        });
+        await _sysUserExtOrgRep.InsertRangeAsync(extOrgList);
+    }
+
+    /// <summary>
+    /// 鏍规嵁鏈烘瀯Id闆嗗悎鍒犻櫎鎵╁睍鏈烘瀯
+    /// </summary>
+    /// <param name="orgIdList"></param>
+    /// <returns></returns>
+    public async Task DeleteUserExtOrgByOrgIdList(List<long> orgIdList)
+    {
+        await _sysUserExtOrgRep.DeleteAsync(u => orgIdList.Contains(u.OrgId));
+    }
+
+    /// <summary>
+    /// 鏍规嵁鐢ㄦ埛Id鍒犻櫎鎵╁睍鏈烘瀯
+    /// </summary>
+    /// <param name="userId"></param>
+    /// <returns></returns>
+    public async Task DeleteUserExtOrgByUserId(long userId)
+    {
+        await _sysUserExtOrgRep.DeleteAsync(u => u.UserId == userId);
+    }
+
+    /// <summary>
+    /// 鏍规嵁鏈烘瀯Id鍒ゆ柇鏄惁鏈夌敤鎴�
+    /// </summary>
+    /// <param name="orgId"></param>
+    /// <returns></returns>
+    public async Task<bool> HasUserOrg(long orgId)
+    {
+        return await _sysUserExtOrgRep.IsAnyAsync(u => u.OrgId == orgId);
+    }
+
+    /// <summary>
+    /// 鏍规嵁鑱屼綅Id鍒ゆ柇鏄惁鏈夌敤鎴�
+    /// </summary>
+    /// <param name="posId"></param>
+    /// <returns></returns>
+    public async Task<bool> HasUserPos(long posId)
+    {
+        return await _sysUserExtOrgRep.IsAnyAsync(u => u.PosId == posId);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/SysUserLdapService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/SysUserLdapService.cs
new file mode 100644
index 0000000..1f50661
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/SysUserLdapService.cs
@@ -0,0 +1,66 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鐢ㄦ埛鍩熻处鍙锋湇鍔�
+/// </summary>
+public class SysUserLdapService : ITransient
+{
+    private readonly SqlSugarRepository<SysUserLdap> _sysUserLdapRep;
+
+    public SysUserLdapService(SqlSugarRepository<SysUserLdap> sysUserLdapRep)
+    {
+        _sysUserLdapRep = sysUserLdapRep;
+    }
+
+    /// <summary>
+    /// 鎵归噺鎻掑叆鍩熻处鍙�
+    /// </summary>
+    /// <param name="tenantId"></param>
+    /// <param name="sysUserLdaps"></param>
+    /// <returns></returns>
+    public async Task InsertUserLdaps(long tenantId, List<SysUserLdap> sysUserLdaps)
+    {
+        await _sysUserLdapRep.DeleteAsync(u => u.TenantId == tenantId);
+
+        await _sysUserLdapRep.InsertRangeAsync(sysUserLdaps);
+
+        await _sysUserLdapRep.AsUpdateable()
+            .InnerJoin<SysUser>((l, u) => l.EmployeeId == u.Account && u.Status == StatusEnum.Enable && u.IsDelete == false && l.IsDelete == false)
+            .SetColumns((l, u) => new SysUserLdap { UserId = u.Id })
+            .ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞鍩熻处鍙�
+    /// </summary>
+    /// <param name="tenantId"></param>
+    /// <param name="userId"></param>
+    /// <param name="account"></param>
+    /// <param name="domainAccount"></param>
+    /// <returns></returns>
+    public async Task AddUserLdap(long tenantId, long userId, string account, string domainAccount)
+    {
+        var userLdap = await _sysUserLdapRep.GetFirstAsync(u => u.TenantId == tenantId && u.IsDelete == false && (u.Account == account || u.UserId == userId || u.EmployeeId == domainAccount));
+        if (userLdap != null)
+            await _sysUserLdapRep.DeleteByIdAsync(userLdap.Id);
+
+        if (!string.IsNullOrWhiteSpace(domainAccount))
+            await _sysUserLdapRep.InsertAsync(new SysUserLdap { EmployeeId = account, TenantId = tenantId, UserId = userId, Account = domainAccount });
+    }
+
+    /// <summary>
+    /// 鍒犻櫎鍩熻处鍙�
+    /// </summary>
+    /// <param name="userId"></param>
+    /// <returns></returns>
+    public async Task DeleteUserLdapByUserId(long userId)
+    {
+        await _sysUserLdapRep.DeleteAsync(u => u.UserId == userId);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/SysUserRoleService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/SysUserRoleService.cs
new file mode 100644
index 0000000..17c31d9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/SysUserRoleService.cs
@@ -0,0 +1,106 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鐢ㄦ埛瑙掕壊鏈嶅姟
+/// </summary>
+public class SysUserRoleService : ITransient
+{
+    private readonly SqlSugarRepository<SysUserRole> _sysUserRoleRep;
+    private readonly SysCacheService _sysCacheService;
+
+    public SysUserRoleService(SqlSugarRepository<SysUserRole> sysUserRoleRep,
+        SysCacheService sysCacheService)
+    {
+        _sysUserRoleRep = sysUserRoleRep;
+        _sysCacheService = sysCacheService;
+    }
+
+    /// <summary>
+    /// 鎺堟潈鐢ㄦ埛瑙掕壊
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    public async Task GrantUserRole(UserRoleInput input)
+    {
+        await _sysUserRoleRep.DeleteAsync(u => u.UserId == input.UserId);
+
+        if (input.RoleIdList == null || input.RoleIdList.Count < 1) return;
+        var roles = input.RoleIdList.Select(u => new SysUserRole
+        {
+            UserId = input.UserId,
+            RoleId = u
+        }).ToList();
+        await _sysUserRoleRep.InsertRangeAsync(roles);
+        _sysCacheService.Remove(CacheConst.KeyUserButton + input.UserId);
+    }
+
+    /// <summary>
+    /// 鏍规嵁瑙掕壊Id鍒犻櫎鐢ㄦ埛瑙掕壊
+    /// </summary>
+    /// <param name="roleId"></param>
+    /// <returns></returns>
+    public async Task DeleteUserRoleByRoleId(long roleId)
+    {
+        await _sysUserRoleRep.AsQueryable()
+             .Where(u => u.RoleId == roleId)
+             .Select(u => u.UserId)
+             .ForEachAsync(userId =>
+             {
+                 _sysCacheService.Remove(CacheConst.KeyUserButton + userId);
+             });
+
+        await _sysUserRoleRep.DeleteAsync(u => u.RoleId == roleId);
+    }
+
+    /// <summary>
+    /// 鏍规嵁鐢ㄦ埛Id鍒犻櫎鐢ㄦ埛瑙掕壊
+    /// </summary>
+    /// <param name="userId"></param>
+    /// <returns></returns>
+    public async Task DeleteUserRoleByUserId(long userId)
+    {
+        await _sysUserRoleRep.DeleteAsync(u => u.UserId == userId);
+        _sysCacheService.Remove(CacheConst.KeyUserButton + userId);
+    }
+
+    /// <summary>
+    /// 鏍规嵁鐢ㄦ埛Id鑾峰彇瑙掕壊闆嗗悎
+    /// </summary>
+    /// <param name="userId"></param>
+    /// <returns></returns>
+    public async Task<List<SysRole>> GetUserRoleList(long userId)
+    {
+        var sysUserRoleList = await _sysUserRoleRep.AsQueryable()
+            .Includes(u => u.SysRole)
+            .Where(u => u.UserId == userId).ToListAsync();
+        return sysUserRoleList.Where(u => u.SysRole != null).Select(u => u.SysRole).ToList();
+    }
+
+    /// <summary>
+    /// 鏍规嵁鐢ㄦ埛Id鑾峰彇瑙掕壊Id闆嗗悎
+    /// </summary>
+    /// <param name="userId"></param>
+    /// <returns></returns>
+    public async Task<List<long>> GetUserRoleIdList(long userId)
+    {
+        return await _sysUserRoleRep.AsQueryable()
+            .Where(u => u.UserId == userId).Select(u => u.RoleId).ToListAsync();
+    }
+
+    /// <summary>
+    /// 鏍规嵁瑙掕壊Id鑾峰彇鐢ㄦ埛Id闆嗗悎
+    /// </summary>
+    /// <param name="roleId"></param>
+    /// <returns></returns>
+    public async Task<List<long>> GetUserIdList(long roleId)
+    {
+        return await _sysUserRoleRep.AsQueryable()
+            .Where(u => u.RoleId == roleId).Select(u => u.UserId).ToListAsync();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/SysUserService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/SysUserService.cs
new file mode 100644
index 0000000..2f39f2b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/SysUserService.cs
@@ -0,0 +1,360 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 绯荤粺鐢ㄦ埛鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 490)]
+public class SysUserService : IDynamicApiController, ITransient
+{
+    private readonly UserManager _userManager;
+    private readonly SqlSugarRepository<SysUser> _sysUserRep;
+    private readonly SysOrgService _sysOrgService;
+    private readonly SysUserExtOrgService _sysUserExtOrgService;
+    private readonly SysUserRoleService _sysUserRoleService;
+    private readonly SysConfigService _sysConfigService;
+    private readonly SysOnlineUserService _sysOnlineUserService;
+    private readonly SysCacheService _sysCacheService;
+    private readonly SysUserLdapService _sysUserLdapService;
+
+    public SysUserService(UserManager userManager,
+        SqlSugarRepository<SysUser> sysUserRep,
+        SysOrgService sysOrgService,
+        SysUserExtOrgService sysUserExtOrgService,
+        SysUserRoleService sysUserRoleService,
+        SysConfigService sysConfigService,
+        SysOnlineUserService sysOnlineUserService,
+        SysCacheService sysCacheService,
+        SysUserLdapService sysUserLdapService)
+    {
+        _userManager = userManager;
+        _sysUserRep = sysUserRep;
+        _sysOrgService = sysOrgService;
+        _sysUserExtOrgService = sysUserExtOrgService;
+        _sysUserRoleService = sysUserRoleService;
+        _sysConfigService = sysConfigService;
+        _sysOnlineUserService = sysOnlineUserService;
+        _sysCacheService = sysCacheService;
+        _sysUserLdapService = sysUserLdapService;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鐢ㄦ埛鍒嗛〉鍒楄〃 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鐢ㄦ埛鍒嗛〉鍒楄〃")]
+    public virtual async Task<SqlSugarPagedList<UserOutput>> Page(PageUserInput input)
+    {
+        // 鑾峰彇鐢ㄦ埛鎷ユ湁鐨勬満鏋勯泦鍚�
+        var userOrgIdList = await _sysOrgService.GetUserOrgIdList();
+        List<long> orgList = null;
+        if (input.OrgId > 0) // 鎸囧畾鏈烘瀯鏌ヨ鏃�
+        {
+            orgList = await _sysOrgService.GetChildIdListWithSelfById(input.OrgId);
+            orgList = _userManager.SuperAdmin ? orgList : orgList.Where(u => userOrgIdList.Contains(u)).ToList();
+        }
+        else // 鍚勭鐞嗗憳鍙兘鐪嬪埌鑷繁鏈烘瀯涓嬬殑鐢ㄦ埛鍒楄〃
+        {
+            orgList = _userManager.SuperAdmin ? null : userOrgIdList;
+        }
+
+        return await _sysUserRep.AsQueryable()
+            .LeftJoin<SysOrg>((u, a) => u.OrgId == a.Id)
+            .LeftJoin<SysPos>((u, a, b) => u.PosId == b.Id)
+            .Where(u => u.AccountType != AccountTypeEnum.SuperAdmin)
+            .WhereIF(orgList != null, u => orgList.Contains(u.OrgId))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Account), u => u.Account.Contains(input.Account))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.RealName), u => u.RealName.Contains(input.RealName))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Phone), u => u.Phone.Contains(input.Phone))
+            .OrderBy(u => u.OrderNo)
+            .Select((u, a, b) => new UserOutput
+            {
+                OrgName = a.Name,
+                PosName = b.Name,
+                RoleName = SqlFunc.Subqueryable<SysUserRole>().LeftJoin<SysRole>((m, n) => m.RoleId == n.Id).Where(m => m.UserId == u.Id).SelectStringJoin((m, n) => n.Name, ","),
+                DomainAccount = SqlFunc.Subqueryable<SysUserLdap>().Where(m => m.UserId == u.Id).Select(m => m.Account)
+            }, true)
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 澧炲姞鐢ㄦ埛 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [UnitOfWork]
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("澧炲姞鐢ㄦ埛")]
+    public virtual async Task<long> AddUser(AddUserInput input)
+    {
+        var isExist = await _sysUserRep.AsQueryable().ClearFilter().AnyAsync(u => u.Account == input.Account);
+        if (isExist) throw Oops.Oh(ErrorCodeEnum.D1003);
+
+        var password = await _sysConfigService.GetConfigValue<string>(CommonConst.SysPassword);
+
+        var user = input.Adapt<SysUser>();
+        user.Password = CryptogramUtil.Encrypt(password);
+        var newUser = await _sysUserRep.AsInsertable(user).ExecuteReturnEntityAsync();
+
+        input.Id = newUser.Id;
+        await UpdateRoleAndExtOrg(input);
+
+        // 澧炲姞鍩熻处鍙�
+        if (!string.IsNullOrWhiteSpace(input.DomainAccount))
+            await _sysUserLdapService.AddUserLdap(newUser.TenantId.Value, newUser.Id, newUser.Account, input.DomainAccount);
+
+        return newUser.Id;
+    }
+
+    /// <summary>
+    /// 鏇存柊鐢ㄦ埛 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [UnitOfWork]
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊鐢ㄦ埛")]
+    public virtual async Task UpdateUser(UpdateUserInput input)
+    {
+        if (await _sysUserRep.AsQueryable().ClearFilter().AnyAsync(u => u.Account == input.Account && u.Id != input.Id))
+            throw Oops.Oh(ErrorCodeEnum.D1003);
+
+        await _sysUserRep.AsUpdateable(input.Adapt<SysUser>()).IgnoreColumns(true)
+            .IgnoreColumns(u => new { u.Password, u.Status }).ExecuteCommandAsync();
+
+        await UpdateRoleAndExtOrg(input);
+
+        // 鍒犻櫎鐢ㄦ埛鏈烘瀯缂撳瓨
+        SqlSugarFilter.DeleteUserOrgCache(input.Id, _sysUserRep.Context.CurrentConnectionConfig.ConfigId.ToString());
+
+        // 鑻ヨ处鍙风殑瑙掕壊鍜岀粍缁囨灦鏋勫彂鐢熷彉鍖�,鍒欏己鍒朵笅绾胯处鍙疯繘琛屾潈闄愭洿鏂�
+        var user = await _sysUserRep.AsQueryable().ClearFilter().FirstAsync(u => u.Id == input.Id);
+        var roleIds = await GetOwnRoleList(input.Id);
+        if (input.OrgId != user.OrgId || !input.RoleIdList.OrderBy(u => u).SequenceEqual(roleIds.OrderBy(u => u)))
+            await _sysOnlineUserService.ForceOffline(input.Id);
+        // 鏇存柊鍩熻处鍙�
+        await _sysUserLdapService.AddUserLdap(user.TenantId.Value, user.Id, user.Account, input.DomainAccount);
+    }
+
+    /// <summary>
+    /// 鏇存柊瑙掕壊鍜屾墿灞曟満鏋�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private async Task UpdateRoleAndExtOrg(AddUserInput input)
+    {
+        await GrantRole(new UserRoleInput { UserId = input.Id, RoleIdList = input.RoleIdList });
+
+        await _sysUserExtOrgService.UpdateUserExtOrg(input.Id, input.ExtOrgIdList);
+    }
+
+    /// <summary>
+    /// 鍒犻櫎鐢ㄦ埛 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [UnitOfWork]
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎鐢ㄦ埛")]
+    public virtual async Task DeleteUser(DeleteUserInput input)
+    {
+        var user = await _sysUserRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D0009);
+        if (user.AccountType == AccountTypeEnum.SuperAdmin)
+            throw Oops.Oh(ErrorCodeEnum.D1014);
+        if (user.Id == _userManager.UserId)
+            throw Oops.Oh(ErrorCodeEnum.D1001);
+
+        // 寮哄埗涓嬬嚎
+        await _sysOnlineUserService.ForceOffline(user.Id);
+
+        await _sysUserRep.DeleteAsync(user);
+
+        // 鍒犻櫎鐢ㄦ埛瑙掕壊
+        await _sysUserRoleService.DeleteUserRoleByUserId(input.Id);
+
+        // 鍒犻櫎鐢ㄦ埛鎵╁睍鏈烘瀯
+        await _sysUserExtOrgService.DeleteUserExtOrgByUserId(input.Id);
+
+        // 鍒犻櫎鍩熻处鍙�
+        await _sysUserLdapService.DeleteUserLdapByUserId(input.Id);
+    }
+
+    /// <summary>
+    /// 鏌ョ湅鐢ㄦ埛鍩烘湰淇℃伅 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鏌ョ湅鐢ㄦ埛鍩烘湰淇℃伅")]
+    public virtual async Task<SysUser> GetBaseInfo()
+    {
+        return await _sysUserRep.GetFirstAsync(u => u.Id == _userManager.UserId);
+    }
+
+    /// <summary>
+    /// 鏇存柊鐢ㄦ埛鍩烘湰淇℃伅 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "BaseInfo"), HttpPost]
+    [DisplayName("鏇存柊鐢ㄦ埛鍩烘湰淇℃伅")]
+    public virtual async Task<int> UpdateBaseInfo(SysUser user)
+    {
+        return await _sysUserRep.AsUpdateable(user)
+            .IgnoreColumns(u => new { u.CreateTime, u.Account, u.Password, u.AccountType, u.OrgId, u.PosId }).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 璁剧疆鐢ㄦ埛鐘舵�� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("璁剧疆鐢ㄦ埛鐘舵��")]
+    public virtual async Task<int> SetStatus(UserInput input)
+    {
+        if (_userManager.UserId == input.Id)
+            throw Oops.Oh(ErrorCodeEnum.D1026);
+
+        var user = await _sysUserRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D0009);
+        if (user.AccountType == AccountTypeEnum.SuperAdmin)
+            throw Oops.Oh(ErrorCodeEnum.D1015);
+
+        if (!Enum.IsDefined(typeof(StatusEnum), input.Status))
+            throw Oops.Oh(ErrorCodeEnum.D3005);
+
+        // 璐﹀彿绂佺敤鍒欏鍔犻粦鍚嶅崟锛岃处鍙峰惎鐢ㄥ垯绉婚櫎榛戝悕鍗�
+        var sysCacheService = App.GetRequiredService<SysCacheService>();
+        if (input.Status == StatusEnum.Disable)
+        {
+            sysCacheService.Set($"{CacheConst.KeyBlacklist}{user.Id}", $"{user.RealName}-{user.Phone}");
+
+            // 寮哄埗涓嬬嚎
+            await _sysOnlineUserService.ForceOffline(user.Id);
+        }
+        else
+        {
+            sysCacheService.Remove($"{CacheConst.KeyBlacklist}{user.Id}");
+        }
+
+        user.Status = input.Status;
+        return await _sysUserRep.AsUpdateable(user).UpdateColumns(u => new { u.Status }).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鎺堟潈鐢ㄦ埛瑙掕壊 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [UnitOfWork]
+    [DisplayName("鎺堟潈鐢ㄦ埛瑙掕壊")]
+    public async Task GrantRole(UserRoleInput input)
+    {
+        //var user = await _sysUserRep.GetFirstAsync(u => u.Id == input.UserId) ?? throw Oops.Oh(ErrorCodeEnum.D0009);
+        //if (user.AccountType == AccountTypeEnum.SuperAdmin)
+        //    throw Oops.Oh(ErrorCodeEnum.D1022);
+
+        await _sysUserRoleService.GrantUserRole(input);
+    }
+
+    /// <summary>
+    /// 淇敼鐢ㄦ埛瀵嗙爜 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("淇敼鐢ㄦ埛瀵嗙爜")]
+    public virtual async Task<int> ChangePwd(ChangePwdInput input)
+    {
+        // 鍥藉瘑SM2瑙e瘑锛堝墠绔瘑鐮佷紶杈揝M2鍔犲瘑鍚庣殑锛�
+        input.PasswordOld = CryptogramUtil.SM2Decrypt(input.PasswordOld);
+        input.PasswordNew = CryptogramUtil.SM2Decrypt(input.PasswordNew);
+
+        var user = await _sysUserRep.GetFirstAsync(u => u.Id == _userManager.UserId) ?? throw Oops.Oh(ErrorCodeEnum.D0009);
+        if (CryptogramUtil.CryptoType == CryptogramEnum.MD5.ToString())
+        {
+            if (user.Password != MD5Encryption.Encrypt(input.PasswordOld))
+                throw Oops.Oh(ErrorCodeEnum.D1004);
+        }
+        else
+        {
+            if (CryptogramUtil.Decrypt(user.Password) != input.PasswordOld)
+                throw Oops.Oh(ErrorCodeEnum.D1004);
+        }
+
+        if (input.PasswordOld == input.PasswordNew)
+            throw Oops.Oh(ErrorCodeEnum.D1028);
+
+        // 楠岃瘉瀵嗙爜寮哄害
+        if (CryptogramUtil.StrongPassword)
+        {
+            user.Password = input.PasswordNew.TryValidate(CryptogramUtil.PasswordStrengthValidation)
+                ? CryptogramUtil.Encrypt(input.PasswordNew)
+                : throw Oops.Oh(CryptogramUtil.PasswordStrengthValidationMsg);
+        }
+        else
+        {
+            user.Password = CryptogramUtil.Encrypt(input.PasswordNew);
+        }
+
+        return await _sysUserRep.AsUpdateable(user).UpdateColumns(u => u.Password).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 閲嶇疆鐢ㄦ埛瀵嗙爜 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("閲嶇疆鐢ㄦ埛瀵嗙爜")]
+    public virtual async Task<string> ResetPwd(ResetPwdUserInput input)
+    {
+        var user = await _sysUserRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D0009);
+        var password = await _sysConfigService.GetConfigValue<string>(CommonConst.SysPassword);
+        user.Password = CryptogramUtil.Encrypt(password);
+        await _sysUserRep.AsUpdateable(user).UpdateColumns(u => u.Password).ExecuteCommandAsync();
+
+        // 娓呯┖瀵嗙爜閿欒娆℃暟
+        var keyErrorPasswordCount = $"{CacheConst.KeyErrorPasswordCount}{user.Account}";
+        _sysCacheService.Remove(keyErrorPasswordCount);
+
+        return password;
+    }
+
+    /// <summary>
+    /// 瑙i櫎鐧诲綍閿佸畾 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("瑙i櫎鐧诲綍閿佸畾")]
+    public virtual async Task UnlockLogin(UnlockLoginInput input)
+    {
+        var user = await _sysUserRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D0009);
+
+        // 娓呯┖瀵嗙爜閿欒娆℃暟
+        var keyErrorPasswordCount = $"{CacheConst.KeyErrorPasswordCount}{user.Account}";
+        _sysCacheService.Remove(keyErrorPasswordCount);
+    }
+
+    /// <summary>
+    /// 鑾峰彇鐢ㄦ埛鎷ユ湁瑙掕壊闆嗗悎 馃敄
+    /// </summary>
+    /// <param name="userId"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鐢ㄦ埛鎷ユ湁瑙掕壊闆嗗悎")]
+    public async Task<List<long>> GetOwnRoleList(long userId)
+    {
+        return await _sysUserRoleService.GetUserRoleIdList(userId);
+    }
+
+    /// <summary>
+    /// 鑾峰彇鐢ㄦ埛鎵╁睍鏈烘瀯闆嗗悎 馃敄
+    /// </summary>
+    /// <param name="userId"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鐢ㄦ埛鎵╁睍鏈烘瀯闆嗗悎")]
+    public async Task<List<SysUserExtOrg>> GetOwnExtOrgList(long userId)
+    {
+        return await _sysUserExtOrgService.GetUserExtOrgList(userId);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/UserManager.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/UserManager.cs
new file mode 100644
index 0000000..de11b8c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/User/UserManager.cs
@@ -0,0 +1,60 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 褰撳墠鐧诲綍鐢ㄦ埛
+/// </summary>
+public class UserManager : IScoped
+{
+    private readonly IHttpContextAccessor _httpContextAccessor;
+
+    /// <summary>
+    /// 鐢ㄦ埛ID
+    /// </summary>
+    public long UserId => (_httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.UserId)?.Value).ToLong();
+
+    /// <summary>
+    /// 绉熸埛ID
+    /// </summary>
+    public long TenantId => (_httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.TenantId)?.Value).ToLong();
+
+    /// <summary>
+    /// 鐢ㄦ埛璐﹀彿
+    /// </summary>
+    public string Account => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.Account)?.Value;
+
+    /// <summary>
+    /// 鐪熷疄濮撳悕
+    /// </summary>
+    public string RealName => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.RealName)?.Value;
+
+    /// <summary>
+    /// 鏄惁瓒呯骇绠$悊鍛�
+    /// </summary>
+    public bool SuperAdmin => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.AccountType)?.Value == ((int)AccountTypeEnum.SuperAdmin).ToString();
+
+    /// <summary>
+    /// 鏄惁绯荤粺绠$悊鍛�
+    /// </summary>
+    public bool SysAdmin => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.AccountType)?.Value == ((int)AccountTypeEnum.SysAdmin).ToString();
+
+    /// <summary>
+    /// 缁勭粐鏈烘瀯Id
+    /// </summary>
+    public long OrgId => (_httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.OrgId)?.Value).ToLong();
+
+    /// <summary>
+    /// 寰俊OpenId
+    /// </summary>
+    public string OpenId => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.OpenId)?.Value;
+
+    public UserManager(IHttpContextAccessor httpContextAccessor)
+    {
+        _httpContextAccessor = httpContextAccessor;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WechatInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WechatInput.cs
new file mode 100644
index 0000000..3231f47
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WechatInput.cs
@@ -0,0 +1,109 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鐢熸垚缃戦〉鎺堟潈Url
+/// </summary>
+public class GenAuthUrlInput
+{
+    /// <summary>
+    /// RedirectUrl
+    /// </summary>
+    public string RedirectUrl { get; set; }
+
+    /// <summary>
+    /// Scope
+    /// </summary>
+    public string Scope { get; set; }
+
+    /// <summary>
+    /// State
+    /// </summary>
+    public string State { get; set; }
+}
+
+/// <summary>
+/// 鑾峰彇寰俊鐢ㄦ埛OpenId
+/// </summary>
+public class WechatOAuth2Input
+{
+    /// <summary>
+    /// Code
+    /// </summary>
+    [Required(ErrorMessage = "Code涓嶈兘涓虹┖"), MinLength(10, ErrorMessage = "Code閿欒")]
+    public string Code { get; set; }
+}
+
+/// <summary>
+/// 寰俊鐢ㄦ埛鐧诲綍
+/// </summary>
+public class WechatUserLogin
+{
+    /// <summary>
+    /// OpenId
+    /// </summary>
+    [Required(ErrorMessage = "寰俊鏍囪瘑涓嶈兘涓虹┖"), MinLength(10, ErrorMessage = "寰俊鏍囪瘑闀块敊璇�")]
+    public string OpenId { get; set; }
+}
+
+/// <summary>
+/// 鑾峰彇閰嶇疆绛惧悕
+/// </summary>
+public class SignatureInput
+{
+    /// <summary>
+    /// Url
+    /// </summary>
+    public string Url { get; set; }
+}
+
+/// <summary>
+/// 鑾峰彇娑堟伅妯℃澘鍒楄〃
+/// </summary>
+public class MessageTemplateSendInput
+{
+    /// <summary>
+    /// 璁㈤槄妯℃澘Id
+    /// </summary>
+    [Required(ErrorMessage = "璁㈤槄妯℃澘Id涓嶈兘涓虹┖")]
+    public string TemplateId { get; set; }
+
+    /// <summary>
+    /// 鎺ユ敹鑰呯殑OpenId
+    /// </summary>
+    [Required(ErrorMessage = "鎺ユ敹鑰呯殑OpenId涓嶈兘涓虹┖")]
+    public string ToUserOpenId { get; set; }
+
+    /// <summary>
+    /// 妯℃澘鏁版嵁锛屾牸寮忓舰濡� { "key1": { "value": any }, "key2": { "value": any } }
+    /// </summary>
+    [Required(ErrorMessage = "妯℃澘鏁版嵁涓嶈兘涓虹┖")]
+    public Dictionary<string, CgibinMessageSubscribeSendRequest.Types.DataItem> Data { get; set; }
+
+    /// <summary>
+    /// 妯℃澘璺宠浆閾炬帴
+    /// </summary>
+    public string Url { get; set; }
+
+    /// <summary>
+    /// 鎵�闇�璺宠浆鍒板皬绋嬪簭鐨勫叿浣撻〉闈㈣矾寰勶紝鏀寔甯﹀弬鏁�,锛堢ず渚媔ndex?foo=bar锛�
+    /// </summary>
+    public string MiniProgramPagePath { get; set; }
+}
+
+/// <summary>
+/// 鍒犻櫎娑堟伅妯℃澘
+/// </summary>
+public class DeleteMessageTemplateInput
+{
+    /// <summary>
+    /// 璁㈤槄妯℃澘Id
+    /// </summary>
+    [Required(ErrorMessage = "璁㈤槄妯℃澘Id涓嶈兘涓虹┖")]
+    public string TemplateId { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WechatPayInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WechatPayInput.cs
new file mode 100644
index 0000000..4d29621
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WechatPayInput.cs
@@ -0,0 +1,43 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class WechatPayTransactionInput
+{
+    /// <summary>
+    /// OpenId
+    /// </summary>
+    public string OpenId { get; set; }
+
+    /// <summary>
+    /// 璁㈠崟閲戦
+    /// </summary>
+    public int Total { get; set; }
+
+    /// <summary>
+    /// 鍟嗗搧鎻忚堪
+    /// </summary>
+    public string Description { get; set; }
+
+    /// <summary>
+    /// 闄勫姞鏁版嵁
+    /// </summary>
+    public string Attachment { get; set; }
+
+    /// <summary>
+    /// 浼樻儬鏍囪
+    /// </summary>
+    public string GoodsTag { get; set; }
+}
+
+public class WechatPayParaInput
+{
+    /// <summary>
+    /// 璁㈠崟Id
+    /// </summary>
+    public string PrepayId { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WechatPayOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WechatPayOutput.cs
new file mode 100644
index 0000000..b00e16a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WechatPayOutput.cs
@@ -0,0 +1,30 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class WechatPayOutput
+{
+    /// <summary>
+    /// OpenId
+    /// </summary>
+    public string OpenId { get; set; }
+
+    /// <summary>
+    /// 璁㈠崟閲戦
+    /// </summary>
+    public int Total { get; set; }
+
+    /// <summary>
+    /// 闄勫姞鏁版嵁
+    /// </summary>
+    public string Attachment { get; set; }
+
+    /// <summary>
+    /// 浼樻儬鏍囪
+    /// </summary>
+    public string GoodsTag { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WechatUserInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WechatUserInput.cs
new file mode 100644
index 0000000..ca43b79
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WechatUserInput.cs
@@ -0,0 +1,24 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class WechatUserInput : BasePageInput
+{
+    /// <summary>
+    /// 鏄电О
+    /// </summary>
+    public string NickName { get; set; }
+
+    /// <summary>
+    /// 鎵嬫満鍙风爜
+    /// </summary>
+    public string PhoneNumber { get; set; }
+}
+
+public class DeleteWechatUserInput : BaseIdInput
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WxOpenInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WxOpenInput.cs
new file mode 100644
index 0000000..0ec4ced
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WxOpenInput.cs
@@ -0,0 +1,118 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 鑾峰彇寰俊鐢ㄦ埛OpenId
+/// </summary>
+public class JsCode2SessionInput
+{
+    /// <summary>
+    /// JsCode
+    /// </summary>
+    [Required(ErrorMessage = "JsCode涓嶈兘涓虹┖"), MinLength(10, ErrorMessage = "JsCode閿欒")]
+    public string JsCode { get; set; }
+}
+
+/// <summary>
+/// 鑾峰彇寰俊鐢ㄦ埛鐢佃瘽鍙风爜
+/// </summary>
+public class WxPhoneInput : WxOpenIdLoginInput
+{
+    /// <summary>
+    /// Code
+    /// </summary>
+    [Required(ErrorMessage = "Code涓嶈兘涓虹┖"), MinLength(10, ErrorMessage = "Code閿欒")]
+    public string Code { get; set; }
+}
+
+/// <summary>
+/// 寰俊灏忕▼搴忕櫥褰�
+/// </summary>
+public class WxOpenIdLoginInput
+{
+    /// <summary>
+    /// OpenId
+    /// </summary>
+    [Required(ErrorMessage = "寰俊鏍囪瘑涓嶈兘涓虹┖"), MinLength(10, ErrorMessage = "寰俊鏍囪瘑閿欒")]
+    public string OpenId { get; set; }
+}
+
+/// <summary>
+/// 寰俊鎵嬫満鍙风櫥褰�
+/// </summary>
+public class WxPhoneLoginInput
+{
+    /// <summary>
+    /// 鐢佃瘽鍙风爜
+    /// </summary>
+    [DataValidation(ValidationTypes.PhoneNumber, ErrorMessage = "鐢佃瘽鍙风爜閿欒")]
+    public string PhoneNumber { get; set; }
+}
+
+/// <summary>
+/// 鍙戦�佽闃呮秷鎭�
+/// </summary>
+public class SendSubscribeMessageInput
+{
+    /// <summary>
+    /// 璁㈤槄妯℃澘Id
+    /// </summary>
+    [Required(ErrorMessage = "璁㈤槄妯℃澘Id涓嶈兘涓虹┖")]
+    public string TemplateId { get; set; }
+
+    /// <summary>
+    /// 鎺ユ敹鑰呯殑OpenId
+    /// </summary>
+    [Required(ErrorMessage = "鎺ユ敹鑰呯殑OpenId涓嶈兘涓虹┖")]
+    public string ToUserOpenId { get; set; }
+
+    /// <summary>
+    /// 妯℃澘鍐呭锛屾牸寮忓舰濡� { "key1": { "value": any }, "key2": { "value": any } }
+    /// </summary>
+    [Required(ErrorMessage = "妯℃澘鍐呭涓嶈兘涓虹┖")]
+    public Dictionary<string, CgibinMessageSubscribeSendRequest.Types.DataItem> Data { get; set; }
+
+    /// <summary>
+    /// 璺宠浆灏忕▼搴忕被鍨�
+    /// </summary>
+    public string MiniprogramState { get; set; }
+
+    /// <summary>
+    /// 璇█绫诲瀷
+    /// </summary>
+    public string Language { get; set; }
+
+    /// <summary>
+    /// 鐐瑰嚮妯℃澘鍗$墖鍚庣殑璺宠浆椤甸潰锛堜粎闄愭湰灏忕▼搴忓唴鐨勯〉闈級锛屾敮鎸佸甫鍙傛暟锛堢ず渚媝ages/app/index?foo=bar锛�
+    /// </summary>
+    public string MiniProgramPagePath { get; set; }
+}
+
+/// <summary>
+/// 澧炲姞璁㈤槄娑堟伅妯℃澘
+/// </summary>
+public class AddSubscribeMessageTemplateInput
+{
+    /// <summary>
+    /// 妯℃澘鏍囬Id
+    /// </summary>
+    [Required(ErrorMessage = "妯℃澘鏍囬Id涓嶈兘涓虹┖")]
+    public string TemplateTitleId { get; set; }
+
+    /// <summary>
+    /// 妯℃澘鍏抽敭璇嶅垪琛�,渚嬪 [3,5,4]
+    /// </summary>
+    [Required(ErrorMessage = "妯℃澘鍏抽敭璇嶅垪琛ㄤ笉鑳戒负绌�")]
+    public List<int> KeyworkIdList { get; set; }
+
+    /// <summary>
+    /// 鏈嶅姟鍦烘櫙鎻忚堪锛�15涓瓧浠ュ唴
+    /// </summary>
+    [Required(ErrorMessage = "鏈嶅姟鍦烘櫙鎻忚堪涓嶈兘涓虹┖")]
+    public string SceneDescription { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WxOpenOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WxOpenOutput.cs
new file mode 100644
index 0000000..582131f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/Dto/WxOpenOutput.cs
@@ -0,0 +1,17 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+public class WxOpenIdOutput
+{
+    public string OpenId { get; set; }
+}
+
+public class WxPhoneOutput
+{
+    public string PhoneNumber { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/SysWechatPayService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/SysWechatPayService.cs
new file mode 100644
index 0000000..957af35
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/SysWechatPayService.cs
@@ -0,0 +1,251 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 寰俊鏀粯鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 210)]
+public class SysWechatPayService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysWechatPay> _sysWechatPayUserRep;
+
+    private readonly WechatPayOptions _wechatPayOptions;
+    private readonly PayCallBackOptions _payCallBackOptions;
+
+    private readonly WechatTenpayClient _wechatTenpayClient;
+
+    public SysWechatPayService(SqlSugarRepository<SysWechatPay> sysWechatPayUserRep,
+        IOptions<WechatPayOptions> wechatPayOptions,
+        IOptions<PayCallBackOptions> payCallBackOptions)
+    {
+        _sysWechatPayUserRep = sysWechatPayUserRep;
+        _wechatPayOptions = wechatPayOptions.Value;
+        _payCallBackOptions = payCallBackOptions.Value;
+
+        _wechatTenpayClient = CreateTenpayClient();
+    }
+
+    /// <summary>
+    /// 鍒濆鍖栧井淇℃敮浠樺鎴风
+    /// </summary>
+    /// <returns></returns>
+    private WechatTenpayClient CreateTenpayClient()
+    {
+        var cerFilePath = App.WebHostEnvironment.ContentRootPath + _wechatPayOptions.MerchantCertificatePrivateKey;
+
+        var tenpayClientOptions = new WechatTenpayClientOptions()
+        {
+            MerchantId = _wechatPayOptions.MerchantId,
+            MerchantV3Secret = _wechatPayOptions.MerchantV3Secret,
+            MerchantCertificateSerialNumber = _wechatPayOptions.MerchantCertificateSerialNumber,
+            MerchantCertificatePrivateKey = File.Exists(cerFilePath) ? File.ReadAllText(cerFilePath) : "",
+            PlatformCertificateManager = new InMemoryCertificateManager()
+        };
+        return new WechatTenpayClient(tenpayClientOptions);
+    }
+
+    /// <summary>
+    /// 鐢熸垚JSAPI璋冭捣鏀粯鎵�闇�鍙傛暟 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鐢熸垚JSAPI璋冭捣鏀粯鎵�闇�鍙傛暟")]
+    public dynamic GenerateParametersForJsapiPay(WechatPayParaInput input)
+    {
+        return _wechatTenpayClient.GenerateParametersForJsapiPayRequest(_wechatPayOptions.AppId, input.PrepayId);
+    }
+
+    /// <summary>
+    /// 寰俊鏀粯缁熶竴涓嬪崟鑾峰彇Id(鍟嗘埛鐩磋繛) 馃敄
+    /// </summary>
+    [DisplayName("寰俊鏀粯缁熶竴涓嬪崟鑾峰彇Id(鍟嗘埛鐩磋繛)")]
+    public async Task<dynamic> CreatePayTransaction([FromBody] WechatPayTransactionInput input)
+    {
+        var request = new CreatePayTransactionJsapiRequest()
+        {
+            OutTradeNumber = DateTimeOffset.Now.ToString("yyyyMMddHHmmssfff") + (new Random()).Next(100, 1000), // 璁㈠崟鍙�
+            AppId = _wechatPayOptions.AppId,
+            Description = input.Description,
+            Attachment = input.Attachment,
+            GoodsTag = input.GoodsTag,
+            ExpireTime = DateTimeOffset.Now.AddMinutes(10),
+            NotifyUrl = _payCallBackOptions.WechatPayUrl,
+            Amount = new CreatePayTransactionJsapiRequest.Types.Amount() { Total = input.Total },
+            Payer = new CreatePayTransactionJsapiRequest.Types.Payer() { OpenId = input.OpenId }
+        };
+        var response = await _wechatTenpayClient.ExecuteCreatePayTransactionJsapiAsync(request);
+        if (!response.IsSuccessful())
+            throw Oops.Oh(response.ErrorMessage);
+
+        // 淇濆瓨璁㈠崟淇℃伅
+        var wechatPay = new SysWechatPay()
+        {
+            AppId = _wechatPayOptions.AppId,
+            MerchantId = _wechatPayOptions.MerchantId,
+            OutTradeNumber = request.OutTradeNumber,
+            Description = input.Description,
+            Attachment = input.Attachment,
+            GoodsTag = input.GoodsTag,
+            Total = input.Total,
+            OpenId = input.OpenId,
+            TransactionId = ""
+        };
+        await _sysWechatPayUserRep.InsertAsync(wechatPay);
+
+        return new
+        {
+            response.PrepayId,
+            request.OutTradeNumber
+        };
+    }
+
+    /// <summary>
+    /// 寰俊鏀粯缁熶竴涓嬪崟鑾峰彇Id(鏈嶅姟鍟嗘ā寮�) 馃敄
+    /// </summary>
+    [DisplayName("寰俊鏀粯缁熶竴涓嬪崟鑾峰彇Id(鏈嶅姟鍟嗘ā寮�)")]
+    public async Task<dynamic> CreatePayPartnerTransaction([FromBody] WechatPayTransactionInput input)
+    {
+        var request = new CreatePayPartnerTransactionJsapiRequest()
+        {
+            OutTradeNumber = DateTimeOffset.Now.ToString("yyyyMMddHHmmssfff") + (new Random()).Next(100, 1000), // 璁㈠崟鍙�
+            AppId = _wechatPayOptions.AppId,
+            MerchantId = _wechatPayOptions.MerchantId,
+            SubAppId = _wechatPayOptions.AppId,
+            SubMerchantId = _wechatPayOptions.MerchantId,
+            Description = input.Description,
+            Attachment = input.Attachment,
+            GoodsTag = input.GoodsTag,
+            ExpireTime = DateTimeOffset.Now.AddMinutes(10),
+            NotifyUrl = _payCallBackOptions.WechatPayUrl,
+            Amount = new CreatePayPartnerTransactionJsapiRequest.Types.Amount() { Total = input.Total },
+            Payer = new CreatePayPartnerTransactionJsapiRequest.Types.Payer() { OpenId = input.OpenId }
+        };
+        var response = await _wechatTenpayClient.ExecuteCreatePayPartnerTransactionJsapiAsync(request);
+        if (!response.IsSuccessful())
+            throw Oops.Oh(response.ErrorMessage);
+
+        // 淇濆瓨璁㈠崟淇℃伅
+        var wechatPay = new SysWechatPay()
+        {
+            AppId = _wechatPayOptions.AppId,
+            MerchantId = _wechatPayOptions.MerchantId,
+            SubAppId = _wechatPayOptions.AppId,
+            SubMerchantId = _wechatPayOptions.MerchantId,
+            OutTradeNumber = request.OutTradeNumber,
+            Description = input.Description,
+            Attachment = input.Attachment,
+            GoodsTag = input.GoodsTag,
+            Total = input.Total,
+            OpenId = input.OpenId,
+            TransactionId = ""
+        };
+        await _sysWechatPayUserRep.InsertAsync(wechatPay);
+
+        return new
+        {
+            response.PrepayId,
+            request.OutTradeNumber
+        };
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏀粯璁㈠崟璇︽儏 馃敄
+    /// </summary>
+    /// <param name="tradeId"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鏀粯璁㈠崟璇︽儏")]
+    public async Task<SysWechatPay> GetPayInfo(string tradeId)
+    {
+        return await _sysWechatPayUserRep.GetFirstAsync(u => u.OutTradeNumber == tradeId);
+    }
+
+    /// <summary>
+    /// 寰俊鏀粯鎴愬姛鍥炶皟(鍟嗘埛鐩磋繛) 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [DisplayName("寰俊鏀粯鎴愬姛鍥炶皟(鍟嗘埛鐩磋繛)")]
+    public async Task<WechatPayOutput> PayCallBack()
+    {
+        using var ms = new MemoryStream();
+        await App.HttpContext.Request.Body.CopyToAsync(ms);
+        var b = ms.ToArray();
+        var callbackJson = Encoding.UTF8.GetString(b);
+
+        var callbackModel = _wechatTenpayClient.DeserializeEvent(callbackJson);
+        if ("TRANSACTION.SUCCESS".Equals(callbackModel.EventType))
+        {
+            var callbackResource = _wechatTenpayClient.DecryptEventResource<TransactionResource>(callbackModel);
+
+            // 淇敼璁㈠崟鏀粯鐘舵��
+            var wechatPay = await _sysWechatPayUserRep.GetFirstAsync(u => u.OutTradeNumber == callbackResource.OutTradeNumber
+                && u.MerchantId == callbackResource.MerchantId);
+            if (wechatPay == null) return null;
+            //wechatPay.OpenId = callbackResource.Payer.OpenId; // 鏀粯鑰呮爣璇�
+            //wechatPay.MerchantId = callbackResource.MerchantId; // 寰俊鍟嗘埛鍙�
+            //wechatPay.OutTradeNumber = callbackResource.OutTradeNumber; // 鍟嗘埛璁㈠崟鍙�
+            wechatPay.TransactionId = callbackResource.TransactionId; // 鏀粯璁㈠崟鍙�
+            wechatPay.TradeType = callbackResource.TradeType; // 浜ゆ槗绫诲瀷
+            wechatPay.TradeState = callbackResource.TradeState; // 浜ゆ槗鐘舵��
+            wechatPay.TradeStateDescription = callbackResource.TradeStateDescription; // 浜ゆ槗鐘舵�佹弿杩�
+            wechatPay.BankType = callbackResource.BankType; // 浠樻閾惰绫诲瀷
+            wechatPay.Total = callbackResource.Amount.Total; // 璁㈠崟鎬婚噾棰�
+            wechatPay.PayerTotal = callbackResource.Amount.PayerTotal; // 鐢ㄦ埛鏀粯閲戦
+            wechatPay.SuccessTime = callbackResource.SuccessTime; // 鏀粯瀹屾垚鏃堕棿
+
+            await _sysWechatPayUserRep.AsUpdateable(wechatPay).IgnoreColumns(true).ExecuteCommandAsync();
+
+            return new WechatPayOutput()
+            {
+                Total = wechatPay.Total,
+                Attachment = wechatPay.Attachment,
+                GoodsTag = wechatPay.GoodsTag
+            };
+        }
+
+        return null;
+    }
+
+    /// <summary>
+    /// 寰俊鏀粯鎴愬姛鍥炶皟(鏈嶅姟鍟嗘ā寮�) 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [DisplayName("寰俊鏀粯鎴愬姛鍥炶皟(鏈嶅姟鍟嗘ā寮�)")]
+    public async Task PayPartnerCallBack()
+    {
+        using var ms = new MemoryStream();
+        await App.HttpContext.Request.Body.CopyToAsync(ms);
+        var b = ms.ToArray();
+        var callbackJson = Encoding.UTF8.GetString(b);
+
+        var callbackModel = _wechatTenpayClient.DeserializeEvent(callbackJson);
+        if ("TRANSACTION.SUCCESS".Equals(callbackModel.EventType))
+        {
+            var callbackResource = _wechatTenpayClient.DecryptEventResource<PartnerTransactionResource>(callbackModel);
+
+            // 淇敼璁㈠崟鏀粯鐘舵��
+            var wechatPay = await _sysWechatPayUserRep.GetFirstAsync(u => u.OutTradeNumber == callbackResource.OutTradeNumber
+                && u.MerchantId == callbackResource.MerchantId);
+            if (wechatPay == null) return;
+            //wechatPay.OpenId = callbackResource.Payer.OpenId; // 鏀粯鑰呮爣璇�
+            //wechatPay.MerchantId = callbackResource.MerchantId; // 寰俊鍟嗘埛鍙�
+            //wechatPay.OutTradeNumber = callbackResource.OutTradeNumber; // 鍟嗘埛璁㈠崟鍙�
+            wechatPay.TransactionId = callbackResource.TransactionId; // 鏀粯璁㈠崟鍙�
+            wechatPay.TradeType = callbackResource.TradeType; // 浜ゆ槗绫诲瀷
+            wechatPay.TradeState = callbackResource.TradeState; // 浜ゆ槗鐘舵��
+            wechatPay.TradeStateDescription = callbackResource.TradeStateDescription; // 浜ゆ槗鐘舵�佹弿杩�
+            wechatPay.BankType = callbackResource.BankType; // 浠樻閾惰绫诲瀷
+            wechatPay.Total = callbackResource.Amount.Total; // 璁㈠崟鎬婚噾棰�
+            wechatPay.PayerTotal = callbackResource.Amount.PayerTotal; // 鐢ㄦ埛鏀粯閲戦
+            wechatPay.SuccessTime = callbackResource.SuccessTime; // 鏀粯瀹屾垚鏃堕棿
+
+            await _sysWechatPayUserRep.AsUpdateable(wechatPay).IgnoreColumns(true).ExecuteCommandAsync();
+        }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/SysWechatService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/SysWechatService.cs
new file mode 100644
index 0000000..4997c42
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/SysWechatService.cs
@@ -0,0 +1,207 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 寰俊鍏紬鍙锋湇鍔� 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 230)]
+public class SysWechatService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysWechatUser> _sysWechatUserRep;
+    private readonly SysConfigService _sysConfigService;
+    private readonly WechatApiClientFactory _wechatApiClientFactory;
+    private readonly WechatApiClient _wechatApiClient;
+
+    public SysWechatService(SqlSugarRepository<SysWechatUser> sysWechatUserRep,
+        SysConfigService sysConfigService,
+        WechatApiClientFactory wechatApiClientFactory)
+    {
+        _sysWechatUserRep = sysWechatUserRep;
+        _sysConfigService = sysConfigService;
+        _wechatApiClientFactory = wechatApiClientFactory;
+        _wechatApiClient = wechatApiClientFactory.CreateWechatClient();
+    }
+
+    /// <summary>
+    /// 鐢熸垚缃戦〉鎺堟潈Url 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [DisplayName("鐢熸垚缃戦〉鎺堟潈Url")]
+    public string GenAuthUrl(GenAuthUrlInput input)
+    {
+        return _wechatApiClient.GenerateParameterizedUrlForConnectOAuth2Authorize(input.RedirectUrl, input.Scope, input.State);
+    }
+
+    /// <summary>
+    /// 鑾峰彇寰俊鐢ㄦ埛OpenId 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    [AllowAnonymous]
+    [DisplayName("鑾峰彇寰俊鐢ㄦ埛OpenId")]
+    public async Task<string> SnsOAuth2([FromQuery] WechatOAuth2Input input)
+    {
+        var reqOAuth2 = new SnsOAuth2AccessTokenRequest()
+        {
+            Code = input.Code,
+        };
+        var resOAuth2 = await _wechatApiClient.ExecuteSnsOAuth2AccessTokenAsync(reqOAuth2);
+        if (resOAuth2.ErrorCode != (int)WechatReturnCodeEnum.璇锋眰鎴愬姛)
+            throw Oops.Oh(resOAuth2.ErrorMessage + " " + resOAuth2.ErrorCode);
+
+        var wxUser = await _sysWechatUserRep.GetFirstAsync(p => p.OpenId == resOAuth2.OpenId);
+        if (wxUser == null)
+        {
+            var reqUserInfo = new SnsUserInfoRequest()
+            {
+                OpenId = resOAuth2.OpenId,
+                AccessToken = resOAuth2.AccessToken,
+            };
+            var resUserInfo = await _wechatApiClient.ExecuteSnsUserInfoAsync(reqUserInfo);
+            wxUser = resUserInfo.Adapt<SysWechatUser>();
+            wxUser.Avatar = resUserInfo.HeadImageUrl;
+            wxUser.NickName = resUserInfo.Nickname;
+            wxUser = await _sysWechatUserRep.AsInsertable(wxUser).ExecuteReturnEntityAsync();
+        }
+        else
+        {
+            wxUser.AccessToken = resOAuth2.AccessToken;
+            wxUser.RefreshToken = resOAuth2.RefreshToken;
+            await _sysWechatUserRep.AsUpdateable(wxUser).IgnoreColumns(true).ExecuteCommandAsync();
+        }
+
+        return resOAuth2.OpenId;
+    }
+
+    /// <summary>
+    /// 寰俊鐢ㄦ埛鐧诲綍OpenId 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [DisplayName("寰俊鐢ㄦ埛鐧诲綍OpenId")]
+    public async Task<dynamic> OpenIdLogin(WechatUserLogin input)
+    {
+        var wxUser = await _sysWechatUserRep.GetFirstAsync(p => p.OpenId == input.OpenId);
+        if (wxUser == null)
+            throw Oops.Oh("寰俊鐢ㄦ埛鐧诲綍OpenId閿欒");
+
+        var tokenExpire = await _sysConfigService.GetTokenExpire();
+        return new
+        {
+            wxUser.Avatar,
+            accessToken = JWTEncryption.Encrypt(new Dictionary<string, object>
+            {
+                { ClaimConst.UserId, wxUser.Id },
+                { ClaimConst.NickName, wxUser.NickName },
+                { ClaimConst.LoginMode, LoginModeEnum.APP },
+            }, tokenExpire)
+        };
+    }
+
+    /// <summary>
+    /// 鑾峰彇閰嶇疆绛惧悕鍙傛暟(wx.config) 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇閰嶇疆绛惧悕鍙傛暟(wx.config)")]
+    public async Task<dynamic> GenConfigPara(SignatureInput input)
+    {
+        var resCgibinToken = await _wechatApiClient.ExecuteCgibinTokenAsync(new CgibinTokenRequest());
+        var request = new CgibinTicketGetTicketRequest()
+        {
+            AccessToken = resCgibinToken.AccessToken
+        };
+        var response = await _wechatApiClient.ExecuteCgibinTicketGetTicketAsync(request);
+        if (!response.IsSuccessful())
+            throw Oops.Oh(response.ErrorMessage);
+        return _wechatApiClient.GenerateParametersForJSSDKConfig(response.Ticket, input.Url);
+    }
+
+    /// <summary>
+    /// 鑾峰彇妯℃澘鍒楄〃 馃敄
+    /// </summary>
+    [DisplayName("鑾峰彇妯℃澘鍒楄〃")]
+    public async Task<dynamic> GetMessageTemplateList()
+    {
+        var accessToken = await GetCgibinToken();
+        var reqTemplate = new CgibinTemplateGetAllPrivateTemplateRequest()
+        {
+            AccessToken = accessToken
+        };
+        var resTemplate = await _wechatApiClient.ExecuteCgibinTemplateGetAllPrivateTemplateAsync(reqTemplate);
+        if (resTemplate.ErrorCode != (int)WechatReturnCodeEnum.璇锋眰鎴愬姛)
+            throw Oops.Oh(resTemplate.ErrorMessage + " " + resTemplate.ErrorCode);
+
+        return resTemplate.TemplateList;
+    }
+
+    /// <summary>
+    /// 鍙戦�佹ā鏉挎秷鎭� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鍙戦�佹ā鏉挎秷鎭�")]
+    public async Task<dynamic> SendTemplateMessage(MessageTemplateSendInput input)
+    {
+        var dataInfo = input.Data.ToDictionary(k => k.Key, k => k.Value);
+        var messageData = new Dictionary<string, CgibinMessageTemplateSendRequest.Types.DataItem>();
+        foreach (var item in dataInfo)
+        {
+            messageData.Add(item.Key, new CgibinMessageTemplateSendRequest.Types.DataItem() { Value = "" + item.Value.Value.ToString() + "" });
+        }
+
+        var accessToken = await GetCgibinToken();
+        var reqMessage = new CgibinMessageTemplateSendRequest()
+        {
+            AccessToken = accessToken,
+            TemplateId = input.TemplateId,
+            ToUserOpenId = input.ToUserOpenId,
+            Url = input.Url,
+            MiniProgram = new CgibinMessageTemplateSendRequest.Types.MiniProgram
+            {
+                AppId = _wechatApiClientFactory._wechatOptions.WechatAppId,
+                PagePath = input.MiniProgramPagePath,
+            },
+            Data = messageData
+        };
+        var resMessage = await _wechatApiClient.ExecuteCgibinMessageTemplateSendAsync(reqMessage);
+        return resMessage;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎妯℃澘 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "DeleteMessageTemplate"), HttpPost]
+    [DisplayName("鍒犻櫎妯℃澘")]
+    public async Task<dynamic> DeleteMessageTemplate(DeleteMessageTemplateInput input)
+    {
+        var accessToken = await GetCgibinToken();
+        var reqMessage = new CgibinTemplateDeletePrivateTemplateRequest()
+        {
+            AccessToken = accessToken,
+            TemplateId = input.TemplateId
+        };
+        var resTemplate = await _wechatApiClient.ExecuteCgibinTemplateDeletePrivateTemplateAsync(reqMessage);
+        return resTemplate;
+    }
+
+    /// <summary>
+    /// 鑾峰彇Access_token
+    /// </summary>
+    private async Task<string> GetCgibinToken()
+    {
+        var reqCgibinToken = new CgibinTokenRequest();
+        var resCgibinToken = await _wechatApiClient.ExecuteCgibinTokenAsync(reqCgibinToken);
+        if (resCgibinToken.ErrorCode != (int)WechatReturnCodeEnum.璇锋眰鎴愬姛)
+            throw Oops.Oh(resCgibinToken.ErrorMessage + " " + resCgibinToken.ErrorCode);
+        return resCgibinToken.AccessToken;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/SysWechatUserService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/SysWechatUserService.cs
new file mode 100644
index 0000000..dde22d8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/SysWechatUserService.cs
@@ -0,0 +1,73 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 寰俊璐﹀彿鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 220)]
+public class SysWechatUserService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysWechatUser> _sysWechatUserRep;
+
+    public SysWechatUserService(SqlSugarRepository<SysWechatUser> sysWechatUserRep)
+    {
+        _sysWechatUserRep = sysWechatUserRep;
+    }
+
+    /// <summary>
+    /// 鑾峰彇寰俊鐢ㄦ埛鍒楄〃 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇寰俊鐢ㄦ埛鍒楄〃")]
+    public async Task<SqlSugarPagedList<SysWechatUser>> Page(WechatUserInput input)
+    {
+        return await _sysWechatUserRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.NickName), u => u.NickName.Contains(input.NickName))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.PhoneNumber), u => u.Mobile.Contains(input.PhoneNumber))
+            .OrderBy(u => u.Id, OrderByType.Desc)
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 澧炲姞寰俊鐢ㄦ埛 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    [DisplayName("澧炲姞寰俊鐢ㄦ埛")]
+    public async Task AddWechatUser(SysWechatUser input)
+    {
+        await _sysWechatUserRep.InsertAsync(input.Adapt<SysWechatUser>());
+    }
+
+    /// <summary>
+    /// 鏇存柊寰俊鐢ㄦ埛 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    [DisplayName("鏇存柊寰俊鐢ㄦ埛")]
+    public async Task UpdateWechatUser(SysWechatUser input)
+    {
+        var weChatUser = input.Adapt<SysWechatUser>();
+        await _sysWechatUserRep.AsUpdateable(weChatUser).IgnoreColumns(true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鍒犻櫎寰俊鐢ㄦ埛 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    [DisplayName("鍒犻櫎寰俊鐢ㄦ埛")]
+    public async Task DeleteWechatUser(DeleteWechatUserInput input)
+    {
+        await _sysWechatUserRep.DeleteAsync(u => u.Id == input.Id);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/SysWxOpenService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/SysWxOpenService.cs
new file mode 100644
index 0000000..c078358
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/SysWxOpenService.cs
@@ -0,0 +1,190 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 寰俊灏忕▼搴忔湇鍔� 馃З
+/// </summary>
+[ApiDescriptionSettings(Order = 240)]
+public class SysWxOpenService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<SysWechatUser> _sysWechatUserRep;
+    private readonly SysConfigService _sysConfigService;
+    private readonly WechatApiClient _wechatApiClient;
+
+    public SysWxOpenService(SqlSugarRepository<SysWechatUser> sysWechatUserRep,
+        SysConfigService sysConfigService,
+        WechatApiClientFactory wechatApiClientFactory)
+    {
+        _sysWechatUserRep = sysWechatUserRep;
+        _sysConfigService = sysConfigService;
+        _wechatApiClient = wechatApiClientFactory.CreateWxOpenClient();
+    }
+
+    /// <summary>
+    /// 鑾峰彇寰俊鐢ㄦ埛OpenId 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    [AllowAnonymous]
+    [DisplayName("鑾峰彇寰俊鐢ㄦ埛OpenId")]
+    public async Task<WxOpenIdOutput> GetWxOpenId([FromQuery] JsCode2SessionInput input)
+    {
+        var reqJsCode2Session = new SnsJsCode2SessionRequest()
+        {
+            JsCode = input.JsCode,
+        };
+        var resCode2Session = await _wechatApiClient.ExecuteSnsJsCode2SessionAsync(reqJsCode2Session);
+        if (resCode2Session.ErrorCode != (int)WechatReturnCodeEnum.璇锋眰鎴愬姛)
+            throw Oops.Oh(resCode2Session.ErrorMessage + " " + resCode2Session.ErrorCode);
+
+        var wxUser = await _sysWechatUserRep.GetFirstAsync(p => p.OpenId == resCode2Session.OpenId);
+        if (wxUser == null)
+        {
+            wxUser = new SysWechatUser
+            {
+                OpenId = resCode2Session.OpenId,
+                UnionId = resCode2Session.UnionId,
+                SessionKey = resCode2Session.SessionKey,
+                PlatformType = PlatformTypeEnum.寰俊灏忕▼搴�
+            };
+            wxUser = await _sysWechatUserRep.AsInsertable(wxUser).ExecuteReturnEntityAsync();
+        }
+        else
+        {
+            await _sysWechatUserRep.AsUpdateable(wxUser).IgnoreColumns(true).ExecuteCommandAsync();
+        }
+
+        return new WxOpenIdOutput
+        {
+            OpenId = resCode2Session.OpenId
+        };
+    }
+
+    /// <summary>
+    /// 鑾峰彇寰俊鐢ㄦ埛鐢佃瘽鍙风爜 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    [AllowAnonymous]
+    [DisplayName("鑾峰彇寰俊鐢ㄦ埛鐢佃瘽鍙风爜")]
+    public async Task<WxPhoneOutput> GetWxPhone([FromQuery] WxPhoneInput input)
+    {
+        var accessToken = await GetCgibinToken();
+        var reqUserPhoneNumber = new WxaBusinessGetUserPhoneNumberRequest()
+        {
+            Code = input.Code,
+            AccessToken = accessToken,
+        };
+        var resUserPhoneNumber = await _wechatApiClient.ExecuteWxaBusinessGetUserPhoneNumberAsync(reqUserPhoneNumber);
+        if (resUserPhoneNumber.ErrorCode != (int)WechatReturnCodeEnum.璇锋眰鎴愬姛)
+            throw Oops.Oh(resUserPhoneNumber.ErrorMessage + " " + resUserPhoneNumber.ErrorCode);
+
+        return new WxPhoneOutput
+        {
+            PhoneNumber = resUserPhoneNumber.PhoneInfo?.PhoneNumber
+        };
+    }
+
+    /// <summary>
+    /// 寰俊灏忕▼搴忕櫥褰昈penId 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [DisplayName("寰俊灏忕▼搴忕櫥褰昈penId")]
+    public async Task<dynamic> WxOpenIdLogin(WxOpenIdLoginInput input)
+    {
+        var wxUser = await _sysWechatUserRep.GetFirstAsync(p => p.OpenId == input.OpenId);
+        if (wxUser == null)
+            throw Oops.Oh("寰俊灏忕▼搴忕櫥褰曞け璐�");
+
+        var tokenExpire = await _sysConfigService.GetTokenExpire();
+        return new
+        {
+            wxUser.Avatar,
+            accessToken = JWTEncryption.Encrypt(new Dictionary<string, object>
+            {
+                { ClaimConst.UserId, wxUser.Id },
+                { ClaimConst.RealName, wxUser.NickName },
+                { ClaimConst.LoginMode, LoginModeEnum.APP },
+            }, tokenExpire)
+        };
+    }
+
+    /// <summary>
+    /// 鑾峰彇璁㈤槄娑堟伅妯℃澘鍒楄〃 馃敄
+    /// </summary>
+    [DisplayName("鑾峰彇璁㈤槄娑堟伅妯℃澘鍒楄〃")]
+    public async Task<dynamic> GetMessageTemplateList()
+    {
+        var accessToken = await GetCgibinToken();
+        var reqTemplate = new WxaApiNewTemplateGetTemplateRequest()
+        {
+            AccessToken = accessToken
+        };
+        var resTemplate = await _wechatApiClient.ExecuteWxaApiNewTemplateGetTemplateAsync(reqTemplate);
+        if (resTemplate.ErrorCode != (int)WechatReturnCodeEnum.璇锋眰鎴愬姛)
+            throw Oops.Oh(resTemplate.ErrorMessage + " " + resTemplate.ErrorCode);
+
+        return resTemplate.TemplateList;
+    }
+
+    /// <summary>
+    /// 鍙戦�佽闃呮秷鎭� 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鍙戦�佽闃呮秷鎭�")]
+    public async Task<dynamic> SendSubscribeMessage(SendSubscribeMessageInput input)
+    {
+        var accessToken = await GetCgibinToken();
+        var reqMessage = new CgibinMessageSubscribeSendRequest()
+        {
+            AccessToken = accessToken,
+            TemplateId = input.TemplateId,
+            ToUserOpenId = input.ToUserOpenId,
+            Data = input.Data,
+            MiniProgramState = input.MiniprogramState,
+            Language = input.Language,
+            MiniProgramPagePath = input.MiniProgramPagePath
+        };
+        var resMessage = await _wechatApiClient.ExecuteCgibinMessageSubscribeSendAsync(reqMessage);
+        return resMessage;
+    }
+
+    /// <summary>
+    /// 澧炲姞璁㈤槄娑堟伅妯℃澘 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "AddSubscribeMessageTemplate"), HttpPost]
+    [DisplayName("澧炲姞璁㈤槄娑堟伅妯℃澘")]
+    public async Task<dynamic> AddSubscribeMessageTemplate(AddSubscribeMessageTemplateInput input)
+    {
+        var accessToken = await GetCgibinToken();
+        var reqMessage = new WxaApiNewTemplateAddTemplateRequest()
+        {
+            AccessToken = accessToken,
+            TemplateTitleId = input.TemplateTitleId,
+            KeyworkIdList = input.KeyworkIdList,
+            SceneDescription = input.SceneDescription
+        };
+        var resTemplate = await _wechatApiClient.ExecuteWxaApiNewTemplateAddTemplateAsync(reqMessage);
+        return resTemplate;
+    }
+
+    /// <summary>
+    /// 鑾峰彇Access_token
+    /// </summary>
+    private async Task<string> GetCgibinToken()
+    {
+        var reqCgibinToken = new CgibinTokenRequest();
+        var resCgibinToken = await _wechatApiClient.ExecuteCgibinTokenAsync(reqCgibinToken);
+        if (resCgibinToken.ErrorCode != (int)WechatReturnCodeEnum.璇锋眰鎴愬姛)
+            throw Oops.Oh(resCgibinToken.ErrorMessage + " " + resCgibinToken.ErrorCode);
+        return resCgibinToken.AccessToken;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/WechatApiHttpClient.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/WechatApiHttpClient.cs
new file mode 100644
index 0000000..d6d06fe
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Wechat/WechatApiHttpClient.cs
@@ -0,0 +1,84 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Newtonsoft.Json;
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 寰俊API瀹㈡埛绔�
+/// </summary>
+public partial class WechatApiClientFactory : ISingleton
+{
+    private readonly IHttpClientFactory _httpClientFactory;
+    public readonly WechatOptions _wechatOptions;
+
+    public WechatApiClientFactory(IHttpClientFactory httpClientFactory, IOptions<WechatOptions> wechatOptions)
+    {
+        _httpClientFactory = httpClientFactory ?? throw new ArgumentNullException(nameof(httpClientFactory));
+        _wechatOptions = wechatOptions.Value ?? throw new ArgumentNullException(nameof(wechatOptions));
+    }
+
+    /// <summary>
+    /// 寰俊鍏紬鍙�
+    /// </summary>
+    /// <returns></returns>
+    public WechatApiClient CreateWechatClient()
+    {
+        if (string.IsNullOrEmpty(_wechatOptions.WechatAppId) || string.IsNullOrEmpty(_wechatOptions.WechatAppSecret))
+            throw Oops.Oh("寰俊鍏紬鍙烽厤缃敊璇�");
+
+        var client = WechatApiClientBuilder.Create(new WechatApiClientOptions()
+        {
+            AppId = _wechatOptions.WechatAppId,
+            AppSecret = _wechatOptions.WechatAppSecret,
+            PushToken = _wechatOptions.WechatToken,
+            PushEncodingAESKey = _wechatOptions.WechatEncodingAESKey,
+        })
+        .UseHttpClient(_httpClientFactory.CreateClient(), disposeClient: false) // 璁剧疆 HttpClient 涓嶉殢瀹㈡埛绔竴鍚岄攢姣�
+        .Build();
+
+        client.Configure(config =>
+        {
+            JsonSerializerSettings jsonSerializerSettings = NewtonsoftJsonSerializer.GetDefaultSerializerSettings();
+            jsonSerializerSettings.Formatting = Formatting.Indented;
+            config.JsonSerializer = new NewtonsoftJsonSerializer(jsonSerializerSettings); // 鎸囧畾 System.Text.Json JSON搴忓垪鍖�
+            // config.JsonSerializer = new SystemTextJsonSerializer(jsonSerializerOptions); // 鎸囧畾 Newtonsoft.Json  JSON搴忓垪鍖�
+        });
+
+        return client;
+    }
+
+    /// <summary>
+    /// 寰俊灏忕▼搴�
+    /// </summary>
+    /// <returns></returns>
+    public WechatApiClient CreateWxOpenClient()
+    {
+        if (string.IsNullOrEmpty(_wechatOptions.WxOpenAppId) || string.IsNullOrEmpty(_wechatOptions.WxOpenAppSecret))
+            throw Oops.Oh("寰俊灏忕▼搴忛厤缃敊璇�");
+
+        var client = WechatApiClientBuilder.Create(new WechatApiClientOptions()
+        {
+            AppId = _wechatOptions.WxOpenAppId,
+            AppSecret = _wechatOptions.WxOpenAppSecret,
+            PushToken = _wechatOptions.WxToken,
+            PushEncodingAESKey = _wechatOptions.WxEncodingAESKey,
+        })
+        .UseHttpClient(_httpClientFactory.CreateClient(), disposeClient: false) // 璁剧疆 HttpClient 涓嶉殢瀹㈡埛绔竴鍚岄攢姣�
+        .Build();
+
+        client.Configure(config =>
+        {
+            JsonSerializerSettings jsonSerializerSettings = NewtonsoftJsonSerializer.GetDefaultSerializerSettings();
+            jsonSerializerSettings.Formatting = Formatting.Indented;
+            config.JsonSerializer = new NewtonsoftJsonSerializer(jsonSerializerSettings); // 鎸囧畾 System.Text.Json JSON搴忓垪鍖�
+            // config.JsonSerializer = new SystemTextJsonSerializer(jsonSerializerOptions); // 鎸囧畾 Newtonsoft.Json  JSON搴忓垪鍖�
+        });
+
+        return client;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignalR/SignalRSetup.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignalR/SignalRSetup.cs
new file mode 100644
index 0000000..7029ac3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignalR/SignalRSetup.cs
@@ -0,0 +1,104 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Furion.Logging.Extensions;
+using Microsoft.AspNetCore.DataProtection;
+using Newtonsoft.Json;
+using StackExchange.Redis;
+
+namespace Admin.NET.Core;
+
+public static class SignalRSetup
+{
+    /// <summary>
+    /// 鍗虫椂娑堟伅SignalR娉ㄥ唽
+    /// </summary>
+    /// <param name="services"></param>
+    /// <param name="SetNewtonsoftJsonSetting"></param>
+    public static void AddSignalR(this IServiceCollection services, Action<JsonSerializerSettings> SetNewtonsoftJsonSetting)
+    {
+        var signalRBuilder = services.AddSignalR(options =>
+        {
+            options.EnableDetailedErrors = true;
+            options.ClientTimeoutInterval = TimeSpan.FromMinutes(2);
+            options.KeepAliveInterval = TimeSpan.FromMinutes(1);
+            options.MaximumReceiveMessageSize = 1024 * 1024 * 10; // 鏁版嵁鍖呭ぇ灏�10M锛岄粯璁ゆ渶澶т负32K
+        }).AddNewtonsoftJsonProtocol(options => SetNewtonsoftJsonSetting(options.PayloadSerializerSettings));
+
+        // 鑻ユ湭鍚敤Redis缂撳瓨锛岀洿鎺ヨ繑鍥�
+        var cacheOptions = App.GetConfig<CacheOptions>("Cache", true);
+        if (cacheOptions.CacheType != CacheTypeEnum.Redis.ToString())
+            return;
+
+        // 鑻ュ凡寮�鍚泦缇ら厤缃紝鍒欐妸SignalR閰嶇疆涓烘敮鎸侀泦缇ゆā寮�
+        var clusterOpt = App.GetConfig<ClusterOptions>("Cluster", true);
+        if (!clusterOpt.Enabled)
+            return;
+
+        var redisOptions = clusterOpt.SentinelConfig;
+        ConnectionMultiplexer connection1;
+        if (clusterOpt.IsSentinel) // 鍝ㄥ叺妯″紡
+        {
+            var redisConfig = new ConfigurationOptions
+            {
+                AbortOnConnectFail = false,
+                ServiceName = redisOptions.ServiceName,
+                AllowAdmin = true,
+                DefaultDatabase = redisOptions.DefaultDb,
+                Password = redisOptions.Password
+            };
+            redisOptions.EndPoints.ForEach(u => redisConfig.EndPoints.Add(u));
+            connection1 = ConnectionMultiplexer.Connect(redisConfig);
+        }
+        else
+        {
+            connection1 = ConnectionMultiplexer.Connect(clusterOpt.SignalR.RedisConfiguration);
+        }
+        // 瀵嗛挜瀛樺偍锛堟暟鎹繚鎶わ級
+        services.AddDataProtection().PersistKeysToStackExchangeRedis(connection1, clusterOpt.DataProtecteKey);
+
+        signalRBuilder.AddStackExchangeRedis(options =>
+        {
+            // 姝ゅ璁剧疆鐨凜hannelPrefix骞朵笉浼氱敓鏁堬紝濡傛灉涓や釜涓嶅悓鐨勯」鐩紝涓擺绋嬪簭闆嗗悕+绫诲悕]涓�鏍凤紝浣跨敤鍚屼竴涓猺edis鏈嶅姟锛岃娉ㄦ剰淇敼 Hub/OnlineUserHub 鐨勭被鍚嶃��
+            // 鍘熷洜璇峰弬鑰冧笅杈归摼鎺ワ細
+            // https://github.com/dotnet/aspnetcore/blob/f9121bc3e976ec40a959818451d126d5126ce868/src/SignalR/server/StackExchangeRedis/src/RedisHubLifetimeManager.cs#L74
+            // https://github.com/dotnet/aspnetcore/blob/f9121bc3e976ec40a959818451d126d5126ce868/src/SignalR/server/StackExchangeRedis/src/Internal/RedisChannels.cs#L33
+            options.Configuration.ChannelPrefix = new RedisChannel(clusterOpt.SignalR.ChannelPrefix, RedisChannel.PatternMode.Auto);
+            options.ConnectionFactory = async writer =>
+            {
+                ConnectionMultiplexer connection;
+                if (clusterOpt.IsSentinel)
+                {
+                    var config = new ConfigurationOptions
+                    {
+                        AbortOnConnectFail = false,
+                        ServiceName = redisOptions.ServiceName,
+                        AllowAdmin = true,
+                        DefaultDatabase = redisOptions.DefaultDb,
+                        Password = redisOptions.Password
+                    };
+                    redisOptions.EndPoints.ForEach(u => config.EndPoints.Add(u));
+                    connection = await ConnectionMultiplexer.ConnectAsync(config, writer);
+                }
+                else
+                {
+                    connection = await ConnectionMultiplexer.ConnectAsync(clusterOpt.SignalR.RedisConfiguration);
+                }
+
+                connection.ConnectionFailed += (_, e) =>
+                {
+                    "杩炴帴 Redis 澶辫触".LogError();
+                };
+
+                if (!connection.IsConnected)
+                {
+                    "鏃犳硶杩炴帴 Redis".LogError();
+                }
+                return connection;
+            };
+        });
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/GetAccessSecretContext.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/GetAccessSecretContext.cs
new file mode 100644
index 0000000..1708cf3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/GetAccessSecretContext.cs
@@ -0,0 +1,27 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.Authentication;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鑾峰彇 AccessKey 鍏宠仈 AccessSecret 鏂规硶鐨勪笂涓嬫枃
+/// </summary>
+public class GetAccessSecretContext : BaseContext<SignatureAuthenticationOptions>
+{
+    public GetAccessSecretContext(HttpContext context,
+        AuthenticationScheme scheme,
+        SignatureAuthenticationOptions options)
+        : base(context, scheme, options)
+    {
+    }
+
+    /// <summary>
+    /// 韬唤鏍囪瘑
+    /// </summary>
+    public string AccessKey { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationDefaults.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationDefaults.cs
new file mode 100644
index 0000000..ce42ff7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationDefaults.cs
@@ -0,0 +1,23 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// Signature 韬唤楠岃瘉澶勭悊绋嬪簭鐩稿叧鐨勯粯璁ゅ��
+/// </summary>
+public static class SignatureAuthenticationDefaults
+{
+    /// <summary>
+    /// SignatureAuthenticationOptions.AuthenticationScheme 浣跨敤鐨勯粯璁ゅ��
+    /// </summary>
+    public const string AuthenticationScheme = "Signature";
+
+    /// <summary>
+    /// 闄勫姞鍦� HttpContext Item 涓獙璇佸け璐ユ秷鎭殑 Key
+    /// </summary>
+    public const string AuthenticateFailMsgKey = "SignatureAuthenticateFailMsg";
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationEvent.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationEvent.cs
new file mode 100644
index 0000000..281ced8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationEvent.cs
@@ -0,0 +1,53 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// Signature 韬唤楠岃瘉浜嬩欢
+/// </summary>
+public class SignatureAuthenticationEvent
+{
+    public SignatureAuthenticationEvent()
+    {
+    }
+
+    /// <summary>
+    /// 鑾峰彇鎴栬缃幏鍙� AccessKey 鐨� AccessSecret 鐨勯�昏緫澶勭悊
+    /// </summary>
+    public Func<GetAccessSecretContext, Task<string>> OnGetAccessSecret { get; set; }
+
+    /// <summary>
+    /// 鑾峰彇鎴栬缃川璇㈢殑閫昏緫澶勭悊
+    /// </summary>
+    public Func<SignatureChallengeContext, Task> OnChallenge { get; set; } = _ => Task.CompletedTask;
+
+    /// <summary>
+    /// 鑾峰彇鎴栬缃凡楠岃瘉鐨勯�昏緫澶勭悊
+    /// </summary>
+    public Func<SignatureValidatedContext, Task> OnValidated { get; set; } = _ => Task.CompletedTask;
+
+    /// <summary>
+    /// 鑾峰彇 AccessKey 鐨� AccessSecret
+    /// </summary>
+    /// <param name="context"></param>
+    /// <returns></returns>
+    public virtual Task<string> GetAccessSecret(GetAccessSecretContext context) => OnGetAccessSecret?.Invoke(context) ?? throw new NotImplementedException($"闇�瑕佹彁渚� {nameof(OnGetAccessSecret)} 瀹炵幇");
+
+    /// <summary>
+    /// 璐ㄨ
+    /// </summary>
+    /// <param name="context"></param>
+    /// <returns></returns>
+    public virtual Task Challenge(SignatureChallengeContext context) => OnChallenge?.Invoke(context) ?? Task.CompletedTask;
+
+    /// <summary>
+    /// 宸查獙璇佹垚鍔�
+    /// </summary>
+    /// <param name="context"></param>
+    /// <returns></returns>
+    public virtual Task Validated(SignatureValidatedContext context) => OnValidated?.Invoke(context) ?? Task.CompletedTask;
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationExtensions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationExtensions.cs
new file mode 100644
index 0000000..3910548
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationExtensions.cs
@@ -0,0 +1,36 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.Authentication;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// Signature 韬唤楠岃瘉鎵╁睍
+/// </summary>
+public static class SignatureAuthenticationExtensions
+{
+    /// <summary>
+    /// 娉ㄥ唽 Signature 韬唤楠岃瘉澶勭悊妯″潡
+    /// </summary>
+    /// <param name="builder"></param>
+    /// <returns></returns>
+    public static AuthenticationBuilder AddSignatureAuthentication(this AuthenticationBuilder builder)
+    {
+        return builder.AddSignatureAuthentication(options => { });
+    }
+
+    /// <summary>
+    /// 娉ㄥ唽 Signature 韬唤楠岃瘉澶勭悊妯″潡
+    /// </summary>
+    /// <param name="builder"></param>
+    /// <param name="options"></param>
+    /// <returns></returns>
+    public static AuthenticationBuilder AddSignatureAuthentication(this AuthenticationBuilder builder, Action<SignatureAuthenticationOptions> options)
+    {
+        return builder.AddScheme<SignatureAuthenticationOptions, SignatureAuthenticationHandler>(SignatureAuthenticationDefaults.AuthenticationScheme, options);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationHandler.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationHandler.cs
new file mode 100644
index 0000000..82d9676
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationHandler.cs
@@ -0,0 +1,158 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.Authentication;
+using System.Security.Claims;
+using System.Security.Cryptography;
+using System.Text.Encodings.Web;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// Signature 韬唤楠岃瘉澶勭悊
+/// </summary>
+public sealed class SignatureAuthenticationHandler : AuthenticationHandler<SignatureAuthenticationOptions>
+{
+    public SignatureAuthenticationHandler(IOptionsMonitor<SignatureAuthenticationOptions> options,
+        ILoggerFactory logger,
+        UrlEncoder encoder,
+        ISystemClock clock)
+        : base(options, logger, encoder, clock)
+    {
+    }
+
+    private new SignatureAuthenticationEvent Events
+    {
+        get => (SignatureAuthenticationEvent)base.Events;
+        set => base.Events = value;
+    }
+
+    /// <summary>
+    /// 纭繚鍒涘缓鐨� Event 绫诲瀷鏄� DigestEvents
+    /// </summary>
+    /// <returns></returns>
+    protected override Task<object> CreateEventsAsync() => throw new NotImplementedException($"{nameof(SignatureAuthenticationOptions)}.{nameof(SignatureAuthenticationOptions.Events)} 闇�瑕佹彁渚涗竴涓疄渚�");
+
+    protected override async Task<AuthenticateResult> HandleAuthenticateAsync()
+    {
+        var accessKey = Request.Headers["accessKey"].FirstOrDefault();
+        var timestampStr = Request.Headers["timestamp"].FirstOrDefault(); // 绮剧‘鍒扮
+        var nonce = Request.Headers["nonce"].FirstOrDefault();
+        var sign = Request.Headers["sign"].FirstOrDefault();
+
+        if (string.IsNullOrEmpty(accessKey))
+            return await AuthenticateResultFailAsync("accessKey 涓嶈兘涓虹┖");
+        if (string.IsNullOrEmpty(timestampStr))
+            return await AuthenticateResultFailAsync("timestamp 涓嶈兘涓虹┖");
+        if (string.IsNullOrEmpty(nonce))
+            return await AuthenticateResultFailAsync("nonce 涓嶈兘涓虹┖");
+        if (string.IsNullOrEmpty(sign))
+            return await AuthenticateResultFailAsync("sign 涓嶈兘涓虹┖");
+
+        // 楠岃瘉璇锋眰鏁版嵁鏄惁鍦ㄥ彲鎺ュ彈鐨勬椂闂村唴
+        if (!long.TryParse(timestampStr, out var timestamp))
+            return await AuthenticateResultFailAsync("timestamp 鍊间笉鍚堟硶");
+
+        var requestDate = DateTimeUtil.ToLocalTimeDateBySeconds(timestamp);
+        if (requestDate > Clock.UtcNow.Add(Options.AllowedDateDrift).LocalDateTime || requestDate < Clock.UtcNow.Subtract(Options.AllowedDateDrift).LocalDateTime)
+            return await AuthenticateResultFailAsync("timestamp 鍊煎凡瓒呰繃鍏佽鐨勫亸宸寖鍥�");
+
+        // 鑾峰彇 accessSecret
+        var getAccessSecretContext = new GetAccessSecretContext(Context, Scheme, Options) { AccessKey = accessKey };
+        var accessSecret = await Events.GetAccessSecret(getAccessSecretContext);
+        if (string.IsNullOrEmpty(accessSecret))
+            return await AuthenticateResultFailAsync("accessKey 鏃犳晥");
+
+        // 鏍¢獙绛惧悕
+        var appSecretByte = Encoding.UTF8.GetBytes(accessSecret);
+        string serverSign = SignData(appSecretByte, GetMessageForSign(Context));
+
+        if (serverSign != sign)
+            return await AuthenticateResultFailAsync("sign 鏃犳晥鐨勭鍚�");
+
+        // 閲嶆斁妫�娴�
+        var cache = App.GetRequiredService<SysCacheService>();
+        var cacheKey = $"{CacheConst.KeyOpenAccessNonce}{accessKey}|{nonce}";
+        if (cache.ExistKey(cacheKey))
+            return await AuthenticateResultFailAsync("閲嶅鐨勮姹�");
+        cache.Set(cacheKey, null, Options.AllowedDateDrift * 2); // 缂撳瓨杩囨湡鏃堕棿涓哄亸宸寖鍥存椂闂寸殑2鍊�
+
+        // 宸查獙璇佹垚鍔�
+        var signatureValidatedContext = new SignatureValidatedContext(Context, Scheme, Options)
+        {
+            Principal = new ClaimsPrincipal(new ClaimsIdentity(SignatureAuthenticationDefaults.AuthenticationScheme)),
+            AccessKey = accessKey
+        };
+        await Events.Validated(signatureValidatedContext);
+        // ReSharper disable once ConditionIsAlwaysTrueOrFalse
+        if (signatureValidatedContext.Result != null)
+            return signatureValidatedContext.Result;
+
+        // ReSharper disable once HeuristicUnreachableCode
+        signatureValidatedContext.Success();
+        return signatureValidatedContext.Result;
+    }
+
+    protected override async Task HandleChallengeAsync(AuthenticationProperties properties)
+    {
+        var authResult = await HandleAuthenticateOnceSafeAsync();
+        var challengeContext = new SignatureChallengeContext(Context, Scheme, Options, properties)
+        {
+            AuthenticateFailure = authResult.Failure,
+        };
+        await Events.Challenge(challengeContext);
+        // 璐ㄨ宸插鐞�
+        if (challengeContext.Handled) return;
+
+        await base.HandleChallengeAsync(properties);
+    }
+
+    /// <summary>
+    /// 鑾峰彇鐢ㄤ簬绛惧悕鐨勬秷鎭�
+    /// </summary>
+    /// <returns></returns>
+    private static string GetMessageForSign(HttpContext context)
+    {
+        var method = context.Request.Method; // 璇锋眰鏂规硶锛堝ぇ鍐欙級
+        var url = context.Request.Path; // 璇锋眰 url锛屽幓闄ゅ崗璁�佸煙鍚嶃�佸弬鏁帮紝浠� / 寮�澶�
+        var accessKey = context.Request.Headers["accessKey"].FirstOrDefault(); // 韬唤鏍囪瘑
+        var timestamp = context.Request.Headers["timestamp"].FirstOrDefault(); // 鏃堕棿鎴筹紝绮剧‘鍒扮
+        var nonce = context.Request.Headers["nonce"].FirstOrDefault(); // 鍞竴闅忔満鏁�
+
+        return $"{method}&{url}&{accessKey}&{timestamp}&{nonce}";
+    }
+
+    /// <summary>
+    /// 瀵规暟鎹繘琛岀鍚�
+    /// </summary>
+    /// <param name="secret"></param>
+    /// <param name="data"></param>
+    /// <returns></returns>
+    private static string SignData(byte[] secret, string data)
+    {
+        if (secret == null)
+            throw new ArgumentNullException(nameof(secret));
+
+        if (data == null)
+            throw new ArgumentNullException(nameof(data));
+
+        using HMAC hmac = new HMACSHA256();
+        hmac.Key = secret;
+        return Convert.ToBase64String(hmac.ComputeHash(Encoding.UTF8.GetBytes(data)));
+    }
+
+    /// <summary>
+    /// 杩斿洖楠岃瘉澶辫触缁撴灉锛屽苟鍦� Items 涓鍔� <see cref="SignatureAuthenticationDefaults.AuthenticateFailMsgKey"/>锛岃褰曡韩浠介獙璇佸け璐ユ秷鎭�
+    /// </summary>
+    /// <param name="message"></param>
+    /// <returns></returns>
+    private Task<AuthenticateResult> AuthenticateResultFailAsync(string message)
+    {
+        // 鍐欏叆韬唤楠岃瘉澶辫触娑堟伅
+        Context.Items[SignatureAuthenticationDefaults.AuthenticateFailMsgKey] = message;
+        return Task.FromResult(AuthenticateResult.Fail(message));
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationOptions.cs
new file mode 100644
index 0000000..9b91ba2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureAuthenticationOptions.cs
@@ -0,0 +1,29 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.Authentication;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// Signature 韬唤楠岃瘉閫夐」
+/// </summary>
+public class SignatureAuthenticationOptions : AuthenticationSchemeOptions
+{
+    /// <summary>
+    /// 璇锋眰鏃堕棿鍏佽鐨勫亸宸寖鍥�
+    /// </summary>
+    public TimeSpan AllowedDateDrift { get; set; } = TimeSpan.FromMinutes(5);
+
+    /// <summary>
+    /// Signature 韬唤楠岃瘉浜嬩欢
+    /// </summary>
+    public new SignatureAuthenticationEvent Events
+    {
+        get => (SignatureAuthenticationEvent)base.Events;
+        set => base.Events = value;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureChallengeContext.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureChallengeContext.cs
new file mode 100644
index 0000000..a975bd4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureChallengeContext.cs
@@ -0,0 +1,33 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.Authentication;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// Signature 韬唤楠岃瘉璐ㄨ涓婁笅鏂�
+/// </summary>
+public class SignatureChallengeContext : PropertiesContext<SignatureAuthenticationOptions>
+{
+    public SignatureChallengeContext(HttpContext context,
+        AuthenticationScheme scheme,
+        SignatureAuthenticationOptions options,
+        AuthenticationProperties properties)
+        : base(context, scheme, options, properties)
+    {
+    }
+
+    /// <summary>
+    /// 鍦ㄨ璇佹湡闂村嚭鐜扮殑寮傚父
+    /// </summary>
+    public Exception AuthenticateFailure { get; set; }
+
+    /// <summary>
+    /// 鎸囧畾鏄惁宸茶澶勭悊锛屽鏋滃凡澶勭悊锛屽垯璺宠繃榛樿璁よ瘉閫昏緫
+    /// </summary>
+    public bool Handled { get; private set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureValidatedContext.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureValidatedContext.cs
new file mode 100644
index 0000000..7bad7e3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SignatureAuth/SignatureValidatedContext.cs
@@ -0,0 +1,32 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.Authentication;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// Signature 韬唤楠岃瘉宸查獙璇佷笂涓嬫枃
+/// </summary>
+public class SignatureValidatedContext : ResultContext<SignatureAuthenticationOptions>
+{
+    public SignatureValidatedContext(HttpContext context,
+        AuthenticationScheme scheme,
+        SignatureAuthenticationOptions options)
+        : base(context, scheme, options)
+    {
+    }
+
+    /// <summary>
+    /// 韬唤鏍囪瘑
+    /// </summary>
+    public string AccessKey { get; set; }
+
+    /// <summary>
+    /// 瀵嗛挜
+    /// </summary>
+    public string AccessSecret { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/ISqlSugarEntitySeedData.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/ISqlSugarEntitySeedData.cs
new file mode 100644
index 0000000..bad2faa
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/ISqlSugarEntitySeedData.cs
@@ -0,0 +1,21 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 瀹炰綋绉嶅瓙鏁版嵁鎺ュ彛
+/// </summary>
+/// <typeparam name="TEntity"></typeparam>
+public interface ISqlSugarEntitySeedData<TEntity>
+    where TEntity : class, new()
+{
+    /// <summary>
+    /// 绉嶅瓙鏁版嵁
+    /// </summary>
+    /// <returns></returns>
+    IEnumerable<TEntity> HasData();
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/ISqlSugarRepository.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/ISqlSugarRepository.cs
new file mode 100644
index 0000000..63fae4f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/ISqlSugarRepository.cs
@@ -0,0 +1,91 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鍒嗚〃鎿嶄綔浠撳偍鎺ュ彛
+/// </summary>
+/// <typeparam name="T"></typeparam>
+public interface ISqlSugarRepository<T> : ISugarRepository, ISimpleClient<T> where T : class, new()
+{
+    /// <summary>
+    /// 鍒涘缓鏁版嵁
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    Task<bool> SplitTableInsertAsync(T input);
+
+    /// <summary>
+    /// 鎵归噺鍒涘缓鏁版嵁
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    Task<bool> SplitTableInsertAsync(List<T> input);
+
+    /// <summary>
+    /// 鏇存柊鏁版嵁
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    Task<bool> SplitTableUpdateAsync(T input);
+
+    /// <summary>
+    /// 鎵归噺鏇存柊鏁版嵁
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    Task<bool> SplitTableUpdateAsync(List<T> input);
+
+    /// <summary>
+    /// 鍒犻櫎鏁版嵁
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    Task<bool> SplitTableDeleteableAsync(T input);
+
+    /// <summary>
+    /// 鎵归噺鍒犻櫎鏁版嵁
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    Task<bool> SplitTableDeleteableAsync(List<T> input);
+
+    /// <summary>
+    /// 鑾峰彇绗竴鏉�
+    /// </summary>
+    /// <param name="whereExpression"></param>
+    /// <returns></returns>
+    Task<T> SplitTableGetFirstAsync(Expression<Func<T, bool>> whereExpression);
+
+    /// <summary>
+    /// 鍒ゆ柇鏄惁瀛樺湪
+    /// </summary>
+    /// <param name="whereExpression"></param>
+    /// <returns></returns>
+    Task<bool> SplitTableIsAnyAsync(Expression<Func<T, bool>> whereExpression);
+
+    /// <summary>
+    /// 鑾峰彇鍒楄〃
+    /// </summary>
+    /// <returns></returns>
+    Task<List<T>> SplitTableGetListAsync();
+
+    /// <summary>
+    /// 鑾峰彇鍒楄〃
+    /// </summary>
+    /// <param name="whereExpression"></param>
+    /// <returns></returns>
+    Task<List<T>> SplitTableGetListAsync(Expression<Func<T, bool>> whereExpression);
+
+    /// <summary>
+    /// 鑾峰彇鍒楄〃
+    /// </summary>
+    /// <param name="whereExpression"></param>
+    /// <param name="tableNames">琛ㄥ悕</param>
+    /// <returns></returns>
+    Task<List<T>> SplitTableGetListAsync(Expression<Func<T, bool>> whereExpression, string[] tableNames);
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarFilter.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarFilter.cs
new file mode 100644
index 0000000..05a9b02
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarFilter.cs
@@ -0,0 +1,210 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+public static class SqlSugarFilter
+{
+    /// <summary>
+    /// 缂撳瓨鍏ㄥ眬鏌ヨ杩囨护鍣紙鍐呭瓨缂撳瓨锛�
+    /// </summary>
+    private static readonly ICache _cache = Cache.Default;
+
+    /// <summary>
+    /// 鍒犻櫎鐢ㄦ埛鏈烘瀯缂撳瓨
+    /// </summary>
+    /// <param name="userId"></param>
+    /// <param name="dbConfigId"></param>
+    public static void DeleteUserOrgCache(long userId, string dbConfigId)
+    {
+        var sysCacheService = App.GetRequiredService<SysCacheService>();
+
+        // 鍒犻櫎鐢ㄦ埛鏈烘瀯闆嗗悎缂撳瓨
+        sysCacheService.Remove($"{CacheConst.KeyUserOrg}{userId}");
+        // 鍒犻櫎鏈�澶ф暟鎹潈闄愮紦瀛�
+        sysCacheService.Remove($"{CacheConst.KeyRoleMaxDataScope}{userId}");
+        // 鍒犻櫎鐢ㄦ埛鏈烘瀯锛堟暟鎹寖鍥达級缂撳瓨鈥斺�旇繃婊ゅ櫒
+        _cache.Remove($"db:{dbConfigId}:orgList:{userId}");
+    }
+
+    /// <summary>
+    /// 閰嶇疆鐢ㄦ埛鏈烘瀯闆嗗悎杩囨护鍣�
+    /// </summary>
+    public static void SetOrgEntityFilter(SqlSugarScopeProvider db)
+    {
+        // 鑻ヤ粎鏈汉鏁版嵁锛屽垯鐩存帴杩斿洖
+        if (SetDataScopeFilter(db) == (int)DataScopeEnum.Self) return;
+
+        var userId = App.User?.FindFirst(ClaimConst.UserId)?.Value;
+        if (string.IsNullOrWhiteSpace(userId)) return;
+
+        // 閰嶇疆鐢ㄦ埛鏈烘瀯闆嗗悎缂撳瓨
+        var cacheKey = $"db:{db.CurrentConnectionConfig.ConfigId}:orgList:{userId}";
+        var orgFilter = _cache.Get<ConcurrentDictionary<Type, LambdaExpression>>(cacheKey);
+        if (orgFilter == null)
+        {
+            // 鑾峰彇鐢ㄦ埛鎵�灞炴満鏋勶紝淇濊瘉鍚屼竴浣滅敤鍩�
+            var orgIds = new List<long>();
+            Scoped.Create((factory, scope) =>
+            {
+                var services = scope.ServiceProvider;
+                orgIds = services.GetService<SysOrgService>().GetUserOrgIdList().GetAwaiter().GetResult();
+            });
+            if (orgIds == null || orgIds.Count == 0) return;
+
+            // 鑾峰彇涓氬姟瀹炰綋鏁版嵁琛�
+            var entityTypes = App.EffectiveTypes.Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass
+                && u.IsSubclassOf(typeof(EntityBaseData)));
+            if (!entityTypes.Any()) return;
+
+            orgFilter = new ConcurrentDictionary<Type, LambdaExpression>();
+            foreach (var entityType in entityTypes)
+            {
+                // 鎺掗櫎闈炲綋鍓嶆暟鎹簱瀹炰綋
+                var tAtt = entityType.GetCustomAttribute<TenantAttribute>();
+                if ((tAtt != null && db.CurrentConnectionConfig.ConfigId.ToString() != tAtt.configId.ToString()))
+                    continue;
+
+                var lambda = DynamicExpressionParser.ParseLambda(new[] {
+                    Expression.Parameter(entityType, "u") }, typeof(bool), $"@0.Contains(u.{nameof(EntityBaseData.CreateOrgId)}??{default(long)})", orgIds);
+                db.QueryFilter.AddTableFilter(entityType, lambda);
+                orgFilter.TryAdd(entityType, lambda);
+            }
+            _cache.Add(cacheKey, orgFilter);
+        }
+        else
+        {
+            foreach (var filter in orgFilter)
+                db.QueryFilter.AddTableFilter(filter.Key, filter.Value);
+        }
+    }
+
+    /// <summary>
+    /// 閰嶇疆鐢ㄦ埛浠呮湰浜烘暟鎹繃婊ゅ櫒
+    /// </summary>
+    private static int SetDataScopeFilter(SqlSugarScopeProvider db)
+    {
+        var maxDataScope = (int)DataScopeEnum.All;
+
+        var userId = App.User?.FindFirst(ClaimConst.UserId)?.Value;
+        if (string.IsNullOrWhiteSpace(userId)) return maxDataScope;
+
+        // 鑾峰彇鐢ㄦ埛鏈�澶ф暟鎹寖鍥�---浠呮湰浜烘暟鎹�
+        maxDataScope = App.GetRequiredService<SysCacheService>().Get<int>(CacheConst.KeyRoleMaxDataScope + userId);
+        if (maxDataScope != (int)DataScopeEnum.Self) return maxDataScope;
+
+        // 閰嶇疆鐢ㄦ埛鏁版嵁鑼冨洿缂撳瓨
+        var cacheKey = $"db:{db.CurrentConnectionConfig.ConfigId}:dataScope:{userId}";
+        var dataScopeFilter = _cache.Get<ConcurrentDictionary<Type, LambdaExpression>>(cacheKey);
+        if (dataScopeFilter == null)
+        {
+            // 鑾峰彇涓氬姟瀹炰綋鏁版嵁琛�
+            var entityTypes = App.EffectiveTypes.Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass
+                && u.IsSubclassOf(typeof(EntityBaseData)));
+            if (!entityTypes.Any()) return maxDataScope;
+
+            dataScopeFilter = new ConcurrentDictionary<Type, LambdaExpression>();
+            foreach (var entityType in entityTypes)
+            {
+                // 鎺掗櫎闈炲綋鍓嶆暟鎹簱瀹炰綋
+                var tAtt = entityType.GetCustomAttribute<TenantAttribute>();
+                if ((tAtt != null && db.CurrentConnectionConfig.ConfigId.ToString() != tAtt.configId.ToString()))
+                    continue;
+
+                var lambda = DynamicExpressionParser.ParseLambda(new[] {
+                    Expression.Parameter(entityType, "u") }, typeof(bool), $"u.{nameof(EntityBaseData.CreateUserId)}=@0", userId);
+                db.QueryFilter.AddTableFilter(entityType, lambda);
+                dataScopeFilter.TryAdd(entityType, lambda);
+            }
+            _cache.Add(cacheKey, dataScopeFilter);
+        }
+        else
+        {
+            foreach (var filter in dataScopeFilter)
+                db.QueryFilter.AddTableFilter(filter.Key, filter.Value);
+        }
+        return maxDataScope;
+    }
+
+    /// <summary>
+    /// 閰嶇疆鑷畾涔夎繃婊ゅ櫒
+    /// </summary>
+    public static void SetCustomEntityFilter(SqlSugarScopeProvider db)
+    {
+        // 閰嶇疆鑷畾涔夌紦瀛�
+        var userId = App.User?.FindFirst(ClaimConst.UserId)?.Value;
+        var cacheKey = $"db:{db.CurrentConnectionConfig.ConfigId}:custom:{userId}";
+        var tableFilterItemList = _cache.Get<List<TableFilterItem<object>>>(cacheKey);
+        if (tableFilterItemList == null)
+        {
+            // 鑾峰彇鑷畾涔夊疄浣撹繃婊ゅ櫒
+            var entityFilterTypes = App.EffectiveTypes.Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass
+                && u.GetInterfaces().Any(i => i.HasImplementedRawGeneric(typeof(IEntityFilter))));
+            if (!entityFilterTypes.Any()) return;
+
+            var tableFilterItems = new List<TableFilterItem<object>>();
+            foreach (var entityFilter in entityFilterTypes)
+            {
+                var instance = Activator.CreateInstance(entityFilter);
+                var entityFilterMethod = entityFilter.GetMethod("AddEntityFilter");
+                var entityFilters = ((IList)entityFilterMethod?.Invoke(instance, null))?.Cast<object>();
+                if (entityFilters == null) continue;
+
+                foreach (var u in entityFilters)
+                {
+                    var tableFilterItem = (TableFilterItem<object>)u;
+                    var entityType = tableFilterItem.GetType().GetProperty("type", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(tableFilterItem, null) as Type;
+                    // 鎺掗櫎闈炲綋鍓嶆暟鎹簱瀹炰綋
+                    var tAtt = entityType.GetCustomAttribute<TenantAttribute>();
+                    if ((tAtt != null && db.CurrentConnectionConfig.ConfigId.ToString() != tAtt.configId.ToString()) ||
+                        (tAtt == null && db.CurrentConnectionConfig.ConfigId.ToString() != SqlSugarConst.MainConfigId))
+                        continue;
+
+                    tableFilterItems.Add(tableFilterItem);
+                    db.QueryFilter.Add(tableFilterItem);
+                }
+            }
+            _cache.Add(cacheKey, tableFilterItems);
+        }
+        else
+        {
+            tableFilterItemList.ForEach(u =>
+            {
+                db.QueryFilter.Add(u);
+            });
+        }
+    }
+}
+
+/// <summary>
+/// 鑷畾涔夊疄浣撹繃婊ゅ櫒鎺ュ彛
+/// </summary>
+public interface IEntityFilter
+{
+    /// <summary>
+    /// 瀹炰綋杩囨护鍣�
+    /// </summary>
+    /// <returns></returns>
+    IEnumerable<TableFilterItem<object>> AddEntityFilter();
+}
+
+///// <summary>
+///// 鑷畾涔変笟鍔″疄浣撹繃婊ゅ櫒绀轰緥
+///// </summary>
+//public class TestEntityFilter : IEntityFilter
+//{
+//    public IEnumerable<TableFilterItem<object>> AddEntityFilter()
+//    {
+//        // 鏋勯�犺嚜瀹氫箟鏉′欢鐨勮繃婊ゅ櫒
+//        Expression<Func<SysUser, bool>> dynamicExpression = u => u.Remark.Contains("xxx");
+//        var tableFilterItem = new TableFilterItem<object>(typeof(SysUser), dynamicExpression);
+
+//        return new[]
+//        {
+//            tableFilterItem
+//        };
+//    }
+//}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarPagedList.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarPagedList.cs
new file mode 100644
index 0000000..c53ddc5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarPagedList.cs
@@ -0,0 +1,153 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鍒嗛〉娉涘瀷闆嗗悎
+/// </summary>
+/// <typeparam name="TEntity"></typeparam>
+public class SqlSugarPagedList<TEntity>
+{
+    /// <summary>
+    /// 椤电爜
+    /// </summary>
+    public int Page { get; set; }
+
+    /// <summary>
+    /// 椤靛閲�
+    /// </summary>
+    public int PageSize { get; set; }
+
+    /// <summary>
+    /// 鎬绘潯鏁�
+    /// </summary>
+    public int Total { get; set; }
+
+    /// <summary>
+    /// 鎬婚〉鏁�
+    /// </summary>
+    public int TotalPages { get; set; }
+
+    /// <summary>
+    /// 褰撳墠椤甸泦鍚�
+    /// </summary>
+    public IEnumerable<TEntity> Items { get; set; }
+
+    /// <summary>
+    /// 鏄惁鏈変笂涓�椤�
+    /// </summary>
+    public bool HasPrevPage { get; set; }
+
+    /// <summary>
+    /// 鏄惁鏈変笅涓�椤�
+    /// </summary>
+    public bool HasNextPage { get; set; }
+}
+
+/// <summary>
+/// 鍒嗛〉鎷撳睍绫�
+/// </summary>
+public static class SqlSugarPagedExtensions
+{
+    /// <summary>
+    /// 鍒嗛〉鎷撳睍
+    /// </summary>
+    /// <param name="query"><see cref="ISugarQueryable{TEntity}"/>瀵硅薄</param>
+    /// <param name="pageIndex">褰撳墠椤电爜锛屼粠1寮�濮�</param>
+    /// <param name="pageSize">椤电爜瀹归噺</param>
+    /// <param name="expression">鏌ヨ缁撴灉 Select 琛ㄨ揪寮�</param>
+    /// <returns></returns>
+    public static SqlSugarPagedList<TResult> ToPagedList<TEntity, TResult>(this ISugarQueryable<TEntity> query, int pageIndex, int pageSize,
+        Expression<Func<TEntity, TResult>> expression)
+    {
+        var total = 0;
+        var items = query.ToPageList(pageIndex, pageSize, ref total, expression);
+        return CreateSqlSugarPagedList(items, total, pageIndex, pageSize);
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鎷撳睍
+    /// </summary>
+    /// <param name="query"><see cref="ISugarQueryable{TEntity}"/>瀵硅薄</param>
+    /// <param name="pageIndex">褰撳墠椤电爜锛屼粠1寮�濮�</param>
+    /// <param name="pageSize">椤电爜瀹归噺</param>
+    /// <returns></returns>
+    public static SqlSugarPagedList<TEntity> ToPagedList<TEntity>(this ISugarQueryable<TEntity> query, int pageIndex, int pageSize)
+    {
+        var total = 0;
+        var items = query.ToPageList(pageIndex, pageSize, ref total);
+        return CreateSqlSugarPagedList(items, total, pageIndex, pageSize);
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鎷撳睍
+    /// </summary>
+    /// <param name="query"><see cref="ISugarQueryable{TEntity}"/>瀵硅薄</param>
+    /// <param name="pageIndex">褰撳墠椤电爜锛屼粠1寮�濮�</param>
+    /// <param name="pageSize">椤电爜瀹归噺</param>
+    /// <param name="expression">鏌ヨ缁撴灉 Select 琛ㄨ揪寮�</param>
+    /// <returns></returns>
+    public static async Task<SqlSugarPagedList<TResult>> ToPagedListAsync<TEntity, TResult>(this ISugarQueryable<TEntity> query, int pageIndex, int pageSize,
+        Expression<Func<TEntity, TResult>> expression)
+    {
+        RefAsync<int> total = 0;
+        var items = await query.ToPageListAsync(pageIndex, pageSize, total, expression);
+        return CreateSqlSugarPagedList(items, total, pageIndex, pageSize);
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鎷撳睍
+    /// </summary>
+    /// <param name="query"><see cref="ISugarQueryable{TEntity}"/>瀵硅薄</param>
+    /// <param name="pageIndex">褰撳墠椤电爜锛屼粠1寮�濮�</param>
+    /// <param name="pageSize">椤电爜瀹归噺</param>
+    /// <returns></returns>
+    public static async Task<SqlSugarPagedList<TEntity>> ToPagedListAsync<TEntity>(this ISugarQueryable<TEntity> query, int pageIndex, int pageSize)
+    {
+        RefAsync<int> total = 0;
+        var items = await query.ToPageListAsync(pageIndex, pageSize, total);
+        return CreateSqlSugarPagedList(items, total, pageIndex, pageSize);
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鎷撳睍
+    /// </summary>
+    /// <param name="list">闆嗗悎瀵硅薄</param>
+    /// <param name="pageIndex">褰撳墠椤电爜锛屼粠1寮�濮�</param>
+    /// <param name="pageSize">椤电爜瀹归噺</param>
+    /// <returns></returns>
+    public static SqlSugarPagedList<TEntity> ToPagedList<TEntity>(this IEnumerable<TEntity> list, int pageIndex, int pageSize)
+    {
+        var total = list.Count();
+        var items = list.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
+        return CreateSqlSugarPagedList(items, total, pageIndex, pageSize);
+    }
+
+    /// <summary>
+    /// 鍒涘缓 <see cref="SqlSugarPagedList{TEntity}"/> 瀵硅薄
+    /// </summary>
+    /// <typeparam name="TEntity"></typeparam>
+    /// <param name="items">鍒嗛〉鍐呭鐨勫璞¢泦鍚�</param>
+    /// <param name="total">鎬绘潯鏁�</param>
+    /// <param name="pageIndex">褰撳墠椤电爜锛屼粠1寮�濮�</param>
+    /// <param name="pageSize">椤电爜瀹归噺</param>
+    /// <returns></returns>
+    private static SqlSugarPagedList<TEntity> CreateSqlSugarPagedList<TEntity>(IEnumerable<TEntity> items, int total, int pageIndex, int pageSize)
+    {
+        var totalPages = pageSize > 0 ? (int)Math.Ceiling(total / (double)pageSize) : 0;
+        return new SqlSugarPagedList<TEntity>
+        {
+            Page = pageIndex,
+            PageSize = pageSize,
+            Items = items,
+            Total = total,
+            TotalPages = totalPages,
+            HasNextPage = pageIndex < totalPages,
+            HasPrevPage = pageIndex - 1 > 0
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarRepository.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarRepository.cs
new file mode 100644
index 0000000..a890ef0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarRepository.cs
@@ -0,0 +1,107 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// SqlSugar 瀹炰綋浠撳偍
+/// </summary>
+/// <typeparam name="T"></typeparam>
+public class SqlSugarRepository<T> : SimpleClient<T>, ISqlSugarRepository<T> where T : class, new()
+{
+    public SqlSugarRepository()
+    {
+        var iTenant = SqlSugarSetup.ITenant; // App.GetRequiredService<ISqlSugarClient>().AsTenant();
+        base.Context = iTenant.GetConnectionScope(SqlSugarConst.MainConfigId);
+
+        // 鑻ュ疄浣撹创鏈夊搴撶壒鎬э紝鍒欒繑鍥炴寚瀹氬簱杩炴帴
+        if (typeof(T).IsDefined(typeof(TenantAttribute), false))
+        {
+            base.Context = iTenant.GetConnectionScopeWithAttr<T>();
+            return;
+        }
+
+        // 鑻ュ疄浣撹创鏈夋棩蹇楄〃鐗规�э紝鍒欒繑鍥炴棩蹇楀簱杩炴帴
+        if (typeof(T).IsDefined(typeof(LogTableAttribute), false))
+        {
+            if (iTenant.IsAnyConnection(SqlSugarConst.LogConfigId))
+                base.Context = iTenant.GetConnectionScope(SqlSugarConst.LogConfigId);
+            return;
+        }
+
+        // 鑻ュ疄浣撹创鏈夌郴缁熻〃鐗规�э紝鍒欒繑鍥為粯璁ゅ簱杩炴帴
+        if (typeof(T).IsDefined(typeof(SysTableAttribute), false))
+            return;
+
+        // 鑻ユ湭璐翠换浣曡〃鐗规�ф垨褰撳墠鏈櫥褰曟垨鏄粯璁ょ鎴稩d锛屽垯杩斿洖榛樿搴撹繛鎺�
+        var tenantId = App.User?.FindFirst(ClaimConst.TenantId)?.Value;
+        if (string.IsNullOrWhiteSpace(tenantId) || tenantId == SqlSugarConst.MainConfigId) return;
+
+        // 鏍规嵁绉熸埛Id鍒囨崲搴撹繛鎺�, 涓虹┖鍒欒繑鍥為粯璁ゅ簱杩炴帴
+        var sqlSugarScopeProviderTenant = App.GetRequiredService<SysTenantService>().GetTenantDbConnectionScope(long.Parse(tenantId));
+        if (sqlSugarScopeProviderTenant == null) return;
+        base.Context = sqlSugarScopeProviderTenant;
+    }
+
+    #region 鍒嗚〃鎿嶄綔
+
+    public async Task<bool> SplitTableInsertAsync(T input)
+    {
+        return await base.AsInsertable(input).SplitTable().ExecuteCommandAsync() > 0;
+    }
+
+    public async Task<bool> SplitTableInsertAsync(List<T> input)
+    {
+        return await base.AsInsertable(input).SplitTable().ExecuteCommandAsync() > 0;
+    }
+
+    public async Task<bool> SplitTableUpdateAsync(T input)
+    {
+        return await base.AsUpdateable(input).SplitTable().ExecuteCommandAsync() > 0;
+    }
+
+    public async Task<bool> SplitTableUpdateAsync(List<T> input)
+    {
+        return await base.AsUpdateable(input).SplitTable().ExecuteCommandAsync() > 0;
+    }
+
+    public async Task<bool> SplitTableDeleteableAsync(T input)
+    {
+        return await base.Context.Deleteable(input).SplitTable().ExecuteCommandAsync() > 0;
+    }
+
+    public async Task<bool> SplitTableDeleteableAsync(List<T> input)
+    {
+        return await base.Context.Deleteable(input).SplitTable().ExecuteCommandAsync() > 0;
+    }
+
+    public Task<T> SplitTableGetFirstAsync(Expression<Func<T, bool>> whereExpression)
+    {
+        return base.AsQueryable().SplitTable().FirstAsync(whereExpression);
+    }
+
+    public Task<bool> SplitTableIsAnyAsync(Expression<Func<T, bool>> whereExpression)
+    {
+        return base.Context.Queryable<T>().Where(whereExpression).SplitTable().AnyAsync();
+    }
+
+    public Task<List<T>> SplitTableGetListAsync()
+    {
+        return Context.Queryable<T>().SplitTable().ToListAsync();
+    }
+
+    public Task<List<T>> SplitTableGetListAsync(Expression<Func<T, bool>> whereExpression)
+    {
+        return Context.Queryable<T>().Where(whereExpression).SplitTable().ToListAsync();
+    }
+
+    public Task<List<T>> SplitTableGetListAsync(Expression<Func<T, bool>> whereExpression, string[] tableNames)
+    {
+        return Context.Queryable<T>().Where(whereExpression).SplitTable(t => t.InTableNames(tableNames)).ToListAsync();
+    }
+
+    #endregion 鍒嗚〃鎿嶄綔
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs
new file mode 100644
index 0000000..4b276f2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs
@@ -0,0 +1,415 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+// 姝ゆ簮浠g爜閬靛惊浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE 鏂囦欢鐨勮鍙瘉
+
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔�
+
+// 浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屽潎涓庝綔鑰呮棤鍏�
+
+namespace Admin.NET.Core;
+
+public static class SqlSugarSetup
+{
+    // 澶氱鎴峰疄渚�
+    public static ITenant ITenant { get; set; }
+
+    /// <summary>
+    /// SqlSugar 涓婁笅鏂囧垵濮嬪寲
+    /// </summary>
+    /// <param name="services"></param>
+    public static void AddSqlSugar(this IServiceCollection services)
+    {
+        // 娉ㄥ唽闆姳Id
+        var snowIdOpt = App.GetConfig<SnowIdOptions>("SnowId", true);
+        YitIdHelper.SetIdGenerator(snowIdOpt);
+
+        // 鑷畾涔� SqlSugar 闆姳ID绠楁硶
+        SnowFlakeSingle.WorkId = snowIdOpt.WorkerId;
+        StaticConfig.CustomSnowFlakeFunc = () =>
+        {
+            return YitIdHelper.NextId();
+        };
+
+        var dbOptions = App.GetConfig<DbConnectionOptions>("DbConnection", true);
+        dbOptions.ConnectionConfigs.ForEach(SetDbConfig);
+
+        SqlSugarScope sqlSugar = new(dbOptions.ConnectionConfigs.Adapt<List<ConnectionConfig>>(), db =>
+        {
+            dbOptions.ConnectionConfigs.ForEach(config =>
+            {
+                var dbProvider = db.GetConnectionScope(config.ConfigId);
+                SetDbAop(dbProvider, dbOptions.EnableConsoleSql);
+                SetDbDiffLog(dbProvider, config);
+            });
+        });
+        ITenant = sqlSugar;
+
+        services.AddSingleton<ISqlSugarClient>(sqlSugar); // 鍗曚緥娉ㄥ唽
+        services.AddScoped(typeof(SqlSugarRepository<>)); // 浠撳偍娉ㄥ唽
+        services.AddUnitOfWork<SqlSugarUnitOfWork>(); // 浜嬪姟涓庡伐浣滃崟鍏冩敞鍐�
+
+        // 鍒濆鍖栨暟鎹簱琛ㄧ粨鏋勫強绉嶅瓙鏁版嵁
+        dbOptions.ConnectionConfigs.ForEach(config =>
+        {
+            InitDatabase(sqlSugar, config);
+        });
+    }
+
+    /// <summary>
+    /// 閰嶇疆杩炴帴灞炴��
+    /// </summary>
+    /// <param name="config"></param>
+    public static void SetDbConfig(DbConnectionConfig config)
+    {
+        var configureExternalServices = new ConfigureExternalServices
+        {
+            EntityNameService = (type, entity) => // 澶勭悊琛�
+            {
+                entity.IsDisabledDelete = true; // 绂佹鍒犻櫎闈� sqlsugar 鍒涘缓鐨勫垪
+                // 鍙鐞嗚创浜嗙壒鎬SugarTable]琛�
+                if (!type.GetCustomAttributes<SugarTable>().Any())
+                    return;
+                if (config.DbSettings.EnableUnderLine && !entity.DbTableName.Contains('_'))
+                    entity.DbTableName = UtilMethods.ToUnderLine(entity.DbTableName); // 椹煎嘲杞笅鍒掔嚎
+            },
+            EntityService = (type, column) => // 澶勭悊鍒�
+            {
+                // 鍙鐞嗚创浜嗙壒鎬SugarColumn]鍒�
+                if (!type.GetCustomAttributes<SugarColumn>().Any())
+                    return;
+                if (new NullabilityInfoContext().Create(type).WriteState is NullabilityState.Nullable)
+                    column.IsNullable = true;
+                if (config.DbSettings.EnableUnderLine && !column.IsIgnore && !column.DbColumnName.Contains('_'))
+                    column.DbColumnName = UtilMethods.ToUnderLine(column.DbColumnName); // 椹煎嘲杞笅鍒掔嚎
+            },
+            DataInfoCacheService = new SqlSugarCache(),
+        };
+        config.ConfigureExternalServices = configureExternalServices;
+        config.InitKeyType = InitKeyType.Attribute;
+        config.IsAutoCloseConnection = true;
+        config.MoreSettings = new ConnMoreSettings
+        {
+            IsAutoRemoveDataCache = true, // 鍚敤鑷姩鍒犻櫎缂撳瓨锛屾墍鏈夊鍒犳敼浼氳嚜鍔ㄨ皟鐢�.RemoveDataCache()
+            IsAutoDeleteQueryFilter = true, // 鍚敤鍒犻櫎鏌ヨ杩囨护鍣�
+            IsAutoUpdateQueryFilter = true, // 鍚敤鏇存柊鏌ヨ杩囨护鍣�
+            SqlServerCodeFirstNvarchar = true // 閲囩敤Nvarchar
+        };
+    }
+
+    /// <summary>
+    /// 閰嶇疆Aop
+    /// </summary>
+    /// <param name="db"></param>
+    /// <param name="enableConsoleSql"></param>
+    public static void SetDbAop(SqlSugarScopeProvider db, bool enableConsoleSql)
+    {
+        // 璁剧疆瓒呮椂鏃堕棿
+        db.Ado.CommandTimeOut = 30;
+
+        // 鎵撳嵃SQL璇彞
+        if (enableConsoleSql)
+        {
+            db.Aop.OnLogExecuting = (sql, pars) =>
+            {
+                //// 鑻ュ弬鏁板�艰秴杩�100涓瓧绗﹀垯杩涜鎴彇
+                //foreach (var par in pars)
+                //{
+                //    if (par.DbType != System.Data.DbType.String || par.Value == null) continue;
+                //    if (par.Value.ToString().Length > 100)
+                //        par.Value = string.Concat(par.Value.ToString()[..100], "......");
+                //}
+
+                var log = $"銆恵DateTime.Now}鈥斺�旀墽琛孲QL銆慭r\n{UtilMethods.GetNativeSql(sql, pars)}\r\n";
+                var originColor = Console.ForegroundColor;
+                if (sql.StartsWith("SELECT", StringComparison.OrdinalIgnoreCase))
+                    Console.ForegroundColor = ConsoleColor.Green;
+                if (sql.StartsWith("UPDATE", StringComparison.OrdinalIgnoreCase) || sql.StartsWith("INSERT", StringComparison.OrdinalIgnoreCase))
+                    Console.ForegroundColor = ConsoleColor.Yellow;
+                if (sql.StartsWith("DELETE", StringComparison.OrdinalIgnoreCase))
+                    Console.ForegroundColor = ConsoleColor.Red;
+                Console.WriteLine(log);
+                Console.ForegroundColor = originColor;
+                App.PrintToMiniProfiler("SqlSugar", "Info", log);
+            };
+            db.Aop.OnError = ex =>
+            {
+                if (ex.Parametres == null) return;
+                var log = $"銆恵DateTime.Now}鈥斺�旈敊璇疭QL銆慭r\n{UtilMethods.GetNativeSql(ex.Sql, (SugarParameter[])ex.Parametres)}\r\n";
+                var originColor = Console.ForegroundColor;
+                Console.ForegroundColor = ConsoleColor.DarkRed;
+                Console.WriteLine(log);
+                Console.ForegroundColor = originColor;
+                App.PrintToMiniProfiler("SqlSugar", "Error", log);
+            };
+            db.Aop.OnLogExecuted = (sql, pars) =>
+            {
+                //// 鑻ュ弬鏁板�艰秴杩�100涓瓧绗﹀垯杩涜鎴彇
+                //foreach (var par in pars)
+                //{
+                //    if (par.DbType != System.Data.DbType.String || par.Value == null) continue;
+                //    if (par.Value.ToString().Length > 100)
+                //        par.Value = string.Concat(par.Value.ToString()[..100], "......");
+                //}
+
+                // 鎵ц鏃堕棿瓒呰繃5绉掓椂
+                if (db.Ado.SqlExecutionTime.TotalSeconds > 5)
+                {
+                    var fileName = db.Ado.SqlStackTrace.FirstFileName; // 鏂囦欢鍚�
+                    var fileLine = db.Ado.SqlStackTrace.FirstLine; // 琛屽彿
+                    var firstMethodName = db.Ado.SqlStackTrace.FirstMethodName; // 鏂规硶鍚�
+                    var log = $"銆恵DateTime.Now}鈥斺�旇秴鏃禨QL銆慭r\n銆愭墍鍦ㄦ枃浠跺悕銆戯細{fileName}\r\n銆愪唬鐮佽鏁般�戯細{fileLine}\r\n銆愭柟娉曞悕銆戯細{firstMethodName}\r\n" + $"銆怱QL璇彞銆戯細{UtilMethods.GetNativeSql(sql, pars)}";
+                    var originColor = Console.ForegroundColor;
+                    Console.ForegroundColor = ConsoleColor.DarkYellow;
+                    Console.WriteLine(log);
+                    Console.ForegroundColor = originColor;
+                    App.PrintToMiniProfiler("SqlSugar", "Slow", log);
+                }
+            };
+        }
+        // 鏁版嵁瀹¤
+        db.Aop.DataExecuting = (oldValue, entityInfo) =>
+        {
+            // 鏂板/鎻掑叆
+            if (entityInfo.OperationType == DataFilterType.InsertByObject)
+            {
+                // 鑻ヤ富閿槸闀挎暣鍨嬩笖绌哄垯璧嬪�奸洩鑺盜d
+                if (entityInfo.EntityColumnInfo.IsPrimarykey && entityInfo.EntityColumnInfo.PropertyInfo.PropertyType == typeof(long))
+                {
+                    var id = entityInfo.EntityColumnInfo.PropertyInfo.GetValue(entityInfo.EntityValue);
+                    if (id == null || (long)id == 0)
+                        entityInfo.SetValue(YitIdHelper.NextId());
+                }
+                // 鑻ュ垱寤烘椂闂翠负绌哄垯璧嬪�煎綋鍓嶆椂闂�
+                else if ((entityInfo.PropertyName == nameof(EntityBase.CreateTime) || entityInfo.PropertyName == nameof(EntityBase.UpdateTime)) && entityInfo.EntityColumnInfo.PropertyInfo.GetValue(entityInfo.EntityValue) == null)
+                {//鏂板鐨勬椂鍊欏垵濮嬪寲淇敼鏃堕棿 [Editby shaocx,2024-05-23]
+                    entityInfo.SetValue(DateTime.Now);
+                }
+                // 鑻ュ綋鍓嶇敤鎴烽潪绌猴紙web绾跨▼鏃讹級
+                if (App.User != null)
+                {
+                    if (entityInfo.PropertyName == nameof(EntityTenantId.TenantId))
+                    {
+                        var tenantId = ((dynamic)entityInfo.EntityValue).TenantId;
+                        if (tenantId == null || tenantId == 0)
+                            entityInfo.SetValue(App.User.FindFirst(ClaimConst.TenantId)?.Value);
+                    }
+                    else if (entityInfo.PropertyName == nameof(EntityBase.CreateUserId))
+                    {
+                        var createUserId = ((dynamic)entityInfo.EntityValue).CreateUserId;
+                        if (createUserId == 0 || createUserId == null)
+                            entityInfo.SetValue(App.User.FindFirst(ClaimConst.UserId)?.Value);
+                    }
+                    else if (entityInfo.PropertyName == nameof(EntityBase.CreateUserName))
+                    {
+                        var createUserName = ((dynamic)entityInfo.EntityValue).CreateUserName;
+                        if (string.IsNullOrEmpty(createUserName))
+                            entityInfo.SetValue(App.User.FindFirst(ClaimConst.RealName)?.Value);
+                    }
+                    else if (entityInfo.PropertyName == nameof(EntityBase.UpdateUserId))
+                    {//鏂板鐨勬椂鍊欏垵濮嬪寲 [Editby shaocx,2024-05-23]
+                        var updateUserId = ((dynamic)entityInfo.EntityValue).UpdateUserId;
+                        if (updateUserId == 0 || updateUserId == null)
+                            entityInfo.SetValue(App.User.FindFirst(ClaimConst.UserId)?.Value);
+                    }
+                    else if (entityInfo.PropertyName == nameof(EntityBase.UpdateUserName))
+                    {//鏂板鐨勬椂鍊欏垵濮嬪寲 [Editby shaocx,2024-05-23]
+                        var updateUserName = ((dynamic)entityInfo.EntityValue).UpdateUserName;
+                        if (string.IsNullOrEmpty(updateUserName))
+                            entityInfo.SetValue(App.User.FindFirst(ClaimConst.RealName)?.Value);
+                    }
+                    else if (entityInfo.PropertyName == nameof(EntityBaseData.CreateOrgId))
+                    {
+                        var createOrgId = ((dynamic)entityInfo.EntityValue).CreateOrgId;
+                        if (createOrgId == 0 || createOrgId == null)
+                            entityInfo.SetValue(App.User.FindFirst(ClaimConst.OrgId)?.Value);
+                    }
+                    else if (entityInfo.PropertyName == nameof(EntityBaseData.CreateOrgName))
+                    {
+                        var createOrgName = ((dynamic)entityInfo.EntityValue).CreateOrgName;
+                        if (string.IsNullOrEmpty(createOrgName))
+                            entityInfo.SetValue(App.User.FindFirst(ClaimConst.OrgName)?.Value);
+                    }
+                }
+            }
+            // 缂栬緫/鏇存柊
+            else if (entityInfo.OperationType == DataFilterType.UpdateByObject)
+            {
+                if (entityInfo.PropertyName == nameof(EntityBase.UpdateTime))
+                    entityInfo.SetValue(DateTime.Now);
+                else if (entityInfo.PropertyName == nameof(EntityBase.UpdateUserId))
+                    entityInfo.SetValue(App.User?.FindFirst(ClaimConst.UserId)?.Value);
+                else if (entityInfo.PropertyName == nameof(EntityBase.UpdateUserName))
+                    entityInfo.SetValue(App.User?.FindFirst(ClaimConst.RealName)?.Value);
+            }
+        };
+
+        // 瓒呯鎺掗櫎鍏朵粬杩囨护鍣�
+        if (App.User?.FindFirst(ClaimConst.AccountType)?.Value == ((int)AccountTypeEnum.SuperAdmin).ToString())
+            return;
+
+        // 閰嶇疆鍋囧垹闄よ繃婊ゅ櫒
+        db.QueryFilter.AddTableFilter<IDeletedFilter>(u => u.IsDelete == false);
+
+        // 閰嶇疆绉熸埛杩囨护鍣�
+        var tenantId = App.User?.FindFirst(ClaimConst.TenantId)?.Value;
+        if (!string.IsNullOrWhiteSpace(tenantId))
+            db.QueryFilter.AddTableFilter<ITenantIdFilter>(u => u.TenantId == long.Parse(tenantId));
+
+        // 閰嶇疆鐢ㄦ埛鏈烘瀯锛堟暟鎹寖鍥达級杩囨护鍣�
+        SqlSugarFilter.SetOrgEntityFilter(db);
+
+        // 閰嶇疆鑷畾涔夎繃婊ゅ櫒
+        SqlSugarFilter.SetCustomEntityFilter(db);
+    }
+
+    /// <summary>
+    /// 寮�鍚簱琛ㄥ樊寮傚寲鏃ュ織
+    /// </summary>
+    /// <param name="db"></param>
+    /// <param name="config"></param>
+    private static void SetDbDiffLog(SqlSugarScopeProvider db, DbConnectionConfig config)
+    {
+        if (!config.DbSettings.EnableDiffLog) return;
+
+        db.Aop.OnDiffLogEvent = async u =>
+        {
+            var logDiff = new SysLogDiff
+            {
+                // 鎿嶄綔鍚庤褰曪紙瀛楁鎻忚堪銆佸垪鍚嶃�佸�笺�佽〃鍚嶃�佽〃鎻忚堪锛�
+                AfterData = JSON.Serialize(u.AfterData),
+                // 鎿嶄綔鍓嶈褰曪紙瀛楁鎻忚堪銆佸垪鍚嶃�佸�笺�佽〃鍚嶃�佽〃鎻忚堪锛�
+                BeforeData = JSON.Serialize(u.BeforeData),
+                // 浼犺繘鏉ョ殑瀵硅薄锛堝鏋滃璞′负绌猴紝鍒欎娇鐢ㄩ涓暟鎹殑琛ㄥ悕浣滀负涓氬姟瀵硅薄锛�
+                BusinessData = u.BusinessData == null ? u.AfterData.FirstOrDefault()?.TableName : JSON.Serialize(u.BusinessData),
+                // 鏋氫妇锛坕nsert銆乽pdate銆乨elete锛�
+                DiffType = u.DiffType.ToString(),
+                Sql = UtilMethods.GetNativeSql(u.Sql, u.Parameters),
+                Parameters = JSON.Serialize(u.Parameters),
+                Elapsed = u.Time == null ? 0 : (long)u.Time.Value.TotalMilliseconds
+            };
+            var logDb = ITenant.IsAnyConnection(SqlSugarConst.LogConfigId) ? ITenant.GetConnectionScope(SqlSugarConst.LogConfigId) : db;
+            await logDb.CopyNew().Insertable(logDiff).ExecuteCommandAsync();
+            Console.ForegroundColor = ConsoleColor.Red;
+            Console.WriteLine(DateTime.Now + $"\r\n*****寮�濮嬪樊寮傛棩蹇�*****\r\n{Environment.NewLine}{JSON.Serialize(logDiff)}{Environment.NewLine}*****缁撴潫宸紓鏃ュ織*****\r\n");
+        };
+    }
+
+    /// <summary>
+    /// 鍒濆鍖栨暟鎹簱
+    /// </summary>
+    /// <param name="db"></param>
+    /// <param name="config"></param>
+    private static void InitDatabase(SqlSugarScope db, DbConnectionConfig config)
+    {
+        SqlSugarScopeProvider dbProvider = db.GetConnectionScope(config.ConfigId);
+
+        // 鍒濆鍖�/鍒涘缓鏁版嵁搴�
+        if (config.DbSettings.EnableInitDb)
+        {
+            if (config.DbType != SqlSugar.DbType.Oracle)
+                dbProvider.DbMaintenance.CreateDatabase();
+        }
+
+        // 鍒濆鍖栬〃缁撴瀯
+        if (config.TableSettings.EnableInitTable)
+        {
+            var entityTypes = App.EffectiveTypes.Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass && u.IsDefined(typeof(SugarTable), false))
+                .WhereIF(config.TableSettings.EnableIncreTable, u => u.IsDefined(typeof(IncreTableAttribute), false)).ToList();
+
+            if (config.ConfigId.ToString() == SqlSugarConst.MainConfigId) // 榛樿搴擄紙鏈夌郴缁熻〃鐗规�с�佹病鏈夋棩蹇楄〃鍜岀鎴疯〃鐗规�э級
+                entityTypes = entityTypes.Where(u => u.GetCustomAttributes<SysTableAttribute>().Any() || (!u.GetCustomAttributes<LogTableAttribute>().Any() && !u.GetCustomAttributes<TenantAttribute>().Any())).ToList();
+            else if (config.ConfigId.ToString() == SqlSugarConst.LogConfigId) // 鏃ュ織搴�
+                entityTypes = entityTypes.Where(u => u.GetCustomAttributes<LogTableAttribute>().Any()).ToList();
+            else
+                entityTypes = entityTypes.Where(u => u.GetCustomAttribute<TenantAttribute>()?.configId.ToString() == config.ConfigId.ToString()).ToList(); // 鑷畾涔夌殑搴�
+
+            foreach (var entityType in entityTypes)
+            {
+                if (entityType.GetCustomAttribute<SplitTableAttribute>() == null)
+                    dbProvider.CodeFirst.InitTables(entityType);
+                else
+                    dbProvider.CodeFirst.SplitTables().InitTables(entityType);
+            }
+        }
+
+        // 鍒濆鍖栫瀛愭暟鎹�
+        if (config.SeedSettings.EnableInitSeed)
+        {
+            var seedDataTypes = App.EffectiveTypes.Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass && u.GetInterfaces().Any(i => i.HasImplementedRawGeneric(typeof(ISqlSugarEntitySeedData<>))))
+                .WhereIF(config.SeedSettings.EnableIncreSeed, u => u.IsDefined(typeof(IncreSeedAttribute), false)).ToList();
+
+            foreach (var seedType in seedDataTypes)
+            {
+                var entityType = seedType.GetInterfaces().First().GetGenericArguments().First();
+                if (config.ConfigId.ToString() == SqlSugarConst.MainConfigId) // 榛樿搴擄紙鏈夌郴缁熻〃鐗规�с�佹病鏈夋棩蹇楄〃鍜岀鎴疯〃鐗规�э級
+                {
+                    if (entityType.GetCustomAttribute<SysTableAttribute>() == null && (entityType.GetCustomAttribute<LogTableAttribute>() != null || entityType.GetCustomAttribute<TenantAttribute>() != null))
+                        continue;
+                }
+                else if (config.ConfigId.ToString() == SqlSugarConst.LogConfigId) // 鏃ュ織搴�
+                {
+                    if (entityType.GetCustomAttribute<LogTableAttribute>() == null)
+                        continue;
+                }
+                else
+                {
+                    var att = entityType.GetCustomAttribute<TenantAttribute>(); // 鑷畾涔夌殑搴�
+                    if (att == null || att.configId.ToString() != config.ConfigId.ToString()) continue;
+                }
+
+                var instance = Activator.CreateInstance(seedType);
+                var hasDataMethod = seedType.GetMethod("HasData");
+                var seedData = ((IEnumerable)hasDataMethod?.Invoke(instance, null))?.Cast<object>();
+                if (seedData == null) continue;
+
+                var entityInfo = dbProvider.EntityMaintenance.GetEntityInfo(entityType);
+                if (entityInfo.Columns.Any(u => u.IsPrimarykey))
+                {
+                    // 鎸変富閿繘琛屾壒閲忓鍔犲拰鏇存柊
+                    var storage = dbProvider.StorageableByObject(seedData.ToList()).ToStorage();
+                    storage.AsInsertable.ExecuteCommand();
+                    storage.AsUpdateable.ExecuteCommand();
+                }
+                else
+                {
+                    // 鏃犱富閿垯鍙繘琛屾彃鍏�
+                    if (!dbProvider.Queryable(entityInfo.DbTableName, entityInfo.DbTableName).Any())
+                        dbProvider.InsertableByObject(seedData.ToList()).ExecuteCommand();
+                }
+            }
+        }
+    }
+
+    /// <summary>
+    /// 鍒濆鍖栫鎴蜂笟鍔℃暟鎹簱
+    /// </summary>
+    /// <param name="iTenant"></param>
+    /// <param name="config"></param>
+    public static void InitTenantDatabase(ITenant iTenant, DbConnectionConfig config)
+    {
+        SetDbConfig(config);
+
+        if (!iTenant.IsAnyConnection(config.ConfigId.ToString()))
+            iTenant.AddConnection(config);
+        var db = iTenant.GetConnectionScope(config.ConfigId.ToString());
+        db.DbMaintenance.CreateDatabase();
+
+        // 鑾峰彇鎵�鏈変笟鍔¤〃-鍒濆鍖栫鎴峰簱琛ㄧ粨鏋勶紙鎺掗櫎绯荤粺琛ㄣ�佹棩蹇楄〃銆佺壒瀹氬簱琛級
+        var entityTypes = App.EffectiveTypes.Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass && u.IsDefined(typeof(SugarTable), false) &&
+            !u.IsDefined(typeof(SysTableAttribute), false) && !u.IsDefined(typeof(LogTableAttribute), false) && !u.IsDefined(typeof(TenantAttribute), false)).ToList();
+        if (!entityTypes.Any()) return;
+
+        foreach (var entityType in entityTypes)
+        {
+            var splitTable = entityType.GetCustomAttribute<SplitTableAttribute>();
+            if (splitTable == null)
+                db.CodeFirst.InitTables(entityType);
+            else
+                db.CodeFirst.SplitTables().InitTables(entityType);
+        }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarUnitOfWork.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarUnitOfWork.cs
new file mode 100644
index 0000000..0975eef
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/SqlSugar/SqlSugarUnitOfWork.cs
@@ -0,0 +1,71 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// SqlSugar 浜嬪姟鍜屽伐浣滃崟鍏�
+/// </summary>
+public sealed class SqlSugarUnitOfWork : IUnitOfWork
+{
+    /// <summary>
+    /// SqlSugar 瀵硅薄
+    /// </summary>
+    private readonly ISqlSugarClient _sqlSugarClient;
+
+    /// <summary>
+    /// 鏋勯�犲嚱鏁�
+    /// </summary>
+    /// <param name="sqlSugarClient"></param>
+    public SqlSugarUnitOfWork(ISqlSugarClient sqlSugarClient)
+    {
+        _sqlSugarClient = sqlSugarClient;
+    }
+
+    /// <summary>
+    /// 寮�鍚伐浣滃崟鍏冨鐞�
+    /// </summary>
+    /// <param name="context"></param>
+    /// <param name="unitOfWork"></param>
+    /// <exception cref="NotImplementedException"></exception>
+    public void BeginTransaction(FilterContext context, UnitOfWorkAttribute unitOfWork)
+    {
+        _sqlSugarClient.AsTenant().BeginTran();
+    }
+
+    /// <summary>
+    /// 鎻愪氦宸ヤ綔鍗曞厓澶勭悊
+    /// </summary>
+    /// <param name="resultContext"></param>
+    /// <param name="unitOfWork"></param>
+    /// <exception cref="NotImplementedException"></exception>
+    public void CommitTransaction(FilterContext resultContext, UnitOfWorkAttribute unitOfWork)
+    {
+        _sqlSugarClient.AsTenant().CommitTran();
+    }
+
+    /// <summary>
+    /// 鍥炴粴宸ヤ綔鍗曞厓澶勭悊
+    /// </summary>
+    /// <param name="resultContext"></param>
+    /// <param name="unitOfWork"></param>
+    /// <exception cref="NotImplementedException"></exception>
+    public void RollbackTransaction(FilterContext resultContext, UnitOfWorkAttribute unitOfWork)
+    {
+        _sqlSugarClient.AsTenant().RollbackTran();
+    }
+
+    /// <summary>
+    /// 鎵ц瀹屾瘯锛堟棤璁烘垚鍔熷け璐ワ級
+    /// </summary>
+    /// <param name="context"></param>
+    /// <param name="resultContext"></param>
+    /// <exception cref="NotImplementedException"></exception>
+    public void OnCompleted(FilterContext context, FilterContext resultContext)
+    {
+        _sqlSugarClient.Dispose();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/AdminResultProvider.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/AdminResultProvider.cs
new file mode 100644
index 0000000..0f23d4f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/AdminResultProvider.cs
@@ -0,0 +1,148 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鍏ㄥ眬瑙勮寖鍖栫粨鏋�
+/// </summary>
+[UnifyModel(typeof(AdminResult<>))]
+public class AdminResultProvider : IUnifyResultProvider
+{
+    /// <summary>
+    /// 寮傚父杩斿洖鍊�
+    /// </summary>
+    /// <param name="context"></param>
+    /// <param name="metadata"></param>
+    /// <returns></returns>
+    public IActionResult OnException(ExceptionContext context, ExceptionMetadata metadata)
+    {
+        return new JsonResult(RESTfulResult(metadata.StatusCode, data: metadata.Data, errors: metadata.Errors), UnifyContext.GetSerializerSettings(context));
+    }
+
+    /// <summary>
+    /// 鎴愬姛杩斿洖鍊�
+    /// </summary>
+    /// <param name="context"></param>
+    /// <param name="data"></param>
+    /// <returns></returns>
+    public IActionResult OnSucceeded(ActionExecutedContext context, object data)
+    {
+        return new JsonResult(RESTfulResult(StatusCodes.Status200OK, true, data), UnifyContext.GetSerializerSettings(context));
+    }
+
+    /// <summary>
+    /// 楠岃瘉澶辫触杩斿洖鍊�
+    /// </summary>
+    /// <param name="context"></param>
+    /// <param name="metadata"></param>
+    /// <returns></returns>
+    public IActionResult OnValidateFailed(ActionExecutingContext context, ValidationMetadata metadata)
+    {
+        return new JsonResult(RESTfulResult(metadata.StatusCode ?? StatusCodes.Status400BadRequest, data: metadata.Data, errors: metadata.ValidationResult), UnifyContext.GetSerializerSettings(context));
+    }
+
+    /// <summary>
+    /// 鐗瑰畾鐘舵�佺爜杩斿洖鍊�
+    /// </summary>
+    /// <param name="context"></param>
+    /// <param name="statusCode"></param>
+    /// <param name="unifyResultSettings"></param>
+    /// <returns></returns>
+    public async Task OnResponseStatusCodes(HttpContext context, int statusCode, UnifyResultSettingsOptions unifyResultSettings)
+    {
+        // 璁剧疆鍝嶅簲鐘舵�佺爜
+        UnifyContext.SetResponseStatusCodes(context, statusCode, unifyResultSettings);
+
+        switch (statusCode)
+        {
+            // 澶勭悊 401 鐘舵�佺爜
+            case StatusCodes.Status401Unauthorized:
+                var msg = "401 鐧诲綍宸茶繃鏈燂紝璇烽噸鏂扮櫥褰�";
+                // 鑻ュ瓨鍦ㄨ韩浠介獙璇佸け璐ユ秷鎭紝鍒欒繑鍥炴秷鎭唴瀹�
+                if (context.Items.TryGetValue(SignatureAuthenticationDefaults.AuthenticateFailMsgKey, out var authFailMsg))
+                    msg = authFailMsg + "";
+                await context.Response.WriteAsJsonAsync(RESTfulResult(statusCode, errors: msg),
+                    App.GetOptions<JsonOptions>()?.JsonSerializerOptions);
+                break;
+            // 澶勭悊 403 鐘舵�佺爜
+            case StatusCodes.Status403Forbidden:
+                await context.Response.WriteAsJsonAsync(RESTfulResult(statusCode, errors: "403 绂佹璁块棶锛屾病鏈夋潈闄�"),
+                    App.GetOptions<JsonOptions>()?.JsonSerializerOptions);
+                break;
+
+            default: break;
+        }
+    }
+
+    /// <summary>
+    /// 杩斿洖 RESTful 椋庢牸缁撴灉闆�
+    /// </summary>
+    /// <param name="statusCode"></param>
+    /// <param name="succeeded"></param>
+    /// <param name="data"></param>
+    /// <param name="errors"></param>
+    /// <returns></returns>
+    private static AdminResult<object> RESTfulResult(int statusCode, bool succeeded = default, object data = default, object errors = default)
+    {
+        //// 缁熶竴杩斿洖鍊艰劚鏁忓鐞�
+        //if (data?.GetType() == typeof(String))
+        //{
+        //    data = App.GetRequiredService<ISensitiveDetectionProvider>().ReplaceAsync(data.ToString(), '*').GetAwaiter().GetResult();
+        //}
+        //else if (data?.GetType() == typeof(JsonResult))
+        //{
+        //    data = App.GetRequiredService<ISensitiveDetectionProvider>().ReplaceAsync(JSON.Serialize(data), '*').GetAwaiter().GetResult();
+        //}
+
+        return new AdminResult<object>
+        {
+            Code = statusCode,
+            Message = errors is null or string ? (errors + "") : JSON.Serialize(errors),
+            Result = data,
+            Type = succeeded ? "success" : "error",
+            Extras = UnifyContext.Take(),
+            Time = DateTime.Now
+        };
+    }
+}
+
+/// <summary>
+/// 鍏ㄥ眬杩斿洖缁撴灉
+/// </summary>
+/// <typeparam name="T"></typeparam>
+public class AdminResult<T>
+{
+    /// <summary>
+    /// 鐘舵�佺爜
+    /// </summary>
+    public int Code { get; set; }
+
+    /// <summary>
+    /// 绫诲瀷success銆亀arning銆乪rror
+    /// </summary>
+    public string Type { get; set; }
+
+    /// <summary>
+    /// 閿欒淇℃伅
+    /// </summary>
+    public string Message { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁
+    /// </summary>
+    public T Result { get; set; }
+
+    /// <summary>
+    /// 闄勫姞鏁版嵁
+    /// </summary>
+    public object Extras { get; set; }
+
+    /// <summary>
+    /// 鏃堕棿
+    /// </summary>
+    public DateTime Time { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/BaseIdInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/BaseIdInput.cs
new file mode 100644
index 0000000..bdc86b2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/BaseIdInput.cs
@@ -0,0 +1,20 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 涓婚敭Id杈撳叆鍙傛暟
+/// </summary>
+public class BaseIdInput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    [Required(ErrorMessage = "Id涓嶈兘涓虹┖")]
+    [DataValidation(ValidationTypes.Numeric)]
+    public virtual long Id { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/BasePageInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/BasePageInput.cs
new file mode 100644
index 0000000..88203f6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/BasePageInput.cs
@@ -0,0 +1,41 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鍏ㄥ眬鍒嗛〉鏌ヨ杈撳叆鍙傛暟
+/// </summary>
+public class BasePageInput
+{
+    /// <summary>
+    /// 褰撳墠椤电爜
+    /// </summary>
+    [DataValidation(ValidationTypes.Numeric)]
+    public virtual int Page { get; set; } = 1;
+
+    /// <summary>
+    /// 椤电爜瀹归噺
+    /// </summary>
+    //[Range(0, 100, ErrorMessage = "椤电爜瀹归噺瓒呰繃鏈�澶ч檺鍒�")]
+    [DataValidation(ValidationTypes.Numeric)]
+    public virtual int PageSize { get; set; } = 20;
+
+    /// <summary>
+    /// 鎺掑簭瀛楁
+    /// </summary>
+    public virtual string Field { get; set; }
+
+    /// <summary>
+    /// 鎺掑簭鏂瑰悜
+    /// </summary>
+    public virtual string Order { get; set; }
+
+    /// <summary>
+    /// 闄嶅簭鎺掑簭
+    /// </summary>
+    public virtual string DescStr { get; set; } = "descending";
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/CodeGenUtil.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/CodeGenUtil.cs
new file mode 100644
index 0000000..1f136a6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/CodeGenUtil.cs
@@ -0,0 +1,410 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Admin.NET.Core.Service;
+using DbType = SqlSugar.DbType;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 浠g爜鐢熸垚甯姪绫�
+/// </summary>
+public static class CodeGenUtil
+{
+    /// <summary>
+    /// 杞崲澶ч┘宄版硶鍛藉悕
+    /// </summary>
+    /// <param name="columnName">瀛楁鍚�</param>
+    /// <param name="dbColumnNames">EntityBase 瀹炰綋灞炴�у悕绉�</param>
+    /// <returns></returns>
+    public static string CamelColumnName(string columnName, string[] dbColumnNames)
+    {
+        if (columnName.Contains('_'))
+        {
+            var arrColName = columnName.Split('_');
+            var sb = new StringBuilder();
+            foreach (var col in arrColName)
+            {
+                if (col.Length > 0)
+                    sb.Append(col[..1].ToUpper() + col[1..].ToLower());
+            }
+            columnName = sb.ToString();
+        }
+        else
+        {
+            var propertyName = dbColumnNames.FirstOrDefault(c => c.ToLower() == columnName.ToLower());
+            if (!string.IsNullOrEmpty(propertyName))
+            {
+                columnName = propertyName;
+            }
+            else
+            {
+                columnName = columnName[..1].ToUpper() + columnName[1..].ToLower();
+            }
+        }
+        return columnName;
+    }
+
+
+    public static string ConvertDataType(string dataType)
+    {
+        if (string.IsNullOrEmpty(dataType)) return "";
+        if (dataType.StartsWith("System.Nullable"))
+            dataType = new Regex(@"(?i)(?<=\[)(.*)(?=\])").Match(dataType).Value; // 涓嫭鍙穂]閲岄潰鍊�
+
+        switch (dataType)
+        {
+            case "System.Guid": return "Guid";
+            case "System.String": return "string";
+            case "System.Int32": return "int";
+            case "System.Int64": return "long";
+            case "System.Single": return "float";
+            case "System.Double": return "double";
+            case "System.Decimal": return "decimal";
+            case "System.Boolean": return "bool";
+            case "System.DateTime": return "DateTime";
+            case "System.DateTimeOffset": return "DateTimeOffset";
+            case "System.Byte": return "byte";
+            case "System.Byte[]": return "byte[]";
+            default:
+                break;
+        }
+        return dataType;
+    }
+
+    // 鏍规嵁鏁版嵁搴撶被鍨嬫潵澶勭悊瀵瑰簲鐨勬暟鎹瓧娈电被鍨�
+    public static string ConvertDataType(DbColumnInfo dbColumnInfo, DbType dbType = DbType.Custom)
+    {
+        if (dbType == DbType.Custom)
+            dbType = App.GetOptions<DbConnectionOptions>().ConnectionConfigs[0].DbType;
+
+        var dataType = dbType switch
+        {
+            DbType.Oracle => ConvertDataType_OracleSQL(string.IsNullOrEmpty(dbColumnInfo.OracleDataType) ? dbColumnInfo.DataType : dbColumnInfo.OracleDataType, dbColumnInfo.Length, dbColumnInfo.Scale),
+            DbType.PostgreSQL => ConvertDataType_PostgreSQL(dbColumnInfo.DataType),
+            _ => ConvertDataType_Default(dbColumnInfo.DataType),
+        };
+        return dataType + (dbColumnInfo.IsNullable ? "?" : "");
+    }
+
+    public static string ConvertDataType_OracleSQL(string dataType, int? length, int? scale)
+    {
+        switch (dataType.ToLower())
+        {
+            case "interval year to month":
+                return "int";
+
+            case "interval day to second":
+                return "TimeSpan";
+
+            case "smallint":
+                return "Int16";
+
+            case "int":
+            case "integer":
+                return "int";
+
+            case "long":
+                return "long";
+
+            case "float":
+                return "float";
+
+            case "decimal":
+                return "decimal";
+
+            case "number":
+                if (length != null)
+                {
+                    if (scale != null && scale > 0)
+                    {
+                        return "decimal";
+                    }
+                    else if ((scale != null && scale == 0) || scale == null)
+                    {
+                        if (length > 1 && length < 12)
+                        {
+                            return "int";
+                        }
+                        else if (length > 11)
+                        {
+                            return "long";
+                        }
+                    }
+                    if (length == 1)
+                    {
+                        return "bool";
+                    }
+                }
+                return "decimal";
+
+            case "char":
+            case "clob":
+            case "nclob":
+            case "nchar":
+            case "nvarchar":
+            case "varchar":
+            case "nvarchar2":
+            case "varchar2":
+            case "rowid":
+                return "string";
+
+            case "timestamp":
+            case "timestamp with time zone":
+            case "timestamptz":
+            case "timestamp without time zone":
+            case "date":
+            case "time":
+            case "time with time zone":
+            case "timetz":
+            case "time without time zone":
+                return "DateTime";
+
+            case "bfile":
+            case "blob":
+            case "raw":
+                return "byte[]";
+
+            default:
+                return "object";
+        }
+    }
+
+    //PostgreSQL鏁版嵁绫诲瀷瀵瑰簲鐨勫瓧娈电被鍨�
+    public static string ConvertDataType_PostgreSQL(string dataType)
+    {
+        switch (dataType)
+        {
+            case "int2":
+            case "smallint":
+                return "Int16";
+
+            case "int4":
+            case "integer":
+                return "int";
+
+            case "int8":
+            case "bigint":
+                return "long";
+
+            case "float4":
+            case "real":
+                return "float";
+
+            case "float8":
+            case "double precision":
+                return "double";
+
+            case "numeric":
+            case "decimal":
+            case "path":
+            case "point":
+            case "polygon":
+            case "interval":
+            case "lseg":
+            case "macaddr":
+            case "money":
+                return "decimal";
+
+            case "boolean":
+            case "bool":
+            case "box":
+            case "bytea":
+                return "bool";
+
+            case "varchar":
+            case "character varying":
+            case "geometry":
+            case "name":
+            case "text":
+            case "char":
+            case "character":
+            case "cidr":
+            case "circle":
+            case "tsquery":
+            case "tsvector":
+            case "txid_snapshot":
+            case "xml":
+            case "json":
+                return "string";
+
+            case "uuid":
+                return "Guid";
+
+            case "timestamp":
+            case "timestamp with time zone":
+            case "timestamptz":
+            case "timestamp without time zone":
+            case "date":
+            case "time":
+            case "time with time zone":
+            case "timetz":
+            case "time without time zone":
+                return "DateTime";
+
+            case "bit":
+            case "bit varying":
+                return "byte[]";
+
+            case "varbit":
+                return "byte";
+
+            default:
+                return "object";
+        }
+    }
+
+    public static string ConvertDataType_Default(string dataType)
+    {
+        return dataType.ToLower() switch
+        {
+            "tinytext" or "mediumtext" or "longtext" or "mid" or "text" or "varchar" or "char" or "nvarchar" or "nchar" or "timestamp" => "string",
+            "int" => "int",
+            "smallint" => "Int16",
+            //"tinyint" => "byte",
+            "tinyint" => "bool",    // MYSQL
+            "bigint" or "integer" => "long",
+            "bit" => "bool",
+            "money" or "smallmoney" or "numeric" or "decimal" => "decimal",
+            "real" => "Single",
+            "datetime" or "smalldatetime" => "DateTime",
+            "float" or "double" => "double",
+            "image" or "binary" or "varbinary" => "byte[]",
+            "uniqueidentifier" => "Guid",
+            _ => "object",
+        };
+    }
+
+    /// <summary>
+    /// 鏁版嵁绫诲瀷杞樉绀虹被鍨�
+    /// </summary>
+    /// <param name="dataType"></param>
+    /// <returns></returns>
+    public static string DataTypeToEff(string dataType)
+    {
+        if (string.IsNullOrEmpty(dataType)) return "";
+        return dataType?.TrimEnd('?') switch
+        {
+            "string" => "Input",
+            "int" => "InputNumber",
+            "long" => "Input",
+            "float" => "Input",
+            "double" => "Input",
+            "decimal" => "Input",
+            "bool" => "Switch",
+            "Guid" => "Input",
+            "DateTime" => "DatePicker",
+            _ => "Input",
+        };
+    }
+
+    // 鏄惁閫氱敤瀛楁
+    public static bool IsCommonColumn(string columnName)
+    {
+        var columnList = new List<string>()
+        {
+            nameof(EntityBaseData.CreateOrgId),
+            nameof(EntityTenant.TenantId),
+            //淇敼锛屾樉绀哄嚭 鏃ユ湡 銆怑ditby shaocx,2024-05-07銆�
+            //nameof(EntityBase.CreateTime),
+            //nameof(EntityBase.UpdateTime),
+            nameof(EntityBase.CreateUserId),
+            nameof(EntityBase.UpdateUserId),
+            //nameof(EntityBase.CreateUserName),
+            //nameof(EntityBase.UpdateUserName),
+            nameof(EntityBase.IsDelete)
+        };
+        return columnList.Contains(columnName);
+    }
+
+    // 鏄惁涓嶅鏀规煡璇㈠瓧娈�
+    public static bool IsNoNeedCurdColumn(string columnName)
+    {
+        var columnList = new List<string>()
+        {
+            nameof(EntityBase.CreateTime),
+            nameof(EntityBase.UpdateTime),
+            nameof(EntityBase.CreateUserName),
+            nameof(EntityBase.UpdateUserName)
+        };
+        return columnList.Contains(columnName);
+    }
+
+    // 鏄惁鏄� 鍩虹鏃堕棿瀛楁 
+    public static bool IsEntityBaseTimeColumn(string columnName)
+    {
+        var columnList = new List<string>()
+        {
+            nameof(EntityBase.CreateTime),
+            nameof(EntityBase.UpdateTime)
+        };
+        return columnList.Contains(columnName);
+    }
+
+
+    ///// <summary>
+    ///// 鏍¢獙 浠g爜閰嶇疆
+    ///// </summary>
+    ///// <param name="list"></param>
+    //public static void ValidateCodeGenConfig(List<SysCodeGenConfig> list)
+    //{
+    //    //濡傛灉鏄笅鎷夋锛岄偅涔堝氨蹇呴』閫夋嫨瀛楀吀锛併�怑ditby shaocx,2024-04-16銆�
+    //    foreach (var item in list)
+    //    {
+    //        if (IsSelect(item.EffectType) && string.IsNullOrEmpty(item.DictTypeCode))
+    //        {
+    //            throw Oops.Oh($"瀛楁{item.ColumnName}鐨勪綔鐢ㄧ被鍨嬫槸'涓嬫媺妗�',瀛楀吀蹇呴』閫夋嫨锛�");
+    //        }
+    //        if (IsIngoreConfigAddEdit(item.ColumnName.ToLower()) && item.WhetherRequired == YesNoEnum.Y.ToString() && item.WhetherAddUpdate == YesNoEnum.N.ToString())
+    //        {
+    //            throw Oops.Oh($"瀛楁{item.ColumnName}蹇呭~瀛楁蹇呴』閰嶇疆澧炴敼锛�");
+    //        }
+    //    }
+    //}
+
+    /// <summary>
+    /// 鏍¢獙 浠g爜閰嶇疆
+    /// </summary>
+    /// <param name="list"></param>
+    public static void ValidateCodeGenConfig(List<CodeGenConfig> list)
+    {
+        //濡傛灉鏄笅鎷夋锛岄偅涔堝氨蹇呴』閫夋嫨瀛楀吀锛併�怑ditby shaocx,2024-04-16銆�
+        foreach (var item in list)
+        {
+            if (IsSelect(item.EffectType) && string.IsNullOrEmpty(item.DictTypeCode))
+            {
+                throw Oops.Oh($"瀛楁{item.ColumnName}鐨勪綔鐢ㄧ被鍨嬫槸'涓嬫媺妗�',瀛楀吀蹇呴』閫夋嫨锛�");
+            }
+            if (IsIngoreConfigAddEdit(item.ColumnName.ToLower()) && item.WhetherRequired == YesNoEnum.Y.ToString() && item.WhetherAddUpdate == YesNoEnum.N.ToString())
+            {
+                throw Oops.Oh($"瀛楁{item.ColumnName}蹇呭~瀛楁蹇呴』閰嶇疆澧炴敼锛�");
+            }
+
+            if (item.WhetherTable == YesNoEnum.N.ToString() && item.WhetherKeyQuery == YesNoEnum.Y.ToString())
+            {
+                throw Oops.Oh($"瀛楁{item.ColumnName}鍒楄缃笉鏄剧ず浣嗘槸閰嶇疆浜嗗叧閿瓧鏌ヨ锛�");
+            }
+        }
+    }
+
+    public static bool IsSelect(string effectType)
+    {
+        if (effectType.ToLower() == "select" || effectType == "EnumSelector")
+        {
+            return true;
+        }
+        return false;
+    }
+
+    public static bool IsIngoreConfigAddEdit(string columnName)
+    {
+        if (columnName.ToLower() != "id" && columnName.ToLower() != "isdelete")
+        {
+            return true;
+        }
+        return false;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/CommonUtil.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/CommonUtil.cs
new file mode 100644
index 0000000..fcf5497
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/CommonUtil.cs
@@ -0,0 +1,185 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Magicodes.ExporterAndImporter.Core.Models;
+using System.Xml;
+using System.Xml.Linq;
+using System.Xml.Serialization;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 閫氱敤宸ュ叿绫�
+/// </summary>
+public static class CommonUtil
+{
+    /// <summary>
+    /// 鐢熸垚鐧惧垎鏁�
+    /// </summary>
+    /// <param name="PassCount"></param>
+    /// <param name="allCount"></param>
+    /// <returns></returns>
+    public static string ExecPercent(decimal PassCount, decimal allCount)
+    {
+        string res = "";
+        if (allCount > 0)
+        {
+            var value = (double)Math.Round(PassCount / allCount * 100, 1);
+            if (value < 0)
+                res = Math.Round(value + 5 / Math.Pow(10, 0 + 1), 0, MidpointRounding.AwayFromZero).ToString();
+            else
+                res = Math.Round(value, 0, MidpointRounding.AwayFromZero).ToString();
+        }
+        if (res == "") res = "0";
+        return res + "%";
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏈嶅姟鍦板潃
+    /// </summary>
+    /// <returns></returns>
+    public static string GetLocalhost()
+    {
+        string result = $"{App.HttpContext.Request.Scheme}://{App.HttpContext.Request.Host.Value}";
+
+        // 浠g悊妯″紡锛氳幏鍙栫湡姝g殑鏈満鍦板潃
+        // X-Original-Host=鍘熷璇锋眰
+        // X-Forwarded-Server=浠庡摢閲岃浆鍙戣繃鏉�
+        if (App.HttpContext.Request.Headers.ContainsKey("Origin")) // 閰嶇疆鎴愬畬鏁寸殑璺緞濡傦紙缁撳熬涓嶈甯�"/"锛�,姣斿 https://www.abc.com
+            result = $"{App.HttpContext.Request.Headers["Origin"]}";
+        else if (App.HttpContext.Request.Headers.ContainsKey("X-Original")) // 閰嶇疆鎴愬畬鏁寸殑璺緞濡傦紙缁撳熬涓嶈甯�"/"锛�,姣斿 https://www.abc.com
+            result = $"{App.HttpContext.Request.Headers["X-Original"]}";
+        else if (App.HttpContext.Request.Headers.ContainsKey("X-Original-Host"))
+            result = $"{App.HttpContext.Request.Scheme}://{App.HttpContext.Request.Headers["X-Original-Host"]}";
+        return result;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏈嶅姟鍦板潃
+    /// </summary>
+    /// <returns></returns>
+    public static string GetServerhost()
+    {
+        string result = $"{App.HttpContext.Request.Scheme}://{App.HttpContext.Request.Host.Value}";
+        return result;
+    }
+
+    /// <summary>
+    /// 瀵硅薄搴忓垪鍖朮ML
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="obj"></param>
+    /// <returns></returns>
+    public static string SerializeObjectToXml<T>(T obj)
+    {
+        if (obj == null) return string.Empty;
+
+        var xs = new XmlSerializer(obj.GetType());
+        var stream = new MemoryStream();
+        var setting = new XmlWriterSettings
+        {
+            Encoding = new UTF8Encoding(false), // 涓嶅寘鍚獴OM
+            Indent = true // 璁剧疆鏍煎紡鍖栫缉杩�
+        };
+        using (var writer = XmlWriter.Create(stream, setting))
+        {
+            var ns = new XmlSerializerNamespaces();
+            ns.Add("", ""); // 鍘婚櫎榛樿鍛藉悕绌洪棿
+            xs.Serialize(writer, obj, ns);
+        }
+        return Encoding.UTF8.GetString(stream.ToArray());
+    }
+
+    /// <summary>
+    /// 瀛楃涓茶浆XML鏍煎紡
+    /// </summary>
+    /// <param name="xmlStr"></param>
+    /// <returns></returns>
+    public static XElement SerializeStringToXml(string xmlStr)
+    {
+        try
+        {
+            return XElement.Parse(xmlStr);
+        }
+        catch
+        {
+            return null;
+        }
+    }
+
+    /// <summary>
+    /// 瀵煎嚭妯℃澘Excel
+    /// </summary>
+    /// <param name="fileName"></param>
+    /// <returns></returns>
+    public static async Task<IActionResult> ExportExcelTemplate<T>(string fileName) where T : class, new()
+    {
+        fileName = $"{fileName}_{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx";
+        IImporter importer = new ExcelImporter();
+        var res = await importer.GenerateTemplate<T>(Path.Combine(App.WebHostEnvironment.WebRootPath, fileName));
+        return new FileStreamResult(new FileStream(res.FileName, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
+    }
+
+    /// <summary>
+    /// 瀵煎嚭妯℃澘Excel
+    /// </summary>
+    /// <param name="fileName"></param>
+    /// <param name="fileDto"></param>
+    /// <returns></returns>
+    public static async Task<IActionResult> ExportExcelTemplate(string fileName, dynamic fileDto)
+    {
+        MethodInfo generateTemplateMethod = typeof(CommonUtil).GetMethods().FirstOrDefault(p => p.Name == "ExportExcelTemplate" && p.IsGenericMethodDefinition);
+        MethodInfo closedGenerateTemplateMethod = generateTemplateMethod.MakeGenericMethod(fileDto.GetType());
+        return await (Task<IActionResult>)closedGenerateTemplateMethod.Invoke(null, new object[] { fileName });
+    }
+
+    /// <summary>
+    /// 瀵煎叆鏁版嵁Excel
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="file"></param>
+    /// <param name="importResultCallback"></param>
+    /// <returns></returns>
+    public static async Task<ICollection<T>> ImportExcelData<T>([Required] IFormFile file, Func<ImportResult<T>, ImportResult<T>> importResultCallback = null) where T : class, new()
+    {
+        var newFile = await App.GetRequiredService<SysFileService>().UploadFile(file, "");
+        var filePath = Path.Combine(App.WebHostEnvironment.WebRootPath, newFile.FilePath, newFile.Id.ToString() + newFile.Suffix);
+        var errorFileUrl = Path.Combine(newFile.FilePath, newFile.Id.ToString() + "_" + newFile.Suffix);
+
+        IImporter importer = new ExcelImporter();
+        var res = await importer.Import<T>(filePath, importResultCallback);
+        if (res == null || res.Exception != null)
+            throw Oops.Oh("瀵煎叆寮傚父:" + res.Exception);
+        if (res.HasError)
+        {
+            if (res.TemplateErrors.Count > 0)
+            {
+                throw Oops.Oh("瀵煎叆妯℃澘鏍煎紡閿欒");
+            }
+            else
+            {
+                throw Oops.Oh($"璇蜂笅杞介敊璇枃浠�,鏍规嵁鎻愮ず淇敼鍚庡啀娆″鍏�,<a href='{errorFileUrl}' target='_blank'>鐐瑰嚮涓嬭浇</a>");
+            }
+        }
+        return res.Data;
+    }
+
+    /// <summary>
+    /// 瀵煎叆鏁版嵁Excel
+    /// </summary>
+    /// <param name="file"></param>
+    /// <param name="dataDto"></param>
+    /// <returns></returns>
+    public static async Task<dynamic> ImportExcelData([Required] IFormFile file, dynamic dataDto)
+    {
+        MethodInfo importMethod = typeof(CommonUtil).GetMethods().FirstOrDefault(p => p.Name == "ImportExcelData" && p.IsGenericMethodDefinition);
+        MethodInfo closedImportMethod = importMethod.MakeGenericMethod(dataDto.GetType());
+        var parameters = importMethod.GetParameters();
+        var task = (Task)closedImportMethod.Invoke(null, new object[] { file, parameters[1].DefaultValue });
+        await task;
+        return task.GetType().GetProperty("Result").GetValue(task);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/ComputerUtil.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/ComputerUtil.cs
new file mode 100644
index 0000000..60e6940
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/ComputerUtil.cs
@@ -0,0 +1,480 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+public static class ComputerUtil
+{
+    /// <summary>
+    /// 鍐呭瓨淇℃伅
+    /// </summary>
+    /// <returns></returns>
+    public static MemoryMetrics GetComputerInfo()
+    {
+        MemoryMetrics memoryMetrics;
+        if (IsMacOS())
+        {
+            memoryMetrics = MemoryMetricsClient.GetMacOSMetrics();
+        }
+        else if (IsUnix())
+        {
+            memoryMetrics = MemoryMetricsClient.GetUnixMetrics();
+        }
+        else
+        {
+            memoryMetrics = MemoryMetricsClient.GetWindowsMetrics();
+        }
+        memoryMetrics.FreeRam = Math.Round(memoryMetrics.Free / 1024, 2) + "GB";
+        memoryMetrics.UsedRam = Math.Round(memoryMetrics.Used / 1024, 2) + "GB";
+        memoryMetrics.TotalRam = Math.Round(memoryMetrics.Total / 1024, 2) + "GB";
+        memoryMetrics.RamRate = Math.Ceiling(100 * memoryMetrics.Used / memoryMetrics.Total).ToString() + "%";
+        memoryMetrics.CpuRate = Math.Ceiling(GetCPURate().ParseToDouble()) + "%";
+        return memoryMetrics;
+    }
+
+    /// <summary>
+    /// 鑾峰彇姝g‘鐨勬搷浣滅郴缁熺増鏈紙Linux鑾峰彇鍙戣鐗堟湰锛�
+    /// </summary>
+    /// <returns></returns>
+    public static String GetOSInfo()
+    {
+        string opeartion = string.Empty;
+        if (IsMacOS())
+        {
+            var output = ShellHelper.Bash("sw_vers | awk 'NR<=2{printf \"%s \", $NF}'");
+            if (output != null)
+            {
+                opeartion = output.Replace("%", string.Empty);
+            }
+        }
+        else if (IsUnix())
+        {
+            var output = ShellHelper.Bash("awk -F= '/^VERSION_ID/ {print $2}' /etc/os-release | tr -d '\"'");
+            opeartion = output ?? string.Empty;
+        }
+        else
+        {
+            opeartion = RuntimeInformation.OSDescription;
+        }
+        return opeartion;
+    }
+
+    /// <summary>
+    /// 纾佺洏淇℃伅
+    /// </summary>
+    /// <returns></returns>
+    public static List<DiskInfo> GetDiskInfos()
+    {
+        var diskInfos = new List<DiskInfo>();
+        if (IsMacOS())
+        {
+            var output = ShellHelper.Bash(@"df -m | awk '/^\/dev\/disk/ {print $1,$2,$3,$4,$5}'");
+            var disks = output.Split('\n', StringSplitOptions.RemoveEmptyEntries);
+            if (disks.Length < 1) return diskInfos;
+            foreach (var item in disks)
+            {
+                var disk = item.Split(' ', (char)StringSplitOptions.RemoveEmptyEntries);
+                if (disk == null || disk.Length < 5)
+                    continue;
+
+                var diskInfo = new DiskInfo()
+                {
+                    DiskName = disk[0],
+                    TypeName = ShellHelper.Bash("diskutil info " + disk[0] + " | awk '/File System Personality/ {print $4}'").Replace("\n", string.Empty),
+                    TotalSize = long.Parse(disk[1]) / 1024,
+                    Used = long.Parse(disk[2]) / 1024,
+                    AvailableFreeSpace = long.Parse(disk[3]) / 1024,
+                    AvailablePercent = decimal.Parse(disk[4].Replace("%", ""))
+                };
+                diskInfos.Add(diskInfo);
+            }
+        }
+        else if (IsUnix())
+        {
+            var output = ShellHelper.Bash(@"df -mT | awk '/^\/dev\/(sd|vd|xvd|nvme|sda|vda)/ {print $1,$2,$3,$4,$5,$6}'");
+            var disks = output.Split('\n', StringSplitOptions.RemoveEmptyEntries);
+            if (disks.Length < 1) return diskInfos;
+
+            //var rootDisk = disks[1].Split(' ', (char)StringSplitOptions.RemoveEmptyEntries);
+            //if (rootDisk == null || rootDisk.Length < 1)
+            //    return diskInfos;
+
+            foreach (var item in disks)
+            {
+                var disk = item.Split(' ', (char)StringSplitOptions.RemoveEmptyEntries);
+                if (disk == null || disk.Length < 6)
+                    continue;
+
+                var diskInfo = new DiskInfo()
+                {
+                    DiskName = disk[0],
+                    TypeName = disk[1],
+                    TotalSize = long.Parse(disk[2]) / 1024,
+                    Used = long.Parse(disk[3]) / 1024,
+                    AvailableFreeSpace = long.Parse(disk[4]) / 1024,
+                    AvailablePercent = decimal.Parse(disk[5].Replace("%", ""))
+                };
+                diskInfos.Add(diskInfo);
+            }
+        }
+        else
+        {
+            var driv = DriveInfo.GetDrives().Where(u => u.IsReady);
+            foreach (var item in driv)
+            {
+                if (item.DriveType == DriveType.CDRom) continue;
+                var obj = new DiskInfo()
+                {
+                    DiskName = item.Name,
+                    TypeName = item.DriveType.ToString(),
+                    TotalSize = item.TotalSize / 1024 / 1024 / 1024,
+                    AvailableFreeSpace = item.AvailableFreeSpace / 1024 / 1024 / 1024,
+                };
+                obj.Used = obj.TotalSize - obj.AvailableFreeSpace;
+                obj.AvailablePercent = decimal.Ceiling(obj.Used / (decimal)obj.TotalSize * 100);
+                diskInfos.Add(obj);
+            }
+        }
+        return diskInfos;
+    }
+
+    /// <summary>
+    /// 鑾峰彇澶栫綉IP鍦板潃
+    /// </summary>
+    /// <returns></returns>
+    public static string GetIpFromOnline()
+    {
+        var url = "https://www.ip.cn/api/index?ip&type=0";
+        var str = url.GetAsStringAsync().GetAwaiter().GetResult();
+        var resp = JSON.Deserialize<IpCnResp>(str);
+        return resp.Ip + " " + resp.Address;
+    }
+
+    public static bool IsUnix()
+    {
+        return RuntimeInformation.IsOSPlatform(OSPlatform.Linux);
+    }
+
+    public static bool IsMacOS()
+    {
+        return RuntimeInformation.IsOSPlatform(OSPlatform.OSX);
+    }
+
+    public static string GetCPURate()
+    {
+        string cpuRate;
+        if (IsMacOS())
+        {
+            string output = ShellUtil.Bash("top -l 1 | grep \"CPU usage\" | awk '{print $3 + $5}'");
+            cpuRate = output.Trim();
+        }
+        else if (IsUnix())
+        {
+            string output = ShellUtil.Bash("top -b -n1 | grep \"Cpu(s)\" | awk '{print $2 + $4}'");
+            cpuRate = output.Trim();
+        }
+        else
+        {
+            string output = ShellUtil.Cmd("wmic", "cpu get LoadPercentage");
+            cpuRate = output.Replace("LoadPercentage", string.Empty).Trim();
+        }
+        return cpuRate;
+    }
+
+    /// <summary>
+    /// 鑾峰彇绯荤粺杩愯鏃堕棿
+    /// </summary>
+    /// <returns></returns>
+    public static string GetRunTime()
+    {
+        string runTime = string.Empty;
+        if (IsMacOS())
+        {
+            //macOS 鑾峰彇绯荤粺鍚姩鏃堕棿锛�
+            //sysctl -n kern.boottime | awk '{print $4}' | tr -d ','
+            //杩斿洖锛�1705379131
+            //浣跨敤date鏍煎紡鍖栧嵆鍙�
+            string output = ShellUtil.Bash("date -r $(sysctl -n kern.boottime | awk '{print $4}' | tr -d ',') +\"%Y-%m-%d %H:%M:%S\"").Trim();
+            runTime = DateTimeUtil.FormatTime((DateTime.Now - output.ParseToDateTime()).TotalMilliseconds.ToString().Split('.')[0].ParseToLong());
+        }
+        else if (IsUnix())
+        {
+            string output = ShellUtil.Bash("uptime -s").Trim();
+            runTime = DateTimeUtil.FormatTime((DateTime.Now - output.ParseToDateTime()).TotalMilliseconds.ToString().Split('.')[0].ParseToLong());
+        }
+        else
+        {
+            string output = ShellUtil.Cmd("wmic", "OS get LastBootUpTime/Value");
+            string[] outputArr = output.Split('=', (char)StringSplitOptions.RemoveEmptyEntries);
+            if (outputArr.Length == 2)
+                runTime = DateTimeUtil.FormatTime((DateTime.Now - outputArr[1].Split('.')[0].ParseToDateTime()).TotalMilliseconds.ToString().Split('.')[0].ParseToLong());
+        }
+        return runTime;
+    }
+}
+
+/// <summary>
+/// IP淇℃伅
+/// </summary>
+public class IpCnResp
+{
+    public string Ip { get; set; }
+
+    public string Address { get; set; }
+}
+
+/// <summary>
+/// 鍐呭瓨淇℃伅
+/// </summary>
+public class MemoryMetrics
+{
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    public double Total { get; set; }
+
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    public double Used { get; set; }
+
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    public double Free { get; set; }
+
+    /// <summary>
+    /// 宸茬敤鍐呭瓨
+    /// </summary>
+    public string UsedRam { get; set; }
+
+    /// <summary>
+    /// CPU浣跨敤鐜�%
+    /// </summary>
+    public string CpuRate { get; set; }
+
+    /// <summary>
+    /// 鎬诲唴瀛� GB
+    /// </summary>
+    public string TotalRam { get; set; }
+
+    /// <summary>
+    /// 鍐呭瓨浣跨敤鐜� %
+    /// </summary>
+    public string RamRate { get; set; }
+
+    /// <summary>
+    /// 绌洪棽鍐呭瓨
+    /// </summary>
+    public string FreeRam { get; set; }
+}
+
+/// <summary>
+/// 纾佺洏淇℃伅
+/// </summary>
+public class DiskInfo
+{
+    /// <summary>
+    /// 纾佺洏鍚�
+    /// </summary>
+    public string DiskName { get; set; }
+
+    /// <summary>
+    /// 绫诲瀷鍚�
+    /// </summary>
+    public string TypeName { get; set; }
+
+    /// <summary>
+    /// 鎬诲墿浣�
+    /// </summary>
+    public long TotalFree { get; set; }
+
+    /// <summary>
+    /// 鎬婚噺
+    /// </summary>
+    public long TotalSize { get; set; }
+
+    /// <summary>
+    /// 宸蹭娇鐢�
+    /// </summary>
+    public long Used { get; set; }
+
+    /// <summary>
+    /// 鍙娇鐢�
+    /// </summary>
+    public long AvailableFreeSpace { get; set; }
+
+    /// <summary>
+    /// 浣跨敤鐧惧垎姣�
+    /// </summary>
+    public decimal AvailablePercent { get; set; }
+}
+
+public class MemoryMetricsClient
+{
+    /// <summary>
+    /// windows绯荤粺鑾峰彇鍐呭瓨淇℃伅
+    /// </summary>
+    /// <returns></returns>
+    public static MemoryMetrics GetWindowsMetrics()
+    {
+        string output = ShellUtil.Cmd("wmic", "OS get FreePhysicalMemory,TotalVisibleMemorySize /Value");
+        var metrics = new MemoryMetrics();
+        var lines = output.Trim().Split('\n', (char)StringSplitOptions.RemoveEmptyEntries);
+        if (lines.Length <= 0) return metrics;
+
+        var freeMemoryParts = lines[0].Split('=', (char)StringSplitOptions.RemoveEmptyEntries);
+        var totalMemoryParts = lines[1].Split('=', (char)StringSplitOptions.RemoveEmptyEntries);
+
+        metrics.Total = Math.Round(double.Parse(totalMemoryParts[1]) / 1024, 0);
+        metrics.Free = Math.Round(double.Parse(freeMemoryParts[1]) / 1024, 0);//m
+        metrics.Used = metrics.Total - metrics.Free;
+
+        return metrics;
+    }
+
+    /// <summary>
+    /// Unix绯荤粺鑾峰彇
+    /// </summary>
+    /// <returns></returns>
+    public static MemoryMetrics GetUnixMetrics()
+    {
+        string output = ShellUtil.Bash("free -m | awk '{print $2,$3,$4,$5,$6}'");
+        var metrics = new MemoryMetrics();
+        var lines = output.Split('\n', (char)StringSplitOptions.RemoveEmptyEntries);
+        if (lines.Length <= 0) return metrics;
+
+        if (lines != null && lines.Length > 0)
+        {
+            var memory = lines[1].Split(' ', (char)StringSplitOptions.RemoveEmptyEntries);
+            if (memory.Length >= 3)
+            {
+                metrics.Total = double.Parse(memory[0]);
+                metrics.Used = double.Parse(memory[1]);
+                metrics.Free = double.Parse(memory[2]);//m
+            }
+        }
+        return metrics;
+    }
+
+    /// <summary>
+    /// macOS绯荤粺鑾峰彇
+    /// </summary>
+    /// <returns></returns>
+    public static MemoryMetrics GetMacOSMetrics()
+    {
+        var metrics = new MemoryMetrics();
+        //鐗╃悊鍐呭瓨澶у皬
+        var total = ShellUtil.Bash("sysctl -n hw.memsize | awk '{printf \"%.2f\", $1/1024/1024}'");
+        metrics.Total = float.Parse(total.Replace("%", string.Empty));
+        //TODO:鍗犵敤鍐呭瓨锛屾鏌ユ晥鐜�
+        var free = ShellUtil.Bash("top -l 1 -s 0 | awk '/PhysMem/ {print $6+$8}'");
+        metrics.Free = float.Parse(free);
+        metrics.Used = metrics.Total - metrics.Free;
+        return metrics;
+    }
+}
+
+public class ShellUtil
+{
+    /// <summary>
+    /// linux 绯荤粺鍛戒护
+    /// </summary>
+    /// <param name="command"></param>
+    /// <returns></returns>
+    public static string Bash(string command)
+    {
+        var escapedArgs = command.Replace("\"", "\\\"");
+        var process = new Process()
+        {
+            StartInfo = new ProcessStartInfo
+            {
+                FileName = "/bin/bash",
+                Arguments = $"-c \"{escapedArgs}\"",
+                RedirectStandardOutput = true,
+                UseShellExecute = false,
+                CreateNoWindow = true,
+            }
+        };
+        process.Start();
+        string result = process.StandardOutput.ReadToEnd();
+        process.WaitForExit();
+        process.Dispose();
+        return result;
+    }
+
+    /// <summary>
+    /// windows绯荤粺鍛戒护
+    /// </summary>
+    /// <param name="fileName"></param>
+    /// <param name="args"></param>
+    /// <returns></returns>
+    public static string Cmd(string fileName, string args)
+    {
+        var info = new ProcessStartInfo
+        {
+            FileName = fileName,
+            Arguments = args,
+            RedirectStandardOutput = true
+        };
+
+        var output = string.Empty;
+        using (var process = Process.Start(info))
+        {
+            output = process.StandardOutput.ReadToEnd();
+        }
+        return output;
+    }
+}
+
+public class ShellHelper
+{
+    /// <summary>
+    /// Linux 绯荤粺鍛戒护
+    /// </summary>
+    /// <param name="command"></param>
+    /// <returns></returns>
+    public static string Bash(string command)
+    {
+        var escapedArgs = command.Replace("\"", "\\\"");
+        var process = new Process()
+        {
+            StartInfo = new ProcessStartInfo
+            {
+                FileName = "/bin/bash",
+                Arguments = $"-c \"{escapedArgs}\"",
+                RedirectStandardOutput = true,
+                UseShellExecute = false,
+                CreateNoWindow = true,
+            }
+        };
+        process.Start();
+        string result = process.StandardOutput.ReadToEnd();
+        process.WaitForExit();
+        process.Dispose();
+        return result;
+    }
+
+    /// <summary>
+    /// Windows 绯荤粺鍛戒护
+    /// </summary>
+    /// <param name="fileName"></param>
+    /// <param name="args"></param>
+    /// <returns></returns>
+    public static string Cmd(string fileName, string args)
+    {
+        var info = new ProcessStartInfo
+        {
+            FileName = fileName,
+            Arguments = args,
+            RedirectStandardOutput = true
+        };
+
+        var output = string.Empty;
+        using (var process = Process.Start(info))
+        {
+            output = process.StandardOutput.ReadToEnd();
+        }
+        return output;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/CryptogramUtil.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/CryptogramUtil.cs
new file mode 100644
index 0000000..ebbeded
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/CryptogramUtil.cs
@@ -0,0 +1,120 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+public class CryptogramUtil
+{
+    public static readonly bool StrongPassword = App.GetConfig<bool>("Cryptogram:StrongPassword"); // 鏄惁寮�鍚瘑鐮佸己搴﹂獙璇�
+    public static readonly string PasswordStrengthValidation = App.GetConfig<string>("Cryptogram:PasswordStrengthValidation"); // 瀵嗙爜寮哄害楠岃瘉姝e垯琛ㄨ揪寮�
+    public static readonly string PasswordStrengthValidationMsg = App.GetConfig<string>("Cryptogram:PasswordStrengthValidationMsg"); // 瀵嗙爜寮哄害楠岃瘉鎻愮ず
+    public static readonly string CryptoType = App.GetConfig<string>("Cryptogram:CryptoType"); // 鍔犲瘑绫诲瀷
+    public static readonly string PublicKey = App.GetConfig<string>("Cryptogram:PublicKey"); // 鍏挜
+    public static readonly string PrivateKey = App.GetConfig<string>("Cryptogram:PrivateKey"); // 绉侀挜
+
+    public static readonly string SM4_key = "0123456789abcdeffedcba9876543210";
+    public static readonly string SM4_iv = "595298c7c6fd271f0402f804c33d3f66";
+
+    /// <summary>
+    /// 鍔犲瘑
+    /// </summary>
+    /// <param name="plainText"></param>
+    /// <returns></returns>
+    public static string Encrypt(string plainText)
+    {
+        if (CryptoType == CryptogramEnum.MD5.ToString())
+        {
+            return MD5Encryption.Encrypt(plainText);
+        }
+        else if (CryptoType == CryptogramEnum.SM2.ToString())
+        {
+            return SM2Encrypt(plainText);
+        }
+        else if (CryptoType == CryptogramEnum.SM4.ToString())
+        {
+            return SM4EncryptECB(plainText);
+        }
+        return plainText;
+    }
+
+    /// <summary>
+    /// 瑙e瘑
+    /// </summary>
+    /// <param name="cipherText"></param>
+    /// <returns></returns>
+    public static string Decrypt(string cipherText)
+    {
+        if (CryptoType == CryptogramEnum.SM2.ToString())
+        {
+            return SM2Decrypt(cipherText);
+        }
+        else if (CryptoType == CryptogramEnum.SM4.ToString())
+        {
+            return SM4DecryptECB(cipherText);
+        }
+        return cipherText;
+    }
+
+    /// <summary>
+    /// SM2鍔犲瘑
+    /// </summary>
+    /// <param name="plainText"></param>
+    /// <returns></returns>
+    public static string SM2Encrypt(string plainText)
+    {
+        return GMUtil.SM2Encrypt(PublicKey, plainText);
+    }
+
+    /// <summary>
+    /// SM2瑙e瘑
+    /// </summary>
+    /// <param name="cipherText"></param>
+    /// <returns></returns>
+    public static string SM2Decrypt(string cipherText)
+    {
+        return GMUtil.SM2Decrypt(PrivateKey, cipherText);
+    }
+
+    /// <summary>
+    /// SM4鍔犲瘑锛圗CB锛�
+    /// </summary>
+    /// <param name="plainText"></param>
+    /// <returns></returns>
+    public static string SM4EncryptECB(string plainText)
+    {
+        return GMUtil.SM4EncryptECB(SM4_key, plainText);
+    }
+
+    /// <summary>
+    /// SM4瑙e瘑锛圗CB锛�
+    /// </summary>
+    /// <param name="cipherText"></param>
+    /// <returns></returns>
+    public static string SM4DecryptECB(string cipherText)
+    {
+        return GMUtil.SM4DecryptECB(SM4_key, cipherText);
+    }
+
+    /// <summary>
+    /// SM4鍔犲瘑锛圕BC锛�
+    /// </summary>
+    /// <param name="plainText"></param>
+    /// <returns></returns>
+    public static string SM4EncryptCBC(string plainText)
+    {
+        return GMUtil.SM4EncryptCBC(SM4_key, SM4_iv, plainText);
+    }
+
+    /// <summary>
+    /// SM4瑙e瘑锛圕BC锛�
+    /// </summary>
+    /// <param name="cipherText"></param>
+    /// <returns></returns>
+    public static string SM4DecryptCBC(string cipherText)
+    {
+        return GMUtil.SM4DecryptCBC(SM4_key, SM4_iv, cipherText);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/DateTimeUtil.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/DateTimeUtil.cs
new file mode 100644
index 0000000..070f2ab
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/DateTimeUtil.cs
@@ -0,0 +1,175 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+public class DateTimeUtil
+{
+    /// <summary>
+    /// 鑾峰彇寮�濮嬫椂闂�
+    /// </summary>
+    /// <param name="dateTime"></param>
+    /// <param name="days"></param>
+    /// <returns></returns>
+    public static DateTime GetBeginTime(DateTime? dateTime, int days = 0)
+    {
+        if (dateTime == DateTime.MinValue || dateTime == null)
+            return DateTime.Now.AddDays(days);
+
+        return dateTime ?? DateTime.Now;
+    }
+
+    /// <summary>
+    ///  鏃堕棿鎴宠浆鏈湴鏃堕棿-鏃堕棿鎴崇簿纭埌绉�
+    /// </summary>
+    public static DateTime ToLocalTimeDateBySeconds(long unix)
+    {
+        return DateTimeOffset.FromUnixTimeSeconds(unix).ToLocalTime().DateTime;
+    }
+
+    /// <summary>
+    ///  鏃堕棿杞椂闂存埑Unix-鏃堕棿鎴崇簿纭埌绉�
+    /// </summary>
+    public static long ToUnixTimestampBySeconds(DateTime dt)
+    {
+        return new DateTimeOffset(dt).ToUnixTimeSeconds();
+    }
+
+    /// <summary>
+    ///  鏃堕棿鎴宠浆鏈湴鏃堕棿-鏃堕棿鎴崇簿纭埌姣
+    /// </summary>
+    public static DateTime ToLocalTimeDateByMilliseconds(long unix)
+    {
+        return DateTimeOffset.FromUnixTimeMilliseconds(unix).ToLocalTime().DateTime;
+    }
+
+    /// <summary>
+    ///  鏃堕棿杞椂闂存埑Unix-鏃堕棿鎴崇簿纭埌姣
+    /// </summary>
+    public static long ToUnixTimestampByMilliseconds(DateTime dt)
+    {
+        return new DateTimeOffset(dt).ToUnixTimeMilliseconds();
+    }
+
+    /// <summary>
+    /// 姣杞ぉ鏃跺垎绉�
+    /// </summary>
+    /// <param name="ms"></param>
+    /// <returns></returns>
+    public static string FormatTime(long ms)
+    {
+        int ss = 1000;
+        int mi = ss * 60;
+        int hh = mi * 60;
+        int dd = hh * 24;
+
+        long day = ms / dd;
+        long hour = (ms - day * dd) / hh;
+        long minute = (ms - day * dd - hour * hh) / mi;
+        long second = (ms - day * dd - hour * hh - minute * mi) / ss;
+        long milliSecond = ms - day * dd - hour * hh - minute * mi - second * ss;
+
+        string sDay = day < 10 ? "0" + day : "" + day; //澶�
+        string sHour = hour < 10 ? "0" + hour : "" + hour;//灏忔椂
+        string sMinute = minute < 10 ? "0" + minute : "" + minute;//鍒嗛挓
+        string sSecond = second < 10 ? "0" + second : "" + second;//绉�
+        string sMilliSecond = milliSecond < 10 ? "0" + milliSecond : "" + milliSecond;//姣
+        sMilliSecond = milliSecond < 100 ? "0" + sMilliSecond : "" + sMilliSecond;
+
+        return string.Format("{0} 澶� {1} 灏忔椂 {2} 鍒� {3} 绉�", sDay, sHour, sMinute, sSecond);
+    }
+
+    /// <summary>
+    /// 鑾峰彇unix鏃堕棿鎴�
+    /// </summary>
+    /// <param name="dt"></param>
+    /// <returns></returns>
+    public static long GetUnixTimeStamp(DateTime dt)
+    {
+        return ((DateTimeOffset)dt).ToUnixTimeMilliseconds();
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏃ユ湡澶╃殑鏈�灏忔椂闂�
+    /// </summary>
+    /// <param name="dt"></param>
+    /// <returns></returns>
+    public static DateTime GetDayMinDate(DateTime dt)
+    {
+        return new DateTime(dt.Year, dt.Month, dt.Day, 0, 0, 0);
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏃ユ湡澶╃殑鏈�澶ф椂闂�
+    /// </summary>
+    /// <param name="dt"></param>
+    /// <returns></returns>
+
+    public static DateTime GetDayMaxDate(DateTime dt)
+    {
+        return new DateTime(dt.Year, dt.Month, dt.Day, 23, 59, 59);
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏃ユ湡澶╃殑鏈�澶ф椂闂�
+    /// </summary>
+    /// <param name="dt"></param>
+    /// <returns></returns>
+    public static string FormatDateTime(DateTime? dt)
+    {
+        if (dt == null) return string.Empty;
+
+        if (dt.Value.Year == DateTime.Now.Year)
+            return dt.Value.ToString("MM-dd HH:mm");
+        else
+            return dt.Value.ToString("yyyy-MM-dd HH:mm");
+    }
+
+    /// <summary>
+    /// 鑾峰彇浠婂ぉ鏃ユ湡鑼冨洿00:00:00 - 23:59:59
+    /// </summary>
+    /// <returns></returns>
+    public static List<DateTime> GetTodayTimeList(DateTime time)
+    {
+        return new List<DateTime>
+        {
+            Convert.ToDateTime(time.ToString("D").ToString()),
+            Convert.ToDateTime(time.AddDays(1).ToString("D").ToString()).AddSeconds(-1)
+        };
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏄熸湡鍑�
+    /// </summary>
+    /// <param name="dt"></param>
+    /// <returns></returns>
+    public static string GetWeekByDate(DateTime dt)
+    {
+        var day = new[] { "鏄熸湡鏃�", "鏄熸湡涓�", "鏄熸湡浜�", "鏄熸湡涓�", "鏄熸湡鍥�", "鏄熸湡浜�", "鏄熸湡鍏�" };
+        return day[Convert.ToInt32(dt.DayOfWeek.ToString("d"))];
+    }
+
+    /// <summary>
+    /// 鑾峰彇杩欎釜鏈堢殑绗嚑鍛�
+    /// </summary>
+    /// <param name="daytime"></param>
+    /// <returns></returns>
+    public static int GetWeekNumInMonth(DateTime daytime)
+    {
+        int dayInMonth = daytime.Day;
+        // 鏈湀绗竴澶�
+        DateTime firstDay = daytime.AddDays(1 - daytime.Day);
+        // 鏈湀绗竴澶╂槸鍛ㄥ嚑
+        int weekday = (int)firstDay.DayOfWeek == 0 ? 7 : (int)firstDay.DayOfWeek;
+        // 鏈湀绗竴鍛ㄦ湁鍑犲ぉ
+        int firstWeekEndDay = 7 - (weekday - 1);
+        // 褰撳墠鏃ユ湡鍜岀涓�鍛ㄤ箣宸�
+        int diffday = dayInMonth - firstWeekEndDay;
+        diffday = diffday > 0 ? diffday : 1;
+        // 褰撳墠鏄鍑犲懆锛岃嫢鏁撮櫎7灏卞噺涓�澶�
+        return ((diffday % 7) == 0 ? (diffday / 7 - 1) : (diffday / 7)) + 1 + (dayInMonth > firstWeekEndDay ? 1 : 0);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/ExcelUtil.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/ExcelUtil.cs
new file mode 100644
index 0000000..8d2ea8c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/ExcelUtil.cs
@@ -0,0 +1,443 @@
+锘�#nullable enable
+using OfficeOpenXml;
+using OfficeOpenXml.Style;
+using RestSharp;
+using StackExchange.Profiling.Internal;
+
+namespace Admin.NET.Core
+{
+    public static class ExcelUtil
+    {
+        /// <summary>
+        /// 鍦╮esponse涓鍑烘爣鍑嗘牸寮忕殑鏁版嵁
+        /// </summary>
+        /// <param name="headers"></param>
+        /// <param name="data"></param>
+        /// <returns></returns>
+        public static void ToExcel(List<string> headers, List<List<object>> data, string sheetName, Stream newStream)
+        {
+            using var package = new ExcelPackage(newStream);
+            var worksheet = package.Workbook.Worksheets.Add(sheetName);
+
+            for (int j = 0; j < headers.Count; j++)
+            {
+                worksheet.Cells[1, j + 1].Value = headers[j];
+                worksheet.Cells[1, j + 1].Style.Font.Bold = true;//鍔犵矖
+                worksheet.Cells[1, j + 1].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;//姘村钩灞呬腑 
+                worksheet.Cells[1, j + 1].Style.VerticalAlignment = ExcelVerticalAlignment.Center;//鍨傜洿灞呬腑 
+                worksheet.Cells[1, j + 1].Style.Border.Bottom.Style = ExcelBorderStyle.Thin;//杈规甯歌绮楃粏
+                worksheet.Cells[1, j + 1].Style.Border.Left.Style = ExcelBorderStyle.Thin;//杈规甯歌绮楃粏
+                worksheet.Cells[1, j + 1].Style.Border.Right.Style = ExcelBorderStyle.Thin;//杈规甯歌绮楃粏
+                worksheet.Cells[1, j + 1].Style.Border.Top.Style = ExcelBorderStyle.Thin;//杈规甯歌绮楃粏
+            }
+
+            for (int i = 0; i < data.Count; i++)
+            {
+                for (int j = 0; j < data[i].Count; j++)
+                {
+                    worksheet.Cells[2 + i, j + 1].Value = data[i][j];
+                }
+            }
+            package.Save();
+        }
+
+
+
+        /// <summary>
+        /// 鍦╮esponse涓鍑烘爣鍑嗘牸寮忕殑澶氳〃鏁版嵁
+        /// </summary>
+        /// <param name="headersList"></param>
+        /// <param name="dataList"></param>
+        /// <param name="sheetNameList"></param>
+        /// <param name="newStream"></param>
+        public static void ToExcel(List<List<string>> headersList, List<List<List<object>>> dataList, List<string> sheetNameList, Stream newStream)
+        {
+            using var package = new ExcelPackage(newStream);
+            for (var k = 0; k < sheetNameList.Count; k++)
+            {
+                var worksheet = package.Workbook.Worksheets.Add(sheetNameList[k]);
+
+                for (int j = 0; j < headersList[k].Count; j++)
+                {
+                    worksheet.Cells[1, j + 1].Value = headersList[k][j];
+                    worksheet.Cells[1, j + 1].Style.Font.Bold = true;//鍔犵矖
+                    worksheet.Cells[1, j + 1].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;//姘村钩灞呬腑 
+                    worksheet.Cells[1, j + 1].Style.VerticalAlignment = ExcelVerticalAlignment.Center;//鍨傜洿灞呬腑 
+                    worksheet.Cells[1, j + 1].Style.Border.Bottom.Style = ExcelBorderStyle.Thin;//杈规甯歌绮楃粏
+                    worksheet.Cells[1, j + 1].Style.Border.Left.Style = ExcelBorderStyle.Thin;//杈规甯歌绮楃粏
+                    worksheet.Cells[1, j + 1].Style.Border.Right.Style = ExcelBorderStyle.Thin;//杈规甯歌绮楃粏
+                    worksheet.Cells[1, j + 1].Style.Border.Top.Style = ExcelBorderStyle.Thin;//杈规甯歌绮楃粏
+                }
+
+                for (int i = 0; i < dataList[k].Count; i++)
+                {
+                    for (int j = 0; j < dataList[k][i].Count; j++)
+                    {
+                        worksheet.Cells[2 + i, j + 1].Value = dataList[k][i][j];
+                    }
+                }
+
+
+            }
+
+            package.Save();
+        }
+
+
+
+
+
+        /// <summary>
+        /// 鍦╮esponse涓牴鎹ā鏉垮鍑哄崟琛ㄦ暟鎹�
+        /// </summary>
+        /// <param name="headers"></param>
+        /// <param name="templatePath"></param>
+        /// <param name="data"></param>
+        /// <param name="sheetName"></param>
+        /// <param name="dataStartLine"></param>
+        /// <param name="newStream"></param>
+        /// <returns></returns>
+        public static void ToExcel(string templatePath, List<string> headers, List<List<object>> data, string sheetName, int headStartLine, int dataStartLine, Stream newStream)
+        {
+
+            var options = new RestClientOptions(App.Configuration["FileUrl"])
+            {
+                ThrowOnAnyError = true,
+                //MaxTimeout = 2000
+            };
+
+            var client = new RestClient(options);
+            var request = new RestRequest($"/file/download", Method.Get);
+            request?.AddParameter(Parameter.CreateParameter("path", templatePath, ParameterType.QueryString))
+                ?.AddParameter(Parameter.CreateParameter("fileName", "template.xlsx", ParameterType.QueryString));
+
+            var response = client.DownloadData(request ?? null!);
+
+            MemoryStream ms = new(response ?? null!);
+
+
+            using var package = new ExcelPackage(newStream, ms);
+            var worksheet = package.Workbook.Worksheets[0];
+
+            worksheet.Name = sheetName;
+
+            for (int j = 0; j < headers.Count; j++)
+            {
+                worksheet.Cells[headStartLine, j + 1].Value = headers[j];
+            }
+
+            for (int i = 0; i < data.Count; i++)
+            {
+                for (int j = 0; j < data[i].Count; j++)
+                {
+                    worksheet.Cells[dataStartLine + i, j + 1].Value = data[i][j];
+                }
+            }
+            package.Save();
+
+        }
+
+        /// <summary>
+        /// 鍦╮esponse涓牴鎹ā鏉垮鍑哄琛ㄦ暟鎹�
+        /// </summary>
+        /// <param name="templatePath"></param>
+        /// <param name="headersList"></param>
+        /// <param name="dataList"></param>
+        /// <param name="sheetNameList"></param>
+        /// <param name="headStartLineList"></param>
+        /// <param name="dataStartLineList"></param>
+        /// <param name="newStream"></param>
+        public static void ToExcel(string templatePath, List<List<string>> headersList, List<List<List<object>>> dataList, List<string> sheetNameList, List<int> headStartLineList, List<int> dataStartLineList, Stream newStream)
+        {
+            var options = new RestClientOptions(App.Configuration["FileUrl"])
+            {
+                ThrowOnAnyError = true,
+            };
+
+            var client = new RestClient(options);
+            var request = new RestRequest($"/file/download", Method.Get);
+            request?.AddParameter(Parameter.CreateParameter("path", templatePath, ParameterType.QueryString))
+                ?.AddParameter(Parameter.CreateParameter("fileName", "template.xlsx", ParameterType.QueryString));
+
+            var response = client.DownloadData(request ?? null!);
+
+            MemoryStream ms = new(response ?? null!);
+
+            using var package = new ExcelPackage(newStream, ms);
+            for (var k = 0; k < sheetNameList.Count; k++)
+            {
+                var worksheet = package.Workbook.Worksheets.FirstOrDefault(x => x.Name == sheetNameList[k]) ?? null!;
+
+                for (int j = 0; j < headersList[k].Count; j++)
+                {
+                    worksheet.Cells[headStartLineList[k], j + 1].Value = headersList[k][j];
+
+                }
+
+                for (int i = 0; i < dataList[k].Count; i++)
+                {
+                    for (int j = 0; j < dataList[k][i].Count; j++)
+                    {
+                        worksheet.Cells[dataStartLineList[k] + i, j + 1].Value = dataList[k][i][j];
+                    }
+                }
+            }
+            package.Save();
+        }
+
+
+        /// <summary>
+        /// 瀵煎叆鏍囧噯鏍煎紡鐨勬暟鎹枃浠�
+        /// </summary>
+        /// <param name="file">涓婁紶鐨勬枃浠�</param>
+        /// <returns></returns>
+        public static void FromExcel(IFormFile file, int headStartLine, int dataStartLine, out List<string> headers, out List<List<object?>> data, out string sheetName)
+        {
+            if (file == null) throw Oops.Oh(ErrorCodeEnum.D8000);
+
+            //鏆傛椂娉ㄩ噴锛屼互鍚庡啀鏀惧紑 銆怑ditby shaocx,2024-04-15銆�
+            /*
+            string key = "UploadFile:Excel";
+            var allowContentTypes = App.Configuration.GetSection($"{key}:contentType").Get<IEnumerable<string>>();
+            if (!allowContentTypes.Contains(file.ContentType)) throw Oops.Oh(ErrorCode.D8001);
+            //*/
+
+            sheetName = "";
+            headers = new();
+            data = new();
+
+            using var package = new ExcelPackage(file.OpenReadStream());
+            var worksheet = package.Workbook.Worksheets.Count > 0 ? package.Workbook.Worksheets[0] : null;
+
+            sheetName = package.Workbook.Worksheets.Count > 0 ? package.Workbook.Worksheets[0].Name : "";
+            var cellsCount = worksheet?.Cells?.Count() ?? 0;
+
+            int col = 1;
+            string? header = worksheet?.Cells[headStartLine, col++].Value?.ToString();
+
+            while (!string.IsNullOrWhiteSpace(header))
+            {
+                headers.Add(header);
+                header = worksheet?.Cells[headStartLine, col++]?.Value?.ToString();
+            }
+
+            var headersCount = headers.Count;
+
+            if (headersCount == 0) throw Oops.Oh("琛ㄥご鏁伴噺涓嶈兘涓�0");
+
+            var rowsCount = (int)Math.Ceiling(((double)cellsCount) / headersCount) - dataStartLine + 1;
+
+            for (var i = 0; i < rowsCount; i++)
+            {
+                List<object?> row = new();
+                for (var j = 0; j < headersCount; j++)
+                {
+                    row.Add(worksheet?.Cells[i + dataStartLine, j + 1]?.Value);
+                }
+                data.Add(row);
+            }
+        }
+
+
+        /// <summary>
+        /// 瀵煎叆澶氳〃鏍煎紡鐨勬暟鎹枃浠�
+        /// </summary>
+        /// <param name="file">涓婁紶鐨勬枃浠�</param>
+        /// <returns></returns>
+        public static void FromExcel(IFormFile file, Dictionary<string, int> nameHeadStartLineDict, Dictionary<string, int> nameDataStartLineDict,
+            out List<List<string>> headersList, out List<List<List<object?>>> dataList, out List<string> sheetNameList)
+        {
+            if (file == null) throw Oops.Oh(ErrorCodeEnum.D8000);
+            string key = "UploadFile:Excel";
+            var allowContentTypes = App.Configuration.GetSection($"{key}:contentType").Get<IEnumerable<string>>();
+            if (!allowContentTypes.Contains(file.ContentType)) throw Oops.Oh(ErrorCodeEnum.D8001);
+            sheetNameList = new();
+            headersList = new();
+            dataList = new();
+
+            using var package = new ExcelPackage(file.OpenReadStream());
+
+            foreach (var worksheet in package.Workbook.Worksheets)
+            {
+                if (!nameHeadStartLineDict.ContainsKey(worksheet?.Name ?? "")) throw Oops.Oh("闈炴硶鐨凟xcel鏂囦欢");
+
+                sheetNameList.Add(worksheet?.Name ?? "");
+                var cellsCount = worksheet?.Cells?.Count() ?? 0;
+                var headers = new List<string>();
+                int col = 1;
+                int r = nameHeadStartLineDict[worksheet?.Name ?? ""];
+                string? header = worksheet?.Cells[r, col++].Value?.ToString();
+                while (!string.IsNullOrWhiteSpace(header))
+                {
+                    headers.Add(header);
+                    header = worksheet?.Cells[r, col++]?.Value?.ToString();
+                }
+                headersList.Add(headers);
+                var headersCount = headers.Count;
+                if (headersCount == 0) throw Oops.Oh("琛ㄥご鏁伴噺涓嶈兘涓�0");
+                r = nameDataStartLineDict[worksheet?.Name ?? ""];
+                var rowsCount = (int)Math.Ceiling(((double)cellsCount) / headersCount) - r + 1;
+                List<List<object?>> data = new();
+
+                for (var i = 0; i < rowsCount; i++)
+                {
+                    List<object?> row = new();
+                    for (var j = 0; j < headersCount; j++)
+                    {
+                        row.Add(worksheet?.Cells[i + r, j + 1]?.Value);
+                    }
+                    data.Add(row);
+                }
+                dataList.Add(data);
+
+            }
+
+        }
+
+
+
+        /// <summary>
+        ///   浠ユ枃浠舵祦IFormFile鏂瑰紡瀵煎叆鍒癉ataTable
+        /// </summary>
+        /// <param name="file"></param>
+        /// <param name="headStartLine"></param>
+        /// <param name="dataStartLine"></param>
+        /// <param name="flag"></param>
+        /// <returns></returns>
+        public static DataTable ImportExcelToDataTable(IFormFile file, int headStartLine, int dataStartLine)
+        {
+
+            if (file == null) throw Oops.Oh(ErrorCodeEnum.D8000);
+
+            //鏆傛椂娉ㄩ噴锛屼互鍚庡啀鏀惧紑 銆怑ditby shaocx,2024-04-15銆�
+            /*
+            string key = "UploadFile:Excel";
+            var allowContentTypes = App.Configuration.GetSection($"{key}:contentType").Get<IEnumerable<string>>();
+            if (!allowContentTypes.Contains(file.ContentType)) throw Oops.Oh(ErrorCode.D8001);
+            //*/
+
+            List<string> headers = new List<string>();
+            System.Data.DataTable dataTable = null;
+            ExcelPackage package = null;
+            DataColumn column = null;
+            DataRow dataRow = null;
+            try
+            {
+
+                //璇诲彇Excel鏂囦欢
+                using (package = new ExcelPackage(file.OpenReadStream()))
+                {
+                    var worksheet = package.Workbook.Worksheets.Count > 0 ? package.Workbook.Worksheets[0] : null;
+
+                    dataTable = new System.Data.DataTable();
+
+                    var rowsCount = worksheet.Dimension.Rows-2;//鎬昏鏁�
+                    //var cellsCount = worksheet?.Cells?.Count() ?? 0;
+
+
+
+                    int col = 1;
+                    string? header = worksheet?.Cells[headStartLine, col++].Value?.ToString();
+                    //鏋勫缓datatable鐨勫垪
+                    while (!string.IsNullOrWhiteSpace(header))
+                    {
+                        headers.Add(header);
+                        column = new DataColumn(header);
+                        dataTable.Columns.Add(column);
+                        header = worksheet?.Cells[headStartLine, col++]?.Value?.ToString();
+                    }
+                    var headersCount = headers.Count;
+                    if (headersCount == 0) throw Oops.Oh("琛ㄥご鏁伴噺涓嶈兘涓�0");
+                    //var rowsCount = (int)Math.Ceiling(((double)cellsCount) / headersCount) - dataStartLine + 1;
+
+                    //濉厖琛�
+                    for (var i = 0; i < rowsCount; i++)
+                    {
+                        dataRow = dataTable.NewRow();
+
+                        for (var j = 0; j < headersCount; j++)
+                        {
+                            var cell = worksheet?.Cells[i + dataStartLine, j + 1];
+
+                            if (cell == null)
+                            {
+                                dataRow[j] = "";
+                            }
+                            else
+                            {
+                                #region 绫诲瀷鍒ゆ柇
+                                //CellType(Unknown = -1,Numeric = 0,String = 1,Formula = 2,Blank = 3,Boolean = 4,Error = 5,)
+                                //switch (cell.GetType())
+                                //{
+                                //    case CellType.Blank:
+                                //        dataRow[j] = "";
+                                //        break;
+
+                                //    case CellType.Numeric:
+                                //        short format = cell.CellStyle.DataFormat;
+                                //        //瀵规椂闂存牸寮忥紙2015.12.5銆�2015/12/5銆�2015-12-5绛夛級鐨勫鐞�
+                                //        if (format == 14 || format == 31 || format == 57 || format == 58)
+                                //        {
+                                //            if (DateUtil.IsCellDateFormatted(cell))
+                                //            {
+                                //                dataRow[j] = cell.DateCellValue.Date.ToString();
+                                //            }
+                                //        }
+                                //        else
+                                //        {
+                                //            dataRow[j] = cell.NumericCellValue;
+                                //        }
+
+                                //        break;
+
+                                //    case CellType.String:
+                                //        dataRow[j] = cell.StringCellValue;
+                                //        break;
+                                //}
+
+                                #endregion
+                                dataRow[j] = cell?.Value;
+                            }
+                        }
+
+                        //鍘婚櫎绌虹櫧琛屾暟鎹�
+                        bool rowdataisnull = true;
+                        for (int k = 0; k <= headersCount - 1; ++k)
+                        {
+                            if (!string.IsNullOrEmpty(dataRow[k] as string))
+                            {
+                                rowdataisnull = false;
+                            }
+                        }
+                        if (!rowdataisnull)
+                        {
+                            dataTable.Rows.Add(dataRow);
+                        }
+
+                    }
+
+
+                };
+
+
+            }
+            catch (Exception ex)
+            {
+
+                throw Oops.Oh("瀵煎叆寮傚父锛岃鑱旂郴绠$悊鍛�");
+            }
+            finally
+            {
+                if (package != null) package.Dispose();
+
+            }
+            return dataTable;
+
+
+
+        }
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/GM/GM.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/GM/GM.cs
new file mode 100644
index 0000000..69ea734
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/GM/GM.cs
@@ -0,0 +1,471 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Org.BouncyCastle.Asn1;
+using Org.BouncyCastle.Asn1.GM;
+using Org.BouncyCastle.Asn1.X9;
+using Org.BouncyCastle.Crypto;
+using Org.BouncyCastle.Crypto.Digests;
+using Org.BouncyCastle.Crypto.Engines;
+using Org.BouncyCastle.Crypto.Generators;
+using Org.BouncyCastle.Crypto.Parameters;
+using Org.BouncyCastle.Math;
+using Org.BouncyCastle.Security;
+using Org.BouncyCastle.Utilities;
+using Org.BouncyCastle.Utilities.Encoders;
+using Org.BouncyCastle.X509;
+
+namespace Admin.NET.Core;
+
+/**
+ *
+ * 鐢˙C鐨勬敞鎰忕偣锛�
+ * 杩欎釜鐗堟湰鐨凚C瀵筍M3withSM2鐨勭粨鏋滀负asn1鏍煎紡鐨剅鍜宻锛屽鏋滈渶瑕佺洿鎺ユ嫾鎺ョ殑r||s闇�瑕佽嚜宸辫浆鎹€�備笅闈sAsn1ToPlainByteArray銆乺sPlainByteArrayToAsn1灏卞湪骞茶繖浜嬨��
+ * 杩欎釜鐗堟湰鐨凚C瀵筍M2鐨勭粨鏋滀负C1||C2||C3锛屾嵁璇翠负鏃ф爣鍑嗭紝鏂版爣鍑嗕负C1||C3||C2锛岀敤鏂版爣鍑嗙殑闇�瑕佽嚜宸辫浆鎹€�備笅闈紙琚敞閲婃帀鐨勶級changeC1C2C3ToC1C3C2銆乧hangeC1C3C2ToC1C2C3灏卞湪骞茶繖浜嬨�俲ava鐗堢殑楂樼増鏈湁鍔犱笂C1C3C2锛宑sharp鐗堟病鍑嗕互鍚庝篃浼氬姞锛屼絾鐩墠杩樻病鏈夛紝java鐗堢殑鐩墠鍙互鍒濆鍖栨椂鈥� SM2Engine sm2Engine = new SM2Engine(SM2Engine.Mode.C1C3C2);鈥濄��
+ *
+ */
+
+public class GM
+{
+    private static X9ECParameters x9ECParameters = GMNamedCurves.GetByName("sm2p256v1");
+    private static ECDomainParameters ecDomainParameters = new(x9ECParameters.Curve, x9ECParameters.G, x9ECParameters.N);
+
+    /**
+     *
+     * @param msg
+     * @param userId
+     * @param privateKey
+     * @return r||s锛岀洿鎺ユ嫾鎺yte鏁扮粍鐨剅s
+     */
+
+    public static byte[] SignSm3WithSm2(byte[] msg, byte[] userId, AsymmetricKeyParameter privateKey)
+    {
+        return RsAsn1ToPlainByteArray(SignSm3WithSm2Asn1Rs(msg, userId, privateKey));
+    }
+
+    /**
+      * @param msg
+      * @param userId
+      * @param privateKey
+      * @return rs in <b>asn1 format</b>
+      */
+
+    public static byte[] SignSm3WithSm2Asn1Rs(byte[] msg, byte[] userId, AsymmetricKeyParameter privateKey)
+    {
+        ISigner signer = SignerUtilities.GetSigner("SM3withSM2");
+        signer.Init(true, new ParametersWithID(privateKey, userId));
+        signer.BlockUpdate(msg, 0, msg.Length);
+        byte[] sig = signer.GenerateSignature();
+        return sig;
+    }
+
+    /**
+    *
+    * @param msg
+    * @param userId
+    * @param rs r||s锛岀洿鎺ユ嫾鎺yte鏁扮粍鐨剅s
+    * @param publicKey
+    * @return
+    */
+
+    public static bool VerifySm3WithSm2(byte[] msg, byte[] userId, byte[] rs, AsymmetricKeyParameter publicKey)
+    {
+        if (rs == null || msg == null || userId == null) return false;
+        if (rs.Length != RS_LEN * 2) return false;
+        return VerifySm3WithSm2Asn1Rs(msg, userId, RsPlainByteArrayToAsn1(rs), publicKey);
+    }
+
+    /**
+     *
+     * @param msg
+     * @param userId
+     * @param rs in <b>asn1 format</b>
+     * @param publicKey
+     * @return
+     */
+
+    public static bool VerifySm3WithSm2Asn1Rs(byte[] msg, byte[] userId, byte[] sign, AsymmetricKeyParameter publicKey)
+    {
+        ISigner signer = SignerUtilities.GetSigner("SM3withSM2");
+        signer.Init(false, new ParametersWithID(publicKey, userId));
+        signer.BlockUpdate(msg, 0, msg.Length);
+        return signer.VerifySignature(sign);
+    }
+
+    /**
+     * bc鍔犺В瀵嗕娇鐢ㄦ棫鏍嘽1||c2||c3锛屾鏂规硶鍦ㄥ姞瀵嗗悗璋冪敤锛屽皢缁撴灉杞寲涓篶1||c3||c2
+     * @param c1c2c3
+     * @return
+     */
+
+    private static byte[] ChangeC1C2C3ToC1C3C2(byte[] c1c2c3)
+    {
+        int c1Len = (x9ECParameters.Curve.FieldSize + 7) / 8 * 2 + 1; //sm2p256v1鐨勮繖涓浐瀹�65銆傚彲鐪婫MNamedCurves銆丒CCurve浠g爜銆�
+        const int c3Len = 32; //new SM3Digest().getDigestSize();
+        byte[] result = new byte[c1c2c3.Length];
+        Buffer.BlockCopy(c1c2c3, 0, result, 0, c1Len); //c1
+        Buffer.BlockCopy(c1c2c3, c1c2c3.Length - c3Len, result, c1Len, c3Len); //c3
+        Buffer.BlockCopy(c1c2c3, c1Len, result, c1Len + c3Len, c1c2c3.Length - c1Len - c3Len); //c2
+        return result;
+    }
+
+    /**
+     * bc鍔犺В瀵嗕娇鐢ㄦ棫鏍嘽1||c3||c2锛屾鏂规硶鍦ㄨВ瀵嗗墠璋冪敤锛屽皢瀵嗘枃杞寲涓篶1||c2||c3鍐嶅幓瑙e瘑
+     * @param c1c3c2
+     * @return
+     */
+
+    private static byte[] ChangeC1C3C2ToC1C2C3(byte[] c1c3c2)
+    {
+        int c1Len = (x9ECParameters.Curve.FieldSize + 7) / 8 * 2 + 1; //sm2p256v1鐨勮繖涓浐瀹�65銆傚彲鐪婫MNamedCurves銆丒CCurve浠g爜銆�
+        const int c3Len = 32; //new SM3Digest().GetDigestSize();
+        byte[] result = new byte[c1c3c2.Length];
+        Buffer.BlockCopy(c1c3c2, 0, result, 0, c1Len); //c1: 0->65
+        Buffer.BlockCopy(c1c3c2, c1Len + c3Len, result, c1Len, c1c3c2.Length - c1Len - c3Len); //c2
+        Buffer.BlockCopy(c1c3c2, c1Len, result, c1c3c2.Length - c3Len, c3Len); //c3
+        return result;
+    }
+
+    /**
+     * c1||c3||c2
+     * @param data
+     * @param key
+     * @return
+     */
+
+    public static byte[] Sm2Decrypt(byte[] data, AsymmetricKeyParameter key)
+    {
+        return Sm2DecryptOld(ChangeC1C3C2ToC1C2C3(data), key);
+    }
+
+    /**
+     * c1||c3||c2
+     * @param data
+     * @param key
+     * @return
+     */
+
+    public static byte[] Sm2Encrypt(byte[] data, AsymmetricKeyParameter key)
+    {
+        return ChangeC1C2C3ToC1C3C2(Sm2EncryptOld(data, key));
+    }
+
+    /**
+     * c1||c2||c3
+     * @param data
+     * @param key
+     * @return
+     */
+
+    public static byte[] Sm2EncryptOld(byte[] data, AsymmetricKeyParameter pubkey)
+    {
+        SM2Engine sm2Engine = new SM2Engine();
+        sm2Engine.Init(true, new ParametersWithRandom(pubkey, new SecureRandom()));
+        return sm2Engine.ProcessBlock(data, 0, data.Length);
+    }
+
+    /**
+     * c1||c2||c3
+     * @param data
+     * @param key
+     * @return
+     */
+
+    public static byte[] Sm2DecryptOld(byte[] data, AsymmetricKeyParameter key)
+    {
+        SM2Engine sm2Engine = new SM2Engine();
+        sm2Engine.Init(false, key);
+        return sm2Engine.ProcessBlock(data, 0, data.Length);
+    }
+
+    /**
+     * @param bytes
+     * @return
+     */
+
+    public static byte[] Sm3(byte[] bytes)
+    {
+        SM3Digest digest = new();
+        digest.BlockUpdate(bytes, 0, bytes.Length);
+        byte[] result = DigestUtilities.DoFinal(digest);
+        return result;
+    }
+
+    private const int RS_LEN = 32;
+
+    private static byte[] BigIntToFixexLengthBytes(BigInteger rOrS)
+    {
+        // for sm2p256v1, n is 00fffffffeffffffffffffffffffffffff7203df6b21c6052b53bbf40939d54123,
+        // r and s are the result of mod n, so they should be less than n and have length<=32
+        byte[] rs = rOrS.ToByteArray();
+        if (rs.Length == RS_LEN) return rs;
+        else if (rs.Length == RS_LEN + 1 && rs[0] == 0) return Arrays.CopyOfRange(rs, 1, RS_LEN + 1);
+        else if (rs.Length < RS_LEN)
+        {
+            byte[] result = new byte[RS_LEN];
+            Arrays.Fill(result, (byte)0);
+            Buffer.BlockCopy(rs, 0, result, RS_LEN - rs.Length, rs.Length);
+            return result;
+        }
+        else
+        {
+            throw new ArgumentException("err rs: " + Hex.ToHexString(rs));
+        }
+    }
+
+    /**
+     * BC鐨凷M3withSM2绛惧悕寰楀埌鐨勭粨鏋滅殑rs鏄痑sn1鏍煎紡鐨勶紝杩欎釜鏂规硶杞寲鎴愮洿鎺ユ嫾鎺||s
+     * @param rsDer rs in asn1 format
+     * @return sign result in plain byte array
+     */
+
+    private static byte[] RsAsn1ToPlainByteArray(byte[] rsDer)
+    {
+        Asn1Sequence seq = Asn1Sequence.GetInstance(rsDer);
+        byte[] r = BigIntToFixexLengthBytes(DerInteger.GetInstance(seq[0]).Value);
+        byte[] s = BigIntToFixexLengthBytes(DerInteger.GetInstance(seq[1]).Value);
+        byte[] result = new byte[RS_LEN * 2];
+        Buffer.BlockCopy(r, 0, result, 0, r.Length);
+        Buffer.BlockCopy(s, 0, result, RS_LEN, s.Length);
+        return result;
+    }
+
+    /**
+     * BC鐨凷M3withSM2楠岀闇�瑕佺殑rs鏄痑sn1鏍煎紡鐨勶紝杩欎釜鏂规硶灏嗙洿鎺ユ嫾鎺||s鐨勫瓧鑺傛暟缁勮浆鍖栨垚asn1鏍煎紡
+     * @param sign in plain byte array
+     * @return rs result in asn1 format
+     */
+
+    private static byte[] RsPlainByteArrayToAsn1(byte[] sign)
+    {
+        if (sign.Length != RS_LEN * 2) throw new ArgumentException("err rs. ");
+        BigInteger r = new BigInteger(1, Arrays.CopyOfRange(sign, 0, RS_LEN));
+        BigInteger s = new BigInteger(1, Arrays.CopyOfRange(sign, RS_LEN, RS_LEN * 2));
+        Asn1EncodableVector v = new Asn1EncodableVector
+        {
+            new DerInteger(r),
+            new DerInteger(s)
+        };
+
+        return new DerSequence(v).GetEncoded("DER");
+    }
+
+    // 鐢熸垚鍏鍖欏
+    public static AsymmetricCipherKeyPair GenerateKeyPair()
+    {
+        ECKeyPairGenerator kpGen = new();
+        kpGen.Init(new ECKeyGenerationParameters(ecDomainParameters, new SecureRandom()));
+        return kpGen.GenerateKeyPair();
+    }
+
+    public static ECPrivateKeyParameters GetPrivatekeyFromD(BigInteger d)
+    {
+        return new ECPrivateKeyParameters(d, ecDomainParameters);
+    }
+
+    public static ECPublicKeyParameters GetPublickeyFromXY(BigInteger x, BigInteger y)
+    {
+        return new ECPublicKeyParameters(x9ECParameters.Curve.CreatePoint(x, y), ecDomainParameters);
+    }
+
+    public static AsymmetricKeyParameter GetPublickeyFromX509File(FileInfo file)
+    {
+        FileStream fileStream = null;
+        try
+        {
+            //file.DirectoryName + "\\" + file.Name
+            fileStream = new FileStream(file.FullName, FileMode.Open, FileAccess.Read);
+            X509Certificate certificate = new X509CertificateParser().ReadCertificate(fileStream);
+            return certificate.GetPublicKey();
+        }
+        catch (Exception)
+        {
+            //log.Error(file.Name + "璇诲彇澶辫触锛屽紓甯革細" + e);
+        }
+        finally
+        {
+            if (fileStream != null)
+                fileStream.Close();
+        }
+        return null;
+    }
+
+    public class Sm2Cert
+    {
+        public AsymmetricKeyParameter privateKey;
+        public AsymmetricKeyParameter publicKey;
+        public string certId;
+    }
+
+    private static byte[] ToByteArray(int i)
+    {
+        byte[] byteArray = new byte[4];
+        byteArray[0] = (byte)(i >> 24);
+        byteArray[1] = (byte)((i & 0xFFFFFF) >> 16);
+        byteArray[2] = (byte)((i & 0xFFFF) >> 8);
+        byteArray[3] = (byte)(i & 0xFF);
+        return byteArray;
+    }
+
+    /**
+     * 瀛楄妭鏁扮粍鎷兼帴
+     *
+     * @param params
+     * @return
+     */
+
+    private static byte[] Join(params byte[][] byteArrays)
+    {
+        List<byte> byteSource = new();
+        for (int i = 0; i < byteArrays.Length; i++)
+        {
+            byteSource.AddRange(byteArrays[i]);
+        }
+        byte[] data = byteSource.ToArray();
+        return data;
+    }
+
+    /**
+     * 瀵嗛挜娲剧敓鍑芥暟
+     *
+     * @param Z
+     * @param klen
+     * 鐢熸垚klen瀛楄妭鏁伴暱搴︾殑瀵嗛挜
+     * @return
+     */
+
+    private static byte[] KDF(byte[] Z, int klen)
+    {
+        int ct = 1;
+        int end = (int)Math.Ceiling(klen * 1.0 / 32);
+        List<byte> byteSource = new();
+
+        for (int i = 1; i < end; i++)
+        {
+            byteSource.AddRange(Sm3(Join(Z, ToByteArray(ct))));
+            ct++;
+        }
+        byte[] last = Sm3(Join(Z, ToByteArray(ct)));
+        if (klen % 32 == 0)
+        {
+            byteSource.AddRange(last);
+        }
+        else
+            byteSource.AddRange(Arrays.CopyOfRange(last, 0, klen % 32));
+        return byteSource.ToArray();
+    }
+
+    public static byte[] Sm4DecryptCBC(byte[] keyBytes, byte[] cipher, byte[] iv, string algo)
+    {
+        if (keyBytes.Length != 16) throw new ArgumentException("err key length");
+        if (cipher.Length % 16 != 0 && algo.Contains("NoPadding")) throw new ArgumentException("err data length");
+
+        KeyParameter key = ParameterUtilities.CreateKeyParameter("SM4", keyBytes);
+        IBufferedCipher c = CipherUtilities.GetCipher(algo);
+        if (iv == null) iv = ZeroIv(algo);
+        c.Init(false, new ParametersWithIV(key, iv));
+        return c.DoFinal(cipher);
+    }
+
+    public static byte[] Sm4EncryptCBC(byte[] keyBytes, byte[] plain, byte[] iv, string algo)
+    {
+        if (keyBytes.Length != 16) throw new ArgumentException("err key length");
+        if (plain.Length % 16 != 0 && algo.Contains("NoPadding")) throw new ArgumentException("err data length");
+
+        KeyParameter key = ParameterUtilities.CreateKeyParameter("SM4", keyBytes);
+        IBufferedCipher c = CipherUtilities.GetCipher(algo);
+        if (iv == null) iv = ZeroIv(algo);
+        c.Init(true, new ParametersWithIV(key, iv));
+        return c.DoFinal(plain);
+    }
+
+    public static byte[] Sm4EncryptECB(byte[] keyBytes, byte[] plain, string algo)
+    {
+        if (keyBytes.Length != 16) throw new ArgumentException("err key length");
+        //NoPadding 鐨勬儏鍐典笅闇�瑕佹牎楠屾暟鎹暱搴︽槸16鐨勫�嶆暟.
+        if (plain.Length % 16 != 0 && algo.Contains("NoPadding")) throw new ArgumentException("err data length");
+
+        KeyParameter key = ParameterUtilities.CreateKeyParameter("SM4", keyBytes);
+        IBufferedCipher c = CipherUtilities.GetCipher(algo);
+        c.Init(true, key);
+        return c.DoFinal(plain);
+    }
+
+    public static byte[] Sm4DecryptECB(byte[] keyBytes, byte[] cipher, string algo)
+    {
+        if (keyBytes.Length != 16) throw new ArgumentException("err key length");
+        if (cipher.Length % 16 != 0 && algo.Contains("NoPadding")) throw new ArgumentException("err data length");
+
+        KeyParameter key = ParameterUtilities.CreateKeyParameter("SM4", keyBytes);
+        IBufferedCipher c = CipherUtilities.GetCipher(algo);
+        c.Init(false, key);
+        return c.DoFinal(cipher);
+    }
+
+    public const string SM4_ECB_NOPADDING = "SM4/ECB/NoPadding";
+    public const string SM4_CBC_NOPADDING = "SM4/CBC/NoPadding";
+    public const string SM4_ECB_PKCS7PADDING = "SM4/ECB/PKCS7Padding";
+    public const string SM4_CBC_PKCS7PADDING = "SM4/CBC/PKCS7Padding";
+
+    /**
+     * cfca瀹樼綉CSP娌欑瀵煎嚭鐨剆m2鏂囦欢
+     * @param pem 浜岃繘鍒跺師鏂�
+     * @param pwd 瀵嗙爜
+     * @return
+     */
+
+    public static Sm2Cert ReadSm2File(byte[] pem, string pwd)
+    {
+        Sm2Cert sm2Cert = new();
+
+        Asn1Sequence asn1Sequence = (Asn1Sequence)Asn1Object.FromByteArray(pem);
+        //            ASN1Integer asn1Integer = (ASN1Integer) asn1Sequence.getObjectAt(0); //version=1
+        Asn1Sequence priSeq = (Asn1Sequence)asn1Sequence[1];//private key
+        Asn1Sequence pubSeq = (Asn1Sequence)asn1Sequence[2];//public key and x509 cert
+
+        //            ASN1ObjectIdentifier sm2DataOid = (ASN1ObjectIdentifier) priSeq.getObjectAt(0);
+        //            ASN1ObjectIdentifier sm4AlgOid = (ASN1ObjectIdentifier) priSeq.getObjectAt(1);
+        Asn1OctetString priKeyAsn1 = (Asn1OctetString)priSeq[2];
+        byte[] key = KDF(System.Text.Encoding.UTF8.GetBytes(pwd), 32);
+        byte[] priKeyD = Sm4DecryptCBC(Arrays.CopyOfRange(key, 16, 32),
+                priKeyAsn1.GetOctets(),
+                Arrays.CopyOfRange(key, 0, 16), SM4_CBC_PKCS7PADDING);
+        sm2Cert.privateKey = GetPrivatekeyFromD(new BigInteger(1, priKeyD));
+        //            log.Info(Hex.toHexString(priKeyD));
+
+        //            ASN1ObjectIdentifier sm2DataOidPub = (ASN1ObjectIdentifier) pubSeq.getObjectAt(0);
+        Asn1OctetString pubKeyX509 = (Asn1OctetString)pubSeq[1];
+        X509Certificate x509 = new X509CertificateParser().ReadCertificate(pubKeyX509.GetOctets());
+        sm2Cert.publicKey = x509.GetPublicKey();
+        sm2Cert.certId = x509.SerialNumber.ToString(10); //杩欓噷杞�10杩涘埗锛屾湁鍟ュ叾浠栬繘鍒惰姹傜殑鑷繁鏀规敼
+        return sm2Cert;
+    }
+
+    /**
+     *
+     * @param cert
+     * @return
+     */
+
+    public static Sm2Cert ReadSm2X509Cert(byte[] cert)
+    {
+        Sm2Cert sm2Cert = new();
+
+        X509Certificate x509 = new X509CertificateParser().ReadCertificate(cert);
+        sm2Cert.publicKey = x509.GetPublicKey();
+        sm2Cert.certId = x509.SerialNumber.ToString(10); //杩欓噷杞�10杩涘埗锛屾湁鍟ュ叾浠栬繘鍒惰姹傜殑鑷繁鏀规敼
+        return sm2Cert;
+    }
+
+    public static byte[] ZeroIv(string algo)
+    {
+        IBufferedCipher cipher = CipherUtilities.GetCipher(algo);
+        int blockSize = cipher.GetBlockSize();
+        byte[] iv = new byte[blockSize];
+        Arrays.Fill(iv, (byte)0);
+        return iv;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/GM/GMUtil.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/GM/GMUtil.cs
new file mode 100644
index 0000000..d92853a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/GM/GMUtil.cs
@@ -0,0 +1,151 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Org.BouncyCastle.Crypto;
+using Org.BouncyCastle.Math;
+using Org.BouncyCastle.Utilities.Encoders;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// GM宸ュ叿绫�
+/// </summary>
+public class GMUtil
+{
+    /// <summary>
+    /// SM2鍔犲瘑
+    /// </summary>
+    /// <param name="publicKeyHex"></param>
+    /// <param name="data_string"></param>
+    /// <returns></returns>
+    public static string SM2Encrypt(string publicKeyHex, string data_string)
+    {
+        // 濡傛灉鏄�130浣嶅叕閽ワ紝.NET浣跨敤鐨勮瘽锛屾妸寮�澶寸殑04鎴彇鎺�
+        if (publicKeyHex.Length == 130)
+        {
+            publicKeyHex = publicKeyHex.Substring(2, 128);
+        }
+        // 鍏挜X锛屽墠64浣�
+        string x = publicKeyHex.Substring(0, 64);
+        // 鍏挜Y锛屽悗64浣�
+        string y = publicKeyHex.Substring(64);
+        // 鑾峰彇鍏挜瀵硅薄
+        AsymmetricKeyParameter publicKey1 = GM.GetPublickeyFromXY(new BigInteger(x, 16), new BigInteger(y, 16));
+        // Sm2Encrypt: C1C3C2
+        // Sm2EncryptOld: C1C2C3
+        byte[] digestByte = GM.Sm2Encrypt(Encoding.UTF8.GetBytes(data_string), publicKey1);
+        string strSM2 = Hex.ToHexString(digestByte);
+        return strSM2;
+    }
+
+    /// <summary>
+    /// SM2瑙e瘑
+    /// </summary>
+    /// <param name="privateKey_string"></param>
+    /// <param name="encryptedData_string"></param>
+    /// <returns></returns>
+    public static string SM2Decrypt(string privateKey_string, string encryptedData_string)
+    {
+        if (!encryptedData_string.StartsWith("04"))
+            encryptedData_string = "04" + encryptedData_string;
+        BigInteger d = new(privateKey_string, 16);
+        // 鍏堟嬁鍒扮閽ュ璞★紝鐢‥CPrivateKeyParameters 鎴� AsymmetricKeyParameter 閮藉彲浠�
+        // ECPrivateKeyParameters bcecPrivateKey = GmUtil.GetPrivatekeyFromD(d);
+        AsymmetricKeyParameter bcecPrivateKey = GM.GetPrivatekeyFromD(d);
+        byte[] byToDecrypt = Hex.Decode(encryptedData_string);
+        byte[] byDecrypted = GM.Sm2Decrypt(byToDecrypt, bcecPrivateKey);
+        string strDecrypted = Encoding.UTF8.GetString(byDecrypted);
+        return strDecrypted;
+    }
+
+    /// <summary>
+    /// SM4鍔犲瘑锛圗CB锛�
+    /// </summary>
+    /// <param name="key_string"></param>
+    /// <param name="plainText"></param>
+    /// <returns></returns>
+    public static string SM4EncryptECB(string key_string, string plainText)
+    {
+        byte[] key = Hex.Decode(key_string);
+        byte[] bs = GM.Sm4EncryptECB(key, Encoding.UTF8.GetBytes(plainText), GM.SM4_ECB_PKCS7PADDING);//NoPadding 鐨勬儏鍐典笅闇�瑕佹牎楠屾暟鎹暱搴︽槸16鐨勫�嶆暟. 浣跨敤 HandleSm4Padding 澶勭悊
+        return Hex.ToHexString(bs);
+    }
+
+    /// <summary>
+    /// SM4瑙e瘑锛圗CB锛�
+    /// </summary>
+    /// <param name="key_string"></param>
+    /// <param name="cipherText"></param>
+    /// <returns></returns>
+    public static string SM4DecryptECB(string key_string, string cipherText)
+    {
+        byte[] key = Hex.Decode(key_string);
+        byte[] bs = GM.Sm4DecryptECB(key, Hex.Decode(cipherText), GM.SM4_ECB_PKCS7PADDING);
+        return Encoding.UTF8.GetString(bs);
+    }
+
+    /// <summary>
+    /// SM4鍔犲瘑锛圕BC锛�
+    /// </summary>
+    /// <param name="key_string"></param>
+    /// <param name="iv_string"></param>
+    /// <param name="plainText"></param>
+    /// <returns></returns>
+    public static string SM4EncryptCBC(string key_string, string iv_string, string plainText)
+    {
+        byte[] key = Hex.Decode(key_string);
+        byte[] iv = Hex.Decode(iv_string);
+        byte[] bs = GM.Sm4EncryptCBC(key, Encoding.UTF8.GetBytes(plainText), iv, GM.SM4_CBC_PKCS7PADDING);
+        return Hex.ToHexString(bs);
+    }
+
+    /// <summary>
+    /// SM4瑙e瘑锛圕BC锛�
+    /// </summary>
+    /// <param name="key_string"></param>
+    /// <param name="iv_string"></param>
+    /// <param name="cipherText"></param>
+    /// <returns></returns>
+    public static string SM4DecryptCBC(string key_string, string iv_string, string cipherText)
+    {
+        byte[] key = Hex.Decode(key_string);
+        byte[] iv = Hex.Decode(iv_string);
+        byte[] bs = GM.Sm4DecryptCBC(key, Hex.Decode(cipherText), iv, GM.SM4_CBC_PKCS7PADDING);
+        return Encoding.UTF8.GetString(bs);
+    }
+
+    /// <summary>
+    /// 琛ヨ冻 16 杩涘埗瀛楃涓茬殑 0 瀛楃锛岃繑鍥炰笉甯� 0x 鐨�16杩涘埗瀛楃涓�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <param name="mode">1琛ㄧず鍔犲瘑锛�0琛ㄧず瑙e瘑</param>
+    /// <returns></returns>
+    private static byte[] HandleSm4Padding(byte[] input, int mode)
+    {
+        if (input == null)
+        {
+            return null;
+        }
+        byte[] ret = (byte[])null;
+        if (mode == 1)
+        {
+            int p = 16 - input.Length % 16;
+            ret = new byte[input.Length + p];
+            Array.Copy(input, 0, ret, 0, input.Length);
+            for (int i = 0; i < p; i++)
+            {
+                ret[input.Length + i] = (byte)p;
+            }
+        }
+        else
+        {
+            int p = input[input.Length - 1];
+            ret = new byte[input.Length - p];
+            Array.Copy(input, 0, ret, 0, input.Length - p);
+        }
+        return ret;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/GetEnumDescriptionUtil.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/GetEnumDescriptionUtil.cs
new file mode 100644
index 0000000..2f992e1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/GetEnumDescriptionUtil.cs
@@ -0,0 +1,39 @@
+锘�// 楹荤渷鐞嗗伐瀛﹂櫌璁稿彲璇�
+//
+// 鐗堟潈鎵�鏈� (c) 2021-2023 zuohuaijun锛屽ぇ鍚嶇鎶�锛堝ぉ娲ワ級鏈夐檺鍏徃  鑱旂郴鐢佃瘽/寰俊锛�18020030720  QQ锛�515096995
+//
+// 鐗规鍏嶈垂鎺堜簣鑾峰緱鏈蒋浠剁殑浠讳綍浜轰互澶勭悊鏈蒋浠剁殑鏉冨埄锛屼絾椤婚伒瀹堜互涓嬫潯浠讹細鍦ㄦ墍鏈夊壇鏈垨閲嶈閮ㄥ垎鐨勮蒋浠朵腑蹇呴』鍖呮嫭涓婅堪鐗堟潈澹版槑鍜屾湰璁稿彲澹版槑銆�
+//
+// 杞欢鎸夆�滃師鏍封�濇彁渚涳紝涓嶆彁渚涗换浣曞舰寮忕殑鏄庣ず鎴栨殫绀虹殑淇濊瘉锛屽寘鎷絾涓嶉檺浜庡閫傞攢鎬с�侀�傜敤鎬у拰闈炰镜鏉冪殑淇濊瘉銆�
+// 鍦ㄤ换浣曟儏鍐典笅锛屼綔鑰呮垨鐗堟潈鎸佹湁浜哄潎涓嶅浠讳綍绱㈣禂銆佹崯瀹虫垨鍏朵粬璐d换璐熻矗锛屾棤璁烘槸鍥犲悎鍚屻�佷镜鏉冩垨鍏朵粬鏂瑰紡寮曡捣鐨勶紝涓庤蒋浠舵垨鍏朵娇鐢ㄦ垨鍏朵粬浜ゆ槗鏈夊叧銆�
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Core;
+public class GetEnumDescriptionUtil
+{
+    /// <summary>
+    /// 鑾峰彇鏋氫妇鐨勬弿杩�
+    /// </summary>
+    /// <param name="enumValue"></param>
+    /// <returns></returns>
+    public static string GetEnumDescription(Enum enumValue)
+    {
+        string value = enumValue.ToString();
+        if (string.IsNullOrWhiteSpace(value)|| value == "0") return "";
+        FieldInfo field = enumValue.GetType().GetField(value);
+        if (field==null)
+        {
+            throw Oops.Oh($"閫氳繃鏋氫妇鍊艰幏鍙栨弿杩板睘鎬уけ璐�");
+        }
+        object[] objs = field.GetCustomAttributes(typeof(DescriptionAttribute), false);  //鑾峰彇鎻忚堪灞炴��
+        if (objs == null || objs.Length == 0)  //褰撴弿杩板睘鎬ф病鏈夋椂锛岀洿鎺ヨ繑鍥炲悕绉�
+            return value;
+        DescriptionAttribute descriptionAttribute = (DescriptionAttribute)objs[0];
+        return descriptionAttribute.Description;
+    }
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/MnemonicCodeUtil.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/MnemonicCodeUtil.cs
new file mode 100644
index 0000000..861d235
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/MnemonicCodeUtil.cs
@@ -0,0 +1,236 @@
+using Furion;
+using System.Text;
+
+namespace Admin.NET.Core
+{
+    /// <summary>
+    /// 生成助记码
+    /// </summary>
+    public class MnemonicCodeUtil
+    {
+        private struct ItemWord
+        {
+            public int numFlag;     //是否多音字
+            public char strWord;    //当前单词
+            public string strSpell1;//输入码1
+            public string strSpell2;//输入码2
+            public string strExt;   //多音字保留串
+            public string strName;  //用于定义姓氏码
+        }
+
+        private static readonly int INTMAX = 65536;
+        private static ItemWord[] stWord = new ItemWord[INTMAX];
+        private static Boolean b_LoadData = false;
+
+        //读取所有汉字
+        public static Boolean fun_LoadWords()
+        {
+            int i, numIndex;
+            int numCount1, numCount2;
+            string strFileName;
+            char[] chrWord;
+
+            if (b_LoadData)
+                return true;
+
+            //以下初始化所有的数据
+            for (i = 0; i < INTMAX; i++)
+            {
+                stWord[i].numFlag = 0;
+                stWord[i].strSpell1 = "";
+                stWord[i].strSpell2 = "";
+                stWord[i].strName = "";
+                stWord[i].strExt = "|";
+            }
+
+            var rootPath = System.IO.Path.Combine(App.WebHostEnvironment.WebRootPath, "ChineseSpellFile");
+
+            //读取汉字拼音
+            strFileName = rootPath + @"\hzpy1.txt";
+            StreamReader srFile = new StreamReader(strFileName, Encoding.ASCII);
+            string strInput = null;
+
+            numCount1 = 0;
+            while ((strInput = srFile.ReadLine()) != null)
+            {
+                chrWord = strInput.ToCharArray();
+                numIndex = (int)chrWord[0];
+
+                if (numIndex <= 0) continue;
+                if (numIndex >= INTMAX) continue;
+
+                stWord[numIndex].strWord = chrWord[0];
+                stWord[numIndex].strSpell1 = chrWord[2].ToString();
+                numCount1++;
+            }
+            srFile.Close();
+
+            //读取多音字
+            strFileName = rootPath + @"\hzpy2.txt";
+            srFile = new StreamReader(strFileName, Encoding.ASCII);
+
+            while ((strInput = srFile.ReadLine()) != null)
+            {
+                chrWord = strInput.ToCharArray();
+                numIndex = (int)chrWord[0];
+
+                if (numIndex <= 0) continue;
+                if (numIndex >= INTMAX) continue;
+
+                stWord[numIndex].numFlag = 1;
+                strInput = strInput.Substring(2);
+                strInput = strInput.Replace("\t", " ");
+
+                while (strInput.IndexOf("  ") >= 0)
+                {
+                    strInput = strInput.Replace("  ", " ");
+                }
+                strInput = strInput.Replace(" ", "/");
+                stWord[numIndex].strExt = stWord[numIndex].strExt + strInput + "|";
+            }
+            srFile.Close();
+
+            //读取姓氏
+            strFileName = rootPath + @"\hzpy3.txt";
+            srFile = new StreamReader(strFileName, Encoding.ASCII);
+
+            while ((strInput = srFile.ReadLine()) != null)
+            {
+                chrWord = strInput.ToCharArray();
+                numIndex = (int)chrWord[0];
+
+                if (numIndex <= 0) continue;
+                if (numIndex >= INTMAX) continue;
+
+                stWord[numIndex].numFlag = 1;
+                strInput = strInput.Substring(2);
+                strInput = strInput.Replace("\t", " ");
+
+                while (strInput.IndexOf("  ") >= 0)
+                {
+                    strInput = strInput.Replace("  ", " ");
+                }
+                stWord[numIndex].strName = strInput;
+            }
+            srFile.Close();
+
+            //以下部分读取五笔码的首字符
+            strFileName = rootPath + @"\hzwb.txt";
+            numCount2 = 0;
+            srFile = new StreamReader(strFileName, Encoding.ASCII);
+
+            while ((strInput = srFile.ReadLine()) != null)
+            {
+                chrWord = strInput.ToCharArray();
+                numIndex = (int)chrWord[0];
+
+                if (numIndex <= 0) continue;
+                if (numIndex >= INTMAX) continue;
+                stWord[numIndex].strWord = chrWord[0];
+                stWord[numIndex].strSpell2 = chrWord[1].ToString();
+                numCount2++;
+            }
+            srFile.Close();
+
+            b_LoadData = true;
+            return true;
+        }
+        private static string funFindMulti(int numIndex, char ch1, char ch2)
+        {
+            int numPos;
+            string strWord;
+
+            strWord = "|" + ch1 + ch2 + "/";
+            numPos = stWord[numIndex].strExt.IndexOf(strWord);
+            if (numPos >= 0)
+                return stWord[numIndex].strExt.Substring(numPos + strWord.Length, 1);
+            return "";
+        }
+
+        /// <summary>
+        /// 助记码(拼音)
+        /// </summary>
+        /// <param name="strChinese"></param>
+        /// <param name="IsName"></param>
+        /// <returns></returns>
+        public static string funChineseSpell(string strChinese, bool IsName)
+        {
+            if (string.IsNullOrWhiteSpace(strChinese))
+            {
+                return string.Empty;
+            }
+            string strSpell, strThis;
+            int i, numCount, numIndex;
+            char[] chrWord;
+
+            strSpell = "";
+            chrWord = strChinese.ToCharArray();
+            numCount = strChinese.Length;
+
+            //2010-03-19 依次处理各汉字的拼音码
+            for (i = 0; i < numCount; i++)
+            {
+                numIndex = (int)chrWord[i];
+
+                if (numIndex <= 0) continue;
+                if (numIndex >= INTMAX) continue;
+
+
+                //2010-03-19 是否多音字
+                strThis = "";
+                if (stWord[numIndex].numFlag > 0 && !IsName)
+                {
+                    if (i > 0)
+                    {
+                        strThis = funFindMulti(numIndex, chrWord[i - 1], chrWord[i]);
+                    }
+                    if (strThis.Length == 0)
+                    {
+                        if (i < numCount - 1)
+                            strThis = funFindMulti(numIndex, chrWord[i], chrWord[i + 1]);
+                    }
+
+                }
+
+                //2010-04-02 按姓名进行处理
+                if (IsName && i == 0 && stWord[numIndex].strName.Length > 0)
+                    strThis = stWord[numIndex].strName;
+
+                //2010-03-20 未找着时是标准码
+                if (strThis.Length == 0)
+                    strThis = stWord[numIndex].strSpell1.ToString();
+                strSpell = strSpell + strThis;
+            }
+            return strSpell;
+        }
+
+        /// <summary>
+        /// 助记码(五笔)
+        /// </summary>
+        /// <param name="strChinese"></param>
+        /// <returns></returns>
+        public string funWbzxSpell(string strChinese)
+        {
+            string strSpell = "";
+            int i, numCount, numIndex;
+            char[] chrWord;
+
+            strSpell = "";
+            chrWord = strChinese.ToCharArray();
+            numCount = strChinese.Length;
+
+            //2010-03-19 依次处理各汉字的五笔编码
+            for (i = 0; i < numCount; i++)
+            {
+                numIndex = (int)chrWord[i];
+
+                if (numIndex <= 0) continue;
+                if (numIndex >= INTMAX) continue;
+
+                strSpell = strSpell + stWord[numIndex].strSpell2.ToString();
+            }
+            return strSpell;
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/NewtonsoftJsonSerializerProvider.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/NewtonsoftJsonSerializerProvider.cs
new file mode 100644
index 0000000..568ffbd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/NewtonsoftJsonSerializerProvider.cs
@@ -0,0 +1,59 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Newtonsoft.Json;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鑷畾涔夊簭鍒楀寲鎻愪緵鍣� Newtonsoft.Json 瀹炵幇
+/// </summary>
+public class NewtonsoftJsonSerializerProvider : IJsonSerializerProvider, ISingleton
+{
+    /// <summary>
+    /// 搴忓垪鍖栧璞�
+    /// </summary>
+    /// <param name="value"></param>
+    /// <param name="jsonSerializerOptions"></param>
+    /// <returns></returns>
+    public string Serialize(object value, object jsonSerializerOptions = null)
+    {
+        return JsonConvert.SerializeObject(value, (jsonSerializerOptions ?? GetSerializerOptions()) as JsonSerializerSettings);
+    }
+
+    /// <summary>
+    /// 鍙嶅簭鍒楀寲瀛楃涓�
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="json"></param>
+    /// <param name="jsonSerializerOptions"></param>
+    /// <returns></returns>
+    public T Deserialize<T>(string json, object jsonSerializerOptions = null)
+    {
+        return JsonConvert.DeserializeObject<T>(json, (jsonSerializerOptions ?? GetSerializerOptions()) as JsonSerializerSettings);
+    }
+
+    /// <summary>
+    /// 鍙嶅簭鍒楀寲瀛楃涓�
+    /// </summary>
+    /// <param name="json"></param>
+    /// <param name="returnType"></param>
+    /// <param name="jsonSerializerOptions"></param>
+    /// <returns></returns>
+    public object Deserialize(string json, Type returnType, object jsonSerializerOptions = null)
+    {
+        return JsonConvert.DeserializeObject(json, returnType, (jsonSerializerOptions ?? GetSerializerOptions()) as JsonSerializerSettings);
+    }
+
+    /// <summary>
+    /// 杩斿洖璇诲彇鍏ㄥ眬閰嶇疆鐨� JSON 閫夐」
+    /// </summary>
+    /// <returns></returns>
+    public object GetSerializerOptions()
+    {
+        return App.GetOptions<MvcNewtonsoftJsonOptions>()?.SerializerSettings;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/ReflectionUtil.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/ReflectionUtil.cs
new file mode 100644
index 0000000..0797a1d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/ReflectionUtil.cs
@@ -0,0 +1,28 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 鍙嶅皠宸ュ叿绫�
+/// </summary>
+public static class ReflectionUtil
+{
+    /// <summary>
+    /// 鑾峰彇瀛楁鐗规��
+    /// </summary>
+    /// <param name="field"></param>
+    /// <typeparam name="T"></typeparam>
+    /// <returns></returns>
+    public static T GetDescriptionValue<T>(this FieldInfo field) where T : Attribute
+    {
+        // 鑾峰彇瀛楁鐨勬寚瀹氱壒鎬э紝涓嶅寘鍚户鎵夸腑鐨勭壒鎬�
+        object[] customAttributes = field.GetCustomAttributes(typeof(T), false);
+
+        // 濡傛灉娌℃湁鏁版嵁杩斿洖null
+        return customAttributes.Length > 0 ? (T)customAttributes[0] : null;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/RegularValidate.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/RegularValidate.cs
new file mode 100644
index 0000000..b7c8bfe
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/RegularValidate.cs
@@ -0,0 +1,36 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 姝e垯鏍¢獙
+/// </summary>
+public static class RegularValidate
+{
+    /// <summary>
+    /// 楠岃瘉瀵嗙爜瑙勫垯
+    /// </summary>
+    /// <param name="password"></param>
+    /// <returns></returns>
+    public static bool ValidatePassword(string password)
+    {
+        var regex = new Regex(@"
+(?=.*[0-9])                     #蹇呴』鍖呭惈鏁板瓧
+(?=.*[a-z])                     #蹇呴』鍖呭惈灏忓啓
+(?=.*[A-Z])                     #蹇呴』鍖呭惈澶у啓
+(?=([\x21-\x7e]+)[^a-zA-Z0-9])  #蹇呴』鍖呭惈鐗规畩绗﹀彿
+.{8,30}                         #鑷冲皯8涓瓧绗︼紝鏈�澶�30涓瓧绗�
+", RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);
+
+        //濡傛灉瑕佹眰蹇呴』鍖呭惈灏忓啓銆佸ぇ鍐欏瓧姣嶏紝鍒欎笂闈㈢殑(?=.*[a-zA-Z]) 瑕佹敼涓猴細
+        /*
+         * (?=.*[a-z])
+         * (?=.*[A-Z])
+         */
+        return regex.IsMatch(password);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/TripleDES.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/TripleDES.cs
new file mode 100644
index 0000000..5410eae
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/TripleDES.cs
@@ -0,0 +1,53 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using System.Security.Cryptography;
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 3DES鏂囦欢鍔犺В瀵�
+/// </summary>
+public static class TripleDES
+{
+    /// <summary>
+    /// 鍔犲瘑鏂囦欢
+    /// </summary>
+    /// <param name="inputFile">寰呭姞瀵嗘枃浠惰矾寰�</param>
+    /// <param name="outputFile">鍔犲瘑鍚庣殑鏂囦欢璺緞</param>
+    /// <param name="password">瀵嗙爜 锛�24浣嶉暱搴︼級</param>
+    [Obsolete]
+    public static void EncryptFile(string inputFile, string outputFile, string password)
+    {
+        using var tdes = new TripleDESCryptoServiceProvider();
+        tdes.Mode = CipherMode.ECB;
+        tdes.Padding = PaddingMode.PKCS7;
+        tdes.Key = Encoding.UTF8.GetBytes(password);
+        using var inputFileStream = new FileStream(inputFile, FileMode.Open);
+        using var encryptedFileStream = new FileStream(outputFile, FileMode.Create);
+        using var cryptoStream = new CryptoStream(encryptedFileStream, tdes.CreateEncryptor(), CryptoStreamMode.Write);
+        inputFileStream.CopyTo(cryptoStream);
+    }
+
+    /// <summary>
+    /// 鍔犲瘑鏂囦欢
+    /// </summary>
+    /// <param name="inputFile">鍔犲瘑鐨勬枃浠惰矾寰�</param>
+    /// <param name="outputFile">瑙e瘑鍚庣殑鏂囦欢璺緞</param>
+    /// <param name="password">瀵嗙爜 锛�24浣嶉暱搴︼級</param>
+    [Obsolete]
+    public static void DecryptFile(string inputFile, string outputFile, string password)
+    {
+        using var tdes = new TripleDESCryptoServiceProvider();
+        tdes.Mode = CipherMode.ECB;
+        tdes.Padding = PaddingMode.PKCS7;
+        tdes.Key = Encoding.UTF8.GetBytes(password);
+        using var encryptedFileStream = new FileStream(inputFile, FileMode.Open);
+        using var decryptedFileStream = new FileStream(outputFile, FileMode.Create);
+        using var cryptoStream = new CryptoStream(encryptedFileStream, tdes.CreateDecryptor(), CryptoStreamMode.Read);
+        cryptoStream.CopyTo(decryptedFileStream);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/VerifyFileExtensionName.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/VerifyFileExtensionName.cs
new file mode 100644
index 0000000..18d13aa
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Util/VerifyFileExtensionName.cs
@@ -0,0 +1,164 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Core;
+
+/// <summary>
+/// 楠岃瘉鏂囦欢绫诲瀷
+/// </summary>
+public static class VerifyFileExtensionName
+{
+    private static readonly IDictionary<string, string> dics_ext = new Dictionary<string, string>();
+    private static readonly IDictionary<string, HashSet<int>> ext_dics = new Dictionary<string, HashSet<int>>();
+
+    static VerifyFileExtensionName()
+    {
+        dics_ext.Add("FFD8FFE0", ".jpg");
+        dics_ext.Add("FFD8FFE1", ".jpg");
+        dics_ext.Add("89504E47", ".png");
+        dics_ext.Add("47494638", ".gif");
+        dics_ext.Add("49492A00", ".tif");
+        dics_ext.Add("424D", ".bmp");
+
+        // PS鍜孋AD
+        dics_ext.Add("38425053", ".psd");
+        dics_ext.Add("41433130", ".dwg"); // CAD
+        dics_ext.Add("252150532D41646F6265", ".ps");
+
+        // 鍔炲叕鏂囨。绫�
+        dics_ext.Add("D0CF11E0", ".ppt,.doc,.xls"); // ppt銆乨oc銆亁ls
+        dics_ext.Add("504B0304", ".pptx,.docx,.xlsx"); // pptx銆乨ocx銆亁lsx
+
+        /* 娉ㄦ剰鐢变簬鏂囨湰鏂囨。褰曞叆鍐呭杩囧锛屽垯璇诲彇鏂囦欢澶存椂杈冧负澶氬彉-START */
+        dics_ext.Add("0D0A0D0A", ".txt"); // txt
+        dics_ext.Add("0D0A2D2D", ".txt"); // txt
+        dics_ext.Add("0D0AB4B4", ".txt"); // txt
+        dics_ext.Add("B4B4BDA8", ".txt"); // 鏂囦欢澶撮儴涓烘眽瀛�
+        dics_ext.Add("73646673", ".txt"); // txt,鏂囦欢澶撮儴涓鸿嫳鏂囧瓧姣�
+        dics_ext.Add("32323232", ".txt"); // txt,鏂囦欢澶撮儴鍐呭涓烘暟瀛�
+        dics_ext.Add("0D0A09B4", ".txt"); // txt,鏂囦欢澶撮儴鍐呭涓烘暟瀛�
+        dics_ext.Add("3132330D", ".txt"); // txt,鏂囦欢澶撮儴鍐呭涓烘暟瀛�
+        /* 娉ㄦ剰鐢变簬鏂囨湰鏂囨。褰曞叆鍐呭杩囧锛屽垯璇诲彇鏂囦欢澶存椂杈冧负澶氬彉-END */
+
+        dics_ext.Add("7B5C727466", ".rtf"); // 鏃ヨ鏈�
+
+        dics_ext.Add("255044462D312E", ".pdf");
+
+        // 瑙嗛鎴栭煶棰戠被
+        dics_ext.Add("3026B275", ".wma");
+        dics_ext.Add("57415645", ".wav");
+        dics_ext.Add("41564920", ".avi");
+        dics_ext.Add("4D546864", ".mid");
+        dics_ext.Add("2E524D46", ".rm");
+        dics_ext.Add("000001BA", ".mpg");
+        dics_ext.Add("000001B3", ".mpg");
+        dics_ext.Add("6D6F6F76", ".mov");
+        dics_ext.Add("3026B2758E66CF11", ".asf");
+
+        // 鍘嬬缉鍖�
+        dics_ext.Add("52617221", ".rar");
+        dics_ext.Add("504B03040A000000", ".zip");
+        dics_ext.Add("1F8B08", ".gz");
+
+        // 绋嬪簭鏂囦欢
+        dics_ext.Add("3C3F786D6C", ".xml");
+        dics_ext.Add("68746D6C3E", ".html");
+        //dics_ext.Add("7061636B", ".java");
+        //dics_ext.Add("3C254020", ".jsp");
+        //dics_ext.Add("4D5A9000", ".exe");
+
+        dics_ext.Add("44656C69766572792D646174653A", ".eml"); // 閭欢
+        dics_ext.Add("5374616E64617264204A", ".mdb"); // Access鏁版嵁搴撴枃浠�
+
+        dics_ext.Add("46726F6D", ".mht");
+        dics_ext.Add("4D494D45", ".mhtml");
+
+        foreach (var dics in dics_ext)
+        {
+            foreach (var ext in dics.Value.Split(","))
+            {
+                if (!ext_dics.ContainsKey(ext))
+                    ext_dics.Add(ext, new HashSet<int> { dics.Key.Length / 2 });
+                else
+                    ext_dics[ext].Add(dics.Key.Length / 2);
+            }
+        }
+    }
+
+    /// <summary>
+    /// 鏂囦欢鏍煎紡鍜屾枃浠跺唴瀹规牸寮忔槸鍚︿竴鑷�
+    /// </summary>
+    /// <param name="stream"></param>
+    /// <param name="suffix"></param>
+    /// <returns></returns>
+    public static bool IsSameType(Stream stream, string suffix = ".jpg")
+    {
+        if (stream == null)
+            return false;
+
+        suffix = suffix.ToLower();
+        if (!ext_dics.ContainsKey(suffix))
+            return false;
+
+        try
+        {
+            foreach (var Len in ext_dics[suffix])
+            {
+                byte[] b = new byte[Len];
+                stream.Read(b, 0, b.Length);
+                // string fileType = System.Text.Encoding.UTF8.GetString(b);
+                string fileKey = GetFileHeader(b);
+                if (dics_ext.ContainsKey(fileKey))
+                    return true;
+            }
+        }
+        catch (IOException)
+        {
+        }
+        return false;
+    }
+
+    /**
+     * 鏍规嵁鏂囦欢杞崲鎴愮殑瀛楄妭鏁扮粍鑾峰彇鏂囦欢澶翠俊鎭�
+     * @param 鏂囦欢璺緞
+     * @return 鏂囦欢澶翠俊鎭�
+     */
+
+    private static string GetFileHeader(byte[] b)
+    {
+        string value = BytesToHexString(b);
+        return value;
+    }
+
+    /**
+     * 灏嗚璇诲彇鏂囦欢澶翠俊鎭殑鏂囦欢鐨刡yte鏁扮粍杞崲鎴恠tring绫诲瀷琛ㄧず
+     * 涓嬮潰杩欐浠g爜灏辨槸鐢ㄦ潵瀵规枃浠剁被鍨嬩綔楠岃瘉鐨勬柟娉曪紝
+     * 灏嗗瓧鑺傛暟缁勭殑鍓嶅洓浣嶈浆鎹㈡垚16杩涘埗瀛楃涓诧紝骞朵笖杞崲鐨勬椂鍊欙紝瑕佸厛鍜�0xFF鍋氫竴娆′笌杩愮畻銆�
+     * 杩欐槸鍥犱负锛屾暣涓枃浠舵祦鐨勫瓧鑺傛暟缁勪腑锛屾湁寰堝鏄礋鏁帮紝杩涜浜嗕笌杩愮畻鍚庯紝鍙互灏嗗墠闈㈢殑绗﹀彿浣嶉兘鍘绘帀锛�
+     * 杩欐牱杞崲鎴愮殑16杩涘埗瀛楃涓叉渶澶氫繚鐣欎袱浣嶏紝濡傛灉鏄鏁板張灏忎簬10锛岄偅涔堣浆鎹㈠悗鍙湁涓�浣嶏紝
+     * 闇�瑕佸湪鍓嶉潰琛�0锛岃繖鏍峰仛鐨勭洰鐨勬槸鏂逛究姣旇緝锛屽彇瀹屽墠鍥涗綅杩欎釜寰幆灏卞彲浠ョ粓姝簡
+     * @param src瑕佽鍙栨枃浠跺ご淇℃伅鐨勬枃浠剁殑byte鏁扮粍
+     * @return 鏂囦欢澶翠俊鎭�
+     */
+
+    private static string BytesToHexString(byte[] src)
+    {
+        var builder = new StringBuilder();
+        if (src == null || src.Length <= 0)
+            return null;
+
+        string hv;
+        for (int i = 0; i < src.Length; i++)
+        {
+            // 浠ュ崄鍏繘鍒讹紙鍩烘暟 16锛夋棤绗﹀彿鏁存暟褰㈠紡杩斿洖涓�涓暣鏁板弬鏁扮殑瀛楃涓茶〃绀哄舰寮忥紝骞惰浆鎹负澶у啓
+            hv = Convert.ToString(src[i] & 0xFF, 16).ToUpper();
+            if (hv.Length < 2)
+                builder.Append(0);
+            builder.Append(hv);
+        }
+        return builder.ToString();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Core/Admin.NET.Web.Core.csproj b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Core/Admin.NET.Web.Core.csproj
new file mode 100644
index 0000000..0ce9ea9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Core/Admin.NET.Web.Core.csproj
@@ -0,0 +1,21 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net6.0</TargetFramework>
+    <NoWarn>1701;1702;1591</NoWarn>
+    <DocumentationFile></DocumentationFile>
+    <GenerateDocumentationFile>True</GenerateDocumentationFile>
+    <Copyright>漏 Admin.NET</Copyright>
+    <Description>Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�</Description>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="IGeekFan.AspNetCore.Knife4jUI" Version="0.0.16" />
+    <PackageReference Include="System.Security.Cryptography.Pkcs" Version="8.0.0" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\Admin.NET.Application\Admin.NET.Application.csproj" />
+  </ItemGroup>
+
+</Project>
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Core/Handlers/JwtHandler.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Core/Handlers/JwtHandler.cs
new file mode 100644
index 0000000..b977619
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Core/Handlers/JwtHandler.cs
@@ -0,0 +1,106 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Admin.NET.Core;
+using Admin.NET.Core.Service;
+using Furion;
+using Furion.Authorization;
+using Furion.DataEncryption;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Http;
+using Microsoft.Extensions.DependencyInjection;
+using System;
+using System.Threading.Tasks;
+
+namespace Admin.NET.Web.Core
+{
+    public class JwtHandler : AppAuthorizeHandler
+    {
+        private readonly IServiceProvider _serviceProvider;
+
+        public JwtHandler(IServiceProvider serviceProvider)
+        {
+            _serviceProvider = serviceProvider;
+        }
+
+        /// <summary>
+        /// 鑷姩鍒锋柊Token
+        /// </summary>
+        /// <param name="context"></param>
+        /// <returns></returns>
+        public override async Task HandleAsync(AuthorizationHandlerContext context)
+        {
+            // var serviceProvider = context.GetCurrentHttpContext().RequestServices;
+            using var serviceScope = _serviceProvider.CreateScope();
+
+            // 鑻ュ綋鍓嶈处鍙峰瓨鍦ㄩ粦鍚嶅崟涓垯鎺堟潈澶辫触
+            var sysCacheService = serviceScope.ServiceProvider.GetRequiredService<SysCacheService>();
+            if (sysCacheService.ExistKey($"{CacheConst.KeyBlacklist}{context.User.FindFirst(ClaimConst.UserId)?.Value}"))
+            {
+                context.Fail();
+                context.GetCurrentHttpContext().SignoutToSwagger();
+                return;
+            }
+
+            var sysConfigService = serviceScope.ServiceProvider.GetRequiredService<SysConfigService>();
+            var tokenExpire = await sysConfigService.GetTokenExpire();
+            var refreshTokenExpire = await sysConfigService.GetRefreshTokenExpire();
+            if (JWTEncryption.AutoRefreshToken(context, context.GetCurrentHttpContext(), tokenExpire, refreshTokenExpire))
+            {
+                await AuthorizeHandleAsync(context);
+            }
+            else
+            {
+                context.Fail(); // 鎺堟潈澶辫触
+                var currentHttpContext = context.GetCurrentHttpContext();
+                if (currentHttpContext == null)
+                    return;
+                // 璺宠繃鐢变簬 SignatureAuthentication 寮曞彂鐨勫け璐�
+                if (currentHttpContext.Items.ContainsKey(SignatureAuthenticationDefaults.AuthenticateFailMsgKey))
+                    return;
+                currentHttpContext.SignoutToSwagger();
+            }
+        }
+
+        public override async Task<bool> PipelineAsync(AuthorizationHandlerContext context, DefaultHttpContext httpContext)
+        {
+            // 宸茶嚜鍔ㄩ獙璇� Jwt Token 鏈夋晥鎬�
+            return await CheckAuthorizeAsync(httpContext);
+        }
+
+        /// <summary>
+        /// 鏉冮檺鏍¢獙鏍稿績閫昏緫
+        /// </summary>
+        /// <param name="httpContext"></param>
+        /// <returns></returns>
+        private static async Task<bool> CheckAuthorizeAsync(DefaultHttpContext httpContext)
+        {
+            // 鐧诲綍妯″紡鍒ゆ柇PC銆丄PP
+            if (App.User.FindFirst(ClaimConst.LoginMode)?.Value == ((int)LoginModeEnum.APP).ToString())
+                return true;
+
+            // 鎺掗櫎瓒呯
+            if (App.User.FindFirst(ClaimConst.AccountType)?.Value == ((int)AccountTypeEnum.SuperAdmin).ToString())
+                return true;
+
+            // 璺敱鍚嶇О
+            var routeName = httpContext.Request.Path.StartsWithSegments("/api")
+                ? httpContext.Request.Path.Value[5..].Replace("/", ":")
+                : httpContext.Request.Path.Value[1..].Replace("/", ":");
+
+            var sysMenuService = App.GetRequiredService<SysMenuService>();
+            // 鑾峰彇鐢ㄦ埛鎷ユ湁鎸夐挳鏉冮檺闆嗗悎
+            var ownBtnPermList = await sysMenuService.GetOwnBtnPermList();
+            // 鑾峰彇绯荤粺鎵�鏈夋寜閽潈闄愰泦鍚�
+            var allBtnPermList = await sysMenuService.GetAllBtnPermList();
+
+            // 宸叉嫢鏈夎鎸夐挳鏉冮檺鎴栬�呮墍鏈夋寜閽泦鍚堥噷闈笉瀛樺湪
+            var exist1 = ownBtnPermList.Exists(u => routeName.Equals(u, StringComparison.CurrentCultureIgnoreCase));
+            var exist2 = allBtnPermList.TrueForAll(u => !routeName.Equals(u, StringComparison.CurrentCultureIgnoreCase));
+            return exist1 || exist2;
+        }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Core/ProjectOptions.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Core/ProjectOptions.cs
new file mode 100644
index 0000000..d0fb0b5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Core/ProjectOptions.cs
@@ -0,0 +1,47 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Admin.NET.Core;
+using AspNetCoreRateLimit;
+using Furion;
+using Microsoft.Extensions.DependencyInjection;
+
+namespace Admin.NET.Web.Core;
+
+public static class ProjectOptions
+{
+    /// <summary>
+    /// 娉ㄥ唽椤圭洰閰嶇疆閫夐」
+    /// </summary>
+    /// <param name="services"></param>
+    /// <returns></returns>
+    public static IServiceCollection AddProjectOptions(this IServiceCollection services)
+    {
+        services.AddConfigurableOptions<DbConnectionOptions>();
+        services.AddConfigurableOptions<SnowIdOptions>();
+        services.AddConfigurableOptions<CacheOptions>();
+        services.AddConfigurableOptions<ClusterOptions>();
+        services.AddConfigurableOptions<OSSProviderOptions>();
+        services.AddConfigurableOptions<UploadOptions>();
+        services.AddConfigurableOptions<WechatOptions>();
+        services.AddConfigurableOptions<WechatPayOptions>();
+        services.AddConfigurableOptions<PayCallBackOptions>();
+        services.AddConfigurableOptions<CodeGenOptions>();
+        services.AddConfigurableOptions<EnumOptions>();
+        services.AddConfigurableOptions<APIJSONOptions>();
+        services.AddConfigurableOptions<EmailOptions>();
+        services.AddConfigurableOptions<OAuthOptions>();
+        services.AddConfigurableOptions<CryptogramOptions>();
+        services.AddConfigurableOptions<SMSOptions>();
+        services.AddConfigurableOptions<EventBusOptions>();
+        services.Configure<IpRateLimitOptions>(App.Configuration.GetSection("IpRateLimiting"));
+        services.Configure<IpRateLimitPolicies>(App.Configuration.GetSection("IpRateLimitPolicies"));
+        services.Configure<ClientRateLimitOptions>(App.Configuration.GetSection("ClientRateLimiting"));
+        services.Configure<ClientRateLimitPolicies>(App.Configuration.GetSection("ClientRateLimitPolicies"));
+
+        return services;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Core/Startup.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Core/Startup.cs
new file mode 100644
index 0000000..9529dc5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Core/Startup.cs
@@ -0,0 +1,269 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Admin.NET.Core;
+using Admin.NET.Core.Service;
+using AspNetCoreRateLimit;
+using Furion;
+using Furion.SpecificationDocument;
+using Furion.VirtualFileServer;
+using IGeekFan.AspNetCore.Knife4jUI;
+using IPTools.Core;
+using Microsoft.AspNetCore.Builder;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.HttpOverrides;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Newtonsoft.Json;
+using OnceMi.AspNetCore.OSS;
+using SixLabors.ImageSharp.Web.DependencyInjection;
+using System;
+
+namespace Admin.NET.Web.Core;
+
+public class Startup : AppStartup
+{
+    public void ConfigureServices(IServiceCollection services)
+    {
+        // 閰嶇疆閫夐」
+        services.AddProjectOptions();
+
+        // 缂撳瓨娉ㄥ唽
+        services.AddCache();
+        // SqlSugar
+        services.AddSqlSugar();
+        // JWT
+        services.AddJwt<JwtHandler>(enableGlobalAuthorize: true)
+            // 娣诲姞 Signature 韬唤楠岃瘉
+            .AddSignatureAuthentication(options =>
+            {
+                options.Events = SysOpenAccessService.GetSignatureAuthenticationEventImpl();
+            });
+        // 鍏佽璺ㄥ煙
+        services.AddCorsAccessor();
+        // 杩滅▼璇锋眰
+        services.AddRemoteRequest();
+        // 浠诲姟闃熷垪
+        services.AddTaskQueue();
+        // 浠诲姟璋冨害
+        services.AddSchedule(options =>
+        {
+            options.AddPersistence<DbJobPersistence>(); // 娣诲姞浣滀笟鎸佷箙鍖栧櫒
+            options.AddMonitor<JobMonitor>(); // 娣诲姞浣滀笟鎵ц鐩戣鍣�
+        });
+        // 鑴辨晱妫�娴�
+        services.AddSensitiveDetection();
+
+        // Json搴忓垪鍖栬缃�
+        static void SetNewtonsoftJsonSetting(JsonSerializerSettings setting)
+        {
+            setting.DateFormatHandling = DateFormatHandling.IsoDateFormat;
+            setting.DateTimeZoneHandling = DateTimeZoneHandling.Local;
+            setting.DateFormatString = "yyyy-MM-dd HH:mm:ss"; // 鏃堕棿鏍煎紡鍖�
+            setting.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; // 蹇界暐寰幆寮曠敤
+            // setting.ContractResolver = new CamelCasePropertyNamesContractResolver(); // 瑙e喅鍔ㄦ�佸璞″睘鎬у悕澶у啓
+            // setting.NullValueHandling = NullValueHandling.Ignore; // 蹇界暐绌哄��
+            // setting.Converters.AddLongTypeConverters(); // long杞瑂tring锛堥槻姝s绮惧害婧㈠嚭锛� 瓒呰繃17浣嶅紑鍚�
+            // setting.MetadataPropertyHandling = MetadataPropertyHandling.Ignore; // 瑙e喅DateTimeOffset寮傚父
+            // setting.DateParseHandling = DateParseHandling.None; // 瑙e喅DateTimeOffset寮傚父
+            // setting.Converters.Add(new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal }); // 瑙e喅DateTimeOffset寮傚父
+        };
+
+        services.AddControllersWithViews()
+            .AddAppLocalization()
+            .AddNewtonsoftJson(options => SetNewtonsoftJsonSetting(options.SerializerSettings))
+            //.AddXmlSerializerFormatters()
+            //.AddXmlDataContractSerializerFormatters()
+            .AddInjectWithUnifyResult<AdminResultProvider>();
+
+        // 涓夋柟鎺堟潈鐧诲綍OAuth
+        services.AddOAuth();
+
+        // ElasticSearch
+        services.AddElasticSearch();
+
+        // 閰嶇疆Nginx杞彂鑾峰彇瀹㈡埛绔湡瀹濱P
+        // 娉�1锛氬鏋滆礋杞藉潎琛′笉鏄湪鏈満閫氳繃 Loopback 鍦板潃杞彂璇锋眰鐨勶紝涓�瀹氳鍔犱笂options.KnownNetworks.Clear()鍜宱ptions.KnownProxies.Clear()
+        // 娉�2锛氬鏋滆缃幆澧冨彉閲� ASPNETCORE_FORWARDEDHEADERS_ENABLED 涓� True锛屽垯涓嶉渶瑕佷笅闈㈢殑閰嶇疆浠g爜
+        services.Configure<ForwardedHeadersOptions>(options =>
+        {
+            options.ForwardedHeaders = ForwardedHeaders.All;
+            options.KnownNetworks.Clear();
+            options.KnownProxies.Clear();
+        });
+
+        // 闄愭祦鏈嶅姟
+        services.AddInMemoryRateLimiting();
+        services.AddSingleton<IRateLimitConfiguration, RateLimitConfiguration>();
+
+        // 浜嬩欢鎬荤嚎
+        services.AddEventBus(options =>
+        {
+            options.UseUtcTimestamp = false;
+            // 涓嶅惎鐢ㄤ簨浠舵棩蹇�
+            options.LogEnabled = false;
+            // 浜嬩欢鎵ц鍣紙澶辫触閲嶈瘯锛�
+            options.AddExecutor<RetryEventHandlerExecutor>();
+
+            #region Redis娑堟伅闃熷垪
+
+            //// 鏇挎崲浜嬩欢婧愬瓨鍌ㄥ櫒
+            //options.ReplaceStorer(serviceProvider =>
+            //{
+            //    var redisCache = serviceProvider.GetRequiredService<ICache>();
+            //    // 鍒涘缓榛樿鍐呭瓨閫氶亾浜嬩欢婧愬璞★紝鍙嚜瀹氫箟闃熷垪璺敱key锛屽锛歛dminnet
+            //    return new RedisEventSourceStorer(redisCache, "adminnet", 3000);
+            //});
+
+            #endregion Redis娑堟伅闃熷垪
+
+            #region RabbitMQ娑堟伅闃熷垪
+
+            //// 鍒涘缓榛樿鍐呭瓨閫氶亾浜嬩欢婧愬璞★紝鍙嚜瀹氫箟闃熷垪璺敱key锛屽锛歛dminnet
+            //var eventBusOpt = App.GetConfig<EventBusOptions>("EventBus", true);
+            //var rbmqEventSourceStorer = new RabbitMQEventSourceStore(new ConnectionFactory
+            //{
+            //    UserName = eventBusOpt.RabbitMQ.UserName,
+            //    Password = eventBusOpt.RabbitMQ.Password,
+            //    HostName = eventBusOpt.RabbitMQ.HostName,
+            //    Port = eventBusOpt.RabbitMQ.Port
+            //}, "adminnet", 3000);
+
+            //// 鏇挎崲榛樿浜嬩欢鎬荤嚎瀛樺偍鍣�
+            //options.ReplaceStorer(serviceProvider =>
+            //{
+            //    return rbmqEventSourceStorer;
+            //});
+
+            #endregion RabbitMQ娑堟伅闃熷垪
+        });
+
+        // 鍥惧儚澶勭悊
+        services.AddImageSharp();
+
+        // OSS瀵硅薄瀛樺偍
+        var ossOpt = App.GetConfig<OSSProviderOptions>("OSSProvider", true);
+        services.AddOSSService(Enum.GetName(ossOpt.Provider), "OSSProvider");
+
+        // 妯℃澘寮曟搸
+        services.AddViewEngine();
+
+        // 鍗虫椂閫氳
+        services.AddSignalR(SetNewtonsoftJsonSetting);
+        //services.AddSingleton<IUserIdProvider, UserIdProvider>();
+
+        // 绯荤粺鏃ュ織
+        services.AddLoggingSetup();
+
+        // 楠岃瘉鐮�
+        services.AddCaptcha();
+
+        // 鎺у埗鍙發ogo
+        services.AddConsoleLogo();
+
+        // 灏咺P鍦板潃鏁版嵁搴撴枃浠跺畬鍏ㄥ姞杞藉埌鍐呭瓨锛屾彁鍗囨煡璇㈤�熷害锛堜互绌洪棿鎹㈡椂闂达紝鍐呭瓨灏嗕細澧炲姞60-70M锛�
+        IpToolSettings.LoadInternationalDbToMemory = true;
+        // 璁剧疆榛樿鏌ヨ鍣–hina鍜孖nternational
+        //IpToolSettings.DefalutSearcherType = IpSearcherType.China;
+        IpToolSettings.DefalutSearcherType = IpSearcherType.International;
+    }
+
+    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
+    {
+        app.UseForwardedHeaders();
+
+        if (env.IsDevelopment())
+        {
+            app.UseDeveloperExceptionPage();
+        }
+        else
+        {
+            app.UseExceptionHandler("/Home/Error");
+            app.UseHsts();
+        }
+
+        app.Use(async (context, next) =>
+        {
+            context.Response.Headers.Add("Admin.NET", "Admin.NET");
+            await next();
+        });
+
+        // 鍥惧儚澶勭悊
+        app.UseImageSharp();
+
+        // 鐗瑰畾鏂囦欢绫诲瀷锛堟枃浠跺悗缂�锛夊鐞�
+        var contentTypeProvider = FS.GetFileExtensionContentTypeProvider();
+        // contentTypeProvider.Mappings[".鏂囦欢鍚庣紑"] = "MIME 绫诲瀷";
+        app.UseStaticFiles(new StaticFileOptions
+        {
+            ContentTypeProvider = contentTypeProvider
+        });
+
+        //// 鍚敤HTTPS
+        //app.UseHttpsRedirection();
+
+        // 鍚敤OAuth
+        app.UseOAuth();
+
+        // 娣诲姞鐘舵�佺爜鎷︽埅涓棿浠�
+        app.UseUnifyResultStatusCodes();
+
+        // 鍚敤澶氳瑷�锛屽繀椤诲湪 UseRouting 涔嬪墠
+        app.UseAppLocalization();
+
+        // 璺敱娉ㄥ唽
+        app.UseRouting();
+
+        // 鍚敤璺ㄥ煙锛屽繀椤诲湪 UseRouting 鍜� UseAuthentication 涔嬮棿娉ㄥ唽
+        app.UseCorsAccessor();
+
+        // 鍚敤閴存潈鎺堟潈
+        app.UseAuthentication();
+        app.UseAuthorization();
+
+        // 闄愭祦缁勪欢锛堝湪璺ㄥ煙涔嬪悗锛�
+        app.UseIpRateLimiting();
+        app.UseClientRateLimiting();
+
+        // 浠诲姟璋冨害鐪嬫澘
+        app.UseScheduleUI(options =>
+        {
+            options.RequestPath = "/schedule";  // 蹇呴』浠� / 寮�澶翠笖涓嶄互 / 缁撳熬
+            options.DisableOnProduction = true; // 鐢熶骇鐜鍏抽棴
+            options.DisplayEmptyTriggerJobs = true; // 鏄惁鏄剧ず绌轰綔涓氳Е鍙戝櫒鐨勪綔涓�
+            options.DisplayHead = false; // 鏄惁鏄剧ず椤靛ご
+            options.DefaultExpandAllJobs = false; // 鏄惁榛樿灞曞紑鎵�鏈変綔涓�
+        });
+
+        // 閰嶇疆Swagger-Knife4UI锛堣矾鐢卞墠缂�涓�鑷翠唬琛ㄧ嫭绔嬶紝涓嶅悓鍒欎唬琛ㄥ叡瀛橈級
+        app.UseKnife4UI(options =>
+        {
+            options.RoutePrefix = "kapi";
+            foreach (var groupInfo in SpecificationDocumentBuilder.GetOpenApiGroups())
+            {
+                options.SwaggerEndpoint("/" + groupInfo.RouteTemplate, groupInfo.Title);
+            }
+        });
+
+        app.UseInject(string.Empty, options =>
+        {
+            foreach (var groupInfo in SpecificationDocumentBuilder.GetOpenApiGroups())
+            {
+                groupInfo.Description += "<br/><u><b><font color='FF0000'> 馃懏涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�</font></b></u>";
+            }
+        });
+
+        app.UseEndpoints(endpoints =>
+        {
+            // 娉ㄥ唽闆嗙嚎鍣�
+            endpoints.MapHubs();
+
+            endpoints.MapControllerRoute(
+                name: "default",
+                pattern: "{controller=Home}/{action=Index}/{id?}");
+        });
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/.config/dotnet-tools.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/.config/dotnet-tools.json
new file mode 100644
index 0000000..608e342
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/.config/dotnet-tools.json
@@ -0,0 +1,12 @@
+{
+  "version": 1,
+  "isRoot": true,
+  "tools": {
+    "dotnet-ef": {
+      "version": "8.0.7",
+      "commands": [
+        "dotnet-ef"
+      ]
+    }
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Admin.NET.Web.Entry.csproj b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Admin.NET.Web.Entry.csproj
new file mode 100644
index 0000000..5329d6d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Admin.NET.Web.Entry.csproj
@@ -0,0 +1,55 @@
+锘�<Project Sdk="Microsoft.NET.Sdk.Web">
+
+  <PropertyGroup>
+    <TargetFramework>net6.0</TargetFramework>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <SatelliteResourceLanguages>zh-Hans</SatelliteResourceLanguages>
+    <PublishReadyToRunComposite>true</PublishReadyToRunComposite>
+    <ProduceReferenceAssembly>false</ProduceReferenceAssembly>
+    <UserSecretsId>ad9369d1-f29b-4f8f-a7df-8b4d7aa0726b</UserSecretsId>
+    <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
+    <GenerateSatelliteAssembliesForCore>true</GenerateSatelliteAssembliesForCore>
+    <Copyright>漏 Admin.NET</Copyright>
+    <Description>Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�</Description>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Compile Remove="logs\**" />
+    <Compile Remove="publish\**" />
+    <EmbeddedResource Remove="logs\**" />
+    <EmbeddedResource Remove="publish\**" />
+    <None Remove="logs\**" />
+    <None Remove="publish\**" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Content Update="wwwroot\Avatar\**" CopyToPublishDirectory="Never" />
+    <Content Update="wwwroot\upload\**" CopyToPublishDirectory="Never" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Content Update="wwwroot\Template\**">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+  </ItemGroup>
+
+  <ItemGroup>
+    <None Update="GeoLite2-City.mmdb">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Update="ip2region.db">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+  </ItemGroup>
+
+  <ItemGroup>
+    <EmbeddedResource Include="sensitive-words.txt">
+      <CopyToOutputDirectory>Never</CopyToOutputDirectory>
+    </EmbeddedResource>
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\Admin.NET.Web.Core\Admin.NET.Web.Core.csproj" />
+  </ItemGroup>
+
+</Project>
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Controllers/HomeController.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Controllers/HomeController.cs
new file mode 100644
index 0000000..97ab952
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Controllers/HomeController.cs
@@ -0,0 +1,29 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+
+namespace Admin.NET.Web.Entry.Controllers
+{
+    [AllowAnonymous]
+    public class HomeController : Controller
+    {
+        //private readonly ISystemService _systemService;
+
+        //public HomeController(ISystemService systemService)
+        //{
+        //    _systemService = systemService;
+        //}
+
+        public IActionResult Index()
+        {
+            //ViewBag.Description = _systemService.GetDescription();
+
+            return View();
+        }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Dockerfile b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Dockerfile
new file mode 100644
index 0000000..8fc0356
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Dockerfile
@@ -0,0 +1,16 @@
+FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
+WORKDIR /app
+EXPOSE 5005
+
+COPY . .
+
+# 璁剧疆璇█/鍖哄煙璁剧疆鐜鍙橀噺
+ENV LANG zh-Hans
+
+# 浣跨敤闃块噷浜戠殑闀滃儚婧愯繘琛屾洿鏂�
+RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/' /etc/apt/sources.list
+
+# 鏇存柊鍖呯鐞嗗櫒骞跺畨瑁協ree鍛戒护
+RUN apt-get update && apt-get install -y procps
+
+ENTRYPOINT ["dotnet", "Admin.NET.Web.Entry.dll"]
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/FakeStartup.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/FakeStartup.cs
new file mode 100644
index 0000000..29914ca
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/FakeStartup.cs
@@ -0,0 +1,14 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Web.Entry;
+
+/// <summary>
+/// 渚涢泦鎴愭祴璇曚娇鐢�
+/// </summary>
+public class FakeStartup
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/GeoLite2-City.mmdb b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/GeoLite2-City.mmdb
new file mode 100644
index 0000000..f5e23dc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/GeoLite2-City.mmdb
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Program.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Program.cs
new file mode 100644
index 0000000..2031b3d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Program.cs
@@ -0,0 +1,27 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+Serve.Run(RunOptions.Default.AddWebComponent<WebComponent>());
+
+public class WebComponent : IWebComponent
+{
+    public void Load(WebApplicationBuilder builder, ComponentContext componentContext)
+    {
+        // 璁剧疆鏃ュ織杩囨护
+        builder.Logging.AddFilter((provider, category, logLevel) =>
+        {
+            return !new[] { "Microsoft.Hosting", "Microsoft.AspNetCore" }.Any(u => category.StartsWith(u)) && logLevel >= LogLevel.Information;
+        });
+
+        // 璁剧疆鎺ュ彛瓒呮椂鏃堕棿鍜屼笂浼犲ぇ灏�
+        builder.Configuration.Get<WebHostBuilder>().ConfigureKestrel(u =>
+        {
+            u.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(30);
+            u.Limits.RequestHeadersTimeout = TimeSpan.FromMinutes(30);
+            u.Limits.MaxRequestBodySize = null;
+        });
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Properties/launchSettings.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Properties/launchSettings.json
new file mode 100644
index 0000000..8d4f779
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Properties/launchSettings.json
@@ -0,0 +1,32 @@
+{
+  "$schema": "http://json.schemastore.org/launchsettings.json",
+
+  "iisSettings": {
+    "windowsAuthentication": false,
+    "anonymousAuthentication": true,
+    "iisExpress": {
+      "applicationUrl": "http://localhost:5005"
+      // "sslPort": 44325
+    }
+  },
+  "profiles": {
+    "IIS Express": {
+      "commandName": "IISExpress",
+      "launchBrowser": true,
+      "launchUrl": "",
+      "environmentVariables": {
+        "ASPNETCORE_ENVIRONMENT": "Development"
+      }
+    },
+    "Admin.NET.Web.Entry": {
+      "commandName": "Project",
+      "dotnetRunMessages": true,
+      "launchBrowser": true,
+      "launchUrl": "",
+      "applicationUrl": "http://localhost:5005",
+      "environmentVariables": {
+        "ASPNETCORE_ENVIRONMENT": "Development"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Resources/Lang.en.resx b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Resources/Lang.en.resx
new file mode 100644
index 0000000..d555440
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Resources/Lang.en.resx
@@ -0,0 +1,129 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�" xml:space="preserve">
+    <value>Admin NET General Permission Development Platform</value>
+  </data>
+  <data name="API 鎺ュ彛" xml:space="preserve">
+    <value>API Interfaces</value>
+  </data>
+  <data name="婧愮爜鍦板潃" xml:space="preserve">
+    <value>Source Address</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Resources/Lang.zh-CN.resx b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Resources/Lang.zh-CN.resx
new file mode 100644
index 0000000..4c25852
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Resources/Lang.zh-CN.resx
@@ -0,0 +1,129 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="Admin NET General Permission Development Platform" xml:space="preserve">
+    <value>Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�</value>
+  </data>
+  <data name="API Interfaces" xml:space="preserve">
+    <value>API 鎺ュ彛</value>
+  </data>
+  <data name="Source Address" xml:space="preserve">
+    <value>婧愮爜鍦板潃</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/SingleFilePublish.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/SingleFilePublish.cs
new file mode 100644
index 0000000..7d1392e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/SingleFilePublish.cs
@@ -0,0 +1,43 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Furion;
+using System.Reflection;
+
+namespace Admin.NET.Web.Entry;
+
+/// <summary>
+/// 瑙e喅鍗曟枃浠跺彂甯冮棶棰�
+/// </summary>
+public class SingleFilePublish : ISingleFilePublish
+{
+    /// <summary>
+    /// 瑙e喅鍗曟枃浠朵笉鑳芥壂鎻忕殑绋嬪簭闆�
+    /// </summary>
+    /// <remarks>鍜� <see cref="IncludeAssemblyNames"/>鍙悓鏃堕厤缃�</remarks>
+    /// <returns></returns>
+    public Assembly[] IncludeAssemblies()
+    {
+        // 闇�瑕� Furion 妗嗘灦鎵弿鍝簺绋嬪簭闆嗗氨鍐欎笂鍘诲嵆鍙�
+        return Array.Empty<Assembly>();
+    }
+
+    /// <summary>
+    /// 瑙e喅鍗曟枃浠朵笉鑳芥壂鎻忕殑绋嬪簭闆嗗悕绉�
+    /// </summary>
+    /// <remarks>鍜� <see cref="IncludeAssemblies"/>鍙悓鏃堕厤缃�</remarks>
+    /// <returns></returns>
+    public string[] IncludeAssemblyNames()
+    {
+        // 闇�瑕� Furion 妗嗘灦鎵弿鍝簺绋嬪簭闆嗗氨鍐欎笂鍘诲嵆鍙�
+        return new[]
+        {
+            "Admin.NET.Application",
+            "Admin.NET.Core",
+            "Admin.NET.Web.Core",
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Views/Home/Index.cshtml b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Views/Home/Index.cshtml
new file mode 100644
index 0000000..0d3e9ef
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Views/Home/Index.cshtml
@@ -0,0 +1,12 @@
+锘緻{
+    ViewData["Title"] = ViewBag.Description;
+}
+
+<div style="text-align:center;margin-top:50px;">
+    <img src="~/images/logo.png" style="height:100px;" />
+    <div align="center">
+        <p><a href="https://gitee.com/dotnetchina/Furion/stargazers"><img src="https://gitee.com/dotnetchina/Furion/badge/star.svg?theme=gvp" alt="star"></a> <a href="https://gitee.com/dotnetchina/Furion/members"><img src="https://gitee.com/dotnetchina/Furion/badge/fork.svg?theme=gvp" alt="fork"></a> <a href="https://github.com/MonkSoul/Furion/stargazers"><img src="https://img.shields.io/github/stars/MonkSoul/Furion?logo=github" alt="GitHub stars"></a> <a href="https://github.com/MonkSoul/Furion/network"><img src="https://img.shields.io/github/forks/MonkSoul/Furion?logo=github" alt="GitHub forks"></a> <a href="https://github.com/MonkSoul/Furion/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MulanPSL--2.0-orange" alt="GitHub license"></a> <a href="https://www.nuget.org/packages/Furion"><img src="https://img.shields.io/nuget/v/Furion.svg?cacheSeconds=10800" alt="nuget"></a></p>
+    </div>
+    <p>@ViewBag.Description</p>
+    <p><a href="/api">API 鎺ュ彛</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://gitee.com/dotnetchina/Furion" target="_blank">婧愮爜鍦板潃</a></p>
+</div>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Views/Shared/_Layout.cshtml b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Views/Shared/_Layout.cshtml
new file mode 100644
index 0000000..5c71d26
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Views/Shared/_Layout.cshtml
@@ -0,0 +1,11 @@
+锘�<!DOCTYPE html>
+<html lang="zh-cmn-Hans">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>@ViewData["Title"] - Furion</title>
+</head>
+<body>
+    @RenderBody()
+</body>
+</html>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Views/_ViewImports.cshtml b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Views/_ViewImports.cshtml
new file mode 100644
index 0000000..ae2e7b9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Views/_ViewImports.cshtml
@@ -0,0 +1,2 @@
+锘緻using Admin.NET.Web.Entry
+@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Views/_ViewStart.cshtml b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Views/_ViewStart.cshtml
new file mode 100644
index 0000000..1af6e49
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/Views/_ViewStart.cshtml
@@ -0,0 +1,3 @@
+锘緻{
+    Layout = "_Layout";
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/appsettings.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/appsettings.json
new file mode 100644
index 0000000..cd1c674
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/appsettings.json
@@ -0,0 +1,5 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "ConfigurationScanDirectories": [ "Configuration", "" ] // 鎵弿閰嶇疆鏂囦欢json鏂囦欢澶癸紙鑷姩鍚堝苟璇ユ枃浠跺す閲岄潰鎵�鏈塲son鏂囦欢锛�
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/ip2region.db b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/ip2region.db
new file mode 100644
index 0000000..6cf58ef
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/ip2region.db
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/sensitive-words.txt b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/sensitive-words.txt
new file mode 100644
index 0000000..901a560
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/sensitive-words.txt
@@ -0,0 +1,4 @@
+瑁匵|鐗逛箞鐨剕SB|灞岀垎浜唡浣犲|椹嫆鎴堝|铔嬬柤|涔颁簡涓〃|濡堣泲|鏃ヤ簡鐙�
+鍚冪繑
+瑁�13
+灞佹皯
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/web.config b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/web.config
new file mode 100644
index 0000000..002dc98
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/web.config
@@ -0,0 +1,22 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <system.webServer>
+    <security>
+      <requestFiltering>
+        <requestLimits maxAllowedContentLength="1073741824" maxQueryString="1073741824" />
+      </requestFiltering>
+    </security>
+    <handlers>
+      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
+    </handlers>
+    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess">
+      <handlerSettings>
+        <handlerSetting name="experimentalEnableShadowCopy" value="true" />
+        <handlerSetting name="shadowCopyDirectory" value="../ShadowCopyDirectory/" />
+        <!-- Only enable handler logging if you encounter issues-->
+        <!--<handlerSetting name="debugFile" value=".\logs\aspnetcore-debug.log" />-->
+        <!--<handlerSetting name="debugLevel" value="FILE,TRACE" />-->
+      </handlerSettings>
+    </aspNetCore>
+  </system.webServer>
+</configuration>
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ChineseSpellFile/hzpy1.txt b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ChineseSpellFile/hzpy1.txt
new file mode 100644
index 0000000..7b285e2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ChineseSpellFile/hzpy1.txt
@@ -0,0 +1,20975 @@
+锘夸競	Y
+涓�	S
+涓�	X
+涓�	M
+涓�	M
+涓�	C
+涓�	S
+涓�	D
+涓�	Q
+涓�	L
+涓�	Y
+涓�	B
+涓�	J
+涓�	J
+涓�	J
+涓�	K
+涓�	C
+涓�	Z
+涓�	H
+涓�	J
+涔�	F
+涔�	Y
+涔�	Y
+涔�	W
+涔�	J
+涔�	H
+涔�	Z
+涔�	H
+涔�	S
+涔�	Y
+涔�	Y
+涔�	G
+涔�	J
+涔�	H
+涔�	H
+涔�	D
+涔�	S
+涔�	N
+涔�	K
+涔�	K
+涔�	T
+涔�	M
+涔�	O
+涔�	C
+涔�	X
+涔�	Y
+涔�	P
+涔�	S
+涔�	N
+涔�	Q
+涔�	S
+涔�	E
+涔�	C
+涔�	C
+涔�	Z
+浜�	G
+浜�	G
+浜�	L
+浜�	L
+浜�	Y
+浜�	J
+浜�	M
+浜�	Z
+浜�	Y
+浜�	S
+浜�	S
+浜�	G
+浜�	Y
+浜�	Z
+浜�	Y
+浜�	D
+浜�	Y
+浜�	X
+浜�	J
+浜�	Y
+浜�	Y
+浜�	Z
+浜�	L
+浜�	D
+浜�	W
+浜�	J
+浜�	R
+浜�	W
+浠�	B
+浠�	B
+浠�	F
+浠�	T
+浠�	E
+浠�	X
+浠�	Z
+浠�	H
+浠�	H
+浠�	B
+浠�	C
+浠�	Z
+浠�	S
+浠�	R
+浠�	F
+浠�	M
+浠�	Q
+浠�	W
+浠�	Y
+浠�	F
+浠�	C
+浠�	W
+浠�	D
+浼�	Z
+浼�	P
+浼�	Y
+浼�	D
+浼�	D
+浼�	W
+浼�	Y
+浼�	X
+浼�	J
+浼�	A
+浼�	Y
+浼�	P
+浼�	S
+浼�	F
+浼�	T
+浼�	Z
+浼�	Y
+浼�	J
+浼�	X
+浼�	X
+浼�	X
+浼�	Z
+浼�	X
+浼�	N
+浼�	N
+浼�	X
+浼�	X
+浼�	Z
+浼�	Z
+浼�	B
+浼�	P
+浼�	Y
+浣�	S
+浣�	Y
+浣�	Z
+浣�	H
+浣�	M
+浣�	Z
+浣�	B
+浣�	Q
+浣�	B
+浣�	Z
+浣�	C
+浣�	Y
+浣�	Z
+浣�	B
+浣�	X
+浣�	Q
+浣�	S
+浣�	B
+浣�	H
+浣�	H
+浣�	X
+浣�	G
+浣�	F
+浣�	M
+浣�	B
+浣�	H
+浣�	H
+浣�	G
+浣�	Q
+浣�	C
+渚�	X
+渚�	S
+渚�	T
+渚�	H
+渚�	L
+渚�	Y
+渚�	G
+渚�	Y
+渚�	M
+渚�	X
+渚�	A
+渚�	L
+渚�	E
+渚�	L
+渚�	C
+渚�	C
+渚�	X
+渚�	Z
+渚�	R
+渚�	J
+渚�	S
+渚�	D
+渚�	T
+渚�	N
+渚�	J
+渚�	J
+渚�	T
+渚�	Z
+渚�	Z
+渚�	C
+渚�	L
+渚�	J
+渚�	S
+渚�	T
+渚�	S
+渚�	T
+渚�	B
+渚�	N
+渚�	X
+淇�	T
+淇�	Y
+淇�	X
+淇�	X
+淇�	G
+淇�	K
+淇�	W
+淇�	Y
+淇�	F
+淇�	L
+淇�	H
+淇�	Y
+淇�	X
+淇�	S
+淇�	P
+淇�	X
+淇�	M
+淇�	X
+淇�	X
+淇�	D
+淇�	J
+淇�	Z
+淇�	L
+淇�	S
+淇�	H
+淇�	X
+淇�	J
+淇�	B
+淇�	T
+淇�	F
+淇�	Y
+淇�	B
+淇�	Y
+淇�	X
+淇�	H
+鍊�	Z
+鍊�	Z
+鍊�	B
+鍊�	J
+鍊�	Y
+鍊�	Z
+鍊�	L
+鍊�	W
+鍊�	L
+鍊�	C
+鍊�	Z
+鍊�	G
+鍊�	T
+鍊�	S
+鍊�	M
+鍊�	T
+鍊�	Z
+鍊�	X
+鍊�	P
+鍊�	Q
+鍊�	G
+鍊�	L
+鍊�	S
+鍊�	Q
+鍊�	F
+鍊�	Z
+鍊�	Z
+鍊�	L
+鍊�	S
+鍊�	L
+鍊�	H
+鍊�	D
+鍊�	Z
+鍊�	B
+鍊�	W
+鍊�	J
+鍊�	N
+鍊�	C
+鍊�	J
+鍊�	Y
+鍊�	S
+鍊�	Q
+鍋�	Y
+鍋�	C
+鍋�	Q
+鍋�	R
+鍋�	Z
+鍋�	C
+鍋�	W
+鍋�	Y
+鍋�	B
+鍋�	T
+鍋�	Y
+鍋�	F
+鍋�	T
+鍋�	W
+鍋�	E
+鍋�	C
+鍋�	S
+鍋�	K
+鍋�	D
+鍋�	C
+鍋�	B
+鍋�	Z
+鍋�	H
+鍋�	Y
+鍋�	Z
+鍋�	Z
+鍋�	Y
+鍋�	Y
+鍋�	X
+鍋�	Z
+鍋�	C
+鍋�	F
+鍋�	F
+鍋�	Z
+鍋�	M
+鍋�	J
+鍋�	Y
+鍋�	X
+鍋�	X
+鍋�	S
+鍋�	D
+鍋�	Z
+鍋�	Z
+鍋�	T
+鍋�	B
+鍋�	Z
+鍋�	Q
+鍋�	W
+鍌�	S
+鍌�	Z
+鍌�	S
+鍌�	X
+鍌�	Y
+鍌�	R
+鍌�	N
+鍌�	Y
+鍌�	J
+鍌�	M
+鍌�	D
+鍌�	T
+鍌�	H
+鍌�	J
+鍌�	X
+鍌�	S
+鍌�	Q
+鍌�	Q
+鍌�	C
+鍌�	C
+鍌�	S
+鍌�	B
+鍌�	X
+鍌�	Y
+鍌�	Y
+鍌�	T
+鍌�	S
+鍌�	Y
+鍌�	F
+鍌�	B
+鍌�	X
+鍌�	Z
+鍌�	G
+鍌�	S
+鍌�	L
+鍌�	Y
+鍌�	Z
+鍌�	Z
+鍌�	P
+鍌�	S
+鍌�	Z
+鍌�	Y
+鍌�	Z
+鍌�	Z
+鍌�	S
+鍌�	C
+鍌�	J
+鍌�	H
+鍌�	Z
+鍌�	Q
+鍌�	Y
+鍍�	D
+鍍�	X
+鍍�	L
+鍍�	B
+鍍�	P
+鍍�	J
+鍍�	L
+鍍�	L
+鍍�	M
+鍍�	Q
+鍍�	X
+鍍�	T
+鍍�	Y
+鍍�	D
+鍍�	Z
+鍍�	S
+鍍�	Q
+鍍�	J
+鍍�	T
+鍍�	Z
+鍍�	P
+鍍�	L
+鍍�	C
+鍍�	G
+鍍�	Q
+鍍�	T
+鍍�	C
+鍍�	W
+鍍�	J
+鍍�	B
+鍍�	H
+鍍�	C
+鍍�	T
+鍍�	S
+鍍�	Y
+鍍�	F
+鍍�	X
+鍍�	Y
+鍍�	E
+鍍�	L
+鍍�	B
+鍍�	G
+鍍�	X
+鍍�	X
+鍍�	M
+鍍�	Y
+鍍�	J
+鍍�	Q
+鍍�	Q
+鍍�	F
+鍍�	Z
+鍍�	A
+鍍�	S
+鍎�	Y
+鍎�	J
+鍎�	N
+鍎�	T
+鍎�	Y
+鍎�	D
+鍎�	K
+鍎�	J
+鍎�	C
+鍎�	J
+鍎�	S
+鍎�	Z
+鍎�	C
+鍎�	B
+鍎�	A
+鍎�	T
+鍎�	D
+鍎�	C
+鍎�	L
+鍎�	Y
+鍎�	J
+鍎�	Q
+鍎�	M
+鍎�	W
+鍎�	N
+鍎�	Q
+鍎�	N
+鍎�	C
+鍎�	L
+鍎�	L
+鍎�	K
+鍎�	B
+鍎�	Y
+鍎�	B
+鍎�	Z
+鍎�	Z
+鍎�	S
+鍎�	Y
+鍎�	H
+鍎�	Q
+鍎�	Q
+鍎�	L
+鍎�	T
+鍎�	W
+鍎�	L
+鍎�	C
+鍎�	C
+鍎�	X
+鍎�	T
+鍎�	X
+鍎�	L
+鍎�	L
+鍎�	Z
+鍎�	N
+鍎�	T
+鍎�	Y
+鍎�	L
+鍎�	N
+鍏�	Z
+鍏�	X
+鍏�	R
+鍏�	R
+鍏�	T
+鍏�	C
+鍏�	N
+鍏�	N
+鍏�	J
+鍏�	Y
+鍏�	S
+鍏�	S
+鍏�	Q
+鍏�	G
+鍏�	H
+鍏�	S
+鍏�	D
+鍏�	B
+鍏�	G
+鍏�	H
+鍏�	W
+鍏�	R
+鍏�	L
+鍏�	Y
+鍏�	H
+鍏�	T
+鍏�	P
+鍏�	J
+鍏�	Y
+鍐�	M
+鍐�	R
+鍐�	Y
+鍐�	M
+鍐�	Z
+鍐�	J
+鍐�	G
+鍐�	J
+鍐�	M
+鍐�	Z
+鍐�	G
+鍐�	X
+鍐�	Y
+鍐�	K
+鍐�	Y
+鍐�	M
+鍐�	S
+鍐�	M
+鍐�	J
+鍐�	K
+鍐�	M
+鍐�	F
+鍐�	X
+鍐�	M
+鍐�	T
+鍐�	G
+鍐�	H
+鍐�	P
+鍐�	F
+鍐�	M
+鍐�	Q
+鍐�	J
+鍑�	S
+鍑�	M
+鍑�	T
+鍑�	G
+鍑�	J
+鍑�	Q
+鍑�	D
+鍑�	G
+鍑�	Y
+鍑�	A
+鍑�	L
+鍑�	C
+鍑�	M
+鍑�	Z
+鍑�	C
+鍑�	S
+鍑�	D
+鍑�	J
+鍑�	L
+鍑�	X
+鍑�	D
+鍑�	F
+鍑�	F
+鍑�	J
+鍑�	C
+鍑�	Z
+鍑�	F
+鍑�	M
+鍑�	Z
+鍑�	F
+鍑�	F
+鍑�	K
+鍑�	G
+鍑�	P
+鍑�	K
+鍑�	H
+鍒�	R
+鍒�	C
+鍒�	J
+鍒�	Q
+鍒�	C
+鍒�	J
+鍒�	D
+鍒�	W
+鍒�	J
+鍒�	L
+鍒�	F
+鍒�	Q
+鍒�	D
+鍒�	M
+鍒�	L
+鍒�	Z
+鍒�	B
+鍒�	J
+鍒�	J
+鍒�	S
+鍒�	C
+鍒�	G
+鍒�	C
+鍒�	K
+鍒�	D
+鍒�	E
+鍒�	J
+鍒�	C
+鍓�	J
+鍓�	D
+鍓�	L
+鍓�	Z
+鍓�	Y
+鍓�	C
+鍓�	K
+鍓�	S
+鍓�	C
+鍓�	C
+鍓�	L
+鍓�	F
+鍓�	C
+鍓�	Q
+鍓�	C
+鍓�	Z
+鍓�	G
+鍓�	P
+鍓�	D
+鍓�	Q
+鍓�	Z
+鍓�	J
+鍓�	J
+鍓�	Y
+鍓�	H
+鍓�	D
+鍓�	Z
+鍓�	W
+鍓�	G
+鍓�	S
+鍓�	J
+鍓�	Z
+鍓�	K
+鍓�	Q
+鍓�	C
+鍓�	C
+鍓�	Z
+鍓�	L
+鍓�	L
+鍓�	P
+鍓�	S
+鍓�	K
+鍔�	G
+鍔�	H
+鍔�	Z
+鍔�	Z
+鍔�	L
+鍔�	J
+鍔�	L
+鍔�	G
+鍔�	J
+鍔�	G
+鍔�	J
+鍔�	J
+鍔�	T
+鍔�	J
+鍔�	J
+鍔�	J
+鍔�	Z
+鍔�	C
+鍔�	Z
+鍔�	M
+鍔�	L
+鍔�	Z
+鍔�	Y
+鍔�	J
+鍔�	K
+鍔�	X
+鍔�	Z
+鍔�	Y
+鍔�	Z
+鍔�	M
+鍔�	L
+鍔�	J
+鍔�	K
+鍔�	Y
+鍔�	W
+鍔�	X
+鍔�	M
+鍔�	K
+鍔�	J
+鍔�	L
+鍕�	K
+鍕�	J
+鍕�	G
+鍕�	M
+鍕�	C
+鍕�	L
+鍕�	Y
+鍕�	K
+鍕�	J
+鍕�	Q
+鍕�	L
+鍕�	B
+鍕�	L
+鍕�	K
+鍕�	M
+鍕�	D
+鍕�	X
+鍕�	W
+鍕�	Y
+鍕�	X
+鍕�	Y
+鍕�	S
+鍕�	L
+鍕�	L
+鍕�	P
+鍕�	S
+鍕�	J
+鍕�	Q
+鍕�	J
+鍕�	Q
+鍕�	X
+鍕�	Y
+鍕�	X
+鍕�	F
+鍕�	J
+鍕�	T
+鍕�	J
+鍕�	D
+鍕�	M
+鍕�	X
+鍕�	X
+鍕�	L
+鍕�	L
+鍕�	C
+鍕�	X
+鍕�	Q
+鍕�	Y
+鍕�	J
+鍕�	B
+鍖�	M
+鍖�	B
+鍖�	G
+鍖�	G
+鍖�	Y
+鍖�	P
+鍖�	J
+鍖�	Y
+鍖�	G
+鍖�	E
+鍖�	G
+鍖�	D
+鍖�	J
+鍖�	G
+鍖�	N
+鍖�	J
+鍖�	Y
+鍖�	J
+鍖�	K
+鍖�	H
+鍖�	Q
+鍖�	F
+鍖�	Q
+鍖�	Z
+鍖�	K
+鍖�	H
+鍖�	Y
+鍖�	G
+鍖�	H
+鍖�	D
+鍖�	K
+鍖�	L
+鍖�	L
+鍖�	S
+鍖�	D
+鍖�	J
+鍖�	Q
+鍖�	X
+鍖�	K
+鍖�	Y
+鍗�	Q
+鍗�	X
+鍗�	N
+鍗�	Z
+鍗�	S
+鍗�	X
+鍗�	W
+鍗�	W
+鍗�	X
+鍗�	S
+鍗�	J
+鍗�	S
+鍗�	K
+鍗�	X
+鍗�	X
+鍗�	R
+鍗�	Y
+鍗�	Q
+鍗�	S
+鍗�	C
+鍗�	X
+鍗�	X
+鍗�	K
+鍗�	J
+鍗�	E
+鍘�	X
+鍘�	S
+鍘�	Y
+鍘�	Z
+鍘�	H
+鍘�	Y
+鍘�	D
+鍘�	Z
+鍘�	P
+鍘�	A
+鍘�	Q
+鍘�	Y
+鍘�	Z
+鍘�	M
+鍘�	T
+鍘�	S
+鍘�	T
+鍘�	Z
+鍘�	F
+鍘�	Z
+鍘�	Y
+鍘�	L
+鍘�	D
+鍘�	Q
+鍘�	A
+鍘�	G
+鍘�	Y
+鍘�	L
+鍘�	C
+鍘�	Q
+鍘�	L
+鍘�	Y
+鍘�	Y
+鍘�	Y
+鍘�	H
+鍘�	M
+鍘�	R
+鍘�	Q
+鍘�	K
+鍘�	L
+鍘�	D
+鍙�	Z
+鍙�	S
+鍙�	S
+鍙�	S
+鍙�	Y
+鍙�	D
+鍙�	S
+鍙�	J
+鍙�	B
+鍙�	R
+鍙�	S
+鍙�	Z
+鍙�	X
+鍙�	X
+鍙�	J
+鍙�	Y
+鍙�	R
+鍙�	C
+鍙�	G
+鍙�	Q
+鍙�	C
+鍙�	D
+鍙�	H
+鍚�	M
+鍚�	M
+鍚�	X
+鍚�	Z
+鍚�	D
+鍚�	Y
+鍚�	O
+鍚�	H
+鍚�	Y
+鍚�	C
+鍚�	Q
+鍚�	X
+鍚�	B
+鍚�	H
+鍚�	H
+鍚�	Y
+鍚�	N
+鍚�	X
+鍚�	R
+鍚�	O
+鍚�	G
+鍛�	J
+鍛�	L
+鍛�	G
+鍛�	W
+鍛�	Q
+鍛�	W
+鍛�	J
+鍛�	Y
+鍛�	C
+鍛�	S
+鍛�	T
+鍛�	W
+鍛�	E
+鍛�	S
+鍛�	J
+鍛�	P
+鍛�	W
+鍛�	M
+鍛�	R
+鍛�	D
+鍛�	S
+鍛�	Z
+鍛�	T
+鍛�	X
+鍛�	Y
+鍛�	Q
+鍛�	P
+鍛�	Z
+鍛�	X
+鍛�	Y
+鍛�	X
+鍛�	Y
+鍛�	Q
+鍜�	X
+鍜�	T
+鍜�	P
+鍜�	B
+鍜�	F
+鍜�	Y
+鍜�	H
+鍜�	T
+鍜�	D
+鍜�	W
+鍜�	Z
+鍜�	B
+鍜�	T
+鍜�	X
+鍜�	H
+鍜�	Q
+鍜�	E
+鍜�	E
+鍜�	Z
+鍜�	Z
+鍜�	X
+鍜�	X
+鍜�	K
+鍜�	S
+鍜�	T
+鍜�	E
+鍜�	X
+鍜�	W
+鍜�	L
+鍝�	T
+鍝�	X
+鍝�	Y
+鍝�	M
+鍝�	N
+鍝�	X
+鍝�	P
+鍝�	H
+鍝�	Y
+鍝�	L
+鍝�	P
+鍝�	M
+鍝�	Z
+鍝�	H
+鍝�	X
+鍝�	L
+鍝�	B
+鍝�	L
+鍝�	B
+鍝�	M
+鍝�	L
+鍝�	S
+鍝�	F
+鍝�	H
+鍝�	Y
+鍞�	Y
+鍞�	G
+鍞�	G
+鍞�	B
+鍞�	H
+鍞�	Y
+鍞�	Q
+鍞�	T
+鍞�	Y
+鍞�	W
+鍞�	L
+鍞�	Q
+鍞�	C
+鍞�	Z
+鍞�	Y
+鍞�	D
+鍞�	Q
+鍞�	D
+鍞�	Q
+鍞�	M
+鍞�	H
+鍞�	T
+鍞�	K
+鍞�	L
+鍞�	L
+鍞�	S
+鍞�	Z
+鍞�	W
+鍞�	Y
+鍞�	Q
+鍞�	W
+鍞�	Q
+鍞�	A
+鍞�	Z
+鍞�	N
+鍞�	Y
+鍞�	T
+鍞�	L
+鍞�	X
+鍟�	A
+鍟�	N
+鍟�	Z
+鍟�	Z
+鍟�	Z
+鍟�	X
+鍟�	X
+鍟�	Z
+鍟�	W
+鍟�	W
+鍟�	T
+鍟�	G
+鍟�	Q
+鍟�	Q
+鍟�	D
+鍟�	Y
+鍟�	Z
+鍟�	T
+鍟�	C
+鍟�	H
+鍟�	Y
+鍟�	Q
+鍟�	Z
+鍟�	L
+鍟�	X
+鍟�	Y
+鍟�	G
+鍟�	Z
+鍟�	G
+鍟�	L
+鍟�	N
+鍟�	D
+鍟�	Q
+鍟�	T
+鍟�	G
+鍟�	T
+鍟�	A
+鍟�	D
+鍠�	Y
+鍠�	Z
+鍠�	Z
+鍠�	C
+鍠�	W
+鍠�	Y
+鍠�	Z
+鍠�	Y
+鍠�	M
+鍠�	H
+鍠�	Y
+鍠�	H
+鍠�	Y
+鍠�	J
+鍠�	Z
+鍠�	W
+鍠�	S
+鍠�	X
+鍠�	H
+鍠�	Z
+鍠�	Y
+鍠�	L
+鍠�	Y
+鍠�	S
+鍠�	K
+鍠�	Q
+鍠�	Y
+鍠�	S
+鍠�	P
+鍠�	S
+鍠�	Y
+鍠�	W
+鍠�	Y
+鍠�	P
+鍠�	B
+鍠�	G
+鍠�	Z
+鍡�	H
+鍡�	T
+鍡�	Y
+鍡�	X
+鍡�	Q
+鍡�	S
+鍡�	Y
+鍡�	H
+鍡�	X
+鍡�	M
+鍡�	C
+鍡�	H
+鍡�	R
+鍡�	W
+鍡�	J
+鍡�	P
+鍡�	W
+鍡�	X
+鍡�	Z
+鍡�	L
+鍡�	W
+鍡�	J
+鍡�	S
+鍡�	C
+鍡�	S
+鍡�	G
+鍡�	N
+鍡�	Q
+鍡�	B
+鍡�	A
+鍡�	L
+鍡�	Z
+鍡�	Z
+鍡�	M
+鍡�	T
+鍢�	J
+鍢�	C
+鍢�	J
+鍢�	K
+鍢�	T
+鍢�	S
+鍢�	A
+鍢�	X
+鍢�	L
+鍢�	X
+鍢�	H
+鍢�	H
+鍢�	G
+鍢�	X
+鍢�	X
+鍢�	Z
+鍢�	C
+鍢�	P
+鍢�	D
+鍢�	M
+鍢�	H
+鍢�	G
+鍢�	T
+鍢�	Y
+鍢�	S
+鍢�	J
+鍢�	X
+鍢�	H
+鍢�	M
+鍢�	R
+鍢�	X
+鍢�	X
+鍢�	J
+鍢�	K
+鍢�	X
+鍢�	H
+鍢�	M
+鍢�	Q
+鍢�	X
+鍢�	T
+鍢�	T
+鍣�	X
+鍣�	W
+鍣�	Z
+鍣�	F
+鍣�	K
+鍣�	H
+鍣�	C
+鍣�	C
+鍣�	Z
+鍣�	D
+鍣�	Y
+鍣�	T
+鍣�	X
+鍣�	Q
+鍣�	H
+鍣�	L
+鍣�	X
+鍣�	H
+鍣�	Y
+鍣�	X
+鍣�	Y
+鍣�	S
+鍣�	Y
+鍣�	Y
+鍣�	D
+鍣�	Z
+鍣�	Z
+鍣�	N
+鍣�	Y
+鍣�	X
+鍣�	Q
+鍣�	Y
+鍣�	A
+鍣�	Y
+鍣�	W
+鍣�	Y
+鍣�	P
+鍣�	D
+鍣�	X
+鍣�	D
+鍣�	D
+鍣�	X
+鍣�	P
+鍣�	Y
+鍣�	Z
+鍤�	N
+鍤�	D
+鍤�	L
+鍤�	T
+鍤�	W
+鍤�	X
+鍤�	Y
+鍤�	D
+鍤�	X
+鍤�	Z
+鍤�	Z
+鍤�	J
+鍤�	C
+鍤�	X
+鍤�	M
+鍤�	Z
+鍤�	L
+鍤�	H
+鍤�	P
+鍤�	Y
+鍤�	Y
+鍤�	Y
+鍤�	Y
+鍤�	M
+鍤�	H
+鍤�	Z
+鍤�	L
+鍤�	L
+鍤�	H
+鍤�	N
+鍤�	M
+鍤�	Y
+鍤�	L
+鍤�	L
+鍤�	L
+鍤�	M
+鍤�	D
+鍤�	C
+鍤�	P
+鍤�	P
+鍤�	X
+鍤�	M
+鍤�	X
+鍤�	D
+鍤�	K
+鍤�	Y
+鍤�	C
+鍤�	Y
+鍤�	D
+鍤�	L
+鍤�	T
+鍤�	X
+鍤�	C
+鍤�	H
+鍤�	H
+鍥�	Z
+鍥�	Z
+鍥�	X
+鍥�	Z
+鍥�	L
+鍥�	C
+鍥�	C
+鍥�	L
+鍥�	Y
+鍥�	L
+鍥�	Z
+鍥�	S
+鍥�	H
+鍥�	Z
+鍥�	J
+鍥�	Z
+鍥�	Z
+鍥�	L
+鍥�	N
+鍥�	R
+鍥�	L
+鍥�	H
+鍥�	Y
+鍥�	N
+鍥�	T
+鍥�	K
+鍥�	Y
+鍥�	J
+鍥�	P
+鍥�	Y
+鍥�	C
+鍥�	H
+鍥�	E
+鍥�	G
+鍥�	T
+鍥�	T
+鍥�	G
+鍥�	Q
+鍥�	R
+鍥�	G
+鍥�	T
+鍦�	G
+鍦�	Y
+鍦�	H
+鍦�	H
+鍦�	L
+鍦�	G
+鍦�	C
+鍦�	W
+鍦�	Y
+鍦�	Q
+鍦�	K
+鍦�	P
+鍦�	Y
+鍦�	Y
+鍦�	Y
+鍦�	T
+鍦�	T
+鍦�	T
+鍦�	T
+鍦�	L
+鍦�	H
+鍦�	Y
+鍦�	L
+鍦�	L
+鍦�	Y
+鍦�	T
+鍦�	T
+鍦�	P
+鍦�	L
+鍦�	K
+鍦�	Y
+鍦�	Z
+鍦�	S
+鍦�	S
+鍦�	Z
+鍦�	D
+鍦�	Q
+鍦�	X
+鍦�	S
+鍦�	N
+鍦�	M
+鍦�	J
+鍧�	Z
+鍧�	X
+鍧�	Y
+鍧�	Q
+鍧�	M
+鍧�	R
+鍧�	T
+鍧�	F
+鍧�	B
+鍧�	X
+鍧�	L
+鍧�	J
+鍧�	J
+鍧�	D
+鍧�	X
+鍧�	B
+鍧�	T
+鍧�	Q
+鍧�	Z
+鍧�	G
+鍧�	T
+鍧�	J
+鍧�	Y
+鍧�	F
+鍧�	L
+鍧�	Q
+鍧�	G
+鍧�	X
+鍧�	B
+鍧�	L
+鍧�	Z
+鍧�	F
+鍨�	H
+鍨�	Z
+鍨�	A
+鍨�	T
+鍨�	P
+鍨�	M
+鍨�	J
+鍨�	H
+鍨�	L
+鍨�	C
+鍨�	C
+鍨�	Y
+鍨�	H
+鍨�	D
+鍨�	Z
+鍨�	F
+鍨�	G
+鍨�	Y
+鍨�	D
+鍨�	G
+鍨�	C
+鍨�	Y
+鍨�	X
+鍨�	S
+鍨�	B
+鍨�	H
+鍨�	D
+鍨�	K
+鍨�	D
+鍨�	H
+鍨�	A
+鍨�	X
+鍨�	X
+鍨�	B
+鍨�	P
+鍨�	B
+鍨�	Y
+鍨�	Y
+鍨�	H
+鍨�	X
+鍩�	Z
+鍩�	Q
+鍩�	F
+鍩�	F
+鍩�	Q
+鍩�	Y
+鍩�	J
+鍩�	X
+鍩�	D
+鍩�	L
+鍩�	J
+鍩�	Q
+鍩�	Z
+鍩�	L
+鍩�	H
+鍩�	B
+鍩�	J
+鍩�	Y
+鍩�	D
+鍩�	Y
+鍩�	Q
+鍩�	S
+鍩�	Z
+鍩�	W
+鍩�	J
+鍩�	L
+鍩�	Z
+鍩�	K
+鍩�	S
+鍩�	D
+鍩�	T
+鍩�	C
+鍩�	T
+鍩�	B
+鍩�	X
+鍩�	D
+鍩�	Y
+鍩�	Z
+鍩�	Z
+鍩�	Q
+鍩�	J
+鍩�	N
+鍫�	K
+鍫�	K
+鍫�	N
+鍫�	J
+鍫�	G
+鍫�	Y
+鍫�	Y
+鍫�	G
+鍫�	L
+鍫�	F
+鍫�	Y
+鍫�	K
+鍫�	A
+鍫�	S
+鍫�	N
+鍫�	T
+鍫�	C
+鍫�	H
+鍫�	B
+鍫�	L
+鍫�	W
+鍫�	Z
+鍫�	B
+鍫�	Y
+鍫�	W
+鍫�	J
+鍫�	R
+鍫�	Y
+鍫�	G
+鍫�	Z
+鍫�	Y
+鍫�	H
+鍫�	E
+鍫�	Y
+鍫�	F
+鍫�	J
+鍫�	M
+鍫�	S
+鍫�	T
+鍫�	Y
+鍫�	F
+鍫�	Z
+鍫�	J
+鍫�	J
+鍫�	H
+鍫�	G
+鍫�	C
+鍫�	X
+濉�	P
+濉�	L
+濉�	X
+濉�	H
+濉�	D
+濉�	W
+濉�	X
+濉�	X
+濉�	J
+濉�	K
+濉�	Y
+濉�	Y
+濉�	K
+濉�	S
+濉�	S
+濉�	M
+濉�	W
+濉�	C
+濉�	T
+濉�	Q
+濉�	Z
+濉�	L
+濉�	P
+濉�	B
+濉�	Z
+濉�	D
+濉�	Z
+濉�	W
+濉�	Z
+濉�	X
+濉�	Z
+濉�	A
+濉�	G
+濉�	Y
+濉�	K
+濉�	W
+濉�	X
+濉�	L
+濉�	H
+濉�	L
+濉�	S
+濉�	P
+濉�	B
+濉�	C
+濉�	L
+濉�	L
+濉�	O
+濉�	Q
+濉�	M
+濉�	M
+濉�	Z
+濉�	S
+濉�	L
+澧�	B
+澧�	C
+澧�	Z
+澧�	Z
+澧�	K
+澧�	D
+澧�	C
+澧�	Z
+澧�	J
+澧�	G
+澧�	Q
+澧�	Q
+澧�	D
+澧�	C
+澧�	Y
+澧�	T
+澧�	Z
+澧�	Q
+澧�	W
+澧�	Z
+澧�	Q
+澧�	S
+澧�	S
+澧�	F
+澧�	P
+澧�	T
+澧�	T
+澧�	F
+澧�	Q
+澧�	D
+澧�	Z
+澧�	D
+澧�	S
+澧�	H
+澧�	D
+澧�	T
+澧�	D
+澧�	W
+澧�	F
+澧�	H
+澧�	T
+澧�	D
+澧�	Y
+澧�	Z
+澧�	J
+澧�	Y
+澧�	Q
+澧�	Q
+澧�	K
+澧�	Y
+澹�	P
+澹�	D
+澹�	J
+澹�	Y
+澹�	X
+澹�	T
+澹�	L
+澹�	J
+澹�	H
+澹�	D
+澹�	R
+澹�	Q
+澹�	X
+澹�	X
+澹�	X
+澹�	A
+澹�	Y
+澹�	D
+澹�	R
+澹�	J
+澹�	L
+澹�	K
+澹�	L
+澹�	Y
+澹�	T
+澹�	W
+澹�	H
+澹�	L
+澹�	L
+澹�	R
+澹�	L
+澹�	L
+澹�	C
+澹�	X
+澹�	Y
+澹�	L
+澹�	B
+澹�	W
+澹�	S
+澹�	Z
+澹�	Y
+澹�	M
+澹�	Z
+澹�	Z
+澹�	H
+澹�	K
+澹�	H
+澹�	X
+澹�	K
+澹�	S
+澹�	M
+澹�	D
+澶�	S
+澶�	Y
+澶�	Y
+澶�	J
+澶�	P
+澶�	Z
+澶�	B
+澶�	S
+澶�	Q
+澶�	L
+澶�	C
+澶�	X
+澶�	X
+澶�	N
+澶�	X
+澶�	Y
+澶�	W
+澶�	Z
+澶�	Q
+澶�	O
+澶�	G
+澶�	Q
+澶�	M
+澶�	M
+澶�	C
+澶�	Z
+澶�	J
+澶�	G
+澶�	T
+澶�	T
+澶�	Y
+澶�	B
+澶�	H
+澶�	Y
+澶�	X
+澶�	B
+濂�	E
+濂�	T
+濂�	P
+濂�	J
+濂�	X
+濂�	D
+濂�	Y
+濂�	H
+濂�	K
+濂�	Z
+濂�	B
+濂�	H
+濂�	F
+濂�	D
+濂�	X
+濂�	K
+濂�	A
+濂�	W
+濂�	T
+濂�	W
+濂�	A
+濂�	J
+濂�	L
+濂�	D
+濂�	Y
+濂�	J
+濂�	S
+濂�	F
+濂�	H
+濂�	B
+濂�	L
+濂�	D
+濂�	T
+濂�	Q
+濂�	J
+濂�	N
+濂�	C
+濂�	X
+濂�	F
+濡�	J
+濡�	H
+濡�	D
+濡�	Y
+濡�	J
+濡�	J
+濡�	W
+濡�	Z
+濡�	P
+濡�	K
+濡�	Z
+濡�	Y
+濡�	P
+濡�	C
+濡�	Y
+濡�	Z
+濡�	Y
+濡�	N
+濡�	X
+濡�	F
+濡�	F
+濡�	Y
+濡�	D
+濡�	B
+濡�	Z
+濡�	Z
+濡�	N
+濡�	Y
+濡�	T
+濡�	X
+濡�	Z
+濡�	E
+濡�	M
+濡�	B
+濡�	S
+濡�	E
+濮�	H
+濮�	X
+濮�	F
+濮�	Z
+濮�	M
+濮�	B
+濮�	F
+濮�	L
+濮�	Z
+濮�	R
+濮�	X
+濮�	Y
+濮�	M
+濮�	Z
+濮�	J
+濮�	R
+濮�	D
+濮�	J
+濮�	G
+濮�	X
+濮�	H
+濮�	J
+濮�	G
+濮�	J
+濮�	J
+濮�	N
+濮�	Z
+濮�	Z
+濮�	X
+濮�	H
+濮�	G
+濮�	X
+濮�	K
+濮�	Y
+濮�	M
+濮�	L
+濮�	P
+濮�	Y
+濮�	Y
+濮�	Y
+濮�	X
+濮�	T
+濮�	W
+濮�	Q
+濞�	S
+濞�	H
+濞�	X
+濞�	S
+濞�	S
+濞�	X
+濞�	M
+濞�	F
+濞�	W
+濞�	K
+濞�	L
+濞�	C
+濞�	T
+濞�	X
+濞�	N
+濞�	Y
+濞�	P
+濞�	S
+濞�	Z
+濞�	H
+濞�	Z
+濞�	P
+濞�	T
+濞�	X
+濞�	Y
+濞�	Y
+濞�	W
+濞�	X
+濞�	Y
+濞�	Y
+濞�	S
+濞�	L
+濞�	J
+濞�	Z
+濞�	Q
+濞�	X
+濞�	Z
+濞�	D
+濞�	L
+濞�	E
+濞�	E
+濠�	L
+濠�	M
+濠�	C
+濠�	P
+濠�	J
+濠�	C
+濠�	L
+濠�	X
+濠�	S
+濠�	Q
+濠�	H
+濠�	F
+濠�	W
+濠�	W
+濠�	T
+濠�	F
+濠�	F
+濠�	T
+濠�	N
+濠�	Q
+濠�	J
+濠�	J
+濠�	Q
+濠�	D
+濠�	X
+濠�	H
+濠�	W
+濠�	L
+濠�	Y
+濠�	Z
+濠�	N
+濠�	F
+濠�	L
+濠�	N
+濠�	K
+濠�	Y
+濠�	Y
+濠�	J
+濠�	L
+濠�	D
+濠�	X
+濠�	H
+濠�	H
+濠�	Y
+濠�	Y
+濠�	N
+濠�	R
+濠�	J
+濠�	Y
+濯�	Y
+濯�	W
+濯�	T
+濯�	R
+濯�	M
+濯�	D
+濯�	R
+濯�	Q
+濯�	H
+濯�	W
+濯�	Q
+濯�	C
+濯�	M
+濯�	F
+濯�	J
+濯�	D
+濯�	Y
+濯�	Z
+濯�	H
+濯�	M
+濯�	Y
+濯�	Y
+濯�	X
+濯�	J
+濯�	W
+濯�	Z
+濯�	Q
+濯�	Z
+濯�	X
+濯�	T
+濯�	L
+濯�	M
+濯�	R
+濯�	S
+濯�	P
+濯�	W
+濯�	W
+濯�	C
+濯�	H
+濯�	Q
+濯�	B
+濯�	X
+濯�	Y
+濯�	G
+濯�	Z
+濯�	Y
+濯�	Y
+濯�	R
+濯�	R
+濯�	L
+濯�	M
+濯�	P
+濯�	Y
+濯�	M
+濯�	K
+瀚�	S
+瀚�	Z
+瀚�	Y
+瀚�	S
+瀚�	R
+瀚�	M
+瀚�	Y
+瀚�	S
+瀚�	N
+瀚�	T
+瀚�	P
+瀚�	L
+瀚�	N
+瀚�	B
+瀚�	P
+瀚�	Y
+瀚�	Y
+瀚�	X
+瀚�	Y
+瀚�	Y
+瀚�	K
+瀚�	Y
+瀚�	N
+瀚�	Z
+瀚�	J
+瀚�	Z
+瀚�	Z
+瀚�	N
+瀚�	L
+瀚�	Z
+瀚�	H
+瀚�	H
+瀚�	A
+瀚�	R
+瀚�	M
+瀚�	P
+瀚�	G
+瀚�	W
+瀚�	Q
+瀚�	T
+瀚�	Z
+瀚�	M
+瀚�	X
+瀚�	X
+瀚�	M
+瀚�	L
+瀚�	L
+瀚�	H
+瀣�	G
+瀣�	D
+瀣�	Z
+瀣�	X
+瀣�	Y
+瀣�	H
+瀣�	X
+瀣�	K
+瀣�	Y
+瀣�	Y
+瀣�	C
+瀣�	J
+瀣�	M
+瀣�	F
+瀣�	F
+瀣�	Y
+瀣�	Y
+瀣�	H
+瀣�	J
+瀣�	F
+瀣�	S
+瀣�	S
+瀣�	Q
+瀣�	L
+瀣�	X
+瀣�	X
+瀣�	N
+瀣�	D
+瀣�	Y
+瀣�	C
+瀣�	A
+瀣�	N
+瀣�	N
+瀣�	M
+瀣�	T
+瀣�	C
+瀣�	J
+瀣�	C
+瀣�	Y
+瀣�	P
+瀣�	R
+瀣�	R
+瀣�	N
+瀣�	Y
+瀣�	T
+瀣�	Y
+瀣�	Q
+瀣�	Y
+瀣�	M
+瀣�	B
+瀣�	S
+瀣�	X
+瀣�	N
+瀣�	D
+瀣�	L
+瀣�	Y
+瀣�	L
+瀣�	Y
+瀛�	L
+瀛�	J
+瀛�	R
+瀛�	L
+瀛�	X
+瀛�	Y
+瀛�	S
+瀛�	X
+瀛�	Q
+瀛�	M
+瀛�	L
+瀛�	L
+瀛�	Y
+瀛�	Z
+瀛�	L
+瀛�	J
+瀛�	Z
+瀛�	X
+瀛�	S
+瀛�	T
+瀛�	Y
+瀛�	Z
+瀛�	X
+瀛�	M
+瀛�	C
+瀛�	W
+瀛�	Y
+瀛�	Y
+瀛�	Z
+瀛�	L
+瀛�	X
+瀛�	B
+瀛�	N
+瀛�	N
+瀛�	Y
+瀛�	L
+瀹�	R
+瀹�	Q
+瀹�	T
+瀹�	R
+瀹�	Y
+瀹�	Y
+瀹�	J
+瀹�	Z
+瀹�	Z
+瀹�	H
+瀹�	S
+瀹�	Y
+瀹�	T
+瀹�	X
+瀹�	C
+瀹�	Q
+瀹�	G
+瀹�	X
+瀹�	Z
+瀹�	S
+瀹�	S
+瀹�	H
+瀹�	M
+瀹�	K
+瀵�	C
+瀵�	Z
+瀵�	Y
+瀵�	Q
+瀵�	H
+瀵�	Z
+瀵�	J
+瀵�	N
+瀵�	B
+瀵�	H
+瀵�	Q
+瀵�	S
+瀵�	N
+瀵�	J
+瀵�	N
+瀵�	Z
+瀵�	Y
+瀵�	B
+瀵�	K
+瀵�	N
+瀵�	L
+瀵�	Q
+瀵�	H
+瀵�	Z
+瀵�	N
+瀵�	S
+瀵�	W
+瀵�	X
+瀵�	K
+瀵�	H
+瀵�	J
+瀵�	Y
+瀵�	Y
+瀵�	B
+瀵�	Q
+瀵�	L
+瀵�	B
+瀵�	F
+瀵�	L
+瀵�	D
+灏�	P
+灏�	Z
+灏�	P
+灏�	K
+灏�	Y
+灏�	Z
+灏�	X
+灏�	Z
+灏�	D
+灏�	D
+灏�	J
+灏�	M
+灏�	M
+灏�	S
+灏�	S
+灏�	M
+灏�	L
+灏�	X
+灏�	X
+灏�	K
+灏�	Y
+灏�	N
+灏�	P
+灏�	W
+灏�	W
+灏�	W
+灏�	Y
+灏�	D
+灏�	K
+灏�	Z
+灏�	G
+灏�	G
+灏�	Z
+灏�	G
+灏�	G
+灞�	X
+灞�	B
+灞�	J
+灞�	T
+灞�	D
+灞�	S
+灞�	Z
+灞�	X
+灞�	N
+灞�	X
+灞�	U
+灞�	M
+灞�	L
+灞�	P
+灞�	X
+灞�	F
+灞�	X
+灞�	L
+灞�	C
+灞�	X
+灞�	J
+灞�	J
+灞�	L
+灞�	J
+灞�	Z
+灞�	X
+灞�	P
+灞�	W
+灞�	X
+灞�	L
+灞�	Y
+灞�	D
+灞�	H
+灞�	L
+灞�	R
+灞�	W
+灞�	H
+灞�	S
+宀�	C
+宀�	Y
+宀�	Y
+宀�	B
+宀�	Y
+宀�	A
+宀�	W
+宀�	J
+宀�	J
+宀�	F
+宀�	W
+宀�	Q
+宀�	Q
+宀�	J
+宀�	Z
+宀�	Z
+宀�	Y
+宀�	J
+宀�	G
+宀�	X
+宀�	P
+宀�	L
+宀�	T
+宀�	Z
+宀�	F
+宀�	T
+宀�	P
+宀�	A
+宀�	K
+宀�	Q
+宀�	P
+宀�	T
+宀�	L
+宀�	C
+宀�	P
+宀�	C
+宄�	B
+宄�	T
+宄�	X
+宄�	B
+宄�	H
+宄�	K
+宄�	L
+宄�	E
+宄�	N
+宄�	D
+宄�	L
+宄�	E
+宄�	E
+宄�	G
+宄�	Q
+宄�	Y
+宄�	M
+宄�	S
+宄�	A
+宄�	W
+宄�	H
+宄�	M
+宄�	L
+宄�	J
+宄�	T
+宄�	W
+宄�	Y
+宄�	G
+宄�	L
+宄�	Y
+宄�	J
+宄�	E
+宄�	Y
+宄�	B
+宄�	Q
+宄�	F
+宄�	N
+宄�	L
+宄�	Y
+宄�	X
+宄�	R
+宄�	D
+宄�	S
+宄�	C
+宄�	T
+宄�	G
+宄�	G
+宄�	X
+宄�	Y
+宄�	Y
+宕�	N
+宕�	K
+宕�	Y
+宕�	Q
+宕�	C
+宕�	T
+宕�	L
+宕�	H
+宕�	J
+宕�	L
+宕�	M
+宕�	K
+宕�	K
+宕�	Z
+宕�	G
+宕�	Y
+宕�	G
+宕�	L
+宕�	L
+宕�	L
+宕�	D
+宕�	Z
+宕�	Y
+宕�	D
+宕�	H
+宕�	Z
+宕�	W
+宕�	P
+宕�	J
+宕�	Z
+宕�	K
+宕�	D
+宕�	Y
+宕�	Z
+宕�	Z
+宕�	H
+宕�	Y
+宕�	Y
+宕�	F
+宕�	Q
+宕�	Y
+宕�	T
+宕�	Y
+宕�	Z
+宕�	S
+宕�	E
+宓�	Z
+宓�	Z
+宓�	L
+宓�	Y
+宓�	M
+宓�	H
+宓�	J
+宓�	H
+宓�	T
+宓�	W
+宓�	Y
+宓�	Z
+宓�	L
+宓�	K
+宓�	Y
+宓�	Y
+宓�	W
+宓�	Z
+宓�	C
+宓�	S
+宓�	K
+宓�	Q
+宓�	T
+宓�	T
+宓�	D
+宓�	X
+宓�	W
+宓�	C
+宓�	T
+宓�	Y
+宓�	J
+宓�	K
+宓�	L
+宓�	W
+宓�	Q
+宓�	B
+宓�	D
+宓�	Q
+宓�	Y
+宓�	N
+宓�	C
+宓�	S
+宓�	R
+宓�	S
+宓�	Z
+宓�	J
+宓�	L
+宓�	K
+宓�	C
+宓�	D
+宓�	C
+宓�	D
+宥�	T
+宥�	L
+宥�	Z
+宥�	Z
+宥�	A
+宥�	C
+宥�	Q
+宥�	Q
+宥�	Z
+宥�	Z
+宥�	D
+宥�	D
+宥�	X
+宥�	Y
+宥�	P
+宥�	L
+宥�	X
+宥�	C
+宥�	B
+宥�	Q
+宥�	J
+宥�	Y
+宥�	L
+宥�	Z
+宥�	L
+宥�	L
+宥�	Q
+宥�	D
+宥�	Z
+宥�	Q
+宥�	J
+宥�	Y
+宥�	J
+宥�	Y
+宥�	J
+宥�	Z
+宥�	Y
+宥�	X
+宥�	N
+宥�	Y
+宥�	Y
+宥�	Y
+宥�	N
+宥�	Y
+宥�	J
+宥�	X
+宥�	K
+宥�	X
+宥�	D
+宥�	A
+宥�	Z
+宥�	W
+宥�	R
+宥�	D
+宥�	L
+宥�	J
+宥�	Y
+宥�	Y
+宥�	Y
+宥�	R
+宸�	J
+宸�	L
+宸�	X
+宸�	L
+宸�	L
+宸�	Y
+宸�	X
+宸�	J
+宸�	C
+宸�	Y
+宸�	W
+宸�	Y
+宸�	N
+宸�	Q
+宸�	C
+宸�	C
+宸�	L
+宸�	D
+宸�	D
+宸�	N
+宸�	Y
+宸�	Y
+宸�	Y
+宸�	N
+宸�	Y
+宸�	K
+宸�	H
+宸�	X
+宸�	C
+宸�	L
+宸�	K
+宸�	P
+宸�	P
+宸�	Q
+宸�	Z
+宸�	Z
+宸�	Y
+宸�	J
+宸�	S
+宸�	Q
+宸�	P
+宸�	P
+甯�	Z
+甯�	D
+甯�	N
+甯�	F
+甯�	P
+甯�	Z
+甯�	H
+甯�	D
+甯�	D
+甯�	W
+甯�	F
+甯�	M
+甯�	Y
+甯�	Y
+甯�	P
+甯�	Q
+甯�	J
+甯�	R
+甯�	S
+甯�	S
+甯�	Q
+甯�	Z
+甯�	S
+甯�	Q
+甯�	D
+甯�	G
+甯�	P
+甯�	Z
+甯�	S
+甯�	W
+甯�	D
+甯�	S
+甯�	Q
+甯�	D
+甯�	H
+骞�	Z
+骞�	X
+骞�	W
+骞�	Y
+骞�	B
+骞�	P
+骞�	D
+骞�	G
+骞�	P
+骞�	T
+骞�	M
+骞�	J
+骞�	T
+骞�	H
+骞�	Z
+骞�	S
+骞�	B
+骞�	G
+骞�	Z
+骞�	M
+骞�	B
+骞�	J
+骞�	C
+骞�	Z
+骞�	W
+骞�	B
+骞�	B
+骞�	Z
+骞�	M
+骞�	Q
+骞�	C
+骞�	F
+骞�	M
+骞�	B
+骞�	D
+骞�	M
+骞�	C
+骞�	J
+骞�	X
+骞�	L
+骞�	J
+骞�	B
+骞�	G
+骞�	J
+搴�	T
+搴�	Z
+搴�	G
+搴�	M
+搴�	Q
+搴�	T
+搴�	Y
+搴�	X
+搴�	J
+搴�	Z
+搴�	Y
+搴�	C
+搴�	T
+搴�	Y
+搴�	Z
+搴�	T
+搴�	Z
+搴�	X
+搴�	T
+搴�	G
+搴�	K
+搴�	M
+搴�	Y
+搴�	B
+搴�	B
+搴�	C
+搴�	L
+搴�	J
+搴�	S
+搴�	S
+搴�	Q
+搴�	Y
+搴�	M
+寤�	S
+寤�	Z
+寤�	X
+寤�	F
+寤�	J
+寤�	E
+寤�	W
+寤�	L
+寤�	X
+寤�	S
+寤�	Z
+寤�	B
+寤�	Q
+寤�	J
+寤�	J
+寤�	L
+寤�	Y
+寤�	X
+寤�	L
+寤�	Y
+寤�	C
+寤�	T
+寤�	S
+寤�	X
+寤�	M
+寤�	C
+寤�	W
+寤�	F
+寤�	K
+寤�	K
+寤�	K
+寤�	B
+寤�	S
+寤�	L
+寤�	L
+寤�	L
+寤�	J
+寤�	Y
+寤�	X
+寤�	T
+寤�	Y
+寤�	L
+寤�	T
+寤�	Y
+寤�	D
+寤�	P
+寤�	H
+寤�	N
+寤�	H
+寮�	F
+寮�	Q
+寮�	Y
+寮�	Z
+寮�	Y
+寮�	E
+寮�	S
+寮�	E
+寮�	S
+寮�	D
+寮�	H
+寮�	W
+寮�	T
+寮�	J
+寮�	B
+寮�	S
+寮�	Z
+寮�	T
+寮�	F
+寮�	D
+寮�	C
+寮�	Z
+寮�	Y
+寮�	Q
+寮�	S
+寮�	Y
+寮�	J
+寮�	D
+寮�	Z
+寮�	J
+寮�	Q
+寮�	P
+寮�	B
+寮�	S
+寮�	T
+寮�	J
+褰�	G
+褰�	F
+褰�	B
+褰�	K
+褰�	J
+褰�	B
+褰�	X
+褰�	T
+褰�	G
+褰�	J
+褰�	H
+褰�	N
+褰�	G
+褰�	W
+褰�	J
+褰�	J
+褰�	L
+褰�	H
+褰�	H
+褰�	Y
+褰�	Y
+褰�	Y
+褰�	Y
+褰�	Y
+褰�	W
+褰�	Y
+褰�	Y
+褰�	C
+褰�	D
+褰�	Y
+褰�	P
+褰�	C
+褰�	Z
+褰�	Y
+褰�	J
+褰�	Z
+褰�	W
+褰�	D
+褰�	L
+褰�	F
+寰�	W
+寰�	X
+寰�	W
+寰�	Z
+寰�	Z
+寰�	J
+寰�	C
+寰�	Z
+寰�	C
+寰�	U
+寰�	J
+寰�	Z
+寰�	Z
+寰�	Z
+寰�	L
+寰�	X
+寰�	J
+寰�	J
+寰�	T
+寰�	X
+寰�	B
+寰�	F
+寰�	W
+寰�	P
+寰�	X
+寰�	Z
+寰�	P
+寰�	T
+寰�	D
+寰�	Z
+寰�	B
+寰�	Z
+寰�	C
+寰�	Y
+寰�	H
+寰�	M
+寰�	L
+蹇�	X
+蹇�	B
+蹇�	Q
+蹇�	L
+蹇�	R
+蹇�	T
+蹇�	G
+蹇�	R
+蹇�	H
+蹇�	Y
+蹇�	T
+蹇�	X
+蹇�	F
+蹇�	Y
+蹇�	W
+蹇�	W
+蹇�	W
+蹇�	J
+蹇�	X
+蹇�	J
+蹇�	W
+蹇�	C
+蹇�	Y
+蹇�	S
+蹇�	C
+蹇�	T
+蹇�	Z
+蹇�	Q
+蹇�	H
+蹇�	X
+蹇�	W
+蹇�	X
+蹇�	K
+鎬�	J
+鎬�	Y
+鎬�	B
+鎬�	M
+鎬�	P
+鎬�	K
+鎬�	B
+鎬�	N
+鎬�	Z
+鎬�	H
+鎬�	Z
+鎬�	Y
+鎬�	D
+鎬�	T
+鎬�	Y
+鎬�	F
+鎬�	X
+鎬�	B
+鎬�	Y
+鎬�	X
+鎬�	C
+鎬�	B
+鎬�	H
+鎬�	X
+鎬�	P
+鎬�	S
+鎬�	X
+鎬�	T
+鎬�	Y
+鎬�	M
+鎬�	K
+鎭�	S
+鎭�	X
+鎭�	L
+鎭�	H
+鎭�	K
+鎭�	M
+鎭�	Z
+鎭�	X
+鎭�	Y
+鎭�	D
+鎭�	H
+鎭�	W
+鎭�	X
+鎭�	X
+鎭�	S
+鎭�	K
+鎭�	Q
+鎭�	H
+鎭�	C
+鎭�	Y
+鎭�	X
+鎭�	G
+鎭�	L
+鎭�	C
+鎭�	S
+鎭�	Z
+鎭�	Y
+鎭�	P
+鎭�	D
+鎭�	H
+鎭�	X
+鎭�	M
+鎮�	Y
+鎮�	Y
+鎮�	P
+鎮�	Y
+鎮�	Y
+鎮�	Y
+鎮�	K
+鎮�	Z
+鎮�	L
+鎮�	J
+鎮�	Q
+鎮�	T
+鎮�	B
+鎮�	Q
+鎮�	X
+鎮�	M
+鎮�	Y
+鎮�	H
+鎮�	C
+鎮�	W
+鎮�	L
+鎮�	L
+鎮�	C
+鎮�	Y
+鎮�	L
+鎮�	N
+鎮�	E
+鎮�	W
+鎮�	C
+鎮�	D
+鎮�	C
+鎮�	M
+鎮�	L
+鎮�	G
+鎮�	G
+鎮�	Q
+鎮�	K
+鎮�	T
+鎯�	L
+鎯�	X
+鎯�	K
+鎯�	G
+鎯�	N
+鎯�	D
+鎯�	G
+鎯�	Z
+鎯�	Y
+鎯�	J
+鎯�	J
+鎯�	L
+鎯�	Y
+鎯�	H
+鎯�	Q
+鎯�	T
+鎯�	T
+鎯�	N
+鎯�	C
+鎯�	M
+鎯�	X
+鎯�	W
+鎯�	S
+鎯�	Z
+鎯�	J
+鎯�	Y
+鎯�	D
+鎯�	N
+鎯�	Y
+鎯�	T
+鎯�	C
+鎯�	Q
+鎯�	C
+鎯�	B
+鎯�	H
+鎯�	Z
+鎯�	T
+鎰�	B
+鎰�	X
+鎰�	W
+鎰�	G
+鎰�	W
+鎰�	B
+鎰�	X
+鎰�	H
+鎰�	M
+鎰�	Y
+鎰�	Q
+鎰�	T
+鎰�	Y
+鎰�	X
+鎰�	M
+鎰�	Q
+鎰�	K
+鎰�	A
+鎰�	Q
+鎰�	Y
+鎰�	R
+鎰�	Z
+鎰�	S
+鎰�	Y
+鎰�	Q
+鎰�	H
+鎰�	Y
+鎰�	S
+鎰�	Q
+鎰�	Y
+鎰�	S
+鎰�	H
+鎰�	J
+鎰�	G
+鎰�	J
+鎰�	C
+鎰�	N
+鎰�	X
+鎰�	K
+鎰�	Z
+鎰�	Y
+鎰�	C
+鎰�	X
+鎰�	S
+鎰�	B
+鎰�	X
+鎱�	X
+鎱�	H
+鎱�	Y
+鎱�	Y
+鎱�	L
+鎱�	S
+鎱�	T
+鎱�	Y
+鎱�	X
+鎱�	T
+鎱�	Y
+鎱�	M
+鎱�	G
+鎱�	C
+鎱�	P
+鎱�	M
+鎱�	G
+鎱�	C
+鎱�	C
+鎱�	C
+鎱�	C
+鎱�	C
+鎱�	M
+鎱�	Z
+鎱�	T
+鎱�	A
+鎱�	S
+鎱�	G
+鎱�	Q
+鎱�	Z
+鎱�	J
+鎱�	L
+鎱�	O
+鎱�	S
+鎱�	Q
+鎱�	Y
+鎱�	L
+鎱�	S
+鎱�	T
+鎱�	M
+鎱�	X
+鎱�	S
+鎱�	Q
+鎱�	D
+鎱�	Z
+鎱�	L
+鎱�	J
+鎱�	Q
+鎱�	Q
+鎱�	Y
+鎱�	P
+鎲�	L
+鎲�	S
+鎲�	Y
+鎲�	C
+鎲�	Z
+鎲�	T
+鎲�	C
+鎲�	Q
+鎲�	Q
+鎲�	P
+鎲�	B
+鎲�	Q
+鎲�	J
+鎲�	C
+鎲�	L
+鎲�	P
+鎲�	K
+鎲�	H
+鎲�	Z
+鎲�	Y
+鎲�	Y
+鎲�	X
+鎲�	X
+鎲�	D
+鎲�	T
+鎲�	D
+鎲�	T
+鎲�	S
+鎲�	J
+鎲�	C
+鎲�	X
+鎲�	F
+鎲�	F
+鎲�	L
+鎲�	L
+鎲�	X
+鎲�	M
+鎲�	L
+鎲�	W
+鎲�	C
+鎲�	J
+鎲�	C
+鎲�	X
+鎲�	T
+鎲�	S
+鎲�	P
+鎲�	Y
+鎲�	X
+鎲�	N
+鎲�	D
+鎲�	T
+鎲�	J
+鎲�	S
+鎲�	J
+鎳�	W
+鎳�	X
+鎳�	Q
+鎳�	Q
+鎳�	J
+鎳�	S
+鎳�	K
+鎳�	Y
+鎳�	Y
+鎳�	L
+鎳�	S
+鎳�	J
+鎳�	H
+鎳�	A
+鎳�	Y
+鎳�	K
+鎳�	X
+鎳�	C
+鎳�	Y
+鎳�	Y
+鎳�	D
+鎳�	M
+鎳�	N
+鎳�	M
+鎳�	D
+鎳�	Q
+鎳�	M
+鎳�	X
+鎳�	M
+鎳�	C
+鎳�	Z
+鎳�	N
+鎳�	C
+鎳�	Y
+鎳�	B
+鎳�	Z
+鎳�	K
+鎳�	K
+鎳�	Y
+鎳�	F
+鎳�	L
+鎳�	M
+鎳�	C
+鎳�	H
+鎳�	C
+鎳�	L
+鎳�	H
+鎳�	X
+鎳�	R
+鎳�	C
+鎳�	J
+鎳�	J
+鎳�	H
+鎳�	S
+鎴�	L
+鎴�	N
+鎴�	M
+鎴�	T
+鎴�	J
+鎴�	Z
+鎴�	Z
+鎴�	Y
+鎴�	G
+鎴�	J
+鎴�	D
+鎴�	D
+鎴�	C
+鎴�	J
+鎴�	Z
+鎴�	K
+鎴�	Z
+鎴�	Q
+鎴�	G
+鎴�	J
+鎴�	Y
+鎴�	Y
+鎴�	X
+鎴�	Z
+鎴�	X
+鎴�	X
+鎴�	Q
+鎴�	H
+鎴�	H
+鎴�	E
+鎴�	Y
+鎴�	T
+鎴�	M
+鎵�	D
+鎵�	S
+鎵�	Y
+鎵�	Y
+鎵�	Y
+鎵�	Q
+鎵�	L
+鎵�	F
+鎵�	R
+鎵�	Z
+鎵�	Z
+鎵�	Y
+鎵�	Y
+鎵�	W
+鎵�	H
+鎵�	S
+鎵�	Z
+鎵�	Y
+鎵�	Q
+鎵�	W
+鎵�	D
+鎵�	R
+鎵�	X
+鎵�	Q
+鎵�	J
+鎵�	Y
+鎵�	A
+鎵�	Z
+鎵�	Z
+鎵�	Z
+鎵�	D
+鎶�	Y
+鎶�	W
+鎶�	B
+鎶�	J
+鎶�	W
+鎶�	H
+鎶�	Y
+鎶�	Q
+鎶�	S
+鎶�	Z
+鎶�	Y
+鎶�	W
+鎶�	R
+鎶�	P
+鎶�	P
+鎶�	B
+鎶�	N
+鎶�	Z
+鎶�	Y
+鎶�	B
+鎶�	Z
+鎶�	N
+鎶�	P
+鎶�	Y
+鎶�	Z
+鎶�	Z
+鎶�	Y
+鎶�	Q
+鎶�	N
+鎶�	Y
+鎶�	C
+鎶�	P
+鎶�	J
+鎶�	M
+鎶�	Q
+鎷�	C
+鎷�	Y
+鎷�	Z
+鎷�	P
+鎷�	N
+鎷�	Q
+鎷�	T
+鎷�	B
+鎷�	Z
+鎷�	J
+鎷�	K
+鎷�	Q
+鎷�	Q
+鎷�	H
+鎷�	N
+鎷�	G
+鎷�	Z
+鎷�	Y
+鎷�	X
+鎷�	S
+鎷�	H
+鎸�	B
+鎸�	Z
+鎸�	K
+鎸�	D
+鎸�	D
+鎸�	N
+鎸�	Z
+鎸�	H
+鎸�	J
+鎸�	D
+鎸�	R
+鎸�	L
+鎸�	Z
+鎸�	L
+鎸�	S
+鎸�	J
+鎸�	L
+鎸�	J
+鎸�	Y
+鎸�	X
+鎸�	Y
+鎸�	Y
+鎸�	B
+鎸�	G
+鎸�	T
+鎸�	C
+鎸�	S
+鎸�	Q
+鎸�	M
+鎸�	N
+鎸�	J
+鎸�	P
+鎸�	J
+鎸�	Y
+鎸�	S
+鎸�	X
+鎸�	Z
+鎹�	F
+鎹�	K
+鎹�	Q
+鎹�	H
+鎹�	T
+鎹�	P
+鎹�	Z
+鎹�	S
+鎹�	Y
+鎹�	Z
+鎹�	W
+鎹�	Z
+鎹�	Z
+鎹�	Z
+鎹�	Z
+鎹�	L
+鎹�	S
+鎹�	Y
+鎹�	B
+鎹�	W
+鎹�	W
+鎹�	Q
+鎹�	S
+鎹�	M
+鎹�	M
+鎹�	F
+鎹�	D
+鎹�	W
+鎹�	Q
+鎹�	Y
+鎹�	Z
+鎹�	T
+鎹�	T
+鎹�	B
+鎹�	W
+鎹�	Z
+鎹�	X
+鎹�	Q
+鎺�	C
+鎺�	S
+鎺�	L
+鎺�	Q
+鎺�	G
+鎺�	D
+鎺�	H
+鎺�	Q
+鎺�	S
+鎺�	W
+鎺�	L
+鎺�	Y
+鎺�	Z
+鎺�	L
+鎺�	G
+鎺�	Y
+鎺�	X
+鎺�	Y
+鎺�	Z
+鎺�	C
+鎺�	B
+鎺�	T
+鎺�	Z
+鎺�	K
+鎺�	S
+鎺�	J
+鎺�	M
+鎺�	G
+鎺�	M
+鎺�	S
+鎺�	P
+鎺�	N
+鎻�	J
+鎻�	Z
+鎻�	Y
+鎻�	Q
+鎻�	Y
+鎻�	N
+鎻�	X
+鎻�	P
+鎻�	W
+鎻�	S
+鎻�	N
+鎻�	S
+鎻�	Z
+鎻�	Z
+鎻�	X
+鎻�	Y
+鎻�	B
+鎻�	Y
+鎻�	H
+鎻�	Y
+鎻�	Z
+鎻�	X
+鎻�	Q
+鎻�	J
+鎻�	T
+鎻�	L
+鎻�	L
+鎻�	C
+鎻�	J
+鎻�	T
+鎻�	H
+鎻�	G
+鎻�	D
+鎻�	X
+鎻�	X
+鎻�	Q
+鎻�	Z
+鎻�	B
+鎻�	Y
+鎻�	W
+鎻�	D
+鎻�	W
+鎼�	Z
+鎼�	G
+鎼�	G
+鎼�	Q
+鎼�	R
+鎼�	Q
+鎼�	Z
+鎼�	S
+鎼�	S
+鎼�	R
+鎼�	B
+鎼�	K
+鎼�	Y
+鎼�	D
+鎼�	Z
+鎼�	N
+鎼�	X
+鎼�	Q
+鎼�	X
+鎼�	J
+鎼�	M
+鎼�	Y
+鎼�	D
+鎼�	S
+鎼�	T
+鎼�	Z
+鎼�	P
+鎼�	L
+鎼�	T
+鎼�	K
+鎼�	Z
+鎼�	W
+鎼�	X
+鎼�	W
+鎼�	Q
+鎼�	T
+鎼�	Z
+鎼�	E
+鎼�	N
+鎼�	Q
+鎼�	Z
+鎽�	W
+鎽�	Z
+鎽�	K
+鎽�	R
+鎽�	S
+鎽�	S
+鎽�	S
+鎽�	L
+鎽�	C
+鎽�	C
+鎽�	G
+鎽�	P
+鎽�	Z
+鎽�	Q
+鎽�	S
+鎽�	L
+鎽�	C
+鎽�	C
+鎽�	G
+鎽�	L
+鎽�	L
+鎽�	Z
+鎽�	X
+鎽�	H
+鎽�	Z
+鎽�	Q
+鎽�	T
+鎽�	H
+鎽�	Z
+鎽�	Q
+鎽�	G
+鎽�	Y
+鎽�	Q
+鎽�	Z
+鎽�	N
+鎽�	M
+鎽�	C
+鎽�	O
+鎽�	C
+鎽�	S
+鎽�	Z
+鎽�	J
+鎽�	S
+鎽�	Q
+鎽�	B
+鎽�	J
+鎽�	Y
+鎾�	G
+鎾�	Q
+鎾�	J
+鎾�	P
+鎾�	L
+鎾�	D
+鎾�	X
+鎾�	R
+鎾�	G
+鎾�	Z
+鎾�	Y
+鎾�	X
+鎾�	C
+鎾�	X
+鎾�	H
+鎾�	G
+鎾�	T
+鎾�	N
+鎾�	L
+鎾�	Z
+鎾�	W
+鎾�	K
+鎾�	J
+鎾�	C
+鎾�	X
+鎾�	T
+鎾�	F
+鎾�	C
+鎾�	J
+鎾�	X
+鎾�	B
+鎾�	M
+鎾�	Z
+鎾�	W
+鎾�	P
+鎾�	Q
+鎾�	D
+鎾�	H
+鎾�	J
+鎾�	T
+鎾�	Y
+鎾�	Z
+鎾�	L
+鎿�	Y
+鎿�	N
+鎿�	L
+鎿�	Z
+鎿�	Z
+鎿�	P
+鎿�	C
+鎿�	X
+鎿�	D
+鎿�	S
+鎿�	Q
+鎿�	J
+鎿�	K
+鎿�	S
+鎿�	X
+鎿�	Z
+鎿�	A
+鎿�	J
+鎿�	Y
+鎿�	E
+鎿�	M
+鎿�	M
+鎿�	J
+鎿�	T
+鎿�	D
+鎿�	L
+鎿�	J
+鎿�	Y
+鎿�	R
+鎿�	Y
+鎿�	Y
+鎿�	N
+鎿�	W
+鎿�	J
+鎿�	B
+鎿�	N
+鎿�	G
+鎿�	Z
+鎿�	Z
+鎿�	T
+鎿�	M
+鎿�	J
+鎿�	X
+鎿�	L
+鎿�	T
+鎿�	B
+鎿�	S
+鎿�	L
+鎿�	Y
+鎿�	R
+鎿�	Z
+鏀�	Y
+鏀�	L
+鏀�	S
+鏀�	S
+鏀�	C
+鏀�	N
+鏀�	X
+鏀�	P
+鏀�	L
+鏀�	L
+鏀�	H
+鏀�	Y
+鏀�	L
+鏀�	L
+鏀�	Q
+鏀�	Q
+鏀�	Q
+鏀�	L
+鏀�	X
+鏀�	Y
+鏀�	M
+鏀�	S
+鏀�	Y
+鏀�	C
+鏀�	X
+鏀�	Z
+鏀�	L
+鏀�	M
+鏀�	M
+鏀�	C
+鏀�	Z
+鏀�	L
+鏀�	T
+鏀�	S
+鏀�	D
+鏀�	W
+鏀�	T
+鏀�	J
+鏀�	L
+鏀�	L
+鏀�	G
+鏀�	G
+鏀�	Q
+鏀�	X
+鏀�	K
+鏀�	Y
+鏀�	H
+鏀�	B
+鏁�	P
+鏁�	D
+鏁�	K
+鏁�	M
+鏁�	W
+鏁�	H
+鏁�	C
+鏁�	S
+鏁�	G
+鏁�	X
+鏁�	J
+鏁�	C
+鏁�	Z
+鏁�	D
+鏁�	Y
+鏁�	B
+鏁�	X
+鏁�	D
+鏁�	N
+鏁�	D
+鏁�	Q
+鏁�	Y
+鏁�	K
+鏁�	Y
+鏁�	Q
+鏁�	T
+鏁�	X
+鏁�	D
+鏁�	Y
+鏁�	X
+鏁�	M
+鏁�	Z
+鏁�	A
+鏁�	D
+鏁�	Z
+鏁�	S
+鏁�	L
+鏁�	Q
+鏁�	X
+鏁�	Y
+鏁�	J
+鏁�	S
+鏁�	J
+鏂�	Z
+鏂�	Y
+鏂�	L
+鏂�	B
+鏂�	T
+鏂�	X
+鏂�	X
+鏂�	X
+鏂�	Q
+鏂�	Q
+鏂�	J
+鏂�	Z
+鏂�	U
+鏂�	B
+鏂�	Y
+鏂�	L
+鏂�	W
+鏂�	S
+鏂�	J
+鏂�	J
+鏂�	Y
+鏂�	J
+鏂�	T
+鏂�	D
+鏂�	Z
+鏂�	Q
+鏂�	Q
+鏂�	Z
+鏂�	Z
+鏂�	Z
+鏂�	Z
+鏂�	Q
+鏂�	L
+鏂�	Z
+鏂�	C
+鏂�	D
+鏂�	Z
+鏂�	J
+鏂�	H
+鏂�	P
+鏂�	Y
+鏃�	M
+鏃�	Q
+鏃�	P
+鏃�	L
+鏃�	F
+鏃�	F
+鏃�	J
+鏃�	Z
+鏃�	Y
+鏃�	S
+鏃�	J
+鏃�	E
+鏃�	Z
+鏃�	F
+鏃�	P
+鏃�	F
+鏃�	Z
+鏃�	K
+鏃�	S
+鏃�	Y
+鏃�	J
+鏃�	J
+鏃�	H
+鏃�	X
+鏃�	T
+鏃�	Y
+鏃�	D
+鏃�	X
+鏃�	C
+鏃�	Y
+鏃�	S
+鏃�	M
+鏃�	M
+鏃�	Z
+鏃�	C
+鏃�	W
+鏄�	B
+鏄�	B
+鏄�	J
+鏄�	S
+鏄�	H
+鏄�	F
+鏄�	J
+鏄�	X
+鏄�	F
+鏄�	Q
+鏄�	H
+鏄�	Y
+鏄�	Z
+鏄�	F
+鏄�	S
+鏄�	J
+鏄�	Y
+鏄�	F
+鏄�	X
+鏄�	P
+鏄�	Z
+鏄�	L
+鏄�	H
+鏄�	M
+鏄�	B
+鏄�	X
+鏄�	H
+鏄�	Z
+鏄�	X
+鏄�	F
+鏄�	Y
+鏄�	W
+鏄�	D
+鏄�	A
+鏄�	B
+鏄�	A
+鏄�	L
+鏄�	K
+鏅�	T
+鏅�	S
+鏅�	H
+鏅�	X
+鏅�	K
+鏅�	X
+鏅�	J
+鏅�	J
+鏅�	Z
+鏅�	T
+鏅�	H
+鏅�	G
+鏅�	X
+鏅�	H
+鏅�	J
+鏅�	X
+鏅�	K
+鏅�	Z
+鏅�	X
+鏅�	S
+鏅�	Z
+鏅�	Z
+鏅�	H
+鏅�	H
+鏅�	W
+鏅�	T
+鏅�	Z
+鏅�	Z
+鏅�	Z
+鏅�	S
+鏅�	N
+鏅�	X
+鏅�	Q
+鏅�	Z
+鏅�	Y
+鏅�	Y
+鏅�	W
+鏅�	L
+鏅�	C
+鏆�	W
+鏆�	X
+鏆�	F
+鏆�	X
+鏆�	Y
+鏆�	Y
+鏆�	H
+鏆�	X
+鏆�	M
+鏆�	Y
+鏆�	Y
+鏆�	S
+鏆�	W
+鏆�	Q
+鏆�	M
+鏆�	N
+鏆�	L
+鏆�	Y
+鏆�	C
+鏆�	Y
+鏆�	S
+鏆�	P
+鏆�	J
+鏆�	K
+鏆�	H
+鏆�	W
+鏆�	C
+鏆�	Q
+鏆�	H
+鏆�	Y
+鏆�	L
+鏆�	J
+鏆�	M
+鏆�	Z
+鏆�	X
+鏆�	H
+鏆�	M
+鏆�	C
+鏆�	N
+鏆�	Z
+鏆�	H
+鏆�	H
+鏆�	X
+鏆�	C
+鏆�	L
+鏆�	T
+鏆�	J
+鏆�	P
+鏆�	L
+鏆�	X
+鏇�	Y
+鏇�	J
+鏇�	H
+鏇�	D
+鏇�	Y
+鏇�	Y
+鏇�	L
+鏇�	T
+鏇�	T
+鏇�	X
+鏇�	F
+鏇�	S
+鏇�	Z
+鏇�	H
+鏇�	Y
+鏇�	X
+鏇�	X
+鏇�	S
+鏇�	J
+鏇�	B
+鏇�	J
+鏇�	Y
+鏇�	A
+鏇�	Y
+鏇�	R
+鏇�	M
+鏇�	L
+鏇�	C
+鏇�	K
+鏇�	D
+鏇�	U
+鏇�	Y
+鏇�	H
+鏇�	L
+鏇�	R
+鏇�	L
+鏇�	L
+鏇�	L
+鏇�	S
+鏇�	T
+鏇�	Y
+鏇�	Z
+鏇�	Z
+鏇�	Y
+鏇�	H
+鏇�	S
+鏇�	C
+鏇�	S
+鏇�	Z
+鏈�	Q
+鏈�	X
+鏈�	K
+鏈�	Y
+鏈�	Q
+鏈�	F
+鏈�	P
+鏈�	F
+鏈�	L
+鏈�	K
+鏈�	U
+鏈�	N
+鏈�	T
+鏈�	L
+鏈�	Z
+鏈�	M
+鏈�	W
+鏈�	T
+鏈�	Q
+鏈�	Y
+鏈�	Z
+鏈�	W
+鏈�	T
+鏈�	L
+鏈�	L
+鏈�	L
+鏈�	T
+鏈�	S
+鏈�	T
+鏈�	R
+鏈�	B
+鏈�	D
+鏈�	T
+鏈�	L
+鏈�	Q
+鏈�	J
+鏈�	B
+鏈�	Z
+鏈�	C
+鏉�	R
+鏉�	Q
+鏉�	Y
+鏉�	W
+鏉�	X
+鏉�	F
+鏉�	Z
+鏉�	R
+鏉�	Z
+鏉�	D
+鏉�	M
+鏉�	C
+鏉�	Y
+鏉�	G
+鏉�	G
+鏉�	Z
+鏉�	J
+鏉�	S
+鏉�	W
+鏉�	J
+鏉�	M
+鏉�	Z
+鏉�	Y
+鏉�	F
+鏉�	D
+鏉�	X
+鏉�	C
+鏉�	S
+鏉�	H
+鏉�	X
+鏉�	C
+鏉�	C
+鏋�	S
+鏋�	Y
+鏋�	J
+鏋�	J
+鏋�	M
+鏋�	P
+鏋�	A
+鏋�	F
+鏋�	Y
+鏋�	F
+鏋�	N
+鏋�	H
+鏋�	Y
+鏋�	Z
+鏋�	X
+鏋�	Y
+鏋�	E
+鏋�	Z
+鏋�	Y
+鏋�	Z
+鏋�	S
+鏋�	D
+鏋�	L
+鏋�	S
+鏋�	N
+鏋�	Z
+鏋�	T
+鏋�	X
+鏋�	G
+鏋�	F
+鏋�	M
+鏋�	Y
+鏋�	Y
+鏋�	Y
+鏋�	S
+鏋�	N
+鏌�	B
+鏌�	Y
+鏌�	N
+鏌�	L
+鏌�	H
+鏌�	B
+鏌�	F
+鏌�	Z
+鏌�	D
+鏌�	C
+鏌�	Y
+鏌�	F
+鏌�	S
+鏌�	S
+鏌�	S
+鏌�	S
+鏌�	R
+鏌�	Y
+鏌�	Z
+鏌�	Z
+鏌�	D
+鏌�	G
+鏌�	P
+鏌�	A
+鏌�	F
+鏌�	F
+鏌�	Z
+鏌�	B
+鏌�	Z
+鏌�	S
+鏌�	Z
+鏌�	P
+鏌�	S
+鏌�	G
+鏌�	C
+鏌�	Y
+鏌�	J
+鏍�	L
+鏍�	M
+鏍�	L
+鏍�	R
+鏍�	Z
+鏍�	S
+鏍�	Y
+鏍�	X
+鏍�	Q
+鏍�	Z
+鏍�	Y
+鏍�	X
+鏍�	Z
+鏍�	L
+鏍�	S
+鏍�	K
+鏍�	B
+鏍�	R
+鏍�	B
+鏍�	R
+鏍�	B
+鏍�	Z
+鏍�	C
+鏍�	Y
+鏍�	C
+鏍�	Z
+鏍�	Z
+鏍�	E
+鏍�	E
+鏍�	Y
+鏍�	F
+鏍�	G
+鏍�	Z
+鏍�	L
+鏍�	Y
+鏍�	Z
+鏍�	S
+鏍�	F
+妗�	R
+妗�	Y
+妗�	K
+妗�	Q
+妗�	S
+妗�	X
+妗�	D
+妗�	C
+妗�	Y
+妗�	Z
+妗�	U
+妗�	Y
+妗�	J
+妗�	L
+妗�	Z
+妗�	X
+妗�	S
+妗�	Z
+妗�	B
+妗�	Y
+妗�	K
+妗�	J
+妗�	P
+妗�	B
+妗�	R
+妗�	X
+妗�	L
+妗�	L
+妗�	F
+妗�	Q
+妗�	W
+妗�	J
+妗�	H
+姊�	Y
+姊�	Q
+姊�	Y
+姊�	L
+姊�	P
+姊�	Z
+姊�	D
+姊�	X
+姊�	T
+姊�	Z
+姊�	Y
+姊�	B
+姊�	D
+姊�	H
+姊�	Z
+姊�	R
+姊�	B
+姊�	X
+姊�	H
+姊�	W
+姊�	N
+姊�	J
+姊�	T
+姊�	J
+姊�	X
+姊�	L
+姊�	K
+姊�	C
+姊�	F
+姊�	S
+姊�	S
+姊�	D
+姊�	Q
+姊�	Y
+姊�	J
+姊�	K
+姊�	Z
+姊�	C
+姊�	W
+姊�	J
+姊�	L
+姊�	B
+姊�	X
+姊�	F
+姊�	T
+姊�	Z
+姊�	L
+姊�	L
+妫�	Z
+妫�	L
+妫�	Q
+妫�	B
+妫�	L
+妫�	S
+妫�	Q
+妫�	Q
+妫�	C
+妫�	C
+妫�	Z
+妫�	F
+妫�	P
+妫�	B
+妫�	H
+妫�	C
+妫�	Z
+妫�	L
+妫�	Y
+妫�	Y
+妫�	G
+妫�	G
+妫�	D
+妫�	G
+妫�	W
+妫�	C
+妫�	F
+妫�	C
+妫�	Z
+妫�	Q
+妫�	Y
+妫�	Y
+妫�	Y
+妫�	Q
+妫�	Y
+妫�	S
+妫�	X
+妫�	Z
+妫�	S
+妫�	L
+妫�	Z
+妫�	Z
+妫�	F
+妫�	C
+妫�	Q
+妫�	N
+妞�	W
+妞�	L
+妞�	H
+妞�	Q
+妞�	Z
+妞�	J
+妞�	J
+妞�	C
+妞�	Z
+妞�	Q
+妞�	Y
+妞�	B
+妞�	Z
+妞�	Z
+妞�	B
+妞�	P
+妞�	D
+妞�	C
+妞�	C
+妞�	M
+妞�	H
+妞�	J
+妞�	G
+妞�	X
+妞�	D
+妞�	G
+妞�	D
+妞�	Z
+妞�	Q
+妞�	M
+妞�	F
+妞�	G
+妞�	P
+妞�	S
+妞�	Y
+妞�	S
+妞�	D
+妞�	F
+妞�	W
+妞�	W
+妞�	J
+妞�	Z
+妞�	J
+妞�	Y
+妞�	X
+妞�	Y
+妞�	Y
+妞�	Z
+妤�	Y
+妤�	H
+妤�	W
+妤�	P
+妤�	B
+妤�	Y
+妤�	K
+妤�	X
+妤�	R
+妤�	Y
+妤�	L
+妤�	Y
+妤�	B
+妤�	H
+妤�	K
+妤�	J
+妤�	K
+妤�	S
+妤�	F
+妤�	T
+妤�	Z
+妤�	M
+妤�	M
+妤�	K
+妤�	H
+妤�	T
+妤�	Y
+妤�	Y
+妤�	S
+妤�	Y
+妤�	Y
+妤�	Z
+妤�	P
+妤�	Y
+妤�	Q
+妤�	Y
+妤�	S
+妤�	Y
+妤�	W
+妤�	M
+妤�	T
+妤�	J
+妤�	J
+妤�	R
+妤�	H
+妤�	L
+妤�	Q
+妤�	X
+姒�	S
+姒�	T
+姒�	Y
+姒�	S
+姒�	C
+姒�	P
+姒�	J
+姒�	Y
+姒�	Z
+姒�	F
+姒�	N
+姒�	M
+姒�	G
+姒�	J
+姒�	T
+姒�	Y
+姒�	X
+姒�	Y
+姒�	Z
+姒�	M
+姒�	S
+姒�	J
+姒�	Y
+姒�	J
+姒�	H
+姒�	H
+姒�	Q
+姒�	M
+姒�	Y
+姒�	R
+姒�	S
+姒�	Z
+姒�	W
+姒�	T
+姒�	R
+姒�	T
+姒�	Z
+姒�	S
+姒�	S
+姒�	K
+姒�	X
+姒�	G
+姒�	Q
+妲�	K
+妲�	S
+妲�	P
+妲�	T
+妲�	G
+妲�	C
+妲�	Z
+妲�	N
+妲�	J
+妲�	J
+妲�	Q
+妲�	X
+妲�	M
+妲�	X
+妲�	G
+妲�	Z
+妲�	T
+妲�	Q
+妲�	Y
+妲�	D
+妲�	J
+妲�	Z
+妲�	D
+妲�	L
+妲�	S
+妲�	X
+妲�	J
+妲�	L
+妲�	H
+妲�	Y
+妲�	Q
+妲�	G
+妲�	G
+妲�	G
+妲�	T
+妲�	H
+妲�	S
+妲�	Z
+妲�	P
+妲�	Y
+妲�	J
+妲�	H
+妲�	H
+妲�	G
+妲�	Y
+妲�	Y
+妲�	G
+妲�	K
+妲�	G
+妲�	G
+妲�	W
+妯�	Z
+妯�	Z
+妯�	Y
+妯�	L
+妯�	C
+妯�	Z
+妯�	L
+妯�	X
+妯�	Q
+妯�	S
+妯�	T
+妯�	G
+妯�	Z
+妯�	S
+妯�	L
+妯�	L
+妯�	L
+妯�	M
+妯�	L
+妯�	J
+妯�	S
+妯�	K
+妯�	B
+妯�	L
+妯�	L
+妯�	Z
+妯�	Z
+妯�	S
+妯�	M
+妯�	N
+妯�	Y
+妯�	T
+妯�	P
+妯�	Z
+妯�	S
+妯�	Q
+妯�	J
+妯�	C
+妯�	J
+妯�	Y
+妯�	X
+妯�	Z
+妯�	X
+妯�	Z
+妯�	Z
+妯�	C
+妯�	P
+妯�	S
+妯�	H
+妯�	K
+妯�	Z
+妯�	S
+姗�	X
+姗�	C
+姗�	D
+姗�	F
+姗�	M
+姗�	W
+姗�	R
+姗�	L
+姗�	L
+姗�	Q
+姗�	X
+姗�	R
+姗�	F
+姗�	Z
+姗�	L
+姗�	Y
+姗�	S
+姗�	T
+姗�	C
+姗�	T
+姗�	M
+姗�	X
+姗�	J
+姗�	X
+姗�	H
+姗�	J
+姗�	N
+姗�	T
+姗�	N
+姗�	R
+姗�	T
+姗�	Z
+姗�	F
+姗�	Q
+姗�	Y
+姗�	H
+姗�	Q
+姗�	G
+姗�	L
+姗�	L
+姗�	G
+姗�	X
+姗�	S
+姗�	Z
+姗�	S
+姗�	J
+姗�	D
+姗�	J
+姗�	J
+姗�	C
+姗�	D
+姗�	S
+姗�	J
+妾�	L
+妾�	N
+妾�	Y
+妾�	H
+妾�	S
+妾�	Z
+妾�	X
+妾�	C
+妾�	G
+妾�	J
+妾�	Z
+妾�	Y
+妾�	P
+妾�	F
+妾�	H
+妾�	D
+妾�	J
+妾�	S
+妾�	P
+妾�	C
+妾�	C
+妾�	Z
+妾�	H
+妾�	J
+妾�	J
+妾�	J
+妾�	Z
+妾�	J
+妾�	Q
+妾�	D
+妾�	Y
+妾�	B
+妾�	S
+妾�	S
+妾�	L
+妾�	Y
+妾�	T
+妾�	T
+妾�	M
+妾�	Q
+妾�	T
+妾�	B
+妾�	H
+妾�	J
+妾�	Q
+妾�	N
+妾�	N
+妾�	Y
+妾�	G
+妾�	K
+妾�	Y
+妾�	R
+妾�	Q
+妾�	Y
+娅�	Q
+娅�	M
+娅�	Z
+娅�	G
+娅�	C
+娅�	J
+娅�	K
+娅�	P
+娅�	D
+娅�	C
+娅�	G
+娅�	M
+娅�	Y
+娅�	Z
+娅�	H
+娅�	Q
+娅�	L
+娅�	L
+娅�	S
+娅�	L
+娅�	L
+娅�	C
+娅�	L
+娅�	M
+娅�	H
+娅�	O
+娅�	L
+娅�	Z
+娅�	G
+娅�	D
+娅�	Y
+娅�	Y
+娅�	F
+娅�	Z
+娅�	S
+娅�	L
+娅�	J
+娅�	C
+娅�	Q
+娅�	Z
+娅�	L
+娅�	Y
+娅�	L
+娅�	Z
+娅�	Q
+娅�	J
+娅�	E
+娅�	S
+娅�	H
+娅�	N
+娅�	Y
+娅�	L
+娅�	L
+娅�	J
+娅�	X
+娅�	K
+娅�	J
+娅�	X
+娅�	L
+娅�	Y
+娅�	S
+娅�	Y
+娅�	Y
+娅�	Y
+娆�	X
+娆�	N
+娆�	B
+娆�	Z
+娆�	L
+娆�	J
+娆�	S
+娆�	S
+娆�	Z
+娆�	C
+娆�	Q
+娆�	Q
+娆�	C
+娆�	J
+娆�	Y
+娆�	L
+娆�	L
+娆�	Z
+娆�	L
+娆�	T
+娆�	J
+娆�	Y
+娆�	L
+娆�	L
+娆�	Z
+娆�	L
+娆�	L
+娆�	B
+娆�	N
+娆�	Y
+娆�	L
+娆�	G
+娆�	Y
+娆�	X
+娆�	X
+娆�	C
+娆�	X
+娆�	Q
+娆�	K
+娆�	Y
+娆�	J
+娆�	X
+娆�	X
+娆�	X
+娆�	K
+娆�	L
+娆�	X
+娆�	S
+娆�	X
+娆�	X
+娆�	C
+娆�	Y
+娆�	Q
+姝�	X
+姝�	Q
+姝�	C
+姝�	G
+姝�	Y
+姝�	Y
+姝�	X
+姝�	Y
+姝�	Y
+姝�	T
+姝�	Q
+姝�	O
+姝�	H
+姝�	X
+姝�	H
+姝�	X
+姝�	P
+姝�	Y
+姝�	X
+姝�	X
+姝�	U
+姝�	L
+姝�	C
+姝�	Y
+姝�	E
+姝�	Y
+姝�	C
+姝�	H
+姝�	B
+姝�	B
+姝�	J
+姝�	Q
+姝�	Z
+姝�	S
+姝�	C
+姝�	S
+姝�	Z
+姝�	S
+姝�	S
+姝�	L
+姝�	Z
+姝�	Y
+姝�	L
+姝�	K
+姝�	E
+姝�	Z
+姝�	W
+姝�	M
+娈�	Y
+娈�	S
+娈�	X
+娈�	J
+娈�	Q
+娈�	Q
+娈�	S
+娈�	Q
+娈�	Y
+娈�	Y
+娈�	Y
+娈�	C
+娈�	M
+娈�	D
+娈�	Z
+娈�	Y
+娈�	W
+娈�	C
+娈�	T
+娈�	J
+娈�	S
+娈�	Y
+娈�	D
+娈�	J
+娈�	K
+娈�	C
+娈�	D
+娈�	D
+娈�	J
+娈�	L
+娈�	B
+娈�	D
+娈�	J
+娈�	J
+娈�	Z
+娈�	S
+娈�	Y
+娈�	X
+娈�	Q
+娈�	Q
+娈�	Y
+娈�	X
+姣�	H
+姣�	Q
+姣�	Q
+姣�	Q
+姣�	H
+姣�	D
+姣�	Y
+姣�	X
+姣�	G
+姣�	M
+姣�	A
+姣�	J
+姣�	P
+姣�	C
+姣�	U
+姣�	U
+姣�	P
+姣�	L
+姣�	J
+姣�	S
+姣�	M
+姣�	T
+姣�	X
+姣�	E
+姣�	R
+姣�	X
+姣�	J
+姣�	Q
+姣�	N
+姣�	U
+姣�	P
+姣�	J
+姣�	D
+姣�	B
+姣�	S
+姣�	M
+姣�	S
+姣�	S
+姣�	T
+姣�	K
+姣�	T
+姣�	S
+姘�	S
+姘�	M
+姘�	M
+姘�	T
+姘�	R
+姘�	Z
+姘�	S
+姘�	Z
+姘�	M
+姘�	L
+姘�	D
+姘�	J
+姘�	Q
+姘�	Y
+姘�	N
+姘�	B
+姘�	S
+姘�	X
+姘�	X
+姘�	Q
+姘�	Y
+姘�	D
+姘�	Y
+姘�	Y
+姘�	Z
+姘�	B
+姘�	D
+姘�	S
+姘�	L
+姘�	N
+姘�	F
+姘�	Q
+姹�	P
+姹�	Z
+姹�	M
+姹�	D
+姹�	Z
+姹�	C
+姹�	W
+姹�	F
+姹�	D
+姹�	T
+姹�	M
+姹�	Y
+姹�	P
+姹�	Q
+姹�	Y
+姹�	Y
+姹�	T
+姹�	J
+姹�	Z
+姹�	Z
+姹�	Q
+姹�	J
+姹�	J
+姹�	T
+姹�	J
+姹�	H
+姹�	Q
+姹�	B
+姹�	H
+姹�	Z
+姹�	P
+姹�	X
+姹�	H
+姹�	Y
+姹�	X
+娌�	X
+娌�	Y
+娌�	Y
+娌�	D
+娌�	Y
+娌�	H
+娌�	H
+娌�	N
+娌�	M
+娌�	W
+娌�	C
+娌�	P
+娌�	B
+娌�	Z
+娌�	P
+娌�	Z
+娌�	Z
+娌�	L
+娌�	Z
+娌�	F
+娌�	M
+娌�	Z
+娌�	T
+娌�	Z
+娌�	Z
+娌�	Y
+娌�	F
+娌�	T
+娉�	S
+娉�	K
+娉�	Y
+娉�	J
+娉�	Y
+娉�	J
+娉�	Z
+娉�	H
+娉�	B
+娉�	Z
+娉�	Z
+娉�	Y
+娉�	G
+娉�	H
+娉�	P
+娉�	Z
+娉�	Z
+娉�	S
+娉�	C
+娉�	S
+娉�	J
+娉�	X
+娉�	S
+娉�	X
+娉�	F
+娉�	J
+娉�	G
+娉�	D
+娉�	Y
+娲�	Z
+娲�	Y
+娲�	H
+娲�	Z
+娲�	C
+娲�	W
+娲�	H
+娲�	J
+娲�	S
+娲�	E
+娲�	X
+娲�	F
+娲�	Z
+娲�	Z
+娲�	Y
+娲�	W
+娲�	K
+娲�	U
+娲�	Y
+娲�	T
+娲�	M
+娲�	L
+娲�	Y
+娲�	M
+娲�	Q
+娲�	P
+娲�	X
+娲�	Y
+娲�	S
+娲�	K
+娲�	Q
+娲�	J
+娲�	B
+娲�	X
+娲�	Z
+娲�	H
+娲�	M
+娲�	W
+娴�	Q
+娴�	Y
+娴�	J
+娴�	S
+娴�	P
+娴�	C
+娴�	J
+娴�	L
+娴�	Q
+娴�	W
+娴�	H
+娴�	M
+娴�	Y
+娴�	B
+娴�	D
+娴�	H
+娴�	Y
+娴�	Z
+娴�	L
+娴�	H
+娴�	L
+娴�	G
+娴�	L
+娴�	C
+娴�	H
+娴�	Y
+娴�	T
+娴�	L
+娴�	X
+娴�	C
+娴�	J
+娴�	S
+娴�	C
+娴�	P
+娑�	X
+娑�	S
+娑�	K
+娑�	P
+娑�	H
+娑�	Q
+娑�	R
+娑�	T
+娑�	X
+娑�	T
+娑�	E
+娑�	Y
+娑�	L
+娑�	S
+娑�	S
+娑�	L
+娑�	S
+娑�	D
+娑�	Y
+娑�	H
+娑�	X
+娑�	T
+娑�	C
+娑�	Z
+娑�	N
+娑�	Y
+娑�	T
+娑�	D
+娑�	W
+娑�	J
+娑�	S
+娑�	L
+娑�	H
+娑�	T
+娣�	Q
+娣�	D
+娣�	J
+娣�	H
+娣�	G
+娣�	Y
+娣�	Z
+娣�	P
+娣�	H
+娣�	C
+娣�	Q
+娣�	F
+娣�	C
+娣�	L
+娣�	J
+娣�	L
+娣�	Z
+娣�	P
+娣�	T
+娣�	Y
+娣�	N
+娣�	L
+娣�	M
+娣�	J
+娣�	L
+娣�	L
+娣�	Q
+娣�	Y
+娣�	S
+娣�	H
+娣�	H
+娣�	Y
+娣�	L
+娣�	Q
+娣�	Q
+娣�	Z
+娣�	Y
+娣�	P
+娓�	B
+娓�	Y
+娓�	W
+娓�	R
+娓�	F
+娓�	Y
+娓�	K
+娓�	Q
+娓�	S
+娓�	S
+娓�	Q
+娓�	P
+娓�	X
+娓�	Y
+娓�	R
+娓�	H
+娓�	J
+娓�	N
+娓�	W
+娓�	T
+娓�	F
+娓�	W
+娓�	T
+娓�	W
+娓�	R
+娓�	C
+娓�	H
+娓�	Y
+娓�	H
+娓�	M
+娓�	M
+娓�	Y
+娓�	Y
+娓�	Q
+娓�	S
+娓�	M
+娓�	Z
+娓�	H
+娓�	N
+婀�	G
+婀�	C
+婀�	E
+婀�	L
+婀�	Q
+婀�	Q
+婀�	M
+婀�	T
+婀�	C
+婀�	W
+婀�	C
+婀�	M
+婀�	P
+婀�	X
+婀�	J
+婀�	J
+婀�	F
+婀�	Y
+婀�	Y
+婀�	S
+婀�	X
+婀�	Z
+婀�	T
+婀�	Y
+婀�	B
+婀�	M
+婀�	S
+婀�	T
+婀�	S
+婀�	Y
+婀�	J
+婀�	T
+婀�	T
+婀�	Q
+婀�	Q
+婀�	Y
+婀�	L
+婀�	H
+婀�	Y
+婀�	N
+婀�	B
+婀�	Y
+婀�	Q
+婀�	Z
+婀�	L
+婀�	C
+婀�	Y
+婀�	Z
+婀�	H
+婀�	Z
+婧�	M
+婧�	Y
+婧�	L
+婧�	F
+婧�	L
+婧�	W
+婧�	X
+婧�	Y
+婧�	P
+婧�	J
+婧�	Y
+婧�	S
+婧�	Y
+婧�	X
+婧�	Y
+婧�	M
+婧�	Z
+婧�	C
+婧�	T
+婧�	T
+婧�	W
+婧�	K
+婧�	S
+婧�	Z
+婧�	S
+婧�	L
+婧�	M
+婧�	W
+婧�	Z
+婧�	W
+婧�	W
+婧�	Q
+婧�	Z
+婧�	S
+婧�	A
+婧�	Y
+婧�	Y
+婧�	S
+婧�	S
+婧�	S
+婧�	A
+婧�	P
+婊�	X
+婊�	W
+婊�	C
+婊�	M
+婊�	G
+婊�	X
+婊�	H
+婊�	X
+婊�	D
+婊�	Z
+婊�	Y
+婊�	J
+婊�	G
+婊�	S
+婊�	J
+婊�	H
+婊�	Y
+婊�	Z
+婊�	S
+婊�	C
+婊�	X
+婊�	Y
+婊�	X
+婊�	H
+婊�	B
+婊�	B
+婊�	Z
+婊�	J
+婊�	K
+婊�	S
+婊�	S
+婊�	M
+婊�	A
+婊�	L
+婊�	X
+婊�	Y
+婊�	C
+婊�	F
+婊�	Y
+婊�	G
+婊�	M
+婕�	Q
+婕�	Y
+婕�	J
+婕�	Y
+婕�	C
+婕�	X
+婕�	J
+婕�	L
+婕�	L
+婕�	J
+婕�	G
+婕�	S
+婕�	Z
+婕�	G
+婕�	Q
+婕�	J
+婕�	C
+婕�	C
+婕�	Z
+婕�	O
+婕�	T
+婕�	Y
+婕�	X
+婕�	M
+婕�	T
+婕�	T
+婕�	T
+婕�	L
+婕�	W
+婕�	T
+婕�	G
+婕�	P
+婕�	Z
+婕�	K
+婕�	P
+婕�	Z
+婕�	Z
+婕�	X
+婕�	K
+婕�	Q
+婕�	Y
+婕�	S
+婕�	X
+婕�	C
+婕�	T
+婕�	J
+娼�	Z
+娼�	Y
+娼�	H
+娼�	X
+娼�	S
+娼�	H
+娼�	Z
+娼�	K
+娼�	X
+娼�	Z
+娼�	P
+娼�	S
+娼�	Q
+娼�	P
+娼�	Y
+娼�	H
+娼�	J
+娼�	W
+娼�	P
+娼�	J
+娼�	W
+娼�	X
+娼�	Q
+娼�	Y
+娼�	X
+娼�	S
+娼�	D
+娼�	M
+娼�	R
+娼�	S
+娼�	Z
+娼�	Z
+娼�	Y
+娼�	Z
+娼�	W
+娼�	T
+娼�	Y
+娼�	X
+娼�	Y
+娼�	Z
+娼�	S
+娼�	H
+娼�	B
+娼�	C
+娼�	S
+娼�	P
+娼�	L
+娼�	W
+婢�	S
+婢�	S
+婢�	C
+婢�	J
+婢�	H
+婢�	N
+婢�	L
+婢�	C
+婢�	H
+婢�	H
+婢�	Y
+婢�	L
+婢�	H
+婢�	F
+婢�	H
+婢�	H
+婢�	X
+婢�	J
+婢�	S
+婢�	X
+婢�	Y
+婢�	L
+婢�	N
+婢�	Y
+婢�	L
+婢�	S
+婢�	D
+婢�	H
+婢�	Z
+婢�	X
+婢�	Y
+婢�	S
+婢�	X
+婢�	L
+婢�	W
+婢�	Z
+婢�	Y
+婢�	K
+婢�	C
+婢�	L
+婢�	D
+婢�	Y
+婢�	X
+婢�	Z
+婢�	M
+婢�	D
+婢�	Y
+婢�	S
+婢�	P
+婢�	J
+婢�	T
+婢�	Q
+婵�	Z
+婵�	N
+婵�	W
+婵�	Q
+婵�	P
+婵�	S
+婵�	S
+婵�	W
+婵�	C
+婵�	T
+婵�	S
+婵�	T
+婵�	S
+婵�	Z
+婵�	L
+婵�	N
+婵�	X
+婵�	S
+婵�	M
+婵�	N
+婵�	Y
+婵�	Y
+婵�	M
+婵�	J
+婵�	Q
+婵�	Q
+婵�	Z
+婵�	W
+婵�	T
+婵�	Y
+婵�	Y
+婵�	D
+婵�	C
+婵�	H
+婵�	Q
+婵�	L
+婵�	X
+婵�	K
+婵�	W
+婵�	B
+婵�	G
+婵�	Q
+婵�	Y
+婵�	B
+婵�	K
+婵�	F
+婵�	C
+婵�	M
+婵�	Z
+婵�	W
+婵�	P
+婵�	Z
+婵�	L
+婵�	L
+鐎�	Y
+鐎�	Y
+鐎�	L
+鐎�	S
+鐎�	Z
+鐎�	Y
+鐎�	D
+鐎�	W
+鐎�	H
+鐎�	X
+鐎�	P
+鐎�	S
+鐎�	B
+鐎�	C
+鐎�	M
+鐎�	L
+鐎�	J
+鐎�	S
+鐎�	C
+鐎�	G
+鐎�	B
+鐎�	H
+鐎�	X
+鐎�	L
+鐎�	Q
+鐎�	R
+鐎�	L
+鐎�	J
+鐎�	X
+鐎�	Y
+鐎�	S
+鐎�	W
+鐎�	W
+鐎�	X
+鐎�	Z
+鐎�	S
+鐎�	L
+鐎�	D
+鐎�	F
+鐎�	H
+鐎�	L
+鐎�	S
+鐎�	L
+鐎�	Y
+鐎�	N
+鐎�	J
+鐎�	L
+鐎�	Z
+鐎�	Y
+鐎�	L
+鐎�	Y
+鐎�	J
+鐎�	C
+鐎�	D
+鐎�	R
+鐎�	J
+鐎�	L
+鐎�	F
+鐏�	S
+鐏�	Y
+鐏�	Z
+鐏�	F
+鐏�	S
+鐏�	L
+鐏�	L
+鐏�	C
+鐏�	Q
+鐏�	Y
+鐏�	Q
+鐏�	F
+鐏�	J
+鐏�	Y
+鐏�	Y
+鐏�	X
+鐏�	Z
+鐏�	L
+鐏�	Y
+鐏�	L
+鐏�	M
+鐏�	S
+鐏�	T
+鐏�	D
+鐏�	J
+鐏�	C
+鐏�	Y
+鐏�	H
+鐏�	Z
+鐏�	L
+鐏�	L
+鐏�	N
+鐏�	W
+鐏�	L
+鐏�	X
+鐏�	X
+鐏�	Y
+鐏�	G
+鐏�	Y
+鐏�	Y
+鐏�	G
+鐏�	X
+鐏�	X
+鐏�	H
+鐏�	H
+鐏�	Z
+鐏�	Z
+鐏�	X
+鐏�	C
+鐏�	Z
+鐐�	Q
+鐐�	Z
+鐐�	F
+鐐�	N
+鐐�	W
+鐐�	P
+鐐�	Y
+鐐�	P
+鐐�	K
+鐐�	P
+鐐�	Y
+鐐�	P
+鐐�	M
+鐐�	L
+鐐�	G
+鐐�	X
+鐐�	G
+鐐�	G
+鐐�	B
+鐐�	D
+鐐�	X
+鐐�	Z
+鐐�	Z
+鐐�	K
+鐐�	Z
+鐐�	F
+鐐�	B
+鐐�	X
+鐐�	X
+鐐�	L
+鐐�	Z
+鐐�	P
+鐐�	T
+鐐�	Y
+鐐�	T
+鐐�	S
+鐐�	W
+鐐�	H
+鐐�	Z
+鐑�	Y
+鐑�	X
+鐑�	H
+鐑�	Q
+鐑�	H
+鐑�	X
+鐑�	X
+鐑�	X
+鐑�	Y
+鐑�	Y
+鐑�	Z
+鐑�	Y
+鐑�	S
+鐑�	W
+鐑�	T
+鐑�	X
+鐑�	Z
+鐑�	K
+鐑�	X
+鐑�	X
+鐑�	Z
+鐑�	P
+鐑�	H
+鐑�	G
+鐑�	C
+鐑�	H
+鐑�	C
+鐑�	U
+鐑�	L
+鐑�	F
+鐑�	J
+鐑�	X
+鐑�	P
+鐑�	T
+鐑�	Z
+鐑�	T
+鐑�	H
+鐑�	L
+鐑�	Y
+鐑�	X
+鐑�	C
+鐑�	R
+鐒�	H
+鐒�	X
+鐒�	S
+鐒�	H
+鐒�	X
+鐒�	K
+鐒�	Y
+鐒�	X
+鐒�	X
+鐒�	Z
+鐒�	Q
+鐒�	D
+鐒�	X
+鐒�	Q
+鐒�	U
+鐒�	L
+鐒�	Y
+鐒�	J
+鐒�	L
+鐒�	K
+鐒�	H
+鐒�	T
+鐒�	X
+鐒�	C
+鐒�	W
+鐒�	H
+鐒�	J
+鐒�	F
+鐒�	W
+鐒�	C
+鐒�	F
+鐒�	P
+鐒�	Q
+鐒�	R
+鐒�	Y
+鐒�	Q
+鐒�	X
+鐒�	Y
+鐒�	Q
+鐒�	Y
+鐒�	G
+鐒�	P
+鐒�	Y
+鐒�	W
+鐒�	S
+鐒�	G
+鐒�	S
+鐒�	U
+鐒�	N
+鐒�	G
+鐓�	W
+鐓�	C
+鐓�	H
+鐓�	K
+鐓�	Z
+鐓�	X
+鐓�	Y
+鐓�	F
+鐓�	L
+鐓�	X
+鐓�	J
+鐓�	B
+鐓�	Y
+鐓�	Z
+鐓�	W
+鐓�	T
+鐓�	S
+鐓�	X
+鐓�	X
+鐓�	N
+鐓�	C
+鐓�	Y
+鐓�	J
+鐓�	J
+鐓�	M
+鐓�	W
+鐓�	Z
+鐓�	J
+鐓�	Q
+鐓�	R
+鐓�	H
+鐓�	F
+鐓�	Q
+鐓�	S
+鐓�	Y
+鐓�	L
+鐓�	J
+鐓�	Z
+鐓�	G
+鐓�	Y
+鐓�	N
+鐓�	S
+鐓�	L
+鐓�	G
+鐓�	T
+鐓�	C
+鐓�	Y
+鐓�	B
+鐔�	Y
+鐔�	X
+鐔�	X
+鐔�	W
+鐔�	Y
+鐔�	H
+鐔�	X
+鐔�	Y
+鐔�	Y
+鐔�	N
+鐔�	S
+鐔�	Q
+鐔�	Y
+鐔�	M
+鐔�	Q
+鐔�	Y
+鐔�	W
+鐔�	G
+鐔�	Y
+鐔�	Q
+鐔�	B
+鐔�	B
+鐔�	Z
+鐔�	L
+鐔�	J
+鐔�	L
+鐔�	P
+鐔�	S
+鐔�	Y
+鐔�	T
+鐔�	J
+鐔�	Z
+鐔�	H
+鐔�	Y
+鐔�	Z
+鐔�	W
+鐔�	L
+鐔�	R
+鐔�	O
+鐔�	R
+鐔�	J
+鐔�	K
+鐔�	C
+鐔�	Z
+鐔�	J
+鐔�	X
+鐔�	X
+鐔�	Y
+鐔�	X
+鐔�	C
+鐔�	H
+鐕�	D
+鐕�	Y
+鐕�	X
+鐕�	Y
+鐕�	X
+鐕�	X
+鐕�	J
+鐕�	D
+鐕�	T
+鐕�	S
+鐕�	Q
+鐕�	F
+鐕�	X
+鐕�	Y
+鐕�	L
+鐕�	T
+鐕�	S
+鐕�	F
+鐕�	X
+鐕�	L
+鐕�	M
+鐕�	T
+鐕�	Y
+鐕�	J
+鐕�	M
+鐕�	J
+鐕�	U
+鐕�	Y
+鐕�	Y
+鐕�	X
+鐕�	L
+鐕�	T
+鐕�	C
+鐕�	X
+鐕�	Q
+鐕�	Z
+鐕�	Q
+鐕�	H
+鐕�	Z
+鐕�	L
+鐕�	Y
+鐕�	Y
+鐕�	X
+鐕�	Z
+鐕�	H
+鐕�	D
+鐕�	N
+鐕�	B
+鐕�	R
+鐕�	X
+鐕�	X
+鐕�	J
+鐕�	C
+鐕�	T
+鐕�	Y
+鐖�	H
+鐖�	L
+鐖�	B
+鐖�	R
+鐖�	L
+鐖�	M
+鐖�	R
+鐖�	L
+鐖�	L
+鐖�	A
+鐖�	X
+鐖�	K
+鐖�	Y
+鐖�	L
+鐖�	L
+鐖�	L
+鐖�	J
+鐖�	L
+鐖�	Y
+鐖�	X
+鐖�	X
+鐖�	L
+鐖�	Y
+鐖�	C
+鐖�	R
+鐖�	Y
+鐖�	L
+鐖�	C
+鐖�	T
+鐖�	G
+鐖�	J
+鐖�	C
+鐖�	M
+鐖�	T
+鐖�	L
+鐖�	Z
+鐖�	L
+鐖�	L
+鐖�	Y
+鐖�	Z
+鐖�	Z
+鐖�	P
+鐖�	C
+鐖�	W
+鐖�	H
+鐖�	J
+鐖�	Y
+鐖�	Z
+鐖�	M
+鐗�	C
+鐗�	K
+鐗�	Z
+鐗�	D
+鐗�	Q
+鐗�	Y
+鐗�	Q
+鐗�	P
+鐗�	C
+鐗�	J
+鐗�	C
+鐗�	Y
+鐗�	Z
+鐗�	M
+鐗�	P
+鐗�	B
+鐗�	C
+鐗�	Y
+鐗�	D
+鐗�	C
+鐗�	N
+鐗�	L
+鐗�	T
+鐗�	R
+鐗�	M
+鐗�	F
+鐗�	G
+鐗�	Y
+鐗�	Z
+鐗�	B
+鐗�	S
+鐗�	Y
+鐗�	G
+鐗�	M
+鐗�	Z
+鐗�	Q
+鐗�	Q
+鐗�	Z
+鐗�	M
+鐗�	K
+鐗�	Q
+鐘�	L
+鐘�	P
+鐘�	G
+鐘�	Z
+鐘�	B
+鐘�	Q
+鐘�	C
+鐘�	J
+鐘�	F
+鐘�	K
+鐘�	J
+鐘�	C
+鐘�	X
+鐘�	B
+鐘�	L
+鐘�	J
+鐘�	M
+鐘�	S
+鐘�	W
+鐘�	M
+鐘�	D
+鐘�	T
+鐘�	Q
+鐘�	X
+鐘�	L
+鐘�	D
+鐘�	L
+鐘�	P
+鐘�	P
+鐘�	B
+鐘�	X
+鐘�	C
+鐘�	W
+鐘�	R
+鐘�	C
+鐘�	B
+鐘�	J
+鐘�	C
+鐘�	Z
+鐘�	H
+鐘�	K
+鐘�	P
+鐘�	H
+鐘�	Y
+鐘�	Y
+鐘�	H
+鐙�	Z
+鐙�	K
+鐙�	Z
+鐙�	M
+鐙�	P
+鐙�	J
+鐙�	Y
+鐙�	X
+鐙�	Y
+鐙�	L
+鐙�	P
+鐙�	N
+鐙�	Y
+鐙�	Y
+鐙�	X
+鐙�	D
+鐙�	B
+鈪�	1
+鈪�	2
+鈪�	3
+鈪�	4
+鈪�	5
+鈪�	6
+鈪�	7
+鈪�	8
+鈪�	9
+鈪�	Y
+鈪�	E
+鈪�	S
+鈪�	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
+伪	A
+尾	B
+纬	G
+鐙�	K
+鐙�	X
+鐙�	X
+鐙�	M
+鐙�	Z
+鐙�	J
+鐙�	X
+鐙�	S
+鐙�	T
+鐙�	T
+鐙�	L
+鐙�	Z
+鐙�	X
+鐙�	X
+鐙�	B
+鐙�	Z
+鐙�	Y
+鐚�	S
+鐚�	H
+鐚�	J
+鐚�	P
+鐚�	F
+鐚�	X
+鐚�	P
+鐚�	Q
+鐚�	B
+鐚�	Y
+鐚�	L
+鐚�	J
+鐚�	Q
+鐚�	K
+鐚�	Y
+鐚�	Z
+鐚�	Z
+鐚�	Z
+鐚�	Y
+鐚�	L
+鐚�	C
+鐚�	Z
+鐚�	F
+鐚�	F
+鐚�	W
+鐚�	Y
+鐚�	S
+鐚�	T
+鐚�	Y
+鐚�	X
+鐚�	J
+鐚�	P
+鐚�	Y
+鐚�	Y
+鐚�	S
+鐚�	P
+鐚�	M
+鐛�	S
+鐛�	M
+鐛�	Y
+鐛�	D
+鐛�	Y
+鐛�	S
+鐛�	H
+鐛�	Q
+鐛�	Y
+鐛�	Z
+鐛�	C
+鐛�	H
+鐛�	M
+鐛�	J
+鐛�	M
+鐛�	C
+鐛�	A
+鐛�	G
+鐛�	C
+鐛�	F
+鐛�	B
+鐛�	B
+鐛�	H
+鐛�	P
+鐛�	L
+鐛�	Y
+鐛�	Z
+鐛�	Y
+鐛�	X
+鐛�	X
+鐛�	S
+鐛�	T
+鐛�	J
+鐛�	G
+鐛�	X
+鐛�	D
+鐛�	H
+鐛�	K
+鐛�	X
+鐛�	X
+鐛�	N
+鐛�	B
+鐛�	H
+鐛�	R
+鐛�	M
+鐛�	L
+鐛�	Y
+鐛�	J
+鐛�	S
+鐛�	L
+鐛�	T
+鐛�	X
+鐛�	M
+鐛�	R
+鐛�	N
+鐜�	L
+鐜�	X
+鐜�	Q
+鐜�	J
+鐜�	Y
+鐜�	Z
+鐜�	L
+鐜�	S
+鐜�	Q
+鐜�	G
+鐜�	L
+鐜�	B
+鐜�	H
+鐜�	D
+鐜�	C
+鐜�	G
+鐜�	Y
+鐜�	Q
+鐜�	Y
+鐜�	C
+鐜�	H
+鐜�	W
+鐜�	F
+鐜�	J
+鐜�	Y
+鐜�	M
+鐜�	B
+鐜�	Y
+鐜�	J
+鐜�	Y
+鐜�	J
+鐜�	Y
+鐜�	D
+鐜�	P
+鐜�	Q
+鐜�	Y
+鐜�	G
+鐜�	P
+鐜�	F
+鐜�	X
+鐜�	C
+鐜�	G
+鐜�	J
+鐜�	S
+鐝�	C
+鐝�	R
+鐝�	S
+鐝�	S
+鐝�	Y
+鐝�	Z
+鐝�	L
+鐝�	B
+鐝�	Z
+鐝�	J
+鐝�	J
+鐝�	J
+鐝�	L
+鐝�	G
+鐝�	X
+鐝�	Z
+鐝�	Y
+鐝�	X
+鐝�	Y
+鐝�	X
+鐝�	S
+鐝�	Q
+鐝�	Y
+鐝�	X
+鐝�	B
+鐝�	X
+鐝�	X
+鐝�	G
+鐝�	C
+鐝�	X
+鐝�	P
+鐝�	L
+鐝�	D
+鐝�	Y
+鐝�	W
+鐝�	E
+鐝�	T
+鐝�	T
+鐝�	W
+鐝�	W
+鐝�	C
+鐝�	J
+鐝�	M
+鐝�	B
+鐝�	T
+鐝�	X
+鐝�	C
+鐞�	H
+鐞�	X
+鐞�	Y
+鐞�	X
+鐞�	X
+鐞�	F
+鐞�	X
+鐞�	L
+鐞�	L
+鐞�	J
+鐞�	S
+鐞�	F
+鐞�	W
+鐞�	D
+鐞�	P
+鐞�	Z
+鐞�	S
+鐞�	M
+鐞�	Y
+鐞�	L
+鐞�	M
+鐞�	W
+鐞�	Y
+鐞�	T
+鐞�	C
+鐞�	P
+鐞�	C
+鐞�	E
+鐞�	C
+鐞�	B
+鐞�	L
+鐞�	Q
+鐞�	D
+鐞�	B
+鐞�	Q
+鐞�	Z
+鐞�	Q
+鐞�	F
+鐞�	J
+鐞�	D
+鐞�	J
+鐞�	H
+鐟�	Y
+鐟�	M
+鐟�	C
+鐟�	X
+鐟�	T
+鐟�	X
+鐟�	D
+鐟�	R
+鐟�	M
+鐟�	J
+鐟�	W
+鐟�	R
+鐟�	H
+鐟�	X
+鐟�	C
+鐟�	J
+鐟�	Z
+鐟�	Y
+鐟�	L
+鐟�	Q
+鐟�	D
+鐟�	Y
+鐟�	H
+鐟�	L
+鐟�	S
+鐟�	R
+鐟�	S
+鐟�	Y
+鐟�	W
+鐟�	W
+鐟�	Z
+鐟�	J
+鐟�	Y
+鐟�	M
+鐟�	T
+鐟�	L
+鐟�	L
+鐟�	L
+鐟�	T
+鐟�	Q
+鐟�	C
+鐟�	J
+鐟�	Z
+鐟�	B
+鐟�	T
+鐟�	C
+鐟�	K
+鐟�	Z
+鐟�	C
+鐟�	Y
+鐠�	Q
+鐠�	J
+鐠�	Z
+鐠�	Q
+鐠�	A
+鐠�	L
+鐠�	M
+鐠�	Y
+鐠�	H
+鐠�	W
+鐠�	W
+鐠�	D
+鐠�	X
+鐠�	Z
+鐠�	X
+鐠�	Q
+鐠�	D
+鐠�	L
+鐠�	L
+鐠�	Q
+鐠�	S
+鐠�	G
+鐠�	J
+鐠�	F
+鐠�	J
+鐠�	L
+鐠�	J
+鐠�	H
+鐠�	J
+鐠�	A
+鐠�	Z
+鐠�	D
+鐠�	J
+鐠�	G
+鐠�	T
+鐠�	K
+鐠�	H
+鐠�	S
+鐠�	S
+鐠�	T
+鐠�	C
+鐠�	Y
+鐠�	J
+鐠�	L
+鐠�	P
+鐠�	S
+鐠�	Z
+鐠�	L
+鐠�	X
+鐠�	Z
+鐠�	X
+鐡�	R
+鐡�	W
+鐡�	G
+鐡�	L
+鐡�	D
+鐡�	L
+鐡�	Z
+鐡�	R
+鐡�	L
+鐡�	Z
+鐡�	X
+鐡�	T
+鐡�	G
+鐡�	S
+鐡�	L
+鐡�	L
+鐡�	L
+鐡�	L
+鐡�	L
+鐡�	Y
+鐡�	X
+鐡�	X
+鐡�	W
+鐡�	G
+鐡�	D
+鐡�	Z
+鐡�	Y
+鐡�	B
+鐡�	P
+鐡�	Z
+鐡�	L
+鐡�	S
+鐡�	X
+鐡�	Q
+鐡�	B
+鐡�	P
+鐡�	F
+鐡�	D
+鐡�	F
+鐡�	M
+鐡�	W
+鐡�	H
+鐡�	Y
+鐡�	B
+鐡�	J
+鐡�	C
+鐡�	C
+鐡�	L
+鐡�	D
+鐡�	M
+鐢�	Z
+鐢�	P
+鐢�	B
+鐢�	Z
+鐢�	L
+鐢�	C
+鐢�	Y
+鐢�	Q
+鐢�	X
+鐢�	L
+鐢�	D
+鐢�	O
+鐢�	Z
+鐢�	L
+鐢�	W
+鐢�	D
+鐢�	W
+鐢�	Y
+鐢�	Y
+鐢�	T
+鐢�	H
+鐢�	C
+鐢�	Q
+鐢�	S
+鐢�	C
+鐢�	C
+鐢�	R
+鐢�	S
+鐢�	S
+鐢�	L
+鐢�	F
+鐢�	Z
+鐢�	F
+鐢�	P
+鐢�	D
+鐢�	Z
+鐢�	M
+鐣�	B
+鐣�	L
+鐣�	S
+鐣�	L
+鐣�	M
+鐣�	Y
+鐣�	F
+鐣�	G
+鐣�	J
+鐣�	F
+鐣�	T
+鐣�	M
+鐣�	T
+鐣�	J
+鐣�	W
+鐣�	F
+鐣�	N
+鐣�	M
+鐣�	M
+鐣�	J
+鐣�	T
+鐣�	G
+鐣�	B
+鐣�	D
+鐣�	Z
+鐣�	L
+鐣�	P
+鐣�	Y
+鐣�	H
+鐣�	Y
+鐣�	Y
+鐣�	M
+鐣�	J
+鐣�	Y
+鐣�	L
+鐣�	D
+鐣�	H
+鐣�	D
+鐣�	Z
+鐣�	J
+鐣�	C
+鐣�	C
+鐣�	T
+鐣�	L
+鐤�	C
+鐤�	L
+鐤�	D
+鐤�	L
+鐤�	J
+鐤�	C
+鐤�	P
+鐤�	D
+鐤�	D
+鐤�	Q
+鐤�	D
+鐤�	S
+鐤�	Z
+鐤�	N
+鐤�	B
+鐤�	G
+鐤�	Z
+鐤�	X
+鐤�	X
+鐤�	C
+鐤�	X
+鐤�	Q
+鐤�	Y
+鐤�	C
+鐤�	B
+鐤�	Z
+鐤�	X
+鐤�	Z
+鐤�	F
+鐤�	Z
+鐤�	F
+鐥�	J
+鐥�	S
+鐥�	N
+鐥�	T
+鐥�	T
+鐥�	J
+鐥�	Y
+鐥�	H
+鐥�	T
+鐥�	C
+鐥�	M
+鐥�	J
+鐥�	X
+鐥�	T
+鐥�	M
+鐥�	X
+鐥�	S
+鐥�	P
+鐥�	D
+鐥�	S
+鐥�	Y
+鐥�	P
+鐥�	Z
+鐥�	G
+鐥�	M
+鐥�	L
+鐥�	J
+鐥�	T
+鐥�	Y
+鐥�	C
+鐥�	P
+鐥�	M
+鐥�	D
+鐥�	K
+鐦�	Y
+鐦�	C
+鐦�	S
+鐦�	Z
+鐦�	Z
+鐦�	Y
+鐦�	F
+鐦�	Y
+鐦�	C
+鐦�	T
+鐦�	G
+鐦�	W
+鐦�	H
+鐦�	K
+鐦�	Y
+鐦�	J
+鐦�	X
+鐦�	G
+鐦�	Y
+鐦�	C
+鐦�	L
+鐦�	N
+鐦�	D
+鐦�	Z
+鐦�	S
+鐦�	C
+鐦�	Y
+鐦�	Z
+鐦�	S
+鐦�	S
+鐦�	D
+鐦�	L
+鐦�	L
+鐦�	Q
+鐧�	F
+鐧�	S
+鐧�	Q
+鐧�	L
+鐧�	L
+鐧�	X
+鐧�	F
+鐧�	T
+鐧�	Y
+鐧�	H
+鐧�	X
+鐧�	G
+鐧�	W
+鐧�	N
+鐧�	Y
+鐧�	W
+鐧�	Y
+鐧�	L
+鐧�	L
+鐧�	S
+鐧�	D
+鐧�	L
+鐧�	L
+鐧�	B
+鐧�	J
+鐧�	C
+鐧�	Y
+鐧�	J
+鐧�	Z
+鐧�	M
+鐧�	L
+鐧�	H
+鐧�	L
+鐧�	J
+鐧�	X
+鐧�	Y
+鐧�	Y
+鐧�	Y
+鐧�	T
+鐧�	D
+鐧�	L
+鐧�	L
+鐧�	L
+鐧�	B
+鐧�	U
+鐧�	B
+鐧�	F
+鐧�	F
+鐧�	Q
+鐨�	J
+鐨�	Z
+鐨�	M
+鐨�	P
+鐨�	C
+鐨�	L
+鐨�	M
+鐨�	J
+鐨�	P
+鐨�	G
+鐨�	E
+鐨�	H
+鐨�	B
+鐨�	C
+鐨�	Q
+鐨�	A
+鐨�	X
+鐨�	H
+鐨�	H
+鐨�	H
+鐨�	Z
+鐨�	C
+鐨�	H
+鐨�	X
+鐨�	Y
+鐨�	H
+鐨�	J
+鐨�	A
+鐨�	X
+鐨�	H
+鐨�	L
+鐨�	P
+鐨�	H
+鐨�	J
+鐨�	G
+鐨�	P
+鐨�	Q
+鐨�	Q
+鐨�	Z
+鐨�	G
+鐨�	J
+鐨�	J
+鐨�	Z
+鐨�	Z
+鐨�	U
+鐨�	Z
+鐨�	D
+鐩�	Q
+鐩�	Y
+鐩�	B
+鍟�	A
+闃�	A
+鍩�	A
+鎸�	A
+鍝�	A
+鍞�	A
+鍝�	A
+鐨�	A
+鐧�	A
+钄�	A
+鐭�	A
+鑹�	A
+纰�	A
+鐖�	A
+闅�	A
+闉�	A
+姘�	A
+瀹�	A
+淇�	A
+鎸�	A
+鏆�	A
+宀�	A
+鑳�	A
+妗�	A
+鑲�	A
+鏄�	A
+鐩�	A
+鍑�	A
+鏁�	A
+鐔�	A
+缈�	A
+琚�	A
+鍌�	A
+濂�	A
+鎳�	A
+婢�	A
+鑺�	B
+鎹�	B
+鎵�	B
+鍙�	B
+鍚�	B
+绗�	B
+鍏�	B
+鐤�	B
+宸�	B
+鎷�	B
+璺�	B
+闈�	B
+鎶�	B
+鑰�	P
+鍧�	B
+闇�	B
+缃�	B
+鐖�	B
+鐧�	B
+鏌�	B
+鐧�	B
+鎽�	B
+浣�	B
+璐�	B
+鎷�	B
+绋�	B
+鏂�	B
+鐝�	B
+鎼�	B
+鎵�	B
+鑸�	B
+棰�	B
+鏉�	B
+鐗�	B
+鎵�	B
+鎷�	B
+浼�	B
+鐡�	B
+鍗�	B
+鍔�	B
+缁�	B
+閭�	B
+甯�	B
+姊�	B
+姒�	B
+鑶�	B
+缁�	B
+妫�	B
+纾�	B
+铓�	B
+闀�	B
+鍌�	B
+璋�	B
+鑻�	B
+鑳�	B
+鍖�	B
+瑜�	B
+鍓�	B
+鐩�	Z
+鐩�	H
+鐩�	H
+鐩�	B
+鐩�	W
+鐩�	Y
+鐩�	F
+鐩�	F
+鐩�	Q
+鐩�	D
+鐩�	L
+鐩�	Z
+鐩�	L
+鐩�	J
+鐩�	X
+鐩�	K
+鐩�	X
+鐩�	A
+鐩�	L
+鐩�	X
+鐩�	Z
+鐩�	D
+鐩�	A
+鐩�	G
+鐩�	L
+鐩�	G
+鐩�	W
+鐩�	Q
+鐩�	Y
+鐩�	X
+鐩�	X
+鐩�	X
+鐩�	F
+鐩�	M
+鐪�	M
+鐪�	S
+鐪�	Y
+鐪�	P
+鐪�	F
+鐪�	M
+鐪�	X
+鐪�	S
+鐪�	Y
+鐪�	Z
+鐪�	Y
+鐪�	S
+鐪�	H
+鐪�	D
+鐪�	Z
+鐪�	K
+鐪�	X
+鐪�	S
+鐪�	M
+鐪�	M
+鐪�	Z
+鐪�	Z
+鐪�	S
+鐪�	D
+鐪�	N
+鐪�	Z
+鐪�	C
+鐪�	F
+鐪�	P
+鐪�	L
+鐪�	T
+鐪�	Z
+鐪�	D
+鐪�	N
+鐪�	M
+鐪�	X
+鐪�	Z
+鐪�	Y
+鐪�	M
+鐪�	Z
+鐪�	M
+鐫�	M
+鐫�	X
+鐫�	H
+鐫�	H
+鐫�	C
+鐫�	Z
+鐫�	J
+鐫�	E
+鐫�	M
+鐫�	X
+鐫�	X
+鐫�	K
+鐫�	S
+鐫�	T
+鐫�	L
+鐫�	W
+鐫�	L
+鐫�	S
+鐫�	Q
+鐫�	L
+鐫�	Z
+钖�	B
+闆�	B
+淇�	B
+鍫�	B
+楗�	B
+瀹�	B
+鎶�	B
+鎶�	B
+鏆�	B
+璞�	B
+椴�	B
+鐖�	B
+鏉�	B
+纰�	B
+鎮�	B
+鍗�	B
+鍖�	B
+杈�	B
+鑳�	B
+璐�	B
+閽�	B
+鍊�	B
+鐙�	B
+澶�	B
+鎯�	B
+鐒�	B
+琚�	B
+濂�	B
+鑻�	B
+鏈�	B
+绗�	B
+宕�	B
+缁�	B
+鐢�	B
+娉�	B
+韫�	B
+杩�	B
+閫�	B
+榧�	B
+姣�	B
+閯�	B
+绗�	B
+褰�	B
+纰�	B
+钃�	B
+钄�	B
+姣�	B
+姣�	B
+姣�	B
+甯�	B
+搴�	B
+鐥�	B
+闂�	B
+鏁�	B
+寮�	B
+蹇�	B
+杈�	B
+澹�	B
+鑷�	B
+閬�	B
+闄�	B
+闉�	B
+杈�	B
+缂�	B
+璐�	B
+鎵�	B
+渚�	B
+鍙�	B
+鍗�	B
+杈�	B
+杈�	B
+杈�	B
+閬�	B
+鏍�	B
+褰�	B
+鑶�	B
+琛�	B
+槌�	B
+鎲�	B
+鍒�	B
+鐦�	B
+褰�	B
+鏂�	B
+婵�	B
+婊�	B
+瀹�	B
+鎽�	B
+鍏�	B
+鍐�	B
+鏌�	B
+涓�	B
+绉�	B
+楗�	B
+鐐�	B
+鐫�	L
+鐫�	L
+鐫�	Z
+鐫�	J
+鐫�	P
+鐫�	H
+鐫�	L
+鐫�	Z
+鐫�	Z
+鐫�	Y
+鐫�	H
+鐫�	M
+鐫�	X
+鐫�	X
+鐫�	H
+鐫�	G
+鐫�	Z
+鐫�	C
+鐫�	J
+鐫�	M
+鐫�	H
+鐫�	X
+鐫�	T
+鐬�	X
+鐬�	F
+鐬�	W
+鐬�	G
+鐬�	M
+鐬�	W
+鐬�	K
+鐬�	D
+鐬�	T
+鐬�	Q
+鐬�	M
+鐬�	F
+鐬�	Z
+鐬�	Z
+鐬�	Y
+鐬�	D
+鐬�	K
+鐬�	M
+鐬�	S
+鐬�	C
+鐬�	L
+鐬�	C
+鐬�	M
+鐬�	G
+鐬�	H
+鐬�	S
+鐬�	X
+鐬�	P
+鐬�	S
+鐬�	L
+鐬�	C
+鐬�	X
+鐬�	Y
+鐬�	X
+鐬�	W
+鐬�	W
+鐬�	J
+鐬�	Y
+鐬�	A
+鐬�	H
+鐬�	J
+鐬�	Z
+鐭�	M
+鐭�	C
+鐭�	S
+鐭�	N
+鐭�	X
+鐭�	Y
+鐭�	Y
+鐭�	M
+鐭�	M
+鐭�	P
+鐭�	M
+鐭�	L
+鐭�	K
+鐭�	X
+鐭�	M
+鐭�	H
+鐭�	L
+鐭�	M
+鐭�	L
+鐭�	Q
+鐭�	M
+鐭�	X
+鐭�	T
+鐭�	K
+鐭�	Z
+鐭�	Q
+鐭�	Y
+鐭�	S
+鐭�	Z
+鐭�	J
+鐭�	S
+鐥�	B
+骞�	B
+鐜�	B
+鑿�	B
+鎾�	B
+鎷�	B
+閽�	B
+娉�	B
+鍗�	B
+鍕�	B
+鎼�	B
+閾�	B
+绠�	B
+浼�	B
+甯�	B
+鑸�	B
+鑴�	B
+鑶�	B
+娓�	B
+娉�	B
+椹�	B
+鎹�	B
+鍗�	B
+鍝�	B
+琛�	B
+鍩�	B
+涓�	B
+甯�	B
+姝�	B
+绨�	B
+閮�	B
+鎬�	B
+鎿�	C
+鐚�	C
+瑁�	C
+鏉�	C
+鎵�	C
+璐�	C
+鐫�	C
+韪�	C
+閲�	C
+褰�	C
+鑿�	C
+钄�	C
+椁�	C
+鍙�	C
+铓�	C
+娈�	C
+鎯�	C
+鎯�	C
+鐏�	C
+鑻�	C
+鑸�	C
+浠�	C
+娌�	C
+钘�	C
+鎿�	C
+绯�	C
+妲�	C
+鏇�	C
+鑽�	C
+鍘�	C
+绛�	C
+渚�	C
+鍐�	C
+娴�	C
+灞�	C
+韫�	C
+鎻�	C
+鍙�	C
+鑼�	C
+鑼�	C
+鏌�	C
+纰�	C
+鎼�	C
+瀵�	C
+宀�	C
+宸�	C
+璇�	C
+鎷�	C
+鏌�	C
+璞�	C
+鎼�	C
+鎺�	C
+铦�	C
+棣�	C
+璋�	C
+缂�	C
+閾�	C
+浜�	C
+闃�	C
+棰�	C
+鏄�	C
+鐚�	C
+鐭�	H
+鐭�	Y
+鐭�	Z
+鐭�	J
+鐭�	Z
+鐭�	Y
+鐭�	B
+鐭�	D
+鐭�	Q
+鐭�	Z
+鐭�	W
+鐭�	Z
+鐭�	Q
+鐭�	Q
+鐮�	D
+鐮�	J
+鐮�	L
+鐮�	F
+鐮�	W
+鐮�	E
+鐮�	K
+鐮�	Z
+鐮�	J
+鐮�	P
+鐮�	E
+鐮�	Z
+鐮�	S
+鐮�	W
+鐮�	J
+鐮�	M
+鐮�	Z
+鐮�	Y
+鐮�	L
+鐮�	T
+鐮�	E
+鐮�	M
+鐮�	Z
+鐮�	N
+鐮�	P
+鐮�	L
+鐮�	P
+鐮�	L
+鐮�	B
+鐮�	P
+鐮�	Y
+鐮�	K
+纭�	K
+纭�	Q
+纭�	Z
+纭�	K
+纭�	E
+纭�	Q
+纭�	L
+纭�	W
+纭�	A
+纭�	Y
+纭�	Y
+纭�	P
+纭�	L
+纭�	H
+纭�	Q
+纭�	W
+纭�	Q
+纭�	C
+纭�	Q
+纭�	Q
+纭�	C
+纭�	L
+纭�	H
+纭�	Y
+纭�	X
+纭�	X
+纭�	M
+纭�	L
+纭�	Y
+纭�	C
+纭�	C
+纭�	Y
+纭�	S
+纭�	K
+纭�	G
+纭�	C
+纭�	H
+纭�	L
+纭�	C
+纭�	N
+纭�	S
+纭�	Z
+纭�	K
+纭�	Y
+纭�	Z
+纭�	K
+纰�	C
+纰�	Q
+纰�	Z
+纰�	Q
+鍦�	C
+灏�	C
+甯�	C
+闀�	Z
+鍋�	C
+鑲�	C
+鍘�	C
+鏁�	C
+鐣�	C
+鍞�	C
+鍊�	C
+瓒�	C
+鎶�	C
+閽�	C
+鏈�	C
+鍢�	C
+娼�	C
+宸�	C
+鍚�	C
+鐐�	C
+杞�	C
+鎵�	C
+鎾�	C
+鎺�	C
+褰�	C
+婢�	C
+閮�	C
+鑷�	C
+杈�	C
+灏�	C
+鏅�	C
+蹇�	C
+娌�	C
+闄�	C
+瓒�	C
+琛�	C
+鎾�	C
+绉�	C
+鍩�	C
+姗�	C
+鎴�	C
+鍛�	C
+涔�	C
+绋�	C
+鎯�	C
+婢�	C
+璇�	C
+鎵�	C
+閫�	C
+楠�	C
+绉�	C
+鍚�	C
+鐥�	C
+鎸�	C
+鍖�	S
+姹�	C
+杩�	C
+寮�	C
+椹�	C
+鑰�	C
+榻�	C
+渚�	C
+灏�	C
+璧�	C
+缈�	C
+鏂�	C
+鐐�	C
+鍏�	C
+鍐�	C
+铏�	C
+宕�	C
+瀹�	C
+鎶�	C
+閰�	C
+鐣�	C
+韪�	C
+绋�	C
+鎰�	C
+绛�	C
+浠�	C
+缁�	C
+鐬�	C
+涓�	C
+鑷�	C
+鍒�	C
+鍑�	C
+姗�	C
+鍘�	C
+韬�	C
+閿�	C
+闆�	C
+婊�	C
+闄�	C
+妤�	C
+纰�	L
+纰�	J
+纰�	P
+纰�	M
+纰�	Z
+纰�	H
+纰�	X
+纰�	L
+纰�	Y
+纰�	W
+纰�	Q
+纰�	L
+纰�	N
+纰�	R
+纰�	Y
+纰�	D
+纰�	T
+纰�	Y
+纰�	K
+纰�	W
+纰�	S
+纰�	Z
+纰�	D
+纰�	X
+纰�	D
+纰�	T
+纰�	N
+纰�	T
+纰�	Q
+纰�	D
+纰�	F
+纰�	Q
+纰�	Q
+纰�	M
+纰�	G
+纰�	X
+纾�	E
+纾�	L
+纾�	T
+纾�	T
+纾�	K
+纾�	P
+纾�	W
+纾�	T
+纾�	Y
+纾�	Q
+纾�	L
+纾�	W
+纾�	Y
+纾�	Z
+纾�	L
+纾�	P
+纾�	Y
+纾�	Z
+纾�	C
+纾�	Q
+纾�	Q
+纾�	P
+纾�	L
+纾�	L
+纾�	K
+纾�	C
+纾�	C
+纾�	Y
+纾�	L
+纾�	P
+纾�	Q
+纾�	Z
+纾�	C
+纾�	Z
+纾�	C
+纾�	L
+纾�	J
+纾�	S
+纾�	L
+纾�	Z
+纾�	J
+纾�	X
+纾�	D
+纾�	D
+纾�	P
+纾�	Z
+纾�	Q
+纾�	D
+纾�	L
+绀�	J
+绀�	X
+绀�	Z
+绀�	Q
+绀�	X
+绀�	Y
+绀�	Z
+绀�	Q
+绀�	K
+绀�	Z
+绀�	L
+纭�	C
+鍌�	C
+鐭�	C
+鎼�	C
+瑙�	C
+澶�	C
+鎻�	C
+宸�	C
+绌�	C
+妞�	C
+浼�	C
+鑸�	C
+鍠�	C
+涓�	C
+鐤�	C
+绐�	C
+骞�	C
+搴�	C
+闂�	C
+鍒�	C
+鍚�	C
+鐐�	C
+鎹�	C
+閿�	C
+鍨�	C
+鏄�	C
+妞�	C
+閱�	C
+鍞�	C
+娣�	C
+绾�	C
+锠�	C
+鎴�	C
+缁�	C
+鐤�	C
+鑼�	C
+纾�	C
+闆�	C
+杈�	C
+鎱�	C
+鐡�	C
+璇�	C
+姝�	C
+鍒�	C
+璧�	C
+娆�	C
+鑱�	C
+钁�	C
+鍥�	C
+鍖�	C
+浠�	C
+涓�	C
+鍑�	C
+绮�	C
+閱�	C
+绨�	C
+淇�	C
+韫�	C
+绡�	C
+绐�	C
+鎽�	C
+宕�	C
+鍌�	C
+鑴�	C
+鐦�	C
+绮�	C
+娣�	C
+缈�	C
+鏉�	C
+瀛�	C
+瀵�	C
+纾�	C
+鎾�	C
+鎼�	C
+鎺�	C
+鎸�	C
+閿�	C
+鎼�	D
+杈�	D
+绛�	D
+鐦�	D
+鎵�	D
+澶�	D
+鍛�	D
+姝�	D
+鍌�	D
+鎴�	D
+甯�	D
+娈�	D
+浠�	D
+璐�	D
+琚�	D
+寰�	D
+閫�	D
+绀�	J
+绀�	C
+绀�	Y
+绀�	Q
+绀�	D
+绀�	Y
+绀�	P
+绀�	P
+绀�	Y
+绀�	P
+绀�	Q
+绀�	Y
+绀�	K
+绀�	J
+绀�	Y
+绀�	R
+绀�	P
+绀�	C
+绀�	B
+绀�	Y
+绀�	M
+绀�	X
+绀�	K
+绀�	L
+绀�	L
+绀�	Z
+绀�	L
+绀�	L
+绀�	F
+绀�	Q
+绀�	P
+绀�	Y
+绀�	L
+绀�	L
+绀�	L
+绀�	M
+绀�	S
+绀�	G
+绀�	L
+绀�	C
+绀�	Y
+绀�	R
+绀�	Y
+绁�	T
+绁�	M
+绁�	X
+绁�	Y
+绁�	Z
+绁�	F
+绁�	D
+绁�	Z
+绁�	U
+绁�	Y
+绁�	S
+绁�	Y
+绁�	Z
+绁�	T
+绁�	F
+绁�	M
+绁�	S
+绁�	M
+绁�	C
+绁�	L
+绁�	Y
+绁�	W
+绁�	Z
+绁�	G
+绁�	X
+绁�	Z
+绁�	G
+绁�	G
+绁�	S
+绁�	J
+绁�	S
+绁�	G
+绁�	K
+绁�	D
+绁�	T
+绁�	G
+绁�	G
+绁�	Z
+绁�	L
+绁�	L
+绂�	D
+绂�	Z
+绂�	B
+绂�	C
+绂�	H
+绂�	Y
+绂�	Y
+绂�	Z
+绂�	H
+绂�	Z
+绂�	Y
+绂�	W
+绂�	X
+鎬�	D
+鑰�	D
+鎷�	D
+涓�	D
+鍗�	D
+閮�	D
+鎺�	D
+鑳�	D
+鏃�	D
+姘�	D
+浣�	D
+鎯�	D
+娣�	D
+璇�	D
+寮�	D
+铔�	D
+褰�	D
+鎸�	D
+鍏�	D
+鑽�	D
+妗�	D
+鍒�	D
+鎹�	D
+韫�	D
+鍊�	D
+宀�	D
+绁�	D
+瀵�	D
+鍒�	D
+绋�	D
+鎮�	D
+閬�	D
+鐩�	D
+寰�	D
+寰�	D
+鐨�	D
+韫�	D
+鐏�	D
+鐧�	D
+绛�	D
+鐬�	D
+鍑�	D
+閭�	D
+鍫�	D
+浣�	D
+婊�	D
+杩�	D
+鏁�	D
+绗�	D
+鐙�	D
+娑�	D
+缈�	Z
+瀚�	D
+鎶�	D
+搴�	D
+鍦�	D
+钂�	D
+绗�	D
+甯�	D
+寮�	D
+閫�	D
+缂�	D
+棰�	D
+鎺�	D
+婊�	D
+纰�	D
+鐐�	D
+鍏�	D
+闈�	D
+鍨�	D
+鐢�	D
+浣�	D
+鐢�	D
+搴�	D
+鎯�	D
+濂�	D
+娣�	D
+娈�	D
+纰�	D
+鍙�	D
+闆�	D
+鍑�	D
+鍒�	D
+鎺�	D
+鍚�	D
+閽�	D
+璋�	D
+璺�	D
+鐖�	D
+纰�	D
+铦�	D
+杩�	D
+璋�	D
+鍙�	D
+绂�	Y
+绂�	Z
+绂�	Y
+绂�	M
+绂�	S
+绂�	D
+绂�	B
+绂�	Z
+绂�	Y
+绂�	J
+绂�	G
+绂�	T
+绂�	S
+绂�	M
+绂�	T
+绂�	F
+绂�	X
+绂�	Q
+绂�	Y
+绂�	Q
+绂�	S
+绂�	T
+绂�	D
+绂�	G
+绂�	S
+绂�	L
+绂�	N
+绂�	X
+绂�	D
+绂�	L
+绂�	Y
+绂�	Z
+绂�	Z
+绂�	L
+绂�	R
+绂�	X
+绂�	T
+绉�	R
+绉�	Z
+绉�	N
+绉�	Z
+绉�	X
+绉�	N
+绉�	Q
+绉�	F
+绉�	M
+绉�	Y
+绉�	Z
+绉�	J
+绉�	Z
+绉�	Y
+绉�	K
+绉�	B
+绉�	P
+绉�	N
+绉�	L
+绉�	Y
+绉�	P
+绉�	B
+绉�	L
+绉�	N
+绉�	Z
+绉�	Z
+绉�	J
+绉�	H
+绉�	T
+绉�	Z
+绉�	K
+绉�	H
+绉�	Y
+绉�	Z
+绉�	Z
+绉�	R
+绉�	D
+绉�	Z
+绉�	N
+绉�	P
+绋�	G
+绋�	Z
+绋�	T
+绋�	K
+绋�	G
+绋�	J
+绋�	T
+绋�	T
+绋�	Y
+绋�	L
+绋�	L
+绋�	G
+绋�	Z
+绋�	Z
+绋�	B
+绋�	Q
+绋�	Z
+绋�	K
+绋�	L
+涓�	D
+鐩�	D
+鍙�	D
+閽�	D
+椤�	D
+榧�	D
+閿�	D
+瀹�	D
+璁�	D
+涓�	D
+涓�	D
+鍐�	D
+钁�	D
+鎳�	D
+鍔�	D
+鏍�	D
+渚�	D
+鎭�	D
+鍐�	D
+娲�	D
+鍏�	D
+鎶�	D
+鏂�	D
+闄�	D
+璞�	D
+閫�	D
+鐥�	D
+閮�	D
+鐫�	D
+姣�	D
+鐘�	D
+鐙�	D
+璇�	D
+鍫�	D
+鐫�	D
+璧�	D
+鏉�	D
+闀�	D
+鑲�	D
+搴�	D
+娓�	D
+濡�	D
+绔�	D
+鐭�	D
+閿�	D
+娈�	D
+鏂�	D
+缂�	D
+鍫�	D
+鍏�	D
+闃�	D
+瀵�	D
+澧�	D
+鍚�	D
+韫�	D
+鏁�	D
+椤�	D
+鍥�	T
+閽�	D
+鐩�	D
+閬�	D
+鎺�	D
+鍝�	D
+澶�	D
+澶�	D
+鍨�	D
+韬�	D
+鏈�	D
+璺�	D
+鑸�	D
+鍓�	D
+鎯�	D
+鍫�	D
+铔�	E
+宄�	E
+楣�	E
+淇�	E
+棰�	E
+璁�	E
+濞�	E
+鎭�	E
+鍘�	E
+鎵�	E
+閬�	E
+閯�	E
+楗�	E
+鎭�	E
+鑰�	E
+鍎�	E
+鑰�	E
+灏�	E
+楗�	E
+娲�	E
+浜�	E
+绋�	P
+绋�	L
+绋�	Z
+绋�	Y
+绋�	S
+绋�	U
+绋�	Y
+绋�	X
+绋�	B
+绋�	J
+绋�	F
+绋�	P
+绋�	N
+绋�	J
+绋�	Z
+绋�	Z
+绋�	X
+绋�	C
+绋�	D
+绋�	X
+绋�	Z
+绋�	Y
+绋�	X
+绋�	Z
+绋�	K
+绌�	G
+绌�	R
+绌�	S
+绌�	R
+绌�	J
+绌�	K
+绌�	S
+绌�	M
+绌�	Z
+绌�	J
+绌�	L
+绌�	S
+绌�	J
+绌�	Y
+绌�	W
+绌�	Q
+绌�	K
+绌�	Y
+绌�	H
+绌�	Q
+绌�	J
+绌�	X
+绌�	P
+绌�	J
+绌�	Z
+绌�	Z
+绌�	Z
+绌�	L
+绌�	S
+绌�	N
+绌�	S
+绌�	H
+绌�	R
+绌�	N
+绌�	Y
+绌�	P
+绌�	Z
+绌�	T
+绌�	W
+绌�	C
+绌�	H
+绌�	K
+绌�	L
+绌�	B
+绌�	S
+绌�	Z
+绌�	L
+绌�	Z
+绌�	Y
+绌�	Y
+绌�	S
+绌�	J
+绌�	Y
+绐�	L
+绐�	Y
+绐�	B
+绐�	B
+绐�	W
+绐�	Z
+绐�	P
+绐�	D
+绐�	W
+绐�	W
+绐�	C
+绐�	Y
+绐�	X
+绐�	C
+绐�	K
+绐�	D
+绐�	Z
+绐�	X
+璐�	E
+鍙�	F
+缃�	F
+绛�	F
+浼�	F
+涔�	F
+闃�	F
+娉�	F
+鐝�	F
+钘�	F
+甯�	F
+鐣�	F
+缈�	F
+妯�	F
+鐭�	F
+閽�	F
+绻�	F
+鍑�	F
+鐑�	F
+鍙�	F
+杩�	F
+鑼�	F
+璐�	F
+鐘�	F
+楗�	F
+娉�	F
+鍧�	F
+鑺�	F
+鏂�	F
+鑲�	F
+鎴�	F
+闃�	F
+濡�	F
+浠�	F
+璁�	F
+绾�	F
+鏀�	F
+鑿�	F
+闈�	F
+鍟�	F
+椋�	F
+鑲�	F
+鍖�	F
+璇�	F
+鍚�	F
+鑲�	F
+搴�	F
+娌�	F
+璐�	F
+鑺�	F
+閰�	F
+鍚�	F
+姘�	F
+鍒�	F
+绾�	F
+鍧�	F
+鐒�	F
+姹�	F
+绮�	F
+濂�	F
+浠�	F
+蹇�	F
+鎰�	F
+绮�	F
+涓�	F
+灏�	F
+鏋�	F
+铚�	F
+宄�	F
+閿�	F
+椋�	F
+鐤�	F
+鐑�	F
+閫�	F
+鍐�	F
+缂�	F
+璁�	F
+濂�	F
+鍑�	F
+浣�	F
+鍚�	F
+澶�	F
+鏁�	F
+鑲�	F
+瀛�	F
+鎵�	F
+鎷�	F
+杈�	F
+骞�	F
+姘�	F
+绗�	F
+浼�	F
+淇�	F
+鏈�	F
+绐�	S
+绐�	G
+绐�	Z
+绐�	W
+绐�	W
+绐�	Y
+绐�	Q
+绐�	Y
+绐�	Y
+绐�	T
+绐�	C
+绐�	T
+绐�	D
+绐�	L
+绐�	L
+绐�	X
+绐�	W
+绐�	K
+绐�	C
+绐�	Z
+绐�	K
+绐�	K
+绔�	C
+绔�	C
+绔�	L
+绔�	Z
+绔�	C
+绔�	Q
+绔�	Q
+绔�	D
+绔�	Z
+绔�	L
+绔�	Q
+绔�	C
+绔�	S
+绔�	F
+绔�	Q
+绔�	C
+绔�	H
+绔�	Q
+绔�	H
+绔�	S
+绔�	F
+绔�	M
+绔�	Q
+绔�	Z
+绔�	L
+绔�	N
+绔�	B
+绔�	B
+绔�	S
+绔�	H
+绔�	Z
+绔�	D
+绔�	Y
+绔�	S
+绔�	J
+绔�	Q
+绔�	P
+绔�	L
+绔�	Z
+绔�	C
+绔�	D
+绔�	C
+绔�	W
+绔�	J
+绔�	K
+绔�	J
+绔�	L
+绔�	P
+绔�	C
+绗�	M
+绗�	Z
+绗�	W
+绗�	J
+绗�	S
+绗�	Q
+绗�	Y
+绗�	Z
+绗�	Y
+绗�	H
+绗�	J
+绗�	P
+绗�	Y
+绗�	D
+绗�	S
+绗�	X
+绗�	Z
+绗�	N
+绗�	G
+绗�	Q
+绗�	M
+绗�	B
+绗�	S
+绗�	P
+绗�	L
+娴�	F
+娑�	F
+绂�	F
+琚�	F
+寮�	F
+鐢�	F
+鎶�	F
+杈�	F
+淇�	F
+閲�	F
+鏂�	F
+鑴�	F
+鑵�	F
+搴�	F
+鑵�	F
+璧�	F
+鍓�	F
+瑕�	F
+璧�	F
+澶�	F
+鍌�	F
+浠�	F
+闃�	F
+鐖�	F
+鑵�	F
+璐�	F
+瀵�	F
+璁�	F
+闄�	F
+濡�	F
+缂�	F
+鍜�	F
+鍣�	G
+鍢�	G
+璇�	G
+鏀�	G
+姒�	G
+閽�	G
+鐩�	G
+婧�	G
+骞�	G
+鐢�	G
+鏉�	G
+鏌�	G
+绔�	G
+鑲�	G
+璧�	G
+鎰�	G
+绉�	G
+鏁�	G
+璧�	G
+鍐�	G
+鍒�	G
+閽�	G
+缂�	G
+鑲�	G
+绾�	G
+宀�	G
+娓�	G
+鏉�	G
+绡�	G
+鐨�	G
+楂�	G
+鑶�	G
+缇�	G
+绯�	G
+鎼�	G
+闀�	G
+绋�	G
+鍛�	G
+鍝�	G
+姝�	G
+鎼�	G
+鎴�	G
+楦�	G
+鑳�	G
+鐤�	G
+鍓�	G
+闈�	G
+钁�	G
+鏍�	G
+铔�	H
+闃�	G
+闅�	G
+閾�	G
+涓�	G
+鍚�	G
+缁�	G
+鏍�	G
+璺�	G
+鑰�	G
+鏇�	G
+搴�	G
+缇�	G
+绗�	N
+绗�	F
+绗�	F
+绗�	G
+绗�	F
+绗�	S
+绗�	M
+绗�	X
+绗�	Q
+绗�	M
+绗�	L
+绛�	G
+绛�	Q
+绛�	C
+绛�	Y
+绛�	Y
+绛�	B
+绛�	K
+绛�	J
+绛�	Y
+绛�	R
+绛�	J
+绛�	H
+绛�	Z
+绛�	L
+绛�	D
+绛�	C
+绛�	F
+绛�	T
+绛�	L
+绛�	L
+绛�	J
+绛�	G
+绛�	X
+绛�	H
+绛�	Y
+绛�	X
+绛�	Z
+绛�	C
+绛�	S
+绛�	Z
+绛�	Z
+绛�	T
+绛�	J
+绛�	G
+绛�	G
+绛�	K
+绛�	Y
+绛�	O
+绛�	X
+绠�	P
+绠�	L
+绠�	Z
+绠�	B
+绠�	P
+绠�	G
+绠�	T
+绠�	G
+绠�	Y
+绠�	J
+绠�	Z
+绠�	H
+绠�	Z
+绠�	Z
+绠�	Z
+绠�	L
+绠�	L
+绠�	Q
+绠�	F
+绠�	Z
+绠�	G
+绠�	Q
+绠�	J
+绠�	Z
+绠�	C
+绠�	Z
+绠�	B
+绠�	X
+绠�	B
+绠�	S
+绠�	X
+绠�	P
+绠�	X
+绠�	H
+绠�	Y
+绠�	Y
+绠�	C
+绠�	L
+绠�	W
+绠�	D
+绠�	X
+绠�	J
+绡�	J
+绡�	X
+绡�	M
+绡�	F
+鍩�	G
+鑰�	G
+姊�	G
+宸�	G
+鏀�	G
+鍔�	G
+鎭�	G
+榫�	G
+渚�	G
+韬�	G
+鍏�	G
+瀹�	G
+寮�	G
+宸�	G
+姹�	G
+鎷�	G
+璐�	G
+鍏�	G
+閽�	G
+鍕�	G
+娌�	G
+鑻�	G
+鐙�	G
+鍨�	G
+鏋�	G
+璐�	G
+澶�	G
+杈�	G
+鑿�	G
+鍜�	G
+绠�	G
+浼�	G
+娌�	G
+瀛�	G
+濮�	G
+榧�	G
+鍙�	G
+铔�	G
+楠�	G
+璋�	G
+鑲�	G
+鏁�	G
+椤�	G
+鍥�	G
+闆�	G
+鍒�	G
+鐡�	G
+鍓�	G
+瀵�	G
+鎸�	G
+瑜�	G
+涔�	G
+鎷�	G
+鎬�	G
+妫�	G
+鍏�	G
+瀹�	G
+鍐�	G
+瑙�	G
+绠�	G
+棣�	G
+缃�	G
+鎯�	G
+鐏�	G
+璐�	G
+鍏�	G
+骞�	G
+閫�	G
+鐟�	G
+瑙�	G
+鍦�	G
+纭�	G
+褰�	G
+榫�	G
+闂�	G
+杞�	G
+楝�	G
+璇�	G
+鐧�	G
+妗�	G
+鏌�	G
+璺�	G
+璐�	G
+鍒�	G
+杈�	G
+婊�	G
+妫�	G
+閿�	G
+閮�	G
+鍥�	G
+鏋�	G
+瑁�	G
+杩�	G
+鍝�	H
+绡�	D
+绡�	F
+绡�	Z
+绡�	H
+绡�	Q
+绡�	Q
+绡�	M
+绡�	Q
+绡�	G
+绡�	S
+绡�	Y
+绡�	H
+绡�	T
+绡�	Y
+绡�	C
+绡�	R
+绡�	Z
+绡�	N
+绡�	Q
+绡�	X
+绡�	L
+绡�	P
+绡�	D
+绡�	Z
+绡�	C
+绡�	S
+绡�	Z
+绡�	Q
+绡�	L
+绡�	J
+绡�	B
+绡�	H
+绡�	B
+绡�	Z
+绡�	C
+绡�	Y
+绡�	Z
+绡�	Z
+绡�	P
+绡�	P
+绡�	Y
+绡�	Z
+绨�	Z
+绨�	S
+绨�	G
+绨�	Y
+绨�	H
+绨�	C
+绨�	K
+绨�	P
+绨�	Z
+绨�	J
+绨�	L
+绨�	J
+绨�	N
+绨�	S
+绨�	C
+绨�	D
+绨�	S
+绨�	L
+绨�	L
+绨�	X
+绨�	B
+绨�	M
+绨�	S
+绨�	T
+绨�	L
+绨�	D
+绨�	F
+绨�	J
+绨�	M
+绨�	K
+绨�	D
+绨�	J
+绨�	Z
+绨�	L
+绨�	X
+绨�	L
+绨�	S
+绨�	Z
+绨�	Q
+绨�	P
+绨�	Q
+绨�	P
+绨�	G
+绨�	J
+绨�	L
+绨�	L
+绨�	Y
+绨�	D
+绨�	S
+绨�	Z
+绨�	G
+绨�	Q
+绨�	L
+绫�	S
+楠�	H
+瀛�	H
+娴�	H
+姘�	H
+浜�	H
+瀹�	H
+楠�	H
+閰�	H
+鎲�	H
+閭�	H
+闊�	H
+鍚�	H
+娑�	H
+瀵�	H
+鍑�	H
+鍠�	H
+缃�	H
+缈�	H
+鎾�	H
+鎹�	H
+鏃�	H
+鎲�	H
+鎮�	H
+鐒�	H
+姹�	H
+姹�	H
+澶�	H
+鏉�	H
+鑸�	H
+澹�	H
+鍤�	H
+璞�	H
+姣�	H
+閮�	H
+濂�	H
+鑰�	H
+鍙�	H
+娴�	H
+鍛�	H
+鍠�	H
+鑽�	H
+鑿�	H
+鏍�	H
+绂�	H
+鍜�	H
+浣�	H
+鍚�	H
+鐩�	H
+璨�	H
+闃�	H
+娌�	H
+娑�	H
+璧�	H
+瑜�	H
+楣�	H
+璐�	H
+鍢�	H
+榛�	H
+鐥�	H
+寰�	H
+鐙�	H
+鎭�	H
+鍝�	H
+浜�	H
+妯�	H
+琛�	H
+鎭�	H
+杞�	H
+鍝�	H
+鐑�	H
+铏�	H
+楦�	H
+娲�	H
+瀹�	H
+寮�	H
+绾�	H
+鍠�	H
+渚�	H
+鐚�	H
+鍚�	H
+鍘�	H
+鍊�	H
+鍚�	H
+鍛�	H
+涔�	H
+蹇�	H
+鐟�	H
+澹�	H
+钁�	H
+鑳�	H
+铦�	H
+鐙�	H
+绯�	H
+婀�	H
+绫�	L
+绫�	K
+绫�	Y
+绫�	Y
+绫�	H
+绫�	Z
+绫�	T
+绫�	T
+绫�	N
+绫�	T
+绫�	Y
+绫�	Q
+绫�	T
+绫�	Z
+绫�	Z
+绫�	P
+绫�	S
+绫�	Z
+绫�	Q
+绫�	Z
+绫�	T
+绫�	L
+绫�	L
+绫�	J
+绫�	T
+绫�	Y
+绫�	Y
+绫�	L
+绫�	L
+绫�	Q
+绫�	L
+绫�	L
+绫�	Q
+绫�	Y
+绫�	Z
+绫�	Q
+绫�	L
+绫�	B
+绫�	D
+绫�	Z
+绫�	L
+绫�	S
+绫�	L
+绫�	Y
+绫�	Y
+绫�	Z
+绫�	Y
+绫�	F
+绫�	S
+绫�	Z
+绫�	S
+绫�	N
+绫�	H
+绫�	N
+绫�	C
+绮�	Z
+绮�	Q
+绮�	Z
+绮�	P
+绮�	B
+绮�	W
+绮�	S
+绮�	K
+绮�	R
+绮�	B
+绮�	S
+绮�	Y
+绮�	Z
+绮�	M
+绮�	T
+绮�	H
+绮�	G
+绮�	J
+绮�	M
+绮�	Z
+绮�	L
+绮�	S
+绮�	H
+绮�	T
+绮�	S
+绮�	L
+绮�	Z
+绮�	B
+绮�	L
+绮�	E
+绮�	Q
+绮�	H
+绮�	X
+绮�	F
+绮�	L
+绮�	Y
+绮�	L
+绮�	J
+绮�	Q
+绮�	B
+绮�	Z
+寮�	H
+铏�	H
+鍞�	H
+鎶�	H
+浜�	H
+娌�	H
+鎴�	H
+鑺�	H
+鍝�	H
+鍗�	H
+鐚�	H
+婊�	H
+鐢�	H
+鍒�	H
+鍖�	H
+璇�	H
+妲�	H
+寰�	H
+鎬�	H
+娣�	H
+鍧�	H
+娆�	H
+鐜�	H
+妗�	H
+杩�	H
+缂�	H
+鎹�	H
+鎮�	H
+鍞�	H
+鐥�	H
+璞�	H
+鐒�	H
+娑�	H
+瀹�	H
+骞�	H
+鑽�	H
+鎱�	H
+榛�	H
+纾�	H
+铦�	H
+绨�	H
+鐨�	H
+鍑�	H
+鎯�	H
+鐓�	H
+鏅�	H
+骞�	H
+鎭�	H
+璋�	H
+鐏�	H
+鎸�	H
+杈�	H
+寰�	H
+鎭�	H
+铔�	H
+鍥�	H
+姣�	H
+鎮�	H
+鎱�	H
+鍗�	H
+鎯�	H
+鏅�	H
+璐�	H
+绉�	H
+浼�	H
+鐑�	H
+姹�	H
+璁�	H
+璇�	H
+缁�	H
+鑽�	H
+鏄�	H
+濠�	H
+榄�	H
+娴�	H
+娣�	H
+璞�	H
+娲�	H
+浼�	H
+鐏�	H
+鑾�	H
+鎴�	H
+鎯�	H
+闇�	H
+璐�	H
+绁�	H
+鍑�	J
+鍦�	J
+鍩�	J
+鏈�	J
+鐣�	J
+绋�	J
+绉�	J
+绠�	J
+绮�	H
+绯�	H
+绯�	S
+绯�	T
+绯�	B
+绯�	M
+绯�	Z
+绯�	J
+绯�	L
+绯�	X
+绯�	F
+绯�	N
+绯�	B
+绯�	G
+绯�	X
+绯�	J
+绯�	Z
+绯�	T
+绯�	S
+绯�	F
+绯�	J
+绯�	M
+绯�	S
+绯�	S
+绯�	N
+绯�	X
+绯�	L
+绯�	K
+绯�	B
+绯�	H
+绯�	S
+绯�	J
+绯�	X
+绯�	T
+绯�	N
+绯�	L
+绯�	Z
+绯�	D
+绯�	N
+绯�	T
+绯�	L
+绯�	S
+绯�	J
+绯�	G
+绯�	Z
+绯�	J
+绯�	Y
+绱�	J
+绱�	C
+绱�	Z
+绱�	X
+绱�	Y
+绱�	J
+绱�	Y
+绱�	J
+绱�	W
+绱�	R
+绱�	W
+绱�	Q
+绱�	N
+绱�	Z
+绱�	T
+绱�	N
+绱�	F
+绱�	J
+绱�	S
+绱�	Z
+绱�	P
+绱�	Z
+绱�	S
+绱�	H
+绱�	Z
+绱�	J
+绱�	F
+绱�	Y
+绱�	R
+绱�	D
+绱�	J
+绱�	F
+绱�	Z
+绱�	J
+绱�	Z
+绱�	B
+绱�	F
+绱�	Z
+绱�	Q
+绱�	Z
+绱�	H
+绱�	Z
+绱�	X
+绱�	F
+绱�	Y
+绱�	S
+绱�	B
+绱�	Z
+绱�	Q
+鑲�	J
+楗�	J
+杩�	J
+婵�	J
+璁�	J
+楦�	J
+濮�	J
+缁�	J
+缂�	J
+鍚�	J
+鏋�	J
+妫�	J
+杈�	J
+绫�	J
+闆�	J
+鍙�	J
+鎬�	J
+鐤�	J
+姹�	J
+鍗�	J
+瀚�	J
+绾�	J
+鎸�	J
+鍑�	J
+鑴�	J
+宸�	J
+钃�	J
+鎶�	J
+鍐�	J
+瀛�	J
+浼�	J
+绁�	J
+鍓�	J
+鎮�	J
+娴�	J
+瀵�	J
+瀵�	J
+璁�	J
+璁�	J
+鏃�	J
+蹇�	J
+闄�	J
+濡�	J
+缁�	J
+绾�	J
+鍢�	J
+鏋�	J
+澶�	J
+浣�	J
+瀹�	J
+鍔�	J
+鑽�	J
+棰�	J
+璐�	J
+鐢�	J
+閽�	J
+鍋�	J
+绋�	J
+浠�	J
+鏋�	J
+椹�	J
+瀚�	J
+姝�	J
+鐩�	J
+鍧�	J
+灏�	J
+绗�	J
+闂�	J
+鐓�	J
+鍏�	J
+鑲�	J
+鑹�	J
+濂�	J
+缂�	J
+鑼�	J
+妫�	J
+鏌�	J
+纰�	J
+纭�	J
+鎷�	J
+鎹�	J
+绠�	J
+淇�	J
+鍓�	J
+鍑�	J
+鑽�	J
+妲�	K
+閴�	J
+璺�	J
+璐�	J
+瑙�	J
+閿�	J
+绠�	J
+浠�	J
+绱�	L
+绱�	Z
+绱�	S
+绱�	G
+绱�	Y
+绱�	F
+绱�	T
+绱�	Z
+绱�	D
+绲�	C
+绲�	S
+绲�	Z
+绲�	X
+绲�	Z
+绲�	J
+绲�	B
+绲�	Q
+绲�	M
+绲�	S
+绲�	Z
+绲�	K
+绲�	J
+绲�	R
+绲�	H
+绲�	Y
+绲�	J
+绲�	Z
+绲�	C
+绲�	K
+绲�	M
+绲�	J
+绲�	K
+绲�	H
+绲�	C
+绲�	H
+绲�	G
+绲�	T
+绲�	X
+绲�	K
+绲�	X
+绲�	Q
+绲�	G
+绲�	L
+绲�	X
+绲�	B
+绲�	X
+绲�	F
+绲�	X
+绲�	T
+绲�	R
+绲�	T
+绲�	Y
+绲�	L
+绲�	X
+绲�	J
+绲�	H
+绲�	D
+绲�	T
+绲�	S
+绲�	J
+绲�	X
+绲�	H
+绲�	J
+绲�	J
+绲�	X
+绲�	Z
+绲�	W
+绲�	Z
+绲�	L
+绲�	C
+绲�	Q
+缍�	S
+缍�	B
+缍�	T
+缍�	X
+缍�	W
+缍�	X
+缍�	G
+缍�	X
+缍�	T
+缍�	X
+缍�	X
+缍�	H
+缍�	X
+缍�	F
+缍�	T
+缍�	S
+缍�	D
+缍�	K
+缍�	F
+缍�	J
+缍�	H
+缍�	Z
+缍�	Y
+缍�	J
+缍�	F
+鍋�	J
+鑸�	J
+鍓�	J
+楗�	J
+娓�	J
+婧�	J
+娑�	J
+寤�	J
+鍍�	J
+濮�	J
+灏�	J
+娴�	J
+姹�	J
+鐤�	J
+钂�	J
+妗�	J
+濂�	J
+璁�	J
+鍖�	J
+閰�	J
+闄�	J
+钑�	J
+妞�	J
+绀�	J
+鐒�	J
+鑳�	J
+浜�	J
+閮�	J
+娴�	J
+楠�	J
+濞�	J
+鍤�	J
+鎼�	J
+閾�	J
+鐭�	J
+渚�	Y
+鑴�	J
+鐙�	J
+瑙�	J
+楗�	J
+缂�	J
+缁�	J
+鍓�	J
+鏁�	J
+閰�	J
+杞�	J
+杈�	J
+鍙�	J
+绐�	J
+鎻�	J
+鎺�	J
+鐨�	J
+绉�	J
+琛�	J
+闃�	J
+鎴�	J
+鍔�	J
+鑺�	J
+妗�	J
+鏉�	J
+鎹�	J
+鐫�	J
+绔�	J
+娲�	J
+缁�	J
+瑙�	J
+濮�	J
+鎴�	J
+钘�	J
+鑺�	J
+鐣�	J
+鍊�	J
+浠�	J
+鐤�	J
+璇�	J
+灞�	J
+宸�	J
+绛�	J
+鏂�	J
+閲�	J
+浠�	J
+娲�	J
+瑗�	J
+绱�	J
+閿�	J
+浠�	J
+璋�	J
+杩�	J
+闈�	J
+鏅�	J
+绂�	J
+杩�	J
+鐑�	J
+娴�	J
+缍�	J
+缍�	X
+缍�	R
+缍�	Z
+缍�	S
+缍�	D
+缍�	L
+缍�	L
+缍�	L
+缍�	T
+缍�	Q
+缍�	S
+缍�	Q
+缍�	Z
+缍�	Q
+缍�	W
+缍�	Z
+缍�	X
+缍�	S
+缍�	Y
+缍�	T
+缍�	W
+缍�	G
+缍�	W
+缍�	B
+缍�	Z
+缍�	C
+缍�	G
+缍�	Z
+缍�	L
+缍�	L
+缍�	Y
+缍�	Z
+缍�	B
+缍�	C
+缍�	L
+缍�	M
+绶�	Q
+绶�	Q
+绶�	T
+绶�	Z
+绶�	H
+绶�	Z
+绶�	X
+绶�	Z
+绶�	X
+绶�	L
+绶�	J
+绶�	F
+绶�	R
+绶�	M
+绶�	Y
+绶�	Z
+绶�	F
+绶�	L
+绶�	X
+绶�	Y
+绶�	S
+绶�	Q
+绶�	X
+绶�	X
+绶�	J
+绶�	K
+绶�	X
+绶�	R
+绶�	M
+绶�	Q
+绶�	D
+绶�	Z
+绶�	D
+绶�	M
+绶�	M
+绶�	Y
+绶�	Y
+绶�	B
+绶�	S
+绶�	Q
+绶�	B
+绶�	H
+绶�	G
+绶�	Z
+绶�	M
+绶�	W
+绶�	F
+绶�	W
+绶�	X
+绶�	G
+绶�	M
+绶�	X
+绶�	L
+绶�	Z
+绶�	P
+绶�	Y
+绶�	Y
+绶�	T
+绶�	G
+灏�	J
+鍔�	J
+鑽�	J
+鍏�	J
+鑼�	J
+鐫�	J
+鏅�	J
+椴�	J
+浜�	J
+鎯�	J
+绮�	J
+绮�	J
+缁�	J
+浜�	J
+璀�	J
+鏅�	J
+棰�	J
+闈�	J
+澧�	J
+鏁�	J
+闀�	J
+寰�	J
+鐥�	J
+闈�	J
+绔�	J
+绔�	J
+鍑�	J
+鐐�	J
+绐�	J
+鎻�	J
+绌�	J
+绾�	J
+鐜�	J
+闊�	J
+涔�	J
+鐏�	J
+涔�	J
+閰�	J
+鍘�	J
+鏁�	J
+鏃�	J
+鑷�	J
+鑸�	J
+鍜�	J
+灏�	J
+鐤�	J
+闉�	J
+鎷�	J
+鐙�	J
+鐤�	J
+灞�	J
+椹�	J
+鑿�	J
+灞�	J
+鍜�	J
+鐭�	J
+涓�	J
+娌�	J
+鑱�	J
+鎷�	J
+鎹�	J
+宸�	J
+鍏�	J
+璺�	J
+韪�	J
+閿�	J
+淇�	J
+鍙�	J
+鎯�	J
+鐐�	J
+鍓�	J
+鎹�	J
+楣�	J
+濞�	J
+鍊�	J
+鐪�	J
+鍗�	J
+缁�	J
+鎾�	J
+鏀�	J
+鎶�	J
+鎺�	J
+鍊�	J
+鐖�	J
+瑙�	J
+鍐�	J
+璇�	J
+缁�	J
+鍧�	J
+鑿�	J
+閽�	J
+鍐�	J
+鍚�	J
+宄�	J
+绶�	Z
+绶�	Y
+绶�	C
+绶�	C
+绶�	D
+绺�	X
+绺�	Y
+绺�	Z
+绺�	X
+绺�	Y
+绺�	W
+绺�	G
+绺�	S
+绺�	Y
+绺�	J
+绺�	Y
+绺�	Z
+绺�	N
+绺�	B
+绺�	H
+绺�	P
+绺�	Z
+绺�	J
+绺�	S
+绺�	Q
+绺�	S
+绺�	Y
+绺�	X
+绺�	S
+绺�	X
+绺�	R
+绺�	T
+绺�	F
+绺�	Y
+绺�	Z
+绺�	G
+绺�	R
+绺�	H
+绺�	Z
+绺�	T
+绺�	X
+绺�	S
+绺�	Z
+绺�	Z
+绺�	T
+绺�	H
+绺�	C
+绺�	B
+绺�	F
+绺�	C
+绺�	L
+绺�	S
+绺�	Y
+绺�	X
+绺�	Z
+绺�	L
+绺�	Z
+绺�	Q
+绺�	M
+绺�	Z
+绺�	L
+绺�	M
+绺�	P
+绺�	L
+绺�	X
+绺�	Z
+绺�	J
+绺�	X
+绻�	S
+绻�	L
+绻�	B
+绻�	Y
+绻�	Z
+绻�	M
+绻�	Q
+绻�	H
+绻�	X
+绻�	J
+绻�	S
+绻�	X
+绻�	R
+绻�	X
+绻�	S
+绻�	Q
+绻�	Z
+绻�	Z
+绻�	Z
+绻�	S
+绻�	S
+绻�	L
+绻�	Y
+绻�	F
+绻�	R
+绻�	C
+绻�	Z
+绻�	J
+淇�	J
+绔�	J
+娴�	J
+閮�	J
+楠�	J
+鍠�	K
+鍜�	K
+鍗�	K
+鍜�	G
+寮�	K
+鎻�	K
+妤�	K
+鍑�	K
+鎱�	K
+鍒�	K
+鍫�	K
+鍕�	K
+鍧�	K
+鐮�	K
+鐪�	K
+搴�	K
+鎱�	K
+绯�	K
+鎵�	K
+鎶�	K
+浜�	K
+鐐�	K
+鑰�	K
+鎷�	K
+鐑�	K
+闈�	K
+鍧�	K
+鑻�	K
+鏌�	K
+妫�	K
+纾�	K
+棰�	K
+绉�	K
+澹�	K
+鍜�	K
+鍙�	K
+娓�	K
+鍏�	K
+鍒�	K
+瀹�	K
+璇�	K
+鑲�	K
+鍟�	K
+鍨�	K
+鎭�	K
+鍧�	K
+鍚�	K
+绌�	K
+鎭�	K
+瀛�	K
+鎺�	K
+鎶�	K
+鍙�	K
+鎵�	K
+瀵�	K
+鏋�	K
+鍝�	K
+绐�	K
+鑻�	K
+閰�	K
+搴�	K
+瑁�	K
+澶�	K
+鍨�	K
+鎸�	K
+璺�	K
+鑳�	K
+鍧�	K
+绛�	K
+渚�	K
+蹇�	K
+瀹�	K
+娆�	K
+鍖�	K
+绛�	K
+鐙�	K
+妗�	K
+鐭�	K
+鐪�	K
+鏃�	K
+鍐�	K
+浜�	K
+鐩�	K
+宀�	K
+绐�	K
+钁�	K
+濂�	K
+榄�	K
+鍌�	K
+绻�	R
+绻�	C
+绻�	R
+绻�	X
+绻�	H
+绻�	H
+绻�	Z
+绻�	X
+绻�	Q
+绻�	Y
+绻�	D
+绻�	Y
+绻�	H
+绻�	X
+绻�	S
+绻�	J
+绻�	J
+绻�	H
+绻�	Z
+绻�	C
+绻�	X
+绻�	Z
+绻�	B
+绻�	T
+绻�	Y
+绻�	N
+绻�	S
+绻�	Y
+绻�	S
+绻�	X
+绻�	J
+绻�	B
+绻�	Q
+绻�	L
+绾�	P
+绾�	X
+绾�	Q
+绾�	P
+绾�	Y
+绾�	M
+绾�	L
+绾�	X
+绾�	Z
+绾�	K
+绾�	Y
+绾�	X
+绾�	L
+绾�	X
+绾�	C
+绾�	J
+绾�	L
+绾�	C
+绾�	Y
+绾�	S
+绾�	X
+绾�	X
+绾�	Z
+绾�	Z
+绾�	L
+绾�	X
+绾�	L
+绾�	L
+绾�	L
+绾�	H
+绾�	R
+绾�	Z
+绾�	Z
+缁�	D
+缁�	X
+缁�	Y
+缁�	T
+缂�	Y
+缂�	X
+缂�	S
+缂�	X
+缂�	F
+缂�	F
+缂�	Q
+缂�	B
+缂�	P
+缂�	X
+缃�	Z
+缃�	G
+缃�	Y
+缃�	G
+缃�	Z
+缃�	T
+缃�	C
+缃�	Q
+缃�	W
+缃�	Y
+缃�	L
+缃�	T
+缃�	L
+缃�	S
+缃�	G
+棣�	K
+鎰�	K
+婧�	K
+鍧�	K
+鏄�	K
+鎹�	K
+鍥�	K
+鎷�	K
+鎵�	K
+寤�	K
+闃�	K
+鍨�	L
+鎷�	L
+鍠�	L
+铚�	L
+鑵�	L
+杈�	L
+鍟�	L
+鑾�	L
+鏉�	L
+璧�	L
+钃�	L
+濠�	L
+鏍�	L
+鎷�	L
+绡�	L
+闃�	L
+鍏�	L
+婢�	L
+璋�	L
+鎻�	L
+瑙�	L
+鎳�	L
+缂�	L
+鐑�	L
+婊�	L
+鐞�	L
+姒�	L
+鐙�	L
+寤�	L
+閮�	L
+鏈�	L
+娴�	L
+鎹�	L
+鍔�	L
+鐗�	L
+鑰�	L
+浣�	L
+濮�	L
+閰�	L
+鐑�	L
+娑�	L
+鍕�	L
+涔�	L
+闆�	L
+闀�	L
+钑�	L
+纾�	L
+绱�	L
+鍎�	L
+鍨�	L
+鎿�	L
+鑲�	L
+绫�	L
+娉�	L
+妫�	L
+妤�	L
+鍐�	L
+鍘�	L
+姊�	L
+鐘�	L
+榛�	L
+绡�	L
+鐙�	L
+绂�	L
+婕�	L
+鐞�	L
+鏉�	L
+閲�	L
+椴�	L
+绀�	L
+鑾�	L
+鑽�	L
+鍚�	L
+鏍�	L
+涓�	L
+鍘�	L
+鍔�	L
+鐮�	L
+鍘�	L
+鍒�	L
+鍌�	L
+渚�	L
+淇�	L
+缃�	R
+缃�	S
+缃�	G
+缃�	Z
+缃�	J
+缃�	M
+缃�	M
+缃�	G
+缃�	T
+缃�	J
+缃�	F
+缃�	S
+缃�	G
+缃�	Z
+缃�	Y
+缃�	A
+缃�	F
+缃�	S
+缃�	M
+缃�	L
+缃�	P
+缃�	F
+缃�	C
+缃�	W
+缃�	B
+缃�	J
+缃�	C
+缇�	L
+缇�	J
+缇�	M
+缇�	Z
+缇�	L
+缇�	P
+缇�	J
+缇�	J
+缇�	L
+缇�	M
+缇�	D
+缇�	Y
+缇�	Y
+缇�	Y
+缇�	F
+缇�	B
+缇�	Y
+缇�	G
+缇�	Y
+缇�	Z
+缇�	M
+缇�	Y
+缇�	Z
+缇�	Y
+缇�	R
+缇�	Q
+缇�	Q
+缇�	H
+缇�	Y
+缇�	Y
+缇�	Y
+缇�	Q
+缇�	X
+缇�	Y
+缇�	L
+缇�	Y
+缇�	F
+缇�	S
+缇�	F
+缇�	S
+缇�	L
+缇�	N
+缇�	Q
+缇�	H
+缈�	C
+缈�	F
+缈�	H
+缈�	C
+缈�	C
+缈�	F
+缈�	X
+缈�	P
+缈�	L
+缈�	P
+缈�	L
+缈�	Z
+缈�	Y
+缈�	X
+缈�	X
+缈�	X
+缈�	K
+缈�	H
+缈�	H
+缈�	X
+缈�	S
+缈�	H
+缈�	J
+缈�	Z
+缈�	S
+鐥�	L
+绔�	L
+绮�	L
+娌�	L
+闅�	L
+鍔�	L
+鐠�	L
+鍝�	L
+淇�	L
+鑱�	L
+鑾�	L
+杩�	L
+闀�	L
+寤�	L
+鎬�	L
+娑�	L
+甯�	L
+鏁�	L
+鑴�	L
+閾�	L
+鎭�	L
+鐐�	L
+缁�	L
+绮�	L
+鍑�	L
+姊�	L
+绮�	L
+鑹�	L
+涓�	L
+杈�	L
+閲�	L
+鏅�	L
+浜�	L
+璋�	L
+鎾�	L
+鑱�	L
+鍍�	L
+鐤�	L
+鐕�	L
+瀵�	L
+杈�	L
+娼�	L
+浜�	L
+鎾�	L
+闀�	L
+寤�	L
+鏂�	L
+鍒�	L
+瑁�	L
+鐑�	L
+鍔�	L
+鐚�	L
+鐞�	L
+鏋�	L
+纾�	L
+闇�	L
+涓�	L
+閭�	L
+槌�	L
+娣�	L
+鍑�	L
+璧�	L
+鍚�	L
+鎷�	L
+鐜�	L
+鑿�	L
+闆�	L
+榫�	L
+閾�	L
+浼�	L
+缇�	L
+鍑�	L
+鐏�	L
+闄�	L
+宀�	L
+棰�	L
+鍙�	L
+浠�	L
+婧�	L
+鐞�	L
+姒�	L
+纭�	L
+棣�	L
+鐣�	L
+鍒�	L
+鐦�	L
+娴�	L
+鏌�	L
+鍏�	L
+榫�	L
+鑱�	L
+鍜�	L
+绗�	L
+绐�	L
+缈�	C
+缈�	X
+缈�	C
+缈�	Z
+缈�	W
+缈�	H
+缈�	H
+缈�	H
+缈�	P
+缈�	L
+缈�	Q
+缈�	A
+缈�	L
+缈�	P
+缈�	Q
+缈�	A
+缈�	H
+缈�	X
+缈�	D
+鑰�	U
+鑰�	G
+鑰�	G
+鑰�	G
+鑰�	D
+鑰�	R
+鑰�	E
+鑰�	Z
+鑰�	T
+鑰�	P
+鑰�	Y
+鑰�	Q
+鑰�	J
+鑰�	J
+鑰�	C
+鑰�	L
+鑰�	J
+鑰�	Z
+鑰�	L
+鑰�	J
+鑰�	L
+鑰�	H
+鑰�	Y
+鑰�	H
+鑰�	Y
+鑰�	Q
+鑰�	Y
+鑰�	D
+鑰�	H
+鑱�	Z
+鑱�	U
+鑱�	Z
+鑱�	C
+鑱�	Z
+鑱�	Y
+鑱�	Z
+鑱�	T
+鑱�	N
+鑱�	Y
+鑱�	Z
+鑱�	S
+鑱�	H
+鑱�	S
+鑱�	L
+鑱�	J
+鑱�	B
+鑱�	D
+鑱�	G
+鑱�	W
+鑱�	X
+鑱�	P
+鑱�	C
+鑱�	D
+鑱�	U
+鑱�	T
+鑱�	J
+鑱�	C
+鑱�	K
+鑱�	L
+鑱�	L
+鑱�	W
+鑱�	K
+鑱�	L
+鑱�	L
+鑱�	C
+鑱�	S
+鑱�	S
+鑱�	T
+鑱�	K
+鑱�	Z
+鑱�	Z
+鑱�	D
+鑱�	N
+鑱�	Q
+鑱�	N
+鑱�	T
+鑱�	T
+闅�	L
+鍨�	L
+鎷�	L
+闄�	L
+妤�	L
+濞�	L
+鎼�	L
+绡�	L
+婕�	L
+闄�	L
+鑺�	L
+鍗�	L
+棰�	L
+搴�	L
+鐐�	L
+鎺�	L
+鍗�	L
+铏�	L
+椴�	L
+楹�	L
+纰�	L
+闇�	L
+璺�	L
+璧�	L
+楣�	L
+娼�	L
+绂�	L
+褰�	L
+闄�	L
+鎴�	L
+椹�	L
+鍚�	L
+閾�	L
+渚�	L
+鏃�	L
+灞�	L
+灞�	L
+缂�	L
+铏�	L
+姘�	L
+寰�	L
+鐜�	L
+婊�	L
+缁�	L
+宄�	L
+鎸�	L
+瀛�	L
+婊�	L
+鍗�	L
+涔�	L
+鎺�	L
+鐣�	L
+鎶�	L
+杞�	L
+浼�	L
+浠�	L
+娌�	L
+绾�	L
+璁�	L
+钀�	L
+铻�	L
+缃�	L
+閫�	L
+閿�	L
+绠�	L
+楠�	L
+瑁�	L
+钀�	L
+娲�	L
+楠�	L
+缁�	L
+濡�	M
+楹�	M
+鐜�	M
+鐮�	M
+铓�	M
+椹�	M
+楠�	M
+鍢�	M
+鍚�	M
+鍩�	M
+涔�	M
+楹�	M
+鍗�	M
+杩�	M
+鑴�	M
+鐬�	M
+棣�	M
+铔�	M
+婊�	M
+钄�	M
+鏇�	M
+鎱�	M
+婕�	M
+鑱�	L
+鑲�	Z
+鑲�	S
+鑲�	S
+鑲�	Z
+鑲�	Y
+鑲�	Q
+鑲�	K
+鑲�	C
+鑲�	Q
+鑲�	D
+鑲�	H
+鑲�	C
+鑲�	R
+鑲�	R
+鑲�	Y
+鑲�	C
+鑲�	Q
+鑲�	F
+鑲�	P
+鑲�	P
+鑲�	Y
+鑲�	R
+鑲�	W
+鑲�	Q
+鑲�	P
+鑲�	X
+鑲�	X
+鑲�	K
+鑳�	D
+鑳�	F
+鑳�	B
+鑳�	B
+鑳�	X
+鑳�	T
+鑳�	Z
+鑳�	K
+鑳�	Z
+鑳�	N
+鑳�	P
+鑳�	Z
+鑳�	Z
+鑳�	X
+鑳�	M
+鑳�	Q
+鑳�	K
+鑳�	C
+鑳�	Y
+鑳�	P
+鑳�	Z
+鑳�	X
+鑳�	E
+鑳�	H
+鑳�	Z
+鑳�	K
+鑴�	Z
+鑴�	T
+鑴�	C
+鑴�	M
+鑴�	X
+鑴�	X
+鑴�	M
+鑴�	X
+鑴�	N
+鑴�	W
+鑴�	W
+鑴�	X
+鑴�	K
+鑴�	Y
+鑴�	H
+鑴�	P
+鑴�	S
+鑴�	T
+鑴�	M
+鑴�	C
+鑴�	S
+鑴�	Q
+鑴�	T
+鑴�	Z
+鑴�	J
+鑴�	Y
+鑴�	X
+鑴�	T
+鑴�	C
+鑴�	T
+鑴�	D
+鑴�	N
+鑴�	P
+鑴�	G
+鑴�	L
+鑴�	Z
+鑴�	S
+鑴�	J
+鑴�	L
+鑴�	S
+鑴�	B
+璋�	M
+鑺�	M
+鑼�	M
+鐩�	M
+姘�	M
+蹇�	M
+鑾�	M
+鐚�	M
+鑼�	M
+閿�	M
+姣�	M
+鐭�	M
+閾�	M
+鍗�	M
+鑼�	M
+鍐�	M
+甯�	M
+璨�	M
+璐�	M
+涔�	M
+鐜�	M
+鏋�	M
+姊�	M
+閰�	M
+闇�	M
+鐓�	M
+娌�	M
+鐪�	M
+濯�	M
+闀�	M
+姣�	M
+缇�	M
+鏄�	M
+瀵�	M
+濡�	M
+濯�	M
+闂�	M
+闂�	M
+浠�	M
+钀�	M
+钂�	M
+妾�	M
+鐩�	M
+閿�	M
+鐚�	M
+姊�	M
+瀛�	M
+鐪�	M
+閱�	M
+闈�	M
+绯�	M
+杩�	M
+璋�	M
+寮�	M
+绫�	M
+绉�	M
+瑙�	M
+娉�	M
+铚�	M
+瀵�	M
+骞�	M
+妫�	M
+鐪�	M
+缁�	M
+鍐�	M
+鍏�	M
+鍕�	M
+濞�	M
+缂�	M
+闈�	M
+鑻�	M
+鎻�	M
+鐬�	M
+钘�	M
+绉�	M
+娓�	M
+搴�	M
+濡�	M
+钄�	M
+鐏�	M
+姘�	M
+鎶�	M
+鐨�	M
+鏁�	M
+鎮�	M
+闂�	M
+鏄�	M
+铻�	M
+楦�	M
+閾�	M
+鍚�	M
+鍛�	M
+璋�	M
+鎽�	M
+鑵�	L
+鑵�	P
+鑵�	L
+鑵�	Q
+鑵�	H
+鑵�	D
+鑵�	N
+鑵�	N
+鑵�	R
+鑵�	S
+鑵�	Z
+鑵�	J
+鑵�	D
+鑵�	P
+鑵�	H
+鑵�	W
+鑵�	M
+鑵�	R
+鑵�	Z
+鑵�	C
+鑵�	L
+鑵�	O
+鑵�	D
+鑵�	A
+鑵�	N
+鑵�	S
+鑵�	Y
+鑵�	Z
+鑵�	R
+鑵�	T
+鑵�	W
+鑵�	J
+鑵�	J
+鑵�	D
+鑵�	B
+鑵�	C
+鑶�	Y
+鑶�	W
+鑶�	S
+鑶�	T
+鑶�	S
+鑶�	Z
+鑶�	Y
+鑶�	L
+鑶�	J
+鑶�	P
+鑶�	X
+鑶�	L
+鑶�	O
+鑶�	C
+鑶�	L
+鑶�	H
+鑶�	P
+鑶�	C
+鑶�	J
+鑶�	L
+鑶�	Z
+鑶�	L
+鑶�	J
+鑶�	Y
+鑶�	L
+鑶�	X
+鑶�	C
+鑶�	T
+鑶�	N
+鑶�	L
+鑶�	C
+鑶�	K
+鑶�	X
+鑶�	T
+鑶�	P
+鑶�	Z
+鑶�	J
+鑶�	W
+鑶�	C
+鑶�	Y
+鑶�	X
+鑶�	W
+鑶�	F
+鑶�	Z
+鑶�	D
+鑶�	K
+鑶�	N
+鑷�	J
+鑷�	C
+鑷�	J
+鑷�	L
+鑷�	L
+鑷�	T
+鑷�	Q
+鑷�	C
+鑷�	B
+鑷�	X
+鑷�	R
+鑷�	Y
+鑷�	Z
+鎽�	M
+铇�	M
+妯�	M
+鑶�	M
+纾�	M
+鎽�	M
+榄�	M
+鎶�	M
+鏈�	M
+鑾�	M
+澧�	M
+榛�	M
+娌�	M
+婕�	M
+瀵�	M
+闄�	M
+璋�	M
+鐗�	M
+鏌�	M
+鎷�	M
+鐗�	M
+浜�	M
+濮�	M
+姣�	M
+澧�	M
+鏆�	M
+骞�	M
+鍕�	M
+鎱�	M
+鏈�	M
+鐩�	M
+鐫�	M
+鐗�	M
+绌�	M
+鎷�	N
+鍝�	N
+鍛�	N
+閽�	N
+閭�	N
+濞�	N
+绾�	N
+姘�	N
+涔�	N
+濂�	N
+鑰�	N
+濂�	N
+鍗�	N
+鐢�	N
+闅�	N
+鍥�	N
+鎸�	N
+鑴�	N
+鎭�	N
+闂�	N
+娣�	N
+鍛�	N
+棣�	N
+鍐�	N
+瀚�	N
+鑳�	N
+濡�	N
+闇�	N
+鍊�	N
+娉�	N
+灏�	N
+鎷�	N
+浣�	N
+鍖�	N
+鑵�	N
+閫�	N
+婧�	N
+钄�	N
+鎷�	N
+骞�	N
+纰�	N
+鎾�	N
+鎹�	N
+蹇�	N
+濞�	N
+閰�	N
+楦�	N
+灏�	N
+鎹�	N
+鑱�	N
+瀛�	N
+鍟�	N
+闀�	N
+闀�	N
+娑�	N
+鎮�	N
+鏌�	N
+鐙�	N
+鍑�	N
+瀹�	N
+鑷�	X
+鑷�	B
+鑷�	X
+鑷�	K
+鑷�	L
+鑷�	Y
+鑷�	L
+鑷�	H
+鑷�	Z
+鑷�	L
+鑷�	Q
+鑷�	Z
+鑷�	L
+鑷�	N
+鑷�	Z
+鑷�	X
+鑷�	W
+鑷�	J
+鑷�	L
+鑷�	J
+鑷�	J
+鑷�	J
+鑷�	H
+鑷�	X
+鑷�	M
+鑷�	N
+鑷�	G
+鑷�	J
+鑷�	Z
+鑷�	Z
+鑷�	X
+鑷�	T
+鑷�	X
+鑷�	C
+鑸�	X
+鑸�	Y
+鑸�	X
+鑸�	J
+鑸�	J
+鑸�	X
+鑸�	S
+鑸�	J
+鑸�	T
+鑸�	S
+鑸�	T
+鑸�	P
+鑸�	P
+鑸�	G
+鑸�	Q
+鑸�	T
+鑸�	X
+鑸�	D
+鑸�	F
+鑸�	P
+鑸�	T
+鑸�	F
+鑸�	F
+鑸�	L
+鑸�	L
+鑸�	X
+鑸�	Q
+鑸�	P
+鑸�	K
+鑹�	F
+鑹�	Z
+鑹�	F
+鑹�	L
+鑹�	Y
+鑹�	L
+鑹�	U
+鑹�	B
+鑹�	Q
+鑹�	K
+鑹�	H
+鑹�	Z
+鑹�	B
+鑹�	M
+鑹�	D
+鑹�	D
+鑹�	B
+鑹�	C
+鑹�	Y
+鑹�	C
+鑹�	L
+鑹�	D
+鑹�	X
+鑹�	Y
+鑹�	D
+鑹�	D
+鑹�	Q
+鑹�	L
+鑹�	Y
+鑹�	J
+鑹�	J
+鑹�	W
+鑹�	Q
+鎷�	N
+娉�	N
+鐗�	N
+鎵�	N
+閽�	N
+绾�	N
+鑴�	N
+娴�	N
+鍐�	N
+寮�	N
+濂�	N
+鍔�	N
+鎬�	N
+濂�	N
+鏆�	N
+铏�	N
+鐤�	N
+鎸�	N
+鎳�	N
+绯�	N
+璇�	N
+鍝�	O
+娆�	O
+楦�	O
+娈�	O
+钘�	O
+鍛�	O
+鍋�	O
+娌�	O
+鍟�	P
+瓒�	P
+鐖�	P
+甯�	P
+鎬�	P
+鐞�	P
+鎷�	P
+鎺�	P
+鐗�	P
+寰�	P
+婀�	P
+娲�	P
+鏀�	P
+娼�	P
+鐩�	P
+纾�	P
+鐩�	P
+鐣�	P
+鍒�	P
+鍙�	P
+涔�	P
+搴�	P
+鏃�	P
+鑰�	P
+鑳�	P
+鎶�	P
+鍜�	P
+鍒�	B
+鐐�	P
+琚�	P
+璺�	P
+娉�	P
+鍛�	P
+鑳�	P
+鍩�	P
+瑁�	P
+璧�	P
+闄�	P
+閰�	P
+浣�	P
+娌�	P
+鍠�	P
+鐩�	P
+鐮�	P
+鎶�	P
+鐑�	P
+婢�	P
+褰�	P
+钃�	P
+妫�	P
+纭�	P
+绡�	P
+鑶�	P
+鏈�	P
+楣�	P
+鎹�	P
+纰�	P
+鍧�	P
+鐮�	P
+闇�	P
+鎵�	P
+鎶�	P
+鍔�	P
+鐞�	P
+姣�	P
+鑹�	L
+鑹�	L
+鑹�	C
+鑹�	S
+鑹�	J
+鑹�	P
+鑹�	Y
+鑹�	Y
+鑹�	C
+鑹�	L
+鑹�	T
+鑺�	T
+鑺�	J
+鑺�	P
+鑺�	Y
+鑺�	C
+鑺�	M
+鑺�	G
+鑺�	Y
+鑺�	X
+鑺�	Z
+鑺�	H
+鑺�	S
+鑺�	Z
+鑺�	T
+鑺�	W
+鑺�	Q
+鑺�	W
+鑺�	R
+鑺�	F
+鑺�	Z
+鑺�	H
+鑺�	J
+鑺�	J
+鑺�	A
+鑺�	Z
+鑺�	M
+鑺�	R
+鑻�	H
+鑻�	Y
+鑻�	Y
+鑻�	Y
+鑻�	Q
+鑻�	P
+鑻�	T
+鑻�	D
+鑻�	L
+鑻�	Y
+鑻�	B
+鑻�	Y
+鑻�	Z
+鑻�	N
+鑻�	P
+鑻�	B
+鑻�	X
+鑻�	Y
+鑻�	X
+鑻�	H
+鑻�	Z
+鑻�	D
+鑻�	D
+鑻�	N
+鑻�	H
+鑻�	M
+鑻�	S
+鑻�	G
+鑻�	B
+鑻�	W
+鑼�	F
+鑼�	Z
+鑼�	Z
+鑼�	J
+鑼�	C
+鑼�	U
+鑼�	X
+鑼�	L
+鑼�	L
+鑼�	R
+鑼�	Z
+鑼�	C
+鑼�	Y
+鑼�	X
+鑼�	Z
+鑼�	L
+鑼�	W
+鑼�	J
+鑼�	G
+鑼�	C
+鑼�	G
+鑼�	G
+鑼�	N
+鑼�	Y
+鑼�	Z
+鑼�	P
+鑼�	M
+鑼�	Z
+鍟�	P
+鑴�	P
+鐤�	P
+鐨�	P
+鍖�	P
+鐥�	P
+鍍�	P
+灞�	P
+璀�	P
+绡�	P
+鍋�	P
+鐗�	P
+楠�	P
+椋�	P
+婕�	P
+鐡�	P
+绁�	P
+鎾�	P
+鐬�	P
+鎷�	P
+棰�	P
+璐�	P
+鍝�	P
+鑱�	P
+涔�	P
+鍧�	P
+鑻�	P
+钀�	P
+骞�	P
+鍑�	P
+鐡�	P
+璇�	P
+灞�	P
+鍧�	P
+娉�	P
+棰�	P
+濠�	P
+鐮�	P
+榄�	P
+杩�	P
+绮�	P
+鍓�	P
+鎵�	P
+閾�	P
+浠�	P
+鑾�	P
+钁�	P
+鑿�	P
+钂�	P
+鍩�	P
+鏈�	P
+鍦�	P
+鏅�	P
+娴�	P
+璋�	P
+鏇�	P
+鐎�	P
+鏈�	Q
+娆�	Q
+鏍�	Q
+鎴�	Q
+濡�	Q
+涓�	Q
+鍑�	Q
+婕�	Q
+鏌�	Q
+娌�	Q
+鍏�	Q
+妫�	Q
+濂�	Q
+姝�	Q
+鐣�	Q
+宕�	Q
+鑴�	Q
+榻�	Q
+鏃�	Q
+绁�	Q
+绁�	Q
+楠�	Q
+璧�	Q
+宀�	Q
+涔�	Q
+浼�	Q
+鍚�	Q
+濂�	Q
+鐮�	Q
+鍣�	Q
+姘�	Q
+杩�	Q
+寮�	Q
+姹�	Q
+娉�	Q
+璁�	Q
+鎺�	Q
+鑼�	Q
+鑼�	Z
+鑽�	H
+鑽�	F
+鑽�	G
+鑽�	T
+鑽�	C
+鑽�	J
+鑽�	E
+鑽�	A
+鑽�	Q
+鑽�	C
+鑽�	P
+鑽�	Q
+鑽�	L
+鑽�	S
+鑽�	Z
+鑽�	D
+鑽�	C
+鑽�	Y
+鑽�	D
+鑽�	W
+鑽�	L
+鑽�	D
+鑽�	F
+鑽�	R
+鑽�	Y
+鑽�	P
+鑽�	Y
+鑽�	S
+鑽�	C
+鑾�	N
+鑾�	W
+鑾�	B
+鑾�	X
+鑾�	G
+鑾�	Z
+鑾�	M
+鑾�	Z
+鑾�	Z
+鑾�	T
+鑾�	Q
+鑾�	S
+鑾�	C
+鑾�	P
+鑾�	X
+鑾�	X
+鑾�	Y
+鑾�	C
+鑾�	J
+鑾�	Y
+鑾�	C
+鑾�	H
+鑾�	C
+鑾�	J
+鑾�	W
+鑾�	Y
+鑾�	R
+鑾�	X
+鑾�	X
+鑾�	W
+鑾�	J
+鑾�	N
+鑾�	M
+鑾�	T
+鑾�	N
+鑾�	M
+鑾�	C
+鑿�	D
+鑿�	Q
+鑿�	D
+鑿�	Z
+鑿�	L
+鑿�	L
+鑿�	W
+鑿�	R
+鑿�	K
+鑿�	P
+鑿�	Z
+鑿�	G
+鑿�	G
+鑿�	L
+鑿�	C
+鑿�	C
+鑿�	Z
+鑿�	M
+鑿�	L
+鑿�	B
+鑿�	Q
+鑿�	J
+鑿�	Q
+鑿�	D
+鑿�	S
+鑿�	J
+鑿�	Z
+鑿�	Z
+鎭�	Q
+娲�	Q
+鐗�	Q
+鎵�	Q
+閽�	Q
+閾�	Q
+鍗�	Q
+杩�	Q
+绛�	Q
+浠�	Q
+璋�	Q
+涔�	Q
+榛�	Q
+閽�	Q
+閽�	Q
+鍓�	Q
+娼�	Q
+閬�	Q
+娴�	Q
+璋�	Q
+鍫�	Q
+宓�	Q
+娆�	Q
+姝�	Q
+鏋�	Q
+鍛�	Q
+鑵�	Q
+缇�	Q
+澧�	Q
+钄�	Q
+寮�	Q
+鎶�	Q
+姗�	Q
+閿�	Q
+鏁�	Q
+鎮�	Q
+妗�	Q
+鐬�	Q
+涔�	Q
+渚�	Q
+宸�	Q
+闉�	Q
+鎾�	Q
+缈�	Q
+宄�	Q
+淇�	Q
+绐�	Q
+鍒�	Q
+鑼�	Q
+涓�	Q
+鎬�	Q
+绐�	Q
+閽�	Q
+渚�	Q
+浜�	Q
+绉�	Q
+鐞�	Q
+鍕�	Q
+鑺�	Q
+鎿�	Q
+绂�	Q
+瀵�	Q
+娌�	Q
+闈�	Q
+杞�	Q
+姘�	Q
+鍊�	Q
+鍗�	Q
+娓�	Q
+鎿�	Q
+鏅�	Q
+姘�	Q
+鎯�	Q
+椤�	Q
+璇�	Q
+搴�	Q
+鐞�	Q
+绌�	Q
+绉�	Q
+涓�	Q
+閭�	Q
+鐞�	Q
+姹�	Q
+鍥�	Q
+閰�	Q
+娉�	Q
+瓒�	Q
+鍖�	Q
+铔�	Q
+鏇�	Q
+韬�	Q
+灞�	Q
+椹�	Q
+娓�	Q
+鑿�	G
+鑿�	K
+鑿�	Q
+鑿�	Y
+鑿�	W
+鑿�	B
+鑿�	Z
+鑿�	J
+鑿�	L
+鑿�	T
+鑿�	T
+鑿�	D
+钀�	H
+钀�	H
+钀�	C
+钀�	C
+钀�	H
+钀�	F
+钀�	L
+钀�	S
+钀�	Y
+钀�	Y
+钀�	T
+钀�	Q
+钀�	W
+钀�	C
+钀�	Z
+钀�	Z
+钀�	J
+钀�	B
+钀�	Y
+钀�	M
+钀�	B
+钀�	P
+钀�	D
+钀�	Q
+钀�	K
+钀�	X
+钀�	W
+钀�	Y
+钀�	Y
+钀�	F
+钀�	L
+钀�	X
+钀�	N
+钀�	C
+钀�	W
+钀�	C
+钀�	X
+钀�	B
+钀�	M
+钀�	A
+钀�	Y
+钀�	K
+钁�	K
+钁�	J
+钁�	M
+钁�	Z
+钁�	Z
+钁�	Z
+钁�	R
+钁�	X
+钁�	Y
+钁�	Y
+钁�	Q
+钁�	J
+钁�	F
+钁�	L
+钁�	J
+钁�	P
+钁�	H
+钁�	H
+钁�	H
+钁�	Y
+钁�	T
+钁�	Z
+钁�	Q
+钁�	M
+钁�	H
+钁�	S
+钁�	G
+钁�	Z
+钁�	Q
+钁�	W
+钁�	B
+钁�	W
+钁�	J
+钁�	D
+钁�	Y
+钁�	S
+钁�	Q
+钁�	Z
+钁�	X
+钁�	S
+钁�	L
+钁�	Z
+鍙�	Q
+濞�	Q
+榫�	Q
+瓒�	Q
+鍘�	Q
+鍦�	Q
+棰�	Q
+鏉�	Q
+閱�	Q
+娉�	Q
+鍏�	Q
+鐥�	Q
+鎷�	Q
+鐘�	Q
+鍒�	Q
+鍔�	Q
+缂�	Q
+鐐�	Q
+鐦�	Q
+鍗�	Q
+楣�	Q
+姒�	Q
+纭�	Q
+闆�	Q
+瑁�	Q
+缇�	Q
+鐒�	R
+鐕�	R
+鍐�	R
+鏌�	R
+鐡�	R
+澹�	R
+鏀�	R
+鍤�	R
+璁�	R
+楗�	R
+鎵�	R
+缁�	R
+鎯�	R
+鐑�	R
+澹�	R
+浠�	R
+浜�	R
+蹇�	R
+闊�	R
+浠�	R
+璁�	R
+鍒�	R
+濡�	R
+绾�	R
+鎵�	R
+浠�	R
+鏃�	R
+鎴�	R
+鑼�	R
+钃�	R
+鑽�	R
+铻�	R
+鐔�	R
+婧�	R
+瀹�	R
+缁�	R
+鍐�	R
+鎻�	R
+鏌�	R
+鑲�	R
+鑼�	R
+锠�	R
+鍎�	R
+瀛�	R
+濡�	R
+杈�	R
+涔�	R
+姹�	R
+鍏�	R
+瑜�	R
+杞�	R
+闃�	R
+钑�	R
+鐟�	R
+閿�	R
+闂�	R
+娑�	R
+鑻�	R
+寮�	R
+鎾�	S
+娲�	S
+钀�	S
+鑵�	S
+槌�	S
+濉�	S
+璧�	S
+涓�	S
+鍙�	S
+钁�	Y
+钁�	Y
+钁�	M
+钂�	Y
+钂�	S
+钂�	Z
+钂�	G
+钂�	R
+钂�	X
+钂�	U
+钂�	W
+钂�	Y
+钂�	S
+钂�	Y
+钂�	S
+钂�	C
+钂�	S
+钂�	Y
+钂�	Z
+钂�	R
+钂�	L
+钂�	Q
+钂�	Y
+钂�	L
+钂�	J
+钂�	X
+钂�	C
+钂�	X
+钂�	T
+钂�	L
+钂�	W
+钂�	D
+钂�	Q
+钂�	Z
+钂�	P
+钂�	C
+钂�	Y
+钂�	C
+钂�	Y
+钂�	P
+钂�	P
+钂�	N
+钂�	X
+钂�	F
+钂�	Y
+钂�	R
+钂�	C
+钂�	M
+钃�	S
+钃�	M
+钃�	S
+钃�	L
+钃�	X
+钃�	G
+钃�	L
+钃�	G
+钃�	C
+钃�	T
+钃�	L
+钃�	X
+钃�	Z
+钃�	G
+钃�	Z
+钃�	G
+钃�	Z
+钃�	T
+钃�	C
+钃�	P
+钃�	U
+钃�	S
+钃�	L
+钃�	L
+钃�	T
+钃�	X
+钃�	M
+钃�	T
+钃�	Z
+钃�	A
+钃�	L
+钃�	Z
+钃�	P
+钃�	X
+钃�	J
+钃�	T
+钃�	J
+钃�	W
+钃�	T
+钃�	C
+钃�	Y
+钃�	Y
+钃�	Z
+钃�	B
+钃�	L
+钄�	B
+钄�	Z
+钄�	L
+浼�	S
+鏁�	S
+妗�	S
+鍡�	S
+涓�	S
+鎼�	S
+楠�	S
+鎵�	S
+瀚�	S
+鐟�	S
+鑹�	S
+娑�	S
+妫�	S
+鍍�	S
+鑾�	S
+鐮�	S
+鏉�	S
+鍒�	C
+娌�	S
+绾�	S
+鍌�	S
+鍟�	S
+鐓�	S
+绛�	S
+鏅�	S
+鐝�	S
+鑻�	S
+鏉�	S
+灞�	S
+鍒�	S
+鐓�	S
+琛�	S
+闂�	S
+闄�	S
+鎿�	S
+璧�	S
+鑶�	S
+鍠�	S
+姹�	S
+鎵�	S
+缂�	S
+澧�	S
+浼�	S
+鍟�	S
+璧�	S
+鏅�	S
+涓�	S
+灏�	S
+瑁�	C
+姊�	S
+鎹�	S
+绋�	S
+鐑�	S
+鑺�	S
+鍕�	S
+闊�	S
+灏�	S
+鍝�	S
+閭�	S
+缁�	S
+濂�	S
+璧�	S
+铔�	S
+鑸�	S
+鑸�	S
+璧�	S
+鎽�	S
+灏�	S
+鎱�	S
+娑�	S
+绀�	S
+璁�	S
+鐮�	S
+鐢�	S
+鍛�	S
+浼�	S
+韬�	S
+娣�	S
+濞�	S
+缁�	S
+绁�	S
+娌�	S
+瀹�	S
+濠�	S
+鐢�	S
+鑲�	S
+鎱�	S
+娓�	S
+澹�	S
+鐢�	S
+鐢�	S
+鐗�	S
+鍗�	S
+缁�	S
+钄�	Q
+钄�	M
+钄�	Y
+钄�	L
+钄�	X
+钄�	P
+钄�	G
+钄�	H
+钄�	D
+钄�	L
+钄�	S
+钄�	S
+钄�	D
+钄�	X
+钄�	B
+钄�	D
+钄�	Z
+钄�	S
+钄�	X
+钄�	H
+钄�	A
+钄�	M
+钄�	L
+钄�	Z
+钄�	P
+钄�	J
+钄�	M
+钄�	C
+钄�	N
+钄�	H
+钄�	J
+钄�	Y
+钄�	S
+钄�	Y
+钄�	G
+钄�	C
+钄�	H
+钄�	S
+钄�	K
+钄�	Q
+钄�	M
+钄�	Z
+钄�	Z
+钄�	L
+钄�	W
+钑�	J
+钑�	X
+钑�	S
+钑�	M
+钑�	O
+钑�	C
+钑�	D
+钑�	R
+钑�	L
+钑�	Y
+钑�	Q
+钑�	Z
+钑�	K
+钑�	J
+钑�	M
+钑�	Y
+钑�	B
+钑�	Y
+钑�	L
+钑�	Y
+钑�	E
+钑�	T
+钑�	F
+钑�	J
+钑�	F
+钑�	R
+钑�	F
+钑�	K
+钑�	S
+钑�	Y
+钑�	X
+钑�	F
+钑�	T
+钑�	W
+钑�	D
+钑�	S
+钑�	X
+钑�	X
+钑�	S
+钑�	Y
+钑�	S
+钑�	J
+钑�	S
+钑�	L
+钑�	Y
+钑�	X
+钑�	S
+钑�	N
+钑�	X
+钖�	Y
+钖�	Y
+鐪�	S
+鐩�	C
+鍓�	S
+鑳�	S
+鍦�	S
+甯�	S
+澶�	S
+鐙�	S
+鏂�	S
+婀�	S
+璇�	S
+灏�	S
+铏�	S
+鍗�	S
+鐭�	S
+鎷�	S
+鏃�	S
+浠�	S
+椋�	S
+铓�	S
+瀹�	S
+璇�	S
+鍙�	S
+鐭�	S
+浣�	S
+灞�	S
+椹�	S
+濮�	S
+寮�	S
+绀�	S
+澹�	S
+涓�	S
+鏌�	S
+浜�	S
+鎷�	S
+瑾�	S
+閫�	S
+鍔�	S
+鏄�	S
+鍡�	S
+鍣�	S
+閫�	S
+浠�	S
+渚�	S
+閲�	S
+楗�	S
+姘�	S
+甯�	S
+鎭�	S
+瀹�	S
+瑙�	S
+璇�	S
+鏀�	S
+鎵�	S
+棣�	S
+瀹�	S
+瀵�	S
+鎺�	S
+鍞�	S
+鍙�	S
+鐦�	S
+鍏�	S
+钄�	S
+鏋�	S
+姊�	S
+娈�	S
+鎶�	S
+杈�	S
+鍙�	S
+鑸�	S
+娣�	S
+鐤�	S
+涔�	S
+璧�	S
+瀛�	S
+鐔�	S
+钖�	S
+鏆�	S
+鏇�	S
+缃�	S
+铚�	S
+榛�	S
+榧�	S
+灞�	S
+鏈�	S
+杩�	S
+鏍�	S
+鏉�	S
+鎴�	S
+绔�	S
+澧�	S
+搴�	S
+鏁�	S
+婕�	S
+钖�	X
+钖�	H
+钖�	A
+钖�	H
+钖�	H
+钖�	J
+钖�	Z
+钖�	X
+钖�	W
+钖�	M
+钖�	L
+钖�	J
+钖�	C
+钖�	S
+钖�	S
+钖�	L
+钖�	K
+钖�	Y
+钖�	D
+钖�	Z
+钖�	T
+钖�	Z
+钖�	S
+钖�	Y
+钖�	F
+钖�	D
+钖�	X
+钖�	G
+钖�	Z
+钖�	J
+钖�	K
+钖�	S
+钖�	X
+钖�	Y
+钖�	B
+钖�	D
+钖�	P
+钖�	Y
+钖�	N
+钖�	Z
+钖�	W
+钖�	P
+钖�	Q
+钖�	Z
+钖�	C
+钖�	Z
+钖�	E
+钖�	N
+钘�	Y
+钘�	C
+钘�	X
+钘�	Q
+钘�	F
+钘�	J
+钘�	Y
+钘�	K
+钘�	B
+钘�	Z
+钘�	M
+钘�	L
+钘�	J
+钘�	Q
+钘�	Q
+钘�	U
+钘�	X
+钘�	S
+钘�	L
+钘�	Y
+钘�	X
+钘�	X
+钘�	Y
+钘�	L
+钘�	L
+钘�	J
+钘�	D
+钘�	Z
+钘�	B
+钘�	Y
+钘�	M
+钘�	H
+钘�	B
+钘�	S
+钘�	T
+钘�	T
+钘�	Q
+钘�	Q
+钘�	W
+钘�	L
+钘�	H
+钘�	O
+钘�	K
+钘�	Y
+钘�	B
+钘�	L
+钘�	Z
+钘�	Z
+鎭�	S
+鍒�	S
+鑰�	S
+鎽�	S
+琛�	S
+鐢�	S
+甯�	S
+鏍�	S
+鎷�	S
+闇�	S
+鍙�	S
+鐖�	S
+璋�	S
+姘�	S
+鐫�	S
+绋�	S
+鍚�	S
+鐬�	S
+椤�	S
+鑸�	S
+璇�	S
+纭�	S
+鏈�	S
+鐑�	S
+鏂�	S
+鎾�	S
+鍢�	S
+鎬�	S
+绉�	S
+鍙�	S
+涓�	S
+姝�	S
+鑲�	S
+瀵�	S
+鍡�	S
+鍥�	S
+浼�	S
+浼�	S
+楗�	S
+宸�	S
+鏉�	S
+鑰�	S
+鎬�	S
+棰�	S
+閫�	S
+瀹�	S
+璁�	S
+璇�	S
+鎼�	S
+鑹�	S
+鎿�	S
+鍡�	S
+鑻�	S
+閰�	S
+淇�	S
+绱�	S
+閫�	S
+绮�	S
+鍍�	S
+濉�	S
+婧�	S
+瀹�	X
+璇�	S
+鑲�	S
+閰�	S
+钂�	S
+绠�	S
+铏�	S
+闅�	S
+闅�	S
+缁�	S
+楂�	S
+纰�	S
+宀�	S
+绌�	S
+閬�	S
+闅�	S
+绁�	S
+瀛�	S
+鎹�	S
+绗�	S
+钃�	S
+姊�	S
+鍞�	S
+缂�	S
+鐞�	S
+绱�	S
+閿�	S
+鎵�	S
+濉�	T
+浠�	T
+瀹�	T
+濂�	T
+濉�	T
+钘�	A
+钘�	L
+钘�	X
+钘�	Q
+钘�	L
+铇�	Z
+铇�	W
+铇�	R
+铇�	R
+铇�	Q
+铇�	L
+铇�	S
+铇�	T
+铇�	M
+铇�	Y
+铇�	P
+铇�	Y
+铇�	X
+铇�	J
+铇�	J
+铇�	X
+铇�	Q
+铇�	S
+铇�	J
+铇�	F
+铇�	B
+铇�	X
+铇�	Y
+铇�	X
+铇�	Y
+铇�	J
+铇�	X
+铇�	X
+铇�	Y
+铇�	Q
+铇�	Y
+铇�	L
+铇�	T
+铇�	H
+铇�	Y
+铇�	L
+铇�	Y
+铇�	M
+铇�	L
+铇�	K
+铇�	L
+铇�	J
+铇�	T
+铇�	M
+铇�	L
+铇�	L
+铇�	H
+铇�	S
+铇�	Z
+铇�	W
+铇�	K
+铇�	H
+铇�	L
+铇�	J
+铇�	L
+铇�	H
+铇�	L
+铏�	J
+铏�	K
+铏�	L
+铏�	J
+铏�	S
+铏�	T
+铏�	L
+铏�	Q
+铏�	X
+铏�	Y
+铏�	L
+铏�	M
+铏�	B
+铏�	Z
+铏�	X
+铏�	J
+铏�	H
+铏�	X
+铏�	C
+铏�	F
+铏�	X
+铏�	L
+铏�	H
+铏�	H
+铏�	J
+铏�	J
+铏�	B
+铏�	Y
+铏�	Z
+铏�	Z
+铏�	K
+铏�	B
+铏�	X
+铏�	S
+鐛�	T
+鎸�	T
+韫�	T
+韪�	T
+鑳�	T
+鑻�	T
+鎶�	T
+鍙�	T
+娉�	T
+閰�	T
+澶�	T
+鎬�	T
+姹�	T
+鍧�	T
+鎽�	T
+璐�	T
+鐦�	T
+婊�	T
+鍧�	T
+妾�	T
+鐥�	T
+娼�	T
+璋�	T
+璋�	T
+鍧�	T
+姣�	T
+琚�	T
+纰�	T
+鎺�	T
+鍙�	T
+鐐�	T
+姹�	T
+濉�	T
+鎼�	T
+鍫�	T
+妫�	T
+鑶�	T
+鍞�	T
+绯�	T
+鍊�	T
+韬�	T
+娣�	T
+瓒�	T
+鐑�	T
+鎺�	T
+娑�	T
+婊�	T
+缁�	T
+钀�	T
+妗�	T
+閫�	T
+娣�	T
+闄�	T
+璁�	T
+濂�	T
+鐗�	T
+钘�	T
+鑵�	T
+鐤�	T
+瑾�	T
+姊�	T
+鍓�	T
+韪�	T
+閿�	T
+鎻�	T
+棰�	T
+韫�	T
+鍟�	T
+浣�	T
+鏇�	T
+鍤�	T
+鎯�	T
+娑�	T
+鍓�	T
+灞�	T
+澶�	T
+娣�	T
+濉�	T
+鐢�	T
+鐢�	T
+鎭�	T
+鑸�	T
+鑵�	T
+鎸�	T
+鏉�	T
+杩�	T
+鐪�	T
+璺�	T
+璐�	T
+閾�	T
+甯�	T
+鍘�	T
+鍚�	T
+鐑�	T
+铏�	D
+铏�	Q
+铏�	D
+铏�	U
+铏�	J
+铏�	Z
+铏�	Y
+铏�	Y
+铏�	H
+铏�	Z
+铓�	X
+铓�	F
+铓�	E
+铓�	B
+铓�	C
+铓�	Q
+铓�	W
+铓�	Y
+铓�	Y
+铓�	J
+铓�	Q
+铓�	T
+铓�	Z
+铓�	Y
+铓�	Q
+铓�	Y
+铓�	Q
+铓�	Q
+铓�	Z
+铓�	M
+铓�	W
+铓�	F
+铓�	F
+铓�	H
+铓�	F
+铓�	R
+铓�	P
+铓�	N
+铓�	T
+铓�	P
+铓�	D
+铓�	J
+铓�	L
+铓�	F
+铓�	Z
+铓�	X
+铓�	P
+铓�	P
+铓�	X
+铔�	D
+铔�	B
+铔�	B
+铔�	Z
+铔�	T
+铔�	G
+铔�	Y
+铔�	L
+铔�	C
+铔�	H
+铔�	M
+铔�	F
+铔�	L
+铔�	Y
+铔�	X
+铔�	L
+铔�	Y
+铔�	P
+铔�	Q
+铔�	S
+铔�	Y
+铔�	W
+铔�	M
+铔�	Q
+铔�	G
+铔�	Q
+铔�	L
+铔�	X
+铔�	J
+铔�	Q
+铔�	J
+铔�	Y
+铔�	C
+铔�	B
+铔�	H
+铚�	X
+铚�	Z
+铚�	P
+铚�	X
+铚�	L
+铚�	B
+铚�	Y
+铚�	Y
+铚�	J
+铚�	D
+铚�	D
+铚�	H
+姹�	T
+寤�	T
+鍋�	T
+浜�	T
+搴�	T
+鎸�	T
+鑹�	T
+閫�	T
+妗�	T
+閰�	T
+鐬�	T
+鍚�	T
+閾�	T
+褰�	T
+绔�	T
+妗�	T
+鎹�	T
+绛�	T
+缁�	T
+鐥�	T
+鍋�	T
+鎶�	T
+澶�	T
+閫�	T
+鍑�	T
+绉�	T
+绐�	T
+鍥�	T
+寰�	T
+閫�	T
+娑�	T
+灞�	T
+鍦�	T
+鍚�	T
+鍏�	T
+婀�	T
+鍥�	T
+鎺�	T
+棰�	T
+鑵�	T
+铚�	T
+瑜�	T
+閫�	T
+鍚�	T
+灞�	T
+鑷�	T
+鎷�	T
+鎵�	T
+鑴�	T
+楦�	T
+闄�	T
+椹�	T
+椹�	T
+妞�	T
+濡�	T
+鎷�	T
+鍞�	T
+鎸�	W
+鍝�	W
+铔�	W
+娲�	W
+濞�	W
+鐡�	W
+琚�	W
+姝�	W
+澶�	W
+璞�	W
+寮�	W
+婀�	W
+鐜�	W
+椤�	W
+涓�	W
+鐑�	W
+瀹�	W
+纰�	W
+鎸�	W
+鏅�	W
+鐨�	W
+鎯�	W
+瀹�	W
+濠�	W
+涓�	W
+鑵�	W
+姹�	W
+鐜�	W
+浜�	W
+鏋�	W
+缃�	W
+寰�	W
+鏃�	W
+鏈�	W
+蹇�	W
+濡�	W
+濞�	W
+铚�	S
+铚�	J
+铚�	Q
+铚�	Y
+铚�	J
+铚�	X
+铚�	L
+铚�	L
+铚�	D
+铚�	T
+铚�	K
+铚�	H
+铚�	H
+铚�	B
+铚�	F
+铚�	W
+铚�	T
+铚�	Y
+铚�	S
+铚�	Q
+铚�	W
+铚�	N
+铚�	W
+铚�	L
+铦�	D
+铦�	E
+铦�	B
+铦�	Z
+铦�	W
+铦�	C
+铦�	M
+铦�	U
+铦�	L
+铦�	J
+铦�	T
+铦�	M
+铦�	X
+铦�	M
+铦�	J
+铦�	S
+铦�	X
+铦�	Y
+铦�	R
+铦�	W
+铦�	F
+铦�	Y
+铦�	M
+铦�	W
+铦�	R
+铦�	X
+铦�	X
+铦�	Y
+铦�	S
+铦�	Z
+铦�	T
+铦�	Z
+铦�	Z
+铦�	T
+铦�	Y
+铦�	M
+铦�	L
+铦�	D
+铦�	Q
+铦�	X
+铦�	W
+铦�	Y
+铦�	Y
+铦�	Y
+铻�	J
+铻�	B
+铻�	S
+铻�	C
+铻�	X
+铻�	W
+铻�	L
+铻�	P
+铻�	R
+铻�	J
+铻�	W
+铻�	X
+铻�	H
+铻�	Y
+铻�	P
+铻�	H
+铻�	Y
+铻�	D
+铻�	N
+铻�	X
+铻�	H
+铻�	H
+铻�	M
+铻�	Y
+铻�	W
+铻�	Y
+铻�	T
+铻�	Z
+宸�	W
+寰�	W
+鍗�	W
+闊�	W
+杩�	W
+妗�	W
+鍥�	W
+鍞�	W
+鎯�	W
+涓�	W
+娼�	W
+缁�	W
+鑻�	W
+钀�	W
+濮�	W
+浼�	W
+浼�	W
+灏�	W
+绾�	W
+鏈�	W
+钄�	W
+鍛�	W
+鐣�	W
+鑳�	W
+鍠�	W
+榄�	W
+浣�	W
+娓�	W
+璋�	W
+灏�	W
+鎱�	W
+鍗�	W
+鐦�	W
+娓�	W
+铓�	W
+鏂�	W
+闂�	W
+绾�	W
+鍚�	W
+绋�	W
+绱�	W
+闂�	W
+鍡�	W
+缈�	W
+鐡�	W
+鎸�	W
+铚�	W
+娑�	W
+绐�	W
+鎴�	W
+鏂�	W
+鍗�	W
+鎻�	W
+娌�	W
+宸�	W
+鍛�	W
+閽�	W
+涔�	W
+姹�	W
+璇�	W
+灞�	W
+鏃�	W
+鑺�	W
+姊�	W
+鍚�	W
+鍚�	W
+姣�	W
+姝�	W
+浜�	W
+鎹�	W
+鍗�	W
+鑸�	W
+浼�	W
+渚�	W
+鍧�	W
+鎴�	W
+闆�	W
+鏅�	W
+鐗�	W
+鍕�	W
+鍔�	W
+鎮�	W
+璇�	W
+鏄�	X
+鐔�	X
+鏋�	X
+瑗�	X
+纭�	X
+鐭�	X
+鏅�	X
+鍢�	X
+鍚�	X
+閿�	X
+鐗�	X
+铻�	C
+铻�	S
+铻�	Q
+铻�	T
+铻�	S
+铻�	D
+铻�	L
+铻�	W
+铻�	Z
+铻�	C
+铻�	Q
+铻�	P
+铻�	Y
+铻�	J
+铻�	L
+铻�	Q
+铻�	Y
+铻�	J
+锜�	W
+锜�	X
+锜�	M
+锜�	Z
+锜�	Z
+锜�	M
+锜�	Y
+锜�	L
+锜�	C
+锜�	L
+锜�	M
+锜�	X
+锜�	C
+锜�	M
+锜�	Z
+锜�	S
+锜�	Q
+锜�	T
+锜�	Z
+锜�	P
+锜�	Q
+锜�	Q
+锜�	B
+锜�	L
+锜�	G
+锜�	X
+锜�	Q
+锜�	Z
+锜�	F
+锜�	L
+锜�	J
+锜�	J
+锜�	Y
+锜�	T
+锜�	J
+锜�	R
+锜�	X
+锜�	W
+锜�	Z
+锜�	X
+锜�	S
+锜�	C
+锜�	C
+锜�	D
+锜�	L
+锜�	T
+锜�	Y
+锜�	J
+锜�	D
+锜�	Q
+锠�	J
+锠�	X
+锠�	S
+锠�	Q
+锠�	Y
+锠�	C
+锠�	L
+锠�	Z
+锠�	X
+锠�	Z
+锠�	Z
+锠�	X
+锠�	M
+锠�	X
+锠�	Q
+锠�	R
+锠�	J
+锠�	H
+锠�	Z
+锠�	J
+锠�	B
+锠�	H
+锠�	F
+锠�	L
+锠�	J
+锠�	L
+锠�	M
+锠�	L
+绋�	X
+鎭�	X
+甯�	X
+鎮�	X
+鑶�	X
+澶�	X
+鎯�	X
+鐔�	X
+鐑�	X
+婧�	X
+姹�	X
+鐘�	X
+妾�	X
+琚�	X
+甯�	X
+涔�	X
+濯�	X
+鍠�	X
+閾�	X
+娲�	X
+绯�	X
+闅�	X
+鎴�	X
+缁�	X
+鐬�	X
+铏�	X
+鍖�	X
+闇�	X
+杈�	X
+鏆�	X
+宄�	X
+渚�	X
+鐙�	X
+涓�	X
+鍘�	S
+澶�	X
+鍚�	X
+鎺�	X
+閿�	X
+鍏�	X
+浠�	X
+椴�	X
+绾�	X
+鍜�	X
+璐�	X
+琛�	X
+鑸�	X
+闂�	X
+娑�	X
+寮�	X
+瀚�	X
+鏄�	X
+闄�	X
+鐜�	X
+鐚�	X
+鍘�	X
+鑵�	X
+棣�	X
+缇�	X
+瀹�	X
+闄�	X
+闄�	X
+绾�	X
+鐩�	X
+鍘�	X
+闀�	X
+棣�	X
+绠�	X
+瑗�	X
+婀�	X
+涔�	X
+缈�	X
+绁�	X
+璇�	X
+鎯�	X
+鍝�	X
+浜�	X
+椤�	X
+宸�	X
+姗�	X
+鍍�	X
+鍚�	X
+璞�	X
+钀�	X
+纭�	X
+闇�	X
+鍓�	X
+鍝�	X
+鍤�	X
+閿�	X
+娑�	X
+瀹�	X
+娣�	X
+鏅�	X
+锠�	Q
+锠�	N
+锠�	L
+锠�	D
+锠�	X
+锠�	Z
+锠�	L
+锠�	L
+锠�	L
+锠�	P
+锠�	Y
+锠�	P
+锠�	S
+锠�	Y
+锠�	Y
+锠�	S
+锠�	X
+锠�	C
+锠�	Q
+锠�	Q
+锠�	C
+锠�	M
+锠�	J
+锠�	Z
+锠�	Z
+琛�	H
+琛�	N
+琛�	P
+琛�	Z
+琛�	M
+琛�	E
+琛�	K
+琛�	M
+琛�	X
+琛�	K
+琛�	Y
+琛�	Q
+琛�	L
+琛�	X
+琛�	S
+琛�	T
+琛�	X
+琛�	Y
+琛�	H
+琛�	W
+琛�	D
+琛�	C
+琛�	W
+琛�	D
+琛�	Z
+琛�	G
+琛�	Y
+琛�	Y
+琛�	F
+琛�	P
+琛�	J
+琛�	Z
+琛�	D
+琛�	Y
+琛�	Z
+琛�	J
+琛�	Z
+琛�	X
+琛�	R
+琛�	Z
+琚�	J
+琚�	C
+琚�	Y
+琚�	R
+琚�	T
+琚�	L
+琚�	P
+琚�	Y
+琚�	Z
+琚�	B
+琚�	S
+琚�	J
+琚�	K
+琚�	X
+琚�	Z
+琚�	Y
+琚�	P
+琚�	F
+琚�	D
+琚�	F
+琚�	G
+琚�	Z
+琚�	Z
+琚�	R
+琚�	Y
+琚�	T
+琚�	N
+琚�	G
+琚�	X
+琚�	Z
+琚�	Q
+灏�	X
+瀛�	X
+鏍�	X
+鑲�	X
+鍟�	X
+绗�	X
+鏁�	X
+妤�	X
+浜�	X
+姝�	X
+铦�	X
+闉�	X
+鍗�	X
+鎸�	J
+鎼�	X
+閭�	X
+鏂�	X
+鑳�	X
+璋�	X
+鍐�	X
+姊�	X
+鍗�	X
+锜�	X
+鎳�	X
+娉�	X
+娉�	X
+璋�	X
+灞�	X
+钖�	X
+鑺�	X
+閿�	X
+娆�	X
+杈�	X
+鏂�	X
+蹇�	X
+蹇�	X
+淇�	X
+琛�	X
+鏄�	X
+鑵�	X
+鐚�	X
+鎯�	X
+鍏�	X
+鍒�	X
+鍨�	X
+褰�	X
+閭�	X
+琛�	X
+閱�	X
+骞�	X
+鏉�	X
+鎬�	X
+濮�	X
+鍏�	X
+鍑�	X
+鑳�	X
+鍖�	X
+姹�	X
+闆�	X
+鐔�	X
+浼�	X
+淇�	X
+缇�	X
+鏈�	X
+鍡�	X
+閿�	X
+绉�	X
+琚�	X
+缁�	X
+澧�	X
+鎴�	X
+闇�	X
+铏�	X
+鍢�	X
+椤�	X
+寰�	X
+璁�	X
+钃�	X
+閰�	X
+鍙�	X
+鏃�	X
+搴�	X
+鐣�	C
+鎭�	X
+绲�	X
+濠�	X
+缁�	X
+缁�	X
+杞�	X
+鍠�	X
+瀹�	X
+鎮�	X
+鏃�	X
+鐜�	X
+琚�	Y
+琚�	N
+琚�	B
+琚�	U
+琚�	N
+琚�	Q
+琚�	K
+琚�	R
+琚�	J
+琚�	Z
+琚�	M
+琚�	J
+琚�	E
+琚�	R
+琚�	Z
+琚�	G
+瑁�	Y
+瑁�	K
+瑁�	X
+瑁�	S
+瑁�	K
+瑁�	N
+瑁�	S
+瑁�	X
+瑁�	K
+瑁�	L
+瑁�	J
+瑁�	S
+瑁�	J
+瑁�	Z
+瑁�	L
+瑁�	J
+瑁�	Y
+瑁�	B
+瑁�	Z
+瑁�	S
+瑁�	Q
+瑁�	L
+瑁�	X
+瑁�	T
+瑁�	K
+瑁�	T
+瑁�	Y
+瑁�	L
+瑁�	C
+瑁�	C
+瑁�	D
+瑁�	L
+瑁�	P
+瑁�	F
+瑁�	Y
+瑁�	Y
+瑁�	D
+瑁�	Z
+瑁�	Y
+瑜�	Q
+瑜�	G
+瑜�	K
+瑜�	Q
+瑜�	T
+瑜�	T
+瑜�	F
+瑜�	Z
+瑜�	X
+瑜�	D
+瑜�	K
+瑜�	T
+瑜�	Y
+瑜�	Y
+瑜�	Y
+瑜�	F
+瑜�	Y
+瑜�	T
+瑜�	Y
+瑜�	Y
+瑜�	P
+瑜�	D
+瑜�	Y
+瑜�	T
+瑜�	G
+瑜�	H
+瑜�	R
+瑜�	Y
+瑜�	N
+瑜�	J
+瑜�	S
+瑜�	P
+瑜�	S
+瑜�	N
+瑜�	Y
+瑜�	J
+瑜�	H
+瑜�	K
+瑜�	L
+瑜�	L
+瑜�	S
+閫�	X
+鐧�	X
+鐪�	X
+缁�	X
+闈�	X
+钖�	X
+瀛�	X
+绌�	X
+闆�	X
+琛�	X
+鍕�	X
+鐔�	X
+寰�	X
+鏃�	X
+璇�	X
+瀵�	X
+椹�	X
+宸�	X
+娈�	X
+姹�	X
+璁�	X
+璁�	X
+閫�	X
+杩�	X
+鍘�	Y
+鎶�	Y
+楦�	Y
+楦�	Y
+鍛�	Y
+涓�	Y
+鑺�	Y
+鐗�	Y
+铓�	Y
+宕�	Y
+琛�	Y
+娑�	Y
+闆�	Y
+鍝�	Y
+浜�	Y
+璁�	Y
+鐒�	Y
+鍜�	Y
+闃�	Y
+鐑�	Y
+娣�	Y
+鐩�	Y
+涓�	Y
+鐮�	Y
+铚�	Y
+宀�	Y
+寤�	Y
+瑷�	Y
+棰�	Y
+闃�	Y
+鐐�	Y
+娌�	Y
+濂�	Y
+鎺�	Y
+鐪�	Y
+琛�	Y
+婕�	Y
+鑹�	Y
+鍫�	Y
+鐕�	Y
+鍘�	Y
+鐮�	Y
+闆�	Y
+鍞�	Y
+褰�	Y
+鐒�	Y
+瀹�	Y
+璋�	Y
+楠�	Y
+娈�	Y
+澶�	Y
+楦�	Y
+绉�	Y
+鏉�	Y
+鎵�	Y
+浣�	Y
+鐤�	Y
+缇�	Y
+娲�	Y
+闃�	Y
+姘�	Y
+浠�	Y
+鐥�	Y
+鍏�	Y
+鏍�	Y
+婕�	Y
+閭�	Y
+鑵�	Y
+濡�	Y
+鐟�	Y
+瑜�	L
+瑜�	Y
+瑜�	D
+瑜�	X
+瑜�	X
+瑜�	W
+瑜�	B
+瑜�	C
+瑗�	J
+瑗�	S
+瑗�	P
+瑗�	B
+瑗�	P
+瑗�	J
+瑗�	Z
+瑗�	J
+瑗�	C
+瑗�	J
+瑗�	D
+瑗�	Z
+瑗�	F
+瑗�	F
+瑗�	X
+瑗�	X
+瑗�	B
+瑗�	R
+瑗�	M
+瑗�	L
+瑗�	A
+瑗�	Z
+瑗�	H
+瑗�	C
+瑗�	S
+瑗�	N
+瑗�	D
+瑗�	L
+瑗�	D
+瑗�	S
+瑗�	Z
+瑗�	B
+瑗�	L
+瑗�	P
+瑗�	Z
+瑗�	T
+瑗�	S
+瑗�	W
+瑗�	S
+瑗�	B
+瑗�	X
+瑗�	B
+瑗�	C
+瑗�	L
+瑗�	L
+瑗�	X
+瑗�	X
+瑗�	L
+瑗�	Z
+瑗�	D
+瑗�	J
+瑗�	Z
+瑗�	S
+瑗�	J
+瑗�	Y
+瑗�	L
+瑗�	Y
+瑕�	X
+瑕�	F
+瑕�	F
+瑕�	F
+瑕�	B
+瑕�	H
+瑕�	J
+瑕�	J
+瑕�	X
+瑕�	G
+瑕�	B
+瑕�	Y
+瑕�	X
+瑕�	J
+瑕�	P
+瑕�	M
+瑕�	M
+瑕�	M
+瑕�	P
+瑕�	S
+瑕�	S
+瑕�	J
+瑕�	Z
+瑕�	J
+瑕�	M
+瑕�	T
+瑕�	L
+瑕�	Y
+瑕�	Z
+瑕�	J
+瑕�	X
+鎽�	Y
+灏�	Y
+閬�	Y
+绐�	Y
+璋�	Y
+濮�	Y
+鍜�	Y
+鑸�	Y
+鑽�	Y
+瑕�	Y
+鑰�	Y
+妞�	Y
+鍣�	Y
+鑰�	Y
+鐖�	Y
+閲�	Y
+鍐�	Y
+涔�	Y
+椤�	Y
+鎺�	Y
+涓�	Y
+鍙�	Y
+鏇�	Y
+鑵�	Y
+澶�	Y
+娑�	Y
+涓�	Y
+澹�	Y
+鍖�	Y
+鎻�	Y
+閾�	Y
+渚�	Y
+浼�	Y
+琛�	Y
+棰�	Y
+澶�	Y
+閬�	Y
+绉�	Y
+浠�	Y
+鑳�	Y
+鐤�	Y
+娌�	Y
+瀹�	Y
+濮�	Y
+褰�	Y
+妞�	Y
+铓�	Y
+鍊�	Y
+宸�	Y
+涔�	Y
+鐭�	Y
+浠�	Y
+鑹�	Y
+鎶�	Y
+鏄�	Y
+閭�	Y
+灞�	Y
+浜�	Y
+褰�	Y
+鑷�	Y
+閫�	Y
+鑲�	Y
+鐤�	Y
+浜�	Y
+瑁�	Y
+鎰�	Y
+姣�	Y
+蹇�	Y
+涔�	Y
+鐩�	Y
+婧�	Y
+璇�	Y
+璁�	Y
+璋�	Y
+璇�	Y
+寮�	Y
+缈�	Y
+缈�	Y
+缁�	Y
+鑼�	Y
+鑽�	Y
+鍥�	Y
+娈�	Y
+闊�	Y
+闃�	Y
+濮�	Y
+鍚�	Y
+閾�	Y
+娣�	Y
+瀵�	Y
+楗�	Y
+灏�	Y
+寮�	Y
+闅�	Y
+瑕�	S
+瑕�	W
+瑕�	X
+瑕�	T
+瑕�	Y
+瑕�	L
+瑕�	E
+瑕�	D
+瑕�	Q
+瑕�	P
+瑕�	J
+瑕�	M
+瑕�	Y
+瑕�	G
+瑕�	Q
+瑕�	Z
+瑕�	J
+瑕�	G
+瑕�	D
+瑕�	J
+瑕�	L
+瑕�	Q
+瑕�	J
+瑕�	W
+瑕�	J
+瑕�	Q
+瑕�	L
+瑕�	L
+瑕�	S
+瑕�	J
+瑙�	G
+瑙�	Y
+瑙�	T
+瑙�	Q
+瑙�	J
+瑙�	C
+瑙�	Z
+瑙�	C
+瑙�	J
+瑙�	D
+瑙�	Z
+瑙�	X
+瑙�	Q
+瑙�	G
+瑙�	S
+瑙�	G
+瑙�	X
+瑙�	H
+瑙�	Q
+瑙�	X
+瑙�	N
+瑙�	Q
+瑙�	L
+瑙�	Z
+瑙�	B
+瑙�	X
+瑙�	S
+瑙�	G
+瑙�	Z
+瑙�	X
+瑙�	C
+瑙�	X
+瑙�	Y
+瑙�	L
+瑙�	J
+瑙�	X
+瑙�	Y
+瑙�	X
+瑷�	Y
+瑷�	D
+瑷�	F
+瑷�	Q
+瑷�	Q
+瑷�	J
+瑷�	J
+瑷�	F
+瑷�	X
+瑷�	D
+瑷�	H
+瑷�	C
+瑷�	T
+瑷�	X
+瑷�	J
+瑷�	Y
+瑷�	R
+瑷�	X
+瑷�	Y
+瑷�	S
+瑷�	Q
+瑷�	T
+瑷�	J
+瑷�	X
+瑷�	Y
+瑷�	E
+瑷�	F
+瑷�	Y
+鍗�	Y
+鑻�	Y
+妯�	Y
+濠�	Y
+楣�	Y
+搴�	Y
+缂�	Y
+鑾�	Y
+钀�	Y
+钀�	Y
+鑽�	Y
+铦�	Y
+杩�	Y
+璧�	Y
+鐩�	Y
+褰�	Y
+棰�	Y
+纭�	Y
+鏄�	Y
+鍝�	Y
+鎷�	Y
+浣�	Y
+鑷�	Y
+鐥�	Y
+搴�	Y
+闆�	Y
+韪�	Y
+铔�	Y
+鍜�	Y
+娉�	Y
+娑�	Y
+姘�	Y
+鎭�	Y
+鍕�	Y
+鐢�	Y
+骞�	Y
+浼�	Y
+鎮�	Y
+蹇�	Y
+灏�	Y
+鐢�	Y
+閭�	Y
+閾�	Y
+鐘�	Y
+娌�	Y
+娓�	Y
+閰�	Y
+鏈�	Y
+鍙�	Y
+鍙�	Y
+浣�	Y
+閲�	Y
+璇�	Y
+鍙�	Y
+骞�	Y
+杩�	Y
+娣�	Y
+浜�	Y
+鐩�	Y
+姒�	Y
+铏�	Y
+鎰�	Y
+鑸�	Y
+浣�	Y
+淇�	Y
+閫�	Y
+楸�	Y
+鎰�	Y
+娓�	Y
+娓�	Y
+闅�	Y
+浜�	Y
+濞�	Y
+闆�	Y
+涓�	Y
+灞�	Y
+绂�	Y
+瀹�	Y
+璇�	Y
+缇�	Y
+鐜�	Y
+鍩�	Y
+鑺�	Y
+閮�	Y
+鍚�	X
+閬�	Y
+鍠�	Y
+宄�	Y
+寰�	Y
+鎰�	Y
+娆�	Y
+鐙�	Y
+鑲�	Y
+瑾�	Y
+瑷�	Y
+瑷�	S
+瑷�	S
+瑷�	Y
+瑷�	Y
+瑷�	J
+瑷�	X
+瑷�	N
+瑷�	C
+瑷�	Y
+瑷�	Z
+瑷�	X
+瑷�	F
+瑷�	X
+瑷�	M
+瑷�	S
+瑷�	Y
+瑷�	S
+瑷�	Z
+瑷�	X
+瑷�	Y
+瑷�	Y
+瑷�	S
+瑷�	C
+瑷�	H
+瑷�	S
+瑷�	H
+瑷�	X
+瑷�	Z
+瑷�	Z
+瑷�	Z
+瑷�	G
+瑷�	Z
+瑭�	Z
+瑭�	G
+瑭�	F
+瑭�	J
+瑭�	D
+瑭�	L
+瑭�	T
+瑭�	Y
+瑭�	N
+瑭�	P
+瑭�	Z
+瑭�	G
+瑭�	Y
+瑭�	J
+瑭�	Y
+瑭�	Z
+瑭�	Y
+瑭�	Y
+瑭�	Q
+瑭�	Z
+瑭�	P
+瑭�	B
+瑭�	X
+瑭�	Q
+瑭�	B
+瑭�	D
+瑭�	Z
+瑭�	T
+瑭�	Z
+瑭�	C
+瑭�	Z
+瑭�	Y
+瑭�	X
+瑭�	X
+瑭�	Y
+瑭�	H
+瑭�	H
+瑭�	S
+瑭�	Q
+瑭�	X
+瑭�	S
+瑭�	H
+瑭�	D
+瑭�	H
+瑭�	G
+瑭�	Q
+瑭�	H
+瑭�	J
+瑭�	H
+瑭�	G
+瑭�	Y
+瑭�	W
+瑭�	S
+瑭�	Z
+瑭�	T
+瑭�	M
+瑭�	M
+瑭�	L
+瑭�	H
+瑭�	Y
+瑭�	X
+瑭�	G
+瑾�	E
+娴�	Y
+瀵�	Y
+瑁�	Y
+棰�	Y
+璞�	Y
+椹�	Y
+楦�	Y
+娓�	Y
+鍐�	Y
+鍏�	Y
+鍨�	Y
+琚�	Y
+鍘�	Y
+鎻�	Y
+杈�	Y
+鍥�	Y
+鍛�	Y
+鍦�	Y
+鐚�	Y
+婧�	Y
+缂�	Y
+杩�	Y
+鑻�	Y
+鎰�	Y
+鎬�	Y
+闄�	Y
+鏇�	Y
+绾�	Y
+瓒�	Y
+璺�	Y
+閽�	Y
+宀�	Y
+绮�	Y
+鏈�	Y
+鎮�	Y
+闃�	Y
+鑰�	Y
+浜�	Y
+閮�	Y
+鍖�	Y
+闄�	Y
+鍏�	Y
+杩�	Y
+钑�	Y
+閰�	Y
+鏅�	Y
+闊�	Y
+瀛�	Y
+鍖�	Z
+鐮�	Z
+鏉�	Z
+鏍�	Z
+鍝�	Z
+鐏�	Z
+瀹�	Z
+杞�	Z
+鍐�	Z
+鍦�	Z
+鍜�	Z
+鏀�	Z
+鏆�	Z
+璧�	Z
+璧�	Z
+鑴�	Z
+钁�	Z
+閬�	Z
+绯�	Z
+鍑�	Z
+钘�	Z
+鏋�	Z
+鏃�	Z
+婢�	Z
+铓�	Z
+韬�	Z
+鍣�	Z
+閫�	Z
+鐨�	Z
+鐏�	Z
+鐕�	Z
+璐�	Z
+鎷�	Z
+鍒�	Z
+娉�	Z
+璐�	Z
+鎬�	Z
+澧�	Z
+鎲�	Z
+鏇�	C
+璧�	Z
+鎵�	Z
+鍠�	Z
+娓�	Z
+鏈�	Z
+杞�	Z
+瑾�	B
+瑾�	T
+瑾�	Y
+瑾�	L
+瑾�	Z
+瑾�	K
+瑾�	Q
+瑾�	W
+瑾�	J
+瑾�	Z
+瑾�	R
+瑾�	C
+瑾�	L
+瑾�	E
+瑾�	K
+瑾�	Y
+瑾�	T
+瑾�	D
+瑾�	B
+瑾�	C
+瑾�	Y
+瑾�	K
+瑾�	Q
+瑾�	Q
+瑾�	S
+瑾�	A
+瑾�	Y
+瑾�	X
+瑾�	C
+瑾�	J
+瑾�	X
+瑾�	W
+瑾�	W
+瑾�	G
+瑾�	S
+瑾�	B
+瑾�	H
+瑾�	J
+瑾�	Y
+瑾�	Z
+瑾�	Y
+瑾�	D
+瑾�	H
+瑾�	C
+瑾�	S
+瑾�	J
+瑾�	K
+瑾�	Q
+瑾�	C
+瑾�	X
+瑾�	S
+瑾�	W
+瑾�	X
+瑾�	F
+瑾�	L
+瑾�	T
+瑾�	Y
+瑾�	N
+瑾�	Y
+瑾�	Z
+璜�	P
+璜�	Z
+璜�	C
+璜�	C
+璜�	Z
+璜�	J
+璜�	Q
+璜�	T
+璜�	Z
+璜�	W
+璜�	J
+璜�	Q
+璜�	D
+璜�	Z
+璜�	Z
+璜�	Z
+璜�	Q
+璜�	Z
+璜�	L
+璜�	J
+璜�	J
+璜�	X
+璜�	L
+璜�	S
+璜�	B
+璜�	H
+璜�	P
+璜�	Y
+璜�	X
+璜�	X
+璜�	P
+璜�	S
+璜�	X
+璜�	S
+璜�	H
+璜�	H
+閾�	Z
+闂�	Z
+鐪�	Z
+鏍�	S
+姒�	Z
+鍜�	Z
+涔�	Z
+鐐�	Z
+璇�	Z
+鎽�	Z
+鏂�	Z
+瀹�	Z
+绐�	Z
+鍊�	Z
+瀵�	Z
+鐬�	Z
+姣�	Z
+瑭�	Z
+绮�	Z
+娌�	Z
+鐩�	Z
+鏂�	Z
+杈�	Z
+宕�	Z
+灞�	Z
+铇�	Z
+鏍�	Z
+鍗�	Z
+鎴�	Z
+绔�	Z
+婀�	Z
+缁�	Z
+妯�	Z
+绔�	Z
+褰�	Z
+婕�	Z
+寮�	Z
+鎺�	Z
+娑�	Z
+鏉�	Z
+涓�	Z
+甯�	Z
+璐�	Z
+浠�	Z
+鑳�	Z
+鐦�	Z
+闅�	Z
+鎷�	Z
+鏄�	Z
+鎵�	Z
+娌�	Z
+璧�	Z
+鐓�	Z
+缃�	Z
+鍏�	Z
+鑲�	Z
+鍙�	Z
+閬�	Z
+鎶�	Z
+鍝�	Z
+铔�	Z
+杈�	Z
+鑰�	Z
+閿�	Z
+钄�	Z
+杩�	Z
+娴�	Z
+鐝�	Z
+鏂�	Z
+鐪�	Z
+鐢�	Z
+鐮�	Z
+鑷�	Z
+璐�	Z
+閽�	Z
+渚�	Z
+鏋�	Z
+鐤�	Z
+璇�	Z
+闇�	Z
+鎸�	Z
+闀�	Z
+闃�	Z
+钂�	Z
+鎸�	Z
+鐫�	Z
+寰�	Z
+鐙�	Z
+浜�	Z
+鎬�	Z
+鏁�	Z
+鎷�	Z
+姝�	Z
+鏀�	Z
+璜�	E
+璜�	Z
+璜�	T
+璜�	X
+璜�	F
+璜�	P
+璜�	T
+璜�	L
+璜�	Q
+璜�	Y
+璜�	Z
+璜�	Z
+璜�	X
+璜�	H
+璜�	Y
+璜�	T
+璜�	X
+璜�	N
+璜�	C
+璜�	F
+璜�	Z
+璜�	Y
+璜�	Y
+璜�	H
+璜�	X
+璜�	G
+璜�	N
+璜�	X
+璎�	M
+璎�	Y
+璎�	W
+璎�	X
+璎�	T
+璎�	Z
+璎�	S
+璎�	P
+璎�	T
+璎�	H
+璎�	H
+璎�	G
+璎�	Y
+璎�	M
+璎�	X
+璎�	M
+璎�	X
+璎�	Q
+璎�	Z
+璎�	X
+璎�	T
+璎�	S
+璎�	B
+璎�	C
+璎�	Z
+璎�	Y
+璎�	J
+璎�	Y
+璎�	X
+璎�	X
+璎�	T
+璎�	Y
+璎�	Y
+璎�	Z
+璎�	Y
+璎�	P
+璎�	C
+璎�	L
+璎�	M
+璎�	M
+璎�	S
+璎�	Z
+璎�	M
+璎�	J
+璎�	Z
+璎�	Z
+璎�	L
+璎�	L
+璎�	Z
+璎�	X
+璎�	G
+璎�	X
+璎�	Z
+璎�	A
+璎�	A
+璎�	J
+璎�	Z
+璎�	Y
+璎�	X
+璎�	J
+璎�	M
+璎�	Z
+璀�	X
+璀�	W
+璀�	D
+璀�	X
+璀�	Z
+璀�	S
+甯�	Z
+鐥�	Z
+閮�	Z
+璇�	Z
+鑺�	Z
+鏋�	Z
+鏀�	Z
+鍚�	Z
+铚�	Z
+鐭�	Z
+鑲�	Z
+鑴�	Z
+姹�	Z
+涔�	Z
+缁�	Z
+鑱�	Z
+鐩�	Z
+妞�	Z
+娈�	Z
+鎵�	Z
+鍊�	Z
+渚�	Z
+鍧�	Z
+鎸�	Z
+姝�	Z
+瓒�	Z
+鍙�	Z
+鏃�	Z
+绾�	Z
+蹇�	Z
+鎸�	Z
+鎺�	Z
+鑷�	Z
+鑷�	Z
+缃�	Z
+甯�	Z
+宄�	Z
+鍒�	Z
+鏅�	Z
+绉�	Z
+绋�	Z
+璐�	Z
+鐐�	Z
+鐥�	Z
+婊�	Z
+娌�	Z
+绐�	Z
+涓�	Z
+鐩�	Z
+蹇�	Z
+閽�	Z
+琛�	Z
+缁�	Z
+绉�	Z
+鑲�	Z
+閲�	Z
+浠�	Z
+浼�	Z
+鑸�	Z
+鍛�	Z
+宸�	Z
+娲�	Z
+璇�	Z
+绮�	Z
+杞�	Z
+鑲�	Z
+甯�	Z
+鍜�	Z
+鐨�	Z
+瀹�	Z
+鏄�	Z
+楠�	Z
+鐝�	Z
+鏍�	Z
+铔�	Z
+鏈�	Z
+鐚�	Z
+璇�	Z
+璇�	Z
+閫�	Z
+绔�	Z
+鐑�	Z
+鐓�	Z
+鎷�	Z
+鐬�	Z
+鍢�	Z
+涓�	Z
+钁�	Z
+鏌�	Z
+鍔�	Z
+铔�	Z
+璐�	Z
+閾�	Z
+绛�	Z
+璀�	X
+璀�	Z
+璀�	D
+璀�	Z
+璀�	X
+璀�	L
+璀�	E
+璀�	Y
+璀�	J
+璀�	J
+璀�	Z
+璀�	Q
+璀�	B
+璀�	H
+璀�	Z
+璀�	W
+璀�	Z
+璀�	Z
+璀�	Z
+璀�	Q
+璀�	T
+璀�	Z
+璀�	P
+璀�	S
+璀�	X
+璀�	Z
+璀�	T
+璀�	D
+璀�	S
+璀�	X
+璀�	J
+璀�	J
+璀�	Z
+璀�	N
+璀�	Y
+璀�	A
+璀�	Z
+璀�	H
+璀�	X
+璀�	Y
+璀�	Y
+璀�	S
+璀�	R
+璀�	N
+璀�	Q
+璀�	D
+璀�	T
+璀�	H
+璀�	Z
+璀�	H
+璀�	Y
+璀�	Y
+璀�	K
+璀�	Y
+璀�	J
+璀�	H
+璁�	D
+璁�	Z
+璁�	X
+璁�	Z
+璁�	L
+璁�	S
+璁�	W
+璁�	C
+璁�	L
+璁�	Y
+璁�	B
+璁�	Z
+璁�	Y
+璁�	E
+璁�	C
+璁�	W
+璁�	C
+璁�	Y
+璁�	C
+璁�	R
+璁�	Y
+璁�	L
+璁�	C
+璁�	X
+璁�	N
+璁�	H
+璁�	Z
+璁�	Y
+璁�	D
+璁�	Z
+璁�	Y
+璁�	D
+璁�	T
+璁�	R
+璁�	X
+璇�	X
+璇�	B
+璇�	Z
+璋�	S
+璋�	X
+浣�	Z
+娉�	Z
+绁�	Z
+椹�	Z
+鎶�	Z
+鐖�	Z
+鎷�	Z
+涓�	Z
+鐮�	Z
+杞�	Z
+鎾�	Z
+璧�	Z
+绡�	Z
+妗�	Z
+搴�	Z
+瑁�	Z
+濡�	Z
+鎾�	Z
+澹�	Z
+鐘�	Z
+妞�	Z
+閿�	Z
+杩�	Z
+璧�	Z
+鍧�	Z
+缂�	Z
+璋�	Z
+鍑�	Z
+鎹�	Z
+鎷�	Z
+鍗�	Z
+妗�	Z
+鐞�	Z
+鑼�	Z
+閰�	Z
+鍟�	Z
+鐫�	Z
+鐏�	Z
+娴�	Z
+鍏�	Z
+鍜�	Z
+璧�	Z
+濮�	Z
+婊�	Z
+娣�	Z
+瀛�	Z
+绱�	Z
+浠�	Z
+绫�	Z
+婊�	Z
+瀛�	Z
+鑷�	Z
+娓�	Z
+瀛�	Z
+楝�	Z
+妫�	Z
+韪�	Z
+瀹�	Z
+缁�	Z
+鎬�	Z
+绾�	Z
+閭�	Z
+璧�	Z
+濂�	Z
+鎻�	Z
+绉�	Z
+瓒�	Z
+鍗�	Z
+鏃�	Z
+绁�	Z
+璇�	Z
+闃�	Z
+缁�	Z
+閽�	Z
+绾�	Z
+鍢�	Z
+閱�	Z
+鏈�	Z
+缃�	Z
+灏�	Z
+閬�	Z
+鏄�	Z
+宸�	Z
+浣�	Z
+鏌�	Z
+鍋�	Z
+浣�	Z
+鍧�	Z
+搴�	Z
+璋�	Q
+璋�	H
+璋�	X
+璋�	J
+璋�	H
+璋�	H
+璋�	L
+璋�	X
+璞�	X
+璞�	L
+璞�	H
+璞�	D
+璞�	L
+璞�	Q
+璞�	L
+璞�	D
+璞�	B
+璞�	S
+璞�	X
+璞�	F
+璞�	Z
+璞�	Z
+璞�	Y
+璞�	Y
+璞�	C
+璞�	H
+璞�	T
+璞�	Y
+璞�	Y
+璞�	Y
+璞�	B
+璞�	H
+璞�	E
+璞�	C
+璞�	Y
+璞�	K
+璞�	G
+璞�	J
+璞�	P
+璞�	X
+璞�	H
+璞�	Z
+璞�	J
+璞�	F
+璞�	X
+璞�	H
+璞�	W
+璞�	H
+璞�	D
+璞�	Z
+璞�	F
+璞�	Y
+璞�	A
+璞�	P
+璞�	N
+璞�	P
+璞�	G
+璨�	N
+璨�	Y
+璨�	M
+璨�	S
+璨�	H
+璨�	M
+璨�	M
+璨�	A
+璨�	Y
+璨�	N
+璨�	B
+璨�	Y
+璨�	J
+璨�	T
+璨�	M
+璨�	X
+璨�	Y
+璨�	Y
+璨�	C
+璨�	T
+璨�	H
+璨�	J
+璨�	B
+璨�	Z
+璨�	Y
+璨�	F
+璨�	C
+璨�	G
+璨�	T
+璨�	Y
+璨�	H
+璨�	W
+璨�	P
+璨�	H
+璨�	F
+璨�	T
+璨�	W
+璨�	Z
+璨�	Z
+浜�	C
+涓�	J
+鍏�	W
+涓�	G
+寤�	N
+鍗�	S
+涓�	P
+浜�	G
+涓�	C
+楝�	G
+瀛�	N
+鍣�	E
+涓�	S
+绂�	Y
+涓�	P
+鍖�	B
+涔�	T
+澶�	Y
+鐖�	Y
+鍗�	Z
+姘�	D
+鍥�	X
+鑳�	Y
+棣�	K
+姣�	Y
+鐫�	G
+榧�	T
+涓�	D
+浜�	J
+榧�	N
+涔�	M
+涔�	J
+浜�	Q
+鑺�	M
+瀛�	B
+鍟�	S
+鍢�	G
+浠�	Z
+鍘�	S
+鍘�	C
+鍘�	Y
+鍘�	J
+鍘�	S
+闈�	Y
+璧�	Y
+鍖�	Q
+鍙�	P
+鍖�	G
+鍖�	K
+鍖�	B
+璧�	Z
+鍗�	G
+鍗�	Y
+鍒�	C
+鍒�	Y
+鍒�	W
+鍒�	J
+鍒�	K
+鍒�	G
+鍓�	K
+鍓�	L
+鍓�	J
+鍓�	Y
+鍓�	W
+钂�	K
+鍓�	P
+鍔�	J
+鍔�	Q
+鍔�	H
+鍔�	Y
+鍐�	T
+缃�	W
+浜�	D
+浠�	D
+浠�	Z
+浠�	L
+浠�	S
+浠�	Y
+浠�	M
+浠�	R
+浼�	Y
+浠�	P
+浼�	Y
+浣�	W
+浠�	W
+浼�	C
+浼�	C
+浼�	K
+浼�	Z
+浣�	N
+浣�	K
+鏀�	Y
+浣�	Y
+浣�	G
+璨�	E
+璨�	Z
+璨�	S
+璨�	B
+璨�	Z
+璨�	E
+璨�	G
+璨�	P
+璨�	F
+璨�	M
+璨�	T
+璨�	S
+璨�	K
+璨�	F
+璨�	T
+璨�	Y
+璨�	C
+璨�	M
+璩�	H
+璩�	F
+璩�	L
+璩�	L
+璩�	H
+璩�	G
+璩�	P
+璩�	Z
+璩�	J
+璩�	X
+璩�	Z
+璩�	J
+璩�	G
+璩�	Z
+璩�	J
+璩�	Y
+璩�	X
+璩�	Z
+璩�	S
+璩�	B
+璩�	B
+璩�	Q
+璩�	S
+璩�	C
+璩�	Z
+璩�	Z
+璩�	L
+璩�	Z
+璩�	C
+璩�	C
+璩�	S
+璩�	T
+璩�	P
+璩�	G
+璩�	X
+璩�	M
+璩�	J
+璩�	S
+璩�	F
+璩�	T
+璩�	C
+璩�	C
+璩�	Z
+璩�	J
+璩�	Z
+璩�	D
+璩�	J
+璩�	X
+璩�	C
+璩�	Y
+璩�	B
+璩�	Z
+璩�	L
+璩�	F
+璩�	C
+璩�	J
+璩�	S
+璩�	Y
+璩�	Z
+璩�	F
+璩�	G
+璩�	S
+璩�	Z
+璩�	L
+璐�	Y
+璐�	B
+璐�	C
+璐�	W
+璐�	Z
+璐�	Z
+璐�	B
+璐�	Y
+璐�	Z
+璐�	D
+璐�	Z
+璐�	Y
+璐�	P
+璐�	S
+浣�	T
+浣�	T
+浼�	N
+浼�	G
+浣�	J
+浣�	E
+渚�	Y
+渚�	K
+渚�	K
+渚�	Z
+浣�	Y
+浣�	T
+渚�	C
+浣�	J
+渚�	N
+渚�	M
+淇�	C
+淇�	Y
+淇�	L
+淇�	Q
+淇�	L
+淇�	Y
+淇�	P
+淇�	Y
+淇�	S
+淇�	F
+鍊�	Q
+鍋�	R
+淇�	P
+鍊�	Z
+鍊�	S
+鍊�	L
+鍊�	W
+淇�	B
+鍊�	T
+鍊�	G
+鍊�	K
+鍊�	J
+鍋�	F
+鍋�	Y
+鍋�	X
+鍋�	J
+鍋�	W
+鍋�	Z
+鍋�	L
+鍌�	T
+鍌�	B
+鍌�	N
+鍌�	C
+鍍�	X
+鍎�	J
+鍍�	J
+鍍�	J
+鍍�	J
+鍍�	T
+鍎�	X
+鍎�	D
+浠�	T
+姘�	T
+浣�	S
+浣�	Q
+淇�	Z
+榫�	Y
+姹�	C
+绫�	D
+鍏�	X
+宸�	X
+榛�	H
+棣�	G
+鍐�	C
+澶�	K
+鍕�	B
+鍖�	P
+瑷�	H
+鍖�	F
+鍑�	F
+澶�	S
+鍏�	S
+浜�	W
+鍏�	Y
+浜�	B
+琛�	G
+琚�	M
+浜�	X
+鑴�	L
+瑁�	P
+绂�	B
+瀣�	Y
+锠�	L
+缇�	L
+鍐�	L
+鍐�	H
+鍐�	L
+鍐�	X
+璐�	W
+璐�	Y
+璐�	J
+璐�	Z
+璐�	X
+璐�	Z
+璐�	B
+璐�	D
+璐�	S
+璐�	Y
+璐�	U
+璐�	X
+璐�	L
+璐�	Z
+璐�	Z
+璐�	Y
+璧�	B
+璧�	Z
+璧�	F
+璧�	Y
+璧�	X
+璧�	X
+璧�	X
+璧�	C
+璧�	C
+璧�	X
+璧�	T
+璧�	Z
+璧�	L
+璧�	S
+璧�	Q
+璧�	Y
+璧�	X
+璧�	Z
+璧�	J
+璧�	Q
+璧�	D
+瓒�	C
+瓒�	Z
+瓒�	T
+瓒�	D
+瓒�	X
+瓒�	Z
+瓒�	J
+瓒�	J
+瓒�	Q
+瓒�	C
+瓒�	H
+瓒�	X
+瓒�	T
+瓒�	D
+瓒�	G
+瓒�	S
+瓒�	C
+瓒�	X
+瓒�	Z
+瓒�	S
+瓒�	Y
+瓒�	Q
+瓒�	J
+瓒�	Q
+瓒�	Z
+瓒�	W
+瓒�	L
+瓒�	D
+瓒�	Q
+瓒�	Z
+瓒�	T
+瓒�	Q
+瓒�	C
+瓒�	H
+瓒�	Q
+瓒�	Q
+瓒�	J
+瓒�	Z
+瓒�	Y
+瓒�	E
+瓒�	Z
+瓒�	W
+瓒�	K
+瓒�	J
+瓒�	C
+瓒�	P
+璺�	Y
+璺�	P
+璺�	Q
+璺�	T
+璺�	Y
+璺�	N
+璺�	L
+璺�	M
+璺�	K
+璺�	Z
+璺�	Q
+璺�	Z
+璺�	Q
+鍑�	S
+鍐�	P
+鍐�	Z
+鍐�	M
+璁�	Y
+璁�	J
+璁�	H
+璁�	S
+璁�	O
+璁�	J
+璁�	N
+璇�	G
+璇�	H
+璇�	D
+璇�	Z
+璇�	Q
+璇�	Y
+璇�	K
+璇�	L
+璇�	G
+璇�	J
+璇�	H
+璇�	S
+璇�	G
+璇�	Q
+璇�	Z
+璇�	H
+璇�	X
+璇�	Q
+璇�	G
+璇�	K
+璇�	E
+璇�	Z
+璇�	Z
+璇�	W
+璋�	Y
+璋�	S
+璋�	C
+璋�	S
+璋�	C
+璋�	J
+璋�	X
+璋�	Y
+璋�	E
+璋�	Y
+璋�	X
+璋�	A
+璋�	D
+璋�	Z
+璋�	P
+璋�	M
+璋�	D
+璋�	S
+璋�	S
+璋�	M
+璋�	Z
+璋�	J
+璋�	Z
+璋�	Q
+璋�	J
+璋�	Y
+璋�	Z
+璋�	C
+鍗�	D
+鍗�	J
+闃�	Z
+闃�	W
+闃�	Q
+闃�	J
+闃�	B
+闃�	D
+闃�	Z
+闄�	B
+闄�	X
+闄�	G
+闄�	Z
+闄�	N
+闄�	Z
+闄�	C
+闄�	P
+闅�	W
+闅�	H
+闅�	W
+闅�	X
+閭�	H
+閭�	Q
+閭�	K
+閭�	M
+閭�	W
+閭�	F
+閭�	B
+閭�	P
+閭�	B
+閭�	Y
+璺�	Z
+璺�	P
+璺�	Z
+璺�	N
+璺�	Y
+璺�	J
+璺�	D
+璺�	D
+璺�	Z
+璺�	Z
+璺�	Z
+璺�	X
+璺�	D
+璺�	P
+璺�	Z
+璺�	J
+璺�	C
+璺�	D
+璺�	Q
+璺�	S
+璺�	T
+韪�	C
+韪�	K
+韪�	N
+韪�	X
+韪�	B
+韪�	Z
+韪�	M
+韪�	S
+韪�	J
+韪�	Q
+韪�	M
+韪�	J
+韪�	Q
+韪�	W
+韪�	W
+韪�	J
+韪�	Q
+韪�	N
+韪�	J
+韪�	N
+韪�	L
+韪�	L
+韪�	L
+韪�	W
+韪�	Q
+韪�	Z
+韪�	Q
+韪�	Y
+韪�	D
+韪�	Z
+韪�	P
+韪�	Z
+韪�	Y
+韪�	D
+韪�	C
+韪�	Y
+韪�	Z
+韪�	Z
+韪�	C
+韪�	T
+韪�	T
+韪�	F
+韪�	Z
+韫�	R
+韫�	Z
+韫�	T
+韫�	Q
+韫�	Z
+韫�	D
+韫�	T
+韫�	J
+韫�	L
+韫�	Z
+韫�	B
+韫�	C
+韫�	L
+韫�	L
+韫�	T
+韫�	Z
+韫�	S
+韫�	X
+韫�	K
+韫�	J
+韫�	Z
+韫�	Q
+韫�	Z
+韫�	P
+韫�	Z
+韫�	L
+韫�	Z
+韫�	R
+韫�	T
+韫�	J
+韫�	X
+韫�	Z
+閭�	D
+閭�	T
+閮�	J
+閮�	Z
+閭�	Z
+閮�	K
+閮�	Q
+閮�	X
+閮�	Y
+閮�	L
+閮�	Y
+閮�	G
+閮�	X
+閮�	F
+閮�	P
+閮�	T
+閮�	Y
+閯�	J
+閯�	Y
+閯�	Y
+閯�	Z
+閯�	P
+閯�	S
+閯�	Z
+閰�	L
+閰�	F
+鍒�	C
+濂�	H
+鍔�	M
+鍔�	Q
+鍔�	S
+鍔�	H
+鍝�	G
+鍕�	M
+鍕�	X
+鍕�	X
+鍙�	S
+鐕�	X
+鐭�	J
+寤�	J
+鍑�	S
+鍑�	D
+楝�	C
+鍘�	S
+寮�	B
+鐣�	B
+宸�	Q
+鍧�	B
+鍨�	E
+鍨�	F
+濉�	S
+澧�	J
+澹�	Y
+澹�	H
+鍦�	X
+鍦�	W
+鍦�	G
+鍦�	Z
+鍦�	K
+鍦�	P
+鍦�	Y
+鍧�	L
+鍦�	Q
+鍧�	B
+鍧�	G
+鍨�	L
+鍧�	D
+鍨�	L
+鍧�	C
+鍧�	D
+鍧�	T
+鍧�	N
+鍧�	M
+鍧�	A
+鍨�	Y
+鍨�	D
+鍨�	D
+鍨�	K
+鍩�	S
+鍨�	S
+鍨�	N
+鍨�	G
+鍨�	Y
+鍩�	C
+鍩�	S
+鍩�	G
+鍩�	X
+鍩�	L
+鍨�	Y
+鍩�	Z
+鍩�	A
+鍩�	Y
+鍩�	P
+鍩�	N
+韫�	B
+韫�	C
+韫�	J
+韫�	L
+韫�	T
+韫�	Q
+韫�	Q
+韫�	L
+韫�	D
+韬�	G
+韬�	D
+韬�	B
+韬�	B
+韬�	J
+韬�	Q
+韬�	D
+韬�	C
+韬�	J
+韬�	W
+韬�	Y
+韬�	N
+韬�	Z
+韬�	Y
+韬�	Z
+韬�	C
+韬�	D
+韬�	W
+韬�	L
+韬�	L
+韬�	X
+韬�	W
+韬�	L
+韬�	R
+韬�	X
+韬�	N
+韬�	T
+韬�	Q
+韬�	Q
+韬�	C
+韬�	Z
+韬�	X
+韬�	K
+韬�	Q
+韬�	L
+韬�	D
+韬�	F
+韬�	T
+韬�	D
+韬�	G
+韬�	L
+韬�	R
+韬�	L
+韬�	A
+韬�	J
+韬�	J
+韬�	K
+韬�	U
+韬�	Y
+韬�	M
+韬�	K
+杌�	Q
+杌�	L
+杌�	L
+杌�	T
+杌�	Z
+杌�	Y
+杌�	T
+杌�	D
+杌�	Y
+杌�	Y
+杌�	C
+杌�	Z
+杌�	G
+杌�	J
+杌�	Y
+杌�	X
+杌�	D
+杌�	X
+杌�	F
+杌�	R
+杌�	S
+杌�	K
+杌�	S
+杌�	T
+杌�	Q
+杌�	T
+杌�	E
+杌�	N
+杌�	Q
+杌�	M
+杌�	R
+杌�	K
+杌�	Q
+杌�	Z
+杌�	H
+杌�	H
+鍫�	P
+鍫�	T
+鍩�	S
+鍩�	D
+鍫�	K
+鍫�	D
+鍫�	Y
+濉�	L
+鍫�	H
+濉�	G
+濉�	Y
+澧�	M
+澧�	Y
+澧�	L
+澧�	C
+棣�	X
+榧�	P
+鎳�	Y
+鑹�	C
+鑹�	J
+鑹�	N
+鑺�	D
+鑺�	Q
+鑺�	J
+鑺�	W
+鑺�	X
+鑺�	Q
+鑺�	X
+鑺�	F
+鑺�	Y
+鑺�	Y
+鑺�	F
+鑺�	J
+鑻�	L
+鑻�	E
+鑻�	J
+鑺�	P
+鑺�	Z
+鑺�	R
+鑻�	X
+鑻�	C
+鑻�	C
+鑺�	Q
+鑺�	W
+鑺�	Q
+鑺�	Q
+鑺�	S
+鑻�	B
+鑻�	Z
+鑺�	K
+鑻�	Y
+鑼�	M
+鑻�	G
+鑻�	P
+鑼�	L
+鑼�	B
+鑻�	M
+鑻�	J
+鑻�	R
+鑻�	Q
+鑼�	C
+鑻�	F
+鑻�	L
+鑼�	N
+鑼�	Y
+鑼�	M
+鑼�	Y
+鑼�	Q
+鑻�	M
+鑻�	T
+鑼�	Q
+鑽�	Y
+鑽�	R
+鑽�	B
+鑼�	C
+鑾�	J
+鑼�	T
+鑼�	H
+鑼�	Z
+鑾�	T
+鑽�	Q
+鑼�	F
+鑽�	R
+鑽�	X
+鑽�	Q
+鑽�	H
+鑽�	X
+鑼�	M
+鑽�	Q
+鑼�	J
+鑼�	C
+鑼�	J
+鑽�	L
+鑽�	Y
+杌�	Q
+杌�	K
+杌�	D
+杌�	L
+杌�	D
+杌�	A
+杌�	Z
+杌�	F
+杌�	K
+杌�	Y
+杌�	P
+杌�	B
+杌�	G
+杌�	G
+杌�	P
+杌�	Z
+杌�	R
+杌�	E
+杌�	B
+杌�	Z
+杌�	Z
+杌�	Y
+杌�	K
+杌�	Z
+杌�	Z
+杌�	S
+杌�	P
+杓�	E
+杓�	G
+杓�	J
+杓�	X
+杓�	G
+杓�	Y
+杓�	K
+杓�	Q
+杓�	Z
+杓�	Z
+杓�	Z
+杓�	S
+杓�	L
+杓�	Y
+杓�	S
+杓�	Y
+杓�	Y
+杓�	Y
+杓�	Z
+杓�	W
+杓�	F
+杓�	Q
+杓�	Z
+杓�	Y
+杓�	L
+杓�	Z
+杓�	Z
+杓�	L
+杓�	Z
+杓�	H
+杓�	W
+杓�	C
+杓�	H
+杓�	K
+杓�	Y
+杓�	P
+杓�	Q
+杓�	G
+杓�	N
+杓�	P
+杓�	G
+杓�	B
+杓�	L
+杓�	P
+杓�	L
+杓�	R
+杓�	R
+杓�	J
+杓�	Y
+杓�	X
+杓�	C
+杓�	C
+杓�	S
+杓�	Y
+杓�	Y
+杓�	H
+杓�	S
+杓�	F
+杓�	Z
+杓�	F
+杓�	Y
+杓�	B
+杓�	Z
+杓�	Y
+杞�	Y
+杞�	T
+杞�	G
+杞�	Z
+杞�	X
+鑽�	X
+鑼�	G
+鑽�	J
+鑽�	M
+鑽�	S
+鑽�	H
+鑽�	Z
+鑾�	K
+鑽�	B
+鑾�	S
+鑾�	W
+鑾�	Y
+鑾�	E
+鑾�	M
+鑾�	Y
+鑾�	L
+鑽�	T
+鑾�	X
+鑾�	F
+鑽�	S
+鑾�	Y
+鑽�	D
+鑾�	S
+鑾�	G
+鑾�	L
+鑾�	Y
+鑾�	C
+鑿�	J
+钀�	Q
+鑿�	X
+鑿�	S
+鍫�	J
+钀�	N
+钀�	Q
+鑿�	B
+鑿�	S
+鑿�	C
+钀�	T
+钀�	Y
+钀�	H
+钀�	B
+鑿�	F
+鑿�	T
+钀�	D
+钀�	C
+鑿�	Y
+鑿�	Z
+鑿�	D
+鑿�	J
+鑿�	W
+钀�	Y
+鑿�	G
+鑿�	H
+钁�	Q
+钁�	F
+钁�	S
+钁�	X
+钁�	W
+钂�	C
+钂�	K
+钁�	Q
+钂�	K
+钁�	X
+钀�	E
+钁�	B
+钁�	P
+钁�	T
+钂�	L
+钂�	P
+钀�	X
+钁�	J
+钃�	Z
+钃�	S
+钃�	R
+钃�	M
+钂�	E
+钃�	B
+钃�	W
+钂�	H
+钂�	J
+钃�	L
+钂�	B
+钂�	J
+钂�	S
+钂�	L
+钃�	Y
+钃�	Y
+钄�	S
+鐢�	M
+钄�	D
+钃�	X
+钄�	L
+钄�	C
+钄�	L
+杞�	Y
+杞�	L
+杞�	X
+杞�	C
+杞�	Z
+杞�	W
+杞�	X
+杞�	X
+杞�	Z
+杞�	J
+杞�	Z
+杞�	B
+杞�	L
+杞�	F
+杞�	F
+杞�	L
+杞�	G
+杞�	S
+杞�	K
+杞�	H
+杞�	Y
+杞�	J
+杞�	Z
+杞�	E
+杞�	Y
+杞�	J
+杞�	H
+杞�	L
+杞�	P
+杞�	L
+杞�	L
+杞�	L
+杞�	L
+杞�	D
+杈�	Z
+杈�	L
+杈�	Y
+杈�	C
+杈�	Z
+杈�	B
+杈�	L
+杈�	C
+杈�	Y
+杈�	B
+杈�	B
+杈�	U
+杈�	B
+杈�	C
+杈�	B
+杈�	P
+杈�	N
+杈�	N
+杈�	Z
+杈�	C
+杈�	Y
+杈�	R
+杈�	F
+杈�	S
+杈�	R
+杈�	C
+杩�	G
+杩�	Y
+杩�	Y
+杩�	Q
+杩�	Z
+杩�	W
+杩�	T
+杩�	Z
+杩�	T
+杩�	X
+杩�	T
+杩�	E
+杩�	Z
+杩�	C
+杩�	N
+杩�	Z
+杩�	Z
+杩�	Z
+杩�	T
+杩�	Y
+杩�	Q
+杩�	H
+杩�	D
+杩�	Y
+杩�	N
+杩�	Y
+杩�	J
+杩�	L
+杩�	X
+閫�	D
+閫�	J
+閫�	Y
+閫�	Q
+閫�	D
+閫�	J
+閫�	Y
+钑�	Q
+钄�	K
+钃�	X
+钃�	L
+钑�	H
+钑�	X
+钑�	J
+钑�	R
+钑�	Z
+钑�	J
+鐬�	M
+钑�	F
+钑�	Q
+钑�	H
+钖�	X
+钖�	H
+钖�	W
+钖�	Y
+钑�	W
+钖�	S
+钖�	B
+钖�	H
+钖�	T
+钖�	R
+钖�	X
+钘�	X
+钘�	G
+钘�	L
+钘�	H
+铇�	Q
+铇�	H
+铇�	F
+铇�	N
+铇�	M
+寤�	N
+寮�	Y
+澶�	K
+濂�	L
+鑰�	D
+濂�	Y
+濂�	X
+濂�	Z
+鍖�	P
+灏�	Y
+灏�	L
+灏�	G
+灏�	G
+鎵�	T
+鎵�	M
+鎶�	T
+鎶�	C
+鎷�	F
+鎷�	P
+鎷�	A
+鎷�	J
+鎸�	J
+鎷�	Z
+鎸�	Y
+鎹�	L
+鎹�	J
+鎺�	T
+鎻�	Y
+鎹�	A
+鎹�	N
+鎺�	J
+鎺�	G
+鎹�	B
+鎺�	J
+鎺�	P
+鎹�	L
+鎺�	Q
+鎺�	G
+鎻�	D
+鎻�	Z
+鎻�	Y
+鎻�	Q
+鎻�	Y
+鎻�	A
+鎻�	X
+鎽�	B
+鎻�	K
+鎺�	Y
+鎽�	S
+鎽�	E
+鎼�	C
+鎼�	J
+鎼�	S
+鎼�	Z
+鎼�	N
+鎼�	S
+鎽�	L
+鎾�	Y
+鎽�	Z
+鎾�	H
+閫�	Z
+閫�	W
+閫�	L
+閫�	S
+閫�	H
+閫�	G
+閫�	L
+閫�	B
+閫�	C
+閫�	Z
+閫�	P
+閫�	Y
+閫�	Z
+閫�	J
+閫�	Y
+閫�	C
+閫�	T
+閫�	T
+閫�	Y
+閫�	N
+閫�	T
+閬�	S
+閬�	Y
+閬�	C
+閬�	T
+閬�	S
+閬�	Z
+閬�	Y
+閬�	Y
+閬�	E
+閬�	H
+閬�	T
+閬�	W
+閬�	N
+閬�	Y
+閬�	C
+閬�	X
+閬�	T
+閬�	S
+閬�	Z
+閬�	Y
+閬�	S
+閬�	M
+閬�	G
+閬�	Z
+閬�	Z
+閬�	C
+閬�	C
+閬�	S
+閬�	D
+閬�	S
+閬�	L
+閬�	Z
+閬�	C
+閬�	R
+閬�	Q
+閬�	X
+閬�	Y
+閬�	Y
+閬�	E
+閬�	L
+閬�	S
+閭�	M
+閭�	X
+閭�	Z
+閭�	T
+閭�	E
+閭�	B
+閭�	B
+閭�	L
+閭�	Y
+閭�	Y
+閭�	L
+閭�	L
+閭�	T
+閭�	Q
+閭�	S
+閭�	Y
+閭�	R
+閭�	W
+閭�	F
+閭�	K
+閭�	B
+閭�	X
+閭�	S
+閭�	Y
+閭�	C
+閭�	H
+閭�	B
+閭�	J
+閭�	B
+閭�	W
+閭�	K
+閭�	G
+閭�	S
+閮�	K
+鎽�	Z
+鎾�	X
+鎾�	L
+鎾�	Z
+鎾�	C
+鎿�	G
+鎿�	H
+鎿�	P
+鎿�	X
+鎿�	Z
+鏀�	H
+鏀�	Z
+鏀�	N
+寮�	Y
+蹇�	T
+鐢�	D
+寮�	S
+鍗�	B
+鍙�	C
+鍙�	J
+鍙�	K
+鍙�	D
+鍙�	L
+鍚�	Z
+鍚�	A
+鍚�	Y
+鍛�	F
+鍛�	M
+鍛�	Y
+鍛�	T
+鍛�	L
+鍛�	E
+鍚�	B
+鍛�	B
+鍛�	G
+鍚�	Q
+鍚�	Y
+鍜�	Z
+鍜�	K
+鍛�	G
+鍛�	G
+鍛�	L
+鍜�	D
+鍜�	N
+鍜�	D
+鍛�	N
+鍛�	Y
+鍜�	S
+鍝�	K
+鍜�	J
+鍝�	S
+鍜�	H
+鍝�	D
+鍜�	L
+鍜�	Y
+鍝�	X
+鍝�	B
+鍛�	C
+鍜�	G
+鍝�	H
+鍜�	X
+鍜�	Y
+鍝�	P
+鍝�	K
+鍝�	D
+鍝�	J
+鍜�	M
+鍜�	M
+鍜�	Z
+鍝�	N
+鍝�	G
+鍝�	M
+鍞�	M
+鍝�	C
+鍞�	L
+鍝�	G
+鍞�	E
+鍝�	Z
+鍞�	S
+鍞�	Z
+鍞�	X
+鍞�	Z
+鍞�	J
+鍞�	F
+鍟�	Z
+鍠�	N
+鍠�	M
+鍟�	L
+鍟�	Z
+鍟�	Z
+鍟�	T
+鍞�	H
+鍟�	C
+鍞�	S
+閮�	H
+閮�	X
+閮�	J
+閮�	H
+閮�	X
+閮�	X
+閮�	G
+閮�	N
+閮�	L
+閮�	Y
+閮�	C
+閮�	D
+閮�	L
+閮�	F
+閮�	Y
+閮�	L
+閮�	J
+閮�	G
+閮�	B
+閮�	X
+閮�	Q
+閮�	X
+閮�	Q
+閮�	Q
+閮�	Z
+閮�	Z
+閮�	P
+閮�	L
+閮�	N
+閮�	Y
+閮�	P
+閮�	X
+閮�	J
+閮�	Y
+閮�	Q
+閮�	Y
+閮�	M
+閯�	R
+閯�	B
+閯�	S
+閯�	Y
+閯�	Y
+閯�	H
+閯�	K
+閯�	X
+閯�	X
+閯�	S
+閯�	T
+閯�	M
+閯�	X
+閯�	R
+閯�	C
+閯�	Z
+閯�	Z
+閯�	Y
+閯�	W
+閯�	X
+閯�	Y
+閯�	Q
+閯�	Y
+閯�	M
+閯�	C
+閯�	F
+閯�	L
+閯�	Z
+閯�	H
+閯�	Q
+閯�	W
+閯�	Q
+閯�	X
+閯�	D
+閯�	B
+閯�	X
+閯�	B
+閯�	Z
+閯�	W
+閯�	Z
+閯�	M
+閯�	L
+閯�	D
+閯�	M
+閯�	Y
+閯�	S
+閯�	K
+閯�	F
+閯�	M
+閯�	K
+閯�	L
+閯�	Z
+閯�	C
+閯�	Y
+閯�	Q
+閰�	Y
+閰�	C
+閰�	Z
+閰�	Q
+鍞�	Y
+鍟�	D
+鍟�	B
+鍟�	D
+鍟�	L
+鍞�	L
+鍞�	S
+鍟�	C
+鍠�	Z
+鍡�	D
+鍠�	N
+鍠�	L
+鍠�	K
+鍠�	J
+鍠�	Y
+鍠�	K
+鍟�	J
+鍡�	S
+鍠�	Y
+鍟�	C
+鍡�	J
+鍠�	L
+鍠�	K
+鍠�	W
+鍠�	H
+鍡�	Q
+鍡�	A
+鍡�	S
+鍢�	D
+鍡�	K
+鍡�	N
+鍡�	H
+鍡�	C
+鍡�	S
+鍡�	G
+鍡�	G
+鍡�	E
+鍡�	H
+鍡�	D
+鍡�	A
+鍡�	A
+鍡�	S
+鍡�	H
+鍡�	T
+鍡�	C
+杈�	P
+鍢�	L
+鍢�	C
+鍢�	P
+鍢�	Q
+鍢�	Y
+鍢�	B
+鍡�	S
+鍢�	D
+鍢�	M
+鍢�	P
+鍣�	J
+鍢�	L
+鍣�	P
+鍢�	C
+鍣�	J
+鍣�	O
+鍣�	Q
+鍣�	L
+鍣�	C
+鍣�	D
+鍤�	H
+鍣�	J
+鍣�	X
+鍣�	Y
+鍣�	S
+鍣�	P
+鍤�	R
+鍤�	C
+鍤�	H
+鍥�	N
+鍥�	W
+鍥�	J
+鍥�	N
+鍥�	L
+鍥�	H
+鍥�	L
+鍥�	Y
+鍦�	Y
+鍦�	Q
+鍦�	Y
+鍦�	H
+甯�	W
+甯�	Z
+甯�	P
+甯�	T
+甯�	C
+甯�	Z
+甯�	G
+閰�	X
+閰�	Z
+閰�	Z
+閰�	Y
+閰�	Y
+閰�	Z
+閰�	M
+閰�	Z
+閰�	D
+閰�	Z
+閰�	Y
+閰�	F
+閰�	T
+閰�	Q
+閰�	P
+閰�	C
+閰�	Z
+閰�	C
+閰�	Y
+閰�	Y
+閰�	P
+閰�	Z
+閰�	H
+閱�	Z
+閱�	L
+閱�	L
+閱�	Y
+閱�	T
+閱�	Z
+閱�	T
+閱�	Z
+閱�	X
+閱�	D
+閱�	T
+閱�	Q
+閱�	C
+閱�	Y
+閱�	F
+閱�	K
+閱�	S
+閱�	C
+閱�	C
+閱�	Y
+閱�	Y
+閱�	A
+閱�	Z
+閱�	J
+閱�	P
+閱�	C
+閱�	Y
+閱�	L
+閱�	Z
+閱�	Y
+閱�	J
+閱�	T
+閱�	P
+閱�	N
+閱�	Y
+閱�	Y
+閱�	Y
+閱�	N
+閱�	R
+閱�	S
+閱�	Y
+閱�	L
+閱�	M
+閱�	M
+閲�	N
+閲�	X
+閲�	J
+閲�	S
+閲�	M
+閲�	Y
+閲�	B
+閲�	S
+閲�	Y
+閲�	X
+閲�	J
+閲�	Q
+閲�	Y
+閲�	L
+閲�	D
+閲�	Z
+閲�	L
+閲�	P
+閲�	Q
+閲�	B
+閲�	Z
+閲�	Z
+閲�	B
+閲�	L
+閲�	F
+閲�	N
+閲�	D
+閲�	X
+閲�	Q
+甯�	W
+骞�	W
+骞�	M
+骞�	Z
+骞�	F
+骞�	F
+宀�	J
+灞�	Q
+宀�	Q
+宀�	Q
+宀�	Q
+宀�	Y
+宀�	X
+宀�	A
+宀�	C
+宀�	L
+宀�	B
+宀�	H
+宀�	K
+宀�	D
+宀�	J
+宀�	X
+宀�	D
+宀�	G
+宄�	M
+宀�	M
+宄�	Y
+宄�	D
+宄�	J
+宄�	X
+宄�	Z
+宕�	L
+宕�	L
+宕�	S
+宕�	Y
+宕�	G
+宕�	X
+宕�	G
+宕�	K
+宕�	J
+宓�	R
+宕�	Y
+宕�	W
+宕�	Z
+宓�	W
+宓�	Y
+宓�	C
+宓�	L
+宓�	Z
+宓�	M
+宓�	S
+宓�	S
+宓�	J
+宥�	Z
+宥�	L
+宥�	D
+璞�	B
+宥�	Y
+宸�	D
+褰�	C
+褰�	F
+寰�	C
+寰�	X
+寰�	Y
+寰�	H
+寰�	L
+寰�	X
+寰�	C
+寰�	H
+寰�	Y
+寰�	Z
+寰�	J
+琛�	Q
+褰�	S
+鐘�	F
+鐘�	Q
+鐘�	A
+鐘�	G
+鐘�	M
+鐙�	N
+鐙�	Y
+鐙�	X
+鐙�	P
+鐙�	F
+鐙�	R
+鐙�	K
+鐙�	S
+鐙�	S
+鐙�	B
+鐙�	J
+鐚�	L
+鐙�	Y
+鐚�	X
+鐙�	Y
+閲�	K
+閲�	C
+閲�	Z
+閲�	F
+閲�	Y
+閲�	W
+閲�	H
+閲�	G
+閲�	Q
+閲�	M
+閲�	R
+閲�	D
+閲�	S
+閲�	X
+閲�	Y
+閲�	C
+閲�	Y
+閲�	T
+閲�	X
+閲�	N
+閲�	Q
+閲�	Q
+閲�	J
+閲�	Z
+閲�	Y
+閲�	Y
+閳�	P
+閳�	F
+閳�	Z
+閳�	X
+閳�	D
+閳�	Y
+閳�	Z
+閳�	F
+閳�	P
+閳�	R
+閳�	X
+閳�	E
+閳�	J
+閳�	D
+閳�	G
+閳�	Y
+閳�	Q
+閳�	B
+閳�	X
+閳�	R
+閳�	C
+閳�	N
+閳�	F
+閳�	Y
+閳�	Y
+閳�	Q
+閳�	P
+閳�	G
+閳�	H
+閳�	Y
+閳�	J
+閳�	D
+閳�	Y
+閳�	Z
+閳�	X
+閳�	G
+閳�	R
+閳�	H
+閳�	T
+閳�	K
+閳�	Y
+閳�	L
+閳�	N
+閳�	W
+閳�	D
+閳�	Z
+閳�	N
+閳�	T
+閳�	S
+閳�	M
+閳�	P
+閳�	K
+閳�	L
+閳�	B
+閳�	T
+閳�	H
+閳�	B
+閳�	P
+閳�	Y
+閳�	S
+閳�	Z
+閳�	B
+閳�	Z
+閳�	T
+閴�	J
+閴�	Z
+閴�	S
+閴�	Z
+閴�	Z
+閴�	J
+鐙�	S
+鐚�	Y
+鐚�	G
+鐚�	L
+鐚�	N
+鐚�	S
+鐚�	C
+鐚�	M
+鐚�	H
+鐚�	Z
+鐚�	W
+鐚�	W
+鐚�	M
+鐚�	N
+鐛�	Z
+鐛�	J
+鐛�	J
+鐛�	L
+鐛�	X
+鐛�	X
+鐛�	H
+鑸�	C
+澶�	H
+椋�	S
+澶�	Y
+澶�	D
+楗�	S
+楗�	T
+楗�	T
+楗�	X
+楗�	R
+楗�	Y
+楗�	C
+楗�	Y
+楗�	X
+楗�	B
+棣�	Y
+棣�	H
+棣�	C
+棣�	S
+棣�	M
+棣�	X
+棣�	J
+棣�	S
+棣�	Z
+棣�	N
+搴�	P
+搴�	W
+搴�	G
+搴�	P
+搴�	X
+搴�	X
+搴�	T
+搴�	A
+搴�	Y
+搴�	B
+璧�	G
+寤�	A
+寤�	J
+寤�	C
+寤�	X
+寤�	L
+鑶�	Y
+蹇�	S
+蹇�	D
+蹇�	C
+蹇�	C
+鎬�	W
+蹇�	Z
+鎬�	O
+蹇�	C
+蹇�	W
+蹇�	K
+鎬�	C
+鎬�	C
+蹇�	S
+蹇�	B
+蹇�	N
+鎬�	H
+鎬�	C
+鎬�	P
+鎬�	D
+鎬�	Y
+鎬�	Z
+鎬�	N
+鎬�	F
+鎬�	C
+鎬�	Y
+鎬�	Y
+鎭�	T
+鎭�	Y
+鎭�	C
+鎭�	K
+鎭�	X
+閴�	T
+閴�	Y
+閴�	Y
+閴�	X
+閴�	Z
+閴�	P
+閴�	H
+閴�	S
+閴�	S
+閴�	Z
+閴�	Z
+閴�	B
+閴�	Z
+閴�	C
+閴�	Z
+閴�	P
+閴�	T
+閴�	Q
+閴�	F
+閴�	Z
+閴�	M
+閴�	Y
+閴�	F
+閴�	L
+閴�	Y
+閴�	P
+閴�	Y
+閴�	B
+閴�	B
+閴�	J
+閴�	Q
+閴�	X
+閴�	Z
+閴�	M
+閴�	X
+閴�	X
+閴�	D
+閴�	J
+閴�	M
+閴�	T
+閴�	S
+閴�	Y
+閴�	S
+閴�	K
+閴�	K
+閴�	B
+閴�	Z
+閴�	X
+閴�	H
+閴�	J
+閴�	C
+閴�	K
+閴�	L
+閴�	P
+閴�	S
+閴�	M
+閴�	K
+閵�	Y
+閵�	J
+閵�	Z
+閵�	C
+閵�	X
+閵�	T
+閵�	M
+閵�	L
+閵�	J
+閵�	Y
+閵�	X
+閵�	R
+閵�	Z
+閵�	Z
+閵�	S
+閵�	L
+閵�	X
+閵�	X
+閵�	Q
+閵�	P
+閵�	Y
+閵�	Z
+閵�	X
+閵�	M
+閵�	K
+閵�	Y
+閵�	X
+閵�	X
+閵�	X
+閵�	J
+閵�	C
+閵�	L
+閵�	J
+閵�	P
+閵�	R
+閵�	M
+閵�	Y
+閵�	Y
+閵�	G
+鎭�	K
+鎭�	Y
+鎮�	B
+鎮�	S
+鎮�	Q
+鎮�	K
+鎮�	K
+鎮�	Y
+鎮�	T
+鎮�	Q
+鎯�	Q
+鎮�	X
+鎮�	F
+鎯�	C
+鎯�	W
+鎯�	C
+鎯�	H
+鎮�	C
+鎰�	Y
+鎰�	K
+鎰�	E
+鎰�	L
+鎯�	Z
+鎰�	Q
+鎰�	B
+鎰�	S
+鎱�	Q
+鎱�	Y
+鎲�	J
+鎲�	Q
+鎲�	C
+鎲�	C
+鎳�	L
+鎳�	M
+蹇�	T
+闅�	H
+闂�	S
+闂�	Y
+闂�	W
+闂�	H
+闂�	M
+闂�	K
+闂�	T
+闂�	L
+闃�	K
+闃�	J
+闃�	L
+闃�	Y
+闃�	C
+闃�	X
+闃�	W
+闃�	H
+闃�	E
+闃�	Q
+闃�	Q
+闃�	H
+闃�	T
+闃�	Q
+闃�	K
+涓�	Z
+鐖�	P
+鎴�	Q
+姘�	S
+姹�	Q
+姹�	S
+姹�	C
+娌�	F
+娌�	Y
+娌�	M
+娌�	M
+娌�	D
+姹�	M
+姹�	G
+姹�	B
+姹�	W
+娌�	H
+娌�	W
+娉�	L
+娉�	G
+娌�	S
+娉�	L
+娉�	L
+娉�	Y
+娉�	S
+娌�	D
+娉�	L
+娉�	M
+娉�	L
+娉�	X
+娉�	P
+娌�	T
+娉�	H
+娉�	M
+娉�	J
+閵�	A
+閵�	D
+閵�	Y
+閵�	S
+閵�	K
+閵�	Q
+閵�	S
+閵�	N
+閵�	D
+閵�	H
+閵�	Y
+閵�	Z
+閵�	K
+閵�	Q
+閵�	X
+閵�	Z
+閵�	Y
+閵�	Z
+閵�	T
+閵�	C
+閵�	G
+閵�	H
+閵�	Z
+閶�	T
+閶�	L
+閶�	M
+閶�	L
+閶�	W
+閶�	Z
+閶�	Y
+閶�	B
+閶�	S
+閶�	Y
+閶�	C
+閶�	T
+閶�	B
+閶�	H
+閶�	J
+閶�	H
+閶�	J
+閶�	F
+閶�	C
+閶�	W
+閶�	Z
+閶�	T
+閶�	X
+閶�	W
+閶�	Y
+閶�	T
+閶�	K
+閶�	Z
+閶�	L
+閶�	X
+閶�	Q
+閶�	S
+閶�	H
+閶�	L
+閶�	Y
+閶�	J
+閶�	Z
+閶�	J
+閶�	X
+閶�	T
+閶�	M
+閶�	P
+閶�	L
+閶�	P
+閶�	Y
+閶�	C
+閶�	G
+閶�	L
+閶�	T
+閶�	B
+閶�	Z
+閶�	Z
+閶�	T
+閶�	L
+閶�	Z
+閶�	J
+閶�	C
+閶�	Y
+閶�	J
+閶�	G
+閶�	D
+閶�	T
+閶�	C
+閷�	L
+閷�	K
+閷�	L
+閷�	P
+閷�	L
+閷�	L
+閷�	Q
+閷�	P
+閷�	J
+閷�	M
+娲�	H
+娲�	W
+娲�	L
+娴�	J
+娴�	Z
+娲�	Y
+娲�	H
+娲�	Z
+娲�	J
+娲�	X
+娴�	H
+娲�	T
+娲�	X
+娲�	J
+娴�	L
+娴�	H
+娴�	X
+娲�	R
+娑�	S
+娴�	W
+娑�	L
+娑�	W
+娴�	Z
+娑�	J
+娑�	C
+娴�	B
+娴�	X
+娴�	M
+娴�	H
+娓�	Z
+娣�	Q
+娣�	X
+娣�	S
+娓�	D
+娑�	Z
+娣�	P
+娓�	M
+娣�	G
+娣�	F
+娣�	C
+娓�	S
+娑�	G
+娓�	L
+娑�	S
+娓�	X
+婀�	Y
+婀�	M
+婀�	Q
+婧�	S
+婀�	H
+婧�	X
+婀�	P
+婀�	J
+娓�	X
+娓�	W
+婀�	M
+婊�	Y
+婧�	Q
+婧�	K
+婊�	S
+婕�	M
+婊�	Y
+婧�	P
+婧�	L
+婧�	R
+婧�	T
+婧�	H
+婊�	B
+婧�	X
+婊�	F
+婧�	T
+婊�	P
+婧�	M
+娼�	H
+娼�	Y
+娼�	X
+婕�	L
+婕�	C
+婊�	H
+婕�	L
+婕�	H
+娼�	L
+娼�	Z
+婕�	Y
+婕�	L
+婕�	X
+婢�	G
+婢�	S
+婢�	S
+娼�	S
+娼�	S
+娼�	T
+娼�	C
+婵�	L
+閷�	Z
+閷�	P
+閷�	A
+閷�	P
+閷�	X
+閷�	Y
+閷�	Z
+閷�	L
+閷�	K
+閷�	K
+閷�	T
+閷�	K
+閷�	D
+閷�	Z
+閷�	C
+閷�	Z
+閷�	Z
+閷�	B
+閷�	N
+閷�	Z
+閷�	D
+閷�	Y
+閷�	D
+閷�	Y
+閷�	Q
+閷�	Z
+閷�	J
+閷�	Y
+閷�	J
+閷�	G
+閷�	M
+閷�	C
+閷�	T
+閷�	X
+閷�	L
+閷�	T
+閷�	G
+閷�	X
+閷�	S
+閷�	Z
+閷�	L
+閷�	M
+閷�	L
+閷�	H
+閷�	B
+閷�	G
+閷�	L
+閷�	K
+閷�	F
+閷�	W
+閷�	N
+閷�	W
+閷�	H
+閸�	D
+閸�	X
+閸�	U
+閸�	H
+閸�	L
+閸�	F
+閸�	M
+閸�	K
+閸�	Y
+閸�	S
+閸�	L
+閸�	G
+閸�	X
+閸�	D
+閸�	T
+閸�	W
+閸�	W
+閸�	F
+閸�	R
+閸�	J
+閸�	E
+閸�	J
+閸�	Z
+閸�	T
+閸�	Z
+閸�	H
+閸�	Y
+閸�	D
+閸�	X
+閸�	Y
+閸�	K
+閸�	S
+閸�	H
+閸�	W
+閸�	F
+閸�	Z
+閸�	C
+閸�	Q
+閸�	S
+閸�	H
+閸�	K
+閸�	T
+閸�	Q
+婵�	S
+婢�	L
+婢�	D
+婢�	C
+婵�	L
+婵�	R
+婵�	P
+婵�	B
+婵�	H
+婵�	Z
+鐎�	H
+鐎�	X
+鐎�	Y
+鐎�	Y
+鐎�	F
+鐏�	H
+鐏�	B
+瀹�	B
+瀹�	G
+瀹�	D
+瀹�	M
+瀹�	Y
+瀹�	C
+鐢�	N
+楠�	Q
+鎼�	Q
+瀵�	W
+瀵�	L
+瑜�	Q
+瀵�	H
+韫�	J
+璎�	J
+杈�	Z
+杩�	Y
+杩�	W
+杩�	J
+杩�	Z
+杩�	Y
+杩�	E
+杩�	J
+杩�	J
+杩�	D
+閫�	H
+閫�	P
+閫�	B
+閫�	L
+閫�	Q
+閫�	X
+閫�	T
+閫�	Q
+閫�	K
+閫�	W
+閫�	H
+閫�	L
+閬�	C
+閬�	H
+閬�	Q
+閬�	X
+閬�	A
+閬�	G
+閬�	T
+閬�	L
+鏆�	X
+閬�	L
+閬�	J
+閭�	X
+閭�	M
+閭�	S
+閭�	L
+褰�	X
+褰�	H
+褰�	T
+褰�	Z
+灏�	K
+鍜�	Z
+灞�	J
+灞�	E
+瀛�	C
+灞�	X
+灞�	J
+缇�	C
+寮�	J
+寮�	N
+寮�	M
+鑹�	F
+寮�	B
+楝�	Y
+灞�	C
+濡�	S
+濡�	F
+濡�	Y
+濡�	W
+濡�	Y
+濡�	B
+閸�	Q
+閸�	H
+閸�	T
+閸�	Z
+閸�	H
+閸�	Y
+閸�	M
+閸�	J
+閸�	D
+閸�	J
+閸�	S
+閸�	K
+閸�	H
+閸�	X
+閸�	Z
+閸�	J
+閸�	Z
+閸�	B
+閸�	Z
+閸�	Z
+閹�	X
+閹�	Y
+閹�	M
+閹�	P
+閹�	A
+閹�	G
+閹�	Q
+閹�	M
+閹�	S
+閹�	T
+閹�	P
+閹�	X
+閹�	L
+閹�	S
+閹�	K
+閹�	Z
+閹�	Y
+閹�	N
+閹�	W
+閹�	R
+閹�	T
+閹�	S
+閹�	Q
+閹�	L
+閹�	S
+閹�	Z
+閹�	B
+閹�	P
+閹�	S
+閹�	B
+閹�	S
+閹�	G
+閹�	Z
+閹�	W
+閹�	Y
+閹�	H
+閹�	T
+閹�	L
+閹�	K
+閹�	S
+閹�	S
+閹�	S
+閹�	W
+閹�	H
+閹�	Z
+閹�	Z
+閹�	L
+閹�	Y
+閹�	Y
+閹�	T
+閹�	N
+閹�	X
+閹�	J
+閹�	G
+閹�	M
+閹�	J
+閹�	S
+閹�	Z
+閹�	S
+閹�	U
+閹�	F
+閹�	W
+閹�	N
+閺�	L
+閺�	S
+閺�	O
+閺�	Z
+閺�	T
+閺�	X
+閺�	G
+閺�	X
+閺�	L
+閺�	S
+閺�	M
+閺�	M
+閺�	L
+濡�	J
+濮�	Z
+濡�	G
+濡�	N
+濡�	Y
+濮�	S
+濡�	D
+濡�	Z
+濮�	S
+濡�	Q
+濞�	Y
+濞�	R
+濮�	S
+濞�	L
+濮�	J
+濮�	P
+濮�	C
+濞�	L
+濞�	P
+濞�	W
+濞�	X
+濞�	S
+濞�	D
+濞�	W
+濠�	E
+濠�	J
+濠�	B
+濠�	J
+濞�	C
+濠�	B
+濠�	C
+鑳�	N
+濯�	A
+濯�	Y
+濠�	T
+濠�	W
+濯�	G
+瀚�	M
+濯�	P
+瀚�	A
+瀚�	P
+濯�	C
+瀚�	L
+瀚�	Y
+瀚�	Q
+瀚�	P
+瀚�	C
+瀚�	L
+瀚�	Z
+瀣�	X
+瀣�	S
+瀣�	B
+瀣�	N
+瀣�	M
+瀛�	S
+灏�	G
+灏�	G
+瀛�	F
+瀛�	N
+瀛�	Z
+瀛�	J
+瀛�	J
+瀛�	B
+椹�	Z
+椹�	S
+椹�	F
+椹�	Z
+椹�	Y
+椹�	N
+楠�	T
+楠�	X
+楠�	H
+楠�	P
+楠�	L
+楠�	Q
+楠�	K
+楠�	Z
+楠�	C
+楠�	Z
+楠�	W
+楠�	A
+楠�	L
+楠�	S
+楠�	B
+楠�	C
+楠�	C
+楠�	J
+楠�	X
+绾�	J
+绾�	Y
+绾�	Z
+绾�	G
+绾�	W
+绾�	K
+閺�	B
+閺�	W
+閺�	L
+閺�	D
+閺�	S
+閺�	Z
+閺�	Y
+閺�	L
+閺�	K
+閺�	Q
+閺�	C
+閺�	Q
+閺�	C
+閺�	T
+閺�	M
+閺�	Y
+閺�	C
+閺�	F
+閺�	J
+閺�	B
+閺�	S
+閺�	L
+閺�	X
+閺�	C
+閺�	L
+閺�	Z
+閺�	Z
+閺�	C
+閺�	L
+閺�	X
+閺�	X
+閺�	K
+閺�	S
+閺�	B
+閺�	Z
+閺�	Q
+閺�	C
+閺�	L
+閺�	H
+閺�	J
+閺�	P
+閺�	S
+閺�	Q
+閺�	P
+閺�	L
+閺�	S
+閺�	X
+閺�	X
+閺�	C
+閻�	K
+閻�	S
+閻�	L
+閻�	N
+閻�	H
+閻�	P
+閻�	S
+閻�	F
+閻�	Q
+閻�	Q
+閻�	Y
+閻�	T
+閻�	X
+閻�	Y
+閻�	J
+閻�	Z
+閻�	L
+閻�	Q
+閻�	L
+閻�	D
+閻�	X
+閻�	Z
+閻�	Q
+閻�	J
+閻�	Z
+閻�	D
+閻�	Y
+閻�	Y
+閻�	D
+閻�	J
+閻�	N
+閻�	Z
+閻�	P
+閻�	T
+閻�	U
+閻�	Z
+閻�	D
+閻�	S
+閻�	K
+閻�	J
+閻�	F
+閻�	S
+閻�	L
+閻�	J
+閻�	H
+閻�	Y
+閻�	L
+绾�	Y
+绾�	P
+绾�	S
+缁�	G
+缁�	X
+缁�	F
+缁�	Z
+缁�	F
+缁�	C
+缁�	D
+缁�	K
+缁�	H
+缁�	J
+缁�	G
+缁�	X
+缁�	T
+缁�	L
+缁�	Q
+缁�	F
+缁�	S
+缁�	G
+缂�	D
+缁�	S
+缁�	L
+缁�	Q
+缁�	W
+缂�	Z
+缂�	K
+缂�	X
+缂�	T
+缂�	M
+缂�	H
+缂�	S
+缂�	B
+缂�	G
+缂�	Z
+缂�	M
+缂�	J
+缂�	Z
+缂�	R
+缂�	G
+缂�	L
+缂�	Y
+缂�	J
+缂�	B
+缂�	P
+缂�	M
+缂�	L
+缂�	M
+缂�	S
+缂�	X
+缂�	L
+缂�	Z
+缂�	J
+缂�	Q
+缂�	Q
+缂�	H
+缂�	Z
+骞�	Y
+鐣�	J
+宸�	C
+鐢�	Z
+閭�	Y
+鐜�	D
+鐜�	J
+鐜�	W
+鐜�	F
+鐜�	M
+鐝�	J
+鐝�	K
+鐝�	L
+鐜�	D
+鐜�	D
+鐝�	P
+鐝�	M
+鐝�	J
+鐝�	E
+鐝�	G
+椤�	X
+鐞�	Y
+鐝�	H
+鐝�	Y
+鐝�	L
+鐜�	X
+鐝�	H
+鐞�	L
+鐞�	Q
+鐟�	Y
+鐞�	Q
+鐞�	H
+鐞�	K
+鐞�	Y
+鐞�	C
+鐞�	W
+閻�	Z
+閻�	S
+閻�	Q
+閻�	Z
+閻�	L
+閻�	B
+閻�	T
+閻�	X
+閻�	Y
+閻�	D
+閻�	G
+閻�	T
+閻�	Q
+閻�	F
+閻�	D
+閻�	Y
+閼�	A
+閼�	Z
+閼�	X
+閼�	D
+閼�	Z
+閼�	H
+閼�	Z
+閼�	J
+閼�	N
+閼�	H
+閼�	H
+閼�	Q
+閼�	B
+閼�	Y
+閼�	K
+閼�	N
+閼�	X
+閼�	J
+閼�	J
+閼�	Q
+閼�	C
+閼�	Z
+閼�	M
+閼�	L
+閼�	L
+閼�	J
+閼�	Z
+閼�	K
+閼�	S
+閼�	P
+閼�	L
+閼�	D
+閼�	Y
+閼�	C
+閼�	L
+閼�	B
+閼�	B
+閼�	L
+閼�	X
+閼�	K
+閼�	L
+閼�	E
+閼�	L
+閼�	J
+閼�	L
+閼�	B
+閼�	Q
+閼�	Y
+閼�	C
+閼�	X
+閼�	J
+閼�	X
+閼�	G
+閼�	C
+閼�	N
+閼�	L
+閼�	C
+閼�	Q
+閼�	P
+閼�	L
+閼�	Z
+閼�	L
+閼�	Z
+閽�	Y
+閽�	J
+閽�	T
+閽�	Z
+閽�	L
+閽�	X
+閽�	Y
+閽�	X
+閾�	P
+閾�	X
+閾�	M
+閾�	Y
+閾�	Z
+閾�	X
+閾�	Y
+閿�	Y
+閿�	C
+鐞�	C
+鐞�	J
+鐟�	M
+鐟�	Y
+鐟�	Y
+鐟�	X
+鐟�	N
+鐟�	A
+鐟�	T
+鐟�	J
+鐠�	H
+鐠�	Y
+鐠�	C
+鐠�	C
+鐠�	X
+鐠�	Z
+鐠�	P
+鐠�	C
+鐠�	Q
+鐠�	L
+鐠�	B
+鐡�	Z
+鐠�	W
+闊�	W
+闊�	Y
+闊�	T
+鏉�	W
+鏉�	S
+鏉�	Q
+鏉�	C
+鏉�	M
+鏋�	L
+鏋�	P
+鏉�	M
+鏉�	Y
+鏋�	R
+鏋�	J
+鏉�	C
+鏋�	C
+鏋�	C
+鏋�	X
+鏋�	F
+鏉�	P
+鏉�	Z
+鏌�	N
+鏍�	Z
+鏌�	Z
+鏍�	L
+鏌�	J
+鏋�	P
+鏍�	L
+鏌�	X
+鏋�	X
+鏌�	Y
+鏋�	Z
+鏌�	T
+鏍�	Z
+鏌�	L
+鏋�	G
+鏌�	D
+鏍�	L
+鏌�	T
+鏌�	C
+鏍�	K
+鏍�	L
+妗�	Y
+妗�	R
+妗�	Z
+妗�	Z
+妗�	G
+妗�	Q
+姊�	T
+鏍�	K
+妗�	J
+妗�	H
+妗�	H
+妗�	G
+妗�	J
+鏍�	L
+妗�	J
+妗�	A
+鏍�	X
+姊�	F
+姊�	G
+妗�	F
+妗�	J
+姊�	Z
+妗�	S
+妫�	L
+妤�	C
+妫�	F
+妞�	D
+妞�	Q
+妫�	Z
+閿�	Z
+閿�	Y
+閿�	H
+闀�	Z
+闀�	B
+闀�	T
+闀�	R
+闀�	B
+闀�	L
+闀�	X
+闀�	L
+闀�	C
+闀�	Z
+闀�	Z
+闀�	J
+闀�	A
+闀�	D
+闀�	J
+闀�	L
+闀�	N
+闁�	M
+闁�	M
+闁�	S
+闁�	S
+闁�	S
+闁�	M
+闁�	Y
+闁�	B
+闁�	H
+闁�	B
+闁�	S
+闁�	Q
+闁�	K
+闁�	B
+闁�	H
+闁�	R
+闁�	S
+闁�	X
+闁�	X
+闁�	J
+闁�	M
+闁�	X
+闁�	S
+闁�	D
+闁�	Z
+闁�	N
+闁�	Z
+闁�	P
+闁�	X
+闁�	L
+闁�	G
+闁�	B
+闁�	R
+闁�	H
+闁�	W
+闁�	G
+闁�	G
+闁�	F
+闁�	C
+闁�	X
+闁�	G
+闁�	M
+闁�	S
+闁�	K
+闁�	L
+闁�	L
+闁�	T
+闁�	S
+闁�	J
+闁�	Y
+闁�	Y
+闁�	C
+闁�	Q
+闁�	L
+闁�	T
+闁�	S
+闁�	K
+闁�	Y
+闁�	W
+闁�	Y
+闁�	Y
+闁�	H
+闁�	Y
+闁�	W
+闂�	X
+闂�	B
+闂�	X
+闂�	Q
+闂�	Y
+闂�	W
+闂�	P
+闂�	Y
+闂�	W
+闂�	Y
+闂�	K
+闂�	Q
+妞�	L
+妫�	C
+妞�	L
+妞�	G
+妤�	J
+妫�	D
+妞�	J
+妤�	C
+妞�	S
+妤�	N
+妤�	Z
+妤�	L
+姒�	L
+妤�	J
+姒�	P
+姒�	J
+妤�	Q
+妞�	D
+妲�	C
+姒�	C
+姒�	L
+妲�	C
+姒�	J
+妤�	X
+妤�	M
+妤�	Y
+姒�	Z
+姒�	F
+姒�	T
+姒�	S
+姒�	X
+妲�	G
+姒�	C
+妲�	G
+妲�	S
+妲�	B
+姒�	R
+妲�	Z
+姒�	X
+妲�	J
+妯�	Q
+妲�	Q
+妯�	C
+妯�	T
+姗�	Z
+妲�	H
+姗�	G
+妯�	Y
+妾�	Q
+姗�	T
+姗�	J
+妯�	Q
+妾�	Q
+姗�	L
+妯�	Z
+妯�	X
+姗�	J
+姗�	Y
+妾�	L
+妾�	Y
+妾�	L
+妾�	B
+妾�	C
+鐚�	Y
+鐛�	A
+娈�	M
+娈�	C
+娈�	S
+娈�	T
+娈�	Y
+娈�	L
+娈�	P
+娈�	D
+娈�	J
+娈�	B
+娈�	Y
+杞�	R
+杞�	E
+杞�	G
+杞�	K
+杞�	L
+杞�	Z
+杞�	Y
+杞�	Z
+杞�	H
+杞�	L
+杞�	Y
+杞�	S
+杞�	Z
+杈�	Q
+杈�	L
+杈�	Z
+杈�	N
+杈�	W
+闂�	L
+闂�	S
+闂�	Q
+闂�	P
+闂�	T
+闂�	N
+闂�	T
+闂�	K
+闂�	H
+闂�	Q
+闂�	C
+闂�	W
+闂�	D
+闂�	Q
+闂�	K
+闂�	T
+闂�	W
+闂�	P
+闂�	X
+闂�	X
+闂�	H
+闂�	C
+闂�	P
+闂�	T
+闂�	H
+闂�	T
+闂�	W
+闂�	U
+闂�	H
+闂�	K
+闃�	S
+闃�	H
+闃�	T
+闃�	H
+闃�	L
+闃�	X
+闃�	Y
+闃�	Z
+闃�	Y
+闃�	Y
+闃�	D
+闃�	A
+闃�	S
+闃�	P
+闃�	K
+闃�	Y
+闃�	Z
+闃�	P
+闃�	C
+闃�	E
+闃�	Q
+闃�	D
+闃�	L
+闄�	Z
+闄�	B
+闄�	D
+闄�	S
+闄�	S
+闄�	E
+闄�	G
+闄�	Y
+闄�	J
+闄�	Q
+闄�	X
+闄�	C
+闄�	W
+闄�	X
+闄�	S
+闄�	S
+闄�	P
+闄�	Z
+闄�	X
+闄�	D
+闄�	P
+闄�	Y
+闄�	D
+闄�	L
+闄�	Y
+闄�	J
+闄�	Z
+闄�	L
+闄�	S
+闄�	X
+闄�	Y
+闄�	Z
+闄�	Y
+闄�	R
+闄�	X
+闅�	C
+闅�	Y
+闅�	Y
+闅�	Y
+闅�	D
+闅�	W
+闅�	N
+闅�	Z
+杈�	C
+杈�	Z
+杈�	C
+杈�	L
+杈�	L
+杌�	W
+鎴�	J
+鎴�	Q
+鎴�	J
+鎴�	J
+鎴�	J
+鎴�	K
+鎴�	D
+鎴�	G
+鎴�	J
+鑷�	Z
+鐡�	O
+鐡�	L
+鐡�	B
+鐢�	B
+鐢�	Z
+鐢�	P
+鏀�	P
+鏃�	G
+鏃�	L
+鏃�	G
+鏄�	H
+鏄�	T
+鏉�	G
+鏄�	Z
+鏄�	X
+鏄�	Y
+鐐�	G
+鏇�	H
+鏄�	Z
+鏄�	M
+鏄�	Y
+鏄�	C
+鏄�	N
+鑰�	Q
+鏅�	C
+鏅�	Y
+鏅�	C
+鏅�	Y
+鏅�	H
+鏅�	B
+鏅�	H
+鏅�	G
+鏆�	X
+鏆�	K
+鏆�	A
+鏆�	M
+鏆�	T
+鏇�	X
+鏇�	Y
+鏇�	X
+鏇�	N
+璐�	B
+璐�	S
+璐�	K
+璐�	Y
+璐�	Z
+璧�	Z
+璧�	G
+璧�	J
+璧�	Z
+璧�	L
+璧�	Q
+璧�	J
+璧�	D
+璧�	F
+瑙�	C
+瑙�	J
+瑙�	X
+瑙�	D
+瑙�	Y
+瑙�	G
+瑙�	J
+瑙�	Q
+鐗�	J
+鐘�	J
+鐗�	P
+鐗�	M
+鐗�	G
+鐗�	W
+鐗�	G
+鐘�	J
+鐘�	J
+鐘�	J
+鐘�	P
+鐘�	K
+鎸�	Q
+鎸�	S
+鎺�	B
+闅�	A
+闅�	J
+闅�	Q
+闅�	Y
+闅�	H
+闅�	Y
+闅�	W
+闅�	T
+闅�	J
+闅�	D
+闅�	A
+闅�	X
+闅�	Y
+闅�	S
+闅�	R
+闅�	L
+闅�	T
+闅�	D
+闅�	P
+闅�	S
+闅�	Y
+闅�	Y
+闅�	F
+闅�	N
+闅�	E
+闅�	J
+闅�	D
+闅�	Y
+闅�	Z
+闅�	L
+闅�	X
+闅�	L
+闅�	L
+闅�	Q
+闅�	Z
+闅�	Y
+闆�	Q
+闆�	Q
+闆�	H
+闆�	G
+闆�	Z
+闆�	H
+闆�	Z
+闆�	Y
+闆�	C
+闆�	S
+闆�	H
+闆�	W
+闆�	S
+闆�	H
+闆�	J
+闆�	Z
+闆�	Y
+闆�	J
+闆�	X
+闆�	L
+闆�	L
+闆�	N
+闆�	X
+闆�	Z
+闆�	J
+闆�	J
+闆�	N
+闆�	F
+闆�	X
+闆�	M
+闆�	F
+闆�	P
+闆�	Y
+闆�	C
+闆�	Y
+闆�	A
+闆�	W
+闆�	D
+闆�	D
+闆�	H
+闆�	D
+闇�	M
+闇�	C
+闇�	Z
+闇�	L
+闇�	Q
+闇�	Z
+闇�	H
+闇�	Z
+闇�	Y
+闇�	Z
+闇�	T
+闇�	L
+闇�	D
+闇�	Y
+闇�	W
+闇�	L
+闇�	L
+闇�	H
+闇�	Y
+鎼�	G
+鎿�	B
+鑰�	M
+姣�	M
+姣�	C
+姣�	J
+姣�	S
+姣�	S
+姘�	C
+姘�	L
+姘�	P
+姘�	Q
+姘�	P
+姘�	D
+姘�	X
+姘�	C
+姘�	D
+姘�	Y
+姘�	Y
+姘�	K
+姘�	Y
+鏀�	F
+鏁�	C
+鏁�	J
+鐗�	D
+鐗�	D
+鐗�	Y
+鐖�	Y
+铏�	G
+鍒�	Y
+鑲�	W
+鑲�	R
+鑲�	H
+鑲�	J
+鏈�	R
+鑲�	T
+鑲�	G
+鑲�	Z
+鑲�	N
+鑲�	Y
+鑲�	Q
+鑳�	L
+鑳�	D
+鑳�	K
+鑳�	L
+鑳�	J
+鑳�	S
+鑳�	Z
+鑳�	Z
+鑳�	G
+鑳�	Z
+鏈�	Q
+鑳�	Z
+鑳�	J
+鑳�	G
+鑳�	D
+鑳�	Y
+鑴�	K
+鑴�	S
+鑳�	H
+鑳�	P
+鏈�	Z
+鑴�	M
+璞�	T
+鑴�	L
+鑴�	C
+鑴�	P
+鑴�	W
+鑴�	N
+鑵�	J
+鑵�	Y
+鑵�	F
+鑵�	Y
+鑵�	Z
+鑵�	D
+鑵�	J
+鑵�	C
+鑵�	N
+鑵�	M
+鑵�	W
+鑵�	E
+鑵�	S
+濉�	C
+濯�	Y
+鑶�	G
+鑶�	L
+鑶�	B
+婊�	T
+鑶�	Z
+鑶�	C
+鑷�	G
+鏈�	M
+鑷�	S
+鑶�	S
+闇�	M
+闇�	M
+闇�	Y
+闇�	L
+闇�	M
+闇�	B
+闇�	W
+闇�	W
+闇�	K
+闇�	X
+闇�	Y
+闇�	D
+闇�	T
+闇�	Y
+闇�	L
+闇�	D
+闇�	J
+闇�	P
+闇�	Y
+闇�	W
+闇�	U
+闇�	X
+闇�	J
+闇�	W
+闈�	M
+闈�	L
+闈�	L
+闈�	S
+闈�	A
+闈�	F
+闈�	D
+闈�	L
+闈�	L
+闈�	Y
+闈�	F
+闈�	L
+闈�	B
+闈�	H
+闈�	H
+闈�	H
+闈�	B
+闈�	Q
+闈�	T
+闈�	Z
+闈�	C
+闈�	Q
+闈�	L
+闈�	J
+闈�	T
+闈�	F
+闈�	M
+闈�	B
+闈�	T
+闈�	H
+闈�	Y
+闈�	D
+闈�	C
+闈�	Q
+闈�	R
+闈�	D
+闈�	D
+闈�	W
+闈�	R
+闈�	Q
+闈�	N
+闈�	Y
+闈�	S
+闈�	N
+闈�	W
+闈�	Z
+闈�	B
+闈�	Y
+闈�	Y
+闉�	T
+闉�	B
+闉�	J
+闉�	H
+闉�	P
+闉�	B
+闉�	Y
+闉�	T
+闉�	T
+闉�	J
+闉�	A
+闉�	H
+闉�	G
+闉�	Q
+闉�	T
+闉�	Y
+闉�	S
+闉�	T
+闉�	X
+闉�	K
+闉�	B
+闉�	T
+闉�	Z
+鑷�	L
+鑶�	L
+娆�	Y
+娆�	X
+娆�	Y
+姝�	S
+姝�	X
+姝�	X
+椋�	B
+椋�	S
+椋�	J
+椋�	S
+椋�	B
+椋�	B
+娈�	S
+褰�	G
+姣�	G
+瑙�	H
+鏂�	F
+榻�	J
+鏂�	L
+鏂�	Y
+鏃�	P
+鏃�	M
+鏃�	Z
+鏃�	J
+鏃�	N
+鏃�	L
+鏃�	Y
+鐐�	Y
+鐐�	W
+鐐�	D
+鐐�	Q
+鐐�	S
+鐑�	H
+鐐�	Z
+鐐�	X
+鐐�	T
+鐑�	Y
+鐑�	Y
+鐒�	W
+鐒�	H
+鐒�	M
+鐒�	C
+鐒�	Y
+鐓�	H
+鐓�	Y
+鐓�	W
+鐓�	D
+鐓�	B
+鐓�	X
+鐓�	B
+鐓�	T
+鐔�	L
+鐔�	M
+鐔�	S
+鐔�	Y
+鐔�	Y
+鐕�	Y
+鐕�	F
+鐕�	S
+鐕�	X
+鐖�	J
+鐖�	C
+鐏�	S
+鐒�	T
+鐓�	X
+鐔�	X
+鎴�	L
+鎴�	H
+鎵�	J
+鎵�	H
+鎵�	F
+绀�	S
+绁�	S
+绁�	X
+绁�	Z
+绁�	Q
+绁�	H
+绁�	F
+绁�	Z
+绁�	M
+绁�	Z
+绁�	C
+绁�	Z
+绁�	T
+绁�	Q
+绂�	C
+绂�	X
+绂�	Z
+绂�	X
+绂�	R
+蹇�	T
+蹇�	T
+闉�	B
+闉�	K
+闉�	L
+闉�	Z
+闉�	B
+闉�	E
+闉�	Q
+闉�	Q
+闉�	S
+闉�	S
+闉�	M
+闉�	J
+闉�	D
+闉�	O
+闉�	T
+闉�	T
+闉�	X
+闉�	P
+闉�	G
+闉�	B
+闉�	K
+闉�	T
+闉�	L
+闉�	H
+闉�	Q
+闉�	X
+闉�	J
+闊�	J
+闊�	J
+闊�	C
+闊�	T
+闊�	H
+闊�	X
+闊�	Q
+闊�	D
+闊�	W
+闊�	J
+闊�	L
+闊�	W
+闊�	R
+闊�	F
+闊�	W
+闊�	Q
+闊�	G
+闊�	W
+闊�	S
+闊�	H
+闊�	C
+闊�	K
+闊�	R
+闊�	Y
+闊�	S
+闊�	W
+闊�	G
+闊�	F
+闊�	T
+闊�	G
+闊�	Y
+闊�	G
+闊�	B
+闊�	X
+闊�	S
+闊�	D
+闊�	W
+闊�	D
+闊�	F
+闊�	J
+闊�	X
+闊�	X
+闊�	X
+闊�	J
+闊�	Z
+闊�	L
+闊�	P
+闊�	Y
+闊�	Y
+闊�	Y
+闊�	P
+闊�	A
+闊�	Y
+闊�	X
+闋�	H
+闋�	Y
+闋�	D
+闋�	Q
+闋�	K
+闋�	X
+闋�	S
+闋�	H
+闋�	X
+闋�	Y
+闋�	X
+闋�	G
+闋�	S
+闋�	K
+闋�	Q
+鎬�	D
+鎭�	J
+鎭�	H
+鎭�	N
+鎭�	N
+鎭�	Y
+鎭�	Z
+鎮�	Q
+鎰�	Q
+鎰�	M
+鎱�	T
+鎲�	Q
+鎲�	D
+鎳�	M
+鎳�	M
+鎴�	G
+鑲�	Y
+鑱�	Y
+娌�	T
+娉�	X
+娣�	M
+鐭�	J
+鐭�	G
+鐮�	D
+鐮�	H
+鐮�	C
+鐮�	D
+鐮�	Y
+鏂�	Z
+鐮�	B
+鐮�	F
+鐮�	F
+鐮�	A
+鐮�	L
+鐮�	L
+鐮�	Z
+鐮�	T
+鐮�	D
+鐮�	L
+鐮�	T
+鐮�	F
+纭�	X
+纭�	M
+纭�	X
+纭�	Q
+鐮�	Z
+纭�	D
+纭�	N
+纭�	G
+纭�	W
+纰�	Q
+纰�	D
+纰�	B
+纰�	D
+纰�	C
+纰�	Z
+纰�	J
+纰�	D
+纰�	X
+纰�	B
+纾�	Z
+纾�	G
+纾�	S
+纾�	Q
+纾�	Q
+绀�	D
+纾�	D
+绀�	J
+绀�	C
+绀�	M
+绀�	B
+榫�	K
+榛�	Z
+榛�	F
+榛�	F
+鐩�	X
+鐪�	M
+鐪�	K
+鐩�	D
+鐪�	M
+鐪�	D
+鐪�	S
+鐪�	Y
+鐪�	Y
+鐪�	S
+鐪�	Z
+鐪�	C
+鐪�	M
+鐫�	L
+鐫�	J
+鐫�	D
+鐫�	S
+鐫�	Y
+鐫�	N
+闋�	H
+闋�	Y
+闋�	W
+闋�	F
+闋�	D
+闋�	D
+闋�	D
+闋�	P
+闋�	P
+闋�	L
+闋�	C
+闋�	J
+闋�	L
+闋�	Q
+闋�	Q
+闋�	E
+闋�	E
+闋�	W
+闋�	X
+闋�	K
+闋�	S
+闋�	Y
+闋�	Y
+闋�	K
+闋�	D
+闋�	Y
+闋�	P
+闋�	L
+闋�	T
+闋�	J
+闋�	T
+闋�	H
+闋�	K
+闋�	J
+闋�	L
+闋�	T
+闋�	C
+闋�	Y
+闋�	Y
+闋�	H
+闋�	H
+闋�	J
+闋�	T
+闋�	T
+闋�	P
+闋�	L
+闋�	T
+闋�	Z
+闋�	Z
+椤�	C
+椤�	D
+椤�	L
+椤�	T
+椤�	H
+椤�	Q
+椤�	K
+椤�	Z
+椤�	X
+椤�	Q
+椤�	Y
+椤�	S
+椤�	T
+椤�	E
+椤�	E
+椤�	Y
+椤�	W
+椤�	Y
+椤�	Y
+椤�	Z
+椤�	Y
+椤�	X
+椤�	X
+椤�	Y
+椤�	Y
+椤�	S
+椤�	T
+椤�	T
+椤�	J
+椤�	K
+椤�	L
+椤�	L
+椤�	P
+椤�	Z
+椤�	M
+椤�	C
+椤�	Y
+椤�	H
+椤�	Q
+椤�	G
+椤�	X
+椤�	Y
+椤�	H
+椤�	S
+椤�	R
+椤�	M
+椤�	B
+鐫�	S
+鐫�	B
+鐫�	R
+鐬�	S
+鐫�	K
+鐬�	M
+鐬�	K
+鐬�	M
+鐬�	P
+鐬�	C
+鐬�	K
+鐬�	L
+鐬�	G
+鐢�	D
+鐣�	B
+鐣�	Q
+鐣�	T
+鐣�	F
+鐣�	Z
+鐣�	S
+鐣�	W
+鐤�	T
+缃�	F
+缃�	G
+缃�	G
+瑭�	L
+缃�	Y
+缃�	P
+缃�	L
+缃�	L
+缇�	J
+缃�	Z
+鐩�	H
+鐩�	G
+锠�	J
+閽�	J
+閽�	G
+閽�	Y
+閽�	P
+閽�	Z
+閽�	L
+閽�	T
+閽�	C
+閽�	S
+閽�	M
+閽�	C
+閽�	N
+閽�	B
+閽�	T
+閽�	J
+閽�	B
+閽�	Q
+閽�	F
+閽�	K
+閽�	T
+閽�	H
+閽�	B
+閽�	Y
+閽�	Z
+閽�	G
+閽�	K
+閽�	P
+閽�	B
+閽�	B
+閽�	Y
+閽�	M
+閽�	T
+閽�	D
+閾�	S
+閾�	S
+閾�	X
+閾�	T
+閾�	B
+閾�	N
+閾�	P
+閾�	D
+閾�	K
+閾�	L
+閾�	E
+閾�	Y
+閾�	C
+閾�	J
+閾�	N
+閾�	Y
+閾�	C
+閾�	D
+閾�	Y
+閾�	K
+閾�	Z
+閾�	D
+閾�	D
+閾�	H
+閾�	Q
+閾�	H
+椤�	X
+椤�	P
+椤�	L
+椤�	L
+椤�	N
+椤�	Q
+棰�	T
+棰�	J
+棰�	P
+棰�	Y
+棰�	Y
+棰�	L
+棰�	F
+棰�	D
+棰�	G
+棰�	F
+棰�	X
+棰�	Z
+棰�	P
+棰�	S
+棰�	F
+棰�	T
+棰�	L
+棰�	J
+棰�	X
+棰�	X
+棰�	J
+棰�	B
+棰�	S
+棰�	W
+棰�	Y
+棰�	Y
+棰�	S
+棰�	K
+棰�	S
+棰�	F
+椋�	L
+椋�	X
+椋�	L
+椋�	P
+椋�	P
+椋�	L
+椋�	B
+椋�	B
+椋�	B
+椋�	L
+椋�	B
+椋�	S
+椋�	F
+椋�	X
+椋�	Y
+椋�	Z
+椋�	S
+椋�	Y
+椋�	L
+椋�	F
+椋�	F
+椋�	F
+椋�	S
+椋�	C
+椋�	J
+椋�	D
+椋�	S
+椋�	T
+椋�	Z
+椋�	Z
+椋�	R
+椋�	Y
+椋�	Y
+椋�	S
+椋�	Y
+椋�	F
+椋�	F
+椋�	S
+椋�	Y
+椋�	Z
+椋�	Y
+椋�	Z
+椋�	B
+椋�	J
+椋�	T
+椋�	B
+椋�	C
+椋�	T
+椋�	S
+椋�	B
+椋�	S
+椋�	D
+椁�	H
+椁�	R
+椁�	T
+椁�	J
+椁�	J
+椁�	B
+椁�	Y
+椁�	T
+閾�	S
+閾�	D
+閾�	Z
+閾�	S
+閾�	C
+閾�	T
+閾�	A
+閾�	R
+閾�	L
+閾�	L
+閾�	T
+閾�	K
+閿�	Z
+閿�	L
+閿�	G
+閿�	E
+閿�	C
+閿�	L
+閿�	L
+閿�	K
+閿�	J
+閿�	L
+閿�	Q
+閿�	J
+閿�	A
+閿�	Q
+閿�	N
+閿�	B
+閿�	D
+閿�	K
+閿�	K
+閿�	G
+閿�	H
+閿�	P
+閿�	J
+閿�	T
+閿�	Z
+閿�	Q
+閿�	K
+閿�	S
+閿�	E
+閿�	C
+閿�	S
+閿�	H
+閿�	A
+闀�	L
+閿�	Q
+闀�	F
+闀�	M
+闀�	M
+闀�	G
+闀�	J
+闀�	N
+闀�	L
+闀�	Y
+闀�	J
+闀�	B
+闀�	B
+闀�	T
+闀�	M
+闀�	L
+闀�	Y
+闀�	Z
+闀�	X
+闀�	D
+闀�	C
+闀�	J
+闀�	P
+闀�	L
+闀�	D
+闀�	L
+闀�	P
+闀�	C
+闀�	Q
+闀�	D
+闀�	H
+闀�	Z
+闀�	Y
+闀�	C
+闀�	B
+閿�	Z
+鐭�	S
+鐭�	C
+闆�	Z
+绉�	B
+绉�	Z
+绉�	M
+绉�	S
+绋�	L
+宓�	J
+绋�	F
+绋�	L
+绋�	K
+绋�	R
+椁�	C
+椁�	X
+椁�	Y
+椁�	J
+椁�	E
+椁�	L
+椁�	X
+椁�	B
+椁�	N
+椁�	E
+椁�	B
+椁�	J
+椁�	D
+椁�	S
+椁�	Y
+椁�	X
+椁�	Y
+椁�	K
+椁�	G
+椁�	S
+椁�	J
+椁�	Z
+椁�	B
+椁�	X
+椁�	B
+椁�	Y
+椁�	T
+椁�	F
+椁�	Z
+椁�	W
+椁�	G
+椁�	E
+椁�	N
+椁�	Y
+椁�	H
+椁�	H
+椁�	H
+椁�	Z
+椁�	H
+椁�	H
+椁�	X
+椁�	F
+椁�	W
+椁�	G
+椁�	C
+椁�	S
+椁�	T
+椁�	B
+椁�	G
+椁�	X
+椁�	K
+椁�	L
+椁�	S
+楗�	X
+楗�	Y
+楗�	W
+楗�	M
+楗�	T
+楗�	M
+楗�	B
+楗�	Y
+楗�	X
+楗�	J
+楗�	S
+楗�	T
+楗�	Z
+楗�	S
+楗�	C
+楗�	D
+楗�	Y
+楗�	Q
+楗�	R
+楗�	C
+楗�	W
+楗�	X
+楗�	Z
+楗�	F
+楗�	H
+楗�	M
+楗�	Y
+楗�	M
+楗�	C
+楗�	X
+楗�	L
+楗�	Z
+楗�	N
+楗�	D
+楗�	T
+楗�	D
+楗�	J
+楗�	L
+楗�	X
+楗�	D
+棣�	J
+棣�	G
+棣�	G
+绋�	Z
+绋�	J
+绌�	S
+榛�	N
+棣�	F
+绌�	R
+鐨�	G
+鐨�	J
+鐨�	H
+鐨�	X
+鐨�	P
+鐡�	D
+鐡�	H
+鐢�	Y
+楦�	J
+楦�	Y
+楦�	B
+楦�	Z
+楦�	G
+楦�	D
+楦�	L
+楦�	Q
+楦�	C
+楦�	S
+楦�	E
+楦�	Z
+楦�	G
+楦�	X
+楦�	L
+楣�	B
+楣�	L
+楣�	H
+楣�	Y
+楣�	X
+楣�	T
+楣�	W
+楣�	M
+楣�	A
+楣�	B
+楣�	C
+楣�	H
+楣�	E
+楣�	C
+楣�	M
+楣�	W
+楣�	Y
+楣�	J
+楣�	Y
+楣�	Z
+楣�	L
+楣�	L
+楣�	J
+楣�	J
+楣�	Y
+楣�	H
+楣�	L
+楣�	G
+鐤�	B
+鐤�	D
+鐤�	J
+鐤�	L
+鐤�	S
+鐤�	L
+鐤�	Y
+鐤�	G
+鐤�	K
+鐤�	D
+鐥�	Z
+鐤�	P
+鐤�	Z
+鐥�	X
+鐥�	J
+鐥�	Y
+鐥�	Y
+鐥�	Z
+鐥�	L
+鐥�	W
+鐥�	C
+鐥�	X
+鐥�	S
+鐦�	Z
+鐥�	F
+鐥�	G
+鐥�	W
+鐦�	Y
+鐦�	Y
+鐦�	D
+鐦�	L
+鐦�	Y
+鐦�	H
+鐦�	C
+鐦�	L
+鐦�	J
+鐦�	S
+棣�	Y
+棣�	B
+棣�	F
+棣�	B
+棣�	N
+棣�	B
+棣�	B
+棣�	T
+棣�	H
+棣�	F
+棣�	J
+棣�	A
+棣�	A
+棣�	X
+棣�	Y
+棣�	F
+棣�	P
+棣�	X
+棣�	M
+棣�	Y
+棣�	P
+棣�	Q
+棣�	D
+棣�	T
+棣�	Z
+棣�	C
+棣�	X
+棣�	Z
+棣�	Z
+棣�	P
+棣�	X
+棣�	R
+棣�	S
+棣�	Y
+棣�	W
+棣�	Z
+棣�	D
+棣�	L
+椐�	Y
+椐�	B
+椐�	B
+椐�	K
+椐�	T
+椐�	Y
+椐�	Q
+椐�	P
+椐�	Q
+椐�	J
+椐�	P
+椐�	Z
+椐�	Y
+椐�	P
+椐�	Z
+椐�	J
+椐�	Z
+椐�	N
+椐�	J
+椐�	P
+椐�	Z
+椐�	J
+椐�	L
+椐�	Z
+椐�	Z
+椐�	F
+椐�	Y
+椐�	S
+椐�	B
+椐�	T
+椐�	T
+椐�	S
+椐�	L
+椐�	M
+椐�	P
+椐�	T
+椐�	Z
+椐�	R
+椐�	T
+椐�	D
+椐�	X
+椐�	Q
+椐�	S
+椐�	J
+椐�	E
+椐�	H
+椐�	B
+椐�	Z
+椐�	Y
+椐�	L
+椐�	Z
+椐�	D
+椐�	H
+椐�	L
+椐�	J
+椐�	S
+椐�	Q
+椐�	M
+鐦�	C
+鐦�	M
+鐦�	B
+鐦�	J
+鐧�	H
+鐦�	B
+鐦�	L
+鐦�	Y
+鐦�	Z
+鐧�	L
+鐦�	Y
+鐦�	C
+鐧�	B
+鐧�	L
+鐧�	Y
+鐧�	D
+鐧�	P
+鐧�	D
+鐧�	Q
+缈�	Y
+绔�	S
+绌�	X
+绌�	Q
+绐�	Z
+绐�	B
+绐�	Y
+绐�	T
+绐�	D
+绐�	K
+绐�	Y
+绐�	X
+绐�	J
+绐�	Y
+琛�	Y
+琛�	C
+琛�	N
+琛�	R
+琛�	J
+琚�	M
+琚�	P
+瑁�	D
+琚�	Q
+琚�	G
+瑁�	K
+瑁�	L
+瑁�	C
+瑁�	L
+瑁�	J
+瑁�	B
+瑜�	C
+瑁�	T
+瑁�	B
+瑁�	J
+瑁�	D
+瑜�	D
+瑜�	B
+瑜�	B
+瑜�	L
+瑜�	B
+瑜�	L
+瑜�	C
+瑜�	Z
+瑗�	Q
+瑗�	R
+瑗�	P
+鐤�	S
+鑳�	X
+鐨�	J
+鐨�	C
+鐭�	J
+鑰�	L
+鑰�	Z
+鑰�	C
+鑰�	S
+鑰�	H
+鑰�	L
+鑰�	T
+鑰�	O
+鑰�	L
+鑰�	J
+鑰�	N
+鑰�	M
+鑰�	D
+鑰�	D
+鑱�	D
+鑱�	L
+鑱�	N
+鑱�	G
+鑱�	K
+鑱�	A
+瑕�	T
+椤�	H
+棰�	Q
+棰�	H
+椐�	L
+椐�	H
+椐�	T
+椐�	X
+椐�	T
+椐�	J
+楱�	E
+楱�	C
+楱�	X
+楱�	S
+楱�	L
+楱�	Z
+楱�	Z
+楱�	S
+楱�	P
+楱�	K
+楱�	T
+楱�	L
+楱�	Z
+楱�	K
+楱�	Q
+楱�	Q
+楱�	Y
+楱�	F
+楱�	S
+楱�	Y
+楱�	G
+楱�	Y
+楱�	W
+楱�	P
+楱�	C
+楱�	P
+楱�	Q
+楱�	F
+楱�	H
+楱�	Q
+楱�	H
+楱�	Y
+楱�	T
+楱�	Q
+楱�	X
+楱�	Z
+楱�	K
+楱�	R
+楱�	S
+楱�	G
+楱�	T
+楱�	T
+楱�	S
+楱�	Q
+楱�	C
+楱�	Z
+楱�	L
+楱�	P
+楱�	T
+楱�	X
+楱�	C
+楱�	D
+楱�	Y
+楱�	Y
+楱�	Z
+楱�	X
+楱�	S
+楱�	Q
+楱�	Z
+楱�	S
+楱�	L
+楱�	X
+楱�	L
+楱�	Z
+椹�	M
+椹�	Y
+椹�	C
+椹�	P
+椹�	C
+椹�	Q
+椹�	B
+椹�	Z
+椹�	Y
+椹�	X
+椹�	H
+椹�	B
+椹�	S
+椹�	X
+椹�	L
+椹�	Z
+椹�	D
+椹�	L
+椹�	T
+椹�	C
+椹�	D
+椹�	X
+椹�	T
+椹�	Y
+椹�	L
+椹�	Z
+棰�	J
+棰�	H
+棰�	Y
+棰�	K
+棰�	H
+棰�	E
+棰�	Z
+棰�	N
+棰�	M
+棰�	S
+棰�	H
+棰�	R
+棰�	P
+铏�	H
+铏�	Q
+铏�	Q
+铏�	J
+铏�	C
+铏�	H
+铏�	G
+铏�	M
+铓�	F
+铓�	P
+铓�	R
+铓�	X
+铓�	H
+铓�	J
+铓�	G
+铓�	D
+铓�	Y
+铓�	C
+铓�	H
+铔�	G
+铓�	K
+铔�	L
+铓�	Y
+铓�	R
+铓�	Z
+铓�	Q
+铔�	L
+铔�	C
+铓�	Y
+铔�	Q
+铔�	J
+铔�	N
+铔�	Z
+铔�	S
+铔�	Q
+铚�	T
+铔�	K
+铔�	Q
+铔�	J
+铔�	Y
+铔�	M
+铚�	S
+铚�	Z
+铔�	S
+铚�	W
+铚�	L
+铚�	C
+铚�	F
+铚�	Q
+铚�	Q
+铚�	Q
+铚�	X
+铚�	Y
+铚�	F
+铚�	G
+铦�	G
+铚�	Y
+铚�	P
+铚�	T
+铚�	Q
+铚�	W
+铻�	L
+铚�	M
+铦�	C
+铦�	R
+铦�	N
+铦�	F
+铦�	K
+铦�	K
+铦�	F
+铻�	S
+铦�	Y
+铦�	Y
+铦�	L
+铦�	Q
+铦�	B
+铦�	M
+铻�	Q
+铻�	A
+铻�	M
+锜�	M
+椹�	J
+椹�	Y
+椹�	Y
+椹�	Z
+椹�	P
+椹�	Z
+椹�	Y
+椹�	Z
+椹�	L
+椹�	T
+椹�	X
+椹�	J
+椹�	S
+椹�	J
+椹�	X
+椹�	H
+椹�	L
+椹�	P
+椹�	R
+楠�	Y
+楠�	B
+楠�	X
+楠�	Q
+楠�	Z
+楠�	S
+楠�	K
+楠�	S
+楠�	W
+楠�	W
+楠�	W
+楠�	Y
+楠�	G
+楠�	Y
+楠�	K
+楠�	B
+楠�	B
+楠�	Z
+楠�	T
+楠�	X
+楠�	K
+楠�	T
+楠�	G
+楠�	P
+楂�	Y
+楂�	S
+楂�	P
+楂�	X
+楂�	P
+楂�	J
+楂�	C
+楂�	M
+楂�	L
+楂�	L
+楂�	X
+楂�	Z
+楂�	T
+楂�	B
+楂�	K
+楂�	L
+楂�	G
+楂�	Q
+楂�	K
+楂�	Q
+楂�	L
+楂�	S
+楂�	K
+楂�	T
+楂�	F
+楂�	X
+楂�	R
+楂�	D
+楂�	K
+楂�	B
+楂�	F
+楂�	P
+楂�	F
+楂�	T
+楂�	B
+楂�	B
+楂�	R
+楂�	F
+楂�	E
+楂�	R
+楂�	Q
+楂�	G
+楂�	Y
+楂�	P
+楂�	Z
+楂�	S
+楂�	S
+楝�	T
+楝�	L
+楝�	B
+楝�	T
+楝�	P
+楝�	S
+锜�	M
+铻�	Y
+铻�	X
+铻�	C
+铻�	T
+铻�	P
+铻�	S
+锜�	H
+铻�	C
+铻�	P
+铻�	T
+锜�	X
+锜�	X
+铻�	Z
+锜�	Z
+锜�	S
+锜�	M
+锜�	P
+锜�	H
+锜�	P
+锜�	S
+锠�	H
+锠�	M
+锜�	C
+锠�	L
+锠�	M
+锠�	L
+锠�	D
+锠�	Q
+缂�	F
+缃�	Y
+缃�	Q
+缃�	X
+鑸�	S
+绔�	Z
+绔�	Y
+绗�	J
+绗�	D
+绗�	J
+绗�	J
+绗�	Z
+绗�	Z
+绗�	H
+绛�	Q
+绗�	P
+绗�	D
+绗�	S
+绗�	Z
+绗�	G
+绗�	L
+绗�	S
+绗�	T
+绗�	J
+绗�	B
+绗�	C
+绛�	K
+绛�	B
+绛�	X
+绛�	Y
+绛�	Q
+绛�	Z
+绛�	J
+绛�	S
+绛�	G
+绛�	P
+绛�	S
+绛�	X
+绠�	Q
+绠�	Z
+绠�	Q
+绠�	Z
+绠�	R
+绠�	Q
+绠�	T
+绠�	B
+绠�	D
+绠�	K
+绠�	Y
+绠�	X
+绠�	Z
+绡�	K
+绡�	H
+绡�	H
+绡�	G
+绡�	F
+绡�	L
+绡�	B
+绡�	C
+绨�	S
+绡�	M
+绡�	D
+绨�	L
+绨�	D
+绨�	G
+楝�	Z
+楝�	Z
+楝�	S
+楝�	J
+楝�	D
+楝�	H
+楝�	L
+楝�	Q
+楝�	L
+楝�	Z
+楝�	P
+楝�	M
+楝�	S
+楝�	M
+楝�	M
+楝�	S
+楝�	X
+楝�	L
+楝�	Q
+楝�	Q
+楝�	N
+楝�	K
+楝�	N
+楝�	B
+楝�	R
+楝�	D
+楝�	D
+楝�	N
+楝�	X
+楝�	X
+楝�	D
+楝�	H
+楝�	D
+楝�	D
+楝�	J
+楝�	Y
+楝�	Y
+楝�	Y
+楝�	L
+楝�	X
+楝�	G
+楝�	Z
+楝�	L
+楝�	X
+楝�	S
+楝�	M
+楝�	Q
+楝�	Q
+榄�	G
+榄�	X
+榄�	Y
+榄�	T
+榄�	Q
+榄�	L
+榄�	G
+榄�	P
+榄�	B
+榄�	Q
+榄�	X
+榄�	C
+榄�	Y
+榄�	Z
+榄�	Y
+榄�	D
+榄�	R
+榄�	J
+榄�	B
+榄�	H
+榄�	T
+榄�	D
+榄�	J
+榄�	Y
+榄�	H
+榄�	Q
+榄�	S
+榄�	H
+榄�	T
+榄�	M
+榄�	J
+榄�	S
+榄�	B
+榄�	Y
+榄�	P
+榄�	L
+榄�	W
+榄�	H
+榄�	L
+榄�	Z
+榄�	F
+榄�	F
+榄�	N
+榄�	Y
+榄�	P
+榄�	M
+榄�	H
+榄�	X
+绨�	D
+绨�	Z
+绨�	D
+绨�	B
+绫�	L
+绫�	Z
+鑷�	Y
+鑸�	Y
+鑸�	C
+鑸�	X
+鑷�	N
+琛�	N
+鑸�	C
+鑸�	S
+鑸�	Y
+鑸�	B
+鑸�	Z
+鑸�	B
+鑸�	F
+鑸�	G
+鑸�	L
+鑸�	Z
+鑸�	Z
+鑸�	X
+鑹�	S
+鑹�	W
+鑹�	M
+鑹�	S
+鑹�	C
+鑹�	C
+鑹�	M
+琛�	Q
+琚�	N
+琚�	J
+瑁�	Q
+瑁�	S
+瑗�	B
+缇�	D
+缇�	Q
+缇�	S
+缇�	J
+缇�	T
+缇�	X
+绫�	X
+鏁�	M
+绮�	B
+绮�	L
+绮�	T
+绮�	X
+绮�	C
+绮�	C
+绮�	L
+绮�	Z
+绯�	S
+绯�	H
+绯�	Z
+绯�	C
+绯�	X
+绯�	R
+绯�	Q
+绯�	J
+鑹�	G
+鏆�	J
+缇�	Y
+缈�	L
+缈�	X
+缈�	Z
+缈�	F
+缈�	J
+缈�	P
+缈�	H
+缈�	Y
+绯�	M
+绲�	Z
+缍�	Q
+缍�	Q
+绻�	Y
+绾�	D
+楹�	F
+楹�	Q
+璧�	J
+瓒�	Q
+瓒�	L
+瓒�	Z
+瓒�	Z
+璧�	N
+璧�	Z
+璞�	J
+璞�	C
+閰�	D
+閰�	G
+閰�	Z
+閰�	Y
+閰�	G
+榄�	X
+榄�	H
+榄�	P
+榄�	L
+楫�	T
+楫�	B
+楫�	Q
+楫�	P
+楫�	F
+楫�	B
+楫�	J
+楫�	W
+楫�	Q
+楫�	D
+楫�	B
+楫�	Y
+楫�	G
+楫�	P
+楫�	N
+楫�	Z
+楫�	T
+楫�	P
+楫�	F
+楫�	Z
+楫�	J
+楫�	G
+楫�	S
+楫�	D
+楫�	D
+楫�	T
+楫�	Q
+楫�	S
+楫�	H
+楫�	Z
+楫�	E
+楫�	A
+楫�	W
+楫�	Z
+楫�	Z
+楫�	Y
+楫�	L
+楫�	L
+楫�	T
+楫�	Y
+楫�	Y
+楫�	B
+楫�	W
+楫�	J
+楫�	K
+楫�	X
+楫�	X
+楫�	G
+楫�	H
+楫�	L
+楫�	F
+楫�	K
+楫�	X
+楫�	D
+楫�	J
+楫�	T
+楫�	M
+楫�	S
+楫�	Z
+楫�	S
+楫�	Q
+楫�	Y
+楫�	N
+楫�	Z
+榀�	G
+榀�	G
+榀�	S
+榀�	W
+榀�	Q
+榀�	S
+榀�	P
+榀�	H
+榀�	T
+榀�	L
+榀�	S
+榀�	S
+榀�	K
+榀�	M
+榀�	C
+榀�	L
+榀�	Z
+榀�	X
+榀�	Y
+榀�	S
+榀�	Z
+榀�	Q
+榀�	Z
+榀�	X
+榀�	N
+榀�	C
+榀�	J
+榀�	D
+閰�	Z
+閰�	T
+閰�	X
+閰�	M
+閰�	Z
+閰�	Y
+閰�	S
+閰�	C
+閰�	T
+閰�	L
+閱�	K
+閱�	P
+閱�	H
+閱�	T
+閱�	X
+閱�	H
+閱�	T
+閱�	L
+閱�	B
+閱�	J
+閱�	X
+閱�	J
+閱�	L
+閱�	X
+璞�	S
+楣�	C
+瓒�	D
+璺�	Q
+韪�	X
+韫�	C
+韫�	B
+瓒�	B
+瓒�	T
+瓒�	J
+瓒�	F
+璺�	Q
+璺�	Z
+璺�	F
+璺�	S
+璺�	L
+璺�	T
+璺�	J
+璺�	B
+璺�	T
+璺�	K
+璺�	Q
+璺�	B
+璺�	X
+璺�	X
+璺�	J
+璺�	J
+韪�	L
+璺�	J
+韪�	C
+韪�	H
+韪�	C
+韪�	Z
+韪�	D
+韪�	B
+韪�	Z
+韪�	J
+韫�	D
+韪�	C
+韪�	Z
+韪�	J
+韪�	D
+韫�	C
+韫�	P
+韫�	R
+韫�	N
+韫�	P
+韫�	X
+韫�	C
+韫�	J
+韫�	P
+韫�	F
+韫�	C
+韬�	Z
+韬�	L
+韬�	C
+韬�	L
+韬�	Z
+韬�	X
+璞�	Z
+璨�	D
+璨�	M
+璨�	X
+璨�	M
+璨�	P
+鏂�	H
+瑙�	J
+瑙�	S
+瑙�	G
+瑙�	Z
+榀�	Q
+榀�	G
+榀�	Z
+榀�	D
+榀�	L
+榀�	F
+榀�	N
+榀�	Y
+榀�	K
+榀�	L
+榀�	J
+榀�	C
+榀�	J
+榀�	L
+榀�	L
+榀�	Z
+榀�	L
+榀�	M
+榀�	Z
+榀�	Z
+榀�	N
+榀�	H
+榀�	Y
+榀�	D
+榀�	S
+榀�	S
+榀�	H
+榀�	T
+榀�	H
+榀�	Z
+榀�	Z
+榀�	L
+榀�	Z
+榀�	Z
+榀�	B
+榀�	B
+榘�	H
+榘�	Q
+榘�	Z
+榘�	W
+榘�	W
+榘�	Y
+榘�	C
+榘�	R
+榘�	Z
+榘�	H
+榘�	L
+榘�	Y
+榘�	Q
+榘�	Q
+榘�	J
+榘�	B
+榘�	E
+榘�	Y
+榘�	F
+榘�	X
+榘�	X
+榘�	X
+榘�	W
+榘�	H
+榘�	S
+榘�	R
+榘�	X
+榘�	W
+榘�	Q
+榘�	H
+榘�	W
+榘�	P
+榘�	S
+榘�	L
+榘�	M
+榘�	S
+榘�	S
+榘�	K
+榘�	Z
+榘�	T
+榘�	T
+榘�	Y
+榘�	G
+榘�	Y
+榘�	Q
+榘�	Q
+榘�	W
+榘�	R
+榘�	S
+榘�	L
+榘�	A
+榘�	L
+榘�	H
+榘�	M
+榘�	J
+榘�	T
+榘�	Q
+榘�	J
+榘�	S
+榘�	M
+瑙�	G
+瑙�	S
+瑙�	Z
+瑷�	Z
+璎�	Q
+闈�	L
+闆�	Y
+闆�	L
+闆�	W
+闇�	T
+闇�	J
+闇�	P
+闇�	F
+闇�	S
+闇�	Y
+闇�	A
+闇�	X
+闇�	M
+榫�	C
+榫�	J
+榫�	B
+榫�	T
+榫�	Z
+榫�	Y
+榫�	Y
+榫�	C
+榫�	W
+榛�	M
+榧�	Y
+榧�	T
+闅�	Z
+闅�	S
+闅�	J
+闆�	J
+闆�	L
+鐬�	Q
+闆�	C
+閵�	Q
+閵�	L
+閶�	W
+閷�	Z
+閸�	M
+閺�	A
+閹�	L
+閻�	B
+閼�	X
+楸�	Y
+椴�	F
+椴�	B
+椴�	P
+椴�	N
+椴�	L
+绋�	S
+椴�	F
+椴�	H
+椴�	T
+椴�	G
+椴�	J
+椴�	W
+椴�	E
+椴�	J
+椴�	J
+椴�	X
+椴�	X
+椴�	G
+椴�	L
+椴�	L
+椴�	J
+椴�	S
+椴�	T
+椴�	G
+椴�	S
+椴�	H
+椴�	J
+椴�	Q
+椴�	L
+椴�	Z
+椴�	F
+椴�	K
+椴�	C
+椴�	G
+椴�	N
+椴�	N
+椴�	D
+椴�	S
+椴�	Z
+椴�	F
+椴�	D
+槌�	E
+槌�	Q
+槌�	F
+槌�	H
+槌�	B
+槌�	S
+榘�	X
+榘�	Q
+榘�	B
+榘�	J
+楸�	J
+楸�	Z
+楸�	J
+楸�	X
+楸�	Z
+楸�	Y
+楸�	Z
+楸�	K
+楸�	X
+楸�	B
+楸�	Y
+楸�	Q
+楸�	X
+楸�	B
+楸�	J
+楸�	X
+楸�	S
+楸�	H
+楸�	Z
+楸�	T
+楸�	S
+楸�	F
+楸�	J
+楸�	L
+楸�	X
+楸�	M
+楸�	X
+楸�	Z
+楸�	X
+楸�	F
+楸�	G
+楸�	H
+楸�	K
+楸�	Z
+楸�	S
+楸�	Z
+楸�	G
+楸�	G
+楸�	Y
+楸�	L
+楸�	C
+楸�	L
+楸�	S
+楸�	A
+楸�	R
+楸�	J
+楸�	Y
+楸�	H
+楸�	S
+楸�	L
+楸�	L
+楸�	L
+楸�	M
+楸�	Z
+楸�	X
+楸�	E
+楸�	L
+楸�	G
+楸�	L
+楸�	X
+楸�	D
+楸�	J
+椴�	T
+椴�	B
+椴�	H
+椴�	Y
+椴�	Z
+椴�	B
+椴�	P
+椴�	K
+椴�	T
+椴�	Z
+椴�	H
+椴�	K
+椴�	Z
+椴�	J
+椴�	Y
+椴�	Q
+椴�	S
+椴�	B
+椴�	C
+槌�	T
+槌�	W
+槌�	W
+槌�	Q
+槌�	J
+槌�	P
+槌�	Q
+槌�	W
+槌�	X
+槌�	H
+槌�	G
+槌�	A
+槌�	Q
+槌�	T
+槌�	G
+槌�	Y
+槌�	L
+槌�	B
+槌�	X
+槌�	M
+槌�	M
+槌�	Y
+槌�	G
+槌�	S
+槌�	Z
+槌�	L
+闈�	D
+闉�	Y
+闉�	D
+闉�	Q
+闉�	M
+闉�	J
+闉�	J
+闉�	R
+闉�	G
+闉�	B
+楠�	J
+楠�	T
+楠�	K
+楣�	G
+楠�	D
+楠�	H
+楠�	G
+楂�	K
+楂�	B
+楂�	L
+楂�	Q
+楂�	K
+楂�	B
+楂�	D
+榄�	M
+榄�	B
+榄�	Y
+榄�	L
+榄�	X
+榄�	W
+榄�	C
+椋�	X
+椁�	Y
+椁�	T
+楗�	T
+楗�	Y
+楂�	B
+楂�	K
+楂�	M
+楂�	R
+楂�	T
+楂�	J
+楂�	Z
+楂�	X
+楝�	Q
+楝�	J
+楝�	B
+楝�	H
+楝�	L
+楹�	M
+楹�	H
+绺�	M
+楹�	J
+楹�	J
+楹�	Z
+楹�	M
+楹�	Q
+閺�	A
+楹�	S
+楹�	L
+榛�	D
+榛�	C
+榛�	Y
+榛�	X
+榛�	Y
+榛�	Q
+榛�	D
+榛�	L
+榛�	Q
+榛�	C
+榛�	A
+榧�	F
+榧�	Y
+榧�	W
+榧�	Y
+榧�	X
+榧�	Q
+榧�	H
+榻�	Z
+槌�	Z
+槌�	G
+槌�	Q
+槌�	Y
+槌�	F
+槌�	L
+槌�	Z
+槌�	B
+槌�	Y
+槌�	F
+槌�	Z
+槌�	J
+槌�	F
+槌�	R
+槌�	Y
+槌�	S
+槌�	F
+槌�	M
+槌�	B
+槌�	Y
+槌�	Z
+槌�	H
+槌�	Q
+槌�	G
+槌�	F
+槌�	W
+槌�	Z
+槌�	S
+槌�	Y
+榇�	F
+榇�	Y
+榇�	J
+榇�	J
+榇�	P
+榇�	H
+榇�	Z
+榇�	B
+榇�	Y
+榇�	Y
+榇�	Z
+榇�	F
+榇�	F
+榇�	W
+榇�	O
+榇�	D
+榇�	G
+榇�	R
+榇�	L
+榇�	M
+榇�	F
+榇�	T
+榇�	W
+榇�	L
+榇�	B
+榇�	Z
+榇�	G
+榇�	Y
+榇�	C
+榇�	Q
+榇�	X
+榇�	C
+榇�	D
+榇�	J
+榇�	Y
+榇�	G
+榇�	Z
+榇�	Y
+榇�	Y
+榇�	Y
+榇�	Y
+榇�	T
+榇�	Y
+榇�	T
+榇�	Y
+榇�	D
+榇�	W
+榇�	E
+榇�	G
+榇�	A
+榇�	Z
+榇�	Y
+榇�	H
+榇�	X
+榇�	J
+榇�	L
+榇�	Z
+榇�	Y
+榇�	Y
+榇�	H
+榇�	L
+榇�	R
+榇�	M
+榇�	G
+榈�	R
+榈�	X
+榈�	X
+榈�	Z
+榈�	C
+榈�	L
+榈�	H
+榈�	N
+榈�	E
+榈�	L
+榈�	J
+榈�	J
+榈�	T
+榈�	J
+榈�	T
+榈�	B
+榈�	W
+榈�	J
+榈�	Y
+榈�	B
+榈�	J
+榈�	J
+榈�	B
+榈�	X
+榈�	J
+榈�	J
+榈�	T
+榈�	J
+榈�	T
+榈�	E
+榈�	E
+榈�	K
+榈�	H
+榈�	W
+榈�	S
+榈�	L
+榈�	J
+榈�	P
+榈�	L
+榈�	P
+榈�	S
+榈�	F
+榈�	Y
+榈�	Z
+榈�	P
+榈�	Q
+榈�	Q
+榈�	B
+榈�	D
+榈�	L
+榈�	Q
+榈�	J
+榈�	J
+榈�	T
+榈�	Y
+榈�	Y
+榈�	Q
+榈�	L
+榈�	Y
+榈�	Z
+榈�	K
+榈�	D
+榈�	K
+榈�	S
+槎�	Q
+槎�	J
+槎�	Y
+槎�	Y
+槎�	Q
+槎�	Z
+槎�	L
+槎�	D
+槎�	Q
+槎�	T
+槎�	G
+槎�	J
+槎�	Q
+槎�	Y
+槎�	Z
+槎�	J
+槎�	S
+槎�	U
+槎�	C
+槎�	M
+槎�	R
+槎�	Y
+槎�	Q
+槎�	T
+槎�	H
+槎�	T
+槎�	E
+槎�	J
+槎�	M
+槎�	F
+槎�	C
+槎�	T
+槎�	Y
+槎�	H
+槎�	Y
+槎�	P
+槎�	K
+槎�	M
+槎�	H
+槎�	Y
+槎�	Z
+槎�	W
+槎�	J
+槎�	D
+槎�	Q
+槎�	F
+槎�	H
+槎�	Y
+槎�	Y
+槎�	X
+槎�	W
+槎�	S
+槎�	H
+槎�	C
+槎�	T
+槎�	X
+槎�	R
+槎�	L
+槎�	J
+槎�	H
+槎�	Q
+槎�	X
+槎�	H
+槎�	C
+榉�	C
+榉�	Y
+榉�	Y
+榉�	Y
+榉�	J
+榉�	L
+榉�	T
+榉�	K
+榉�	T
+榉�	T
+榉�	Y
+榉�	T
+榉�	M
+榉�	X
+榉�	G
+榉�	T
+榉�	C
+榉�	J
+榉�	T
+榉�	Z
+榉�	A
+榉�	Y
+榉�	Y
+榉�	O
+榉�	C
+榉�	Z
+榉�	L
+榉�	Y
+榉�	L
+榉�	B
+榉�	S
+榉�	Z
+榉�	Y
+榉�	W
+榉�	J
+榉�	Y
+榉�	T
+榉�	S
+榉�	J
+榉�	Y
+榉�	H
+榉�	B
+榉�	Y
+榉�	S
+榉�	H
+榉�	F
+榉�	J
+榉�	L
+榉�	Y
+榉�	G
+榉�	J
+榉�	X
+榉�	X
+榉�	T
+榉�	M
+榉�	Z
+榉�	Y
+榉�	Y
+榉�	L
+榉�	T
+榉�	X
+榉�	X
+榉�	Y
+榉�	P
+楦�	Z
+楦�	L
+楦�	X
+楦�	Y
+楦�	J
+楦�	Z
+楦�	Y
+楦�	Z
+楦�	Y
+楦�	Y
+楦�	P
+楦�	N
+楦�	H
+楦�	M
+楦�	Y
+楦�	M
+楦�	D
+楦�	Y
+楦�	Y
+楦�	L
+楦�	B
+楦�	L
+楦�	H
+楦�	L
+楦�	S
+楦�	Y
+楦�	Y
+楦�	Q
+楦�	Q
+楦�	L
+楦�	L
+楦�	S
+楦�	C
+楦�	X
+楦�	L
+楦�	X
+楦�	H
+楦�	Z
+楣�	W
+楣�	K
+楣�	Q
+楣�	G
+楣�	Y
+楣�	S
+楣�	H
+楣�	Q
+楣�	Y
+楣�	W
+楣�	L
+楣�	J
+楣�	Y
+楣�	Y
+楣�	H
+楣�	Z
+楣�	M
+楣�	S
+楣�	L
+楣�	J
+楣�	L
+楣�	J
+楣�	X
+楣�	C
+楣�	J
+楣�	J
+楣�	Y
+楹�	Y
+楹�	C
+楹�	B
+楹�	C
+楹�	P
+楹�	Z
+楹�	J
+楹�	M
+楹�	Y
+楹�	L
+楹�	C
+楹�	Q
+楹�	L
+楹�	N
+楹�	J
+楹�	Q
+楹�	J
+楹�	S
+楹�	X
+楹�	Y
+楹�	J
+楹�	M
+楹�	L
+楹�	Z
+楹�	J
+楹�	Q
+楹�	L
+楹�	Y
+楹�	C
+楹�	M
+楹�	H
+楹�	C
+楹�	F
+楹�	M
+楹�	M
+楹�	F
+楹�	P
+楹�	Q
+楹�	Q
+楹�	M
+楹�	F
+楹�	Y
+楹�	L
+楹�	M
+楹�	C
+楹�	F
+楹�	Q
+楹�	M
+楹�	M
+楹�	M
+榛�	Z
+榛�	N
+榛�	F
+榛�	H
+榛�	J
+榛�	G
+榛�	T
+榛�	T
+榛�	H
+榛�	K
+榛�	H
+榛�	C
+榛�	H
+榛�	Y
+榛�	D
+榛�	X
+榛�	T
+榛�	M
+榛�	Q
+榛�	Z
+榛�	Y
+榛�	M
+榛�	Y
+榛�	Y
+榛�	T
+榛�	Y
+榛�	Y
+榛�	Y
+榛�	Z
+榛�	Z
+榛�	Z
+榛�	C
+榛�	Y
+榛�	M
+榛�	Z
+榛�	Y
+榛�	D
+榛�	L
+榛�	F
+榛�	M
+榛�	Y
+榧�	C
+榧�	Q
+榧�	Z
+榧�	W
+榧�	Z
+榧�	Z
+榧�	M
+榧�	A
+榧�	B
+榧�	T
+榧�	B
+榧�	Z
+榧�	M
+榧�	Z
+榧�	Z
+榧�	G
+榧�	D
+榧�	F
+榧�	Y
+榧�	C
+榧�	G
+榧�	Q
+榧�	Y
+榧�	T
+榧�	T
+榧�	S
+榧�	F
+榧�	W
+榧�	F
+榧�	D
+榧�	T
+榧�	Z
+榧�	Q
+榧�	S
+榧�	S
+榧�	S
+榧�	T
+榧�	X
+榧�	J
+榧�	H
+榧�	X
+榧�	Y
+榧�	T
+榧�	S
+榧�	X
+榧�	L
+榧�	Y
+榧�	W
+榻�	W
+榻�	K
+榻�	X
+榻�	H
+榻�	X
+榻�	W
+榻�	Z
+榻�	N
+榻�	N
+榻�	Z
+榻�	Z
+榻�	J
+榻�	Z
+榻�	J
+榻�	J
+榻�	C
+榻�	C
+榻�	C
+榻�	H
+榻�	Y
+榻�	Y
+榻�	X
+榻�	B
+榻�	Z
+榻�	X
+榻�	Z
+榻�	C
+榻�	Y
+榻�	Z
+榻�	T
+榻�	L
+榻�	L
+榻�	C
+榻�	Q
+榻�	X
+榻�	Y
+榻�	N
+榻�	J
+榻�	Y
+榻�	C
+榻�	Y
+榻�	Y
+榻�	C
+榻�	Y
+榻�	N
+榻�	Z
+榻�	Z
+榻�	Q
+榻�	Y
+榻�	Y
+榻�	Y
+榻�	E
+榻�	W
+榻�	Y
+榻�	C
+榻�	Z
+榻�	D
+榻�	C
+榻�	J
+榻�	Y
+榫�	H
+榫�	Y
+榫�	M
+榫�	P
+榫�	W
+榫�	P
+榫�	Y
+榫�	M
+榫�	L
+榫�	G
+榫�	K
+榫�	D
+榫�	L
+榫�	D
+榫�	Q
+榫�	Q
+榫�	B
+榫�	C
+榫�	H
+榫�	J
+榫�	X
+榫�	Y
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ChineseSpellFile/hzpy2.txt b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ChineseSpellFile/hzpy2.txt
new file mode 100644
index 0000000..52fe846
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ChineseSpellFile/hzpy2.txt
@@ -0,0 +1,5 @@
+锘垮弬 浜哄弬 S
+闀� 闀挎槬 C
+瀹� 褰掑 S
+鏇� 鏇惧摜 Z
+鍗� 鍗曚簬 C
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ChineseSpellFile/hzpy3.txt b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ChineseSpellFile/hzpy3.txt
new file mode 100644
index 0000000..c7a151b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ChineseSpellFile/hzpy3.txt
@@ -0,0 +1,3 @@
+锘挎浘 Z
+鏌� Z
+鍗� S
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ChineseSpellFile/hzwb.txt b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ChineseSpellFile/hzwb.txt
new file mode 100644
index 0000000..8975e0a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ChineseSpellFile/hzwb.txt
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent.zip b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent.zip
new file mode 100644
index 0000000..839658d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent.zip
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/Admin.NET.Application/Service/TestStudent/Dto/TestStudentInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/Admin.NET.Application/Service/TestStudent/Dto/TestStudentInput.cs
new file mode 100644
index 0000000..480179d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/Admin.NET.Application/Service/TestStudent/Dto/TestStudentInput.cs
@@ -0,0 +1,303 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓琛ㄥ熀纭�杈撳叆鍙傛暟
+    /// </summary>
+    public class TestStudentBaseInput
+    {
+        /// <summary>
+        /// 閲嶅鎬ф牎楠屾柟寮�
+        /// </summary>
+        public virtual string RepCheckType { get; set; }
+        
+        /// <summary>
+        /// 鑰佸笀ID(鍙┖)
+        /// </summary>
+        public virtual long? TeacherId { get; set; }
+        
+        /// <summary>
+        /// 鑰佸笀鍚嶅瓧(鍙┖)
+        /// </summary>
+        public virtual string TeacherName { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓濮撳悕
+        /// </summary>
+        public virtual string Name { get; set; }
+        
+        /// <summary>
+        /// 鍒悕(鍙┖)
+        /// </summary>
+        public virtual string AliName { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓骞撮緞
+        /// </summary>
+        public virtual int Age { get; set; }
+        
+        /// <summary>
+        /// 骞寸邯(鍙┖)
+        /// </summary>
+        public virtual int? NianJi { get; set; }
+        
+        /// <summary>
+        /// 鏍¢暱ID(鍙┖)
+        /// </summary>
+        public virtual long? RectorId { get; set; }
+        
+        /// <summary>
+        /// 闆惰姳閽�
+        /// </summary>
+        public virtual decimal HasMoney { get; set; }
+        
+        /// <summary>
+        /// 韬环(鍙┖)
+        /// </summary>
+        public virtual decimal? ShenJia { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍦ㄦ牎
+        /// </summary>
+        public virtual bool IsInSchool { get; set; }
+        
+        /// <summary>
+        /// 鏄惁澶栧湴浜�(鍙┖)
+        /// </summary>
+        public virtual bool? IsWDR { get; set; }
+        
+        /// <summary>
+        /// 鎬у埆
+        /// </summary>
+        public virtual Admin.NET.Core.GenderEnum Gender { get; set; }
+        
+        /// <summary>
+        /// 鍏朵粬鎬у埆(鍙┖)
+        /// </summary>
+        public virtual Admin.NET.Core.GenderEnum? OtherGender { get; set; }
+        
+        /// <summary>
+        /// 鍑虹敓鏃ユ湡
+        /// </summary>
+        public virtual DateTime BrithDate { get; set; }
+        
+        /// <summary>
+        /// 鍏ュ鏃ユ湡(鍙┖)
+        /// </summary>
+        public virtual DateTime? InSchoolDate { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+        public virtual DateTime? UpdateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public virtual long? CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public virtual string CreateUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜篒d
+        /// </summary>
+        public virtual long? UpdateUserId { get; set; }
+        
+        /// <summary>
+        /// 淇敼浜�
+        /// </summary>
+        public virtual string UpdateUserName { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        public virtual bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓琛ㄥ垎椤垫煡璇㈣緭鍏ュ弬鏁�
+    /// </summary>
+    public class TestStudentInput : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+        /// <summary>
+        /// 閲嶅鎬ф牎楠屾柟寮�
+        /// </summary>
+        public string? RepCheckType { get; set; }
+        
+        /// <summary>
+        /// 鑰佸笀ID(鍙┖)
+        /// </summary>
+        public long? TeacherId { get; set; }
+        
+        /// <summary>
+        /// 鑰佸笀鍚嶅瓧(鍙┖)
+        /// </summary>
+        public string? TeacherName { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓濮撳悕
+        /// </summary>
+        public string? Name { get; set; }
+        
+        /// <summary>
+        /// 鍒悕(鍙┖)
+        /// </summary>
+        public string? AliName { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓骞撮緞
+        /// </summary>
+        public int? Age { get; set; }
+        
+        /// <summary>
+        /// 骞寸邯(鍙┖)
+        /// </summary>
+        public int? NianJi { get; set; }
+        
+        /// <summary>
+        /// 鏍¢暱ID(鍙┖)
+        /// </summary>
+        public long? RectorId { get; set; }
+        
+        /// <summary>
+        /// 闆惰姳閽�
+        /// </summary>
+        public decimal? HasMoney { get; set; }
+        
+        /// <summary>
+        /// 韬环(鍙┖)
+        /// </summary>
+        public decimal? ShenJia { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍦ㄦ牎
+        /// </summary>
+        public bool? IsInSchool { get; set; }
+        
+        /// <summary>
+        /// 鏄惁澶栧湴浜�(鍙┖)
+        /// </summary>
+        public bool? IsWDR { get; set; }
+        
+        /// <summary>
+        /// 鎬у埆
+        /// </summary>
+        public Admin.NET.Core.GenderEnum? Gender { get; set; }
+        
+        /// <summary>
+        /// 鍏朵粬鎬у埆(鍙┖)
+        /// </summary>
+        public Admin.NET.Core.GenderEnum? OtherGender { get; set; }
+        
+        /// <summary>
+        /// 鍑虹敓鏃ユ湡
+        /// </summary>
+        public DateTime? BrithDate { get; set; }
+        
+        /// <summary>
+         /// 鍑虹敓鏃ユ湡鑼冨洿
+         /// </summary>
+         public List<DateTime?> BrithDateRange { get; set; } 
+        /// <summary>
+        /// 鍏ュ鏃ユ湡(鍙┖)
+        /// </summary>
+        public DateTime? InSchoolDate { get; set; }
+        
+        /// <summary>
+         /// 鍏ュ鏃ユ湡(鍙┖)鑼冨洿
+         /// </summary>
+         public List<DateTime?> InSchoolDateRange { get; set; } 
+    }
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓琛ㄥ鍔犺緭鍏ュ弬鏁�
+    /// </summary>
+    public class AddTestStudentInput : TestStudentBaseInput
+    {
+        /// <summary>
+        /// 瀛︾敓濮撳悕
+        /// </summary>
+        [Required(ErrorMessage = "瀛︾敓濮撳悕涓嶈兘涓虹┖")]
+        public override string Name { get; set; }
+        
+        /// <summary>
+        /// 瀛︾敓骞撮緞
+        /// </summary>
+        [Required(ErrorMessage = "瀛︾敓骞撮緞涓嶈兘涓虹┖")]
+        public override int Age { get; set; }
+        
+        /// <summary>
+        /// 闆惰姳閽�
+        /// </summary>
+        [Required(ErrorMessage = "闆惰姳閽变笉鑳戒负绌�")]
+        public override decimal HasMoney { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍦ㄦ牎
+        /// </summary>
+        [Required(ErrorMessage = "鏄惁鍦ㄦ牎涓嶈兘涓虹┖")]
+        public override bool IsInSchool { get; set; }
+        
+        /// <summary>
+        /// 鎬у埆
+        /// </summary>
+        [Required(ErrorMessage = "鎬у埆涓嶈兘涓虹┖")]
+        public override Admin.NET.Core.GenderEnum Gender { get; set; }
+        
+        /// <summary>
+        /// 鍑虹敓鏃ユ湡
+        /// </summary>
+        [Required(ErrorMessage = "鍑虹敓鏃ユ湡涓嶈兘涓虹┖")]
+        public override DateTime BrithDate { get; set; }
+        
+        /// <summary>
+        /// 杞垹闄�
+        /// </summary>
+        [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+        public override bool IsDelete { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓琛ㄥ垹闄よ緭鍏ュ弬鏁�
+    /// </summary>
+    public class DeleteTestStudentInput : BaseIdInput
+    {
+    }
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓琛ㄦ洿鏂拌緭鍏ュ弬鏁�
+    /// </summary>
+    public class UpdateTestStudentInput : AddTestStudentInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+        public long Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 娴嬭瘯瀛︾敓琛ㄤ富閿煡璇㈣緭鍏ュ弬鏁�
+    /// </summary>
+    public class QueryByIdTestStudentInput : DeleteTestStudentInput
+    {
+
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/Admin.NET.Application/Service/TestStudent/Dto/TestStudentOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/Admin.NET.Application/Service/TestStudent/Dto/TestStudentOutput.cs
new file mode 100644
index 0000000..de90b8e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/Admin.NET.Application/Service/TestStudent/Dto/TestStudentOutput.cs
@@ -0,0 +1,130 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 娴嬭瘯瀛︾敓琛ㄨ緭鍑哄弬鏁�
+/// </summary>
+public class TestStudentOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long? Id { get; set; }
+    
+    /// <summary>
+    /// 閲嶅鎬ф牎楠屾柟寮�
+    /// </summary>
+    public string RepCheckType { get; set; }
+    
+    /// <summary>
+    /// 鑰佸笀ID(鍙┖)
+    /// </summary>
+    public long? TeacherId { get; set; }
+    
+    /// <summary>
+    /// 鑰佸笀鍚嶅瓧(鍙┖)
+    /// </summary>
+    public string TeacherName { get; set; }
+    
+    /// <summary>
+    /// 瀛︾敓濮撳悕
+    /// </summary>
+    public string Name { get; set; }
+    
+    /// <summary>
+    /// 鍒悕(鍙┖)
+    /// </summary>
+    public string AliName { get; set; }
+    
+    /// <summary>
+    /// 瀛︾敓骞撮緞
+    /// </summary>
+    public int Age { get; set; }
+    
+    /// <summary>
+    /// 骞寸邯(鍙┖)
+    /// </summary>
+    public int? NianJi { get; set; }
+    
+    /// <summary>
+    /// 鏍¢暱ID(鍙┖)
+    /// </summary>
+    public long? RectorId { get; set; }
+    
+    /// <summary>
+    /// 闆惰姳閽�
+    /// </summary>
+    public decimal HasMoney { get; set; }
+    
+    /// <summary>
+    /// 韬环(鍙┖)
+    /// </summary>
+    public decimal? ShenJia { get; set; }
+    
+    /// <summary>
+    /// 鏄惁鍦ㄦ牎
+    /// </summary>
+    public bool IsInSchool { get; set; }
+    
+    /// <summary>
+    /// 鏄惁澶栧湴浜�(鍙┖)
+    /// </summary>
+    public bool? IsWDR { get; set; }
+    
+    /// <summary>
+    /// 鎬у埆
+    /// </summary>
+    public Admin.NET.Core.GenderEnum Gender { get; set; }
+    
+    /// <summary>
+    /// 鍏朵粬鎬у埆(鍙┖)
+    /// </summary>
+    public Admin.NET.Core.GenderEnum? OtherGender { get; set; }
+    
+    /// <summary>
+    /// 鍑虹敓鏃ユ湡
+    /// </summary>
+    public DateTime BrithDate { get; set; }
+    
+    /// <summary>
+    /// 鍏ュ鏃ユ湡(鍙┖)
+    /// </summary>
+    public DateTime? InSchoolDate { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 鏇存柊鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+    
+    /// <summary>
+    /// 淇敼浜�
+    /// </summary>
+    public string UpdateUserName { get; set; }
+    
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+    
+    }
+ 
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/Admin.NET.Application/Service/TestStudent/TestStudentService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/Admin.NET.Application/Service/TestStudent/TestStudentService.cs
new file mode 100644
index 0000000..e415a4b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/Admin.NET.Application/Service/TestStudent/TestStudentService.cs
@@ -0,0 +1,528 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+namespace Admin.NET.Application;
+/// <summary>
+/// 娴嬭瘯瀛︾敓琛ㄦ湇鍔�
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.TestDemoGroupName, Order = 100)]
+public class TestStudentService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<TestStudent> _rep;
+    public TestStudentService(SqlSugarRepository<TestStudent> rep)
+    {
+        _rep = rep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ娴嬭瘯瀛︾敓琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("TestStudent/Page")]
+    public async Task<SqlSugarPagedList<TestStudentOutput>> Page(TestStudentInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇㈡祴璇曞鐢熻〃
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("TestStudent/List")]
+    public async Task<List<TestStudentOutput>> List([FromQuery] TestStudentInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").Select<TestStudentOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞娴嬭瘯瀛︾敓琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("TestStudent/Add")]
+    public async Task<long> Add(AddTestStudentInput input)
+    {
+        var entity = input.Adapt<TestStudent>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎娴嬭瘯瀛︾敓琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("TestStudent/Delete")]
+    public async Task Delete(DeleteTestStudentInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊娴嬭瘯瀛︾敓琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("TestStudent/Update")]
+    public async Task Update(UpdateTestStudentInput input)
+    {
+        var entity = input.Adapt<TestStudent>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity,true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇娴嬭瘯瀛︾敓琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("TestStudent/Detail")]
+    public async Task<TestStudent> Detail([FromQuery] QueryByIdTestStudentInput input)
+    {
+        return await _rep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+
+
+
+
+    #region 瀵煎叆
+    
+    /// <summary>
+    /// Excel妯℃澘瀵煎叆娴嬭瘯瀛︾敓琛ㄥ姛鑳�
+    /// </summary>
+    /// <param name="file">Excel妯℃澘鏂囦欢</param>
+    /// <returns>瀵煎叆鐨勮褰曟暟</returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ImportExcel")]
+    [Description("TestStudent/ImportExcel")]
+    public async Task<int> ImportExcelAsync(IFormFile file)
+    { 
+        int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕
+        int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁
+        DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine);
+        var addList =await CommonImport(importDataTable, _DataStartLine);
+        await _rep.InsertRangeAsync(addList);
+        return addList.Count;
+    }
+    
+    /// <summary>
+    ///  DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+    /// </summary>
+    /// <param name="dataTable"></param>
+    /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+    /// <returns></returns>
+    private async Task<List<TestStudent>> CommonImport(DataTable dataTable, int dataStartLine)
+    {
+        var details = new List<TestStudent>();
+        int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭
+        foreach (System.Data.DataRow row in dataTable.Rows)
+        {
+            index++;
+            //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛�
+                                      
+                           var addItem = new TestStudent();
+                          #region 瀹氫箟鍙橀噺
+                           var _RepCheckType = "";//閲嶅鎬ф牎楠屾柟寮�
+                           var _TeacherId = "";//鑰佸笀ID(鍙┖)
+                           var _TeacherName = "";//鑰佸笀鍚嶅瓧(鍙┖)
+                           var _Name = "";//瀛︾敓濮撳悕
+                           var _AliName = "";//鍒悕(鍙┖)
+                           var _Age = "";//瀛︾敓骞撮緞
+                           var _NianJi = "";//骞寸邯(鍙┖)
+                           var _RectorId = "";//鏍¢暱ID(鍙┖)
+                           var _HasMoney = "";//闆惰姳閽�
+                           var _ShenJia = "";//韬环(鍙┖)
+                           var _IsInSchool = "";//鏄惁鍦ㄦ牎
+                           var _IsWDR = "";//鏄惁澶栧湴浜�(鍙┖)
+                           var _Gender = "";//鎬у埆
+                           var _OtherGender = "";//鍏朵粬鎬у埆(鍙┖)
+                           var _BrithDate = "";//鍑虹敓鏃ユ湡
+                           var _InSchoolDate = "";//鍏ュ鏃ユ湡(鍙┖)
+                          #endregion
+                          
+                          
+                          #region 鍙栧��
+                           _RepCheckType = row["閲嶅鎬ф牎楠屾柟寮�"]?.ToString() ;
+                           _TeacherId = row["鑰佸笀ID(鍙┖)"]?.ToString() ;
+                           _TeacherName = row["鑰佸笀鍚嶅瓧(鍙┖)"]?.ToString() ;
+                           _Name = row["瀛︾敓濮撳悕"]?.ToString() ;
+                           _AliName = row["鍒悕(鍙┖)"]?.ToString() ;
+                           _Age = row["瀛︾敓骞撮緞"]?.ToString() ;
+                           _NianJi = row["骞寸邯(鍙┖)"]?.ToString() ;
+                           _RectorId = row["鏍¢暱ID(鍙┖)"]?.ToString() ;
+                           _HasMoney = row["闆惰姳閽�"]?.ToString() ;
+                           _ShenJia = row["韬环(鍙┖)"]?.ToString() ;
+                           _IsInSchool = row["鏄惁鍦ㄦ牎"]?.ToString() ;
+                           _IsWDR = row["鏄惁澶栧湴浜�(鍙┖)"]?.ToString() ;
+                           _Gender = row["鎬у埆"]?.ToString() ;
+                           _OtherGender = row["鍏朵粬鎬у埆(鍙┖)"]?.ToString() ;
+                           _BrithDate = row["鍑虹敓鏃ユ湡"]?.ToString() ;
+                           _InSchoolDate = row["鍏ュ鏃ユ湡(鍙┖)"]?.ToString() ;
+                          #endregion
+                          
+                          
+                          #region 楠岃瘉
+                          if(!string.IsNullOrEmpty(_RepCheckType))
+                          {
+                                addItem.RepCheckType = (string)(_RepCheckType.Trim());
+                           }
+                          if(!string.IsNullOrEmpty(_TeacherId))
+                          {
+                              if (!long.TryParse(_TeacherId, out long outTeacherId)&&!string.IsNullOrEmpty(_TeacherId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鑰佸笀ID(鍙┖)]{_TeacherId}鍊间笉姝g‘锛�");
+                              }
+                              if (outTeacherId <= 0&&!string.IsNullOrEmpty(_TeacherId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鑰佸笀ID(鍙┖)]{_TeacherId}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.TeacherId = outTeacherId;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_TeacherName))
+                          {
+                                addItem.TeacherName = (string)(_TeacherName.Trim());
+                           }
+                          
+                          if (string.IsNullOrEmpty(_Name))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾瀛︾敓濮撳悕]{_Name}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_Name))
+                          {
+                                addItem.Name = (string)(_Name.Trim());
+                           }
+                          if(!string.IsNullOrEmpty(_AliName))
+                          {
+                                addItem.AliName = (string)(_AliName.Trim());
+                           }
+                          
+                          if (string.IsNullOrEmpty(_Age))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾瀛︾敓骞撮緞]{_Age}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_Age))
+                          {
+                              if (!int.TryParse(_Age, out int outAge)&&!string.IsNullOrEmpty(_Age))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾瀛︾敓骞撮緞]{_Age}鍊间笉姝g‘锛�");
+                              }
+                              if (outAge <= 0&&!string.IsNullOrEmpty(_Age))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾瀛︾敓骞撮緞]{_Age}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.Age = outAge;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_NianJi))
+                          {
+                              if (!int.TryParse(_NianJi, out int outNianJi)&&!string.IsNullOrEmpty(_NianJi))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾骞寸邯(鍙┖)]{_NianJi}鍊间笉姝g‘锛�");
+                              }
+                              if (outNianJi <= 0&&!string.IsNullOrEmpty(_NianJi))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾骞寸邯(鍙┖)]{_NianJi}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.NianJi = outNianJi;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_RectorId))
+                          {
+                              if (!long.TryParse(_RectorId, out long outRectorId)&&!string.IsNullOrEmpty(_RectorId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鏍¢暱ID(鍙┖)]{_RectorId}鍊间笉姝g‘锛�");
+                              }
+                              if (outRectorId <= 0&&!string.IsNullOrEmpty(_RectorId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鏍¢暱ID(鍙┖)]{_RectorId}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.RectorId = outRectorId;
+                              }
+                          
+                          }
+                          
+                          if (string.IsNullOrEmpty(_HasMoney))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾闆惰姳閽盷{_HasMoney}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_HasMoney))
+                          {
+                              if (!decimal.TryParse(_HasMoney, out decimal outHasMoney)&&!string.IsNullOrEmpty(_HasMoney))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾闆惰姳閽盷{_HasMoney}鍊间笉姝g‘锛�");
+                              }
+                              if (outHasMoney <= 0&&!string.IsNullOrEmpty(_HasMoney))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾闆惰姳閽盷{_HasMoney}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.HasMoney = outHasMoney;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_ShenJia))
+                          {
+                              if (!decimal.TryParse(_ShenJia, out decimal outShenJia)&&!string.IsNullOrEmpty(_ShenJia))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾韬环(鍙┖)]{_ShenJia}鍊间笉姝g‘锛�");
+                              }
+                              if (outShenJia <= 0&&!string.IsNullOrEmpty(_ShenJia))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾韬环(鍙┖)]{_ShenJia}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.ShenJia = outShenJia;
+                              }
+                          
+                          }
+                          
+                          if (string.IsNullOrEmpty(_IsInSchool))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾鏄惁鍦ㄦ牎]{_IsInSchool}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_IsInSchool))
+                          {
+                            if(!_IsInSchool.Equals("鏄�") && !_IsInSchool.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鏄惁鍦ㄦ牎]{_IsInSchool}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsInSchool = _IsInSchool.Equals("鏄�") ? true : false;
+                               addItem.IsInSchool = outIsInSchool;
+                             }
+                             }
+                          
+                          if(!string.IsNullOrEmpty(_IsWDR))
+                          {
+                            if(!_IsWDR.Equals("鏄�") && !_IsWDR.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鏄惁澶栧湴浜�(鍙┖)]{_IsWDR}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsWDR = _IsWDR.Equals("鏄�") ? true : false;
+                               addItem.IsWDR = outIsWDR;
+                             }
+                             }
+                          
+                          
+                          if (string.IsNullOrEmpty(_Gender))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾鎬у埆]{_Gender}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_Gender))
+                          {
+                          Admin.NET.Core.GenderEnum  enumGender = default(Admin.NET.Core.GenderEnum);
+                          
+                             if(!Enum.TryParse<Admin.NET.Core.GenderEnum>(_Gender, out enumGender)&&!string.IsNullOrEmpty(_Gender))
+                              {
+                                throw Oops.Oh($"绗瑊index}琛孾鎬у埆]{_Gender}鍊间笉姝g‘锛�");
+                              }
+                              else
+                              {
+                                 addItem.Gender = enumGender;
+                              }
+                          
+                           }
+                          if(!string.IsNullOrEmpty(_OtherGender))
+                          {
+                          Admin.NET.Core.GenderEnum  enumOtherGender = default(Admin.NET.Core.GenderEnum);
+                          
+                             if(!Enum.TryParse<Admin.NET.Core.GenderEnum>(_OtherGender, out enumOtherGender)&&!string.IsNullOrEmpty(_OtherGender))
+                              {
+                                throw Oops.Oh($"绗瑊index}琛孾鍏朵粬鎬у埆(鍙┖)]{_OtherGender}鍊间笉姝g‘锛�");
+                              }
+                              else
+                              {
+                                 addItem.OtherGender = enumOtherGender;
+                              }
+                          
+                           }
+                          
+                          if (string.IsNullOrEmpty(_BrithDate))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾鍑虹敓鏃ユ湡]{_BrithDate}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_BrithDate))
+                          {
+                                addItem.BrithDate = Convert.ToDateTime(Convert.ToDateTime(_BrithDate.Trim()).ToShortDateString());
+                           }
+                          if(!string.IsNullOrEmpty(_InSchoolDate))
+                          {
+                                addItem.InSchoolDate = Convert.ToDateTime(Convert.ToDateTime(_InSchoolDate.Trim()).ToShortDateString());
+                           }
+                          #endregion
+                          
+
+            details.Add(addItem);
+        }
+        //楠岄噸
+        await CheckExisitForImport(details);
+        return details;
+    }
+    
+    /// <summary>
+    /// 鏍规嵁鐗堟湰涓嬭浇娴嬭瘯瀛︾敓琛ㄧ殑Excel瀵煎叆妯℃澘
+    /// </summary>
+    /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "DownloadExcelTemplate")]
+    [Description("TestStudent/DownloadExcelTemplate")]
+    public IActionResult DownloadExcelTemplate()
+    {
+        string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\娴嬭瘯瀛︾敓琛▄TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
+        var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(娴嬭瘯瀛︾敓琛�).xlsx", Encoding.GetEncoding("UTF-8"));
+        return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
+    }
+    
+    #endregion
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ娴嬭瘯瀛︾敓琛ㄦ潯浠�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<TestStudentOutput> CommonPageFilter(TestStudentInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.RepCheckType.Contains(input.SearchKey.Trim())
+                || u.Name.Contains(input.SearchKey.Trim())
+                || u.AliName.Contains(input.SearchKey.Trim())
+                || u.CreateUserName.Contains(input.SearchKey.Trim())
+                || u.UpdateUserName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(!string.IsNullOrWhiteSpace(input.RepCheckType), u => u.RepCheckType.Contains(input.RepCheckType.Trim()))
+            .WhereIF(input.TeacherId>0, u => u.TeacherId == input.TeacherId)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.TeacherName), u => u.TeacherName.Contains(input.TeacherName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.AliName), u => u.AliName.Contains(input.AliName.Trim()))
+            .WhereIF(input.Age>0, u => u.Age == input.Age)
+            .WhereIF(input.NianJi>0, u => u.NianJi == input.NianJi)
+            .WhereIF(input.RectorId>0, u => u.RectorId == input.RectorId)
+            .WhereIF(input.IsInSchool.HasValue, u => u.IsInSchool == input.IsInSchool)
+            .WhereIF(input.IsWDR.HasValue, u => u.IsWDR == input.IsWDR)
+            .WhereIF(input.Gender.HasValue, u => u.Gender == input.Gender)
+            .WhereIF(input.OtherGender.HasValue, u => u.OtherGender == input.OtherGender)
+            .Select<TestStudentOutput>();
+        if(input.BrithDateRange != null && input.BrithDateRange.Count >0)
+        {
+            DateTime? start= input.BrithDateRange[0].Value.AddDays(-1);
+            query = query.WhereIF(start.HasValue, u => u.BrithDate > start);
+            if (input.BrithDateRange.Count >1 && input.BrithDateRange[1].HasValue)
+            {
+                var end = input.BrithDateRange[1].Value.AddDays(1);
+                query = query.Where(u => u.BrithDate < end);
+            }
+        } 
+        if(input.InSchoolDateRange != null && input.InSchoolDateRange.Count >0)
+        {
+            DateTime? start= input.InSchoolDateRange[0].Value.AddDays(-1);
+            query = query.WhereIF(start.HasValue, u => u.InSchoolDate > start);
+            if (input.InSchoolDateRange.Count >1 && input.InSchoolDateRange[1].HasValue)
+            {
+                var end = input.InSchoolDateRange[1].Value.AddDays(1);
+                query = query.Where(u => u.InSchoolDate < end);
+            }
+        } 
+        return query;
+       }
+
+        /// <summary>
+        /// 閲嶅鎬ч獙璇�
+        /// </summary>
+        /// <param name="input">楠岃瘉瀵硅薄</param>
+        /// <param name="isEdit">鏄惁鏄紪杈�</param>
+        /// <returns></returns>
+        private async Task CheckExist( TestStudent input,bool isEdit=false)
+        {
+           
+
+
+            //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+           
+            //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+       }
+
+       /// <summary>
+        /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<TestStudent> inputs)
+        { 
+            if (inputs?.Count <= 0)
+            {
+                throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+            }
+            //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                      
+
+
+
+
+
+
+          
+           //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+           
+           
+           
+        }
+     #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/iWare_RawMaterialWarehouse_Web/src/api/main/testStudent.ts b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/iWare_RawMaterialWarehouse_Web/src/api/main/testStudent.ts
new file mode 100644
index 0000000..9c9e5e9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/iWare_RawMaterialWarehouse_Web/src/api/main/testStudent.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddTestStudent = '/api/testStudent/add',
+  DeleteTestStudent = '/api/testStudent/delete',
+  UpdateTestStudent = '/api/testStudent/update',
+  PageTestStudent = '/api/testStudent/page',
+  ListTestStudent = '/api/testStudent/list',
+  DetailTestStudent = '/api/testStudent/detail',
+  ImportExcelTestStudent = '/api/testStudent/importExcel',
+  DownloadExcelTemplateTestStudent = '/api/testStudent/downloadExcelTemplate',
+}
+
+// 澧炲姞娴嬭瘯瀛︾敓琛�
+export const addTestStudent = (params?: any) =>
+	request({
+		url: Api.AddTestStudent,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎娴嬭瘯瀛︾敓琛�
+export const deleteTestStudent = (params?: any) => 
+	request({
+			url: Api.DeleteTestStudent,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫娴嬭瘯瀛︾敓琛�
+export const updateTestStudent = (params?: any) => 
+	request({
+			url: Api.UpdateTestStudent,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆娴嬭瘯瀛︾敓琛�
+export const importExcelTestStudent = (params?: any) =>
+	request({
+		url: Api.ImportExcelTestStudent,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆娴嬭瘯瀛︾敓琛ㄦā鏉�
+export const downloadExcelTemplateTestStudent = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateTestStudent,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ娴嬭瘯瀛︾敓琛�
+export const pageTestStudent = (params?: any) => 
+	request({
+			url: Api.PageTestStudent,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈡祴璇曞鐢熻〃
+export const listTestStudent = (params?: any) => 
+	request({
+			url: Api.ListTestStudent,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏娴嬭瘯瀛︾敓琛�
+export const detailTestStudent = (id: any) => 
+	request({
+			url: Api.DetailTestStudent,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/iWare_RawMaterialWarehouse_Web/src/views/main/testStudent/component/editDialog.vue b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/iWare_RawMaterialWarehouse_Web/src/views/main/testStudent/component/editDialog.vue
new file mode 100644
index 0000000..ef5a423
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/iWare_RawMaterialWarehouse_Web/src/views/main/testStudent/component/editDialog.vue
@@ -0,0 +1,264 @@
+锘�<template>
+	<div class="testStudent-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閲嶅鎬ф牎楠屾柟寮�" prop="repCheckType">
+							<el-input v-model="ruleForm.repCheckType" placeholder="璇疯緭鍏ラ噸澶嶆�ф牎楠屾柟寮�" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鑰佸笀ID(鍙┖)" prop="teacherId">
+							<el-input v-model="ruleForm.teacherId" placeholder="璇疯緭鍏ヨ�佸笀ID(鍙┖)" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鑰佸笀鍚嶅瓧(鍙┖)" prop="teacherName">
+							<el-input v-model="ruleForm.teacherName" placeholder="璇疯緭鍏ヨ�佸笀鍚嶅瓧(鍙┖)" maxlength="255" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀛︾敓濮撳悕" prop="name">
+							<el-input v-model="ruleForm.name" placeholder="璇疯緭鍏ュ鐢熷鍚�" maxlength="2000" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍒悕(鍙┖)" prop="aliName">
+							<el-input v-model="ruleForm.aliName" placeholder="璇疯緭鍏ュ埆鍚�(鍙┖)" maxlength="2000" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="瀛︾敓骞撮緞" prop="age">
+							<el-input-number v-model="ruleForm.age" placeholder="璇疯緭鍏ュ鐢熷勾榫�" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="骞寸邯(鍙┖)" prop="nianJi">
+							<el-input-number v-model="ruleForm.nianJi" placeholder="璇疯緭鍏ュ勾绾�(鍙┖)" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏍¢暱ID(鍙┖)" prop="rectorId">
+							<el-input v-model="ruleForm.rectorId" placeholder="璇疯緭鍏ユ牎闀縄D(鍙┖)" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="闆惰姳閽�" prop="hasMoney">
+							<el-input v-model="ruleForm.hasMoney" placeholder="璇疯緭鍏ラ浂鑺遍挶" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="韬环(鍙┖)" prop="shenJia">
+							<el-input v-model="ruleForm.shenJia" placeholder="璇疯緭鍏ヨ韩浠�(鍙┖)" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁鍦ㄦ牎" prop="isInSchool">
+							<el-switch v-model="ruleForm.isInSchool" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁澶栧湴浜�(鍙┖)" prop="isWDR">
+							<el-switch v-model="ruleForm.isWDR" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎬у埆" prop="gender">
+							<el-select clearable v-model="ruleForm.gender" placeholder="璇烽�夋嫨鎬у埆">
+								<el-option v-for="(item,index) in  getEnumGenderData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏朵粬鎬у埆(鍙┖)" prop="otherGender">
+							<el-select clearable v-model="ruleForm.otherGender" placeholder="璇烽�夋嫨鍏朵粬鎬у埆(鍙┖)">
+								<el-option v-for="(item,index) in  getEnumOtherGenderData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍑虹敓鏃ユ湡" prop="brithDate">
+							<el-date-picker v-model="ruleForm.brithDate" type="date" placeholder="鍑虹敓鏃ユ湡" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍏ュ鏃ユ湡(鍙┖)" prop="inSchoolDate">
+							<el-date-picker v-model="ruleForm.inSchoolDate" type="date" placeholder="鍏ュ鏃ユ湡(鍙┖)" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addTestStudent, updateTestStudent, detailTestStudent } from "/@/api/main/TestDemo/testStudent";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumGenderData = ref<any>([]);
+	const getEnumOtherGenderData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		name: [{required: true, message: '璇疯緭鍏ュ鐢熷鍚嶏紒', trigger: 'blur',},],
+		age: [{required: true, message: '璇疯緭鍏ュ鐢熷勾榫勶紒', trigger: 'blur',},],
+		hasMoney: [{required: true, message: '璇疯緭鍏ラ浂鑺遍挶锛�', trigger: 'blur',},],
+		isInSchool: [{required: true, message: '璇烽�夋嫨鏄惁鍦ㄦ牎锛�', trigger: 'change',},],
+		gender: [{required: true, message: '璇烽�夋嫨鎬у埆锛�', trigger: 'change',},],
+		brithDate: [{required: true, message: '璇烽�夋嫨鍑虹敓鏃ユ湡锛�', trigger: 'change',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailTestStudent(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+			ruleForm.value.isInSchool = false;//蹇呭~锛岃祴鍊奸粯璁ゅ��
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addTestStudent(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateTestStudent(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumGenderData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AreaTypeEnum')).data.result ?? [];
+			getEnumOtherGenderData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('ActionLogTypeEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/iWare_RawMaterialWarehouse_Web/src/views/main/testStudent/index.vue b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/iWare_RawMaterialWarehouse_Web/src/views/main/testStudent/index.vue
new file mode 100644
index 0000000..8ff430f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen/TestStudent/iWare_RawMaterialWarehouse_Web/src/views/main/testStudent/index.vue
@@ -0,0 +1,426 @@
+锘�<template>
+  <div class="testStudent-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsTestStudent" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsTestStudent.searchKey" clearable="" placeholder="閲嶅鎬ф牎楠屾柟寮�,瀛︾敓濮撳悕,鍒悕(鍙┖),鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="閲嶅鎬ф牎楠屾柟寮�">
+              <el-input v-model="queryParamsTestStudent.repCheckType" clearable="" placeholder="璇疯緭鍏ラ噸澶嶆�ф牎楠屾柟寮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鑰佸笀ID(鍙┖)">
+              <el-input v-model="queryParamsTestStudent.teacherId" clearable="" placeholder="璇疯緭鍏ヨ�佸笀ID(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鑰佸笀鍚嶅瓧(鍙┖)">
+              <el-input v-model="queryParamsTestStudent.teacherName" clearable="" placeholder="璇疯緭鍏ヨ�佸笀鍚嶅瓧(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="瀛︾敓濮撳悕">
+              <el-input v-model="queryParamsTestStudent.name" clearable="" placeholder="璇疯緭鍏ュ鐢熷鍚�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鍒悕(鍙┖)">
+              <el-input v-model="queryParamsTestStudent.aliName" clearable="" placeholder="璇疯緭鍏ュ埆鍚�(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="瀛︾敓骞撮緞">
+              <el-input-number v-model="queryParamsTestStudent.age"  clearable="" placeholder="璇疯緭鍏ュ鐢熷勾榫�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="骞寸邯(鍙┖)">
+              <el-input-number v-model="queryParamsTestStudent.nianJi"  clearable="" placeholder="璇疯緭鍏ュ勾绾�(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鏍¢暱ID(鍙┖)">
+              <el-input v-model="queryParamsTestStudent.rectorId" clearable="" placeholder="璇疯緭鍏ユ牎闀縄D(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="闆惰姳閽�">
+              <el-input v-model="queryParamsTestStudent.hasMoney" clearable="" placeholder="璇疯緭鍏ラ浂鑺遍挶"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="韬环(鍙┖)">
+              <el-input v-model="queryParamsTestStudent.shenJia" clearable="" placeholder="璇疯緭鍏ヨ韩浠�(鍙┖)"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鏄惁鍦ㄦ牎">
+              <el-select clearable="" v-model="queryParamsTestStudent.isInSchool" placeholder="璇烽�夋嫨鏄惁鍦ㄦ牎">
+                <el-option v-for="(item,index) in getEnumIsInSchoolData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鏄惁澶栧湴浜�(鍙┖)">
+              <el-select clearable="" v-model="queryParamsTestStudent.isWDR" placeholder="璇烽�夋嫨鏄惁澶栧湴浜�(鍙┖)">
+                <el-option v-for="(item,index) in getEnumIsWDRData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鎬у埆">
+              <el-select clearable="" v-model="queryParamsTestStudent.gender" placeholder="璇烽�夋嫨鎬у埆">
+                <el-option v-for="(item,index) in getEnumGenderData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鍏朵粬鎬у埆(鍙┖)">
+              <el-select clearable="" v-model="queryParamsTestStudent.otherGender" placeholder="璇烽�夋嫨鍏朵粬鎬у埆(鍙┖)">
+                <el-option v-for="(item,index) in getEnumOtherGenderData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鍑虹敓鏃ユ湡">
+              <el-date-picker placeholder="璇烽�夋嫨鍑虹敓鏃ユ湡" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsTestStudent.brithDateRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUITestStudent">
+            <el-form-item label="鍏ュ鏃ユ湡(鍙┖)">
+              <el-date-picker placeholder="璇烽�夋嫨鍏ュ鏃ユ湡(鍙┖)" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsTestStudent.inSchoolDateRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryTestStudent" v-auth="'testStudent:page'" :disabled="disabled_btnTestStudent"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetTestStudent"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUITestStudent" v-if="!showAdvanceQueryUITestStudent" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUITestStudent" v-if="showAdvanceQueryUITestStudent" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddTestStudent" v-auth="'testStudent:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelTestStudent"  v-auth="'testStudent:importExcel'" > 瀵煎叆 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelTestStudent"  v-auth="'testStudent:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefTestStudent"
+				:data="tableDataTestStudent"
+				style="width: 100%"
+				v-loading="loadingTestStudent"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeTestStudent"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="repCheckType" label="閲嶅鎬ф牎楠屾柟寮�"  show-overflow-tooltip="" />
+        <el-table-column prop="teacherId" label="鑰佸笀ID(鍙┖)"  show-overflow-tooltip="" />
+        <el-table-column prop="teacherName" label="鑰佸笀鍚嶅瓧(鍙┖)"  show-overflow-tooltip="" />
+        <el-table-column prop="name" label="瀛︾敓濮撳悕"  show-overflow-tooltip="" />
+        <el-table-column prop="aliName" label="鍒悕(鍙┖)"  show-overflow-tooltip="" />
+        <el-table-column prop="age" label="瀛︾敓骞撮緞"  show-overflow-tooltip="" />
+        <el-table-column prop="nianJi" label="骞寸邯(鍙┖)"  show-overflow-tooltip="" />
+        <el-table-column prop="rectorId" label="鏍¢暱ID(鍙┖)"  show-overflow-tooltip="" />
+        <el-table-column prop="hasMoney" label="闆惰姳閽�"  show-overflow-tooltip="" />
+        <el-table-column prop="shenJia" label="韬环(鍙┖)"  show-overflow-tooltip="" />
+        <el-table-column prop="isInSchool" label="鏄惁鍦ㄦ牎"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isInSchool"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="isWDR" label="鏄惁澶栧湴浜�(鍙┖)"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isWDR"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+          <el-table-column prop="gender" label="鎬у埆"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.gender, getEnumGenderData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column prop="otherGender" label="鍏朵粬鎬у埆(鍙┖)"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.otherGender, getEnumOtherGenderData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+         <el-table-column prop="brithDate" label="鍑虹敓鏃ユ湡" width="80" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+         <el-table-column prop="inSchoolDate" label="鍏ュ鏃ユ湡(鍙┖)" width="80" :formatter="formatDate_T_Date"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="200" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('testStudent:update') || auth('testStudent:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Printer" size="small" text="" type="primary" @click="openPrintTestStudent(scope.row)" v-auth="'testStudent:print'"> 鎵撳嵃 </el-button>
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditTestStudent(scope.row)" v-auth="'testStudent:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delTestStudent(scope.row)" v-auth="'testStudent:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsTestStudent.page"
+				v-model:page-size="tableParamsTestStudent.pageSize"
+				:total="tableParamsTestStudent.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeTestStudent"
+				@current-change="handleCurrentChangeTestStudent"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogTestStudent
+        ref="printDialogRefTestStudent"
+        :title="printTestStudentTitle"
+        @reloadTable="handleQueryTestStudent" />
+      <editDialogTestStudent
+        ref="editDialogRefTestStudent"
+        :title="editTestStudentTitle"
+        @reloadTable="handleQueryTestStudent"
+      />
+      <importExcelDialog
+        ref="importExcelDialogRefTestStudent"
+        :title="importExcelTitleTestStudent"
+        @parentUploadFun="handleImportExcelTestStudent"
+        @parentDownFun="handleDownExcelTestStudent"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="testStudent">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+  // 鎺ㄨ崘璁剧疆鎿嶄綔 width 涓� 200
+  import { hiprint } from 'vue-plugin-hiprint';
+  import { SysPrintApi } from '/@/api-services/api';
+  import { SysPrint } from '/@/api-services/models';
+
+  import printDialogTestStudent from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogTestStudent from '/@/views/main/TestDemo/testStudent/component/editDialog.vue'
+  import { pageTestStudent, deleteTestStudent,importExcelTestStudent,downloadExcelTemplateTestStudent } from '/@/api/main/TestDemo/testStudent';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumIsInSchoolData_Index = ref<any>([]);
+  const getEnumIsWDRData_Index = ref<any>([]);
+  const getEnumGenderData_Index = ref<any>([]);
+  const getEnumOtherGenderData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[娴嬭瘯瀛︾敓琛ㄦ搷浣淽寮�濮�***************************************************/
+  const showAdvanceQueryUITestStudent = ref(false);
+  const tableRefTestStudent = ref(null);
+  const printDialogRefTestStudent = ref();
+  const editDialogRefTestStudent = ref();
+  const loadingTestStudent = ref(false);
+  const disabled_btnTestStudent = ref(false);
+  const tableDataTestStudent = ref<any>([]);
+  const queryParamsTestStudent = ref<any>({});
+  const tableParamsTestStudent = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printTestStudentTitle = ref("");
+  const editTestStudentTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUITestStudent = () => {
+    showAdvanceQueryUITestStudent.value = !showAdvanceQueryUITestStudent.value;
+  }
+
+  // 鏌ヨ娴嬭瘯瀛︾敓琛�
+  const handleQueryTestStudent = async () => {
+    loadingTestStudent.value = true;
+    disabled_btnTestStudent.value = true;
+    var res = await pageTestStudent(Object.assign(queryParamsTestStudent.value, tableParamsTestStudent.value));
+    if(res.data.type=="success"){
+      tableDataTestStudent.value = res.data.result?.items ?? [];
+      tableParamsTestStudent.value.total = res.data.result?.total;
+    }
+    loadingTestStudent.value = false;
+    disabled_btnTestStudent.value = false;
+  };
+
+  // 閲嶇疆娴嬭瘯瀛︾敓琛ㄦ煡璇�
+  const resetTestStudent = async () => {
+    queryParamsTestStudent.value = {}
+  };
+
+  // 娴嬭瘯瀛︾敓琛ㄥ垪鎺掑簭
+  const sortChangeTestStudent = async (column: any) => {
+	queryParamsTestStudent.value.field = column.prop;
+	queryParamsTestStudent.value.order = column.order;
+	await handleQueryTestStudent();
+  };
+
+  // 鎵撳紑鏂板娴嬭瘯瀛︾敓琛ㄩ〉闈�
+  const openAddTestStudent = () => {
+    editTestStudentTitle.value = '娣诲姞娴嬭瘯瀛︾敓琛�';
+    editDialogRefTestStudent.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃娴嬭瘯瀛︾敓琛ㄩ〉闈�
+  const openPrintTestStudent = async (row: any) => {
+    printTestStudentTitle.value = '鎵撳嵃娴嬭瘯瀛︾敓琛�';
+    var res = await getAPI(SysPrintApi).apiSysPrintPrintNameGet('娴嬭瘯鎵撳嵃妯$増');
+	  var printTemplate = res.data.result as SysPrint;
+    var template = JSON.parse(printTemplate.template);
+    row['printDate'] = formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS')
+    printDialogRefTestStudent.value.showDialog(new hiprint.PrintTemplate({template: template}), row, template.panels[0].width);
+  }
+  
+  // 鎵撳紑缂栬緫娴嬭瘯瀛︾敓琛ㄩ〉闈�
+  const openEditTestStudent = (row: any) => {
+    editTestStudentTitle.value = '缂栬緫娴嬭瘯瀛︾敓琛�';
+    editDialogRefTestStudent.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎娴嬭瘯瀛︾敓琛�
+  const delTestStudent = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingTestStudent.value = true;
+    var ret = await deleteTestStudent(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingTestStudent.value = false;
+    handleQueryTestStudent();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉娴嬭瘯瀛︾敓琛ㄩ〉闈㈠閲�
+  const handleSizeChangeTestStudent = (val: number) => {
+    tableParamsTestStudent.value.pageSize = val;
+    handleQueryTestStudent();
+  };
+
+  // 鏀瑰彉娴嬭瘯瀛︾敓琛ㄩ〉鐮佸簭鍙�
+  const handleCurrentChangeTestStudent = (val: number) => {
+    tableParamsTestStudent.value.page = val;
+    handleQueryTestStudent();
+  };
+
+/***************************************************[娴嬭瘯瀛︾敓琛ㄦ搷浣淽缁撴潫***************************************************/
+/***************************************************[娴嬭瘯瀛︾敓琛ㄥ鍏寮�濮�***************************************************/
+const importExcelTitleTestStudent = ref("");
+const importExcelDialogRefTestStudent = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelTestStudent = () => {
+    importExcelTitleTestStudent.value = '瀵煎叆娴嬭瘯瀛︾敓琛�';
+    importExcelDialogRefTestStudent.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelTestStudent = async (formData:Blob) => {
+   var result = await importExcelTestStudent(formData);
+   importExcelDialogRefTestStudent.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+   if(result.data.type=="success"){
+    handleQueryTestStudent();
+   }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelTestStudent = async () => {
+   var result = await downloadExcelTemplateTestStudent();
+   importExcelDialogRefTestStudent.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[娴嬭瘯瀛︾敓琛ㄥ鍏缁撴潫***************************************************/
+/***************************************************[娴嬭瘯瀛︾敓琛ㄥ鍑篯寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapTestStudent = {
+      getEnumIsInSchoolData_Index,
+      getEnumIsWDRData_Index,
+      getEnumGenderData_Index,
+      getEnumOtherGenderData_Index,
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelTestStudent = async (formData:Blob) => {
+    loadingTestStudent.value = true;
+    disabled_btnTestStudent.value = true;
+    var new_tableParamsTestStudent=JSON.parse(JSON.stringify(tableParamsTestStudent.value));
+    new_tableParamsTestStudent.page = 1;
+    new_tableParamsTestStudent.pageSize = 100000;
+    var res = await pageTestStudent(Object.assign(queryParamsTestStudent.value, new_tableParamsTestStudent));
+    if(res.data.type=="success"){
+      exportExcelTestStudent(res.data.result?.items ?? []);
+    }
+    loadingTestStudent.value = false;
+    disabled_btnTestStudent.value = false;
+};
+//瀵煎嚭
+const exportExcelTestStudent  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefTestStudent,"娴嬭瘯瀛︾敓琛�",functionMapTestStudent);
+};
+/***************************************************[娴嬭瘯瀛︾敓琛ㄥ鍑篯缁撴潫***************************************************/
+  // 娴嬭瘯瀛︾敓琛ㄩ〉闈㈠姞杞芥椂
+  onMounted(async () => {
+    getEnumIsInSchoolData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+    getEnumIsWDRData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+    getEnumGenderData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AreaTypeEnum')).data.result ?? [];
+    getEnumOtherGenderData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('ActionLogTypeEnum')).data.result ?? [];
+  });
+
+  handleQueryTestStudent();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/ASN\345\215\225\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/ASN\345\215\225\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..1996825
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/ASN\345\215\225\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/CommonTemplate.xlsx b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/CommonTemplate.xlsx
new file mode 100644
index 0000000..90653fa
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/CommonTemplate.xlsx
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/DO\345\215\225\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/DO\345\215\225\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..a991711
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/DO\345\215\225\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/PO\345\215\225\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/PO\345\215\225\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..f6c0637
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/PO\345\215\225\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\345\256\271\345\231\250\344\277\241\346\201\257\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\345\256\271\345\231\250\344\277\241\346\201\257\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..4399f52
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\345\256\271\345\231\250\344\277\241\346\201\257\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\345\272\223\344\275\215\344\277\241\346\201\257\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\345\272\223\344\275\215\344\277\241\346\201\257\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..5924c57
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\345\272\223\344\275\215\344\277\241\346\201\257\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\345\272\223\345\255\230\345\277\253\347\205\247\346\230\216\347\273\206\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\345\272\223\345\255\230\345\277\253\347\205\247\346\230\216\347\273\206\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..6ddb91f
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\345\272\223\345\255\230\345\277\253\347\205\247\346\230\216\347\273\206\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\345\276\200\346\235\245\345\215\225\344\275\215\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\345\276\200\346\235\245\345\215\225\344\275\215\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..f7738a7
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\345\276\200\346\235\245\345\215\225\344\275\215\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\235\241\347\240\201\347\224\237\346\210\220\350\247\204\345\210\231\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\235\241\347\240\201\347\224\237\346\210\220\350\247\204\345\210\231\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..df8245b
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\235\241\347\240\201\347\224\237\346\210\220\350\247\204\345\210\231\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\263\242\346\254\241\345\215\225\346\230\216\347\273\206\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\263\242\346\254\241\345\215\225\346\230\216\347\273\206\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..79e4e3f
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\263\242\346\254\241\345\215\225\346\230\216\347\273\206\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\265\213\350\257\225\345\255\246\347\224\237\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\265\213\350\257\225\345\255\246\347\224\237\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..5617b9d
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\265\213\350\257\225\345\255\246\347\224\237\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\265\213\350\257\225\350\200\201\345\270\210\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\265\213\350\257\225\350\200\201\345\270\210\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..63fb3f4
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\265\213\350\257\225\350\200\201\345\270\210\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\211\251\346\226\231\344\277\241\346\201\257\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\211\251\346\226\231\344\277\241\346\201\257\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..6b088ce
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\211\251\346\226\231\344\277\241\346\201\257\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\233\230\347\202\271\345\215\225\346\215\256\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\233\230\347\202\271\345\215\225\346\215\256\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..31e7ae5
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\233\230\347\202\271\345\215\225\346\215\256\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\233\230\347\202\271\345\215\225\346\230\216\347\273\206\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\233\230\347\202\271\345\215\225\346\230\216\347\273\206\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..1ae5320
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\233\230\347\202\271\345\215\225\346\230\216\347\273\206\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\233\230\347\202\271\350\214\203\345\233\264\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\233\230\347\202\271\350\214\203\345\233\264\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..1bfccc6
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\233\230\347\202\271\350\214\203\345\233\264\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\233\230\347\202\271\350\256\241\345\210\222\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\233\230\347\202\271\350\256\241\345\210\222\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..b626408
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\233\230\347\202\271\350\256\241\345\210\222\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\233\230\347\202\271\350\256\241\345\210\222\346\230\216\347\273\206\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\233\230\347\202\271\350\256\241\345\210\222\346\230\216\347\273\206\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..aaf9339
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\233\230\347\202\271\350\256\241\345\210\222\346\230\216\347\273\206\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\247\273\345\212\250\345\215\225\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\247\273\345\212\250\345\215\225\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..6f08880
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\347\247\273\345\212\250\345\215\225\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\351\200\202\351\205\215\345\231\250\345\244\247\347\261\273\347\256\241\347\220\206\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\351\200\202\351\205\215\345\231\250\345\244\247\347\261\273\347\256\241\347\220\206\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..abaee14
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\351\200\202\351\205\215\345\231\250\345\244\247\347\261\273\347\256\241\347\220\206\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\351\200\202\351\205\215\345\231\250\347\256\241\347\220\206\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\351\200\202\351\205\215\345\231\250\347\256\241\347\220\206\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..4513513
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\351\200\202\351\205\215\345\231\250\347\256\241\347\220\206\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\351\200\202\351\205\215\350\256\260\345\275\225\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\351\200\202\351\205\215\350\256\260\345\275\225\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..c6442ca
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\351\200\202\351\205\215\350\256\260\345\275\225\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/PDAUpdate/1.0.1.wgt b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/PDAUpdate/1.0.1.wgt
new file mode 100644
index 0000000..3d57989
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/PDAUpdate/1.0.1.wgt
Binary files differ
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/PDAUpdate/\350\257\264\346\230\216.txt" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/PDAUpdate/\350\257\264\346\230\216.txt"
new file mode 100644
index 0000000..4be3645
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/PDAUpdate/\350\257\264\346\230\216.txt"
@@ -0,0 +1 @@
+杩欓噷鏀剧疆闇�瑕佸崌绾х殑wgt鏂囦欢
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Dto.cs.vm b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Dto.cs.vm
new file mode 100644
index 0000000..196f2fe
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Dto.cs.vm
@@ -0,0 +1,24 @@
+锘縩amespace @Model.NameSpace;
+
+    /// <summary>
+    /// @(@Model.BusName)杈撳嚭鍙傛暟
+    /// </summary>
+    public class @(@Model.ClassName)Dto
+    {
+@foreach (var column in Model.TableField){
+if(@column.EffectType == "fk" && @column.FkEntityName != "" && @column.FkColumnName != ""){
+        @:/// <summary>
+        @:/// @column.ColumnComment
+        @:/// </summary>
+        @:public @(@column.FkColumnNetType) @(@column.PropertyName)_@(@column.FkColumnName) { get; set; }
+        @:
+}
+}
+@foreach (var column in Model.TableField){
+        @:/// <summary>
+        @:/// @column.ColumnComment
+        @:/// </summary>
+        @:public @column.NetType @column.PropertyName { get; set; }
+        @:
+}
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Entity.cs.vm b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Entity.cs.vm
new file mode 100644
index 0000000..3fc3c22
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Entity.cs.vm
@@ -0,0 +1,90 @@
+锘緻if(@Model.BaseClassName!=""){
+@:using Admin.NET.Core;
+}
+namespace @Model.NameSpace;
+
+/// <summary>
+/// @(@Model.Description)
+/// </summary>
+[SugarTable("@(@Model.TableName)","@(@Model.Description)")]
+public class @(@Model.EntityName) @Model.BaseClassName
+{
+@foreach (var column in Model.TableField){
+if(@Model.BaseClassName=="" && @column.IsPrimarykey){
+    @:/// <summary>
+    @:/// @column.ColumnDescription
+    @:/// </summary>
+    if(!@column.IsNullable){
+    @:[Required]
+    }
+    if(@column.DataType=="string"||@column.DataType=="string?"){
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true, Length = @column.Length)]
+    }
+    else if(@column.DataType=="decimal"||@column.DataType=="decimal?"){
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true, Length = @column.Length, DecimalDigits=@column.DecimalDigits )]
+    }    
+    else{
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true)]
+    }
+    @:public @column.DataType @column.PropertyName { get; set; }
+    @:
+}
+else if(@Model.BaseClassName=="" && !@column.IsPrimarykey){
+    @:/// <summary>
+    @:/// @column.ColumnDescription
+    @:/// </summary>
+    if(!@column.IsNullable){
+    @:[Required]
+    }
+    if(@column.DataType=="string"||@column.DataType=="string?"){
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", ColumnDescription = "@column.ColumnDescription", Length = @column.Length)]
+    }
+    else if(@column.DataType=="decimal"||@column.DataType=="decimal?"){
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", ColumnDescription = "@column.ColumnDescription", Length = @column.Length, DecimalDigits=@column.DecimalDigits )]
+    } 
+    else{
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", ColumnDescription = "@column.ColumnDescription")]
+    }
+    @:public @column.DataType @column.PropertyName { get; set; }
+    @:
+}
+else if(@Model.BaseClassName!="" && @column.IsPrimarykey && @column.DbColumnName.ToLower()!="id"){
+    @:/// <summary>
+    @:/// @column.ColumnDescription
+    @:/// </summary>
+    if(!@column.IsNullable){
+    @:[Required]
+    }
+    if(@column.DataType=="string"||@column.DataType=="string?"){
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true, Length = @column.Length)]
+    }
+    else if(@column.DataType=="decimal"||@column.DataType=="decimal?"){
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true, Length = @column.Length, DecimalDigits=@column.DecimalDigits )]
+    } 
+    else{
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true)]
+    }
+    @:public @column.DataType @column.PropertyName { get; set; }
+    @:
+}
+else if(@Model.BaseClassName!="" && !@column.IsPrimarykey && @column.DbColumnName.ToLower()!="id"){
+    @:/// <summary>
+    @:/// @column.ColumnDescription
+    @:/// </summary>
+    if(!@column.IsNullable){
+    @:[Required]
+    }
+    if(@column.DataType=="string"||@column.DataType=="string?"){
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", ColumnDescription = "@column.ColumnDescription", Length = @column.Length)]
+    }
+    else if(@column.DataType=="decimal"||@column.DataType=="decimal?"){
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", ColumnDescription = "@column.ColumnDescription", Length = @column.Length, DecimalDigits=@column.DecimalDigits )]
+    }
+    else{
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", ColumnDescription = "@column.ColumnDescription")]
+    }
+    @:public @column.DataType @column.PropertyName { get; set; }
+    @:
+}
+}
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Input.cs.vm b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Input.cs.vm
new file mode 100644
index 0000000..810ecaf
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Input.cs.vm
@@ -0,0 +1,115 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace @Model.NameSpace;
+
+    /// <summary>
+    /// @(@Model.BusName)鍩虹杈撳叆鍙傛暟
+    /// </summary>
+    public class @(@Model.ClassName)BaseInput
+    {
+@foreach (var column in Model.TableField){
+if (@column.ColumnKey != "True"){
+
+        @:/// <summary>
+        @:/// @column.ColumnComment
+        @:/// </summary>
+        @:public virtual @column.NetType@column.NetTypeIsNullLableForAddEditOutParam @column.PropertyName { get; set; }
+        @:
+}
+}
+    }
+
+    /// <summary>
+    /// @(@Model.BusName)鍒嗛〉鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class @(@Model.ClassName)Input : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+@foreach (var column in Model.TableField){
+    if (@column.QueryWhether == "Y"){
+
+        @:/// <summary>
+        @:/// @column.ColumnComment
+        @:/// </summary>
+        if(@column.NetType?.EndsWith("?") == true){
+        @:public @column.NetType @column.PropertyName { get; set; }
+        }else {
+        @:public @(@column.NetType)? @column.PropertyName { get; set; }
+        }
+        @:
+
+    if(@column.NetType?.TrimEnd('?') == "DateTime" && @column.QueryType == "~"){
+        @:/// <summary>
+        @: /// @(@column.ColumnComment)鑼冨洿
+        @: /// </summary>
+        @: public List<DateTime?> @(@column.PropertyName)Range { get; set; } 
+
+}
+
+}
+}
+    }
+
+    /// <summary>
+    /// @(@Model.BusName)澧炲姞杈撳叆鍙傛暟
+    /// </summary>
+    public class Add@(@Model.ClassName)Input : @(@Model.ClassName)BaseInput
+    {
+@foreach (var column in Model.TableField){
+if (@column.WhetherRequired == "Y"){
+        @:/// <summary>
+        @:/// @column.ColumnComment
+        @:/// </summary>
+        @:[Required(ErrorMessage = "@(@column.ColumnComment)涓嶈兘涓虹┖")]
+        @:public override @column.NetType @column.PropertyName { get; set; }
+        @:
+}
+}
+    }
+
+    /// <summary>
+    /// @(@Model.BusName)鍒犻櫎杈撳叆鍙傛暟
+    /// </summary>
+    public class Delete@(@Model.ClassName)Input : BaseIdInput
+    {
+@foreach (var column in Model.TableField){
+if (@column.ColumnKey == "True" && @column.PropertyName != "Id"){
+        @:/// <summary>
+        @:/// @column.ColumnComment
+        @:/// </summary>
+        @:[Required(ErrorMessage = "@(@column.ColumnComment)涓嶈兘涓虹┖")]
+        @:public @column.NetType @column.PropertyName { get; set; }
+        @:
+}
+}
+    }
+
+    /// <summary>
+    /// @(@Model.BusName)鏇存柊杈撳叆鍙傛暟
+    /// </summary>
+    public class Update@(@Model.ClassName)Input : Add@(@Model.ClassName)Input
+    {
+@foreach (var column in Model.TableField){
+if (@column.ColumnKey == "True"){
+        @:/// <summary>
+        @:/// @column.ColumnComment
+        @:/// </summary>
+        @:[Required(ErrorMessage = "@(@column.ColumnComment)涓嶈兘涓虹┖")]
+        @:public @column.NetType @column.PropertyName { get; set; }
+        @:
+}
+}
+    }
+
+    /// <summary>
+    /// @(@Model.BusName)涓婚敭鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class QueryById@(@Model.ClassName)Input : Delete@(@Model.ClassName)Input
+    {
+
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Manage.js.vm b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Manage.js.vm
new file mode 100644
index 0000000..5e2c8dd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Manage.js.vm
@@ -0,0 +1,148 @@
+@{Dictionary<string, int> definedObjects = new Dictionary<string, int>();}
+@{string my_message = string.Empty;}
+import request from '/@@/utils/request';
+enum Api {
+  Add@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/add',
+  Delete@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/delete',
+  Update@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/update',
+  Page@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/page',
+  List@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/list',
+  Detail@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/detail',
+  ImportExcel@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/importExcel',
+  DownloadExcelTemplate@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/downloadExcelTemplate',
+  @foreach (var column in Model.TableField){
+  my_message="Get"+@column.FkEntityName+"Tree";
+if(@column.EffectType == "fk" && (@column.WhetherAddUpdate == "Y" || column.QueryWhether == "Y")){
+  @:Get@(@column.FkEntityName)@(@column.PropertyName)Dropdown = '/api/@(@Model.LowerClassName)/@(@column.FkEntityName)@(@column.PropertyName)Dropdown',
+}else if(@column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey(@my_message)){
+  definedObjects.Add(@my_message, 1);
+  @:Get@(@column.FkEntityName)Tree = '/api/@(@Model.LowerClassName)/@(@column.FkEntityName)Tree',
+}else if(@column.EffectType == "Upload"){
+  @:Upload@(@column.PropertyName) = '/api/@(@Model.LowerClassName)/Upload@(@column.PropertyName)',
+}
+}
+}
+
+// 澧炲姞@(@Model.BusName)
+export const add@(@Model.ClassName) = (params?: any) =>
+	request({
+		url: Api.Add@(@Model.ClassName),
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎@(@Model.BusName)
+export const delete@(@Model.ClassName) = (params?: any) => 
+	request({
+			url: Api.Delete@(@Model.ClassName),
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫@(@Model.BusName)
+export const update@(@Model.ClassName) = (params?: any) => 
+	request({
+			url: Api.Update@(@Model.ClassName),
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆@(@Model.BusName)
+export const importExcel@(@Model.ClassName) = (params?: any) =>
+	request({
+		url: Api.ImportExcel@(@Model.ClassName),
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆@(@Model.BusName)妯℃澘
+export const downloadExcelTemplate@(@Model.ClassName) = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplate@(@Model.ClassName),
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ@(@Model.BusName)
+export const page@(@Model.ClassName) = (params?: any) => 
+	request({
+			url: Api.Page@(@Model.ClassName),
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇(@Model.BusName)
+export const list@(@Model.ClassName) = (params?: any) => 
+	request({
+			url: Api.List@(@Model.ClassName),
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏@(@Model.BusName)
+export const detail@(@Model.ClassName) = (id: any) => 
+	request({
+			url: Api.Detail@(@Model.ClassName),
+			method: 'get',
+			data: { id }
+		});
+@{definedObjects = new Dictionary<string, int>();}
+@foreach (var column in Model.TableField){
+    my_message="Get"+@column.FkEntityName+"Tree";
+	if(@column.EffectType == "fk" && (@column.WhetherAddUpdate == "Y" || column.QueryWhether == "Y")){
+@:export const get@(@column.FkEntityName)@(@column.PropertyName)Dropdown = () =>
+		@:request({
+		@:url: Api.Get@(@column.FkEntityName)@(@column.PropertyName)Dropdown,
+		@:method: 'get'
+		@:});
+	}else if(@column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey(@my_message)){
+		@{definedObjects.Add(@my_message, 1);}
+@:export const get@(@column.FkEntityName)Tree = () =>
+		@:request({
+		@:url: Api.Get@(@column.FkEntityName)Tree,
+		@:method: 'get'
+		@:});
+    }else if(@column.EffectType == "Upload"){
+	
+	@:/**
+	@:* 涓婁紶@(@column.ColumnComment) 
+	@:*/
+@:export const upload@(@column.PropertyName) = (params: any) =>
+		@:uploadFileHandle(params, Api.Upload@(@column.PropertyName))
+		}
+}
+
+@foreach (var column in Model.TableField){
+	if(@column.EffectType == "Upload"){
+	@:export const uploadFileHandle = (params: any, url: string) => { 
+	@:const formData = new window.FormData();
+	@:formData.append('file', params.file);
+	@://鑷畾涔夊弬鏁�
+	@:if (params.data) {
+		@:Object.keys(params.data).forEach((key) => {
+			@:const value = params.data![key];
+			@:if (Array.isArray(value)) {
+				@:value.forEach((item) => {
+					@:formData.append(`${key}[]`, item);
+				@:});
+				@:return;
+			@:}
+			@:formData.append(key, params.data![key]);
+		@:});
+	@:}
+	@:return request({
+		@:url: url,
+		@:method: 'POST',
+		@:data: formData,
+		@:headers: {
+			@:'Content-type': 'multipart/form-data;charset=UTF-8',
+			@:// ts-ignore
+			@:ignoreCancelToken: true,
+		@:},
+	@:});
+@:};
+		break;
+		}
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Output.cs.vm b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Output.cs.vm
new file mode 100644
index 0000000..0643914
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Output.cs.vm
@@ -0,0 +1,58 @@
+锘縩amespace @Model.NameSpace;
+
+/// <summary>
+/// @(@Model.BusName)杈撳嚭鍙傛暟
+/// </summary>
+public class @(@Model.ClassName)Output
+{
+@foreach (var column in Model.TableField){
+    @:/// <summary>
+    @:/// @column.ColumnComment
+    @:/// </summary>
+if(column.EffectType == "fk")
+{
+    @:public @column.NetType @column.PropertyName { get; set; } 
+    @:
+    @:/// <summary>
+    @:/// @(column.ColumnComment) 鎻忚堪
+    @:/// </summary>
+    @:public @(@column.FkColumnNetType) @(@column.PropertyName)_@(@column.FkColumnName) { get; set; } 
+
+}else if(column.EffectType == "Upload"){
+    @:public @column.NetType @column.PropertyName { get; set; }
+    @:public SysFile @(@column.PropertyName)Attachment { get; set; }
+}else if(column.EffectType == "ApiTreeSelect"){
+    @:public @column.NetType@column.NetTypeIsNullLableForAddEditOutParam @column.PropertyName { get; set; } 
+    @:
+    @:/// <summary>
+    @:/// @(column.ColumnComment) 鎻忚堪 
+    @:/// </summary>
+    @:public string? @(@column.PropertyName)@(@column.DisplayColumn) { get; set; } 
+}else{
+    @:public @column.NetType@column.NetTypeIsNullLableForAddEditOutParam @(@column.PropertyName) { get; set; }
+}
+    @:
+}
+    }
+ 
+
+@foreach (var column in Model.TableField){
+if (@column.EffectType == "ApiTreeSelect"){
+    @:// 浣跨敤瀹為檯瀹炰綋@(@column.FkTableName),鎵�浠ヨ繖閲屽氨鍒犱簡
+    @:/*
+    @:[SugarTable("@(@column.FkTableName)")]
+    @:public class @(@column.FkEntityName)TreeOutput: EntityBaseId
+    @:{
+        @:[SugarColumn(ColumnName = "@(@column.DisplayColumn)")]
+        @:public @(@Model.GetColumnNetType(@column.FkTableName,@column.DisplayColumn)) Label { get; set; }
+
+        @:[SugarColumn(ColumnName = "@(@column.ValueColumn)", IsPrimaryKey = true, IsIdentity = false)]
+        @:public @(@Model.GetColumnNetType(@column.FkTableName,@column.ValueColumn))  Value { get; set; }
+
+        @:public @(@Model.GetColumnNetType(@column.FkTableName,@column.PidColumn)) @column.PidColumn { get; set; }
+        @:[SugarColumn(IsIgnore = true)]
+        @:public List<@(@column.FkEntityName)TreeOutput> Children { get; set; }
+    @:}
+    @:*/
+}
+}
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/SeedData.cs.vm b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/SeedData.cs.vm
new file mode 100644
index 0000000..077b4d7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/SeedData.cs.vm
@@ -0,0 +1,39 @@
+锘縰sing Admin.NET.Core;
+using @Model.EntityNameSpace;
+
+namespace @Model.NameSpace;
+
+/// <summary>
+/// @(Model.Description) 琛ㄧ瀛愭暟鎹�
+/// </summary>
+public class @(Model.SeedDataName): ISqlSugarEntitySeedData<@(Model.EntityName)>
+{
+    /// <summary>
+    /// 绉嶅瓙鏁版嵁
+    /// </summary>
+    /// <returns></returns>
+    public IEnumerable<@(Model.EntityName)> HasData()
+    {
+        string recordsJSON = @@"
+            @(Model.RecordsJSON.Replace("\"","\"\"").Replace("\n", "\n\t\t\t"))
+        ";
+        List<@(Model.EntityName)> records = Newtonsoft.Json.JsonConvert.DeserializeObject<List<@(Model.EntityName)>>(recordsJSON);
+        @if (Model.JsonIgnoreInfo.Count>0) {
+        @:
+        @:#region 澶勭悊 JsonIgnore 鐨凱roperty
+        @:
+            @foreach (var jii in Model.JsonIgnoreInfo){
+                @foreach (var j in jii){
+        @:records[@j.RecordIndex].@(j.Name) = @(j.Value);
+                }
+                @:
+            }
+        @:#endregion
+        }
+        
+        // 鍚庡鐞嗘暟鎹殑鐗规畩瀛楁
+		//for (int i = 0; i < records.Count; i++) { }
+
+        return records;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Service.cs.vm b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Service.cs.vm
new file mode 100644
index 0000000..3fa2ae2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/Service.cs.vm
@@ -0,0 +1,659 @@
+using Admin.NET.Core.Service;
+using @(@Model.NameSpace).Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+@{
+    string joinTableName = "u";
+    Dictionary<string, int> definedObjects = new Dictionary<string, int>();
+    string my_message_tree = string.Empty;
+    bool haveLikeCdt = false;
+    string queryOrderStr=string.Empty;
+    foreach (var column in Model.TableField){
+        if (column.QueryWhether == "Y" && column.WhetherKeyQuery == "Y"){
+            haveLikeCdt = true;
+        }
+        if (column.EffectType == "fk" || column.EffectType == "ApiTreeSelect"){
+            queryOrderStr = "u.";
+        }
+    }
+}
+namespace @Model.NameSpace;
+/// <summary>
+/// @(@Model.BusName)鏈嶅姟
+/// </summary>
+[ApiDescriptionSettings(@(@Model.ProjectLastName)Const.@(@Model.ModuleName)GroupName, Order = 100)]
+public class @(@Model.ClassName)Service : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<@(@Model.ClassName)> _rep;
+    public @(@Model.ClassName)Service(SqlSugarRepository<@(@Model.ClassName)> rep)
+    {
+        _rep = rep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ@(@Model.BusName)
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("@(@Model.ClassName)/Page")]
+    public async Task<SqlSugarPagedList<@(@Model.ClassName)Output>> Page(@(@Model.ClassName)Input input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "@(@queryOrderStr)Id").ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇(@Model.BusName)
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("@(@Model.ClassName)/List")]
+    public async Task<List<@(@Model.ClassName)Output>> List([FromQuery] @(@Model.ClassName)Input input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "@(@queryOrderStr)Id").Select<@(@Model.ClassName)Output>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞@(@Model.BusName)
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("@(@Model.ClassName)/Add")]
+    public async Task<long> Add(Add@(@Model.ClassName)Input input)
+    {
+        var entity = input.Adapt<@(@Model.ClassName)>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎@(@Model.BusName)
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("@(@Model.ClassName)/Delete")]
+    public async Task Delete(Delete@(@Model.ClassName)Input input)
+    {
+@foreach (var column in Model.TableField){
+if (@column.ColumnKey == "True"){
+        @:var entity = await _rep.GetFirstAsync(u => u.@(@column.PropertyName) == input.@(@column.PropertyName)) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+}
+}
+      @if(@Model.TableType=="瀹炰綋琛�"){
+        @://await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        @:await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+      }else{
+        @:return;
+      }
+    }
+
+    /// <summary>
+    /// 鏇存柊@(@Model.BusName)
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("@(@Model.ClassName)/Update")]
+    public async Task Update(Update@(@Model.ClassName)Input input)
+    {
+        var entity = input.Adapt<@(@Model.ClassName)>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity,true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇@(@Model.BusName)
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("@(@Model.ClassName)/Detail")]
+    public async Task<@(@Model.ClassName)> Detail([FromQuery] QueryById@(@Model.ClassName)Input input)
+    {
+@foreach (var column in Model.TableField){
+if (@column.ColumnKey == "True"){
+        @:return await _rep.GetFirstAsync(u => u.@(@column.PropertyName) == input.@(@column.PropertyName));
+}   
+}   
+     @if(@Model.TableType=="瑙嗗浘"){
+        @:return null;
+      }else{
+      }
+    }
+
+
+@foreach (var column in Model.TableField){
+if(@column.EffectType == "fk" && (@column.WhetherAddUpdate == "Y" || column.QueryWhether == "Y")){  
+    @:/// <summary>
+    @:/// 鑾峰彇@(@column.ColumnComment)鍒楄〃
+    @:/// </summary>
+    @:/// <param name="input"></param>
+    @:/// <returns></returns>
+    @:[ApiDescriptionSettings(Name = "@(@column.FkEntityName)@(@column.PropertyName)Dropdown"), HttpGet]
+    @:[Description("@(@Model.ClassName)/@(@column.FkEntityName)@(@column.PropertyName)Dropdown")]
+    @:public async Task<dynamic> @(@column.FkEntityName)@(@column.PropertyName)Dropdown()
+    @:{
+        @:return await _rep.Context.Queryable<@(@column.FkEntityName)>()
+                @:.Select(u => new
+                @:{
+                    @:Label = u.@(@column.FkColumnName),
+                    @:Value = u.@(@column.FkSetValueColumnName)
+                @:}
+                @:).ToListAsync();
+    @:}
+}
+}
+
+@foreach (var column in Model.TableField){
+if(@column.EffectType == "Upload"){  
+    @:/// <summary>
+    @:/// 涓婁紶@(@column.ColumnComment)
+    @:/// </summary>
+    @:/// <param name="file"></param>
+    @:/// <returns></returns>
+    @:[ApiDescriptionSettings(Name = "Upload@(@column.PropertyName)"), HttpPost]
+    @:public async Task<SysFile> Upload@(@column.PropertyName)([Required] IFormFile file)
+    @:{
+            @:var service = App.GetRequiredService<SysFileService>();
+            @:return await service.UploadFile(file, "upload/@(@column.PropertyName)"); 
+    @:} 
+}
+}
+
+
+@foreach (var column in Model.TableField){
+my_message_tree=@column.FkEntityName+"Tree";
+if(@column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey(@my_message_tree)){
+    @{definedObjects.Add(@my_message_tree, 1);}
+    @:[HttpGet("@(@column.FkEntityName)Tree")]
+    @:public async Task<dynamic> @(@column.FkEntityName)Tree()
+    @:{
+        @:return await _rep.Context.Queryable<@(@column.FkEntityName)>().ToTreeAsync(u => u.Children, u => u.@(@column.PidColumn), 0);
+    @:}
+}
+}
+@if(@Model.Buttons.Contains("瀵煎叆")){  
+    @:#region 瀵煎叆
+    @:
+    @:/// <summary>
+    @:/// Excel妯℃澘瀵煎叆@(@Model.BusName)鍔熻兘
+    @:/// </summary>
+    @:/// <param name="file">Excel妯℃澘鏂囦欢</param>
+    @:/// <returns>瀵煎叆鐨勮褰曟暟</returns>
+    @:[HttpPost]
+    @:[ApiDescriptionSettings(Name = "ImportExcel")]
+    @:[Description("@(@Model.ClassName)/ImportExcel")]
+    @:public async Task<int> ImportExcelAsync(IFormFile file)
+    @:{ 
+        @:int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕
+        @:int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁
+
+        @:DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine);
+        @:var addList =await CommonImport(importDataTable, _DataStartLine);
+
+        @:await _rep.InsertRangeAsync(addList);
+        @:return addList.Count;
+    @:}
+    @:
+    @:/// <summary>
+    @:///  DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+    @:/// </summary>
+    @:/// <param name="dataTable"></param>
+    @:/// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+    @:/// <returns></returns>
+    @:private async Task<List<@(@Model.ClassName)>> CommonImport(DataTable dataTable, int dataStartLine)
+    @:{
+
+        @:var details = new List<@(@Model.ClassName)>();
+        @:int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭
+        @:foreach (System.Data.DataRow row in dataTable.Rows)
+        @:{
+            @:index++;
+
+            @://瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛�
+            @:@Model.ImportExcelCustomizationContent
+              
+            @:details.Add(addItem);
+        @:}
+        @://楠岄噸
+        @:await CheckExisitForImport(details);
+            
+        @:return details;
+    @:}
+    @:
+    @:/// <summary>
+    @:/// 鏍规嵁鐗堟湰涓嬭浇@(@Model.BusName)鐨凟xcel瀵煎叆妯℃澘
+    @:/// </summary>
+    @:/// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+    @:[HttpGet]
+    @:[ApiDescriptionSettings(Name = "DownloadExcelTemplate")]
+    @:[Description("@(@Model.ClassName)/DownloadExcelTemplate")]
+    @:public IActionResult DownloadExcelTemplate()
+    @:{
+        @:string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\@Model.BusName{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
+        @:var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(@Model.BusName).xlsx", Encoding.GetEncoding("UTF-8"));
+        @:return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
+    @:}
+    @:
+    @:#endregion
+}
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ@(@Model.BusName)鏉′欢
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<@(@Model.ClassName)Output> CommonPageFilter(@(@Model.ClassName)Input input)
+    {
+        var query = _rep.AsQueryable()
+@{string conditionFlag = "";}
+@if (haveLikeCdt) {
+            @:.WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+    @foreach (var column in Model.TableField){
+        if (@column.WhetherKeyQuery == "Y"){
+                @:@(conditionFlag)u.@(@column.PropertyName).Contains(input.SearchKey.Trim())
+            conditionFlag="|| ";
+        }
+    }
+            @:)
+}
+@foreach (var column in Model.TableField){
+if (@column.QueryWhether == "Y"){
+    if (@column.NetType?.TrimEnd('?') == "string"){
+        if(@column.QueryType == "like"){
+            @:.WhereIF(!string.IsNullOrWhiteSpace(input.@column.PropertyName), u => u.@(@column.PropertyName).Contains(input.@(@column.PropertyName).Trim()))
+        }else{
+            @:.WhereIF(!string.IsNullOrWhiteSpace(input.@column.PropertyName), u => u.@(@column.PropertyName) @column.QueryType input.@(@column.PropertyName))
+        }
+    }else if(@column.NetType?.TrimEnd('?') == "int" || @column.NetType?.TrimEnd('?') == "long"){
+            @:.WhereIF(input.@column.PropertyName>0, u => u.@(@column.PropertyName) @column.QueryType input.@(@column.PropertyName))
+    }else if(@column.NetType?.TrimEnd('?') == "DateTime" && @column.QueryType == "~"){
+    }else if(@column.NetType?.TrimEnd('?').EndsWith("Enum") == true  || @column.NetType?.TrimEnd('?') == "bool") {
+            @:.WhereIF(input.@(@column.PropertyName).HasValue, u => u.@(@column.PropertyName) @column.QueryType input.@(@column.PropertyName))
+    }
+} 
+}
+@if(Model.IsJoinTable){
+            @://澶勭悊澶栭敭鍜孴reeSelector鐩稿叧瀛楁鐨勮繛鎺�
+    @foreach (var column in Model.TableField){
+        if(@column.EffectType == "fk"){
+            joinTableName += ", " + column.PropertyName.ToLower();
+            @:.LeftJoin<@(@column.FkEntityName)>((@(@joinTableName)) => u.@(@column.PropertyName) == @(@column.PropertyName.ToLower()).@(@column.FkSetValueColumnName) )
+        } else if(@column.EffectType == "ApiTreeSelect"){
+            joinTableName += ", " + column.PropertyName.ToLower();
+            @:.LeftJoin<@(@column.FkEntityName)>((@(@joinTableName)) => u.@(@column.PropertyName) == @(@column.PropertyName.ToLower()).@(@column.ValueColumn) )
+        }
+    }
+            @:.Select((@(@joinTableName)) => new @(@Model.ClassName)Output
+            @:{
+@foreach (var column in Model.TableField){
+                if(@column.EffectType == "fk"){   
+                @:@(@column.PropertyName) = u.@(@column.PropertyName), 
+                @:@(@column.PropertyName)_@(@column.FkColumnName) = @(@column.PropertyName.ToLower()).@(@column.FkColumnName),
+                } else if(@column.EffectType == "ApiTreeSelect"){  
+                @:@(@column.PropertyName) = u.@(@column.PropertyName),  
+                @:@(@column.PropertyName)@(@column.DisplayColumn) = @(@column.PropertyName.ToLower()).@(@column.DisplayColumn),
+                } else if(@column.NetType?.TrimEnd('?').EndsWith("Enum") == true){
+                @:@(@column.PropertyName) = (@(@column.NetType))u.@(@column.PropertyName),
+                } else {
+                @:@(@column.PropertyName) = u.@(@column.PropertyName),
+                }
+}
+            @:});
+@foreach (var column in Model.TableField){
+    if(@column.EffectType == "fk"){   
+ 
+    }else if(@column.EffectType == "Upload"){
+            @://.Mapper(c => c.@(@column.PropertyName)Attachment, c => c.@(@column.PropertyName))
+    }
+}
+} else {
+            @:.Select<@(@Model.ClassName)Output>();
+}
+@foreach (var column in Model.TableField){
+if (@column.QueryWhether == "Y"){
+    if(@column.NetType?.TrimEnd('?') == "DateTime" && @column.QueryType == "~" &&  @column.EffectType == "DateTimePicker"){
+        @:if(input.@(@column.PropertyName)Range != null && input.@(@column.PropertyName)Range.Count >0)
+        @:{
+            @:DateTime? start= input.@(@column.PropertyName)Range[0].Value;
+            @:query = query.WhereIF(start.HasValue, u => u.@column.PropertyName >= start);
+            @:if (input.@(@column.PropertyName)Range.Count >1 && input.@(@column.PropertyName)Range[1].HasValue)
+            @:{
+                @:var end = input.@(@column.PropertyName)Range[1].Value;
+                @:query = query.Where(u => u.@(@column.PropertyName) <= end);
+            @:}
+        @:} 
+    }else  if(@column.NetType?.TrimEnd('?') == "DateTime" && @column.QueryType == "~" &&  @column.EffectType == "DatePicker"){
+        @:if(input.@(@column.PropertyName)Range != null && input.@(@column.PropertyName)Range.Count >0)
+        @:{
+            @:DateTime? start= input.@(@column.PropertyName)Range[0].Value.AddDays(-1);
+            @:query = query.WhereIF(start.HasValue, u => u.@column.PropertyName > start);
+            @:if (input.@(@column.PropertyName)Range.Count >1 && input.@(@column.PropertyName)Range[1].HasValue)
+            @:{
+                @:var end = input.@(@column.PropertyName)Range[1].Value.AddDays(1);
+                @:query = query.Where(u => u.@(@column.PropertyName) < end);
+            @:}
+        @:} 
+    }
+}
+}
+        return query;
+       }
+
+        /// <summary>
+        /// 閲嶅鎬ч獙璇�
+        /// </summary>
+        /// <param name="input">楠岃瘉瀵硅薄</param>
+        /// <param name="isEdit">鏄惁鏄紪杈�</param>
+        /// <returns></returns>
+        private async Task CheckExist( @(@Model.ClassName) input,bool isEdit=false)
+        {
+            @{
+                var columnIndex = 0;
+                string my_message = string.Empty;
+             }
+           
+                                      @foreach (var column in Model.TableField)
+                                      {
+                                           if (@column.RepCheckType == "缁勫悎鏍¢獙")
+                {
+                    my_message += "," + @column.ColumnComment + "[{input." + @column.ColumnName + "}]";
+                }
+                                          if (@column.RepCheckType == "缁勫悎鏍¢獙")
+                                          {   
+                                              columnIndex++;
+                                              if (@columnIndex == 1)
+                                              {
+           @:bool isExist = false;
+           @:if (!isEdit)//鏂板
+           @:{
+                   @://鏁版嵁鏄惁瀛樺湪閲嶅
+                   @:isExist = await _rep.AsQueryable().AnyAsync(u =>
+                                   @:u.@(@column.ColumnName).Equals(input.@column.ColumnName)
+                                              }
+                                              else
+                                              {
+                                   @:&& u.@(@column.ColumnName).Equals(input.@column.ColumnName)
+                                              }
+                                          }
+                                      }
+                @if(columnIndex>0){
+                   @:);
+          @:}
+           @:else//缂栬緫 
+          @:{
+                 }
+
+                @{
+                  columnIndex=0;//鍒濆鍖栫储寮� 涓嬮潰缂栬緫鐨勯�昏緫浣跨敤
+                }
+                                      @foreach (var column in Model.TableField)
+                                      {
+                                          if (@column.RepCheckType == "缁勫悎鏍¢獙")
+                                          {  
+                                              columnIndex++;
+                                              if (@columnIndex == 1)
+                                              {
+                 @://褰撳墠缂栬緫鏁版嵁浠ュ鏄惁瀛樺湪閲嶅
+                 @: isExist = await _rep.AsQueryable().AnyAsync(u => 
+                                    @:u.Id != input.Id
+                                    @:&& u.@(@column.ColumnName).Equals(input.@column.ColumnName)
+                                              }
+                                              else
+                                              {
+                                    @:&& u.@(@column.ColumnName).Equals(input.@column.ColumnName)
+                                              }
+                                            }
+                                       }
+                    @if(columnIndex>0)
+                    {
+                    @:);
+               @:}
+                    }
+
+      @if(columnIndex>0){
+            @:if (isExist) throw Oops.Oh($"楠岃瘉澶辫触@(@my_message)宸插瓨鍦�");
+       }else{
+            @://娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+       }
+
+       @{
+                var columnIndex2 = 0;
+                string my_message2 = string.Empty;
+             }
+           
+              @foreach (var column in Model.TableField)
+              {
+                 if (@column.RepCheckType == "鍗曠嫭鏍¢獙")
+                {
+                    my_message2 += "," + @column.ColumnComment + "[{input." + @column.ColumnName + "}]";
+                }
+                                          if (@column.RepCheckType == "鍗曠嫭鏍¢獙")
+                                          {   
+                                              columnIndex2++;
+           @:bool isExistForSingle_@column.ColumnName = false;
+           @:if (!isEdit)//鏂板
+           @:{
+                   @://鏁版嵁鏄惁鍗曠嫭瀛樺湪閲嶅-@(@column.ColumnComment)
+                   @:isExistForSingle_@column.ColumnName = await _rep.AsQueryable().AnyAsync(u =>
+                                   @:u.@(@column.ColumnName).Equals(input.@column.ColumnName));
+           @:}
+           @:else//缂栬緫 
+           @:{
+                   @://褰撳墠缂栬緫鏁版嵁浠ュ鏄惁鍗曠嫭瀛樺湪閲嶅-@(@column.ColumnComment)
+                 @: isExistForSingle_@column.ColumnName = await _rep.AsQueryable().AnyAsync(u => 
+                                    @:u.Id != input.Id
+                                    @:&& u.@(@column.ColumnName).Equals(input.@column.ColumnName));
+           @:}
+           @:if (isExistForSingle_@column.ColumnName) throw Oops.Oh($"楠岃瘉澶辫触,@(@column.ColumnComment)[" + input.@column.ColumnName + "]宸插瓨鍦�");
+             @:
+              }
+             }
+               @if(columnIndex2==0){
+            @://娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+       }
+       }
+
+       /// <summary>
+        /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<@(@Model.ClassName)> inputs)
+        { 
+            @{
+                var index = 0;
+                bool isCheck = false;
+                string message = string.Empty;
+            }
+            if (inputs?.Count <= 0)
+            {
+                throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+            }
+            //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+            @foreach (var column in Model.TableField)
+            {
+                if (@column.RepCheckType == "缁勫悎鏍¢獙")
+                {
+                    isCheck = true;
+                    message += "," + @column.ColumnComment + "[{item." + @column.ColumnName + "}]";
+                }
+            }
+            @if (isCheck)
+            {
+                 @:var existExcelItem = inputs.GroupBy(g => new {
+            }
+           @foreach (var column in Model.TableField)
+           {
+
+               if (@column.RepCheckType == "缁勫悎鏍¢獙")
+               {   
+                   index++;
+                   if (@index == 1)
+                   { 
+                                               @:g.@(@column.ColumnName)
+                   }
+                   else
+                   {
+                                               @:,g.@(@column.ColumnName)
+                   }
+                                       
+                                                                                                                    }
+           }
+           @if (isCheck)
+          {
+            index=0;
+                                               @:})
+                                               @:.Where(g => g.Count() > 1)
+                                               @:.Select(s => new {
+           }
+          @foreach (var column in Model.TableField)
+          {
+
+              if (@column.RepCheckType == "缁勫悎鏍¢獙")
+              {
+                  index++;
+                  if (@index == 1)
+                  {
+                                               @:s.Key.@(@column.ColumnName)
+                  }
+                  else
+                  {
+                                               @:,s.Key.@(@column.ColumnName)
+                  }
+
+              }
+          }
+           @if (isCheck)
+           {
+                                               @:}).FirstOrDefault();
+                 @:if (existExcelItem != null)
+                 @:{
+                   @:var item= existExcelItem.Adapt<@(@Model.ClassName)>();
+                   @:throw Oops.Oh($"瀵煎叆鐨勮〃鏍间腑@(@message)宸查噸澶嶅瓨鍦�");
+                 @:}
+           }
+                      
+
+
+
+             @if (isCheck)
+            {    @://鏍规嵁缁勫悎鏍¢獙楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+                 @:var existDBItem = await _rep.GetFirstAsync(w=> 
+                 @:                                                        inputs.Select(s=>""
+            }
+           @foreach (var column in Model.TableField)
+           {
+
+               if (@column.RepCheckType == "缁勫悎鏍¢獙")
+               {  
+                                                                          @: +s.@(@column.ColumnName)
+                                                                      
+               }
+           }
+           @if (isCheck)
+          {
+                                                                        @:)
+                                                                        @:.Contains(""
+           }
+          @foreach (var column in Model.TableField)
+          {
+              if (@column.RepCheckType == "缁勫悎鏍¢獙")
+              {
+                                                                        @: +w.@(@column.ColumnName)
+                  
+              }
+          }
+             @if (isCheck)
+           {
+                 @: ));
+                 @: if (existDBItem != null)
+                 @:{
+                   @:var item= existDBItem.Adapt<@(@Model.ClassName)>();
+                   @:throw Oops.Oh($"绯荤粺涓瑻(@message)宸插瓨鍦�");
+                 @:}
+           }
+
+
+
+          
+           @{
+                 index = 0;
+                 isCheck = false;
+                 int count_Single=0;
+           }
+           //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+           @foreach (var column in Model.TableField)
+            {
+                if (@column.RepCheckType == "鍗曠嫭鏍¢獙")
+                {
+                   @:var existExcelItemForSingle_@(@column.ColumnName) = inputs.GroupBy(g => new { g.@(@column.ColumnName)}).Where(g => g.Count() > 1).ToList();
+                   @:if(existExcelItemForSingle_@(@column.ColumnName) != null && existExcelItemForSingle_@(@column.ColumnName).Count > 0){
+                        @:var item= existExcelItemForSingle_@(@column.ColumnName).First().ToList().First();
+                        @:throw Oops.Oh($"楠岃瘉澶辫触,瀵煎叆鐨勮〃鏍间腑,@(@column.ColumnComment)[" + item.@column.ColumnName + "]宸查噸澶嶅瓨鍦�");
+                   @:}
+                   isCheck = true;
+                }
+            }
+           
+            @if (isCheck)
+            {    @://鏍规嵁鍗曠嫭鏍¢獙楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+                 @:var existDBItemList = await _rep.GetListAsync(w=> 
+            }
+           @{
+            count_Single=Model.TableField.Count(w=>w.RepCheckType=="鍗曠嫭鏍¢獙");
+           }
+           @foreach (var column in Model.TableField)
+           {
+               if (@column.RepCheckType == "鍗曠嫭鏍¢獙")
+               {  
+                          index++;
+                          @if(index == count_Single){
+                            @: inputs.Select(s=>s.@(@column.ColumnName)).ToList().Contains(w.@(@column.ColumnName)) 
+                          }else{
+                            @: inputs.Select(s=>s.@(@column.ColumnName)).ToList().Contains(w.@(@column.ColumnName)) ||  
+                          }
+               }
+           }
+        @if (isCheck)
+        {   
+            @:);
+        }
+         @foreach (var column in Model.TableField)
+          {
+              if (@column.RepCheckType == "鍗曠嫭鏍¢獙")
+              {
+                   @:var db_ForSingle_@column.ColumnName = existDBItemList.FirstOrDefault(g => inputs.Select(s=>s.@(@column.ColumnName)).ToList().Contains(g.@(@column.ColumnName)));
+                   @:if(db_ForSingle_@column.ColumnName != null)  throw Oops.Oh($"楠岃瘉澶辫触,绯荤粺涓�,@(@column.ColumnComment)[" + db_ForSingle_@column.ColumnName.@column.ColumnName + "]宸查噸澶嶅瓨鍦�");
+                   @:
+              }
+          }
+           
+           
+        }
+     #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/data.data.ts.vm b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/data.data.ts.vm
new file mode 100644
index 0000000..f404ea2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/data.data.ts.vm
@@ -0,0 +1,161 @@
+import { h } from 'vue';
+import { BasicColumn, FormSchema } from '/@@/components/Table';
+@foreach (var column in Model.TableField){
+if(@column.EffectType == "Upload"){
+@:import { uploadFile } from '/@@/api/sys/admin';
+}else if(@column.EffectType == "fk"){
+@:import { get@(@column.FkEntityName)Dropdown } from '/@@/api/main/@(@Model.ClassName)';
+}else if(@column.EffectType == "Select"){
+@:import { getDataList } from '/@@/api/sys/admin';
+}else if(@column.EffectType == "ApiTreeSelect"){
+@:import { get@(@column.FkEntityName)Tree } from '/@@/api/main/@(@Model.ClassName)';
+}else if(@column.EffectType == "ConstSelector"){
+@:import { codeToName, getSelector } from '/@@/utils/helper/constSelectorHelper';
+}else if(@column.EffectType == "Switch"){
+@:import { Switch } from 'ant-design-vue';
+}
+}
+export const columns: BasicColumn[] = [
+  @foreach (var column in Model.TableField){
+  if(@column.WhetherTable == "Y"){
+  @:{
+    @:title: '@column.ColumnComment',
+    @:dataIndex: '@column.LowerPropertyName',    
+    @:sorter: true,
+if(@column.EffectType == "Upload"){
+    @:slots: { customRender: '@(@column.LowerPropertyName)' },
+}else if(@column.EffectType == "fk"){
+    @:customRender: ({ record }) => {
+      @:return record.fk@(@column.PropertyName).@(@column.LowerFkColumnName);
+    @:},
+}else if(@column.EffectType == "Switch"){
+    @:customRender: ({ record }) => {
+      @:return h(@(@column.EffectType), { checked: record.@(@column.LowerPropertyName) });
+    @:},
+}else if(@column.EffectType == "ConstSelector"){
+    @:customRender: ({ record }) => {
+      @:return codeToName(record.@(@column.LowerPropertyName), '@(@column.DictTypeCode)');
+    @:},
+}
+  @:},
+    }
+
+  }
+];
+
+export const searchFormSchema: FormSchema[] = [
+@foreach (var column in Model.QueryWhetherList){  
+  @:{
+    @:field: '@column.LowerPropertyName',
+    @:label: '@column.ColumnComment',
+    @:colProps: { span: 8 },
+if(@column.EffectType == "fk"){
+    @:component: 'ApiSelect',
+    @:componentProps: {
+      @:api: get@(@column.FkEntityName)Dropdown,
+      @:labelField: 'label',
+      @:valueField: 'value',
+    @:},
+}else if(@column.EffectType == "Select"){
+    @:component: 'ApiSelect',
+    @:componentProps: {
+      @:api: getDataList,
+      @:params: '@(@column.DictTypeCode)',
+      @:fieldNames: {
+        @:label: 'label',
+        @:value: 'value',
+      @:},
+    @:},
+}else if(@column.EffectType == "ConstSelector"){
+    @:component: 'Select',
+    @:componentProps: {
+      @:options: getSelector('@(@column.DictTypeCode)'),
+      @:fieldNames: {
+        @:label: 'name',
+        @:value: 'code',
+      @:},
+    @:},
+}else if(@column.EffectType == "ApiTreeSelect"){
+    @:component: '@(@column.EffectType)',
+    @:componentProps: {
+      @:api: get@(@column.FkEntityName)Tree,
+    @:},
+}
+else if(@column.NetType?.TrimEnd('?') == "DateTime" && @column.QueryType == "~"){
+    @:component: 'RangePicker',
+    @:componentProps: {
+    @:  valueFormat:"YYYY-MM-DD"
+    @:},
+}
+else{
+    @:component: 'Input',
+}
+
+  @:},
+}
+];
+
+export const formSchema: FormSchema[] = [
+  @foreach (var column in Model.TableField){
+  @:{
+    @:label: '@column.ColumnComment',
+    @:field: '@column.LowerPropertyName',
+if(@column.EffectType == "fk"){
+    @:component: 'ApiSelect',
+    @:componentProps: {
+      @:api: get@(@column.FkEntityName)Dropdown,
+      @:labelField: 'label',
+      @:valueField: 'value',
+    @:},
+}else if(@column.EffectType == "Select"){
+    @:component: 'ApiSelect',
+    @:componentProps: {
+      @:api: getDataList,
+      @:params: '@(@column.DictTypeCode)',
+      @:fieldNames: {
+        @:label: 'label',
+        @:value: 'value',
+      @:},
+    @:},
+}else if(@column.EffectType == "ConstSelector"){
+    @:component: 'Select',
+    @:componentProps: {
+      @:options: getSelector('@(@column.DictTypeCode)'),
+      @:fieldNames: {
+        @:label: 'name',
+        @:value: 'code',
+      @:},
+    @:},
+}else if(@column.EffectType == "ApiTreeSelect"){
+    @:component: '@(@column.EffectType)',
+    @:componentProps: {
+      @:api: get@(@column.FkEntityName)Tree,
+    @:},
+}else if(@column.EffectType == "Switch"){
+    @:component: '@(@column.EffectType)',
+    @:componentProps: {
+      @:checkedChildren: '鏄�',
+      @:unCheckedChildren: '鍚�',
+    @:},
+}else{
+    @:component: '@column.EffectType',
+}
+    if(@column.WhetherRequired == "Y"){
+    @:required: true,
+    }else{
+    @:required: false,
+    }
+    if(@column.EffectType == "Upload"){
+    @:componentProps: {
+      @:maxNumber: 1,
+      @:api: uploadFile,
+    @:},
+    }
+  if(@column.LowerPropertyName == "id"){
+    @:show: false,
+  }
+    @:colProps: { span: 12 },
+  @:},
+
+  }
+];
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/dataModal.vue.vm b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/dataModal.vue.vm
new file mode 100644
index 0000000..25db585
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/dataModal.vue.vm
@@ -0,0 +1,71 @@
+<template>
+  <BasicModal v-bind="$attrs" @@register="registerModal" :width="700" :title="getTitle" @@ok="handleSubmit">
+    <BasicForm @@register="registerForm" />
+  </BasicModal>
+</template>
+<script lang="ts">
+  import { defineComponent, ref, computed, unref } from 'vue';
+  import { BasicModal, useModalInner } from '/@@/components/Modal';
+  import { BasicForm, useForm } from '/@@/components/Form/index';
+  import { formSchema } from './data.data';
+  import { add@(@Model.ClassName), update@(@Model.ClassName) } from '/@@/api/main/@(@Model.ClassName)';
+
+  export default defineComponent({
+    components: { BasicModal, BasicForm },
+    emits: ['success', 'register'],
+    setup(_, { emit }) {
+      const isUpdate = ref(true);
+      const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({
+        labelWidth: 100,
+        schemas: formSchema,
+        showActionButtonGroup: false,
+        actionColOptions: {
+          span: 23,
+        },
+      });
+      const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
+        resetFields();
+        setModalProps({ confirmLoading: false });
+        isUpdate.value = !!data?.isUpdate;
+        if (unref(isUpdate)) {
+          setFieldsValue({
+            ...data.record,
+          });
+@foreach (var column in Model.TableField){
+if(@column.EffectType == "Upload"){
+          @:if (data.record.@(@column.LowerPropertyName)) {
+            @:setFieldsValue({
+              @:@(@column.LowerPropertyName): [data.record.@(@column.LowerPropertyName)Attachment],
+            @:});
+          @:}
+}
+}
+        }
+      });
+      const getTitle = computed(() => (!unref(isUpdate) ? '鏂板@(@Model.BusName)' : '缂栬緫@(@Model.BusName)'));
+      async function handleSubmit() {
+        try {
+          var values = await validate();
+@foreach (var column in Model.TableField){
+if(@column.EffectType == "Upload"){
+          @:if (values.@(@column.LowerPropertyName)) {
+            @:values = { ...values, @(@column.LowerPropertyName): values.@(@column.LowerPropertyName)[0].id };
+          @:}
+}
+}
+          setModalProps({ confirmLoading: true });
+          if (!unref(isUpdate)) {
+            await add@(@Model.ClassName)(values);
+          } else {
+            await update@(@Model.ClassName)(values);
+          }
+          closeModal();
+          emit('success');
+        } finally {
+          setModalProps({ confirmLoading: false });
+        }
+      }
+      return { registerModal, registerForm, getTitle, handleSubmit };
+    },
+  });
+</script>
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/editDialog.vue.vm b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/editDialog.vue.vm
new file mode 100644
index 0000000..d469079
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/editDialog.vue.vm
@@ -0,0 +1,373 @@
+@{Dictionary<string, int> definedObjects = new Dictionary<string, int>();}
+@{string my_message = string.Empty;}
+@{var pkField = Model.TableField.Where(c => c.ColumnKey == "True").FirstOrDefault();}
+@{string pkFieldName = LowerFirstLetter(pkField.PropertyName);}
+@{string strCommnet = "@param";}
+<template>
+	<div class="@(@Model.LowerClassName)-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					@foreach (var column in Model.TableField){
+					if(@column.ColumnKey == "True"){
+					@:<el-form-item v-show="false">
+						<el-input v-model="ruleForm.@(@column.LowerPropertyName)" />
+					</el-form-item>
+					}else{
+					if (@column.WhetherAddUpdate == "Y"){
+					if(@column.EffectType == "fk"){
+					@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
+							@:<el-select clearable filterable v-model="ruleForm.@(@column.LowerPropertyName)" placeholder="璇烽�夋嫨@(@column.ColumnComment)">
+								@:<el-option v-for="(item,index) in @LowerFirstLetter(@column.FkEntityName)@(@column.PropertyName)DropdownList" :key="index" :value="item.value" :label="item.label" />
+								@:
+							</el-select>
+							@:
+						</el-form-item>
+						@:
+					</el-col>
+					}else if(@column.EffectType == "ApiTreeSelect"){
+					@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
+							<el-cascader
+								@:options="@LowerFirstLetter(@column.FkEntityName)TreeData"
+								@:props="{ checkStrictly: true, emitPath: false, value: '@LowerFirstLetter(@column.ValueColumn)', label: '@LowerFirstLetter(@column.DisplayColumn)' }"
+								placeholder="璇烽�夋嫨@(column.ColumnComment)"
+								clearable=""
+								class="w100"
+								v-model="ruleForm.@(@column.LowerPropertyName)"
+							>
+								<template #default="{ node, data }">
+									<span>{{ data.@LowerFirstLetter(@column.DisplayColumn) }}</span>
+									<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
+								</template>
+							</el-cascader>
+							@:
+						</el-form-item>
+						@:
+					</el-col>
+					}else if(@column.EffectType == "Input"){
+					@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
+							@:<el-input v-model="ruleForm.@(@column.LowerPropertyName)" placeholder="璇疯緭鍏(@column.ColumnComment)" maxlength="@(@column.ColumnLength)" show-word-limit clearable />
+							@:
+						</el-form-item>
+						@:
+					</el-col>
+					}else if(@column.EffectType == "InputNumber"){
+					@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
+							@:<el-input-number v-model="ruleForm.@(@column.LowerPropertyName)" placeholder="璇疯緭鍏(@column.ColumnComment)" clearable />
+							@:
+						</el-form-item>
+						@:
+					</el-col>
+					}else if(@column.EffectType == "InputTextArea"){
+					@:<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
+							@:<el-input v-model="ruleForm.@(@column.LowerPropertyName)" placeholder="璇疯緭鍏(@column.ColumnComment)" type="textarea" maxlength="@(@column.ColumnLength)" show-word-limit clearable />
+							@:
+						</el-form-item>
+						@:
+					</el-col>
+					}else if(@column.EffectType == "Select"){
+					@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
+							@:<el-select clearable v-model="ruleForm.@(@column.LowerPropertyName)" placeholder="璇烽�夋嫨@(@column.ColumnComment)">
+								@:<el-option v-for="(item,index) in dl('@(@column.DictTypeCode)')"  :key="index" :value="item.code" :label="`[${item.code}] ${item.name}`"></el-option>
+								@:
+							</el-select>
+							@:
+						</el-form-item>
+						@:
+					</el-col>
+					}else if(@column.EffectType == "ConstSelector"){
+					@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
+							@:<el-select clearable v-model="ruleForm.@(@column.LowerPropertyName)" placeholder="璇烽�夋嫨@(@column.ColumnComment)">
+								@:<el-option v-for="(item,index) in getConstType('@column.DictTypeCode')" :key="index" :label="item.name" :value="item.code">{{ item.name }}</el-option>
+								@:
+							</el-select>
+							@:
+						</el-form-item>
+						@:
+					</el-col>
+					}else if(@column.EffectType == "Switch"){
+					@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
+							@:<el-switch v-model="ruleForm.@(@column.LowerPropertyName)" active-text="鏄�" inactive-text="鍚�" />
+							@:
+						</el-form-item>
+						@:
+					</el-col>
+					}else if(@column.EffectType == "DateTimePicker"){
+					@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
+							@:<el-date-picker v-model="ruleForm.@(@column.LowerPropertyName)" type="datetime" placeholder="@(@column.ColumnComment)" />
+							@:
+						</el-form-item>
+						@:
+					</el-col>
+					}else if(@column.EffectType == "DatePicker"){
+					@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
+							@:<el-date-picker v-model="ruleForm.@(@column.LowerPropertyName)" type="date" placeholder="@(@column.ColumnComment)" />
+							@:
+						</el-form-item>
+						@:
+					</el-col>
+					}else if(@column.EffectType == "Upload"){
+					@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
+							@:<el-upload
+							@:list-type="picture-card"
+							@::show-file-list="false"
+							@::http-request="upload@(@column.PropertyName)Handle">
+								@:<img
+								@:v-if="ruleForm.@(@column.LowerPropertyName)"
+								@::src="ruleForm.@(@column.LowerPropertyName)"
+								@:@@click="ruleForm.@(@column.LowerPropertyName)=''"
+								@:style="width: 100%; height: 100%; object-fit: contain"/>
+								@:<el-icon v-else><Plus /></el-icon>
+								@:
+							</el-upload>
+							@:
+						</el-form-item>
+						@:
+					</el-col>
+					}else if(@column.EffectType == "EnumSelector"){
+					@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
+							@:<el-select clearable v-model="ruleForm.@(@column.LowerPropertyName)" placeholder="璇烽�夋嫨@(@column.ColumnComment)">
+								@:<el-option v-for="(item,index) in  getEnum@(@column.PropertyName)Data" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								@:
+							</el-select>
+							@:
+						</el-form-item>
+						@:
+					</el-col>
+					}else{
+
+					}
+					}
+					}
+					}
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @@click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @@click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+@if(@Model.TableField.Any(x=>x.EffectType == "ConstSelector")){
+	@:import { getConstType } from "/@@/utils/constHelper";
+	}
+@if(@Model.TableField.Any(x=>x.EffectType == "Upload")){
+    @:import { Plus } from "@@element-plus/icons-vue";
+    @:import { UploadRequestOptions } from "element-plus";
+    @:import {@string.Join(",",Model.TableField.Where(x=>x.EffectType == "Upload").Select(x=>"upload"+x.PropertyName).ToList())} from '/@@/api/main/@(@Model.ModuleName)/@(@Model.LowerClassName)';
+}
+	import { add@(@Model.ClassName), update@(@Model.ClassName), detail@(@Model.ClassName) } from "/@@/api/main/@(@Model.ModuleName)/@(@Model.LowerClassName)";
+	@foreach (var column in Model.TableField){
+	my_message="import__"+@column.FkEntityName+"Tree";
+	if(@column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey(@my_message)){
+	@{definedObjects.Add(@my_message, 1);}
+	@:import { get@(@column.FkEntityName)Tree } from '/@@/api/main/@(@Model.ModuleName)/@(@Model.LowerClassName)';
+	}
+	if(@column.EffectType == "fk" && @column.WhetherAddUpdate == "Y"){
+	@:import { get@(@column.FkEntityName)@(@column.PropertyName)Dropdown } from '/@@/api/main/@(@Model.ModuleName)/@(@Model.LowerClassName)';
+	}
+	}
+	@if(@Model.TableField.Any(x=>x.EffectType == "EnumSelector")){
+	@:import { getAPI } from '/@@/utils/axios-utils';
+	@:import { SysEnumApi } from '/@@/api-services/api';
+	}
+
+	@foreach (var column in Model.TableField){
+	if(@column.EffectType == "EnumSelector"){
+	@:const getEnum@(@column.PropertyName)Data = ref<any>([]);
+	}
+	}
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+@foreach (var column in Model.TableField){
+	if(@column.WhetherRequired == "Y"){
+		if(@column.EffectType == "Input" || @column.EffectType == "InputNumber" ||@column.EffectType == "InputTextArea"){
+		@:@column.LowerPropertyName: [{required: true, message: '璇疯緭鍏(@column.ColumnComment)锛�', trigger: 'blur',},],
+		}else if(@column.EffectType == "DateTimePicker" || @column.EffectType == "Switch" || @column.EffectType == "DatePicker" || @column.EffectType == "Select" || @column.EffectType == "EnumSelector" ||@column.EffectType == "ApiTreeSelect"){
+		@:@column.LowerPropertyName: [{required: true, message: '璇烽�夋嫨@(@column.ColumnComment)锛�', trigger: 'change',},],
+		}
+    }
+  }
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @strCommnet flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @strCommnet row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detail@(@Model.ClassName)(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+			@foreach (var column in Model.TableField){
+				if(@column.EffectType == "Switch" && @column.WhetherAddUpdate == "Y" && @column.WhetherRequired == "Y" ){
+			@:ruleForm.value.@column.LowerPropertyName = false;//蹇呭~锛岃祴鍊奸粯璁ゅ��
+				}
+			}
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.@(@pkFieldName) == undefined || ruleForm.value.@(@pkFieldName) == null || ruleForm.value.@(@pkFieldName) == "" || ruleForm.value.@(@pkFieldName) == 0) {
+					ret = await add@(@Model.ClassName)(values);
+				} else {
+					title='缂栬緫';
+					ret = await update@(@Model.ClassName)(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	@foreach (var column in Model.TableField){
+	if(@column.EffectType == "fk" && @column.WhetherAddUpdate == "Y"){
+	@:const @LowerFirstLetter(@column.FkEntityName)@(@column.PropertyName)DropdownList = ref<any>([]); 
+	@:const get@(@column.FkEntityName)@(@column.PropertyName)DropdownList = async () => {
+		@:let list = await get@(@column.FkEntityName)@(@column.PropertyName)Dropdown();
+		@:@LowerFirstLetter(@column.FkEntityName)@(@column.PropertyName)DropdownList.value = list.data.result ?? [];
+	@:};
+	@:get@(@column.FkEntityName)@(@column.PropertyName)DropdownList();
+	@:
+	}
+	}
+	
+	@{definedObjects = new Dictionary<string, int>();}
+	@foreach (var column in Model.TableField){
+	my_message="define_get"+@column.FkEntityName+"TreeData";
+	if(@column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey(@my_message)){
+		@{definedObjects.Add(@my_message, 1);}
+	@:const @LowerFirstLetter(@column.FkEntityName)TreeData = ref<any>([]); 
+	@:const get@(@column.FkEntityName)TreeData = async () => {
+		@:let list = await get@(@column.FkEntityName)Tree();
+		@:@LowerFirstLetter(@column.FkEntityName)TreeData.value = list.data.result ?? [];
+	@:};
+	@:get@(@column.FkEntityName)TreeData();
+	@:
+	}
+	else if(@column.EffectType == "ConstSelector"){   
+	@:const @LowerFirstLetter(@column.DictTypeCode)DropdownList = ref<any>([]); 
+	@:const get@(@column.DictTypeCode)DropdownList = async () => {
+		@:let list = await getConstSelectorList("@column.DictTypeCode");
+		@:@LowerFirstLetter(@column.DictTypeCode)DropdownList.value = list.data.result ?? [];
+	@:};
+	@:get@(@column.DictTypeCode)DropdownList();
+	@:
+	}
+	}
+
+
+
+	@foreach (var column in Model.TableField){ 
+	if(column.WhetherAddUpdate=="N") continue;
+	if(@column.EffectType == "Upload"){
+	@:const upload@(@column.PropertyName)Handle = async (options: UploadRequestOptions) => {
+		@:const res = await upload@(@column.PropertyName)(options);
+		@:ruleForm.value.@(column.LowerPropertyName) = res.data.result?.url;
+	@:};
+		}
+	}
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+		@foreach (var column in Model.TableField){
+		if(@column.EffectType == "EnumSelector"){
+			@:getEnum@(@column.PropertyName)Data.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('@(@column.DictTypeCode)')).data.result ?? [];
+		}
+		}
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
+@{
+string LowerFirstLetter(string text)
+{
+return text.ToString()[..1].ToLower() + text[1..]; // 棣栧瓧姣嶅皬鍐�
+}
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/index.vue.vm b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/index.vue.vm
new file mode 100644
index 0000000..5ea1a83
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Template/index.vue.vm
@@ -0,0 +1,494 @@
+@{
+  var pkField = Model.TableField.Where(c => c.ColumnKey == "True").FirstOrDefault();
+  string pkFieldName = null;
+  if(pkField != null && !string.IsNullOrEmpty(pkField.PropertyName))
+  {
+    pkFieldName = LowerFirstLetter(pkField.PropertyName);
+  }
+  Dictionary<string, int> definedObjects = new Dictionary<string, int>();
+  bool haveLikeCdt = false;
+  foreach (var column in Model.TableField){
+      if (column.QueryWhether == "Y" && column.WhetherKeyQuery == "Y"){
+          haveLikeCdt = true;
+      }
+  }
+}
+<template>
+  <div class="@(@Model.LowerClassName)-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      @<el-form :model="queryParams@(@Model.ClassName)" ref="queryForm" labelWidth="90">
+        @<el-row>
+              @if(Model.QueryWhetherList.Count > 0){
+          @if(haveLikeCdt){
+          @:<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            @:<el-form-item label="鍏抽敭瀛�">
+              @:<el-input v-model="queryParams@(@Model.ClassName).searchKey" clearable="" placeholder="@(@Model.KeyQueryStr)"/>
+              @:
+            </el-form-item>
+          </el-col>
+          }
+          foreach (var column in Model.QueryWhetherList){
+          @:<el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI@(@Model.ClassName)">
+            if(@column.EffectType == "Input" || @column.EffectType == "InputTextArea"){
+            @:<el-form-item label="@column.ColumnComment">
+              @:<el-input v-model="queryParams@(@Model.ClassName).@(@column.LowerPropertyName)" clearable="" placeholder="璇疯緭鍏(@column.ColumnComment)"/>
+              @:
+            </el-form-item>
+            }else if(@column.EffectType == "InputTextArea"){
+            @:<el-form-item label="@column.ColumnComment">
+              @:<el-input-number v-model="queryParams@(@Model.ClassName).@(@column.LowerPropertyName)"  clearable="" placeholder="璇疯緭鍏(@column.ColumnComment)"/>
+              @:
+            </el-form-item>
+            }else if(@column.EffectType == "InputNumber"){
+            @:<el-form-item label="@column.ColumnComment">
+              @:<el-input-number v-model="queryParams@(@Model.ClassName).@(@column.LowerPropertyName)"  clearable="" placeholder="璇疯緭鍏(@column.ColumnComment)"/>
+              @:
+            </el-form-item>
+            }else if(@column.EffectType == "fk"){
+            @:<el-form-item label="@column.ColumnComment">
+              @:<el-select clearable="" filterable="" v-model="queryParams@(@Model.ClassName).@(@column.LowerPropertyName)" placeholder="璇烽�夋嫨@(@column.ColumnComment)">
+                @:<el-option v-for="(item,index) in  @LowerFirstLetter(@column.FkEntityName)@(@column.PropertyName)DropdownList" :key="index" :value="item.value" :label="item.label" />
+                @:
+              </el-select>
+              @:
+            </el-form-item>
+            }else if(@column.EffectType == "Select"){
+            @:<el-form-item label="@column.ColumnComment">
+              @:<el-select clearable="" v-model="queryParams@(@Model.ClassName).@(@column.LowerPropertyName)" placeholder="璇烽�夋嫨@(@column.ColumnComment)">
+                @:<el-option v-for="(item,index) in dl('@(@column.DictTypeCode)')" :key="index" :value="item.code" :label="`[${item.code}] ${item.name}`" />
+                @:
+              </el-select>
+              @:
+            </el-form-item>
+            }else if(@column.EffectType == "EnumSelector" || @column.EffectType == "Switch"){
+            @:<el-form-item label="@column.ColumnComment">
+              @:<el-select clearable="" v-model="queryParams@(@Model.ClassName).@(@column.LowerPropertyName)" placeholder="璇烽�夋嫨@(@column.ColumnComment)">
+                @:<el-option v-for="(item,index) in getEnum@(@column.PropertyName)Data_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                @:
+              </el-select>
+              @:
+            </el-form-item>
+            }else if(@column.EffectType == "DateTimePicker"){
+            @:<el-form-item label="@column.ColumnComment">
+              if(@column.QueryType == "~"){
+              @:<el-date-picker placeholder="璇烽�夋嫨@(@column.ColumnComment)" value-format="YYYY/MM/DD  HH:mm:ss" type="datetimerange" :default-time="defaultTimeRange" v-model="queryParams@(@Model.ClassName).@(@column.LowerPropertyName)Range" />
+              }else
+              {
+              @:<el-date-picker placeholder="璇烽�夋嫨@(@column.ColumnComment)" value-format="YYYY/MM/DD HH:mm:ss"  v-model="queryParams@(@Model.ClassName).@(@column.LowerPropertyName)" />
+              }
+              @:
+            </el-form-item>
+            }else if(@column.EffectType == "DatePicker"){
+            @:<el-form-item label="@column.ColumnComment">
+              if(@column.QueryType == "~"){
+              @:<el-date-picker placeholder="璇烽�夋嫨@(@column.ColumnComment)" value-format="YYYY/MM/DD" type="daterange" v-model="queryParams@(@Model.ClassName).@(@column.LowerPropertyName)Range" />
+              }else
+              {
+              @:<el-date-picker placeholder="璇烽�夋嫨@(@column.ColumnComment)" value-format="YYYY/MM/DD"  v-model="queryParams@(@Model.ClassName).@(@column.LowerPropertyName)" />
+              }
+              @:
+            </el-form-item>
+            }
+          @:</el-col>
+            } 
+      }
+          @<el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            @<el-form-item>
+              @<el-button-group style="display: flex; align-items: center;">
+                @<el-button type="primary"  icon="ele-Search" @@click="handleQuery@(@Model.ClassName)" v-auth="'@(@Model.LowerClassName):page'" :disabled="disabled_btn@(@Model.ClassName)"> 鏌ヨ </el-button>
+                   @if(Model.QueryWhetherList.Count > 0){
+                      @:<el-button icon="ele-Refresh" @@click="reset@(@Model.ClassName)"> 閲嶇疆 </el-button>
+                        @if(haveLikeCdt){
+                        @:<el-button icon="ele-ZoomIn" @@click="changeAdvanceQueryUI@(@Model.ClassName)" v-if="!showAdvanceQueryUI@(@Model.ClassName)" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        @:<el-button icon="ele-ZoomOut" @@click="changeAdvanceQueryUI@(@Model.ClassName)" v-if="showAdvanceQueryUI@(@Model.ClassName)" style="margin-left:5px;"> 闅愯棌 </el-button>
+                        }
+                    }
+                @<el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @@click="openAdd@(@Model.ClassName)" v-auth="'@(@Model.LowerClassName):add'"> 鏂板 </el-button>
+                 @if(@Model.Buttons.Contains("瀵煎叆")){  
+                @:<el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @@click="openImportExcel@(@Model.ClassName)"  v-auth="'@(@Model.LowerClassName):importExcel'" > 瀵煎叆 </el-button>
+                }
+                 @if(@Model.Buttons.Contains("瀵煎嚭")){  
+                @:<el-button type="primary" style="margin-left:5px;" icon="ele-Download" @@click="handleExportExcel@(@Model.ClassName)"  v-auth="'@(@Model.LowerClassName):exportExcel'" > 瀵煎嚭 </el-button>
+                }
+              </el-button-group>
+            </el-form-item>
+            @
+          @</el-col>
+        </el-row>
+        @* 鎿嶄綔鍖哄彟璧蜂竴琛�
+        @:<el-row>
+          @:<el-col>
+            @:<el-button-group style="margin-left:20px;margin-bottom:5px;">
+              @:<el-button type="primary" icon="ele-Plus" @@click="openAdd@(@Model.ClassName)" v-auth="'@(@Model.LowerClassName):add'"> 鏂板 </el-button>
+            </el-button-group>
+          @:</el-col>
+        </el-row>
+		*@
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRef@(@Model.ClassName)"
+				:data="tableData@(@Model.ClassName)"
+				style="width: 100%"
+				v-loading="loading@(@Model.ClassName)"
+				tooltip-effect="light"
+                @if(@pkFieldName != null)
+                {
+				@:row-key="@(@pkFieldName)"
+                }
+                @@sort-change="sortChange@(@Model.ClassName)"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        @foreach (var column in Model.TableField){
+        if(@column.WhetherTable == "Y"){
+        if(@column.EffectType == "Upload"||@column.EffectType == "fk"||@column.EffectType == "ApiTreeSelect"||@column.EffectType == "Switch"||@column.EffectType == "ConstSelector"){
+        @:<el-table-column prop="@column.LowerPropertyName" label="@column.ColumnComment" @(column.WhetherSortable == "Y" ? "sortable='custom'" : "") show-overflow-tooltip="">
+          @:<template #default="scope">
+            if(@column.EffectType == "Upload"){
+            @:<el-image
+            @:v-if="scope.row.@column.LowerPropertyName"
+            @:style="width: 60px; height: 60px"
+            @::src="scope.row.@column.LowerPropertyName"
+            @::lazy="true"
+            @::hide-on-click-modal="true"
+            @::preview-src-list="[scope.row.@column.LowerPropertyName]"
+            @::initial-index="0"
+            @:fit="scale-down"
+            @:preview-teleported=""/>
+            }else if(@column.EffectType == "fk"){
+            @:<span>{{scope.row.@LowerFirstLetter(@column.PropertyName)_@(@column.FkColumnName)}}</span>
+            }else if(@column.EffectType == "ApiTreeSelect"){
+            @:<span>{{scope.row.@LowerFirstLetter(@column.PropertyName)@(column.DisplayColumn)}}</span>
+            }else if(@column.EffectType == "Switch"){
+            @:<el-tag v-if="scope.row.@(@column.LowerPropertyName)"> 鏄� </el-tag>
+            @:<el-tag type="danger" v-else> 鍚� </el-tag>
+            }else if(@column.EffectType == "ConstSelector"){
+            @:<span>{{codeToName(scope.row.@(@column.LowerPropertyName), '@(@column.DictTypeCode)')}}</span>
+            }
+            @:
+          </template>
+          @:
+        </el-table-column>
+        }
+        else if(@column.EffectType == "Select"){
+          @:<el-table-column prop="@column.LowerPropertyName" label="@column.ColumnComment" @(column.WhetherSortable == "Y" ? "sortable='custom'" : "") show-overflow-tooltip="" >
+            @:<template #default="scope">
+              @:<el-tag :type="di('@(@column.DictTypeCode)', scope.row.@(@column.LowerPropertyName))?.tagType"> {{di("@(@column.DictTypeCode)", scope.row.@(@column.LowerPropertyName))?.name}} </el-tag>
+            @:</template>
+          @:</el-table-column>
+        }
+        else if(@column.EffectType == "EnumSelector"){
+          @:<el-table-column prop="@column.LowerPropertyName" label="@column.ColumnComment" @(column.WhetherSortable == "Y" ? "sortable='custom'" : "") show-overflow-tooltip="" >
+            @:<template #default="scope">
+              @:<el-tag>{{ getEnumDesc(scope.row.@column.LowerPropertyName, getEnum@(@column.PropertyName)Data_Index)}}</el-tag>
+            @:</template>
+          @:</el-table-column>
+        }
+        else if(@column.EffectType == "DateTimePicker"){
+         @:<el-table-column prop="@column.LowerPropertyName" label="@column.ColumnComment" width="130" :formatter="formatDate_T_Time" @(column.WhetherSortable == "Y" ? "sortable='custom'" : "") show-overflow-tooltip="" />
+        }
+        else if(@column.EffectType == "DatePicker"){
+         @:<el-table-column prop="@column.LowerPropertyName" label="@column.ColumnComment" width="80" :formatter="formatDate_T_Date" @(column.WhetherSortable == "Y" ? "sortable='custom'" : "") show-overflow-tooltip="" />
+        }
+        else {
+        @:<el-table-column prop="@column.LowerPropertyName" label="@column.ColumnComment" @(column.WhetherSortable == "Y" ? "sortable='custom'" : "") show-overflow-tooltip="" />
+        }
+        }
+        }
+        @if(@Model.PrintType == "custom"){
+        @:<el-table-column label="鎿嶄綔" width="200" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('@(@Model.LowerClassName):update') || auth('@(@Model.LowerClassName):delete')">
+          @:<template #default="scope">
+            @:<el-button icon="ele-Printer" size="small" text="" type="primary" @@click="openPrint@(@Model.ClassName)(scope.row)" v-auth="'@(@Model.LowerClassName):print'"> 鎵撳嵃 </el-button>
+        }else{
+        @:<el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('@(@Model.LowerClassName):update') || auth('@(@Model.LowerClassName):delete')">
+          @:<template #default="scope">
+        }
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @@click="openEdit@(@Model.ClassName)(scope.row)" v-auth="'@(@Model.LowerClassName):update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @@click="del@(@Model.ClassName)(scope.row)" v-auth="'@(@Model.LowerClassName):delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParams@(@Model.ClassName).page"
+				v-model:page-size="tableParams@(@Model.ClassName).pageSize"
+				:total="tableParams@(@Model.ClassName).total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@@size-change="handleSizeChange@(@Model.ClassName)"
+				@@current-change="handleCurrentChange@(@Model.ClassName)"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialog@(@Model.ClassName)
+        ref="printDialogRef@(@Model.ClassName)"
+        :title="print@(@Model.ClassName)Title"
+        @@reloadTable="handleQuery@(@Model.ClassName)" />
+      <editDialog@(@Model.ClassName)
+        ref="editDialogRef@(@Model.ClassName)"
+        :title="edit@(@Model.ClassName)Title"
+        @@reloadTable="handleQuery@(@Model.ClassName)"
+      />
+      @if(@Model.Buttons.Contains("瀵煎叆")){  
+      @:<importExcelDialog
+        @:ref="importExcelDialogRef@(@Model.ClassName)"
+        @::title="importExcelTitle@(@Model.ClassName)"
+        @:@@parentUploadFun="handleImportExcel@(@Model.ClassName)"
+        @:@@parentDownFun="handleDownExcel@(@Model.ClassName)"
+      @:/>
+      }
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="@(@Model.LowerClassName)">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@@/utils/authFunction';
+  @if(@Model.TableField.Any(x=>x.EffectType == "ConstSelector")){
+  @:import { codeToName, getConstType } from "/@@/utils/constHelper";
+  } 
+  import { getDictDataItem as di, getDictDataList as dl } from '/@@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@@/utils/formatTime';
+  @if(@Model.Buttons.Contains("瀵煎叆")){  
+  @:import importExcelDialog from '/@@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
+  }
+  @if(@Model.Buttons.Contains("瀵煎嚭")){  
+  @:import { exportPageExcel } from '/@@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+  }
+
+  @if(@Model.PrintType == "custom"){
+  @:// 鎺ㄨ崘璁剧疆鎿嶄綔 width 涓� 200
+  @:import { hiprint } from 'vue-plugin-hiprint';
+  @:import { SysPrintApi } from '/@@/api-services/api';
+  @:import { SysPrint } from '/@@/api-services/models';
+  }
+
+  import printDialog@(@Model.ClassName) from '/@@/views/system/print/component/hiprint/preview.vue'
+  @if(@Model.Buttons.Contains("缂栬緫")){
+  @:import editDialog@(@Model.ClassName) from '/@@/views/main/@(@Model.ModuleName)/@(@Model.LowerClassName)/component/editDialog.vue'
+  }
+  import { page@(@Model.ClassName), delete@(@Model.ClassName),importExcel@(@Model.ClassName),downloadExcelTemplate@(@Model.ClassName) } from '/@@/api/main/@(@Model.ModuleName)/@(@Model.LowerClassName)';
+  @foreach (var column in Model.QueryWhetherList){
+  if(@column.EffectType == "fk"){
+  @:import { get@(@column.FkEntityName)@(@column.PropertyName)Dropdown } from '/@@/api/main/@(@Model.ModuleName)/@(@Model.LowerClassName)';
+  }
+  }
+  @if(@Model.QueryWhetherList.Any(x=>x.EffectType == "EnumSelector"  || x.EffectType == "Switch")){
+	@:import { getAPI } from '/@@/utils/axios-utils';
+	@:import { SysEnumApi } from '/@@/api-services/api';
+  @:import commonFunction from '/@@/utils/commonFunction';
+	}
+
+  @foreach (var column in Model.QueryWhetherList){
+  if(@column.EffectType == "EnumSelector" || @column.EffectType == "Switch"){
+  @:const getEnum@(@column.PropertyName)Data_Index = ref<any>([]);
+  }
+  }
+
+  @if(@Model.QueryWhetherList.Any(x=>x.EffectType == "EnumSelector")){
+	@:const { getEnumDesc } = commonFunction();
+	}
+  
+  /***************************************************[@(@Model.BusName)鎿嶄綔]寮�濮�***************************************************/
+  @if(haveLikeCdt){
+  @:const showAdvanceQueryUI@(@Model.ClassName) = ref(false);
+  }else {
+  @:const showAdvanceQueryUI@(@Model.ClassName) = ref(true);
+  }
+  const tableRef@(@Model.ClassName) = ref(null);
+  const printDialogRef@(@Model.ClassName) = ref();
+  const editDialogRef@(@Model.ClassName) = ref();
+  const loading@(@Model.ClassName) = ref(false);
+  const disabled_btn@(@Model.ClassName) = ref(false);
+  const tableData@(@Model.ClassName) = ref<any>([]);
+  const queryParams@(@Model.ClassName) = ref<any>({});
+  const tableParams@(@Model.ClassName) = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const print@(@Model.ClassName)Title = ref("");
+  const edit@(@Model.ClassName)Title = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUI@(@Model.ClassName) = () => {
+    showAdvanceQueryUI@(@Model.ClassName).value = !showAdvanceQueryUI@(@Model.ClassName).value;
+  }
+
+  // 鏌ヨ@(@Model.BusName)
+  const handleQuery@(@Model.ClassName) = async () => {
+    loading@(@Model.ClassName).value = true;
+    disabled_btn@(@Model.ClassName).value = true;
+    var res = await page@(@Model.ClassName)(Object.assign(queryParams@(@Model.ClassName).value, tableParams@(@Model.ClassName).value));
+    if(res.data.type=="success"){
+      tableData@(@Model.ClassName).value = res.data.result?.items ?? [];
+      tableParams@(@Model.ClassName).value.total = res.data.result?.total;
+    }
+    loading@(@Model.ClassName).value = false;
+    disabled_btn@(@Model.ClassName).value = false;
+  };
+
+  // 閲嶇疆@(@Model.BusName)鏌ヨ
+  const reset@(@Model.ClassName) = async () => {
+    queryParams@(@Model.ClassName).value = {}
+  };
+
+  // @(@Model.BusName)鍒楁帓搴�
+  const sortChange@(@Model.ClassName) = async (column: any) => {
+	queryParams@(@Model.ClassName).value.field = column.prop;
+	queryParams@(@Model.ClassName).value.order = column.order;
+	await handleQuery@(@Model.ClassName)();
+  };
+
+  // 鎵撳紑鏂板@(@Model.BusName)椤甸潰
+  const openAdd@(@Model.ClassName) = () => {
+    edit@(@Model.ClassName)Title.value = '娣诲姞@(@Model.BusName)';
+    editDialogRef@(@Model.ClassName).value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃@(@Model.BusName)椤甸潰
+  const openPrint@(@Model.ClassName) = async (row: any) => {
+    print@(@Model.ClassName)Title.value = '鎵撳嵃@(@Model.BusName)';
+    @if(@Model.PrintType == "custom"){
+    @:var res = await getAPI(SysPrintApi).apiSysPrintPrintNameGet('@Model.PrintName');
+	  @:var printTemplate = res.data.result as SysPrint;
+    @:var template = JSON.parse(printTemplate.template);
+    @:row['printDate'] = formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS')
+    @:printDialogRef@(@Model.ClassName).value.showDialog(new hiprint.PrintTemplate({template: template}), row, template.panels[0].width);
+    }
+  }
+  
+  // 鎵撳紑缂栬緫@(@Model.BusName)椤甸潰
+  const openEdit@(@Model.ClassName) = (row: any) => {
+    edit@(@Model.ClassName)Title.value = '缂栬緫@(@Model.BusName)';
+    editDialogRef@(@Model.ClassName).value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎@(@Model.BusName)
+  const del@(@Model.ClassName) = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loading@(@Model.ClassName).value = true;
+    var ret = await delete@(@Model.ClassName)(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loading@(@Model.ClassName).value = false;
+    handleQuery@(@Model.ClassName)();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉@(@Model.BusName)椤甸潰瀹归噺
+  const handleSizeChange@(@Model.ClassName) = (val: number) => {
+    tableParams@(@Model.ClassName).value.pageSize = val;
+    handleQuery@(@Model.ClassName)();
+  };
+
+  // 鏀瑰彉@(@Model.BusName)椤电爜搴忓彿
+  const handleCurrentChange@(@Model.ClassName) = (val: number) => {
+    tableParams@(@Model.ClassName).value.page = val;
+    handleQuery@(@Model.ClassName)();
+  };
+
+  @foreach (var column in Model.QueryWhetherList){
+  if(@column.EffectType == "fk"){
+  @:const @LowerFirstLetter(@column.FkEntityName)@(@column.PropertyName)DropdownList = ref<any>([]); 
+  @:const get@(@column.FkEntityName)@(@column.PropertyName)DropdownList = async () => {
+    @:let list = await get@(@column.FkEntityName)@(@column.PropertyName)Dropdown();
+    @:@LowerFirstLetter(@column.FkEntityName)@(@column.PropertyName)DropdownList.value = list.data.result ?? [];
+  @:};
+  @:get@(@column.FkEntityName)@(@column.PropertyName)DropdownList();
+  @:
+  }
+}
+/***************************************************[@(@Model.BusName)鎿嶄綔]缁撴潫***************************************************/
+@if(@Model.Buttons.Contains("瀵煎叆")){  
+@:/***************************************************[@(@Model.BusName)瀵煎叆]寮�濮�***************************************************/
+@:const importExcelTitle@(@Model.ClassName) = ref("");
+@:const importExcelDialogRef@(@Model.ClassName) = ref();
+@://鎵撳紑瀵煎叆鐣岄潰
+@:const openImportExcel@(@Model.ClassName) = () => {
+    @:importExcelTitle@(@Model.ClassName).value = '瀵煎叆@(@Model.BusName)';
+    @:importExcelDialogRef@(@Model.ClassName).value.openDialog({});
+@:};
+@://瀵煎叆鏁版嵁
+@:const handleImportExcel@(@Model.ClassName) = async (formData:Blob) => {
+   @:var result = await importExcel@(@Model.ClassName)(formData);
+   @:importExcelDialogRef@(@Model.ClassName).value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+   @:if(result.data.type=="success"){
+    @:handleQuery@(@Model.ClassName)();
+   @:}
+@:};
+@://涓嬭浇瀵煎叆妯℃澘
+@:const handleDownExcel@(@Model.ClassName) = async () => {
+   @:var result = await downloadExcelTemplate@(@Model.ClassName)();
+   @:importExcelDialogRef@(@Model.ClassName).value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+@:};
+@:/***************************************************[@(@Model.BusName)瀵煎叆]缁撴潫***************************************************/
+}
+@if(@Model.Buttons.Contains("瀵煎嚭")){  
+@:/***************************************************[@(@Model.BusName)瀵煎嚭]寮�濮�***************************************************/
+@://瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+@:const functionMap@(@Model.ClassName) = {
+     @foreach (var column in Model.QueryWhetherList){
+  if(@column.EffectType == "EnumSelector" || @column.EffectType == "Switch"){
+      @:getEnum@(@column.PropertyName)Data_Index,
+  }}
+      @:formatDate_T_Date,
+      @:formatDate_T_Time
+@:};
+@://鐐瑰嚮瀵煎嚭鎸夐挳
+@:const handleExportExcel@(@Model.ClassName) = async (formData:Blob) => {
+  
+    @:loading@(@Model.ClassName).value = true;
+    @:disabled_btn@(@Model.ClassName).value = true;
+    
+    @:var new_tableParams@(@Model.ClassName)=JSON.parse(JSON.stringify(tableParams@(@Model.ClassName).value));
+    @:new_tableParams@(@Model.ClassName).page = 1;
+    @:new_tableParams@(@Model.ClassName).pageSize = 100000;
+    @:var res = await page@(@Model.ClassName)(Object.assign(queryParams@(@Model.ClassName).value, new_tableParams@(@Model.ClassName)));
+    @:if(res.data.type=="success"){
+      @:exportExcel@(@Model.ClassName)(res.data.result?.items ?? []);
+    @:}
+    @:loading@(@Model.ClassName).value = false;
+    @:disabled_btn@(@Model.ClassName).value = false;
+@:};
+@://瀵煎嚭
+@:const exportExcel@(@Model.ClassName)  = async (exportDataList:Array) => {
+  @:exportPageExcel(exportDataList, tableRef@(@Model.ClassName),"@(@Model.BusName)",functionMap@(@Model.ClassName));
+@:};
+@:/***************************************************[@(@Model.BusName)瀵煎嚭]缁撴潫***************************************************/
+}
+  // @(@Model.BusName)椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+  @foreach (var column in Model.QueryWhetherList){
+  if(@column.EffectType == "EnumSelector"){
+    @:getEnum@(@column.PropertyName)Data_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('@(@column.DictTypeCode)')).data.result ?? [];
+  }else  if(@column.EffectType == "Switch"){
+    @:getEnum@(@column.PropertyName)Data_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+  }}
+  });
+
+  handleQuery@(@Model.ClassName)();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
+@{
+string LowerFirstLetter(string text)
+{
+return text.ToString()[..1].ToLower() + text[1..]; // 棣栧瓧姣嶅皬鍐�
+}
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/22/549740902039621.png b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/22/549740902039621.png
new file mode 100644
index 0000000..612c0f6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/22/549740902039621.png
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/22/549741611864133.png b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/22/549741611864133.png
new file mode 100644
index 0000000..612c0f6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/22/549741611864133.png
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/22/549744516165701.png b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/22/549744516165701.png
new file mode 100644
index 0000000..612c0f6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/22/549744516165701.png
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/26/551076729417797.xlsx b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/26/551076729417797.xlsx
new file mode 100644
index 0000000..34416e6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/26/551076729417797.xlsx
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/26/551078846341189.xlsx b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/26/551078846341189.xlsx
new file mode 100644
index 0000000..34416e6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/2024/05/26/551078846341189.xlsx
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/Avatar/573383504625733.png b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/Avatar/573383504625733.png
new file mode 100644
index 0000000..4a97471
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/Avatar/573383504625733.png
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/Avatar/573383695376453.png b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/Avatar/573383695376453.png
new file mode 100644
index 0000000..4a97471
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/Avatar/573383695376453.png
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/Avatar/573383970361413.png b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/Avatar/573383970361413.png
new file mode 100644
index 0000000..4a97471
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/Upload/Avatar/573383970361413.png
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/images/logo.png b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/images/logo.png
new file mode 100644
index 0000000..166b801
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/images/logo.png
Binary files differ
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/web.config b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/web.config
new file mode 100644
index 0000000..0e41877
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/web.config
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+    <system.webServer>
+        <staticContent>
+            <mimeMap fileExtension=".wgt" mimeType="application/widget" />
+        </staticContent>
+    </system.webServer>
+</configuration>
diff --git a/LA24030_LuLiPackageLine_Wms/LA24030_LuLiPackageLine_Wms.sln b/LA24030_LuLiPackageLine_Wms/LA24030_LuLiPackageLine_Wms.sln
new file mode 100644
index 0000000..00c9f4f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/LA24030_LuLiPackageLine_Wms.sln
@@ -0,0 +1,87 @@
+锘�
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.32112.339
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Application", "Admin.NET.Application\Admin.NET.Application.csproj", "{C3F5AEC5-ACEE-4109-94E3-3F981DC18268}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Core", "Admin.NET.Core\Admin.NET.Core.csproj", "{3AD1A3ED-ED11-479D-BE32-6589D98A9ADC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Web.Core", "Admin.NET.Web.Core\Admin.NET.Web.Core.csproj", "{8A42A864-A69E-40F7-975E-F2FA36E7DFEE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Web.Entry", "Admin.NET.Web.Entry\Admin.NET.Web.Entry.csproj", "{11EA630B-4600-4236-A117-CE6C6CD67586}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{662E0B8E-F23E-4C7D-80BD-CAA5707503CC}"
+	ProjectSection(SolutionItems) = preProject
+		.editorconfig = .editorconfig
+	EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Plugins", "Plugins", "{76F70D22-8D53-468E-A3B6-1704666A1D71}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Plugin.GoView", "Plugins\Admin.NET.Plugin.GoView\Admin.NET.Plugin.GoView.csproj", "{C4A288D5-0FAA-4F43-9072-B97635D7871D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Plugin.Elsa", "Plugins\Admin.NET.Plugin.Elsa\Admin.NET.Plugin.Elsa.csproj", "{48EFC3A6-BDC0-4D05-819A-B1FB927FA4C8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Plugin.DingTalk", "Plugins\Admin.NET.Plugin.DingTalk\Admin.NET.Plugin.DingTalk.csproj", "{F6A002AD-CF7F-4771-8597-F12A50A93DAA}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Plugin.ReZero", "Plugins\Admin.NET.Plugin.ReZero\Admin.NET.Plugin.ReZero.csproj", "{04AB2E76-DE8B-4EFD-9F48-F8D4C0993106}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Admin.NET.Plugin.ApprovalFlow", "Plugins\Admin.NET.Plugin.ApprovalFlow\Admin.NET.Plugin.ApprovalFlow.csproj", "{902A91A7-5EF0-4A63-BC2C-9B783DC00880}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{C3F5AEC5-ACEE-4109-94E3-3F981DC18268}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C3F5AEC5-ACEE-4109-94E3-3F981DC18268}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C3F5AEC5-ACEE-4109-94E3-3F981DC18268}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C3F5AEC5-ACEE-4109-94E3-3F981DC18268}.Release|Any CPU.Build.0 = Release|Any CPU
+		{3AD1A3ED-ED11-479D-BE32-6589D98A9ADC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{3AD1A3ED-ED11-479D-BE32-6589D98A9ADC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{3AD1A3ED-ED11-479D-BE32-6589D98A9ADC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{3AD1A3ED-ED11-479D-BE32-6589D98A9ADC}.Release|Any CPU.Build.0 = Release|Any CPU
+		{8A42A864-A69E-40F7-975E-F2FA36E7DFEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{8A42A864-A69E-40F7-975E-F2FA36E7DFEE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{8A42A864-A69E-40F7-975E-F2FA36E7DFEE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{8A42A864-A69E-40F7-975E-F2FA36E7DFEE}.Release|Any CPU.Build.0 = Release|Any CPU
+		{11EA630B-4600-4236-A117-CE6C6CD67586}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{11EA630B-4600-4236-A117-CE6C6CD67586}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{11EA630B-4600-4236-A117-CE6C6CD67586}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{11EA630B-4600-4236-A117-CE6C6CD67586}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C4A288D5-0FAA-4F43-9072-B97635D7871D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C4A288D5-0FAA-4F43-9072-B97635D7871D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C4A288D5-0FAA-4F43-9072-B97635D7871D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C4A288D5-0FAA-4F43-9072-B97635D7871D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{48EFC3A6-BDC0-4D05-819A-B1FB927FA4C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{48EFC3A6-BDC0-4D05-819A-B1FB927FA4C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{48EFC3A6-BDC0-4D05-819A-B1FB927FA4C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{48EFC3A6-BDC0-4D05-819A-B1FB927FA4C8}.Release|Any CPU.Build.0 = Release|Any CPU
+		{F6A002AD-CF7F-4771-8597-F12A50A93DAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F6A002AD-CF7F-4771-8597-F12A50A93DAA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F6A002AD-CF7F-4771-8597-F12A50A93DAA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F6A002AD-CF7F-4771-8597-F12A50A93DAA}.Release|Any CPU.Build.0 = Release|Any CPU
+		{04AB2E76-DE8B-4EFD-9F48-F8D4C0993106}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{04AB2E76-DE8B-4EFD-9F48-F8D4C0993106}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{04AB2E76-DE8B-4EFD-9F48-F8D4C0993106}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{04AB2E76-DE8B-4EFD-9F48-F8D4C0993106}.Release|Any CPU.Build.0 = Release|Any CPU
+		{902A91A7-5EF0-4A63-BC2C-9B783DC00880}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{902A91A7-5EF0-4A63-BC2C-9B783DC00880}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{902A91A7-5EF0-4A63-BC2C-9B783DC00880}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{902A91A7-5EF0-4A63-BC2C-9B783DC00880}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(NestedProjects) = preSolution
+		{C4A288D5-0FAA-4F43-9072-B97635D7871D} = {76F70D22-8D53-468E-A3B6-1704666A1D71}
+		{48EFC3A6-BDC0-4D05-819A-B1FB927FA4C8} = {76F70D22-8D53-468E-A3B6-1704666A1D71}
+		{F6A002AD-CF7F-4771-8597-F12A50A93DAA} = {76F70D22-8D53-468E-A3B6-1704666A1D71}
+		{04AB2E76-DE8B-4EFD-9F48-F8D4C0993106} = {76F70D22-8D53-468E-A3B6-1704666A1D71}
+		{902A91A7-5EF0-4A63-BC2C-9B783DC00880} = {76F70D22-8D53-468E-A3B6-1704666A1D71}
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {5CD801D7-984A-4F5C-8FA2-211B7A5EA9F3}
+	EndGlobalSection
+EndGlobal
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Admin.NET.Plugin.ApprovalFlow.csproj b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Admin.NET.Plugin.ApprovalFlow.csproj
new file mode 100644
index 0000000..84b0b02
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Admin.NET.Plugin.ApprovalFlow.csproj
@@ -0,0 +1,23 @@
+锘�<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net6.0</TargetFramework>
+    <NoWarn>1701;1702;1591;8632</NoWarn>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <Nullable>disable</Nullable>
+    <GenerateDocumentationFile>True</GenerateDocumentationFile>
+    <Copyright>漏 Admin.NET</Copyright>
+    <Description>Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�</Description>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <None Update="Configuration\**">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\..\Admin.NET.Core\Admin.NET.Core.csproj" />
+  </ItemGroup>
+	
+</Project>
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Configuration/ApprovalFlow.json b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Configuration/ApprovalFlow.json
new file mode 100644
index 0000000..85b0512
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Configuration/ApprovalFlow.json
@@ -0,0 +1,13 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "[openapi:瀹℃壒娴佺▼]": {
+    "Group": "瀹℃壒娴佺▼",
+    "Title": "瀹℃壒娴佺▼",
+    "Description": "瀵逛笟鍔″疄浣撴暟鎹殑澧炲垹鏀规搷浣滆繘琛屾祦绋嬪鎵广��",
+    "Version": "1.0.0",
+    "Order": 100
+  },
+  "ApprovalFlow": {
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Const/ApprovalFlowConst.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Const/ApprovalFlowConst.cs
new file mode 100644
index 0000000..de78db0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Const/ApprovalFlowConst.cs
@@ -0,0 +1,19 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.ApprovalFlow;
+
+/// <summary>
+/// 瀹℃壒娴佺▼鐩稿叧甯搁噺
+/// </summary>
+[Const("瀹℃壒娴佺▼鐩稿叧甯搁噺")]
+public class ApprovalFlowConst
+{
+    /// <summary>
+    /// API鍒嗙粍鍚嶇О
+    /// </summary>
+    public const string GroupName = "瀹℃壒娴佺▼";
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Entity/ApprovalFlow.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Entity/ApprovalFlow.cs
new file mode 100644
index 0000000..7ef66ca
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Entity/ApprovalFlow.cs
@@ -0,0 +1,53 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.ApprovalFlow;
+
+/// <summary>
+/// 瀹℃壒娴佺▼淇℃伅琛�
+/// </summary>
+[SugarTable(null, "瀹℃壒娴佺▼淇℃伅琛�")]
+public class ApprovalFlow : EntityBaseData
+{
+    /// <summary>
+    /// 缂栧彿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "缂栧彿", Length = 32)]
+    [MaxLength(32)]
+    public string? Code { get; set; }
+
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鍚嶇О", Length = 32)]
+    [MaxLength(32)]
+    public string Name { get; set; }
+
+    /// <summary>
+    /// 琛ㄥ崟
+    /// </summary>
+    [SugarColumn(ColumnDescription = "琛ㄥ崟", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? FormJson { get; set; }
+
+    /// <summary>
+    /// 娴佺▼
+    /// </summary>
+    [SugarColumn(ColumnDescription = "娴佺▼", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? FlowJson { get; set; }
+
+    /// <summary>
+    /// 鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐘舵��")]
+    public int? Status { get; set; }
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶囨敞", Length = 256)]
+    [MaxLength(256)]
+    public string? Remark { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Enum/FlowTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Enum/FlowTypeEnum.cs
new file mode 100644
index 0000000..5b5470b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Enum/FlowTypeEnum.cs
@@ -0,0 +1,14 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.ApprovalFlow;
+
+/// <summary>
+/// 娴佺▼绫诲瀷鏋氫妇
+/// </summary>
+public enum FlowTypeEnum
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/GlobalUsings.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/GlobalUsings.cs
new file mode 100644
index 0000000..99f56f1
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/GlobalUsings.cs
@@ -0,0 +1,19 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+global using Admin.NET.Core;
+global using Furion;
+global using Furion.DependencyInjection;
+global using Furion.DynamicApiController;
+global using Furion.FriendlyException;
+global using Mapster;
+global using Microsoft.AspNetCore.Mvc;
+global using Microsoft.Extensions.DependencyInjection;
+global using SqlSugar;
+global using System;
+global using System.Collections.Generic;
+global using System.ComponentModel.DataAnnotations;
+global using System.Threading.Tasks;
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Middleware/ApprovalFlowMiddleware.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Middleware/ApprovalFlowMiddleware.cs
new file mode 100644
index 0000000..6c0ab02
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Middleware/ApprovalFlowMiddleware.cs
@@ -0,0 +1,46 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.Builder;
+using Microsoft.AspNetCore.Http;
+
+namespace Admin.NET.Plugin.ApprovalFlow;
+
+/// <summary>
+/// 鎵╁睍瀹℃壒娴佷腑闂翠欢
+/// </summary>
+public static class ApprovalFlowMiddlewareExtensions
+{
+    /// <summary>
+    /// 浣跨敤瀹℃壒娴�
+    /// </summary>
+    /// <param name="builder"></param>
+    /// <returns></returns>
+    public static IApplicationBuilder UseApprovalFlow(this IApplicationBuilder builder)
+    {
+        return builder.UseMiddleware<ApprovalFlowMiddleware>();
+    }
+}
+
+/// <summary>
+/// 瀹℃壒娴佷腑闂翠欢
+/// </summary>
+public class ApprovalFlowMiddleware
+{
+    private readonly RequestDelegate _next;
+
+    public ApprovalFlowMiddleware(RequestDelegate next)
+    {
+        _next = next;
+    }
+
+    public async Task Invoke(HttpContext context)
+    {
+        //await App.GetService<SysApprovalService>().MatchApproval(context);
+
+        await _next.Invoke(context);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/SeedData/SysMenuSeedData.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/SeedData/SysMenuSeedData.cs
new file mode 100644
index 0000000..7688a96
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/SeedData/SysMenuSeedData.cs
@@ -0,0 +1,25 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.ApprovalFlow;
+
+/// <summary>
+/// 瀹℃壒娴佺▼鑿滃崟琛ㄧ瀛愭暟鎹�
+/// </summary>
+public class SysMenuSeedData : ISqlSugarEntitySeedData<SysMenu>
+{
+    /// <summary>
+    /// 绉嶅瓙鏁版嵁
+    /// </summary>
+    /// <returns></returns>
+    public IEnumerable<SysMenu> HasData()
+    {
+        return new[]
+        {
+            new SysMenu{ Id=1320000000001, Pid=1310000000301, Title="瀹℃壒娴佺▼", Path="/platform/approvalFlow", Name="approvalFlow", Component="/approvalFlow/index", Icon="ele-Help", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=2000 },
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/ApprovalFlowService.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/ApprovalFlowService.cs
new file mode 100644
index 0000000..89ae520
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/ApprovalFlowService.cs
@@ -0,0 +1,148 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.Http;
+
+namespace Admin.NET.Plugin.ApprovalFlow.Service;
+
+/// <summary>
+/// 瀹℃壒娴佺▼鏈嶅姟
+/// </summary>
+[ApiDescriptionSettings(ApprovalFlowConst.GroupName, Order = 100)]
+public class ApprovalFlowService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<ApprovalFlow> _approvalFlowRep;
+
+    public ApprovalFlowService(SqlSugarRepository<ApprovalFlow> approvalFlowRep)
+    {
+        _approvalFlowRep = approvalFlowRep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ瀹℃壒娴�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    public async Task<SqlSugarPagedList<ApprovalFlowOutput>> Page(ApprovalFlowInput input)
+    {
+        return await _approvalFlowRep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u => u.Code.Contains(input.SearchKey.Trim()) || u.Name.Contains(input.SearchKey.Trim()) || u.Remark.Contains(input.SearchKey.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Code), u => u.Code.Contains(input.Code.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Remark), u => u.Remark.Contains(input.Remark.Trim()))
+            .Select<ApprovalFlowOutput>()
+            .ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 澧炲姞瀹℃壒娴�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Add"), HttpPost]
+    public async Task<long> Add(AddApprovalFlowInput input)
+    {
+        var entity = input.Adapt<ApprovalFlow>();
+        if (input.Code == null)
+        {
+            entity.Code = await LastCode("");
+        }
+        await _approvalFlowRep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鏇存柊瀹℃壒娴�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Update"), HttpPost]
+    public async Task Update(UpdateApprovalFlowInput input)
+    {
+        var entity = input.Adapt<ApprovalFlow>();
+        await _approvalFlowRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鍒犻櫎瀹℃壒娴�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Delete"), HttpPost]
+    public async Task Delete(DeleteApprovalFlowInput input)
+    {
+        var entity = await _approvalFlowRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        await _approvalFlowRep.FakeDeleteAsync(entity);  // 鍋囧垹闄�
+    }
+
+    /// <summary>
+    /// 鑾峰彇瀹℃壒娴�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    public async Task<ApprovalFlow> GetDetail([FromQuery] QueryByIdApprovalFlowInput input)
+    {
+        return await _approvalFlowRep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+    /// <summary>
+    /// 鏍规嵁缂栫爜鑾峰彇瀹℃壒娴佷俊鎭�
+    /// </summary>
+    /// <param name="code"></param>
+    /// <returns></returns>
+    public async Task<ApprovalFlow> GetInfo([FromQuery] string code)
+    {
+        return await _approvalFlowRep.GetFirstAsync(u => u.Code == code);
+    }
+
+    /// <summary>
+    /// 鑾峰彇瀹℃壒娴佸垪琛�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    public async Task<List<ApprovalFlowOutput>> GetList([FromQuery] ApprovalFlowInput input)
+    {
+        return await _approvalFlowRep.AsQueryable().Select<ApprovalFlowOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇浠婂ぉ鍒涘缓鐨勬渶澶х紪鍙�
+    /// </summary>
+    /// <param name="prefix"></param>
+    /// <returns></returns>
+    private async Task<string> LastCode(string prefix)
+    {
+        var today = DateTime.Now.Date;
+        var count = await _approvalFlowRep.AsQueryable().Where(u => u.CreateTime >= today).CountAsync();
+        return prefix + DateTime.Now.ToString("yyMMdd") + string.Format("{0:d2}", count + 1);
+    }
+
+    /// <summary>
+    /// 鍖归厤瀹℃壒娴佺▼
+    /// </summary>
+    /// <param name="context"></param>
+    /// <returns></returns>
+    [NonAction]
+    public async Task MatchApproval(HttpContext context)
+    {
+        var request = context.Request;
+        var response = context.Response;
+
+        var path = request.Path.ToString().Split("/");
+
+        var method = request.Method;
+        var qs = request.QueryString;
+        var h = request.Headers;
+        var b = request.Body;
+
+        var requestHeaders = request.Headers;
+        var responseHeaders = response.Headers;
+
+        await Task.CompletedTask;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/Dto/ApprovalFlowDto.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/Dto/ApprovalFlowDto.cs
new file mode 100644
index 0000000..378f443
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/Dto/ApprovalFlowDto.cs
@@ -0,0 +1,88 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.ApprovalFlow.Service;
+
+/// <summary>
+/// 瀹℃壒娴佽緭鍑哄弬鏁�
+/// </summary>
+public class ApprovalFlowDto
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long Id { get; set; }
+
+    /// <summary>
+    /// 缂栧彿
+    /// </summary>
+    public string? Code { get; set; }
+
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public string? Name { get; set; }
+
+    /// <summary>
+    /// 琛ㄥ崟
+    /// </summary>
+    public string? FormJson { get; set; }
+
+    /// <summary>
+    /// 娴佺▼
+    /// </summary>
+    public string? FlowJson { get; set; }
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    public string? Remark { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜哄鍚�
+    /// </summary>
+    public string? CreateUserName { get; set; }
+
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+
+    /// <summary>
+    /// 淇敼浜哄鍚�
+    /// </summary>
+    public string? UpdateUserName { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜洪儴闂↖d
+    /// </summary>
+    public long? CreateOrgId { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜洪儴闂ㄥ悕绉�
+    /// </summary>
+    public string? CreateOrgName { get; set; }
+
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/Dto/ApprovalFlowInput.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/Dto/ApprovalFlowInput.cs
new file mode 100644
index 0000000..d34fdbb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/Dto/ApprovalFlowInput.cs
@@ -0,0 +1,147 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.ApprovalFlow.Service;
+
+/// <summary>
+/// 瀹℃壒娴佸熀纭�杈撳叆鍙傛暟
+/// </summary>
+public class ApprovalFlowBaseInput
+{
+    /// <summary>
+    /// 缂栧彿
+    /// </summary>
+    public virtual string? Code { get; set; }
+
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public virtual string? Name { get; set; }
+
+    /// <summary>
+    /// 琛ㄥ崟
+    /// </summary>
+    public virtual string? FormJson { get; set; }
+
+    /// <summary>
+    /// 娴佺▼
+    /// </summary>
+    public virtual string? FlowJson { get; set; }
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    public virtual string? Remark { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public virtual DateTime? CreateTime { get; set; }
+
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public virtual DateTime? UpdateTime { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public virtual long? CreateUserId { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜哄鍚�
+    /// </summary>
+    public virtual string? CreateUserName { get; set; }
+
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public virtual long? UpdateUserId { get; set; }
+
+    /// <summary>
+    /// 淇敼浜哄鍚�
+    /// </summary>
+    public virtual string? UpdateUserName { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜洪儴闂↖d
+    /// </summary>
+    public virtual long? CreateOrgId { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜洪儴闂ㄥ悕绉�
+    /// </summary>
+    public virtual string? CreateOrgName { get; set; }
+
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public virtual bool IsDelete { get; set; }
+}
+
+/// <summary>
+/// 瀹℃壒娴佸垎椤垫煡璇㈣緭鍏ュ弬鏁�
+/// </summary>
+public class ApprovalFlowInput : BasePageInput
+{
+    /// <summary>
+    /// 鍏抽敭瀛楁煡璇�
+    /// </summary>
+    public string? SearchKey { get; set; }
+
+    /// <summary>
+    /// 缂栧彿
+    /// </summary>
+    public string? Code { get; set; }
+
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public string? Name { get; set; }
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    public string? Remark { get; set; }
+}
+
+/// <summary>
+/// 瀹℃壒娴佸鍔犺緭鍏ュ弬鏁�
+/// </summary>
+public class AddApprovalFlowInput : ApprovalFlowBaseInput
+{
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+    public override bool IsDelete { get; set; }
+}
+
+/// <summary>
+/// 瀹℃壒娴佸垹闄よ緭鍏ュ弬鏁�
+/// </summary>
+public class DeleteApprovalFlowInput : BaseIdInput
+{
+}
+
+/// <summary>
+/// 瀹℃壒娴佹洿鏂拌緭鍏ュ弬鏁�
+/// </summary>
+public class UpdateApprovalFlowInput : ApprovalFlowBaseInput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+    public long Id { get; set; }
+}
+
+/// <summary>
+/// 瀹℃壒娴佷富閿煡璇㈣緭鍏ュ弬鏁�
+/// </summary>
+public class QueryByIdApprovalFlowInput : DeleteApprovalFlowInput
+{
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/Dto/ApprovalFlowOutput.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/Dto/ApprovalFlowOutput.cs
new file mode 100644
index 0000000..2df2f88
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Service/ApprovalFlow/Dto/ApprovalFlowOutput.cs
@@ -0,0 +1,88 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.ApprovalFlow.Service;
+
+/// <summary>
+/// 瀹℃壒娴佽緭鍑哄弬鏁�
+/// </summary>
+public class ApprovalFlowOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long Id { get; set; }
+
+    /// <summary>
+    /// 缂栧彿
+    /// </summary>
+    public string? Code { get; set; }
+
+    /// <summary>
+    /// 鍚嶇О
+    /// </summary>
+    public string? Name { get; set; }
+
+    /// <summary>
+    /// 琛ㄥ崟
+    /// </summary>
+    public string? FormJson { get; set; }
+
+    /// <summary>
+    /// 娴佺▼
+    /// </summary>
+    public string? FlowJson { get; set; }
+
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    public string? Remark { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜哄鍚�
+    /// </summary>
+    public string? CreateUserName { get; set; }
+
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+
+    /// <summary>
+    /// 淇敼浜哄鍚�
+    /// </summary>
+    public string? UpdateUserName { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜洪儴闂↖d
+    /// </summary>
+    public long? CreateOrgId { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜洪儴闂ㄥ悕绉�
+    /// </summary>
+    public string? CreateOrgName { get; set; }
+
+    /// <summary>
+    /// 杞垹闄�
+    /// </summary>
+    public bool IsDelete { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Startup.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Startup.cs
new file mode 100644
index 0000000..f8d7f83
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ApprovalFlow/Startup.cs
@@ -0,0 +1,23 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.Builder;
+using Microsoft.AspNetCore.Hosting;
+
+namespace Admin.NET.Plugin.ApprovalFlow;
+
+[AppStartup(100)]
+public class Startup : AppStartup
+{
+    public void ConfigureServices(IServiceCollection services)
+    {
+    }
+
+    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
+    {
+        app.UseApprovalFlow();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Admin.NET.Plugin.DingTalk.csproj b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Admin.NET.Plugin.DingTalk.csproj
new file mode 100644
index 0000000..084ff8f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Admin.NET.Plugin.DingTalk.csproj
@@ -0,0 +1,23 @@
+锘�<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net6.0</TargetFramework>
+    <NoWarn>1701;1702;1591;8632</NoWarn>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <Nullable>disable</Nullable>
+    <GenerateDocumentationFile>True</GenerateDocumentationFile>
+    <Copyright>漏 Admin.NET</Copyright>
+    <Description>Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�</Description>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <None Update="Configuration\**">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\..\Admin.NET.Core\Admin.NET.Core.csproj" />
+  </ItemGroup>
+
+</Project>
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Configuration/DingTalk.json b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Configuration/DingTalk.json
new file mode 100644
index 0000000..ff0428f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Configuration/DingTalk.json
@@ -0,0 +1,17 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "[openapi:DingTalk]": {
+    "Group": "DingTalk",
+    "Title": "DingTalk",
+    "Description": "闆嗘垚閽夐拤寮�鏀惧钩鍙�",
+    "Version": "1.0.0",
+    "Order": 90
+  },
+  "DingTalk": {
+    "AppId": "",
+    "AgentId": "",
+    "ClientId": "xxxx", // 鍘� AppKey 鍜� SuiteKey
+    "ClientSecret": "xxxx" // 鍘� AppSecret 鍜� SuiteSecret
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Const/DingTalkConst.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Const/DingTalkConst.cs
new file mode 100644
index 0000000..d023c14
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Const/DingTalkConst.cs
@@ -0,0 +1,34 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk;
+
+/// <summary>
+/// 閽夐拤鐩稿叧甯搁噺
+/// </summary>
+[Const("閽夐拤鐩稿叧甯搁噺")]
+public class DingTalkConst
+{
+    /// <summary>
+    /// API鍒嗙粍鍚嶇О
+    /// </summary>
+    public const string GroupName = "DingTalk";
+
+    /// <summary>
+    /// 濮撳悕
+    /// </summary>
+    public const string NameField = "sys00-name";
+
+    /// <summary>
+    /// 鎵嬫満鍙�
+    /// </summary>
+    public const string MobileField = "sys00-mobile";
+
+    /// <summary>
+    /// 宸ュ彿
+    /// </summary>
+    public const string JobNumberField = "sys00-jobNumber";
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Entity/DingTalkUser.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Entity/DingTalkUser.cs
new file mode 100644
index 0000000..35addaa
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Entity/DingTalkUser.cs
@@ -0,0 +1,76 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk;
+
+/// <summary>
+/// 閽夐拤鐢ㄦ埛琛�
+/// </summary>
+[SugarTable(null, "閽夐拤鐢ㄦ埛琛�")]
+public class DingTalkUser : EntityBase
+{
+    /// <summary>
+    /// 绯荤粺鐢ㄦ埛Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "绯荤粺鐢ㄦ埛Id")]
+    public long SysUserId { get; set; }
+
+    /// <summary>
+    /// 绯荤粺鐢ㄦ埛
+    /// </summary>
+    [SugarColumn(IsIgnore = true)]
+    [Navigate(NavigateType.OneToOne, nameof(SysUserId))]
+    [JsonIgnore]
+    public SysUser SysUser { get; set; }
+
+    /// <summary>
+    /// 閽夐拤鐢ㄦ埛id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "閽夐拤鐢ㄦ埛id", Length = 64)]
+    [Required, MaxLength(64)]
+    public virtual string? DingTalkUserId { get; set; }
+
+    /// <summary>
+    /// UnionId
+    /// </summary>
+    [SugarColumn(ColumnDescription = "UnionId", Length = 64)]
+    [MaxLength(64)]
+    public string? UnionId { get; set; }
+
+    /// <summary>
+    /// 鐢ㄦ埛鍚�
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鐢ㄦ埛鍚�", Length = 64)]
+    [MaxLength(64)]
+    public string? Name { get; set; }
+
+    /// <summary>
+    /// 鎵嬫満鍙风爜
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎵嬫満鍙风爜", Length = 16)]
+    [MaxLength(16)]
+    public string? Mobile { get; set; }
+
+    /// <summary>
+    /// 鎬у埆
+    /// </summary>
+    [SugarColumn(ColumnDescription = "鎬у埆")]
+    public int? Sex { get; set; }
+
+    /// <summary>
+    /// 澶村儚
+    /// </summary>
+    [SugarColumn(ColumnDescription = "澶村儚", Length = 256)]
+    [MaxLength(256)]
+    public string? Avatar { get; set; }
+
+    /// <summary>
+    /// 宸ュ彿
+    /// </summary>
+    [SugarColumn(ColumnDescription = "宸ュ彿", Length = 16)]
+    [MaxLength(16)]
+    public string? JobNumber { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Enum/DingTalkConversationTypeEnum.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Enum/DingTalkConversationTypeEnum.cs
new file mode 100644
index 0000000..265564d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Enum/DingTalkConversationTypeEnum.cs
@@ -0,0 +1,26 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk;
+
+/// <summary>
+/// 閽夐拤鍙戦�佺殑浼氳瘽绫诲瀷鏋氫妇
+/// </summary>
+[Description("閽夐拤鍙戦�佺殑浼氳瘽绫诲瀷鏋氫妇")]
+public enum DingTalkConversationTypeEnum
+{
+    /// <summary>
+    /// 鍗曡亰
+    /// </summary>
+    [Description("鍗曡亰")]
+    SingleChat = 0,
+
+    /// <summary>
+    /// 缇よ亰
+    /// </summary>
+    [Description("缇よ亰")]
+    GroupChat = 1
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/GlobalUsings.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/GlobalUsings.cs
new file mode 100644
index 0000000..38519dd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/GlobalUsings.cs
@@ -0,0 +1,22 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+global using Admin.NET.Core;
+global using Furion;
+global using Furion.ConfigurableOptions;
+global using Furion.DependencyInjection;
+global using Furion.DynamicApiController;
+global using Furion.FriendlyException;
+global using Furion.RemoteRequest;
+global using Microsoft.AspNetCore.Http;
+global using Microsoft.AspNetCore.Mvc;
+global using Microsoft.Extensions.Options;
+global using Newtonsoft.Json;
+global using SqlSugar;
+global using System.ComponentModel;
+global using System.ComponentModel.DataAnnotations;
+global using System.Data;
+global using System.Linq.Dynamic.Core;
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Job/SyncDingTalkUserJob.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Job/SyncDingTalkUserJob.cs
new file mode 100644
index 0000000..32f7c38
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Job/SyncDingTalkUserJob.cs
@@ -0,0 +1,161 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Admin.NET.Plugin.DingTalk;
+using Furion.Schedule;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Logging;
+
+namespace Admin.NET.Plugin.Job;
+
+/// <summary>
+/// 鍚屾閽夐拤鐢ㄦ埛job
+/// </summary>
+[JobDetail("SyncDingTalkUserJob", Description = "鍚屾閽夐拤鐢ㄦ埛", GroupName = "default", Concurrent = false)]
+[Daily(TriggerId = "SyncDingTalkUserTrigger", Description = "鍚屾閽夐拤鐢ㄦ埛")]
+public class SyncDingTalkUserJob : IJob
+{
+    private readonly IServiceScopeFactory _scopeFactory;
+    private readonly IDingTalkApi _dingTalkApi;
+    private readonly ILogger _logger;
+
+    public SyncDingTalkUserJob(IServiceScopeFactory scopeFactory, IDingTalkApi dingTalkApi, ILoggerFactory loggerFactory)
+    {
+        _scopeFactory = scopeFactory;
+        _dingTalkApi = dingTalkApi;
+        _logger = loggerFactory.CreateLogger(CommonConst.SysLogCategoryName);
+    }
+
+    public async Task ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken)
+    {
+        using var serviceScope = _scopeFactory.CreateScope();
+        var _sysUserRep = serviceScope.ServiceProvider.GetRequiredService<SqlSugarRepository<SysUser>>();
+        var _dingTalkUserRepo = serviceScope.ServiceProvider.GetRequiredService<SqlSugarRepository<DingTalkUser>>();
+        var _dingTalkOptions = serviceScope.ServiceProvider.GetRequiredService<IOptions<DingTalkOptions>>();
+
+        // 鑾峰彇Token
+        var tokenRes = await _dingTalkApi.GetDingTalkToken(_dingTalkOptions.Value.ClientId, _dingTalkOptions.Value.ClientSecret);
+        if (tokenRes.ErrCode != 0)
+            throw Oops.Oh(tokenRes.ErrMsg);
+
+        var dingTalkUserList = new List<DingTalkEmpRosterFieldVo>();
+        var offset = 0;
+        while (offset >= 0)
+        {
+            // 鑾峰彇鐢ㄦ埛Id鍒楄〃
+            var userIdsRes = await _dingTalkApi.GetDingTalkCurrentEmployeesList(tokenRes.AccessToken, new GetDingTalkCurrentEmployeesListInput
+            {
+                StatusList = "2,3,5,-1",
+                Size = 50,
+                Offset = offset
+            });
+            if (!userIdsRes.Success)
+            {
+                _logger.LogError(userIdsRes.ErrMsg);
+                break;
+            }
+            // 鏍规嵁鐢ㄦ埛Id鑾峰彇鑺卞悕鍐�
+            var rosterRes = await _dingTalkApi.GetDingTalkCurrentEmployeesRosterList(tokenRes.AccessToken, new GetDingTalkCurrentEmployeesRosterListInput()
+            {
+                UserIdList = string.Join(",", userIdsRes.Result.DataList),
+                FieldFilterList = $"{DingTalkConst.NameField},{DingTalkConst.JobNumberField},{DingTalkConst.MobileField}",
+                AgentId = _dingTalkOptions.Value.AgentId
+            });
+            if (!rosterRes.Success)
+            {
+                _logger.LogError(rosterRes.ErrMsg);
+                break;
+            }
+            dingTalkUserList.AddRange(rosterRes.Result);
+            if (userIdsRes.Result.NextCursor == null)
+            {
+                break;
+            }
+            // 淇濆瓨鍒嗛〉娓告爣
+            offset = (int)userIdsRes.Result.NextCursor;
+        }
+
+        // 鍒ゆ柇鏂板杩樻槸鏇存柊
+        var sysDingTalkUserIdList = await _dingTalkUserRepo.AsQueryable().Select(u => new
+        {
+            u.Id,
+            u.DingTalkUserId
+        }).ToListAsync();
+
+        var uDingTalkUser = dingTalkUserList.Where(u => sysDingTalkUserIdList.Any(m => m.DingTalkUserId == u.UserId)); // 闇�瑕佹洿鏂扮殑鐢ㄦ埛Id
+        var iDingTalkUser = dingTalkUserList.Where(u => !sysDingTalkUserIdList.Any(m => m.DingTalkUserId == u.UserId)); // 闇�瑕佹柊澧炵殑鐢ㄦ埛Id
+
+        // 鏂板閽夐拤鐢ㄦ埛
+        var iUser = iDingTalkUser.Select(res => new DingTalkUser
+        {
+            DingTalkUserId = res.UserId,
+            Name = res.FieldDataList.Where(u => u.FieldCode == DingTalkConst.NameField).Select(u => u.FieldValueList.Select(m => m.Value).FirstOrDefault()).FirstOrDefault(),
+            Mobile = res.FieldDataList.Where(u => u.FieldCode == DingTalkConst.MobileField).Select(u => u.FieldValueList.Select(m => m.Value).FirstOrDefault()).FirstOrDefault(),
+            JobNumber = res.FieldDataList.Where(u => u.FieldCode == DingTalkConst.JobNumberField).Select(u => u.FieldValueList.Select(m => m.Value).FirstOrDefault()).FirstOrDefault(),
+        }).ToList();
+        if (iUser.Count > 0)
+        {
+            await _dingTalkUserRepo.CopyNew().AsInsertable(iUser).ExecuteCommandAsync();
+        }
+
+        // 鏇存柊閽夐拤鐢ㄦ埛
+        var uUser = uDingTalkUser.Select(res => new DingTalkUser
+        {
+            Id = sysDingTalkUserIdList.Where(u => u.DingTalkUserId == res.UserId).Select(u => u.Id).FirstOrDefault(),
+            DingTalkUserId = res.UserId,
+            Name = res.FieldDataList.Where(u => u.FieldCode == DingTalkConst.NameField).Select(u => u.FieldValueList.Select(m => m.Value).FirstOrDefault()).FirstOrDefault(),
+            Mobile = res.FieldDataList.Where(u => u.FieldCode == DingTalkConst.MobileField).Select(u => u.FieldValueList.Select(m => m.Value).FirstOrDefault()).FirstOrDefault(),
+            JobNumber = res.FieldDataList.Where(u => u.FieldCode == DingTalkConst.JobNumberField).Select(u => u.FieldValueList.Select(m => m.Value).FirstOrDefault()).FirstOrDefault(),
+        }).ToList();
+        if (uUser.Count > 0)
+        {
+            await _dingTalkUserRepo.CopyNew().AsUpdateable(uUser).UpdateColumns(u => new
+            {
+                u.DingTalkUserId,
+                u.Name,
+                u.Mobile,
+                u.JobNumber,
+                u.UpdateTime,
+                u.UpdateUserName,
+                u.UpdateUserId,
+            }).ExecuteCommandAsync();
+        }
+
+        // 閫氳繃绯荤粺鐢ㄦ埛璐﹀彿(宸ュ彿)锛屾洿鏂伴拤閽夌敤鎴疯〃閲岄潰鐨勭郴缁熺敤鎴稩d
+        var sysUser = await _sysUserRep.AsQueryable()
+            .Select(u => new
+            {
+                u.Id,
+                u.Account
+            }).ToListAsync();
+        var sysDingTalkUser = await _dingTalkUserRepo.AsQueryable()
+            .Where(u => sysUser.Any(m => m.Account == u.JobNumber))
+            .Select(u => new
+            {
+                u.Id,
+                u.JobNumber,
+                u.Mobile
+            }).ToListAsync();
+        var uSysDingTalkUser = sysDingTalkUser.Select(u => new DingTalkUser
+        {
+            Id = u.Id,
+            SysUserId = sysUser.Where(m => m.Account == u.JobNumber).Select(u => u.Id).FirstOrDefault(),
+        }).ToList();
+
+        await _dingTalkUserRepo.CopyNew().AsUpdateable(uSysDingTalkUser).UpdateColumns(u => new
+        {
+            u.SysUserId,
+            u.UpdateTime,
+            u.UpdateUserName,
+            u.UpdateUserId,
+        }).ExecuteCommandAsync();
+
+        var originColor = Console.ForegroundColor;
+        Console.ForegroundColor = ConsoleColor.Blue;
+        Console.WriteLine("銆�" + DateTime.Now + "銆戝悓姝ラ拤閽夌敤鎴�");
+        Console.ForegroundColor = originColor;
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Option/DingTalkOptions.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Option/DingTalkOptions.cs
new file mode 100644
index 0000000..9509de3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Option/DingTalkOptions.cs
@@ -0,0 +1,30 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk;
+
+public sealed class DingTalkOptions : IConfigurableOptions
+{
+    /// <summary>
+    /// AppId
+    /// </summary>
+    public string AppId { get; set; }
+
+    /// <summary>
+    /// AgentId
+    /// </summary>
+    public string AgentId { get; set; }
+
+    /// <summary>
+    /// 鍘� AppKey 鍜� SuiteKey
+    /// </summary>
+    public string ClientId { get; set; }
+
+    /// <summary>
+    /// 鍘� AppSecret 鍜� SuiteSecret
+    /// </summary>
+    public string ClientSecret { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/DingTalkService.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/DingTalkService.cs
new file mode 100644
index 0000000..02322ed
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/DingTalkService.cs
@@ -0,0 +1,75 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk.Service;
+
+/// <summary>
+/// 閽夐拤鏈嶅姟 馃З
+/// </summary>
+[ApiDescriptionSettings(DingTalkConst.GroupName, Order = 100)]
+public class DingTalkService : IDynamicApiController, IScoped
+{
+    private readonly IDingTalkApi _dingTalkApi;
+    private readonly DingTalkOptions _dingTalkOptions;
+
+    public DingTalkService(IDingTalkApi dingTalkApi,
+        IOptions<DingTalkOptions> dingTalkOptions)
+    {
+        _dingTalkApi = dingTalkApi;
+        _dingTalkOptions = dingTalkOptions.Value;
+    }
+
+    /// <summary>
+    /// 鑾峰彇浼佷笟鍐呴儴搴旂敤鐨刟ccess_token
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇浼佷笟鍐呴儴搴旂敤鐨刟ccess_token")]
+    public async Task<GetDingTalkTokenOutput> GetDingTalkToken()
+    {
+        var tokenRes = await _dingTalkApi.GetDingTalkToken(_dingTalkOptions.ClientId, _dingTalkOptions.ClientSecret);
+        if (tokenRes.ErrCode != 0)
+        {
+            throw Oops.Oh(tokenRes.ErrMsg);
+        }
+        return tokenRes;
+    }
+
+    /// <summary>
+    /// 鑾峰彇鍦ㄨ亴鍛樺伐鍒楄〃 馃敄
+    /// </summary>
+    /// <param name="access_token"></param>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鍦ㄨ亴鍛樺伐鍒楄〃")]
+    public async Task<DingTalkBaseResponse<GetDingTalkCurrentEmployeesListOutput>> GetDingTalkCurrentEmployeesList(string access_token, [Required] GetDingTalkCurrentEmployeesListInput input)
+    {
+        return await _dingTalkApi.GetDingTalkCurrentEmployeesList(access_token, input);
+    }
+
+    /// <summary>
+    /// 鑾峰彇鍛樺伐鑺卞悕鍐屽瓧娈典俊鎭� 馃敄
+    /// </summary>
+    /// <param name="access_token"></param>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇鍛樺伐鑺卞悕鍐屽瓧娈典俊鎭�")]
+    public async Task<DingTalkBaseResponse<List<DingTalkEmpRosterFieldVo>>> GetDingTalkCurrentEmployeesRosterList(string access_token, [Required] GetDingTalkCurrentEmployeesRosterListInput input)
+    {
+        return await _dingTalkApi.GetDingTalkCurrentEmployeesRosterList(access_token, input);
+    }
+
+    /// <summary>
+    /// 鍙戦�侀拤閽変簰鍔ㄥ崱鐗� 馃敄
+    /// </summary>
+    /// <param name="token"></param>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("缁欐寚瀹氱敤鎴峰彂閫侀拤閽変簰鍔ㄥ崱鐗�")]
+    public async Task<DingTalkSendInteractiveCardsOutput> DingTalkSendInteractiveCards(string token, DingTalkSendInteractiveCardsInput input)
+    {
+        return await _dingTalkApi.DingTalkSendInteractiveCards(token, input);
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkBaseResponse.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkBaseResponse.cs
new file mode 100644
index 0000000..70189a3
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkBaseResponse.cs
@@ -0,0 +1,41 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk;
+
+/// <summary>
+/// 閽夐拤鍩虹鍝嶅簲缁撴灉
+/// </summary>
+/// <typeparam name="T">Data</typeparam>
+public class DingTalkBaseResponse<T>
+{
+    /// <summary>
+    /// 杩斿洖缁撴灉
+    /// </summary>
+    public T Result { get; set; }
+
+    /// <summary>
+    /// 杩斿洖鐮�
+    /// </summary>
+    public int ErrCode { get; set; }
+
+    /// <summary>
+    /// 杩斿洖鐮佹弿杩般��
+    /// </summary>
+    public string ErrMsg { get; set; }
+
+    /// <summary>
+    /// 鏄惁璋冪敤鎴愬姛
+    /// </summary>
+    public bool Success { get; set; }
+
+    /// <summary>
+    /// 璇锋眰Id
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("request_id")]
+    [System.Text.Json.Serialization.JsonPropertyName("request_id")]
+    public string RequestId { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkCardData.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkCardData.cs
new file mode 100644
index 0000000..e683c5d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkCardData.cs
@@ -0,0 +1,36 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk;
+
+/// <summary>
+/// 鍗$墖鍏湁鏁版嵁
+/// </summary>
+public class DingTalkCardData
+{
+    /// <summary>
+    /// 鍗$墖妯℃澘鍐呭鏇挎崲鍙傛暟锛屾櫘閫氭枃鏈被鍨嬨��
+    /// </summary>
+    public DingTalkCardParamMap CardParamMap { get; set; }
+
+    /// <summary>
+    /// 鍗$墖妯℃澘鍐呭鏇挎崲鍙傛暟锛屽濯掍綋绫诲瀷銆�
+    /// </summary>
+    public string CardMediaIdParamMap { get; set; }
+}
+
+/// <summary>
+/// 鍗$墖妯℃澘鍐呭鏇挎崲鍙傛暟
+/// </summary>
+public class DingTalkCardParamMap
+{
+    /// <summary>
+    /// 鐗囨ā鏉垮唴瀹规浛鎹㈠弬鏁�
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("sys_full_json_obj")]
+    [System.Text.Json.Serialization.JsonPropertyName("sys_full_json_obj")]
+    public string SysFullJsonObj { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkEmpFieldDataVo.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkEmpFieldDataVo.cs
new file mode 100644
index 0000000..478a489
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkEmpFieldDataVo.cs
@@ -0,0 +1,38 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk;
+
+public class DingTalkEmpFieldDataVo
+{
+    /// <summary>
+    /// 瀛楁鍚嶇О
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("field_name")]
+    [System.Text.Json.Serialization.JsonPropertyName("field_name")]
+    public string FieldName { get; set; }
+
+    /// <summary>
+    /// 瀛楁鏍囪瘑
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("field_code")]
+    [System.Text.Json.Serialization.JsonPropertyName("field_code")]
+    public string FieldCode { get; set; }
+
+    /// <summary>
+    /// 鍒嗙粍鏍囪瘑
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("group_id")]
+    [System.Text.Json.Serialization.JsonPropertyName("group_id")]
+    public string GroupId { get; set; }
+
+    /// <summary>
+    ///
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("field_value_list")]
+    [System.Text.Json.Serialization.JsonPropertyName("field_value_list")]
+    public List<DingTalkFieldValueVo> FieldValueList { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkEmpRosterFieldVo.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkEmpRosterFieldVo.cs
new file mode 100644
index 0000000..46979f6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkEmpRosterFieldVo.cs
@@ -0,0 +1,31 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk;
+
+public class DingTalkEmpRosterFieldVo
+{
+    /// <summary>
+    /// 浼佷笟鐨刢orpid
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("corp_id")]
+    [System.Text.Json.Serialization.JsonPropertyName("corp_id")]
+    public string CorpId { get; set; }
+
+    /// <summary>
+    /// 杩斿洖鐨勫瓧娈典俊鎭垪琛�
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("field_data_list")]
+    [System.Text.Json.Serialization.JsonPropertyName("field_data_list")]
+    public List<DingTalkEmpFieldDataVo> FieldDataList { get; set; }
+
+    /// <summary>
+    /// 鍛樺伐鐨剈serid
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("userid")]
+    [System.Text.Json.Serialization.JsonPropertyName("userid")]
+    public string UserId { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkFieldValueVo.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkFieldValueVo.cs
new file mode 100644
index 0000000..2b9accb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkFieldValueVo.cs
@@ -0,0 +1,31 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk;
+
+public class DingTalkFieldValueVo
+{
+    /// <summary>
+    /// 绗嚑鏉$殑鏄庣粏鏍囪瘑锛屼笅鏍囦粠0寮�濮�
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("item_index")]
+    [System.Text.Json.Serialization.JsonPropertyName("item_index")]
+    public int ItemIndex { get; set; }
+
+    /// <summary>
+    /// 瀛楁灞曠ず鍊硷紝閫夐」绫诲瀷瀛楁瀵瑰簲閫夐」鐨剉alue
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("label")]
+    [System.Text.Json.Serialization.JsonPropertyName("label")]
+    public string Label { get; set; }
+
+    /// <summary>
+    /// 瀛楁鍙栧�硷紝閫夐」绫诲瀷瀛楁瀵瑰簲閫夐」鐨刱ey
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("value")]
+    [System.Text.Json.Serialization.JsonPropertyName("value")]
+    public string Value { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkSendInteractiveCardsInput.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkSendInteractiveCardsInput.cs
new file mode 100644
index 0000000..9f17d02
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkSendInteractiveCardsInput.cs
@@ -0,0 +1,113 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk;
+
+public class DingTalkSendInteractiveCardsInput
+{
+    /// <summary>
+    /// 浜掑姩鍗$墖鐨勬秷鎭ā鏉縄d
+    /// </summary>
+    [Required(ErrorMessage = "浜掑姩鍗$墖鐨勬秷鎭ā鏉縄d蹇呭~!")]
+    public string? CardTemplateId { get; set; }
+
+    /// <summary>
+    /// 缇d
+    /// </summary>
+    /// <remarks>
+    /// 1銆佸熀浜庣兢妯℃澘鍒涘缓鐨勭兢銆�
+    /// 浼佷笟鍐呴儴搴旂敤锛岃皟鐢ㄥ垱寤虹兢鎺ュ彛鑾峰彇open_conversation_id鍙傛暟鍊笺��
+    /// 2銆佸畨瑁呯兢鑱婇叿搴旂敤鐨勭兢銆�
+    /// 浼佷笟鍐呴儴搴旂敤锛岄�氳繃缇ゅ唴瀹夎閰峰簲鐢ㄤ簨浠惰幏鍙栧洖璋冨弬鏁癘penConversationId鍙傛暟鍊笺��
+    /// </remarks>
+    public string OpenConversationId { get; set; }
+
+    /// <summary>
+    /// 鎺ユ敹浜簎serId鍒楄〃
+    /// </summary>
+    /// <remarks>
+    /// 鍗曡亰锛歳eceiverUserIdList濉啓鐢ㄦ埛ID锛屾渶澶у��20銆�
+    /// 缇よ亰锛歳eceiverUserIdList濉啓鐢ㄦ埛ID锛岃〃绀哄綋鍓嶅搴擨D鐨勭兢鍐呯敤鎴峰彲瑙�
+    /// receiverUserIdList鍙傛暟涓嶅~鍐欙紝琛ㄧず褰撳墠缇ゅ唴鎵�鏈夌敤鎴峰彲瑙�
+    /// </remarks>
+    [Required(ErrorMessage = "鎺ユ敹浜簎serId鍒楄〃蹇呭~!")]
+    public List<string>? ReceiverUserIdList { get; set; }
+
+    /// <summary>
+    /// 鍞竴鏍囩ず鍗$墖鐨勫閮ㄧ紪鐮�
+    /// </summary>
+    [Required(ErrorMessage = "鍞竴鏍囩ず鍗$墖鐨勫閮ㄧ紪鐮佸繀濉�!")]
+    public string? OutTrackId { get; set; }
+
+    /// <summary>
+    /// 鏈哄櫒浜虹殑缂栫爜
+    /// </summary>
+    public string RobotCode { get; set; }
+
+    /// <summary>
+    /// 鍙戦�佺殑浼氳瘽绫诲瀷
+    /// </summary>
+    [Required(ErrorMessage = "浼氳瘽绫诲瀷蹇呭~!")]
+    public DingTalkConversationTypeEnum? ConversationType { get; set; }
+
+    /// <summary>
+    /// 鍗$墖鍥炶皟鏃剁殑璺敱Key锛岀敤浜庢煡璇㈡敞鍐岀殑callbackUrl
+    /// </summary>
+    public string CallbackRouteKey { get; set; }
+
+    /// <summary>
+    /// 鍗$墖鍏湁鏁版嵁
+    /// </summary>
+    [Required(ErrorMessage = "鍗$墖鍏湁鏁版嵁蹇呭~!")]
+    public DingTalkCardData CardData { get; set; }
+}
+
+public class GetDingTalkCardMessageReadStatusInput
+{
+    /// <summary>
+    /// 鏈哄櫒浜虹殑缂栫爜
+    /// </summary>
+    public string RobotCode { set; get; }
+
+    /// <summary>
+    /// 娑堟伅鍞竴鏍囪瘑锛屽彲閫氳繃鎵归噺鍙戦�佷汉涓庢満鍣ㄤ汉浼氳瘽涓満鍣ㄤ汉娑堟伅鎺ュ彛杩斿洖鍙傛暟涓璸rocessQueryKey瀛楁鑾峰彇銆�
+    /// </summary>
+    public string ProcessQueryKey { set; get; }
+}
+
+public class GetDingTalkCardMessageReadStatusOutput
+{
+    /// <summary>
+    /// 娑堟伅鍙戦�佺姸鎬侊紝SUCCESS锛氭垚鍔熴�丷ECALLED锛氬凡鎾ゅ洖銆丳ROCESSING锛� 澶勭悊涓�
+    /// </summary>
+    public string SendStatus { get; set; }
+
+    /// <summary>
+    ///
+    /// </summary>
+    public DingTalkCardMessageReadInfoList MessageReadInfoList { get; set; }
+}
+
+/// <summary>
+/// 閽夐拤鍗$墖娑堟伅宸茶鎯呭喌
+/// </summary>
+public class DingTalkCardMessageReadInfoList
+{
+    /// <summary>
+    /// 娑堟伅鎺ユ敹鑰呭悕绉�
+    /// </summary>
+    public string Name { set; get; }
+
+    /// <summary>
+    /// 娑堟伅鎺ユ敹鑰呯殑userId
+    /// </summary>
+    public string UserId { set; get; }
+
+    /// <summary>
+    /// 宸茶鐘舵�侊紝READ锛氬凡璇汇�乁NREAD锛氭湭璇�
+    /// </summary>
+    public string ReadStatus { set; get; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkSendInteractiveCardsOutput.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkSendInteractiveCardsOutput.cs
new file mode 100644
index 0000000..a592150
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkSendInteractiveCardsOutput.cs
@@ -0,0 +1,23 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk;
+
+/// <summary>
+/// 鍙戦�侀拤閽変簰鍔ㄥ崱鐗囪繑鍥�
+/// </summary>
+public class DingTalkSendInteractiveCardsOutput
+{
+    /// <summary>
+    /// 杩斿洖缁撴灉
+    /// </summary>
+    public bool Success { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓鍗$墖缁撴灉
+    /// </summary>
+    public DingTalkSendInteractiveCardsResult Result { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkSendInteractiveCardsResult.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkSendInteractiveCardsResult.cs
new file mode 100644
index 0000000..42de98b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkSendInteractiveCardsResult.cs
@@ -0,0 +1,15 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk;
+
+public class DingTalkSendInteractiveCardsResult
+{
+    /// <summary>
+    /// 鐢ㄤ簬涓氬姟鏂瑰悗缁煡鐪嬪凡璇诲垪琛ㄧ殑鏌ヨkey
+    /// </summary>
+    public string ProcessQueryKey { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/GetDingTalkCurrentEmployeesListInput.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/GetDingTalkCurrentEmployeesListInput.cs
new file mode 100644
index 0000000..138604d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/GetDingTalkCurrentEmployeesListInput.cs
@@ -0,0 +1,30 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk;
+
+/// <summary>
+/// 鑾峰彇鍦ㄨ亴鍛樺伐鍒楄〃鍙傛暟
+/// </summary>
+public class GetDingTalkCurrentEmployeesListInput
+{
+    /// <summary>
+    /// 鍦ㄨ亴鍛樺伐鐘舵�佺瓫閫夛紝鍙互鏌ヨ澶氫釜鐘舵�併�備笉鍚岀姸鎬佷箣闂翠娇鐢ㄨ嫳鏂囬�楀彿鍒嗛殧銆�2锛氳瘯鐢ㄦ湡銆�3锛氭寮忋��5锛氬緟绂昏亴銆�-1锛氭棤鐘舵��
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("status_list")]
+    [System.Text.Json.Serialization.JsonPropertyName("status_list")]
+    public string StatusList { get; set; }
+
+    /// <summary>
+    /// 鍒嗛〉娓告爣锛屼粠0寮�濮嬨�傛牴鎹繑鍥炵粨鏋滈噷鐨刵ext_cursor鏄惁涓虹┖鏉ュ垽鏂槸鍚﹁繕鏈変笅涓�椤碉紝涓斿啀娆¤皟鐢ㄦ椂offset璁剧疆鎴恘ext_cursor鐨勫�笺��
+    /// </summary>
+    public int Offset { get; set; }
+
+    /// <summary>
+    /// 鍒嗛〉澶у皬锛屾渶澶�50銆�
+    /// </summary>
+    public int Size { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/GetDingTalkCurrentEmployeesListOutput.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/GetDingTalkCurrentEmployeesListOutput.cs
new file mode 100644
index 0000000..9bbd022
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/GetDingTalkCurrentEmployeesListOutput.cs
@@ -0,0 +1,24 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk;
+
+public class GetDingTalkCurrentEmployeesListOutput
+{
+    /// <summary>
+    /// 鏌ヨ鍒扮殑鍛樺伐userId鍒楄〃
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("data_list")]
+    [System.Text.Json.Serialization.JsonPropertyName("data_list")]
+    public List<string> DataList { get; set; }
+
+    /// <summary>
+    /// 涓嬩竴娆″垎椤佃皟鐢ㄧ殑offset鍊硷紝褰撹繑鍥炵粨鏋滈噷娌℃湁next_cursor鏃讹紝琛ㄧず鍒嗛〉缁撴潫銆�
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("next_cursor")]
+    [System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
+    public int? NextCursor { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/GetDingTalkCurrentEmployeesRosterListInput.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/GetDingTalkCurrentEmployeesRosterListInput.cs
new file mode 100644
index 0000000..067fe2d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/GetDingTalkCurrentEmployeesRosterListInput.cs
@@ -0,0 +1,29 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk;
+
+public class GetDingTalkCurrentEmployeesRosterListInput
+{
+    /// <summary>
+    /// 鍛樺伐鐨剈serId鍒楄〃锛屽涓猽serid涔嬮棿浣跨敤閫楀彿鍒嗛殧锛屼竴娆℃渶澶氭敮鎸佷紶100涓�笺��
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("userid_list")]
+    [System.Text.Json.Serialization.JsonPropertyName("userid_list")]
+    public string UserIdList { get; set; }
+
+    /// <summary>
+    /// 闇�瑕佽幏鍙栫殑鑺卞悕鍐屽瓧娈礷ield_code鍊煎垪琛紝澶氫釜瀛楁涔嬮棿浣跨敤閫楀彿鍒嗛殧锛屼竴娆℃渶澶氭敮鎸佷紶100涓�笺��
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("field_filter_list")]
+    [System.Text.Json.Serialization.JsonPropertyName("field_filter_list")]
+    public string FieldFilterList { get; set; }
+
+    /// <summary>
+    /// 搴旂敤鐨凙gentId
+    /// </summary>
+    public string AgentId { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/GetDingTalkToken.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/GetDingTalkToken.cs
new file mode 100644
index 0000000..94567bd
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/GetDingTalkToken.cs
@@ -0,0 +1,34 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk;
+
+public class GetDingTalkTokenOutput
+{
+    /// <summary>
+    /// 鐢熸垚鐨刟ccess_token
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("access_token")]
+    [System.Text.Json.Serialization.JsonPropertyName("access_token")]
+    public string AccessToken { get; set; }
+
+    /// <summary>
+    /// access_token鐨勮繃鏈熸椂闂达紝鍗曚綅绉�
+    /// </summary>
+    [Newtonsoft.Json.JsonProperty("expires_in")]
+    [System.Text.Json.Serialization.JsonPropertyName("expires_in")]
+    public int ExpiresIn { get; set; }
+
+    /// <summary>
+    /// 杩斿洖鐮佹弿杩�
+    /// </summary>
+    public string ErrMsg { get; set; }
+
+    /// <summary>
+    /// 杩斿洖鐮�
+    /// </summary>
+    public int ErrCode { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/IDingTalkApi.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/IDingTalkApi.cs
new file mode 100644
index 0000000..ee0d50b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Service/IDingTalkApi.cs
@@ -0,0 +1,61 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.DingTalk;
+
+public interface IDingTalkApi : IHttpDispatchProxy
+{
+    /// <summary>
+    /// 鑾峰彇浼佷笟鍐呴儴搴旂敤鐨刟ccess_token
+    /// </summary>
+    /// <param name="appkey">搴旂敤鐨勫敮涓�鏍囪瘑key</param>
+    /// <param name="appsecret"> 搴旂敤鐨勫瘑閽ャ�侫ppKey鍜孉ppSecret鍙湪閽夐拤寮�鍙戣�呭悗鍙扮殑搴旂敤璇︽儏椤甸潰鑾峰彇銆�</param>
+    /// <returns></returns>
+    [Get("https://oapi.dingtalk.com/gettoken")]
+    Task<GetDingTalkTokenOutput> GetDingTalkToken([QueryString] string appkey, [QueryString] string appsecret);
+
+    /// <summary>
+    /// 鑾峰彇鍦ㄨ亴鍛樺伐鍒楄〃
+    /// </summary>
+    /// <param name="access_token">璋冪敤璇ユ帴鍙g殑搴旂敤鍑瘉</param>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [Post("https://oapi.dingtalk.com/topapi/smartwork/hrm/employee/queryonjob")]
+    Task<DingTalkBaseResponse<GetDingTalkCurrentEmployeesListOutput>> GetDingTalkCurrentEmployeesList([QueryString] string access_token,
+        [Body, Required] GetDingTalkCurrentEmployeesListInput input);
+
+    /// <summary>
+    /// 鑾峰彇鍛樺伐鑺卞悕鍐屽瓧娈典俊鎭�
+    /// </summary>
+    /// <param name="access_token">璋冪敤璇ユ帴鍙g殑搴旂敤鍑瘉</param>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [Post("https://oapi.dingtalk.com/topapi/smartwork/hrm/employee/v2/list")]
+    Task<DingTalkBaseResponse<List<DingTalkEmpRosterFieldVo>>> GetDingTalkCurrentEmployeesRosterList([QueryString] string access_token,
+        [Body, Required] GetDingTalkCurrentEmployeesRosterListInput input);
+
+    /// <summary>
+    /// 鍙戦�侀拤閽変簰鍔ㄥ崱鐗�
+    /// </summary>
+    /// <param name="token">璋冪敤璇ユ帴鍙g殑璁块棶鍑瘉</param>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [Post("https://api.dingtalk.com/v1.0/im/interactiveCards/send")]
+    Task<DingTalkSendInteractiveCardsOutput> DingTalkSendInteractiveCards(
+        [Headers("x-acs-dingtalk-access-token")] string token,
+        [Body] DingTalkSendInteractiveCardsInput input);
+
+    /// <summary>
+    /// 鑾峰彇閽夐拤鍗$墖娑堟伅璇诲彇鐘舵��
+    /// </summary>
+    /// <param name="token"></param>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [Get("https://api.dingtalk.com/v1.0/robot/oToMessages/readStatus")]
+    Task<GetDingTalkCardMessageReadStatusOutput> GetDingTalkCardMessageReadStatus(
+    [Headers("x-acs-dingtalk-access-token")] string token,
+    [QueryString] GetDingTalkCardMessageReadStatusInput input);
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Startup.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Startup.cs
new file mode 100644
index 0000000..7cafb38
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.DingTalk/Startup.cs
@@ -0,0 +1,24 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.Builder;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.Extensions.DependencyInjection;
+
+namespace Admin.NET.Plugin.DingTalk;
+
+[AppStartup(100)]
+public class Startup : AppStartup
+{
+    public void ConfigureServices(IServiceCollection services)
+    {
+        services.AddConfigurableOptions<DingTalkOptions>();
+    }
+
+    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
+    {
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/Admin.NET.Plugin.Elsa.csproj b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/Admin.NET.Plugin.Elsa.csproj
new file mode 100644
index 0000000..11370f6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/Admin.NET.Plugin.Elsa.csproj
@@ -0,0 +1,30 @@
+锘�<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net6.0</TargetFramework>
+    <NoWarn>1701;1702;1591;8632</NoWarn>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <Nullable>disable</Nullable>
+    <GenerateDocumentationFile>True</GenerateDocumentationFile>
+    <Copyright>漏 Admin.NET</Copyright>
+    <Description>Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�</Description>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <None Update="Configuration\**">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+  </ItemGroup>
+
+  <ItemGroup>
+    <PackageReference Include="Elsa" Version="2.14.1" />
+    <PackageReference Include="Elsa.Activities.Http" Version="2.14.1" />
+    <PackageReference Include="Elsa.Designer.Components.Web" Version="2.14.1" />
+    <PackageReference Include="Elsa.Server.Api" Version="2.14.1" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\..\Admin.NET.Core\Admin.NET.Core.csproj" />
+  </ItemGroup>
+
+</Project>
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/Configuration/Elsa.json b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/Configuration/Elsa.json
new file mode 100644
index 0000000..e39d74f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/Configuration/Elsa.json
@@ -0,0 +1,10 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "Elsa": {
+    "Server": {
+      "BaseUrl": "http://localhost:5001",
+      "BasePath": "/workflows"
+    }
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/GlobalUsings.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/GlobalUsings.cs
new file mode 100644
index 0000000..80451d5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/GlobalUsings.cs
@@ -0,0 +1,8 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+global using Furion;
+global using Furion.ConfigurableOptions;
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/Option/ElsaOptions.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/Option/ElsaOptions.cs
new file mode 100644
index 0000000..b038016
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/Option/ElsaOptions.cs
@@ -0,0 +1,26 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.Elsa;
+
+/// <summary>
+/// Elsa 閰嶇疆閫夐」
+/// </summary>
+public sealed class ElsaOptions : IConfigurableOptions
+{
+    /// <summary>
+    /// 鏈嶅姟鍦板潃
+    /// </summary>
+    public Elsa_Server Server { get; set; }
+}
+
+public sealed class Elsa_Server
+{
+    /// <summary>
+    /// 鍦板潃
+    /// </summary>
+    public string BaseUrl { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/Startup.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/Startup.cs
new file mode 100644
index 0000000..c0ebed6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.Elsa/Startup.cs
@@ -0,0 +1,55 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Elsa;
+using Microsoft.AspNetCore.Builder;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.Mvc.Versioning;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+
+namespace Admin.NET.Plugin.Elsa;
+
+[AppStartup(100)]
+public class Startup : AppStartup
+{
+    public void ConfigureServices(IServiceCollection services)
+    {
+        //var elsaOptions = App.GetOptions<ElsaOptions>();
+        services
+            .AddElsa(options => options
+                .AddActivitiesFrom<Startup>()
+                .AddWorkflowsFrom<Startup>()
+                // .AddFeatures(startups, Configuration)
+                // .ConfigureWorkflowChannels(options => elsaSection.GetSection("WorkflowChannels").Bind(options))
+                .AddHttpActivities(App.Configuration.GetSection("Elsa").GetSection("Server").Bind)
+            );
+
+        services
+            .AddNotificationHandlersFrom<Startup>()
+            .AddElsaApiEndpoints()
+            .AddElsaSwagger(options =>
+            {
+                //options.SwaggerDoc("Elsa", new OpenApiInfo() { Title = "Elsa", Description = "https://v2.elsaworkflows.io/" });
+                //options.TagActionsBy(api => new[] { new OpenApiTag { Name = "Elsa", Description = "Elsa Core API Endpoints" } });
+                options.TagActionsBy(api => new[] { "Elsa" });
+                options.DocInclusionPredicate((docName, description) => true);
+            });
+
+        services.AddApiVersioning(options =>
+        {
+            options.UseApiBehavior = false;
+            options.ApiVersionReader = new UrlSegmentApiVersionReader();
+        });
+    }
+
+    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
+    {
+        app.UseApiVersioning();
+        app.UseHttpActivities();
+        app.UseElsaFeatures();
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Admin.NET.Plugin.GoView.csproj b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Admin.NET.Plugin.GoView.csproj
new file mode 100644
index 0000000..084ff8f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Admin.NET.Plugin.GoView.csproj
@@ -0,0 +1,23 @@
+锘�<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net6.0</TargetFramework>
+    <NoWarn>1701;1702;1591;8632</NoWarn>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <Nullable>disable</Nullable>
+    <GenerateDocumentationFile>True</GenerateDocumentationFile>
+    <Copyright>漏 Admin.NET</Copyright>
+    <Description>Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�</Description>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <None Update="Configuration\**">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\..\Admin.NET.Core\Admin.NET.Core.csproj" />
+  </ItemGroup>
+
+</Project>
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Configuration/GoView.json b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Configuration/GoView.json
new file mode 100644
index 0000000..d3960ed
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Configuration/GoView.json
@@ -0,0 +1,11 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "[openapi:GoView]": {
+    "Group": "GoView",
+    "Title": "GoView",
+    "Description": "GoView 鏄竴涓珮鏁堢殑鎷栨嫿寮忎綆浠g爜鏁版嵁鍙鍖栧紑鍙戝钩鍙帮紝灏嗗浘琛ㄦ垨椤甸潰鍏冪礌灏佽涓哄熀纭�缁勪欢锛屾棤闇�缂栧啓浠g爜鍗冲彲鍒朵綔鏁版嵁澶у睆锛屽噺灏戝績鏅鸿礋鎷呫��",
+    "Version": "2.2.8",
+    "Order": 95
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Const/GoViewConst.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Const/GoViewConst.cs
new file mode 100644
index 0000000..9964df0
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Const/GoViewConst.cs
@@ -0,0 +1,19 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.GoView;
+
+/// <summary>
+/// GoView 鐩稿叧甯搁噺
+/// </summary>
+[Const("GoView 鐩稿叧甯搁噺")]
+public class GoViewConst
+{
+    /// <summary>
+    /// API鍒嗙粍鍚嶇О
+    /// </summary>
+    public const string GroupName = "GoView";
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Entity/GoViewPro.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Entity/GoViewPro.cs
new file mode 100644
index 0000000..023d5c9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Entity/GoViewPro.cs
@@ -0,0 +1,49 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.GoView;
+
+/// <summary>
+/// GoView 椤圭洰琛�
+/// </summary>
+[SugarTable(null, "GoView 椤圭洰琛�")]
+public class GoViewPro : EntityTenant
+{
+    /// <summary>
+    /// 椤圭洰鍚嶇О
+    /// </summary>
+    [SugarColumn(ColumnDescription = "椤圭洰鍚嶇О", Length = 64)]
+    [Required, MaxLength(64)]
+    public string ProjectName { get; set; }
+
+    /// <summary>
+    /// 椤圭洰鐘舵��
+    /// </summary>
+    [SugarColumn(ColumnDescription = "椤圭洰鐘舵��")]
+    public GoViewProState State { get; set; } = GoViewProState.UnPublish;
+
+    /// <summary>
+    /// 棰勮鍥剧墖Url
+    /// </summary>
+    [SugarColumn(ColumnDescription = "棰勮鍥剧墖Url", Length = 1024)]
+    [MaxLength(1024)]
+    public string? IndexImage { get; set; }
+
+    /// <summary>
+    /// 椤圭洰澶囨敞
+    /// </summary>
+    [SugarColumn(ColumnDescription = "椤圭洰澶囨敞", Length = 512)]
+    [MaxLength(512)]
+    public string? Remarks { get; set; }
+
+    ///// <summary>
+    ///// 椤圭洰鏁版嵁
+    ///// </summary>
+    //[Newtonsoft.Json.JsonIgnore]
+    //[System.Text.Json.Serialization.JsonIgnore]
+    //[Navigate(NavigateType.OneToOne, nameof(Id))]
+    //public GoViewProData GoViewProData { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Entity/GoViewProData.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Entity/GoViewProData.cs
new file mode 100644
index 0000000..ae28414
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Entity/GoViewProData.cs
@@ -0,0 +1,26 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.GoView;
+
+/// <summary>
+/// GoView 椤圭洰鏁版嵁琛�
+/// </summary>
+[SugarTable(null, "GoView 椤圭洰鏁版嵁琛�")]
+public class GoViewProData : EntityTenant
+{
+    /// <summary>
+    /// 椤圭洰鍐呭
+    /// </summary>
+    [SugarColumn(ColumnDescription = "椤圭洰鍐呭", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? Content { get; set; }
+
+    /// <summary>
+    /// 棰勮鍥剧墖
+    /// </summary>
+    [SugarColumn(ColumnDescription = "棰勮鍥剧墖", ColumnDataType = StaticConfig.CodeFirst_BigString)]
+    public string? IndexImageData { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Enum/GoViewProState.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Enum/GoViewProState.cs
new file mode 100644
index 0000000..3660beb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Enum/GoViewProState.cs
@@ -0,0 +1,26 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.GoView;
+
+/// <summary>
+/// GoView 椤圭洰鐘舵��
+/// </summary>
+[Description("GoView 椤圭洰鐘舵��")]
+public enum GoViewProState
+{
+    /// <summary>
+    /// 鏈彂甯�
+    /// </summary>
+    [Description("鏈彂甯�")]
+    UnPublish = -1,
+
+    /// <summary>
+    /// 宸插彂甯�
+    /// </summary>
+    [Description("宸插彂甯�")]
+    Published = 1,
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/GlobalUsings.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/GlobalUsings.cs
new file mode 100644
index 0000000..e51078d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/GlobalUsings.cs
@@ -0,0 +1,27 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+global using Admin.NET.Core;
+global using Admin.NET.Core.Service;
+global using Furion;
+global using Furion.DatabaseAccessor;
+global using Furion.DataValidation;
+global using Furion.DynamicApiController;
+global using Furion.FriendlyException;
+global using Furion.JsonSerialization;
+global using Furion.UnifyResult;
+global using Mapster;
+global using Microsoft.AspNetCore.Authorization;
+global using Microsoft.AspNetCore.Http;
+global using Microsoft.AspNetCore.Mvc;
+global using Microsoft.AspNetCore.Mvc.Filters;
+global using Newtonsoft.Json;
+global using SqlSugar;
+global using System.Collections;
+global using System.ComponentModel;
+global using System.ComponentModel.DataAnnotations;
+global using System.Data;
+global using System.Linq.Dynamic.Core;
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewPro/Dto/GoViewProInput.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewPro/Dto/GoViewProInput.cs
new file mode 100644
index 0000000..5b3f4ba
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewPro/Dto/GoViewProInput.cs
@@ -0,0 +1,81 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.GoView.Service;
+
+/// <summary>
+/// GoView 鏂板椤圭洰
+/// </summary>
+public class GoViewProCreateInput
+{
+    /// <summary>
+    /// 椤圭洰鍚嶇О
+    /// </summary>
+    public string ProjectName { get; set; }
+
+    /// <summary>
+    /// 椤圭洰澶囨敞
+    /// </summary>
+    public string Remarks { get; set; }
+
+    /// <summary>
+    /// 棰勮鍥剧墖url
+    /// </summary>
+    public string IndexImage { get; set; }
+}
+
+/// <summary>
+/// GoView 缂栬緫椤圭洰
+/// </summary>
+public class GoViewProEditInput
+{
+    /// <summary>
+    /// 椤圭洰Id
+    /// </summary>
+    public long Id { get; set; }
+
+    /// <summary>
+    /// 椤圭洰鍚嶇О
+    /// </summary>
+    public string ProjectName { get; set; }
+
+    /// <summary>
+    /// 棰勮鍥剧墖url
+    /// </summary>
+    public string IndexImage { get; set; }
+}
+
+/// <summary>
+/// GoView 淇敼椤圭洰鍙戝竷鐘舵��
+/// </summary>
+public class GoViewProPublishInput
+{
+    /// <summary>
+    /// 椤圭洰Id
+    /// </summary>
+    public long Id { get; set; }
+
+    /// <summary>
+    /// 椤圭洰鐘舵��
+    /// </summary>
+    public GoViewProState State { get; set; }
+}
+
+/// <summary>
+/// GoView 淇濆瓨椤圭洰鏁版嵁
+/// </summary>
+public class GoViewProSaveDataInput
+{
+    /// <summary>
+    /// 椤圭洰Id
+    /// </summary>
+    public long ProjectId { get; set; }
+
+    /// <summary>
+    /// 椤圭洰鍐呭
+    /// </summary>
+    public string Content { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewPro/Dto/GoViewProOutput.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewPro/Dto/GoViewProOutput.cs
new file mode 100644
index 0000000..65b8172
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewPro/Dto/GoViewProOutput.cs
@@ -0,0 +1,127 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.GoView.Service;
+
+/// <summary>
+/// GoView 椤圭洰 Item
+/// </summary>
+public class GoViewProItemOutput
+{
+    /// <summary>
+    /// 椤圭洰Id
+    /// </summary>
+    public long Id { get; set; }
+
+    /// <summary>
+    /// 椤圭洰鍚嶇О
+    /// </summary>
+    public string ProjectName { get; set; }
+
+    /// <summary>
+    /// 椤圭洰鐘舵��
+    /// </summary>
+    public GoViewProState State { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+
+    /// <summary>
+    /// 棰勮鍥剧墖url
+    /// </summary>
+    public string IndexImage { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+
+    /// <summary>
+    /// 椤圭洰澶囨敞
+    /// </summary>
+    public string Remarks { get; set; }
+}
+
+/// <summary>
+/// GoView 椤圭洰璇︽儏
+/// </summary>
+public class GoViewProDetailOutput : GoViewProItemOutput
+{
+    /// <summary>
+    /// 椤圭洰鍐呭
+    /// </summary>
+    public string Content { get; set; }
+}
+
+/// <summary>
+/// GoView 鏂板椤圭洰杈撳嚭
+/// </summary>
+public class GoViewProCreateOutput
+{
+    /// <summary>
+    /// 椤圭洰Id
+    /// </summary>
+    public long Id { get; set; }
+}
+
+/// <summary>
+/// GoView 涓婁紶椤圭洰杈撳嚭
+/// </summary>
+public class GoViewProUploadOutput
+{
+    /// <summary>
+    /// Id
+    /// </summary>
+    public long Id { get; set; }
+
+    /// <summary>
+    /// 浠撳偍鍚嶇О
+    /// </summary>
+    public string BucketName { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+
+    /// <summary>
+    /// 鏂囦欢鍚嶇О
+    /// </summary>
+    public string FileName { get; set; }
+
+    /// <summary>
+    /// 鏂囦欢澶у皬KB
+    /// </summary>
+    public int FileSize { get; set; }
+
+    /// <summary>
+    /// 鏂囦欢鍚庣紑
+    /// </summary>
+    public string FileSuffix { get; set; }
+
+    /// <summary>
+    /// 鏂囦欢 Url
+    /// </summary>
+    [JsonProperty("fileurl")]
+    public string FileUrl { get; set; }
+
+    /// <summary>
+    /// 淇敼鏃堕棿
+    /// </summary>
+    public DateTime? UpdateTime { get; set; }
+
+    /// <summary>
+    /// 淇敼浜篒d
+    /// </summary>
+    public long? UpdateUserId { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewPro/GoViewProService.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewPro/GoViewProService.cs
new file mode 100644
index 0000000..6da6418
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewPro/GoViewProService.cs
@@ -0,0 +1,252 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.GoView.Service;
+
+/// <summary>
+/// 椤圭洰绠$悊鏈嶅姟 馃З
+/// </summary>
+[UnifyProvider("GoView")]
+[ApiDescriptionSettings(GoViewConst.GroupName, Module = "goview", Name = "project", Order = 100)]
+public class GoViewProService : IDynamicApiController
+{
+    private readonly SqlSugarRepository<GoViewPro> _goViewProRep;
+    private readonly SqlSugarRepository<GoViewProData> _goViewProDataRep;
+
+    public GoViewProService(SqlSugarRepository<GoViewPro> goViewProjectRep,
+        SqlSugarRepository<GoViewProData> goViewProjectDataRep)
+    {
+        _goViewProRep = goViewProjectRep;
+        _goViewProDataRep = goViewProjectDataRep;
+    }
+
+    /// <summary>
+    /// 鑾峰彇椤圭洰鍒楄〃 馃敄
+    /// </summary>
+    /// <param name="page"></param>
+    /// <param name="limit"></param>
+    /// <returns></returns>
+    [DisplayName("鑾峰彇椤圭洰鍒楄〃")]
+    public async Task<List<GoViewProItemOutput>> GetList([FromQuery] int page = 1, [FromQuery] int limit = 12)
+    {
+        var res = await _goViewProRep.AsQueryable()
+            .Select(u => new GoViewProItemOutput(), true)
+            .ToPagedListAsync(page, limit);
+        return res.Items.ToList();
+    }
+
+    /// <summary>
+    /// 鏂板椤圭洰 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [ApiDescriptionSettings(Name = "Create")]
+    [DisplayName("鏂板椤圭洰")]
+    public async Task<GoViewProCreateOutput> Create(GoViewProCreateInput input)
+    {
+        var project = await _goViewProRep.AsInsertable(input.Adapt<GoViewPro>()).ExecuteReturnEntityAsync();
+        return new GoViewProCreateOutput
+        {
+            Id = project.Id
+        };
+    }
+
+    /// <summary>
+    /// 淇敼椤圭洰 馃敄
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [DisplayName("淇敼椤圭洰")]
+    public async Task Edit(GoViewProEditInput input)
+    {
+        await _goViewProRep.AsUpdateable(input.Adapt<GoViewPro>()).IgnoreColumns(true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鍒犻櫎椤圭洰 馃敄
+    /// </summary>
+    [ApiDescriptionSettings(Name = "Delete")]
+    [DisplayName("鍒犻櫎椤圭洰")]
+    [UnitOfWork]
+    public async Task Delete([FromQuery] string ids)
+    {
+        var idList = ids.Split(',', StringSplitOptions.RemoveEmptyEntries).Select(u => Convert.ToInt64(u)).ToList();
+        await _goViewProRep.AsDeleteable().Where(u => idList.Contains(u.Id)).ExecuteCommandAsync();
+        await _goViewProDataRep.AsDeleteable().Where(u => idList.Contains(u.Id)).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 淇敼鍙戝竷鐘舵�� 馃敄
+    /// </summary>
+    [HttpPut]
+    [DisplayName("淇敼鍙戝竷鐘舵��")]
+    public async Task Publish(GoViewProPublishInput input)
+    {
+        await _goViewProRep.AsUpdateable()
+            .SetColumns(u => new GoViewPro
+            {
+                State = input.State
+            })
+            .Where(u => u.Id == input.Id)
+            .ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇椤圭洰鏁版嵁 馃敄
+    /// </summary>
+    /// <param name="projectId"></param>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [ApiDescriptionSettings(Name = "GetData")]
+    [DisplayName("鑾峰彇椤圭洰鏁版嵁")]
+    public async Task<GoViewProDetailOutput> GetData([FromQuery] long projectId)
+    {
+        var projectData = await _goViewProDataRep.GetFirstAsync(u => u.Id == projectId);
+        if (projectData == null) return null;
+
+        var project = await _goViewProRep.GetFirstAsync(u => u.Id == projectId);
+        var projectDetail = project.Adapt<GoViewProDetailOutput>();
+        projectDetail.Content = projectData.Content;
+
+        return projectDetail;
+    }
+
+    /// <summary>
+    /// 淇濆瓨椤圭洰鏁版嵁 馃敄
+    /// </summary>
+    [ApiDescriptionSettings(Name = "save/data")]
+    [DisplayName("淇濆瓨椤圭洰鏁版嵁")]
+    public async Task SaveData([FromForm] GoViewProSaveDataInput input)
+    {
+        if (await _goViewProDataRep.IsAnyAsync(u => u.Id == input.ProjectId))
+        {
+            await _goViewProDataRep.AsUpdateable()
+                .SetColumns(u => new GoViewProData
+                {
+                    Content = input.Content
+                })
+                .Where(u => u.Id == input.ProjectId)
+                .ExecuteCommandAsync();
+        }
+        else
+        {
+            await _goViewProDataRep.InsertAsync(new GoViewProData
+            {
+                Id = input.ProjectId,
+                Content = input.Content,
+            });
+        }
+    }
+
+    /// <summary>
+    /// 涓婁紶棰勮鍥� 馃敄
+    /// </summary>
+    [DisplayName("涓婁紶棰勮鍥�")]
+    public async Task<GoViewProUploadOutput> Upload(IFormFile @object)
+    {
+        /*
+         * 鍓嶇閫昏緫锛坲seSync.hook.ts 鐨� dataSyncUpdate 鏂规硶锛夛細
+         * 濡傛灉 FileUrl 涓嶄负绌猴紝浣跨敤 FileUrl
+         * 鍚﹀垯浣跨敤 GetOssInfo 鎺ュ彛鑾峰彇鍒扮殑 BucketUrl 鍜� FileName 杩涜鎷兼帴
+         */
+
+        // 鏂囦欢鍚嶆牸寮忕ず渚� 13414795568325_index_preview.png
+        var fileNameSplit = @object.FileName.Split('_');
+        var idStr = fileNameSplit[0];
+        if (!long.TryParse(idStr, out var id)) return new GoViewProUploadOutput();
+
+        // 灏嗛瑙堝浘杞崲鎴� Base64
+        var ms = new MemoryStream();
+        await @object.CopyToAsync(ms);
+        var base64Image = Convert.ToBase64String(ms.ToArray());
+
+        // 淇濆瓨
+        if (await _goViewProDataRep.IsAnyAsync(u => u.Id == id))
+        {
+            await _goViewProDataRep.AsUpdateable()
+                .SetColumns(u => new GoViewProData
+                {
+                    IndexImageData = base64Image
+                })
+                .Where(u => u.Id == id)
+                .ExecuteCommandAsync();
+        }
+        else
+        {
+            await _goViewProDataRep.InsertAsync(new GoViewProData
+            {
+                Id = id,
+                IndexImageData = base64Image,
+            });
+        }
+
+        var output = new GoViewProUploadOutput
+        {
+            Id = id,
+            BucketName = null,
+            CreateTime = null,
+            CreateUserId = null,
+            FileName = null,
+            FileSize = 0,
+            FileSuffix = "png",
+            FileUrl = $"api/goview/project/getIndexImage/{id}",
+            UpdateTime = null,
+            UpdateUserId = null
+        };
+
+        #region 浣跨敤 SysFileService 鏂瑰紡锛堝凡娉ㄩ噴锛�
+
+        ////鍒犻櫎宸插瓨鍦ㄧ殑棰勮鍥�
+        //var uploadFileName = Path.GetFileNameWithoutExtension(@object.FileName);
+        //var existFiles = await _fileRep.GetListAsync(u => u.FileName == uploadFileName);
+        //foreach (var f in existFiles)
+        //    await _fileService.DeleteFile(new DeleteFileInput { Id = f.Id });
+
+        ////淇濆瓨棰勮鍥�
+        //var result = await _fileService.UploadFile(@object, "");
+        //var file = await _fileRep.GetFirstAsync(u => u.Id == result.Id);
+        //int.TryParse(file.SizeKb, out var size);
+
+        ////鏈湴瀛樺偍锛屼娇鐢ㄦ嫾鎺ョ殑鍦板潃
+        //var fileUrl = file.BucketName == "Local" ? $"{file.FilePath}/{file.Id}{file.Suffix}" : file.Url;
+
+        //var output = new ProjectUploadOutput
+        //{
+        //    Id = file.Id,
+        //    BucketName = file.BucketName,
+        //    CreateTime = file.CreateTime,
+        //    CreateUserId = file.CreateUserId,
+        //    FileName = $"{file.FileName}{file.Suffix}",
+        //    FileSize = size,
+        //    FileSuffix = file.Suffix?[1..],
+        //    FileUrl = fileUrl,
+        //    UpdateTime = null,
+        //    UpdateUserId = null
+        //};
+
+        #endregion 浣跨敤 SysFileService 鏂瑰紡锛堝凡娉ㄩ噴锛�
+
+        return output;
+    }
+
+    /// <summary>
+    /// 鑾峰彇棰勮鍥� 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [NonUnify]
+    [ApiDescriptionSettings(Name = "GetIndexImage")]
+    [DisplayName("鑾峰彇棰勮鍥�")]
+    public async Task<IActionResult> GetIndexImage(long id)
+    {
+        var projectData = await _goViewProDataRep.AsQueryable().IgnoreColumns(u => u.Content).FirstAsync(u => u.Id == id);
+        if (projectData?.IndexImageData == null)
+            return new NoContentResult();
+
+        var bytes = Convert.FromBase64String(projectData.IndexImageData);
+        return new FileStreamResult(new MemoryStream(bytes), "image/png");
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewSys/Dto/GoViewLoginInput.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewSys/Dto/GoViewLoginInput.cs
new file mode 100644
index 0000000..00611f2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewSys/Dto/GoViewLoginInput.cs
@@ -0,0 +1,25 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.GoView.Service;
+
+/// <summary>
+/// 鐧诲綍杈撳叆
+/// </summary>
+public class GoViewLoginInput
+{
+    /// <summary>
+    /// 鐢ㄦ埛鍚�
+    /// </summary>
+    [Required(ErrorMessage = "鐢ㄦ埛鍚嶄笉鑳戒负绌�")]
+    public string Username { get; set; }
+
+    /// <summary>
+    /// 瀵嗙爜
+    /// </summary>
+    [Required(ErrorMessage = "瀵嗙爜涓嶈兘涓虹┖")]
+    public string Password { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewSys/Dto/GoViewLoginOutput.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewSys/Dto/GoViewLoginOutput.cs
new file mode 100644
index 0000000..029671e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewSys/Dto/GoViewLoginOutput.cs
@@ -0,0 +1,60 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.GoView.Service;
+
+/// <summary>
+/// 鐧诲綍杈撳嚭
+/// </summary>
+public class GoViewLoginOutput
+{
+    /// <summary>
+    /// 鐢ㄦ埛淇℃伅
+    /// </summary>
+    public GoViewLoginUserInfo Userinfo { get; set; }
+
+    /// <summary>
+    /// Token
+    /// </summary>
+    public GoViewLoginToken Token { get; set; }
+}
+
+/// <summary>
+/// 鐧诲綍 Token
+/// </summary>
+public class GoViewLoginToken
+{
+    /// <summary>
+    /// Token 鍚�
+    /// </summary>
+    public string TokenName { get; set; } = "Authorization";
+
+    /// <summary>
+    /// Token 鍊�
+    /// </summary>
+    public string TokenValue { get; set; }
+}
+
+/// <summary>
+/// 鐢ㄦ埛淇℃伅
+/// </summary>
+public class GoViewLoginUserInfo
+{
+    /// <summary>
+    /// 鐢ㄦ埛 Id
+    /// </summary>
+    public string Id { get; set; }
+
+    /// <summary>
+    /// 鐢ㄦ埛鍚�
+    /// </summary>
+    public string Username { get; set; }
+
+    /// <summary>
+    /// 鏄电О
+    /// </summary>
+    public string Nickname { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewSys/Dto/GoViewOssUrlOutput.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewSys/Dto/GoViewOssUrlOutput.cs
new file mode 100644
index 0000000..bf21d3c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewSys/Dto/GoViewOssUrlOutput.cs
@@ -0,0 +1,23 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.GoView.Service;
+
+/// <summary>
+/// 鑾峰彇 OSS 涓婁紶鎺ュ彛杈撳嚭
+/// </summary>
+public class GoViewOssUrlOutput
+{
+    /// <summary>
+    /// 妗跺悕
+    /// </summary>
+    public string BucketName { get; set; }
+
+    /// <summary>
+    /// BucketURL 鍦板潃
+    /// </summary>
+    public string BucketURL { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewSys/GoViewSysService.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewSys/GoViewSysService.cs
new file mode 100644
index 0000000..7a23b54
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Service/GoViewSys/GoViewSysService.cs
@@ -0,0 +1,84 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.GoView.Service;
+
+/// <summary>
+/// 绯荤粺鐧诲綍鏈嶅姟 馃З
+/// </summary>
+[UnifyProvider("GoView")]
+[ApiDescriptionSettings(GoViewConst.GroupName, Module = "goview", Name = "sys", Order = 100)]
+public class GoViewSysService : IDynamicApiController
+{
+    private readonly SysAuthService _sysAuthService;
+    private readonly SqlSugarRepository<SysUser> _sysUserRep;
+    private readonly SysCacheService _sysCacheService;
+
+    public GoViewSysService(SysAuthService sysAuthService,
+        SqlSugarRepository<SysUser> sysUserRep,
+        SysCacheService sysCacheService)
+    {
+        _sysAuthService = sysAuthService;
+        _sysUserRep = sysUserRep;
+        _sysCacheService = sysCacheService;
+    }
+
+    /// <summary>
+    /// GoView 鐧诲綍 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [DisplayName("GoView 鐧诲綍")]
+    public async Task<GoViewLoginOutput> Login(GoViewLoginInput input)
+    {
+        _sysCacheService.Set(CommonConst.SysCaptcha, false);
+
+        input.Password = CryptogramUtil.SM2Encrypt(input.Password);
+        var loginResult = await _sysAuthService.Login(new LoginInput()
+        {
+            Account = input.Username,
+            Password = input.Password,
+        });
+
+        _sysCacheService.Remove(CommonConst.SysCaptcha);
+
+        var sysUser = await _sysUserRep.AsQueryable().ClearFilter().FirstAsync(u => u.Account.Equals(input.Username));
+        return new GoViewLoginOutput()
+        {
+            Userinfo = new GoViewLoginUserInfo
+            {
+                Id = sysUser.Id.ToString(),
+                Username = sysUser.Account,
+                Nickname = sysUser.NickName,
+            },
+            Token = new GoViewLoginToken
+            {
+                TokenValue = $"Bearer {loginResult.AccessToken}"
+            }
+        };
+    }
+
+    /// <summary>
+    /// GoView 閫�鍑� 馃敄
+    /// </summary>
+    [DisplayName("GoView 閫�鍑�")]
+    public void GetLogout()
+    {
+        _sysAuthService.Logout();
+    }
+
+    /// <summary>
+    /// 鑾峰彇 OSS 涓婁紶鎺ュ彛 馃敄
+    /// </summary>
+    /// <returns></returns>
+    [AllowAnonymous]
+    [ApiDescriptionSettings(Name = "GetOssInfo")]
+    [DisplayName("鑾峰彇 OSS 涓婁紶鎺ュ彛")]
+    public static Task<GoViewOssUrlOutput> GetOssInfo()
+    {
+        return Task.FromResult(new GoViewOssUrlOutput { BucketURL = "" });
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Startup.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Startup.cs
new file mode 100644
index 0000000..ab7a81d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Startup.cs
@@ -0,0 +1,25 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Microsoft.AspNetCore.Builder;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.Extensions.DependencyInjection;
+
+namespace Admin.NET.Plugin.GoView;
+
+[AppStartup(100)]
+public class Startup : AppStartup
+{
+    public void ConfigureServices(IServiceCollection services)
+    {
+        // 娉ㄥ唽 GoView 瑙勮寖鍖栧鐞嗘彁渚涘櫒
+        services.AddUnifyProvider<GoViewResultProvider>("GoView");
+    }
+
+    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
+    {
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Util/GoViewResultProvider.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Util/GoViewResultProvider.cs
new file mode 100644
index 0000000..8b90447
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.GoView/Util/GoViewResultProvider.cs
@@ -0,0 +1,122 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.GoView;
+
+/// <summary>
+/// GoView 瑙勮寖鍖栫粨鏋�
+/// </summary>
+[UnifyModel(typeof(GoViewResult<>))]
+public class GoViewResultProvider : IUnifyResultProvider
+{
+    /// <summary>
+    /// 寮傚父杩斿洖鍊�
+    /// </summary>
+    /// <param name="context"></param>
+    /// <param name="metadata"></param>
+    /// <returns></returns>
+    public IActionResult OnException(ExceptionContext context, ExceptionMetadata metadata)
+    {
+        return new JsonResult(RESTfulResult(metadata.StatusCode, data: metadata.Data, errors: metadata.Errors));
+    }
+
+    /// <summary>
+    /// 鎴愬姛杩斿洖鍊�
+    /// </summary>
+    /// <param name="context"></param>
+    /// <param name="data"></param>
+    /// <returns></returns>
+    public IActionResult OnSucceeded(ActionExecutedContext context, object data)
+    {
+        return new JsonResult(RESTfulResult(StatusCodes.Status200OK, true, data));
+    }
+
+    /// <summary>
+    /// 楠岃瘉澶辫触杩斿洖鍊�
+    /// </summary>
+    /// <param name="context"></param>
+    /// <param name="metadata"></param>
+    /// <returns></returns>
+    public IActionResult OnValidateFailed(ActionExecutingContext context, ValidationMetadata metadata)
+    {
+        return new JsonResult(RESTfulResult(metadata.StatusCode ?? StatusCodes.Status400BadRequest, data: metadata.Data, errors: metadata.ValidationResult));
+    }
+
+    /// <summary>
+    /// 鐗瑰畾鐘舵�佺爜杩斿洖鍊�
+    /// </summary>
+    /// <param name="context"></param>
+    /// <param name="statusCode"></param>
+    /// <param name="unifyResultSettings"></param>
+    /// <returns></returns>
+    public async Task OnResponseStatusCodes(HttpContext context, int statusCode, UnifyResultSettingsOptions unifyResultSettings)
+    {
+        // 璁剧疆鍝嶅簲鐘舵�佺爜
+        UnifyContext.SetResponseStatusCodes(context, statusCode, unifyResultSettings);
+
+        switch (statusCode)
+        {
+            // 澶勭悊 401 鐘舵�佺爜
+            case StatusCodes.Status401Unauthorized:
+                await context.Response.WriteAsJsonAsync(RESTfulResult(886, errors: "401 鐧诲綍宸茶繃鏈燂紝璇烽噸鏂扮櫥褰�"),
+                    App.GetOptions<JsonOptions>()?.JsonSerializerOptions);
+                break;
+            // 澶勭悊 403 鐘舵�佺爜
+            case StatusCodes.Status403Forbidden:
+                await context.Response.WriteAsJsonAsync(RESTfulResult(statusCode, errors: "403 绂佹璁块棶锛屾病鏈夋潈闄�"),
+                    App.GetOptions<JsonOptions>()?.JsonSerializerOptions);
+                break;
+
+            default: break;
+        }
+    }
+
+    /// <summary>
+    /// 杩斿洖 RESTful 椋庢牸缁撴灉闆�
+    /// </summary>
+    /// <param name="statusCode"></param>
+    /// <param name="succeeded"></param>
+    /// <param name="data"></param>
+    /// <param name="errors"></param>
+    /// <returns></returns>
+    private static GoViewResult<object> RESTfulResult(int statusCode, bool succeeded = default, object data = default, object errors = default)
+    {
+        return new GoViewResult<object>
+        {
+            Code = statusCode,
+            Msg = errors is null or string ? (errors + "") : JSON.Serialize(errors),
+            Data = data,
+            Count = data != null && data.GetType().IsGenericType && data.GetType().GetGenericTypeDefinition() == typeof(List<>) ? ((IList)data).Count : null
+        };
+    }
+}
+
+/// <summary>
+/// GoView 杩斿洖缁撴灉
+/// </summary>
+/// <typeparam name="T"></typeparam>
+public class GoViewResult<T>
+{
+    /// <summary>
+    /// 鐘舵�佺爜
+    /// </summary>
+    public int Code { get; set; }
+
+    /// <summary>
+    /// 淇℃伅
+    /// </summary>
+    public string Msg { get; set; }
+
+    /// <summary>
+    /// 鏁版嵁
+    /// </summary>
+    public T Data { get; set; }
+
+    /// <summary>
+    /// 鎬绘暟
+    /// </summary>
+    public int? Count { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Admin.NET.Plugin.ReZero.csproj b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Admin.NET.Plugin.ReZero.csproj
new file mode 100644
index 0000000..1aeac09
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Admin.NET.Plugin.ReZero.csproj
@@ -0,0 +1,34 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net6.0</TargetFramework>
+    <NoWarn>1701;1702;1591;8632</NoWarn>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <Nullable>disable</Nullable>
+    <GenerateDocumentationFile>True</GenerateDocumentationFile>
+    <Copyright>漏 Admin.NET</Copyright>
+    <Description>Admin.NET 閫氱敤鏉冮檺寮�鍙戝钩鍙�</Description>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Content Include="Configuration\**\*">
+      <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
+    </Content>
+    <Content Include="wwwroot\**\*">
+      <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
+    </Content>
+  </ItemGroup>
+
+  <ItemGroup>
+    <PackageReference Include="Rezero.Api" Version="1.0.42" />
+  </ItemGroup>  
+
+  <ItemGroup>
+    <ProjectReference Include="..\..\Admin.NET.Core\Admin.NET.Core.csproj" />
+  </ItemGroup>
+
+</Project>
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Configuration/ReZero.json b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Configuration/ReZero.json
new file mode 100644
index 0000000..4a32c2b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Configuration/ReZero.json
@@ -0,0 +1,15 @@
+{
+  "$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json",
+
+  "[openapi:ReZero]": {
+    "Group": "ReZero",
+    "Title": "ReZero",
+    "Description": "鍏ㄧ綉鍞竴骞朵笖鍏嶈垂鐨勮繍琛屾椂鐣岄潰鍒涘缓API鎺ュ彛鐨勯」鐩紝骞朵笖鐢熸垚鎺ュ彛鏂囨。锛岀湡姝g殑杩愭椂琛屽垱寤轰綆浠g爜銆佺嚎涓婂缓琛ㄣ�佺嚎涓婂缓鎺ュ彛銆佺嚎涓婄敓鎴愭帴鍙f枃妗c�佺嚎涓婃祴璇曟帴鍙c�佺儹鎻掓嫈銆佽秴绾PI銆�",
+    "Version": "1.0.0",
+    "Order": 80
+  },
+  "ReZero": {
+    "AccessTokenKey": "admin.net:access-token",
+    "RefreshAccessTokenKey": "admin.net:x-access-token"
+  }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/GlobalUsings.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/GlobalUsings.cs
new file mode 100644
index 0000000..80451d5
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/GlobalUsings.cs
@@ -0,0 +1,8 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+global using Furion;
+global using Furion.ConfigurableOptions;
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Option/ReZeroOptions.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Option/ReZeroOptions.cs
new file mode 100644
index 0000000..41352f6
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Option/ReZeroOptions.cs
@@ -0,0 +1,20 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+namespace Admin.NET.Plugin.ReZero;
+
+public sealed class ReZeroOptions : IConfigurableOptions
+{
+    /// <summary>
+    /// AccessTokenKey
+    /// </summary>
+    public string AccessTokenKey { get; set; }
+
+    /// <summary>
+    /// RefreshAccessTokenKey
+    /// </summary>
+    public string RefreshAccessTokenKey { get; set; }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/SeedData/SysMenuSeedData.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/SeedData/SysMenuSeedData.cs
new file mode 100644
index 0000000..4adcd12
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/SeedData/SysMenuSeedData.cs
@@ -0,0 +1,32 @@
+// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Admin.NET.Core;
+
+namespace Admin.NET.Plugin.ReZero;
+
+/// <summary>
+/// 瓒呯骇API鑿滃崟琛ㄧ瀛愭暟鎹�
+/// </summary>
+public class SysMenuSeedData : ISqlSugarEntitySeedData<SysMenu>
+{
+    /// <summary>
+    /// 绉嶅瓙鏁版嵁
+    /// </summary>
+    /// <returns></returns>
+    public IEnumerable<SysMenu> HasData()
+    {
+        return new[]
+        {
+            new SysMenu{ Id=1310000000651, Pid=1310000000601, Title="瓒呯骇API", Path="/develop/reZero", Name="sysReZero", Component="Layout", Icon="ele-MagicStick", Type=MenuTypeEnum.Dir, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=140 },
+            new SysMenu{ Id=1310000000655, Pid=1310000000651, Title="鍔ㄦ�佹帴鍙�", Path="/develop/reZero/dynamicApi", Name="sysReZeroDynamicApi", Component="layout/routerView/iframe", Icon="ele-Menu", Type=MenuTypeEnum.Menu, IsIframe=true, OutLink="http://localhost:5005/rezero/dynamic_interface.html?model=small", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
+            new SysMenu{ Id=1310000000660, Pid=1310000000651, Title="鏁版嵁搴撶鐞�", Path="/develop/reZero/database", Name="sysReZeroDatabase", Component="layout/routerView/iframe", Icon="ele-Menu", Type=MenuTypeEnum.Menu, IsIframe=true, OutLink="http://localhost:5005/rezero/database_manager.html?model=small", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=110 },
+            new SysMenu{ Id=1310000000665, Pid=1310000000651, Title="瀹炰綋琛ㄧ鐞�", Path="/develop/reZero/entity", Name="sysReZeroEntity", Component="layout/routerView/iframe", Icon="ele-Menu", Type=MenuTypeEnum.Menu, IsIframe=true, OutLink="http://localhost:5005/rezero/entity_manager.html?model=small", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=120 },
+            new SysMenu{ Id=1310000000670, Pid=1310000000651, Title="鎺ュ彛鍒嗙被", Path="/develop/reZero/apiCategory", Name="sysReZeroApiCategory", Component="layout/routerView/iframe", Icon="ele-Menu", Type=MenuTypeEnum.Menu, IsIframe=true, OutLink="http://localhost:5005/rezero/interface_categroy.html?model=small", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=130 },
+            new SysMenu{ Id=1310000000675, Pid=1310000000651, Title="鎺ュ彛瀹氫箟", Path="/develop/reZero/apiDefine", Name="sysReZeroApiDefine", Component="layout/routerView/iframe", Icon="ele-Menu", Type=MenuTypeEnum.Menu, IsIframe=true, OutLink="http://localhost:5005/rezero/interface_manager.html?model=small", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=140 },
+        };
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Service/SuperApiAop.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Service/SuperApiAop.cs
new file mode 100644
index 0000000..77599a9
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Service/SuperApiAop.cs
@@ -0,0 +1,111 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Admin.NET.Core;
+using Furion.ClayObject;
+using Furion.DataEncryption;
+using Furion.FriendlyException;
+using Furion.JsonSerialization;
+using Microsoft.AspNetCore.Authentication;
+using Microsoft.AspNetCore.Authentication.JwtBearer;
+using Microsoft.AspNetCore.Http;
+using Microsoft.Extensions.Logging;
+using ReZero.SuperAPI;
+
+namespace Admin.NET.Plugin.ReZero.Service;
+
+/// <summary>
+/// 瓒呯骇API鎺ュ彛鎷︽埅鍣�
+/// </summary>
+public class SuperApiAop : DefaultSuperApiAop
+{
+    public override async Task OnExecutingAsync(InterfaceContext aopContext)
+    {
+        //if (aopContext.InterfaceType == InterfaceType.DynamicApi)
+        //{
+        var authenticateResult = await aopContext.HttpContext.AuthenticateAsync(JwtBearerDefaults.AuthenticationScheme);
+        if (!authenticateResult.Succeeded)
+            throw Oops.Oh("娌℃潈闄� Unauthorized");
+        //}
+
+        var accessToken = aopContext.HttpContext.Request.Headers["Authorization"].ToString();
+        var (isValid, tokenData, validationResult) = JWTEncryption.Validate(accessToken.Replace("Bearer ", ""));
+        if (!isValid)
+            throw Oops.Oh("Token 鏃犳晥");
+
+        await base.OnExecutingAsync(aopContext);
+    }
+
+    public override async Task OnExecutedAsync(InterfaceContext aopContext)
+    {
+        InitLogContext(aopContext, LogLevel.Information);
+
+        await base.OnExecutedAsync(aopContext);
+    }
+
+    public override async Task OnErrorAsync(InterfaceContext aopContext)
+    {
+        InitLogContext(aopContext, LogLevel.Error);
+
+        await base.OnErrorAsync(aopContext);
+    }
+
+    /// <summary>
+    /// 淇濆瓨瓒呯骇API鎺ュ彛鏃ュ織
+    /// </summary>
+    /// <param name="aopContext"></param>
+    /// <param name="logLevel"></param>
+    private void InitLogContext(InterfaceContext aopContext, LogLevel logLevel)
+    {
+        var api = aopContext.InterfaceInfo;
+        var context = aopContext.HttpContext;
+
+        var accessToken = context.Request.Headers["Authorization"].ToString();
+        if (!string.IsNullOrWhiteSpace(accessToken) && accessToken.StartsWith("Bearer "))
+            accessToken = accessToken.Replace("Bearer ", "");
+        var claims = JWTEncryption.ReadJwtToken(accessToken)?.Claims;
+        var userName = claims?.FirstOrDefault(u => u.Type == ClaimConst.Account)?.Value;
+        var realName = claims?.FirstOrDefault(u => u.Type == ClaimConst.RealName)?.Value;
+
+        var paths = api.Url.Split('/');
+        var actionName = paths[paths.Length - 1];
+
+        var apiInfo = Clay.Object(new
+        {
+            requestUrl = api.Url,
+            httpMethod = api.HttpMethod,
+            displayTitle = api.Name,
+            actionTypeName = actionName,
+            controllerName = aopContext.InterfaceType == InterfaceType.DynamicApi ? $"ReZero鍔ㄦ��-{api.GroupName}" : $"ReZero绯荤粺-{api.GroupName}",
+            remoteIPv4 = context.GetRemoteIpAddressToIPv4(),
+            userAgent = context.Request.Headers["User-Agent"],
+            returnInformation = new
+            {
+                httpStatusCode = context.Response.StatusCode,
+            },
+            authorizationClaims = new[]
+            {
+                new
+                {
+                    type = ClaimConst.Account,
+                    value = userName
+                },
+                new
+                {
+                    type = ClaimConst.RealName,
+                    value = realName
+                },
+            },
+            exception = aopContext.Exception == null ? null : JSON.Serialize(aopContext.Exception)
+        });
+
+        var logger = App.GetRequiredService<ILoggerFactory>().CreateLogger(CommonConst.SysLogCategoryName);
+        using var scope = logger.ScopeContext(new Dictionary<object, object> {
+            { "loggingMonitor", apiInfo.ToString() }
+        });
+        logger.Log(logLevel, "ReZero瓒呯骇API鎺ュ彛鏃ュ織");
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Startup.cs b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Startup.cs
new file mode 100644
index 0000000..4364e9f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Plugins/Admin.NET.Plugin.ReZero/Startup.cs
@@ -0,0 +1,55 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Admin.NET.Core;
+using Admin.NET.Plugin.ReZero.Service;
+using Furion.Localization;
+using Microsoft.AspNetCore.Builder;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.Extensions.DependencyInjection;
+using ReZero;
+using ReZero.SuperAPI;
+
+namespace Admin.NET.Plugin.ReZero;
+
+[AppStartup(100)]
+public class Startup : AppStartup
+{
+    public void ConfigureServices(IServiceCollection services)
+    {
+        var reZeroOpt = App.GetConfig<ReZeroOptions>("ReZero", true);
+
+        // 鑾峰彇榛樿鏁版嵁搴撻厤缃紙绗竴涓級
+        var dbOptions = App.GetConfig<DbConnectionOptions>("DbConnection", true);
+        var superAPIOption = new SuperAPIOptions()
+        {
+            DatabaseOptions = new DatabaseOptions()
+            {
+                ConnectionConfig = new SuperAPIConnectionConfig()
+                {
+                    DbType = dbOptions.ConnectionConfigs[0].DbType,
+                    ConnectionString = dbOptions.ConnectionConfigs[0].ConnectionString
+                }
+            },
+            UiOptions = new UiOptions() { DefaultIndexSource = "/index.html" },
+            InterfaceOptions = new InterfaceOptions()
+            {
+                AuthorizationLocalStorageName = reZeroOpt.AccessTokenKey, // 娴忚鍣ㄦ湰鍦板瓨鍌↙ocalStorage瀛樺偍Token鐨勯敭鍚�
+                SuperApiAop = new SuperApiAop() // 瓒呯骇API鎷︽埅鍣�
+            }
+        };
+
+        // 娉ㄥ唽瓒呯骇API
+        services.AddReZeroServices(api =>
+        {
+            api.EnableSuperApi(superAPIOption);
+        });
+    }
+
+    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
+    {
+    }
+}
\ No newline at end of file
diff --git a/SDA/iWareCommon/Utils/ConfigHelper.cs b/SDA/iWareCommon/Utils/ConfigHelper.cs
index 609a02a..7d0f8e9 100644
--- a/SDA/iWareCommon/Utils/ConfigHelper.cs
+++ b/SDA/iWareCommon/Utils/ConfigHelper.cs
@@ -3,104 +3,105 @@
 
 namespace iWareCommon.Utils
 {
-	/// <summary>
-	/// web.config鎿嶄綔绫�
+    /// <summary>
+    /// web.config鎿嶄綔绫�
     /// Copyright (C) TBEA.WMS
-	/// </summary>
-	public sealed class ConfigHelper
-	{
-		/// <summary>
-		/// 寰楀埌AppSettings涓殑閰嶇疆瀛楃涓蹭俊鎭�
-		/// </summary>
-		/// <param name="key"></param>
-		/// <returns></returns>
-		public static string GetConfigString(string key)
-		{
+    /// </summary>
+    public sealed class ConfigHelper
+    {
+        /// <summary>
+        /// 寰楀埌AppSettings涓殑閰嶇疆瀛楃涓蹭俊鎭�
+        /// </summary>
+        /// <param name="key"></param>
+        /// <returns></returns>
+        public static string GetConfigString(string key)
+        {
             string CacheKey = "AppSettings-" + key;
             object objModel = DataCache.GetCache(CacheKey);
             if (objModel == null)
             {
                 try
                 {
-                    objModel = ConfigurationManager.AppSettings[key]; 
+                    objModel = ConfigurationManager.AppSettings[key];
                     if (objModel != null)
-                    {                        
+                    {
                         DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(180), TimeSpan.Zero);
                     }
                 }
                 catch
                 { }
             }
+            if (objModel == null) return string.Empty;
             return objModel.ToString();
-		}
+        }
 
-		/// <summary>
-		/// 寰楀埌AppSettings涓殑閰嶇疆Bool淇℃伅
-		/// </summary>
-		/// <param name="key"></param>
-		/// <returns></returns>
-		public static bool GetConfigBool(string key)
-		{
-			bool result = false;
-			string cfgVal = GetConfigString(key);
-			if(null != cfgVal && string.Empty != cfgVal)
-			{
-				try
-				{
-					result = bool.Parse(cfgVal);
-				}
-				catch(FormatException)
-				{
-					// Ignore format exceptions.
-				}
-			}
-			return result;
-		}
-		/// <summary>
-		/// 寰楀埌AppSettings涓殑閰嶇疆Decimal淇℃伅
-		/// </summary>
-		/// <param name="key"></param>
-		/// <returns></returns>
-		public static decimal GetConfigDecimal(string key)
-		{
-			decimal result = 0;
-			string cfgVal = GetConfigString(key);
-			if(null != cfgVal && string.Empty != cfgVal)
-			{
-				try
-				{
-					result = decimal.Parse(cfgVal);
-				}
-				catch(FormatException)
-				{
-					// Ignore format exceptions.
-				}
-			}
+        /// <summary>
+        /// 寰楀埌AppSettings涓殑閰嶇疆Bool淇℃伅
+        /// </summary>
+        /// <param name="key"></param>
+        /// <returns></returns>
+        public static bool GetConfigBool(string key)
+        {
+            bool result = false;
+            string cfgVal = GetConfigString(key);
+            if (null != cfgVal && string.Empty != cfgVal)
+            {
+                try
+                {
+                    result = bool.Parse(cfgVal);
+                }
+                catch (FormatException)
+                {
+                    // Ignore format exceptions.
+                }
+            }
+            return result;
+        }
+        /// <summary>
+        /// 寰楀埌AppSettings涓殑閰嶇疆Decimal淇℃伅
+        /// </summary>
+        /// <param name="key"></param>
+        /// <returns></returns>
+        public static decimal GetConfigDecimal(string key)
+        {
+            decimal result = 0;
+            string cfgVal = GetConfigString(key);
+            if (null != cfgVal && string.Empty != cfgVal)
+            {
+                try
+                {
+                    result = decimal.Parse(cfgVal);
+                }
+                catch (FormatException)
+                {
+                    // Ignore format exceptions.
+                }
+            }
 
-			return result;
-		}
-		/// <summary>
-		/// 寰楀埌AppSettings涓殑閰嶇疆int淇℃伅
-		/// </summary>
-		/// <param name="key"></param>
-		/// <returns></returns>
-		public static int GetConfigInt(string key)
-		{
-			int result = 0;
-			string cfgVal = GetConfigString(key);
-			if(null != cfgVal && string.Empty != cfgVal)
-			{
-				try
-				{
-					result = int.Parse(cfgVal);
-				}
-				catch(FormatException)
-				{
-					// Ignore format exceptions.
-				}
-			}
+            return result;
+        }
+        /// <summary>
+        /// 寰楀埌AppSettings涓殑閰嶇疆int淇℃伅
+        /// </summary>
+        /// <param name="key"></param>
+        /// <returns></returns>
+        public static int GetConfigInt(string key)
+        {
+            int result = 0;
+            string cfgVal = GetConfigString(key);
+            if (null != cfgVal && string.Empty != cfgVal)
+            {
+                try
+                {
+                    result = int.Parse(cfgVal);
+                }
+                catch (FormatException)
+                {
+                    // Ignore format exceptions.
+                }
+            }
 
-			return result;
-		}
-	}
+            return result;
+        }
+    }
 }
diff --git a/SDA/iWareSda/App.config b/SDA/iWareSda/App.config
index 654c61e..21d2f1b 100644
--- a/SDA/iWareSda/App.config
+++ b/SDA/iWareSda/App.config
@@ -35,8 +35,8 @@
           </baseAddresses>
         </host>
       </service>
-      <service name="iWareSda.RgvService">
-        <endpoint address="" binding="basicHttpBinding" contract="iWareSda.IRgvService">
+      <service name="iWareSda.StationService">
+        <endpoint address="" binding="basicHttpBinding" contract="iWareSda.IStationService">
           <identity>
             <dns value="localhost" />
           </identity>
@@ -44,7 +44,7 @@
         <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
         <host>
           <baseAddresses>
-            <add baseAddress="http://localhost:8733/Design_Time_Addresses/iWareSda/RgvService/" />
+            <add baseAddress="http://localhost:8733/Design_Time_Addresses/iWareSda/StationService/" />
           </baseAddresses>
         </host>
       </service>
diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs b/SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs
index 102bea2..7923139 100644
--- a/SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs
+++ b/SDA/iWareSda/Devices/4-Station/StationModel/DB/RgvComm.cs
@@ -34,7 +34,7 @@
         /// 鍒嗛厤鏀炬枡搴撲綅鍙�
         /// </summary>
         [Description("鍒嗛厤鏀炬枡搴撲綅鍙�")]
-        public string W_Destination_In { get; set; }
+        public int W_Destination_In { get; set; }
 
         /// <summary>
         /// 浠诲姟鍙�
@@ -47,20 +47,20 @@
         /// 鏉ユ枡闀垮害
         /// </summary>
         [Description("鏉ユ枡闀垮害")]
-        public string W_Length { get; set; }
+        public short W_Length { get; set; }
 
         /// <summary>
         /// 鏉ユ枡瀹藉害
         /// </summary>
         [Description("鏉ユ枡瀹藉害")]
-        public string W_Width { get; set; }
+        public short W_Width { get; set; }
 
 
         /// <summary>
         /// 鏉ユ枡楂樺害
         /// </summary>
         [Description("鏉ユ枡楂樺害")]
-        public string W_Height { get; set; }
+        public short W_Height { get; set; }
 
         /// <summary>
         /// 璇锋眰鍑哄簱
@@ -253,6 +253,9 @@
         [Description("璇锋眰瑙f瀽璇荤爜鏁版嵁")]
         public bool R_ReqParseData { get; set; }
 
+
+
+
         /// <summary>
         /// 璇荤爜鍣ㄨ鐮佺粨鏋�
         /// </summary>
@@ -306,6 +309,31 @@
         /// </summary>
         [Description("褰撳墠浠诲姟鍙�")]
         public int R_TaskID { get; set; }
+
+
+        /// <summary>
+        /// 鏈哄櫒浜哄叆搴撳畬鎴�
+        /// </summary>
+        [Description("鏈哄櫒浜哄叆搴撳畬鎴�")]
+        public bool R_InboundFinish { get; set; }
+
+        /// <summary>
+        /// 鏈哄櫒浜哄叆搴撳簱浣嶅彿
+        /// </summary>
+        [Description("鏈哄櫒浜哄叆搴撳簱浣嶅彿")]
+        public string R_InboundNumber { get; set; }
+
+        /// <summary>
+        /// 鏈哄櫒浜哄嚭搴撳畬鎴�
+        /// </summary>
+        [Description("鏈哄櫒浜哄嚭搴撳畬鎴�")]
+        public bool R_OutboundFinish { get; set; }
+
+        /// <summary>
+        /// 鏈哄櫒浜哄嚭搴撳簱浣嶅彿
+        /// </summary>
+        [Description("鏈哄櫒浜哄嚭搴撳簱浣嶅彿")]
+        public string R_OutboundNumber { get; set; }
     }
 
     public class StationDBForReadComm
diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs b/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
index cf1e1d2..fadb236 100644
--- a/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
+++ b/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
@@ -132,7 +132,7 @@
                     msg = string.Format("鍚慡tation{0},璧风偣{1}锛岀洰鏍囩偣{2},鍐欏叆浠诲姟鍙穥3}澶辫触,杩斿洖缁撴灉:" + b2.resMsg, this.View.DeviceName, sourcePlce, toPlace, taskId);
                     return false;
                 }
-              
+
 
                 return true;
             }
@@ -179,18 +179,37 @@
 
 
         /// <summary>
-        /// 1015閲嶆柊鎵爜
+        /// 鍐欏叆榻愬缁撴灉
         /// </summary>
         /// <param name="deviceId"></param>
-        /// <param name="value"></param>
+        /// <param name="value">true:琛ㄧず 榻愬銆俧alse锛氫笉榻愬</param>
         /// <param name="msg"></param>
         /// <returns></returns>
-        public bool Write1015ReScan(int deviceId, bool value, out string msg)
+        public bool WriteQiTaoInfo(string stationCode, bool value, out string msg)
         {
             try
             {
                 msg = "";
-                MessageModel b2 = this.plcService.WriteValuePoint(this.DBBlockForWrite.W_1015_ReScan, value, this.View.W_1015_ReScan);
+                var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
+
+                var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
+                MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish);
+                if (!b2.result)
+                {
+                    msg = string.Format("鍚慡tation鍦板潃{0} 鍐�  " + true + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+                        this.DBBlockForWrite.W_1015_ReScan);
+                    return false;
+                }
+                int i_result = 0;
+                if (value)
+                {
+                    i_result = 998;
+                }
+                else
+                {
+                    i_result = 999;
+                }
+                b2 = this.plcService.WriteValuePoint(stationObj.W_KittingInfo, i_result, view_stationObj.W_KittingInfo);
                 if (!b2.result)
                 {
                     msg = string.Format("鍚慡tation鍦板潃{0} 鍐�  " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
@@ -209,37 +228,65 @@
             }
         }
 
-        /// <summary>
-        /// 1019閲嶆柊鎵爜
-        /// </summary>
-        /// <param name="deviceId"></param>
-        /// <param name="value"></param>
-        /// <param name="msg"></param>
-        /// <returns></returns>
-        public bool Write1019ReScan(int deviceId, bool value, out string msg)
+        public bool WriteInStoreTaskInfo(string stationCode, string toPlaceNo, short length, short width, short height, out string msg)
         {
             try
             {
                 msg = "";
-                MessageModel b2 = this.plcService.WriteValuePoint(this.DBBlockForWrite.W_1019_ReScan, value, this.View.W_1019_ReScan);
+                var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
+
+                var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
+                MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish);
                 if (!b2.result)
                 {
-                    msg = string.Format("鍚慡tation鍦板潃{0} 鍐�  " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
-                        this.DBBlockForWrite.W_1019_ReScan);
+                    msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 璇荤爜瑙f瀽瀹屾垚 " + true + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+                        this.DBBlockForWrite.W_1015_ReScan);
                     return false;
                 }
+
+                b2 = this.plcService.WriteValuePoint(stationObj.W_Destination_In, Convert.ToInt32(toPlaceNo), view_stationObj.W_Destination_In);
+                if (!b2.result)
+                {
+                    msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 搴撲綅鍙� " + toPlaceNo + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+                        this.DBBlockForWrite.W_1015_ReScan);
+                    return false;
+                }
+
+                b2 = this.plcService.WriteValuePoint(stationObj.W_Length, length, view_stationObj.W_Length);
+                if (!b2.result)
+                {
+                    msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 闀垮害 " + length + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+                        this.DBBlockForWrite.W_1015_ReScan);
+                    return false;
+                }
+                b2 = this.plcService.WriteValuePoint(stationObj.W_Width, width, view_stationObj.W_Width);
+                if (!b2.result)
+                {
+                    msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 瀹藉害 " + width + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+                        this.DBBlockForWrite.W_1015_ReScan);
+                    return false;
+                }
+                b2 = this.plcService.WriteValuePoint(stationObj.W_Height, height, view_stationObj.W_Height);
+                if (!b2.result)
+                {
+                    msg = string.Format("鍚慡tation鍦板潃{0} 鍐� 楂樺害 " + height + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+                        this.DBBlockForWrite.W_1015_ReScan);
+                    return false;
+                }
+
                 return true;
             }
             catch (Exception ex)
             {
                 msg = ex.Message;
-                var logcontext = string.Format("鍚慡tation鍦板潃{0}  " + value + "鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex),
-                        this.DBBlockForWrite.W_1019_ReScan);
+                var logcontext = string.Format("WriteInStoreTaskInfo鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex),
+                        "");
                 Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex);
                 return false;
             }
         }
 
+
         /// <summary>
         ///  Station鐨勪换鍔″畬鎴怉CK璧嬪��
         /// </summary>
diff --git a/SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs b/SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs
index 29ac693..96edda3 100644
--- a/SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs
+++ b/SDA/iWareSda/Devices/4-Station/StationService/IStationService.cs
@@ -84,22 +84,22 @@
         SdaResEntity IsHaveHeatBeat(int deviceId);
 
         /// <summary>
-        /// 1015閲嶆柊鎵爜
+        /// 鍐欏叆榻愬淇℃伅
         /// </summary>
         /// <param name="deviceId"></param>
         /// <param name="value"></param>
         /// <returns></returns>
         [OperationContract]
-        SdaResEntity Write1015ReScan(int deviceId, bool value);
+        SdaResEntity WriteQiTaoInfo(int deviceId, string stationCode, bool value);
 
         /// <summary>
-        /// 1019閲嶆柊鎵爜
+        /// 鍐欏叆鍏ュ簱浠诲姟淇℃伅
         /// </summary>
         /// <param name="deviceId"></param>
         /// <param name="value"></param>
         /// <returns></returns>
         [OperationContract]
-        SdaResEntity Write1019ReScan(int deviceId, bool value);
+        SdaResEntity WriteInStoreTaskInfo(int deviceId, string stationCode, string toPlaceNo, short length, short width, short height);
 
         /// <summary>
         /// Station鐨勪换鍔″畬鎴怉CK璧嬪��
diff --git a/SDA/iWareSda/Devices/4-Station/StationService/StationService.cs b/SDA/iWareSda/Devices/4-Station/StationService/StationService.cs
index 403d284..992ebbe 100644
--- a/SDA/iWareSda/Devices/4-Station/StationService/StationService.cs
+++ b/SDA/iWareSda/Devices/4-Station/StationService/StationService.cs
@@ -407,12 +407,12 @@
 
 
         /// <summary>
-        /// 1015閲嶆柊鎵爜
+        /// 鍐欏叆榻愬缁撴灉
         /// </summary>
         /// <param name="deviceId"></param>
         /// <param name="value"></param>
         /// <returns></returns>
-        public SdaResEntity Write1015ReScan(int deviceId, bool value)
+        public SdaResEntity WriteQiTaoInfo(int deviceId, string stationCode, bool value)
         {
             SdaResEntity _SdaResEntity = new SdaResEntity();
             try
@@ -425,7 +425,7 @@
                 var Station = StationResult.resData as StationEntity;
 
                 string msg = "";
-                var result = Station.Write1015ReScan(deviceId, value, out msg);
+                var result = Station.WriteQiTaoInfo(stationCode, value, out msg);
                 _SdaResEntity.result = result;
                 _SdaResEntity.resMsg = msg;
                 return _SdaResEntity;
@@ -439,12 +439,12 @@
         }
 
         /// <summary>
-        /// 1019閲嶆柊鎵爜
+        /// 鍐欏叆鍏ュ簱浠诲姟淇℃伅
         /// </summary>
         /// <param name="deviceId"></param>
         /// <param name="value"></param>
         /// <returns></returns>
-        public SdaResEntity Write1019ReScan(int deviceId, bool value)
+        public SdaResEntity WriteInStoreTaskInfo(int deviceId, string stationCode, string toPlaceNo, short length, short width, short height)
         {
             SdaResEntity _SdaResEntity = new SdaResEntity();
             try
@@ -457,7 +457,7 @@
                 var Station = StationResult.resData as StationEntity;
 
                 string msg = "";
-                var result = Station.Write1019ReScan(deviceId, value, out msg);
+                var result = Station.WriteInStoreTaskInfo(stationCode, toPlaceNo, length, width, height, out msg);
                 _SdaResEntity.result = result;
                 _SdaResEntity.resMsg = msg;
                 return _SdaResEntity;
diff --git a/SDA/iWareSda/SdaMainForm.cs b/SDA/iWareSda/SdaMainForm.cs
index c005de3..2b2bd52 100644
--- a/SDA/iWareSda/SdaMainForm.cs
+++ b/SDA/iWareSda/SdaMainForm.cs
@@ -89,9 +89,9 @@
             InitializeComponent();
             Control.CheckForIllegalCrossThreadCalls = false;
 
-            this.lbl_Main1.Text = SysHelper.Language(WareSdaStruct.LanguageFlg, "娼嶆煷瑗挎腐鏁版嵁璁块棶鏈嶅姟", "Data service runing");
+            this.lbl_Main1.Text = SysHelper.Language(WareSdaStruct.LanguageFlg, "椴佷附鏈ㄤ笟鍖呰绾挎暟鎹闂湇鍔�", "Data service runing");
             this.lbl_Main2.Text = SysHelper.Language(WareSdaStruct.LanguageFlg, "璇峰嬁鍏抽棴锛�", "Please do not close!");
-            this.Text = SysHelper.Language(WareSdaStruct.LanguageFlg, "娼嶆煷瑗挎腐鏁版嵁璁块棶鏈嶅姟", "Data service");
+            this.Text = SysHelper.Language(WareSdaStruct.LanguageFlg, "椴佷附鏈ㄤ笟鍖呰绾挎暟鎹闂湇鍔�", "Data service");
             this.tabPage_Main.Text = SysHelper.Language(WareSdaStruct.LanguageFlg, "鏈嶅姟", "Service");
         }
 
diff --git a/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsBasePlace.ts b/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsBasePlace.ts
new file mode 100644
index 0000000..3e058e6
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/api/main/WmsBase/wmsBasePlace.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsBasePlace = '/api/wmsBasePlace/add',
+  DeleteWmsBasePlace = '/api/wmsBasePlace/delete',
+  UpdateWmsBasePlace = '/api/wmsBasePlace/update',
+  PageWmsBasePlace = '/api/wmsBasePlace/page',
+  ListWmsBasePlace = '/api/wmsBasePlace/list',
+  DetailWmsBasePlace = '/api/wmsBasePlace/detail',
+  ImportExcelWmsBasePlace = '/api/wmsBasePlace/importExcel',
+  DownloadExcelTemplateWmsBasePlace = '/api/wmsBasePlace/downloadExcelTemplate',
+}
+
+// 澧炲姞搴撲綅淇℃伅
+export const addWmsBasePlace = (params?: any) =>
+	request({
+		url: Api.AddWmsBasePlace,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎搴撲綅淇℃伅
+export const deleteWmsBasePlace = (params?: any) => 
+	request({
+			url: Api.DeleteWmsBasePlace,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫搴撲綅淇℃伅
+export const updateWmsBasePlace = (params?: any) => 
+	request({
+			url: Api.UpdateWmsBasePlace,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆搴撲綅淇℃伅
+export const importExcelWmsBasePlace = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsBasePlace,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆搴撲綅淇℃伅妯℃澘
+export const downloadExcelTemplateWmsBasePlace = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsBasePlace,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ搴撲綅淇℃伅
+export const pageWmsBasePlace = (params?: any) => 
+	request({
+			url: Api.PageWmsBasePlace,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈠簱浣嶄俊鎭�
+export const listWmsBasePlace = (params?: any) => 
+	request({
+			url: Api.ListWmsBasePlace,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏搴撲綅淇℃伅
+export const detailWmsBasePlace = (id: any) => 
+	request({
+			url: Api.DetailWmsBasePlace,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/iWare_RawMaterialWarehouse_Web/src/api/main/wmsPlace/wmsBasePlace.ts b/iWare_RawMaterialWarehouse_Web/src/api/main/wmsPlace/wmsBasePlace.ts
new file mode 100644
index 0000000..3e058e6
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/api/main/wmsPlace/wmsBasePlace.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsBasePlace = '/api/wmsBasePlace/add',
+  DeleteWmsBasePlace = '/api/wmsBasePlace/delete',
+  UpdateWmsBasePlace = '/api/wmsBasePlace/update',
+  PageWmsBasePlace = '/api/wmsBasePlace/page',
+  ListWmsBasePlace = '/api/wmsBasePlace/list',
+  DetailWmsBasePlace = '/api/wmsBasePlace/detail',
+  ImportExcelWmsBasePlace = '/api/wmsBasePlace/importExcel',
+  DownloadExcelTemplateWmsBasePlace = '/api/wmsBasePlace/downloadExcelTemplate',
+}
+
+// 澧炲姞搴撲綅淇℃伅
+export const addWmsBasePlace = (params?: any) =>
+	request({
+		url: Api.AddWmsBasePlace,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎搴撲綅淇℃伅
+export const deleteWmsBasePlace = (params?: any) => 
+	request({
+			url: Api.DeleteWmsBasePlace,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫搴撲綅淇℃伅
+export const updateWmsBasePlace = (params?: any) => 
+	request({
+			url: Api.UpdateWmsBasePlace,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆搴撲綅淇℃伅
+export const importExcelWmsBasePlace = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsBasePlace,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆搴撲綅淇℃伅妯℃澘
+export const downloadExcelTemplateWmsBasePlace = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsBasePlace,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ搴撲綅淇℃伅
+export const pageWmsBasePlace = (params?: any) => 
+	request({
+			url: Api.PageWmsBasePlace,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈠簱浣嶄俊鎭�
+export const listWmsBasePlace = (params?: any) => 
+	request({
+			url: Api.ListWmsBasePlace,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏搴撲綅淇℃伅
+export const detailWmsBasePlace = (id: any) => 
+	request({
+			url: Api.DetailWmsBasePlace,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBasePlace/component/editDialog.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBasePlace/component/editDialog.vue
new file mode 100644
index 0000000..7213cf2
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBasePlace/component/editDialog.vue
@@ -0,0 +1,271 @@
+锘�<template>
+	<div class="wmsBasePlace-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅缂栫爜" prop="placeCode">
+							<el-input v-model="ruleForm.placeCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅鍚嶇О" prop="placeName">
+							<el-input v-model="ruleForm.placeName" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅绫诲瀷" prop="placeType">
+							<el-select clearable v-model="ruleForm.placeType" placeholder="璇烽�夋嫨搴撲綅绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumPlaceTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅绫诲瀷鍚嶇О" prop="placeTypeName">
+							<el-input v-model="ruleForm.placeTypeName" placeholder="璇疯緭鍏ュ簱浣嶇被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅闀垮害" prop="length">
+							<el-input v-model="ruleForm.length" placeholder="璇疯緭鍏ュ簱浣嶉暱搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅瀹藉害" prop="width">
+							<el-input v-model="ruleForm.width" placeholder="璇疯緭鍏ュ簱浣嶅搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅楂樺害" prop="height">
+							<el-input v-model="ruleForm.height" placeholder="璇疯緭鍏ュ簱浣嶉珮搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍘氬害" prop="thick">
+							<el-input v-model="ruleForm.thick" placeholder="璇疯緭鍏ュ帤搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅灞炴��" prop="placeStatus">
+							<el-select clearable v-model="ruleForm.placeStatus" placeholder="璇烽�夋嫨搴撲綅灞炴��">
+								<el-option v-for="(item,index) in  getEnumPlaceStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵�鍦ㄥ簱鍖�" prop="areaId">
+							<el-input v-model="ruleForm.areaId" placeholder="璇疯緭鍏ユ墍鍦ㄥ簱鍖�" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯缂栧彿" prop="areaCode">
+							<el-input v-model="ruleForm.areaCode" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯鍚嶇О" prop="areaName">
+							<el-input v-model="ruleForm.areaName" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍒�" prop="columnNo">
+							<el-input-number v-model="ruleForm.columnNo" placeholder="璇疯緭鍏ュ垪" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="灞�" prop="layerNo">
+							<el-input-number v-model="ruleForm.layerNo" placeholder="璇疯緭鍏ュ眰" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍙�" prop="laneNo">
+							<el-input-number v-model="ruleForm.laneNo" placeholder="璇疯緭鍏ュ彿" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁铏氭嫙" prop="isVirtually">
+							<el-switch v-model="ruleForm.isVirtually" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsBasePlace, updateWmsBasePlace, detailWmsBasePlace } from "/@/api/main/WmsBase/wmsBasePlace";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumPlaceTypeData = ref<any>([]);
+	const getEnumPlaceStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		placeCode: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鐮侊紒', trigger: 'blur',},],
+		placeName: [{required: true, message: '璇疯緭鍏ュ簱浣嶅悕绉帮紒', trigger: 'blur',},],
+		placeType: [{required: true, message: '璇烽�夋嫨搴撲綅绫诲瀷锛�', trigger: 'change',},],
+		placeStatus: [{required: true, message: '璇烽�夋嫨搴撲綅灞炴�э紒', trigger: 'change',},],
+		areaId: [{required: true, message: '璇疯緭鍏ユ墍鍦ㄥ簱鍖猴紒', trigger: 'blur',},],
+		isDisabled: [{required: true, message: '璇烽�夋嫨鏄惁绂佺敤锛�', trigger: 'change',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsBasePlace(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+			ruleForm.value.isDisabled = false;//蹇呭~锛岃祴鍊奸粯璁ゅ��
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsBasePlace(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsBasePlace(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumPlaceTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceTypeEnum')).data.result ?? [];
+			getEnumPlaceStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceStatusEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBasePlace/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBasePlace/index.vue
new file mode 100644
index 0000000..b40558e
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/wmsBasePlace/index.vue
@@ -0,0 +1,393 @@
+锘�<template>
+  <div class="wmsBasePlace-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsBasePlace" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsBasePlace.searchKey" clearable="" placeholder="搴撲綅缂栫爜,搴撲綅鍚嶇О,搴撲綅绫诲瀷鍚嶇О,搴撳尯缂栧彿,搴撳尯鍚嶇О,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅缂栫爜">
+              <el-input v-model="queryParamsWmsBasePlace.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅鍚嶇О">
+              <el-input v-model="queryParamsWmsBasePlace.placeName" clearable="" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsBasePlace.placeType" placeholder="璇烽�夋嫨搴撲綅绫诲瀷">
+                <el-option v-for="(item,index) in getEnumPlaceTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅绫诲瀷鍚嶇О">
+              <el-input v-model="queryParamsWmsBasePlace.placeTypeName" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇被鍨嬪悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅闀垮害">
+              <el-input v-model="queryParamsWmsBasePlace.length" clearable="" placeholder="璇疯緭鍏ュ簱浣嶉暱搴�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅瀹藉害">
+              <el-input v-model="queryParamsWmsBasePlace.width" clearable="" placeholder="璇疯緭鍏ュ簱浣嶅搴�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅楂樺害">
+              <el-input v-model="queryParamsWmsBasePlace.height" clearable="" placeholder="璇疯緭鍏ュ簱浣嶉珮搴�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鍘氬害">
+              <el-input v-model="queryParamsWmsBasePlace.thick" clearable="" placeholder="璇疯緭鍏ュ帤搴�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅灞炴��">
+              <el-select clearable="" v-model="queryParamsWmsBasePlace.placeStatus" placeholder="璇烽�夋嫨搴撲綅灞炴��">
+                <el-option v-for="(item,index) in getEnumPlaceStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鎵�鍦ㄥ簱鍖�">
+              <el-input v-model="queryParamsWmsBasePlace.areaId" clearable="" placeholder="璇疯緭鍏ユ墍鍦ㄥ簱鍖�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsBasePlace.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撳尯鍚嶇О">
+              <el-input v-model="queryParamsWmsBasePlace.areaName" clearable="" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鍒�">
+              <el-input-number v-model="queryParamsWmsBasePlace.columnNo"  clearable="" placeholder="璇疯緭鍏ュ垪"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="灞�">
+              <el-input-number v-model="queryParamsWmsBasePlace.layerNo"  clearable="" placeholder="璇疯緭鍏ュ眰"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鍙�">
+              <el-input-number v-model="queryParamsWmsBasePlace.laneNo"  clearable="" placeholder="璇疯緭鍏ュ彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鏄惁铏氭嫙">
+              <el-select clearable="" v-model="queryParamsWmsBasePlace.isVirtually" placeholder="璇烽�夋嫨鏄惁铏氭嫙">
+                <el-option v-for="(item,index) in getEnumIsVirtuallyData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鏄惁绂佺敤">
+              <el-select clearable="" v-model="queryParamsWmsBasePlace.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+                <el-option v-for="(item,index) in getEnumIsDisabledData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsBasePlace" v-auth="'wmsBasePlace:page'" :disabled="disabled_btnWmsBasePlace"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsBasePlace"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsBasePlace" v-if="!showAdvanceQueryUIWmsBasePlace" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsBasePlace" v-if="showAdvanceQueryUIWmsBasePlace" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsBasePlace" v-auth="'wmsBasePlace:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsBasePlace"  v-auth="'wmsBasePlace:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsBasePlace"
+				:data="tableDataWmsBasePlace"
+				style="width: 100%"
+				v-loading="loadingWmsBasePlace"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsBasePlace"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="placeCode" label="搴撲綅缂栫爜"  show-overflow-tooltip="" />
+        <el-table-column prop="placeName" label="搴撲綅鍚嶇О"  show-overflow-tooltip="" />
+          <el-table-column prop="placeType" label="搴撲綅绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.placeType, getEnumPlaceTypeData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="placeTypeName" label="搴撲綅绫诲瀷鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="length" label="搴撲綅闀垮害"  show-overflow-tooltip="" />
+        <el-table-column prop="width" label="搴撲綅瀹藉害"  show-overflow-tooltip="" />
+        <el-table-column prop="height" label="搴撲綅楂樺害"  show-overflow-tooltip="" />
+        <el-table-column prop="thick" label="鍘氬害"  show-overflow-tooltip="" />
+          <el-table-column prop="placeStatus" label="搴撲綅灞炴��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.placeStatus, getEnumPlaceStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="areaId" label="鎵�鍦ㄥ簱鍖�"  show-overflow-tooltip="" />
+        <el-table-column prop="areaCode" label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="areaName" label="搴撳尯鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="columnNo" label="鍒�"  show-overflow-tooltip="" />
+        <el-table-column prop="layerNo" label="灞�"  show-overflow-tooltip="" />
+        <el-table-column prop="laneNo" label="鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="isVirtually" label="鏄惁铏氭嫙"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isVirtually"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsBasePlace:update') || auth('wmsBasePlace:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsBasePlace(scope.row)" v-auth="'wmsBasePlace:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsBasePlace(scope.row)" v-auth="'wmsBasePlace:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsBasePlace.page"
+				v-model:page-size="tableParamsWmsBasePlace.pageSize"
+				:total="tableParamsWmsBasePlace.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsBasePlace"
+				@current-change="handleCurrentChangeWmsBasePlace"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsBasePlace
+        ref="printDialogRefWmsBasePlace"
+        :title="printWmsBasePlaceTitle"
+        @reloadTable="handleQueryWmsBasePlace" />
+      <editDialogWmsBasePlace
+        ref="editDialogRefWmsBasePlace"
+        :title="editWmsBasePlaceTitle"
+        @reloadTable="handleQueryWmsBasePlace"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsBasePlace">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+  import printDialogWmsBasePlace from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogWmsBasePlace from '/@/views/main/WmsBase/wmsBasePlace/component/editDialog.vue'
+  import { pageWmsBasePlace, deleteWmsBasePlace,importExcelWmsBasePlace,downloadExcelTemplateWmsBasePlace } from '/@/api/main/WmsBase/wmsBasePlace';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumPlaceTypeData_Index = ref<any>([]);
+  const getEnumPlaceStatusData_Index = ref<any>([]);
+  const getEnumIsVirtuallyData_Index = ref<any>([]);
+  const getEnumIsDisabledData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[搴撲綅淇℃伅鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsBasePlace = ref(false);
+  const tableRefWmsBasePlace = ref(null);
+  const printDialogRefWmsBasePlace = ref();
+  const editDialogRefWmsBasePlace = ref();
+  const loadingWmsBasePlace = ref(false);
+  const disabled_btnWmsBasePlace = ref(false);
+  const tableDataWmsBasePlace = ref<any>([]);
+  const queryParamsWmsBasePlace = ref<any>({});
+  const tableParamsWmsBasePlace = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsBasePlaceTitle = ref("");
+  const editWmsBasePlaceTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsBasePlace = () => {
+    showAdvanceQueryUIWmsBasePlace.value = !showAdvanceQueryUIWmsBasePlace.value;
+  }
+
+  // 鏌ヨ搴撲綅淇℃伅
+  const handleQueryWmsBasePlace = async () => {
+    loadingWmsBasePlace.value = true;
+    disabled_btnWmsBasePlace.value = true;
+    var res = await pageWmsBasePlace(Object.assign(queryParamsWmsBasePlace.value, tableParamsWmsBasePlace.value));
+    if(res.data.type=="success"){
+      tableDataWmsBasePlace.value = res.data.result?.items ?? [];
+      tableParamsWmsBasePlace.value.total = res.data.result?.total;
+    }
+    loadingWmsBasePlace.value = false;
+    disabled_btnWmsBasePlace.value = false;
+  };
+
+  // 閲嶇疆搴撲綅淇℃伅鏌ヨ
+  const resetWmsBasePlace = async () => {
+    queryParamsWmsBasePlace.value = {}
+  };
+
+  // 搴撲綅淇℃伅鍒楁帓搴�
+  const sortChangeWmsBasePlace = async (column: any) => {
+	queryParamsWmsBasePlace.value.field = column.prop;
+	queryParamsWmsBasePlace.value.order = column.order;
+	await handleQueryWmsBasePlace();
+  };
+
+  // 鎵撳紑鏂板搴撲綅淇℃伅椤甸潰
+  const openAddWmsBasePlace = () => {
+    editWmsBasePlaceTitle.value = '娣诲姞搴撲綅淇℃伅';
+    editDialogRefWmsBasePlace.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃搴撲綅淇℃伅椤甸潰
+  const openPrintWmsBasePlace = async (row: any) => {
+    printWmsBasePlaceTitle.value = '鎵撳嵃搴撲綅淇℃伅';
+  }
+  
+  // 鎵撳紑缂栬緫搴撲綅淇℃伅椤甸潰
+  const openEditWmsBasePlace = (row: any) => {
+    editWmsBasePlaceTitle.value = '缂栬緫搴撲綅淇℃伅';
+    editDialogRefWmsBasePlace.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎搴撲綅淇℃伅
+  const delWmsBasePlace = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsBasePlace.value = true;
+    var ret = await deleteWmsBasePlace(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsBasePlace.value = false;
+    handleQueryWmsBasePlace();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉搴撲綅淇℃伅椤甸潰瀹归噺
+  const handleSizeChangeWmsBasePlace = (val: number) => {
+    tableParamsWmsBasePlace.value.pageSize = val;
+    handleQueryWmsBasePlace();
+  };
+
+  // 鏀瑰彉搴撲綅淇℃伅椤电爜搴忓彿
+  const handleCurrentChangeWmsBasePlace = (val: number) => {
+    tableParamsWmsBasePlace.value.page = val;
+    handleQueryWmsBasePlace();
+  };
+
+/***************************************************[搴撲綅淇℃伅鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[搴撲綅淇℃伅瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsBasePlace = {
+      getEnumPlaceTypeData_Index,
+      getEnumPlaceStatusData_Index,
+      getEnumIsVirtuallyData_Index,
+      getEnumIsDisabledData_Index,
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsBasePlace = async (formData:Blob) => {
+    loadingWmsBasePlace.value = true;
+    disabled_btnWmsBasePlace.value = true;
+    var new_tableParamsWmsBasePlace=JSON.parse(JSON.stringify(tableParamsWmsBasePlace.value));
+    new_tableParamsWmsBasePlace.page = 1;
+    new_tableParamsWmsBasePlace.pageSize = 100000;
+    var res = await pageWmsBasePlace(Object.assign(queryParamsWmsBasePlace.value, new_tableParamsWmsBasePlace));
+    if(res.data.type=="success"){
+      exportExcelWmsBasePlace(res.data.result?.items ?? []);
+    }
+    loadingWmsBasePlace.value = false;
+    disabled_btnWmsBasePlace.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsBasePlace  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsBasePlace,"搴撲綅淇℃伅",functionMapWmsBasePlace);
+};
+/***************************************************[搴撲綅淇℃伅瀵煎嚭]缁撴潫***************************************************/
+  // 搴撲綅淇℃伅椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    getEnumPlaceTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceTypeEnum')).data.result ?? [];
+    getEnumPlaceStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceStatusEnum')).data.result ?? [];
+    getEnumIsVirtuallyData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+    getEnumIsDisabledData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsBasePlace();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/wmsPlace/wmsBasePlace/component/editDialog.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/wmsPlace/wmsBasePlace/component/editDialog.vue
new file mode 100644
index 0000000..6ba3a57
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/wmsPlace/wmsBasePlace/component/editDialog.vue
@@ -0,0 +1,271 @@
+锘�<template>
+	<div class="wmsBasePlace-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅缂栫爜" prop="placeCode">
+							<el-input v-model="ruleForm.placeCode" placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅鍚嶇О" prop="placeName">
+							<el-input v-model="ruleForm.placeName" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅绫诲瀷" prop="placeType">
+							<el-select clearable v-model="ruleForm.placeType" placeholder="璇烽�夋嫨搴撲綅绫诲瀷">
+								<el-option v-for="(item,index) in  getEnumPlaceTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅绫诲瀷鍚嶇О" prop="placeTypeName">
+							<el-input v-model="ruleForm.placeTypeName" placeholder="璇疯緭鍏ュ簱浣嶇被鍨嬪悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅闀垮害" prop="length">
+							<el-input v-model="ruleForm.length" placeholder="璇疯緭鍏ュ簱浣嶉暱搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅瀹藉害" prop="width">
+							<el-input v-model="ruleForm.width" placeholder="璇疯緭鍏ュ簱浣嶅搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅楂樺害" prop="height">
+							<el-input v-model="ruleForm.height" placeholder="璇疯緭鍏ュ簱浣嶉珮搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍘氬害" prop="thick">
+							<el-input v-model="ruleForm.thick" placeholder="璇疯緭鍏ュ帤搴�" maxlength="10" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撲綅灞炴��" prop="placeStatus">
+							<el-select clearable v-model="ruleForm.placeStatus" placeholder="璇烽�夋嫨搴撲綅灞炴��">
+								<el-option v-for="(item,index) in  getEnumPlaceStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+								
+							</el-select>
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵�鍦ㄥ簱鍖�" prop="areaId">
+							<el-input v-model="ruleForm.areaId" placeholder="璇疯緭鍏ユ墍鍦ㄥ簱鍖�" maxlength="19" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯缂栧彿" prop="areaCode">
+							<el-input v-model="ruleForm.areaCode" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="搴撳尯鍚嶇О" prop="areaName">
+							<el-input v-model="ruleForm.areaName" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍒�" prop="columnNo">
+							<el-input-number v-model="ruleForm.columnNo" placeholder="璇疯緭鍏ュ垪" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="灞�" prop="layerNo">
+							<el-input-number v-model="ruleForm.layerNo" placeholder="璇疯緭鍏ュ眰" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍙�" prop="laneNo">
+							<el-input-number v-model="ruleForm.laneNo" placeholder="璇疯緭鍏ュ彿" clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁铏氭嫙" prop="isVirtually">
+							<el-switch v-model="ruleForm.isVirtually" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏄惁绂佺敤" prop="isDisabled">
+							<el-switch v-model="ruleForm.isDisabled" active-text="鏄�" inactive-text="鍚�" />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsBasePlace, updateWmsBasePlace, detailWmsBasePlace } from "/@/api/main/wmsPlace/wmsBasePlace";
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+
+	const getEnumPlaceTypeData = ref<any>([]);
+	const getEnumPlaceStatusData = ref<any>([]);
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		placeCode: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鐮侊紒', trigger: 'blur',},],
+		placeName: [{required: true, message: '璇疯緭鍏ュ簱浣嶅悕绉帮紒', trigger: 'blur',},],
+		placeType: [{required: true, message: '璇烽�夋嫨搴撲綅绫诲瀷锛�', trigger: 'change',},],
+		placeStatus: [{required: true, message: '璇烽�夋嫨搴撲綅灞炴�э紒', trigger: 'change',},],
+		areaId: [{required: true, message: '璇疯緭鍏ユ墍鍦ㄥ簱鍖猴紒', trigger: 'blur',},],
+		isDisabled: [{required: true, message: '璇烽�夋嫨鏄惁绂佺敤锛�', trigger: 'change',},],
+		isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsBasePlace(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+			ruleForm.value.isDisabled = false;//蹇呭~锛岃祴鍊奸粯璁ゅ��
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsBasePlace(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsBasePlace(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+			getEnumPlaceTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceTypeEnum')).data.result ?? [];
+			getEnumPlaceStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceStatusEnum')).data.result ?? [];
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/wmsPlace/wmsBasePlace/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/wmsPlace/wmsBasePlace/index.vue
new file mode 100644
index 0000000..35da1d3
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/wmsPlace/wmsBasePlace/index.vue
@@ -0,0 +1,393 @@
+锘�<template>
+  <div class="wmsBasePlace-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsBasePlace" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsBasePlace.searchKey" clearable="" placeholder="搴撲綅缂栫爜,搴撲綅鍚嶇О,搴撲綅绫诲瀷鍚嶇О,搴撳尯缂栧彿,搴撳尯鍚嶇О,鍒涘缓浜�,淇敼浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅缂栫爜">
+              <el-input v-model="queryParamsWmsBasePlace.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅鍚嶇О">
+              <el-input v-model="queryParamsWmsBasePlace.placeName" clearable="" placeholder="璇疯緭鍏ュ簱浣嶅悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅绫诲瀷">
+              <el-select clearable="" v-model="queryParamsWmsBasePlace.placeType" placeholder="璇烽�夋嫨搴撲綅绫诲瀷">
+                <el-option v-for="(item,index) in getEnumPlaceTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅绫诲瀷鍚嶇О">
+              <el-input v-model="queryParamsWmsBasePlace.placeTypeName" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇被鍨嬪悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅闀垮害">
+              <el-input v-model="queryParamsWmsBasePlace.length" clearable="" placeholder="璇疯緭鍏ュ簱浣嶉暱搴�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅瀹藉害">
+              <el-input v-model="queryParamsWmsBasePlace.width" clearable="" placeholder="璇疯緭鍏ュ簱浣嶅搴�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅楂樺害">
+              <el-input v-model="queryParamsWmsBasePlace.height" clearable="" placeholder="璇疯緭鍏ュ簱浣嶉珮搴�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鍘氬害">
+              <el-input v-model="queryParamsWmsBasePlace.thick" clearable="" placeholder="璇疯緭鍏ュ帤搴�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撲綅灞炴��">
+              <el-select clearable="" v-model="queryParamsWmsBasePlace.placeStatus" placeholder="璇烽�夋嫨搴撲綅灞炴��">
+                <el-option v-for="(item,index) in getEnumPlaceStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鎵�鍦ㄥ簱鍖�">
+              <el-input v-model="queryParamsWmsBasePlace.areaId" clearable="" placeholder="璇疯緭鍏ユ墍鍦ㄥ簱鍖�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撳尯缂栧彿">
+              <el-input v-model="queryParamsWmsBasePlace.areaCode" clearable="" placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="搴撳尯鍚嶇О">
+              <el-input v-model="queryParamsWmsBasePlace.areaName" clearable="" placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鍒�">
+              <el-input-number v-model="queryParamsWmsBasePlace.columnNo"  clearable="" placeholder="璇疯緭鍏ュ垪"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="灞�">
+              <el-input-number v-model="queryParamsWmsBasePlace.layerNo"  clearable="" placeholder="璇疯緭鍏ュ眰"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鍙�">
+              <el-input-number v-model="queryParamsWmsBasePlace.laneNo"  clearable="" placeholder="璇疯緭鍏ュ彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鏄惁铏氭嫙">
+              <el-select clearable="" v-model="queryParamsWmsBasePlace.isVirtually" placeholder="璇烽�夋嫨鏄惁铏氭嫙">
+                <el-option v-for="(item,index) in getEnumIsVirtuallyData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsBasePlace">
+            <el-form-item label="鏄惁绂佺敤">
+              <el-select clearable="" v-model="queryParamsWmsBasePlace.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+                <el-option v-for="(item,index) in getEnumIsDisabledData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+                
+              </el-select>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsBasePlace" v-auth="'wmsBasePlace:page'" :disabled="disabled_btnWmsBasePlace"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsBasePlace"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsBasePlace" v-if="!showAdvanceQueryUIWmsBasePlace" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsBasePlace" v-if="showAdvanceQueryUIWmsBasePlace" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsBasePlace" v-auth="'wmsBasePlace:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsBasePlace"  v-auth="'wmsBasePlace:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsBasePlace"
+				:data="tableDataWmsBasePlace"
+				style="width: 100%"
+				v-loading="loadingWmsBasePlace"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsBasePlace"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="placeCode" label="搴撲綅缂栫爜"  show-overflow-tooltip="" />
+        <el-table-column prop="placeName" label="搴撲綅鍚嶇О"  show-overflow-tooltip="" />
+          <el-table-column prop="placeType" label="搴撲綅绫诲瀷"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.placeType, getEnumPlaceTypeData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="placeTypeName" label="搴撲綅绫诲瀷鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="length" label="搴撲綅闀垮害"  show-overflow-tooltip="" />
+        <el-table-column prop="width" label="搴撲綅瀹藉害"  show-overflow-tooltip="" />
+        <el-table-column prop="height" label="搴撲綅楂樺害"  show-overflow-tooltip="" />
+        <el-table-column prop="thick" label="鍘氬害"  show-overflow-tooltip="" />
+          <el-table-column prop="placeStatus" label="搴撲綅灞炴��"  show-overflow-tooltip="" >
+            <template #default="scope">
+              <el-tag>{{ getEnumDesc(scope.row.placeStatus, getEnumPlaceStatusData_Index)}}</el-tag>
+            </template>
+          </el-table-column>
+        <el-table-column prop="areaId" label="鎵�鍦ㄥ簱鍖�"  show-overflow-tooltip="" />
+        <el-table-column prop="areaCode" label="搴撳尯缂栧彿"  show-overflow-tooltip="" />
+        <el-table-column prop="areaName" label="搴撳尯鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="columnNo" label="鍒�"  show-overflow-tooltip="" />
+        <el-table-column prop="layerNo" label="灞�"  show-overflow-tooltip="" />
+        <el-table-column prop="laneNo" label="鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="isVirtually" label="鏄惁铏氭嫙"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isVirtually"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+        <el-table-column prop="isDisabled" label="鏄惁绂佺敤"  show-overflow-tooltip="">
+          <template #default="scope">
+            <el-tag v-if="scope.row.isDisabled"> 鏄� </el-tag>
+            <el-tag type="danger" v-else> 鍚� </el-tag>
+            
+          </template>
+          
+        </el-table-column>
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+         <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column prop="updateUserName" label="淇敼浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsBasePlace:update') || auth('wmsBasePlace:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsBasePlace(scope.row)" v-auth="'wmsBasePlace:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsBasePlace(scope.row)" v-auth="'wmsBasePlace:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsBasePlace.page"
+				v-model:page-size="tableParamsWmsBasePlace.pageSize"
+				:total="tableParamsWmsBasePlace.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsBasePlace"
+				@current-change="handleCurrentChangeWmsBasePlace"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsBasePlace
+        ref="printDialogRefWmsBasePlace"
+        :title="printWmsBasePlaceTitle"
+        @reloadTable="handleQueryWmsBasePlace" />
+      <editDialogWmsBasePlace
+        ref="editDialogRefWmsBasePlace"
+        :title="editWmsBasePlaceTitle"
+        @reloadTable="handleQueryWmsBasePlace"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsBasePlace">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+  import printDialogWmsBasePlace from '/@/views/system/print/component/hiprint/preview.vue'
+  import editDialogWmsBasePlace from '/@/views/main/wmsPlace/wmsBasePlace/component/editDialog.vue'
+  import { pageWmsBasePlace, deleteWmsBasePlace,importExcelWmsBasePlace,downloadExcelTemplateWmsBasePlace } from '/@/api/main/wmsPlace/wmsBasePlace';
+	import { getAPI } from '/@/utils/axios-utils';
+	import { SysEnumApi } from '/@/api-services/api';
+  import commonFunction from '/@/utils/commonFunction';
+
+  const getEnumPlaceTypeData_Index = ref<any>([]);
+  const getEnumPlaceStatusData_Index = ref<any>([]);
+  const getEnumIsVirtuallyData_Index = ref<any>([]);
+  const getEnumIsDisabledData_Index = ref<any>([]);
+
+	const { getEnumDesc } = commonFunction();
+  
+  /***************************************************[搴撲綅淇℃伅鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsBasePlace = ref(false);
+  const tableRefWmsBasePlace = ref(null);
+  const printDialogRefWmsBasePlace = ref();
+  const editDialogRefWmsBasePlace = ref();
+  const loadingWmsBasePlace = ref(false);
+  const disabled_btnWmsBasePlace = ref(false);
+  const tableDataWmsBasePlace = ref<any>([]);
+  const queryParamsWmsBasePlace = ref<any>({});
+  const tableParamsWmsBasePlace = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsBasePlaceTitle = ref("");
+  const editWmsBasePlaceTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsBasePlace = () => {
+    showAdvanceQueryUIWmsBasePlace.value = !showAdvanceQueryUIWmsBasePlace.value;
+  }
+
+  // 鏌ヨ搴撲綅淇℃伅
+  const handleQueryWmsBasePlace = async () => {
+    loadingWmsBasePlace.value = true;
+    disabled_btnWmsBasePlace.value = true;
+    var res = await pageWmsBasePlace(Object.assign(queryParamsWmsBasePlace.value, tableParamsWmsBasePlace.value));
+    if(res.data.type=="success"){
+      tableDataWmsBasePlace.value = res.data.result?.items ?? [];
+      tableParamsWmsBasePlace.value.total = res.data.result?.total;
+    }
+    loadingWmsBasePlace.value = false;
+    disabled_btnWmsBasePlace.value = false;
+  };
+
+  // 閲嶇疆搴撲綅淇℃伅鏌ヨ
+  const resetWmsBasePlace = async () => {
+    queryParamsWmsBasePlace.value = {}
+  };
+
+  // 搴撲綅淇℃伅鍒楁帓搴�
+  const sortChangeWmsBasePlace = async (column: any) => {
+	queryParamsWmsBasePlace.value.field = column.prop;
+	queryParamsWmsBasePlace.value.order = column.order;
+	await handleQueryWmsBasePlace();
+  };
+
+  // 鎵撳紑鏂板搴撲綅淇℃伅椤甸潰
+  const openAddWmsBasePlace = () => {
+    editWmsBasePlaceTitle.value = '娣诲姞搴撲綅淇℃伅';
+    editDialogRefWmsBasePlace.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃搴撲綅淇℃伅椤甸潰
+  const openPrintWmsBasePlace = async (row: any) => {
+    printWmsBasePlaceTitle.value = '鎵撳嵃搴撲綅淇℃伅';
+  }
+  
+  // 鎵撳紑缂栬緫搴撲綅淇℃伅椤甸潰
+  const openEditWmsBasePlace = (row: any) => {
+    editWmsBasePlaceTitle.value = '缂栬緫搴撲綅淇℃伅';
+    editDialogRefWmsBasePlace.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎搴撲綅淇℃伅
+  const delWmsBasePlace = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsBasePlace.value = true;
+    var ret = await deleteWmsBasePlace(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsBasePlace.value = false;
+    handleQueryWmsBasePlace();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉搴撲綅淇℃伅椤甸潰瀹归噺
+  const handleSizeChangeWmsBasePlace = (val: number) => {
+    tableParamsWmsBasePlace.value.pageSize = val;
+    handleQueryWmsBasePlace();
+  };
+
+  // 鏀瑰彉搴撲綅淇℃伅椤电爜搴忓彿
+  const handleCurrentChangeWmsBasePlace = (val: number) => {
+    tableParamsWmsBasePlace.value.page = val;
+    handleQueryWmsBasePlace();
+  };
+
+/***************************************************[搴撲綅淇℃伅鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[搴撲綅淇℃伅瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsBasePlace = {
+      getEnumPlaceTypeData_Index,
+      getEnumPlaceStatusData_Index,
+      getEnumIsVirtuallyData_Index,
+      getEnumIsDisabledData_Index,
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsBasePlace = async (formData:Blob) => {
+    loadingWmsBasePlace.value = true;
+    disabled_btnWmsBasePlace.value = true;
+    var new_tableParamsWmsBasePlace=JSON.parse(JSON.stringify(tableParamsWmsBasePlace.value));
+    new_tableParamsWmsBasePlace.page = 1;
+    new_tableParamsWmsBasePlace.pageSize = 100000;
+    var res = await pageWmsBasePlace(Object.assign(queryParamsWmsBasePlace.value, new_tableParamsWmsBasePlace));
+    if(res.data.type=="success"){
+      exportExcelWmsBasePlace(res.data.result?.items ?? []);
+    }
+    loadingWmsBasePlace.value = false;
+    disabled_btnWmsBasePlace.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsBasePlace  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsBasePlace,"搴撲綅淇℃伅",functionMapWmsBasePlace);
+};
+/***************************************************[搴撲綅淇℃伅瀵煎嚭]缁撴潫***************************************************/
+  // 搴撲綅淇℃伅椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+    getEnumPlaceTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceTypeEnum')).data.result ?? [];
+    getEnumPlaceStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('PlaceStatusEnum')).data.result ?? [];
+    getEnumIsVirtuallyData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+    getEnumIsDisabledData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+  });
+
+  handleQueryWmsBasePlace();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+

--
Gitblit v1.9.3